@hzblj/kara-components 0.16.0 → 0.18.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 (211) hide show
  1. package/CHANGELOG.md +62 -0
  2. package/lib/module/atoms/badge/badge.android.js +5 -0
  3. package/lib/module/atoms/badge/badge.android.js.map +1 -1
  4. package/lib/module/atoms/badge/badge.ios.js +2 -0
  5. package/lib/module/atoms/badge/badge.ios.js.map +1 -1
  6. package/lib/module/atoms/button/button-tokens.js +8 -0
  7. package/lib/module/atoms/button/button-tokens.js.map +1 -1
  8. package/lib/module/atoms/button/button.android.js +43 -15
  9. package/lib/module/atoms/button/button.android.js.map +1 -1
  10. package/lib/module/atoms/button/button.ios.js +66 -10
  11. package/lib/module/atoms/button/button.ios.js.map +1 -1
  12. package/lib/module/atoms/checkbox/checkbox.android.js +5 -1
  13. package/lib/module/atoms/checkbox/checkbox.android.js.map +1 -1
  14. package/lib/module/atoms/checkbox/checkbox.ios.js +3 -1
  15. package/lib/module/atoms/checkbox/checkbox.ios.js.map +1 -1
  16. package/lib/module/atoms/color-picker/color-picker.android.js +4 -0
  17. package/lib/module/atoms/color-picker/color-picker.android.js.map +1 -1
  18. package/lib/module/atoms/color-picker/color-picker.ios.js +24 -2
  19. package/lib/module/atoms/color-picker/color-picker.ios.js.map +1 -1
  20. package/lib/module/atoms/date-picker/date-picker.android.js +85 -10
  21. package/lib/module/atoms/date-picker/date-picker.android.js.map +1 -1
  22. package/lib/module/atoms/date-picker/date-picker.ios.js +9 -7
  23. package/lib/module/atoms/date-picker/date-picker.ios.js.map +1 -1
  24. package/lib/module/atoms/divider/divider.android.js +17 -4
  25. package/lib/module/atoms/divider/divider.android.js.map +1 -1
  26. package/lib/module/atoms/divider/divider.ios.js +4 -0
  27. package/lib/module/atoms/divider/divider.ios.js.map +1 -1
  28. package/lib/module/atoms/fab/fab.android.js +64 -8
  29. package/lib/module/atoms/fab/fab.android.js.map +1 -1
  30. package/lib/module/atoms/fab/fab.ios.js +68 -12
  31. package/lib/module/atoms/fab/fab.ios.js.map +1 -1
  32. package/lib/module/atoms/icon-button/icon-button.android.js +48 -5
  33. package/lib/module/atoms/icon-button/icon-button.android.js.map +1 -1
  34. package/lib/module/atoms/icon-button/icon-button.ios.js +60 -10
  35. package/lib/module/atoms/icon-button/icon-button.ios.js.map +1 -1
  36. package/lib/module/atoms/list/list.android.js +32 -4
  37. package/lib/module/atoms/list/list.android.js.map +1 -1
  38. package/lib/module/atoms/list/list.ios.js +15 -5
  39. package/lib/module/atoms/list/list.ios.js.map +1 -1
  40. package/lib/module/atoms/picker/picker.ios.js +27 -15
  41. package/lib/module/atoms/picker/picker.ios.js.map +1 -1
  42. package/lib/module/atoms/progress/progress.android.js +21 -7
  43. package/lib/module/atoms/progress/progress.android.js.map +1 -1
  44. package/lib/module/atoms/progress/progress.ios.js +5 -1
  45. package/lib/module/atoms/progress/progress.ios.js.map +1 -1
  46. package/lib/module/atoms/slider/slider.android.js +16 -2
  47. package/lib/module/atoms/slider/slider.android.js.map +1 -1
  48. package/lib/module/atoms/slider/slider.ios.js +22 -2
  49. package/lib/module/atoms/slider/slider.ios.js.map +1 -1
  50. package/lib/module/atoms/switch/switch.android.js +5 -1
  51. package/lib/module/atoms/switch/switch.android.js.map +1 -1
  52. package/lib/module/atoms/switch/switch.ios.js +3 -1
  53. package/lib/module/atoms/switch/switch.ios.js.map +1 -1
  54. package/lib/module/atoms/text/spans.js +2 -1
  55. package/lib/module/atoms/text/spans.js.map +1 -1
  56. package/lib/module/atoms/text/text.android.js +18 -6
  57. package/lib/module/atoms/text/text.android.js.map +1 -1
  58. package/lib/module/atoms/text/text.ios.js +6 -2
  59. package/lib/module/atoms/text/text.ios.js.map +1 -1
  60. package/lib/module/atoms/text-field/text-field-input.js +14 -0
  61. package/lib/module/atoms/text-field/text-field-input.js.map +1 -0
  62. package/lib/module/atoms/text-field/text-field.android.js +113 -6
  63. package/lib/module/atoms/text-field/text-field.android.js.map +1 -1
  64. package/lib/module/atoms/text-field/text-field.ios.js +75 -3
  65. package/lib/module/atoms/text-field/text-field.ios.js.map +1 -1
  66. package/lib/module/molecules/collapsible/collapsible.android.js +4 -3
  67. package/lib/module/molecules/collapsible/collapsible.android.js.map +1 -1
  68. package/lib/module/molecules/collapsible/collapsible.ios.js +3 -1
  69. package/lib/module/molecules/collapsible/collapsible.ios.js.map +1 -1
  70. package/lib/module/molecules/radio-group/radio-group.android.js +10 -2
  71. package/lib/module/molecules/radio-group/radio-group.android.js.map +1 -1
  72. package/lib/module/molecules/radio-group/radio-group.ios.js +6 -2
  73. package/lib/module/molecules/radio-group/radio-group.ios.js.map +1 -1
  74. package/lib/module/molecules/search-bar/search-bar.js +9 -0
  75. package/lib/module/molecules/search-bar/search-bar.js.map +1 -1
  76. package/lib/module/molecules/stepper/stepper.android.js +25 -13
  77. package/lib/module/molecules/stepper/stepper.android.js.map +1 -1
  78. package/lib/module/molecules/stepper/stepper.ios.js +12 -6
  79. package/lib/module/molecules/stepper/stepper.ios.js.map +1 -1
  80. package/lib/module/organisms/action-sheet/action-sheet.android.js +16 -8
  81. package/lib/module/organisms/action-sheet/action-sheet.android.js.map +1 -1
  82. package/lib/module/organisms/action-sheet/action-sheet.ios.js +16 -3
  83. package/lib/module/organisms/action-sheet/action-sheet.ios.js.map +1 -1
  84. package/lib/module/organisms/alert/alert.android.js +4 -3
  85. package/lib/module/organisms/alert/alert.android.js.map +1 -1
  86. package/lib/module/organisms/alert/alert.ios.js +3 -2
  87. package/lib/module/organisms/alert/alert.ios.js.map +1 -1
  88. package/lib/module/organisms/context-menu/context-menu.android.js +3 -1
  89. package/lib/module/organisms/context-menu/context-menu.android.js.map +1 -1
  90. package/lib/module/organisms/context-menu/context-menu.ios.js +1 -0
  91. package/lib/module/organisms/context-menu/context-menu.ios.js.map +1 -1
  92. package/lib/module/organisms/fab-menu/fab-menu.android.js +3 -0
  93. package/lib/module/organisms/fab-menu/fab-menu.android.js.map +1 -1
  94. package/lib/module/organisms/fab-menu/fab-menu.ios.js +3 -0
  95. package/lib/module/organisms/fab-menu/fab-menu.ios.js.map +1 -1
  96. package/lib/module/organisms/menu/menu-parts.js +20 -0
  97. package/lib/module/organisms/menu/menu-parts.js.map +1 -0
  98. package/lib/module/organisms/menu/menu.android.js +51 -19
  99. package/lib/module/organisms/menu/menu.android.js.map +1 -1
  100. package/lib/module/organisms/menu/menu.ios.js +71 -8
  101. package/lib/module/organisms/menu/menu.ios.js.map +1 -1
  102. package/lib/module/organisms/sheet/sheet.js +2 -1
  103. package/lib/module/organisms/sheet/sheet.js.map +1 -1
  104. package/lib/typescript/atoms/badge/badge.types.d.ts +2 -0
  105. package/lib/typescript/atoms/button/button-tokens.d.ts +6 -2
  106. package/lib/typescript/atoms/button/button.types.d.ts +19 -5
  107. package/lib/typescript/atoms/checkbox/checkbox.types.d.ts +2 -0
  108. package/lib/typescript/atoms/color-picker/color-picker.types.d.ts +2 -0
  109. package/lib/typescript/atoms/date-picker/date-picker.ios.d.ts +5 -5
  110. package/lib/typescript/atoms/date-picker/date-picker.types.d.ts +30 -7
  111. package/lib/typescript/atoms/divider/divider.ios.d.ts +4 -0
  112. package/lib/typescript/atoms/divider/divider.types.d.ts +13 -2
  113. package/lib/typescript/atoms/fab/fab.types.d.ts +21 -4
  114. package/lib/typescript/atoms/icon-button/icon-button.types.d.ts +23 -4
  115. package/lib/typescript/atoms/list/list.types.d.ts +15 -1
  116. package/lib/typescript/atoms/picker/picker.ios.d.ts +5 -3
  117. package/lib/typescript/atoms/picker/picker.types.d.ts +11 -3
  118. package/lib/typescript/atoms/progress/progress.types.d.ts +13 -2
  119. package/lib/typescript/atoms/slider/slider.ios.d.ts +4 -0
  120. package/lib/typescript/atoms/slider/slider.types.d.ts +7 -0
  121. package/lib/typescript/atoms/switch/switch.types.d.ts +2 -0
  122. package/lib/typescript/atoms/text/spans.d.ts +2 -0
  123. package/lib/typescript/atoms/text/text.types.d.ts +9 -1
  124. package/lib/typescript/atoms/text-field/text-field-input.d.ts +7 -0
  125. package/lib/typescript/atoms/text-field/text-field.types.d.ts +77 -4
  126. package/lib/typescript/molecules/collapsible/collapsible.types.d.ts +2 -0
  127. package/lib/typescript/molecules/radio-group/radio-group.types.d.ts +4 -0
  128. package/lib/typescript/molecules/search-bar/search-bar.types.d.ts +11 -1
  129. package/lib/typescript/molecules/stepper/stepper.ios.d.ts +2 -1
  130. package/lib/typescript/molecules/stepper/stepper.types.d.ts +17 -0
  131. package/lib/typescript/organisms/action-sheet/action-sheet.ios.d.ts +4 -0
  132. package/lib/typescript/organisms/action-sheet/action-sheet.types.d.ts +8 -3
  133. package/lib/typescript/organisms/alert/alert.types.d.ts +8 -3
  134. package/lib/typescript/organisms/menu/menu-parts.d.ts +14 -0
  135. package/lib/typescript/organisms/menu/menu.types.d.ts +35 -7
  136. package/lib/typescript/organisms/sheet/sheet.types.d.ts +7 -1
  137. package/package.json +4 -4
  138. package/src/atoms/badge/badge.android.tsx +9 -2
  139. package/src/atoms/badge/badge.ios.tsx +2 -2
  140. package/src/atoms/badge/badge.types.ts +2 -0
  141. package/src/atoms/button/button-tokens.ts +6 -3
  142. package/src/atoms/button/button.android.tsx +35 -11
  143. package/src/atoms/button/button.ios.tsx +72 -8
  144. package/src/atoms/button/button.types.ts +20 -5
  145. package/src/atoms/checkbox/checkbox.android.tsx +5 -2
  146. package/src/atoms/checkbox/checkbox.ios.tsx +2 -2
  147. package/src/atoms/checkbox/checkbox.types.ts +2 -0
  148. package/src/atoms/color-picker/color-picker.android.tsx +10 -2
  149. package/src/atoms/color-picker/color-picker.ios.tsx +24 -1
  150. package/src/atoms/color-picker/color-picker.types.ts +2 -0
  151. package/src/atoms/date-picker/date-picker.android.tsx +86 -16
  152. package/src/atoms/date-picker/date-picker.ios.tsx +20 -8
  153. package/src/atoms/date-picker/date-picker.types.ts +31 -7
  154. package/src/atoms/divider/divider.android.tsx +14 -3
  155. package/src/atoms/divider/divider.ios.tsx +4 -0
  156. package/src/atoms/divider/divider.types.ts +14 -2
  157. package/src/atoms/fab/fab.android.tsx +61 -11
  158. package/src/atoms/fab/fab.ios.tsx +48 -13
  159. package/src/atoms/fab/fab.types.ts +22 -4
  160. package/src/atoms/icon-button/icon-button.android.tsx +60 -10
  161. package/src/atoms/icon-button/icon-button.ios.tsx +77 -8
  162. package/src/atoms/icon-button/icon-button.types.ts +24 -4
  163. package/src/atoms/list/list.android.tsx +26 -4
  164. package/src/atoms/list/list.ios.tsx +20 -5
  165. package/src/atoms/list/list.types.ts +16 -1
  166. package/src/atoms/picker/picker.ios.tsx +46 -16
  167. package/src/atoms/picker/picker.types.ts +12 -3
  168. package/src/atoms/progress/progress.android.tsx +32 -6
  169. package/src/atoms/progress/progress.ios.tsx +11 -5
  170. package/src/atoms/progress/progress.types.ts +13 -2
  171. package/src/atoms/slider/slider.android.tsx +18 -2
  172. package/src/atoms/slider/slider.ios.tsx +38 -2
  173. package/src/atoms/slider/slider.types.ts +7 -0
  174. package/src/atoms/switch/switch.android.tsx +5 -2
  175. package/src/atoms/switch/switch.ios.tsx +2 -2
  176. package/src/atoms/switch/switch.types.ts +2 -0
  177. package/src/atoms/text/spans.ts +2 -1
  178. package/src/atoms/text/text.android.tsx +20 -7
  179. package/src/atoms/text/text.ios.tsx +7 -0
  180. package/src/atoms/text/text.types.ts +10 -1
  181. package/src/atoms/text-field/text-field-input.ts +17 -0
  182. package/src/atoms/text-field/text-field.android.tsx +132 -9
  183. package/src/atoms/text-field/text-field.ios.tsx +110 -6
  184. package/src/atoms/text-field/text-field.types.ts +98 -4
  185. package/src/molecules/collapsible/collapsible.android.tsx +10 -2
  186. package/src/molecules/collapsible/collapsible.ios.tsx +8 -2
  187. package/src/molecules/collapsible/collapsible.types.ts +2 -0
  188. package/src/molecules/radio-group/radio-group.android.tsx +18 -4
  189. package/src/molecules/radio-group/radio-group.ios.tsx +19 -5
  190. package/src/molecules/radio-group/radio-group.types.ts +4 -0
  191. package/src/molecules/search-bar/search-bar.tsx +9 -0
  192. package/src/molecules/search-bar/search-bar.types.ts +12 -1
  193. package/src/molecules/stepper/stepper.android.tsx +24 -4
  194. package/src/molecules/stepper/stepper.ios.tsx +23 -8
  195. package/src/molecules/stepper/stepper.types.ts +17 -0
  196. package/src/organisms/action-sheet/action-sheet.android.tsx +23 -11
  197. package/src/organisms/action-sheet/action-sheet.ios.tsx +20 -3
  198. package/src/organisms/action-sheet/action-sheet.types.ts +8 -3
  199. package/src/organisms/alert/alert.android.tsx +11 -8
  200. package/src/organisms/alert/alert.ios.tsx +2 -1
  201. package/src/organisms/alert/alert.types.ts +8 -3
  202. package/src/organisms/context-menu/context-menu.android.tsx +3 -2
  203. package/src/organisms/context-menu/context-menu.ios.tsx +1 -0
  204. package/src/organisms/fab-menu/fab-menu.android.tsx +3 -0
  205. package/src/organisms/fab-menu/fab-menu.ios.tsx +9 -1
  206. package/src/organisms/menu/menu-parts.ts +21 -0
  207. package/src/organisms/menu/menu.android.tsx +39 -10
  208. package/src/organisms/menu/menu.ios.tsx +55 -5
  209. package/src/organisms/menu/menu.types.ts +30 -7
  210. package/src/organisms/sheet/sheet.tsx +2 -1
  211. package/src/organisms/sheet/sheet.types.ts +7 -1
