@xaui/native 0.9.1-alpha.91 → 0.9.1-alpha.92

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 (86) hide show
  1. package/dist/chunk-3A5RK2R7.js +40 -0
  2. package/dist/chunk-6JAGPPZU.cjs +788 -0
  3. package/dist/chunk-7NQL5DXY.js +302 -0
  4. package/dist/chunk-FTPPUTWL.cjs +40 -0
  5. package/dist/chunk-GGP2ERSV.js +487 -0
  6. package/dist/chunk-KPKEZWZM.js +517 -0
  7. package/dist/chunk-LKRQUQZQ.cjs +487 -0
  8. package/dist/{chunk-LIEXFWTN.js → chunk-P5M5URAB.js} +29 -126
  9. package/dist/chunk-UR37LVPU.cjs +382 -0
  10. package/dist/chunk-XWIPLZTD.cjs +302 -0
  11. package/dist/components/carousel/index.cjs +3 -2
  12. package/dist/components/carousel/index.js +2 -1
  13. package/dist/components/index.d.cts +3 -0
  14. package/dist/components/index.d.ts +3 -0
  15. package/dist/components/number-pad/index.cjs +40 -0
  16. package/dist/components/number-pad/index.d.cts +60 -0
  17. package/dist/components/number-pad/index.d.ts +60 -0
  18. package/dist/components/number-pad/index.js +40 -0
  19. package/dist/components/number-pad/number-pad-action.d.cts +24 -0
  20. package/dist/components/number-pad/number-pad-action.d.ts +24 -0
  21. package/dist/components/number-pad/number-pad-backspace.d.cts +18 -0
  22. package/dist/components/number-pad/number-pad-backspace.d.ts +18 -0
  23. package/dist/components/number-pad/number-pad-cell.d.cts +7 -0
  24. package/dist/components/number-pad/number-pad-cell.d.ts +7 -0
  25. package/dist/components/number-pad/number-pad-icon.d.cts +13 -0
  26. package/dist/components/number-pad/number-pad-icon.d.ts +13 -0
  27. package/dist/components/number-pad/number-pad-key.d.cts +24 -0
  28. package/dist/components/number-pad/number-pad-key.d.ts +24 -0
  29. package/dist/components/number-pad/number-pad-label.d.cts +14 -0
  30. package/dist/components/number-pad/number-pad-label.d.ts +14 -0
  31. package/dist/components/number-pad/number-pad.context.d.cts +18 -0
  32. package/dist/components/number-pad/number-pad.context.d.ts +18 -0
  33. package/dist/components/number-pad/number-pad.d.cts +57 -0
  34. package/dist/components/number-pad/number-pad.d.ts +57 -0
  35. package/dist/components/number-pad/number-pad.recipe.d.cts +11 -0
  36. package/dist/components/number-pad/number-pad.recipe.d.ts +11 -0
  37. package/dist/components/number-pad/number-pad.style.d.cts +13 -0
  38. package/dist/components/number-pad/number-pad.style.d.ts +13 -0
  39. package/dist/components/number-pad/number-pad.type.d.cts +135 -0
  40. package/dist/components/number-pad/number-pad.type.d.ts +135 -0
  41. package/dist/components/number-pad/number-pad.utils.d.cts +34 -0
  42. package/dist/components/number-pad/number-pad.utils.d.ts +34 -0
  43. package/dist/components/pager/index.cjs +31 -0
  44. package/dist/components/pager/index.d.cts +60 -0
  45. package/dist/components/pager/index.d.ts +60 -0
  46. package/dist/components/pager/index.js +31 -0
  47. package/dist/components/pager/pager-content.d.cts +24 -0
  48. package/dist/components/pager/pager-content.d.ts +24 -0
  49. package/dist/components/pager/pager-indicator.d.cts +47 -0
  50. package/dist/components/pager/pager-indicator.d.ts +47 -0
  51. package/dist/components/pager/pager-page.d.cts +16 -0
  52. package/dist/components/pager/pager-page.d.ts +16 -0
  53. package/dist/components/pager/pager.context.d.cts +7 -0
  54. package/dist/components/pager/pager.context.d.ts +7 -0
  55. package/dist/components/pager/pager.d.cts +71 -0
  56. package/dist/components/pager/pager.d.ts +71 -0
  57. package/dist/components/pager/pager.recipe.d.cts +15 -0
  58. package/dist/components/pager/pager.recipe.d.ts +15 -0
  59. package/dist/components/pager/pager.type.d.cts +108 -0
  60. package/dist/components/pager/pager.type.d.ts +108 -0
  61. package/dist/components/rating/index.cjs +30 -0
  62. package/dist/components/rating/index.d.cts +41 -0
  63. package/dist/components/rating/index.d.ts +41 -0
  64. package/dist/components/rating/index.js +30 -0
  65. package/dist/components/rating/rating-icon.d.cts +16 -0
  66. package/dist/components/rating/rating-icon.d.ts +16 -0
  67. package/dist/components/rating/rating-item.d.cts +23 -0
  68. package/dist/components/rating/rating-item.d.ts +23 -0
  69. package/dist/components/rating/rating-star.d.cts +19 -0
  70. package/dist/components/rating/rating-star.d.ts +19 -0
  71. package/dist/components/rating/rating.context.d.cts +16 -0
  72. package/dist/components/rating/rating.context.d.ts +16 -0
  73. package/dist/components/rating/rating.d.cts +59 -0
  74. package/dist/components/rating/rating.d.ts +59 -0
  75. package/dist/components/rating/rating.recipe.d.cts +11 -0
  76. package/dist/components/rating/rating.recipe.d.ts +11 -0
  77. package/dist/components/rating/rating.style.d.cts +24 -0
  78. package/dist/components/rating/rating.style.d.ts +24 -0
  79. package/dist/components/rating/rating.type.d.cts +108 -0
  80. package/dist/components/rating/rating.type.d.ts +108 -0
  81. package/dist/components/rating/rating.utils.d.cts +28 -0
  82. package/dist/components/rating/rating.utils.d.ts +28 -0
  83. package/dist/index.cjs +90 -29
  84. package/dist/index.js +146 -85
  85. package/package.json +31 -1
  86. package/dist/chunk-K5UO3HBW.cjs +0 -1007
