@proyecto-viviana/solidaria-components 0.3.1 → 0.4.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/ActionBar.js +184 -0
- package/dist/ActionBar.js.map +1 -0
- package/dist/ActionBar.jsx +128 -0
- package/dist/ActionBar.jsx.map +1 -0
- package/dist/ActionGroup.js +179 -0
- package/dist/ActionGroup.js.map +1 -0
- package/dist/ActionGroup.jsx +129 -0
- package/dist/ActionGroup.jsx.map +1 -0
- package/dist/Alert.js +111 -0
- package/dist/Alert.js.map +1 -0
- package/dist/Alert.jsx +82 -0
- package/dist/Alert.jsx.map +1 -0
- package/dist/Autocomplete.js +130 -0
- package/dist/Autocomplete.js.map +1 -0
- package/dist/Autocomplete.jsx +116 -0
- package/dist/Autocomplete.jsx.map +1 -0
- package/dist/Breadcrumbs.d.ts.map +1 -1
- package/dist/Breadcrumbs.js +334 -0
- package/dist/Breadcrumbs.js.map +1 -0
- package/dist/Breadcrumbs.jsx +266 -0
- package/dist/Breadcrumbs.jsx.map +1 -0
- package/dist/Button.d.ts.map +1 -1
- package/dist/Button.js +348 -0
- package/dist/Button.js.map +1 -0
- package/dist/Button.jsx +314 -0
- package/dist/Button.jsx.map +1 -0
- package/dist/Calendar.d.ts +4 -4
- package/dist/Calendar.d.ts.map +1 -1
- package/dist/Calendar.js +538 -0
- package/dist/Calendar.js.map +1 -0
- package/dist/Calendar.jsx +333 -0
- package/dist/Calendar.jsx.map +1 -0
- package/dist/CalendarPicker.d.ts +33 -0
- package/dist/CalendarPicker.d.ts.map +1 -0
- package/dist/CalendarPicker.js +44 -0
- package/dist/CalendarPicker.js.map +1 -0
- package/dist/CalendarPicker.jsx +44 -0
- package/dist/CalendarPicker.jsx.map +1 -0
- package/dist/Checkbox.d.ts +83 -4
- package/dist/Checkbox.d.ts.map +1 -1
- package/dist/Checkbox.js +923 -0
- package/dist/Checkbox.js.map +1 -0
- package/dist/Checkbox.jsx +707 -0
- package/dist/Checkbox.jsx.map +1 -0
- package/dist/Collection.d.ts.map +1 -1
- package/dist/Collection.js +202 -0
- package/dist/Collection.js.map +1 -0
- package/dist/Collection.jsx +152 -0
- package/dist/Collection.jsx.map +1 -0
- package/dist/Color.d.ts.map +1 -1
- package/dist/Color.js +1720 -0
- package/dist/Color.js.map +1 -0
- package/dist/Color.jsx +1344 -0
- package/dist/Color.jsx.map +1 -0
- package/dist/ColorEditor.js +208 -0
- package/dist/ColorEditor.js.map +1 -0
- package/dist/ColorEditor.jsx +120 -0
- package/dist/ColorEditor.jsx.map +1 -0
- package/dist/ComboBox.d.ts +8 -5
- package/dist/ComboBox.d.ts.map +1 -1
- package/dist/ComboBox.js +992 -0
- package/dist/ComboBox.js.map +1 -0
- package/dist/ComboBox.jsx +714 -0
- package/dist/ComboBox.jsx.map +1 -0
- package/dist/ContextualHelpTrigger.js +146 -0
- package/dist/ContextualHelpTrigger.js.map +1 -0
- package/dist/ContextualHelpTrigger.jsx +109 -0
- package/dist/ContextualHelpTrigger.jsx.map +1 -0
- package/dist/DateField.d.ts +3 -3
- package/dist/DateField.d.ts.map +1 -1
- package/dist/DateField.js +4 -0
- package/dist/DateField.jsx +4 -0
- package/dist/DateField2.js +499 -0
- package/dist/DateField2.js.map +1 -0
- package/dist/DateField2.jsx +317 -0
- package/dist/DateField2.jsx.map +1 -0
- package/dist/DatePicker.d.ts +4 -4
- package/dist/DatePicker.d.ts.map +1 -1
- package/dist/DatePicker.js +991 -0
- package/dist/DatePicker.js.map +1 -0
- package/dist/DatePicker.jsx +682 -0
- package/dist/DatePicker.jsx.map +1 -0
- package/dist/Dialog.d.ts.map +1 -1
- package/dist/Dialog.js +337 -0
- package/dist/Dialog.js.map +1 -0
- package/dist/Dialog.jsx +192 -0
- package/dist/Dialog.jsx.map +1 -0
- package/dist/Disclosure.d.ts.map +1 -1
- package/dist/Disclosure.js +328 -0
- package/dist/Disclosure.js.map +1 -0
- package/dist/Disclosure.jsx +230 -0
- package/dist/Disclosure.jsx.map +1 -0
- package/dist/DragAndDrop.d.ts.map +1 -1
- package/dist/DragAndDrop.js +176 -0
- package/dist/DragAndDrop.js.map +1 -0
- package/dist/DragAndDrop.jsx +160 -0
- package/dist/DragAndDrop.jsx.map +1 -0
- package/dist/DropZone.d.ts.map +1 -1
- package/dist/DropZone.js +189 -0
- package/dist/DropZone.js.map +1 -0
- package/dist/DropZone.jsx +144 -0
- package/dist/DropZone.jsx.map +1 -0
- package/dist/FieldError.js +66 -0
- package/dist/FieldError.js.map +1 -0
- package/dist/FieldError.jsx +47 -0
- package/dist/FieldError.jsx.map +1 -0
- package/dist/FileTrigger.js +79 -0
- package/dist/FileTrigger.js.map +1 -0
- package/dist/FileTrigger.jsx +49 -0
- package/dist/FileTrigger.jsx.map +1 -0
- package/dist/Focusable.js +70 -0
- package/dist/Focusable.js.map +1 -0
- package/dist/Focusable.jsx +69 -0
- package/dist/Focusable.jsx.map +1 -0
- package/dist/Form.js +99 -0
- package/dist/Form.js.map +1 -0
- package/dist/Form.jsx +73 -0
- package/dist/Form.jsx.map +1 -0
- package/dist/GridList.d.ts +34 -2
- package/dist/GridList.d.ts.map +1 -1
- package/dist/GridList.js +723 -0
- package/dist/GridList.js.map +1 -0
- package/dist/GridList.jsx +552 -0
- package/dist/GridList.jsx.map +1 -0
- package/dist/HiddenTimeInput.js +104 -0
- package/dist/HiddenTimeInput.js.map +1 -0
- package/dist/HiddenTimeInput.jsx +69 -0
- package/dist/HiddenTimeInput.jsx.map +1 -0
- package/dist/Icon.d.ts.map +1 -1
- package/dist/Icon.js +127 -0
- package/dist/Icon.js.map +1 -0
- package/dist/Icon.jsx +72 -0
- package/dist/Icon.jsx.map +1 -0
- package/dist/Keyboard.js +30 -0
- package/dist/Keyboard.js.map +1 -0
- package/dist/Keyboard.jsx +24 -0
- package/dist/Keyboard.jsx.map +1 -0
- package/dist/Landmark.js +134 -0
- package/dist/Landmark.js.map +1 -0
- package/dist/Landmark.jsx +118 -0
- package/dist/Landmark.jsx.map +1 -0
- package/dist/Link.d.ts.map +1 -1
- package/dist/Link.js +219 -0
- package/dist/Link.js.map +1 -0
- package/dist/Link.jsx +189 -0
- package/dist/Link.jsx.map +1 -0
- package/dist/ListBox.d.ts.map +1 -1
- package/dist/ListBox.js +670 -0
- package/dist/ListBox.js.map +1 -0
- package/dist/ListBox.jsx +508 -0
- package/dist/ListBox.jsx.map +1 -0
- package/dist/Menu.d.ts +27 -9
- package/dist/Menu.d.ts.map +1 -1
- package/dist/Menu.js +1254 -0
- package/dist/Menu.js.map +1 -0
- package/dist/Menu.jsx +1042 -0
- package/dist/Menu.jsx.map +1 -0
- package/dist/Meter.d.ts.map +1 -1
- package/dist/Meter.js +123 -0
- package/dist/Meter.js.map +1 -0
- package/dist/Meter.jsx +107 -0
- package/dist/Meter.jsx.map +1 -0
- package/dist/Modal.d.ts.map +1 -1
- package/dist/Modal.js +380 -0
- package/dist/Modal.js.map +1 -0
- package/dist/Modal.jsx +314 -0
- package/dist/Modal.jsx.map +1 -0
- package/dist/NumberField.d.ts +3 -3
- package/dist/NumberField.d.ts.map +1 -1
- package/dist/NumberField.js +573 -0
- package/dist/NumberField.js.map +1 -0
- package/dist/NumberField.jsx +443 -0
- package/dist/NumberField.jsx.map +1 -0
- package/dist/Popover.d.ts +10 -2
- package/dist/Popover.d.ts.map +1 -1
- package/dist/Popover.js +464 -0
- package/dist/Popover.js.map +1 -0
- package/dist/Popover.jsx +333 -0
- package/dist/Popover.jsx.map +1 -0
- package/dist/Pressable.js +69 -0
- package/dist/Pressable.js.map +1 -0
- package/dist/Pressable.jsx +68 -0
- package/dist/Pressable.jsx.map +1 -0
- package/dist/ProgressBar.d.ts.map +1 -1
- package/dist/ProgressBar.js +130 -0
- package/dist/ProgressBar.js.map +1 -0
- package/dist/ProgressBar.jsx +114 -0
- package/dist/ProgressBar.jsx.map +1 -0
- package/dist/RadioGroup.d.ts +82 -4
- package/dist/RadioGroup.d.ts.map +1 -1
- package/dist/RadioGroup.js +931 -0
- package/dist/RadioGroup.js.map +1 -0
- package/dist/RadioGroup.jsx +681 -0
- package/dist/RadioGroup.jsx.map +1 -0
- package/dist/RangeCalendar.d.ts.map +1 -1
- package/dist/RangeCalendar.js +410 -0
- package/dist/RangeCalendar.js.map +1 -0
- package/dist/RangeCalendar.jsx +253 -0
- package/dist/RangeCalendar.jsx.map +1 -0
- package/dist/RouterProvider.js +118 -0
- package/dist/RouterProvider.js.map +1 -0
- package/dist/RouterProvider.jsx +112 -0
- package/dist/RouterProvider.jsx.map +1 -0
- package/dist/SearchField.d.ts +2 -2
- package/dist/SearchField.d.ts.map +1 -1
- package/dist/SearchField.js +643 -0
- package/dist/SearchField.js.map +1 -0
- package/dist/SearchField.jsx +526 -0
- package/dist/SearchField.jsx.map +1 -0
- package/dist/Select.d.ts.map +1 -1
- package/dist/Select.js +1031 -0
- package/dist/Select.js.map +1 -0
- package/dist/Select.jsx +744 -0
- package/dist/Select.jsx.map +1 -0
- package/dist/SelectionIndicator.d.ts.map +1 -1
- package/dist/SelectionIndicator.js +86 -0
- package/dist/SelectionIndicator.js.map +1 -0
- package/dist/SelectionIndicator.jsx +50 -0
- package/dist/SelectionIndicator.jsx.map +1 -0
- package/dist/Separator.js +97 -0
- package/dist/Separator.js.map +1 -0
- package/dist/Separator.jsx +85 -0
- package/dist/Separator.jsx.map +1 -0
- package/dist/SharedElementTransition.d.ts.map +1 -1
- package/dist/SharedElementTransition.js +165 -0
- package/dist/SharedElementTransition.js.map +1 -0
- package/dist/SharedElementTransition.jsx +138 -0
- package/dist/SharedElementTransition.jsx.map +1 -0
- package/dist/Slider.d.ts +33 -1
- package/dist/Slider.d.ts.map +1 -1
- package/dist/Slider.js +515 -0
- package/dist/Slider.js.map +1 -0
- package/dist/Slider.jsx +403 -0
- package/dist/Slider.jsx.map +1 -0
- package/dist/StepList.js +198 -0
- package/dist/StepList.js.map +1 -0
- package/dist/StepList.jsx +141 -0
- package/dist/StepList.jsx.map +1 -0
- package/dist/Switch.d.ts +65 -2
- package/dist/Switch.d.ts.map +1 -1
- package/dist/Switch.js +534 -0
- package/dist/Switch.js.map +1 -0
- package/dist/Switch.jsx +393 -0
- package/dist/Switch.jsx.map +1 -0
- package/dist/Table.d.ts +48 -0
- package/dist/Table.d.ts.map +1 -1
- package/dist/Table.js +1759 -0
- package/dist/Table.js.map +1 -0
- package/dist/Table.jsx +1348 -0
- package/dist/Table.jsx.map +1 -0
- package/dist/Tabs.d.ts +0 -4
- package/dist/Tabs.d.ts.map +1 -1
- package/dist/Tabs.js +595 -0
- package/dist/Tabs.js.map +1 -0
- package/dist/Tabs.jsx +367 -0
- package/dist/Tabs.jsx.map +1 -0
- package/dist/TagGroup.d.ts.map +1 -1
- package/dist/TagGroup.js +378 -0
- package/dist/TagGroup.js.map +1 -0
- package/dist/TagGroup.jsx +270 -0
- package/dist/TagGroup.jsx.map +1 -0
- package/dist/Text.d.ts +18 -6
- package/dist/Text.d.ts.map +1 -1
- package/dist/Text.js +42 -0
- package/dist/Text.js.map +1 -0
- package/dist/Text.jsx +35 -0
- package/dist/Text.jsx.map +1 -0
- package/dist/TextField.d.ts +7 -6
- package/dist/TextField.d.ts.map +1 -1
- package/dist/TextField.js +436 -0
- package/dist/TextField.js.map +1 -0
- package/dist/TextField.jsx +403 -0
- package/dist/TextField.jsx.map +1 -0
- package/dist/TimeField.d.ts +3 -3
- package/dist/TimeField.d.ts.map +1 -1
- package/dist/TimeField.js +372 -0
- package/dist/TimeField.js.map +1 -0
- package/dist/TimeField.jsx +224 -0
- package/dist/TimeField.jsx.map +1 -0
- package/dist/Toast.d.ts +14 -0
- package/dist/Toast.d.ts.map +1 -1
- package/dist/Toast.js +551 -0
- package/dist/Toast.js.map +1 -0
- package/dist/Toast.jsx +361 -0
- package/dist/Toast.jsx.map +1 -0
- package/dist/ToggleButton.d.ts.map +1 -1
- package/dist/ToggleButton.js +123 -0
- package/dist/ToggleButton.js.map +1 -0
- package/dist/ToggleButton.jsx +88 -0
- package/dist/ToggleButton.jsx.map +1 -0
- package/dist/ToggleButtonGroup.d.ts.map +1 -1
- package/dist/ToggleButtonGroup.js +114 -0
- package/dist/ToggleButtonGroup.js.map +1 -0
- package/dist/ToggleButtonGroup.jsx +85 -0
- package/dist/ToggleButtonGroup.jsx.map +1 -0
- package/dist/Toolbar.js +112 -0
- package/dist/Toolbar.js.map +1 -0
- package/dist/Toolbar.jsx +92 -0
- package/dist/Toolbar.jsx.map +1 -0
- package/dist/Tooltip.d.ts.map +1 -1
- package/dist/Tooltip.js +539 -0
- package/dist/Tooltip.js.map +1 -0
- package/dist/Tooltip.jsx +465 -0
- package/dist/Tooltip.jsx.map +1 -0
- package/dist/Tree.d.ts +14 -2
- package/dist/Tree.d.ts.map +1 -1
- package/dist/Tree.js +1424 -0
- package/dist/Tree.js.map +1 -0
- package/dist/Tree.jsx +1172 -0
- package/dist/Tree.jsx.map +1 -0
- package/dist/Virtualizer.d.ts +16 -2
- package/dist/Virtualizer.d.ts.map +1 -1
- package/dist/Virtualizer.js +2 -0
- package/dist/Virtualizer.jsx +2 -0
- package/dist/Virtualizer2.js +751 -0
- package/dist/Virtualizer2.js.map +1 -0
- package/dist/Virtualizer2.jsx +730 -0
- package/dist/Virtualizer2.jsx.map +1 -0
- package/dist/VirtualizerLayouts.d.ts +18 -0
- package/dist/VirtualizerLayouts.d.ts.map +1 -1
- package/dist/VisuallyHidden.js +42 -0
- package/dist/VisuallyHidden.js.map +1 -0
- package/dist/VisuallyHidden.jsx +35 -0
- package/dist/VisuallyHidden.jsx.map +1 -0
- package/dist/contexts.js +33 -0
- package/dist/contexts.js.map +1 -0
- package/dist/contexts.jsx +33 -0
- package/dist/contexts.jsx.map +1 -0
- package/dist/index.d.ts +7 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +70 -23711
- package/dist/index.jsx +70 -18116
- package/dist/useDragAndDrop.js +2 -0
- package/dist/useDragAndDrop.jsx +2 -0
- package/dist/useDragAndDrop2.js +395 -0
- package/dist/useDragAndDrop2.js.map +1 -0
- package/dist/useDragAndDrop2.jsx +395 -0
- package/dist/useDragAndDrop2.jsx.map +1 -0
- package/dist/utils.d.ts +83 -11
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +285 -0
- package/dist/utils.js.map +1 -0
- package/dist/utils.jsx +277 -0
- package/dist/utils.jsx.map +1 -0
- package/dist/virtualizer/Layout.js +144 -0
- package/dist/virtualizer/Layout.js.map +1 -0
- package/dist/virtualizer/Layout.jsx +144 -0
- package/dist/virtualizer/Layout.jsx.map +1 -0
- package/package.json +401 -4
- package/src/Breadcrumbs.tsx +3 -1
- package/src/Button.tsx +90 -23
- package/src/Calendar.tsx +27 -10
- package/src/CalendarPicker.tsx +73 -0
- package/src/Checkbox.tsx +539 -3
- package/src/Collection.tsx +9 -3
- package/src/Color.tsx +42 -14
- package/src/ComboBox.tsx +126 -14
- package/src/DateField.tsx +20 -2
- package/src/DatePicker.tsx +117 -10
- package/src/Dialog.tsx +13 -5
- package/src/Disclosure.tsx +3 -1
- package/src/DragAndDrop.tsx +3 -1
- package/src/DropZone.tsx +3 -1
- package/src/GridList.tsx +125 -24
- package/src/Icon.tsx +3 -1
- package/src/Link.tsx +3 -1
- package/src/ListBox.tsx +31 -4
- package/src/Menu.tsx +298 -131
- package/src/Meter.tsx +3 -1
- package/src/Modal.tsx +100 -52
- package/src/NumberField.tsx +73 -10
- package/src/Popover.tsx +49 -11
- package/src/ProgressBar.tsx +3 -1
- package/src/RadioGroup.tsx +468 -4
- package/src/RangeCalendar.tsx +3 -1
- package/src/SearchField.tsx +27 -3
- package/src/Select.tsx +22 -7
- package/src/SelectionIndicator.tsx +3 -1
- package/src/SharedElementTransition.tsx +3 -1
- package/src/Slider.tsx +159 -13
- package/src/Switch.tsx +395 -2
- package/src/Table.tsx +409 -95
- package/src/Tabs.tsx +16 -45
- package/src/TagGroup.tsx +4 -1
- package/src/Text.tsx +31 -10
- package/src/TextField.tsx +73 -10
- package/src/TimeField.tsx +20 -2
- package/src/Toast.tsx +79 -14
- package/src/ToggleButton.tsx +3 -1
- package/src/ToggleButtonGroup.tsx +3 -1
- package/src/Tooltip.tsx +55 -8
- package/src/Tree.tsx +77 -9
- package/src/Virtualizer.tsx +180 -31
- package/src/VirtualizerLayouts.ts +45 -10
- package/src/index.ts +50 -0
- package/src/utils.tsx +243 -27
- package/dist/index.js.map +0 -1
- package/dist/index.jsx.map +0 -1
package/dist/Tabs.jsx
ADDED
|
@@ -0,0 +1,367 @@
|
|
|
1
|
+
import { filterDOMProps, useRenderProps } from "./utils.jsx";
|
|
2
|
+
import { SharedElementTransition } from "./SharedElementTransition.jsx";
|
|
3
|
+
import { SelectionIndicator, SelectionIndicatorContext } from "./SelectionIndicator.jsx";
|
|
4
|
+
import { For, Show, createContext, createEffect, createMemo, createSignal, onCleanup, splitProps, useContext } from "solid-js";
|
|
5
|
+
import { createFocusRing, createHover, createTab, createTabList, createTabPanel } from "@proyecto-viviana/solidaria";
|
|
6
|
+
import { createTabListState } from "@proyecto-viviana/solid-stately";
|
|
7
|
+
//#region src/Tabs.tsx
|
|
8
|
+
/**
|
|
9
|
+
* Tabs component for solidaria-components
|
|
10
|
+
*
|
|
11
|
+
* A pre-wired headless tabs component that combines state + aria hooks.
|
|
12
|
+
* Port of react-aria-components/src/Tabs.tsx
|
|
13
|
+
*/
|
|
14
|
+
function assignRef(ref, element) {
|
|
15
|
+
if (!ref) return;
|
|
16
|
+
if (typeof ref === "function") ref(element);
|
|
17
|
+
else if (typeof ref === "object" && "current" in ref) ref.current = element;
|
|
18
|
+
}
|
|
19
|
+
const TabsContext = createContext(null);
|
|
20
|
+
const TabsStateContext = createContext(null);
|
|
21
|
+
function collectionItemKey(item) {
|
|
22
|
+
const tab = item;
|
|
23
|
+
const key = tab.id ?? tab.key;
|
|
24
|
+
if (key == null) throw new Error("Tabs collection items require an id or key.");
|
|
25
|
+
return key;
|
|
26
|
+
}
|
|
27
|
+
function staticTabText(tab) {
|
|
28
|
+
return tab.textValue ?? String(tab.id);
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Tabs provide a way to organize content into multiple sections, with only one section visible at a time.
|
|
32
|
+
*/
|
|
33
|
+
function Tabs(props) {
|
|
34
|
+
const [local, stateProps, rest] = splitProps(props, [
|
|
35
|
+
"class",
|
|
36
|
+
"style",
|
|
37
|
+
"slot",
|
|
38
|
+
"ref"
|
|
39
|
+
], [
|
|
40
|
+
"items",
|
|
41
|
+
"getKey",
|
|
42
|
+
"getTextValue",
|
|
43
|
+
"getDisabled",
|
|
44
|
+
"disabledKeys",
|
|
45
|
+
"selectedKey",
|
|
46
|
+
"defaultSelectedKey",
|
|
47
|
+
"onSelectionChange",
|
|
48
|
+
"isDisabled",
|
|
49
|
+
"keyboardActivation",
|
|
50
|
+
"orientation"
|
|
51
|
+
]);
|
|
52
|
+
const [tabListItems, setTabListItems] = createSignal(void 0);
|
|
53
|
+
const [registeredTabs, setRegisteredTabs] = createSignal([]);
|
|
54
|
+
const effectiveItems = createMemo(() => {
|
|
55
|
+
if (stateProps.items) return stateProps.items;
|
|
56
|
+
if (tabListItems()) return tabListItems() ?? [];
|
|
57
|
+
return registeredTabs();
|
|
58
|
+
});
|
|
59
|
+
const state = createTabListState({
|
|
60
|
+
get items() {
|
|
61
|
+
return effectiveItems();
|
|
62
|
+
},
|
|
63
|
+
get getKey() {
|
|
64
|
+
return stateProps.getKey ?? collectionItemKey;
|
|
65
|
+
},
|
|
66
|
+
get getTextValue() {
|
|
67
|
+
return stateProps.getTextValue ?? ((item) => {
|
|
68
|
+
const tab = item;
|
|
69
|
+
return tab.textValue ?? tab.label ?? staticTabText(tab);
|
|
70
|
+
});
|
|
71
|
+
},
|
|
72
|
+
get getDisabled() {
|
|
73
|
+
return stateProps.getDisabled ?? ((item) => {
|
|
74
|
+
return item.isDisabled ?? false;
|
|
75
|
+
});
|
|
76
|
+
},
|
|
77
|
+
get disabledKeys() {
|
|
78
|
+
return stateProps.disabledKeys;
|
|
79
|
+
},
|
|
80
|
+
get selectedKey() {
|
|
81
|
+
return stateProps.selectedKey;
|
|
82
|
+
},
|
|
83
|
+
get defaultSelectedKey() {
|
|
84
|
+
return stateProps.defaultSelectedKey;
|
|
85
|
+
},
|
|
86
|
+
get onSelectionChange() {
|
|
87
|
+
return stateProps.onSelectionChange;
|
|
88
|
+
},
|
|
89
|
+
get isDisabled() {
|
|
90
|
+
return stateProps.isDisabled;
|
|
91
|
+
},
|
|
92
|
+
get keyboardActivation() {
|
|
93
|
+
return stateProps.keyboardActivation;
|
|
94
|
+
},
|
|
95
|
+
get orientation() {
|
|
96
|
+
return stateProps.orientation;
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
const renderValues = createMemo(() => ({
|
|
100
|
+
orientation: state.orientation(),
|
|
101
|
+
isDisabled: state.isDisabled()
|
|
102
|
+
}));
|
|
103
|
+
const renderProps = useRenderProps({
|
|
104
|
+
class: local.class,
|
|
105
|
+
style: local.style,
|
|
106
|
+
get children() {
|
|
107
|
+
return props.children;
|
|
108
|
+
},
|
|
109
|
+
defaultClassName: "solidaria-Tabs"
|
|
110
|
+
}, renderValues);
|
|
111
|
+
const domProps = createMemo(() => filterDOMProps(rest, { global: true }));
|
|
112
|
+
const contextValue = {
|
|
113
|
+
state,
|
|
114
|
+
items: effectiveItems,
|
|
115
|
+
setTabListItems(items) {
|
|
116
|
+
setTabListItems(() => items);
|
|
117
|
+
},
|
|
118
|
+
registerTab(tab) {
|
|
119
|
+
setRegisteredTabs((current) => {
|
|
120
|
+
const next = current.filter((item) => item.id !== tab.id);
|
|
121
|
+
next.push(tab);
|
|
122
|
+
return next;
|
|
123
|
+
});
|
|
124
|
+
},
|
|
125
|
+
unregisterTab(id) {
|
|
126
|
+
setRegisteredTabs((current) => current.filter((item) => item.id !== id));
|
|
127
|
+
}
|
|
128
|
+
};
|
|
129
|
+
return <TabsContext.Provider value={contextValue}>
|
|
130
|
+
<TabsStateContext.Provider value={state}>
|
|
131
|
+
<div {...domProps()} ref={(element) => assignRef(local.ref, element)} class={renderProps.class()} style={renderProps.style()} data-orientation={state.orientation()} data-disabled={state.isDisabled() || void 0}>
|
|
132
|
+
{props.children}
|
|
133
|
+
</div>
|
|
134
|
+
</TabsStateContext.Provider>
|
|
135
|
+
</TabsContext.Provider>;
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* A TabList contains Tab elements that represent the available tabs.
|
|
139
|
+
*/
|
|
140
|
+
function TabList(props) {
|
|
141
|
+
const [local, collectionProps, ariaProps] = splitProps(props, [
|
|
142
|
+
"class",
|
|
143
|
+
"style",
|
|
144
|
+
"slot"
|
|
145
|
+
], ["items"]);
|
|
146
|
+
const context = useContext(TabsContext);
|
|
147
|
+
return <Show when={context} fallback={<div class="solidaria-TabList" role="tablist" />}>
|
|
148
|
+
{(ctx) => <TabListInner context={ctx()} local={local} items={collectionProps.items} ariaProps={ariaProps} children={props.children} />}
|
|
149
|
+
</Show>;
|
|
150
|
+
}
|
|
151
|
+
/** Inner TabList component that has access to context */
|
|
152
|
+
function TabListInner(props) {
|
|
153
|
+
const state = props.context.state;
|
|
154
|
+
const items = props.context.items;
|
|
155
|
+
const renderItem = createMemo(() => {
|
|
156
|
+
if (typeof props.children !== "function") return;
|
|
157
|
+
if (props.children.length === 0 && props.items === void 0) return;
|
|
158
|
+
return props.children;
|
|
159
|
+
});
|
|
160
|
+
const renderedChildren = createMemo(() => {
|
|
161
|
+
if (renderItem() || typeof props.children !== "function") return props.children;
|
|
162
|
+
return props.children();
|
|
163
|
+
});
|
|
164
|
+
createEffect(() => {
|
|
165
|
+
props.context.setTabListItems(props.items);
|
|
166
|
+
});
|
|
167
|
+
onCleanup(() => {
|
|
168
|
+
props.context.setTabListItems(void 0);
|
|
169
|
+
});
|
|
170
|
+
const { tabListProps } = createTabList(props.ariaProps, state);
|
|
171
|
+
const renderValues = createMemo(() => ({
|
|
172
|
+
orientation: state.orientation(),
|
|
173
|
+
isDisabled: state.isDisabled()
|
|
174
|
+
}));
|
|
175
|
+
const renderProps = useRenderProps({
|
|
176
|
+
class: props.local.class,
|
|
177
|
+
style: props.local.style,
|
|
178
|
+
defaultClassName: "solidaria-TabList"
|
|
179
|
+
}, renderValues);
|
|
180
|
+
const handleKeyDown = (e) => {
|
|
181
|
+
tabListProps.onKeyDown(e);
|
|
182
|
+
};
|
|
183
|
+
const handleFocus = (e) => {
|
|
184
|
+
tabListProps.onFocusIn(e);
|
|
185
|
+
};
|
|
186
|
+
const handleBlur = (e) => {
|
|
187
|
+
tabListProps.onFocusOut(e);
|
|
188
|
+
};
|
|
189
|
+
return <div role={tabListProps.role} aria-orientation={tabListProps["aria-orientation"]} aria-label={tabListProps["aria-label"]} aria-labelledby={tabListProps["aria-labelledby"]} aria-describedby={tabListProps["aria-describedby"]} class={renderProps.class()} style={renderProps.style()} onKeyDown={handleKeyDown} onFocusIn={handleFocus} onFocusOut={handleBlur} data-orientation={state.orientation()} data-disabled={state.isDisabled() || void 0}>
|
|
190
|
+
{renderItem() ? <SharedElementTransition>
|
|
191
|
+
<For each={props.items ?? items()}>{(item) => renderItem()?.(item)}</For>
|
|
192
|
+
</SharedElementTransition> : renderedChildren()}
|
|
193
|
+
</div>;
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* A Tab represents an individual tab in a TabList.
|
|
197
|
+
*/
|
|
198
|
+
function Tab(props) {
|
|
199
|
+
const [local, ariaProps] = splitProps(props, [
|
|
200
|
+
"class",
|
|
201
|
+
"style",
|
|
202
|
+
"slot",
|
|
203
|
+
"id"
|
|
204
|
+
]);
|
|
205
|
+
const context = useContext(TabsStateContext);
|
|
206
|
+
const tabsContext = useContext(TabsContext);
|
|
207
|
+
return <Show when={context} fallback={<div class="solidaria-Tab" role="tab" />}>
|
|
208
|
+
{(state) => <TabInner state={state()} tabsContext={tabsContext} local={local} ariaProps={ariaProps} children={props.children} />}
|
|
209
|
+
</Show>;
|
|
210
|
+
}
|
|
211
|
+
/** Inner Tab component that has access to context */
|
|
212
|
+
function TabInner(props) {
|
|
213
|
+
let tabRef;
|
|
214
|
+
const textValue = () => {
|
|
215
|
+
if (props.ariaProps["aria-label"]) return props.ariaProps["aria-label"];
|
|
216
|
+
return typeof props.children === "string" ? props.children : void 0;
|
|
217
|
+
};
|
|
218
|
+
createEffect(() => {
|
|
219
|
+
props.tabsContext?.registerTab({
|
|
220
|
+
id: props.local.id,
|
|
221
|
+
textValue: textValue(),
|
|
222
|
+
isDisabled: props.ariaProps.isDisabled
|
|
223
|
+
});
|
|
224
|
+
});
|
|
225
|
+
onCleanup(() => {
|
|
226
|
+
props.tabsContext?.unregisterTab(props.local.id);
|
|
227
|
+
});
|
|
228
|
+
const tabAria = createTab({
|
|
229
|
+
key: props.local.id,
|
|
230
|
+
get isDisabled() {
|
|
231
|
+
return props.ariaProps.isDisabled;
|
|
232
|
+
},
|
|
233
|
+
get "aria-label"() {
|
|
234
|
+
return props.ariaProps["aria-label"];
|
|
235
|
+
},
|
|
236
|
+
get "aria-labelledby"() {
|
|
237
|
+
return props.ariaProps["aria-labelledby"];
|
|
238
|
+
}
|
|
239
|
+
}, props.state, () => null);
|
|
240
|
+
const { isHovered, hoverProps } = createHover({ get isDisabled() {
|
|
241
|
+
return tabAria.isDisabled();
|
|
242
|
+
} });
|
|
243
|
+
const renderValues = createMemo(() => ({
|
|
244
|
+
isSelected: tabAria.isSelected(),
|
|
245
|
+
isFocused: tabAria.isFocused(),
|
|
246
|
+
isFocusVisible: tabAria.isFocusVisible(),
|
|
247
|
+
isPressed: tabAria.isPressed(),
|
|
248
|
+
isHovered: isHovered(),
|
|
249
|
+
isDisabled: tabAria.isDisabled()
|
|
250
|
+
}));
|
|
251
|
+
const renderProps = useRenderProps({
|
|
252
|
+
get children() {
|
|
253
|
+
return props.children;
|
|
254
|
+
},
|
|
255
|
+
class: props.local.class,
|
|
256
|
+
style: props.local.style,
|
|
257
|
+
defaultClassName: "solidaria-Tab"
|
|
258
|
+
}, renderValues);
|
|
259
|
+
const selectionIndicatorContext = createMemo(() => ({ isSelected: tabAria.isSelected }));
|
|
260
|
+
return <SelectionIndicatorContext.Provider value={selectionIndicatorContext()}>
|
|
261
|
+
<div ref={tabRef} id={tabAria.tabProps.id} role={tabAria.tabProps.role} aria-selected={tabAria.isSelected()} aria-disabled={tabAria.isDisabled() || void 0} aria-controls={tabAria.isSelected() ? tabAria.tabProps["aria-controls"] : void 0} aria-label={tabAria.tabProps["aria-label"]} aria-labelledby={tabAria.tabProps["aria-labelledby"]} tabIndex={tabAria.tabProps.tabIndex} class={renderProps.class()} style={renderProps.style()} onKeyDown={tabAria.tabProps.onKeyDown} onMouseDown={tabAria.tabProps.onMouseDown} onPointerDown={tabAria.tabProps.onPointerDown} onClick={tabAria.tabProps.onClick} onFocus={tabAria.tabProps.onFocus} onBlur={tabAria.tabProps.onBlur} {...hoverProps} data-selected={tabAria.isSelected() || void 0} data-focused={tabAria.isFocused() || void 0} data-focus-visible={tabAria.isFocusVisible() || void 0} data-pressed={tabAria.isPressed() || void 0} data-hovered={isHovered() || void 0} data-disabled={tabAria.isDisabled() || void 0}>
|
|
262
|
+
{renderProps.renderChildrenStable()}
|
|
263
|
+
</div>
|
|
264
|
+
</SelectionIndicatorContext.Provider>;
|
|
265
|
+
}
|
|
266
|
+
/**
|
|
267
|
+
* Groups multiple TabPanel elements.
|
|
268
|
+
*/
|
|
269
|
+
function TabPanels(props) {
|
|
270
|
+
const [local, rest] = splitProps(props, [
|
|
271
|
+
"class",
|
|
272
|
+
"style",
|
|
273
|
+
"slot",
|
|
274
|
+
"children"
|
|
275
|
+
]);
|
|
276
|
+
const domProps = createMemo(() => filterDOMProps(rest, { global: true }));
|
|
277
|
+
const state = useContext(TabsStateContext);
|
|
278
|
+
let ref;
|
|
279
|
+
let previousSelectedKey = void 0;
|
|
280
|
+
const [panelSize, setPanelSize] = createSignal({});
|
|
281
|
+
createEffect(() => {
|
|
282
|
+
const selectedKey = state?.selectedKey() ?? null;
|
|
283
|
+
if (!ref) {
|
|
284
|
+
previousSelectedKey = selectedKey;
|
|
285
|
+
return;
|
|
286
|
+
}
|
|
287
|
+
if (previousSelectedKey === void 0) {
|
|
288
|
+
previousSelectedKey = selectedKey;
|
|
289
|
+
return;
|
|
290
|
+
}
|
|
291
|
+
if (previousSelectedKey === selectedKey) return;
|
|
292
|
+
previousSelectedKey = selectedKey;
|
|
293
|
+
const transition = window.getComputedStyle(ref).transition;
|
|
294
|
+
const shouldMeasureWidth = /width|inline-size|all/.test(transition);
|
|
295
|
+
const shouldMeasureHeight = /height|block-size|all/.test(transition);
|
|
296
|
+
if (!shouldMeasureWidth && !shouldMeasureHeight) return;
|
|
297
|
+
const selectedPanel = ref.querySelector("[role=\"tabpanel\"]:not([hidden])");
|
|
298
|
+
if (!selectedPanel) return;
|
|
299
|
+
setPanelSize({
|
|
300
|
+
width: shouldMeasureWidth ? `${selectedPanel.offsetWidth}px` : void 0,
|
|
301
|
+
height: shouldMeasureHeight ? `${selectedPanel.offsetHeight}px` : void 0
|
|
302
|
+
});
|
|
303
|
+
});
|
|
304
|
+
const mergedStyle = () => ({
|
|
305
|
+
...local.style,
|
|
306
|
+
...panelSize().width ? { "--tab-panel-width": panelSize().width } : {},
|
|
307
|
+
...panelSize().height ? { "--tab-panel-height": panelSize().height } : {}
|
|
308
|
+
});
|
|
309
|
+
return <div {...domProps()} ref={(el) => {
|
|
310
|
+
ref = el;
|
|
311
|
+
}} class={local.class ?? "solidaria-TabPanels"} style={mergedStyle()}>
|
|
312
|
+
{local.children}
|
|
313
|
+
</div>;
|
|
314
|
+
}
|
|
315
|
+
/**
|
|
316
|
+
* A TabPanel displays the content for a selected Tab.
|
|
317
|
+
*/
|
|
318
|
+
function TabPanel(props) {
|
|
319
|
+
const [local, ariaProps] = splitProps(props, [
|
|
320
|
+
"class",
|
|
321
|
+
"style",
|
|
322
|
+
"slot",
|
|
323
|
+
"shouldForceMount"
|
|
324
|
+
]);
|
|
325
|
+
const state = useContext(TabsStateContext);
|
|
326
|
+
const { tabPanelProps, isSelected } = createTabPanel(ariaProps, state);
|
|
327
|
+
const { isFocused, isFocusVisible, focusProps } = createFocusRing();
|
|
328
|
+
const isInert = () => Boolean(local.shouldForceMount && ariaProps.id !== void 0 && !isSelected());
|
|
329
|
+
const isEntering = () => false;
|
|
330
|
+
const isExiting = () => false;
|
|
331
|
+
const renderValues = createMemo(() => ({
|
|
332
|
+
isSelected: isSelected(),
|
|
333
|
+
isFocused: isFocused(),
|
|
334
|
+
isFocusVisible: isFocusVisible(),
|
|
335
|
+
isInert: isInert(),
|
|
336
|
+
isEntering: isEntering(),
|
|
337
|
+
isExiting: isExiting(),
|
|
338
|
+
state
|
|
339
|
+
}));
|
|
340
|
+
const renderProps = useRenderProps({
|
|
341
|
+
get children() {
|
|
342
|
+
return props.children;
|
|
343
|
+
},
|
|
344
|
+
class: local.class,
|
|
345
|
+
style: local.style,
|
|
346
|
+
defaultClassName: "solidaria-TabPanel"
|
|
347
|
+
}, renderValues);
|
|
348
|
+
const shouldRender = () => {
|
|
349
|
+
if (local.shouldForceMount) return true;
|
|
350
|
+
if (ariaProps.id === void 0) return state ? state.selectedKey() !== null : true;
|
|
351
|
+
return isSelected();
|
|
352
|
+
};
|
|
353
|
+
return <Show when={shouldRender()}>
|
|
354
|
+
<div id={tabPanelProps.id} role={tabPanelProps.role} aria-labelledby={tabPanelProps["aria-labelledby"]} aria-label={tabPanelProps["aria-label"]} aria-describedby={tabPanelProps["aria-describedby"]} tabIndex={tabPanelProps.tabIndex} class={renderProps.class()} style={renderProps.style()} onFocus={focusProps.onFocus} onBlur={focusProps.onBlur} data-selected={isSelected() || void 0} data-focused={isFocused() || void 0} data-focus-visible={isFocusVisible() || void 0} inert={isInert() ? true : void 0} data-inert={isInert() || void 0} data-entering={isEntering() || void 0} data-exiting={isExiting() || void 0} hidden={ariaProps.id !== void 0 && !isSelected() && !local.shouldForceMount ? true : void 0}>
|
|
355
|
+
{renderProps.renderChildren()}
|
|
356
|
+
</div>
|
|
357
|
+
</Show>;
|
|
358
|
+
}
|
|
359
|
+
Tabs.List = TabList;
|
|
360
|
+
Tabs.Tab = Tab;
|
|
361
|
+
Tabs.Panels = TabPanels;
|
|
362
|
+
Tabs.Panel = TabPanel;
|
|
363
|
+
Tabs.SelectionIndicator = SelectionIndicator;
|
|
364
|
+
//#endregion
|
|
365
|
+
export { SelectionIndicator, SelectionIndicatorContext, Tab, TabList, TabPanel, TabPanels, Tabs, TabsContext, TabsStateContext };
|
|
366
|
+
|
|
367
|
+
//# sourceMappingURL=Tabs.jsx.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tabs.jsx","names":["tab"],"sources":["../src/Tabs.tsx"],"sourcesContent":["/**\n * Tabs component for solidaria-components\n *\n * A pre-wired headless tabs component that combines state + aria hooks.\n * Port of react-aria-components/src/Tabs.tsx\n */\n\nimport {\n type Accessor,\n type JSX,\n createContext,\n createEffect,\n createMemo,\n createSignal,\n splitProps,\n useContext,\n For,\n Show,\n onCleanup,\n} from \"solid-js\";\nimport {\n createTabList,\n createTab,\n createTabPanel,\n createFocusRing,\n createHover,\n type AriaTabListProps,\n type AriaTabProps,\n type AriaTabPanelProps,\n} from \"@proyecto-viviana/solidaria\";\nimport {\n createTabListState,\n type TabListState,\n type Key,\n type TabOrientation,\n type KeyboardActivation,\n} from \"@proyecto-viviana/solid-stately\";\nimport {\n type RenderChildren,\n type ClassNameOrFunction,\n type StyleOrFunction,\n type SlotProps,\n useRenderProps,\n filterDOMProps,\n} from \"./utils\";\nimport {\n SelectionIndicator,\n SelectionIndicatorContext,\n type SelectionIndicatorContextValue,\n} from \"./SelectionIndicator\";\nimport { SharedElementTransition } from \"./SharedElementTransition\";\n\nexport {\n SelectionIndicator,\n SelectionIndicatorContext,\n type SelectionIndicatorProps,\n type SelectionIndicatorRenderProps,\n} from \"./SelectionIndicator\";\n\nexport interface TabsRenderProps {\n /** The orientation of the tabs. */\n orientation: TabOrientation;\n /** Whether the tabs are disabled. */\n isDisabled: boolean;\n}\n\nexport interface TabsProps<T> extends SlotProps {\n /** The items to render in the tab list. */\n items?: T[];\n /** Function to get the key from an item. */\n getKey?: (item: T) => Key;\n /** Function to get the text value from an item. */\n getTextValue?: (item: T) => string;\n /** Function to check if an item is disabled. */\n getDisabled?: (item: T) => boolean;\n /** Keys of disabled tabs. */\n disabledKeys?: Iterable<Key>;\n /** The currently selected tab key (controlled). */\n selectedKey?: Key | null;\n /** The default selected tab key (uncontrolled). */\n defaultSelectedKey?: Key;\n /** Handler for tab selection changes. */\n onSelectionChange?: (key: Key) => void;\n /** Whether the tabs are disabled. */\n isDisabled?: boolean;\n /** The keyboard activation mode. */\n keyboardActivation?: KeyboardActivation;\n /** The orientation of the tabs. */\n orientation?: TabOrientation;\n /** The children of the component. */\n children?: RenderChildren<TabsRenderProps>;\n /** The CSS className for the element. */\n class?: ClassNameOrFunction<TabsRenderProps>;\n /** The inline style for the element. */\n style?: StyleOrFunction<TabsRenderProps>;\n /** Ref for the root tabs element. */\n ref?: RefLike<HTMLDivElement>;\n}\n\nexport interface TabListRenderProps {\n /** The orientation of the tab list. */\n orientation: TabOrientation;\n /** Whether the tab list is disabled. */\n isDisabled: boolean;\n}\n\nexport interface TabListProps<T> extends Omit<AriaTabListProps, \"children\">, SlotProps {\n /** Items to render in the tab list. */\n items?: T[];\n /** The children of the tab list - static tabs or a render function for each item. */\n children?: JSX.Element | ((item: T) => JSX.Element);\n /** The CSS className for the element. */\n class?: ClassNameOrFunction<TabListRenderProps>;\n /** The inline style for the element. */\n style?: StyleOrFunction<TabListRenderProps>;\n}\n\nexport interface TabRenderProps {\n /** Whether the tab is selected. */\n isSelected: boolean;\n /** Whether the tab is focused. */\n isFocused: boolean;\n /** Whether the tab has visible focus ring. */\n isFocusVisible: boolean;\n /** Whether the tab is pressed. */\n isPressed: boolean;\n /** Whether the tab is hovered. */\n isHovered: boolean;\n /** Whether the tab is disabled. */\n isDisabled: boolean;\n}\n\nexport interface TabProps extends Omit<AriaTabProps, \"key\">, SlotProps {\n /** The unique key for the tab. */\n id: Key;\n /** The children of the tab. */\n children?: RenderChildren<TabRenderProps>;\n /** The CSS className for the element. */\n class?: ClassNameOrFunction<TabRenderProps>;\n /** The inline style for the element. */\n style?: StyleOrFunction<TabRenderProps>;\n}\n\nexport interface TabPanelRenderProps {\n /** Whether the panel is the selected one. */\n isSelected: boolean;\n /** Whether the panel is focused. */\n isFocused: boolean;\n /** Whether the panel has visible focus ring. */\n isFocusVisible: boolean;\n /** Whether the panel is non-interactive while force mounted. */\n isInert: boolean;\n /** Whether the panel is currently entering. */\n isEntering: boolean;\n /** Whether the panel is currently exiting. */\n isExiting: boolean;\n /** State of the tab list. */\n state: TabListState<unknown> | null;\n}\n\nexport interface TabPanelProps extends AriaTabPanelProps, SlotProps {\n /** The children of the tab panel. */\n children?: RenderChildren<TabPanelRenderProps>;\n /** The CSS className for the element. */\n class?: ClassNameOrFunction<TabPanelRenderProps>;\n /** The inline style for the element. */\n style?: StyleOrFunction<TabPanelRenderProps>;\n /** Whether to keep the panel mounted when not selected. */\n shouldForceMount?: boolean;\n}\n\nexport interface TabPanelsProps extends SlotProps {\n /** The grouped tab panels. */\n children?: JSX.Element;\n /** The CSS className for the element. */\n class?: string;\n /** The inline style for the element. */\n style?: JSX.CSSProperties;\n}\n\ninterface TabsContextValue<T> {\n state: TabListState<T>;\n items: Accessor<T[]>;\n setTabListItems(items: T[] | undefined): void;\n registerTab(tab: RegisteredTab): void;\n unregisterTab(id: Key): void;\n}\n\ntype RefLike<T> = ((el: T) => void) | { current?: T | null } | undefined;\n\nfunction assignRef<T>(ref: RefLike<T>, element: T): void {\n if (!ref) return;\n if (typeof ref === \"function\") {\n ref(element);\n } else if (typeof ref === \"object\" && \"current\" in ref) {\n ref.current = element;\n }\n}\n\nexport const TabsContext = createContext<TabsContextValue<unknown> | null>(null);\nexport const TabsStateContext = createContext<TabListState<unknown> | null>(null);\n\ninterface RegisteredTab {\n id: Key;\n textValue?: string;\n isDisabled?: boolean;\n}\n\ninterface CollectionItemLike {\n id?: Key;\n key?: Key;\n label?: string;\n textValue?: string;\n isDisabled?: boolean;\n}\n\nfunction collectionItemKey<T>(item: T): Key {\n const tab = item as CollectionItemLike;\n const key = tab.id ?? tab.key;\n if (key == null) {\n throw new Error(\"Tabs collection items require an id or key.\");\n }\n return key;\n}\n\nfunction staticTabText(tab: RegisteredTab): string {\n return tab.textValue ?? String(tab.id);\n}\n\n/**\n * Tabs provide a way to organize content into multiple sections, with only one section visible at a time.\n */\nexport function Tabs<T>(props: TabsProps<T>): JSX.Element {\n const [local, stateProps, rest] = splitProps(\n props,\n [\"class\", \"style\", \"slot\", \"ref\"],\n [\n \"items\",\n \"getKey\",\n \"getTextValue\",\n \"getDisabled\",\n \"disabledKeys\",\n \"selectedKey\",\n \"defaultSelectedKey\",\n \"onSelectionChange\",\n \"isDisabled\",\n \"keyboardActivation\",\n \"orientation\",\n ],\n );\n\n const [tabListItems, setTabListItems] = createSignal<T[] | undefined>(undefined);\n const [registeredTabs, setRegisteredTabs] = createSignal<RegisteredTab[]>([]);\n const effectiveItems = createMemo<T[]>(() => {\n if (stateProps.items) return stateProps.items;\n if (tabListItems()) return tabListItems() ?? [];\n return registeredTabs() as T[];\n });\n\n // Create tab list state\n const state = createTabListState<T>({\n get items() {\n return effectiveItems();\n },\n get getKey() {\n return stateProps.getKey ?? collectionItemKey;\n },\n get getTextValue() {\n return (\n stateProps.getTextValue ??\n ((item: T) => {\n const tab = item as RegisteredTab & CollectionItemLike;\n return tab.textValue ?? tab.label ?? staticTabText(tab);\n })\n );\n },\n get getDisabled() {\n return (\n stateProps.getDisabled ??\n ((item: T) => {\n const tab = item as RegisteredTab & CollectionItemLike;\n return tab.isDisabled ?? false;\n })\n );\n },\n get disabledKeys() {\n return stateProps.disabledKeys;\n },\n get selectedKey() {\n return stateProps.selectedKey;\n },\n get defaultSelectedKey() {\n return stateProps.defaultSelectedKey;\n },\n get onSelectionChange() {\n return stateProps.onSelectionChange;\n },\n get isDisabled() {\n return stateProps.isDisabled;\n },\n get keyboardActivation() {\n return stateProps.keyboardActivation;\n },\n get orientation() {\n return stateProps.orientation;\n },\n });\n\n const renderValues = createMemo<TabsRenderProps>(() => ({\n orientation: state.orientation(),\n isDisabled: state.isDisabled(),\n }));\n\n const renderProps = useRenderProps(\n {\n class: local.class,\n style: local.style,\n get children() {\n return props.children;\n },\n defaultClassName: \"solidaria-Tabs\",\n },\n renderValues,\n );\n\n const domProps = createMemo(() =>\n filterDOMProps(rest as Record<string, unknown>, { global: true }),\n );\n\n const contextValue: TabsContextValue<T> = {\n state,\n items: effectiveItems,\n setTabListItems(items) {\n setTabListItems(() => items);\n },\n registerTab(tab) {\n setRegisteredTabs((current) => {\n const next = current.filter((item) => item.id !== tab.id);\n next.push(tab);\n return next;\n });\n },\n unregisterTab(id) {\n setRegisteredTabs((current) => current.filter((item) => item.id !== id));\n },\n };\n\n return (\n <TabsContext.Provider value={contextValue as TabsContextValue<unknown>}>\n <TabsStateContext.Provider value={state}>\n <div\n {...domProps()}\n ref={(element) => assignRef(local.ref, element)}\n class={renderProps.class()}\n style={renderProps.style()}\n data-orientation={state.orientation()}\n data-disabled={state.isDisabled() || undefined}\n >\n {props.children as JSX.Element}\n </div>\n </TabsStateContext.Provider>\n </TabsContext.Provider>\n );\n}\n\n/**\n * A TabList contains Tab elements that represent the available tabs.\n */\nexport function TabList<T>(props: TabListProps<T>): JSX.Element {\n const [local, collectionProps, ariaProps] = splitProps(\n props,\n [\"class\", \"style\", \"slot\"],\n [\"items\"],\n );\n\n const context = useContext(TabsContext);\n\n return (\n <Show when={context} fallback={<div class=\"solidaria-TabList\" role=\"tablist\" />}>\n {(ctx) => (\n <TabListInner\n context={ctx()}\n local={local}\n items={collectionProps.items}\n ariaProps={ariaProps}\n children={props.children}\n />\n )}\n </Show>\n );\n}\n\n/** Inner TabList component that has access to context */\nfunction TabListInner<T>(props: {\n context: TabsContextValue<unknown>;\n local: {\n class?: ClassNameOrFunction<TabListRenderProps>;\n style?: StyleOrFunction<TabListRenderProps>;\n slot?: string;\n };\n ariaProps: Omit<TabListProps<T>, \"children\" | \"class\" | \"style\" | \"slot\" | \"items\">;\n items?: T[];\n children?: JSX.Element | ((item: T) => JSX.Element);\n}): JSX.Element {\n const state = props.context.state as TabListState<T>;\n const items = props.context.items as Accessor<T[]>;\n const renderItem = createMemo(() => {\n if (typeof props.children !== \"function\") {\n return undefined;\n }\n\n const child = props.children as (...args: unknown[]) => JSX.Element;\n if (child.length === 0 && props.items === undefined) {\n return undefined;\n }\n\n return props.children as (item: T) => JSX.Element;\n });\n const renderedChildren = createMemo(() => {\n if (renderItem() || typeof props.children !== \"function\") {\n return props.children as JSX.Element;\n }\n\n return (props.children as () => JSX.Element)();\n });\n\n createEffect(() => {\n props.context.setTabListItems(props.items as unknown[] | undefined);\n });\n\n onCleanup(() => {\n props.context.setTabListItems(undefined);\n });\n\n // Create tab list aria props\n const { tabListProps } = createTabList<T>(props.ariaProps as AriaTabListProps, state);\n\n const renderValues = createMemo<TabListRenderProps>(() => ({\n orientation: state.orientation(),\n isDisabled: state.isDisabled(),\n }));\n\n const renderProps = useRenderProps(\n {\n class: props.local.class,\n style: props.local.style,\n defaultClassName: \"solidaria-TabList\",\n },\n renderValues,\n );\n\n const handleKeyDown = (e: KeyboardEvent) => {\n tabListProps.onKeyDown(e);\n };\n\n const handleFocus = (e: FocusEvent) => {\n tabListProps.onFocusIn(e);\n };\n\n const handleBlur = (e: FocusEvent) => {\n tabListProps.onFocusOut(e);\n };\n\n return (\n <div\n role={tabListProps.role}\n aria-orientation={tabListProps[\"aria-orientation\"]}\n aria-label={tabListProps[\"aria-label\"]}\n aria-labelledby={tabListProps[\"aria-labelledby\"]}\n aria-describedby={tabListProps[\"aria-describedby\"]}\n class={renderProps.class()}\n style={renderProps.style()}\n onKeyDown={handleKeyDown}\n onFocusIn={handleFocus}\n onFocusOut={handleBlur}\n data-orientation={state.orientation()}\n data-disabled={state.isDisabled() || undefined}\n >\n {renderItem() ? (\n <SharedElementTransition>\n <For each={(props.items ?? items()) as T[]}>{(item) => renderItem()?.(item)}</For>\n </SharedElementTransition>\n ) : (\n renderedChildren()\n )}\n </div>\n );\n}\n\n/**\n * A Tab represents an individual tab in a TabList.\n */\nexport function Tab(props: TabProps): JSX.Element {\n const [local, ariaProps] = splitProps(props, [\"class\", \"style\", \"slot\", \"id\"]);\n\n const context = useContext(TabsStateContext);\n const tabsContext = useContext(TabsContext);\n\n return (\n <Show when={context} fallback={<div class=\"solidaria-Tab\" role=\"tab\" />}>\n {(state) => (\n <TabInner\n state={state()}\n tabsContext={tabsContext}\n local={local}\n ariaProps={ariaProps}\n children={props.children}\n />\n )}\n </Show>\n );\n}\n\n/** Inner Tab component that has access to context */\nfunction TabInner(props: {\n state: TabListState<unknown>;\n tabsContext: TabsContextValue<unknown> | null;\n local: {\n class?: ClassNameOrFunction<TabRenderProps>;\n style?: StyleOrFunction<TabRenderProps>;\n slot?: string;\n id: Key;\n };\n ariaProps: Omit<TabProps, \"children\" | \"class\" | \"style\" | \"slot\" | \"id\">;\n children?: RenderChildren<TabRenderProps>;\n}): JSX.Element {\n let tabRef: HTMLDivElement | undefined;\n const textValue = () => {\n if (props.ariaProps[\"aria-label\"]) return props.ariaProps[\"aria-label\"];\n return typeof props.children === \"string\" ? props.children : undefined;\n };\n\n createEffect(() => {\n props.tabsContext?.registerTab({\n id: props.local.id,\n textValue: textValue(),\n isDisabled: props.ariaProps.isDisabled,\n });\n });\n\n onCleanup(() => {\n props.tabsContext?.unregisterTab(props.local.id);\n });\n\n // Create tab aria props\n const tabAria = createTab<unknown>(\n {\n key: props.local.id,\n get isDisabled() {\n return props.ariaProps.isDisabled;\n },\n get \"aria-label\"() {\n return props.ariaProps[\"aria-label\"];\n },\n get \"aria-labelledby\"() {\n return props.ariaProps[\"aria-labelledby\"];\n },\n },\n props.state,\n () => tabRef ?? null,\n );\n\n const { isHovered, hoverProps } = createHover({\n get isDisabled() {\n return tabAria.isDisabled();\n },\n });\n\n const renderValues = createMemo<TabRenderProps>(() => ({\n isSelected: tabAria.isSelected(),\n isFocused: tabAria.isFocused(),\n isFocusVisible: tabAria.isFocusVisible(),\n isPressed: tabAria.isPressed(),\n isHovered: isHovered(),\n isDisabled: tabAria.isDisabled(),\n }));\n\n const renderProps = useRenderProps(\n {\n get children() {\n return props.children;\n },\n class: props.local.class,\n style: props.local.style,\n defaultClassName: \"solidaria-Tab\",\n },\n renderValues,\n );\n\n const selectionIndicatorContext = createMemo<SelectionIndicatorContextValue>(() => ({\n isSelected: tabAria.isSelected,\n }));\n\n return (\n <SelectionIndicatorContext.Provider value={selectionIndicatorContext()}>\n <div\n ref={tabRef}\n id={tabAria.tabProps.id}\n role={tabAria.tabProps.role}\n aria-selected={tabAria.isSelected()}\n aria-disabled={tabAria.isDisabled() || undefined}\n aria-controls={tabAria.isSelected() ? tabAria.tabProps[\"aria-controls\"] : undefined}\n aria-label={tabAria.tabProps[\"aria-label\"]}\n aria-labelledby={tabAria.tabProps[\"aria-labelledby\"]}\n tabIndex={tabAria.tabProps.tabIndex}\n class={renderProps.class()}\n style={renderProps.style()}\n onKeyDown={tabAria.tabProps.onKeyDown}\n onMouseDown={tabAria.tabProps.onMouseDown}\n onPointerDown={tabAria.tabProps.onPointerDown}\n onClick={tabAria.tabProps.onClick}\n onFocus={tabAria.tabProps.onFocus}\n onBlur={tabAria.tabProps.onBlur}\n {...hoverProps}\n data-selected={tabAria.isSelected() || undefined}\n data-focused={tabAria.isFocused() || undefined}\n data-focus-visible={tabAria.isFocusVisible() || undefined}\n data-pressed={tabAria.isPressed() || undefined}\n data-hovered={isHovered() || undefined}\n data-disabled={tabAria.isDisabled() || undefined}\n >\n {renderProps.renderChildrenStable()}\n </div>\n </SelectionIndicatorContext.Provider>\n );\n}\n\n/**\n * Groups multiple TabPanel elements.\n */\nexport function TabPanels(props: TabPanelsProps): JSX.Element {\n const [local, rest] = splitProps(props, [\"class\", \"style\", \"slot\", \"children\"]);\n const domProps = createMemo(() =>\n filterDOMProps(rest as Record<string, unknown>, { global: true }),\n );\n const state = useContext(TabsStateContext);\n let ref: HTMLDivElement | undefined;\n let previousSelectedKey: Key | null | undefined = undefined;\n const [panelSize, setPanelSize] = createSignal<{ width?: string; height?: string }>({});\n\n createEffect(() => {\n const selectedKey = state?.selectedKey() ?? null;\n if (!ref) {\n previousSelectedKey = selectedKey;\n return;\n }\n\n if (previousSelectedKey === undefined) {\n previousSelectedKey = selectedKey;\n return;\n }\n\n if (previousSelectedKey === selectedKey) return;\n previousSelectedKey = selectedKey;\n\n const transition = window.getComputedStyle(ref).transition;\n const shouldMeasureWidth = /width|inline-size|all/.test(transition);\n const shouldMeasureHeight = /height|block-size|all/.test(transition);\n if (!shouldMeasureWidth && !shouldMeasureHeight) return;\n\n const selectedPanel = ref.querySelector<HTMLElement>('[role=\"tabpanel\"]:not([hidden])');\n if (!selectedPanel) return;\n\n setPanelSize({\n width: shouldMeasureWidth ? `${selectedPanel.offsetWidth}px` : undefined,\n height: shouldMeasureHeight ? `${selectedPanel.offsetHeight}px` : undefined,\n });\n });\n\n const mergedStyle = (): JSX.CSSProperties =>\n ({\n ...local.style,\n ...(panelSize().width ? { \"--tab-panel-width\": panelSize().width } : {}),\n ...(panelSize().height ? { \"--tab-panel-height\": panelSize().height } : {}),\n }) as JSX.CSSProperties;\n\n return (\n <div\n {...domProps()}\n ref={(el) => {\n ref = el;\n }}\n class={local.class ?? \"solidaria-TabPanels\"}\n style={mergedStyle()}\n >\n {local.children}\n </div>\n );\n}\n\n/**\n * A TabPanel displays the content for a selected Tab.\n */\nexport function TabPanel(props: TabPanelProps): JSX.Element {\n const [local, ariaProps] = splitProps(props, [\"class\", \"style\", \"slot\", \"shouldForceMount\"]);\n\n // Get state from context (may be null for SSR scenarios)\n const state = useContext(TabsStateContext);\n\n // Create tab panel aria props\n const { tabPanelProps, isSelected } = createTabPanel<unknown>(ariaProps, state);\n\n // Create focus ring for the panel\n const { isFocused, isFocusVisible, focusProps } = createFocusRing();\n const isInert = () =>\n Boolean(local.shouldForceMount && ariaProps.id !== undefined && !isSelected());\n const isEntering = () => false;\n const isExiting = () => false;\n\n const renderValues = createMemo<TabPanelRenderProps>(() => ({\n isSelected: isSelected(),\n isFocused: isFocused(),\n isFocusVisible: isFocusVisible(),\n isInert: isInert(),\n isEntering: isEntering(),\n isExiting: isExiting(),\n state,\n }));\n\n const renderProps = useRenderProps(\n {\n get children() {\n return props.children;\n },\n class: local.class,\n style: local.style,\n defaultClassName: \"solidaria-TabPanel\",\n },\n renderValues,\n );\n\n // Determine if we should render the panel\n // If no id is provided, render when any tab is selected (shared panel pattern)\n // If id is provided, render when that specific tab is selected\n const shouldRender = () => {\n if (local.shouldForceMount) return true;\n if (ariaProps.id === undefined) {\n return state ? state.selectedKey() !== null : true;\n }\n return isSelected();\n };\n\n return (\n <Show when={shouldRender()}>\n <div\n id={tabPanelProps.id}\n role={tabPanelProps.role}\n aria-labelledby={tabPanelProps[\"aria-labelledby\"]}\n aria-label={tabPanelProps[\"aria-label\"]}\n aria-describedby={tabPanelProps[\"aria-describedby\"]}\n tabIndex={tabPanelProps.tabIndex}\n class={renderProps.class()}\n style={renderProps.style()}\n onFocus={focusProps.onFocus}\n onBlur={focusProps.onBlur}\n data-selected={isSelected() || undefined}\n data-focused={isFocused() || undefined}\n data-focus-visible={isFocusVisible() || undefined}\n inert={isInert() ? true : undefined}\n data-inert={isInert() || undefined}\n data-entering={isEntering() || undefined}\n data-exiting={isExiting() || undefined}\n hidden={\n ariaProps.id !== undefined && !isSelected() && !local.shouldForceMount ? true : undefined\n }\n >\n {renderProps.renderChildren()}\n </div>\n </Show>\n );\n}\n\nTabs.List = TabList;\nTabs.Tab = Tab;\nTabs.Panels = TabPanels;\nTabs.Panel = TabPanel;\nTabs.SelectionIndicator = SelectionIndicator;\n"],"mappings":"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"}
|
package/dist/TagGroup.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TagGroup.d.ts","sourceRoot":"","sources":["../src/TagGroup.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"TagGroup.d.ts","sourceRoot":"","sources":["../src/TagGroup.tsx"],"names":[],"mappings":"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"}
|