panelui-native 0.1.0 → 0.4.0

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 (124) hide show
  1. package/README.md +251 -0
  2. package/lib/module/components/alert/index.js +107 -24
  3. package/lib/module/components/alert/index.js.map +1 -1
  4. package/lib/module/components/avatar/index.js +1 -1
  5. package/lib/module/components/avatar/index.js.map +1 -1
  6. package/lib/module/components/badge/index.js +3 -3
  7. package/lib/module/components/badge/index.js.map +1 -1
  8. package/lib/module/components/bottom-sheet/index.js +35 -31
  9. package/lib/module/components/bottom-sheet/index.js.map +1 -1
  10. package/lib/module/components/button/index.js +44 -15
  11. package/lib/module/components/button/index.js.map +1 -1
  12. package/lib/module/components/card/index.js +5 -5
  13. package/lib/module/components/card/index.js.map +1 -1
  14. package/lib/module/components/checkbox/index.js +21 -8
  15. package/lib/module/components/checkbox/index.js.map +1 -1
  16. package/lib/module/components/dialog/index.js +21 -17
  17. package/lib/module/components/dialog/index.js.map +1 -1
  18. package/lib/module/components/empty-state/index.js +178 -0
  19. package/lib/module/components/empty-state/index.js.map +1 -0
  20. package/lib/module/components/frame/index.js +100 -0
  21. package/lib/module/components/frame/index.js.map +1 -0
  22. package/lib/module/components/inline-select/index.js +159 -0
  23. package/lib/module/components/inline-select/index.js.map +1 -0
  24. package/lib/module/components/input/index.js +1 -1
  25. package/lib/module/components/input/index.js.map +1 -1
  26. package/lib/module/components/input-group/index.js +132 -0
  27. package/lib/module/components/input-group/index.js.map +1 -0
  28. package/lib/module/components/label/index.js +117 -0
  29. package/lib/module/components/label/index.js.map +1 -0
  30. package/lib/module/components/progress/index.js +138 -0
  31. package/lib/module/components/progress/index.js.map +1 -0
  32. package/lib/module/components/select/index.js +35 -28
  33. package/lib/module/components/select/index.js.map +1 -1
  34. package/lib/module/components/skeleton/index.js +1 -1
  35. package/lib/module/components/skeleton/index.js.map +1 -1
  36. package/lib/module/components/spinner/index.js +1 -1
  37. package/lib/module/components/spinner/index.js.map +1 -1
  38. package/lib/module/components/steps/index.js +354 -0
  39. package/lib/module/components/steps/index.js.map +1 -0
  40. package/lib/module/components/tabs/index.js +9 -3
  41. package/lib/module/components/tabs/index.js.map +1 -1
  42. package/lib/module/components/toast/index.js +479 -0
  43. package/lib/module/components/toast/index.js.map +1 -0
  44. package/lib/module/components/toast/toast-store.js +81 -0
  45. package/lib/module/components/toast/toast-store.js.map +1 -0
  46. package/lib/module/components/typography/index.js +126 -0
  47. package/lib/module/components/typography/index.js.map +1 -0
  48. package/lib/module/icons/index.js +223 -2
  49. package/lib/module/icons/index.js.map +1 -1
  50. package/lib/module/index.js +11 -2
  51. package/lib/module/index.js.map +1 -1
  52. package/lib/module/providers/panel-ui-provider.js +20 -8
  53. package/lib/module/providers/panel-ui-provider.js.map +1 -1
  54. package/lib/module/theme/use-theme.js +90 -3
  55. package/lib/module/theme/use-theme.js.map +1 -1
  56. package/lib/typescript/src/components/alert/index.d.ts +41 -19
  57. package/lib/typescript/src/components/alert/index.d.ts.map +1 -1
  58. package/lib/typescript/src/components/bottom-sheet/index.d.ts.map +1 -1
  59. package/lib/typescript/src/components/button/index.d.ts +39 -0
  60. package/lib/typescript/src/components/button/index.d.ts.map +1 -1
  61. package/lib/typescript/src/components/checkbox/index.d.ts +8 -0
  62. package/lib/typescript/src/components/checkbox/index.d.ts.map +1 -1
  63. package/lib/typescript/src/components/dialog/index.d.ts.map +1 -1
  64. package/lib/typescript/src/components/empty-state/index.d.ts +73 -0
  65. package/lib/typescript/src/components/empty-state/index.d.ts.map +1 -0
  66. package/lib/typescript/src/components/frame/index.d.ts +21 -0
  67. package/lib/typescript/src/components/frame/index.d.ts.map +1 -0
  68. package/lib/typescript/src/components/inline-select/index.d.ts +25 -0
  69. package/lib/typescript/src/components/inline-select/index.d.ts.map +1 -0
  70. package/lib/typescript/src/components/input-group/index.d.ts +34 -0
  71. package/lib/typescript/src/components/input-group/index.d.ts.map +1 -0
  72. package/lib/typescript/src/components/label/index.d.ts +28 -0
  73. package/lib/typescript/src/components/label/index.d.ts.map +1 -0
  74. package/lib/typescript/src/components/progress/index.d.ts +132 -0
  75. package/lib/typescript/src/components/progress/index.d.ts.map +1 -0
  76. package/lib/typescript/src/components/select/index.d.ts.map +1 -1
  77. package/lib/typescript/src/components/spinner/index.d.ts +2 -2
  78. package/lib/typescript/src/components/spinner/index.d.ts.map +1 -1
  79. package/lib/typescript/src/components/steps/index.d.ts +62 -0
  80. package/lib/typescript/src/components/steps/index.d.ts.map +1 -0
  81. package/lib/typescript/src/components/tabs/index.d.ts.map +1 -1
  82. package/lib/typescript/src/components/toast/index.d.ts +176 -0
  83. package/lib/typescript/src/components/toast/index.d.ts.map +1 -0
  84. package/lib/typescript/src/components/toast/toast-store.d.ts +65 -0
  85. package/lib/typescript/src/components/toast/toast-store.d.ts.map +1 -0
  86. package/lib/typescript/src/components/typography/index.d.ts +77 -0
  87. package/lib/typescript/src/components/typography/index.d.ts.map +1 -0
  88. package/lib/typescript/src/icons/index.d.ts +25 -0
  89. package/lib/typescript/src/icons/index.d.ts.map +1 -1
  90. package/lib/typescript/src/index.d.ts +12 -3
  91. package/lib/typescript/src/index.d.ts.map +1 -1
  92. package/lib/typescript/src/providers/panel-ui-provider.d.ts +20 -5
  93. package/lib/typescript/src/providers/panel-ui-provider.d.ts.map +1 -1
  94. package/lib/typescript/src/theme/use-theme.d.ts +64 -4
  95. package/lib/typescript/src/theme/use-theme.d.ts.map +1 -1
  96. package/package.json +28 -5
  97. package/src/components/alert/index.tsx +104 -28
  98. package/src/components/avatar/index.tsx +1 -1
  99. package/src/components/badge/index.tsx +3 -3
  100. package/src/components/bottom-sheet/index.tsx +8 -3
  101. package/src/components/button/index.tsx +47 -7
  102. package/src/components/card/index.tsx +5 -5
  103. package/src/components/checkbox/index.tsx +18 -4
  104. package/src/components/dialog/index.tsx +10 -5
  105. package/src/components/empty-state/index.tsx +136 -0
  106. package/src/components/frame/index.tsx +104 -0
  107. package/src/components/inline-select/index.tsx +185 -0
  108. package/src/components/input/index.tsx +1 -1
  109. package/src/components/input-group/index.tsx +164 -0
  110. package/src/components/label/index.tsx +128 -0
  111. package/src/components/progress/index.tsx +147 -0
  112. package/src/components/select/index.tsx +30 -23
  113. package/src/components/skeleton/index.tsx +1 -1
  114. package/src/components/spinner/index.tsx +1 -1
  115. package/src/components/steps/index.tsx +343 -0
  116. package/src/components/tabs/index.tsx +10 -2
  117. package/src/components/toast/index.tsx +447 -0
  118. package/src/components/toast/toast-store.ts +120 -0
  119. package/src/components/typography/index.tsx +121 -0
  120. package/src/icons/index.tsx +152 -1
  121. package/src/index.ts +82 -3
  122. package/src/providers/panel-ui-provider.tsx +35 -10
  123. package/src/theme/use-theme.ts +119 -4
  124. package/theme.css +446 -108
