@bigbinary/neeto-atoms 1.0.8 → 1.0.9

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 (176) hide show
  1. package/dist/ColorPicker-D-7QGnf9.js +277 -0
  2. package/dist/ColorPicker-D-7QGnf9.js.map +1 -0
  3. package/dist/{DataTable-BKe9K5XP.js → DataTable-DWR9gX9d.js} +11 -3
  4. package/dist/{DataTable-BKe9K5XP.js.map → DataTable-DWR9gX9d.js.map} +1 -1
  5. package/dist/TranslationProvider-Ba9rn47H.js +96 -0
  6. package/dist/TranslationProvider-Ba9rn47H.js.map +1 -0
  7. package/dist/cjs/{ColorPicker-DN8aynGh.js → ColorPicker-DEELmqH8.js} +7 -10
  8. package/dist/cjs/ColorPicker-DEELmqH8.js.map +1 -0
  9. package/dist/cjs/{DataTable-BQt_mXDX.js → DataTable-CWs96k8n.js} +11 -3
  10. package/dist/cjs/{DataTable-BQt_mXDX.js.map → DataTable-CWs96k8n.js.map} +1 -1
  11. package/dist/cjs/TranslationProvider-DBZHXmzX.js +103 -0
  12. package/dist/cjs/TranslationProvider-DBZHXmzX.js.map +1 -0
  13. package/dist/cjs/components/Alert.js +7 -3
  14. package/dist/cjs/components/Alert.js.map +1 -1
  15. package/dist/cjs/components/Avatar.js +75 -0
  16. package/dist/cjs/components/Avatar.js.map +1 -0
  17. package/dist/cjs/components/Badge.js +3 -1
  18. package/dist/cjs/components/Badge.js.map +1 -1
  19. package/dist/cjs/components/Button.js +1 -0
  20. package/dist/cjs/components/Button.js.map +1 -1
  21. package/dist/cjs/components/Callout.js +73 -0
  22. package/dist/cjs/components/Callout.js.map +1 -0
  23. package/dist/cjs/components/ColorPicker.js +3 -1
  24. package/dist/cjs/components/ColorPicker.js.map +1 -1
  25. package/dist/cjs/components/DataTable.js +2 -1
  26. package/dist/cjs/components/DataTable.js.map +1 -1
  27. package/dist/cjs/components/Dialog.js +3 -2
  28. package/dist/cjs/components/Dialog.js.map +1 -1
  29. package/dist/cjs/components/DropdownMenu.js +3 -1
  30. package/dist/cjs/components/DropdownMenu.js.map +1 -1
  31. package/dist/cjs/components/Empty.js +59 -0
  32. package/dist/cjs/components/Empty.js.map +1 -0
  33. package/dist/cjs/components/Kbd.js +63 -0
  34. package/dist/cjs/components/Kbd.js.map +1 -0
  35. package/dist/cjs/components/Label.js +91 -0
  36. package/dist/cjs/components/Label.js.map +1 -0
  37. package/dist/cjs/components/MultiSelectDropdown.js +1 -0
  38. package/dist/cjs/components/MultiSelectDropdown.js.map +1 -1
  39. package/dist/cjs/components/Progress.js +22 -0
  40. package/dist/cjs/components/Progress.js.map +1 -0
  41. package/dist/cjs/components/SelectTriggerContent.js +11 -7
  42. package/dist/cjs/components/SelectTriggerContent.js.map +1 -1
  43. package/dist/cjs/components/Sheet.js +3 -2
  44. package/dist/cjs/components/Sheet.js.map +1 -1
  45. package/dist/cjs/components/Slider.js +45 -0
  46. package/dist/cjs/components/Slider.js.map +1 -0
  47. package/dist/cjs/components/Spinner.js +27 -0
  48. package/dist/cjs/components/Spinner.js.map +1 -0
  49. package/dist/cjs/components/Stepper.js +39 -0
  50. package/dist/cjs/components/Stepper.js.map +1 -0
  51. package/dist/cjs/components/TranslationProvider.js +12 -0
  52. package/dist/cjs/components/TranslationProvider.js.map +1 -0
  53. package/dist/cjs/{dialog-CF2GBHOG.js → dialog-Bvyrshz3.js} +4 -2
  54. package/dist/cjs/dialog-Bvyrshz3.js.map +1 -0
  55. package/dist/cjs/index.js +44 -10
  56. package/dist/cjs/index.js.map +1 -1
  57. package/dist/cjs/primitives/Breadcrumb.js +5 -2
  58. package/dist/cjs/primitives/Breadcrumb.js.map +1 -1
  59. package/dist/cjs/primitives/Carousel.js +5 -2
  60. package/dist/cjs/primitives/Carousel.js.map +1 -1
  61. package/dist/cjs/primitives/Command.js +6 -2
  62. package/dist/cjs/primitives/Command.js.map +1 -1
  63. package/dist/cjs/primitives/Dialog.js +2 -1
  64. package/dist/cjs/primitives/Dialog.js.map +1 -1
  65. package/dist/cjs/primitives/Pagination.js +11 -5
  66. package/dist/cjs/primitives/Pagination.js.map +1 -1
  67. package/dist/cjs/primitives/Sheet.js +2 -1
  68. package/dist/cjs/primitives/Sheet.js.map +1 -1
  69. package/dist/cjs/primitives/Sidebar.js +8 -4
  70. package/dist/cjs/primitives/Sidebar.js.map +1 -1
  71. package/dist/cjs/primitives/Sonner.js +7 -42
  72. package/dist/cjs/primitives/Sonner.js.map +1 -1
  73. package/dist/cjs/primitives/Spinner.js +3 -1
  74. package/dist/cjs/primitives/Spinner.js.map +1 -1
  75. package/dist/cjs/primitives/index.js +4 -2
  76. package/dist/cjs/primitives/index.js.map +1 -1
  77. package/dist/cjs/{sheet-CkCrHmVA.js → sheet-BZHMKVH1.js} +4 -2
  78. package/dist/cjs/sheet-BZHMKVH1.js.map +1 -0
  79. package/dist/cjs/triangle-alert-ZUMRpmzW.js +43 -0
  80. package/dist/cjs/triangle-alert-ZUMRpmzW.js.map +1 -0
  81. package/dist/components/Alert.js +7 -3
  82. package/dist/components/Alert.js.map +1 -1
  83. package/dist/components/Avatar.d.ts +31 -0
  84. package/dist/components/Avatar.js +73 -0
  85. package/dist/components/Avatar.js.map +1 -0
  86. package/dist/components/Badge.js +3 -1
  87. package/dist/components/Badge.js.map +1 -1
  88. package/dist/components/Button.js +1 -0
  89. package/dist/components/Button.js.map +1 -1
  90. package/dist/components/Callout.d.ts +17 -0
  91. package/dist/components/Callout.js +71 -0
  92. package/dist/components/Callout.js.map +1 -0
  93. package/dist/components/ColorPicker.js +3 -1
  94. package/dist/components/ColorPicker.js.map +1 -1
  95. package/dist/components/DataTable/components/EmptyState.d.ts +1 -1
  96. package/dist/components/DataTable.js +2 -1
  97. package/dist/components/DataTable.js.map +1 -1
  98. package/dist/components/Dialog.js +3 -2
  99. package/dist/components/Dialog.js.map +1 -1
  100. package/dist/components/DropdownMenu.js +3 -1
  101. package/dist/components/DropdownMenu.js.map +1 -1
  102. package/dist/components/Empty.d.ts +27 -0
  103. package/dist/components/Empty.js +57 -0
  104. package/dist/components/Empty.js.map +1 -0
  105. package/dist/components/Kbd.d.ts +15 -0
  106. package/dist/components/Kbd.js +61 -0
  107. package/dist/components/Kbd.js.map +1 -0
  108. package/dist/components/Label.d.ts +40 -0
  109. package/dist/components/Label.js +89 -0
  110. package/dist/components/Label.js.map +1 -0
  111. package/dist/components/MultiSelectDropdown.js +1 -0
  112. package/dist/components/MultiSelectDropdown.js.map +1 -1
  113. package/dist/components/Progress.d.ts +12 -0
  114. package/dist/components/Progress.js +20 -0
  115. package/dist/components/Progress.js.map +1 -0
  116. package/dist/components/SelectTriggerContent.js +11 -7
  117. package/dist/components/SelectTriggerContent.js.map +1 -1
  118. package/dist/components/Sheet.js +3 -2
  119. package/dist/components/Sheet.js.map +1 -1
  120. package/dist/components/Slider.d.ts +19 -0
  121. package/dist/components/Slider.js +43 -0
  122. package/dist/components/Slider.js.map +1 -0
  123. package/dist/components/Spinner.d.ts +10 -0
  124. package/dist/components/Spinner.js +25 -0
  125. package/dist/components/Spinner.js.map +1 -0
  126. package/dist/components/Stepper.d.ts +18 -0
  127. package/dist/components/Stepper.js +33 -0
  128. package/dist/components/Stepper.js.map +1 -0
  129. package/dist/components/TranslationProvider/TranslationProvider.d.ts +6 -0
  130. package/dist/components/TranslationProvider/i18n.d.ts +1 -0
  131. package/dist/components/TranslationProvider/index.d.ts +2 -0
  132. package/dist/components/TranslationProvider/types.d.ts +7 -0
  133. package/dist/components/TranslationProvider.js +6 -0
  134. package/dist/components/TranslationProvider.js.map +1 -0
  135. package/dist/components/Typography.d.ts +1 -1
  136. package/dist/{dialog-Civ9r6wD.js → dialog-CrB6N_2a.js} +4 -2
  137. package/dist/dialog-CrB6N_2a.js.map +1 -0
  138. package/dist/index.d.ts +21 -0
  139. package/dist/index.js +33 -10
  140. package/dist/index.js.map +1 -1
  141. package/dist/primitives/Breadcrumb.js +5 -2
  142. package/dist/primitives/Breadcrumb.js.map +1 -1
  143. package/dist/primitives/Carousel.js +5 -2
  144. package/dist/primitives/Carousel.js.map +1 -1
  145. package/dist/primitives/Command.js +6 -2
  146. package/dist/primitives/Command.js.map +1 -1
  147. package/dist/primitives/Dialog.js +2 -1
  148. package/dist/primitives/Dialog.js.map +1 -1
  149. package/dist/primitives/Pagination.js +11 -5
  150. package/dist/primitives/Pagination.js.map +1 -1
  151. package/dist/primitives/Sheet.js +2 -1
  152. package/dist/primitives/Sheet.js.map +1 -1
  153. package/dist/primitives/Sidebar.js +8 -4
  154. package/dist/primitives/Sidebar.js.map +1 -1
  155. package/dist/primitives/Sonner.js +5 -40
  156. package/dist/primitives/Sonner.js.map +1 -1
  157. package/dist/primitives/Spinner.js +3 -1
  158. package/dist/primitives/Spinner.js.map +1 -1
  159. package/dist/primitives/index.js +4 -2
  160. package/dist/primitives/index.js.map +1 -1
  161. package/dist/shadcn/components/command.d.ts +1 -1
  162. package/dist/shadcn/components/pagination.d.ts +2 -2
  163. package/dist/shadcn/components/typography.d.ts +2 -2
  164. package/dist/{sheet-COcn22fC.js → sheet-C763FqIh.js} +4 -2
  165. package/dist/sheet-C763FqIh.js.map +1 -0
  166. package/dist/translations/index.d.ts +66 -0
  167. package/dist/triangle-alert-PXnNWQy_.js +40 -0
  168. package/dist/triangle-alert-PXnNWQy_.js.map +1 -0
  169. package/package.json +38 -34
  170. package/dist/ColorPicker-BPvxDGDM.js +0 -276
  171. package/dist/ColorPicker-BPvxDGDM.js.map +0 -1
  172. package/dist/cjs/ColorPicker-DN8aynGh.js.map +0 -1
  173. package/dist/cjs/dialog-CF2GBHOG.js.map +0 -1
  174. package/dist/cjs/sheet-CkCrHmVA.js.map +0 -1
  175. package/dist/dialog-Civ9r6wD.js.map +0 -1
  176. package/dist/sheet-COcn22fC.js.map +0 -1
