@mieweb/ui 0.7.3-dev.2 → 0.7.3-dev.20

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 (215) hide show
  1. package/README.md +45 -24
  2. package/agent/README.md +20 -0
  3. package/agent/init-agent.mjs +61 -0
  4. package/agent/mieweb-ui.instructions.md +169 -0
  5. package/dist/ag-grid.cjs +11 -0
  6. package/dist/ag-grid.cjs.map +1 -1
  7. package/dist/ag-grid.d.cts +4 -0
  8. package/dist/ag-grid.d.ts +4 -0
  9. package/dist/ag-grid.js +11 -0
  10. package/dist/ag-grid.js.map +1 -1
  11. package/dist/brands/index.cjs +17 -17
  12. package/dist/brands/index.js +4 -4
  13. package/dist/chunk-3IMM2PM4.js +259 -0
  14. package/dist/chunk-3IMM2PM4.js.map +1 -0
  15. package/dist/{chunk-CVZYOMEW.js → chunk-3Z7CLG4U.js} +184 -3
  16. package/dist/chunk-3Z7CLG4U.js.map +1 -0
  17. package/dist/{chunk-Z4PECE5S.js → chunk-4PJ24GQ4.js} +2 -2
  18. package/dist/{chunk-Z4PECE5S.js.map → chunk-4PJ24GQ4.js.map} +1 -1
  19. package/dist/{chunk-ZBI52NP2.cjs → chunk-56QJHQ5C.cjs} +156 -39
  20. package/dist/chunk-56QJHQ5C.cjs.map +1 -0
  21. package/dist/{chunk-KRGKPUJH.js → chunk-5D253OQS.js} +7 -7
  22. package/dist/{chunk-KRGKPUJH.js.map → chunk-5D253OQS.js.map} +1 -1
  23. package/dist/chunk-6NZXWKUE.js +3 -0
  24. package/dist/chunk-6NZXWKUE.js.map +1 -0
  25. package/dist/{chunk-KFLDXJEE.js → chunk-753Z3NXL.js} +46 -15
  26. package/dist/chunk-753Z3NXL.js.map +1 -0
  27. package/dist/{chunk-S3MKIDYG.cjs → chunk-7AECNMYV.cjs} +46 -15
  28. package/dist/chunk-7AECNMYV.cjs.map +1 -0
  29. package/dist/{chunk-LC7YHZXM.js → chunk-A5YOIJKL.js} +5 -5
  30. package/dist/{chunk-LC7YHZXM.js.map → chunk-A5YOIJKL.js.map} +1 -1
  31. package/dist/{chunk-RBS3GHDZ.cjs → chunk-BOW7ZGI2.cjs} +4 -4
  32. package/dist/{chunk-RBS3GHDZ.cjs.map → chunk-BOW7ZGI2.cjs.map} +1 -1
  33. package/dist/{chunk-WUNWHOLA.cjs → chunk-BSDBI6H7.cjs} +116 -26
  34. package/dist/chunk-BSDBI6H7.cjs.map +1 -0
  35. package/dist/chunk-ELYGV32O.cjs +230 -0
  36. package/dist/chunk-ELYGV32O.cjs.map +1 -0
  37. package/dist/{chunk-QUUBTNMH.js → chunk-EPSB4WTL.js} +45 -15
  38. package/dist/chunk-EPSB4WTL.js.map +1 -0
  39. package/dist/chunk-F57VRLKP.js +708 -0
  40. package/dist/chunk-F57VRLKP.js.map +1 -0
  41. package/dist/{chunk-5IDYOJHO.cjs → chunk-G7EQ3JPX.cjs} +45 -15
  42. package/dist/chunk-G7EQ3JPX.cjs.map +1 -0
  43. package/dist/{chunk-FKLUSYFP.cjs → chunk-GQVL2JKQ.cjs} +4 -4
  44. package/dist/{chunk-FKLUSYFP.cjs.map → chunk-GQVL2JKQ.cjs.map} +1 -1
  45. package/dist/{chunk-3D4ITDLO.js → chunk-GXODR6V4.js} +3 -3
  46. package/dist/{chunk-3D4ITDLO.js.map → chunk-GXODR6V4.js.map} +1 -1
  47. package/dist/{chunk-AFGADE3B.js → chunk-H3YO5GBM.js} +117 -27
  48. package/dist/chunk-H3YO5GBM.js.map +1 -0
  49. package/dist/chunk-I44YNYI6.cjs +4 -0
  50. package/dist/chunk-I44YNYI6.cjs.map +1 -0
  51. package/dist/{chunk-EGWWTIWS.js → chunk-IILJGFI5.js} +125 -95
  52. package/dist/chunk-IILJGFI5.js.map +1 -0
  53. package/dist/{chunk-6J7UGYT5.cjs → chunk-JHGMZX4I.cjs} +47 -7
  54. package/dist/chunk-JHGMZX4I.cjs.map +1 -0
  55. package/dist/{chunk-JDHIBJ5K.cjs → chunk-JWTCEWQ4.cjs} +2 -2
  56. package/dist/{chunk-JDHIBJ5K.cjs.map → chunk-JWTCEWQ4.cjs.map} +1 -1
  57. package/dist/{chunk-GTHNWP4P.js → chunk-KGS7BL5T.js} +2 -2
  58. package/dist/{chunk-GTHNWP4P.js.map → chunk-KGS7BL5T.js.map} +1 -1
  59. package/dist/{chunk-URHXR5SC.cjs → chunk-KVE7PQ5P.cjs} +7 -7
  60. package/dist/{chunk-URHXR5SC.cjs.map → chunk-KVE7PQ5P.cjs.map} +1 -1
  61. package/dist/{chunk-LJBWCUKP.cjs → chunk-LGYGKLJL.cjs} +2 -2
  62. package/dist/{chunk-LJBWCUKP.cjs.map → chunk-LGYGKLJL.cjs.map} +1 -1
  63. package/dist/{chunk-SYIFEJSF.cjs → chunk-LQHI44OZ.cjs} +13 -13
  64. package/dist/{chunk-SYIFEJSF.cjs.map → chunk-LQHI44OZ.cjs.map} +1 -1
  65. package/dist/{chunk-HIDV32ZX.js → chunk-LZU7YBXG.js} +3 -3
  66. package/dist/{chunk-HIDV32ZX.js.map → chunk-LZU7YBXG.js.map} +1 -1
  67. package/dist/chunk-NMBYU7D7.cjs +31 -0
  68. package/dist/chunk-NMBYU7D7.cjs.map +1 -0
  69. package/dist/{chunk-P6L74SKG.js → chunk-QGZC43L7.js} +47 -7
  70. package/dist/chunk-QGZC43L7.js.map +1 -0
  71. package/dist/{chunk-FTRGZOVJ.js → chunk-QHTDWIED.js} +3 -3
  72. package/dist/{chunk-FTRGZOVJ.js.map → chunk-QHTDWIED.js.map} +1 -1
  73. package/dist/chunk-RUGHNFQG.js +28 -0
  74. package/dist/chunk-RUGHNFQG.js.map +1 -0
  75. package/dist/{chunk-MO65V64I.js → chunk-TXRQQMG5.js} +2 -2
  76. package/dist/{chunk-MO65V64I.js.map → chunk-TXRQQMG5.js.map} +1 -1
  77. package/dist/{chunk-OAHORW4N.cjs → chunk-U5TTXN45.cjs} +127 -97
  78. package/dist/chunk-U5TTXN45.cjs.map +1 -0
  79. package/dist/{chunk-MJFF4AXH.cjs → chunk-VNNFI5DQ.cjs} +184 -3
  80. package/dist/chunk-VNNFI5DQ.cjs.map +1 -0
  81. package/dist/{chunk-XB54G7WS.cjs → chunk-WG6MPHWK.cjs} +2 -2
  82. package/dist/{chunk-XB54G7WS.cjs.map → chunk-WG6MPHWK.cjs.map} +1 -1
  83. package/dist/{chunk-NQ2D2V6O.cjs → chunk-X5OS45WZ.cjs} +36 -36
  84. package/dist/{chunk-NQ2D2V6O.cjs.map → chunk-X5OS45WZ.cjs.map} +1 -1
  85. package/dist/{chunk-DLBV42JD.js → chunk-XBKOZRDO.js} +156 -39
  86. package/dist/chunk-XBKOZRDO.js.map +1 -0
  87. package/dist/chunk-XMECP2MD.js +208 -0
  88. package/dist/chunk-XMECP2MD.js.map +1 -0
  89. package/dist/chunk-YVIH26FG.cjs +736 -0
  90. package/dist/chunk-YVIH26FG.cjs.map +1 -0
  91. package/dist/chunk-Z5S5JEJD.cjs +286 -0
  92. package/dist/chunk-Z5S5JEJD.cjs.map +1 -0
  93. package/dist/{collabKit-QZL4P5T5.js → collabKit-A643VH2I.js} +7 -3
  94. package/dist/collabKit-A643VH2I.js.map +1 -0
  95. package/dist/{collabKit-UF7E6V3N.cjs → collabKit-Q4A36LDA.cjs} +7 -3
  96. package/dist/collabKit-Q4A36LDA.cjs.map +1 -0
  97. package/dist/components/Alert/index.d.cts +1 -1
  98. package/dist/components/Alert/index.d.ts +1 -1
  99. package/dist/components/Autocomplete/index.cjs +4 -3
  100. package/dist/components/Autocomplete/index.d.cts +20 -3
  101. package/dist/components/Autocomplete/index.d.ts +20 -3
  102. package/dist/components/Autocomplete/index.js +3 -2
  103. package/dist/components/Badge/index.d.cts +1 -1
  104. package/dist/components/Badge/index.d.ts +1 -1
  105. package/dist/components/Card/index.d.cts +1 -1
  106. package/dist/components/Card/index.d.ts +1 -1
  107. package/dist/components/Checkbox/index.cjs +5 -4
  108. package/dist/components/Checkbox/index.d.cts +9 -1
  109. package/dist/components/Checkbox/index.d.ts +9 -1
  110. package/dist/components/Checkbox/index.js +2 -1
  111. package/dist/components/CustomizableDashboard/index.cjs +43 -0
  112. package/dist/components/CustomizableDashboard/index.cjs.map +1 -0
  113. package/dist/components/CustomizableDashboard/index.d.cts +195 -0
  114. package/dist/components/CustomizableDashboard/index.d.ts +195 -0
  115. package/dist/components/CustomizableDashboard/index.js +10 -0
  116. package/dist/components/CustomizableDashboard/index.js.map +1 -0
  117. package/dist/components/DateInput/index.cjs +4 -3
  118. package/dist/components/DateInput/index.d.cts +1 -0
  119. package/dist/components/DateInput/index.d.ts +1 -0
  120. package/dist/components/DateInput/index.js +3 -2
  121. package/dist/components/Dropdown/index.cjs +9 -8
  122. package/dist/components/Dropdown/index.js +3 -2
  123. package/dist/components/Input/index.cjs +20 -3
  124. package/dist/components/Input/index.d.cts +37 -2
  125. package/dist/components/Input/index.d.ts +37 -2
  126. package/dist/components/Input/index.js +2 -1
  127. package/dist/components/Markdown/index.cjs +10 -10
  128. package/dist/components/Markdown/index.js +2 -2
  129. package/dist/components/MediaEditor/index.cjs +10 -9
  130. package/dist/components/MediaEditor/index.js +5 -4
  131. package/dist/components/PhoneInput/index.cjs +5 -4
  132. package/dist/components/PhoneInput/index.js +3 -2
  133. package/dist/components/Progress/index.d.cts +1 -1
  134. package/dist/components/Progress/index.d.ts +1 -1
  135. package/dist/components/Radio/index.cjs +5 -4
  136. package/dist/components/Radio/index.d.cts +9 -1
  137. package/dist/components/Radio/index.d.ts +9 -1
  138. package/dist/components/Radio/index.js +2 -1
  139. package/dist/components/RichTextEditor/index.cjs +7 -6
  140. package/dist/components/RichTextEditor/index.js +4 -3
  141. package/dist/components/Select/index.cjs +5 -3
  142. package/dist/components/Select/index.d.cts +56 -9
  143. package/dist/components/Select/index.d.ts +56 -9
  144. package/dist/components/Select/index.js +3 -1
  145. package/dist/components/Slider/index.d.cts +2 -2
  146. package/dist/components/Slider/index.d.ts +2 -2
  147. package/dist/components/SourceTip/index.cjs +15 -0
  148. package/dist/components/SourceTip/index.cjs.map +1 -0
  149. package/dist/components/SourceTip/index.d.cts +58 -0
  150. package/dist/components/SourceTip/index.d.ts +58 -0
  151. package/dist/components/SourceTip/index.js +6 -0
  152. package/dist/components/SourceTip/index.js.map +1 -0
  153. package/dist/components/Spinner/index.d.cts +1 -1
  154. package/dist/components/Spinner/index.d.ts +1 -1
  155. package/dist/components/SuperChat/index.cjs +7 -6
  156. package/dist/components/SuperChat/index.cjs.map +1 -1
  157. package/dist/components/SuperChat/index.js +3 -2
  158. package/dist/components/SuperChat/index.js.map +1 -1
  159. package/dist/components/SuperChat/plugins/index.cjs +2 -22
  160. package/dist/components/SuperChat/plugins/index.cjs.map +1 -1
  161. package/dist/components/SuperChat/plugins/index.js +1 -21
  162. package/dist/components/SuperChat/plugins/index.js.map +1 -1
  163. package/dist/components/Text/index.d.cts +1 -1
  164. package/dist/components/Text/index.d.ts +1 -1
  165. package/dist/components/Textarea/index.cjs +5 -3
  166. package/dist/components/Textarea/index.d.cts +19 -1
  167. package/dist/components/Textarea/index.d.ts +19 -1
  168. package/dist/components/Textarea/index.js +3 -1
  169. package/dist/esheet.cjs +10 -9
  170. package/dist/esheet.cjs.map +1 -1
  171. package/dist/esheet.js +7 -6
  172. package/dist/esheet.js.map +1 -1
  173. package/dist/hooks/index.cjs +23 -14
  174. package/dist/hooks/index.d.cts +16 -1
  175. package/dist/hooks/index.d.ts +16 -1
  176. package/dist/hooks/index.js +2 -1
  177. package/dist/index.cjs +753 -445
  178. package/dist/index.cjs.map +1 -1
  179. package/dist/index.d.cts +73 -10
  180. package/dist/index.d.ts +73 -10
  181. package/dist/index.js +291 -40
  182. package/dist/index.js.map +1 -1
  183. package/dist/kerebron.cjs +200 -68
  184. package/dist/kerebron.cjs.map +1 -1
  185. package/dist/kerebron.css +129 -0
  186. package/dist/kerebron.d.cts +52 -3
  187. package/dist/kerebron.d.ts +52 -3
  188. package/dist/kerebron.js +201 -69
  189. package/dist/kerebron.js.map +1 -1
  190. package/dist/styles.css +1 -1
  191. package/dist/tailwind-preset.cjs +4 -4
  192. package/dist/tailwind-preset.js +1 -1
  193. package/dist/utils/index.cjs +9 -9
  194. package/dist/utils/index.js +1 -1
  195. package/package.json +11 -4
  196. package/dist/chunk-5IDYOJHO.cjs.map +0 -1
  197. package/dist/chunk-6ECKH4DJ.cjs +0 -147
  198. package/dist/chunk-6ECKH4DJ.cjs.map +0 -1
  199. package/dist/chunk-6J7UGYT5.cjs.map +0 -1
  200. package/dist/chunk-AFGADE3B.js.map +0 -1
  201. package/dist/chunk-CVZYOMEW.js.map +0 -1
  202. package/dist/chunk-DLBV42JD.js.map +0 -1
  203. package/dist/chunk-EGWWTIWS.js.map +0 -1
  204. package/dist/chunk-KFLDXJEE.js.map +0 -1
  205. package/dist/chunk-MJFF4AXH.cjs.map +0 -1
  206. package/dist/chunk-OAHORW4N.cjs.map +0 -1
  207. package/dist/chunk-P6L74SKG.js.map +0 -1
  208. package/dist/chunk-QUUBTNMH.js.map +0 -1
  209. package/dist/chunk-S3MKIDYG.cjs.map +0 -1
  210. package/dist/chunk-WUNWHOLA.cjs.map +0 -1
  211. package/dist/chunk-YXCE2HSK.js +0 -124
  212. package/dist/chunk-YXCE2HSK.js.map +0 -1
  213. package/dist/chunk-ZBI52NP2.cjs.map +0 -1
  214. package/dist/collabKit-QZL4P5T5.js.map +0 -1
  215. package/dist/collabKit-UF7E6V3N.cjs.map +0 -1
