@moduix/solid-tailwind 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (124) hide show
  1. package/dist/components/accordion/Accordion.js +19 -13
  2. package/dist/components/accordion/Accordion.jsx +7 -7
  3. package/dist/components/alert/Alert.js +19 -13
  4. package/dist/components/alert/Alert.jsx +7 -7
  5. package/dist/components/angle-slider/AngleSlider.d.ts +2 -6
  6. package/dist/components/angle-slider/AngleSlider.js +21 -16
  7. package/dist/components/angle-slider/AngleSlider.jsx +10 -11
  8. package/dist/components/avatar/Avatar.js +10 -7
  9. package/dist/components/avatar/Avatar.jsx +6 -6
  10. package/dist/components/bleed/Bleed.js +1 -1
  11. package/dist/components/bleed/Bleed.jsx +1 -1
  12. package/dist/components/button/Button.js +1 -6
  13. package/dist/components/button/Button.jsx +2 -4
  14. package/dist/components/card/Card.js +54 -44
  15. package/dist/components/card/Card.jsx +12 -12
  16. package/dist/components/carousel/Carousel.d.ts +1 -1
  17. package/dist/components/carousel/Carousel.js +32 -23
  18. package/dist/components/carousel/Carousel.jsx +12 -13
  19. package/dist/components/checkbox/Checkbox.js +16 -14
  20. package/dist/components/checkbox/Checkbox.jsx +6 -6
  21. package/dist/components/clipboard/Clipboard.js +28 -17
  22. package/dist/components/clipboard/Clipboard.jsx +12 -11
  23. package/dist/components/collapsible/Collapsible.js +16 -11
  24. package/dist/components/collapsible/Collapsible.jsx +6 -6
  25. package/dist/components/color-picker/ColorPicker.js +69 -48
  26. package/dist/components/color-picker/ColorPicker.jsx +28 -28
  27. package/dist/components/combobox/Combobox.js +44 -31
  28. package/dist/components/combobox/Combobox.jsx +18 -18
  29. package/dist/components/command-palette/CommandPalette.js +71 -52
  30. package/dist/components/command-palette/CommandPalette.jsx +28 -31
  31. package/dist/components/container/Container.js +5 -5
  32. package/dist/components/container/Container.jsx +5 -5
  33. package/dist/components/date-input/DateInput.js +18 -12
  34. package/dist/components/date-input/DateInput.jsx +7 -7
  35. package/dist/components/date-picker/DatePicker.js +73 -51
  36. package/dist/components/date-picker/DatePicker.jsx +29 -29
  37. package/dist/components/dialog/Dialog.js +30 -20
  38. package/dist/components/dialog/Dialog.jsx +10 -10
  39. package/dist/components/drawer/Drawer.js +45 -30
  40. package/dist/components/drawer/Drawer.jsx +15 -15
  41. package/dist/components/editable/Editable.js +24 -17
  42. package/dist/components/editable/Editable.jsx +10 -10
  43. package/dist/components/empty/Empty.js +1 -1
  44. package/dist/components/empty/Empty.jsx +1 -1
  45. package/dist/components/file-upload/FileUpload.js +39 -28
  46. package/dist/components/file-upload/FileUpload.jsx +17 -17
  47. package/dist/components/floating-panel/FloatingPanel.js +35 -23
  48. package/dist/components/floating-panel/FloatingPanel.jsx +12 -12
  49. package/dist/components/hover-card/HoverCard.js +16 -11
  50. package/dist/components/hover-card/HoverCard.jsx +6 -6
  51. package/dist/components/image-cropper/ImageCropper.js +21 -14
  52. package/dist/components/image-cropper/ImageCropper.jsx +7 -7
  53. package/dist/components/input-group/InputGroup.js +3 -2
  54. package/dist/components/input-group/InputGroup.jsx +3 -2
  55. package/dist/components/json-tree-view/JsonTreeView.js +1 -1
  56. package/dist/components/json-tree-view/JsonTreeView.jsx +1 -1
  57. package/dist/components/lightbox/Lightbox.d.ts +1 -0
  58. package/dist/components/lightbox/Lightbox.js +41 -27
  59. package/dist/components/lightbox/Lightbox.jsx +13 -12
  60. package/dist/components/listbox/Listbox.js +48 -32
  61. package/dist/components/listbox/Listbox.jsx +17 -17
  62. package/dist/components/marquee/Marquee.js +18 -12
  63. package/dist/components/marquee/Marquee.jsx +9 -9
  64. package/dist/components/menu/Menu.js +66 -44
  65. package/dist/components/menu/Menu.jsx +28 -28
  66. package/dist/components/navigation-menu/NavigationMenu.js +36 -24
  67. package/dist/components/navigation-menu/NavigationMenu.jsx +12 -12
  68. package/dist/components/number-input/NumberInput.js +19 -14
  69. package/dist/components/number-input/NumberInput.jsx +9 -9
  70. package/dist/components/pagination/Pagination.js +10 -9
  71. package/dist/components/pagination/Pagination.jsx +8 -8
  72. package/dist/components/password-input/PasswordInput.js +16 -11
  73. package/dist/components/password-input/PasswordInput.jsx +6 -6
  74. package/dist/components/pin-input/PinInput.js +15 -10
  75. package/dist/components/pin-input/PinInput.jsx +6 -6
  76. package/dist/components/popover/Popover.js +37 -25
  77. package/dist/components/popover/Popover.jsx +13 -13
  78. package/dist/components/progress-circular/ProgressCircular.js +18 -13
  79. package/dist/components/progress-circular/ProgressCircular.jsx +8 -8
  80. package/dist/components/progress-linear/ProgressLinear.js +17 -12
  81. package/dist/components/progress-linear/ProgressLinear.jsx +7 -7
  82. package/dist/components/qr-code/QrCode.js +8 -7
  83. package/dist/components/qr-code/QrCode.jsx +6 -6
  84. package/dist/components/rating-group/RatingGroup.js +15 -10
  85. package/dist/components/rating-group/RatingGroup.jsx +6 -6
  86. package/dist/components/segment-group/SegmentGroup.js +17 -12
  87. package/dist/components/segment-group/SegmentGroup.jsx +7 -7
  88. package/dist/components/select/Select.js +50 -35
  89. package/dist/components/select/Select.jsx +20 -20
  90. package/dist/components/sidebar/Sidebar.js +72 -43
  91. package/dist/components/sidebar/Sidebar.jsx +34 -27
  92. package/dist/components/signature-pad/SignaturePad.js +16 -12
  93. package/dist/components/signature-pad/SignaturePad.jsx +8 -8
  94. package/dist/components/slider/Slider.js +29 -20
  95. package/dist/components/slider/Slider.jsx +11 -11
  96. package/dist/components/split-button/SplitButton.d.ts +4 -3
  97. package/dist/components/split-button/SplitButton.js +20 -9
  98. package/dist/components/split-button/SplitButton.jsx +13 -7
  99. package/dist/components/splitter/Splitter.js +13 -9
  100. package/dist/components/splitter/Splitter.jsx +5 -5
  101. package/dist/components/steps/Steps.js +34 -23
  102. package/dist/components/steps/Steps.jsx +12 -12
  103. package/dist/components/swap/Swap.js +9 -6
  104. package/dist/components/swap/Swap.jsx +3 -3
  105. package/dist/components/switch/Switch.js +9 -7
  106. package/dist/components/switch/Switch.jsx +5 -5
  107. package/dist/components/tabs/Tabs.js +18 -12
  108. package/dist/components/tabs/Tabs.jsx +6 -6
  109. package/dist/components/tags-input/TagsInput.js +28 -20
  110. package/dist/components/tags-input/TagsInput.jsx +12 -12
  111. package/dist/components/timer/Timer.js +21 -14
  112. package/dist/components/timer/Timer.jsx +7 -7
  113. package/dist/components/toast/Toast.js +11 -9
  114. package/dist/components/toast/Toast.jsx +7 -7
  115. package/dist/components/toc/Toc.js +31 -20
  116. package/dist/components/toc/Toc.jsx +10 -10
  117. package/dist/components/tooltip/Tooltip.js +13 -9
  118. package/dist/components/tooltip/Tooltip.jsx +5 -5
  119. package/dist/components/tour/Tour.js +38 -26
  120. package/dist/components/tour/Tour.jsx +13 -13
  121. package/dist/components/tree-view/TreeView.js +39 -28
  122. package/dist/components/tree-view/TreeView.jsx +17 -17
  123. package/dist/styles/animations.css +8 -8
  124. package/package.json +1 -1
