@protobase/ui 0.19.5 → 0.19.7
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/account/account-section.js +2 -2
- package/dist/account/account-security-page.js +2 -2
- package/dist/account/backup-codes.js +1 -1
- package/dist/account/passkeys-section.js +2 -2
- package/dist/account/password-dialog.js +1 -1
- package/dist/account/sign-in-policy-form.js +2 -2
- package/dist/account/sign-in-policy-page.js +2 -2
- package/dist/account/sign-in-providers-section.js +1 -1
- package/dist/account/staff-sign-in-log.js +3 -3
- package/dist/account/two-factor-setup.js +6 -6
- package/dist/action-card/action-card.js +1 -1
- package/dist/activity-chart/activity-chart.js +2 -2
- package/dist/app/delete/dialogs.js +3 -3
- package/dist/app/displays/display-controls.js +1 -1
- package/dist/app/displays/display-frame.js +1 -1
- package/dist/app/displays/list-cards.js +1 -1
- package/dist/app/displays/map-display.js +1 -1
- package/dist/app/displays/record-card.js +1 -1
- package/dist/app/embedded-list/embedded-list.js +2 -2
- package/dist/app/error-banner.js +1 -1
- package/dist/app/export/builder-port.js +54 -0
- package/dist/app/export/builder.js +61 -0
- package/dist/app/export/cells.js +93 -0
- package/dist/app/export/csv.js +17 -0
- package/dist/app/export/export-dialog.js +235 -0
- package/dist/app/export/export-options.js +49 -0
- package/dist/app/export/export-worker.d.ts +1 -0
- package/dist/app/export/export-worker.js +9 -0
- package/dist/app/export/run-export.js +62 -0
- package/dist/app/export/sink.js +91 -0
- package/dist/app/export/use-export-flow.js +139 -0
- package/dist/app/export/xlsx.js +91 -0
- package/dist/app/field-editor.js +6 -12
- package/dist/app/file-field.js +4 -4
- package/dist/app/gallery/lightbox.js +2 -2
- package/dist/app/gallery/photo-details.js +1 -1
- package/dist/app/import/import-check-step.js +2 -2
- package/dist/app/import/import-file-step.js +2 -2
- package/dist/app/import/import-mapping-step.js +1 -1
- package/dist/app/import/import-result-step.js +2 -2
- package/dist/app/import/import-select.js +2 -2
- package/dist/app/list-page.js +28 -3
- package/dist/app/meta-gate.js +3 -3
- package/dist/app/pages/blocks/card-frame.js +4 -4
- package/dist/app/pages/blocks/field.js +2 -5
- package/dist/app/pages/blocks/stat.js +2 -2
- package/dist/app/pages/problem.js +1 -1
- package/dist/app/pages/render-node.js +1 -1
- package/dist/app/record-page.js +2 -2
- package/dist/app/record-row/record-row-body.js +3 -3
- package/dist/app/record-row/saved-record-row.js +1 -1
- package/dist/app/related-section.js +1 -1
- package/dist/app/relation-picker.js +1 -1
- package/dist/app/runtime/runtime-update.js +3 -3
- package/dist/app/saved/saved-list.js +1 -1
- package/dist/app/searches/saved-search-rows.js +2 -2
- package/dist/app/searches/saved-search-section.js +1 -1
- package/dist/app/searches/saved-searches.js +1 -1
- package/dist/app/searches/search-controls.js +2 -2
- package/dist/app/searches/search-name-dialog.js +1 -1
- package/dist/app/searches/update-search-dialog.js +16 -19
- package/dist/app/sensitive-field.js +1 -1
- package/dist/app/source-notice.js +3 -3
- package/dist/app/staff-banner.js +1 -1
- package/dist/app-shell/breadcrumb.js +1 -1
- package/dist/app-shell/global-search.js +1 -1
- package/dist/app-shell/page-header.js +1 -1
- package/dist/app-shell/profile-menu.js +3 -3
- package/dist/app-shell/sidebar-group.js +1 -1
- package/dist/app-shell/sidebar-item.js +1 -1
- package/dist/app-shell/sidebar.js +2 -2
- package/dist/assistant-dock/part-view.js +1 -4
- package/dist/assistant-dock/widget-view.js +1 -4
- package/dist/auth/auth-gate.js +2 -2
- package/dist/auth/auth-layout.js +1 -1
- package/dist/auth/code-form.js +2 -2
- package/dist/auth/first-run-page.js +1 -1
- package/dist/auth/forgot-password-form.js +2 -2
- package/dist/auth/provider-sign-in-page.js +1 -1
- package/dist/auth/reset-password-form.js +3 -3
- package/dist/auth/setup-required-form.js +2 -2
- package/dist/auth/setup-required-page.js +1 -1
- package/dist/auth/sign-in-form.js +5 -5
- package/dist/auth/sign-in-prompt.js +2 -2
- package/dist/auth/sign-up-details-form.js +3 -3
- package/dist/auth/sign-up-email-form.js +4 -4
- package/dist/auth/staff-sign-in-form.js +3 -3
- package/dist/auth/two-factor-form.js +5 -5
- package/dist/chat/chat-message.js +1 -1
- package/dist/chat/chat-thread.js +1 -1
- package/dist/data/query-keys.js +7 -0
- package/dist/data-grid/grid-row.js +1 -1
- package/dist/data-grid/header-menu.js +1 -1
- package/dist/data-grid/row-menu.js +1 -1
- package/dist/filter-panel/facet-combobox.js +1 -1
- package/dist/filter-panel/filter-menu.js +1 -1
- package/dist/filter-panel/filter-panel.js +2 -2
- package/dist/inline-child-table/line-menu.js +1 -1
- package/dist/inline-child-table/line-row.js +4 -4
- package/dist/inline-child-table/number-cell.js +1 -1
- package/dist/inline-child-table/totals-footer.js +2 -2
- package/dist/organizations/app-roles-picker.js +1 -1
- package/dist/organizations/invitation-page.js +3 -3
- package/dist/organizations/invitations-page.js +2 -2
- package/dist/organizations/members-page.js +2 -2
- package/dist/organizations/organization-page.js +1 -1
- package/dist/organizations/organizations-page.js +2 -2
- package/dist/package.js +1 -1
- package/dist/plugins/before-sign-in.js +1 -1
- package/dist/plugins/plugin-gate.js +1 -1
- package/dist/plugins/plugin-notice.js +1 -1
- package/dist/primitives/button.js +1 -1
- package/dist/primitives/dialog.js +2 -2
- package/dist/primitives/input.js +1 -1
- package/dist/primitives/menu-select.js +2 -2
- package/dist/primitives/responsive-dialog.js +1 -1
- package/dist/primitives/segmented.js +1 -1
- package/dist/primitives/sheet.js +1 -1
- package/dist/primitives/textarea.js +1 -1
- package/dist/record-view/action-rail.js +1 -1
- package/dist/record-view/field.js +1 -1
- package/dist/record-view/key-facts.js +2 -2
- package/dist/record-view/record-sidebar.js +2 -2
- package/dist/record-view/section.js +2 -2
- package/dist/record-view/spec-table.js +1 -1
- package/dist/shell/assets/app-BRVJlz_E.js +68 -0
- package/dist/shell/assets/export-worker-CVd5saLq.js +2 -0
- package/dist/shell/assets/{index-BzCCIfII.js → index-CafsxSWx.js} +1 -1
- package/dist/shell/assets/index-Cuulz26c.css +2 -0
- package/dist/shell/assets/maplibre-Cb7ks8SG.js +814 -0
- package/dist/shell/assets/{record-map-BK_02Lmk.js → record-map-dXyPrmGg.js} +1 -1
- package/dist/shell/assets/{records-map-Dn72A_l-.js → records-map-bGH18FRn.js} +1 -1
- package/dist/shell/assets/{shared-protobase-ui-B6lrj7eA.js → shared-protobase-ui-e-G14mxb.js} +1 -1
- package/dist/shell/index.html +4 -4
- package/dist/shell/protobase.shell.json +1 -1
- package/dist/side-panel/side-panel.js +1 -1
- package/dist/step-list/step-list.js +1 -1
- package/dist/styles.css +1 -1
- package/dist/theme.css +2 -0
- package/dist/toasts/toast.js +2 -2
- package/package.json +5 -4
- package/dist/shell/assets/app-CZ4drn7G.js +0 -67
- package/dist/shell/assets/index-BoeKjvo8.css +0 -2
- package/dist/shell/assets/maplibre-BOsAtlAo.js +0 -814
|
@@ -33,7 +33,7 @@ const Gutter = ({ width, index, selectable, selected, onToggle, edge }) => /* @_
|
|
|
33
33
|
const DataRow = ({ cells, selected, onToggle, onOpen, menu, ...frame }) => /* @__PURE__ */ jsxs("div", {
|
|
34
34
|
role: "row",
|
|
35
35
|
onClick: onOpen,
|
|
36
|
-
className: cn("absolute inset-x-0 top-0 grid items-center border-b
|
|
36
|
+
className: cn("absolute inset-x-0 top-0 grid items-center border-b", selected ? "bg-primary-soft" : "bg-background hover:bg-surface", onOpen && "cursor-pointer"),
|
|
37
37
|
style: frameStyle(frame),
|
|
38
38
|
children: [
|
|
39
39
|
/* @__PURE__ */ jsx(Gutter, {
|
|
@@ -31,7 +31,7 @@ const HeaderMenu = ({ header, pinned, onTogglePin }) => {
|
|
|
31
31
|
children: /* @__PURE__ */ jsx(MoreHorizontal, { className: "size-3.5" })
|
|
32
32
|
}), open && /* @__PURE__ */ jsx("ul", {
|
|
33
33
|
role: "menu",
|
|
34
|
-
className: "absolute right-0 top-full z-30 mt-1 min-w-32 rounded-md border bg-background py-1 text-
|
|
34
|
+
className: "absolute right-0 top-full z-30 mt-1 min-w-32 rounded-md border bg-background py-1 text-body font-normal text-foreground shadow-pop",
|
|
35
35
|
children: /* @__PURE__ */ jsx("li", {
|
|
36
36
|
role: "none",
|
|
37
37
|
children: /* @__PURE__ */ jsx("button", {
|
|
@@ -67,7 +67,7 @@ const RowMenu = ({ row, actions }) => {
|
|
|
67
67
|
role: "menu",
|
|
68
68
|
onClick: (event) => event.stopPropagation(),
|
|
69
69
|
style: place ?? { visibility: "hidden" },
|
|
70
|
-
className: "fixed z-50 min-w-36 rounded-md border bg-background py-1
|
|
70
|
+
className: "fixed z-50 min-w-36 rounded-md border bg-background py-1 shadow-pop",
|
|
71
71
|
children: actions.map((action) => /* @__PURE__ */ jsx("li", {
|
|
72
72
|
role: "none",
|
|
73
73
|
children: /* @__PURE__ */ jsx("button", {
|
|
@@ -74,7 +74,7 @@ const FacetCombobox = ({ config, selected, onToggle, inline = false }) => {
|
|
|
74
74
|
"aria-autocomplete": "list",
|
|
75
75
|
"aria-activedescendant": options[active] ? `${id}-${active}` : void 0,
|
|
76
76
|
placeholder: selected.length > 0 ? "" : `Search ${config.label.toLowerCase()}`,
|
|
77
|
-
className: "h-6 min-w-16 flex-1 bg-transparent text-
|
|
77
|
+
className: "h-6 min-w-16 flex-1 bg-transparent text-foreground outline-none placeholder:text-faint-foreground",
|
|
78
78
|
value: query,
|
|
79
79
|
onChange: (event) => search(event.target.value),
|
|
80
80
|
onKeyDown,
|
|
@@ -26,7 +26,7 @@ const FilterMenu = ({ label, activeCount, width = 240, defaultOpen = false, chil
|
|
|
26
26
|
type: "button",
|
|
27
27
|
"aria-expanded": open,
|
|
28
28
|
onClick: () => setOpen(!open),
|
|
29
|
-
className: cn("inline-flex h-8 items-center gap-1.5 rounded-md border bg-background px-2.5
|
|
29
|
+
className: cn("inline-flex h-8 items-center gap-1.5 rounded-md border bg-background px-2.5 font-medium shadow-sm transition-colors hover:bg-muted", activeCount > 0 ? "border-primary-border text-primary-text" : "border-border-strong text-foreground"),
|
|
30
30
|
children: [
|
|
31
31
|
label,
|
|
32
32
|
activeCount > 0 && /* @__PURE__ */ jsx("span", {
|
|
@@ -60,7 +60,7 @@ const FilterPanel = ({ config, layout, value, defaultValue, onChange, lockedLabe
|
|
|
60
60
|
/* @__PURE__ */ jsx("div", {
|
|
61
61
|
className: "flex items-center justify-between pb-1",
|
|
62
62
|
children: /* @__PURE__ */ jsx("h2", {
|
|
63
|
-
className: "
|
|
63
|
+
className: "font-semibold",
|
|
64
64
|
children: "Filters"
|
|
65
65
|
})
|
|
66
66
|
}),
|
|
@@ -105,7 +105,7 @@ const FilterPanel = ({ config, layout, value, defaultValue, onChange, lockedLabe
|
|
|
105
105
|
...dateView ? [/* @__PURE__ */ jsx(Fragment, { children: dateView }, "date")] : []
|
|
106
106
|
];
|
|
107
107
|
const toggles = (config.toggles ?? []).map((toggle) => /* @__PURE__ */ jsx("div", {
|
|
108
|
-
className: "flex items-center gap-2 text-
|
|
108
|
+
className: "flex items-center gap-2 text-muted-foreground",
|
|
109
109
|
children: /* @__PURE__ */ jsx(ToggleRow, {
|
|
110
110
|
label: toggle.label,
|
|
111
111
|
checked: state.toggles.includes(toggle.id),
|
|
@@ -32,7 +32,7 @@ const LineMenu = ({ items, label }) => {
|
|
|
32
32
|
children: /* @__PURE__ */ jsx(MoreHorizontal, { className: "size-4" })
|
|
33
33
|
}), open && /* @__PURE__ */ jsx("ul", {
|
|
34
34
|
role: "menu",
|
|
35
|
-
className: "absolute right-0 top-full z-30 mt-1 min-w-36 rounded-md border bg-background py-1
|
|
35
|
+
className: "absolute right-0 top-full z-30 mt-1 min-w-36 rounded-md border bg-background py-1 shadow-pop",
|
|
36
36
|
children: items.map((item) => /* @__PURE__ */ jsx("li", {
|
|
37
37
|
role: "none",
|
|
38
38
|
children: /* @__PURE__ */ jsx("button", {
|
|
@@ -49,7 +49,7 @@ const LineRow = ({ line, position, count, reorderable, editable, onChange, onRem
|
|
|
49
49
|
/* @__PURE__ */ jsxs("div", {
|
|
50
50
|
className: "min-w-0",
|
|
51
51
|
children: [/* @__PURE__ */ jsx("p", {
|
|
52
|
-
className: "truncate text-
|
|
52
|
+
className: "truncate text-foreground",
|
|
53
53
|
children: line.description
|
|
54
54
|
}), /* @__PURE__ */ jsx("p", {
|
|
55
55
|
className: "font-mono text-[11px] text-faint-foreground",
|
|
@@ -63,7 +63,7 @@ const LineRow = ({ line, position, count, reorderable, editable, onChange, onRem
|
|
|
63
63
|
parse: (text) => Math.round(Number(text)),
|
|
64
64
|
onCommit: (quantity) => onChange({ quantity })
|
|
65
65
|
}) : /* @__PURE__ */ jsx("span", {
|
|
66
|
-
className: "px-2 text-right
|
|
66
|
+
className: "px-2 text-right tabular-nums",
|
|
67
67
|
children: line.quantity
|
|
68
68
|
}),
|
|
69
69
|
editable ? /* @__PURE__ */ jsx(NumberCell, {
|
|
@@ -73,11 +73,11 @@ const LineRow = ({ line, position, count, reorderable, editable, onChange, onRem
|
|
|
73
73
|
parse: parseEuros,
|
|
74
74
|
onCommit: (unitPriceCents) => onChange({ unitPriceCents })
|
|
75
75
|
}) : /* @__PURE__ */ jsx("span", {
|
|
76
|
-
className: "px-2 text-right
|
|
76
|
+
className: "px-2 text-right tabular-nums",
|
|
77
77
|
children: (line.unitPriceCents / 100).toFixed(2)
|
|
78
78
|
}),
|
|
79
79
|
/* @__PURE__ */ jsx("span", {
|
|
80
|
-
className: "px-2 text-right
|
|
80
|
+
className: "px-2 text-right font-medium tabular-nums text-foreground",
|
|
81
81
|
children: formatMoney(lineTotalCents(line))
|
|
82
82
|
}),
|
|
83
83
|
menu.length > 0 ? /* @__PURE__ */ jsx(LineMenu, {
|
|
@@ -18,7 +18,7 @@ const NumberCell = ({ value, onCommit, format, parse, label, width = "w-full" })
|
|
|
18
18
|
onChange: (event) => setDraft(event.target.value),
|
|
19
19
|
onBlur: commit,
|
|
20
20
|
onKeyDown: (event) => event.key === "Enter" && event.currentTarget.blur(),
|
|
21
|
-
className: cn("h-7 rounded-md border border-transparent bg-transparent px-2 text-right
|
|
21
|
+
className: cn("h-7 rounded-md border border-transparent bg-transparent px-2 text-right tabular-nums text-foreground outline-none hover:border-border-strong focus:border-primary focus:bg-background focus:ring-2 focus:ring-primary/20", width)
|
|
22
22
|
});
|
|
23
23
|
};
|
|
24
24
|
//#endregion
|
|
@@ -5,7 +5,7 @@ import { jsx, jsxs } from "react/jsx-runtime";
|
|
|
5
5
|
const TotalsFooter = ({ lines, vatRate }) => {
|
|
6
6
|
const totals = invoiceTotals(lines, vatRate);
|
|
7
7
|
return /* @__PURE__ */ jsxs("dl", {
|
|
8
|
-
className: "ml-auto grid w-64 grid-cols-[1fr_auto] gap-x-6 gap-y-1 px-2 pt-3
|
|
8
|
+
className: "ml-auto grid w-64 grid-cols-[1fr_auto] gap-x-6 gap-y-1 px-2 pt-3 tabular-nums",
|
|
9
9
|
children: [
|
|
10
10
|
/* @__PURE__ */ jsx("dt", {
|
|
11
11
|
className: "text-muted-foreground",
|
|
@@ -32,7 +32,7 @@ const TotalsFooter = ({ lines, vatRate }) => {
|
|
|
32
32
|
children: "Total"
|
|
33
33
|
}),
|
|
34
34
|
/* @__PURE__ */ jsx("dd", {
|
|
35
|
-
className: "mt-1 border-t border-border pt-2 text-right text-[
|
|
35
|
+
className: "mt-1 border-t border-border pt-2 text-right text-[16px] font-semibold text-foreground",
|
|
36
36
|
children: formatMoney(totals.totalCents)
|
|
37
37
|
})
|
|
38
38
|
]
|
|
@@ -10,7 +10,7 @@ const AppRolesPicker = ({ roles, selected, grantable, disabled, onChange }) => /
|
|
|
10
10
|
const locked = disabled || !grantable.has(role.name);
|
|
11
11
|
return /* @__PURE__ */ jsxs("label", {
|
|
12
12
|
title: locked && !disabled ? "You cannot give or take away this role" : void 0,
|
|
13
|
-
className: cn("inline-flex items-center gap-1.5
|
|
13
|
+
className: cn("inline-flex items-center gap-1.5", locked && "text-muted-foreground"),
|
|
14
14
|
children: [/* @__PURE__ */ jsx(Checkbox, {
|
|
15
15
|
checked: held,
|
|
16
16
|
label: role.label,
|
|
@@ -35,7 +35,7 @@ const SignUp = ({ token, preview, onDone }) => {
|
|
|
35
35
|
},
|
|
36
36
|
children: [
|
|
37
37
|
/* @__PURE__ */ jsxs("p", {
|
|
38
|
-
className: "text-
|
|
38
|
+
className: "text-muted-foreground",
|
|
39
39
|
children: [
|
|
40
40
|
"Make your account for ",
|
|
41
41
|
preview.email,
|
|
@@ -96,7 +96,7 @@ const InvitationPage = ({ token, onDone, signIn }) => {
|
|
|
96
96
|
if (!preview) return /* @__PURE__ */ jsx(AuthLayout, {
|
|
97
97
|
title: "Invitation",
|
|
98
98
|
children: /* @__PURE__ */ jsxs("div", {
|
|
99
|
-
className: "flex items-center justify-center gap-2 text-
|
|
99
|
+
className: "flex items-center justify-center gap-2 text-muted-foreground",
|
|
100
100
|
children: [/* @__PURE__ */ jsx(Spinner, {}), " Loading"]
|
|
101
101
|
})
|
|
102
102
|
});
|
|
@@ -107,7 +107,7 @@ const InvitationPage = ({ token, onDone, signIn }) => {
|
|
|
107
107
|
title: `Join ${preview.organization.name}`,
|
|
108
108
|
description,
|
|
109
109
|
children: [/* @__PURE__ */ jsxs("p", {
|
|
110
|
-
className: "mb-3 text-
|
|
110
|
+
className: "mb-3 text-muted-foreground",
|
|
111
111
|
children: [
|
|
112
112
|
"This invitation is for ",
|
|
113
113
|
preview.email,
|
|
@@ -62,7 +62,7 @@ const InviteForm = ({ current, onSent }) => {
|
|
|
62
62
|
"aria-label": "Organization role",
|
|
63
63
|
value: role,
|
|
64
64
|
onChange: (event) => setRole(event.target.value),
|
|
65
|
-
className: "h-8 rounded-md border border-border-strong bg-background px-2
|
|
65
|
+
className: "h-8 rounded-md border border-border-strong bg-background px-2",
|
|
66
66
|
children: assignableOrganizationRoles(current).map((option) => /* @__PURE__ */ jsx("option", {
|
|
67
67
|
value: option,
|
|
68
68
|
children: organizationRoleLabels[option]
|
|
@@ -101,7 +101,7 @@ const PendingRow = ({ invitation, organizationId, onChanged }) => {
|
|
|
101
101
|
/* @__PURE__ */ jsxs("span", {
|
|
102
102
|
className: "min-w-0 flex-1",
|
|
103
103
|
children: [/* @__PURE__ */ jsx("span", {
|
|
104
|
-
className: "block truncate
|
|
104
|
+
className: "block truncate font-medium",
|
|
105
105
|
children: invitation.email
|
|
106
106
|
}), /* @__PURE__ */ jsxs("span", {
|
|
107
107
|
className: "block text-xs text-muted-foreground",
|
|
@@ -34,7 +34,7 @@ const MemberRow = ({ member, current, onChanged }) => {
|
|
|
34
34
|
/* @__PURE__ */ jsxs("span", {
|
|
35
35
|
className: "min-w-0 flex-1",
|
|
36
36
|
children: [/* @__PURE__ */ jsxs("span", {
|
|
37
|
-
className: "block truncate
|
|
37
|
+
className: "block truncate font-medium",
|
|
38
38
|
children: [member.name, self && " (you)"]
|
|
39
39
|
}), /* @__PURE__ */ jsx("span", {
|
|
40
40
|
className: "block truncate text-xs text-muted-foreground",
|
|
@@ -112,7 +112,7 @@ const MembersPage = ({ current }) => {
|
|
|
112
112
|
onChanged: load
|
|
113
113
|
}, `${member.id}/${member.role}/${member.appRoles.join()}`))
|
|
114
114
|
}) : !error && /* @__PURE__ */ jsxs("div", {
|
|
115
|
-
className: "flex items-center gap-2 text-
|
|
115
|
+
className: "flex items-center gap-2 text-muted-foreground",
|
|
116
116
|
children: [/* @__PURE__ */ jsx(Spinner, {}), " Loading"]
|
|
117
117
|
})]
|
|
118
118
|
})]
|
|
@@ -78,7 +78,7 @@ const HandOver = ({ organization, memberId }) => {
|
|
|
78
78
|
"aria-label": "New owner",
|
|
79
79
|
value: target,
|
|
80
80
|
onChange: (event) => setTarget(event.target.value),
|
|
81
|
-
className: "h-8 flex-1 rounded-md border border-border-strong bg-background px-2
|
|
81
|
+
className: "h-8 flex-1 rounded-md border border-border-strong bg-background px-2",
|
|
82
82
|
children: [/* @__PURE__ */ jsx("option", {
|
|
83
83
|
value: "",
|
|
84
84
|
children: "Choose a member"
|
|
@@ -19,7 +19,7 @@ const OrganizationRow = ({ organization, current, busy, onOpen }) => /* @__PURE_
|
|
|
19
19
|
children: [/* @__PURE__ */ jsxs("span", {
|
|
20
20
|
className: "min-w-0 flex-1",
|
|
21
21
|
children: [/* @__PURE__ */ jsx("span", {
|
|
22
|
-
className: "block truncate
|
|
22
|
+
className: "block truncate font-medium",
|
|
23
23
|
children: organization.name
|
|
24
24
|
}), /* @__PURE__ */ jsx("span", {
|
|
25
25
|
className: "block text-xs text-muted-foreground",
|
|
@@ -133,7 +133,7 @@ const YourInvitations = () => {
|
|
|
133
133
|
children: /* @__PURE__ */ jsx("ul", {
|
|
134
134
|
className: "divide-y rounded-md border",
|
|
135
135
|
children: invitations.map((invitation) => /* @__PURE__ */ jsxs("li", {
|
|
136
|
-
className: "px-3 py-2.5
|
|
136
|
+
className: "px-3 py-2.5",
|
|
137
137
|
children: [
|
|
138
138
|
/* @__PURE__ */ jsx("span", {
|
|
139
139
|
className: "font-medium",
|
package/dist/package.js
CHANGED
|
@@ -30,7 +30,7 @@ const BeforeSignIn = ({ children }) => {
|
|
|
30
30
|
]);
|
|
31
31
|
if (state.kind !== "signed-out" && state.kind !== "visitor") return children;
|
|
32
32
|
if (!settled) return /* @__PURE__ */ jsxs("div", {
|
|
33
|
-
className: "flex h-full min-h-48 items-center justify-center gap-2 text-
|
|
33
|
+
className: "flex h-full min-h-48 items-center justify-center gap-2 text-muted-foreground",
|
|
34
34
|
children: [/* @__PURE__ */ jsx(Spinner, {}), " Loading"]
|
|
35
35
|
});
|
|
36
36
|
if (!Around) return children;
|
|
@@ -20,7 +20,7 @@ const PluginGate = ({ ui, children }) => {
|
|
|
20
20
|
const { loads, settled } = usePluginLoads(plugins, usePluginSource());
|
|
21
21
|
const merged = useMemo(() => mergePlugins(ui, loads), [ui, loads]);
|
|
22
22
|
if (!settled) return /* @__PURE__ */ jsxs("div", {
|
|
23
|
-
className: "flex h-full min-h-48 items-center justify-center gap-2 text-
|
|
23
|
+
className: "flex h-full min-h-48 items-center justify-center gap-2 text-muted-foreground",
|
|
24
24
|
children: [/* @__PURE__ */ jsx(Spinner, {}), " Loading"]
|
|
25
25
|
});
|
|
26
26
|
return /* @__PURE__ */ jsx(ProjectUiContext.Provider, {
|
|
@@ -9,7 +9,7 @@ const PluginNotice = ({ off }) => {
|
|
|
9
9
|
return /* @__PURE__ */ jsxs("div", {
|
|
10
10
|
role: "region",
|
|
11
11
|
"aria-label": "Plugins off",
|
|
12
|
-
className: "flex items-start gap-3 border-b border-warning/40 bg-warning-soft px-4 py-2 text-
|
|
12
|
+
className: "flex items-start gap-3 border-b border-warning/40 bg-warning-soft px-4 py-2 text-warning-text",
|
|
13
13
|
children: [
|
|
14
14
|
/* @__PURE__ */ jsx(Puzzle, {
|
|
15
15
|
"aria-hidden": true,
|
|
@@ -10,7 +10,7 @@ const variants = {
|
|
|
10
10
|
};
|
|
11
11
|
const sizes = {
|
|
12
12
|
sm: "h-7 px-2.5 text-xs gap-1.5",
|
|
13
|
-
md: "h-8 px-3 text-
|
|
13
|
+
md: "h-8 px-3 text-body gap-2"
|
|
14
14
|
};
|
|
15
15
|
/** A button's classes, for a link that looks like one. */
|
|
16
16
|
const buttonClass = ({ variant = "secondary", size = "md" } = {}) => cn("inline-flex shrink-0 items-center justify-center rounded-md font-medium transition-colors focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary disabled:opacity-60 disabled:cursor-default", variants[variant], sizes[size]);
|
|
@@ -19,11 +19,11 @@ const Dialog = ({ title, description, onClose, actions, children, wide = false }
|
|
|
19
19
|
className: cn("outline-none max-h-[90vh] w-full overflow-y-auto rounded-lg border bg-background p-4 shadow-pop sm:p-5", wide ? "max-w-3xl" : "max-w-md"),
|
|
20
20
|
children: [
|
|
21
21
|
/* @__PURE__ */ jsx("h2", {
|
|
22
|
-
className: "text-[
|
|
22
|
+
className: "text-[16px] font-semibold",
|
|
23
23
|
children: title
|
|
24
24
|
}),
|
|
25
25
|
description && /* @__PURE__ */ jsx("p", {
|
|
26
|
-
className: "mt-1.5 text-
|
|
26
|
+
className: "mt-1.5 text-muted-foreground",
|
|
27
27
|
children: description
|
|
28
28
|
}),
|
|
29
29
|
children && /* @__PURE__ */ jsx("div", {
|
package/dist/primitives/input.js
CHANGED
|
@@ -6,7 +6,7 @@ const Input = ({ leading, trailing, invalid, className, wrapperClassName, ...res
|
|
|
6
6
|
children: [
|
|
7
7
|
leading,
|
|
8
8
|
/* @__PURE__ */ jsx("input", {
|
|
9
|
-
className: cn("min-w-0 flex-1 bg-transparent text-
|
|
9
|
+
className: cn("min-w-0 flex-1 bg-transparent text-body text-foreground outline-none placeholder:text-faint-foreground", className),
|
|
10
10
|
...rest
|
|
11
11
|
}),
|
|
12
12
|
trailing
|
|
@@ -46,7 +46,7 @@ const MenuSelect = ({ value, options, onChange, label }) => {
|
|
|
46
46
|
"aria-haspopup": "menu",
|
|
47
47
|
"aria-expanded": open,
|
|
48
48
|
onClick: () => setOpen(!open),
|
|
49
|
-
className: "inline-flex h-8 items-center gap-1.5 rounded-md border border-border-strong bg-background px-2.5 text-
|
|
49
|
+
className: "inline-flex h-8 items-center gap-1.5 rounded-md border border-border-strong bg-background px-2.5 text-body font-medium shadow-sm transition-colors hover:bg-muted pointer-coarse:h-11",
|
|
50
50
|
children: [
|
|
51
51
|
current?.icon && /* @__PURE__ */ jsx(current.icon, { className: "size-3.5" }),
|
|
52
52
|
current?.label ?? label,
|
|
@@ -56,7 +56,7 @@ const MenuSelect = ({ value, options, onChange, label }) => {
|
|
|
56
56
|
role: "menu",
|
|
57
57
|
"aria-label": label,
|
|
58
58
|
onKeyDown,
|
|
59
|
-
className: "absolute right-0 top-full z-30 mt-1 min-w-40 rounded-md border bg-background py-1 text-
|
|
59
|
+
className: "absolute right-0 top-full z-30 mt-1 min-w-40 rounded-md border bg-background py-1 text-body shadow-pop",
|
|
60
60
|
children: options.map((option, index) => /* @__PURE__ */ jsx("li", {
|
|
61
61
|
role: "none",
|
|
62
62
|
children: /* @__PURE__ */ jsxs("button", {
|
|
@@ -23,7 +23,7 @@ const ResponsiveDialog = ({ title, description, open, onClose, actions, children
|
|
|
23
23
|
open: true,
|
|
24
24
|
onClose,
|
|
25
25
|
children: /* @__PURE__ */ jsxs("div", {
|
|
26
|
-
className: "pt-3
|
|
26
|
+
className: "pt-3",
|
|
27
27
|
children: [
|
|
28
28
|
description && /* @__PURE__ */ jsx("p", {
|
|
29
29
|
className: "text-muted-foreground",
|
package/dist/primitives/sheet.js
CHANGED
|
@@ -50,7 +50,7 @@ const Sheet = ({ title, open, onClose, children }) => {
|
|
|
50
50
|
"aria-hidden": true
|
|
51
51
|
}),
|
|
52
52
|
/* @__PURE__ */ jsx("h2", {
|
|
53
|
-
className: "text-[
|
|
53
|
+
className: "text-[16px] font-semibold",
|
|
54
54
|
children: title
|
|
55
55
|
}),
|
|
56
56
|
/* @__PURE__ */ jsx("button", {
|
|
@@ -28,7 +28,7 @@ const Textarea = ({ invalid, className, rows = 3, value, ...rest }) => {
|
|
|
28
28
|
ref,
|
|
29
29
|
rows,
|
|
30
30
|
value,
|
|
31
|
-
className: cn("block w-full resize-none overflow-hidden rounded-md border bg-background px-2.5 py-1.5 text-
|
|
31
|
+
className: cn("block w-full resize-none overflow-hidden rounded-md border bg-background px-2.5 py-1.5 text-body text-foreground shadow-sm outline-none placeholder:text-faint-foreground focus:border-primary focus:ring-2 focus:ring-primary/20", invalid ? "border-danger" : "border-border-strong", className),
|
|
32
32
|
...rest
|
|
33
33
|
});
|
|
34
34
|
};
|
|
@@ -15,7 +15,7 @@ const ActionRail = ({ actions }) => /* @__PURE__ */ jsxs("div", {
|
|
|
15
15
|
className: cn("size-4 shrink-0 md:mt-0.5", tone === "danger" ? "text-danger-text" : "text-muted-foreground"),
|
|
16
16
|
"aria-hidden": true
|
|
17
17
|
}), /* @__PURE__ */ jsxs("span", { children: [/* @__PURE__ */ jsx("span", {
|
|
18
|
-
className: cn("block
|
|
18
|
+
className: cn("block font-medium", tone === "danger" ? "text-danger-text" : "text-foreground"),
|
|
19
19
|
children: name
|
|
20
20
|
}), description && /* @__PURE__ */ jsx("span", {
|
|
21
21
|
className: "mt-0.5 hidden text-xs leading-snug text-muted-foreground md:block",
|
|
@@ -9,7 +9,7 @@ const Field = ({ label, required, help, example, error, conflict, wide, children
|
|
|
9
9
|
/* @__PURE__ */ jsxs("div", {
|
|
10
10
|
className: "mb-1.5 flex items-center gap-2",
|
|
11
11
|
children: [/* @__PURE__ */ jsxs("label", {
|
|
12
|
-
className: "
|
|
12
|
+
className: "font-medium text-foreground",
|
|
13
13
|
children: [label, required && /* @__PURE__ */ jsx("span", {
|
|
14
14
|
className: "ml-0.5 text-danger-text",
|
|
15
15
|
"aria-label": "required",
|
|
@@ -6,7 +6,7 @@ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
|
6
6
|
* screen.
|
|
7
7
|
*/
|
|
8
8
|
const KeyFacts = ({ facts }) => /* @__PURE__ */ jsx("dl", {
|
|
9
|
-
className: "grid grid-cols-2 gap-x-4 gap-y-5
|
|
9
|
+
className: "grid grid-cols-2 gap-x-4 gap-y-5 sm:flex sm:flex-wrap sm:gap-x-10",
|
|
10
10
|
children: facts.map(({ label, value, icon: Icon }) => /* @__PURE__ */ jsxs("div", {
|
|
11
11
|
title: label,
|
|
12
12
|
className: "flex min-w-0 flex-col gap-1.5",
|
|
@@ -20,7 +20,7 @@ const KeyFacts = ({ facts }) => /* @__PURE__ */ jsx("dl", {
|
|
|
20
20
|
children: label
|
|
21
21
|
})] }) : label
|
|
22
22
|
}), /* @__PURE__ */ jsx("dd", {
|
|
23
|
-
className: "min-w-0 break-words text-[
|
|
23
|
+
className: "min-w-0 break-words text-[16px] font-semibold text-foreground",
|
|
24
24
|
children: value
|
|
25
25
|
})]
|
|
26
26
|
}, label))
|
|
@@ -2,7 +2,7 @@ import { ChevronRight } from "lucide-react";
|
|
|
2
2
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
3
|
//#region src/record-view/record-sidebar.tsx
|
|
4
4
|
const MetadataList = ({ rows }) => /* @__PURE__ */ jsx("dl", {
|
|
5
|
-
className: "grid grid-cols-[auto_1fr] gap-x-4 gap-y-2
|
|
5
|
+
className: "grid grid-cols-[auto_1fr] gap-x-4 gap-y-2",
|
|
6
6
|
children: rows.map((row) => /* @__PURE__ */ jsxs("div", {
|
|
7
7
|
className: "contents",
|
|
8
8
|
children: [/* @__PURE__ */ jsx("dt", {
|
|
@@ -31,7 +31,7 @@ const RelatedRecords = ({ records, onNavigate }) => /* @__PURE__ */ jsx("ul", {
|
|
|
31
31
|
children: record.kind
|
|
32
32
|
}),
|
|
33
33
|
/* @__PURE__ */ jsx("span", {
|
|
34
|
-
className: "block truncate
|
|
34
|
+
className: "block truncate font-medium text-primary-text",
|
|
35
35
|
children: record.label
|
|
36
36
|
}),
|
|
37
37
|
record.meta && /* @__PURE__ */ jsx("span", {
|
|
@@ -3,7 +3,7 @@ import { jsx, jsxs } from "react/jsx-runtime";
|
|
|
3
3
|
/** A titled part of the record page; `actions` sit at the end of the title's line. */
|
|
4
4
|
const Section = ({ title, help, actions, children }) => {
|
|
5
5
|
const heading = /* @__PURE__ */ jsx("h2", {
|
|
6
|
-
className: "text-[
|
|
6
|
+
className: "text-[16px] font-semibold text-foreground",
|
|
7
7
|
children: title
|
|
8
8
|
});
|
|
9
9
|
return /* @__PURE__ */ jsxs("section", {
|
|
@@ -14,7 +14,7 @@ const Section = ({ title, help, actions, children }) => {
|
|
|
14
14
|
children: [heading, actions]
|
|
15
15
|
}) : heading,
|
|
16
16
|
help && /* @__PURE__ */ jsx("p", {
|
|
17
|
-
className: "mt-1 max-w-xl
|
|
17
|
+
className: "mt-1 max-w-xl leading-6 text-muted-foreground",
|
|
18
18
|
children: help
|
|
19
19
|
}),
|
|
20
20
|
/* @__PURE__ */ jsx("div", {
|
|
@@ -6,7 +6,7 @@ import { jsx, jsxs } from "react/jsx-runtime";
|
|
|
6
6
|
* site: what a record page's section shows on its read view. A wide row puts its value under the label.
|
|
7
7
|
*/
|
|
8
8
|
const SpecTable = ({ rows }) => /* @__PURE__ */ jsx("dl", {
|
|
9
|
-
className: "border-t border-border
|
|
9
|
+
className: "border-t border-border",
|
|
10
10
|
children: rows.map((row) => /* @__PURE__ */ jsxs("div", {
|
|
11
11
|
className: cn("grid gap-x-4 border-b border-border py-2.5", row.wide ? "grid-cols-1 gap-y-1.5" : "grid-cols-[minmax(0,2fr)_minmax(0,3fr)]"),
|
|
12
12
|
children: [/* @__PURE__ */ jsxs("dt", {
|