@raylang/vue 0.5.1 → 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.
@@ -4,7 +4,7 @@ import "@raylang/elements/number-input";
4
4
  import { createComponent } from "../create.js";
5
5
 
6
6
  export const RayNumberInput = /*#__PURE__*/ createComponent("RayNumberInput", "ray-number-input", {
7
- properties: ["value", "min", "max", "step", "decimals", "prefix", "suffix", "thousandsSeparator", "decimalSeparator", "clamp", "hideControls", "placeholder", "readonly", "name", "label", "description", "error", "required", "disabled", "size", "radius", "variant", "descriptionPosition"],
7
+ properties: ["value", "min", "max", "step", "decimals", "prefix", "suffix", "thousandsSeparator", "decimalSeparator", "clamp", "format", "hideControls", "placeholder", "readonly", "name", "label", "description", "error", "required", "disabled", "size", "radius", "variant", "descriptionPosition"],
8
8
  booleans: ["hideControls", "readonly", "required", "disabled"],
9
9
  model: { prop: "value", events: ["input"] },
10
10
  });
@@ -9,6 +9,10 @@ export const RayRadioGroup = /*#__PURE__*/ createComponent("RayRadioGroup", "ray
9
9
  model: { prop: "value", events: ["change"] },
10
10
  });
11
11
  export const RayRadio = /*#__PURE__*/ createComponent("RayRadio", "ray-radio", {
12
- properties: ["value", "label", "description", "disabled", "color", "size", "variant"],
13
- booleans: ["disabled"],
12
+ properties: ["value", "checked", "label", "description", "disabled", "color", "size", "variant"],
13
+ booleans: ["checked", "disabled"],
14
+ });
15
+ export const RayRadioCard = /*#__PURE__*/ createComponent("RayRadioCard", "ray-radio-card", {
16
+ properties: ["hideIndicator", "value", "checked", "label", "description", "disabled", "color", "size", "variant"],
17
+ booleans: ["hideIndicator", "checked", "disabled"],
14
18
  });
