1import "./CKOwlSI2.js"; 2import { ai as props_id, p as push, g as comment, e as first_child, a as append, b as pop, h as get, c as child, j as noop$1, r as reset, u as user_derived, f as from_html } from "./BKjdoxk6.js"; 3import { c as component } from "./BKMwwmgr.js"; 4import { p as prop, i as if_block, r as rest_props, s as spread_props } from "./Dwcrqh2y.js"; 5import { s as snippet } from "./b9KZgspc.js"; 6import { d as MenuItemState, e as MenuRootState, f as MenuMenuState, g as Floating_layer, h as MenuContentState, i as Popper_layer_force_mount, j as Popper_layer, l as getFloatingContentCSSVars, m as DropdownMenuTriggerState, P as Portal } from "./DFi0sb4j.js"; 7import { c as createId, n as noop, m as mergeProps } from "./7b5L2pQG.js"; 8import { b as boxWith } from "./DtIS7zKw.js"; 9import { c as cn } from "./CJ8ugeRc.js"; 10import { b as attribute_effect } from "./DVzlxsJy.js"; 11import { F as Floating_layer_anchor } from "./BInPf-Bm.js"; 12var root_2 = from_html(`<div><!></div>`); 13function Menu_item($$anchor, $$props) { 14 const uid = props_id(); 15 push($$props, true); 16 let ref = prop($$props, "ref", 15, null), id = prop($$props, "id", 19, () => createId(uid)), disabled = prop($$props, "disabled", 3, false), onSelect = prop($$props, "onSelect", 3, noop), closeOnSelect = prop($$props, "closeOnSelect", 3, true), restProps = rest_props($$props, [ 17 "$$slots", 18 "$$events", 19 "$$legacy", 20 "child", 21 "children", 22 "ref", 23 "id", 24 "disabled", 25 "onSelect", 26 "closeOnSelect" 27 ]); 28 const itemState = MenuItemState.create({ 29 id: boxWith(() => id()), 30 disabled: boxWith(() => disabled()), 31 onSelect: boxWith(() => onSelect()), 32 ref: boxWith(() => ref(), (v) => ref(v)), 33 closeOnSelect: boxWith(() => closeOnSelect()) 34 }); 35 const mergedProps = user_derived(() => mergeProps(restProps, itemState.props)); 36 var fragment = comment(); 37 var node = first_child(fragment); 38 { 39 var consequent = ($$anchor2) => { 40 var fragment_1 = comment();
41 var node_1 = first_child(fragment_1); 42 snippet(node_1, () => $$props.child, () => ({ props: get(mergedProps) })); 43 append($$anchor2, fragment_1); 44 }; 45 var alternate = ($$anchor2) => { 46 var div = root_2(); 47 attribute_effect(div, () => ({ ...get(mergedProps) })); 48 var node_2 = child(div); 49 snippet(node_2, () => $$props.children ?? noop$1); 50 reset(div); 51 append($$anchor2, div); 52 }; 53 if_block(node, ($$render) => { 54 if ($$props.child) $$render(consequent); 55 else $$render(alternate, false); 56 }); 57 } 58 append($$anchor, fragment); 59 pop(); 60} 61function Menu($$anchor, $$props) { 62 push($$props, true); 63 let open = prop($$props, "open", 15, false), dir = prop($$props, "dir", 3, "ltr"), onOpenChange = prop($$props, "onOpenChange", 3, noop), onOpenChangeComplete = prop($$props, "onOpenChangeComplete", 3, noop), variant = prop($$props, "_internal_variant", 3, "dropdown-menu"); 64 const root = MenuRootState.create({ 65 variant: boxWith(() => variant()), 66 dir: boxWith(() => dir()), 67 onClose: () => { 68 open(false); 69 onOpenChange()(false); 70 } 71 }); 72 MenuMenuState.create( 73 { 74 open: boxWith(() => open(), (v) => { 75 open(v); 76 onOpenChange()(v); 77 }), 78 onOpenChangeComplete: boxWith(() => onOpenChangeComplete()) 79 }, 80 root 81 ); 82 Floating_layer($$anchor, { 83 children: ($$anchor2, $$slotProps) => { 84 var fragment_1 = comment(); 85 var node = first_child(fragment_1); 86 snippet(node, () => $$props.children ?? noop$1); 87 append($$anchor2, fragment_1); 88 }, 89 $$slots: { default: true } 90 }); 91 pop(); 92} 93var root_4 = from_html(`<div><div><!></div></div>`); 94var root_8 = from_html(`<div><div><!></div></div>`); 95function Dropdown_menu_content$1($$anchor, $$props) { 96 const uid = props_id(); 97 push($$props, true); 98 let id = prop($$props, "id", 19, () => createId(uid)), ref = prop($$props, "ref", 15, null), loop = prop($$props, "loop", 3, true), onInteractOutside = prop($$props, "onInteractOutside", 3, noop), onEscapeKeydown = prop($$props, "onEscapeKeydown", 3, noop), onCloseAutoFocus = prop($$props, "onCloseAutoFocus", 3, noop), forceMount = prop($$props, "forceMount", 3, false), trapFocus = prop($$props, "trapFocus", 3, false), restProps = rest_props($$props, [ 99 "$$slots", 100 "$$events", 101 "$$legacy", 102 "id", 103 "child", 104 "children", 105 "ref", 106 "loop", 107 "onInteractOutside", 108 "onEscapeKeydown", 109 "onCloseAutoFocus", 110 "forceMount", 111 "trapFocus", 112 "style" 113 ]); 114 const contentState = MenuContentState.create({ 115 id: boxWith(() => id()), 116 loop: boxWith(() => loop()), 117 ref: boxWith(() => ref(), (v) => ref(v)), 118 onCloseAutoFocus: boxWith(() => onCloseAutoFocus()) 119 }); 120 const mergedProps = user_derived(() => mergeProps(restProps, contentState.props)); 121 function handleInteractOutside(e) { 122 contentState.handleInteractOutside(e); 123 if (e.defaultPrevented) return; 124 onInteractOutside()(e); 125 if (e.defaultPrevented) return; 126 if (e.target && e.target instanceof Element) { 127 const subContentSelector = `[${contentState.parentMenu.root.getBitsAttr("sub-content")}]`; 128 if (e.target.closest(subContentSelector)) return; 129 } 130 contentState.parentMenu.onClose(); 131 } 132 function handleEscapeKeydown(e) { 133 onEscapeKeydown()(e); 134 if (e.defaultPrevented) return; 135 contentState.parentMenu.onClose(); 136 } 137 var fragment = comment(); 138 var node = first_child(fragment); 139 { 140 var consequent_1 = ($$anchor2) => { 141 { 142 const popper = ($$anchor3, $$arg0) => { 143 let props = () => $$arg0?.().props; 144 let wrapperProps = () => $$arg0?.().wrapperProps; 145 const finalProps = user_derived(() => mergeProps(props(), { style: getFloatingContentCSSVars("dropdown-menu") }, { style: $$props.style })); 146 var fragment_2 = comment();
147 var node_1 = first_child(fragment_2); 148 { 149 var consequent = ($$anchor4) => { 150 var fragment_3 = comment(); 151 var node_2 = first_child(fragment_3); 152 { 153 let $0 = user_derived(() => ({ 154 props: get(finalProps), 155 wrapperProps: wrapperProps(), 156 ...contentState.snippetProps 157 })); 158 snippet(node_2, () => $$props.child, () => get($0)); 159 } 160 append($$anchor4, fragment_3); 161 }; 162 var alternate = ($$anchor4) => { 163 var div = root_4(); 164 attribute_effect(div, () => ({ ...wrapperProps() })); 165 var div_1 = child(div); 166 attribute_effect(div_1, () => ({ ...get(finalProps) })); 167 var node_3 = child(div_1); 168 snippet(node_3, () => $$props.children ?? noop$1); 169 reset(div_1); 170 reset(div); 171 append($$anchor4, div); 172 }; 173 if_block(node_1, ($$render) => { 174 if ($$props.child) $$render(consequent); 175 else $$render(alternate, false); 176 }); 177 } 178 append($$anchor3, fragment_2); 179 }; 180 Popper_layer_force_mount($$anchor2, spread_props(() => get(mergedProps), () => contentState.popperProps, { 181 get ref() { 182 return contentState.opts.ref; 183 }, 184 get enabled() { 185 return contentState.parentMenu.opts.open.current; 186 }, 187 onInteractOutside: handleInteractOutside, 188 onEscapeKeydown: handleEscapeKeydown, 189 get trapFocus() { 190 return trapFocus(); 191 }, 192 get loop() { 193 return loop(); 194 }, 195 forceMount: true, 196 get id() { 197 return id(); 198 }, 199 get shouldRender() { 200 return contentState.shouldRender; 201 }, 202 popper, 203 $$slots: { popper: true } 204 })); 205 } 206 }; 207 var consequent_3 = ($$anchor2) => { 208 { 209 const popper = ($$anchor3, $$arg0) => { 210 let props = () => $$arg0?.().props; 211 let wrapperProps = () => $$arg0?.().wrapperProps; 212 const finalProps = user_derived(() => mergeProps(props(), { style: getFloatingContentCSSVars("dropdown-menu") }, { style: $$props.style })); 213 var fragment_5 = comment(); 214 var node_4 = first_child(fragment_5); 215 { 216 var consequent_2 = ($$anchor4) => { 217 var fragment_6 = comment(); 218 var node_5 = first_child(fragment_6); 219 { 220 let $0 = user_derived(() => ({ 221 props: get(finalProps), 222 wrapperProps: wrapperProps(), 223 ...contentState.snippetProps 224 })); 225 snippet(node_5, () => $$props.child, () => get($0)); 226 } 227 append($$anchor4, fragment_6); 228 }; 229 var alternate_1 = ($$anchor4) => { 230 var div_2 = root_8(); 231 attribute_effect(div_2, () => ({ ...wrapperProps() })); 232 var div_3 = child(div_2); 233 attribute_effect(div_3, () => ({ ...get(finalProps) })); 234 var node_6 = child(div_3); 235 snippet(node_6, () => $$props.children ?? noop$1); 236 reset(div_3); 237 reset(div_2); 238 append($$anchor4, div_2); 239 }; 240 if_block(node_4, ($$render) => { 241 if ($$props.child) $$render(consequent_2); 242 else $$render(alternate_1, false); 243 }); 244 } 245 append($$anchor3, fragment_5); 246 }; 247 Popper_layer($$anchor2, spread_props(() => get(mergedProps), () => contentState.popperProps, { 248 get ref() { 249 return contentState.opts.ref; 250 }, 251 get open() { 252 return contentState.parentMenu.opts.open.current; 253 }, 254 onInteractOutside: handleInteractOutside, 255 onEscapeKeydown: handleEscapeKeydown, 256 get trapFocus() { 257 return trapFocus(); 258 }, 259 get loop() { 260 return loop(); 261 }, 262 forceMount: false, 263 get id() { 264 return id(); 265 }, 266 get shouldRender() { 267 return contentState.shouldRender; 268 }, 269 popper, 270 $$slots: { popper: true } 271 })); 272 } 273 }; 274 if_block(node, ($$render) => { 275 if (forceMount()) $$render(consequent_1); 276 else if (!forceMount()) $$render(consequent_3, 1); 277 }); 278 } 279 append($$anchor, fragment); 280 pop(); 281} 282var root_3 = from_html(`<button><!></button>`); 283function Menu_trigger($$anchor, $$props) { 284 const uid = props_id(); 285 push($$props, true); 286 let id = prop($$props, "id", 19, () =>
286 createId(uid)), ref = prop($$props, "ref", 15, null), disabled = prop($$props, "disabled", 3, false), type = prop($$props, "type", 3, "button"), restProps = rest_props($$props, [ 287 "$$slots", 288 "$$events", 289 "$$legacy", 290 "id", 291 "ref", 292 "child", 293 "children", 294 "disabled", 295 "type" 296 ]); 297 const triggerState = DropdownMenuTriggerState.create({ 298 id: boxWith(() => id()), 299 disabled: boxWith(() => disabled() ?? false), 300 ref: boxWith(() => ref(), (v) => ref(v)) 301 }); 302 const mergedProps = user_derived(() => mergeProps(restProps, triggerState.props, { type: type() })); 303 Floating_layer_anchor($$anchor, { 304 get id() { 305 return id(); 306 }, 307 get ref() { 308 return triggerState.opts.ref; 309 }, 310 children: ($$anchor2, $$slotProps) => { 311 var fragment_1 = comment(); 312 var node = first_child(fragment_1); 313 { 314 var consequent = ($$anchor3) => { 315 var fragment_2 = comment(); 316 var node_1 = first_child(fragment_2); 317 snippet(node_1, () => $$props.child, () => ({ props: get(mergedProps) })); 318 append($$anchor3, fragment_2); 319 }; 320 var alternate = ($$anchor3) => { 321 var button = root_3(); 322 attribute_effect(button, () => ({ ...get(mergedProps) })); 323 var node_2 = child(button); 324 snippet(node_2, () => $$props.children ?? noop$1); 325 reset(button); 326 append($$anchor3, button); 327 }; 328 if_block(node, ($$render) => { 329 if ($$props.child) $$render(consequent); 330 else $$render(alternate, false); 331 }); 332 } 333 append($$anchor2, fragment_1); 334 }, 335 $$slots: { default: true } 336 }); 337 pop(); 338} 339function Dropdown_menu($$anchor, $$props) { 340 push($$props, true); 341 let open = prop($$props, "open", 15, false), restProps = rest_props($$props, ["$$slots", "$$events", "$$legacy", "open"]); 342 var fragment = comment(); 343 var node = first_child(fragment); 344 component(node, () => Menu, ($$anchor2, DropdownMenuPrimitive_Root) => { 345 DropdownMenuPrimitive_Root($$anchor2, spread_props(() => restProps, { 346 get open() { 347 return open(); 348 }, 349 set open($$value) { 350 open($$value); 351 } 352 })); 353 }); 354 append($$anchor, fragment); 355 pop(); 356} 357function Dropdown_menu_content($$anchor, $$props) { 358 push($$props, true); 359 let ref = prop($$props, "ref", 15, null), sideOffset = prop($$props, "sideOffset", 3, 4), restProps = rest_props($$props, [ 360 "$$slots", 361 "$$events", 362 "$$legacy", 363 "ref", 364 "sideOffset", 365 "portalProps", 366 "class" 367 ]); 368 var fragment = comment(); 369 var node = first_child(fragment); 370 component(node, () => Portal, ($$anchor2, DropdownMenuPrimitive_Portal) => { 371 DropdownMenuPrimitive_Portal($$anchor2, spread_props(() => $$props.portalProps, { 372 children: ($$anchor3, $$slotProps) => { 373 var fragment_1 = comment();
374 var node_1 = first_child(fragment_1); 375 { 376 let $0 = user_derived(() => cn("z-50 max-h-(--bits-dropdown-menu-content-available-height) min-w-[8rem] origin-(--bits-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border bg-popover p-1 text-popover-foreground shadow-md outline-none data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95", $$props.class)); 377 component(node_1, () => Dropdown_menu_content$1, ($$anchor4, DropdownMenuPrimitive_Content) => { 378 DropdownMenuPrimitive_Content($$anchor4, spread_props( 379 { 380 "data-slot": "dropdown-menu-content", 381 get sideOffset() { 382 return sideOffset(); 383 }, 384 get class() { 385 return get($0); 386 } 387 }, 388 () => restProps, 389 { 390 get ref() { 391 return ref(); 392 }, 393 set ref($$value) { 394 ref($$value); 395 } 396 } 397 )); 398 }); 399 } 400 append($$anchor3, fragment_1); 401 }, 402 $$slots: { default: true } 403 })); 404 }); 405 append($$anchor, fragment); 406 pop(); 407} 408function Dropdown_menu_item($$anchor, $$props) { 409 push($$props, true); 410 let ref = prop($$props, "ref", 15, null), variant = prop($$props, "variant", 3, "default"), restProps = rest_props($$props, [ 411 "$$slots", 412 "$$events", 413 "$$legacy", 414 "ref", 415 "class", 416 "inset", 417 "variant" 418 ]); 419 var fragment = comment(); 420 var node = first_child(fragment); 421 { 422 let $0 = user_derived(() => cn("relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 data-highlighted:bg-secondary data-highlighted:text-secondary-foreground data-inset:ps-8 data-[variant=destructive]:text-destructive data-[variant=destructive]:data-highlighted:bg-destructive/10 data-[variant=destructive]:data-highlighted:text-destructive dark:data-[variant=destructive]:data-highlighted:bg-destructive/20 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground data-[variant=destructive]:*:[svg]:text-destructive!", $$props.class)); 423 component(node, () => Menu_item, ($$anchor2, DropdownMenuPrimitive_Item) => { 424 DropdownMenuPrimitive_Item($$anchor2, spread_props( 425 { 426 "data-slot": "dropdown-menu-item", 427 get "data-inset"() { 428 return $$props.inset; 429 }, 430 get "data-variant"() { 431 return variant(); 432 }, 433 get class() { 434 return get($0); 435 } 436 }, 437 () => restProps, 438 { 439 get ref() { 440 return ref(); 441 }, 442 set ref($$value) { 443 ref($$value); 444 } 445 } 446 )); 447 }); 448 } 449 append($$anchor, fragment); 450 pop(); 451} 452function Dropdown_menu_trigger($$anchor, $$props) { 453 push($$props, true); 454 let ref = prop($$props, "ref", 15, null), restProps = rest_props($$props, ["$$slots", "$$events", "$$legacy", "ref"]); 455 var fragment = comment(); 456 var node = first_child(fragment); 457 component(node, () => Menu_trigger, ($$anchor2, DropdownMenuPrimitive_Trigger) => { 458 DropdownMenuPrimitive_Trigger($$anchor2, spread_props({ "data-slot": "dropdown-menu-trigger" }, () => restProps, { 459 get ref() { 460 return ref(); 461 }, 462 set ref($$value) { 463 ref($$value); 464 } 465 })); 466 }); 467 append($$anchor, fragment); 468 pop(); 469} 470export { 471 Dropdown_menu as D, 472 Dropdown_menu_trigger as a, 473 Dropdown_menu_content as b, 474 Dropdown_menu_item as c 475};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.