@@ -0,0 +1,302 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
+
3
+ var _chunk7EIHHOHPcjs = require('./chunk-7EIHHOHP.cjs');
4
+
5
+
6
+ var _chunkOW4N2C3Mcjs = require('./chunk-OW4N2C3M.cjs');
7
+
8
+
9
+ var _chunk7DPL3ZDScjs = require('./chunk-7DPL3ZDS.cjs');
10
+
11
+
12
+ var _chunkGSZDN6EZcjs = require('./chunk-GSZDN6EZ.cjs');
13
+
14
+
15
+ var _chunkSL3V7R2Ycjs = require('./chunk-SL3V7R2Y.cjs');
16
+
17
+
18
+ var _chunkCDRGTUYFcjs = require('./chunk-CDRGTUYF.cjs');
19
+
20
+
21
+ var _chunkEJQCQPETcjs = require('./chunk-EJQCQPET.cjs');
22
+
23
+
24
+ var _chunkIIAQISBGcjs = require('./chunk-IIAQISBG.cjs');
25
+
26
+
27
+ var _chunkTK44VBIEcjs = require('./chunk-TK44VBIE.cjs');
28
+
29
+ // src/components/rating/rating.context.ts
30
+ var [RatingProvider, useRating] = _chunkCDRGTUYFcjs.createSlotContext.call(void 0, "Rating");
31
+ var [RatingLayerProvider, useRatingLayer] = _chunkCDRGTUYFcjs.createSlotContext.call(void 0, "Rating.Layer");
32
+
33
+ // src/components/rating/rating-icon.tsx
34
+ var _jsxruntime = require('react/jsx-runtime');
35
+ function RatingIcon({ size, color, ...rest }) {
36
+ const { icon, iconFill } = useRating();
37
+ const { tone } = useRatingLayer();
38
+ const resolved = tone === "fill" ? iconFill : icon;
39
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSZDN6EZcjs.Icon, { size: _nullishCoalesce(size, () => ( resolved.size)), color: _nullishCoalesce(color, () => ( resolved.color)), ...rest });
40
+ }
41
+ RatingIcon.displayName = "XAUI.Rating.Icon";
42
+
43
+ // src/components/rating/rating-item.tsx
44
+ var _react = require('react');
45
+ var _reactnative = require('react-native');
46
+
47
+ // src/components/rating/rating-star.tsx
48
+
49
+
50
+ function RatingStar() {
51
+ const { glyphStyle, glyphFillStyle, markSize } = useRating();
52
+ const { tone } = useRatingLayer();
53
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
54
+ _reactnative.Text,
55
+ {
56
+ style: [tone === "fill" ? glyphFillStyle : glyphStyle, { width: markSize }],
57
+ children: "\u2605"
58
+ }
59
+ );
60
+ }
61
+ RatingStar.displayName = "XAUI.Rating.Star";
62
+
63
+ // src/components/rating/rating.style.ts
64
+
65
+ var ratingSheet = _reactnative.StyleSheet.create({
66
+ clip: { position: "absolute", top: 0, start: 0, bottom: 0, overflow: "hidden" }
67
+ });
68
+
69
+ // src/components/rating/rating.utils.ts
70
+ function fillFor(value, index) {
71
+ return Math.min(1, Math.max(0, value - index));
72
+ }
73
+ function snapValue({ raw, precision, max }) {
74
+ if (precision <= 0) return Math.min(max, Math.max(0, raw));
75
+ const stepped = Math.ceil(raw / precision) * precision;
76
+ const clamped = Math.min(max, Math.max(precision, stepped));
77
+ return Math.round(clamped * 1e3) / 1e3;
78
+ }
79
+
80
+ // src/components/rating/rating-item.tsx
81
+
82
+ var RatingItem = _react.forwardRef.call(void 0, function RatingItem2({
83
+ index,
84
+ children,
85
+ accessibilityRole,
86
+ accessibilityState,
87
+ style,
88
+ onPress,
89
+ onPressIn,
90
+ onPressOut,
91
+ ...props
92
+ }, ref) {
93
+ const { itemStyle, markSize, value, max, select, isReadOnly, isDisabled } = useRating();
94
+ const [styleProps, rest] = _chunkTK44VBIEcjs.useStyleProps.call(void 0, props);
95
+ const [isPressed, press] = _chunk7DPL3ZDScjs.usePressState.call(void 0, { onPressIn, onPressOut });
96
+ const fill = fillFor(value, index);
97
+ const inert = isReadOnly || isDisabled;
98
+ const empty = _react.useMemo.call(void 0, () => ({ tone: "empty" }), []);
99
+ const filled = _react.useMemo.call(void 0, () => ({ tone: "fill" }), []);
100
+ const handlePress = (event) => {
101
+ _optionalChain([onPress, 'optionalCall', _2 => _2(event)]);
102
+ const ratio = markSize > 0 ? event.nativeEvent.locationX / markSize : 1;
103
+ select(index, ratio);
104
+ };
105
+ const glyph = _nullishCoalesce(children, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RatingStar, {})));
106
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
107
+ _chunkOW4N2C3Mcjs.PressableFeedback,
108
+ {
109
+ ref,
110
+ isPressed,
111
+ isDisabled: inert,
112
+ accessibilityRole: _nullishCoalesce(accessibilityRole, () => ( (isReadOnly ? "image" : "button"))),
113
+ accessibilityState: { disabled: isDisabled, ...accessibilityState },
114
+ accessibilityValue: isReadOnly ? void 0 : { now: index + 1, min: 1, max },
115
+ animation: false,
116
+ ...rest,
117
+ style: [
118
+ itemStyle,
119
+ styleProps,
120
+ typeof style === "function" ? style({ pressed: isPressed }) : style
121
+ ],
122
+ onPress: handlePress,
123
+ onPressIn: press.onPressIn,
124
+ onPressOut: press.onPressOut,
125
+ children: [
126
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RatingLayerProvider, { value: empty, children: glyph }),
127
+ fill > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reactnative.View, { style: [ratingSheet.clip, { width: markSize * fill }], children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RatingLayerProvider, { value: filled, children: glyph }) }) : null
128
+ ]
129
+ }
130
+ );
131
+ });
132
+ RatingItem.displayName = "XAUI.Rating.Item";
133
+
134
+ // src/components/rating/rating.tsx
135
+
136
+
137
+
138
+ // src/components/rating/rating.recipe.ts
139
+ var SLOTS = ["root", "item", "glyph", "glyphFill"];
140
+ var VARIANT_TOKENS = {
141
+ primary: { bgSelected: "accent" },
142
+ secondary: { bgSelected: "defaultForeground" },
143
+ tertiary: { bgSelected: "foreground" }
144
+ };
145
+ var SIZES = {
146
+ xs: { glyph: "sm", gap: 0.5 },
147
+ sm: { glyph: "md", gap: 0.5 },
148
+ md: { glyph: "xl", gap: 1 },
149
+ lg: { glyph: "2xl", gap: 1 }
150
+ };
151
+ function sizeAxis(step) {
152
+ const { glyph, gap } = step;
153
+ return (theme) => {
154
+ const type = {
155
+ fontSize: theme.fontSizes[glyph],
156
+ lineHeight: theme.lineHeights[glyph]
157
+ };
158
+ return {
159
+ root: { gap: theme.spacing(gap) },
160
+ glyph: type,
161
+ glyphFill: type
162
+ };
163
+ };
164
+ }
165
+ var ratingRecipe = _chunkSL3V7R2Ycjs.createRecipe.call(void 0, {
166
+ slots: SLOTS,
167
+ base: (theme) => ({
168
+ root: { flexDirection: "row", alignItems: "center" },
169
+ // A mark is as wide as its glyph, and the fill layer is positioned against its start
170
+ // edge — `relative` is what that layer's `position: absolute` is measured from.
171
+ item: { position: "relative" },
172
+ /**
173
+ * The unfilled mark reads the **neutral fill** token rather than a faint version of the
174
+ * filled colour: a pale tint of the accent under a row of stars looks like a control
175
+ * that half failed to load, where a neutral one looks like a mark that is simply not
176
+ * given yet. It is the same choice the `Carousel`'s inactive dots make.
177
+ */
178
+ glyph: {
179
+ fontFamily: theme.fontFamilies.body,
180
+ color: theme.colors.default
181
+ },
182
+ glyphFill: { fontFamily: theme.fontFamilies.body }
183
+ }),
184
+ variantTokens: VARIANT_TOKENS,
185
+ paint: (_theme, colors) => ({
186
+ glyphFill: { color: colors.bgSelected }
187
+ }),
188
+ variants: {
189
+ size: {
190
+ xs: sizeAxis(SIZES.xs),
191
+ sm: sizeAxis(SIZES.sm),
192
+ md: sizeAxis(SIZES.md),
193
+ lg: sizeAxis(SIZES.lg)
194
+ }
195
+ },
196
+ states: {
197
+ disabled: (theme) => ({ root: { opacity: theme.opacity.disabled } })
198
+ },
199
+ defaultVariants: { variant: "primary", size: "md" }
200
+ });
201
+
202
+ // src/components/rating/rating.tsx
203
+
204
+ var RatingRoot = _react.forwardRef.call(void 0, function Rating({
205
+ children,
206
+ variant,
207
+ size,
208
+ color,
209
+ max = 5,
210
+ value: controlledValue,
211
+ defaultValue = 0,
212
+ onValueChange,
213
+ precision = 1,
214
+ isReadOnly = false,
215
+ isDisabled = false,
216
+ accessibilityRole = "none",
217
+ style,
218
+ ...props
219
+ }, ref) {
220
+ const theme = _chunkIIAQISBGcjs.useXAUITheme.call(void 0, );
221
+ const [styleProps, rest] = _chunkTK44VBIEcjs.useStyleProps.call(void 0, props);
222
+ const [value, setValue] = _chunk7EIHHOHPcjs.useControllableState.call(void 0, {
223
+ value: controlledValue,
224
+ defaultValue,
225
+ onChange: onValueChange
226
+ });
227
+ const selection = { variant, size };
228
+ const states = { disabled: isDisabled };
229
+ const styles = ratingRecipe.resolve({ theme, selection, states });
230
+ const tint = color ? ratingRecipe.tint({ theme, color, selection, states }) : void 0;
231
+ const select = _react.useCallback.call(void 0,
232
+ (index, ratio) => {
233
+ if (isReadOnly || isDisabled) return;
234
+ setValue(snapValue({ raw: index + ratio, precision, max }));
235
+ },
236
+ [isReadOnly, isDisabled, setValue, precision, max]
237
+ );
238
+ const context = _react.useMemo.call(void 0, () => {
239
+ const glyph = (...layers) => {
240
+ const flat = _reactnative.StyleSheet.flatten(layers);
241
+ return {
242
+ size: flat.fontSize,
243
+ // `ColorValue` also covers the platform's opaque colours, which `Icon` cannot hand
244
+ // to a third-party component expecting a string.
245
+ color: typeof flat.color === "string" ? flat.color : void 0
246
+ };
247
+ };
248
+ const fill = glyph(styles.glyphFill, _optionalChain([tint, 'optionalAccess', _3 => _3.glyphFill]));
249
+ return {
250
+ itemStyle: styles.item,
251
+ glyphStyle: styles.glyph,
252
+ glyphFillStyle: tint ? [styles.glyphFill, tint.glyphFill] : styles.glyphFill,
253
+ icon: glyph(styles.glyph),
254
+ iconFill: fill,
255
+ // The mark's width *is* its type size: a glyph is text, and the clip over it has to be
256
+ // measured in the same unit the glyph was set in. Read off the resolved slot rather
257
+ // than recomputed, so the recipe stays the only place a size is decided.
258
+ markSize: _nullishCoalesce(fill.size, () => ( 0)),
259
+ value,
260
+ max,
261
+ precision,
262
+ select,
263
+ isReadOnly,
264
+ isDisabled
265
+ };
266
+ }, [styles, tint, value, max, precision, select, isReadOnly, isDisabled]);
267
+ const rootStyle = [styles.root, _optionalChain([tint, 'optionalAccess', _4 => _4.root]), styleProps, style];
268
+ if (!Number.isInteger(max) || max < 1) {
269
+ _chunkEJQCQPETcjs.warnDev.call(void 0,
270
+ `Rating: \`max\` is ${max}, and it has to be a whole number of at least one \u2014 a row of marks cannot be a fraction of a mark long.`
271
+ );
272
+ }
273
+ const count = Math.max(1, Math.floor(max));
274
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RatingProvider, { value: context, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
275
+ _reactnative.View,
276
+ {
277
+ ref,
278
+ accessibilityRole,
279
+ accessibilityLabel: isReadOnly ? `${value} out of ${count}` : rest.accessibilityLabel,
280
+ ...rest,
281
+ style: rootStyle,
282
+ children: Array.from({ length: count }, (_, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RatingItem, { index, children }, index))
283
+ }
284
+ ) });
285
+ });
286
+ RatingRoot.displayName = "XAUI.Rating.Root";
287
+
288
+ // src/components/rating/index.ts
289
+ var Rating2 = Object.assign(RatingRoot, {
290
+ Item: RatingItem,
291
+ Icon: RatingIcon
292
+ });
293
+
294
+
295
+
296
+
297
+
298
+
299
+
300
+
301
+
302
+ exports.useRating = useRating; exports.useRatingLayer = useRatingLayer; exports.RatingIcon = RatingIcon; exports.RatingItem = RatingItem; exports.ratingRecipe = ratingRecipe; exports.RatingRoot = RatingRoot; exports.Rating = Rating2;
@@ -12,7 +12,8 @@
12
12
 