@@ -8,32 +8,32 @@ const Listbox_ListboxRoot = function(props) {
8
8
  const [local, others] = splitProps(props, [
9
9
  'class'
10
10
  ]);
11
- return <Listbox.Root data-slot="listbox-root" class={cn('box-border flex w-64 max-w-full min-w-0 flex-col gap-3 text-foreground data-disabled:opacity-50', local.class)} {...others}/>;
11
+ return <Listbox.Root class={cn('box-border flex w-64 max-w-full min-w-0 flex-col gap-3 text-foreground data-disabled:opacity-50', local.class)} {...others} data-slot="listbox-root"/>;
12
12
  };
13
13
  const Listbox_ListboxRootProvider = function(props) {
14
14
  const [local, others] = splitProps(props, [
15
15
  'class'
16
16
  ]);
17
- return <Listbox.RootProvider data-slot="listbox-root-provider" class={cn('box-border flex w-64 max-w-full min-w-0 flex-col gap-3 text-foreground data-disabled:opacity-50', local.class)} {...others}/>;
17
+ return <Listbox.RootProvider class={cn('box-border flex w-64 max-w-full min-w-0 flex-col gap-3 text-foreground data-disabled:opacity-50', local.class)} {...others} data-slot="listbox-root-provider"/>;
18
18
  };
19
19
  function ListboxLabel(props) {
20
20
  const [local, others] = splitProps(props, [
21
21
  'class'
22
22
  ]);
23
- return <Listbox.Label data-slot="listbox-label" class={cn('text-sm leading-5 font-medium text-foreground select-none', local.class)} {...others}/>;
23
+ return <Listbox.Label class={cn('text-sm leading-5 font-medium text-foreground select-none', local.class)} {...others} data-slot="listbox-label"/>;
24
24
  }
25
25
  function ListboxInput(props) {
26
26
  const [local, others] = splitProps(props, [
27
27
  'class'
28
28
  ]);
29
- return <Listbox.Input data-slot="listbox-input" class={cn('m-0 box-border min-h-control-md w-full rounded-md border border-border bg-background px-3 py-1 text-md leading-6 text-foreground outline-1 -outline-offset-1 outline-transparent transition-[border-color,outline-color,opacity] duration-200 ease-in-out group-has-[[data-slot=listbox-filter-icon]]/listbox-filter:ps-9 group-has-[[data-slot=listbox-filter-icon]]/listbox-filter:pe-10 group-has-[+_[data-slot=listbox-content]]/listbox-filter:rounded-b-none group-has-[+_[data-slot=listbox-content]]/listbox-filter:border-b-0 placeholder:text-muted-foreground focus-visible:outline-ring disabled:cursor-default disabled:opacity-50 data-disabled:cursor-default data-disabled:opacity-50 motion-reduce:transition-none', local.class)} {...others}/>;
29
+ return <Listbox.Input class={cn('m-0 box-border min-h-control-md w-full rounded-md border border-border bg-background px-3 py-1 text-md leading-6 text-foreground outline-1 -outline-offset-1 outline-transparent transition-[border-color,outline-color,opacity] duration-200 ease-in-out group-has-[[data-slot=listbox-filter-icon]]/listbox-filter:ps-9 group-has-[[data-slot=listbox-filter-icon]]/listbox-filter:pe-10 group-has-[+_[data-slot=listbox-content]]/listbox-filter:rounded-b-none group-has-[+_[data-slot=listbox-content]]/listbox-filter:border-b-0 placeholder:text-muted-foreground focus-visible:outline-ring disabled:cursor-default disabled:opacity-50 data-disabled:cursor-default data-disabled:opacity-50 motion-reduce:transition-none', local.class)} {...others} data-slot="listbox-input"/>;
30
30
  }
