@donotdev/components 0.0.11 → 0.0.13

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 (162) hide show
  1. package/dist/advanced/Bento/Bento.d.ts +0 -9
  2. package/dist/advanced/Bento/Bento.d.ts.map +1 -1
  3. package/dist/advanced/Bento/Bento.js +10 -0
  4. package/dist/advanced/Code/Code.d.ts +1 -9
  5. package/dist/advanced/Code/Code.d.ts.map +1 -1
  6. package/dist/atomic/Accordion/index.d.ts.map +1 -1
  7. package/dist/atomic/Accordion/index.js +1 -1
  8. package/dist/atomic/ActionButton/index.d.ts.map +1 -1
  9. package/dist/atomic/AlertDialog/AlertDialogPrimitive.d.ts.map +1 -1
  10. package/dist/atomic/AlertDialog/index.js +2 -2
  11. package/dist/atomic/Avatar/AvatarPrimitive.d.ts +1 -1
  12. package/dist/atomic/Avatar/AvatarPrimitive.d.ts.map +1 -1
  13. package/dist/atomic/Avatar/AvatarPrimitive.js +0 -1
  14. package/dist/atomic/Blockquote/index.d.ts +1 -9
  15. package/dist/atomic/Blockquote/index.d.ts.map +1 -1
  16. package/dist/atomic/Button/index.d.ts +18 -1
  17. package/dist/atomic/Button/index.d.ts.map +1 -1
  18. package/dist/atomic/Button/index.js +19 -6
  19. package/dist/atomic/Calendar/index.d.ts.map +1 -1
  20. package/dist/atomic/Calendar/index.js +4 -3
  21. package/dist/atomic/Checkbox/CheckboxPrimitive.d.ts +1 -1
  22. package/dist/atomic/Checkbox/CheckboxPrimitive.d.ts.map +1 -1
  23. package/dist/atomic/Checkbox/CheckboxPrimitive.js +0 -1
  24. package/dist/atomic/Checkbox/index.d.ts +1 -1
  25. package/dist/atomic/Checkbox/index.d.ts.map +1 -1
  26. package/dist/atomic/Checkbox/index.js +2 -2
  27. package/dist/atomic/Collapsible/CollapsiblePrimitive.d.ts +1 -1
  28. package/dist/atomic/Collapsible/CollapsiblePrimitive.d.ts.map +1 -1
  29. package/dist/atomic/Collapsible/CollapsiblePrimitive.js +0 -1
  30. package/dist/atomic/Collapsible/index.d.ts.map +1 -1
  31. package/dist/atomic/Collapsible/index.js +2 -6
  32. package/dist/atomic/Combobox/index.d.ts +9 -47
  33. package/dist/atomic/Combobox/index.d.ts.map +1 -1
  34. package/dist/atomic/Combobox/index.js +136 -88
  35. package/dist/atomic/CommandDialog/index.d.ts.map +1 -1
  36. package/dist/atomic/CommandDialog/index.js +1 -1
  37. package/dist/atomic/ContextMenu/ContextMenuPrimitive.d.ts +1 -1
  38. package/dist/atomic/ContextMenu/ContextMenuPrimitive.d.ts.map +1 -1
  39. package/dist/atomic/ContextMenu/ContextMenuPrimitive.js +0 -1
  40. package/dist/atomic/ContextMenu/index.d.ts.map +1 -1
  41. package/dist/atomic/Dialog/DialogPrimitive.d.ts.map +1 -1
  42. package/dist/atomic/Dialog/index.d.ts.map +1 -1
  43. package/dist/atomic/Dialog/index.js +2 -2
  44. package/dist/atomic/DropdownMenu/index.d.ts.map +1 -1
  45. package/dist/atomic/DropdownMenu/index.js +18 -4
  46. package/dist/atomic/DualCard/index.d.ts +10 -2
  47. package/dist/atomic/DualCard/index.d.ts.map +1 -1
  48. package/dist/atomic/DualCard/index.js +3 -3
  49. package/dist/atomic/FeatureFallback/index.js +1 -1
  50. package/dist/atomic/HoverCard/HoverCardPrimitive.d.ts +1 -1
  51. package/dist/atomic/HoverCard/HoverCardPrimitive.d.ts.map +1 -1
  52. package/dist/atomic/HoverCard/HoverCardPrimitive.js +0 -1
  53. package/dist/atomic/HoverCard/index.js +1 -1
  54. package/dist/atomic/Input/index.d.ts +1 -1
  55. package/dist/atomic/Input/index.d.ts.map +1 -1
  56. package/dist/atomic/Input/index.js +13 -22
  57. package/dist/atomic/Label/FloatingLabel.d.ts +45 -0
  58. package/dist/atomic/Label/FloatingLabel.d.ts.map +1 -0
  59. package/dist/atomic/Label/FloatingLabel.js +34 -0
  60. package/dist/atomic/Label/index.d.ts +5 -1
  61. package/dist/atomic/Label/index.d.ts.map +1 -1
  62. package/dist/atomic/Label/index.js +8 -2
  63. package/dist/atomic/List/index.d.ts +8 -0
  64. package/dist/atomic/List/index.d.ts.map +1 -1
  65. package/dist/atomic/List/index.js +1 -1
  66. package/dist/atomic/NavigationMenu/NavigationMenuPrimitive.d.ts +1 -1
  67. package/dist/atomic/NavigationMenu/NavigationMenuPrimitive.d.ts.map +1 -1
  68. package/dist/atomic/NavigationMenu/NavigationMenuPrimitive.js +0 -1
  69. package/dist/atomic/NavigationMenu/index.d.ts +1 -1
  70. package/dist/atomic/NavigationMenu/index.d.ts.map +1 -1
  71. package/dist/atomic/NavigationMenu/index.js +10 -1
  72. package/dist/atomic/Pagination/index.d.ts +1 -1
  73. package/dist/atomic/Pagination/index.d.ts.map +1 -1
  74. package/dist/atomic/PasswordInput/index.d.ts +9 -10
  75. package/dist/atomic/PasswordInput/index.d.ts.map +1 -1
  76. package/dist/atomic/PasswordInput/index.js +14 -30
  77. package/dist/atomic/Popover/index.d.ts +0 -8
  78. package/dist/atomic/Popover/index.d.ts.map +1 -1
  79. package/dist/atomic/Popover/index.js +1 -1
  80. package/dist/atomic/PortalButton/index.d.ts +8 -0
  81. package/dist/atomic/PortalButton/index.d.ts.map +1 -1
  82. package/dist/atomic/PortalButton/index.js +1 -1
  83. package/dist/atomic/Progress/ProgressPrimitive.d.ts +1 -1
  84. package/dist/atomic/Progress/ProgressPrimitive.d.ts.map +1 -1
  85. package/dist/atomic/Progress/ProgressPrimitive.js +0 -1
  86. package/dist/atomic/Progress/index.d.ts +8 -0
  87. package/dist/atomic/Progress/index.d.ts.map +1 -1
  88. package/dist/atomic/Progress/index.js +1 -1
  89. package/dist/atomic/RadioGroup/index.d.ts +0 -9
  90. package/dist/atomic/RadioGroup/index.d.ts.map +1 -1
  91. package/dist/atomic/RadioGroup/index.js +2 -2
  92. package/dist/atomic/ScrollArea/ScrollAreaPrimitive.d.ts +1 -1
  93. package/dist/atomic/ScrollArea/ScrollAreaPrimitive.d.ts.map +1 -1
  94. package/dist/atomic/ScrollArea/ScrollAreaPrimitive.js +0 -1
  95. package/dist/atomic/Section/index.d.ts +0 -32
  96. package/dist/atomic/Section/index.d.ts.map +1 -1
  97. package/dist/atomic/Section/index.js +6 -7
  98. package/dist/atomic/Select/SelectPrimitive.d.ts +1 -1
  99. package/dist/atomic/Select/SelectPrimitive.d.ts.map +1 -1
  100. package/dist/atomic/Select/SelectPrimitive.js +0 -1
  101. package/dist/atomic/Select/index.d.ts +3 -1
  102. package/dist/atomic/Select/index.d.ts.map +1 -1
  103. package/dist/atomic/Select/index.js +14 -24
  104. package/dist/atomic/Separator/SeparatorPrimitive.d.ts +1 -1
  105. package/dist/atomic/Separator/SeparatorPrimitive.d.ts.map +1 -1
  106. package/dist/atomic/Separator/SeparatorPrimitive.js +0 -1
  107. package/dist/atomic/Separator/index.d.ts +1 -1
  108. package/dist/atomic/Separator/index.d.ts.map +1 -1
  109. package/dist/atomic/Separator/index.js +0 -1
  110. package/dist/atomic/Sheet/index.d.ts +3 -1
  111. package/dist/atomic/Sheet/index.d.ts.map +1 -1
  112. package/dist/atomic/Sheet/index.js +3 -3
  113. package/dist/atomic/Skeleton/index.d.ts.map +1 -1
  114. package/dist/atomic/Skeleton/index.js +6 -3
  115. package/dist/atomic/Slider/SliderPrimitive.d.ts +1 -1
  116. package/dist/atomic/Slider/SliderPrimitive.d.ts.map +1 -1
  117. package/dist/atomic/Slider/SliderPrimitive.js +0 -1
  118. package/dist/atomic/Slider/index.d.ts +3 -2
  119. package/dist/atomic/Slider/index.d.ts.map +1 -1
  120. package/dist/atomic/Slider/index.js +2 -3
  121. package/dist/atomic/Slot/index.d.ts.map +1 -1
  122. package/dist/atomic/Stepper/index.js +1 -1
  123. package/dist/atomic/Switch/SwitchPrimitive.d.ts +1 -1
  124. package/dist/atomic/Switch/SwitchPrimitive.d.ts.map +1 -1
  125. package/dist/atomic/Switch/SwitchPrimitive.js +0 -1
  126. package/dist/atomic/Switch/index.d.ts +21 -6
  127. package/dist/atomic/Switch/index.d.ts.map +1 -1
  128. package/dist/atomic/Switch/index.js +27 -9
  129. package/dist/atomic/Table/index.d.ts +19 -7
  130. package/dist/atomic/Table/index.d.ts.map +1 -1
  131. package/dist/atomic/Table/index.js +25 -5
  132. package/dist/atomic/Tabs/TabsPrimitive.d.ts +1 -1
  133. package/dist/atomic/Tabs/TabsPrimitive.d.ts.map +1 -1
  134. package/dist/atomic/Tabs/TabsPrimitive.js +0 -1
  135. package/dist/atomic/Tabs/index.js +1 -1
  136. package/dist/atomic/Tag/index.d.ts +8 -0
  137. package/dist/atomic/Tag/index.d.ts.map +1 -1
  138. package/dist/atomic/Tag/index.js +1 -1
  139. package/dist/atomic/Text/index.js +1 -1
  140. package/dist/atomic/Textarea/index.d.ts.map +1 -1
  141. package/dist/atomic/ToggleGroup/ToggleGroupPrimitive.d.ts +1 -1
  142. package/dist/atomic/ToggleGroup/ToggleGroupPrimitive.d.ts.map +1 -1
  143. package/dist/atomic/Tooltip/TooltipPrimitive.d.ts +1 -1
  144. package/dist/atomic/Tooltip/TooltipPrimitive.d.ts.map +1 -1
  145. package/dist/atomic/Tooltip/TooltipPrimitive.js +0 -1
  146. package/dist/atomic/Tooltip/index.d.ts +6 -12
  147. package/dist/atomic/Tooltip/index.d.ts.map +1 -1
  148. package/dist/atomic/Tooltip/index.js +13 -23
  149. package/dist/atomic/VideoPlayer/index.js +1 -1
  150. package/dist/atomic/VisuallyHidden/VisuallyHiddenPrimitive.d.ts.map +1 -1
  151. package/dist/atomic/index.d.ts +2 -3
  152. package/dist/atomic/index.d.ts.map +1 -1
  153. package/dist/atomic/index.js +1 -2
  154. package/dist/hooks/useToast.d.ts +1 -25
  155. package/dist/hooks/useToast.d.ts.map +1 -1
  156. package/dist/index.js +4 -4
  157. package/dist/styles/index.css +627 -68
  158. package/dist/utils/variants.d.ts.map +1 -1
  159. package/package.json +1 -1
  160. package/dist/atomic/Combobox/ComboboxPrimitive.d.ts +0 -18
  161. package/dist/atomic/Combobox/ComboboxPrimitive.d.ts.map +0 -1
  162. package/dist/atomic/Combobox/ComboboxPrimitive.js +0 -14
