@stridge/noctis 1.0.0-beta.4 → 1.0.0-beta.5

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.
@@ -0,0 +1,3 @@
1
+ import { PaginationLabels, PaginationSize } from "./pagination.types.js";
2
+ import { Pagination } from "./pagination.js";
3
+ import { PaginationDataAttributes } from "./pagination.slots.js";
@@ -0,0 +1,16 @@
1
+ "use client";
2
+ import { createContext, use } from "react";
3
+ //#region src/components/pagination/pagination.context.ts
4
+ const PaginationContext = createContext(null);
5
+ const PaginationProvider = PaginationContext.Provider;
6
+ /**
7
+ * Read the enclosing `Pagination.Root` state. Every compound part is meaningless on its own (it needs
8
+ * the page model and shared labels), so this throws a part-named error when used outside the root.
9
+ */
10
+ function usePaginationContext(part) {
11
+ const context = use(PaginationContext);
12
+ if (!context) throw new Error(`Pagination.${part} must be rendered inside a <Pagination.Root>.`);
13
+ return context;
14
+ }
15
+ //#endregion
16
+ export { PaginationProvider, usePaginationContext };
@@ -0,0 +1,217 @@
1
+ import { Button } from "../button/button.js";
2
+ import { PaginationLabels, PaginationSize } from "./pagination.types.js";
3
+ import { PaginationPartProps, PaginationRootPropsArgs, controlsProps, infoProps, pageProps, pageSizeLabelProps, pageSizeProps, rootProps, separatorProps } from "./pagination.props.js";
4
+ import { ComponentProps, ReactElement, ReactNode } from "react";
5
+
6
+ //#region src/components/pagination/pagination.d.ts
7
+ /**
8
+ * Page navigation: a row of nav controls (a welded `ButtonGroup` of First/Previous/Next/Last buttons),
9
+ * an optional editable page field, a "Showing X–Y of Z" info line, and a page-size picker — composed
10
+ * from the shipped `Button`, `ButtonGroup`, `Input`, and `Select`. `Pagination.Root` is controlled:
11
+ * pass `page` + `onPageChange`, and `total` + `perPage` (so the info line and the last-page bound can
12
+ * be computed) or an explicit `pageCount`. Every part reads the shared model through context, so the
13
+ * bounds-disabling and clamping are handled for you.
14
+ *
15
+ * @see {@link Pagination.Root.Props}
16
+ */
17
+ declare function PaginationRoot({
18
+ page,
19
+ onPageChange,
20
+ total,
21
+ perPage,
22
+ pageCount: pageCountProp,
23
+ size,
24
+ labels: labelsProp,
25
+ className,
26
+ children,
27
+ ...props
28
+ }: Pagination.Root.Props): ReactElement;
29
+ /** The render-prop state `Pagination.Info` exposes for custom info text. */
30
+ interface PaginationInfoState {
31
+ /** Current page, 1-indexed. */
32
+ page: number;
33
+ /** The last reachable page. */
34
+ pageCount: number;
35
+ /** Items per page, when known. */
36
+ perPage?: number;
37
+ /** Total item count, when known. */
38
+ total?: number;
39
+ /** First item index on the current page (1-indexed), or 0 when the set is empty. */
40
+ from: number;
41
+ /** Last item index on the current page. */
42
+ to: number;
43
+ }
44
+ /**
45
+ * The "Showing X–Y of Z" status line, announced politely as the page changes. Renders nothing unless
46
+ * `total` and `perPage` are known on the root — or pass a render function as children for custom text
47
+ * (e.g. "Page X of Y"). Quieter than the controls by design.
48
+ */
49
+ declare function PaginationInfo({
50
+ children,
51
+ className,
52
+ ...props
53
+ }: Pagination.Info.Props): ReactElement | null;
54
+ /**
55
+ * The page-size cluster — a layout wrapper that holds a `Pagination.PageSizeLabel` and a
56
+ * `Pagination.PageSizeSelect` side by side. Compose them inside; the label and select are separate so
57
+ * the consumer can reorder, restyle, translate, or drop either independently.
58
+ */
59
+ declare function PaginationPageSize({
60
+ className,
61
+ children,
62
+ ...props
63
+ }: Pagination.PageSize.Props): ReactElement;
64
+ /**
65
+ * The label beside the page-size select (visible "Per page" micro-copy). Defaults to the localized
66
+ * label; pass children to override the text. Purely visual — the select carries its own accessible name.
67
+ */
68
+ declare function PaginationPageSizeLabel({
69
+ className,
70
+ children,
71
+ ...props
72
+ }: Pagination.PageSizeLabel.Props): ReactElement;
73
+ /**
74
+ * The page-size `Select` of "items per page" choices. Controlled via `value` + `onValueChange`;
75
+ * resetting the page to 1 on change is the consumer's call (do it in the handler).
76
+ */
77
+ declare function PaginationPageSizeSelect({
78
+ value,
79
+ onValueChange,
80
+ options
81
+ }: Pagination.PageSizeSelect.Props): ReactElement;
82
+ /**
83
+ * The navigation landmark wrapping a welded `ButtonGroup` of nav buttons. Compose `Pagination.First`,
84
+ * `Pagination.Previous`, `Pagination.Next`, `Pagination.Last`, and/or `Pagination.Page` inside — use
85
+ * only Previous/Next for a simple control, or add First/Last/Page for the full set.
86
+ */
87
+ declare function PaginationControls({
88
+ className,
89
+ children,
90
+ ...props
91
+ }: Pagination.Controls.Props): ReactElement;
92
+ /** Jump to the first page. Disabled on page 1. */
93
+ declare function PaginationFirst(props: Pagination.NavButton.Props): ReactElement;
94
+ /** Step to the previous page. Disabled on page 1. */
95
+ declare function PaginationPrevious(props: Pagination.NavButton.Props): ReactElement;
96
+ /** Step to the next page. Disabled on the last page. */
97
+ declare function PaginationNext(props: Pagination.NavButton.Props): ReactElement;
98
+ /** Jump to the last page. Disabled on the last page. */
99
+ declare function PaginationLast(props: Pagination.NavButton.Props): ReactElement;
100
+ /**
101
+ * An editable page-number field (the "full" affordance). Type a page and press Enter or blur to commit;
102
+ * the value is clamped to the valid range and snaps back if cleared. Sits beside the nav buttons.
103
+ */
104
+ declare function PaginationPage({
105
+ className,
106
+ ...props
107
+ }: Pagination.Page.Props): ReactElement;
108
+ /** A vertical hairline between pagination clusters. Purely decorative — a quiet visual rule, hidden
109
+ * from assistive tech (the clusters are already distinct landmarks/labels). */
110
+ declare function PaginationSeparator({
111
+ className,
112
+ ...props
113
+ }: Pagination.Separator.Props): ReactElement;
114
+ /**
115
+ * Page navigation controls. `Pagination.Root` owns the controlled page model and shares it with the
116
+ * parts: `Pagination.Controls` (the welded nav `ButtonGroup`) hosting `Pagination.First` / `Previous` /
117
+ * `Next` / `Last` and the editable `Pagination.Page`, plus the `Pagination.Info` status line, the
118
+ * `Pagination.PageSize` picker, and the `Pagination.Separator` divider.
119
+ *
120
+ * The runtime compound is a plain object (kept tree-shakeable); per-part prop types are exposed through
121
+ * the matching `Pagination` namespace — e.g. `Pagination.Root.Props`.
122
+ */
123
+ declare const Pagination: {
124
+ /** Owns the controlled page model + shared context. `Pagination.Root.props({ size })` → its prop bag. */Root: typeof PaginationRoot & {
125
+ props: typeof rootProps;
126
+ }; /** The "Showing X–Y of Z" status line. `Pagination.Info.props()` → its prop bag. */
127
+ Info: typeof PaginationInfo & {
128
+ props: typeof infoProps;
129
+ }; /** The page-size cluster (compose `PageSizeLabel` + `PageSizeSelect`). `Pagination.PageSize.props()` → its prop bag. */
130
+ PageSize: typeof PaginationPageSize & {
131
+ props: typeof pageSizeProps;
132
+ }; /** The page-size label. `Pagination.PageSizeLabel.props()` → its prop bag. */
133
+ PageSizeLabel: typeof PaginationPageSizeLabel & {
134
+ props: typeof pageSizeLabelProps;
135
+ }; /** The page-size select control. */
136
+ PageSizeSelect: typeof PaginationPageSizeSelect; /** The nav landmark + welded `ButtonGroup`. `Pagination.Controls.props()` → its prop bag. */
137
+ Controls: typeof PaginationControls & {
138
+ props: typeof controlsProps;
139
+ }; /** First-page button. */
140
+ First: typeof PaginationFirst; /** Previous-page button. */
141
+ Previous: typeof PaginationPrevious; /** Next-page button. */
142
+ Next: typeof PaginationNext; /** Last-page button. */
143
+ Last: typeof PaginationLast; /** The editable page-number field. `Pagination.Page.props()` → its prop bag. */
144
+ Page: typeof PaginationPage & {
145
+ props: typeof pageProps;
146
+ }; /** A vertical divider between clusters. `Pagination.Separator.props()` → its prop bag. */
147
+ Separator: typeof PaginationSeparator & {
148
+ props: typeof separatorProps;
149
+ };
150
+ };
151
+ /**
152
+ * Per-part prop types. Types-only — it emits no runtime code and merges with the `Pagination` object
153
+ * above, so `Pagination.Root` is the component value while `Pagination.Root.Props` is its prop type.
154
+ */
155
+ declare namespace Pagination {
156
+ /** Control scale — `sm` | `md`. */
157
+ type Size = PaginationSize;
158
+ /** The accessible-name + micro-copy overrides. */
159
+ type Labels = PaginationLabels;
160
+ /** The spreadable data-attribute prop bag every owned `Pagination.*.props()` returns (D12). */
161
+ type PartProps = PaginationPartProps;
162
+ namespace Root {
163
+ type Props = Omit<ComponentProps<"div">, "onChange"> & {
164
+ /**
165
+ * Current page, 1-indexed.
166
+ * @default 1
167
+ */
168
+ page?: number; /** Called with the next page (already clamped to `[1, pageCount]`) when the user navigates. */
169
+ onPageChange?: (page: number) => void; /** Total item count across all pages — drives the info range and the last-page bound. */
170
+ total?: number; /** Items shown per page — drives the info range and the last-page bound. */
171
+ perPage?: number; /** The last reachable page, when you'd rather supply it than derive it from `total`/`perPage`. */
172
+ pageCount?: number;
173
+ /**
174
+ * Control scale, fed to the hosted Button/Input/Select.
175
+ * @default "md"
176
+ */
177
+ size?: PaginationSize; /** Per-instance overrides for the accessible names + micro-copy. */
178
+ labels?: PaginationLabels;
179
+ };
180
+ /** Argument to the `Pagination.Root.props(...)` escape-hatch helper. */
181
+ type PropsArgs = PaginationRootPropsArgs;
182
+ }
183
+ namespace Info {
184
+ type Props = Omit<ComponentProps<"div">, "children"> & {
185
+ /** Render function for custom info text; omit for the default "Showing X–Y of Z". */children?: (state: PaginationInfoState) => ReactNode;
186
+ };
187
+ }
188
+ namespace PageSize {
189
+ /** The cluster wrapper — compose `Pagination.PageSizeLabel` and `Pagination.PageSizeSelect` inside. */
190
+ type Props = ComponentProps<"div">;
191
+ }
192
+ namespace PageSizeLabel {
193
+ /** The visible "Per page" label; children override the default localized text. */
194
+ type Props = ComponentProps<"span">;
195
+ }
196
+ namespace PageSizeSelect {
197
+ type Props = {
198
+ /** The current page size. */value: number; /** Called with the chosen page size. */
199
+ onValueChange: (size: number) => void; /** The available page-size choices. @default [10, 25, 50, 100] */
200
+ options?: readonly number[];
201
+ };
202
+ }
203
+ namespace Controls {
204
+ type Props = ComponentProps<"nav">;
205
+ }
206
+ namespace NavButton {
207
+ type Props = Omit<Button.Props, "iconOnly" | "startIcon" | "endIcon" | "onClick" | "children">;
208
+ }
209
+ namespace Page {
210
+ type Props = ComponentProps<"div">;
211
+ }
212
+ namespace Separator {
213
+ type Props = ComponentProps<"div">;
214
+ }
215
+ }
216
+ //#endregion
217
+ export { Pagination };
@@ -0,0 +1,333 @@
1
+ "use client";
2
+ import { Icon } from "../../icons/icon.js";
3
+ import { ChevronLeftIcon, ChevronRightIcon, ChevronsLeftIcon, ChevronsRightIcon } from "../../icons/glyphs.js";
4
+ import { useInjectedLabels, useNoctisStringFormatter } from "../../core/use-injected-labels.js";
5
+ import { Button } from "../button/button.js";
6
+ import { Input } from "../input/input.js";
7
+ import { Select } from "../select/select.js";
8
+ import { ButtonGroup } from "../button-group/button-group.js";
9
+ import { PaginationProvider, usePaginationContext } from "./pagination.context.js";
10
+ import { PAGINATION_SLOTS } from "./pagination.slots.js";
11
+ import { controlsProps, infoProps, pageProps, pageSizeLabelProps, pageSizeProps, rootProps, separatorProps } from "./pagination.props.js";
12
+ import { useEffect, useMemo, useState } from "react";
13
+ import { jsx, jsxs } from "react/jsx-runtime";
14
+ //#region src/components/pagination/pagination.tsx
15
+ /** Default page-size choices, matching the common "rows per page" ladder. */
16
+ const DEFAULT_PAGE_SIZE_OPTIONS = [
17
+ 10,
18
+ 25,
19
+ 50,
20
+ 100
21
+ ];
22
+ /** English fallbacks for every accessible name + micro-copy; overridden by locale dict, then per-instance. */
23
+ const DEFAULT_LABELS = {
24
+ navigation: "Pagination",
25
+ firstPage: "First page",
26
+ previousPage: "Previous page",
27
+ nextPage: "Next page",
28
+ lastPage: "Last page",
29
+ pageNumber: "Page number",
30
+ pageSize: "Page size",
31
+ perPage: "Per page"
32
+ };
33
+ /** Each label field → its `@stridge/noctis-intl` catalog key. */
34
+ const LABEL_KEYS = {
35
+ navigation: "pagination.navigation",
36
+ firstPage: "pagination.firstPage",
37
+ previousPage: "pagination.previousPage",
38
+ nextPage: "pagination.nextPage",
39
+ lastPage: "pagination.lastPage",
40
+ pageNumber: "pagination.pageNumber",
41
+ pageSize: "pagination.pageSize",
42
+ perPage: "pagination.perPage"
43
+ };
44
+ /** Pagination's `sm`/`md` → the hosted Button/Input size (which share the `sm`/`md` rungs). */
45
+ const controlSize = (size) => size;
46
+ /** Pagination's `sm`/`md` → the hosted Icon size. */
47
+ const glyphSize = (size) => size;
48
+ /**
49
+ * Page navigation: a row of nav controls (a welded `ButtonGroup` of First/Previous/Next/Last buttons),
50
+ * an optional editable page field, a "Showing X–Y of Z" info line, and a page-size picker — composed
51
+ * from the shipped `Button`, `ButtonGroup`, `Input`, and `Select`. `Pagination.Root` is controlled:
52
+ * pass `page` + `onPageChange`, and `total` + `perPage` (so the info line and the last-page bound can
53
+ * be computed) or an explicit `pageCount`. Every part reads the shared model through context, so the
54
+ * bounds-disabling and clamping are handled for you.
55
+ *
56
+ * @see {@link Pagination.Root.Props}
57
+ */
58
+ function PaginationRoot({ page = 1, onPageChange, total, perPage, pageCount: pageCountProp, size = "md", labels: labelsProp, className, children, ...props }) {
59
+ const labels = useInjectedLabels(DEFAULT_LABELS, LABEL_KEYS, labelsProp);
60
+ const pageCount = Math.max(1, pageCountProp ?? (total != null && perPage ? Math.ceil(total / perPage) : 1));
61
+ const value = useMemo(() => {
62
+ const goToPage = (next) => {
63
+ const clamped = Math.min(Math.max(Math.trunc(next), 1), pageCount);
64
+ if (clamped !== page) onPageChange?.(clamped);
65
+ };
66
+ return {
67
+ page,
68
+ pageCount,
69
+ perPage,
70
+ total,
71
+ size,
72
+ labels,
73
+ goToPage
74
+ };
75
+ }, [
76
+ page,
77
+ pageCount,
78
+ perPage,
79
+ total,
80
+ size,
81
+ labels,
82
+ onPageChange
83
+ ]);
84
+ return /* @__PURE__ */ jsx("div", {
85
+ "data-slot": PAGINATION_SLOTS.root,
86
+ "data-size": size,
87
+ className,
88
+ ...props,
89
+ children: /* @__PURE__ */ jsx(PaginationProvider, {
90
+ value,
91
+ children
92
+ })
93
+ });
94
+ }
95
+ /**
96
+ * The "Showing X–Y of Z" status line, announced politely as the page changes. Renders nothing unless
97
+ * `total` and `perPage` are known on the root — or pass a render function as children for custom text
98
+ * (e.g. "Page X of Y"). Quieter than the controls by design.
99
+ */
100
+ function PaginationInfo({ children, className, ...props }) {
101
+ const { page, pageCount, perPage, total } = usePaginationContext("Info");
102
+ const formatter = useNoctisStringFormatter();
103
+ const hasRange = total != null && perPage != null;
104
+ const from = !hasRange || total === 0 ? 0 : (page - 1) * perPage + 1;
105
+ const to = hasRange ? Math.min(page * perPage, total) : 0;
106
+ const content = children ? children({
107
+ page,
108
+ pageCount,
109
+ perPage,
110
+ total,
111
+ from,
112
+ to
113
+ }) : hasRange ? formatter.format("pagination.showing", {
114
+ from,
115
+ to,
116
+ total
117
+ }) : null;
118
+ if (content == null) return null;
119
+ return /* @__PURE__ */ jsx("div", {
120
+ "data-slot": PAGINATION_SLOTS.info,
121
+ "aria-live": "polite",
122
+ "aria-atomic": "true",
123
+ className,
124
+ ...props,
125
+ children: content
126
+ });
127
+ }
128
+ /**
129
+ * The page-size cluster — a layout wrapper that holds a `Pagination.PageSizeLabel` and a
130
+ * `Pagination.PageSizeSelect` side by side. Compose them inside; the label and select are separate so
131
+ * the consumer can reorder, restyle, translate, or drop either independently.
132
+ */
133
+ function PaginationPageSize({ className, children, ...props }) {
134
+ return /* @__PURE__ */ jsx("div", {
135
+ "data-slot": PAGINATION_SLOTS.pageSize,
136
+ className,
137
+ ...props,
138
+ children
139
+ });
140
+ }
141
+ /**
142
+ * The label beside the page-size select (visible "Per page" micro-copy). Defaults to the localized
143
+ * label; pass children to override the text. Purely visual — the select carries its own accessible name.
144
+ */
145
+ function PaginationPageSizeLabel({ className, children, ...props }) {
146
+ const { labels } = usePaginationContext("PageSizeLabel");
147
+ return /* @__PURE__ */ jsx("span", {
148
+ "data-slot": PAGINATION_SLOTS.pageSizeLabel,
149
+ className,
150
+ ...props,
151
+ children: children ?? labels.perPage
152
+ });
153
+ }
154
+ /**
155
+ * The page-size `Select` of "items per page" choices. Controlled via `value` + `onValueChange`;
156
+ * resetting the page to 1 on change is the consumer's call (do it in the handler).
157
+ */
158
+ function PaginationPageSizeSelect({ value, onValueChange, options = DEFAULT_PAGE_SIZE_OPTIONS }) {
159
+ const { labels } = usePaginationContext("PageSizeSelect");
160
+ const items = useMemo(() => Object.fromEntries(options.map((option) => [option, String(option)])), [options]);
161
+ return /* @__PURE__ */ jsxs(Select.Root, {
162
+ items,
163
+ value,
164
+ onValueChange: (next) => onValueChange(next),
165
+ children: [/* @__PURE__ */ jsxs(Select.Trigger, {
166
+ "aria-label": labels.pageSize,
167
+ children: [/* @__PURE__ */ jsx(Select.Value, {}), /* @__PURE__ */ jsx(Select.Icon, {})]
168
+ }), /* @__PURE__ */ jsx(Select.Popup, { children: options.map((option) => /* @__PURE__ */ jsx(Select.Item, {
169
+ value: option,
170
+ children: option
171
+ }, option)) })]
172
+ });
173
+ }
174
+ /**
175
+ * The navigation landmark wrapping a welded `ButtonGroup` of nav buttons. Compose `Pagination.First`,
176
+ * `Pagination.Previous`, `Pagination.Next`, `Pagination.Last`, and/or `Pagination.Page` inside — use
177
+ * only Previous/Next for a simple control, or add First/Last/Page for the full set.
178
+ */
179
+ function PaginationControls({ className, children, ...props }) {
180
+ const { size, labels } = usePaginationContext("Controls");
181
+ return /* @__PURE__ */ jsx("nav", {
182
+ "aria-label": labels.navigation,
183
+ "data-slot": PAGINATION_SLOTS.controls,
184
+ className,
185
+ ...props,
186
+ children: /* @__PURE__ */ jsx(ButtonGroup, {
187
+ variant: "secondary",
188
+ size: controlSize(size),
189
+ children
190
+ })
191
+ });
192
+ }
193
+ /** Shared icon-only nav button: bounds-disabled, clamping `goToPage`, RTL-mirrored chevron. */
194
+ function NavButton({ glyph, label, target, disabled, "aria-label": ariaLabel, className, ...props }) {
195
+ const { size, goToPage } = usePaginationContext("Controls");
196
+ return /* @__PURE__ */ jsx(Button, {
197
+ iconOnly: true,
198
+ "aria-label": ariaLabel ?? label,
199
+ disabled,
200
+ className,
201
+ ...props,
202
+ onClick: () => goToPage(target),
203
+ children: /* @__PURE__ */ jsx(Icon, {
204
+ icon: glyph,
205
+ directional: true,
206
+ size: glyphSize(size)
207
+ })
208
+ });
209
+ }
210
+ /** Jump to the first page. Disabled on page 1. */
211
+ function PaginationFirst(props) {
212
+ const { page, labels } = usePaginationContext("First");
213
+ return /* @__PURE__ */ jsx(NavButton, {
214
+ glyph: ChevronsLeftIcon,
215
+ label: labels.firstPage,
216
+ target: 1,
217
+ disabled: page <= 1,
218
+ ...props
219
+ });
220
+ }
221
+ /** Step to the previous page. Disabled on page 1. */
222
+ function PaginationPrevious(props) {
223
+ const { page, labels } = usePaginationContext("Previous");
224
+ return /* @__PURE__ */ jsx(NavButton, {
225
+ glyph: ChevronLeftIcon,
226
+ label: labels.previousPage,
227
+ target: page - 1,
228
+ disabled: page <= 1,
229
+ ...props
230
+ });
231
+ }
232
+ /** Step to the next page. Disabled on the last page. */
233
+ function PaginationNext(props) {
234
+ const { page, pageCount, labels } = usePaginationContext("Next");
235
+ return /* @__PURE__ */ jsx(NavButton, {
236
+ glyph: ChevronRightIcon,
237
+ label: labels.nextPage,
238
+ target: page + 1,
239
+ disabled: page >= pageCount,
240
+ ...props
241
+ });
242
+ }
243
+ /** Jump to the last page. Disabled on the last page. */
244
+ function PaginationLast(props) {
245
+ const { page, pageCount, labels } = usePaginationContext("Last");
246
+ return /* @__PURE__ */ jsx(NavButton, {
247
+ glyph: ChevronsRightIcon,
248
+ label: labels.lastPage,
249
+ target: pageCount,
250
+ disabled: page >= pageCount,
251
+ ...props
252
+ });
253
+ }
254
+ /**
255
+ * An editable page-number field (the "full" affordance). Type a page and press Enter or blur to commit;
256
+ * the value is clamped to the valid range and snaps back if cleared. Sits beside the nav buttons.
257
+ */
258
+ function PaginationPage({ className, ...props }) {
259
+ const { page, labels, goToPage } = usePaginationContext("Page");
260
+ const [draft, setDraft] = useState(String(page));
261
+ useEffect(() => {
262
+ setDraft(String(page));
263
+ }, [page]);
264
+ const commit = () => {
265
+ const next = Number(draft);
266
+ if (draft.trim() !== "" && Number.isFinite(next)) goToPage(next);
267
+ else setDraft(String(page));
268
+ };
269
+ return /* @__PURE__ */ jsx("div", {
270
+ "data-slot": PAGINATION_SLOTS.page,
271
+ "data-button-group-item": "",
272
+ className,
273
+ ...props,
274
+ children: /* @__PURE__ */ jsx(Input.Root, { children: /* @__PURE__ */ jsx(Input.Control, {
275
+ "aria-label": labels.pageNumber,
276
+ inputMode: "numeric",
277
+ autoComplete: "off",
278
+ value: draft,
279
+ onChange: (event) => setDraft(event.currentTarget.value),
280
+ onBlur: commit,
281
+ onKeyDown: (event) => {
282
+ if (event.key === "Enter") commit();
283
+ }
284
+ }) })
285
+ });
286
+ }
287
+ /** A vertical hairline between pagination clusters. Purely decorative — a quiet visual rule, hidden
288
+ * from assistive tech (the clusters are already distinct landmarks/labels). */
289
+ function PaginationSeparator({ className, ...props }) {
290
+ return /* @__PURE__ */ jsx("div", {
291
+ "data-slot": PAGINATION_SLOTS.separator,
292
+ "aria-hidden": "true",
293
+ className,
294
+ ...props
295
+ });
296
+ }
297
+ /**
298
+ * Page navigation controls. `Pagination.Root` owns the controlled page model and shares it with the
299
+ * parts: `Pagination.Controls` (the welded nav `ButtonGroup`) hosting `Pagination.First` / `Previous` /
300
+ * `Next` / `Last` and the editable `Pagination.Page`, plus the `Pagination.Info` status line, the
301
+ * `Pagination.PageSize` picker, and the `Pagination.Separator` divider.
302
+ *
303
+ * The runtime compound is a plain object (kept tree-shakeable); per-part prop types are exposed through
304
+ * the matching `Pagination` namespace — e.g. `Pagination.Root.Props`.
305
+ */
306
+ const Pagination = {
307
+ /** Owns the controlled page model + shared context. `Pagination.Root.props({ size })` → its prop bag. */
308
+ Root: Object.assign(PaginationRoot, { props: rootProps }),
309
+ /** The "Showing X–Y of Z" status line. `Pagination.Info.props()` → its prop bag. */
310
+ Info: Object.assign(PaginationInfo, { props: infoProps }),
311
+ /** The page-size cluster (compose `PageSizeLabel` + `PageSizeSelect`). `Pagination.PageSize.props()` → its prop bag. */
312
+ PageSize: Object.assign(PaginationPageSize, { props: pageSizeProps }),
313
+ /** The page-size label. `Pagination.PageSizeLabel.props()` → its prop bag. */
314
+ PageSizeLabel: Object.assign(PaginationPageSizeLabel, { props: pageSizeLabelProps }),
315
+ /** The page-size select control. */
316
+ PageSizeSelect: PaginationPageSizeSelect,
317
+ /** The nav landmark + welded `ButtonGroup`. `Pagination.Controls.props()` → its prop bag. */
318
+ Controls: Object.assign(PaginationControls, { props: controlsProps }),
319
+ /** First-page button. */
320
+ First: PaginationFirst,
321
+ /** Previous-page button. */
322
+ Previous: PaginationPrevious,
323
+ /** Next-page button. */
324
+ Next: PaginationNext,
325
+ /** Last-page button. */
326
+ Last: PaginationLast,
327
+ /** The editable page-number field. `Pagination.Page.props()` → its prop bag. */
328
+ Page: Object.assign(PaginationPage, { props: pageProps }),
329
+ /** A vertical divider between clusters. `Pagination.Separator.props()` → its prop bag. */
330
+ Separator: Object.assign(PaginationSeparator, { props: separatorProps })
331
+ };
332
+ //#endregion
333
+ export { Pagination };
@@ -0,0 +1,51 @@
1
+ import { PaginationSize } from "./pagination.types.js";
2
+
3
+ //#region src/components/pagination/pagination.props.d.ts
4
+ /** A spreadable data-attribute prop bag — the shape every `Pagination.*.props()` returns. */
5
+ type PaginationPartProps = {
6
+ /** The slot value the matching `pagination.css` rules anchor on. */"data-slot": string; /** Forwarded verbatim — styling is attribute-driven, so this is an optional consumer passthrough. */
7
+ className?: string; /** A data-attribute present (string) or absent (`undefined`); never `false`. */
8
+ [attr: `data-${string}`]: string | undefined;
9
+ };
10
+ interface BasePropsArgs {
11
+ /** Forwarded verbatim onto the returned prop bag. */
12
+ className?: string;
13
+ }
14
+ /** Argument to `Pagination.Root.props(...)` — the control scale fed to the hosted controls. */
15
+ interface PaginationRootPropsArgs extends BasePropsArgs {
16
+ /** Control scale. @default "md" */
17
+ size?: PaginationSize;
18
+ }
19
+ /** Argument to a stateless Pagination part's `.props(...)`. */
20
+ type PaginationStatelessPropsArgs = BasePropsArgs;
21
+ /** Root prop bag: `data-slot` plus the `data-size` the layout + hosted controls read. */
22
+ declare function rootProps({
23
+ size,
24
+ className
25
+ }?: PaginationRootPropsArgs): PaginationPartProps;
26
+ /** Info-line prop bag: just the slot anchor. */
27
+ declare function infoProps({
28
+ className
29
+ }?: PaginationStatelessPropsArgs): PaginationPartProps;
30
+ /** Page-size cluster prop bag: just the slot anchor. */
31
+ declare function pageSizeProps({
32
+ className
33
+ }?: PaginationStatelessPropsArgs): PaginationPartProps;
34
+ /** Page-size label prop bag: just the slot anchor. */
35
+ declare function pageSizeLabelProps({
36
+ className
37
+ }?: PaginationStatelessPropsArgs): PaginationPartProps;
38
+ /** Page-field cluster prop bag: just the slot anchor. */
39
+ declare function pageProps({
40
+ className
41
+ }?: PaginationStatelessPropsArgs): PaginationPartProps;
42
+ /** Controls cluster prop bag: just the slot anchor. */
43
+ declare function controlsProps({
44
+ className
45
+ }?: PaginationStatelessPropsArgs): PaginationPartProps;
46
+ /** Separator prop bag: just the slot anchor. */
47
+ declare function separatorProps({
48
+ className
49
+ }?: PaginationStatelessPropsArgs): PaginationPartProps;
50
+ //#endregion
51
+ export { PaginationPartProps, PaginationRootPropsArgs, controlsProps, infoProps, pageProps, pageSizeLabelProps, pageSizeProps, rootProps, separatorProps };
@@ -0,0 +1,49 @@
1
+ import { PAGINATION_SLOTS } from "./pagination.slots.js";
2
+ //#region src/components/pagination/pagination.props.ts
3
+ /**
4
+ * The D12 unified variant contract for Pagination — the data-attribute-native styling helpers.
5
+ *
6
+ * Each part Pagination *owns* exposes a `props(...)` builder returning a spreadable
7
+ * `{ "data-slot": "noctis-pagination-<part>", ...dataAttrs }` bag the precompiled `pagination.css` keys
8
+ * off, so spreading it onto a foreign element styles that element as the part. The hosted controls
9
+ * (`Button`/`ButtonGroup`/`Input`/`Select`) are composed in the orchestration and keep their own
10
+ * `.props()`; these helpers cover only Pagination's own layout slots. An optional `className` is
11
+ * forwarded verbatim.
12
+ */
13
+ const withClassName = (bag, className) => className === void 0 ? bag : {
14
+ ...bag,
15
+ className
16
+ };
17
+ /** Root prop bag: `data-slot` plus the `data-size` the layout + hosted controls read. */
18
+ function rootProps({ size = "md", className } = {}) {
19
+ return withClassName({
20
+ "data-slot": PAGINATION_SLOTS.root,
21
+ "data-size": size
22
+ }, className);
23
+ }
24
+ /** Info-line prop bag: just the slot anchor. */
25
+ function infoProps({ className } = {}) {
26
+ return withClassName({ "data-slot": PAGINATION_SLOTS.info }, className);
27
+ }
28
+ /** Page-size cluster prop bag: just the slot anchor. */
29
+ function pageSizeProps({ className } = {}) {
30
+ return withClassName({ "data-slot": PAGINATION_SLOTS.pageSize }, className);
31
+ }
32
+ /** Page-size label prop bag: just the slot anchor. */
33
+ function pageSizeLabelProps({ className } = {}) {
34
+ return withClassName({ "data-slot": PAGINATION_SLOTS.pageSizeLabel }, className);
35
+ }
36
+ /** Page-field cluster prop bag: just the slot anchor. */
37
+ function pageProps({ className } = {}) {
38
+ return withClassName({ "data-slot": PAGINATION_SLOTS.page }, className);
39
+ }
40
+ /** Controls cluster prop bag: just the slot anchor. */
41
+ function controlsProps({ className } = {}) {
42
+ return withClassName({ "data-slot": PAGINATION_SLOTS.controls }, className);
43
+ }
44
+ /** Separator prop bag: just the slot anchor. */
45
+ function separatorProps({ className } = {}) {
46
+ return withClassName({ "data-slot": PAGINATION_SLOTS.separator }, className);
47
+ }
48
+ //#endregion
49
+ export { controlsProps, infoProps, pageProps, pageSizeLabelProps, pageSizeProps, rootProps, separatorProps };
@@ -0,0 +1,16 @@
1
+ //#region src/components/pagination/pagination.slots.d.ts
2
+ /**
3
+ * The `data-*` hooks `Pagination` stamps on its own parts, for host-side styling and tests. The
4
+ * `data-size` axis (on the root) carries the recipe the precompiled `pagination.css` keys its layout
5
+ * off and that the orchestration feeds to the hosted controls. The nav buttons render `Button`, so
6
+ * their bounds-disabled state is the `Button`'s own `data-disabled` (stamped by the underlying control),
7
+ * not a Pagination attribute.
8
+ */
9
+ declare enum PaginationDataAttributes {
10
+ /** The root navigation container. */
11
+ slot = "data-slot",
12
+ /** The control scale — `sm` | `md` (default); fed to the hosted Button/Input/Select. */
13
+ size = "data-size"
14
+ }
15
+ //#endregion
16
+ export { PaginationDataAttributes };
@@ -0,0 +1,32 @@
1
+ //#region src/components/pagination/pagination.slots.ts
2
+ /**
3
+ * The slot vocabulary every `Pagination` part stamps as its `data-slot`. The authored source the
4
+ * orchestration file reads from, kebab-cased `{component}[-{part}]` under the `noctis-` prefix;
5
+ * SLOTS.md still generates from the token-graph declarations. The hosted controls (`Button`,
6
+ * `ButtonGroup`, `Input`, `Select`) keep their own slots — these mark only Pagination's own structure.
7
+ */
8
+ const PAGINATION_SLOTS = {
9
+ root: "noctis-pagination",
10
+ info: "noctis-pagination-info",
11
+ pageSize: "noctis-pagination-page-size",
12
+ pageSizeLabel: "noctis-pagination-page-size-label",
13
+ page: "noctis-pagination-page",
14
+ controls: "noctis-pagination-controls",
15
+ separator: "noctis-pagination-separator"
16
+ };
17
+ /**
18
+ * The `data-*` hooks `Pagination` stamps on its own parts, for host-side styling and tests. The
19
+ * `data-size` axis (on the root) carries the recipe the precompiled `pagination.css` keys its layout
20
+ * off and that the orchestration feeds to the hosted controls. The nav buttons render `Button`, so
21
+ * their bounds-disabled state is the `Button`'s own `data-disabled` (stamped by the underlying control),
22
+ * not a Pagination attribute.
23
+ */
24
+ let PaginationDataAttributes = /* @__PURE__ */ function(PaginationDataAttributes) {
25
+ /** The root navigation container. */
26
+ PaginationDataAttributes["slot"] = "data-slot";
27
+ /** The control scale — `sm` | `md` (default); fed to the hosted Button/Input/Select. */
28
+ PaginationDataAttributes["size"] = "data-size";
29
+ return PaginationDataAttributes;
30
+ }({});
31
+ //#endregion
32
+ export { PAGINATION_SLOTS, PaginationDataAttributes };
@@ -0,0 +1,24 @@
1
+ //#region src/components/pagination/pagination.types.d.ts
2
+ /**
3
+ * The size vocabulary and the i18n label shape `Pagination` paints. Authored source of truth since
4
+ * styling is precompiled in `pagination.css`. Types-only: no runtime code.
5
+ */
6
+ /** The pagination control scale — `sm` (dense rows) or `md` (the default). Fed to the hosted controls. */
7
+ type PaginationSize = "sm" | "md";
8
+ /**
9
+ * The accessible names and visible micro-copy for `Pagination`. Every field has an English default
10
+ * (overridden per-instance via the `labels` prop, or globally through `@stridge/noctis-intl`). Declared
11
+ * as a `type` (not an `interface`) so it carries the implicit index signature `useInjectedLabels` needs.
12
+ */
13
+ type PaginationLabels = {
14
+ /** Accessible name for the navigation landmark. @default "Pagination" */navigation?: string; /** Accessible name for the first-page button. @default "First page" */
15
+ firstPage?: string; /** Accessible name for the previous-page button. @default "Previous page" */
16
+ previousPage?: string; /** Accessible name for the next-page button. @default "Next page" */
17
+ nextPage?: string; /** Accessible name for the last-page button. @default "Last page" */
18
+ lastPage?: string; /** Accessible name for the page-number input. @default "Page number" */
19
+ pageNumber?: string; /** Accessible name for the page-size select. @default "Page size" */
20
+ pageSize?: string; /** Visible label before the page-size select. @default "Per page" */
21
+ perPage?: string;
22
+ };
23
+ //#endregion
24
+ export { PaginationLabels, PaginationSize };
@@ -1,2 +1,2 @@
1
- import { Check as CheckIcon, ChevronDown as ChevronDownIcon, ChevronRight as ChevronRightIcon, ChevronUp as ChevronUpIcon, ChevronsUpDown as ChevronsUpDownIcon, File as FileIcon, LoaderCircle as SpinnerIcon, Minus as MinusIcon, MoreHorizontal as MoreHorizontalIcon, Pipette as PipetteIcon, Plus as PlusIcon, Search as SearchIcon, Terminal as TerminalIcon, X as XIcon } from "lucide-react";
2
- export { CheckIcon, ChevronDownIcon, ChevronRightIcon, ChevronUpIcon, ChevronsUpDownIcon, FileIcon, MinusIcon, MoreHorizontalIcon, PipetteIcon, PlusIcon, SearchIcon, SpinnerIcon, TerminalIcon, XIcon };
1
+ import { Check as CheckIcon, ChevronDown as ChevronDownIcon, ChevronLeft as ChevronLeftIcon, ChevronRight as ChevronRightIcon, ChevronUp as ChevronUpIcon, ChevronsLeft as ChevronsLeftIcon, ChevronsRight as ChevronsRightIcon, ChevronsUpDown as ChevronsUpDownIcon, File as FileIcon, LoaderCircle as SpinnerIcon, Minus as MinusIcon, MoreHorizontal as MoreHorizontalIcon, Pipette as PipetteIcon, Plus as PlusIcon, Search as SearchIcon, Terminal as TerminalIcon, X as XIcon } from "lucide-react";
2
+ export { CheckIcon, ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, ChevronUpIcon, ChevronsLeftIcon, ChevronsRightIcon, ChevronsUpDownIcon, FileIcon, MinusIcon, MoreHorizontalIcon, PipetteIcon, PlusIcon, SearchIcon, SpinnerIcon, TerminalIcon, XIcon };
package/dist/index.d.ts CHANGED
@@ -74,6 +74,9 @@ import { NumberFieldDataAttributes } from "./components/number-field/number-fiel
74
74
  import { OtpFieldSize } from "./components/otp-field/otp-field.props.js";
