@rojaostudio/ds 2.0.0-next.11 → 2.0.0-next.13
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/README.md +6 -1
- package/THIRD_PARTY_NOTICES.md +1 -1
- package/dist/components/choice-carousel.d.ts +1 -1
- package/dist/components/choice-carousel.js +2 -4
- package/dist/components/choice-preview-card.d.ts +1 -7
- package/dist/components/currency-input.d.ts +0 -2
- package/dist/components/data-table-header.js +11 -5
- package/dist/components/floating-stepper.d.ts +11 -28
- package/dist/components/floating-stepper.js +2 -30
- package/dist/components/image-crop-dialog.d.ts +60 -0
- package/dist/components/image-crop-dialog.js +240 -0
- package/dist/components/image-crop-modal.d.ts +12 -55
- package/dist/components/image-crop-modal.js +2 -249
- package/dist/components/image-upload.d.ts +6 -15
- package/dist/components/image-upload.js +2 -2
- package/dist/components/index.d.ts +2 -1
- package/dist/components/index.js +2 -0
- package/dist/components/internal/icons.d.ts +9 -1
- package/dist/components/internal/icons.js +16 -0
- package/dist/components/number-input.d.ts +1 -1
- package/dist/components/section-header.d.ts +4 -3
- package/dist/components/selectable-card.d.ts +2 -10
- package/dist/components/stepper.d.ts +33 -0
- package/dist/components/stepper.js +36 -0
- package/dist/components/toast.d.ts +16 -5
- package/dist/components/toast.js +5 -3
- package/dist/components/toggle-card-compact.d.ts +6 -25
- package/dist/components/toggle-card-compact.js +8 -35
- package/dist/components/toggle-card.d.ts +23 -9
- package/dist/components/toggle-card.js +38 -2
- package/package.json +2 -3
- package/styles/rds/components-styles.css +78 -69
- package/styles/rds/components.css +4 -0
|
@@ -1,31 +1,12 @@
|
|
|
1
1
|
import * as react from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { ToggleCardProps } from './toggle-card.js';
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
icon?: ReactNode;
|
|
7
|
-
/** The setting it turns on (the Item's title and the Switch's name). */
|
|
8
|
-
label: string;
|
|
9
|
-
/** The line under the label while off. */
|
|
10
|
-
description?: ReactNode;
|
|
11
|
-
/** The line under the label while on (a summary of what is set); it replaces `description`. */
|
|
12
|
-
summary?: ReactNode;
|
|
13
|
-
checked: boolean;
|
|
14
|
-
onCheckedChange?: (checked: boolean) => void;
|
|
15
|
-
/** Shows the pencil (an IconButton) while on: opens the setting's options (a Dialog). */
|
|
16
|
-
onEdit?: () => void;
|
|
17
|
-
/** The pencil's accessible name and tooltip. */
|
|
18
|
-
editLabel?: string;
|
|
19
|
-
/** Submits 'on' (or '') under this name with a native form, through a hidden input. */
|
|
20
|
-
name?: string;
|
|
21
|
-
disabled?: boolean;
|
|
22
|
-
className?: string;
|
|
23
|
-
}
|
|
4
|
+
/** @deprecated Use ToggleCardProps (with layout="compact"). */
|
|
5
|
+
type ToggleCardCompactProps = Omit<ToggleCardProps, 'layout' | 'children'>;
|
|
24
6
|
/**
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
* toggle-card-compact.css.
|
|
7
|
+
* @deprecated Use `<ToggleCard layout="compact">` (Figma [RDS] Forms/ToggleCard, layout=compact), with the same
|
|
8
|
+
* props. A thin wrapper over it, kept so the old name keeps compiling; the codemod rewrites it.
|
|
28
9
|
*/
|
|
29
|
-
declare function ToggleCardCompact(
|
|
10
|
+
declare function ToggleCardCompact(props: ToggleCardCompactProps): react.JSX.Element;
|
|
30
11
|
|
|
31
12
|
export { ToggleCardCompact, type ToggleCardCompactProps };
|
|
@@ -1,39 +1,12 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
icon,
|
|
11
|
-
label,
|
|
12
|
-
description,
|
|
13
|
-
summary,
|
|
14
|
-
checked,
|
|
15
|
-
onCheckedChange,
|
|
16
|
-
onEdit,
|
|
17
|
-
editLabel = "Editar",
|
|
18
|
-
name,
|
|
19
|
-
disabled,
|
|
20
|
-
className
|
|
21
|
-
}) {
|
|
22
|
-
return /* @__PURE__ */ jsx(
|
|
23
|
-
Item,
|
|
24
|
-
{
|
|
25
|
-
variant: "outline",
|
|
26
|
-
className: ["rds-toggle-card-compact", className].filter(Boolean).join(" "),
|
|
27
|
-
media: icon,
|
|
28
|
-
title: label,
|
|
29
|
-
description: (checked ? summary : description) || void 0,
|
|
30
|
-
action: /* @__PURE__ */ jsxs("span", { className: "rds-toggle-card-compact__actions", children: [
|
|
31
|
-
name && /* @__PURE__ */ jsx("input", { type: "hidden", name, value: checked ? "on" : "" }),
|
|
32
|
-
checked && onEdit && /* @__PURE__ */ jsx(Tooltip, { text: editLabel, children: /* @__PURE__ */ jsx(IconButton, { icon: /* @__PURE__ */ jsx(PencilIcon, {}), label: editLabel, variant: "ghost", tone: "neutral", onClick: onEdit, disabled }) }),
|
|
33
|
-
/* @__PURE__ */ jsx(Switch, { "aria-label": label, checked, onCheckedChange, disabled })
|
|
34
|
-
] })
|
|
35
|
-
}
|
|
36
|
-
);
|
|
2
|
+
import {
|
|
3
|
+
__spreadProps,
|
|
4
|
+
__spreadValues
|
|
5
|
+
} from "../chunk-ORMEWXMH.js";
|
|
6
|
+
import { jsx } from "react/jsx-runtime";
|
|
7
|
+
import { ToggleCard } from "./toggle-card.js";
|
|
8
|
+
function ToggleCardCompact(props) {
|
|
9
|
+
return /* @__PURE__ */ jsx(ToggleCard, __spreadProps(__spreadValues({}, props), { layout: "compact" }));
|
|
37
10
|
}
|
|
38
11
|
export {
|
|
39
12
|
ToggleCardCompact
|
|
@@ -1,24 +1,38 @@
|
|
|
1
1
|
import * as react from 'react';
|
|
2
2
|
import { ReactNode } from 'react';
|
|
3
3
|
|
|
4
|
+
/** Figma [RDS] Forms/ToggleCard `layout`: the Card with the options below it, or one row (the Item). */
|
|
5
|
+
type ToggleCardLayout = 'default' | 'compact';
|
|
4
6
|
interface ToggleCardProps {
|
|
5
|
-
/**
|
|
7
|
+
/** `default`: a Card with the Switch and, while on, the options below it. `compact`: one row (an outline Item). */
|
|
8
|
+
layout?: ToggleCardLayout;
|
|
9
|
+
/** The setting it turns on (the Switch's label; in compact, the Item's title and the Switch's name). */
|
|
6
10
|
label: string;
|
|
7
|
-
/** A line under the label (the Switch's hint). */
|
|
8
|
-
description?:
|
|
11
|
+
/** A line under the label (default: the Switch's hint; compact: shown while off). */
|
|
12
|
+
description?: ReactNode;
|
|
13
|
+
/** Compact only: the line under the label while on (a summary of what is set); it replaces `description`. */
|
|
14
|
+
summary?: ReactNode;
|
|
15
|
+
/** Compact only: an icon before the text (the Item's media). */
|
|
16
|
+
icon?: ReactNode;
|
|
9
17
|
checked: boolean;
|
|
10
|
-
onCheckedChange
|
|
18
|
+
onCheckedChange?: (checked: boolean) => void;
|
|
19
|
+
/** Compact only: shows the pencil (an IconButton) while on; it opens the setting's options (a Dialog). */
|
|
20
|
+
onEdit?: () => void;
|
|
21
|
+
/** Compact only: the pencil's accessible name and tooltip. Default "Editar". */
|
|
22
|
+
editLabel?: string;
|
|
11
23
|
/** Submits 'on' (or '') under this name with a native form, through a hidden input. */
|
|
12
24
|
name?: string;
|
|
13
|
-
/**
|
|
25
|
+
/** Default only: the setting's options, shown under it while it is on. */
|
|
14
26
|
children?: ReactNode;
|
|
15
27
|
disabled?: boolean;
|
|
16
28
|
className?: string;
|
|
17
29
|
}
|
|
18
30
|
/**
|
|
19
|
-
* ToggleCard —
|
|
20
|
-
*
|
|
31
|
+
* ToggleCard — Figma [RDS] Forms/ToggleCard: a setting that, when on, opens its own options. `layout="default"` is
|
|
32
|
+
* a composition of the Card and the Switch, the options below it; `layout="compact"` is one row (the Item outline,
|
|
33
|
+
* the Switch and the IconButton with its Tooltip): the summary under the label while on and a pencil that opens the
|
|
34
|
+
* options. Styles: toggle-card.css.
|
|
21
35
|
*/
|
|
22
|
-
declare function ToggleCard({ label, description, checked, onCheckedChange, name, children, disabled, className }: ToggleCardProps): react.JSX.Element;
|
|
36
|
+
declare function ToggleCard({ layout, label, description, summary, icon, checked, onCheckedChange, onEdit, editLabel, name, children, disabled, className, }: ToggleCardProps): react.JSX.Element;
|
|
23
37
|
|
|
24
|
-
export { ToggleCard, type ToggleCardProps };
|
|
38
|
+
export { ToggleCard, type ToggleCardLayout, type ToggleCardProps };
|
|
@@ -2,10 +2,46 @@
|
|
|
2
2
|
import "../chunk-ORMEWXMH.js";
|
|
3
3
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
4
4
|
import { Card } from "./card.js";
|
|
5
|
+
import { IconButton } from "./icon-button.js";
|
|
6
|
+
import { PencilIcon } from "./internal/icons.js";
|
|
7
|
+
import { Item } from "./item.js";
|
|
5
8
|
import { Switch } from "./switch.js";
|
|
6
|
-
|
|
9
|
+
import { Tooltip } from "./tooltip.js";
|
|
10
|
+
function ToggleCard({
|
|
11
|
+
layout = "default",
|
|
12
|
+
label,
|
|
13
|
+
description,
|
|
14
|
+
summary,
|
|
15
|
+
icon,
|
|
16
|
+
checked,
|
|
17
|
+
onCheckedChange,
|
|
18
|
+
onEdit,
|
|
19
|
+
editLabel = "Editar",
|
|
20
|
+
name,
|
|
21
|
+
children,
|
|
22
|
+
disabled,
|
|
23
|
+
className
|
|
24
|
+
}) {
|
|
25
|
+
const hidden = name && /* @__PURE__ */ jsx("input", { type: "hidden", name, value: checked ? "on" : "" });
|
|
26
|
+
if (layout === "compact") {
|
|
27
|
+
return /* @__PURE__ */ jsx(
|
|
28
|
+
Item,
|
|
29
|
+
{
|
|
30
|
+
variant: "outline",
|
|
31
|
+
className: ["rds-toggle-card", "rds-toggle-card--compact", className].filter(Boolean).join(" "),
|
|
32
|
+
media: icon,
|
|
33
|
+
title: label,
|
|
34
|
+
description: (checked ? summary : description) || void 0,
|
|
35
|
+
action: /* @__PURE__ */ jsxs("span", { className: "rds-toggle-card__actions", children: [
|
|
36
|
+
hidden,
|
|
37
|
+
checked && onEdit && /* @__PURE__ */ jsx(Tooltip, { text: editLabel, children: /* @__PURE__ */ jsx(IconButton, { icon: /* @__PURE__ */ jsx(PencilIcon, {}), label: editLabel, variant: "ghost", tone: "neutral", onClick: onEdit, disabled }) }),
|
|
38
|
+
/* @__PURE__ */ jsx(Switch, { "aria-label": label, checked, onCheckedChange, disabled })
|
|
39
|
+
] })
|
|
40
|
+
}
|
|
41
|
+
);
|
|
42
|
+
}
|
|
7
43
|
return /* @__PURE__ */ jsxs(Card, { as: "div", className: ["rds-toggle-card", className].filter(Boolean).join(" "), children: [
|
|
8
|
-
|
|
44
|
+
hidden,
|
|
9
45
|
/* @__PURE__ */ jsx("div", { className: "rds-toggle-card__header", children: /* @__PURE__ */ jsx(Switch, { checked, onCheckedChange, hint: description, disabled, children: label }) }),
|
|
10
46
|
checked && children && /* @__PURE__ */ jsx("div", { className: "rds-toggle-card__content", children })
|
|
11
47
|
] });
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rojaostudio/ds",
|
|
3
|
-
"version": "2.0.0-next.
|
|
3
|
+
"version": "2.0.0-next.13",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Rojão Design System — componentes React, estilos e alvo React Native. O motor vive em @rojaostudio/ds-core.",
|
|
6
6
|
"license": "MIT",
|
|
@@ -168,7 +168,6 @@
|
|
|
168
168
|
"playwright": "^1.63.0",
|
|
169
169
|
"react-image-crop": "^11.0.10",
|
|
170
170
|
"react-international-phone": "^4.8.0",
|
|
171
|
-
"ts-morph": "^28.0.0",
|
|
172
171
|
"tsup": "^8.5.1",
|
|
173
172
|
"tsx": "^4.21.0",
|
|
174
173
|
"typescript": "^5",
|
|
@@ -208,6 +207,6 @@
|
|
|
208
207
|
"lint": "eslint .",
|
|
209
208
|
"build:brands": "tsx scripts/build-brands.ts",
|
|
210
209
|
"build:rds": "tsx scripts/build-rds-tokens.ts",
|
|
211
|
-
"migrate:consumer": "tsx
|
|
210
|
+
"migrate:consumer": "tsx ../codemod/src/cli.ts"
|
|
212
211
|
}
|
|
213
212
|
}
|
|
@@ -2978,7 +2978,7 @@ input:focus-visible + .rds-checkbox__box {
|
|
|
2978
2978
|
/*
|
|
2979
2979
|
* ChoiceCarousel: no tokens of its own; the IconButtons bring theirs. A row that scrolls sideways and snaps to each
|
|
2980
2980
|
* option (160 wide, 200 from 768), 12 apart, no scrollbar. From 768 the outline arrows sit on the row's edges, half
|
|
2981
|
-
* outside, and
|
|
2981
|
+
* outside, and are not there when there is nothing more that way.
|
|
2982
2982
|
*/
|
|
2983
2983
|
.rds-choice-carousel {
|
|
2984
2984
|
position: relative;
|
|
@@ -3032,7 +3032,6 @@ input:focus-visible + .rds-checkbox__box {
|
|
|
3032
3032
|
display: inline-flex;
|
|
3033
3033
|
border-radius: var(--radius-full);
|
|
3034
3034
|
box-shadow: var(--elevation-raised);
|
|
3035
|
-
transition: opacity var(--motion-duration-base) var(--motion-easing-standard);
|
|
3036
3035
|
}
|
|
3037
3036
|
|
|
3038
3037
|
.rds-choice-carousel__arrow--prev {
|
|
@@ -3044,11 +3043,6 @@ input:focus-visible + .rds-checkbox__box {
|
|
|
3044
3043
|
right: 0;
|
|
3045
3044
|
transform: translate(50%, -50%);
|
|
3046
3045
|
}
|
|
3047
|
-
|
|
3048
|
-
.rds-choice-carousel__arrow[aria-disabled='true'] {
|
|
3049
|
-
opacity: 0;
|
|
3050
|
-
pointer-events: none;
|
|
3051
|
-
}
|
|
3052
3046
|
}
|
|
3053
3047
|
|
|
3054
3048
|
@media (prefers-reduced-motion: reduce) {
|
|
@@ -3584,7 +3578,7 @@ input:focus-visible + .rds-checkbox__box {
|
|
|
3584
3578
|
/* components/data-table-header.css */
|
|
3585
3579
|
/* @tokens data-table-header */
|
|
3586
3580
|
/*
|
|
3587
|
-
* DataTableHeader: no tokens of its own; the Input, FilterChip, Chip, Button,
|
|
3581
|
+
* DataTableHeader: no tokens of its own; the Input, FilterChip, Chip, Button, Separator, DropdownMenu,
|
|
3588
3582
|
* Popover and Drawer bring theirs. One row, 8 apart, 12 above the table; the search takes the free width. The wide
|
|
3589
3583
|
* parts show from 768, the narrow ones below it. In the Popover and the Drawer the filters stack 16 apart, each
|
|
3590
3584
|
* one a caption-sized label over its chips.
|
|
@@ -4405,38 +4399,6 @@ input:focus-visible + .rds-checkbox__box {
|
|
|
4405
4399
|
}
|
|
4406
4400
|
}
|
|
4407
4401
|
|
|
4408
|
-
/* components/floating-stepper.css */
|
|
4409
|
-
/* @tokens floating-stepper */
|
|
4410
|
-
/*
|
|
4411
|
-
* FloatingStepper: no tokens of its own; the Card and the Buttons bring theirs. A pill (radius/full) of 44 Buttons,
|
|
4412
|
-
* 4 inside and 4 apart, raised by elevation/overlay because it floats over the page. A 1 × 24 line in the card's
|
|
4413
|
-
* border colour before the action.
|
|
4414
|
-
*/
|
|
4415
|
-
.rds-floating-stepper {
|
|
4416
|
-
flex-direction: row;
|
|
4417
|
-
align-items: center;
|
|
4418
|
-
gap: var(--space-4);
|
|
4419
|
-
width: max-content;
|
|
4420
|
-
max-width: 100%;
|
|
4421
|
-
padding: var(--space-4);
|
|
4422
|
-
border-radius: var(--radius-full);
|
|
4423
|
-
box-shadow: var(--elevation-overlay);
|
|
4424
|
-
overflow-x: auto;
|
|
4425
|
-
}
|
|
4426
|
-
|
|
4427
|
-
.rds-floating-stepper > .rds-button {
|
|
4428
|
-
flex: none;
|
|
4429
|
-
border-radius: var(--radius-full);
|
|
4430
|
-
}
|
|
4431
|
-
|
|
4432
|
-
.rds-floating-stepper__divider {
|
|
4433
|
-
flex: none;
|
|
4434
|
-
width: var(--border-width);
|
|
4435
|
-
height: var(--size-24);
|
|
4436
|
-
margin-inline: var(--space-4);
|
|
4437
|
-
background: var(--card-border);
|
|
4438
|
-
}
|
|
4439
|
-
|
|
4440
4402
|
/* components/footer.css */
|
|
4441
4403
|
/* @tokens footer */
|
|
4442
4404
|
/*
|
|
@@ -4901,13 +4863,14 @@ input:focus-visible + .rds-checkbox__box {
|
|
|
4901
4863
|
}
|
|
4902
4864
|
}
|
|
4903
4865
|
|
|
4904
|
-
/* components/image-crop-
|
|
4905
|
-
/* @tokens image-crop-
|
|
4866
|
+
/* components/image-crop-dialog.css */
|
|
4867
|
+
/* @tokens image-crop-dialog */
|
|
4906
4868
|
/*
|
|
4907
|
-
*
|
|
4908
|
-
*
|
|
4909
|
-
*
|
|
4910
|
-
* the dialog's
|
|
4869
|
+
* ImageCropDialog (Figma [RDS] Overlays/ImageCropDialog): the Dialog, the ToggleGroup, the Alert and the Spinner bring
|
|
4870
|
+
* their tokens; the crop brings its own (Overlays, image-crop-dialog/*). 12 apart: the presets (they share the
|
|
4871
|
+
* width), the stage (320 tall, on image-crop-dialog/stage/background, the image letterboxed inside 16 of padding, a
|
|
4872
|
+
* line in the dialog's border colour), the error or the hint. Over the image, outside the crop, the shade; the crop's
|
|
4873
|
+
* line and its handles in their own colours. While sending, the dialog's scrim covers the stage.
|
|
4911
4874
|
*/
|
|
4912
4875
|
.rds-image-crop {
|
|
4913
4876
|
display: flex;
|
|
@@ -4930,17 +4893,42 @@ input:focus-visible + .rds-checkbox__box {
|
|
|
4930
4893
|
display: flex;
|
|
4931
4894
|
align-items: center;
|
|
4932
4895
|
justify-content: center;
|
|
4933
|
-
|
|
4896
|
+
height: 320px;
|
|
4897
|
+
/* On a short viewport (a phone on its side) the stage gives way so the footer stays in view. */
|
|
4934
4898
|
max-height: 60vh;
|
|
4935
4899
|
padding: var(--space-16);
|
|
4936
4900
|
overflow: hidden;
|
|
4901
|
+
background: var(--image-crop-dialog-stage-background);
|
|
4937
4902
|
border: var(--border-width) solid var(--dialog-border);
|
|
4938
4903
|
border-radius: var(--radius-control);
|
|
4939
4904
|
}
|
|
4940
4905
|
|
|
4906
|
+
/*
|
|
4907
|
+
* react-image-crop's own stylesheet is unlayered, so it wins over these layered rules wherever both set the same
|
|
4908
|
+
* property. The shade is an SVG rect with fill as an attribute (black at 50%): any CSS beats it. The handles read
|
|
4909
|
+
* the library's variables, set here. The selection's marching ants are hard-coded: the two !important take them
|
|
4910
|
+
* off so the crop is one solid line in the selection colour (the library's focus outline stays).
|
|
4911
|
+
*/
|
|
4941
4912
|
.rds-image-crop__crop {
|
|
4942
4913
|
max-width: 100%;
|
|
4943
|
-
max-height: calc(60vh - var(--space-32));
|
|
4914
|
+
max-height: calc(min(320px, 60vh) - var(--space-32));
|
|
4915
|
+
--rc-drag-handle-bg-colour: var(--image-crop-dialog-handle);
|
|
4916
|
+
--rc-border-color: var(--image-crop-dialog-handle);
|
|
4917
|
+
}
|
|
4918
|
+
|
|
4919
|
+
.rds-image-crop__crop .ReactCrop__crop-mask > rect {
|
|
4920
|
+
fill: var(--image-crop-dialog-shade);
|
|
4921
|
+
fill-opacity: 1;
|
|
4922
|
+
}
|
|
4923
|
+
|
|
4924
|
+
.rds-image-crop__crop .ReactCrop__crop-selection {
|
|
4925
|
+
background-image: none !important;
|
|
4926
|
+
border: var(--border-width) solid var(--image-crop-dialog-selection);
|
|
4927
|
+
animation: none !important;
|
|
4928
|
+
}
|
|
4929
|
+
|
|
4930
|
+
.rds-image-crop__crop .ReactCrop__drag-handle {
|
|
4931
|
+
border-radius: var(--radius-xs);
|
|
4944
4932
|
}
|
|
4945
4933
|
|
|
4946
4934
|
.rds-image-crop__image {
|
|
@@ -7358,8 +7346,9 @@ body:has(.rds-modal) {
|
|
|
7358
7346
|
/* @tokens page-skeleton */
|
|
7359
7347
|
/*
|
|
7360
7348
|
* PageSkeleton and CardsSkeleton: no tokens of their own; the Skeleton and the Card bring theirs. Blocks 24 apart
|
|
7361
|
-
* (24 padding when padded). The
|
|
7362
|
-
* between rows. The cards: 2 per row (4 from 1024), the charts
|
|
7349
|
+
* (24 padding when padded). The Cards keep their elevation/raised, as in the Figma. The table is a small Card: the
|
|
7350
|
+
* header row on the card's footer background, a line between rows. The cards: 2 per row (4 from 1024), the charts
|
|
7351
|
+
* 1 (2 from 1024), 16 apart.
|
|
7363
7352
|
*/
|
|
7364
7353
|
.rds-page-skeleton {
|
|
7365
7354
|
display: flex;
|
|
@@ -7378,10 +7367,6 @@ body:has(.rds-modal) {
|
|
|
7378
7367
|
gap: var(--space-16);
|
|
7379
7368
|
}
|
|
7380
7369
|
|
|
7381
|
-
.rds-page-skeleton__table {
|
|
7382
|
-
box-shadow: none;
|
|
7383
|
-
}
|
|
7384
|
-
|
|
7385
7370
|
.rds-page-skeleton__row {
|
|
7386
7371
|
display: flex;
|
|
7387
7372
|
align-items: center;
|
|
@@ -7428,7 +7413,6 @@ body:has(.rds-modal) {
|
|
|
7428
7413
|
.rds-page-skeleton__card {
|
|
7429
7414
|
gap: var(--space-12);
|
|
7430
7415
|
padding: var(--space-16);
|
|
7431
|
-
box-shadow: none;
|
|
7432
7416
|
}
|
|
7433
7417
|
|
|
7434
7418
|
.rds-page-skeleton__card .rds-skeleton {
|
|
@@ -9708,6 +9692,35 @@ input:focus-visible + .rds-radio__circle {
|
|
|
9708
9692
|
}
|
|
9709
9693
|
}
|
|
9710
9694
|
|
|
9695
|
+
/* components/stepper.css */
|
|
9696
|
+
/* @tokens stepper */
|
|
9697
|
+
/*
|
|
9698
|
+
* Stepper: no tokens of its own; the Card and the Buttons bring theirs. A pill (radius/full) of 44 Buttons,
|
|
9699
|
+
* 4 inside and 4 apart, raised by elevation/overlay because it floats over the page. A vertical Separator, 24
|
|
9700
|
+
* tall, before the action.
|
|
9701
|
+
*/
|
|
9702
|
+
.rds-stepper {
|
|
9703
|
+
flex-direction: row;
|
|
9704
|
+
align-items: center;
|
|
9705
|
+
gap: var(--space-4);
|
|
9706
|
+
width: max-content;
|
|
9707
|
+
max-width: 100%;
|
|
9708
|
+
padding: var(--space-4);
|
|
9709
|
+
border-radius: var(--radius-full);
|
|
9710
|
+
box-shadow: var(--elevation-overlay);
|
|
9711
|
+
overflow-x: auto;
|
|
9712
|
+
}
|
|
9713
|
+
|
|
9714
|
+
.rds-stepper > .rds-button {
|
|
9715
|
+
flex: none;
|
|
9716
|
+
border-radius: var(--radius-full);
|
|
9717
|
+
}
|
|
9718
|
+
|
|
9719
|
+
.rds-stepper > .rds-stepper__divider {
|
|
9720
|
+
align-self: center;
|
|
9721
|
+
height: var(--size-24);
|
|
9722
|
+
}
|
|
9723
|
+
|
|
9711
9724
|
/* components/summary-bar.css */
|
|
9712
9725
|
/* @tokens summary-bar */
|
|
9713
9726
|
/*
|
|
@@ -10642,23 +10655,13 @@ tbody > tr:last-child > .rds-table__status {
|
|
|
10642
10655
|
}
|
|
10643
10656
|
}
|
|
10644
10657
|
|
|
10645
|
-
/* components/toggle-card-compact.css */
|
|
10646
|
-
/* @tokens toggle-card-compact */
|
|
10647
|
-
/*
|
|
10648
|
-
* ToggleCardCompact: no tokens of its own; the Item, the Switch and the IconButton bring theirs. The pencil and the
|
|
10649
|
-
* Switch 8 apart at the end of the row.
|
|
10650
|
-
*/
|
|
10651
|
-
.rds-toggle-card-compact__actions {
|
|
10652
|
-
display: inline-flex;
|
|
10653
|
-
align-items: center;
|
|
10654
|
-
gap: var(--space-8);
|
|
10655
|
-
}
|
|
10656
|
-
|
|
10657
10658
|
/* components/toggle-card.css */
|
|
10658
10659
|
/* @tokens toggle-card */
|
|
10659
10660
|
/*
|
|
10660
|
-
* ToggleCard: no tokens of its own; the Card
|
|
10661
|
-
* bottom); the options under it pad 16, 16 apart,
|
|
10661
|
+
* ToggleCard: no tokens of its own; the Card, the Item, the Switch and the IconButton bring theirs.
|
|
10662
|
+
* layout=default: the Switch row pads 16 on the sides (4 top and bottom); the options under it pad 16, 16 apart,
|
|
10663
|
+
* after a line in the card's border colour.
|
|
10664
|
+
* layout=compact: the outline Item; the pencil and the Switch 8 apart at the end of the row.
|
|
10662
10665
|
*/
|
|
10663
10666
|
.rds-toggle-card__header {
|
|
10664
10667
|
padding: var(--space-4) var(--space-16);
|
|
@@ -10672,6 +10675,12 @@ tbody > tr:last-child > .rds-table__status {
|
|
|
10672
10675
|
border-top: var(--border-width) solid var(--card-border);
|
|
10673
10676
|
}
|
|
10674
10677
|
|
|
10678
|
+
.rds-toggle-card__actions {
|
|
10679
|
+
display: inline-flex;
|
|
10680
|
+
align-items: center;
|
|
10681
|
+
gap: var(--space-8);
|
|
10682
|
+
}
|
|
10683
|
+
|
|
10675
10684
|
/* components/toggle-group.css */
|
|
10676
10685
|
/* @tokens toggle-group */
|
|
10677
10686
|
/* ToggleGroup: Toggles side by side, 4 apart (Figma: slot items, gap space/4). No tokens of its own. */
|
|
@@ -1006,5 +1006,9 @@
|
|
|
1006
1006
|
--sheet-text: var(--text-body);
|
|
1007
1007
|
--sheet-title: var(--text-heading);
|
|
1008
1008
|
--dialog-scrim: var(--surface-scrim);
|
|
1009
|
+
--image-crop-dialog-shade: var(--surface-scrim);
|
|
1010
|
+
--image-crop-dialog-selection: var(--text-on-cover);
|
|
1011
|
+
--image-crop-dialog-handle: var(--text-on-cover);
|
|
1012
|
+
--image-crop-dialog-stage-background: var(--surface-muted);
|
|
1009
1013
|
}
|
|
1010
1014
|
}
|