@kerfjs/ui 5.0.0-beta.22 → 5.0.0-beta.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -3
- package/ai/compile-time-contracts-v1.json +2 -1
- package/ai/component-catalog-v2-overrides.json +5 -12
- package/ai/component-catalog-v2.json +266 -32
- package/ai/component-catalog.json +293 -37
- package/ai/component-catalog.schema.json +1 -0
- package/ai/public-api-signatures-v1.md +29 -16
- package/ai/skill.md +4 -4
- package/ai/webawesome-jsx-signatures-v1.md +1 -1
- package/analyzer/index.mjs +2 -8
- package/dist/app-tab.js +1 -1
- package/dist/browser/list.js +3 -0
- package/dist/catalog.d.ts +8 -4
- package/dist/catalog.js +19 -10
- package/dist/catalog.js.map +1 -1
- package/dist/{chunk-RYRIFZCT.js → chunk-7XRDUG4Y.js} +5 -5
- package/dist/{chunk-RYRIFZCT.js.map → chunk-7XRDUG4Y.js.map} +1 -1
- package/dist/{chunk-OHU6CI22.js → chunk-B3A3IVO5.js} +2 -2
- package/dist/{chunk-OHU6CI22.js.map → chunk-B3A3IVO5.js.map} +1 -1
- package/dist/{chunk-ELSJX4W7.js → chunk-FEAMR7S4.js} +2 -2
- package/dist/{chunk-ELSJX4W7.js.map → chunk-FEAMR7S4.js.map} +1 -1
- package/dist/{chunk-OZWU5ZPZ.js → chunk-IJBSZ4NX.js} +2 -2
- package/dist/{chunk-OZWU5ZPZ.js.map → chunk-IJBSZ4NX.js.map} +1 -1
- package/dist/chunk-J5BFYY7Q.js +35 -0
- package/dist/chunk-J5BFYY7Q.js.map +1 -0
- package/dist/{chunk-QQFJMRIB.js → chunk-KWWR5VMS.js} +2 -2
- package/dist/{chunk-QQFJMRIB.js.map → chunk-KWWR5VMS.js.map} +1 -1
- package/dist/{chunk-K57KRAOV.js → chunk-NWSEP5RT.js} +2 -2
- package/dist/{chunk-K57KRAOV.js.map → chunk-NWSEP5RT.js.map} +1 -1
- package/dist/{chunk-GP5DP5DL.js → chunk-OJWWHFH3.js} +39 -4
- package/dist/chunk-OJWWHFH3.js.map +1 -0
- package/dist/{chunk-DSNIYOZ3.js → chunk-PSKN344N.js} +2 -2
- package/dist/{chunk-DSNIYOZ3.js.map → chunk-PSKN344N.js.map} +1 -1
- package/dist/{chunk-W7YD6E4N.js → chunk-R7ZWUN64.js} +2 -2
- package/dist/{chunk-W7YD6E4N.js.map → chunk-R7ZWUN64.js.map} +1 -1
- package/dist/{chunk-PZQVSDLH.js → chunk-RKVQEH4J.js} +1 -1
- package/dist/chunk-RKVQEH4J.js.map +1 -0
- package/dist/{chunk-7L6EHUMV.js → chunk-SYDMYBPG.js} +3 -3
- package/dist/chunk-SYDMYBPG.js.map +1 -0
- package/dist/{chunk-W4CXQYSG.js → chunk-TB6DY7H5.js} +3 -1
- package/dist/chunk-TB6DY7H5.js.map +1 -0
- package/dist/{chunk-BBRXX6PF.js → chunk-UFZKLBCF.js} +2 -2
- package/dist/{chunk-BBRXX6PF.js.map → chunk-UFZKLBCF.js.map} +1 -1
- package/dist/{chunk-AASLYRGE.js → chunk-UKKSMZYT.js} +18 -7
- package/dist/chunk-UKKSMZYT.js.map +1 -0
- package/dist/{chunk-VLYV65LK.js → chunk-W5L2JSBY.js} +5 -3
- package/dist/chunk-W5L2JSBY.js.map +1 -0
- package/dist/{chunk-PIDTEQ3U.js → chunk-Y45PPBDV.js} +2 -2
- package/dist/{chunk-PIDTEQ3U.js.map → chunk-Y45PPBDV.js.map} +1 -1
- package/dist/divider-sides-267FA7sY.d.ts +4 -0
- package/dist/index.d.ts +3 -1
- package/dist/index.js +16 -15
- package/dist/list-action-row.js +1 -1
- package/dist/list-header.js +1 -1
- package/dist/list-item.js +1 -1
- package/dist/list.d.ts +19 -0
- package/dist/list.js +3 -0
- package/dist/list.js.map +1 -0
- package/dist/nav-stack.js +1 -1
- package/dist/panel-header.js +1 -1
- package/dist/segmented-control.js +1 -1
- package/dist/select.js +1 -1
- package/dist/skeleton.d.ts +1 -1
- package/dist/skeleton.js +1 -1
- package/dist/split-view.js +1 -1
- package/dist/state-banner.d.ts +4 -2
- package/dist/state-banner.js +1 -1
- package/dist/styles/catalog.css +8 -2
- package/dist/styles/list-item.css +6 -6
- package/dist/styles/list.css +43 -0
- package/dist/styles/state-banner.css +32 -1
- package/dist/styles/styles.css +1 -0
- package/dist/styles/sunken-panel.css +4 -0
- package/dist/styles/toolbar.css +38 -2
- package/dist/sunken-panel.d.ts +5 -2
- package/dist/sunken-panel.js +1 -1
- package/dist/toolbar-text.js +1 -1
- package/dist/toolbar.d.ts +5 -3
- package/dist/toolbar.js +1 -1
- package/dist/value-table.js +1 -1
- package/dist/wire-catalog.d.ts +4 -2
- package/dist/wire-catalog.js +95 -36
- package/dist/wire-catalog.js.map +1 -1
- package/dist/wire-tab-bars.js +1 -1
- package/dist/wire-token-search-fields.d.ts +1 -1
- package/dist/wire-token-search-fields.js +1 -1
- package/docs/accessibility.md +12 -3
- package/docs/catalog.md +17 -12
- package/docs/component-contract.md +14 -1
- package/docs/component-selection.md +18 -2
- package/docs/design/templates/empty-state/filtered-dark.svg +1 -1
- package/docs/design/templates/empty-state/filtered.svg +1 -1
- package/docs/design/templates/empty-state/with-action-dark.svg +1 -1
- package/docs/design/templates/empty-state/with-action.svg +1 -1
- package/docs/design/templates/empty-state-dark.svg +1 -7
- package/docs/design/templates/empty-state.svg +1 -7
- package/docs/design/templates/list/compact-dark.svg +1 -0
- package/docs/design/templates/list/compact.svg +1 -0
- package/docs/design/templates/list/stack-dark.svg +1 -0
- package/docs/design/templates/list/stack.svg +1 -0
- package/docs/design/templates/list-action-row/default-dark.svg +1 -1
- package/docs/design/templates/list-action-row/default.svg +1 -1
- package/docs/design/templates/list-action-row/selected-dark.svg +1 -1
- package/docs/design/templates/list-action-row/selected.svg +1 -1
- package/docs/design/templates/list-action-row-dark.svg +1 -7
- package/docs/design/templates/list-action-row.svg +1 -7
- package/docs/design/templates/list-dark.svg +1 -0
- package/docs/design/templates/list-header/action-dark.svg +1 -1
- package/docs/design/templates/list-header/action.svg +1 -1
- package/docs/design/templates/list-header/toggle-collapsed-dark.svg +1 -1
- package/docs/design/templates/list-header/toggle-collapsed.svg +1 -1
- package/docs/design/templates/list-header/toggle-expanded-dark.svg +1 -1
- package/docs/design/templates/list-header/toggle-expanded.svg +1 -1
- package/docs/design/templates/list-header-dark.svg +1 -11
- package/docs/design/templates/list-header.svg +1 -11
- package/docs/design/templates/list-item/default-dark.svg +1 -1
- package/docs/design/templates/list-item/default.svg +1 -1
- package/docs/design/templates/list-item/multiline-dark.svg +1 -1
- package/docs/design/templates/list-item/multiline.svg +1 -1
- package/docs/design/templates/list-item/selected-dark.svg +1 -1
- package/docs/design/templates/list-item/selected.svg +1 -1
- package/docs/design/templates/list-item/trailing-dark.svg +1 -1
- package/docs/design/templates/list-item/trailing.svg +1 -1
- package/docs/design/templates/list-item-dark.svg +1 -11
- package/docs/design/templates/list-item.svg +1 -11
- package/docs/design/templates/list.svg +1 -0
- package/docs/design/templates/panel-header/icon-actions-dark.svg +1 -1
- package/docs/design/templates/panel-header/icon-actions.svg +1 -1
- package/docs/design/templates/panel-header/icon-summary-actions-dark.svg +1 -1
- package/docs/design/templates/panel-header/icon-summary-actions.svg +1 -1
- package/docs/design/templates/panel-header-dark.svg +1 -13
- package/docs/design/templates/panel-header.svg +1 -13
- package/docs/design/templates/segmented-control-dark.svg +1 -7
- package/docs/design/templates/segmented-control.svg +1 -7
- package/docs/design/templates/skeleton-dark.svg +1 -9
- package/docs/design/templates/skeleton.svg +1 -9
- package/docs/design/templates/state-banner/danger-dark.svg +1 -1
- package/docs/design/templates/state-banner/danger.svg +1 -1
- package/docs/design/templates/state-banner/info-badge-dark.svg +1 -0
- package/docs/design/templates/state-banner/info-badge.svg +1 -0
- package/docs/design/templates/state-banner/info-dark.svg +1 -1
- package/docs/design/templates/state-banner/info.svg +1 -1
- package/docs/design/templates/state-banner/success-dark.svg +1 -1
- package/docs/design/templates/state-banner/success.svg +1 -1
- package/docs/design/templates/state-banner/warning-dark.svg +1 -1
- package/docs/design/templates/state-banner/warning.svg +1 -1
- package/docs/design/templates/state-banner-dark.svg +1 -11
- package/docs/design/templates/state-banner.svg +1 -11
- package/docs/design/templates/tab-bar/workspace-tabs-dark.svg +1 -1
- package/docs/design/templates/tab-bar/workspace-tabs.svg +1 -1
- package/docs/design/templates/tab-bar-dark.svg +1 -5
- package/docs/design/templates/tab-bar.svg +1 -5
- package/docs/design/templates/token-search-field/empty-dark.svg +1 -1
- package/docs/design/templates/token-search-field/empty.svg +1 -1
- package/docs/design/templates/token-search-field/tokens-dark.svg +1 -1
- package/docs/design/templates/token-search-field/tokens.svg +1 -1
- package/docs/design/templates/token-search-field-dark.svg +1 -7
- package/docs/design/templates/token-search-field.svg +1 -7
- package/docs/design/templates/toolbar/title-and-actions-dark.svg +1 -1
- package/docs/design/templates/toolbar/title-and-actions.svg +1 -1
- package/docs/design/templates/toolbar-control-group/borderless-single-dark.svg +1 -1
- package/docs/design/templates/toolbar-control-group/borderless-single.svg +1 -1
- package/docs/design/templates/toolbar-control-group/icon-buttons-dark.svg +1 -1
- package/docs/design/templates/toolbar-control-group/icon-buttons.svg +1 -1
- package/docs/design/templates/toolbar-control-group/push-buttons-dark.svg +1 -1
- package/docs/design/templates/toolbar-control-group/push-buttons.svg +1 -1
- package/docs/design/templates/toolbar-control-group/with-text-dark.svg +1 -1
- package/docs/design/templates/toolbar-control-group/with-text.svg +1 -1
- package/docs/design/templates/toolbar-control-group-dark.svg +1 -11
- package/docs/design/templates/toolbar-control-group.svg +1 -11
- package/docs/design/templates/toolbar-dark.svg +1 -5
- package/docs/design/templates/toolbar-text-dark.svg +1 -9
- package/docs/design/templates/toolbar-text.svg +1 -9
- package/docs/design/templates/toolbar.svg +1 -5
- package/docs/design/templates/value-table/details-dark.svg +1 -1
- package/docs/design/templates/value-table/details.svg +1 -1
- package/docs/design/templates/value-table-dark.svg +1 -5
- package/docs/design/templates/value-table.svg +1 -5
- package/docs/design/templates.md +25 -14
- package/docs/sunken-panel.md +11 -1
- package/docs/type-contracts.md +6 -3
- package/docs/ui-analyzer.md +5 -0
- package/docs/ui-doctor.md +8 -1
- package/docs/ux-demo.md +2 -2
- package/docs/workbench.md +13 -0
- package/doctor/eslint-diagnostics.d.mts +8 -0
- package/doctor/eslint-diagnostics.mjs +7 -0
- package/doctor/index.mjs +11 -10
- package/llms.txt +15 -3
- package/package.json +9 -2
- package/traversal-exclusions.mjs +27 -0
- package/ux-demo/recipes/collapsible-sidebar.tsx +1 -1
- package/ux-demo/recipes/navigation-sidebar.tsx +1 -1
- package/dist/chunk-7L6EHUMV.js.map +0 -1
- package/dist/chunk-AASLYRGE.js.map +0 -1
- package/dist/chunk-GP5DP5DL.js.map +0 -1
- package/dist/chunk-PZQVSDLH.js.map +0 -1
- package/dist/chunk-VLYV65LK.js.map +0 -1
- package/dist/chunk-W4CXQYSG.js.map +0 -1
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { Skeleton } from './chunk-
|
|
1
|
+
import { Skeleton } from './chunk-RKVQEH4J.js';
|
|
2
2
|
import { jsxs, jsx } from 'kerfjs/jsx-runtime';
|
|
3
3
|
|
|
4
4
|
function StateBanner({
|
|
5
5
|
title,
|
|
6
6
|
detail,
|
|
7
|
+
badge,
|
|
7
8
|
icon,
|
|
8
9
|
action,
|
|
9
10
|
tone = "info",
|
|
@@ -25,7 +26,8 @@ function StateBanner({
|
|
|
25
26
|
icon && /* @__PURE__ */ jsx("span", { class: "kui-state-banner__icon", children: icon }),
|
|
26
27
|
/* @__PURE__ */ jsxs("div", { class: "kui-state-banner__copy", children: [
|
|
27
28
|
/* @__PURE__ */ jsx("strong", { children: placeholder ? /* @__PURE__ */ jsx(Skeleton, { width: "10em" }) : title }),
|
|
28
|
-
|
|
29
|
+
badge && /* @__PURE__ */ jsx("span", { class: "kui-state-banner__badge", children: placeholder ? /* @__PURE__ */ jsx(Skeleton, { width: "1.75em" }) : badge }),
|
|
30
|
+
(placeholder || detail) && /* @__PURE__ */ jsx("span", { class: "kui-state-banner__detail", children: placeholder ? /* @__PURE__ */ jsx(Skeleton, { width: "16em" }) : detail })
|
|
29
31
|
] }),
|
|
30
32
|
action && /* @__PURE__ */ jsx("div", { class: "kui-state-banner__action", children: action })
|
|
31
33
|
]
|
|
@@ -35,4 +37,4 @@ function StateBanner({
|
|
|
35
37
|
|
|
36
38
|
export { StateBanner };
|
|
37
39
|
|
|
38
|
-
//# sourceMappingURL=chunk-
|
|
40
|
+
//# sourceMappingURL=chunk-W5L2JSBY.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/state-banner.tsx"],"names":[],"mappings":";;;AAsBO,SAAS,WAAA,CAAY;AAAA,EAC1B,KAAA;AAAA,EACA,MAAA;AAAA,EACA,KAAA;AAAA,EACA,IAAA;AAAA,EACA,MAAA;AAAA,EACA,IAAA,GAAO,MAAA;AAAA,EACP,OAAA,GAAU,QAAA;AAAA,EACV,SAAA,GAAY,EAAA;AAAA,EACZ,WAAA,GAAc;AAChB,CAAA,EAAqB;AACnB,EAAA,uBACE,IAAA;AAAA,IAAC,SAAA;AAAA,IAAA;AAAA,MACC,KAAA,EAAO,CAAA,iBAAA,EAAoB,SAAS,CAAA,CAAA,CAAG,IAAA,EAAK;AAAA,MAC5C,gBAAA,EAAe,cAAA;AAAA,MACf,WAAA,EAAW,IAAA;AAAA,MACX,kBAAA,EAAkB,cAAc,MAAA,GAAS,MAAA;AAAA,MACzC,IAAA,EAAM,OAAA;AAAA,MACN,WAAA,EAAW,OAAA,KAAY,OAAA,GAAU,WAAA,GAAc,QAAA;AAAA,MAC/C,WAAA,EAAW,cAAc,MAAA,GAAS,MAAA;AAAA,MAEjC,QAAA,EAAA;AAAA,QAAA,IAAA,oBAAQ,GAAA,CAAC,MAAA,EAAA,EAAK,KAAA,EAAM,wBAAA,EAA0B,QAAA,EAAA,IAAA,EAAK,CAAA;AAAA,wBACpD,IAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAM,wBAAA,EACT,QAAA,EAAA;AAAA,0BAAA,GAAA,CAAC,YAAQ,QAAA,EAAA,WAAA,mBAAc,GAAA,CAAC,YAAS,KAAA,EAAM,MAAA,EAAO,IAAK,KAAA,EAAM,CAAA;AAAA,UACxD,KAAA,oBACC,GAAA,CAAC,MAAA,EAAA,EAAK,KAAA,EAAM,yBAAA,EACT,QAAA,EAAA,WAAA,mBAAc,GAAA,CAAC,QAAA,EAAA,EAAS,KAAA,EAAM,QAAA,EAAS,CAAA,GAAK,KAAA,EAC/C,CAAA;AAAA,UAAA,CAEA,WAAA,IAAe,MAAA,qBACf,GAAA,CAAC,MAAA,EAAA,EAAK,KAAA,EAAM,0BAAA,EACT,QAAA,EAAA,WAAA,mBAAc,GAAA,CAAC,QAAA,EAAA,EAAS,KAAA,EAAM,MAAA,EAAO,CAAA,GAAK,MAAA,EAC7C;AAAA,SAAA,EAEJ,CAAA;AAAA,QACC,MAAA,oBAAU,GAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAM,4BAA4B,QAAA,EAAA,MAAA,EAAO;AAAA;AAAA;AAAA,GAC3D;AAEJ","file":"chunk-W5L2JSBY.js","sourcesContent":["import type { SafeHtml } from 'kerfjs';\n\nimport { Skeleton } from './skeleton.js';\n\nexport type StateBannerTone =\n 'neutral' | 'info' | 'success' | 'warning' | 'danger';\nexport type StateBannerUrgency = 'status' | 'alert';\n\nexport interface StateBannerProps {\n title: string;\n detail?: string;\n /** Optional compact status or count shown beside the title. */\n badge?: string;\n icon?: SafeHtml;\n action?: SafeHtml;\n tone?: StateBannerTone;\n urgency?: StateBannerUrgency;\n className?: string;\n /** Render the title, badge, and detail as unanimated loading skeletons, keeping the icon and tone. */\n placeholder?: boolean;\n}\n\nexport function StateBanner({\n title,\n detail,\n badge,\n icon,\n action,\n tone = 'info',\n urgency = 'status',\n className = '',\n placeholder = false,\n}: StateBannerProps) {\n return (\n <section\n class={`kui-state-banner ${className}`.trim()}\n data-component=\"state-banner\"\n data-tone={tone}\n data-placeholder={placeholder ? 'true' : undefined}\n role={urgency}\n aria-live={urgency === 'alert' ? 'assertive' : 'polite'}\n aria-busy={placeholder ? 'true' : undefined}\n >\n {icon && <span class=\"kui-state-banner__icon\">{icon}</span>}\n <div class=\"kui-state-banner__copy\">\n <strong>{placeholder ? <Skeleton width=\"10em\" /> : title}</strong>\n {badge && (\n <span class=\"kui-state-banner__badge\">\n {placeholder ? <Skeleton width=\"1.75em\" /> : badge}\n </span>\n )}\n {(placeholder || detail) && (\n <span class=\"kui-state-banner__detail\">\n {placeholder ? <Skeleton width=\"16em\" /> : detail}\n </span>\n )}\n </div>\n {action && <div class=\"kui-state-banner__action\">{action}</div>}\n </section>\n );\n}\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { filterDataAttributes } from './chunk-SRSJO5QE.js';
|
|
2
|
-
import { Skeleton } from './chunk-
|
|
2
|
+
import { Skeleton } from './chunk-RKVQEH4J.js';
|
|
3
3
|
import { jsxs, jsx } from 'kerfjs/jsx-runtime';
|
|
4
4
|
|
|
5
5
|
var PROTECTED_ROOT_DATA_ATTRIBUTES = /* @__PURE__ */ new Set([
|
|
@@ -102,4 +102,4 @@ function AppTab({
|
|
|
102
102
|
|
|
103
103
|
export { AppTab };
|
|
104
104
|
|
|
105
|
-
//# sourceMappingURL=chunk-
|
|
105
|
+
//# sourceMappingURL=chunk-Y45PPBDV.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/app-tab.tsx"],"names":[],"mappings":";;;;AAKA,IAAM,8BAAA,uBAAqC,GAAA,CAAI;AAAA,EAC7C,gBAAA;AAAA,EACA,aAAA;AAAA,EACA,aAAA;AAAA,EACA,eAAA;AAAA,EACA,mBAAA;AAAA,EACA;AACF,CAAC,CAAA;AA+BD,SAAS,SAAA,GAAY;AACnB,EAAA,uBACE,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,aAAA,EAAY,MAAA;AAAA,MACZ,OAAA,EAAQ,WAAA;AAAA,MACR,IAAA,EAAK,MAAA;AAAA,MACL,MAAA,EAAO,cAAA;AAAA,MACP,cAAA,EAAa,MAAA;AAAA,MACb,gBAAA,EAAe,OAAA;AAAA,MAEf,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,MAAA,EAAA,EAAK,GAAE,YAAA,EAAa,CAAA;AAAA,wBACrB,GAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,YAAA,EAAa;AAAA;AAAA;AAAA,GACvB;AAEJ;AAEO,SAAS,MAAA,CAAO;AAAA,EACrB,EAAA;AAAA,EACA,IAAA;AAAA,EACA,QAAA,GAAW,KAAA;AAAA,EACX,QAAA,GAAW,IAAA;AAAA,EACX,SAAA,GAAY,KAAA;AAAA,EACZ,OAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA;AAAA,EACA,YAAA,GAAe,YAAA;AAAA,EACf,WAAA,GAAc,WAAA;AAAA,EACd,SAAA,GAAY,EAAA;AAAA,EACZ,WAAA,GAAc,KAAA;AAAA,EACd,iBAAiB;AACnB,CAAA,EAAgB;AACd,EAAA,MAAM,YAAA,GAAe;AAAA,IACnB,WAAW,kBAAA,GAAqB,EAAA;AAAA,IAChC,YAAY,0CAAA,GAA6C;AAAA,GAC3D,CACG,MAAA,CAAO,OAAO,CAAA,CACd,KAAK,GAAG,CAAA;AACX,EAAA,MAAM,mBAAA,GAAsB,oBAAA;AAAA,IAC1B,cAAA;AAAA,IACA;AAAA,GACF;AACA,EAAA,uBACE,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACE,GAAG,mBAAA;AAAA,MACJ,KAAA,EAAO,CAAA,YAAA,EAAe,SAAS,CAAA,CAAA,CAAG,IAAA,EAAK;AAAA,MACvC,gBAAA,EAAe,SAAA;AAAA,MACf,aAAA,EAAa,EAAA;AAAA,MACb,eAAA,EAAe,OAAO,QAAQ,CAAA;AAAA,MAC9B,kBAAA,EAAkB,cAAc,MAAA,GAAS,MAAA;AAAA,MACzC,SAAA,EAAW,WAAA,GAAc,OAAA,GAAU,SAAA,GAAY,MAAA,GAAS,OAAA;AAAA,MACxD,WAAA,EAAW,cAAc,MAAA,GAAS,MAAA;AAAA,MAEjC,QAAA,EAAA;AAAA,QAAA,QAAA,oBACC,GAAA;AAAA,UAAC,QAAA;AAAA,UAAA;AAAA,YACC,IAAA,EAAK,QAAA;AAAA,YACL,QAAA,EAAS,IAAA;AAAA,YACT,KAAA,EAAM,oBAAA;AAAA,YACN,aAAA,EAAa,cAAc,MAAA,GAAY,WAAA;AAAA,YACvC,aAAA,EAAa,EAAA;AAAA,YACb,UAAU,WAAA,IAAe,MAAA;AAAA,YACzB,YAAA,EAAY,SAAS,IAAI,CAAA,CAAA;AAAA,YACzB,KAAA,EAAO,SAAS,IAAI,CAAA,CAAA;AAAA,YAEpB,QAAA,kBAAA,GAAA,CAAC,UAAK,KAAA,EAAM,yBAAA,EAA0B,eAAY,MAAA,EAC/C,QAAA,EAAA,SAAA,oBAAa,GAAA,CAAC,SAAA,EAAA,EAAU,CAAA,EAC3B;AAAA;AAAA,SACF;AAAA,wBAEF,IAAA;AAAA,UAAC,QAAA;AAAA,UAAA;AAAA,YACC,IAAA,EAAK,QAAA;AAAA,YACL,KAAA,EAAM,qBAAA;AAAA,YACN,IAAA,EAAK,KAAA;AAAA,YACL,eAAA,EAAe,OAAO,QAAQ,CAAA;AAAA,YAC9B,mBAAA,EAAmB,WAAA,GAAc,MAAA,GAAY,YAAA,IAAgB,MAAA;AAAA,YAC7D,aAAA,EAAa,cAAc,MAAA,GAAY,YAAA;AAAA,YACvC,aAAA,EAAa,EAAA;AAAA,YACb,UAAU,WAAA,IAAe,MAAA;AAAA,YACzB,QAAA,EAAU,WAAA,GAAc,IAAA,GAAO,QAAA,GAAW,GAAA,GAAM,IAAA;AAAA,YAE/C,QAAA,EAAA;AAAA,cAAA,OAAA;AAAA,8BACD,GAAA,CAAC,MAAA,EAAA,EAAK,KAAA,EAAM,mBAAA,EACT,QAAA,EAAA,WAAA,uBAAe,QAAA,EAAA,EAAS,KAAA,EAAM,KAAA,EAAM,CAAA,GAAK,IAAA,EAC5C,CAAA;AAAA,cACC,YAAY,QAAA,mBACX,GAAA,CAAC,UAAK,KAAA,EAAM,uBAAA,EAAyB,oBAAS,CAAA,GAC5C;AAAA;AAAA;AAAA;AACN;AAAA;AAAA,GACF;AAEJ","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/app-tab.tsx"],"names":[],"mappings":"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","file":"chunk-Y45PPBDV.js","sourcesContent":["import type { SafeHtml } from 'kerfjs';\n\nimport { filterDataAttributes } from './extension-attributes.js';\nimport { Skeleton } from './skeleton.js';\n\nconst PROTECTED_ROOT_DATA_ATTRIBUTES = new Set([\n 'data-component',\n 'data-action',\n 'data-tab-id',\n 'data-selected',\n 'data-tab-dragging',\n 'data-tab-drop-position',\n]);\n\ntype AppTabRootAttributes = Readonly<\n Record<`data-${string}`, string | undefined> & {\n 'data-component'?: never;\n 'data-action'?: never;\n 'data-tab-id'?: never;\n 'data-selected'?: never;\n 'data-tab-dragging'?: never;\n 'data-tab-drop-position'?: never;\n }\n>;\n\nexport interface AppTabProps {\n id: string;\n name: string;\n selected?: boolean;\n closable?: boolean;\n draggable?: boolean;\n leading?: SafeHtml;\n trailing?: SafeHtml;\n /** Decorative dormant content for the close button. Must not contain interactive descendants. */\n closeIcon?: SafeHtml;\n selectAction?: string;\n closeAction?: string;\n className?: string;\n /** Render as an unanimated loading skeleton, disabling select/close and dragging. */\n placeholder?: boolean;\n rootAttributes?: AppTabRootAttributes;\n}\n\nfunction CloseIcon() {\n return (\n <svg\n aria-hidden=\"true\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2.25\"\n stroke-linecap=\"round\"\n >\n <path d=\"m7 7 10 10\"></path>\n <path d=\"M17 7 7 17\"></path>\n </svg>\n );\n}\n\nexport function AppTab({\n id,\n name,\n selected = false,\n closable = true,\n draggable = false,\n leading,\n trailing,\n closeIcon,\n selectAction = 'select-tab',\n closeAction = 'close-tab',\n className = '',\n placeholder = false,\n rootAttributes = {},\n}: AppTabProps) {\n const keyshortcuts = [\n closable ? 'Delete Backspace' : '',\n draggable ? 'Alt+Shift+ArrowLeft Alt+Shift+ArrowRight' : '',\n ]\n .filter(Boolean)\n .join(' ');\n const extensionAttributes = filterDataAttributes(\n rootAttributes,\n PROTECTED_ROOT_DATA_ATTRIBUTES,\n );\n return (\n <div\n {...extensionAttributes}\n class={`kui-app-tab ${className}`.trim()}\n data-component=\"app-tab\"\n data-tab-id={id}\n data-selected={String(selected)}\n data-placeholder={placeholder ? 'true' : undefined}\n draggable={placeholder ? 'false' : draggable ? 'true' : 'false'}\n aria-busy={placeholder ? 'true' : undefined}\n >\n {closable && (\n <button\n type=\"button\"\n tabindex=\"-1\"\n class=\"kui-app-tab__close\"\n data-action={placeholder ? undefined : closeAction}\n data-tab-id={id}\n disabled={placeholder || undefined}\n aria-label={`Close ${name}`}\n title={`Close ${name}`}\n >\n <span class=\"kui-app-tab__close-icon\" aria-hidden=\"true\">\n {closeIcon ?? <CloseIcon />}\n </span>\n </button>\n )}\n <button\n type=\"button\"\n class=\"kui-app-tab__select\"\n role=\"tab\"\n aria-selected={String(selected)}\n aria-keyshortcuts={placeholder ? undefined : keyshortcuts || undefined}\n data-action={placeholder ? undefined : selectAction}\n data-tab-id={id}\n disabled={placeholder || undefined}\n tabindex={placeholder ? '-1' : selected ? '0' : '-1'}\n >\n {leading}\n <span class=\"kui-app-tab__name\">\n {placeholder ? <Skeleton width=\"7em\" /> : name}\n </span>\n {closable || trailing ? (\n <span class=\"kui-app-tab__trailing\">{trailing}</span>\n ) : undefined}\n </button>\n </div>\n );\n}\n"]}
|
package/dist/index.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ export { AppTab, AppTabProps } from './app-tab.js';
|
|
|
2
2
|
export { DisclosureArrow, DisclosureArrowProps, DisclosureDirection } from './disclosure-arrow.js';
|
|
3
3
|
export { EmptyState, EmptyStateProps } from './empty-state.js';
|
|
4
4
|
export { FloatingToolbar, FloatingToolbarPosition, FloatingToolbarProps } from './floating-toolbar.js';
|
|
5
|
+
export { List, ListProps } from './list.js';
|
|
5
6
|
export { ListActionRow, ListActionRowProps } from './list-action-row.js';
|
|
6
7
|
export { ListHeader, ListHeaderProps } from './list-header.js';
|
|
7
8
|
export { ListInsetControl, ListInsetControlProps } from './list-inset-control.js';
|
|
@@ -16,7 +17,7 @@ export { SegmentedControl, SegmentedControlAppearance, SegmentedControlChoice, S
|
|
|
16
17
|
export { Select, SelectChoice, SelectProps } from './select.js';
|
|
17
18
|
export { Skeleton, SkeletonProps } from './skeleton.js';
|
|
18
19
|
export { StateBanner, StateBannerProps, StateBannerTone, StateBannerUrgency } from './state-banner.js';
|
|
19
|
-
export { SunkenPanel, SunkenPanelProps } from './sunken-panel.js';
|
|
20
|
+
export { SunkenPanel, SunkenPanelProps, SunkenPanelShape } from './sunken-panel.js';
|
|
20
21
|
export { TabActivation, TabBar, TabBarProps } from './tab-bar.js';
|
|
21
22
|
export { TokenSearchEditorAttributes, TokenSearchField, TokenSearchFieldProps, TokenSearchFieldValue, TokenSearchToken, placeTokenSearchCaret, readTokenSearchField } from './token-search-field.js';
|
|
22
23
|
export { Toolbar, ToolbarProps } from './toolbar.js';
|
|
@@ -26,5 +27,6 @@ export { ValueTable, ValueTableProps, ValueTableRow, ValueTableRowProps } from '
|
|
|
26
27
|
export { ResizeCommit, WireResizableRegionsOptions, wireResizableRegions } from './wire-resizable-regions.js';
|
|
27
28
|
export { TabDropPosition, TabReorder, TabReorderSource, WireTabBarsOptions, reorderTabs, wireTabBars } from './wire-tab-bars.js';
|
|
28
29
|
export { TokenSearchCollapsibleOptions, TokenSearchEdit, TokenSearchFieldsHandle, TokenSearchSubmit, WireTokenSearchFieldsOptions, wireTokenSearchFields } from './wire-token-search-fields.js';
|
|
30
|
+
export { D as DividerSides } from './divider-sides-267FA7sY.js';
|
|
29
31
|
import 'kerfjs';
|
|
30
32
|
import 'lucide';
|
package/dist/index.js
CHANGED
|
@@ -1,27 +1,28 @@
|
|
|
1
|
-
export {
|
|
2
|
-
export {
|
|
1
|
+
export { reorderTabs, wireTabBars } from './chunk-UKKSMZYT.js';
|
|
2
|
+
export { wireTokenSearchFields } from './chunk-OJWWHFH3.js';
|
|
3
|
+
export { ValueTable, ValueTableRow } from './chunk-KWWR5VMS.js';
|
|
3
4
|
export { wireResizableRegions } from './chunk-DPDBVKNA.js';
|
|
4
|
-
export {
|
|
5
|
-
export {
|
|
6
|
-
export { SunkenPanel } from './chunk-W4CXQYSG.js';
|
|
5
|
+
export { StateBanner } from './chunk-W5L2JSBY.js';
|
|
6
|
+
export { SunkenPanel } from './chunk-TB6DY7H5.js';
|
|
7
7
|
export { TabBar } from './chunk-M7JBER5U.js';
|
|
8
8
|
export { TokenSearchField, placeTokenSearchCaret, readTokenSearchField } from './chunk-7KEUJIIC.js';
|
|
9
|
-
export { PanelHeader } from './chunk-
|
|
10
|
-
export { ToolbarText } from './chunk-
|
|
9
|
+
export { PanelHeader } from './chunk-7XRDUG4Y.js';
|
|
10
|
+
export { ToolbarText } from './chunk-R7ZWUN64.js';
|
|
11
11
|
export { ResizableRegion, clampRegionSize, resizeRegionFromPointer } from './chunk-NENBUYX5.js';
|
|
12
|
-
export { SegmentedControl } from './chunk-
|
|
13
|
-
export { Select } from './chunk-
|
|
14
|
-
export { ListActionRow } from './chunk-
|
|
12
|
+
export { SegmentedControl } from './chunk-IJBSZ4NX.js';
|
|
13
|
+
export { Select } from './chunk-NWSEP5RT.js';
|
|
14
|
+
export { ListActionRow } from './chunk-UFZKLBCF.js';
|
|
15
15
|
export { ListInsetControl } from './chunk-QO55FN2Y.js';
|
|
16
16
|
export { ListInsetText } from './chunk-FEY65TBV.js';
|
|
17
|
-
export { AppTab } from './chunk-
|
|
17
|
+
export { AppTab } from './chunk-Y45PPBDV.js';
|
|
18
18
|
export { Pane } from './chunk-JRKSK2HX.js';
|
|
19
|
-
export { Toolbar } from './chunk-
|
|
19
|
+
export { Toolbar } from './chunk-SYDMYBPG.js';
|
|
20
20
|
export { ToolbarControlGroup } from './chunk-5VTB2BKP.js';
|
|
21
|
-
export { ListHeader } from './chunk-
|
|
22
|
-
export { ListItem } from './chunk-
|
|
21
|
+
export { ListHeader } from './chunk-PSKN344N.js';
|
|
22
|
+
export { ListItem } from './chunk-FEAMR7S4.js';
|
|
23
|
+
export { List } from './chunk-J5BFYY7Q.js';
|
|
23
24
|
|
|
24
|
-
export { Skeleton } from './chunk-
|
|
25
|
+
export { Skeleton } from './chunk-RKVQEH4J.js';
|
|
25
26
|
export { DisclosureArrow } from './chunk-Y6LYKFXY.js';
|
|
26
27
|
export { LucideIcon } from './chunk-W2FK7ZNY.js';
|
|
27
28
|
export { EmptyState } from './chunk-PX3YSS5C.js';
|
package/dist/list-action-row.js
CHANGED
package/dist/list-header.js
CHANGED
package/dist/list-item.js
CHANGED
package/dist/list.d.ts
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { SafeHtml } from 'kerfjs';
|
|
2
|
+
import { D as DividerSides } from './divider-sides-267FA7sY.js';
|
|
3
|
+
|
|
4
|
+
interface ListProps {
|
|
5
|
+
children?: SafeHtml | readonly SafeHtml[];
|
|
6
|
+
/** Use the standard item gap, or supply browser CSS such as `var(--kui-space-2xs)` or `0.25rem`. Defaults to no gap. */
|
|
7
|
+
gap?: boolean | string;
|
|
8
|
+
/** Allow this list to grow/shrink, or supply a CSS flex shorthand. */
|
|
9
|
+
flex?: boolean | string;
|
|
10
|
+
/** Own vertical scrolling and overscroll containment. */
|
|
11
|
+
scrollable?: boolean;
|
|
12
|
+
/** Physical divider edges in canonical top/right/bottom/left order. */
|
|
13
|
+
dividerSides?: DividerSides;
|
|
14
|
+
className?: string;
|
|
15
|
+
}
|
|
16
|
+
/** A stretch-aligned vertical stack with optional gap, flex, scroll, and dividers. */
|
|
17
|
+
declare function List({ children, gap, flex, scrollable, dividerSides, className, }: ListProps): SafeHtml;
|
|
18
|
+
|
|
19
|
+
export { DividerSides, List, type ListProps };
|
package/dist/list.js
ADDED
package/dist/list.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"list.js"}
|
package/dist/nav-stack.js
CHANGED
package/dist/panel-header.js
CHANGED
package/dist/select.js
CHANGED
package/dist/skeleton.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as kerfjs from 'kerfjs';
|
|
2
2
|
|
|
3
3
|
interface SkeletonProps {
|
|
4
|
-
/** Width as any CSS length (e.g. `
|
|
4
|
+
/** Width as any browser CSS length (e.g. `7.5rem`, `60%`). Defaults to filling its slot. */
|
|
5
5
|
width?: string;
|
|
6
6
|
/** Height as any CSS length. Defaults to a single text line. */
|
|
7
7
|
height?: string;
|
package/dist/skeleton.js
CHANGED
package/dist/split-view.js
CHANGED
package/dist/state-banner.d.ts
CHANGED
|
@@ -5,14 +5,16 @@ type StateBannerUrgency = 'status' | 'alert';
|
|
|
5
5
|
interface StateBannerProps {
|
|
6
6
|
title: string;
|
|
7
7
|
detail?: string;
|
|
8
|
+
/** Optional compact status or count shown beside the title. */
|
|
9
|
+
badge?: string;
|
|
8
10
|
icon?: SafeHtml;
|
|
9
11
|
action?: SafeHtml;
|
|
10
12
|
tone?: StateBannerTone;
|
|
11
13
|
urgency?: StateBannerUrgency;
|
|
12
14
|
className?: string;
|
|
13
|
-
/** Render the title and detail as unanimated loading skeletons, keeping the icon and tone. */
|
|
15
|
+
/** Render the title, badge, and detail as unanimated loading skeletons, keeping the icon and tone. */
|
|
14
16
|
placeholder?: boolean;
|
|
15
17
|
}
|
|
16
|
-
declare function StateBanner({ title, detail, icon, action, tone, urgency, className, placeholder, }: StateBannerProps): SafeHtml;
|
|
18
|
+
declare function StateBanner({ title, detail, badge, icon, action, tone, urgency, className, placeholder, }: StateBannerProps): SafeHtml;
|
|
17
19
|
|
|
18
20
|
export { StateBanner, type StateBannerProps, type StateBannerTone, type StateBannerUrgency };
|
package/dist/state-banner.js
CHANGED
package/dist/styles/catalog.css
CHANGED
|
@@ -325,8 +325,8 @@
|
|
|
325
325
|
}
|
|
326
326
|
|
|
327
327
|
/* Optional devtools-style geometry overlay. `wireCatalogGeometryOverlay` draws
|
|
328
|
-
a quiet dashed
|
|
329
|
-
non-zero margins. */
|
|
328
|
+
computed border edges, a quiet dashed bound for transparent borderless
|
|
329
|
+
specimens, and orange bands for non-zero margins. */
|
|
330
330
|
.kui-catalog__geometry-overlay {
|
|
331
331
|
position: absolute;
|
|
332
332
|
z-index: 3;
|
|
@@ -335,6 +335,7 @@
|
|
|
335
335
|
}
|
|
336
336
|
|
|
337
337
|
.kui-catalog__geometry-bound,
|
|
338
|
+
.kui-catalog__geometry-border,
|
|
338
339
|
.kui-catalog__geometry-margin {
|
|
339
340
|
position: absolute;
|
|
340
341
|
top: 0;
|
|
@@ -346,6 +347,11 @@
|
|
|
346
347
|
border: 1px dashed color-mix(in srgb, var(--kui-color-text) 40%, transparent);
|
|
347
348
|
}
|
|
348
349
|
|
|
350
|
+
.kui-catalog__geometry-border {
|
|
351
|
+
border: 0 solid
|
|
352
|
+
color-mix(in srgb, var(--kui-color-accent-text) 72%, transparent);
|
|
353
|
+
}
|
|
354
|
+
|
|
349
355
|
.kui-catalog__geometry-margin {
|
|
350
356
|
background: color-mix(in srgb, #f6a94c 55%, transparent);
|
|
351
357
|
}
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
}
|
|
27
27
|
|
|
28
28
|
.kui-list-item[data-has-icon="true"] {
|
|
29
|
-
grid-template-columns: 1.
|
|
29
|
+
grid-template-columns: 1.125rem minmax(0, 1fr) auto;
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
.kui-list-item[data-has-icon="true"] .kui-list-item__icon {
|
|
@@ -75,16 +75,16 @@
|
|
|
75
75
|
|
|
76
76
|
.kui-list-item__icon {
|
|
77
77
|
display: grid;
|
|
78
|
-
width: 1.
|
|
79
|
-
height: 1.
|
|
78
|
+
width: 1.125rem;
|
|
79
|
+
height: 1.125rem;
|
|
80
80
|
color: currentColor;
|
|
81
81
|
place-items: center;
|
|
82
82
|
}
|
|
83
83
|
|
|
84
84
|
.kui-list-item__icon svg {
|
|
85
85
|
display: block;
|
|
86
|
-
width: 1.
|
|
87
|
-
height: 1.
|
|
86
|
+
width: 1.125rem;
|
|
87
|
+
height: 1.125rem;
|
|
88
88
|
}
|
|
89
89
|
|
|
90
90
|
.kui-list-item__label {
|
|
@@ -106,7 +106,7 @@
|
|
|
106
106
|
|
|
107
107
|
.kui-list-item[data-multiline="true"] .kui-list-item__icon {
|
|
108
108
|
align-self: start;
|
|
109
|
-
margin-block-start: calc((1lh - 1.
|
|
109
|
+
margin-block-start: calc((1lh - 1.125rem) / 2);
|
|
110
110
|
}
|
|
111
111
|
|
|
112
112
|
.kui-list-item__trailing {
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
.kui-list {
|
|
2
|
+
--kui-list-divider-color: var(--kui-color-border);
|
|
3
|
+
--kui-list-gap: var(--kui-layout-item-gap, 0.5rem);
|
|
4
|
+
--_kui-list-divider-top: transparent;
|
|
5
|
+
--_kui-list-divider-right: transparent;
|
|
6
|
+
--_kui-list-divider-bottom: transparent;
|
|
7
|
+
--_kui-list-divider-left: transparent;
|
|
8
|
+
|
|
9
|
+
display: flex;
|
|
10
|
+
min-width: 0;
|
|
11
|
+
min-height: 0;
|
|
12
|
+
box-sizing: border-box;
|
|
13
|
+
flex: var(--_kui-list-flex, initial);
|
|
14
|
+
flex-direction: column;
|
|
15
|
+
align-items: stretch;
|
|
16
|
+
gap: var(--_kui-list-gap, 0);
|
|
17
|
+
box-shadow:
|
|
18
|
+
inset 0 1px var(--_kui-list-divider-top),
|
|
19
|
+
inset -1px 0 var(--_kui-list-divider-right),
|
|
20
|
+
inset 0 -1px var(--_kui-list-divider-bottom),
|
|
21
|
+
inset 1px 0 var(--_kui-list-divider-left);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.kui-list[data-scrollable="true"] {
|
|
25
|
+
overflow-y: auto;
|
|
26
|
+
overscroll-behavior-y: contain;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.kui-list[divider-sides*="t"] {
|
|
30
|
+
--_kui-list-divider-top: var(--kui-list-divider-color);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.kui-list[divider-sides*="r"] {
|
|
34
|
+
--_kui-list-divider-right: var(--kui-list-divider-color);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.kui-list[divider-sides*="b"] {
|
|
38
|
+
--_kui-list-divider-bottom: var(--kui-list-divider-color);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.kui-list[divider-sides*="l"] {
|
|
42
|
+
--_kui-list-divider-left: var(--kui-list-divider-color);
|
|
43
|
+
}
|
|
@@ -21,6 +21,14 @@
|
|
|
21
21
|
)
|
|
22
22
|
);
|
|
23
23
|
--_kui-state-banner-detail: var(--kui-state-banner-detail, currentColor);
|
|
24
|
+
--_kui-state-banner-badge-background: var(
|
|
25
|
+
--kui-state-banner-badge-background,
|
|
26
|
+
var(--_kui-state-banner-foreground)
|
|
27
|
+
);
|
|
28
|
+
--_kui-state-banner-badge-foreground: var(
|
|
29
|
+
--kui-state-banner-badge-foreground,
|
|
30
|
+
var(--kui-color-surface)
|
|
31
|
+
);
|
|
24
32
|
--_kui-state-banner-action-background: var(
|
|
25
33
|
--kui-state-banner-action-background,
|
|
26
34
|
color-mix(in srgb, var(--kui-color-surface) 52%, transparent)
|
|
@@ -129,7 +137,23 @@
|
|
|
129
137
|
.kui-state-banner__copy strong {
|
|
130
138
|
font-size: var(--kui-font-xs);
|
|
131
139
|
}
|
|
132
|
-
.kui-state-
|
|
140
|
+
.kui-state-banner__badge {
|
|
141
|
+
display: inline-grid;
|
|
142
|
+
min-width: 1.25rem;
|
|
143
|
+
min-height: 1.25rem;
|
|
144
|
+
padding-inline: 0.35rem;
|
|
145
|
+
box-sizing: border-box;
|
|
146
|
+
border-radius: var(--kui-radius-pill);
|
|
147
|
+
color: var(--_kui-state-banner-badge-foreground);
|
|
148
|
+
background: var(--_kui-state-banner-badge-background);
|
|
149
|
+
place-items: center;
|
|
150
|
+
flex: none;
|
|
151
|
+
font-size: var(--kui-font-2xs);
|
|
152
|
+
font-weight: 700;
|
|
153
|
+
letter-spacing: 0;
|
|
154
|
+
line-height: 1;
|
|
155
|
+
}
|
|
156
|
+
.kui-state-banner__detail {
|
|
133
157
|
overflow: hidden;
|
|
134
158
|
color: var(--_kui-state-banner-detail);
|
|
135
159
|
font-size: var(--kui-font-2xs);
|
|
@@ -162,6 +186,13 @@
|
|
|
162
186
|
@media (max-width: 36rem) {
|
|
163
187
|
.kui-state-banner__copy {
|
|
164
188
|
display: grid;
|
|
189
|
+
grid-template-columns: auto 1fr;
|
|
165
190
|
gap: 0.05rem;
|
|
166
191
|
}
|
|
192
|
+
.kui-state-banner__badge {
|
|
193
|
+
justify-self: start;
|
|
194
|
+
}
|
|
195
|
+
.kui-state-banner__detail {
|
|
196
|
+
grid-column: 1 / -1;
|
|
197
|
+
}
|
|
167
198
|
}
|
package/dist/styles/styles.css
CHANGED
package/dist/styles/toolbar.css
CHANGED
|
@@ -20,8 +20,44 @@
|
|
|
20
20
|
grid-template-columns: minmax(0, 1fr) auto;
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
-
.kui-toolbar
|
|
24
|
-
|
|
23
|
+
.kui-toolbar {
|
|
24
|
+
--_kui-toolbar-divider-top: transparent;
|
|
25
|
+
--_kui-toolbar-divider-right: transparent;
|
|
26
|
+
--_kui-toolbar-divider-bottom: transparent;
|
|
27
|
+
--_kui-toolbar-divider-left: transparent;
|
|
28
|
+
box-shadow:
|
|
29
|
+
inset 0 1px var(--_kui-toolbar-divider-top),
|
|
30
|
+
inset -1px 0 var(--_kui-toolbar-divider-right),
|
|
31
|
+
inset 0 -1px var(--_kui-toolbar-divider-bottom),
|
|
32
|
+
inset 1px 0 var(--_kui-toolbar-divider-left);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.kui-toolbar[divider-sides*="t"] {
|
|
36
|
+
--_kui-toolbar-divider-top: var(
|
|
37
|
+
--kui-toolbar-divider-color,
|
|
38
|
+
var(--kui-color-border)
|
|
39
|
+
);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.kui-toolbar[divider-sides*="r"] {
|
|
43
|
+
--_kui-toolbar-divider-right: var(
|
|
44
|
+
--kui-toolbar-divider-color,
|
|
45
|
+
var(--kui-color-border)
|
|
46
|
+
);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.kui-toolbar[divider-sides*="b"] {
|
|
50
|
+
--_kui-toolbar-divider-bottom: var(
|
|
51
|
+
--kui-toolbar-divider-color,
|
|
52
|
+
var(--kui-color-border)
|
|
53
|
+
);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.kui-toolbar[divider-sides*="l"] {
|
|
57
|
+
--_kui-toolbar-divider-left: var(
|
|
58
|
+
--kui-toolbar-divider-color,
|
|
59
|
+
var(--kui-color-border)
|
|
60
|
+
);
|
|
25
61
|
}
|
|
26
62
|
|
|
27
63
|
.kui-toolbar__leading,
|
package/dist/sunken-panel.d.ts
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import { SafeHtml } from 'kerfjs';
|
|
2
2
|
|
|
3
|
+
type SunkenPanelShape = 'rounded' | 'square';
|
|
3
4
|
interface SunkenPanelProps {
|
|
4
5
|
children?: SafeHtml | readonly SafeHtml[];
|
|
5
6
|
/** Optional accessible landmark name for a distinct application region. */
|
|
6
7
|
ariaLabel?: string;
|
|
8
|
+
/** Corner shape: a rounded rectangle (default) or square corners. */
|
|
9
|
+
shape?: SunkenPanelShape;
|
|
7
10
|
className?: string;
|
|
8
11
|
}
|
|
9
12
|
/**
|
|
@@ -11,6 +14,6 @@ interface SunkenPanelProps {
|
|
|
11
14
|
* stack. The panel owns its background and padding; children own their own
|
|
12
15
|
* borders and internal geometry.
|
|
13
16
|
*/
|
|
14
|
-
declare function SunkenPanel({ children, ariaLabel, className, }: SunkenPanelProps): SafeHtml;
|
|
17
|
+
declare function SunkenPanel({ children, ariaLabel, shape, className, }: SunkenPanelProps): SafeHtml;
|
|
15
18
|
|
|
16
|
-
export { SunkenPanel, type SunkenPanelProps };
|
|
19
|
+
export { SunkenPanel, type SunkenPanelProps, type SunkenPanelShape };
|
package/dist/sunken-panel.js
CHANGED
package/dist/toolbar-text.js
CHANGED
package/dist/toolbar.d.ts
CHANGED
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
import { SafeHtml } from 'kerfjs';
|
|
2
|
+
import { D as DividerSides } from './divider-sides-267FA7sY.js';
|
|
2
3
|
|
|
3
4
|
interface ToolbarProps {
|
|
4
5
|
leading?: SafeHtml;
|
|
5
6
|
center?: SafeHtml;
|
|
6
7
|
trailing?: SafeHtml;
|
|
7
8
|
label?: string;
|
|
8
|
-
divider
|
|
9
|
+
/** Physical divider edges in canonical top/right/bottom/left order. Defaults to bottom. */
|
|
10
|
+
dividerSides?: DividerSides;
|
|
9
11
|
className?: string;
|
|
10
12
|
}
|
|
11
|
-
declare function Toolbar({ leading, center, trailing, label,
|
|
13
|
+
declare function Toolbar({ leading, center, trailing, label, dividerSides, className, }: ToolbarProps): SafeHtml;
|
|
12
14
|
|
|
13
|
-
export { Toolbar, type ToolbarProps };
|
|
15
|
+
export { DividerSides, Toolbar, type ToolbarProps };
|
package/dist/toolbar.js
CHANGED
package/dist/value-table.js
CHANGED
package/dist/wire-catalog.d.ts
CHANGED
|
@@ -39,8 +39,10 @@ interface CatalogRevealOptions {
|
|
|
39
39
|
declare function revealCatalogEntry(root: HTMLElement, id: string, { block, inline, behavior, media, }?: CatalogRevealOptions): () => void;
|
|
40
40
|
/**
|
|
41
41
|
* Keep a Catalog's opt-in geometry overlay synchronized with its preview.
|
|
42
|
-
*
|
|
43
|
-
*
|
|
42
|
+
* Specimens receive computed border highlights (or a dashed bound when they
|
|
43
|
+
* have no border and are transparent), while positive computed margins use
|
|
44
|
+
* devtools-style orange bands. CSS/stylesheet-only changes are observed too.
|
|
45
|
+
* Returns a disposer.
|
|
44
46
|
*/
|
|
45
47
|
declare function wireCatalogGeometryOverlay(root: HTMLElement): () => void;
|
|
46
48
|
/**
|