@bison-lab/admin-ui 3.20.0 → 3.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -49,5 +49,37 @@ declare function TypeCard({
49
49
  disabled?: boolean;
50
50
  }): react_jsx_runtime0.JSX.Element;
51
51
  //#endregion
52
- export { ConfirmDialog, LinkGlyph, MegaGlyph, TypeCard, TypeCards };
52
+ //#region src/workspace.d.ts
53
+ /**
54
+ * Presentational workspace chrome. Surfaces come from the adapter CSS
55
+ * (Payload theme tokens). Field adapters own form writes.
56
+ */
57
+ declare function MainHead({
58
+ kicker,
59
+ title,
60
+ description,
61
+ children
62
+ }: {
63
+ kicker?: ReactNode;
64
+ title: ReactNode;
65
+ description?: ReactNode;
66
+ children?: ReactNode;
67
+ }): react_jsx_runtime0.JSX.Element;
68
+ declare function ItemRail({
69
+ children
70
+ }: {
71
+ children: ReactNode;
72
+ }): react_jsx_runtime0.JSX.Element;
73
+ declare function RailSlot({
74
+ children
75
+ }: {
76
+ children: ReactNode;
77
+ }): react_jsx_runtime0.JSX.Element;
78
+ declare function Canvas({
79
+ children
80
+ }: {
81
+ children: ReactNode;
82
+ }): react_jsx_runtime0.JSX.Element;
83
+ //#endregion
84
+ export { Canvas, ConfirmDialog, ItemRail, LinkGlyph, MainHead, MegaGlyph, RailSlot, TypeCard, TypeCards };
53
85
  //# sourceMappingURL=index.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../src/confirm-dialog.tsx","../src/glyphs.tsx","../src/type-cards.tsx"],"mappings":";;;;;iBAIgB,aAAA,CAAA;EACd,IAAA;EACA,KAAA;EACA,QAAA;EACA,WAAA;EACA,YAAA;EACA,QAAA;EACA;AAAA;EAEA,IAAA;EACA,KAAA;EACA,QAAA,EAAU,SAAA;EACV,WAAA;EACA,YAAA;EACA,QAAA;EACA,SAAA;AAAA,IACD,kBAAA,CAAA,GAAA,CAAA,OAAA;;;iBCpBe,SAAA,CAAA,GAAS,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAST,SAAA,CAAA,GAAS,kBAAA,CAAA,GAAA,CAAA,OAAA;;;iBCLT,SAAA,CAAA;EACd,OAAA;EACA;AAAA;EAEA,OAAA;EACA,QAAA,EAAU,SAAA;AAAA,IACX,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBASe,QAAA,CAAA;EACd,IAAA;EACA,KAAA;EACA,WAAA;EACA,OAAA;EACA,MAAA;EACA;AAAA;EAEA,IAAA,GAAO,SAAA;EACP,KAAA;EACA,WAAA;EACA,OAAA;EACA,MAAA;EACA,QAAA;AAAA,IACD,kBAAA,CAAA,GAAA,CAAA,OAAA"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../src/confirm-dialog.tsx","../src/glyphs.tsx","../src/type-cards.tsx","../src/workspace.tsx"],"mappings":";;;;;iBAIgB,aAAA,CAAA;EACd,IAAA;EACA,KAAA;EACA,QAAA;EACA,WAAA;EACA,YAAA;EACA,QAAA;EACA;AAAA;EAEA,IAAA;EACA,KAAA;EACA,QAAA,EAAU,SAAA;EACV,WAAA;EACA,YAAA;EACA,QAAA;EACA,SAAA;AAAA,IACD,kBAAA,CAAA,GAAA,CAAA,OAAA;;;iBCpBe,SAAA,CAAA,GAAS,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAST,SAAA,CAAA,GAAS,kBAAA,CAAA,GAAA,CAAA,OAAA;;;iBCLT,SAAA,CAAA;EACd,OAAA;EACA;AAAA;EAEA,OAAA;EACA,QAAA,EAAU,SAAA;AAAA,IACX,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBASe,QAAA,CAAA;EACd,IAAA;EACA,KAAA;EACA,WAAA;EACA,OAAA;EACA,MAAA;EACA;AAAA;EAEA,IAAA,GAAO,SAAA;EACP,KAAA;EACA,WAAA;EACA,OAAA;EACA,MAAA;EACA,QAAA;AAAA,IACD,kBAAA,CAAA,GAAA,CAAA,OAAA;;;;;;AF7BD;iBGEgB,QAAA,CAAA;EACd,MAAA;EACA,KAAA;EACA,WAAA;EACA;AAAA;EAEA,MAAA,GAAS,SAAA;EACT,KAAA,EAAO,SAAA;EACP,WAAA,GAAc,SAAA;EACd,QAAA,GAAW,SAAA;AAAA,IACZ,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAae,QAAA,CAAA;EAAW;AAAA;EAAc,QAAA,EAAU,SAAA;AAAA,IAAW,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAI9C,QAAA,CAAA;EAAW;AAAA;EAAc,QAAA,EAAU,SAAA;AAAA,IAAW,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAI9C,MAAA,CAAA;EAAS;AAAA;EAAc,QAAA,EAAU,SAAA;AAAA,IAAW,kBAAA,CAAA,GAAA,CAAA,OAAA"}
