@raylang/elements 0.5.2 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/check/check.js +10 -3
- package/components/button/button.js +17 -0
- package/components/number-input/number-input.js +54 -8
- package/components/radio/radio.js +68 -5
- package/components/ring-progress/ring-progress.js +127 -0
- package/components/step-dots/step-dots.js +86 -0
- package/custom-elements.json +647 -44
- package/index.js +3 -1
- package/llms-full.txt +83 -7
- package/llms.txt +5 -3
- package/package.json +9 -1
- package/ray-elements.d.ts +54 -6
- package/vscode.html-custom-data.json +184 -55
package/index.js
CHANGED
|
@@ -19,7 +19,7 @@ export { RayInput } from "./components/input/input.js";
|
|
|
19
19
|
export { RayNumberInput, parseNumber, formatNumber } from "./components/number-input/number-input.js";
|
|
20
20
|
export { RayPasswordInput } from "./components/password-input/password-input.js";
|
|
21
21
|
export { RayPathInput, dirName, baseName } from "./components/path-input/path-input.js";
|
|
22
|
-
export { RayRadioGroup, RayRadio } from "./components/radio/radio.js";
|
|
22
|
+
export { RayRadioGroup, RayRadio, RayRadioCard } from "./components/radio/radio.js";
|
|
23
23
|
export { RaySearch } from "./components/search/search.js";
|
|
24
24
|
export { RaySegmentedControl } from "./components/segmented-control/segmented-control.js";
|
|
25
25
|
export { RaySelect } from "./components/select/select.js";
|
|
@@ -56,8 +56,10 @@ export { RayAlert } from "./components/alert/alert.js";
|
|
|
56
56
|
export { RayEmptyState } from "./components/empty-state/empty-state.js";
|
|
57
57
|
export { RayNotification, RayToaster, notify, updateNotification, hideNotification, clearNotifications, statusIcon } from "./components/notification/notification.js";
|
|
58
58
|
export { RayProgress } from "./components/progress/progress.js";
|
|
59
|
+
export { RayRingProgress } from "./components/ring-progress/ring-progress.js";
|
|
59
60
|
export { RaySkeleton } from "./components/skeleton/skeleton.js";
|
|
60
61
|
export { RaySpinner } from "./components/spinner/spinner.js";
|
|
62
|
+
export { RayStepDots } from "./components/step-dots/step-dots.js";
|
|
61
63
|
export { RayAppBar } from "./components/app-bar/app-bar.js";
|
|
62
64
|
export { RayAppShell } from "./components/app-shell/app-shell.js";
|
|
63
65
|
export { RayAspectRatio, parseRatio } from "./components/aspect-ratio/aspect-ratio.js";
|
package/llms-full.txt
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# ray-elements
|
|
2
2
|
|
|
3
|
-
> Web components (custom elements, Shadow DOM, no dependencies) for any web app: plain HTML, React, Vue or a raylang app. npm: `@raylang/elements`, `@raylang/react`, `@raylang/vue`; raylang: the `elements` package. This file describes version 0.
|
|
3
|
+
> Web components (custom elements, Shadow DOM, no dependencies) for any web app: plain HTML, React, Vue or a raylang app. npm: `@raylang/elements`, `@raylang/react`, `@raylang/vue`; raylang: the `elements` package. This file describes version 0.6.0.
|
|
4
4
|
|
|
5
5
|
ray-elements is a design system of standard web components (custom elements
|
|
6
6
|
with Shadow DOM, no dependencies): `<ray-button>`, `<ray-input>`,
|
|
@@ -292,7 +292,7 @@ Properties:
|
|
|
292
292
|
- `variant`: `filled` | `light` | `outline` | `subtle` | `default` | `transparent` | `gradient` | `raised`, default `filled`, reflects. Visual style. raised: a physical key on a darker edge that sinks when pressed (mouse, touch or keyboard).
|
|
293
293
|
- `gradient`: string, reflects. With variant=gradient: "from to [deg]", palette colors or CSS colors ("teal blue 90"). Default: the --ray-gradient-* tokens.
|
|
294
294
|
- `color`: string. A palette color (blue, red…) or any CSS color. Default: the primary color.
|
|
295
|
-
- `size`: `xs
|
|
295
|
+
- `size`: `"xs" | "sm" | "md" | "lg" | "xl" | (string & {})`, default `sm`, reflects. Height, padding and font size: xs…xl or any CSS length (the padding and the font follow).
|
|
296
296
|
- `radius`: `xs` | `sm` | `md` | `lg` | `xl` | `full`. Corner radius. Default: --ray-radius-default.
|
|
297
297
|
- `type`: `button` | `submit` | `reset`, default `button`. submit/reset act on the enclosing form.
|
|
298
298
|
- `disabled`: boolean. Not interactive (also when inside a disabled fieldset).
|
|
@@ -354,7 +354,7 @@ Properties:
|
|
|
354
354
|
- `variant`: `filled` | `light` | `outline` | `subtle` | `default` | `transparent` | `gradient` | `raised`, default `subtle`, reflects. Visual style.
|
|
355
355
|
- `gradient`: string, reflects. With variant=gradient: "from to [deg]", palette colors or CSS colors ("teal blue 90"). Default: the --ray-gradient-* tokens.
|
|
356
356
|
- `color`: string. A palette color or any CSS color.
|
|
357
|
-
- `size`: `xs
|
|
357
|
+
- `size`: `"xs" | "sm" | "md" | "lg" | "xl" | (string & {})`, default `sm`, reflects. Width and height: xs…xl or any CSS length ("5.5rem": a big main action, round with radius=full); the icon scales with it.
|
|
358
358
|
- `disabled`: boolean. Not interactive.
|
|
359
359
|
- `loading`: boolean. Shows a spinner instead of the icon.
|
|
360
360
|
|
|
@@ -911,7 +911,7 @@ Vue `v-model`: `value` (updated on input).
|
|
|
911
911
|
|
|
912
912
|
### Number input
|
|
913
913
|
|
|
914
|
-
A number field (Mantine's NumberInput): + and − buttons (hold to repeat), arrow keys, min, max and step, fixed decimals, a prefix and a suffix, a thousands separator. An ARIA spinbutton.
|
|
914
|
+
A number field (Mantine's NumberInput): + and − buttons (hold to repeat), arrow keys, min, max and step, fixed decimals, a prefix and a suffix, a thousands separator, or a duration (m:ss). An ARIA spinbutton.
|
|
915
915
|
|
|
916
916
|
Import: `import "@raylang/elements/number-input";` · Category: Inputs
|
|
917
917
|
|
|
@@ -931,6 +931,7 @@ Properties:
|
|
|
931
931
|
- `thousandsSeparator` (attribute `thousands-separator`): string. Groups thousands in the shown text (",", ".", " ").
|
|
932
932
|
- `decimalSeparator` (attribute `decimal-separator`): string, default `.`. The decimal mark shown and typed ("," in many locales).
|
|
933
933
|
- `clamp`: `blur` | `strict` | `none`, default `blur`. When out-of-range input is clamped: on blur, while typing, or never (then it is invalid).
|
|
934
|
+
- `format`: `number` | `duration`, default `number`, reflects. duration: the value is seconds, shown and typed as m:ss (h:mm:ss when min or max reaches an hour; a plain number is seconds); aria-valuetext says "3 minutes, 15 seconds" in the page's language. decimals, prefix, suffix and the separators do not apply.
|
|
934
935
|
- `hideControls` (attribute `hide-controls`): boolean, reflects. No + and − buttons (the keys still step).
|
|
935
936
|
- `placeholder`: string. Shown while empty.
|
|
936
937
|
- `readonly`: boolean, reflects. Not editable, still submitted.
|
|
@@ -1052,7 +1053,7 @@ for e in ui.events() {
|
|
|
1052
1053
|
|
|
1053
1054
|
### Radio group
|
|
1054
1055
|
|
|
1055
|
-
One choice among options: ray-radio elements inside a ray-radio-group, which is the form control.
|
|
1056
|
+
One choice among options: ray-radio (or ray-radio-card) elements inside a ray-radio-group, which is the form control.
|
|
1056
1057
|
|
|
1057
1058
|
Import: `import "@raylang/elements/radio";` · Category: Inputs
|
|
1058
1059
|
|
|
@@ -1082,11 +1083,11 @@ Events:
|
|
|
1082
1083
|
|
|
1083
1084
|
Slots:
|
|
1084
1085
|
|
|
1085
|
-
- (default): ray-radio elements (may be wrapped in layout elements).
|
|
1086
|
+
- (default): ray-radio or ray-radio-card elements (may be wrapped in layout elements: a ray-grid of cards).
|
|
1086
1087
|
|
|
1087
1088
|
Methods and properties:
|
|
1088
1089
|
|
|
1089
|
-
- `readonly radios: RayRadio[]`: The radios of the group.
|
|
1090
|
+
- `readonly radios: RayRadio[]`: The radios (and radio cards) of the group.
|
|
1090
1091
|
|
|
1091
1092
|
Vue `v-model`: `value` (updated on change).
|
|
1092
1093
|
|
|
@@ -1112,6 +1113,26 @@ Parts (`::part()`):
|
|
|
1112
1113
|
- `indicator`: The circle.
|
|
1113
1114
|
- `label`: The label.
|
|
1114
1115
|
|
|
1116
|
+
#### `<ray-radio-card>` (RayRadioCard, extends RayRadio)
|
|
1117
|
+
|
|
1118
|
+
A radio drawn as a card: a title (label), a detail (description), an icon, more content; checked, it takes the color's border and light background. Inside a ray-radio-group like a ray-radio (arrow keys, the form, required, disabled); put the cards in a ray-grid for columns.
|
|
1119
|
+
|
|
1120
|
+
Properties:
|
|
1121
|
+
|
|
1122
|
+
- `hideIndicator` (attribute `hide-indicator`): boolean, reflects. No radio circle: the card's border and background alone show the choice.
|
|
1123
|
+
|
|
1124
|
+
Also the properties of RayRadio (`<ray-radio>`): `value`, `checked`, `label`, `description`, `disabled`, `color`, `size`, `variant`.
|
|
1125
|
+
|
|
1126
|
+
Slots:
|
|
1127
|
+
|
|
1128
|
+
- (default): More content under the description.
|
|
1129
|
+
- `icon`: An icon before the title.
|
|
1130
|
+
|
|
1131
|
+
Parts (`::part()`):
|
|
1132
|
+
|
|
1133
|
+
- `root`: The card.
|
|
1134
|
+
- `icon`: Around the icon slot.
|
|
1135
|
+
|
|
1115
1136
|
### Search
|
|
1116
1137
|
|
|
1117
1138
|
A search box: icon, clear button, an optional shortcut that focuses it, and a debounced ray-search event. A RayInput, so it has a label and takes part in forms.
|
|
@@ -2777,6 +2798,37 @@ Parts (`::part()`):
|
|
|
2777
2798
|
- `bar`: The filled bar.
|
|
2778
2799
|
- `value`: The percentage beside the bar (show-value on xs, sm, md).
|
|
2779
2800
|
|
|
2801
|
+
### Ring progress
|
|
2802
|
+
|
|
2803
|
+
Progress as a ring (Mantine's RingProgress), with content in the middle: a countdown, a goal, an upload. Announced as a progressbar.
|
|
2804
|
+
|
|
2805
|
+
Import: `import "@raylang/elements/ring-progress";` · Category: Feedback
|
|
2806
|
+
|
|
2807
|
+
#### `<ray-ring-progress>` (RayRingProgress, extends RayElement)
|
|
2808
|
+
|
|
2809
|
+
The arc starts at 12 o'clock and runs clockwise; a countdown is a value that goes down. Without value it spins (indeterminate). The middle holds the default slot (a clock), or the percentage with show-value.
|
|
2810
|
+
|
|
2811
|
+
Properties:
|
|
2812
|
+
|
|
2813
|
+
- `value`: number. Progress, from 0 to max. Unset: indeterminate (a spinning arc).
|
|
2814
|
+
- `max`: number, default `100`. The value of a full ring.
|
|
2815
|
+
- `color`: string, reflects. A palette color or any CSS color. Default: the primary color.
|
|
2816
|
+
- `size`: `"xs" | "sm" | "md" | "lg" | "xl" | (string & {})`, default `md`, reflects. Diameter: xs…xl (3, 5, 7.5, 10, 12.5rem) or any CSS length.
|
|
2817
|
+
- `thickness`: string, reflects. Width of the ring: a CSS length (a bare number is px). Default: a tenth of the diameter.
|
|
2818
|
+
- `roundCaps` (attribute `round-caps`): boolean, reflects. Rounded ends of the arc.
|
|
2819
|
+
- `showValue` (attribute `show-value`): boolean, reflects. Shows the percentage in the middle (when the default slot is empty).
|
|
2820
|
+
- `label`: string. Accessible name (default: Progress).
|
|
2821
|
+
|
|
2822
|
+
Slots:
|
|
2823
|
+
|
|
2824
|
+
- (default): The middle of the ring (a clock, a figure, an icon); its font scales with size.
|
|
2825
|
+
|
|
2826
|
+
Parts (`::part()`):
|
|
2827
|
+
|
|
2828
|
+
- `track`: The background circle.
|
|
2829
|
+
- `bar`: The arc.
|
|
2830
|
+
- `center`: The middle, around the default slot.
|
|
2831
|
+
|
|
2780
2832
|
### Skeleton
|
|
2781
2833
|
|
|
2782
2834
|
A placeholder while content loads: a shimmering block, a circle or text lines; with loaded it shows its content.
|
|
@@ -2824,6 +2876,30 @@ Parts (`::part()`):
|
|
|
2824
2876
|
|
|
2825
2877
|
- `spinner`: The ring.
|
|
2826
2878
|
|
|
2879
|
+
### Step dots
|
|
2880
|
+
|
|
2881
|
+
A row of dots, one per step: done, current, to do. A compact progress for rounds, onboarding pages or a quiz; announced as a progressbar ("Round 4 of 12").
|
|
2882
|
+
|
|
2883
|
+
Import: `import "@raylang/elements/step-dots";` · Category: Feedback
|
|
2884
|
+
|
|
2885
|
+
#### `<ray-step-dots>` (RayStepDots, extends RayElement)
|
|
2886
|
+
|
|
2887
|
+
Dots before value are done (filled), the one at value is current (a filled pill), the rest are to do (empty). Not interactive: for steps the user picks, use ray-stepper (or the dots of ray-carousel). Many dots wrap onto more lines.
|
|
2888
|
+
|
|
2889
|
+
Properties:
|
|
2890
|
+
|
|
2891
|
+
- `count`: number, default `0`. Number of steps (dots).
|
|
2892
|
+
- `value`: number, default `0`. The current step, 0-based; count means every step is done.
|
|
2893
|
+
- `color`: string, reflects. A palette color or any CSS color for done and current dots. Default: the primary color.
|
|
2894
|
+
- `size`: `xs` | `sm` | `md` | `lg` | `xl`, default `sm`, reflects. Size of a dot.
|
|
2895
|
+
- `align`: `start` | `center` | `end`, default `center`, reflects. Where the row sits in its width.
|
|
2896
|
+
- `label`: string. What a step is called: "Round" is announced "Round 4 of 12" and names the element. Default: Step (named Steps).
|
|
2897
|
+
|
|
2898
|
+
Parts (`::part()`):
|
|
2899
|
+
|
|
2900
|
+
- `dots`: The row.
|
|
2901
|
+
- `dot`: Each dot ([data-state] done, current or todo).
|
|
2902
|
+
|
|
2827
2903
|
### App bar
|
|
2828
2904
|
|
|
2829
2905
|
The top bar of a phone screen (Material's top app bar, the iOS navigation bar): back or menu, a title and subtitle, actions, and an optional row under it. It elevates once the content scrolls, or hides while scrolling down.
|
package/llms.txt
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# ray-elements
|
|
2
2
|
|
|
3
|
-
> Web components (custom elements, Shadow DOM, no dependencies) for any web app: plain HTML, React, Vue or a raylang app. npm: `@raylang/elements`, `@raylang/react`, `@raylang/vue`; raylang: the `elements` package. This file describes version 0.
|
|
3
|
+
> Web components (custom elements, Shadow DOM, no dependencies) for any web app: plain HTML, React, Vue or a raylang app. npm: `@raylang/elements`, `@raylang/react`, `@raylang/vue`; raylang: the `elements` package. This file describes version 0.6.0.
|
|
4
4
|
|
|
5
5
|
ray-elements is a design system of standard web components (custom elements
|
|
6
6
|
with Shadow DOM, no dependencies): `<ray-button>`, `<ray-input>`,
|
|
@@ -268,10 +268,10 @@ Members whose name starts with `_` are internal.
|
|
|
268
268
|
- [Date picker](https://elements.raylang.dev/components/date-picker.md): `<ray-date-picker>`, `<ray-calendar>` (Inputs). A date field with a calendar dropdown, and the calendar on its own.
|
|
269
269
|
- [File upload](https://elements.raylang.dev/components/file-upload.md): `<ray-file-upload>` (Inputs). A drop zone to pick files: drag, click, keyboard or paste.
|
|
270
270
|
- [Input](https://elements.raylang.dev/components/input.md): `<ray-input>` (Inputs). A text field with label, description and error (Mantine's TextInput).
|
|
271
|
-
- [Number input](https://elements.raylang.dev/components/number-input.md): `<ray-number-input>` (Inputs). A number field (Mantine's NumberInput): + and − buttons (hold to repeat), arrow keys, min, max and step, fixed decimals, a prefix and a suffix, a thousands separator.
|
|
271
|
+
- [Number input](https://elements.raylang.dev/components/number-input.md): `<ray-number-input>` (Inputs). A number field (Mantine's NumberInput): + and − buttons (hold to repeat), arrow keys, min, max and step, fixed decimals, a prefix and a suffix, a thousands separator, or a duration (m:ss).
|
|
272
272
|
- [Password input](https://elements.raylang.dev/components/password-input.md): `<ray-password-input>` (Inputs). A password field with a button that shows or hides what was typed (Mantine's PasswordInput).
|
|
273
273
|
- [Path input](https://elements.raylang.dev/components/path-input.md): `<ray-path-input>` (Inputs). A field for a path on disk: a file to open, a folder, or where to save.
|
|
274
|
-
- [Radio group](https://elements.raylang.dev/components/radio.md): `<ray-radio-group>`, `<ray-radio>` (Inputs). One choice among options: ray-radio elements inside a ray-radio-group, which is the form control.
|
|
274
|
+
- [Radio group](https://elements.raylang.dev/components/radio.md): `<ray-radio-group>`, `<ray-radio>`, `<ray-radio-card>` (Inputs). One choice among options: ray-radio (or ray-radio-card) elements inside a ray-radio-group, which is the form control.
|
|
275
275
|
- [Search](https://elements.raylang.dev/components/search.md): `<ray-search>` (Inputs). A search box: icon, clear button, an optional shortcut that focuses it, and a debounced ray-search event.
|
|
276
276
|
- [Segmented control](https://elements.raylang.dev/components/segmented-control.md): `<ray-segmented-control>` (Inputs). One choice among a few, as a segmented row with a sliding indicator.
|
|
277
277
|
- [Select](https://elements.raylang.dev/components/select.md): `<ray-select>` (Inputs). A select with its own dropdown (keyboard, typeahead, groups); options from child <option> elements or the data property.
|
|
@@ -308,8 +308,10 @@ Members whose name starts with `_` are internal.
|
|
|
308
308
|
- [Empty state](https://elements.raylang.dev/components/empty-state.md): `<ray-empty-state>` (Feedback). What a list, table or pane shows when it is empty: icon, title, text and the action that fills it.
|
|
309
309
|
- [Notification](https://elements.raylang.dev/components/notification.md): `<ray-notification>`, `<ray-toaster>` (Feedback). Toasts: notify(), updateNotification(), hideNotification(), clearNotifications(); shown in a ray-toaster (a polite live region in the top layer).
|
|
310
310
|
- [Progress](https://elements.raylang.dev/components/progress.md): `<ray-progress>` (Feedback). A determinate or (without value) indeterminate progress bar, announced as a progressbar.
|
|
311
|
+
- [Ring progress](https://elements.raylang.dev/components/ring-progress.md): `<ray-ring-progress>` (Feedback). Progress as a ring (Mantine's RingProgress), with content in the middle: a countdown, a goal, an upload.
|
|
311
312
|
- [Skeleton](https://elements.raylang.dev/components/skeleton.md): `<ray-skeleton>` (Feedback). A placeholder while content loads: a shimmering block, a circle or text lines; with loaded it shows its content.
|
|
312
313
|
- [Spinner](https://elements.raylang.dev/components/spinner.md): `<ray-spinner>` (Feedback). An indeterminate loading indicator, announced as a status.
|
|
314
|
+
- [Step dots](https://elements.raylang.dev/components/step-dots.md): `<ray-step-dots>` (Feedback). A row of dots, one per step: done, current, to do.
|
|
313
315
|
- [App bar](https://elements.raylang.dev/components/app-bar.md): `<ray-app-bar>` (Layout). The top bar of a phone screen (Material's top app bar, the iOS navigation bar): back or menu, a title and subtitle, actions, and an optional row under it.
|
|
314
316
|
- [App shell](https://elements.raylang.dev/components/app-shell.md): `<ray-app-shell>` (Layout). The frame of an app (Mantine's AppShell): header, navbar, main, aside and footer on wide screens; on phones one column with a bottom bar.
|
|
315
317
|
- [Aspect ratio](https://elements.raylang.dev/components/aspect-ratio.md): `<ray-aspect-ratio>` (Layout). A box with a fixed width/height ratio; its image, video or iframe fills it.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@raylang/elements",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"description": "Web components for any app, with raylang extras (shadcn/ui + Mantine inspired)",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"keywords": ["web-components", "custom-elements", "design-system", "ui", "raylang"],
|
|
@@ -244,6 +244,10 @@
|
|
|
244
244
|
"types": "./ray-elements.d.ts",
|
|
245
245
|
"default": "./components/progress/progress.js"
|
|
246
246
|
},
|
|
247
|
+
"./ring-progress": {
|
|
248
|
+
"types": "./ray-elements.d.ts",
|
|
249
|
+
"default": "./components/ring-progress/ring-progress.js"
|
|
250
|
+
},
|
|
247
251
|
"./skeleton": {
|
|
248
252
|
"types": "./ray-elements.d.ts",
|
|
249
253
|
"default": "./components/skeleton/skeleton.js"
|
|
@@ -252,6 +256,10 @@
|
|
|
252
256
|
"types": "./ray-elements.d.ts",
|
|
253
257
|
"default": "./components/spinner/spinner.js"
|
|
254
258
|
},
|
|
259
|
+
"./step-dots": {
|
|
260
|
+
"types": "./ray-elements.d.ts",
|
|
261
|
+
"default": "./components/step-dots/step-dots.js"
|
|
262
|
+
},
|
|
255
263
|
"./app-bar": {
|
|
256
264
|
"types": "./ray-elements.d.ts",
|
|
257
265
|
"default": "./components/app-bar/app-bar.js"
|
package/ray-elements.d.ts
CHANGED
|
@@ -361,8 +361,8 @@ export declare class RayButton extends RayElement {
|
|
|
361
361
|
gradient: string | undefined;
|
|
362
362
|
/** A palette color (blue, red…) or any CSS color. Default: the primary color. */
|
|
363
363
|
color: string | undefined;
|
|
364
|
-
/** Height, padding and font size. */
|
|
365
|
-
size: "xs" | "sm" | "md" | "lg" | "xl";
|
|
364
|
+
/** Height, padding and font size: xs…xl or any CSS length (the padding and the font follow). */
|
|
365
|
+
size: "xs" | "sm" | "md" | "lg" | "xl" | (string & {});
|
|
366
366
|
/** Corner radius. Default: --ray-radius-default. */
|
|
367
367
|
radius: "xs" | "sm" | "md" | "lg" | "xl" | "full" | undefined;
|
|
368
368
|
/** submit/reset act on the enclosing form. */
|
|
@@ -407,8 +407,8 @@ export declare class RayIconButton extends RayButton {
|
|
|
407
407
|
gradient: string | undefined;
|
|
408
408
|
/** A palette color or any CSS color. */
|
|
409
409
|
color: string | undefined;
|
|
410
|
-
/** Width and height. */
|
|
411
|
-
size: "xs" | "sm" | "md" | "lg" | "xl";
|
|
410
|
+
/** Width and height: xs…xl or any CSS length ("5.5rem": a big main action, round with radius=full); the icon scales with it. */
|
|
411
|
+
size: "xs" | "sm" | "md" | "lg" | "xl" | (string & {});
|
|
412
412
|
/** Not interactive. */
|
|
413
413
|
disabled: boolean | undefined;
|
|
414
414
|
/** Shows a spinner instead of the icon. */
|
|
@@ -865,6 +865,8 @@ export declare class RayNumberInput extends FieldControl {
|
|
|
865
865
|
decimalSeparator: string;
|
|
866
866
|
/** When out-of-range input is clamped: on blur, while typing, or never (then it is invalid). */
|
|
867
867
|
clamp: "blur" | "strict" | "none";
|
|
868
|
+
/** duration: the value is seconds, shown and typed as m:ss (h:mm:ss when min or max reaches an hour; a plain number is seconds); aria-valuetext says "3 minutes, 15 seconds" in the page's language. decimals, prefix, suffix and the separators do not apply. */
|
|
869
|
+
format: "number" | "duration";
|
|
868
870
|
/** No + and − buttons (the keys still step). */
|
|
869
871
|
hideControls: boolean | undefined;
|
|
870
872
|
/** Shown while empty. */
|
|
@@ -950,10 +952,10 @@ export declare class RayRadioGroup extends FormControl {
|
|
|
950
952
|
color: string | undefined;
|
|
951
953
|
/** Checked look of every radio: filled circle, or colored ring and dot. */
|
|
952
954
|
variant: "filled" | "outline";
|
|
953
|
-
/** The radios of the group. */
|
|
955
|
+
/** The radios (and radio cards) of the group. */
|
|
954
956
|
readonly radios: RayRadio[];
|
|
955
957
|
}
|
|
956
|
-
/** <ray-radio> One choice among options: ray-radio elements inside a ray-radio-group, which is the form control. */
|
|
958
|
+
/** <ray-radio> One choice among options: ray-radio (or ray-radio-card) elements inside a ray-radio-group, which is the form control. */
|
|
957
959
|
export declare class RayRadio extends RayElement {
|
|
958
960
|
/** Value given to the group when chosen. */
|
|
959
961
|
value: string | undefined;
|
|
@@ -972,6 +974,11 @@ export declare class RayRadio extends RayElement {
|
|
|
972
974
|
/** Overrides the group variant. */
|
|
973
975
|
variant: "filled" | "outline" | undefined;
|
|
974
976
|
}
|
|
977
|
+
/** <ray-radio-card> A radio drawn as a card: a title (label), a detail (description), an icon, more content; checked, it takes the color's border and light background. Inside a ray-radio-group like a ray-radio (arrow keys, the form, required, disabled); put the cards in a ray-grid for columns. */
|
|
978
|
+
export declare class RayRadioCard extends RayRadio {
|
|
979
|
+
/** No radio circle: the card's border and background alone show the choice. */
|
|
980
|
+
hideIndicator: boolean | undefined;
|
|
981
|
+
}
|
|
975
982
|
|
|
976
983
|
// --- Search (search)
|
|
977
984
|
/** <ray-search> Escape clears it (when it has text); Enter fires ray-search at once. JS: clear(), focus(). */
|
|
@@ -2198,6 +2205,27 @@ export declare class RayProgress extends RayElement {
|
|
|
2198
2205
|
label: string | undefined;
|
|
2199
2206
|
}
|
|
2200
2207
|
|
|
2208
|
+
// --- Ring progress (ring-progress)
|
|
2209
|
+
/** <ray-ring-progress> The arc starts at 12 o'clock and runs clockwise; a countdown is a value that goes down. Without value it spins (indeterminate). The middle holds the default slot (a clock), or the percentage with show-value. */
|
|
2210
|
+
export declare class RayRingProgress extends RayElement {
|
|
2211
|
+
/** Progress, from 0 to max. Unset: indeterminate (a spinning arc). */
|
|
2212
|
+
value: number | undefined;
|
|
2213
|
+
/** The value of a full ring. */
|
|
2214
|
+
max: number;
|
|
2215
|
+
/** A palette color or any CSS color. Default: the primary color. */
|
|
2216
|
+
color: string | undefined;
|
|
2217
|
+
/** Diameter: xs…xl (3, 5, 7.5, 10, 12.5rem) or any CSS length. */
|
|
2218
|
+
size: "xs" | "sm" | "md" | "lg" | "xl" | (string & {});
|
|
2219
|
+
/** Width of the ring: a CSS length (a bare number is px). Default: a tenth of the diameter. */
|
|
2220
|
+
thickness: string | undefined;
|
|
2221
|
+
/** Rounded ends of the arc. */
|
|
2222
|
+
roundCaps: boolean | undefined;
|
|
2223
|
+
/** Shows the percentage in the middle (when the default slot is empty). */
|
|
2224
|
+
showValue: boolean | undefined;
|
|
2225
|
+
/** Accessible name (default: Progress). */
|
|
2226
|
+
label: string | undefined;
|
|
2227
|
+
}
|
|
2228
|
+
|
|
2201
2229
|
// --- Skeleton (skeleton)
|
|
2202
2230
|
/** <ray-skeleton> aria-busy="true" on the host while loading; the placeholder is aria-hidden. */
|
|
2203
2231
|
export declare class RaySkeleton extends RayElement {
|
|
@@ -2228,6 +2256,23 @@ export declare class RaySpinner extends RayElement {
|
|
|
2228
2256
|
label: string;
|
|
2229
2257
|
}
|
|
2230
2258
|
|
|
2259
|
+
// --- Step dots (step-dots)
|
|
2260
|
+
/** <ray-step-dots> Dots before value are done (filled), the one at value is current (a filled pill), the rest are to do (empty). Not interactive: for steps the user picks, use ray-stepper (or the dots of ray-carousel). Many dots wrap onto more lines. */
|
|
2261
|
+
export declare class RayStepDots extends RayElement {
|
|
2262
|
+
/** Number of steps (dots). */
|
|
2263
|
+
count: number;
|
|
2264
|
+
/** The current step, 0-based; count means every step is done. */
|
|
2265
|
+
value: number;
|
|
2266
|
+
/** A palette color or any CSS color for done and current dots. Default: the primary color. */
|
|
2267
|
+
color: string | undefined;
|
|
2268
|
+
/** Size of a dot. */
|
|
2269
|
+
size: "xs" | "sm" | "md" | "lg" | "xl";
|
|
2270
|
+
/** Where the row sits in its width. */
|
|
2271
|
+
align: "start" | "center" | "end";
|
|
2272
|
+
/** What a step is called: "Round" is announced "Round 4 of 12" and names the element. Default: Step (named Steps). */
|
|
2273
|
+
label: string | undefined;
|
|
2274
|
+
}
|
|
2275
|
+
|
|
2231
2276
|
// --- App bar (app-bar)
|
|
2232
2277
|
/** <ray-app-bar> It follows the scroller of its ray-app-shell, else scroll-target, else the window; clear of the notch (safe-area inset). The title is plain text: put a heading in the default slot when the page needs one. */
|
|
2233
2278
|
export declare class RayAppBar extends RayElement {
|
|
@@ -2500,6 +2545,7 @@ declare global {
|
|
|
2500
2545
|
"ray-path-input": RayPathInput;
|
|
2501
2546
|
"ray-radio-group": RayRadioGroup;
|
|
2502
2547
|
"ray-radio": RayRadio;
|
|
2548
|
+
"ray-radio-card": RayRadioCard;
|
|
2503
2549
|
"ray-search": RaySearch;
|
|
2504
2550
|
"ray-segmented-control": RaySegmentedControl;
|
|
2505
2551
|
"ray-select": RaySelect;
|
|
@@ -2549,8 +2595,10 @@ declare global {
|
|
|
2549
2595
|
"ray-notification": RayNotification;
|
|
2550
2596
|
"ray-toaster": RayToaster;
|
|
2551
2597
|
"ray-progress": RayProgress;
|
|
2598
|
+
"ray-ring-progress": RayRingProgress;
|
|
2552
2599
|
"ray-skeleton": RaySkeleton;
|
|
2553
2600
|
"ray-spinner": RaySpinner;
|
|
2601
|
+
"ray-step-dots": RayStepDots;
|
|
2554
2602
|
"ray-app-bar": RayAppBar;
|
|
2555
2603
|
"ray-app-shell": RayAppShell;
|
|
2556
2604
|
"ray-aspect-ratio": RayAspectRatio;
|
|
@@ -45,24 +45,7 @@
|
|
|
45
45
|
},
|
|
46
46
|
{
|
|
47
47
|
"name": "size",
|
|
48
|
-
"description": "Height, padding and font size."
|
|
49
|
-
"values": [
|
|
50
|
-
{
|
|
51
|
-
"name": "xs"
|
|
52
|
-
},
|
|
53
|
-
{
|
|
54
|
-
"name": "sm"
|
|
55
|
-
},
|
|
56
|
-
{
|
|
57
|
-
"name": "md"
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
"name": "lg"
|
|
61
|
-
},
|
|
62
|
-
{
|
|
63
|
-
"name": "xl"
|
|
64
|
-
}
|
|
65
|
-
]
|
|
48
|
+
"description": "Height, padding and font size: xs…xl or any CSS length (the padding and the font follow)."
|
|
66
49
|
},
|
|
67
50
|
{
|
|
68
51
|
"name": "radius",
|
|
@@ -211,24 +194,7 @@
|
|
|
211
194
|
},
|
|
212
195
|
{
|
|
213
196
|
"name": "size",
|
|
214
|
-
"description": "Width and height.",
|
|
215
|
-
"values": [
|
|
216
|
-
{
|
|
217
|
-
"name": "xs"
|
|
218
|
-
},
|
|
219
|
-
{
|
|
220
|
-
"name": "sm"
|
|
221
|
-
},
|
|
222
|
-
{
|
|
223
|
-
"name": "md"
|
|
224
|
-
},
|
|
225
|
-
{
|
|
226
|
-
"name": "lg"
|
|
227
|
-
},
|
|
228
|
-
{
|
|
229
|
-
"name": "xl"
|
|
230
|
-
}
|
|
231
|
-
]
|
|
197
|
+
"description": "Width and height: xs…xl or any CSS length (\"5.5rem\": a big main action, round with radius=full); the icon scales with it."
|
|
232
198
|
},
|
|
233
199
|
{
|
|
234
200
|
"name": "disabled",
|
|
@@ -351,24 +317,7 @@
|
|
|
351
317
|
},
|
|
352
318
|
{
|
|
353
319
|
"name": "size",
|
|
354
|
-
"description": "Height, padding and font size."
|
|
355
|
-
"values": [
|
|
356
|
-
{
|
|
357
|
-
"name": "xs"
|
|
358
|
-
},
|
|
359
|
-
{
|
|
360
|
-
"name": "sm"
|
|
361
|
-
},
|
|
362
|
-
{
|
|
363
|
-
"name": "md"
|
|
364
|
-
},
|
|
365
|
-
{
|
|
366
|
-
"name": "lg"
|
|
367
|
-
},
|
|
368
|
-
{
|
|
369
|
-
"name": "xl"
|
|
370
|
-
}
|
|
371
|
-
]
|
|
320
|
+
"description": "Height, padding and font size: xs…xl or any CSS length (the padding and the font follow)."
|
|
372
321
|
},
|
|
373
322
|
{
|
|
374
323
|
"name": "radius",
|
|
@@ -1654,6 +1603,18 @@
|
|
|
1654
1603
|
}
|
|
1655
1604
|
]
|
|
1656
1605
|
},
|
|
1606
|
+
{
|
|
1607
|
+
"name": "format",
|
|
1608
|
+
"description": "duration: the value is seconds, shown and typed as m:ss (h:mm:ss when min or max reaches an hour; a plain number is seconds); aria-valuetext says \"3 minutes, 15 seconds\" in the page's language. decimals, prefix, suffix and the separators do not apply.",
|
|
1609
|
+
"values": [
|
|
1610
|
+
{
|
|
1611
|
+
"name": "number"
|
|
1612
|
+
},
|
|
1613
|
+
{
|
|
1614
|
+
"name": "duration"
|
|
1615
|
+
}
|
|
1616
|
+
]
|
|
1617
|
+
},
|
|
1657
1618
|
{
|
|
1658
1619
|
"name": "hide-controls",
|
|
1659
1620
|
"description": "No + and − buttons (the keys still step).",
|
|
@@ -2283,8 +2244,78 @@
|
|
|
2283
2244
|
},
|
|
2284
2245
|
{
|
|
2285
2246
|
"name": "ray-radio",
|
|
2286
|
-
"description": "One choice among options: ray-radio elements inside a ray-radio-group, which is the form control.",
|
|
2247
|
+
"description": "One choice among options: ray-radio (or ray-radio-card) elements inside a ray-radio-group, which is the form control.",
|
|
2248
|
+
"attributes": [
|
|
2249
|
+
{
|
|
2250
|
+
"name": "value",
|
|
2251
|
+
"description": "Value given to the group when chosen."
|
|
2252
|
+
},
|
|
2253
|
+
{
|
|
2254
|
+
"name": "checked",
|
|
2255
|
+
"description": "Whether this radio is the group's value; setting it sets the group's value. The checked attribute marks the group's initial value (when the group has no value attribute).",
|
|
2256
|
+
"valueSet": "v"
|
|
2257
|
+
},
|
|
2258
|
+
{
|
|
2259
|
+
"name": "label",
|
|
2260
|
+
"description": "Label text (or the content)."
|
|
2261
|
+
},
|
|
2262
|
+
{
|
|
2263
|
+
"name": "description",
|
|
2264
|
+
"description": "Help text under the label."
|
|
2265
|
+
},
|
|
2266
|
+
{
|
|
2267
|
+
"name": "disabled",
|
|
2268
|
+
"description": "Cannot be chosen.",
|
|
2269
|
+
"valueSet": "v"
|
|
2270
|
+
},
|
|
2271
|
+
{
|
|
2272
|
+
"name": "color",
|
|
2273
|
+
"description": "Overrides the group color."
|
|
2274
|
+
},
|
|
2275
|
+
{
|
|
2276
|
+
"name": "size",
|
|
2277
|
+
"description": "Overrides the group size.",
|
|
2278
|
+
"values": [
|
|
2279
|
+
{
|
|
2280
|
+
"name": "xs"
|
|
2281
|
+
},
|
|
2282
|
+
{
|
|
2283
|
+
"name": "sm"
|
|
2284
|
+
},
|
|
2285
|
+
{
|
|
2286
|
+
"name": "md"
|
|
2287
|
+
},
|
|
2288
|
+
{
|
|
2289
|
+
"name": "lg"
|
|
2290
|
+
},
|
|
2291
|
+
{
|
|
2292
|
+
"name": "xl"
|
|
2293
|
+
}
|
|
2294
|
+
]
|
|
2295
|
+
},
|
|
2296
|
+
{
|
|
2297
|
+
"name": "variant",
|
|
2298
|
+
"description": "Overrides the group variant.",
|
|
2299
|
+
"values": [
|
|
2300
|
+
{
|
|
2301
|
+
"name": "filled"
|
|
2302
|
+
},
|
|
2303
|
+
{
|
|
2304
|
+
"name": "outline"
|
|
2305
|
+
}
|
|
2306
|
+
]
|
|
2307
|
+
}
|
|
2308
|
+
]
|
|
2309
|
+
},
|
|
2310
|
+
{
|
|
2311
|
+
"name": "ray-radio-card",
|
|
2312
|
+
"description": "A radio drawn as a card: a title (label), a detail (description), an icon, more content; checked, it takes the color's border and light background. Inside a ray-radio-group like a ray-radio (arrow keys, the form, required, disabled); put the cards in a ray-grid for columns.",
|
|
2287
2313
|
"attributes": [
|
|
2314
|
+
{
|
|
2315
|
+
"name": "hide-indicator",
|
|
2316
|
+
"description": "No radio circle: the card's border and background alone show the choice.",
|
|
2317
|
+
"valueSet": "v"
|
|
2318
|
+
},
|
|
2288
2319
|
{
|
|
2289
2320
|
"name": "value",
|
|
2290
2321
|
"description": "Value given to the group when chosen."
|
|
@@ -5189,6 +5220,46 @@
|
|
|
5189
5220
|
}
|
|
5190
5221
|
]
|
|
5191
5222
|
},
|
|
5223
|
+
{
|
|
5224
|
+
"name": "ray-ring-progress",
|
|
5225
|
+
"description": "The arc starts at 12 o'clock and runs clockwise; a countdown is a value that goes down. Without value it spins (indeterminate). The middle holds the default slot (a clock), or the percentage with show-value.",
|
|
5226
|
+
"attributes": [
|
|
5227
|
+
{
|
|
5228
|
+
"name": "value",
|
|
5229
|
+
"description": "Progress, from 0 to max. Unset: indeterminate (a spinning arc)."
|
|
5230
|
+
},
|
|
5231
|
+
{
|
|
5232
|
+
"name": "max",
|
|
5233
|
+
"description": "The value of a full ring."
|
|
5234
|
+
},
|
|
5235
|
+
{
|
|
5236
|
+
"name": "color",
|
|
5237
|
+
"description": "A palette color or any CSS color. Default: the primary color."
|
|
5238
|
+
},
|
|
5239
|
+
{
|
|
5240
|
+
"name": "size",
|
|
5241
|
+
"description": "Diameter: xs…xl (3, 5, 7.5, 10, 12.5rem) or any CSS length."
|
|
5242
|
+
},
|
|
5243
|
+
{
|
|
5244
|
+
"name": "thickness",
|
|
5245
|
+
"description": "Width of the ring: a CSS length (a bare number is px). Default: a tenth of the diameter."
|
|
5246
|
+
},
|
|
5247
|
+
{
|
|
5248
|
+
"name": "round-caps",
|
|
5249
|
+
"description": "Rounded ends of the arc.",
|
|
5250
|
+
"valueSet": "v"
|
|
5251
|
+
},
|
|
5252
|
+
{
|
|
5253
|
+
"name": "show-value",
|
|
5254
|
+
"description": "Shows the percentage in the middle (when the default slot is empty).",
|
|
5255
|
+
"valueSet": "v"
|
|
5256
|
+
},
|
|
5257
|
+
{
|
|
5258
|
+
"name": "label",
|
|
5259
|
+
"description": "Accessible name (default: Progress)."
|
|
5260
|
+
}
|
|
5261
|
+
]
|
|
5262
|
+
},
|
|
5192
5263
|
{
|
|
5193
5264
|
"name": "ray-skeleton",
|
|
5194
5265
|
"description": "aria-busy=\"true\" on the host while loading; the placeholder is aria-hidden.",
|
|
@@ -5271,6 +5342,64 @@
|
|
|
5271
5342
|
}
|
|
5272
5343
|
]
|
|
5273
5344
|
},
|
|
5345
|
+
{
|
|
5346
|
+
"name": "ray-step-dots",
|
|
5347
|
+
"description": "Dots before value are done (filled), the one at value is current (a filled pill), the rest are to do (empty). Not interactive: for steps the user picks, use ray-stepper (or the dots of ray-carousel). Many dots wrap onto more lines.",
|
|
5348
|
+
"attributes": [
|
|
5349
|
+
{
|
|
5350
|
+
"name": "count",
|
|
5351
|
+
"description": "Number of steps (dots)."
|
|
5352
|
+
},
|
|
5353
|
+
{
|
|
5354
|
+
"name": "value",
|
|
5355
|
+
"description": "The current step, 0-based; count means every step is done."
|
|
5356
|
+
},
|
|
5357
|
+
{
|
|
5358
|
+
"name": "color",
|
|
5359
|
+
"description": "A palette color or any CSS color for done and current dots. Default: the primary color."
|
|
5360
|
+
},
|
|
5361
|
+
{
|
|
5362
|
+
"name": "size",
|
|
5363
|
+
"description": "Size of a dot.",
|
|
5364
|
+
"values": [
|
|
5365
|
+
{
|
|
5366
|
+
"name": "xs"
|
|
5367
|
+
},
|
|
5368
|
+
{
|
|
5369
|
+
"name": "sm"
|
|
5370
|
+
},
|
|
5371
|
+
{
|
|
5372
|
+
"name": "md"
|
|
5373
|
+
},
|
|
5374
|
+
{
|
|
5375
|
+
"name": "lg"
|
|
5376
|
+
},
|
|
5377
|
+
{
|
|
5378
|
+
"name": "xl"
|
|
5379
|
+
}
|
|
5380
|
+
]
|
|
5381
|
+
},
|
|
5382
|
+
{
|
|
5383
|
+
"name": "align",
|
|
5384
|
+
"description": "Where the row sits in its width.",
|
|
5385
|
+
"values": [
|
|
5386
|
+
{
|
|
5387
|
+
"name": "start"
|
|
5388
|
+
},
|
|
5389
|
+
{
|
|
5390
|
+
"name": "center"
|
|
5391
|
+
},
|
|
5392
|
+
{
|
|
5393
|
+
"name": "end"
|
|
5394
|
+
}
|
|
5395
|
+
]
|
|
5396
|
+
},
|
|
5397
|
+
{
|
|
5398
|
+
"name": "label",
|
|
5399
|
+
"description": "What a step is called: \"Round\" is announced \"Round 4 of 12\" and names the element. Default: Step (named Steps)."
|
|
5400
|
+
}
|
|
5401
|
+
]
|
|
5402
|
+
},
|
|
5274
5403
|
{
|
|
5275
5404
|
"name": "ray-app-bar",
|
|
5276
5405
|
"description": "It follows the scroller of its ray-app-shell, else scroll-target, else the window; clear of the notch (safe-area inset). The title is plain text: put a heading in the default slot when the page needs one.",
|