@@ -1,7 +1,7 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import * as React from 'react';
3
3
  import { VariantProps } from 'class-variance-authority';
4
- import { inputVariants } from '../Input/index.cjs';
4
+ import { inputVariants, RequiredMarkVariant } from '../Input/index.cjs';
5
5
  import 'class-variance-authority/types';
6
6
 
7
7
  interface AutocompleteProps<T> extends Pick<VariantProps<typeof inputVariants>, 'size'> {
@@ -41,6 +41,23 @@ interface AutocompleteProps<T> extends Pick<VariantProps<typeof inputVariants>,
41
41
  clearOnSelect?: boolean;
42
42
  /** Disable the input. */
43
43
  disabled?: boolean;
44
+ /** Label for the input. */
45
+ label?: string;
46
+ /**
47
+ * How the label is rendered.
48
+ * - `stacked` (default): label above the input.
49
+ * - `floating`: label rests inside the input like a placeholder and floats
50
+ * to the top of the field when focused or filled. Ignores `placeholder`.
51
+ */
52
+ labelVariant?: 'stacked' | 'floating';
53
+ /** Whether the input is required. */
54
+ required?: boolean;
55
+ /**
56
+ * Color of the required asterisk.
57
+ * - `default`: destructive (hard requirement).
58
+ * - `warning`: warning color (soft requirement / recommended).
59
+ */
60
+ requiredVariant?: RequiredMarkVariant;
44
61
  /** Accessible label for the combobox input. */
45
62
  'aria-label'?: string;
46
63
  /** Class applied to the outer wrapper. */
@@ -50,7 +67,7 @@ interface AutocompleteProps<T> extends Pick<VariantProps<typeof inputVariants>,
50
67
  /** Forwarded ref to the underlying input. */
51
68
  inputRef?: React.Ref<HTMLInputElement>;
52
69
  /** Additional props forwarded to the input element. */
53
- inputProps?: Omit<React.InputHTMLAttributes<HTMLInputElement>, 'value' | 'defaultValue' | 'onChange' | 'size' | 'placeholder' | 'disabled' | 'aria-label'>;
70
+ inputProps?: Omit<React.InputHTMLAttributes<HTMLInputElement>, 'value' | 'defaultValue' | 'onChange' | 'size' | 'placeholder' | 'disabled' | 'required' | 'aria-label'>;
54
71
  }