@@ -1,36 +1,43 @@
1
1
  "use strict";
2
2
 
3
- import { forwardRef, isValidElement } from 'react';
3
+ import { forwardRef } from 'react';
4
4
  import { tv } from 'tailwind-variants';
5
5
  import { AnimatedPressable } from "../../primitives/animated-pressable.js";
6
6
  import { Text } from "../../primitives/text.js";
7
- import { jsx as _jsx } from "react/jsx-runtime";
7
+ import { Spinner } from "../spinner/index.js";
8
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
9
  const buttonVariants = tv({
9
10
  slots: {
10
11
  root: 'flex-row items-center justify-center gap-2 rounded-lg border border-transparent',
11
- label: 'font-medium'
12
+ label: 'font-medium',
13
+ spinner: ''
12
14
  },
13
15
  variants: {
14
16
  variant: {
15
17
  primary: {
16
18
  root: 'border-primary bg-primary shadow-sm',
17
- label: 'text-primary-foreground'
19
+ label: 'text-primary-foreground',
20
+ spinner: 'border-primary-foreground/32 border-t-primary-foreground'
18
21
  },
19
22
  secondary: {
20
23
  root: 'bg-secondary',
21
- label: 'text-secondary-foreground'
24
+ label: 'text-secondary-foreground',
25
+ spinner: 'border-secondary-foreground/24 border-t-secondary-foreground'
22
26
  },
23
27
  outline: {
24
28
  root: 'border-input bg-popover shadow-sm',
25
- label: 'text-foreground'
29
+ label: 'text-foreground',
30
+ spinner: 'border-muted border-t-foreground'
26
31
  },
27
32
  ghost: {
28
33
  root: 'bg-transparent',
29
- label: 'text-foreground'
34
+ label: 'text-foreground',
35
+ spinner: 'border-muted border-t-foreground'
30
36
  },
31
37
  destructive: {
32
38
  root: 'border-destructive bg-destructive shadow-sm',
33
- label: 'text-white'
39
+ label: 'text-white',
40
+ spinner: 'border-white/32 border-t-white'
34
41
  }
35
42
  },
36
43
  size: {
@@ -50,6 +57,11 @@ const buttonVariants = tv({
50
57
  root: 'h-11 w-11 px-0'
51
58
  }
52
59
  },
60
+ fullWidth: {
61
+ true: {
62
+ root: 'w-full'
63
+ }
64
+ },
53
65
  disabled: {
54
66
  true: {
55
67
  root: 'opacity-[0.64]'
@@ -61,40 +73,57 @@ const buttonVariants = tv({
61
73
  size: 'md'
62
74
  }
63
75
  });
76
+ const SPINNER_SIZE = {
77
+ sm: 'sm',
78
+ md: 'sm',
79
+ lg: 'md',
80
+ icon: 'sm'
81
+ };
64
82
  export const Button = /*#__PURE__*/forwardRef(({
65
83
  children,
66
84
  className,
67
85
  labelClassName,
68
86
  variant,
69
87
  size,
88
+ fullWidth,
70
89
  disabled,
90
+ loading = false,
91
+ startContent,
92
+ endContent,
71
93
  ...props
72
94
  }, ref) => {
95
+ const isDisabled = disabled || loading;
73
96
  const {
74
97
  root,
75
- label
98
+ label,
99
+ spinner
76
100
  } = buttonVariants({
77
101
  variant,
78
102
  size,
79
- disabled: !!disabled
103
+ fullWidth,
104
+ disabled: isDisabled
80
105
  });
81
- return /*#__PURE__*/_jsx(AnimatedPressable, {
106
+ return /*#__PURE__*/_jsxs(AnimatedPressable, {
82
107
  ref: ref,
83
108
  accessibilityRole: "button",
84
109
  accessibilityState: {
85
- disabled: !!disabled
110
+ disabled: isDisabled,
111
+ busy: loading
86
112
  },
87
- disabled: disabled,
113
+ disabled: isDisabled,
88
114
  className: root({
89
115
  className
90
116
  }),
91
117
  ...props,
92
- children: typeof children === 'string' ? /*#__PURE__*/_jsx(Text, {
118
+ children: [loading ? /*#__PURE__*/_jsx(Spinner, {
119
+ size: SPINNER_SIZE[size ?? 'md'],
120
+ className: spinner()
121
+ }) : startContent, typeof children === 'string' ? /*#__PURE__*/_jsx(Text, {
93
122
  className: label({
94
123
  className: labelClassName
95
124
  }),
96
125
  children: children
97
- }) : /*#__PURE__*/isValidElement(children) ? children : children
126
+ }) : children, endContent]
98
127
  });
99
128
  });
100
129
  Button.displayName = 'Button';
@@ -1 +1 @@
1
- {"version":3,"names":["forwardRef","isValidElement","tv","AnimatedPressable","Text","jsx","_jsx","buttonVariants","slots","root","label","variants","variant","primary","secondary","outline","ghost","destructive","size","sm","md","lg","icon","disabled","true","defaultVariants","Button","children","className","labelClassName","props","ref","accessibilityRole","accessibilityState","displayName"],"sourceRoot":"../../../../src","sources":["components/button/index.tsx"],"mappings":";;AAAA,SAASA,UAAU,EAAEC,cAAc,QAAwB,OAAO;AAElE,SAASC,EAAE,QAA2B,mBAAmB;AACzD,SACEC,iBAAiB,QAEZ,wCAAqC;AAC5C,SAASC,IAAI,QAAQ,0BAAuB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE7C,MAAMC,cAAc,GAAGL,EAAE,CAAC;EACxBM,KAAK,EAAE;IACLC,IAAI,EAAE,iFAAiF;IACvFC,KAAK,EAAE;EACT,CAAC;EACDC,QAAQ,EAAE;IACRC,OAAO,EAAE;MACPC,OAAO,EAAE;QACPJ,IAAI,EAAE,qCAAqC;QAC3CC,KAAK,EAAE;MACT,CAAC;MACDI,SAAS,EAAE;QACTL,IAAI,EAAE,cAAc;QACpBC,KAAK,EAAE;MACT,CAAC;MACDK,OAAO,EAAE;QACPN,IAAI,EAAE,mCAAmC;QACzCC,KAAK,EAAE;MACT,CAAC;MACDM,KAAK,EAAE;QACLP,IAAI,EAAE,gBAAgB;QACtBC,KAAK,EAAE;MACT,CAAC;MACDO,WAAW,EAAE;QACXR,IAAI,EAAE,6CAA6C;QACnDC,KAAK,EAAE;MACT;IACF,CAAC;IACDQ,IAAI,EAAE;MACJC,EAAE,EAAE;QAAEV,IAAI,EAAE,oBAAoB;QAAEC,KAAK,EAAE;MAAU,CAAC;MACpDU,EAAE,EAAE;QAAEX,IAAI,EAAE,WAAW;QAAEC,KAAK,EAAE;MAAY,CAAC;MAC7CW,EAAE,EAAE;QAAEZ,IAAI,EAAE,WAAW;QAAEC,KAAK,EAAE;MAAU,CAAC;MAC3CY,IAAI,EAAE;QAAEb,IAAI,EAAE;MAAiB;IACjC,CAAC;IACDc,QAAQ,EAAE;MACRC,IAAI,EAAE;QAAEf,IAAI,EAAE;MAAiB;IACjC;EACF,CAAC;EACDgB,eAAe,EAAE;IACfb,OAAO,EAAE,SAAS;IAClBM,IAAI,EAAE;EACR;AACF,CAAC,CAAC;AAaF,OAAO,MAAMQ,MAAM,gBAAG1B,UAAU,CAC9B,CACE;EAAE2B,QAAQ;EAAEC,SAAS;EAAEC,cAAc;EAAEjB,OAAO;EAAEM,IAAI;EAAEK,QAAQ;EAAE,GAAGO;AAAM,CAAC,EAC1EC,GAAG,KACA;EACH,MAAM;IAAEtB,IAAI;IAAEC;EAAM,CAAC,GAAGH,cAAc,CAAC;IAAEK,OAAO;IAAEM,IAAI;IAAEK,QAAQ,EAAE,CAAC,CAACA;EAAS,CAAC,CAAC;EAE/E,oBACEjB,IAAA,CAACH,iBAAiB;IAChB4B,GAAG,EAAEA,GAAI;IACTC,iBAAiB,EAAC,QAAQ;IAC1BC,kBAAkB,EAAE;MAAEV,QAAQ,EAAE,CAAC,CAACA;IAAS,CAAE;IAC7CA,QAAQ,EAAEA,QAAS;IACnBK,SAAS,EAAEnB,IAAI,CAAC;MAAEmB;IAAU,CAAC,CAAE;IAAA,GAC3BE,KAAK;IAAAH,QAAA,EAER,OAAOA,QAAQ,KAAK,QAAQ,gBAC3BrB,IAAA,CAACF,IAAI;MAACwB,SAAS,EAAElB,KAAK,CAAC;QAAEkB,SAAS,EAAEC;MAAe,CAAC,CAAE;MAAAF,QAAA,EAAEA;IAAQ,CAAO,CAAC,GACtE,aAAA1B,cAAc,CAAC0B,QAAQ,CAAC,GAC1BA,QAAQ,GAERA;EACD,CACgB,CAAC;AAExB,CACF,CAAC;AAEDD,MAAM,CAACQ,WAAW,GAAG,QAAQ","ignoreList":[]}
1
+ {"version":3,"names":["forwardRef","tv","AnimatedPressable","Text","Spinner","jsx","_jsx","jsxs","_jsxs","buttonVariants","slots","root","label","spinner","variants","variant","primary","secondary","outline","ghost","destructive","size","sm","md","lg","icon","fullWidth","true","disabled","defaultVariants","SPINNER_SIZE","Button","children","className","labelClassName","loading","startContent","endContent","props","ref","isDisabled","accessibilityRole","accessibilityState","busy","displayName"],"sourceRoot":"../../../../src","sources":["components/button/index.tsx"],"mappings":"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","ignoreList":[]}
@@ -10,7 +10,7 @@ const CardRoot = /*#__PURE__*/forwardRef(({
10
10
  ...props
11
11
  }, ref) => /*#__PURE__*/_jsx(View, {
12
12
  ref: ref,
13
- className: cn('rounded-xl border border-border bg-card shadow-sm', className),
13
+ className: cn('rounded-2xl border border-border bg-card shadow-sm', className),
14
14
  ...props
15
15
  }));
16
16
  CardRoot.displayName = 'Card';
@@ -19,7 +19,7 @@ const CardHeader = /*#__PURE__*/forwardRef(({
19
19
  ...props
20
20
  }, ref) => /*#__PURE__*/_jsx(View, {
21
21
  ref: ref,
22
- className: cn('gap-1.5 p-4', className),
22
+ className: cn('gap-1.5 p-6', className),
23
23
  ...props
24
24
  }));
25
25
  CardHeader.displayName = 'Card.Header';
@@ -30,7 +30,7 @@ const CardTitle = /*#__PURE__*/forwardRef(({
30
30
  ref: ref,
31
31
  size: "lg",
32
32
  weight: "semibold",
33
- className: cn('text-card-foreground', className),
33
+ className: cn('leading-none text-card-foreground', className),
34
34
  ...props
35
35
  }));
36
36
  CardTitle.displayName = 'Card.Title';
@@ -50,7 +50,7 @@ const CardContent = /*#__PURE__*/forwardRef(({
50
50
  ...props
51
51
  }, ref) => /*#__PURE__*/_jsx(View, {
52
52
  ref: ref,
53
- className: cn('p-4 pt-0', className),
53
+ className: cn('p-6 pt-0', className),
54
54
  ...props
55
55
  }));
56
56
  CardContent.displayName = 'Card.Content';
@@ -59,7 +59,7 @@ const CardFooter = /*#__PURE__*/forwardRef(({
59
59
  ...props
60
60
  }, ref) => /*#__PURE__*/_jsx(View, {
61
61
  ref: ref,
62
- className: cn('flex-row items-center gap-2 p-4 pt-0', className),
62
+ className: cn('flex-row items-center gap-2 p-6 pt-0', className),
63
63
  ...props
64
64
  }));
65
65
  CardFooter.displayName = 'Card.Footer';
@@ -1 +1 @@
1
- {"version":3,"names":["forwardRef","View","cn","Text","jsx","_jsx","CardRoot","className","props","ref","displayName","CardHeader","CardTitle","size","weight","CardDescription","muted","CardContent","CardFooter","Card","Object","assign","Header","Title","Description","Content","Footer"],"sourceRoot":"../../../../src","sources":["components/card/index.tsx"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,OAAO;AAClC,SAASC,IAAI,QAAwB,cAAc;AACnD,SAASC,EAAE,QAAQ,mBAAgB;AACnC,SAASC,IAAI,QAAwB,0BAAuB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAM7D,MAAMC,QAAQ,gBAAGN,UAAU,CAAkB,CAAC;EAAEO,SAAS;EAAE,GAAGC;AAAM,CAAC,EAAEC,GAAG,kBACxEJ,IAAA,CAACJ,IAAI;EACHQ,GAAG,EAAEA,GAAI;EACTF,SAAS,EAAEL,EAAE,CAAC,mDAAmD,EAAEK,SAAS,CAAE;EAAA,GAC1EC;AAAK,CACV,CACF,CAAC;AACFF,QAAQ,CAACI,WAAW,GAAG,MAAM;AAE7B,MAAMC,UAAU,gBAAGX,UAAU,CAAkB,CAAC;EAAEO,SAAS;EAAE,GAAGC;AAAM,CAAC,EAAEC,GAAG,kBAC1EJ,IAAA,CAACJ,IAAI;EAACQ,GAAG,EAAEA,GAAI;EAACF,SAAS,EAAEL,EAAE,CAAC,aAAa,EAAEK,SAAS,CAAE;EAAA,GAAKC;AAAK,CAAG,CACtE,CAAC;AACFG,UAAU,CAACD,WAAW,GAAG,aAAa;AAEtC,MAAME,SAAS,gBAAGZ,UAAU,CAC1B,CAAC;EAAEO,SAAS;EAAE,GAAGC;AAAM,CAAC,EAAEC,GAAG,kBAC3BJ,IAAA,CAACF,IAAI;EACHM,GAAG,EAAEA,GAAI;EACTI,IAAI,EAAC,IAAI;EACTC,MAAM,EAAC,UAAU;EACjBP,SAAS,EAAEL,EAAE,CAAC,sBAAsB,EAAEK,SAAS,CAAE;EAAA,GAC7CC;AAAK,CACV,CAEL,CAAC;AACDI,SAAS,CAACF,WAAW,GAAG,YAAY;AAEpC,MAAMK,eAAe,gBAAGf,UAAU,CAChC,CAAC;EAAEO,SAAS;EAAE,GAAGC;AAAM,CAAC,EAAEC,GAAG,kBAC3BJ,IAAA,CAACF,IAAI;EAACM,GAAG,EAAEA,GAAI;EAACI,IAAI,EAAC,IAAI;EAACG,KAAK;EAACT,SAAS,EAAEA,SAAU;EAAA,GAAKC;AAAK,CAAG,CAEtE,CAAC;AACDO,eAAe,CAACL,WAAW,GAAG,kBAAkB;AAEhD,MAAMO,WAAW,gBAAGjB,UAAU,CAAkB,CAAC;EAAEO,SAAS;EAAE,GAAGC;AAAM,CAAC,EAAEC,GAAG,kBAC3EJ,IAAA,CAACJ,IAAI;EAACQ,GAAG,EAAEA,GAAI;EAACF,SAAS,EAAEL,EAAE,CAAC,UAAU,EAAEK,SAAS,CAAE;EAAA,GAAKC;AAAK,CAAG,CACnE,CAAC;AACFS,WAAW,CAACP,WAAW,GAAG,cAAc;AAExC,MAAMQ,UAAU,gBAAGlB,UAAU,CAAkB,CAAC;EAAEO,SAAS;EAAE,GAAGC;AAAM,CAAC,EAAEC,GAAG,kBAC1EJ,IAAA,CAACJ,IAAI;EACHQ,GAAG,EAAEA,GAAI;EACTF,SAAS,EAAEL,EAAE,CAAC,sCAAsC,EAAEK,SAAS,CAAE;EAAA,GAC7DC;AAAK,CACV,CACF,CAAC;AACFU,UAAU,CAACR,WAAW,GAAG,aAAa;AAEtC,OAAO,MAAMS,IAAI,GAAGC,MAAM,CAACC,MAAM,CAACf,QAAQ,EAAE;EAC1CgB,MAAM,EAAEX,UAAU;EAClBY,KAAK,EAAEX,SAAS;EAChBY,WAAW,EAAET,eAAe;EAC5BU,OAAO,EAAER,WAAW;EACpBS,MAAM,EAAER;AACV,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["forwardRef","View","cn","Text","jsx","_jsx","CardRoot","className","props","ref","displayName","CardHeader","CardTitle","size","weight","CardDescription","muted","CardContent","CardFooter","Card","Object","assign","Header","Title","Description","Content","Footer"],"sourceRoot":"../../../../src","sources":["components/card/index.tsx"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,OAAO;AAClC,SAASC,IAAI,QAAwB,cAAc;AACnD,SAASC,EAAE,QAAQ,mBAAgB;AACnC,SAASC,IAAI,QAAwB,0BAAuB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAM7D,MAAMC,QAAQ,gBAAGN,UAAU,CAAkB,CAAC;EAAEO,SAAS;EAAE,GAAGC;AAAM,CAAC,EAAEC,GAAG,kBACxEJ,IAAA,CAACJ,IAAI;EACHQ,GAAG,EAAEA,GAAI;EACTF,SAAS,EAAEL,EAAE,CAAC,oDAAoD,EAAEK,SAAS,CAAE;EAAA,GAC3EC;AAAK,CACV,CACF,CAAC;AACFF,QAAQ,CAACI,WAAW,GAAG,MAAM;AAE7B,MAAMC,UAAU,gBAAGX,UAAU,CAAkB,CAAC;EAAEO,SAAS;EAAE,GAAGC;AAAM,CAAC,EAAEC,GAAG,kBAC1EJ,IAAA,CAACJ,IAAI;EAACQ,GAAG,EAAEA,GAAI;EAACF,SAAS,EAAEL,EAAE,CAAC,aAAa,EAAEK,SAAS,CAAE;EAAA,GAAKC;AAAK,CAAG,CACtE,CAAC;AACFG,UAAU,CAACD,WAAW,GAAG,aAAa;AAEtC,MAAME,SAAS,gBAAGZ,UAAU,CAC1B,CAAC;EAAEO,SAAS;EAAE,GAAGC;AAAM,CAAC,EAAEC,GAAG,kBAC3BJ,IAAA,CAACF,IAAI;EACHM,GAAG,EAAEA,GAAI;EACTI,IAAI,EAAC,IAAI;EACTC,MAAM,EAAC,UAAU;EACjBP,SAAS,EAAEL,EAAE,CAAC,mCAAmC,EAAEK,SAAS,CAAE;EAAA,GAC1DC;AAAK,CACV,CAEL,CAAC;AACDI,SAAS,CAACF,WAAW,GAAG,YAAY;AAEpC,MAAMK,eAAe,gBAAGf,UAAU,CAChC,CAAC;EAAEO,SAAS;EAAE,GAAGC;AAAM,CAAC,EAAEC,GAAG,kBAC3BJ,IAAA,CAACF,IAAI;EAACM,GAAG,EAAEA,GAAI;EAACI,IAAI,EAAC,IAAI;EAACG,KAAK;EAACT,SAAS,EAAEA,SAAU;EAAA,GAAKC;AAAK,CAAG,CAEtE,CAAC;AACDO,eAAe,CAACL,WAAW,GAAG,kBAAkB;AAEhD,MAAMO,WAAW,gBAAGjB,UAAU,CAAkB,CAAC;EAAEO,SAAS;EAAE,GAAGC;AAAM,CAAC,EAAEC,GAAG,kBAC3EJ,IAAA,CAACJ,IAAI;EAACQ,GAAG,EAAEA,GAAI;EAACF,SAAS,EAAEL,EAAE,CAAC,UAAU,EAAEK,SAAS,CAAE;EAAA,GAAKC;AAAK,CAAG,CACnE,CAAC;AACFS,WAAW,CAACP,WAAW,GAAG,cAAc;AAExC,MAAMQ,UAAU,gBAAGlB,UAAU,CAAkB,CAAC;EAAEO,SAAS;EAAE,GAAGC;AAAM,CAAC,EAAEC,GAAG,kBAC1EJ,IAAA,CAACJ,IAAI;EACHQ,GAAG,EAAEA,GAAI;EACTF,SAAS,EAAEL,EAAE,CAAC,sCAAsC,EAAEK,SAAS,CAAE;EAAA,GAC7DC;AAAK,CACV,CACF,CAAC;AACFU,UAAU,CAACR,WAAW,GAAG,aAAa;AAEtC,OAAO,MAAMS,IAAI,GAAGC,MAAM,CAACC,MAAM,CAACf,QAAQ,EAAE;EAC1CgB,MAAM,EAAEX,UAAU;EAClBY,KAAK,EAAEX,SAAS;EAChBY,WAAW,EAAET,eAAe;EAC5BU,OAAO,EAAER,WAAW;EACpBS,MAAM,EAAER;AACV,CAAC,CAAC","ignoreList":[]}
@@ -13,7 +13,9 @@ const checkboxVariants = tv({
13
13
  row: 'flex-row items-center gap-2.5',
14
14
  box: 'h-5 w-5 items-center justify-center rounded-md border border-input bg-background',
15
15
  fill: 'absolute inset-0 items-center justify-center rounded-md bg-primary',
16
- label: 'text-sm text-foreground'
16
+ content: 'flex-1 gap-0.5',
17
+ label: 'text-sm text-foreground',
18
+ description: 'text-sm text-muted-foreground'
17
19
  },
18
20
  variants: {
19
21
  disabled: {
@@ -28,13 +30,14 @@ export const Checkbox = /*#__PURE__*/forwardRef(({
28
30
  checked,
29
31
  onCheckedChange,
30
32
  disabled,
31
- label
33
+ label,
34
+ description
32
35
  }, ref) => {
33
36
  const progress = useSharedValue(checked ? 1 : 0);
34
37
  const slots = checkboxVariants({
35
38
  disabled: !!disabled
36
39
  });
37
- const checkColor = useCSSVariable('--primary-foreground');
40
+ const checkColor = useCSSVariable('--color-primary-foreground');
38
41
  useEffect(() => {
39
42
  progress.value = checked ? withSpring(1, {
40
43
  damping: 15,
@@ -58,11 +61,15 @@ export const Checkbox = /*#__PURE__*/forwardRef(({
58
61
  disabled: !!disabled
59
62
  },
60
63
  accessibilityLabel: label,
64
+ accessibilityHint: description,
61
65
  disabled: disabled,
62
66
  onPress: () => onCheckedChange?.(!checked),
63
- hitSlop: 8,
67
+ hitSlop: 8
68
+ // A description makes the row two lines tall — align the box to the
69
+ // label rather than centring it against the whole block.
70
+ ,
64
71
  className: slots.row({
65
- className
72
+ className: description ? `items-start ${className ?? ''}` : className
66
73
  }),
67
74
  children: [/*#__PURE__*/_jsx(View, {
68
75
  className: slots.box(),
@@ -74,9 +81,15 @@ export const Checkbox = /*#__PURE__*/forwardRef(({
74
81
  color: typeof checkColor === 'string' ? checkColor : '#fff'
75
82
  })
76
83
  })
77
- }), label ? /*#__PURE__*/_jsx(Text, {
78
- className: slots.label(),
79
- children: label
84
+ }), label || description ? /*#__PURE__*/_jsxs(View, {
85
+ className: slots.content(),
86
+ children: [label ? /*#__PURE__*/_jsx(Text, {
87
+ className: slots.label(),
88
+ children: label
89
+ }) : null, description ? /*#__PURE__*/_jsx(Text, {
90
+ className: slots.description(),
91
+ children: description
92
+ }) : null]
80
93
  }) : null]
81
94
  });
82
95
  });
@@ -1 +1 @@
1
- {"version":3,"names":["forwardRef","useEffect","Pressable","View","Animated","useAnimatedStyle","useSharedValue","withSpring","withTiming","tv","useCSSVariable","CheckIcon","Text","jsx","_jsx","jsxs","_jsxs","checkboxVariants","slots","row","box","fill","label","variants","disabled","true","Checkbox","className","checked","onCheckedChange","ref","progress","checkColor","value","damping","stiffness","mass","duration","fillStyle","opacity","transform","scale","accessibilityRole","accessibilityState","accessibilityLabel","onPress","hitSlop","children","style","size","color","displayName"],"sourceRoot":"../../../../src","sources":["components/checkbox/index.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["forwardRef","useEffect","Pressable","View","Animated","useAnimatedStyle","useSharedValue","withSpring","withTiming","tv","useCSSVariable","CheckIcon","Text","jsx","_jsx","jsxs","_jsxs","checkboxVariants","slots","row","box","fill","content","label","description","variants","disabled","true","Checkbox","className","checked","onCheckedChange","ref","progress","checkColor","value","damping","stiffness","mass","duration","fillStyle","opacity","transform","scale","accessibilityRole","accessibilityState","accessibilityLabel","accessibilityHint","onPress","hitSlop","children","style","size","color","displayName"],"sourceRoot":"../../../../src","sources":["components/checkbox/index.tsx"],"mappings":"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","ignoreList":[]}
@@ -58,28 +58,32 @@ function DialogContent({
58
58
  children,
59
59
  ...props
60
60
  }) {
61
+ const context = useDialog('Dialog.Content');
61
62
  const {
62
63
  open,
63
64
  setOpen
64
- } = useDialog('Dialog.Content');
65
+ } = context;
65
66
  if (!open) return null;
66
67
  return /*#__PURE__*/_jsx(Portal, {
67
- children: /*#__PURE__*/_jsxs(Animated.View, {
68
- entering: FadeIn.duration(150),
69
- exiting: FadeOut.duration(150),
70
- className: "absolute inset-0 items-center justify-center p-6",
71
- children: [/*#__PURE__*/_jsx(Pressable, {
72
- accessibilityLabel: "Close dialog",
73
- className: "absolute inset-0 bg-black/50",
74
- onPress: dismissible ? () => setOpen(false) : undefined
75
- }), /*#__PURE__*/_jsx(Animated.View, {
76
- entering: ZoomIn.springify().damping(18).stiffness(250).mass(0.6),
77
- exiting: FadeOut.duration(120),
78
- accessibilityViewIsModal: true,
79
- className: cn('w-full max-w-sm gap-1.5 rounded-2xl border border-border bg-popover p-5 shadow-lg', className),
80
- ...props,
81
- children: children
82
- })]
68
+ children: /*#__PURE__*/_jsx(DialogContext.Provider, {
69
+ value: context,
70
+ children: /*#__PURE__*/_jsxs(Animated.View, {
71
+ entering: FadeIn.duration(150),
72
+ exiting: FadeOut.duration(150),
73
+ className: "absolute inset-0 items-center justify-center p-6",
74
+ children: [/*#__PURE__*/_jsx(Pressable, {
75
+ accessibilityLabel: "Close dialog",
76
+ className: "absolute inset-0 bg-black/50",
77
+ onPress: dismissible ? () => setOpen(false) : undefined
78
+ }), /*#__PURE__*/_jsx(Animated.View, {
79
+ entering: ZoomIn.springify().damping(18).stiffness(250).mass(0.6),
80
+ exiting: FadeOut.duration(120),
81
+ accessibilityViewIsModal: true,
82
+ className: cn('w-full max-w-sm gap-1.5 rounded-2xl border border-border bg-popover p-5 shadow-lg', className),
83
+ ...props,
84
+ children: children
85
+ })]
86
+ })
83
87
  })
84
88
  });
85
89
  }
@@ -1 +1 @@
1
- {"version":3,"names":["cloneElement","createContext","forwardRef","isValidElement","useCallback","useContext","useMemo","useState","Pressable","View","Animated","FadeIn","FadeOut","ZoomIn","Portal","Text","cn","jsx","_jsx","jsxs","_jsxs","DialogContext","useDialog","component","context","Error","DialogRoot","children","open","onOpenChange","defaultOpen","internalOpen","setInternalOpen","isControlled","undefined","resolvedOpen","setOpen","next","Provider","value","DialogTrigger","onPress","args","props","DialogContent","className","dismissible","entering","duration","exiting","accessibilityLabel","springify","damping","stiffness","mass","accessibilityViewIsModal","DialogTitle","ref","size","weight","displayName","DialogDescription","muted","DialogFooter","DialogClose","Dialog","Object","assign","Trigger","Content","Title","Description","Footer","Close"],"sourceRoot":"../../../../src","sources":["components/dialog/index.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["cloneElement","createContext","forwardRef","isValidElement","useCallback","useContext","useMemo","useState","Pressable","View","Animated","FadeIn","FadeOut","ZoomIn","Portal","Text","cn","jsx","_jsx","jsxs","_jsxs","DialogContext","useDialog","component","context","Error","DialogRoot","children","open","onOpenChange","defaultOpen","internalOpen","setInternalOpen","isControlled","undefined","resolvedOpen","setOpen","next","Provider","value","DialogTrigger","onPress","args","props","DialogContent","className","dismissible","entering","duration","exiting","accessibilityLabel","springify","damping","stiffness","mass","accessibilityViewIsModal","DialogTitle","ref","size","weight","displayName","DialogDescription","muted","DialogFooter","DialogClose","Dialog","Object","assign","Trigger","Content","Title","Description","Footer","Close"],"sourceRoot":"../../../../src","sources":["components/dialog/index.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,178 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * EmptyState — the placeholder shown when a list or view has no content.
5
+ *
6
+ * Adapted from: cosscom/coss packages/ui/src/components/empty.tsx
7
+ * (centered Header / Media / Title / Description / Content anatomy, and the
8
+ * `icon` media variant that stacks two rotated ghost cards behind the icon).
9
+ * Coss does that with CSS pseudo-elements; on native it is two absolutely
10
+ * positioned siblings with static rotate transforms.
11
+ */
12
+ import { forwardRef } from 'react';
13
+ import { View } from 'react-native';
14
+ import { tv } from 'tailwind-variants';
15
+ import { Text } from "../../primitives/text.js";
16
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
17
+ const emptyStateVariants = tv({
18
+ slots: {
19
+ root: 'w-full flex-1 items-center justify-center gap-6 px-6 py-12',
20
+ header: 'w-full max-w-sm items-center gap-1',
21
+ title: 'text-center text-xl font-semibold text-foreground',
22
+ description: 'text-center text-sm text-muted-foreground',
23
+ content: 'w-full max-w-sm items-center gap-3'
24
+ }
25
+ });
26
+ const mediaVariants = tv({
27
+ slots: {
28
+ wrapper: 'items-center justify-center',
29
+ card: 'h-9 w-9 shrink-0 items-center justify-center',
30
+ ghost: 'absolute h-9 w-9 rounded-md border border-border bg-card'
31
+ },
32
+ variants: {
33
+ variant: {
34
+ default: {
35
+ card: 'bg-transparent',
36
+ ghost: 'hidden'
37
+ },
38
+ icon: {
39
+ card: 'rounded-md border border-border bg-card'
40
+ }
41
+ }
42
+ },
43
+ defaultVariants: {
44
+ variant: 'default'
45
+ }
46
+ });
47
+ const EmptyStateRoot = /*#__PURE__*/forwardRef(({
48
+ className,
49
+ ...props
50
+ }, ref) => {
51
+ const {
52
+ root
53
+ } = emptyStateVariants();
54
+ return /*#__PURE__*/_jsx(View, {
55
+ ref: ref,
56
+ className: root({
57
+ className
58
+ }),
59
+ ...props
60
+ });
61
+ });
62
+ EmptyStateRoot.displayName = 'EmptyState';
63
+
64
+ /** Groups Media, Title and Description into one centered column. */
65
+ const EmptyStateHeader = /*#__PURE__*/forwardRef(({
66
+ className,
67
+ ...props
68
+ }, ref) => {
69
+ const {
70
+ header
71
+ } = emptyStateVariants();
72
+ return /*#__PURE__*/_jsx(View, {
73
+ ref: ref,
74
+ className: header({
75
+ className
76
+ }),
77
+ ...props
78
+ });
79
+ });
80
+ EmptyStateHeader.displayName = 'EmptyState.Header';
81
+ /**
82
+ * Visual anchor above the title. `variant="icon"` frames the child in a small
83
+ * card with two rotated ghost cards fanned out behind it.
84
+ */
85
+ const EmptyStateMedia = /*#__PURE__*/forwardRef(({
86
+ className,
87
+ variant = 'default',
88
+ children,
89
+ ...props
90
+ }, ref) => {
91
+ const {
92
+ wrapper,
93
+ card,
94
+ ghost
95
+ } = mediaVariants({
96
+ variant
97
+ });
98
+ return /*#__PURE__*/_jsxs(View, {
99
+ ref: ref,
100
+ className: wrapper({
101
+ className: `mb-4 ${className ?? ''}`
102
+ }),
103
+ ...props,
104
+ children: [variant === 'icon' ? /*#__PURE__*/_jsxs(_Fragment, {
105
+ children: [/*#__PURE__*/_jsx(View, {
106
+ accessibilityElementsHidden: true,
107
+ importantForAccessibility: "no-hide-descendants",
108
+ className: `${ghost()} -translate-x-2 -rotate-[10deg] scale-90`
109
+ }), /*#__PURE__*/_jsx(View, {
110
+ accessibilityElementsHidden: true,
111
+ importantForAccessibility: "no-hide-descendants",
112
+ className: `${ghost()} translate-x-2 rotate-[10deg] scale-90`
113
+ })]
114
+ }) : null, /*#__PURE__*/_jsx(View, {
115
+ className: card(),
116
+ children: children
117
+ })]
118
+ });
119
+ });
120
+ EmptyStateMedia.displayName = 'EmptyState.Media';
121
+ const EmptyStateTitle = /*#__PURE__*/forwardRef(({
122
+ className,
123
+ ...props
124
+ }, ref) => {
125
+ const {
126
+ title
127
+ } = emptyStateVariants();
128
+ return /*#__PURE__*/_jsx(Text, {
129
+ ref: ref,
130
+ className: title({
131
+ className
132
+ }),
133
+ ...props
134
+ });
135
+ });
136
+ EmptyStateTitle.displayName = 'EmptyState.Title';
137
+ const EmptyStateDescription = /*#__PURE__*/forwardRef(({
138
+ className,
139
+ ...props
140
+ }, ref) => {
141
+ const {
142
+ description
143
+ } = emptyStateVariants();
144
+ return /*#__PURE__*/_jsx(Text, {
145
+ ref: ref,
146
+ className: description({
147
+ className
148
+ }),
149
+ ...props
150
+ });
151
+ });
152
+ EmptyStateDescription.displayName = 'EmptyState.Description';
153
+
154
+ /** Slot below the header, for actions such as a primary button. */
155
+ const EmptyStateContent = /*#__PURE__*/forwardRef(({
156
+ className,
157
+ ...props
158
+ }, ref) => {
159
+ const {
160
+ content
161
+ } = emptyStateVariants();
162
+ return /*#__PURE__*/_jsx(View, {
163
+ ref: ref,
164
+ className: content({
165
+ className
166
+ }),
167
+ ...props
168
+ });
169
+ });
170
+ EmptyStateContent.displayName = 'EmptyState.Content';
171
+ export const EmptyState = Object.assign(EmptyStateRoot, {
172
+ Header: EmptyStateHeader,
173
+ Media: EmptyStateMedia,
174
+ Title: EmptyStateTitle,
175
+ Description: EmptyStateDescription,
176
+ Content: EmptyStateContent
177
+ });
178
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["forwardRef","View","tv","Text","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","emptyStateVariants","slots","root","header","title","description","content","mediaVariants","wrapper","card","ghost","variants","variant","default","icon","defaultVariants","EmptyStateRoot","className","props","ref","displayName","EmptyStateHeader","EmptyStateMedia","children","accessibilityElementsHidden","importantForAccessibility","EmptyStateTitle","EmptyStateDescription","EmptyStateContent","EmptyState","Object","assign","Header","Media","Title","Description","Content"],"sourceRoot":"../../../../src","sources":["components/empty-state/index.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+
3
+ import { forwardRef } from 'react';
4
+ import { View } from 'react-native';
5
+ import { Text } from "../../primitives/text.js";
6
+ import { cn } from "../../utils/cn.js";
7
+ import { jsx as _jsx } from "react/jsx-runtime";
8
+ /**
9
+ * Grouping container (Coss UI's CardFrame): a tinted, rounded surface that
10
+ * holds a header, one or more inset panels, and a footer. Use it to group
11
+ * related settings or list sections under a single title.
12
+ */
13
+ const FrameRoot = /*#__PURE__*/forwardRef(({
14
+ className,
15
+ ...props
16
+ }, ref) => /*#__PURE__*/_jsx(View, {
17
+ ref: ref,
18
+ className: cn('gap-2 rounded-2xl border border-border bg-surface py-2', className),
19
+ ...props
20
+ }));
21
+ FrameRoot.displayName = 'Frame';
22
+ const FrameHeader = /*#__PURE__*/forwardRef(({
23
+ className,
24
+ ...props
25
+ }, ref) => /*#__PURE__*/_jsx(View, {
26
+ ref: ref,
27
+ className: cn('gap-1 px-5 py-2', className),
28
+ ...props
29
+ }));
30
+ FrameHeader.displayName = 'Frame.Header';
31
+ const FrameTitle = /*#__PURE__*/forwardRef(({
32
+ className,
33
+ ...props
34
+ }, ref) => /*#__PURE__*/_jsx(Text, {
35
+ ref: ref,
36
+ size: "base",
37
+ weight: "semibold",
38
+ className: cn('text-foreground', className),
39
+ ...props
40
+ }));
41
+ FrameTitle.displayName = 'Frame.Title';
42
+ const FrameDescription = /*#__PURE__*/forwardRef(({
43
+ className,
44
+ ...props
45
+ }, ref) => /*#__PURE__*/_jsx(Text, {
46
+ ref: ref,
47
+ size: "sm",
48
+ muted: true,
49
+ className: className,
50
+ ...props
51
+ }));
52
+ FrameDescription.displayName = 'Frame.Description';
53
+
54
+ /**
55
+ * An inset card surface inside a Frame — the raised panel that holds the
56
+ * frame's actual content, sitting slightly in from the frame's edges.
57
+ */
58
+ const FramePanel = /*#__PURE__*/forwardRef(({
59
+ className,
60
+ ...props
61
+ }, ref) => /*#__PURE__*/_jsx(View, {
62
+ ref: ref,
63
+ className: cn('mx-1.5 overflow-hidden rounded-xl border border-border bg-card', className),
64
+ ...props
65
+ }));
66
+ FramePanel.displayName = 'Frame.Panel';
67
+
68
+ /**
69
+ * A row inside a Frame.Panel. Pass `divided` on every row after the first to
70
+ * draw a hairline separator above it (React Native has no :first-child).
71
+ */
72
+
73
+ const FrameRow = /*#__PURE__*/forwardRef(({
74
+ className,
75
+ divided,
76
+ ...props
77
+ }, ref) => /*#__PURE__*/_jsx(View, {
78
+ ref: ref,
79
+ className: cn('flex-row items-center gap-3 px-4 py-3.5', divided && 'border-t border-border', className),
80
+ ...props
81
+ }));
82
+ FrameRow.displayName = 'Frame.Row';
83
+ const FrameFooter = /*#__PURE__*/forwardRef(({
84
+ className,
85
+ ...props
86
+ }, ref) => /*#__PURE__*/_jsx(View, {
87
+ ref: ref,
88
+ className: cn('flex-row items-center gap-2 px-5 py-2', className),
89
+ ...props
90
+ }));
91
+ FrameFooter.displayName = 'Frame.Footer';
92
+ export const Frame = Object.assign(FrameRoot, {
93
+ Header: FrameHeader,
94
+ Title: FrameTitle,
95
+ Description: FrameDescription,
96
+ Panel: FramePanel,
97
+ Row: FrameRow,
98
+ Footer: FrameFooter
99
+ });
100
+ //# sourceMappingURL=index.js.map