@raylang/vue 0.7.0 → 0.8.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,6 +4,6 @@ import "@raylang/elements/icon";
4
4
  import { createComponent } from "../create.js";
5
5
 
6
6
  export const RayIcon = /*#__PURE__*/ createComponent("RayIcon", "ray-icon", {
7
- properties: ["name", "filled", "size", "label", "color", "stroke"],
8
- booleans: ["filled"],
7
+ properties: ["name", "filled", "mirror", "size", "label", "color", "stroke"],
8
+ booleans: ["filled", "mirror"],
9
9
  });
package/index.d.ts CHANGED
@@ -186,8 +186,8 @@ export interface RayCheckboxProps {
186
186
  color?: string;
187
187
  /** Box and font size. */
188
188
  size?: "xs" | "sm" | "md" | "lg" | "xl";
189
- /** Side of the label. */
190
- labelPosition?: "right" | "left";
189
+ /** Side of the label: start/end follow the writing direction; left/right are sides of the screen. */
190
+ labelPosition?: "end" | "start" | "right" | "left";
191
191
  /** Corner radius. */
192
192
  radius?: "xs" | "sm" | "md" | "lg" | "xl" | "full";
193
193
  /** Description before or after the control. */
@@ -1015,8 +1015,8 @@ export interface RaySwitchProps {
1015
1015
  description?: string;
1016
1016
  /** Error text. */
1017
1017
  error?: string;
1018
- /** Side of the label. */
1019
- labelPosition?: "right" | "left";
1018
+ /** Side of the label: start/end follow the writing direction; left/right are sides of the screen. */
1019
+ labelPosition?: "end" | "start" | "right" | "left";
1020
1020
  /** Track color when on. */
1021
1021
  color?: string;
1022
1022
  /** Track size. */
@@ -1234,8 +1234,8 @@ export interface RaySidebarProps {
1234
1234
  collapsed?: boolean;
1235
1235
  /** Narrow screens: the drawer is shown (modal, focus trapped; Escape, backdrop click or a followed link close it). */
1236
1236
  open?: boolean;
1237
- /** The edge it sits on. */
1238
- side?: "left" | "right";
1237
+ /** The edge it sits on (its border faces the content, its narrow-screen drawer slides from there): start/end follow the writing direction; left/right are sides of the screen. */
1238
+ side?: "start" | "end" | "left" | "right";
1239
1239
  /** A panel against the edge, or a floating card with a margin. */
1240
1240
  variant?: "sidebar" | "floating";
1241
1241
  /** Width when expanded (CSS length). Default 16rem. */
@@ -1268,8 +1268,8 @@ export interface RayStepperProps {
1268
1268
  active?: number;
1269
1269
  /** Steps in a row above the content, or in a column beside it. */
1270
1270
  orientation?: "horizontal" | "vertical";
1271
- /** Label beside the number, or under it (narrow screens, many steps). */
1272
- iconPosition?: "left" | "top";
1271
+ /** Label beside the number (after it in the reading direction), or under it (narrow screens, many steps). "left", its former name, still works. */
1272
+ iconPosition?: "start" | "top" | "left";
1273
1273
  /** Completed steps are buttons that go back to them. */
1274
1274
  allowStepSelect?: boolean;
1275
1275
  /** With allow-step-select off, false lets the user jump to any step. */
@@ -1423,8 +1423,8 @@ export interface RayDrawerProps {
1423
1423
  label?: string;
1424
1424
  /** A line under the title (the drawer's accessible description). */
1425
1425
  description?: string;
1426
- /** The edge it slides from. */
1427
- position?: "right" | "left" | "top" | "bottom";
1426
+ /** The edge it slides from: start/end follow the writing direction; left/right are sides of the screen. */
1427
+ position?: "end" | "start" | "right" | "left" | "top" | "bottom";
1428
1428
  /** Width (left/right) or height (top/bottom): xs…xl, full, or any CSS length. */
1429
1429
  size?: "xs" | "sm" | "md" | "lg" | "xl" | "full" | (string & {});
1430
1430
  /** No backdrop nor scroll lock: the page stays interactive (a side panel). */
@@ -1453,7 +1453,7 @@ export declare const RayDrawer: DefineComponent<RayDrawerProps>;
1453
1453
  export interface RayMenuProps {
1454
1454
  /** Shown. */
1455
1455
  open?: boolean;
1456
- /** Preferred side and alignment. */
1456
+ /** Preferred side and alignment: top/bottom/left/right are sides of the screen; on top and bottom, -start/-end follow the writing direction (right to left, "bottom-start" lines up the right edges). */
1457
1457
  placement?: "bottom-start" | "bottom" | "bottom-end" | "top-start" | "top" | "top-end" | "right-start" | "left-start";
1458
1458
  /** Opens on right click (contextmenu) over the trigger area, at the pointer. */
1459
1459
  context?: boolean;
@@ -1500,7 +1500,7 @@ export declare const RayMenuDivider: DefineComponent<RayMenuDividerProps>;
1500
1500
  export interface RayPopoverProps {
1501
1501
  /** Shown. */
1502
1502
  open?: boolean;
1503
- /** Preferred side and alignment. */
1503
+ /** Preferred side and alignment: top/bottom/left/right are sides of the screen; on top and bottom, -start/-end follow the writing direction (right to left, "bottom-start" lines up the right edges). */
1504
1504
  placement?: "bottom" | "bottom-start" | "bottom-end" | "top" | "top-start" | "top-end" | "left" | "left-start" | "left-end" | "right" | "right-start" | "right-end";
1505
1505
  /** Gap to the trigger in px. */
1506
1506
  offset?: number;
@@ -1526,7 +1526,7 @@ export declare const RayPopover: DefineComponent<RayPopoverProps>;
1526
1526
  export interface RayTooltipProps {
1527
1527
  /** Tooltip text. */
1528
1528
  label?: string;
1529
- /** Preferred side. */
1529
+ /** Preferred side; -start/-end follow the writing direction. */
1530
1530
  placement?: "top" | "bottom" | "left" | "right" | "top-start" | "top-end" | "bottom-start" | "bottom-end";
1531
1531
  /** ms before showing. */
1532
1532
  openDelay?: number;
@@ -1551,8 +1551,8 @@ export interface RayAccordionProps {
1551
1551
  multiple?: boolean;
1552
1552
  /** Visual style. */
1553
1553
  variant?: "default" | "contained" | "separated" | "filled";
1554
- /** Side of the chevron. */
1555
- chevronPosition?: "right" | "left";
1554
+ /** Side of the chevron: start/end follow the writing direction; left/right are sides of the screen. */
1555
+ chevronPosition?: "end" | "start" | "right" | "left";
1556
1556
  /** v-model: the element's `value`. */
1557
1557
  modelValue?: string | string[] | undefined;
1558
1558
  "onUpdate:modelValue"?: (value: string | string[] | undefined) => void;
@@ -1739,6 +1739,8 @@ export interface RayIconProps {
1739
1739
  name?: Ray.IconName;
1740
1740
  /** The filled version, for a state (active, selected, favorite, unread); the outline icon when there is none. Built in: user, info, circle-check, alert-triangle, circle-x, folder, bell, star, settings, home, message-circle. */
1741
1741
  filled?: boolean;
1742
+ /** Mirrored in a right-to-left context (dir="rtl"), for an icon that points along the text: back, forward, send, undo. The roles that do (ui.next, ui.previous, ui.first, ui.last, ui.disclosure, ui.separator) mirror by themselves. */
1743
+ mirror?: boolean;
1742
1744
  /** xs…xl or any CSS length. Default: 1em. */
1743
1745
  size?: string;
1744
1746
  /** Accessible name; without it the icon is decorative (hidden from screen readers). */
@@ -1852,8 +1854,8 @@ export declare const RayTable: DefineComponent<RayTableProps>;
1852
1854
  export interface RayTimelineProps {
1853
1855
  /** Index of the last reached item (-1: none). */
1854
1856
  active?: number;
1855
- /** Side of the line. */
1856
- align?: "left" | "right";
1857
+ /** Side of the line: start/end follow the writing direction; left/right are sides of the screen. */
1858
+ align?: "start" | "end" | "left" | "right";
1857
1859
  /** Bullet size: px as a number or a CSS length (default 20px). */
1858
1860
  bulletSize?: string;
1859
1861
  /** Line width in px (default 2). */
@@ -1937,8 +1939,8 @@ export interface RayNotificationProps {
1937
1939
  export declare const RayNotification: DefineComponent<RayNotificationProps>;
1938
1940
 
1939
1941
  export interface RayToasterProps {
1940
- /** Corner of the stack. */
1941
- position?: "bottom-right" | "bottom-left" | "bottom-center" | "top-right" | "top-left" | "top-center";
1942
+ /** Corner of the stack: -start/-end follow the writing direction; -left/-right are sides of the screen. */
1943
+ position?: "bottom-end" | "bottom-start" | "bottom-center" | "top-end" | "top-start" | "top-center" | "bottom-right" | "bottom-left" | "top-right" | "top-left";
1942
1944
  /** Maximum kept; the oldest go first. */
1943
1945
  limit?: number;
1944
1946
  /** Toasts shown in the collapsed stack (the rest wait, hidden). */
@@ -2169,8 +2171,8 @@ export interface RayScrollAreaProps {
2169
2171
  threshold?: number;
2170
2172
  /** Accessible name: makes the scrolling box a named region. */
2171
2173
  label?: string;
2172
- /** The end came within threshold (once per arrival). */
2173
- onRayReachEnd?: (event: CustomEvent<{ edge: "bottom" | "right" }>) => void;
2174
+ /** The end came within threshold (once per arrival): the bottom, or the right when horizontal (the left right to left). */
2175
+ onRayReachEnd?: (event: CustomEvent<{ edge: "bottom" | "right" | "left" }>) => void;
2174
2176
  }
2175
2177
  /** <ray-scroll-area> as a Vue component. */
2176
2178
  export declare const RayScrollArea: DefineComponent<RayScrollAreaProps>;
@@ -2180,8 +2182,8 @@ export interface RaySeparatorProps {
2180
2182
  orientation?: "horizontal" | "vertical";
2181
2183
  /** Text in the middle of a horizontal rule. */
2182
2184
  label?: string;
2183
- /** Where the label sits. */
2184
- labelPosition?: "left" | "center" | "right";
2185
+ /** Where the label sits: start/end follow the writing direction; left/right are sides of the screen. */
2186
+ labelPosition?: "start" | "center" | "end" | "left" | "right";
2185
2187
  /** Thickness (1–5px). */
2186
2188
  size?: "xs" | "sm" | "md" | "lg" | "xl";
2187
2189
  /** Line style. */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@raylang/vue",
3
- "version": "0.7.0",
3
+ "version": "0.8.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.7.0",
31
+ "@raylang/elements": "^0.8.0",
32
32
  "vue": ">=3.3"
33
33
  }
34
34
  }