@oneplatformdev/ui 0.1.99-beta.19 → 0.1.99-beta.197

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 (265) hide show
  1. package/.storybook/Wrappers.js.map +1 -1
  2. package/Accordion/Accordion.d.ts +1 -1
  3. package/Accordion/Accordion.d.ts.map +1 -1
  4. package/Accordion/Accordion.js +48 -26
  5. package/Accordion/Accordion.js.map +1 -1
  6. package/Alert/Alert.js.map +1 -1
  7. package/Alert/alertVariants.js.map +1 -1
  8. package/AlertDialog/AlertDialog.js.map +1 -1
  9. package/AlertDialog/AlertDialog.stories.js +2 -3
  10. package/AlertDialog/AlertDialog.stories.js.map +1 -1
  11. package/AlertDialog/AlertDialogRoot.d.ts.map +1 -1
  12. package/AlertDialog/AlertDialogRoot.js +23 -23
  13. package/AlertDialog/AlertDialogRoot.js.map +1 -1
  14. package/AreaChart/AreaChart.js.map +1 -1
  15. package/Aside/Aside.js.map +1 -1
  16. package/Aside/AsideSidebar.js.map +1 -1
  17. package/AspectRatio/AspectRatio.js.map +1 -1
  18. package/Avatar/Avatar.js.map +1 -1
  19. package/Badge/Badge.js.map +1 -1
  20. package/Badge/badgeVariants.js.map +1 -1
  21. package/Breadcrumb/Breadcrumb.js.map +1 -1
  22. package/Button/Button.d.ts.map +1 -1
  23. package/Button/Button.js +40 -41
  24. package/Button/Button.js.map +1 -1
  25. package/Button/Button.stories.js.map +1 -1
  26. package/Button/Button.utils.d.ts +3 -0
  27. package/Button/Button.utils.d.ts.map +1 -0
  28. package/Button/Button.utils.js +14 -0
  29. package/Button/Button.utils.js.map +1 -0
  30. package/Button/ButtonCounterBadge.js.map +1 -1
  31. package/Button/buttonVariants.d.ts.map +1 -1
  32. package/Button/buttonVariants.js +2 -1
  33. package/Button/buttonVariants.js.map +1 -1
  34. package/Button/index.d.ts +1 -0
  35. package/Button/index.d.ts.map +1 -1
  36. package/Button/index.js +8 -6
  37. package/Button/index.js.map +1 -1
  38. package/ButtonIcon/ButtonIcon.d.ts.map +1 -1
  39. package/ButtonIcon/ButtonIcon.js +49 -50
  40. package/ButtonIcon/ButtonIcon.js.map +1 -1
  41. package/ButtonIcon/ButtonIcon.stories.js +35 -33
  42. package/ButtonIcon/ButtonIcon.stories.js.map +1 -1
  43. package/ButtonIcon/buttonIconVariants.d.ts.map +1 -1
  44. package/ButtonIcon/buttonIconVariants.js +3 -2
  45. package/ButtonIcon/buttonIconVariants.js.map +1 -1
  46. package/CHANGELOG.md +2649 -1786
  47. package/Calendar/Calendar.js +0 -1
  48. package/Calendar/Calendar.js.map +1 -1
  49. package/Card/Card.js.map +1 -1
  50. package/Carousel/Carousel.js +6 -7
  51. package/Carousel/Carousel.js.map +1 -1
  52. package/Chart/Chart.js.map +1 -1
  53. package/Checkbox/Checkbox.d.ts.map +1 -1
  54. package/Checkbox/Checkbox.js +34 -33
  55. package/Checkbox/Checkbox.js.map +1 -1
  56. package/Checkbox/Checkbox.stories.js +108 -0
  57. package/Checkbox/Checkbox.stories.js.map +1 -0
  58. package/Collapsible/Collapsible.js.map +1 -1
  59. package/Combobox/Combobox.d.ts +1 -1
  60. package/Combobox/Combobox.d.ts.map +1 -1
  61. package/Combobox/Combobox.js +204 -191
  62. package/Combobox/Combobox.js.map +1 -1
  63. package/Combobox/Combobox.stories.js +212 -0
  64. package/Combobox/Combobox.stories.js.map +1 -0
  65. package/Combobox/Combobox.types.d.ts +34 -19
  66. package/Combobox/Combobox.types.d.ts.map +1 -1
  67. package/Combobox/ComboboxOptionItem.d.ts +4 -3
  68. package/Combobox/ComboboxOptionItem.d.ts.map +1 -1
  69. package/Combobox/ComboboxOptionItem.js +49 -22
  70. package/Combobox/ComboboxOptionItem.js.map +1 -1
  71. package/Combobox/ComboboxOptions.d.ts +2 -2
  72. package/Combobox/ComboboxOptions.d.ts.map +1 -1
  73. package/Combobox/ComboboxOptions.js +48 -49
  74. package/Combobox/ComboboxOptions.js.map +1 -1
  75. package/Command/Command.d.ts +6 -1
  76. package/Command/Command.d.ts.map +1 -1
  77. package/Command/Command.js +61 -47
  78. package/Command/Command.js.map +1 -1
  79. package/DataTable/DataTable.js +12 -13
  80. package/DataTable/DataTable.js.map +1 -1
  81. package/DataTable/DataTableColumnFilter.js +6 -7
  82. package/DataTable/DataTableColumnFilter.js.map +1 -1
  83. package/DataTable/useDataTable.js.map +1 -1
  84. package/DatePicker/DatePicker.js +12 -13
  85. package/DatePicker/DatePicker.js.map +1 -1
  86. package/Dialog/Dialog.d.ts +4 -1
  87. package/Dialog/Dialog.d.ts.map +1 -1
  88. package/Dialog/Dialog.js +67 -35
  89. package/Dialog/Dialog.js.map +1 -1
  90. package/Dialog/Dialog.stories.js +101 -0
  91. package/Dialog/Dialog.stories.js.map +1 -0
  92. package/Dialog/Dialog.types.d.ts +4 -0
  93. package/Dialog/Dialog.types.d.ts.map +1 -0
  94. package/Dialog/Dialog.types.js +2 -0
  95. package/Dialog/Dialog.types.js.map +1 -0
  96. package/Dialog/DialogOverlayScope.js.map +1 -1
  97. package/Dialog/index.d.ts +1 -0
  98. package/Dialog/index.d.ts.map +1 -1
  99. package/Drawer/Drawer.js.map +1 -1
  100. package/DropdownMenu/DropdownMenu.d.ts.map +1 -1
  101. package/DropdownMenu/DropdownMenu.js +33 -20
  102. package/DropdownMenu/DropdownMenu.js.map +1 -1
  103. package/Dropzone/Dropzone.js.map +1 -1
  104. package/Dropzone/Dropzone.types.js.map +1 -1
  105. package/Dropzone/DropzoneFilePreview.js.map +1 -1
  106. package/Dropzone/DropzoneSinglePickPreview.js.map +1 -1
  107. package/Dropzone/DropzoneUtils.js.map +1 -1
  108. package/Form/Form.d.ts.map +1 -1
  109. package/Form/Form.js +14 -15
  110. package/Form/Form.js.map +1 -1
  111. package/Form/FormRenderControl.d.ts +1 -1
  112. package/Form/FormRenderControl.d.ts.map +1 -1
  113. package/Form/FormRenderControl.js +53 -14
  114. package/Form/FormRenderControl.js.map +1 -1
  115. package/Form/FormRenderControl.types.d.ts +4 -1
  116. package/Form/FormRenderControl.types.d.ts.map +1 -1
  117. package/Form/Form_old.js +4 -5
  118. package/Form/Form_old.js.map +1 -1
  119. package/FormCheckbox/FormCheckbox.js +4 -4
  120. package/FormCheckbox/FormCheckbox.js.map +1 -1
  121. package/FormCombobox/FormCombobox.d.ts.map +1 -1
  122. package/FormCombobox/FormCombobox.js +15 -13
  123. package/FormCombobox/FormCombobox.js.map +1 -1
  124. package/FormDatePicker/FormDatePicker.d.ts.map +1 -1
  125. package/FormDatePicker/FormDatePicker.js +18 -16
  126. package/FormDatePicker/FormDatePicker.js.map +1 -1
  127. package/FormDropzone/FormDropzone.d.ts.map +1 -1
  128. package/FormDropzone/FormDropzone.js +13 -11
  129. package/FormDropzone/FormDropzone.js.map +1 -1
  130. package/FormInput/FormInput.d.ts.map +1 -1
  131. package/FormInput/FormInput.js +47 -27
  132. package/FormInput/FormInput.js.map +1 -1
  133. package/FormInput/FormInput.stories.js +61 -0
  134. package/FormInput/FormInput.stories.js.map +1 -0
  135. package/FormInput/FormInput.types.d.ts +1 -0
  136. package/FormInput/FormInput.types.d.ts.map +1 -1
  137. package/FormRadio/FormRadio.js.map +1 -1
  138. package/FormSelect/FormSelect.d.ts.map +1 -1
  139. package/FormSelect/FormSelect.js +19 -18
  140. package/FormSelect/FormSelect.js.map +1 -1
  141. package/FormTextarea/FormTextarea.d.ts.map +1 -1
  142. package/FormTextarea/FormTextarea.js +13 -11
  143. package/FormTextarea/FormTextarea.js.map +1 -1
  144. package/Header/Header.js.map +1 -1
  145. package/HoverCard/HoverCard.js.map +1 -1
  146. package/InfoBlock/InfoBlock.d.ts +7 -0
  147. package/InfoBlock/InfoBlock.d.ts.map +1 -0
  148. package/InfoBlock/InfoBlock.js +28 -0
  149. package/InfoBlock/InfoBlock.js.map +1 -0
  150. package/InfoBlock/InfoBlock.stories.js +50 -0
  151. package/InfoBlock/InfoBlock.stories.js.map +1 -0
  152. package/InfoBlock/InfoBlock.types.d.ts +9 -0
  153. package/InfoBlock/InfoBlock.types.d.ts.map +1 -0
  154. package/InfoBlock/InfoBlock.types.js +2 -0
  155. package/InfoBlock/InfoBlock.types.js.map +1 -0
  156. package/InfoBlock/index.d.ts +3 -0
  157. package/InfoBlock/index.d.ts.map +1 -0
  158. package/InfoBlock/index.js +5 -0
  159. package/InfoBlock/index.js.map +1 -0
  160. package/InfoBlock/infoBlockVariants.d.ts +6 -0
  161. package/InfoBlock/infoBlockVariants.d.ts.map +1 -0
  162. package/InfoBlock/infoBlockVariants.js +27 -0
  163. package/InfoBlock/infoBlockVariants.js.map +1 -0
  164. package/Input/Input.d.ts.map +1 -1
  165. package/Input/Input.js +65 -51
  166. package/Input/Input.js.map +1 -1
  167. package/Input/Input.types.d.ts +1 -0
  168. package/Input/Input.types.d.ts.map +1 -1
  169. package/Input/inputVariants.d.ts.map +1 -1
  170. package/Input/inputVariants.js +5 -4
  171. package/Input/inputVariants.js.map +1 -1
  172. package/InputOTP/InputOTP.d.ts.map +1 -1
  173. package/InputOTP/InputOTP.js.map +1 -1
  174. package/LICENSE +21 -21
  175. package/Label/Label.js.map +1 -1
  176. package/Label/labelVariants.js.map +1 -1
  177. package/LazyLoader/LazyLoader.js +4 -5
  178. package/LazyLoader/LazyLoader.js.map +1 -1
  179. package/LoadedIcon/LoadedIcon.js.map +1 -1
  180. package/LoadingMask/LoadingMask.d.ts +1 -2
  181. package/LoadingMask/LoadingMask.d.ts.map +1 -1
  182. package/LoadingMask/LoadingMask.js +8 -8
  183. package/LoadingMask/LoadingMask.js.map +1 -1
  184. package/LoadingMask/LoadingMask.types.d.ts +1 -0
  185. package/LoadingMask/LoadingMask.types.d.ts.map +1 -1
  186. package/LoadingMask/RenderLoadingMask.js.map +1 -1
  187. package/LoadingProgress/LoadingProgress.js.map +1 -1
  188. package/LoadingProgress/loadingProgressVariants.js.map +1 -1
  189. package/Menubar/Menubar.js.map +1 -1
  190. package/NavigationMenu/NavigationMenu.js.map +1 -1
  191. package/NavigationMenu/navigationMenuVariants.js.map +1 -1
  192. package/Pagination/Pagination.js +0 -1
  193. package/Pagination/Pagination.js.map +1 -1
  194. package/Popover/Popover.js.map +1 -1
  195. package/Progress/Progress.js.map +1 -1
  196. package/README.md +7 -7
  197. package/Radio/Radio.js.map +1 -1
  198. package/RadioGroup/RadioGroup.js.map +1 -1
  199. package/Resizable/Resizable.d.ts +1 -1
  200. package/Resizable/Resizable.d.ts.map +1 -1
  201. package/Resizable/Resizable.js +21 -16
  202. package/Resizable/Resizable.js.map +1 -1
  203. package/Resizable/Resizable.stories.js.map +1 -1
  204. package/ScrollArea/ScrollArea.js.map +1 -1
  205. package/Search/Search.d.ts.map +1 -1
  206. package/Search/Search.js +40 -31
  207. package/Search/Search.js.map +1 -1
  208. package/Search/Search.stories.js +17 -0
  209. package/Search/Search.stories.js.map +1 -0
  210. package/Select/Select.d.ts.map +1 -1
  211. package/Select/Select.js +53 -49
  212. package/Select/Select.js.map +1 -1
  213. package/Select/Select.stories.js.map +1 -1
  214. package/Select/Select.types.d.ts +4 -0
  215. package/Select/Select.types.d.ts.map +1 -1
  216. package/Select/SelectRoot.js +1 -1
  217. package/Select/SelectRoot.js.map +1 -1
  218. package/Separator/Separator.js.map +1 -1
  219. package/Sheet/Sheet.js.map +1 -1
  220. package/Sidebar/Sidebar.js +20 -21
  221. package/Sidebar/Sidebar.js.map +1 -1
  222. package/Skeleton/Skeleton.js.map +1 -1
  223. package/Slider/Slider.js.map +1 -1
  224. package/Sonner/Sonner.js.map +1 -1
  225. package/Switch/Switch.js.map +1 -1
  226. package/Table/Table.js.map +1 -1
  227. package/TablePagination/TablePagination.js +17 -21
  228. package/TablePagination/TablePagination.js.map +1 -1
  229. package/Tabs/Tabs.js.map +1 -1
  230. package/Tabs/TabsRoot.js.map +1 -1
  231. package/Textarea/Textarea.d.ts.map +1 -1
  232. package/Textarea/Textarea.js +48 -43
  233. package/Textarea/Textarea.js.map +1 -1
  234. package/Textarea/Textarea.stories.js +1 -1
  235. package/Textarea/Textarea.stories.js.map +1 -1
  236. package/Textarea/Textarea.types.d.ts +3 -1
  237. package/Textarea/Textarea.types.d.ts.map +1 -1
  238. package/Textarea/useAutosizeTextArea.js.map +1 -1
  239. package/Theme/ThemeModeToggle.js +3 -4
  240. package/Theme/ThemeModeToggle.js.map +1 -1
  241. package/Theme/ThemeProvider.js.map +1 -1
  242. package/Toast/Toast.d.ts +1 -1
  243. package/Toast/Toast.js.map +1 -1
  244. package/Toast/toast.constants.js.map +1 -1
  245. package/Toast/toastVariants.d.ts +1 -1
  246. package/Toast/toastVariants.js.map +1 -1
  247. package/Toast/useToast.js.map +1 -1
  248. package/Toaster/Toaster.js.map +1 -1
  249. package/Toggle/Toggle.js.map +1 -1
  250. package/ToggleGroup/ToggleGroup.js.map +1 -1
  251. package/Tooltip/Tooltip.d.ts.map +1 -1
  252. package/Tooltip/Tooltip.js +41 -29
  253. package/Tooltip/Tooltip.js.map +1 -1
  254. package/Tooltip/Tooltip.types.d.ts +1 -0
  255. package/Tooltip/Tooltip.types.d.ts.map +1 -1
  256. package/Tooltip/TooltipRoot.js.map +1 -1
  257. package/Tooltip/tooltipVariants.d.ts +4 -0
  258. package/Tooltip/tooltipVariants.d.ts.map +1 -0
  259. package/Tooltip/tooltipVariants.js +23 -0
  260. package/Tooltip/tooltipVariants.js.map +1 -0
  261. package/index.d.ts +1 -0
  262. package/index.d.ts.map +1 -1
  263. package/index.js +332 -328
  264. package/index.js.map +1 -1
  265. package/package.json +6 -5
