@castui/cast-ui 4.2.0 → 4.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (185) hide show
  1. package/dist/components/Alert/Alert.d.ts +0 -1
  2. package/dist/components/Alert/Alert.js +22 -20
  3. package/dist/components/Alert/index.d.ts +0 -1
  4. package/dist/components/Alert/index.js +5 -2
  5. package/dist/components/Avatar/Avatar.d.ts +0 -1
  6. package/dist/components/Avatar/Avatar.js +15 -13
  7. package/dist/components/Avatar/index.d.ts +0 -1
  8. package/dist/components/Avatar/index.js +5 -2
  9. package/dist/components/Badge/Badge.d.ts +0 -1
  10. package/dist/components/Badge/Badge.js +20 -18
  11. package/dist/components/Badge/index.d.ts +0 -1
  12. package/dist/components/Badge/index.js +5 -2
  13. package/dist/components/Button/Button.d.ts +0 -1
  14. package/dist/components/Button/Button.js +21 -19
  15. package/dist/components/Button/index.d.ts +0 -1
  16. package/dist/components/Button/index.js +5 -2
  17. package/dist/components/Card/Card.d.ts +0 -1
  18. package/dist/components/Card/Card.js +27 -25
  19. package/dist/components/Card/index.d.ts +0 -1
  20. package/dist/components/Card/index.js +5 -2
  21. package/dist/components/Checkbox/Checkbox.d.ts +0 -1
  22. package/dist/components/Checkbox/Checkbox.js +23 -21
  23. package/dist/components/Checkbox/index.d.ts +0 -1
  24. package/dist/components/Checkbox/index.js +5 -2
  25. package/dist/components/Chip/Chip.d.ts +0 -1
  26. package/dist/components/Chip/Chip.js +22 -20
  27. package/dist/components/Chip/index.d.ts +0 -1
  28. package/dist/components/Chip/index.js +5 -2
  29. package/dist/components/Dialog/Dialog.d.ts +0 -1
  30. package/dist/components/Dialog/Dialog.js +30 -27
  31. package/dist/components/Dialog/index.d.ts +0 -1
  32. package/dist/components/Dialog/index.js +6 -2
  33. package/dist/components/Divider/Divider.d.ts +0 -1
  34. package/dist/components/Divider/Divider.js +12 -10
  35. package/dist/components/Divider/index.d.ts +0 -1
  36. package/dist/components/Divider/index.js +5 -2
  37. package/dist/components/Icon/Icon.d.ts +0 -1
  38. package/dist/components/Icon/Icon.js +9 -7
  39. package/dist/components/Icon/index.d.ts +0 -1
  40. package/dist/components/Icon/index.js +5 -2
  41. package/dist/components/Input/Input.d.ts +0 -1
  42. package/dist/components/Input/Input.js +37 -35
  43. package/dist/components/Input/index.d.ts +0 -1
  44. package/dist/components/Input/index.js +5 -2
  45. package/dist/components/List/List.d.ts +0 -1
  46. package/dist/components/List/List.js +46 -41
  47. package/dist/components/List/index.d.ts +0 -1
  48. package/dist/components/List/index.js +8 -2
  49. package/dist/components/Popover/Popover.d.ts +0 -1
  50. package/dist/components/Popover/Popover.js +11 -9
  51. package/dist/components/Popover/index.d.ts +0 -1
  52. package/dist/components/Popover/index.js +5 -2
  53. package/dist/components/Radio/Radio.d.ts +0 -1
  54. package/dist/components/Radio/Radio.js +29 -26
  55. package/dist/components/Radio/index.d.ts +0 -1
  56. package/dist/components/Radio/index.js +6 -2
  57. package/dist/components/Select/Select.d.ts +0 -1
  58. package/dist/components/Select/Select.js +102 -95
  59. package/dist/components/Select/index.d.ts +0 -1
  60. package/dist/components/Select/index.js +10 -2
  61. package/dist/components/Skeleton/Skeleton.d.ts +0 -1
  62. package/dist/components/Skeleton/Skeleton.js +15 -13
  63. package/dist/components/Skeleton/index.d.ts +0 -1
  64. package/dist/components/Skeleton/index.js +5 -2
  65. package/dist/components/Toast/Toast.d.ts +0 -1
  66. package/dist/components/Toast/Toast.js +23 -21
  67. package/dist/components/Toast/index.d.ts +0 -1
  68. package/dist/components/Toast/index.js +5 -2
  69. package/dist/components/Toggle/Toggle.d.ts +0 -1
  70. package/dist/components/Toggle/Toggle.js +20 -18
  71. package/dist/components/Toggle/index.d.ts +0 -1
  72. package/dist/components/Toggle/index.js +5 -2
  73. package/dist/components/Tooltip/Tooltip.d.ts +0 -1
  74. package/dist/components/Tooltip/Tooltip.js +14 -12
  75. package/dist/components/Tooltip/index.d.ts +0 -1
  76. package/dist/components/Tooltip/index.js +5 -2
  77. package/dist/index.d.ts +0 -1
  78. package/dist/index.js +81 -22
  79. package/dist/theme/ThemeContext.d.ts +0 -1
  80. package/dist/theme/ThemeContext.js +20 -17
  81. package/dist/theme/index.d.ts +0 -1
  82. package/dist/theme/index.js +8 -3
  83. package/dist/theme/themes.d.ts +0 -1
  84. package/dist/theme/themes.js +4 -2
  85. package/dist/theme/types.d.ts +0 -1
  86. package/dist/theme/types.js +2 -2
  87. package/dist/tokens/colors.d.ts +0 -1
  88. package/dist/tokens/colors.js +25 -23
  89. package/dist/tokens/index.d.ts +0 -1
  90. package/dist/tokens/index.js +29 -3
  91. package/dist/tokens/typography.d.ts +0 -1
  92. package/dist/tokens/typography.js +13 -11
  93. package/package.json +13 -2
  94. package/dist/components/Alert/Alert.d.ts.map +0 -1
  95. package/dist/components/Alert/Alert.js.map +0 -1
  96. package/dist/components/Alert/index.d.ts.map +0 -1
  97. package/dist/components/Alert/index.js.map +0 -1
  98. package/dist/components/Avatar/Avatar.d.ts.map +0 -1
  99. package/dist/components/Avatar/Avatar.js.map +0 -1
  100. package/dist/components/Avatar/index.d.ts.map +0 -1
  101. package/dist/components/Avatar/index.js.map +0 -1
  102. package/dist/components/Badge/Badge.d.ts.map +0 -1
  103. package/dist/components/Badge/Badge.js.map +0 -1
  104. package/dist/components/Badge/index.d.ts.map +0 -1
  105. package/dist/components/Badge/index.js.map +0 -1
  106. package/dist/components/Button/Button.d.ts.map +0 -1
  107. package/dist/components/Button/Button.js.map +0 -1
  108. package/dist/components/Button/index.d.ts.map +0 -1
  109. package/dist/components/Button/index.js.map +0 -1
  110. package/dist/components/Card/Card.d.ts.map +0 -1
  111. package/dist/components/Card/Card.js.map +0 -1
  112. package/dist/components/Card/index.d.ts.map +0 -1
  113. package/dist/components/Card/index.js.map +0 -1
  114. package/dist/components/Checkbox/Checkbox.d.ts.map +0 -1
  115. package/dist/components/Checkbox/Checkbox.js.map +0 -1
  116. package/dist/components/Checkbox/index.d.ts.map +0 -1
  117. package/dist/components/Checkbox/index.js.map +0 -1
  118. package/dist/components/Chip/Chip.d.ts.map +0 -1
  119. package/dist/components/Chip/Chip.js.map +0 -1
  120. package/dist/components/Chip/index.d.ts.map +0 -1
  121. package/dist/components/Chip/index.js.map +0 -1
  122. package/dist/components/Dialog/Dialog.d.ts.map +0 -1
  123. package/dist/components/Dialog/Dialog.js.map +0 -1
  124. package/dist/components/Dialog/index.d.ts.map +0 -1
  125. package/dist/components/Dialog/index.js.map +0 -1
  126. package/dist/components/Divider/Divider.d.ts.map +0 -1
  127. package/dist/components/Divider/Divider.js.map +0 -1
  128. package/dist/components/Divider/index.d.ts.map +0 -1
  129. package/dist/components/Divider/index.js.map +0 -1
  130. package/dist/components/Icon/Icon.d.ts.map +0 -1
  131. package/dist/components/Icon/Icon.js.map +0 -1
  132. package/dist/components/Icon/index.d.ts.map +0 -1
  133. package/dist/components/Icon/index.js.map +0 -1
  134. package/dist/components/Input/Input.d.ts.map +0 -1
  135. package/dist/components/Input/Input.js.map +0 -1
  136. package/dist/components/Input/index.d.ts.map +0 -1
  137. package/dist/components/Input/index.js.map +0 -1
  138. package/dist/components/List/List.d.ts.map +0 -1
  139. package/dist/components/List/List.js.map +0 -1
  140. package/dist/components/List/index.d.ts.map +0 -1
  141. package/dist/components/List/index.js.map +0 -1
  142. package/dist/components/Popover/Popover.d.ts.map +0 -1
  143. package/dist/components/Popover/Popover.js.map +0 -1
  144. package/dist/components/Popover/index.d.ts.map +0 -1
  145. package/dist/components/Popover/index.js.map +0 -1
  146. package/dist/components/Radio/Radio.d.ts.map +0 -1
  147. package/dist/components/Radio/Radio.js.map +0 -1
  148. package/dist/components/Radio/index.d.ts.map +0 -1
  149. package/dist/components/Radio/index.js.map +0 -1
  150. package/dist/components/Select/Select.d.ts.map +0 -1
  151. package/dist/components/Select/Select.js.map +0 -1
  152. package/dist/components/Select/index.d.ts.map +0 -1
  153. package/dist/components/Select/index.js.map +0 -1
  154. package/dist/components/Skeleton/Skeleton.d.ts.map +0 -1
  155. package/dist/components/Skeleton/Skeleton.js.map +0 -1
  156. package/dist/components/Skeleton/index.d.ts.map +0 -1
  157. package/dist/components/Skeleton/index.js.map +0 -1
  158. package/dist/components/Toast/Toast.d.ts.map +0 -1
  159. package/dist/components/Toast/Toast.js.map +0 -1
  160. package/dist/components/Toast/index.d.ts.map +0 -1
  161. package/dist/components/Toast/index.js.map +0 -1
  162. package/dist/components/Toggle/Toggle.d.ts.map +0 -1
  163. package/dist/components/Toggle/Toggle.js.map +0 -1
  164. package/dist/components/Toggle/index.d.ts.map +0 -1
  165. package/dist/components/Toggle/index.js.map +0 -1
  166. package/dist/components/Tooltip/Tooltip.d.ts.map +0 -1
  167. package/dist/components/Tooltip/Tooltip.js.map +0 -1
  168. package/dist/components/Tooltip/index.d.ts.map +0 -1
  169. package/dist/components/Tooltip/index.js.map +0 -1
  170. package/dist/index.d.ts.map +0 -1
  171. package/dist/index.js.map +0 -1
  172. package/dist/theme/ThemeContext.d.ts.map +0 -1
  173. package/dist/theme/ThemeContext.js.map +0 -1
  174. package/dist/theme/index.d.ts.map +0 -1
  175. package/dist/theme/index.js.map +0 -1
  176. package/dist/theme/themes.d.ts.map +0 -1
  177. package/dist/theme/themes.js.map +0 -1
  178. package/dist/theme/types.d.ts.map +0 -1
  179. package/dist/theme/types.js.map +0 -1
  180. package/dist/tokens/colors.d.ts.map +0 -1
  181. package/dist/tokens/colors.js.map +0 -1
  182. package/dist/tokens/index.d.ts.map +0 -1
  183. package/dist/tokens/index.js.map +0 -1
  184. package/dist/tokens/typography.d.ts.map +0 -1
  185. package/dist/tokens/typography.js.map +0 -1
