@reliability-design/web 1.3.0 → 1.4.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/dist/components/rel-accordion/README.md +13 -13
- package/dist/components/rel-accordion/rel-accordion.ts +80 -45
- package/dist/components/rel-alert/README.md +15 -15
- package/dist/components/rel-alert/rel-alert.ts +161 -159
- package/dist/components/rel-avatar/README.md +15 -15
- package/dist/components/rel-avatar/rel-avatar.ts +42 -38
- package/dist/components/rel-badge/README.md +5 -5
- package/dist/components/rel-badge/rel-badge.ts +69 -17
- package/dist/components/rel-breadcrumb/README.md +7 -7
- package/dist/components/rel-breadcrumb/rel-breadcrumb.ts +16 -13
- package/dist/components/rel-button/README.md +20 -20
- package/dist/components/rel-button/rel-button.ts +327 -105
- package/dist/components/rel-calendar/README.md +5 -5
- package/dist/components/rel-calendar/rel-calendar.ts +61 -45
- package/dist/components/rel-card/README.md +6 -6
- package/dist/components/rel-card/rel-card.ts +88 -35
- package/dist/components/rel-cardmedia/README.md +9 -9
- package/dist/components/rel-cardmedia/rel-cardmedia.ts +27 -20
- package/dist/components/rel-carousel/README.md +3 -3
- package/dist/components/rel-carousel/rel-carousel.ts +174 -90
- package/dist/components/rel-chart/README.md +8 -8
- package/dist/components/rel-chart/rel-chart.ts +59 -41
- package/dist/components/rel-checkbox/README.md +7 -7
- package/dist/components/rel-checkbox/rel-checkbox.ts +61 -61
- package/dist/components/rel-chip/README.md +16 -16
- package/dist/components/rel-chip/rel-chip.ts +143 -111
- package/dist/components/rel-container/README.md +11 -11
- package/dist/components/rel-container/rel-container.ts +35 -9
- package/dist/components/rel-date-picker/README.md +43 -7
- package/dist/components/rel-date-picker/date-format.test.ts +43 -0
- package/dist/components/rel-date-picker/date-format.ts +47 -0
- package/dist/components/rel-date-picker/rel-date-picker.ts +257 -83
- package/dist/components/rel-divider/README.md +9 -9
- package/dist/components/rel-divider/rel-divider.ts +10 -9
- package/dist/components/rel-drawer/README.md +1 -1
- package/dist/components/rel-drawer/rel-drawer-footer.ts +1 -1
- package/dist/components/rel-drawer/rel-drawer.ts +56 -28
- package/dist/components/rel-kbd/README.md +20 -20
- package/dist/components/rel-kbd/rel-kbd.ts +119 -25
- package/dist/components/rel-layout/README.md +1 -1
- package/dist/components/rel-layout/rel-layout.ts +2 -2
- package/dist/components/rel-menu/README.md +15 -15
- package/dist/components/rel-menu/rel-menu.ts +155 -88
- package/dist/components/rel-menubar/README.md +20 -20
- package/dist/components/rel-menubar/rel-menubar.ts +47 -31
- package/dist/components/rel-nav-menu/README.md +21 -21
- package/dist/components/rel-nav-menu/rel-nav-menu-item.ts +17 -14
- package/dist/components/rel-nav-menu/rel-nav-menu-panel.ts +33 -14
- package/dist/components/rel-nav-menu/rel-nav-menu.ts +14 -7
- package/dist/components/rel-navbar/README.md +7 -7
- package/dist/components/rel-navbar/rel-navbar.ts +12 -11
- package/dist/components/rel-otp/README.md +3 -3
- package/dist/components/rel-otp/rel-otp.ts +46 -30
- package/dist/components/rel-pagination/README.md +18 -18
- package/dist/components/rel-pagination/rel-pagination.ts +141 -90
- package/dist/components/rel-popover/README.md +13 -13
- package/dist/components/rel-popover/rel-popover-content.ts +39 -14
- package/dist/components/rel-popover/rel-popover.ts +18 -7
- package/dist/components/rel-progress/README.md +5 -5
- package/dist/components/rel-progress/rel-progress.ts +16 -12
- package/dist/components/rel-radio/README.md +9 -9
- package/dist/components/rel-radio/rel-radio.ts +64 -50
- package/dist/components/rel-range-picker/rel-range-picker.ts +120 -117
- package/dist/components/rel-resizable/README.md +4 -4
- package/dist/components/rel-resizable/rel-resizable-group.ts +15 -4
- package/dist/components/rel-resizable/rel-resizable-handle.ts +13 -9
- package/dist/components/rel-resizable/rel-resizable-panel.ts +11 -0
- package/dist/components/rel-segmented-button/README.md +10 -10
- package/dist/components/rel-segmented-button/rel-segmented-button.ts +39 -40
- package/dist/components/rel-select/README.md +14 -14
- package/dist/components/rel-select/rel-select.ts +120 -188
- package/dist/components/rel-sheet/README.md +10 -10
- package/dist/components/rel-sheet/rel-sheet.ts +82 -23
- package/dist/components/rel-sidebar/README.md +5 -5
- package/dist/components/rel-sidebar/rel-sidebar.ts +75 -60
- package/dist/components/rel-skeleton/rel-skeleton.ts +8 -13
- package/dist/components/rel-slider/README.md +10 -10
- package/dist/components/rel-slider/rel-slider.ts +230 -57
- package/dist/components/rel-snackbar/README.md +9 -9
- package/dist/components/rel-snackbar/rel-snackbar.ts +44 -32
- package/dist/components/rel-stepper/README.md +10 -10
- package/dist/components/rel-stepper/rel-stepper.ts +110 -46
- package/dist/components/rel-switch/README.md +5 -5
- package/dist/components/rel-switch/rel-switch.ts +23 -12
- package/dist/components/rel-tab/README.md +13 -13
- package/dist/components/rel-tab/rel-tab.ts +73 -23
- package/dist/components/rel-table/README.md +7 -7
- package/dist/components/rel-table/rel-table-body.ts +2 -1
- package/dist/components/rel-table/rel-table-caption.ts +10 -7
- package/dist/components/rel-table/rel-table-cell.ts +7 -6
- package/dist/components/rel-table/rel-table-footer.ts +4 -3
- package/dist/components/rel-table/rel-table-head.ts +11 -9
- package/dist/components/rel-table/rel-table-header.ts +2 -1
- package/dist/components/rel-table/rel-table-row.ts +5 -4
- package/dist/components/rel-table/rel-table.ts +16 -7
- package/dist/components/rel-textfield/README.md +11 -11
- package/dist/components/rel-textfield/rel-textfield.ts +718 -397
- package/dist/components/rel-toast/README.md +11 -11
- package/dist/components/rel-toast/rel-toast.ts +33 -30
- package/dist/components/rel-tooltip/README.md +7 -7
- package/dist/components/rel-tooltip/rel-tooltip.ts +160 -123
- package/dist/components/rel-topbar/rel-topbar-actions.ts +5 -2
- package/dist/components/rel-topbar/rel-topbar-brand.ts +12 -5
- package/dist/components/rel-topbar/rel-topbar-dropdown-item.ts +14 -8
- package/dist/components/rel-topbar/rel-topbar-dropdown.ts +8 -5
- package/dist/components/rel-topbar/rel-topbar-item.ts +27 -22
- package/dist/components/rel-topbar/rel-topbar-mobile-panel.ts +4 -1
- package/dist/components/rel-topbar/rel-topbar-profile.ts +71 -50
- package/dist/components/rel-topbar/rel-topbar-utilities.ts +5 -2
- package/dist/components/rel-topbar/rel-topbar.ts +37 -29
- package/dist/index.d.mts +227 -40
- package/dist/index.d.ts +227 -40
- package/dist/index.js +3930 -2247
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +4311 -2629
- package/dist/index.mjs.map +1 -1
- package/dist/styles/vars.css +653 -346
- package/dist/vars-WY2XCF5G.css +653 -0
- package/package.json +3 -2
- package/dist/components/rel-range-picker/rel-range-picker.css +0 -349
- package/dist/styles/vars-v2.css +0 -525
- package/dist/vars-I2PC74XD.css +0 -346
- package/dist/vars-v2-VMGWTFJZ.css +0 -525
package/dist/index.d.ts
CHANGED
|
@@ -8,6 +8,8 @@ declare class RelAccordion extends LitElement {
|
|
|
8
8
|
open: boolean;
|
|
9
9
|
size: "md" | "sm";
|
|
10
10
|
type: "default" | "action";
|
|
11
|
+
/** Figma "Style" axis — named appearance because `style` collides with the HTML style attribute. */
|
|
12
|
+
appearance: "shadow" | "plain";
|
|
11
13
|
static styles: lit.CSSResult;
|
|
12
14
|
private toggle;
|
|
13
15
|
render(): lit_html.TemplateResult<1>;
|
|
@@ -15,6 +17,8 @@ declare class RelAccordion extends LitElement {
|
|
|
15
17
|
|
|
16
18
|
declare class RelAlert extends LitElement {
|
|
17
19
|
type: "info" | "success" | "warning" | "error" | "neutral";
|
|
20
|
+
/** Visual treatment (Figma "Style"): solid | subtle | outline. "filled" is a deprecated alias of solid. */
|
|
21
|
+
appearance: "solid" | "subtle" | "outline" | "filled";
|
|
18
22
|
message1: string;
|
|
19
23
|
message2?: string;
|
|
20
24
|
urlText?: string;
|
|
@@ -23,7 +27,7 @@ declare class RelAlert extends LitElement {
|
|
|
23
27
|
dismissed: boolean;
|
|
24
28
|
static styles: lit.CSSResult;
|
|
25
29
|
private dismissAlert;
|
|
26
|
-
private get
|
|
30
|
+
private get iconTemplate();
|
|
27
31
|
render(): lit_html.TemplateResult<1>;
|
|
28
32
|
}
|
|
29
33
|
|
|
@@ -44,7 +48,7 @@ declare class RelBadge extends LitElement {
|
|
|
44
48
|
number: string;
|
|
45
49
|
ariaLabel: string;
|
|
46
50
|
suffix: string;
|
|
47
|
-
size: "sm" | "md" | "lg";
|
|
51
|
+
size: "sm" | "md" | "lg" | "xl";
|
|
48
52
|
variant: "dot" | "number";
|
|
49
53
|
/**
|
|
50
54
|
* Direct CSS color override for the badge background. Accepts any valid
|
|
@@ -76,17 +80,43 @@ declare class RelBreadcrumbs extends LitElement {
|
|
|
76
80
|
render(): lit_html.TemplateResult<1>;
|
|
77
81
|
}
|
|
78
82
|
|
|
83
|
+
/**
|
|
84
|
+
* Style axis. Canonical values are the historical ones; "outline"/"ghost" are
|
|
85
|
+
* accepted Figma-vocabulary aliases for "secondary"/"text". "static" is the
|
|
86
|
+
* Figma Style=Static treatment (transparent, static-light label — for use on
|
|
87
|
+
* colored/dark surfaces). Legacy "icon" is the pre-2.0 collapsed icon-button
|
|
88
|
+
* variant and keeps its exact behavior; prefer icon-only + a style instead.
|
|
89
|
+
*/
|
|
90
|
+
type ButtonVariant = "default" | "primary" | "secondary" | "text" | "link" | "icon" | "static" | "outline" | "ghost";
|
|
91
|
+
/** Tone axis. "neutral"/"brand"/"danger" are Figma-vocabulary aliases. */
|
|
92
|
+
type ButtonTone = "default" | "primary" | "secondary" | "critical" | "success" | "neutral" | "brand" | "danger";
|
|
79
93
|
declare class RelButton extends LitElement {
|
|
80
|
-
variant:
|
|
81
|
-
tone:
|
|
94
|
+
variant: ButtonVariant;
|
|
95
|
+
tone: ButtonTone;
|
|
96
|
+
/**
|
|
97
|
+
* Figma "Type=Icon Only" as an independent axis: a square button of the
|
|
98
|
+
* current style/tone. Unlike legacy variant="icon", this composes with
|
|
99
|
+
* every style (outline/ghost/link included).
|
|
100
|
+
*/
|
|
101
|
+
iconOnly: boolean;
|
|
102
|
+
/** Figma "State=Loading": shows a spinner, blocks interaction. */
|
|
103
|
+
loading: boolean;
|
|
82
104
|
size: "small" | "medium" | "large";
|
|
83
105
|
border: "corner-radius" | "small-corner-radius" | "no-corner-radius";
|
|
84
106
|
disabled: boolean;
|
|
85
107
|
ariaLabel: string | null;
|
|
108
|
+
/** Numeric/overflow text shown in a corner badge (e.g. "3", "999+"). Ignored when badgeDot is set. */
|
|
109
|
+
badge: string;
|
|
110
|
+
/** Shows a small corner dot instead of a numbered badge — takes precedence over `badge`. */
|
|
111
|
+
badgeDot: boolean;
|
|
86
112
|
static styles: lit.CSSResult;
|
|
87
113
|
connectedCallback(): void;
|
|
88
114
|
disconnectedCallback(): void;
|
|
89
115
|
private handleHostClick;
|
|
116
|
+
/** Style axis with Figma-vocabulary aliases folded onto canonical values. */
|
|
117
|
+
private get styleVariant();
|
|
118
|
+
/** Tone axis with Figma-vocabulary aliases folded onto canonical values. */
|
|
119
|
+
private get effectiveTone();
|
|
90
120
|
private get classes();
|
|
91
121
|
private handleClick;
|
|
92
122
|
render(): lit_html.TemplateResult<1>;
|
|
@@ -121,6 +151,12 @@ declare class RelCalendar extends LitElement {
|
|
|
121
151
|
}
|
|
122
152
|
|
|
123
153
|
declare class RelCard extends LitElement {
|
|
154
|
+
/**
|
|
155
|
+
* Figma "Type" axis: custom (default) renders slotted content with card
|
|
156
|
+
* padding; media adds a flush media region (slot name="media") above the
|
|
157
|
+
* content — pair it with <rel-card-media>.
|
|
158
|
+
*/
|
|
159
|
+
type: "custom" | "media";
|
|
124
160
|
static styles: lit.CSSResult;
|
|
125
161
|
render(): lit_html.TemplateResult<1>;
|
|
126
162
|
}
|
|
@@ -133,6 +169,13 @@ declare class RelCarousel extends LitElement {
|
|
|
133
169
|
pauseOnHover: boolean;
|
|
134
170
|
showButtons: boolean;
|
|
135
171
|
showDots: boolean;
|
|
172
|
+
/**
|
|
173
|
+
* Figma "Type" axis. When set it drives which controls render:
|
|
174
|
+
* default = content only · only-indicators = dots · side-arrows = overlaid
|
|
175
|
+
* arrows + dots · bottom-arrows = dots flanked by arrows below the slide.
|
|
176
|
+
* When unset, the legacy show-buttons/show-dots booleans apply unchanged.
|
|
177
|
+
*/
|
|
178
|
+
type?: "default" | "only-indicators" | "side-arrows" | "bottom-arrows";
|
|
136
179
|
orientation: "horizontal" | "vertical";
|
|
137
180
|
label: string;
|
|
138
181
|
gap?: number;
|
|
@@ -156,6 +199,9 @@ declare class RelCarousel extends LitElement {
|
|
|
156
199
|
firstUpdated(): void;
|
|
157
200
|
disconnectedCallback(): void;
|
|
158
201
|
private handleSlotChange;
|
|
202
|
+
private get vertical();
|
|
203
|
+
/** Translate along the orientation axis. */
|
|
204
|
+
private axisTransform;
|
|
159
205
|
private unit;
|
|
160
206
|
private updateTransform;
|
|
161
207
|
private goToPrevious;
|
|
@@ -172,6 +218,10 @@ declare class RelCarousel extends LitElement {
|
|
|
172
218
|
private handleMouseEnter;
|
|
173
219
|
private handleMouseLeave;
|
|
174
220
|
updated(changedProperties: Map<string, any>): void;
|
|
221
|
+
/** Where nav arrows render, honouring the Figma type when set. */
|
|
222
|
+
private get buttonPlacement();
|
|
223
|
+
private get dotsVisible();
|
|
224
|
+
private renderNavButton;
|
|
175
225
|
render(): lit_html.TemplateResult<1>;
|
|
176
226
|
}
|
|
177
227
|
|
|
@@ -210,14 +260,35 @@ declare class RelDatePicker extends LitElement {
|
|
|
210
260
|
label: string | null;
|
|
211
261
|
disabled: boolean;
|
|
212
262
|
required: boolean;
|
|
263
|
+
readonly: boolean;
|
|
264
|
+
minDate: string | null;
|
|
265
|
+
maxDate: string | null;
|
|
266
|
+
/** @deprecated use minDate */
|
|
213
267
|
min: string | null;
|
|
268
|
+
/** @deprecated use maxDate */
|
|
214
269
|
max: string | null;
|
|
215
270
|
weekStart: "sun" | "mon";
|
|
216
271
|
locale: string;
|
|
272
|
+
displayFormat: string | null;
|
|
273
|
+
/**
|
|
274
|
+
* Full control over the selected-value display; wins over `displayFormat`.
|
|
275
|
+
* Reactive (attribute:false) so assigning it after render re-renders the
|
|
276
|
+
* trigger — frameworks set callbacks as properties post-creation.
|
|
277
|
+
*/
|
|
278
|
+
formatDate?: (date: Date) => string;
|
|
217
279
|
open: boolean;
|
|
218
280
|
closeOnSelect: boolean;
|
|
219
281
|
clearable: boolean;
|
|
282
|
+
error: boolean;
|
|
283
|
+
errorMessage?: string;
|
|
284
|
+
helperText?: string;
|
|
285
|
+
name?: string;
|
|
286
|
+
size: "small" | "medium" | "large";
|
|
287
|
+
variant: "outlined";
|
|
288
|
+
fullWidth: boolean;
|
|
220
289
|
isDateDisabled?: (date: Date) => boolean;
|
|
290
|
+
private get minBound();
|
|
291
|
+
private get maxBound();
|
|
221
292
|
private viewYear;
|
|
222
293
|
private viewMonth;
|
|
223
294
|
private focusedDate;
|
|
@@ -357,7 +428,7 @@ declare global {
|
|
|
357
428
|
}
|
|
358
429
|
|
|
359
430
|
declare class RelContainer extends LitElement {
|
|
360
|
-
padding: "sm" | "md" | "lg";
|
|
431
|
+
padding: "sm" | "md" | "lg" | "xl";
|
|
361
432
|
shadow: boolean;
|
|
362
433
|
background: "light" | "white" | "none";
|
|
363
434
|
static styles: lit.CSSResult;
|
|
@@ -442,6 +513,20 @@ declare class RelKbd extends LitElement {
|
|
|
442
513
|
static styles: lit.CSSResult;
|
|
443
514
|
render(): lit_html.TemplateResult<1>;
|
|
444
515
|
}
|
|
516
|
+
/**
|
|
517
|
+
* Multi-key shortcut (Figma Kbd Items=1/2/3/4): renders one <rel-kbd> per
|
|
518
|
+
* entry in `items` with "+" separators between them. Slotted <rel-kbd>
|
|
519
|
+
* children may be used instead of the items array.
|
|
520
|
+
*
|
|
521
|
+
* <rel-kbd-group .items=${["Ctrl", "Shift", "P"]} size="md"></rel-kbd-group>
|
|
522
|
+
*/
|
|
523
|
+
declare class RelKbdGroup extends LitElement {
|
|
524
|
+
items: string[];
|
|
525
|
+
size: "sm" | "md" | "lg";
|
|
526
|
+
variant: "default" | "muted";
|
|
527
|
+
static styles: lit.CSSResult;
|
|
528
|
+
render(): lit_html.TemplateResult<1>;
|
|
529
|
+
}
|
|
445
530
|
|
|
446
531
|
declare class RelLayout extends LitElement {
|
|
447
532
|
gap: string;
|
|
@@ -452,7 +537,34 @@ declare class RelLayout extends LitElement {
|
|
|
452
537
|
render(): lit_html.TemplateResult<1>;
|
|
453
538
|
}
|
|
454
539
|
|
|
455
|
-
|
|
540
|
+
interface RadioOption {
|
|
541
|
+
value: string;
|
|
542
|
+
label: string;
|
|
543
|
+
supportingText?: string;
|
|
544
|
+
disabled?: boolean;
|
|
545
|
+
}
|
|
546
|
+
declare class RelRadio extends LitElement {
|
|
547
|
+
options: RadioOption[];
|
|
548
|
+
name: string;
|
|
549
|
+
selectedValue: string | null;
|
|
550
|
+
disabled: boolean;
|
|
551
|
+
error: boolean;
|
|
552
|
+
errorMessage: string;
|
|
553
|
+
value: string;
|
|
554
|
+
checked: boolean;
|
|
555
|
+
private _onChange;
|
|
556
|
+
private _onTouched;
|
|
557
|
+
static styles: lit.CSSResult;
|
|
558
|
+
private onChange;
|
|
559
|
+
registerOnChange(fn: (value: string) => void): void;
|
|
560
|
+
registerOnTouched(fn: () => void): void;
|
|
561
|
+
writeValue(value: string): void;
|
|
562
|
+
private get hasSelection();
|
|
563
|
+
private renderOption;
|
|
564
|
+
render(): lit_html.TemplateResult<1>;
|
|
565
|
+
}
|
|
566
|
+
|
|
567
|
+
type MenuType = "default" | "checkbox" | "arrow" | "select-option" | "fixed" | "fit";
|
|
456
568
|
interface MenuItem {
|
|
457
569
|
label: string;
|
|
458
570
|
active?: boolean;
|
|
@@ -474,49 +586,23 @@ declare class RelMenu extends LitElement {
|
|
|
474
586
|
items: MenuItem[];
|
|
475
587
|
private focusedIndex;
|
|
476
588
|
private _items;
|
|
477
|
-
static readonly _css = "\n :host {\n display: inline-block;\n }\n\n .rel-menu {\n position: relative;\n display: inline-block;\n background: var(--rel-
|
|
589
|
+
static readonly _css = "\n :host {\n color: var(--rel-text-default);\n display: inline-block;\n }\n\n .rel-menu {\n position: relative;\n display: inline-block;\n background: var(--rel-bg-neutral);\n color: var(--rel-text-default);\n border-radius: var(--rel-border-radius-md);\n box-shadow: var(--rel-shadows-shadow-300);\n min-width: 220px;\n /* No vertical padding: items fill edge-to-edge so a first/last-item hover\n reaches the menu's top/bottom. NOT overflow:hidden \u2014 that clips the\n type=arrow flyout (position:absolute at left:100%). Instead the first\n and last items carry the outer corner radius so hover backgrounds clip\n to the rounded shape without any overflow. */\n padding: 0;\n outline: none;\n overflow: visible;\n font-family: var(--rel-body-lg-regular-font-family);\n font-weight: var(--rel-body-lg-regular-font-weight);\n font-size: var(--rel-body-lg-regular-font-size);\n line-height: var(--rel-body-lg-regular-line-height);\n letter-spacing: var(--rel-body-lg-regular-letter-spacing);\n }\n\n .rel-menu:focus-visible,\n :host(:focus-visible) .rel-menu {\n outline: 2px solid var(--rel-border-focus);\n outline-offset: 2px;\n }\n\n .rel-menu-item {\n position: relative;\n display: flex;\n align-items: center;\n gap: var(--rel-spacing-xs);\n padding: var(--rel-spacing-xs) var(--rel-spacing-sm);\n line-height: var(--rel-body-sm-regular-line-height);\n cursor: pointer;\n transition: background 0.15s ease, color 0.15s ease;\n user-select: none;\n }\n\n /* First/last items carry the menu's outer radius so their hover fill clips\n to the rounded corners (replaces the removed overflow:hidden). */\n .rel-menu > .rel-menu-item:first-child {\n border-top-left-radius: var(--rel-border-radius-md);\n border-top-right-radius: var(--rel-border-radius-md);\n }\n\n .rel-menu > .rel-menu-item:last-child {\n border-bottom-left-radius: var(--rel-border-radius-md);\n border-bottom-right-radius: var(--rel-border-radius-md);\n }\n\n .rel-menu-item:hover {\n background: var(--rel-bg-neutral-elevated-1);\n }\n\n .rel-menu-item:active {\n background: var(--rel-bg-neutral-elevated-1);\n }\n\n .rel-menu-item.active {\n background: var(--rel-bg-neutral-elevated-2);\n font-weight: var(--rel-body-lg-medium-font-weight);\n }\n\n .rel-menu-item.disabled {\n background-color: transparent;\n color: var(--rel-text-disabled);\n /* Keep the item pointer-interactive so cursor:not-allowed actually\n renders; clicks are already neutralised by the item.disabled guard in\n onItemClick/onItemEnter. pointer-events:none here would make the row\n transparent to the pointer and suppress the cursor. */\n cursor: not-allowed;\n }\n\n .rel-menu-item[data-focused=\"true\"] {\n outline: 2px solid var(--rel-border-focus);\n outline-offset: -2px;\n }\n\n /* Width modes (Figma Type=Fixed / Type=Fit) */\n .rel-menu.fixed {\n width: var(--rel-menu-width, 300px);\n min-width: 0;\n box-sizing: border-box;\n }\n\n .rel-menu.fit {\n min-width: 0;\n width: max-content;\n }\n\n /* Checkbox (Type=Checkbox) / radio (Type=Select Option) rows render the real\n rel-checkbox / rel-radio. pointer-events:none keeps the whole row the click\n target so onItemClick stays the single source of truth. */\n .menu-control {\n pointer-events: none;\n width: 100%;\n }\n\n .menu-label {\n flex: 1 1 auto;\n }\n\n /* Submenu affordance \u2014 same rel-icon chevron the menubar uses. */\n .submenu-chevron {\n margin-left: auto;\n display: inline-flex;\n align-items: center;\n opacity: 0.6;\n pointer-events: none;\n }\n\n /* Shortcut / hint text (Figma body-sm-regular, caption tone) */\n .menu-shortcut,\n ::slotted([slot=\"shortcut\"]) {\n font-family: var(--rel-body-sm-regular-font-family);\n font-weight: var(--rel-body-sm-regular-font-weight);\n font-size: var(--rel-body-sm-regular-font-size);\n line-height: var(--rel-body-sm-regular-line-height);\n letter-spacing: var(--rel-body-sm-regular-letter-spacing);\n color: var(--rel-text-caption);\n margin-left: auto;\n padding-left: var(--rel-spacing-md);\n }\n\n \n .rel-submenu {\n border: 1px solid var(--rel-border-subtle);\n position: absolute;\n top: calc(-1 * var(--rel-spacing-3xs));\n /* flush against the trigger (no gap) so moving the pointer into the flyout\n never crosses a dead zone that would fire the trigger's mouseleave */\n left: 100%;\n min-width: 200px;\n background: var(--rel-bg-neutral);\n color: var(--rel-text-default);\n border-radius: var(--rel-border-radius-md);\n box-shadow: var(--rel-shadows-shadow-300);\n /* padding:0 + overflow:hidden \u2014 safe here (a submenu has no further nested\n flyout to clip) \u2014 so sub-item hovers fill fully and clip to the corners */\n padding: 0;\n overflow: hidden;\n visibility: hidden;\n pointer-events: none;\n z-index: 20;\n }\n\n .rel-submenu.visible {\n visibility: visible;\n pointer-events: auto;\n }\n\n .rel-submenu .rel-menu-item {\n padding: var(--rel-spacing-xs) var(--rel-spacing-sm);\n }\n ";
|
|
478
590
|
createRenderRoot(): this;
|
|
479
591
|
connectedCallback(): void;
|
|
480
592
|
disconnectedCallback(): void;
|
|
481
593
|
updated(changedProperties: Map<string, unknown>): void;
|
|
594
|
+
/** Index of a submenu locked open by a click (survives hover-out). -1 = none. */
|
|
595
|
+
private lockedIndex;
|
|
482
596
|
private handleDocumentClick;
|
|
483
597
|
private onItemEnter;
|
|
484
598
|
private onItemLeave;
|
|
485
599
|
private onItemClick;
|
|
486
600
|
private onSubClick;
|
|
487
|
-
private toggleCheckbox;
|
|
488
601
|
private onKeydown;
|
|
489
602
|
private renderMenuItem;
|
|
490
603
|
render(): lit_html.TemplateResult<1>;
|
|
491
604
|
}
|
|
492
605
|
|
|
493
|
-
interface RadioOption {
|
|
494
|
-
value: string;
|
|
495
|
-
label: string;
|
|
496
|
-
supportingText?: string;
|
|
497
|
-
disabled?: boolean;
|
|
498
|
-
}
|
|
499
|
-
declare class RelRadio extends LitElement {
|
|
500
|
-
options: RadioOption[];
|
|
501
|
-
name: string;
|
|
502
|
-
selectedValue: string | null;
|
|
503
|
-
disabled: boolean;
|
|
504
|
-
error: boolean;
|
|
505
|
-
errorMessage: string;
|
|
506
|
-
value: string;
|
|
507
|
-
checked: boolean;
|
|
508
|
-
private _onChange;
|
|
509
|
-
private _onTouched;
|
|
510
|
-
static styles: lit.CSSResult;
|
|
511
|
-
private onChange;
|
|
512
|
-
registerOnChange(fn: (value: string) => void): void;
|
|
513
|
-
registerOnTouched(fn: () => void): void;
|
|
514
|
-
writeValue(value: string): void;
|
|
515
|
-
private get hasSelection();
|
|
516
|
-
private renderOption;
|
|
517
|
-
render(): lit_html.TemplateResult<1>;
|
|
518
|
-
}
|
|
519
|
-
|
|
520
606
|
declare class RelMenubar extends LitElement {
|
|
521
607
|
private menus;
|
|
522
608
|
private openMenuIndex;
|
|
@@ -525,7 +611,7 @@ declare class RelMenubar extends LitElement {
|
|
|
525
611
|
private openSubmenuElement;
|
|
526
612
|
private hoverSwitchEnabled;
|
|
527
613
|
private _onScroll?;
|
|
528
|
-
static readonly _css = "\n :host {\n display: block;\n }\n\n
|
|
614
|
+
static readonly _css = "\n /* This component renders into LIGHT DOM (createRenderRoot returns this), so\n :host / <slot> don't work here \u2014 the raw <rel-menubar-menu> definitions\n are data holders that must be hidden with a plain selector. Relying on the\n global rel-menubar-menu.css is not enough: it can't cross a consumer's\n shadow boundary AND it's a no-op in the tsup-built package (css:\"copy\"). */\n rel-menubar {\n color: var(--rel-text-default);\n display: block;\n }\n\n rel-menubar-menu {\n display: none;\n }\n\n .menubar-container {\n display: flex;\n align-items: stretch;\n background: var(--rel-bg-surface-elevated);\n border: var(--rel-stroke-sm) solid var(--rel-border-default);\n border-radius: var(--rel-border-radius-sm);\n overflow: hidden;\n padding: 0;\n gap: var(--rel-spacing-3xs);\n height: 40px;\n width: fit-content;\n font-family: var(--rel-body-sm-regular-font-family);\n font-weight: var(--rel-body-sm-regular-font-weight);\n font-size: var(--rel-body-sm-regular-font-size);\n line-height: var(--rel-body-sm-regular-line-height);\n letter-spacing: var(--rel-body-sm-regular-letter-spacing);\n }\n\n .menubar-trigger {\n display: flex;\n align-items: center;\n align-self: stretch;\n height: 100%;\n padding: 0 var(--rel-spacing-sm);\n background: transparent;\n border: none;\n cursor: pointer;\n font-family: inherit;\n font-size: inherit;\n color: var(--rel-text-label);\n transition: background 0.15s ease;\n user-select: none;\n outline: none;\n }\n\n .menubar-trigger:hover,\n .menubar-trigger.active {\n background: var(--rel-bg-neutral-elevated-2);\n }\n\n .menubar-trigger:focus-visible {\n outline: 2px solid var(--rel-border-focus);\n outline-offset: 2px;\n }\n\n .menubar-panel {\n position: fixed;\n min-width: 220px;\n background: var(--rel-bg-surface);\n border: var(--rel-stroke-sm) solid var(--rel-border-default);\n border-radius: var(--rel-border-radius-sm);\n box-shadow: var(--rel-shadows-shadow-300);\n padding: 0;\n overflow: hidden;\n z-index: 1000;\n display: none;\n }\n\n .menubar-panel.open {\n display: block;\n }\n\n .menu-item {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--rel-spacing-sm);\n padding: var(--rel-spacing-xs) var(--rel-spacing-md);\n cursor: pointer;\n transition: background 0.15s ease;\n user-select: none;\n color: var(--rel-text-label);\n line-height: var(--rel-body-sm-regular-line-height);\n }\n\n .menu-item:hover,\n .menu-item.focused {\n background: var(--rel-bg-neutral-elevated-2);\n }\n\n .menu-item[data-disabled=\"true\"] {\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n .menu-separator {\n height: var(--rel-stroke-sm);\n background: var(--rel-border-default);\n margin: 0;\n padding: 0;\n }\n\n rel-icon {\n display: inline-flex;\n pointer-events: none;\n }\n\n .menu-submenu-trigger {\n position: relative;\n }\n\n .menu-submenu-trigger rel-icon {\n opacity: 0.6;\n }\n\n .submenu-panel {\n position: fixed;\n min-width: 200px;\n background: var(--rel-bg-surface);\n border: var(--rel-stroke-sm) solid var(--rel-border-default);\n border-radius: var(--rel-border-radius-sm);\n box-shadow: var(--rel-shadows-shadow-300);\n padding: 0;\n overflow: hidden;\n z-index: 1001;\n display: none;\n }\n\n .submenu-panel.open {\n display: block;\n }\n\n .menu-shortcut {\n opacity: 0.6;\n margin-left: auto;\n display: flex;\n align-items: center;\n gap: var(--rel-spacing-3xs);\n font-family: var(--rel-body-xs-regular-font-family);\n font-weight: var(--rel-body-xs-regular-font-weight);\n font-size: var(--rel-body-xs-regular-font-size);\n line-height: var(--rel-body-xs-regular-line-height);\n letter-spacing: var(--rel-body-xs-regular-letter-spacing);\n }\n\n .menubar-panel rel-checkbox {\n display: block;\n width: 100%;\n padding: var(--rel-spacing-xs, 8px) var(--rel-spacing-md, 16px);\n box-sizing: border-box;\n cursor: pointer;\n }\n ";
|
|
529
615
|
createRenderRoot(): this;
|
|
530
616
|
connectedCallback(): void;
|
|
531
617
|
disconnectedCallback(): void;
|
|
@@ -572,6 +658,10 @@ declare class RelNavbar extends LitElement {
|
|
|
572
658
|
render(): lit_html.TemplateResult<1>;
|
|
573
659
|
}
|
|
574
660
|
|
|
661
|
+
/**
|
|
662
|
+
* @deprecated Part of the deprecated rel-topbar family. Use a plain
|
|
663
|
+
* `<a>`/logo markup inside the "App Topbar" recipe at /docs/recipes/app-topbar.
|
|
664
|
+
*/
|
|
575
665
|
declare class RelTopbarBrand extends LitElement {
|
|
576
666
|
src: string;
|
|
577
667
|
href: string;
|
|
@@ -585,6 +675,10 @@ declare global {
|
|
|
585
675
|
}
|
|
586
676
|
}
|
|
587
677
|
|
|
678
|
+
/**
|
|
679
|
+
* @deprecated Part of the deprecated rel-topbar family. Use plain
|
|
680
|
+
* `rel-button` elements inside the "App Topbar" recipe at /docs/recipes/app-topbar.
|
|
681
|
+
*/
|
|
588
682
|
declare class RelTopbarActions extends LitElement {
|
|
589
683
|
static styles: lit.CSSResult;
|
|
590
684
|
render(): lit_html.TemplateResult<1>;
|
|
@@ -595,6 +689,10 @@ declare global {
|
|
|
595
689
|
}
|
|
596
690
|
}
|
|
597
691
|
|
|
692
|
+
/**
|
|
693
|
+
* @deprecated Part of the deprecated rel-topbar family. Use plain
|
|
694
|
+
* `rel-button` (icon variant) elements inside the "App Topbar" recipe at /docs/recipes/app-topbar.
|
|
695
|
+
*/
|
|
598
696
|
declare class RelTopbarUtilities extends LitElement {
|
|
599
697
|
static styles: lit.CSSResult;
|
|
600
698
|
render(): lit_html.TemplateResult<1>;
|
|
@@ -605,6 +703,10 @@ declare global {
|
|
|
605
703
|
}
|
|
606
704
|
}
|
|
607
705
|
|
|
706
|
+
/**
|
|
707
|
+
* @deprecated Part of the deprecated rel-topbar family. Use `rel-drawer`
|
|
708
|
+
* for the mobile nav panel in the "App Topbar" recipe at /docs/recipes/app-topbar.
|
|
709
|
+
*/
|
|
608
710
|
declare class RelTopbarMobilePanel extends LitElement {
|
|
609
711
|
static styles: lit.CSSResult;
|
|
610
712
|
render(): lit_html.TemplateResult<1>;
|
|
@@ -615,6 +717,10 @@ declare global {
|
|
|
615
717
|
}
|
|
616
718
|
}
|
|
617
719
|
|
|
720
|
+
/**
|
|
721
|
+
* @deprecated Part of the deprecated rel-topbar family. Use `rel-menu` or
|
|
722
|
+
* `rel-popover` for nav dropdowns in the "App Topbar" recipe at /docs/recipes/app-topbar.
|
|
723
|
+
*/
|
|
618
724
|
declare class RelTopbarDropdown extends LitElement {
|
|
619
725
|
static styles: lit.CSSResult;
|
|
620
726
|
render(): lit_html.TemplateResult<1>;
|
|
@@ -625,6 +731,10 @@ declare global {
|
|
|
625
731
|
}
|
|
626
732
|
}
|
|
627
733
|
|
|
734
|
+
/**
|
|
735
|
+
* @deprecated Part of the deprecated rel-topbar family. Use `rel-menu`'s
|
|
736
|
+
* item slots or `rel-popover` content in the "App Topbar" recipe at /docs/recipes/app-topbar.
|
|
737
|
+
*/
|
|
628
738
|
declare class RelTopbarDropdownItem extends LitElement {
|
|
629
739
|
label: string;
|
|
630
740
|
href: string;
|
|
@@ -644,6 +754,12 @@ type TopbarForceLayout = "auto" | "desktop" | "tablet" | "mobile";
|
|
|
644
754
|
/**
|
|
645
755
|
* `rel-topbar` — Application-level top navigation / header shell.
|
|
646
756
|
*
|
|
757
|
+
* @deprecated This component's fixed slot structure, hardcoded breakpoint,
|
|
758
|
+
* and built-in overflow logic are too rigid for most real layouts. Use the
|
|
759
|
+
* "App Topbar" recipe at /docs/recipes/app-topbar instead, composed from
|
|
760
|
+
* rel-menu/rel-popover, rel-drawer, and rel-button. Still supported, but
|
|
761
|
+
* will be removed in a future major version.
|
|
762
|
+
*
|
|
647
763
|
* Slots:
|
|
648
764
|
* brand — Logo / wordmark region (left)
|
|
649
765
|
* (default) — Primary nav items (rel-topbar-item elements)
|
|
@@ -693,6 +809,10 @@ declare class RelTopbar extends LitElement {
|
|
|
693
809
|
/**
|
|
694
810
|
* `rel-topbar-item` — A navigation item within rel-topbar.
|
|
695
811
|
*
|
|
812
|
+
* @deprecated Part of the deprecated rel-topbar family. Use the "App
|
|
813
|
+
* Topbar" recipe at /docs/recipes/app-topbar, which composes nav links and
|
|
814
|
+
* `rel-menu`/`rel-popover` dropdowns directly instead of a dedicated item component.
|
|
815
|
+
*
|
|
696
816
|
* Renders as an `<a>` when `href` is supplied, otherwise a `<button>`.
|
|
697
817
|
*
|
|
698
818
|
* Slots:
|
|
@@ -739,6 +859,9 @@ type TopbarRewardTier = "gold" | "silver" | "platinum" | "bronze" | "regular";
|
|
|
739
859
|
/**
|
|
740
860
|
* `rel-topbar-profile` — Profile / user tile for the topbar right region.
|
|
741
861
|
*
|
|
862
|
+
* @deprecated Part of the deprecated rel-topbar family. Compose `rel-avatar`
|
|
863
|
+
* directly inside the "App Topbar" recipe at /docs/recipes/app-topbar.
|
|
864
|
+
*
|
|
742
865
|
* type="avatar" Customer avatar with initials circle + optional name/subtitle.
|
|
743
866
|
* type="carrier" Carrier reward tile with reward-tier badge + name/subtitle.
|
|
744
867
|
*/
|
|
@@ -898,6 +1021,8 @@ declare global {
|
|
|
898
1021
|
|
|
899
1022
|
declare class RelPopoverContent extends LitElement {
|
|
900
1023
|
ariaLabel: string;
|
|
1024
|
+
/** Figma Size axis (S/M/L): panel padding 12/16/20px. */
|
|
1025
|
+
size: "sm" | "md" | "lg";
|
|
901
1026
|
static styles: lit.CSSResult;
|
|
902
1027
|
render(): lit_html.TemplateResult<1>;
|
|
903
1028
|
}
|
|
@@ -1109,6 +1234,11 @@ declare class RelModal extends LitElement {
|
|
|
1109
1234
|
description: string;
|
|
1110
1235
|
dismissible: boolean;
|
|
1111
1236
|
modal: boolean;
|
|
1237
|
+
/**
|
|
1238
|
+
* Figma "Breakpoint" axis. responsive (default) collapses to a full-width
|
|
1239
|
+
* bottom sheet below 480px; web keeps the fixed desktop panel at every size.
|
|
1240
|
+
*/
|
|
1241
|
+
breakpoint: "responsive" | "web";
|
|
1112
1242
|
private overlayElement;
|
|
1113
1243
|
private previousFocus;
|
|
1114
1244
|
private originalBodyOverflow;
|
|
@@ -1132,10 +1262,16 @@ declare global {
|
|
|
1132
1262
|
}
|
|
1133
1263
|
}
|
|
1134
1264
|
|
|
1135
|
-
|
|
1265
|
+
/**
|
|
1266
|
+
* "continuous"/"discrete" are the legacy tick-mode values; Figma's Type axis
|
|
1267
|
+
* adds "default" (alias of continuous) and "range" (dual-thumb interval).
|
|
1268
|
+
*/
|
|
1269
|
+
type SliderType = "continuous" | "discrete" | "default" | "range";
|
|
1136
1270
|
type TrackStyle = "solid" | "dotted";
|
|
1137
1271
|
declare class RelSlider extends LitElement {
|
|
1138
1272
|
type: SliderType;
|
|
1273
|
+
/** Figma Size axis (S/M/L): scales track, thumb and ticks. */
|
|
1274
|
+
size: "sm" | "md" | "lg";
|
|
1139
1275
|
min: number;
|
|
1140
1276
|
max: number;
|
|
1141
1277
|
step: number;
|
|
@@ -1144,13 +1280,26 @@ declare class RelSlider extends LitElement {
|
|
|
1144
1280
|
showTickLabels: boolean;
|
|
1145
1281
|
showBubble: boolean;
|
|
1146
1282
|
value: number;
|
|
1283
|
+
/** Upper value when type="range" (attribute value-end). */
|
|
1284
|
+
valueEnd: number;
|
|
1147
1285
|
private ticks;
|
|
1148
1286
|
private _onChange;
|
|
1149
1287
|
private _onTouched;
|
|
1150
1288
|
static styles: lit.CSSResult;
|
|
1151
1289
|
connectedCallback(): void;
|
|
1152
1290
|
updated(changedProperties: Map<string, any>): void;
|
|
1291
|
+
private get isRange();
|
|
1153
1292
|
private get percentage();
|
|
1293
|
+
private get percentageEnd();
|
|
1294
|
+
private dragThumb;
|
|
1295
|
+
private valueFromPointer;
|
|
1296
|
+
private onRangePointerDown;
|
|
1297
|
+
private onRangePointerMove;
|
|
1298
|
+
private onRangePointerUp;
|
|
1299
|
+
private applyRangeValue;
|
|
1300
|
+
private emitRangeChange;
|
|
1301
|
+
private onRangeInputStart;
|
|
1302
|
+
private onRangeInputEnd;
|
|
1154
1303
|
private setupTicks;
|
|
1155
1304
|
private getTickLeftPct;
|
|
1156
1305
|
private isTickActive;
|
|
@@ -1195,6 +1344,10 @@ type StepStatus = "done" | "progress" | "disabled";
|
|
|
1195
1344
|
type TextAlign = "right" | "below";
|
|
1196
1345
|
type Orientation = "horizontal" | "vertical";
|
|
1197
1346
|
type StepperSize = "small" | "large";
|
|
1347
|
+
/** Figma "Type": indicator content — default (number, check when done), dot, number, icon. */
|
|
1348
|
+
type StepperType = "default" | "dot" | "number" | "icon";
|
|
1349
|
+
/** Figma "Typel": label placement relative to the indicator. */
|
|
1350
|
+
type LabelPlacement = "top" | "centered" | "inverted";
|
|
1198
1351
|
interface Step {
|
|
1199
1352
|
title: string;
|
|
1200
1353
|
status: StepStatus;
|
|
@@ -1204,6 +1357,15 @@ declare class RelStepper extends LitElement {
|
|
|
1204
1357
|
textAlign: TextAlign;
|
|
1205
1358
|
orientation: Orientation;
|
|
1206
1359
|
size: StepperSize;
|
|
1360
|
+
type: StepperType;
|
|
1361
|
+
/**
|
|
1362
|
+
* Figma Typel axis: top = label top-aligned beside the indicator,
|
|
1363
|
+
* centered = label vertically centered beside it, inverted = indicator above
|
|
1364
|
+
* the label. When unset, the legacy textAlign prop drives the layout
|
|
1365
|
+
* (below ≈ inverted, right ≈ centered). Note Figma marks Top+Horizontal
|
|
1366
|
+
* as an unsupported combination.
|
|
1367
|
+
*/
|
|
1368
|
+
labelPlacement?: LabelPlacement;
|
|
1207
1369
|
static styles: lit.CSSResult;
|
|
1208
1370
|
private isDone;
|
|
1209
1371
|
private isProgress;
|
|
@@ -1237,18 +1399,23 @@ declare class RelSwitch extends LitElement {
|
|
|
1237
1399
|
interface TabItem {
|
|
1238
1400
|
label: string;
|
|
1239
1401
|
badge?: number;
|
|
1402
|
+
badgeDot?: boolean;
|
|
1240
1403
|
disabled?: boolean;
|
|
1241
1404
|
}
|
|
1242
1405
|
declare class RelTabItem extends LitElement {
|
|
1243
1406
|
label: string;
|
|
1244
1407
|
value: string;
|
|
1245
1408
|
badge: number;
|
|
1409
|
+
/** Shows a small dot instead of a numbered badge — takes precedence over `badge`. */
|
|
1410
|
+
badgeDot: boolean;
|
|
1246
1411
|
disabled: boolean;
|
|
1247
1412
|
render(): lit_html.TemplateResult<1>;
|
|
1248
1413
|
}
|
|
1249
1414
|
declare class RelTab extends LitElement {
|
|
1250
1415
|
tabs: TabItem[];
|
|
1251
1416
|
activeIndex: number;
|
|
1417
|
+
/** Tab size — styled via :host([size]) rules. */
|
|
1418
|
+
size: "sm" | "md" | "lg";
|
|
1252
1419
|
private _tabItems;
|
|
1253
1420
|
static styles: lit.CSSResult;
|
|
1254
1421
|
private _onSlotChange;
|
|
@@ -1260,7 +1427,7 @@ declare class RelTab extends LitElement {
|
|
|
1260
1427
|
|
|
1261
1428
|
type TextFieldState = "default" | "error" | "disabled";
|
|
1262
1429
|
type TextFieldSize = "small" | "medium" | "large";
|
|
1263
|
-
type TextFieldVariant = "default" | "underline";
|
|
1430
|
+
type TextFieldVariant = "default" | "underline" | "legend";
|
|
1264
1431
|
declare class RelTextfield extends LitElement {
|
|
1265
1432
|
label?: string;
|
|
1266
1433
|
placeholder: string;
|
|
@@ -1273,9 +1440,26 @@ declare class RelTextfield extends LitElement {
|
|
|
1273
1440
|
size: TextFieldSize;
|
|
1274
1441
|
floatingLabel: boolean;
|
|
1275
1442
|
variant: TextFieldVariant;
|
|
1443
|
+
disabled: boolean;
|
|
1444
|
+
required: boolean;
|
|
1445
|
+
multiline: boolean;
|
|
1446
|
+
rows: number;
|
|
1447
|
+
prefixIcon?: string;
|
|
1448
|
+
prefixIconAriaLabel?: string;
|
|
1449
|
+
error: boolean;
|
|
1450
|
+
errorMessage?: string;
|
|
1451
|
+
helperText?: string;
|
|
1452
|
+
readonly: boolean;
|
|
1453
|
+
maxLength?: number;
|
|
1454
|
+
name?: string;
|
|
1455
|
+
fullWidth: boolean;
|
|
1276
1456
|
private internalState;
|
|
1277
1457
|
private _wasError;
|
|
1278
1458
|
private uniqueId;
|
|
1459
|
+
private get isDisabled();
|
|
1460
|
+
private get isError();
|
|
1461
|
+
private get leadingIcon();
|
|
1462
|
+
private get helper();
|
|
1279
1463
|
static styles: lit.CSSResult;
|
|
1280
1464
|
connectedCallback(): void;
|
|
1281
1465
|
private handleFocus;
|
|
@@ -1302,11 +1486,14 @@ declare class RelToast extends LitElement {
|
|
|
1302
1486
|
render(): lit_html.TemplateResult<1>;
|
|
1303
1487
|
}
|
|
1304
1488
|
|
|
1305
|
-
type TooltipPosition = "above" | "below";
|
|
1489
|
+
type TooltipPosition = "above" | "below" | "left" | "right";
|
|
1490
|
+
type TooltipType = "single-line" | "multi-line";
|
|
1306
1491
|
declare class RelTooltip extends LitElement {
|
|
1307
1492
|
text: string;
|
|
1308
1493
|
position: TooltipPosition;
|
|
1309
1494
|
showTail: boolean;
|
|
1495
|
+
/** Figma "Type": single-line stays on one line; multi-line wraps at a max width. */
|
|
1496
|
+
type: TooltipType;
|
|
1310
1497
|
private uniqueId;
|
|
1311
1498
|
static styles: lit.CSSResult;
|
|
1312
1499
|
firstUpdated(): void;
|
|
@@ -1314,4 +1501,4 @@ declare class RelTooltip extends LitElement {
|
|
|
1314
1501
|
render(): lit_html.TemplateResult<1>;
|
|
1315
1502
|
}
|
|
1316
1503
|
|
|
1317
|
-
export { type BreadcrumbItem, type ChipBorder, type ChipSize, type ChipTone, type ChipVariant, type DrawerCloseReason, type DrawerSide, type MenuItem, type MenuType, type ModalSide, type Orientation, type OtpType, type ProgressMode, type RadioOption, RelAccordion, RelAlert, RelAvatar, RelBadge, RelBreadcrumbs, RelButton, RelCalendar, RelCard, RelCardMedia, RelCarousel, RelCheckbox, RelChip, RelContainer, RelDatePicker, RelDivider, RelDrawer, RelDrawerFooter, RelKbd, RelLayout, RelMenu, RelMenuItem, RelMenubar, RelMenubarMenu, RelModal, RelNavbar, RelOtp, RelPagination, RelPopover, RelPopoverContent, RelProgress, RelRadio, RelRangePicker, RelResizableGroup, RelResizableHandle, RelResizablePanel, RelSegmentedButton, RelSelect, RelSkeleton, RelSlider, RelSnackbar, RelStepper, RelSwitch, RelTab, RelTabItem, RelTextfield, RelToast, RelTooltip, RelTopbar, RelTopbarActions, RelTopbarBrand, RelTopbarDropdown, RelTopbarDropdownItem, RelTopbarItem, RelTopbarMobilePanel, RelTopbarProfile, RelTopbarUtilities, type SegmentAlign, type SegmentOption, type SegmentSize, type SelectBorder, type SelectLabelStyle, type SelectOption, type SelectOptionObject, type SelectSize, type SelectState, type SkeletonAnimation, type SkeletonShape, type SliderType, type SnackbarLines, type SnackbarType, type Step, type StepStatus, type StepperSize, type TabItem, type TextAlign, type TextFieldSize, type TextFieldState, type TextFieldVariant, type ToastType, type TooltipPosition, type TopbarForceLayout, type TopbarProfileType, type TopbarRewardTier, type TopbarVariant, type TrackStyle };
|
|
1504
|
+
export { type BreadcrumbItem, type ButtonTone, type ButtonVariant, type ChipBorder, type ChipSize, type ChipTone, type ChipVariant, type DrawerCloseReason, type DrawerSide, type LabelPlacement, type MenuItem, type MenuType, type ModalSide, type Orientation, type OtpType, type ProgressMode, type RadioOption, RelAccordion, RelAlert, RelAvatar, RelBadge, RelBreadcrumbs, RelButton, RelCalendar, RelCard, RelCardMedia, RelCarousel, RelCheckbox, RelChip, RelContainer, RelDatePicker, RelDivider, RelDrawer, RelDrawerFooter, RelKbd, RelKbdGroup, RelLayout, RelMenu, RelMenuItem, RelMenubar, RelMenubarMenu, RelModal, RelNavbar, RelOtp, RelPagination, RelPopover, RelPopoverContent, RelProgress, RelRadio, RelRangePicker, RelResizableGroup, RelResizableHandle, RelResizablePanel, RelSegmentedButton, RelSelect, RelSkeleton, RelSlider, RelSnackbar, RelStepper, RelSwitch, RelTab, RelTabItem, RelTextfield, RelToast, RelTooltip, RelTopbar, RelTopbarActions, RelTopbarBrand, RelTopbarDropdown, RelTopbarDropdownItem, RelTopbarItem, RelTopbarMobilePanel, RelTopbarProfile, RelTopbarUtilities, type SegmentAlign, type SegmentOption, type SegmentSize, type SelectBorder, type SelectLabelStyle, type SelectOption, type SelectOptionObject, type SelectSize, type SelectState, type SkeletonAnimation, type SkeletonShape, type SliderType, type SnackbarLines, type SnackbarType, type Step, type StepStatus, type StepperSize, type StepperType, type TabItem, type TextAlign, type TextFieldSize, type TextFieldState, type TextFieldVariant, type ToastType, type TooltipPosition, type TooltipType, type TopbarForceLayout, type TopbarProfileType, type TopbarRewardTier, type TopbarVariant, type TrackStyle };
|