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,5 +1,15 @@
1
+ /**
2
+ * Alert — a status message with an optional leading status icon.
3
+ *
4
+ * Adapted from: heroui-inc/heroui-native src/components/alert/alert.tsx
5
+ * (Indicator / Content / Title / Description anatomy, status-driven icon and
6
+ * title colour), restyled with Coss UI tokens.
7
+ *
8
+ * The `variant` prop name is kept from PanelUI v0.2 rather than renamed to
9
+ * HeroUI's `status`, so existing code keeps working.
10
+ */
1
11
  import { type ReactNode } from 'react';
2
- import { View, type ViewProps } from 'react-native';
12
+ import { View, type Text as RNText, type ViewProps } from 'react-native';
3
13
  import { type VariantProps } from 'tailwind-variants';
4
14
  import { type TextProps } from '../../primitives/text.js';
5
15
  declare const alertVariants: import("tailwind-variants").TVReturnType<{
@@ -7,31 +17,28 @@ declare const alertVariants: import("tailwind-variants").TVReturnType<{
7
17
  default: {
8
18
  root: string;
9
19
  title: string;
10
- description: string;
11
20
  };
12
21
  info: {
13
22
  root: string;
14
23
  title: string;
15
- description: string;
16
24
  };
17
25
  success: {
18
26
  root: string;
19
27
  title: string;
20
- description: string;
21
28
  };
22
29
  warning: {
23
30
  root: string;
24
31
  title: string;
25
- description: string;
26
32
  };
27
33
  destructive: {
28
34
  root: string;
29
35
  title: string;
30
- description: string;
31
36
  };
32
37
  };
33
38
  }, {
34
39
  root: string;
40
+ indicator: string;
41
+ content: string;
35
42
  title: string;
36
43
  description: string;
37
44
  }, undefined, {
@@ -39,31 +46,28 @@ declare const alertVariants: import("tailwind-variants").TVReturnType<{
39
46
  default: {
40
47
  root: string;
41
48
  title: string;
42
- description: string;
43
49
  };
44
50
  info: {
45
51
  root: string;
46
52
  title: string;
47
- description: string;
48
53
  };
49
54
  success: {
50
55
  root: string;
51
56
  title: string;
52
- description: string;
53
57
  };
54
58
  warning: {
55
59
  root: string;
56
60
  title: string;
57
- description: string;
58
61
  };
59
62
  destructive: {
60
63
  root: string;
61
64
  title: string;
62
- description: string;
63
65
  };
64
66
  };
65
67
  }, {
66
68
  root: string;
69
+ indicator: string;
70
+ content: string;
67
71
  title: string;
68
72
  description: string;
69
73
  }, import("tailwind-variants").TVReturnType<{
@@ -71,43 +75,61 @@ declare const alertVariants: import("tailwind-variants").TVReturnType<{
71
75
  default: {
72
76
  root: string;
73
77
  title: string;
74
- description: string;
75
78
  };
76
79
  info: {
77
80
  root: string;
78
81
  title: string;
79
- description: string;
80
82
  };
81
83
  success: {
82
84
  root: string;
83
85
  title: string;
84
- description: string;
85
86
  };
86
87
  warning: {
87
88
  root: string;
88
89
  title: string;
89
- description: string;
90
90
  };
91
91
  destructive: {
92
92
  root: string;
93
93
  title: string;
94
- description: string;
95
94
  };
96
95
  };
97
96
  }, {
98
97
  root: string;
98
+ indicator: string;
99
+ content: string;
99
100
  title: string;
100
101
  description: string;
101
102
  }, undefined, unknown, unknown, undefined>>;
102
103
  export interface AlertProps extends ViewProps, VariantProps<typeof alertVariants> {
103
104
  className?: string;
104
- /** Optional leading icon rendered before the content. */
105
+ /**
106
+ * Leading element rendered before the content.
107
+ *
108
+ * @deprecated Prefer `<Alert.Indicator>`, which picks a status icon for you.
109
+ * Still honoured so v0.2 call sites keep rendering.
110
+ */
105
111
  icon?: ReactNode;
106
112
  children?: ReactNode;
107
113
  }