13
13
 
14
14
 
15
- var _chunkK5UO3HBWcjs = require('../../chunk-K5UO3HBW.cjs');
15
+ var _chunk6JAGPPZUcjs = require('../../chunk-6JAGPPZU.cjs');
16
+ require('../../chunk-FTPPUTWL.cjs');
16
17
  require('../../chunk-WFEMJCXO.cjs');
17
18
  require('../../chunk-7EIHHOHP.cjs');
18
19
  require('../../chunk-OW4N2C3M.cjs');
@@ -39,4 +40,4 @@ require('../../chunk-TK44VBIE.cjs');
39
40
 
40
41
 
41
42
 
42
- exports.Carousel = _chunkK5UO3HBWcjs.Carousel; exports.CarouselContent = _chunkK5UO3HBWcjs.CarouselContent; exports.CarouselCounter = _chunkK5UO3HBWcjs.CarouselCounter; exports.CarouselDot = _chunkK5UO3HBWcjs.CarouselDot; exports.CarouselIndicator = _chunkK5UO3HBWcjs.CarouselIndicator; exports.CarouselItem = _chunkK5UO3HBWcjs.CarouselItem; exports.CarouselNext = _chunkK5UO3HBWcjs.CarouselNext; exports.CarouselPrevious = _chunkK5UO3HBWcjs.CarouselPrevious; exports.CarouselRoot = _chunkK5UO3HBWcjs.CarouselRoot; exports.CarouselThumbnail = _chunkK5UO3HBWcjs.CarouselThumbnail; exports.CarouselThumbnails = _chunkK5UO3HBWcjs.CarouselThumbnails; exports.carouselRecipe = _chunkK5UO3HBWcjs.carouselRecipe; exports.useCarousel = _chunkK5UO3HBWcjs.useCarousel;
43
+ exports.Carousel = _chunk6JAGPPZUcjs.Carousel; exports.CarouselContent = _chunk6JAGPPZUcjs.CarouselContent; exports.CarouselCounter = _chunk6JAGPPZUcjs.CarouselCounter; exports.CarouselDot = _chunk6JAGPPZUcjs.CarouselDot; exports.CarouselIndicator = _chunk6JAGPPZUcjs.CarouselIndicator; exports.CarouselItem = _chunk6JAGPPZUcjs.CarouselItem; exports.CarouselNext = _chunk6JAGPPZUcjs.CarouselNext; exports.CarouselPrevious = _chunk6JAGPPZUcjs.CarouselPrevious; exports.CarouselRoot = _chunk6JAGPPZUcjs.CarouselRoot; exports.CarouselThumbnail = _chunk6JAGPPZUcjs.CarouselThumbnail; exports.CarouselThumbnails = _chunk6JAGPPZUcjs.CarouselThumbnails; exports.carouselRecipe = _chunk6JAGPPZUcjs.carouselRecipe; exports.useCarousel = _chunk6JAGPPZUcjs.useCarousel;
@@ -12,7 +12,8 @@ import {
12
12
  CarouselThumbnails,
13
13
  carouselRecipe,
14
14
  useCarousel
15
- } from "../../chunk-LIEXFWTN.js";
15
+ } from "../../chunk-P5M5URAB.js";
16
+ import "../../chunk-3A5RK2R7.js";
16
17
  import "../../chunk-NCTOTTVW.js";