31
31
  function ListboxFilter(props) {
32
32
  const [local, others] = splitProps(props, [
33
33
  'children',
34
34
  'class'
35
35
  ]);
36
- return <div data-slot="listbox-filter" class={cn('group/listbox-filter peer/listbox-filter relative box-border w-full', local.class)} {...others}>
36
+ return <div class={cn('group/listbox-filter peer/listbox-filter relative box-border w-full', local.class)} {...others} data-slot="listbox-filter">
37
37
  <SearchIcon data-slot="listbox-filter-icon" class="pointer-events-none absolute start-3 top-1/2 z-1 size-4 -translate-y-1/2 text-muted-foreground"/>
38
38
  {local.children}
39
39
  </div>;
@@ -46,7 +46,7 @@ function ListboxClearTrigger(props) {
46
46
  'type'
47
47
  ]);
48
48
  const resolvedChildren = children(()=>local.children);
49
- return <CloseButton.Root data-slot="listbox-clear-trigger" class={cn('absolute end-3 top-1/2 size-control-xs -translate-y-1/2 rounded-sm bg-transparent text-muted-foreground [&>svg]:size-4 [@media(hover:hover)]:hover:bg-muted [@media(hover:hover)]:hover:text-foreground', local.class)} type={local.type ?? 'button'} aria-label={local['aria-label'] ?? 'Clear search'} {...others}>
49
+ return <CloseButton.Root class={cn('absolute end-3 top-1/2 size-control-xs -translate-y-1/2 rounded-sm bg-transparent text-muted-foreground [&>svg]:size-4 [@media(hover:hover)]:hover:bg-muted [@media(hover:hover)]:hover:text-foreground', local.class)} type={local.type ?? 'button'} aria-label={local['aria-label'] ?? 'Clear search'} {...others} data-slot="listbox-clear-trigger">
50
50
  {resolvedChildren()}
51
51
  </CloseButton.Root>;
52
52
  }
@@ -54,37 +54,37 @@ function ListboxContent(props) {
54
54
  const [local, others] = splitProps(props, [
55
55
  'class'
56
56
  ]);
57
- return <Listbox.Content data-slot="listbox-content" class={cn('box-border flex max-h-56 min-h-0 scroll-py-1 [scrollbar-gutter:stable] flex-col overflow-x-hidden overflow-y-auto overscroll-contain rounded-md border border-border bg-background py-1 text-foreground outline-1 -outline-offset-1 outline-transparent transition-[border-color,outline-color] duration-200 ease-in-out peer-data-[slot=listbox-filter]/listbox-filter:-mt-3 peer-data-[slot=listbox-filter]/listbox-filter:rounded-t-none focus-visible:outline-ring data-[layout=grid]:grid data-[layout=grid]:grid-cols-[repeat(var(--column-count),minmax(0,1fr))] data-[layout=grid]:gap-1 data-[layout=grid]:p-2 data-[orientation=horizontal]:not-data-[layout=grid]:max-h-none data-[orientation=horizontal]:not-data-[layout=grid]:flex-row data-[orientation=horizontal]:not-data-[layout=grid]:gap-2 data-[orientation=horizontal]:not-data-[layout=grid]:overflow-x-auto data-[orientation=horizontal]:not-data-[layout=grid]:overflow-y-hidden data-[orientation=horizontal]:not-data-[layout=grid]:px-1 motion-reduce:transition-none', local.class)} {...others}/>;
57
+ return <Listbox.Content class={cn('box-border flex max-h-56 min-h-0 scroll-py-1 [scrollbar-gutter:stable] flex-col overflow-x-hidden overflow-y-auto overscroll-contain rounded-md border border-border bg-background py-1 text-foreground outline-1 -outline-offset-1 outline-transparent transition-[border-color,outline-color] duration-200 ease-in-out peer-data-[slot=listbox-filter]/listbox-filter:-mt-3 peer-data-[slot=listbox-filter]/listbox-filter:rounded-t-none focus-visible:outline-ring data-[layout=grid]:grid data-[layout=grid]:grid-cols-[repeat(var(--column-count),minmax(0,1fr))] data-[layout=grid]:gap-1 data-[layout=grid]:p-2 data-[orientation=horizontal]:not-data-[layout=grid]:max-h-none data-[orientation=horizontal]:not-data-[layout=grid]:flex-row data-[orientation=horizontal]:not-data-[layout=grid]:gap-2 data-[orientation=horizontal]:not-data-[layout=grid]:overflow-x-auto data-[orientation=horizontal]:not-data-[layout=grid]:overflow-y-hidden data-[orientation=horizontal]:not-data-[layout=grid]:px-1 motion-reduce:transition-none', local.class)} {...others} data-slot="listbox-content"/>;
58
58
  }
59
59
  function ListboxEmpty(props) {
60
60
  const [local, others] = splitProps(props, [
61
61
  'class'
62
62
  ]);
63
- return <Listbox.Empty data-slot="listbox-empty" class={cn('px-3 py-1 text-center text-sm leading-5 text-muted-foreground', local.class)} {...others}/>;
63
+ return <Listbox.Empty class={cn('px-3 py-1 text-center text-sm leading-5 text-muted-foreground', local.class)} {...others} data-slot="listbox-empty"/>;
64
64
  }
65
65
  function ListboxItemGroup(props) {
66
66
  const [local, others] = splitProps(props, [
67
67
  'class'
68
68
  ]);
69
- return <Listbox.ItemGroup data-slot="listbox-item-group" class={cn('flex flex-col [&+&]:mt-2', local.class)} {...others}/>;
69
+ return <Listbox.ItemGroup class={cn('flex flex-col [&+&]:mt-2', local.class)} {...others} data-slot="listbox-item-group"/>;
70
70
  }
71
71
  function ListboxItemGroupLabel(props) {
72
72
  const [local, others] = splitProps(props, [
73
73
  'class'
74
74
  ]);
75
- return <Listbox.ItemGroupLabel data-slot="listbox-item-group-label" class={cn('px-2 py-1 text-xs leading-4 font-normal text-muted-foreground select-none', local.class)} {...others}/>;
75
+ return <Listbox.ItemGroupLabel class={cn('px-2 py-1 text-xs leading-4 font-normal text-muted-foreground select-none', local.class)} {...others} data-slot="listbox-item-group-label"/>;
76
76
  }
