@stridge/noctis 1.0.0-beta.4 → 1.0.0-beta.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/breadcrumb/breadcrumb.d.ts +163 -0
- package/dist/components/breadcrumb/breadcrumb.js +152 -0
- package/dist/components/breadcrumb/breadcrumb.props.d.ts +59 -0
- package/dist/components/breadcrumb/breadcrumb.props.js +68 -0
- package/dist/components/breadcrumb/breadcrumb.slots.d.ts +16 -0
- package/dist/components/breadcrumb/breadcrumb.slots.js +32 -0
- package/dist/components/breadcrumb/breadcrumb.types.d.ts +9 -0
- package/dist/components/breadcrumb/index.d.ts +3 -0
- package/dist/components/command/command-listbox.js +174 -0
- package/dist/components/command/command-rank.d.ts +40 -0
- package/dist/components/command/command-rank.js +61 -0
- package/dist/components/command/command-score.d.ts +25 -0
- package/dist/components/command/command-score.js +85 -0
- package/dist/components/command/command.context.d.ts +17 -0
- package/dist/components/command/command.context.js +13 -0
- package/dist/components/command/command.d.ts +396 -0
- package/dist/components/command/command.js +471 -0
- package/dist/components/command/command.props.d.ts +91 -0
- package/dist/components/command/command.props.js +94 -0
- package/dist/components/command/command.slots.d.ts +23 -0
- package/dist/components/command/command.slots.js +60 -0
- package/dist/components/command/index.d.ts +6 -0
- package/dist/components/command/use-command-ranking.d.ts +37 -0
- package/dist/components/command/use-command-ranking.js +127 -0
- package/dist/components/pagination/index.d.ts +3 -0
- package/dist/components/pagination/pagination.context.js +16 -0
- package/dist/components/pagination/pagination.d.ts +217 -0
- package/dist/components/pagination/pagination.js +333 -0
- package/dist/components/pagination/pagination.props.d.ts +51 -0
- package/dist/components/pagination/pagination.props.js +49 -0
- package/dist/components/pagination/pagination.slots.d.ts +16 -0
- package/dist/components/pagination/pagination.slots.js +32 -0
- package/dist/components/pagination/pagination.types.d.ts +24 -0
- package/dist/components/search-dialog/parts/root.js +1 -1
- package/dist/components/skeleton/index.d.ts +3 -0
- package/dist/components/skeleton/skeleton.context.js +12 -0
- package/dist/components/skeleton/skeleton.d.ts +157 -0
- package/dist/components/skeleton/skeleton.js +130 -0
- package/dist/components/skeleton/skeleton.props.d.ts +47 -0
- package/dist/components/skeleton/skeleton.props.js +57 -0
- package/dist/components/skeleton/skeleton.slots.d.ts +15 -0
- package/dist/components/skeleton/skeleton.slots.js +28 -0
- package/dist/components/skeleton/skeleton.types.d.ts +13 -0
- package/dist/components/surface/surface.d.ts +1 -1
- package/dist/icons/glyphs.js +2 -2
- package/dist/index.d.ts +18 -3
- package/dist/index.js +15 -4
- package/dist/primitives/index.d.ts +1 -1
- package/dist/primitives/index.js +2 -2
- package/dist/props.d.ts +37 -33
- package/dist/props.js +37 -33
- package/dist/styles.css +841 -6
- package/package.json +4 -4
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import { SkeletonVariant } from "./skeleton.types.js";
|
|
2
|
+
import { SkeletonLayoutPropsArgs, SkeletonPartProps, SkeletonShapePropsArgs, boxProps, circleProps, lineProps, rootProps, textProps } from "./skeleton.props.js";
|
|
3
|
+
import { ComponentPropsWithRef, ReactElement } from "react";
|
|
4
|
+
|
|
5
|
+
//#region src/components/skeleton/skeleton.d.ts
|
|
6
|
+
/**
|
|
7
|
+
* The accessible loading group — a `role="status"` live region that announces "Loading" to assistive
|
|
8
|
+
* tech while its placeholder shapes show. Lays its children out as a vertical stack by default (restyle
|
|
9
|
+
* via `className`/`style` for any other arrangement) and shares its `variant` down to every child shape,
|
|
10
|
+
* so you set the animation once on the group. Swap the announced text with `label`, or unmount the whole
|
|
11
|
+
* group once the real content is ready.
|
|
12
|
+
*
|
|
13
|
+
* The placeholder shapes (`Skeleton.Box`/`Circle`/`Text`) are decorative (`aria-hidden`) — this region
|
|
14
|
+
* is the single thing screen readers hear, so the loading state is conveyed once, not once per shape.
|
|
15
|
+
*
|
|
16
|
+
* @see {@link Skeleton.Root.Props}
|
|
17
|
+
*/
|
|
18
|
+
declare function SkeletonRoot({
|
|
19
|
+
variant,
|
|
20
|
+
label,
|
|
21
|
+
className,
|
|
22
|
+
children,
|
|
23
|
+
...props
|
|
24
|
+
}: Skeleton.Root.Props): ReactElement;
|
|
25
|
+
/**
|
|
26
|
+
* A rectangular placeholder — the general-purpose block for an image, a card, a thumbnail, or any
|
|
27
|
+
* fixed-shape region. Fills its inline space and defaults to a short height; set `style`/`className`
|
|
28
|
+
* dimensions to match the content it stands in for. Decorative (`aria-hidden`); the animation comes from
|
|
29
|
+
* its own `variant` or the surrounding `Skeleton.Root`.
|
|
30
|
+
*/
|
|
31
|
+
declare function SkeletonBox({
|
|
32
|
+
variant,
|
|
33
|
+
className,
|
|
34
|
+
...props
|
|
35
|
+
}: Skeleton.Box.Props): ReactElement;
|
|
36
|
+
/**
|
|
37
|
+
* A circular placeholder — for an avatar, a status dot, or an icon. Defaults to a `2.5rem` disc; size it
|
|
38
|
+
* with `style`/`className` to match the element it stands in for. Decorative (`aria-hidden`).
|
|
39
|
+
*/
|
|
40
|
+
declare function SkeletonCircle({
|
|
41
|
+
variant,
|
|
42
|
+
className,
|
|
43
|
+
...props
|
|
44
|
+
}: Skeleton.Circle.Props): ReactElement;
|
|
45
|
+
/**
|
|
46
|
+
* A multi-line text placeholder — a stack of line bars standing in for a paragraph. Renders `lines` bars
|
|
47
|
+
* (default 3); the last bar is drawn shorter so the block reads as ragged prose, not a solid box. The
|
|
48
|
+
* line height tracks the surrounding font size. Decorative (`aria-hidden`); compose `Skeleton.Line`
|
|
49
|
+
* directly for full control over individual line widths.
|
|
50
|
+
*/
|
|
51
|
+
declare function SkeletonText({
|
|
52
|
+
lines,
|
|
53
|
+
variant,
|
|
54
|
+
className,
|
|
55
|
+
...props
|
|
56
|
+
}: Skeleton.Text.Props): ReactElement;
|
|
57
|
+
/**
|
|
58
|
+
* A single text-line placeholder bar. Use it directly inside a `Skeleton.Text` (or any layout) when you
|
|
59
|
+
* want to set per-line widths via `style`/`className` instead of the uniform `Skeleton.Text` block.
|
|
60
|
+
* Decorative (`aria-hidden`).
|
|
61
|
+
*/
|
|
62
|
+
declare function SkeletonLine({
|
|
63
|
+
variant,
|
|
64
|
+
className,
|
|
65
|
+
...props
|
|
66
|
+
}: Skeleton.Line.Props): ReactElement;
|
|
67
|
+
/**
|
|
68
|
+
* A loading placeholder that mirrors the shape of the content it stands in for. `Skeleton.Root` is the
|
|
69
|
+
* accessible group (a `role="status"` region) that announces the load and shares the animation `variant`
|
|
70
|
+
* to its shapes; compose `Skeleton.Box` (a rectangle), `Skeleton.Circle` (an avatar/icon disc), and
|
|
71
|
+
* `Skeleton.Text` (a paragraph of `Skeleton.Line`s) inside it. Each shape also works standalone.
|
|
72
|
+
*
|
|
73
|
+
* The default `shimmer` variant sweeps a light band across each placeholder; `pulse` fades it and `none`
|
|
74
|
+
* holds it static. Every variant respects `prefers-reduced-motion`, and the placeholder fill is the
|
|
75
|
+
* surface-adaptive `well` overlay so it stays visible on any surface. Styling is precompiled CSS keyed
|
|
76
|
+
* off the `data-slot` anchor (`skeleton.css`); the shapes are accent-independent and purely presentational.
|
|
77
|
+
*
|
|
78
|
+
* The runtime compound is a plain object (kept tree-shakeable); per-part prop types are exposed through
|
|
79
|
+
* the matching `Skeleton` namespace — e.g. `Skeleton.Root.Props`.
|
|
80
|
+
*/
|
|
81
|
+
declare const Skeleton: {
|
|
82
|
+
/** The accessible loading group. `Skeleton.Root.props({ variant })` → its prop bag. */Root: typeof SkeletonRoot & {
|
|
83
|
+
props: typeof rootProps;
|
|
84
|
+
}; /** A rectangular placeholder. `Skeleton.Box.props({ variant })` → its spreadable prop bag. */
|
|
85
|
+
Box: typeof SkeletonBox & {
|
|
86
|
+
props: typeof boxProps;
|
|
87
|
+
}; /** A circular placeholder. `Skeleton.Circle.props({ variant })` → its spreadable prop bag. */
|
|
88
|
+
Circle: typeof SkeletonCircle & {
|
|
89
|
+
props: typeof circleProps;
|
|
90
|
+
}; /** A multi-line text placeholder. `Skeleton.Text.props()` → its spreadable prop bag. */
|
|
91
|
+
Text: typeof SkeletonText & {
|
|
92
|
+
props: typeof textProps;
|
|
93
|
+
}; /** A single text-line placeholder. `Skeleton.Line.props({ variant })` → its spreadable prop bag. */
|
|
94
|
+
Line: typeof SkeletonLine & {
|
|
95
|
+
props: typeof lineProps;
|
|
96
|
+
};
|
|
97
|
+
};
|
|
98
|
+
/**
|
|
99
|
+
* Per-part prop types. Types-only — it emits no runtime code and merges with the `Skeleton` object
|
|
100
|
+
* above, so `Skeleton.Root` is the component value while `Skeleton.Root.Props` is its prop type.
|
|
101
|
+
*/
|
|
102
|
+
declare namespace Skeleton {
|
|
103
|
+
/** Animation style — `shimmer` | `pulse` | `none`. */
|
|
104
|
+
type Variant = SkeletonVariant;
|
|
105
|
+
/** The spreadable data-attribute prop bag every `Skeleton.*.props()` returns (D12). */
|
|
106
|
+
type PartProps = SkeletonPartProps;
|
|
107
|
+
namespace Root {
|
|
108
|
+
type Props = ComponentPropsWithRef<"div"> & {
|
|
109
|
+
/**
|
|
110
|
+
* Animation style shared down to every child shape.
|
|
111
|
+
* @default "shimmer"
|
|
112
|
+
*/
|
|
113
|
+
variant?: SkeletonVariant;
|
|
114
|
+
/**
|
|
115
|
+
* The accessible name announced for the loading region; overrides the localized "Loading".
|
|
116
|
+
*/
|
|
117
|
+
label?: string;
|
|
118
|
+
};
|
|
119
|
+
/** Argument to the `Skeleton.Root.props(...)` escape-hatch helper. */
|
|
120
|
+
type PropsArgs = SkeletonShapePropsArgs;
|
|
121
|
+
}
|
|
122
|
+
namespace Box {
|
|
123
|
+
type Props = ComponentPropsWithRef<"div"> & {
|
|
124
|
+
/** Animation style; inherits from the surrounding `Skeleton.Root` when unset. @default "shimmer" */variant?: SkeletonVariant;
|
|
125
|
+
};
|
|
126
|
+
/** Argument to the `Skeleton.Box.props(...)` escape-hatch helper. */
|
|
127
|
+
type PropsArgs = SkeletonShapePropsArgs;
|
|
128
|
+
}
|
|
129
|
+
namespace Circle {
|
|
130
|
+
type Props = ComponentPropsWithRef<"div"> & {
|
|
131
|
+
/** Animation style; inherits from the surrounding `Skeleton.Root` when unset. @default "shimmer" */variant?: SkeletonVariant;
|
|
132
|
+
};
|
|
133
|
+
/** Argument to the `Skeleton.Circle.props(...)` escape-hatch helper. */
|
|
134
|
+
type PropsArgs = SkeletonShapePropsArgs;
|
|
135
|
+
}
|
|
136
|
+
namespace Text {
|
|
137
|
+
type Props = ComponentPropsWithRef<"div"> & {
|
|
138
|
+
/**
|
|
139
|
+
* How many line bars to render; the last bar is drawn shorter.
|
|
140
|
+
* @default 3
|
|
141
|
+
*/
|
|
142
|
+
lines?: number; /** Animation style; inherits from the surrounding `Skeleton.Root` when unset. @default "shimmer" */
|
|
143
|
+
variant?: SkeletonVariant;
|
|
144
|
+
};
|
|
145
|
+
/** Argument to the `Skeleton.Text.props(...)` escape-hatch helper. */
|
|
146
|
+
type PropsArgs = SkeletonLayoutPropsArgs;
|
|
147
|
+
}
|
|
148
|
+
namespace Line {
|
|
149
|
+
type Props = ComponentPropsWithRef<"div"> & {
|
|
150
|
+
/** Animation style; inherits from the surrounding `Skeleton.Root` when unset. @default "shimmer" */variant?: SkeletonVariant;
|
|
151
|
+
};
|
|
152
|
+
/** Argument to the `Skeleton.Line.props(...)` escape-hatch helper. */
|
|
153
|
+
type PropsArgs = SkeletonShapePropsArgs;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
//#endregion
|
|
157
|
+
export { Skeleton };
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useInjectedLabels } from "../../core/use-injected-labels.js";
|
|
3
|
+
import { VisuallyHidden } from "../../core/visually-hidden/visually-hidden.js";
|
|
4
|
+
import { SkeletonProvider, useSkeletonContext } from "./skeleton.context.js";
|
|
5
|
+
import { boxProps, circleProps, lineProps, rootProps, textProps } from "./skeleton.props.js";
|
|
6
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
7
|
+
//#region src/components/skeleton/skeleton.tsx
|
|
8
|
+
/** English fallbacks and catalog keys for the loading region's accessible name (resolved per locale). */
|
|
9
|
+
const DEFAULT_LABELS = { loading: "Loading" };
|
|
10
|
+
const LABEL_KEYS = { loading: "skeleton.loading" };
|
|
11
|
+
/**
|
|
12
|
+
* The accessible loading group — a `role="status"` live region that announces "Loading" to assistive
|
|
13
|
+
* tech while its placeholder shapes show. Lays its children out as a vertical stack by default (restyle
|
|
14
|
+
* via `className`/`style` for any other arrangement) and shares its `variant` down to every child shape,
|
|
15
|
+
* so you set the animation once on the group. Swap the announced text with `label`, or unmount the whole
|
|
16
|
+
* group once the real content is ready.
|
|
17
|
+
*
|
|
18
|
+
* The placeholder shapes (`Skeleton.Box`/`Circle`/`Text`) are decorative (`aria-hidden`) — this region
|
|
19
|
+
* is the single thing screen readers hear, so the loading state is conveyed once, not once per shape.
|
|
20
|
+
*
|
|
21
|
+
* @see {@link Skeleton.Root.Props}
|
|
22
|
+
*/
|
|
23
|
+
function SkeletonRoot({ variant = "shimmer", label, className, children, ...props }) {
|
|
24
|
+
const labels = useInjectedLabels(DEFAULT_LABELS, LABEL_KEYS, label === void 0 ? void 0 : { loading: label });
|
|
25
|
+
return /* @__PURE__ */ jsx("div", {
|
|
26
|
+
...rootProps({
|
|
27
|
+
variant,
|
|
28
|
+
className
|
|
29
|
+
}),
|
|
30
|
+
role: "status",
|
|
31
|
+
"aria-busy": "true",
|
|
32
|
+
...props,
|
|
33
|
+
children: /* @__PURE__ */ jsxs(SkeletonProvider, {
|
|
34
|
+
value: { variant },
|
|
35
|
+
children: [/* @__PURE__ */ jsx(VisuallyHidden, { children: labels.loading }), children]
|
|
36
|
+
})
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* A rectangular placeholder — the general-purpose block for an image, a card, a thumbnail, or any
|
|
41
|
+
* fixed-shape region. Fills its inline space and defaults to a short height; set `style`/`className`
|
|
42
|
+
* dimensions to match the content it stands in for. Decorative (`aria-hidden`); the animation comes from
|
|
43
|
+
* its own `variant` or the surrounding `Skeleton.Root`.
|
|
44
|
+
*/
|
|
45
|
+
function SkeletonBox({ variant, className, ...props }) {
|
|
46
|
+
const { variant: inherited } = useSkeletonContext();
|
|
47
|
+
return /* @__PURE__ */ jsx("div", {
|
|
48
|
+
...boxProps({
|
|
49
|
+
variant: variant ?? inherited,
|
|
50
|
+
className
|
|
51
|
+
}),
|
|
52
|
+
"aria-hidden": "true",
|
|
53
|
+
...props
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* A circular placeholder — for an avatar, a status dot, or an icon. Defaults to a `2.5rem` disc; size it
|
|
58
|
+
* with `style`/`className` to match the element it stands in for. Decorative (`aria-hidden`).
|
|
59
|
+
*/
|
|
60
|
+
function SkeletonCircle({ variant, className, ...props }) {
|
|
61
|
+
const { variant: inherited } = useSkeletonContext();
|
|
62
|
+
return /* @__PURE__ */ jsx("div", {
|
|
63
|
+
...circleProps({
|
|
64
|
+
variant: variant ?? inherited,
|
|
65
|
+
className
|
|
66
|
+
}),
|
|
67
|
+
"aria-hidden": "true",
|
|
68
|
+
...props
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* A multi-line text placeholder — a stack of line bars standing in for a paragraph. Renders `lines` bars
|
|
73
|
+
* (default 3); the last bar is drawn shorter so the block reads as ragged prose, not a solid box. The
|
|
74
|
+
* line height tracks the surrounding font size. Decorative (`aria-hidden`); compose `Skeleton.Line`
|
|
75
|
+
* directly for full control over individual line widths.
|
|
76
|
+
*/
|
|
77
|
+
function SkeletonText({ lines = 3, variant, className, ...props }) {
|
|
78
|
+
const { variant: inherited } = useSkeletonContext();
|
|
79
|
+
const resolved = variant ?? inherited;
|
|
80
|
+
return /* @__PURE__ */ jsx("div", {
|
|
81
|
+
...textProps({ className }),
|
|
82
|
+
"aria-hidden": "true",
|
|
83
|
+
...props,
|
|
84
|
+
children: Array.from({ length: Math.max(0, lines) }, (_, i) => /* @__PURE__ */ jsx(SkeletonLine, { variant: resolved }, i))
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* A single text-line placeholder bar. Use it directly inside a `Skeleton.Text` (or any layout) when you
|
|
89
|
+
* want to set per-line widths via `style`/`className` instead of the uniform `Skeleton.Text` block.
|
|
90
|
+
* Decorative (`aria-hidden`).
|
|
91
|
+
*/
|
|
92
|
+
function SkeletonLine({ variant, className, ...props }) {
|
|
93
|
+
const { variant: inherited } = useSkeletonContext();
|
|
94
|
+
return /* @__PURE__ */ jsx("div", {
|
|
95
|
+
...lineProps({
|
|
96
|
+
variant: variant ?? inherited,
|
|
97
|
+
className
|
|
98
|
+
}),
|
|
99
|
+
"aria-hidden": "true",
|
|
100
|
+
...props
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* A loading placeholder that mirrors the shape of the content it stands in for. `Skeleton.Root` is the
|
|
105
|
+
* accessible group (a `role="status"` region) that announces the load and shares the animation `variant`
|
|
106
|
+
* to its shapes; compose `Skeleton.Box` (a rectangle), `Skeleton.Circle` (an avatar/icon disc), and
|
|
107
|
+
* `Skeleton.Text` (a paragraph of `Skeleton.Line`s) inside it. Each shape also works standalone.
|
|
108
|
+
*
|
|
109
|
+
* The default `shimmer` variant sweeps a light band across each placeholder; `pulse` fades it and `none`
|
|
110
|
+
* holds it static. Every variant respects `prefers-reduced-motion`, and the placeholder fill is the
|
|
111
|
+
* surface-adaptive `well` overlay so it stays visible on any surface. Styling is precompiled CSS keyed
|
|
112
|
+
* off the `data-slot` anchor (`skeleton.css`); the shapes are accent-independent and purely presentational.
|
|
113
|
+
*
|
|
114
|
+
* The runtime compound is a plain object (kept tree-shakeable); per-part prop types are exposed through
|
|
115
|
+
* the matching `Skeleton` namespace — e.g. `Skeleton.Root.Props`.
|
|
116
|
+
*/
|
|
117
|
+
const Skeleton = {
|
|
118
|
+
/** The accessible loading group. `Skeleton.Root.props({ variant })` → its prop bag. */
|
|
119
|
+
Root: Object.assign(SkeletonRoot, { props: rootProps }),
|
|
120
|
+
/** A rectangular placeholder. `Skeleton.Box.props({ variant })` → its spreadable prop bag. */
|
|
121
|
+
Box: Object.assign(SkeletonBox, { props: boxProps }),
|
|
122
|
+
/** A circular placeholder. `Skeleton.Circle.props({ variant })` → its spreadable prop bag. */
|
|
123
|
+
Circle: Object.assign(SkeletonCircle, { props: circleProps }),
|
|
124
|
+
/** A multi-line text placeholder. `Skeleton.Text.props()` → its spreadable prop bag. */
|
|
125
|
+
Text: Object.assign(SkeletonText, { props: textProps }),
|
|
126
|
+
/** A single text-line placeholder. `Skeleton.Line.props({ variant })` → its spreadable prop bag. */
|
|
127
|
+
Line: Object.assign(SkeletonLine, { props: lineProps })
|
|
128
|
+
};
|
|
129
|
+
//#endregion
|
|
130
|
+
export { Skeleton };
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { SkeletonVariant } from "./skeleton.types.js";
|
|
2
|
+
|
|
3
|
+
//#region src/components/skeleton/skeleton.props.d.ts
|
|
4
|
+
/** A spreadable data-attribute prop bag — the shape every `Skeleton.*.props()` returns. */
|
|
5
|
+
type SkeletonPartProps = {
|
|
6
|
+
/** The slot value the matching `skeleton.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
|
+
/** Common shape: every part's `.props()` accepts an optional `className` passthrough. */
|
|
11
|
+
interface BasePropsArgs {
|
|
12
|
+
/** Forwarded verbatim onto the returned prop bag. */
|
|
13
|
+
className?: string;
|
|
14
|
+
}
|
|
15
|
+
/** Argument to a shape's `.props(...)` — its animation variant plus the optional `className`. */
|
|
16
|
+
interface SkeletonShapePropsArgs extends BasePropsArgs {
|
|
17
|
+
/** Animation style — `shimmer` (default) | `pulse` | `none`. @default "shimmer" */
|
|
18
|
+
variant?: SkeletonVariant;
|
|
19
|
+
}
|
|
20
|
+
/** Argument to a layout part's `.props(...)` — no animation of its own; the lines inside animate. */
|
|
21
|
+
type SkeletonLayoutPropsArgs = BasePropsArgs;
|
|
22
|
+
/** Root prop bag: the status-region slot plus the `data-variant` it shares down to its shapes. */
|
|
23
|
+
declare function rootProps({
|
|
24
|
+
variant,
|
|
25
|
+
className
|
|
26
|
+
}?: SkeletonShapePropsArgs): SkeletonPartProps;
|
|
27
|
+
/** Box prop bag: the rectangle slot plus its `data-variant`. */
|
|
28
|
+
declare function boxProps({
|
|
29
|
+
variant,
|
|
30
|
+
className
|
|
31
|
+
}?: SkeletonShapePropsArgs): SkeletonPartProps;
|
|
32
|
+
/** Circle prop bag: the disc slot plus its `data-variant`. */
|
|
33
|
+
declare function circleProps({
|
|
34
|
+
variant,
|
|
35
|
+
className
|
|
36
|
+
}?: SkeletonShapePropsArgs): SkeletonPartProps;
|
|
37
|
+
/** Text prop bag: the lines wrapper slot (a layout stack — its `Skeleton.Line`s carry the animation). */
|
|
38
|
+
declare function textProps({
|
|
39
|
+
className
|
|
40
|
+
}?: SkeletonLayoutPropsArgs): SkeletonPartProps;
|
|
41
|
+
/** Line prop bag: a single text-line slot plus its `data-variant`. */
|
|
42
|
+
declare function lineProps({
|
|
43
|
+
variant,
|
|
44
|
+
className
|
|
45
|
+
}?: SkeletonShapePropsArgs): SkeletonPartProps;
|
|
46
|
+
//#endregion
|
|
47
|
+
export { SkeletonLayoutPropsArgs, SkeletonPartProps, SkeletonShapePropsArgs, boxProps, circleProps, lineProps, rootProps, textProps };
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { SKELETON_SLOTS } from "./skeleton.slots.js";
|
|
2
|
+
//#region src/components/skeleton/skeleton.props.ts
|
|
3
|
+
/**
|
|
4
|
+
* The D12 unified variant contract for Skeleton — the data-attribute-native styling helpers.
|
|
5
|
+
*
|
|
6
|
+
* Each part exposes a `props(...)` builder returning a **spreadable props object** of the form
|
|
7
|
+
* `{ "data-slot": "noctis-skeleton-<part>", ...dataAttrs }`. Under the single-`data-slot` anchor model
|
|
8
|
+
* the `data-slot` is the only styling hook needed — `skeleton.css` keys every rule off it plus the
|
|
9
|
+
* `data-variant` animation recipe — so spreading a part's `props()` onto a *foreign* element styles it
|
|
10
|
+
* as that placeholder:
|
|
11
|
+
*
|
|
12
|
+
* <div {...Skeleton.Box.props({ variant: "pulse" })} style={{ height: 48 }} />
|
|
13
|
+
* // → <div data-slot="noctis-skeleton-box" data-variant="pulse" aria-hidden="true">
|
|
14
|
+
*
|
|
15
|
+
* The escape hatch carries no className (styling is attribute-driven); an optional `className`
|
|
16
|
+
* passthrough is accepted and forwarded verbatim. The same variant→data-attribute→values mapping is
|
|
17
|
+
* emitted as data from the token graph (`generated/declarations.json` → `variantSchema`) so non-React /
|
|
18
|
+
* agent consumers can hand-write the markup from the docs.
|
|
19
|
+
*/
|
|
20
|
+
const withClassName = (bag, className) => className === void 0 ? bag : {
|
|
21
|
+
...bag,
|
|
22
|
+
className
|
|
23
|
+
};
|
|
24
|
+
/** Root prop bag: the status-region slot plus the `data-variant` it shares down to its shapes. */
|
|
25
|
+
function rootProps({ variant = "shimmer", className } = {}) {
|
|
26
|
+
return withClassName({
|
|
27
|
+
"data-slot": SKELETON_SLOTS.root,
|
|
28
|
+
"data-variant": variant
|
|
29
|
+
}, className);
|
|
30
|
+
}
|
|
31
|
+
/** Box prop bag: the rectangle slot plus its `data-variant`. */
|
|
32
|
+
function boxProps({ variant = "shimmer", className } = {}) {
|
|
33
|
+
return withClassName({
|
|
34
|
+
"data-slot": SKELETON_SLOTS.box,
|
|
35
|
+
"data-variant": variant
|
|
36
|
+
}, className);
|
|
37
|
+
}
|
|
38
|
+
/** Circle prop bag: the disc slot plus its `data-variant`. */
|
|
39
|
+
function circleProps({ variant = "shimmer", className } = {}) {
|
|
40
|
+
return withClassName({
|
|
41
|
+
"data-slot": SKELETON_SLOTS.circle,
|
|
42
|
+
"data-variant": variant
|
|
43
|
+
}, className);
|
|
44
|
+
}
|
|
45
|
+
/** Text prop bag: the lines wrapper slot (a layout stack — its `Skeleton.Line`s carry the animation). */
|
|
46
|
+
function textProps({ className } = {}) {
|
|
47
|
+
return withClassName({ "data-slot": SKELETON_SLOTS.text }, className);
|
|
48
|
+
}
|
|
49
|
+
/** Line prop bag: a single text-line slot plus its `data-variant`. */
|
|
50
|
+
function lineProps({ variant = "shimmer", className } = {}) {
|
|
51
|
+
return withClassName({
|
|
52
|
+
"data-slot": SKELETON_SLOTS.line,
|
|
53
|
+
"data-variant": variant
|
|
54
|
+
}, className);
|
|
55
|
+
}
|
|
56
|
+
//#endregion
|
|
57
|
+
export { boxProps, circleProps, lineProps, rootProps, textProps };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
//#region src/components/skeleton/skeleton.slots.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* The `data-*` hooks `Skeleton` stamps on its parts, for host-side styling and tests. The slot values
|
|
4
|
+
* mark each rendered element; `data-variant` carries the animation recipe (`shimmer` | `pulse` |
|
|
5
|
+
* `none`) the precompiled `skeleton.css` keys each shape's sweep/fade off. The variant rides the root
|
|
6
|
+
* AND every shape, so a standalone shape animates without a `Skeleton.Root`.
|
|
7
|
+
*/
|
|
8
|
+
declare enum SkeletonDataAttributes {
|
|
9
|
+
/** The rendered element's slot — the anchor `skeleton.css` styles. */
|
|
10
|
+
slot = "data-slot",
|
|
11
|
+
/** The animation style — `shimmer` (a moving sweep, the default) | `pulse` (a gentle fade) | `none` (static). */
|
|
12
|
+
variant = "data-variant"
|
|
13
|
+
}
|
|
14
|
+
//#endregion
|
|
15
|
+
export { SkeletonDataAttributes };
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
//#region src/components/skeleton/skeleton.slots.ts
|
|
2
|
+
/**
|
|
3
|
+
* The slot vocabulary every `Skeleton` 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 tracks the same anatomy.
|
|
6
|
+
*/
|
|
7
|
+
const SKELETON_SLOTS = {
|
|
8
|
+
root: "noctis-skeleton",
|
|
9
|
+
box: "noctis-skeleton-box",
|
|
10
|
+
circle: "noctis-skeleton-circle",
|
|
11
|
+
text: "noctis-skeleton-text",
|
|
12
|
+
line: "noctis-skeleton-line"
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* The `data-*` hooks `Skeleton` stamps on its parts, for host-side styling and tests. The slot values
|
|
16
|
+
* mark each rendered element; `data-variant` carries the animation recipe (`shimmer` | `pulse` |
|
|
17
|
+
* `none`) the precompiled `skeleton.css` keys each shape's sweep/fade off. The variant rides the root
|
|
18
|
+
* AND every shape, so a standalone shape animates without a `Skeleton.Root`.
|
|
19
|
+
*/
|
|
20
|
+
let SkeletonDataAttributes = /* @__PURE__ */ function(SkeletonDataAttributes) {
|
|
21
|
+
/** The rendered element's slot — the anchor `skeleton.css` styles. */
|
|
22
|
+
SkeletonDataAttributes["slot"] = "data-slot";
|
|
23
|
+
/** The animation style — `shimmer` (a moving sweep, the default) | `pulse` (a gentle fade) | `none` (static). */
|
|
24
|
+
SkeletonDataAttributes["variant"] = "data-variant";
|
|
25
|
+
return SkeletonDataAttributes;
|
|
26
|
+
}({});
|
|
27
|
+
//#endregion
|
|
28
|
+
export { SKELETON_SLOTS, SkeletonDataAttributes };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
//#region src/components/skeleton/skeleton.types.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* The animation vocabulary `Skeleton` paints. Authored source of truth since styling is precompiled in
|
|
4
|
+
* `skeleton.css`. Types-only: no runtime code, so it never participates in the styling layer.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* A skeleton's animation style — a moving `shimmer` sweep (the default), a gentle `pulse` fade, or a
|
|
8
|
+
* static `none`. Every variant respects `prefers-reduced-motion: reduce`, falling back to a calm static
|
|
9
|
+
* fill when the user asks for reduced motion.
|
|
10
|
+
*/
|
|
11
|
+
type SkeletonVariant = "shimmer" | "pulse" | "none";
|
|
12
|
+
//#endregion
|
|
13
|
+
export { SkeletonVariant };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { useRender } from "../../core/render.js";
|
|
1
2
|
import { SurfaceElevation, SurfaceShade, SurfaceShadow } from "./surface.types.js";
|
|
2
3
|
import { SurfacePartProps, SurfaceRootPropsArgs, rootProps } from "./surface.props.js";
|
|
3
|
-
import { useRender } from "../../core/render.js";
|
|
4
4
|
import { JSX, ReactElement, Ref } from "react";
|
|
5
5
|
|
|
6
6
|
//#region src/components/surface/surface.d.ts
|
package/dist/icons/glyphs.js
CHANGED
|
@@ -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
|
@@ -14,9 +14,16 @@ import { AvatarDataAttributes } from "./components/avatar/avatar.slots.js";
|
|
|
14
14
|
import { BadgeSize, BadgeTone, BadgeVariant } from "./components/badge/badge.types.js";
|
|
15
15
|
import { Badge } from "./components/badge/badge.js";
|
|
16
16
|
import { BadgeDataAttributes } from "./components/badge/badge.slots.js";
|
|
17
|
+
import { SkeletonVariant } from "./components/skeleton/skeleton.types.js";
|
|
18
|
+
import { Skeleton } from "./components/skeleton/skeleton.js";
|
|
19
|
+
import { SkeletonDataAttributes } from "./components/skeleton/skeleton.slots.js";
|
|
20
|
+
import { BreadcrumbSize } from "./components/breadcrumb/breadcrumb.types.js";
|
|
21
|
+
import { mergeProps, useRender } from "./core/render.js";
|
|
22
|
+
import { Primitive } from "./core/primitive/primitive.js";
|
|
23
|
+
import { Breadcrumb } from "./components/breadcrumb/breadcrumb.js";
|
|
24
|
+
import { BreadcrumbDataAttributes } from "./components/breadcrumb/breadcrumb.slots.js";
|
|
17
25
|
import { Button } from "./components/button/button.js";
|
|
18
26
|
import { ButtonDataAttributes } from "./components/button/button.slots.js";
|
|
19
|
-
import { mergeProps, useRender } from "./core/render.js";
|
|
20
27
|
import { Surface } from "./components/surface/surface.js";
|
|
21
28
|
import { ColorFormat } from "./components/color-picker/color.js";
|
|
22
29
|
import { ColorPickerLabels } from "./components/color-picker/context.js";
|
|
@@ -33,6 +40,12 @@ import { Collapsible } from "./components/collapsible/collapsible.js";
|
|
|
33
40
|
import { CollapsibleDataAttributes } from "./components/collapsible/collapsible.slots.js";
|
|
34
41
|
import { Combobox } from "./components/combobox/combobox.js";
|
|
35
42
|
import { ComboboxDataAttributes } from "./components/combobox/combobox.slots.js";
|
|
43
|
+
import { CommandPage } from "./components/command/command.context.js";
|
|
44
|
+
import { Command } from "./components/command/command.js";
|
|
45
|
+
import { CommandDataAttributes } from "./components/command/command.slots.js";
|
|
46
|
+
import { commandScore } from "./components/command/command-score.js";
|
|
47
|
+
import { RankOptions, RankableItem, rankItems } from "./components/command/command-rank.js";
|
|
48
|
+
import { UseCommandRankingOptions, createRankingWorker, useCommandRanking } from "./components/command/use-command-ranking.js";
|
|
36
49
|
import { Menu } from "./components/menu/menu.js";
|
|
37
50
|
import { MenuDataAttributes } from "./components/menu/menu.slots.js";
|
|
38
51
|
import { ContextMenu } from "./components/context-menu/context-menu.js";
|
|
@@ -74,6 +87,9 @@ import { NumberFieldDataAttributes } from "./components/number-field/number-fiel
|
|
|
74
87
|
import { OtpFieldSize } from "./components/otp-field/otp-field.props.js";
|
|
75
88
|
import { OtpField } from "./components/otp-field/otp-field.js";
|
|
76
89
|
import { OtpFieldDataAttributes } from "./components/otp-field/otp-field.slots.js";
|
|
90
|
+
import { PaginationLabels, PaginationSize } from "./components/pagination/pagination.types.js";
|
|
91
|
+
import { Pagination } from "./components/pagination/pagination.js";
|
|
92
|
+
import { PaginationDataAttributes } from "./components/pagination/pagination.slots.js";
|
|
77
93
|
import { PreviewCard } from "./components/preview-card/preview-card.js";
|
|
78
94
|
import { PreviewCardDataAttributes } from "./components/preview-card/preview-card.slots.js";
|
|
79
95
|
import { Popover } from "./components/popover/popover.js";
|
|
@@ -101,7 +117,6 @@ import { Toast } from "./components/toast/toast.js";
|
|
|
101
117
|
import { ToastDataAttributes } from "./components/toast/toast.slots.js";
|
|
102
118
|
import { Tooltip } from "./components/tooltip/tooltip.js";
|
|
103
119
|
import { TooltipDataAttributes } from "./components/tooltip/tooltip.slots.js";
|
|
104
|
-
import { Primitive } from "./core/primitive/primitive.js";
|
|
105
120
|
import { RADIUS_PRESETS } from "./core/radius-scope/radius-scope.styles.js";
|
|
106
121
|
import { RadiusScope } from "./core/radius-scope/radius-scope.js";
|
|
107
122
|
import { ScrollArea } from "./components/scroll-area/scroll-area.js";
|
|
@@ -126,4 +141,4 @@ import { NoctisProvider } from "./core/noctis-provider.js";
|
|
|
126
141
|
/** Package identifier — the workspace-resolution marker consumed by the app scaffold. */
|
|
127
142
|
declare const UI_PACKAGE: "@stridge/noctis";
|
|
128
143
|
//#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 };
|
|
144
|
+
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, Breadcrumb, BreadcrumbDataAttributes, type BreadcrumbSize, Button, ButtonDataAttributes, ButtonGroup, ButtonGroupDataAttributes, Checkbox, CheckboxDataAttributes, CheckboxGroup, type ClassNameProp, CodeBlock, CodeBlockDataAttributes, Collapsible, CollapsibleDataAttributes, type ColorFormat, ColorPicker, type ColorPickerLabels, ColorSwatch, ColorSwatchPicker, Combobox, ComboboxDataAttributes, Command, CommandDataAttributes, type CommandPage, 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, type RankOptions, type RankableItem, ScrollArea, ScrollAreaDataAttributes, SearchDialog, SearchDialogDataAttributes, type SearchResult, Select, SelectDataAttributes, Separator, SeparatorDataAttributes, Sheet, SheetStack, type SheetStackEntry, type SheetStackEntryInput, type SheetStackManager, Skeleton, SkeletonDataAttributes, type SkeletonVariant, 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, type UseCommandRankingOptions, VisuallyHidden, commandScore, createRankingWorker, mergeClassName, mergeProps, rankItems, sheetStackReducer, useCommandRanking, useCopy, useReducedMotion, useRender, useSheetStack, useSheetStackContext, useToast };
|
package/dist/index.js
CHANGED
|
@@ -12,6 +12,11 @@ import { AvatarDataAttributes } from "./components/avatar/avatar.slots.js";
|
|
|
12
12
|
import { Avatar } from "./components/avatar/avatar.js";
|
|
13
13
|
import { BadgeDataAttributes } from "./components/badge/badge.slots.js";
|
|
14
14
|
import { Badge } from "./components/badge/badge.js";
|
|
15
|
+
import { SkeletonDataAttributes } from "./components/skeleton/skeleton.slots.js";
|
|
16
|
+
import { Skeleton } from "./components/skeleton/skeleton.js";
|
|
17
|
+
import { Primitive } from "./core/primitive/primitive.js";
|
|
18
|
+
import { BreadcrumbDataAttributes } from "./components/breadcrumb/breadcrumb.slots.js";
|
|
19
|
+
import { Breadcrumb } from "./components/breadcrumb/breadcrumb.js";
|
|
15
20
|
import { ButtonDataAttributes } from "./components/button/button.slots.js";
|
|
16
21
|
import { Button } from "./components/button/button.js";
|
|
17
22
|
import { ColorPicker } from "./components/color-picker/color-picker.js";
|
|
@@ -30,6 +35,13 @@ import { CollapsibleDataAttributes } from "./components/collapsible/collapsible.
|
|
|
30
35
|
import { Collapsible } from "./components/collapsible/collapsible.js";
|
|
31
36
|
import { ComboboxDataAttributes } from "./components/combobox/combobox.slots.js";
|
|
32
37
|
import { Combobox } from "./components/combobox/combobox.js";
|
|
38
|
+
import { DialogDataAttributes } from "./components/dialog/dialog.slots.js";
|
|
39
|
+
import { Dialog } from "./components/dialog/dialog.js";
|
|
40
|
+
import { CommandDataAttributes } from "./components/command/command.slots.js";
|
|
41
|
+
import { Command } from "./components/command/command.js";
|
|
42
|
+
import { commandScore } from "./components/command/command-score.js";
|
|
43
|
+
import { rankItems } from "./components/command/command-rank.js";
|
|
44
|
+
import { createRankingWorker, useCommandRanking } from "./components/command/use-command-ranking.js";
|
|
33
45
|
import { Kbd } from "./components/kbd/kbd.js";
|
|
34
46
|
import { MenuDataAttributes } from "./components/menu/menu.slots.js";
|
|
35
47
|
import { Menu } from "./components/menu/menu.js";
|
|
@@ -41,8 +53,6 @@ import { InlineCode } from "./components/inline-code/inline-code.js";
|
|
|
41
53
|
import { InputDataAttributes } from "./components/input/input.slots.js";
|
|
42
54
|
import { Input } from "./components/input/input.js";
|
|
43
55
|
import { SearchDialogDataAttributes } from "./components/search-dialog/search-dialog.slots.js";
|
|
44
|
-
import { DialogDataAttributes } from "./components/dialog/dialog.slots.js";
|
|
45
|
-
import { Dialog } from "./components/dialog/dialog.js";
|
|
46
56
|
import { SearchDialog } from "./components/search-dialog/search-dialog.js";
|
|
47
57
|
import { SelectDataAttributes } from "./components/select/select.slots.js";
|
|
48
58
|
import { Select } from "./components/select/select.js";
|
|
@@ -65,6 +75,8 @@ import { NumberFieldDataAttributes } from "./components/number-field/number-fiel
|
|
|
65
75
|
import { NumberField } from "./components/number-field/number-field.js";
|
|
66
76
|
import { OtpFieldDataAttributes } from "./components/otp-field/otp-field.slots.js";
|
|
67
77
|
import { OtpField } from "./components/otp-field/otp-field.js";
|
|
78
|
+
import { PaginationDataAttributes } from "./components/pagination/pagination.slots.js";
|
|
79
|
+
import { Pagination } from "./components/pagination/pagination.js";
|
|
68
80
|
import { PreviewCardDataAttributes } from "./components/preview-card/preview-card.slots.js";
|
|
69
81
|
import { PreviewCard } from "./components/preview-card/preview-card.js";
|
|
70
82
|
import { PopoverDataAttributes } from "./components/popover/popover.slots.js";
|
|
@@ -89,7 +101,6 @@ import { useToast } from "./components/toast/toast.manager.js";
|
|
|
89
101
|
import { Toast } from "./components/toast/toast.js";
|
|
90
102
|
import { TooltipDataAttributes } from "./components/tooltip/tooltip.slots.js";
|
|
91
103
|
import { Tooltip } from "./components/tooltip/tooltip.js";
|
|
92
|
-
import { Primitive } from "./core/primitive/primitive.js";
|
|
93
104
|
import { RADIUS_PRESETS } from "./core/radius-scope/radius-scope.styles.js";
|
|
94
105
|
import { RadiusScope } from "./core/radius-scope/radius-scope.js";
|
|
95
106
|
import { ScrollAreaDataAttributes } from "./components/scroll-area/scroll-area.slots.js";
|
|
@@ -111,4 +122,4 @@ import { NoctisProvider } from "./core/noctis-provider.js";
|
|
|
111
122
|
/** Package identifier — the workspace-resolution marker consumed by the app scaffold. */
|
|
112
123
|
const UI_PACKAGE = "@stridge/noctis";
|
|
113
124
|
//#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 };
|
|
125
|
+
export { Accordion, AccordionDataAttributes, AlertDialog, AlertDialogDataAttributes, Autocomplete, AutocompleteDataAttributes, Avatar, AvatarDataAttributes, Badge, BadgeDataAttributes, BrandLogo, Breadcrumb, BreadcrumbDataAttributes, Button, ButtonDataAttributes, ButtonGroup, ButtonGroupDataAttributes, Checkbox, CheckboxDataAttributes, CheckboxGroup, CodeBlock, CodeBlockDataAttributes, Collapsible, CollapsibleDataAttributes, ColorPicker, ColorSwatch, ColorSwatchPicker, Combobox, ComboboxDataAttributes, Command, CommandDataAttributes, 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, Skeleton, SkeletonDataAttributes, Slider, SliderDataAttributes, Surface, Switch, SwitchDataAttributes, Table, Tabs, TabsDataAttributes, Textarea, TextareaDataAttributes, Toast, ToastDataAttributes, Toggle, ToggleDataAttributes, ToggleGroup, Toolbar, ToolbarDataAttributes, Tooltip, TooltipDataAttributes, UI_PACKAGE, VisuallyHidden, commandScore, createRankingWorker, mergeClassName, mergeProps, rankItems, sheetStackReducer, useCommandRanking, useCopy, useReducedMotion, useRender, useSheetStack, useSheetStackContext, useToast };
|
|
@@ -50,12 +50,12 @@ export * from "@base-ui/react/field";
|
|
|
50
50
|
export * from "@base-ui/react/checkbox-group";
|
|
51
51
|
export * from "@base-ui/react/tabs";
|
|
52
52
|
export * from "@base-ui/react/collapsible";
|
|
53
|
+
export * from "@base-ui/react/dialog";
|
|
53
54
|
export * from "@base-ui/react/context-menu";
|
|
54
55
|
export * from "@base-ui/react/menu";
|
|
55
56
|
export * from "@base-ui/react/fieldset";
|
|
56
57
|
export * from "@base-ui/react/form";
|
|
57
58
|
export * from "@base-ui/react/input";
|
|
58
|
-
export * from "@base-ui/react/dialog";
|
|
59
59
|
export * from "@base-ui/react/select";
|
|
60
60
|
export * from "@base-ui/react/separator";
|
|
61
61
|
export * from "@base-ui/react/menubar";
|
package/dist/primitives/index.js
CHANGED
|
@@ -15,12 +15,12 @@ import { checkbox_group_exports } from "./checkbox-group.js";
|
|
|
15
15
|
import { tabs_exports } from "./tabs.js";
|
|
16
16
|
import { collapsible_exports } from "./collapsible.js";
|
|
17
17
|
import { Combobox } from "./combobox/combobox.js";
|
|
18
|
+
import { dialog_exports } from "./dialog.js";
|
|
18
19
|
import { context_menu_exports } from "./context-menu.js";
|
|
19
20
|
import { menu_exports } from "./menu.js";
|
|
20
21
|
import { fieldset_exports } from "./fieldset.js";
|
|
21
22
|
import { form_exports } from "./form.js";
|
|
22
23
|
import { input_exports } from "./input.js";
|
|
23
|
-
import { dialog_exports } from "./dialog.js";
|
|
24
24
|
import { select_exports } from "./select.js";
|
|
25
25
|
import { separator_exports } from "./separator.js";
|
|
26
26
|
import { menubar_exports } from "./menubar.js";
|
|
@@ -49,12 +49,12 @@ export * from "@base-ui/react/field";
|
|
|
49
49
|
export * from "@base-ui/react/checkbox-group";
|
|
50
50
|
export * from "@base-ui/react/tabs";
|
|
51
51
|
export * from "@base-ui/react/collapsible";
|
|
52
|
+
export * from "@base-ui/react/dialog";
|
|
52
53
|
export * from "@base-ui/react/context-menu";
|
|
53
54
|
export * from "@base-ui/react/menu";
|
|
54
55
|
export * from "@base-ui/react/fieldset";
|
|
55
56
|
export * from "@base-ui/react/form";
|
|
56
57
|
export * from "@base-ui/react/input";
|
|
57
|
-
export * from "@base-ui/react/dialog";
|
|
58
58
|
export * from "@base-ui/react/select";
|
|
59
59
|
export * from "@base-ui/react/separator";
|
|
60
60
|
export * from "@base-ui/react/menubar";
|