@datum-cloud/datum-ui 0.4.0 → 0.5.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 (146) hide show
  1. package/README.md +4 -0
  2. package/dist/alert/index.mjs +2 -3
  3. package/dist/{alert-BC2Mccfo.mjs → alert-BDj6od5I.mjs} +2 -4
  4. package/dist/app-navigation/index.mjs +4 -12
  5. package/dist/{app-navigation-DsCKgfPe.mjs → app-navigation-84ro28PU.mjs} +5 -8
  6. package/dist/autocomplete/index.mjs +2 -7
  7. package/dist/{autocomplete-DRB_kSVx.mjs → autocomplete-V5-qslzS.mjs} +5 -7
  8. package/dist/avatar/index.mjs +2 -4
  9. package/dist/{avatar-DyLq0xkt.mjs → avatar-BtKVcvO4.mjs} +2 -4
  10. package/dist/avatar-stack/index.mjs +2 -6
  11. package/dist/{avatar-stack-BT0dBswq.mjs → avatar-stack-oVr8tsU7.mjs} +4 -6
  12. package/dist/badge/index.mjs +2 -3
  13. package/dist/{badge-BgFj4Nsc.mjs → badge-DJR33ftJ.mjs} +2 -4
  14. package/dist/breadcrumb/index.mjs +2 -4
  15. package/dist/{breadcrumb-CJNaYyk1.mjs → breadcrumb-B-9G347O.mjs} +2 -4
  16. package/dist/button/index.mjs +3 -4
  17. package/dist/{button-0N61fmAR.mjs → button-BllvE9Lm.mjs} +3 -5
  18. package/dist/{button-D6AORsOz.mjs → button-D3RrsMfQ.mjs} +2 -4
  19. package/dist/{link-button-Cby0p4LW.mjs → button-fO8nazJE.mjs} +3 -5
  20. package/dist/button-group/index.mjs +2 -5
  21. package/dist/{button-group-BDk8btAy.mjs → button-group-CYPka2zz.mjs} +3 -5
  22. package/dist/calendar/index.mjs +2 -5
  23. package/dist/{calendar-BtfraIvX.mjs → calendar-DEkCw7I1.mjs} +4 -6
  24. package/dist/{calendar-date-picker-B9mxJM7f.mjs → calendar-date-picker-DWK94_DC.mjs} +6 -8
  25. package/dist/card/index.mjs +2 -4
  26. package/dist/{card-BiHXFt4s.mjs → card-DKG1Cwlj.mjs} +3 -6
  27. package/dist/chart/index.mjs +2 -4
  28. package/dist/{chart-CL0i-xIt.mjs → chart-CUa21ynK.mjs} +2 -4
  29. package/dist/checkbox/index.mjs +2 -4
  30. package/dist/{checkbox-CQrjygFt.mjs → checkbox-I5BvrMPe.mjs} +3 -6
  31. package/dist/{close.icon-D2r5q3bj.mjs → close.icon-HCfS4Y-N.mjs} +2 -4
  32. package/dist/{cn-DWCc1QRE.mjs → cn-D2KYQ917.mjs} +1 -3
  33. package/dist/code-editor/index.mjs +2 -0
  34. package/dist/{col-C9PDhvm5.mjs → col-q-J99UHe.mjs} +2 -7
  35. package/dist/collapsible/index.mjs +2 -3
  36. package/dist/{collapsible-Dw71o2um.mjs → collapsible-CUphkSBt.mjs} +1 -3
  37. package/dist/command/index.mjs +2 -5
  38. package/dist/{command-DVroicgn.mjs → command-DqHWukGK.mjs} +3 -5
  39. package/dist/components/features/code-editor/code-editor-tabs.d.ts +63 -0
  40. package/dist/components/features/code-editor/code-editor-tabs.d.ts.map +1 -0
  41. package/dist/components/features/code-editor/code-editor.d.ts +58 -0
  42. package/dist/components/features/code-editor/code-editor.d.ts.map +1 -0
  43. package/dist/components/features/code-editor/index.d.ts +6 -0
  44. package/dist/components/features/code-editor/index.d.ts.map +1 -0
  45. package/dist/components/features/code-editor/lib/editor.d.ts +7 -0
  46. package/dist/components/features/code-editor/lib/editor.d.ts.map +1 -0
  47. package/dist/components/features/code-editor/types.d.ts +98 -0
  48. package/dist/components/features/code-editor/types.d.ts.map +1 -0
  49. package/dist/components/features/index.d.ts +1 -0
  50. package/dist/components/features/index.d.ts.map +1 -1
  51. package/dist/components/toast.d.ts +2 -0
  52. package/dist/components/toast.d.ts.map +1 -0
  53. package/dist/data-table/index.mjs +21 -51
  54. package/dist/date-picker/index.mjs +3 -10
  55. package/dist/dialog/index.mjs +2 -5
  56. package/dist/{dialog-B0B3Kbfk.mjs → dialog-Bm2H9lrx.mjs} +4 -6
  57. package/dist/{dialog-DdrHeboM.mjs → dialog-DASRaFxD.mjs} +2 -4
  58. package/dist/dropdown/index.mjs +2 -3
  59. package/dist/{dropdown-Cdx7rOKv.mjs → dropdown-DZiAt-jS.mjs} +3 -5
  60. package/dist/{dropdown-menu-CdShrDz_.mjs → dropdown-menu-lALvDnab.mjs} +5 -7
  61. package/dist/dropzone/index.mjs +2 -5
  62. package/dist/{dropzone-B6kSN3DY.mjs → dropzone-ogtpQ4fy.mjs} +5 -8
  63. package/dist/empty-content/index.mjs +2 -3
  64. package/dist/{empty-content-B1lwLr40.mjs → empty-content-C63GPJ5d.mjs} +3 -9
  65. package/dist/form/index.mjs +2 -146
  66. package/dist/{use-stepper-DigoyHhX.mjs → form-Co3fM4B7.mjs} +148 -51
  67. package/dist/grid/index.mjs +2 -3
  68. package/dist/hooks/index.mjs +3 -4
  69. package/dist/{use-debounce-MnfjH51L.mjs → hooks-Cb7YlxN4.mjs} +1 -3
  70. package/dist/hover-card/index.mjs +2 -4
  71. package/dist/{hover-card-CEIauuie.mjs → hover-card-DDWWD5Hx.mjs} +2 -4
  72. package/dist/{icon-wrapper-BBK4z4tj.mjs → icon-wrapper-DuLp3RM1.mjs} +1 -3
  73. package/dist/icons/index.mjs +4 -5
  74. package/dist/index.mjs +65 -71
  75. package/dist/input/index.mjs +2 -5
  76. package/dist/{input-DEMoi_8F.mjs → input-DOmNpcQJ.mjs} +2 -4
  77. package/dist/{input-CYFN0Ap2.mjs → input-FKGqZypx.mjs} +3 -5
  78. package/dist/input-group/index.mjs +2 -7
  79. package/dist/{input-group-DJgYpOlq.mjs → input-group-DDtz-RT7.mjs} +5 -7
  80. package/dist/input-number/index.mjs +2 -6
  81. package/dist/{input-number-Cuy9CCg_.mjs → input-number-mDB-5M5C.mjs} +4 -6
  82. package/dist/input-with-addons/index.mjs +28 -3
  83. package/dist/label/index.mjs +2 -4
  84. package/dist/{label-mOg07fuQ.mjs → label-cnAhY-ej.mjs} +3 -6
  85. package/dist/loader-overlay/index.mjs +2 -3
  86. package/dist/{loader-overlay-8IWX_1Ga.mjs → loader-overlay-BTFdkp7W.mjs} +3 -5
  87. package/dist/map/index.mjs +2 -14
  88. package/dist/{map-CaI1EshG.mjs → map-ClxB41Hg.mjs} +10 -14
  89. package/dist/{map-leaflet-imports-J7w1V7mh.mjs → map-leaflet-imports-CaMm_rdF.mjs} +1 -2
  90. package/dist/more-actions/index.mjs +2 -5
  91. package/dist/{more-actions-BO5ikUxY.mjs → more-actions-CGagbIDT.mjs} +5 -7
  92. package/dist/nprogress/index.mjs +1 -3
  93. package/dist/page-title/index.mjs +2 -3
  94. package/dist/{page-title-DWteBy1E.mjs → page-title-R7QbfbWp.mjs} +2 -4
  95. package/dist/popover/index.mjs +2 -4
  96. package/dist/{popover-ugw5MpuT.mjs → popover-FJAcbYoH.mjs} +2 -4
  97. package/dist/radio-group/index.mjs +2 -4
  98. package/dist/{radio-group-_gMymwnb.mjs → radio-group-CiITR0LO.mjs} +3 -6
  99. package/dist/select/index.mjs +2 -4
  100. package/dist/{select-BZOKWjlH.mjs → select-CiLR_DiQ.mjs} +3 -6
  101. package/dist/separator/index.mjs +2 -4
  102. package/dist/{separator-BzyALya2.mjs → separator-DXVTncCK.mjs} +2 -4
  103. package/dist/sheet/index.mjs +3 -5
  104. package/dist/{sheet-BX6lae56.mjs → sheet-BzXksqYY.mjs} +4 -6
  105. package/dist/{sheet-DAcFjaGw.mjs → sheet-Di3b-oPu.mjs} +2 -4
  106. package/dist/sidebar/index.mjs +2 -10
  107. package/dist/{sidebar-B3EV33mG.mjs → sidebar-BnhnjvfO.mjs} +10 -14
  108. package/dist/skeleton/index.mjs +2 -5
  109. package/dist/{skeleton-2vQ0vFQk.mjs → skeleton-BKl4mfJt.mjs} +2 -4
  110. package/dist/{skeleton-BgOwIgE0.mjs → skeleton-D1MUhAVo.mjs} +3 -5
  111. package/dist/spinner/index.mjs +2 -4
  112. package/dist/{spinner-osyXAlhr.mjs → spinner-OyOf9-Yu.mjs} +2 -4
  113. package/dist/{spinner.icon-C0MbtgqX.mjs → spinner.icon-C-vjSM6o.mjs} +2 -4
  114. package/dist/stepper/index.mjs +321 -5
  115. package/dist/switch/index.mjs +2 -4
  116. package/dist/{switch-C60FpEal.mjs → switch-DQJQhPIQ.mjs} +3 -6
  117. package/dist/table/index.mjs +2 -4
  118. package/dist/{table-Cl3UzIhI.mjs → table-Cdsh-39-.mjs} +2 -4
  119. package/dist/tabs/index.mjs +50 -3
  120. package/dist/tag-input/index.mjs +2 -5
  121. package/dist/{tag-input-DR2gukhL.mjs → tag-input-BVSwNcRd.mjs} +5 -7
  122. package/dist/task-queue/index.mjs +2 -7
  123. package/dist/{task-queue-dropdown-C9KHKbGh.mjs → task-queue-dropdown-DyM5R8KF.mjs} +10 -30
  124. package/dist/textarea/index.mjs +2 -5
  125. package/dist/{textarea-CVo38n3S.mjs → textarea-94vq_G_S.mjs} +2 -4
  126. package/dist/{textarea-CZF5n57i.mjs → textarea-BwD-MmTV.mjs} +3 -5
  127. package/dist/theme/index.mjs +2 -3
  128. package/dist/{theme.provider-TUHlMsjM.mjs → themes-DG1md8FI.mjs} +1 -6
  129. package/dist/{to-api-format-naIpF-NI.mjs → to-api-format-BnbRFYQI.mjs} +9 -18
  130. package/dist/toast/index.mjs +3 -3
  131. package/dist/{use-toast-By9HuFwP.mjs → toast-BWnN5fax.mjs} +5 -42
  132. package/dist/toast-DpxlFNNx.mjs +37 -0
  133. package/dist/tooltip/index.mjs +2 -4
  134. package/dist/{tooltip-CuX2jQA9.mjs → tooltip-Cruvl5F6.mjs} +3 -6
  135. package/dist/types-BZNk3q65.mjs +357 -0
  136. package/dist/typography/index.mjs +2 -3
  137. package/dist/{typography-Iap9fU5P.mjs → typography-ClB8k55E.mjs} +2 -4
  138. package/dist/{use-copy-to-clipboard-n29wJwvW.mjs → use-copy-to-clipboard-BGdTmkFV.mjs} +2 -4
  139. package/dist/utils/index.mjs +2 -3
  140. package/dist/{utils-DJboNGQM.mjs → utils-C8KwMfT_.mjs} +1 -3
  141. package/dist/visually-hidden/index.mjs +2 -3
  142. package/dist/{visuallyhidden-BJsQCmg-.mjs → visuallyhidden-BLUsJpYH.mjs} +1 -3
  143. package/package.json +23 -2
  144. package/dist/input-with-addons-B8rzNhpq.mjs +0 -30
  145. package/dist/stepper-BMsn7I78.mjs +0 -323
  146. package/dist/tabs-DJU7JA3h.mjs +0 -52