@@ -44,4 +44,3 @@ export type ChipProps = {
44
44
  accessibilityLabel?: string;
45
45
  };
46
46
  export declare function Chip({ children, intent, variant, size, selected, disabled, leadingIcon, onPress, onRemove, style, accessibilityLabel, }: ChipProps): import("react/jsx-runtime").JSX.Element;
47
- //# sourceMappingURL=Chip.d.ts.map
@@ -1,4 +1,7 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Chip = Chip;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
2
5
  /**
3
6
  * Chip — compact, interactive pill for filters, selections, and tokens.
4
7
  *
@@ -15,11 +18,11 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
15
18
  * subtle → intent subtle (transparent bg/border)
16
19
  * The `selected` state renders the intent's active colours.
17
20
  */
18
- import { useState, useCallback } from 'react';
19
- import { Pressable, View, Text, } from 'react-native';
20
- import { useTheme } from '../../theme';
21
- import { fontFamily, fontWeight, label, controlTokens, } from '../../tokens';
22
- import { Icon } from '../Icon';
21
+ const react_1 = require("react");
22
+ const react_native_1 = require("react-native");
23
+ const theme_1 = require("../../theme");
24
+ const tokens_1 = require("../../tokens");
25
+ const Icon_1 = require("../Icon");
23
26
  // ---------------------------------------------------------------------------