77
77
  function ListboxItem(props) {
78
78
  const [local, others] = splitProps(props, [
79
79
  'class'
80
80
  ]);
81
- return <Listbox.Item data-slot="listbox-item" class={cn('relative mx-1 box-border grid min-h-control-sm w-[calc(100%-0.5rem)] cursor-pointer grid-cols-[minmax(0,1fr)_1rem] items-center gap-2 rounded-sm bg-transparent px-3 py-1 text-sm leading-5 text-foreground outline-0 transition-[background-color,color] duration-200 ease-in-out select-none data-disabled:pointer-events-none data-disabled:cursor-default data-disabled:text-muted-foreground data-disabled:opacity-50 data-highlighted:bg-accent data-highlighted:text-accent-foreground data-[layout=grid]:mx-0 data-[layout=grid]:w-full data-[layout=grid]:min-w-0 data-[layout=grid]:grid-cols-1 data-[layout=grid]:justify-items-center data-[layout=grid]:text-center data-[layout=grid]:data-selected:bg-muted data-[layout=grid]:data-selected:text-foreground data-[orientation=horizontal]:not-data-[layout=grid]:w-44 data-[orientation=horizontal]:not-data-[layout=grid]:min-w-44 data-[orientation=horizontal]:not-data-[layout=grid]:items-start motion-reduce:transition-none [@media(hover:hover)]:[&:not([data-disabled]):hover]:bg-accent [@media(hover:hover)]:[&:not([data-disabled]):hover]:text-accent-foreground', local.class)} {...others}/>;
81
+ return <Listbox.Item class={cn('relative mx-1 box-border grid min-h-control-sm w-[calc(100%-0.5rem)] cursor-pointer grid-cols-[minmax(0,1fr)_1rem] items-center gap-2 rounded-sm bg-transparent px-3 py-1 text-sm leading-5 text-foreground outline-0 transition-[background-color,color] duration-200 ease-in-out select-none data-disabled:pointer-events-none data-disabled:cursor-default data-disabled:text-muted-foreground data-disabled:opacity-50 data-highlighted:bg-accent data-highlighted:text-accent-foreground data-[layout=grid]:mx-0 data-[layout=grid]:w-full data-[layout=grid]:min-w-0 data-[layout=grid]:grid-cols-1 data-[layout=grid]:justify-items-center data-[layout=grid]:text-center data-[layout=grid]:data-selected:bg-muted data-[layout=grid]:data-selected:text-foreground data-[orientation=horizontal]:not-data-[layout=grid]:w-44 data-[orientation=horizontal]:not-data-[layout=grid]:min-w-44 data-[orientation=horizontal]:not-data-[layout=grid]:items-start motion-reduce:transition-none [@media(hover:hover)]:[&:not([data-disabled]):hover]:bg-accent [@media(hover:hover)]:[&:not([data-disabled]):hover]:text-accent-foreground', local.class)} {...others} data-slot="listbox-item"/>;
82
82
  }
83
83
  function ListboxItemText(props) {
84
84
  const [local, others] = splitProps(props, [
85
85
  'class'
86
86
  ]);
87
- return <Listbox.ItemText data-slot="listbox-item-text" class={cn('min-w-0 overflow-hidden text-ellipsis whitespace-nowrap', local.class)} {...others}/>;
87
+ return <Listbox.ItemText class={cn('min-w-0 overflow-hidden text-ellipsis whitespace-nowrap', local.class)} {...others} data-slot="listbox-item-text"/>;
88
88
  }
89
89
  function ListboxItemIndicator(props) {
90
90
  const [local, others] = splitProps(props, [
@@ -92,7 +92,7 @@ function ListboxItemIndicator(props) {
92
92
  'class'
93
93
  ]);
94
94
  const resolvedChildren = children(()=>local.children);
95
- return <Listbox.ItemIndicator data-slot="listbox-item-indicator" class={cn('inline-flex size-4 shrink-0 items-center justify-center data-[state=unchecked]:invisible [&>svg]:size-3', local.class)} {...others}>
95
+ return <Listbox.ItemIndicator class={cn('inline-flex size-4 shrink-0 items-center justify-center data-[state=unchecked]:invisible [&>svg]:size-3', local.class)} {...others} data-slot="listbox-item-indicator">
96
96
  {resolvedChildren() ?? <CheckIcon/>}
97
97
  </Listbox.ItemIndicator>;
98
98
  }
@@ -100,25 +100,25 @@ function ListboxValueText(props) {
100
100
  const [local, others] = splitProps(props, [
101
101
  'class'
102
102
  ]);
103
- return <Listbox.ValueText data-slot="listbox-value-text" class={cn('text-sm leading-5 text-muted-foreground', local.class)} {...others}/>;
103
+ return <Listbox.ValueText class={cn('text-sm leading-5 text-muted-foreground', local.class)} {...others} data-slot="listbox-value-text"/>;
104
104
  }
105
105
  function ListboxItemTextContent(props) {
106
106
  const [local, others] = splitProps(props, [
107
107
  'class'
108
108
  ]);
109
- return <ark.span data-slot="listbox-item-text-content" class={cn('inline-flex max-w-full min-w-0 items-center gap-2 align-top', local.class)} {...others}/>;
109
+ return <ark.span class={cn('inline-flex max-w-full min-w-0 items-center gap-2 align-top', local.class)} {...others} data-slot="listbox-item-text-content"/>;
110
110
  }
111
111
  function ListboxItemTextIcon(props) {
112
112
  const [local, others] = splitProps(props, [
113
113
  'class'
114
114
  ]);
115
- return <ark.span data-slot="listbox-item-text-icon" class={cn('inline-flex size-4 shrink-0 items-center justify-center', local.class)} {...others}/>;
115
+ return <ark.span class={cn('inline-flex size-4 shrink-0 items-center justify-center', local.class)} {...others} data-slot="listbox-item-text-icon"/>;
116
116
  }
117
117
  function ListboxItemTextLabel(props) {
118
118
  const [local, others] = splitProps(props, [
119
119
  'class'
120
120
  ]);
121
- return <ark.span data-slot="listbox-item-text-label" class={cn('min-w-0 overflow-hidden text-ellipsis whitespace-nowrap', local.class)} {...others}/>;
121
+ return <ark.span class={cn('min-w-0 overflow-hidden text-ellipsis whitespace-nowrap', local.class)} {...others} data-slot="listbox-item-text-label"/>;
122
122
  }
123
123
  const Listbox_Listbox = Object.assign(Listbox_ListboxRoot, {
124
124
  Root: Listbox_ListboxRoot,
@@ -30,7 +30,6 @@ function MarqueeRoot(props) {
30
30
  'side'
31
31
  ]);
32
32
  return createComponent(Marquee.Root, mergeProps({
33
- "data-slot": "marquee-root",
34
33
  get side () {
35
34
  return local.side;
36
35
  },
@@ -39,7 +38,9 @@ function MarqueeRoot(props) {
39
38
  orientation: 'top' === local.side || 'bottom' === local.side ? 'vertical' : 'horizontal'
40
39
  }), local.class);
41
40
  }
42
- }, others));
41
+ }, others, {
42
+ "data-slot": "marquee-root"
43
+ }));
43
44
  }