@@ -0,0 +1,9 @@
1
+ // Generated by ray-elements tools from component.toml files. Do not edit.
2
+
3
+ import "@raylang/elements/ring-progress";
4
+ import { createComponent } from "../create.js";
5
+
6
+ export const RayRingProgress = /*#__PURE__*/ createComponent("RayRingProgress", "ray-ring-progress", {
7
+ properties: ["value", "max", "color", "size", "thickness", "roundCaps", "showValue", "label"],
8
+ booleans: ["roundCaps", "showValue"],
9
+ });
@@ -0,0 +1,9 @@
1
+ // Generated by ray-elements tools from component.toml files. Do not edit.
2
+
3
+ import "@raylang/elements/step-dots";
4
+ import { createComponent } from "../create.js";
5
+
6
+ export const RayStepDots = /*#__PURE__*/ createComponent("RayStepDots", "ray-step-dots", {
7
+ properties: ["count", "value", "color", "size", "align", "label"],
8
+ booleans: [],
9
+ });
package/index.d.ts CHANGED
@@ -19,8 +19,8 @@ export interface RayButtonProps {
19
19
  gradient?: string;
20
20
  /** A palette color (blue, red…) or any CSS color. Default: the primary color. */
21
21
  color?: string;
22
- /** Height, padding and font size. */
23
- size?: "xs" | "sm" | "md" | "lg" | "xl";
22
+ /** Height, padding and font size: xs…xl or any CSS length (the padding and the font follow). */
23
+ size?: "xs" | "sm" | "md" | "lg" | "xl" | (string & {});
24
24
  /** Corner radius. Default: --ray-radius-default. */
25
25
  radius?: "xs" | "sm" | "md" | "lg" | "xl" | "full";
26
26
  /** submit/reset act on the enclosing form. */
@@ -63,8 +63,8 @@ export interface RayIconButtonProps {
63
63
  gradient?: string;
64
64
  /** A palette color or any CSS color. */
65
65
  color?: string;
66
- /** Width and height. */
67
- size?: "xs" | "sm" | "md" | "lg" | "xl";
66
+ /** Width and height: xs…xl or any CSS length ("5.5rem": a big main action, round with radius=full); the icon scales with it. */
67
+ size?: "xs" | "sm" | "md" | "lg" | "xl" | (string & {});
68
68
  /** Not interactive. */
69
69
  disabled?: boolean;
70
70
  /** Shows a spinner instead of the icon. */
@@ -100,8 +100,8 @@ export interface RayToggleProps {
100
100
  gradient?: string;
101
101
  /** A palette color (blue, red…) or any CSS color. Default: the primary color. */
102
102
  color?: string;
103
- /** Height, padding and font size. */
104
- size?: "xs" | "sm" | "md" | "lg" | "xl";
103
+ /** Height, padding and font size: xs…xl or any CSS length (the padding and the font follow). */
104
+ size?: "xs" | "sm" | "md" | "lg" | "xl" | (string & {});
105
105
  /** Corner radius. Default: --ray-radius-default. */
106
106
  radius?: "xs" | "sm" | "md" | "lg" | "xl" | "full";
107
107
  /** submit/reset act on the enclosing form. */
@@ -585,6 +585,8 @@ export interface RayNumberInputProps {
585
585
  decimalSeparator?: string;
586
586
  /** When out-of-range input is clamped: on blur, while typing, or never (then it is invalid). */
587
587
  clamp?: "blur" | "strict" | "none";
588
+ /** 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. */
589
+ format?: "number" | "duration";
588
590
  /** No + and − buttons (the keys still step). */
589
591
  hideControls?: boolean;
590
592
  /** Shown while empty. */
@@ -797,6 +799,8 @@ export declare const RayRadioGroup: DefineComponent<RayRadioGroupProps>;
797
799
  export interface RayRadioProps {
798
800
  /** Value given to the group when chosen. */
799
801
  value?: string;
802
+ /** 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). */
803
+ checked?: boolean;
800
804
  /** Label text (or the content). */
801
805
  label?: string;
802
806
  /** Help text under the label. */
@@ -813,6 +817,29 @@ export interface RayRadioProps {
813
817
  /** <ray-radio> as a Vue component. */
814
818
  export declare const RayRadio: DefineComponent<RayRadioProps>;
815
819
 
820
+ export interface RayRadioCardProps {
821
+ /** No radio circle: the card's border and background alone show the choice. */
822
+ hideIndicator?: boolean;
823
+ /** Value given to the group when chosen. */
824
+ value?: string;
825
+ /** 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). */
826
+ checked?: boolean;
827
+ /** Label text (or the content). */
828
+ label?: string;
829
+ /** Help text under the label. */
830
+ description?: string;
831
+ /** Cannot be chosen. */
832
+ disabled?: boolean;
833
+ /** Overrides the group color. */
834
+ color?: string;
835
+ /** Overrides the group size. */
836
+ size?: "xs" | "sm" | "md" | "lg" | "xl";
837
+ /** Overrides the group variant. */
838
+ variant?: "filled" | "outline";
839
+ }
840
+ /** <ray-radio-card> as a Vue component. */
841
+ export declare const RayRadioCard: DefineComponent<RayRadioCardProps>;
842
+
816
843
  export interface RaySearchProps {
817
844
  /** Current text. */
818
845
  value?: string;
@@ -1708,7 +1735,7 @@ export interface RayCodeProps {
1708
1735
  export declare const RayCode: DefineComponent<RayCodeProps>;
1709
1736
 
1710
1737
  export interface RayIconProps {
1711
- /** Registered icon name (iconNames()). */
1738
+ /** Registered icon name (iconNames()); "none" draws nothing, a blank that keeps the alignment (a menu item without its check). */
1712
1739
  name?: string;
1713
1740
  /** xs…xl or any CSS length. Default: 1em. */
1714
1741
  size?: string;
@@ -1945,6 +1972,27 @@ export interface RayProgressProps {
1945
1972
  /** <ray-progress> as a Vue component. */
1946
1973
  export declare const RayProgress: DefineComponent<RayProgressProps>;
1947
1974
 
1975
+ export interface RayRingProgressProps {
1976
+ /** Progress, from 0 to max. Unset: indeterminate (a spinning arc). */
1977
+ value?: number;
1978
+ /** The value of a full ring. */
1979
+ max?: number;
1980
+ /** A palette color or any CSS color. Default: the primary color. */
1981
+ color?: string;
1982
+ /** Diameter: xs…xl (3, 5, 7.5, 10, 12.5rem) or any CSS length. */
1983
+ size?: "xs" | "sm" | "md" | "lg" | "xl" | (string & {});
1984
+ /** Width of the ring: a CSS length (a bare number is px). Default: a tenth of the diameter. */
1985
+ thickness?: string;
1986
+ /** Rounded ends of the arc. */
1987
+ roundCaps?: boolean;
1988
+ /** Shows the percentage in the middle (when the default slot is empty). */
1989
+ showValue?: boolean;
1990
+ /** Accessible name (default: Progress). */
1991
+ label?: string;
1992
+ }
1993
+ /** <ray-ring-progress> as a Vue component. */
1994
+ export declare const RayRingProgress: DefineComponent<RayRingProgressProps>;
1995
+
1948
1996
  export interface RaySkeletonProps {
1949
1997
  /** Width (CSS length, a number is px). Default: 100% (a circle: 2.5rem). */
1950
1998
  width?: string;
@@ -1975,6 +2023,23 @@ export interface RaySpinnerProps {
1975
2023
  /** <ray-spinner> as a Vue component. */
1976
2024
  export declare const RaySpinner: DefineComponent<RaySpinnerProps>;
1977
2025
 
2026
+ export interface RayStepDotsProps {
2027
+ /** Number of steps (dots). */
2028
+ count?: number;
2029
+ /** The current step, 0-based; count means every step is done. */
2030
+ value?: number;
2031
+ /** A palette color or any CSS color for done and current dots. Default: the primary color. */
2032
+ color?: string;
2033
+ /** Size of a dot. */
2034
+ size?: "xs" | "sm" | "md" | "lg" | "xl";
2035
+ /** Where the row sits in its width. */
2036
+ align?: "start" | "center" | "end";
2037
+ /** What a step is called: "Round" is announced "Round 4 of 12" and names the element. Default: Step (named Steps). */
2038
+ label?: string;
2039
+ }
2040
+ /** <ray-step-dots> as a Vue component. */
2041
+ export declare const RayStepDots: DefineComponent<RayStepDotsProps>;
2042
+
1978
2043
  export interface RayAppBarProps {
1979
2044
  /** The title. */
1980
2045
  label?: string;
@@ -2198,6 +2263,7 @@ export declare const components: {
2198
2263
  RayPathInput: typeof RayPathInput;
2199
2264
  RayRadioGroup: typeof RayRadioGroup;
2200
2265
  RayRadio: typeof RayRadio;
2266
+ RayRadioCard: typeof RayRadioCard;
2201
2267
  RaySearch: typeof RaySearch;
2202
2268
  RaySegmentedControl: typeof RaySegmentedControl;
2203
2269
  RaySelect: typeof RaySelect;
@@ -2247,8 +2313,10 @@ export declare const components: {
2247
2313
  RayNotification: typeof RayNotification;
2248
2314
  RayToaster: typeof RayToaster;
2249
2315
  RayProgress: typeof RayProgress;
2316
+ RayRingProgress: typeof RayRingProgress;
2250
2317
  RaySkeleton: typeof RaySkeleton;
2251
2318
  RaySpinner: typeof RaySpinner;
2319
+ RayStepDots: typeof RayStepDots;
2252
2320
  RayAppBar: typeof RayAppBar;
2253
2321
  RayAppShell: typeof RayAppShell;
2254
2322
  RayAspectRatio: typeof RayAspectRatio;
@@ -2290,6 +2358,7 @@ declare module "vue" {
2290
2358
  RayPathInput: typeof RayPathInput;
2291
2359
  RayRadioGroup: typeof RayRadioGroup;
2292
2360
  RayRadio: typeof RayRadio;
2361
+ RayRadioCard: typeof RayRadioCard;
2293
2362
  RaySearch: typeof RaySearch;
2294
2363
  RaySegmentedControl: typeof RaySegmentedControl;
2295
2364
  RaySelect: typeof RaySelect;
@@ -2339,8 +2408,10 @@ declare module "vue" {
2339
2408
  RayNotification: typeof RayNotification;
2340
2409
  RayToaster: typeof RayToaster;
2341
2410
  RayProgress: typeof RayProgress;
2411
+ RayRingProgress: typeof RayRingProgress;
2342
2412
  RaySkeleton: typeof RaySkeleton;
2343
2413
  RaySpinner: typeof RaySpinner;
2414
+ RayStepDots: typeof RayStepDots;
2344
2415
  RayAppBar: typeof RayAppBar;
2345
2416
  RayAppShell: typeof RayAppShell;
2346
2417
  RayAspectRatio: typeof RayAspectRatio;
package/index.js CHANGED
@@ -19,7 +19,7 @@ import { RayInput } from "./components/input.js";
19
19
  import { RayNumberInput } from "./components/number-input.js";
20
20
  import { RayPasswordInput } from "./components/password-input.js";
21
21
  import { RayPathInput } from "./components/path-input.js";
22
- import { RayRadioGroup, RayRadio } from "./components/radio.js";
22
+ import { RayRadioGroup, RayRadio, RayRadioCard } from "./components/radio.js";
23
23
  import { RaySearch } from "./components/search.js";
24
24
  import { RaySegmentedControl } from "./components/segmented-control.js";
25
25
  import { RaySelect } from "./components/select.js";
@@ -56,8 +56,10 @@ import { RayAlert } from "./components/alert.js";
56
56
  import { RayEmptyState } from "./components/empty-state.js";
57
57
  import { RayNotification, RayToaster } from "./components/notification.js";
58
58
  import { RayProgress } from "./components/progress.js";
59
+ import { RayRingProgress } from "./components/ring-progress.js";
59
60
  import { RaySkeleton } from "./components/skeleton.js";
60
61
  import { RaySpinner } from "./components/spinner.js";
62
+ import { RayStepDots } from "./components/step-dots.js";
61
63
  import { RayAppBar } from "./components/app-bar.js";
62
64
  import { RayAppShell } from "./components/app-shell.js";
63
65
  import { RayAspectRatio } from "./components/aspect-ratio.js";
@@ -75,9 +77,9 @@ import { RayThemeToggle } from "./components/theme-toggle.js";
75
77
 
76
78
  // The factories, to wrap your own custom elements the same way.
77
79
  export { createComponent, createPlugin } from "./create.js";
78
- export { RayButton, RayButtonGroup, RayIconButton, RayToggle, RayToggleGroup, RayCheckbox, RayCheckboxGroup, RayColorPicker, RayColorInput, RayCombobox, RayDatePicker, RayCalendar, RayFileUpload, RayInput, RayNumberInput, RayPasswordInput, RayPathInput, RayRadioGroup, RayRadio, RaySearch, RaySegmentedControl, RaySelect, RaySlider, RaySwitch, RayTextarea, RayBottomNav, RayBottomNavItem, RayBreadcrumbs, RayBreadcrumb, RayNavLink, RayPagination, RaySidebar, RaySidebarGroup, RayStepper, RayStep, RayTabs, RayTab, RayTabPanel, RayCommandPalette, RayDialog, RayDrawer, RayMenu, RayMenuItem, RayMenuLabel, RayMenuDivider, RayPopover, RayTooltip, RayAccordion, RayAccordionItem, RayAttachment, RayAttachments, RayAvatar, RayBadge, RayBlockquote, RayCarousel, RayCode, RayIcon, RayIndicator, RayKbd, RayStat, RayTable, RayTimeline, RayTimelineItem, RayAlert, RayEmptyState, RayNotification, RayToaster, RayProgress, RaySkeleton, RaySpinner, RayAppBar, RayAppShell, RayAspectRatio, RayCard, RayCenter, RayContainer, RayGrid, RayGroup, RayScrollArea, RaySeparator, RaySplit, RayStack, RayStatusbar, RayStatusbarItem, RayThemeToggle };
80
+ export { RayButton, RayButtonGroup, RayIconButton, RayToggle, RayToggleGroup, RayCheckbox, RayCheckboxGroup, RayColorPicker, RayColorInput, RayCombobox, RayDatePicker, RayCalendar, RayFileUpload, RayInput, RayNumberInput, RayPasswordInput, RayPathInput, RayRadioGroup, RayRadio, RayRadioCard, RaySearch, RaySegmentedControl, RaySelect, RaySlider, RaySwitch, RayTextarea, RayBottomNav, RayBottomNavItem, RayBreadcrumbs, RayBreadcrumb, RayNavLink, RayPagination, RaySidebar, RaySidebarGroup, RayStepper, RayStep, RayTabs, RayTab, RayTabPanel, RayCommandPalette, RayDialog, RayDrawer, RayMenu, RayMenuItem, RayMenuLabel, RayMenuDivider, RayPopover, RayTooltip, RayAccordion, RayAccordionItem, RayAttachment, RayAttachments, RayAvatar, RayBadge, RayBlockquote, RayCarousel, RayCode, RayIcon, RayIndicator, RayKbd, RayStat, RayTable, RayTimeline, RayTimelineItem, RayAlert, RayEmptyState, RayNotification, RayToaster, RayProgress, RayRingProgress, RaySkeleton, RaySpinner, RayStepDots, RayAppBar, RayAppShell, RayAspectRatio, RayCard, RayCenter, RayContainer, RayGrid, RayGroup, RayScrollArea, RaySeparator, RaySplit, RayStack, RayStatusbar, RayStatusbarItem, RayThemeToggle };
79
81
 
80
- export const components = { RayButton, RayButtonGroup, RayIconButton, RayToggle, RayToggleGroup, RayCheckbox, RayCheckboxGroup, RayColorPicker, RayColorInput, RayCombobox, RayDatePicker, RayCalendar, RayFileUpload, RayInput, RayNumberInput, RayPasswordInput, RayPathInput, RayRadioGroup, RayRadio, RaySearch, RaySegmentedControl, RaySelect, RaySlider, RaySwitch, RayTextarea, RayBottomNav, RayBottomNavItem, RayBreadcrumbs, RayBreadcrumb, RayNavLink, RayPagination, RaySidebar, RaySidebarGroup, RayStepper, RayStep, RayTabs, RayTab, RayTabPanel, RayCommandPalette, RayDialog, RayDrawer, RayMenu, RayMenuItem, RayMenuLabel, RayMenuDivider, RayPopover, RayTooltip, RayAccordion, RayAccordionItem, RayAttachment, RayAttachments, RayAvatar, RayBadge, RayBlockquote, RayCarousel, RayCode, RayIcon, RayIndicator, RayKbd, RayStat, RayTable, RayTimeline, RayTimelineItem, RayAlert, RayEmptyState, RayNotification, RayToaster, RayProgress, RaySkeleton, RaySpinner, RayAppBar, RayAppShell, RayAspectRatio, RayCard, RayCenter, RayContainer, RayGrid, RayGroup, RayScrollArea, RaySeparator, RaySplit, RayStack, RayStatusbar, RayStatusbarItem, RayThemeToggle };
82
+ export const components = { RayButton, RayButtonGroup, RayIconButton, RayToggle, RayToggleGroup, RayCheckbox, RayCheckboxGroup, RayColorPicker, RayColorInput, RayCombobox, RayDatePicker, RayCalendar, RayFileUpload, RayInput, RayNumberInput, RayPasswordInput, RayPathInput, RayRadioGroup, RayRadio, RayRadioCard, RaySearch, RaySegmentedControl, RaySelect, RaySlider, RaySwitch, RayTextarea, RayBottomNav, RayBottomNavItem, RayBreadcrumbs, RayBreadcrumb, RayNavLink, RayPagination, RaySidebar, RaySidebarGroup, RayStepper, RayStep, RayTabs, RayTab, RayTabPanel, RayCommandPalette, RayDialog, RayDrawer, RayMenu, RayMenuItem, RayMenuLabel, RayMenuDivider, RayPopover, RayTooltip, RayAccordion, RayAccordionItem, RayAttachment, RayAttachments, RayAvatar, RayBadge, RayBlockquote, RayCarousel, RayCode, RayIcon, RayIndicator, RayKbd, RayStat, RayTable, RayTimeline, RayTimelineItem, RayAlert, RayEmptyState, RayNotification, RayToaster, RayProgress, RayRingProgress, RaySkeleton, RaySpinner, RayStepDots, RayAppBar, RayAppShell, RayAspectRatio, RayCard, RayCenter, RayContainer, RayGrid, RayGroup, RayScrollArea, RaySeparator, RaySplit, RayStack, RayStatusbar, RayStatusbarItem, RayThemeToggle };
81
83
 
82
84
  /** app.use(RayElements) registers every component globally. */
83
85
  export const RayElements = /*#__PURE__*/ createPlugin(components);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@raylang/vue",
3
- "version": "0.5.1",
3
+ "version": "0.6.0",
4
4
  "description": "Vue 3 wrappers (with v-model) of the ray-elements web components",
5
5
  "license": "Apache-2.0",
6
6
  "keywords": ["web-components", "design-system", "ui", "raylang", "vue"],
@@ -28,7 +28,7 @@
28
28
  },
29
29
  "sideEffects": false,
30
30
  "peerDependencies": {
31
- "@raylang/elements": "^0.5.1",
31
+ "@raylang/elements": "^0.6.0",
32
32
  "vue": ">=3.3"
33
33
  }
34
34
  }