@@ -1,12 +1,13 @@
1
1
  "use strict";
2
2
 
3
3
  import { SecureField, TextField as SwiftUITextField, useNativeState, VStack } from '@expo/ui/swift-ui';
4
- import { disabled as disabledModifier, textFieldStyle } from '@expo/ui/swift-ui/modifiers';
4
+ import { autocorrectionDisabled, disabled as disabledModifier, keyboardType, onSubmit as onSubmitModifier, submitLabel as submitLabelModifier, textContentType, textFieldStyle, textInputAutocapitalization } from '@expo/ui/swift-ui/modifiers';
5
5
  import { useSxModifiers } from '@hzblj/kara-sx';
6
6
  import { spacing } from '@hzblj/kara-theme';
7
- import { useMemo } from 'react';
7
+ import { useImperativeHandle, useMemo, useRef } from 'react';
8
8
  import { useHostGuard } from "../../host-context.js";
9
9
  import { Text } from "../text/index.js";
10
+ import { autoCorrectFor, capitalizationFor, ignoreDetachedView } from "./text-field-input.js";
10
11
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
11
12
  const TONE = {
12
13
  default: {
@@ -26,6 +27,22 @@ const TONE = {
26
27
  }
27
28
  };
28
29
 
30
+ /** UIKit's keyboards. `number` is the digits-only pad, which, like `decimal` and `phone`, has no return key. */
31
+ const KEYBOARD = {
32
+ decimal: 'decimal-pad',
33
+ default: 'default',
34
+ email: 'email-address',
35
+ number: 'numeric',
36
+ phone: 'phone-pad',
37
+ url: 'url'
38
+ };
39
+ const CAPITALIZATION = {
40
+ characters: 'characters',
41
+ none: 'never',
42
+ sentences: 'sentences',
43
+ words: 'words'
44
+ };
45
+
29
46
  /**
30
47
  * Disabled outranks error — a field nobody can edit should recede rather than shout. `.disabled` only
31
48
  * dims the text, so the chrome has to carry the state itself.
@@ -37,19 +54,45 @@ const toneOf = (disabled, error) => {
37
54
  return error ? 'error' : 'default';
38
55
  };
39
56
  export const TextField = ({
57
+ autoCapitalize,
58
+ autoCorrect,
59
+ autoFocus = false,
60
+ contentType,
40
61
  defaultValue = '',
41
62
  disabled = false,
42
63
  error = false,
64
+ keyboard = 'default',
43
65
  label,
66
+ maxLength,
44
67
  multiline = false,
45
68
  onChangeText,
69
+ onFocusChange,
70
+ onSubmit,
71
+ placeholder,
72
+ ref,
46
73
  secure = false,
74
+ submitLabel,
47
75
  testID
48
76
  }) => {
49
77
  useHostGuard('TextField');
50
78
  const text = useNativeState(defaultValue);
79
+ // One handle for either field: `SecureFieldRef` is `TextFieldRef` without the selection.
80
+ const field = useRef(null);
51
81
  const tone = TONE[toneOf(disabled, Boolean(error))];
52
82
  const message = tone === TONE.error && typeof error === 'string' && error ? error : undefined;
83
+ const capitalization = capitalizationFor(keyboard, autoCapitalize);
84
+ const corrects = autoCorrectFor(keyboard, autoCorrect);
85
+ // A `SecureField` is one line whatever `multiline` says; a vertical `TextField`'s return key starts a new line.
86
+ const singleLine = secure || !multiline;
87
+ useImperativeHandle(ref, () => ({
88
+ blur: () => field.current?.blur().catch(ignoreDetachedView),
89
+ // Neither field reports a text set from code, so the change is reported here.
90
+ clear: () => {
91
+ field.current?.clear().catch(ignoreDetachedView);
92
+ onChangeText?.('');
93
+ },
94
+ focus: () => field.current?.focus().catch(ignoreDetachedView)
95
+ }), [onChangeText]);
53
96
  const sxModifiers = useSxModifiers({
54
97
  bg: tone.bg,
55
98
  borderColor: tone.border,
@@ -64,8 +107,27 @@ export const TextField = ({
64
107
  if (disabled) {
65
108
  list.push(disabledModifier(true));
66
109
  }
110
+ if (keyboard !== 'default') {
111
+ list.push(keyboardType(KEYBOARD[keyboard]));
112
+ }
113
+ if (capitalization) {
114
+ list.push(textInputAutocapitalization(CAPITALIZATION[capitalization]));
115
+ }
116
+ if (!corrects) {
117
+ list.push(autocorrectionDisabled(true));
118
+ }
119
+ if (contentType) {
120
+ list.push(textContentType(contentType));
121
+ }
122
+ if (singleLine && submitLabel) {
123
+ list.push(submitLabelModifier(submitLabel));
124
+ }
125
+ if (singleLine && onSubmit) {
126
+ // `onSubmit` reports no text, so it is read off the field's state, which the typing has already written.
127
+ list.push(onSubmitModifier(() => onSubmit(text.get())));
128
+ }
67
129
  return list;
68
- }, [disabled, sxModifiers]);
130
+ }, [capitalization, contentType, corrects, disabled, keyboard, onSubmit, singleLine, submitLabel, sxModifiers, text]);
69
131
  return /*#__PURE__*/_jsxs(VStack, {
70
132
  alignment: "leading",
71
133
  spacing: spacing.s4,
@@ -74,14 +136,24 @@ export const TextField = ({
74
136
  variant: "labelMedium",
75
137
  children: label
76
138
  }) : null, secure ? /*#__PURE__*/_jsx(SecureField, {
139
+ autoFocus: autoFocus,
140
+ maxLength: maxLength,
77
141
  modifiers: modifiers,
142
+ onFocusChange: onFocusChange,
78
143
  onTextChange: onChangeText,
144
+ placeholder: placeholder,
145
+ ref: field,
79
146
  testID: testID,
80
147
  text: text
81
148
  }) : /*#__PURE__*/_jsx(SwiftUITextField, {
149
+ autoFocus: autoFocus,
82
150
  axis: multiline ? 'vertical' : 'horizontal',
151
+ maxLength: maxLength,
83
152
  modifiers: modifiers,
153
+ onFocusChange: onFocusChange,
84
154
  onTextChange: onChangeText,
155
+ placeholder: placeholder,
156
+ ref: field,
85
157
  testID: testID,
86
158
  text: text
87
159
  }), message ? /*#__PURE__*/_jsx(Text, {
@@ -1 +1 @@
1
- {"version":3,"names":["SecureField","TextField","SwiftUITextField","useNativeState","VStack","disabled","disabledModifier","textFieldStyle","useSxModifiers","spacing","useMemo","useHostGuard","Text","jsx","_jsx","jsxs","_jsxs","TONE","default","bg","border","label","error","toneOf","defaultValue","multiline","onChangeText","secure","testID","text","tone","Boolean","message","undefined","sxModifiers","borderColor","borderRadius","borderWidth","px","py","wide","modifiers","list","push","alignment","s4","children","color","variant","onTextChange","axis"],"sourceRoot":"../../../../src","sources":["atoms/text-field/text-field.ios.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["SecureField","TextField","SwiftUITextField","useNativeState","VStack","autocorrectionDisabled","disabled","disabledModifier","keyboardType","onSubmit","onSubmitModifier","submitLabel","submitLabelModifier","textContentType","textFieldStyle","textInputAutocapitalization","useSxModifiers","spacing","useImperativeHandle","useMemo","useRef","useHostGuard","Text","autoCorrectFor","capitalizationFor","ignoreDetachedView","jsx","_jsx","jsxs","_jsxs","TONE","default","bg","border","label","error","KEYBOARD","decimal","email","number","phone","url","CAPITALIZATION","characters","none","sentences","words","toneOf","autoCapitalize","autoCorrect","autoFocus","contentType","defaultValue","keyboard","maxLength","multiline","onChangeText","onFocusChange","placeholder","ref","secure","testID","text","field","tone","Boolean","message","undefined","capitalization","corrects","singleLine","blur","current","catch","clear","focus","sxModifiers","borderColor","borderRadius","borderWidth","px","py","wide","modifiers","list","push","get","alignment","s4","children","color","variant","onTextChange","axis"],"sourceRoot":"../../../../src","sources":["atoms/text-field/text-field.ios.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  import { AnimatedVisibility, Box, Column, Text as ComposeText, EnterTransition, ExitTransition, Row } from '@expo/ui/jetpack-compose';
4
- import { animated, clickable, defaultMinSize, fillMaxWidth, graphicsLayer, tween } from '@expo/ui/jetpack-compose/modifiers';
4
+ import { animated, clickable, defaultMinSize, fillMaxWidth, graphicsLayer, testID as testIdModifier, tween } from '@expo/ui/jetpack-compose/modifiers';
5
5
  import { useAccessibilityModifiers } from '@hzblj/kara-sx';
6
6
  import { duration, useAppTheme, useReducedMotion } from '@hzblj/kara-theme';
7
7
  import { useMemo } from 'react';
@@ -38,7 +38,8 @@ export const Collapsible = ({
38
38
  children,
39
39
  expanded,
40
40
  label,
41
- onExpandedChange
41
+ onExpandedChange,
42
+ testID
42
43
  }) => {
43
44
  useHostGuard('Collapsible');
44
45
  const theme = useAppTheme();
@@ -46,7 +47,7 @@ export const Collapsible = ({
46
47
  const accessibilityModifiers = useAccessibilityModifiers({}, true);
47
48
  const modifiers = useMemo(() => [fillMaxWidth(), defaultMinSize({
48
49
  minHeight: ROW_HEIGHT
49
- }), clickable(() => onExpandedChange(!expanded)), ...accessibilityModifiers], [accessibilityModifiers, expanded, onExpandedChange]);
50
+ }), ...(testID ? [testIdModifier(testID)] : []), clickable(() => onExpandedChange(!expanded)), ...accessibilityModifiers], [accessibilityModifiers, expanded, onExpandedChange, testID]);
50
51
  const turn = useMemo(() => [graphicsLayer({
51
52
  rotationZ: animated(expanded ? 90 : 0, reduced ? SNAP : TURN)
52
53
  })], [expanded, reduced]);
@@ -1 +1 @@
1
- {"version":3,"names":["AnimatedVisibility","Box","Column","Text","ComposeText","EnterTransition","ExitTransition","Row","animated","clickable","defaultMinSize","fillMaxWidth","graphicsLayer","tween","useAccessibilityModifiers","duration","useAppTheme","useReducedMotion","useMemo","Glyph","useHostGuard","jsx","_jsx","jsxs","_jsxs","TURN","durationMillis","fast","easing","SNAP","none","ENTER","expandVertically","plus","fadeIn","EXIT","shrinkVertically","fadeOut","FADE_IN","FADE_OUT","WIDE","ROW_HEIGHT","Collapsible","children","expanded","label","onExpandedChange","theme","reduced","accessibilityModifiers","modifiers","minHeight","turn","rotationZ","horizontalArrangement","verticalAlignment","color","colorString","style","typography","body","name","size","enterTransition","exitTransition","visible"],"sourceRoot":"../../../../src","sources":["molecules/collapsible/collapsible.android.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["AnimatedVisibility","Box","Column","Text","ComposeText","EnterTransition","ExitTransition","Row","animated","clickable","defaultMinSize","fillMaxWidth","graphicsLayer","testID","testIdModifier","tween","useAccessibilityModifiers","duration","useAppTheme","useReducedMotion","useMemo","Glyph","useHostGuard","jsx","_jsx","jsxs","_jsxs","TURN","durationMillis","fast","easing","SNAP","none","ENTER","expandVertically","plus","fadeIn","EXIT","shrinkVertically","fadeOut","FADE_IN","FADE_OUT","WIDE","ROW_HEIGHT","Collapsible","children","expanded","label","onExpandedChange","theme","reduced","accessibilityModifiers","modifiers","minHeight","turn","rotationZ","horizontalArrangement","verticalAlignment","color","colorString","style","typography","body","name","size","enterTransition","exitTransition","visible"],"sourceRoot":"../../../../src","sources":["molecules/collapsible/collapsible.android.tsx"],"mappings":"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","ignoreList":[]}
@@ -7,13 +7,15 @@ export const Collapsible = ({
7
7
  children,
8
8
  expanded,
9
9
  label,
10
- onExpandedChange
10
+ onExpandedChange,
11
+ testID
11
12
  }) => {
12
13
  useHostGuard('Collapsible');
13
14
  return /*#__PURE__*/_jsx(DisclosureGroup, {
14
15
  isExpanded: expanded,
15
16
  label: label,
16
17
  onIsExpandedChange: onExpandedChange,
18
+ testID: testID,
17
19
  children: children
18
20
  });
19
21
  };
@@ -1 +1 @@
1
- {"version":3,"names":["DisclosureGroup","useHostGuard","jsx","_jsx","Collapsible","children","expanded","label","onExpandedChange","isExpanded","onIsExpandedChange"],"sourceRoot":"../../../../src","sources":["molecules/collapsible/collapsible.ios.tsx"],"mappings":";;AAAA,SAAQA,eAAe,QAAO,mBAAmB;AAEjD,SAAQC,YAAY,QAAO,uBAAoB;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAG/C,OAAO,MAAMC,WAAiC,GAAGA,CAAC;EAACC,QAAQ;EAAEC,QAAQ;EAAEC,KAAK;EAAEC;AAAkC,CAAC,KAAK;EACpHP,YAAY,CAAC,aAAa,CAAC;EAE3B,oBACEE,IAAA,CAACH,eAAe;IAACS,UAAU,EAAEH,QAAS;IAACC,KAAK,EAAEA,KAAM;IAACG,kBAAkB,EAAEF,gBAAiB;IAAAH,QAAA,EACvFA;EAAQ,CACM,CAAC;AAEtB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["DisclosureGroup","useHostGuard","jsx","_jsx","Collapsible","children","expanded","label","onExpandedChange","testID","isExpanded","onIsExpandedChange"],"sourceRoot":"../../../../src","sources":["molecules/collapsible/collapsible.ios.tsx"],"mappings":";;AAAA,SAAQA,eAAe,QAAO,mBAAmB;AAEjD,SAAQC,YAAY,QAAO,uBAAoB;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAG/C,OAAO,MAAMC,WAAiC,GAAGA,CAAC;EAChDC,QAAQ;EACRC,QAAQ;EACRC,KAAK;EACLC,gBAAgB;EAChBC;AACgB,CAAC,KAAK;EACtBR,YAAY,CAAC,aAAa,CAAC;EAE3B,oBACEE,IAAA,CAACH,eAAe;IAACU,UAAU,EAAEJ,QAAS;IAACC,KAAK,EAAEA,KAAM;IAACI,kBAAkB,EAAEH,gBAAiB;IAACC,MAAM,EAAEA,MAAO;IAAAJ,QAAA,EACvGA;EAAQ,CACM,CAAC;AAEtB,CAAC","ignoreList":[]}
@@ -6,27 +6,35 @@ import { useAppTheme } from '@hzblj/kara-theme';
6
6
  import { VStack } from "../../atoms/v-stack/index.js";
7
7
  import { useHostGuard } from "../../host-context.js";
8
8
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
+ /**
10
+ * Material's radio buttons, each in a full-width row that selects it as a whole. A disabled group keeps every
11
+ * button's handler, so Material keeps the touch target an enabled one has; `enabled` is what stops the input.
12
+ */
9
13
  export const RadioGroup = ({
14
+ disabled = false,
10
15
  onValueChange,
11
16
  options,
17
+ testID,
12
18
  value
13
19
  }) => {
14
20
  useHostGuard('RadioGroup');
15
21
  const theme = useAppTheme();
16
22
  return /*#__PURE__*/_jsx(VStack, {
17
23
  spacing: "s4",
24
+ testID: testID,
18
25
  wide: true,
19
26
  children: options.map(option => /*#__PURE__*/_jsxs(Row, {
20
- modifiers: [fillMaxWidth(), clickable(() => onValueChange?.(option.value))],
27
+ modifiers: disabled ? [fillMaxWidth()] : [fillMaxWidth(), clickable(() => onValueChange?.(option.value))],
21
28
  verticalAlignment: "center",
22
29
  children: [/*#__PURE__*/_jsx(RadioButton, {
23
30
  colors: {
24
31
  selectedColor: theme.color('fill.accent.primary')
25
32
  },
33
+ enabled: !disabled,
26
34
  onClick: () => onValueChange?.(option.value),
27
35
  selected: option.value === value
28
36
  }), /*#__PURE__*/_jsx(ComposeText, {
29
- color: theme.colorString('content.primary'),
37
+ color: theme.colorString(disabled ? 'content.tertiary' : 'content.primary'),
30
38
  style: theme.typography.body,
31
39
  children: option.label
32
40
  })]
@@ -1 +1 @@
1
- {"version":3,"names":["Text","ComposeText","RadioButton","Row","clickable","fillMaxWidth","useAppTheme","VStack","useHostGuard","jsx","_jsx","jsxs","_jsxs","RadioGroup","onValueChange","options","value","theme","spacing","wide","children","map","option","modifiers","verticalAlignment","colors","selectedColor","color","onClick","selected","colorString","style","typography","body","label"],"sourceRoot":"../../../../src","sources":["molecules/radio-group/radio-group.android.tsx"],"mappings":";;AAAA,SAAQA,IAAI,IAAIC,WAAW,EAAEC,WAAW,EAAEC,GAAG,QAAO,0BAA0B;AAC9E,SAAQC,SAAS,EAAEC,YAAY,QAAO,oCAAoC;AAC1E,SAAQC,WAAW,QAAO,mBAAmB;AAC7C,SAAQC,MAAM,QAAO,8BAAqB;AAC1C,SAAQC,YAAY,QAAO,uBAAoB;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAG/C,OAAO,MAAMC,UAA+B,GAAGA,CAAC;EAACC,aAAa;EAAEC,OAAO;EAAEC;AAAsB,CAAC,KAAK;EACnGR,YAAY,CAAC,YAAY,CAAC;EAE1B,MAAMS,KAAK,GAAGX,WAAW,CAAC,CAAC;EAE3B,oBACEI,IAAA,CAACH,MAAM;IAACW,OAAO,EAAC,IAAI;IAACC,IAAI;IAAAC,QAAA,EACtBL,OAAO,CAACM,GAAG,CAACC,MAAM,iBACjBV,KAAA,CAACT,GAAG;MAEFoB,SAAS,EAAE,CAAClB,YAAY,CAAC,CAAC,EAAED,SAAS,CAAC,MAAMU,aAAa,GAAGQ,MAAM,CAACN,KAAK,CAAC,CAAC,CAAE;MAC5EQ,iBAAiB,EAAC,QAAQ;MAAAJ,QAAA,gBAE1BV,IAAA,CAACR,WAAW;QACVuB,MAAM,EAAE;UAACC,aAAa,EAAET,KAAK,CAACU,KAAK,CAAC,qBAAqB;QAAC,CAAE;QAC5DC,OAAO,EAAEA,CAAA,KAAMd,aAAa,GAAGQ,MAAM,CAACN,KAAK,CAAE;QAC7Ca,QAAQ,EAAEP,MAAM,CAACN,KAAK,KAAKA;MAAM,CAClC,CAAC,eACFN,IAAA,CAACT,WAAW;QAAC0B,KAAK,EAAEV,KAAK,CAACa,WAAW,CAAC,iBAAiB,CAAE;QAACC,KAAK,EAAEd,KAAK,CAACe,UAAU,CAACC,IAAK;QAAAb,QAAA,EACpFE,MAAM,CAACY;MAAK,CACF,CAAC;IAAA,GAXTZ,MAAM,CAACN,KAYT,CACN;EAAC,CACI,CAAC;AAEb,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["Text","ComposeText","RadioButton","Row","clickable","fillMaxWidth","useAppTheme","VStack","useHostGuard","jsx","_jsx","jsxs","_jsxs","RadioGroup","disabled","onValueChange","options","testID","value","theme","spacing","wide","children","map","option","modifiers","verticalAlignment","colors","selectedColor","color","enabled","onClick","selected","colorString","style","typography","body","label"],"sourceRoot":"../../../../src","sources":["molecules/radio-group/radio-group.android.tsx"],"mappings":";;AAAA,SAAQA,IAAI,IAAIC,WAAW,EAAEC,WAAW,EAAEC,GAAG,QAAO,0BAA0B;AAC9E,SAAQC,SAAS,EAAEC,YAAY,QAAO,oCAAoC;AAC1E,SAAQC,WAAW,QAAO,mBAAmB;AAC7C,SAAQC,MAAM,QAAO,8BAAqB;AAC1C,SAAQC,YAAY,QAAO,uBAAoB;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAG/C;AACA;AACA;AACA;AACA,OAAO,MAAMC,UAA+B,GAAGA,CAAC;EAC9CC,QAAQ,GAAG,KAAK;EAChBC,aAAa;EACbC,OAAO;EACPC,MAAM;EACNC;AACe,CAAC,KAAK;EACrBV,YAAY,CAAC,YAAY,CAAC;EAE1B,MAAMW,KAAK,GAAGb,WAAW,CAAC,CAAC;EAE3B,oBACEI,IAAA,CAACH,MAAM;IAACa,OAAO,EAAC,IAAI;IAACH,MAAM,EAAEA,MAAO;IAACI,IAAI;IAAAC,QAAA,EACtCN,OAAO,CAACO,GAAG,CAACC,MAAM,iBACjBZ,KAAA,CAACT,GAAG;MAEFsB,SAAS,EAAEX,QAAQ,GAAG,CAACT,YAAY,CAAC,CAAC,CAAC,GAAG,CAACA,YAAY,CAAC,CAAC,EAAED,SAAS,CAAC,MAAMW,aAAa,GAAGS,MAAM,CAACN,KAAK,CAAC,CAAC,CAAE;MAC1GQ,iBAAiB,EAAC,QAAQ;MAAAJ,QAAA,gBAE1BZ,IAAA,CAACR,WAAW;QACVyB,MAAM,EAAE;UAACC,aAAa,EAAET,KAAK,CAACU,KAAK,CAAC,qBAAqB;QAAC,CAAE;QAC5DC,OAAO,EAAE,CAAChB,QAAS;QACnBiB,OAAO,EAAEA,CAAA,KAAMhB,aAAa,GAAGS,MAAM,CAACN,KAAK,CAAE;QAC7Cc,QAAQ,EAAER,MAAM,CAACN,KAAK,KAAKA;MAAM,CAClC,CAAC,eACFR,IAAA,CAACT,WAAW;QACV4B,KAAK,EAAEV,KAAK,CAACc,WAAW,CAACnB,QAAQ,GAAG,kBAAkB,GAAG,iBAAiB,CAAE;QAC5EoB,KAAK,EAAEf,KAAK,CAACgB,UAAU,CAACC,IAAK;QAAAd,QAAA,EAE5BE,MAAM,CAACa;MAAK,CACF,CAAC;IAAA,GAfTb,MAAM,CAACN,KAgBT,CACN;EAAC,CACI,CAAC;AAEb,CAAC","ignoreList":[]}
@@ -8,23 +8,27 @@ import { Glyph } from "../../glyph/index.js";
8
8
  import { useHostGuard } from "../../host-context.js";
9
9
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
10
  export const RadioGroup = ({
11
+ disabled = false,
11
12
  onValueChange,
12
13
  options,
14
+ testID,
13
15
  value
14
16
  }) => {
15
17
  useHostGuard('RadioGroup');
16
18
  return /*#__PURE__*/_jsx(VStack, {
17
19
  spacing: "s4",
20
+ testID: testID,
18
21
  wide: true,
19
22
  children: options.map(option => /*#__PURE__*/_jsxs(HStack, {
20
23
  align: "center",
21
- onPress: () => onValueChange?.(option.value),
24
+ onPress: disabled ? undefined : () => onValueChange?.(option.value),
22
25
  py: "s8",
23
26
  wide: true,
24
27
  children: [/*#__PURE__*/_jsx(Text, {
28
+ color: disabled ? 'content.tertiary' : 'content.primary',
25
29
  children: option.label
26
30
  }), /*#__PURE__*/_jsx(Spacer, {}), option.value === value ? /*#__PURE__*/_jsx(Glyph, {
27
- color: "content.accent",
31
+ color: disabled ? 'content.tertiary' : 'content.accent',
28
32
  name: "check",
29
33
  size: "s20"
30
34
  }) : null]
@@ -1 +1 @@
1
- {"version":3,"names":["HStack","Spacer","Text","VStack","Glyph","useHostGuard","jsx","_jsx","jsxs","_jsxs","RadioGroup","onValueChange","options","value","spacing","wide","children","map","option","align","onPress","py","label","color","name","size"],"sourceRoot":"../../../../src","sources":["molecules/radio-group/radio-group.ios.tsx"],"mappings":";;AAAA,SAAQA,MAAM,QAAO,8BAAqB;AAC1C,SAAQC,MAAM,QAAO,6BAAoB;AACzC,SAAQC,IAAI,QAAO,2BAAkB;AACrC,SAAQC,MAAM,QAAO,8BAAqB;AAC1C,SAAQC,KAAK,QAAO,sBAAa;AACjC,SAAQC,YAAY,QAAO,uBAAoB;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAG/C,OAAO,MAAMC,UAA+B,GAAGA,CAAC;EAACC,aAAa;EAAEC,OAAO;EAAEC;AAAsB,CAAC,KAAK;EACnGR,YAAY,CAAC,YAAY,CAAC;EAE1B,oBACEE,IAAA,CAACJ,MAAM;IAACW,OAAO,EAAC,IAAI;IAACC,IAAI;IAAAC,QAAA,EACtBJ,OAAO,CAACK,GAAG,CAACC,MAAM,iBACjBT,KAAA,CAACT,MAAM;MAACmB,KAAK,EAAC,QAAQ;MAAoBC,OAAO,EAAEA,CAAA,KAAMT,aAAa,GAAGO,MAAM,CAACL,KAAK,CAAE;MAACQ,EAAE,EAAC,IAAI;MAACN,IAAI;MAAAC,QAAA,gBAClGT,IAAA,CAACL,IAAI;QAAAc,QAAA,EAAEE,MAAM,CAACI;MAAK,CAAO,CAAC,eAC3Bf,IAAA,CAACN,MAAM,IAAE,CAAC,EACTiB,MAAM,CAACL,KAAK,KAAKA,KAAK,gBAAGN,IAAA,CAACH,KAAK;QAACmB,KAAK,EAAC,gBAAgB;QAACC,IAAI,EAAC,OAAO;QAACC,IAAI,EAAC;MAAK,CAAE,CAAC,GAAG,IAAI;IAAA,GAH/DP,MAAM,CAACL,KAI3B,CACT;EAAC,CACI,CAAC;AAEb,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["HStack","Spacer","Text","VStack","Glyph","useHostGuard","jsx","_jsx","jsxs","_jsxs","RadioGroup","disabled","onValueChange","options","testID","value","spacing","wide","children","map","option","align","onPress","undefined","py","color","label","name","size"],"sourceRoot":"../../../../src","sources":["molecules/radio-group/radio-group.ios.tsx"],"mappings":";;AAAA,SAAQA,MAAM,QAAO,8BAAqB;AAC1C,SAAQC,MAAM,QAAO,6BAAoB;AACzC,SAAQC,IAAI,QAAO,2BAAkB;AACrC,SAAQC,MAAM,QAAO,8BAAqB;AAC1C,SAAQC,KAAK,QAAO,sBAAa;AACjC,SAAQC,YAAY,QAAO,uBAAoB;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAG/C,OAAO,MAAMC,UAA+B,GAAGA,CAAC;EAC9CC,QAAQ,GAAG,KAAK;EAChBC,aAAa;EACbC,OAAO;EACPC,MAAM;EACNC;AACe,CAAC,KAAK;EACrBV,YAAY,CAAC,YAAY,CAAC;EAE1B,oBACEE,IAAA,CAACJ,MAAM;IAACa,OAAO,EAAC,IAAI;IAACF,MAAM,EAAEA,MAAO;IAACG,IAAI;IAAAC,QAAA,EACtCL,OAAO,CAACM,GAAG,CAACC,MAAM,iBACjBX,KAAA,CAACT,MAAM;MACLqB,KAAK,EAAC,QAAQ;MAEdC,OAAO,EAAEX,QAAQ,GAAGY,SAAS,GAAG,MAAMX,aAAa,GAAGQ,MAAM,CAACL,KAAK,CAAE;MACpES,EAAE,EAAC,IAAI;MACPP,IAAI;MAAAC,QAAA,gBAEJX,IAAA,CAACL,IAAI;QAACuB,KAAK,EAAEd,QAAQ,GAAG,kBAAkB,GAAG,iBAAkB;QAAAO,QAAA,EAAEE,MAAM,CAACM;MAAK,CAAO,CAAC,eACrFnB,IAAA,CAACN,MAAM,IAAE,CAAC,EACTmB,MAAM,CAACL,KAAK,KAAKA,KAAK,gBACrBR,IAAA,CAACH,KAAK;QAACqB,KAAK,EAAEd,QAAQ,GAAG,kBAAkB,GAAG,gBAAiB;QAACgB,IAAI,EAAC,OAAO;QAACC,IAAI,EAAC;MAAK,CAAE,CAAC,GACxF,IAAI;IAAA,GATHR,MAAM,CAACL,KAUN,CACT;EAAC,CACI,CAAC;AAEb,CAAC","ignoreList":[]}
@@ -7,7 +7,11 @@ import { Pressable } from "../../atoms/pressable/index.js";
7
7
  import { RnGlyph } from "../../glyph/index.js";
8
8
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
9
  export const SearchBar = ({
10
+ autoCapitalize = 'none',
11
+ autoCorrect = false,
12
+ autoFocus = false,
10
13
  onChangeText,
14
+ onSubmit,
11
15
  placeholder = 'Search',
12
16
  testID,
13
17
  value
@@ -41,9 +45,14 @@ export const SearchBar = ({
41
45
  name: "search",
42
46
  size: "s20"
43
47
  }), /*#__PURE__*/_jsx(TextInput, {
48
+ autoCapitalize: autoCapitalize,
49
+ autoCorrect: autoCorrect,
50
+ autoFocus: autoFocus,
44
51
  onChangeText: onChangeText,
52
+ onSubmitEditing: onSubmit ? event => onSubmit(event.nativeEvent.text) : undefined,
45
53
  placeholder: placeholder,
46
54
  placeholderTextColor: theme.color('content.quaternary'),
55
+ returnKeyType: "search",
47
56
  style: [text, {
48
57
  color: theme.color('content.primary'),
49
58
  flex: 1,
@@ -1 +1 @@
1
- {"version":3,"names":["useAppTheme","Platform","TextInput","Box","Pressable","RnGlyph","jsx","_jsx","jsxs","_jsxs","SearchBar","onChangeText","placeholder","testID","value","theme","lineHeight","face","typography","body","text","OS","height","align","bg","borderRadius","flexDirection","gap","px","py","wide","children","color","name","size","placeholderTextColor","style","flex","padding","length","onPress"],"sourceRoot":"../../../../src","sources":["molecules/search-bar/search-bar.tsx"],"mappings":";;AAAA,SAAQA,WAAW,QAAO,mBAAmB;AAC7C,SAAQC,QAAQ,EAAEC,SAAS,QAAO,cAAc;AAEhD,SAAQC,GAAG,QAAO,0BAAiB;AACnC,SAAQC,SAAS,QAAO,gCAAuB;AAC/C,SAAQC,OAAO,QAAO,sBAAa;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAGnC,OAAO,MAAMC,SAA6B,GAAGA,CAAC;EAC5CC,YAAY;EACZC,WAAW,GAAG,QAAQ;EACtBC,MAAM;EACNC;AACc,CAAC,KAAK;EACpB,MAAMC,KAAK,GAAGf,WAAW,CAAC,CAAC;EAC3B,MAAM;IAACgB,UAAU;IAAE,GAAGC;EAAI,CAAC,GAAGF,KAAK,CAACG,UAAU,CAACC,IAAI;EACnD;AACF;AACA;AACA;AACA;EACE,MAAMC,IAAI,GAAGnB,QAAQ,CAACoB,EAAE,KAAK,KAAK,GAAG;IAAC,GAAGJ,IAAI;IAAEK,MAAM,EAAEN;EAAU,CAAC,GAAGD,KAAK,CAACG,UAAU,CAACC,IAAI;EAE1F,oBACEV,KAAA,CAACN,GAAG;IACFoB,KAAK,EAAC,QAAQ;IACdC,EAAE,EAAC,iBAAiB;IACpBC,YAAY,EAAC,QAAQ;IACrBC,aAAa,EAAC,KAAK;IACnBC,GAAG,EAAC,IAAI;IACRC,EAAE,EAAC,KAAK;IACRC,EAAE,EAAC,IAAI;IACPhB,MAAM,EAAEA,MAAO;IACfiB,IAAI;IAAAC,QAAA,gBAEJxB,IAAA,CAACF,OAAO;MAAC2B,KAAK,EAAC,kBAAkB;MAACC,IAAI,EAAC,QAAQ;MAACC,IAAI,EAAC;IAAK,CAAE,CAAC,eAC7D3B,IAAA,CAACL,SAAS;MACRS,YAAY,EAAEA,YAAa;MAC3BC,WAAW,EAAEA,WAAY;MACzBuB,oBAAoB,EAAEpB,KAAK,CAACiB,KAAK,CAAC,oBAAoB,CAAE;MACxDI,KAAK,EAAE,CAAChB,IAAI,EAAE;QAACY,KAAK,EAAEjB,KAAK,CAACiB,KAAK,CAAC,iBAAiB,CAAC;QAAEK,IAAI,EAAE,CAAC;QAAEC,OAAO,EAAE;MAAC,CAAC,CAAE;MAC5ExB,KAAK,EAAEA;IAAM,CACd,CAAC,EACDA,KAAK,CAACyB,MAAM,GAAG,CAAC,gBACfhC,IAAA,CAACH,SAAS;MAACoC,OAAO,EAAEA,CAAA,KAAM7B,YAAY,GAAG,EAAE,CAAE;MAAAoB,QAAA,eAC3CxB,IAAA,CAACF,OAAO;QAAC2B,KAAK,EAAC,kBAAkB;QAACC,IAAI,EAAC,OAAO;QAACC,IAAI,EAAC;MAAK,CAAE;IAAC,CACnD,CAAC,GACV,IAAI;EAAA,CACL,CAAC;AAEV,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useAppTheme","Platform","TextInput","Box","Pressable","RnGlyph","jsx","_jsx","jsxs","_jsxs","SearchBar","autoCapitalize","autoCorrect","autoFocus","onChangeText","onSubmit","placeholder","testID","value","theme","lineHeight","face","typography","body","text","OS","height","align","bg","borderRadius","flexDirection","gap","px","py","wide","children","color","name","size","onSubmitEditing","event","nativeEvent","undefined","placeholderTextColor","returnKeyType","style","flex","padding","length","onPress"],"sourceRoot":"../../../../src","sources":["molecules/search-bar/search-bar.tsx"],"mappings":";;AAAA,SAAQA,WAAW,QAAO,mBAAmB;AAC7C,SAAQC,QAAQ,EAAEC,SAAS,QAAO,cAAc;AAEhD,SAAQC,GAAG,QAAO,0BAAiB;AACnC,SAAQC,SAAS,QAAO,gCAAuB;AAC/C,SAAQC,OAAO,QAAO,sBAAa;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAGnC,OAAO,MAAMC,SAA6B,GAAGA,CAAC;EAC5CC,cAAc,GAAG,MAAM;EACvBC,WAAW,GAAG,KAAK;EACnBC,SAAS,GAAG,KAAK;EACjBC,YAAY;EACZC,QAAQ;EACRC,WAAW,GAAG,QAAQ;EACtBC,MAAM;EACNC;AACc,CAAC,KAAK;EACpB,MAAMC,KAAK,GAAGnB,WAAW,CAAC,CAAC;EAC3B,MAAM;IAACoB,UAAU;IAAE,GAAGC;EAAI,CAAC,GAAGF,KAAK,CAACG,UAAU,CAACC,IAAI;EACnD;AACF;AACA;AACA;AACA;EACE,MAAMC,IAAI,GAAGvB,QAAQ,CAACwB,EAAE,KAAK,KAAK,GAAG;IAAC,GAAGJ,IAAI;IAAEK,MAAM,EAAEN;EAAU,CAAC,GAAGD,KAAK,CAACG,UAAU,CAACC,IAAI;EAE1F,oBACEd,KAAA,CAACN,GAAG;IACFwB,KAAK,EAAC,QAAQ;IACdC,EAAE,EAAC,iBAAiB;IACpBC,YAAY,EAAC,QAAQ;IACrBC,aAAa,EAAC,KAAK;IACnBC,GAAG,EAAC,IAAI;IACRC,EAAE,EAAC,KAAK;IACRC,EAAE,EAAC,IAAI;IACPhB,MAAM,EAAEA,MAAO;IACfiB,IAAI;IAAAC,QAAA,gBAEJ5B,IAAA,CAACF,OAAO;MAAC+B,KAAK,EAAC,kBAAkB;MAACC,IAAI,EAAC,QAAQ;MAACC,IAAI,EAAC;IAAK,CAAE,CAAC,eAC7D/B,IAAA,CAACL,SAAS;MACRS,cAAc,EAAEA,cAAe;MAC/BC,WAAW,EAAEA,WAAY;MACzBC,SAAS,EAAEA,SAAU;MACrBC,YAAY,EAAEA,YAAa;MAC3ByB,eAAe,EAAExB,QAAQ,GAAGyB,KAAK,IAAIzB,QAAQ,CAACyB,KAAK,CAACC,WAAW,CAACjB,IAAI,CAAC,GAAGkB,SAAU;MAClF1B,WAAW,EAAEA,WAAY;MACzB2B,oBAAoB,EAAExB,KAAK,CAACiB,KAAK,CAAC,oBAAoB,CAAE;MACxDQ,aAAa,EAAC,QAAQ;MACtBC,KAAK,EAAE,CAACrB,IAAI,EAAE;QAACY,KAAK,EAAEjB,KAAK,CAACiB,KAAK,CAAC,iBAAiB,CAAC;QAAEU,IAAI,EAAE,CAAC;QAAEC,OAAO,EAAE;MAAC,CAAC,CAAE;MAC5E7B,KAAK,EAAEA;IAAM,CACd,CAAC,EACDA,KAAK,CAAC8B,MAAM,GAAG,CAAC,gBACfzC,IAAA,CAACH,SAAS;MAAC6C,OAAO,EAAEA,CAAA,KAAMnC,YAAY,GAAG,EAAE,CAAE;MAAAqB,QAAA,eAC3C5B,IAAA,CAACF,OAAO;QAAC+B,KAAK,EAAC,kBAAkB;QAACC,IAAI,EAAC,OAAO;QAACC,IAAI,EAAC;MAAK,CAAE;IAAC,CACnD,CAAC,GACV,IAAI;EAAA,CACL,CAAC;AAEV,CAAC","ignoreList":[]}
@@ -8,35 +8,47 @@ import { GlyphButton } from "../../glyph/index.js";
8
8
  import { useHostGuard } from "../../host-context.js";
9
9
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
10
  export const Stepper = ({
11
+ decrementLabel = 'Decrement',
12
+ disabled = false,
13
+ incrementLabel = 'Increment',
11
14
  label,
12
15
  max = Number.MAX_SAFE_INTEGER,
13
16
  min = Number.MIN_SAFE_INTEGER,
14
17
  onValueChange,
15
18
  step = 1,
19
+ testID,
16
20
  value
17
21
  }) => {
18
22
  useHostGuard('Stepper');
19
23
  const onDecrement = useCallback(() => onValueChange(Math.max(min, value - step)), [min, onValueChange, step, value]);
20
24
  const onIncrement = useCallback(() => onValueChange(Math.min(max, value + step)), [max, onValueChange, step, value]);
25
+ const color = disabled ? 'content.tertiary' : 'content.primary';
21
26
  return /*#__PURE__*/_jsxs(HStack, {
22
27
  align: "center",
23
28
  spacing: "s8",
24
29
  wide: true,
25
30
  children: [/*#__PURE__*/_jsx(Text, {
31
+ color: color,
26
32
  children: label
27
- }), /*#__PURE__*/_jsx(Spacer, {}), /*#__PURE__*/_jsx(GlyphButton, {
28
- accessibilityLabel: "Decrement",
29
- disabled: value <= min,
30
- name: "minus",
31
- onPress: onDecrement
32
- }), /*#__PURE__*/_jsx(Text, {
33
- variant: "labelMedium",
34
- children: String(value)
35
- }), /*#__PURE__*/_jsx(GlyphButton, {
36
- accessibilityLabel: "Increment",
37
- disabled: value >= max,
38
- name: "plus",
39
- onPress: onIncrement
33
+ }), /*#__PURE__*/_jsx(Spacer, {}), /*#__PURE__*/_jsxs(HStack, {
34
+ align: "center",
35
+ spacing: "s8",
36
+ testID: testID,
37
+ children: [/*#__PURE__*/_jsx(GlyphButton, {
38
+ accessibilityLabel: decrementLabel,
39
+ disabled: disabled || value <= min,
40
+ name: "minus",
41
+ onPress: onDecrement
42
+ }), /*#__PURE__*/_jsx(Text, {
43
+ color: color,
44
+ variant: "labelMedium",
45
+ children: String(value)
46
+ }), /*#__PURE__*/_jsx(GlyphButton, {
47
+ accessibilityLabel: incrementLabel,
48
+ disabled: disabled || value >= max,
49
+ name: "plus",
50
+ onPress: onIncrement
51
+ })]
40
52
  })]
41
53
  });
42
54
  };
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","HStack","Spacer","Text","GlyphButton","useHostGuard","jsx","_jsx","jsxs","_jsxs","Stepper","label","max","Number","MAX_SAFE_INTEGER","min","MIN_SAFE_INTEGER","onValueChange","step","value","onDecrement","Math","onIncrement","align","spacing","wide","children","accessibilityLabel","disabled","name","onPress","variant","String"],"sourceRoot":"../../../../src","sources":["molecules/stepper/stepper.android.tsx"],"mappings":";;AAAA,SAAQA,WAAW,QAAO,OAAO;AACjC,SAAQC,MAAM,QAAO,8BAAqB;AAC1C,SAAQC,MAAM,QAAO,6BAAoB;AACzC,SAAQC,IAAI,QAAO,2BAAkB;AACrC,SAAQC,WAAW,QAAO,sBAAa;AACvC,SAAQC,YAAY,QAAO,uBAAoB;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAG/C,OAAO,MAAMC,OAAyB,GAAGA,CAAC;EACxCC,KAAK;EACLC,GAAG,GAAGC,MAAM,CAACC,gBAAgB;EAC7BC,GAAG,GAAGF,MAAM,CAACG,gBAAgB;EAC7BC,aAAa;EACbC,IAAI,GAAG,CAAC;EACRC;AACY,CAAC,KAAK;EAClBd,YAAY,CAAC,SAAS,CAAC;EAEvB,MAAMe,WAAW,GAAGpB,WAAW,CAAC,MAAMiB,aAAa,CAACI,IAAI,CAACT,GAAG,CAACG,GAAG,EAAEI,KAAK,GAAGD,IAAI,CAAC,CAAC,EAAE,CAACH,GAAG,EAAEE,aAAa,EAAEC,IAAI,EAAEC,KAAK,CAAC,CAAC;EACpH,MAAMG,WAAW,GAAGtB,WAAW,CAAC,MAAMiB,aAAa,CAACI,IAAI,CAACN,GAAG,CAACH,GAAG,EAAEO,KAAK,GAAGD,IAAI,CAAC,CAAC,EAAE,CAACN,GAAG,EAAEK,aAAa,EAAEC,IAAI,EAAEC,KAAK,CAAC,CAAC;EAEpH,oBACEV,KAAA,CAACR,MAAM;IAACsB,KAAK,EAAC,QAAQ;IAACC,OAAO,EAAC,IAAI;IAACC,IAAI;IAAAC,QAAA,gBACtCnB,IAAA,CAACJ,IAAI;MAAAuB,QAAA,EAAEf;IAAK,CAAO,CAAC,eACpBJ,IAAA,CAACL,MAAM,IAAE,CAAC,eACVK,IAAA,CAACH,WAAW;MAACuB,kBAAkB,EAAC,WAAW;MAACC,QAAQ,EAAET,KAAK,IAAIJ,GAAI;MAACc,IAAI,EAAC,OAAO;MAACC,OAAO,EAAEV;IAAY,CAAE,CAAC,eACzGb,IAAA,CAACJ,IAAI;MAAC4B,OAAO,EAAC,aAAa;MAAAL,QAAA,EAAEM,MAAM,CAACb,KAAK;IAAC,CAAO,CAAC,eAClDZ,IAAA,CAACH,WAAW;MAACuB,kBAAkB,EAAC,WAAW;MAACC,QAAQ,EAAET,KAAK,IAAIP,GAAI;MAACiB,IAAI,EAAC,MAAM;MAACC,OAAO,EAAER;IAAY,CAAE,CAAC;EAAA,CAClG,CAAC;AAEb,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","HStack","Spacer","Text","GlyphButton","useHostGuard","jsx","_jsx","jsxs","_jsxs","Stepper","decrementLabel","disabled","incrementLabel","label","max","Number","MAX_SAFE_INTEGER","min","MIN_SAFE_INTEGER","onValueChange","step","testID","value","onDecrement","Math","onIncrement","color","align","spacing","wide","children","accessibilityLabel","name","onPress","variant","String"],"sourceRoot":"../../../../src","sources":["molecules/stepper/stepper.android.tsx"],"mappings":";;AAAA,SAAQA,WAAW,QAAO,OAAO;AACjC,SAAQC,MAAM,QAAO,8BAAqB;AAC1C,SAAQC,MAAM,QAAO,6BAAoB;AACzC,SAAQC,IAAI,QAAO,2BAAkB;AACrC,SAAQC,WAAW,QAAO,sBAAa;AACvC,SAAQC,YAAY,QAAO,uBAAoB;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAG/C,OAAO,MAAMC,OAAyB,GAAGA,CAAC;EACxCC,cAAc,GAAG,WAAW;EAC5BC,QAAQ,GAAG,KAAK;EAChBC,cAAc,GAAG,WAAW;EAC5BC,KAAK;EACLC,GAAG,GAAGC,MAAM,CAACC,gBAAgB;EAC7BC,GAAG,GAAGF,MAAM,CAACG,gBAAgB;EAC7BC,aAAa;EACbC,IAAI,GAAG,CAAC;EACRC,MAAM;EACNC;AACY,CAAC,KAAK;EAClBlB,YAAY,CAAC,SAAS,CAAC;EAEvB,MAAMmB,WAAW,GAAGxB,WAAW,CAAC,MAAMoB,aAAa,CAACK,IAAI,CAACV,GAAG,CAACG,GAAG,EAAEK,KAAK,GAAGF,IAAI,CAAC,CAAC,EAAE,CAACH,GAAG,EAAEE,aAAa,EAAEC,IAAI,EAAEE,KAAK,CAAC,CAAC;EACpH,MAAMG,WAAW,GAAG1B,WAAW,CAAC,MAAMoB,aAAa,CAACK,IAAI,CAACP,GAAG,CAACH,GAAG,EAAEQ,KAAK,GAAGF,IAAI,CAAC,CAAC,EAAE,CAACN,GAAG,EAAEK,aAAa,EAAEC,IAAI,EAAEE,KAAK,CAAC,CAAC;EACpH,MAAMI,KAAK,GAAGf,QAAQ,GAAG,kBAAkB,GAAG,iBAAiB;EAE/D,oBACEH,KAAA,CAACR,MAAM;IAAC2B,KAAK,EAAC,QAAQ;IAACC,OAAO,EAAC,IAAI;IAACC,IAAI;IAAAC,QAAA,gBACtCxB,IAAA,CAACJ,IAAI;MAACwB,KAAK,EAAEA,KAAM;MAAAI,QAAA,EAAEjB;IAAK,CAAO,CAAC,eAClCP,IAAA,CAACL,MAAM,IAAE,CAAC,eAEVO,KAAA,CAACR,MAAM;MAAC2B,KAAK,EAAC,QAAQ;MAACC,OAAO,EAAC,IAAI;MAACP,MAAM,EAAEA,MAAO;MAAAS,QAAA,gBACjDxB,IAAA,CAACH,WAAW;QACV4B,kBAAkB,EAAErB,cAAe;QACnCC,QAAQ,EAAEA,QAAQ,IAAIW,KAAK,IAAIL,GAAI;QACnCe,IAAI,EAAC,OAAO;QACZC,OAAO,EAAEV;MAAY,CACtB,CAAC,eACFjB,IAAA,CAACJ,IAAI;QAACwB,KAAK,EAAEA,KAAM;QAACQ,OAAO,EAAC,aAAa;QAAAJ,QAAA,EACtCK,MAAM,CAACb,KAAK;MAAC,CACV,CAAC,eACPhB,IAAA,CAACH,WAAW;QACV4B,kBAAkB,EAAEnB,cAAe;QACnCD,QAAQ,EAAEA,QAAQ,IAAIW,KAAK,IAAIR,GAAI;QACnCkB,IAAI,EAAC,MAAM;QACXC,OAAO,EAAER;MAAY,CACtB,CAAC;IAAA,CACI,CAAC;EAAA,CACH,CAAC;AAEb,CAAC","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  import { Stepper as SwiftUIStepper } from '@expo/ui/swift-ui';
4
- import { labelsHidden } from '@expo/ui/swift-ui/modifiers';
4
+ import { disabled as disabledModifier, labelsHidden } from '@expo/ui/swift-ui/modifiers';
5
5
  import { useReducedMotion } from '@hzblj/kara-theme';
6
6
  import { useRef } from 'react';
7
7
  import { HStack } from "../../atoms/h-stack/index.js";
@@ -11,18 +11,22 @@ import { useHostGuard } from "../../host-context.js";
11
11
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
12
12
  /** The label stays VoiceOver's, on the control; on screen it is the row's own text. */
13
13
  const LABEL_HIDDEN = [labelsHidden()];
14
+ const LABEL_HIDDEN_DISABLED = [labelsHidden(), disabledModifier(true)];
14
15
 
15
16
  /**
16
17
  * SwiftUI's `Stepper` at the end of a row, the label leading and the value just before the control — the way iOS's own
17
18
  * settings show a stepped value. The value rolls to the next one (`numericText`), up or down with the change, in
18
- * monospaced digits so the row does not jump. With motion reduced it cross-fades instead.
19
+ * monospaced digits so the row does not jump. With motion reduced it cross-fades instead. Its buttons are labelled by
20
+ * the system, so `decrementLabel` and `incrementLabel` are Android's alone.
19
21
  */
20
22
  export const Stepper = ({
23
+ disabled = false,
21
24
  label,
22
25
  max,
23
26
  min,
24
27
  onValueChange,
25
28
  step = 1,
29
+ testID,
26
30
  value
27
31
  }) => {
28
32
  useHostGuard('Stepper');
@@ -35,9 +39,10 @@ export const Stepper = ({
35
39
  spacing: "s12",
36
40
  wide: true,
37
41
  children: [/*#__PURE__*/_jsx(Text, {
42
+ color: disabled ? 'content.tertiary' : 'content.primary',
38
43
  children: label
39
44
  }), /*#__PURE__*/_jsx(Spacer, {}), /*#__PURE__*/_jsx(Text, {
40
- color: "content.secondary",
45
+ color: disabled ? 'content.tertiary' : 'content.secondary',
41
46
  ios: {
42
47
  animation: {
43
48
  value
@@ -53,11 +58,12 @@ export const Stepper = ({
53
58
  children: String(value)
54
59
  }), /*#__PURE__*/_jsx(SwiftUIStepper, {
55
60
  label: label,
56
- max: max,
57
- min: min,
58
- modifiers: LABEL_HIDDEN,
61
+ max: disabled ? value : max,
62
+ min: disabled ? value : min,
63
+ modifiers: disabled ? LABEL_HIDDEN_DISABLED : LABEL_HIDDEN,
59
64
  onValueChange: onValueChange,
60
65
  step: step,
66
+ testID: testID,
61
67
  value: value
62
68
  })]
63
69
  });
@@ -1 +1 @@
1
- {"version":3,"names":["Stepper","SwiftUIStepper","labelsHidden","useReducedMotion","useRef","HStack","Spacer","Text","useHostGuard","jsx","_jsx","jsxs","_jsxs","LABEL_HIDDEN","label","max","min","onValueChange","step","value","reduced","previous","countsDown","current","align","spacing","wide","children","color","ios","animation","contentTransition","type","monospacedDigit","String","modifiers"],"sourceRoot":"../../../../src","sources":["molecules/stepper/stepper.ios.tsx"],"mappings":";;AAAA,SAAQA,OAAO,IAAIC,cAAc,QAAO,mBAAmB;AAC3D,SAAQC,YAAY,QAAO,6BAA6B;AACxD,SAAQC,gBAAgB,QAAO,mBAAmB;AAClD,SAAQC,MAAM,QAAO,OAAO;AAE5B,SAAQC,MAAM,QAAO,8BAAqB;AAC1C,SAAQC,MAAM,QAAO,6BAAoB;AACzC,SAAQC,IAAI,QAAO,2BAAkB;AACrC,SAAQC,YAAY,QAAO,uBAAoB;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAG/C;AACA,MAAMC,YAAY,GAAG,CAACX,YAAY,CAAC,CAAC,CAAC;;AAErC;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMF,OAAyB,GAAGA,CAAC;EAACc,KAAK;EAAEC,GAAG;EAAEC,GAAG;EAAEC,aAAa;EAAEC,IAAI,GAAG,CAAC;EAAEC;AAAmB,CAAC,KAAK;EAC5GX,YAAY,CAAC,SAAS,CAAC;EACvB,MAAMY,OAAO,GAAGjB,gBAAgB,CAAC,CAAC;EAClC,MAAMkB,QAAQ,GAAGjB,MAAM,CAACe,KAAK,CAAC;EAC9B,MAAMG,UAAU,GAAGH,KAAK,GAAGE,QAAQ,CAACE,OAAO;EAC3CF,QAAQ,CAACE,OAAO,GAAGJ,KAAK;EAExB,oBACEP,KAAA,CAACP,MAAM;IAACmB,KAAK,EAAC,QAAQ;IAACC,OAAO,EAAC,KAAK;IAACC,IAAI;IAAAC,QAAA,gBACvCjB,IAAA,CAACH,IAAI;MAAAoB,QAAA,EAAEb;IAAK,CAAO,CAAC,eACpBJ,IAAA,CAACJ,MAAM,IAAE,CAAC,eACVI,IAAA,CAACH,IAAI;MACHqB,KAAK,EAAC,mBAAmB;MACzBC,GAAG,EAAE;QACHC,SAAS,EAAE;UAACX;QAAK,CAAC;QAClBY,iBAAiB,EAAEX,OAAO,GAAG;UAACY,IAAI,EAAE;QAAS,CAAC,GAAG;UAACV,UAAU;UAAEU,IAAI,EAAE;QAAa;MACnF,CAAE;MACFC,eAAe;MAAAN,QAAA,EAEdO,MAAM,CAACf,KAAK;IAAC,CACV,CAAC,eACPT,IAAA,CAACT,cAAc;MACba,KAAK,EAAEA,KAAM;MACbC,GAAG,EAAEA,GAAI;MACTC,GAAG,EAAEA,GAAI;MACTmB,SAAS,EAAEtB,YAAa;MACxBI,aAAa,EAAEA,aAAc;MAC7BC,IAAI,EAAEA,IAAK;MACXC,KAAK,EAAEA;IAAM,CACd,CAAC;EAAA,CACI,CAAC;AAEb,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["Stepper","SwiftUIStepper","disabled","disabledModifier","labelsHidden","useReducedMotion","useRef","HStack","Spacer","Text","useHostGuard","jsx","_jsx","jsxs","_jsxs","LABEL_HIDDEN","LABEL_HIDDEN_DISABLED","label","max","min","onValueChange","step","testID","value","reduced","previous","countsDown","current","align","spacing","wide","children","color","ios","animation","contentTransition","type","monospacedDigit","String","modifiers"],"sourceRoot":"../../../../src","sources":["molecules/stepper/stepper.ios.tsx"],"mappings":";;AAAA,SAAQA,OAAO,IAAIC,cAAc,QAAO,mBAAmB;AAC3D,SAAQC,QAAQ,IAAIC,gBAAgB,EAAEC,YAAY,QAAO,6BAA6B;AACtF,SAAQC,gBAAgB,QAAO,mBAAmB;AAClD,SAAQC,MAAM,QAAO,OAAO;AAE5B,SAAQC,MAAM,QAAO,8BAAqB;AAC1C,SAAQC,MAAM,QAAO,6BAAoB;AACzC,SAAQC,IAAI,QAAO,2BAAkB;AACrC,SAAQC,YAAY,QAAO,uBAAoB;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAG/C;AACA,MAAMC,YAAY,GAAG,CAACX,YAAY,CAAC,CAAC,CAAC;AAErC,MAAMY,qBAAqB,GAAG,CAACZ,YAAY,CAAC,CAAC,EAAED,gBAAgB,CAAC,IAAI,CAAC,CAAC;;AAEtE;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMH,OAAyB,GAAGA,CAAC;EACxCE,QAAQ,GAAG,KAAK;EAChBe,KAAK;EACLC,GAAG;EACHC,GAAG;EACHC,aAAa;EACbC,IAAI,GAAG,CAAC;EACRC,MAAM;EACNC;AACY,CAAC,KAAK;EAClBb,YAAY,CAAC,SAAS,CAAC;EACvB,MAAMc,OAAO,GAAGnB,gBAAgB,CAAC,CAAC;EAClC,MAAMoB,QAAQ,GAAGnB,MAAM,CAACiB,KAAK,CAAC;EAC9B,MAAMG,UAAU,GAAGH,KAAK,GAAGE,QAAQ,CAACE,OAAO;EAC3CF,QAAQ,CAACE,OAAO,GAAGJ,KAAK;EAExB,oBACET,KAAA,CAACP,MAAM;IAACqB,KAAK,EAAC,QAAQ;IAACC,OAAO,EAAC,KAAK;IAACC,IAAI;IAAAC,QAAA,gBACvCnB,IAAA,CAACH,IAAI;MAACuB,KAAK,EAAE9B,QAAQ,GAAG,kBAAkB,GAAG,iBAAkB;MAAA6B,QAAA,EAAEd;IAAK,CAAO,CAAC,eAC9EL,IAAA,CAACJ,MAAM,IAAE,CAAC,eACVI,IAAA,CAACH,IAAI;MACHuB,KAAK,EAAE9B,QAAQ,GAAG,kBAAkB,GAAG,mBAAoB;MAC3D+B,GAAG,EAAE;QACHC,SAAS,EAAE;UAACX;QAAK,CAAC;QAClBY,iBAAiB,EAAEX,OAAO,GAAG;UAACY,IAAI,EAAE;QAAS,CAAC,GAAG;UAACV,UAAU;UAAEU,IAAI,EAAE;QAAa;MACnF,CAAE;MACFC,eAAe;MAAAN,QAAA,EAEdO,MAAM,CAACf,KAAK;IAAC,CACV,CAAC,eAGPX,IAAA,CAACX,cAAc;MACbgB,KAAK,EAAEA,KAAM;MACbC,GAAG,EAAEhB,QAAQ,GAAGqB,KAAK,GAAGL,GAAI;MAC5BC,GAAG,EAAEjB,QAAQ,GAAGqB,KAAK,GAAGJ,GAAI;MAC5BoB,SAAS,EAAErC,QAAQ,GAAGc,qBAAqB,GAAGD,YAAa;MAC3DK,aAAa,EAAEA,aAAc;MAC7BC,IAAI,EAAEA,IAAK;MACXC,MAAM,EAAEA,MAAO;MACfC,KAAK,EAAEA;IAAM,CACd,CAAC;EAAA,CACI,CAAC;AAEb,CAAC","ignoreList":[]}
@@ -6,15 +6,18 @@ import { Island } from "../../atoms/island/index.js";
6
6
  import { Text } from "../../atoms/text/index.js";
7
7
  import { VStack } from "../../atoms/v-stack/index.js";
8
8
  import { useHostGuard } from "../../host-context.js";
9
+ import { menuActionColor } from "../menu/menu-parts.js";
9
10
  import { Sheet } from "../sheet/index.js";
10
11
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
11
12
  /**
12
- * Material's bottom-sheet menu: the title, then a full-width row per action, its icon leading. The sheet is the React
13
- * Native tier, so the rows — Compose views — sit in an `Island` of their own; rendered straight into the sheet they had
14
- * no host and threw.
13
+ * Material's bottom-sheet menu: the title and the message, then a full-width row per action, its icon leading. The
14
+ * sheet is the React Native tier, so the rows — Compose views — sit in an `Island` of their own; rendered straight into
15
+ * the sheet they had no host and threw. A disabled row is greyed and has no press at all, so it neither ripples nor
16
+ * reads as a button.
15
17
  */
16
18
  export const ActionSheet = ({
17
19
  actions,
20
+ message,
18
21
  onDismiss,
19
22
  title,
20
23
  visible
@@ -27,19 +30,24 @@ export const ActionSheet = ({
27
30
  children: /*#__PURE__*/_jsxs(VStack, {
28
31
  pb: "s16",
29
32
  wide: true,
30
- children: [/*#__PURE__*/_jsx(HStack, {
33
+ children: [/*#__PURE__*/_jsxs(VStack, {
31
34
  px: "s24",
32
35
  py: "s12",
36
+ spacing: "s4",
33
37
  wide: true,
34
- children: /*#__PURE__*/_jsx(Text, {
38
+ children: [/*#__PURE__*/_jsx(Text, {
35
39
  color: "content.secondary",
36
40
  variant: "labelMedium",
37
41
  children: title
38
- })
42
+ }), message ? /*#__PURE__*/_jsx(Text, {
43
+ color: "content.secondary",
44
+ variant: "label",
45
+ children: message
46
+ }) : null]
39
47
  }), actions.map(action => {
40
- const color = action.destructive ? 'content.destructive' : 'content.primary';
48
+ const color = menuActionColor(action);
41
49
  return /*#__PURE__*/_jsxs(HStack, {
42
- onPress: () => {
50
+ onPress: action.disabled ? undefined : () => {
43
51
  onDismiss();
44
52
  action.onPress();
45
53
  },
@@ -1 +1 @@
1
- {"version":3,"names":["HStack","Icon","Island","Text","VStack","useHostGuard","Sheet","jsx","_jsx","jsxs","_jsxs","ActionSheet","actions","onDismiss","title","visible","children","pb","wide","px","py","color","variant","map","action","destructive","onPress","spacing","icon","name","label"],"sourceRoot":"../../../../src","sources":["organisms/action-sheet/action-sheet.android.tsx"],"mappings":";;AAAA,SAAQA,MAAM,QAAO,8BAAqB;AAC1C,SAAQC,IAAI,QAAO,2BAAkB;AACrC,SAAQC,MAAM,QAAO,6BAAoB;AACzC,SAAQC,IAAI,QAAO,2BAAkB;AACrC,SAAQC,MAAM,QAAO,8BAAqB;AAC1C,SAAQC,YAAY,QAAO,uBAAoB;AAC/C,SAAQC,KAAK,QAAO,mBAAU;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAG9B;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,WAAiC,GAAGA,CAAC;EAACC,OAAO;EAAEC,SAAS;EAAEC,KAAK;EAAEC;AAAyB,CAAC,KAAK;EAC3GV,YAAY,CAAC,aAAa,CAAC;EAE3B,oBACEG,IAAA,CAACF,KAAK;IAACO,SAAS,EAAEA,SAAU;IAACE,OAAO,EAAEA,OAAQ;IAAAC,QAAA,eAC5CR,IAAA,CAACN,MAAM;MAAAc,QAAA,eACLN,KAAA,CAACN,MAAM;QAACa,EAAE,EAAC,KAAK;QAACC,IAAI;QAAAF,QAAA,gBACnBR,IAAA,CAACR,MAAM;UAACmB,EAAE,EAAC,KAAK;UAACC,EAAE,EAAC,KAAK;UAACF,IAAI;UAAAF,QAAA,eAC5BR,IAAA,CAACL,IAAI;YAACkB,KAAK,EAAC,mBAAmB;YAACC,OAAO,EAAC,aAAa;YAAAN,QAAA,EAClDF;UAAK,CACF;QAAC,CACD,CAAC,EACRF,OAAO,CAACW,GAAG,CAACC,MAAM,IAAI;UACrB,MAAMH,KAAK,GAAGG,MAAM,CAACC,WAAW,GAAG,qBAAqB,GAAG,iBAAiB;UAE5E,oBACEf,KAAA,CAACV,MAAM;YAEL0B,OAAO,EAAEA,CAAA,KAAM;cACbb,SAAS,CAAC,CAAC;cACXW,MAAM,CAACE,OAAO,CAAC,CAAC;YAClB,CAAE;YACFP,EAAE,EAAC,KAAK;YACRC,EAAE,EAAC,KAAK;YACRO,OAAO,EAAC,KAAK;YACbT,IAAI;YAAAF,QAAA,GAEHQ,MAAM,CAACI,IAAI,gBAAGpB,IAAA,CAACP,IAAI;cAACoB,KAAK,EAAEA,KAAM;cAACQ,IAAI,EAAEL,MAAM,CAACI;YAAK,CAAE,CAAC,GAAG,IAAI,eAC/DpB,IAAA,CAACL,IAAI;cAACkB,KAAK,EAAEA,KAAM;cAACC,OAAO,EAAC,MAAM;cAAAN,QAAA,EAC/BQ,MAAM,CAACM;YAAK,CACT,CAAC;UAAA,GAbFN,MAAM,CAACM,KAcN,CAAC;QAEb,CAAC,CAAC;MAAA,CACI;IAAC,CACH;EAAC,CACJ,CAAC;AAEZ,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["HStack","Icon","Island","Text","VStack","useHostGuard","menuActionColor","Sheet","jsx","_jsx","jsxs","_jsxs","ActionSheet","actions","message","onDismiss","title","visible","children","pb","wide","px","py","spacing","color","variant","map","action","onPress","disabled","undefined","icon","name","label"],"sourceRoot":"../../../../src","sources":["organisms/action-sheet/action-sheet.android.tsx"],"mappings":";;AAAA,SAAQA,MAAM,QAAO,8BAAqB;AAC1C,SAAQC,IAAI,QAAO,2BAAkB;AACrC,SAAQC,MAAM,QAAO,6BAAoB;AACzC,SAAQC,IAAI,QAAO,2BAAkB;AACrC,SAAQC,MAAM,QAAO,8BAAqB;AAC1C,SAAQC,YAAY,QAAO,uBAAoB;AAC/C,SAAQC,eAAe,QAAO,uBAAoB;AAClD,SAAQC,KAAK,QAAO,mBAAU;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAG9B;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,WAAiC,GAAGA,CAAC;EAACC,OAAO;EAAEC,OAAO;EAAEC,SAAS;EAAEC,KAAK;EAAEC;AAAyB,CAAC,KAAK;EACpHZ,YAAY,CAAC,aAAa,CAAC;EAE3B,oBACEI,IAAA,CAACF,KAAK;IAACQ,SAAS,EAAEA,SAAU;IAACE,OAAO,EAAEA,OAAQ;IAAAC,QAAA,eAC5CT,IAAA,CAACP,MAAM;MAAAgB,QAAA,eACLP,KAAA,CAACP,MAAM;QAACe,EAAE,EAAC,KAAK;QAACC,IAAI;QAAAF,QAAA,gBAEnBP,KAAA,CAACP,MAAM;UAACiB,EAAE,EAAC,KAAK;UAACC,EAAE,EAAC,KAAK;UAACC,OAAO,EAAC,IAAI;UAACH,IAAI;UAAAF,QAAA,gBACzCT,IAAA,CAACN,IAAI;YAACqB,KAAK,EAAC,mBAAmB;YAACC,OAAO,EAAC,aAAa;YAAAP,QAAA,EAClDF;UAAK,CACF,CAAC,EACNF,OAAO,gBACNL,IAAA,CAACN,IAAI;YAACqB,KAAK,EAAC,mBAAmB;YAACC,OAAO,EAAC,OAAO;YAAAP,QAAA,EAC5CJ;UAAO,CACJ,CAAC,GACL,IAAI;QAAA,CACF,CAAC,EACRD,OAAO,CAACa,GAAG,CAACC,MAAM,IAAI;UACrB,MAAMH,KAAK,GAAGlB,eAAe,CAACqB,MAAM,CAAC;UAErC,oBACEhB,KAAA,CAACX,MAAM;YAEL4B,OAAO,EACLD,MAAM,CAACE,QAAQ,GACXC,SAAS,GACT,MAAM;cACJf,SAAS,CAAC,CAAC;cACXY,MAAM,CAACC,OAAO,CAAC,CAAC;YAClB,CACL;YACDP,EAAE,EAAC,KAAK;YACRC,EAAE,EAAC,KAAK;YACRC,OAAO,EAAC,KAAK;YACbH,IAAI;YAAAF,QAAA,GAEHS,MAAM,CAACI,IAAI,gBAAGtB,IAAA,CAACR,IAAI;cAACuB,KAAK,EAAEA,KAAM;cAACQ,IAAI,EAAEL,MAAM,CAACI;YAAK,CAAE,CAAC,GAAG,IAAI,eAC/DtB,IAAA,CAACN,IAAI;cAACqB,KAAK,EAAEA,KAAM;cAACC,OAAO,EAAC,MAAM;cAAAP,QAAA,EAC/BS,MAAM,CAACM;YAAK,CACT,CAAC;UAAA,GAjBFN,MAAM,CAACM,KAkBN,CAAC;QAEb,CAAC,CAAC;MAAA,CACI;IAAC,CACH;EAAC,CACJ,CAAC;AAEZ,CAAC","ignoreList":[]}