@avenue-ticketing/ui 0.10.0 → 0.12.0-beta.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 (225) hide show
  1. package/README.md +47 -0
  2. package/dist/badge-types-B67wcd4m.d.ts +22 -0
  3. package/dist/react/app-store-buttons-outline.d.ts +17 -0
  4. package/dist/react/app-store-buttons-outline.js +582 -0
  5. package/dist/react/app-store-buttons-outline.js.map +1 -0
  6. package/dist/react/app-store-buttons.d.ts +20 -0
  7. package/dist/react/app-store-buttons.js +817 -0
  8. package/dist/react/app-store-buttons.js.map +1 -0
  9. package/dist/react/avatar-label-group.d.ts +14 -0
  10. package/dist/react/avatar-label-group.js +183 -0
  11. package/dist/react/avatar-label-group.js.map +1 -0
  12. package/dist/react/avatar-profile-photo.d.ts +9 -0
  13. package/dist/react/avatar-profile-photo.js +202 -0
  14. package/dist/react/avatar-profile-photo.js.map +1 -0
  15. package/dist/react/avatar.d.ts +66 -40
  16. package/dist/react/avatar.js +159 -149
  17. package/dist/react/avatar.js.map +1 -1
  18. package/dist/react/badge-groups.d.ts +25 -0
  19. package/dist/react/badge-groups.js +162 -0
  20. package/dist/react/badge-groups.js.map +1 -0
  21. package/dist/react/badge.d.ts +123 -59
  22. package/dist/react/badge.js +314 -86
  23. package/dist/react/badge.js.map +1 -1
  24. package/dist/react/button-group.d.ts +43 -0
  25. package/dist/react/button-group.js +108 -0
  26. package/dist/react/button-group.js.map +1 -0
  27. package/dist/react/button-utility.d.ts +47 -0
  28. package/dist/react/button-utility.js +158 -0
  29. package/dist/react/button-utility.js.map +1 -0
  30. package/dist/react/button.d.ts +112 -37
  31. package/dist/react/button.js +270 -55
  32. package/dist/react/button.js.map +1 -1
  33. package/dist/react/checkbox.d.ts +25 -8
  34. package/dist/react/checkbox.js +112 -110
  35. package/dist/react/checkbox.js.map +1 -1
  36. package/dist/react/close-button.d.ts +25 -0
  37. package/dist/react/close-button.js +54 -0
  38. package/dist/react/close-button.js.map +1 -0
  39. package/dist/react/combobox.d.ts +17 -0
  40. package/dist/react/combobox.js +322 -0
  41. package/dist/react/combobox.js.map +1 -0
  42. package/dist/react/dialog.d.ts +15 -15
  43. package/dist/react/dialog.js +43 -108
  44. package/dist/react/dialog.js.map +1 -1
  45. package/dist/react/dropdown-account-breadcrumb.d.ts +5 -0
  46. package/dist/react/dropdown-account-breadcrumb.js +319 -0
  47. package/dist/react/dropdown-account-breadcrumb.js.map +1 -0
  48. package/dist/react/dropdown-account-button.d.ts +5 -0
  49. package/dist/react/dropdown-account-button.js +773 -0
  50. package/dist/react/dropdown-account-button.js.map +1 -0
  51. package/dist/react/dropdown-account-card-md.d.ts +5 -0
  52. package/dist/react/dropdown-account-card-md.js +549 -0
  53. package/dist/react/dropdown-account-card-md.js.map +1 -0
  54. package/dist/react/dropdown-account-card-sm.d.ts +5 -0
  55. package/dist/react/dropdown-account-card-sm.js +527 -0
  56. package/dist/react/dropdown-account-card-sm.js.map +1 -0
  57. package/dist/react/dropdown-account-card-xs.d.ts +5 -0
  58. package/dist/react/dropdown-account-card-xs.js +507 -0
  59. package/dist/react/dropdown-account-card-xs.js.map +1 -0
  60. package/dist/react/dropdown-avatar.d.ts +5 -0
  61. package/dist/react/dropdown-avatar.js +790 -0
  62. package/dist/react/dropdown-avatar.js.map +1 -0
  63. package/dist/react/dropdown-button-advanced.d.ts +5 -0
  64. package/dist/react/dropdown-button-advanced.js +799 -0
  65. package/dist/react/dropdown-button-advanced.js.map +1 -0
  66. package/dist/react/dropdown-button-link.d.ts +5 -0
  67. package/dist/react/dropdown-button-link.js +501 -0
  68. package/dist/react/dropdown-button-link.js.map +1 -0
  69. package/dist/react/dropdown-button-simple.d.ts +5 -0
  70. package/dist/react/dropdown-button-simple.js +754 -0
  71. package/dist/react/dropdown-button-simple.js.map +1 -0
  72. package/dist/react/dropdown-icon-advanced.d.ts +5 -0
  73. package/dist/react/dropdown-icon-advanced.js +543 -0
  74. package/dist/react/dropdown-icon-advanced.js.map +1 -0
  75. package/dist/react/dropdown-icon-simple.d.ts +5 -0
  76. package/dist/react/dropdown-icon-simple.js +505 -0
  77. package/dist/react/dropdown-icon-simple.js.map +1 -0
  78. package/dist/react/dropdown-integration.d.ts +5 -0
  79. package/dist/react/dropdown-integration.js +1325 -0
  80. package/dist/react/dropdown-integration.js.map +1 -0
  81. package/dist/react/dropdown-search-advanced.d.ts +5 -0
  82. package/dist/react/dropdown-search-advanced.js +998 -0
  83. package/dist/react/dropdown-search-advanced.js.map +1 -0
  84. package/dist/react/dropdown-search-simple.d.ts +5 -0
  85. package/dist/react/dropdown-search-simple.js +960 -0
  86. package/dist/react/dropdown-search-simple.js.map +1 -0
  87. package/dist/react/dropdown.d.ts +32 -133
  88. package/dist/react/dropdown.js +404 -1351
  89. package/dist/react/dropdown.js.map +1 -1
  90. package/dist/react/file-upload-trigger.d.ts +34 -0
  91. package/dist/react/file-upload-trigger.js +39 -0
  92. package/dist/react/file-upload-trigger.js.map +1 -0
  93. package/dist/react/form.d.ts +10 -0
  94. package/dist/react/form.js +11 -0
  95. package/dist/react/form.js.map +1 -0
  96. package/dist/react/hint-text.d.ts +17 -0
  97. package/dist/react/hint-text.js +36 -0
  98. package/dist/react/hint-text.js.map +1 -0
  99. package/dist/react/hook-form.d.ts +35 -0
  100. package/dist/react/hook-form.js +50 -0
  101. package/dist/react/hook-form.js.map +1 -0
  102. package/dist/react/input-date.d.ts +43 -0
  103. package/dist/react/input-date.js +306 -0
  104. package/dist/react/input-date.js.map +1 -0
  105. package/dist/react/input-file.d.ts +45 -0
  106. package/dist/react/input-file.js +748 -0
  107. package/dist/react/input-file.js.map +1 -0
  108. package/dist/react/input-group.d.ts +37 -0
  109. package/dist/react/input-group.js +251 -0
  110. package/dist/react/input-group.js.map +1 -0
  111. package/dist/react/input-number.d.ts +32 -0
  112. package/dist/react/input-number.js +553 -0
  113. package/dist/react/input-number.js.map +1 -0
  114. package/dist/react/input-payment.d.ts +16 -0
  115. package/dist/react/input-payment.js +593 -0
  116. package/dist/react/input-payment.js.map +1 -0
  117. package/dist/react/input-tags-outer.d.ts +53 -0
  118. package/dist/react/input-tags-outer.js +607 -0
  119. package/dist/react/input-tags-outer.js.map +1 -0
  120. package/dist/react/input-tags.d.ts +53 -0
  121. package/dist/react/input-tags.js +565 -0
  122. package/dist/react/input-tags.js.map +1 -0
  123. package/dist/react/input.d.ts +71 -22
  124. package/dist/react/input.js +332 -45
  125. package/dist/react/input.js.map +1 -1
  126. package/dist/react/label.d.ts +18 -0
  127. package/dist/react/label.js +112 -0
  128. package/dist/react/label.js.map +1 -0
  129. package/dist/react/multi-select.d.ts +89 -0
  130. package/dist/react/multi-select.js +1036 -0
  131. package/dist/react/multi-select.js.map +1 -0
  132. package/dist/react/pin-input.d.ts +59 -0
  133. package/dist/react/pin-input.js +229 -0
  134. package/dist/react/pin-input.js.map +1 -0
  135. package/dist/react/popover.d.ts +7 -73
  136. package/dist/react/popover.js +23 -569
  137. package/dist/react/popover.js.map +1 -1
  138. package/dist/react/progress-circle.d.ts +9 -0
  139. package/dist/react/progress-circle.js +36 -0
  140. package/dist/react/progress-circle.js.map +1 -0
  141. package/dist/react/progress-circles.d.ts +14 -0
  142. package/dist/react/progress-circles.js +160 -0
  143. package/dist/react/progress-circles.js.map +1 -0
  144. package/dist/react/progress-indicators.d.ts +52 -0
  145. package/dist/react/progress-indicators.js +78 -0
  146. package/dist/react/progress-indicators.js.map +1 -0
  147. package/dist/react/radio-buttons.d.ts +35 -0
  148. package/dist/react/radio-buttons.js +116 -0
  149. package/dist/react/radio-buttons.js.map +1 -0
  150. package/dist/react/scroll-header.d.ts +6 -0
  151. package/dist/react/scroll-header.js +42 -61
  152. package/dist/react/scroll-header.js.map +1 -1
  153. package/dist/react/scroll-wheel.d.ts +4 -5
  154. package/dist/react/scroll-wheel.js +19 -15
  155. package/dist/react/scroll-wheel.js.map +1 -1
  156. package/dist/react/select-item.d.ts +13 -0
  157. package/dist/react/select-item.js +336 -0
  158. package/dist/react/select-item.js.map +1 -0
  159. package/dist/react/select-native.d.ts +17 -0
  160. package/dist/react/select-native.js +203 -0
  161. package/dist/react/select-native.js.map +1 -0
  162. package/dist/react/select.d.ts +18 -61
  163. package/dist/react/select.js +625 -923
  164. package/dist/react/select.js.map +1 -1
  165. package/dist/react/sheet.d.ts +19 -19
  166. package/dist/react/sheet.js +97 -219
  167. package/dist/react/sheet.js.map +1 -1
  168. package/dist/react/slider.d.ts +15 -0
  169. package/dist/react/slider.js +66 -0
  170. package/dist/react/slider.js.map +1 -0
  171. package/dist/react/social-button.d.ts +55 -0
  172. package/dist/react/social-button.js +263 -0
  173. package/dist/react/social-button.js.map +1 -0
  174. package/dist/react/social-logos.d.ts +20 -0
  175. package/dist/react/social-logos.js +131 -0
  176. package/dist/react/social-logos.js.map +1 -0
  177. package/dist/react/switch.d.ts +21 -36
  178. package/dist/react/switch.js +121 -109
  179. package/dist/react/switch.js.map +1 -1
  180. package/dist/react/tag-select.d.ts +44 -0
  181. package/dist/react/tag-select.js +1062 -0
  182. package/dist/react/tag-select.js.map +1 -0
  183. package/dist/react/tags.d.ts +30 -0
  184. package/dist/react/tags.js +228 -0
  185. package/dist/react/tags.js.map +1 -0
  186. package/dist/react/textarea.d.ts +40 -4
  187. package/dist/react/textarea.js +193 -27
  188. package/dist/react/textarea.js.map +1 -1
  189. package/dist/react/tooltip.d.ts +30 -43
  190. package/dist/react/tooltip.js +65 -521
  191. package/dist/react/tooltip.js.map +1 -1
  192. package/dist/select-shared-B3Y5SMXU.d.ts +62 -0
  193. package/package.json +28 -21
  194. package/source.css +2 -12
  195. package/theme.css +883 -79
  196. package/dist/react/calendar.d.ts +0 -13
  197. package/dist/react/calendar.js +0 -4639
  198. package/dist/react/calendar.js.map +0 -1
  199. package/dist/react/card.d.ts +0 -11
  200. package/dist/react/card.js +0 -113
  201. package/dist/react/card.js.map +0 -1
  202. package/dist/react/datetime-picker.d.ts +0 -21
  203. package/dist/react/datetime-picker.js +0 -6142
  204. package/dist/react/datetime-picker.js.map +0 -1
  205. package/dist/react/pagination.d.ts +0 -28
  206. package/dist/react/pagination.js +0 -262
  207. package/dist/react/pagination.js.map +0 -1
  208. package/dist/react/table-pagination.d.ts +0 -15
  209. package/dist/react/table-pagination.js +0 -1247
  210. package/dist/react/table-pagination.js.map +0 -1
  211. package/dist/react/table-view/column-menu.d.ts +0 -15
  212. package/dist/react/table-view/column-menu.js +0 -1049
  213. package/dist/react/table-view/column-menu.js.map +0 -1
  214. package/dist/react/table-view/index.d.ts +0 -70
  215. package/dist/react/table-view/index.js +0 -2284
  216. package/dist/react/table-view/index.js.map +0 -1
  217. package/dist/react/table.d.ts +0 -86
  218. package/dist/react/table.js +0 -414
  219. package/dist/react/table.js.map +0 -1
  220. package/dist/react/tabs.d.ts +0 -34
  221. package/dist/react/tabs.js +0 -423
  222. package/dist/react/tabs.js.map +0 -1
  223. package/dist/react/time-picker.d.ts +0 -22
  224. package/dist/react/time-picker.js +0 -856
  225. package/dist/react/time-picker.js.map +0 -1
