@ledgerhq/lumen-ui-rnative 0.1.37 → 0.1.38

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 (129) hide show
  1. package/dist/module/lib/Components/AmountInput/AmountInput.js +109 -72
  2. package/dist/module/lib/Components/AmountInput/AmountInput.js.map +1 -1
  3. package/dist/module/lib/Components/AmountInput/AmountInput.mdx +12 -0
  4. package/dist/module/lib/Components/AmountInput/AmountInput.stories.js +53 -0
  5. package/dist/module/lib/Components/AmountInput/AmountInput.stories.js.map +1 -1
  6. package/dist/module/lib/Components/Avatar/Avatar.js +6 -5
  7. package/dist/module/lib/Components/Avatar/Avatar.js.map +1 -1
  8. package/dist/module/lib/Components/Avatar/Avatar.mdx +2 -0
  9. package/dist/module/lib/Components/Avatar/Avatar.test.js +10 -13
  10. package/dist/module/lib/Components/Avatar/Avatar.test.js.map +1 -1
  11. package/dist/module/lib/Components/DotIcon/DotIcon.js +7 -4
  12. package/dist/module/lib/Components/DotIcon/DotIcon.js.map +1 -1
  13. package/dist/module/lib/Components/DotIcon/DotIcon.stories.js +10 -0
  14. package/dist/module/lib/Components/DotIcon/DotIcon.stories.js.map +1 -1
  15. package/dist/module/lib/Components/DotIndicator/DotIndicator.js +5 -5
  16. package/dist/module/lib/Components/DotIndicator/DotIndicator.js.map +1 -1
  17. package/dist/module/lib/Components/DotIndicator/DotIndicator.mdx +4 -4
  18. package/dist/module/lib/Components/DotIndicator/DotIndicator.stories.js +3 -3
  19. package/dist/module/lib/Components/DotIndicator/DotIndicator.test.js +12 -2
  20. package/dist/module/lib/Components/DotIndicator/DotIndicator.test.js.map +1 -1
  21. package/dist/module/lib/Components/DotSymbol/DotSymbol.js +7 -4
  22. package/dist/module/lib/Components/DotSymbol/DotSymbol.js.map +1 -1
  23. package/dist/module/lib/Components/DotSymbol/DotSymbol.stories.js +19 -0
  24. package/dist/module/lib/Components/DotSymbol/DotSymbol.stories.js.map +1 -1
  25. package/dist/module/lib/Components/Label/Label.js +1 -1
  26. package/dist/module/lib/Components/MediaButton/MediaButton.js +2 -2
  27. package/dist/module/lib/Components/MediaButton/MediaButton.mdx +2 -2
  28. package/dist/module/lib/Components/MediaImage/MediaImage.js +4 -2
  29. package/dist/module/lib/Components/MediaImage/MediaImage.js.map +1 -1
  30. package/dist/module/lib/Components/MediaImage/MediaImage.mdx +1 -1
  31. package/dist/module/lib/Components/MediaImage/MediaImage.stories.js +12 -0
  32. package/dist/module/lib/Components/MediaImage/MediaImage.stories.js.map +1 -1
  33. package/dist/module/lib/Components/OptionList/OptionList.mdx +1 -1
  34. package/dist/module/lib/Components/ThemeProvider/ThemeProvider.js +2 -5
  35. package/dist/module/lib/Components/ThemeProvider/ThemeProvider.js.map +1 -1
  36. package/dist/module/lib/Components/index.js +0 -1
  37. package/dist/module/lib/Components/index.js.map +1 -1
  38. package/dist/module/lib/Symbols/Icons/Lightbulb.js +3 -3
  39. package/dist/module/lib/Symbols/Icons/Lightbulb.js.map +1 -1
  40. package/dist/typescript/src/lib/Components/AmountInput/AmountInput.d.ts +1 -1
  41. package/dist/typescript/src/lib/Components/AmountInput/AmountInput.d.ts.map +1 -1
  42. package/dist/typescript/src/lib/Components/AmountInput/types.d.ts +12 -0
  43. package/dist/typescript/src/lib/Components/AmountInput/types.d.ts.map +1 -1
  44. package/dist/typescript/src/lib/Components/Avatar/Avatar.d.ts +1 -1
  45. package/dist/typescript/src/lib/Components/Avatar/Avatar.d.ts.map +1 -1
  46. package/dist/typescript/src/lib/Components/DotIcon/DotIcon.d.ts +2 -1
  47. package/dist/typescript/src/lib/Components/DotIcon/DotIcon.d.ts.map +1 -1
  48. package/dist/typescript/src/lib/Components/DotIcon/types.d.ts +1 -1
  49. package/dist/typescript/src/lib/Components/DotIcon/types.d.ts.map +1 -1
  50. package/dist/typescript/src/lib/Components/DotIndicator/types.d.ts +2 -2
  51. package/dist/typescript/src/lib/Components/DotSymbol/DotSymbol.d.ts.map +1 -1
  52. package/dist/typescript/src/lib/Components/DotSymbol/types.d.ts +1 -1
  53. package/dist/typescript/src/lib/Components/DotSymbol/types.d.ts.map +1 -1
  54. package/dist/typescript/src/lib/Components/Label/Label.d.ts +1 -1
  55. package/dist/typescript/src/lib/Components/MediaButton/MediaButton.d.ts +2 -2
  56. package/dist/typescript/src/lib/Components/MediaImage/MediaImage.d.ts.map +1 -1
  57. package/dist/typescript/src/lib/Components/MediaImage/types.d.ts +1 -1
  58. package/dist/typescript/src/lib/Components/MediaImage/types.d.ts.map +1 -1
  59. package/dist/typescript/src/lib/Components/ThemeProvider/ThemeProvider.d.ts.map +1 -1
  60. package/dist/typescript/src/lib/Components/index.d.ts +0 -1
  61. package/dist/typescript/src/lib/Components/index.d.ts.map +1 -1
  62. package/package.json +3 -3
  63. package/src/lib/Components/AmountInput/AmountInput.mdx +12 -0
  64. package/src/lib/Components/AmountInput/AmountInput.stories.tsx +68 -1
  65. package/src/lib/Components/AmountInput/AmountInput.tsx +118 -75
  66. package/src/lib/Components/AmountInput/types.ts +14 -0
  67. package/src/lib/Components/Avatar/Avatar.mdx +2 -0
  68. package/src/lib/Components/Avatar/Avatar.test.tsx +16 -18
  69. package/src/lib/Components/Avatar/Avatar.tsx +9 -8
  70. package/src/lib/Components/DotIcon/DotIcon.stories.tsx +8 -0
  71. package/src/lib/Components/DotIcon/DotIcon.tsx +4 -1
  72. package/src/lib/Components/DotIcon/types.ts +1 -1
  73. package/src/lib/Components/DotIndicator/DotIndicator.mdx +4 -4
  74. package/src/lib/Components/DotIndicator/DotIndicator.stories.tsx +2 -2
  75. package/src/lib/Components/DotIndicator/DotIndicator.test.tsx +12 -2
  76. package/src/lib/Components/DotIndicator/DotIndicator.tsx +5 -5
  77. package/src/lib/Components/DotIndicator/types.ts +2 -2
  78. package/src/lib/Components/DotSymbol/DotSymbol.stories.tsx +15 -0
  79. package/src/lib/Components/DotSymbol/DotSymbol.tsx +4 -1
  80. package/src/lib/Components/DotSymbol/types.ts +1 -1
  81. package/src/lib/Components/Label/Label.tsx +1 -1
  82. package/src/lib/Components/MediaButton/MediaButton.mdx +2 -2
  83. package/src/lib/Components/MediaButton/MediaButton.tsx +2 -2
  84. package/src/lib/Components/MediaImage/MediaImage.mdx +1 -1
  85. package/src/lib/Components/MediaImage/MediaImage.stories.tsx +3 -0
  86. package/src/lib/Components/MediaImage/MediaImage.tsx +2 -0
  87. package/src/lib/Components/MediaImage/types.ts +1 -1
  88. package/src/lib/Components/OptionList/OptionList.mdx +1 -1
  89. package/src/lib/Components/ThemeProvider/ThemeProvider.tsx +1 -4
  90. package/src/lib/Components/index.ts +0 -1
  91. package/src/lib/Symbols/Icons/Lightbulb.tsx +3 -3
  92. package/dist/module/lib/Components/Select/GlobalSelectBottomSheet.js +0 -155
  93. package/dist/module/lib/Components/Select/GlobalSelectBottomSheet.js.map +0 -1
  94. package/dist/module/lib/Components/Select/GlobalSelectContext.js +0 -78
  95. package/dist/module/lib/Components/Select/GlobalSelectContext.js.map +0 -1
  96. package/dist/module/lib/Components/Select/Select.js +0 -366
  97. package/dist/module/lib/Components/Select/Select.js.map +0 -1
  98. package/dist/module/lib/Components/Select/Select.mdx +0 -596
  99. package/dist/module/lib/Components/Select/Select.stories.js +0 -304
  100. package/dist/module/lib/Components/Select/Select.stories.js.map +0 -1
  101. package/dist/module/lib/Components/Select/Select.test.js +0 -123
  102. package/dist/module/lib/Components/Select/Select.test.js.map +0 -1
  103. package/dist/module/lib/Components/Select/SelectContext.js +0 -38
  104. package/dist/module/lib/Components/Select/SelectContext.js.map +0 -1
  105. package/dist/module/lib/Components/Select/index.js +0 -6
  106. package/dist/module/lib/Components/Select/index.js.map +0 -1
  107. package/dist/module/lib/Components/Select/types.js +0 -4
  108. package/dist/module/lib/Components/Select/types.js.map +0 -1
  109. package/dist/typescript/src/lib/Components/Select/GlobalSelectBottomSheet.d.ts +0 -20
  110. package/dist/typescript/src/lib/Components/Select/GlobalSelectBottomSheet.d.ts.map +0 -1
  111. package/dist/typescript/src/lib/Components/Select/GlobalSelectContext.d.ts +0 -44
  112. package/dist/typescript/src/lib/Components/Select/GlobalSelectContext.d.ts.map +0 -1
  113. package/dist/typescript/src/lib/Components/Select/Select.d.ts +0 -52
  114. package/dist/typescript/src/lib/Components/Select/Select.d.ts.map +0 -1
  115. package/dist/typescript/src/lib/Components/Select/SelectContext.d.ts +0 -36
  116. package/dist/typescript/src/lib/Components/Select/SelectContext.d.ts.map +0 -1
  117. package/dist/typescript/src/lib/Components/Select/index.d.ts +0 -4
  118. package/dist/typescript/src/lib/Components/Select/index.d.ts.map +0 -1
  119. package/dist/typescript/src/lib/Components/Select/types.d.ts +0 -130
  120. package/dist/typescript/src/lib/Components/Select/types.d.ts.map +0 -1
  121. package/src/lib/Components/Select/GlobalSelectBottomSheet.tsx +0 -180
  122. package/src/lib/Components/Select/GlobalSelectContext.tsx +0 -103
  123. package/src/lib/Components/Select/Select.mdx +0 -596
  124. package/src/lib/Components/Select/Select.stories.tsx +0 -266
  125. package/src/lib/Components/Select/Select.test.tsx +0 -117
  126. package/src/lib/Components/Select/Select.tsx +0 -469
  127. package/src/lib/Components/Select/SelectContext.tsx +0 -68
  128. package/src/lib/Components/Select/index.ts +0 -3
  129. package/src/lib/Components/Select/types.ts +0 -149