55
72
  /**
56
73
  * A data-agnostic, presentational combobox. It renders a search input with a
@@ -69,7 +86,7 @@ interface AutocompleteProps<T> extends Pick<VariantProps<typeof inputVariants>,
69
86
  * />
70
87
  * ```
71
88
  */
72
- declare function Autocomplete<T>({ items, onSelect, getItemKey, renderItem, filter, value: controlledValue, defaultValue, onValueChange, placeholder, emptyMessage, createLabel, onCreate, minQueryLength, clearOnSelect, disabled, size, className, inputClassName, inputRef, inputProps, 'aria-label': ariaLabel, }: AutocompleteProps<T>): react_jsx_runtime.JSX.Element;
89
+ declare function Autocomplete<T>({ items, onSelect, getItemKey, renderItem, filter, value: controlledValue, defaultValue, onValueChange, placeholder, emptyMessage, createLabel, onCreate, minQueryLength, clearOnSelect, disabled, label, labelVariant, required, requiredVariant, size, className, inputClassName, inputRef, inputProps, 'aria-label': ariaLabel, }: AutocompleteProps<T>): react_jsx_runtime.JSX.Element;
73
90
  declare namespace Autocomplete {
74
91
  var displayName: string;
75
92
  }
@@ -1,7 +1,7 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import * as React from 'react';
3
3
  import { VariantProps } from 'class-variance-authority';
