@xoroh/axis 0.1.0 → 0.1.2
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.
- package/README.md +64 -54
- package/dist/{chunk-QDT5F2VT.js → chunk-V5CVLWU2.js} +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +1 -1
- package/dist/{models-DM_HxYGZ.d.cts → models-yZXqW4Ev.d.cts} +13 -13
- package/dist/{models-DM_HxYGZ.d.ts → models-yZXqW4Ev.d.ts} +13 -13
- package/dist/models.cjs +1 -1
- package/dist/models.d.cts +1 -1
- package/dist/models.d.ts +1 -1
- package/dist/models.js +1 -1
- package/package.json +20 -4
package/README.md
CHANGED
|
@@ -1,69 +1,89 @@
|
|
|
1
1
|
# `@xoroh/axis`
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
for React Native — the counterpart of Base UI for native. Composable
|
|
5
|
-
state models, hooks, and unstyled rendered components with no token
|
|
6
|
-
reads, no styling, and no web-only APIs.
|
|
3
|
+
Unstyled, accessible UI components and native interaction primitives for React Native.
|
|
7
4
|
|
|
8
|
-
Axis
|
|
9
|
-
tokens, or any design system, and it is usable without Kern.
|
|
10
|
-
Design-system variants (Material, Astryx, …) live in the consuming
|
|
11
|
-
system, never here.
|
|
5
|
+
Axis provides composable state models, hooks, and unstyled rendered components with complete control over styling, full accessibility support, and native-first behavior — with zero CSS assumptions, no design system opinions, and no web-only API leaks.
|
|
12
6
|
|
|
13
|
-
|
|
7
|
+
- **Unstyled & headless:** You have 100% control over layout, styling, and design system integration.
|
|
8
|
+
- **Native-first accessibility:** Built specifically around React Native's accessibility model (`aria-*`, roles, focus order, announcements).
|
|
9
|
+
- **Separation of concerns:** Pure state models live in `@xoroh/axis/models` (pure TypeScript/JS, no React Native runtime dependency). Rendered components live in `@xoroh/axis`.
|
|
14
10
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
11
|
+
## Scope and independence
|
|
12
|
+
|
|
13
|
+
Axis is standalone and design-system neutral: it contains no hardcoded tokens, themes, or styling rules. Any design system or visual theme can be built on top of Axis primitives.
|
|
18
14
|
|
|
19
|
-
|
|
20
|
-
— see [`docs/RELEASING.md`](https://github.com/xoroh/axis/blob/main/docs/RELEASING.md)).
|
|
21
|
-
Until the first release, install from source with the same
|
|
22
|
-
pack-vendor flow Kern uses to vendor Axis:
|
|
15
|
+
## Install
|
|
23
16
|
|
|
24
17
|
```sh
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
#
|
|
29
|
-
#
|
|
18
|
+
bun add @xoroh/axis react react-native
|
|
19
|
+
# or
|
|
20
|
+
npm install @xoroh/axis react react-native
|
|
21
|
+
# or
|
|
22
|
+
yarn add @xoroh/axis react react-native # Yarn Classic does not install peer dependencies automatically
|
|
30
23
|
```
|
|
31
24
|
|
|
32
|
-
Peers: `react >= 18`; rendered components additionally need
|
|
33
|
-
`react-native >=0.86 <0.89` (D-STACK support policy). The behavior
|
|
34
|
-
modules (`useControllableState`, `normalizeTimeValue`, …) are pure
|
|
35
|
-
React and run anywhere React runs.
|
|
25
|
+
Peers: `react >= 18`; rendered components additionally need `react-native >=0.86 <0.89`. State models and behavior modules under `@xoroh/axis/models` are pure JavaScript and run anywhere React/Node/Web runs.
|
|
36
26
|
|
|
37
27
|
## Usage
|
|
38
28
|
|
|
39
29
|
```tsx
|
|
40
30
|
import { useState } from "react";
|
|
41
|
-
import { Text } from "react-native";
|
|
42
|
-
import {
|
|
31
|
+
import { Text, StyleSheet } from "react-native";
|
|
32
|
+
import {
|
|
33
|
+
DialogRoot,
|
|
34
|
+
DialogTrigger,
|
|
35
|
+
DialogPortal,
|
|
36
|
+
DialogPopup,
|
|
37
|
+
DialogBackdrop,
|
|
38
|
+
DialogTitle,
|
|
39
|
+
DialogDescription,
|
|
40
|
+
DialogClose,
|
|
41
|
+
} from "@xoroh/axis";
|
|
42
|
+
|
|
43
|
+
export function ExampleDialog() {
|
|
44
|
+
const [open, setOpen] = useState(false);
|
|
43
45
|
|
|
44
|
-
function Example() {
|
|
45
46
|
return (
|
|
46
|
-
<DialogRoot>
|
|
47
|
-
<DialogTrigger>
|
|
48
|
-
<Text>Open</Text>
|
|
47
|
+
<DialogRoot open={open} onOpenChange={setOpen}>
|
|
48
|
+
<DialogTrigger style={styles.button}>
|
|
49
|
+
<Text style={styles.buttonText}>Open Dialog</Text>
|
|
49
50
|
</DialogTrigger>
|
|
50
51
|
<DialogPortal>
|
|
51
|
-
<
|
|
52
|
-
|
|
52
|
+
<DialogBackdrop style={styles.backdrop} />
|
|
53
|
+
<DialogPopup style={styles.popup} aria-label="Example dialog">
|
|
54
|
+
<DialogTitle style={styles.title}>Edit profile</DialogTitle>
|
|
55
|
+
<DialogDescription style={styles.description}>
|
|
56
|
+
Make changes to your profile here. Click save when you're done.
|
|
57
|
+
</DialogDescription>
|
|
58
|
+
<DialogClose style={styles.closeButton}>
|
|
59
|
+
<Text>Done</Text>
|
|
60
|
+
</DialogClose>
|
|
53
61
|
</DialogPopup>
|
|
54
62
|
</DialogPortal>
|
|
55
63
|
</DialogRoot>
|
|
56
64
|
);
|
|
57
65
|
}
|
|
66
|
+
|
|
67
|
+
const styles = StyleSheet.create({
|
|
68
|
+
button: { padding: 12, borderRadius: 8, backgroundColor: "#007AFF" },
|
|
69
|
+
buttonText: { color: "#FFF", fontWeight: "600" },
|
|
70
|
+
backdrop: { ...StyleSheet.absoluteFillObject, backgroundColor: "rgba(0,0,0,0.5)" },
|
|
71
|
+
popup: { margin: 24, padding: 24, borderRadius: 12, backgroundColor: "#FFF" },
|
|
72
|
+
title: { fontSize: 18, fontWeight: "700", marginBottom: 8 },
|
|
73
|
+
description: { fontSize: 14, color: "#666", marginBottom: 16 },
|
|
74
|
+
closeButton: { alignSelf: "flex-end", padding: 8 },
|
|
75
|
+
});
|
|
58
76
|
```
|
|
59
77
|
|
|
60
|
-
|
|
61
|
-
|
|
78
|
+
For Node.js environments or tests outside React Native view trees:
|
|
79
|
+
|
|
80
|
+
```ts
|
|
81
|
+
import { createToastQueue, normalizeTimeValue } from "@xoroh/axis/models";
|
|
82
|
+
```
|
|
62
83
|
|
|
63
84
|
## Components
|
|
64
85
|
|
|
65
|
-
|
|
66
|
-
[`docs/components/`](https://github.com/xoroh/axis/tree/main/docs/components):
|
|
86
|
+
The package provides 43 native component primitives:
|
|
67
87
|
|
|
68
88
|
<!-- index:begin -->
|
|
69
89
|
| [Accordion](https://github.com/xoroh/axis/blob/main/docs/components/accordion.md) |
|
|
@@ -113,23 +133,13 @@ Per-component notes (props, examples, accessibility) live in
|
|
|
113
133
|
|
|
114
134
|
## Docs
|
|
115
135
|
|
|
116
|
-
- [`docs/
|
|
117
|
-
|
|
118
|
-
- [`docs/BASE_UI_PARITY.md`](https://github.com/xoroh/axis/blob/main/docs/BASE_UI_PARITY.md) —
|
|
119
|
-
|
|
120
|
-
- [`docs/COVERAGE.md`](https://github.com/xoroh/axis/blob/main/docs/COVERAGE.md) —
|
|
121
|
-
the component coverage inventory.
|
|
122
|
-
- [`docs/COMPATIBILITY.md`](https://github.com/xoroh/axis/blob/main/docs/COMPATIBILITY.md) —
|
|
123
|
-
what the supported ranges rest on, honestly labeled.
|
|
124
|
-
- [`docs/RELEASING.md`](https://github.com/xoroh/axis/blob/main/docs/RELEASING.md) —
|
|
125
|
-
manual releases only; nothing is published yet.
|
|
136
|
+
- [`docs/VISION.md`](https://github.com/xoroh/axis/blob/main/docs/VISION.md) — north star, design principles, non-goals, quality bar.
|
|
137
|
+
- [`docs/COMPONENT_CONTRACT.md`](https://github.com/xoroh/axis/blob/main/docs/COMPONENT_CONTRACT.md) — slice rules and component invariants.
|
|
138
|
+
- [`docs/BASE_UI_PARITY.md`](https://github.com/xoroh/axis/blob/main/docs/BASE_UI_PARITY.md) — Base UI parity mapping and native adaptations.
|
|
139
|
+
- [`docs/COVERAGE.md`](https://github.com/xoroh/axis/blob/main/docs/COVERAGE.md) — full component matrix across all 43 components.
|
|
126
140
|
|
|
127
141
|
## Compatibility
|
|
128
142
|
|
|
129
|
-
-
|
|
130
|
-
|
|
131
|
-
-
|
|
132
|
-
export on the Expo 57 host. Untested versions inside the range are
|
|
133
|
-
untested — the range is policy, not proof.
|
|
134
|
-
- Not performed: emulator, simulator, physical-device, or
|
|
135
|
-
screen-reader validation.
|
|
143
|
+
- React >= 18
|
|
144
|
+
- React Native >= 0.86 < 0.89 (New Architecture / bridgeless compatible)
|
|
145
|
+
- Works seamlessly across iOS, Android, and React Native Web.
|
|
@@ -902,7 +902,7 @@ function createPortalRegistry() {
|
|
|
902
902
|
};
|
|
903
903
|
}
|
|
904
904
|
function resolvePortalTarget(options) {
|
|
905
|
-
return options.ownerProvided ?? options.defaultTarget ?? "
|
|
905
|
+
return options.ownerProvided ?? options.defaultTarget ?? "axis-portal-root";
|
|
906
906
|
}
|
|
907
907
|
|
|
908
908
|
// src/positioning.ts
|
package/dist/index.cjs
CHANGED
|
@@ -1520,7 +1520,7 @@ function createPortalRegistry() {
|
|
|
1520
1520
|
};
|
|
1521
1521
|
}
|
|
1522
1522
|
function resolvePortalTarget(options) {
|
|
1523
|
-
return options.ownerProvided ?? options.defaultTarget ?? "
|
|
1523
|
+
return options.ownerProvided ?? options.defaultTarget ?? "axis-portal-root";
|
|
1524
1524
|
}
|
|
1525
1525
|
|
|
1526
1526
|
// src/components/Portal.tsx
|
package/dist/index.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { R as RenderProp, S as SlotProps, a as StateStyle, O as OverlayOpenChangeDetails, A as Align, P as Placement, F as FieldErrors, b as OverlayId, D as DismissBranches, c as OverlayOpenChangeReason, d as PresenceState, e as OverlayModalityRegistry, f as SliderOrientation } from './models-
|
|
2
|
-
export { g as A11yDir, h as AttachmentError, i as AttachmentLimits, j as AttachmentState, k as AutofocusEvent, C as CalendarCell, l as CalendarDateParts, m as CalendarDirection, n as CalendarGrid, o as CalendarGridOptions, p as CalendarKey, q as CalendarMonthNameStyle, r as CalendarMonthParts, s as CalendarRange, t as CalendarRangePosition, u as CalendarSelection, v as CalendarSelectionMode, w as ChatAttachment, x as ChatMessage, y as ChatRole, z as ChatSource, B as ChatStatus, E as CollectionItem, G as CollectionMatch, H as DismissPolicy, I as DismissPolicyOptions, J as DismissSource, K as DismissTriggers, L as DismissWiringOptions, M as FirstDayOfWeek, N as FocusTrapModel, Q as IdScope, T as NumberFormatSpec, U as OverlayModalityState, V as PortalEntry, W as PortalRegistry, X as PositioningOptions, Y as PresenceModel, Z as PressModel, _ as PressPhase, $ as PromptInputSubmitMode, a0 as Rect, a1 as RovingItem, a2 as RovingModel, a3 as RovingOptions, a4 as RovingOrientation, a5 as Selection, a6 as SelectionKey, a7 as SelectionMode, a8 as SliderCommitOptions, a9 as StateAction, aa as StickToBottomMetrics, ab as TimeParts, ac as TimePickerFormat, ad as TimePickerValue, ae as ToastQueue, af as ToolCallState, ag as TrapMove, ah as TypeaheadBuffer, ai as addTimeMinutes, aj as appendTypeaheadQuery, ak as buildCalendarGrid, al as clampNumberValue, am as clampSliderValue, an as composeEventHandlers, ao as createDismissPolicy, ap as createIdScope, aq as createOverlayModality, ar as createPortalRegistry, as as createPresenceModel, at as createToastQueue, au as daysInCalendarMonth, av as defaultCollectionMatch, aw as dismissBranchesFor, ax as dismissTriggersFor, ay as filterCollectionKeys, az as findCollectionText, aA as formatNumberValue, aB as formatTimeParts, aC as formatTimeValue, aD as getSharedOverlayModality, aE as isAtBottom, aF as isCalendarDateDisabled, aG as isChatBusy, aH as isChatError, aI as isChatStreaming, aJ as isEmptyValue, aK as isSelected, aL as isToolCallApproval, aM as isToolCallComplete, aN as isToolCallError, aO as isToolCallRunning, aP as isTypeaheadExpired, aQ as isUserMessage, aR as leadingBlankCount, aS as matchTypeaheadKey, aT as mergeFormErrors, aU as mergeSlotProps, aV as minutesForStep, aW as nearestSliderThumbIndex, aX as nextBranchIndex, aY as nextPresenceState, aZ as nextTrapIndex, a_ as normalizeBranchIndex, a$ as normalizeChatSources, b0 as normalizeFieldErrors, b1 as normalizeSelection, b2 as normalizeSliderValues, b3 as normalizeTimeValue, b4 as parseCalendarDate, b5 as parseCalendarMonth, b6 as parseNumberValue, b7 as previousBranchIndex, b8 as resolveAutofocus, b9 as resolveCalendarFocus, ba as resolveCalendarMonthNames, bb as resolveCalendarSelection, bc as resolveCalendarWeekdayNames, bd as resolveCanSend, be as resolveChatMessageLabel, bf as resolveChatMessageSpeaker, bg as resolveChatSourceLabel, bh as resolveComposerHeight, bi as resolveDir, bj as resolveFloatingRect, bk as resolveFloatingSide, bl as resolveLocaleFirstDay, bm as resolvePortalTarget, bn as resolveReasoningOpen, bo as resolveRender, bp as resolveScrollButtonVisible, bq as resolveSliderCommit, br as resolveStyle, bs as resolveToolCallLabel, bt as shiftCalendarMonth, bu as shouldCancelOnEscapeKey, bv as shouldDismissOn, bw as shouldHideBranchPicker, bx as shouldSubmitOnKey, by as sliderRatioFromLocation, bz as sliderValueFromRatio, bA as sliderValuePercent, bB as snapSliderValue, bC as stepNumberValue, bD as toCalendarDate, bE as toCalendarMonth, bF as toTwentyFourHour, bG as toggleSelection, bH as updateAttachment, bI as useAttachments, bJ as useBranch, bK as useCollectionRegistry, bL as useControllableState, bM as useOverlayModality, bN as useOverlayRegistration, bO as usePresence, bP as usePress, bQ as usePromptInput, bR as useRovingModel, bS as useSelection, bT as useStickToBottom, bU as useToolCall, bV as validateAttachment } from './models-
|
|
1
|
+
import { R as RenderProp, S as SlotProps, a as StateStyle, O as OverlayOpenChangeDetails, A as Align, P as Placement, F as FieldErrors, b as OverlayId, D as DismissBranches, c as OverlayOpenChangeReason, d as PresenceState, e as OverlayModalityRegistry, f as SliderOrientation } from './models-yZXqW4Ev.cjs';
|
|
2
|
+
export { g as A11yDir, h as AttachmentError, i as AttachmentLimits, j as AttachmentState, k as AutofocusEvent, C as CalendarCell, l as CalendarDateParts, m as CalendarDirection, n as CalendarGrid, o as CalendarGridOptions, p as CalendarKey, q as CalendarMonthNameStyle, r as CalendarMonthParts, s as CalendarRange, t as CalendarRangePosition, u as CalendarSelection, v as CalendarSelectionMode, w as ChatAttachment, x as ChatMessage, y as ChatRole, z as ChatSource, B as ChatStatus, E as CollectionItem, G as CollectionMatch, H as DismissPolicy, I as DismissPolicyOptions, J as DismissSource, K as DismissTriggers, L as DismissWiringOptions, M as FirstDayOfWeek, N as FocusTrapModel, Q as IdScope, T as NumberFormatSpec, U as OverlayModalityState, V as PortalEntry, W as PortalRegistry, X as PositioningOptions, Y as PresenceModel, Z as PressModel, _ as PressPhase, $ as PromptInputSubmitMode, a0 as Rect, a1 as RovingItem, a2 as RovingModel, a3 as RovingOptions, a4 as RovingOrientation, a5 as Selection, a6 as SelectionKey, a7 as SelectionMode, a8 as SliderCommitOptions, a9 as StateAction, aa as StickToBottomMetrics, ab as TimeParts, ac as TimePickerFormat, ad as TimePickerValue, ae as ToastQueue, af as ToolCallState, ag as TrapMove, ah as TypeaheadBuffer, ai as addTimeMinutes, aj as appendTypeaheadQuery, ak as buildCalendarGrid, al as clampNumberValue, am as clampSliderValue, an as composeEventHandlers, ao as createDismissPolicy, ap as createIdScope, aq as createOverlayModality, ar as createPortalRegistry, as as createPresenceModel, at as createToastQueue, au as daysInCalendarMonth, av as defaultCollectionMatch, aw as dismissBranchesFor, ax as dismissTriggersFor, ay as filterCollectionKeys, az as findCollectionText, aA as formatNumberValue, aB as formatTimeParts, aC as formatTimeValue, aD as getSharedOverlayModality, aE as isAtBottom, aF as isCalendarDateDisabled, aG as isChatBusy, aH as isChatError, aI as isChatStreaming, aJ as isEmptyValue, aK as isSelected, aL as isToolCallApproval, aM as isToolCallComplete, aN as isToolCallError, aO as isToolCallRunning, aP as isTypeaheadExpired, aQ as isUserMessage, aR as leadingBlankCount, aS as matchTypeaheadKey, aT as mergeFormErrors, aU as mergeSlotProps, aV as minutesForStep, aW as nearestSliderThumbIndex, aX as nextBranchIndex, aY as nextPresenceState, aZ as nextTrapIndex, a_ as normalizeBranchIndex, a$ as normalizeChatSources, b0 as normalizeFieldErrors, b1 as normalizeSelection, b2 as normalizeSliderValues, b3 as normalizeTimeValue, b4 as parseCalendarDate, b5 as parseCalendarMonth, b6 as parseNumberValue, b7 as previousBranchIndex, b8 as resolveAutofocus, b9 as resolveCalendarFocus, ba as resolveCalendarMonthNames, bb as resolveCalendarSelection, bc as resolveCalendarWeekdayNames, bd as resolveCanSend, be as resolveChatMessageLabel, bf as resolveChatMessageSpeaker, bg as resolveChatSourceLabel, bh as resolveComposerHeight, bi as resolveDir, bj as resolveFloatingRect, bk as resolveFloatingSide, bl as resolveLocaleFirstDay, bm as resolvePortalTarget, bn as resolveReasoningOpen, bo as resolveRender, bp as resolveScrollButtonVisible, bq as resolveSliderCommit, br as resolveStyle, bs as resolveToolCallLabel, bt as shiftCalendarMonth, bu as shouldCancelOnEscapeKey, bv as shouldDismissOn, bw as shouldHideBranchPicker, bx as shouldSubmitOnKey, by as sliderRatioFromLocation, bz as sliderValueFromRatio, bA as sliderValuePercent, bB as snapSliderValue, bC as stepNumberValue, bD as toCalendarDate, bE as toCalendarMonth, bF as toTwentyFourHour, bG as toggleSelection, bH as updateAttachment, bI as useAttachments, bJ as useBranch, bK as useCollectionRegistry, bL as useControllableState, bM as useOverlayModality, bN as useOverlayRegistration, bO as usePresence, bP as usePress, bQ as usePromptInput, bR as useRovingModel, bS as useSelection, bT as useStickToBottom, bU as useToolCall, bV as validateAttachment } from './models-yZXqW4Ev.cjs';
|
|
3
3
|
import { ReactNode, Ref, ElementRef, RefObject } from 'react';
|
|
4
4
|
import { StyleProp, ViewStyle, View, TextStyle, ImageSourcePropType, ImageStyle, Image, Pressable, TextInput, Text } from 'react-native';
|
|
5
5
|
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { R as RenderProp, S as SlotProps, a as StateStyle, O as OverlayOpenChangeDetails, A as Align, P as Placement, F as FieldErrors, b as OverlayId, D as DismissBranches, c as OverlayOpenChangeReason, d as PresenceState, e as OverlayModalityRegistry, f as SliderOrientation } from './models-
|
|
2
|
-
export { g as A11yDir, h as AttachmentError, i as AttachmentLimits, j as AttachmentState, k as AutofocusEvent, C as CalendarCell, l as CalendarDateParts, m as CalendarDirection, n as CalendarGrid, o as CalendarGridOptions, p as CalendarKey, q as CalendarMonthNameStyle, r as CalendarMonthParts, s as CalendarRange, t as CalendarRangePosition, u as CalendarSelection, v as CalendarSelectionMode, w as ChatAttachment, x as ChatMessage, y as ChatRole, z as ChatSource, B as ChatStatus, E as CollectionItem, G as CollectionMatch, H as DismissPolicy, I as DismissPolicyOptions, J as DismissSource, K as DismissTriggers, L as DismissWiringOptions, M as FirstDayOfWeek, N as FocusTrapModel, Q as IdScope, T as NumberFormatSpec, U as OverlayModalityState, V as PortalEntry, W as PortalRegistry, X as PositioningOptions, Y as PresenceModel, Z as PressModel, _ as PressPhase, $ as PromptInputSubmitMode, a0 as Rect, a1 as RovingItem, a2 as RovingModel, a3 as RovingOptions, a4 as RovingOrientation, a5 as Selection, a6 as SelectionKey, a7 as SelectionMode, a8 as SliderCommitOptions, a9 as StateAction, aa as StickToBottomMetrics, ab as TimeParts, ac as TimePickerFormat, ad as TimePickerValue, ae as ToastQueue, af as ToolCallState, ag as TrapMove, ah as TypeaheadBuffer, ai as addTimeMinutes, aj as appendTypeaheadQuery, ak as buildCalendarGrid, al as clampNumberValue, am as clampSliderValue, an as composeEventHandlers, ao as createDismissPolicy, ap as createIdScope, aq as createOverlayModality, ar as createPortalRegistry, as as createPresenceModel, at as createToastQueue, au as daysInCalendarMonth, av as defaultCollectionMatch, aw as dismissBranchesFor, ax as dismissTriggersFor, ay as filterCollectionKeys, az as findCollectionText, aA as formatNumberValue, aB as formatTimeParts, aC as formatTimeValue, aD as getSharedOverlayModality, aE as isAtBottom, aF as isCalendarDateDisabled, aG as isChatBusy, aH as isChatError, aI as isChatStreaming, aJ as isEmptyValue, aK as isSelected, aL as isToolCallApproval, aM as isToolCallComplete, aN as isToolCallError, aO as isToolCallRunning, aP as isTypeaheadExpired, aQ as isUserMessage, aR as leadingBlankCount, aS as matchTypeaheadKey, aT as mergeFormErrors, aU as mergeSlotProps, aV as minutesForStep, aW as nearestSliderThumbIndex, aX as nextBranchIndex, aY as nextPresenceState, aZ as nextTrapIndex, a_ as normalizeBranchIndex, a$ as normalizeChatSources, b0 as normalizeFieldErrors, b1 as normalizeSelection, b2 as normalizeSliderValues, b3 as normalizeTimeValue, b4 as parseCalendarDate, b5 as parseCalendarMonth, b6 as parseNumberValue, b7 as previousBranchIndex, b8 as resolveAutofocus, b9 as resolveCalendarFocus, ba as resolveCalendarMonthNames, bb as resolveCalendarSelection, bc as resolveCalendarWeekdayNames, bd as resolveCanSend, be as resolveChatMessageLabel, bf as resolveChatMessageSpeaker, bg as resolveChatSourceLabel, bh as resolveComposerHeight, bi as resolveDir, bj as resolveFloatingRect, bk as resolveFloatingSide, bl as resolveLocaleFirstDay, bm as resolvePortalTarget, bn as resolveReasoningOpen, bo as resolveRender, bp as resolveScrollButtonVisible, bq as resolveSliderCommit, br as resolveStyle, bs as resolveToolCallLabel, bt as shiftCalendarMonth, bu as shouldCancelOnEscapeKey, bv as shouldDismissOn, bw as shouldHideBranchPicker, bx as shouldSubmitOnKey, by as sliderRatioFromLocation, bz as sliderValueFromRatio, bA as sliderValuePercent, bB as snapSliderValue, bC as stepNumberValue, bD as toCalendarDate, bE as toCalendarMonth, bF as toTwentyFourHour, bG as toggleSelection, bH as updateAttachment, bI as useAttachments, bJ as useBranch, bK as useCollectionRegistry, bL as useControllableState, bM as useOverlayModality, bN as useOverlayRegistration, bO as usePresence, bP as usePress, bQ as usePromptInput, bR as useRovingModel, bS as useSelection, bT as useStickToBottom, bU as useToolCall, bV as validateAttachment } from './models-
|
|
1
|
+
import { R as RenderProp, S as SlotProps, a as StateStyle, O as OverlayOpenChangeDetails, A as Align, P as Placement, F as FieldErrors, b as OverlayId, D as DismissBranches, c as OverlayOpenChangeReason, d as PresenceState, e as OverlayModalityRegistry, f as SliderOrientation } from './models-yZXqW4Ev.js';
|
|
2
|
+
export { g as A11yDir, h as AttachmentError, i as AttachmentLimits, j as AttachmentState, k as AutofocusEvent, C as CalendarCell, l as CalendarDateParts, m as CalendarDirection, n as CalendarGrid, o as CalendarGridOptions, p as CalendarKey, q as CalendarMonthNameStyle, r as CalendarMonthParts, s as CalendarRange, t as CalendarRangePosition, u as CalendarSelection, v as CalendarSelectionMode, w as ChatAttachment, x as ChatMessage, y as ChatRole, z as ChatSource, B as ChatStatus, E as CollectionItem, G as CollectionMatch, H as DismissPolicy, I as DismissPolicyOptions, J as DismissSource, K as DismissTriggers, L as DismissWiringOptions, M as FirstDayOfWeek, N as FocusTrapModel, Q as IdScope, T as NumberFormatSpec, U as OverlayModalityState, V as PortalEntry, W as PortalRegistry, X as PositioningOptions, Y as PresenceModel, Z as PressModel, _ as PressPhase, $ as PromptInputSubmitMode, a0 as Rect, a1 as RovingItem, a2 as RovingModel, a3 as RovingOptions, a4 as RovingOrientation, a5 as Selection, a6 as SelectionKey, a7 as SelectionMode, a8 as SliderCommitOptions, a9 as StateAction, aa as StickToBottomMetrics, ab as TimeParts, ac as TimePickerFormat, ad as TimePickerValue, ae as ToastQueue, af as ToolCallState, ag as TrapMove, ah as TypeaheadBuffer, ai as addTimeMinutes, aj as appendTypeaheadQuery, ak as buildCalendarGrid, al as clampNumberValue, am as clampSliderValue, an as composeEventHandlers, ao as createDismissPolicy, ap as createIdScope, aq as createOverlayModality, ar as createPortalRegistry, as as createPresenceModel, at as createToastQueue, au as daysInCalendarMonth, av as defaultCollectionMatch, aw as dismissBranchesFor, ax as dismissTriggersFor, ay as filterCollectionKeys, az as findCollectionText, aA as formatNumberValue, aB as formatTimeParts, aC as formatTimeValue, aD as getSharedOverlayModality, aE as isAtBottom, aF as isCalendarDateDisabled, aG as isChatBusy, aH as isChatError, aI as isChatStreaming, aJ as isEmptyValue, aK as isSelected, aL as isToolCallApproval, aM as isToolCallComplete, aN as isToolCallError, aO as isToolCallRunning, aP as isTypeaheadExpired, aQ as isUserMessage, aR as leadingBlankCount, aS as matchTypeaheadKey, aT as mergeFormErrors, aU as mergeSlotProps, aV as minutesForStep, aW as nearestSliderThumbIndex, aX as nextBranchIndex, aY as nextPresenceState, aZ as nextTrapIndex, a_ as normalizeBranchIndex, a$ as normalizeChatSources, b0 as normalizeFieldErrors, b1 as normalizeSelection, b2 as normalizeSliderValues, b3 as normalizeTimeValue, b4 as parseCalendarDate, b5 as parseCalendarMonth, b6 as parseNumberValue, b7 as previousBranchIndex, b8 as resolveAutofocus, b9 as resolveCalendarFocus, ba as resolveCalendarMonthNames, bb as resolveCalendarSelection, bc as resolveCalendarWeekdayNames, bd as resolveCanSend, be as resolveChatMessageLabel, bf as resolveChatMessageSpeaker, bg as resolveChatSourceLabel, bh as resolveComposerHeight, bi as resolveDir, bj as resolveFloatingRect, bk as resolveFloatingSide, bl as resolveLocaleFirstDay, bm as resolvePortalTarget, bn as resolveReasoningOpen, bo as resolveRender, bp as resolveScrollButtonVisible, bq as resolveSliderCommit, br as resolveStyle, bs as resolveToolCallLabel, bt as shiftCalendarMonth, bu as shouldCancelOnEscapeKey, bv as shouldDismissOn, bw as shouldHideBranchPicker, bx as shouldSubmitOnKey, by as sliderRatioFromLocation, bz as sliderValueFromRatio, bA as sliderValuePercent, bB as snapSliderValue, bC as stepNumberValue, bD as toCalendarDate, bE as toCalendarMonth, bF as toTwentyFourHour, bG as toggleSelection, bH as updateAttachment, bI as useAttachments, bJ as useBranch, bK as useCollectionRegistry, bL as useControllableState, bM as useOverlayModality, bN as useOverlayRegistration, bO as usePresence, bP as usePress, bQ as usePromptInput, bR as useRovingModel, bS as useSelection, bT as useStickToBottom, bU as useToolCall, bV as validateAttachment } from './models-yZXqW4Ev.js';
|
|
3
3
|
import { ReactNode, Ref, ElementRef, RefObject } from 'react';
|
|
4
4
|
import { StyleProp, ViewStyle, View, TextStyle, ImageSourcePropType, ImageStyle, Image, Pressable, TextInput, Text } from 'react-native';
|
|
5
5
|
|
package/dist/index.js
CHANGED
|
@@ -61,7 +61,7 @@ declare function resolveDir(options?: {
|
|
|
61
61
|
* surfaces. The PICKING and the UPLOAD are not — image pickers,
|
|
62
62
|
* drag-drop, paste, and the async transfer are platform code the app
|
|
63
63
|
* owns; the app marks uploads finished through `update`. Rendering
|
|
64
|
-
* (chips, previews, progress bars) is styled composition in
|
|
64
|
+
* (chips, previews, progress bars) is styled composition in the host design system.
|
|
65
65
|
*/
|
|
66
66
|
/**
|
|
67
67
|
* One file's transfer phase, mirroring the channel-SDK shape both
|
|
@@ -354,7 +354,7 @@ declare function useBranch(options: {
|
|
|
354
354
|
* The SHAPE and the NAME are shared: the role vocabulary, the message
|
|
355
355
|
* identity, and the speaker label both renderers announce. The LAYOUT
|
|
356
356
|
* is not — bubbles, rows, grouping, and markdown rendering are styled
|
|
357
|
-
* composition in
|
|
357
|
+
* composition in the host design system (there is no markdown renderer here by design:
|
|
358
358
|
* renderer/highlighter dependencies would break the token-free,
|
|
359
359
|
* platform-neutral boundary). Message PARTS (text/image/reasoning/
|
|
360
360
|
* tool-call part trees) are transport-owned and stay out: this model
|
|
@@ -403,7 +403,7 @@ declare function isUserMessage(message: Pick<ChatMessage, "role">): boolean;
|
|
|
403
403
|
* references: an `href` with an optional human title. The shared part
|
|
404
404
|
* is deliberately thin — a shape plus list hygiene — because
|
|
405
405
|
* everything visual (chips, cards, footnotes, inline citations) is
|
|
406
|
-
* styled composition in
|
|
406
|
+
* styled composition in the host design system. Thin is not nothing: without the shared
|
|
407
407
|
* dedupe rule, the same URL cited twice renders two chips on one
|
|
408
408
|
* renderer and one on the other.
|
|
409
409
|
*
|
|
@@ -999,7 +999,7 @@ declare function nearestSliderThumbIndex(values: readonly number[], target: numb
|
|
|
999
999
|
declare function resolveSliderCommit(values: readonly number[], index: number, next: number, options: SliderCommitOptions): number[];
|
|
1000
1000
|
|
|
1001
1001
|
/**
|
|
1002
|
-
* The dismissal POLICY for
|
|
1002
|
+
* The dismissal POLICY for an overlay surface — what closes it, and whether a
|
|
1003
1003
|
* visible close affordance must be rendered.
|
|
1004
1004
|
*
|
|
1005
1005
|
* ## Why this is a primitive
|
|
@@ -1184,7 +1184,7 @@ declare function stepNumberValue(value: number, direction: 1 | -1, options?: {
|
|
|
1184
1184
|
}): number;
|
|
1185
1185
|
|
|
1186
1186
|
/**
|
|
1187
|
-
* The owned Portal registry —
|
|
1187
|
+
* The owned Portal registry — Axis's own overlay host, alongside Base UI.
|
|
1188
1188
|
*
|
|
1189
1189
|
* ## Why this is a primitive, and why it does NOT replace Base UI on web
|
|
1190
1190
|
*
|
|
@@ -1192,8 +1192,8 @@ declare function stepNumberValue(value: number, direction: 1 | -1, options?: {
|
|
|
1192
1192
|
* parent: that "somewhere else" needs an owner (ordering, mount/unmount,
|
|
1193
1193
|
* cleanup on unmount). Today the web renderer borrows that owner from Base UI's
|
|
1194
1194
|
* `Portal` and native borrows it from `Modal`. D12 rules the extraction as
|
|
1195
|
-
* DUAL-PATH:
|
|
1196
|
-
*
|
|
1195
|
+
* DUAL-PATH: native hosts its overlay stack through the OWN registry here,
|
|
1196
|
+
* while web KEEPS its Base UI usage. Removing the borrowed owner
|
|
1197
1197
|
* before the owned one is proven would strand every overlay on a host nobody
|
|
1198
1198
|
* exercises; adding alongside lets the owned path prove itself per surface.
|
|
1199
1199
|
*
|
|
@@ -1299,7 +1299,7 @@ declare function usePress(options?: {
|
|
|
1299
1299
|
* `submitMode`, Escape cancellation, and the clamped composer height.
|
|
1300
1300
|
* The FIELD is not — the text host, autosize measurement, focus, and
|
|
1301
1301
|
* the model-picker / tools-menu / mic chrome are styled composition
|
|
1302
|
-
* in
|
|
1302
|
+
* in the host design system. Sending itself stays app-owned: `submit` reports the draft
|
|
1303
1303
|
* through `onSubmit` and leaves clearing to the caller, so controlled
|
|
1304
1304
|
* and uncontrolled drafts behave identically.
|
|
1305
1305
|
*/
|
|
@@ -1399,7 +1399,7 @@ declare function usePromptInput(options?: {
|
|
|
1399
1399
|
* once settled. A one-line resolver expresses that; a new primitive
|
|
1400
1400
|
* would duplicate `Collapsible` to own a single conditional.
|
|
1401
1401
|
*
|
|
1402
|
-
* ## How
|
|
1402
|
+
* ## How a host wires it
|
|
1403
1403
|
*
|
|
1404
1404
|
* `open={resolveReasoningOpen(callerOpen, status)}` on the
|
|
1405
1405
|
* `Collapsible`, with the caller's toggle feeding back through
|
|
@@ -1495,14 +1495,14 @@ type RovingModel = {
|
|
|
1495
1495
|
declare function useRovingModel(options: RovingOptions): RovingModel;
|
|
1496
1496
|
|
|
1497
1497
|
/**
|
|
1498
|
-
* The collection/selection model shared by every
|
|
1498
|
+
* The collection/selection model shared by every collection-driven control that selects.
|
|
1499
1499
|
*
|
|
1500
1500
|
* ## Why this is a primitive
|
|
1501
1501
|
*
|
|
1502
1502
|
* SegmentedButton, ToggleGroup, Accordion and Select all reduce to the same two
|
|
1503
1503
|
* questions: is this key selected, and what happens when it is activated. The
|
|
1504
1504
|
* answer differs in exactly one way — whether selection is exclusive or additive
|
|
1505
|
-
* — and that difference is a
|
|
1505
|
+
* — and that difference is a design decision (for example, one system's segmented button is multi-select;
|
|
1506
1506
|
* its radio group is not), not a platform detail.
|
|
1507
1507
|
*
|
|
1508
1508
|
* So the model is shared and the rendering is not. On web the selection axis is
|
|
@@ -1782,7 +1782,7 @@ declare function createToastQueue(): ToastQueue;
|
|
|
1782
1782
|
* as denied). The REGISTRY is not — which tools exist and how they
|
|
1783
1783
|
* execute is app state; this model tracks one call the transport
|
|
1784
1784
|
* owns, never the catalogue. Rendering (header/content/input/output
|
|
1785
|
-
* cards) is styled composition in
|
|
1785
|
+
* cards) is styled composition in the host design system.
|
|
1786
1786
|
*/
|
|
1787
1787
|
/**
|
|
1788
1788
|
* One tool call's lifecycle, mirroring the AI SDK v5 `ToolUIPart`
|
|
@@ -1848,7 +1848,7 @@ declare function useToolCall(options?: {
|
|
|
1848
1848
|
* cycling with wrap-around. The KEY PLUMBING is not — no Axis list
|
|
1849
1849
|
* part receives character key events on touch hardware (there is no
|
|
1850
1850
|
* text field to type into), so no rendered part consumes this yet:
|
|
1851
|
-
* the first consumer is hardware-keyboard forwarding
|
|
1851
|
+
* the first consumer is hardware-keyboard forwarding,
|
|
1852
1852
|
* which reads this model without pulling any renderer. Filtering
|
|
1853
1853
|
* while typing (combobox entry, menu filter input) already flows
|
|
1854
1854
|
* through the `collection` match; this covers highlight-to-match,
|
|
@@ -61,7 +61,7 @@ declare function resolveDir(options?: {
|
|
|
61
61
|
* surfaces. The PICKING and the UPLOAD are not — image pickers,
|
|
62
62
|
* drag-drop, paste, and the async transfer are platform code the app
|
|
63
63
|
* owns; the app marks uploads finished through `update`. Rendering
|
|
64
|
-
* (chips, previews, progress bars) is styled composition in
|
|
64
|
+
* (chips, previews, progress bars) is styled composition in the host design system.
|
|
65
65
|
*/
|
|
66
66
|
/**
|
|
67
67
|
* One file's transfer phase, mirroring the channel-SDK shape both
|
|
@@ -354,7 +354,7 @@ declare function useBranch(options: {
|
|
|
354
354
|
* The SHAPE and the NAME are shared: the role vocabulary, the message
|
|
355
355
|
* identity, and the speaker label both renderers announce. The LAYOUT
|
|
356
356
|
* is not — bubbles, rows, grouping, and markdown rendering are styled
|
|
357
|
-
* composition in
|
|
357
|
+
* composition in the host design system (there is no markdown renderer here by design:
|
|
358
358
|
* renderer/highlighter dependencies would break the token-free,
|
|
359
359
|
* platform-neutral boundary). Message PARTS (text/image/reasoning/
|
|
360
360
|
* tool-call part trees) are transport-owned and stay out: this model
|
|
@@ -403,7 +403,7 @@ declare function isUserMessage(message: Pick<ChatMessage, "role">): boolean;
|
|
|
403
403
|
* references: an `href` with an optional human title. The shared part
|
|
404
404
|
* is deliberately thin — a shape plus list hygiene — because
|
|
405
405
|
* everything visual (chips, cards, footnotes, inline citations) is
|
|
406
|
-
* styled composition in
|
|
406
|
+
* styled composition in the host design system. Thin is not nothing: without the shared
|
|
407
407
|
* dedupe rule, the same URL cited twice renders two chips on one
|
|
408
408
|
* renderer and one on the other.
|
|
409
409
|
*
|
|
@@ -999,7 +999,7 @@ declare function nearestSliderThumbIndex(values: readonly number[], target: numb
|
|
|
999
999
|
declare function resolveSliderCommit(values: readonly number[], index: number, next: number, options: SliderCommitOptions): number[];
|
|
1000
1000
|
|
|
1001
1001
|
/**
|
|
1002
|
-
* The dismissal POLICY for
|
|
1002
|
+
* The dismissal POLICY for an overlay surface — what closes it, and whether a
|
|
1003
1003
|
* visible close affordance must be rendered.
|
|
1004
1004
|
*
|
|
1005
1005
|
* ## Why this is a primitive
|
|
@@ -1184,7 +1184,7 @@ declare function stepNumberValue(value: number, direction: 1 | -1, options?: {
|
|
|
1184
1184
|
}): number;
|
|
1185
1185
|
|
|
1186
1186
|
/**
|
|
1187
|
-
* The owned Portal registry —
|
|
1187
|
+
* The owned Portal registry — Axis's own overlay host, alongside Base UI.
|
|
1188
1188
|
*
|
|
1189
1189
|
* ## Why this is a primitive, and why it does NOT replace Base UI on web
|
|
1190
1190
|
*
|
|
@@ -1192,8 +1192,8 @@ declare function stepNumberValue(value: number, direction: 1 | -1, options?: {
|
|
|
1192
1192
|
* parent: that "somewhere else" needs an owner (ordering, mount/unmount,
|
|
1193
1193
|
* cleanup on unmount). Today the web renderer borrows that owner from Base UI's
|
|
1194
1194
|
* `Portal` and native borrows it from `Modal`. D12 rules the extraction as
|
|
1195
|
-
* DUAL-PATH:
|
|
1196
|
-
*
|
|
1195
|
+
* DUAL-PATH: native hosts its overlay stack through the OWN registry here,
|
|
1196
|
+
* while web KEEPS its Base UI usage. Removing the borrowed owner
|
|
1197
1197
|
* before the owned one is proven would strand every overlay on a host nobody
|
|
1198
1198
|
* exercises; adding alongside lets the owned path prove itself per surface.
|
|
1199
1199
|
*
|
|
@@ -1299,7 +1299,7 @@ declare function usePress(options?: {
|
|
|
1299
1299
|
* `submitMode`, Escape cancellation, and the clamped composer height.
|
|
1300
1300
|
* The FIELD is not — the text host, autosize measurement, focus, and
|
|
1301
1301
|
* the model-picker / tools-menu / mic chrome are styled composition
|
|
1302
|
-
* in
|
|
1302
|
+
* in the host design system. Sending itself stays app-owned: `submit` reports the draft
|
|
1303
1303
|
* through `onSubmit` and leaves clearing to the caller, so controlled
|
|
1304
1304
|
* and uncontrolled drafts behave identically.
|
|
1305
1305
|
*/
|
|
@@ -1399,7 +1399,7 @@ declare function usePromptInput(options?: {
|
|
|
1399
1399
|
* once settled. A one-line resolver expresses that; a new primitive
|
|
1400
1400
|
* would duplicate `Collapsible` to own a single conditional.
|
|
1401
1401
|
*
|
|
1402
|
-
* ## How
|
|
1402
|
+
* ## How a host wires it
|
|
1403
1403
|
*
|
|
1404
1404
|
* `open={resolveReasoningOpen(callerOpen, status)}` on the
|
|
1405
1405
|
* `Collapsible`, with the caller's toggle feeding back through
|
|
@@ -1495,14 +1495,14 @@ type RovingModel = {
|
|
|
1495
1495
|
declare function useRovingModel(options: RovingOptions): RovingModel;
|
|
1496
1496
|
|
|
1497
1497
|
/**
|
|
1498
|
-
* The collection/selection model shared by every
|
|
1498
|
+
* The collection/selection model shared by every collection-driven control that selects.
|
|
1499
1499
|
*
|
|
1500
1500
|
* ## Why this is a primitive
|
|
1501
1501
|
*
|
|
1502
1502
|
* SegmentedButton, ToggleGroup, Accordion and Select all reduce to the same two
|
|
1503
1503
|
* questions: is this key selected, and what happens when it is activated. The
|
|
1504
1504
|
* answer differs in exactly one way — whether selection is exclusive or additive
|
|
1505
|
-
* — and that difference is a
|
|
1505
|
+
* — and that difference is a design decision (for example, one system's segmented button is multi-select;
|
|
1506
1506
|
* its radio group is not), not a platform detail.
|
|
1507
1507
|
*
|
|
1508
1508
|
* So the model is shared and the rendering is not. On web the selection axis is
|
|
@@ -1782,7 +1782,7 @@ declare function createToastQueue(): ToastQueue;
|
|
|
1782
1782
|
* as denied). The REGISTRY is not — which tools exist and how they
|
|
1783
1783
|
* execute is app state; this model tracks one call the transport
|
|
1784
1784
|
* owns, never the catalogue. Rendering (header/content/input/output
|
|
1785
|
-
* cards) is styled composition in
|
|
1785
|
+
* cards) is styled composition in the host design system.
|
|
1786
1786
|
*/
|
|
1787
1787
|
/**
|
|
1788
1788
|
* One tool call's lifecycle, mirroring the AI SDK v5 `ToolUIPart`
|
|
@@ -1848,7 +1848,7 @@ declare function useToolCall(options?: {
|
|
|
1848
1848
|
* cycling with wrap-around. The KEY PLUMBING is not — no Axis list
|
|
1849
1849
|
* part receives character key events on touch hardware (there is no
|
|
1850
1850
|
* text field to type into), so no rendered part consumes this yet:
|
|
1851
|
-
* the first consumer is hardware-keyboard forwarding
|
|
1851
|
+
* the first consumer is hardware-keyboard forwarding,
|
|
1852
1852
|
* which reads this model without pulling any renderer. Filtering
|
|
1853
1853
|
* while typing (combobox entry, menu filter input) already flows
|
|
1854
1854
|
* through the `collection` match; this covers highlight-to-match,
|
package/dist/models.cjs
CHANGED
|
@@ -1013,7 +1013,7 @@ function createPortalRegistry() {
|
|
|
1013
1013
|
};
|
|
1014
1014
|
}
|
|
1015
1015
|
function resolvePortalTarget(options) {
|
|
1016
|
-
return options.ownerProvided ?? options.defaultTarget ?? "
|
|
1016
|
+
return options.ownerProvided ?? options.defaultTarget ?? "axis-portal-root";
|
|
1017
1017
|
}
|
|
1018
1018
|
|
|
1019
1019
|
// src/positioning.ts
|
package/dist/models.d.cts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { g as A11yDir, A as Align, h as AttachmentError, i as AttachmentLimits, j as AttachmentState, k as AutofocusEvent, C as CalendarCell, l as CalendarDateParts, m as CalendarDirection, n as CalendarGrid, o as CalendarGridOptions, p as CalendarKey, q as CalendarMonthNameStyle, r as CalendarMonthParts, s as CalendarRange, t as CalendarRangePosition, u as CalendarSelection, v as CalendarSelectionMode, w as ChatAttachment, x as ChatMessage, y as ChatRole, z as ChatSource, B as ChatStatus, E as CollectionItem, G as CollectionMatch, D as DismissBranches, H as DismissPolicy, I as DismissPolicyOptions, J as DismissSource, K as DismissTriggers, L as DismissWiringOptions, F as FieldErrors, M as FirstDayOfWeek, N as FocusTrapModel, Q as IdScope, T as NumberFormatSpec, b as OverlayId, e as OverlayModalityRegistry, U as OverlayModalityState, P as Placement, V as PortalEntry, W as PortalRegistry, X as PositioningOptions, Y as PresenceModel, d as PresenceState, Z as PressModel, _ as PressPhase, $ as PromptInputSubmitMode, a0 as Rect, R as RenderProp, a1 as RovingItem, a2 as RovingModel, a3 as RovingOptions, a4 as RovingOrientation, a5 as Selection, a6 as SelectionKey, a7 as SelectionMode, a8 as SliderCommitOptions, f as SliderOrientation, S as SlotProps, a9 as StateAction, a as StateStyle, aa as StickToBottomMetrics, ab as TimeParts, ac as TimePickerFormat, ad as TimePickerValue, ae as ToastQueue, af as ToolCallState, ag as TrapMove, ah as TypeaheadBuffer, ai as addTimeMinutes, aj as appendTypeaheadQuery, ak as buildCalendarGrid, al as clampNumberValue, am as clampSliderValue, an as composeEventHandlers, ao as createDismissPolicy, ap as createIdScope, aq as createOverlayModality, ar as createPortalRegistry, as as createPresenceModel, at as createToastQueue, au as daysInCalendarMonth, av as defaultCollectionMatch, aw as dismissBranchesFor, ax as dismissTriggersFor, ay as filterCollectionKeys, az as findCollectionText, aA as formatNumberValue, aB as formatTimeParts, aC as formatTimeValue, aD as getSharedOverlayModality, aE as isAtBottom, aF as isCalendarDateDisabled, aG as isChatBusy, aH as isChatError, aI as isChatStreaming, aJ as isEmptyValue, aK as isSelected, aL as isToolCallApproval, aM as isToolCallComplete, aN as isToolCallError, aO as isToolCallRunning, aP as isTypeaheadExpired, aQ as isUserMessage, aR as leadingBlankCount, aS as matchTypeaheadKey, aT as mergeFormErrors, aU as mergeSlotProps, aV as minutesForStep, aW as nearestSliderThumbIndex, aX as nextBranchIndex, aY as nextPresenceState, aZ as nextTrapIndex, a_ as normalizeBranchIndex, a$ as normalizeChatSources, b0 as normalizeFieldErrors, b1 as normalizeSelection, b2 as normalizeSliderValues, b3 as normalizeTimeValue, b4 as parseCalendarDate, b5 as parseCalendarMonth, b6 as parseNumberValue, b7 as previousBranchIndex, b8 as resolveAutofocus, b9 as resolveCalendarFocus, ba as resolveCalendarMonthNames, bb as resolveCalendarSelection, bc as resolveCalendarWeekdayNames, bd as resolveCanSend, be as resolveChatMessageLabel, bf as resolveChatMessageSpeaker, bg as resolveChatSourceLabel, bh as resolveComposerHeight, bi as resolveDir, bj as resolveFloatingRect, bk as resolveFloatingSide, bl as resolveLocaleFirstDay, bm as resolvePortalTarget, bn as resolveReasoningOpen, bo as resolveRender, bp as resolveScrollButtonVisible, bq as resolveSliderCommit, br as resolveStyle, bs as resolveToolCallLabel, bt as shiftCalendarMonth, bu as shouldCancelOnEscapeKey, bv as shouldDismissOn, bw as shouldHideBranchPicker, bx as shouldSubmitOnKey, by as sliderRatioFromLocation, bz as sliderValueFromRatio, bA as sliderValuePercent, bB as snapSliderValue, bC as stepNumberValue, bD as toCalendarDate, bE as toCalendarMonth, bF as toTwentyFourHour, bG as toggleSelection, bH as updateAttachment, bI as useAttachments, bJ as useBranch, bK as useCollectionRegistry, bL as useControllableState, bM as useOverlayModality, bN as useOverlayRegistration, bO as usePresence, bP as usePress, bQ as usePromptInput, bR as useRovingModel, bS as useSelection, bT as useStickToBottom, bU as useToolCall, bV as validateAttachment } from './models-
|
|
1
|
+
export { g as A11yDir, A as Align, h as AttachmentError, i as AttachmentLimits, j as AttachmentState, k as AutofocusEvent, C as CalendarCell, l as CalendarDateParts, m as CalendarDirection, n as CalendarGrid, o as CalendarGridOptions, p as CalendarKey, q as CalendarMonthNameStyle, r as CalendarMonthParts, s as CalendarRange, t as CalendarRangePosition, u as CalendarSelection, v as CalendarSelectionMode, w as ChatAttachment, x as ChatMessage, y as ChatRole, z as ChatSource, B as ChatStatus, E as CollectionItem, G as CollectionMatch, D as DismissBranches, H as DismissPolicy, I as DismissPolicyOptions, J as DismissSource, K as DismissTriggers, L as DismissWiringOptions, F as FieldErrors, M as FirstDayOfWeek, N as FocusTrapModel, Q as IdScope, T as NumberFormatSpec, b as OverlayId, e as OverlayModalityRegistry, U as OverlayModalityState, P as Placement, V as PortalEntry, W as PortalRegistry, X as PositioningOptions, Y as PresenceModel, d as PresenceState, Z as PressModel, _ as PressPhase, $ as PromptInputSubmitMode, a0 as Rect, R as RenderProp, a1 as RovingItem, a2 as RovingModel, a3 as RovingOptions, a4 as RovingOrientation, a5 as Selection, a6 as SelectionKey, a7 as SelectionMode, a8 as SliderCommitOptions, f as SliderOrientation, S as SlotProps, a9 as StateAction, a as StateStyle, aa as StickToBottomMetrics, ab as TimeParts, ac as TimePickerFormat, ad as TimePickerValue, ae as ToastQueue, af as ToolCallState, ag as TrapMove, ah as TypeaheadBuffer, ai as addTimeMinutes, aj as appendTypeaheadQuery, ak as buildCalendarGrid, al as clampNumberValue, am as clampSliderValue, an as composeEventHandlers, ao as createDismissPolicy, ap as createIdScope, aq as createOverlayModality, ar as createPortalRegistry, as as createPresenceModel, at as createToastQueue, au as daysInCalendarMonth, av as defaultCollectionMatch, aw as dismissBranchesFor, ax as dismissTriggersFor, ay as filterCollectionKeys, az as findCollectionText, aA as formatNumberValue, aB as formatTimeParts, aC as formatTimeValue, aD as getSharedOverlayModality, aE as isAtBottom, aF as isCalendarDateDisabled, aG as isChatBusy, aH as isChatError, aI as isChatStreaming, aJ as isEmptyValue, aK as isSelected, aL as isToolCallApproval, aM as isToolCallComplete, aN as isToolCallError, aO as isToolCallRunning, aP as isTypeaheadExpired, aQ as isUserMessage, aR as leadingBlankCount, aS as matchTypeaheadKey, aT as mergeFormErrors, aU as mergeSlotProps, aV as minutesForStep, aW as nearestSliderThumbIndex, aX as nextBranchIndex, aY as nextPresenceState, aZ as nextTrapIndex, a_ as normalizeBranchIndex, a$ as normalizeChatSources, b0 as normalizeFieldErrors, b1 as normalizeSelection, b2 as normalizeSliderValues, b3 as normalizeTimeValue, b4 as parseCalendarDate, b5 as parseCalendarMonth, b6 as parseNumberValue, b7 as previousBranchIndex, b8 as resolveAutofocus, b9 as resolveCalendarFocus, ba as resolveCalendarMonthNames, bb as resolveCalendarSelection, bc as resolveCalendarWeekdayNames, bd as resolveCanSend, be as resolveChatMessageLabel, bf as resolveChatMessageSpeaker, bg as resolveChatSourceLabel, bh as resolveComposerHeight, bi as resolveDir, bj as resolveFloatingRect, bk as resolveFloatingSide, bl as resolveLocaleFirstDay, bm as resolvePortalTarget, bn as resolveReasoningOpen, bo as resolveRender, bp as resolveScrollButtonVisible, bq as resolveSliderCommit, br as resolveStyle, bs as resolveToolCallLabel, bt as shiftCalendarMonth, bu as shouldCancelOnEscapeKey, bv as shouldDismissOn, bw as shouldHideBranchPicker, bx as shouldSubmitOnKey, by as sliderRatioFromLocation, bz as sliderValueFromRatio, bA as sliderValuePercent, bB as snapSliderValue, bC as stepNumberValue, bD as toCalendarDate, bE as toCalendarMonth, bF as toTwentyFourHour, bG as toggleSelection, bH as updateAttachment, bI as useAttachments, bJ as useBranch, bK as useCollectionRegistry, bL as useControllableState, bM as useOverlayModality, bN as useOverlayRegistration, bO as usePresence, bP as usePress, bQ as usePromptInput, bR as useRovingModel, bS as useSelection, bT as useStickToBottom, bU as useToolCall, bV as validateAttachment } from './models-yZXqW4Ev.cjs';
|
|
2
2
|
import 'react';
|
package/dist/models.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { g as A11yDir, A as Align, h as AttachmentError, i as AttachmentLimits, j as AttachmentState, k as AutofocusEvent, C as CalendarCell, l as CalendarDateParts, m as CalendarDirection, n as CalendarGrid, o as CalendarGridOptions, p as CalendarKey, q as CalendarMonthNameStyle, r as CalendarMonthParts, s as CalendarRange, t as CalendarRangePosition, u as CalendarSelection, v as CalendarSelectionMode, w as ChatAttachment, x as ChatMessage, y as ChatRole, z as ChatSource, B as ChatStatus, E as CollectionItem, G as CollectionMatch, D as DismissBranches, H as DismissPolicy, I as DismissPolicyOptions, J as DismissSource, K as DismissTriggers, L as DismissWiringOptions, F as FieldErrors, M as FirstDayOfWeek, N as FocusTrapModel, Q as IdScope, T as NumberFormatSpec, b as OverlayId, e as OverlayModalityRegistry, U as OverlayModalityState, P as Placement, V as PortalEntry, W as PortalRegistry, X as PositioningOptions, Y as PresenceModel, d as PresenceState, Z as PressModel, _ as PressPhase, $ as PromptInputSubmitMode, a0 as Rect, R as RenderProp, a1 as RovingItem, a2 as RovingModel, a3 as RovingOptions, a4 as RovingOrientation, a5 as Selection, a6 as SelectionKey, a7 as SelectionMode, a8 as SliderCommitOptions, f as SliderOrientation, S as SlotProps, a9 as StateAction, a as StateStyle, aa as StickToBottomMetrics, ab as TimeParts, ac as TimePickerFormat, ad as TimePickerValue, ae as ToastQueue, af as ToolCallState, ag as TrapMove, ah as TypeaheadBuffer, ai as addTimeMinutes, aj as appendTypeaheadQuery, ak as buildCalendarGrid, al as clampNumberValue, am as clampSliderValue, an as composeEventHandlers, ao as createDismissPolicy, ap as createIdScope, aq as createOverlayModality, ar as createPortalRegistry, as as createPresenceModel, at as createToastQueue, au as daysInCalendarMonth, av as defaultCollectionMatch, aw as dismissBranchesFor, ax as dismissTriggersFor, ay as filterCollectionKeys, az as findCollectionText, aA as formatNumberValue, aB as formatTimeParts, aC as formatTimeValue, aD as getSharedOverlayModality, aE as isAtBottom, aF as isCalendarDateDisabled, aG as isChatBusy, aH as isChatError, aI as isChatStreaming, aJ as isEmptyValue, aK as isSelected, aL as isToolCallApproval, aM as isToolCallComplete, aN as isToolCallError, aO as isToolCallRunning, aP as isTypeaheadExpired, aQ as isUserMessage, aR as leadingBlankCount, aS as matchTypeaheadKey, aT as mergeFormErrors, aU as mergeSlotProps, aV as minutesForStep, aW as nearestSliderThumbIndex, aX as nextBranchIndex, aY as nextPresenceState, aZ as nextTrapIndex, a_ as normalizeBranchIndex, a$ as normalizeChatSources, b0 as normalizeFieldErrors, b1 as normalizeSelection, b2 as normalizeSliderValues, b3 as normalizeTimeValue, b4 as parseCalendarDate, b5 as parseCalendarMonth, b6 as parseNumberValue, b7 as previousBranchIndex, b8 as resolveAutofocus, b9 as resolveCalendarFocus, ba as resolveCalendarMonthNames, bb as resolveCalendarSelection, bc as resolveCalendarWeekdayNames, bd as resolveCanSend, be as resolveChatMessageLabel, bf as resolveChatMessageSpeaker, bg as resolveChatSourceLabel, bh as resolveComposerHeight, bi as resolveDir, bj as resolveFloatingRect, bk as resolveFloatingSide, bl as resolveLocaleFirstDay, bm as resolvePortalTarget, bn as resolveReasoningOpen, bo as resolveRender, bp as resolveScrollButtonVisible, bq as resolveSliderCommit, br as resolveStyle, bs as resolveToolCallLabel, bt as shiftCalendarMonth, bu as shouldCancelOnEscapeKey, bv as shouldDismissOn, bw as shouldHideBranchPicker, bx as shouldSubmitOnKey, by as sliderRatioFromLocation, bz as sliderValueFromRatio, bA as sliderValuePercent, bB as snapSliderValue, bC as stepNumberValue, bD as toCalendarDate, bE as toCalendarMonth, bF as toTwentyFourHour, bG as toggleSelection, bH as updateAttachment, bI as useAttachments, bJ as useBranch, bK as useCollectionRegistry, bL as useControllableState, bM as useOverlayModality, bN as useOverlayRegistration, bO as usePresence, bP as usePress, bQ as usePromptInput, bR as useRovingModel, bS as useSelection, bT as useStickToBottom, bU as useToolCall, bV as validateAttachment } from './models-
|
|
1
|
+
export { g as A11yDir, A as Align, h as AttachmentError, i as AttachmentLimits, j as AttachmentState, k as AutofocusEvent, C as CalendarCell, l as CalendarDateParts, m as CalendarDirection, n as CalendarGrid, o as CalendarGridOptions, p as CalendarKey, q as CalendarMonthNameStyle, r as CalendarMonthParts, s as CalendarRange, t as CalendarRangePosition, u as CalendarSelection, v as CalendarSelectionMode, w as ChatAttachment, x as ChatMessage, y as ChatRole, z as ChatSource, B as ChatStatus, E as CollectionItem, G as CollectionMatch, D as DismissBranches, H as DismissPolicy, I as DismissPolicyOptions, J as DismissSource, K as DismissTriggers, L as DismissWiringOptions, F as FieldErrors, M as FirstDayOfWeek, N as FocusTrapModel, Q as IdScope, T as NumberFormatSpec, b as OverlayId, e as OverlayModalityRegistry, U as OverlayModalityState, P as Placement, V as PortalEntry, W as PortalRegistry, X as PositioningOptions, Y as PresenceModel, d as PresenceState, Z as PressModel, _ as PressPhase, $ as PromptInputSubmitMode, a0 as Rect, R as RenderProp, a1 as RovingItem, a2 as RovingModel, a3 as RovingOptions, a4 as RovingOrientation, a5 as Selection, a6 as SelectionKey, a7 as SelectionMode, a8 as SliderCommitOptions, f as SliderOrientation, S as SlotProps, a9 as StateAction, a as StateStyle, aa as StickToBottomMetrics, ab as TimeParts, ac as TimePickerFormat, ad as TimePickerValue, ae as ToastQueue, af as ToolCallState, ag as TrapMove, ah as TypeaheadBuffer, ai as addTimeMinutes, aj as appendTypeaheadQuery, ak as buildCalendarGrid, al as clampNumberValue, am as clampSliderValue, an as composeEventHandlers, ao as createDismissPolicy, ap as createIdScope, aq as createOverlayModality, ar as createPortalRegistry, as as createPresenceModel, at as createToastQueue, au as daysInCalendarMonth, av as defaultCollectionMatch, aw as dismissBranchesFor, ax as dismissTriggersFor, ay as filterCollectionKeys, az as findCollectionText, aA as formatNumberValue, aB as formatTimeParts, aC as formatTimeValue, aD as getSharedOverlayModality, aE as isAtBottom, aF as isCalendarDateDisabled, aG as isChatBusy, aH as isChatError, aI as isChatStreaming, aJ as isEmptyValue, aK as isSelected, aL as isToolCallApproval, aM as isToolCallComplete, aN as isToolCallError, aO as isToolCallRunning, aP as isTypeaheadExpired, aQ as isUserMessage, aR as leadingBlankCount, aS as matchTypeaheadKey, aT as mergeFormErrors, aU as mergeSlotProps, aV as minutesForStep, aW as nearestSliderThumbIndex, aX as nextBranchIndex, aY as nextPresenceState, aZ as nextTrapIndex, a_ as normalizeBranchIndex, a$ as normalizeChatSources, b0 as normalizeFieldErrors, b1 as normalizeSelection, b2 as normalizeSliderValues, b3 as normalizeTimeValue, b4 as parseCalendarDate, b5 as parseCalendarMonth, b6 as parseNumberValue, b7 as previousBranchIndex, b8 as resolveAutofocus, b9 as resolveCalendarFocus, ba as resolveCalendarMonthNames, bb as resolveCalendarSelection, bc as resolveCalendarWeekdayNames, bd as resolveCanSend, be as resolveChatMessageLabel, bf as resolveChatMessageSpeaker, bg as resolveChatSourceLabel, bh as resolveComposerHeight, bi as resolveDir, bj as resolveFloatingRect, bk as resolveFloatingSide, bl as resolveLocaleFirstDay, bm as resolvePortalTarget, bn as resolveReasoningOpen, bo as resolveRender, bp as resolveScrollButtonVisible, bq as resolveSliderCommit, br as resolveStyle, bs as resolveToolCallLabel, bt as shiftCalendarMonth, bu as shouldCancelOnEscapeKey, bv as shouldDismissOn, bw as shouldHideBranchPicker, bx as shouldSubmitOnKey, by as sliderRatioFromLocation, bz as sliderValueFromRatio, bA as sliderValuePercent, bB as snapSliderValue, bC as stepNumberValue, bD as toCalendarDate, bE as toCalendarMonth, bF as toTwentyFourHour, bG as toggleSelection, bH as updateAttachment, bI as useAttachments, bJ as useBranch, bK as useCollectionRegistry, bL as useControllableState, bM as useOverlayModality, bN as useOverlayRegistration, bO as usePresence, bP as usePress, bQ as usePromptInput, bR as useRovingModel, bS as useSelection, bT as useStickToBottom, bU as useToolCall, bV as validateAttachment } from './models-yZXqW4Ev.js';
|
|
2
2
|
import 'react';
|
package/dist/models.js
CHANGED
package/package.json
CHANGED
|
@@ -1,12 +1,27 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xoroh/axis",
|
|
3
|
-
"version": "0.1.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "0.1.2",
|
|
4
|
+
"description": "Unstyled, accessible UI components and native interaction primitives for React Native.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react-native",
|
|
7
|
+
"reactjs",
|
|
8
|
+
"react-native-web",
|
|
7
9
|
"primitives",
|
|
10
|
+
"unstyled",
|
|
11
|
+
"unstyled-components",
|
|
12
|
+
"headless",
|
|
8
13
|
"accessibility",
|
|
9
|
-
"
|
|
14
|
+
"a11y",
|
|
15
|
+
"aria",
|
|
16
|
+
"ui-components",
|
|
17
|
+
"components",
|
|
18
|
+
"mobile",
|
|
19
|
+
"ios",
|
|
20
|
+
"android",
|
|
21
|
+
"cross-platform",
|
|
22
|
+
"design-system",
|
|
23
|
+
"base-ui",
|
|
24
|
+
"radix-ui"
|
|
10
25
|
],
|
|
11
26
|
"license": "MIT",
|
|
12
27
|
"author": "Xoroh",
|
|
@@ -15,7 +30,7 @@
|
|
|
15
30
|
"url": "git+https://github.com/xoroh/axis.git",
|
|
16
31
|
"directory": "packages/axis"
|
|
17
32
|
},
|
|
18
|
-
"homepage": "https://
|
|
33
|
+
"homepage": "https://axis.xoroh.org",
|
|
19
34
|
"bugs": "https://github.com/xoroh/axis/issues",
|
|
20
35
|
"engines": {
|
|
21
36
|
"node": ">=20.19"
|
|
@@ -62,6 +77,7 @@
|
|
|
62
77
|
"LICENSE"
|
|
63
78
|
],
|
|
64
79
|
"scripts": {
|
|
80
|
+
"prepack": "bun run build",
|
|
65
81
|
"build": "tsup src/index.ts src/models.ts --format esm,cjs --dts --dts-resolve --external react --external react-native --out-dir dist --clean",
|
|
66
82
|
"typecheck": "tsc --noEmit",
|
|
67
83
|
"test": "vitest run",
|