44
45
  function MarqueeRootProvider(props) {
45
46
  const [local, others] = splitProps(props, [
@@ -47,7 +48,6 @@ function MarqueeRootProvider(props) {
47
48
  'value'
48
49
  ]);
49
50
  return createComponent(Marquee.RootProvider, mergeProps({
50
- "data-slot": "marquee-root-provider",
51
51
  get value () {
52
52
  return local.value;
53
53
  },
@@ -56,40 +56,45 @@ function MarqueeRootProvider(props) {
56
56
  orientation: local.value().orientation
57
57
  }), local.class);
58
58
  }
59
- }, others));
59
+ }, others, {
60
+ "data-slot": "marquee-root-provider"
61
+ }));
60
62
  }
61
63
  function MarqueeViewport(props) {
62
64
  const [local, others] = splitProps(props, [
63
65
  'class'
64
66
  ]);
65
67
  return createComponent(Marquee.Viewport, mergeProps({
66
- "data-slot": "marquee-viewport",
67
68
  get ["class"] () {
68
69
  return cn('size-full', local.class);
69
70
  }
70
- }, others));
71
+ }, others, {
72
+ "data-slot": "marquee-viewport"
73
+ }));
71
74
  }
72
75
  function MarqueeContent(props) {
73
76
  const [local, others] = splitProps(props, [
74
77
  'class'
75
78
  ]);
76
79
  return createComponent(Marquee.Content, mergeProps({
77
- "data-slot": "marquee-content",
78
80
  get ["class"] () {
79
81
  return cn('animate-moduix-marquee-x group-data-paused:[animation-play-state:paused] data-reverse:[animation-direction:reverse] data-[side=bottom]:animate-moduix-marquee-y data-[side=top]:animate-moduix-marquee-y motion-reduce:animate-none', local.class);
80
82
  }
81
- }, others));
83
+ }, others, {
84
+ "data-slot": "marquee-content"
85
+ }));
82
86
  }
83
87
  function MarqueeItem(props) {
84
88
  const [local, others] = splitProps(props, [
85
89
  'class'
86
90
  ]);
87
91
  return createComponent(Marquee.Item, mergeProps({
88
- "data-slot": "marquee-item",
89
92
  get ["class"] () {
90
93
  return cn('shrink-0', local.class);
91
94
  }
92
- }, others));
95
+ }, others, {
96
+ "data-slot": "marquee-item"
97
+ }));
93
98
  }
94
99
  function MarqueeEdge(props) {
95
100
  const [local, others] = splitProps(props, [
@@ -97,7 +102,6 @@ function MarqueeEdge(props) {
97
102
  'side'
98
103
  ]);
99
104
  return createComponent(Marquee.Edge, mergeProps({
100
- "data-slot": "marquee-edge",
101
105
  get side () {
102
106
  return local.side;
103
107
  },
@@ -106,7 +110,9 @@ function MarqueeEdge(props) {
106
110
  side: local.side
107
111
  }), local.class);
108
112
  }
109
- }, others));
113
+ }, others, {
114
+ "data-slot": "marquee-edge"
115
+ }));
110
116
  }
111
117
  const Marquee_Marquee = Object.assign(MarqueeRoot, {
112
118
  Root: MarqueeRoot,
@@ -28,45 +28,45 @@ function MarqueeRoot(props) {
28
28
  'class',
29
29
  'side'
30
30
  ]);
31
- return <Marquee.Root data-slot="marquee-root" side={local.side} class={cn(marqueeRootVariants({
31
+ return <Marquee.Root side={local.side} class={cn(marqueeRootVariants({
32
32
  orientation: 'top' === local.side || 'bottom' === local.side ? 'vertical' : 'horizontal'
33
- }), local.class)} {...others}/>;
33
+ }), local.class)} {...others} data-slot="marquee-root"/>;
34
34
  }
35
35
  function MarqueeRootProvider(props) {
36
36
  const [local, others] = splitProps(props, [
37
37
  'class',
38
38
  'value'
39
39
  ]);
40
- return <Marquee.RootProvider data-slot="marquee-root-provider" value={local.value} class={cn(marqueeRootVariants({
40
+ return <Marquee.RootProvider value={local.value} class={cn(marqueeRootVariants({
41
41
  orientation: local.value().orientation
42
- }), local.class)} {...others}/>;
42
+ }), local.class)} {...others} data-slot="marquee-root-provider"/>;
43
43
  }
44
44
  function MarqueeViewport(props) {
45
45
  const [local, others] = splitProps(props, [
46
46
  'class'
47
47
  ]);
48
- return <Marquee.Viewport data-slot="marquee-viewport" class={cn('size-full', local.class)} {...others}/>;
48
+ return <Marquee.Viewport class={cn('size-full', local.class)} {...others} data-slot="marquee-viewport"/>;
49
49
  }
50
50
  function MarqueeContent(props) {
51
51
  const [local, others] = splitProps(props, [
52
52
  'class'
53
53
  ]);
54
- return <Marquee.Content data-slot="marquee-content" class={cn('animate-moduix-marquee-x group-data-paused:[animation-play-state:paused] data-reverse:[animation-direction:reverse] data-[side=bottom]:animate-moduix-marquee-y data-[side=top]:animate-moduix-marquee-y motion-reduce:animate-none', local.class)} {...others}/>;
54
+ return <Marquee.Content class={cn('animate-moduix-marquee-x group-data-paused:[animation-play-state:paused] data-reverse:[animation-direction:reverse] data-[side=bottom]:animate-moduix-marquee-y data-[side=top]:animate-moduix-marquee-y motion-reduce:animate-none', local.class)} {...others} data-slot="marquee-content"/>;
55
55
  }