17
18
  import "../../chunk-F6W3JQ7K.js";
18
19
  import "../../chunk-2AFA5HA2.js";
@@ -34,6 +34,8 @@ export * from './mask-field';
34
34
  export * from './menu';
35
35
  export * from './morph-button';
36
36
  export * from './number-field';
37
+ export * from './number-pad';
38
+ export * from './pager';
37
39
  export * from './number-stepper';
38
40
  export * from './pie-chart';
39
41
  export * from './popover';
@@ -42,6 +44,7 @@ export * from './progress-circle';
42
44
  export * from './radar-chart';
43
45
  export * from './radial-chart';
44
46
  export * from './radio';
47
+ export * from './rating';
45
48
  export * from './range-calendar';
46
49
  export * from './scaffold';
47
50
  export * from './search-field';
@@ -34,6 +34,8 @@ export * from './mask-field';
34
34
  export * from './menu';
35
35
  export * from './morph-button';
36
36
  export * from './number-field';
37
+ export * from './number-pad';
38
+ export * from './pager';
37
39
  export * from './number-stepper';
38
40
  export * from './pie-chart';
39
41
  export * from './popover';
@@ -42,6 +44,7 @@ export * from './progress-circle';
42
44
  export * from './radar-chart';
43
45
  export * from './radial-chart';