package/Search/Search.js CHANGED
@@ -1,48 +1,57 @@
1
1
  import { jsx as t } from "react/jsx-runtime";
2
- import { useState as g, useEffect as v } from "react";
3
- import { Input as C } from "../Input/Input.js";
4
- import { useDebounceCallback as b } from "@oneplatformdev/hooks";
5
- import { cn as x } from "@oneplatformdev/utils";
2
+ import { useState as y, useRef as C, useEffect as k, useCallback as b } from "react";
3
+ import { useDebounceCallback as v, useEventListener as x } from "@oneplatformdev/hooks";
4
+ import { cn as D } from "@oneplatformdev/utils";
6
5
  import { SearchIcon as I } from "lucide-react";
7
- import { LoadedIcon as N } from "../LoadedIcon/LoadedIcon.js";
8
- const E = (n) => {
6
+ import { Input as K } from "../Input/Input.js";
7
+ import { LoadedIcon as L } from "../LoadedIcon/LoadedIcon.js";
8
+ const z = (s) => {
9
9
  const {
10
- search: e,
11
- onChange: s,
12
- onSearch: c,
13
- placeholder: m = "Search",
14
- className: i,
15
- loading: l = !1,
16
- slotProps: o,
17
- name: h = "search",
10
+ search: o,
11
+ onChange: c,
12
+ onSearch: l,
13
+ placeholder: i = "Search",
14
+ className: u,
15
+ loading: m = !1,
16
+ slotProps: r,
17
+ name: f = "search",
18
18
  ...p
19
- } = n, [u, a] = g(e), f = b(c, 1e3), d = (r) => {
20
- const S = r.target.value;
21
- a(S), s?.(r), f(r.target.value);
19
+ } = s, [d, n] = y(o), h = v(l, 1e3), a = C(null), w = (e) => {
20
+ const g = e.target.value;
21
+ n(g), c?.(e), h(e.target.value);
22
22
  };
23
- return v(() => {
24
- a(e ?? "");
25
- }, [e]), /* @__PURE__ */ t(
26
- C,
23
+ k(() => {
24
+ n(o ?? "");
25
+ }, [o]);
26
+ const S = b((e) => {
27
+ (e.metaKey || e.ctrlKey) && e.key.toLowerCase() === "k" && (e.preventDefault(), a.current?.focus());
28
+ }, []);
29
+ return x(
30
+ "keydown",
31
+ S,
32
+ typeof window < "u" ? window : void 0
33
+ ), /* @__PURE__ */ t(
34
+ K,
27
35
  {
28
- name: h,
29
- placeholder: m,
30
- value: u,
31
- className: x("min-w-[340px]", i),
32
- onChange: d,
36
+ ref: a,
37
+ name: f,
38
+ placeholder: i,
39
+ value: d,
40
+ className: D("min-w-[340px]", u),
41
+ onChange: w,
33
42
  ...p,
34
- ...o || {},
43
+ ...r || {},
35
44
  slotProps: {
36
- ...o || {},
45
+ ...r || {},
37
46
  input: {
38
- startAdornment: /* @__PURE__ */ t(N, { loading: l, size: "sm", children: /* @__PURE__ */ t(I, {}) }),
39
- ...o?.input || {}
47
+ startAdornment: /* @__PURE__ */ t(L, { loading: m, children: /* @__PURE__ */ t(I, {}) }),
48
+ ...r?.input || {}
40
49
  }
41
50
  }
42
51
  }
43
52
  );
44
53
  };
45
54
  export {
46
- E as Search
55
+ z as Search
47
56
  };
48
57
  //# sourceMappingURL=Search.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Search.js","sources":["../../src/Search/Search.tsx"],"sourcesContent":["'use client';\n\nimport { ChangeEvent, useEffect, useState } from 'react';\n\nimport { Input } from '../Input';\nimport { SearchProps } from './Search.types';\n\nimport { useDebounceCallback } from '@oneplatformdev/hooks';\nimport { cn } from '@oneplatformdev/utils';\nimport { SearchIcon } from 'lucide-react';\nimport { LoadedIcon } from '../LoadedIcon';\n\nexport const Search = (props: SearchProps) => {\n const {\n search: initialSearch,\n onChange: handleChange,\n onSearch,\n placeholder = 'Search',\n className,\n loading = false,\n slotProps,\n name = 'search',\n ...rest\n } = props;\n const [search, setSearch] = useState(initialSearch);\n const debounced = useDebounceCallback(onSearch, 1000);\n\n const onChange = (e: ChangeEvent<HTMLInputElement>) => {\n const v = e.target.value;\n setSearch(v);\n handleChange?.(e);\n debounced(e.target.value);\n };\n\n useEffect(() => {\n setSearch(initialSearch ?? '');\n }, [initialSearch]);\n\n return (\n <Input\n name={name}\n placeholder={placeholder}\n value={search}\n className={cn('min-w-[340px]', className)}\n onChange={onChange}\n {...rest}\n {...(slotProps || {})}\n slotProps={{\n ...(slotProps || {}),\n input: {\n startAdornment: (\n <LoadedIcon loading={loading} size=\"sm\">\n <SearchIcon />\n </LoadedIcon>\n ),\n ...(slotProps?.input || {}),\n },\n }}\n />\n );\n};\n"],"names":["Search","props","initialSearch","handleChange","onSearch","placeholder","className","loading","slotProps","name","rest","search","setSearch","useState","debounced","useDebounceCallback","onChange","e","v","useEffect","jsx","Input","cn","LoadedIcon","SearchIcon"],"mappings":";;;;;;;AAYO,MAAMA,IAAS,CAACC,MAAuB;AAC5C,QAAM;AAAA,IACJ,QAAQC;AAAA,IACR,UAAUC;AAAA,IACV,UAAAC;AAAA,IACA,aAAAC,IAAc;AAAA,IACd,WAAAC;AAAA,IACA,SAAAC,IAAU;AAAA,IACV,WAAAC;AAAA,IACA,MAAAC,IAAO;AAAA,IACP,GAAGC;AAAA,EAAA,IACDT,GACE,CAACU,GAAQC,CAAS,IAAIC,EAASX,CAAa,GAC5CY,IAAYC,EAAoBX,GAAU,GAAI,GAE9CY,IAAW,CAACC,MAAqC;AACrD,UAAMC,IAAID,EAAE,OAAO;AACnB,IAAAL,EAAUM,CAAC,GACXf,IAAec,CAAC,GAChBH,EAAUG,EAAE,OAAO,KAAK;AAAA,EAC1B;AAEA,SAAAE,EAAU,MAAM;AACd,IAAAP,EAAUV,KAAiB,EAAE;AAAA,EAC/B,GAAG,CAACA,CAAa,CAAC,GAGhB,gBAAAkB;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAAZ;AAAA,MACA,aAAAJ;AAAA,MACA,OAAOM;AAAA,MACP,WAAWW,EAAG,iBAAiBhB,CAAS;AAAA,MACxC,UAAAU;AAAA,MACC,GAAGN;AAAA,MACH,GAAIF,KAAa,CAAA;AAAA,MAClB,WAAW;AAAA,QACT,GAAIA,KAAa,CAAA;AAAA,QACjB,OAAO;AAAA,UACL,kCACGe,GAAA,EAAW,SAAAhB,GAAkB,MAAK,MACjC,UAAA,gBAAAa,EAACI,KAAW,EAAA,CACd;AAAA,UAEF,GAAIhB,GAAW,SAAS,CAAA;AAAA,QAAC;AAAA,MAC3B;AAAA,IACF;AAAA,EAAA;AAGN;"}
1
+ {"version":3,"file":"Search.js","sources":["../../src/Search/Search.tsx"],"sourcesContent":["'use client';\r\n\r\nimport { ChangeEvent, useEffect, useState, KeyboardEvent, useRef, useCallback } from 'react';\r\n\r\nimport { Input } from '../Input';\r\nimport { SearchProps } from './Search.types';\r\n\r\nimport { useDebounceCallback, useEventListener } from '@oneplatformdev/hooks';\r\nimport { cn } from '@oneplatformdev/utils';\r\nimport { SearchIcon } from 'lucide-react';\r\nimport { LoadedIcon } from '../LoadedIcon';\r\n\r\nexport const Search = (props: SearchProps) => {\r\n const {\r\n search: initialSearch,\r\n onChange: handleChange,\r\n onSearch,\r\n placeholder = 'Search',\r\n className,\r\n loading = false,\r\n slotProps,\r\n name = 'search',\r\n ...rest\r\n } = props;\r\n const [ search, setSearch ] = useState(initialSearch);\r\n const debounced = useDebounceCallback(onSearch, 1000);\r\n\r\n const inputRef = useRef<HTMLInputElement>(null);\r\n\r\n const onChange = (e: ChangeEvent<HTMLInputElement>) => {\r\n const v = e.target.value;\r\n setSearch(v);\r\n handleChange?.(e);\r\n debounced(e.target.value);\r\n };\r\n\r\n useEffect(() => {\r\n setSearch(initialSearch ?? '');\r\n }, [ initialSearch ]);\r\n\r\n const handleKeyDown = useCallback((event: KeyboardEvent<HTMLInputElement>) => {\r\n if ((event.metaKey || event.ctrlKey) && event.key.toLowerCase() === 'k') {\r\n event.preventDefault();\r\n inputRef.current?.focus();\r\n }\r\n }, []);\r\n\r\n useEventListener(\r\n 'keydown',\r\n handleKeyDown,\r\n typeof window !== 'undefined' ? window : undefined\r\n );\r\n\r\n return (\r\n <Input\r\n ref={inputRef}\r\n name={name}\r\n placeholder={placeholder}\r\n value={search}\r\n className={cn('min-w-[340px]', className)}\r\n onChange={onChange}\r\n {...rest}\r\n {...(slotProps || {})}\r\n slotProps={{\r\n ...(slotProps || {}),\r\n input: {\r\n startAdornment: (\r\n <LoadedIcon loading={loading}>\r\n <SearchIcon/>\r\n </LoadedIcon>\r\n ),\r\n ...(slotProps?.input || {}),\r\n },\r\n }}\r\n />\r\n );\r\n};\r\n"],"names":["Search","props","initialSearch","handleChange","onSearch","placeholder","className","loading","slotProps","name","rest","search","setSearch","useState","debounced","useDebounceCallback","inputRef","useRef","onChange","v","useEffect","handleKeyDown","useCallback","event","useEventListener","jsx","Input","cn","LoadedIcon","SearchIcon"],"mappings":";;;;;;;AAYO,MAAMA,IAAS,CAACC,MAAuB;AAC5C,QAAM;AAAA,IACJ,QAAQC;AAAA,IACR,UAAUC;AAAA,IACV,UAAAC;AAAA,IACA,aAAAC,IAAc;AAAA,IACd,WAAAC;AAAA,IACA,SAAAC,IAAU;AAAA,IACV,WAAAC;AAAA,IACA,MAAAC,IAAO;AAAA,IACP,GAAGC;AAAA,EAAA,IACDT,GACE,CAAEU,GAAQC,CAAU,IAAIC,EAASX,CAAa,GAC9CY,IAAYC,EAAoBX,GAAU,GAAI,GAE9CY,IAAWC,EAAyB,IAAI,GAExCC,IAAW,CAAC,MAAqC;AACrD,UAAMC,IAAI,EAAE,OAAO;AACnB,IAAAP,EAAUO,CAAC,GACXhB,IAAe,CAAC,GAChBW,EAAU,EAAE,OAAO,KAAK;AAAA,EAC1B;AAEA,EAAAM,EAAU,MAAM;AACd,IAAAR,EAAUV,KAAiB,EAAE;AAAA,EAC/B,GAAG,CAAEA,CAAc,CAAC;AAEpB,QAAMmB,IAAgBC,EAAY,CAACC,MAA2C;AAC5E,KAAKA,EAAM,WAAWA,EAAM,YAAYA,EAAM,IAAI,YAAA,MAAkB,QAClEA,EAAM,eAAA,GACNP,EAAS,SAAS,MAAA;AAAA,EAEtB,GAAG,CAAA,CAAE;AAEL,SAAAQ;AAAA,IACE;AAAA,IACAH;AAAA,IACA,OAAO,SAAW,MAAc,SAAS;AAAA,EAAA,GAIzC,gBAAAI;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,KAAKV;AAAA,MACL,MAAAP;AAAA,MACA,aAAAJ;AAAA,MACA,OAAOM;AAAA,MACP,WAAWgB,EAAG,iBAAiBrB,CAAS;AAAA,MACxC,UAAAY;AAAA,MACC,GAAGR;AAAA,MACH,GAAIF,KAAa,CAAA;AAAA,MAClB,WAAW;AAAA,QACT,GAAIA,KAAa,CAAA;AAAA,QACjB,OAAO;AAAA,UACL,gBACE,gBAAAiB,EAACG,GAAA,EAAW,SAAArB,GACV,UAAA,gBAAAkB,EAACI,KAAU,GACb;AAAA,UAEF,GAAIrB,GAAW,SAAS,CAAA;AAAA,QAAC;AAAA,MAC3B;AAAA,IACF;AAAA,EAAA;AAGN;"}
@@ -0,0 +1,17 @@
1
+ import { Search as t } from "./Search.js";
2
+ const a = {
3
+ title: "Input/Search",
4
+ component: t
5
+ }, o = {
6
+ args: {
7
+ slotProps: {},
8
+ search: "search",
9
+ onSearch: () => {
10
+ }
11
+ }
12
+ };
13
+ export {
14
+ o as Default,
15
+ a as default
16
+ };
17
+ //# sourceMappingURL=Search.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Search.stories.js","sources":["../../src/Search/Search.stories.tsx"],"sourcesContent":["import type { Meta, StoryObj } from '@storybook/react-vite';\r\n\r\nimport { Search } from './Search';\r\n\r\nconst meta = {\r\n title: 'Input/Search',\r\n component: Search,\r\n} satisfies Meta<typeof Search>;\r\n\r\nexport default meta;\r\n\r\ntype Story = StoryObj<typeof meta>;\r\n\r\nexport const Default: Story = {\r\n args: {\r\n slotProps: {},\r\n search: \"search\",\r\n onSearch: () => {}\r\n }\r\n};\r\n"],"names":["meta","Search","Default"],"mappings":";AAIA,MAAMA,IAAO;AAAA,EACX,OAAO;AAAA,EACP,WAAWC;AACb,GAMaC,IAAiB;AAAA,EAC5B,MAAM;AAAA,IACJ,WAAW,CAAA;AAAA,IACX,QAAQ;AAAA,IACR,UAAU,MAAM;AAAA,IAAC;AAAA,EAAA;AAErB;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../src/Select/Select.tsx"],"names":[],"mappings":"AAGA,OAAO,EAIL,WAAW,EAIZ,MAAM,WAAW,CAAC;AAkGnB,eAAO,MAAM,MAAM,GAAI,gBAAgB,EACrC,OAAO,WAAW,CAAC,gBAAgB,CAAC,4CAwCrC,CAAC"}
1
+ {"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../src/Select/Select.tsx"],"names":[],"mappings":"AAGA,OAAO,EAIL,WAAW,EAIZ,MAAM,WAAW,CAAC;AAkGnB,eAAO,MAAM,MAAM,GAAI,gBAAgB,EACrC,OAAO,WAAW,CAAC,gBAAgB,CAAC,4CAiDrC,CAAC"}
package/Select/Select.js CHANGED
@@ -1,90 +1,94 @@
1
- import { jsxs as u, jsx as r, Fragment as g } from "react/jsx-runtime";
2
- import { createElement as m } from "react";
3
- import { Button as h } from "../Button/Button.js";
4
- import "../Button/buttonVariants.js";
5
- import { SelectRoot as x, SelectContent as v, SelectTrigger as y, SelectValue as S, SelectItem as b } from "./SelectRoot.js";
6
- import { cn as C } from "@oneplatformdev/utils";
7
- const N = (e) => {
8
- const { placeholder: n, renderTrigger: t, slotProps: l } = e, o = /* @__PURE__ */ r(y, { ...l?.triggerProps || {}, children: /* @__PURE__ */ r(S, { placeholder: n }) });
9
- return t && typeof t == "function" ? t(e, o) : o;
10
- }, a = (e) => {
11
- const { children: n, child: t, option: l, deep: o = 0, className: c, style: i = {} } = e;
1
+ import { jsxs as u, jsx as o, Fragment as y } from "react/jsx-runtime";
2
+ import { useMemo as S, createElement as p } from "react";
3
+ import { cn as v } from "@oneplatformdev/utils";
4
+ import { SelectRoot as b, SelectContent as C, SelectTrigger as O, SelectValue as N, SelectItem as P } from "./SelectRoot.js";
5
+ import { Button as R } from "../Button/Button.js";
6
+ const k = (e) => {
7
+ const { placeholder: n, renderTrigger: t, slotProps: l } = e, r = /* @__PURE__ */ o(O, { ...l?.triggerProps || {}, children: /* @__PURE__ */ o(N, { placeholder: n }) });
8
+ return t && typeof t == "function" ? t(e, r) : r;
9
+ }, s = (e) => {
10
+ const { children: n, child: t, option: l, deep: r = 0, className: c, style: a = {} } = e;
12
11
  return /* @__PURE__ */ u(
13
- b,
12
+ P,
14
13
  {
15
14
  value: l.value ?? "",
16
15
  disabled: l.disabled,
17
- className: C("cursor-pointer", c),
18
- style: { paddingLeft: `calc(8px + ${(o || 0) * 8}px)`, ...i || {} },
16
+ className: v("cursor-pointer", c),
17
+ style: { paddingLeft: `calc(8px + ${(r || 0) * 8}px)`, ...a || {} },
19
18
  children: [
20
19
  n,
21
20
  !t && l.label,
22
- t && /* @__PURE__ */ r(g, { children: typeof t == "function" ? t({ ...e }) : t })
21
+ t && /* @__PURE__ */ o(y, { children: typeof t == "function" ? t({ ...e }) : t })
23
22
  ]
24
23
  },
25
24
  l.value
26
25
  );
27
- }, p = (e) => {
28
- const { renderOption: n, option: t, index: l, options: o, deep: c = 0, ...i } = e;
29
- return n ? n && typeof n != "function" ? /* @__PURE__ */ r(a, { ...e }) : n && typeof n == "function" ? n(
26
+ }, g = (e) => {
27
+ const { renderOption: n, option: t, index: l, options: r, deep: c = 0, ...a } = e;
28
+ return n ? n && typeof n != "function" ? /* @__PURE__ */ o(s, { ...e }) : n && typeof n == "function" ? n(
30
29
  t,
31
30
  l,
32
- o,
33
- { ...i, options: o },
34
- /* @__PURE__ */ r(a, { ...e })
31
+ r,
32
+ { ...a, options: r },
33
+ /* @__PURE__ */ o(s, { ...e })
35
34
  ) : t.children?.length ? /* @__PURE__ */ u(
36
35
  "div",
37
36
  {
38
37
  className: "flex flex-col gap-1 truncate line-clamp-2",
39
38
  children: [
40
- /* @__PURE__ */ r(a, { ...e }),
41
- t.children?.map((d, s, f) => /* @__PURE__ */ m(
42
- p,
39
+ /* @__PURE__ */ o(s, { ...e }),
40
+ t.children?.map((d, f, m) => /* @__PURE__ */ p(
41
+ g,
43
42
  {
44
43
  ...e,
45
44
  key: d.value,
46
45
  option: d,
47
- options: f,
48
- index: s,
46
+ options: m,
47
+ index: f,
49
48
  deep: (c || 0) + 1
50
49
  }
51
50
  ))
52
51
  ]
53
52
  },
54
53
  t.value
55
- ) : /* @__PURE__ */ r(a, { ...e }) : /* @__PURE__ */ r(a, { ...e });
56
- }, B = (e) => {
54
+ ) : /* @__PURE__ */ o(s, { ...e }) : /* @__PURE__ */ o(s, { ...e });
55
+ }, w = (e) => {
57
56
  const {
58
57
  value: n,
59
- options: t,
60
- onChange: l,
61
- nullable: o = !1,
62
- clearLabel: c = "Clear",
63
- disabled: i,
64
- slotProps: d
65
- } = e;
66
- return /* @__PURE__ */ u(x, { value: n, onValueChange: l, disabled: i, children: [
67
- /* @__PURE__ */ r(N, { ...e }),
68
- /* @__PURE__ */ u(v, { ...d?.selectProps || {}, children: [
69
- o && /* @__PURE__ */ r(
70
- h,
58
+ options: t = [],
59
+ filterOption: l,
60
+ filterOptions: r,
61
+ onChange: c,
62
+ nullable: a = !1,
63
+ clearLabel: d = "Clear",
64
+ disabled: f,
65
+ slotProps: m
66
+ } = e, h = S(() => {
67
+ let i = t;
68
+ return l && (i = i.filter(l)), r && (i = r(i)), i;
69
+ }, [t, r]);
70
+ return /* @__PURE__ */ u(b, { value: n, onValueChange: c, disabled: f, children: [
71
+ /* @__PURE__ */ o(k, { ...e }),
72
+ /* @__PURE__ */ u(C, { ...m?.selectProps || {}, children: [
73
+ a && /* @__PURE__ */ o(
74
+ R,
71
75
  {
72
76
  className: "w-full px-2",
73
- variant: "secondary",
77
+ color: "secondary",
74
78
  size: "sm",
75
79
  onClick: () => {
76
- l?.("");
80
+ c?.("");
77
81
  },
78
- children: c
82
+ children: d
79
83
  }
80
84
  ),
81
- t.map((s, f) => /* @__PURE__ */ m(
82
- p,
85
+ h.map((i, x) => /* @__PURE__ */ p(
86
+ g,
83
87
  {
84
88
  ...e,
85
- key: s.value,
86
- option: s,
87
- index: f,
89
+ key: i.value,
90
+ option: i,
91
+ index: x,
88
92
  deep: 0
89
93
  }
90
94
  ))
@@ -92,6 +96,6 @@ const N = (e) => {
92
96
  ] });
93
97
  };
94
98
  export {
95
- B as Select
99
+ w as Select
96
100
  };
97
101
  //# sourceMappingURL=Select.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Select.js","sources":["../../src/Select/Select.tsx"],"sourcesContent":["import { HTMLAttributes, ReactNode } from 'react';\n\nimport { Button } from '../Button';\nimport {\n SelectContent,\n SelectItem,\n SelectOption,\n SelectProps,\n SelectRoot,\n SelectTrigger,\n SelectValue,\n} from '../Select';\nimport { cn } from '@oneplatformdev/utils';\n\nconst RenderSelectTrigger = <ExtendOptionData,>(\n props: SelectProps<ExtendOptionData>\n) => {\n const { placeholder, renderTrigger, slotProps } = props;\n const defaultComponent = (\n <SelectTrigger {...(slotProps?.triggerProps || {})}>\n <SelectValue placeholder={placeholder} />\n </SelectTrigger>\n );\n\n if (Boolean(renderTrigger) && typeof renderTrigger === 'function') {\n return renderTrigger(props, defaultComponent);\n }\n\n return defaultComponent;\n};\n\nconst DefaultRenderSelectOption = <ExtendOptionData,>(\n props: SelectProps<ExtendOptionData> & {\n option: SelectOption<ExtendOptionData>;\n index: number;\n deep?: number;\n child?: ((params: SelectProps<ExtendOptionData> & {\n option: SelectOption<ExtendOptionData>;\n index: number;\n }) => ReactNode) | ReactNode;\n } & Omit<HTMLAttributes<HTMLDivElement>, 'onChange'>\n) => {\n const { children, child, option, deep = 0, className, style = {} } = props;\n\n return (\n <SelectItem\n key={option.value}\n value={option.value ?? ''}\n disabled={option.disabled}\n className={cn('cursor-pointer', className)}\n style={{ paddingLeft: `calc(8px + ${(deep || 0) * 8}px)`, ...(style || {}) }}\n >\n {children}\n {!child && option.label}\n {child && (\n <>\n {typeof child === 'function'\n ? child({ ...props })\n : child\n }\n </>\n )}\n </SelectItem>\n )\n};\n\nconst RenderSelectOption = <ExtendOptionData,>(\n props: SelectProps<ExtendOptionData> & {\n option: SelectOption<ExtendOptionData>;\n index: number;\n deep?: number;\n }\n) => {\n const { renderOption, option, index, options, deep = 0, ...rest } = props;\n if(!renderOption) return <DefaultRenderSelectOption {...props} />;\n if(renderOption && typeof renderOption !== 'function') return <DefaultRenderSelectOption {...props} />;\n if(renderOption && typeof renderOption === 'function') return renderOption(\n option,\n index,\n options,\n { ...rest, options },\n <DefaultRenderSelectOption {...props} />\n )\n\n if(!option.children?.length) {\n return <DefaultRenderSelectOption {...props} />;\n }\n\n return (\n <div\n key={option.value}\n className=\"flex flex-col gap-1 truncate line-clamp-2\"\n >\n <DefaultRenderSelectOption {...props} />\n {option.children?.map((child, idx, arr) => (\n <RenderSelectOption\n {...props}\n key={child.value}\n option={child}\n options={arr}\n index={idx}\n deep={(deep || 0) + 1}\n />\n ))}\n </div>\n )\n};\n\n// TODO: add description\nexport const Select = <ExtendOptionData,>(\n props: SelectProps<ExtendOptionData>\n) => {\n const {\n value,\n options,\n onChange,\n nullable = false,\n clearLabel = 'Clear',\n disabled,\n slotProps,\n } = props;\n\n return (\n <SelectRoot value={value} onValueChange={onChange} disabled={disabled}>\n <RenderSelectTrigger {...props} />\n <SelectContent {...(slotProps?.selectProps || {})}>\n {nullable && (\n <Button\n className=\"w-full px-2\"\n variant=\"secondary\"\n size=\"sm\"\n onClick={() => {\n onChange?.('');\n }}\n >\n {clearLabel}\n </Button>\n )}\n {options.map((option, index) => (\n <RenderSelectOption\n {...props}\n key={option.value}\n option={option}\n index={index}\n deep={0}\n />\n ))}\n </SelectContent>\n </SelectRoot>\n );\n};\n"],"names":["RenderSelectTrigger","props","placeholder","renderTrigger","slotProps","defaultComponent","jsx","SelectTrigger","SelectValue","DefaultRenderSelectOption","children","child","option","deep","className","style","jsxs","SelectItem","cn","Fragment","RenderSelectOption","renderOption","index","options","rest","idx","arr","createElement","Select","value","onChange","nullable","clearLabel","disabled","SelectRoot","SelectContent","Button"],"mappings":"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"}
1
+ {"version":3,"file":"Select.js","sources":["../../src/Select/Select.tsx"],"sourcesContent":["import { HTMLAttributes, ReactNode, useMemo } from 'react';\r\n\r\nimport { Button } from '../Button';\r\nimport {\r\n SelectContent,\r\n SelectItem,\r\n SelectOption,\r\n SelectProps,\r\n SelectRoot,\r\n SelectTrigger,\r\n SelectValue,\r\n} from '../Select';\r\nimport { cn } from '@oneplatformdev/utils';\r\n\r\nconst RenderSelectTrigger = <ExtendOptionData, >(\r\n props: SelectProps<ExtendOptionData>\r\n) => {\r\n const { placeholder, renderTrigger, slotProps } = props;\r\n const defaultComponent = (\r\n <SelectTrigger {...(slotProps?.triggerProps || {})}>\r\n <SelectValue placeholder={placeholder}/>\r\n </SelectTrigger>\r\n );\r\n\r\n if (Boolean(renderTrigger) && typeof renderTrigger === 'function') {\r\n return renderTrigger(props, defaultComponent);\r\n }\r\n\r\n return defaultComponent;\r\n};\r\n\r\nconst DefaultRenderSelectOption = <ExtendOptionData, >(\r\n props: SelectProps<ExtendOptionData> & {\r\n option: SelectOption<ExtendOptionData>;\r\n index: number;\r\n deep?: number;\r\n child?: ((params: SelectProps<ExtendOptionData> & {\r\n option: SelectOption<ExtendOptionData>;\r\n index: number;\r\n }) => ReactNode) | ReactNode;\r\n } & Omit<HTMLAttributes<HTMLDivElement>, 'onChange'>\r\n) => {\r\n const { children, child, option, deep = 0, className, style = {} } = props;\r\n\r\n return (\r\n <SelectItem\r\n key={option.value}\r\n value={option.value ?? ''}\r\n disabled={option.disabled}\r\n className={cn('cursor-pointer', className)}\r\n style={{ paddingLeft: `calc(8px + ${(deep || 0) * 8}px)`, ...(style || {}) }}\r\n >\r\n {children}\r\n {!child && option.label}\r\n {child && (\r\n <>\r\n {typeof child === 'function'\r\n ? child({ ...props })\r\n : child\r\n }\r\n </>\r\n )}\r\n </SelectItem>\r\n )\r\n};\r\n\r\nconst RenderSelectOption = <ExtendOptionData, >(\r\n props: SelectProps<ExtendOptionData> & {\r\n option: SelectOption<ExtendOptionData>;\r\n index: number;\r\n deep?: number;\r\n }\r\n) => {\r\n const { renderOption, option, index, options, deep = 0, ...rest } = props;\r\n if (!renderOption) return <DefaultRenderSelectOption {...props} />;\r\n if (renderOption && typeof renderOption !== 'function') return <DefaultRenderSelectOption {...props} />;\r\n if (renderOption && typeof renderOption === 'function') return renderOption(\r\n option,\r\n index,\r\n options,\r\n { ...rest, options },\r\n <DefaultRenderSelectOption {...props} />\r\n )\r\n\r\n if (!option.children?.length) {\r\n return <DefaultRenderSelectOption {...props} />;\r\n }\r\n\r\n return (\r\n <div\r\n key={option.value}\r\n className=\"flex flex-col gap-1 truncate line-clamp-2\"\r\n >\r\n <DefaultRenderSelectOption {...props} />\r\n {option.children?.map((child, idx, arr) => (\r\n <RenderSelectOption\r\n {...props}\r\n key={child.value}\r\n option={child}\r\n options={arr}\r\n index={idx}\r\n deep={(deep || 0) + 1}\r\n />\r\n ))}\r\n </div>\r\n )\r\n};\r\n\r\n// TODO: add description\r\nexport const Select = <ExtendOptionData, >(\r\n props: SelectProps<ExtendOptionData>\r\n) => {\r\n const {\r\n value,\r\n options: initialOptions = [],\r\n filterOption,\r\n filterOptions,\r\n onChange,\r\n nullable = false,\r\n clearLabel = 'Clear',\r\n disabled,\r\n slotProps,\r\n } = props;\r\n\r\n const options = useMemo(() => {\r\n let opt = initialOptions;\r\n if(filterOption) opt = opt.filter(filterOption);\r\n if(filterOptions) opt = filterOptions(opt);\r\n return opt;\r\n }, [ initialOptions, filterOptions ]);\r\n\r\n return (\r\n <SelectRoot value={value} onValueChange={onChange} disabled={disabled}>\r\n <RenderSelectTrigger {...props} />\r\n <SelectContent {...(slotProps?.selectProps || {})}>\r\n {nullable && (\r\n <Button\r\n className=\"w-full px-2\"\r\n color=\"secondary\"\r\n size=\"sm\"\r\n onClick={() => {\r\n onChange?.('');\r\n }}\r\n >\r\n {clearLabel}\r\n </Button>\r\n )}\r\n {options.map((option, index) => (\r\n <RenderSelectOption\r\n {...props}\r\n key={option.value}\r\n option={option}\r\n index={index}\r\n deep={0}\r\n />\r\n ))}\r\n </SelectContent>\r\n </SelectRoot>\r\n );\r\n};\r\n"],"names":["RenderSelectTrigger","props","placeholder","renderTrigger","slotProps","defaultComponent","jsx","SelectTrigger","SelectValue","DefaultRenderSelectOption","children","child","option","deep","className","style","jsxs","SelectItem","cn","Fragment","RenderSelectOption","renderOption","index","options","rest","idx","arr","createElement","Select","value","initialOptions","filterOption","filterOptions","onChange","nullable","clearLabel","disabled","useMemo","opt","SelectRoot","SelectContent","Button"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Select.stories.js","sources":["../../src/Select/Select.stories.tsx"],"sourcesContent":["import type { Meta, StoryObj } from '@storybook/react';\nimport { Select } from './Select';\n\nconst meta: Meta<typeof Select> = {\n title: 'Select',\n component: Select,\n argTypes: {\n value: { control: 'text' },\n options: { control: 'object' },\n onChange: { action: 'changed' },\n nullable: { control: 'boolean' },\n clearLabel: { control: 'text' },\n disabled: { control: 'boolean' },\n },\n args: {\n value: '',\n options: [\n { value: 'option-0', label: 'Option 0' },\n { value: 'option-1', label: 'Option 1' },\n { value: 'option-2', label: 'Option 2' },\n { value: 'option-3', label: 'Option 3' },\n { value: 'option-4', label: 'Option 4' },\n ],\n placeholder: 'Select placeholder text',\n nullable: false,\n clearLabel: 'Clear button label text',\n disabled: false,\n }\n};\n\nexport default meta;\n\ntype Story = StoryObj<typeof meta>;\n\nexport const Default: Story = {\n args: {\n value: '',\n nullable: false,\n clearLabel: 'Clear',\n disabled: false,\n onChange: (v) => {\n console.log(v)\n },\n },\n};\n"],"names":["meta","Select","Default","v"],"mappings":";AAGA,MAAMA,IAA4B;AAAA,EAChC,OAAO;AAAA,EACP,WAAWC;AAAA,EACX,UAAU;AAAA,IACR,OAAO,EAAE,SAAS,OAAA;AAAA,IAClB,SAAS,EAAE,SAAS,SAAA;AAAA,IACpB,UAAU,EAAE,QAAQ,UAAA;AAAA,IACpB,UAAU,EAAE,SAAS,UAAA;AAAA,IACrB,YAAY,EAAE,SAAS,OAAA;AAAA,IACvB,UAAU,EAAE,SAAS,UAAA;AAAA,EAAU;AAAA,EAEjC,MAAM;AAAA,IACJ,OAAO;AAAA,IACP,SAAS;AAAA,MACP,EAAE,OAAO,YAAY,OAAO,WAAA;AAAA,MAC5B,EAAE,OAAO,YAAY,OAAO,WAAA;AAAA,MAC5B,EAAE,OAAO,YAAY,OAAO,WAAA;AAAA,MAC5B,EAAE,OAAO,YAAY,OAAO,WAAA;AAAA,MAC5B,EAAE,OAAO,YAAY,OAAO,WAAA;AAAA,IAAW;AAAA,IAEzC,aAAa;AAAA,IACb,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,UAAU;AAAA,EAAA;AAEd,GAMaC,IAAiB;AAAA,EAC5B,MAAM;AAAA,IACJ,OAAO;AAAA,IACP,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,UAAU,CAACC,MAAM;AACf,cAAQ,IAAIA,CAAC;AAAA,IACf;AAAA,EAAA;AAEJ;"}
1
+ {"version":3,"file":"Select.stories.js","sources":["../../src/Select/Select.stories.tsx"],"sourcesContent":["import type { Meta, StoryObj } from '@storybook/react';\r\nimport { Select } from './Select';\r\n\r\nconst meta: Meta<typeof Select> = {\r\n title: 'Select',\r\n component: Select,\r\n argTypes: {\r\n value: { control: 'text' },\r\n options: { control: 'object' },\r\n onChange: { action: 'changed' },\r\n nullable: { control: 'boolean' },\r\n clearLabel: { control: 'text' },\r\n disabled: { control: 'boolean' },\r\n },\r\n args: {\r\n value: '',\r\n options: [\r\n { value: 'option-0', label: 'Option 0' },\r\n { value: 'option-1', label: 'Option 1' },\r\n { value: 'option-2', label: 'Option 2' },\r\n { value: 'option-3', label: 'Option 3' },\r\n { value: 'option-4', label: 'Option 4' },\r\n ],\r\n placeholder: 'Select placeholder text',\r\n nullable: false,\r\n clearLabel: 'Clear button label text',\r\n disabled: false,\r\n }\r\n};\r\n\r\nexport default meta;\r\n\r\ntype Story = StoryObj<typeof meta>;\r\n\r\nexport const Default: Story = {\r\n args: {\r\n value: '',\r\n nullable: false,\r\n clearLabel: 'Clear',\r\n disabled: false,\r\n onChange: (v) => {\r\n console.log(v)\r\n },\r\n },\r\n};\r\n"],"names":["meta","Select","Default","v"],"mappings":";AAGA,MAAMA,IAA4B;AAAA,EAChC,OAAO;AAAA,EACP,WAAWC;AAAA,EACX,UAAU;AAAA,IACR,OAAO,EAAE,SAAS,OAAA;AAAA,IAClB,SAAS,EAAE,SAAS,SAAA;AAAA,IACpB,UAAU,EAAE,QAAQ,UAAA;AAAA,IACpB,UAAU,EAAE,SAAS,UAAA;AAAA,IACrB,YAAY,EAAE,SAAS,OAAA;AAAA,IACvB,UAAU,EAAE,SAAS,UAAA;AAAA,EAAU;AAAA,EAEjC,MAAM;AAAA,IACJ,OAAO;AAAA,IACP,SAAS;AAAA,MACP,EAAE,OAAO,YAAY,OAAO,WAAA;AAAA,MAC5B,EAAE,OAAO,YAAY,OAAO,WAAA;AAAA,MAC5B,EAAE,OAAO,YAAY,OAAO,WAAA;AAAA,MAC5B,EAAE,OAAO,YAAY,OAAO,WAAA;AAAA,MAC5B,EAAE,OAAO,YAAY,OAAO,WAAA;AAAA,IAAW;AAAA,IAEzC,aAAa;AAAA,IACb,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,UAAU;AAAA,EAAA;AAEd,GAMaC,IAAiB;AAAA,EAC5B,MAAM;AAAA,IACJ,OAAO;AAAA,IACP,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,UAAU,CAACC,MAAM;AACf,cAAQ,IAAIA,CAAC;AAAA,IACf;AAAA,EAAA;AAEJ;"}
@@ -13,6 +13,10 @@ export type SelectRenderOption<ExtendOptionData> = (option: SelectOption<ExtendO
13
13
  export interface SelectProps<ExtendOptionData> {
14
14
  /** Render options. */
15
15
  options: SelectOption<ExtendOptionData>[];
16
+ /** Filter options handler */
17
+ filterOptions?: (options: SelectOption<ExtendOptionData>[]) => SelectOption<ExtendOptionData>[];
18
+ /** Filter option handler */
19
+ filterOption?: (option: SelectOption<ExtendOptionData>, index: number, options: SelectOption<ExtendOptionData>[]) => boolean;
16
20
  /** Current value. */
17
21
  value?: SelectOption<ExtendOptionData>['value'];
18
22
  /** Select placeholder string. */
@@ -1 +1 @@
1
- {"version":3,"file":"Select.types.d.ts","sourceRoot":"","sources":["../../src/Select/Select.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC1E,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,MAAM,WAAW,YAAY,CAAC,gBAAgB,GAAG,OAAO;IACtD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,QAAQ,CAAC,EAAE,YAAY,CAAC,gBAAgB,CAAC,EAAE,CAAC;CAC7C;AAED,MAAM,MAAM,mBAAmB,CAAC,gBAAgB,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAE,eAAe,CAAC,EAAE,gBAAgB,EAAE,SAAS,KAAK,SAAS,CAAC;AAE5J,MAAM,MAAM,kBAAkB,CAAC,gBAAgB,IAAI,CACjD,MAAM,EAAE,YAAY,CAAC,gBAAgB,CAAC,EACtC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,YAAY,CAAC,gBAAgB,CAAC,EAAE,EACzC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAE,cAAc,CAAC,EAC1D,gBAAgB,EAAE,SAAS,KACxB,YAAY,CAAC;AAElB,MAAM,WAAW,WAAW,CAAC,gBAAgB;IAC3C,sBAAsB;IACtB,OAAO,EAAE,YAAY,CAAC,gBAAgB,CAAC,EAAE,CAAC;IAC1C,qBAAqB;IACrB,KAAK,CAAC,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,CAAC;IAChD,iCAAiC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yCAAyC;IACzC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;IACpE,qCAAqC;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qCAAqC;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iCAAiC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6BAA6B;IAC7B,aAAa,CAAC,EAAE,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;IACtD,4BAA4B;IAC5B,YAAY,CAAC,EAAE,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;IACpD,wBAAwB;IACxB,SAAS,CAAC,EAAE;QACV,mCAAmC;QACnC,YAAY,CAAC,EAAE,wBAAwB,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,CAAC;QACxE,2BAA2B;QAC3B,WAAW,CAAC,EAAE,wBAAwB,CAAC,OAAO,aAAa,CAAC,CAAC;KAC9D,CAAC;CACH"}
1
+ {"version":3,"file":"Select.types.d.ts","sourceRoot":"","sources":["../../src/Select/Select.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC1E,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,MAAM,WAAW,YAAY,CAAC,gBAAgB,GAAG,OAAO;IACtD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,QAAQ,CAAC,EAAE,YAAY,CAAC,gBAAgB,CAAC,EAAE,CAAC;CAC7C;AAED,MAAM,MAAM,mBAAmB,CAAC,gBAAgB,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAE,eAAe,CAAC,EAAE,gBAAgB,EAAE,SAAS,KAAK,SAAS,CAAC;AAE5J,MAAM,MAAM,kBAAkB,CAAC,gBAAgB,IAAI,CACjD,MAAM,EAAE,YAAY,CAAC,gBAAgB,CAAC,EACtC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,YAAY,CAAC,gBAAgB,CAAC,EAAE,EACzC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAE,cAAc,CAAC,EAC1D,gBAAgB,EAAE,SAAS,KACxB,YAAY,CAAC;AAElB,MAAM,WAAW,WAAW,CAAC,gBAAgB;IAC3C,sBAAsB;IACtB,OAAO,EAAE,YAAY,CAAC,gBAAgB,CAAC,EAAE,CAAC;IAC1C,6BAA6B;IAC7B,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,CAAC,gBAAgB,CAAC,EAAE,KAAK,YAAY,CAAC,gBAAgB,CAAC,EAAE,CAAC;IAChG,4BAA4B;IAC5B,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC,gBAAgB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC,gBAAgB,CAAC,EAAE,KAAK,OAAO,CAAC;IAC7H,qBAAqB;IACrB,KAAK,CAAC,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,CAAC;IAChD,iCAAiC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yCAAyC;IACzC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;IACpE,qCAAqC;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qCAAqC;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iCAAiC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6BAA6B;IAC7B,aAAa,CAAC,EAAE,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;IACtD,4BAA4B;IAC5B,YAAY,CAAC,EAAE,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;IACpD,wBAAwB;IACxB,SAAS,CAAC,EAAE;QACV,mCAAmC;QACnC,YAAY,CAAC,EAAE,wBAAwB,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,CAAC;QACxE,2BAA2B;QAC3B,WAAW,CAAC,EAAE,wBAAwB,CAAC,OAAO,aAAa,CAAC,CAAC;KAC9D,CAAC;CACH"}
@@ -31,7 +31,7 @@ function y(e) {
31
31
  "data-slot": "select-trigger",
32
32
  "data-size": o,
33
33
  className: s(
34
- "flex w-inherit items-center justify-between gap-2 rounded-md bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs",
34
+ "flex w-inherit items-center justify-between gap-2 rounded-lg bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs",
35
35
  "border border-input outline-none",
36
36
  "data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 transition-[color,box-shadow] focus-visible:ring-[3px] *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
37
37
  "cursor-pointer",
@@ -1 +1 @@
1
- {"version":3,"file":"SelectRoot.js","sources":["../../src/Select/SelectRoot.tsx"],"sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport * as SelectPrimitive from \"@radix-ui/react-select\"\nimport { CheckIcon, ChevronDownIcon, ChevronUpIcon } from \"lucide-react\"\n\nimport { cn } from \"@oneplatformdev/utils\"\n\nfunction SelectRoot({\n ...props\n }: React.ComponentProps<typeof SelectPrimitive.Root>) {\n return <SelectPrimitive.Root data-slot=\"select\" {...props} />\n}\n\nfunction SelectGroup({\n ...props\n }: React.ComponentProps<typeof SelectPrimitive.Group>) {\n return <SelectPrimitive.Group data-slot=\"select-group\" {...props} />\n}\n\nfunction SelectValue({\n ...props\n }: React.ComponentProps<typeof SelectPrimitive.Value>) {\n return <SelectPrimitive.Value data-slot=\"select-value\" {...props} />\n}\n\nfunction SelectTrigger(props: React.ComponentProps<typeof SelectPrimitive.Trigger> & {\n size?: \"sm\" | \"default\";\n showIcon?: boolean;\n}) {\n const {\n className,\n size = \"default\",\n children,\n showIcon = true,\n ...rest\n } = props\n return (\n <SelectPrimitive.Trigger\n data-slot=\"select-trigger\"\n data-size={size}\n className={cn(\n 'flex w-inherit items-center justify-between gap-2 rounded-md bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs',\n 'border border-input outline-none',\n \"data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 transition-[color,box-shadow] focus-visible:ring-[3px] *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n 'cursor-pointer',\n 'disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-10 data-[size=sm]:h-8',\n className\n )}\n {...rest}\n >\n {children}\n {showIcon && (\n <SelectPrimitive.Icon asChild>\n <ChevronDownIcon className=\"size-4 opacity-50\" />\n </SelectPrimitive.Icon>\n )}\n </SelectPrimitive.Trigger>\n )\n}\n\nfunction SelectContent({\n className,\n children,\n position = \"popper\",\n align = \"center\",\n ...props\n }: React.ComponentProps<typeof SelectPrimitive.Content>) {\n return (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n data-slot=\"select-content\"\n className={cn(\n \"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 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 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md\",\n position === \"popper\" &&\n \"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1\",\n 'p-1 rounded-xl shadow-md',\n className\n )}\n position={position}\n align={align}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n className={cn(\n \"p-1\",\n position === \"popper\" &&\n \"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1\"\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n )\n}\n\nfunction SelectLabel({\n className,\n ...props\n }: React.ComponentProps<typeof SelectPrimitive.Label>) {\n return (\n <SelectPrimitive.Label\n data-slot=\"select-label\"\n className={cn(\"text-muted-foreground px-2 py-1.5 text-xs\", className)}\n {...props}\n />\n )\n}\n\nfunction SelectItem({\n className,\n children,\n ...props\n }: React.ComponentProps<typeof SelectPrimitive.Item>) {\n return (\n <SelectPrimitive.Item\n data-slot=\"select-item\"\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-lg py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2\",\n className\n )}\n {...props}\n >\n <span className=\"absolute right-2 flex size-3.5 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <CheckIcon className=\"size-4\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n )\n}\n\nfunction SelectSeparator({\n className,\n ...props\n }: React.ComponentProps<typeof SelectPrimitive.Separator>) {\n return (\n <SelectPrimitive.Separator\n data-slot=\"select-separator\"\n className={cn(\"bg-border pointer-events-none -mx-1 my-1 h-px\", className)}\n {...props}\n />\n )\n}\n\nfunction SelectScrollUpButton({\n className,\n ...props\n }: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>) {\n return (\n <SelectPrimitive.ScrollUpButton\n data-slot=\"select-scroll-up-button\"\n className={cn(\n \"flex cursor-default items-center justify-center py-1\",\n className\n )}\n {...props}\n >\n <ChevronUpIcon className=\"size-4\" />\n </SelectPrimitive.ScrollUpButton>\n )\n}\n\nfunction SelectScrollDownButton({\n className,\n ...props\n }: React.ComponentProps<typeof SelectPrimitive.ScrollDownButton>) {\n return (\n <SelectPrimitive.ScrollDownButton\n data-slot=\"select-scroll-down-button\"\n className={cn(\n \"flex cursor-default items-center justify-center py-1\",\n className\n )}\n {...props}\n >\n <ChevronDownIcon className=\"size-4\" />\n </SelectPrimitive.ScrollDownButton>\n )\n}\n\nexport {\n SelectRoot,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectLabel,\n SelectScrollDownButton,\n SelectScrollUpButton,\n SelectSeparator,\n SelectTrigger,\n SelectValue,\n SelectPrimitive,\n}\n"],"names":["SelectRoot","props","SelectPrimitive","SelectGroup","SelectValue","SelectTrigger","className","size","children","showIcon","rest","jsxs","cn","jsx","ChevronDownIcon","SelectContent","position","align","SelectScrollUpButton","SelectScrollDownButton","SelectLabel","SelectItem","CheckIcon","SelectSeparator","ChevronUpIcon"],"mappings":";;;;AAQA,SAASA,EAAW;AAAA,EACF,GAAGC;AACL,GAAsD;AACpE,2BAAQC,EAAgB,MAAhB,EAAqB,aAAU,UAAU,GAAGD,GAAO;AAC7D;AAEA,SAASE,EAAY;AAAA,EACE,GAAGF;AACL,GAAuD;AAC1E,2BAAQC,EAAgB,OAAhB,EAAsB,aAAU,gBAAgB,GAAGD,GAAO;AACpE;AAEA,SAASG,EAAY;AAAA,EACE,GAAGH;AACL,GAAuD;AAC1E,2BAAQC,EAAgB,OAAhB,EAAsB,aAAU,gBAAgB,GAAGD,GAAO;AACpE;AAEA,SAASI,EAAcJ,GAGpB;AACD,QAAM;AAAA,IACJ,WAAAK;AAAA,IACA,MAAAC,IAAO;AAAA,IACP,UAAAC;AAAA,IACA,UAAAC,IAAW;AAAA,IACX,GAAGC;AAAA,EAAA,IACDT;AACJ,SACE,gBAAAU;AAAA,IAACT,EAAgB;AAAA,IAAhB;AAAA,MACC,aAAU;AAAA,MACV,aAAWK;AAAA,MACX,WAAWK;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACAN;AAAA,MAAA;AAAA,MAED,GAAGI;AAAA,MAEH,UAAA;AAAA,QAAAF;AAAA,QACAC,KACC,gBAAAI,EAACX,EAAgB,MAAhB,EAAqB,SAAO,IAC3B,UAAA,gBAAAW,EAACC,GAAA,EAAgB,WAAU,oBAAA,CAAoB,EAAA,CACjD;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAIR;AAEA,SAASC,EAAc;AAAA,EACE,WAAAT;AAAA,EACA,UAAAE;AAAA,EACA,UAAAQ,IAAW;AAAA,EACX,OAAAC,IAAQ;AAAA,EACR,GAAGhB;AACL,GAAyD;AAC9E,SACE,gBAAAY,EAACX,EAAgB,QAAhB,EACC,UAAA,gBAAAS;AAAA,IAACT,EAAgB;AAAA,IAAhB;AAAA,MACC,aAAU;AAAA,MACV,WAAWU;AAAA,QACT;AAAA,QACAI,MAAa,YACb;AAAA,QACA;AAAA,QACAV;AAAA,MAAA;AAAA,MAEF,UAAAU;AAAA,MACA,OAAAC;AAAA,MACC,GAAGhB;AAAA,MAEJ,UAAA;AAAA,QAAA,gBAAAY,EAACK,GAAA,EAAqB;AAAA,QACtB,gBAAAL;AAAA,UAACX,EAAgB;AAAA,UAAhB;AAAA,YACC,WAAWU;AAAA,cACT;AAAA,cACAI,MAAa,YACb;AAAA,YAAA;AAAA,YAGD,UAAAR;AAAA,UAAA;AAAA,QAAA;AAAA,0BAEFW,GAAA,CAAA,CAAuB;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA,GAE5B;AAEJ;AAEA,SAASC,EAAY;AAAA,EACE,WAAAd;AAAA,EACA,GAAGL;AACL,GAAuD;AAC1E,SACE,gBAAAY;AAAA,IAACX,EAAgB;AAAA,IAAhB;AAAA,MACC,aAAU;AAAA,MACV,WAAWU,EAAG,6CAA6CN,CAAS;AAAA,MACnE,GAAGL;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASoB,EAAW;AAAA,EACE,WAAAf;AAAA,EACA,UAAAE;AAAA,EACA,GAAGP;AACL,GAAsD;AACxE,SACE,gBAAAU;AAAA,IAACT,EAAgB;AAAA,IAAhB;AAAA,MACC,aAAU;AAAA,MACV,WAAWU;AAAA,QACT;AAAA,QACAN;AAAA,MAAA;AAAA,MAED,GAAGL;AAAA,MAEJ,UAAA;AAAA,QAAA,gBAAAY,EAAC,QAAA,EAAK,WAAU,8DACd,UAAA,gBAAAA,EAACX,EAAgB,eAAhB,EACC,UAAA,gBAAAW,EAACS,GAAA,EAAU,WAAU,SAAA,CAAS,EAAA,CAChC,GACF;AAAA,QACA,gBAAAT,EAACX,EAAgB,UAAhB,EAA0B,UAAAM,EAAA,CAAS;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAG1C;AAEA,SAASe,EAAgB;AAAA,EACE,WAAAjB;AAAA,EACA,GAAGL;AACL,GAA2D;AAClF,SACE,gBAAAY;AAAA,IAACX,EAAgB;AAAA,IAAhB;AAAA,MACC,aAAU;AAAA,MACV,WAAWU,EAAG,iDAAiDN,CAAS;AAAA,MACvE,GAAGL;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASiB,EAAqB;AAAA,EACE,WAAAZ;AAAA,EACA,GAAGL;AACL,GAAgE;AAC5F,SACE,gBAAAY;AAAA,IAACX,EAAgB;AAAA,IAAhB;AAAA,MACC,aAAU;AAAA,MACV,WAAWU;AAAA,QACT;AAAA,QACAN;AAAA,MAAA;AAAA,MAED,GAAGL;AAAA,MAEJ,UAAA,gBAAAY,EAACW,GAAA,EAAc,WAAU,SAAA,CAAS;AAAA,IAAA;AAAA,EAAA;AAGxC;AAEA,SAASL,EAAuB;AAAA,EACE,WAAAb;AAAA,EACA,GAAGL;AACL,GAAkE;AAChG,SACE,gBAAAY;AAAA,IAACX,EAAgB;AAAA,IAAhB;AAAA,MACC,aAAU;AAAA,MACV,WAAWU;AAAA,QACT;AAAA,QACAN;AAAA,MAAA;AAAA,MAED,GAAGL;AAAA,MAEJ,UAAA,gBAAAY,EAACC,GAAA,EAAgB,WAAU,SAAA,CAAS;AAAA,IAAA;AAAA,EAAA;AAG1C;"}
1
+ {"version":3,"file":"SelectRoot.js","sources":["../../src/Select/SelectRoot.tsx"],"sourcesContent":["\"use client\"\r\n\r\nimport * as React from \"react\"\r\nimport * as SelectPrimitive from \"@radix-ui/react-select\"\r\nimport { CheckIcon, ChevronDownIcon, ChevronUpIcon } from \"lucide-react\"\r\n\r\nimport { cn } from \"@oneplatformdev/utils\"\r\n\r\nfunction SelectRoot({\r\n ...props\r\n }: React.ComponentProps<typeof SelectPrimitive.Root>) {\r\n return <SelectPrimitive.Root data-slot=\"select\" {...props} />\r\n}\r\n\r\nfunction SelectGroup({\r\n ...props\r\n }: React.ComponentProps<typeof SelectPrimitive.Group>) {\r\n return <SelectPrimitive.Group data-slot=\"select-group\" {...props} />\r\n}\r\n\r\nfunction SelectValue({\r\n ...props\r\n }: React.ComponentProps<typeof SelectPrimitive.Value>) {\r\n return <SelectPrimitive.Value data-slot=\"select-value\" {...props} />\r\n}\r\n\r\nfunction SelectTrigger(props: React.ComponentProps<typeof SelectPrimitive.Trigger> & {\r\n size?: \"sm\" | \"default\";\r\n showIcon?: boolean;\r\n}) {\r\n const {\r\n className,\r\n size = \"default\",\r\n children,\r\n showIcon = true,\r\n ...rest\r\n } = props\r\n return (\r\n <SelectPrimitive.Trigger\r\n data-slot=\"select-trigger\"\r\n data-size={size}\r\n className={cn(\r\n 'flex w-inherit items-center justify-between gap-2 rounded-lg bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs',\r\n 'border border-input outline-none',\r\n \"data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 transition-[color,box-shadow] focus-visible:ring-[3px] *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\r\n 'cursor-pointer',\r\n 'disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-10 data-[size=sm]:h-8',\r\n className\r\n )}\r\n {...rest}\r\n >\r\n {children}\r\n {showIcon && (\r\n <SelectPrimitive.Icon asChild>\r\n <ChevronDownIcon className=\"size-4 opacity-50\" />\r\n </SelectPrimitive.Icon>\r\n )}\r\n </SelectPrimitive.Trigger>\r\n )\r\n}\r\n\r\nfunction SelectContent({\r\n className,\r\n children,\r\n position = \"popper\",\r\n align = \"center\",\r\n ...props\r\n }: React.ComponentProps<typeof SelectPrimitive.Content>) {\r\n return (\r\n <SelectPrimitive.Portal>\r\n <SelectPrimitive.Content\r\n data-slot=\"select-content\"\r\n className={cn(\r\n \"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 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 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md\",\r\n position === \"popper\" &&\r\n \"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1\",\r\n 'p-1 rounded-xl shadow-md',\r\n className\r\n )}\r\n position={position}\r\n align={align}\r\n {...props}\r\n >\r\n <SelectScrollUpButton />\r\n <SelectPrimitive.Viewport\r\n className={cn(\r\n \"p-1\",\r\n position === \"popper\" &&\r\n \"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1\"\r\n )}\r\n >\r\n {children}\r\n </SelectPrimitive.Viewport>\r\n <SelectScrollDownButton />\r\n </SelectPrimitive.Content>\r\n </SelectPrimitive.Portal>\r\n )\r\n}\r\n\r\nfunction SelectLabel({\r\n className,\r\n ...props\r\n }: React.ComponentProps<typeof SelectPrimitive.Label>) {\r\n return (\r\n <SelectPrimitive.Label\r\n data-slot=\"select-label\"\r\n className={cn(\"text-muted-foreground px-2 py-1.5 text-xs\", className)}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nfunction SelectItem({\r\n className,\r\n children,\r\n ...props\r\n }: React.ComponentProps<typeof SelectPrimitive.Item>) {\r\n return (\r\n <SelectPrimitive.Item\r\n data-slot=\"select-item\"\r\n className={cn(\r\n \"focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-lg py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2\",\r\n className\r\n )}\r\n {...props}\r\n >\r\n <span className=\"absolute right-2 flex size-3.5 items-center justify-center\">\r\n <SelectPrimitive.ItemIndicator>\r\n <CheckIcon className=\"size-4\" />\r\n </SelectPrimitive.ItemIndicator>\r\n </span>\r\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\r\n </SelectPrimitive.Item>\r\n )\r\n}\r\n\r\nfunction SelectSeparator({\r\n className,\r\n ...props\r\n }: React.ComponentProps<typeof SelectPrimitive.Separator>) {\r\n return (\r\n <SelectPrimitive.Separator\r\n data-slot=\"select-separator\"\r\n className={cn(\"bg-border pointer-events-none -mx-1 my-1 h-px\", className)}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nfunction SelectScrollUpButton({\r\n className,\r\n ...props\r\n }: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>) {\r\n return (\r\n <SelectPrimitive.ScrollUpButton\r\n data-slot=\"select-scroll-up-button\"\r\n className={cn(\r\n \"flex cursor-default items-center justify-center py-1\",\r\n className\r\n )}\r\n {...props}\r\n >\r\n <ChevronUpIcon className=\"size-4\" />\r\n </SelectPrimitive.ScrollUpButton>\r\n )\r\n}\r\n\r\nfunction SelectScrollDownButton({\r\n className,\r\n ...props\r\n }: React.ComponentProps<typeof SelectPrimitive.ScrollDownButton>) {\r\n return (\r\n <SelectPrimitive.ScrollDownButton\r\n data-slot=\"select-scroll-down-button\"\r\n className={cn(\r\n \"flex cursor-default items-center justify-center py-1\",\r\n className\r\n )}\r\n {...props}\r\n >\r\n <ChevronDownIcon className=\"size-4\" />\r\n </SelectPrimitive.ScrollDownButton>\r\n )\r\n}\r\n\r\nexport {\r\n SelectRoot,\r\n SelectContent,\r\n SelectGroup,\r\n SelectItem,\r\n SelectLabel,\r\n SelectScrollDownButton,\r\n SelectScrollUpButton,\r\n SelectSeparator,\r\n SelectTrigger,\r\n SelectValue,\r\n SelectPrimitive,\r\n}\r\n"],"names":["SelectRoot","props","SelectPrimitive","SelectGroup","SelectValue","SelectTrigger","className","size","children","showIcon","rest","jsxs","cn","jsx","ChevronDownIcon","SelectContent","position","align","SelectScrollUpButton","SelectScrollDownButton","SelectLabel","SelectItem","CheckIcon","SelectSeparator","ChevronUpIcon"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Separator.js","sources":["../../src/Separator/Separator.tsx"],"sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport * as SeparatorPrimitive from \"@radix-ui/react-separator\"\n\nimport { cn } from \"@oneplatformdev/utils\"\n\nfunction Separator(props: React.ComponentProps<typeof SeparatorPrimitive.Root>) {\n const {\n className,\n orientation = \"horizontal\",\n decorative = true,\n ...rest\n } = props;\n return (\n <SeparatorPrimitive.Root\n data-slot=\"separator\"\n decorative={decorative}\n orientation={orientation}\n className={cn(\n \"bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px\",\n className\n )}\n {...rest}\n />\n )\n}\n\nexport { Separator }\n"],"names":["Separator","props","className","orientation","decorative","rest","jsx","SeparatorPrimitive","cn"],"mappings":";;;AAOA,SAASA,EAAUC,GAA6D;AAC9E,QAAM;AAAA,IACJ,WAAAC;AAAA,IACA,aAAAC,IAAc;AAAA,IACd,YAAAC,IAAa;AAAA,IACb,GAAGC;AAAA,EAAA,IACDJ;AACJ,SACE,gBAAAK;AAAA,IAACC,EAAmB;AAAA,IAAnB;AAAA,MACC,aAAU;AAAA,MACV,YAAAH;AAAA,MACA,aAAAD;AAAA,MACA,WAAWK;AAAA,QACT;AAAA,QACAN;AAAA,MAAA;AAAA,MAED,GAAGG;AAAA,IAAA;AAAA,EAAA;AAGV;"}
1
+ {"version":3,"file":"Separator.js","sources":["../../src/Separator/Separator.tsx"],"sourcesContent":["\"use client\"\r\n\r\nimport * as React from \"react\"\r\nimport * as SeparatorPrimitive from \"@radix-ui/react-separator\"\r\n\r\nimport { cn } from \"@oneplatformdev/utils\"\r\n\r\nfunction Separator(props: React.ComponentProps<typeof SeparatorPrimitive.Root>) {\r\n const {\r\n className,\r\n orientation = \"horizontal\",\r\n decorative = true,\r\n ...rest\r\n } = props;\r\n return (\r\n <SeparatorPrimitive.Root\r\n data-slot=\"separator\"\r\n decorative={decorative}\r\n orientation={orientation}\r\n className={cn(\r\n \"bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px\",\r\n className\r\n )}\r\n {...rest}\r\n />\r\n )\r\n}\r\n\r\nexport { Separator }\r\n"],"names":["Separator","props","className","orientation","decorative","rest","jsx","SeparatorPrimitive","cn"],"mappings":";;;AAOA,SAASA,EAAUC,GAA6D;AAC9E,QAAM;AAAA,IACJ,WAAAC;AAAA,IACA,aAAAC,IAAc;AAAA,IACd,YAAAC,IAAa;AAAA,IACb,GAAGC;AAAA,EAAA,IACDJ;AACJ,SACE,gBAAAK;AAAA,IAACC,EAAmB;AAAA,IAAnB;AAAA,MACC,aAAU;AAAA,MACV,YAAAH;AAAA,MACA,aAAAD;AAAA,MACA,WAAWK;AAAA,QACT;AAAA,QACAN;AAAA,MAAA;AAAA,MAED,GAAGG;AAAA,IAAA;AAAA,EAAA;AAGV;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Sheet.js","sources":["../../src/Sheet/Sheet.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport * as SheetPrimitive from '@radix-ui/react-dialog';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { X } from 'lucide-react';\n\nimport { cn } from '@oneplatformdev/utils';\n\nconst Sheet = SheetPrimitive.Root;\n\nconst SheetTrigger = SheetPrimitive.Trigger\n\nconst SheetClose = SheetPrimitive.Close\n\nconst SheetPortal = SheetPrimitive.Portal\n\nconst SheetOverlay = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <SheetPrimitive.Overlay\n className={cn(\n \"fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\",\n className\n )}\n {...props}\n ref={ref}\n />\n))\nSheetOverlay.displayName = SheetPrimitive.Overlay.displayName\n\nconst sheetVariants = cva(\n \"fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500 data-[state=open]:animate-in data-[state=closed]:animate-out\",\n {\n variants: {\n side: {\n top: \"inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top\",\n bottom:\n \"inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom\",\n left: \"inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm\",\n right:\n \"inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm\",\n },\n },\n defaultVariants: {\n side: \"right\",\n },\n }\n)\n\ninterface SheetContentProps\n extends React.ComponentPropsWithoutRef<typeof SheetPrimitive.Content>,\n VariantProps<typeof sheetVariants> {\n slotProps?: {\n overlay?: React.ComponentPropsWithoutRef<typeof SheetPrimitive.Overlay>;\n }\n}\n\nconst SheetContent = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Content>,\n SheetContentProps\n>(({ side = \"right\", className, children, slotProps, ...props }, ref) => (\n <SheetPortal>\n <SheetOverlay {...(slotProps?.overlay || {})}/>\n <SheetPrimitive.Content\n ref={ref}\n className={cn(sheetVariants({ side }), className)}\n {...props}\n >\n <SheetPrimitive.Close className=\"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary\">\n <X className=\"h-4 w-4\" />\n <span className=\"sr-only\">Close</span>\n </SheetPrimitive.Close>\n {children}\n </SheetPrimitive.Content>\n </SheetPortal>\n))\nSheetContent.displayName = SheetPrimitive.Content.displayName\n\nconst SheetHeader = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col space-y-2 text-center sm:text-left\",\n className\n )}\n {...props}\n />\n)\nSheetHeader.displayName = \"SheetHeader\"\n\nconst SheetFooter = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2\",\n className\n )}\n {...props}\n />\n)\nSheetFooter.displayName = \"SheetFooter\"\n\nconst SheetTitle = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <SheetPrimitive.Title\n ref={ref}\n className={cn(\"text-lg font-semibold text-foreground\", className)}\n {...props}\n />\n))\nSheetTitle.displayName = SheetPrimitive.Title.displayName\n\nconst SheetDescription = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <SheetPrimitive.Description\n ref={ref}\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n))\nSheetDescription.displayName = SheetPrimitive.Description.displayName\n\nexport {\n Sheet,\n SheetPortal,\n SheetOverlay,\n SheetTrigger,\n SheetClose,\n SheetContent,\n SheetHeader,\n SheetFooter,\n SheetTitle,\n SheetDescription,\n}\n"],"names":["Sheet","SheetPrimitive","SheetTrigger","SheetClose","SheetPortal","SheetOverlay","React","className","props","ref","jsx","cn","sheetVariants","cva","SheetContent","side","children","slotProps","jsxs","X","SheetHeader","SheetFooter","SheetTitle","SheetDescription"],"mappings":";;;;;;AASA,MAAMA,IAAQC,EAAe,MAEvBC,IAAeD,EAAe,SAE9BE,IAAaF,EAAe,OAE5BG,IAAcH,EAAe,QAE7BI,IAAeC,EAAM,WAGzB,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAA,GAASC,MAC1B,gBAAAC;AAAA,EAACT,EAAe;AAAA,EAAf;AAAA,IACC,WAAWU;AAAA,MACT;AAAA,MACAJ;AAAA,IAAA;AAAA,IAED,GAAGC;AAAA,IACJ,KAAAC;AAAA,EAAA;AACF,CACD;AACDJ,EAAa,cAAcJ,EAAe,QAAQ;AAElD,MAAMW,IAAgBC;AAAA,EACpB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,MAAM;AAAA,QACJ,KAAK;AAAA,QACL,QACE;AAAA,QACF,MAAM;AAAA,QACN,OACE;AAAA,MAAA;AAAA,IACJ;AAAA,IAEF,iBAAiB;AAAA,MACf,MAAM;AAAA,IAAA;AAAA,EACR;AAEJ,GAUMC,IAAeR,EAAM,WAGzB,CAAC,EAAE,MAAAS,IAAO,SAAS,WAAAR,GAAW,UAAAS,GAAU,WAAAC,GAAW,GAAGT,EAAA,GAASC,wBAC9DL,GAAA,EACC,UAAA;AAAA,EAAA,gBAAAM,EAACL,GAAA,EAAc,GAAIY,GAAW,WAAW,CAAA,EAAC,CAAG;AAAA,EAC7C,gBAAAC;AAAA,IAACjB,EAAe;AAAA,IAAf;AAAA,MACC,KAAAQ;AAAA,MACA,WAAWE,EAAGC,EAAc,EAAE,MAAAG,EAAA,CAAM,GAAGR,CAAS;AAAA,MAC/C,GAAGC;AAAA,MAEJ,UAAA;AAAA,QAAA,gBAAAU,EAACjB,EAAe,OAAf,EAAqB,WAAU,8OAC9B,UAAA;AAAA,UAAA,gBAAAS,EAACS,GAAA,EAAE,WAAU,UAAA,CAAU;AAAA,UACvB,gBAAAT,EAAC,QAAA,EAAK,WAAU,WAAU,UAAA,QAAA,CAAK;AAAA,QAAA,GACjC;AAAA,QACCM;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AACH,GACF,CACD;AACDF,EAAa,cAAcb,EAAe,QAAQ;AAElD,MAAMmB,IAAc,CAAC;AAAA,EACnB,WAAAb;AAAA,EACA,GAAGC;AACL,MACE,gBAAAE;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAWC;AAAA,MACT;AAAA,MACAJ;AAAA,IAAA;AAAA,IAED,GAAGC;AAAA,EAAA;AACN;AAEFY,EAAY,cAAc;AAE1B,MAAMC,IAAc,CAAC;AAAA,EACnB,WAAAd;AAAA,EACA,GAAGC;AACL,MACE,gBAAAE;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAWC;AAAA,MACT;AAAA,MACAJ;AAAA,IAAA;AAAA,IAED,GAAGC;AAAA,EAAA;AACN;AAEFa,EAAY,cAAc;AAE1B,MAAMC,IAAahB,EAAM,WAGvB,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAA,GAASC,MAC1B,gBAAAC;AAAA,EAACT,EAAe;AAAA,EAAf;AAAA,IACC,KAAAQ;AAAA,IACA,WAAWE,EAAG,yCAAyCJ,CAAS;AAAA,IAC/D,GAAGC;AAAA,EAAA;AACN,CACD;AACDc,EAAW,cAAcrB,EAAe,MAAM;AAE9C,MAAMsB,IAAmBjB,EAAM,WAG7B,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAA,GAASC,MAC1B,gBAAAC;AAAA,EAACT,EAAe;AAAA,EAAf;AAAA,IACC,KAAAQ;AAAA,IACA,WAAWE,EAAG,iCAAiCJ,CAAS;AAAA,IACvD,GAAGC;AAAA,EAAA;AACN,CACD;AACDe,EAAiB,cAActB,EAAe,YAAY;"}
1
+ {"version":3,"file":"Sheet.js","sources":["../../src/Sheet/Sheet.tsx"],"sourcesContent":["'use client';\r\n\r\nimport * as React from 'react';\r\nimport * as SheetPrimitive from '@radix-ui/react-dialog';\r\nimport { cva, type VariantProps } from 'class-variance-authority';\r\nimport { X } from 'lucide-react';\r\n\r\nimport { cn } from '@oneplatformdev/utils';\r\n\r\nconst Sheet = SheetPrimitive.Root;\r\n\r\nconst SheetTrigger = SheetPrimitive.Trigger\r\n\r\nconst SheetClose = SheetPrimitive.Close\r\n\r\nconst SheetPortal = SheetPrimitive.Portal\r\n\r\nconst SheetOverlay = React.forwardRef<\r\n React.ElementRef<typeof SheetPrimitive.Overlay>,\r\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Overlay>\r\n>(({ className, ...props }, ref) => (\r\n <SheetPrimitive.Overlay\r\n className={cn(\r\n \"fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\",\r\n className\r\n )}\r\n {...props}\r\n ref={ref}\r\n />\r\n))\r\nSheetOverlay.displayName = SheetPrimitive.Overlay.displayName\r\n\r\nconst sheetVariants = cva(\r\n \"fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500 data-[state=open]:animate-in data-[state=closed]:animate-out\",\r\n {\r\n variants: {\r\n side: {\r\n top: \"inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top\",\r\n bottom:\r\n \"inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom\",\r\n left: \"inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm\",\r\n right:\r\n \"inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm\",\r\n },\r\n },\r\n defaultVariants: {\r\n side: \"right\",\r\n },\r\n }\r\n)\r\n\r\ninterface SheetContentProps\r\n extends React.ComponentPropsWithoutRef<typeof SheetPrimitive.Content>,\r\n VariantProps<typeof sheetVariants> {\r\n slotProps?: {\r\n overlay?: React.ComponentPropsWithoutRef<typeof SheetPrimitive.Overlay>;\r\n }\r\n}\r\n\r\nconst SheetContent = React.forwardRef<\r\n React.ElementRef<typeof SheetPrimitive.Content>,\r\n SheetContentProps\r\n>(({ side = \"right\", className, children, slotProps, ...props }, ref) => (\r\n <SheetPortal>\r\n <SheetOverlay {...(slotProps?.overlay || {})}/>\r\n <SheetPrimitive.Content\r\n ref={ref}\r\n className={cn(sheetVariants({ side }), className)}\r\n {...props}\r\n >\r\n <SheetPrimitive.Close className=\"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary\">\r\n <X className=\"h-4 w-4\" />\r\n <span className=\"sr-only\">Close</span>\r\n </SheetPrimitive.Close>\r\n {children}\r\n </SheetPrimitive.Content>\r\n </SheetPortal>\r\n))\r\nSheetContent.displayName = SheetPrimitive.Content.displayName\r\n\r\nconst SheetHeader = ({\r\n className,\r\n ...props\r\n}: React.HTMLAttributes<HTMLDivElement>) => (\r\n <div\r\n className={cn(\r\n \"flex flex-col space-y-2 text-center sm:text-left\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n)\r\nSheetHeader.displayName = \"SheetHeader\"\r\n\r\nconst SheetFooter = ({\r\n className,\r\n ...props\r\n}: React.HTMLAttributes<HTMLDivElement>) => (\r\n <div\r\n className={cn(\r\n \"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n)\r\nSheetFooter.displayName = \"SheetFooter\"\r\n\r\nconst SheetTitle = React.forwardRef<\r\n React.ElementRef<typeof SheetPrimitive.Title>,\r\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Title>\r\n>(({ className, ...props }, ref) => (\r\n <SheetPrimitive.Title\r\n ref={ref}\r\n className={cn(\"text-lg font-semibold text-foreground\", className)}\r\n {...props}\r\n />\r\n))\r\nSheetTitle.displayName = SheetPrimitive.Title.displayName\r\n\r\nconst SheetDescription = React.forwardRef<\r\n React.ElementRef<typeof SheetPrimitive.Description>,\r\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Description>\r\n>(({ className, ...props }, ref) => (\r\n <SheetPrimitive.Description\r\n ref={ref}\r\n className={cn(\"text-sm text-muted-foreground\", className)}\r\n {...props}\r\n />\r\n))\r\nSheetDescription.displayName = SheetPrimitive.Description.displayName\r\n\r\nexport {\r\n Sheet,\r\n SheetPortal,\r\n SheetOverlay,\r\n SheetTrigger,\r\n SheetClose,\r\n SheetContent,\r\n SheetHeader,\r\n SheetFooter,\r\n SheetTitle,\r\n SheetDescription,\r\n}\r\n"],"names":["Sheet","SheetPrimitive","SheetTrigger","SheetClose","SheetPortal","SheetOverlay","React","className","props","ref","jsx","cn","sheetVariants","cva","SheetContent","side","children","slotProps","jsxs","X","SheetHeader","SheetFooter","SheetTitle","SheetDescription"],"mappings":";;;;;;AASA,MAAMA,IAAQC,EAAe,MAEvBC,IAAeD,EAAe,SAE9BE,IAAaF,EAAe,OAE5BG,IAAcH,EAAe,QAE7BI,IAAeC,EAAM,WAGzB,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAA,GAASC,MAC1B,gBAAAC;AAAA,EAACT,EAAe;AAAA,EAAf;AAAA,IACC,WAAWU;AAAA,MACT;AAAA,MACAJ;AAAA,IAAA;AAAA,IAED,GAAGC;AAAA,IACJ,KAAAC;AAAA,EAAA;AACF,CACD;AACDJ,EAAa,cAAcJ,EAAe,QAAQ;AAElD,MAAMW,IAAgBC;AAAA,EACpB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,MAAM;AAAA,QACJ,KAAK;AAAA,QACL,QACE;AAAA,QACF,MAAM;AAAA,QACN,OACE;AAAA,MAAA;AAAA,IACJ;AAAA,IAEF,iBAAiB;AAAA,MACf,MAAM;AAAA,IAAA;AAAA,EACR;AAEJ,GAUMC,IAAeR,EAAM,WAGzB,CAAC,EAAE,MAAAS,IAAO,SAAS,WAAAR,GAAW,UAAAS,GAAU,WAAAC,GAAW,GAAGT,EAAA,GAASC,wBAC9DL,GAAA,EACC,UAAA;AAAA,EAAA,gBAAAM,EAACL,GAAA,EAAc,GAAIY,GAAW,WAAW,CAAA,EAAC,CAAG;AAAA,EAC7C,gBAAAC;AAAA,IAACjB,EAAe;AAAA,IAAf;AAAA,MACC,KAAAQ;AAAA,MACA,WAAWE,EAAGC,EAAc,EAAE,MAAAG,EAAA,CAAM,GAAGR,CAAS;AAAA,MAC/C,GAAGC;AAAA,MAEJ,UAAA;AAAA,QAAA,gBAAAU,EAACjB,EAAe,OAAf,EAAqB,WAAU,8OAC9B,UAAA;AAAA,UAAA,gBAAAS,EAACS,GAAA,EAAE,WAAU,UAAA,CAAU;AAAA,UACvB,gBAAAT,EAAC,QAAA,EAAK,WAAU,WAAU,UAAA,QAAA,CAAK;AAAA,QAAA,GACjC;AAAA,QACCM;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AACH,GACF,CACD;AACDF,EAAa,cAAcb,EAAe,QAAQ;AAElD,MAAMmB,IAAc,CAAC;AAAA,EACnB,WAAAb;AAAA,EACA,GAAGC;AACL,MACE,gBAAAE;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAWC;AAAA,MACT;AAAA,MACAJ;AAAA,IAAA;AAAA,IAED,GAAGC;AAAA,EAAA;AACN;AAEFY,EAAY,cAAc;AAE1B,MAAMC,IAAc,CAAC;AAAA,EACnB,WAAAd;AAAA,EACA,GAAGC;AACL,MACE,gBAAAE;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAWC;AAAA,MACT;AAAA,MACAJ;AAAA,IAAA;AAAA,IAED,GAAGC;AAAA,EAAA;AACN;AAEFa,EAAY,cAAc;AAE1B,MAAMC,IAAahB,EAAM,WAGvB,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAA,GAASC,MAC1B,gBAAAC;AAAA,EAACT,EAAe;AAAA,EAAf;AAAA,IACC,KAAAQ;AAAA,IACA,WAAWE,EAAG,yCAAyCJ,CAAS;AAAA,IAC/D,GAAGC;AAAA,EAAA;AACN,CACD;AACDc,EAAW,cAAcrB,EAAe,MAAM;AAE9C,MAAMsB,IAAmBjB,EAAM,WAG7B,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAA,GAASC,MAC1B,gBAAAC;AAAA,EAACT,EAAe;AAAA,EAAf;AAAA,IACC,KAAAQ;AAAA,IACA,WAAWE,EAAG,iCAAiCJ,CAAS;AAAA,IACvD,GAAGC;AAAA,EAAA;AACN,CACD;AACDe,EAAiB,cAActB,EAAe,YAAY;"}
@@ -1,17 +1,16 @@
1
1
  import { jsx as r, jsxs as S } from "react/jsx-runtime";
2
- import { Input as _ } from "../Input/Input.js";
3
- import { Separator as I } from "../Separator/Separator.js";
4
- import { Sheet as z, SheetContent as B } from "../Sheet/Sheet.js";
5
- import { Skeleton as M } from "../Skeleton/Skeleton.js";
6
2
  import { Slot as g } from "@radix-ui/react-slot";
7
- import { cva as E } from "class-variance-authority";
8
- import { PanelLeft as T } from "lucide-react";
3
+ import { cva as _ } from "class-variance-authority";
4
+ import { PanelLeft as I } from "lucide-react";
9
5
  import * as i from "react";
10
6
  import { cn as o } from "@oneplatformdev/utils";
11
- import { useIsMobile as A } from "@oneplatformdev/hooks/useIsMobile";
12
- import { Button as D } from "../Button/Button.js";
13
- import "../Button/buttonVariants.js";
14
- import { TooltipProvider as O, TooltipTrigger as G, TooltipContent as H } from "../Tooltip/TooltipRoot.js";
7
+ import { useIsMobile as z } from "@oneplatformdev/hooks/useIsMobile";
8
+ import { TooltipProvider as B, TooltipTrigger as E, TooltipContent as T } from "../Tooltip/TooltipRoot.js";
9
+ import { Sheet as A, SheetContent as D } from "../Sheet/Sheet.js";
10
+ import { Button as O } from "../Button/Button.js";
11
+ import { Input as G } from "../Input/Input.js";
12
+ import { Separator as H } from "../Separator/Separator.js";
13
+ import { Skeleton as M } from "../Skeleton/Skeleton.js";
15
14
  import { Tooltip as K } from "../Tooltip/Tooltip.js";
16
15
  const L = "sidebar:state", j = 3600 * 24 * 7, P = "16rem", $ = "18rem", V = "3rem", W = "b", R = i.createContext(null);
17
16
  function N() {
@@ -30,7 +29,7 @@ const q = i.forwardRef(
30
29
  children: s,
31
30
  ...c
32
31
  }, m) => {
33
- const u = A(), [f, b] = i.useState(!1), [h, C] = i.useState(a), p = e ?? h, v = i.useCallback(
32
+ const u = z(), [f, b] = i.useState(!1), [h, C] = i.useState(a), p = e ?? h, v = i.useCallback(
34
33
  (l) => {
35
34
  if (t)
36
35
  return t?.(
@@ -58,7 +57,7 @@ const q = i.forwardRef(
58
57
  }),
59
58
  [y, p, v, u, f, b, x]
60
59
  );
61
- return /* @__PURE__ */ r(R.Provider, { value: k, children: /* @__PURE__ */ r(O, { delayDuration: 0, children: /* @__PURE__ */ r(
60
+ return /* @__PURE__ */ r(R.Provider, { value: k, children: /* @__PURE__ */ r(B, { delayDuration: 0, children: /* @__PURE__ */ r(
62
61
  "div",
63
62
  {
64
63
  style: {
@@ -99,8 +98,8 @@ const F = i.forwardRef(
99
98
  ...s,
100
99
  children: n
101
100
  }
102
- ) : m ? /* @__PURE__ */ r(z, { open: f, onOpenChange: b, ...s, children: /* @__PURE__ */ r(
103
- B,
101
+ ) : m ? /* @__PURE__ */ r(A, { open: f, onOpenChange: b, ...s, children: /* @__PURE__ */ r(
102
+ D,
104
103
  {
105
104
  "data-sidebar": "sidebar",
106
105
  "data-mobile": "true",
@@ -162,7 +161,7 @@ F.displayName = "Sidebar";
162
161
  const U = i.forwardRef(({ className: a, onClick: e, children: t, ...d }, n) => {
163
162
  const { toggleSidebar: s } = N();
164
163
  return /* @__PURE__ */ S(
165
- D,
164
+ O,
166
165
  {
167
166
  ref: n,
168
167
  "data-sidebar": "trigger",
@@ -174,7 +173,7 @@ const U = i.forwardRef(({ className: a, onClick: e, children: t, ...d }, n) => {
174
173
  },
175
174
  ...d,
176
175
  children: [
177
- t || /* @__PURE__ */ r(T, {}),
176
+ t || /* @__PURE__ */ r(I, {}),
178
177
  /* @__PURE__ */ r("span", { className: "sr-only", children: "Toggle Sidebar" })
179
178
  ]
180
179
  }
@@ -220,7 +219,7 @@ const Y = i.forwardRef(({ className: a, ...e }, t) => /* @__PURE__ */ r(
220
219
  ));
221
220
  Y.displayName = "SidebarInset";
222
221
  const J = i.forwardRef(({ className: a, ...e }, t) => /* @__PURE__ */ r(
223
- _,
222
+ G,
224
223
  {
225
224
  ref: t,
226
225
  "data-sidebar": "input",
@@ -253,7 +252,7 @@ const Z = i.forwardRef(({ className: a, ...e }, t) => /* @__PURE__ */ r(
253
252
  ));
254
253
  Z.displayName = "SidebarFooter";
255
254
  const ee = i.forwardRef(({ className: a, ...e }, t) => /* @__PURE__ */ r(
256
- I,
255
+ H,
257
256
  {
258
257
  ref: t,
259
258
  "data-sidebar": "separator",
@@ -345,7 +344,7 @@ const ne = i.forwardRef(({ className: a, ...e }, t) => /* @__PURE__ */ r(
345
344
  }
346
345
  ));
347
346
  ne.displayName = "SidebarMenuItem";
348
- const se = E(
347
+ const se = _(
349
348
  "peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-none ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",
350
349
  {
351
350
  variants: {
@@ -388,9 +387,9 @@ const se = E(
388
387
  return n ? (typeof n == "string" && (n = {
389
388
  children: n
390
389
  }), /* @__PURE__ */ S(K, { children: [
391
- /* @__PURE__ */ r(G, { asChild: !0, children: h }),
390
+ /* @__PURE__ */ r(E, { asChild: !0, children: h }),
392
391
  /* @__PURE__ */ r(
393
- H,
392
+ T,
394
393
  {
395
394
  side: "right",
396
395
  align: "center",