@pathscale/ui 1.1.44 → 1.1.45
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/components/accordion/Accordion.js +44 -44
- package/dist/components/accordion/index.js +2 -9
- package/dist/components/alert/Alert.js +30 -30
- package/dist/components/alert/index.js +2 -8
- package/dist/components/avatar/Avatar.js +27 -27
- package/dist/components/avatar/AvatarGroup.js +11 -11
- package/dist/components/avatar/index.js +2 -6
- package/dist/components/badge/Badge.js +19 -19
- package/dist/components/badge/index.js +6 -9
- package/dist/components/breadcrumbs/Breadcrumbs.js +25 -25
- package/dist/components/breadcrumbs/index.js +2 -5
- package/dist/components/button/Button.js +22 -22
- package/dist/components/button/index.js +2 -3
- package/dist/components/button-group/ButtonGroup.js +14 -14
- package/dist/components/button-group/context.js +2 -2
- package/dist/components/button-group/index.js +2 -6
- package/dist/components/calendar/Calendar.js +85 -85
- package/dist/components/calendar/index.js +2 -3
- package/dist/components/card/Card.js +21 -21
- package/dist/components/card/index.js +2 -8
- package/dist/components/chatbubble/ChatBubble.js +19 -19
- package/dist/components/chatbubble/ChatBubbleAvatar.js +8 -8
- package/dist/components/chatbubble/ChatBubbleFooter.js +11 -11
- package/dist/components/chatbubble/ChatBubbleHeader.js +8 -8
- package/dist/components/chatbubble/ChatBubbleMessage.js +12 -12
- package/dist/components/chatbubble/ChatBubbleTime.js +11 -11
- package/dist/components/chatbubble/index.js +2 -3
- package/dist/components/checkbox/Checkbox.js +29 -29
- package/dist/components/checkbox/index.js +2 -3
- package/dist/components/checkbox-group/CheckboxGroup.js +16 -16
- package/dist/components/checkbox-group/context.js +2 -2
- package/dist/components/checkbox-group/index.js +3 -4
- package/dist/components/chip/Chip.js +32 -32
- package/dist/components/chip/index.js +5 -7
- package/dist/components/close-button/CloseButton.js +22 -22
- package/dist/components/close-button/index.js +2 -3
- package/dist/components/color-area/ColorArea.js +13 -13
- package/dist/components/color-area/index.js +2 -2
- package/dist/components/color-field/ColorField.js +23 -23
- package/dist/components/color-field/index.js +2 -2
- package/dist/components/color-picker/ColorPicker.js +44 -44
- package/dist/components/color-picker/index.js +2 -8
- package/dist/components/color-slider/ColorSlider.js +21 -21
- package/dist/components/color-slider/index.js +2 -2
- package/dist/components/color-swatch/ColorSwatch.js +14 -14
- package/dist/components/color-swatch/index.js +2 -2
- package/dist/components/color-swatch-picker/ColorSwatchPicker.js +14 -14
- package/dist/components/color-swatch-picker/index.js +2 -5
- package/dist/components/color-wheel-flower/ColorWheelFlower.js +83 -83
- package/dist/components/color-wheel-flower/colorWheelFlowerContext.js +3 -3
- package/dist/components/color-wheel-flower/index.js +3 -6
- package/dist/components/combo-box/ComboBox.js +90 -90
- package/dist/components/combo-box/index.js +2 -10
- package/dist/components/date-field/DateField.js +41 -41
- package/dist/components/date-field/index.js +2 -11
- package/dist/components/date-picker/DatePicker.js +40 -40
- package/dist/components/date-picker/index.js +2 -3
- package/dist/components/date-range-picker/DateRangePicker.js +55 -55
- package/dist/components/date-range-picker/index.js +2 -3
- package/dist/components/description/Description.js +9 -9
- package/dist/components/description/index.js +2 -5
- package/dist/components/disclosure/Disclosure.js +40 -40
- package/dist/components/disclosure/index.js +3 -9
- package/dist/components/disclosure-group/DisclosureGroup.js +13 -13
- package/dist/components/disclosure-group/index.js +4 -6
- package/dist/components/disclosure-group/useDisclosureGroupNavigation.js +4 -4
- package/dist/components/drawer/Drawer.css +51 -0
- package/dist/components/drawer/Drawer.d.ts +7 -0
- package/dist/components/drawer/Drawer.js +105 -80
- package/dist/components/drawer/index.d.ts +1 -1
- package/dist/components/drawer/index.js +2 -15
- package/dist/components/dropdown/Dropdown.js +60 -60
- package/dist/components/dropdown/index.js +2 -4
- package/dist/components/empty-state/EmptyState.js +25 -25
- package/dist/components/empty-state/index.js +2 -8
- package/dist/components/error-message/ErrorMessage.js +12 -12
- package/dist/components/error-message/index.js +2 -5
- package/dist/components/field-error/FieldError.js +16 -16
- package/dist/components/field-error/index.js +2 -5
- package/dist/components/fieldset/Fieldset.js +21 -21
- package/dist/components/fieldset/index.js +2 -8
- package/dist/components/flex/Flex.js +14 -14
- package/dist/components/flex/index.js +2 -3
- package/dist/components/floating-dock/FloatingDock.js +76 -76
- package/dist/components/floating-dock/index.js +2 -3
- package/dist/components/footer/Footer.js +11 -11
- package/dist/components/footer/FooterTitle.js +9 -9
- package/dist/components/footer/index.js +2 -3
- package/dist/components/form/Form.js +8 -8
- package/dist/components/form/index.js +2 -5
- package/dist/components/glass-panel/GlassPanel.js +29 -29
- package/dist/components/glass-panel/index.js +2 -3
- package/dist/components/glow-card/GlowCard.js +10 -10
- package/dist/components/glow-card/index.js +2 -3
- package/dist/components/grid/Grid.js +15 -15
- package/dist/components/grid/index.js +2 -3
- package/dist/components/header/Header.js +12 -12
- package/dist/components/header/index.js +2 -5
- package/dist/components/icon/Icon.js +9 -8
- package/dist/components/icon/index.js +2 -3
- package/dist/components/immersive-landing/ImmersiveLanding.js +44 -44
- package/dist/components/immersive-landing/ImmersiveLandingArrows.js +17 -17
- package/dist/components/immersive-landing/ImmersiveLandingContext.js +3 -3
- package/dist/components/immersive-landing/ImmersiveLandingNavigation.js +36 -36
- package/dist/components/immersive-landing/ImmersiveLandingPage.js +15 -15
- package/dist/components/immersive-landing/components/CookieConsent.js +71 -71
- package/dist/components/immersive-landing/components/FirefoxPWABanner.js +42 -42
- package/dist/components/immersive-landing/components/PWAInstallPrompt.js +40 -40
- package/dist/components/immersive-landing/index.js +7 -14
- package/dist/components/immersive-landing/useImmersiveLanding.js +7 -7
- package/dist/components/input/Input.css +0 -4
- package/dist/components/input/Input.js +48 -48
- package/dist/components/input/index.js +2 -2
- package/dist/components/input-group/InputGroup.js +33 -33
- package/dist/components/input-group/index.js +2 -9
- package/dist/components/input-otp/InputOTP.js +48 -48
- package/dist/components/input-otp/index.js +2 -11
- package/dist/components/join/Join.js +14 -14
- package/dist/components/join/index.js +2 -3
- package/dist/components/kbd/Kbd.js +20 -20
- package/dist/components/kbd/index.js +2 -8
- package/dist/components/label/Label.js +9 -9
- package/dist/components/label/index.js +2 -5
- package/dist/components/language-switcher/LanguageSwitcher.js +26 -26
- package/dist/components/language-switcher/createI18n.js +8 -8
- package/dist/components/language-switcher/index.js +3 -8
- package/dist/components/link/Link.js +22 -22
- package/dist/components/link/index.js +2 -5
- package/dist/components/list-box/ListBox.js +17 -17
- package/dist/components/list-box/ListBoxItem.js +32 -32
- package/dist/components/list-box/ListBoxSection.js +13 -13
- package/dist/components/list-box/context.js +2 -2
- package/dist/components/list-box/index.js +9 -15
- package/dist/components/live-chat/LiveChatBubble.js +27 -27
- package/dist/components/live-chat/LiveChatPanel.js +62 -62
- package/dist/components/live-chat/index.js +3 -5
- package/dist/components/menu/Menu.js +25 -30
- package/dist/components/menu/MenuItem.js +38 -38
- package/dist/components/menu/MenuSection.js +13 -13
- package/dist/components/menu/context.js +2 -2
- package/dist/components/menu/index.js +3 -12
- package/dist/components/meter/Meter.js +31 -31
- package/dist/components/meter/index.js +2 -8
- package/dist/components/modal/Modal.js +80 -80
- package/dist/components/modal/index.js +2 -13
- package/dist/components/navbar/Navbar.js +18 -18
- package/dist/components/navbar/NavbarRow.js +10 -10
- package/dist/components/navbar/NavbarSection.js +9 -9
- package/dist/components/navbar/NavbarStack.js +10 -10
- package/dist/components/navbar/index.js +2 -3
- package/dist/components/noise-background/NoiseBackground.js +35 -35
- package/dist/components/noise-background/index.js +2 -3
- package/dist/components/number-field/NumberField.js +42 -42
- package/dist/components/number-field/index.js +2 -9
- package/dist/components/pagination/Pagination.js +34 -34
- package/dist/components/pagination/index.js +2 -3
- package/dist/components/popover/Popover.js +44 -44
- package/dist/components/popover/index.js +3 -9
- package/dist/components/progress-bar/ProgressBar.js +27 -27
- package/dist/components/progress-bar/index.js +2 -3
- package/dist/components/progress-circle/ProgressCircle.js +32 -32
- package/dist/components/progress-circle/index.js +2 -3
- package/dist/components/radio/Radio.js +27 -27
- package/dist/components/radio/index.js +2 -3
- package/dist/components/radio-group/RadioGroup.js +33 -33
- package/dist/components/radio-group/context.js +2 -2
- package/dist/components/radio-group/index.js +3 -4
- package/dist/components/range-calendar/RangeCalendar.js +15 -15
- package/dist/components/range-calendar/index.js +2 -3
- package/dist/components/scroll-shadow/ScrollShadow.js +19 -19
- package/dist/components/scroll-shadow/index.js +2 -3
- package/dist/components/scroll-shadow/useScrollShadow.js +3 -3
- package/dist/components/search-field/SearchField.js +38 -38
- package/dist/components/search-field/index.js +2 -9
- package/dist/components/select/Select.js +123 -123
- package/dist/components/select/index.js +2 -3
- package/dist/components/separator/Separator.js +11 -11
- package/dist/components/separator/index.js +2 -4
- package/dist/components/size-picker/SizePicker.js +17 -17
- package/dist/components/size-picker/index.js +3 -6
- package/dist/components/size-picker/sizeStore.js +3 -3
- package/dist/components/skeleton/Skeleton.js +8 -8
- package/dist/components/skeleton/index.js +2 -3
- package/dist/components/slider/Slider.js +26 -26
- package/dist/components/slider/index.js +2 -3
- package/dist/components/spinner/Spinner.js +19 -19
- package/dist/components/spinner/index.js +2 -5
- package/dist/components/surface/Surface.js +9 -9
- package/dist/components/surface/index.js +2 -4
- package/dist/components/table/Table.js +80 -80
- package/dist/components/table/index.js +3 -28
- package/dist/components/tabs/Tabs.js +59 -59
- package/dist/components/tabs/index.js +2 -4
- package/dist/components/tag/Tag.js +40 -40
- package/dist/components/tag/index.js +2 -6
- package/dist/components/tag-group/TagGroup.js +20 -20
- package/dist/components/tag-group/context.js +2 -2
- package/dist/components/tag-group/index.js +2 -6
- package/dist/components/text/Text.js +9 -9
- package/dist/components/text/index.js +2 -5
- package/dist/components/text-area/TextArea.js +10 -10
- package/dist/components/text-area/index.js +2 -5
- package/dist/components/text-field/TextField.js +15 -15
- package/dist/components/text-field/index.js +2 -7
- package/dist/components/textarea/Textarea.js +11 -13
- package/dist/components/textarea/index.js +2 -6
- package/dist/components/theme-color-picker/ThemeColorPicker.js +43 -43
- package/dist/components/theme-color-picker/hueShift.js +3 -3
- package/dist/components/theme-color-picker/index.js +3 -7
- package/dist/components/time-field/TimeField.js +41 -41
- package/dist/components/time-field/index.js +2 -11
- package/dist/components/toast/Toast.js +98 -98
- package/dist/components/toast/index.js +2 -19
- package/dist/components/toggle/Toggle.css +0 -9
- package/dist/components/toggle/Toggle.js +31 -31
- package/dist/components/toggle/index.js +2 -3
- package/dist/components/toolbar/Toolbar.js +10 -10
- package/dist/components/toolbar/index.js +2 -5
- package/dist/components/tooltip/Tooltip.js +28 -28
- package/dist/components/tooltip/index.js +2 -7
- package/dist/components/utils.js +6 -7
- package/dist/components/video-preview/VideoPreview.js +15 -15
- package/dist/components/video-preview/index.js +2 -3
- package/dist/hooks/date/useCalendarNavigation.js +18 -18
- package/dist/hooks/date/useCalendarState.js +19 -19
- package/dist/hooks/date/useDateSelection.js +7 -7
- package/dist/hooks/date/usePickerOpenState.js +8 -8
- package/dist/hooks/date/useRangeSelection.js +16 -16
- package/dist/hooks/form/index.js +6 -12
- package/dist/hooks/form/useField.js +4 -4
- package/dist/hooks/form/useFieldError.js +2 -2
- package/dist/hooks/form/useFieldMeta.js +10 -10
- package/dist/hooks/form/useFieldProps.js +2 -2
- package/dist/hooks/form/useForm.js +4 -4
- package/dist/hooks/layout/index.js +2 -3
- package/dist/hooks/layout/useDesktop.js +4 -4
- package/dist/hooks/table/index.js +9 -18
- package/dist/hooks/table/useAnchoredOverlayPosition.js +4 -4
- package/dist/hooks/table/useTableExpansion.js +4 -4
- package/dist/hooks/table/useTableFiltering.js +8 -8
- package/dist/hooks/table/useTableModel.js +10 -10
- package/dist/hooks/table/useTablePagination.js +4 -4
- package/dist/hooks/table/useTableSelection.js +4 -4
- package/dist/hooks/table/useTableSorting.js +6 -6
- package/dist/index.d.ts +1 -1
- package/dist/index.js +97 -366
- package/dist/lib/refs/index.js +2 -3
- package/dist/lib/refs/mergeRefs.js +2 -2
- package/dist/lib/style/index.js +2 -4
- package/dist/lib/tag/createIsButton.js +4 -4
- package/dist/lib/tag/createTagName.js +2 -2
- package/dist/lib/tag/index.js +3 -7
- package/dist/motion/engine.js +4 -4
- package/dist/motion/index.js +11 -34
- package/dist/motion/popmotion.js +2 -2
- package/dist/motion/presets.js +4 -4
- package/dist/motion/route.js +7 -7
- package/dist/motion/solid/MotionDiv.js +13 -13
- package/dist/motion/solid/index.js +2 -3
- package/dist/motion/system.js +9 -9
- package/dist/primitives/streaming/index.js +3 -5
- package/dist/primitives/streaming/useStreamingBuffer.js +2 -2
- package/dist/primitives/streaming/useStreamingSubscription.js +7 -7
- package/dist/primitives/virtualizer/index.js +2 -3
- package/dist/primitives/virtualizer/useVirtualRows.js +7 -7
- package/dist/purge-manifest.json +2287 -2287
- package/package.json +1 -1
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
1
|
+
import { createMemo, createSignal } from "solid-js";
|
|
2
|
+
import { normalizeDate } from "./date.utils.js";
|
|
3
3
|
const useDateSelection = (options)=>{
|
|
4
|
-
const [internalValue, setInternalValue] =
|
|
5
|
-
const isControlled =
|
|
6
|
-
const selectedDate =
|
|
7
|
-
if (isControlled()) return
|
|
4
|
+
const [internalValue, setInternalValue] = createSignal(normalizeDate(options.defaultValue()));
|
|
5
|
+
const isControlled = createMemo(()=>void 0 !== options.value());
|
|
6
|
+
const selectedDate = createMemo(()=>{
|
|
7
|
+
if (isControlled()) return normalizeDate(options.value());
|
|
8
8
|
return internalValue();
|
|
9
9
|
});
|
|
10
10
|
const setSelectedDate = (value)=>{
|
|
11
|
-
const normalized =
|
|
11
|
+
const normalized = normalizeDate(value);
|
|
12
12
|
if (!normalized) return;
|
|
13
13
|
if (!isControlled()) setInternalValue(normalized);
|
|
14
14
|
options.onChange()?.(normalized);
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { createEffect, createMemo, createSignal, onCleanup, onMount } from "solid-js";
|
|
2
2
|
const usePickerOpenState = (options)=>{
|
|
3
|
-
const [internalOpen, setInternalOpen] =
|
|
4
|
-
const [rootRef, setRootRef] =
|
|
5
|
-
const isControlled =
|
|
6
|
-
const isOpen =
|
|
3
|
+
const [internalOpen, setInternalOpen] = createSignal(Boolean(options.defaultOpen()));
|
|
4
|
+
const [rootRef, setRootRef] = createSignal(void 0);
|
|
5
|
+
const isControlled = createMemo(()=>void 0 !== options.isOpen());
|
|
6
|
+
const isOpen = createMemo(()=>isControlled() ? Boolean(options.isOpen()) : internalOpen());
|
|
7
7
|
const setOpen = (nextOpen)=>{
|
|
8
8
|
if (nextOpen && options.isDisabled()) return;
|
|
9
9
|
const previous = isOpen();
|
|
@@ -13,7 +13,7 @@ const usePickerOpenState = (options)=>{
|
|
|
13
13
|
const toggleOpen = ()=>{
|
|
14
14
|
setOpen(!isOpen());
|
|
15
15
|
};
|
|
16
|
-
|
|
16
|
+
onMount(()=>{
|
|
17
17
|
const handlePointerDown = (event)=>{
|
|
18
18
|
if (!isOpen()) return;
|
|
19
19
|
const root = rootRef();
|
|
@@ -29,12 +29,12 @@ const usePickerOpenState = (options)=>{
|
|
|
29
29
|
};
|
|
30
30
|
document.addEventListener("pointerdown", handlePointerDown);
|
|
31
31
|
document.addEventListener("keydown", handleGlobalKeyDown);
|
|
32
|
-
|
|
32
|
+
onCleanup(()=>{
|
|
33
33
|
document.removeEventListener("pointerdown", handlePointerDown);
|
|
34
34
|
document.removeEventListener("keydown", handleGlobalKeyDown);
|
|
35
35
|
});
|
|
36
36
|
});
|
|
37
|
-
|
|
37
|
+
createEffect(()=>{
|
|
38
38
|
if (!options.isDisabled()) return;
|
|
39
39
|
if (!isOpen()) return;
|
|
40
40
|
setOpen(false);
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
1
|
+
import { createMemo, createSignal } from "solid-js";
|
|
2
|
+
import { compareDates, createPreviewRange, normalizeDate, normalizeRange } from "./date.utils.js";
|
|
3
3
|
const normalizeCompleteRange = (value)=>{
|
|
4
4
|
if (!value) return null;
|
|
5
|
-
const normalized =
|
|
5
|
+
const normalized = normalizeRange(value.start, value.end);
|
|
6
6
|
if (!normalized.start || !normalized.end) return null;
|
|
7
7
|
return {
|
|
8
8
|
start: normalized.start,
|
|
@@ -10,19 +10,19 @@ const normalizeCompleteRange = (value)=>{
|
|
|
10
10
|
};
|
|
11
11
|
};
|
|
12
12
|
const useRangeSelection = (options)=>{
|
|
13
|
-
const [internalCommittedRange, setInternalCommittedRange] =
|
|
14
|
-
const [pendingStartDate, setPendingStartDate] =
|
|
15
|
-
const [hoveredDate, setHoveredDate] =
|
|
16
|
-
const isControlled =
|
|
17
|
-
const committedRange =
|
|
13
|
+
const [internalCommittedRange, setInternalCommittedRange] = createSignal(normalizeCompleteRange(options.defaultValue()));
|
|
14
|
+
const [pendingStartDate, setPendingStartDate] = createSignal(null);
|
|
15
|
+
const [hoveredDate, setHoveredDate] = createSignal(null);
|
|
16
|
+
const isControlled = createMemo(()=>void 0 !== options.value());
|
|
17
|
+
const committedRange = createMemo(()=>{
|
|
18
18
|
if (isControlled()) return normalizeCompleteRange(options.value());
|
|
19
19
|
return internalCommittedRange();
|
|
20
20
|
});
|
|
21
|
-
const isSelectingEnd =
|
|
22
|
-
const rangeStart =
|
|
23
|
-
const rangeEnd =
|
|
24
|
-
const previewRange =
|
|
25
|
-
const focusDate =
|
|
21
|
+
const isSelectingEnd = createMemo(()=>null !== pendingStartDate());
|
|
22
|
+
const rangeStart = createMemo(()=>pendingStartDate() ?? committedRange()?.start ?? null);
|
|
23
|
+
const rangeEnd = createMemo(()=>pendingStartDate() ? null : committedRange()?.end ?? null);
|
|
24
|
+
const previewRange = createMemo(()=>createPreviewRange(rangeStart(), rangeEnd(), hoveredDate()));
|
|
25
|
+
const focusDate = createMemo(()=>rangeEnd() ?? rangeStart() ?? null);
|
|
26
26
|
const setCommittedRange = (nextValue)=>{
|
|
27
27
|
const normalized = normalizeCompleteRange(nextValue);
|
|
28
28
|
if (!isControlled()) setInternalCommittedRange(normalized);
|
|
@@ -34,10 +34,10 @@ const useRangeSelection = (options)=>{
|
|
|
34
34
|
};
|
|
35
35
|
const setHoverDate = (value)=>{
|
|
36
36
|
if (!isSelectingEnd()) return void setHoveredDate(null);
|
|
37
|
-
setHoveredDate(
|
|
37
|
+
setHoveredDate(normalizeDate(value));
|
|
38
38
|
};
|
|
39
39
|
const selectDate = (value)=>{
|
|
40
|
-
const normalized =
|
|
40
|
+
const normalized = normalizeDate(value);
|
|
41
41
|
if (!normalized) return;
|
|
42
42
|
const pendingStart = pendingStartDate();
|
|
43
43
|
if (!pendingStart) {
|
|
@@ -45,7 +45,7 @@ const useRangeSelection = (options)=>{
|
|
|
45
45
|
setHoveredDate(null);
|
|
46
46
|
return;
|
|
47
47
|
}
|
|
48
|
-
if (
|
|
48
|
+
if (compareDates(normalized, pendingStart) < 0) {
|
|
49
49
|
setPendingStartDate(normalized);
|
|
50
50
|
setHoveredDate(null);
|
|
51
51
|
return;
|
package/dist/hooks/form/index.js
CHANGED
|
@@ -1,12 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
|
|
7
|
-
var __webpack_exports__useField = __WEBPACK_EXTERNAL_MODULE__useField_js_8e8be5a6__.useField;
|
|
8
|
-
var __webpack_exports__useFieldError = __WEBPACK_EXTERNAL_MODULE__useFieldError_js_33478ad6__.useFieldError;
|
|
9
|
-
var __webpack_exports__useFieldMeta = __WEBPACK_EXTERNAL_MODULE__useFieldMeta_js_65e8362d__.useFieldMeta;
|
|
10
|
-
var __webpack_exports__useFieldProps = __WEBPACK_EXTERNAL_MODULE__useFieldProps_js_5d2e9ac4__.useFieldProps;
|
|
11
|
-
var __webpack_exports__useForm = __WEBPACK_EXTERNAL_MODULE__useForm_js_e31b00cd__.useForm;
|
|
12
|
-
export { __webpack_exports__getFormControllerFromElement as getFormControllerFromElement, __webpack_exports__useField as useField, __webpack_exports__useFieldError as useFieldError, __webpack_exports__useFieldMeta as useFieldMeta, __webpack_exports__useFieldProps as useFieldProps, __webpack_exports__useForm as useForm };
|
|
1
|
+
import { getFormControllerFromElement, useForm } from "./useForm.js";
|
|
2
|
+
import { useFieldMeta } from "./useFieldMeta.js";
|
|
3
|
+
import { useFieldError } from "./useFieldError.js";
|
|
4
|
+
import { useField } from "./useField.js";
|
|
5
|
+
import { useFieldProps } from "./useFieldProps.js";
|
|
6
|
+
export { getFormControllerFromElement, useField, useFieldError, useFieldMeta, useFieldProps, useForm };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
1
|
+
import { createMemo } from "solid-js";
|
|
2
|
+
import { useFieldMeta } from "./useFieldMeta.js";
|
|
3
3
|
const useField = (name, options = {})=>{
|
|
4
|
-
const meta =
|
|
4
|
+
const meta = useFieldMeta(name, options);
|
|
5
5
|
const setValue = (value)=>{
|
|
6
6
|
const form = meta.controller();
|
|
7
7
|
const fieldName = meta.name();
|
|
@@ -13,7 +13,7 @@ const useField = (name, options = {})=>{
|
|
|
13
13
|
value: meta.value,
|
|
14
14
|
error: meta.error,
|
|
15
15
|
touched: meta.touched,
|
|
16
|
-
invalid:
|
|
16
|
+
invalid: createMemo(()=>meta.invalid()),
|
|
17
17
|
setValue
|
|
18
18
|
};
|
|
19
19
|
};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import
|
|
2
|
-
const useFieldError = (name, options = {})=>
|
|
1
|
+
import { useFieldMeta } from "./useFieldMeta.js";
|
|
2
|
+
const useFieldError = (name, options = {})=>useFieldMeta(name, options).error;
|
|
3
3
|
export { useFieldError };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
1
|
+
import { createMemo } from "solid-js";
|
|
2
|
+
import { getFormControllerFromElement } from "./useForm.js";
|
|
3
|
+
import { normalizeFieldError } from "./utils.js";
|
|
4
4
|
const isFormController = (value)=>{
|
|
5
5
|
if ("function" != typeof value) return false;
|
|
6
6
|
const candidate = value;
|
|
@@ -17,25 +17,25 @@ const readFieldState = (form, name, reader)=>{
|
|
|
17
17
|
const useFieldMeta = (name, options = {})=>{
|
|
18
18
|
const nameAccessor = resolveFieldName(name);
|
|
19
19
|
const showWhenTouched = options.showWhenTouched ?? true;
|
|
20
|
-
const controller =
|
|
20
|
+
const controller = createMemo(()=>{
|
|
21
21
|
if (options.form) {
|
|
22
22
|
if (isFormController(options.form)) return options.form;
|
|
23
23
|
return options.form();
|
|
24
24
|
}
|
|
25
25
|
const currentElement = options.element?.();
|
|
26
26
|
if (!currentElement) return;
|
|
27
|
-
return
|
|
27
|
+
return getFormControllerFromElement(currentElement);
|
|
28
28
|
});
|
|
29
|
-
const value =
|
|
30
|
-
const touched =
|
|
31
|
-
const rawError =
|
|
32
|
-
const error =
|
|
29
|
+
const value = createMemo(()=>readFieldState(controller(), nameAccessor(), (path)=>controller()?.data(path)));
|
|
30
|
+
const touched = createMemo(()=>Boolean(readFieldState(controller(), nameAccessor(), (path)=>controller()?.touched(path))));
|
|
31
|
+
const rawError = createMemo(()=>normalizeFieldError(readFieldState(controller(), nameAccessor(), (path)=>controller()?.errors(path))));
|
|
32
|
+
const error = createMemo(()=>{
|
|
33
33
|
const message = rawError();
|
|
34
34
|
if (!message) return;
|
|
35
35
|
if (!showWhenTouched) return message;
|
|
36
36
|
return touched() ? message : void 0;
|
|
37
37
|
});
|
|
38
|
-
const invalid =
|
|
38
|
+
const invalid = createMemo(()=>Boolean(error()));
|
|
39
39
|
return {
|
|
40
40
|
controller,
|
|
41
41
|
name: nameAccessor,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { useFieldMeta } from "./useFieldMeta.js";
|
|
2
2
|
const isEventLike = (value)=>value instanceof Event;
|
|
3
3
|
const getValueFromInputLikeEvent = (event)=>{
|
|
4
4
|
const currentTarget = event.currentTarget;
|
|
@@ -12,7 +12,7 @@ const getValueFromInputLikeEvent = (event)=>{
|
|
|
12
12
|
if (element instanceof HTMLTextAreaElement || element instanceof HTMLSelectElement) return element.value;
|
|
13
13
|
};
|
|
14
14
|
const useFieldProps = (name, options = {})=>{
|
|
15
|
-
const meta =
|
|
15
|
+
const meta = useFieldMeta(name, options);
|
|
16
16
|
const setValue = (nextValue)=>{
|
|
17
17
|
const form = meta.controller();
|
|
18
18
|
const fieldName = meta.name();
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
1
|
+
import { createForm } from "@felte/solid";
|
|
2
|
+
import { safeParse } from "valibot";
|
|
3
3
|
const FORM_CONTROLLER_REGISTRY = new WeakMap();
|
|
4
4
|
const getClosestFormElement = (element)=>{
|
|
5
5
|
if (!element) return;
|
|
@@ -20,7 +20,7 @@ const useForm = (options = {})=>{
|
|
|
20
20
|
}
|
|
21
21
|
};
|
|
22
22
|
if (options.schema) formConfig.validate = (values)=>{
|
|
23
|
-
const result =
|
|
23
|
+
const result = safeParse(options.schema, values);
|
|
24
24
|
if (result.success) return;
|
|
25
25
|
const errors = {};
|
|
26
26
|
for (const issue of result.issues)if (issue.path) {
|
|
@@ -29,7 +29,7 @@ const useForm = (options = {})=>{
|
|
|
29
29
|
}
|
|
30
30
|
return errors;
|
|
31
31
|
};
|
|
32
|
-
const { form: felteForm, errors, touched, data, isValid, isSubmitting, setData, setErrors, setWarnings, setTouched, reset } =
|
|
32
|
+
const { form: felteForm, errors, touched, data, isValid, isSubmitting, setData, setErrors, setWarnings, setTouched, reset } = createForm(formConfig);
|
|
33
33
|
let controller;
|
|
34
34
|
const directive = (element, accessor)=>{
|
|
35
35
|
FORM_CONTROLLER_REGISTRY.set(element, controller);
|
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
export { __webpack_exports__useDesktop as useDesktop };
|
|
1
|
+
import { useDesktop } from "./useDesktop.js";
|
|
2
|
+
export { useDesktop };
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { createSignal, onCleanup, onMount } from "solid-js";
|
|
2
2
|
function useDesktop(breakpoint = 1024) {
|
|
3
|
-
const [isDesktop, setIsDesktop] =
|
|
3
|
+
const [isDesktop, setIsDesktop] = createSignal(false);
|
|
4
4
|
const checkIfDesktop = ()=>{
|
|
5
5
|
const width = window.innerWidth;
|
|
6
6
|
setIsDesktop(width >= breakpoint);
|
|
7
7
|
};
|
|
8
|
-
|
|
8
|
+
onMount(()=>{
|
|
9
9
|
checkIfDesktop();
|
|
10
10
|
window.addEventListener("resize", checkIfDesktop);
|
|
11
11
|
});
|
|
12
|
-
|
|
12
|
+
onCleanup(()=>{
|
|
13
13
|
window.removeEventListener("resize", checkIfDesktop);
|
|
14
14
|
});
|
|
15
15
|
return isDesktop;
|
|
@@ -1,18 +1,9 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
|
|
10
|
-
var __webpack_exports__toSortingState = __WEBPACK_EXTERNAL_MODULE__helpers_js_87289b43__.toSortingState;
|
|
11
|
-
var __webpack_exports__useAnchoredOverlayPosition = __WEBPACK_EXTERNAL_MODULE__useAnchoredOverlayPosition_js_ef09d6e3__.useAnchoredOverlayPosition;
|
|
12
|
-
var __webpack_exports__useTableExpansion = __WEBPACK_EXTERNAL_MODULE__useTableExpansion_js_e1dc5a4d__.useTableExpansion;
|
|
13
|
-
var __webpack_exports__useTableFiltering = __WEBPACK_EXTERNAL_MODULE__useTableFiltering_js_c008d8f8__.useTableFiltering;
|
|
14
|
-
var __webpack_exports__useTableModel = __WEBPACK_EXTERNAL_MODULE__useTableModel_js_1f373411__.useTableModel;
|
|
15
|
-
var __webpack_exports__useTablePagination = __WEBPACK_EXTERNAL_MODULE__useTablePagination_js_221a602e__.useTablePagination;
|
|
16
|
-
var __webpack_exports__useTableSelection = __WEBPACK_EXTERNAL_MODULE__useTableSelection_js_6791c7a2__.useTableSelection;
|
|
17
|
-
var __webpack_exports__useTableSorting = __WEBPACK_EXTERNAL_MODULE__useTableSorting_js_bcbcf7e7__.useTableSorting;
|
|
18
|
-
export { __webpack_exports__toSortDescriptor as toSortDescriptor, __webpack_exports__toSortingState as toSortingState, __webpack_exports__useAnchoredOverlayPosition as useAnchoredOverlayPosition, __webpack_exports__useTableExpansion as useTableExpansion, __webpack_exports__useTableFiltering as useTableFiltering, __webpack_exports__useTableModel as useTableModel, __webpack_exports__useTablePagination as useTablePagination, __webpack_exports__useTableSelection as useTableSelection, __webpack_exports__useTableSorting as useTableSorting };
|
|
1
|
+
import { useTableSorting } from "./useTableSorting.js";
|
|
2
|
+
import { useTablePagination } from "./useTablePagination.js";
|
|
3
|
+
import { useTableFiltering } from "./useTableFiltering.js";
|
|
4
|
+
import { useTableSelection } from "./useTableSelection.js";
|
|
5
|
+
import { useTableExpansion } from "./useTableExpansion.js";
|
|
6
|
+
import { useTableModel } from "./useTableModel.js";
|
|
7
|
+
import { toSortDescriptor, toSortingState } from "./helpers.js";
|
|
8
|
+
import { useAnchoredOverlayPosition } from "./useAnchoredOverlayPosition.js";
|
|
9
|
+
export { toSortDescriptor, toSortingState, useAnchoredOverlayPosition, useTableExpansion, useTableFiltering, useTableModel, useTablePagination, useTableSelection, useTableSorting };
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { createEffect, createSignal, onCleanup } from "solid-js";
|
|
2
2
|
const resolveNumber = (value)=>{
|
|
3
3
|
if ("function" == typeof value) return value();
|
|
4
4
|
return value;
|
|
5
5
|
};
|
|
6
6
|
const useAnchoredOverlayPosition = (options)=>{
|
|
7
|
-
const [style, setStyle] =
|
|
7
|
+
const [style, setStyle] = createSignal({
|
|
8
8
|
position: "fixed",
|
|
9
9
|
top: "0px",
|
|
10
10
|
left: "0px",
|
|
@@ -39,7 +39,7 @@ const useAnchoredOverlayPosition = (options)=>{
|
|
|
39
39
|
"z-index": options.zIndex?.toString() ?? "1300"
|
|
40
40
|
});
|
|
41
41
|
};
|
|
42
|
-
|
|
42
|
+
createEffect(()=>{
|
|
43
43
|
if (!options.isOpen()) return;
|
|
44
44
|
requestAnimationFrame(()=>{
|
|
45
45
|
updatePosition();
|
|
@@ -48,7 +48,7 @@ const useAnchoredOverlayPosition = (options)=>{
|
|
|
48
48
|
const onViewportChange = ()=>updatePosition();
|
|
49
49
|
window.addEventListener("resize", onViewportChange);
|
|
50
50
|
window.addEventListener("scroll", onViewportChange, true);
|
|
51
|
-
|
|
51
|
+
onCleanup(()=>{
|
|
52
52
|
window.removeEventListener("resize", onViewportChange);
|
|
53
53
|
window.removeEventListener("scroll", onViewportChange, true);
|
|
54
54
|
});
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
1
|
+
import { createSignal } from "solid-js";
|
|
2
|
+
import { resolveUpdater } from "./helpers.js";
|
|
3
3
|
const useTableExpansion = (options = {})=>{
|
|
4
|
-
const [internalExpanded, setInternalExpanded] =
|
|
4
|
+
const [internalExpanded, setInternalExpanded] = createSignal(options.initialExpanded ?? {});
|
|
5
5
|
const expanded = ()=>options.expanded?.() ?? internalExpanded();
|
|
6
6
|
const setExpanded = (updater)=>{
|
|
7
7
|
if (options.setExpanded) return void options.setExpanded(updater);
|
|
8
|
-
setInternalExpanded((prev)=>
|
|
8
|
+
setInternalExpanded((prev)=>resolveUpdater(prev, updater));
|
|
9
9
|
};
|
|
10
10
|
const collapseAll = ()=>setExpanded({});
|
|
11
11
|
return {
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
1
|
+
import { createMemo, createSignal } from "solid-js";
|
|
2
|
+
import { resolveUpdater } from "./helpers.js";
|
|
3
3
|
const useTableFiltering = (options = {})=>{
|
|
4
|
-
const [internalColumnFilters, setInternalColumnFilters] =
|
|
5
|
-
const [internalGlobalFilter, setInternalGlobalFilter] =
|
|
6
|
-
const [openFilterFor, setOpenFilterFor] =
|
|
4
|
+
const [internalColumnFilters, setInternalColumnFilters] = createSignal(options.initialColumnFilters ?? []);
|
|
5
|
+
const [internalGlobalFilter, setInternalGlobalFilter] = createSignal(options.initialGlobalFilter ?? "");
|
|
6
|
+
const [openFilterFor, setOpenFilterFor] = createSignal(null);
|
|
7
7
|
const columnFilters = ()=>options.columnFilters?.() ?? internalColumnFilters();
|
|
8
8
|
const globalFilter = ()=>options.globalFilter?.() ?? internalGlobalFilter();
|
|
9
9
|
const setColumnFilters = (updater)=>{
|
|
10
10
|
if (options.setColumnFilters) return void options.setColumnFilters(updater);
|
|
11
|
-
setInternalColumnFilters((prev)=>
|
|
11
|
+
setInternalColumnFilters((prev)=>resolveUpdater(prev, updater));
|
|
12
12
|
};
|
|
13
13
|
const setGlobalFilter = (updater)=>{
|
|
14
14
|
if (options.setGlobalFilter) return void options.setGlobalFilter(updater);
|
|
15
|
-
setInternalGlobalFilter((prev)=>
|
|
15
|
+
setInternalGlobalFilter((prev)=>resolveUpdater(prev, updater));
|
|
16
16
|
};
|
|
17
17
|
const closeFilter = ()=>setOpenFilterFor(null);
|
|
18
18
|
const toggleFilter = (columnId)=>{
|
|
@@ -49,7 +49,7 @@ const useTableFiltering = (options = {})=>{
|
|
|
49
49
|
}
|
|
50
50
|
};
|
|
51
51
|
};
|
|
52
|
-
const anyFilterActive =
|
|
52
|
+
const anyFilterActive = createMemo(()=>columnFilters().length > 0);
|
|
53
53
|
return {
|
|
54
54
|
columnFilters,
|
|
55
55
|
setColumnFilters,
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
1
|
+
import { createSolidTable, getCoreRowModel, getExpandedRowModel, getFilteredRowModel, getPaginationRowModel, getSortedRowModel } from "@tanstack/solid-table";
|
|
2
|
+
import { asAccessor } from "./helpers.js";
|
|
3
3
|
const useTableModel = (options)=>{
|
|
4
|
-
const dataAccessor =
|
|
5
|
-
const columnsAccessor =
|
|
6
|
-
return
|
|
4
|
+
const dataAccessor = asAccessor(options.data);
|
|
5
|
+
const columnsAccessor = asAccessor(options.columns);
|
|
6
|
+
return createSolidTable({
|
|
7
7
|
get data () {
|
|
8
8
|
return dataAccessor();
|
|
9
9
|
},
|
|
@@ -40,11 +40,11 @@ const useTableModel = (options)=>{
|
|
|
40
40
|
onGlobalFilterChange: options.setGlobalFilter,
|
|
41
41
|
onRowSelectionChange: options.setRowSelection,
|
|
42
42
|
onExpandedChange: options.setExpanded,
|
|
43
|
-
getCoreRowModel:
|
|
44
|
-
getSortedRowModel:
|
|
45
|
-
getFilteredRowModel:
|
|
46
|
-
getPaginationRowModel:
|
|
47
|
-
getExpandedRowModel:
|
|
43
|
+
getCoreRowModel: getCoreRowModel(),
|
|
44
|
+
getSortedRowModel: getSortedRowModel(),
|
|
45
|
+
getFilteredRowModel: getFilteredRowModel(),
|
|
46
|
+
getPaginationRowModel: getPaginationRowModel(),
|
|
47
|
+
getExpandedRowModel: getExpandedRowModel(),
|
|
48
48
|
enableSorting: options.enableSorting,
|
|
49
49
|
enableFilters: options.enableFilters,
|
|
50
50
|
manualPagination: void 0 === options.enablePagination ? false : !options.enablePagination,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
1
|
+
import { createSignal } from "solid-js";
|
|
2
|
+
import { resolveUpdater } from "./helpers.js";
|
|
3
3
|
const DEFAULT_PAGE_SIZE_OPTIONS = [
|
|
4
4
|
10,
|
|
5
5
|
25,
|
|
@@ -7,7 +7,7 @@ const DEFAULT_PAGE_SIZE_OPTIONS = [
|
|
|
7
7
|
100
|
|
8
8
|
];
|
|
9
9
|
const useTablePagination = (options = {})=>{
|
|
10
|
-
const [internalPagination, setInternalPagination] =
|
|
10
|
+
const [internalPagination, setInternalPagination] = createSignal(options.initialPagination ?? {
|
|
11
11
|
pageIndex: 0,
|
|
12
12
|
pageSize: 10
|
|
13
13
|
});
|
|
@@ -15,7 +15,7 @@ const useTablePagination = (options = {})=>{
|
|
|
15
15
|
const pageSizeOptions = ()=>options.pageSizeOptions ?? DEFAULT_PAGE_SIZE_OPTIONS;
|
|
16
16
|
const setPagination = (updater)=>{
|
|
17
17
|
if (options.setPagination) return void options.setPagination(updater);
|
|
18
|
-
setInternalPagination((prev)=>
|
|
18
|
+
setInternalPagination((prev)=>resolveUpdater(prev, updater));
|
|
19
19
|
};
|
|
20
20
|
const setPageIndex = (index)=>{
|
|
21
21
|
setPagination((prev)=>({
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
1
|
+
import { createSignal } from "solid-js";
|
|
2
|
+
import { resolveUpdater } from "./helpers.js";
|
|
3
3
|
const useTableSelection = (options = {})=>{
|
|
4
|
-
const [internalRowSelection, setInternalRowSelection] =
|
|
4
|
+
const [internalRowSelection, setInternalRowSelection] = createSignal(options.initialRowSelection ?? {});
|
|
5
5
|
const rowSelection = ()=>options.rowSelection?.() ?? internalRowSelection();
|
|
6
6
|
const setRowSelection = (updater)=>{
|
|
7
7
|
if (options.setRowSelection) return void options.setRowSelection(updater);
|
|
8
|
-
setInternalRowSelection((prev)=>
|
|
8
|
+
setInternalRowSelection((prev)=>resolveUpdater(prev, updater));
|
|
9
9
|
};
|
|
10
10
|
const clearSelection = ()=>setRowSelection({});
|
|
11
11
|
return {
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
1
|
+
import { createMemo, createSignal } from "solid-js";
|
|
2
|
+
import { resolveUpdater, toSortDescriptor, toSortingState } from "./helpers.js";
|
|
3
3
|
const useTableSorting = (options = {})=>{
|
|
4
|
-
const [internalSorting, setInternalSorting] =
|
|
4
|
+
const [internalSorting, setInternalSorting] = createSignal(options.initialSorting ?? []);
|
|
5
5
|
const sorting = ()=>options.sorting?.() ?? internalSorting();
|
|
6
6
|
const setSorting = (updater)=>{
|
|
7
7
|
if (options.setSorting) return void options.setSorting(updater);
|
|
8
|
-
setInternalSorting((prev)=>
|
|
8
|
+
setInternalSorting((prev)=>resolveUpdater(prev, updater));
|
|
9
9
|
};
|
|
10
|
-
const sortDescriptor =
|
|
10
|
+
const sortDescriptor = createMemo(()=>toSortDescriptor(sorting()));
|
|
11
11
|
const setSortDescriptor = (descriptor)=>{
|
|
12
|
-
setSorting(
|
|
12
|
+
setSorting(toSortingState(descriptor));
|
|
13
13
|
};
|
|
14
14
|
return {
|
|
15
15
|
sorting,
|
package/dist/index.d.ts
CHANGED
|
@@ -45,7 +45,7 @@ export { default as DatePicker, type DatePickerProps, } from "./components/date-
|
|
|
45
45
|
export { default as DateRangePicker, type DateRangePickerProps, type DateRangeValue, } from "./components/date-range-picker";
|
|
46
46
|
export { default as RangeCalendar, type RangeCalendarProps, type RangeCalendarValue, } from "./components/range-calendar";
|
|
47
47
|
export { default as Drawer, DrawerRoot, DrawerTrigger, DrawerBackdrop, DrawerContent, DrawerDialog, DrawerHeader, DrawerHeading, DrawerBody, DrawerFooter, DrawerHandle, DrawerCloseTrigger, DrawerClose, } from "./components/drawer";
|
|
48
|
-
export type { DrawerPlacement, DrawerBackdropVariant, DrawerRootProps, DrawerTriggerProps, DrawerBackdropProps, DrawerContentProps, DrawerDialogProps, DrawerHeaderProps, DrawerHeadingProps, DrawerBodyProps, DrawerFooterProps, DrawerHandleProps, DrawerCloseTriggerProps, } from "./components/drawer";
|
|
48
|
+
export type { DrawerPlacement, DrawerBackdropVariant, DrawerDialogSide, DrawerDialogBg, DrawerRootProps, DrawerTriggerProps, DrawerBackdropProps, DrawerContentProps, DrawerDialogProps, DrawerHeaderProps, DrawerHeadingProps, DrawerBodyProps, DrawerFooterProps, DrawerHandleProps, DrawerCloseTriggerProps, } from "./components/drawer";
|
|
49
49
|
export { default as Dropdown } from "./components/dropdown";
|
|
50
50
|
export { default as Disclosure } from "./components/disclosure";
|
|
51
51
|
export type { DisclosureProps, DisclosureRootProps, DisclosureHeadingProps, DisclosureTriggerProps, DisclosureContentProps, DisclosureBodyProps, DisclosureIndicatorProps, } from "./components/disclosure";
|