@ark-ui/solid 2.0.1 → 2.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/CHANGELOG.md +35 -0
- package/cjs/index.js +147 -67
- package/cjs/index.js.map +1 -1
- package/esm/index.js +146 -68
- package/esm/index.js.map +1 -1
- package/package.json +52 -47
- package/source/color-picker/use-color-picker.js +1 -0
- package/source/date-picker/date-picker-input.jsx +3 -1
- package/source/date-picker/date-picker-preset-trigger.jsx +10 -0
- package/source/date-picker/date-picker.jsx +2 -1
- package/source/date-picker/index.js +2 -1
- package/source/date-picker/use-date-picker.js +1 -0
- package/source/dialog/dialog-description.jsx +1 -1
- package/source/dialog/use-dialog.js +1 -1
- package/source/hover-card/use-hover-card.js +1 -1
- package/source/menu/use-menu.js +1 -1
- package/source/popover/popover-description.jsx +1 -1
- package/source/popover/use-popover.js +1 -1
- package/source/select/select-control.jsx +5 -1
- package/source/select/use-select.js +6 -1
- package/source/tooltip/use-tooltip.js +1 -1
- package/source/tree-view/index.js +2 -1
- package/source/tree-view/tree-view-branch-content.jsx +3 -8
- package/source/tree-view/tree-view-branch-context.js +5 -0
- package/source/tree-view/tree-view-branch-control.jsx +3 -8
- package/source/tree-view/tree-view-branch-indicator.jsx +5 -8
- package/source/tree-view/tree-view-branch-text.jsx +3 -8
- package/source/tree-view/tree-view-branch-trigger.jsx +4 -9
- package/source/tree-view/tree-view-branch.jsx +10 -7
- package/source/tree-view/tree-view-depth-context.js +5 -0
- package/source/tree-view/tree-view-item-context.js +5 -0
- package/source/tree-view/tree-view-item-indicator.jsx +10 -0
- package/source/tree-view/tree-view-item-text.jsx +3 -5
- package/source/tree-view/tree-view-item.jsx +8 -3
- package/source/tree-view/tree-view-tree.jsx +4 -1
- package/source/tree-view/tree-view.jsx +2 -1
- package/types/color-picker/use-color-picker.d.ts +1 -1
- package/types/date-picker/date-picker-input.d.ts +4 -2
- package/types/date-picker/date-picker-preset-trigger.d.ts +6 -0
- package/types/date-picker/date-picker.d.ts +2 -1
- package/types/date-picker/index.d.ts +3 -2
- package/types/date-picker/use-date-picker.d.ts +1 -1
- package/types/dialog/dialog-description.d.ts +2 -2
- package/types/dialog/use-dialog.d.ts +1 -1
- package/types/hover-card/use-hover-card.d.ts +1 -1
- package/types/menu/index.d.ts +2 -2
- package/types/menu/use-menu.d.ts +1 -1
- package/types/popover/popover-description.d.ts +2 -2
- package/types/popover/use-popover.d.ts +1 -1
- package/types/select/use-select.d.ts +1 -1
- package/types/tooltip/use-tooltip.d.ts +1 -1
- package/types/tree-view/index.d.ts +3 -2
- package/types/tree-view/tree-view-branch-content.d.ts +2 -4
- package/types/tree-view/tree-view-branch-context.d.ts +6 -0
- package/types/tree-view/tree-view-branch-control.d.ts +2 -4
- package/types/tree-view/tree-view-branch-indicator.d.ts +2 -4
- package/types/tree-view/tree-view-branch-text.d.ts +2 -4
- package/types/tree-view/tree-view-branch-trigger.d.ts +2 -4
- package/types/tree-view/tree-view-branch.d.ts +4 -3
- package/types/tree-view/tree-view-context.d.ts +0 -16
- package/types/tree-view/tree-view-depth-context.d.ts +2 -0
- package/types/tree-view/tree-view-item-context.d.ts +6 -0
- package/types/tree-view/tree-view-item-indicator.d.ts +4 -0
- package/types/tree-view/tree-view-item-text.d.ts +2 -4
- package/types/tree-view/tree-view-item.d.ts +2 -1
- package/types/tree-view/tree-view.d.ts +2 -1
package/CHANGELOG.md
CHANGED
|
@@ -6,11 +6,46 @@ description: All notable changes to this project will be documented in this file
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
+
## [2.1.0] - 2024-02-14
|
|
10
|
+
|
|
11
|
+
### Added
|
|
12
|
+
|
|
13
|
+
- Introduced `Clipboard` component. Refer to the [documentation](https://ark-ui.com/docs/components/clipboard) for details.
|
|
14
|
+
- Implemented programmable control over the open state for `ColorPicker`, `DatePicker`, `Dialog`, `HoverCard`, `Menu`, `Popover`, `Select`, and `Tooltip`.
|
|
15
|
+
- Exported `SelectionDetails` type for the `Menu` component.
|
|
16
|
+
- Added a `PresetTrigger` part to the `DatePicker` component, enabling custom triggers for common date presets (e.g., Last 7 days, Last 30 days).
|
|
17
|
+
- Enhanced the `DatePicker.Control` component to support multiple inputs by introducing an optional `index` attribute to `DatePicker.Input`. Example usage:
|
|
18
|
+
|
|
19
|
+
```jsx
|
|
20
|
+
<DatePicker.Control>
|
|
21
|
+
<DatePicker.Input index={0} />
|
|
22
|
+
<DatePicker.Input index={1} />
|
|
23
|
+
</DatePicker.Control>
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
### Changed
|
|
27
|
+
|
|
28
|
+
- Refined the `TreeView` component API for streamlined component usage. See the [documentation](https://ark-ui.com/docs/components/tree-view) for details.
|
|
29
|
+
- Updated `Dialog.Description` and `Popover.Description` elements from `p` to `div` for better paragraph handling.
|
|
30
|
+
- Altered `TreeView.BranchTrigger` element from `button` to `div` for accessibility enhancements.
|
|
31
|
+
|
|
32
|
+
### Fixed
|
|
33
|
+
|
|
34
|
+
- Resolved unintentional interactions when clicking the scrollbar.
|
|
35
|
+
- Addressed an issue where positioned components failed to adjust to window resizing.
|
|
36
|
+
- Corrected a behavior where restoring scroll position triggered a smooth scroll effect back to the starting point.
|
|
37
|
+
- Rectified a problem in `Combobox`, `Menu`, and `Select` where scrolling into view inadvertently scrolled the body element.
|
|
38
|
+
- Fixed a discrepancy in `DatePicker` regarding the incorrect display of weeks when setting `startOfWeek`.
|
|
39
|
+
- Solved an issue in the `Editable` preventing text deletion upon reaching `maxLength`.
|
|
40
|
+
- Corrected an issue in the `Select` where an item group's label `id` was misdirected.
|
|
41
|
+
- Adjusted `Select` to use the correct `id` for the `aria-activedescendant` attribute.
|
|
42
|
+
|
|
9
43
|
## [2.0.1] - 2024-01-30
|
|
10
44
|
|
|
11
45
|
### Fixed
|
|
12
46
|
|
|
13
47
|
- Resolved an issue that for some components the types were not being generated correctly.
|
|
48
|
+
- Fix issue where `Select` component submits its first option when used in a form, even if there is no value selected.
|
|
14
49
|
|
|
15
50
|
## [2.0.0] - 2024-01-30
|
|
16
51
|
|
package/cjs/index.js
CHANGED
|
@@ -267,7 +267,7 @@ const [EnvironmentProvider, useEnvironmentContext] = createContext({
|
|
|
267
267
|
strict: false
|
|
268
268
|
});
|
|
269
269
|
|
|
270
|
-
|
|
270
|
+
var _tmpl$$c = /*#__PURE__*/web.template(`<span hidden>`);
|
|
271
271
|
const Environment = props => {
|
|
272
272
|
// eslint-disable-next-line prefer-const
|
|
273
273
|
let spanRef = undefined;
|
|
@@ -278,8 +278,8 @@ const Environment = props => {
|
|
|
278
278
|
},
|
|
279
279
|
get children() {
|
|
280
280
|
return [web.memo(() => props.children), web.memo(() => web.memo(() => !!!props.value)() && (() => {
|
|
281
|
-
|
|
282
|
-
|
|
281
|
+
var _el$ = _tmpl$$c();
|
|
282
|
+
var _ref$ = spanRef;
|
|
283
283
|
typeof _ref$ === "function" ? web.use(_ref$, _el$) : spanRef = _el$;
|
|
284
284
|
return _el$;
|
|
285
285
|
})())];
|
|
@@ -475,12 +475,12 @@ const [CheckboxProvider, useCheckboxContext] = createContext({
|
|
|
475
475
|
providerName: '<CheckboxProvider />'
|
|
476
476
|
});
|
|
477
477
|
|
|
478
|
-
|
|
478
|
+
var _tmpl$$b = /*#__PURE__*/web.template(`<input>`);
|
|
479
479
|
const CheckboxControl = props => {
|
|
480
480
|
const api = useCheckboxContext();
|
|
481
481
|
const mergedProps = solid.mergeProps(() => api().controlProps, props);
|
|
482
482
|
return [web.createComponent(ark.div, mergedProps), (() => {
|
|
483
|
-
|
|
483
|
+
var _el$ = _tmpl$$b();
|
|
484
484
|
web.spread(_el$, web.mergeProps(() => api().hiddenInputProps), false, false);
|
|
485
485
|
return _el$;
|
|
486
486
|
})()];
|
|
@@ -687,7 +687,8 @@ const useColorPicker = props => {
|
|
|
687
687
|
const context = solid.mergeProps(() => ({
|
|
688
688
|
id: solidJs.createUniqueId(),
|
|
689
689
|
getRootNode,
|
|
690
|
-
value: local.value ? colorPicker__namespace.parse(local.value) : undefined
|
|
690
|
+
value: local.value ? colorPicker__namespace.parse(local.value) : undefined,
|
|
691
|
+
'open.controlled': props.open !== undefined
|
|
691
692
|
}), rest);
|
|
692
693
|
const [state, send] = solid.useMachine(colorPicker__namespace.machine(context), {
|
|
693
694
|
context
|
|
@@ -695,7 +696,7 @@ const useColorPicker = props => {
|
|
|
695
696
|
return solidJs.createMemo(() => colorPicker__namespace.connect(state, send, solid.normalizeProps));
|
|
696
697
|
};
|
|
697
698
|
|
|
698
|
-
|
|
699
|
+
var _tmpl$$a = /*#__PURE__*/web.template(`<input>`);
|
|
699
700
|
const ColorPickerRoot = props => {
|
|
700
701
|
const [presenceProps, colorPickerProps] = splitPresenceProps(props);
|
|
701
702
|
const [useColorPickerProps, localProps] = createSplitProps()(colorPickerProps, ['closeOnSelect', 'dir', 'disabled', 'format', 'getRootNode', 'id', 'ids', 'initialFocusEl', 'name', 'name', 'onFocusOutside', 'onFormatChange', 'onInteractOutside', 'onOpenChange', 'onPointerDownOutside', 'onValueChange', 'onValueChangeEnd', 'open', 'positioning', 'readOnly', 'value']);
|
|
@@ -718,7 +719,7 @@ const ColorPickerRoot = props => {
|
|
|
718
719
|
}));
|
|
719
720
|
}
|
|
720
721
|
}), (() => {
|
|
721
|
-
|
|
722
|
+
var _el$ = _tmpl$$a();
|
|
722
723
|
web.spread(_el$, web.mergeProps(() => api().hiddenInputProps), false, false);
|
|
723
724
|
return _el$;
|
|
724
725
|
})()];
|
|
@@ -1038,8 +1039,9 @@ const DatePickerControl = props => {
|
|
|
1038
1039
|
};
|
|
1039
1040
|
|
|
1040
1041
|
const DatePickerInput = props => {
|
|
1042
|
+
const [inputProps, localProps] = createSplitProps()(props, ['index']);
|
|
1041
1043
|
const api = useDatePickerContext();
|
|
1042
|
-
const mergedProps = solid.mergeProps(() => api().inputProps,
|
|
1044
|
+
const mergedProps = solid.mergeProps(() => api().getInputProps(inputProps), localProps);
|
|
1043
1045
|
return web.createComponent(ark.input, mergedProps);
|
|
1044
1046
|
};
|
|
1045
1047
|
|
|
@@ -1049,14 +1051,14 @@ const DatePickerLabel = props => {
|
|
|
1049
1051
|
return web.createComponent(ark.label, mergedProps);
|
|
1050
1052
|
};
|
|
1051
1053
|
|
|
1052
|
-
|
|
1054
|
+
var _tmpl$$9 = /*#__PURE__*/web.template(`<option>`);
|
|
1053
1055
|
const DatePickerMonthSelect = props => {
|
|
1054
1056
|
const api = useDatePickerContext();
|
|
1055
1057
|
const mergedProps = solid.mergeProps(() => api().monthSelectProps, props);
|
|
1056
1058
|
return web.createComponent(ark.select, web.mergeProps(mergedProps, {
|
|
1057
1059
|
get children() {
|
|
1058
1060
|
return api().getMonths().map(month => (() => {
|
|
1059
|
-
|
|
1061
|
+
var _el$ = _tmpl$$9();
|
|
1060
1062
|
web.insert(_el$, () => month.label);
|
|
1061
1063
|
web.effect(() => _el$.value = month.value);
|
|
1062
1064
|
return _el$;
|
|
@@ -1091,6 +1093,13 @@ const DatePickerPositioner = props => {
|
|
|
1091
1093
|
});
|
|
1092
1094
|
};
|
|
1093
1095
|
|
|
1096
|
+
const DatePickerPresetTrigger = props => {
|
|
1097
|
+
const [presetTriggerProps, localProps] = createSplitProps()(props, ['value']);
|
|
1098
|
+
const api = useDatePickerContext();
|
|
1099
|
+
const mergedProps = solid.mergeProps(() => api().getPresetTriggerProps(presetTriggerProps), localProps);
|
|
1100
|
+
return web.createComponent(ark.button, mergedProps);
|
|
1101
|
+
};
|
|
1102
|
+
|
|
1094
1103
|
const DatePickerPrevTrigger = props => {
|
|
1095
1104
|
const api = useDatePickerContext();
|
|
1096
1105
|
const viewProps = useDatePickerViewContext();
|
|
@@ -1115,7 +1124,8 @@ const useDatePicker = props => {
|
|
|
1115
1124
|
id: solidJs.createUniqueId(),
|
|
1116
1125
|
getRootNode,
|
|
1117
1126
|
focusedValue: local.focusedValue ? datePicker__namespace.parse(local.focusedValue) : undefined,
|
|
1118
|
-
value: local.value ? datePicker__namespace.parse(local.value) : undefined
|
|
1127
|
+
value: local.value ? datePicker__namespace.parse(local.value) : undefined,
|
|
1128
|
+
'open.controlled': props.open !== undefined
|
|
1119
1129
|
}), rest);
|
|
1120
1130
|
const [state, send] = solid.useMachine(datePicker__namespace.machine(context), {
|
|
1121
1131
|
context
|
|
@@ -1280,7 +1290,7 @@ const DatePickerViewTrigger = props => {
|
|
|
1280
1290
|
return web.createComponent(ark.button, mergedProps);
|
|
1281
1291
|
};
|
|
1282
1292
|
|
|
1283
|
-
|
|
1293
|
+
var _tmpl$$8 = /*#__PURE__*/web.template(`<option>`);
|
|
1284
1294
|
const DatePickerYearSelect = props => {
|
|
1285
1295
|
const api = useDatePickerContext();
|
|
1286
1296
|
const mergedProps = solid.mergeProps(() => api().yearSelectProps, props);
|
|
@@ -1290,7 +1300,7 @@ const DatePickerYearSelect = props => {
|
|
|
1290
1300
|
from: 1_000,
|
|
1291
1301
|
to: 4_000
|
|
1292
1302
|
}).map(year => (() => {
|
|
1293
|
-
|
|
1303
|
+
var _el$ = _tmpl$$8();
|
|
1294
1304
|
_el$.value = year;
|
|
1295
1305
|
web.insert(_el$, year);
|
|
1296
1306
|
return _el$;
|
|
@@ -1316,6 +1326,7 @@ var datePicker = /*#__PURE__*/Object.freeze({
|
|
|
1316
1326
|
MonthSelect: DatePickerMonthSelect,
|
|
1317
1327
|
NextTrigger: DatePickerNextTrigger,
|
|
1318
1328
|
Positioner: DatePickerPositioner,
|
|
1329
|
+
PresetTrigger: DatePickerPresetTrigger,
|
|
1319
1330
|
PrevTrigger: DatePickerPrevTrigger,
|
|
1320
1331
|
RangeText: DatePickerRangeText,
|
|
1321
1332
|
Root: DatePickerRoot,
|
|
@@ -1378,7 +1389,7 @@ const DialogContent = props => {
|
|
|
1378
1389
|
const DialogDescription = props => {
|
|
1379
1390
|
const dialog = useDialogContext();
|
|
1380
1391
|
const mergedProps = solid.mergeProps(() => dialog().descriptionProps, props);
|
|
1381
|
-
return web.createComponent(ark.
|
|
1392
|
+
return web.createComponent(ark.div, mergedProps);
|
|
1382
1393
|
};
|
|
1383
1394
|
|
|
1384
1395
|
const DialogPositioner = props => {
|
|
@@ -1399,7 +1410,8 @@ const useDialog = props => {
|
|
|
1399
1410
|
const getRootNode = useEnvironmentContext();
|
|
1400
1411
|
const context = solid.mergeProps({
|
|
1401
1412
|
id: solidJs.createUniqueId(),
|
|
1402
|
-
getRootNode
|
|
1413
|
+
getRootNode,
|
|
1414
|
+
'open.controlled': props.open !== undefined
|
|
1403
1415
|
}, props);
|
|
1404
1416
|
const [state, send] = solid.useMachine(dialog__namespace.machine(context), {
|
|
1405
1417
|
context
|
|
@@ -1560,12 +1572,12 @@ const [FileUploadProvider, useFileUploadContext] = createContext({
|
|
|
1560
1572
|
providerName: '<FileUploadProvider />'
|
|
1561
1573
|
});
|
|
1562
1574
|
|
|
1563
|
-
|
|
1575
|
+
var _tmpl$$7 = /*#__PURE__*/web.template(`<input>`);
|
|
1564
1576
|
const FileUploadDropzone = props => {
|
|
1565
1577
|
const api = useFileUploadContext();
|
|
1566
1578
|
const mergedProps = solid.mergeProps(() => api().dropzoneProps, props);
|
|
1567
1579
|
return [web.createComponent(ark.div, mergedProps), (() => {
|
|
1568
|
-
|
|
1580
|
+
var _el$ = _tmpl$$7();
|
|
1569
1581
|
web.spread(_el$, web.mergeProps(() => api().hiddenInputProps), false, false);
|
|
1570
1582
|
return _el$;
|
|
1571
1583
|
})()];
|
|
@@ -1760,7 +1772,8 @@ const useHoverCard = props => {
|
|
|
1760
1772
|
const getRootNode = useEnvironmentContext();
|
|
1761
1773
|
const context = solid.mergeProps({
|
|
1762
1774
|
id: solidJs.createUniqueId(),
|
|
1763
|
-
getRootNode
|
|
1775
|
+
getRootNode,
|
|
1776
|
+
'open.controlled': props.open !== undefined
|
|
1764
1777
|
}, props);
|
|
1765
1778
|
const [state, send] = solid.useMachine(hoverCard__namespace.machine(context), {
|
|
1766
1779
|
context
|
|
@@ -1907,7 +1920,8 @@ const useMenu = props => {
|
|
|
1907
1920
|
const getRootNode = useEnvironmentContext();
|
|
1908
1921
|
const context = solid.mergeProps({
|
|
1909
1922
|
id: solidJs.createUniqueId(),
|
|
1910
|
-
getRootNode
|
|
1923
|
+
getRootNode,
|
|
1924
|
+
'open.controlled': props.open !== undefined
|
|
1911
1925
|
}, props);
|
|
1912
1926
|
const [state, send, machine] = solid.useMachine(menu__namespace.machine(context), {
|
|
1913
1927
|
context
|
|
@@ -2184,7 +2198,7 @@ const usePinInput = props => {
|
|
|
2184
2198
|
return solidJs.createMemo(() => pinInput__namespace.connect(state, send, solid.normalizeProps));
|
|
2185
2199
|
};
|
|
2186
2200
|
|
|
2187
|
-
|
|
2201
|
+
var _tmpl$$6 = /*#__PURE__*/web.template(`<input>`);
|
|
2188
2202
|
const PinInputRoot = props => {
|
|
2189
2203
|
const [usePinInputProps, localProps] = createSplitProps()(props, ['autoFocus', 'blurOnComplete', 'dir', 'disabled', 'form', 'getRootNode', 'id', 'ids', 'invalid', 'mask', 'name', 'onValueChange', 'onValueComplete', 'onValueInvalid', 'otp', 'pattern', 'placeholder', 'selectOnFocus', 'translations', 'type', 'value']);
|
|
2190
2204
|
const api = usePinInput(usePinInputProps);
|
|
@@ -2193,7 +2207,7 @@ const PinInputRoot = props => {
|
|
|
2193
2207
|
value: api,
|
|
2194
2208
|
get children() {
|
|
2195
2209
|
return [web.createComponent(ark.div, mergedProps), (() => {
|
|
2196
|
-
|
|
2210
|
+
var _el$ = _tmpl$$6();
|
|
2197
2211
|
web.spread(_el$, web.mergeProps(() => api().hiddenInputProps), false, false);
|
|
2198
2212
|
return _el$;
|
|
2199
2213
|
})()];
|
|
@@ -2255,7 +2269,7 @@ const PopoverContent = props => {
|
|
|
2255
2269
|
const PopoverDescription = props => {
|
|
2256
2270
|
const api = usePopoverContext();
|
|
2257
2271
|
const mergedProps = solid.mergeProps(() => api().descriptionProps, props);
|
|
2258
|
-
return web.createComponent(ark.
|
|
2272
|
+
return web.createComponent(ark.div, mergedProps);
|
|
2259
2273
|
};
|
|
2260
2274
|
|
|
2261
2275
|
const PopoverIndicator = props => {
|
|
@@ -2282,7 +2296,8 @@ const usePopover = props => {
|
|
|
2282
2296
|
const getRootNode = useEnvironmentContext();
|
|
2283
2297
|
const context = solid.mergeProps({
|
|
2284
2298
|
id: solidJs.createUniqueId(),
|
|
2285
|
-
getRootNode
|
|
2299
|
+
getRootNode,
|
|
2300
|
+
'open.controlled': props.open !== undefined
|
|
2286
2301
|
}, props);
|
|
2287
2302
|
const [state, send] = solid.useMachine(popover__namespace.machine(context), {
|
|
2288
2303
|
context
|
|
@@ -2476,13 +2491,13 @@ const RadioGroupItem = props => {
|
|
|
2476
2491
|
});
|
|
2477
2492
|
};
|
|
2478
2493
|
|
|
2479
|
-
|
|
2494
|
+
var _tmpl$$5 = /*#__PURE__*/web.template(`<input>`);
|
|
2480
2495
|
const RadioGroupItemControl = props => {
|
|
2481
2496
|
const api = useRadioGroupContext();
|
|
2482
2497
|
const itemProps = useRadioGroupItemContext();
|
|
2483
2498
|
const mergedProps = solid.mergeProps(() => api().getItemControlProps(itemProps), props);
|
|
2484
2499
|
return [web.createComponent(ark.div, mergedProps), (() => {
|
|
2485
|
-
|
|
2500
|
+
var _el$ = _tmpl$$5();
|
|
2486
2501
|
web.spread(_el$, web.mergeProps(() => api().getItemHiddenInputProps(itemProps)), false, false);
|
|
2487
2502
|
return _el$;
|
|
2488
2503
|
})()];
|
|
@@ -2540,7 +2555,7 @@ const [RatingGroupProvider, useRatingGroupContext] = createContext({
|
|
|
2540
2555
|
providerName: '<RatingGroupProvider />'
|
|
2541
2556
|
});
|
|
2542
2557
|
|
|
2543
|
-
|
|
2558
|
+
var _tmpl$$4 = /*#__PURE__*/web.template(`<input>`);
|
|
2544
2559
|
const RatingGroupControl = props => {
|
|
2545
2560
|
const api = useRatingGroupContext();
|
|
2546
2561
|
const mergedProps = solid.mergeProps(() => api().controlProps, props);
|
|
@@ -2550,7 +2565,7 @@ const RatingGroupControl = props => {
|
|
|
2550
2565
|
return getChildren();
|
|
2551
2566
|
}
|
|
2552
2567
|
})), (() => {
|
|
2553
|
-
|
|
2568
|
+
var _el$ = _tmpl$$4();
|
|
2554
2569
|
web.spread(_el$, web.mergeProps(() => api().hiddenInputProps), false, false);
|
|
2555
2570
|
return _el$;
|
|
2556
2571
|
})()];
|
|
@@ -2651,13 +2666,13 @@ const SegmentGroupItem = props => {
|
|
|
2651
2666
|
});
|
|
2652
2667
|
};
|
|
2653
2668
|
|
|
2654
|
-
|
|
2669
|
+
var _tmpl$$3 = /*#__PURE__*/web.template(`<input>`);
|
|
2655
2670
|
const SegmentGroupItemControl = props => {
|
|
2656
2671
|
const api = useSegmentGroupContext();
|
|
2657
2672
|
const itemProps = useSegmentGroupItemContext();
|
|
2658
2673
|
const mergedProps = solid.mergeProps(() => api().getItemControlProps(itemProps), anatomy.segmentGroupAnatomy.build().itemControl.attrs, props);
|
|
2659
2674
|
return [web.createComponent(ark.div, mergedProps), (() => {
|
|
2660
|
-
|
|
2675
|
+
var _el$ = _tmpl$$3();
|
|
2661
2676
|
web.spread(_el$, web.mergeProps(() => api().getItemHiddenInputProps(itemProps)), false, false);
|
|
2662
2677
|
return _el$;
|
|
2663
2678
|
})()];
|
|
@@ -2736,25 +2751,35 @@ const SelectContent = props => {
|
|
|
2736
2751
|
});
|
|
2737
2752
|
};
|
|
2738
2753
|
|
|
2739
|
-
|
|
2740
|
-
_tmpl$2 = /*#__PURE__*/web.template(`<
|
|
2754
|
+
var _tmpl$$2 = /*#__PURE__*/web.template(`<option value="">`),
|
|
2755
|
+
_tmpl$2 = /*#__PURE__*/web.template(`<select>`),
|
|
2756
|
+
_tmpl$3 = /*#__PURE__*/web.template(`<option>`);
|
|
2741
2757
|
const SelectControl = props => {
|
|
2742
2758
|
const api = useSelectContext();
|
|
2743
2759
|
const mergedProps = solid.mergeProps(() => api().controlProps, props);
|
|
2760
|
+
const isValueEmpty = solidJs.createMemo(() => api().value.length === 0);
|
|
2744
2761
|
return [web.createComponent(ark.div, mergedProps), (() => {
|
|
2745
|
-
|
|
2762
|
+
var _el$ = _tmpl$2();
|
|
2746
2763
|
web.spread(_el$, web.mergeProps(() => api().hiddenSelectProps), false, true);
|
|
2764
|
+
web.insert(_el$, web.createComponent(solidJs.Show, {
|
|
2765
|
+
get when() {
|
|
2766
|
+
return isValueEmpty();
|
|
2767
|
+
},
|
|
2768
|
+
get children() {
|
|
2769
|
+
return _tmpl$$2();
|
|
2770
|
+
}
|
|
2771
|
+
}), null);
|
|
2747
2772
|
web.insert(_el$, web.createComponent(solidJs.Index, {
|
|
2748
2773
|
get each() {
|
|
2749
2774
|
return api().collection.toArray();
|
|
2750
2775
|
},
|
|
2751
2776
|
children: option => (() => {
|
|
2752
|
-
|
|
2753
|
-
web.insert(_el$
|
|
2754
|
-
web.effect(() => _el$
|
|
2755
|
-
return _el$
|
|
2777
|
+
var _el$3 = _tmpl$3();
|
|
2778
|
+
web.insert(_el$3, () => option().label);
|
|
2779
|
+
web.effect(() => _el$3.value = option().value);
|
|
2780
|
+
return _el$3;
|
|
2756
2781
|
})()
|
|
2757
|
-
}));
|
|
2782
|
+
}), null);
|
|
2758
2783
|
return _el$;
|
|
2759
2784
|
})()];
|
|
2760
2785
|
};
|
|
@@ -2844,7 +2869,8 @@ const useSelect = props => {
|
|
|
2844
2869
|
const context = () => solid.mergeProps({
|
|
2845
2870
|
id: solidJs.createUniqueId(),
|
|
2846
2871
|
getRootNode,
|
|
2847
|
-
collection: collection()
|
|
2872
|
+
collection: collection(),
|
|
2873
|
+
'open.controlled': props.open !== undefined
|
|
2848
2874
|
}, rest);
|
|
2849
2875
|
const [state, send] = solid.useMachine(select__namespace.machine(context()), {
|
|
2850
2876
|
context
|
|
@@ -3074,12 +3100,12 @@ const [SwitchProvider, useSwitchContext] = createContext({
|
|
|
3074
3100
|
providerName: '<SwitchProvider />'
|
|
3075
3101
|
});
|
|
3076
3102
|
|
|
3077
|
-
|
|
3103
|
+
var _tmpl$$1 = /*#__PURE__*/web.template(`<input>`);
|
|
3078
3104
|
const SwitchControl = props => {
|
|
3079
3105
|
const api = useSwitchContext();
|
|
3080
3106
|
const mergedProps = solid.mergeProps(() => api().controlProps, props);
|
|
3081
3107
|
return [web.createComponent(ark.span, mergedProps), (() => {
|
|
3082
|
-
|
|
3108
|
+
var _el$ = _tmpl$$1();
|
|
3083
3109
|
web.spread(_el$, web.mergeProps(() => api().hiddenInputProps), false, false);
|
|
3084
3110
|
return _el$;
|
|
3085
3111
|
})()];
|
|
@@ -3311,7 +3337,7 @@ const useTagsInput = props => {
|
|
|
3311
3337
|
return solidJs.createMemo(() => tagsInput__namespace.connect(state, send, solid.normalizeProps));
|
|
3312
3338
|
};
|
|
3313
3339
|
|
|
3314
|
-
|
|
3340
|
+
var _tmpl$ = /*#__PURE__*/web.template(`<input>`);
|
|
3315
3341
|
const TagsInputRoot = props => {
|
|
3316
3342
|
const [tagsInputParams, restProps] = createSplitProps()(props, ['addOnPaste', 'allowEditTag', 'allowOverflow', 'autoFocus', 'blurBehavior', 'delimiter', 'dir', 'disabled', 'form', 'getRootNode', 'id', 'ids', 'inputValue', 'invalid', 'max', 'maxLength', 'name', 'onFocusOutside', 'onHighlightChange', 'onInteractOutside', 'onPointerDownOutside', 'onValueChange', 'onValueInvalid', 'readOnly', 'translations', 'validate', 'value']);
|
|
3317
3343
|
const api = useTagsInput(tagsInputParams);
|
|
@@ -3325,7 +3351,7 @@ const TagsInputRoot = props => {
|
|
|
3325
3351
|
return getChildren();
|
|
3326
3352
|
}
|
|
3327
3353
|
})), (() => {
|
|
3328
|
-
|
|
3354
|
+
var _el$ = _tmpl$();
|
|
3329
3355
|
web.spread(_el$, web.mergeProps(() => api().hiddenInputProps), false, false);
|
|
3330
3356
|
return _el$;
|
|
3331
3357
|
})()];
|
|
@@ -3526,7 +3552,8 @@ const useTooltip = props => {
|
|
|
3526
3552
|
const getRootNode = useEnvironmentContext();
|
|
3527
3553
|
const context = solid.mergeProps({
|
|
3528
3554
|
id: solidJs.createUniqueId(),
|
|
3529
|
-
getRootNode
|
|
3555
|
+
getRootNode,
|
|
3556
|
+
'open.controlled': props.open !== undefined
|
|
3530
3557
|
}, props);
|
|
3531
3558
|
const [state, send] = solid.useMachine(tooltip__namespace.machine(context), {
|
|
3532
3559
|
context
|
|
@@ -3571,76 +3598,121 @@ var tooltip = /*#__PURE__*/Object.freeze({
|
|
|
3571
3598
|
Trigger: TooltipTrigger
|
|
3572
3599
|
});
|
|
3573
3600
|
|
|
3574
|
-
|
|
3601
|
+
const [TreeViewBranchProvider, useTreeViewBranchContext] = createContext({
|
|
3602
|
+
hookName: 'useTreeViewBranchContext',
|
|
3603
|
+
providerName: '<TreeViewBranchProvider />'
|
|
3604
|
+
});
|
|
3575
3605
|
|
|
3576
3606
|
const [TreeViewProvider, useTreeViewContext] = createContext({
|
|
3577
3607
|
hookName: 'useTreeViewContext',
|
|
3578
3608
|
providerName: '<TreeViewProvider />'
|
|
3579
3609
|
});
|
|
3580
3610
|
|
|
3611
|
+
const [TreeViewDepthProvider, useTreeViewDepthContext] = createContext({
|
|
3612
|
+
hookName: 'useTreeViewDepthContext',
|
|
3613
|
+
providerName: '<TreeViewDepthProvider />'
|
|
3614
|
+
});
|
|
3615
|
+
|
|
3581
3616
|
const TreeViewBranch = props => {
|
|
3582
|
-
const [
|
|
3617
|
+
const [itemProps, localProps] = createSplitProps()(props, ['disabled', 'id']);
|
|
3583
3618
|
const api = useTreeViewContext();
|
|
3619
|
+
const depth = useTreeViewDepthContext();
|
|
3620
|
+
const branchProps = solid.mergeProps(itemProps, {
|
|
3621
|
+
depth
|
|
3622
|
+
});
|
|
3584
3623
|
const mergedProps = solid.mergeProps(() => api().getBranchProps(branchProps), localProps);
|
|
3585
3624
|
const getChildren = () => runIfFn(localProps.children, () => api().getBranchState(branchProps));
|
|
3586
|
-
return web.createComponent(
|
|
3625
|
+
return web.createComponent(TreeViewDepthProvider, {
|
|
3626
|
+
value: depth + 1,
|
|
3587
3627
|
get children() {
|
|
3588
|
-
return
|
|
3628
|
+
return web.createComponent(TreeViewBranchProvider, {
|
|
3629
|
+
value: branchProps,
|
|
3630
|
+
get children() {
|
|
3631
|
+
return web.createComponent(ark.li, web.mergeProps(mergedProps, {
|
|
3632
|
+
get children() {
|
|
3633
|
+
return getChildren();
|
|
3634
|
+
}
|
|
3635
|
+
}));
|
|
3636
|
+
}
|
|
3637
|
+
});
|
|
3589
3638
|
}
|
|
3590
|
-
})
|
|
3639
|
+
});
|
|
3591
3640
|
};
|
|
3592
3641
|
|
|
3593
3642
|
const TreeViewBranchContent = props => {
|
|
3594
|
-
const [branchProps, localProps] = createSplitProps()(props, ['depth', 'id', 'disabled']);
|
|
3595
3643
|
const api = useTreeViewContext();
|
|
3596
|
-
const
|
|
3644
|
+
const branchProps = useTreeViewBranchContext();
|
|
3645
|
+
const mergedProps = solid.mergeProps(() => api().getBranchContentProps(branchProps), props);
|
|
3597
3646
|
return web.createComponent(ark.ul, mergedProps);
|
|
3598
3647
|
};
|
|
3599
3648
|
|
|
3600
3649
|
const TreeViewBranchControl = props => {
|
|
3601
|
-
const [branchProps, localProps] = createSplitProps()(props, ['depth', 'id', 'disabled']);
|
|
3602
3650
|
const api = useTreeViewContext();
|
|
3603
|
-
const
|
|
3651
|
+
const branchProps = useTreeViewBranchContext();
|
|
3652
|
+
const mergedProps = solid.mergeProps(() => api().getBranchControlProps(branchProps), props);
|
|
3604
3653
|
return web.createComponent(ark.div, mergedProps);
|
|
3605
3654
|
};
|
|
3606
3655
|
|
|
3607
3656
|
const TreeViewBranchIndicator = props => {
|
|
3608
|
-
const [branchProps, localProps] = createSplitProps()(props, ['depth', 'id', 'disabled']);
|
|
3609
3657
|
const api = useTreeViewContext();
|
|
3610
|
-
const
|
|
3658
|
+
const branchProps = useTreeViewBranchContext();
|
|
3659
|
+
const mergedProps = solid.mergeProps(() => api().getBranchProps(branchProps),
|
|
3660
|
+
// TODO use api.getBranchIndicatorProps() when available
|
|
3661
|
+
anatomy.treeViewAnatomy.build().branchIndicator.attrs, props);
|
|
3611
3662
|
return web.createComponent(ark.div, mergedProps);
|
|
3612
3663
|
};
|
|
3613
3664
|
|
|
3614
3665
|
const TreeViewBranchText = props => {
|
|
3615
|
-
const [branchProps, localProps] = createSplitProps()(props, ['depth', 'id', 'disabled']);
|
|
3616
3666
|
const api = useTreeViewContext();
|
|
3617
|
-
const
|
|
3667
|
+
const branchProps = useTreeViewBranchContext();
|
|
3668
|
+
const mergedProps = solid.mergeProps(() => api().getBranchTextProps(branchProps), props);
|
|
3618
3669
|
return web.createComponent(ark.span, mergedProps);
|
|
3619
3670
|
};
|
|
3620
3671
|
|
|
3621
3672
|
const TreeViewBranchTrigger = props => {
|
|
3622
|
-
const [branchProps, localProps] = createSplitProps()(props, ['depth', 'id', 'disabled']);
|
|
3623
3673
|
const api = useTreeViewContext();
|
|
3624
|
-
const
|
|
3625
|
-
|
|
3674
|
+
const branchProps = useTreeViewBranchContext();
|
|
3675
|
+
const mergedProps = solid.mergeProps(() => api().getBranchTriggerProps(branchProps), props);
|
|
3676
|
+
return web.createComponent(ark.div, mergedProps);
|
|
3626
3677
|
};
|
|
3627
3678
|
|
|
3679
|
+
const [TreeViewItemProvider, useTreeViewItemContext] = createContext({
|
|
3680
|
+
hookName: 'useTreeViewItemContext',
|
|
3681
|
+
providerName: '<TreeViewItemProvider />'
|
|
3682
|
+
});
|
|
3683
|
+
|
|
3628
3684
|
const TreeViewItem = props => {
|
|
3629
|
-
const [
|
|
3685
|
+
const [_itemProps, localProps] = createSplitProps()(props, ['id', 'disabled']);
|
|
3630
3686
|
const api = useTreeViewContext();
|
|
3687
|
+
const depth = useTreeViewDepthContext();
|
|
3688
|
+
const itemProps = solid.mergeProps(_itemProps, {
|
|
3689
|
+
depth
|
|
3690
|
+
});
|
|
3631
3691
|
const mergedProps = solid.mergeProps(() => api().getItemProps(itemProps), localProps);
|
|
3632
3692
|
const getChildren = () => runIfFn(localProps.children, () => api().getItemState(itemProps));
|
|
3633
|
-
return web.createComponent(
|
|
3693
|
+
return web.createComponent(TreeViewItemProvider, {
|
|
3694
|
+
value: itemProps,
|
|
3634
3695
|
get children() {
|
|
3635
|
-
return
|
|
3696
|
+
return web.createComponent(ark.li, web.mergeProps(mergedProps, {
|
|
3697
|
+
get children() {
|
|
3698
|
+
return getChildren();
|
|
3699
|
+
}
|
|
3700
|
+
}));
|
|
3636
3701
|
}
|
|
3637
|
-
})
|
|
3702
|
+
});
|
|
3703
|
+
};
|
|
3704
|
+
|
|
3705
|
+
const TreeViewItemIndicator = props => {
|
|
3706
|
+
const api = useTreeViewContext();
|
|
3707
|
+
const itemProps = useTreeViewItemContext();
|
|
3708
|
+
const mergedProps = solid.mergeProps(() => api().getItemIndicatorProps(itemProps), props);
|
|
3709
|
+
return web.createComponent(ark.div, mergedProps);
|
|
3638
3710
|
};
|
|
3639
3711
|
|
|
3640
3712
|
const TreeViewItemText = props => {
|
|
3641
|
-
const [itemProps, localProps] = createSplitProps()(props, ['depth', 'id', 'disabled']);
|
|
3642
3713
|
const api = useTreeViewContext();
|
|
3643
|
-
const
|
|
3714
|
+
const itemProps = useTreeViewItemContext();
|
|
3715
|
+
const mergedProps = solid.mergeProps(() => api().getItemTextProps(itemProps), props);
|
|
3644
3716
|
return web.createComponent(ark.span, mergedProps);
|
|
3645
3717
|
};
|
|
3646
3718
|
|
|
@@ -3682,7 +3754,12 @@ const TreeViewRoot = props => {
|
|
|
3682
3754
|
const TreeViewTree = props => {
|
|
3683
3755
|
const api = useTreeViewContext();
|
|
3684
3756
|
const mergedProps = solid.mergeProps(() => api().treeProps, props);
|
|
3685
|
-
return web.createComponent(
|
|
3757
|
+
return web.createComponent(TreeViewDepthProvider, {
|
|
3758
|
+
value: 1,
|
|
3759
|
+
get children() {
|
|
3760
|
+
return web.createComponent(ark.ul, mergedProps);
|
|
3761
|
+
}
|
|
3762
|
+
});
|
|
3686
3763
|
};
|
|
3687
3764
|
|
|
3688
3765
|
var treeView = /*#__PURE__*/Object.freeze({
|
|
@@ -3694,6 +3771,7 @@ var treeView = /*#__PURE__*/Object.freeze({
|
|
|
3694
3771
|
BranchText: TreeViewBranchText,
|
|
3695
3772
|
BranchTrigger: TreeViewBranchTrigger,
|
|
3696
3773
|
Item: TreeViewItem,
|
|
3774
|
+
ItemIndicator: TreeViewItemIndicator,
|
|
3697
3775
|
ItemText: TreeViewItemText,
|
|
3698
3776
|
Label: TreeViewLabel,
|
|
3699
3777
|
Root: TreeViewRoot,
|
|
@@ -3772,6 +3850,7 @@ exports.DatePickerLabel = DatePickerLabel;
|
|
|
3772
3850
|
exports.DatePickerMonthSelect = DatePickerMonthSelect;
|
|
3773
3851
|
exports.DatePickerNextTrigger = DatePickerNextTrigger;
|
|
3774
3852
|
exports.DatePickerPositioner = DatePickerPositioner;
|
|
3853
|
+
exports.DatePickerPresetTrigger = DatePickerPresetTrigger;
|
|
3775
3854
|
exports.DatePickerPrevTrigger = DatePickerPrevTrigger;
|
|
3776
3855
|
exports.DatePickerRangeText = DatePickerRangeText;
|
|
3777
3856
|
exports.DatePickerRoot = DatePickerRoot;
|
|
@@ -3978,6 +4057,7 @@ exports.TreeViewBranchIndicator = TreeViewBranchIndicator;
|
|
|
3978
4057
|
exports.TreeViewBranchText = TreeViewBranchText;
|
|
3979
4058
|
exports.TreeViewBranchTrigger = TreeViewBranchTrigger;
|
|
3980
4059
|
exports.TreeViewItem = TreeViewItem;
|
|
4060
|
+
exports.TreeViewItemIndicator = TreeViewItemIndicator;
|
|
3981
4061
|
exports.TreeViewItemText = TreeViewItemText;
|
|
3982
4062
|
exports.TreeViewLabel = TreeViewLabel;
|
|
3983
4063
|
exports.TreeViewRoot = TreeViewRoot;
|