@ark-ui/solid 4.0.0 → 4.1.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/dist/cjs/index.js +145 -38
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/index.js +139 -39
- package/dist/esm/index.js.map +1 -1
- package/dist/source/components/file-upload/file-upload-item-preview-image.jsx +5 -2
- package/dist/source/components/index.js +1 -0
- package/dist/source/components/toggle/index.js +7 -0
- package/dist/source/components/toggle/toggle-context.jsx +2 -0
- package/dist/source/components/toggle/toggle-indicator.jsx +15 -0
- package/dist/source/components/toggle/toggle-root.jsx +17 -0
- package/dist/source/components/toggle/toggle.anatomy.js +3 -0
- package/dist/source/components/toggle/toggle.js +4 -0
- package/dist/source/components/toggle/use-toggle-context.js +5 -0
- package/dist/source/components/toggle/use-toggle.js +43 -0
- package/dist/types/components/index.d.ts +1 -0
- package/dist/types/components/toggle/index.d.ts +7 -0
- package/dist/types/components/toggle/toggle-context.d.ts +6 -0
- package/dist/types/components/toggle/toggle-indicator.d.ts +8 -0
- package/dist/types/components/toggle/toggle-root.d.ts +7 -0
- package/dist/types/components/toggle/toggle.anatomy.d.ts +2 -0
- package/dist/types/components/toggle/toggle.d.ts +4 -0
- package/dist/types/components/toggle/use-toggle-context.d.ts +4 -0
- package/dist/types/components/toggle/use-toggle.d.ts +36 -0
- package/package.json +52 -52
package/dist/cjs/index.js
CHANGED
|
@@ -211,7 +211,7 @@ const [EnvironmentContextProvider, useEnvironmentContext] = createContext({
|
|
|
211
211
|
})
|
|
212
212
|
});
|
|
213
213
|
|
|
214
|
-
var _tmpl$$
|
|
214
|
+
var _tmpl$$8 = /*#__PURE__*/web.template(`<span hidden>`);
|
|
215
215
|
const EnvironmentProvider = props => {
|
|
216
216
|
const [spanRef, setSpanRef] = solidJs.createSignal();
|
|
217
217
|
const getRootNode = () => runIfFn(props.value) ?? spanRef()?.ownerDocument ?? document;
|
|
@@ -228,7 +228,7 @@ const EnvironmentProvider = props => {
|
|
|
228
228
|
return !props.value;
|
|
229
229
|
},
|
|
230
230
|
get children() {
|
|
231
|
-
var _el$ = _tmpl$$
|
|
231
|
+
var _el$ = _tmpl$$8();
|
|
232
232
|
web.use(setSpanRef, _el$);
|
|
233
233
|
return _el$;
|
|
234
234
|
}
|
|
@@ -824,7 +824,7 @@ const FieldsetLegend = props => {
|
|
|
824
824
|
};
|
|
825
825
|
|
|
826
826
|
const fieldsetAnatomy = anatomy.createAnatomy('fieldset').parts('root', 'errorText', 'helperText', 'legend');
|
|
827
|
-
const parts$
|
|
827
|
+
const parts$3 = fieldsetAnatomy.build();
|
|
828
828
|
|
|
829
829
|
const useFieldset = props => {
|
|
830
830
|
const {
|
|
@@ -844,24 +844,24 @@ const useFieldset = props => {
|
|
|
844
844
|
if (hasErrorText() && invalid) labelIds.push(errorTextId);
|
|
845
845
|
if (hasHelperText()) labelIds.push(helperTextId);
|
|
846
846
|
const getRootProps = () => ({
|
|
847
|
-
...parts$
|
|
847
|
+
...parts$3.root.attrs,
|
|
848
848
|
disabled,
|
|
849
849
|
'data-disabled': dataAttr(disabled),
|
|
850
850
|
'data-invalid': dataAttr(invalid),
|
|
851
851
|
'aria-describedby': labelIds.join(' ') || undefined
|
|
852
852
|
});
|
|
853
853
|
const getLegendProps = () => ({
|
|
854
|
-
...parts$
|
|
854
|
+
...parts$3.legend.attrs,
|
|
855
855
|
'data-disabled': dataAttr(disabled),
|
|
856
856
|
'data-invalid': dataAttr(invalid)
|
|
857
857
|
});
|
|
858
858
|
const getHelperTextProps = () => ({
|
|
859
859
|
id: helperTextId,
|
|
860
|
-
...parts$
|
|
860
|
+
...parts$3.helperText.attrs
|
|
861
861
|
});
|
|
862
862
|
const getErrorTextProps = () => ({
|
|
863
863
|
id: errorTextId,
|
|
864
|
-
...parts$
|
|
864
|
+
...parts$3.errorText.attrs,
|
|
865
865
|
'aria-live': 'polite'
|
|
866
866
|
});
|
|
867
867
|
return solidJs.createMemo(() => ({
|
|
@@ -915,7 +915,7 @@ var fieldset = /*#__PURE__*/Object.freeze({
|
|
|
915
915
|
});
|
|
916
916
|
|
|
917
917
|
const fieldAnatomy = anatomy.createAnatomy('field').parts('root', 'errorText', 'helperText', 'input', 'label', 'select', 'textarea');
|
|
918
|
-
const parts$
|
|
918
|
+
const parts$2 = fieldAnatomy.build();
|
|
919
919
|
|
|
920
920
|
const useField = props => {
|
|
921
921
|
const fieldset = useFieldsetContext();
|
|
@@ -938,7 +938,7 @@ const useField = props => {
|
|
|
938
938
|
return;
|
|
939
939
|
});
|
|
940
940
|
const getRootProps = () => ({
|
|
941
|
-
...parts$
|
|
941
|
+
...parts$2.root.attrs,
|
|
942
942
|
id: rootId,
|
|
943
943
|
role: 'group',
|
|
944
944
|
'data-disabled': domQuery.dataAttr(disabled),
|
|
@@ -946,7 +946,7 @@ const useField = props => {
|
|
|
946
946
|
'data-readonly': domQuery.dataAttr(readOnly)
|
|
947
947
|
});
|
|
948
948
|
const getLabelProps = () => ({
|
|
949
|
-
...parts$
|
|
949
|
+
...parts$2.label.attrs,
|
|
950
950
|
id: labelId,
|
|
951
951
|
'data-disabled': domQuery.dataAttr(disabled),
|
|
952
952
|
'data-invalid': domQuery.dataAttr(invalid),
|
|
@@ -969,23 +969,23 @@ const useField = props => {
|
|
|
969
969
|
});
|
|
970
970
|
const getInputProps = () => ({
|
|
971
971
|
...getControlProps(),
|
|
972
|
-
...parts$
|
|
972
|
+
...parts$2.input.attrs
|
|
973
973
|
});
|
|
974
974
|
const getTextareaProps = () => ({
|
|
975
975
|
...getControlProps(),
|
|
976
|
-
...parts$
|
|
976
|
+
...parts$2.textarea.attrs
|
|
977
977
|
});
|
|
978
978
|
const getSelectProps = () => ({
|
|
979
979
|
...getControlProps(),
|
|
980
|
-
...parts$
|
|
980
|
+
...parts$2.select.attrs
|
|
981
981
|
});
|
|
982
982
|
const getHelperTextProps = () => ({
|
|
983
983
|
id: helperTextId,
|
|
984
|
-
...parts$
|
|
984
|
+
...parts$2.helperText.attrs
|
|
985
985
|
});
|
|
986
986
|
const getErrorTextProps = () => ({
|
|
987
987
|
id: errorTextId,
|
|
988
|
-
...parts$
|
|
988
|
+
...parts$2.errorText.attrs,
|
|
989
989
|
'aria-live': 'polite'
|
|
990
990
|
});
|
|
991
991
|
return solidJs.createMemo(() => ({
|
|
@@ -2030,7 +2030,7 @@ const DatePickerLabel = props => {
|
|
|
2030
2030
|
return web.createComponent(ark.label, mergedProps);
|
|
2031
2031
|
};
|
|
2032
2032
|
|
|
2033
|
-
var _tmpl$$
|
|
2033
|
+
var _tmpl$$7 = /*#__PURE__*/web.template(`<option>`);
|
|
2034
2034
|
const DatePickerMonthSelect = props => {
|
|
2035
2035
|
const api = useDatePickerContext();
|
|
2036
2036
|
const mergedProps = solid.mergeProps(() => api().getMonthSelectProps(), props);
|
|
@@ -2041,7 +2041,7 @@ const DatePickerMonthSelect = props => {
|
|
|
2041
2041
|
return api().getMonths();
|
|
2042
2042
|
},
|
|
2043
2043
|
children: month => (() => {
|
|
2044
|
-
var _el$ = _tmpl$$
|
|
2044
|
+
var _el$ = _tmpl$$7();
|
|
2045
2045
|
web.insert(_el$, () => month.label);
|
|
2046
2046
|
web.effect(() => _el$.value = month.value);
|
|
2047
2047
|
return _el$;
|
|
@@ -2306,7 +2306,7 @@ const DatePickerViewTrigger = props => {
|
|
|
2306
2306
|
return web.createComponent(ark.button, mergedProps);
|
|
2307
2307
|
};
|
|
2308
2308
|
|
|
2309
|
-
var _tmpl$$
|
|
2309
|
+
var _tmpl$$6 = /*#__PURE__*/web.template(`<option>`);
|
|
2310
2310
|
const DatePickerYearSelect = props => {
|
|
2311
2311
|
const api = useDatePickerContext();
|
|
2312
2312
|
const mergedProps = solid.mergeProps(() => api().getYearSelectProps(), props);
|
|
@@ -2317,7 +2317,7 @@ const DatePickerYearSelect = props => {
|
|
|
2317
2317
|
return api().getYears();
|
|
2318
2318
|
},
|
|
2319
2319
|
children: year => (() => {
|
|
2320
|
-
var _el$ = _tmpl$$
|
|
2320
|
+
var _el$ = _tmpl$$6();
|
|
2321
2321
|
web.insert(_el$, () => year().label);
|
|
2322
2322
|
web.effect(() => _el$.value = year().value);
|
|
2323
2323
|
return _el$;
|
|
@@ -2731,7 +2731,10 @@ const FileUploadItemPreviewImage = props => {
|
|
|
2731
2731
|
const fileUpload = useFileUploadContext();
|
|
2732
2732
|
const itemProps = useFileUploadItemPropsContext();
|
|
2733
2733
|
const [url, setUrl] = solidJs.createSignal('');
|
|
2734
|
-
|
|
2734
|
+
solidJs.createEffect(() => {
|
|
2735
|
+
const cleanup = fileUpload().createFileUrl(itemProps.file, url => setUrl(url));
|
|
2736
|
+
solidJs.onCleanup(cleanup);
|
|
2737
|
+
});
|
|
2735
2738
|
const mergedProps = solid.mergeProps(fileUpload().getItemPreviewImageProps({
|
|
2736
2739
|
...itemProps,
|
|
2737
2740
|
url: url()
|
|
@@ -2879,7 +2882,7 @@ const FrameContent = props => {
|
|
|
2879
2882
|
return children;
|
|
2880
2883
|
};
|
|
2881
2884
|
|
|
2882
|
-
var _tmpl$$
|
|
2885
|
+
var _tmpl$$5 = /*#__PURE__*/web.template(`<iframe>`);
|
|
2883
2886
|
const resetStyle = '<style>*,*::before,*::after { margin: 0; padding: 0; box-sizing: border-box; }</style>';
|
|
2884
2887
|
const initialSrcDoc = `<html><head>${resetStyle}</head><body><div class="frame-root"></div></body></html>`;
|
|
2885
2888
|
function getMountNode(frame) {
|
|
@@ -2927,7 +2930,7 @@ const Frame = props => {
|
|
|
2927
2930
|
return web.createComponent(EnvironmentProvider, {
|
|
2928
2931
|
value: () => frameRef()?.contentDocument ?? document,
|
|
2929
2932
|
get children() {
|
|
2930
|
-
var _el$ = _tmpl$$
|
|
2933
|
+
var _el$ = _tmpl$$5();
|
|
2931
2934
|
var _ref$ = composeRefs(setFrameRef, localProps.ref);
|
|
2932
2935
|
typeof _ref$ === "function" && web.use(_ref$, _el$);
|
|
2933
2936
|
web.spread(_el$, localProps, false, true);
|
|
@@ -2978,7 +2981,7 @@ const useHighlight = props => {
|
|
|
2978
2981
|
return solidJs.createMemo(() => highlightWord.highlightWord(props));
|
|
2979
2982
|
};
|
|
2980
2983
|
|
|
2981
|
-
var _tmpl$$
|
|
2984
|
+
var _tmpl$$4 = /*#__PURE__*/web.template(`<mark>`);
|
|
2982
2985
|
const Highlight = props => {
|
|
2983
2986
|
if (typeof props.text !== 'string') {
|
|
2984
2987
|
throw new Error('[ark-ui/highlight] text must be a string');
|
|
@@ -2997,7 +3000,7 @@ const Highlight = props => {
|
|
|
2997
3000
|
return chunk.text;
|
|
2998
3001
|
},
|
|
2999
3002
|
get children() {
|
|
3000
|
-
var _el$ = _tmpl$$
|
|
3003
|
+
var _el$ = _tmpl$$4();
|
|
3001
3004
|
web.spread(_el$, localProps, false, true);
|
|
3002
3005
|
web.insert(_el$, () => chunk.text);
|
|
3003
3006
|
return _el$;
|
|
@@ -4384,11 +4387,11 @@ const [SegmentGroupProvider, useSegmentGroupContext] = createContext({
|
|
|
4384
4387
|
const SegmentGroupContext = props => props.children(useSegmentGroupContext());
|
|
4385
4388
|
|
|
4386
4389
|
const segmentGroupAnatomy = radio.anatomy.rename('segment-group');
|
|
4387
|
-
const parts = segmentGroupAnatomy.build();
|
|
4390
|
+
const parts$1 = segmentGroupAnatomy.build();
|
|
4388
4391
|
|
|
4389
4392
|
const SegmentGroupIndicator = props => {
|
|
4390
4393
|
const segmentGroup = useSegmentGroupContext();
|
|
4391
|
-
const mergedProps = solid.mergeProps(() => segmentGroup().getIndicatorProps(), parts.indicator.attrs, props);
|
|
4394
|
+
const mergedProps = solid.mergeProps(() => segmentGroup().getIndicatorProps(), parts$1.indicator.attrs, props);
|
|
4392
4395
|
return web.createComponent(ark.div, mergedProps);
|
|
4393
4396
|
};
|
|
4394
4397
|
|
|
@@ -4405,7 +4408,7 @@ const [SegmentGroupItemPropsProvider, useSegmentGroupItemPropsContext] = createC
|
|
|
4405
4408
|
const SegmentGroupItem = props => {
|
|
4406
4409
|
const [itemProps, localProps] = createSplitProps()(props, ['value', 'disabled', 'invalid']);
|
|
4407
4410
|
const segmentGroup = useSegmentGroupContext();
|
|
4408
|
-
const mergedProps = solid.mergeProps(() => segmentGroup().getItemProps(itemProps), parts.item.attrs, localProps);
|
|
4411
|
+
const mergedProps = solid.mergeProps(() => segmentGroup().getItemProps(itemProps), parts$1.item.attrs, localProps);
|
|
4409
4412
|
const itemState = solidJs.createMemo(() => segmentGroup().getItemState(itemProps));
|
|
4410
4413
|
return web.createComponent(SegmentGroupItemPropsProvider, {
|
|
4411
4414
|
value: itemProps,
|
|
@@ -4425,7 +4428,7 @@ const SegmentGroupItemContext = props => props.children(useSegmentGroupItemConte
|
|
|
4425
4428
|
const SegmentGroupItemControl = props => {
|
|
4426
4429
|
const segmentGroup = useSegmentGroupContext();
|
|
4427
4430
|
const itemProps = useSegmentGroupItemPropsContext();
|
|
4428
|
-
const mergedProps = solid.mergeProps(() => segmentGroup().getItemControlProps(itemProps), parts.itemControl.attrs, props);
|
|
4431
|
+
const mergedProps = solid.mergeProps(() => segmentGroup().getItemControlProps(itemProps), parts$1.itemControl.attrs, props);
|
|
4429
4432
|
return web.createComponent(ark.div, mergedProps);
|
|
4430
4433
|
};
|
|
4431
4434
|
|
|
@@ -4439,13 +4442,13 @@ const SegmentGroupItemHiddenInput = props => {
|
|
|
4439
4442
|
const SegmentGroupItemText = props => {
|
|
4440
4443
|
const segmentGroup = useSegmentGroupContext();
|
|
4441
4444
|
const itemProps = useSegmentGroupItemPropsContext();
|
|
4442
|
-
const mergedProps = solid.mergeProps(() => segmentGroup().getItemTextProps(itemProps), parts.itemText.attrs, props);
|
|
4445
|
+
const mergedProps = solid.mergeProps(() => segmentGroup().getItemTextProps(itemProps), parts$1.itemText.attrs, props);
|
|
4443
4446
|
return web.createComponent(ark.span, mergedProps);
|
|
4444
4447
|
};
|
|
4445
4448
|
|
|
4446
4449
|
const SegmentGroupLabel = props => {
|
|
4447
4450
|
const segmentGroup = useSegmentGroupContext();
|
|
4448
|
-
const mergedProps = solid.mergeProps(() => segmentGroup().getLabelProps(), parts.label.attrs, props);
|
|
4451
|
+
const mergedProps = solid.mergeProps(() => segmentGroup().getLabelProps(), parts$1.label.attrs, props);
|
|
4449
4452
|
return web.createComponent(ark.label, mergedProps);
|
|
4450
4453
|
};
|
|
4451
4454
|
|
|
@@ -4469,7 +4472,7 @@ const useSegmentGroup = props => {
|
|
|
4469
4472
|
const SegmentGroupRoot = props => {
|
|
4470
4473
|
const [useSegmentGroupProps, localProps] = createSplitProps()(props, ['defaultValue', 'disabled', 'form', 'id', 'ids', 'name', 'onValueChange', 'orientation', 'readOnly', 'value']);
|
|
4471
4474
|
const segmentGroup = useSegmentGroup(useSegmentGroupProps);
|
|
4472
|
-
const mergedProps = solid.mergeProps(() => segmentGroup().getRootProps(), parts.root.attrs, localProps);
|
|
4475
|
+
const mergedProps = solid.mergeProps(() => segmentGroup().getRootProps(), parts$1.root.attrs, localProps);
|
|
4473
4476
|
return web.createComponent(SegmentGroupProvider, {
|
|
4474
4477
|
value: segmentGroup,
|
|
4475
4478
|
get children() {
|
|
@@ -4482,7 +4485,7 @@ const SegmentGroupRootProvider = props => {
|
|
|
4482
4485
|
const [{
|
|
4483
4486
|
value: segmentGroup
|
|
4484
4487
|
}, localProps] = createSplitProps()(props, ['value']);
|
|
4485
|
-
const mergedProps = solid.mergeProps(() => segmentGroup().getRootProps(), parts.root.attrs, localProps);
|
|
4488
|
+
const mergedProps = solid.mergeProps(() => segmentGroup().getRootProps(), parts$1.root.attrs, localProps);
|
|
4486
4489
|
return web.createComponent(SegmentGroupProvider, {
|
|
4487
4490
|
value: segmentGroup,
|
|
4488
4491
|
get children() {
|
|
@@ -4539,7 +4542,7 @@ const SelectControl = props => {
|
|
|
4539
4542
|
return web.createComponent(ark.div, mergedProps);
|
|
4540
4543
|
};
|
|
4541
4544
|
|
|
4542
|
-
var _tmpl$$
|
|
4545
|
+
var _tmpl$$3 = /*#__PURE__*/web.template(`<option value="">`),
|
|
4543
4546
|
_tmpl$2$1 = /*#__PURE__*/web.template(`<option>`);
|
|
4544
4547
|
const SelectHiddenSelect = props => {
|
|
4545
4548
|
const select = useSelectContext();
|
|
@@ -4557,7 +4560,7 @@ const SelectHiddenSelect = props => {
|
|
|
4557
4560
|
return isValueEmpty();
|
|
4558
4561
|
},
|
|
4559
4562
|
get children() {
|
|
4560
|
-
return _tmpl$$
|
|
4563
|
+
return _tmpl$$3();
|
|
4561
4564
|
}
|
|
4562
4565
|
}), web.createComponent(solidJs.Index, {
|
|
4563
4566
|
get each() {
|
|
@@ -4890,14 +4893,14 @@ const SignaturePadRootProvider = props => {
|
|
|
4890
4893
|
});
|
|
4891
4894
|
};
|
|
4892
4895
|
|
|
4893
|
-
var _tmpl$$
|
|
4896
|
+
var _tmpl$$2 = /*#__PURE__*/web.template(`<title>Signature`),
|
|
4894
4897
|
_tmpl$2 = /*#__PURE__*/web.template(`<svg><path></svg>`, false, true);
|
|
4895
4898
|
const SignaturePadSegment = props => {
|
|
4896
4899
|
const signaturePad = useSignaturePadContext();
|
|
4897
4900
|
const mergedProps = solid.mergeProps(() => signaturePad().getSegmentProps(), props);
|
|
4898
4901
|
return web.createComponent(ark.svg, web.mergeProps(mergedProps, {
|
|
4899
4902
|
get children() {
|
|
4900
|
-
return [_tmpl$$
|
|
4903
|
+
return [_tmpl$$2(), web.createComponent(solidJs.For, {
|
|
4901
4904
|
get each() {
|
|
4902
4905
|
return signaturePad().paths;
|
|
4903
4906
|
},
|
|
@@ -6007,12 +6010,12 @@ const ToastDescription = props => {
|
|
|
6007
6010
|
return web.createComponent(ark.div, mergedProps);
|
|
6008
6011
|
};
|
|
6009
6012
|
|
|
6010
|
-
var _tmpl
|
|
6013
|
+
var _tmpl$$1 = /*#__PURE__*/web.template(`<div><div></div><div>`);
|
|
6011
6014
|
const ToastRoot = props => {
|
|
6012
6015
|
const toast = useToastContext();
|
|
6013
6016
|
const mergedProps = solid.mergeProps(() => toast().getRootProps(), props);
|
|
6014
6017
|
return (() => {
|
|
6015
|
-
var _el$ = _tmpl
|
|
6018
|
+
var _el$ = _tmpl$$1(),
|
|
6016
6019
|
_el$2 = _el$.firstChild,
|
|
6017
6020
|
_el$3 = _el$2.nextSibling;
|
|
6018
6021
|
web.spread(_el$, mergedProps, false, true);
|
|
@@ -6074,6 +6077,103 @@ var toast = /*#__PURE__*/Object.freeze({
|
|
|
6074
6077
|
Title: ToastTitle
|
|
6075
6078
|
});
|
|
6076
6079
|
|
|
6080
|
+
const [ToggleProvider, useToggleContext] = createContext({
|
|
6081
|
+
hookName: 'useToggleContext',
|
|
6082
|
+
providerName: '<ToggleProvider />'
|
|
6083
|
+
});
|
|
6084
|
+
|
|
6085
|
+
const ToggleContext = props => props.children(useToggleContext());
|
|
6086
|
+
|
|
6087
|
+
const ToggleIndicator = props => {
|
|
6088
|
+
const {
|
|
6089
|
+
children,
|
|
6090
|
+
fallback,
|
|
6091
|
+
...restProps
|
|
6092
|
+
} = props;
|
|
6093
|
+
const toggle = useToggleContext();
|
|
6094
|
+
const mergedProps = solid.mergeProps(() => toggle().getIndicatorProps(), restProps);
|
|
6095
|
+
return web.createComponent(ark.div, web.mergeProps(mergedProps, {
|
|
6096
|
+
get children() {
|
|
6097
|
+
return web.createComponent(solidJs.Show, {
|
|
6098
|
+
get when() {
|
|
6099
|
+
return toggle().pressed;
|
|
6100
|
+
},
|
|
6101
|
+
fallback: fallback,
|
|
6102
|
+
children: children
|
|
6103
|
+
});
|
|
6104
|
+
}
|
|
6105
|
+
}));
|
|
6106
|
+
};
|
|
6107
|
+
|
|
6108
|
+
const toggleAnatomy = anatomy.createAnatomy('toggle', ['root', 'indicator']);
|
|
6109
|
+
const parts = toggleAnatomy.build();
|
|
6110
|
+
|
|
6111
|
+
function useToggle(props) {
|
|
6112
|
+
const {
|
|
6113
|
+
defaultPressed,
|
|
6114
|
+
pressed,
|
|
6115
|
+
onPressedChange,
|
|
6116
|
+
disabled
|
|
6117
|
+
} = props;
|
|
6118
|
+
const [pressedState, setPressedState] = useControllableState({
|
|
6119
|
+
defaultValue: !!defaultPressed,
|
|
6120
|
+
value: pressed,
|
|
6121
|
+
onChange: onPressedChange
|
|
6122
|
+
});
|
|
6123
|
+
return solidJs.createMemo(() => ({
|
|
6124
|
+
pressed: pressedState(),
|
|
6125
|
+
disabled: !!disabled,
|
|
6126
|
+
setPressed: setPressedState,
|
|
6127
|
+
getRootProps() {
|
|
6128
|
+
return {
|
|
6129
|
+
...parts.root.attrs,
|
|
6130
|
+
type: 'button',
|
|
6131
|
+
disabled,
|
|
6132
|
+
'aria-pressed': pressedState(),
|
|
6133
|
+
'data-state': pressedState() ? 'on' : 'off',
|
|
6134
|
+
'data-pressed': domQuery.dataAttr(pressedState()),
|
|
6135
|
+
'data-disabled': domQuery.dataAttr(disabled),
|
|
6136
|
+
onClick(event) {
|
|
6137
|
+
if (event.defaultPrevented) return;
|
|
6138
|
+
if (disabled) return;
|
|
6139
|
+
setPressedState(!pressedState());
|
|
6140
|
+
}
|
|
6141
|
+
};
|
|
6142
|
+
},
|
|
6143
|
+
getIndicatorProps() {
|
|
6144
|
+
return {
|
|
6145
|
+
...parts.indicator.attrs,
|
|
6146
|
+
'data-disabled': domQuery.dataAttr(disabled),
|
|
6147
|
+
'data-pressed': domQuery.dataAttr(pressedState()),
|
|
6148
|
+
'data-state': pressedState() ? 'on' : 'off'
|
|
6149
|
+
};
|
|
6150
|
+
}
|
|
6151
|
+
}));
|
|
6152
|
+
}
|
|
6153
|
+
|
|
6154
|
+
var _tmpl$ = /*#__PURE__*/web.template(`<button>`);
|
|
6155
|
+
const ToggleRoot = props => {
|
|
6156
|
+
const [useToggleProps, localProps] = createSplitProps()(props, ['pressed', 'defaultPressed', 'disabled', 'onPressedChange']);
|
|
6157
|
+
const toggle = useToggle(useToggleProps);
|
|
6158
|
+
const mergedProps = solid.mergeProps(() => toggle().getRootProps(), localProps);
|
|
6159
|
+
return web.createComponent(ToggleProvider, {
|
|
6160
|
+
value: toggle,
|
|
6161
|
+
get children() {
|
|
6162
|
+
var _el$ = _tmpl$();
|
|
6163
|
+
web.spread(_el$, mergedProps, false, false);
|
|
6164
|
+
return _el$;
|
|
6165
|
+
}
|
|
6166
|
+
});
|
|
6167
|
+
};
|
|
6168
|
+
|
|
6169
|
+
var toggle = /*#__PURE__*/Object.freeze({
|
|
6170
|
+
__proto__: null,
|
|
6171
|
+
Context: ToggleContext,
|
|
6172
|
+
Indicator: ToggleIndicator,
|
|
6173
|
+
Root: ToggleRoot,
|
|
6174
|
+
toggleAnatomy: toggleAnatomy
|
|
6175
|
+
});
|
|
6176
|
+
|
|
6077
6177
|
const [ToggleGroupProvider, useToggleGroupContext] = createContext({
|
|
6078
6178
|
hookName: 'useToggleGroupContext',
|
|
6079
6179
|
providerName: '<ToggleGroupProvider />'
|
|
@@ -7032,11 +7132,15 @@ exports.ToastDescription = ToastDescription;
|
|
|
7032
7132
|
exports.ToastRoot = ToastRoot;
|
|
7033
7133
|
exports.ToastTitle = ToastTitle;
|
|
7034
7134
|
exports.Toaster = Toaster;
|
|
7135
|
+
exports.Toggle = toggle;
|
|
7136
|
+
exports.ToggleContext = ToggleContext;
|
|
7035
7137
|
exports.ToggleGroup = toggleGroup;
|
|
7036
7138
|
exports.ToggleGroupContext = ToggleGroupContext;
|
|
7037
7139
|
exports.ToggleGroupItem = ToggleGroupItem;
|
|
7038
7140
|
exports.ToggleGroupRoot = ToggleGroupRoot;
|
|
7039
7141
|
exports.ToggleGroupRootProvider = ToggleGroupRootProvider;
|
|
7142
|
+
exports.ToggleIndicator = ToggleIndicator;
|
|
7143
|
+
exports.ToggleRoot = ToggleRoot;
|
|
7040
7144
|
exports.Tooltip = tooltip;
|
|
7041
7145
|
exports.TooltipArrow = TooltipArrow;
|
|
7042
7146
|
exports.TooltipArrowTip = TooltipArrowTip;
|
|
@@ -7073,6 +7177,7 @@ exports.fieldAnatomy = fieldAnatomy;
|
|
|
7073
7177
|
exports.fieldsetAnatomy = fieldsetAnatomy;
|
|
7074
7178
|
exports.segmentGroupAnatomy = segmentGroupAnatomy;
|
|
7075
7179
|
exports.splitPresenceProps = splitPresenceProps;
|
|
7180
|
+
exports.toggleAnatomy = toggleAnatomy;
|
|
7076
7181
|
exports.useAccordion = useAccordion;
|
|
7077
7182
|
exports.useAccordionContext = useAccordionContext;
|
|
7078
7183
|
exports.useAccordionItemContext = useAccordionItemContext;
|
|
@@ -7158,6 +7263,8 @@ exports.useTimePickerContext = useTimePickerContext;
|
|
|
7158
7263
|
exports.useTimer = useTimer;
|
|
7159
7264
|
exports.useTimerContext = useTimerContext;
|
|
7160
7265
|
exports.useToastContext = useToastContext;
|
|
7266
|
+
exports.useToggle = useToggle;
|
|
7267
|
+
exports.useToggleContext = useToggleContext;
|
|
7161
7268
|
exports.useToggleGroup = useToggleGroup;
|
|
7162
7269
|
exports.useToggleGroupContext = useToggleGroupContext;
|
|
7163
7270
|
exports.useTooltip = useTooltip;
|