56
56
  function MarqueeItem(props) {
57
57
  const [local, others] = splitProps(props, [
58
58
  'class'
59
59
  ]);
60
- return <Marquee.Item data-slot="marquee-item" class={cn('shrink-0', local.class)} {...others}/>;
60
+ return <Marquee.Item class={cn('shrink-0', local.class)} {...others} data-slot="marquee-item"/>;
61
61
  }
62
62
  function MarqueeEdge(props) {
63
63
  const [local, others] = splitProps(props, [
64
64
  'class',
65
65
  'side'
66
66
  ]);
67
- return <Marquee.Edge data-slot="marquee-edge" side={local.side} class={cn(marqueeEdgeVariants({
67
+ return <Marquee.Edge side={local.side} class={cn(marqueeEdgeVariants({
68
68
  side: local.side
69
- }), local.class)} {...others}/>;
69
+ }), local.class)} {...others} data-slot="marquee-edge"/>;
70
70
  }
71
71
  const Marquee_Marquee = Object.assign(MarqueeRoot, {
72
72
  Root: MarqueeRoot,
@@ -7,7 +7,7 @@ import { children, splitProps } from "solid-js";
7
7
  import { cn } from "../../internal/cn.js";
8
8
  import { CheckIcon, ChevronDownIcon, ChevronRightIcon } from "../../internal/icons/ui/index.js";
9
9
  import { OverlayPortal, OverlayPortalProvider } from "../../internal/overlayPortal.js";
10
- var _tmpl$ = /*#__PURE__*/ template("<span data-slot=menu-trigger-icon>"), _tmpl$2 = /*#__PURE__*/ template("<span data-slot=menu-trigger-item-icon>");
10
+ var _tmpl$ = /*#__PURE__*/ template("<span>");
11
11
  const menuItemStyles = cva("relative z-0 min-h-control-sm cursor-default rounded-sm bg-transparent text-sm text-inherit no-underline outline-0 select-none before:absolute before:inset-x-1 before:inset-y-0 before:-z-1 before:rounded-sm before:bg-transparent before:content-[''] data-disabled:pointer-events-none data-disabled:text-muted-foreground data-highlighted:text-accent-foreground data-highlighted:before:bg-accent data-[state=open]:before:bg-accent", {
12
12
  variants: {
13
13
  layout: {
@@ -101,14 +101,15 @@ function MenuTrigger(props) {
101
101
  get asChild () {
102
102
  return local.asChild;
103
103
  },
104
- "data-slot": "menu-trigger",
105
104
  get ["data-focus-visible"] () {
106
105
  return focusVisible() ? '' : void 0;
107
106
  },
108
107
  get ["class"] () {
109
108
  return cn(!local.asChild && 'inline-flex min-h-control-md cursor-pointer items-center justify-center gap-2 rounded-md border border-border bg-background px-4 py-1 text-sm font-medium text-foreground outline-0 transition-colors duration-200 ease-in-out select-none active:bg-muted data-disabled:pointer-events-none data-disabled:opacity-50 data-[current]:data-[state=open]:bg-muted motion-reduce:transition-none [&:focus[data-focus-visible]]:outline-1 [&:focus[data-focus-visible]]:-outline-offset-1 [&:focus[data-focus-visible]]:outline-ring [@media(hover:hover)]:hover:bg-muted', local.class);
110
109
  }
111
- }, others));
110
+ }, others, {
111
+ "data-slot": "menu-trigger"
112
+ }));
112
113
  }
113
114
  function MenuTriggerIcon(props) {
114
115
  const [local, others] = splitProps(props, [
@@ -122,7 +123,9 @@ function MenuTriggerIcon(props) {
122
123
  get ["class"] () {
123
124
  return cn('inline-flex size-4 shrink-0 items-center justify-center [&_svg]:size-full', local.class);
124
125
  }
125
- }, others), false, true);
126
+ }, others, {
127
+ "data-slot": "menu-trigger-icon"
128
+ }), false, true);
126
129
  insert(_el$, ()=>resolvedChildren() ?? createComponent(ChevronDownIcon, {}));
127
130
  return _el$;
128
131
  })();
@@ -134,11 +137,11 @@ function MenuIndicator(props) {
134
137
  ]);
135
138
  const resolvedChildren = children(()=>local.children);
136
139
  return createComponent(Menu.Indicator, mergeProps({
137
- "data-slot": "menu-indicator",
138
140
  get ["class"] () {
139
141
  return cn('inline-flex size-4 shrink-0 items-center justify-center [&_svg]:size-full', local.class);
140
142
  }
141
143
  }, others, {
144
+ "data-slot": "menu-indicator",
142
145
  get children () {
143
146
  return resolvedChildren() ?? createComponent(ChevronDownIcon, {});
144
147
  }
@@ -154,14 +157,15 @@ function MenuContextTrigger(props) {
154
157
  get asChild () {
155
158
  return local.asChild;
156
159
  },
157
- "data-slot": "menu-context-trigger",
158
160
  get ["data-focus-visible"] () {
159
161
  return focusVisible() ? '' : void 0;
160
162
  },
161
163
  get ["class"] () {
162
164
  return cn(!local.asChild && 'inline-flex min-h-control-md cursor-pointer items-center justify-center gap-2 rounded-md border border-border bg-background px-4 py-1 text-sm font-medium text-foreground outline-0 transition-colors duration-200 ease-in-out select-none active:bg-muted data-disabled:pointer-events-none data-disabled:opacity-50 data-[current]:data-[state=open]:bg-muted motion-reduce:transition-none [&:focus[data-focus-visible]]:outline-1 [&:focus[data-focus-visible]]:-outline-offset-1 [&:focus[data-focus-visible]]:outline-ring [@media(hover:hover)]:hover:bg-muted', local.class);
163
165
  }
164
- }, others));
166
+ }, others, {
167
+ "data-slot": "menu-context-trigger"
168
+ }));
165
169
  }
166
170
  function MenuPositioner(props) {
167
171
  const [local, others] = splitProps(props, [
@@ -170,11 +174,12 @@ function MenuPositioner(props) {
170
174
  return createComponent(OverlayPortal, {
171
175
  get children () {
172
176
  return createComponent(Menu.Positioner, mergeProps({
173
- "data-slot": "menu-positioner",
174
177
  get ["class"] () {
175
178
  return cn('z-[var(--z-index)] w-[var(--positioner-width,auto)] max-w-[var(--available-width)] outline-0', local.class);
176
179
  }
177
- }, others));
180
+ }, others, {
181
+ "data-slot": "menu-positioner"
182
+ }));
178
183
  }
179
184
  });
180
185
  }
