@rojaostudio/ds 1.0.2 → 2.0.0-next.1
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 +75 -13
- package/dist/compat/generate.d.ts +0 -1
- package/dist/components/accordion.d.ts +30 -20
- package/dist/components/accordion.js +31 -93
- package/dist/components/action-bar.d.ts +24 -0
- package/dist/components/action-bar.js +55 -0
- package/dist/components/alert-dialog.d.ts +31 -0
- package/dist/components/alert-dialog.js +43 -0
- package/dist/components/alert.d.ts +31 -19
- package/dist/components/alert.js +67 -65
- package/dist/components/attachment.d.ts +37 -0
- package/dist/components/attachment.js +76 -0
- package/dist/components/avatar.d.ts +43 -36
- package/dist/components/avatar.js +59 -90
- package/dist/components/badge.d.ts +30 -41
- package/dist/components/badge.js +13 -110
- package/dist/components/banner.d.ts +27 -0
- package/dist/components/banner.js +66 -0
- package/dist/components/benefits.d.ts +30 -0
- package/dist/components/benefits.js +32 -0
- package/dist/components/breadcrumb.d.ts +25 -18
- package/dist/components/breadcrumb.js +38 -56
- package/dist/components/browser.d.ts +18 -0
- package/dist/components/browser.js +32 -0
- package/dist/components/bubble.d.ts +29 -0
- package/dist/components/bubble.js +33 -0
- package/dist/components/button-group.d.ts +19 -0
- package/dist/components/button-group.js +20 -0
- package/dist/components/button.d.ts +47 -20
- package/dist/components/button.js +45 -108
- package/dist/components/calendar.d.ts +29 -0
- package/dist/components/calendar.js +149 -0
- package/dist/components/card.d.ts +47 -19
- package/dist/components/card.js +31 -46
- package/dist/components/carousel.d.ts +28 -0
- package/dist/components/carousel.js +130 -0
- package/dist/components/chart.d.ts +49 -0
- package/dist/components/chart.js +258 -0
- package/dist/components/checkbox-group.d.ts +16 -0
- package/dist/components/checkbox-group.js +13 -0
- package/dist/components/checkbox.d.ts +25 -10
- package/dist/components/checkbox.js +87 -81
- package/dist/components/chip-input.d.ts +46 -20
- package/dist/components/chip-input.js +172 -176
- package/dist/components/chip.d.ts +28 -0
- package/dist/components/chip.js +73 -0
- package/dist/components/choice-card.d.ts +10 -13
- package/dist/components/choice-card.js +11 -62
- package/dist/components/choice-carousel.d.ts +9 -0
- package/dist/components/choice-carousel.js +28 -44
- package/dist/components/choice-preview-card.d.ts +10 -20
- package/dist/components/choice-preview-card.js +12 -40
- package/dist/components/color-input.d.ts +36 -11
- package/dist/components/color-input.js +131 -59
- package/dist/components/combobox.d.ts +60 -57
- package/dist/components/combobox.js +210 -213
- package/dist/components/command.d.ts +58 -0
- package/dist/components/command.js +177 -0
- package/dist/components/contact.d.ts +23 -0
- package/dist/components/contact.js +32 -0
- package/dist/components/context-menu.d.ts +34 -26
- package/dist/components/context-menu.js +41 -68
- package/dist/components/copy-field.d.ts +10 -5
- package/dist/components/copy-field.js +24 -29
- package/dist/components/currency-input.d.ts +25 -11
- package/dist/components/currency-input.js +29 -65
- package/dist/components/danger-zone.d.ts +10 -1
- package/dist/components/danger-zone.js +14 -18
- package/dist/components/data-table-header.d.ts +13 -2
- package/dist/components/data-table-header.js +114 -190
- package/dist/components/date-picker.d.ts +31 -32
- package/dist/components/date-picker.js +119 -254
- package/dist/components/delta.d.ts +26 -0
- package/dist/components/delta.js +24 -0
- package/dist/components/dialog.d.ts +21 -0
- package/dist/components/dialog.js +16 -0
- package/dist/components/drawer.d.ts +15 -23
- package/dist/components/drawer.js +57 -89
- package/dist/components/dropdown-menu.d.ts +63 -0
- package/dist/components/dropdown-menu.js +62 -0
- package/dist/components/dropzone.d.ts +10 -4
- package/dist/components/dropzone.js +30 -58
- package/dist/components/empty.d.ts +29 -0
- package/dist/components/empty.js +42 -0
- package/dist/components/fab.d.ts +29 -6
- package/dist/components/fab.js +51 -51
- package/dist/components/faq.d.ts +21 -0
- package/dist/components/faq.js +24 -0
- package/dist/components/file-input.d.ts +56 -0
- package/dist/components/file-input.js +244 -0
- package/dist/components/filter-chip.d.ts +34 -47
- package/dist/components/filter-chip.js +61 -61
- package/dist/components/floating-stepper.d.ts +7 -18
- package/dist/components/floating-stepper.js +27 -55
- package/dist/components/footer.d.ts +36 -0
- package/dist/components/footer.js +38 -0
- package/dist/components/form-actions.d.ts +28 -0
- package/dist/components/form-actions.js +24 -0
- package/dist/components/google-account-chooser.d.ts +25 -0
- package/dist/components/google-account-chooser.js +44 -0
- package/dist/components/google-button.d.ts +26 -0
- package/dist/components/google-button.js +38 -0
- package/dist/components/google-consent.d.ts +23 -0
- package/dist/components/google-consent.js +28 -0
- package/dist/components/google-sign-in.d.ts +26 -0
- package/dist/components/google-sign-in.js +36 -0
- package/dist/components/hover-card.d.ts +30 -0
- package/dist/components/hover-card.js +55 -0
- package/dist/components/icon-button.d.ts +41 -11
- package/dist/components/icon-button.js +44 -64
- package/dist/components/image-crop-modal.d.ts +3 -3
- package/dist/components/image-crop-modal.js +32 -39
- package/dist/components/image-upload.d.ts +21 -29
- package/dist/components/image-upload.js +55 -259
- package/dist/components/index.d.ts +105 -52
- package/dist/components/index.js +190 -74
- package/dist/components/input-otp.d.ts +35 -0
- package/dist/components/input-otp.js +119 -0
- package/dist/components/input.d.ts +23 -17
- package/dist/components/input.js +104 -137
- package/dist/components/insight-card.d.ts +25 -9
- package/dist/components/insight-card.js +42 -27
- package/dist/components/internal/announce.d.ts +3 -0
- package/dist/components/internal/announce.js +20 -0
- package/dist/components/internal/block.d.ts +15 -0
- package/dist/components/internal/block.js +14 -0
- package/dist/components/internal/button.d.ts +23 -0
- package/dist/components/internal/button.js +30 -0
- package/dist/components/internal/choice-card.d.ts +52 -0
- package/dist/components/internal/choice-card.js +117 -0
- package/dist/components/internal/choice.d.ts +25 -0
- package/dist/components/internal/choice.js +44 -0
- package/dist/components/internal/dates.d.ts +17 -0
- package/dist/components/internal/dates.js +59 -0
- package/dist/components/internal/field.d.ts +66 -0
- package/dist/components/internal/field.js +105 -0
- package/dist/components/internal/fieldset.d.ts +25 -0
- package/dist/components/internal/fieldset.js +56 -0
- package/dist/components/internal/focus-after.d.ts +3 -0
- package/dist/components/internal/focus-after.js +13 -0
- package/dist/components/internal/google.d.ts +47 -0
- package/dist/components/internal/google.js +73 -0
- package/dist/components/internal/icons.d.ts +108 -0
- package/dist/components/internal/icons.js +316 -0
- package/dist/components/internal/menu.d.ts +16 -0
- package/dist/components/internal/menu.js +14 -0
- package/dist/components/internal/modal.d.ts +50 -0
- package/dist/components/internal/modal.js +85 -0
- package/dist/components/internal/option-content.d.ts +10 -0
- package/dist/components/internal/option-content.js +13 -0
- package/dist/components/internal/radio-context.d.ts +16 -0
- package/dist/components/internal/radio-context.js +6 -0
- package/dist/components/internal/toggle.d.ts +7 -0
- package/dist/components/internal/toggle.js +13 -0
- package/dist/components/internal/use-listbox.d.ts +56 -0
- package/dist/components/internal/use-listbox.js +69 -0
- package/dist/components/internal/whatsapp.d.ts +8 -0
- package/dist/components/internal/whatsapp.js +12 -0
- package/dist/components/item.d.ts +32 -0
- package/dist/components/item.js +35 -0
- package/dist/components/kbd.d.ts +17 -0
- package/dist/components/kbd.js +18 -0
- package/dist/components/listbox.d.ts +34 -0
- package/dist/components/listbox.js +114 -0
- package/dist/components/marker.d.ts +24 -0
- package/dist/components/marker.js +28 -0
- package/dist/components/media-tile.d.ts +17 -14
- package/dist/components/media-tile.js +19 -27
- package/dist/components/message-scroller.d.ts +20 -0
- package/dist/components/message-scroller.js +108 -0
- package/dist/components/message.d.ts +33 -0
- package/dist/components/message.js +23 -0
- package/dist/components/navigation-menu.d.ts +42 -0
- package/dist/components/navigation-menu.js +30 -0
- package/dist/components/newsletter.d.ts +27 -0
- package/dist/components/newsletter.js +75 -0
- package/dist/components/number-input.d.ts +60 -0
- package/dist/components/number-input.js +234 -0
- package/dist/components/option-tile.d.ts +20 -19
- package/dist/components/option-tile.js +52 -137
- package/dist/components/page-header.d.ts +31 -0
- package/dist/components/page-header.js +25 -0
- package/dist/components/page-shell.d.ts +11 -1
- package/dist/components/page-shell.js +8 -34
- package/dist/components/page-skeleton.d.ts +15 -21
- package/dist/components/page-skeleton.js +28 -25
- package/dist/components/pagination.d.ts +32 -22
- package/dist/components/pagination.js +78 -76
- package/dist/components/password-input.d.ts +26 -0
- package/dist/components/password-input.js +112 -0
- package/dist/components/phone-input.d.ts +12 -8
- package/dist/components/phone-input.js +75 -64
- package/dist/components/phone.d.ts +27 -0
- package/dist/components/phone.js +35 -0
- package/dist/components/popover.d.ts +25 -36
- package/dist/components/popover.js +30 -131
- package/dist/components/pricing-card.d.ts +9 -25
- package/dist/components/pricing-card.js +9 -40
- package/dist/components/pricing.d.ts +48 -0
- package/dist/components/pricing.js +64 -0
- package/dist/components/progress.d.ts +30 -0
- package/dist/components/progress.js +57 -0
- package/dist/components/qr-display.d.ts +11 -6
- package/dist/components/qr-display.js +6 -22
- package/dist/components/questionnaire.d.ts +42 -0
- package/dist/components/questionnaire.js +107 -0
- package/dist/components/radio-group.d.ts +21 -0
- package/dist/components/radio-group.js +40 -0
- package/dist/components/radio.d.ts +15 -29
- package/dist/components/radio.js +45 -103
- package/dist/components/row-actions.d.ts +5 -0
- package/dist/components/row-actions.js +27 -34
- package/dist/components/saving-bar-context.d.ts +0 -5
- package/dist/components/saving-bar-context.js +16 -40
- package/dist/components/saving-bar.d.ts +26 -11
- package/dist/components/saving-bar.js +50 -65
- package/dist/components/section-card.d.ts +18 -4
- package/dist/components/section-card.js +29 -50
- package/dist/components/section-header.d.ts +8 -12
- package/dist/components/section-header.js +5 -10
- package/dist/components/select.d.ts +44 -16
- package/dist/components/select.js +83 -154
- package/dist/components/selectable-card.d.ts +11 -19
- package/dist/components/selectable-card.js +4 -28
- package/dist/components/separator.d.ts +20 -0
- package/dist/components/separator.js +19 -0
- package/dist/components/setting-row.d.ts +11 -15
- package/dist/components/setting-row.js +10 -23
- package/dist/components/settings-list.d.ts +10 -12
- package/dist/components/settings-list.js +7 -19
- package/dist/components/sheet.d.ts +21 -0
- package/dist/components/sheet.js +16 -0
- package/dist/components/sidebar.d.ts +79 -0
- package/dist/components/sidebar.js +111 -0
- package/dist/components/skeleton.d.ts +14 -20
- package/dist/components/skeleton.js +8 -37
- package/dist/components/slider.d.ts +21 -23
- package/dist/components/slider.js +59 -64
- package/dist/components/sparkline.d.ts +19 -0
- package/dist/components/sparkline.js +32 -0
- package/dist/components/spinner.d.ts +16 -8
- package/dist/components/spinner.js +34 -37
- package/dist/components/star-rating.d.ts +22 -0
- package/dist/components/star-rating.js +25 -0
- package/dist/components/stat.d.ts +33 -0
- package/dist/components/stat.js +29 -0
- package/dist/components/status.d.ts +27 -0
- package/dist/components/status.js +34 -0
- package/dist/components/step-progress.d.ts +13 -6
- package/dist/components/step-progress.js +18 -16
- package/dist/components/summary-bar.d.ts +20 -20
- package/dist/components/summary-bar.js +13 -55
- package/dist/components/switch.d.ts +20 -0
- package/dist/components/switch.js +46 -0
- package/dist/components/table.d.ts +56 -17
- package/dist/components/table.js +59 -58
- package/dist/components/tabs.d.ts +67 -0
- package/dist/components/tabs.js +56 -0
- package/dist/components/testimonial.d.ts +30 -0
- package/dist/components/testimonial.js +36 -0
- package/dist/components/textarea.d.ts +11 -16
- package/dist/components/textarea.js +55 -91
- package/dist/components/tile.d.ts +24 -0
- package/dist/components/tile.js +21 -0
- package/dist/components/time-picker.d.ts +40 -25
- package/dist/components/time-picker.js +185 -203
- package/dist/components/toast.d.ts +63 -0
- package/dist/components/toast.js +132 -0
- package/dist/components/toggle-card-compact.d.ts +15 -5
- package/dist/components/toggle-card-compact.js +19 -86
- package/dist/components/toggle-card.d.ts +11 -2
- package/dist/components/toggle-card.js +8 -77
- package/dist/components/toggle-group.d.ts +21 -59
- package/dist/components/toggle-group.js +31 -80
- package/dist/components/toggle.d.ts +19 -9
- package/dist/components/toggle.js +16 -61
- package/dist/components/tooltip.d.ts +25 -12
- package/dist/components/tooltip.js +15 -88
- package/dist/components/top-navigation.d.ts +33 -0
- package/dist/components/top-navigation.js +85 -0
- package/dist/components/typing-indicator.d.ts +6 -0
- package/dist/components/typing-indicator.js +3 -24
- package/dist/components/whatsapp-chat.d.ts +28 -0
- package/dist/components/whatsapp-chat.js +95 -0
- package/dist/components/whatsapp-message.d.ts +22 -0
- package/dist/components/whatsapp-message.js +34 -0
- package/dist/components/whatsapp-notification.d.ts +27 -0
- package/dist/components/whatsapp-notification.js +73 -0
- package/dist/components/whatsapp-template.d.ts +42 -0
- package/dist/components/whatsapp-template.js +69 -0
- package/dist/icons/index.d.ts +2 -0
- package/dist/icons/index.js +2 -0
- package/dist/icons/pix.d.ts +16 -0
- package/dist/targets/native/components/index.d.ts +0 -2
- package/dist/targets/native/components/index.js +0 -4
- package/dist/targets/native/preset.cjs +0 -1
- package/dist/targets/native/theme.css +58 -60
- package/dist/targets/native/theme.d.ts +58 -60
- package/dist/targets/native/theme.js +58 -60
- package/package.json +34 -12
- package/styles/_primitives.generated.css +40 -0
- package/styles/base.css +12 -18
- package/styles/rds/components-styles.css +11365 -0
- package/styles/rds/components.css +993 -0
- package/styles/rds/foundation.css +74 -0
- package/styles/rds/theme.css +261 -0
- package/styles/rds.css +6 -0
- package/styles/themes/rojao.css +46 -53
- package/dist/components/blocker-card.d.ts +0 -42
- package/dist/components/blocker-card.js +0 -54
- package/dist/components/bottom-sheet.d.ts +0 -31
- package/dist/components/bottom-sheet.js +0 -127
- package/dist/components/chat-bubble.d.ts +0 -16
- package/dist/components/chat-bubble.js +0 -56
- package/dist/components/chips.d.ts +0 -22
- package/dist/components/chips.js +0 -101
- package/dist/components/copilot-hint.d.ts +0 -18
- package/dist/components/copilot-hint.js +0 -72
- package/dist/components/divider.d.ts +0 -20
- package/dist/components/divider.js +0 -50
- package/dist/components/empty-state.d.ts +0 -48
- package/dist/components/empty-state.js +0 -94
- package/dist/components/form-card-header.d.ts +0 -13
- package/dist/components/form-card-header.js +0 -16
- package/dist/components/label.d.ts +0 -16
- package/dist/components/label.js +0 -48
- package/dist/components/menu.d.ts +0 -50
- package/dist/components/menu.js +0 -83
- package/dist/components/modal.d.ts +0 -25
- package/dist/components/modal.js +0 -86
- package/dist/components/notice.d.ts +0 -50
- package/dist/components/notice.js +0 -121
- package/dist/components/page-tabs.d.ts +0 -35
- package/dist/components/page-tabs.js +0 -68
- package/dist/components/paywall-banner.d.ts +0 -37
- package/dist/components/paywall-banner.js +0 -58
- package/dist/components/paywall.d.ts +0 -44
- package/dist/components/paywall.js +0 -65
- package/dist/components/phone-frame.d.ts +0 -9
- package/dist/components/phone-frame.js +0 -19
- package/dist/components/pix-icon.d.ts +0 -8
- package/dist/components/search.d.ts +0 -30
- package/dist/components/search.js +0 -86
- package/dist/components/themed.d.ts +0 -36
- package/dist/components/themed.js +0 -23
- package/dist/components/toaster.d.ts +0 -84
- package/dist/components/toaster.js +0 -290
- package/dist/components/use-dismiss.d.ts +0 -9
- package/dist/components/use-dismiss.js +0 -28
- package/dist/components/use-focus-trap.d.ts +0 -5
- package/dist/components/use-focus-trap.js +0 -54
- package/dist/targets/native/components/paywall-banner.d.ts +0 -11
- package/dist/targets/native/components/paywall-banner.js +0 -55
- package/dist/targets/native/components/paywall.d.ts +0 -18
- package/dist/targets/native/components/paywall.js +0 -71
- /package/dist/{components/pix-icon.js → icons/pix.js} +0 -0
|
@@ -1,68 +1,68 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
2
|
+
import {
|
|
3
|
+
__objRest,
|
|
4
|
+
__spreadProps,
|
|
5
|
+
__spreadValues
|
|
6
|
+
} from "../chunk-ORMEWXMH.js";
|
|
7
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
8
|
+
import { useState } from "react";
|
|
9
|
+
import { Slot, Slottable } from "@radix-ui/react-slot";
|
|
10
|
+
import { blockWhenDisabled } from "./internal/button.js";
|
|
11
|
+
function FilterChip(_a) {
|
|
12
|
+
var _b = _a, {
|
|
13
|
+
children,
|
|
14
|
+
count,
|
|
15
|
+
icon,
|
|
16
|
+
active,
|
|
17
|
+
defaultActive = false,
|
|
18
|
+
onActiveChange,
|
|
19
|
+
disabled,
|
|
20
|
+
asChild,
|
|
21
|
+
type = "button",
|
|
22
|
+
className,
|
|
23
|
+
onClick
|
|
24
|
+
} = _b, rest = __objRest(_b, [
|
|
25
|
+
"children",
|
|
26
|
+
"count",
|
|
27
|
+
"icon",
|
|
28
|
+
"active",
|
|
29
|
+
"defaultActive",
|
|
30
|
+
"onActiveChange",
|
|
31
|
+
"disabled",
|
|
32
|
+
"asChild",
|
|
33
|
+
"type",
|
|
34
|
+
"className",
|
|
35
|
+
"onClick"
|
|
36
|
+
]);
|
|
37
|
+
const [own, setOwn] = useState(defaultActive);
|
|
38
|
+
const on = active != null ? active : own;
|
|
39
|
+
const Root = asChild ? Slot : "button";
|
|
40
|
+
function click(event) {
|
|
41
|
+
onClick == null ? void 0 : onClick(event);
|
|
42
|
+
if (event.defaultPrevented || asChild) return;
|
|
43
|
+
if (active === void 0) setOwn(!on);
|
|
44
|
+
onActiveChange == null ? void 0 : onActiveChange(!on);
|
|
30
45
|
}
|
|
31
|
-
return /* @__PURE__ */
|
|
32
|
-
|
|
33
|
-
{
|
|
34
|
-
type:
|
|
35
|
-
|
|
36
|
-
"aria-pressed":
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
46
|
+
return /* @__PURE__ */ jsxs(
|
|
47
|
+
Root,
|
|
48
|
+
__spreadProps(__spreadValues({}, rest), {
|
|
49
|
+
type: asChild ? void 0 : type,
|
|
50
|
+
className: ["rds-filter-chip", on && "rds-filter-chip--active", className].filter(Boolean).join(" "),
|
|
51
|
+
"aria-pressed": asChild ? void 0 : on,
|
|
52
|
+
"aria-current": asChild && on ? "true" : void 0,
|
|
53
|
+
"aria-disabled": disabled || void 0,
|
|
54
|
+
onClick: blockWhenDisabled(disabled, click),
|
|
55
|
+
children: [
|
|
56
|
+
icon && /* @__PURE__ */ jsx("span", { className: "rds-filter-chip__icon", "aria-hidden": "true", children: icon }),
|
|
57
|
+
/* @__PURE__ */ jsx(Slottable, { children: asChild ? children : /* @__PURE__ */ jsx("span", { className: "rds-filter-chip__label", children }) }),
|
|
58
|
+
count !== void 0 && count !== null && count !== "" && /* @__PURE__ */ jsx("span", { className: "rds-filter-chip__count", children: count })
|
|
59
|
+
]
|
|
60
|
+
})
|
|
41
61
|
);
|
|
42
62
|
}
|
|
43
|
-
function FilterChipGroup(
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
if (process.env.NODE_ENV === "development" && !item.href && !item.onClick) {
|
|
47
|
-
console.warn(`[FilterChipGroup] item "${item.label}" has neither href nor onClick \u2014 click will have no effect`);
|
|
48
|
-
}
|
|
49
|
-
const isActive = active === item.value || !active && item.value === void 0;
|
|
50
|
-
if (item.href) {
|
|
51
|
-
return /* @__PURE__ */ jsx(FilterChip, { label: item.label, active: isActive, count: item.count, disabled: item.disabled, href: item.href }, item.label);
|
|
52
|
-
}
|
|
53
|
-
return /* @__PURE__ */ jsx(
|
|
54
|
-
FilterChip,
|
|
55
|
-
{
|
|
56
|
-
label: item.label,
|
|
57
|
-
active: isActive,
|
|
58
|
-
count: item.count,
|
|
59
|
-
disabled: item.disabled,
|
|
60
|
-
onClick: (_a = item.onClick) != null ? _a : (() => {
|
|
61
|
-
})
|
|
62
|
-
},
|
|
63
|
-
item.label
|
|
64
|
-
);
|
|
65
|
-
}) });
|
|
63
|
+
function FilterChipGroup(_c) {
|
|
64
|
+
var _d = _c, { className, children } = _d, rest = __objRest(_d, ["className", "children"]);
|
|
65
|
+
return /* @__PURE__ */ jsx("div", __spreadProps(__spreadValues({ role: "group" }, rest), { className: ["rds-filter-chip-group", className].filter(Boolean).join(" "), children }));
|
|
66
66
|
}
|
|
67
67
|
export {
|
|
68
68
|
FilterChip,
|
|
@@ -2,23 +2,10 @@ import * as react from 'react';
|
|
|
2
2
|
import { ReactNode } from 'react';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
|
-
* FloatingStepper —
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* customizar a regra. Slot `action` pra ação terminal (ex.: Reset).
|
|
10
|
-
*
|
|
11
|
-
* O POSICIONAMENTO é do caller (absolute/fixed via wrapper ou className) —
|
|
12
|
-
* o componente só renderiza a pill.
|
|
13
|
-
*
|
|
14
|
-
* Uso:
|
|
15
|
-
* <FloatingStepper
|
|
16
|
-
* steps={[{ key: 'cart', label: 'Carrinho' }, ...]}
|
|
17
|
-
* current={step}
|
|
18
|
-
* onNavigate={setStep}
|
|
19
|
-
* action={{ label: 'Reset', icon: <RotateCcw />, onClick: reset }}
|
|
20
|
-
* className="absolute bottom-3 left-1/2 -translate-x-1/2 z-30"
|
|
21
|
-
* />
|
|
5
|
+
* FloatingStepper — a composition of the Card (as a pill) and Buttons (Figma [RDS] Actions/Button, neutral): the
|
|
6
|
+
* floating steps of a flow (point of sale, checkout). The current step is the filled Button (aria-current="step");
|
|
7
|
+
* earlier steps go back, later ones are disabled; `canNavigate` changes the rule. `action` is a last Button after
|
|
8
|
+
* a line (Reset). Where it floats is the caller's (className or a wrapper). Styles: floating-stepper.css.
|
|
22
9
|
*/
|
|
23
10
|
type FloatingStepperStep = {
|
|
24
11
|
key: string;
|
|
@@ -38,7 +25,9 @@ interface FloatingStepperProps {
|
|
|
38
25
|
onClick: () => void;
|
|
39
26
|
};
|
|
40
27
|
className?: string;
|
|
28
|
+
/** The navigation's name. Default "Etapas". */
|
|
29
|
+
'aria-label'?: string;
|
|
41
30
|
}
|
|
42
|
-
declare function FloatingStepper({ steps, current, onNavigate, canNavigate, action, className, }: FloatingStepperProps): react.JSX.Element;
|
|
31
|
+
declare function FloatingStepper({ steps, current, onNavigate, canNavigate, action, className, 'aria-label': ariaLabel }: FloatingStepperProps): react.JSX.Element;
|
|
43
32
|
|
|
44
33
|
export { FloatingStepper, type FloatingStepperProps, type FloatingStepperStep };
|
|
@@ -1,62 +1,34 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import "../chunk-ORMEWXMH.js";
|
|
3
3
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
onNavigate,
|
|
8
|
-
canNavigate,
|
|
9
|
-
action,
|
|
10
|
-
className = ""
|
|
11
|
-
}) {
|
|
4
|
+
import { Button } from "./button.js";
|
|
5
|
+
import { Card } from "./card.js";
|
|
6
|
+
function FloatingStepper({ steps, current, onNavigate, canNavigate, action, className, "aria-label": ariaLabel = "Etapas" }) {
|
|
12
7
|
const currentIdx = steps.findIndex((s) => s.key === current);
|
|
13
|
-
return /* @__PURE__ */ jsxs(
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
]
|
|
38
|
-
},
|
|
39
|
-
s.key
|
|
40
|
-
);
|
|
41
|
-
}),
|
|
42
|
-
action && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
43
|
-
/* @__PURE__ */ jsx("span", { className: "w-px h-4 bg-on-shell-line mx-1", "aria-hidden": true }),
|
|
44
|
-
/* @__PURE__ */ jsxs(
|
|
45
|
-
"button",
|
|
46
|
-
{
|
|
47
|
-
type: "button",
|
|
48
|
-
onClick: action.onClick,
|
|
49
|
-
className: "flex items-center gap-1.5 rounded-full px-3 py-1.5 text-caption font-medium text-on-shell-muted hover:text-on-shell transition-colors whitespace-nowrap [&_svg]:w-3 [&_svg]:h-3 [&_svg]:shrink-0",
|
|
50
|
-
children: [
|
|
51
|
-
action.icon,
|
|
52
|
-
action.label
|
|
53
|
-
]
|
|
54
|
-
}
|
|
55
|
-
)
|
|
56
|
-
] })
|
|
57
|
-
]
|
|
58
|
-
}
|
|
59
|
-
);
|
|
8
|
+
return /* @__PURE__ */ jsxs(Card, { as: "div", size: "sm", role: "navigation", "aria-label": ariaLabel, className: ["rds-floating-stepper", className].filter(Boolean).join(" "), children: [
|
|
9
|
+
steps.map((s, idx) => {
|
|
10
|
+
const isCurrent = idx === currentIdx;
|
|
11
|
+
const canGo = canNavigate ? canNavigate(s.key, idx, currentIdx) : idx < currentIdx;
|
|
12
|
+
return /* @__PURE__ */ jsx(
|
|
13
|
+
Button,
|
|
14
|
+
{
|
|
15
|
+
tone: "neutral",
|
|
16
|
+
variant: isCurrent ? "fill" : "ghost",
|
|
17
|
+
disabled: !canGo && !isCurrent,
|
|
18
|
+
"aria-current": isCurrent ? "step" : void 0,
|
|
19
|
+
onClick: () => {
|
|
20
|
+
if (canGo && !isCurrent) onNavigate == null ? void 0 : onNavigate(s.key);
|
|
21
|
+
},
|
|
22
|
+
children: s.label
|
|
23
|
+
},
|
|
24
|
+
s.key
|
|
25
|
+
);
|
|
26
|
+
}),
|
|
27
|
+
action && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
28
|
+
/* @__PURE__ */ jsx("span", { className: "rds-floating-stepper__divider", "aria-hidden": "true" }),
|
|
29
|
+
/* @__PURE__ */ jsx(Button, { tone: "neutral", variant: "ghost", icon: action.icon, onClick: action.onClick, children: action.label })
|
|
30
|
+
] })
|
|
31
|
+
] });
|
|
60
32
|
}
|
|
61
33
|
export {
|
|
62
34
|
FloatingStepper
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
import { HTMLAttributes, ReactNode } from 'react';
|
|
3
|
+
|
|
4
|
+
interface FooterProps extends HTMLAttributes<HTMLElement> {
|
|
5
|
+
/**
|
|
6
|
+
* The brand (Figma: `logo`), always by slot: the design system carries no client logo. Usually a link to the home
|
|
7
|
+
* page named after the brand, around the logotype.
|
|
8
|
+
*/
|
|
9
|
+
logo: ReactNode;
|
|
10
|
+
/** One sentence about the site (Figma: `tagline`). */
|
|
11
|
+
tagline?: ReactNode;
|
|
12
|
+
/** Links to the brand's profiles, each named, around a 24 mono icon (Figma: slot `social`). */
|
|
13
|
+
social?: ReactNode;
|
|
14
|
+
/** The accessible name of the list of profiles. */
|
|
15
|
+
socialLabel?: string;
|
|
16
|
+
/** FooterColumn, up to 4 (Figma: slot `columns`). */
|
|
17
|
+
children?: ReactNode;
|
|
18
|
+
/** The copyright line (Figma: `copyright`). */
|
|
19
|
+
copyright: ReactNode;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Footer — Figma [RDS] Blocks/Footer. The footer of the public pages (<footer>, the contentinfo landmark at the top
|
|
23
|
+
* level): brand, sentence and profiles, the link columns and the copyright. Below 640 of container width everything
|
|
24
|
+
* stacks (Figma: `screen`). Styles: footer.css.
|
|
25
|
+
*/
|
|
26
|
+
declare function Footer({ logo, tagline, social, socialLabel, children, copyright, className, ...rest }: FooterProps): react.JSX.Element;
|
|
27
|
+
interface FooterColumnProps extends HTMLAttributes<HTMLElement> {
|
|
28
|
+
/** Who the links are for, such as customers or sellers (Figma: `title`). It names the column's navigation. */
|
|
29
|
+
title: string;
|
|
30
|
+
/** The links, `<a>` elements (Figma: slot `links`). */
|
|
31
|
+
children: ReactNode;
|
|
32
|
+
}
|
|
33
|
+
/** A column of Footer links (Figma: .footer/column), a <nav> named by its title. Only inside a Footer. */
|
|
34
|
+
declare function FooterColumn({ title, children, className, ...rest }: FooterColumnProps): react.JSX.Element;
|
|
35
|
+
|
|
36
|
+
export { Footer, FooterColumn, type FooterColumnProps, type FooterProps };
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import {
|
|
3
|
+
__objRest,
|
|
4
|
+
__spreadProps,
|
|
5
|
+
__spreadValues
|
|
6
|
+
} from "../chunk-ORMEWXMH.js";
|
|
7
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
8
|
+
import { Children, Fragment, isValidElement, useId } from "react";
|
|
9
|
+
function listItems(slot) {
|
|
10
|
+
const items = isValidElement(slot) && slot.type === Fragment ? slot.props.children : slot;
|
|
11
|
+
return Children.map(items, (item) => item && /* @__PURE__ */ jsx("li", { children: item }));
|
|
12
|
+
}
|
|
13
|
+
function Footer(_a) {
|
|
14
|
+
var _b = _a, { logo, tagline, social, socialLabel = "Redes sociais", children, copyright, className } = _b, rest = __objRest(_b, ["logo", "tagline", "social", "socialLabel", "children", "copyright", "className"]);
|
|
15
|
+
return /* @__PURE__ */ jsx("footer", __spreadProps(__spreadValues({}, rest), { className: ["rds-footer", className].filter(Boolean).join(" "), children: /* @__PURE__ */ jsxs("div", { className: "rds-footer__inner", children: [
|
|
16
|
+
/* @__PURE__ */ jsxs("div", { className: "rds-footer__sitemap", children: [
|
|
17
|
+
/* @__PURE__ */ jsxs("div", { className: "rds-footer__brand", children: [
|
|
18
|
+
/* @__PURE__ */ jsx("div", { className: "rds-footer__logo", children: logo }),
|
|
19
|
+
tagline && /* @__PURE__ */ jsx("p", { className: "rds-footer__tagline", children: tagline }),
|
|
20
|
+
social && /* @__PURE__ */ jsx("ul", { className: "rds-footer__social", "aria-label": socialLabel, children: listItems(social) })
|
|
21
|
+
] }),
|
|
22
|
+
children && /* @__PURE__ */ jsx("div", { className: "rds-footer__columns", children })
|
|
23
|
+
] }),
|
|
24
|
+
/* @__PURE__ */ jsx("p", { className: "rds-footer__legal", children: copyright })
|
|
25
|
+
] }) }));
|
|
26
|
+
}
|
|
27
|
+
function FooterColumn(_c) {
|
|
28
|
+
var _d = _c, { title, children, className } = _d, rest = __objRest(_d, ["title", "children", "className"]);
|
|
29
|
+
const id = useId();
|
|
30
|
+
return /* @__PURE__ */ jsxs("nav", __spreadProps(__spreadValues({ "aria-labelledby": id }, rest), { className: ["rds-footer__column", className].filter(Boolean).join(" "), children: [
|
|
31
|
+
/* @__PURE__ */ jsx("p", { id, className: "rds-footer__title", children: title }),
|
|
32
|
+
/* @__PURE__ */ jsx("ul", { className: "rds-footer__links", children: listItems(children) })
|
|
33
|
+
] }));
|
|
34
|
+
}
|
|
35
|
+
export {
|
|
36
|
+
Footer,
|
|
37
|
+
FooterColumn
|
|
38
|
+
};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
import { HTMLAttributes, ReactNode } from 'react';
|
|
3
|
+
|
|
4
|
+
type FormActionsLayout = 'inline' | 'stacked';
|
|
5
|
+
interface FormActionsProps extends HTMLAttributes<HTMLDivElement> {
|
|
6
|
+
/**
|
|
7
|
+
* The buttons (Figma: slot `actions`, up to 3), always in reading order: Cancelar first, the primary
|
|
8
|
+
* last. In `stacked` the primary goes on top, and it is moved first in the page too, so the focus
|
|
9
|
+
* order follows what is seen.
|
|
10
|
+
*/
|
|
11
|
+
children: ReactNode;
|
|
12
|
+
/** A short supporting sentence beside the actions (Figma: `showHelper` + `helper`). */
|
|
13
|
+
helper?: ReactNode;
|
|
14
|
+
/**
|
|
15
|
+
* inline (desktop: floats and hugs its content, sentence left, actions right) or stacked (phone: edge
|
|
16
|
+
* to edge at the foot, primary full width on top) (Figma: `layout`).
|
|
17
|
+
*/
|
|
18
|
+
layout?: FormActionsLayout;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* FormActions — Figma [RDS] Actions/FormActions. The actions at the end of a create form or a task,
|
|
22
|
+
* there from the first second. Where it sticks is the page's job: `position: sticky` at the bottom of
|
|
23
|
+
* the scrolling container, with `scroll-padding-bottom` equal to its height, so a focused field is never
|
|
24
|
+
* hidden behind it (WCAG 2.4.11). Styles: form-actions.css.
|
|
25
|
+
*/
|
|
26
|
+
declare function FormActions({ children, helper, layout, className, ...rest }: FormActionsProps): react.JSX.Element;
|
|
27
|
+
|
|
28
|
+
export { FormActions, type FormActionsLayout, type FormActionsProps };
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import {
|
|
2
|
+
__objRest,
|
|
3
|
+
__spreadProps,
|
|
4
|
+
__spreadValues
|
|
5
|
+
} from "../chunk-ORMEWXMH.js";
|
|
6
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
7
|
+
import { Children } from "react";
|
|
8
|
+
function FormActions(_a) {
|
|
9
|
+
var _b = _a, { children, helper, layout = "inline", className } = _b, rest = __objRest(_b, ["children", "helper", "layout", "className"]);
|
|
10
|
+
const actions = Children.toArray(children);
|
|
11
|
+
return /* @__PURE__ */ jsxs(
|
|
12
|
+
"div",
|
|
13
|
+
__spreadProps(__spreadValues({}, rest), {
|
|
14
|
+
className: ["rds-form-actions", `rds-form-actions--${layout}`, className].filter(Boolean).join(" "),
|
|
15
|
+
children: [
|
|
16
|
+
helper && /* @__PURE__ */ jsx("p", { className: "rds-form-actions__helper", children: helper }),
|
|
17
|
+
/* @__PURE__ */ jsx("div", { className: "rds-form-actions__actions", children: layout === "stacked" ? actions.reverse() : actions })
|
|
18
|
+
]
|
|
19
|
+
})
|
|
20
|
+
);
|
|
21
|
+
}
|
|
22
|
+
export {
|
|
23
|
+
FormActions
|
|
24
|
+
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
import { GoogleLayout } from './internal/google.js';
|
|
3
|
+
|
|
4
|
+
interface GoogleAccount {
|
|
5
|
+
name: string;
|
|
6
|
+
email: string;
|
|
7
|
+
}
|
|
8
|
+
interface GoogleAccountChooserProps {
|
|
9
|
+
/** Your app, as Google shows it after the app is verified (Figma: `appName`). */
|
|
10
|
+
appName?: string;
|
|
11
|
+
/** m3: the new screen, in two panels; oauth: what Google shows today for sign-in from an app. */
|
|
12
|
+
layout?: GoogleLayout;
|
|
13
|
+
/** The accounts signed in on the browser (the Figma's accounts block): name, e-mail and the initial. */
|
|
14
|
+
accounts?: GoogleAccount[];
|
|
15
|
+
className?: string;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* GoogleAccountChooser — Figma [RDS] External/GoogleAccountChooser. A MOCKUP of Google's account chooser, when the
|
|
19
|
+
* person already has accounts on the browser, for flows: nothing in it works. Below 640 of container width it takes
|
|
20
|
+
* the mobile layout (Figma: `screen`). "Adicionar outra conta" is Google's text; the rest is a translation (not
|
|
21
|
+
* verified), as in the Figma. Styles: google-account-chooser.css and internal/google.css.
|
|
22
|
+
*/
|
|
23
|
+
declare function GoogleAccountChooser({ appName, layout, accounts, className }: GoogleAccountChooserProps): react.JSX.Element;
|
|
24
|
+
|
|
25
|
+
export { type GoogleAccount, GoogleAccountChooser, type GoogleAccountChooserProps };
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import "../chunk-ORMEWXMH.js";
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { GoogleAppLine, GoogleScreen } from "./internal/google.js";
|
|
4
|
+
const SAMPLE = [
|
|
5
|
+
{ name: "Maria Souza", email: "maria.souza@gmail.com" },
|
|
6
|
+
{ name: "Maria Souza", email: "maria@empresa.com.br" }
|
|
7
|
+
];
|
|
8
|
+
function GoogleAccountChooser({ appName = "Roj\xE3o", layout = "m3", accounts = SAMPLE, className }) {
|
|
9
|
+
return /* @__PURE__ */ jsxs(
|
|
10
|
+
GoogleScreen,
|
|
11
|
+
{
|
|
12
|
+
layout,
|
|
13
|
+
label: "Mockup: escolha de conta do Google",
|
|
14
|
+
title: "Escolha uma conta",
|
|
15
|
+
intro: /* @__PURE__ */ jsx(GoogleAppLine, { lead: "para prosseguir para", appName }),
|
|
16
|
+
className: ["rds-google-account-chooser", className].filter(Boolean).join(" "),
|
|
17
|
+
children: [
|
|
18
|
+
/* @__PURE__ */ jsxs("ul", { className: "rds-google__accounts", children: [
|
|
19
|
+
accounts.map((account) => /* @__PURE__ */ jsxs("li", { className: "rds-google__account", children: [
|
|
20
|
+
/* @__PURE__ */ jsx("span", { className: "rds-google__avatar", "aria-hidden": "true", children: account.name.charAt(0).toUpperCase() }),
|
|
21
|
+
/* @__PURE__ */ jsxs("span", { className: "rds-google__account-text", children: [
|
|
22
|
+
/* @__PURE__ */ jsx("span", { className: "rds-google__account-name", children: account.name }),
|
|
23
|
+
/* @__PURE__ */ jsx("span", { className: "rds-google__account-email", children: account.email })
|
|
24
|
+
] })
|
|
25
|
+
] }, account.email)),
|
|
26
|
+
/* @__PURE__ */ jsxs("li", { className: "rds-google__account", children: [
|
|
27
|
+
/* @__PURE__ */ jsx("span", { className: "rds-google__add", "aria-hidden": "true", children: "+" }),
|
|
28
|
+
/* @__PURE__ */ jsx("span", { className: "rds-google__account-name", children: "Adicionar outra conta" })
|
|
29
|
+
] })
|
|
30
|
+
] }),
|
|
31
|
+
/* @__PURE__ */ jsxs("p", { className: "rds-google__text rds-google-account-chooser__notice", children: [
|
|
32
|
+
"Para continuar, o Google vai compartilhar seu nome, endere\xE7o de e-mail, prefer\xEAncia de idioma e foto do perfil com o ",
|
|
33
|
+
appName,
|
|
34
|
+
". Consulte a Pol\xEDtica de Privacidade e os Termos de Servi\xE7o do app ",
|
|
35
|
+
appName,
|
|
36
|
+
" antes de us\xE1-lo."
|
|
37
|
+
] })
|
|
38
|
+
]
|
|
39
|
+
}
|
|
40
|
+
);
|
|
41
|
+
}
|
|
42
|
+
export {
|
|
43
|
+
GoogleAccountChooser
|
|
44
|
+
};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
import { ButtonHTMLAttributes } from 'react';
|
|
3
|
+
|
|
4
|
+
type GoogleButtonTheme = 'light' | 'dark' | 'neutral';
|
|
5
|
+
type GoogleButtonShape = 'rectangular' | 'pill';
|
|
6
|
+
type GoogleButtonType = 'standard' | 'icon';
|
|
7
|
+
interface GoogleButtonProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'type' | 'children'> {
|
|
8
|
+
/**
|
|
9
|
+
* The text (Figma: `label`). Only the texts Google allows in pt-BR: "Fazer login com o Google", "Continuar com o
|
|
10
|
+
* Google", "Inscrever-se com o Google". With `type="icon"` it is the accessible name.
|
|
11
|
+
*/
|
|
12
|
+
children?: string;
|
|
13
|
+
/** light: white with a grey border; dark: near black; neutral: light grey, no border. */
|
|
14
|
+
theme?: GoogleButtonTheme;
|
|
15
|
+
shape?: GoogleButtonShape;
|
|
16
|
+
/** standard: the G and the text; icon: only the G, 40 × 40 (Figma: `type`; the HTML type is always "button"). */
|
|
17
|
+
type?: GoogleButtonType;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* GoogleButton — Figma [RDS] External/GoogleButton. A MOCKUP of the official "Fazer login com o Google" button,
|
|
21
|
+
* with the measures and colours of Google's branding package: 40 tall, the G (20) 12 from the edge, 10 to the text,
|
|
22
|
+
* 14/20 medium. A real <button>: wire the click to your sign-in. Styles: google-button.css.
|
|
23
|
+
*/
|
|
24
|
+
declare function GoogleButton({ children, theme, shape, type, className, ...rest }: GoogleButtonProps): react.JSX.Element;
|
|
25
|
+
|
|
26
|
+
export { GoogleButton, type GoogleButtonProps, type GoogleButtonShape, type GoogleButtonTheme, type GoogleButtonType };
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import {
|
|
2
|
+
__objRest,
|
|
3
|
+
__spreadProps,
|
|
4
|
+
__spreadValues
|
|
5
|
+
} from "../chunk-ORMEWXMH.js";
|
|
6
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
7
|
+
import { GoogleG } from "./internal/google.js";
|
|
8
|
+
function GoogleButton(_a) {
|
|
9
|
+
var _b = _a, {
|
|
10
|
+
children = "Fazer login com o Google",
|
|
11
|
+
theme = "light",
|
|
12
|
+
shape = "rectangular",
|
|
13
|
+
type = "standard",
|
|
14
|
+
className
|
|
15
|
+
} = _b, rest = __objRest(_b, [
|
|
16
|
+
"children",
|
|
17
|
+
"theme",
|
|
18
|
+
"shape",
|
|
19
|
+
"type",
|
|
20
|
+
"className"
|
|
21
|
+
]);
|
|
22
|
+
return /* @__PURE__ */ jsxs(
|
|
23
|
+
"button",
|
|
24
|
+
__spreadProps(__spreadValues({
|
|
25
|
+
type: "button",
|
|
26
|
+
"aria-label": type === "icon" ? children : void 0
|
|
27
|
+
}, rest), {
|
|
28
|
+
className: ["rds-google-button", `rds-google-button--${theme}`, `rds-google-button--${shape}`, `rds-google-button--${type}`, className].filter(Boolean).join(" "),
|
|
29
|
+
children: [
|
|
30
|
+
/* @__PURE__ */ jsx(GoogleG, {}),
|
|
31
|
+
type === "standard" && /* @__PURE__ */ jsx("span", { className: "rds-google-button__label", children })
|
|
32
|
+
]
|
|
33
|
+
})
|
|
34
|
+
);
|
|
35
|
+
}
|
|
36
|
+
export {
|
|
37
|
+
GoogleButton
|
|
38
|
+
};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
import { GoogleLayout } from './internal/google.js';
|
|
3
|
+
|
|
4
|
+
interface GoogleConsentProps {
|
|
5
|
+
/** The screen's title (Figma: `title`), such as "Fazer login no <app>". */
|
|
6
|
+
title?: string;
|
|
7
|
+
/** Your app, named in the sharing notice. The Figma has it only inside the title. */
|
|
8
|
+
appName?: string;
|
|
9
|
+
/** m3: the new screen, in two panels; oauth: what Google shows today for sign-in from an app. */
|
|
10
|
+
layout?: GoogleLayout;
|
|
11
|
+
/** The account being shared. */
|
|
12
|
+
email?: string;
|
|
13
|
+
className?: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* GoogleConsent — Figma [RDS] External/GoogleConsent. A MOCKUP of Google's consent screen (what Google shares with
|
|
17
|
+
* the app), for flows: nothing in it works. The app's name shows like this only after Google verifies the app.
|
|
18
|
+
* Below 640 of container width it takes the mobile layout (Figma: `screen`). Styles: google-consent.css and
|
|
19
|
+
* internal/google.css.
|
|
20
|
+
*/
|
|
21
|
+
declare function GoogleConsent({ appName, title, layout, email, className }: GoogleConsentProps): react.JSX.Element;
|
|
22
|
+
|
|
23
|
+
export { GoogleConsent, type GoogleConsentProps };
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import "../chunk-ORMEWXMH.js";
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { GoogleAccountChip, GoogleActions, GoogleScreen } from "./internal/google.js";
|
|
4
|
+
function GoogleConsent({ appName = "Roj\xE3o", title, layout = "m3", email = "ana@exemplo.com", className }) {
|
|
5
|
+
return /* @__PURE__ */ jsxs(
|
|
6
|
+
GoogleScreen,
|
|
7
|
+
{
|
|
8
|
+
layout,
|
|
9
|
+
label: "Mockup: consentimento do Google",
|
|
10
|
+
title: title != null ? title : `Fazer login no ${appName}`,
|
|
11
|
+
intro: /* @__PURE__ */ jsx(GoogleAccountChip, { email }),
|
|
12
|
+
className: ["rds-google-consent", className].filter(Boolean).join(" "),
|
|
13
|
+
children: [
|
|
14
|
+
/* @__PURE__ */ jsxs("p", { className: "rds-google__text", children: [
|
|
15
|
+
"Para criar sua conta, o Google vai compartilhar seu nome, endere\xE7o de e-mail e foto do perfil com o ",
|
|
16
|
+
appName,
|
|
17
|
+
". Consulte a Pol\xEDtica de Privacidade e os Termos de Servi\xE7o do ",
|
|
18
|
+
appName,
|
|
19
|
+
"."
|
|
20
|
+
] }),
|
|
21
|
+
/* @__PURE__ */ jsx(GoogleActions, { secondary: "Cancelar", primary: "Continuar" })
|
|
22
|
+
]
|
|
23
|
+
}
|
|
24
|
+
);
|
|
25
|
+
}
|
|
26
|
+
export {
|
|
27
|
+
GoogleConsent
|
|
28
|
+
};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
import { GoogleLayout } from './internal/google.js';
|
|
3
|
+
|
|
4
|
+
type GoogleSignInStep = 'email' | 'password';
|
|
5
|
+
interface GoogleSignInProps {
|
|
6
|
+
/** The screen's title (Figma: `title`). On the password step the Figma shows "Boas-vindas". */
|
|
7
|
+
title?: string;
|
|
8
|
+
/** Your app, as Google shows it after the app is verified (Figma: `appName`). */
|
|
9
|
+
appName?: string;
|
|
10
|
+
/** m3: the new screen, in two panels; oauth: what Google shows today for sign-in from an app. */
|
|
11
|
+
layout?: GoogleLayout;
|
|
12
|
+
/** email: the e-mail field; password: the account chip and the password field. */
|
|
13
|
+
step?: GoogleSignInStep;
|
|
14
|
+
/** The account on the password step. */
|
|
15
|
+
email?: string;
|
|
16
|
+
className?: string;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* GoogleSignIn — Figma [RDS] External/GoogleSignIn. A MOCKUP of Google's sign-in screen, for flows: nothing in it
|
|
20
|
+
* works. Below 640 of container width it takes the mobile layout (Figma: `screen`). Texts of the e-mail step are
|
|
21
|
+
* Google's; those of the password step are a translation (not verified), as in the Figma. Styles: google-sign-in.css
|
|
22
|
+
* and internal/google.css.
|
|
23
|
+
*/
|
|
24
|
+
declare function GoogleSignIn({ title, appName, layout, step, email, className, }: GoogleSignInProps): react.JSX.Element;
|
|
25
|
+
|
|
26
|
+
export { GoogleLayout, GoogleSignIn, type GoogleSignInProps, type GoogleSignInStep };
|