@rebasepro/app 0.19.1 → 0.19.2-canary.g09316f6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/debug/UIReferenceView.d.ts +9 -5
- package/dist/debug/ui-reference/SectionBlock.d.ts +30 -0
- package/dist/debug/ui-reference/SystemSections.d.ts +17 -0
- package/dist/debug.js +1135 -561
- package/dist/index.es.js +13 -13
- package/dist/index.es.js.map +1 -1
- package/dist/vitePlugin.d.ts +17 -25
- package/dist/vitePlugin.js +29 -0
- package/package.json +7 -7
package/dist/debug.js
CHANGED
|
@@ -98,7 +98,7 @@ var UIStyleGuide = () => {
|
|
|
98
98
|
] })
|
|
99
99
|
] }) })
|
|
100
100
|
] }),
|
|
101
|
-
/* @__PURE__ */ jsx("section", { className: "mb-12", children: /* @__PURE__ */ jsxs("div", { className: "flex justify-between items-center bg-surface-
|
|
101
|
+
/* @__PURE__ */ jsx("section", { className: "mb-12", children: /* @__PURE__ */ jsxs("div", { className: "flex justify-between items-center bg-surface-frame p-8 rounded-xl border border-dashed border-surface-400", children: [
|
|
102
102
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
103
103
|
/* @__PURE__ */ jsx(Typography, { variant: "h5", children: "Dark Mode Check" }),
|
|
104
104
|
/* @__PURE__ */ jsx(Typography, { variant: "body2", color: "secondary", children: "Typography and buttons should adapt automatically." })
|
|
@@ -113,27 +113,27 @@ import React10, { useState as useState8 } from "react";
|
|
|
113
113
|
import {
|
|
114
114
|
Alert as Alert3,
|
|
115
115
|
AlertCircleIcon,
|
|
116
|
-
Avatar,
|
|
116
|
+
Avatar as Avatar2,
|
|
117
117
|
AppWindow,
|
|
118
118
|
BooleanSwitch,
|
|
119
|
-
Button as
|
|
119
|
+
Button as Button9,
|
|
120
120
|
Checkbox as Checkbox3,
|
|
121
121
|
ChevronDownIcon,
|
|
122
122
|
ChevronsLeftIcon,
|
|
123
123
|
ChevronsRightIcon,
|
|
124
|
-
Chip as
|
|
124
|
+
Chip as Chip8,
|
|
125
125
|
CircleUserIcon,
|
|
126
126
|
CircularProgress,
|
|
127
|
-
cls as
|
|
127
|
+
cls as cls12,
|
|
128
128
|
ColumnsIcon,
|
|
129
|
-
defaultBorderMixin as
|
|
129
|
+
defaultBorderMixin as defaultBorderMixin6,
|
|
130
130
|
FileIcon,
|
|
131
|
-
FileTextIcon as
|
|
131
|
+
FileTextIcon as FileTextIcon3,
|
|
132
132
|
FilterChip as FilterChip2,
|
|
133
133
|
FilterIcon,
|
|
134
134
|
FolderIcon,
|
|
135
|
-
IconButton as
|
|
136
|
-
iconSize as
|
|
135
|
+
IconButton as IconButton5,
|
|
136
|
+
iconSize as iconSize3,
|
|
137
137
|
KanbanIcon,
|
|
138
138
|
LayoutGridIcon as LayoutGridIcon2,
|
|
139
139
|
ListIcon as ListIcon2,
|
|
@@ -145,13 +145,13 @@ import {
|
|
|
145
145
|
MultiSelect,
|
|
146
146
|
MultiSelectItem,
|
|
147
147
|
PanelLeftIcon,
|
|
148
|
-
PencilIcon as
|
|
148
|
+
PencilIcon as PencilIcon3,
|
|
149
149
|
PlusIcon,
|
|
150
150
|
SearchBar as SearchBar4,
|
|
151
|
-
Select as
|
|
152
|
-
SelectItem as
|
|
151
|
+
Select as Select6,
|
|
152
|
+
SelectItem as SelectItem6,
|
|
153
153
|
Separator as Separator5,
|
|
154
|
-
SettingsIcon as
|
|
154
|
+
SettingsIcon as SettingsIcon3,
|
|
155
155
|
Skeleton as Skeleton6,
|
|
156
156
|
SunIcon,
|
|
157
157
|
SunMoonIcon,
|
|
@@ -163,11 +163,11 @@ import {
|
|
|
163
163
|
TableRow as TableRow2,
|
|
164
164
|
Tabs,
|
|
165
165
|
TagIcon,
|
|
166
|
-
TextField as
|
|
166
|
+
TextField as TextField3,
|
|
167
167
|
Tooltip as Tooltip3,
|
|
168
168
|
Trash2Icon as Trash2Icon3,
|
|
169
169
|
TypeIcon,
|
|
170
|
-
Typography as
|
|
170
|
+
Typography as Typography14,
|
|
171
171
|
UserIcon
|
|
172
172
|
} from "@rebasepro/ui";
|
|
173
173
|
|
|
@@ -456,8 +456,7 @@ function PipelineOverview({
|
|
|
456
456
|
{
|
|
457
457
|
className: cls3(
|
|
458
458
|
"flex flex-col items-center justify-center rounded-lg px-3 py-3 min-w-[72px] transition-colors duration-150 cursor-pointer",
|
|
459
|
-
"hover:bg-surface-
|
|
460
|
-
isEmpty ? "bg-surface-50 dark:bg-surface-900/20" : "bg-surface-100/50 dark:bg-surface-900/60"
|
|
459
|
+
isEmpty ? "bg-surface-field hover:bg-surface-field-hover" : "bg-surface-raised hover:bg-surface-raised-hover"
|
|
461
460
|
),
|
|
462
461
|
style: { flex: `${widthPercent} 1 0%` },
|
|
463
462
|
onClick: () => onNavigate(`/c/engagements?stage=${stage.stageKey}`),
|
|
@@ -502,7 +501,7 @@ function PipelineOverview({
|
|
|
502
501
|
) })
|
|
503
502
|
] }, stage.stageKey);
|
|
504
503
|
}),
|
|
505
|
-
activeStages.length > 0 && closedStages.length > 0 && /* @__PURE__ */ jsx4("div", { className: "flex items-center shrink-0 mx-2", children: /* @__PURE__ */ jsx4("div", { className: "w-px h-8 bg-surface-
|
|
504
|
+
activeStages.length > 0 && closedStages.length > 0 && /* @__PURE__ */ jsx4("div", { className: "flex items-center shrink-0 mx-2", children: /* @__PURE__ */ jsx4("div", { className: "w-px h-8 bg-surface-raised" }) }),
|
|
506
505
|
closedStages.map((stage, idx) => {
|
|
507
506
|
const isEmpty = stage.count === 0;
|
|
508
507
|
const stageColor = resolveColor2(stage.color);
|
|
@@ -514,9 +513,8 @@ function PipelineOverview({
|
|
|
514
513
|
{
|
|
515
514
|
className: cls3(
|
|
516
515
|
"flex flex-col items-center justify-center rounded-lg px-3 py-3 min-w-[72px] transition-colors duration-150 cursor-pointer",
|
|
517
|
-
"hover:bg-surface-accent-100 dark:hover:bg-surface-800",
|
|
518
516
|
"opacity-60",
|
|
519
|
-
isEmpty ? "bg-surface-
|
|
517
|
+
isEmpty ? "bg-surface-field hover:bg-surface-field-hover" : "bg-surface-raised hover:bg-surface-raised-hover"
|
|
520
518
|
),
|
|
521
519
|
style: { flex: "0 0 auto" },
|
|
522
520
|
onClick: () => onNavigate(`/c/engagements?stage=${stage.stageKey}`),
|
|
@@ -985,7 +983,7 @@ function TaskTable({
|
|
|
985
983
|
{
|
|
986
984
|
className: cls4(
|
|
987
985
|
"group flex items-start gap-3 py-2.5 px-3 rounded-md transition-colors duration-150 cursor-pointer",
|
|
988
|
-
"hover:bg-surface-
|
|
986
|
+
"hover:bg-surface-hover",
|
|
989
987
|
isCompleted && "opacity-60",
|
|
990
988
|
overdue && "border-l-2 border-l-red-500 rounded-l-none",
|
|
991
989
|
soon && !overdue && "border-l-2 border-l-amber-450 rounded-l-none"
|
|
@@ -1051,7 +1049,7 @@ function TaskTable({
|
|
|
1051
1049
|
(() => {
|
|
1052
1050
|
const clientPic = clientInfo?.picture;
|
|
1053
1051
|
const clientInitial = (clientName || "?")[0].toUpperCase();
|
|
1054
|
-
return clientPic ? /* @__PURE__ */ jsx7("img", { src: clientPic, alt: "", className: "w-4 h-4 rounded-full object-cover shrink-0" }) : /* @__PURE__ */ jsx7("div", { className: "w-4 h-4 rounded-full bg-surface-
|
|
1052
|
+
return clientPic ? /* @__PURE__ */ jsx7("img", { src: clientPic, alt: "", className: "w-4 h-4 rounded-full object-cover shrink-0" }) : /* @__PURE__ */ jsx7("div", { className: "w-4 h-4 rounded-full bg-surface-raised text-surface-500 dark:text-surface-400 flex items-center justify-center shrink-0", children: /* @__PURE__ */ jsx7("span", { className: "text-[9px] font-semibold", children: clientInitial }) });
|
|
1055
1053
|
})(),
|
|
1056
1054
|
clientName
|
|
1057
1055
|
]
|
|
@@ -1139,7 +1137,7 @@ function CompletedSection({
|
|
|
1139
1137
|
variant: "text",
|
|
1140
1138
|
size: "small",
|
|
1141
1139
|
color: "neutral",
|
|
1142
|
-
className: "w-full justify-between hover:bg-surface-
|
|
1140
|
+
className: "w-full justify-between hover:bg-surface-hover px-3 py-1.5 h-auto text-left",
|
|
1143
1141
|
onClick: handleToggle,
|
|
1144
1142
|
endIcon: /* @__PURE__ */ jsx7(
|
|
1145
1143
|
"svg",
|
|
@@ -1304,7 +1302,7 @@ function TasksView({
|
|
|
1304
1302
|
setSearchText("");
|
|
1305
1303
|
}, []);
|
|
1306
1304
|
const hasActiveFilter = quickFilter !== "all" || stageFilter !== null || clientFilter !== null || searchText !== "";
|
|
1307
|
-
return /* @__PURE__ */ jsx8("div", { className: "flex flex-col h-full bg-
|
|
1305
|
+
return /* @__PURE__ */ jsx8("div", { className: "flex flex-col h-full bg-surface-card", children: /* @__PURE__ */ jsxs8("div", { className: "flex flex-col gap-4 overflow-y-auto flex-1", children: [
|
|
1308
1306
|
/* @__PURE__ */ jsx8(
|
|
1309
1307
|
TaskFilters,
|
|
1310
1308
|
{
|
|
@@ -1542,7 +1540,7 @@ function CalendarWidget({ loading, tasks, onOpenTask }) {
|
|
|
1542
1540
|
"flex flex-col items-center justify-center py-1.5 rounded-md transition-colors duration-100 focus:outline-none",
|
|
1543
1541
|
day.isCurrentMonth ? "text-text-primary dark:text-text-primary-dark" : "text-surface-300 dark:text-surface-650",
|
|
1544
1542
|
day.isToday && !isSelected && "ring-1 ring-primary/50",
|
|
1545
|
-
isSelected ? "bg-primary/10 dark:bg-primary/15 ring-1 ring-primary/60" : "hover:bg-surface-
|
|
1543
|
+
isSelected ? "bg-primary/10 dark:bg-primary/15 ring-1 ring-primary/60" : "hover:bg-surface-hover",
|
|
1546
1544
|
hasTasks && "cursor-pointer"
|
|
1547
1545
|
),
|
|
1548
1546
|
children: [
|
|
@@ -1601,7 +1599,7 @@ function CalendarWidget({ loading, tasks, onOpenTask }) {
|
|
|
1601
1599
|
onClick: () => onOpenTask(task.id),
|
|
1602
1600
|
className: cls5(
|
|
1603
1601
|
"flex items-start gap-2 px-2 py-1.5 rounded-md text-left w-full",
|
|
1604
|
-
"hover:bg-surface-
|
|
1602
|
+
"hover:bg-surface-hover transition-colors duration-100 focus:outline-none"
|
|
1605
1603
|
),
|
|
1606
1604
|
children: [
|
|
1607
1605
|
/* @__PURE__ */ jsx9(
|
|
@@ -2128,7 +2126,7 @@ function CrmDashboardDemo() {
|
|
|
2128
2126
|
/* @__PURE__ */ jsx10(Typography8, { variant: "h6", className: isCompleted ? "line-through text-text-disabled dark:text-text-disabled-dark" : "text-text-primary dark:text-text-primary-dark", children: task.values.title })
|
|
2129
2127
|
] })
|
|
2130
2128
|
] }),
|
|
2131
|
-
/* @__PURE__ */ jsxs10("div", { className: "grid grid-cols-2 gap-4 py-2 border-y border-
|
|
2129
|
+
/* @__PURE__ */ jsxs10("div", { className: "grid grid-cols-2 gap-4 py-2 border-y border-hairline-strong", children: [
|
|
2132
2130
|
/* @__PURE__ */ jsxs10("div", { children: [
|
|
2133
2131
|
/* @__PURE__ */ jsx10(Typography8, { variant: "caption", color: "secondary", className: "uppercase text-[9px] tracking-wider block", children: "Due Date" }),
|
|
2134
2132
|
/* @__PURE__ */ jsxs10(Typography8, { variant: "body2", className: "font-medium mt-0.5 inline-flex items-center gap-1", children: [
|
|
@@ -2146,10 +2144,10 @@ function CrmDashboardDemo() {
|
|
|
2146
2144
|
/* @__PURE__ */ jsx10(
|
|
2147
2145
|
Card5,
|
|
2148
2146
|
{
|
|
2149
|
-
className: "p-3 hover:bg-surface-
|
|
2147
|
+
className: "p-3 hover:bg-surface-hover cursor-pointer transition-colors duration-150",
|
|
2150
2148
|
onClick: () => openClientDrawer(clientInfo.id),
|
|
2151
2149
|
children: /* @__PURE__ */ jsxs10("div", { className: "flex items-center gap-2.5", children: [
|
|
2152
|
-
/* @__PURE__ */ jsx10("div", { className: "w-8 h-8 rounded-full bg-surface-
|
|
2150
|
+
/* @__PURE__ */ jsx10("div", { className: "w-8 h-8 rounded-full bg-surface-raised text-surface-500 flex items-center justify-center font-semibold", children: clientInfo.name[0].toUpperCase() }),
|
|
2153
2151
|
/* @__PURE__ */ jsxs10("div", { className: "flex-1 min-w-0", children: [
|
|
2154
2152
|
/* @__PURE__ */ jsx10(Typography8, { variant: "body2", className: "font-medium truncate", children: clientInfo.name }),
|
|
2155
2153
|
/* @__PURE__ */ jsx10(Typography8, { variant: "caption", color: "secondary", className: "truncate text-[11px] block", children: clientInfo.email })
|
|
@@ -2164,7 +2162,7 @@ function CrmDashboardDemo() {
|
|
|
2164
2162
|
] }),
|
|
2165
2163
|
task.values.description && /* @__PURE__ */ jsxs10("div", { children: [
|
|
2166
2164
|
/* @__PURE__ */ jsx10(Typography8, { variant: "caption", color: "secondary", className: "uppercase text-[9px] tracking-wider block mb-0.5", children: "Description" }),
|
|
2167
|
-
/* @__PURE__ */ jsx10("div", { className: "p-3 bg-surface-
|
|
2165
|
+
/* @__PURE__ */ jsx10("div", { className: "p-3 bg-surface-field rounded-md border border-hairline", children: /* @__PURE__ */ jsx10(Typography8, { variant: "body2", className: "whitespace-pre-wrap text-text-primary dark:text-text-primary-dark", children: task.values.description }) })
|
|
2168
2166
|
] }),
|
|
2169
2167
|
task.values.notes && /* @__PURE__ */ jsxs10("div", { children: [
|
|
2170
2168
|
/* @__PURE__ */ jsx10(Typography8, { variant: "caption", color: "secondary", className: "uppercase text-[9px] tracking-wider block mb-0.5", children: "Notes" }),
|
|
@@ -2192,7 +2190,7 @@ function CrmDashboardDemo() {
|
|
|
2192
2190
|
] })
|
|
2193
2191
|
] })
|
|
2194
2192
|
] }),
|
|
2195
|
-
/* @__PURE__ */ jsxs10("div", { className: "space-y-2.5 py-3 border-y border-
|
|
2193
|
+
/* @__PURE__ */ jsxs10("div", { className: "space-y-2.5 py-3 border-y border-hairline-strong", children: [
|
|
2196
2194
|
/* @__PURE__ */ jsxs10("div", { className: "flex items-center gap-2 text-surface-600 dark:text-surface-300", children: [
|
|
2197
2195
|
/* @__PURE__ */ jsx10(MailIcon2, { className: "h-4 w-4 text-surface-400" }),
|
|
2198
2196
|
/* @__PURE__ */ jsx10(Typography8, { variant: "body2", children: client.email })
|
|
@@ -2207,7 +2205,7 @@ function CrmDashboardDemo() {
|
|
|
2207
2205
|
clientTasks.length === 0 ? /* @__PURE__ */ jsx10(Typography8, { variant: "body2", color: "secondary", className: "italic", children: "No pending tasks for this client." }) : /* @__PURE__ */ jsx10("div", { className: "space-y-1.5", children: clientTasks.map((t) => /* @__PURE__ */ jsx10(
|
|
2208
2206
|
Card5,
|
|
2209
2207
|
{
|
|
2210
|
-
className: "p-2.5 hover:bg-surface-
|
|
2208
|
+
className: "p-2.5 hover:bg-surface-hover cursor-pointer transition-colors duration-150",
|
|
2211
2209
|
onClick: () => openTaskDrawer(t.id),
|
|
2212
2210
|
children: /* @__PURE__ */ jsxs10("div", { className: "flex items-start gap-2", children: [
|
|
2213
2211
|
/* @__PURE__ */ jsx10(
|
|
@@ -2339,7 +2337,7 @@ Francesco`,
|
|
|
2339
2337
|
)
|
|
2340
2338
|
] })
|
|
2341
2339
|
] }),
|
|
2342
|
-
/* @__PURE__ */ jsxs10("div", { className: "flex items-center gap-2 pt-6 border-t border-
|
|
2340
|
+
/* @__PURE__ */ jsxs10("div", { className: "flex items-center gap-2 pt-6 border-t border-hairline-strong mt-6", children: [
|
|
2343
2341
|
/* @__PURE__ */ jsx10(
|
|
2344
2342
|
Button7,
|
|
2345
2343
|
{
|
|
@@ -2364,7 +2362,7 @@ Francesco`,
|
|
|
2364
2362
|
] })
|
|
2365
2363
|
] });
|
|
2366
2364
|
};
|
|
2367
|
-
return /* @__PURE__ */ jsxs10("div", { className: "relative w-full border rounded-xl bg-surface-
|
|
2365
|
+
return /* @__PURE__ */ jsxs10("div", { className: "relative w-full border rounded-xl bg-surface-sheet border-hairline-strong shadow-sm flex flex-row", children: [
|
|
2368
2366
|
/* @__PURE__ */ jsxs10("div", { className: "flex-1 flex flex-col p-4 md:p-6 transition-all duration-300", children: [
|
|
2369
2367
|
/* @__PURE__ */ jsxs10("div", { className: "flex flex-col sm:flex-row sm:items-end justify-between mb-6 gap-4", children: [
|
|
2370
2368
|
/* @__PURE__ */ jsxs10("div", { children: [
|
|
@@ -2480,16 +2478,16 @@ Francesco`,
|
|
|
2480
2478
|
] })
|
|
2481
2479
|
] }),
|
|
2482
2480
|
/* @__PURE__ */ jsxs10("div", { className: cls6(
|
|
2483
|
-
"fixed top-0 right-0 bottom-0 w-full sm:w-[420px] bg-
|
|
2481
|
+
"fixed top-0 right-0 bottom-0 w-full sm:w-[420px] bg-surface-card border-l border-hairline-strong shadow-2xl z-40 transition-transform duration-300 ease-in-out flex flex-col",
|
|
2484
2482
|
activeSideEntity ? "translate-x-0" : "translate-x-full"
|
|
2485
2483
|
), children: [
|
|
2486
|
-
/* @__PURE__ */ jsxs10("div", { className: "p-4 flex items-center justify-between border-b border-
|
|
2484
|
+
/* @__PURE__ */ jsxs10("div", { className: "p-4 flex items-center justify-between border-b border-hairline", children: [
|
|
2487
2485
|
/* @__PURE__ */ jsx10(Typography8, { variant: "subtitle1", className: "font-semibold uppercase tracking-wider text-[10px] color-secondary", children: activeSideEntity?.type === "task" ? "Task Details" : activeSideEntity?.type === "client" ? "Client profile" : "Create Lead" }),
|
|
2488
2486
|
/* @__PURE__ */ jsx10(
|
|
2489
2487
|
"button",
|
|
2490
2488
|
{
|
|
2491
2489
|
onClick: () => setActiveSideEntity(null),
|
|
2492
|
-
className: "p-1 rounded-md text-surface-400 hover:text-surface-700 hover:bg-surface-
|
|
2490
|
+
className: "p-1 rounded-md text-surface-400 hover:text-surface-700 hover:bg-surface-hover focus:outline-none",
|
|
2493
2491
|
children: /* @__PURE__ */ jsx10(XIcon2, { className: "h-4 w-4" })
|
|
2494
2492
|
}
|
|
2495
2493
|
)
|
|
@@ -2657,7 +2655,7 @@ function CollectionTableDemo() {
|
|
|
2657
2655
|
/* @__PURE__ */ jsx11(TableCell, { children: /* @__PURE__ */ jsx11(Chip4, { colorScheme: STATUS_CONFIG[project.status].color, size: "small", children: STATUS_CONFIG[project.status].label }) }),
|
|
2658
2656
|
/* @__PURE__ */ jsx11(TableCell, { children: /* @__PURE__ */ jsx11(Chip4, { colorScheme: PRIORITY_CONFIG[project.priority].color, size: "smallest", outlined: true, children: PRIORITY_CONFIG[project.priority].label }) }),
|
|
2659
2657
|
/* @__PURE__ */ jsx11(TableCell, { children: /* @__PURE__ */ jsxs11("div", { className: "flex items-center gap-2", children: [
|
|
2660
|
-
/* @__PURE__ */ jsx11("div", { className: "w-6 h-6 rounded-full bg-surface-
|
|
2658
|
+
/* @__PURE__ */ jsx11("div", { className: "w-6 h-6 rounded-full bg-surface-raised text-surface-500 flex items-center justify-center text-[10px] font-semibold shrink-0", children: project.assignee[0] }),
|
|
2661
2659
|
/* @__PURE__ */ jsx11(Typography9, { variant: "body2", className: "truncate", children: project.assignee })
|
|
2662
2660
|
] }) }),
|
|
2663
2661
|
/* @__PURE__ */ jsx11(TableCell, { children: /* @__PURE__ */ jsx11("div", { className: "flex flex-wrap gap-1", children: project.tags.map((tag) => /* @__PURE__ */ jsx11(Chip4, { size: "smallest", colorScheme: "cyan", children: tag }, tag)) }) }),
|
|
@@ -2736,7 +2734,7 @@ function ProjectCard({ project, compact }) {
|
|
|
2736
2734
|
const priorityCfg = PRIORITY_CONFIG[project.priority];
|
|
2737
2735
|
const isOverdue = new Date(project.dueDate) < /* @__PURE__ */ new Date() && project.status !== "done";
|
|
2738
2736
|
return /* @__PURE__ */ jsxs12(Card6, { className: cls8("cursor-pointer overflow-hidden group relative", "transition-all duration-200", "hover:shadow-lg hover:-translate-y-0.5"), children: [
|
|
2739
|
-
/* @__PURE__ */ jsxs12("div", { className: cls8("relative overflow-hidden bg-surface-
|
|
2737
|
+
/* @__PURE__ */ jsxs12("div", { className: cls8("relative overflow-hidden bg-surface-raised", compact ? "h-20" : "aspect-[5/2]"), children: [
|
|
2740
2738
|
/* @__PURE__ */ jsx12("div", { className: "absolute inset-0 opacity-20 transition-all duration-300", style: { background: `linear-gradient(90deg, var(--color-primary) ${project.progress}%, transparent ${project.progress}%)` } }),
|
|
2741
2739
|
/* @__PURE__ */ jsxs12("div", { className: "absolute inset-0 flex flex-col items-center justify-center gap-1", children: [
|
|
2742
2740
|
/* @__PURE__ */ jsx12(FolderKanbanIcon, { size: compact ? 20 : 28, className: "text-surface-400 dark:text-surface-500" }),
|
|
@@ -2762,7 +2760,7 @@ function ProjectCard({ project, compact }) {
|
|
|
2762
2760
|
] }),
|
|
2763
2761
|
!compact && /* @__PURE__ */ jsxs12("div", { className: cls8("flex items-center justify-between mt-2 pt-2 border-t", defaultBorderMixin3), children: [
|
|
2764
2762
|
/* @__PURE__ */ jsxs12("div", { className: "flex items-center gap-1.5", children: [
|
|
2765
|
-
/* @__PURE__ */ jsx12("div", { className: "w-5 h-5 rounded-full bg-surface-
|
|
2763
|
+
/* @__PURE__ */ jsx12("div", { className: "w-5 h-5 rounded-full bg-surface-raised text-surface-500 flex items-center justify-center text-[9px] font-semibold", children: project.assignee[0] }),
|
|
2766
2764
|
/* @__PURE__ */ jsx12(Typography10, { variant: "caption", color: "secondary", className: "truncate max-w-[100px]", children: project.assignee })
|
|
2767
2765
|
] }),
|
|
2768
2766
|
/* @__PURE__ */ jsx12(Typography10, { variant: "caption", className: cls8("font-mono text-[10px]", isOverdue ? "text-red-500 font-semibold" : "text-surface-400"), children: project.dueDate })
|
|
@@ -2783,13 +2781,13 @@ function KanbanProjectCard({ item, isDragging, isGroupedOver, style }) {
|
|
|
2783
2781
|
const priorityCfg = PRIORITY_CONFIG[project.priority];
|
|
2784
2782
|
const isOverdue = new Date(project.dueDate) < /* @__PURE__ */ new Date() && project.status !== "done";
|
|
2785
2783
|
const backgroundColor = useMemo6(() => {
|
|
2786
|
-
if (isDragging) return "bg-surface-
|
|
2787
|
-
if (isGroupedOver) return "bg-surface-
|
|
2788
|
-
return "bg-
|
|
2784
|
+
if (isDragging) return "bg-surface-raised";
|
|
2785
|
+
if (isGroupedOver) return "bg-surface-raised";
|
|
2786
|
+
return "bg-surface-card hover:bg-surface-hover";
|
|
2789
2787
|
}, [isDragging, isGroupedOver]);
|
|
2790
2788
|
const borderColor = useMemo6(() => isDragging ? "ring-2 ring-primary" : "", [isDragging]);
|
|
2791
2789
|
return /* @__PURE__ */ jsx13("div", { style, className: "py-1", "data-testid": item.id, children: /* @__PURE__ */ jsxs13("div", { className: cls9("group/card p-2 flex items-start border rounded-lg cursor-pointer transition-all duration-200", defaultBorderMixin4, borderColor, backgroundColor, "hover:shadow-sm"), children: [
|
|
2792
|
-
/* @__PURE__ */ jsx13("div", { className: "w-10 h-10 rounded-md shrink-0 mr-2 bg-surface-
|
|
2790
|
+
/* @__PURE__ */ jsx13("div", { className: "w-10 h-10 rounded-md shrink-0 mr-2 bg-surface-raised flex items-center justify-center", children: /* @__PURE__ */ jsx13(FolderKanbanIcon2, { size: 16, className: "text-surface-400" }) }),
|
|
2793
2791
|
/* @__PURE__ */ jsxs13("div", { className: "flex-1 min-w-0", children: [
|
|
2794
2792
|
/* @__PURE__ */ jsx13("div", { className: "line-clamp-2 text-sm font-medium", children: project.name }),
|
|
2795
2793
|
/* @__PURE__ */ jsx13("div", { className: "text-xs text-surface-500 mt-1 line-clamp-2 opacity-80", children: project.description }),
|
|
@@ -2799,7 +2797,7 @@ function KanbanProjectCard({ item, isDragging, isGroupedOver, style }) {
|
|
|
2799
2797
|
] }),
|
|
2800
2798
|
/* @__PURE__ */ jsxs13("div", { className: "flex items-center justify-between mt-1.5", children: [
|
|
2801
2799
|
/* @__PURE__ */ jsxs13("div", { className: "flex items-center gap-1", children: [
|
|
2802
|
-
/* @__PURE__ */ jsx13("div", { className: "w-4 h-4 rounded-full bg-surface-
|
|
2800
|
+
/* @__PURE__ */ jsx13("div", { className: "w-4 h-4 rounded-full bg-surface-raised text-surface-500 flex items-center justify-center text-[8px] font-semibold", children: project.assignee[0] }),
|
|
2803
2801
|
/* @__PURE__ */ jsx13(Typography11, { variant: "caption", color: "secondary", className: "truncate max-w-[80px] text-[10px]", children: project.assignee })
|
|
2804
2802
|
] }),
|
|
2805
2803
|
/* @__PURE__ */ jsx13(Typography11, { variant: "caption", className: cls9("font-mono text-[10px]", isOverdue ? "text-red-500 font-semibold" : "text-surface-400"), children: project.dueDate })
|
|
@@ -2849,27 +2847,500 @@ function KanbanBoardDemo() {
|
|
|
2849
2847
|
] });
|
|
2850
2848
|
}
|
|
2851
2849
|
|
|
2852
|
-
// src/debug/
|
|
2850
|
+
// src/debug/ui-reference/SectionBlock.tsx
|
|
2851
|
+
import { cls as cls10, defaultBorderMixin as defaultBorderMixin5, Typography as Typography12 } from "@rebasepro/ui";
|
|
2853
2852
|
import { jsx as jsx14, jsxs as jsxs14 } from "react/jsx-runtime";
|
|
2853
|
+
function SectionBlock({ id, title, wide, children }) {
|
|
2854
|
+
return /* @__PURE__ */ jsx14("section", { id, className: cls10("px-6 py-8 border-b scroll-mt-0", defaultBorderMixin5), children: /* @__PURE__ */ jsxs14("div", { className: wide ? void 0 : "max-w-5xl", children: [
|
|
2855
|
+
/* @__PURE__ */ jsx14(Typography12, { variant: "h5", className: "mb-1", children: title }),
|
|
2856
|
+
/* @__PURE__ */ jsx14("div", { className: "mt-4", children })
|
|
2857
|
+
] }) });
|
|
2858
|
+
}
|
|
2859
|
+
function SpecimenLabel({ children, className }) {
|
|
2860
|
+
return /* @__PURE__ */ jsx14(Typography12, { variant: "caption", color: "secondary", className: cls10("block mb-2 font-mono", className), children });
|
|
2861
|
+
}
|
|
2862
|
+
function Dot({ className }) {
|
|
2863
|
+
return /* @__PURE__ */ jsx14("span", { "aria-hidden": true, className: cls10("inline-block w-1.5 h-1.5 rounded-full shrink-0", className) });
|
|
2864
|
+
}
|
|
2865
|
+
|
|
2866
|
+
// src/debug/ui-reference/SystemSections.tsx
|
|
2867
|
+
import {
|
|
2868
|
+
Avatar,
|
|
2869
|
+
Button as Button8,
|
|
2870
|
+
Card as Card7,
|
|
2871
|
+
CheckIcon as CheckIcon2,
|
|
2872
|
+
Chip as Chip7,
|
|
2873
|
+
cls as cls11,
|
|
2874
|
+
codeSurfaceMixin,
|
|
2875
|
+
DatabaseIcon,
|
|
2876
|
+
FileTextIcon as FileTextIcon2,
|
|
2877
|
+
getColorSchemeForKey,
|
|
2878
|
+
IconButton as IconButton4,
|
|
2879
|
+
iconSize as iconSize2,
|
|
2880
|
+
ImageIcon,
|
|
2881
|
+
Paper as Paper2,
|
|
2882
|
+
paperMixin,
|
|
2883
|
+
PencilIcon as PencilIcon2,
|
|
2884
|
+
Select as Select5,
|
|
2885
|
+
SelectItem as SelectItem5,
|
|
2886
|
+
SettingsIcon as SettingsIcon2,
|
|
2887
|
+
ShoppingCartIcon,
|
|
2888
|
+
TextField as TextField2,
|
|
2889
|
+
Typography as Typography13,
|
|
2890
|
+
UploadIcon,
|
|
2891
|
+
UsersIcon as UsersIcon3
|
|
2892
|
+
} from "@rebasepro/ui";
|
|
2893
|
+
import { jsx as jsx15, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
2894
|
+
var PRINCIPLES = [
|
|
2895
|
+
{
|
|
2896
|
+
title: "The chrome is monochrome. A hue is information.",
|
|
2897
|
+
body: "Every control is a shade of the surface ladder. Colour appears where it means something: a dot for a state, a tint behind a value the operator chose, an outline, an icon, and the one filled button a screen has for its main action.",
|
|
2898
|
+
specimen: /* @__PURE__ */ jsxs15("div", { className: "flex flex-wrap items-center gap-3", children: [
|
|
2899
|
+
/* @__PURE__ */ jsxs15("span", { className: "inline-flex items-center gap-2 text-sm", children: [
|
|
2900
|
+
/* @__PURE__ */ jsx15(Dot, { className: "bg-green-500" }),
|
|
2901
|
+
"Live"
|
|
2902
|
+
] }),
|
|
2903
|
+
/* @__PURE__ */ jsx15(Chip7, { colorScheme: "blue", size: "small", children: "Published" }),
|
|
2904
|
+
/* @__PURE__ */ jsx15(Chip7, { colorScheme: "red", size: "small", outlined: true, children: "Overdue" }),
|
|
2905
|
+
/* @__PURE__ */ jsx15(Button8, { size: "small", children: "Cancel" }),
|
|
2906
|
+
/* @__PURE__ */ jsx15(Button8, { size: "small", color: "primary", children: "Save" })
|
|
2907
|
+
] })
|
|
2908
|
+
},
|
|
2909
|
+
{
|
|
2910
|
+
title: "Two voices: Inter for words, JetBrains Mono for anything measured.",
|
|
2911
|
+
body: "What a person reads is set in the sans. What the system measured \u2014 a count, a size, a timestamp, an id, a path \u2014 is set in the mono tier, muted, and it lines up in columns because the digits are tabular.",
|
|
2912
|
+
specimen: /* @__PURE__ */ jsxs15("div", { className: "flex flex-wrap items-baseline gap-x-6 gap-y-2", children: [
|
|
2913
|
+
/* @__PURE__ */ jsx15(Typography13, { variant: "body1", component: "span", children: "Orders" }),
|
|
2914
|
+
/* @__PURE__ */ jsx15(Typography13, { variant: "mono", component: "span", color: "secondary", className: "text-xs", children: "1,284 rows" }),
|
|
2915
|
+
/* @__PURE__ */ jsx15(Typography13, { variant: "mono", component: "span", color: "secondary", className: "text-xs", children: "16/08/2026, 05:30" }),
|
|
2916
|
+
/* @__PURE__ */ jsx15(Typography13, { variant: "mono", component: "span", color: "secondary", className: "text-xs", children: "europe-west1" })
|
|
2917
|
+
] })
|
|
2918
|
+
},
|
|
2919
|
+
{
|
|
2920
|
+
title: "Depth is a lightness step plus a hairline. Nothing casts a shadow unless it floats.",
|
|
2921
|
+
body: "Frame, sheet, card, raised: each one step up from the surface it sits on, separated by a 1px line at 8% where the step alone would not read. Menus, popovers and dialogs float, so they get the strong hairline and a shadow.",
|
|
2922
|
+
specimen: /* @__PURE__ */ jsxs15("div", { className: "flex flex-wrap items-start gap-3", children: [
|
|
2923
|
+
/* @__PURE__ */ jsx15("div", { className: "bg-surface-sheet border border-hairline rounded-xl p-3 w-44", children: /* @__PURE__ */ jsx15("div", { className: "bg-surface-card border border-hairline rounded-lg p-3", children: /* @__PURE__ */ jsx15(Typography13, { variant: "caption", color: "secondary", className: "font-mono", children: "card on sheet" }) }) }),
|
|
2924
|
+
/* @__PURE__ */ jsx15("div", { className: cls11(paperMixin, "p-3 w-44 shadow-lg"), children: /* @__PURE__ */ jsx15(Typography13, { variant: "caption", color: "secondary", className: "font-mono", children: "floating paper" }) })
|
|
2925
|
+
] })
|
|
2926
|
+
},
|
|
2927
|
+
{
|
|
2928
|
+
title: "Big and small, with little in between.",
|
|
2929
|
+
body: "A headline figure is very big and its context is very small. The middle sizes are for prose, and a data surface has almost none \u2014 that gap is what makes a dashboard read as an instrument rather than a form.",
|
|
2930
|
+
specimen: /* @__PURE__ */ jsxs15("div", { children: [
|
|
2931
|
+
/* @__PURE__ */ jsx15(Typography13, { variant: "micro", component: "div", color: "secondary", children: "Storage" }),
|
|
2932
|
+
/* @__PURE__ */ jsx15(Typography13, { variant: "stat", component: "div", className: "mt-1", children: "264 MB" }),
|
|
2933
|
+
/* @__PURE__ */ jsx15(Typography13, { variant: "mono", component: "div", color: "secondary", className: "text-xs mt-1", children: "used \xB7 6 collections \xB7 self-hosted" })
|
|
2934
|
+
] })
|
|
2935
|
+
},
|
|
2936
|
+
{
|
|
2937
|
+
title: "Dense controls, generous containers.",
|
|
2938
|
+
body: "Fields are 32px with 14px text and a 13px label; buttons in a toolbar are 32px. The card around them keeps 16\u201320px of padding and the form grid keeps 20px between rows. Density lives inside the container; air lives between containers.",
|
|
2939
|
+
specimen: /* @__PURE__ */ jsxs15(Card7, { className: "p-4 w-64", children: [
|
|
2940
|
+
/* @__PURE__ */ jsx15(Typography13, { variant: "caption", className: "block text-[13px] font-medium mb-1.5", children: "Product name" }),
|
|
2941
|
+
/* @__PURE__ */ jsx15(TextField2, { size: "small", value: "Italian coffee maker", onChange: () => {
|
|
2942
|
+
} }),
|
|
2943
|
+
/* @__PURE__ */ jsx15(Typography13, { variant: "caption", color: "disabled", className: "block mt-1.5", children: "Shown on the storefront and in receipts." })
|
|
2944
|
+
] })
|
|
2945
|
+
},
|
|
2946
|
+
{
|
|
2947
|
+
title: "Status is a dot before the word. A count is a number in the mono voice.",
|
|
2948
|
+
body: "A list shows state with a 6px dot and a plain word, and puts the measured value flush right in the mono tier. No badges, no filled pills, nothing that has to be read twice.",
|
|
2949
|
+
specimen: /* @__PURE__ */ jsx15("div", { className: "w-56 flex flex-col", children: [
|
|
2950
|
+
["bg-green-500", "Site", "Live"],
|
|
2951
|
+
["bg-green-500", "Build", "3m ago"],
|
|
2952
|
+
["bg-amber-500", "Plugins", "1 update"]
|
|
2953
|
+
].map(([hue, label, value]) => /* @__PURE__ */ jsxs15("div", { className: "flex items-center gap-2.5 h-8 text-sm", children: [
|
|
2954
|
+
/* @__PURE__ */ jsx15(Dot, { className: hue }),
|
|
2955
|
+
/* @__PURE__ */ jsx15("span", { children: label }),
|
|
2956
|
+
/* @__PURE__ */ jsx15(Typography13, { variant: "mono", component: "span", color: "secondary", className: "ml-auto text-xs", children: value })
|
|
2957
|
+
] }, label)) })
|
|
2958
|
+
}
|
|
2959
|
+
];
|
|
2960
|
+
function PrinciplesSection() {
|
|
2961
|
+
return /* @__PURE__ */ jsxs15(SectionBlock, { id: "principles", title: "Principles", children: [
|
|
2962
|
+
/* @__PURE__ */ jsxs15(Typography13, { variant: "body2", color: "secondary", className: "mb-6 max-w-[68ch]", children: [
|
|
2963
|
+
"Six decisions the panel holds everywhere at once. Each one lives in",
|
|
2964
|
+
" ",
|
|
2965
|
+
/* @__PURE__ */ jsx15("code", { className: "font-mono text-xs", children: "theme.css" }),
|
|
2966
|
+
" or ",
|
|
2967
|
+
/* @__PURE__ */ jsx15("code", { className: "font-mono text-xs", children: "styles.ts" }),
|
|
2968
|
+
", so a screen that breaks one is wrong, not different. They were distilled from the reference the ladder was measured against (",
|
|
2969
|
+
/* @__PURE__ */ jsx15("code", { className: "font-mono text-xs", children: "docs/design/instatic-distilled.html" }),
|
|
2970
|
+
") and adapted to the kit's own tokens."
|
|
2971
|
+
] }),
|
|
2972
|
+
/* @__PURE__ */ jsx15("div", { className: "flex flex-col", children: PRINCIPLES.map((p, i) => /* @__PURE__ */ jsxs15(
|
|
2973
|
+
"div",
|
|
2974
|
+
{
|
|
2975
|
+
className: cls11(
|
|
2976
|
+
"grid grid-cols-1 md:grid-cols-[minmax(0,1fr)_minmax(0,20rem)] gap-x-10 gap-y-4 py-6",
|
|
2977
|
+
i > 0 && "border-t border-hairline"
|
|
2978
|
+
),
|
|
2979
|
+
children: [
|
|
2980
|
+
/* @__PURE__ */ jsxs15("div", { children: [
|
|
2981
|
+
/* @__PURE__ */ jsx15(Typography13, { variant: "h6", component: "h3", className: "mb-2", children: p.title }),
|
|
2982
|
+
/* @__PURE__ */ jsx15(Typography13, { variant: "body2", color: "secondary", className: "max-w-[60ch]", children: p.body })
|
|
2983
|
+
] }),
|
|
2984
|
+
/* @__PURE__ */ jsx15("div", { className: "md:pt-1", children: p.specimen })
|
|
2985
|
+
]
|
|
2986
|
+
},
|
|
2987
|
+
p.title
|
|
2988
|
+
)) })
|
|
2989
|
+
] });
|
|
2990
|
+
}
|
|
2991
|
+
var CHIP_HUES = ["blue", "teal", "red", "green", "yellow", "orange", "purple", "pink", "cyan", "indigo", "violet", "fuchsia", "rose", "emerald", "gray"];
|
|
2992
|
+
function ColourSection() {
|
|
2993
|
+
return /* @__PURE__ */ jsxs15(SectionBlock, { id: "colour", title: "Colour \u2014 where a hue may appear", children: [
|
|
2994
|
+
/* @__PURE__ */ jsxs15(Typography13, { variant: "body2", color: "secondary", className: "mb-6 max-w-[68ch]", children: [
|
|
2995
|
+
"The surfaces are grey and the primary is spent once per screen. Everything else colour does, it does in one of five forms, from quietest to loudest. The chip palette is fifteen hues, and a chip paints its hue as a tint by default; the solid stop is ",
|
|
2996
|
+
/* @__PURE__ */ jsx15("code", { className: "font-mono text-xs", children: 'variant="filled"' }),
|
|
2997
|
+
", for swatches."
|
|
2998
|
+
] }),
|
|
2999
|
+
/* @__PURE__ */ jsxs15("div", { className: "grid grid-cols-2 md:grid-cols-5 gap-4 mb-8", children: [
|
|
3000
|
+
/* @__PURE__ */ jsxs15("div", { children: [
|
|
3001
|
+
/* @__PURE__ */ jsx15(SpecimenLabel, { children: "dot" }),
|
|
3002
|
+
/* @__PURE__ */ jsxs15("div", { className: "flex flex-col gap-2 text-sm", children: [
|
|
3003
|
+
/* @__PURE__ */ jsxs15("span", { className: "inline-flex items-center gap-2", children: [
|
|
3004
|
+
/* @__PURE__ */ jsx15(Dot, { className: "bg-green-500" }),
|
|
3005
|
+
"Healthy"
|
|
3006
|
+
] }),
|
|
3007
|
+
/* @__PURE__ */ jsxs15("span", { className: "inline-flex items-center gap-2", children: [
|
|
3008
|
+
/* @__PURE__ */ jsx15(Dot, { className: "bg-amber-500" }),
|
|
3009
|
+
"Degraded"
|
|
3010
|
+
] }),
|
|
3011
|
+
/* @__PURE__ */ jsxs15("span", { className: "inline-flex items-center gap-2", children: [
|
|
3012
|
+
/* @__PURE__ */ jsx15(Dot, { className: "bg-red-500" }),
|
|
3013
|
+
"Failing"
|
|
3014
|
+
] })
|
|
3015
|
+
] })
|
|
3016
|
+
] }),
|
|
3017
|
+
/* @__PURE__ */ jsxs15("div", { children: [
|
|
3018
|
+
/* @__PURE__ */ jsx15(SpecimenLabel, { children: "icon" }),
|
|
3019
|
+
/* @__PURE__ */ jsxs15("div", { className: "flex items-center gap-3 text-text-secondary dark:text-text-secondary-dark", children: [
|
|
3020
|
+
/* @__PURE__ */ jsx15(CheckIcon2, { size: iconSize2.smallest, className: "text-green-600 dark:text-green-500" }),
|
|
3021
|
+
/* @__PURE__ */ jsx15(UploadIcon, { size: iconSize2.smallest, className: "text-primary dark:text-primary-light" }),
|
|
3022
|
+
/* @__PURE__ */ jsx15(SettingsIcon2, { size: iconSize2.smallest })
|
|
3023
|
+
] }),
|
|
3024
|
+
/* @__PURE__ */ jsx15(Typography13, { variant: "caption", color: "secondary", className: "block mt-2", children: "Inherits the text tier unless it carries a state." })
|
|
3025
|
+
] }),
|
|
3026
|
+
/* @__PURE__ */ jsxs15("div", { children: [
|
|
3027
|
+
/* @__PURE__ */ jsx15(SpecimenLabel, { children: "outline" }),
|
|
3028
|
+
/* @__PURE__ */ jsxs15("div", { className: "flex flex-wrap gap-2", children: [
|
|
3029
|
+
/* @__PURE__ */ jsx15(Chip7, { colorScheme: "blue", size: "small", outlined: true, children: "Draft" }),
|
|
3030
|
+
/* @__PURE__ */ jsx15(Chip7, { colorScheme: "red", size: "small", outlined: true, children: "Blocked" })
|
|
3031
|
+
] })
|
|
3032
|
+
] }),
|
|
3033
|
+
/* @__PURE__ */ jsxs15("div", { children: [
|
|
3034
|
+
/* @__PURE__ */ jsx15(SpecimenLabel, { children: "tint" }),
|
|
3035
|
+
/* @__PURE__ */ jsxs15("div", { className: "flex flex-wrap gap-2", children: [
|
|
3036
|
+
/* @__PURE__ */ jsx15(Chip7, { colorScheme: "green", size: "small", children: "Published" }),
|
|
3037
|
+
/* @__PURE__ */ jsx15(Chip7, { colorScheme: "purple", size: "small", children: "Serveware" })
|
|
3038
|
+
] }),
|
|
3039
|
+
/* @__PURE__ */ jsx15(Typography13, { variant: "caption", color: "secondary", className: "block mt-2", children: "The default for a value the operator chose." })
|
|
3040
|
+
] }),
|
|
3041
|
+
/* @__PURE__ */ jsxs15("div", { children: [
|
|
3042
|
+
/* @__PURE__ */ jsx15(SpecimenLabel, { children: "fill \xB7 one per screen" }),
|
|
3043
|
+
/* @__PURE__ */ jsxs15("div", { className: "flex flex-wrap gap-2", children: [
|
|
3044
|
+
/* @__PURE__ */ jsx15(Button8, { size: "small", color: "primary", children: "Add product" }),
|
|
3045
|
+
/* @__PURE__ */ jsx15(Button8, { size: "small", children: "Import" })
|
|
3046
|
+
] })
|
|
3047
|
+
] })
|
|
3048
|
+
] }),
|
|
3049
|
+
/* @__PURE__ */ jsx15(SpecimenLabel, { children: "the hue set, as the dots it usually is" }),
|
|
3050
|
+
/* @__PURE__ */ jsx15("div", { className: "flex flex-wrap gap-x-5 gap-y-2 mb-8", children: CHIP_HUES.map((hue) => {
|
|
3051
|
+
const scheme = getColorSchemeForKey(hue);
|
|
3052
|
+
return /* @__PURE__ */ jsxs15("span", { className: "inline-flex items-center gap-2", children: [
|
|
3053
|
+
/* @__PURE__ */ jsx15("span", { "aria-hidden": true, className: "inline-block w-2.5 h-2.5 rounded-full dark:hidden", style: { backgroundColor: scheme.tintText } }),
|
|
3054
|
+
/* @__PURE__ */ jsx15("span", { "aria-hidden": true, className: "hidden dark:inline-block w-2.5 h-2.5 rounded-full", style: { backgroundColor: scheme.darkTintText } }),
|
|
3055
|
+
/* @__PURE__ */ jsx15(Typography13, { variant: "mono", component: "span", color: "secondary", className: "text-xs", children: hue })
|
|
3056
|
+
] }, hue);
|
|
3057
|
+
}) }),
|
|
3058
|
+
/* @__PURE__ */ jsxs15("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6", children: [
|
|
3059
|
+
/* @__PURE__ */ jsxs15("div", { children: [
|
|
3060
|
+
/* @__PURE__ */ jsx15(SpecimenLabel, { children: "primary as text \xB7 accentTextMixin" }),
|
|
3061
|
+
/* @__PURE__ */ jsxs15(Typography13, { variant: "body2", children: [
|
|
3062
|
+
"Read as text on a dark card, ",
|
|
3063
|
+
/* @__PURE__ */ jsx15("code", { className: "font-mono text-xs", children: "#0070F4" }),
|
|
3064
|
+
" lands under AA, so links use",
|
|
3065
|
+
" ",
|
|
3066
|
+
/* @__PURE__ */ jsx15("a", { href: "#colour", className: "text-primary dark:text-primary-light font-medium", children: "the lifted primary" }),
|
|
3067
|
+
" in dark mode and the raw primary in light. Fills keep the raw value: white on it is what it was tuned for."
|
|
3068
|
+
] })
|
|
3069
|
+
] }),
|
|
3070
|
+
/* @__PURE__ */ jsxs15("div", { children: [
|
|
3071
|
+
/* @__PURE__ */ jsx15(SpecimenLabel, { children: "what never happens" }),
|
|
3072
|
+
/* @__PURE__ */ jsx15(Typography13, { variant: "body2", color: "secondary", children: "A second filled hue on the same screen; a chip painted as a solid block to show a status; the rose secondary on a control; a coloured background on a region. If a screen needs any of these, the information it is trying to carry belongs in a dot, a word, or a number." })
|
|
3073
|
+
] })
|
|
3074
|
+
] })
|
|
3075
|
+
] });
|
|
3076
|
+
}
|
|
3077
|
+
var RADII = [
|
|
3078
|
+
["rounded-md", "6", "chip, code well, tile, segment"],
|
|
3079
|
+
["rounded-lg", "9", "control, row highlight, menu, folder tab, segmented track"],
|
|
3080
|
+
["rounded-xl", "13", "card, sheet, dialog"],
|
|
3081
|
+
["rounded-2xl", "16", "login card"],
|
|
3082
|
+
["rounded-full", "pill", "search, switch, avatar"]
|
|
3083
|
+
];
|
|
3084
|
+
var CONTROL_SIZES = [
|
|
3085
|
+
{
|
|
3086
|
+
size: "smallest",
|
|
3087
|
+
px: 28,
|
|
3088
|
+
use: "a control inside a table cell"
|
|
3089
|
+
},
|
|
3090
|
+
{
|
|
3091
|
+
size: "small",
|
|
3092
|
+
px: 32,
|
|
3093
|
+
use: "record forms, toolbars, the reference density"
|
|
3094
|
+
},
|
|
3095
|
+
{
|
|
3096
|
+
size: "medium",
|
|
3097
|
+
px: 40,
|
|
3098
|
+
use: "dialogs and standalone controls"
|
|
3099
|
+
},
|
|
3100
|
+
{
|
|
3101
|
+
size: "large",
|
|
3102
|
+
px: 48,
|
|
3103
|
+
use: "the login screen and other one-field moments"
|
|
3104
|
+
}
|
|
3105
|
+
];
|
|
3106
|
+
function ShapeSpaceSection() {
|
|
3107
|
+
return /* @__PURE__ */ jsxs15(SectionBlock, { id: "shape", title: "Shape and space", children: [
|
|
3108
|
+
/* @__PURE__ */ jsxs15(Typography13, { variant: "body2", color: "secondary", className: "mb-6 max-w-[68ch]", children: [
|
|
3109
|
+
"One radius ladder, one height ladder, a 4px grid. A control and a field at the same",
|
|
3110
|
+
" ",
|
|
3111
|
+
/* @__PURE__ */ jsx15("code", { className: "font-mono text-xs", children: "size" }),
|
|
3112
|
+
" are pixel-identical in height and share a baseline (",
|
|
3113
|
+
/* @__PURE__ */ jsx15("code", { className: "font-mono text-xs", children: "CONTROL_HEIGHT" }),
|
|
3114
|
+
" in ",
|
|
3115
|
+
/* @__PURE__ */ jsx15("code", { className: "font-mono text-xs", children: "styles.ts" }),
|
|
3116
|
+
")."
|
|
3117
|
+
] }),
|
|
3118
|
+
/* @__PURE__ */ jsx15(SpecimenLabel, { children: "radius" }),
|
|
3119
|
+
/* @__PURE__ */ jsx15("div", { className: "flex flex-wrap gap-4 mb-8", children: RADII.map(([cn, px, use]) => /* @__PURE__ */ jsxs15("div", { className: cls11("bg-surface-field border border-hairline w-40 h-16 p-2.5 flex flex-col justify-end", cn), children: [
|
|
3120
|
+
/* @__PURE__ */ jsxs15(Typography13, { variant: "mono", component: "span", className: "text-xs", children: [
|
|
3121
|
+
px,
|
|
3122
|
+
" \xB7 ",
|
|
3123
|
+
cn.replace("rounded-", "")
|
|
3124
|
+
] }),
|
|
3125
|
+
/* @__PURE__ */ jsx15(Typography13, { variant: "caption", color: "secondary", className: "truncate", children: use })
|
|
3126
|
+
] }, cn)) }),
|
|
3127
|
+
/* @__PURE__ */ jsx15(SpecimenLabel, { children: "control heights \xB7 Button, TextField, Select, IconButton at the same size" }),
|
|
3128
|
+
/* @__PURE__ */ jsx15("div", { className: "flex flex-col gap-3 mb-8", children: CONTROL_SIZES.map(({ size, px, use }) => /* @__PURE__ */ jsxs15("div", { className: "flex flex-wrap items-center gap-3", children: [
|
|
3129
|
+
/* @__PURE__ */ jsxs15(Typography13, { variant: "mono", component: "span", color: "secondary", className: "text-xs w-24 shrink-0", children: [
|
|
3130
|
+
px,
|
|
3131
|
+
" \xB7 ",
|
|
3132
|
+
size
|
|
3133
|
+
] }),
|
|
3134
|
+
/* @__PURE__ */ jsx15(Button8, { size, children: "Button" }),
|
|
3135
|
+
/* @__PURE__ */ jsx15(TextField2, { size, value: "Field", onChange: () => {
|
|
3136
|
+
}, className: "w-40" }),
|
|
3137
|
+
/* @__PURE__ */ jsx15(Select5, { size, value: "a", onValueChange: () => {
|
|
3138
|
+
}, className: "w-40", children: /* @__PURE__ */ jsx15(SelectItem5, { value: "a", children: "Select" }) }),
|
|
3139
|
+
/* @__PURE__ */ jsx15(IconButton4, { size, children: /* @__PURE__ */ jsx15(PencilIcon2, { size: size === "smallest" ? 14 : size === "small" ? 16 : size === "medium" ? 20 : 24 }) }),
|
|
3140
|
+
/* @__PURE__ */ jsx15(Typography13, { variant: "caption", color: "secondary", className: "basis-full md:basis-auto", children: use })
|
|
3141
|
+
] }, size)) }),
|
|
3142
|
+
/* @__PURE__ */ jsxs15("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6", children: [
|
|
3143
|
+
/* @__PURE__ */ jsxs15("div", { children: [
|
|
3144
|
+
/* @__PURE__ */ jsx15(SpecimenLabel, { children: "spacing" }),
|
|
3145
|
+
/* @__PURE__ */ jsx15("div", { className: "flex flex-col text-sm", children: [
|
|
3146
|
+
["4px", "the grid every gap lands on; most gaps are 8"],
|
|
3147
|
+
["6px", "label to field, field to helper text"],
|
|
3148
|
+
["20 \xD7 16px", "record form rows \xD7 columns (gap-y-5 gap-x-4)"],
|
|
3149
|
+
["16\u201320px", "card padding, all four sides"],
|
|
3150
|
+
["32px", "between chapters of a page (py-8)"]
|
|
3151
|
+
].map(([v, what]) => /* @__PURE__ */ jsxs15("div", { className: "flex items-baseline gap-4 py-1.5 border-b border-hairline last:border-0", children: [
|
|
3152
|
+
/* @__PURE__ */ jsx15(Typography13, { variant: "mono", component: "span", className: "text-xs w-20 shrink-0", children: v }),
|
|
3153
|
+
/* @__PURE__ */ jsx15(Typography13, { variant: "body2", component: "span", color: "secondary", children: what })
|
|
3154
|
+
] }, v)) })
|
|
3155
|
+
] }),
|
|
3156
|
+
/* @__PURE__ */ jsxs15("div", { children: [
|
|
3157
|
+
/* @__PURE__ */ jsx15(SpecimenLabel, { children: "a record-form field, assembled" }),
|
|
3158
|
+
/* @__PURE__ */ jsxs15("div", { className: "max-w-xs", children: [
|
|
3159
|
+
/* @__PURE__ */ jsxs15("div", { className: "flex items-center gap-1.5 font-medium leading-tight mb-1.5 text-[13px]", children: [
|
|
3160
|
+
/* @__PURE__ */ jsx15("span", { className: "shrink-0 text-text-disabled dark:text-text-disabled-dark", children: /* @__PURE__ */ jsx15(FileTextIcon2, { size: 14 }) }),
|
|
3161
|
+
/* @__PURE__ */ jsx15("span", { children: "SKU" }),
|
|
3162
|
+
/* @__PURE__ */ jsx15("span", { className: "text-red-500 -ml-1", children: "*" })
|
|
3163
|
+
] }),
|
|
3164
|
+
/* @__PURE__ */ jsx15(TextField2, { size: "small", value: "SKU-57032", onChange: () => {
|
|
3165
|
+
} }),
|
|
3166
|
+
/* @__PURE__ */ jsx15(Typography13, { variant: "caption", color: "disabled", className: "block mt-1.5 ml-0.5 leading-snug", children: "Stock keeping unit \u2014 unique product identifier" })
|
|
3167
|
+
] }),
|
|
3168
|
+
/* @__PURE__ */ jsxs15(Typography13, { variant: "caption", color: "secondary", className: "block mt-3", children: [
|
|
3169
|
+
"13px label in the primary ink with a muted 14px type icon, a 32px field with its hairline, an 11px note. Mirrors ",
|
|
3170
|
+
/* @__PURE__ */ jsx15("code", { className: "font-mono", children: "FieldBlock" }),
|
|
3171
|
+
" in the panel."
|
|
3172
|
+
] })
|
|
3173
|
+
] })
|
|
3174
|
+
] })
|
|
3175
|
+
] });
|
|
3176
|
+
}
|
|
3177
|
+
function DepthIconsSection() {
|
|
3178
|
+
return /* @__PURE__ */ jsx15(SectionBlock, { id: "depth", title: "Depth and icons", children: /* @__PURE__ */ jsxs15("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-8", children: [
|
|
3179
|
+
/* @__PURE__ */ jsxs15("div", { children: [
|
|
3180
|
+
/* @__PURE__ */ jsxs15(Typography13, { variant: "body2", color: "secondary", className: "mb-4 max-w-[52ch]", children: [
|
|
3181
|
+
"Two kinds of surface, and the border is what tells them apart. A card sits ",
|
|
3182
|
+
/* @__PURE__ */ jsx15("em", { children: "on" }),
|
|
3183
|
+
" the page: one step lighter, a plain hairline. A paper floats ",
|
|
3184
|
+
/* @__PURE__ */ jsx15("em", { children: "over" }),
|
|
3185
|
+
" it: the strong hairline and a shadow, because it has to read against anything underneath. The scrim is the only large translucent fill."
|
|
3186
|
+
] }),
|
|
3187
|
+
/* @__PURE__ */ jsxs15("div", { className: "bg-surface-sheet border border-hairline rounded-xl p-4 flex flex-wrap gap-4 items-start", children: [
|
|
3188
|
+
/* @__PURE__ */ jsxs15(Card7, { className: "p-4 w-48", children: [
|
|
3189
|
+
/* @__PURE__ */ jsx15(Typography13, { variant: "micro", component: "div", color: "secondary", children: "card" }),
|
|
3190
|
+
/* @__PURE__ */ jsx15(Typography13, { variant: "body2", className: "mt-1", children: "cardMixin \xB7 hairline" })
|
|
3191
|
+
] }),
|
|
3192
|
+
/* @__PURE__ */ jsxs15(Paper2, { className: "p-4 w-48 shadow-lg", children: [
|
|
3193
|
+
/* @__PURE__ */ jsx15(Typography13, { variant: "micro", component: "div", color: "secondary", children: "paper" }),
|
|
3194
|
+
/* @__PURE__ */ jsx15(Typography13, { variant: "body2", className: "mt-1", children: "paperMixin \xB7 hairline-strong" })
|
|
3195
|
+
] }),
|
|
3196
|
+
/* @__PURE__ */ jsxs15("div", { className: cls11(codeSurfaceMixin, "p-3 w-48 font-mono text-xs text-text-secondary dark:text-text-secondary-dark"), children: [
|
|
3197
|
+
/* @__PURE__ */ jsx15("div", { className: "typography-micro mb-1", children: "well" }),
|
|
3198
|
+
"SELECT 1;"
|
|
3199
|
+
] })
|
|
3200
|
+
] })
|
|
3201
|
+
] }),
|
|
3202
|
+
/* @__PURE__ */ jsxs15("div", { children: [
|
|
3203
|
+
/* @__PURE__ */ jsxs15(Typography13, { variant: "body2", color: "secondary", className: "mb-4 max-w-[52ch]", children: [
|
|
3204
|
+
"Icons are Lucide outlines, sized from the ",
|
|
3205
|
+
/* @__PURE__ */ jsx15("code", { className: "font-mono text-xs", children: "iconSize" }),
|
|
3206
|
+
" map and coloured by the text tier they sit in. A leading icon in a list sits in a 28px raised tile so every row shares a left edge."
|
|
3207
|
+
] }),
|
|
3208
|
+
/* @__PURE__ */ jsx15("div", { className: "flex flex-wrap items-end gap-6 mb-5", children: ["smallest", "small", "medium", "large"].map((s) => /* @__PURE__ */ jsxs15("div", { className: "flex flex-col items-center gap-1.5", children: [
|
|
3209
|
+
/* @__PURE__ */ jsx15(SettingsIcon2, { size: iconSize2[s], className: "text-text-secondary dark:text-text-secondary-dark" }),
|
|
3210
|
+
/* @__PURE__ */ jsxs15(Typography13, { variant: "mono", component: "span", color: "secondary", className: "text-xs", children: [
|
|
3211
|
+
iconSize2[s],
|
|
3212
|
+
" \xB7 ",
|
|
3213
|
+
s
|
|
3214
|
+
] })
|
|
3215
|
+
] }, s)) }),
|
|
3216
|
+
/* @__PURE__ */ jsx15(SpecimenLabel, { children: "icon tile \xB7 a leading icon in a row" }),
|
|
3217
|
+
/* @__PURE__ */ jsx15("div", { className: "flex flex-col gap-1 max-w-xs", children: [
|
|
3218
|
+
[/* @__PURE__ */ jsx15(ImageIcon, { size: 14 }, "i"), "Media", "3 files", "2 / 3"],
|
|
3219
|
+
[/* @__PURE__ */ jsx15(FileTextIcon2, { size: 14 }, "p"), "Pages", "1 page", "0 / 1"],
|
|
3220
|
+
[/* @__PURE__ */ jsx15(DatabaseIcon, { size: 14 }, "d"), "Collections", "12 tables", "12 / 12"]
|
|
3221
|
+
].map(([icon, name, sub, count]) => /* @__PURE__ */ jsxs15("div", { className: "flex items-center gap-3 h-11 px-3 bg-surface-card border border-hairline rounded-lg", children: [
|
|
3222
|
+
/* @__PURE__ */ jsx15("span", { className: "w-7 h-7 rounded-md bg-surface-raised flex items-center justify-center text-text-secondary dark:text-text-secondary-dark shrink-0", children: icon }),
|
|
3223
|
+
/* @__PURE__ */ jsxs15("div", { className: "min-w-0", children: [
|
|
3224
|
+
/* @__PURE__ */ jsx15(Typography13, { variant: "body2", className: "font-medium block leading-tight", children: name }),
|
|
3225
|
+
/* @__PURE__ */ jsx15(Typography13, { variant: "mono", component: "span", color: "secondary", className: "text-[11px]", children: sub })
|
|
3226
|
+
] }),
|
|
3227
|
+
/* @__PURE__ */ jsx15(Typography13, { variant: "mono", component: "span", color: "secondary", className: "ml-auto text-xs", children: count })
|
|
3228
|
+
] }, String(name))) })
|
|
3229
|
+
] })
|
|
3230
|
+
] }) });
|
|
3231
|
+
}
|
|
3232
|
+
function StatCard({ hue, icon, label, value, context, children }) {
|
|
3233
|
+
return /* @__PURE__ */ jsxs15(Card7, { className: "p-4 flex flex-col", children: [
|
|
3234
|
+
/* @__PURE__ */ jsxs15("div", { className: "flex items-center gap-2 mb-3.5", children: [
|
|
3235
|
+
/* @__PURE__ */ jsx15(Dot, { className: hue }),
|
|
3236
|
+
/* @__PURE__ */ jsx15("span", { className: "text-text-secondary dark:text-text-secondary-dark flex items-center", children: icon }),
|
|
3237
|
+
/* @__PURE__ */ jsx15(Typography13, { variant: "micro", component: "span", color: "secondary", children: label })
|
|
3238
|
+
] }),
|
|
3239
|
+
/* @__PURE__ */ jsx15(Typography13, { variant: "stat", component: "div", children: value }),
|
|
3240
|
+
/* @__PURE__ */ jsx15(Typography13, { variant: "mono", component: "div", color: "secondary", className: "text-[11px] mt-1.5", children: context }),
|
|
3241
|
+
children && /* @__PURE__ */ jsx15("div", { className: "mt-4", children })
|
|
3242
|
+
] });
|
|
3243
|
+
}
|
|
3244
|
+
function CardsDataSection() {
|
|
3245
|
+
const storage = [
|
|
3246
|
+
["bg-amber-500", "Images", "257 MB", 88],
|
|
3247
|
+
["bg-blue-500", "Documents", "1 MB", 3],
|
|
3248
|
+
["bg-green-500", "Database", "6 MB", 5]
|
|
3249
|
+
];
|
|
3250
|
+
return /* @__PURE__ */ jsxs15(SectionBlock, { id: "data", title: "Cards and data", children: [
|
|
3251
|
+
/* @__PURE__ */ jsx15(Typography13, { variant: "body2", color: "secondary", className: "mb-6 max-w-[68ch]", children: "The dashboard card is the most reusable idea in the system: a labelled instrument with one big value and its context underneath. The header grammar never changes \u2014 dot, icon, micro label \u2014 so a grid of them scans as one thing. Lists inside cards put the measured value flush right in the mono tier and show state as a dot before the word." }),
|
|
3252
|
+
/* @__PURE__ */ jsxs15("div", { className: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-4 mb-4", children: [
|
|
3253
|
+
/* @__PURE__ */ jsx15(StatCard, { hue: "bg-blue-500", icon: /* @__PURE__ */ jsx15(ShoppingCartIcon, { size: 14 }), label: "Orders", value: "1,284", context: "+ 40 this week", children: /* @__PURE__ */ jsxs15(Typography13, { variant: "mono", component: "div", color: "secondary", className: "text-[11px] flex gap-4", children: [
|
|
3254
|
+
/* @__PURE__ */ jsx15("span", { children: "12 pending" }),
|
|
3255
|
+
/* @__PURE__ */ jsx15("span", { children: "3 refunded" })
|
|
3256
|
+
] }) }),
|
|
3257
|
+
/* @__PURE__ */ jsx15(StatCard, { hue: "bg-amber-500", icon: /* @__PURE__ */ jsx15(FileTextIcon2, { size: 14 }), label: "Posts", value: "7", context: "total \xB7 2 categories", children: /* @__PURE__ */ jsx15("div", { className: "border-t border-dashed border-amber-500/50 mt-2" }) }),
|
|
3258
|
+
/* @__PURE__ */ jsx15(StatCard, { hue: "bg-green-500", icon: /* @__PURE__ */ jsx15(ImageIcon, { size: 14 }), label: "Media", value: "74", context: "files \xB7 258 MB", children: /* @__PURE__ */ jsx15("div", { className: "flex gap-1", children: ["bg-surface-raised", "bg-surface-raised-hover", "bg-surface-raised", "bg-surface-lifted"].map((c, i) => /* @__PURE__ */ jsx15("div", { className: cls11("flex-1 h-8 rounded", c) }, i)) }) }),
|
|
3259
|
+
/* @__PURE__ */ jsxs15(StatCard, { hue: "bg-purple-500", icon: /* @__PURE__ */ jsx15(DatabaseIcon, { size: 14 }), label: "Storage", value: "264 MB", context: "used \xB7 Postgres \xB7 self-hosted", children: [
|
|
3260
|
+
/* @__PURE__ */ jsx15("div", { className: "h-1.5 rounded-full bg-surface-raised overflow-hidden flex", children: storage.map(([hue, name, , pct]) => /* @__PURE__ */ jsx15("div", { className: cls11("h-full", hue), style: { width: `${pct}%` } }, name)) }),
|
|
3261
|
+
/* @__PURE__ */ jsx15("div", { className: "grid grid-cols-2 gap-x-3 gap-y-1 mt-2", children: storage.map(([hue, name, size]) => /* @__PURE__ */ jsxs15(Typography13, { variant: "mono", component: "span", color: "secondary", className: "text-[11px] inline-flex items-center gap-1.5", children: [
|
|
3262
|
+
/* @__PURE__ */ jsx15(Dot, { className: hue }),
|
|
3263
|
+
name,
|
|
3264
|
+
" \xB7 ",
|
|
3265
|
+
size
|
|
3266
|
+
] }, name)) })
|
|
3267
|
+
] })
|
|
3268
|
+
] }),
|
|
3269
|
+
/* @__PURE__ */ jsxs15("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-4", children: [
|
|
3270
|
+
/* @__PURE__ */ jsxs15(Card7, { className: "p-4", children: [
|
|
3271
|
+
/* @__PURE__ */ jsxs15("div", { className: "flex items-center gap-2 mb-2", children: [
|
|
3272
|
+
/* @__PURE__ */ jsx15(Dot, { className: "bg-green-500" }),
|
|
3273
|
+
/* @__PURE__ */ jsx15("span", { className: "text-text-secondary dark:text-text-secondary-dark flex items-center", children: /* @__PURE__ */ jsx15(CheckIcon2, { size: 14 }) }),
|
|
3274
|
+
/* @__PURE__ */ jsx15(Typography13, { variant: "micro", component: "span", color: "secondary", children: "Status" })
|
|
3275
|
+
] }),
|
|
3276
|
+
[
|
|
3277
|
+
["bg-green-500", "API", "healthy"],
|
|
3278
|
+
["bg-green-500", "Realtime", "3 channels"],
|
|
3279
|
+
["bg-green-500", "Backup", "2h ago"],
|
|
3280
|
+
["bg-amber-500", "Cron", "1 late"]
|
|
3281
|
+
].map(([hue, label, value]) => /* @__PURE__ */ jsxs15("div", { className: "flex items-center gap-2.5 h-8 text-sm", children: [
|
|
3282
|
+
/* @__PURE__ */ jsx15(Dot, { className: hue }),
|
|
3283
|
+
/* @__PURE__ */ jsx15("span", { children: label }),
|
|
3284
|
+
/* @__PURE__ */ jsx15(Typography13, { variant: "mono", component: "span", color: "secondary", className: "ml-auto text-xs", children: value })
|
|
3285
|
+
] }, label))
|
|
3286
|
+
] }),
|
|
3287
|
+
/* @__PURE__ */ jsxs15(Card7, { className: "p-4", children: [
|
|
3288
|
+
/* @__PURE__ */ jsxs15("div", { className: "flex items-center gap-2 mb-2", children: [
|
|
3289
|
+
/* @__PURE__ */ jsx15(Dot, { className: "bg-blue-500" }),
|
|
3290
|
+
/* @__PURE__ */ jsx15("span", { className: "text-text-secondary dark:text-text-secondary-dark flex items-center", children: /* @__PURE__ */ jsx15(UsersIcon3, { size: 14 }) }),
|
|
3291
|
+
/* @__PURE__ */ jsx15(Typography13, { variant: "micro", component: "span", color: "secondary", children: "Activity" })
|
|
3292
|
+
] }),
|
|
3293
|
+
[
|
|
3294
|
+
["Z", "published the site", "2m"],
|
|
3295
|
+
["Z", "created /posts/untitled", "4h"],
|
|
3296
|
+
["A", "added user alice@example.com", "4h"]
|
|
3297
|
+
].map(([who, what, when], i) => {
|
|
3298
|
+
const [verb, ...rest] = what.split(" ");
|
|
3299
|
+
const object = rest.join(" ");
|
|
3300
|
+
const isCode = object.startsWith("/") || object.includes("@");
|
|
3301
|
+
return /* @__PURE__ */ jsxs15("div", { className: "flex items-center gap-2.5 h-9 text-sm min-w-0", children: [
|
|
3302
|
+
/* @__PURE__ */ jsx15(Avatar, { className: "w-5 h-5 text-[10px] shrink-0", children: who }),
|
|
3303
|
+
/* @__PURE__ */ jsxs15("span", { className: "truncate", children: [
|
|
3304
|
+
verb,
|
|
3305
|
+
" ",
|
|
3306
|
+
isCode ? /* @__PURE__ */ jsx15("code", { className: "font-mono text-xs bg-surface-raised px-1.5 py-0.5 rounded", children: object }) : object
|
|
3307
|
+
] }),
|
|
3308
|
+
/* @__PURE__ */ jsx15(Typography13, { variant: "mono", component: "span", color: "secondary", className: "ml-auto text-[11px] shrink-0", children: when })
|
|
3309
|
+
] }, i);
|
|
3310
|
+
})
|
|
3311
|
+
] })
|
|
3312
|
+
] })
|
|
3313
|
+
] });
|
|
3314
|
+
}
|
|
3315
|
+
|
|
3316
|
+
// src/debug/UIReferenceView.tsx
|
|
3317
|
+
import { jsx as jsx16, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
2854
3318
|
var SECTIONS = [
|
|
2855
|
-
{ id: "
|
|
2856
|
-
{ id: "
|
|
2857
|
-
{ id: "
|
|
2858
|
-
{ id: "
|
|
2859
|
-
{ id: "
|
|
2860
|
-
{ id: "
|
|
2861
|
-
{ id: "
|
|
2862
|
-
{ id: "
|
|
2863
|
-
{ id: "
|
|
2864
|
-
{ id: "
|
|
2865
|
-
{ id: "
|
|
2866
|
-
{ id: "
|
|
2867
|
-
{ id: "
|
|
2868
|
-
{ id: "
|
|
2869
|
-
{ id: "
|
|
3319
|
+
{ id: "principles", label: "Principles", icon: SunMoonIcon, group: "System" },
|
|
3320
|
+
{ id: "surfaces", label: "Surfaces", icon: LayoutGridIcon2, group: "System" },
|
|
3321
|
+
{ id: "colour", label: "Colour", icon: AlertCircleIcon, group: "System" },
|
|
3322
|
+
{ id: "typography", label: "Typography", icon: TypeIcon, group: "System" },
|
|
3323
|
+
{ id: "shape", label: "Shape and space", icon: ColumnsIcon, group: "System" },
|
|
3324
|
+
{ id: "depth", label: "Depth and icons", icon: AppWindow, group: "System" },
|
|
3325
|
+
{ id: "drawer", label: "Drawer", icon: PanelLeftIcon, group: "Shell" },
|
|
3326
|
+
{ id: "appbar", label: "App bar", icon: AppWindow, group: "Shell" },
|
|
3327
|
+
{ id: "tabs", label: "Tabs", icon: ListIcon2, group: "Shell" },
|
|
3328
|
+
{ id: "editor-sidebar", label: "Editor sidebar", icon: ColumnsIcon, group: "Shell" },
|
|
3329
|
+
{ id: "buttons", label: "Buttons", icon: PlusIcon, group: "Controls" },
|
|
3330
|
+
{ id: "inputs", label: "Form inputs", icon: FileTextIcon3, group: "Controls" },
|
|
3331
|
+
{ id: "chips-alerts", label: "Chips and alerts", icon: TagIcon, group: "Controls" },
|
|
3332
|
+
{ id: "data", label: "Cards and data", icon: LayoutGridIcon2, group: "Controls" },
|
|
3333
|
+
{ id: "empty-states", label: "Empty states", icon: FileIcon, group: "Screens" },
|
|
3334
|
+
{ id: "users", label: "Management", icon: UserIcon, group: "Screens" },
|
|
3335
|
+
{ id: "user-dialog", label: "Form dialog", icon: CircleUserIcon, group: "Screens" },
|
|
3336
|
+
{ id: "crm-dashboard", label: "CRM dashboard", icon: LayoutGridIcon2, group: "Screens" },
|
|
3337
|
+
{ id: "collection-table", label: "Collection table", icon: ListIcon2, group: "Screens" },
|
|
3338
|
+
{ id: "card-view", label: "Card view", icon: LayoutGridIcon2, group: "Screens" },
|
|
3339
|
+
{ id: "kanban-board", label: "Kanban board", icon: KanbanIcon, group: "Screens" }
|
|
2870
3340
|
];
|
|
3341
|
+
var SECTION_GROUPS = ["System", "Shell", "Controls", "Screens"];
|
|
2871
3342
|
function UIReferenceView() {
|
|
2872
|
-
const [activeSection, setActiveSection] = useState8("
|
|
3343
|
+
const [activeSection, setActiveSection] = useState8("principles");
|
|
2873
3344
|
const scrollContainerRef = React10.useRef(null);
|
|
2874
3345
|
const scrollTo = (id) => {
|
|
2875
3346
|
const el = document.getElementById(id);
|
|
@@ -2880,278 +3351,366 @@ function UIReferenceView() {
|
|
|
2880
3351
|
}
|
|
2881
3352
|
setActiveSection(id);
|
|
2882
3353
|
};
|
|
2883
|
-
return /* @__PURE__ */
|
|
2884
|
-
/* @__PURE__ */
|
|
2885
|
-
/* @__PURE__ */
|
|
2886
|
-
/* @__PURE__ */
|
|
2887
|
-
/* @__PURE__ */
|
|
3354
|
+
return /* @__PURE__ */ jsxs16("div", { className: "flex w-full", children: [
|
|
3355
|
+
/* @__PURE__ */ jsxs16("div", { className: cls12("flex flex-col sticky top-0 h-screen grow-0 shrink-0 w-[232px] border-r", defaultBorderMixin6), children: [
|
|
3356
|
+
/* @__PURE__ */ jsxs16("div", { className: "flex flex-row items-center shrink-0 pt-4 pb-2 px-2", children: [
|
|
3357
|
+
/* @__PURE__ */ jsx16("div", { className: "shrink-0 flex items-center justify-center w-[56px] h-[40px]", children: /* @__PURE__ */ jsx16(RebaseLogo, { width: "28px", height: "28px" }) }),
|
|
3358
|
+
/* @__PURE__ */ jsx16(Typography14, { variant: "subtitle1", noWrap: true, className: "truncate", children: "UI Ref" })
|
|
2888
3359
|
] }),
|
|
2889
|
-
/* @__PURE__ */
|
|
2890
|
-
/* @__PURE__ */
|
|
2891
|
-
/* @__PURE__ */
|
|
2892
|
-
/* @__PURE__ */
|
|
3360
|
+
/* @__PURE__ */ jsx16("div", { className: "mt-3 flex-grow overflow-scroll no-scrollbar", children: SECTION_GROUPS.map((group) => /* @__PURE__ */ jsxs16("div", { className: "my-2 mx-2 flex flex-col", children: [
|
|
3361
|
+
/* @__PURE__ */ jsxs16("div", { className: "pl-3 pr-2 py-0.5 flex flex-row items-center transition-colors cursor-pointer hover:bg-surface-hover rounded-lg", children: [
|
|
3362
|
+
/* @__PURE__ */ jsx16(ChevronDownIcon, { size: iconSize3.small, className: "text-surface-400 dark:text-surface-400 transition-transform duration-200 mr-1" }),
|
|
3363
|
+
/* @__PURE__ */ jsx16(Typography14, { variant: "caption", color: "secondary", className: "font-semibold text-[11px] uppercase tracking-wider flex-grow line-clamp-1 text-surface-400 dark:text-surface-400", children: group })
|
|
2893
3364
|
] }),
|
|
2894
|
-
/* @__PURE__ */
|
|
3365
|
+
/* @__PURE__ */ jsx16("div", { className: "flex flex-col", children: SECTIONS.filter((s) => s.group === group).map((s) => {
|
|
2895
3366
|
const IconComponent = s.icon;
|
|
2896
|
-
|
|
3367
|
+
const active = activeSection === s.id;
|
|
3368
|
+
return /* @__PURE__ */ jsxs16(
|
|
2897
3369
|
"div",
|
|
2898
3370
|
{
|
|
2899
3371
|
onClick: () => scrollTo(s.id),
|
|
2900
|
-
className:
|
|
3372
|
+
className: cls12(
|
|
2901
3373
|
"rounded-lg truncate group/nav",
|
|
2902
|
-
"hover:bg-
|
|
2903
|
-
"flex flex-row items-center",
|
|
2904
|
-
"
|
|
2905
|
-
"
|
|
2906
|
-
activeSection === s.id ? "bg-primary/8 dark:bg-primary/10 text-primary dark:text-primary" : ""
|
|
3374
|
+
"hover:bg-surface-hover text-surface-700 dark:text-surface-300 hover:text-surface-900 dark:hover:text-white",
|
|
3375
|
+
"flex flex-row items-center pr-4 h-[30px]",
|
|
3376
|
+
"font-medium text-[13px] cursor-pointer",
|
|
3377
|
+
active ? "bg-primary/8 dark:bg-primary/10 text-primary dark:text-primary [&_div]:text-primary" : ""
|
|
2907
3378
|
),
|
|
2908
3379
|
children: [
|
|
2909
|
-
/* @__PURE__ */
|
|
2910
|
-
/* @__PURE__ */
|
|
3380
|
+
/* @__PURE__ */ jsx16("div", { className: "shrink-0 flex items-center justify-center w-[44px] h-[30px] text-surface-500 dark:text-text-secondary-dark [&>svg]:size-4 group-hover/nav:text-primary transition-colors duration-150", children: /* @__PURE__ */ jsx16(IconComponent, { size: iconSize3.smallest }) }),
|
|
3381
|
+
/* @__PURE__ */ jsx16("div", { className: "text-text-primary dark:text-surface-200 font-inherit truncate", children: s.label })
|
|
2911
3382
|
]
|
|
2912
|
-
}
|
|
2913
|
-
|
|
3383
|
+
},
|
|
3384
|
+
s.id
|
|
3385
|
+
);
|
|
2914
3386
|
}) })
|
|
2915
|
-
] }) }),
|
|
2916
|
-
/* @__PURE__ */
|
|
3387
|
+
] }, group)) }),
|
|
3388
|
+
/* @__PURE__ */ jsx16("div", { className: cls12("shrink-0 mt-auto border-t px-2 py-2", defaultBorderMixin6), children: /* @__PURE__ */ jsxs16("div", { className: cls12(
|
|
2917
3389
|
"flex flex-row items-center rounded-lg cursor-pointer",
|
|
2918
|
-
"hover:bg-surface-
|
|
3390
|
+
"hover:bg-surface-hover",
|
|
2919
3391
|
"transition-colors duration-150",
|
|
2920
3392
|
"py-2"
|
|
2921
3393
|
), children: [
|
|
2922
|
-
/* @__PURE__ */
|
|
2923
|
-
/* @__PURE__ */
|
|
3394
|
+
/* @__PURE__ */ jsx16("div", { className: "shrink-0 flex items-center justify-center w-[56px] h-[24px] text-surface-500 dark:text-surface-400", children: /* @__PURE__ */ jsx16(ChevronsLeftIcon, { size: iconSize3.small }) }),
|
|
3395
|
+
/* @__PURE__ */ jsx16(Typography14, { variant: "body2", className: "text-surface-500 dark:text-surface-400 select-none whitespace-nowrap", children: "Collapse" })
|
|
2924
3396
|
] }) })
|
|
2925
3397
|
] }),
|
|
2926
|
-
/* @__PURE__ */
|
|
2927
|
-
/* @__PURE__ */
|
|
2928
|
-
|
|
3398
|
+
/* @__PURE__ */ jsxs16("div", { ref: scrollContainerRef, className: "flex-1 min-w-0", children: [
|
|
3399
|
+
/* @__PURE__ */ jsx16(PrinciplesSection, {}),
|
|
3400
|
+
/* @__PURE__ */ jsxs16(SectionBlock, { id: "surfaces", title: "Surfaces \u2014 theme.css, styles.ts", children: [
|
|
3401
|
+
/* @__PURE__ */ jsxs16(Typography14, { variant: "body2", color: "secondary", className: "mb-4", children: [
|
|
3402
|
+
"A surface is named by role and the theme decides the value. Frame, sheet and card each sit one step lighter than the one below; above the card, raised and field are grey on both themes. A hairline marks an object (a card, a field, a floating panel), never a region (a tile, a row, a track), with one exception: the sheet edge against the frame, where the step alone is too small to read. See ",
|
|
3403
|
+
/* @__PURE__ */ jsx16("code", { className: "font-mono text-xs", children: "packages/ui/DESIGN.md" }),
|
|
3404
|
+
"."
|
|
3405
|
+
] }),
|
|
3406
|
+
/* @__PURE__ */ jsxs16("div", { className: "bg-surface-frame rounded-xl p-4", children: [
|
|
3407
|
+
/* @__PURE__ */ jsx16(Typography14, { variant: "caption", className: "typography-micro block mb-2 text-text-secondary dark:text-text-secondary-dark", children: "frame \xB7 bg-surface-frame" }),
|
|
3408
|
+
/* @__PURE__ */ jsxs16("div", { className: "bg-surface-sheet border border-hairline rounded-xl p-4", children: [
|
|
3409
|
+
/* @__PURE__ */ jsx16(Typography14, { variant: "caption", className: "typography-micro block mb-3 text-text-secondary dark:text-text-secondary-dark", children: "sheet \xB7 bg-surface-sheet" }),
|
|
3410
|
+
/* @__PURE__ */ jsxs16("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-4", children: [
|
|
3411
|
+
/* @__PURE__ */ jsxs16("div", { className: "bg-surface-card border border-hairline rounded-xl p-4", children: [
|
|
3412
|
+
/* @__PURE__ */ jsx16(Typography14, { variant: "caption", className: "typography-micro block mb-3 text-text-secondary dark:text-text-secondary-dark", children: "card \xB7 bg-surface-card + border-hairline" }),
|
|
3413
|
+
/* @__PURE__ */ jsxs16("div", { className: "flex flex-wrap items-center gap-2 mb-3", children: [
|
|
3414
|
+
/* @__PURE__ */ jsx16("div", { className: "bg-surface-raised hover:bg-surface-raised-hover transition-colors rounded-lg px-3 py-1.5 text-sm", children: "raised" }),
|
|
3415
|
+
/* @__PURE__ */ jsx16("div", { className: "bg-surface-field hover:bg-surface-field-hover transition-colors rounded-lg px-3 py-1.5 text-sm text-text-secondary dark:text-text-secondary-dark", children: "field" }),
|
|
3416
|
+
/* @__PURE__ */ jsxs16("div", { className: "bg-surface-field rounded-lg p-1 inline-flex gap-1 text-sm", children: [
|
|
3417
|
+
/* @__PURE__ */ jsx16("span", { className: "bg-surface-lifted rounded-md px-3 py-0.5 shadow-sm", children: "lifted" }),
|
|
3418
|
+
/* @__PURE__ */ jsx16("span", { className: "px-3 py-0.5 text-text-secondary dark:text-text-secondary-dark", children: "track" })
|
|
3419
|
+
] })
|
|
3420
|
+
] }),
|
|
3421
|
+
/* @__PURE__ */ jsxs16("div", { className: "flex flex-col gap-0.5", children: [
|
|
3422
|
+
/* @__PURE__ */ jsx16("div", { className: "px-3 py-1.5 text-sm rounded-md hover:bg-surface-hover transition-colors cursor-default", children: "row \xB7 hover:bg-surface-hover" }),
|
|
3423
|
+
/* @__PURE__ */ jsx16("div", { className: "px-3 py-1.5 text-sm rounded-md bg-surface-active", children: "row \xB7 bg-surface-active" })
|
|
3424
|
+
] })
|
|
3425
|
+
] }),
|
|
3426
|
+
/* @__PURE__ */ jsxs16("div", { className: "bg-surface-card border border-hairline-strong rounded-lg p-4 shadow-lg self-start", children: [
|
|
3427
|
+
/* @__PURE__ */ jsx16(Typography14, { variant: "caption", className: "typography-micro block mb-3 text-text-secondary dark:text-text-secondary-dark", children: "floating \xB7 paperMixin, border-hairline-strong" }),
|
|
3428
|
+
/* @__PURE__ */ jsx16(Typography14, { variant: "body2", children: "A menu, a popover, a dialog. The stronger line is what lets it read against anything underneath." })
|
|
3429
|
+
] })
|
|
3430
|
+
] })
|
|
3431
|
+
] })
|
|
3432
|
+
] }),
|
|
3433
|
+
/* @__PURE__ */ jsx16("div", { className: "mt-4 grid grid-cols-2 sm:grid-cols-4 lg:grid-cols-8 gap-2", children: [
|
|
3434
|
+
["frame", "bg-surface-frame"],
|
|
3435
|
+
["sheet", "bg-surface-sheet"],
|
|
3436
|
+
["card", "bg-surface-card"],
|
|
3437
|
+
["raised", "bg-surface-raised"],
|
|
3438
|
+
["lifted", "bg-surface-lifted"],
|
|
3439
|
+
["well", "bg-surface-well"],
|
|
3440
|
+
["hairline", "border-hairline"],
|
|
3441
|
+
["hairline strong", "border-hairline-strong"]
|
|
3442
|
+
].map(([label, cn]) => /* @__PURE__ */ jsx16("div", { className: cls12("rounded-lg h-14 flex items-end p-2 border", cn.startsWith("bg-") ? cn + " border-hairline" : "bg-surface-card " + cn), children: /* @__PURE__ */ jsx16(Typography14, { variant: "caption", className: "font-mono text-text-secondary dark:text-text-secondary-dark", children: label }) }, cn)) })
|
|
3443
|
+
] }),
|
|
3444
|
+
/* @__PURE__ */ jsx16(ColourSection, {}),
|
|
3445
|
+
/* @__PURE__ */ jsxs16(SectionBlock, { id: "typography", title: "Typography", children: [
|
|
3446
|
+
/* @__PURE__ */ jsx16(Typography14, { variant: "body2", color: "secondary", className: "mb-4 max-w-[68ch]", children: "Instrument Sans for headings, Inter for everything read, JetBrains Mono for everything measured. The ladder is monotonic: 600 for h1\u2013h4, 500 for h5, h6 and labels, 400 for copy, and 700 never. The display end separates itself by size and tracking, not by weight. Each row names its variant and the rendered size, weight and tracking tier it resolves to." }),
|
|
3447
|
+
/* @__PURE__ */ jsx16("div", { className: "flex flex-col gap-3", children: TYPE_LADDER.map(([v, spec]) => /* @__PURE__ */ jsxs16("div", { className: cls12("flex flex-col sm:flex-row sm:items-baseline gap-1 sm:gap-4 border-b pb-3 last:border-0", defaultBorderMixin6), children: [
|
|
3448
|
+
/* @__PURE__ */ jsxs16("span", { className: "w-56 shrink-0 text-[11px] text-text-secondary dark:text-text-secondary-dark font-mono", children: [
|
|
3449
|
+
v,
|
|
3450
|
+
" ",
|
|
3451
|
+
/* @__PURE__ */ jsxs16("span", { className: "text-text-disabled dark:text-text-disabled-dark", children: [
|
|
3452
|
+
"\xB7 ",
|
|
3453
|
+
spec
|
|
3454
|
+
] })
|
|
3455
|
+
] }),
|
|
3456
|
+
/* @__PURE__ */ jsx16(Typography14, { variant: v, component: "p", children: "The quick brown fox jumps over the lazy dog" })
|
|
3457
|
+
] }, v)) }),
|
|
3458
|
+
/* @__PURE__ */ jsx16("div", { className: "flex gap-4 flex-wrap mt-4", children: ["primary", "secondary", "disabled", "error"].map((c) => /* @__PURE__ */ jsxs16(Typography14, { color: c, children: [
|
|
3459
|
+
'color="',
|
|
3460
|
+
c,
|
|
3461
|
+
'"'
|
|
3462
|
+
] }, c)) }),
|
|
3463
|
+
/* @__PURE__ */ jsxs16("div", { className: cls12("mt-8 pt-6 border-t", defaultBorderMixin6), children: [
|
|
3464
|
+
/* @__PURE__ */ jsx16(Typography14, { variant: "subtitle2", className: "block mb-1", children: "Data tiers" }),
|
|
3465
|
+
/* @__PURE__ */ jsxs16(Typography14, { variant: "body2", color: "secondary", className: "block mb-5 max-w-[65ch]", children: [
|
|
3466
|
+
"For values that are looked up rather than read: a field name, a measurement, a headline figure. ",
|
|
3467
|
+
/* @__PURE__ */ jsx16("code", { className: "font-mono text-xs", children: "mono" }),
|
|
3468
|
+
" and",
|
|
3469
|
+
" ",
|
|
3470
|
+
/* @__PURE__ */ jsx16("code", { className: "font-mono text-xs", children: "stat" }),
|
|
3471
|
+
" both carry",
|
|
3472
|
+
" ",
|
|
3473
|
+
/* @__PURE__ */ jsx16("code", { className: "font-mono text-xs", children: "tabular-nums" }),
|
|
3474
|
+
", so a column of them keeps its decimal points aligned and a live counter does not jitter as its digits change width. The mono tier carries counts, sizes, times, ids and paths; it never carries a sentence."
|
|
3475
|
+
] }),
|
|
3476
|
+
/* @__PURE__ */ jsx16("div", { className: "flex flex-wrap items-start gap-x-12 gap-y-5", children: [
|
|
3477
|
+
["Region", "europe-west1"],
|
|
3478
|
+
["Took", "32.2s"],
|
|
3479
|
+
["Last run", "16/08/2026, 05:30:32"]
|
|
3480
|
+
].map(([label, value]) => /* @__PURE__ */ jsxs16("div", { children: [
|
|
3481
|
+
/* @__PURE__ */ jsx16(Typography14, { variant: "micro", component: "div", color: "secondary", className: "block", children: label }),
|
|
3482
|
+
/* @__PURE__ */ jsx16(Typography14, { variant: "mono", component: "div", className: "block mt-1 text-sm", children: value })
|
|
3483
|
+
] }, label)) }),
|
|
3484
|
+
/* @__PURE__ */ jsxs16("div", { className: "mt-6 flex flex-wrap items-end gap-10", children: [
|
|
3485
|
+
/* @__PURE__ */ jsxs16("div", { children: [
|
|
3486
|
+
/* @__PURE__ */ jsx16("span", { className: "text-[11px] text-text-secondary dark:text-text-secondary-dark font-mono", children: "stat \xB7 30 \xB7 600 \xB7 tabular" }),
|
|
3487
|
+
/* @__PURE__ */ jsx16(Typography14, { variant: "stat", component: "div", className: "block mt-1", children: "1,284" })
|
|
3488
|
+
] }),
|
|
3489
|
+
/* @__PURE__ */ jsxs16("div", { children: [
|
|
3490
|
+
/* @__PURE__ */ jsx16("span", { className: "text-[11px] text-text-secondary dark:text-text-secondary-dark font-mono", children: "display-2 \xB7 36\u219264 fluid \xB7 600 \xB7 the one greeting a page has" }),
|
|
3491
|
+
/* @__PURE__ */ jsx16("div", { className: "text-display-2 font-headers font-semibold mt-1", children: "Good afternoon, Zulu." })
|
|
3492
|
+
] })
|
|
3493
|
+
] })
|
|
3494
|
+
] })
|
|
3495
|
+
] }),
|
|
3496
|
+
/* @__PURE__ */ jsx16(ShapeSpaceSection, {}),
|
|
3497
|
+
/* @__PURE__ */ jsx16(DepthIconsSection, {}),
|
|
3498
|
+
/* @__PURE__ */ jsxs16(SectionBlock, { id: "drawer", title: "Drawer \u2014 DefaultDrawer.tsx", children: [
|
|
3499
|
+
/* @__PURE__ */ jsxs16(Typography14, { variant: "body2", color: "secondary", className: "mb-4", children: [
|
|
2929
3500
|
"The drawer wraps ",
|
|
2930
|
-
/* @__PURE__ */
|
|
3501
|
+
/* @__PURE__ */ jsx16("code", { className: "font-mono text-xs", children: "DrawerLogo" }),
|
|
2931
3502
|
", scrollable ",
|
|
2932
|
-
/* @__PURE__ */
|
|
3503
|
+
/* @__PURE__ */ jsx16("code", { className: "font-mono text-xs", children: "DrawerNavigationGroup" }),
|
|
2933
3504
|
"s, and ",
|
|
2934
|
-
/* @__PURE__ */
|
|
3505
|
+
/* @__PURE__ */ jsx16("code", { className: "font-mono text-xs", children: "DrawerToggle" }),
|
|
2935
3506
|
". Two visual states: collapsed (icon only, 72px) and expanded (280px)."
|
|
2936
3507
|
] }),
|
|
2937
|
-
/* @__PURE__ */
|
|
2938
|
-
/* @__PURE__ */
|
|
2939
|
-
/* @__PURE__ */
|
|
2940
|
-
/* @__PURE__ */
|
|
2941
|
-
/* @__PURE__ */
|
|
2942
|
-
/* @__PURE__ */
|
|
2943
|
-
/* @__PURE__ */
|
|
3508
|
+
/* @__PURE__ */ jsxs16("div", { className: "flex gap-6 flex-wrap", children: [
|
|
3509
|
+
/* @__PURE__ */ jsxs16("div", { children: [
|
|
3510
|
+
/* @__PURE__ */ jsx16(Typography14, { variant: "caption", color: "secondary", className: "block mb-1", children: "Collapsed (72px)" }),
|
|
3511
|
+
/* @__PURE__ */ jsxs16("div", { className: cls12("flex flex-col h-72 relative w-[72px] border rounded-lg overflow-hidden bg-surface-card", defaultBorderMixin6), children: [
|
|
3512
|
+
/* @__PURE__ */ jsx16("div", { className: "flex flex-row items-center shrink-0 pt-4 pb-2 px-2", children: /* @__PURE__ */ jsx16("div", { className: "shrink-0 flex items-center justify-center w-[56px] h-[40px]", children: /* @__PURE__ */ jsx16(RebaseLogo, { width: "28px", height: "28px" }) }) }),
|
|
3513
|
+
/* @__PURE__ */ jsx16("div", { className: "mt-3 flex-grow overflow-hidden", children: /* @__PURE__ */ jsx16("div", { className: "my-2 mx-2 flex flex-col", children: /* @__PURE__ */ jsx16("div", { className: "flex flex-col", children: [/* @__PURE__ */ jsx16(FolderIcon, { size: iconSize3.smallest }, "folder"), /* @__PURE__ */ jsx16(UserIcon, { size: iconSize3.smallest }, "user"), /* @__PURE__ */ jsx16(TagIcon, { size: iconSize3.smallest }, "tag")].map((icon, i) => /* @__PURE__ */ jsx16("div", { className: cls12("rounded-lg truncate hover:bg-surface-hover flex flex-row items-center h-[30px]", i === 0 && "bg-primary/8 dark:bg-primary/10"), children: /* @__PURE__ */ jsx16("div", { className: cls12("shrink-0 flex items-center justify-center w-[44px] h-[30px] [&>svg]:size-4", i === 0 ? "text-primary dark:text-primary" : "text-surface-500 dark:text-text-secondary-dark"), children: icon }) }, i)) }) }) }),
|
|
3514
|
+
/* @__PURE__ */ jsx16("div", { className: cls12("shrink-0 mt-auto border-t px-2 py-2", defaultBorderMixin6), children: /* @__PURE__ */ jsx16("div", { className: "flex flex-row items-center rounded-lg cursor-pointer hover:bg-surface-hover transition-colors duration-150 py-2", children: /* @__PURE__ */ jsx16("div", { className: "shrink-0 flex items-center justify-center w-[56px] h-[24px] text-surface-500 dark:text-surface-400", children: /* @__PURE__ */ jsx16(ChevronsRightIcon, { size: iconSize3.small }) }) }) })
|
|
2944
3515
|
] })
|
|
2945
3516
|
] }),
|
|
2946
|
-
/* @__PURE__ */
|
|
2947
|
-
/* @__PURE__ */
|
|
2948
|
-
/* @__PURE__ */
|
|
2949
|
-
/* @__PURE__ */
|
|
2950
|
-
/* @__PURE__ */
|
|
2951
|
-
/* @__PURE__ */
|
|
3517
|
+
/* @__PURE__ */ jsxs16("div", { children: [
|
|
3518
|
+
/* @__PURE__ */ jsx16(Typography14, { variant: "caption", color: "secondary", className: "block mb-1", children: "Expanded (280px)" }),
|
|
3519
|
+
/* @__PURE__ */ jsxs16("div", { className: cls12("flex flex-col h-72 relative w-[280px] border rounded-lg overflow-hidden bg-surface-card", defaultBorderMixin6), children: [
|
|
3520
|
+
/* @__PURE__ */ jsxs16("div", { className: "flex flex-row items-center shrink-0 pt-4 pb-2 px-2", children: [
|
|
3521
|
+
/* @__PURE__ */ jsx16("div", { className: "shrink-0 flex items-center justify-center w-[56px] h-[40px]", children: /* @__PURE__ */ jsx16(RebaseLogo, { width: "28px", height: "28px" }) }),
|
|
3522
|
+
/* @__PURE__ */ jsx16("div", { className: "flex flex-row items-center overflow-hidden transition-all duration-200 ease-in-out opacity-100 w-full ml-1", children: /* @__PURE__ */ jsx16(Typography14, { variant: "subtitle1", noWrap: true, className: "truncate", children: "Rebase" }) })
|
|
2952
3523
|
] }),
|
|
2953
|
-
/* @__PURE__ */
|
|
2954
|
-
/* @__PURE__ */
|
|
2955
|
-
/* @__PURE__ */
|
|
2956
|
-
/* @__PURE__ */
|
|
3524
|
+
/* @__PURE__ */ jsx16("div", { className: "mt-3 flex-grow overflow-hidden", children: /* @__PURE__ */ jsxs16("div", { className: "my-2 mx-2 flex flex-col", children: [
|
|
3525
|
+
/* @__PURE__ */ jsxs16("div", { className: "pl-3 pr-2 py-0.5 flex flex-row items-center transition-colors cursor-pointer hover:bg-surface-hover rounded-lg", children: [
|
|
3526
|
+
/* @__PURE__ */ jsx16(ChevronDownIcon, { size: iconSize3.small, className: "text-surface-400 dark:text-surface-400 mr-1" }),
|
|
3527
|
+
/* @__PURE__ */ jsx16(Typography14, { variant: "caption", color: "secondary", className: "font-semibold text-[11px] uppercase tracking-wider flex-grow line-clamp-1 text-surface-400 dark:text-surface-400", children: "Content" })
|
|
2957
3528
|
] }),
|
|
2958
|
-
/* @__PURE__ */
|
|
2959
|
-
{
|
|
2960
|
-
|
|
2961
|
-
|
|
2962
|
-
|
|
2963
|
-
|
|
2964
|
-
|
|
2965
|
-
label: "Authors",
|
|
2966
|
-
icon: /* @__PURE__ */ jsx14(UserIcon, { size: iconSize2.small }),
|
|
2967
|
-
active: false
|
|
2968
|
-
},
|
|
2969
|
-
{
|
|
2970
|
-
label: "Tags",
|
|
2971
|
-
icon: /* @__PURE__ */ jsx14(TagIcon, { size: iconSize2.small }),
|
|
2972
|
-
active: false
|
|
2973
|
-
}
|
|
2974
|
-
].map(({ label, icon, active }) => /* @__PURE__ */ jsxs14("div", { className: cls10(
|
|
2975
|
-
"rounded-lg truncate hover:bg-primary/5 dark:hover:bg-primary/5 text-text-primary dark:text-surface-200 hover:text-surface-900 dark:hover:text-white flex flex-row items-center pr-4 h-10 font-medium text-xs cursor-pointer",
|
|
2976
|
-
active ? "bg-primary/8 dark:bg-primary/10 text-primary dark:text-primary" : ""
|
|
3529
|
+
/* @__PURE__ */ jsx16("div", { className: "flex flex-col", children: [
|
|
3530
|
+
{ label: "Posts", icon: /* @__PURE__ */ jsx16(FolderIcon, { size: iconSize3.smallest }), active: true },
|
|
3531
|
+
{ label: "Authors", icon: /* @__PURE__ */ jsx16(UserIcon, { size: iconSize3.smallest }), active: false },
|
|
3532
|
+
{ label: "Tags", icon: /* @__PURE__ */ jsx16(TagIcon, { size: iconSize3.smallest }), active: false }
|
|
3533
|
+
].map(({ label, icon, active }) => /* @__PURE__ */ jsxs16("div", { className: cls12(
|
|
3534
|
+
"rounded-lg truncate hover:bg-surface-hover text-surface-700 dark:text-surface-300 hover:text-surface-900 dark:hover:text-white flex flex-row items-center pr-4 h-[30px] font-medium text-[13px] cursor-pointer",
|
|
3535
|
+
active ? "bg-primary/8 dark:bg-primary/10 text-primary dark:text-primary [&_div]:text-primary" : ""
|
|
2977
3536
|
), children: [
|
|
2978
|
-
/* @__PURE__ */
|
|
2979
|
-
/* @__PURE__ */
|
|
3537
|
+
/* @__PURE__ */ jsx16("div", { className: cls12("shrink-0 flex items-center justify-center w-[44px] h-[30px] [&>svg]:size-4 transition-colors duration-150", active ? "text-primary dark:text-primary" : "text-surface-500 dark:text-text-secondary-dark"), children: icon }),
|
|
3538
|
+
/* @__PURE__ */ jsx16("div", { className: "text-text-primary dark:text-surface-200 font-inherit truncate", children: label })
|
|
2980
3539
|
] }, label)) })
|
|
2981
3540
|
] }) }),
|
|
2982
|
-
/* @__PURE__ */
|
|
2983
|
-
/* @__PURE__ */
|
|
2984
|
-
/* @__PURE__ */
|
|
3541
|
+
/* @__PURE__ */ jsx16("div", { className: cls12("shrink-0 mt-auto border-t px-2 py-2", defaultBorderMixin6), children: /* @__PURE__ */ jsxs16("div", { className: "flex flex-row items-center rounded-lg cursor-pointer hover:bg-surface-hover transition-colors duration-150 py-2", children: [
|
|
3542
|
+
/* @__PURE__ */ jsx16("div", { className: "shrink-0 flex items-center justify-center w-[56px] h-[24px] text-surface-500 dark:text-surface-400", children: /* @__PURE__ */ jsx16(ChevronsLeftIcon, { size: iconSize3.small }) }),
|
|
3543
|
+
/* @__PURE__ */ jsx16("div", { className: "overflow-hidden transition-all duration-200 ease-in-out opacity-100 w-auto", children: /* @__PURE__ */ jsx16(Typography14, { variant: "body2", className: "text-surface-500 dark:text-surface-400 select-none whitespace-nowrap", children: "Collapse" }) })
|
|
2985
3544
|
] }) })
|
|
2986
3545
|
] })
|
|
2987
3546
|
] })
|
|
2988
3547
|
] })
|
|
2989
3548
|
] }),
|
|
2990
|
-
/* @__PURE__ */
|
|
2991
|
-
/* @__PURE__ */
|
|
3549
|
+
/* @__PURE__ */ jsxs16(SectionBlock, { id: "appbar", title: "App Bar \u2014 DefaultAppBar.tsx", children: [
|
|
3550
|
+
/* @__PURE__ */ jsxs16(Typography14, { variant: "body2", color: "secondary", className: "mb-4", children: [
|
|
2992
3551
|
"Fixed at top (",
|
|
2993
|
-
/* @__PURE__ */
|
|
3552
|
+
/* @__PURE__ */ jsx16("code", { className: "font-mono text-xs", children: "h-16 absolute top-0" }),
|
|
2994
3553
|
"). Contains breadcrumbs (caption + body2), Content/Studio pill toggle, theme menu, and user avatar menu via ",
|
|
2995
|
-
/* @__PURE__ */
|
|
3554
|
+
/* @__PURE__ */ jsx16("code", { className: "font-mono text-xs", children: "Menu" }),
|
|
2996
3555
|
"."
|
|
2997
3556
|
] }),
|
|
2998
|
-
/* @__PURE__ */
|
|
2999
|
-
/* @__PURE__ */
|
|
3000
|
-
/* @__PURE__ */
|
|
3001
|
-
/* @__PURE__ */
|
|
3002
|
-
/* @__PURE__ */
|
|
3003
|
-
/* @__PURE__ */
|
|
3557
|
+
/* @__PURE__ */ jsxs16("div", { className: cls12("w-full h-16 flex flex-row gap-2 px-4 items-center border rounded-lg relative", defaultBorderMixin6), children: [
|
|
3558
|
+
/* @__PURE__ */ jsx16("div", { className: "mr-8 hidden lg:block", children: /* @__PURE__ */ jsxs16("div", { className: "flex flex-row gap-2 items-center", children: [
|
|
3559
|
+
/* @__PURE__ */ jsx16(Typography14, { variant: "caption", color: "secondary", children: "/" }),
|
|
3560
|
+
/* @__PURE__ */ jsxs16("div", { className: "flex flex-row items-center gap-2 whitespace-nowrap", children: [
|
|
3561
|
+
/* @__PURE__ */ jsx16(Typography14, { variant: "body2", children: "Posts" }),
|
|
3562
|
+
/* @__PURE__ */ jsx16("span", { className: "text-xs text-surface-accent-500 dark:text-surface-accent-400 bg-surface-raised px-1 py-0 rounded", children: "42" })
|
|
3004
3563
|
] }),
|
|
3005
|
-
/* @__PURE__ */
|
|
3006
|
-
/* @__PURE__ */
|
|
3564
|
+
/* @__PURE__ */ jsx16(Typography14, { variant: "caption", color: "secondary", children: "/" }),
|
|
3565
|
+
/* @__PURE__ */ jsx16("div", { className: "flex flex-row items-center gap-2 whitespace-nowrap", children: /* @__PURE__ */ jsx16(Typography14, { variant: "body2", children: "My Post" }) })
|
|
3007
3566
|
] }) }),
|
|
3008
|
-
/* @__PURE__ */
|
|
3009
|
-
/* @__PURE__ */
|
|
3010
|
-
/* @__PURE__ */
|
|
3011
|
-
/* @__PURE__ */
|
|
3567
|
+
/* @__PURE__ */ jsx16("div", { className: "grow" }),
|
|
3568
|
+
/* @__PURE__ */ jsxs16("div", { className: cls12("mr-2 hidden sm:flex bg-surface-field rounded-lg p-0.5"), children: [
|
|
3569
|
+
/* @__PURE__ */ jsx16("button", { className: cls12("px-3 py-1 text-xs font-medium rounded-md transition-all", "bg-surface-lifted shadow-sm text-text-primary dark:text-text-primary-dark"), children: "Content" }),
|
|
3570
|
+
/* @__PURE__ */ jsx16("button", { className: cls12("px-3 py-1 text-xs font-medium rounded-md transition-all", "text-surface-500 hover:text-surface-900 dark:hover:text-white"), children: "Studio" })
|
|
3012
3571
|
] }),
|
|
3013
|
-
/* @__PURE__ */
|
|
3014
|
-
/* @__PURE__ */
|
|
3015
|
-
/* @__PURE__ */
|
|
3572
|
+
/* @__PURE__ */ jsxs16(Menu, { trigger: /* @__PURE__ */ jsx16(IconButton5, { color: "inherit", children: /* @__PURE__ */ jsx16(MoonIcon, {}) }), children: [
|
|
3573
|
+
/* @__PURE__ */ jsxs16(MenuItem, { children: [
|
|
3574
|
+
/* @__PURE__ */ jsx16(MoonIcon, { size: iconSize3.smallest }),
|
|
3016
3575
|
" Dark"
|
|
3017
3576
|
] }),
|
|
3018
|
-
/* @__PURE__ */
|
|
3019
|
-
/* @__PURE__ */
|
|
3577
|
+
/* @__PURE__ */ jsxs16(MenuItem, { children: [
|
|
3578
|
+
/* @__PURE__ */ jsx16(SunIcon, { size: iconSize3.smallest }),
|
|
3020
3579
|
" Light"
|
|
3021
3580
|
] }),
|
|
3022
|
-
/* @__PURE__ */
|
|
3023
|
-
/* @__PURE__ */
|
|
3581
|
+
/* @__PURE__ */ jsxs16(MenuItem, { children: [
|
|
3582
|
+
/* @__PURE__ */ jsx16(SunMoonIcon, { size: iconSize3.smallest }),
|
|
3024
3583
|
" System"
|
|
3025
3584
|
] })
|
|
3026
3585
|
] }),
|
|
3027
|
-
/* @__PURE__ */
|
|
3028
|
-
/* @__PURE__ */
|
|
3029
|
-
/* @__PURE__ */
|
|
3030
|
-
/* @__PURE__ */
|
|
3586
|
+
/* @__PURE__ */ jsxs16(Menu, { trigger: /* @__PURE__ */ jsx16(Avatar2, { children: "A" }), children: [
|
|
3587
|
+
/* @__PURE__ */ jsxs16("div", { className: "px-4 py-2 mb-2", children: [
|
|
3588
|
+
/* @__PURE__ */ jsx16(Typography14, { variant: "body1", color: "secondary", children: "Alice Johnson" }),
|
|
3589
|
+
/* @__PURE__ */ jsx16(Typography14, { variant: "body2", color: "secondary", children: "alice@example.com" })
|
|
3031
3590
|
] }),
|
|
3032
|
-
/* @__PURE__ */
|
|
3033
|
-
/* @__PURE__ */
|
|
3591
|
+
/* @__PURE__ */ jsxs16(MenuItem, { children: [
|
|
3592
|
+
/* @__PURE__ */ jsx16(SettingsIcon3, {}),
|
|
3034
3593
|
" Account Settings"
|
|
3035
3594
|
] }),
|
|
3036
|
-
/* @__PURE__ */
|
|
3037
|
-
/* @__PURE__ */
|
|
3595
|
+
/* @__PURE__ */ jsxs16(MenuItem, { children: [
|
|
3596
|
+
/* @__PURE__ */ jsx16(LogOutIcon, {}),
|
|
3038
3597
|
" Log Out"
|
|
3039
3598
|
] })
|
|
3040
3599
|
] })
|
|
3041
3600
|
] })
|
|
3042
3601
|
] }),
|
|
3043
|
-
/* @__PURE__ */
|
|
3044
|
-
/* @__PURE__ */
|
|
3602
|
+
/* @__PURE__ */ jsxs16(SectionBlock, { id: "tabs", title: "Tabs \u2014 Tabs.tsx", children: [
|
|
3603
|
+
/* @__PURE__ */ jsxs16(Typography14, { variant: "body2", color: "secondary", className: "mb-4", children: [
|
|
3045
3604
|
"All editor components use ",
|
|
3046
|
-
/* @__PURE__ */
|
|
3605
|
+
/* @__PURE__ */ jsx16("code", { className: "font-mono text-xs", children: 'variant="boxy"' }),
|
|
3047
3606
|
" tabs for sidebar navigation. The boxy variant provides a segmented, flat tab bar that integrates tightly with editor chrome."
|
|
3048
3607
|
] }),
|
|
3049
|
-
/* @__PURE__ */
|
|
3050
|
-
/* @__PURE__ */
|
|
3051
|
-
/* @__PURE__ */
|
|
3052
|
-
/* @__PURE__ */
|
|
3608
|
+
/* @__PURE__ */ jsxs16("div", { className: "flex flex-col gap-6", children: [
|
|
3609
|
+
/* @__PURE__ */ jsxs16("div", { children: [
|
|
3610
|
+
/* @__PURE__ */ jsx16(Typography14, { variant: "caption", color: "secondary", className: "block mb-2 font-mono", children: 'variant="default"' }),
|
|
3611
|
+
/* @__PURE__ */ jsxs16(Tabs, { value: "tab1", onValueChange: () => {
|
|
3053
3612
|
}, children: [
|
|
3054
|
-
/* @__PURE__ */
|
|
3055
|
-
/* @__PURE__ */
|
|
3056
|
-
/* @__PURE__ */
|
|
3613
|
+
/* @__PURE__ */ jsx16(Tab, { value: "tab1", children: "Schema" }),
|
|
3614
|
+
/* @__PURE__ */ jsx16(Tab, { value: "tab2", children: "Snippets" }),
|
|
3615
|
+
/* @__PURE__ */ jsx16(Tab, { value: "tab3", children: "History" })
|
|
3057
3616
|
] })
|
|
3058
3617
|
] }),
|
|
3059
|
-
/* @__PURE__ */
|
|
3060
|
-
/* @__PURE__ */
|
|
3061
|
-
/* @__PURE__ */
|
|
3062
|
-
/* @__PURE__ */
|
|
3063
|
-
}, variant: "boxy", className: "border-b border-
|
|
3064
|
-
/* @__PURE__ */
|
|
3065
|
-
/* @__PURE__ */
|
|
3066
|
-
/* @__PURE__ */
|
|
3618
|
+
/* @__PURE__ */ jsxs16("div", { children: [
|
|
3619
|
+
/* @__PURE__ */ jsx16(Typography14, { variant: "caption", color: "secondary", className: "block mb-2 font-mono", children: 'variant="boxy" (Editor Standard)' }),
|
|
3620
|
+
/* @__PURE__ */ jsxs16("div", { className: cls12("border rounded-lg overflow-hidden w-[320px]", defaultBorderMixin6), children: [
|
|
3621
|
+
/* @__PURE__ */ jsxs16(Tabs, { value: "schema", onValueChange: () => {
|
|
3622
|
+
}, variant: "boxy", className: "border-b border-hairline", children: [
|
|
3623
|
+
/* @__PURE__ */ jsx16(Tab, { value: "schema", children: "Schema" }),
|
|
3624
|
+
/* @__PURE__ */ jsx16(Tab, { value: "snippets", children: "Snippets" }),
|
|
3625
|
+
/* @__PURE__ */ jsx16(Tab, { value: "history", children: "History" })
|
|
3067
3626
|
] }),
|
|
3068
|
-
/* @__PURE__ */
|
|
3069
|
-
/* @__PURE__ */
|
|
3070
|
-
/* @__PURE__ */
|
|
3627
|
+
/* @__PURE__ */ jsxs16("div", { className: cls12("p-3 border-b flex justify-between items-center", defaultBorderMixin6), children: [
|
|
3628
|
+
/* @__PURE__ */ jsx16(Typography14, { variant: "caption", className: "font-semibold uppercase tracking-wider text-text-disabled dark:text-text-disabled-dark", children: "TABLES" }),
|
|
3629
|
+
/* @__PURE__ */ jsx16(IconButton5, { size: "small", children: /* @__PURE__ */ jsx16(SettingsIcon3, { size: iconSize3.smallest }) })
|
|
3071
3630
|
] }),
|
|
3072
|
-
/* @__PURE__ */
|
|
3631
|
+
/* @__PURE__ */ jsx16("div", { className: "p-2 h-24", children: /* @__PURE__ */ jsx16(Typography14, { variant: "caption", className: "text-text-disabled dark:text-text-disabled-dark italic p-2", children: "Tab content area\u2026" }) })
|
|
3073
3632
|
] })
|
|
3074
3633
|
] }),
|
|
3075
|
-
/* @__PURE__ */
|
|
3076
|
-
/* @__PURE__ */
|
|
3077
|
-
/* @__PURE__ */
|
|
3078
|
-
/* @__PURE__ */
|
|
3079
|
-
/* @__PURE__ */
|
|
3634
|
+
/* @__PURE__ */ jsxs16("div", { children: [
|
|
3635
|
+
/* @__PURE__ */ jsx16(Typography14, { variant: "caption", color: "secondary", className: "block mb-2 font-mono", children: "Toolbar Tabs (boxy, inline with controls)" }),
|
|
3636
|
+
/* @__PURE__ */ jsxs16("div", { className: cls12("border rounded-lg overflow-hidden flex items-center justify-between pr-2 bg-surface-card", defaultBorderMixin6), children: [
|
|
3637
|
+
/* @__PURE__ */ jsxs16("div", { className: "flex items-center", children: [
|
|
3638
|
+
/* @__PURE__ */ jsxs16(Tabs, { value: "query1", onValueChange: () => {
|
|
3080
3639
|
}, variant: "boxy", className: "w-[unset] flex-shrink-0", children: [
|
|
3081
|
-
/* @__PURE__ */
|
|
3082
|
-
/* @__PURE__ */
|
|
3640
|
+
/* @__PURE__ */ jsxs16(Tab, { value: "query1", className: "flex items-center gap-1.5", children: [
|
|
3641
|
+
/* @__PURE__ */ jsx16("svg", { className: "w-3.5 h-3.5 text-blue-500", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx16("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2.5, d: "M4 7v10c0 2.21 3.582 4 8 4s8-1.79 8-4V7M4 7c0 2.21 3.582 4 8 4s8-1.79 8-4M4 7c0-2.21 3.582-4 8-4s8 1.79 8 4m0 5c0 2.21-3.582 4-8 4s-8-1.79-8-4" }) }),
|
|
3083
3642
|
"Query 1"
|
|
3084
3643
|
] }),
|
|
3085
|
-
/* @__PURE__ */
|
|
3086
|
-
/* @__PURE__ */
|
|
3644
|
+
/* @__PURE__ */ jsxs16(Tab, { value: "query2", className: "flex items-center gap-1.5", children: [
|
|
3645
|
+
/* @__PURE__ */ jsx16("svg", { className: "w-3.5 h-3.5 text-blue-500", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx16("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2.5, d: "M4 7v10c0 2.21 3.582 4 8 4s8-1.79 8-4V7M4 7c0 2.21 3.582 4 8 4s8-1.79 8-4M4 7c0-2.21 3.582-4 8-4s8 1.79 8 4m0 5c0 2.21-3.582 4-8 4s-8-1.79-8-4" }) }),
|
|
3087
3646
|
"Query 2"
|
|
3088
3647
|
] })
|
|
3089
3648
|
] }),
|
|
3090
|
-
/* @__PURE__ */
|
|
3649
|
+
/* @__PURE__ */ jsx16(IconButton5, { size: "small", className: "ml-2 flex-shrink-0", children: /* @__PURE__ */ jsx16(PlusIcon, {}) })
|
|
3091
3650
|
] }),
|
|
3092
|
-
/* @__PURE__ */
|
|
3093
|
-
/* @__PURE__ */
|
|
3094
|
-
/* @__PURE__ */
|
|
3095
|
-
/* @__PURE__ */
|
|
3651
|
+
/* @__PURE__ */ jsxs16("div", { className: "flex items-center gap-1.5", children: [
|
|
3652
|
+
/* @__PURE__ */ jsx16(Button9, { variant: "text", size: "small", children: "Explain" }),
|
|
3653
|
+
/* @__PURE__ */ jsx16("div", { className: "h-4 w-px bg-hairline" }),
|
|
3654
|
+
/* @__PURE__ */ jsx16(Button9, { size: "small", color: "primary", children: "Run" })
|
|
3096
3655
|
] })
|
|
3097
3656
|
] })
|
|
3098
3657
|
] })
|
|
3099
3658
|
] })
|
|
3100
3659
|
] }),
|
|
3101
|
-
/* @__PURE__ */
|
|
3102
|
-
/* @__PURE__ */
|
|
3660
|
+
/* @__PURE__ */ jsxs16(SectionBlock, { id: "editor-sidebar", title: "Editor Sidebar \u2014 Harmonized Pattern", children: [
|
|
3661
|
+
/* @__PURE__ */ jsxs16(Typography14, { variant: "body2", color: "secondary", className: "mb-4", children: [
|
|
3103
3662
|
"All studio editor components (SQL, JS, RLS, Collection) share the same underlying sidebar foundation:",
|
|
3104
|
-
/* @__PURE__ */
|
|
3663
|
+
/* @__PURE__ */ jsx16("code", { className: "font-mono text-xs", children: 'Tabs variant="boxy"' }),
|
|
3105
3664
|
" at top (optional) \u2192 section header with uppercase label \u2192 scrollable list. While SQL/JS/RLS use dense tree entries, the Collection Schema Editor uses larger items (",
|
|
3106
|
-
/* @__PURE__ */
|
|
3665
|
+
/* @__PURE__ */ jsx16("code", { className: "font-mono text-xs", children: "px-3 py-2" }),
|
|
3107
3666
|
", ",
|
|
3108
|
-
/* @__PURE__ */
|
|
3667
|
+
/* @__PURE__ */ jsx16("code", { className: "font-mono text-xs", children: "text-sm" }),
|
|
3109
3668
|
") suitable for primary navigation."
|
|
3110
3669
|
] }),
|
|
3111
|
-
/* @__PURE__ */
|
|
3112
|
-
/* @__PURE__ */
|
|
3113
|
-
/* @__PURE__ */
|
|
3114
|
-
/* @__PURE__ */
|
|
3115
|
-
/* @__PURE__ */
|
|
3116
|
-
}, variant: "boxy", className: "border-b border-
|
|
3117
|
-
/* @__PURE__ */
|
|
3118
|
-
/* @__PURE__ */
|
|
3119
|
-
/* @__PURE__ */
|
|
3670
|
+
/* @__PURE__ */ jsxs16("div", { className: "flex gap-6 flex-wrap", children: [
|
|
3671
|
+
/* @__PURE__ */ jsxs16("div", { children: [
|
|
3672
|
+
/* @__PURE__ */ jsx16(Typography14, { variant: "caption", color: "secondary", className: "block mb-1", children: "SQL Editor Sidebar" }),
|
|
3673
|
+
/* @__PURE__ */ jsxs16("div", { className: cls12("flex flex-col h-72 w-[240px] border rounded-lg overflow-hidden", defaultBorderMixin6), children: [
|
|
3674
|
+
/* @__PURE__ */ jsxs16(Tabs, { value: "schema", onValueChange: () => {
|
|
3675
|
+
}, variant: "boxy", className: "border-b border-hairline", children: [
|
|
3676
|
+
/* @__PURE__ */ jsx16(Tab, { value: "schema", children: "Schema" }),
|
|
3677
|
+
/* @__PURE__ */ jsx16(Tab, { value: "snippets", children: "Snippets" }),
|
|
3678
|
+
/* @__PURE__ */ jsx16(Tab, { value: "history", children: "History" })
|
|
3120
3679
|
] }),
|
|
3121
|
-
/* @__PURE__ */
|
|
3122
|
-
/* @__PURE__ */
|
|
3123
|
-
/* @__PURE__ */
|
|
3680
|
+
/* @__PURE__ */ jsxs16("div", { className: cls12("p-3 border-b flex justify-between items-center", defaultBorderMixin6), children: [
|
|
3681
|
+
/* @__PURE__ */ jsx16(Typography14, { variant: "caption", className: "font-semibold uppercase tracking-wider text-text-secondary dark:text-text-secondary-dark", children: "TABLES" }),
|
|
3682
|
+
/* @__PURE__ */ jsx16(IconButton5, { size: "small", children: /* @__PURE__ */ jsx16(SettingsIcon3, { size: iconSize3.smallest }) })
|
|
3124
3683
|
] }),
|
|
3125
|
-
/* @__PURE__ */
|
|
3126
|
-
/* @__PURE__ */
|
|
3127
|
-
/* @__PURE__ */
|
|
3128
|
-
/* @__PURE__ */
|
|
3684
|
+
/* @__PURE__ */ jsx16("div", { className: "flex-grow overflow-y-auto no-scrollbar p-1", children: /* @__PURE__ */ jsxs16("div", { className: "mb-2", children: [
|
|
3685
|
+
/* @__PURE__ */ jsxs16("div", { className: "flex items-center p-1 cursor-pointer hover:bg-surface-hover rounded transition-colors", children: [
|
|
3686
|
+
/* @__PURE__ */ jsx16("svg", { className: "w-3 h-3 mr-1 rotate-90", fill: "currentColor", viewBox: "0 0 20 20", children: /* @__PURE__ */ jsx16("path", { d: "M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z" }) }),
|
|
3687
|
+
/* @__PURE__ */ jsx16(Typography14, { variant: "body2", className: "text-text-primary dark:text-text-primary-dark font-medium text-xs", children: "public" })
|
|
3129
3688
|
] }),
|
|
3130
|
-
/* @__PURE__ */
|
|
3131
|
-
/* @__PURE__ */
|
|
3132
|
-
/* @__PURE__ */
|
|
3689
|
+
/* @__PURE__ */ jsx16("div", { className: "ml-3 mt-1 space-y-1", children: ["users", "posts", "comments"].map((t) => /* @__PURE__ */ jsxs16("div", { className: "flex items-center p-1 cursor-pointer hover:bg-surface-hover rounded transition-colors group", children: [
|
|
3690
|
+
/* @__PURE__ */ jsx16("svg", { className: "w-3.5 h-3.5 mr-1 shrink-0 text-text-disabled dark:text-text-disabled-dark", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx16("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M3 10h18M3 14h18m-9-4v8m-7 0h14a2 2 0 002-2V8a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z" }) }),
|
|
3691
|
+
/* @__PURE__ */ jsx16(Typography14, { variant: "body2", className: "text-text-secondary dark:text-text-secondary-dark text-xs truncate", children: t })
|
|
3133
3692
|
] }, t)) })
|
|
3134
3693
|
] }) })
|
|
3135
3694
|
] })
|
|
3136
3695
|
] }),
|
|
3137
|
-
/* @__PURE__ */
|
|
3138
|
-
/* @__PURE__ */
|
|
3139
|
-
/* @__PURE__ */
|
|
3140
|
-
/* @__PURE__ */
|
|
3141
|
-
}, variant: "boxy", className: "border-b border-
|
|
3142
|
-
/* @__PURE__ */
|
|
3143
|
-
/* @__PURE__ */
|
|
3696
|
+
/* @__PURE__ */ jsxs16("div", { children: [
|
|
3697
|
+
/* @__PURE__ */ jsx16(Typography14, { variant: "caption", color: "secondary", className: "block mb-1", children: "RLS Editor Sidebar" }),
|
|
3698
|
+
/* @__PURE__ */ jsxs16("div", { className: cls12("flex flex-col h-72 w-[240px] border rounded-lg overflow-hidden", defaultBorderMixin6), children: [
|
|
3699
|
+
/* @__PURE__ */ jsxs16(Tabs, { value: "tables", onValueChange: () => {
|
|
3700
|
+
}, variant: "boxy", className: "border-b border-hairline", children: [
|
|
3701
|
+
/* @__PURE__ */ jsx16(Tab, { value: "tables", children: "Tables" }),
|
|
3702
|
+
/* @__PURE__ */ jsx16(Tab, { value: "info", children: "Info" })
|
|
3144
3703
|
] }),
|
|
3145
|
-
/* @__PURE__ */
|
|
3146
|
-
/* @__PURE__ */
|
|
3147
|
-
/* @__PURE__ */
|
|
3704
|
+
/* @__PURE__ */ jsxs16("div", { className: cls12("p-3 border-b flex justify-between items-center", defaultBorderMixin6), children: [
|
|
3705
|
+
/* @__PURE__ */ jsx16(Typography14, { variant: "caption", className: "font-semibold uppercase tracking-wider text-text-disabled dark:text-text-disabled-dark", children: "RLS" }),
|
|
3706
|
+
/* @__PURE__ */ jsx16(IconButton5, { size: "small", children: /* @__PURE__ */ jsx16(SettingsIcon3, { size: iconSize3.smallest }) })
|
|
3148
3707
|
] }),
|
|
3149
|
-
/* @__PURE__ */
|
|
3150
|
-
/* @__PURE__ */
|
|
3151
|
-
/* @__PURE__ */
|
|
3152
|
-
/* @__PURE__ */
|
|
3708
|
+
/* @__PURE__ */ jsx16("div", { className: "flex-grow overflow-y-auto no-scrollbar p-1", children: /* @__PURE__ */ jsxs16("div", { className: "mb-2", children: [
|
|
3709
|
+
/* @__PURE__ */ jsxs16("div", { className: "flex items-center p-1 cursor-pointer hover:bg-surface-hover rounded transition-colors", children: [
|
|
3710
|
+
/* @__PURE__ */ jsx16("svg", { className: "w-3 h-3 mr-1 rotate-90", fill: "currentColor", viewBox: "0 0 20 20", children: /* @__PURE__ */ jsx16("path", { d: "M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z" }) }),
|
|
3711
|
+
/* @__PURE__ */ jsx16(Typography14, { variant: "body2", className: "text-text-primary dark:text-text-primary-dark font-medium text-xs", children: "public" })
|
|
3153
3712
|
] }),
|
|
3154
|
-
/* @__PURE__ */
|
|
3713
|
+
/* @__PURE__ */ jsx16("div", { className: "ml-3 mt-1 space-y-0.5", children: [{
|
|
3155
3714
|
name: "users",
|
|
3156
3715
|
enabled: true
|
|
3157
3716
|
}, {
|
|
@@ -3160,334 +3719,352 @@ function UIReferenceView() {
|
|
|
3160
3719
|
}, {
|
|
3161
3720
|
name: "sessions",
|
|
3162
3721
|
enabled: false
|
|
3163
|
-
}].map((t) => /* @__PURE__ */
|
|
3164
|
-
/* @__PURE__ */
|
|
3165
|
-
/* @__PURE__ */
|
|
3166
|
-
/* @__PURE__ */
|
|
3722
|
+
}].map((t) => /* @__PURE__ */ jsxs16("div", { className: cls12("flex items-center p-1 cursor-pointer rounded transition-colors", t.name === "users" ? "bg-primary/10 text-primary dark:bg-primary/20" : "hover:bg-surface-hover text-text-secondary"), children: [
|
|
3723
|
+
/* @__PURE__ */ jsx16("svg", { className: "w-3.5 h-3.5 mr-1 shrink-0 text-text-disabled", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx16("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M3 10h18M3 14h18m-9-4v8m-7 0h14a2 2 0 002-2V8a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z" }) }),
|
|
3724
|
+
/* @__PURE__ */ jsx16(Typography14, { variant: "body2", className: "text-xs truncate flex-1", children: t.name }),
|
|
3725
|
+
/* @__PURE__ */ jsx16("div", { className: cls12("w-1.5 h-1.5 rounded-full shrink-0", t.enabled ? "bg-green-500" : "bg-orange-400 opacity-50") })
|
|
3167
3726
|
] }, t.name)) })
|
|
3168
3727
|
] }) })
|
|
3169
3728
|
] })
|
|
3170
3729
|
] }),
|
|
3171
|
-
/* @__PURE__ */
|
|
3172
|
-
/* @__PURE__ */
|
|
3173
|
-
/* @__PURE__ */
|
|
3174
|
-
/* @__PURE__ */
|
|
3175
|
-
/* @__PURE__ */
|
|
3176
|
-
/* @__PURE__ */
|
|
3730
|
+
/* @__PURE__ */ jsxs16("div", { children: [
|
|
3731
|
+
/* @__PURE__ */ jsx16(Typography14, { variant: "caption", color: "secondary", className: "block mb-1", children: "Collection Editor Sidebar" }),
|
|
3732
|
+
/* @__PURE__ */ jsxs16("div", { className: cls12("flex flex-col h-72 w-[240px] border rounded-lg overflow-hidden bg-surface-card", defaultBorderMixin6), children: [
|
|
3733
|
+
/* @__PURE__ */ jsxs16("div", { className: cls12("p-3 border-b flex justify-between items-center", defaultBorderMixin6), children: [
|
|
3734
|
+
/* @__PURE__ */ jsx16(Typography14, { variant: "caption", className: "font-semibold uppercase tracking-wider text-text-disabled dark:text-text-disabled-dark", children: "COLLECTIONS" }),
|
|
3735
|
+
/* @__PURE__ */ jsx16(IconButton5, { size: "small", children: /* @__PURE__ */ jsx16(PlusIcon, { size: iconSize3.smallest }) })
|
|
3177
3736
|
] }),
|
|
3178
|
-
/* @__PURE__ */
|
|
3737
|
+
/* @__PURE__ */ jsx16("div", { className: "flex-grow overflow-y-auto no-scrollbar p-2 space-y-0.5", children: [{ name: "Authors" }, {
|
|
3179
3738
|
name: "Posts",
|
|
3180
3739
|
selected: true
|
|
3181
|
-
}, { name: "Tags" }].map((c) => /* @__PURE__ */
|
|
3182
|
-
/* @__PURE__ */
|
|
3183
|
-
/* @__PURE__ */
|
|
3740
|
+
}, { name: "Tags" }].map((c) => /* @__PURE__ */ jsxs16("div", { className: cls12("flex items-center gap-3 px-3 py-2 cursor-pointer rounded-md text-sm transition-colors", c.selected ? "bg-primary/10 text-primary dark:bg-primary/20 dark:text-primary-light" : "hover:bg-surface-hover text-text-secondary dark:text-text-secondary-dark"), children: [
|
|
3741
|
+
/* @__PURE__ */ jsx16(FolderIcon, { size: iconSize3.small, className: cls12(c.selected ? "text-primary dark:text-primary-light" : "text-text-secondary dark:text-text-secondary-dark") }),
|
|
3742
|
+
/* @__PURE__ */ jsx16("span", { className: "truncate flex-1", children: c.name })
|
|
3184
3743
|
] }, c.name)) })
|
|
3185
3744
|
] })
|
|
3186
3745
|
] })
|
|
3187
3746
|
] })
|
|
3188
3747
|
] }),
|
|
3189
|
-
/* @__PURE__ */
|
|
3190
|
-
/* @__PURE__ */
|
|
3748
|
+
/* @__PURE__ */ jsxs16(SectionBlock, { id: "empty-states", title: "Empty States \u2014 Canonical Pattern", children: [
|
|
3749
|
+
/* @__PURE__ */ jsxs16(Typography14, { variant: "body2", color: "secondary", className: "mb-4", children: [
|
|
3191
3750
|
"All empty / placeholder states share the same layout: a centered ",
|
|
3192
|
-
/* @__PURE__ */
|
|
3751
|
+
/* @__PURE__ */ jsx16("code", { className: "font-mono text-xs", children: "flex-col" }),
|
|
3193
3752
|
" container with ",
|
|
3194
|
-
/* @__PURE__ */
|
|
3753
|
+
/* @__PURE__ */ jsx16("code", { className: "font-mono text-xs", children: 'Typography variant="label"' }),
|
|
3195
3754
|
" for the message and a ",
|
|
3196
|
-
/* @__PURE__ */
|
|
3755
|
+
/* @__PURE__ */ jsx16("code", { className: "font-mono text-xs", children: "Button" }),
|
|
3197
3756
|
" with ",
|
|
3198
|
-
/* @__PURE__ */
|
|
3757
|
+
/* @__PURE__ */ jsx16("code", { className: "font-mono text-xs", children: "AddIcon" }),
|
|
3199
3758
|
" for the primary action. Sources: ",
|
|
3200
|
-
/* @__PURE__ */
|
|
3759
|
+
/* @__PURE__ */ jsx16("code", { className: "font-mono text-xs", children: "CollectionPropertiesEditorForm" }),
|
|
3201
3760
|
", ",
|
|
3202
|
-
/* @__PURE__ */
|
|
3761
|
+
/* @__PURE__ */ jsx16("code", { className: "font-mono text-xs", children: "CollectionsStudioView" }),
|
|
3203
3762
|
", ",
|
|
3204
|
-
/* @__PURE__ */
|
|
3763
|
+
/* @__PURE__ */ jsx16("code", { className: "font-mono text-xs", children: "CollectionStudioView" }),
|
|
3205
3764
|
"."
|
|
3206
3765
|
] }),
|
|
3207
|
-
/* @__PURE__ */
|
|
3208
|
-
/* @__PURE__ */
|
|
3209
|
-
/* @__PURE__ */
|
|
3210
|
-
/* @__PURE__ */
|
|
3211
|
-
/* @__PURE__ */
|
|
3212
|
-
/* @__PURE__ */
|
|
3213
|
-
/* @__PURE__ */
|
|
3766
|
+
/* @__PURE__ */ jsxs16("div", { className: "flex gap-6 flex-wrap", children: [
|
|
3767
|
+
/* @__PURE__ */ jsxs16("div", { children: [
|
|
3768
|
+
/* @__PURE__ */ jsx16(Typography14, { variant: "caption", color: "secondary", className: "block mb-1", children: "Property Editor (no selection)" }),
|
|
3769
|
+
/* @__PURE__ */ jsx16("div", { className: cls12("flex flex-col items-center justify-center h-48 w-[320px] border rounded-lg", defaultBorderMixin6), children: /* @__PURE__ */ jsxs16("div", { className: "flex flex-col items-center justify-center h-full gap-4", children: [
|
|
3770
|
+
/* @__PURE__ */ jsx16(Typography14, { variant: "label", className: "text-center px-4", children: "Select a property to edit it" }),
|
|
3771
|
+
/* @__PURE__ */ jsxs16(Button9, { children: [
|
|
3772
|
+
/* @__PURE__ */ jsx16(PlusIcon, {}),
|
|
3214
3773
|
"Add new property"
|
|
3215
3774
|
] })
|
|
3216
3775
|
] }) })
|
|
3217
3776
|
] }),
|
|
3218
|
-
/* @__PURE__ */
|
|
3219
|
-
/* @__PURE__ */
|
|
3220
|
-
/* @__PURE__ */
|
|
3221
|
-
/* @__PURE__ */
|
|
3222
|
-
/* @__PURE__ */
|
|
3223
|
-
/* @__PURE__ */
|
|
3777
|
+
/* @__PURE__ */ jsxs16("div", { children: [
|
|
3778
|
+
/* @__PURE__ */ jsx16(Typography14, { variant: "caption", color: "secondary", className: "block mb-1", children: "Property Editor (empty collection)" }),
|
|
3779
|
+
/* @__PURE__ */ jsx16("div", { className: cls12("flex flex-col items-center justify-center h-48 w-[320px] border rounded-lg", defaultBorderMixin6), children: /* @__PURE__ */ jsxs16("div", { className: "flex flex-col items-center justify-center h-full gap-4", children: [
|
|
3780
|
+
/* @__PURE__ */ jsx16(Typography14, { variant: "label", className: "text-center px-4", children: "Now you can add your first property" }),
|
|
3781
|
+
/* @__PURE__ */ jsxs16(Button9, { children: [
|
|
3782
|
+
/* @__PURE__ */ jsx16(PlusIcon, {}),
|
|
3224
3783
|
"Add new property"
|
|
3225
3784
|
] })
|
|
3226
3785
|
] }) })
|
|
3227
3786
|
] }),
|
|
3228
|
-
/* @__PURE__ */
|
|
3229
|
-
/* @__PURE__ */
|
|
3230
|
-
/* @__PURE__ */
|
|
3231
|
-
/* @__PURE__ */
|
|
3232
|
-
/* @__PURE__ */
|
|
3233
|
-
/* @__PURE__ */
|
|
3787
|
+
/* @__PURE__ */ jsxs16("div", { children: [
|
|
3788
|
+
/* @__PURE__ */ jsx16(Typography14, { variant: "caption", color: "secondary", className: "block mb-1", children: "Collection ListIcon (no selection)" }),
|
|
3789
|
+
/* @__PURE__ */ jsx16("div", { className: cls12("flex flex-col items-center justify-center h-48 w-[320px] border rounded-lg", defaultBorderMixin6), children: /* @__PURE__ */ jsxs16("div", { className: "flex flex-col items-center justify-center h-full gap-4", children: [
|
|
3790
|
+
/* @__PURE__ */ jsx16(Typography14, { variant: "label", className: "text-center px-4", children: "Select a collection or create a new one to start editing" }),
|
|
3791
|
+
/* @__PURE__ */ jsxs16(Button9, { children: [
|
|
3792
|
+
/* @__PURE__ */ jsx16(PlusIcon, {}),
|
|
3234
3793
|
"Add new collection"
|
|
3235
3794
|
] })
|
|
3236
3795
|
] }) })
|
|
3237
3796
|
] })
|
|
3238
3797
|
] })
|
|
3239
3798
|
] }),
|
|
3240
|
-
/* @__PURE__ */
|
|
3241
|
-
/* @__PURE__ */
|
|
3242
|
-
"
|
|
3243
|
-
|
|
3244
|
-
|
|
3799
|
+
/* @__PURE__ */ jsxs16(SectionBlock, { id: "buttons", title: "Buttons", children: [
|
|
3800
|
+
/* @__PURE__ */ jsxs16(Typography14, { variant: "body2", color: "secondary", className: "mb-4 max-w-[68ch]", children: [
|
|
3801
|
+
/* @__PURE__ */ jsx16("code", { className: "font-mono text-xs", children: "neutral" }),
|
|
3802
|
+
" is the default and paints ",
|
|
3803
|
+
/* @__PURE__ */ jsx16("code", { className: "font-mono text-xs", children: "surface-raised" }),
|
|
3804
|
+
"; it is what almost every button is. ",
|
|
3805
|
+
/* @__PURE__ */ jsx16("code", { className: "font-mono text-xs", children: "primary" }),
|
|
3806
|
+
" filled is the one main action a screen has. The label is 14px at weight 500, sentence case, no tracking: emphasis is the fill, never the letterforms. ",
|
|
3807
|
+
/* @__PURE__ */ jsx16("code", { className: "font-mono text-xs", children: "secondary" }),
|
|
3808
|
+
" and ",
|
|
3809
|
+
/* @__PURE__ */ jsx16("code", { className: "font-mono text-xs", children: "error" }),
|
|
3810
|
+
" exist for destructive confirmations and the marketing site, not for the panel's chrome."
|
|
3245
3811
|
] }),
|
|
3246
|
-
/* @__PURE__ */
|
|
3247
|
-
/* @__PURE__ */
|
|
3248
|
-
|
|
3249
|
-
|
|
3250
|
-
|
|
3251
|
-
|
|
3252
|
-
|
|
3253
|
-
|
|
3254
|
-
|
|
3255
|
-
|
|
3256
|
-
|
|
3257
|
-
|
|
3258
|
-
|
|
3259
|
-
/* @__PURE__ */
|
|
3260
|
-
"
|
|
3261
|
-
" ",
|
|
3262
|
-
/* @__PURE__ */ jsx14("code", { className: "font-mono text-xs", children: "stat" }),
|
|
3263
|
-
" both carry",
|
|
3264
|
-
" ",
|
|
3265
|
-
/* @__PURE__ */ jsx14("code", { className: "font-mono text-xs", children: "tabular-nums" }),
|
|
3266
|
-
", so a column of them keeps its decimal points aligned and a live counter does not jitter as its digits change width."
|
|
3812
|
+
/* @__PURE__ */ jsxs16("div", { className: "flex flex-col gap-6", children: [
|
|
3813
|
+
["filled", "text"].map((variant) => /* @__PURE__ */ jsxs16("div", { children: [
|
|
3814
|
+
/* @__PURE__ */ jsxs16(Typography14, { variant: "caption", color: "secondary", className: "block mb-2 font-mono", children: [
|
|
3815
|
+
'variant="',
|
|
3816
|
+
variant,
|
|
3817
|
+
'"'
|
|
3818
|
+
] }),
|
|
3819
|
+
/* @__PURE__ */ jsxs16("div", { className: "flex flex-wrap gap-3 items-center", children: [
|
|
3820
|
+
["neutral", "primary", "text", "secondary", "error"].map((color) => /* @__PURE__ */ jsx16(Button9, { variant, color, children: color.charAt(0).toUpperCase() + color.slice(1) }, color)),
|
|
3821
|
+
/* @__PURE__ */ jsx16(Button9, { variant, disabled: true, children: "Disabled" })
|
|
3822
|
+
] })
|
|
3823
|
+
] }, variant)),
|
|
3824
|
+
/* @__PURE__ */ jsxs16("div", { children: [
|
|
3825
|
+
/* @__PURE__ */ jsx16(Typography14, { variant: "caption", color: "secondary", className: "block mb-2 font-mono", children: "sizes" }),
|
|
3826
|
+
/* @__PURE__ */ jsx16("div", { className: "flex flex-wrap items-end gap-3", children: ["small", "medium", "large", "xl", "2xl"].map((s) => /* @__PURE__ */ jsx16(Button9, { size: s, children: s.charAt(0).toUpperCase() + s.slice(1) }, s)) })
|
|
3267
3827
|
] }),
|
|
3268
|
-
/* @__PURE__ */
|
|
3269
|
-
|
|
3270
|
-
|
|
3271
|
-
|
|
3272
|
-
|
|
3273
|
-
|
|
3274
|
-
|
|
3275
|
-
|
|
3276
|
-
|
|
3277
|
-
|
|
3278
|
-
|
|
3279
|
-
|
|
3280
|
-
|
|
3281
|
-
|
|
3282
|
-
|
|
3283
|
-
|
|
3284
|
-
|
|
3285
|
-
|
|
3286
|
-
|
|
3287
|
-
|
|
3828
|
+
/* @__PURE__ */ jsxs16("div", { children: [
|
|
3829
|
+
/* @__PURE__ */ jsx16(Typography14, { variant: "caption", color: "secondary", className: "block mb-2 font-mono", children: "IconButton \u2014 sizes" }),
|
|
3830
|
+
/* @__PURE__ */ jsxs16("div", { className: "flex flex-wrap gap-3 items-end", children: [
|
|
3831
|
+
[
|
|
3832
|
+
{ s: "smallest", icon: /* @__PURE__ */ jsx16(PencilIcon3, { size: 14 }) },
|
|
3833
|
+
{ s: "small", icon: /* @__PURE__ */ jsx16(PencilIcon3, { size: 16 }) },
|
|
3834
|
+
{ s: "medium", icon: /* @__PURE__ */ jsx16(PencilIcon3, { size: 20 }) },
|
|
3835
|
+
{ s: "large", icon: /* @__PURE__ */ jsx16(PencilIcon3, { size: 24 }) }
|
|
3836
|
+
].map(({ s, icon }) => /* @__PURE__ */ jsxs16("div", { className: "flex flex-col items-center gap-1", children: [
|
|
3837
|
+
/* @__PURE__ */ jsx16(IconButton5, { size: s, children: icon }),
|
|
3838
|
+
/* @__PURE__ */ jsx16(Typography14, { variant: "caption", color: "secondary", children: s.charAt(0).toUpperCase() + s.slice(1) })
|
|
3839
|
+
] }, s)),
|
|
3840
|
+
/* @__PURE__ */ jsxs16("div", { className: "flex flex-col items-center gap-1", children: [
|
|
3841
|
+
/* @__PURE__ */ jsx16(IconButton5, { disabled: true, children: /* @__PURE__ */ jsx16(Trash2Icon3, { size: 20 }) }),
|
|
3842
|
+
/* @__PURE__ */ jsx16(Typography14, { variant: "caption", color: "secondary", children: "Disabled" })
|
|
3843
|
+
] }),
|
|
3844
|
+
/* @__PURE__ */ jsxs16("div", { className: "flex flex-col items-center gap-1", children: [
|
|
3845
|
+
/* @__PURE__ */ jsx16(IconButton5, { variant: "filled", children: /* @__PURE__ */ jsx16(PlusIcon, { size: 20 }) }),
|
|
3846
|
+
/* @__PURE__ */ jsx16(Typography14, { variant: "caption", color: "secondary", children: "Filled" })
|
|
3847
|
+
] }),
|
|
3848
|
+
/* @__PURE__ */ jsxs16("div", { className: "flex flex-col items-center gap-1", children: [
|
|
3849
|
+
/* @__PURE__ */ jsx16(IconButton5, { shape: "square", children: /* @__PURE__ */ jsx16(SettingsIcon3, { size: 20 }) }),
|
|
3850
|
+
/* @__PURE__ */ jsx16(Typography14, { variant: "caption", color: "secondary", children: "Square" })
|
|
3851
|
+
] })
|
|
3852
|
+
] })
|
|
3288
3853
|
] }),
|
|
3289
|
-
/* @__PURE__ */
|
|
3290
|
-
|
|
3291
|
-
/* @__PURE__ */
|
|
3292
|
-
|
|
3293
|
-
|
|
3294
|
-
/* @__PURE__ */ jsxs14("div", { children: [
|
|
3295
|
-
/* @__PURE__ */ jsx14(Typography12, { variant: "caption", color: "secondary", className: "block mb-2 font-mono", children: "sizes" }),
|
|
3296
|
-
/* @__PURE__ */ jsx14("div", { className: "flex flex-wrap items-end gap-3", children: ["small", "medium", "large", "xl", "2xl"].map((s) => /* @__PURE__ */ jsx14(Button8, { size: s, children: s.charAt(0).toUpperCase() + s.slice(1) }, s)) })
|
|
3297
|
-
] }),
|
|
3298
|
-
/* @__PURE__ */ jsxs14("div", { children: [
|
|
3299
|
-
/* @__PURE__ */ jsx14(Typography12, { variant: "caption", color: "secondary", className: "block mb-2 font-mono", children: "IconButton \u2014 sizes" }),
|
|
3300
|
-
/* @__PURE__ */ jsxs14("div", { className: "flex flex-wrap gap-3 items-end", children: [
|
|
3301
|
-
[
|
|
3302
|
-
{ s: "smallest", icon: /* @__PURE__ */ jsx14(PencilIcon2, { size: 14 }) },
|
|
3303
|
-
{ s: "small", icon: /* @__PURE__ */ jsx14(PencilIcon2, { size: 16 }) },
|
|
3304
|
-
{ s: "medium", icon: /* @__PURE__ */ jsx14(PencilIcon2, { size: 20 }) },
|
|
3305
|
-
{ s: "large", icon: /* @__PURE__ */ jsx14(PencilIcon2, { size: 24 }) }
|
|
3306
|
-
].map(({ s, icon }) => /* @__PURE__ */ jsxs14("div", { className: "flex flex-col items-center gap-1", children: [
|
|
3307
|
-
/* @__PURE__ */ jsx14(IconButton4, { size: s, children: icon }),
|
|
3308
|
-
/* @__PURE__ */ jsx14(Typography12, { variant: "caption", color: "secondary", children: s.charAt(0).toUpperCase() + s.slice(1) })
|
|
3309
|
-
] }, s)),
|
|
3310
|
-
/* @__PURE__ */ jsxs14("div", { className: "flex flex-col items-center gap-1", children: [
|
|
3311
|
-
/* @__PURE__ */ jsx14(IconButton4, { disabled: true, children: /* @__PURE__ */ jsx14(Trash2Icon3, { size: 20 }) }),
|
|
3312
|
-
/* @__PURE__ */ jsx14(Typography12, { variant: "caption", color: "secondary", children: "Disabled" })
|
|
3313
|
-
] }),
|
|
3314
|
-
/* @__PURE__ */ jsxs14("div", { className: "flex flex-col items-center gap-1", children: [
|
|
3315
|
-
/* @__PURE__ */ jsx14(IconButton4, { variant: "filled", children: /* @__PURE__ */ jsx14(PlusIcon, { size: 20 }) }),
|
|
3316
|
-
/* @__PURE__ */ jsx14(Typography12, { variant: "caption", color: "secondary", children: "Filled" })
|
|
3317
|
-
] }),
|
|
3318
|
-
/* @__PURE__ */ jsxs14("div", { className: "flex flex-col items-center gap-1", children: [
|
|
3319
|
-
/* @__PURE__ */ jsx14(IconButton4, { shape: "square", children: /* @__PURE__ */ jsx14(SettingsIcon2, { size: 20 }) }),
|
|
3320
|
-
/* @__PURE__ */ jsx14(Typography12, { variant: "caption", color: "secondary", children: "Square" })
|
|
3854
|
+
/* @__PURE__ */ jsxs16("div", { children: [
|
|
3855
|
+
/* @__PURE__ */ jsx16(Typography14, { variant: "caption", color: "secondary", className: "block mb-2 font-mono", children: "LoadingButton" }),
|
|
3856
|
+
/* @__PURE__ */ jsxs16("div", { className: "flex flex-wrap gap-3", children: [
|
|
3857
|
+
/* @__PURE__ */ jsx16(LoadingButton, { loading: true, children: "Saving\u2026" }),
|
|
3858
|
+
/* @__PURE__ */ jsx16(LoadingButton, { loading: false, children: "Idle" })
|
|
3321
3859
|
] })
|
|
3322
3860
|
] })
|
|
3323
|
-
] }),
|
|
3324
|
-
/* @__PURE__ */ jsxs14("div", { children: [
|
|
3325
|
-
/* @__PURE__ */ jsx14(Typography12, { variant: "caption", color: "secondary", className: "block mb-2 font-mono", children: "LoadingButton" }),
|
|
3326
|
-
/* @__PURE__ */ jsxs14("div", { className: "flex flex-wrap gap-3", children: [
|
|
3327
|
-
/* @__PURE__ */ jsx14(LoadingButton, { loading: true, children: "Saving\u2026" }),
|
|
3328
|
-
/* @__PURE__ */ jsx14(LoadingButton, { loading: false, children: "Idle" })
|
|
3329
|
-
] })
|
|
3330
3861
|
] })
|
|
3331
|
-
] })
|
|
3332
|
-
/* @__PURE__ */
|
|
3333
|
-
/* @__PURE__ */
|
|
3334
|
-
|
|
3335
|
-
/* @__PURE__ */
|
|
3336
|
-
|
|
3337
|
-
|
|
3338
|
-
|
|
3339
|
-
|
|
3340
|
-
|
|
3341
|
-
|
|
3342
|
-
|
|
3343
|
-
|
|
3344
|
-
|
|
3345
|
-
|
|
3346
|
-
|
|
3347
|
-
|
|
3862
|
+
] }),
|
|
3863
|
+
/* @__PURE__ */ jsxs16(SectionBlock, { id: "inputs", title: "Form Inputs", children: [
|
|
3864
|
+
/* @__PURE__ */ jsxs16(Typography14, { variant: "body2", color: "secondary", className: "mb-4 max-w-[68ch]", children: [
|
|
3865
|
+
"Two ways to label a field. A record form puts the label ",
|
|
3866
|
+
/* @__PURE__ */ jsx16("em", { children: "above" }),
|
|
3867
|
+
" the control (",
|
|
3868
|
+
/* @__PURE__ */ jsx16("code", { className: "font-mono text-xs", children: "FieldBlock" }),
|
|
3869
|
+
": 13px, primary ink, muted type icon) and the control is",
|
|
3870
|
+
" ",
|
|
3871
|
+
/* @__PURE__ */ jsx16("code", { className: "font-mono text-xs", children: "small" }),
|
|
3872
|
+
", 32px. A dialog or a standalone control carries its label",
|
|
3873
|
+
" ",
|
|
3874
|
+
/* @__PURE__ */ jsx16("em", { children: "inside" }),
|
|
3875
|
+
" as the floating ",
|
|
3876
|
+
/* @__PURE__ */ jsx16("code", { className: "font-mono text-xs", children: "label" }),
|
|
3877
|
+
" prop and is",
|
|
3878
|
+
" ",
|
|
3879
|
+
/* @__PURE__ */ jsx16("code", { className: "font-mono text-xs", children: "medium" }),
|
|
3880
|
+
", 40px. Every field has its hairline."
|
|
3348
3881
|
] }),
|
|
3349
|
-
/* @__PURE__ */
|
|
3350
|
-
/* @__PURE__ */
|
|
3351
|
-
/* @__PURE__ */
|
|
3352
|
-
/* @__PURE__ */
|
|
3353
|
-
|
|
3354
|
-
|
|
3355
|
-
|
|
3356
|
-
|
|
3882
|
+
/* @__PURE__ */ jsxs16("div", { className: "grid grid-cols-12 gap-4", children: [
|
|
3883
|
+
/* @__PURE__ */ jsxs16("div", { className: "col-span-12 sm:col-span-6", children: [
|
|
3884
|
+
/* @__PURE__ */ jsx16(Typography14, { variant: "caption", color: "secondary", className: "block mb-2 font-mono", children: 'record form \xB7 size="small", label above' }),
|
|
3885
|
+
/* @__PURE__ */ jsx16("div", { className: "flex flex-col gap-5 mb-6", children: [
|
|
3886
|
+
["Product name", "Italian coffee maker", "Shown on the storefront and in receipts.", false, false],
|
|
3887
|
+
["SKU", "SKU-57032", "Stock keeping unit \u2014 unique product identifier", true, false],
|
|
3888
|
+
["Brand", "Alessi", void 0, false, true]
|
|
3889
|
+
].map(([label, value, help, required, disabled]) => /* @__PURE__ */ jsxs16("div", { className: "flex flex-col min-w-0", children: [
|
|
3890
|
+
/* @__PURE__ */ jsxs16("div", { className: "flex items-center gap-1.5 font-medium leading-tight mb-1.5 text-[13px]", children: [
|
|
3891
|
+
/* @__PURE__ */ jsx16("span", { className: "shrink-0 text-text-disabled dark:text-text-disabled-dark", children: /* @__PURE__ */ jsx16(FileTextIcon3, { size: 14 }) }),
|
|
3892
|
+
/* @__PURE__ */ jsx16("span", { className: "truncate", children: label }),
|
|
3893
|
+
required && /* @__PURE__ */ jsx16("span", { className: "text-red-500 dark:text-red-500 -ml-1", children: "*" })
|
|
3894
|
+
] }),
|
|
3895
|
+
/* @__PURE__ */ jsx16(TextField3, { size: "small", value, disabled, onChange: () => {
|
|
3896
|
+
} }),
|
|
3897
|
+
help && /* @__PURE__ */ jsx16(Typography14, { variant: "caption", color: "disabled", className: "mt-1.5 ml-0.5 leading-snug", children: help })
|
|
3898
|
+
] }, label)) }),
|
|
3899
|
+
/* @__PURE__ */ jsx16(Typography14, { variant: "caption", color: "secondary", className: "block mb-2 font-mono", children: 'TextField \xB7 floating label, size="medium" (dialogs)' }),
|
|
3900
|
+
/* @__PURE__ */ jsxs16("div", { className: "flex flex-col gap-3", children: [
|
|
3901
|
+
/* @__PURE__ */ jsx16(TextField3, { size: "medium", label: "Default", placeholder: "Type something\u2026" }),
|
|
3902
|
+
/* @__PURE__ */ jsx16(TextField3, { size: "medium", label: "With value", value: "Filled value", onChange: () => {
|
|
3903
|
+
} }),
|
|
3904
|
+
/* @__PURE__ */ jsx16(TextField3, { size: "medium", label: "Error state", error: true, value: "Bad value", onChange: () => {
|
|
3905
|
+
} }),
|
|
3906
|
+
/* @__PURE__ */ jsx16(TextField3, { size: "medium", label: "Disabled", disabled: true, value: "Read only", onChange: () => {
|
|
3907
|
+
} }),
|
|
3908
|
+
/* @__PURE__ */ jsx16(TextField3, { size: "small", label: "Small", placeholder: "Placeholder under the label" }),
|
|
3909
|
+
/* @__PURE__ */ jsx16(TextField3, { size: "smallest", label: "Smallest", value: "Filled value", onChange: () => {
|
|
3910
|
+
} }),
|
|
3911
|
+
/* @__PURE__ */ jsx16(TextField3, { size: "large", label: "Large", placeholder: "The login screen only" })
|
|
3357
3912
|
] })
|
|
3358
3913
|
] }),
|
|
3359
|
-
/* @__PURE__ */
|
|
3360
|
-
/* @__PURE__ */
|
|
3361
|
-
|
|
3362
|
-
|
|
3363
|
-
|
|
3364
|
-
|
|
3365
|
-
|
|
3914
|
+
/* @__PURE__ */ jsxs16("div", { className: "col-span-12 sm:col-span-6 flex flex-col gap-4", children: [
|
|
3915
|
+
/* @__PURE__ */ jsxs16("div", { children: [
|
|
3916
|
+
/* @__PURE__ */ jsx16(Typography14, { variant: "caption", color: "secondary", className: "block mb-2 font-mono", children: "Select" }),
|
|
3917
|
+
/* @__PURE__ */ jsxs16(Select6, { label: "Status", value: "published", onValueChange: () => {
|
|
3918
|
+
}, children: [
|
|
3919
|
+
/* @__PURE__ */ jsx16(SelectItem6, { value: "draft", children: "Draft" }),
|
|
3920
|
+
/* @__PURE__ */ jsx16(SelectItem6, { value: "published", children: "Published" }),
|
|
3921
|
+
/* @__PURE__ */ jsx16(SelectItem6, { value: "archived", children: "Archived" })
|
|
3922
|
+
] })
|
|
3923
|
+
] }),
|
|
3924
|
+
/* @__PURE__ */ jsxs16("div", { children: [
|
|
3925
|
+
/* @__PURE__ */ jsx16(Typography14, { variant: "caption", color: "secondary", className: "block mb-2 font-mono", children: "MultiSelect" }),
|
|
3926
|
+
/* @__PURE__ */ jsxs16(MultiSelect, { label: "Roles", value: ["admin", "editor"], onValueChange: () => {
|
|
3927
|
+
}, children: [
|
|
3928
|
+
/* @__PURE__ */ jsx16(MultiSelectItem, { value: "admin", children: "Admin" }),
|
|
3929
|
+
/* @__PURE__ */ jsx16(MultiSelectItem, { value: "editor", children: "Editor" }),
|
|
3930
|
+
/* @__PURE__ */ jsx16(MultiSelectItem, { value: "viewer", children: "Viewer" })
|
|
3931
|
+
] })
|
|
3366
3932
|
] })
|
|
3367
|
-
] })
|
|
3368
|
-
] }),
|
|
3369
|
-
/* @__PURE__ */ jsxs14("div", { className: "col-span-12 sm:col-span-6 flex flex-col gap-3", children: [
|
|
3370
|
-
/* @__PURE__ */ jsx14(Typography12, { variant: "caption", color: "secondary", className: "block font-mono", children: "Checkbox" }),
|
|
3371
|
-
/* @__PURE__ */ jsxs14("label", { className: "flex items-center gap-2 cursor-pointer", children: [
|
|
3372
|
-
/* @__PURE__ */ jsx14(Checkbox3, { checked: true, onCheckedChange: () => {
|
|
3373
|
-
} }),
|
|
3374
|
-
/* @__PURE__ */ jsx14("span", { children: "Checked" })
|
|
3375
3933
|
] }),
|
|
3376
|
-
/* @__PURE__ */
|
|
3377
|
-
/* @__PURE__ */
|
|
3378
|
-
|
|
3379
|
-
|
|
3934
|
+
/* @__PURE__ */ jsxs16("div", { className: "col-span-12 sm:col-span-6 flex flex-col gap-3", children: [
|
|
3935
|
+
/* @__PURE__ */ jsx16(Typography14, { variant: "caption", color: "secondary", className: "block font-mono", children: "Checkbox" }),
|
|
3936
|
+
/* @__PURE__ */ jsxs16("label", { className: "flex items-center gap-2 cursor-pointer", children: [
|
|
3937
|
+
/* @__PURE__ */ jsx16(Checkbox3, { checked: true, onCheckedChange: () => {
|
|
3938
|
+
} }),
|
|
3939
|
+
/* @__PURE__ */ jsx16("span", { children: "Checked" })
|
|
3940
|
+
] }),
|
|
3941
|
+
/* @__PURE__ */ jsxs16("label", { className: "flex items-center gap-2 cursor-pointer", children: [
|
|
3942
|
+
/* @__PURE__ */ jsx16(Checkbox3, { checked: false, onCheckedChange: () => {
|
|
3943
|
+
} }),
|
|
3944
|
+
/* @__PURE__ */ jsx16("span", { children: "Unchecked" })
|
|
3945
|
+
] }),
|
|
3946
|
+
/* @__PURE__ */ jsxs16("label", { className: "flex items-center gap-2", children: [
|
|
3947
|
+
/* @__PURE__ */ jsx16(Checkbox3, { checked: true, disabled: true }),
|
|
3948
|
+
/* @__PURE__ */ jsx16("span", { children: "Disabled" })
|
|
3949
|
+
] })
|
|
3380
3950
|
] }),
|
|
3381
|
-
/* @__PURE__ */
|
|
3382
|
-
/* @__PURE__ */
|
|
3383
|
-
/* @__PURE__ */
|
|
3384
|
-
|
|
3385
|
-
|
|
3386
|
-
|
|
3387
|
-
|
|
3388
|
-
|
|
3389
|
-
|
|
3390
|
-
|
|
3391
|
-
|
|
3951
|
+
/* @__PURE__ */ jsxs16("div", { className: "col-span-12 sm:col-span-6 flex flex-col gap-3", children: [
|
|
3952
|
+
/* @__PURE__ */ jsx16(Typography14, { variant: "caption", color: "secondary", className: "block font-mono", children: "BooleanSwitch" }),
|
|
3953
|
+
/* @__PURE__ */ jsxs16("div", { className: "flex items-center gap-2", children: [
|
|
3954
|
+
/* @__PURE__ */ jsx16(BooleanSwitch, { value: true, onValueChange: () => {
|
|
3955
|
+
} }),
|
|
3956
|
+
/* @__PURE__ */ jsx16("span", { children: "On" })
|
|
3957
|
+
] }),
|
|
3958
|
+
/* @__PURE__ */ jsxs16("div", { className: "flex items-center gap-2", children: [
|
|
3959
|
+
/* @__PURE__ */ jsx16(BooleanSwitch, { value: false, onValueChange: () => {
|
|
3960
|
+
} }),
|
|
3961
|
+
/* @__PURE__ */ jsx16("span", { children: "Off" })
|
|
3962
|
+
] }),
|
|
3963
|
+
/* @__PURE__ */ jsxs16("div", { className: "flex items-center gap-2", children: [
|
|
3964
|
+
/* @__PURE__ */ jsx16(BooleanSwitch, { value: true, disabled: true }),
|
|
3965
|
+
/* @__PURE__ */ jsx16("span", { children: "Disabled on" })
|
|
3966
|
+
] }),
|
|
3967
|
+
/* @__PURE__ */ jsxs16("div", { className: "flex items-center gap-2", children: [
|
|
3968
|
+
/* @__PURE__ */ jsx16(BooleanSwitch, { value: false, disabled: true }),
|
|
3969
|
+
/* @__PURE__ */ jsx16("span", { children: "Disabled off" })
|
|
3970
|
+
] })
|
|
3392
3971
|
] }),
|
|
3393
|
-
/* @__PURE__ */
|
|
3394
|
-
/* @__PURE__ */
|
|
3395
|
-
|
|
3396
|
-
|
|
3397
|
-
|
|
3398
|
-
|
|
3399
|
-
|
|
3400
|
-
|
|
3401
|
-
|
|
3402
|
-
|
|
3403
|
-
|
|
3404
|
-
/* @__PURE__ */ jsx14(Typography12, { variant: "caption", color: "secondary", className: "block mb-2 font-mono", children: "Skeleton" }),
|
|
3405
|
-
/* @__PURE__ */ jsxs14("div", { className: "flex gap-4 items-center flex-wrap", children: [
|
|
3406
|
-
/* @__PURE__ */ jsx14(Skeleton6, { className: "w-10 h-10 rounded-full" }),
|
|
3407
|
-
/* @__PURE__ */ jsx14(Skeleton6, { className: "w-48 h-4 rounded" }),
|
|
3408
|
-
/* @__PURE__ */ jsx14(Skeleton6, { className: "w-32 h-8 rounded-md" })
|
|
3972
|
+
/* @__PURE__ */ jsxs16("div", { className: "col-span-12", children: [
|
|
3973
|
+
/* @__PURE__ */ jsx16(Typography14, { variant: "caption", color: "secondary", className: "block mb-2 font-mono", children: "SearchBar" }),
|
|
3974
|
+
/* @__PURE__ */ jsx16(SearchBar4, { placeholder: "Search entities\u2026" })
|
|
3975
|
+
] }),
|
|
3976
|
+
/* @__PURE__ */ jsxs16("div", { className: "col-span-12", children: [
|
|
3977
|
+
/* @__PURE__ */ jsx16(Typography14, { variant: "caption", color: "secondary", className: "block mb-2 font-mono", children: "Skeleton" }),
|
|
3978
|
+
/* @__PURE__ */ jsxs16("div", { className: "flex gap-4 items-center flex-wrap", children: [
|
|
3979
|
+
/* @__PURE__ */ jsx16(Skeleton6, { className: "w-10 h-10 rounded-full" }),
|
|
3980
|
+
/* @__PURE__ */ jsx16(Skeleton6, { className: "w-48 h-4 rounded" }),
|
|
3981
|
+
/* @__PURE__ */ jsx16(Skeleton6, { className: "w-32 h-8 rounded-md" })
|
|
3982
|
+
] })
|
|
3409
3983
|
] })
|
|
3410
3984
|
] })
|
|
3411
|
-
] })
|
|
3412
|
-
/* @__PURE__ */
|
|
3413
|
-
/* @__PURE__ */
|
|
3414
|
-
/* @__PURE__ */
|
|
3415
|
-
/* @__PURE__ */
|
|
3416
|
-
/* @__PURE__ */
|
|
3417
|
-
/* @__PURE__ */
|
|
3418
|
-
/* @__PURE__ */
|
|
3419
|
-
/* @__PURE__ */
|
|
3420
|
-
/* @__PURE__ */
|
|
3421
|
-
/* @__PURE__ */
|
|
3422
|
-
/* @__PURE__ */
|
|
3423
|
-
/* @__PURE__ */
|
|
3985
|
+
] }),
|
|
3986
|
+
/* @__PURE__ */ jsxs16(SectionBlock, { id: "chips-alerts", title: "Chips & Alerts", children: [
|
|
3987
|
+
/* @__PURE__ */ jsx16(Typography14, { variant: "caption", color: "secondary", className: "block mb-2 font-mono", children: "Chip \u2014 colorScheme" }),
|
|
3988
|
+
/* @__PURE__ */ jsx16("div", { className: "flex flex-wrap gap-2 mb-4", children: ["blue", "teal", "red", "green", "yellow", "orange", "purple", "pink", "cyan", "indigo", "violet", "fuchsia", "rose", "emerald", "gray"].map((s) => /* @__PURE__ */ jsx16(Chip8, { colorScheme: s, children: s }, s)) }),
|
|
3989
|
+
/* @__PURE__ */ jsx16(Typography14, { variant: "caption", color: "secondary", className: "block mb-2 font-mono", children: "Chip \u2014 sizes" }),
|
|
3990
|
+
/* @__PURE__ */ jsx16("div", { className: "flex flex-wrap gap-2 items-center mb-4", children: ["smallest", "small", "medium", "large"].map((sz) => /* @__PURE__ */ jsx16(Chip8, { colorScheme: "blue", size: sz, children: sz }, sz)) }),
|
|
3991
|
+
/* @__PURE__ */ jsx16(Typography14, { variant: "caption", color: "secondary", className: "block mb-2 font-mono", children: "Chip \u2014 outlined, error, clickable, icon" }),
|
|
3992
|
+
/* @__PURE__ */ jsxs16("div", { className: "flex flex-wrap gap-2 items-center mb-4", children: [
|
|
3993
|
+
/* @__PURE__ */ jsx16(Chip8, { colorScheme: "red", outlined: true, children: "Outlined Red" }),
|
|
3994
|
+
/* @__PURE__ */ jsx16(Chip8, { colorScheme: "blue", outlined: true, children: "Outlined Blue" }),
|
|
3995
|
+
/* @__PURE__ */ jsx16(Chip8, { error: true, children: "Error" }),
|
|
3996
|
+
/* @__PURE__ */ jsx16(Chip8, { error: true, outlined: true, children: "Error Outlined" }),
|
|
3997
|
+
/* @__PURE__ */ jsx16(Chip8, { onClick: () => {
|
|
3424
3998
|
}, children: "Clickable" }),
|
|
3425
|
-
/* @__PURE__ */
|
|
3426
|
-
/* @__PURE__ */
|
|
3427
|
-
/* @__PURE__ */
|
|
3999
|
+
/* @__PURE__ */ jsx16(Chip8, { icon: /* @__PURE__ */ jsx16(TagIcon, { size: 12 }), colorScheme: "teal", children: "With Icon" }),
|
|
4000
|
+
/* @__PURE__ */ jsx16(Chip8, { children: "Default (no scheme)" }),
|
|
4001
|
+
/* @__PURE__ */ jsx16(Chip8, { outlined: true, children: "Default Outlined" }),
|
|
4002
|
+
/* @__PURE__ */ jsx16(Chip8, { colorScheme: "green", variant: "filled", children: "Filled Green" }),
|
|
4003
|
+
/* @__PURE__ */ jsx16(Chip8, { colorScheme: "greenDarker", children: "Tinted Darker" })
|
|
3428
4004
|
] }),
|
|
3429
|
-
/* @__PURE__ */
|
|
3430
|
-
/* @__PURE__ */
|
|
3431
|
-
/* @__PURE__ */
|
|
3432
|
-
/* @__PURE__ */
|
|
3433
|
-
/* @__PURE__ */
|
|
3434
|
-
/* @__PURE__ */
|
|
3435
|
-
/* @__PURE__ */
|
|
4005
|
+
/* @__PURE__ */ jsx16(Typography14, { variant: "caption", color: "secondary", className: "block mb-2 font-mono", children: "FilterChip" }),
|
|
4006
|
+
/* @__PURE__ */ jsxs16("div", { className: "flex flex-wrap gap-2 items-center mb-6", children: [
|
|
4007
|
+
/* @__PURE__ */ jsx16(FilterChip2, { active: true, children: "Active" }),
|
|
4008
|
+
/* @__PURE__ */ jsx16(FilterChip2, { children: "Inactive" }),
|
|
4009
|
+
/* @__PURE__ */ jsx16(FilterChip2, { icon: /* @__PURE__ */ jsx16(FilterIcon, { size: 12 }), active: true, children: "With Icon" }),
|
|
4010
|
+
/* @__PURE__ */ jsx16(FilterChip2, { size: "small", children: "Small" }),
|
|
4011
|
+
/* @__PURE__ */ jsx16(FilterChip2, { disabled: true, children: "Disabled" })
|
|
3436
4012
|
] }),
|
|
3437
|
-
/* @__PURE__ */
|
|
3438
|
-
/* @__PURE__ */
|
|
3439
|
-
/* @__PURE__ */
|
|
3440
|
-
/* @__PURE__ */
|
|
3441
|
-
/* @__PURE__ */
|
|
3442
|
-
/* @__PURE__ */
|
|
4013
|
+
/* @__PURE__ */ jsx16(Typography14, { variant: "caption", color: "secondary", className: "block mb-2 font-mono", children: "Alert \u2014 color variants" }),
|
|
4014
|
+
/* @__PURE__ */ jsxs16("div", { className: "flex flex-col gap-2", children: [
|
|
4015
|
+
/* @__PURE__ */ jsx16(Alert3, { color: "info", children: "Info \u2014 informational message" }),
|
|
4016
|
+
/* @__PURE__ */ jsx16(Alert3, { color: "success", children: "Success \u2014 operation completed" }),
|
|
4017
|
+
/* @__PURE__ */ jsx16(Alert3, { color: "warning", children: "Warning \u2014 attention required" }),
|
|
4018
|
+
/* @__PURE__ */ jsx16(Alert3, { color: "error", children: "Error \u2014 something went wrong" })
|
|
3443
4019
|
] }),
|
|
3444
|
-
/* @__PURE__ */
|
|
3445
|
-
/* @__PURE__ */
|
|
3446
|
-
/* @__PURE__ */
|
|
3447
|
-
/* @__PURE__ */
|
|
3448
|
-
/* @__PURE__ */
|
|
4020
|
+
/* @__PURE__ */ jsxs16("div", { className: "mt-4", children: [
|
|
4021
|
+
/* @__PURE__ */ jsx16(Typography14, { variant: "caption", color: "secondary", className: "block mb-2 font-mono", children: "Separator" }),
|
|
4022
|
+
/* @__PURE__ */ jsx16("div", { children: "Above" }),
|
|
4023
|
+
/* @__PURE__ */ jsx16(Separator5, { orientation: "horizontal" }),
|
|
4024
|
+
/* @__PURE__ */ jsx16("div", { children: "Below" })
|
|
3449
4025
|
] }),
|
|
3450
|
-
/* @__PURE__ */
|
|
3451
|
-
/* @__PURE__ */
|
|
3452
|
-
/* @__PURE__ */
|
|
3453
|
-
/* @__PURE__ */
|
|
3454
|
-
/* @__PURE__ */
|
|
4026
|
+
/* @__PURE__ */ jsxs16("div", { className: "mt-4", children: [
|
|
4027
|
+
/* @__PURE__ */ jsx16(Typography14, { variant: "caption", color: "secondary", className: "block mb-2 font-mono", children: "CircularProgress" }),
|
|
4028
|
+
/* @__PURE__ */ jsx16("div", { className: "flex gap-6 items-center", children: ["small", "medium", "large"].map((s) => /* @__PURE__ */ jsxs16("div", { className: "flex flex-col items-center gap-1", children: [
|
|
4029
|
+
/* @__PURE__ */ jsx16(CircularProgress, { size: s }),
|
|
4030
|
+
/* @__PURE__ */ jsx16(Typography14, { variant: "caption", color: "secondary", children: s })
|
|
3455
4031
|
] }, s)) })
|
|
3456
4032
|
] })
|
|
3457
4033
|
] }),
|
|
3458
|
-
/* @__PURE__ */
|
|
3459
|
-
|
|
4034
|
+
/* @__PURE__ */ jsx16(CardsDataSection, {}),
|
|
4035
|
+
/* @__PURE__ */ jsxs16(SectionBlock, { id: "users", title: "Management Screen \u2014 Alert + Table + Chip", children: [
|
|
4036
|
+
/* @__PURE__ */ jsxs16(Typography14, { variant: "body2", color: "secondary", className: "mb-4", children: [
|
|
3460
4037
|
"Canonical layout for an admin management screen: an ",
|
|
3461
|
-
/* @__PURE__ */
|
|
4038
|
+
/* @__PURE__ */ jsx16("code", { className: "font-mono text-xs", children: "Alert" }),
|
|
3462
4039
|
" with an ",
|
|
3463
|
-
/* @__PURE__ */
|
|
4040
|
+
/* @__PURE__ */ jsx16("code", { className: "font-mono text-xs", children: "action" }),
|
|
3464
4041
|
", a header row, and a plain ",
|
|
3465
|
-
/* @__PURE__ */
|
|
4042
|
+
/* @__PURE__ */ jsx16("code", { className: "font-mono text-xs", children: "Table" }),
|
|
3466
4043
|
" with ",
|
|
3467
|
-
/* @__PURE__ */
|
|
4044
|
+
/* @__PURE__ */ jsx16("code", { className: "font-mono text-xs", children: "Chip" }),
|
|
3468
4045
|
"s. Illustrative mock \u2014 not tied to a specific screen."
|
|
3469
4046
|
] }),
|
|
3470
|
-
/* @__PURE__ */
|
|
4047
|
+
/* @__PURE__ */ jsx16(
|
|
3471
4048
|
Alert3,
|
|
3472
4049
|
{
|
|
3473
4050
|
color: "warning",
|
|
3474
4051
|
outerClassName: "mb-4",
|
|
3475
|
-
action: /* @__PURE__ */
|
|
4052
|
+
action: /* @__PURE__ */ jsx16(Button9, { children: "Make me admin" }),
|
|
3476
4053
|
children: "No admin users exist. You can make yourself an admin."
|
|
3477
4054
|
}
|
|
3478
4055
|
),
|
|
3479
|
-
/* @__PURE__ */
|
|
3480
|
-
/* @__PURE__ */
|
|
3481
|
-
/* @__PURE__ */
|
|
4056
|
+
/* @__PURE__ */ jsxs16("div", { className: "flex items-center mt-12", children: [
|
|
4057
|
+
/* @__PURE__ */ jsx16(Typography14, { gutterBottom: true, variant: "h4", className: "grow", component: "h4", children: "Users" }),
|
|
4058
|
+
/* @__PURE__ */ jsx16(Button9, { startIcon: /* @__PURE__ */ jsx16(PlusIcon, {}), children: "Add user" })
|
|
3482
4059
|
] }),
|
|
3483
|
-
/* @__PURE__ */
|
|
3484
|
-
/* @__PURE__ */
|
|
3485
|
-
/* @__PURE__ */
|
|
3486
|
-
/* @__PURE__ */
|
|
3487
|
-
/* @__PURE__ */
|
|
3488
|
-
/* @__PURE__ */
|
|
4060
|
+
/* @__PURE__ */ jsx16("div", { className: "overflow-auto", children: /* @__PURE__ */ jsxs16(Table2, { className: "w-full", children: [
|
|
4061
|
+
/* @__PURE__ */ jsxs16(TableHeader2, { children: [
|
|
4062
|
+
/* @__PURE__ */ jsx16(TableCell2, { header: true, className: "truncate w-16" }),
|
|
4063
|
+
/* @__PURE__ */ jsx16(TableCell2, { header: true, children: "Email" }),
|
|
4064
|
+
/* @__PURE__ */ jsx16(TableCell2, { header: true, children: "Name" }),
|
|
4065
|
+
/* @__PURE__ */ jsx16(TableCell2, { header: true, children: "Roles" })
|
|
3489
4066
|
] }),
|
|
3490
|
-
/* @__PURE__ */
|
|
4067
|
+
/* @__PURE__ */ jsx16(TableBody2, { children: [
|
|
3491
4068
|
{
|
|
3492
4069
|
uid: "1",
|
|
3493
4070
|
email: "alice@example.com",
|
|
@@ -3514,116 +4091,113 @@ function UIReferenceView() {
|
|
|
3514
4091
|
displayName: "Carol White",
|
|
3515
4092
|
roles: []
|
|
3516
4093
|
}
|
|
3517
|
-
].map((user) => /* @__PURE__ */
|
|
3518
|
-
/* @__PURE__ */
|
|
3519
|
-
/* @__PURE__ */
|
|
3520
|
-
/* @__PURE__ */
|
|
3521
|
-
/* @__PURE__ */
|
|
4094
|
+
].map((user) => /* @__PURE__ */ jsxs16(TableRow2, { children: [
|
|
4095
|
+
/* @__PURE__ */ jsx16(TableCell2, { style: { width: "64px" }, children: /* @__PURE__ */ jsx16(Tooltip3, { asChild: true, title: "Delete this user", children: /* @__PURE__ */ jsx16(IconButton5, { size: "small", children: /* @__PURE__ */ jsx16(Trash2Icon3, {}) }) }) }),
|
|
4096
|
+
/* @__PURE__ */ jsx16(TableCell2, { children: user.email }),
|
|
4097
|
+
/* @__PURE__ */ jsx16(TableCell2, { className: "font-medium", children: user.displayName }),
|
|
4098
|
+
/* @__PURE__ */ jsx16(TableCell2, { children: /* @__PURE__ */ jsx16("div", { className: "flex flex-wrap gap-2", children: user.roles.map((role) => /* @__PURE__ */ jsx16(Chip8, { colorScheme: role.isAdmin ? "purple" : "blue", size: "small", children: role.name }, role.id)) }) })
|
|
3522
4099
|
] }, user.uid)) })
|
|
3523
4100
|
] }) })
|
|
3524
4101
|
] }),
|
|
3525
|
-
/* @__PURE__ */
|
|
3526
|
-
/* @__PURE__ */
|
|
4102
|
+
/* @__PURE__ */ jsxs16(SectionBlock, { id: "user-dialog", title: "Form Dialog \u2014 grid + MultiSelect + LoadingButton", children: [
|
|
4103
|
+
/* @__PURE__ */ jsxs16(Typography14, { variant: "body2", color: "secondary", className: "mb-4", children: [
|
|
3527
4104
|
"Canonical form-in-a-card layout: ",
|
|
3528
|
-
/* @__PURE__ */
|
|
4105
|
+
/* @__PURE__ */ jsx16("code", { className: "font-mono text-xs", children: "grid grid-cols-12 gap-4" }),
|
|
3529
4106
|
" for the fields, a ",
|
|
3530
|
-
/* @__PURE__ */
|
|
4107
|
+
/* @__PURE__ */ jsx16("code", { className: "font-mono text-xs", children: "MultiSelect" }),
|
|
3531
4108
|
", and a ",
|
|
3532
|
-
/* @__PURE__ */
|
|
4109
|
+
/* @__PURE__ */ jsx16("code", { className: "font-mono text-xs", children: "LoadingButton" }),
|
|
3533
4110
|
" to submit. Illustrative mock \u2014 not tied to a specific screen."
|
|
3534
4111
|
] }),
|
|
3535
|
-
/* @__PURE__ */
|
|
3536
|
-
/* @__PURE__ */
|
|
3537
|
-
/* @__PURE__ */
|
|
3538
|
-
/* @__PURE__ */
|
|
4112
|
+
/* @__PURE__ */ jsxs16("div", { className: `rounded-lg border w-full max-w-xl ${defaultBorderMixin6}`, children: [
|
|
4113
|
+
/* @__PURE__ */ jsx16("div", { className: "px-6 pt-6 pb-2", children: /* @__PURE__ */ jsx16(Typography14, { variant: "h4", children: "User" }) }),
|
|
4114
|
+
/* @__PURE__ */ jsx16("div", { className: "px-6 py-4", children: /* @__PURE__ */ jsxs16("div", { className: "grid grid-cols-12 gap-4", children: [
|
|
4115
|
+
/* @__PURE__ */ jsx16("div", { className: "col-span-12", children: /* @__PURE__ */ jsx16(TextField3, { name: "displayName", required: true, value: "Alice Johnson", onChange: () => {
|
|
3539
4116
|
}, label: "Name" }) }),
|
|
3540
|
-
/* @__PURE__ */
|
|
4117
|
+
/* @__PURE__ */ jsx16("div", { className: "col-span-12", children: /* @__PURE__ */ jsx16(TextField3, { required: true, name: "email", value: "alice@example.com", onChange: () => {
|
|
3541
4118
|
}, label: "Email", disabled: true }) }),
|
|
3542
|
-
/* @__PURE__ */
|
|
4119
|
+
/* @__PURE__ */ jsx16("div", { className: "col-span-12", children: /* @__PURE__ */ jsxs16(MultiSelect, { className: "w-full", label: "Roles", value: ["admin"], onValueChange: () => {
|
|
3543
4120
|
}, children: [
|
|
3544
|
-
/* @__PURE__ */
|
|
3545
|
-
/* @__PURE__ */
|
|
3546
|
-
/* @__PURE__ */
|
|
4121
|
+
/* @__PURE__ */ jsx16(MultiSelectItem, { value: "admin", children: "Admin" }),
|
|
4122
|
+
/* @__PURE__ */ jsx16(MultiSelectItem, { value: "editor", children: "Editor" }),
|
|
4123
|
+
/* @__PURE__ */ jsx16(MultiSelectItem, { value: "viewer", children: "Viewer" })
|
|
3547
4124
|
] }) })
|
|
3548
4125
|
] }) }),
|
|
3549
|
-
/* @__PURE__ */
|
|
3550
|
-
/* @__PURE__ */
|
|
3551
|
-
/* @__PURE__ */
|
|
4126
|
+
/* @__PURE__ */ jsxs16("div", { className: "flex items-center justify-end gap-2 px-6 pb-6", children: [
|
|
4127
|
+
/* @__PURE__ */ jsx16(Button9, { variant: "text", children: "Cancel" }),
|
|
4128
|
+
/* @__PURE__ */ jsx16(LoadingButton, { variant: "filled", loading: false, children: "Update" })
|
|
3552
4129
|
] })
|
|
3553
4130
|
] })
|
|
3554
4131
|
] }),
|
|
3555
|
-
/* @__PURE__ */
|
|
3556
|
-
/* @__PURE__ */
|
|
3557
|
-
/* @__PURE__ */
|
|
4132
|
+
/* @__PURE__ */ jsxs16(SectionBlock, { wide: true, id: "crm-dashboard", title: "CRM Dashboard \u2014 CrmDashboardDemo", children: [
|
|
4133
|
+
/* @__PURE__ */ jsx16(Typography14, { variant: "body2", color: "secondary", className: "mb-4", children: "A real-world showcase of a complex dashboard home page incorporating Rebase design language." }),
|
|
4134
|
+
/* @__PURE__ */ jsx16("div", { className: "w-full overflow-x-auto", children: /* @__PURE__ */ jsx16(CrmDashboardDemo, {}) })
|
|
3558
4135
|
] }),
|
|
3559
|
-
/* @__PURE__ */
|
|
3560
|
-
/* @__PURE__ */
|
|
4136
|
+
/* @__PURE__ */ jsxs16(SectionBlock, { wide: true, id: "collection-table", title: "Collection Table", children: [
|
|
4137
|
+
/* @__PURE__ */ jsxs16(Typography14, { variant: "body2", color: "secondary", className: "mb-4", children: [
|
|
3561
4138
|
"Sample data collection rendered as a sortable, searchable, filterable table with row selection. Uses ",
|
|
3562
|
-
/* @__PURE__ */
|
|
4139
|
+
/* @__PURE__ */ jsx16("code", { className: "font-mono text-xs", children: "Table" }),
|
|
3563
4140
|
", ",
|
|
3564
|
-
/* @__PURE__ */
|
|
4141
|
+
/* @__PURE__ */ jsx16("code", { className: "font-mono text-xs", children: "Chip" }),
|
|
3565
4142
|
",",
|
|
3566
4143
|
" ",
|
|
3567
|
-
/* @__PURE__ */
|
|
4144
|
+
/* @__PURE__ */ jsx16("code", { className: "font-mono text-xs", children: "SearchBar" }),
|
|
3568
4145
|
", ",
|
|
3569
|
-
/* @__PURE__ */
|
|
4146
|
+
/* @__PURE__ */ jsx16("code", { className: "font-mono text-xs", children: "Select" }),
|
|
3570
4147
|
",",
|
|
3571
4148
|
" ",
|
|
3572
|
-
/* @__PURE__ */
|
|
4149
|
+
/* @__PURE__ */ jsx16("code", { className: "font-mono text-xs", children: "Checkbox" }),
|
|
3573
4150
|
"."
|
|
3574
4151
|
] }),
|
|
3575
|
-
/* @__PURE__ */
|
|
4152
|
+
/* @__PURE__ */ jsx16("div", { className: "w-full", children: /* @__PURE__ */ jsx16(CollectionTableDemo, {}) })
|
|
3576
4153
|
] }),
|
|
3577
|
-
/* @__PURE__ */
|
|
3578
|
-
/* @__PURE__ */
|
|
4154
|
+
/* @__PURE__ */ jsxs16(SectionBlock, { wide: true, id: "card-view", title: "Card View", children: [
|
|
4155
|
+
/* @__PURE__ */ jsxs16(Typography14, { variant: "body2", color: "secondary", className: "mb-4", children: [
|
|
3579
4156
|
"Grid of entity cards with thumbnail area, progress bar, status/priority chips, and assignee. Uses ",
|
|
3580
|
-
/* @__PURE__ */
|
|
4157
|
+
/* @__PURE__ */ jsx16("code", { className: "font-mono text-xs", children: "Card" }),
|
|
3581
4158
|
", ",
|
|
3582
|
-
/* @__PURE__ */
|
|
4159
|
+
/* @__PURE__ */ jsx16("code", { className: "font-mono text-xs", children: "Chip" }),
|
|
3583
4160
|
",",
|
|
3584
4161
|
" ",
|
|
3585
|
-
/* @__PURE__ */
|
|
4162
|
+
/* @__PURE__ */ jsx16("code", { className: "font-mono text-xs", children: "ToggleButtonGroup" }),
|
|
3586
4163
|
", ",
|
|
3587
|
-
/* @__PURE__ */
|
|
4164
|
+
/* @__PURE__ */ jsx16("code", { className: "font-mono text-xs", children: "SearchBar" }),
|
|
3588
4165
|
"."
|
|
3589
4166
|
] }),
|
|
3590
|
-
/* @__PURE__ */
|
|
4167
|
+
/* @__PURE__ */ jsx16("div", { className: "w-full", children: /* @__PURE__ */ jsx16(CardViewDemo, {}) })
|
|
3591
4168
|
] }),
|
|
3592
|
-
/* @__PURE__ */
|
|
3593
|
-
/* @__PURE__ */
|
|
4169
|
+
/* @__PURE__ */ jsxs16(SectionBlock, { wide: true, id: "kanban-board", title: "Kanban Board", children: [
|
|
4170
|
+
/* @__PURE__ */ jsxs16(Typography14, { variant: "body2", color: "secondary", className: "mb-4", children: [
|
|
3594
4171
|
"Drag-and-drop kanban board with four status columns. Uses ",
|
|
3595
|
-
/* @__PURE__ */
|
|
4172
|
+
/* @__PURE__ */ jsx16("code", { className: "font-mono text-xs", children: "KanbanView" }),
|
|
3596
4173
|
", ",
|
|
3597
|
-
/* @__PURE__ */
|
|
4174
|
+
/* @__PURE__ */ jsx16("code", { className: "font-mono text-xs", children: "BoardItem" }),
|
|
3598
4175
|
",",
|
|
3599
4176
|
" ",
|
|
3600
|
-
/* @__PURE__ */
|
|
4177
|
+
/* @__PURE__ */ jsx16("code", { className: "font-mono text-xs", children: "BoardItemViewProps" }),
|
|
3601
4178
|
"."
|
|
3602
4179
|
] }),
|
|
3603
|
-
/* @__PURE__ */
|
|
4180
|
+
/* @__PURE__ */ jsx16("div", { className: "w-full overflow-x-auto", children: /* @__PURE__ */ jsx16(KanbanBoardDemo, {}) })
|
|
3604
4181
|
] })
|
|
3605
4182
|
] })
|
|
3606
4183
|
] });
|
|
3607
4184
|
}
|
|
3608
|
-
|
|
3609
|
-
|
|
3610
|
-
|
|
3611
|
-
|
|
3612
|
-
|
|
3613
|
-
|
|
3614
|
-
|
|
3615
|
-
|
|
3616
|
-
|
|
3617
|
-
|
|
3618
|
-
|
|
3619
|
-
|
|
3620
|
-
|
|
3621
|
-
|
|
3622
|
-
|
|
3623
|
-
|
|
3624
|
-
] }) })
|
|
3625
|
-
);
|
|
3626
|
-
}
|
|
4185
|
+
var TYPE_LADDER = [
|
|
4186
|
+
["h1", "36 \xB7 600 \xB7 display"],
|
|
4187
|
+
["h2", "30 \xB7 600 \xB7 display"],
|
|
4188
|
+
["h3", "24 \xB7 600 \xB7 title"],
|
|
4189
|
+
["h4", "20 \xB7 600 \xB7 title"],
|
|
4190
|
+
["h5", "18 \xB7 500 \xB7 heading"],
|
|
4191
|
+
["h6", "16 \xB7 500 \xB7 heading"],
|
|
4192
|
+
["lead", "16 \xB7 400 \xB7 relaxed"],
|
|
4193
|
+
["subtitle1", "14 \xB7 500 \xB7 heading"],
|
|
4194
|
+
["subtitle2", "14 \xB7 500"],
|
|
4195
|
+
["body1", "14 \xB7 400"],
|
|
4196
|
+
["body2", "12 \xB7 400"],
|
|
4197
|
+
["caption", "11 \xB7 400"],
|
|
4198
|
+
["label", "12 \xB7 500 \xB7 wide"],
|
|
4199
|
+
["button", "14 \xB7 500"]
|
|
4200
|
+
];
|
|
3627
4201
|
export {
|
|
3628
4202
|
CrmDashboardDemo,
|
|
3629
4203
|
UIReferenceView,
|