75
75
  import { OtpField } from "./components/otp-field/otp-field.js";
76
76
  import { OtpFieldDataAttributes } from "./components/otp-field/otp-field.slots.js";
77
+ import { PaginationLabels, PaginationSize } from "./components/pagination/pagination.types.js";
78
+ import { Pagination } from "./components/pagination/pagination.js";
79
+ import { PaginationDataAttributes } from "./components/pagination/pagination.slots.js";
77
80
  import { PreviewCard } from "./components/preview-card/preview-card.js";
78
81
  import { PreviewCardDataAttributes } from "./components/preview-card/preview-card.slots.js";
79
82
  import { Popover } from "./components/popover/popover.js";
@@ -126,4 +129,4 @@ import { NoctisProvider } from "./core/noctis-provider.js";
126
129
  /** Package identifier — the workspace-resolution marker consumed by the app scaffold. */
127
130
  declare const UI_PACKAGE: "@stridge/noctis";
128
131
  //#endregion
129
- export { Accordion, AccordionDataAttributes, type AccordionLevel, type AccordionSize, AlertDialog, type AlertDialogActionTone, AlertDialogDataAttributes, Autocomplete, AutocompleteDataAttributes, type AutocompleteSize, Avatar, AvatarDataAttributes, Badge, BadgeDataAttributes, type BadgeSize, type BadgeTone, type BadgeVariant, BrandLogo, Button, ButtonDataAttributes, ButtonGroup, ButtonGroupDataAttributes, Checkbox, CheckboxDataAttributes, CheckboxGroup, type ClassNameProp, CodeBlock, CodeBlockDataAttributes, Collapsible, CollapsibleDataAttributes, type ColorFormat, ColorPicker, type ColorPickerLabels, ColorSwatch, ColorSwatchPicker, Combobox, ComboboxDataAttributes, ContextMenu, ContextMenuDataAttributes, CopyButton, CopyButtonDataAttributes, Dialog, DialogDataAttributes, EMPTY_SHEET_STACK, Field, FieldDataAttributes, Fieldset, Form, Icon, type IconGlyph, InlineCode, Input, type InputAdornmentSide, type InputAdornmentVariant, InputDataAttributes, type InputSize, Kbd, Menu, MenuDataAttributes, Menubar, MenubarDataAttributes, Meter, MeterDataAttributes, NavigationMenu, NavigationMenuDataAttributes, NoctisProvider, NumberField, NumberFieldDataAttributes, OtpField, OtpFieldDataAttributes, type OtpFieldSize, type PackageManager, Popover, PopoverDataAttributes, PreviewCard, PreviewCardDataAttributes, Primitive, Progress, ProgressDataAttributes, type ProgressSize, RADIUS_PRESETS, Radio, RadioDataAttributes, RadiusScope, Rail, RailDataAttributes, ScrollArea, ScrollAreaDataAttributes, SearchDialog, SearchDialogDataAttributes, type SearchResult, Select, SelectDataAttributes, Separator, SeparatorDataAttributes, Sheet, SheetStack, type SheetStackEntry, type SheetStackEntryInput, type SheetStackManager, Slider, SliderDataAttributes, type SliderSize, Surface, Switch, SwitchDataAttributes, Table, Tabs, TabsDataAttributes, Textarea, TextareaDataAttributes, type TextareaSize, Toast, ToastDataAttributes, type ToastManager, type ToastObject, type ToastOptions, type ToastPlacement, type ToastPromiseOptions, type ToastStatusOptions, type ToastType, type ToastUpdateOptions, Toggle, ToggleDataAttributes, ToggleGroup, Toolbar, ToolbarDataAttributes, Tooltip, TooltipDataAttributes, UI_PACKAGE, VisuallyHidden, mergeClassName, mergeProps, sheetStackReducer, useCopy, useReducedMotion, useRender, useSheetStack, useSheetStackContext, useToast };
132
+ export { Accordion, AccordionDataAttributes, type AccordionLevel, type AccordionSize, AlertDialog, type AlertDialogActionTone, AlertDialogDataAttributes, Autocomplete, AutocompleteDataAttributes, type AutocompleteSize, Avatar, AvatarDataAttributes, Badge, BadgeDataAttributes, type BadgeSize, type BadgeTone, type BadgeVariant, BrandLogo, Button, ButtonDataAttributes, ButtonGroup, ButtonGroupDataAttributes, Checkbox, CheckboxDataAttributes, CheckboxGroup, type ClassNameProp, CodeBlock, CodeBlockDataAttributes, Collapsible, CollapsibleDataAttributes, type ColorFormat, ColorPicker, type ColorPickerLabels, ColorSwatch, ColorSwatchPicker, Combobox, ComboboxDataAttributes, ContextMenu, ContextMenuDataAttributes, CopyButton, CopyButtonDataAttributes, Dialog, DialogDataAttributes, EMPTY_SHEET_STACK, Field, FieldDataAttributes, Fieldset, Form, Icon, type IconGlyph, InlineCode, Input, type InputAdornmentSide, type InputAdornmentVariant, InputDataAttributes, type InputSize, Kbd, Menu, MenuDataAttributes, Menubar, MenubarDataAttributes, Meter, MeterDataAttributes, NavigationMenu, NavigationMenuDataAttributes, NoctisProvider, NumberField, NumberFieldDataAttributes, OtpField, OtpFieldDataAttributes, type OtpFieldSize, type PackageManager, Pagination, PaginationDataAttributes, type PaginationLabels, type PaginationSize, Popover, PopoverDataAttributes, PreviewCard, PreviewCardDataAttributes, Primitive, Progress, ProgressDataAttributes, type ProgressSize, RADIUS_PRESETS, Radio, RadioDataAttributes, RadiusScope, Rail, RailDataAttributes, ScrollArea, ScrollAreaDataAttributes, SearchDialog, SearchDialogDataAttributes, type SearchResult, Select, SelectDataAttributes, Separator, SeparatorDataAttributes, Sheet, SheetStack, type SheetStackEntry, type SheetStackEntryInput, type SheetStackManager, Slider, SliderDataAttributes, type SliderSize, Surface, Switch, SwitchDataAttributes, Table, Tabs, TabsDataAttributes, Textarea, TextareaDataAttributes, type TextareaSize, Toast, ToastDataAttributes, type ToastManager, type ToastObject, type ToastOptions, type ToastPlacement, type ToastPromiseOptions, type ToastStatusOptions, type ToastType, type ToastUpdateOptions, Toggle, ToggleDataAttributes, ToggleGroup, Toolbar, ToolbarDataAttributes, Tooltip, TooltipDataAttributes, UI_PACKAGE, VisuallyHidden, mergeClassName, mergeProps, sheetStackReducer, useCopy, useReducedMotion, useRender, useSheetStack, useSheetStackContext, useToast };
package/dist/index.js CHANGED
@@ -65,6 +65,8 @@ import { NumberFieldDataAttributes } from "./components/number-field/number-fiel
65
65
  import { NumberField } from "./components/number-field/number-field.js";
