@freightos/freightwind 1.0.0 → 1.1.1

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 (216) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +28 -0
  3. package/dist/cjs/components/alert.js +33 -16
  4. package/dist/cjs/components/avatar.js +53 -58
  5. package/dist/cjs/components/badge.js +42 -18
  6. package/dist/cjs/components/button.js +35 -24
  7. package/dist/cjs/components/checkbox.js +21 -3
  8. package/dist/cjs/components/chip.js +67 -9
  9. package/dist/cjs/components/message.js +38 -0
  10. package/dist/cjs/components/pop-confirm.js +86 -0
  11. package/dist/cjs/components/radio-button-group.js +31 -35
  12. package/dist/cjs/components/radio-group.js +2 -1
  13. package/dist/cjs/components/slider.js +14 -6
  14. package/dist/cjs/components/switch.js +29 -10
  15. package/dist/cjs/components/tooltip.js +40 -11
  16. package/dist/cjs/index.js +38 -84
  17. package/dist/cjs/lib/icon-utils.js +5 -0
  18. package/dist/cjs/{components/aspect-ratio.js → lib/use-stable-id.js} +7 -4
  19. package/dist/cjs/lib/utils.js +18 -1
  20. package/dist/esm/components/alert.js +34 -17
  21. package/dist/esm/components/avatar.js +53 -22
  22. package/dist/esm/components/badge.js +45 -19
  23. package/dist/esm/components/button.js +36 -25
  24. package/dist/esm/components/checkbox.js +22 -4
  25. package/dist/esm/components/chip.js +34 -9
  26. package/dist/esm/components/message.js +34 -0
  27. package/dist/esm/components/pop-confirm.js +51 -0
  28. package/dist/esm/components/radio-button-group.js +31 -33
  29. package/dist/esm/components/radio-group.js +2 -1
  30. package/dist/esm/components/slider.js +14 -6
  31. package/dist/esm/components/switch.js +30 -11
  32. package/dist/esm/components/tooltip.js +40 -7
  33. package/dist/esm/index.js +18 -66
  34. package/dist/esm/lib/icon-utils.js +1 -0
  35. package/dist/esm/lib/use-stable-id.js +6 -0
  36. package/dist/esm/lib/utils.js +18 -1
  37. package/dist/types/components/alert.d.ts +5 -5
  38. package/dist/types/components/avatar.d.ts +14 -19
  39. package/dist/types/components/badge.d.ts +22 -8
  40. package/dist/types/components/button.d.ts +15 -9
  41. package/dist/types/components/checkbox.d.ts +8 -2
  42. package/dist/types/components/chip.d.ts +14 -8
  43. package/dist/types/components/message.d.ts +14 -0
  44. package/dist/types/components/pop-confirm.d.ts +28 -0
  45. package/dist/types/components/radio-button-group.d.ts +19 -14
  46. package/dist/types/components/slider.d.ts +10 -2
  47. package/dist/types/components/switch.d.ts +7 -6
  48. package/dist/types/components/tooltip.d.ts +9 -6
  49. package/dist/types/index.d.ts +25 -61
  50. package/dist/types/lib/icon-utils.d.ts +1 -0
  51. package/dist/types/lib/use-stable-id.d.ts +1 -0
  52. package/guidelines/Guidelines.md +54 -0
  53. package/guidelines/design-tokens/colors.md +81 -0
  54. package/guidelines/design-tokens/spacing.md +45 -0
  55. package/guidelines/design-tokens/typography.md +50 -0
  56. package/guidelines/overview-components.md +252 -0
  57. package/guidelines/overview-icons.md +52 -0
  58. package/package.json +63 -54
  59. package/tokens.css +409 -0
  60. package/dist/cjs/components/accordion.js +0 -57
  61. package/dist/cjs/components/breadcrumb.js +0 -65
  62. package/dist/cjs/components/calendar.js +0 -106
  63. package/dist/cjs/components/card.js +0 -59
  64. package/dist/cjs/components/chart.js +0 -176
  65. package/dist/cjs/components/collapsible.js +0 -43
  66. package/dist/cjs/components/command.js +0 -73
  67. package/dist/cjs/components/context-menu.js +0 -83
  68. package/dist/cjs/components/country-select.js +0 -155
  69. package/dist/cjs/components/date-picker.js +0 -59
  70. package/dist/cjs/components/date-range-picker.js +0 -59
  71. package/dist/cjs/components/date-time-picker.js +0 -106
  72. package/dist/cjs/components/dialog.js +0 -70
  73. package/dist/cjs/components/drawer.js +0 -68
  74. package/dist/cjs/components/dropdown-menu.js +0 -85
  75. package/dist/cjs/components/empty.js +0 -42
  76. package/dist/cjs/components/file-preview.js +0 -73
  77. package/dist/cjs/components/form.js +0 -106
  78. package/dist/cjs/components/inline-edit.js +0 -83
  79. package/dist/cjs/components/input-group.js +0 -70
  80. package/dist/cjs/components/input-otp.js +0 -58
  81. package/dist/cjs/components/input.js +0 -57
  82. package/dist/cjs/components/label.js +0 -45
  83. package/dist/cjs/components/menubar.js +0 -96
  84. package/dist/cjs/components/navigation-menu.js +0 -68
  85. package/dist/cjs/components/pagination.js +0 -65
  86. package/dist/cjs/components/phone-input.js +0 -218
  87. package/dist/cjs/components/popover.js +0 -49
  88. package/dist/cjs/components/progress.js +0 -43
  89. package/dist/cjs/components/resizable.js +0 -47
  90. package/dist/cjs/components/rich-text-editor.js +0 -152
  91. package/dist/cjs/components/route.js +0 -47
  92. package/dist/cjs/components/scroll-area.js +0 -48
  93. package/dist/cjs/components/select.js +0 -71
  94. package/dist/cjs/components/separator.js +0 -43
  95. package/dist/cjs/components/sheet.js +0 -245
  96. package/dist/cjs/components/skeleton.js +0 -8
  97. package/dist/cjs/components/sonner.js +0 -25
  98. package/dist/cjs/components/spinner.js +0 -25
  99. package/dist/cjs/components/stepper.js +0 -99
  100. package/dist/cjs/components/steps.js +0 -127
  101. package/dist/cjs/components/table.js +0 -66
  102. package/dist/cjs/components/tabs.js +0 -51
  103. package/dist/cjs/components/textarea.js +0 -44
  104. package/dist/cjs/components/time-picker.js +0 -110
  105. package/dist/cjs/components/toast.js +0 -75
  106. package/dist/cjs/components/toaster.js +0 -12
  107. package/dist/cjs/components/toggle-group.js +0 -58
  108. package/dist/cjs/components/toggle.js +0 -62
  109. package/dist/cjs/hooks/use-toast.js +0 -166
  110. package/dist/cjs/lib/countryUtils.js +0 -93
  111. package/dist/esm/components/accordion.js +0 -18
  112. package/dist/esm/components/aspect-ratio.js +0 -3
  113. package/dist/esm/components/breadcrumb.js +0 -23
  114. package/dist/esm/components/calendar.js +0 -70
  115. package/dist/esm/components/card.js +0 -18
  116. package/dist/esm/components/chart.js +0 -135
  117. package/dist/esm/components/collapsible.js +0 -5
  118. package/dist/esm/components/command.js +0 -29
  119. package/dist/esm/components/context-menu.js +0 -33
  120. package/dist/esm/components/country-select.js +0 -118
  121. package/dist/esm/components/date-picker.js +0 -23
  122. package/dist/esm/components/date-range-picker.js +0 -23
  123. package/dist/esm/components/date-time-picker.js +0 -70
  124. package/dist/esm/components/dialog.js +0 -24
  125. package/dist/esm/components/drawer.js +0 -23
  126. package/dist/esm/components/dropdown-menu.js +0 -35
  127. package/dist/esm/components/empty.js +0 -6
  128. package/dist/esm/components/file-preview.js +0 -69
  129. package/dist/esm/components/form.js +0 -63
  130. package/dist/esm/components/inline-edit.js +0 -47
  131. package/dist/esm/components/input-group.js +0 -63
  132. package/dist/esm/components/input-otp.js +0 -19
  133. package/dist/esm/components/input.js +0 -21
  134. package/dist/esm/components/label.js +0 -9
  135. package/dist/esm/components/menubar.js +0 -45
  136. package/dist/esm/components/navigation-menu.js +0 -24
  137. package/dist/esm/components/pagination.js +0 -23
  138. package/dist/esm/components/phone-input.js +0 -181
  139. package/dist/esm/components/popover.js +0 -10
  140. package/dist/esm/components/progress.js +0 -7
  141. package/dist/esm/components/resizable.js +0 -9
  142. package/dist/esm/components/rich-text-editor.js +0 -145
  143. package/dist/esm/components/route.js +0 -11
  144. package/dist/esm/components/scroll-area.js +0 -11
  145. package/dist/esm/components/select.js +0 -26
  146. package/dist/esm/components/separator.js +0 -7
  147. package/dist/esm/components/sheet.js +0 -197
  148. package/dist/esm/components/skeleton.js +0 -6
  149. package/dist/esm/components/sonner.js +0 -22
  150. package/dist/esm/components/spinner.js +0 -21
  151. package/dist/esm/components/stepper.js +0 -57
  152. package/dist/esm/components/steps.js +0 -80
  153. package/dist/esm/components/table.js +0 -22
  154. package/dist/esm/components/tabs.js +0 -12
  155. package/dist/esm/components/textarea.js +0 -8
  156. package/dist/esm/components/time-picker.js +0 -74
  157. package/dist/esm/components/toast.js +0 -33
  158. package/dist/esm/components/toaster.js +0 -9
  159. package/dist/esm/components/toggle-group.js +0 -21
  160. package/dist/esm/components/toggle.js +0 -25
  161. package/dist/esm/hooks/use-toast.js +0 -128
  162. package/dist/esm/lib/countryUtils.js +0 -87
  163. package/dist/styles.css +0 -152
  164. package/dist/types/components/accordion.d.ts +0 -11
  165. package/dist/types/components/aspect-ratio.d.ts +0 -3
  166. package/dist/types/components/breadcrumb.d.ts +0 -19
  167. package/dist/types/components/calendar.d.ts +0 -7
  168. package/dist/types/components/card.d.ts +0 -11
  169. package/dist/types/components/chart.d.ts +0 -66
  170. package/dist/types/components/collapsible.d.ts +0 -5
  171. package/dist/types/components/command.d.ts +0 -80
  172. package/dist/types/components/context-menu.d.ts +0 -27
  173. package/dist/types/components/country-select.d.ts +0 -17
  174. package/dist/types/components/date-picker.d.ts +0 -9
  175. package/dist/types/components/date-range-picker.d.ts +0 -10
  176. package/dist/types/components/date-time-picker.d.ts +0 -10
  177. package/dist/types/components/dialog.d.ts +0 -23
  178. package/dist/types/components/drawer.d.ts +0 -22
  179. package/dist/types/components/dropdown-menu.d.ts +0 -27
  180. package/dist/types/components/empty.d.ts +0 -6
  181. package/dist/types/components/file-preview.d.ts +0 -9
  182. package/dist/types/components/form.d.ts +0 -23
  183. package/dist/types/components/inline-edit.d.ts +0 -10
  184. package/dist/types/components/input-group.d.ts +0 -16
  185. package/dist/types/components/input-otp.d.ts +0 -34
  186. package/dist/types/components/input.d.ts +0 -9
  187. package/dist/types/components/label.d.ts +0 -5
  188. package/dist/types/components/menubar.d.ts +0 -28
  189. package/dist/types/components/navigation-menu.d.ts +0 -12
  190. package/dist/types/components/pagination.d.ts +0 -29
  191. package/dist/types/components/phone-input.d.ts +0 -20
  192. package/dist/types/components/popover.d.ts +0 -9
  193. package/dist/types/components/progress.d.ts +0 -4
  194. package/dist/types/components/resizable.d.ts +0 -23
  195. package/dist/types/components/rich-text-editor.d.ts +0 -8
  196. package/dist/types/components/route.d.ts +0 -10
  197. package/dist/types/components/scroll-area.d.ts +0 -5
  198. package/dist/types/components/select.d.ts +0 -13
  199. package/dist/types/components/separator.d.ts +0 -4
  200. package/dist/types/components/sheet.d.ts +0 -49
  201. package/dist/types/components/skeleton.d.ts +0 -2
  202. package/dist/types/components/sonner.d.ts +0 -4
  203. package/dist/types/components/spinner.d.ts +0 -8
  204. package/dist/types/components/stepper.d.ts +0 -17
  205. package/dist/types/components/steps.d.ts +0 -64
  206. package/dist/types/components/table.d.ts +0 -14
  207. package/dist/types/components/tabs.d.ts +0 -7
  208. package/dist/types/components/textarea.d.ts +0 -3
  209. package/dist/types/components/time-picker.d.ts +0 -10
  210. package/dist/types/components/toast.d.ts +0 -15
  211. package/dist/types/components/toaster.d.ts +0 -1
  212. package/dist/types/components/toggle-group.d.ts +0 -12
  213. package/dist/types/components/toggle.d.ts +0 -12
  214. package/dist/types/hooks/use-toast.d.ts +0 -44
  215. package/dist/types/lib/countryUtils.d.ts +0 -20
  216. package/tailwind-preset.js +0 -70
