@sableui/react 0.9.1 → 0.11.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/AGENTS.md +1 -1
- package/CHANGELOG.md +109 -0
- package/CONTRIBUTING.md +2 -2
- package/DESIGN.md +55 -16
- package/README.md +12 -0
- package/dist/{_contract-C2M1SjBf.d.ts → _contract-CkqXDVww.d.ts} +25 -2
- package/dist/blocks/danger-zone-block.js +3 -3
- package/dist/blocks/danger-zone-block.meta.js +1 -1
- package/dist/blocks/faq-block.js +3 -3
- package/dist/blocks/goal-progress-block.js +1 -1
- package/dist/blocks/notification-list-block.js +1 -1
- package/dist/blocks/pricing-table-block.js +12 -12
- package/dist/blocks/product-card-block.js +3 -3
- package/dist/blocks/product-card-block.meta.js +3 -3
- package/dist/blocks/profile-card-block.js +1 -1
- package/dist/blocks/profile-form-block.js +3 -3
- package/dist/blocks/revenue-breakdown-block.js +5 -5
- package/dist/blocks/stat-row-block.js +3 -3
- package/dist/blocks/task-list-block.js +2 -2
- package/dist/blocks/team-members-block.js +1 -1
- package/dist/blocks/wallet-block.js +4 -4
- package/dist/blocks/wallet-block.meta.js +3 -3
- package/dist/components/accordion/accordion.meta.js +2 -2
- package/dist/components/app-header/app-header.meta.js +1 -1
- package/dist/components/app-shell/app-shell.meta.js +2 -2
- package/dist/components/area-chart/area-chart.meta.js +3 -3
- package/dist/components/badge/badge.js +13 -4
- package/dist/components/badge/badge.meta.js +24 -13
- package/dist/components/badge/badge.variants.js +37 -23
- package/dist/components/banner/banner.meta.js +8 -8
- package/dist/components/banner/banner.variants.js +3 -3
- package/dist/components/bar-chart/bar-chart.meta.js +4 -4
- package/dist/components/breadcrumbs/breadcrumbs.meta.js +1 -1
- package/dist/components/button/button.meta.js +3 -3
- package/dist/components/card/card.js +16 -7
- package/dist/components/card/card.meta.js +4 -4
- package/dist/components/checkbox-card/checkbox-card.meta.js +10 -10
- package/dist/components/checkbox-card/checkbox-card.variants.js +15 -15
- package/dist/components/code-block/code-block.meta.js +1 -1
- package/dist/components/command-menu/command-menu.meta.js +1 -1
- package/dist/components/context-card/context-card.meta.js +2 -2
- package/dist/components/destructive-action-modal/destructive-action-modal.meta.js +1 -1
- package/dist/components/dialog/dialog.meta.js +2 -2
- package/dist/components/disclosure-picker/disclosure-picker.js +48 -2
- package/dist/components/disclosure-picker/disclosure-picker.meta.js +3 -2
- package/dist/components/empty-state/empty-state.meta.js +4 -4
- package/dist/components/gradient-art/gradient-art.meta.js +3 -3
- package/dist/components/label/label.meta.js +1 -1
- package/dist/components/line-chart/line-chart.meta.js +3 -3
- package/dist/components/meter/meter.js +1 -1
- package/dist/components/meter/meter.meta.js +2 -2
- package/dist/components/meter/meter.variants.js +1 -1
- package/dist/components/middle-truncate/middle-truncate.meta.js +4 -4
- package/dist/components/note/note.meta.js +3 -3
- package/dist/components/page-header/page-header.js +1 -1
- package/dist/components/pagination/pagination.meta.js +2 -2
- package/dist/components/panel-section/index.js +2 -1
- package/dist/components/panel-section/panel-section.js +15 -0
- package/dist/components/panel-section/panel-section.meta.js +32 -0
- package/dist/components/phone/phone.meta.js +1 -1
- package/dist/components/pie-chart/pie-chart.meta.js +3 -3
- package/dist/components/pill/pill.js +4 -2
- package/dist/components/pill/pill.meta.js +19 -2
- package/dist/components/pill/pill.variants.js +23 -2
- package/dist/components/popover/popover.meta.js +2 -2
- package/dist/components/radar-chart/radar-chart.meta.js +3 -3
- package/dist/components/radial-chart/radial-chart.meta.js +3 -3
- package/dist/components/radio/radio.meta.js +2 -2
- package/dist/components/radio-card/radio-card.meta.js +6 -6
- package/dist/components/radio-card/radio-card.variants.js +15 -15
- package/dist/components/scroller/scroller.meta.js +1 -1
- package/dist/components/search-input/search-input.meta.js +1 -1
- package/dist/components/section-header/section-header.js +1 -1
- package/dist/components/segmented-bar/segmented-bar.js +1 -1
- package/dist/components/segmented-bar/segmented-bar.meta.js +6 -6
- package/dist/components/segmented-bar/segmented-bar.variants.js +4 -4
- package/dist/components/select/select.meta.js +2 -2
- package/dist/components/sheet/sheet.meta.js +1 -1
- package/dist/components/side-nav/side-nav.meta.js +1 -1
- package/dist/components/sidebar/sidebar.meta.js +1 -1
- package/dist/components/sparkline/sparkline.meta.js +4 -4
- package/dist/components/spinner/spinner.meta.js +1 -1
- package/dist/components/status-dot/status-dot.js +4 -1
- package/dist/components/status-dot/status-dot.meta.js +8 -16
- package/dist/components/status-dot/status-dot.variants.js +13 -4
- package/dist/components/table/table.meta.js +4 -4
- package/dist/components/tabs/tabs.meta.js +1 -1
- package/dist/components/textarea/textarea.meta.js +2 -2
- package/dist/components/toast/toast.meta.js +1 -1
- package/dist/components/tooltip/tooltip.meta.js +2 -2
- package/dist/file-hashes.json +123 -121
- package/dist/foundations/spacing.js +8 -8
- package/dist/index.d.ts +171 -76
- package/dist/index.js +12 -1
- package/dist/lib/chart/types.js +3 -3
- package/dist/lib/palette.js +103 -0
- package/dist/lib/selection-card.js +4 -4
- package/dist/palette.css +669 -0
- package/dist/patterns/auth-page.js +6 -6
- package/dist/patterns/auth-page.meta.js +3 -3
- package/dist/patterns/brand-landing-page.js +2 -2
- package/dist/patterns/chat-panel.js +2 -2
- package/dist/patterns/dashboard-page.js +71 -71
- package/dist/patterns/dashboard-page.meta.js +5 -5
- package/dist/patterns/feed-page.js +25 -25
- package/dist/patterns/feed-page.meta.js +3 -3
- package/dist/patterns/landing-page.js +1 -1
- package/dist/patterns/list-detail-page.js +17 -17
- package/dist/patterns/settings-page.js +17 -17
- package/dist/presets/index.d.ts +1 -1
- package/dist/presets/index.js +17 -2
- package/dist/styles.css +115 -50
- package/dist/{theme-provider-S0NVJs2Y.d.ts → theme-provider-CdSicAad.d.ts} +1 -1
- package/dist/themes/_contract.js +22 -8
- package/dist/themes/atelier/atelier.css +13 -13
- package/dist/themes/atelier/index.d.ts +1 -1
- package/dist/themes/ember/ember.css +13 -13
- package/dist/themes/ember/index.d.ts +1 -1
- package/dist/themes/index.d.ts +2 -2
- package/dist/themes/meridian/index.d.ts +1 -1
- package/dist/themes/meridian/meridian.css +13 -13
- package/dist/themes/poppy/index.d.ts +1 -1
- package/dist/themes/poppy/poppy.css +19 -16
- package/dist/themes/prism/index.d.ts +1 -1
- package/dist/themes/prism/prism.css +18 -15
- package/dist/themes/sable/index.d.ts +1 -1
- package/dist/themes/sable/sable.css +18 -22
- package/dist/themes/verdant/index.d.ts +1 -1
- package/dist/themes/verdant/verdant.css +15 -15
- package/llms/blocks/danger-zone-block.md +4 -4
- package/llms/blocks/faq-block.md +3 -3
- package/llms/blocks/goal-progress-block.md +1 -1
- package/llms/blocks/notification-list-block.md +1 -1
- package/llms/blocks/pricing-table-block.md +12 -12
- package/llms/blocks/product-card-block.md +6 -6
- package/llms/blocks/profile-card-block.md +1 -1
- package/llms/blocks/profile-form-block.md +3 -3
- package/llms/blocks/revenue-breakdown-block.md +5 -5
- package/llms/blocks/stat-row-block.md +3 -3
- package/llms/blocks/task-list-block.md +2 -2
- package/llms/blocks/team-members-block.md +1 -1
- package/llms/blocks/wallet-block.md +7 -7
- package/llms/components/accordion.md +2 -2
- package/llms/components/app-header.md +1 -1
- package/llms/components/app-shell.md +2 -2
- package/llms/components/area-chart.md +1 -1
- package/llms/components/badge.md +15 -7
- package/llms/components/banner.md +6 -6
- package/llms/components/bar-chart.md +2 -2
- package/llms/components/breadcrumbs.md +1 -1
- package/llms/components/button.md +3 -3
- package/llms/components/card.md +4 -4
- package/llms/components/checkbox-card.md +5 -5
- package/llms/components/code-block.md +1 -1
- package/llms/components/command-menu.md +1 -1
- package/llms/components/context-card.md +2 -2
- package/llms/components/destructive-action-modal.md +1 -1
- package/llms/components/dialog.md +2 -2
- package/llms/components/disclosure-picker.md +2 -1
- package/llms/components/empty-state.md +4 -4
- package/llms/components/gradient-art.md +3 -3
- package/llms/components/label.md +1 -1
- package/llms/components/line-chart.md +1 -1
- package/llms/components/meter.md +2 -2
- package/llms/components/middle-truncate.md +5 -5
- package/llms/components/note.md +3 -3
- package/llms/components/pagination.md +2 -2
- package/llms/components/panel-section.md +28 -0
- package/llms/components/phone.md +1 -1
- package/llms/components/pie-chart.md +1 -1
- package/llms/components/pill.md +12 -2
- package/llms/components/popover.md +2 -2
- package/llms/components/radar-chart.md +1 -1
- package/llms/components/radial-chart.md +1 -1
- package/llms/components/radio-card.md +4 -4
- package/llms/components/radio.md +2 -2
- package/llms/components/scroller.md +1 -1
- package/llms/components/search-input.md +1 -1
- package/llms/components/segmented-bar.md +7 -7
- package/llms/components/select.md +2 -2
- package/llms/components/sheet.md +1 -1
- package/llms/components/side-nav.md +1 -1
- package/llms/components/sidebar.md +1 -1
- package/llms/components/sparkline.md +2 -2
- package/llms/components/spinner.md +1 -1
- package/llms/components/status-dot.md +4 -4
- package/llms/components/table.md +8 -8
- package/llms/components/tabs.md +1 -1
- package/llms/components/textarea.md +2 -2
- package/llms/components/toast.md +1 -1
- package/llms/components/tooltip.md +2 -2
- package/llms/foundations/spacing.md +7 -7
- package/llms/layout/grid.md +1 -1
- package/llms/layout/page.md +1 -1
- package/llms/layout/region.md +1 -1
- package/llms/layout/split-pane.md +1 -1
- package/llms/patterns/auth-page.md +11 -11
- package/llms/patterns/brand-landing-page.md +2 -2
- package/llms/patterns/chat-panel.md +2 -2
- package/llms/patterns/dashboard-page.md +78 -78
- package/llms/patterns/feed-page.md +31 -31
- package/llms/patterns/landing-page.md +1 -1
- package/llms/patterns/list-detail-page.md +18 -18
- package/llms/patterns/settings-page.md +18 -18
- package/llms/reference/token-intent.md +25 -11
- package/llms/reference/utilities.md +1 -1
- package/llms/tasks/adding-a-component.md +4 -1
- package/llms/tasks/building-a-page.md +40 -0
- package/llms/tasks/converting-an-app.md +3 -1
- package/llms/tasks/using-presets.md +4 -0
- package/llms-full.txt +457 -347
- package/llms.txt +8 -8
- package/package.json +4 -4
- package/registry.json +397 -233
- package/scripts/lint-rules.mjs +26 -5
- package/skills/sable/SKILL.md +14 -3
|
@@ -38,9 +38,9 @@ var roleLabel = {
|
|
|
38
38
|
};
|
|
39
39
|
var roleSummary = {
|
|
40
40
|
owner: "Full access, including payouts and billing. Transfer ownership in studio settings.",
|
|
41
|
-
admin: "Manages members,
|
|
42
|
-
editor: "Drafts,
|
|
43
|
-
viewer: "Sees
|
|
41
|
+
admin: "Manages members, projects and billing.",
|
|
42
|
+
editor: "Drafts, edits and publishes projects.",
|
|
43
|
+
viewer: "Sees projects and reports, but can't change them."
|
|
44
44
|
};
|
|
45
45
|
var seats = 10;
|
|
46
46
|
var initialMembers = [
|
|
@@ -54,9 +54,9 @@ var initialMembers = [
|
|
|
54
54
|
pending: false,
|
|
55
55
|
joined: "Mar 4, 2024",
|
|
56
56
|
lastActive: "Online now",
|
|
57
|
-
|
|
57
|
+
projects: 12,
|
|
58
58
|
activity: [
|
|
59
|
-
{ id: "a1", icon: "
|
|
59
|
+
{ id: "a1", icon: "file", text: "Published the Analytical Engine No. 3 roadmap", when: "2 hours ago" },
|
|
60
60
|
{ id: "a2", icon: "mail", text: "Invited louise@bourgeois.studio as Editor", when: "2 days ago" }
|
|
61
61
|
]
|
|
62
62
|
},
|
|
@@ -70,11 +70,11 @@ var initialMembers = [
|
|
|
70
70
|
pending: false,
|
|
71
71
|
joined: "Mar 9, 2024",
|
|
72
72
|
lastActive: "20 minutes ago",
|
|
73
|
-
|
|
73
|
+
projects: 4,
|
|
74
74
|
activity: [
|
|
75
75
|
{ id: "a1", icon: "user", text: "Changed Frida Kahlo's role to Viewer", when: "Yesterday" },
|
|
76
|
-
{ id: "a2", icon: "edit", text: "Updated
|
|
77
|
-
{ id: "a3", icon: "
|
|
76
|
+
{ id: "a2", icon: "edit", text: "Updated the budget on First Compiler", when: "3 days ago" },
|
|
77
|
+
{ id: "a3", icon: "file", text: "Created the First Compiler project", when: "Sep 28" }
|
|
78
78
|
]
|
|
79
79
|
},
|
|
80
80
|
{
|
|
@@ -87,10 +87,10 @@ var initialMembers = [
|
|
|
87
87
|
pending: false,
|
|
88
88
|
joined: "Jun 18, 2024",
|
|
89
89
|
lastActive: "3 hours ago",
|
|
90
|
-
|
|
90
|
+
projects: 7,
|
|
91
91
|
activity: [
|
|
92
92
|
{ id: "a1", icon: "calendar", text: "Scheduled Frankenstein Studies for Oct 14", when: "3 hours ago" },
|
|
93
|
-
{ id: "a2", icon: "
|
|
93
|
+
{ id: "a2", icon: "file", text: "Published The Last Man report", when: "Sep 21" }
|
|
94
94
|
]
|
|
95
95
|
},
|
|
96
96
|
{
|
|
@@ -103,10 +103,10 @@ var initialMembers = [
|
|
|
103
103
|
pending: false,
|
|
104
104
|
joined: "Jan 12, 2025",
|
|
105
105
|
lastActive: "Yesterday",
|
|
106
|
-
|
|
106
|
+
projects: 3,
|
|
107
107
|
activity: [
|
|
108
|
-
{ id: "a1", icon: "upload", text: "Uploaded
|
|
109
|
-
{ id: "a2", icon: "
|
|
108
|
+
{ id: "a1", icon: "upload", text: "Uploaded files for Little Girl Blue", when: "Yesterday" },
|
|
109
|
+
{ id: "a2", icon: "file", text: "Published the Feeling Good brief", when: "Aug 30" }
|
|
110
110
|
]
|
|
111
111
|
},
|
|
112
112
|
{
|
|
@@ -119,7 +119,7 @@ var initialMembers = [
|
|
|
119
119
|
pending: false,
|
|
120
120
|
joined: "Jul 2, 2025",
|
|
121
121
|
lastActive: "4 days ago",
|
|
122
|
-
|
|
122
|
+
projects: 0,
|
|
123
123
|
activity: [{ id: "a1", icon: "comment", text: "Commented on the Las Dos Fridas draft", when: "4 days ago" }]
|
|
124
124
|
},
|
|
125
125
|
{
|
|
@@ -321,8 +321,8 @@ function ListDetailPage() {
|
|
|
321
321
|
/* @__PURE__ */ jsx("dd", { children: selected.joined }),
|
|
322
322
|
/* @__PURE__ */ jsx("dt", { children: "Last active" }),
|
|
323
323
|
/* @__PURE__ */ jsx("dd", { className: selected.lastActive === "Online now" ? "text-success" : void 0, children: selected.lastActive }),
|
|
324
|
-
/* @__PURE__ */ jsx("dt", { children: "
|
|
325
|
-
/* @__PURE__ */ jsx("dd", { children: selected.
|
|
324
|
+
/* @__PURE__ */ jsx("dt", { children: "Projects owned" }),
|
|
325
|
+
/* @__PURE__ */ jsx("dd", { children: selected.projects })
|
|
326
326
|
] }) })
|
|
327
327
|
] }) }),
|
|
328
328
|
selected.role !== "owner" ? /* @__PURE__ */ jsx(CardFooter, { children: /* @__PURE__ */ jsxs(Row, { gap: 2, wrap: true, children: [
|
|
@@ -358,7 +358,7 @@ function ListDetailPage() {
|
|
|
358
358
|
open: confirming,
|
|
359
359
|
onOpenChange: setConfirming,
|
|
360
360
|
title: selected.pending ? "Revoke this invite?" : `Remove ${selected.name}?`,
|
|
361
|
-
description: selected.pending ? `${selected.email} won't be able to join with the link they were sent.` : "They lose access to the
|
|
361
|
+
description: selected.pending ? `${selected.email} won't be able to join with the link they were sent.` : "They lose access to the workspace right away. Projects they own stay with the team.",
|
|
362
362
|
confirmLabel: selected.pending ? "Revoke invite" : "Remove member",
|
|
363
363
|
onConfirm: () => remove(selected.id)
|
|
364
364
|
}
|
|
@@ -52,16 +52,16 @@ var timezones = [
|
|
|
52
52
|
{ value: "asia-tokyo", label: "Tokyo (GMT+9)" }
|
|
53
53
|
];
|
|
54
54
|
var notifications = [
|
|
55
|
-
{ name: "
|
|
56
|
-
{ name: "
|
|
57
|
-
{ name: "
|
|
58
|
-
{ name: "notifyDigest", title: "Weekly digest", description: "
|
|
55
|
+
{ name: "notifyComments", title: "New comments", description: "When someone comments on your work", on: true },
|
|
56
|
+
{ name: "notifyInvoicePaid", title: "Invoice paid", description: "When a customer pays an invoice", on: true },
|
|
57
|
+
{ name: "notifyMembers", title: "New members", description: "When someone joins your workspace", on: false },
|
|
58
|
+
{ name: "notifyDigest", title: "Weekly digest", description: "Activity and usage, every Monday", on: true },
|
|
59
59
|
{ name: "notifyProduct", title: "Product updates", description: "New Atelier features", on: false }
|
|
60
60
|
];
|
|
61
61
|
var payouts = [
|
|
62
62
|
{ label: "Next payout", value: "$1,284.60", note: "Friday, Oct 16" },
|
|
63
63
|
{ label: "Pending", value: "$412.00", note: "Clears in 7 days" },
|
|
64
|
-
{ label: "Paid this year", value: "$18,920.00", note: "Across 214
|
|
64
|
+
{ label: "Paid this year", value: "$18,920.00", note: "Across 214 invoices" }
|
|
65
65
|
];
|
|
66
66
|
function SettingsPage() {
|
|
67
67
|
const [activeSection, setActiveSection] = useState("profile");
|
|
@@ -81,8 +81,8 @@ function SettingsPage() {
|
|
|
81
81
|
),
|
|
82
82
|
bottomNav: /* @__PURE__ */ jsxs(BottomNav, { "aria-label": "Primary", children: [
|
|
83
83
|
/* @__PURE__ */ jsx(BottomNavItem, { icon: /* @__PURE__ */ jsx(Icon, { name: "grid" }), label: "Overview", showLabel: true, render: /* @__PURE__ */ jsx("a", { href: "/" }) }),
|
|
84
|
-
/* @__PURE__ */ jsx(BottomNavItem, { icon: /* @__PURE__ */ jsx(Icon, { name: "
|
|
85
|
-
/* @__PURE__ */ jsx(BottomNavItem, { icon: /* @__PURE__ */ jsx(Icon, { name: "user" }), label: "
|
|
84
|
+
/* @__PURE__ */ jsx(BottomNavItem, { icon: /* @__PURE__ */ jsx(Icon, { name: "folder" }), label: "Accounts", showLabel: true, render: /* @__PURE__ */ jsx("a", { href: "/accounts" }) }),
|
|
85
|
+
/* @__PURE__ */ jsx(BottomNavItem, { icon: /* @__PURE__ */ jsx(Icon, { name: "user" }), label: "Customers", showLabel: true, render: /* @__PURE__ */ jsx("a", { href: "/customers" }) }),
|
|
86
86
|
/* @__PURE__ */ jsx(BottomNavItem, { icon: /* @__PURE__ */ jsx(Icon, { name: "bell" }), label: "Activity", showLabel: true, render: /* @__PURE__ */ jsx("a", { href: "/activity" }) }),
|
|
87
87
|
/* @__PURE__ */ jsx(BottomNavItem, { icon: /* @__PURE__ */ jsx(Icon, { name: "gear" }), label: "Settings", showLabel: true, active: true, render: /* @__PURE__ */ jsx("a", { href: "/settings" }) })
|
|
88
88
|
] }),
|
|
@@ -90,8 +90,8 @@ function SettingsPage() {
|
|
|
90
90
|
/* @__PURE__ */ jsx(SidebarHeader, { children: /* @__PURE__ */ jsx(SidebarBrand, { mark: /* @__PURE__ */ jsx(Icon, { name: "gem", variant: "solid" }), label: "Atelier", render: /* @__PURE__ */ jsx("a", { href: "/" }) }) }),
|
|
91
91
|
/* @__PURE__ */ jsxs(SidebarNav, { children: [
|
|
92
92
|
/* @__PURE__ */ jsx(SidebarItem, { icon: /* @__PURE__ */ jsx(Icon, { name: "grid" }), label: "Overview", render: /* @__PURE__ */ jsx("a", { href: "/" }) }),
|
|
93
|
-
/* @__PURE__ */ jsx(SidebarItem, { icon: /* @__PURE__ */ jsx(Icon, { name: "
|
|
94
|
-
/* @__PURE__ */ jsx(SidebarItem, { icon: /* @__PURE__ */ jsx(Icon, { name: "user" }), label: "
|
|
93
|
+
/* @__PURE__ */ jsx(SidebarItem, { icon: /* @__PURE__ */ jsx(Icon, { name: "folder" }), label: "Accounts", render: /* @__PURE__ */ jsx("a", { href: "/accounts" }) }),
|
|
94
|
+
/* @__PURE__ */ jsx(SidebarItem, { icon: /* @__PURE__ */ jsx(Icon, { name: "user" }), label: "Customers", render: /* @__PURE__ */ jsx("a", { href: "/customers" }) }),
|
|
95
95
|
/* @__PURE__ */ jsx(
|
|
96
96
|
SidebarItem,
|
|
97
97
|
{
|
|
@@ -143,7 +143,7 @@ function SettingsPage() {
|
|
|
143
143
|
/* @__PURE__ */ jsxs(Card, { id: "profile", className: "scroll-mt-6", children: [
|
|
144
144
|
/* @__PURE__ */ jsxs(CardHeader, { children: [
|
|
145
145
|
/* @__PURE__ */ jsx(CardTitle, { render: /* @__PURE__ */ jsx("h2", {}), children: "Profile" }),
|
|
146
|
-
/* @__PURE__ */ jsx(CardDescription, { children: "How
|
|
146
|
+
/* @__PURE__ */ jsx(CardDescription, { children: "How your team sees you on Atelier." })
|
|
147
147
|
] }),
|
|
148
148
|
/* @__PURE__ */ jsxs(Form, { onSubmit: (event) => event.preventDefault(), className: "gap-0", children: [
|
|
149
149
|
/* @__PURE__ */ jsx(CardContent, { children: /* @__PURE__ */ jsxs(Stack, { gap: 3, children: [
|
|
@@ -161,14 +161,14 @@ function SettingsPage() {
|
|
|
161
161
|
/* @__PURE__ */ jsx(Field, { label: "Display name", name: "displayName", required: true, children: /* @__PURE__ */ jsx(Input, { defaultValue: "Ada Lovelace", autoComplete: "name" }) }),
|
|
162
162
|
/* @__PURE__ */ jsx(Field, { label: "Handle", name: "handle", description: "atelier.com/@ada", required: true, children: /* @__PURE__ */ jsx(Input, { defaultValue: "ada", autoComplete: "username", spellCheck: false }) })
|
|
163
163
|
] }),
|
|
164
|
-
/* @__PURE__ */ jsx(Field, { label: "Bio", name: "bio", description: "Shown on your profile and
|
|
164
|
+
/* @__PURE__ */ jsx(Field, { label: "Bio", name: "bio", description: "Shown on your profile and in comments.", children: /* @__PURE__ */ jsx(
|
|
165
165
|
Textarea,
|
|
166
166
|
{
|
|
167
167
|
rows: 3,
|
|
168
|
-
defaultValue: "
|
|
168
|
+
defaultValue: "Product designer working on tools for small teams. Writing about process every month."
|
|
169
169
|
}
|
|
170
170
|
) }),
|
|
171
|
-
/* @__PURE__ */ jsx(Grid, { cols: { base: 1, sm: 2 }, gap: 3, children: /* @__PURE__ */ jsx(Field, { label: "Timezone", name: "timezone", description: "
|
|
171
|
+
/* @__PURE__ */ jsx(Grid, { cols: { base: 1, sm: 2 }, gap: 3, children: /* @__PURE__ */ jsx(Field, { label: "Timezone", name: "timezone", description: "Due dates use this zone.", children: /* @__PURE__ */ jsxs(Select, { defaultValue: "europe-london", items: timezones, children: [
|
|
172
172
|
/* @__PURE__ */ jsx(SelectTrigger, {}),
|
|
173
173
|
/* @__PURE__ */ jsx(SelectContent, { children: timezones.map((zone) => /* @__PURE__ */ jsx(SelectItem, { value: zone.value, children: zone.label }, zone.value)) })
|
|
174
174
|
] }) }) })
|
|
@@ -179,7 +179,7 @@ function SettingsPage() {
|
|
|
179
179
|
/* @__PURE__ */ jsxs(Card, { id: "notifications", className: "scroll-mt-6", children: [
|
|
180
180
|
/* @__PURE__ */ jsxs(CardHeader, { children: [
|
|
181
181
|
/* @__PURE__ */ jsx(CardTitle, { render: /* @__PURE__ */ jsx("h2", {}), children: "Notifications" }),
|
|
182
|
-
/* @__PURE__ */ jsx(CardDescription, { children: "Email updates about your
|
|
182
|
+
/* @__PURE__ */ jsx(CardDescription, { children: "Email updates about your projects. Changes save automatically." })
|
|
183
183
|
] }),
|
|
184
184
|
/* @__PURE__ */ jsx(CardList, { children: notifications.map((item) => /* @__PURE__ */ jsx(
|
|
185
185
|
Entity,
|
|
@@ -230,7 +230,7 @@ function SettingsPage() {
|
|
|
230
230
|
{
|
|
231
231
|
leading: /* @__PURE__ */ jsx(Icon, { name: "download", className: "text-lg text-muted-foreground" }),
|
|
232
232
|
title: "Export data",
|
|
233
|
-
subtitle: "
|
|
233
|
+
subtitle: "Projects, invoices, and members",
|
|
234
234
|
action: /* @__PURE__ */ jsx(Button, { variant: "outline", size: "sm", children: "Export" })
|
|
235
235
|
}
|
|
236
236
|
)
|
|
@@ -239,7 +239,7 @@ function SettingsPage() {
|
|
|
239
239
|
/* @__PURE__ */ jsxs(Card, { children: [
|
|
240
240
|
/* @__PURE__ */ jsxs(CardHeader, { children: [
|
|
241
241
|
/* @__PURE__ */ jsx(CardTitle, { render: /* @__PURE__ */ jsx("h2", {}), children: "Delete account" }),
|
|
242
|
-
/* @__PURE__ */ jsx(CardDescription, { children: "Permanently remove your profile,
|
|
242
|
+
/* @__PURE__ */ jsx(CardDescription, { children: "Permanently remove your profile, projects, and billing history. Files you shared stay with your team." })
|
|
243
243
|
] }),
|
|
244
244
|
/* @__PURE__ */ jsx(CardFooter, { className: "justify-end", children: /* @__PURE__ */ jsx(Button, { variant: "destructive", onClick: () => setDeleteOpen(true), children: "Delete account" }) })
|
|
245
245
|
] })
|
|
@@ -252,7 +252,7 @@ function SettingsPage() {
|
|
|
252
252
|
open: deleteOpen,
|
|
253
253
|
onOpenChange: setDeleteOpen,
|
|
254
254
|
title: "Delete your account?",
|
|
255
|
-
description: "This permanently removes your profile, 12
|
|
255
|
+
description: "This permanently removes your profile, 12 projects, and billing history. Your final invoice is still sent. This can't be undone.",
|
|
256
256
|
confirmLabel: "Delete account",
|
|
257
257
|
confirmingLabel: "Deleting\u2026",
|
|
258
258
|
confirmText: "ada",
|
package/dist/presets/index.d.ts
CHANGED
package/dist/presets/index.js
CHANGED
|
@@ -7,11 +7,13 @@ import {
|
|
|
7
7
|
TYPE_REFINEMENT_TOKENS,
|
|
8
8
|
TYPE_OVERLINE_TOKENS,
|
|
9
9
|
DENSITY_TOKENS,
|
|
10
|
+
RHYTHM_TOKENS,
|
|
10
11
|
LAYERING_TOKENS,
|
|
11
12
|
WORKSPACE_SURFACE_TOKENS,
|
|
12
13
|
DERIVED_EDGE_TOKENS,
|
|
13
14
|
TYPE_UI_TOKENS,
|
|
14
|
-
ART_TOKENS
|
|
15
|
+
ART_TOKENS,
|
|
16
|
+
PALETTE_TOKENS
|
|
15
17
|
} from "../themes/_contract.js";
|
|
16
18
|
import { LABEL_CONTRAST_RULE, LABELLED_FILLS, checkLabelledFills } from "../themes/contrast.js";
|
|
17
19
|
import {
|
|
@@ -39,6 +41,7 @@ var PRESET_TOKEN_NAMES = [.../* @__PURE__ */ new Set([
|
|
|
39
41
|
...DERIVED_EDGE_TOKENS.map((name) => `theme-${name}`),
|
|
40
42
|
// Art direction: optional hooks — a preset without them paints the default art.
|
|
41
43
|
...ART_TOKENS.map((name) => `theme-${name}`),
|
|
44
|
+
...PALETTE_TOKENS.map((name) => `theme-${name}`),
|
|
42
45
|
...WORKSPACE_SURFACE_TOKENS,
|
|
43
46
|
...DERIVED_EDGE_TOKENS,
|
|
44
47
|
...RADIUS_TOKENS,
|
|
@@ -47,6 +50,7 @@ var PRESET_TOKEN_NAMES = [.../* @__PURE__ */ new Set([
|
|
|
47
50
|
...TYPE_REFINEMENT_TOKENS,
|
|
48
51
|
...TYPE_OVERLINE_TOKENS,
|
|
49
52
|
...DENSITY_TOKENS,
|
|
53
|
+
...RHYTHM_TOKENS,
|
|
50
54
|
...LAYERING_TOKENS,
|
|
51
55
|
...TYPE_UI_TOKENS,
|
|
52
56
|
"font-sans",
|
|
@@ -79,9 +83,20 @@ var STATUS_TEXT_FROM_FILL = {
|
|
|
79
83
|
"tone-warning-text": "tone-warning",
|
|
80
84
|
"tone-info-text": "tone-info"
|
|
81
85
|
};
|
|
86
|
+
var TONE_RENAMES = [
|
|
87
|
+
[/\btone-edition\b/g, "tone-1"],
|
|
88
|
+
[/\btone-collectible\b/g, "tone-2"],
|
|
89
|
+
[/\btone-standard\b/g, "tone-3"]
|
|
90
|
+
];
|
|
91
|
+
var renameTones = (name) => TONE_RENAMES.reduce((out, [from, to]) => out.replace(from, to), name);
|
|
82
92
|
function upgradePreset(input) {
|
|
83
93
|
if (!record(input) || !record(input.tokens)) return input;
|
|
84
|
-
const tokens = input.tokens;
|
|
94
|
+
const tokens = { ...input.tokens };
|
|
95
|
+
for (const group of ["shared", "light", "dark"]) {
|
|
96
|
+
const values = tokens[group];
|
|
97
|
+
if (!record(values)) continue;
|
|
98
|
+
tokens[group] = Object.fromEntries(Object.entries(values).map(([name, value]) => [renameTones(name), typeof value === "string" ? renameTones(value) : value]));
|
|
99
|
+
}
|
|
85
100
|
const shared = record(tokens.shared) ? tokens.shared : {};
|
|
86
101
|
const upgraded = { ...tokens };
|
|
87
102
|
for (const mode of ["light", "dark"]) {
|