24
27
  // Constants
25
28
  // ---------------------------------------------------------------------------
@@ -32,16 +35,16 @@ const LABEL_SCALE = {
32
35
  // ---------------------------------------------------------------------------
33
36
  // Component
34
37
  // ---------------------------------------------------------------------------
35
- export function Chip({ children, intent = 'neutral', variant = 'outline', size = 'default', selected = false, disabled = false, leadingIcon, onPress, onRemove, style, accessibilityLabel, }) {
36
- const { components, scheme } = useTheme();
38
+ function Chip({ children, intent = 'neutral', variant = 'outline', size = 'default', selected = false, disabled = false, leadingIcon, onPress, onRemove, style, accessibilityLabel, }) {
39
+ const { components, scheme } = (0, theme_1.useTheme)();
37
40
  const intentColors = scheme.intents;
38
41
  const disabledColors = scheme.disabled;
39
42
  const sizeTokens = components.chip[size];
40
- const labelTokens = label[LABEL_SCALE[size]];
41
- const [isHovered, setIsHovered] = useState(false);
43
+ const labelTokens = tokens_1.label[LABEL_SCALE[size]];
44
+ const [isHovered, setIsHovered] = (0, react_1.useState)(false);
42
45
  const prominence = variant === 'outline' ? 'default' : 'subtle';
43
46
  // Resolve colours. Priority: disabled > selected/pressed > hover > default
44
- const resolveColors = useCallback((pressed) => {
47
+ const resolveColors = (0, react_1.useCallback)((pressed) => {
45
48
  if (disabled)
46
49
  return disabledColors;
47
50
  const states = intentColors[intent][prominence];
@@ -52,10 +55,10 @@ export function Chip({ children, intent = 'neutral', variant = 'outline', size =
52
55
  return states.default;
53
56
  }, [disabled, intent, prominence, selected, isHovered, intentColors, disabledColors]);
54
57
  const isInteractive = !disabled && (onPress != null || onRemove != null);
55
- return (_jsx(Pressable, { onPress: onPress, disabled: disabled || onPress == null, onHoverIn: () => setIsHovered(true), onHoverOut: () => setIsHovered(false), accessibilityRole: onPress ? 'button' : 'text', accessibilityLabel: accessibilityLabel || children, accessibilityState: { disabled, selected }, style: style, children: ({ pressed }) => {
58
+ return ((0, jsx_runtime_1.jsx)(react_native_1.Pressable, { onPress: onPress, disabled: disabled || onPress == null, onHoverIn: () => setIsHovered(true), onHoverOut: () => setIsHovered(false), accessibilityRole: onPress ? 'button' : 'text', accessibilityLabel: accessibilityLabel || children, accessibilityState: { disabled, selected }, style: style, children: ({ pressed }) => {
56
59
  const colors = resolveColors(pressed && isInteractive);
57
- const resolvedLeading = typeof leadingIcon === 'string' ? (_jsx(Icon, { name: leadingIcon, size: sizeTokens.iconSize, color: colors.fg })) : (leadingIcon);
58
- return (_jsxs(View, { style: {
60
+ const resolvedLeading = typeof leadingIcon === 'string' ? ((0, jsx_runtime_1.jsx)(Icon_1.Icon, { name: leadingIcon, size: sizeTokens.iconSize, color: colors.fg })) : (leadingIcon);
61
+ return ((0, jsx_runtime_1.jsxs)(react_native_1.View, { style: {
59
62
  flexDirection: 'row',
60
63
  alignItems: 'center',
61
64
  justifyContent: 'center',
@@ -64,17 +67,16 @@ export function Chip({ children, intent = 'neutral', variant = 'outline', size =
64
67
  paddingHorizontal: sizeTokens.paddingX,
65
68
  paddingVertical: sizeTokens.paddingY,
66
69
  borderRadius: components.chip.borderRadius,
67
- borderWidth: controlTokens.borderWidth,
70
+ borderWidth: tokens_1.controlTokens.borderWidth,
68
71
  borderColor: colors.border,
69
72
  backgroundColor: colors.bg,
70
- }, children: [resolvedLeading ? (_jsx(View, { accessibilityElementsHidden: true, importantForAccessibility: "no", style: { width: sizeTokens.iconSize, height: sizeTokens.iconSize }, children: resolvedLeading })) : null, _jsx(Text, { style: {
71
- fontFamily: fontFamily.sans,
72
- fontWeight: fontWeight.medium,
73
+ }, children: [resolvedLeading ? ((0, jsx_runtime_1.jsx)(react_native_1.View, { accessibilityElementsHidden: true, importantForAccessibility: "no", style: { width: sizeTokens.iconSize, height: sizeTokens.iconSize }, children: resolvedLeading })) : null, (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: {
74
+ fontFamily: tokens_1.fontFamily.sans,
75
+ fontWeight: tokens_1.fontWeight.medium,
73
76
  fontSize: labelTokens.fontSize,
74
77
  lineHeight: labelTokens.lineHeight,
75
78
  letterSpacing: labelTokens.letterSpacing,
76
79
  color: colors.fg,
77
- }, selectable: false, children: children }), onRemove ? (_jsx(Pressable, { onPress: disabled ? undefined : onRemove, disabled: disabled, hitSlop: 6, accessibilityRole: "button", accessibilityLabel: `Remove ${children}`, style: { width: sizeTokens.iconSize, height: sizeTokens.iconSize }, children: _jsx(Icon, { name: "close", size: sizeTokens.iconSize, color: colors.fg }) })) : null] }));
80
+ }, selectable: false, children: children }), onRemove ? ((0, jsx_runtime_1.jsx)(react_native_1.Pressable, { onPress: disabled ? undefined : onRemove, disabled: disabled, hitSlop: 6, accessibilityRole: "button", accessibilityLabel: `Remove ${children}`, style: { width: sizeTokens.iconSize, height: sizeTokens.iconSize }, children: (0, jsx_runtime_1.jsx)(Icon_1.Icon, { name: "close", size: sizeTokens.iconSize, color: colors.fg }) })) : null] }));
78
81
  } }));
79
82
  }
80
- //# sourceMappingURL=Chip.js.map
@@ -1,2 +1 @@
1
1
  export { Chip, type ChipProps, type ChipSize, type ChipVariant } from './Chip';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1,2 +1,5 @@
1
- export { Chip } from './Chip';
2
- //# sourceMappingURL=index.js.map
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Chip = void 0;
4
+ var Chip_1 = require("./Chip");
5
+ Object.defineProperty(exports, "Chip", { enumerable: true, get: function () { return Chip_1.Chip; } });
@@ -54,4 +54,3 @@ export type DialogProps = DialogContentProps & {
54
54
  */
55
55
  export declare function DialogContent({ title: titleText, description, icon, size, children, primaryAction, secondaryAction, style, accessibilityLabel, }: DialogContentProps): import("react/jsx-runtime").JSX.Element;
56
56
  export declare function Dialog({ open, onClose, ...contentProps }: DialogProps): import("react/jsx-runtime").JSX.Element;
57
- //# sourceMappingURL=Dialog.d.ts.map
@@ -1,9 +1,13 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Modal, Pressable, View, Text, Platform, } from 'react-native';
3
- import { useTheme } from '../../theme';
4
- import { Button } from '../Button';
5
- import { Icon } from '../Icon';
6
- import { fontFamily, fontWeight, title, body, controlTokens, } from '../../tokens';
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DialogContent = DialogContent;
4
+ exports.Dialog = Dialog;
5
+ const jsx_runtime_1 = require("react/jsx-runtime");
6
+ const react_native_1 = require("react-native");
7
+ const theme_1 = require("../../theme");
8
+ const Button_1 = require("../Button");
9
+ const Icon_1 = require("../Icon");
10
+ const tokens_1 = require("../../tokens");
7
11
  // ---------------------------------------------------------------------------
8
12
  // Constants
9
13
  // ---------------------------------------------------------------------------
@@ -48,61 +52,60 @@ const SHADOW_NATIVE = {
48
52
  * Use this for static display (e.g., Storybook visual stories)
49
53
  * or when building custom overlay implementations.
50
54
  */
51
- export function DialogContent({ title: titleText, description, icon, size = 'default', children, primaryAction, secondaryAction, style, accessibilityLabel, }) {
52
- const { components, colors, scheme } = useTheme();
55
+ function DialogContent({ title: titleText, description, icon, size = 'default', children, primaryAction, secondaryAction, style, accessibilityLabel, }) {
56
+ const { components, colors, scheme } = (0, theme_1.useTheme)();
53
57
  const surfaceTokens = scheme.surface;
54
58
  const textTokens = scheme.text;
55
59
  const sizeTokens = components.dialog[size];
56
- const titleTokens = title[TYPO_SCALE[size]];
57
- const bodyTokens = body[TYPO_SCALE[size]];
60
+ const titleTokens = tokens_1.title[TYPO_SCALE[size]];
61
+ const bodyTokens = tokens_1.body[TYPO_SCALE[size]];
58
62
  const buttonSize = BUTTON_SIZE[size];
59
63
  const fgColor = colors.neutral.default.default.fg;
60
- const resolvedIcon = typeof icon === 'string' ? (_jsx(Icon, { name: icon, size: sizeTokens.iconSize, color: fgColor })) : (icon);
64
+ const resolvedIcon = typeof icon === 'string' ? ((0, jsx_runtime_1.jsx)(Icon_1.Icon, { name: icon, size: sizeTokens.iconSize, color: fgColor })) : (icon);
61
65
  const hasActions = primaryAction || secondaryAction;
62
- return (_jsxs(View, { accessibilityRole: "alert", accessibilityLabel: accessibilityLabel || titleText, style: [
66
+ return ((0, jsx_runtime_1.jsxs)(react_native_1.View, { accessibilityRole: "alert", accessibilityLabel: accessibilityLabel || titleText, style: [
63
67
  {
64
68
  width: DIALOG_WIDTH[size],
65
69
  maxWidth: '100%',
66
70
  backgroundColor: surfaceTokens.overlay.bg,
67
- borderWidth: controlTokens.borderWidth,
71
+ borderWidth: tokens_1.controlTokens.borderWidth,
68
72
  borderColor: surfaceTokens.overlay.border,
69
73
  borderRadius: surfaceTokens.overlay.borderRadius,
70
74
  padding: sizeTokens.padding,
71
75
  gap: sizeTokens.gap,
72
- ...(Platform.OS === 'web' ? SHADOW_WEB : SHADOW_NATIVE),
76
+ ...(react_native_1.Platform.OS === 'web' ? SHADOW_WEB : SHADOW_NATIVE),
73
77
  },
74
78
  style,
75
- ], children: [_jsxs(View, { style: { gap: TITLE_DESC_GAP }, children: [_jsxs(View, { style: { gap: HEADER_ICON_GAP }, children: [resolvedIcon, _jsx(Text, { accessibilityRole: "header", style: {
76
- fontFamily: fontFamily.sans,
77
- fontWeight: fontWeight.medium,
79
+ ], children: [(0, jsx_runtime_1.jsxs)(react_native_1.View, { style: { gap: TITLE_DESC_GAP }, children: [(0, jsx_runtime_1.jsxs)(react_native_1.View, { style: { gap: HEADER_ICON_GAP }, children: [resolvedIcon, (0, jsx_runtime_1.jsx)(react_native_1.Text, { accessibilityRole: "header", style: {
80
+ fontFamily: tokens_1.fontFamily.sans,
81
+ fontWeight: tokens_1.fontWeight.medium,
78
82
  fontSize: titleTokens.fontSize,
79
83
  lineHeight: titleTokens.lineHeight,
80
84
  letterSpacing: titleTokens.letterSpacing,
81
85
  color: fgColor,
82
- }, children: titleText })] }), description ? (_jsx(Text, { style: {
83
- fontFamily: fontFamily.sans,
84
- fontWeight: fontWeight.regular,
86
+ }, children: titleText })] }), description ? ((0, jsx_runtime_1.jsx)(react_native_1.Text, { style: {
87
+ fontFamily: tokens_1.fontFamily.sans,
88
+ fontWeight: tokens_1.fontWeight.regular,
85
89
  fontSize: bodyTokens.fontSize,
86
90
  lineHeight: bodyTokens.lineHeight,
87
91
  letterSpacing: bodyTokens.letterSpacing,
88
92
  color: textTokens.description,
89
- }, children: description })) : null] }), children, hasActions ? (_jsxs(View, { style: {
93
+ }, children: description })) : null] }), children, hasActions ? ((0, jsx_runtime_1.jsxs)(react_native_1.View, { style: {
90
94
  flexDirection: 'row',
91
95
  justifyContent: 'flex-end',
92
96
  gap: sizeTokens.gap,
93
- }, children: [secondaryAction ? (_jsx(Button, { intent: "neutral", prominence: "default", size: buttonSize, onPress: secondaryAction.onPress, children: secondaryAction.label })) : null, primaryAction ? (_jsx(Button, { intent: "brand", prominence: "bold", size: buttonSize, onPress: primaryAction.onPress, children: primaryAction.label })) : null] })) : null] }));
97
+ }, children: [secondaryAction ? ((0, jsx_runtime_1.jsx)(Button_1.Button, { intent: "neutral", prominence: "default", size: buttonSize, onPress: secondaryAction.onPress, children: secondaryAction.label })) : null, primaryAction ? ((0, jsx_runtime_1.jsx)(Button_1.Button, { intent: "brand", prominence: "bold", size: buttonSize, onPress: primaryAction.onPress, children: primaryAction.label })) : null] })) : null] }));
94
98
  }
95
99
  // ---------------------------------------------------------------------------
96
100
  // Dialog — full modal with backdrop
97
101
  // ---------------------------------------------------------------------------
98
- export function Dialog({ open, onClose, ...contentProps }) {
99
- const { scheme } = useTheme();
102
+ function Dialog({ open, onClose, ...contentProps }) {
103
+ const { scheme } = (0, theme_1.useTheme)();
100
104
  const overlayTokens = scheme.overlay;
101
- return (_jsx(Modal, { visible: open, transparent: true, animationType: "fade", onRequestClose: onClose, children: _jsx(Pressable, { onPress: onClose, accessibilityRole: "button", accessibilityLabel: "Close dialog", style: {
105
+ return ((0, jsx_runtime_1.jsx)(react_native_1.Modal, { visible: open, transparent: true, animationType: "fade", onRequestClose: onClose, children: (0, jsx_runtime_1.jsx)(react_native_1.Pressable, { onPress: onClose, accessibilityRole: "button", accessibilityLabel: "Close dialog", style: {
102
106
  flex: 1,
103
107
  backgroundColor: `rgba(0, 0, 0, ${overlayTokens.scrimOpacity})`,
104
108
  justifyContent: 'center',
105
109
  alignItems: 'center',
106
- }, children: _jsx(Pressable, { onPress: (e) => e.stopPropagation(), accessibilityRole: "none", style: { maxWidth: '90%' }, children: _jsx(DialogContent, { ...contentProps }) }) }) }));
110
+ }, children: (0, jsx_runtime_1.jsx)(react_native_1.Pressable, { onPress: (e) => e.stopPropagation(), accessibilityRole: "none", style: { maxWidth: '90%' }, children: (0, jsx_runtime_1.jsx)(DialogContent, { ...contentProps }) }) }) }));
107
111
  }
108
- //# sourceMappingURL=Dialog.js.map
@@ -1,2 +1 @@
1
1
  export { Dialog, DialogContent, type DialogProps, type DialogContentProps, type DialogAction, type DialogSize, } from './Dialog';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1,2 +1,6 @@
1
- export { Dialog, DialogContent, } from './Dialog';
2
- //# sourceMappingURL=index.js.map
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DialogContent = exports.Dialog = void 0;
4
+ var Dialog_1 = require("./Dialog");
5
+ Object.defineProperty(exports, "Dialog", { enumerable: true, get: function () { return Dialog_1.Dialog; } });
6
+ Object.defineProperty(exports, "DialogContent", { enumerable: true, get: function () { return Dialog_1.DialogContent; } });
@@ -20,4 +20,3 @@ export type DividerProps = {
20
20
  style?: StyleProp<ViewStyle>;
21
21
  };
22
22
  export declare function Divider({ orientation, color, style, }: DividerProps): import("react/jsx-runtime").JSX.Element;
23
- //# sourceMappingURL=Divider.d.ts.map
@@ -1,17 +1,19 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { View } from 'react-native';
3
- import { useTheme } from '../../theme';
4
- import { controlTokens } from '../../tokens';
5
- export function Divider({ orientation = 'horizontal', color, style, }) {
6
- const { scheme } = useTheme();
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Divider = Divider;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const react_native_1 = require("react-native");
6
+ const theme_1 = require("../../theme");
7
+ const tokens_1 = require("../../tokens");
8
+ function Divider({ orientation = 'horizontal', color, style, }) {
9
+ const { scheme } = (0, theme_1.useTheme)();
7
10
  const resolvedColor = color ?? scheme.surface.overlay.border;
8
11
  const isVertical = orientation === 'vertical';
9
- return (_jsx(View, { accessibilityElementsHidden: true, importantForAccessibility: "no-hide-descendants", style: [
12
+ return ((0, jsx_runtime_1.jsx)(react_native_1.View, { accessibilityElementsHidden: true, importantForAccessibility: "no-hide-descendants", style: [
10
13
  isVertical
11
- ? { alignSelf: 'stretch', width: controlTokens.borderWidth }
12
- : { alignSelf: 'stretch', height: controlTokens.borderWidth },
14
+ ? { alignSelf: 'stretch', width: tokens_1.controlTokens.borderWidth }
15
+ : { alignSelf: 'stretch', height: tokens_1.controlTokens.borderWidth },
13
16
  { backgroundColor: resolvedColor },
14
17
  style,
15
18
  ] }));
16
19
  }
17
- //# sourceMappingURL=Divider.js.map
@@ -1,2 +1 @@
1
1
  export { Divider, type DividerProps, type DividerOrientation } from './Divider';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1,2 +1,5 @@
1
- export { Divider } from './Divider';
2
- //# sourceMappingURL=index.js.map
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Divider = void 0;
4
+ var Divider_1 = require("./Divider");
5
+ Object.defineProperty(exports, "Divider", { enumerable: true, get: function () { return Divider_1.Divider; } });
@@ -40,4 +40,3 @@ export type IconProps = {
40
40
  style?: StyleProp<TextStyle>;
41
41
  };
42
42
  export declare function Icon({ name, size, color, fill, weight, grade, opticalSize, style, }: IconProps): import("react/jsx-runtime").JSX.Element;
43
- //# sourceMappingURL=Icon.d.ts.map
@@ -1,18 +1,21 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { Text, Platform } from 'react-native';
3
- const FONT_FAMILY = Platform.select({
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Icon = Icon;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const react_native_1 = require("react-native");
6
+ const FONT_FAMILY = react_native_1.Platform.select({
4
7
  web: '"Material Symbols Outlined", sans-serif',
5
8
  default: 'MaterialSymbolsOutlined',
6
9
  });
7
- export function Icon({ name, size = 20, color = '#374151', fill = false, weight = 400, grade = 0, opticalSize, style, }) {
10
+ function Icon({ name, size = 20, color = '#374151', fill = false, weight = 400, grade = 0, opticalSize, style, }) {
8
11
  // Material Symbols variable-font axes — applied on web via fontVariationSettings.
9
12
  const opsz = Math.min(48, Math.max(20, opticalSize ?? size));
10
- const variationStyle = Platform.OS === 'web'
13
+ const variationStyle = react_native_1.Platform.OS === 'web'
11
14
  ? {
12
15
  fontVariationSettings: `'FILL' ${fill ? 1 : 0}, 'wght' ${weight}, 'GRAD' ${grade}, 'opsz' ${opsz}`,
13
16
  }
14
17
  : null;
15
- return (_jsx(Text, { selectable: false, accessibilityElementsHidden: true, importantForAccessibility: "no", style: [
18
+ return ((0, jsx_runtime_1.jsx)(react_native_1.Text, { selectable: false, accessibilityElementsHidden: true, importantForAccessibility: "no", style: [
16
19
  {
17
20
  fontFamily: FONT_FAMILY,
18
21
  fontSize: size,
@@ -33,4 +36,3 @@ export function Icon({ name, size = 20, color = '#374151', fill = false, weight
33
36
  style,
34
37
  ], children: name }));
35
38
  }
36
- //# sourceMappingURL=Icon.js.map
@@ -1,2 +1 @@
1
1
  export { Icon, type IconProps } from './Icon';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1,2 +1,5 @@
1
- export { Icon } from './Icon';
2
- //# sourceMappingURL=index.js.map
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Icon = void 0;
4
+ var Icon_1 = require("./Icon");
5
+ Object.defineProperty(exports, "Icon", { enumerable: true, get: function () { return Icon_1.Icon; } });
@@ -60,4 +60,3 @@ export type InputProps = {
60
60
  accessibilityLabel?: string;
61
61
  };
62
62
  export declare function Input({ label: formLabel, helperText, placeholder, value, defaultValue, onChangeText, size, error, disabled, leadingIcon, trailingIcon, secureTextEntry, keyboardType, autoCapitalize, returnKeyType, onSubmitEditing, onFocus, onBlur, style, accessibilityLabel, }: InputProps): import("react/jsx-runtime").JSX.Element;
63
- //# sourceMappingURL=Input.d.ts.map
@@ -1,4 +1,7 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Input = Input;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
2
5
  /**
3
6
  * Input — single-line text field with label and helper/error text.
4
7
  *
@@ -15,11 +18,11 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
15
18
  * Label uses the label scale, the value/placeholder the body scale (both
16
19
  * matched to size); helper text uses the caption scale.
17
20
  */
18
- import { useState } from 'react';
19
- import { View, Text, TextInput, Platform, } from 'react-native';
20
- import { useTheme } from '../../theme';
21
- import { Icon } from '../Icon';
22
- import { fontFamily, fontWeight, label, body, caption, controlTokens, } from '../../tokens';
21
+ const react_1 = require("react");
22
+ const react_native_1 = require("react-native");
23
+ const theme_1 = require("../../theme");
24
+ const Icon_1 = require("../Icon");
25
+ const tokens_1 = require("../../tokens");
23
26
  // ---------------------------------------------------------------------------
24
27
  // Constants
25
28
  // ---------------------------------------------------------------------------
@@ -39,13 +42,13 @@ const BODY_SCALE = {
39
42
  // ---------------------------------------------------------------------------
40
43
  // Component
41
44
  // ---------------------------------------------------------------------------
42
- export function Input({ label: formLabel, helperText, placeholder, value, defaultValue, onChangeText, size = 'default', error = false, disabled = false, leadingIcon, trailingIcon, secureTextEntry, keyboardType, autoCapitalize, returnKeyType, onSubmitEditing, onFocus, onBlur, style, accessibilityLabel, }) {
43
- const { components, scheme } = useTheme();
45
+ function Input({ label: formLabel, helperText, placeholder, value, defaultValue, onChangeText, size = 'default', error = false, disabled = false, leadingIcon, trailingIcon, secureTextEntry, keyboardType, autoCapitalize, returnKeyType, onSubmitEditing, onFocus, onBlur, style, accessibilityLabel, }) {
46
+ const { components, scheme } = (0, theme_1.useTheme)();
44
47
  const sizeTokens = components.input[size];
45
- const labelTypo = label[LABEL_SCALE[size]];
46
- const bodyTypo = body[BODY_SCALE[size]];
47
- const [isHovered, setIsHovered] = useState(false);
48
- const [isFocused, setIsFocused] = useState(false);
48
+ const labelTypo = tokens_1.label[LABEL_SCALE[size]];
49
+ const bodyTypo = tokens_1.body[BODY_SCALE[size]];
50
+ const [isHovered, setIsHovered] = (0, react_1.useState)(false);
51
+ const [isFocused, setIsFocused] = (0, react_1.useState)(false);
49
52
  const disabledColors = scheme.disabled;
50
53
  const errorTokens = scheme.error;
51
54
  const textTokens = scheme.text;
@@ -57,27 +60,27 @@ export function Input({ label: formLabel, helperText, placeholder, value, defaul
57
60
  if (disabled) {
58
61
  bg = disabledColors.bg;
59
62
  borderColor = disabledColors.border;
60
- borderWidth = controlTokens.borderWidth;
63
+ borderWidth = tokens_1.controlTokens.borderWidth;
61
64
  }
62
65
  else if (isFocused) {
63
66
  bg = neutral.default.bg;
64
67
  borderColor = scheme.focusRing.color;
65
- borderWidth = controlTokens.focusRingWidth;
68
+ borderWidth = tokens_1.controlTokens.focusRingWidth;
66
69
  }
67
70
  else if (error) {
68
71
  bg = neutral.default.bg;
69
72
  borderColor = errorTokens.border;
70
- borderWidth = controlTokens.borderWidth;
73
+ borderWidth = tokens_1.controlTokens.borderWidth;
71
74
  }
72
75
  else if (isHovered) {
73
76
  bg = neutral.hover.bg;
74
77
  borderColor = neutral.hover.border;
75
- borderWidth = controlTokens.borderWidth;
78
+ borderWidth = tokens_1.controlTokens.borderWidth;
76
79
  }
77
80
  else {
78
81
  bg = neutral.default.bg;
79
82
  borderColor = neutral.default.border;
80
- borderWidth = controlTokens.borderWidth;
83
+ borderWidth = tokens_1.controlTokens.borderWidth;
81
84
  }
82
85
  const textColor = disabled ? disabledColors.fg : neutral.default.fg;
83
86
  const labelColor = disabled ? disabledColors.fg : neutral.default.fg;
@@ -87,19 +90,19 @@ export function Input({ label: formLabel, helperText, placeholder, value, defaul
87
90
  ? errorTokens.fg
88
91
  : textTokens.description;
89
92
  const iconColor = disabled ? disabledColors.fg : neutral.default.fg;
90
- const resolvedLeading = typeof leadingIcon === 'string' ? (_jsx(Icon, { name: leadingIcon, size: ICON_SIZE, color: iconColor })) : (leadingIcon);
91
- const resolvedTrailing = typeof trailingIcon === 'string' ? (_jsx(Icon, { name: trailingIcon, size: ICON_SIZE, color: iconColor })) : (trailingIcon);
92
- return (_jsxs(View, { style: [
93
+ const resolvedLeading = typeof leadingIcon === 'string' ? ((0, jsx_runtime_1.jsx)(Icon_1.Icon, { name: leadingIcon, size: ICON_SIZE, color: iconColor })) : (leadingIcon);
94
+ const resolvedTrailing = typeof trailingIcon === 'string' ? ((0, jsx_runtime_1.jsx)(Icon_1.Icon, { name: trailingIcon, size: ICON_SIZE, color: iconColor })) : (trailingIcon);
95
+ return ((0, jsx_runtime_1.jsxs)(react_native_1.View, { style: [
93
96
  { alignSelf: 'stretch', gap: components.input.fieldGap },
94
97
  style,
95
- ], children: [formLabel ? (_jsx(Text, { style: {
96
- fontFamily: fontFamily.sans,
97
- fontWeight: fontWeight.medium,
98
+ ], children: [formLabel ? ((0, jsx_runtime_1.jsx)(react_native_1.Text, { style: {
99
+ fontFamily: tokens_1.fontFamily.sans,
100
+ fontWeight: tokens_1.fontWeight.medium,
98
101
  fontSize: labelTypo.fontSize,
99
102
  lineHeight: labelTypo.lineHeight,
100
103
  letterSpacing: labelTypo.letterSpacing,
101
104
  color: labelColor,
102
- }, selectable: false, children: formLabel })) : null, _jsxs(View, { onPointerEnter: disabled ? undefined : () => setIsHovered(true), onPointerLeave: disabled ? undefined : () => setIsHovered(false), style: {
105
+ }, selectable: false, children: formLabel })) : null, (0, jsx_runtime_1.jsxs)(react_native_1.View, { onPointerEnter: disabled ? undefined : () => setIsHovered(true), onPointerLeave: disabled ? undefined : () => setIsHovered(false), style: {
103
106
  flexDirection: 'row',
104
107
  alignItems: 'center',
105
108
  gap: sizeTokens.gap,
@@ -109,7 +112,7 @@ export function Input({ label: formLabel, helperText, placeholder, value, defaul
109
112
  borderWidth,
110
113
  borderColor,
111
114
  backgroundColor: bg,
112
- }, children: [resolvedLeading ? (_jsx(View, { accessibilityElementsHidden: true, importantForAccessibility: "no", style: { width: ICON_SIZE, height: ICON_SIZE }, children: resolvedLeading })) : null, _jsx(TextInput, { value: value, defaultValue: defaultValue, onChangeText: onChangeText, placeholder: placeholder, placeholderTextColor: textTokens.placeholder, editable: !disabled, secureTextEntry: secureTextEntry, keyboardType: keyboardType, autoCapitalize: autoCapitalize, returnKeyType: returnKeyType, onSubmitEditing: onSubmitEditing, onFocus: () => {
115
+ }, children: [resolvedLeading ? ((0, jsx_runtime_1.jsx)(react_native_1.View, { accessibilityElementsHidden: true, importantForAccessibility: "no", style: { width: ICON_SIZE, height: ICON_SIZE }, children: resolvedLeading })) : null, (0, jsx_runtime_1.jsx)(react_native_1.TextInput, { value: value, defaultValue: defaultValue, onChangeText: onChangeText, placeholder: placeholder, placeholderTextColor: textTokens.placeholder, editable: !disabled, secureTextEntry: secureTextEntry, keyboardType: keyboardType, autoCapitalize: autoCapitalize, returnKeyType: returnKeyType, onSubmitEditing: onSubmitEditing, onFocus: () => {
113
116
  setIsFocused(true);
114
117
  onFocus?.();
115
118
  }, onBlur: () => {
@@ -117,23 +120,22 @@ export function Input({ label: formLabel, helperText, placeholder, value, defaul
117
120
  onBlur?.();
118
121
  }, accessibilityLabel: accessibilityLabel || formLabel, style: {
119
122
  flex: 1,
120
- fontFamily: fontFamily.sans,
121
- fontWeight: fontWeight.regular,
123
+ fontFamily: tokens_1.fontFamily.sans,
124
+ fontWeight: tokens_1.fontWeight.regular,
122
125
  fontSize: bodyTypo.fontSize,
123
126
  lineHeight: bodyTypo.lineHeight,
124
127
  letterSpacing: bodyTypo.letterSpacing,
125
128
  color: textColor,
126
129
  padding: 0,
127
- ...(Platform.OS === 'web'
130
+ ...(react_native_1.Platform.OS === 'web'
128
131
  ? { outlineWidth: 0 }
129
132
  : {}),
130
- } }), resolvedTrailing ? (_jsx(View, { accessibilityElementsHidden: true, importantForAccessibility: "no", style: { width: ICON_SIZE, height: ICON_SIZE }, children: resolvedTrailing })) : null] }), helperText ? (_jsx(Text, { style: {
131
- fontFamily: fontFamily.sans,
132
- fontWeight: fontWeight.regular,
133
- fontSize: caption.fontSize,
134
- lineHeight: caption.lineHeight,
135
- letterSpacing: caption.letterSpacing,
133
+ } }), resolvedTrailing ? ((0, jsx_runtime_1.jsx)(react_native_1.View, { accessibilityElementsHidden: true, importantForAccessibility: "no", style: { width: ICON_SIZE, height: ICON_SIZE }, children: resolvedTrailing })) : null] }), helperText ? ((0, jsx_runtime_1.jsx)(react_native_1.Text, { style: {
134
+ fontFamily: tokens_1.fontFamily.sans,
135
+ fontWeight: tokens_1.fontWeight.regular,
136
+ fontSize: tokens_1.caption.fontSize,
137
+ lineHeight: tokens_1.caption.lineHeight,
138
+ letterSpacing: tokens_1.caption.letterSpacing,
136
139
  color: helperColor,
137
140
  }, selectable: false, children: helperText })) : null] }));
138
141
  }
139
- //# sourceMappingURL=Input.js.map
@@ -1,2 +1 @@
1
1
  export { Input, type InputProps, type InputSize } from './Input';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1,2 +1,5 @@
1
- export { Input } from './Input';
2
- //# sourceMappingURL=index.js.map
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Input = void 0;
4
+ var Input_1 = require("./Input");
5
+ Object.defineProperty(exports, "Input", { enumerable: true, get: function () { return Input_1.Input; } });
@@ -56,4 +56,3 @@ export type ListItemProps = {
56
56
  accessibilityLabel?: string;
57
57
  };
58
58
  export declare function ListItem({ children, description, icon, trailingIcon, selected, disabled, onPress, style, accessibilityLabel, }: ListItemProps): import("react/jsx-runtime").JSX.Element;
59
- //# sourceMappingURL=List.d.ts.map