bits-ui 2.3.0 → 2.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/bits/accordion/accordion.svelte.d.ts +0 -5
- package/dist/bits/accordion/accordion.svelte.js +11 -14
- package/dist/bits/aspect-ratio/aspect-ratio.svelte.d.ts +0 -1
- package/dist/bits/aspect-ratio/aspect-ratio.svelte.js +6 -2
- package/dist/bits/avatar/avatar.svelte.d.ts +0 -3
- package/dist/bits/avatar/avatar.svelte.js +8 -6
- package/dist/bits/calendar/calendar.svelte.d.ts +2 -2
- package/dist/bits/calendar/calendar.svelte.js +4 -4
- package/dist/bits/calendar/components/calendar.svelte +4 -3
- package/dist/bits/checkbox/checkbox.svelte.d.ts +0 -3
- package/dist/bits/checkbox/checkbox.svelte.js +14 -14
- package/dist/bits/collapsible/collapsible.svelte.d.ts +0 -3
- package/dist/bits/collapsible/collapsible.svelte.js +8 -7
- package/dist/bits/command/command.svelte.d.ts +0 -12
- package/dist/bits/command/command.svelte.js +35 -31
- package/dist/bits/date-field/components/date-field.svelte +4 -3
- package/dist/bits/date-field/date-field.svelte.d.ts +2 -4
- package/dist/bits/date-field/date-field.svelte.js +8 -6
- package/dist/bits/date-picker/components/date-picker-trigger.svelte +2 -2
- package/dist/bits/date-picker/components/date-picker.svelte +4 -3
- package/dist/bits/date-range-field/components/date-range-field.svelte +4 -3
- package/dist/bits/date-range-field/date-range-field.svelte.d.ts +1 -3
- package/dist/bits/date-range-field/date-range-field.svelte.js +7 -5
- package/dist/bits/date-range-picker/components/date-range-picker-trigger.svelte +2 -2
- package/dist/bits/date-range-picker/components/date-range-picker.svelte +4 -3
- package/dist/bits/dialog/dialog.svelte.d.ts +2 -12
- package/dist/bits/dialog/dialog.svelte.js +16 -24
- package/dist/bits/index.d.ts +1 -0
- package/dist/bits/index.js +1 -0
- package/dist/bits/label/label.svelte.d.ts +0 -1
- package/dist/bits/label/label.svelte.js +6 -2
- package/dist/bits/link-preview/link-preview.svelte.d.ts +0 -2
- package/dist/bits/link-preview/link-preview.svelte.js +7 -5
- package/dist/bits/menu/components/menu-sub-content-static.svelte +1 -1
- package/dist/bits/menu/components/menu-sub-content.svelte +1 -1
- package/dist/bits/menu/menu.svelte.d.ts +2 -1
- package/dist/bits/menu/menu.svelte.js +39 -21
- package/dist/bits/menubar/menubar.svelte.d.ts +1 -7
- package/dist/bits/menubar/menubar.svelte.js +12 -14
- package/dist/bits/meter/meter.svelte.d.ts +0 -1
- package/dist/bits/meter/meter.svelte.js +6 -2
- package/dist/bits/navigation-menu/navigation-menu.svelte.d.ts +2 -11
- package/dist/bits/navigation-menu/navigation-menu.svelte.js +30 -25
- package/dist/bits/pagination/pagination.svelte.d.ts +0 -4
- package/dist/bits/pagination/pagination.svelte.js +9 -10
- package/dist/bits/pin-input/pin-input.svelte.d.ts +0 -2
- package/dist/bits/pin-input/pin-input.svelte.js +7 -5
- package/dist/bits/popover/popover.svelte.d.ts +0 -3
- package/dist/bits/popover/popover.svelte.js +9 -5
- package/dist/bits/progress/progress.svelte.d.ts +0 -1
- package/dist/bits/progress/progress.svelte.js +6 -2
- package/dist/bits/radio-group/radio-group.svelte.d.ts +7 -9
- package/dist/bits/radio-group/radio-group.svelte.js +9 -10
- package/dist/bits/range-calendar/components/range-calendar.svelte +4 -3
- package/dist/bits/range-calendar/range-calendar.svelte.d.ts +38 -38
- package/dist/bits/range-calendar/range-calendar.svelte.js +79 -79
- package/dist/bits/rating-group/rating-group.svelte.d.ts +0 -2
- package/dist/bits/rating-group/rating-group.svelte.js +33 -11
- package/dist/bits/scroll-area/scroll-area.svelte.d.ts +15 -19
- package/dist/bits/scroll-area/scroll-area.svelte.js +10 -10
- package/dist/bits/select/select.svelte.d.ts +28 -30
- package/dist/bits/select/select.svelte.js +37 -49
- package/dist/bits/separator/separator.svelte.d.ts +1 -2
- package/dist/bits/separator/separator.svelte.js +6 -3
- package/dist/bits/slider/slider.svelte.d.ts +17 -24
- package/dist/bits/slider/slider.svelte.js +15 -17
- package/dist/bits/switch/switch.svelte.d.ts +6 -8
- package/dist/bits/switch/switch.svelte.js +7 -5
- package/dist/bits/tabs/tabs.svelte.d.ts +5 -9
- package/dist/bits/tabs/tabs.svelte.js +11 -11
- package/dist/bits/time-field/components/time-field.svelte +4 -3
- package/dist/bits/time-field/time-field.svelte.d.ts +1 -3
- package/dist/bits/time-field/time-field.svelte.js +7 -5
- package/dist/bits/time-range-field/components/time-range-field.svelte +4 -3
- package/dist/bits/time-range-field/time-range-field.svelte.d.ts +1 -3
- package/dist/bits/time-range-field/time-range-field.svelte.js +7 -5
- package/dist/bits/toggle/toggle.svelte.d.ts +3 -3
- package/dist/bits/toggle/toggle.svelte.js +6 -3
- package/dist/bits/toggle-group/toggle-group.svelte.d.ts +1 -2
- package/dist/bits/toggle-group/toggle-group.svelte.js +8 -6
- package/dist/bits/toolbar/toolbar.svelte.d.ts +11 -18
- package/dist/bits/toolbar/toolbar.svelte.js +14 -17
- package/dist/bits/tooltip/tooltip.svelte.d.ts +13 -14
- package/dist/bits/tooltip/tooltip.svelte.js +7 -5
- package/dist/bits/utilities/config/bits-config.d.ts +44 -0
- package/dist/bits/utilities/config/bits-config.js +92 -0
- package/dist/bits/utilities/config/components/bits-config.svelte +14 -0
- package/dist/bits/utilities/config/components/bits-config.svelte.d.ts +4 -0
- package/dist/bits/utilities/config/exports.d.ts +2 -0
- package/dist/bits/utilities/config/exports.js +2 -0
- package/dist/bits/utilities/config/index.d.ts +1 -0
- package/dist/bits/utilities/config/index.js +1 -0
- package/dist/bits/utilities/config/prop-resolvers.d.ts +13 -0
- package/dist/bits/utilities/config/prop-resolvers.js +37 -0
- package/dist/bits/utilities/config/types.d.ts +13 -0
- package/dist/bits/utilities/config/types.js +1 -0
- package/dist/bits/utilities/portal/portal.svelte +21 -21
- package/dist/bits/utilities/portal/types.d.ts +2 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/internal/attrs.d.ts +14 -0
- package/dist/internal/attrs.js +18 -0
- package/dist/internal/date-time/calendar-helpers.svelte.d.ts +1 -0
- package/dist/internal/date-time/calendar-helpers.svelte.js +18 -1
- package/dist/internal/use-arrow-navigation.d.ts +2 -2
- package/dist/internal/use-arrow-navigation.js +1 -1
- package/dist/internal/use-data-typeahead.svelte.d.ts +1 -1
- package/dist/internal/use-data-typeahead.svelte.js +1 -1
- package/dist/types.d.ts +1 -0
- package/package.json +1 -1
package/dist/internal/attrs.js
CHANGED
|
@@ -67,3 +67,21 @@ export function getAriaPressed(condition) {
|
|
|
67
67
|
export function getRequired(condition) {
|
|
68
68
|
return condition ? true : undefined;
|
|
69
69
|
}
|
|
70
|
+
export function createBitsAttrs(config) {
|
|
71
|
+
const variant = config.getVariant?.();
|
|
72
|
+
const prefix = variant ? `data-${variant}-` : `data-${config.component}-`;
|
|
73
|
+
function getAttr(part, variantOverride) {
|
|
74
|
+
if (variantOverride)
|
|
75
|
+
return `data-${variantOverride}-${part}`;
|
|
76
|
+
return `${prefix}${part}`;
|
|
77
|
+
}
|
|
78
|
+
function selector(part, variantOverride) {
|
|
79
|
+
return `[${getAttr(part, variantOverride)}]`;
|
|
80
|
+
}
|
|
81
|
+
const attrs = Object.fromEntries(config.parts.map((part) => [part, getAttr(part)]));
|
|
82
|
+
return {
|
|
83
|
+
...attrs,
|
|
84
|
+
selector,
|
|
85
|
+
getAttr,
|
|
86
|
+
};
|
|
87
|
+
}
|
|
@@ -198,4 +198,5 @@ export declare function useEnsureNonDisabledPlaceholder({ ref, placeholder, defa
|
|
|
198
198
|
defaultPlaceholder: DateValue;
|
|
199
199
|
}): void;
|
|
200
200
|
export declare function getDateWithPreviousTime(date: DateValue | undefined, prev: DateValue | undefined): DateValue | undefined;
|
|
201
|
+
export declare const calendarAttrs: import("../attrs.js").BitsAttrs<readonly ["root", "grid", "cell", "next-button", "prev-button", "day", "grid-body", "grid-head", "grid-row", "head-cell", "header", "heading"]>;
|
|
201
202
|
export {};
|
|
@@ -2,7 +2,7 @@ import { endOfMonth, isSameDay, isSameMonth, startOfMonth, } from "@internationa
|
|
|
2
2
|
import { afterTick, getDocument, styleToString, } from "svelte-toolbelt";
|
|
3
3
|
import { untrack } from "svelte";
|
|
4
4
|
import { getDaysInMonth, getLastFirstDayOfWeek, getNextLastDayOfWeek, hasTime, isAfter, isBefore, parseAnyDateValue, parseStringToDateValue, toDate, } from "./utils.js";
|
|
5
|
-
import { getDataDisabled, getDataInvalid, getDataReadonly } from "../attrs.js";
|
|
5
|
+
import { createBitsAttrs, getDataDisabled, getDataInvalid, getDataReadonly, } from "../attrs.js";
|
|
6
6
|
import { chunk, isValidIndex } from "../arrays.js";
|
|
7
7
|
import { isBrowser, isHTMLElement } from "../is.js";
|
|
8
8
|
import { kbd } from "../kbd.js";
|
|
@@ -514,3 +514,20 @@ export function getDateWithPreviousTime(date, prev) {
|
|
|
514
514
|
}
|
|
515
515
|
return date;
|
|
516
516
|
}
|
|
517
|
+
export const calendarAttrs = createBitsAttrs({
|
|
518
|
+
component: "calendar",
|
|
519
|
+
parts: [
|
|
520
|
+
"root",
|
|
521
|
+
"grid",
|
|
522
|
+
"cell",
|
|
523
|
+
"next-button",
|
|
524
|
+
"prev-button",
|
|
525
|
+
"day",
|
|
526
|
+
"grid-body",
|
|
527
|
+
"grid-head",
|
|
528
|
+
"grid-row",
|
|
529
|
+
"head-cell",
|
|
530
|
+
"header",
|
|
531
|
+
"heading",
|
|
532
|
+
],
|
|
533
|
+
});
|
|
@@ -8,9 +8,9 @@ interface ArrowNavigationOptions {
|
|
|
8
8
|
*/
|
|
9
9
|
arrowKeyOptions?: ArrowKeyOptions;
|
|
10
10
|
/**
|
|
11
|
-
* The
|
|
11
|
+
* The selector to find the collection items in the parent element.
|
|
12
12
|
*/
|
|
13
|
-
|
|
13
|
+
candidateSelector: string;
|
|
14
14
|
/**
|
|
15
15
|
* The parent element where contains all the collection items, this will collect every item to be used when nav
|
|
16
16
|
* It will be ignored if attributeName is provided
|
|
@@ -12,7 +12,7 @@ export function useArrowNavigation(e, currentElement, parentElement, options) {
|
|
|
12
12
|
(options.enableIgnoredElement && ignoredElement.includes(currentElement.nodeName))) {
|
|
13
13
|
return null;
|
|
14
14
|
}
|
|
15
|
-
const { arrowKeyOptions = "both", attributeName, itemsArray = [], loop = true, dir = "ltr", preventScroll = true, focus = false, } = options;
|
|
15
|
+
const { arrowKeyOptions = "both", candidateSelector: attributeName, itemsArray = [], loop = true, dir = "ltr", preventScroll = true, focus = false, } = options;
|
|
16
16
|
const [right, left, up, down, home, end] = [
|
|
17
17
|
e.key === "ArrowRight",
|
|
18
18
|
e.key === "ArrowLeft",
|
|
@@ -4,7 +4,7 @@ type UseDataTypeaheadOpts = {
|
|
|
4
4
|
onMatch: (value: string) => void;
|
|
5
5
|
getCurrentItem: () => string;
|
|
6
6
|
candidateValues: Getter<string[]>;
|
|
7
|
-
enabled: boolean
|
|
7
|
+
enabled: Getter<boolean>;
|
|
8
8
|
getWindow: () => Window & typeof globalThis;
|
|
9
9
|
};
|
|
10
10
|
export declare function useDataTypeahead(opts: UseDataTypeaheadOpts): {
|
package/dist/types.d.ts
CHANGED
|
@@ -40,4 +40,5 @@ export type * from "./bits/toggle/types.js";
|
|
|
40
40
|
export type * from "./bits/toggle-group/types.js";
|
|
41
41
|
export type * from "./bits/toolbar/types.js";
|
|
42
42
|
export type * from "./bits/tooltip/types.js";
|
|
43
|
+
export type * from "./bits/utilities/config/types.js";
|
|
43
44
|
export type { PortalProps } from "./bits/utilities/portal/types.js";
|