@ark-ui/solid 2.1.0 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +50 -0
- package/cjs/index.js +254 -49
- package/cjs/index.js.map +1 -1
- package/esm/index.js +240 -50
- package/esm/index.js.map +1 -1
- package/package.json +53 -52
- package/source/accordion/accordion-item.jsx +4 -3
- package/source/accordion/accordion-root.jsx +4 -4
- package/source/clipboard/clipboard-context.js +5 -0
- package/source/clipboard/clipboard-control.jsx +8 -0
- package/source/clipboard/clipboard-indicator.jsx +16 -0
- package/source/clipboard/clipboard-input.jsx +8 -0
- package/source/clipboard/clipboard-label.jsx +8 -0
- package/source/clipboard/clipboard-root.jsx +22 -0
- package/source/clipboard/clipboard-trigger.jsx +8 -0
- package/source/clipboard/clipboard.jsx +7 -0
- package/source/clipboard/index.js +9 -0
- package/source/clipboard/use-clipboard.jsx +10 -0
- package/source/collapsible/collapsible-content.jsx +11 -0
- package/source/collapsible/collapsible-context.js +5 -0
- package/source/collapsible/collapsible-root.jsx +24 -0
- package/source/collapsible/collapsible-trigger.jsx +8 -0
- package/source/collapsible/collapsible.jsx +4 -0
- package/source/collapsible/index.js +6 -0
- package/source/collapsible/use-collapsible.js +23 -0
- package/source/color-picker/use-color-picker.js +0 -1
- package/source/date-picker/use-date-picker.js +0 -1
- package/source/dialog/dialog-backdrop.jsx +4 -3
- package/source/dialog/dialog-root.jsx +5 -3
- package/source/dialog/use-dialog.js +1 -1
- package/source/hover-card/use-hover-card.js +1 -1
- package/source/index.jsx +3 -0
- package/source/locale/index.js +2 -0
- package/source/locale/locale-context.jsx +7 -0
- package/source/locale/locale.jsx +24 -0
- package/source/menu/use-menu.js +1 -1
- package/source/popover/use-popover.js +1 -1
- package/source/presence/index.js +1 -2
- package/source/presence/split-presence-props.js +6 -8
- package/source/presence/use-presence.js +8 -7
- package/source/render-strategy.js +7 -0
- package/source/select/use-select.js +0 -1
- package/source/splitter/splitter-root.jsx +0 -1
- package/source/tabs/tab-content.jsx +4 -3
- package/source/tabs/tabs-root.jsx +4 -4
- package/source/tooltip/use-tooltip.js +1 -1
- package/source/tree-view/tree-view-branch-indicator.jsx +1 -4
- package/types/clipboard/clipboard-context.d.ts +4 -0
- package/types/clipboard/clipboard-control.d.ts +4 -0
- package/types/clipboard/clipboard-indicator.d.ts +10 -0
- package/types/clipboard/clipboard-input.d.ts +4 -0
- package/types/clipboard/clipboard-label.d.ts +4 -0
- package/types/clipboard/clipboard-root.d.ts +11 -0
- package/types/clipboard/clipboard-trigger.d.ts +4 -0
- package/types/clipboard/clipboard.d.ts +7 -0
- package/types/clipboard/index.d.ts +11 -0
- package/types/clipboard/use-clipboard.d.ts +9 -0
- package/types/collapsible/collapsible-content.d.ts +4 -0
- package/types/collapsible/collapsible-context.d.ts +4 -0
- package/types/collapsible/collapsible-root.d.ts +6 -0
- package/types/collapsible/collapsible-trigger.d.ts +4 -0
- package/types/collapsible/collapsible.d.ts +4 -0
- package/types/collapsible/index.d.ts +8 -0
- package/types/collapsible/use-collapsible.d.ts +15 -0
- package/types/index.d.ts +3 -0
- package/types/locale/index.d.ts +2 -0
- package/types/locale/locale-context.d.ts +5 -0
- package/types/locale/locale.d.ts +9 -0
- package/types/menu/menu-item-group.d.ts +3 -5
- package/types/presence/index.d.ts +2 -3
- package/types/presence/split-presence-props.d.ts +1 -1
- package/types/presence/use-presence.d.ts +2 -11
- package/types/render-strategy.d.ts +14 -0
- package/types/tabs/tabs-root.d.ts +2 -2
- package/source/presence/presence-props-context.js +0 -5
- package/types/presence/presence-props-context.d.ts +0 -4
package/esm/index.js
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { createComponent, Dynamic, mergeProps, memo, use, template, spread, insert, effect } from 'solid-js/web';
|
|
2
|
-
import { createContext as createContext$1, useContext, splitProps, createSignal, createMemo, createEffect, Show, createUniqueId,
|
|
2
|
+
import { createContext as createContext$1, useContext, splitProps, createSignal, createMemo, createEffect, Show, createUniqueId, children, Index, onCleanup } from 'solid-js';
|
|
3
3
|
import { useMachine, normalizeProps, mergeProps as mergeProps$1, useActor } from '@zag-js/solid';
|
|
4
4
|
import * as presence from '@zag-js/presence';
|
|
5
5
|
import * as accordion$1 from '@zag-js/accordion';
|
|
6
6
|
import * as avatar$1 from '@zag-js/avatar';
|
|
7
|
-
import { carouselAnatomy, colorPickerAnatomy, datePickerAnatomy, segmentGroupAnatomy, selectAnatomy
|
|
7
|
+
import { carouselAnatomy, colorPickerAnatomy, datePickerAnatomy, segmentGroupAnatomy, selectAnatomy } from '@ark-ui/anatomy';
|
|
8
8
|
import * as carousel$1 from '@zag-js/carousel';
|
|
9
9
|
import * as checkbox$1 from '@zag-js/checkbox';
|
|
10
|
+
import * as clipboard$1 from '@zag-js/clipboard';
|
|
11
|
+
import * as collapsible$1 from '@zag-js/collapsible';
|
|
10
12
|
import * as colorPicker$1 from '@zag-js/color-picker';
|
|
11
13
|
import * as combobox$1 from '@zag-js/combobox';
|
|
12
14
|
import * as datePicker$1 from '@zag-js/date-picker';
|
|
@@ -14,6 +16,7 @@ import * as dialog$1 from '@zag-js/dialog';
|
|
|
14
16
|
import * as editable$1 from '@zag-js/editable';
|
|
15
17
|
import * as fileUpload$1 from '@zag-js/file-upload';
|
|
16
18
|
import * as hoverCard$1 from '@zag-js/hover-card';
|
|
19
|
+
import { trackLocale, isRTL } from '@zag-js/i18n-utils';
|
|
17
20
|
import * as menu$1 from '@zag-js/menu';
|
|
18
21
|
import * as numberInput$1 from '@zag-js/number-input';
|
|
19
22
|
import * as pagination$1 from '@zag-js/pagination';
|
|
@@ -92,15 +95,19 @@ function jsxFactory() {
|
|
|
92
95
|
}
|
|
93
96
|
const ark = jsxFactory();
|
|
94
97
|
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
+
const splitPresenceProps = props => createSplitProps()(props, ['lazyMount', 'onExitComplete', 'present', 'unmountOnExit']);
|
|
99
|
+
|
|
100
|
+
const [RenderStrategyProvider, useRenderStrategyContext] = createContext({
|
|
101
|
+
hookName: 'useRenderStrategyContext',
|
|
102
|
+
providerName: '<RenderStrategyProvider />'
|
|
103
|
+
});
|
|
104
|
+
const splitRenderStrategyProps = props => createSplitProps()(props, ['lazyMount', 'unmountOnExit']);
|
|
98
105
|
|
|
99
106
|
const usePresence = props => {
|
|
100
|
-
const [
|
|
107
|
+
const [renderStrategyProps, context] = splitRenderStrategyProps(props);
|
|
101
108
|
const [wasEverPresent, setWasEverPresent] = createSignal(false);
|
|
102
|
-
const [state, send] = useMachine(presence.machine(
|
|
103
|
-
context
|
|
109
|
+
const [state, send] = useMachine(presence.machine(context), {
|
|
110
|
+
context
|
|
104
111
|
});
|
|
105
112
|
const api = createMemo(() => presence.connect(state, send, normalizeProps));
|
|
106
113
|
createEffect(() => {
|
|
@@ -108,12 +115,12 @@ const usePresence = props => {
|
|
|
108
115
|
if (isPresent) setWasEverPresent(true);
|
|
109
116
|
});
|
|
110
117
|
return createMemo(() => ({
|
|
111
|
-
isUnmounted: !api().isPresent && !wasEverPresent() &&
|
|
118
|
+
isUnmounted: !api().isPresent && !wasEverPresent() && renderStrategyProps.lazyMount || renderStrategyProps.unmountOnExit && !api().isPresent && wasEverPresent(),
|
|
112
119
|
isPresent: api().isPresent,
|
|
113
120
|
presenceProps: {
|
|
114
121
|
ref: api().setNode,
|
|
115
122
|
hidden: !api().isPresent,
|
|
116
|
-
'data-state':
|
|
123
|
+
'data-state': context.present ? 'open' : 'closed'
|
|
117
124
|
}
|
|
118
125
|
}));
|
|
119
126
|
};
|
|
@@ -140,11 +147,6 @@ const [PresenceProvider, usePresenceContext] = createContext({
|
|
|
140
147
|
providerName: '<PresenceProvider />'
|
|
141
148
|
});
|
|
142
149
|
|
|
143
|
-
const [PresencePropsProvider, usePresencePropsContext] = createContext({
|
|
144
|
-
hookName: 'usePresencePropsContext',
|
|
145
|
-
providerName: '<PresencePropsProvider />'
|
|
146
|
-
});
|
|
147
|
-
|
|
148
150
|
const isFunction = value => typeof value === 'function';
|
|
149
151
|
const runIfFn = (valueOrFn, ...args) => isFunction(valueOrFn) ? valueOrFn(...args) : valueOrFn;
|
|
150
152
|
|
|
@@ -156,8 +158,8 @@ const [AccordionItemProvider, useAccordionItemContext] = createContext({
|
|
|
156
158
|
const AccordionItem = props => {
|
|
157
159
|
const [itemProps, localProps] = createSplitProps()(props, ['value', 'disabled']);
|
|
158
160
|
const api = useAccordionContext();
|
|
159
|
-
const
|
|
160
|
-
const presenceApi = usePresence(mergeProps$1(
|
|
161
|
+
const renderStrategyProps = useRenderStrategyContext();
|
|
162
|
+
const presenceApi = usePresence(mergeProps$1(renderStrategyProps, () => ({
|
|
161
163
|
present: api().getItemState(itemProps).isOpen
|
|
162
164
|
})));
|
|
163
165
|
const mergedProps = mergeProps$1(() => api().getItemProps(itemProps), localProps);
|
|
@@ -250,15 +252,15 @@ const useAccordion = props => {
|
|
|
250
252
|
};
|
|
251
253
|
|
|
252
254
|
const AccordionRoot = props => {
|
|
253
|
-
const [
|
|
255
|
+
const [renderStrategyProps, accordionProps] = splitRenderStrategyProps(props);
|
|
254
256
|
const [useAccordionProps, localProps] = createSplitProps()(accordionProps, ['collapsible', 'dir', 'disabled', 'getRootNode', 'id', 'ids', 'multiple', 'onFocusChange', 'onValueChange', 'orientation', 'value']);
|
|
255
257
|
const api = useAccordion(useAccordionProps);
|
|
256
258
|
const mergedProps = mergeProps$1(() => api().rootProps, localProps);
|
|
257
259
|
return createComponent(AccordionProvider, {
|
|
258
260
|
value: api,
|
|
259
261
|
get children() {
|
|
260
|
-
return createComponent(
|
|
261
|
-
value:
|
|
262
|
+
return createComponent(RenderStrategyProvider, {
|
|
263
|
+
value: renderStrategyProps,
|
|
262
264
|
get children() {
|
|
263
265
|
return createComponent(ark.div, mergedProps);
|
|
264
266
|
}
|
|
@@ -485,6 +487,167 @@ var checkbox = /*#__PURE__*/Object.freeze({
|
|
|
485
487
|
Root: CheckboxRoot
|
|
486
488
|
});
|
|
487
489
|
|
|
490
|
+
const [ClipboardProvider, useClipboardContext] = createContext({
|
|
491
|
+
hookName: 'useClipboardContext',
|
|
492
|
+
providerName: '<ClipboardProvider />'
|
|
493
|
+
});
|
|
494
|
+
|
|
495
|
+
const ClipboardControl = props => {
|
|
496
|
+
const api = useClipboardContext();
|
|
497
|
+
const mergedProps = mergeProps$1(() => api().controlProps, props);
|
|
498
|
+
return createComponent(ark.div, mergedProps);
|
|
499
|
+
};
|
|
500
|
+
|
|
501
|
+
const ClipboardIndicator = props => {
|
|
502
|
+
const [indicatorProps, localProps] = createSplitProps()(props, ['copied']);
|
|
503
|
+
const api = useClipboardContext();
|
|
504
|
+
const mergedProps = mergeProps$1(api().getIndicatorProps({
|
|
505
|
+
copied: api().isCopied
|
|
506
|
+
}), localProps);
|
|
507
|
+
const getChildren = children(() => localProps.children);
|
|
508
|
+
return createComponent(ark.div, mergeProps(mergedProps, {
|
|
509
|
+
get children() {
|
|
510
|
+
return createComponent(Show, {
|
|
511
|
+
get when() {
|
|
512
|
+
return api().isCopied;
|
|
513
|
+
},
|
|
514
|
+
get fallback() {
|
|
515
|
+
return getChildren();
|
|
516
|
+
},
|
|
517
|
+
get children() {
|
|
518
|
+
return indicatorProps.copied;
|
|
519
|
+
}
|
|
520
|
+
});
|
|
521
|
+
}
|
|
522
|
+
}));
|
|
523
|
+
};
|
|
524
|
+
|
|
525
|
+
const ClipboardInput = props => {
|
|
526
|
+
const api = useClipboardContext();
|
|
527
|
+
const mergedProps = mergeProps$1(() => api().inputProps, props);
|
|
528
|
+
return createComponent(ark.input, mergedProps);
|
|
529
|
+
};
|
|
530
|
+
|
|
531
|
+
const ClipboardLabel = props => {
|
|
532
|
+
const api = useClipboardContext();
|
|
533
|
+
const mergedProps = mergeProps$1(() => api().labelProps, props);
|
|
534
|
+
return createComponent(ark.label, mergedProps);
|
|
535
|
+
};
|
|
536
|
+
|
|
537
|
+
const useClipboard = props => {
|
|
538
|
+
const getRootNode = useEnvironmentContext();
|
|
539
|
+
const context = mergeProps$1({
|
|
540
|
+
id: createUniqueId(),
|
|
541
|
+
getRootNode
|
|
542
|
+
}, props);
|
|
543
|
+
const [state, send] = useMachine(clipboard$1.machine(context), {
|
|
544
|
+
context
|
|
545
|
+
});
|
|
546
|
+
return createMemo(() => clipboard$1.connect(state, send, normalizeProps));
|
|
547
|
+
};
|
|
548
|
+
|
|
549
|
+
const ClipboardRoot = props => {
|
|
550
|
+
const [useClipboardProps, localProps] = createSplitProps()(props, ['getRootNode', 'id', 'ids', 'value', 'timeout', 'onCopyStatusChange']);
|
|
551
|
+
const api = useClipboard(useClipboardProps);
|
|
552
|
+
const mergedProps = mergeProps$1(() => api().rootProps, localProps);
|
|
553
|
+
const getChildren = () => runIfFn(localProps.children, api);
|
|
554
|
+
return createComponent(ClipboardProvider, {
|
|
555
|
+
value: api,
|
|
556
|
+
get children() {
|
|
557
|
+
return createComponent(ark.div, mergeProps(mergedProps, {
|
|
558
|
+
get children() {
|
|
559
|
+
return getChildren();
|
|
560
|
+
}
|
|
561
|
+
}));
|
|
562
|
+
}
|
|
563
|
+
});
|
|
564
|
+
};
|
|
565
|
+
|
|
566
|
+
const ClipboardTrigger = props => {
|
|
567
|
+
const api = useClipboardContext();
|
|
568
|
+
const mergedProps = mergeProps$1(() => api().triggerProps, props);
|
|
569
|
+
return createComponent(ark.button, mergedProps);
|
|
570
|
+
};
|
|
571
|
+
|
|
572
|
+
var clipboard = /*#__PURE__*/Object.freeze({
|
|
573
|
+
__proto__: null,
|
|
574
|
+
Control: ClipboardControl,
|
|
575
|
+
Indicator: ClipboardIndicator,
|
|
576
|
+
Input: ClipboardInput,
|
|
577
|
+
Label: ClipboardLabel,
|
|
578
|
+
Root: ClipboardRoot,
|
|
579
|
+
Trigger: ClipboardTrigger
|
|
580
|
+
});
|
|
581
|
+
|
|
582
|
+
const [CollapsibleProvider, useCollapsibleContext] = createContext({
|
|
583
|
+
hookName: 'useCollapsibleContext',
|
|
584
|
+
providerName: '<CollapsibleProvider />'
|
|
585
|
+
});
|
|
586
|
+
|
|
587
|
+
const CollapsibleContent = props => {
|
|
588
|
+
const api = useCollapsibleContext();
|
|
589
|
+
const mergedProps = mergeProps$1(() => api().contentProps, props);
|
|
590
|
+
return createComponent(Show, {
|
|
591
|
+
get when() {
|
|
592
|
+
return !api().isUnmounted;
|
|
593
|
+
},
|
|
594
|
+
get children() {
|
|
595
|
+
return createComponent(ark.div, mergedProps);
|
|
596
|
+
}
|
|
597
|
+
});
|
|
598
|
+
};
|
|
599
|
+
|
|
600
|
+
const useCollapsible = props => {
|
|
601
|
+
const getRootNode = useEnvironmentContext();
|
|
602
|
+
const [renderStrategyProps, collapsibleProps] = splitRenderStrategyProps(props);
|
|
603
|
+
const context = mergeProps$1({
|
|
604
|
+
id: createUniqueId(),
|
|
605
|
+
getRootNode
|
|
606
|
+
}, collapsibleProps);
|
|
607
|
+
const [state, send] = useMachine(collapsible$1.machine(context), {
|
|
608
|
+
context
|
|
609
|
+
});
|
|
610
|
+
const [wasVisible, setWasVisible] = createSignal(false);
|
|
611
|
+
createEffect(() => {
|
|
612
|
+
const isPresent = api().isVisible;
|
|
613
|
+
if (isPresent) setWasVisible(true);
|
|
614
|
+
});
|
|
615
|
+
const api = createMemo(() => collapsible$1.connect(state, send, normalizeProps));
|
|
616
|
+
return createMemo(() => ({
|
|
617
|
+
...api(),
|
|
618
|
+
isUnmounted: !api().isVisible && !wasVisible() && renderStrategyProps.lazyMount || renderStrategyProps.unmountOnExit && !api().isVisible && wasVisible()
|
|
619
|
+
}));
|
|
620
|
+
};
|
|
621
|
+
|
|
622
|
+
const CollapsibleRoot = props => {
|
|
623
|
+
const [params, localProps] = createSplitProps()(props, ['dir', 'disabled', 'getRootNode', 'id', 'ids', 'lazyMount', 'onExitComplete', 'onOpenChange', 'open', 'unmountOnExit']);
|
|
624
|
+
const api = useCollapsible(params);
|
|
625
|
+
const mergedProps = mergeProps$1(() => api().rootProps, localProps);
|
|
626
|
+
return createComponent(CollapsibleProvider, {
|
|
627
|
+
value: api,
|
|
628
|
+
get children() {
|
|
629
|
+
return createComponent(ark.div, mergedProps);
|
|
630
|
+
}
|
|
631
|
+
});
|
|
632
|
+
};
|
|
633
|
+
|
|
634
|
+
const CollapsibleTrigger = props => {
|
|
635
|
+
const api = useCollapsibleContext();
|
|
636
|
+
const mergedProps = () => mergeProps$1(api().triggerProps, props);
|
|
637
|
+
return createComponent(ark.button, mergeProps(mergedProps, {
|
|
638
|
+
get children() {
|
|
639
|
+
return props.children;
|
|
640
|
+
}
|
|
641
|
+
}));
|
|
642
|
+
};
|
|
643
|
+
|
|
644
|
+
var collapsible = /*#__PURE__*/Object.freeze({
|
|
645
|
+
__proto__: null,
|
|
646
|
+
Content: CollapsibleContent,
|
|
647
|
+
Root: CollapsibleRoot,
|
|
648
|
+
Trigger: CollapsibleTrigger
|
|
649
|
+
});
|
|
650
|
+
|
|
488
651
|
const [ColorPickerAreaProvider, useColorPickerAreaContext] = createContext({
|
|
489
652
|
hookName: 'useColorPickerAreaContext',
|
|
490
653
|
providerName: '<ColorPickerAreaProvider />'
|
|
@@ -637,8 +800,7 @@ const useColorPicker = props => {
|
|
|
637
800
|
const context = mergeProps$1(() => ({
|
|
638
801
|
id: createUniqueId(),
|
|
639
802
|
getRootNode,
|
|
640
|
-
value: local.value ? colorPicker$1.parse(local.value) : undefined
|
|
641
|
-
'open.controlled': props.open !== undefined
|
|
803
|
+
value: local.value ? colorPicker$1.parse(local.value) : undefined
|
|
642
804
|
}), rest);
|
|
643
805
|
const [state, send] = useMachine(colorPicker$1.machine(context), {
|
|
644
806
|
context
|
|
@@ -1074,8 +1236,7 @@ const useDatePicker = props => {
|
|
|
1074
1236
|
id: createUniqueId(),
|
|
1075
1237
|
getRootNode,
|
|
1076
1238
|
focusedValue: local.focusedValue ? datePicker$1.parse(local.focusedValue) : undefined,
|
|
1077
|
-
value: local.value ? datePicker$1.parse(local.value) : undefined
|
|
1078
|
-
'open.controlled': props.open !== undefined
|
|
1239
|
+
value: local.value ? datePicker$1.parse(local.value) : undefined
|
|
1079
1240
|
}), rest);
|
|
1080
1241
|
const [state, send] = useMachine(datePicker$1.machine(context), {
|
|
1081
1242
|
context
|
|
@@ -1301,8 +1462,8 @@ const [DialogProvider, useDialogContext] = createContext({
|
|
|
1301
1462
|
|
|
1302
1463
|
const DialogBackdrop = props => {
|
|
1303
1464
|
const api = useDialogContext();
|
|
1304
|
-
const
|
|
1305
|
-
const presenceApi = usePresence(mergeProps$1(
|
|
1465
|
+
const renderStrategyProps = useRenderStrategyContext();
|
|
1466
|
+
const presenceApi = usePresence(mergeProps$1(renderStrategyProps, () => ({
|
|
1306
1467
|
present: api().isOpen
|
|
1307
1468
|
})));
|
|
1308
1469
|
const mergedProps = mergeProps$1(() => api().backdropProps, () => presenceApi().presenceProps, props);
|
|
@@ -1360,8 +1521,7 @@ const useDialog = props => {
|
|
|
1360
1521
|
const getRootNode = useEnvironmentContext();
|
|
1361
1522
|
const context = mergeProps$1({
|
|
1362
1523
|
id: createUniqueId(),
|
|
1363
|
-
getRootNode
|
|
1364
|
-
'open.controlled': props.open !== undefined
|
|
1524
|
+
getRootNode
|
|
1365
1525
|
}, props);
|
|
1366
1526
|
const [state, send] = useMachine(dialog$1.machine(context), {
|
|
1367
1527
|
context
|
|
@@ -1371,6 +1531,7 @@ const useDialog = props => {
|
|
|
1371
1531
|
|
|
1372
1532
|
const DialogRoot = props => {
|
|
1373
1533
|
const [presenceProps, dialogProps] = splitPresenceProps(props);
|
|
1534
|
+
const [renderStrategyProps] = splitRenderStrategyProps(presenceProps);
|
|
1374
1535
|
const [useDialogProps, localProps] = createSplitProps()(dialogProps, ['aria-label', 'closeOnEscapeKeyDown', 'closeOnInteractOutside', 'dir', 'finalFocusEl', 'getRootNode', 'id', 'ids', 'initialFocusEl', 'modal', 'onEscapeKeyDown', 'onFocusOutside', 'onInteractOutside', 'onOpenChange', 'onPointerDownOutside', 'open', 'preventScroll', 'restoreFocus', 'role', 'trapFocus']);
|
|
1375
1536
|
const api = useDialog(useDialogProps);
|
|
1376
1537
|
const apiPresence = usePresence(mergeProps$1(presenceProps, () => ({
|
|
@@ -1380,8 +1541,8 @@ const DialogRoot = props => {
|
|
|
1380
1541
|
return createComponent(DialogProvider, {
|
|
1381
1542
|
value: api,
|
|
1382
1543
|
get children() {
|
|
1383
|
-
return createComponent(
|
|
1384
|
-
value:
|
|
1544
|
+
return createComponent(RenderStrategyProvider, {
|
|
1545
|
+
value: renderStrategyProps,
|
|
1385
1546
|
get children() {
|
|
1386
1547
|
return createComponent(PresenceProvider, {
|
|
1387
1548
|
value: apiPresence,
|
|
@@ -1722,8 +1883,7 @@ const useHoverCard = props => {
|
|
|
1722
1883
|
const getRootNode = useEnvironmentContext();
|
|
1723
1884
|
const context = mergeProps$1({
|
|
1724
1885
|
id: createUniqueId(),
|
|
1725
|
-
getRootNode
|
|
1726
|
-
'open.controlled': props.open !== undefined
|
|
1886
|
+
getRootNode
|
|
1727
1887
|
}, props);
|
|
1728
1888
|
const [state, send] = useMachine(hoverCard$1.machine(context), {
|
|
1729
1889
|
context
|
|
@@ -1768,6 +1928,42 @@ var hoverCard = /*#__PURE__*/Object.freeze({
|
|
|
1768
1928
|
Trigger: HoverCardTrigger
|
|
1769
1929
|
});
|
|
1770
1930
|
|
|
1931
|
+
const [LocaleContextProvider, useLocaleContext] = createContext({
|
|
1932
|
+
hookName: 'useEnvironmentContext',
|
|
1933
|
+
providerName: '<EnvironmentProvider />',
|
|
1934
|
+
strict: false,
|
|
1935
|
+
defaultValue: () => ({
|
|
1936
|
+
dir: 'ltr',
|
|
1937
|
+
locale: 'en-US'
|
|
1938
|
+
})
|
|
1939
|
+
});
|
|
1940
|
+
|
|
1941
|
+
const LocaleProvider = props => {
|
|
1942
|
+
const [localeProps, restProps] = splitProps(props, ['locale', 'defaultLocale']);
|
|
1943
|
+
const [locale, setLocale] = createSignal(localeProps.defaultLocale || localeProps.locale || 'en-US');
|
|
1944
|
+
const getRootNode = useEnvironmentContext();
|
|
1945
|
+
createEffect(() => {
|
|
1946
|
+
const cleanup = trackLocale({
|
|
1947
|
+
locale: localeProps.locale,
|
|
1948
|
+
getRootNode,
|
|
1949
|
+
onLocaleChange(locale) {
|
|
1950
|
+
setLocale(locale.locale);
|
|
1951
|
+
}
|
|
1952
|
+
});
|
|
1953
|
+
onCleanup(cleanup);
|
|
1954
|
+
});
|
|
1955
|
+
const context = createMemo(() => ({
|
|
1956
|
+
locale: locale(),
|
|
1957
|
+
dir: isRTL(locale()) ? 'rtl' : 'ltr'
|
|
1958
|
+
}));
|
|
1959
|
+
return createComponent(LocaleContextProvider, {
|
|
1960
|
+
value: context,
|
|
1961
|
+
get children() {
|
|
1962
|
+
return restProps.children;
|
|
1963
|
+
}
|
|
1964
|
+
});
|
|
1965
|
+
};
|
|
1966
|
+
|
|
1771
1967
|
const [MenuProvider, useMenuContext] = createContext({
|
|
1772
1968
|
hookName: 'useMenuContext',
|
|
1773
1969
|
providerName: '<MenuProvider />',
|
|
@@ -1870,8 +2066,7 @@ const useMenu = props => {
|
|
|
1870
2066
|
const getRootNode = useEnvironmentContext();
|
|
1871
2067
|
const context = mergeProps$1({
|
|
1872
2068
|
id: createUniqueId(),
|
|
1873
|
-
getRootNode
|
|
1874
|
-
'open.controlled': props.open !== undefined
|
|
2069
|
+
getRootNode
|
|
1875
2070
|
}, props);
|
|
1876
2071
|
const [state, send, machine] = useMachine(menu$1.machine(context), {
|
|
1877
2072
|
context
|
|
@@ -2246,8 +2441,7 @@ const usePopover = props => {
|
|
|
2246
2441
|
const getRootNode = useEnvironmentContext();
|
|
2247
2442
|
const context = mergeProps$1({
|
|
2248
2443
|
id: createUniqueId(),
|
|
2249
|
-
getRootNode
|
|
2250
|
-
'open.controlled': props.open !== undefined
|
|
2444
|
+
getRootNode
|
|
2251
2445
|
}, props);
|
|
2252
2446
|
const [state, send] = useMachine(popover$1.machine(context), {
|
|
2253
2447
|
context
|
|
@@ -2819,8 +3013,7 @@ const useSelect = props => {
|
|
|
2819
3013
|
const context = () => mergeProps$1({
|
|
2820
3014
|
id: createUniqueId(),
|
|
2821
3015
|
getRootNode,
|
|
2822
|
-
collection: collection()
|
|
2823
|
-
'open.controlled': props.open !== undefined
|
|
3016
|
+
collection: collection()
|
|
2824
3017
|
}, rest);
|
|
2825
3018
|
const [state, send] = useMachine(select$1.machine(context()), {
|
|
2826
3019
|
context
|
|
@@ -3022,7 +3215,7 @@ const useSplitter = props => {
|
|
|
3022
3215
|
};
|
|
3023
3216
|
|
|
3024
3217
|
const SplitterRoot = props => {
|
|
3025
|
-
const [splitterParams, localProps] = createSplitProps()(props, ['dir', 'getRootNode', 'id', 'ids', 'onSizeChange', 'onSizeChangeEnd', '
|
|
3218
|
+
const [splitterParams, localProps] = createSplitProps()(props, ['dir', 'getRootNode', 'id', 'ids', 'onSizeChange', 'onSizeChangeEnd', 'orientation', 'size']);
|
|
3026
3219
|
const api = useSplitter(splitterParams);
|
|
3027
3220
|
const getChildren = () => runIfFn(localProps.children, api);
|
|
3028
3221
|
const mergedProps = mergeProps$1(() => api().rootProps, localProps);
|
|
@@ -3118,8 +3311,8 @@ const [TabsProvider, useTabsContext] = createContext({
|
|
|
3118
3311
|
const TabContent = props => {
|
|
3119
3312
|
const [contentProps, localProps] = createSplitProps()(props, ['value']);
|
|
3120
3313
|
const api = useTabsContext();
|
|
3121
|
-
const
|
|
3122
|
-
const presenceApi = usePresence(mergeProps$1(
|
|
3314
|
+
const renderStrategyProps = useRenderStrategyContext();
|
|
3315
|
+
const presenceApi = usePresence(mergeProps$1(renderStrategyProps, () => ({
|
|
3123
3316
|
present: api().value === contentProps.value
|
|
3124
3317
|
})));
|
|
3125
3318
|
const mergedProps = mergeProps$1(() => api().getContentProps(contentProps), () => presenceApi().presenceProps, localProps);
|
|
@@ -3170,15 +3363,15 @@ const useTabs = props => {
|
|
|
3170
3363
|
};
|
|
3171
3364
|
|
|
3172
3365
|
const TabsRoot = props => {
|
|
3173
|
-
const [
|
|
3366
|
+
const [renderStrategyProps, tabsProps] = splitRenderStrategyProps(props);
|
|
3174
3367
|
const [tabsParams, restProps] = createSplitProps()(tabsProps, ['activationMode', 'dir', 'getRootNode', 'id', 'ids', 'loop', 'onFocusChange', 'onValueChange', 'orientation', 'translations', 'value']);
|
|
3175
3368
|
const api = useTabs(tabsParams);
|
|
3176
3369
|
const mergedProps = mergeProps$1(() => api().rootProps, restProps);
|
|
3177
3370
|
return createComponent(TabsProvider, {
|
|
3178
3371
|
value: api,
|
|
3179
3372
|
get children() {
|
|
3180
|
-
return createComponent(
|
|
3181
|
-
value:
|
|
3373
|
+
return createComponent(RenderStrategyProvider, {
|
|
3374
|
+
value: renderStrategyProps,
|
|
3182
3375
|
get children() {
|
|
3183
3376
|
return createComponent(ark.div, mergedProps);
|
|
3184
3377
|
}
|
|
@@ -3502,8 +3695,7 @@ const useTooltip = props => {
|
|
|
3502
3695
|
const getRootNode = useEnvironmentContext();
|
|
3503
3696
|
const context = mergeProps$1({
|
|
3504
3697
|
id: createUniqueId(),
|
|
3505
|
-
getRootNode
|
|
3506
|
-
'open.controlled': props.open !== undefined
|
|
3698
|
+
getRootNode
|
|
3507
3699
|
}, props);
|
|
3508
3700
|
const [state, send] = useMachine(tooltip$1.machine(context), {
|
|
3509
3701
|
context
|
|
@@ -3606,9 +3798,7 @@ const TreeViewBranchControl = props => {
|
|
|
3606
3798
|
const TreeViewBranchIndicator = props => {
|
|
3607
3799
|
const api = useTreeViewContext();
|
|
3608
3800
|
const branchProps = useTreeViewBranchContext();
|
|
3609
|
-
const mergedProps = mergeProps$1(() => api().
|
|
3610
|
-
// TODO use api.getBranchIndicatorProps() when available
|
|
3611
|
-
treeViewAnatomy.build().branchIndicator.attrs, props);
|
|
3801
|
+
const mergedProps = mergeProps$1(() => api().getBranchIndicatorProps(branchProps), props);
|
|
3612
3802
|
return createComponent(ark.div, mergedProps);
|
|
3613
3803
|
};
|
|
3614
3804
|
|
|
@@ -3728,5 +3918,5 @@ var treeView = /*#__PURE__*/Object.freeze({
|
|
|
3728
3918
|
Tree: TreeViewTree
|
|
3729
3919
|
});
|
|
3730
3920
|
|
|
3731
|
-
export { accordion as Accordion, AccordionItem, AccordionItemContent, AccordionItemIndicator, AccordionItemTrigger, AccordionRoot, avatar as Avatar, AvatarFallback, AvatarImage, AvatarRoot, carousel as Carousel, CarouselControl, CarouselIndicator, CarouselIndicatorGroup, CarouselItem, CarouselItemGroup, CarouselNextTrigger, CarouselPrevTrigger, CarouselRoot, CarouselViewport, checkbox as Checkbox, CheckboxControl, CheckboxIndicator, CheckboxLabel, CheckboxRoot, colorPicker as ColorPicker, ColorPickerArea, ColorPickerAreaBackground, ColorPickerAreaThumb, ColorPickerChannelInput, ColorPickerChannelSlider, ColorPickerChannelSliderThumb, ColorPickerChannelSliderTrack, ColorPickerContent, ColorPickerControl, ColorPickerEyeDropperTrigger, ColorPickerFormatSelect, ColorPickerFormatTrigger, ColorPickerLabel, ColorPickerPositioner, ColorPickerRoot, ColorPickerSwatch, ColorPickerSwatchGroup, ColorPickerSwatchIndicator, ColorPickerSwatchTrigger, ColorPickerTransparencyGrid, ColorPickerTrigger, ColorPickerValueText, ColorPickerView, combobox as Combobox, ComboboxClearTrigger, ComboboxContent, ComboboxControl, ComboboxInput, ComboboxItem, ComboboxItemGroup, ComboboxItemGroupLabel, ComboboxItemIndicator, ComboboxItemText, ComboboxLabel, ComboboxPositioner, ComboboxRoot, ComboboxTrigger, datePicker as DatePicker, DatePickerClearTrigger, DatePickerContent, DatePickerControl, DatePickerInput, DatePickerLabel, DatePickerMonthSelect, DatePickerNextTrigger, DatePickerPositioner, DatePickerPresetTrigger, DatePickerPrevTrigger, DatePickerRangeText, DatePickerRoot, DatePickerTable, DatePickerTableBody, DatePickerTableCell, DatePickerTableCellTrigger, DatePickerTableHead, DatePickerTableHeader, DatePickerTableRow, DatePickerTrigger, DatePickerView, DatePickerViewControl, DatePickerViewTrigger, DatePickerYearSelect, dialog as Dialog, DialogBackdrop, DialogCloseTrigger, DialogContent, DialogDescription, DialogPositioner, DialogRoot, DialogTitle, DialogTrigger, editable as Editable, EditableArea, EditableCancelTrigger, EditableControl, EditableEditTrigger, EditableInput, EditableLabel, EditablePreview, EditableRoot, EditableSubmitTrigger, Environment, fileUpload as FileUpload, FileUploadDropzone, FileUploadItem, FileUploadItemDeleteTrigger, FileUploadItemGroup, FileUploadItemName, FileUploadItemPreview, FileUploadItemPreviewImage, FileUploadItemSizeText, FileUploadLabel, FileUploadRoot, FileUploadTrigger, hoverCard as HoverCard, HoverCardArrow, HoverCardArrowTip, HoverCardContent, HoverCardPositioner, HoverCardRoot, HoverCardTrigger, menu as Menu, MenuArrow, MenuArrowTip, MenuContent, MenuContextTrigger, MenuItem, MenuItemGroup, MenuItemGroupLabel, MenuOptionItem, MenuPositioner, MenuRoot, MenuSeparator, MenuTrigger, MenuTriggerItem, numberInput as NumberInput, NumberInputControl, NumberInputDecrementTrigger, NumberInputIncrementTrigger, NumberInputInput, NumberInputLabel, NumberInputRoot, NumberInputScrubber, pagination as Pagination, PaginationEllipsis, PaginationItem, PaginationNextTrigger, PaginationPrevTrigger, PaginationRoot, pinInput as PinInput, PinInputControl, PinInputInput, PinInputLabel, PinInputRoot, popover as Popover, PopoverAnchor, PopoverArrow, PopoverArrowTip, PopoverCloseTrigger, PopoverContent, PopoverDescription, PopoverIndicator, PopoverPositioner, PopoverRoot, PopoverTitle, PopoverTrigger, Presence,
|
|
3921
|
+
export { accordion as Accordion, AccordionItem, AccordionItemContent, AccordionItemIndicator, AccordionItemTrigger, AccordionRoot, avatar as Avatar, AvatarFallback, AvatarImage, AvatarRoot, carousel as Carousel, CarouselControl, CarouselIndicator, CarouselIndicatorGroup, CarouselItem, CarouselItemGroup, CarouselNextTrigger, CarouselPrevTrigger, CarouselRoot, CarouselViewport, checkbox as Checkbox, CheckboxControl, CheckboxIndicator, CheckboxLabel, CheckboxRoot, clipboard as Clipboard, ClipboardControl, ClipboardIndicator, ClipboardInput, ClipboardLabel, ClipboardRoot, ClipboardTrigger, collapsible as Collapsible, CollapsibleContent, CollapsibleRoot, CollapsibleTrigger, colorPicker as ColorPicker, ColorPickerArea, ColorPickerAreaBackground, ColorPickerAreaThumb, ColorPickerChannelInput, ColorPickerChannelSlider, ColorPickerChannelSliderThumb, ColorPickerChannelSliderTrack, ColorPickerContent, ColorPickerControl, ColorPickerEyeDropperTrigger, ColorPickerFormatSelect, ColorPickerFormatTrigger, ColorPickerLabel, ColorPickerPositioner, ColorPickerRoot, ColorPickerSwatch, ColorPickerSwatchGroup, ColorPickerSwatchIndicator, ColorPickerSwatchTrigger, ColorPickerTransparencyGrid, ColorPickerTrigger, ColorPickerValueText, ColorPickerView, combobox as Combobox, ComboboxClearTrigger, ComboboxContent, ComboboxControl, ComboboxInput, ComboboxItem, ComboboxItemGroup, ComboboxItemGroupLabel, ComboboxItemIndicator, ComboboxItemText, ComboboxLabel, ComboboxPositioner, ComboboxRoot, ComboboxTrigger, datePicker as DatePicker, DatePickerClearTrigger, DatePickerContent, DatePickerControl, DatePickerInput, DatePickerLabel, DatePickerMonthSelect, DatePickerNextTrigger, DatePickerPositioner, DatePickerPresetTrigger, DatePickerPrevTrigger, DatePickerRangeText, DatePickerRoot, DatePickerTable, DatePickerTableBody, DatePickerTableCell, DatePickerTableCellTrigger, DatePickerTableHead, DatePickerTableHeader, DatePickerTableRow, DatePickerTrigger, DatePickerView, DatePickerViewControl, DatePickerViewTrigger, DatePickerYearSelect, dialog as Dialog, DialogBackdrop, DialogCloseTrigger, DialogContent, DialogDescription, DialogPositioner, DialogRoot, DialogTitle, DialogTrigger, editable as Editable, EditableArea, EditableCancelTrigger, EditableControl, EditableEditTrigger, EditableInput, EditableLabel, EditablePreview, EditableRoot, EditableSubmitTrigger, Environment, fileUpload as FileUpload, FileUploadDropzone, FileUploadItem, FileUploadItemDeleteTrigger, FileUploadItemGroup, FileUploadItemName, FileUploadItemPreview, FileUploadItemPreviewImage, FileUploadItemSizeText, FileUploadLabel, FileUploadRoot, FileUploadTrigger, hoverCard as HoverCard, HoverCardArrow, HoverCardArrowTip, HoverCardContent, HoverCardPositioner, HoverCardRoot, HoverCardTrigger, LocaleProvider, menu as Menu, MenuArrow, MenuArrowTip, MenuContent, MenuContextTrigger, MenuItem, MenuItemGroup, MenuItemGroupLabel, MenuOptionItem, MenuPositioner, MenuRoot, MenuSeparator, MenuTrigger, MenuTriggerItem, numberInput as NumberInput, NumberInputControl, NumberInputDecrementTrigger, NumberInputIncrementTrigger, NumberInputInput, NumberInputLabel, NumberInputRoot, NumberInputScrubber, pagination as Pagination, PaginationEllipsis, PaginationItem, PaginationNextTrigger, PaginationPrevTrigger, PaginationRoot, pinInput as PinInput, PinInputControl, PinInputInput, PinInputLabel, PinInputRoot, popover as Popover, PopoverAnchor, PopoverArrow, PopoverArrowTip, PopoverCloseTrigger, PopoverContent, PopoverDescription, PopoverIndicator, PopoverPositioner, PopoverRoot, PopoverTitle, PopoverTrigger, Presence, PresenceProvider, progress as Progress, ProgressCircle, ProgressCircleRange, ProgressCircleTrack, ProgressLabel, ProgressRange, ProgressRoot, ProgressTrack, ProgressValueText, ProgressView, radioGroup as RadioGroup, RadioGroupIndicator, RadioGroupItem, RadioGroupItemControl, RadioGroupItemText, RadioGroupLabel, RadioGroupRoot, ratingGroup as RatingGroup, RatingGroupControl, RatingGroupItem, RatingGroupLabel, RatingGroupRoot, segmentGroup as SegmentGroup, SegmentGroupIndicator, SegmentGroupItem, SegmentGroupItemControl, SegmentGroupItemText, SegmentGroupLabel, SegmentGroupRoot, select as Select, SelectClearTrigger, SelectContent, SelectControl, SelectIndicator, SelectItem, SelectItemGroup, SelectItemGroupLabel, SelectItemIndicator, SelectItemText, SelectLabel, SelectPositioner, SelectRoot, SelectTrigger, SelectValueText, slider as Slider, SliderControl, SliderLabel, SliderMarker, SliderMarkerGroup, SliderRange, SliderRoot, SliderThumb, SliderTrack, SliderValueText, splitter as Splitter, SplitterPanel, SplitterResizeTrigger, SplitterRoot, _switch as Switch, SwitchControl, SwitchLabel, SwitchRoot, SwitchThumb, TabContent, TabIndicator, TabList, TabTrigger, tabs as Tabs, TabsRoot, tagsInput as TagsInput, TagsInputClearTrigger, TagsInputControl, TagsInputInput, TagsInputItem, TagsInputItemDeleteTrigger, TagsInputItemInput, TagsInputItemPreview, TagsInputItemText, TagsInputLabel, TagsInputRoot, toast as Toast, ToastCloseTrigger, ToastDescription, ToastGroup, ToastRoot, ToastTitle, toggleGroup as ToggleGroup, ToggleGroupItem, ToggleGroupRoot, tooltip as Tooltip, TooltipArrow, TooltipArrowTip, TooltipContent, TooltipPositioner, TooltipRoot, TooltipTrigger, treeView as TreeView, TreeViewBranch, TreeViewBranchContent, TreeViewBranchControl, TreeViewBranchIndicator, TreeViewBranchText, TreeViewBranchTrigger, TreeViewItem, TreeViewItemIndicator, TreeViewItemText, TreeViewLabel, TreeViewRoot, TreeViewTree, ark, createToaster, splitPresenceProps, useAccordionContext, useAccordionItemContext, useAvatarContext, useCarouselContext, useCheckboxContext, useClipboardContext, useCollapsibleContext, useColorPickerAreaContext, useColorPickerChannelSliderContext, useColorPickerContext, useComboboxContext, useDatePickerContext, useDatePickerTableCellContext, useDatePickerTableContext, useDatePickerViewContext, useDialogContext, useEditableContext, useEnvironmentContext, useFileUploadContext, useHoverCardContext, useLocaleContext, useMenuContext, useNumberInputContext, usePaginationContext, usePinInputContext, usePopoverContext, usePresence, usePresenceContext, useProgressContext, useRadioGroupContext, useRadioGroupItemContext, useRatingGroupContext, useRatingGroupItemContext, useSegmentGroupContext, useSegmentGroupItemContext, useSelectContext, useSelectItemContext, useSliderContext, useSplitterContext, useSwitchContext, useTabsContext, useTagsInputContext, useTagsInputItemContext, useToggleGroupContext, useTooltipContext, useTreeViewContext, withAsProp };
|
|
3732
3922
|
//# sourceMappingURL=index.js.map
|