@@ -188,11 +193,11 @@ function MenuContent(props) {
188
193
  get asChild () {
189
194
  return local.asChild;
190
195
  },
191
- "data-slot": "menu-content",
192
196
  get ["class"] () {
193
197
  return cn('relative z-[calc(var(--moduix-z-popup)+var(--layer-index,0))] flex max-w-[min(20rem,var(--available-width,100vw))] min-w-[min(max(var(--reference-width,0px),12rem),var(--available-width,100vw))] origin-[var(--transform-origin)] flex-col overflow-visible rounded-md bg-popover py-1 text-popover-foreground shadow-lg outline-1 outline-border [--arrow-background:var(--color-popover)] [--arrow-size:0.625rem] data-[state=closed]:animate-moduix-menu-closed data-[state=open]:animate-moduix-menu-open motion-reduce:[animation-delay:0ms] motion-reduce:[animation-duration:1ms]', local.class);
194
198
  }
195
199
  }, others, {
200
+ "data-slot": "menu-content",
196
201
  get children () {
197
202
  return local.children;
198
203
  }
@@ -209,11 +214,12 @@ function MenuViewport(props) {
209
214
  },
210
215
  "data-scope": "menu",
211
216
  "data-part": "viewport",
212
- "data-slot": "menu-viewport",
213
217
  get ["class"] () {
214
218
  return cn('flex max-h-[min(24rem,var(--available-height,100dvh))] flex-col overflow-auto', local.class);
215
219
  }
216
- }, others));
220
+ }, others, {
221
+ "data-slot": "menu-viewport"
222
+ }));
217
223
  }
218
224
  function MenuArrow(props) {
219
225
  const [local, others] = splitProps(props, [
@@ -222,11 +228,11 @@ function MenuArrow(props) {
222
228
  ]);
223
229
  const resolvedChildren = children(()=>local.children);
224
230
  return createComponent(Menu.Arrow, mergeProps({
225
- "data-slot": "menu-arrow",
226
231
  get ["class"] () {
227
232
  return cn('[--arrow-background:var(--color-popover)]', local.class);
228
233
  }
229
234
  }, others, {
235
+ "data-slot": "menu-arrow",
230
236
  get children () {
231
237
  return resolvedChildren() ?? createComponent(MenuArrowTip, {});
232
238
  }
@@ -237,11 +243,12 @@ function MenuArrowTip(props) {
237
243
  'class'
238
244
  ]);
239
245
  return createComponent(Menu.ArrowTip, mergeProps({
240
- "data-slot": "menu-arrow-tip",
241
246
  get ["class"] () {
242
247
  return cn('[border-block-start:1px_solid_var(--color-border)] [border-inline-start:1px_solid_var(--color-border)]', local.class);
243
248
  }
244
- }, others));
249
+ }, others, {
250
+ "data-slot": "menu-arrow-tip"
251
+ }));
245
252
  }
246
253
  function MenuItem(props) {
247
254
  const [local, others] = splitProps(props, [
@@ -249,7 +256,6 @@ function MenuItem(props) {
249
256
  'tone'
250
257
  ]);
251
258
  return createComponent(Menu.Item, mergeProps({
252
- "data-slot": "menu-item",
253
259
  get ["data-tone"] () {
254
260
  return local.tone ?? 'default';
255
261
  },
@@ -259,20 +265,23 @@ function MenuItem(props) {
259
265
  tone: local.tone
260
266
  }), local.class);
261
267
  }
262
- }, others));
268
+ }, others, {
269
+ "data-slot": "menu-item"
270
+ }));
263
271
  }
264
272
  function MenuTriggerItem(props) {
265
273
  const [local, others] = splitProps(props, [
266
274
  'class'
267
275
  ]);
268
276
  return createComponent(Menu.TriggerItem, mergeProps({
269
- "data-slot": "menu-trigger-item",
270
277
  get ["class"] () {
271
278
  return cn(menuItemStyles({
272
279
  layout: 'triggerItem'
273
280
  }), local.class);
274
281
  }
275
- }, others));
282
+ }, others, {
283
+ "data-slot": "menu-trigger-item"
284
+ }));
276
285
  }
277
286
  function MenuTriggerItemIcon(props) {
278
287
  const [local, others] = splitProps(props, [
@@ -281,12 +290,14 @@ function MenuTriggerItemIcon(props) {
281
290
  ]);
282
291
  const resolvedChildren = children(()=>local.children);
283
292
  return (()=>{
284
- var _el$2 = _tmpl$2();
293
+ var _el$2 = _tmpl$();
285
294
  spread(_el$2, mergeProps({
286
295
  get ["class"] () {
287
296
  return cn('inline-flex size-3.5 shrink-0 rtl:-scale-x-100 [&_svg]:size-full', local.class);
288
297
  }
289
- }, others), false, true);
298
+ }, others, {
299
+ "data-slot": "menu-trigger-item-icon"
300
+ }), false, true);
290
301
  insert(_el$2, ()=>resolvedChildren() ?? createComponent(ChevronRightIcon, {}));
291
302
  return _el$2;
292
303
  })();
@@ -296,44 +307,48 @@ function MenuSeparator(props) {
296
307
  'class'
297
308
  ]);
298
309
  return createComponent(Menu.Separator, mergeProps({
299
- "data-slot": "menu-separator",
300
310
  get ["class"] () {
301
311
  return cn('mx-3 my-1.5 h-px border-0 bg-border', local.class);
302
312
  }
303
- }, others));
313
+ }, others, {
314
+ "data-slot": "menu-separator"
315
+ }));
304
316
  }
305
317
  function MenuItemGroup(props) {
306
318
  const [local, others] = splitProps(props, [
307
319
  'class'
308
320
  ]);
309
321
  return createComponent(Menu.ItemGroup, mergeProps({
310
- "data-slot": "menu-item-group",
311
322
  get ["class"] () {
312
323
  return cn('grid', local.class);
313
324
  }
314
- }, others));
325
+ }, others, {
326
+ "data-slot": "menu-item-group"
327
+ }));
315
328
  }