44
46
  export * from './radio';
47
+ export * from './rating';
45
48
  export * from './range-calendar';
46
49
  export * from './scaffold';
47
50
  export * from './search-field';
@@ -0,0 +1,40 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+
4
+
5
+
6
+
7
+
8
+
9
+
10
+
11
+
12
+
13
+
14
+ var _chunkLKRQUQZQcjs = require('../../chunk-LKRQUQZQ.cjs');
15
+ require('../../chunk-7EIHHOHP.cjs');
16
+ require('../../chunk-OW4N2C3M.cjs');
17
+ require('../../chunk-7DPL3ZDS.cjs');
18
+ require('../../chunk-GSZDN6EZ.cjs');
19
+ require('../../chunk-FHNIGHN5.cjs');
20
+ require('../../chunk-SL3V7R2Y.cjs');
21
+ require('../../chunk-TVJXC4HY.cjs');
22
+ require('../../chunk-CDRGTUYF.cjs');
23
+ require('../../chunk-H4E4HDEP.cjs');
24
+ require('../../chunk-EJQCQPET.cjs');
25
+ require('../../chunk-IIAQISBG.cjs');
26
+ require('../../chunk-TK44VBIE.cjs');
27
+
28
+
29
+
30
+
31
+
32
+
33
+
34
+
35
+
36
+
37
+
38
+
39
+
40
+ exports.NUMBER_PAD_ROWS = _chunkLKRQUQZQcjs.NUMBER_PAD_ROWS; exports.NUMBER_PAD_ZERO = _chunkLKRQUQZQcjs.NUMBER_PAD_ZERO; exports.NumberPad = _chunkLKRQUQZQcjs.NumberPad; exports.NumberPadAction = _chunkLKRQUQZQcjs.NumberPadAction; exports.NumberPadBackspace = _chunkLKRQUQZQcjs.NumberPadBackspace; exports.NumberPadIcon = _chunkLKRQUQZQcjs.NumberPadIcon; exports.NumberPadKey = _chunkLKRQUQZQcjs.NumberPadKey; exports.NumberPadLabel = _chunkLKRQUQZQcjs.NumberPadLabel; exports.NumberPadRoot = _chunkLKRQUQZQcjs.NumberPadRoot; exports.numberPadRecipe = _chunkLKRQUQZQcjs.numberPadRecipe; exports.useNumberPad = _chunkLKRQUQZQcjs.useNumberPad; exports.useNumberPadCell = _chunkLKRQUQZQcjs.useNumberPadCell;
@@ -0,0 +1,60 @@
1
+ import { NumberPadIcon } from './number-pad-icon';
2
+ export declare const NumberPad: import("react").ForwardRefExoticComponent<{
3
+ variant?: import("./number-pad.type").NumberPadVariant;
4
+ size?: import("./number-pad.type").NumberPadSize;
5
+ radius?: import("../..").RadiusKey;
6
+ color?: string;
7
+ value?: string;
8
+ defaultValue?: string;
9
+ onChangeText?: (value: string) => void;
10
+ onComplete?: (value: string) => void;
11
+ maxLength?: number;
12
+ isDisabled?: boolean;
13
+ children?: import("react").ReactNode;
14
+ style?: import("react-native").StyleProp<import("react-native").ViewStyle>;
15
+ } & Omit<import("react-native").ViewProps, "style" | "children"> & Omit<import("../..").ViewStyleProps, keyof {
16
+ variant?: import("./number-pad.type").NumberPadVariant;
17
+ size?: import("./number-pad.type").NumberPadSize;
18
+ radius?: import("../..").RadiusKey;
19
+ color?: string;
20
+ value?: string;
21
+ defaultValue?: string;
22
+ onChangeText?: (value: string) => void;
23
+ onComplete?: (value: string) => void;
24
+ maxLength?: number;
25
+ isDisabled?: boolean;
26
+ children?: import("react").ReactNode;
27
+ style?: import("react-native").StyleProp<import("react-native").ViewStyle>;
28
+ }> & import("react").RefAttributes<import("react-native").View>> & {
29
+ Key: import("react").ForwardRefExoticComponent<Omit<import("../..").PressableFeedbackProps, "isPressed" | "style" | "children" | "layout"> & {
30
+ isDisabled?: boolean;
31
+ style?: import("react-native").StyleProp<import("react-native").ViewStyle> | ((state: import("react-native").PressableStateCallbackType) => import("react-native").StyleProp<import("react-native").ViewStyle>);
32
+ children?: import("react").ReactNode;
33
+ } & {
34
+ value: string;
35
+ } & import("react").RefAttributes<import("react-native").View>>;
36
+ Backspace: import("react").ForwardRefExoticComponent<Omit<import("../..").PressableFeedbackProps, "isPressed" | "style" | "children" | "layout"> & {
37
+ isDisabled?: boolean;
38
+ style?: import("react-native").StyleProp<import("react-native").ViewStyle> | ((state: import("react-native").PressableStateCallbackType) => import("react-native").StyleProp<import("react-native").ViewStyle>);
39
+ children?: import("react").ReactNode;
40
+ } & import("react").RefAttributes<import("react-native").View>>;
41
+ Action: import("react").ForwardRefExoticComponent<Omit<import("../..").PressableFeedbackProps, "isPressed" | "style" | "children" | "layout"> & {
42
+ isDisabled?: boolean;
43
+ style?: import("react-native").StyleProp<import("react-native").ViewStyle> | ((state: import("react-native").PressableStateCallbackType) => import("react-native").StyleProp<import("react-native").ViewStyle>);
44
+ children?: import("react").ReactNode;
45
+ } & import("react").RefAttributes<import("react-native").View>>;
46
+ Label: import("react").ForwardRefExoticComponent<import("react-native").TextProps & Omit<import("../..").TextStyleProps, keyof import("react-native").TextProps> & {
47
+ children?: import("react").ReactNode;
48
+ } & import("react").RefAttributes<import("react-native").Text>>;
49
+ Icon: typeof NumberPadIcon;
50
+ };
51
+ export { NumberPadRoot } from './number-pad';
52
+ export { NumberPadAction } from './number-pad-action';
53
+ export { NumberPadBackspace } from './number-pad-backspace';
54
+ export { NumberPadIcon } from './number-pad-icon';
55
+ export { NumberPadKey } from './number-pad-key';
56
+ export { NumberPadLabel } from './number-pad-label';
57
+ export { useNumberPad, useNumberPadCell } from './number-pad.context';
58
+ export { numberPadRecipe } from './number-pad.recipe';
59
+ export { NUMBER_PAD_ROWS, NUMBER_PAD_ZERO } from './number-pad.utils';
60
+ export type { NumberPadActionProps, NumberPadBackspaceProps, NumberPadCellContextValue, NumberPadContextValue, NumberPadIconProps, NumberPadKeyProps, NumberPadLabelProps, NumberPadProps, NumberPadSize, NumberPadSlot, NumberPadVariant, } from './number-pad.type';
@@ -0,0 +1,60 @@
1
+ import { NumberPadIcon } from './number-pad-icon';
2
+ export declare const NumberPad: import("react").ForwardRefExoticComponent<{
3
+ variant?: import("./number-pad.type").NumberPadVariant;
4
+ size?: import("./number-pad.type").NumberPadSize;
5
+ radius?: import("../..").RadiusKey;
6
+ color?: string;
7
+ value?: string;
8
+ defaultValue?: string;
9
+ onChangeText?: (value: string) => void;
10
+ onComplete?: (value: string) => void;
11
+ maxLength?: number;
12
+ isDisabled?: boolean;
13
+ children?: import("react").ReactNode;
14
+ style?: import("react-native").StyleProp<import("react-native").ViewStyle>;
15
+ } & Omit<import("react-native").ViewProps, "style" | "children"> & Omit<import("../..").ViewStyleProps, keyof {
16
+ variant?: import("./number-pad.type").NumberPadVariant;
17
+ size?: import("./number-pad.type").NumberPadSize;
18
+ radius?: import("../..").RadiusKey;
19
+ color?: string;
20
+ value?: string;
21
+ defaultValue?: string;
22
+ onChangeText?: (value: string) => void;
23
+ onComplete?: (value: string) => void;
24
+ maxLength?: number;
25
+ isDisabled?: boolean;
26
+ children?: import("react").ReactNode;
27
+ style?: import("react-native").StyleProp<import("react-native").ViewStyle>;
28
+ }> & import("react").RefAttributes<import("react-native").View>> & {
29
+ Key: import("react").ForwardRefExoticComponent<Omit<import("../..").PressableFeedbackProps, "isPressed" | "style" | "children" | "layout"> & {
30
+ isDisabled?: boolean;
31
+ style?: import("react-native").StyleProp<import("react-native").ViewStyle> | ((state: import("react-native").PressableStateCallbackType) => import("react-native").StyleProp<import("react-native").ViewStyle>);
32
+ children?: import("react").ReactNode;
33
+ } & {
34
+ value: string;
35
+ } & import("react").RefAttributes<import("react-native").View>>;
36
+ Backspace: import("react").ForwardRefExoticComponent<Omit<import("../..").PressableFeedbackProps, "isPressed" | "style" | "children" | "layout"> & {
37
+ isDisabled?: boolean;
38
+ style?: import("react-native").StyleProp<import("react-native").ViewStyle> | ((state: import("react-native").PressableStateCallbackType) => import("react-native").StyleProp<import("react-native").ViewStyle>);
39
+ children?: import("react").ReactNode;
40
+ } & import("react").RefAttributes<import("react-native").View>>;
41
+ Action: import("react").ForwardRefExoticComponent<Omit<import("../..").PressableFeedbackProps, "isPressed" | "style" | "children" | "layout"> & {
42
+ isDisabled?: boolean;
43
+ style?: import("react-native").StyleProp<import("react-native").ViewStyle> | ((state: import("react-native").PressableStateCallbackType) => import("react-native").StyleProp<import("react-native").ViewStyle>);
44
+ children?: import("react").ReactNode;
45
+ } & import("react").RefAttributes<import("react-native").View>>;
46
+ Label: import("react").ForwardRefExoticComponent<import("react-native").TextProps & Omit<import("../..").TextStyleProps, keyof import("react-native").TextProps> & {
47
+ children?: import("react").ReactNode;
48
+ } & import("react").RefAttributes<import("react-native").Text>>;
49
+ Icon: typeof NumberPadIcon;
50
+ };
51
+ export { NumberPadRoot } from './number-pad';
52
+ export { NumberPadAction } from './number-pad-action';
53
+ export { NumberPadBackspace } from './number-pad-backspace';
54
+ export { NumberPadIcon } from './number-pad-icon';
55
+ export { NumberPadKey } from './number-pad-key';
56
+ export { NumberPadLabel } from './number-pad-label';
57
+ export { useNumberPad, useNumberPadCell } from './number-pad.context';
58
+ export { numberPadRecipe } from './number-pad.recipe';
59
+ export { NUMBER_PAD_ROWS, NUMBER_PAD_ZERO } from './number-pad.utils';
60
+ export type { NumberPadActionProps, NumberPadBackspaceProps, NumberPadCellContextValue, NumberPadContextValue, NumberPadIconProps, NumberPadKeyProps, NumberPadLabelProps, NumberPadProps, NumberPadSize, NumberPadSlot, NumberPadVariant, } from './number-pad.type';
@@ -0,0 +1,40 @@
1
+ import {
2
+ NUMBER_PAD_ROWS,
3
+ NUMBER_PAD_ZERO,
4
+ NumberPad,
5
+ NumberPadAction,
6
+ NumberPadBackspace,
7
+ NumberPadIcon,
8
+ NumberPadKey,
9
+ NumberPadLabel,
10
+ NumberPadRoot,
11
+ numberPadRecipe,
12
+ useNumberPad,
13
+ useNumberPadCell
14
+ } from "../../chunk-GGP2ERSV.js";
15
+ import "../../chunk-F6W3JQ7K.js";
16
+ import "../../chunk-2AFA5HA2.js";
17
+ import "../../chunk-423RQBOX.js";
18
+ import "../../chunk-JN6IRT2M.js";
19
+ import "../../chunk-WFZDAXDI.js";
20
+ import "../../chunk-DKVXTMIJ.js";
21
+ import "../../chunk-3Q42X6EQ.js";
22
+ import "../../chunk-TTZOIXKE.js";
23
+ import "../../chunk-36PRYGAM.js";
24
+ import "../../chunk-EGLLDKN6.js";
25
+ import "../../chunk-Z6JBWRPL.js";
26
+ import "../../chunk-M63GFNKV.js";
27
+ export {
28
+ NUMBER_PAD_ROWS,
29
+ NUMBER_PAD_ZERO,
30
+ NumberPad,
31
+ NumberPadAction,
32
+ NumberPadBackspace,
33
+ NumberPadIcon,
34
+ NumberPadKey,
35
+ NumberPadLabel,
36
+ NumberPadRoot,
37
+ numberPadRecipe,
38
+ useNumberPad,
39
+ useNumberPadCell
40
+ };
@@ -0,0 +1,24 @@
1
+ import type { View } from 'react-native';
2
+ /**
3
+ * The free corner of the bottom row, opposite the backspace.
4
+ *
5
+ * It does nothing on its own — the press is the caller's, because what belongs there is
6
+ * theirs: a fingerprint that unlocks, a `Clear`, the pad's own decimal separator. Bare like
7
+ * the backspace, so the two corners read as a pair around the `0`.
8
+ *
9
+ * ```tsx
10
+ * <NumberPad>
11
+ * <NumberPad.Action onPress={unlock} accessibilityLabel="Unlock with Face ID">
12
+ * <NumberPad.Icon as={FaceIdIcon} color={theme.colors.accent} />
13
+ * </NumberPad.Action>
14
+ * </NumberPad>
15
+ * ```
16
+ *
17
+ * A key that inserts goes there as a `NumberPad.Key` instead; this one is for everything
18
+ * that is not a character.
19
+ */
20
+ export declare const NumberPadAction: import("react").ForwardRefExoticComponent<Omit<import("../..").PressableFeedbackProps, "isPressed" | "style" | "children" | "layout"> & {
21
+ isDisabled?: boolean;
22
+ style?: import("react-native").StyleProp<import("react-native").ViewStyle> | ((state: import("react-native").PressableStateCallbackType) => import("react-native").StyleProp<import("react-native").ViewStyle>);
23
+ children?: import("react").ReactNode;
24
+ } & import("react").RefAttributes<View>>;
@@ -0,0 +1,24 @@
1
+ import type { View } from 'react-native';
2
+ /**
3
+ * The free corner of the bottom row, opposite the backspace.
4
+ *
5
+ * It does nothing on its own — the press is the caller's, because what belongs there is
6
+ * theirs: a fingerprint that unlocks, a `Clear`, the pad's own decimal separator. Bare like
7
+ * the backspace, so the two corners read as a pair around the `0`.
8
+ *
9
+ * ```tsx
10
+ * <NumberPad>
11
+ * <NumberPad.Action onPress={unlock} accessibilityLabel="Unlock with Face ID">
12
+ * <NumberPad.Icon as={FaceIdIcon} color={theme.colors.accent} />
13
+ * </NumberPad.Action>
14
+ * </NumberPad>
15
+ * ```
16
+ *
17
+ * A key that inserts goes there as a `NumberPad.Key` instead; this one is for everything
18
+ * that is not a character.
19
+ */
20
+ export declare const NumberPadAction: import("react").ForwardRefExoticComponent<Omit<import("../..").PressableFeedbackProps, "isPressed" | "style" | "children" | "layout"> & {
21
+ isDisabled?: boolean;
22
+ style?: import("react-native").StyleProp<import("react-native").ViewStyle> | ((state: import("react-native").PressableStateCallbackType) => import("react-native").StyleProp<import("react-native").ViewStyle>);
23
+ children?: import("react").ReactNode;
24
+ } & import("react").RefAttributes<View>>;
@@ -0,0 +1,18 @@
1
+ import type { View } from 'react-native';
2
+ /**
3
+ * The delete key, on the end of the bottom row. Bare rather than filled: it is not a digit,
4
+ * and eleven identical fills is a pad where the one key that removes looks like the ten that
5
+ * add.
6
+ *
7
+ * **A long press clears the whole value.** It is the gesture every platform's own keypad
8
+ * carries, and without it a mistyped sixteen-digit card is sixteen presses to undo.
9
+ *
10
+ * The arrow is a **character**, not an icon, so the pad needs no SVG peer for the one glyph
11
+ * it draws itself. It flips under RTL, because a backspace points at what it removes and
12
+ * that is the other way round in a right-to-left layout. `NumberPad.Icon` replaces it.
13
+ */
14
+ export declare const NumberPadBackspace: import("react").ForwardRefExoticComponent<Omit<import("../..").PressableFeedbackProps, "isPressed" | "style" | "children" | "layout"> & {
15
+ isDisabled?: boolean;
16
+ style?: import("react-native").StyleProp<import("react-native").ViewStyle> | ((state: import("react-native").PressableStateCallbackType) => import("react-native").StyleProp<import("react-native").ViewStyle>);
17
+ children?: import("react").ReactNode;
18
+ } & import("react").RefAttributes<View>>;
@@ -0,0 +1,18 @@
1
+ import type { View } from 'react-native';
2
+ /**
3
+ * The delete key, on the end of the bottom row. Bare rather than filled: it is not a digit,
4
+ * and eleven identical fills is a pad where the one key that removes looks like the ten that
5
+ * add.
6
+ *
7
+ * **A long press clears the whole value.** It is the gesture every platform's own keypad
8
+ * carries, and without it a mistyped sixteen-digit card is sixteen presses to undo.
9
+ *
10
+ * The arrow is a **character**, not an icon, so the pad needs no SVG peer for the one glyph
11
+ * it draws itself. It flips under RTL, because a backspace points at what it removes and
12
+ * that is the other way round in a right-to-left layout. `NumberPad.Icon` replaces it.
13
+ */
14
+ export declare const NumberPadBackspace: import("react").ForwardRefExoticComponent<Omit<import("../..").PressableFeedbackProps, "isPressed" | "style" | "children" | "layout"> & {
15
+ isDisabled?: boolean;
16
+ style?: import("react-native").StyleProp<import("react-native").ViewStyle> | ((state: import("react-native").PressableStateCallbackType) => import("react-native").StyleProp<import("react-native").ViewStyle>);
17
+ children?: import("react").ReactNode;
18
+ } & import("react").RefAttributes<View>>;