package/dist/index.mjs CHANGED
@@ -2,12 +2,15 @@
2
2
  import { jsx, jsxs } from "react/jsx-runtime";
3
3
  //#region src/styles.tsx
4
4
  const CSS = `
5
- .bl-nav-kit__types{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
6
- .bl-nav-kit__types--compact{margin:.5rem 0}
7
- .bl-nav-kit__type{border:1px solid var(--theme-elevation-150);background:var(--theme-elevation-50);border-radius:8px;padding:.75rem;text-align:left;color:inherit;cursor:pointer;font:inherit}
8
- .bl-nav-kit__type small{display:block;margin-top:.3rem;color:var(--theme-elevation-500);font-weight:400}
9
- .bl-nav-kit__type-icon{display:grid;place-items:center;width:2rem;height:2rem;border-radius:7px;background:var(--theme-elevation-100);margin-bottom:.5rem}
10
- .bl-nav-kit__type.is-active{border-color:var(--brand-primary,var(--theme-success-500));background:color-mix(in srgb,var(--brand-primary,var(--theme-success-500)) 12%,transparent)}
5
+ .bl-nav-kit__types{display:grid;grid-template-columns:1fr 1fr;gap:12px}
6
+ .bl-nav-kit__types--compact{margin:0 0 10px;gap:6px}
7
+ .bl-nav-kit__type{border:1px solid var(--line2,#444854);background:#1b1d22;border-radius:10px;padding:16px;text-align:left;color:inherit;cursor:pointer;font:inherit}
8
+ .bl-nav-kit__types--compact .bl-nav-kit__type{display:flex;align-items:center;justify-content:center;gap:8px;border-radius:7px;padding:8px 6px;font-size:12px;background:#15171b}
9
+ .bl-nav-kit__type small{display:block;margin-top:.3rem;color:var(--muted,var(--theme-elevation-500));font-weight:400}
10
+ .bl-nav-kit__type-icon{display:grid;place-items:center;width:2rem;height:2rem;border-radius:7px;background:#292c33;margin-bottom:.5rem}
11
+ .bl-nav-kit__types--compact .bl-nav-kit__type-icon{margin-bottom:0;width:1.25rem;height:1.25rem;background:transparent}
12
+ .bl-nav-kit__type:hover{border-color:var(--pink,#e60088)}
13
+ .bl-nav-kit__type.is-active,.bl-nav-kit__types--compact .bl-nav-kit__type.is-active{border-color:var(--pink,#e60088);background:#261722}
11
14
  .bl-nav-kit__modal{position:fixed;inset:0;z-index:30;display:grid;place-items:center;background:var(--theme-overlay)}
12
15
  .bl-nav-kit__modal-card{width:min(36rem,calc(100vw - 2rem));background:var(--theme-elevation-0);border:1px solid var(--theme-elevation-150);border-radius:12px;padding:1.25rem}
13
16
  .bl-nav-kit__modal-card h2{margin:0 0 .75rem}
@@ -121,6 +124,43 @@ function TypeCard({ icon, label, description, onClick, active, disabled }) {
121
124
  });
122
125
  }
123
126
  //#endregion
124
- export { ConfirmDialog, LinkGlyph, MegaGlyph, TypeCard, TypeCards };
127
+ //#region src/workspace.tsx
128
+ /**
129
+ * Presentational workspace chrome. Surfaces come from the adapter CSS
130
+ * (Payload theme tokens). Field adapters own form writes.
131
+ */
132
+ function MainHead({ kicker, title, description, children }) {
133
+ return /* @__PURE__ */ jsxs("header", {
134
+ className: "bl-workspace__main-head",
135
+ children: [/* @__PURE__ */ jsxs("div", { children: [
136
+ kicker ? /* @__PURE__ */ jsx("p", {
137
+ className: "bl-workspace__kicker",
138
+ children: kicker
139
+ }) : null,
140
+ /* @__PURE__ */ jsx("h1", { children: title }),
141
+ description ? /* @__PURE__ */ jsx("p", { children: description }) : null
142
+ ] }), children]
143
+ });
144
+ }
145
+ function ItemRail({ children }) {
146
+ return /* @__PURE__ */ jsx("aside", {
147
+ className: "bl-workspace__rail",
148
+ children
149
+ });
150
+ }
151
+ function RailSlot({ children }) {
152
+ return /* @__PURE__ */ jsx("div", {
153
+ className: "bl-workspace__rail-slot",
154
+ children
155
+ });
156
+ }
157
+ function Canvas({ children }) {
158
+ return /* @__PURE__ */ jsx("div", {
159
+ className: "bl-workspace__canvas",
160
+ children
161
+ });
162
+ }
163
+ //#endregion
164
+ export { Canvas, ConfirmDialog, ItemRail, LinkGlyph, MainHead, MegaGlyph, RailSlot, TypeCard, TypeCards };
125
165
 
126
166
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../src/styles.tsx","../src/confirm-dialog.tsx","../src/glyphs.tsx","../src/type-cards.tsx"],"sourcesContent":["const CSS = `\n.bl-nav-kit__types{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}\n.bl-nav-kit__types--compact{margin:.5rem 0}\n.bl-nav-kit__type{border:1px solid var(--theme-elevation-150);background:var(--theme-elevation-50);border-radius:8px;padding:.75rem;text-align:left;color:inherit;cursor:pointer;font:inherit}\n.bl-nav-kit__type small{display:block;margin-top:.3rem;color:var(--theme-elevation-500);font-weight:400}\n.bl-nav-kit__type-icon{display:grid;place-items:center;width:2rem;height:2rem;border-radius:7px;background:var(--theme-elevation-100);margin-bottom:.5rem}\n.bl-nav-kit__type.is-active{border-color:var(--brand-primary,var(--theme-success-500));background:color-mix(in srgb,var(--brand-primary,var(--theme-success-500)) 12%,transparent)}\n.bl-nav-kit__modal{position:fixed;inset:0;z-index:30;display:grid;place-items:center;background:var(--theme-overlay)}\n.bl-nav-kit__modal-card{width:min(36rem,calc(100vw - 2rem));background:var(--theme-elevation-0);border:1px solid var(--theme-elevation-150);border-radius:12px;padding:1.25rem}\n.bl-nav-kit__modal-card h2{margin:0 0 .75rem}\n.bl-nav-kit__modal-card p{margin:0}\n.bl-nav-kit__modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}\n.bl-nav-kit__danger{color:var(--theme-error-500)}\n`;\n\nexport function KitStyles() {\n return (\n <style href=\"bl-admin-ui\" precedence=\"default\">\n {CSS}\n </style>\n );\n}\n","import type { ReactNode } from \"react\";\n\nimport { KitStyles } from \"./styles\";\n\nexport function ConfirmDialog({\n open,\n title,\n children,\n cancelLabel,\n confirmLabel,\n onCancel,\n onConfirm,\n}: {\n open: boolean;\n title: string;\n children: ReactNode;\n cancelLabel: string;\n confirmLabel: string;\n onCancel: () => void;\n onConfirm: () => void;\n}) {\n if (!open) return null;\n return (\n <div className=\"bl-nav-kit__modal\" role=\"dialog\" aria-labelledby=\"bl-admin-confirm-title\">\n <KitStyles />\n <div className=\"bl-nav-kit__modal-card\">\n <h2 id=\"bl-admin-confirm-title\">{title}</h2>\n <p>{children}</p>\n <div className=\"bl-nav-kit__modal-actions\">\n <button type=\"button\" onClick={onCancel}>\n {cancelLabel}\n </button>\n <button type=\"button\" className=\"bl-nav-kit__danger\" onClick={onConfirm}>\n {confirmLabel}\n </button>\n </div>\n </div>\n </div>\n );\n}\n","export function LinkGlyph() {\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\" />\n <path d=\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\" />\n </svg>\n );\n}\n\nexport function MegaGlyph() {\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <rect width=\"18\" height=\"18\" x=\"3\" y=\"3\" rx=\"2\" />\n <path d=\"M9 3v18\" />\n <path d=\"M15 3v18\" />\n </svg>\n );\n}\n","import type { ReactNode } from \"react\";\n\nimport { KitStyles } from \"./styles\";\n\nexport function TypeCards({\n compact,\n children,\n}: {\n compact?: boolean;\n children: ReactNode;\n}) {\n return (\n <div className={compact ? \"bl-nav-kit__types bl-nav-kit__types--compact\" : \"bl-nav-kit__types\"}>\n <KitStyles />\n {children}\n </div>\n );\n}\n\nexport function TypeCard({\n icon,\n label,\n description,\n onClick,\n active,\n disabled,\n}: {\n icon?: ReactNode;\n label: string;\n description?: string;\n onClick: () => void;\n active?: boolean;\n disabled?: boolean;\n}) {\n return (\n <button\n type=\"button\"\n className={active ? \"bl-nav-kit__type is-active\" : \"bl-nav-kit__type\"}\n disabled={disabled}\n onClick={onClick}\n >\n {icon ? (\n <span className=\"bl-nav-kit__type-icon\" aria-hidden>\n {icon}\n </span>\n ) : null}\n {label}\n {description ? <small>{description}</small> : null}\n </button>\n );\n}\n"],"mappings":";;;AAAA,MAAM,MAAM;;;;;;;;;;;;;;AAeZ,SAAgB,YAAY;AAC1B,QACE,oBAAC,SAAD;EAAO,MAAK;EAAc,YAAW;YAClC;EACK,CAAA;;;;ACfZ,SAAgB,cAAc,EAC5B,MACA,OACA,UACA,aACA,cACA,UACA,aASC;AACD,KAAI,CAAC,KAAM,QAAO;AAClB,QACE,qBAAC,OAAD;EAAK,WAAU;EAAoB,MAAK;EAAS,mBAAgB;YAAjE,CACE,oBAAC,WAAD,EAAa,CAAA,EACb,qBAAC,OAAD;GAAK,WAAU;aAAf;IACE,oBAAC,MAAD;KAAI,IAAG;eAA0B;KAAW,CAAA;IAC5C,oBAAC,KAAD,EAAI,UAAa,CAAA;IACjB,qBAAC,OAAD;KAAK,WAAU;eAAf,CACE,oBAAC,UAAD;MAAQ,MAAK;MAAS,SAAS;gBAC5B;MACM,CAAA,EACT,oBAAC,UAAD;MAAQ,MAAK;MAAS,WAAU;MAAqB,SAAS;gBAC3D;MACM,CAAA,CACL;;IACF;KACF;;;;;ACrCV,SAAgB,YAAY;AAC1B,QACE,qBAAC,OAAD;EAAK,OAAM;EAA6B,OAAM;EAAK,QAAO;EAAK,SAAQ;EAAY,MAAK;EAAO,QAAO;EAAe,aAAY;EAAI,eAAc;EAAQ,gBAAe;YAA1K,CACE,oBAAC,QAAD,EAAM,GAAE,+DAAgE,CAAA,EACxE,oBAAC,QAAD,EAAM,GAAE,gEAAiE,CAAA,CACrE;;;AAIV,SAAgB,YAAY;AAC1B,QACE,qBAAC,OAAD;EAAK,OAAM;EAA6B,OAAM;EAAK,QAAO;EAAK,SAAQ;EAAY,MAAK;EAAO,QAAO;EAAe,aAAY;EAAI,eAAc;EAAQ,gBAAe;YAA1K;GACE,oBAAC,QAAD;IAAM,OAAM;IAAK,QAAO;IAAK,GAAE;IAAI,GAAE;IAAI,IAAG;IAAM,CAAA;GAClD,oBAAC,QAAD,EAAM,GAAE,WAAY,CAAA;GACpB,oBAAC,QAAD,EAAM,GAAE,YAAa,CAAA;GACjB;;;;;ACXV,SAAgB,UAAU,EACxB,SACA,YAIC;AACD,QACE,qBAAC,OAAD;EAAK,WAAW,UAAU,iDAAiD;YAA3E,CACE,oBAAC,WAAD,EAAa,CAAA,EACZ,SACG;;;AAIV,SAAgB,SAAS,EACvB,MACA,OACA,aACA,SACA,QACA,YAQC;AACD,QACE,qBAAC,UAAD;EACE,MAAK;EACL,WAAW,SAAS,+BAA+B;EACzC;EACD;YAJX;GAMG,OACC,oBAAC,QAAD;IAAM,WAAU;IAAwB,eAAA;cACrC;IACI,CAAA,GACL;GACH;GACA,cAAc,oBAAC,SAAD,EAAA,UAAQ,aAAoB,CAAA,GAAG;GACvC"}
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../src/styles.tsx","../src/confirm-dialog.tsx","../src/glyphs.tsx","../src/type-cards.tsx","../src/workspace.tsx"],"sourcesContent":["const CSS = `\n.bl-nav-kit__types{display:grid;grid-template-columns:1fr 1fr;gap:12px}\n.bl-nav-kit__types--compact{margin:0 0 10px;gap:6px}\n.bl-nav-kit__type{border:1px solid var(--line2,#444854);background:#1b1d22;border-radius:10px;padding:16px;text-align:left;color:inherit;cursor:pointer;font:inherit}\n.bl-nav-kit__types--compact .bl-nav-kit__type{display:flex;align-items:center;justify-content:center;gap:8px;border-radius:7px;padding:8px 6px;font-size:12px;background:#15171b}\n.bl-nav-kit__type small{display:block;margin-top:.3rem;color:var(--muted,var(--theme-elevation-500));font-weight:400}\n.bl-nav-kit__type-icon{display:grid;place-items:center;width:2rem;height:2rem;border-radius:7px;background:#292c33;margin-bottom:.5rem}\n.bl-nav-kit__types--compact .bl-nav-kit__type-icon{margin-bottom:0;width:1.25rem;height:1.25rem;background:transparent}\n.bl-nav-kit__type:hover{border-color:var(--pink,#e60088)}\n.bl-nav-kit__type.is-active,.bl-nav-kit__types--compact .bl-nav-kit__type.is-active{border-color:var(--pink,#e60088);background:#261722}\n.bl-nav-kit__modal{position:fixed;inset:0;z-index:30;display:grid;place-items:center;background:var(--theme-overlay)}\n.bl-nav-kit__modal-card{width:min(36rem,calc(100vw - 2rem));background:var(--theme-elevation-0);border:1px solid var(--theme-elevation-150);border-radius:12px;padding:1.25rem}\n.bl-nav-kit__modal-card h2{margin:0 0 .75rem}\n.bl-nav-kit__modal-card p{margin:0}\n.bl-nav-kit__modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}\n.bl-nav-kit__danger{color:var(--theme-error-500)}\n`;\n\nexport function KitStyles() {\n return (\n <style href=\"bl-admin-ui\" precedence=\"default\">\n {CSS}\n </style>\n );\n}\n","import type { ReactNode } from \"react\";\n\nimport { KitStyles } from \"./styles\";\n\nexport function ConfirmDialog({\n open,\n title,\n children,\n cancelLabel,\n confirmLabel,\n onCancel,\n onConfirm,\n}: {\n open: boolean;\n title: string;\n children: ReactNode;\n cancelLabel: string;\n confirmLabel: string;\n onCancel: () => void;\n onConfirm: () => void;\n}) {\n if (!open) return null;\n return (\n <div className=\"bl-nav-kit__modal\" role=\"dialog\" aria-labelledby=\"bl-admin-confirm-title\">\n <KitStyles />\n <div className=\"bl-nav-kit__modal-card\">\n <h2 id=\"bl-admin-confirm-title\">{title}</h2>\n <p>{children}</p>\n <div className=\"bl-nav-kit__modal-actions\">\n <button type=\"button\" onClick={onCancel}>\n {cancelLabel}\n </button>\n <button type=\"button\" className=\"bl-nav-kit__danger\" onClick={onConfirm}>\n {confirmLabel}\n </button>\n </div>\n </div>\n </div>\n );\n}\n","export function LinkGlyph() {\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\" />\n <path d=\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\" />\n </svg>\n );\n}\n\nexport function MegaGlyph() {\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <rect width=\"18\" height=\"18\" x=\"3\" y=\"3\" rx=\"2\" />\n <path d=\"M9 3v18\" />\n <path d=\"M15 3v18\" />\n </svg>\n );\n}\n","import type { ReactNode } from \"react\";\n\nimport { KitStyles } from \"./styles\";\n\nexport function TypeCards({\n compact,\n children,\n}: {\n compact?: boolean;\n children: ReactNode;\n}) {\n return (\n <div className={compact ? \"bl-nav-kit__types bl-nav-kit__types--compact\" : \"bl-nav-kit__types\"}>\n <KitStyles />\n {children}\n </div>\n );\n}\n\nexport function TypeCard({\n icon,\n label,\n description,\n onClick,\n active,\n disabled,\n}: {\n icon?: ReactNode;\n label: string;\n description?: string;\n onClick: () => void;\n active?: boolean;\n disabled?: boolean;\n}) {\n return (\n <button\n type=\"button\"\n className={active ? \"bl-nav-kit__type is-active\" : \"bl-nav-kit__type\"}\n disabled={disabled}\n onClick={onClick}\n >\n {icon ? (\n <span className=\"bl-nav-kit__type-icon\" aria-hidden>\n {icon}\n </span>\n ) : null}\n {label}\n {description ? <small>{description}</small> : null}\n </button>\n );\n}\n","import type { ReactNode } from \"react\";\n\n/**\n * Presentational workspace chrome. Surfaces come from the adapter CSS\n * (Payload theme tokens). Field adapters own form writes.\n */\nexport function MainHead({\n kicker,\n title,\n description,\n children,\n}: {\n kicker?: ReactNode;\n title: ReactNode;\n description?: ReactNode;\n children?: ReactNode;\n}) {\n return (\n <header className=\"bl-workspace__main-head\">\n <div>\n {kicker ? <p className=\"bl-workspace__kicker\">{kicker}</p> : null}\n <h1>{title}</h1>\n {description ? <p>{description}</p> : null}\n </div>\n {children}\n </header>\n );\n}\n\nexport function ItemRail({ children }: { children: ReactNode }) {\n return <aside className=\"bl-workspace__rail\">{children}</aside>;\n}\n\nexport function RailSlot({ children }: { children: ReactNode }) {\n return <div className=\"bl-workspace__rail-slot\">{children}</div>;\n}\n\nexport function Canvas({ children }: { children: ReactNode }) {\n return <div className=\"bl-workspace__canvas\">{children}</div>;\n}\n"],"mappings":";;;AAAA,MAAM,MAAM;;;;;;;;;;;;;;;;;AAkBZ,SAAgB,YAAY;AAC1B,QACE,oBAAC,SAAD;EAAO,MAAK;EAAc,YAAW;YAClC;EACK,CAAA;;;;AClBZ,SAAgB,cAAc,EAC5B,MACA,OACA,UACA,aACA,cACA,UACA,aASC;AACD,KAAI,CAAC,KAAM,QAAO;AAClB,QACE,qBAAC,OAAD;EAAK,WAAU;EAAoB,MAAK;EAAS,mBAAgB;YAAjE,CACE,oBAAC,WAAD,EAAa,CAAA,EACb,qBAAC,OAAD;GAAK,WAAU;aAAf;IACE,oBAAC,MAAD;KAAI,IAAG;eAA0B;KAAW,CAAA;IAC5C,oBAAC,KAAD,EAAI,UAAa,CAAA;IACjB,qBAAC,OAAD;KAAK,WAAU;eAAf,CACE,oBAAC,UAAD;MAAQ,MAAK;MAAS,SAAS;gBAC5B;MACM,CAAA,EACT,oBAAC,UAAD;MAAQ,MAAK;MAAS,WAAU;MAAqB,SAAS;gBAC3D;MACM,CAAA,CACL;;IACF;KACF;;;;;ACrCV,SAAgB,YAAY;AAC1B,QACE,qBAAC,OAAD;EAAK,OAAM;EAA6B,OAAM;EAAK,QAAO;EAAK,SAAQ;EAAY,MAAK;EAAO,QAAO;EAAe,aAAY;EAAI,eAAc;EAAQ,gBAAe;YAA1K,CACE,oBAAC,QAAD,EAAM,GAAE,+DAAgE,CAAA,EACxE,oBAAC,QAAD,EAAM,GAAE,gEAAiE,CAAA,CACrE;;;AAIV,SAAgB,YAAY;AAC1B,QACE,qBAAC,OAAD;EAAK,OAAM;EAA6B,OAAM;EAAK,QAAO;EAAK,SAAQ;EAAY,MAAK;EAAO,QAAO;EAAe,aAAY;EAAI,eAAc;EAAQ,gBAAe;YAA1K;GACE,oBAAC,QAAD;IAAM,OAAM;IAAK,QAAO;IAAK,GAAE;IAAI,GAAE;IAAI,IAAG;IAAM,CAAA;GAClD,oBAAC,QAAD,EAAM,GAAE,WAAY,CAAA;GACpB,oBAAC,QAAD,EAAM,GAAE,YAAa,CAAA;GACjB;;;;;ACXV,SAAgB,UAAU,EACxB,SACA,YAIC;AACD,QACE,qBAAC,OAAD;EAAK,WAAW,UAAU,iDAAiD;YAA3E,CACE,oBAAC,WAAD,EAAa,CAAA,EACZ,SACG;;;AAIV,SAAgB,SAAS,EACvB,MACA,OACA,aACA,SACA,QACA,YAQC;AACD,QACE,qBAAC,UAAD;EACE,MAAK;EACL,WAAW,SAAS,+BAA+B;EACzC;EACD;YAJX;GAMG,OACC,oBAAC,QAAD;IAAM,WAAU;IAAwB,eAAA;cACrC;IACI,CAAA,GACL;GACH;GACA,cAAc,oBAAC,SAAD,EAAA,UAAQ,aAAoB,CAAA,GAAG;GACvC;;;;;;;;;AC1Cb,SAAgB,SAAS,EACvB,QACA,OACA,aACA,YAMC;AACD,QACE,qBAAC,UAAD;EAAQ,WAAU;YAAlB,CACE,qBAAC,OAAD,EAAA,UAAA;GACG,SAAS,oBAAC,KAAD;IAAG,WAAU;cAAwB;IAAW,CAAA,GAAG;GAC7D,oBAAC,MAAD,EAAA,UAAK,OAAW,CAAA;GACf,cAAc,oBAAC,KAAD,EAAA,UAAI,aAAgB,CAAA,GAAG;GAClC,EAAA,CAAA,EACL,SACM;;;AAIb,SAAgB,SAAS,EAAE,YAAqC;AAC9D,QAAO,oBAAC,SAAD;EAAO,WAAU;EAAsB;EAAiB,CAAA;;AAGjE,SAAgB,SAAS,EAAE,YAAqC;AAC9D,QAAO,oBAAC,OAAD;EAAK,WAAU;EAA2B;EAAe,CAAA;;AAGlE,SAAgB,OAAO,EAAE,YAAqC;AAC5D,QAAO,oBAAC,OAAD;EAAK,WAAU;EAAwB;EAAe,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bison-lab/admin-ui",
3
- "version": "3.20.0",
3
+ "version": "3.22.0",
4
4
  "description": "Payload-free admin kit primitives for Bison Lab CMS fields",
5
5
  "homepage": "https://components.bisonlab.ai",
6
6
  "repository": {