4
- import { inputVariants } from '../Input/index.js';
4
+ import { inputVariants, RequiredMarkVariant } from '../Input/index.js';
5
5
  import 'class-variance-authority/types';
6
6
 
7
7
  interface AutocompleteProps<T> extends Pick<VariantProps<typeof inputVariants>, 'size'> {
@@ -41,6 +41,23 @@ interface AutocompleteProps<T> extends Pick<VariantProps<typeof inputVariants>,
41
41
  clearOnSelect?: boolean;
42
42
  /** Disable the input. */
43
43
  disabled?: boolean;
44
+ /** Label for the input. */
45
+ label?: string;
46
+ /**
47
+ * How the label is rendered.
48
+ * - `stacked` (default): label above the input.
49
+ * - `floating`: label rests inside the input like a placeholder and floats
50
+ * to the top of the field when focused or filled. Ignores `placeholder`.
51
+ */
52
+ labelVariant?: 'stacked' | 'floating';
53
+ /** Whether the input is required. */
54
+ required?: boolean;
55
+ /**
56
+ * Color of the required asterisk.
57
+ * - `default`: destructive (hard requirement).
58
+ * - `warning`: warning color (soft requirement / recommended).
59
+ */
60
+ requiredVariant?: RequiredMarkVariant;
44
61
  /** Accessible label for the combobox input. */
45
62
  'aria-label'?: string;
46
63
  /** Class applied to the outer wrapper. */
@@ -50,7 +67,7 @@ interface AutocompleteProps<T> extends Pick<VariantProps<typeof inputVariants>,
50
67
  /** Forwarded ref to the underlying input. */
51
68
  inputRef?: React.Ref<HTMLInputElement>;
52
69
  /** Additional props forwarded to the input element. */
53
- inputProps?: Omit<React.InputHTMLAttributes<HTMLInputElement>, 'value' | 'defaultValue' | 'onChange' | 'size' | 'placeholder' | 'disabled' | 'aria-label'>;
70
+ inputProps?: Omit<React.InputHTMLAttributes<HTMLInputElement>, 'value' | 'defaultValue' | 'onChange' | 'size' | 'placeholder' | 'disabled' | 'required' | 'aria-label'>;
54
71
  }