@@ -1,5 +1,6 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { forwardRef } from 'react';
3
+ import { useTranslation } from 'react-i18next';
3
4
  import { c as cn } from '../utils-DdHUxIdC.js';
4
5
  import { SelectTrigger, SelectValue } from '../primitives/Select.js';
5
6
  import { X } from '../x-_o2T3n6D.js';
@@ -28,13 +29,16 @@ import '../index-Cor698lu.js';
28
29
  import '../index-30QpKM0j.js';
29
30
  import '../index-CSggBaQF.js';
30
31
 
31
- const SelectTriggerContent = forwardRef(({ id, sizeConfig, error, ariaDescribedBy, triggerClassName, testIdPrefix, placeholder, showClearButton, handleClear, }, ref) => (jsxs(SelectTrigger, { ref: ref, id: id, size: sizeConfig.size, "aria-invalid": !!error || undefined, "aria-describedby": ariaDescribedBy, className: cn("w-full", sizeConfig.trigger, triggerClassName), ...(testIdPrefix
32
- ? { "data-testid": `${testIdPrefix}-select-container` }
33
- : {}), children: [jsx(SelectValue, { placeholder: placeholder, ...(testIdPrefix
34
- ? { "data-testid": `${testIdPrefix}-select-value` }
35
- : {}) }), showClearButton && (jsx("button", { type: "button", "aria-label": "Clear selection", tabIndex: -1, className: cn("ms-auto shrink-0 rounded-sm opacity-50", "hover:opacity-100 focus-visible:outline-none"), onClick: handleClear, onPointerDown: e => e.preventDefault(), ...(testIdPrefix
36
- ? { "data-testid": `${testIdPrefix}-clear-indicator` }
37
- : {}), children: jsx(X, { "aria-hidden": "true", className: sizeConfig.clearBtn }) }))] })));
32
+ const SelectTriggerContent = forwardRef(({ id, sizeConfig, error, ariaDescribedBy, triggerClassName, testIdPrefix, placeholder, showClearButton, handleClear, }, ref) => {
33
+ const { t } = useTranslation();
34
+ return (jsxs(SelectTrigger, { ref: ref, id: id, size: sizeConfig.size, "aria-invalid": !!error || undefined, "aria-describedby": ariaDescribedBy, className: cn("w-full", sizeConfig.trigger, triggerClassName), ...(testIdPrefix
35
+ ? { "data-testid": `${testIdPrefix}-select-container` }
36
+ : {}), children: [jsx(SelectValue, { placeholder: placeholder, ...(testIdPrefix
37
+ ? { "data-testid": `${testIdPrefix}-select-value` }
38
+ : {}) }), showClearButton && (jsx("button", { type: "button", "aria-label": t("neetoatoms.select.clearSelection", "Clear selection"), tabIndex: -1, className: cn("ms-auto shrink-0 rounded-sm opacity-50", "hover:opacity-100 focus-visible:outline-none"), onClick: handleClear, onPointerDown: e => e.preventDefault(), ...(testIdPrefix
39
+ ? { "data-testid": `${testIdPrefix}-clear-indicator` }
40
+ : {}), children: jsx(X, { "aria-hidden": "true", className: sizeConfig.clearBtn }) }))] }));
41
+ });
38
42
  SelectTriggerContent.displayName = "SelectTriggerContent";
39
43
 
40
44
  export { SelectTriggerContent };
