@adam-milo/ui 1.0.5

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 (47) hide show
  1. package/LICENSE +23 -0
  2. package/README.md +461 -0
  3. package/dist/index.cjs +1 -0
  4. package/dist/index.d.ts +1 -0
  5. package/dist/index.js +41 -0
  6. package/dist/index10.cjs +1 -0
  7. package/dist/index10.js +11 -0
  8. package/dist/index2.cjs +1 -0
  9. package/dist/index2.js +38 -0
  10. package/dist/index3.cjs +1 -0
  11. package/dist/index3.js +82 -0
  12. package/dist/index4.cjs +1 -0
  13. package/dist/index4.js +61 -0
  14. package/dist/index5.cjs +1 -0
  15. package/dist/index5.js +69 -0
  16. package/dist/index6.cjs +1 -0
  17. package/dist/index6.js +119 -0
  18. package/dist/index7.cjs +1 -0
  19. package/dist/index7.js +92 -0
  20. package/dist/index8.cjs +1 -0
  21. package/dist/index8.js +115 -0
  22. package/dist/index9.cjs +1 -0
  23. package/dist/index9.js +43 -0
  24. package/dist/src/components/core/button/Button.component.d.ts +32 -0
  25. package/dist/src/components/core/button/Button.component.d.ts.map +1 -0
  26. package/dist/src/components/core/icon/Icon.component.d.ts +6 -0
  27. package/dist/src/components/core/icon/Icon.component.d.ts.map +1 -0
  28. package/dist/src/components/data-display/card/Card.component.d.ts +42 -0
  29. package/dist/src/components/data-display/card/Card.component.d.ts.map +1 -0
  30. package/dist/src/components/data-display/datatable/DataTable.component.d.ts +25 -0
  31. package/dist/src/components/data-display/datatable/DataTable.component.d.ts.map +1 -0
  32. package/dist/src/components/feedback/alert/Alert.component.d.ts +19 -0
  33. package/dist/src/components/feedback/alert/Alert.component.d.ts.map +1 -0
  34. package/dist/src/components/forms/input/Input.component.d.ts +20 -0
  35. package/dist/src/components/forms/input/Input.component.d.ts.map +1 -0
  36. package/dist/src/components/layout/stack/Stack.component.d.ts +21 -0
  37. package/dist/src/components/layout/stack/Stack.component.d.ts.map +1 -0
  38. package/dist/src/components/navigation/tabs/Tabs.component.d.ts +44 -0
  39. package/dist/src/components/navigation/tabs/Tabs.component.d.ts.map +1 -0
  40. package/dist/src/components/overlays/dialog/Dialog.component.d.ts +44 -0
  41. package/dist/src/components/overlays/dialog/Dialog.component.d.ts.map +1 -0
  42. package/dist/src/index.d.ts +18 -0
  43. package/dist/src/index.d.ts.map +1 -0
  44. package/dist/src/lib/index.d.ts +6 -0
  45. package/dist/src/lib/index.d.ts.map +1 -0
  46. package/dist/style.css +1 -0
  47. package/package.json +89 -0