55
72
  /**
56
73
  * A data-agnostic, presentational combobox. It renders a search input with a
@@ -69,7 +86,7 @@ interface AutocompleteProps<T> extends Pick<VariantProps<typeof inputVariants>,
69
86
  * />
70
87
  * ```
71
88
  */
72
- declare function Autocomplete<T>({ items, onSelect, getItemKey, renderItem, filter, value: controlledValue, defaultValue, onValueChange, placeholder, emptyMessage, createLabel, onCreate, minQueryLength, clearOnSelect, disabled, size, className, inputClassName, inputRef, inputProps, 'aria-label': ariaLabel, }: AutocompleteProps<T>): react_jsx_runtime.JSX.Element;
89
+ declare function Autocomplete<T>({ items, onSelect, getItemKey, renderItem, filter, value: controlledValue, defaultValue, onValueChange, placeholder, emptyMessage, createLabel, onCreate, minQueryLength, clearOnSelect, disabled, label, labelVariant, required, requiredVariant, size, className, inputClassName, inputRef, inputProps, 'aria-label': ariaLabel, }: AutocompleteProps<T>): react_jsx_runtime.JSX.Element;
73
90
  declare namespace Autocomplete {
74
91
  var displayName: string;
75
92
  }
@@ -1,5 +1,6 @@
1
- export { Autocomplete } from '../../chunk-P6L74SKG.js';
2
- import '../../chunk-YXCE2HSK.js';
1
+ export { Autocomplete } from '../../chunk-QGZC43L7.js';
2
+ import '../../chunk-6NZXWKUE.js';
3
+ import '../../chunk-3IMM2PM4.js';
3
4
  import '../../chunk-62ZOA6PX.js';
4
5
  import '../../chunk-BOOJDRJO.js';
5
6
  import '../../chunk-TQONQSJO.js';
@@ -3,7 +3,7 @@ import * as React from 'react';
3
3
  import { VariantProps } from 'class-variance-authority';
4
4
 
5
5
  declare const badgeVariants: (props?: ({
6
- variant?: "secondary" | "outline" | "danger" | "default" | "success" | "warning" | null | undefined;
6
+ variant?: "secondary" | "outline" | "danger" | "default" | "warning" | "success" | null | undefined;
7
7
  size?: "sm" | "md" | "lg" | null | undefined;
8
8
  } & class_variance_authority_types.ClassProp) | undefined) => string;