@@ -1,78 +0,0 @@
1
- "use strict";
2
-
3
- import { createSafeContext } from '@ledgerhq/lumen-utils-shared';
4
- import { useState, useRef, useMemo } from 'react';
5
- import { jsx as _jsx } from "react/jsx-runtime";
6
- const [GlobalSelectContextProvider, _useGlobalSelectSafeContext] = createSafeContext('GlobalSelectContext');
7
- export const useGlobalSelectSafeContext = _useGlobalSelectSafeContext;
8
-
9
- /**
10
- * Hook that provides select actions without subscribing to state changes.
11
- * This prevents unnecessary re-renders when selects open/close.
12
- *
13
- * Use this hook in components that only need to show/hide selects
14
- * but don't need to know which select is currently active.
15
- */
16
- export const useSelectActions = () => {
17
- const context = useGlobalSelectSafeContext({
18
- consumerName: 'useSelectActions',
19
- contextRequired: true
20
- });
21
- return useMemo(() => ({
22
- showSelect: context.showSelectRef.current,
23
- hideSelect: context.hideSelectRef.current
24
- }), [context.showSelectRef, context.hideSelectRef]);
25
- };
26
- /**
27
- * Global provider for the select bottom sheet system.
28
- * This should wrap your app at the root level and include GlobalSelectBottomSheet.
29
- *
30
- * @example
31
- * import { GlobalSelectProvider, GlobalSelectBottomSheet } from '@ledgerhq/lumen-ui-rnative';
32
- *
33
- * function App() {
34
- * return (
35
- * <GlobalSelectProvider>
36
- * <YourAppContent />
37
- * <GlobalSelectBottomSheet />
38
- * </GlobalSelectProvider>
39
- * );
40
- * }
41
- */
42
- export const GlobalSelectProvider = ({
43
- children
44
- }) => {
45
- const [currentSelect, setCurrentSelect] = useState(null);
46
- const showSelectRef = useRef(() => {
47
- return;
48
- });
49
- const hideSelectRef = useRef(() => {
50
- return;
51
- });
52
-
53
- /**
54
- * Update the ref implementations when needed
55
- * These closures capture the current setCurrentSelect
56
- */
57
- showSelectRef.current = data => {
58
- setCurrentSelect(data);
59
- };
60
- hideSelectRef.current = () => {
61
- setCurrentSelect(null);
62
- };
63
-
64
- /**
65
- * Memoize the context value - only currentSelect changes cause re-renders
66
- * The refs themselves never change
67
- */
68
- const contextValue = useMemo(() => ({
69
- currentSelect,
70
- showSelectRef,
71
- hideSelectRef
72
- }), [currentSelect]);
73
- return /*#__PURE__*/_jsx(GlobalSelectContextProvider, {
74
- value: contextValue,
75
- children: children
76
- });
77
- };
78
- //# sourceMappingURL=GlobalSelectContext.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["createSafeContext","useState","useRef","useMemo","jsx","_jsx","GlobalSelectContextProvider","_useGlobalSelectSafeContext","useGlobalSelectSafeContext","useSelectActions","context","consumerName","contextRequired","showSelect","showSelectRef","current","hideSelect","hideSelectRef","GlobalSelectProvider","children","currentSelect","setCurrentSelect","data","contextValue","value"],"sourceRoot":"../../../../../src","sources":["lib/Components/Select/GlobalSelectContext.tsx"],"mappings":";;AAAA,SAASA,iBAAiB,QAAQ,8BAA8B;AAEhE,SAASC,QAAQ,EAAEC,MAAM,EAAEC,OAAO,QAAQ,OAAO;AAAC,SAAAC,GAAA,IAAAC,IAAA;AASlD,MAAM,CAACC,2BAA2B,EAAEC,2BAA2B,CAAC,GAC9DP,iBAAiB,CAAsC,qBAAqB,CAAC;AAE/E,OAAO,MAAMQ,0BAA0B,GAAGD,2BAA2B;;AAErE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAME,gBAAgB,GAAGA,CAAA,KAG3B;EACH,MAAMC,OAAO,GAAGF,0BAA0B,CAAC;IACzCG,YAAY,EAAE,kBAAkB;IAChCC,eAAe,EAAE;EACnB,CAAC,CAAC;EAEF,OAAOT,OAAO,CACZ,OAAO;IACLU,UAAU,EAAEH,OAAO,CAACI,aAAa,CAACC,OAAO;IACzCC,UAAU,EAAEN,OAAO,CAACO,aAAa,CAACF;EACpC,CAAC,CAAC,EACF,CAACL,OAAO,CAACI,aAAa,EAAEJ,OAAO,CAACO,aAAa,CAC/C,CAAC;AACH,CAAC;AAMD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,oBAAoB,GAAGA,CAAC;EACnCC;AACyB,CAAC,KAAK;EAC/B,MAAM,CAACC,aAAa,EAAEC,gBAAgB,CAAC,GAAGpB,QAAQ,CAAoB,IAAI,CAAC;EAC3E,MAAMa,aAAa,GAAGZ,MAAM,CAA6B,MAAM;IAC7D;EACF,CAAC,CAAC;EACF,MAAMe,aAAa,GAAGf,MAAM,CAAa,MAAM;IAC7C;EACF,CAAC,CAAC;;EAEF;AACF;AACA;AACA;EACEY,aAAa,CAACC,OAAO,GAAIO,IAAgB,IAAK;IAC5CD,gBAAgB,CAACC,IAAI,CAAC;EACxB,CAAC;EAEDL,aAAa,CAACF,OAAO,GAAG,MAAM;IAC5BM,gBAAgB,CAAC,IAAI,CAAC;EACxB,CAAC;;EAED;AACF;AACA;AACA;EACE,MAAME,YAAY,GAAGpB,OAAO,CAC1B,OAAO;IACLiB,aAAa;IACbN,aAAa;IACbG;EACF,CAAC,CAAC,EACF,CAACG,aAAa,CAChB,CAAC;EAED,oBACEf,IAAA,CAACC,2BAA2B;IAACkB,KAAK,EAAED,YAAa;IAAAJ,QAAA,EAC9CA;EAAQ,CACkB,CAAC;AAElC,CAAC","ignoreList":[]}
@@ -1,366 +0,0 @@
1
- "use strict";
2
-
3
- import { useDisabledContext } from '@ledgerhq/lumen-utils-shared';
4
- import { useState, useEffect, useCallback, useId, Children, isValidElement } from 'react';
5
- import { StyleSheet, View } from 'react-native';
6
- import { useStyleSheet } from "../../../styles/index.js";
7
- import { ChevronDown } from "../../Symbols/index.js";
8
- import { useControllableState, extractTextFromChildren } from "../../utils/index.js";
9
- import { SlotPressable } from "../Slot/index.js";
10
- import { Box, Pressable, Text } from "../Utility/index.js";
11
- import { useSelectActions } from "./GlobalSelectContext.js";
12
- import { SelectContextProvider, useSelectSafeContext } from "./SelectContext.js";
13
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
14
- /**
15
- * The root component that manages a select's state.
16
- *
17
- * This component coordinates between the trigger, content, and items.
18
- * It works with GlobalSelectProvider to display options in a bottom sheet.
19
- *
20
- * @see {@link https://ldls.vercel.app/?path=/docs/components-select-overview--docs Storybook}
21
- *
22
- * @example
23
- * import { Select, SelectTrigger, SelectContent, SelectItem, SelectItemText } from '@ledgerhq/lumen-ui-rnative';
24
- *
25
- * function App() {
26
- * const [value, setValue] = useState('option1');
27
- * return (
28
- * <Select value={value} onValueChange={setValue}>
29
- * <SelectTrigger label="Choose option">
30
- * <SelectValue />
31
- * </SelectTrigger>
32
- * <SelectContent>
33
- * <SelectItem value="option1">
34
- * <SelectItemText>Option 1</SelectItemText>
35
- * </SelectItem>
36
- * <SelectItem value="option2">
37
- * <SelectItemText>Option 2</SelectItemText>
38
- * </SelectItem>
39
- * </SelectContent>
40
- * </Select>
41
- * );
42
- * }
43
- */
44
- export const Select = ({
45
- children,
46
- open: controlledOpen,
47
- defaultOpen = false,
48
- onOpenChange,
49
- value: controlledValue,
50
- defaultValue,
51
- onValueChange,
52
- disabled: disabledProp = false
53
- }) => {
54
- const disabled = useDisabledContext({
55
- consumerName: 'Select',
56
- mergeWith: {
57
- disabled: disabledProp
58
- }
59
- });
60
- const selectId = useId();
61
- const [internalOpen, setInternalOpen] = useControllableState({
62
- prop: controlledOpen,
63
- defaultProp: defaultOpen,
64
- onChange: onOpenChange
65
- });
66
- const [internalValue, setInternalValue] = useControllableState({
67
- prop: controlledValue,
68
- defaultProp: defaultValue ?? undefined,
69
- onChange: value => {
70
- if (value !== undefined) {
71
- onValueChange?.(value);
72
- }
73
- }
74
- });
75
- const [items, setItems] = useState([]);
76
- const setOpen = useCallback(newOpen => {
77
- if (!disabled) {
78
- setInternalOpen?.(newOpen);
79
- }
80
- }, [setInternalOpen, disabled]);
81
- const handleValueChange = useCallback(newValue => {
82
- setInternalValue?.(newValue);
83
- }, [setInternalValue]);
84
- return /*#__PURE__*/_jsx(SelectContextProvider, {
85
- selectId: selectId,
86
- open: internalOpen ?? false,
87
- setOpen: setOpen,
88
- value: internalValue,
89
- onValueChange: handleValueChange,
90
- disabled: disabled,
91
- items: items,
92
- setItems: setItems,
93
- children: children
94
- });
95
- };
96
- export const SelectTrigger = ({
97
- children,
98
- lx,
99
- style,
100
- label,
101
- asChild = false,
102
- disabled: triggerDisabled,
103
- ...props
104
- }) => {
105
- const {
106
- selectId,
107
- setOpen,
108
- items,
109
- value,
110
- disabled: contextDisabled,
111
- label: contextLabel,
112
- onValueChange
113
- } = useSelectSafeContext({
114
- consumerName: 'SelectTrigger',
115
- contextRequired: true
116
- });
117
- const {
118
- showSelect
119
- } = useSelectActions();
120
- const disabled = triggerDisabled ?? contextDisabled;
121
- const finalLabel = label ?? contextLabel;
122
- const handlePress = useCallback(() => {
123
- if (!disabled && items.length > 0) {
124
- setOpen(true);
125
- showSelect({
126
- id: selectId,
127
- items,
128
- selectedValue: value,
129
- onSelectValue: onValueChange,
130
- setOpen,
131
- label: finalLabel
132
- });
133
- }
134
- }, [disabled, items, selectId, value, setOpen, showSelect, finalLabel, onValueChange]);
135
- const hasValue = value !== undefined && value !== '';
136
- const styles = useTriggerStyles({
137
- disabled: !!disabled,
138
- hasValue,
139
- hasLabel: !!finalLabel
140
- });
141
- const Comp = asChild ? SlotPressable : Pressable;
142
- return /*#__PURE__*/_jsxs(Comp, {
143
- lx: lx,
144
- style: [styles.trigger, style],
145
- disabled: disabled,
146
- onPress: handlePress,
147
- ...props,
148
- children: [finalLabel && /*#__PURE__*/_jsx(Text, {
149
- style: styles.label,
150
- numberOfLines: 1,
151
- children: finalLabel
152
- }), /*#__PURE__*/_jsx(View, {
153
- style: styles.contentWrapper,
154
- children: children
155
- }), /*#__PURE__*/_jsx(ChevronDown, {
156
- size: 20,
157
- style: styles.chevron
158
- })]
159
- });
160
- };
161
- const useTriggerStyles = ({
162
- disabled,
163
- hasValue,
164
- hasLabel
165
- }) => {
166
- return useStyleSheet(t => {
167
- return {
168
- trigger: StyleSheet.flatten([{
169
- position: 'relative',
170
- width: t.sizes.full,
171
- height: t.sizes.s48,
172
- backgroundColor: t.colors.bg.muted,
173
- borderRadius: t.borderRadius.sm,
174
- paddingHorizontal: t.spacings.s16,
175
- flexDirection: 'row',
176
- alignItems: 'center',
177
- justifyContent: 'space-between'
178
- }, disabled && {
179
- opacity: 0.5
180
- }]),
181
- label: StyleSheet.flatten([t.typographies.body2, {
182
- position: 'absolute',
183
- left: t.spacings.s16,
184
- color: t.colors.text.muted,
185
- width: '100%'
186
- }, hasValue ? {
187
- top: t.spacings.s6,
188
- ...t.typographies.body4
189
- } : {
190
- top: t.spacings.s14,
191
- ...t.typographies.body2
192
- }, disabled && {
193
- color: t.colors.text.disabled
194
- }]),
195
- contentWrapper: StyleSheet.flatten([{
196
- flex: 1
197
- }, hasLabel && hasValue && {
198
- paddingTop: t.spacings.s16,
199
- paddingBottom: t.spacings.s2
200
- }, hasLabel && !hasValue && {
201
- paddingVertical: 0
202
- }]),
203
- chevron: StyleSheet.flatten([{
204
- flexShrink: 0,
205
- color: t.colors.text.muted,
206
- marginLeft: t.spacings.s8
207
- }, disabled && {
208
- color: t.colors.text.disabled
209
- }])
210
- };
211
- }, [disabled, hasValue, hasLabel]);
212
- };
213
-
214
- /**
215
- * Displays the current selected value
216
- */
217
- export const SelectValue = () => {
218
- const {
219
- value,
220
- items
221
- } = useSelectSafeContext({
222
- consumerName: 'SelectValue',
223
- contextRequired: true
224
- });
225
- const styles = useStyleSheet(t => ({
226
- text: StyleSheet.flatten([t.typographies.body2, {
227
- color: t.colors.text.base,
228
- textAlign: 'left'
229
- }])
230
- }), []);
231
- const selectedItem = items.find(item => item.type === 'item' && item.value === value);
232
- if (!selectedItem || selectedItem.type !== 'item') {
233
- return null;
234
- }
235
- return /*#__PURE__*/_jsx(Text, {
236
- style: styles.text,
237
- numberOfLines: 1,
238
- ellipsizeMode: "tail",
239
- children: selectedItem.label
240
- });
241
- };
242
-
243
- /**
244
- * Container for select items. This component collects all items
245
- * and makes them available to the bottom sheet.
246
- */
247
- export const SelectContent = ({
248
- children
249
- }) => {
250
- const {
251
- setItems
252
- } = useSelectSafeContext({
253
- consumerName: 'SelectContent',
254
- contextRequired: true
255
- });
256
- useEffect(() => {
257
- const items = [];
258
- const extractItems = child => {
259
- Children.forEach(child, element => {
260
- if (! /*#__PURE__*/isValidElement(element)) return;
261
- if (element.type === SelectItem) {
262
- const props = element.props;
263
- const textValue = props.textValue ?? extractTextFromChildren(props.children, SelectItemText);
264
- items.push({
265
- type: 'item',
266
- value: props.value,
267
- label: textValue,
268
- disabled: props.disabled
269
- });
270
- } else if (element.type === SelectGroup) {
271
- extractItems(element.props.children);
272
- } else if (element.type === SelectLabel) {
273
- const labelText = extractTextFromChildren(element.props.children, SelectItemText);
274
- items.push({
275
- type: 'group-label',
276
- label: labelText
277
- });
278
- } else if (element.type === SelectSeparator) {
279
- items.push({
280
- type: 'separator'
281
- });
282
- } else if (element.props?.children) {
283
- extractItems(element.props.children);
284
- }
285
- });
286
- };
287
- extractItems(children);
288
- setItems(items);
289
- }, [children, setItems]);
290
- return null;
291
- };
292
- export const SelectGroup = ({
293
- children,
294
- lx,
295
- style,
296
- ...props
297
- }) => {
298
- const styles = useStyleSheet(t => ({
299
- group: {
300
- width: t.sizes.full,
301
- gap: t.spacings.s4
302
- }
303
- }), []);
304
- return /*#__PURE__*/_jsx(Box, {
305
- lx: lx,
306
- style: [styles.group, style],
307
- ...props,
308
- children: children
309
- });
310
- };
311
- export const SelectLabel = ({
312
- children,
313
- lx,
314
- style,
315
- ...props
316
- }) => {
317
- const styles = useStyleSheet(t => ({
318
- label: StyleSheet.flatten([t.typographies.body3SemiBold, {
319
- paddingHorizontal: t.spacings.s8,
320
- paddingBottom: 0,
321
- paddingTop: t.spacings.s8,
322
- color: t.colors.text.muted,
323
- marginBottom: t.spacings.s4
324
- }])
325
- }), []);
326
- return /*#__PURE__*/_jsx(Text, {
327
- lx: lx,
328
- style: [styles.label, style],
329
- ...props,
330
- children: children
331
- });
332
- };
333
-
334
- /**
335
- * Individual select item. Note: The actual rendering happens in GlobalSelectBottomSheet.
336
- * This component is used to declare the structure and collect item data.
337
- */
338
- export const SelectItem = _props => {
339
- // This component doesn't render anything - it's used for structure
340
- // The actual items are rendered in GlobalSelectBottomSheet
341
- return null;
342
- };
343
- export const SelectItemText = ({
344
- children,
345
- lx,
346
- style,
347
- ...props
348
- }) => {
349
- const styles = useStyleSheet(t => ({
350
- text: StyleSheet.flatten([t.typographies.body2, {
351
- color: t.colors.text.base
352
- }])
353
- }), []);
354
- return /*#__PURE__*/_jsx(Text, {
355
- lx: lx,
356
- style: [styles.text, style],
357
- ...props,
358
- children: children
359
- });
360
- };
361
- export const SelectSeparator = _props => {
362
- // This component doesn't render anything - it's used for structure
363
- // The actual separators are rendered in GlobalSelectBottomSheet
364
- return null;
365
- };
366
- //# sourceMappingURL=Select.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["useDisabledContext","useState","useEffect","useCallback","useId","Children","isValidElement","StyleSheet","View","useStyleSheet","ChevronDown","useControllableState","extractTextFromChildren","SlotPressable","Box","Pressable","Text","useSelectActions","SelectContextProvider","useSelectSafeContext","jsx","_jsx","jsxs","_jsxs","Select","children","open","controlledOpen","defaultOpen","onOpenChange","value","controlledValue","defaultValue","onValueChange","disabled","disabledProp","consumerName","mergeWith","selectId","internalOpen","setInternalOpen","prop","defaultProp","onChange","internalValue","setInternalValue","undefined","items","setItems","setOpen","newOpen","handleValueChange","newValue","SelectTrigger","lx","style","label","asChild","triggerDisabled","props","contextDisabled","contextLabel","contextRequired","showSelect","finalLabel","handlePress","length","id","selectedValue","onSelectValue","hasValue","styles","useTriggerStyles","hasLabel","Comp","trigger","onPress","numberOfLines","contentWrapper","size","chevron","t","flatten","position","width","sizes","full","height","s48","backgroundColor","colors","bg","muted","borderRadius","sm","paddingHorizontal","spacings","s16","flexDirection","alignItems","justifyContent","opacity","typographies","body2","left","color","text","top","s6","body4","s14","flex","paddingTop","paddingBottom","s2","paddingVertical","flexShrink","marginLeft","s8","SelectValue","base","textAlign","selectedItem","find","item","type","ellipsizeMode","SelectContent","extractItems","child","forEach","element","SelectItem","textValue","SelectItemText","push","SelectGroup","SelectLabel","labelText","SelectSeparator","group","gap","s4","body3SemiBold","marginBottom","_props"],"sourceRoot":"../../../../../src","sources":["lib/Components/Select/Select.tsx"],"mappings":"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","ignoreList":[]}