66
66
  import { OtpFieldDataAttributes } from "./components/otp-field/otp-field.slots.js";
67
67
  import { OtpField } from "./components/otp-field/otp-field.js";
68
+ import { PaginationDataAttributes } from "./components/pagination/pagination.slots.js";
69
+ import { Pagination } from "./components/pagination/pagination.js";
68
70
  import { PreviewCardDataAttributes } from "./components/preview-card/preview-card.slots.js";
69
71
  import { PreviewCard } from "./components/preview-card/preview-card.js";
70
72
  import { PopoverDataAttributes } from "./components/popover/popover.slots.js";
@@ -111,4 +113,4 @@ import { NoctisProvider } from "./core/noctis-provider.js";
111
113
  /** Package identifier — the workspace-resolution marker consumed by the app scaffold. */
112
114
  const UI_PACKAGE = "@stridge/noctis";
113
115
  //#endregion
114
- export { Accordion, AccordionDataAttributes, AlertDialog, AlertDialogDataAttributes, Autocomplete, AutocompleteDataAttributes, Avatar, AvatarDataAttributes, Badge, BadgeDataAttributes, BrandLogo, Button, ButtonDataAttributes, ButtonGroup, ButtonGroupDataAttributes, Checkbox, CheckboxDataAttributes, CheckboxGroup, CodeBlock, CodeBlockDataAttributes, Collapsible, CollapsibleDataAttributes, ColorPicker, ColorSwatch, ColorSwatchPicker, Combobox, ComboboxDataAttributes, ContextMenu, ContextMenuDataAttributes, CopyButton, CopyButtonDataAttributes, Dialog, DialogDataAttributes, EMPTY_SHEET_STACK, Field, FieldDataAttributes, Fieldset, Form, Icon, InlineCode, Input, InputDataAttributes, Kbd, Menu, MenuDataAttributes, Menubar, MenubarDataAttributes, Meter, MeterDataAttributes, NavigationMenu, NavigationMenuDataAttributes, NoctisProvider, NumberField, NumberFieldDataAttributes, OtpField, OtpFieldDataAttributes, Popover, PopoverDataAttributes, PreviewCard, PreviewCardDataAttributes, Primitive, Progress, ProgressDataAttributes, RADIUS_PRESETS, Radio, RadioDataAttributes, RadiusScope, Rail, RailDataAttributes, ScrollArea, ScrollAreaDataAttributes, SearchDialog, SearchDialogDataAttributes, Select, SelectDataAttributes, Separator, SeparatorDataAttributes, Sheet, SheetStack, Slider, SliderDataAttributes, Surface, Switch, SwitchDataAttributes, Table, Tabs, TabsDataAttributes, Textarea, TextareaDataAttributes, Toast, ToastDataAttributes, Toggle, ToggleDataAttributes, ToggleGroup, Toolbar, ToolbarDataAttributes, Tooltip, TooltipDataAttributes, UI_PACKAGE, VisuallyHidden, mergeClassName, mergeProps, sheetStackReducer, useCopy, useReducedMotion, useRender, useSheetStack, useSheetStackContext, useToast };
116
+ export { Accordion, AccordionDataAttributes, AlertDialog, AlertDialogDataAttributes, Autocomplete, AutocompleteDataAttributes, Avatar, AvatarDataAttributes, Badge, BadgeDataAttributes, BrandLogo, Button, ButtonDataAttributes, ButtonGroup, ButtonGroupDataAttributes, Checkbox, CheckboxDataAttributes, CheckboxGroup, CodeBlock, CodeBlockDataAttributes, Collapsible, CollapsibleDataAttributes, ColorPicker, ColorSwatch, ColorSwatchPicker, Combobox, ComboboxDataAttributes, ContextMenu, ContextMenuDataAttributes, CopyButton, CopyButtonDataAttributes, Dialog, DialogDataAttributes, EMPTY_SHEET_STACK, Field, FieldDataAttributes, Fieldset, Form, Icon, InlineCode, Input, InputDataAttributes, Kbd, Menu, MenuDataAttributes, Menubar, MenubarDataAttributes, Meter, MeterDataAttributes, NavigationMenu, NavigationMenuDataAttributes, NoctisProvider, NumberField, NumberFieldDataAttributes, OtpField, OtpFieldDataAttributes, Pagination, PaginationDataAttributes, Popover, PopoverDataAttributes, PreviewCard, PreviewCardDataAttributes, Primitive, Progress, ProgressDataAttributes, RADIUS_PRESETS, Radio, RadioDataAttributes, RadiusScope, Rail, RailDataAttributes, ScrollArea, ScrollAreaDataAttributes, SearchDialog, SearchDialogDataAttributes, Select, SelectDataAttributes, Separator, SeparatorDataAttributes, Sheet, SheetStack, Slider, SliderDataAttributes, Surface, Switch, SwitchDataAttributes, Table, Tabs, TabsDataAttributes, Textarea, TextareaDataAttributes, Toast, ToastDataAttributes, Toggle, ToggleDataAttributes, ToggleGroup, Toolbar, ToolbarDataAttributes, Tooltip, TooltipDataAttributes, UI_PACKAGE, VisuallyHidden, mergeClassName, mergeProps, sheetStackReducer, useCopy, useReducedMotion, useRender, useSheetStack, useSheetStackContext, useToast };
package/dist/props.d.ts CHANGED
@@ -4,7 +4,7 @@ import { actionProps, backdropProps, bodyProps, cancelProps, closeProps, descrip
4
4
  import { fallbackProps, imageProps, rootProps as rootProps$1 } from "./components/avatar/avatar.props.js";
5
5
  import { dotProps, iconProps as iconProps$1, rootProps as rootProps$2 } from "./components/badge/badge.props.js";
6
6
  import { buttonProps } from "./components/button/button.props.js";
7
- import { rootProps as rootProps$21 } from "./components/surface/surface.props.js";
7
+ import { rootProps as rootProps$22 } from "./components/surface/surface.props.js";
8
8
  import { alphaSliderProps, areaProps, eyeDropperProps, formatTabsProps, hueSliderProps, inputProps as inputProps$1, panelProps as panelProps$2, swatchProps } from "./components/color-picker/color-picker.props.js";
9
9
  import { pickerItemProps, pickerProps, swatchProps as swatchProps$1 } from "./components/color-swatch/color-swatch.props.js";
10
10
  import { fieldProps, groupProps as groupProps$1, indicatorProps, labelProps, rootProps as rootProps$4 } from "./components/checkbox/checkbox.props.js";
@@ -18,30 +18,31 @@ import { actionProps as actionProps$1, controlProps, countProps, descriptionProp
18
18
  import { rootProps as rootProps$8 } from "./components/inline-code/inline-code.props.js";
19
19
  import { adornmentProps, controlProps as controlProps$1, rootProps as rootProps$9 } from "./components/input/input.props.js";
20
20
  import { chordProps, glyphProps, keyProps, rootProps as rootProps$10 } from "./components/kbd/kbd.props.js";
21
- import { footerProps as footerProps$3, inputProps as inputProps$5, itemProps as itemProps$5, resultsProps, rootProps as rootProps$19 } from "./components/search-dialog/search-dialog.props.js";
22
- import { backdropProps as backdropProps$2, groupLabelProps as groupLabelProps$3, groupProps as groupProps$5, iconProps as iconProps$3, itemDescriptionProps, itemIconProps, itemIndicatorProps, itemProps as itemProps$6, itemTextProps, listProps as listProps$3, popupProps as popupProps$4, scrollDownArrowProps, scrollUpArrowProps, separatorProps as separatorProps$5, triggerProps as triggerProps$11, valueProps as valueProps$2 } from "./components/select/select.props.js";
23
- import { separatorProps as separatorProps$6 } from "./components/separator/separator.props.js";
24
- import { bodyProps as bodyProps$3, closeProps as closeProps$3, contentProps as contentProps$4, headerProps as headerProps$3, layoutProps, panelProps as panelProps$3, rootProps as rootProps$17, surfaceProps, titleProps as titleProps$5, triggerProps as triggerProps$10 } from "./components/rail/rail.props.js";
21
+ import { footerProps as footerProps$3, inputProps as inputProps$5, itemProps as itemProps$5, resultsProps, rootProps as rootProps$20 } from "./components/search-dialog/search-dialog.props.js";
22
+ import { backdropProps as backdropProps$2, groupLabelProps as groupLabelProps$3, groupProps as groupProps$5, iconProps as iconProps$3, itemDescriptionProps, itemIconProps, itemIndicatorProps, itemProps as itemProps$6, itemTextProps, listProps as listProps$3, popupProps as popupProps$4, scrollDownArrowProps, scrollUpArrowProps, separatorProps as separatorProps$6, triggerProps as triggerProps$11, valueProps as valueProps$2 } from "./components/select/select.props.js";
23
+ import { separatorProps as separatorProps$7 } from "./components/separator/separator.props.js";
24
+ import { bodyProps as bodyProps$3, closeProps as closeProps$3, contentProps as contentProps$4, headerProps as headerProps$3, layoutProps, panelProps as panelProps$3, rootProps as rootProps$18, surfaceProps, titleProps as titleProps$5, triggerProps as triggerProps$10 } from "./components/rail/rail.props.js";
25
25
  import { backdropProps as backdropProps$3, bodyProps as bodyProps$4, closeProps as closeProps$4, descriptionProps as descriptionProps$5, footerProps as footerProps$4, headerProps as headerProps$4, popupProps as popupProps$5, titleProps as titleProps$6, triggerProps as triggerProps$12, viewportProps as viewportProps$3 } from "./components/sheet/sheet.props.js";
26
- import { controlProps as controlProps$2, indicatorProps as indicatorProps$4, labelProps as labelProps$4, rootProps as rootProps$20, thumbProps as thumbProps$1, trackProps as trackProps$2, valueProps as valueProps$3 } from "./components/slider/slider.props.js";
26
+ import { controlProps as controlProps$2, indicatorProps as indicatorProps$4, labelProps as labelProps$4, rootProps as rootProps$21, thumbProps as thumbProps$1, trackProps as trackProps$2, valueProps as valueProps$3 } from "./components/slider/slider.props.js";
27
27
  import { rootProps as rootProps$3 } from "./components/button-group/button-group.props.js";
28
28
  import { backdropProps as backdropProps$1, bodyProps as bodyProps$2, closeProps as closeProps$1, descriptionProps as descriptionProps$1, footerProps as footerProps$1, headerProps as headerProps$2, popupProps as popupProps$1, titleProps as titleProps$2, triggerProps as triggerProps$4 } from "./components/dialog/dialog.props.js";
29
29
  import { rootProps as rootProps$11, triggerProps as triggerProps$6 } from "./components/menubar/menubar.props.js";
30
30
  import { indicatorProps as indicatorProps$1, labelProps as labelProps$2, rootProps as rootProps$12, trackProps, valueProps } from "./components/meter/meter.props.js";
31
31
  import { decrementProps, groupProps as groupProps$3, incrementProps, inputProps as inputProps$3, prefixProps, rootProps as rootProps$14, scrubAreaCursorProps, scrubAreaProps, suffixProps } from "./components/number-field/number-field.props.js";
32
32
  import { inputProps as inputProps$4, rootProps as rootProps$15, separatorProps as separatorProps$4 } from "./components/otp-field/otp-field.props.js";
33
+ import { controlsProps, infoProps, pageProps, pageSizeLabelProps, pageSizeProps, rootProps as rootProps$16, separatorProps as separatorProps$5 } from "./components/pagination/pagination.props.js";
33
34
  import { descriptionProps as descriptionProps$4, mediaProps, metaProps, popupProps as popupProps$3, titleProps as titleProps$4, triggerProps as triggerProps$9 } from "./components/preview-card/preview-card.props.js";
34
35
  import { closeProps as closeProps$2, descriptionProps as descriptionProps$3, popupProps as popupProps$2, titleProps as titleProps$3, triggerProps as triggerProps$8 } from "./components/popover/popover.props.js";
35
- import { indicatorProps as indicatorProps$2, labelProps as labelProps$3, rootProps as rootProps$16, trackProps as trackProps$1, valueProps as valueProps$1 } from "./components/progress/progress.props.js";
36
+ import { indicatorProps as indicatorProps$2, labelProps as labelProps$3, rootProps as rootProps$17, trackProps as trackProps$1, valueProps as valueProps$1 } from "./components/progress/progress.props.js";
36
37
  import { groupProps as groupProps$4, indicatorProps as indicatorProps$3, radioProps } from "./components/radio/radio.props.js";
37
38
  import { contentProps as contentProps$3, footerProps as footerProps$2, itemProps as itemProps$4, linkDescriptionProps, linkProps, linkTitleProps, listProps as listProps$2, rootProps as rootProps$13, sectionProps, sectionTitleProps, separatorProps as separatorProps$3, triggerProps as triggerProps$7, viewportProps as viewportProps$1 } from "./components/navigation-menu/navigation-menu.props.js";
38
- import { bodyProps as bodyProps$5, cellProps, headProps, headerProps as headerProps$5, rootProps as rootProps$22, rowProps } from "./components/table/table.props.js";
39
- import { indicatorProps as indicatorProps$5, listProps as listProps$4, panelProps as panelProps$4, rootProps as rootProps$23, tabProps } from "./components/tabs/tabs.props.js";
40
- import { groupProps as groupProps$6, rootProps as rootProps$26 } from "./components/toggle/toggle.props.js";
41
- import { groupProps as groupProps$7, inputProps as inputProps$6, rootProps as rootProps$27, separatorProps as separatorProps$7, spacerProps } from "./components/toolbar/toolbar.props.js";
42
- import { controlProps as controlProps$3, rootProps as rootProps$24, toolbarProps } from "./components/textarea/textarea.props.js";
43
- import { actionProps as actionProps$2, closeProps as closeProps$5, contentProps as contentProps$6, descriptionProps as descriptionProps$6, rootProps as rootProps$25, titleProps as titleProps$7, viewportProps as viewportProps$4 } from "./components/toast/toast.props.js";
39
+ import { bodyProps as bodyProps$5, cellProps, headProps, headerProps as headerProps$5, rootProps as rootProps$23, rowProps } from "./components/table/table.props.js";
40
+ import { indicatorProps as indicatorProps$5, listProps as listProps$4, panelProps as panelProps$4, rootProps as rootProps$24, tabProps } from "./components/tabs/tabs.props.js";
41
+ import { groupProps as groupProps$6, rootProps as rootProps$27 } from "./components/toggle/toggle.props.js";
42
+ import { groupProps as groupProps$7, inputProps as inputProps$6, rootProps as rootProps$28, separatorProps as separatorProps$8, spacerProps } from "./components/toolbar/toolbar.props.js";
43
+ import { controlProps as controlProps$3, rootProps as rootProps$25, toolbarProps } from "./components/textarea/textarea.props.js";
44
+ import { actionProps as actionProps$2, closeProps as closeProps$5, contentProps as contentProps$6, descriptionProps as descriptionProps$6, rootProps as rootProps$26, titleProps as titleProps$7, viewportProps as viewportProps$4 } from "./components/toast/toast.props.js";
44
45
  import { popupProps as popupProps$6, triggerProps as triggerProps$13 } from "./components/tooltip/tooltip.props.js";
45
- import { contentProps as contentProps$5, cornerProps, rootProps as rootProps$18, scrollbarProps, thumbProps, viewportProps as viewportProps$2 } from "./components/scroll-area/scroll-area.props.js";
46
+ import { contentProps as contentProps$5, cornerProps, rootProps as rootProps$19, scrollbarProps, thumbProps, viewportProps as viewportProps$2 } from "./components/scroll-area/scroll-area.props.js";
46
47
  import { fieldProps as fieldProps$1, labelProps as labelProps$5, switchProps, thumbProps as thumbProps$2 } from "./components/switch/switch.props.js";
47
- export { itemProps as accordionItemProps, panelProps as accordionPanelProps, rootProps as accordionProps, triggerProps as accordionTriggerProps, actionProps as alertDialogActionProps, backdropProps as alertDialogBackdropProps, bodyProps as alertDialogBodyProps, cancelProps as alertDialogCancelProps, closeProps as alertDialogCloseProps, descriptionProps as alertDialogDescriptionProps, footerProps as alertDialogFooterProps, headerProps as alertDialogHeaderProps, popupProps as alertDialogPopupProps, titleProps as alertDialogTitleProps, triggerProps$1 as alertDialogTriggerProps, viewportProps as alertDialogViewportProps, contentProps as autocompleteContentProps, emptyProps as autocompleteEmptyProps, groupLabelProps as autocompleteGroupLabelProps, groupProps as autocompleteGroupProps, iconProps as autocompleteIconProps, inputProps as autocompleteInputProps, itemProps$1 as autocompleteItemProps, listProps as autocompleteListProps, loadingProps as autocompleteLoadingProps, separatorProps as autocompleteSeparatorProps, statusProps as autocompleteStatusProps, fallbackProps as avatarFallbackProps, imageProps as avatarImageProps, rootProps$1 as avatarRootProps, dotProps as badgeDotProps, iconProps$1 as badgeIconProps, rootProps$2 as badgeRootProps, rootProps$3 as buttonGroupProps, buttonProps, fieldProps as checkboxFieldProps, groupProps$1 as checkboxGroupProps, indicatorProps as checkboxIndicatorProps, labelProps as checkboxLabelProps, rootProps$4 as checkboxRootProps, bodyProps$1 as codeBlockBodyProps, floatingCopyProps as codeBlockFloatingCopyProps, frameProps as codeBlockFrameProps, headerProps$1 as codeBlockHeaderProps, logoProps as codeBlockLogoProps, managerGlyphProps as codeBlockManagerGlyphProps, titleProps$1 as codeBlockTitleProps, panelProps$1 as collapsiblePanelProps, rootProps$5 as collapsibleRootProps, triggerProps$2 as collapsibleTriggerProps, alphaSliderProps as colorPickerAlphaSliderProps, areaProps as colorPickerAreaProps, eyeDropperProps as colorPickerEyeDropperProps, formatTabsProps as colorPickerFormatTabsProps, hueSliderProps as colorPickerHueSliderProps, inputProps$1 as colorPickerInputProps, panelProps$2 as colorPickerPanelProps, swatchProps as colorPickerSwatchProps, pickerItemProps as colorSwatchPickerItemProps, pickerProps as colorSwatchPickerProps, swatchProps$1 as colorSwatchSwatchProps, chipProps as comboboxChipProps, chipsInputProps as comboboxChipsInputProps, emptyProps$1 as comboboxEmptyProps, groupLabelProps$1 as comboboxGroupLabelProps, iconProps$2 as comboboxIconProps, inputProps$2 as comboboxInputProps, itemProps$2 as comboboxItemProps, listProps$1 as comboboxListProps, separatorProps$1 as comboboxSeparatorProps, statusProps$1 as comboboxStatusProps, contentProps$1 as contextMenuContentProps, triggerProps$3 as contextMenuTriggerProps, rootProps$6 as copyButtonProps, backdropProps$1 as dialogBackdropProps, bodyProps$2 as dialogBodyProps, closeProps$1 as dialogCloseProps, descriptionProps$1 as dialogDescriptionProps, footerProps$1 as dialogFooterProps, headerProps$2 as dialogHeaderProps, popupProps$1 as dialogPopupProps, titleProps$2 as dialogTitleProps, triggerProps$4 as dialogTriggerProps, actionProps$1 as fieldActionProps, controlProps as fieldControlProps, countProps as fieldCountProps, descriptionProps$2 as fieldDescriptionProps, errorProps as fieldErrorProps, labelProps$1 as fieldLabelProps, rootProps$7 as fieldRootProps, legendProps as fieldsetLegendProps, fieldsetProps as fieldsetRootProps, formProps as formRootProps, rootProps$8 as inlineCodeRootProps, adornmentProps as inputAdornmentProps, controlProps$1 as inputControlProps, rootProps$9 as inputRootProps, chordProps as kbdChordProps, glyphProps as kbdGlyphProps, keyProps as kbdKeyProps, rootProps$10 as kbdRootProps, checkboxItemProps as menuCheckboxItemProps, contentProps$2 as menuContentProps, groupLabelProps$2 as menuGroupLabelProps, groupProps$2 as menuGroupProps, itemProps$3 as menuItemProps, radioGroupProps as menuRadioGroupProps, radioItemProps as menuRadioItemProps, separatorProps$2 as menuSeparatorProps, shortcutProps as menuShortcutProps, submenuTriggerProps as menuSubmenuTriggerProps, triggerProps$5 as menuTriggerProps, rootProps$11 as menubarRootProps, triggerProps$6 as menubarTriggerProps, indicatorProps$1 as meterIndicatorProps, labelProps$2 as meterLabelProps, rootProps$12 as meterRootProps, trackProps as meterTrackProps, valueProps as meterValueProps, contentProps$3 as navigationMenuContentProps, footerProps$2 as navigationMenuFooterProps, itemProps$4 as navigationMenuItemProps, linkDescriptionProps as navigationMenuLinkDescriptionProps, linkProps as navigationMenuLinkProps, linkTitleProps as navigationMenuLinkTitleProps, listProps$2 as navigationMenuListProps, rootProps$13 as navigationMenuRootProps, sectionProps as navigationMenuSectionProps, sectionTitleProps as navigationMenuSectionTitleProps, separatorProps$3 as navigationMenuSeparatorProps, triggerProps$7 as navigationMenuTriggerProps, viewportProps$1 as navigationMenuViewportProps, decrementProps as numberFieldDecrementProps, groupProps$3 as numberFieldGroupProps, incrementProps as numberFieldIncrementProps, inputProps$3 as numberFieldInputProps, prefixProps as numberFieldPrefixProps, rootProps$14 as numberFieldRootProps, scrubAreaCursorProps as numberFieldScrubAreaCursorProps, scrubAreaProps as numberFieldScrubAreaProps, suffixProps as numberFieldSuffixProps, inputProps$4 as otpFieldInputProps, rootProps$15 as otpFieldRootProps, separatorProps$4 as otpFieldSeparatorProps, closeProps$2 as popoverCloseProps, descriptionProps$3 as popoverDescriptionProps, popupProps$2 as popoverPopupProps, titleProps$3 as popoverTitleProps, triggerProps$8 as popoverTriggerProps, descriptionProps$4 as previewCardDescriptionProps, mediaProps as previewCardMediaProps, metaProps as previewCardMetaProps, popupProps$3 as previewCardPopupProps, titleProps$4 as previewCardTitleProps, triggerProps$9 as previewCardTriggerProps, indicatorProps$2 as progressIndicatorProps, labelProps$3 as progressLabelProps, rootProps$16 as progressRootProps, trackProps$1 as progressTrackProps, valueProps$1 as progressValueProps, groupProps$4 as radioGroupProps, indicatorProps$3 as radioIndicatorProps, radioProps, bodyProps$3 as railBodyProps, closeProps$3 as railCloseProps, contentProps$4 as railContentProps, headerProps$3 as railHeaderProps, layoutProps as railLayoutProps, panelProps$3 as railPanelProps, rootProps$17 as railRootProps, surfaceProps as railSurfaceProps, titleProps$5 as railTitleProps, triggerProps$10 as railTriggerProps, contentProps$5 as scrollAreaContentProps, cornerProps as scrollAreaCornerProps, rootProps$18 as scrollAreaRootProps, scrollbarProps as scrollAreaScrollbarProps, thumbProps as scrollAreaThumbProps, viewportProps$2 as scrollAreaViewportProps, footerProps$3 as searchDialogFooterProps, inputProps$5 as searchDialogInputProps, itemProps$5 as searchDialogItemProps, resultsProps as searchDialogResultsProps, rootProps$19 as searchDialogRootProps, backdropProps$2 as selectBackdropProps, groupLabelProps$3 as selectGroupLabelProps, groupProps$5 as selectGroupProps, iconProps$3 as selectIconProps, itemDescriptionProps as selectItemDescriptionProps, itemIconProps as selectItemIconProps, itemIndicatorProps as selectItemIndicatorProps, itemProps$6 as selectItemProps, itemTextProps as selectItemTextProps, listProps$3 as selectListProps, popupProps$4 as selectPopupProps, scrollDownArrowProps as selectScrollDownArrowProps, scrollUpArrowProps as selectScrollUpArrowProps, separatorProps$5 as selectSeparatorProps, triggerProps$11 as selectTriggerProps, valueProps$2 as selectValueProps, separatorProps$6 as separatorProps, backdropProps$3 as sheetBackdropProps, bodyProps$4 as sheetBodyProps, closeProps$4 as sheetCloseProps, descriptionProps$5 as sheetDescriptionProps, footerProps$4 as sheetFooterProps, headerProps$4 as sheetHeaderProps, popupProps$5 as sheetPopupProps, titleProps$6 as sheetTitleProps, triggerProps$12 as sheetTriggerProps, viewportProps$3 as sheetViewportProps, controlProps$2 as sliderControlProps, indicatorProps$4 as sliderIndicatorProps, labelProps$4 as sliderLabelProps, rootProps$20 as sliderRootProps, thumbProps$1 as sliderThumbProps, trackProps$2 as sliderTrackProps, valueProps$3 as sliderValueProps, rootProps$21 as surfaceRootProps, fieldProps$1 as switchFieldProps, labelProps$5 as switchLabelProps, switchProps, thumbProps$2 as switchThumbProps, bodyProps$5 as tableBodyProps, cellProps as tableCellProps, headProps as tableHeadProps, headerProps$5 as tableHeaderProps, rootProps$22 as tableRootProps, rowProps as tableRowProps, indicatorProps$5 as tabsIndicatorProps, listProps$4 as tabsListProps, panelProps$4 as tabsPanelProps, rootProps$23 as tabsRootProps, tabProps as tabsTabProps, controlProps$3 as textareaControlProps, rootProps$24 as textareaRootProps, toolbarProps as textareaToolbarProps, actionProps$2 as toastActionProps, closeProps$5 as toastCloseProps, contentProps$6 as toastContentProps, descriptionProps$6 as toastDescriptionProps, rootProps$25 as toastRootProps, titleProps$7 as toastTitleProps, viewportProps$4 as toastViewportProps, groupProps$6 as toggleGroupProps, rootProps$26 as toggleProps, groupProps$7 as toolbarGroupProps, inputProps$6 as toolbarInputProps, rootProps$27 as toolbarRootProps, separatorProps$7 as toolbarSeparatorProps, spacerProps as toolbarSpacerProps, popupProps$6 as tooltipPopupProps, triggerProps$13 as tooltipTriggerProps };
48
+ export { itemProps as accordionItemProps, panelProps as accordionPanelProps, rootProps as accordionProps, triggerProps as accordionTriggerProps, actionProps as alertDialogActionProps, backdropProps as alertDialogBackdropProps, bodyProps as alertDialogBodyProps, cancelProps as alertDialogCancelProps, closeProps as alertDialogCloseProps, descriptionProps as alertDialogDescriptionProps, footerProps as alertDialogFooterProps, headerProps as alertDialogHeaderProps, popupProps as alertDialogPopupProps, titleProps as alertDialogTitleProps, triggerProps$1 as alertDialogTriggerProps, viewportProps as alertDialogViewportProps, contentProps as autocompleteContentProps, emptyProps as autocompleteEmptyProps, groupLabelProps as autocompleteGroupLabelProps, groupProps as autocompleteGroupProps, iconProps as autocompleteIconProps, inputProps as autocompleteInputProps, itemProps$1 as autocompleteItemProps, listProps as autocompleteListProps, loadingProps as autocompleteLoadingProps, separatorProps as autocompleteSeparatorProps, statusProps as autocompleteStatusProps, fallbackProps as avatarFallbackProps, imageProps as avatarImageProps, rootProps$1 as avatarRootProps, dotProps as badgeDotProps, iconProps$1 as badgeIconProps, rootProps$2 as badgeRootProps, rootProps$3 as buttonGroupProps, buttonProps, fieldProps as checkboxFieldProps, groupProps$1 as checkboxGroupProps, indicatorProps as checkboxIndicatorProps, labelProps as checkboxLabelProps, rootProps$4 as checkboxRootProps, bodyProps$1 as codeBlockBodyProps, floatingCopyProps as codeBlockFloatingCopyProps, frameProps as codeBlockFrameProps, headerProps$1 as codeBlockHeaderProps, logoProps as codeBlockLogoProps, managerGlyphProps as codeBlockManagerGlyphProps, titleProps$1 as codeBlockTitleProps, panelProps$1 as collapsiblePanelProps, rootProps$5 as collapsibleRootProps, triggerProps$2 as collapsibleTriggerProps, alphaSliderProps as colorPickerAlphaSliderProps, areaProps as colorPickerAreaProps, eyeDropperProps as colorPickerEyeDropperProps, formatTabsProps as colorPickerFormatTabsProps, hueSliderProps as colorPickerHueSliderProps, inputProps$1 as colorPickerInputProps, panelProps$2 as colorPickerPanelProps, swatchProps as colorPickerSwatchProps, pickerItemProps as colorSwatchPickerItemProps, pickerProps as colorSwatchPickerProps, swatchProps$1 as colorSwatchSwatchProps, chipProps as comboboxChipProps, chipsInputProps as comboboxChipsInputProps, emptyProps$1 as comboboxEmptyProps, groupLabelProps$1 as comboboxGroupLabelProps, iconProps$2 as comboboxIconProps, inputProps$2 as comboboxInputProps, itemProps$2 as comboboxItemProps, listProps$1 as comboboxListProps, separatorProps$1 as comboboxSeparatorProps, statusProps$1 as comboboxStatusProps, contentProps$1 as contextMenuContentProps, triggerProps$3 as contextMenuTriggerProps, rootProps$6 as copyButtonProps, backdropProps$1 as dialogBackdropProps, bodyProps$2 as dialogBodyProps, closeProps$1 as dialogCloseProps, descriptionProps$1 as dialogDescriptionProps, footerProps$1 as dialogFooterProps, headerProps$2 as dialogHeaderProps, popupProps$1 as dialogPopupProps, titleProps$2 as dialogTitleProps, triggerProps$4 as dialogTriggerProps, actionProps$1 as fieldActionProps, controlProps as fieldControlProps, countProps as fieldCountProps, descriptionProps$2 as fieldDescriptionProps, errorProps as fieldErrorProps, labelProps$1 as fieldLabelProps, rootProps$7 as fieldRootProps, legendProps as fieldsetLegendProps, fieldsetProps as fieldsetRootProps, formProps as formRootProps, rootProps$8 as inlineCodeRootProps, adornmentProps as inputAdornmentProps, controlProps$1 as inputControlProps, rootProps$9 as inputRootProps, chordProps as kbdChordProps, glyphProps as kbdGlyphProps, keyProps as kbdKeyProps, rootProps$10 as kbdRootProps, checkboxItemProps as menuCheckboxItemProps, contentProps$2 as menuContentProps, groupLabelProps$2 as menuGroupLabelProps, groupProps$2 as menuGroupProps, itemProps$3 as menuItemProps, radioGroupProps as menuRadioGroupProps, radioItemProps as menuRadioItemProps, separatorProps$2 as menuSeparatorProps, shortcutProps as menuShortcutProps, submenuTriggerProps as menuSubmenuTriggerProps, triggerProps$5 as menuTriggerProps, rootProps$11 as menubarRootProps, triggerProps$6 as menubarTriggerProps, indicatorProps$1 as meterIndicatorProps, labelProps$2 as meterLabelProps, rootProps$12 as meterRootProps, trackProps as meterTrackProps, valueProps as meterValueProps, contentProps$3 as navigationMenuContentProps, footerProps$2 as navigationMenuFooterProps, itemProps$4 as navigationMenuItemProps, linkDescriptionProps as navigationMenuLinkDescriptionProps, linkProps as navigationMenuLinkProps, linkTitleProps as navigationMenuLinkTitleProps, listProps$2 as navigationMenuListProps, rootProps$13 as navigationMenuRootProps, sectionProps as navigationMenuSectionProps, sectionTitleProps as navigationMenuSectionTitleProps, separatorProps$3 as navigationMenuSeparatorProps, triggerProps$7 as navigationMenuTriggerProps, viewportProps$1 as navigationMenuViewportProps, decrementProps as numberFieldDecrementProps, groupProps$3 as numberFieldGroupProps, incrementProps as numberFieldIncrementProps, inputProps$3 as numberFieldInputProps, prefixProps as numberFieldPrefixProps, rootProps$14 as numberFieldRootProps, scrubAreaCursorProps as numberFieldScrubAreaCursorProps, scrubAreaProps as numberFieldScrubAreaProps, suffixProps as numberFieldSuffixProps, inputProps$4 as otpFieldInputProps, rootProps$15 as otpFieldRootProps, separatorProps$4 as otpFieldSeparatorProps, controlsProps as paginationControlsProps, infoProps as paginationInfoProps, pageProps as paginationPageProps, pageSizeLabelProps as paginationPageSizeLabelProps, pageSizeProps as paginationPageSizeProps, rootProps$16 as paginationRootProps, separatorProps$5 as paginationSeparatorProps, closeProps$2 as popoverCloseProps, descriptionProps$3 as popoverDescriptionProps, popupProps$2 as popoverPopupProps, titleProps$3 as popoverTitleProps, triggerProps$8 as popoverTriggerProps, descriptionProps$4 as previewCardDescriptionProps, mediaProps as previewCardMediaProps, metaProps as previewCardMetaProps, popupProps$3 as previewCardPopupProps, titleProps$4 as previewCardTitleProps, triggerProps$9 as previewCardTriggerProps, indicatorProps$2 as progressIndicatorProps, labelProps$3 as progressLabelProps, rootProps$17 as progressRootProps, trackProps$1 as progressTrackProps, valueProps$1 as progressValueProps, groupProps$4 as radioGroupProps, indicatorProps$3 as radioIndicatorProps, radioProps, bodyProps$3 as railBodyProps, closeProps$3 as railCloseProps, contentProps$4 as railContentProps, headerProps$3 as railHeaderProps, layoutProps as railLayoutProps, panelProps$3 as railPanelProps, rootProps$18 as railRootProps, surfaceProps as railSurfaceProps, titleProps$5 as railTitleProps, triggerProps$10 as railTriggerProps, contentProps$5 as scrollAreaContentProps, cornerProps as scrollAreaCornerProps, rootProps$19 as scrollAreaRootProps, scrollbarProps as scrollAreaScrollbarProps, thumbProps as scrollAreaThumbProps, viewportProps$2 as scrollAreaViewportProps, footerProps$3 as searchDialogFooterProps, inputProps$5 as searchDialogInputProps, itemProps$5 as searchDialogItemProps, resultsProps as searchDialogResultsProps, rootProps$20 as searchDialogRootProps, backdropProps$2 as selectBackdropProps, groupLabelProps$3 as selectGroupLabelProps, groupProps$5 as selectGroupProps, iconProps$3 as selectIconProps, itemDescriptionProps as selectItemDescriptionProps, itemIconProps as selectItemIconProps, itemIndicatorProps as selectItemIndicatorProps, itemProps$6 as selectItemProps, itemTextProps as selectItemTextProps, listProps$3 as selectListProps, popupProps$4 as selectPopupProps, scrollDownArrowProps as selectScrollDownArrowProps, scrollUpArrowProps as selectScrollUpArrowProps, separatorProps$6 as selectSeparatorProps, triggerProps$11 as selectTriggerProps, valueProps$2 as selectValueProps, separatorProps$7 as separatorProps, backdropProps$3 as sheetBackdropProps, bodyProps$4 as sheetBodyProps, closeProps$4 as sheetCloseProps, descriptionProps$5 as sheetDescriptionProps, footerProps$4 as sheetFooterProps, headerProps$4 as sheetHeaderProps, popupProps$5 as sheetPopupProps, titleProps$6 as sheetTitleProps, triggerProps$12 as sheetTriggerProps, viewportProps$3 as sheetViewportProps, controlProps$2 as sliderControlProps, indicatorProps$4 as sliderIndicatorProps, labelProps$4 as sliderLabelProps, rootProps$21 as sliderRootProps, thumbProps$1 as sliderThumbProps, trackProps$2 as sliderTrackProps, valueProps$3 as sliderValueProps, rootProps$22 as surfaceRootProps, fieldProps$1 as switchFieldProps, labelProps$5 as switchLabelProps, switchProps, thumbProps$2 as switchThumbProps, bodyProps$5 as tableBodyProps, cellProps as tableCellProps, headProps as tableHeadProps, headerProps$5 as tableHeaderProps, rootProps$23 as tableRootProps, rowProps as tableRowProps, indicatorProps$5 as tabsIndicatorProps, listProps$4 as tabsListProps, panelProps$4 as tabsPanelProps, rootProps$24 as tabsRootProps, tabProps as tabsTabProps, controlProps$3 as textareaControlProps, rootProps$25 as textareaRootProps, toolbarProps as textareaToolbarProps, actionProps$2 as toastActionProps, closeProps$5 as toastCloseProps, contentProps$6 as toastContentProps, descriptionProps$6 as toastDescriptionProps, rootProps$26 as toastRootProps, titleProps$7 as toastTitleProps, viewportProps$4 as toastViewportProps, groupProps$6 as toggleGroupProps, rootProps$27 as toggleProps, groupProps$7 as toolbarGroupProps, inputProps$6 as toolbarInputProps, rootProps$28 as toolbarRootProps, separatorProps$8 as toolbarSeparatorProps, spacerProps as toolbarSpacerProps, popupProps$6 as tooltipPopupProps, triggerProps$13 as tooltipTriggerProps };
package/dist/props.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { itemProps, panelProps, rootProps, triggerProps } from "./components/accordion/accordion.props.js";
2
- import { rootProps as rootProps$21 } from "./components/surface/surface.props.js";
2
+ import { rootProps as rootProps$22 } from "./components/surface/surface.props.js";
3
3
  import { contentProps, emptyProps, groupLabelProps, groupProps, iconProps, inputProps, itemProps as itemProps$1, listProps, loadingProps, separatorProps, statusProps } from "./components/autocomplete/autocomplete.props.js";
4
4
  import { actionProps, backdropProps, bodyProps, cancelProps, closeProps, descriptionProps, footerProps, headerProps, popupProps, titleProps, triggerProps as triggerProps$1, viewportProps } from "./components/alert-dialog/alert-dialog.props.js";
5
5
  import { fallbackProps, imageProps, rootProps as rootProps$1 } from "./components/avatar/avatar.props.js";
@@ -19,29 +19,30 @@ import { actionProps as actionProps$1, controlProps, countProps, descriptionProp
19
19
  import { rootProps as rootProps$8 } from "./components/inline-code/inline-code.props.js";
20
20
  import { adornmentProps, controlProps as controlProps$1, rootProps as rootProps$9 } from "./components/input/input.props.js";
21
21
  import { backdropProps as backdropProps$1, bodyProps as bodyProps$2, closeProps as closeProps$1, descriptionProps as descriptionProps$1, footerProps as footerProps$1, headerProps as headerProps$2, popupProps as popupProps$1, titleProps as titleProps$2, triggerProps as triggerProps$4 } from "./components/dialog/dialog.props.js";
22
- import { footerProps as footerProps$3, inputProps as inputProps$5, itemProps as itemProps$5, resultsProps, rootProps as rootProps$19 } from "./components/search-dialog/search-dialog.props.js";
23
- import { backdropProps as backdropProps$2, groupLabelProps as groupLabelProps$3, groupProps as groupProps$5, iconProps as iconProps$3, itemDescriptionProps, itemIconProps, itemIndicatorProps, itemProps as itemProps$6, itemTextProps, listProps as listProps$3, popupProps as popupProps$4, scrollDownArrowProps, scrollUpArrowProps, separatorProps as separatorProps$5, triggerProps as triggerProps$11, valueProps as valueProps$2 } from "./components/select/select.props.js";
24
- import { separatorProps as separatorProps$6 } from "./components/separator/separator.props.js";
25
- import { bodyProps as bodyProps$3, closeProps as closeProps$3, contentProps as contentProps$4, headerProps as headerProps$3, layoutProps, panelProps as panelProps$3, rootProps as rootProps$17, surfaceProps, titleProps as titleProps$5, triggerProps as triggerProps$10 } from "./components/rail/rail.props.js";
22
+ import { footerProps as footerProps$3, inputProps as inputProps$5, itemProps as itemProps$5, resultsProps, rootProps as rootProps$20 } from "./components/search-dialog/search-dialog.props.js";
23
+ import { backdropProps as backdropProps$2, groupLabelProps as groupLabelProps$3, groupProps as groupProps$5, iconProps as iconProps$3, itemDescriptionProps, itemIconProps, itemIndicatorProps, itemProps as itemProps$6, itemTextProps, listProps as listProps$3, popupProps as popupProps$4, scrollDownArrowProps, scrollUpArrowProps, separatorProps as separatorProps$6, triggerProps as triggerProps$11, valueProps as valueProps$2 } from "./components/select/select.props.js";
24
+ import { separatorProps as separatorProps$7 } from "./components/separator/separator.props.js";
25
+ import { bodyProps as bodyProps$3, closeProps as closeProps$3, contentProps as contentProps$4, headerProps as headerProps$3, layoutProps, panelProps as panelProps$3, rootProps as rootProps$18, surfaceProps, titleProps as titleProps$5, triggerProps as triggerProps$10 } from "./components/rail/rail.props.js";
26
26
  import { backdropProps as backdropProps$3, bodyProps as bodyProps$4, closeProps as closeProps$4, descriptionProps as descriptionProps$5, footerProps as footerProps$4, headerProps as headerProps$4, popupProps as popupProps$5, titleProps as titleProps$6, triggerProps as triggerProps$12, viewportProps as viewportProps$3 } from "./components/sheet/sheet.props.js";
27
- import { controlProps as controlProps$2, indicatorProps as indicatorProps$4, labelProps as labelProps$4, rootProps as rootProps$20, thumbProps as thumbProps$1, trackProps as trackProps$2, valueProps as valueProps$3 } from "./components/slider/slider.props.js";
27
+ import { controlProps as controlProps$2, indicatorProps as indicatorProps$4, labelProps as labelProps$4, rootProps as rootProps$21, thumbProps as thumbProps$1, trackProps as trackProps$2, valueProps as valueProps$3 } from "./components/slider/slider.props.js";
28
28
  import { rootProps as rootProps$3 } from "./components/button-group/button-group.props.js";
29
29
  import { rootProps as rootProps$11, triggerProps as triggerProps$6 } from "./components/menubar/menubar.props.js";
30
30
  import { indicatorProps as indicatorProps$1, labelProps as labelProps$2, rootProps as rootProps$12, trackProps, valueProps } from "./components/meter/meter.props.js";
31
31
  import { decrementProps, groupProps as groupProps$3, incrementProps, inputProps as inputProps$3, prefixProps, rootProps as rootProps$14, scrubAreaCursorProps, scrubAreaProps, suffixProps } from "./components/number-field/number-field.props.js";
32
32
  import { inputProps as inputProps$4, rootProps as rootProps$15, separatorProps as separatorProps$4 } from "./components/otp-field/otp-field.props.js";
33
+ import { controlsProps, infoProps, pageProps, pageSizeLabelProps, pageSizeProps, rootProps as rootProps$16, separatorProps as separatorProps$5 } from "./components/pagination/pagination.props.js";
33
34
  import { descriptionProps as descriptionProps$4, mediaProps, metaProps, popupProps as popupProps$3, titleProps as titleProps$4, triggerProps as triggerProps$9 } from "./components/preview-card/preview-card.props.js";
34
35
  import { closeProps as closeProps$2, descriptionProps as descriptionProps$3, popupProps as popupProps$2, titleProps as titleProps$3, triggerProps as triggerProps$8 } from "./components/popover/popover.props.js";
35
- import { indicatorProps as indicatorProps$2, labelProps as labelProps$3, rootProps as rootProps$16, trackProps as trackProps$1, valueProps as valueProps$1 } from "./components/progress/progress.props.js";
36
+ import { indicatorProps as indicatorProps$2, labelProps as labelProps$3, rootProps as rootProps$17, trackProps as trackProps$1, valueProps as valueProps$1 } from "./components/progress/progress.props.js";
36
37
  import { groupProps as groupProps$4, indicatorProps as indicatorProps$3, radioProps } from "./components/radio/radio.props.js";
37
38
  import { contentProps as contentProps$3, footerProps as footerProps$2, itemProps as itemProps$4, linkDescriptionProps, linkProps, linkTitleProps, listProps as listProps$2, rootProps as rootProps$13, sectionProps, sectionTitleProps, separatorProps as separatorProps$3, triggerProps as triggerProps$7, viewportProps as viewportProps$1 } from "./components/navigation-menu/navigation-menu.props.js";
38
- import { bodyProps as bodyProps$5, cellProps, headProps, headerProps as headerProps$5, rootProps as rootProps$22, rowProps } from "./components/table/table.props.js";
39
- import { indicatorProps as indicatorProps$5, listProps as listProps$4, panelProps as panelProps$4, rootProps as rootProps$23, tabProps } from "./components/tabs/tabs.props.js";
40
- import { groupProps as groupProps$6, rootProps as rootProps$26 } from "./components/toggle/toggle.props.js";
41
- import { groupProps as groupProps$7, inputProps as inputProps$6, rootProps as rootProps$27, separatorProps as separatorProps$7, spacerProps } from "./components/toolbar/toolbar.props.js";
42
- import { controlProps as controlProps$3, rootProps as rootProps$24, toolbarProps } from "./components/textarea/textarea.props.js";
43
- import { actionProps as actionProps$2, closeProps as closeProps$5, contentProps as contentProps$6, descriptionProps as descriptionProps$6, rootProps as rootProps$25, titleProps as titleProps$7, viewportProps as viewportProps$4 } from "./components/toast/toast.props.js";
39
+ import { bodyProps as bodyProps$5, cellProps, headProps, headerProps as headerProps$5, rootProps as rootProps$23, rowProps } from "./components/table/table.props.js";
40
+ import { indicatorProps as indicatorProps$5, listProps as listProps$4, panelProps as panelProps$4, rootProps as rootProps$24, tabProps } from "./components/tabs/tabs.props.js";
41
+ import { groupProps as groupProps$6, rootProps as rootProps$27 } from "./components/toggle/toggle.props.js";
42
+ import { groupProps as groupProps$7, inputProps as inputProps$6, rootProps as rootProps$28, separatorProps as separatorProps$8, spacerProps } from "./components/toolbar/toolbar.props.js";
43
+ import { controlProps as controlProps$3, rootProps as rootProps$25, toolbarProps } from "./components/textarea/textarea.props.js";
44
+ import { actionProps as actionProps$2, closeProps as closeProps$5, contentProps as contentProps$6, descriptionProps as descriptionProps$6, rootProps as rootProps$26, titleProps as titleProps$7, viewportProps as viewportProps$4 } from "./components/toast/toast.props.js";
44
45
  import { popupProps as popupProps$6, triggerProps as triggerProps$13 } from "./components/tooltip/tooltip.props.js";
45
- import { contentProps as contentProps$5, cornerProps, rootProps as rootProps$18, scrollbarProps, thumbProps, viewportProps as viewportProps$2 } from "./components/scroll-area/scroll-area.props.js";
46
+ import { contentProps as contentProps$5, cornerProps, rootProps as rootProps$19, scrollbarProps, thumbProps, viewportProps as viewportProps$2 } from "./components/scroll-area/scroll-area.props.js";
46
47
  import { fieldProps as fieldProps$1, labelProps as labelProps$5, switchProps, thumbProps as thumbProps$2 } from "./components/switch/switch.props.js";
47
- export { itemProps as accordionItemProps, panelProps as accordionPanelProps, rootProps as accordionProps, triggerProps as accordionTriggerProps, actionProps as alertDialogActionProps, backdropProps as alertDialogBackdropProps, bodyProps as alertDialogBodyProps, cancelProps as alertDialogCancelProps, closeProps as alertDialogCloseProps, descriptionProps as alertDialogDescriptionProps, footerProps as alertDialogFooterProps, headerProps as alertDialogHeaderProps, popupProps as alertDialogPopupProps, titleProps as alertDialogTitleProps, triggerProps$1 as alertDialogTriggerProps, viewportProps as alertDialogViewportProps, contentProps as autocompleteContentProps, emptyProps as autocompleteEmptyProps, groupLabelProps as autocompleteGroupLabelProps, groupProps as autocompleteGroupProps, iconProps as autocompleteIconProps, inputProps as autocompleteInputProps, itemProps$1 as autocompleteItemProps, listProps as autocompleteListProps, loadingProps as autocompleteLoadingProps, separatorProps as autocompleteSeparatorProps, statusProps as autocompleteStatusProps, fallbackProps as avatarFallbackProps, imageProps as avatarImageProps, rootProps$1 as avatarRootProps, dotProps as badgeDotProps, iconProps$1 as badgeIconProps, rootProps$2 as badgeRootProps, rootProps$3 as buttonGroupProps, buttonProps, fieldProps as checkboxFieldProps, groupProps$1 as checkboxGroupProps, indicatorProps as checkboxIndicatorProps, labelProps as checkboxLabelProps, rootProps$4 as checkboxRootProps, bodyProps$1 as codeBlockBodyProps, floatingCopyProps as codeBlockFloatingCopyProps, frameProps as codeBlockFrameProps, headerProps$1 as codeBlockHeaderProps, logoProps as codeBlockLogoProps, managerGlyphProps as codeBlockManagerGlyphProps, titleProps$1 as codeBlockTitleProps, panelProps$1 as collapsiblePanelProps, rootProps$5 as collapsibleRootProps, triggerProps$2 as collapsibleTriggerProps, alphaSliderProps as colorPickerAlphaSliderProps, areaProps as colorPickerAreaProps, eyeDropperProps as colorPickerEyeDropperProps, formatTabsProps as colorPickerFormatTabsProps, hueSliderProps as colorPickerHueSliderProps, inputProps$1 as colorPickerInputProps, panelProps$2 as colorPickerPanelProps, swatchProps as colorPickerSwatchProps, pickerItemProps as colorSwatchPickerItemProps, pickerProps as colorSwatchPickerProps, swatchProps$1 as colorSwatchSwatchProps, chipProps as comboboxChipProps, chipsInputProps as comboboxChipsInputProps, emptyProps$1 as comboboxEmptyProps, groupLabelProps$1 as comboboxGroupLabelProps, iconProps$2 as comboboxIconProps, inputProps$2 as comboboxInputProps, itemProps$2 as comboboxItemProps, listProps$1 as comboboxListProps, separatorProps$1 as comboboxSeparatorProps, statusProps$1 as comboboxStatusProps, contentProps$1 as contextMenuContentProps, triggerProps$3 as contextMenuTriggerProps, rootProps$6 as copyButtonProps, backdropProps$1 as dialogBackdropProps, bodyProps$2 as dialogBodyProps, closeProps$1 as dialogCloseProps, descriptionProps$1 as dialogDescriptionProps, footerProps$1 as dialogFooterProps, headerProps$2 as dialogHeaderProps, popupProps$1 as dialogPopupProps, titleProps$2 as dialogTitleProps, triggerProps$4 as dialogTriggerProps, actionProps$1 as fieldActionProps, controlProps as fieldControlProps, countProps as fieldCountProps, descriptionProps$2 as fieldDescriptionProps, errorProps as fieldErrorProps, labelProps$1 as fieldLabelProps, rootProps$7 as fieldRootProps, legendProps as fieldsetLegendProps, fieldsetProps as fieldsetRootProps, formProps as formRootProps, rootProps$8 as inlineCodeRootProps, adornmentProps as inputAdornmentProps, controlProps$1 as inputControlProps, rootProps$9 as inputRootProps, chordProps as kbdChordProps, glyphProps as kbdGlyphProps, keyProps as kbdKeyProps, rootProps$10 as kbdRootProps, checkboxItemProps as menuCheckboxItemProps, contentProps$2 as menuContentProps, groupLabelProps$2 as menuGroupLabelProps, groupProps$2 as menuGroupProps, itemProps$3 as menuItemProps, radioGroupProps as menuRadioGroupProps, radioItemProps as menuRadioItemProps, separatorProps$2 as menuSeparatorProps, shortcutProps as menuShortcutProps, submenuTriggerProps as menuSubmenuTriggerProps, triggerProps$5 as menuTriggerProps, rootProps$11 as menubarRootProps, triggerProps$6 as menubarTriggerProps, indicatorProps$1 as meterIndicatorProps, labelProps$2 as meterLabelProps, rootProps$12 as meterRootProps, trackProps as meterTrackProps, valueProps as meterValueProps, contentProps$3 as navigationMenuContentProps, footerProps$2 as navigationMenuFooterProps, itemProps$4 as navigationMenuItemProps, linkDescriptionProps as navigationMenuLinkDescriptionProps, linkProps as navigationMenuLinkProps, linkTitleProps as navigationMenuLinkTitleProps, listProps$2 as navigationMenuListProps, rootProps$13 as navigationMenuRootProps, sectionProps as navigationMenuSectionProps, sectionTitleProps as navigationMenuSectionTitleProps, separatorProps$3 as navigationMenuSeparatorProps, triggerProps$7 as navigationMenuTriggerProps, viewportProps$1 as navigationMenuViewportProps, decrementProps as numberFieldDecrementProps, groupProps$3 as numberFieldGroupProps, incrementProps as numberFieldIncrementProps, inputProps$3 as numberFieldInputProps, prefixProps as numberFieldPrefixProps, rootProps$14 as numberFieldRootProps, scrubAreaCursorProps as numberFieldScrubAreaCursorProps, scrubAreaProps as numberFieldScrubAreaProps, suffixProps as numberFieldSuffixProps, inputProps$4 as otpFieldInputProps, rootProps$15 as otpFieldRootProps, separatorProps$4 as otpFieldSeparatorProps, closeProps$2 as popoverCloseProps, descriptionProps$3 as popoverDescriptionProps, popupProps$2 as popoverPopupProps, titleProps$3 as popoverTitleProps, triggerProps$8 as popoverTriggerProps, descriptionProps$4 as previewCardDescriptionProps, mediaProps as previewCardMediaProps, metaProps as previewCardMetaProps, popupProps$3 as previewCardPopupProps, titleProps$4 as previewCardTitleProps, triggerProps$9 as previewCardTriggerProps, indicatorProps$2 as progressIndicatorProps, labelProps$3 as progressLabelProps, rootProps$16 as progressRootProps, trackProps$1 as progressTrackProps, valueProps$1 as progressValueProps, groupProps$4 as radioGroupProps, indicatorProps$3 as radioIndicatorProps, radioProps, bodyProps$3 as railBodyProps, closeProps$3 as railCloseProps, contentProps$4 as railContentProps, headerProps$3 as railHeaderProps, layoutProps as railLayoutProps, panelProps$3 as railPanelProps, rootProps$17 as railRootProps, surfaceProps as railSurfaceProps, titleProps$5 as railTitleProps, triggerProps$10 as railTriggerProps, contentProps$5 as scrollAreaContentProps, cornerProps as scrollAreaCornerProps, rootProps$18 as scrollAreaRootProps, scrollbarProps as scrollAreaScrollbarProps, thumbProps as scrollAreaThumbProps, viewportProps$2 as scrollAreaViewportProps, footerProps$3 as searchDialogFooterProps, inputProps$5 as searchDialogInputProps, itemProps$5 as searchDialogItemProps, resultsProps as searchDialogResultsProps, rootProps$19 as searchDialogRootProps, backdropProps$2 as selectBackdropProps, groupLabelProps$3 as selectGroupLabelProps, groupProps$5 as selectGroupProps, iconProps$3 as selectIconProps, itemDescriptionProps as selectItemDescriptionProps, itemIconProps as selectItemIconProps, itemIndicatorProps as selectItemIndicatorProps, itemProps$6 as selectItemProps, itemTextProps as selectItemTextProps, listProps$3 as selectListProps, popupProps$4 as selectPopupProps, scrollDownArrowProps as selectScrollDownArrowProps, scrollUpArrowProps as selectScrollUpArrowProps, separatorProps$5 as selectSeparatorProps, triggerProps$11 as selectTriggerProps, valueProps$2 as selectValueProps, separatorProps$6 as separatorProps, backdropProps$3 as sheetBackdropProps, bodyProps$4 as sheetBodyProps, closeProps$4 as sheetCloseProps, descriptionProps$5 as sheetDescriptionProps, footerProps$4 as sheetFooterProps, headerProps$4 as sheetHeaderProps, popupProps$5 as sheetPopupProps, titleProps$6 as sheetTitleProps, triggerProps$12 as sheetTriggerProps, viewportProps$3 as sheetViewportProps, controlProps$2 as sliderControlProps, indicatorProps$4 as sliderIndicatorProps, labelProps$4 as sliderLabelProps, rootProps$20 as sliderRootProps, thumbProps$1 as sliderThumbProps, trackProps$2 as sliderTrackProps, valueProps$3 as sliderValueProps, rootProps$21 as surfaceRootProps, fieldProps$1 as switchFieldProps, labelProps$5 as switchLabelProps, switchProps, thumbProps$2 as switchThumbProps, bodyProps$5 as tableBodyProps, cellProps as tableCellProps, headProps as tableHeadProps, headerProps$5 as tableHeaderProps, rootProps$22 as tableRootProps, rowProps as tableRowProps, indicatorProps$5 as tabsIndicatorProps, listProps$4 as tabsListProps, panelProps$4 as tabsPanelProps, rootProps$23 as tabsRootProps, tabProps as tabsTabProps, controlProps$3 as textareaControlProps, rootProps$24 as textareaRootProps, toolbarProps as textareaToolbarProps, actionProps$2 as toastActionProps, closeProps$5 as toastCloseProps, contentProps$6 as toastContentProps, descriptionProps$6 as toastDescriptionProps, rootProps$25 as toastRootProps, titleProps$7 as toastTitleProps, viewportProps$4 as toastViewportProps, groupProps$6 as toggleGroupProps, rootProps$26 as toggleProps, groupProps$7 as toolbarGroupProps, inputProps$6 as toolbarInputProps, rootProps$27 as toolbarRootProps, separatorProps$7 as toolbarSeparatorProps, spacerProps as toolbarSpacerProps, popupProps$6 as tooltipPopupProps, triggerProps$13 as tooltipTriggerProps };
48
+ export { itemProps as accordionItemProps, panelProps as accordionPanelProps, rootProps as accordionProps, triggerProps as accordionTriggerProps, actionProps as alertDialogActionProps, backdropProps as alertDialogBackdropProps, bodyProps as alertDialogBodyProps, cancelProps as alertDialogCancelProps, closeProps as alertDialogCloseProps, descriptionProps as alertDialogDescriptionProps, footerProps as alertDialogFooterProps, headerProps as alertDialogHeaderProps, popupProps as alertDialogPopupProps, titleProps as alertDialogTitleProps, triggerProps$1 as alertDialogTriggerProps, viewportProps as alertDialogViewportProps, contentProps as autocompleteContentProps, emptyProps as autocompleteEmptyProps, groupLabelProps as autocompleteGroupLabelProps, groupProps as autocompleteGroupProps, iconProps as autocompleteIconProps, inputProps as autocompleteInputProps, itemProps$1 as autocompleteItemProps, listProps as autocompleteListProps, loadingProps as autocompleteLoadingProps, separatorProps as autocompleteSeparatorProps, statusProps as autocompleteStatusProps, fallbackProps as avatarFallbackProps, imageProps as avatarImageProps, rootProps$1 as avatarRootProps, dotProps as badgeDotProps, iconProps$1 as badgeIconProps, rootProps$2 as badgeRootProps, rootProps$3 as buttonGroupProps, buttonProps, fieldProps as checkboxFieldProps, groupProps$1 as checkboxGroupProps, indicatorProps as checkboxIndicatorProps, labelProps as checkboxLabelProps, rootProps$4 as checkboxRootProps, bodyProps$1 as codeBlockBodyProps, floatingCopyProps as codeBlockFloatingCopyProps, frameProps as codeBlockFrameProps, headerProps$1 as codeBlockHeaderProps, logoProps as codeBlockLogoProps, managerGlyphProps as codeBlockManagerGlyphProps, titleProps$1 as codeBlockTitleProps, panelProps$1 as collapsiblePanelProps, rootProps$5 as collapsibleRootProps, triggerProps$2 as collapsibleTriggerProps, alphaSliderProps as colorPickerAlphaSliderProps, areaProps as colorPickerAreaProps, eyeDropperProps as colorPickerEyeDropperProps, formatTabsProps as colorPickerFormatTabsProps, hueSliderProps as colorPickerHueSliderProps, inputProps$1 as colorPickerInputProps, panelProps$2 as colorPickerPanelProps, swatchProps as colorPickerSwatchProps, pickerItemProps as colorSwatchPickerItemProps, pickerProps as colorSwatchPickerProps, swatchProps$1 as colorSwatchSwatchProps, chipProps as comboboxChipProps, chipsInputProps as comboboxChipsInputProps, emptyProps$1 as comboboxEmptyProps, groupLabelProps$1 as comboboxGroupLabelProps, iconProps$2 as comboboxIconProps, inputProps$2 as comboboxInputProps, itemProps$2 as comboboxItemProps, listProps$1 as comboboxListProps, separatorProps$1 as comboboxSeparatorProps, statusProps$1 as comboboxStatusProps, contentProps$1 as contextMenuContentProps, triggerProps$3 as contextMenuTriggerProps, rootProps$6 as copyButtonProps, backdropProps$1 as dialogBackdropProps, bodyProps$2 as dialogBodyProps, closeProps$1 as dialogCloseProps, descriptionProps$1 as dialogDescriptionProps, footerProps$1 as dialogFooterProps, headerProps$2 as dialogHeaderProps, popupProps$1 as dialogPopupProps, titleProps$2 as dialogTitleProps, triggerProps$4 as dialogTriggerProps, actionProps$1 as fieldActionProps, controlProps as fieldControlProps, countProps as fieldCountProps, descriptionProps$2 as fieldDescriptionProps, errorProps as fieldErrorProps, labelProps$1 as fieldLabelProps, rootProps$7 as fieldRootProps, legendProps as fieldsetLegendProps, fieldsetProps as fieldsetRootProps, formProps as formRootProps, rootProps$8 as inlineCodeRootProps, adornmentProps as inputAdornmentProps, controlProps$1 as inputControlProps, rootProps$9 as inputRootProps, chordProps as kbdChordProps, glyphProps as kbdGlyphProps, keyProps as kbdKeyProps, rootProps$10 as kbdRootProps, checkboxItemProps as menuCheckboxItemProps, contentProps$2 as menuContentProps, groupLabelProps$2 as menuGroupLabelProps, groupProps$2 as menuGroupProps, itemProps$3 as menuItemProps, radioGroupProps as menuRadioGroupProps, radioItemProps as menuRadioItemProps, separatorProps$2 as menuSeparatorProps, shortcutProps as menuShortcutProps, submenuTriggerProps as menuSubmenuTriggerProps, triggerProps$5 as menuTriggerProps, rootProps$11 as menubarRootProps, triggerProps$6 as menubarTriggerProps, indicatorProps$1 as meterIndicatorProps, labelProps$2 as meterLabelProps, rootProps$12 as meterRootProps, trackProps as meterTrackProps, valueProps as meterValueProps, contentProps$3 as navigationMenuContentProps, footerProps$2 as navigationMenuFooterProps, itemProps$4 as navigationMenuItemProps, linkDescriptionProps as navigationMenuLinkDescriptionProps, linkProps as navigationMenuLinkProps, linkTitleProps as navigationMenuLinkTitleProps, listProps$2 as navigationMenuListProps, rootProps$13 as navigationMenuRootProps, sectionProps as navigationMenuSectionProps, sectionTitleProps as navigationMenuSectionTitleProps, separatorProps$3 as navigationMenuSeparatorProps, triggerProps$7 as navigationMenuTriggerProps, viewportProps$1 as navigationMenuViewportProps, decrementProps as numberFieldDecrementProps, groupProps$3 as numberFieldGroupProps, incrementProps as numberFieldIncrementProps, inputProps$3 as numberFieldInputProps, prefixProps as numberFieldPrefixProps, rootProps$14 as numberFieldRootProps, scrubAreaCursorProps as numberFieldScrubAreaCursorProps, scrubAreaProps as numberFieldScrubAreaProps, suffixProps as numberFieldSuffixProps, inputProps$4 as otpFieldInputProps, rootProps$15 as otpFieldRootProps, separatorProps$4 as otpFieldSeparatorProps, controlsProps as paginationControlsProps, infoProps as paginationInfoProps, pageProps as paginationPageProps, pageSizeLabelProps as paginationPageSizeLabelProps, pageSizeProps as paginationPageSizeProps, rootProps$16 as paginationRootProps, separatorProps$5 as paginationSeparatorProps, closeProps$2 as popoverCloseProps, descriptionProps$3 as popoverDescriptionProps, popupProps$2 as popoverPopupProps, titleProps$3 as popoverTitleProps, triggerProps$8 as popoverTriggerProps, descriptionProps$4 as previewCardDescriptionProps, mediaProps as previewCardMediaProps, metaProps as previewCardMetaProps, popupProps$3 as previewCardPopupProps, titleProps$4 as previewCardTitleProps, triggerProps$9 as previewCardTriggerProps, indicatorProps$2 as progressIndicatorProps, labelProps$3 as progressLabelProps, rootProps$17 as progressRootProps, trackProps$1 as progressTrackProps, valueProps$1 as progressValueProps, groupProps$4 as radioGroupProps, indicatorProps$3 as radioIndicatorProps, radioProps, bodyProps$3 as railBodyProps, closeProps$3 as railCloseProps, contentProps$4 as railContentProps, headerProps$3 as railHeaderProps, layoutProps as railLayoutProps, panelProps$3 as railPanelProps, rootProps$18 as railRootProps, surfaceProps as railSurfaceProps, titleProps$5 as railTitleProps, triggerProps$10 as railTriggerProps, contentProps$5 as scrollAreaContentProps, cornerProps as scrollAreaCornerProps, rootProps$19 as scrollAreaRootProps, scrollbarProps as scrollAreaScrollbarProps, thumbProps as scrollAreaThumbProps, viewportProps$2 as scrollAreaViewportProps, footerProps$3 as searchDialogFooterProps, inputProps$5 as searchDialogInputProps, itemProps$5 as searchDialogItemProps, resultsProps as searchDialogResultsProps, rootProps$20 as searchDialogRootProps, backdropProps$2 as selectBackdropProps, groupLabelProps$3 as selectGroupLabelProps, groupProps$5 as selectGroupProps, iconProps$3 as selectIconProps, itemDescriptionProps as selectItemDescriptionProps, itemIconProps as selectItemIconProps, itemIndicatorProps as selectItemIndicatorProps, itemProps$6 as selectItemProps, itemTextProps as selectItemTextProps, listProps$3 as selectListProps, popupProps$4 as selectPopupProps, scrollDownArrowProps as selectScrollDownArrowProps, scrollUpArrowProps as selectScrollUpArrowProps, separatorProps$6 as selectSeparatorProps, triggerProps$11 as selectTriggerProps, valueProps$2 as selectValueProps, separatorProps$7 as separatorProps, backdropProps$3 as sheetBackdropProps, bodyProps$4 as sheetBodyProps, closeProps$4 as sheetCloseProps, descriptionProps$5 as sheetDescriptionProps, footerProps$4 as sheetFooterProps, headerProps$4 as sheetHeaderProps, popupProps$5 as sheetPopupProps, titleProps$6 as sheetTitleProps, triggerProps$12 as sheetTriggerProps, viewportProps$3 as sheetViewportProps, controlProps$2 as sliderControlProps, indicatorProps$4 as sliderIndicatorProps, labelProps$4 as sliderLabelProps, rootProps$21 as sliderRootProps, thumbProps$1 as sliderThumbProps, trackProps$2 as sliderTrackProps, valueProps$3 as sliderValueProps, rootProps$22 as surfaceRootProps, fieldProps$1 as switchFieldProps, labelProps$5 as switchLabelProps, switchProps, thumbProps$2 as switchThumbProps, bodyProps$5 as tableBodyProps, cellProps as tableCellProps, headProps as tableHeadProps, headerProps$5 as tableHeaderProps, rootProps$23 as tableRootProps, rowProps as tableRowProps, indicatorProps$5 as tabsIndicatorProps, listProps$4 as tabsListProps, panelProps$4 as tabsPanelProps, rootProps$24 as tabsRootProps, tabProps as tabsTabProps, controlProps$3 as textareaControlProps, rootProps$25 as textareaRootProps, toolbarProps as textareaToolbarProps, actionProps$2 as toastActionProps, closeProps$5 as toastCloseProps, contentProps$6 as toastContentProps, descriptionProps$6 as toastDescriptionProps, rootProps$26 as toastRootProps, titleProps$7 as toastTitleProps, viewportProps$4 as toastViewportProps, groupProps$6 as toggleGroupProps, rootProps$27 as toggleProps, groupProps$7 as toolbarGroupProps, inputProps$6 as toolbarInputProps, rootProps$28 as toolbarRootProps, separatorProps$8 as toolbarSeparatorProps, spacerProps as toolbarSpacerProps, popupProps$6 as tooltipPopupProps, triggerProps$13 as tooltipTriggerProps };
package/dist/styles.css CHANGED
@@ -1705,6 +1705,29 @@
1705
1705
  --_toolbar-input-height: var(--noctis-toolbar-input-height, var(--noctis-size-control-xs));
1706
1706
  --_toolbar-input-padding-inline: var(--noctis-toolbar-input-padding-inline, var(--noctis-space-1\.5));
1707
1707
  }
1708
+ [data-slot="noctis-pagination"] {
1709
+ --_pagination-gap: var(--noctis-pagination-gap, var(--noctis-space-3));
1710
+ }
1711
+ [data-slot="noctis-pagination-info"] {
1712
+ --_pagination-info-font-size: var(--noctis-pagination-info-font-size, var(--noctis-text-small));
1713
+ --_pagination-info-color: var(--noctis-pagination-info-color, var(--noctis-color-muted));
1714
+ }
1715
+ [data-slot="noctis-pagination-page-size"] {
1716
+ --_pagination-page-size-gap: var(--noctis-pagination-page-size-gap, var(--noctis-space-2));
1717
+ }
1718
+ [data-slot="noctis-pagination-page"] {
1719
+ --_pagination-page-gap: var(--noctis-pagination-page-gap, var(--noctis-space-2));
1720
+ --_pagination-page-inline-size: var(--noctis-pagination-page-inline-size, 3.5rem);
1721
+ --_pagination-page-block-size: var(--noctis-pagination-page-block-size, var(--noctis-size-control-md));
1722
+ }
1723
+ [data-slot="noctis-pagination-separator"] {
1724
+ --_pagination-separator-color: var(--noctis-pagination-separator-color, var(--noctis-color-border));
1725
+ --_pagination-separator-inline-size: var(--noctis-pagination-separator-inline-size, 1px);
1726
+ --_pagination-separator-block-size: var(--noctis-pagination-separator-block-size, 1.5rem);
1727
+ }
1728
+ [data-slot="noctis-pagination"][data-size="sm"] [data-slot="noctis-pagination-page"] {
1729
+ --_pagination-page-block-size: var(--noctis-pagination-page-block-size, var(--noctis-size-control-sm));
1730
+ }
1708
1731
  [data-slot="noctis-accordion-trigger"] {
1709
1732
  --_accordion-trigger-padding-inline: var(--noctis-accordion-trigger-padding-inline, 0);
1710
1733
  --_accordion-trigger-padding-block: var(--noctis-accordion-trigger-padding-block, var(--noctis-space-4));
@@ -4312,8 +4335,9 @@
4312
4335
  * menu trigger's popup is open (and a `Menu.Trigger` rendered as a `Button` carries
4313
4336
  * `data-slot="noctis-menu-trigger"`, not `"noctis-button"`), so keying on the marker is what keeps the
4314
4337
  * seam on exactly the real segments. The general-sibling (`~`) and `:has()` selectors look through any
4315
- * guard between two segments. Logical properties throughout (`margin-inline-start`, `inset-inline-start`),
4316
- * so the whole thing mirrors under RTL. The divider's width and colour flow through the
4338
+ * guard between two segments. Logical properties throughout (`border-inline-start-width`,
4339
+ * `inset-inline-start`), so the whole thing mirrors under RTL. The divider's width and colour flow
4340
+ * through the
4317
4341
  * `--_button-group-seam-*` internals declared on the group slot in the generated layer, so
4318
4342
  * `--noctis-button-group-seam-*` retunes it; the high-contrast `strong` border token reads clearly
4319
4343
  * across every button variant.
@@ -4347,19 +4371,24 @@
4347
4371
  }
4348
4372
 
4349
4373
  /*
4350
- * Square each later segment's inner-start corner, and pull it onto the previous segment's border so
4351
- * the two share one edge. Anchored on the group root, reaching only its direct-child marked segments.
4374
+ * Weld the segments: square each junction's corners and DROP the touching (inner) borders, so the
4375
+ * seam drawn below is the single divider. A bordered variant (secondary/outline) used to keep its
4376
+ * own 1px border at the junction *and* get the seam on top — two lines, a doubled divider; dropping
4377
+ * the inner borders leaves exactly the seam. Segments sit flush (no negative margin); a borderless
4378
+ * variant (primary/ghost/…) has no inner border to drop, so it is unaffected and the seam still
4379
+ * divides it. Anchored on the group root, reaching only its direct-child marked segments.
4352
4380
  */
4353
4381
  [data-slot="noctis-button-group"] > [data-button-group-item] ~ [data-button-group-item] {
4354
- margin-inline-start: -1px;
4355
4382
  border-start-start-radius: 0;
4356
4383
  border-end-start-radius: 0;
4384
+ border-inline-start-width: 0;
4357
4385
  }
4358
4386
 
4359
- /* Square the inner-end corner of every segment that has a later sibling segment. */
4387
+ /* Square the inner-end corner of every segment that has a later sibling, and drop its inner-end border. */
4360
4388
  [data-slot="noctis-button-group"] > [data-button-group-item]:has(~ [data-button-group-item]) {
4361
4389
  border-start-end-radius: 0;
4362
4390
  border-end-end-radius: 0;
4391
+ border-inline-end-width: 0;
4363
4392
  }
4364
4393
 
4365
4394
  /*
@@ -7761,6 +7790,97 @@
7761
7790
  }
7762
7791
  }
7763
7792
 
7793
+ @layer noctis.components {
7794
+ /*
7795
+ * Pagination is a self-contained CONTAINER, so every rule keys off its own `data-slot`. It hosts
7796
+ * real Noctis controls — the nav buttons render `Button` welded by a `ButtonGroup`, the page field
7797
+ * renders `Input`, the page-size picker renders `Select` — and those keep their own slots, paint,
7798
+ * and per-size metrics: Pagination styles only its own layout (the row + cluster gaps), the info
7799
+ * line's type, the page field's width, and the hairline separator. The control `size` is fed to the
7800
+ * hosted controls through React context in the orchestration, not a token re-point here. Identity
7801
+ * values flow through the generated `--_pagination-*` internals; the rest is structural layout.
7802
+ */
7803
+
7804
+ /* root — the navigation row. Wraps when narrow; the consumer adds their own justify if they want
7805
+ * the info line and controls pushed apart. */
7806
+ [data-slot="noctis-pagination"] {
7807
+ display: flex;
7808
+ flex-wrap: wrap;
7809
+ align-items: center;
7810
+ gap: var(--_pagination-gap);
7811
+ }
7812
+
7813
+ /* info — the “Showing X–Y of Z” status line, quieter than the controls. */
7814
+ [data-slot="noctis-pagination-info"] {
7815
+ font-size: var(--_pagination-info-font-size);
7816
+ color: var(--_pagination-info-color);
7817
+ }
7818
+
7819
+ /* page-size — the cluster laying out the “Per page” label beside its select. Layout only; the label
7820
+ * carries its own quiet type/colour and the hosted Select keeps its own. */
7821
+ [data-slot="noctis-pagination-page-size"] {
7822
+ display: inline-flex;
7823
+ align-items: center;
7824
+ gap: var(--_pagination-page-size-gap);
7825
+ }
7826
+
7827
+ [data-slot="noctis-pagination-page-size-label"] {
7828
+ font-size: var(--noctis-text-small);
7829
+ color: var(--noctis-color-muted);
7830
+ }
7831
+
7832
+ /* page — the “Page [n] of N” cluster. The hosted Input is clamped to the page-field width and its
7833
+ * value is centred. */
7834
+ [data-slot="noctis-pagination-page"] {
7835
+ display: inline-flex;
7836
+ align-items: center;
7837
+ gap: var(--_pagination-page-gap);
7838
+ font-size: var(--noctis-text-small);
7839
+ color: var(--noctis-color-muted);
7840
+ }
7841
+
7842
+ [data-slot="noctis-pagination-page"] [data-slot="noctis-input"] {
7843
+ inline-size: var(--_pagination-page-inline-size);
7844
+ }
7845
+
7846
+ [data-slot="noctis-pagination-page"] input {
7847
+ text-align: center;
7848
+ }
7849
+
7850
+ /*
7851
+ * Inside the controls `ButtonGroup`, the page field welds flush like a button segment: the wrapper is
7852
+ * positioned so the group's seam pseudo-element anchors on it, and the inner Input is flattened — a
7853
+ * squared radius (it must NOT follow the pill `radius-control`), its inner borders dropped so the
7854
+ * group's seams are the only dividers (no doubled line), and its rest shadow removed so it sits level
7855
+ * with the flattened buttons. The top/bottom field border stays, lining up with the buttons' edges.
7856
+ */
7857
+ [data-slot="noctis-pagination-controls"] [data-slot="noctis-pagination-page"] {
7858
+ position: relative;
7859
+ }
7860
+
7861
+ [data-slot="noctis-pagination-controls"] [data-slot="noctis-pagination-page"] [data-slot="noctis-input"] {
7862
+ block-size: var(--_pagination-page-block-size);
7863
+ border-inline-start-width: 0;
7864
+ border-inline-end-width: 0;
7865
+ border-radius: 0;
7866
+ box-shadow: none;
7867
+ }
7868
+
7869
+ /* controls — the navigation landmark wrapping the welded ButtonGroup of nav buttons. */
7870
+ [data-slot="noctis-pagination-controls"] {
7871
+ display: inline-flex;
7872
+ align-items: center;
7873
+ }
7874
+
7875
+ /* separator — a vertical hairline between clusters (its own minted rule, like Toolbar's). */
7876
+ [data-slot="noctis-pagination-separator"] {
7877
+ flex-shrink: 0;
7878
+ inline-size: var(--_pagination-separator-inline-size);
7879
+ block-size: var(--_pagination-separator-block-size);
7880
+ background-color: var(--_pagination-separator-color);
7881
+ }
7882
+ }
7883
+
7764
7884
  @layer noctis.components {
7765
7885
  /*
7766
7886
  * PreviewCard is precompiled: every rule keys off the prefixed `data-slot` anchor (no `:where()`, so
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stridge/noctis",
3
- "version": "1.0.0-beta.4",
3
+ "version": "1.0.0-beta.5",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "sideEffects": [
@@ -69,9 +69,9 @@
69
69
  "culori": "4.0.2",
70
70
  "lucide-react": "1.17.0",
71
71
  "simple-icons": "16.23.0",
72
- "@stridge/noctis-intl": "1.0.0-beta.4",
73
- "@stridge/noctis-theme-engine": "1.0.0-beta.4",
74
- "@stridge/noctis-design-tokens": "1.0.0-beta.4"
72
+ "@stridge/noctis-intl": "1.0.0-beta.5",
73
+ "@stridge/noctis-design-tokens": "1.0.0-beta.5",
74
+ "@stridge/noctis-theme-engine": "1.0.0-beta.5"
75
75
  },
76
76
  "peerDependencies": {
77
77
  "react": "19.2.7",