@@ -9,10 +9,10 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
9
  * @since 0.0.1
10
10
  * @author AMBROISE PARK Consulting
11
11
  */
12
- import RadioGroupPrimitive, { RadioGroupRootPrimitive, RadioGroupItemPrimitive, RadioGroupIndicatorPrimitive, } from './RadioGroupPrimitive';
13
12
  import { cva } from 'class-variance-authority';
14
- import { cn, getVariantDataAttrs } from '../../utils/helpers';
13
+ import RadioGroupPrimitive, { RadioGroupRootPrimitive, RadioGroupItemPrimitive, RadioGroupIndicatorPrimitive, } from './RadioGroupPrimitive';
15
14
  import { CONTROL_VARIANT } from '../../utils/constants';
15
+ import { cn, getVariantDataAttrs } from '../../utils/helpers';
16
16
  import './RadioGroup.css';
17
17
  const radioGroupVariants = cva('dndev-radio-group dndev-control-group', {
18
18
  variants: {
@@ -7,7 +7,7 @@
7
7
  * @author AMBROISE PARK Consulting
8
8
  */
9
9
  import * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area';
10
- import { type ComponentProps } from 'react';
10
+ import type { ComponentProps } from 'react';
11
11
  declare const ScrollAreaPrimitiveRoot: import("react").ForwardRefExoticComponent<ScrollAreaPrimitive.ScrollAreaProps & import("react").RefAttributes<HTMLDivElement>>;
12
12
  declare const ScrollAreaViewportPrimitive: import("react").ForwardRefExoticComponent<ScrollAreaPrimitive.ScrollAreaViewportProps & import("react").RefAttributes<HTMLDivElement>>;
13
13
  declare const ScrollAreaCornerPrimitive: import("react").ForwardRefExoticComponent<ScrollAreaPrimitive.ScrollAreaCornerProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -1 +1 @@
1
- {"version":3,"file":"ScrollAreaPrimitive.d.ts","sourceRoot":"","sources":["../../../src/atomic/ScrollArea/ScrollAreaPrimitive.tsx"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,KAAK,mBAAmB,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,OAAO,CAAC;AAI5C,QAAA,MAAM,uBAAuB,gIAA2B,CAAC;AACzD,QAAA,MAAM,2BAA2B,wIAA+B,CAAC;AACjE,QAAA,MAAM,yBAAyB,sIAA6B,CAAC;AAE7D,MAAM,WAAW,uBAAwB,SAAQ,cAAc,CAC7D,OAAO,mBAAmB,CAAC,mBAAmB,CAC/C;CAAG;AAEJ,QAAA,MAAM,kBAAkB,GAAI,sCAIzB,uBAAuB,4CAYzB,CAAC;AAEF,eAAe,uBAAuB,CAAC;AACvC,OAAO,EACL,2BAA2B,EAC3B,yBAAyB,EACzB,kBAAkB,GACnB,CAAC"}
1
+ {"version":3,"file":"ScrollAreaPrimitive.d.ts","sourceRoot":"","sources":["../../../src/atomic/ScrollArea/ScrollAreaPrimitive.tsx"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,KAAK,mBAAmB,MAAM,6BAA6B,CAAC;AAInE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAE5C,QAAA,MAAM,uBAAuB,gIAA2B,CAAC;AACzD,QAAA,MAAM,2BAA2B,wIAA+B,CAAC;AACjE,QAAA,MAAM,yBAAyB,sIAA6B,CAAC;AAE7D,MAAM,WAAW,uBAAwB,SAAQ,cAAc,CAC7D,OAAO,mBAAmB,CAAC,mBAAmB,CAC/C;CAAG;AAEJ,QAAA,MAAM,kBAAkB,GAAI,sCAIzB,uBAAuB,4CAYzB,CAAC;AAEF,eAAe,uBAAuB,CAAC;AACvC,OAAO,EACL,2BAA2B,EAC3B,yBAAyB,EACzB,kBAAkB,GACnB,CAAC"}
@@ -9,7 +9,6 @@ import { jsx as _jsx } from "react/jsx-runtime";
9
9
  * @author AMBROISE PARK Consulting
10
10
  */
11
11
  import * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area';
12
- import {} from 'react';
13
12
  import { cn } from '../../utils/helpers';
14
13
  const ScrollAreaPrimitiveRoot = ScrollAreaPrimitive.Root;
15
14
  const ScrollAreaViewportPrimitive = ScrollAreaPrimitive.Viewport;
@@ -1,35 +1,3 @@
1
- /**
2
- * @fileoverview Section component
3
- * @description Minimal layout section with title, optional separator, and tone backgrounds.
4
- * Content width is automatically constrained by PageContainer's --content-width variable.
5
- *
6
- * @example
7
- * ```tsx
8
- * // Fixed 3 columns
9
- * <Section title="Features" gridCols={3}>
10
- * <Card />
11
- * <Card />
12
- * <Card />
13
- * </Section>
14
- *
15
- * // Responsive: [mobile, tablet, laptop, desktop]
16
- * <Section title="Features" gridCols={[1, 1, 2, 3]}>
17
- * <Card />
18
- * <Card />
19
- * <Card />
20
- * </Section>
21
- *
22
- * // Collapsible section
23
- * <Section title="Details" collapsible defaultOpen={false}>
24
- * <Card />
25
- * <Card />
26
- * </Section>
27
- * ```
28
- *
29
- * @version 0.0.5
30
- * @since 0.0.1
31
- * @author AMBROISE PARK Consulting
32
- */
33
1
  import { type ElementType, type ComponentPropsWithRef, type ReactNode } from 'react';
34
2
  import { type ResponsiveCols } from '../Grid';
35
3
  import './Section.css';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atomic/Section/index.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,EAIL,KAAK,WAAW,EAChB,KAAK,qBAAqB,EAC1B,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAKf,OAAa,EAAE,KAAK,cAAc,EAAE,MAAM,SAAS,CAAC;AASpD,OAAO,eAAe,CAAC;AAEvB;;GAEG;AACH,UAAU,eAAe;IACvB;;;OAGG;IACH,EAAE,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;IAEtD,sBAAsB;IACtB,QAAQ,EAAE,SAAS,CAAC;IAEpB,qDAAqD;IACrD,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,kDAAkD;IAClD,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,oCAAoC;IACpC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,UAAU,GAAG,QAAQ,CAAC;IAE7D;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;IAEnC;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC;IAEnC;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IAEhD;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAEvC;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,WAAW,GAAG,SAAS,IAAI,eAAe,GAC3E,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,MAAM,eAAe,CAAC,CAAC;AAExD;;;;;;;;;;;;GAYG;AACH,QAAA,MAAM,OAAO,8HAuGZ,CAAC;AAIF,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atomic/Section/index.tsx"],"names":[],"mappings":"AAoCA,OAAO,EAIL,KAAK,WAAW,EAChB,KAAK,qBAAqB,EAC1B,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAQf,OAAa,EAAE,KAAK,cAAc,EAAE,MAAM,SAAS,CAAC;AAKpD,OAAO,eAAe,CAAC;AAEvB;;GAEG;AACH,UAAU,eAAe;IACvB;;;OAGG;IACH,EAAE,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;IAEtD,sBAAsB;IACtB,QAAQ,EAAE,SAAS,CAAC;IAEpB,qDAAqD;IACrD,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,kDAAkD;IAClD,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,oCAAoC;IACpC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,UAAU,GAAG,QAAQ,CAAC;IAE7D;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;IAEnC;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC;IAEnC;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IAEhD;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAEvC;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,WAAW,GAAG,SAAS,IAAI,eAAe,GAC3E,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,MAAM,eAAe,CAAC,CAAC;AAExD;;;;;;;;;;;;GAYG;AACH,QAAA,MAAM,OAAO,8HAmGZ,CAAC;AAIF,eAAe,OAAO,CAAC"}
@@ -32,15 +32,15 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
32
32
  * @since 0.0.1
33
33
  * @author AMBROISE PARK Consulting
34
34
  */
35
+ import { CirclePlus, CircleMinus } from 'lucide-react';
35
36
  import { createElement, forwardRef, useState, } from 'react';
36
- import { Plus, Minus } from 'lucide-react';
37
37
  import { GAP_VARIANT } from '../../styles/componentConstants';
38
38
  import { cn } from '../../utils/helpers';
39
+ import CollapsiblePrimitive, { CollapsibleTrigger, CollapsibleContent, } from '../Collapsible/CollapsiblePrimitive';
39
40
  import Grid, {} from '../Grid';
40
41
  import Separator, { SEPARATOR_VARIANT } from '../Separator';
41
- import Text from '../Text';
42
42
  import Stack from '../Stack';
43
- import CollapsiblePrimitive, { CollapsibleTrigger, CollapsibleContent, } from '../Collapsible/CollapsiblePrimitive';
43
+ import Text from '../Text';
44
44
  import './Section.css';
45
45
  /**
46
46
  * Minimal layout section with title, optional separator, and tone backgrounds.
@@ -60,11 +60,10 @@ const Section = forwardRef(function Section({ as = 'section', children, title, s
60
60
  const [internalOpen, setInternalOpen] = useState(() => collapsible ? defaultOpen : false);
61
61
  const isControlled = collapsible && open !== undefined;
62
62
  const isOpen = isControlled ? open : internalOpen;
63
- const handleOpenChange = isControlled
64
- ? onOpenChange
65
- : setInternalOpen;
63
+ const handleOpenChange = isControlled ? onOpenChange : setInternalOpen;
66
64
  const content = gridCols ? (_jsx(Grid, { cols: gridCols, gap: gridGap || GAP_VARIANT.MEDIUM, children: children })) : (children);
67
- const titleElement = title && (collapsible ? (_jsx(CollapsibleTrigger, { asChild: true, children: _jsxs(Stack, { as: "div", direction: "row", align: "center", justify: "between", className: "dndev-section-title-trigger", children: [_jsx(Text, { as: "div", level: "h2", className: "dndev-section-title", children: title }), isOpen ? (_jsx(Minus, { className: "dndev-section-icon", "aria-hidden": "true" })) : (_jsx(Plus, { className: "dndev-section-icon", "aria-hidden": "true" }))] }) })) : (_jsx(Text, { as: "div", level: "h2", className: "dndev-section-title", children: title })));
65
+ const titleElement = title &&
66
+ (collapsible ? (_jsx(CollapsibleTrigger, { asChild: true, children: _jsxs(Stack, { as: "div", direction: "row", align: "center", justify: "between", className: "dndev-section-title-trigger", children: [_jsx(Text, { as: "div", level: "h2", className: "dndev-section-title", children: title }), isOpen ? (_jsx(CircleMinus, { className: "dndev-section-icon", "aria-hidden": "true" })) : (_jsx(CirclePlus, { className: "dndev-section-icon", "aria-hidden": "true" }))] }) })) : (_jsx(Text, { as: "div", level: "h2", className: "dndev-section-title", children: title })));
68
67
  const sectionContent = collapsible ? (_jsxs(CollapsiblePrimitive, { ...(isControlled
69
68
  ? { open: isOpen, onOpenChange: handleOpenChange }
70
69
  : { defaultOpen: defaultOpen, onOpenChange: handleOpenChange }), children: [titleElement, _jsx(CollapsibleContent, { className: "dndev-collapsible-content", children: content })] })) : (_jsxs(_Fragment, { children: [titleElement, content] }));
@@ -7,7 +7,7 @@
7
7
  * @author AMBROISE PARK Consulting
8
8
  */
9
9
  import * as SelectPrimitive from '@radix-ui/react-select';
10
- import { type ComponentProps } from 'react';
10
+ import type { ComponentProps } from 'react';
11
11
  declare const SelectRootPrimitive: import("react").FC<SelectPrimitive.SelectProps>;
12
12
  declare const SelectGroupPrimitive: ({ className, ...props }: ComponentProps<typeof SelectPrimitive.Group>) => import("react/jsx-runtime").JSX.Element;
13
13
  declare const SelectValuePrimitive: ({ className, ...props }: ComponentProps<typeof SelectPrimitive.Value>) => import("react/jsx-runtime").JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"SelectPrimitive.d.ts","sourceRoot":"","sources":["../../../src/atomic/Select/SelectPrimitive.tsx"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,OAAO,CAAC;AAG5C,QAAA,MAAM,mBAAmB,iDAAuB,CAAC;AAEjD,QAAA,MAAM,oBAAoB,GAAI,yBAG3B,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,4CAE9C,CAAC;AAEF,QAAA,MAAM,oBAAoB,GAAI,yBAG3B,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,4CAE9C,CAAC;AAEF,QAAA,MAAM,sBAAsB,GAAI,yBAG7B,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,4CAEhD,CAAC;AAEF,QAAA,MAAM,sBAAsB,GAAI,yBAG7B,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,4CAEhD,CAAC;AAEF,QAAA,MAAM,oBAAoB,GAAI,yBAG3B,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,4CAE9C,CAAC;AAEF,QAAA,MAAM,mBAAmB,GAAI,yBAG1B,cAAc,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,4CAE7C,CAAC;AAEF,QAAA,MAAM,wBAAwB,GAAI,yBAG/B,cAAc,CAAC,OAAO,eAAe,CAAC,SAAS,CAAC,4CAElD,CAAC;AAEF,eAAe,mBAAmB,CAAC;AACnC,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,EACnB,wBAAwB,GACzB,CAAC"}
1
+ {"version":3,"file":"SelectPrimitive.d.ts","sourceRoot":"","sources":["../../../src/atomic/Select/SelectPrimitive.tsx"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAI1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAE5C,QAAA,MAAM,mBAAmB,iDAAuB,CAAC;AAEjD,QAAA,MAAM,oBAAoB,GAAI,yBAG3B,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,4CAE9C,CAAC;AAEF,QAAA,MAAM,oBAAoB,GAAI,yBAG3B,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,4CAE9C,CAAC;AAEF,QAAA,MAAM,sBAAsB,GAAI,yBAG7B,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,4CAEhD,CAAC;AAEF,QAAA,MAAM,sBAAsB,GAAI,yBAG7B,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,4CAEhD,CAAC;AAEF,QAAA,MAAM,oBAAoB,GAAI,yBAG3B,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,4CAE9C,CAAC;AAEF,QAAA,MAAM,mBAAmB,GAAI,yBAG1B,cAAc,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,4CAE7C,CAAC;AAEF,QAAA,MAAM,wBAAwB,GAAI,yBAG/B,cAAc,CAAC,OAAO,eAAe,CAAC,SAAS,CAAC,4CAElD,CAAC;AAEF,eAAe,mBAAmB,CAAC;AACnC,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,EACnB,wBAAwB,GACzB,CAAC"}
@@ -9,7 +9,6 @@ import { jsx as _jsx } from "react/jsx-runtime";
9
9
  * @author AMBROISE PARK Consulting
10
10
  */
11
11
  import * as SelectPrimitive from '@radix-ui/react-select';
12
- import {} from 'react';
13
12
  import { cn } from '../../utils/helpers';
14
13
  const SelectRootPrimitive = SelectPrimitive.Root;
15
14
  const SelectGroupPrimitive = ({ className, ...props }) => (_jsx(SelectPrimitive.Group, { className: cn(className), ...props }));
@@ -25,6 +25,8 @@ export interface SelectProps extends Omit<ComponentProps<typeof SelectRootPrimit
25
25
  isLoading?: boolean;
26
26
  /** Label for floating label - automatically floats when both label and placeholder are provided */
27
27
  label?: string;
28
+ /** Whether the field is required - shows asterisk indicator */
29
+ required?: boolean;
28
30
  }
29
31
  /**
30
32
  * Accessible select component built on Radix UI primitives.
@@ -46,6 +48,6 @@ export interface SelectProps extends Omit<ComponentProps<typeof SelectRootPrimit
46
48
  * @param {SelectProps} props - The props for the select
47
49
  * @returns {JSX.Element} The rendered select
48
50
  */
49
- declare const Select: ({ value, onValueChange, placeholder, options, trigger, disabled, isLoading, defaultValue, label, ...props }: SelectProps) => import("react/jsx-runtime").JSX.Element;
51
+ declare const Select: ({ value, onValueChange, placeholder, options, trigger, disabled, isLoading, defaultValue, label, required, ...props }: SelectProps) => import("react/jsx-runtime").JSX.Element;
50
52
  export default Select;
51
53
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atomic/Select/index.tsx"],"names":[],"mappings":"AAgBA,OAAO,mBAON,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAEvD,OAAO,cAAc,CAAC;AAEtB,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB;AAED,MAAM,WAAW,WAAY,SAAQ,IAAI,CACvC,cAAc,CAAC,OAAO,mBAAmB,CAAC,EAC1C,UAAU,CACX;IACC,qBAAqB;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qBAAqB;IACrB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,uBAAuB;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uBAAuB;IACvB,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,6BAA6B;IAC7B,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,qCAAqC;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,+CAA+C;IAC/C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,mGAAmG;IACnG,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,QAAA,MAAM,MAAM,GAAI,6GAWb,WAAW,4CAiIb,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atomic/Select/index.tsx"],"names":[],"mappings":"AAkBA,OAAO,mBAON,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAEvD,OAAO,cAAc,CAAC;AAEtB,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB;AAED,MAAM,WAAW,WAAY,SAAQ,IAAI,CACvC,cAAc,CAAC,OAAO,mBAAmB,CAAC,EAC1C,UAAU,CACX;IACC,qBAAqB;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qBAAqB;IACrB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,uBAAuB;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uBAAuB;IACvB,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,6BAA6B;IAC7B,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,qCAAqC;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,+CAA+C;IAC/C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,mGAAmG;IACnG,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,QAAA,MAAM,MAAM,GAAI,uHAYb,WAAW,4CAwHb,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -12,7 +12,8 @@ import * as SelectRadix from '@radix-ui/react-select';
12
12
  import { Check, ChevronDown } from 'lucide-react';
13
13
  import { useState, useId } from 'react';
14
14
  import { cn } from '../../utils/helpers';
15
- import Label from '../Label';
15
+ import { FloatingLabel } from '../Label';
16
+ import ScrollArea from '../ScrollArea';
16
17
  import SelectRootPrimitive, { SelectTriggerPrimitive, SelectValuePrimitive, SelectContentPrimitive, SelectItemPrimitive, SelectLabelPrimitive, SelectSeparatorPrimitive, } from './SelectPrimitive';
17
18
  import './Select.css';
18
19
  /**
@@ -35,31 +36,20 @@ import './Select.css';
35
36
  * @param {SelectProps} props - The props for the select
36
37
  * @returns {JSX.Element} The rendered select
37
38
  */
38
- const Select = ({ value, onValueChange, placeholder = 'Select an option...', options = [], trigger, disabled, isLoading, defaultValue, label, ...props }) => {
39
+ const Select = ({ value, onValueChange, placeholder = 'Select an option...', options = [], trigger, disabled, isLoading, defaultValue, label, required, ...props }) => {
39
40
  const id = useId();
40
41
  const [isOpen, setIsOpen] = useState(false);
41
42
  const hasLabel = !!label;
42
- const customTrigger = trigger ? (_jsx(SelectTriggerPrimitive, { asChild: true, disabled: disabled, className: "dndev-input dndev-select-trigger", children: trigger })) : (_jsxs("div", { className: "dndev-relative", children: [hasLabel && (_jsx(Label, { htmlFor: id, style: {
43
- position: 'absolute',
44
- left: 'var(--gap-md)',
45
- top: 'calc(-1 * var(--font-size-xs) / 2 - 1px)',
46
- fontSize: 'var(--font-size-xs)',
47
- fontWeight: 500,
48
- color: disabled ? 'var(--muted-foreground)' : 'var(--foreground)',
49
- pointerEvents: 'none',
50
- zIndex: 1,
51
- backgroundColor: 'var(--background)',
52
- padding: '0 var(--gap-xs)',
53
- lineHeight: 1,
54
- }, children: label })), _jsxs(SelectTriggerPrimitive, { id: id, className: "dndev-input dndev-select-trigger", disabled: disabled, children: [isLoading ? (_jsxs("div", { className: "dndev-select-loading-container", children: [_jsx("div", { className: "dndev-animate-spin dndev-select-loading-spinner" }), _jsx("span", { children: "Loading..." })] })) : (_jsx(SelectValuePrimitive, { placeholder: placeholder })), _jsx(SelectRadix.Icon, { asChild: true, children: _jsx(ChevronDown, {}) })] })] }));
55
- return (_jsxs(SelectRootPrimitive, { value: value, onValueChange: onValueChange, defaultValue: defaultValue, disabled: disabled, onOpenChange: setIsOpen, ...props, children: [customTrigger, _jsx(SelectRadix.Portal, { children: _jsx(SelectContentPrimitive, { className: "dndev-floating dndev-menu-content dndev-z-tooltip dndev-select-content", position: "popper", side: "bottom", sideOffset: 4, align: "start", "data-glow": "blank", children: _jsx(SelectRadix.Viewport, { children: options.map((option) => {
56
- if (option.value === '__label__') {
57
- return (_jsx(SelectLabelPrimitive, { className: "dndev-menu-label", children: option.label }, option.label));
58
- }
59
- if (option.value === '__separator__') {
60
- return (_jsx(SelectSeparatorPrimitive, { className: "dndev-menu-separator" }, "separator"));
61
- }
62
- return (_jsxs(SelectItemPrimitive, { value: option.value, disabled: option.disabled, className: "dndev-interactive", "data-role": "menu-item", children: [option.content ? (option.content) : (_jsx(_Fragment, { children: _jsxs(SelectRadix.ItemText, { children: [_jsx("span", { children: option.label }), option.description && (_jsx("span", { className: "dndev-select-item-description", children: option.description }))] }) })), _jsx(SelectRadix.ItemIndicator, { className: "dndev-dropdown-menu-checkmark dndev-dropdown-menu-trailing", children: _jsx(Check, {}) })] }, option.value));
63
- }) }) }) })] }));
43
+ const triggerElement = (_jsxs(SelectTriggerPrimitive, { id: id, className: "dndev-input dndev-select-trigger", disabled: disabled, children: [isLoading ? (_jsxs("div", { className: "dndev-select-loading-container", children: [_jsx("div", { className: "dndev-animate-spin dndev-select-loading-spinner" }), _jsx("span", { children: "Loading..." })] })) : (_jsx(SelectValuePrimitive, { placeholder: placeholder })), _jsx(SelectRadix.Icon, { asChild: true, children: _jsx(ChevronDown, {}) })] }));
44
+ const customTrigger = trigger ? (_jsx(SelectTriggerPrimitive, { asChild: true, disabled: disabled, className: "dndev-input dndev-select-trigger", children: trigger })) : hasLabel ? (_jsx(FloatingLabel, { htmlFor: id, label: label, disabled: disabled, required: required, children: triggerElement })) : (triggerElement);
45
+ return (_jsxs(SelectRootPrimitive, { value: value, onValueChange: onValueChange, defaultValue: defaultValue, disabled: disabled, onOpenChange: setIsOpen, ...props, children: [customTrigger, _jsx(SelectRadix.Portal, { children: _jsx(SelectContentPrimitive, { className: "dndev-floating dndev-menu-content dndev-z-tooltip dndev-select-content", position: "popper", side: "bottom", sideOffset: 4, align: "start", "data-glow": "blank", children: _jsx(SelectRadix.Viewport, { children: _jsx(ScrollArea, { className: "dndev-menu-scroll-area", end: true, children: options.map((option) => {
46
+ if (option.value === '__label__') {
47
+ return (_jsx(SelectLabelPrimitive, { className: "dndev-menu-label", children: option.label }, option.label));
48
+ }
49
+ if (option.value === '__separator__') {
50
+ return (_jsx(SelectSeparatorPrimitive, { className: "dndev-menu-separator" }, "separator"));
51
+ }
52
+ return (_jsxs(SelectItemPrimitive, { value: option.value, disabled: option.disabled, className: "dndev-interactive", "data-role": "menu-item", children: [option.content ? (option.content) : (_jsx(_Fragment, { children: _jsxs(SelectRadix.ItemText, { children: [_jsx("span", { children: option.label }), option.description && (_jsx("span", { className: "dndev-select-item-description", children: option.description }))] }) })), _jsx(SelectRadix.ItemIndicator, { className: "dndev-dropdown-menu-checkmark dndev-dropdown-menu-trailing", children: _jsx(Check, {}) })] }, option.value));
53
+ }) }) }) }) })] }));
64
54
  };
65
55
  export default Select;
@@ -6,7 +6,7 @@
6
6
  * @author AMBROISE PARK Consulting
7
7
  */
8
8
  import * as SeparatorPrimitive from '@radix-ui/react-separator';
9
- import { type ComponentProps } from 'react';
9
+ import type { ComponentProps } from 'react';
10
10
  export interface SeparatorPrimitiveProps extends ComponentProps<typeof SeparatorPrimitive.Root> {
11
11
  }
12
12
  declare const SeparatorPrimitiveComponent: ({ className, ...props }: SeparatorPrimitiveProps) => import("react/jsx-runtime").JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"SeparatorPrimitive.d.ts","sourceRoot":"","sources":["../../../src/atomic/Separator/SeparatorPrimitive.tsx"],"names":[],"mappings":"AAEA;;;;;;GAMG;AAEH,OAAO,KAAK,kBAAkB,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,OAAO,CAAC;AAI5C,MAAM,WAAW,uBAAwB,SAAQ,cAAc,CAC7D,OAAO,kBAAkB,CAAC,IAAI,CAC/B;CAAG;AAEJ,QAAA,MAAM,2BAA2B,GAAI,yBAGlC,uBAAuB,4CAOzB,CAAC;AAEF,eAAe,2BAA2B,CAAC"}
1
+ {"version":3,"file":"SeparatorPrimitive.d.ts","sourceRoot":"","sources":["../../../src/atomic/Separator/SeparatorPrimitive.tsx"],"names":[],"mappings":"AAEA;;;;;;GAMG;AAEH,OAAO,KAAK,kBAAkB,MAAM,2BAA2B,CAAC;AAIhE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAE5C,MAAM,WAAW,uBAAwB,SAAQ,cAAc,CAC7D,OAAO,kBAAkB,CAAC,IAAI,CAC/B;CAAG;AAEJ,QAAA,MAAM,2BAA2B,GAAI,yBAGlC,uBAAuB,4CAOzB,CAAC;AAEF,eAAe,2BAA2B,CAAC"}
@@ -8,7 +8,6 @@ import { jsx as _jsx } from "react/jsx-runtime";
8
8
  * @author AMBROISE PARK Consulting
9
9
  */
10
10
  import * as SeparatorPrimitive from '@radix-ui/react-separator';
11
- import {} from 'react';
12
11
  import { cn } from '../../utils/helpers';
13
12
  const SeparatorPrimitiveComponent = ({ className, ...props }) => {
14
13
  return (_jsx(SeparatorPrimitive.Root, { className: cn('dndev-separator', className), ...props }));
@@ -6,8 +6,8 @@
6
6
  * @since 0.0.1
7
7
  * @author AMBROISE PARK Consulting
8
8
  */
9
- import { type ComponentProps } from 'react';
10
9
  import SeparatorPrimitive from './SeparatorPrimitive';
10
+ import type { ComponentProps } from 'react';
11
11
  import './Separator.css';
12
12
  /**
13
13
  * Separator variant constants - DRY single source of truth
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atomic/Separator/index.tsx"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,OAAO,CAAC;AAE5C,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AAEtD,OAAO,iBAAiB,CAAC;AAEzB;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB;;;;;CAKpB,CAAC;AAEX,MAAM,WAAW,cAAe,SAAQ,cAAc,CACpD,OAAO,kBAAkB,CAC1B;IACC;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,OAAO,iBAAiB,CAAC,CAAC;CACtE;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,QAAA,MAAM,SAAS,GAAI,kEAOhB,cAAc,4CAahB,CAAC;AAEF,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atomic/Separator/index.tsx"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AAGtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,iBAAiB,CAAC;AAEzB;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB;;;;;CAKpB,CAAC;AAEX,MAAM,WAAW,cAAe,SAAQ,cAAc,CACpD,OAAO,kBAAkB,CAC1B;IACC;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,OAAO,iBAAiB,CAAC,CAAC;CACtE;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,QAAA,MAAM,SAAS,GAAI,kEAOhB,cAAc,4CAahB,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -8,7 +8,6 @@ import { jsx as _jsx } from "react/jsx-runtime";
8
8
  * @since 0.0.1
9
9
  * @author AMBROISE PARK Consulting
10
10
  */
11
- import {} from 'react';
12
11
  import SeparatorPrimitive from './SeparatorPrimitive';
13
12
  import { cn, getVariantDataAttrs } from '../../utils/helpers';
14
13
  import './Separator.css';
@@ -29,6 +29,8 @@ export interface SheetProps extends Omit<ComponentProps<typeof DialogPrimitive.C
29
29
  * @default 'right'
30
30
  */
31
31
  side?: 'top' | 'bottom' | 'left' | 'right';
32
+ /** Footer content (pinned at bottom) */
33
+ footer?: ReactNode;
32
34
  /** Visual variant of the sheet (uses surface variants: default, muted, primary, secondary, accent, success, warning, destructive) */
33
35
  variant?: SurfaceVariant;
34
36
  /** Whether to disable swipe-to-close functionality */
@@ -53,7 +55,7 @@ export interface SheetProps extends Omit<ComponentProps<typeof DialogPrimitive.C
53
55
  * @param {SheetProps} props - The props for the sheet
54
56
  * @returns {JSX.Element} The rendered sheet
55
57
  */
56
- declare const Sheet: ({ trigger, title, description, children, open, onOpenChange, side, showOverlay, variant, className, noSwipe, ...contentProps }: SheetProps) => import("react/jsx-runtime").JSX.Element;
58
+ declare const Sheet: ({ trigger, title, description, children, open, onOpenChange, side, showOverlay, footer, variant, className, noSwipe, ...contentProps }: SheetProps) => import("react/jsx-runtime").JSX.Element;
57
59
  export default Sheet;
58
60
  export { SURFACE_VARIANT as SHEET_VARIANT } from '../../utils/constants';
59
61
  export type { SurfaceVariant as SheetVariant } from '../../utils/constants';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atomic/Sheet/index.tsx"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAI1D,OAAO,EAAmB,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAK7E,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAa,MAAM,OAAO,CAAC;AAElE,MAAM,WAAW,UAAW,SAAQ,IAAI,CACtC,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,EAC9C,OAAO,GAAG,UAAU,CACrB;IACC,uCAAuC;IACvC,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,+FAA+F;IAC/F,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,mCAAmC;IACnC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,mBAAmB;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,4BAA4B;IAC5B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,uCAAuC;IACvC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,kCAAkC;IAClC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,IAAI,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;IAC3C,qIAAqI;IACrI,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,sDAAsD;IACtD,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,QAAA,MAAM,KAAK,GAAI,gIAaZ,UAAU,4CA2FZ,CAAC;AAEF,eAAe,KAAK,CAAC;AACrB,OAAO,EAAE,eAAe,IAAI,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACzE,YAAY,EAAE,cAAc,IAAI,YAAY,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atomic/Sheet/index.tsx"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAK1D,OAAO,EAAmB,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAI7E,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAa,MAAM,OAAO,CAAC;AAElE,MAAM,WAAW,UAAW,SAAQ,IAAI,CACtC,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,EAC9C,OAAO,GAAG,UAAU,CACrB;IACC,uCAAuC;IACvC,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,+FAA+F;IAC/F,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,mCAAmC;IACnC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,mBAAmB;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,4BAA4B;IAC5B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,uCAAuC;IACvC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,kCAAkC;IAClC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,IAAI,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;IAC3C,wCAAwC;IACxC,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,qIAAqI;IACrI,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,sDAAsD;IACtD,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,QAAA,MAAM,KAAK,GAAI,wIAcZ,UAAU,4CAsGZ,CAAC;AAEF,eAAe,KAAK,CAAC;AACrB,OAAO,EAAE,eAAe,IAAI,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACzE,YAAY,EAAE,cAAc,IAAI,YAAY,EAAE,MAAM,uBAAuB,CAAC"}
@@ -11,9 +11,9 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
11
11
  import * as DialogPrimitive from '@radix-ui/react-dialog';
12
12
  import { X } from 'lucide-react';
13
13
  import { useRef, useId } from 'react';
14
+ import { useSwipeToClose } from '../../hooks';
14
15
  import { SURFACE_VARIANT } from '../../utils/constants';
15
16
  import { cn, getVariantDataAttrs } from '../../utils/helpers';
16
- import { useSwipeToClose } from '../../hooks';
17
17
  import Button, { BUTTON_VARIANT } from '../Button';
18
18
  /**
19
19
  * Accessible sheet (slide-out) component built on Radix UI Dialog.
@@ -34,7 +34,7 @@ import Button, { BUTTON_VARIANT } from '../Button';
34
34
  * @param {SheetProps} props - The props for the sheet
35
35
  * @returns {JSX.Element} The rendered sheet
36
36
  */
37
- const Sheet = ({ trigger, title, description, children, open, onOpenChange, side = 'right', showOverlay = true, variant, className = '', noSwipe = false, ...contentProps }) => {
37
+ const Sheet = ({ trigger, title, description, children, open, onOpenChange, side = 'right', showOverlay = true, footer, variant, className = '', noSwipe = false, ...contentProps }) => {
38
38
  const closeButtonRef = useRef(null);
39
39
  const getSwipeDirection = () => {
40
40
  switch (side) {
@@ -60,7 +60,7 @@ const Sheet = ({ trigger, title, description, children, open, onOpenChange, side
60
60
  side,
61
61
  variant: variant !== SURFACE_VARIANT.DEFAULT ? variant : undefined,
62
62
  });
63
- return (_jsxs(DialogPrimitive.Root, { open: open, onOpenChange: onOpenChange, children: [trigger && (_jsx(DialogPrimitive.Trigger, { asChild: true, children: trigger })), _jsxs(DialogPrimitive.Portal, { children: [showOverlay && _jsx(DialogPrimitive.Overlay, { className: "dndev-overlay" }), _jsxs(DialogPrimitive.Content, { ref: ref, className: cn('dndev-surface dndev-sheet-content', className), "data-side": side, onPointerDown: noSwipe ? undefined : onPointerDown, onPointerMove: noSwipe ? undefined : onPointerMove, onPointerUp: noSwipe ? undefined : onPointerUp, onPointerCancel: noSwipe ? undefined : onPointerCancel, ...variantAttrs, ...contentProps, children: [title ? (_jsxs("div", { className: "dndev-sheet-header", children: [_jsx(DialogPrimitive.Title, { className: "dndev-sheet-title", children: title }), _jsx(DialogPrimitive.Description, { className: "dndev-sr-only", children: description || 'Sheet content' }), _jsx(DialogPrimitive.Close, { ref: closeButtonRef, asChild: true, children: _jsx(Button, { variant: BUTTON_VARIANT.GHOST, icon: X, className: "dndev-sheet-close", "aria-label": "Close sheet" }) })] })) : (_jsxs(_Fragment, { children: [_jsx(DialogPrimitive.Title, { className: "dndev-sr-only", children: "Sheet" }), _jsx(DialogPrimitive.Description, { className: "dndev-sr-only", children: description || 'Sheet content' }), _jsx("div", { className: "dndev-sheet-header", children: _jsx(DialogPrimitive.Close, { ref: closeButtonRef, asChild: true, children: _jsx(Button, { variant: BUTTON_VARIANT.GHOST, icon: X, className: "dndev-sheet-close", "aria-label": "Close sheet" }) }) })] })), children] })] })] }));
63
+ return (_jsxs(DialogPrimitive.Root, { open: open, onOpenChange: onOpenChange, children: [trigger && (_jsx(DialogPrimitive.Trigger, { asChild: true, children: trigger })), _jsxs(DialogPrimitive.Portal, { children: [showOverlay && _jsx(DialogPrimitive.Overlay, { className: "dndev-overlay" }), _jsxs(DialogPrimitive.Content, { ref: ref, className: cn('dndev-surface dndev-sheet-content', className), "data-side": side, onPointerDown: noSwipe ? undefined : onPointerDown, onPointerMove: noSwipe ? undefined : onPointerMove, onPointerUp: noSwipe ? undefined : onPointerUp, onPointerCancel: noSwipe ? undefined : onPointerCancel, ...variantAttrs, ...contentProps, children: [(side === 'bottom' || side === 'top') && !noSwipe && (_jsx("div", { className: "dndev-sheet-drag-handle", "aria-hidden": "true" })), title ? (_jsxs("div", { className: "dndev-sheet-header", children: [_jsx(DialogPrimitive.Title, { className: "dndev-sheet-title", children: title }), _jsx(DialogPrimitive.Description, { className: "dndev-sr-only", children: description || 'Sheet content' }), _jsx(DialogPrimitive.Close, { ref: closeButtonRef, asChild: true, children: _jsx(Button, { variant: BUTTON_VARIANT.GHOST, icon: X, className: "dndev-sheet-close", "aria-label": "Close sheet" }) })] })) : (_jsxs(_Fragment, { children: [_jsx(DialogPrimitive.Title, { className: "dndev-sr-only", children: "Sheet" }), _jsx(DialogPrimitive.Description, { className: "dndev-sr-only", children: description || 'Sheet content' }), _jsx("div", { className: "dndev-sheet-header", children: _jsx(DialogPrimitive.Close, { ref: closeButtonRef, asChild: true, children: _jsx(Button, { variant: BUTTON_VARIANT.GHOST, icon: X, className: "dndev-sheet-close", "aria-label": "Close sheet" }) }) })] })), _jsx("div", { className: "dndev-sheet-body", children: children }), footer && _jsx("div", { className: "dndev-sheet-footer", children: footer })] })] })] }));
64
64
  };
65
65
  export default Sheet;
66
66
  export { SURFACE_VARIANT as SHEET_VARIANT } from '../../utils/constants';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atomic/Skeleton/index.tsx"],"names":[],"mappings":"AAaA,MAAM,WAAW,aAAc,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACzE,wBAAwB;IACxB,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;IAChD,2CAA2C;IAC3C,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;IAC9E,mBAAmB;IACnB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,oBAAoB;IACpB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,wCAAwC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6CAA6C;IAC7C,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAuBD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,iBAAS,QAAQ,CAAC,EAChB,SAAS,EACT,OAAiB,EACjB,IAAe,EACf,KAAK,EACL,MAAM,EACN,KAAS,EACT,YAAY,EAAE,SAA6B,EAC3C,GAAG,KAAK,EACT,EAAE,aAAa,2CA8Cf;AAED,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atomic/Skeleton/index.tsx"],"names":[],"mappings":"AAaA,MAAM,WAAW,aAAc,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACzE,wBAAwB;IACxB,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;IAChD,2CAA2C;IAC3C,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;IAC9E,mBAAmB;IACnB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,oBAAoB;IACpB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,wCAAwC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6CAA6C;IAC7C,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAuBD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,iBAAS,QAAQ,CAAC,EAChB,SAAS,EACT,OAAiB,EACjB,IAAe,EACf,KAAK,EACL,MAAM,EACN,KAAS,EACT,YAAY,EAAE,SAA6B,EAC3C,GAAG,KAAK,EACT,EAAE,aAAa,2CAiDf;AAED,eAAe,QAAQ,CAAC"}
@@ -11,16 +11,16 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
11
11
  import { cn } from '../../utils/helpers';
12
12
  const sizePresets = {
13
13
  text: { height: 'var(--gap-md)', width: '100%' },
14
- heading: { height: 'var(--icon-touch)', width: '75%' },
14
+ heading: { height: 'var(--icon-touch)', width: '100%' },
15
15
  avatar: {
16
16
  height: 'var(--icon-touch)',
17
17
  width: 'var(--icon-touch)',
18
18
  borderRadius: 'var(--radius-full)',
19
19
  },
20
- button: { height: 'var(--icon-touch)', width: '6rem' },
20
+ button: { height: 'var(--icon-touch)', width: '100%' },
21
21
  card: { height: '8rem', width: '100%' },
22
22
  image: { height: '12rem', width: '100%' },
23
- custom: {},
23
+ custom: { width: '100%' },
24
24
  };
25
25
  const animationClasses = {
26
26
  pulse: 'dndev-skeleton-pulse',
@@ -56,10 +56,13 @@ function Skeleton({ className, variant = 'pulse', size = 'custom', width, height
56
56
  const animationClass = animationClasses[variant];
57
57
  const style = {
58
58
  ...sizeStyles,
59
+ // Width: explicit width prop overrides preset, otherwise use preset (defaults to 100%)
59
60
  ...(width && { width: typeof width === 'number' ? `${width}px` : width }),
61
+ // Height: explicit height prop overrides preset
60
62
  ...(height && {
61
63
  height: typeof height === 'number' ? `${height}px` : height,
62
64
  }),
65
+ // User-provided style overrides everything
63
66
  ...props.style,
64
67
  };
65
68
  if (lines > 1) {
@@ -7,7 +7,7 @@
7
7
  * @author AMBROISE PARK Consulting
8
8
  */
9
9
  import * as SliderPrimitive from '@radix-ui/react-slider';
10
- import { type ComponentProps } from 'react';
10
+ import type { ComponentProps } from 'react';
11
11
  /**
12
12
  * Props for the Slider component.
13
13
  * Extends Radix UI Slider Root props.
@@ -1 +1 @@
1
- {"version":3,"file":"SliderPrimitive.d.ts","sourceRoot":"","sources":["../../../src/atomic/Slider/SliderPrimitive.tsx"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,OAAO,CAAC;AAI5C;;;GAGG;AACH,MAAM,WAAW,oBAAqB,SAAQ,cAAc,CAC1D,OAAO,eAAe,CAAC,IAAI,CAC5B;CAAG;AAEJ;;;;;;;;;;;;;;;;;;GAkBG;AACH,QAAA,MAAM,wBAAwB,GAAI,yBAG/B,oBAAoB,4CAStB,CAAC;AAEF,eAAe,wBAAwB,CAAC"}
1
+ {"version":3,"file":"SliderPrimitive.d.ts","sourceRoot":"","sources":["../../../src/atomic/Slider/SliderPrimitive.tsx"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAI1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAE5C;;;GAGG;AACH,MAAM,WAAW,oBAAqB,SAAQ,cAAc,CAC1D,OAAO,eAAe,CAAC,IAAI,CAC5B;CAAG;AAEJ;;;;;;;;;;;;;;;;;;GAkBG;AACH,QAAA,MAAM,wBAAwB,GAAI,yBAG/B,oBAAoB,4CAStB,CAAC;AAEF,eAAe,wBAAwB,CAAC"}
@@ -9,7 +9,6 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
9
  * @author AMBROISE PARK Consulting
10
10
  */
11
11
  import * as SliderPrimitive from '@radix-ui/react-slider';
12
- import {} from 'react';
13
12
  import { cn } from '../../utils/helpers';
14
13
  /**
15
14
  * Accessible slider component built on Radix UI Slider.
@@ -7,8 +7,9 @@
7
7
  * @author AMBROISE PARK Consulting
8
8
  */
9
9
  import * as SliderPrimitive from '@radix-ui/react-slider';
10
- import { type ComponentProps } from 'react';
11
- import { CONTROL_VARIANT, type ControlVariant } from '../../utils/constants';
10
+ import { CONTROL_VARIANT } from '../../utils/constants';
11
+ import type { ControlVariant } from '../../utils/constants';
12
+ import type { ComponentProps } from 'react';
12
13
  import './Slider.css';
13
14
  export interface SliderProps extends ComponentProps<typeof SliderPrimitive.Root> {
14
15
  /** Semantic color variant */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atomic/Slider/index.tsx"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAE1D,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,OAAO,CAAC;AAE5C,OAAO,EAAE,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAG7E,OAAO,cAAc,CAAC;AAEtB,MAAM,WAAW,WAAY,SAAQ,cAAc,CACjD,OAAO,eAAe,CAAC,IAAI,CAC5B;IACC,6BAA6B;IAC7B,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,yBAAyB;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAoBD;;;;;;;;;;;;GAYG;AACH,QAAA,MAAM,MAAM,GAAI,kEAOb,WAAW,4CA2Bb,CAAC;AAEF,eAAe,MAAM,CAAC;AACtB,OAAO,EAAE,eAAe,EAAE,eAAe,IAAI,cAAc,EAAE,CAAC;AAC9D,YAAY,EAAE,cAAc,IAAI,aAAa,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atomic/Slider/index.tsx"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAI1D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAE5C,OAAO,cAAc,CAAC;AAEtB,MAAM,WAAW,WAAY,SAAQ,cAAc,CACjD,OAAO,eAAe,CAAC,IAAI,CAC5B;IACC,6BAA6B;IAC7B,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,yBAAyB;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAoBD;;;;;;;;;;;;GAYG;AACH,QAAA,MAAM,MAAM,GAAI,kEAOb,WAAW,4CA2Bb,CAAC;AAEF,eAAe,MAAM,CAAC;AACtB,OAAO,EAAE,eAAe,EAAE,eAAe,IAAI,cAAc,EAAE,CAAC;AAC9D,YAAY,EAAE,cAAc,IAAI,aAAa,EAAE,CAAC"}
@@ -10,10 +10,9 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
10
  */
11
11
  import * as SliderPrimitive from '@radix-ui/react-slider';
12
12
  import { cva } from 'class-variance-authority';
13
- import {} from 'react';
14
- import { cn, getVariantDataAttrs } from '../../utils/helpers';
15
- import { CONTROL_VARIANT } from '../../utils/constants';
16
13
  import SliderPrimitiveComponent from './SliderPrimitive';
14
+ import { CONTROL_VARIANT } from '../../utils/constants';
15
+ import { cn, getVariantDataAttrs } from '../../utils/helpers';
17
16
  import './Slider.css';
18
17
  const sliderVariants = cva('dndev-slider', {
19
18
  variants: {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atomic/Slot/index.tsx"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAE5C,MAAM,MAAM,SAAS,GAAG,cAAc,CAAC,OAAO,aAAa,CAAC,CAAC;AAE7D;;;;;;;;;;;;;;;GAeG;AACH,QAAA,MAAM,IAAI,GAAI,yBAAyB,SAAS,4CAE/C,CAAC;AAEF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atomic/Slot/index.tsx"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAE5C,MAAM,MAAM,SAAS,GAAG,cAAc,CAAC,OAAO,aAAa,CAAC,CAAC;AAE7D;;;;;;;;;;;;;;;GAeG;AACH,QAAA,MAAM,IAAI,GAAI,yBAAyB,SAAS,4CAE/C,CAAC;AAEF,eAAe,IAAI,CAAC"}
@@ -11,8 +11,8 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
11
11
  import { cva } from 'class-variance-authority';
12
12
  import { ChevronLeft, ChevronRight } from 'lucide-react';
13
13
  import { useState, useEffect, useCallback, useRef } from 'react';
14
- import { cn, getVariantDataAttrs } from '../../utils/helpers';
15
14
  import { THEME_VARIANT } from '../../utils/constants';
15
+ import { cn, getVariantDataAttrs } from '../../utils/helpers';
16
16
  import Button, { BUTTON_VARIANT } from '../Button';
17
17
  import Card from '../Card';
18
18
  import Stack from '../Stack';
@@ -7,7 +7,7 @@
7
7
  * @author AMBROISE PARK Consulting
8
8
  */
9
9
  import * as SwitchPrimitives from '@radix-ui/react-switch';
10
- import { type ComponentProps } from 'react';
10
+ import type { ComponentProps } from 'react';
11
11
  import './Switch.css';
12
12
  export interface SwitchPrimitiveProps extends ComponentProps<typeof SwitchPrimitives.Root> {
13
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SwitchPrimitive.d.ts","sourceRoot":"","sources":["../../../src/atomic/Switch/SwitchPrimitive.tsx"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,KAAK,gBAAgB,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,OAAO,CAAC;AAG5C,OAAO,cAAc,CAAC;AAEtB,MAAM,WAAW,oBAAqB,SAAQ,cAAc,CAC1D,OAAO,gBAAgB,CAAC,IAAI,CAC7B;CAAG;AAEJ;;;;;;;;;;GAUG;AACH,QAAA,MAAM,wBAAwB,GAAI,yBAG/B,oBAAoB,4CAMtB,CAAC;AAEF,eAAe,wBAAwB,CAAC"}
1
+ {"version":3,"file":"SwitchPrimitive.d.ts","sourceRoot":"","sources":["../../../src/atomic/Switch/SwitchPrimitive.tsx"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,KAAK,gBAAgB,MAAM,wBAAwB,CAAC;AAI3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAE5C,OAAO,cAAc,CAAC;AAEtB,MAAM,WAAW,oBAAqB,SAAQ,cAAc,CAC1D,OAAO,gBAAgB,CAAC,IAAI,CAC7B;CAAG;AAEJ;;;;;;;;;;GAUG;AACH,QAAA,MAAM,wBAAwB,GAAI,yBAG/B,oBAAoB,4CAMtB,CAAC;AAEF,eAAe,wBAAwB,CAAC"}
@@ -9,7 +9,6 @@ import { jsx as _jsx } from "react/jsx-runtime";
9
9
  * @author AMBROISE PARK Consulting
10
10
  */
11
11
  import * as SwitchPrimitives from '@radix-ui/react-switch';
12
- import {} from 'react';
13
12
  import { cn } from '../../utils/helpers';
14
13
  import './Switch.css';
15
14
  /**
@@ -1,34 +1,49 @@
1
1
  /**
2
2
  * @fileoverview Switch component
3
3
  * @description Accessible switch component built on Radix UI primitives with semantic color variants.
4
+ * Supports optional labels for binary choices (e.g., Manual/Automatic).
4
5
  *
5
- * @version 0.0.1
6
+ * @version 0.0.2
6
7
  * @since 0.0.1
7
8
  * @author AMBROISE PARK Consulting
8
9
  */
9
10
  import * as SwitchPrimitives from '@radix-ui/react-switch';
10
- import { type ComponentProps } from 'react';
11
- import { CONTROL_VARIANT, type ControlVariant } from '../../utils/constants';
12
11
  import SwitchPrimitive from './SwitchPrimitive';
12
+ import { CONTROL_VARIANT } from '../../utils/constants';
13
+ import type { ControlVariant } from '../../utils/constants';
14
+ import type { ComponentProps } from 'react';
13
15
  import './Switch.css';
14
16
  export interface SwitchProps extends ComponentProps<typeof SwitchPrimitives.Root> {
15
17
  /** Semantic color variant */
16
18
  variant?: ControlVariant;
19
+ /** Label for unchecked state (e.g., "Manual") */
20
+ uncheckedLabel?: string;
21
+ /** Label for checked state (e.g., "Automatic") */
22
+ checkedLabel?: string;
17
23
  }
18
24
  /**
19
25
  * Accessible switch control with semantic color variants.
20
- * Supports smooth animations and full state management.
26
+ * Supports optional labels for binary choices with automatic active/inactive styling.
21
27
  *
22
28
  * @component
23
29
  * @example
24
30
  * ```tsx
31
+ * // Simple switch without labels
25
32
  * <Switch checked={enabled} onCheckedChange={setEnabled} variant="success" />
26
- * <Switch checked={dangerous} variant="destructive" />
33
+ *
34
+ * // Switch with labels (Manual/Automatic)
35
+ * <Switch
36
+ * checked={isAutomatic}
37
+ * onCheckedChange={setIsAutomatic}
38
+ * uncheckedLabel="Manual"
39
+ * checkedLabel="Automatic"
40
+ * variant="muted"
41
+ * />
27
42
  * ```
28
43
  * @param {SwitchProps} props - The props for the switch
29
44
  * @returns {JSX.Element} The rendered switch
30
45
  */
31
- declare const Switch: ({ className, variant, ...props }: SwitchProps) => import("react/jsx-runtime").JSX.Element;
46
+ declare const Switch: ({ className, variant, uncheckedLabel, checkedLabel, checked, ...props }: SwitchProps) => import("react/jsx-runtime").JSX.Element;
32
47
  export default Switch;
33
48
  export { SwitchPrimitive, CONTROL_VARIANT as SWITCH_VARIANT };
34
49
  export type { ControlVariant as SwitchVariant };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atomic/Switch/index.tsx"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,KAAK,gBAAgB,MAAM,wBAAwB,CAAC;AAE3D,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,OAAO,CAAC;AAE5C,OAAO,EAAE,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAEhD,OAAO,cAAc,CAAC;AAEtB,MAAM,WAAW,WAAY,SAAQ,cAAc,CACjD,OAAO,gBAAgB,CAAC,IAAI,CAC7B;IACC,6BAA6B;IAC7B,OAAO,CAAC,EAAE,cAAc,CAAC;CAC1B;AAoBD;;;;;;;;;;;;GAYG;AACH,QAAA,MAAM,MAAM,GAAI,kCAAkC,WAAW,4CAY5D,CAAC;AAEF,eAAe,MAAM,CAAC;AACtB,OAAO,EAAE,eAAe,EAAE,eAAe,IAAI,cAAc,EAAE,CAAC;AAC9D,YAAY,EAAE,cAAc,IAAI,aAAa,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atomic/Switch/index.tsx"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AAEH,OAAO,KAAK,gBAAgB,MAAM,wBAAwB,CAAC;AAG3D,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAa,MAAM,OAAO,CAAC;AAEvD,OAAO,cAAc,CAAC;AAEtB,MAAM,WAAW,WAAY,SAAQ,cAAc,CACjD,OAAO,gBAAgB,CAAC,IAAI,CAC7B;IACC,6BAA6B;IAC7B,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,iDAAiD;IACjD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kDAAkD;IAClD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAoBD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,QAAA,MAAM,MAAM,GAAI,yEAOb,WAAW,4CAyCb,CAAC;AAEF,eAAe,MAAM,CAAC;AACtB,OAAO,EAAE,eAAe,EAAE,eAAe,IAAI,cAAc,EAAE,CAAC;AAC9D,YAAY,EAAE,cAAc,IAAI,aAAa,EAAE,CAAC"}