@@ -1,10 +1,9 @@
1
- import { t as cn } from "./utils-DJboNGQM.mjs";
2
- import { i as DialogDescription, l as DialogTitle, o as DialogHeader, r as DialogContent, t as Dialog } from "./dialog-DdrHeboM.mjs";
1
+ import { t as cn } from "./utils-C8KwMfT_.mjs";
2
+ import { i as DialogDescription, l as DialogTitle, o as DialogHeader, r as DialogContent, t as Dialog } from "./dialog-DASRaFxD.mjs";
3
3
  import { SearchIcon } from "lucide-react";
4
4
  import "react";
5
5
  import { jsx, jsxs } from "react/jsx-runtime";
6
6
  import { Command } from "cmdk";
7
-
8
7
  //#region ../shadcn/ui/command.tsx
9
8
  const Command$1 = ({ className, ...props }) => {
10
9
  return /* @__PURE__ */ jsx(Command, {
@@ -81,6 +80,5 @@ const CommandShortcut = ({ className, ...props }) => {
81
80
  ...props
82
81
  });
83
82
  };
84
-
85
83
  //#endregion
86
- export { CommandInput as a, CommandSeparator as c, CommandGroup as i, CommandShortcut as l, CommandDialog as n, CommandItem as o, CommandEmpty as r, CommandList as s, Command$1 as t };
84
+ export { CommandInput as a, CommandSeparator as c, CommandGroup as i, CommandShortcut as l, CommandDialog as n, CommandItem as o, CommandEmpty as r, CommandList as s, Command$1 as t };
@@ -0,0 +1,63 @@
1
+ import type { CodeEditorTabsProps } from './types';
2
+ /**
3
+ * CodeEditorTabs - Dual-format code editor with JSON ↔ YAML conversion
4
+ *
5
+ * A tabbed interface that provides JSON and YAML editing with automatic
6
+ * bidirectional conversion and validation. Prevents tab switching when
7
+ * content has syntax errors and shows error toasts for conversion failures.
8
+ *
9
+ * Features:
10
+ * - Dual-format editing (JSON ↔ YAML)
11
+ * - Automatic bidirectional conversion
12
+ * - Real-time validation before conversion
13
+ * - Error toasts for conversion failures
14
+ * - Maintains sync between both formats
15
+ * - Hidden format field for form submission
16
+ *
17
+ * @example
18
+ * ```tsx
19
+ * import { CodeEditorTabs } from '@datum-cloud/datum-ui/code-editor'
20
+ *
21
+ * // Basic usage
22
+ * <CodeEditorTabs
23
+ * value={config}
24
+ * format="yaml"
25
+ * onChange={(value, format) => {
26
+ * setConfig(value)
27
+ * setFormat(format)
28
+ * }}
29
+ * name="configuration"
30
+ * minHeight="500px"
31
+ * />
32
+ *
33
+ * // With React Hook Form
34
+ * const { watch, setValue } = useForm()
35
+ *
36
+ * <CodeEditorTabs
37
+ * value={watch('config')}
38
+ * onChange={(value) => setValue('config', value)}
39
+ * name="config"
40
+ * />
41
+ *
42
+ * // With format change handler
43
+ * <CodeEditorTabs
44
+ * value={data}
45
+ * format={currentFormat}
46
+ * onChange={(value, format) => console.log({ value, format })}
47
+ * onFormatChange={(format) => setCurrentFormat(format)}
48
+ * />
49
+ * ```
50
+ *
51
+ * @param props - Component props
52
+ * @param props.value - Editor content
53
+ * @param props.onChange - Content and format change callback
54
+ * @param props.format - Active format ('json' or 'yaml', default: 'yaml')
55
+ * @param props.onFormatChange - Format change callback
56
+ * @param props.error - Error message to display below the editor
57
+ * @param props.id - Input element ID for form integration
58
+ * @param props.name - Input element name for form submission (default: 'code-editor')
59
+ * @param props.minHeight - Minimum editor height (default: '300px')
60
+ * @returns Rendered tabbed editor with JSON/YAML conversion
61
+ */
62
+ export declare function CodeEditorTabs({ value, onChange, format, onFormatChange, error, id, name, minHeight, }: CodeEditorTabsProps): import("react/jsx-runtime").JSX.Element;
63
+ //# sourceMappingURL=code-editor-tabs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-editor-tabs.d.ts","sourceRoot":"","sources":["../../../../src/components/features/code-editor/code-editor-tabs.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAkB,MAAM,SAAS,CAAA;AAOlE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2DG;AACH,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,QAAQ,EACR,MAAe,EACf,cAAc,EACd,KAAK,EACL,EAAE,EACF,IAAoB,EACpB,SAAmB,GACpB,EAAE,mBAAmB,2CA6GrB"}
@@ -0,0 +1,58 @@
1
+ import type { CodeEditorProps } from './types';
2
+ /**
3
+ * CodeEditor - Monaco-based code editor component
4
+ *
5
+ * A Monaco Editor wrapper with single language support, theme integration,
6
+ * and form compatibility. Provides a VS Code-like editing experience with
7
+ * automatic formatting, responsive layout, and error state handling.
8
+ *
9
+ * Features:
10
+ * - Monaco Editor with VS Code experience
11
+ * - Theme-aware (automatic light/dark mode)
12
+ * - Form-compatible (hidden input for React Hook Form)
13
+ * - Responsive layout with automatic resizing
14
+ * - Read-only mode support
15
+ * - Custom error state styling
16
+ *
17
+ * @example
18
+ * ```tsx
19
+ * import { CodeEditor } from '@datum-cloud/datum-ui/code-editor'
20
+ *
21
+ * // Basic usage
22
+ * <CodeEditor
23
+ * value={code}
24
+ * onChange={(newValue) => setCode(newValue)}
25
+ * language="yaml"
26
+ * minHeight="400px"
27
+ * />
28
+ *
29
+ * // With error state
30
+ * <CodeEditor
31
+ * value={invalidJson}
32
+ * onChange={handleChange}
33
+ * language="json"
34
+ * error="Invalid JSON format"
35
+ * />
36
+ *
37
+ * // Read-only mode
38
+ * <CodeEditor
39
+ * value={config}
40
+ * language="yaml"
41
+ * readOnly={true}
42
+ * />
43
+ * ```
44
+ *
45
+ * @param props - Component props
46
+ * @param props.value - Editor content
47
+ * @param props.onChange - Content change callback
48
+ * @param props.language - Syntax highlighting language
49
+ * @param props.id - Input element ID for form integration
50
+ * @param props.name - Input element name for form submission (default: 'code-editor')
51
+ * @param props.error - Error message to display below the editor
52
+ * @param props.className - Additional CSS classes
53
+ * @param props.readOnly - Read-only mode (default: false)
54
+ * @param props.minHeight - Minimum editor height (default: '200px')
55
+ * @returns Rendered Monaco editor with form integration
56
+ */
57
+ export declare function CodeEditor({ value, onChange, language, id, name, error, className, readOnly, minHeight, }: CodeEditorProps): import("react/jsx-runtime").JSX.Element;
58
+ //# sourceMappingURL=code-editor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-editor.d.ts","sourceRoot":"","sources":["../../../../src/components/features/code-editor/code-editor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAM9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AACH,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,EAAE,EACF,IAAoB,EACpB,KAAK,EACL,SAAS,EACT,QAAgB,EAChB,SAAmB,GACpB,EAAE,eAAe,2CAiDjB"}
@@ -0,0 +1,6 @@
1
+ export { CodeEditor } from './code-editor';
2
+ export { CodeEditorTabs } from './code-editor-tabs';
3
+ export { formatJson, formatYaml, isValidJson, isValidYaml, jsonToYaml, yamlToJson } from './lib/editor';
4
+ export { createCodeEditorSchema, jsonSchema, yamlSchema } from './types';
5
+ export type { CodeEditorProps, CodeEditorTabsProps, EditorLanguage } from './types';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/features/code-editor/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACvG,OAAO,EAAE,sBAAsB,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACxE,YAAY,EAAE,eAAe,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA"}
@@ -0,0 +1,7 @@
1
+ export declare function isValidJson(jsonStr: string): boolean;
2
+ export declare function isValidYaml(yamlStr: string): boolean;
3
+ export declare function formatJson(jsonStr: string): string;
4
+ export declare function formatYaml(yamlStr: string): string;
5
+ export declare function jsonToYaml(jsonStr: string): string;
6
+ export declare function yamlToJson(yamlStr: string): string;
7
+ //# sourceMappingURL=editor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editor.d.ts","sourceRoot":"","sources":["../../../../../src/components/features/code-editor/lib/editor.ts"],"names":[],"mappings":"AAEA,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAQpD;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAQpD;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAQlD;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAYlD;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAYlD;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAQlD"}
@@ -0,0 +1,98 @@
1
+ import { z } from 'zod';
2
+ export type EditorLanguage = 'json' | 'yaml' | 'typescript' | 'javascript' | 'python' | 'sql' | 'html' | 'css' | 'markdown';
3
+ /**
4
+ * Props for the CodeEditor component.
5
+ *
6
+ * Base Monaco Editor wrapper with single language support, theme integration,
7
+ * and form compatibility.
8
+ *
9
+ * @example
10
+ * ```tsx
11
+ * import { CodeEditor } from '@datum-cloud/datum-ui/code-editor'
12
+ *
13
+ * <CodeEditor
14
+ * value={code}
15
+ * onChange={(newValue) => setCode(newValue)}
16
+ * language="yaml"
17
+ * minHeight="400px"
18
+ * />
19
+ * ```
20
+ */
21
+ export interface CodeEditorProps {
22
+ /** Editor content */
23
+ value: string;
24
+ /** Content change callback */
25
+ onChange?: (value: string) => void;
26
+ /** Syntax highlighting language */
27
+ language: EditorLanguage;
28
+ /** Input element ID for form integration */
29
+ id?: string;
30
+ /** Input element name for form submission (default: 'code-editor') */
31
+ name?: string;
32
+ /** Error message to display below the editor */
33
+ error?: string;
34
+ /** Additional CSS classes */
35
+ className?: string;
36
+ /** Read-only mode (default: false) */
37
+ readOnly?: boolean;
38
+ /** Minimum editor height (default: '200px') */
39
+ minHeight?: string;
40
+ }
41
+ /**
42
+ * Props for the CodeEditorTabs component.
43
+ *
44
+ * Tabbed interface with JSON ↔ YAML conversion, validation, and automatic
45
+ * bidirectional synchronization.
46
+ *
47
+ * @example
48
+ * ```tsx
49
+ * import { CodeEditorTabs } from '@datum-cloud/datum-ui/code-editor'
50
+ *
51
+ * <CodeEditorTabs
52
+ * value={config}
53
+ * format="yaml"
54
+ * onChange={(value, format) => {
55
+ * setConfig(value)
56
+ * setFormat(format)
57
+ * }}
58
+ * onFormatChange={(format) => setFormat(format)}
59
+ * name="configuration"
60
+ * minHeight="500px"
61
+ * />
62
+ * ```
63
+ */
64
+ export interface CodeEditorTabsProps {
65
+ /** Editor content */
66
+ value: string;
67
+ /** Content and format change callback */
68
+ onChange?: (value: string, format: EditorLanguage) => void;
69
+ /** Active format ('json' or 'yaml', default: 'yaml') */
70
+ format?: EditorLanguage;
71
+ /** Format change callback */
72
+ onFormatChange?: (format: EditorLanguage) => void;
73
+ /** Error message to display below the editor */
74
+ error?: string;
75
+ /** Input element ID for form integration */
76
+ id?: string;
77
+ /** Input element name for form submission (default: 'code-editor') */
78
+ name?: string;
79
+ /** Minimum editor height (default: '300px') */
80
+ minHeight?: string;
81
+ }
82
+ export declare const jsonSchema: z.ZodObject<{
83
+ jsonContent: z.ZodString;
84
+ }, z.core.$strip>;
85
+ export declare const yamlSchema: z.ZodObject<{
86
+ yamlContent: z.ZodString;
87
+ }, z.core.$strip>;
88
+ export declare function createCodeEditorSchema(name?: string): z.ZodObject<{
89
+ [x: string]: z.ZodString | z.ZodEnum<{
90
+ json: "json";
91
+ yaml: "yaml";
92
+ }>;
93
+ format: z.ZodEnum<{
94
+ json: "json";
95
+ yaml: "yaml";
96
+ }>;
97
+ }, z.core.$strip>;
98
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/features/code-editor/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,YAAY,GAAG,YAAY,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,UAAU,CAAA;AAE3H;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,eAAe;IAC9B,qBAAqB;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,8BAA8B;IAC9B,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAClC,mCAAmC;IACnC,QAAQ,EAAE,cAAc,CAAA;IACxB,4CAA4C;IAC5C,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,sEAAsE;IACtE,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,gDAAgD;IAChD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,sCAAsC;IACtC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,WAAW,mBAAmB;IAClC,qBAAqB;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,yCAAyC;IACzC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,KAAK,IAAI,CAAA;IAC1D,wDAAwD;IACxD,MAAM,CAAC,EAAE,cAAc,CAAA;IACvB,6BAA6B;IAC7B,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAA;IACjD,gDAAgD;IAChD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,4CAA4C;IAC5C,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,sEAAsE;IACtE,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,eAAO,MAAM,UAAU;;iBAKrB,CAAA;AAEF,eAAO,MAAM,UAAU;;iBAKrB,CAAA;AAEF,wBAAgB,sBAAsB,CAAC,IAAI,SAAgB;;;;;;;;;kBAuB1D"}
@@ -7,6 +7,7 @@ export * from './app-navigation';
7
7
  export * from './autocomplete';
8
8
  export * from './avatar-stack';
9
9
  export * from './calendar-date-picker';
10
+ export * from './code-editor';
10
11
  export * from './dropdown';
11
12
  export * from './dropzone';
12
13
  export * from './empty-content';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/features/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,wBAAwB,CAAA;AACtC,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,QAAQ,CAAA;AACtB,cAAc,QAAQ,CAAA;AACtB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,qBAAqB,CAAA;AACnC,cAAc,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/features/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,wBAAwB,CAAA;AACtC,cAAc,eAAe,CAAA;AAC7B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,QAAQ,CAAA;AACtB,cAAc,QAAQ,CAAA;AACtB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,qBAAqB,CAAA;AACnC,cAAc,SAAS,CAAA"}
@@ -0,0 +1,2 @@
1
+ export { toast } from './features/toast';
2
+ //# sourceMappingURL=toast.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toast.d.ts","sourceRoot":"","sources":["../../src/components/toast.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA"}
@@ -1,27 +1,21 @@
1
- import { t as cn } from "../cn-DWCc1QRE.mjs";
2
- import "../utils-DJboNGQM.mjs";
3
- import { t as Badge } from "../badge-BgFj4Nsc.mjs";
4
- import { t as Button } from "../button-0N61fmAR.mjs";
5
- import "../button-D6AORsOz.mjs";
6
- import { t as Checkbox } from "../checkbox-CQrjygFt.mjs";
7
- import "../dialog-DdrHeboM.mjs";
8
- import { a as CommandInput, i as CommandGroup, o as CommandItem, r as CommandEmpty, s as CommandList, t as Command } from "../command-DVroicgn.mjs";
9
- import "../input-DEMoi_8F.mjs";
10
- import { t as Input } from "../input-CYFN0Ap2.mjs";
11
- import { t as Label } from "../label-mOg07fuQ.mjs";
12
- import { i as DropdownMenuItem, l as DropdownMenuTrigger, r as DropdownMenuContent, t as DropdownMenu } from "../dropdown-menu-CdShrDz_.mjs";
13
- import { i as PopoverTrigger, r as PopoverContent, t as Popover } from "../popover-ugw5MpuT.mjs";
14
- import { i as SelectItem, l as SelectTrigger, n as SelectContent, t as Select, u as SelectValue } from "../select-BZOKWjlH.mjs";
15
- import "../skeleton-2vQ0vFQk.mjs";
16
- import { t as Skeleton } from "../skeleton-BgOwIgE0.mjs";
17
- import { c as TableRow, i as TableCell, n as TableBody, o as TableHead, s as TableHeader, t as Table } from "../table-Cl3UzIhI.mjs";
18
- import { t as CalendarDatePicker } from "../calendar-date-picker-B9mxJM7f.mjs";
1
+ import { t as cn } from "../cn-D2KYQ917.mjs";
2
+ import { t as Badge } from "../badge-DJR33ftJ.mjs";
3
+ import { t as Button } from "../button-BllvE9Lm.mjs";
4
+ import { t as Checkbox } from "../checkbox-I5BvrMPe.mjs";
5
+ import { a as CommandInput, i as CommandGroup, o as CommandItem, r as CommandEmpty, s as CommandList, t as Command } from "../command-DqHWukGK.mjs";
6
+ import { t as Input } from "../input-FKGqZypx.mjs";
7
+ import { t as Label } from "../label-cnAhY-ej.mjs";
8
+ import { i as DropdownMenuItem, l as DropdownMenuTrigger, r as DropdownMenuContent, t as DropdownMenu } from "../dropdown-menu-lALvDnab.mjs";
9
+ import { i as PopoverTrigger, r as PopoverContent, t as Popover } from "../popover-FJAcbYoH.mjs";
10
+ import { i as SelectItem, l as SelectTrigger, n as SelectContent, t as Select, u as SelectValue } from "../select-CiLR_DiQ.mjs";
11
+ import { t as Skeleton } from "../skeleton-D1MUhAVo.mjs";
12
+ import { c as TableRow, i as TableCell, n as TableBody, o as TableHead, s as TableHeader, t as Table } from "../table-Cdsh-39-.mjs";
13
+ import { t as CalendarDatePicker } from "../calendar-date-picker-DWK94_DC.mjs";
19
14
  import { ArrowDown, ArrowUp, ArrowUpDown, Check, ChevronDown, ChevronLeft, ChevronRight, MoreHorizontal, X } from "lucide-react";
20
15
  import { createContext, memo, use, useCallback, useContext, useEffect, useId, useMemo, useRef, useState, useSyncExternalStore } from "react";
21
16
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
22
17
  import { parseAsInteger, parseAsString, useQueryStates } from "nuqs";
23
18
  import { flexRender, getCoreRowModel, getPaginationRowModel, getSortedRowModel, useReactTable } from "@tanstack/react-table";
24
-
25
19
  //#region src/components/features/data-table/constants.ts
26
20
  const DEFAULT_PAGE_SIZE = 20;
27
21
  const DEFAULT_PAGE_SIZES = [
@@ -32,7 +26,6 @@ const DEFAULT_PAGE_SIZES = [
32
26
  ];
33
27
  const DEFAULT_DEBOUNCE_MS = 300;
34
28
  const DEFAULT_LOADING_ROWS = 5;
35
-
36
29
  //#endregion
37
30
  //#region src/components/features/data-table/adapters/nuqs-adapter.ts
38
31
  /**
@@ -64,7 +57,7 @@ const coreSearchParams = {
64
57
  sort: parseAsString.withDefault(""),
65
58
  q: parseAsString.withDefault(""),
66
59
  page: parseAsInteger.withDefault(0),
67
- size: parseAsInteger.withDefault(DEFAULT_PAGE_SIZE)
60
+ size: parseAsInteger.withDefault(20)
68
61
  };
69
62
  /**
70
63
  * Hook that creates a StateAdapter backed by nuqs URL query state.
@@ -106,7 +99,7 @@ function useNuqsAdapter(options = {}) {
106
99
  sort: serializeSorting(state.sorting),
107
100
  q: state.search,
108
101
  page: state.pageIndex ?? 0,
109
- size: state.pageSize ?? DEFAULT_PAGE_SIZE
102
+ size: state.pageSize ?? 20
110
103
  });
111
104
  if (hasFilters && filterParsers) {
112
105
  const update = {};
@@ -123,7 +116,6 @@ function useNuqsAdapter(options = {}) {
123
116
  filterParsers
124
117
  ]);
125
118
  }
126
-
127
119
  //#endregion
128
120
  //#region src/components/features/data-table/columns/selection-column.tsx
129
121
  const SELECTION_COLUMN_ID = "select";
@@ -155,7 +147,6 @@ function withSelectionColumn(columns, options = {}) {
155
147
  if (hasSelectionColumn(columns)) return columns;
156
148
  return [createSelectionColumn(options), ...columns];
157
149
  }
158
-
159
150
  //#endregion
160
151
  //#region src/components/features/data-table/core/filter-engine.ts
161
152
  /**
@@ -228,7 +219,6 @@ function applyFilters(data, filters, search, registeredFilters, customFilterFns,
228
219
  return true;
229
220
  });
230
221
  }
231
-
232
222
  //#endregion
233
223
  //#region src/components/features/data-table/core/store.ts
234
224
  function createDataTableStore(options) {
@@ -249,7 +239,7 @@ function createDataTableStore(options) {
249
239
  search: "",
250
240
  rowSelection: {},
251
241
  pageIndex: 0,
252
- pageSize: options.pageSize ?? DEFAULT_PAGE_SIZE,
242
+ pageSize: options.pageSize ?? 20,
253
243
  columnCount: options.columnCount ?? 0,
254
244
  mode: options.mode,
255
245
  isLoading: options.isLoading ?? false,
@@ -451,7 +441,6 @@ function createDataTableStore(options) {
451
441
  }
452
442
  };
453
443
  }
454
-
455
444
  //#endregion
456
445
  //#region src/components/features/data-table/core/data-table-context.tsx
457
446
  const DataTableStoreContext = createContext(null);
@@ -472,7 +461,7 @@ const DataTableRenderKeyContext = createContext(0);
472
461
  function useRenderKey() {
473
462
  return useContext(DataTableRenderKeyContext);
474
463
  }
475
- const DataTableContext = createContext(null);
464
+ createContext(null);
476
465
  function useDataTableStore() {
477
466
  const store = use(DataTableStoreContext);
478
467
  if (!store) throw new Error("useDataTableStore must be used within a <DataTable.Client> or <DataTable.Server> provider");
@@ -485,7 +474,6 @@ function useDataTableStore() {
485
474
  function useTableInstanceOrNull() {
486
475
  return use(TableInstanceContext);
487
476
  }
488
-
489
477
  //#endregion
490
478
  //#region src/components/features/data-table/hooks/use-selectors.ts
491
479
  function shallowEqual(a, b) {
@@ -611,7 +599,6 @@ function useDataTableInlineContents() {
611
599
  unregisterInlineContent: store.unregisterInlineContent
612
600
  }), [store]));
613
601
  }
614
-
615
602
  //#endregion
616
603
  //#region src/components/features/data-table/components/active-filters.tsx
617
604
  function formatValue(column, value, formatters) {
@@ -758,7 +745,6 @@ function ActiveFiltersInner({ label = "Selected Filters", excludeFilters, filter
758
745
  });
759
746
  }
760
747
  const DataTableActiveFilters = memo(ActiveFiltersInner);
761
-
762
748
  //#endregion
763
749
  //#region src/components/features/data-table/components/bulk-actions.tsx
764
750
  function DataTableBulkActions({ children, className }) {
@@ -770,7 +756,6 @@ function DataTableBulkActions({ children, className }) {
770
756
  children: children(selectedRows)
771
757
  });
772
758
  }
773
-
774
759
  //#endregion
775
760
  //#region src/components/features/data-table/components/column-header.tsx
776
761
  function DataTableColumnHeader({ column, title, className }) {
@@ -792,7 +777,6 @@ function DataTableColumnHeader({ column, title, className }) {
792
777
  })
793
778
  });
794
779
  }
795
-
796
780
  //#endregion
797
781
  //#region src/components/features/data-table/components/content.tsx
798
782
  function resolveClassName(value, item) {
@@ -820,7 +804,7 @@ function DataTableContent({ emptyMessage, className, tableClassName, headerClass
820
804
  const { inlineContents } = useDataTableInlineContents();
821
805
  const openInlineContents = useMemo(() => inlineContents.filter((e) => e.open), [inlineContents]);
822
806
  const colSpan = totalColumns;
823
- const skeletonColumns = totalColumns || columnCount || DEFAULT_LOADING_ROWS;
807
+ const skeletonColumns = totalColumns || columnCount || 5;
824
808
  return /* @__PURE__ */ jsx("div", {
825
809
  className: cn("datum-ui-data-table", className),
826
810
  "data-slot": "dt",
@@ -876,7 +860,6 @@ function DataTableContent({ emptyMessage, className, tableClassName, headerClass
876
860
  })
877
861
  });
878
862
  }
879
-
880
863
  //#endregion
881
864
  //#region src/components/features/data-table/components/inline-content.tsx
882
865
  function DataTableInlineContent({ position, rowId, open, onClose, className, children }) {
@@ -927,10 +910,9 @@ function DataTableInlineContent({ position, rowId, open, onClose, className, chi
927
910
  ]);
928
911
  return null;
929
912
  }
930
-
931
913
  //#endregion
932
914
  //#region src/components/features/data-table/components/loading.tsx
933
- function DataTableLoading({ rows = DEFAULT_LOADING_ROWS, columns = 4, className }) {
915
+ function DataTableLoading({ rows = 5, columns = 4, className }) {
934
916
  return /* @__PURE__ */ jsx("div", {
935
917
  className,
936
918
  "data-slot": "dt-loading",
@@ -938,7 +920,6 @@ function DataTableLoading({ rows = DEFAULT_LOADING_ROWS, columns = 4, className
938
920
  children: /* @__PURE__ */ jsxs(Table, { children: [/* @__PURE__ */ jsx(TableHeader, { children: /* @__PURE__ */ jsx(TableRow, { children: Array.from({ length: columns }, (_, i) => /* @__PURE__ */ jsx(TableHead, { children: /* @__PURE__ */ jsx(Skeleton, { className: "h-4 w-24" }) }, i)) }) }), /* @__PURE__ */ jsx(TableBody, { children: Array.from({ length: rows }, (_, rowIndex) => /* @__PURE__ */ jsx(TableRow, { children: Array.from({ length: columns }, (_, colIndex) => /* @__PURE__ */ jsx(TableCell, { children: /* @__PURE__ */ jsx(Skeleton, { className: "h-4 w-full" }) }, colIndex)) }, rowIndex)) })] })
939
921
  });
940
922
  }
941
-
942
923
  //#endregion
943
924
  //#region src/components/features/data-table/components/pagination.tsx
944
925
  /**
@@ -1062,7 +1043,6 @@ function DataTablePagination({ pageSizes = DEFAULT_PAGE_SIZES, className }) {
1062
1043
  })]
1063
1044
  });
1064
1045
  }
1065
-
1066
1046
  //#endregion
1067
1047
  //#region src/components/features/data-table/components/row-actions.tsx
1068
1048
  function DataTableRowActions({ row, actions, isLoading = false, className }) {
@@ -1097,10 +1077,9 @@ function DataTableRowActions({ row, actions, isLoading = false, className }) {
1097
1077
  })
1098
1078
  })] });
1099
1079
  }
1100
-
1101
1080
  //#endregion
1102
1081
  //#region src/components/features/data-table/components/search.tsx
1103
- function DataTableSearch({ placeholder = "Search...", debounceMs = DEFAULT_DEBOUNCE_MS, className, disabled }) {
1082
+ function DataTableSearch({ placeholder = "Search...", debounceMs = 300, className, disabled }) {
1104
1083
  const { search, setSearch } = useDataTableSearch();
1105
1084
  const [inputValue, setInputValue] = useState(search);
1106
1085
  useEffect(() => {
@@ -1127,7 +1106,6 @@ function DataTableSearch({ placeholder = "Search...", debounceMs = DEFAULT_DEBOU
1127
1106
  "data-slot": "dt-search"
1128
1107
  });
1129
1108
  }
1130
-
1131
1109
  //#endregion
1132
1110
  //#region src/components/features/data-table/hooks/use-data-table-client.ts
1133
1111
  /**
@@ -1208,7 +1186,6 @@ function useClientTable(store, options) {
1208
1186
  ]);
1209
1187
  return { table };
1210
1188
  }
1211
-
1212
1189
  //#endregion
1213
1190
  //#region src/components/features/data-table/core/client-provider.tsx
1214
1191
  /**
@@ -1282,7 +1259,6 @@ function ClientProvider(props) {
1282
1259
  })
1283
1260
  });
1284
1261
  }
1285
-
1286
1262
  //#endregion
1287
1263
  //#region src/components/features/data-table/hooks/use-data-table-server.ts
1288
1264
  /**
@@ -1417,7 +1393,6 @@ function useServerTable(store, options) {
1417
1393
  ]);
1418
1394
  return { table };
1419
1395
  }
1420
-
1421
1396
  //#endregion
1422
1397
  //#region src/components/features/data-table/core/server-provider.tsx
1423
1398
  /**
@@ -1475,7 +1450,6 @@ function ServerProvider(props) {
1475
1450
  })
1476
1451
  });
1477
1452
  }
1478
-
1479
1453
  //#endregion
1480
1454
  //#region src/components/features/data-table/filters/checkbox-filter.tsx
1481
1455
  const MAX_VISIBLE_BADGES = 2;
@@ -1587,7 +1561,6 @@ function CheckboxFilter({ column, label, options, className, checkboxPopoverClas
1587
1561
  })]
1588
1562
  });
1589
1563
  }
1590
-
1591
1564
  //#endregion
1592
1565
  //#region src/components/features/data-table/filters/date-picker-filter.tsx
1593
1566
  function DatePickerFilter({ column, label, className, datePickerPopoverClassName, disableFuture, disablePast, minDate, maxDate, disabled }) {
@@ -1630,7 +1603,6 @@ function DatePickerFilter({ column, label, className, datePickerPopoverClassName
1630
1603
  })
1631
1604
  });
1632
1605
  }
1633
-
1634
1606
  //#endregion
1635
1607
  //#region src/components/features/data-table/filters/select-filter.tsx
1636
1608
  function SelectFilter({ column, label, options, placeholder, searchable = true, className, selectPopoverClassName, disabled }) {
@@ -1698,7 +1670,6 @@ function SelectFilter({ column, label, options, placeholder, searchable = true,
1698
1670
  })]
1699
1671
  });
1700
1672
  }
1701
-
1702
1673
  //#endregion
1703
1674
  //#region src/components/features/data-table/data-table.tsx
1704
1675
  const DataTable = {
@@ -1717,6 +1688,5 @@ const DataTable = {
1717
1688
  CheckboxFilter,
1718
1689
  DatePickerFilter
1719
1690
  };
1720
-
1721
1691
  //#endregion
1722
- export { DEFAULT_DEBOUNCE_MS, DEFAULT_LOADING_ROWS, DEFAULT_PAGE_SIZE, DEFAULT_PAGE_SIZES, DataTable, createDataTableStore, createSelectionColumn, useDataTableFilters, useDataTableInlineContents, useDataTableLoading, useDataTablePagination, useDataTableRows, useDataTableSearch, useDataTableSelection, useDataTableSorting, useNuqsAdapter };
1692
+ export { DEFAULT_DEBOUNCE_MS, DEFAULT_LOADING_ROWS, DEFAULT_PAGE_SIZE, DEFAULT_PAGE_SIZES, DataTable, createDataTableStore, createSelectionColumn, useDataTableFilters, useDataTableInlineContents, useDataTableLoading, useDataTablePagination, useDataTableRows, useDataTableSearch, useDataTableSelection, useDataTableSorting, useNuqsAdapter };
@@ -1,10 +1,3 @@
1
- import "../utils-DJboNGQM.mjs";
2
- import "../separator-BzyALya2.mjs";
3
- import "../button-D6AORsOz.mjs";
4
- import "../input-DEMoi_8F.mjs";
5
- import "../popover-ugw5MpuT.mjs";
6
- import "../select-BZOKWjlH.mjs";
7
- import { t as CalendarDatePicker } from "../calendar-date-picker-B9mxJM7f.mjs";
8
- import { C as utcToLocalInputString, S as utcStringToZonedDate, _ as getBrowserTimezone, a as formatTimeRangeDisplay, b as getTimezoneOffset, c as getPresetByKey, d as TimezoneSelector, f as QuickRangesPanel, g as formatUtcForDisplay, h as formatTimezoneLabel, i as formatSingleTimeDisplay, l as getPresetByShortcut, m as createTimezoneOption, n as TimeRangePicker, o as DEFAULT_PRESETS, p as CustomRangePanel, r as formatDateForInput, s as getDefaultPreset, t as toApiTimeRange, u as getPresetRange, v as getDefaultTimezoneOptions, w as zonedDateToUtcString, x as localInputStringToUtc, y as getShortTimezoneDisplay } from "../to-api-format-naIpF-NI.mjs";
9
-
10
- export { CustomRangePanel as AbsoluteRangePanel, CustomRangePanel, CalendarDatePicker, DEFAULT_PRESETS, QuickRangesPanel, TimeRangePicker, TimezoneSelector, createTimezoneOption, formatDateForInput, formatSingleTimeDisplay, formatTimeRangeDisplay, formatTimezoneLabel, formatUtcForDisplay, getBrowserTimezone, getDefaultPreset, getDefaultTimezoneOptions, getPresetByKey, getPresetByShortcut, getPresetRange, getShortTimezoneDisplay, getTimezoneOffset, localInputStringToUtc, toApiTimeRange, utcStringToZonedDate, utcToLocalInputString, zonedDateToUtcString };
1
+ import { t as CalendarDatePicker } from "../calendar-date-picker-DWK94_DC.mjs";
2
+ import { C as utcToLocalInputString, S as utcStringToZonedDate, _ as getBrowserTimezone, a as formatTimeRangeDisplay, b as getTimezoneOffset, c as getPresetByKey, d as TimezoneSelector, f as QuickRangesPanel, g as formatUtcForDisplay, h as formatTimezoneLabel, i as formatSingleTimeDisplay, l as getPresetByShortcut, m as createTimezoneOption, n as TimeRangePicker, o as DEFAULT_PRESETS, p as CustomRangePanel, r as formatDateForInput, s as getDefaultPreset, t as toApiTimeRange, u as getPresetRange, v as getDefaultTimezoneOptions, w as zonedDateToUtcString, x as localInputStringToUtc, y as getShortTimezoneDisplay } from "../to-api-format-BnbRFYQI.mjs";
3
+ export { CustomRangePanel as AbsoluteRangePanel, CustomRangePanel, CalendarDatePicker, DEFAULT_PRESETS, QuickRangesPanel, TimeRangePicker, TimezoneSelector, createTimezoneOption, formatDateForInput, formatSingleTimeDisplay, formatTimeRangeDisplay, formatTimezoneLabel, formatUtcForDisplay, getBrowserTimezone, getDefaultPreset, getDefaultTimezoneOptions, getPresetByKey, getPresetByShortcut, getPresetRange, getShortTimezoneDisplay, getTimezoneOffset, localInputStringToUtc, toApiTimeRange, utcStringToZonedDate, utcToLocalInputString, zonedDateToUtcString };
@@ -1,5 +1,2 @@
1
- import "../utils-DJboNGQM.mjs";
2
- import "../dialog-DdrHeboM.mjs";
3
- import { t as Dialog } from "../dialog-B0B3Kbfk.mjs";
4
-
5
- export { Dialog };
1
+ import { t as Dialog } from "../dialog-Bm2H9lrx.mjs";
2
+ export { Dialog };
@@ -1,10 +1,9 @@
1
- import { t as cn } from "./cn-DWCc1QRE.mjs";
2
- import { a as DialogFooter, c as DialogPortal, i as DialogDescription, l as DialogTitle, n as DialogClose, s as DialogOverlay$1, t as Dialog$1, u as DialogTrigger } from "./dialog-DdrHeboM.mjs";
3
- import { t as CloseIcon } from "./close.icon-D2r5q3bj.mjs";
1
+ import { t as cn } from "./cn-D2KYQ917.mjs";
2
+ import { a as DialogFooter, c as DialogPortal, i as DialogDescription, l as DialogTitle, n as DialogClose, s as DialogOverlay$1, t as Dialog$1, u as DialogTrigger } from "./dialog-DASRaFxD.mjs";
3
+ import { t as CloseIcon } from "./close.icon-HCfS4Y-N.mjs";
4
4
  import "react";
5
5
  import { jsx, jsxs } from "react/jsx-runtime";
6
6
  import * as DialogPrimitive from "@radix-ui/react-dialog";
7
-
8
7
  //#region src/components/base/dialog/dialog.tsx
9
8
  function Dialog({ children, ...props }) {
10
9
  return /* @__PURE__ */ jsx(Dialog$1, {
@@ -68,6 +67,5 @@ Dialog.Header = Header;
68
67
  Dialog.Body = Body;
69
68
  Dialog.Footer = Footer;
70
69
  Dialog.Overlay = DialogOverlay;
71
-
72
70
  //#endregion
73
- export { Dialog as t };
71
+ export { Dialog as t };
@@ -1,9 +1,8 @@
1
- import { t as cn } from "./utils-DJboNGQM.mjs";
1
+ import { t as cn } from "./utils-C8KwMfT_.mjs";
2
2
  import { XIcon } from "lucide-react";
3
3
  import "react";
4
4
  import { jsx, jsxs } from "react/jsx-runtime";
5
5
  import * as DialogPrimitive from "@radix-ui/react-dialog";
6
-
7
6
  //#region ../shadcn/ui/dialog.tsx
8
7
  const Dialog = ({ ...props }) => {
9
8
  return /* @__PURE__ */ jsx(DialogPrimitive.Root, {
@@ -81,6 +80,5 @@ const DialogDescription = ({ className, ...props }) => {
81
80
  ...props
82
81
  });
83
82
  };
84
-
85
83
  //#endregion
86
- export { DialogFooter as a, DialogPortal as c, DialogDescription as i, DialogTitle as l, DialogClose as n, DialogHeader as o, DialogContent as r, DialogOverlay as s, Dialog as t, DialogTrigger as u };
84
+ export { DialogFooter as a, DialogPortal as c, DialogDescription as i, DialogTitle as l, DialogClose as n, DialogHeader as o, DialogContent as r, DialogOverlay as s, Dialog as t, DialogTrigger as u };