@@ -0,0 +1,19 @@
1
+ import { HTMLAttributes, ReactNode } from 'react';
2
+
3
+ export interface AlertProps extends HTMLAttributes<HTMLDivElement> {
4
+ variant?: 'info' | 'success' | 'warning' | 'error';
5
+ title?: string;
6
+ icon?: ReactNode;
7
+ /**
8
+ * Custom data-cy attribute for Cypress testing
9
+ * Auto-generates as "alert-{variant}" if not provided
10
+ */
11
+ 'data-cy'?: string;
12
+ /**
13
+ * Custom data-testid attribute for unit testing
14
+ * Auto-generates as "alert-{variant}" if not provided
15
+ */
16
+ 'data-testid'?: string;
17
+ }
18
+ export declare const Alert: import('react').ForwardRefExoticComponent<AlertProps & import('react').RefAttributes<HTMLDivElement>>;
19
+ //# sourceMappingURL=Alert.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Alert.component.d.ts","sourceRoot":"","sources":["../../../../../src/components/feedback/alert/Alert.component.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAc,SAAS,EAAE,MAAM,OAAO,CAAC;AAE9D,OAAO,aAAa,CAAC;AAErB,MAAM,WAAW,UAAW,SAAQ,cAAc,CAAC,cAAc,CAAC;IAChE,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,SAAS,CAAC;IAEjB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,KAAK,uGA+DjB,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { InputHTMLAttributes } from 'react';
2
+
3
+ export interface InputProps extends InputHTMLAttributes<HTMLInputElement> {
4
+ label?: string;
5
+ error?: string;
6
+ helperText?: string;
7
+ fullWidth?: boolean;
8
+ /**
9
+ * Custom data-cy attribute for Cypress testing
10
+ * Auto-generates as "input" if not provided
11
+ */
12
+ 'data-cy'?: string;
13
+ /**
14
+ * Custom data-testid attribute for unit testing
15
+ * Auto-generates as "input" if not provided
16
+ */
17
+ 'data-testid'?: string;
18
+ }
19
+ export declare const Input: import('react').ForwardRefExoticComponent<InputProps & import('react').RefAttributes<HTMLInputElement>>;
20
+ //# sourceMappingURL=Input.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Input.component.d.ts","sourceRoot":"","sources":["../../../../../src/components/forms/input/Input.component.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAqB,MAAM,OAAO,CAAC;AAE/D,OAAO,aAAa,CAAC;AAErB,MAAM,WAAW,UAAW,SAAQ,mBAAmB,CAAC,gBAAgB,CAAC;IACvE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,KAAK,yGA8EjB,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { HTMLAttributes } from 'react';
2
+
3
+ export interface StackProps extends HTMLAttributes<HTMLDivElement> {
4
+ direction?: 'horizontal' | 'vertical';
5
+ spacing?: '0' | '1' | '2' | '3' | '4' | '5' | '6' | '8' | '10' | '12';
6
+ align?: 'start' | 'center' | 'end' | 'stretch';
7
+ justify?: 'start' | 'center' | 'end' | 'between' | 'around';
8
+ wrap?: boolean;
9
+ /**
10
+ * Custom data-cy attribute for Cypress testing
11
+ * Auto-generates as "stack-{direction}" if not provided
12
+ */
13
+ 'data-cy'?: string;
14
+ /**
15
+ * Custom data-testid attribute for unit testing
16
+ * Auto-generates as "stack-{direction}" if not provided
17
+ */
18
+ 'data-testid'?: string;
19
+ }
20
+ export declare const Stack: import('react').ForwardRefExoticComponent<StackProps & import('react').RefAttributes<HTMLDivElement>>;
21
+ //# sourceMappingURL=Stack.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Stack.component.d.ts","sourceRoot":"","sources":["../../../../../src/components/layout/stack/Stack.component.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAc,MAAM,OAAO,CAAC;AAEnD,OAAO,aAAa,CAAC;AAErB,MAAM,WAAW,UAAW,SAAQ,cAAc,CAAC,cAAc,CAAC;IAChE,SAAS,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACtC,OAAO,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC;IACtE,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC;IAC/C,OAAO,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,GAAG,QAAQ,CAAC;IAC5D,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,KAAK,uGAuCjB,CAAC"}
@@ -0,0 +1,44 @@
1
+ import { ComponentPropsWithoutRef } 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 ComponentPropsWithoutRef<typeof TabsPrimitive.List> {
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 ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger> {
19
+ /**
20
+ * Custom data-cy attribute for Cypress testing
21
+ * Auto-generates as "tabs-trigger-{value}" if not provided
22
+ */
23
+ 'data-cy'?: string;
24
+ /**
25
+ * Custom data-testid attribute for unit testing
26
+ * Auto-generates as "tabs-trigger-{value}" if not provided
27
+ */
28
+ 'data-testid'?: string;
29
+ }
30
+ export declare const TabsTrigger: import('react').ForwardRefExoticComponent<TabsTriggerProps & import('react').RefAttributes<HTMLButtonElement>>;
31
+ export interface TabsContentProps extends ComponentPropsWithoutRef<typeof TabsPrimitive.Content> {
32
+ /**
33
+ * Custom data-cy attribute for Cypress testing
34
+ * Auto-generates as "tabs-content-{value}" if not provided
35
+ */
36
+ 'data-cy'?: string;
37
+ /**
38
+ * Custom data-testid attribute for unit testing
39
+ * Auto-generates as "tabs-content-{value}" if not provided
40
+ */
41
+ 'data-testid'?: string;
42
+ }
43
+ export declare const TabsContent: import('react').ForwardRefExoticComponent<TabsContentProps & import('react').RefAttributes<HTMLDivElement>>;
44
+ //# 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,EAAc,wBAAwB,EAAc,MAAM,OAAO,CAAC;AACzE,OAAO,KAAK,aAAa,MAAM,sBAAsB,CAAC;AAEtD,OAAO,YAAY,CAAC;AAEpB,eAAO,MAAM,IAAI,oHAAqB,CAAC;AAEvC,MAAM,WAAW,aAAc,SAAQ,wBAAwB,CAAC,OAAO,aAAa,CAAC,IAAI,CAAC;IACxF;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,QAAQ,0GAepB,CAAC;AAGF,MAAM,WAAW,gBAAiB,SAAQ,wBAAwB,CAAC,OAAO,aAAa,CAAC,OAAO,CAAC;IAC9F;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,WAAW,gHAgBvB,CAAC;AAGF,MAAM,WAAW,gBAAiB,SAAQ,wBAAwB,CAAC,OAAO,aAAa,CAAC,OAAO,CAAC;IAC9F;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,WAAW,6GAgBvB,CAAC"}
@@ -0,0 +1,44 @@
1
+ import { ComponentPropsWithoutRef } 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 DialogOverlayProps extends ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay> {
9
+ 'data-cy'?: string;
10
+ 'data-testid'?: string;
11
+ }
12
+ export declare const DialogOverlay: import('react').ForwardRefExoticComponent<DialogOverlayProps & import('react').RefAttributes<HTMLDivElement>>;
13
+ export interface DialogContentProps extends ComponentPropsWithoutRef<typeof DialogPrimitive.Content> {
14
+ 'data-cy'?: string;
15
+ 'data-testid'?: string;
16
+ }
17
+ export declare const DialogContent: import('react').ForwardRefExoticComponent<DialogContentProps & import('react').RefAttributes<HTMLDivElement>>;
18
+ export interface DialogHeaderProps extends React.HTMLAttributes<HTMLDivElement> {
19
+ 'data-cy'?: string;
20
+ 'data-testid'?: string;
21
+ }
22
+ export declare const DialogHeader: {
23
+ ({ className, "data-cy": dataCy, "data-testid": dataTestId, ...props }: DialogHeaderProps): import("react/jsx-runtime").JSX.Element;
24
+ displayName: string;
25
+ };
26
+ export interface DialogFooterProps extends React.HTMLAttributes<HTMLDivElement> {
27
+ 'data-cy'?: string;
28
+ 'data-testid'?: string;
29
+ }
30
+ export declare const DialogFooter: {
31
+ ({ className, "data-cy": dataCy, "data-testid": dataTestId, ...props }: DialogFooterProps): import("react/jsx-runtime").JSX.Element;
32
+ displayName: string;
33
+ };
34
+ export interface DialogTitleProps extends ComponentPropsWithoutRef<typeof DialogPrimitive.Title> {
35
+ 'data-cy'?: string;
36
+ 'data-testid'?: string;
37
+ }
38
+ export declare const DialogTitle: import('react').ForwardRefExoticComponent<DialogTitleProps & import('react').RefAttributes<HTMLHeadingElement>>;
39
+ export interface DialogDescriptionProps extends ComponentPropsWithoutRef<typeof DialogPrimitive.Description> {
40
+ 'data-cy'?: string;
41
+ 'data-testid'?: string;
42
+ }
43
+ export declare const DialogDescription: import('react').ForwardRefExoticComponent<DialogDescriptionProps & import('react').RefAttributes<HTMLParagraphElement>>;
44
+ //# 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,EAAc,wBAAwB,EAAc,MAAM,OAAO,CAAC;AACzE,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAE1D,OAAO,cAAc,CAAC;AAEtB,eAAO,MAAM,MAAM,iDAAuB,CAAC;AAE3C,eAAO,MAAM,aAAa,kIAA0B,CAAC;AAErD,eAAO,MAAM,YAAY,uDAAyB,CAAC;AAEnD,eAAO,MAAM,WAAW,gIAAwB,CAAC;AAEjD,MAAM,WAAW,kBAAmB,SAAQ,wBAAwB,CAClE,OAAO,eAAe,CAAC,OAAO,CAC/B;IACC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,aAAa,+GAgBxB,CAAC;AAGH,MAAM,WAAW,kBAAmB,SAAQ,wBAAwB,CAClE,OAAO,eAAe,CAAC,OAAO,CAC/B;IACC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,aAAa,+GAqBxB,CAAC;AAGH,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,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,wBAAwB,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC;IAC9F,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,WAAW,iHAevB,CAAC;AAGF,MAAM,WAAW,sBAAuB,SAAQ,wBAAwB,CACtE,OAAO,eAAe,CAAC,WAAW,CACnC;IACC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,iBAAiB,yHAgB5B,CAAC"}
@@ -0,0 +1,18 @@
1
+ export { Button } from './components/core/button/Button.component';
2
+ export type { ButtonProps } from './components/core/button/Button.component';
3
+ export { Icon, availableIcons } from './components/core/icon/Icon.component';
4
+ export type { IconProps, IconName, IconSize, IconColor, } from './components/core/icon/Icon.component';
5
+ export { Input } from './components/forms/input/Input.component';
6
+ export type { InputProps } from './components/forms/input/Input.component';
7
+ export { Tabs, TabsList, TabsTrigger, TabsContent, } from './components/navigation/tabs/Tabs.component';
8
+ export { Alert } from './components/feedback/alert/Alert.component';
9
+ export type { AlertProps } from './components/feedback/alert/Alert.component';
10
+ export { Card, CardHeader, CardTitle, CardDescription, CardContent, CardFooter, } from './components/data-display/card/Card.component';
11
+ export type { CardProps, CardHeaderProps, CardTitleProps, CardDescriptionProps, CardContentProps, CardFooterProps, } from './components/data-display/card/Card.component';
12
+ export { DataTable } from './components/data-display/datatable/DataTable.component';
13
+ export type { DataTableProps, DataTableColumn, } from './components/data-display/datatable/DataTable.component';
14
+ export { Dialog, DialogTrigger, DialogContent, DialogHeader, DialogTitle, DialogDescription, DialogFooter, DialogClose, DialogPortal, DialogOverlay, } from './components/overlays/dialog/Dialog.component';
15
+ export { Stack } from './components/layout/stack/Stack.component';
16
+ export type { StackProps } from './components/layout/stack/Stack.component';
17
+ export { cn, generateId } from './lib';
18
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,YAAY,EAAE,WAAW,EAAE,MAAM,2CAA2C,CAAC;AAE7E,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAC7E,YAAY,EACV,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,SAAS,GACV,MAAM,uCAAuC,CAAC;AAG/C,OAAO,EAAE,KAAK,EAAE,MAAM,0CAA0C,CAAC;AACjE,YAAY,EAAE,UAAU,EAAE,MAAM,0CAA0C,CAAC;AAG3E,OAAO,EACL,IAAI,EACJ,QAAQ,EACR,WAAW,EACX,WAAW,GACZ,MAAM,6CAA6C,CAAC;AAGrD,OAAO,EAAE,KAAK,EAAE,MAAM,6CAA6C,CAAC;AACpE,YAAY,EAAE,UAAU,EAAE,MAAM,6CAA6C,CAAC;AAG9E,OAAO,EACL,IAAI,EACJ,UAAU,EACV,SAAS,EACT,eAAe,EACf,WAAW,EACX,UAAU,GACX,MAAM,+CAA+C,CAAC;AACvD,YAAY,EACV,SAAS,EACT,eAAe,EACf,cAAc,EACd,oBAAoB,EACpB,gBAAgB,EAChB,eAAe,GAChB,MAAM,+CAA+C,CAAC;AAEvD,OAAO,EAAE,SAAS,EAAE,MAAM,yDAAyD,CAAC;AACpF,YAAY,EACV,cAAc,EACd,eAAe,GAChB,MAAM,yDAAyD,CAAC;AAGjE,OAAO,EACL,MAAM,EACN,aAAa,EACb,aAAa,EACb,YAAY,EACZ,WAAW,EACX,iBAAiB,EACjB,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,aAAa,GACd,MAAM,+CAA+C,CAAC;AAGvD,OAAO,EAAE,KAAK,EAAE,MAAM,2CAA2C,CAAC;AAClE,YAAY,EAAE,UAAU,EAAE,MAAM,2CAA2C,CAAC;AAG5E,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Combines class names conditionally
3
+ */
4
+ export declare function cn(...classes: (string | undefined | null | false)[]): string;
5
+ export declare function generateId(prefix?: string): string;
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,wBAAgB,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,KAAK,CAAC,EAAE,GAAG,MAAM,CAE5E;AAMD,wBAAgB,UAAU,CAAC,MAAM,SAAO,GAAG,MAAM,CAGhD"}
package/dist/style.css ADDED
@@ -0,0 +1 @@
1
+ .btn{display:inline-flex;align-items:center;justify-content:center;block-size:2.5rem;padding-block:var(--spacing-3);padding-inline:var(--spacing-4);gap:var(--spacing-2);font-family:Almoni DL AAA,sans-serif;font-weight:400;font-size:var(--font-size-8);line-height:1.5rem;text-align:center;white-space:nowrap;border:none;border-radius:var(--radius-default);transition-property:background-color,color,border-color,transform;transition-duration:.2s;transition-timing-function:ease-in-out;will-change:transform;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation}.btn:focus-visible{outline:2px solid;outline-offset:2px}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{cursor:not-allowed;opacity:1;pointer-events:none}.btn--primary-workspace{background-color:var(--color-popup);color:var(--color-card);outline-color:var(--color-popup)}.btn--primary-workspace:hover:not(:disabled){background-color:var(--color-action)}.btn--primary-workspace:disabled{background-color:var(--color-bg-secondary);color:var(--color-icon-secondary);border:1px solid var(--color-border)}.btn--primary-builder{background-color:var(--color-action);color:var(--color-card);outline-color:var(--color-action)}.btn--primary-builder:hover:not(:disabled){background-color:var(--color-text)}.btn--primary-builder:disabled{background-color:var(--color-bg-secondary);color:var(--color-icon-secondary);border:1px solid var(--color-border)}.btn--secondary{background-color:var(--color-card);color:var(--color-text);border:1px solid var(--color-system-text);outline-color:var(--color-border)}.btn--secondary:hover:not(:disabled){background-color:var(--color-bg-secondary)}.btn--secondary:disabled{background-color:transparent;color:var(--color-icon-secondary);border:1px solid var(--color-border)}.btn--ghost{background-color:transparent;color:var(--color-text);outline-color:var(--color-border)}.btn--ghost:hover:not(:disabled){background-color:var(--color-bg-secondary)}.btn--ghost:disabled{background-color:transparent;color:var(--color-icon-secondary)}.btn--full-width{inline-size:100%}.btn__icon{display:inline-flex;align-items:center;justify-content:center;inline-size:1rem;block-size:1rem;flex-shrink:0}.input-wrapper{display:flex;flex-direction:column;gap:var(--spacing-1);inline-size:100%}.input-wrapper--full-width{inline-size:100%}.input__label{font-family:Almoni DL AAA,sans-serif;font-size:var(--font-size-9);font-weight:500;color:var(--color-system-text);line-height:1.5}.input{display:block;inline-size:100%;block-size:2.5rem;padding-inline:var(--spacing-3);padding-block:var(--spacing-2);font-family:Almoni DL AAA,sans-serif;font-size:var(--font-size-8);line-height:1.5;color:var(--color-text);background-color:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-md);transition-property:border-color,box-shadow;transition-duration:.2s;transition-timing-function:ease-in-out;cursor:text}.input:focus{outline:none;border-color:var(--color-clickable);box-shadow:0 0 0 2px var(--color-clickable-light, rgba(47, 157, 178, .1))}.input:hover:not(:disabled){border-color:var(--color-system-text)}.input:disabled{cursor:not-allowed;opacity:.5;background-color:var(--color-bg-secondary);pointer-events:none}.input::placeholder{color:var(--color-icon-secondary)}.input--error{border-color:var(--color-error)}.input--error:focus{border-color:var(--color-error);box-shadow:0 0 0 2px var(--color-error-light, rgba(255, 104, 104, .1))}.input--full-width{inline-size:100%}.input__helper{font-family:Almoni DL AAA,sans-serif;font-size:var(--font-size-9);line-height:1.5;color:var(--color-icon-secondary)}.input__error{font-family:Almoni DL AAA,sans-serif;font-size:var(--font-size-9);line-height:1.5;color:var(--color-error)}@media (min-width: 768px){.input{block-size:2.75rem}}.tabs-list{display:inline-flex;align-items:center;justify-content:center;block-size:2.5rem;padding:var(--spacing-1);gap:var(--spacing-1);background-color:var(--color-bg-secondary);border-radius:var(--radius-md);color:var(--color-icon-secondary)}.tabs-trigger{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;padding-inline:var(--spacing-3);padding-block:var(--spacing-1-5);font-family:Almoni DL AAA,sans-serif;font-size:var(--font-size-9);font-weight:500;line-height:1.5;border:none;border-radius:var(--radius-default);background-color:transparent;color:var(--color-icon-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;transition-property:background-color,color,box-shadow;transition-duration:.2s;transition-timing-function:ease-in-out}.tabs-trigger:focus-visible{outline:2px solid var(--color-clickable);outline-offset:2px;z-index:1}.tabs-trigger:disabled{cursor:not-allowed;opacity:.5;pointer-events:none}.tabs-trigger[data-state=active]{background-color:var(--color-card);color:var(--color-text);box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f}.tabs-trigger:hover:not([data-state=active]):not(:disabled){background-color:var(--color-border);color:var(--color-text)}.tabs-content{margin-block-start:var(--spacing-2)}.tabs-content:focus-visible{outline:2px solid var(--color-clickable);outline-offset:2px;border-radius:var(--radius-default)}@media (max-width: 639px){.tabs-list{inline-size:100%;justify-content:flex-start;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.tabs-list::-webkit-scrollbar{display:none}.tabs-trigger{padding-inline:var(--spacing-4);padding-block:var(--spacing-2)}}.alert{position:relative;display:flex;gap:var(--spacing-3);padding-inline:var(--spacing-4);padding-block:var(--spacing-3);font-family:Almoni DL AAA,sans-serif;font-size:var(--font-size-9);line-height:1.5;border:1px solid;border-radius:var(--radius-md)}.alert--info{background-color:var(--color-clickable-light, rgba(47, 157, 178, .05));border-color:var(--color-clickable-light, rgba(47, 157, 178, .2));color:var(--color-clickable)}.alert--success{background-color:var(--color-success-light, rgba(76, 175, 80, .05));border-color:var(--color-success-light, rgba(76, 175, 80, .2));color:var(--color-success, #4caf50)}.alert--warning{background-color:var(--color-warning-light, rgba(255, 152, 0, .05));border-color:var(--color-warning-light, rgba(255, 152, 0, .2));color:var(--color-warning, #ff9800)}.alert--error{background-color:var(--color-error-light, rgba(255, 104, 104, .05));border-color:var(--color-error-light, rgba(255, 104, 104, .2));color:var(--color-error)}.alert__icon{display:inline-flex;align-items:flex-start;justify-content:center;flex-shrink:0;margin-block-start:.125rem}.alert--info .alert__icon{color:var(--color-clickable)}.alert--success .alert__icon{color:var(--color-success, #4caf50)}.alert--warning .alert__icon{color:var(--color-warning, #ff9800)}.alert--error .alert__icon{color:var(--color-error)}.alert__content{flex:1;min-inline-size:0}.alert__title{font-weight:600;margin-block-end:var(--spacing-1);line-height:1.3}@media (min-width: 768px){.alert{padding-inline:var(--spacing-5);padding-block:var(--spacing-4)}}.card{display:flex;flex-direction:column;border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-card);overflow:hidden}.card--default{border:1px solid var(--color-border);background-color:var(--color-card)}.card--outlined{border:2px solid var(--color-system-text);background-color:var(--color-card)}.card--elevated{border:1px solid var(--color-border);background-color:var(--color-card);box-shadow:0 .625rem 1.875rem -.1875rem #0000001a,0 .25rem .375rem -.125rem #0000000d}.card-header{display:flex;flex-direction:column;gap:var(--spacing-1-5);padding:var(--spacing-6)}.card-title{font-family:Almoni DL AAA,sans-serif;font-size:var(--font-size-6);font-weight:600;line-height:1.2;color:var(--color-text)}.card-description{font-family:Almoni DL AAA,sans-serif;font-size:var(--font-size-9);line-height:1.5;color:var(--color-icon-secondary)}.card-content{padding-inline:var(--spacing-6);padding-block:var(--spacing-6);padding-block-start:0}.card-footer{display:flex;align-items:center;gap:var(--spacing-4);padding-inline:var(--spacing-6);padding-block:var(--spacing-6);padding-block-start:0}@media (max-width: 639px){.card-header,.card-content,.card-footer{padding-inline:var(--spacing-4);padding-block:var(--spacing-4)}.card-content,.card-footer{padding-block-start:0}}.datatable-wrapper{inline-size:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--color-border) var(--color-bg-secondary)}.datatable{inline-size:100%;border-collapse:collapse;font-family:Almoni DL AAA,sans-serif;font-size:var(--font-size-9);line-height:1.5;color:var(--color-text)}.datatable__head{border-block-end:1px solid var(--color-border);background-color:var(--color-bg-secondary)}.datatable__header-cell{padding-inline:var(--spacing-4);padding-block:var(--spacing-3);text-align:start;font-weight:600;color:var(--color-system-text)}.datatable__body-row{border-block-end:1px solid var(--color-border)}.datatable__body-row.datatable__body-row--hoverable:hover{background-color:var(--color-bg)}.datatable__body-row.datatable__body-row--striped:nth-child(2n){background-color:var(--color-bg)}.datatable__body-cell{padding-inline:var(--spacing-4);padding-block:var(--spacing-3);color:var(--color-text)}.datatable__empty{padding:var(--spacing-12);text-align:center;color:var(--color-icon-secondary);font-style:italic}@media (max-width: 639px){.datatable__header-cell,.datatable__body-cell{padding-inline:var(--spacing-2);padding-block:var(--spacing-2);font-size:var(--font-size-10)}.datatable__empty{padding:var(--spacing-8)}}.dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background-color:#191a3980;-webkit-backdrop-filter:blur(.25rem);backdrop-filter:blur(.25rem);animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}.dialog-overlay[data-state=open]{animation-name:dialog-overlay-fade-in}.dialog-overlay[data-state=closed]{animation-name:dialog-overlay-fade-out}.dialog-content{position:fixed;inset-inline-start:50%;inset-block-start:50%;z-index:50;transform:translate(-50%,-50%);display:grid;gap:var(--spacing-4);inline-size:100%;max-inline-size:32rem;padding:var(--spacing-6);background-color:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 .625rem 1.875rem -.1875rem #0000001a,0 .25rem .375rem -.125rem #0000000d;animation-duration:.2s;animation-timing-function:cubic-bezier(.16,1,.3,1);animation-fill-mode:forwards}.dialog-content[data-state=open]{animation-name:dialog-content-show}.dialog-content[data-state=closed]{animation-name:dialog-content-hide}.dialog-content:focus-visible{outline:2px solid var(--color-clickable);outline-offset:2px}.dialog-header{display:flex;flex-direction:column;gap:var(--spacing-1-5);text-align:center}@media (min-width: 640px){.dialog-header{text-align:start}}.dialog-footer{display:flex;flex-direction:column-reverse;gap:var(--spacing-2)}@media (min-width: 640px){.dialog-footer{flex-direction:row;justify-content:flex-end;gap:var(--spacing-2)}}.dialog-title{font-family:Almoni DL AAA,sans-serif;font-size:var(--font-size-6);font-weight:600;line-height:1.2;color:var(--color-text);letter-spacing:-.01em}.dialog-description{font-family:Almoni DL AAA,sans-serif;font-size:var(--font-size-9);line-height:1.5;color:var(--color-icon-secondary)}@keyframes dialog-overlay-fade-in{0%{opacity:0}to{opacity:1}}@keyframes dialog-overlay-fade-out{0%{opacity:1}to{opacity:0}}@keyframes dialog-content-show{0%{opacity:0;transform:translate(-50%,-48%) scale(.95)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes dialog-content-hide{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-48%) scale(.95)}}@media (max-width: 639px){.dialog-content{inline-size:calc(100% - var(--spacing-8));max-inline-size:calc(100% - var(--spacing-8));padding:var(--spacing-5)}}.stack{display:flex}.stack--horizontal{flex-direction:row}.stack--vertical{flex-direction:column}.stack--spacing-0{gap:0}.stack--spacing-1{gap:var(--spacing-1)}.stack--spacing-2{gap:var(--spacing-2)}.stack--spacing-3{gap:var(--spacing-3)}.stack--spacing-4{gap:var(--spacing-4)}.stack--spacing-5{gap:var(--spacing-5)}.stack--spacing-6{gap:var(--spacing-6)}.stack--spacing-8{gap:var(--spacing-8)}.stack--spacing-10{gap:var(--spacing-10)}.stack--spacing-12{gap:var(--spacing-12)}.stack--align-start{align-items:flex-start}.stack--align-center{align-items:center}.stack--align-end{align-items:flex-end}.stack--align-stretch{align-items:stretch}.stack--justify-start{justify-content:flex-start}.stack--justify-center{justify-content:center}.stack--justify-end{justify-content:flex-end}.stack--justify-between{justify-content:space-between}.stack--justify-around{justify-content:space-around}.stack--wrap{flex-wrap:wrap}@media (max-width: 639px){.stack--horizontal.stack--responsive{flex-direction:column}}
package/package.json ADDED
@@ -0,0 +1,89 @@
1
+ {
2
+ "name": "@adam-milo/ui",
3
+ "version": "1.0.5",
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",
59
+ "react-dom": "^18.2.0"
60
+ },
61
+ "dependencies": {
62
+ "@adam-milo/icons": "*",
63
+ "@adam-milo/tokens": "*",
64
+ "@radix-ui/react-dialog": "^1.0.5",
65
+ "@radix-ui/react-tabs": "^1.0.4",
66
+ "clsx": "^2.1.0"
67
+ },
68
+ "devDependencies": {
69
+ "@testing-library/jest-dom": "^6.1.5",
70
+ "@testing-library/react": "^14.1.2",
71
+ "@testing-library/user-event": "^14.5.1",
72
+ "@types/react": "^18.2.43",
73
+ "@types/react-dom": "^18.2.17",
74
+ "@vitejs/plugin-react": "^4.2.1",
75
+ "@vitest/ui": "^1.0.4",
76
+ "autoprefixer": "^10.4.16",
77
+ "cypress": "^15.7.1",
78
+ "jsdom": "^23.0.1",
79
+ "postcss": "^8.4.32",
80
+ "react": "^18.2.0",
81
+ "react-dom": "^18.2.0",
82
+ "tailwindcss": "^3.4.0",
83
+ "tailwindcss-rtl": "^0.9.0",
84
+ "typescript": "^5.3.0",
85
+ "vite": "^5.0.8",
86
+ "vite-plugin-dts": "^3.7.0",
87
+ "vitest": "^1.0.4"
88
+ }
89
+ }