@adam-milo/ui 1.0.2

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 (198) hide show
  1. package/LICENSE +23 -0
  2. package/README.md +341 -0
  3. package/dist/index.cjs +1 -0
  4. package/dist/index.d.ts +1 -0
  5. package/dist/index.js +1 -0
  6. package/dist/index10.cjs +1 -0
  7. package/dist/index10.js +4 -0
  8. package/dist/index11.cjs +1 -0
  9. package/dist/index11.js +9 -0
  10. package/dist/index12.cjs +1 -0
  11. package/dist/index12.js +11 -0
  12. package/dist/index13.cjs +1 -0
  13. package/dist/index13.js +3 -0
  14. package/dist/index14.cjs +1 -0
  15. package/dist/index14.js +5 -0
  16. package/dist/index15.cjs +1 -0
  17. package/dist/index15.js +4 -0
  18. package/dist/index16.cjs +1 -0
  19. package/dist/index16.js +4 -0
  20. package/dist/index17.cjs +1 -0
  21. package/dist/index17.js +8 -0
  22. package/dist/index18.cjs +1 -0
  23. package/dist/index18.js +4 -0
  24. package/dist/index19.cjs +1 -0
  25. package/dist/index19.js +2 -0
  26. package/dist/index2.cjs +1 -0
  27. package/dist/index2.js +2 -0
  28. package/dist/index20.cjs +1 -0
  29. package/dist/index20.js +5 -0
  30. package/dist/index21.cjs +1 -0
  31. package/dist/index21.js +11 -0
  32. package/dist/index22.cjs +1 -0
  33. package/dist/index22.js +2 -0
  34. package/dist/index23.cjs +1 -0
  35. package/dist/index23.js +2 -0
  36. package/dist/index24.cjs +1 -0
  37. package/dist/index24.js +2 -0
  38. package/dist/index25.cjs +1 -0
  39. package/dist/index25.js +7 -0
  40. package/dist/index26.cjs +1 -0
  41. package/dist/index26.js +2 -0
  42. package/dist/index27.cjs +1 -0
  43. package/dist/index27.js +2 -0
  44. package/dist/index28.cjs +1 -0
  45. package/dist/index28.js +2 -0
  46. package/dist/index29.cjs +1 -0
  47. package/dist/index29.js +2 -0
  48. package/dist/index3.cjs +1 -0
  49. package/dist/index3.js +3 -0
  50. package/dist/index30.cjs +1 -0
  51. package/dist/index30.js +10 -0
  52. package/dist/index31.cjs +1 -0
  53. package/dist/index31.js +1 -0
  54. package/dist/index32.cjs +1 -0
  55. package/dist/index32.js +1 -0
  56. package/dist/index33.cjs +1 -0
  57. package/dist/index33.js +15 -0
  58. package/dist/index34.cjs +1 -0
  59. package/dist/index34.js +1 -0
  60. package/dist/index35.cjs +1 -0
  61. package/dist/index35.js +1 -0
  62. package/dist/index36.cjs +1 -0
  63. package/dist/index36.js +1 -0
  64. package/dist/index37.cjs +1 -0
  65. package/dist/index37.js +5 -0
  66. package/dist/index38.cjs +1 -0
  67. package/dist/index38.js +1 -0
  68. package/dist/index39.cjs +1 -0
  69. package/dist/index39.js +1 -0
  70. package/dist/index4.cjs +1 -0
  71. package/dist/index4.js +2 -0
  72. package/dist/index40.cjs +1 -0
  73. package/dist/index40.js +2 -0
  74. package/dist/index41.cjs +1 -0
  75. package/dist/index41.js +1 -0
  76. package/dist/index42.cjs +1 -0
  77. package/dist/index42.js +1 -0
  78. package/dist/index43.cjs +1 -0
  79. package/dist/index43.js +4 -0
  80. package/dist/index44.cjs +1 -0
  81. package/dist/index44.js +1 -0
  82. package/dist/index45.cjs +1 -0
  83. package/dist/index45.js +1 -0
  84. package/dist/index46.cjs +1 -0
  85. package/dist/index46.js +1 -0
  86. package/dist/index47.cjs +1 -0
  87. package/dist/index47.js +3 -0
  88. package/dist/index48.cjs +1 -0
  89. package/dist/index48.js +1 -0
  90. package/dist/index49.cjs +1 -0
  91. package/dist/index49.js +1 -0
  92. package/dist/index5.cjs +1 -0
  93. package/dist/index5.js +2 -0
  94. package/dist/index50.cjs +1 -0
  95. package/dist/index50.js +1 -0
  96. package/dist/index51.cjs +1 -0
  97. package/dist/index51.js +1 -0
  98. package/dist/index52.cjs +1 -0
  99. package/dist/index52.js +1 -0
  100. package/dist/index53.cjs +1 -0
  101. package/dist/index53.js +1 -0
  102. package/dist/index54.cjs +1 -0
  103. package/dist/index54.js +2 -0
  104. package/dist/index55.cjs +1 -0
  105. package/dist/index55.js +1 -0
  106. package/dist/index56.cjs +1 -0
  107. package/dist/index56.js +1 -0
  108. package/dist/index57.cjs +1 -0
  109. package/dist/index57.js +1 -0
  110. package/dist/index58.cjs +1 -0
  111. package/dist/index58.js +1 -0
  112. package/dist/index59.cjs +1 -0
  113. package/dist/index59.js +1 -0
  114. package/dist/index6.cjs +1 -0
  115. package/dist/index6.js +1 -0
  116. package/dist/index7.cjs +1 -0
  117. package/dist/index7.js +2 -0
  118. package/dist/index8.cjs +1 -0
  119. package/dist/index8.js +2 -0
  120. package/dist/index9.cjs +1 -0
  121. package/dist/index9.js +4 -0
  122. package/dist/src/components/core/button/Button.component.d.ts +36 -0
  123. package/dist/src/components/core/button/Button.component.d.ts.map +1 -0
  124. package/dist/src/components/core/icon/Icon.component.d.ts +6 -0
  125. package/dist/src/components/core/icon/Icon.component.d.ts.map +1 -0
  126. package/dist/src/components/core/icon-button/IconButton.component.d.ts +36 -0
  127. package/dist/src/components/core/icon-button/IconButton.component.d.ts.map +1 -0
  128. package/dist/src/components/core/menu-icon-button/MenuIconButton.component.d.ts +34 -0
  129. package/dist/src/components/core/menu-icon-button/MenuIconButton.component.d.ts.map +1 -0
  130. package/dist/src/components/data-display/card/Card.component.d.ts +42 -0
  131. package/dist/src/components/data-display/card/Card.component.d.ts.map +1 -0
  132. package/dist/src/components/data-display/chip/Chip.component.d.ts +36 -0
  133. package/dist/src/components/data-display/chip/Chip.component.d.ts.map +1 -0
  134. package/dist/src/components/data-display/chip-group/ChipGroup.component.d.ts +72 -0
  135. package/dist/src/components/data-display/chip-group/ChipGroup.component.d.ts.map +1 -0
  136. package/dist/src/components/data-display/datatable/DataTable.component.d.ts +25 -0
  137. package/dist/src/components/data-display/datatable/DataTable.component.d.ts.map +1 -0
  138. package/dist/src/components/feedback/alert/Alert.component.d.ts +19 -0
  139. package/dist/src/components/feedback/alert/Alert.component.d.ts.map +1 -0
  140. package/dist/src/components/feedback/spinner/Spinner.component.d.ts +17 -0
  141. package/dist/src/components/feedback/spinner/Spinner.component.d.ts.map +1 -0
  142. package/dist/src/components/forms/alphanumeric-input/AlphanumericInput.component.d.ts +47 -0
  143. package/dist/src/components/forms/alphanumeric-input/AlphanumericInput.component.d.ts.map +1 -0
  144. package/dist/src/components/forms/checkbox/Checkbox.component.d.ts +18 -0
  145. package/dist/src/components/forms/checkbox/Checkbox.component.d.ts.map +1 -0
  146. package/dist/src/components/forms/email-input/EmailInput.component.d.ts +31 -0
  147. package/dist/src/components/forms/email-input/EmailInput.component.d.ts.map +1 -0
  148. package/dist/src/components/forms/input/Input.component.d.ts +28 -0
  149. package/dist/src/components/forms/input/Input.component.d.ts.map +1 -0
  150. package/dist/src/components/forms/numeric-input/NumericInput.component.d.ts +44 -0
  151. package/dist/src/components/forms/numeric-input/NumericInput.component.d.ts.map +1 -0
  152. package/dist/src/components/forms/otp-input/OTPInput.component.d.ts +81 -0
  153. package/dist/src/components/forms/otp-input/OTPInput.component.d.ts.map +1 -0
  154. package/dist/src/components/forms/password-input/PasswordInput.component.d.ts +28 -0
  155. package/dist/src/components/forms/password-input/PasswordInput.component.d.ts.map +1 -0
  156. package/dist/src/components/forms/phone-input/PhoneInput.component.d.ts +96 -0
  157. package/dist/src/components/forms/phone-input/PhoneInput.component.d.ts.map +1 -0
  158. package/dist/src/components/forms/phone-input/countries.d.ts +93 -0
  159. package/dist/src/components/forms/phone-input/countries.d.ts.map +1 -0
  160. package/dist/src/components/forms/radio/Radio.component.d.ts +17 -0
  161. package/dist/src/components/forms/radio/Radio.component.d.ts.map +1 -0
  162. package/dist/src/components/forms/select/Select.component.d.ts +108 -0
  163. package/dist/src/components/forms/select/Select.component.d.ts.map +1 -0
  164. package/dist/src/components/forms/toggle/Toggle.component.d.ts +80 -0
  165. package/dist/src/components/forms/toggle/Toggle.component.d.ts.map +1 -0
  166. package/dist/src/components/layout/auth-layout/AuthLayout.component.d.ts +87 -0
  167. package/dist/src/components/layout/auth-layout/AuthLayout.component.d.ts.map +1 -0
  168. package/dist/src/components/layout/container/Container.component.d.ts +26 -0
  169. package/dist/src/components/layout/container/Container.component.d.ts.map +1 -0
  170. package/dist/src/components/layout/divider/Divider.component.d.ts +12 -0
  171. package/dist/src/components/layout/divider/Divider.component.d.ts.map +1 -0
  172. package/dist/src/components/layout/grid/Grid.component.d.ts +53 -0
  173. package/dist/src/components/layout/grid/Grid.component.d.ts.map +1 -0
  174. package/dist/src/components/layout/stack/Stack.component.d.ts +13 -0
  175. package/dist/src/components/layout/stack/Stack.component.d.ts.map +1 -0
  176. package/dist/src/components/navigation/tabs/Tabs.component.d.ts +46 -0
  177. package/dist/src/components/navigation/tabs/Tabs.component.d.ts.map +1 -0
  178. package/dist/src/components/overlays/dialog/Dialog.component.d.ts +83 -0
  179. package/dist/src/components/overlays/dialog/Dialog.component.d.ts.map +1 -0
  180. package/dist/src/components/typography/heading/Heading.component.d.ts +20 -0
  181. package/dist/src/components/typography/heading/Heading.component.d.ts.map +1 -0
  182. package/dist/src/components/typography/link/Link.component.d.ts +61 -0
  183. package/dist/src/components/typography/link/Link.component.d.ts.map +1 -0
  184. package/dist/src/components/typography/text/Text.component.d.ts +21 -0
  185. package/dist/src/components/typography/text/Text.component.d.ts.map +1 -0
  186. package/dist/src/index.d.ts +61 -0
  187. package/dist/src/index.d.ts.map +1 -0
  188. package/dist/src/lib/debounce.d.ts +12 -0
  189. package/dist/src/lib/debounce.d.ts.map +1 -0
  190. package/dist/src/lib/debounce.spec.d.ts +2 -0
  191. package/dist/src/lib/debounce.spec.d.ts.map +1 -0
  192. package/dist/src/lib/dev-utils.d.ts +41 -0
  193. package/dist/src/lib/dev-utils.d.ts.map +1 -0
  194. package/dist/src/lib/index.d.ts +19 -0
  195. package/dist/src/lib/index.d.ts.map +1 -0
  196. package/dist/src/lib/useMergedRef.d.ts +19 -0
  197. package/dist/src/lib/useMergedRef.d.ts.map +1 -0
  198. package/package.json +92 -0