316
329
  function MenuItemGroupLabel(props) {
317
330
  const [local, others] = splitProps(props, [
318
331
  'class'
319
332
  ]);
320
333
  return createComponent(Menu.ItemGroupLabel, mergeProps({
321
- "data-slot": "menu-item-group-label",
322
334
  get ["class"] () {
323
335
  return cn('cursor-default px-2.5 py-1 text-xs font-normal text-muted-foreground select-none', local.class);
324
336
  }
325
- }, others));
337
+ }, others, {
338
+ "data-slot": "menu-item-group-label"
339
+ }));
326
340
  }
327
341
  function MenuRadioItemGroup(props) {
328
342
  const [local, others] = splitProps(props, [
329
343
  'class'
330
344
  ]);
331
345
  return createComponent(Menu.RadioItemGroup, mergeProps({
332
- "data-slot": "menu-radio-item-group",
333
346
  get ["class"] () {
334
347
  return cn('grid', local.class);
335
348
  }
336
- }, others));
349
+ }, others, {
350
+ "data-slot": "menu-radio-item-group"
351
+ }));
337
352
  }
338
353
  function MenuRadioItem(props) {
339
354
  const [local, others] = splitProps(props, [
@@ -341,7 +356,6 @@ function MenuRadioItem(props) {
341
356
  'indicator'
342
357
  ]);
343
358
  return createComponent(Menu.RadioItem, mergeProps({
344
- "data-slot": "menu-radio-item",
345
359
  get ["data-indicator-position"] () {
346
360
  return local.indicator ?? 'start';
347
361
  },
@@ -351,7 +365,9 @@ function MenuRadioItem(props) {
351
365
  indicator: local.indicator ?? 'start'
352
366
  }), local.class);
353
367
  }
354
- }, others));
368
+ }, others, {
369
+ "data-slot": "menu-radio-item"
370
+ }));
355
371
  }
356
372
  function MenuCheckboxItem(props) {
357
373
  const [local, others] = splitProps(props, [
@@ -359,7 +375,6 @@ function MenuCheckboxItem(props) {
359
375
  'indicator'
360
376
  ]);
361
377
  return createComponent(Menu.CheckboxItem, mergeProps({
362
- "data-slot": "menu-checkbox-item",
363
378
  get ["data-indicator-position"] () {
364
379
  return local.indicator ?? 'start';
365
380
  },
@@ -369,7 +384,9 @@ function MenuCheckboxItem(props) {
369
384
  indicator: local.indicator ?? 'start'
370
385
  }), local.class);
371
386
  }
372
- }, others));
387
+ }, others, {
388
+ "data-slot": "menu-checkbox-item"
389
+ }));
373
390
  }
374
391
  function MenuItemIndicator(props) {
375
392
  const [local, others] = splitProps(props, [
@@ -378,11 +395,11 @@ function MenuItemIndicator(props) {
378
395
  ]);
379
396
  const resolvedChildren = children(()=>local.children);
380
397
  return createComponent(Menu.ItemIndicator, mergeProps({
381
- "data-slot": "menu-item-indicator",
382
398
  get ["class"] () {
383
399
  return cn('inline-flex size-3 items-center justify-center rounded-xs [&_svg]:size-full', local.class);
384
400
  }
385
401
  }, others, {
402
+ "data-slot": "menu-item-indicator",
386
403
  get children () {
387
404
  return resolvedChildren() ?? createComponent(CheckIcon, {});
388
405
  }
@@ -393,55 +410,60 @@ function MenuItemText(props) {
393
410
  'class'
394
411
  ]);
395
412
  return createComponent(Menu.ItemText, mergeProps({
396
- "data-slot": "menu-item-text",
397
413
  get ["class"] () {
398
414
  return cn('min-w-0 overflow-hidden', local.class);
399
415
  }
400
- }, others));
416
+ }, others, {
417
+ "data-slot": "menu-item-text"
418
+ }));
401
419
  }
402
420
  function MenuItemTextContent(props) {
403
421
  const [local, others] = splitProps(props, [
404
422
  'class'
405
423
  ]);
406
424
  return createComponent(ark.span, mergeProps({
407
- "data-slot": "menu-item-text-content",
408
425
  get ["class"] () {
409
426
  return cn('inline-flex max-w-full min-w-0 items-center gap-2 align-top', local.class);
410
427
  }
411
- }, others));
428
+ }, others, {
429
+ "data-slot": "menu-item-text-content"
430
+ }));
412
431
  }
413
432
  function MenuItemTextIcon(props) {
414
433
  const [local, others] = splitProps(props, [
415
434
  'class'
416
435
  ]);
417
436
  return createComponent(ark.span, mergeProps({
418
- "data-slot": "menu-item-text-icon",
419
437
  get ["class"] () {
420
438
  return cn('inline-flex size-4 shrink-0 items-center justify-center [&_svg]:size-full', local.class);
421
439
  }
422
- }, others));
440
+ }, others, {
441
+ "data-slot": "menu-item-text-icon"
442
+ }));
423
443
  }
424
444
  function MenuItemTextLabel(props) {
425
445
  const [local, others] = splitProps(props, [
426
446
  'class'
427
447
  ]);
428
448
  return createComponent(ark.span, mergeProps({
429
- "data-slot": "menu-item-text-label",
430
449
  get ["class"] () {
431
450
  return cn('min-w-0 overflow-hidden text-ellipsis whitespace-nowrap', local.class);
432
451
  }
433
- }, others));
452
+ }, others, {
453
+ "data-slot": "menu-item-text-label"
454
+ }));
434
455
  }
435
456
  function MenuItemShortcut(props) {
436
457
  const [local, others] = splitProps(props, [
437
458
  'class'
438
459
  ]);
439
460
  return createComponent(ark.span, mergeProps({
440
- "data-slot": "menu-item-shortcut",
441
461
  get ["class"] () {
442
462
  return cn('ms-auto ps-4 text-xs whitespace-nowrap text-muted-foreground', local.class);
443
463
  }
444
- }, others));
464
+ }, others, {
465
+ "data-slot": "menu-item-shortcut"
466
+ }));
445
467
  }
446
468
  const Menu_Menu = Object.assign(MenuRoot, {
447
469
  Root: MenuRoot,