@@ -1,117 +1,129 @@
1
- import * as React from 'react';
2
- import { useState } from 'react';
3
- import { Loader2 } from 'lucide-react';
4
- import { clsx } from 'clsx';
5
- import { twMerge } from 'tailwind-merge';
6
- import { jsx } from 'react/jsx-runtime';
1
+ import { Switch } from 'react-aria-components';
2
+ import { extendTailwindMerge } from 'tailwind-merge';
3
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
7
4
 
8
- function cn(...inputs) {
9
- return twMerge(clsx(inputs));
10
- }
11
- var switchSize = {
12
- sm: { outerW: 36, outerH: 20, thumb: 16, pad: 2 },
13
- md: { outerW: 44, outerH: 24, thumb: 19, pad: 2 },
14
- lg: { outerW: 52, outerH: 28, thumb: 22, pad: 2 }
5
+ var twMerge = extendTailwindMerge({
6
+ extend: {
7
+ theme: {
8
+ text: ["display-xs", "display-sm", "display-md", "display-lg", "display-xl", "display-2xl"]
9
+ }
10
+ }
11
+ });
12
+ var cx = twMerge;
13
+ var focusRingShadow = "outline-none [box-shadow:0px_0px_0px_2px_var(--color-bg-primary),0px_0px_0px_4px_var(--color-focus-ring)]";
14
+ var ToggleBase = ({ className, isHovered, isDisabled, isFocusVisible, isSelected, slim, size = "sm" }) => {
15
+ const styles2 = {
16
+ default: {
17
+ sm: {
18
+ track: "h-5 w-9 p-0.5",
19
+ thumb: "size-4",
20
+ thumbPosition: isSelected ? "left-[calc(100%-1rem-0.125rem)]" : "left-0.5"
21
+ },
22
+ md: {
23
+ track: "h-6 w-11 p-0.5",
24
+ thumb: "size-5",
25
+ thumbPosition: isSelected ? "left-[calc(100%-1.25rem-0.125rem)]" : "left-0.5"
26
+ }
27
+ },
28
+ slim: {
29
+ sm: {
30
+ track: "h-4 w-8",
31
+ thumb: "size-4",
32
+ thumbPosition: isSelected ? "left-4" : "left-0"
33
+ },
34
+ md: {
35
+ track: "h-5 w-10",
36
+ thumb: "size-5",
37
+ thumbPosition: isSelected ? "left-5" : "left-0"
38
+ }
39
+ }
40
+ };
41
+ const classes = slim ? styles2.slim[size] : styles2.default[size];
42
+ const offTrackBackground = (() => {
43
+ if (isDisabled) return "bg-tertiary";
44
+ if (isHovered) return slim ? "bg-tertiary" : "bg-brand-primary";
45
+ return "bg-quaternary";
46
+ })();
47
+ return /* @__PURE__ */ jsx(
48
+ "div",
49
+ {
50
+ className: cx(
51
+ "relative inline-flex shrink-0 cursor-pointer overflow-clip rounded-full outline-none transition duration-150 ease-linear",
52
+ !isSelected && offTrackBackground,
53
+ !slim && "ring-[0.5px] ring-secondary ring-inset",
54
+ slim && "ring-1 ring-secondary ring-inset",
55
+ isSelected && "bg-brand-solid",
56
+ isSelected && isHovered && "bg-brand-solid_hover",
57
+ isSelected && "ring-transparent",
58
+ isDisabled && "cursor-not-allowed opacity-50",
59
+ isFocusVisible && !isDisabled && focusRingShadow,
60
+ classes.track,
61
+ className
62
+ ),
63
+ children: /* @__PURE__ */ jsx(
64
+ "div",
65
+ {
66
+ className: cx(
67
+ "absolute rounded-full bg-fg-white shadow-sm transition-[left] duration-150 ease-in-out",
68
+ slim ? "top-0 shadow-xs" : "top-0.5",
69
+ slim && "border border-toggle-border",
70
+ slim && isSelected && "border-toggle-slim-border_pressed",
71
+ slim && isSelected && isHovered && "border-toggle-slim-border_pressed-hover",
72
+ classes.thumb,
73
+ classes.thumbPosition
74
+ )
75
+ }
76
+ )
77
+ }
78
+ );
15
79
  };
16
- var loaderIconClass = {
17
- sm: "size-4",
18
- md: "size-[1.125rem]",
19
- lg: "size-5"
80
+ var styles = {
81
+ sm: {
82
+ root: "gap-2",
83
+ textWrapper: "",
84
+ label: "text-sm font-medium",
85
+ hint: "text-sm"
86
+ },
87
+ md: {
88
+ root: "gap-3",
89
+ textWrapper: "gap-0.5",
90
+ label: "text-md font-medium",
91
+ hint: "text-md"
92
+ }
20
93
  };
21
- var Switch = React.forwardRef(
22
- ({
23
- checked: checkedProp,
24
- defaultChecked = false,
25
- onCheckedChange,
26
- disabled = false,
27
- loading = false,
28
- size = "md",
29
- className,
30
- thumbClassName,
31
- onClick,
32
- ...rest
33
- }, ref) => {
34
- const isControlled = checkedProp !== void 0;
35
- const [uncontrolledChecked, setUncontrolledChecked] = useState(
36
- defaultChecked
37
- );
38
- const checked = isControlled ? Boolean(checkedProp) : uncontrolledChecked;
39
- const s = switchSize[size];
40
- return /* @__PURE__ */ jsx(
41
- "button",
42
- {
43
- ref,
44
- type: "button",
45
- role: "switch",
46
- "data-slot": "switch",
47
- "data-size": size,
48
- "data-state": checked ? "checked" : "unchecked",
49
- "data-loading": loading ? "" : void 0,
50
- "aria-checked": checked,
51
- "aria-busy": loading || void 0,
52
- disabled,
53
- className: cn(
54
- "ring-offset-background box-border inline-flex shrink-0 rounded-full border border-transparent p-0 shadow-sm outline-none select-none transition-colors",
55
- "focus-visible:ring-primary/40 focus-visible:ring-2 focus-visible:ring-offset-2",
56
- "disabled:cursor-not-allowed disabled:opacity-50",
57
- loading && "cursor-wait",
58
- !loading && !disabled && "cursor-pointer",
59
- checked ? "bg-primary" : "bg-primary/10",
60
- className
61
- ),
62
- style: {
63
- width: s.outerW,
64
- height: s.outerH
65
- },
66
- onClick: (e) => {
67
- onClick?.(e);
68
- if (e.defaultPrevented) return;
69
- if (loading) return;
70
- if (disabled) return;
71
- if (isControlled) {
72
- onCheckedChange?.(!checked);
73
- return;
74
- }
75
- setUncontrolledChecked((prev) => {
76
- const next = !prev;
77
- onCheckedChange?.(next);
78
- return next;
79
- });
80
- },
81
- ...rest,
82
- children: /* @__PURE__ */ jsx("span", { className: "relative block h-full w-full overflow-hidden rounded-[inherit]", children: /* @__PURE__ */ jsx(
83
- "span",
94
+ var Toggle = ({ label, hint, className, size = "sm", slim, ...ariaSwitchProps }) => {
95
+ return /* @__PURE__ */ jsx(
96
+ Switch,
97
+ {
98
+ ...ariaSwitchProps,
99
+ className: (state) => cx(
100
+ "relative flex w-max items-start",
101
+ state.isDisabled && "cursor-not-allowed",
102
+ styles[size].root,
103
+ typeof className === "function" ? className(state) : className
104
+ ),
105
+ children: ({ isSelected, isDisabled, isFocusVisible, isHovered }) => /* @__PURE__ */ jsxs(Fragment, { children: [
106
+ /* @__PURE__ */ jsx(
107
+ ToggleBase,
84
108
  {
85
- "aria-hidden": true,
86
- className: cn(
87
- "pointer-events-none absolute top-1/2 transition-[left] duration-150 ease-out",
88
- loading ? "flex items-center justify-center bg-transparent shadow-none ring-0" : "block rounded-full bg-background shadow-sm ring-0",
89
- thumbClassName
90
- ),
91
- style: {
92
- width: s.thumb,
93
- height: s.thumb,
94
- left: checked ? `calc(100% - ${s.thumb + s.pad}px)` : `${s.pad}px`,
95
- transform: "translateY(-50%)"
96
- },
97
- children: loading ? /* @__PURE__ */ jsx(
98
- Loader2,
99
- {
100
- className: cn(
101
- "animate-spin",
102
- checked ? "text-background" : "text-primary",
103
- loaderIconClass[size]
104
- )
105
- }
106
- ) : null
109
+ slim,
110
+ size,
111
+ isHovered,
112
+ isDisabled,
113
+ isFocusVisible,
114
+ isSelected,
115
+ className: label || hint ? "mt-0.5" : ""
107
116
  }
108
- ) })
109
- }
110
- );
111
- }
112
- );
113
- Switch.displayName = "Switch";
117
+ ),
118
+ (label || hint) && /* @__PURE__ */ jsxs("div", { className: cx("flex flex-col", styles[size].textWrapper), children: [
119
+ label && /* @__PURE__ */ jsx("p", { className: cx("text-secondary select-none", styles[size].label), children: label }),
120
+ hint && /* @__PURE__ */ jsx("span", { className: cx("text-tertiary", styles[size].hint), onClick: (event) => event.stopPropagation(), children: hint })
121
+ ] })
122
+ ] })
123
+ }
124
+ );
125
+ };
114
126
 
115
- export { Switch };
127
+ export { Toggle, ToggleBase };
116
128
  //# sourceMappingURL=switch.js.map
117
129
  //# sourceMappingURL=switch.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/lib/utils.ts","../../src/react/switch.tsx"],"names":[],"mappings":"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","file":"switch.js","sourcesContent":["import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n","\"use client\";\n\nimport * as React from \"react\";\nimport { useState } from \"react\";\nimport { Loader2 } from \"lucide-react\";\n\nimport { cn } from \"../lib/utils\";\n\n/** small pad so the thumb sits close to the track edge like a hardware switch */\nconst switchSize = {\n sm: { outerW: 36, outerH: 20, thumb: 16, pad: 2 },\n md: { outerW: 44, outerH: 24, thumb: 19, pad: 2 },\n lg: { outerW: 52, outerH: 28, thumb: 22, pad: 2 },\n} as const;\n\nconst loaderIconClass: Record<keyof typeof switchSize, string> = {\n sm: \"size-4\",\n md: \"size-[1.125rem]\",\n lg: \"size-5\",\n};\n\nexport type SwitchSize = keyof typeof switchSize;\n\nexport type SwitchProps = Omit<\n React.ComponentProps<\"button\">,\n \"type\" | \"role\" | \"aria-checked\" | \"children\"\n> & {\n checked?: boolean;\n defaultChecked?: boolean;\n onCheckedChange?: (next: boolean) => void;\n /** @default md */\n size?: SwitchSize;\n /** replaces the thumb with a spinner; clicks are ignored until false */\n loading?: boolean;\n /** merged onto the sliding thumb */\n thumbClassName?: string;\n};\n\nconst Switch = React.forwardRef<HTMLButtonElement, SwitchProps>(\n (\n {\n checked: checkedProp,\n defaultChecked = false,\n onCheckedChange,\n disabled = false,\n loading = false,\n size = \"md\",\n className,\n thumbClassName,\n onClick,\n ...rest\n },\n ref,\n ) => {\n const isControlled = checkedProp !== undefined;\n const [uncontrolledChecked, setUncontrolledChecked] = useState(\n defaultChecked,\n );\n const checked = isControlled ? Boolean(checkedProp) : uncontrolledChecked;\n\n const s = switchSize[size];\n\n return (\n <button\n ref={ref}\n type=\"button\"\n role=\"switch\"\n data-slot=\"switch\"\n data-size={size}\n data-state={checked ? \"checked\" : \"unchecked\"}\n data-loading={loading ? \"\" : undefined}\n aria-checked={checked}\n aria-busy={loading || undefined}\n disabled={disabled}\n className={cn(\n \"ring-offset-background box-border inline-flex shrink-0 rounded-full border border-transparent p-0 shadow-sm outline-none select-none transition-colors\",\n \"focus-visible:ring-primary/40 focus-visible:ring-2 focus-visible:ring-offset-2\",\n \"disabled:cursor-not-allowed disabled:opacity-50\",\n loading && \"cursor-wait\",\n !loading && !disabled && \"cursor-pointer\",\n checked ? \"bg-primary\" : \"bg-primary/10\",\n className,\n )}\n style={{\n width: s.outerW,\n height: s.outerH,\n }}\n onClick={(e) => {\n onClick?.(e);\n if (e.defaultPrevented) return;\n if (loading) return;\n if (disabled) return;\n if (isControlled) {\n onCheckedChange?.(!checked);\n return;\n }\n setUncontrolledChecked((prev) => {\n const next = !prev;\n onCheckedChange?.(next);\n return next;\n });\n }}\n {...rest}\n >\n <span className=\"relative block h-full w-full overflow-hidden rounded-[inherit]\">\n <span\n aria-hidden\n className={cn(\n \"pointer-events-none absolute top-1/2 transition-[left] duration-150 ease-out\",\n loading\n ? \"flex items-center justify-center bg-transparent shadow-none ring-0\"\n : \"block rounded-full bg-background shadow-sm ring-0\",\n thumbClassName,\n )}\n style={{\n width: s.thumb,\n height: s.thumb,\n left: checked\n ? `calc(100% - ${s.thumb + s.pad}px)`\n : `${s.pad}px`,\n transform: \"translateY(-50%)\",\n }}\n >\n {loading ? (\n <Loader2\n className={cn(\n \"animate-spin\",\n checked ? \"text-background\" : \"text-primary\",\n loaderIconClass[size],\n )}\n />\n ) : null}\n </span>\n </span>\n </button>\n );\n },\n);\nSwitch.displayName = \"Switch\";\n\nexport { Switch };\n"]}
1
+ {"version":3,"sources":["../../../../utils/cx.ts","../../../../components/base/toggle/toggle.tsx"],"names":["styles","AriaSwitch"],"mappings":"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","file":"switch.js","sourcesContent":["import { extendTailwindMerge } from \"tailwind-merge\";\n\nconst twMerge = extendTailwindMerge({\n extend: {\n theme: {\n text: [\"display-xs\", \"display-sm\", \"display-md\", \"display-lg\", \"display-xl\", \"display-2xl\"],\n },\n },\n});\n\n/**\n * This function is a wrapper around the twMerge function.\n * It is used to merge the classes inside style objects.\n */\nexport const cx = twMerge;\n\n/**\n * This function does nothing besides helping us to be able to\n * sort the classes inside style objects which is not supported\n * by the Tailwind IntelliSense by default.\n */\nexport function sortCx<T extends Record<string, string | number | Record<string, string | number | Record<string, string | number>>>>(classes: T): T {\n return classes;\n}\n","\"use client\";\n\nimport type { ReactNode } from \"react\";\nimport type { SwitchProps as AriaSwitchProps } from \"react-aria-components\";\nimport { Switch as AriaSwitch } from \"react-aria-components\";\nimport { cx } from \"@/utils/cx\";\n\n/** Figma: Toggle (1102:4631) spread focus ring (2px surface gap + 4px focus-ring). */\nconst focusRingShadow =\n \"outline-none [box-shadow:0px_0px_0px_2px_var(--color-bg-primary),0px_0px_0px_4px_var(--color-focus-ring)]\";\n\ninterface ToggleBaseProps {\n size?: \"sm\" | \"md\";\n slim?: boolean;\n className?: string;\n isHovered?: boolean;\n isFocusVisible?: boolean;\n isSelected?: boolean;\n isDisabled?: boolean;\n}\n\nexport const ToggleBase = ({ className, isHovered, isDisabled, isFocusVisible, isSelected, slim, size = \"sm\" }: ToggleBaseProps) => {\n const styles = {\n default: {\n sm: {\n track: \"h-5 w-9 p-0.5\",\n thumb: \"size-4\",\n thumbPosition: isSelected ? \"left-[calc(100%-1rem-0.125rem)]\" : \"left-0.5\",\n },\n md: {\n track: \"h-6 w-11 p-0.5\",\n thumb: \"size-5\",\n thumbPosition: isSelected ? \"left-[calc(100%-1.25rem-0.125rem)]\" : \"left-0.5\",\n },\n },\n slim: {\n sm: {\n track: \"h-4 w-8\",\n thumb: \"size-4\",\n thumbPosition: isSelected ? \"left-4\" : \"left-0\",\n },\n md: {\n track: \"h-5 w-10\",\n thumb: \"size-5\",\n thumbPosition: isSelected ? \"left-5\" : \"left-0\",\n },\n },\n };\n\n const classes = slim ? styles.slim[size] : styles.default[size];\n\n const offTrackBackground = (() => {\n if (isDisabled) return \"bg-tertiary\";\n if (isHovered) return slim ? \"bg-tertiary\" : \"bg-brand-primary\";\n return \"bg-quaternary\";\n })();\n\n return (\n <div\n className={cx(\n \"relative inline-flex shrink-0 cursor-pointer overflow-clip rounded-full outline-none transition duration-150 ease-linear\",\n !isSelected && offTrackBackground,\n !slim && \"ring-[0.5px] ring-secondary ring-inset\",\n slim && \"ring-1 ring-secondary ring-inset\",\n isSelected && \"bg-brand-solid\",\n isSelected && isHovered && \"bg-brand-solid_hover\",\n isSelected && \"ring-transparent\",\n isDisabled && \"cursor-not-allowed opacity-50\",\n isFocusVisible && !isDisabled && focusRingShadow,\n classes.track,\n className,\n )}\n >\n <div\n className={cx(\n \"absolute rounded-full bg-fg-white shadow-sm transition-[left] duration-150 ease-in-out\",\n slim ? \"top-0 shadow-xs\" : \"top-0.5\",\n slim && \"border border-toggle-border\",\n slim && isSelected && \"border-toggle-slim-border_pressed\",\n slim && isSelected && isHovered && \"border-toggle-slim-border_pressed-hover\",\n classes.thumb,\n classes.thumbPosition,\n )}\n />\n </div>\n );\n};\n\nconst styles = {\n sm: {\n root: \"gap-2\",\n textWrapper: \"\",\n label: \"text-sm font-medium\",\n hint: \"text-sm\",\n },\n md: {\n root: \"gap-3\",\n textWrapper: \"gap-0.5\",\n label: \"text-md font-medium\",\n hint: \"text-md\",\n },\n};\n\ninterface ToggleProps extends AriaSwitchProps {\n size?: \"sm\" | \"md\";\n label?: string;\n hint?: ReactNode;\n slim?: boolean;\n}\n\nexport const Toggle = ({ label, hint, className, size = \"sm\", slim, ...ariaSwitchProps }: ToggleProps) => {\n return (\n <AriaSwitch\n {...ariaSwitchProps}\n className={(state) =>\n cx(\n \"relative flex w-max items-start\",\n state.isDisabled && \"cursor-not-allowed\",\n styles[size].root,\n typeof className === \"function\" ? className(state) : className,\n )\n }\n >\n {({ isSelected, isDisabled, isFocusVisible, isHovered }) => (\n <>\n <ToggleBase\n slim={slim}\n size={size}\n isHovered={isHovered}\n isDisabled={isDisabled}\n isFocusVisible={isFocusVisible}\n isSelected={isSelected}\n className={label || hint ? \"mt-0.5\" : \"\"}\n />\n\n {(label || hint) && (\n <div className={cx(\"flex flex-col\", styles[size].textWrapper)}>\n {label && <p className={cx(\"text-secondary select-none\", styles[size].label)}>{label}</p>}\n {hint && (\n <span className={cx(\"text-tertiary\", styles[size].hint)} onClick={(event) => event.stopPropagation()}>\n {hint}\n </span>\n )}\n </div>\n )}\n </>\n )}\n </AriaSwitch>\n );\n};\n"]}
@@ -0,0 +1,44 @@
1
+ import react__default, { RefAttributes, RefObject, FocusEventHandler, PointerEventHandler } from 'react';
2
+ import { ComboBoxProps, ListBoxProps, Key, GroupProps } from 'react-aria-components';
3
+ import { ListData } from 'react-stately';
4
+ import { I as IconComponentType } from '../badge-types-B67wcd4m.js';
5
+ import { S as SelectItemType } from '../select-shared-B3Y5SMXU.js';
6
+ import { SelectItem } from './select-item.js';
7
+
8
+ /** Figma: Tag select (11132:11643) */
9
+
10
+ interface TagSelectValueProps extends GroupProps {
11
+ size: "sm" | "md" | "lg";
12
+ shortcut?: boolean;
13
+ isDisabled?: boolean;
14
+ placeholder?: string;
15
+ shortcutClassName?: string;
16
+ icon?: IconComponentType | null;
17
+ ref?: RefObject<HTMLDivElement | null>;
18
+ onFocus?: FocusEventHandler;
19
+ onPointerEnter?: PointerEventHandler;
20
+ }
21
+ interface TagSelectProps extends Omit<ComboBoxProps<SelectItemType>, "children" | "items">, RefAttributes<HTMLDivElement> {
22
+ hint?: string;
23
+ label?: string;
24
+ tooltip?: string;
25
+ size?: "sm" | "md" | "lg";
26
+ placeholder?: string;
27
+ shortcut?: boolean;
28
+ items?: SelectItemType[];
29
+ popoverClassName?: string;
30
+ shortcutClassName?: string;
31
+ selectedItems: ListData<SelectItemType>;
32
+ icon?: IconComponentType | null;
33
+ children: ListBoxProps<SelectItemType>["children"];
34
+ onItemCleared?: (key: Key) => void;
35
+ onItemInserted?: (key: Key) => void;
36
+ valueFormatter?: (item: SelectItemType) => string;
37
+ }
38
+ declare const TagSelectBase: ({ items, children, size, selectedItems, onItemCleared, onItemInserted, valueFormatter, shortcut, placeholder, icon, name: _name, className, ...props }: TagSelectProps) => react__default.JSX.Element;
39
+ declare const TagSelectTagsValue: ({ size, shortcut, placeholder, shortcutClassName, icon: Icon, isDisabled: _isDisabled, ...otherProps }: TagSelectValueProps) => react__default.JSX.Element;
40
+ declare const TagSelect: typeof TagSelectBase & {
41
+ Item: typeof SelectItem;
42
+ };
43
+
44
+ export { TagSelect, TagSelectBase, TagSelectTagsValue };