@@ -0,0 +1,46 @@
1
+ import { HTMLAttributes, ButtonHTMLAttributes } from 'react';
2
+
3
+ import * as TabsPrimitive from '@radix-ui/react-tabs';
4
+ export declare const Tabs: import('react').ForwardRefExoticComponent<TabsPrimitive.TabsProps & import('react').RefAttributes<HTMLDivElement>>;
5
+ export interface TabsListProps extends HTMLAttributes<HTMLDivElement> {
6
+ /**
7
+ * Custom data-cy attribute for Cypress testing
8
+ * @default "tabs-list"
9
+ */
10
+ 'data-cy'?: string;
11
+ /**
12
+ * Custom data-testid attribute for unit testing
13
+ * @default "tabs-list"
14
+ */
15
+ 'data-testid'?: string;
16
+ }
17
+ export declare const TabsList: import('react').ForwardRefExoticComponent<TabsListProps & import('react').RefAttributes<HTMLDivElement>>;
18
+ export interface TabsTriggerProps extends ButtonHTMLAttributes<HTMLButtonElement> {
19
+ value: string;
20
+ /**
21
+ * Custom data-cy attribute for Cypress testing
22
+ * Auto-generates as "tabs-trigger-{value}" if not provided
23
+ */
24
+ 'data-cy'?: string;
25
+ /**
26
+ * Custom data-testid attribute for unit testing
27
+ * Auto-generates as "tabs-trigger-{value}" if not provided
28
+ */
29
+ 'data-testid'?: string;
30
+ }
31
+ export declare const TabsTrigger: import('react').ForwardRefExoticComponent<TabsTriggerProps & import('react').RefAttributes<HTMLButtonElement>>;
32
+ export interface TabsContentProps extends HTMLAttributes<HTMLDivElement> {
33
+ value: string;
34
+ /**
35
+ * Custom data-cy attribute for Cypress testing
36
+ * Auto-generates as "tabs-content-{value}" if not provided
37
+ */
38
+ 'data-cy'?: string;
39
+ /**
40
+ * Custom data-testid attribute for unit testing
41
+ * Auto-generates as "tabs-content-{value}" if not provided
42
+ */
43
+ 'data-testid'?: string;
44
+ }
45
+ export declare const TabsContent: import('react').ForwardRefExoticComponent<TabsContentProps & import('react').RefAttributes<HTMLDivElement>>;
46
+ //# sourceMappingURL=Tabs.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tabs.component.d.ts","sourceRoot":"","sources":["../../../../../src/components/navigation/tabs/Tabs.component.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA0B,cAAc,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;AACrF,OAAO,KAAK,aAAa,MAAM,sBAAsB,CAAC;AAGtD,eAAO,MAAM,IAAI,oHAAqB,CAAC;AAEvC,MAAM,WAAW,aAAc,SAAQ,cAAc,CAAC,cAAc,CAAC;IACnE;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,QAAQ,0GAmBpB,CAAC;AAGF,MAAM,WAAW,gBAAiB,SAAQ,oBAAoB,CAAC,iBAAiB,CAAC;IAC/E,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,WAAW,gHA0BvB,CAAC;AAGF,MAAM,WAAW,gBAAiB,SAAQ,cAAc,CAAC,cAAc,CAAC;IACtE,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,WAAW,6GAmBvB,CAAC"}
@@ -0,0 +1,83 @@
1
+ import { ReactNode, ButtonHTMLAttributes, HTMLAttributes } from 'react';
2
+
3
+ import * as DialogPrimitive from '@radix-ui/react-dialog';
4
+ export declare const Dialog: import('react').FC<DialogPrimitive.DialogProps>;
5
+ export declare const DialogTrigger: import('react').ForwardRefExoticComponent<DialogPrimitive.DialogTriggerProps & import('react').RefAttributes<HTMLButtonElement>>;
6
+ export declare const DialogPortal: import('react').FC<DialogPrimitive.DialogPortalProps>;
7
+ export declare const DialogClose: import('react').ForwardRefExoticComponent<DialogPrimitive.DialogCloseProps & import('react').RefAttributes<HTMLButtonElement>>;
8
+ export interface DialogCloseButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
9
+ 'data-cy'?: string;
10
+ 'data-testid'?: string;
11
+ }
12
+ /**
13
+ * Close button (X) positioned in the top-right corner of the dialog.
14
+ * Based on Figma: node-id=40001-5604
15
+ */
16
+ export declare const DialogCloseButton: import('react').ForwardRefExoticComponent<DialogCloseButtonProps & import('react').RefAttributes<HTMLButtonElement>>;
17
+ export interface DialogIconProps extends React.HTMLAttributes<HTMLDivElement> {
18
+ /** Icon content - can be an Icon component or custom SVG */
19
+ children: ReactNode;
20
+ /** Color variant for the icon */
21
+ variant?: 'default' | 'success' | 'warning' | 'error';
22
+ 'data-cy'?: string;
23
+ 'data-testid'?: string;
24
+ }
25
+ /**
26
+ * Centered icon area for dialogs.
27
+ * Based on Figma: node-id=40001-5604
28
+ *
29
+ * @example
30
+ * ```tsx
31
+ * <DialogIcon variant="default">
32
+ * <Icon name="EnvelopeClosedIcon" size="lg" />
33
+ * </DialogIcon>
34
+ * ```
35
+ */
36
+ export declare const DialogIcon: {
37
+ ({ children, variant, className, "data-cy": dataCy, "data-testid": dataTestId, ...props }: DialogIconProps): import("react/jsx-runtime").JSX.Element;
38
+ displayName: string;
39
+ };
40
+ export type DialogOverlayVariant = 'default' | 'verify-loading';
41
+ export interface DialogOverlayProps extends HTMLAttributes<HTMLDivElement> {
42
+ /** 'verify-loading' = radial white gradient (Figma), only when spinner/verifying is visible */
43
+ variant?: DialogOverlayVariant;
44
+ 'data-cy'?: string;
45
+ 'data-testid'?: string;
46
+ }
47
+ export declare const DialogOverlay: import('react').ForwardRefExoticComponent<DialogOverlayProps & import('react').RefAttributes<HTMLDivElement>>;
48
+ export interface DialogContentProps extends Omit<HTMLAttributes<HTMLDivElement>, 'overlayVariant'> {
49
+ /** Use 'verify-loading' when spinner is visible (radial gradient overlay per Figma) */
50
+ overlayVariant?: DialogOverlayVariant;
51
+ 'data-cy'?: string;
52
+ 'data-testid'?: string;
53
+ }
54
+ export declare const DialogContent: import('react').ForwardRefExoticComponent<DialogContentProps & import('react').RefAttributes<HTMLDivElement>>;
55
+ export interface DialogHeaderProps extends React.HTMLAttributes<HTMLDivElement> {
56
+ /** Center the header content (for verification dialogs, etc.) */
57
+ centered?: boolean;
58
+ 'data-cy'?: string;
59
+ 'data-testid'?: string;
60
+ }
61
+ export declare const DialogHeader: {
62
+ ({ centered, className, "data-cy": dataCy, "data-testid": dataTestId, ...props }: DialogHeaderProps): import("react/jsx-runtime").JSX.Element;
63
+ displayName: string;
64
+ };
65
+ export interface DialogFooterProps extends React.HTMLAttributes<HTMLDivElement> {
66
+ 'data-cy'?: string;
67
+ 'data-testid'?: string;
68
+ }
69
+ export declare const DialogFooter: {
70
+ ({ className, "data-cy": dataCy, "data-testid": dataTestId, ...props }: DialogFooterProps): import("react/jsx-runtime").JSX.Element;
71
+ displayName: string;
72
+ };
73
+ export interface DialogTitleProps extends HTMLAttributes<HTMLHeadingElement> {
74
+ 'data-cy'?: string;
75
+ 'data-testid'?: string;
76
+ }
77
+ export declare const DialogTitle: import('react').ForwardRefExoticComponent<DialogTitleProps & import('react').RefAttributes<HTMLHeadingElement>>;
78
+ export interface DialogDescriptionProps extends HTMLAttributes<HTMLParagraphElement> {
79
+ 'data-cy'?: string;
80
+ 'data-testid'?: string;
81
+ }
82
+ export declare const DialogDescription: import('react').ForwardRefExoticComponent<DialogDescriptionProps & import('react').RefAttributes<HTMLParagraphElement>>;
83
+ //# sourceMappingURL=Dialog.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Dialog.component.d.ts","sourceRoot":"","sources":["../../../../../src/components/overlays/dialog/Dialog.component.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA0B,SAAS,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAChG,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAI1D,eAAO,MAAM,MAAM,iDAAuB,CAAC;AAE3C,eAAO,MAAM,aAAa,kIAA0B,CAAC;AAErD,eAAO,MAAM,YAAY,uDAAyB,CAAC;AAEnD,eAAO,MAAM,WAAW,gIAAwB,CAAC;AAMjD,MAAM,WAAW,sBAAuB,SAAQ,oBAAoB,CAAC,iBAAiB,CAAC;IACrF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB,sHAsB5B,CAAC;AAOH,MAAM,WAAW,eAAgB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC3E,4DAA4D;IAC5D,QAAQ,EAAE,SAAS,CAAC;IACpB,iCAAiC;IACjC,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;IACtD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,UAAU;+FAOpB,eAAe;;CAyBjB,CAAC;AAGF,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG,gBAAgB,CAAC;AAEhE,MAAM,WAAW,kBAAmB,SAAQ,cAAc,CAAC,cAAc,CAAC;IACxE,+FAA+F;IAC/F,OAAO,CAAC,EAAE,oBAAoB,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAQD,eAAO,MAAM,aAAa,+GA2BzB,CAAC;AAGF,MAAM,WAAW,kBAAmB,SAAQ,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,gBAAgB,CAAC;IAChG,uFAAuF;IACvF,cAAc,CAAC,EAAE,oBAAoB,CAAC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,aAAa,+GAgDzB,CAAC;AAGF,MAAM,WAAW,iBAAkB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC7E,iEAAiE;IACjE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,YAAY;sFAMtB,iBAAiB;;CAgBnB,CAAC;AAGF,MAAM,WAAW,iBAAkB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC7E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,YAAY;4EAKtB,iBAAiB;;CAYnB,CAAC;AAGF,MAAM,WAAW,gBAAiB,SAAQ,cAAc,CAAC,kBAAkB,CAAC;IAC1E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,WAAW,iHAkBvB,CAAC;AAGF,MAAM,WAAW,sBAAuB,SAAQ,cAAc,CAAC,oBAAoB,CAAC;IAClF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,iBAAiB,yHAmB5B,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { ComponentPropsWithoutRef } from 'react';
2
+
3
+ export type HeadingLevel = 1 | 2 | 3 | 4 | 5 | 6;
4
+ export type HeadingSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl';
5
+ export type HeadingWeight = 'medium' | 'semibold' | 'bold' | 'black';
6
+ export type HeadingAlign = 'start' | 'center' | 'end' | 'responsive';
7
+ export type HeadingColor = 'text' | 'action' | 'clickable' | 'popup' | 'error' | 'secondary' | 'system-text' | 'grey-07';
8
+ export interface HeadingProps extends Omit<ComponentPropsWithoutRef<'h1'>, 'color'> {
9
+ level?: HeadingLevel;
10
+ size?: HeadingSize;
11
+ weight?: HeadingWeight;
12
+ color?: HeadingColor;
13
+ align?: HeadingAlign;
14
+ className?: string;
15
+ 'data-cy'?: string;
16
+ 'data-testid'?: string;
17
+ children?: React.ReactNode;
18
+ }
19
+ export declare const Heading: import('react').ForwardRefExoticComponent<HeadingProps & import('react').RefAttributes<HTMLHeadingElement>>;
20
+ //# sourceMappingURL=Heading.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Heading.component.d.ts","sourceRoot":"","sources":["../../../../../src/components/typography/heading/Heading.component.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,wBAAwB,EAAE,MAAM,OAAO,CAAC;AAGlE,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACjD,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,CAAC;AAC3E,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,GAAG,OAAO,CAAC;AACrE,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,YAAY,CAAC;AACrE,MAAM,MAAM,YAAY,GACpB,MAAM,GACN,QAAQ,GACR,WAAW,GACX,OAAO,GACP,OAAO,GACP,WAAW,GACX,aAAa,GACb,SAAS,CAAC;AA8Cd,MAAM,WAAW,YAAa,SAAQ,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACjF,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,eAAO,MAAM,OAAO,6GA2CnB,CAAC"}
@@ -0,0 +1,61 @@
1
+ import { AnchorHTMLAttributes, ReactNode } from 'react';
2
+
3
+ /**
4
+ * Link color variants using design token colors
5
+ */
6
+ export type LinkColor = 'action' | 'clickable' | 'orange' | 'text' | 'system-text';
7
+ /**
8
+ * Link size variants
9
+ */
10
+ export type LinkSize = 'sm' | 'md' | 'lg';
11
+ /**
12
+ * Link weight variants
13
+ */
14
+ export type LinkWeight = 'regular' | 'medium' | 'semibold' | 'bold';
15
+ export interface LinkProps extends Omit<AnchorHTMLAttributes<HTMLAnchorElement>, 'style'> {
16
+ className?: string;
17
+ /**
18
+ * Link content
19
+ */
20
+ children: ReactNode;
21
+ /**
22
+ * Link color variant
23
+ * - action: Teal color (--color-action) - default
24
+ * - clickable: Clickable teal (--color-clickable)
25
+ * - orange: Orange color (--color-button-orange)
26
+ * - text: Default text color (--color-text)
27
+ * - system-text: Grey system text (--color-system-text)
28
+ * @default 'action'
29
+ */
30
+ color?: LinkColor;
31
+ /**
32
+ * Link text size
33
+ * @default 'md'
34
+ */
35
+ size?: LinkSize;
36
+ /**
37
+ * Link font weight
38
+ * @default 'medium'
39
+ */
40
+ weight?: LinkWeight;
41
+ /**
42
+ * Whether the link has an underline
43
+ * @default false
44
+ */
45
+ underline?: boolean;
46
+ /**
47
+ * Whether the link is disabled
48
+ * @default false
49
+ */
50
+ disabled?: boolean;
51
+ /**
52
+ * Custom data-cy attribute for Cypress testing
53
+ */
54
+ 'data-cy'?: string;
55
+ /**
56
+ * Custom data-testid attribute for unit testing
57
+ */
58
+ 'data-testid'?: string;
59
+ }
60
+ export declare const Link: import('react').ForwardRefExoticComponent<LinkProps & import('react').RefAttributes<HTMLAnchorElement>>;
61
+ //# sourceMappingURL=Link.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Link.component.d.ts","sourceRoot":"","sources":["../../../../../src/components/typography/link/Link.component.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,oBAAoB,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAG9E;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,WAAW,GAAG,QAAQ,GAAG,MAAM,GAAG,aAAa,CAAC;AAEnF;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE1C;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,CAAC;AAEpE,MAAM,WAAW,SAAU,SAAQ,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IACvF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;IAEpB;;;;;;;;OAQG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAElB;;;OAGG;IACH,IAAI,CAAC,EAAE,QAAQ,CAAC;IAEhB;;;OAGG;IACH,MAAM,CAAC,EAAE,UAAU,CAAC;IAEpB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAyCD,eAAO,MAAM,IAAI,yGAuDhB,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { ElementType, ComponentPropsWithoutRef } from 'react';
2
+
3
+ export type TextSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
4
+ export type TextWeight = 'regular' | 'medium' | 'semibold' | 'bold';
5
+ export type TextAlign = 'start' | 'center' | 'end';
6
+ export type TextColor = 'text' | 'action' | 'clickable' | 'popup' | 'error' | 'secondary' | 'system-text' | 'grey-07';
7
+ export interface TextBaseProps {
8
+ size?: TextSize;
9
+ weight?: TextWeight;
10
+ as?: ElementType;
11
+ color?: TextColor;
12
+ align?: TextAlign;
13
+ truncate?: boolean;
14
+ className?: string;
15
+ 'data-cy'?: string;
16
+ 'data-testid'?: string;
17
+ children?: React.ReactNode;
18
+ }
19
+ export type TextProps<T extends ElementType = 'p'> = TextBaseProps & Omit<ComponentPropsWithoutRef<T>, keyof TextBaseProps>;
20
+ export declare const Text: import('react').ForwardRefExoticComponent<Omit<TextProps<ElementType>, "ref"> & import('react').RefAttributes<HTMLElement>>;
21
+ //# sourceMappingURL=Text.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Text.component.d.ts","sourceRoot":"","sources":["../../../../../src/components/typography/text/Text.component.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,WAAW,EAAE,KAAK,wBAAwB,EAAE,MAAM,OAAO,CAAC;AAGpF,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AACxD,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,CAAC;AACpE,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;AACnD,MAAM,MAAM,SAAS,GACjB,MAAM,GACN,QAAQ,GACR,WAAW,GACX,OAAO,GACP,OAAO,GACP,WAAW,GACX,aAAa,GACb,SAAS,CAAC;AAkCd,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,EAAE,CAAC,EAAE,WAAW,CAAC;IACjB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,WAAW,GAAG,GAAG,IAAI,aAAa,GAChE,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE,MAAM,aAAa,CAAC,CAAC;AAEzD,eAAO,MAAM,IAAI,6HA0ChB,CAAC"}
@@ -0,0 +1,61 @@
1
+ export { Button } from './components/core/button/Button.component';
2
+ export type { ButtonProps } from './components/core/button/Button.component';
3
+ export { IconButton } from './components/core/icon-button/IconButton.component';
4
+ export type { IconButtonProps } from './components/core/icon-button/IconButton.component';
5
+ export { MenuIconButton } from './components/core/menu-icon-button/MenuIconButton.component';
6
+ export type { MenuIconButtonProps } from './components/core/menu-icon-button/MenuIconButton.component';
7
+ export { Icon, availableIcons, figmaIconMapping, getRadixIconName, } from './components/core/icon/Icon.component';
8
+ export type { IconProps, IconName, IconSize, IconColor, FigmaIconName, } from './components/core/icon/Icon.component';
9
+ export { EmailInput } from './components/forms/email-input/EmailInput.component';
10
+ export type { EmailInputProps } from './components/forms/email-input/EmailInput.component';
11
+ export { PasswordInput } from './components/forms/password-input/PasswordInput.component';
12
+ export type { PasswordInputProps } from './components/forms/password-input/PasswordInput.component';
13
+ export { NumericInput } from './components/forms/numeric-input/NumericInput.component';
14
+ export type { NumericInputProps } from './components/forms/numeric-input/NumericInput.component';
15
+ export { AlphanumericInput } from './components/forms/alphanumeric-input/AlphanumericInput.component';
16
+ export type { AlphanumericInputProps } from './components/forms/alphanumeric-input/AlphanumericInput.component';
17
+ export { Checkbox } from './components/forms/checkbox/Checkbox.component';
18
+ export type { CheckboxProps } from './components/forms/checkbox/Checkbox.component';
19
+ export { Radio } from './components/forms/radio/Radio.component';
20
+ export type { RadioProps } from './components/forms/radio/Radio.component';
21
+ export { Select, SelectTrigger, SelectContent, SelectItem, SelectValue, SelectGroup, SelectLabel, SelectSeparator, } from './components/forms/select/Select.component';
22
+ export type { SelectTriggerProps, SelectContentProps, SelectItemProps, SelectLabelProps, SelectSeparatorProps, } from './components/forms/select/Select.component';
23
+ export { PhoneInput, allCountries, commonCountries, defaultCountries, getCountryByCode, getCountryByDialCode, getCountriesByDialCode, searchCountries, phoneMasks, defaultPhoneMask, getPhoneMask, formatPhoneNumber, getPhoneDigits, isValidPhoneLength, } from './components/forms/phone-input/PhoneInput.component';
24
+ export type { PhoneInputProps, Country, PhoneMask, } from './components/forms/phone-input/PhoneInput.component';
25
+ export { OTPInput } from './components/forms/otp-input/OTPInput.component';
26
+ export type { OTPInputProps, OTPInputRef } from './components/forms/otp-input/OTPInput.component';
27
+ export { Toggle } from './components/forms/toggle/Toggle.component';
28
+ export type { ToggleProps } from './components/forms/toggle/Toggle.component';
29
+ export { Tabs, TabsList, TabsTrigger, TabsContent, } from './components/navigation/tabs/Tabs.component';
30
+ export { Alert } from './components/feedback/alert/Alert.component';
31
+ export type { AlertProps } from './components/feedback/alert/Alert.component';
32
+ export { Card, CardHeader, CardTitle, CardDescription, CardContent, CardFooter, } from './components/data-display/card/Card.component';
33
+ export type { CardProps, CardHeaderProps, CardTitleProps, CardDescriptionProps, CardContentProps, CardFooterProps, } from './components/data-display/card/Card.component';
34
+ export { DataTable } from './components/data-display/datatable/DataTable.component';
35
+ export type { DataTableProps, DataTableColumn, } from './components/data-display/datatable/DataTable.component';
36
+ export { Chip } from './components/data-display/chip/Chip.component';
37
+ export type { ChipProps } from './components/data-display/chip/Chip.component';
38
+ export { ChipGroup } from './components/data-display/chip-group/ChipGroup.component';
39
+ export type { ChipGroupProps, ChipGroupItem, } from './components/data-display/chip-group/ChipGroup.component';
40
+ export { Dialog, DialogTrigger, DialogContent, DialogHeader, DialogTitle, DialogDescription, DialogFooter, DialogClose, DialogCloseButton, DialogIcon, DialogPortal, DialogOverlay, } from './components/overlays/dialog/Dialog.component';
41
+ export type { DialogOverlayVariant, DialogOverlayProps, DialogContentProps, DialogHeaderProps, DialogTitleProps, DialogDescriptionProps, DialogFooterProps, DialogCloseButtonProps, DialogIconProps, } from './components/overlays/dialog/Dialog.component';
42
+ export { Stack } from './components/layout/stack/Stack.component';
43
+ export type { StackProps } from './components/layout/stack/Stack.component';
44
+ export { Container } from './components/layout/container/Container.component';
45
+ export type { ContainerProps } from './components/layout/container/Container.component';
46
+ export { Divider } from './components/layout/divider/Divider.component';
47
+ export type { DividerProps } from './components/layout/divider/Divider.component';
48
+ export { AuthLayout } from './components/layout/auth-layout/AuthLayout.component';
49
+ export type { AuthLayoutProps } from './components/layout/auth-layout/AuthLayout.component';
50
+ export { Grid } from './components/layout/grid/Grid.component';
51
+ export type { GridProps } from './components/layout/grid/Grid.component';
52
+ export { Text } from './components/typography/text/Text.component';
53
+ export type { TextProps, TextSize, TextWeight, TextAlign, TextColor, } from './components/typography/text/Text.component';
54
+ export { Heading } from './components/typography/heading/Heading.component';
55
+ export type { HeadingProps, HeadingLevel, HeadingSize, HeadingWeight, HeadingAlign, HeadingColor, } from './components/typography/heading/Heading.component';
56
+ export { Link } from './components/typography/link/Link.component';
57
+ export type { LinkProps, LinkColor, LinkSize, LinkWeight, } from './components/typography/link/Link.component';
58
+ export { Spinner } from './components/feedback/spinner/Spinner.component';
59
+ export type { SpinnerProps, SpinnerSize, SpinnerColor, SpinnerVariant, } from './components/feedback/spinner/Spinner.component';
60
+ export { cn, generateId } from './lib';
61
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Creates a debounced function that delays invoking func until after wait milliseconds
3
+ * have elapsed since the last time the debounced function was invoked.
4
+ *
5
+ * @param func - The function to debounce
6
+ * @param wait - The number of milliseconds to delay
7
+ * @returns The debounced function with a cancel method
8
+ */
9
+ export declare function debounce<T extends (...args: any[]) => void>(func: T, wait: number): ((...args: Parameters<T>) => void) & {
10
+ cancel: () => void;
11
+ };
12
+ //# sourceMappingURL=debounce.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debounce.d.ts","sourceRoot":"","sources":["../../../src/lib/debounce.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,EACzD,IAAI,EAAE,CAAC,EACP,IAAI,EAAE,MAAM,GACX,CAAC,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,GAAG;IAAE,MAAM,EAAE,MAAM,IAAI,CAAA;CAAE,CAyB7D"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=debounce.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debounce.spec.d.ts","sourceRoot":"","sources":["../../../src/lib/debounce.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Development-only utilities
3
+ * These functions are optimized away in production builds
4
+ */
5
+ /**
6
+ * Logs a warning message only in development mode
7
+ * In production builds, this function call is stripped by the bundler
8
+ *
9
+ * @param message - The warning message to display
10
+ *
11
+ * @example
12
+ * ```typescript
13
+ * devWarn('Component: Invalid prop value provided');
14
+ * ```
15
+ */
16
+ export declare const devWarn: (message: string) => void;
17
+ /**
18
+ * Logs an error message only in development mode
19
+ * In production builds, this function call is stripped by the bundler
20
+ *
21
+ * @param message - The error message to display
22
+ *
23
+ * @example
24
+ * ```typescript
25
+ * devError('Component: Critical error occurred');
26
+ * ```
27
+ */
28
+ export declare const devError: (message: string) => void;
29
+ /**
30
+ * Logs an info message only in development mode
31
+ * In production builds, this function call is stripped by the bundler
32
+ *
33
+ * @param message - The info message to display
34
+ *
35
+ * @example
36
+ * ```typescript
37
+ * devLog('Component: Rendering with props:', props);
38
+ * ```
39
+ */
40
+ export declare const devLog: (message: string, ...args: unknown[]) => void;
41
+ //# sourceMappingURL=dev-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dev-utils.d.ts","sourceRoot":"","sources":["../../../src/lib/dev-utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;;;;;;;;;GAUG;AACH,eAAO,MAAM,OAAO,GAAI,SAAS,MAAM,KAAG,IAIzC,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,QAAQ,GAAI,SAAS,MAAM,KAAG,IAI1C,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,MAAM,GAAI,SAAS,MAAM,EAAE,GAAG,MAAM,OAAO,EAAE,KAAG,IAI5D,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { ClassValue } from 'clsx';
2
+
3
+ /**
4
+ * Combines class names conditionally with proper Tailwind class merging
5
+ * Uses clsx for conditional classes and tailwind-merge to resolve conflicts
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * cn('text-red-500', 'text-blue-500') // => 'text-blue-500' (last class wins)
10
+ * cn('p-4', undefined, false, 'bg-white') // => 'p-4 bg-white'
11
+ * cn({ 'hidden': isHidden, 'block': !isHidden }) // => 'hidden' or 'block'
12
+ * ```
13
+ */
14
+ export declare function cn(...inputs: ClassValue[]): string;
15
+ export declare function generateId(prefix?: string): string;
16
+ export { devWarn, devError, devLog } from './dev-utils';
17
+ export { debounce } from './debounce';
18
+ export { useMergedRef } from './useMergedRef';
19
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,UAAU,EAAQ,MAAM,MAAM,CAAC;AAG7C;;;;;;;;;;GAUG;AACH,wBAAgB,EAAE,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAElD;AAMD,wBAAgB,UAAU,CAAC,MAAM,SAAO,GAAG,MAAM,CAGhD;AAGD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAExD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Merges multiple React refs into a single callback ref.
3
+ * Useful when you need to forward a ref while also keeping an internal ref.
4
+ *
5
+ * @param refs - Array of refs to merge (can be callback refs or ref objects)
6
+ * @returns A callback ref that updates all provided refs
7
+ *
8
+ * @example
9
+ * ```tsx
10
+ * const MyComponent = forwardRef((props, forwardedRef) => {
11
+ * const internalRef = useRef(null);
12
+ * const mergedRef = useMergedRef(forwardedRef, internalRef);
13
+ *
14
+ * return <input ref={mergedRef} />;
15
+ * });
16
+ * ```
17
+ */
18
+ export declare function useMergedRef<T = unknown>(...refs: (React.Ref<T> | undefined)[]): React.RefCallback<T>;
19
+ //# sourceMappingURL=useMergedRef.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMergedRef.d.ts","sourceRoot":"","sources":["../../../src/lib/useMergedRef.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,YAAY,CAAC,CAAC,GAAG,OAAO,EACtC,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,EAAE,GACpC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CActB"}
package/package.json ADDED
@@ -0,0 +1,92 @@
1
+ {
2
+ "name": "@adam-milo/ui",
3
+ "version": "1.0.2",
4
+ "type": "module",
5
+ "description": "Adam Milo Design System - UI Component Library",
6
+ "keywords": [
7
+ "react",
8
+ "design-system",
9
+ "ui",
10
+ "components",
11
+ "typescript",
12
+ "tailwindcss"
13
+ ],
14
+ "author": "Adam Milo",
15
+ "license": "MIT",
16
+ "repository": {
17
+ "type": "git",
18
+ "url": "git+https://github.com/adam-milo/adam-milo-design-system.git",
19
+ "directory": "packages/ui"
20
+ },
21
+ "homepage": "https://github.com/adam-milo/adam-milo-design-system#readme",
22
+ "bugs": {
23
+ "url": "https://github.com/adam-milo/adam-milo-design-system/issues"
24
+ },
25
+ "main": "./dist/index.cjs",
26
+ "module": "./dist/index.js",
27
+ "types": "./dist/index.d.ts",
28
+ "exports": {
29
+ ".": {
30
+ "types": "./dist/index.d.ts",
31
+ "import": "./dist/index.js",
32
+ "require": "./dist/index.cjs"
33
+ },
34
+ "./styles.css": "./dist/styles.css"
35
+ },
36
+ "files": [
37
+ "dist",
38
+ "README.md",
39
+ "LICENSE"
40
+ ],
41
+ "sideEffects": [
42
+ "*.css"
43
+ ],
44
+ "publishConfig": {
45
+ "access": "public"
46
+ },
47
+ "scripts": {
48
+ "dev": "vite",
49
+ "build": "tsc && vite build",
50
+ "test": "vitest run",
51
+ "test:watch": "vitest",
52
+ "test:ui": "vitest --ui",
53
+ "test:coverage": "vitest run --coverage",
54
+ "lint": "eslint src --ext ts,tsx",
55
+ "format": "prettier --write \"src/**/*.{ts,tsx}\""
56
+ },
57
+ "peerDependencies": {
58
+ "react": "^18.2.0 || ^19.0.0",
59
+ "react-dom": "^18.2.0 || ^19.0.0"
60
+ },
61
+ "dependencies": {
62
+ "@adam-milo/icons": "*",
63
+ "@adam-milo/tokens": "*",
64
+ "@radix-ui/react-dialog": "^1.0.5",
65
+ "@radix-ui/react-select": "^2.2.6",
66
+ "@radix-ui/react-separator": "1.1.0",
67
+ "@radix-ui/react-tabs": "^1.0.4",
68
+ "@radix-ui/react-tooltip": "^1.2.8",
69
+ "clsx": "^2.1.0",
70
+ "email-validator": "^2.0.4",
71
+ "tailwind-merge": "^3.4.0"
72
+ },
73
+ "devDependencies": {
74
+ "@testing-library/jest-dom": "^6.1.5",
75
+ "@testing-library/react": "^16.0.0",
76
+ "@testing-library/user-event": "^14.5.1",
77
+ "@types/email-validator": "^1.0.30",
78
+ "@types/react": "^19.0.0",
79
+ "@types/react-dom": "^19.0.0",
80
+ "@vitejs/plugin-react": "^4.2.1",
81
+ "@vitest/coverage-v8": "^1.0.4",
82
+ "@vitest/ui": "^1.0.4",
83
+ "cypress": "^15.7.1",
84
+ "jsdom": "^23.0.1",
85
+ "react": "^19.0.0",
86
+ "react-dom": "^19.0.0",
87
+ "terser": "^5.44.1",
88
+ "typescript": "^5.3.0",
89
+ "vite-plugin-dts": "^3.7.0",
90
+ "vitest": "^1.0.4"
91
+ }
92
+ }