114
+ export interface AlertIndicatorProps extends ViewProps {
115
+ className?: string;
116
+ /** Overrides the size/colour of the default status icon. */
117
+ iconProps?: {
118
+ size?: number;
119
+ color?: string;
120
+ };
121
+ /** Replaces the default status icon entirely. */
122
+ children?: ReactNode;
123
+ }
108
124
  export declare const Alert: import("react").ForwardRefExoticComponent<AlertProps & import("react").RefAttributes<View>> & {
109
- Title: import("react").ForwardRefExoticComponent<TextProps & import("react").RefAttributes<import("react-native").Text>>;
110
- Description: import("react").ForwardRefExoticComponent<TextProps & import("react").RefAttributes<import("react-native").Text>>;
125
+ /** @optional Status icon rendered as the leading visual element. */
126
+ Indicator: import("react").ForwardRefExoticComponent<AlertIndicatorProps & import("react").RefAttributes<View>>;
127
+ /** @optional Wrapper for title and description. */
128
+ Content: import("react").ForwardRefExoticComponent<ViewProps & {
129
+ className?: string;
130
+ } & import("react").RefAttributes<View>>;
131
+ Title: import("react").ForwardRefExoticComponent<TextProps & import("react").RefAttributes<RNText>>;
132
+ Description: import("react").ForwardRefExoticComponent<TextProps & import("react").RefAttributes<RNText>>;
111
133
  };
112
134
  export {};
113
135
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/alert/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAyC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAC9E,OAAO,EAAE,IAAI,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAM,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAE1D,OAAO,EAAQ,KAAK,SAAS,EAAE,MAAM,0BAAuB,CAAC;AAE7D,QAAA,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2CAsCjB,CAAC;AAMH,MAAM,WAAW,UAAW,SAAQ,SAAS,EAAE,YAAY,CAAC,OAAO,aAAa,CAAC;IAC/E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AA+CD,eAAO,MAAM,KAAK;;;CAGhB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/alert/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAyC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAC9E,OAAO,EAAE,IAAI,EAAE,KAAK,IAAI,IAAI,MAAM,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AACzE,OAAO,EAAM,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAG1D,OAAO,EAAQ,KAAK,SAAS,EAAE,MAAM,0BAAuB,CAAC;AAG7D,QAAA,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2CAmCjB,CAAC;AAuBH,MAAM,WAAW,UAAW,SAAQ,SAAS,EAAE,YAAY,CAAC,OAAO,aAAa,CAAC;IAC/E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AA6BD,MAAM,WAAW,mBAAoB,SAAQ,SAAS;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4DAA4D;IAC5D,SAAS,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9C,iDAAiD;IACjD,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAqDD,eAAO,MAAM,KAAK;IAChB,oEAAoE;;IAEpE,mDAAmD;;oBA9BW,MAAM;;;;CAkCpE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/bottom-sheet/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,YAAY,EACjB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,EAAwC,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAoCpF,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,SAAS,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,iBAAS,eAAe,CAAC,EACvB,QAAQ,EACR,IAAI,EACJ,YAAY,EACZ,WAAmB,GACpB,EAAE,gBAAgB,+BAuBlB;AAED,UAAU,uBAAuB;IAC/B,QAAQ,EAAE,YAAY,CAAC;QAAE,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;KAAE,CAAC,CAAC;CACpE;AAED,iBAAS,kBAAkB,CAAC,EAAE,QAAQ,EAAE,EAAE,uBAAuB;cAH5B,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI;wDAahE;AAED,MAAM,WAAW,uBAAwB,SAAQ,SAAS;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0DAA0D;IAC1D,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,iBAAS,kBAAkB,CAAC,EAC1B,SAAS,EACT,WAAkB,EAClB,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,uBAAuB,sCAoEzB;AAED,eAAO,MAAM,WAAW;;;CAGtB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/bottom-sheet/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,YAAY,EACjB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,EAAwC,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAoCpF,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,SAAS,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,iBAAS,eAAe,CAAC,EACvB,QAAQ,EACR,IAAI,EACJ,YAAY,EACZ,WAAmB,GACpB,EAAE,gBAAgB,+BAuBlB;AAED,UAAU,uBAAuB;IAC/B,QAAQ,EAAE,YAAY,CAAC;QAAE,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;KAAE,CAAC,CAAC;CACpE;AAED,iBAAS,kBAAkB,CAAC,EAAE,QAAQ,EAAE,EAAE,uBAAuB;cAH5B,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI;wDAahE;AAED,MAAM,WAAW,uBAAwB,SAAQ,SAAS;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0DAA0D;IAC1D,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,iBAAS,kBAAkB,CAAC,EAC1B,SAAS,EACT,WAAkB,EAClB,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,uBAAuB,sCAyEzB;AAED,eAAO,MAAM,WAAW;;;CAGtB,CAAC"}
@@ -7,22 +7,27 @@ declare const buttonVariants: import("tailwind-variants").TVReturnType<{
7
7
  primary: {
8
8
  root: string;
9
9
  label: string;
10
+ spinner: string;
10
11
  };
11
12
  secondary: {
12
13
  root: string;
13
14
  label: string;
15
+ spinner: string;
14
16
  };
15
17
  outline: {
16
18
  root: string;
17
19
  label: string;
20
+ spinner: string;
18
21
  };
19
22
  ghost: {
20
23
  root: string;
21
24
  label: string;
25
+ spinner: string;
22
26
  };
23
27
  destructive: {
24
28
  root: string;
25
29
  label: string;
30
+ spinner: string;
26
31
  };
27
32
  };