@@ -1 +1 @@
1
- {"version":3,"file":"SelectTriggerContent.js","sources":["../../src/components/SelectTriggerContent.tsx"],"sourcesContent":["import React, { forwardRef } from \"react\";\n\nimport { X } from \"lucide-react\";\nimport { cn } from \"src/shadcn/lib/utils\";\nimport { SelectTrigger, SelectValue } from \"src/primitives/Select\";\n\ninterface SelectTriggerContentProps {\n id: string;\n sizeConfig: { trigger: string; size: \"sm\" | \"default\"; clearBtn: string };\n error: string;\n ariaDescribedBy?: string;\n triggerClassName?: string;\n testIdPrefix?: string;\n placeholder: string;\n showClearButton: boolean;\n handleClear: (e: React.MouseEvent) => void;\n}\n\nexport const SelectTriggerContent = forwardRef<\n HTMLButtonElement,\n SelectTriggerContentProps\n>(\n (\n {\n id,\n sizeConfig,\n error,\n ariaDescribedBy,\n triggerClassName,\n testIdPrefix,\n placeholder,\n showClearButton,\n handleClear,\n },\n ref\n ) => (\n <SelectTrigger\n ref={ref}\n id={id}\n size={sizeConfig.size}\n aria-invalid={!!error || undefined}\n aria-describedby={ariaDescribedBy}\n className={cn(\"w-full\", sizeConfig.trigger, triggerClassName)}\n {...(testIdPrefix\n ? { \"data-testid\": `${testIdPrefix}-select-container` }\n : {})}\n >\n <SelectValue\n placeholder={placeholder}\n {...(testIdPrefix\n ? { \"data-testid\": `${testIdPrefix}-select-value` }\n : {})}\n />\n {showClearButton && (\n <button\n type=\"button\"\n aria-label=\"Clear selection\"\n tabIndex={-1}\n className={cn(\n \"ms-auto shrink-0 rounded-sm opacity-50\",\n \"hover:opacity-100 focus-visible:outline-none\"\n )}\n onClick={handleClear}\n onPointerDown={e => e.preventDefault()}\n {...(testIdPrefix\n ? { \"data-testid\": `${testIdPrefix}-clear-indicator` }\n : {})}\n >\n <X aria-hidden=\"true\" className={sizeConfig.clearBtn} />\n </button>\n )}\n </SelectTrigger>\n )\n);\n\nSelectTriggerContent.displayName = \"SelectTriggerContent\";\n"],"names":["_jsxs","_jsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBO,MAAM,oBAAoB,GAAG,UAAU,CAI5C,CACE,EACE,EAAE,EACF,UAAU,EACV,KAAK,EACL,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,eAAe,EACf,WAAW,GACZ,EACD,GAAG,MAEHA,KAAC,aAAa,EAAA,EACZ,GAAG,EAAE,GAAG,EACR,EAAE,EAAE,EAAE,EACN,IAAI,EAAE,UAAU,CAAC,IAAI,EAAA,cAAA,EACP,CAAC,CAAC,KAAK,IAAI,SAAS,EAAA,kBAAA,EAChB,eAAe,EACjC,SAAS,EAAE,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,OAAO,EAAE,gBAAgB,CAAC,EAAA,IACxD;AACH,UAAE,EAAE,aAAa,EAAE,CAAA,EAAG,YAAY,mBAAmB;AACrD,UAAE,EAAE,CAAC,EAAA,QAAA,EAAA,CAEPC,GAAA,CAAC,WAAW,EAAA,EACV,WAAW,EAAE,WAAW,EAAA,IACnB;AACH,kBAAE,EAAE,aAAa,EAAE,CAAA,EAAG,YAAY,eAAe;kBAC/C,EAAE,CAAC,EAAA,CACP,EACD,eAAe,KACdA,GAAA,CAAA,QAAA,EAAA,EACE,IAAI,EAAC,QAAQ,EAAA,YAAA,EACF,iBAAiB,EAC5B,QAAQ,EAAE,EAAE,EACZ,SAAS,EAAE,EAAE,CACX,wCAAwC,EACxC,8CAA8C,CAC/C,EACD,OAAO,EAAE,WAAW,EACpB,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,EAAA,IACjC;AACH,kBAAE,EAAE,aAAa,EAAE,CAAA,EAAG,YAAY,kBAAkB;kBAClD,EAAE,CAAC,EAAA,QAAA,EAEPA,IAAC,CAAC,EAAA,EAAA,aAAA,EAAa,MAAM,EAAC,SAAS,EAAE,UAAU,CAAC,QAAQ,EAAA,CAAI,EAAA,CACjD,CACV,CAAA,EAAA,CACa,CACjB;AAGH,oBAAoB,CAAC,WAAW,GAAG,sBAAsB;;;;"}
1
+ {"version":3,"file":"SelectTriggerContent.js","sources":["../../src/components/SelectTriggerContent.tsx"],"sourcesContent":["import React, { forwardRef } from \"react\";\n\nimport { X } from \"lucide-react\";\nimport { useTranslation } from \"react-i18next\";\nimport { cn } from \"src/shadcn/lib/utils\";\nimport { SelectTrigger, SelectValue } from \"src/primitives/Select\";\n\ninterface SelectTriggerContentProps {\n id: string;\n sizeConfig: { trigger: string; size: \"sm\" | \"default\"; clearBtn: string };\n error: string;\n ariaDescribedBy?: string;\n triggerClassName?: string;\n testIdPrefix?: string;\n placeholder: string;\n showClearButton: boolean;\n handleClear: (e: React.MouseEvent) => void;\n}\n\nexport const SelectTriggerContent = forwardRef<\n HTMLButtonElement,\n SelectTriggerContentProps\n>(\n (\n {\n id,\n sizeConfig,\n error,\n ariaDescribedBy,\n triggerClassName,\n testIdPrefix,\n placeholder,\n showClearButton,\n handleClear,\n },\n ref\n ) => {\n const { t } = useTranslation();\n\n return (\n <SelectTrigger\n ref={ref}\n id={id}\n size={sizeConfig.size}\n aria-invalid={!!error || undefined}\n aria-describedby={ariaDescribedBy}\n className={cn(\"w-full\", sizeConfig.trigger, triggerClassName)}\n {...(testIdPrefix\n ? { \"data-testid\": `${testIdPrefix}-select-container` }\n : {})}\n >\n <SelectValue\n placeholder={placeholder}\n {...(testIdPrefix\n ? { \"data-testid\": `${testIdPrefix}-select-value` }\n : {})}\n />\n {showClearButton && (\n <button\n type=\"button\"\n aria-label={t(\n \"neetoatoms.select.clearSelection\",\n \"Clear selection\"\n )}\n tabIndex={-1}\n className={cn(\n \"ms-auto shrink-0 rounded-sm opacity-50\",\n \"hover:opacity-100 focus-visible:outline-none\"\n )}\n onClick={handleClear}\n onPointerDown={e => e.preventDefault()}\n {...(testIdPrefix\n ? { \"data-testid\": `${testIdPrefix}-clear-indicator` }\n : {})}\n >\n <X aria-hidden=\"true\" className={sizeConfig.clearBtn} />\n </button>\n )}\n </SelectTrigger>\n );\n }\n);\n\nSelectTriggerContent.displayName = \"SelectTriggerContent\";\n"],"names":["_jsxs","_jsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBO,MAAM,oBAAoB,GAAG,UAAU,CAI5C,CACE,EACE,EAAE,EACF,UAAU,EACV,KAAK,EACL,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,eAAe,EACf,WAAW,GACZ,EACD,GAAG,KACD;AACF,IAAA,MAAM,EAAE,CAAC,EAAE,GAAG,cAAc,EAAE;AAE9B,IAAA,QACEA,IAAA,CAAC,aAAa,IACZ,GAAG,EAAE,GAAG,EACR,EAAE,EAAE,EAAE,EACN,IAAI,EAAE,UAAU,CAAC,IAAI,kBACP,CAAC,CAAC,KAAK,IAAI,SAAS,EAAA,kBAAA,EAChB,eAAe,EACjC,SAAS,EAAE,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,OAAO,EAAE,gBAAgB,CAAC,EAAA,IACxD;AACH,cAAE,EAAE,aAAa,EAAE,CAAA,EAAG,YAAY,mBAAmB;AACrD,cAAE,EAAE,CAAC,EAAA,QAAA,EAAA,CAEPC,GAAA,CAAC,WAAW,EAAA,EACV,WAAW,EAAE,WAAW,EAAA,IACnB;AACH,sBAAE,EAAE,aAAa,EAAE,CAAA,EAAG,YAAY,eAAe;sBAC/C,EAAE,CAAC,EAAA,CACP,EACD,eAAe,KACdA,GAAA,CAAA,QAAA,EAAA,EACE,IAAI,EAAC,QAAQ,EAAA,YAAA,EACD,CAAC,CACX,kCAAkC,EAClC,iBAAiB,CAClB,EACD,QAAQ,EAAE,EAAE,EACZ,SAAS,EAAE,EAAE,CACX,wCAAwC,EACxC,8CAA8C,CAC/C,EACD,OAAO,EAAE,WAAW,EACpB,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,EAAA,IACjC;AACH,sBAAE,EAAE,aAAa,EAAE,CAAA,EAAG,YAAY,kBAAkB;AACpD,sBAAE,EAAE,CAAC,YAEPA,GAAA,CAAC,CAAC,mBAAa,MAAM,EAAC,SAAS,EAAE,UAAU,CAAC,QAAQ,EAAA,CAAI,GACjD,CACV,CAAA,EAAA,CACa;AAEpB,CAAC;AAGH,oBAAoB,CAAC,WAAW,GAAG,sBAAsB;;;;"}
@@ -6,7 +6,8 @@ import '../button-COIbN8dg.js';
6
6
  import '../index-D7Zy7P05.js';
7
7
  import '../index-CfriMyrd.js';
8
8
  import '../index-BtkPdosV.js';
9
- import '../sheet-COcn22fC.js';
9
+ import '../sheet-C763FqIh.js';
10
+ import 'react-i18next';
10
11
  import '../x-_o2T3n6D.js';
11
12
  import '../createLucideIcon-C8ycilSN.js';
12
13
  import '../index-9HvIbmnI.js';
@@ -39,7 +40,7 @@ const SheetBody = forwardRef(({ children, className, hasFooter = true, ...otherP
39
40
  SheetBody.displayName = "Sheet.Body";
40
41
  const SheetFooter = forwardRef(({ children, className, ...otherProps }, ref) => (jsx(SheetFooter$1, { ref: ref, className: cn("flex flex-row items-center justify-start gap-2 border-t", className), "data-testid": "sheet-footer", ...otherProps, children: children })));
41
42
  SheetFooter.displayName = "Sheet.Footer";
42
- const SheetTitle = forwardRef(({ children, className, ...otherProps }, ref) => (jsx(SheetTitle$1, { ref: ref, className: cn("text-xl", className), ...otherProps, children: children })));
43
+ const SheetTitle = forwardRef(({ children, className, ...otherProps }, ref) => (jsx(SheetTitle$1, { ref: ref, className: cn("text-2xl font-semibold", className), ...otherProps, children: children })));
43
44
  SheetTitle.displayName = "Sheet.Title";
44
45
  const SheetDescription = forwardRef(({ children, className, ...otherProps }, ref) => (jsx(SheetDescription$1, { ref: ref, className: cn(className), ...otherProps, children: children })));
45
46
  SheetDescription.displayName = "Sheet.Description";
@@ -1 +1 @@
1
- {"version":3,"file":"Sheet.js","sources":["../../src/components/Sheet.tsx"],"sourcesContent":["import React, { forwardRef, type ReactNode, type RefObject } from \"react\";\n\nimport { cn } from \"src/shadcn/lib/utils\";\nimport {\n Sheet as PrimitiveSheet,\n SheetContent as PrimitiveSheetContent,\n SheetDescription as PrimitiveSheetDescription,\n SheetFooter as PrimitiveSheetFooter,\n SheetHeader as PrimitiveSheetHeader,\n SheetTitle as PrimitiveSheetTitle,\n} from \"src/primitives/Sheet\";\n\n// ---------------------------------------------------------------------------\n// Types\n// ---------------------------------------------------------------------------\n\ntype SheetSize = \"small\" | \"large\" | \"extraLarge\";\n\n/** Radix Sheet.Content props we forward via ...otherProps. */\ntype SheetContentProps = React.ComponentProps<typeof PrimitiveSheetContent>;\n\nexport interface SheetProps extends Omit<\n SheetContentProps,\n | \"children\"\n | \"className\"\n | \"side\"\n | \"showCloseButton\"\n | \"onEscapeKeyDown\"\n | \"onInteractOutside\"\n> {\n /** Size of the sheet. */\n size?: SheetSize;\n /** Whether the sheet is open. */\n isOpen?: boolean;\n /** Callback invoked when the sheet is closed. */\n onClose?: () => void;\n /** Content rendered inside the sheet. */\n children?: ReactNode;\n /** Additional CSS class names applied to the sheet content. */\n className?: string;\n /** Close on pressing the Esc key. */\n closeOnEsc?: boolean;\n /** Show the close button. */\n closeButton?: boolean;\n /** Additional CSS class names applied to the backdrop/overlay. */\n backdropClassName?: string;\n /** Close on clicking outside the sheet. */\n closeOnOutsideClick?: boolean;\n /** Ref of the element to receive focus when the sheet opens. */\n initialFocusRef?: RefObject<HTMLElement | null>;\n /** Ref of the element to receive focus when the sheet closes. */\n finalFocusRef?: RefObject<HTMLElement | null>;\n /** Which side the sheet slides in from. */\n side?: \"top\" | \"right\" | \"bottom\" | \"left\";\n /** Radix Dialog `modal` prop — controls modal vs non-modal behaviour. */\n modal?: boolean;\n /** Radix Dialog `defaultOpen` prop. */\n defaultOpen?: boolean;\n}\n\n// ---------------------------------------------------------------------------\n// Size mapping\n// ---------------------------------------------------------------------------\n\n// Uses data-[side] selector to match primitive specificity so tailwind-merge\n// can override the default sm:max-w-sm from the primitive.\nconst SIZE_CLASS_MAP: Record<SheetSize, string> = {\n small: \"data-[side=left]:sm:max-w-sm data-[side=right]:sm:max-w-sm\",\n large: \"data-[side=left]:sm:max-w-lg data-[side=right]:sm:max-w-lg\",\n extraLarge: \"data-[side=left]:sm:max-w-2xl data-[side=right]:sm:max-w-2xl\",\n};\n\n// ---------------------------------------------------------------------------\n// Subcomponents\n// ---------------------------------------------------------------------------\n\ninterface SheetSubcomponentProps extends React.ComponentProps<\"div\"> {\n children?: ReactNode;\n className?: string;\n}\n\nconst SheetHeader = forwardRef<HTMLDivElement, SheetSubcomponentProps>(\n ({ children, className, ...otherProps }, ref) => (\n <PrimitiveSheetHeader\n ref={ref}\n className={cn(className)}\n data-testid=\"sheet-header\"\n {...otherProps}\n >\n {children}\n </PrimitiveSheetHeader>\n )\n);\nSheetHeader.displayName = \"Sheet.Header\";\n\nconst SheetBody = forwardRef<\n HTMLDivElement,\n SheetSubcomponentProps & { hasFooter?: boolean }\n>(({ children, className, hasFooter = true, ...otherProps }, ref) => (\n <div\n ref={ref}\n data-slot=\"sheet-body\"\n data-testid=\"sheet-body\"\n className={cn(\n \"flex flex-1 flex-col items-start justify-start overflow-y-auto px-4\",\n hasFooter && \"pb-0\",\n className\n )}\n {...otherProps}\n >\n {children}\n </div>\n));\nSheetBody.displayName = \"Sheet.Body\";\n\nconst SheetFooter = forwardRef<HTMLDivElement, SheetSubcomponentProps>(\n ({ children, className, ...otherProps }, ref) => (\n <PrimitiveSheetFooter\n ref={ref}\n className={cn(\n \"flex flex-row items-center justify-start gap-2 border-t\",\n className\n )}\n data-testid=\"sheet-footer\"\n {...otherProps}\n >\n {children}\n </PrimitiveSheetFooter>\n )\n);\nSheetFooter.displayName = \"Sheet.Footer\";\n\nconst SheetTitle = forwardRef<\n HTMLHeadingElement,\n React.ComponentProps<typeof PrimitiveSheetTitle>\n>(({ children, className, ...otherProps }, ref) => (\n <PrimitiveSheetTitle\n ref={ref}\n className={cn(\"text-xl\", className)}\n {...otherProps}\n >\n {children}\n </PrimitiveSheetTitle>\n));\nSheetTitle.displayName = \"Sheet.Title\";\n\nconst SheetDescription = forwardRef<\n HTMLParagraphElement,\n React.ComponentProps<typeof PrimitiveSheetDescription>\n>(({ children, className, ...otherProps }, ref) => (\n <PrimitiveSheetDescription\n ref={ref}\n className={cn(className)}\n {...otherProps}\n >\n {children}\n </PrimitiveSheetDescription>\n));\nSheetDescription.displayName = \"Sheet.Description\";\n\n// ---------------------------------------------------------------------------\n// Component\n// ---------------------------------------------------------------------------\n\nconst Sheet = forwardRef<HTMLDivElement, SheetProps>(\n (\n {\n size = \"small\",\n isOpen = false,\n onClose = () => {},\n children,\n className,\n closeOnEsc = true,\n closeButton = true,\n backdropClassName,\n closeOnOutsideClick = true,\n initialFocusRef,\n finalFocusRef,\n side = \"right\",\n modal,\n defaultOpen,\n // Radix content handlers — intercept and merge\n onOpenAutoFocus: onOpenAutoFocusProp,\n onCloseAutoFocus: onCloseAutoFocusProp,\n ...otherProps\n },\n ref\n ) => {\n const handleOpenChange = (open: boolean) => {\n if (!open) onClose();\n };\n\n const handleInteractOutside = (e: Event) => {\n if (!closeOnOutsideClick) e.preventDefault();\n };\n\n const handleEscapeKeyDown = (e: KeyboardEvent) => {\n if (!closeOnEsc) e.preventDefault();\n };\n\n const handleOpenAutoFocus = (e: Event) => {\n if (initialFocusRef?.current) {\n e.preventDefault();\n initialFocusRef.current.focus();\n }\n onOpenAutoFocusProp?.(e);\n };\n\n const handleCloseAutoFocus = (e: Event) => {\n if (finalFocusRef?.current) {\n e.preventDefault();\n finalFocusRef.current.focus();\n }\n onCloseAutoFocusProp?.(e);\n };\n\n return (\n <PrimitiveSheet\n open={isOpen}\n onOpenChange={handleOpenChange}\n modal={modal}\n defaultOpen={defaultOpen}\n >\n <PrimitiveSheetContent\n ref={ref}\n side={side}\n showCloseButton={closeButton}\n overlayClassName={backdropClassName}\n onInteractOutside={handleInteractOutside}\n onEscapeKeyDown={handleEscapeKeyDown}\n onOpenAutoFocus={handleOpenAutoFocus}\n onCloseAutoFocus={handleCloseAutoFocus}\n className={cn(SIZE_CLASS_MAP[size], className)}\n data-testid=\"sheet-wrapper\"\n {...otherProps}\n >\n {children}\n </PrimitiveSheetContent>\n </PrimitiveSheet>\n );\n }\n) as React.ForwardRefExoticComponent<\n SheetProps & React.RefAttributes<HTMLDivElement>\n> & {\n Header: typeof SheetHeader;\n Body: typeof SheetBody;\n Footer: typeof SheetFooter;\n Title: typeof SheetTitle;\n Description: typeof SheetDescription;\n};\n\nSheet.displayName = \"Sheet\";\nSheet.Header = SheetHeader;\nSheet.Body = SheetBody;\nSheet.Footer = SheetFooter;\nSheet.Title = SheetTitle;\nSheet.Description = SheetDescription;\n\nexport { Sheet };\n"],"names":["_jsx","PrimitiveSheetHeader","PrimitiveSheetFooter","PrimitiveSheetTitle","PrimitiveSheetDescription","PrimitiveSheet","PrimitiveSheetContent"],"mappings":"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"}
1
+ {"version":3,"file":"Sheet.js","sources":["../../src/components/Sheet.tsx"],"sourcesContent":["import React, { forwardRef, type ReactNode, type RefObject } from \"react\";\n\nimport { cn } from \"src/shadcn/lib/utils\";\nimport {\n Sheet as PrimitiveSheet,\n SheetContent as PrimitiveSheetContent,\n SheetDescription as PrimitiveSheetDescription,\n SheetFooter as PrimitiveSheetFooter,\n SheetHeader as PrimitiveSheetHeader,\n SheetTitle as PrimitiveSheetTitle,\n} from \"src/primitives/Sheet\";\n\n// ---------------------------------------------------------------------------\n// Types\n// ---------------------------------------------------------------------------\n\ntype SheetSize = \"small\" | \"large\" | \"extraLarge\";\n\n/** Radix Sheet.Content props we forward via ...otherProps. */\ntype SheetContentProps = React.ComponentProps<typeof PrimitiveSheetContent>;\n\nexport interface SheetProps extends Omit<\n SheetContentProps,\n | \"children\"\n | \"className\"\n | \"side\"\n | \"showCloseButton\"\n | \"onEscapeKeyDown\"\n | \"onInteractOutside\"\n> {\n /** Size of the sheet. */\n size?: SheetSize;\n /** Whether the sheet is open. */\n isOpen?: boolean;\n /** Callback invoked when the sheet is closed. */\n onClose?: () => void;\n /** Content rendered inside the sheet. */\n children?: ReactNode;\n /** Additional CSS class names applied to the sheet content. */\n className?: string;\n /** Close on pressing the Esc key. */\n closeOnEsc?: boolean;\n /** Show the close button. */\n closeButton?: boolean;\n /** Additional CSS class names applied to the backdrop/overlay. */\n backdropClassName?: string;\n /** Close on clicking outside the sheet. */\n closeOnOutsideClick?: boolean;\n /** Ref of the element to receive focus when the sheet opens. */\n initialFocusRef?: RefObject<HTMLElement | null>;\n /** Ref of the element to receive focus when the sheet closes. */\n finalFocusRef?: RefObject<HTMLElement | null>;\n /** Which side the sheet slides in from. */\n side?: \"top\" | \"right\" | \"bottom\" | \"left\";\n /** Radix Dialog `modal` prop — controls modal vs non-modal behaviour. */\n modal?: boolean;\n /** Radix Dialog `defaultOpen` prop. */\n defaultOpen?: boolean;\n}\n\n// ---------------------------------------------------------------------------\n// Size mapping\n// ---------------------------------------------------------------------------\n\n// Uses data-[side] selector to match primitive specificity so tailwind-merge\n// can override the default sm:max-w-sm from the primitive.\nconst SIZE_CLASS_MAP: Record<SheetSize, string> = {\n small: \"data-[side=left]:sm:max-w-sm data-[side=right]:sm:max-w-sm\",\n large: \"data-[side=left]:sm:max-w-lg data-[side=right]:sm:max-w-lg\",\n extraLarge: \"data-[side=left]:sm:max-w-2xl data-[side=right]:sm:max-w-2xl\",\n};\n\n// ---------------------------------------------------------------------------\n// Subcomponents\n// ---------------------------------------------------------------------------\n\ninterface SheetSubcomponentProps extends React.ComponentProps<\"div\"> {\n children?: ReactNode;\n className?: string;\n}\n\nconst SheetHeader = forwardRef<HTMLDivElement, SheetSubcomponentProps>(\n ({ children, className, ...otherProps }, ref) => (\n <PrimitiveSheetHeader\n ref={ref}\n className={cn(className)}\n data-testid=\"sheet-header\"\n {...otherProps}\n >\n {children}\n </PrimitiveSheetHeader>\n )\n);\nSheetHeader.displayName = \"Sheet.Header\";\n\nconst SheetBody = forwardRef<\n HTMLDivElement,\n SheetSubcomponentProps & { hasFooter?: boolean }\n>(({ children, className, hasFooter = true, ...otherProps }, ref) => (\n <div\n ref={ref}\n data-slot=\"sheet-body\"\n data-testid=\"sheet-body\"\n className={cn(\n \"flex flex-1 flex-col items-start justify-start overflow-y-auto px-4\",\n hasFooter && \"pb-0\",\n className\n )}\n {...otherProps}\n >\n {children}\n </div>\n));\nSheetBody.displayName = \"Sheet.Body\";\n\nconst SheetFooter = forwardRef<HTMLDivElement, SheetSubcomponentProps>(\n ({ children, className, ...otherProps }, ref) => (\n <PrimitiveSheetFooter\n ref={ref}\n className={cn(\n \"flex flex-row items-center justify-start gap-2 border-t\",\n className\n )}\n data-testid=\"sheet-footer\"\n {...otherProps}\n >\n {children}\n </PrimitiveSheetFooter>\n )\n);\nSheetFooter.displayName = \"Sheet.Footer\";\n\nconst SheetTitle = forwardRef<\n HTMLHeadingElement,\n React.ComponentProps<typeof PrimitiveSheetTitle>\n>(({ children, className, ...otherProps }, ref) => (\n <PrimitiveSheetTitle\n ref={ref}\n className={cn(\"text-2xl font-semibold\", className)}\n {...otherProps}\n >\n {children}\n </PrimitiveSheetTitle>\n));\nSheetTitle.displayName = \"Sheet.Title\";\n\nconst SheetDescription = forwardRef<\n HTMLParagraphElement,\n React.ComponentProps<typeof PrimitiveSheetDescription>\n>(({ children, className, ...otherProps }, ref) => (\n <PrimitiveSheetDescription\n ref={ref}\n className={cn(className)}\n {...otherProps}\n >\n {children}\n </PrimitiveSheetDescription>\n));\nSheetDescription.displayName = \"Sheet.Description\";\n\n// ---------------------------------------------------------------------------\n// Component\n// ---------------------------------------------------------------------------\n\nconst Sheet = forwardRef<HTMLDivElement, SheetProps>(\n (\n {\n size = \"small\",\n isOpen = false,\n onClose = () => {},\n children,\n className,\n closeOnEsc = true,\n closeButton = true,\n backdropClassName,\n closeOnOutsideClick = true,\n initialFocusRef,\n finalFocusRef,\n side = \"right\",\n modal,\n defaultOpen,\n // Radix content handlers — intercept and merge\n onOpenAutoFocus: onOpenAutoFocusProp,\n onCloseAutoFocus: onCloseAutoFocusProp,\n ...otherProps\n },\n ref\n ) => {\n const handleOpenChange = (open: boolean) => {\n if (!open) onClose();\n };\n\n const handleInteractOutside = (e: Event) => {\n if (!closeOnOutsideClick) e.preventDefault();\n };\n\n const handleEscapeKeyDown = (e: KeyboardEvent) => {\n if (!closeOnEsc) e.preventDefault();\n };\n\n const handleOpenAutoFocus = (e: Event) => {\n if (initialFocusRef?.current) {\n e.preventDefault();\n initialFocusRef.current.focus();\n }\n onOpenAutoFocusProp?.(e);\n };\n\n const handleCloseAutoFocus = (e: Event) => {\n if (finalFocusRef?.current) {\n e.preventDefault();\n finalFocusRef.current.focus();\n }\n onCloseAutoFocusProp?.(e);\n };\n\n return (\n <PrimitiveSheet\n open={isOpen}\n onOpenChange={handleOpenChange}\n modal={modal}\n defaultOpen={defaultOpen}\n >\n <PrimitiveSheetContent\n ref={ref}\n side={side}\n showCloseButton={closeButton}\n overlayClassName={backdropClassName}\n onInteractOutside={handleInteractOutside}\n onEscapeKeyDown={handleEscapeKeyDown}\n onOpenAutoFocus={handleOpenAutoFocus}\n onCloseAutoFocus={handleCloseAutoFocus}\n className={cn(SIZE_CLASS_MAP[size], className)}\n data-testid=\"sheet-wrapper\"\n {...otherProps}\n >\n {children}\n </PrimitiveSheetContent>\n </PrimitiveSheet>\n );\n }\n) as React.ForwardRefExoticComponent<\n SheetProps & React.RefAttributes<HTMLDivElement>\n> & {\n Header: typeof SheetHeader;\n Body: typeof SheetBody;\n Footer: typeof SheetFooter;\n Title: typeof SheetTitle;\n Description: typeof SheetDescription;\n};\n\nSheet.displayName = \"Sheet\";\nSheet.Header = SheetHeader;\nSheet.Body = SheetBody;\nSheet.Footer = SheetFooter;\nSheet.Title = SheetTitle;\nSheet.Description = SheetDescription;\n\nexport { Sheet };\n"],"names":["_jsx","PrimitiveSheetHeader","PrimitiveSheetFooter","PrimitiveSheetTitle","PrimitiveSheetDescription","PrimitiveSheet","PrimitiveSheetContent"],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import React from "react";
2
+ import { Slider as PrimitiveSlider } from "src/primitives/Slider";
3
+ import { FieldLabel } from "src/primitives/Field";
4
+ export interface SliderProps extends React.ComponentProps<typeof PrimitiveSlider> {
5
+ /** Label displayed above the slider. */
6
+ label?: string;
7
+ /** Error message displayed below the slider. */
8
+ error?: string;
9
+ /** Help text displayed below the slider. Accepts string or ReactNode. */
10
+ helpText?: React.ReactNode;
11
+ /** Shows a required indicator next to the label. */
12
+ required?: boolean;
13
+ /** Additional class name for the outermost wrapper. */
14
+ className?: string;
15
+ /** Props forwarded to the FieldLabel element. */
16
+ labelProps?: React.ComponentProps<typeof FieldLabel>;
17
+ }
18
+ declare const Slider: React.ForwardRefExoticComponent<Omit<SliderProps, "ref"> & React.RefAttributes<HTMLSpanElement>>;
19
+ export { Slider };
@@ -0,0 +1,43 @@
1
+ import { jsx, jsxs } from 'react/jsx-runtime';
2
+ import { forwardRef, useId } from 'react';
3
+ import { Slider as Slider$1 } from '../primitives/Slider.js';
4
+ import { c as cn } from '../utils-DdHUxIdC.js';
5
+ import { Field, FieldLabel, FieldContent, FieldError, FieldDescription } from '../primitives/Field.js';
6
+ import '../index-BfAAoDv6.js';
7
+ import '../index-DNzunGHb.js';
8
+ import '../index-BtkPdosV.js';
9
+ import '../index-CiyxEyB0.js';
10
+ import '../index-Cor698lu.js';
11
+ import '../index-DOzu5J1s.js';
12
+ import '../index-BA158WEj.js';
13
+ import '../index-30QpKM0j.js';
14
+ import '../index-BYZaLNq1.js';
15
+ import '../index-DhnfW8wQ.js';
16
+ import 'react-dom';
17
+ import '../index-Dd1i1d2M.js';
18
+ import '../index-D7Zy7P05.js';
19
+ import '../label-B4qDF3W1.js';
20
+ import '../separator-BbhgePmX.js';
21
+
22
+ // ---------------------------------------------------------------------------
23
+ // Component
24
+ // ---------------------------------------------------------------------------
25
+ const Slider = forwardRef(({ label, error, helpText, required = false, className, labelProps, disabled, id: idProp, ...otherProps }, ref) => {
26
+ const generatedId = useId();
27
+ const id = idProp ?? generatedId;
28
+ const errorId = `error_${id}`;
29
+ const helpTextId = `helpText_${id}`;
30
+ const ariaDescribedBy = [error ? errorId : null, helpText ? helpTextId : null]
31
+ .filter(Boolean)
32
+ .join(" ") || undefined;
33
+ const hasField = !!(label || error || helpText);
34
+ const slider = (jsx(Slider$1, { ref: ref, id: id, disabled: disabled, "aria-invalid": !!error || undefined, "aria-describedby": ariaDescribedBy, "aria-label": !label ? undefined : label, className: cn(!hasField && className), ...otherProps }));
35
+ if (!hasField) {
36
+ return slider;
37
+ }
38
+ return (jsxs(Field, { "data-disabled": disabled || undefined, "data-invalid": !!error || undefined, className: className, children: [label && (jsxs(FieldLabel, { htmlFor: id, ...labelProps, children: [label, required && (jsx("span", { "aria-hidden": "true", className: "text-destructive", children: "*" }))] })), jsxs(FieldContent, { children: [slider, !!error && jsx(FieldError, { id: errorId, children: error }), helpText && (jsx(FieldDescription, { id: helpTextId, children: helpText }))] })] }));
39
+ });
40
+ Slider.displayName = "Slider";
41
+
42
+ export { Slider };
43
+ //# sourceMappingURL=Slider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Slider.js","sources":["../../src/components/Slider.tsx"],"sourcesContent":["import React, { forwardRef, useId } from \"react\";\n\nimport { Slider as PrimitiveSlider } from \"src/primitives/Slider\";\nimport { cn } from \"src/shadcn/lib/utils\";\nimport {\n Field,\n FieldLabel,\n FieldContent,\n FieldDescription,\n FieldError,\n} from \"src/primitives/Field\";\n\n// ---------------------------------------------------------------------------\n// Types\n// ---------------------------------------------------------------------------\n\nexport interface SliderProps extends React.ComponentProps<\n typeof PrimitiveSlider\n> {\n /** Label displayed above the slider. */\n label?: string;\n /** Error message displayed below the slider. */\n error?: string;\n /** Help text displayed below the slider. Accepts string or ReactNode. */\n helpText?: React.ReactNode;\n /** Shows a required indicator next to the label. */\n required?: boolean;\n /** Additional class name for the outermost wrapper. */\n className?: string;\n /** Props forwarded to the FieldLabel element. */\n labelProps?: React.ComponentProps<typeof FieldLabel>;\n}\n\n// ---------------------------------------------------------------------------\n// Component\n// ---------------------------------------------------------------------------\n\nconst Slider = forwardRef<\n React.ComponentRef<typeof PrimitiveSlider>,\n SliderProps\n>(\n (\n {\n label,\n error,\n helpText,\n required = false,\n className,\n labelProps,\n disabled,\n id: idProp,\n ...otherProps\n },\n ref\n ) => {\n const generatedId = useId();\n const id = idProp ?? generatedId;\n const errorId = `error_${id}`;\n const helpTextId = `helpText_${id}`;\n\n const ariaDescribedBy =\n [error ? errorId : null, helpText ? helpTextId : null]\n .filter(Boolean)\n .join(\" \") || undefined;\n\n const hasField = !!(label || error || helpText);\n\n const slider = (\n <PrimitiveSlider\n ref={ref}\n id={id}\n disabled={disabled}\n aria-invalid={!!error || undefined}\n aria-describedby={ariaDescribedBy}\n aria-label={!label ? undefined : label}\n className={cn(!hasField && className)}\n {...otherProps}\n />\n );\n\n if (!hasField) {\n return slider;\n }\n\n return (\n <Field\n data-disabled={disabled || undefined}\n data-invalid={!!error || undefined}\n className={className}\n >\n {label && (\n <FieldLabel htmlFor={id} {...labelProps}>\n {label}\n {required && (\n <span aria-hidden=\"true\" className=\"text-destructive\">\n *\n </span>\n )}\n </FieldLabel>\n )}\n <FieldContent>\n {slider}\n {!!error && <FieldError id={errorId}>{error}</FieldError>}\n {helpText && (\n <FieldDescription id={helpTextId}>{helpText}</FieldDescription>\n )}\n </FieldContent>\n </Field>\n );\n }\n);\n\nSlider.displayName = \"Slider\";\n\nexport { Slider };\n"],"names":["_jsx","PrimitiveSlider","_jsxs"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAiCA;AACA;AACA;AAEA,MAAM,MAAM,GAAG,UAAU,CAIvB,CACE,EACE,KAAK,EACL,KAAK,EACL,QAAQ,EACR,QAAQ,GAAG,KAAK,EAChB,SAAS,EACT,UAAU,EACV,QAAQ,EACR,EAAE,EAAE,MAAM,EACV,GAAG,UAAU,EACd,EACD,GAAG,KACD;AACF,IAAA,MAAM,WAAW,GAAG,KAAK,EAAE;AAC3B,IAAA,MAAM,EAAE,GAAG,MAAM,IAAI,WAAW;AAChC,IAAA,MAAM,OAAO,GAAG,CAAA,MAAA,EAAS,EAAE,EAAE;AAC7B,IAAA,MAAM,UAAU,GAAG,CAAA,SAAA,EAAY,EAAE,EAAE;IAEnC,MAAM,eAAe,GACnB,CAAC,KAAK,GAAG,OAAO,GAAG,IAAI,EAAE,QAAQ,GAAG,UAAU,GAAG,IAAI;SAClD,MAAM,CAAC,OAAO;AACd,SAAA,IAAI,CAAC,GAAG,CAAC,IAAI,SAAS;IAE3B,MAAM,QAAQ,GAAG,CAAC,EAAE,KAAK,IAAI,KAAK,IAAI,QAAQ,CAAC;IAE/C,MAAM,MAAM,IACVA,GAAA,CAACC,QAAe,EAAA,EACd,GAAG,EAAE,GAAG,EACR,EAAE,EAAE,EAAE,EACN,QAAQ,EAAE,QAAQ,EAAA,cAAA,EACJ,CAAC,CAAC,KAAK,IAAI,SAAS,EAAA,kBAAA,EAChB,eAAe,gBACrB,CAAC,KAAK,GAAG,SAAS,GAAG,KAAK,EACtC,SAAS,EAAE,EAAE,CAAC,CAAC,QAAQ,IAAI,SAAS,CAAC,EAAA,GACjC,UAAU,EAAA,CACd,CACH;IAED,IAAI,CAAC,QAAQ,EAAE;AACb,QAAA,OAAO,MAAM;IACf;AAEA,IAAA,QACEC,IAAA,CAAC,KAAK,EAAA,EAAA,eAAA,EACW,QAAQ,IAAI,SAAS,EAAA,cAAA,EACtB,CAAC,CAAC,KAAK,IAAI,SAAS,EAClC,SAAS,EAAE,SAAS,EAAA,QAAA,EAAA,CAEnB,KAAK,KACJA,KAAC,UAAU,EAAA,EAAC,OAAO,EAAE,EAAE,EAAA,GAAM,UAAU,EAAA,QAAA,EAAA,CACpC,KAAK,EACL,QAAQ,KACPF,GAAA,CAAA,MAAA,EAAA,EAAA,aAAA,EAAkB,MAAM,EAAC,SAAS,EAAC,kBAAkB,EAAA,QAAA,EAAA,GAAA,EAAA,CAE9C,CACR,CAAA,EAAA,CACU,CACd,EACDE,IAAA,CAAC,YAAY,EAAA,EAAA,QAAA,EAAA,CACV,MAAM,EACN,CAAC,CAAC,KAAK,IAAIF,IAAC,UAAU,EAAA,EAAC,EAAE,EAAE,OAAO,EAAA,QAAA,EAAG,KAAK,GAAc,EACxD,QAAQ,KACPA,GAAA,CAAC,gBAAgB,EAAA,EAAC,EAAE,EAAE,UAAU,YAAG,QAAQ,EAAA,CAAoB,CAChE,CAAA,EAAA,CACY,CAAA,EAAA,CACT;AAEZ,CAAC;AAGH,MAAM,CAAC,WAAW,GAAG,QAAQ;;;;"}
@@ -0,0 +1,10 @@
1
+ import React from "react";
2
+ import { Spinner as PrimitiveSpinner } from "src/primitives/Spinner";
3
+ export interface SpinnerProps extends React.ComponentProps<typeof PrimitiveSpinner> {
4
+ /** Size variant of the spinner. */
5
+ size?: "sm" | "default" | "lg" | "xl";
6
+ /** Additional CSS class names. */
7
+ className?: string;
8
+ }
9
+ declare const Spinner: React.ForwardRefExoticComponent<Omit<SpinnerProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
10
+ export { Spinner };
@@ -0,0 +1,25 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { forwardRef } from 'react';
3
+ import { c as cn } from '../utils-DdHUxIdC.js';
4
+ import { Spinner as Spinner$1 } from '../primitives/Spinner.js';
5
+ import 'react-i18next';
6
+ import '../loader-circle-DycHUAWN.js';
7
+ import '../createLucideIcon-C8ycilSN.js';
8
+
9
+ // ---------------------------------------------------------------------------
10
+ // Size config
11
+ // ---------------------------------------------------------------------------
12
+ const SIZE_CONFIG = {
13
+ sm: "size-3",
14
+ default: "size-4",
15
+ lg: "size-6",
16
+ xl: "size-8",
17
+ };
18
+ // ---------------------------------------------------------------------------
19
+ // Component
20
+ // ---------------------------------------------------------------------------
21
+ const Spinner = forwardRef(({ size = "default", className, ...otherProps }, ref) => (jsx(Spinner$1, { ref: ref, className: cn(SIZE_CONFIG[size], className), ...otherProps })));
22
+ Spinner.displayName = "Spinner";
23
+
24
+ export { Spinner };
25
+ //# sourceMappingURL=Spinner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Spinner.js","sources":["../../src/components/Spinner.tsx"],"sourcesContent":["import React, { forwardRef } from \"react\";\n\nimport { cn } from \"src/shadcn/lib/utils\";\nimport { Spinner as PrimitiveSpinner } from \"src/primitives/Spinner\";\n\n// ---------------------------------------------------------------------------\n// Types\n// ---------------------------------------------------------------------------\n\nexport interface SpinnerProps extends React.ComponentProps<\n typeof PrimitiveSpinner\n> {\n /** Size variant of the spinner. */\n size?: \"sm\" | \"default\" | \"lg\" | \"xl\";\n /** Additional CSS class names. */\n className?: string;\n}\n\n// ---------------------------------------------------------------------------\n// Size config\n// ---------------------------------------------------------------------------\n\nconst SIZE_CONFIG: Record<NonNullable<SpinnerProps[\"size\"]>, string> = {\n sm: \"size-3\",\n default: \"size-4\",\n lg: \"size-6\",\n xl: \"size-8\",\n};\n\n// ---------------------------------------------------------------------------\n// Component\n// ---------------------------------------------------------------------------\n\nconst Spinner = forwardRef<SVGSVGElement, SpinnerProps>(\n ({ size = \"default\", className, ...otherProps }, ref) => (\n <PrimitiveSpinner\n ref={ref}\n className={cn(SIZE_CONFIG[size], className)}\n {...otherProps}\n />\n )\n);\n\nSpinner.displayName = \"Spinner\";\n\nexport { Spinner };\n"],"names":["_jsx","PrimitiveSpinner"],"mappings":";;;;;;;;AAkBA;AACA;AACA;AAEA,MAAM,WAAW,GAAsD;AACrE,IAAA,EAAE,EAAE,QAAQ;AACZ,IAAA,OAAO,EAAE,QAAQ;AACjB,IAAA,EAAE,EAAE,QAAQ;AACZ,IAAA,EAAE,EAAE,QAAQ;CACb;AAED;AACA;AACA;AAEA,MAAM,OAAO,GAAG,UAAU,CACxB,CAAC,EAAE,IAAI,GAAG,SAAS,EAAE,SAAS,EAAE,GAAG,UAAU,EAAE,EAAE,GAAG,MAClDA,GAAA,CAACC,SAAgB,EAAA,EACf,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,EAAA,GACvC,UAAU,EAAA,CACd,CACH;AAGH,OAAO,CAAC,WAAW,GAAG,SAAS;;;;"}
@@ -0,0 +1,18 @@
1
+ import React from "react";
2
+ export interface StepperProps {
3
+ /** Step definitions. */
4
+ steps: Array<{
5
+ id: string | number;
6
+ label: string;
7
+ }>;
8
+ /** Current active step (0-based). */
9
+ activeIndex?: number;
10
+ /** Callback when a step indicator is clicked. */
11
+ onStepClick?: (index: number) => void;
12
+ /** Additional class name for the outermost wrapper. */
13
+ className?: string;
14
+ /** Layout direction. */
15
+ orientation?: "horizontal" | "vertical";
16
+ }
17
+ declare const Stepper: React.ForwardRefExoticComponent<StepperProps & React.RefAttributes<HTMLDivElement>>;
18
+ export { Stepper };
@@ -0,0 +1,33 @@
1
+ import { jsx, jsxs } from 'react/jsx-runtime';
2
+ import React__default, { forwardRef } from 'react';
3
+ import { c as cn } from '../utils-DdHUxIdC.js';
4
+ import { C as Check } from '../check-Cpkv29p1.js';
5
+ import '../createLucideIcon-C8ycilSN.js';
6
+
7
+ // ---------------------------------------------------------------------------
8
+ // Component
9
+ // ---------------------------------------------------------------------------
10
+ const Stepper = forwardRef(({ steps, activeIndex = 0, onStepClick, className, orientation = "horizontal", }, ref) => {
11
+ const isHorizontal = orientation === "horizontal";
12
+ return (jsx("div", { ref: ref, role: "list", "aria-label": "Progress", className: cn("flex gap-2", isHorizontal ? "flex-row items-center" : "flex-col items-start", className), children: steps.map((step, index) => {
13
+ const isCompleted = index < activeIndex;
14
+ const isActive = index === activeIndex;
15
+ const isClickable = (isCompleted || isActive) && !!onStepClick;
16
+ const isLast = index === steps.length - 1;
17
+ const indicator = (jsx("span", { className: cn("relative flex size-7 shrink-0 items-center justify-center rounded-full text-sm font-semibold transition-colors", isCompleted && "bg-primary text-primary-foreground", isActive &&
18
+ "bg-primary text-primary-foreground ring-2 ring-primary ring-offset-2 ring-offset-background", !isCompleted &&
19
+ !isActive &&
20
+ "bg-muted text-foreground/60 ring-1 ring-border"), children: isCompleted ? (jsx(Check, { className: "size-3.5", "aria-hidden": "true" })) : (index + 1) }));
21
+ const stepContent = (jsxs("div", { className: cn("flex min-w-0", isHorizontal
22
+ ? "flex-row items-center gap-2"
23
+ : "flex-row items-center gap-3"), children: [isClickable ? (jsx("button", { type: "button", onClick: () => onStepClick(index), "aria-current": isActive ? "step" : undefined, className: "cursor-pointer rounded-full focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring", children: indicator })) : (jsx("span", { "aria-current": isActive ? "step" : undefined, children: indicator })), jsx("span", { className: cn("hidden text-sm truncate max-w-full sm:inline", isActive && "font-medium text-foreground", isCompleted && "text-foreground", !isCompleted && !isActive && "text-muted-foreground"), children: step.label })] }));
24
+ const connector = !isLast && (jsx("div", { "aria-hidden": "true", className: cn("transition-colors", isHorizontal
25
+ ? "mx-2 min-w-5 flex-1 border-t-2 sm:mx-3 sm:min-w-8"
26
+ : "ms-[13px] min-h-6 self-stretch border-s-2", isCompleted ? "border-primary" : "border-dashed border-border") }));
27
+ return (jsxs(React__default.Fragment, { children: [jsx("div", { role: "listitem", className: cn("flex min-w-0", isHorizontal ? "shrink-0" : "flex-col"), children: stepContent }), connector] }, step.id));
28
+ }) }));
29
+ });
30
+ Stepper.displayName = "Stepper";
31
+
32
+ export { Stepper };
33
+ //# sourceMappingURL=Stepper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Stepper.js","sources":["../../src/components/Stepper.tsx"],"sourcesContent":["import React, { forwardRef } from \"react\";\n\nimport { cn } from \"src/shadcn/lib/utils\";\nimport { CheckIcon } from \"lucide-react\";\n\n// ---------------------------------------------------------------------------\n// Types\n// ---------------------------------------------------------------------------\n\nexport interface StepperProps {\n /** Step definitions. */\n steps: Array<{ id: string | number; label: string }>;\n /** Current active step (0-based). */\n activeIndex?: number;\n /** Callback when a step indicator is clicked. */\n onStepClick?: (index: number) => void;\n /** Additional class name for the outermost wrapper. */\n className?: string;\n /** Layout direction. */\n orientation?: \"horizontal\" | \"vertical\";\n}\n\n// ---------------------------------------------------------------------------\n// Component\n// ---------------------------------------------------------------------------\n\nconst Stepper = forwardRef<HTMLDivElement, StepperProps>(\n (\n {\n steps,\n activeIndex = 0,\n onStepClick,\n className,\n orientation = \"horizontal\",\n },\n ref\n ) => {\n const isHorizontal = orientation === \"horizontal\";\n\n return (\n <div\n ref={ref}\n role=\"list\"\n aria-label=\"Progress\"\n className={cn(\n \"flex gap-2\",\n isHorizontal ? \"flex-row items-center\" : \"flex-col items-start\",\n className\n )}\n >\n {steps.map((step, index) => {\n const isCompleted = index < activeIndex;\n const isActive = index === activeIndex;\n const isClickable = (isCompleted || isActive) && !!onStepClick;\n const isLast = index === steps.length - 1;\n\n const indicator = (\n <span\n className={cn(\n \"relative flex size-7 shrink-0 items-center justify-center rounded-full text-sm font-semibold transition-colors\",\n isCompleted && \"bg-primary text-primary-foreground\",\n isActive &&\n \"bg-primary text-primary-foreground ring-2 ring-primary ring-offset-2 ring-offset-background\",\n !isCompleted &&\n !isActive &&\n \"bg-muted text-foreground/60 ring-1 ring-border\"\n )}\n >\n {isCompleted ? (\n <CheckIcon className=\"size-3.5\" aria-hidden=\"true\" />\n ) : (\n index + 1\n )}\n </span>\n );\n\n const stepContent = (\n <div\n className={cn(\n \"flex min-w-0\",\n isHorizontal\n ? \"flex-row items-center gap-2\"\n : \"flex-row items-center gap-3\"\n )}\n >\n {isClickable ? (\n <button\n type=\"button\"\n onClick={() => onStepClick(index)}\n aria-current={isActive ? \"step\" : undefined}\n className=\"cursor-pointer rounded-full focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring\"\n >\n {indicator}\n </button>\n ) : (\n <span aria-current={isActive ? \"step\" : undefined}>\n {indicator}\n </span>\n )}\n <span\n className={cn(\n \"hidden text-sm truncate max-w-full sm:inline\",\n isActive && \"font-medium text-foreground\",\n isCompleted && \"text-foreground\",\n !isCompleted && !isActive && \"text-muted-foreground\"\n )}\n >\n {step.label}\n </span>\n </div>\n );\n\n const connector = !isLast && (\n <div\n aria-hidden=\"true\"\n className={cn(\n \"transition-colors\",\n isHorizontal\n ? \"mx-2 min-w-5 flex-1 border-t-2 sm:mx-3 sm:min-w-8\"\n : \"ms-[13px] min-h-6 self-stretch border-s-2\",\n isCompleted ? \"border-primary\" : \"border-dashed border-border\"\n )}\n />\n );\n\n return (\n <React.Fragment key={step.id}>\n <div\n role=\"listitem\"\n className={cn(\n \"flex min-w-0\",\n isHorizontal ? \"shrink-0\" : \"flex-col\"\n )}\n >\n {stepContent}\n </div>\n {connector}\n </React.Fragment>\n );\n })}\n </div>\n );\n }\n);\n\nStepper.displayName = \"Stepper\";\n\nexport { Stepper };\n"],"names":["_jsx","CheckIcon","_jsxs","React"],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { TranslationProviderProps } from "./types";
2
+ declare const TranslationProvider: {
3
+ ({ children, language, }: TranslationProviderProps): import("react/jsx-runtime").JSX.Element;
4
+ displayName: string;
5
+ };
6
+ export { TranslationProvider };
@@ -0,0 +1 @@
1
+ export declare const initializeI18n: (language?: string) => import("i18next").i18n;
@@ -0,0 +1,2 @@
1
+ export { TranslationProvider } from "./TranslationProvider";
2
+ export type { TranslationProviderProps } from "./types";
@@ -0,0 +1,7 @@
1
+ import type { ReactNode } from "react";
2
+ export interface TranslationProviderProps {
3
+ /** The content to wrap with the translation provider. */
4
+ children: ReactNode;
5
+ /** The language code to use (e.g. "en", "es", "fr"). Defaults to "en". */
6
+ language?: string;
7
+ }
@@ -0,0 +1,6 @@
1
+ export { T as TranslationProvider } from '../TranslationProvider-Ba9rn47H.js';
2
+ import 'react/jsx-runtime';
3
+ import 'react';
4
+ import 'react-i18next';
5
+ import 'i18next';
6
+ //# sourceMappingURL=TranslationProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TranslationProvider.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -2,7 +2,7 @@ declare const Typography: import("react").ForwardRefExoticComponent<Omit<Omit<im
2
2
  variant?: "caption" | "code" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "jumbo" | "body1" | "body2" | "body3" | "nano" | null | undefined;
3
3
  weight?: "bold" | "medium" | "black" | "normal" | "thin" | "light" | "extralight" | "semibold" | "extrabold" | null | undefined;
4
4
  color?: "inherit" | "default" | "destructive" | "primary" | "muted" | null | undefined;
5
- lineClamp?: 1 | "none" | 2 | 3 | null | undefined;
5
+ lineClamp?: 1 | "none" | 3 | 2 | null | undefined;
6
6
  } & import("class-variance-authority/types").ClassProp) | undefined) => string> & {
7
7
  asChild?: boolean;
8
8
  }, "ref"> & import("react").RefAttributes<HTMLElement>, "ref"> & import("react").RefAttributes<HTMLElement>>;
@@ -1,4 +1,5 @@
1
1
  import { jsx, jsxs } from 'react/jsx-runtime';
2
+ import { useTranslation } from 'react-i18next';
2
3
  import { c as cn } from './utils-DdHUxIdC.js';
3
4
  import { B as Button } from './button-COIbN8dg.js';
4
5
  import { X } from './x-_o2T3n6D.js';
@@ -20,7 +21,8 @@ function DialogOverlay({ className, ...props }) {
20
21
  return (jsx(Overlay, { "data-slot": "dialog-overlay", className: cn("fixed inset-0 isolate z-50 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0", className), ...props }));
21
22
  }
22
23
  function DialogContent({ className, children, showCloseButton = true, ...props }) {
23
- return (jsxs(DialogPortal, { children: [jsx(DialogOverlay, {}), jsxs(Content, { "data-slot": "dialog-content", className: cn("fixed top-1/2 start-1/2 z-50 grid w-full max-w-[calc(100%-2rem)] -translate-x-1/2 rtl:translate-x-1/2 -translate-y-1/2 gap-4 rounded-xl bg-popover p-4 text-sm text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", className), ...props, children: [children, showCloseButton && (jsx(Close, { "data-slot": "dialog-close", asChild: true, children: jsxs(Button, { variant: "ghost", className: "absolute top-2 end-2", size: "icon-sm", children: [jsx(X, {}), jsx("span", { className: "sr-only", children: "Close" })] }) }))] })] }));
24
+ const { t } = useTranslation();
25
+ return (jsxs(DialogPortal, { children: [jsx(DialogOverlay, {}), jsxs(Content, { "data-slot": "dialog-content", className: cn("fixed top-1/2 start-1/2 z-50 grid w-full max-w-[calc(100%-2rem)] -translate-x-1/2 rtl:translate-x-1/2 -translate-y-1/2 gap-4 rounded-xl bg-popover p-4 text-sm text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", className), ...props, children: [children, showCloseButton && (jsx(Close, { "data-slot": "dialog-close", asChild: true, children: jsxs(Button, { variant: "ghost", className: "absolute top-2 end-2", size: "icon-sm", children: [jsx(X, {}), jsx("span", { className: "sr-only", children: t("neetoatoms.dialog.close", "Close") })] }) }))] })] }));
24
26
  }
25
27
  function DialogHeader({ className, ...props }) {
26
28
  return (jsx("div", { "data-slot": "dialog-header", className: cn("flex flex-col gap-2", className), ...props }));
@@ -36,4 +38,4 @@ function DialogDescription({ className, ...props }) {
36
38
  }
37
39
 
38
40
  export { Dialog as D, DialogPortal as a, DialogOverlay as b, DialogHeader as c, DialogTitle as d, DialogDescription as e, DialogFooter as f, DialogClose as g, DialogTrigger as h, DialogContent as i };
39
- //# sourceMappingURL=dialog-Civ9r6wD.js.map
41
+ //# sourceMappingURL=dialog-CrB6N_2a.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dialog-CrB6N_2a.js","sources":["../src/shadcn/components/dialog.tsx"],"sourcesContent":["import * as React from \"react\"\nimport { Dialog as DialogPrimitive } from \"radix-ui\"\nimport { useTranslation } from \"react-i18next\"\n\nimport { cn } from \"src/shadcn/lib/utils\"\nimport { Button } from \"src/shadcn/components/button\"\nimport { XIcon } from \"lucide-react\"\n\nfunction Dialog({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Root>) {\n return <DialogPrimitive.Root data-slot=\"dialog\" {...props} />\n}\n\nfunction DialogTrigger({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Trigger>) {\n return <DialogPrimitive.Trigger data-slot=\"dialog-trigger\" {...props} />\n}\n\nfunction DialogPortal({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Portal>) {\n return <DialogPrimitive.Portal data-slot=\"dialog-portal\" {...props} />\n}\n\nfunction DialogClose({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Close>) {\n return <DialogPrimitive.Close data-slot=\"dialog-close\" {...props} />\n}\n\nfunction DialogOverlay({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Overlay>) {\n return (\n <DialogPrimitive.Overlay\n data-slot=\"dialog-overlay\"\n className={cn(\n \"fixed inset-0 isolate z-50 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction DialogContent({\n className,\n children,\n showCloseButton = true,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Content> & {\n showCloseButton?: boolean\n}) {\n const { t } = useTranslation()\n\n return (\n <DialogPortal>\n <DialogOverlay />\n <DialogPrimitive.Content\n data-slot=\"dialog-content\"\n className={cn(\n \"fixed top-1/2 start-1/2 z-50 grid w-full max-w-[calc(100%-2rem)] -translate-x-1/2 rtl:translate-x-1/2 -translate-y-1/2 gap-4 rounded-xl bg-popover p-4 text-sm text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95\",\n className\n )}\n {...props}\n >\n {children}\n {showCloseButton && (\n <DialogPrimitive.Close data-slot=\"dialog-close\" asChild>\n <Button\n variant=\"ghost\"\n className=\"absolute top-2 end-2\"\n size=\"icon-sm\"\n >\n <XIcon\n />\n <span className=\"sr-only\">{t(\"neetoatoms.dialog.close\", \"Close\")}</span>\n </Button>\n </DialogPrimitive.Close>\n )}\n </DialogPrimitive.Content>\n </DialogPortal>\n )\n}\n\nfunction DialogHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"dialog-header\"\n className={cn(\"flex flex-col gap-2\", className)}\n {...props}\n />\n )\n}\n\nfunction DialogFooter({\n className,\n showCloseButton = false,\n children,\n ...props\n}: React.ComponentProps<\"div\"> & {\n showCloseButton?: boolean\n}) {\n return (\n <div\n data-slot=\"dialog-footer\"\n className={cn(\n \"-mx-4 -mb-4 flex flex-col-reverse gap-2 rounded-b-xl border-t bg-muted/50 p-4 sm:flex-row sm:justify-end\",\n className\n )}\n {...props}\n >\n {children}\n {showCloseButton && (\n <DialogPrimitive.Close asChild>\n <Button variant=\"outline\">Close</Button>\n </DialogPrimitive.Close>\n )}\n </div>\n )\n}\n\nfunction DialogTitle({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Title>) {\n return (\n <DialogPrimitive.Title\n data-slot=\"dialog-title\"\n className={cn(\n \"text-base leading-none font-medium\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction DialogDescription({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Description>) {\n return (\n <DialogPrimitive.Description\n data-slot=\"dialog-description\"\n className={cn(\n \"text-sm text-muted-foreground *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport {\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n}\n"],"names":["_jsx","DialogPrimitive.Root","DialogPrimitive.Trigger","DialogPrimitive.Portal","DialogPrimitive.Close","DialogPrimitive.Overlay","_jsxs","DialogPrimitive.Content","XIcon","DialogPrimitive.Title","DialogPrimitive.Description"],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -2,20 +2,33 @@ export { Accordion } from "./components/Accordion";
2
2
  export type { AccordionProps } from "./components/Accordion";
3
3
  export { Alert } from "./components/Alert";
4
4
  export type { AlertProps } from "./components/Alert";
5
+ export { Avatar } from "./components/Avatar";
6
+ export type { AvatarProps } from "./components/Avatar";
5
7
  export { Badge } from "./components/Badge";
6
8
  export type { BadgeProps } from "./components/Badge";
7
9
  export { Button } from "./components/Button";
8
10
  export type { ButtonProps } from "./components/Button";
11
+ export { Callout } from "./components/Callout";
12
+ export type { CalloutProps } from "./components/Callout";
9
13
  export { Checkbox } from "./components/Checkbox";
10
14
  export type { CheckboxProps } from "./components/Checkbox";
11
15
  export { ColorPicker } from "./components/ColorPicker";
16
+ export { TranslationProvider } from "./components/TranslationProvider";
17
+ export type { TranslationProviderProps } from "./components/TranslationProvider";
18
+ export { resources as translations } from "./translations";
12
19
  export type { ColorPickerProps, ColorPickerSize, ColorValue, PaletteColor, } from "./components/ColorPicker";
13
20
  export { Dialog } from "./components/Dialog";
14
21
  export type { DialogProps } from "./components/Dialog";
15
22
  export { DropdownMenu } from "./components/DropdownMenu";
16
23
  export type { DropdownProps } from "./components/DropdownMenu";
24
+ export { Empty } from "./components/Empty";
25
+ export type { EmptyProps } from "./components/Empty";
17
26
  export { Input } from "./components/Input";
18
27
  export type { InputProps } from "./components/Input";
28
+ export { Kbd } from "./components/Kbd";
29
+ export type { KbdProps } from "./components/Kbd";
30
+ export { Label } from "./components/Label";
31
+ export type { LabelProps } from "./components/Label";
19
32
  export { MultiSelect } from "./components/MultiSelect";
20
33
  export type { MultiSelectProps, MultiSelectOption, MultiSelectOptionBase, MultiSelectOptionGroup, } from "./components/MultiSelect";
21
34
  export { RadioGroup } from "./components/RadioGroup";
@@ -26,6 +39,14 @@ export { Sheet } from "./components/Sheet";
26
39
  export type { SheetProps } from "./components/Sheet";
27
40
  export { Popover } from "./components/Popover";
28
41
  export type { PopoverProps } from "./components/Popover";
42
+ export { Progress } from "./components/Progress";
43
+ export type { ProgressProps } from "./components/Progress";
44
+ export { Slider } from "./components/Slider";
45
+ export type { SliderProps } from "./components/Slider";
46
+ export { Spinner } from "./components/Spinner";
47
+ export type { SpinnerProps } from "./components/Spinner";
48
+ export { Stepper } from "./components/Stepper";
49
+ export type { StepperProps } from "./components/Stepper";
29
50
  export { Toastr } from "./components/Toastr";
30
51
  export type { ToastrConfig } from "./components/Toastr";
31
52
  export { Switch } from "./components/Switch";
package/dist/index.js CHANGED
@@ -1,14 +1,21 @@
1
1
  export { Accordion } from './components/Accordion.js';
2
2
  export { Alert } from './components/Alert.js';
3
+ export { Avatar } from './components/Avatar.js';
3
4
  export { Badge } from './components/Badge.js';
4
5
  export { Button } from './components/Button.js';
6
+ export { Callout } from './components/Callout.js';
5
7
  export { Checkbox } from './components/Checkbox.js';
6
- export { C as ColorPicker } from './ColorPicker-BPvxDGDM.js';
8
+ export { C as ColorPicker } from './ColorPicker-D-7QGnf9.js';
9
+ export { T as TranslationProvider, r as translations } from './TranslationProvider-Ba9rn47H.js';
7
10
  export { Dialog } from './components/Dialog.js';
8
11
  export { DropdownMenu } from './components/DropdownMenu.js';
12
+ export { Empty } from './components/Empty.js';
9
13
  export { Input } from './components/Input.js';
14
+ export { Kbd } from './components/Kbd.js';
15
+ export { Label } from './components/Label.js';
10
16
  import { jsxs, jsx } from 'react/jsx-runtime';
11
17
  import React__default, { useState, useRef, useEffect, useCallback, useId, useMemo, forwardRef } from 'react';
18
+ import { useTranslation } from 'react-i18next';
12
19
  import { f as flattenOptions, h as hasGroups, t as toBaseUiItems, u as useCreatableItems, C as CREATE_PREFIX } from './useCreatableItems-B0seQA1_.js';
13
20
  import { SelectFieldWrapper } from './components/SelectFieldWrapper.js';
14
21
  import { c as cn } from './utils-DdHUxIdC.js';
@@ -20,13 +27,17 @@ import { SelectTriggerContent } from './components/SelectTriggerContent.js';
20
27
  import { renderOptions } from './components/SelectOptions.js';
21
28
  export { Sheet } from './components/Sheet.js';
22
29
  export { Popover } from './components/Popover.js';
30
+ export { Progress } from './components/Progress.js';
31
+ export { Slider } from './components/Slider.js';
32
+ export { Spinner } from './components/Spinner.js';
33
+ export { Stepper } from './components/Stepper.js';
23
34
  export { Toastr } from './components/Toastr.js';
24
35
  export { Switch } from './components/Switch.js';
25
36
  export { Tabs } from './components/Tabs.js';
26
37
  export { Textarea } from './components/Textarea.js';
27
38
  export { Tooltip } from './components/Tooltip.js';
28
39
  export { Typography, typographyVariants } from './components/Typography.js';
29
- export { D as DataTable, u as useColumnOrdering, a as useColumnPinning, b as useColumnVisibility, c as useTablePagination, d as useTableSelection, e as useTableSort } from './DataTable-BKe9K5XP.js';
40
+ export { D as DataTable, u as useColumnOrdering, a as useColumnPinning, b as useColumnVisibility, c as useTablePagination, d as useTableSelection, e as useTableSort } from './DataTable-DWR9gX9d.js';
30
41
  export { u as useIsMobile } from './use-mobile-IRjN_mlT.js';
31
42
  import './primitives/Accordion.js';
32
43
  import './chevron-down-BNi0ntys.js';
@@ -48,7 +59,7 @@ import './primitives/Dialog.js';
48
59
  import './button-COIbN8dg.js';
49
60
  import './index-D7Zy7P05.js';
50
61
  import './index-CfriMyrd.js';
51
- import './dialog-Civ9r6wD.js';
62
+ import './dialog-CrB6N_2a.js';
52
63
  import './x-_o2T3n6D.js';
53
64
  import './index-9HvIbmnI.js';
54
65
  import './index-BNPynZWM.js';
@@ -65,34 +76,43 @@ import './index-ByEpUy7w.js';
65
76
  import './floating-ui.react-dom-CcGbtPEK.js';
66
77
  import './index-BYZaLNq1.js';
67
78
  import './index-CSggBaQF.js';
79
+ import './primitives/Avatar.js';
80
+ import './index-DZXbzIgC.js';
81
+ import './index-CSMSzzKM.js';
68
82
  import './primitives/Badge.js';
83
+ import './primitives/Alert.js';
84
+ import './triangle-alert-PXnNWQy_.js';
69
85
  import './primitives/Checkbox.js';
70
86
  import './check-Cpkv29p1.js';
71
87
  import './index-30QpKM0j.js';
72
88
  import './primitives/Field.js';
73
89
  import './label-B4qDF3W1.js';
74
90
  import './separator-BbhgePmX.js';
91
+ import 'react-colorful';
75
92
  import './primitives/Popover.js';
93
+ import 'i18next';
76
94
  import './primitives/DropdownMenu.js';
77
95
  import './chevron-right-DQnrO-ek.js';
78
96
  import './index-KzJfsx-e.js';
79
97
  import './index-j_qxDBFl.js';
80
98
  import './primitives/ButtonGroup.js';
99
+ import './primitives/Empty.js';
81
100
  import './primitives/InputGroup.js';
82
101
  import './input-group-ytECR3Hw.js';
83
102
  import './input-GLCCE2kT.js';
84
103
  import './textarea-BSZwxzjQ.js';
104
+ import './primitives/Kbd.js';
105
+ import './primitives/Label.js';
106
+ import './primitives/HoverCard.js';
85
107
  import './components/shared.js';
86
108
  import './with-selector--fY1NrB9.js';
87
- import './index-CSMSzzKM.js';
88
- import './index-DZXbzIgC.js';
89
109
  import './components/OptionItem.js';
90
110
  import './primitives/RadioGroup.js';
91
- import './primitives/Label.js';
92
111
  import './index-BfAAoDv6.js';
93
112
  import './primitives/Sheet.js';
94
- import './sheet-COcn22fC.js';
95
- import './primitives/HoverCard.js';
113
+ import './sheet-C763FqIh.js';
114
+ import './primitives/Progress.js';
115
+ import './primitives/Slider.js';
96
116
  import './index-D_roZz8G.js';
97
117
  import './primitives/Switch.js';
98
118
  import './primitives/Tabs.js';
@@ -365,6 +385,7 @@ const MultiSelectCombobox = forwardRef((p, ref) => {
365
385
  MultiSelectCombobox.displayName = "MultiSelectCombobox";
366
386
 
367
387
  const MultiSelect = forwardRef((props, ref) => {
388
+ const { t } = useTranslation();
368
389
  const s = useMultiSelectState(props);
369
390
  const label = props.label ?? "";
370
391
  const error = props.error ?? "";
@@ -376,8 +397,10 @@ const MultiSelect = forwardRef((props, ref) => {
376
397
  flatOptionsMap: s.flatOptionsMap,
377
398
  isGrouped: s.isGrouped,
378
399
  isLoading: s.isLoading,
379
- loadingMessage: props.loadingMessage ?? "Loading\u2026",
380
- emptyMessage: props.emptyMessage ?? "No results found.",
400
+ loadingMessage: props.loadingMessage ??
401
+ t("neetoatoms.multiSelect.loading", "Loading\u2026"),
402
+ emptyMessage: props.emptyMessage ??
403
+ t("neetoatoms.multiSelect.noResults", "No results found."),
381
404
  showCreateOption: s.showCreateOption,
382
405
  hasMoreLazy: s.hasMoreLazy,
383
406
  loaderCallbackRef: s.loaderCallbackRef,