@@ -1,48 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.ScrollBar = exports.ScrollArea = void 0;
37
- const jsx_runtime_1 = require("react/jsx-runtime");
38
- const React = __importStar(require("react"));
39
- const ScrollAreaPrimitive = __importStar(require("@radix-ui/react-scroll-area"));
40
- const utils_1 = require("../lib/utils");
41
- const ScrollArea = React.forwardRef(({ className, children, ...props }, ref) => ((0, jsx_runtime_1.jsxs)(ScrollAreaPrimitive.Root, { ref: ref, className: (0, utils_1.cn)("relative overflow-hidden", className), ...props, children: [(0, jsx_runtime_1.jsx)(ScrollAreaPrimitive.Viewport, { className: "h-full w-full rounded-[inherit]", children: children }), (0, jsx_runtime_1.jsx)(ScrollBar, {}), (0, jsx_runtime_1.jsx)(ScrollAreaPrimitive.Corner, {})] })));
42
- exports.ScrollArea = ScrollArea;
43
- ScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;
44
- const ScrollBar = React.forwardRef(({ className, orientation = "vertical", ...props }, ref) => ((0, jsx_runtime_1.jsx)(ScrollAreaPrimitive.ScrollAreaScrollbar, { ref: ref, orientation: orientation, className: (0, utils_1.cn)("flex touch-none select-none transition-colors", orientation === "vertical" &&
45
- "h-full w-2.5 border-l border-l-transparent p-[1px]", orientation === "horizontal" &&
46
- "h-2.5 flex-col border-t border-t-transparent p-[1px]", className), ...props, children: (0, jsx_runtime_1.jsx)(ScrollAreaPrimitive.ScrollAreaThumb, { className: "relative flex-1 rounded-full bg-border" }) })));
47
- exports.ScrollBar = ScrollBar;
48
- ScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;
@@ -1,71 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.SelectScrollDownButton = exports.SelectScrollUpButton = exports.SelectSeparator = exports.SelectItem = exports.SelectLabel = exports.SelectContent = exports.SelectTrigger = exports.SelectValue = exports.SelectGroup = exports.Select = void 0;
37
- const jsx_runtime_1 = require("react/jsx-runtime");
38
- const React = __importStar(require("react"));
39
- const SelectPrimitive = __importStar(require("@radix-ui/react-select"));
40
- const utils_1 = require("../lib/utils");
41
- const icons_1 = require("@freightos/icons");
42
- const Select = SelectPrimitive.Root;
43
- exports.Select = Select;
44
- const SelectGroup = SelectPrimitive.Group;
45
- exports.SelectGroup = SelectGroup;
46
- const SelectValue = SelectPrimitive.Value;
47
- exports.SelectValue = SelectValue;
48
- const SelectTrigger = React.forwardRef(({ className, children, ...props }, ref) => ((0, jsx_runtime_1.jsxs)(SelectPrimitive.Trigger, { ref: ref, className: (0, utils_1.cn)('flex h-[32px] w-full items-center justify-between rounded-fds-md border border-input-border bg-input py-2 pl-3 pr-2 text-sm transition-[color,box-shadow] focus:outline-none disabled:cursor-not-allowed disabled:opacity-50 data-[state=open]:border-[#2075bd] data-[placeholder]:text-muted-foreground data-[state=open]:shadow-[0_0_0_2px_var(--fds-color-primary-blue-20)] [&>span]:line-clamp-1 [&[data-state=open]>span[data-radix-select-icon]>svg]:rotate-180', className), ...props, children: [children, (0, jsx_runtime_1.jsx)(SelectPrimitive.Icon, { asChild: true, children: (0, jsx_runtime_1.jsx)(icons_1.IconCaretDown, { className: "transition-transform duration-200" }) })] })));
49
- exports.SelectTrigger = SelectTrigger;
50
- SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;
51
- const SelectScrollUpButton = React.forwardRef(({ className, ...props }, ref) => ((0, jsx_runtime_1.jsx)(SelectPrimitive.ScrollUpButton, { ref: ref, className: (0, utils_1.cn)('flex cursor-default items-center justify-center py-1', className), ...props, children: (0, jsx_runtime_1.jsx)(icons_1.IconCaretUp, {}) })));
52
- exports.SelectScrollUpButton = SelectScrollUpButton;
53
- SelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;
54
- const SelectScrollDownButton = React.forwardRef(({ className, ...props }, ref) => ((0, jsx_runtime_1.jsx)(SelectPrimitive.ScrollDownButton, { ref: ref, className: (0, utils_1.cn)('flex cursor-default items-center justify-center py-1', className), ...props, children: (0, jsx_runtime_1.jsx)(icons_1.IconCaretDown, {}) })));
55
- exports.SelectScrollDownButton = SelectScrollDownButton;
56
- SelectScrollDownButton.displayName =
57
- SelectPrimitive.ScrollDownButton.displayName;
58
- const SelectContent = React.forwardRef(({ className, children, position = 'popper', ...props }, ref) => ((0, jsx_runtime_1.jsx)(SelectPrimitive.Portal, { children: (0, jsx_runtime_1.jsxs)(SelectPrimitive.Content, { ref: ref, className: (0, utils_1.cn)('relative z-[9999] max-h-[--radix-select-content-available-height] min-w-[8rem] w-max origin-[--radix-select-content-transform-origin] overflow-y-auto overflow-x-hidden rounded-fds-md bg-popover text-popover-foreground shadow-fds-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2', position === 'popper' &&
59
- 'data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1', className), position: position, ...props, children: [(0, jsx_runtime_1.jsx)(SelectScrollUpButton, {}), (0, jsx_runtime_1.jsx)(SelectPrimitive.Viewport, { className: (0, utils_1.cn)('w-full', position === 'popper' &&
60
- 'h-[var(--radix-select-trigger-height)] min-w-[var(--radix-select-trigger-width)]'), children: children }), (0, jsx_runtime_1.jsx)(SelectScrollDownButton, {})] }) })));
61
- exports.SelectContent = SelectContent;
62
- SelectContent.displayName = SelectPrimitive.Content.displayName;
63
- const SelectLabel = React.forwardRef(({ className, ...props }, ref) => ((0, jsx_runtime_1.jsx)(SelectPrimitive.Label, { ref: ref, className: (0, utils_1.cn)('py-1.5 pl-8 pr-2 text-sm font-semibold', className), ...props })));
64
- exports.SelectLabel = SelectLabel;
65
- SelectLabel.displayName = SelectPrimitive.Label.displayName;
66
- const SelectItem = React.forwardRef(({ className, children, ...props }, ref) => ((0, jsx_runtime_1.jsx)(SelectPrimitive.Item, { ref: ref, className: (0, utils_1.cn)('relative flex w-full cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[highlighted]:bg-accent data-[disabled]:opacity-50', className), ...props, children: (0, jsx_runtime_1.jsx)(SelectPrimitive.ItemText, { asChild: true, children: (0, jsx_runtime_1.jsx)("div", { className: "flex w-full flex-1 items-center", children: children }) }) })));
67
- exports.SelectItem = SelectItem;
68
- SelectItem.displayName = SelectPrimitive.Item.displayName;
69
- const SelectSeparator = React.forwardRef(({ className, ...props }, ref) => ((0, jsx_runtime_1.jsx)(SelectPrimitive.Separator, { ref: ref, className: (0, utils_1.cn)('-mx-1 my-1 h-px bg-muted', className), ...props })));
70
- exports.SelectSeparator = SelectSeparator;
71
- SelectSeparator.displayName = SelectPrimitive.Separator.displayName;
@@ -1,43 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.Separator = void 0;
37
- const jsx_runtime_1 = require("react/jsx-runtime");
38
- const SeparatorPrimitive = __importStar(require("@radix-ui/react-separator"));
39
- const React = __importStar(require("react"));
40
- const utils_1 = require("../lib/utils");
41
- const Separator = React.forwardRef(({ className, orientation = 'horizontal', decorative = true, ...props }, ref) => ((0, jsx_runtime_1.jsx)(SeparatorPrimitive.Root, { ref: ref, decorative: decorative, orientation: orientation, className: (0, utils_1.cn)('shrink-0 bg-fds-gray-20', orientation === 'horizontal' ? 'h-[1px] w-full' : 'h-full w-[1px]', className), ...props })));
42
- exports.Separator = Separator;
43
- Separator.displayName = SeparatorPrimitive.Root.displayName;
@@ -1,245 +0,0 @@
1
- "use strict";
2
- 'use client';
3
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
- if (k2 === undefined) k2 = k;
5
- var desc = Object.getOwnPropertyDescriptor(m, k);
6
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
- desc = { enumerable: true, get: function() { return m[k]; } };
8
- }
9
- Object.defineProperty(o, k2, desc);
10
- }) : (function(o, m, k, k2) {
11
- if (k2 === undefined) k2 = k;
12
- o[k2] = m[k];
13
- }));
14
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
- Object.defineProperty(o, "default", { enumerable: true, value: v });
16
- }) : function(o, v) {
17
- o["default"] = v;
18
- });
19
- var __importStar = (this && this.__importStar) || (function () {
20
- var ownKeys = function(o) {
21
- ownKeys = Object.getOwnPropertyNames || function (o) {
22
- var ar = [];
23
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
24
- return ar;
25
- };
26
- return ownKeys(o);
27
- };
28
- return function (mod) {
29
- if (mod && mod.__esModule) return mod;
30
- var result = {};
31
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
32
- __setModuleDefault(result, mod);
33
- return result;
34
- };
35
- })();
36
- Object.defineProperty(exports, "__esModule", { value: true });
37
- exports.SheetDescription = exports.SheetTitle = exports.SheetFooter = exports.SheetBody = exports.SheetHeader = exports.SheetContent = exports.SheetClose = exports.SheetTrigger = exports.SheetOverlay = exports.SheetPortal = exports.SheetProvider = exports.Sheet = exports.useSheetContext = void 0;
38
- const jsx_runtime_1 = require("react/jsx-runtime");
39
- const React = __importStar(require("react"));
40
- const SheetPrimitive = __importStar(require("@radix-ui/react-dialog"));
41
- const class_variance_authority_1 = require("class-variance-authority");
42
- const lucide_react_1 = require("lucide-react");
43
- const utils_1 = require("../lib/utils");
44
- const SheetContext = React.createContext({
45
- level: 0,
46
- parentSheetWidth: undefined,
47
- registerNestedSheet: () => { },
48
- unregisterNestedSheet: () => { },
49
- hasNestedSheetOpen: false,
50
- nestedSheetWidth: undefined,
51
- });
52
- const useSheetContext = () => React.useContext(SheetContext);
53
- exports.useSheetContext = useSheetContext;
54
- // Sheet wrapper that provides context
55
- const SheetProvider = ({ children, width }) => {
56
- const parentContext = (0, exports.useSheetContext)();
57
- const [nestedSheetCount, setNestedSheetCount] = React.useState(0);
58
- const registerNestedSheet = React.useCallback(() => {
59
- setNestedSheetCount((count) => count + 1);
60
- }, []);
61
- const unregisterNestedSheet = React.useCallback(() => {
62
- setNestedSheetCount((count) => Math.max(0, count - 1));
63
- }, []);
64
- const contextValue = React.useMemo(() => ({
65
- level: parentContext.level + 1,
66
- parentSheetWidth: width,
67
- registerNestedSheet,
68
- unregisterNestedSheet,
69
- hasNestedSheetOpen: nestedSheetCount > 0,
70
- }), [
71
- parentContext.level,
72
- width,
73
- registerNestedSheet,
74
- unregisterNestedSheet,
75
- nestedSheetCount,
76
- ]);
77
- return ((0, jsx_runtime_1.jsx)(SheetContext.Provider, { value: contextValue, children: children }));
78
- };
79
- exports.SheetProvider = SheetProvider;
80
- const SheetRoot = ({ open, width, ...props }) => {
81
- const parentContext = (0, exports.useSheetContext)();
82
- // Register/unregister when open state changes
83
- React.useEffect(() => {
84
- if (open && parentContext.level > 0) {
85
- parentContext.registerNestedSheet(width);
86
- return () => {
87
- parentContext.unregisterNestedSheet();
88
- };
89
- }
90
- return undefined;
91
- }, [open, parentContext, width]);
92
- return (0, jsx_runtime_1.jsx)(SheetPrimitive.Root, { open: open, ...props });
93
- };
94
- const Sheet = SheetRoot;
95
- exports.Sheet = Sheet;
96
- const SheetTrigger = SheetPrimitive.Trigger;
97
- exports.SheetTrigger = SheetTrigger;
98
- const SheetClose = SheetPrimitive.Close;
99
- exports.SheetClose = SheetClose;
100
- const SheetPortal = SheetPrimitive.Portal;
101
- exports.SheetPortal = SheetPortal;
102
- const SheetOverlay = React.forwardRef(({ className, ...props }, ref) => ((0, jsx_runtime_1.jsx)(SheetPrimitive.Overlay, { className: (0, utils_1.cn)('fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0', className), ...props, ref: ref })));
103
- exports.SheetOverlay = SheetOverlay;
104
- SheetOverlay.displayName = SheetPrimitive.Overlay.displayName;
105
- const sheetVariants = (0, class_variance_authority_1.cva)('fixed bg-background shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out bg-card flex flex-col', {
106
- variants: {
107
- side: {
108
- top: 'inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top',
109
- bottom: 'inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom',
110
- left: 'inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm',
111
- right: 'inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm',
112
- },
113
- zIndex: {
114
- default: 'z-50',
115
- high: 'z-[1100]',
116
- pushed: 'z-[1150]', // Between high (1100) and nested overlay (1199)
117
- nested: 'z-[1200]',
118
- },
119
- },
120
- defaultVariants: {
121
- side: 'right',
122
- zIndex: 'default',
123
- },
124
- });
125
- const SheetContent = React.forwardRef(({ side = 'right', zIndex = 'default', className, overlayClassName, hideCloseButton = false, sheetWidth, children, ...props }, ref) => {
126
- // Read the parent context BEFORE potentially wrapping with SheetProvider
127
- const parentContext = (0, exports.useSheetContext)();
128
- // Track nested sheets for THIS sheet using local state
129
- const [localNestedSheetCount, setLocalNestedSheetCount] = React.useState(0);
130
- const [localNestedSheetWidth, setLocalNestedSheetWidth] = React.useState();
131
- const closeTimeoutRef = React.useRef(null);
132
- const registerLocalNestedSheet = React.useCallback((width) => {
133
- // Clear any pending close timeout when opening a new nested sheet
134
- if (closeTimeoutRef.current) {
135
- clearTimeout(closeTimeoutRef.current);
136
- closeTimeoutRef.current = null;
137
- }
138
- setLocalNestedSheetCount((count) => count + 1);
139
- if (width) {
140
- setLocalNestedSheetWidth(width);
141
- }
142
- }, []);
143
- const unregisterLocalNestedSheet = React.useCallback(() => {
144
- setLocalNestedSheetCount((count) => Math.max(0, count - 1));
145
- setLocalNestedSheetWidth(undefined);
146
- // Clear any existing timeout
147
- if (closeTimeoutRef.current) {
148
- clearTimeout(closeTimeoutRef.current);
149
- closeTimeoutRef.current = null;
150
- }
151
- }, []);
152
- // Cleanup timeout on unmount
153
- React.useEffect(() => {
154
- return () => {
155
- if (closeTimeoutRef.current) {
156
- clearTimeout(closeTimeoutRef.current);
157
- }
158
- };
159
- }, []);
160
- // This sheet should be pushed if IT has nested sheets open
161
- const shouldBePushed = localNestedSheetCount > 0 && sheetWidth;
162
- // Create a custom context value that uses THIS sheet's local nested sheet tracking
163
- const customContextValue = React.useMemo(() => ({
164
- level: parentContext.level + 1,
165
- parentSheetWidth: sheetWidth,
166
- registerNestedSheet: registerLocalNestedSheet,
167
- unregisterNestedSheet: unregisterLocalNestedSheet,
168
- hasNestedSheetOpen: localNestedSheetCount > 0,
169
- nestedSheetWidth: localNestedSheetWidth,
170
- }), [
171
- parentContext.level,
172
- sheetWidth,
173
- registerLocalNestedSheet,
174
- unregisterLocalNestedSheet,
175
- localNestedSheetCount,
176
- localNestedSheetWidth,
177
- ]);
178
- // Wrap children with context provider if sheetWidth is provided
179
- const wrappedChildren = sheetWidth ? ((0, jsx_runtime_1.jsx)(SheetContext.Provider, { value: customContextValue, children: children })) : (children);
180
- // Determine z-index based on nesting level AND pushed state
181
- // A sheet is nested if its parent level >= 1 (meaning it's inside another sheet)
182
- let effectiveZIndex = parentContext.level >= 1 ? 'nested' : zIndex;
183
- const isNestedSheet = parentContext.level >= 1;
184
- // When pushed, keep the same z-index (it will be under nested sheet's overlay anyway)
185
- // Don't change z-index when pushed - the nested overlay (z-1199) will be above this (z-1100)
186
- // Calculate overlay z-index
187
- const overlayZIndex = effectiveZIndex === 'nested'
188
- ? 1199
189
- : effectiveZIndex === 'high'
190
- ? 1099
191
- : 50;
192
- // Animation timing classes
193
- const animationClasses = 'data-[state=closed]:duration-300 data-[state=open]:duration-500';
194
- // Calculate transform for pushed state
195
- // Strategy: During close, parent slides back at same speed as nested slides out
196
- // Both travel in the positive direction (to the right) so they stick together
197
- const transformStyle = shouldBePushed && localNestedSheetWidth
198
- ? {
199
- // Opening: animate to pushed position (move left)
200
- transform: `translate3d(-${localNestedSheetWidth}, 0, 0)`,
201
- transition: 'transform 500ms linear',
202
- }
203
- : {
204
- // Closing: animate back to center (move right)
205
- transform: 'translate3d(0, 0, 0)',
206
- transition: 'transform 300ms linear',
207
- };
208
- const inlineStyle = {
209
- ...transformStyle,
210
- // Force GPU acceleration for both sheets to ensure smooth, synchronized animations
211
- willChange: 'transform',
212
- // For nested sheets, override animation timing to linear
213
- ...(isNestedSheet && {
214
- animationTimingFunction: 'linear',
215
- }),
216
- };
217
- // Debug logging
218
- // console.log('📊 Sheet render:', {
219
- // level: parentContext.level,
220
- // hasNestedSheetOpen: parentContext.hasNestedSheetOpen,
221
- // parentSheetWidth: parentContext.parentSheetWidth,
222
- // shouldBePushed,
223
- // effectiveZIndex,
224
- // overlayZIndex,
225
- // sheetWidth,
226
- // });
227
- return ((0, jsx_runtime_1.jsxs)(SheetPortal, { children: [!shouldBePushed && !localNestedSheetWidth && ((0, jsx_runtime_1.jsx)(SheetOverlay, { className: overlayClassName, style: { zIndex: overlayZIndex } })), (0, jsx_runtime_1.jsxs)(SheetPrimitive.Content, { ref: ref, className: (0, utils_1.cn)(sheetVariants({ side, zIndex: effectiveZIndex }), animationClasses, shouldBePushed && 'pointer-events-none', className), style: inlineStyle, ...props, children: [wrappedChildren, !hideCloseButton && ((0, jsx_runtime_1.jsxs)(SheetPrimitive.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary", children: [(0, jsx_runtime_1.jsx)(lucide_react_1.X, { className: "h-4 w-4" }), (0, jsx_runtime_1.jsx)("span", { className: "sr-only", children: "Close" })] }))] })] }));
228
- });
229
- exports.SheetContent = SheetContent;
230
- SheetContent.displayName = SheetPrimitive.Content.displayName;
231
- const SheetHeader = ({ className, ...props }) => ((0, jsx_runtime_1.jsx)("div", { className: (0, utils_1.cn)('flex flex-shrink-0 flex-col space-y-2 px-fds-xl py-fds-xl', className), ...props }));
232
- exports.SheetHeader = SheetHeader;
233
- SheetHeader.displayName = 'SheetHeader';
234
- const SheetBody = ({ className, ...props }) => ((0, jsx_runtime_1.jsx)("div", { className: (0, utils_1.cn)('flex-1 overflow-y-auto px-fds-xl', className), ...props }));
235
- exports.SheetBody = SheetBody;
236
- SheetBody.displayName = 'SheetBody';
237
- const SheetFooter = ({ className, ...props }) => ((0, jsx_runtime_1.jsx)("div", { className: (0, utils_1.cn)('flex-shrink-0 border-t border-fds-gray-20 px-fds-xl py-fds-xl', className), ...props }));
238
- exports.SheetFooter = SheetFooter;
239
- SheetFooter.displayName = 'SheetFooter';
240
- const SheetTitle = React.forwardRef(({ className, ...props }, ref) => ((0, jsx_runtime_1.jsx)(SheetPrimitive.Title, { ref: ref, className: (0, utils_1.cn)('text-fds-h3 font-fds-bold', className), ...props })));
241
- exports.SheetTitle = SheetTitle;
242
- SheetTitle.displayName = SheetPrimitive.Title.displayName;
243
- const SheetDescription = React.forwardRef(({ className, ...props }, ref) => ((0, jsx_runtime_1.jsx)(SheetPrimitive.Description, { ref: ref, className: (0, utils_1.cn)('text-sm text-muted-foreground', className), ...props })));
244
- exports.SheetDescription = SheetDescription;
245
- SheetDescription.displayName = SheetPrimitive.Description.displayName;
@@ -1,8 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Skeleton = Skeleton;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- const utils_1 = require("../lib/utils");
6
- function Skeleton({ className, ...props }) {
7
- return ((0, jsx_runtime_1.jsx)("div", { className: (0, utils_1.cn)("animate-pulse rounded-md bg-muted", className), ...props }));
8
- }
@@ -1,25 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Toaster = void 0;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- const lucide_react_1 = require("lucide-react");
6
- const next_themes_1 = require("next-themes");
7
- const sonner_1 = require("sonner");
8
- const Toaster = ({ ...props }) => {
9
- const { theme = "system" } = (0, next_themes_1.useTheme)();
10
- return ((0, jsx_runtime_1.jsx)(sonner_1.Toaster, { theme: theme, className: "toaster group", icons: {
11
- success: (0, jsx_runtime_1.jsx)(lucide_react_1.CircleCheck, { className: "h-4 w-4" }),
12
- info: (0, jsx_runtime_1.jsx)(lucide_react_1.Info, { className: "h-4 w-4" }),
13
- warning: (0, jsx_runtime_1.jsx)(lucide_react_1.TriangleAlert, { className: "h-4 w-4" }),
14
- error: (0, jsx_runtime_1.jsx)(lucide_react_1.OctagonX, { className: "h-4 w-4" }),
15
- loading: (0, jsx_runtime_1.jsx)(lucide_react_1.LoaderCircle, { className: "h-4 w-4 animate-spin" }),
16
- }, toastOptions: {
17
- classNames: {
18
- toast: "group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg",
19
- description: "group-[.toast]:text-muted-foreground",
20
- actionButton: "group-[.toast]:bg-primary group-[.toast]:text-primary-foreground",
21
- cancelButton: "group-[.toast]:bg-muted group-[.toast]:text-muted-foreground",
22
- },
23
- }, ...props }));
24
- };
25
- exports.Toaster = Toaster;
@@ -1,25 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.spinnerVariants = void 0;
4
- exports.Spinner = Spinner;
5
- const jsx_runtime_1 = require("react/jsx-runtime");
6
- const icons_1 = require("@freightos/icons");
7
- const utils_1 = require("../lib/utils");
8
- const class_variance_authority_1 = require("class-variance-authority");
9
- const spinnerVariants = (0, class_variance_authority_1.cva)('text-[var(--fds-color-primary-blue)] animate-spin inline-flex items-center justify-center align-middle', {
10
- variants: {
11
- size: {
12
- tiny: 'size-3', // 12px
13
- small: 'size-4', // 16px
14
- medium: 'size-6', // 24px
15
- large: 'size-8', // 32px
16
- },
17
- },
18
- defaultVariants: {
19
- size: 'medium',
20
- },
21
- });
22
- exports.spinnerVariants = spinnerVariants;
23
- function Spinner({ className, size, ...props }) {
24
- return ((0, jsx_runtime_1.jsx)("span", { role: "status", "aria-label": "Loading", className: (0, utils_1.cn)(spinnerVariants({ size, className })), ...props, children: (0, jsx_runtime_1.jsx)(icons_1.IconLoading, { className: "w-full h-full" }) }));
25
- }
@@ -1,99 +0,0 @@
1
- "use strict";
2
- 'use client';
3
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
- if (k2 === undefined) k2 = k;
5
- var desc = Object.getOwnPropertyDescriptor(m, k);
6
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
- desc = { enumerable: true, get: function() { return m[k]; } };
8
- }
9
- Object.defineProperty(o, k2, desc);
10
- }) : (function(o, m, k, k2) {
11
- if (k2 === undefined) k2 = k;
12
- o[k2] = m[k];
13
- }));
14
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
- Object.defineProperty(o, "default", { enumerable: true, value: v });
16
- }) : function(o, v) {
17
- o["default"] = v;
18
- });
19
- var __importStar = (this && this.__importStar) || (function () {
20
- var ownKeys = function(o) {
21
- ownKeys = Object.getOwnPropertyNames || function (o) {
22
- var ar = [];
23
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
24
- return ar;
25
- };
26
- return ownKeys(o);
27
- };
28
- return function (mod) {
29
- if (mod && mod.__esModule) return mod;
30
- var result = {};
31
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
32
- __setModuleDefault(result, mod);
33
- return result;
34
- };
35
- })();
36
- Object.defineProperty(exports, "__esModule", { value: true });
37
- exports.StepperSeparator = exports.StepperDescription = exports.StepperTitle = exports.StepperIndicator = exports.StepperTrigger = exports.StepperItem = exports.Stepper = void 0;
38
- const jsx_runtime_1 = require("react/jsx-runtime");
39
- const React = __importStar(require("react"));
40
- const utils_1 = require("../lib/utils");
41
- const StepperContext = React.createContext(null);
42
- const useStepper = () => {
43
- const context = React.useContext(StepperContext);
44
- if (!context) {
45
- throw new Error("Stepper components must be used within a Stepper");
46
- }
47
- return context;
48
- };
49
- const Stepper = React.forwardRef(({ className, defaultValue = 1, value, orientation = "horizontal", children, ...props }, ref) => {
50
- const currentValue = value ?? defaultValue;
51
- return ((0, jsx_runtime_1.jsx)(StepperContext.Provider, { value: { value: currentValue, orientation }, children: (0, jsx_runtime_1.jsx)("div", { ref: ref, "data-orientation": orientation, className: (0, utils_1.cn)("group/stepper flex w-full", orientation === "horizontal" ? "flex-row items-start" : "flex-col", className), ...props, children: children }) }));
52
- });
53
- exports.Stepper = Stepper;
54
- Stepper.displayName = "Stepper";
55
- const StepperItemContext = React.createContext(null);
56
- const useStepperItem = () => {
57
- const context = React.useContext(StepperItemContext);
58
- if (!context) {
59
- throw new Error("StepperItem components must be used within a StepperItem");
60
- }
61
- return context;
62
- };
63
- const StepperItem = React.forwardRef(({ className, step, children, ...props }, ref) => {
64
- const { value } = useStepper();
65
- const isActive = step === value;
66
- const isCompleted = step < value;
67
- return ((0, jsx_runtime_1.jsx)(StepperItemContext.Provider, { value: { step, isActive, isCompleted }, children: (0, jsx_runtime_1.jsx)("div", { ref: ref, "data-state": isActive ? "active" : isCompleted ? "completed" : "inactive", className: (0, utils_1.cn)("relative flex items-center", className), ...props, children: children }) }));
68
- });
69
- exports.StepperItem = StepperItem;
70
- StepperItem.displayName = "StepperItem";
71
- const StepperTrigger = React.forwardRef(({ className, children, ...props }, ref) => {
72
- return ((0, jsx_runtime_1.jsx)("div", { ref: ref, className: (0, utils_1.cn)("flex items-center gap-2", className), ...props, children: children }));
73
- });
74
- exports.StepperTrigger = StepperTrigger;
75
- StepperTrigger.displayName = "StepperTrigger";
76
- const StepperIndicator = React.forwardRef(({ className, children, ...props }, ref) => {
77
- const { isActive, isCompleted, step } = useStepperItem();
78
- return ((0, jsx_runtime_1.jsx)("div", { ref: ref, className: (0, utils_1.cn)("flex shrink-0 items-center justify-center rounded-full text-fds-xs transition-colors relative z-10", "h-[18px] w-[18px] font-fds-extrabold", isCompleted && "bg-fds-blue-20 text-white", isActive && "bg-fds-blue-20 text-white border-[0.5px] border-white shadow-[0_0_0_2px] shadow-fds-blue-20", !isActive && !isCompleted && "bg-fds-gray-10 text-fds-gray-60", className), ...props, children: (isActive || isCompleted) && (children || step) }));
79
- });
80
- exports.StepperIndicator = StepperIndicator;
81
- StepperIndicator.displayName = "StepperIndicator";
82
- const StepperTitle = React.forwardRef(({ className, ...props }, ref) => {
83
- const { isActive, isCompleted } = useStepperItem();
84
- return ((0, jsx_runtime_1.jsx)("p", { ref: ref, className: (0, utils_1.cn)("!text-fds-xs transition-colors", isActive && "font-fds-semibold text-foreground", isCompleted && "font-fds-regular text-foreground", !isActive && !isCompleted && "text-fds-gray-50", className), ...props }));
85
- });
86
- exports.StepperTitle = StepperTitle;
87
- StepperTitle.displayName = "StepperTitle";
88
- const StepperDescription = React.forwardRef(({ className, ...props }, ref) => {
89
- return ((0, jsx_runtime_1.jsx)("p", { ref: ref, className: (0, utils_1.cn)("text-muted-foreground text-sm", className), ...props }));
90
- });
91
- exports.StepperDescription = StepperDescription;
92
- StepperDescription.displayName = "StepperDescription";
93
- const StepperSeparator = React.forwardRef(({ className, ...props }, ref) => {
94
- const { orientation } = useStepper();
95
- const { isCompleted } = useStepperItem();
96
- return ((0, jsx_runtime_1.jsx)("div", { ref: ref, className: (0, utils_1.cn)("shrink-0 transition-colors", isCompleted ? "bg-fds-blue-20" : "bg-fds-gray-10", orientation === "horizontal" ? "h-[2px] w-full" : "h-full w-[2px]", className), ...props }));
97
- });
98
- exports.StepperSeparator = StepperSeparator;
99
- StepperSeparator.displayName = "StepperSeparator";