9
9
  interface BadgeProps extends React.HTMLAttributes<HTMLSpanElement>, VariantProps<typeof badgeVariants> {
@@ -3,7 +3,7 @@ import * as React from 'react';
3
3
  import { VariantProps } from 'class-variance-authority';
4
4
 
5
5
  declare const badgeVariants: (props?: ({
6
- variant?: "secondary" | "outline" | "danger" | "default" | "success" | "warning" | null | undefined;
6
+ variant?: "secondary" | "outline" | "danger" | "default" | "warning" | "success" | null | undefined;
7
7
  size?: "sm" | "md" | "lg" | null | undefined;
8
8
  } & class_variance_authority_types.ClassProp) | undefined) => string;
9
9
  interface BadgeProps extends React.HTMLAttributes<HTMLSpanElement>, VariantProps<typeof badgeVariants> {
@@ -10,7 +10,7 @@ declare const cardVariants: (props?: ({
10
10
  orientation?: "horizontal" | "vertical" | null | undefined;
11
11
  } & class_variance_authority_types.ClassProp) | undefined) => string;
12
12
  declare const cardAccentVariants: (props?: ({
13
- color?: "primary" | "success" | "info" | "warning" | "destructive" | null | undefined;
13
+ color?: "primary" | "warning" | "success" | "info" | "destructive" | null | undefined;
14
14
  } & class_variance_authority_types.ClassProp) | undefined) => string;
15
15
  interface CardProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof cardVariants> {
16
16
  /** Semantic HTML element to render as */
@@ -10,7 +10,7 @@ declare const cardVariants: (props?: ({
10
10
  orientation?: "horizontal" | "vertical" | null | undefined;
11
11
  } & class_variance_authority_types.ClassProp) | undefined) => string;
12
12
  declare const cardAccentVariants: (props?: ({
13
- color?: "primary" | "success" | "info" | "warning" | "destructive" | null | undefined;
13
+ color?: "primary" | "warning" | "success" | "info" | "destructive" | null | undefined;
14
14
  } & class_variance_authority_types.ClassProp) | undefined) => string;
15
15
  interface CardProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof cardVariants> {
16
16
  /** Semantic HTML element to render as */
@@ -1,21 +1,22 @@
1
1
  'use strict';
2
2
 
3
- var chunkS3MKIDYG_cjs = require('../../chunk-S3MKIDYG.cjs');
3
+ var chunk7AECNMYV_cjs = require('../../chunk-7AECNMYV.cjs');
4
+ require('../../chunk-Z5S5JEJD.cjs');
4
5
  require('../../chunk-S5RVSXDV.cjs');
5
6
 
6
7
 
7
8
 
8
9
  Object.defineProperty(exports, "Checkbox", {
9
10
  enumerable: true,
10
- get: function () { return chunkS3MKIDYG_cjs.Checkbox; }
11
+ get: function () { return chunk7AECNMYV_cjs.Checkbox; }
11
12
  });
12
13
  Object.defineProperty(exports, "CheckboxGroup", {
13
14
  enumerable: true,
14
- get: function () { return chunkS3MKIDYG_cjs.CheckboxGroup; }
15
+ get: function () { return chunk7AECNMYV_cjs.CheckboxGroup; }
15
16
  });
16
17
  Object.defineProperty(exports, "checkboxVariants", {
17
18
  enumerable: true,
18
- get: function () { return chunkS3MKIDYG_cjs.checkboxVariants; }
19
+ get: function () { return chunk7AECNMYV_cjs.checkboxVariants; }
19
20
  });
20
21
  //# sourceMappingURL=index.cjs.map
21
22
  //# sourceMappingURL=index.cjs.map
@@ -32,6 +32,14 @@ declare const Checkbox: React.ForwardRefExoticComponent<CheckboxProps & React.Re
32
32
  interface CheckboxGroupProps {
33
33
  /** Group label */
34
34
  label?: string;
35
+ /**
36
+ * How the group label is rendered.
37
+ * - `stacked` (default): label above the options.
38
+ * - `floating`: renders the group as a bordered field matching floating
39
+ * inputs, with the label fixed in the floated position so mixed forms
40
+ * stay vertically aligned.
41
+ */
42
+ labelVariant?: 'stacked' | 'floating';
35
43
  /** Description for the group */
36
44
  description?: string;
37
45
  /** Error message for the group */
@@ -55,7 +63,7 @@ interface CheckboxGroupProps {
55
63
  * </CheckboxGroup>
56
64
  * ```
57
65
  */
58
- declare function CheckboxGroup({ label, description, error, orientation, children, className, }: CheckboxGroupProps): react_jsx_runtime.JSX.Element;
66
+ declare function CheckboxGroup({ label, labelVariant, description, error, orientation, children, className, }: CheckboxGroupProps): react_jsx_runtime.JSX.Element;
59
67
  declare namespace CheckboxGroup {
60
68
  var displayName: string;
61
69
  }
@@ -32,6 +32,14 @@ declare const Checkbox: React.ForwardRefExoticComponent<CheckboxProps & React.Re
32
32
  interface CheckboxGroupProps {
33
33
  /** Group label */
34
34
  label?: string;
35
+ /**
36
+ * How the group label is rendered.
37
+ * - `stacked` (default): label above the options.
38
+ * - `floating`: renders the group as a bordered field matching floating
39
+ * inputs, with the label fixed in the floated position so mixed forms
40
+ * stay vertically aligned.
41
+ */
42
+ labelVariant?: 'stacked' | 'floating';
35
43
  /** Description for the group */
36
44
  description?: string;
37
45
  /** Error message for the group */
@@ -55,7 +63,7 @@ interface CheckboxGroupProps {
55
63
  * </CheckboxGroup>
56
64
  * ```
57
65
  */
58
- declare function CheckboxGroup({ label, description, error, orientation, children, className, }: CheckboxGroupProps): react_jsx_runtime.JSX.Element;
66
+ declare function CheckboxGroup({ label, labelVariant, description, error, orientation, children, className, }: CheckboxGroupProps): react_jsx_runtime.JSX.Element;
59
67
  declare namespace CheckboxGroup {
60
68
  var displayName: string;
61
69
  }
@@ -1,4 +1,5 @@
1
- export { Checkbox, CheckboxGroup, checkboxVariants } from '../../chunk-KFLDXJEE.js';
1
+ export { Checkbox, CheckboxGroup, checkboxVariants } from '../../chunk-753Z3NXL.js';
2
+ import '../../chunk-3IMM2PM4.js';
2
3
  import '../../chunk-TQONQSJO.js';
3
4
  //# sourceMappingURL=index.js.map
4
5
  //# sourceMappingURL=index.js.map
@@ -0,0 +1,43 @@
1
+ 'use strict';
2
+
3
+ var chunkYVIH26FG_cjs = require('../../chunk-YVIH26FG.cjs');
4
+ require('../../chunk-PLMXN23Q.cjs');
5
+ require('../../chunk-RS5VA6QU.cjs');
6
+ require('../../chunk-RDGRKYQ5.cjs');
7
+ require('../../chunk-NNEFAUHV.cjs');
8
+ require('../../chunk-FHY3K6PL.cjs');
9
+ require('../../chunk-S5RVSXDV.cjs');
10
+ require('../../chunk-SCV7C55E.cjs');
11
+
12
+
13
+
14
+ Object.defineProperty(exports, "CustomizableDashboard", {
15
+ enumerable: true,
16
+ get: function () { return chunkYVIH26FG_cjs.CustomizableDashboard; }
17
+ });
18
+ Object.defineProperty(exports, "DashboardCustomizePanel", {
19
+ enumerable: true,
20
+ get: function () { return chunkYVIH26FG_cjs.DashboardCustomizePanel; }
21
+ });
22
+ Object.defineProperty(exports, "consolidateColumns", {
23
+ enumerable: true,
24
+ get: function () { return chunkYVIH26FG_cjs.consolidateColumns; }
25
+ });
26
+ Object.defineProperty(exports, "mergeColumnOrder", {
27
+ enumerable: true,
28
+ get: function () { return chunkYVIH26FG_cjs.mergeColumnOrder; }
29
+ });
30
+ Object.defineProperty(exports, "moveAcrossColumns", {
31
+ enumerable: true,
32
+ get: function () { return chunkYVIH26FG_cjs.moveAcrossColumns; }
33
+ });
34
+ Object.defineProperty(exports, "reorderOnDrop", {
35
+ enumerable: true,
36
+ get: function () { return chunkYVIH26FG_cjs.reorderOnDrop; }
37
+ });
38
+ Object.defineProperty(exports, "requiredColumns", {
39
+ enumerable: true,
40
+ get: function () { return chunkYVIH26FG_cjs.requiredColumns; }
41
+ });
42
+ //# sourceMappingURL=index.cjs.map
43
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"index.cjs"}
@@ -0,0 +1,195 @@
1
+ import * as React from 'react';
2
+ import * as react_jsx_runtime from 'react/jsx-runtime';
3
+
4
+ /** Catalog metadata for a widget a user can show or hide on a dashboard. */
5
+ interface WidgetDefinition {
6
+ /** Matches the portlet's `PortletItem.id`. */
7
+ id: string;
8
+ title: string;
9
+ description?: string;
10
+ /** Small leading icon, e.g. `<Activity className="h-4 w-4" />`. */
11
+ icon?: React.ReactNode;
12
+ /** Widgets sharing a category are grouped under a heading. */
13
+ category?: string;
14
+ }
15
+ interface DashboardCustomizePanelProps {
16
+ /** Whether the panel is open. */
17
+ open: boolean;
18
+ /** Callback when the panel should open or close. */
19
+ onOpenChange: (open: boolean) => void;
20
+ /** The full widget catalog for this dashboard. */
21
+ widgets: WidgetDefinition[];
22
+ /** Ids of widgets currently hidden. */
23
+ hiddenIds: string[];
24
+ /** Called when a widget is shown (`visible: true`) or hidden. */
25
+ onToggleWidget: (id: string, visible: boolean) => void;
26
+ /** When provided, renders a "Reset layout" action in the footer. */
27
+ onReset?: () => void;
28
+ /** Panel heading (default "Customize dashboard"). */
29
+ title?: string;
30
+ /** Supporting copy under the heading. */
31
+ description?: string;
32
+ }
33
+ /**
34
+ * A slide-in panel listing a dashboard's widget catalog with show/hide
35
+ * toggles, grouped by category, plus an optional layout reset.
36
+ *
37
+ * Used automatically by `CustomizableDashboard` when its `widgets` prop is
38
+ * set, and exported standalone for hosts that render their own trigger or
39
+ * persist visibility elsewhere.
40
+ *
41
+ * @example
42
+ * ```tsx
43
+ * <DashboardCustomizePanel
44
+ * open={open}
45
+ * onOpenChange={setOpen}
46
+ * widgets={WIDGETS}
47
+ * hiddenIds={hidden}
48
+ * onToggleWidget={(id, visible) =>
49
+ * setHidden((prev) =>
50
+ * visible ? prev.filter((h) => h !== id) : [...prev, id]
51
+ * )
52
+ * }
53
+ * />
54
+ * ```
55
+ */
56
+ declare function DashboardCustomizePanel({ open, onOpenChange, widgets, hiddenIds, onToggleWidget, onReset, title, description, }: DashboardCustomizePanelProps): react_jsx_runtime.JSX.Element;
57
+
58
+ /** A dashboard item: a stable id plus the rendered content. */
59
+ interface PortletItem {
60
+ id: string;
61
+ node: React.ReactNode;
62
+ }
63
+ /** Number of visible columns. */
64
+ type DashboardLayout = 1 | 2 | 3;
65
+ /** Portlet items grouped into three logical columns. */
66
+ type DashboardColumns = [PortletItem[], PortletItem[], PortletItem[]];
67
+ /** Portlet ids grouped into three logical columns. */
68
+ type DashboardOrder = [string[], string[], string[]];
69
+ interface CustomizableDashboardProps {
70
+ /**
71
+ * Portlets grouped into three columns. This is the default arrangement;
72
+ * user reordering (persisted or controlled) takes precedence. Items later
73
+ * removed from props disappear from saved layouts automatically, and new
74
+ * items appear in their props column.
75
+ */
76
+ columns: DashboardColumns;
77
+ /** Toolbar heading rendered before the layout toggle. */
78
+ title?: string;
79
+ /**
80
+ * Base localStorage key used to persist column order and layout mode
81
+ * (`{storageKey}-portlet-order` / `{storageKey}-dashboard-layout`).
82
+ * Omit to disable built-in persistence (e.g. when using `order` /
83
+ * `onOrderChange` with a server-side store). Distinct dashboards must
84
+ * pass distinct keys.
85
+ */
86
+ storageKey?: string;
87
+ /** Accessible label for the dashboard grid region. */
88
+ ariaLabel?: string;
89
+ /**
90
+ * Optional DOM element to portal the toolbar (title + layout toggle)
91
+ * into, e.g. a page header actions row. When omitted, the toolbar
92
+ * renders inline above the grid.
93
+ */
94
+ toolbarSlot?: HTMLElement | null;
95
+ /** Initial column order for uncontrolled usage with external persistence. */
96
+ defaultOrder?: DashboardOrder;
97
+ /** Controlled column order. Changes are reported via `onOrderChange`. */
98
+ order?: DashboardOrder;
99
+ /** Called with the full new order after a drop or layout normalization. */
100
+ onOrderChange?: (order: DashboardOrder) => void;
101
+ /** Initial layout mode for uncontrolled usage (default 3). */
102
+ defaultLayout?: DashboardLayout;
103
+ /** Controlled layout mode. Changes are reported via `onLayoutChange`. */
104
+ layout?: DashboardLayout;
105
+ /** Called when the user changes the column layout (or it auto-shrinks). */
106
+ onLayoutChange?: (layout: DashboardLayout) => void;
107
+ /**
108
+ * CSS selector for the header element inside each portlet that receives
109
+ * the drag handle. Defaults to the `DashboardWidget` header slot. When no
110
+ * header matches, the handle floats over the portlet's top end corner.
111
+ */
112
+ dragHandleSelector?: string;
113
+ /**
114
+ * Widget catalog metadata. When provided, the toolbar gains a Customize
115
+ * button opening a panel where users show/hide widgets and reset the
116
+ * layout. Ids must match the portlet ids in `columns`.
117
+ */
118
+ widgets?: WidgetDefinition[];
119
+ /** Initially hidden widget ids for uncontrolled usage. */
120
+ defaultHiddenIds?: string[];
121
+ /** Controlled hidden widget ids. Changes reported via `onHiddenChange`. */
122
+ hiddenIds?: string[];
123
+ /** Called with the full hidden-id list when visibility changes. */
124
+ onHiddenChange?: (hiddenIds: string[]) => void;
125
+ /** Label for the toolbar customize button (default "Customize"). */
126
+ customizeLabel?: string;
127
+ /** Additional class name for the grid element. */
128
+ className?: string;
129
+ }
130
+ /**
131
+ * Merge a saved/provided order with the current props columns: saved
132
+ * positions win, unknown saved ids are dropped, and new items are appended
133
+ * to their original props column.
134
+ */
135
+ declare function mergeColumnOrder(columns: DashboardColumns, saved: DashboardOrder | null): DashboardOrder;
136
+ /**
137
+ * Move `activeId` into the column named by `overId` (a column id or an item
138
+ * id), inserted before the hovered item. Returns the same reference when no
139
+ * cross-column move is needed.
140
+ */
141
+ declare function moveAcrossColumns(order: DashboardOrder, activeId: string, overId: string): DashboardOrder;
142
+ /**
143
+ * Final order for a drop. Same-column drags reorder around the hovered
144
+ * item. After a cross-column move, the one position `moveAcrossColumns`
145
+ * already chose — active sitting immediately before the hovered item — is
146
+ * kept (reordering would flip it to the other side of that item), but
147
+ * hovering any other item in the destination column still reorders, so a
148
+ * drag can keep moving after it crosses.
149
+ */
150
+ declare function reorderOnDrop(order: DashboardOrder, activeId: string, overId: string, crossedColumns: boolean): DashboardOrder;
151
+ /**
152
+ * Consolidate columns beyond the visible count into the last visible one.
153
+ * Returns the same reference when nothing needs to move so callers can use
154
+ * reference equality to skip persistence/notification.
155
+ */
156
+ declare function consolidateColumns(order: DashboardOrder, mode: DashboardLayout): DashboardOrder;
157
+ /**
158
+ * Columns needed to show every item: the highest occupied index + 1, so a
159
+ * gap like `[a], [], [c]` still requires three columns.
160
+ */
161
+ declare function requiredColumns(order: DashboardOrder): DashboardLayout;
162
+ /**
163
+ * A user-customizable portlet dashboard: a responsive 1–3 column grid whose
164
+ * items can be dragged between and within columns, with a column-layout
165
+ * toggle and optional persistence.
166
+ *
167
+ * Each portlet's drag handle is appended to the header element matched by
168
+ * `dragHandleSelector` inside its content — `DashboardWidget` headers are
169
+ * matched by default. Portlets without a matching header get a floating
170
+ * handle in their top end corner.
171
+ *
172
+ * Order and layout are persisted to localStorage when `storageKey` is set,
173
+ * or can be controlled via `order`/`onOrderChange` and
174
+ * `layout`/`onLayoutChange` for server-side persistence.
175
+ *
176
+ * Passing a `widgets` catalog adds a toolbar Customize button opening a
177
+ * `DashboardCustomizePanel` where users show/hide widgets and reset the
178
+ * layout; visibility follows the same persistence rules via
179
+ * `hiddenIds`/`onHiddenChange`.
180
+ *
181
+ * @example
182
+ * ```tsx
183
+ * <CustomizableDashboard
184
+ * storageKey="home"
185
+ * columns={[
186
+ * [{ id: 'stats', node: <StatsWidget /> }],
187
+ * [{ id: 'tasks', node: <TasksWidget /> }],
188
+ * [{ id: 'orders', node: <OrdersWidget /> }],
189
+ * ]}
190
+ * />
191
+ * ```
192
+ */
193
+ declare const CustomizableDashboard: React.ForwardRefExoticComponent<CustomizableDashboardProps & React.RefAttributes<HTMLDivElement>>;
194
+
195
+ export { CustomizableDashboard, type CustomizableDashboardProps, type DashboardColumns, DashboardCustomizePanel, type DashboardCustomizePanelProps, type DashboardLayout, type DashboardOrder, type PortletItem, type WidgetDefinition, consolidateColumns, mergeColumnOrder, moveAcrossColumns, reorderOnDrop, requiredColumns };