asheeui 0.7.0 → 1.0.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/AsheeUIProvider.d.ts.map +1 -1
- package/dist/AsheeUIProvider.js +22 -15
- package/dist/components/accordion/Accordion.d.ts.map +1 -1
- package/dist/components/accordion/Accordion.js +9 -7
- package/dist/components/alert/Alert.d.ts +88 -0
- package/dist/components/alert/Alert.d.ts.map +1 -0
- package/dist/components/alert/Alert.js +61 -0
- package/dist/components/alert/alert-config.d.ts +56 -0
- package/dist/components/alert/alert-config.d.ts.map +1 -0
- package/dist/components/alert/alert-config.js +14 -0
- package/dist/components/alert/alert-styles.d.ts +32 -0
- package/dist/components/alert/alert-styles.d.ts.map +1 -0
- package/dist/components/alert/alert-styles.js +20 -0
- package/dist/components/alert/index.d.ts +3 -0
- package/dist/components/alert/index.d.ts.map +1 -0
- package/dist/components/alert/index.js +3 -0
- package/dist/components/autocomplete/Autocomplete.d.ts +6 -6
- package/dist/components/autocomplete/Autocomplete.d.ts.map +1 -1
- package/dist/components/autocomplete/Autocomplete.js +94 -58
- package/dist/components/autocomplete/autocomplete-config.d.ts +1 -1
- package/dist/components/autocomplete/autocomplete-config.d.ts.map +1 -1
- package/dist/components/avatar/Avatar.d.ts +87 -0
- package/dist/components/avatar/Avatar.d.ts.map +1 -0
- package/dist/components/avatar/Avatar.js +43 -0
- package/dist/components/avatar/avatar-config.d.ts +48 -0
- package/dist/components/avatar/avatar-config.d.ts.map +1 -0
- package/dist/components/avatar/avatar-config.js +14 -0
- package/dist/components/avatar/avatar-styles.d.ts +21 -0
- package/dist/components/avatar/avatar-styles.d.ts.map +1 -0
- package/dist/components/avatar/avatar-styles.js +13 -0
- package/dist/components/avatar/avatar.helpers.d.ts +19 -0
- package/dist/components/avatar/avatar.helpers.d.ts.map +1 -0
- package/dist/components/avatar/avatar.helpers.js +11 -0
- package/dist/components/avatar/index.d.ts +3 -0
- package/dist/components/avatar/index.d.ts.map +1 -0
- package/dist/components/avatar/index.js +4 -0
- package/dist/components/badge/Badge.d.ts +69 -0
- package/dist/components/badge/Badge.d.ts.map +1 -0
- package/dist/components/badge/Badge.js +39 -0
- package/dist/components/badge/badge-config.d.ts +63 -0
- package/dist/components/badge/badge-config.d.ts.map +1 -0
- package/dist/components/badge/badge-config.js +15 -0
- package/dist/components/badge/badge-styles.d.ts +27 -0
- package/dist/components/badge/badge-styles.d.ts.map +1 -0
- package/dist/components/badge/badge-styles.js +25 -0
- package/dist/components/badge/index.d.ts +3 -0
- package/dist/components/badge/index.d.ts.map +1 -0
- package/dist/components/badge/index.js +3 -0
- package/dist/components/breadcrumb/Breadcrumb.d.ts +106 -0
- package/dist/components/breadcrumb/Breadcrumb.d.ts.map +1 -0
- package/dist/components/breadcrumb/Breadcrumb.js +52 -0
- package/dist/components/breadcrumb/breadcrumb-config.d.ts +41 -0
- package/dist/components/breadcrumb/breadcrumb-config.d.ts.map +1 -0
- package/dist/components/breadcrumb/breadcrumb-config.js +10 -0
- package/dist/components/breadcrumb/breadcrumb-styles.d.ts +28 -0
- package/dist/components/breadcrumb/breadcrumb-styles.d.ts.map +1 -0
- package/dist/components/breadcrumb/breadcrumb-styles.js +17 -0
- package/dist/components/breadcrumb/index.d.ts +3 -0
- package/dist/components/breadcrumb/index.d.ts.map +1 -0
- package/dist/components/breadcrumb/index.js +3 -0
- package/dist/components/button/Button.d.ts.map +1 -1
- package/dist/components/button/Button.js +10 -7
- package/dist/components/{date-picker/DatePicker.d.ts → calendar/Calendar.d.ts} +21 -21
- package/dist/components/calendar/Calendar.d.ts.map +1 -0
- package/dist/components/{date-picker/DatePicker.js → calendar/Calendar.js} +11 -11
- package/dist/components/{date-picker/Calendar.d.ts → calendar/DateGrid.d.ts} +7 -7
- package/dist/components/calendar/DateGrid.d.ts.map +1 -0
- package/dist/components/calendar/DateGrid.js +194 -0
- package/dist/components/calendar/TimeSpinner.d.ts.map +1 -0
- package/dist/components/{date-picker → calendar}/TimeSpinner.js +3 -3
- package/dist/components/{date-picker/date-picker-config.d.ts → calendar/calendar-config.d.ts} +17 -17
- package/dist/components/calendar/calendar-config.d.ts.map +1 -0
- package/dist/components/{date-picker/date-picker-config.js → calendar/calendar-config.js} +3 -3
- package/dist/components/{date-picker/date-picker-styles.d.ts → calendar/calendar-styles.d.ts} +1 -1
- package/dist/components/calendar/calendar-styles.d.ts.map +1 -0
- package/dist/components/{date-picker/date-picker-styles.js → calendar/calendar-styles.js} +1 -1
- package/dist/components/{date-picker/date-picker.helpers.d.ts → calendar/calendar.helpers.d.ts} +9 -9
- package/dist/components/calendar/calendar.helpers.d.ts.map +1 -0
- package/dist/components/{date-picker/date-picker.helpers.js → calendar/calendar.helpers.js} +4 -4
- package/dist/components/calendar/index.d.ts +3 -0
- package/dist/components/calendar/index.d.ts.map +1 -0
- package/dist/components/calendar/index.js +6 -0
- package/dist/components/card/Card.d.ts +6 -6
- package/dist/components/card/Card.d.ts.map +1 -1
- package/dist/components/card/Card.js +8 -8
- package/dist/components/carousel/Carousel.d.ts.map +1 -1
- package/dist/components/carousel/Carousel.js +85 -83
- package/dist/components/carousel/carousel-styles.d.ts +1 -20
- package/dist/components/carousel/carousel-styles.d.ts.map +1 -1
- package/dist/components/chip/Chip.js +5 -5
- package/dist/components/drawer/Drawer.d.ts +8 -4
- package/dist/components/drawer/Drawer.d.ts.map +1 -1
- package/dist/components/drawer/Drawer.js +54 -38
- package/dist/components/{select/Select.d.ts → dropmenu/Dropmenu.d.ts} +21 -21
- package/dist/components/{select/Select.d.ts.map → dropmenu/Dropmenu.d.ts.map} +1 -1
- package/dist/components/dropmenu/Dropmenu.js +102 -0
- package/dist/components/{select/select-config.d.ts → dropmenu/dropmenu-config.d.ts} +8 -8
- package/dist/components/dropmenu/dropmenu-config.d.ts.map +1 -0
- package/dist/components/{select/select-config.js → dropmenu/dropmenu-config.js} +3 -3
- package/dist/components/{select/select-styles.d.ts → dropmenu/dropmenu-styles.d.ts} +1 -1
- package/dist/components/dropmenu/dropmenu-styles.d.ts.map +1 -0
- package/dist/components/{select/select-styles.js → dropmenu/dropmenu-styles.js} +1 -1
- package/dist/components/dropmenu/index.d.ts +3 -0
- package/dist/components/dropmenu/index.d.ts.map +1 -0
- package/dist/components/dropmenu/index.js +3 -0
- package/dist/components/field/FieldShell.d.ts +13 -1
- package/dist/components/field/FieldShell.d.ts.map +1 -1
- package/dist/components/field/FieldShell.js +16 -15
- package/dist/components/form/Form.d.ts +109 -0
- package/dist/components/form/Form.d.ts.map +1 -0
- package/dist/components/form/Form.js +42 -0
- package/dist/components/form/form-config.d.ts +57 -0
- package/dist/components/form/form-config.d.ts.map +1 -0
- package/dist/components/form/form-config.js +12 -0
- package/dist/components/form/form-styles.d.ts +27 -0
- package/dist/components/form/form-styles.d.ts.map +1 -0
- package/dist/components/form/form-styles.js +5 -0
- package/dist/components/form/index.d.ts +3 -0
- package/dist/components/form/index.d.ts.map +1 -0
- package/dist/components/form/index.js +3 -0
- package/dist/components/image/Image.d.ts +4 -5
- package/dist/components/image/Image.d.ts.map +1 -1
- package/dist/components/image/Image.js +5 -5
- package/dist/components/input/Input.js +5 -5
- package/dist/components/link/Link.d.ts +12 -10
- package/dist/components/link/Link.d.ts.map +1 -1
- package/dist/components/link/Link.js +1 -1
- package/dist/components/marquee/Marquee.d.ts.map +1 -1
- package/dist/components/marquee/Marquee.js +36 -33
- package/dist/components/{select-menu/SelectMenu.d.ts → menu/Menu.d.ts} +52 -19
- package/dist/components/menu/Menu.d.ts.map +1 -0
- package/dist/components/menu/Menu.js +161 -0
- package/dist/components/menu/index.d.ts +5 -0
- package/dist/components/menu/index.d.ts.map +1 -0
- package/dist/components/menu/index.js +4 -0
- package/dist/components/{select-menu/select-menu-config.d.ts → menu/menu-config.d.ts} +5 -5
- package/dist/components/menu/menu-config.d.ts.map +1 -0
- package/dist/components/{select-menu/select-menu-config.js → menu/menu-config.js} +2 -2
- package/dist/components/menu/menu-navigation.d.ts +38 -0
- package/dist/components/menu/menu-navigation.d.ts.map +1 -0
- package/dist/components/menu/menu-navigation.js +20 -0
- package/dist/components/{select-menu/use-select-floating.d.ts → menu/use-menu-floating.d.ts} +10 -10
- package/dist/components/menu/use-menu-floating.d.ts.map +1 -0
- package/dist/components/{select-menu/use-select-floating.js → menu/use-menu-floating.js} +2 -2
- package/dist/components/modal/Modal.d.ts +6 -1
- package/dist/components/modal/Modal.d.ts.map +1 -1
- package/dist/components/modal/Modal.js +62 -45
- package/dist/components/multi-select/MultiSelect.d.ts +11 -10
- package/dist/components/multi-select/MultiSelect.d.ts.map +1 -1
- package/dist/components/multi-select/MultiSelect.js +99 -86
- package/dist/components/multi-select/multi-select-config.d.ts +1 -1
- package/dist/components/multi-select/multi-select-config.d.ts.map +1 -1
- package/dist/components/pagination/Pagination.d.ts +91 -0
- package/dist/components/pagination/Pagination.d.ts.map +1 -0
- package/dist/components/pagination/Pagination.js +66 -0
- package/dist/components/pagination/index.d.ts +3 -0
- package/dist/components/pagination/index.d.ts.map +1 -0
- package/dist/components/pagination/index.js +4 -0
- package/dist/components/pagination/pagination-config.d.ts +66 -0
- package/dist/components/pagination/pagination-config.d.ts.map +1 -0
- package/dist/components/pagination/pagination-config.js +19 -0
- package/dist/components/pagination/pagination-styles.d.ts +19 -0
- package/dist/components/pagination/pagination-styles.d.ts.map +1 -0
- package/dist/components/pagination/pagination-styles.js +5 -0
- package/dist/components/pagination/pagination.helpers.d.ts +26 -0
- package/dist/components/pagination/pagination.helpers.d.ts.map +1 -0
- package/dist/components/pagination/pagination.helpers.js +12 -0
- package/dist/components/radio/Radio.d.ts +53 -107
- package/dist/components/radio/Radio.d.ts.map +1 -1
- package/dist/components/radio/Radio.js +50 -36
- package/dist/components/radio/RadioGroup.d.ts +107 -53
- package/dist/components/radio/RadioGroup.d.ts.map +1 -1
- package/dist/components/radio/RadioGroup.js +43 -49
- package/dist/components/radio/index.d.ts +0 -1
- package/dist/components/radio/index.d.ts.map +1 -1
- package/dist/components/resizable-screen/ResizableScreen.d.ts +4 -4
- package/dist/components/scrollbar/index.js +1 -0
- package/dist/components/scrollbar/scrollbar-config.js +13 -0
- package/dist/components/sidebar/Sidebar.d.ts.map +1 -1
- package/dist/components/sidebar/Sidebar.js +92 -90
- package/dist/components/skeleton/Skeleton.d.ts +65 -0
- package/dist/components/skeleton/Skeleton.d.ts.map +1 -0
- package/dist/components/skeleton/Skeleton.js +29 -0
- package/dist/components/skeleton/index.d.ts +3 -0
- package/dist/components/skeleton/index.d.ts.map +1 -0
- package/dist/components/skeleton/index.js +3 -0
- package/dist/components/skeleton/skeleton-config.d.ts +40 -0
- package/dist/components/skeleton/skeleton-config.d.ts.map +1 -0
- package/dist/components/skeleton/skeleton-config.js +13 -0
- package/dist/components/skeleton/skeleton-styles.d.ts +19 -0
- package/dist/components/skeleton/skeleton-styles.d.ts.map +1 -0
- package/dist/components/skeleton/skeleton-styles.js +5 -0
- package/dist/components/switch/Switch.d.ts.map +1 -1
- package/dist/components/switch/Switch.js +7 -5
- package/dist/components/table/Table.js +3 -3
- package/dist/components/tabs/Tabs.js +3 -3
- package/dist/components/textarea/Textarea.d.ts +10 -10
- package/dist/components/textarea/Textarea.js +7 -7
- package/dist/components/textarea/textarea-config.d.ts +2 -2
- package/dist/components/toast/ToastItem.d.ts.map +1 -1
- package/dist/components/toast/ToastItem.js +8 -7
- package/dist/components/tooltip/Tooltip.js +5 -5
- package/dist/components/typography/Typography.d.ts +60 -0
- package/dist/components/typography/Typography.d.ts.map +1 -0
- package/dist/components/typography/Typography.js +28 -0
- package/dist/components/typography/index.d.ts +3 -0
- package/dist/components/typography/index.d.ts.map +1 -0
- package/dist/components/typography/index.js +3 -0
- package/dist/components/typography/typography-config.d.ts +54 -0
- package/dist/components/typography/typography-config.d.ts.map +1 -0
- package/dist/components/typography/typography-config.js +12 -0
- package/dist/components/typography/typography-styles.d.ts +21 -0
- package/dist/components/typography/typography-styles.d.ts.map +1 -0
- package/dist/components/typography/typography-styles.js +19 -0
- package/dist/config/default-config.d.ts.map +1 -1
- package/dist/config/default-config.js +2 -2
- package/dist/config/index.js +1 -0
- package/dist/config/validate-config.d.ts +34 -0
- package/dist/config/validate-config.d.ts.map +1 -0
- package/dist/config/validate-config.js +190 -0
- package/dist/index.d.ts +15 -17
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +61 -47
- package/dist/libs/index.js +3 -0
- package/dist/libs/use-body-scroll-lock.d.ts +21 -0
- package/dist/libs/use-body-scroll-lock.d.ts.map +1 -0
- package/dist/libs/use-body-scroll-lock.js +27 -0
- package/dist/libs/use-dialog-overlay.d.ts +21 -0
- package/dist/libs/use-dialog-overlay.d.ts.map +1 -0
- package/dist/libs/use-dialog-overlay.js +21 -0
- package/dist/libs/use-prefers-reduced-motion.d.ts +23 -0
- package/dist/libs/use-prefers-reduced-motion.d.ts.map +1 -0
- package/dist/libs/use-prefers-reduced-motion.js +19 -0
- package/dist/scripts/AsheeThemeScript.js +43 -8
- package/dist/shared/index.d.ts +1 -0
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/shared/typography.d.ts +81 -0
- package/dist/shared/typography.d.ts.map +1 -0
- package/dist/shared/typography.js +137 -0
- package/dist/utils/stacking.d.ts +2 -2
- package/dist/utils/stacking.d.ts.map +1 -1
- package/package.json +13 -6
- package/dist/components/date-picker/Calendar.d.ts.map +0 -1
- package/dist/components/date-picker/Calendar.js +0 -143
- package/dist/components/date-picker/DatePicker.d.ts.map +0 -1
- package/dist/components/date-picker/TimeSpinner.d.ts.map +0 -1
- package/dist/components/date-picker/date-picker-config.d.ts.map +0 -1
- package/dist/components/date-picker/date-picker-styles.d.ts.map +0 -1
- package/dist/components/date-picker/date-picker.helpers.d.ts.map +0 -1
- package/dist/components/date-picker/index.d.ts +0 -3
- package/dist/components/date-picker/index.d.ts.map +0 -1
- package/dist/components/date-picker/index.js +0 -6
- package/dist/components/select/Select.js +0 -98
- package/dist/components/select/index.d.ts +0 -3
- package/dist/components/select/index.d.ts.map +0 -1
- package/dist/components/select/index.js +0 -3
- package/dist/components/select/select-config.d.ts.map +0 -1
- package/dist/components/select/select-styles.d.ts.map +0 -1
- package/dist/components/select-menu/SelectMenu.d.ts.map +0 -1
- package/dist/components/select-menu/SelectMenu.js +0 -104
- package/dist/components/select-menu/index.d.ts +0 -4
- package/dist/components/select-menu/index.d.ts.map +0 -1
- package/dist/components/select-menu/index.js +0 -3
- package/dist/components/select-menu/select-menu-config.d.ts.map +0 -1
- package/dist/components/select-menu/use-select-floating.d.ts.map +0 -1
- /package/dist/components/{date-picker → calendar}/TimeSpinner.d.ts +0 -0
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
"use client";
|
|
3
3
|
import { cn as e } from "../../utils/cn.js";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
4
|
+
import { RADIUS_CLASS as t } from "../../shared/radius.js";
|
|
5
|
+
import { useAsheeConfig as n } from "../../libs/context.js";
|
|
6
|
+
import { ChevronDownIcon as ee } from "../../icons/ChevronDownIcon.js";
|
|
7
7
|
import { resolveCascade as r, resolveClassKey as i, resolveRadiusKey as a } from "../../utils/resolve-token.js";
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
8
|
+
import { CloseIcon as te } from "../../icons/CloseIcon.js";
|
|
9
|
+
import { FieldShell as ne } from "../field/FieldShell.js";
|
|
10
|
+
import { Button as o } from "../button/Button.js";
|
|
11
|
+
import { Menu as s } from "../menu/Menu.js";
|
|
12
|
+
import { useMenuFloating as re } from "../menu/use-menu-floating.js";
|
|
13
13
|
import { Chip as ie } from "../chip/Chip.js";
|
|
14
14
|
import { FALLBACK_MULTI_SELECT_CONFIG as c } from "./multi-select-config.js";
|
|
15
15
|
import { MULTI_SELECT_FONT_CLASS as ae, MULTI_SELECT_HEIGHT_CLASS as oe, MULTI_SELECT_PADDING_CLASS as se, STATUS_BORDER_CLASS as ce } from "./multi-select-styles.js";
|
|
@@ -17,127 +17,140 @@ import { forwardRef as l, useCallback as u, useId as d, useMemo as f, useState a
|
|
|
17
17
|
import { Fragment as m, jsx as h, jsxs as g } from "react/jsx-runtime";
|
|
18
18
|
import { useClick as le, useDismiss as ue, useInteractions as de, useRole as fe } from "@floating-ui/react";
|
|
19
19
|
//#region src/components/multi-select/MultiSelect.tsx
|
|
20
|
-
var _ = l(({ options: l = [], value: _, onChange: v, InputLabel: y = "
|
|
21
|
-
let
|
|
22
|
-
isOpen:
|
|
23
|
-
onOpenChange:
|
|
24
|
-
disabled:
|
|
25
|
-
}),
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
]),
|
|
20
|
+
var _ = l(({ options: l = [], value: _, onChange: v, InputLabel: y = "Dropmenu Options...", isSearch: pe = !0, searchPlaceholder: me = "Search...", searchInputName: he = "multiselect-search", belowList: ge, chipOptions: b, handleRemoveChip: x, handleAddChip: S, chipLabel: C, disableChipDisplay: _e = !1, variant: ve, color: ye, size: be, radius: xe, status: Se, label: w, labelAlign: T, description: E, message: D, required: O, isLoading: k, disabled: A, containerClassName: j, id: Ce, className: we, menu: Te, chip: M, style: Ee, startContent: De, endContent: Oe }, N) => {
|
|
21
|
+
let P = n(), F = P.components?.multiSelect, ke = d(), I = Ce ?? ke, [L, R] = p(!1), [Ae, je] = p(""), [Me, z] = p([]), B = _ !== void 0, V = _ ?? Me, H = r(be, F?.size, void 0, c.size), Ne = r(ve, F?.variant, P.defaultVariant, c.variant), U = r(ye, F?.color, P.defaultColor, c.color), W = a(xe, F?.radius, P.defaultRadius, c.radius), Pe = M?.className, Fe = r(M?.color, F?.chip?.color, U, c.chip.color), Ie = r(M?.size, F?.chip?.size, void 0, c.chip.size), Le = a(M?.radius, F?.chip?.radius, W, c.chip.radius), G = Se ?? c.status, Re = G === "error" ? "danger" : G === "success" ? "success" : G === "warning" ? "warning" : U, ze = r(T, F?.labelAlign, void 0, c.labelAlign), Be = i(H, oe, c.size), Ve = i(H, se, c.size), He = i(H, ae, c.size), Ue = i(Le, t, c.chip.radius), { refs: K, context: q, isPositioned: We, floatingStyles: Ge } = re({
|
|
22
|
+
isOpen: L,
|
|
23
|
+
onOpenChange: R,
|
|
24
|
+
disabled: A
|
|
25
|
+
}), Ke = le(q, { enabled: !A }), qe = ue(q), Je = fe(q, { role: "listbox" }), { getReferenceProps: Ye, getFloatingProps: J } = de([
|
|
26
|
+
Ke,
|
|
27
|
+
qe,
|
|
28
|
+
Je
|
|
29
|
+
]), Y = f(() => b === void 0 ? l.filter((e) => V.includes(e.value)) : b, [
|
|
30
30
|
b,
|
|
31
|
-
|
|
31
|
+
V,
|
|
32
32
|
l
|
|
33
|
-
]),
|
|
34
|
-
let t =
|
|
35
|
-
if (S || x)
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
v(t ? n.filter((t) => t !== e.value) : [...n, e.value]);
|
|
33
|
+
]), X = u((e) => Y.some((t) => t.value === e), [Y]), Xe = u((e) => {
|
|
34
|
+
let t = X(e.value);
|
|
35
|
+
if (S || x) {
|
|
36
|
+
t ? x?.(e.value) : S?.(e);
|
|
37
|
+
return;
|
|
39
38
|
}
|
|
39
|
+
let n = t ? V.filter((t) => t !== e.value) : [...V, e.value];
|
|
40
|
+
B || z(n), v?.(n);
|
|
40
41
|
}, [
|
|
41
|
-
|
|
42
|
+
X,
|
|
42
43
|
S,
|
|
43
44
|
x,
|
|
45
|
+
B,
|
|
44
46
|
v,
|
|
45
|
-
|
|
46
|
-
]),
|
|
47
|
-
|
|
47
|
+
V
|
|
48
|
+
]), Z = u((e) => {
|
|
49
|
+
if (x) {
|
|
50
|
+
x(e);
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
let t = V.filter((t) => t !== e);
|
|
54
|
+
B || z(t), v?.(t);
|
|
48
55
|
}, [
|
|
49
56
|
x,
|
|
57
|
+
B,
|
|
50
58
|
v,
|
|
51
|
-
|
|
52
|
-
]),
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
59
|
+
V
|
|
60
|
+
]), Ze = f(() => Y.map((e) => e.value), [Y]), Qe = f(() => Y.length > 0 ? `${Y.length} selected` : y, [Y.length, y]), Q = E ? `${I}-description` : void 0, $ = D ? `${I}-message` : void 0, $e = [Q, $].filter(Boolean).join(" ") || void 0, et = Ye({ onKeyDown: u((e) => {
|
|
61
|
+
A || (e.key === "ArrowDown" || e.key === "ArrowUp") && (e.preventDefault(), R(!0));
|
|
62
|
+
}, [A]) });
|
|
63
|
+
return /* @__PURE__ */ h(ne, {
|
|
64
|
+
id: I,
|
|
65
|
+
label: w,
|
|
66
|
+
labelAlign: ze,
|
|
67
|
+
description: E,
|
|
68
|
+
descriptionId: Q,
|
|
69
|
+
message: D,
|
|
70
|
+
messageId: $,
|
|
71
|
+
status: G,
|
|
72
|
+
required: O,
|
|
73
|
+
isLoading: k,
|
|
64
74
|
children: /* @__PURE__ */ g("div", {
|
|
65
|
-
className: e("w-full flex flex-col gap-3",
|
|
66
|
-
style:
|
|
75
|
+
className: e("w-full flex flex-col gap-3", j),
|
|
76
|
+
style: Ee,
|
|
67
77
|
children: [/* @__PURE__ */ g("div", {
|
|
68
78
|
className: "relative w-full",
|
|
69
|
-
children: [/* @__PURE__ */ h(
|
|
79
|
+
children: [/* @__PURE__ */ h(o, {
|
|
70
80
|
ref: (e) => {
|
|
71
|
-
|
|
81
|
+
K.setReference(e), typeof N == "function" ? N(e) : N && (N.current = e);
|
|
72
82
|
},
|
|
73
83
|
type: "button",
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
84
|
+
id: I,
|
|
85
|
+
variant: Ne,
|
|
86
|
+
color: Re,
|
|
87
|
+
size: H,
|
|
88
|
+
radius: W,
|
|
89
|
+
isDisabled: A,
|
|
90
|
+
isLoading: k,
|
|
80
91
|
fullWidth: !0,
|
|
81
92
|
animate: !1,
|
|
82
|
-
"aria-expanded":
|
|
93
|
+
"aria-expanded": L,
|
|
83
94
|
"aria-haspopup": "listbox",
|
|
84
|
-
"aria-invalid":
|
|
85
|
-
"aria-describedby":
|
|
86
|
-
className: e("font-normal text-left justify-between", ce[
|
|
87
|
-
startContent:
|
|
88
|
-
endContent: /* @__PURE__ */ g(m, { children: [
|
|
89
|
-
...
|
|
95
|
+
"aria-invalid": G === "error",
|
|
96
|
+
"aria-describedby": $e,
|
|
97
|
+
className: e("font-normal text-left justify-between", ce[G], Be, Ve, He, we),
|
|
98
|
+
startContent: De,
|
|
99
|
+
endContent: /* @__PURE__ */ g(m, { children: [Oe, /* @__PURE__ */ h(ee, { className: e("shrink-0 text-foreground/70 transition-transform duration-200", L && "rotate-180") })] }),
|
|
100
|
+
...et,
|
|
90
101
|
children: /* @__PURE__ */ h("span", {
|
|
91
|
-
className: e("truncate",
|
|
92
|
-
children:
|
|
102
|
+
className: e("truncate", Y.length > 0 ? "text-foreground" : "text-foreground/70"),
|
|
103
|
+
children: Qe
|
|
93
104
|
})
|
|
94
|
-
}), /* @__PURE__ */ h(
|
|
95
|
-
isOpen:
|
|
96
|
-
floatingStyles:
|
|
97
|
-
context:
|
|
98
|
-
getFloatingProps:
|
|
99
|
-
setFloatingRef:
|
|
100
|
-
isPositioned:
|
|
105
|
+
}), /* @__PURE__ */ h(s, {
|
|
106
|
+
isOpen: L,
|
|
107
|
+
floatingStyles: Ge,
|
|
108
|
+
context: q,
|
|
109
|
+
getFloatingProps: J,
|
|
110
|
+
setFloatingRef: K.setFloating,
|
|
111
|
+
isPositioned: We,
|
|
112
|
+
isMultiSelectable: !0,
|
|
113
|
+
returnFocus: !0,
|
|
101
114
|
options: l,
|
|
102
|
-
selectedValues:
|
|
103
|
-
|
|
115
|
+
selectedValues: Ze,
|
|
116
|
+
onOptionSelect: Xe,
|
|
104
117
|
isSearch: pe,
|
|
105
118
|
searchPlaceholder: me,
|
|
106
119
|
searchInputName: he,
|
|
107
|
-
searchQuery:
|
|
108
|
-
onSearchChange:
|
|
120
|
+
searchQuery: Ae,
|
|
121
|
+
onSearchChange: je,
|
|
109
122
|
belowList: ge,
|
|
110
|
-
menuProps:
|
|
111
|
-
menuConfig:
|
|
123
|
+
menuProps: Te,
|
|
124
|
+
menuConfig: F?.menu
|
|
112
125
|
})]
|
|
113
|
-
}), !
|
|
126
|
+
}), !_e && /* @__PURE__ */ g("div", {
|
|
114
127
|
className: "flex flex-col gap-1.5",
|
|
115
128
|
children: [C && /* @__PURE__ */ h("span", {
|
|
116
129
|
className: "text-xs font-medium text-foreground/70",
|
|
117
130
|
children: C
|
|
118
131
|
}), /* @__PURE__ */ h("div", {
|
|
119
132
|
className: "flex flex-wrap gap-1.5 p-2 min-h-12 bg-secondary/20 border border-dashed border-border rounded-lg items-center",
|
|
120
|
-
children:
|
|
133
|
+
children: Y.length === 0 ? /* @__PURE__ */ h("span", {
|
|
121
134
|
className: "text-xs text-foreground/70 px-2 py-1",
|
|
122
135
|
children: "No selections made"
|
|
123
|
-
}) :
|
|
136
|
+
}) : Y.map((t) => /* @__PURE__ */ g(ie, {
|
|
124
137
|
variant: "bordered",
|
|
125
|
-
color:
|
|
126
|
-
size:
|
|
127
|
-
isDisabled:
|
|
128
|
-
className: e("inline-flex items-center gap-1.5 font-medium shadow-xs",
|
|
138
|
+
color: Fe,
|
|
139
|
+
size: Ie,
|
|
140
|
+
isDisabled: A,
|
|
141
|
+
className: e("inline-flex items-center gap-1.5 font-medium shadow-xs", Ue, Pe),
|
|
129
142
|
children: [/* @__PURE__ */ h("span", { children: t.label }), /* @__PURE__ */ h("button", {
|
|
130
143
|
type: "button",
|
|
131
|
-
tabIndex:
|
|
144
|
+
tabIndex: A ? -1 : 0,
|
|
132
145
|
onClick: (e) => {
|
|
133
|
-
e.stopPropagation(),
|
|
146
|
+
e.stopPropagation(), A || Z(t.value);
|
|
134
147
|
},
|
|
135
148
|
onKeyDown: (e) => {
|
|
136
|
-
(e.key === "Enter" || e.key === " ") && !
|
|
149
|
+
(e.key === "Enter" || e.key === " ") && !A && (e.stopPropagation(), Z(t.value));
|
|
137
150
|
},
|
|
138
151
|
"aria-label": `Remove ${t.label}`,
|
|
139
|
-
className: "inline-flex items-center justify-center h-3.5 w-3.5 rounded-full hover:bg-
|
|
140
|
-
children: /* @__PURE__ */ h(
|
|
152
|
+
className: "inline-flex items-center justify-center h-3.5 w-3.5 rounded-full hover:bg-foreground/20 transition-colors cursor-pointer shrink-0",
|
|
153
|
+
children: /* @__PURE__ */ h(te, { className: "w-3 h-3" })
|
|
141
154
|
})]
|
|
142
155
|
}, String(t.value)))
|
|
143
156
|
})]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Color, Radius, Size, Variant } from '../../shared';
|
|
2
2
|
import { InputConfig } from '../input';
|
|
3
|
-
import { MenuConfig } from '../
|
|
3
|
+
import { MenuConfig } from '../menu';
|
|
4
4
|
/**
|
|
5
5
|
* Configuration for selected value chips.
|
|
6
6
|
* Controls the appearance of chips in the selected values section.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multi-select-config.d.ts","sourceRoot":"","sources":["../../../src/components/multi-select/multi-select-config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEjE,OAAO,EAAsB,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"multi-select-config.d.ts","sourceRoot":"","sources":["../../../src/components/multi-select/multi-select-config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEjE,OAAO,EAAsB,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC;IAEd;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,IAAI,CAAC,EAAE,IAAI,CAAC;CACb;AAED;;;;;GAKG;AACH,MAAM,WAAW,iBAAkB,SAAQ,WAAW;IACpD;;;OAGG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC;IAElB;;;OAGG;IACH,IAAI,CAAC,EAAE,qBAAqB,CAAC;CAC9B;AAED;;;GAGG;AACH,eAAO,MAAM,wBAAwB,EAAE,iBAKtC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;CAQ/B,CAAC;AAEX,OAAO,QAAQ,qBAAqB,CAAC;IACnC,UAAU,2BAA2B;QACnC,WAAW,EAAE,iBAAiB,CAAC;KAChC;CACF"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { HTMLAttributes } from 'react';
|
|
2
|
+
import { PaginationConfig } from './pagination-config';
|
|
3
|
+
type BasePaginationProps = PaginationConfig & Omit<HTMLAttributes<HTMLElement>, "color" | "onChange">;
|
|
4
|
+
/**
|
|
5
|
+
* Configuration options for the Pagination component.
|
|
6
|
+
*/
|
|
7
|
+
export interface PaginationProps extends BasePaginationProps {
|
|
8
|
+
/**
|
|
9
|
+
* The current page, counted from one.
|
|
10
|
+
*/
|
|
11
|
+
page: number;
|
|
12
|
+
/**
|
|
13
|
+
* How many pages the collection has.
|
|
14
|
+
*/
|
|
15
|
+
pageCount: number;
|
|
16
|
+
/**
|
|
17
|
+
* Called with the page the consumer chose.
|
|
18
|
+
* It is not called when the chosen page is already the current page.
|
|
19
|
+
*/
|
|
20
|
+
onPageChange?: (page: number) => void;
|
|
21
|
+
/**
|
|
22
|
+
* Builds the destination of a page.
|
|
23
|
+
*
|
|
24
|
+
* Supplying it renders every control as a link rather than as a button,
|
|
25
|
+
* which is what a paginated collection with real addresses wants. Without
|
|
26
|
+
* it the controls are buttons that report the chosen page through
|
|
27
|
+
* `onPageChange`.
|
|
28
|
+
*/
|
|
29
|
+
hrefForPage?: (page: number) => string;
|
|
30
|
+
/**
|
|
31
|
+
* Name of the navigation landmark.
|
|
32
|
+
*
|
|
33
|
+
* @default "Pagination"
|
|
34
|
+
*/
|
|
35
|
+
label?: string;
|
|
36
|
+
/**
|
|
37
|
+
* Whether the controls are unavailable, for example while a page loads.
|
|
38
|
+
*
|
|
39
|
+
* @default false
|
|
40
|
+
*/
|
|
41
|
+
isDisabled?: boolean;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* A set of controls for moving through a paged collection.
|
|
45
|
+
*
|
|
46
|
+
* Pagination shows the current page, a range of pages around it, and the
|
|
47
|
+
* controls that move between them. The first and last pages are always
|
|
48
|
+
* offered, a longer range becomes an ellipsis, and the current page carries
|
|
49
|
+
* `aria-current="page"` so assistive technology can announce where the reader
|
|
50
|
+
* is in the collection.
|
|
51
|
+
*
|
|
52
|
+
* The controls are links when the consumer supplies `hrefForPage`, which is
|
|
53
|
+
* what a collection with real addresses wants, and buttons that report the
|
|
54
|
+
* chosen page through `onPageChange` otherwise. The current page is never
|
|
55
|
+
* reported as a change, because it is already where the reader is.
|
|
56
|
+
*
|
|
57
|
+
* Size, variant, colour and radius resolve through the standard AsheeUI
|
|
58
|
+
* cascade: prop, component config, global theme defaults, and the built-in
|
|
59
|
+
* fallback.
|
|
60
|
+
*
|
|
61
|
+
* @param props - Pagination configuration options and navigation attributes.
|
|
62
|
+
* @param props.page - The current page, counted from one.
|
|
63
|
+
* @param props.pageCount - How many pages the collection has.
|
|
64
|
+
* @param props.onPageChange - Called with the page the consumer chose.
|
|
65
|
+
* @param props.hrefForPage - Builds a page's destination, which renders links.
|
|
66
|
+
* @param props.label - Name of the navigation landmark. Defaults to "Pagination".
|
|
67
|
+
* @param props.siblingCount - Pages shown each side of the current page. Defaults to 1.
|
|
68
|
+
* @param props.showEdges - Whether first and last page controls are shown. Defaults to false.
|
|
69
|
+
* @param props.isDisabled - Whether the controls are unavailable. Defaults to false.
|
|
70
|
+
* @param props.size - Size of the controls. Defaults to "md".
|
|
71
|
+
* @param props.variant - Visual style of the controls. Defaults to the configured value.
|
|
72
|
+
* @param props.color - Accent colour of the controls. Defaults to the configured value.
|
|
73
|
+
* @param props.radius - Corner rounding of the controls. Defaults to "md".
|
|
74
|
+
* @param props.className - Extra classes applied last.
|
|
75
|
+
*
|
|
76
|
+
* @example
|
|
77
|
+
* ```tsx
|
|
78
|
+
* <Pagination page={3} pageCount={42} onPageChange={setPage} />
|
|
79
|
+
* ```
|
|
80
|
+
*
|
|
81
|
+
* @example
|
|
82
|
+
* ```tsx
|
|
83
|
+
* // Real addresses, so every control is a link.
|
|
84
|
+
* <Pagination page={3} pageCount={42} hrefForPage={(page) => `/invoices?page=${page}`} />
|
|
85
|
+
* ```
|
|
86
|
+
*
|
|
87
|
+
* @see PaginationConfig - The configuration type for component defaults.
|
|
88
|
+
*/
|
|
89
|
+
export declare const Pagination: import('react').ForwardRefExoticComponent<PaginationProps & import('react').RefAttributes<HTMLElement>>;
|
|
90
|
+
export {};
|
|
91
|
+
//# sourceMappingURL=Pagination.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Pagination.d.ts","sourceRoot":"","sources":["../../../src/components/pagination/Pagination.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAEL,KAAK,cAAc,EAEpB,MAAM,OAAO,CAAC;AAUf,OAAO,EACL,KAAK,gBAAgB,EAEtB,MAAM,qBAAqB,CAAC;AAQ7B,KAAK,mBAAmB,GAAG,gBAAgB,GACzC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,eAAgB,SAAQ,mBAAmB;IAC1D;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAEtC;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAEvC;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,eAAO,MAAM,UAAU,yGAgMtB,CAAC"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
"use client";
|
|
3
|
+
import { cn as e } from "../../utils/cn.js";
|
|
4
|
+
import { RADIUS_CLASS as t } from "../../shared/radius.js";
|
|
5
|
+
import { resolveVariantClass as n } from "../../shared/variant.js";
|
|
6
|
+
import { useAsheeConfig as r } from "../../libs/context.js";
|
|
7
|
+
import { resolveCascade as i, resolveRadiusKey as a } from "../../utils/resolve-token.js";
|
|
8
|
+
import { Button as o } from "../button/Button.js";
|
|
9
|
+
import { ChevronRightIcon as s } from "../../icons/ChevronRightIcon.js";
|
|
10
|
+
import { Link as c } from "../link/Link.js";
|
|
11
|
+
import { ChevronLeftIcon as l } from "../../icons/ChevronLeftIcon.js";
|
|
12
|
+
import { FALLBACK_PAGINATION_CONFIG as u } from "./pagination-config.js";
|
|
13
|
+
import { PAGINATION_BASE_CLASS as d, PAGINATION_GAP_CLASS as f, PAGINATION_LIST_CLASS as p } from "./pagination-styles.js";
|
|
14
|
+
import { getPaginationRange as m } from "./pagination.helpers.js";
|
|
15
|
+
import { forwardRef as h } from "react";
|
|
16
|
+
import { jsx as g, jsxs as _ } from "react/jsx-runtime";
|
|
17
|
+
//#region src/components/pagination/Pagination.tsx
|
|
18
|
+
var v = h(({ page: h, pageCount: v, onPageChange: y, hrefForPage: b, label: x = "Pagination", size: S, variant: C, color: w, radius: T, siblingCount: E, showEdges: D, isDisabled: O = !1, className: k, ...A }, j) => {
|
|
19
|
+
let M = r(), N = M.components?.pagination, P = i(S, N?.size, void 0, u.size), F = i(C, N?.variant, M.defaultVariant, u.variant), I = i(w, N?.color, M.defaultColor, u.color), L = a(T, N?.radius, M.defaultRadius, u.radius), R = i(E, N?.siblingCount, void 0, u.siblingCount), z = i(D, N?.showEdges, void 0, u.showEdges), B = Math.min(Math.max(h, 1), Math.max(v, 1)), V = Math.max(v, 1), H = (e) => {
|
|
20
|
+
e === B || e < 1 || e > v || y?.(e);
|
|
21
|
+
}, U = (r, i, a, s = !1) => {
|
|
22
|
+
let l = r < 1 || r > v;
|
|
23
|
+
return b ? /* @__PURE__ */ g(c, {
|
|
24
|
+
href: b(r),
|
|
25
|
+
"aria-label": i,
|
|
26
|
+
"aria-current": s ? "page" : void 0,
|
|
27
|
+
"aria-disabled": O || l ? !0 : void 0,
|
|
28
|
+
className: e("inline-flex items-center justify-center min-w-8 h-8 px-2", t[L], n(F, I), (O || l) && "opacity-50 pointer-events-none cursor-not-allowed"),
|
|
29
|
+
children: a
|
|
30
|
+
}) : /* @__PURE__ */ g(o, {
|
|
31
|
+
type: "button",
|
|
32
|
+
size: P,
|
|
33
|
+
variant: F,
|
|
34
|
+
color: I,
|
|
35
|
+
radius: L,
|
|
36
|
+
"aria-label": i,
|
|
37
|
+
"aria-current": s ? "page" : void 0,
|
|
38
|
+
isDisabled: O || l,
|
|
39
|
+
onClick: () => H(r),
|
|
40
|
+
children: a
|
|
41
|
+
});
|
|
42
|
+
}, W = m(B, v, R);
|
|
43
|
+
return /* @__PURE__ */ g("nav", {
|
|
44
|
+
ref: j,
|
|
45
|
+
"aria-label": x,
|
|
46
|
+
className: e(d, k),
|
|
47
|
+
...A,
|
|
48
|
+
children: /* @__PURE__ */ _("ul", {
|
|
49
|
+
className: p,
|
|
50
|
+
children: [
|
|
51
|
+
z && /* @__PURE__ */ g("li", { children: U(1, "First page", /* @__PURE__ */ g(l, { "aria-hidden": "true" })) }),
|
|
52
|
+
/* @__PURE__ */ g("li", { children: U(B - 1, "Previous page", /* @__PURE__ */ g(l, { "aria-hidden": "true" })) }),
|
|
53
|
+
W.map((e, t) => e === "ellipsis" ? /* @__PURE__ */ g("li", { children: /* @__PURE__ */ g("span", {
|
|
54
|
+
"aria-hidden": "true",
|
|
55
|
+
className: f,
|
|
56
|
+
children: "…"
|
|
57
|
+
}) }, `gap-${t}`) : /* @__PURE__ */ g("li", { children: U(e, `Page ${e}`, e, e === B) }, e)),
|
|
58
|
+
/* @__PURE__ */ g("li", { children: U(B + 1, "Next page", /* @__PURE__ */ g(s, { "aria-hidden": "true" })) }),
|
|
59
|
+
z && /* @__PURE__ */ g("li", { children: U(V, "Last page", /* @__PURE__ */ g(s, { "aria-hidden": "true" })) })
|
|
60
|
+
]
|
|
61
|
+
})
|
|
62
|
+
});
|
|
63
|
+
});
|
|
64
|
+
v.displayName = "Pagination";
|
|
65
|
+
//#endregion
|
|
66
|
+
export { v as Pagination };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/pagination/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { Color, Radius, Size, Variant } from '../../shared';
|
|
2
|
+
/**
|
|
3
|
+
* Theme configuration options for the Pagination component.
|
|
4
|
+
*
|
|
5
|
+
* Set under `components.pagination` in the AsheeUI config. Values feed the
|
|
6
|
+
* component-level fallback tier of the theme cascade.
|
|
7
|
+
*/
|
|
8
|
+
export interface PaginationConfig {
|
|
9
|
+
/**
|
|
10
|
+
* Size of the page controls.
|
|
11
|
+
*
|
|
12
|
+
* @default "md"
|
|
13
|
+
*/
|
|
14
|
+
size?: Size;
|
|
15
|
+
/**
|
|
16
|
+
* Visual style variant of the page controls.
|
|
17
|
+
*
|
|
18
|
+
* @default "bordered"
|
|
19
|
+
*/
|
|
20
|
+
variant?: Variant;
|
|
21
|
+
/**
|
|
22
|
+
* Theme accent colour of the page controls.
|
|
23
|
+
*
|
|
24
|
+
* @default "primary"
|
|
25
|
+
*/
|
|
26
|
+
color?: Color;
|
|
27
|
+
/**
|
|
28
|
+
* Corner rounding of the page controls.
|
|
29
|
+
*
|
|
30
|
+
* @default "md"
|
|
31
|
+
*/
|
|
32
|
+
radius?: Radius;
|
|
33
|
+
/**
|
|
34
|
+
* How many pages to show on each side of the current page.
|
|
35
|
+
* A wider range shows more of the collection at once; a narrower range keeps
|
|
36
|
+
* the trail short.
|
|
37
|
+
*
|
|
38
|
+
* @default 1
|
|
39
|
+
*/
|
|
40
|
+
siblingCount?: number;
|
|
41
|
+
/**
|
|
42
|
+
* Whether the trail offers controls for the first and last page.
|
|
43
|
+
*
|
|
44
|
+
* @default false
|
|
45
|
+
*/
|
|
46
|
+
showEdges?: boolean;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Default config values registered for the Pagination component.
|
|
50
|
+
*
|
|
51
|
+
* `variant` and `color` are intentionally absent so they inherit from the
|
|
52
|
+
* global `defaultVariant` and `defaultColor`.
|
|
53
|
+
*/
|
|
54
|
+
export declare const defaultPaginationConfig: PaginationConfig;
|
|
55
|
+
/**
|
|
56
|
+
* Hard fallback values used when no config tier provides a value.
|
|
57
|
+
* These values are used when instance props, component config,
|
|
58
|
+
* and global defaults are all undefined.
|
|
59
|
+
*/
|
|
60
|
+
export declare const FALLBACK_PAGINATION_CONFIG: Required<PaginationConfig>;
|
|
61
|
+
declare module "../../libs/registry" {
|
|
62
|
+
interface ComponentTypeConfigRegistry {
|
|
63
|
+
pagination: PaginationConfig;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=pagination-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pagination-config.d.ts","sourceRoot":"","sources":["../../../src/components/pagination/pagination-config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEjE;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,IAAI,CAAC,EAAE,IAAI,CAAC;IAEZ;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;;OAIG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC;IAEd;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,EAAE,gBAKrC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,gBAAgB,CAOxD,CAAC;AAEX,OAAO,QAAQ,qBAAqB,CAAC;IACnC,UAAU,2BAA2B;QACnC,UAAU,EAAE,gBAAgB,CAAC;KAC9B;CACF"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { registerComponentDefaults as e } from "../../libs/registry.js";
|
|
3
|
+
//#region src/components/pagination/pagination-config.ts
|
|
4
|
+
var t = {
|
|
5
|
+
size: "md",
|
|
6
|
+
radius: "md",
|
|
7
|
+
siblingCount: 1,
|
|
8
|
+
showEdges: !1
|
|
9
|
+
}, n = {
|
|
10
|
+
size: "md",
|
|
11
|
+
variant: "bordered",
|
|
12
|
+
color: "primary",
|
|
13
|
+
radius: "md",
|
|
14
|
+
siblingCount: 1,
|
|
15
|
+
showEdges: !1
|
|
16
|
+
};
|
|
17
|
+
e("pagination", t);
|
|
18
|
+
//#endregion
|
|
19
|
+
export { n as FALLBACK_PAGINATION_CONFIG, t as defaultPaginationConfig };
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pagination component styles for AsheeUI.
|
|
3
|
+
* This file provides the static classes the Pagination component is built
|
|
4
|
+
* from.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Base classes for the navigation landmark.
|
|
8
|
+
*/
|
|
9
|
+
export declare const PAGINATION_BASE_CLASS = "w-full";
|
|
10
|
+
/**
|
|
11
|
+
* Classes for the ordered list that holds the page controls.
|
|
12
|
+
*/
|
|
13
|
+
export declare const PAGINATION_LIST_CLASS = "flex items-center flex-wrap list-none p-0 m-0 gap-1";
|
|
14
|
+
/**
|
|
15
|
+
* Classes for a gap in the page range.
|
|
16
|
+
* A gap conveys nothing on its own, so it is not focusable and not announced.
|
|
17
|
+
*/
|
|
18
|
+
export declare const PAGINATION_GAP_CLASS = "inline-flex items-center justify-center min-w-7 px-1 select-none text-foreground/60";
|
|
19
|
+
//# sourceMappingURL=pagination-styles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pagination-styles.d.ts","sourceRoot":"","sources":["../../../src/components/pagination/pagination-styles.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,eAAO,MAAM,qBAAqB,WAAW,CAAC;AAE9C;;GAEG;AACH,eAAO,MAAM,qBAAqB,wDACqB,CAAC;AAExD;;;GAGG;AACH,eAAO,MAAM,oBAAoB,wFACsD,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
//#region src/components/pagination/pagination-styles.ts
|
|
3
|
+
var e = "w-full", t = "flex items-center flex-wrap list-none p-0 m-0 gap-1", n = "inline-flex items-center justify-center min-w-7 px-1 select-none text-foreground/60";
|
|
4
|
+
//#endregion
|
|
5
|
+
export { e as PAGINATION_BASE_CLASS, n as PAGINATION_GAP_CLASS, t as PAGINATION_LIST_CLASS };
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pagination helpers for AsheeUI.
|
|
3
|
+
* This file provides the pure range calculation the Pagination component is
|
|
4
|
+
* built on, kept apart from the component so the arithmetic can be reasoned
|
|
5
|
+
* about and tested on its own.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* One entry in a pagination range.
|
|
9
|
+
* An ellipsis stands for the pages a range leaves out.
|
|
10
|
+
*/
|
|
11
|
+
export type PaginationRangeItem = number | "ellipsis";
|
|
12
|
+
/**
|
|
13
|
+
* Calculates the page controls a range shows.
|
|
14
|
+
*
|
|
15
|
+
* The first and last pages are always offered, the current page is always
|
|
16
|
+
* shown with `siblingCount` pages on either side of it, and a gap between two
|
|
17
|
+
* shown pages becomes an ellipsis. A collection short enough to show in full
|
|
18
|
+
* is shown in full.
|
|
19
|
+
*
|
|
20
|
+
* @param page - The current page, counted from one.
|
|
21
|
+
* @param pageCount - How many pages the collection has.
|
|
22
|
+
* @param siblingCount - How many pages to show on each side of the current page.
|
|
23
|
+
* @returns The controls to render, in order.
|
|
24
|
+
*/
|
|
25
|
+
export declare function getPaginationRange(page: number, pageCount: number, siblingCount?: number): PaginationRangeItem[];
|
|
26
|
+
//# sourceMappingURL=pagination.helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pagination.helpers.d.ts","sourceRoot":"","sources":["../../../src/components/pagination/pagination.helpers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,UAAU,CAAC;AAEtD;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,YAAY,SAAI,GACf,mBAAmB,EAAE,CAuBvB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
//#region src/components/pagination/pagination.helpers.ts
|
|
3
|
+
function e(e, t, n = 1) {
|
|
4
|
+
if (t <= 0) return [];
|
|
5
|
+
if (t === 1) return [1];
|
|
6
|
+
let r = Math.min(Math.max(e, 1), t), i = Math.max(n, 0), a = Math.max(r - i, 2), o = Math.min(r + i, t - 1), s = [1];
|
|
7
|
+
a > 2 && s.push("ellipsis");
|
|
8
|
+
for (let e = a; e <= o; e += 1) s.push(e);
|
|
9
|
+
return o < t - 1 && s.push("ellipsis"), s.push(t), s;
|
|
10
|
+
}
|
|
11
|
+
//#endregion
|
|
12
|
+
export { e as getPaginationRange };
|