28
33
  size: {
@@ -42,6 +47,11 @@ declare const buttonVariants: import("tailwind-variants").TVReturnType<{
42
47
  root: string;
43
48
  };
44
49
  };
50
+ fullWidth: {
51
+ true: {
52
+ root: string;
53
+ };
54
+ };
45
55
  disabled: {
46
56
  true: {
47
57
  root: string;
@@ -50,27 +60,33 @@ declare const buttonVariants: import("tailwind-variants").TVReturnType<{
50
60
  }, {
51
61
  root: string;
52
62
  label: string;
63
+ spinner: string;
53
64
  }, undefined, {
54
65
  variant: {
55
66
  primary: {
56
67
  root: string;
57
68
  label: string;
69
+ spinner: string;
58
70
  };
59
71
  secondary: {
60
72
  root: string;
61
73
  label: string;
74
+ spinner: string;
62
75
  };
63
76
  outline: {
64
77
  root: string;
65
78
  label: string;
79
+ spinner: string;
66
80
  };
67
81
  ghost: {
68
82
  root: string;
69
83
  label: string;
84
+ spinner: string;
70
85
  };
71
86
  destructive: {
72
87
  root: string;
73
88
  label: string;
89
+ spinner: string;
74
90
  };
75
91
  };
76
92
  size: {
@@ -90,6 +106,11 @@ declare const buttonVariants: import("tailwind-variants").TVReturnType<{
90
106
  root: string;
91
107
  };
92
108
  };
109
+ fullWidth: {
110
+ true: {
111
+ root: string;
112
+ };
113
+ };
93
114
  disabled: {
94
115
  true: {
95
116
  root: string;
@@ -98,27 +119,33 @@ declare const buttonVariants: import("tailwind-variants").TVReturnType<{
98
119
  }, {
99
120
  root: string;
100
121
  label: string;
122
+ spinner: string;
101
123
  }, import("tailwind-variants").TVReturnType<{
102
124
  variant: {
103
125
  primary: {
104
126
  root: string;
105
127
  label: string;
128
+ spinner: string;
106
129
  };
107
130
  secondary: {
108
131
  root: string;
109
132
  label: string;
133
+ spinner: string;
110
134
  };
111
135
  outline: {
112
136
  root: string;
113
137
  label: string;
138
+ spinner: string;
114
139
  };
115
140
  ghost: {
116
141
  root: string;
117
142
  label: string;
143
+ spinner: string;
118
144
  };
119
145
  destructive: {
120
146
  root: string;
121
147
  label: string;
148
+ spinner: string;
122
149
  };
123
150
  };
124
151
  size: {
@@ -138,6 +165,11 @@ declare const buttonVariants: import("tailwind-variants").TVReturnType<{
138
165
  root: string;
139
166
  };
140
167
  };
168
+ fullWidth: {
169
+ true: {
170
+ root: string;
171
+ };
172
+ };
141
173
  disabled: {
142
174
  true: {
143
175
  root: string;
@@ -146,11 +178,18 @@ declare const buttonVariants: import("tailwind-variants").TVReturnType<{
146
178
  }, {
147
179
  root: string;
148
180
  label: string;
181
+ spinner: string;
149
182
  }, undefined, unknown, unknown, undefined>>;
150
183
  type ButtonVariantProps = VariantProps<typeof buttonVariants>;
151
184
  export interface ButtonProps extends Omit<AnimatedPressableProps, 'children' | 'disabled'>, Omit<ButtonVariantProps, 'disabled'> {
152
185
  children?: ReactNode;
153
186
  disabled?: boolean;
187
+ /** Show a spinner and block presses while an action is in flight. */
188
+ loading?: boolean;
189
+ /** Content rendered before the label (replaced by the spinner while loading). */
190
+ startContent?: ReactNode;
191
+ /** Content rendered after the label. */
192
+ endContent?: ReactNode;
154
193
  /** Extra classes for the label when children is a string. */
155
194
  labelClassName?: string;
156
195
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/button/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA8B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACnE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAM,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,wCAAqC,CAAC;AAG7C,QAAA,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2CA0ClB,CAAC;AAEH,KAAK,kBAAkB,GAAG,YAAY,CAAC,OAAO,cAAc,CAAC,CAAC;AAE9D,MAAM,WAAW,WACf,SAAQ,IAAI,CAAC,sBAAsB,EAAE,UAAU,GAAG,UAAU,CAAC,EAC3D,IAAI,CAAC,kBAAkB,EAAE,UAAU,CAAC;IACtC,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,6DAA6D;IAC7D,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,MAAM,8FA0BlB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/button/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAM,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,wCAAqC,CAAC;AAI7C,QAAA,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2CAmDlB,CAAC;AAEH,KAAK,kBAAkB,GAAG,YAAY,CAAC,OAAO,cAAc,CAAC,CAAC;AAI9D,MAAM,WAAW,WACf,SAAQ,IAAI,CAAC,sBAAsB,EAAE,UAAU,GAAG,UAAU,CAAC,EAC3D,IAAI,CAAC,kBAAkB,EAAE,UAAU,CAAC;IACtC,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qEAAqE;IACrE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,iFAAiF;IACjF,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,wCAAwC;IACxC,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,6DAA6D;IAC7D,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,MAAM,8FAgDlB,CAAC"}
@@ -10,7 +10,9 @@ declare const checkboxVariants: import("tailwind-variants").TVReturnType<{
10
10
  row: string;
11
11
  box: string;
12
12
  fill: string;
13
+ content: string;
13
14
  label: string;
15
+ description: string;
14
16
  }, undefined, {
15
17
  disabled: {
16
18
  true: {
@@ -21,7 +23,9 @@ declare const checkboxVariants: import("tailwind-variants").TVReturnType<{
21
23
  row: string;
22
24
  box: string;
23
25
  fill: string;
26
+ content: string;
24
27
  label: string;
28
+ description: string;
25
29
  }, import("tailwind-variants").TVReturnType<{
26
30
  disabled: {
27
31
  true: {
@@ -32,7 +36,9 @@ declare const checkboxVariants: import("tailwind-variants").TVReturnType<{
32
36
  row: string;
33
37
  box: string;
34
38
  fill: string;
39
+ content: string;
35
40
  label: string;
41
+ description: string;
36
42
  }, undefined, unknown, unknown, undefined>>;
37
43
  export interface CheckboxProps extends VariantProps<typeof checkboxVariants> {
38
44
  className?: string;
@@ -41,6 +47,8 @@ export interface CheckboxProps extends VariantProps<typeof checkboxVariants> {
41
47
  disabled?: boolean;
42
48
  /** Optional label rendered next to the box; pressing it also toggles. */
43
49
  label?: string;
50
+ /** Secondary line under the label, for extra context. */
51
+ description?: string;
44
52
  }
45
53
  export declare const Checkbox: import("react").ForwardRefExoticComponent<CheckboxProps & import("react").RefAttributes<View>>;
46
54
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/checkbox/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAa,IAAI,EAAE,MAAM,cAAc,CAAC;AAO/C,OAAO,EAAM,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAK1D,QAAA,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2CAYpB,CAAC;AAEH,MAAM,WAAW,aAAc,SAAQ,YAAY,CAAC,OAAO,gBAAgB,CAAC;IAC1E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,yEAAyE;IACzE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,QAAQ,gGAwCpB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/checkbox/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAa,IAAI,EAAE,MAAM,cAAc,CAAC;AAO/C,OAAO,EAAM,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAK1D,QAAA,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2CAcpB,CAAC;AAEH,MAAM,WAAW,aAAc,SAAQ,YAAY,CAAC,OAAO,gBAAgB,CAAC;IAC1E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,yEAAyE;IACzE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yDAAyD;IACzD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,QAAQ,gGAkDpB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/dialog/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EASL,KAAK,YAAY,EACjB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAG/D,OAAO,EAAQ,KAAK,SAAS,EAAE,MAAM,0BAAuB,CAAC;AAkB7D,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,SAAS,CAAC;IACpB,6BAA6B;IAC7B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,uCAAuC;IACvC,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,iBAAS,UAAU,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,WAAmB,EAAE,EAAE,WAAW,+BAmBrF;AAED,UAAU,kBAAkB;IAC1B,QAAQ,EAAE,YAAY,CAAC;QAAE,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;KAAE,CAAC,CAAC;CACpE;AAED,qDAAqD;AACrD,iBAAS,aAAa,CAAC,EAAE,QAAQ,EAAE,EAAE,kBAAkB;cAJlB,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI;wDAchE;AAED,MAAM,WAAW,kBAAmB,SAAQ,SAAS;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2DAA2D;IAC3D,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,iBAAS,aAAa,CAAC,EACrB,SAAS,EACT,WAAkB,EAClB,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,kBAAkB,sCAgCpB;AAsBD,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,SAAS,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,+BAOhF;AAED,UAAU,gBAAgB;IACxB,QAAQ,EAAE,YAAY,CAAC;QAAE,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;KAAE,CAAC,CAAC;CACpE;AAED,sDAAsD;AACtD,iBAAS,WAAW,CAAC,EAAE,QAAQ,EAAE,EAAE,gBAAgB;cAJd,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI;wDAchE;AAED,eAAO,MAAM,MAAM;;;;;;;CAOjB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/dialog/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EASL,KAAK,YAAY,EACjB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAG/D,OAAO,EAAQ,KAAK,SAAS,EAAE,MAAM,0BAAuB,CAAC;AAkB7D,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,SAAS,CAAC;IACpB,6BAA6B;IAC7B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,uCAAuC;IACvC,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,iBAAS,UAAU,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,WAAmB,EAAE,EAAE,WAAW,+BAmBrF;AAED,UAAU,kBAAkB;IAC1B,QAAQ,EAAE,YAAY,CAAC;QAAE,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;KAAE,CAAC,CAAC;CACpE;AAED,qDAAqD;AACrD,iBAAS,aAAa,CAAC,EAAE,QAAQ,EAAE,EAAE,kBAAkB;cAJlB,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI;wDAchE;AAED,MAAM,WAAW,kBAAmB,SAAQ,SAAS;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2DAA2D;IAC3D,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,iBAAS,aAAa,CAAC,EACrB,SAAS,EACT,WAAkB,EAClB,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,kBAAkB,sCAqCpB;AAsBD,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,SAAS,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,+BAOhF;AAED,UAAU,gBAAgB;IACxB,QAAQ,EAAE,YAAY,CAAC;QAAE,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;KAAE,CAAC,CAAC;CACpE;AAED,sDAAsD;AACtD,iBAAS,WAAW,CAAC,EAAE,QAAQ,EAAE,EAAE,gBAAgB;cAJd,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI;wDAchE;AAED,eAAO,MAAM,MAAM;;;;;;;CAOjB,CAAC"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * EmptyState — the placeholder shown when a list or view has no content.
3
+ *
4
+ * Adapted from: cosscom/coss packages/ui/src/components/empty.tsx
5
+ * (centered Header / Media / Title / Description / Content anatomy, and the
6
+ * `icon` media variant that stacks two rotated ghost cards behind the icon).
7
+ * Coss does that with CSS pseudo-elements; on native it is two absolutely
8
+ * positioned siblings with static rotate transforms.
9
+ */
10
+ import { type ReactNode } from 'react';
11
+ import { View, type Text as RNText, type ViewProps } from 'react-native';
12
+ import { type VariantProps } from 'tailwind-variants';
13
+ import { type TextProps } from '../../primitives/text.js';
14
+ declare const mediaVariants: import("tailwind-variants").TVReturnType<{
15
+ variant: {
16
+ default: {
17
+ card: string;
18
+ ghost: string;
19
+ };
20
+ icon: {
21
+ card: string;
22
+ };
23
+ };
24
+ }, {
25
+ wrapper: string;
26
+ card: string;
27
+ ghost: string;
28
+ }, undefined, {
29
+ variant: {
30
+ default: {
31
+ card: string;
32
+ ghost: string;
33
+ };
34
+ icon: {
35
+ card: string;
36
+ };
37
+ };
38
+ }, {
39
+ wrapper: string;
40
+ card: string;
41
+ ghost: string;
42
+ }, import("tailwind-variants").TVReturnType<{
43
+ variant: {
44
+ default: {
45
+ card: string;
46
+ ghost: string;
47
+ };
48
+ icon: {
49
+ card: string;
50
+ };
51
+ };
52
+ }, {
53
+ wrapper: string;
54
+ card: string;
55
+ ghost: string;
56
+ }, undefined, unknown, unknown, undefined>>;
57
+ export interface EmptyStateProps extends ViewProps {
58
+ className?: string;
59
+ children?: ReactNode;
60
+ }
61
+ export interface EmptyStateMediaProps extends ViewProps, VariantProps<typeof mediaVariants> {
62
+ className?: string;
63
+ children?: ReactNode;
64
+ }
65
+ export declare const EmptyState: import("react").ForwardRefExoticComponent<EmptyStateProps & import("react").RefAttributes<View>> & {
66
+ Header: import("react").ForwardRefExoticComponent<EmptyStateProps & import("react").RefAttributes<View>>;
67
+ Media: import("react").ForwardRefExoticComponent<EmptyStateMediaProps & import("react").RefAttributes<View>>;
68
+ Title: import("react").ForwardRefExoticComponent<TextProps & import("react").RefAttributes<RNText>>;
69
+ Description: import("react").ForwardRefExoticComponent<TextProps & import("react").RefAttributes<RNText>>;
70
+ Content: import("react").ForwardRefExoticComponent<EmptyStateProps & import("react").RefAttributes<View>>;
71
+ };
72
+ export {};
73
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/empty-state/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,KAAK,IAAI,IAAI,MAAM,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AACzE,OAAO,EAAM,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAQ,KAAK,SAAS,EAAE,MAAM,0BAAuB,CAAC;AAY7D,QAAA,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2CAoBjB,CAAC;AAEH,MAAM,WAAW,eAAgB,SAAQ,SAAS;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAmBD,MAAM,WAAW,oBACf,SAAQ,SAAS,EACf,YAAY,CAAC,OAAO,aAAa,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAwDD,eAAO,MAAM,UAAU;;;;;;CAMrB,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { View, type ViewProps } from 'react-native';
2
+ import { type TextProps } from '../../primitives/text.js';
3
+ export interface FrameProps extends ViewProps {
4
+ className?: string;
5
+ }
6
+ /**
7
+ * A row inside a Frame.Panel. Pass `divided` on every row after the first to
8
+ * draw a hairline separator above it (React Native has no :first-child).
9
+ */
10
+ export interface FrameRowProps extends FrameProps {
11
+ divided?: boolean;
12
+ }
13
+ export declare const Frame: import("react").ForwardRefExoticComponent<FrameProps & import("react").RefAttributes<View>> & {
14
+ Header: import("react").ForwardRefExoticComponent<FrameProps & import("react").RefAttributes<View>>;
15
+ Title: import("react").ForwardRefExoticComponent<TextProps & import("react").RefAttributes<import("react-native").Text>>;
16
+ Description: import("react").ForwardRefExoticComponent<TextProps & import("react").RefAttributes<import("react-native").Text>>;
17
+ Panel: import("react").ForwardRefExoticComponent<FrameProps & import("react").RefAttributes<View>>;
18
+ Row: import("react").ForwardRefExoticComponent<FrameRowProps & import("react").RefAttributes<View>>;
19
+ Footer: import("react").ForwardRefExoticComponent<FrameProps & import("react").RefAttributes<View>>;
20
+ };
21
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/frame/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAQ,KAAK,SAAS,EAAE,MAAM,0BAAuB,CAAC;AAG7D,MAAM,WAAW,UAAW,SAAQ,SAAS;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAyDD;;;GAGG;AACH,MAAM,WAAW,aAAc,SAAQ,UAAU;IAC/C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AA0BD,eAAO,MAAM,KAAK;;;;;;;CAOhB,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { type ReactNode } from 'react';
2
+ export interface InlineSelectItemProps {
3
+ value: string;
4
+ label: string;
5
+ }
6
+ /** Option row. Rendered inline beneath the trigger — no overlay involved. */
7
+ declare function InlineSelectItem({ value, label }: InlineSelectItemProps): import("react").JSX.Element;
8
+ export interface InlineSelectProps {
9
+ className?: string;
10
+ value?: string;
11
+ onValueChange: (value: string) => void;
12
+ placeholder?: string;
13
+ disabled?: boolean;
14
+ children: ReactNode;
15
+ }
16
+ /**
17
+ * A select that expands its options inline instead of opening a bottom sheet.
18
+ * Useful inside forms and scroll views where an overlay would be disruptive.
19
+ */
20
+ declare function InlineSelectRoot({ className, value, onValueChange, placeholder, disabled, children, }: InlineSelectProps): import("react").JSX.Element;
21
+ export declare const InlineSelect: typeof InlineSelectRoot & {
22
+ Item: typeof InlineSelectItem;
23
+ };
24
+ export {};
25
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/inline-select/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AA0Cf,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,6EAA6E;AAC7E,iBAAS,gBAAgB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,qBAAqB,+BA4BhE;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;GAGG;AACH,iBAAS,gBAAgB,CAAC,EACxB,SAAS,EACT,KAAK,EACL,aAAa,EACb,WAAgC,EAChC,QAAQ,EACR,QAAQ,GACT,EAAE,iBAAiB,+BAyEnB;AAED,eAAO,MAAM,YAAY;;CAEvB,CAAC"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * InputGroup — an Input with leading and/or trailing decorators.
3
+ *
4
+ * Adapted from: heroui-inc/heroui-native src/components/input-group/
5
+ * Prefix and Suffix are absolutely positioned and their measured widths become
6
+ * padding on the Input, so text never runs underneath a decorator regardless
7
+ * of how wide that decorator turns out to be.
8
+ */
9
+ import { type ReactNode } from 'react';
10
+ import { View, type TextInput, type ViewProps } from 'react-native';
11
+ import { type InputProps } from '../input/index.js';
12
+ export interface InputGroupProps extends ViewProps {
13
+ className?: string;
14
+ /** Disables the input and dims both decorators. */
15
+ isDisabled?: boolean;
16
+ children?: ReactNode;
17
+ }
18
+ export interface InputGroupDecoratorProps extends ViewProps {
19
+ className?: string;
20
+ /**
21
+ * Marks the decorator as presentation-only: touches fall through to the
22
+ * Input and screen readers skip it. Leave it off when the decorator holds
23
+ * something interactive, such as a show-password toggle.
24
+ */
25
+ isDecorative?: boolean;
26
+ children?: ReactNode;
27
+ }
28
+ export type InputGroupInputProps = InputProps;
29
+ export declare const InputGroup: import("react").ForwardRefExoticComponent<InputGroupProps & import("react").RefAttributes<View>> & {
30
+ Prefix: import("react").ForwardRefExoticComponent<InputGroupDecoratorProps & import("react").RefAttributes<View>>;
31
+ Input: import("react").ForwardRefExoticComponent<InputProps & import("react").RefAttributes<TextInput>>;
32
+ Suffix: import("react").ForwardRefExoticComponent<InputGroupDecoratorProps & import("react").RefAttributes<View>>;
33
+ };
34
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/input-group/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAOL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,EACL,IAAI,EAEJ,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAS,KAAK,UAAU,EAAE,MAAM,mBAAU,CAAC;AA6BlD,MAAM,WAAW,eAAgB,SAAQ,SAAS;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mDAAmD;IACnD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAwBD,MAAM,WAAW,wBAAyB,SAAQ,SAAS;IACzD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAwCD,MAAM,MAAM,oBAAoB,GAAG,UAAU,CAAC;AA4B9C,eAAO,MAAM,UAAU;;;;CAIrB,CAAC"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Label — text that names a form field.
3
+ *
4
+ * Adapted from: heroui-inc/heroui-native src/components/label/ (root +
5
+ * Label.Text anatomy, string children auto-wrapping, the required asterisk,
6
+ * and the isInvalid / isDisabled recolouring).
7
+ */
8
+ import { type ReactNode } from 'react';
9
+ import { View, type Text as RNText, type ViewProps } from 'react-native';
10
+ import { type TextProps } from '../../primitives/text.js';
11
+ export interface LabelProps extends ViewProps {
12
+ className?: string;
13
+ /** Appends an asterisk marking the field as required. */
14
+ isRequired?: boolean;
15
+ /** Recolours the label to signal a validation error. */
16
+ isInvalid?: boolean;
17
+ isDisabled?: boolean;
18
+ children?: ReactNode;
19
+ }
20
+ export interface LabelTextProps extends TextProps {
21
+ className?: string;
22
+ /** Classes for the required asterisk. */
23
+ asteriskClassName?: string;
24
+ }
25
+ export declare const Label: import("react").ForwardRefExoticComponent<LabelProps & import("react").RefAttributes<View>> & {
26
+ Text: import("react").ForwardRefExoticComponent<LabelTextProps & import("react").RefAttributes<RNText>>;
27
+ };
28
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/label/index.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAKL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,IAAI,EAAE,KAAK,IAAI,IAAI,MAAM,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzE,OAAO,EAAQ,KAAK,SAAS,EAAE,MAAM,0BAAuB,CAAC;AAiC7D,MAAM,WAAW,UAAW,SAAQ,SAAS;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,wDAAwD;IACxD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAqCD,MAAM,WAAW,cAAe,SAAQ,SAAS;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yCAAyC;IACzC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AA2BD,eAAO,MAAM,KAAK;;CAEhB,CAAC"}