@ixfx/components 0.9.6 → 0.9.8
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/bundle/index.d.ts +100 -64
- package/bundle/index.d.ts.map +1 -1
- package/bundle/index.js +382 -253
- package/bundle/index.js.map +1 -1
- package/bundle/style.css +2 -2
- package/dist/ac-text.js +2 -2
- package/dist/ac-token.js +2 -2
- package/dist/checkbox.js +1 -1
- package/dist/{colour-picker-CSxwUmtE.js → colour-picker-R73i0QTP.js} +2 -2
- package/dist/{colour-picker-CSxwUmtE.js.map → colour-picker-R73i0QTP.js.map} +1 -1
- package/dist/colour-picker.js +1 -1
- package/dist/crumbs.js +2 -2
- package/dist/data-display.js +1 -1
- package/dist/{data-grid-DIHhfsqS.d.ts → data-grid-BUeZjnvj.d.ts} +38 -1
- package/dist/data-grid-BUeZjnvj.d.ts.map +1 -0
- package/dist/data-grid.d.ts +1 -1
- package/dist/data-grid.js +156 -26
- package/dist/data-grid.js.map +1 -1
- package/dist/detail-list.js +2 -2
- package/dist/editable-label.js +1 -1
- package/dist/{fallbacks-BcKGq-2F.js → fallbacks-DQ_5OsmR.js} +2 -2
- package/dist/{fallbacks-BcKGq-2F.js.map → fallbacks-DQ_5OsmR.js.map} +1 -1
- package/dist/{grid-list-mL0GJTQR.js → grid-list-40blkeza.js} +5 -232
- package/dist/grid-list-40blkeza.js.map +1 -0
- package/dist/{grid-list-CSw1VMXT.d.ts → grid-list-lTwg4lp7.d.ts} +3 -66
- package/dist/grid-list-lTwg4lp7.d.ts.map +1 -0
- package/dist/grid-list.d.ts +1 -1
- package/dist/grid-list.js +1 -1
- package/dist/{icon-Dy33gu4Z.js → icon-BCJJYEpm.js} +2 -2
- package/dist/{icon-Dy33gu4Z.js.map → icon-BCJJYEpm.js.map} +1 -1
- package/dist/icons.js +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +13 -12
- package/dist/index.js.map +1 -1
- package/dist/labelled-radial-input.js +2 -2
- package/dist/{labelled-slider-input-aEYDvW2S.js → labelled-slider-input-CF2RtzgG.js} +3 -3
- package/dist/{labelled-slider-input-aEYDvW2S.js.map → labelled-slider-input-CF2RtzgG.js.map} +1 -1
- package/dist/labelled-slider-input.js +1 -1
- package/dist/{menu-CMXhIaNZ.js → menu-C8a-84S5.js} +4 -4
- package/dist/{menu-CMXhIaNZ.js.map → menu-C8a-84S5.js.map} +1 -1
- package/dist/{menu-item-BYGQzyCe.js → menu-item-DzizkMH-.js} +3 -3
- package/dist/{menu-item-BYGQzyCe.js.map → menu-item-DzizkMH-.js.map} +1 -1
- package/dist/menu.js +2 -2
- package/dist/miller.js +1 -1
- package/dist/narrowed-text.js +1 -1
- package/dist/notifier.js +1 -1
- package/dist/pan-text-CoYmt2qd.d.ts +67 -0
- package/dist/pan-text-CoYmt2qd.d.ts.map +1 -0
- package/dist/pan-text-CqtvjPyK.js +235 -0
- package/dist/pan-text-CqtvjPyK.js.map +1 -0
- package/dist/panel.js +1 -1
- package/dist/polar-pad.js +1 -1
- package/dist/{radial-input-DyxfbNzD.js → radial-input-KMVltQfe.js} +2 -2
- package/dist/{radial-input-DyxfbNzD.js.map → radial-input-KMVltQfe.js.map} +1 -1
- package/dist/radial-input.js +1 -1
- package/dist/range-input.js +1 -1
- package/dist/range.js +1 -1
- package/dist/select-horiz.js +1 -1
- package/dist/{slider-input-Cb5uSV42.js → slider-input-ByHdotzp.js} +2 -2
- package/dist/{slider-input-Cb5uSV42.js.map → slider-input-ByHdotzp.js.map} +1 -1
- package/dist/slider-input.js +1 -1
- package/dist/snackbar.js +1 -1
- package/dist/{split-layout-Bx0g8k8-.js → split-layout-3yBOEVZW.js} +2 -2
- package/dist/{split-layout-Bx0g8k8-.js.map → split-layout-3yBOEVZW.js.map} +1 -1
- package/dist/split-layout.js +1 -1
- package/dist/style.css +2 -2
- package/dist/swipe.js +1 -1
- package/dist/tabs.js +1 -1
- package/dist/{timeline-THyvH8xy.js → timeline-CFlBFFGZ.js} +2 -2
- package/dist/{timeline-THyvH8xy.js.map → timeline-CFlBFFGZ.js.map} +1 -1
- package/dist/timeline.js +1 -1
- package/dist/titlebar.js +2 -2
- package/dist/{tree-DAFBO_MF.js → tree-CVj7TIk2.js} +2 -2
- package/dist/{tree-DAFBO_MF.js.map → tree-CVj7TIk2.js.map} +1 -1
- package/dist/tree.js +1 -1
- package/dist/vertical-list.js +1 -1
- package/dist/xy-pad.js +1 -1
- package/docs-user/data-grid.md +59 -0
- package/docs-user/index.json +2 -2
- package/package.json +1 -1
- package/dist/data-grid-DIHhfsqS.d.ts.map +0 -1
- package/dist/grid-list-CSw1VMXT.d.ts.map +0 -1
- package/dist/grid-list-mL0GJTQR.js.map +0 -1
|
@@ -361,7 +361,7 @@ const _themeFallbacksCss = css`
|
|
|
361
361
|
@property --item-border-tickled {
|
|
362
362
|
syntax: '*';
|
|
363
363
|
inherits: true;
|
|
364
|
-
initial-value: 1px solid
|
|
364
|
+
initial-value: 1px solid oklch(19% 0.02 240);
|
|
365
365
|
}
|
|
366
366
|
@property --item-border-selected {
|
|
367
367
|
syntax: '*';
|
|
@@ -419,4 +419,4 @@ const themeFallbacks = css``;
|
|
|
419
419
|
//#endregion
|
|
420
420
|
export { themeFallbacks as t };
|
|
421
421
|
|
|
422
|
-
//# sourceMappingURL=fallbacks-
|
|
422
|
+
//# sourceMappingURL=fallbacks-DQ_5OsmR.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fallbacks-BcKGq-2F.js","names":[],"sources":["../src/styles/fallbacks.ts"],"sourcesContent":["import { css } from 'lit';\n\n/**\n * Default fallback values for theme CSS variables.\n *\n * Uses `@property` to register each variable with an initial value that acts\n * as a fallback. This means:\n * - If the theme CSS (`src/style.css`) is loaded, its `:root` values cascade\n * in and override these defaults.\n * - If no theme CSS is loaded, these initial values ensure components still\n * have visible backgrounds, text colours, etc.\n *\n * `@property` registration is document-global — it is not scoped per shadow\n * root — so this is registered exactly once (via `_registerThemeFallbacksOnce`\n * below) rather than adopted into every component's shadow-root stylesheet.\n * Registering the same `@property` rule repeatedly across many shadow roots\n * causes Chrome to log \"Ignored @property rule\" for every repeat.\n */\nconst _themeFallbacksCss = css`\n @property --surface-0 {\n syntax: '<color>';\n inherits: true;\n initial-value: oklch(5% 0.02 240);\n }\n @property --surface-1 {\n syntax: '<color>';\n inherits: true;\n initial-value: oklch(8% 0.02 240);\n }\n @property --surface-2 {\n syntax: '<color>';\n inherits: true;\n initial-value: oklch(12% 0.02 240);\n }\n @property --surface-2-text {\n syntax: '<color>';\n inherits: true;\n initial-value: #fff;\n }\n @property --surface-3 {\n syntax: '<color>';\n inherits: true;\n initial-value: oklch(15% 0.02 240);\n }\n @property --surface-3-text {\n syntax: '<color>';\n inherits: true;\n initial-value: oklch(75% 0.02 240);\n }\n @property --surface-4 {\n syntax: '<color>';\n inherits: true;\n initial-value: oklch(22% 0.02 240);\n }\n @property --surface-4-text {\n syntax: '<color>';\n inherits: true;\n initial-value: #fff;\n }\n @property --surface-5 {\n syntax: '<color>';\n inherits: true;\n initial-value: oklch(19% 0.02 240);\n }\n @property --surface-5-text {\n syntax: '<color>';\n inherits: true;\n initial-value: #fff;\n }\n @property --surface-6 {\n syntax: '<color>';\n inherits: true;\n initial-value: oklch(35% 0.02 240);\n }\n @property --surface-6-text {\n syntax: '<color>';\n inherits: true;\n initial-value: #fff;\n }\n @property --surface-muted-text {\n syntax: '<color>';\n inherits: true;\n initial-value: oklch(55% 0.02 240);\n }\n @property --content {\n syntax: '<color>';\n inherits: true;\n initial-value: oklch(10% 0.01 240);\n }\n @property --content-text {\n syntax: '<color>';\n inherits: true;\n initial-value: #fff;\n }\n @property --accent {\n syntax: '<color>';\n inherits: true;\n initial-value: oklch(60% 0.15 140);\n }\n @property --accent-text {\n syntax: '<color>';\n inherits: true;\n initial-value: #fff;\n }\n @property --error {\n syntax: '<color>';\n inherits: true;\n initial-value: oklch(60% 0.15 20);\n }\n @property --error-text {\n syntax: '<color>';\n inherits: true;\n initial-value: #fff;\n }\n @property --border {\n syntax: '*';\n inherits: true;\n initial-value: 1px solid oklch(25% 0.02 240);\n }\n @property --border-subtle {\n syntax: '*';\n inherits: true;\n initial-value: 1px solid oklch(18% 0.02 240);\n }\n @property --disabled-opacity {\n syntax: '<number>';\n inherits: true;\n initial-value: 0.5;\n }\n @property --transition {\n syntax: '<time>';\n inherits: true;\n initial-value: 0.15s;\n }\n @property --prominence-idle-opacity {\n syntax: '<number>';\n inherits: true;\n initial-value: 0.6;\n }\n @property --prominence-idle-saturate {\n syntax: '<number>';\n inherits: true;\n initial-value: 0.4;\n }\n @property --prominence-tickled-opacity {\n syntax: '<number>';\n inherits: true;\n initial-value: 0.85;\n }\n @property --prominence-tickled-saturate {\n syntax: '<number>';\n inherits: true;\n initial-value: 0.8;\n }\n @property --prominence-disabled-opacity {\n syntax: '<number>';\n inherits: true;\n initial-value: 0.3;\n }\n @property --prominence-disabled-saturate {\n syntax: '<number>';\n inherits: true;\n initial-value: 0.1;\n }\n @property --crumb-item-bg {\n syntax: '<color>';\n inherits: true;\n initial-value: transparent;\n }\n @property --crumb-item-bg-tickled {\n syntax: '<color>';\n inherits: true;\n initial-value: var(--surface-5);\n }\n @property --crumb-item-text-tickled {\n syntax: '<color>';\n inherits: true;\n initial-value: inherit;\n }\n @property --crumb-item-border {\n syntax: '*';\n inherits: true;\n initial-value: 1px solid transparent;\n }\n @property --crumb-item-border-tickled {\n syntax: '<color>';\n inherits: true;\n initial-value: var(--accent);\n }\n @property --crumb-item-padding {\n syntax: '*';\n inherits: true;\n initial-value: var(--space-xs);\n }\n @property --crumb-item-border-radius {\n syntax: '<length>';\n inherits: true;\n initial-value: var(--radius-m);\n }\n @property --crumb-item-gap {\n syntax: '<length>';\n inherits: true;\n initial-value: var(--space-xs);\n }\n @property --crumb-separator {\n syntax: '<color>';\n inherits: true;\n initial-value: var(--surface-muted-text);\n }\n @property --crumb-truncate-min-width {\n syntax: '<length>';\n inherits: true;\n initial-value: 5ch;\n }\n @property --space-xs {\n syntax: '<length>';\n inherits: true;\n initial-value: 3px;\n }\n @property --space-s {\n syntax: '<length>';\n inherits: true;\n initial-value: 4px;\n }\n @property --space-m {\n syntax: '<length>';\n inherits: true;\n initial-value: 8px;\n }\n @property --space-l {\n syntax: '<length>';\n inherits: true;\n initial-value: 12px;\n }\n @property --space-xl {\n syntax: '<length>';\n inherits: true;\n initial-value: 16px;\n }\n @property --space-2xl {\n syntax: '<length>';\n inherits: true;\n initial-value: 20px;\n }\n @property --text-xs {\n syntax: '<length>';\n inherits: true;\n initial-value: 9px;\n }\n @property --text-s {\n syntax: '<length>';\n inherits: true;\n initial-value: 11px;\n }\n @property --text-m {\n syntax: '<length>';\n inherits: true;\n initial-value: 12px;\n }\n @property --text-l {\n syntax: '<length>';\n inherits: true;\n initial-value: 13px;\n }\n @property --text-xl {\n syntax: '<length>';\n inherits: true;\n initial-value: 16px;\n }\n @property --text-2xl {\n syntax: '<length>';\n inherits: true;\n initial-value: 20px;\n }\n @property --font-weight-bold {\n syntax: '<number>';\n inherits: true;\n initial-value: 600;\n }\n @property --radius-s {\n syntax: '<length>';\n inherits: true;\n initial-value: 3px;\n }\n @property --radius-m {\n syntax: '<length>';\n inherits: true;\n initial-value: 4px;\n }\n @property --radius-l {\n syntax: '<length>';\n inherits: true;\n initial-value: 6px;\n }\n @property --radius-xl {\n syntax: '<length>';\n inherits: true;\n initial-value: 8px;\n }\n @property --shadow-m {\n syntax: '*';\n inherits: true;\n initial-value: 0 4px 12px rgba(0, 0, 0, 0.3);\n }\n @property --shadow-l {\n syntax: '*';\n inherits: true;\n initial-value: 0 4px 24px rgba(0, 0, 0, 0.5);\n }\n @property --deboss-3 {\n syntax: '*';\n inherits: true;\n initial-value:\n inset 1px 1px 1px 1px color-mix(in oklch, oklch(8% 0.02 240) 60%, transparent),\n inset -1px -1px 1px 1px color-mix(in oklch, oklch(15% 0.02 240) 50%, transparent),\n -2px -2px 1px 0px color-mix(in oklch, oklch(12% 0.02 240) 30%, transparent);\n }\n @property --emboss-3 {\n syntax: '*';\n inherits: true;\n initial-value:\n inset 1px 1px 1px 1px color-mix(in oklch, oklch(22% 0.02 240) 30%, transparent),\n inset -1px -1px 1px 1px color-mix(in oklch, oklch(12% 0.02 240) 20%, transparent),\n 2px 2px 1px 0px color-mix(in oklch, oklch(12% 0.02 240) 30%, transparent);\n }\n @property --item-bg {\n syntax: '<color>';\n inherits: true;\n initial-value: transparent;\n }\n @property --item-bg-tickled {\n syntax: '<color>';\n inherits: true;\n initial-value: oklch(19% 0.02 240);\n }\n @property --item-bg-selected {\n syntax: '<color>';\n inherits: true;\n initial-value: oklch(60% 0.15 140);\n }\n @property --item-bg-selected-tickled {\n syntax: '<color>';\n inherits: true;\n initial-value: color-mix(in oklch, oklch(60% 0.15 140) 80%, oklch(0% 0 0));\n }\n @property --item-text-tickled {\n syntax: '<color>';\n inherits: true;\n initial-value: #fff;\n }\n @property --item-text-selected {\n syntax: '<color>';\n inherits: true;\n initial-value: #fff;\n }\n @property --item-border {\n syntax: '*';\n inherits: true;\n initial-value: 1px solid oklch(19% 0.02 240);\n }\n @property --item-border-tickled {\n syntax: '*';\n inherits: true;\n initial-value: 1px solid color-mix(in oklch, oklch(60% 0.15 140) 40%, transparent);\n }\n @property --item-border-selected {\n syntax: '*';\n inherits: true;\n initial-value: 1px dashed oklch(60% 0.15 140);\n }\n @property --item-border-active {\n syntax: '*';\n inherits: true;\n initial-value: 2px solid oklch(60% 0.15 140);\n }\n @property --item-border-dragged {\n syntax: '*';\n inherits: true;\n initial-value: 2px dotted color-mix(in oklch, oklch(60% 0.15 140) 80%, transparent);\n }\n @property --item-border-disabled {\n syntax: '*';\n inherits: true;\n initial-value: 1px solid oklch(22% 0.02 240);\n }\n @property --item-padding {\n syntax: '*';\n inherits: true;\n initial-value: 4px 8px;\n }\n @property --item-border-radius {\n syntax: '<length>';\n inherits: true;\n initial-value: 4px;\n }\n @property --item-icon-spacing {\n syntax: '<length>';\n inherits: true;\n initial-value: 4px;\n }\n`;\n\nlet _themeFallbacksRegistered = false;\n\nfunction _registerThemeFallbacksOnce(): void {\n if (_themeFallbacksRegistered || typeof document === `undefined`)\n return;\n _themeFallbacksRegistered = true;\n const styleEl = document.createElement(`style`);\n styleEl.textContent = _themeFallbacksCss.cssText;\n document.head.append(styleEl);\n}\n\n_registerThemeFallbacksOnce();\n\n/**\n * Spread this into any component whose styles reference theme variables.\n * It is an empty stylesheet — the actual `@property` rules are registered\n * once at the document level as a side effect of importing this module — so\n * this exists only to keep the familiar `static styles = [themeFallbacks, ...]`\n * pattern working across all consuming components.\n */\nexport const themeFallbacks = css``;\n"],"mappings":";;;;;;;;;;;;;;;;;;AAkBA,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgY9B,IAAI,4BAA4B;AAEhC,SAAS,8BAAoC;CAC3C,IAAI,6BAA6B,OAAO,aAAa,aACnD;CACF,4BAA4B;CAC5B,MAAM,UAAU,SAAS,cAAc,OAAO;CAC9C,QAAQ,cAAc,mBAAmB;CACzC,SAAS,KAAK,OAAO,OAAO;AAC9B;AAEA,4BAA4B;;;;;;;;AAS5B,MAAa,iBAAiB,GAAG"}
|
|
1
|
+
{"version":3,"file":"fallbacks-DQ_5OsmR.js","names":[],"sources":["../src/styles/fallbacks.ts"],"sourcesContent":["import { css } from 'lit';\n\n/**\n * Default fallback values for theme CSS variables.\n *\n * Uses `@property` to register each variable with an initial value that acts\n * as a fallback. This means:\n * - If the theme CSS (`src/style.css`) is loaded, its `:root` values cascade\n * in and override these defaults.\n * - If no theme CSS is loaded, these initial values ensure components still\n * have visible backgrounds, text colours, etc.\n *\n * `@property` registration is document-global — it is not scoped per shadow\n * root — so this is registered exactly once (via `_registerThemeFallbacksOnce`\n * below) rather than adopted into every component's shadow-root stylesheet.\n * Registering the same `@property` rule repeatedly across many shadow roots\n * causes Chrome to log \"Ignored @property rule\" for every repeat.\n */\nconst _themeFallbacksCss = css`\n @property --surface-0 {\n syntax: '<color>';\n inherits: true;\n initial-value: oklch(5% 0.02 240);\n }\n @property --surface-1 {\n syntax: '<color>';\n inherits: true;\n initial-value: oklch(8% 0.02 240);\n }\n @property --surface-2 {\n syntax: '<color>';\n inherits: true;\n initial-value: oklch(12% 0.02 240);\n }\n @property --surface-2-text {\n syntax: '<color>';\n inherits: true;\n initial-value: #fff;\n }\n @property --surface-3 {\n syntax: '<color>';\n inherits: true;\n initial-value: oklch(15% 0.02 240);\n }\n @property --surface-3-text {\n syntax: '<color>';\n inherits: true;\n initial-value: oklch(75% 0.02 240);\n }\n @property --surface-4 {\n syntax: '<color>';\n inherits: true;\n initial-value: oklch(22% 0.02 240);\n }\n @property --surface-4-text {\n syntax: '<color>';\n inherits: true;\n initial-value: #fff;\n }\n @property --surface-5 {\n syntax: '<color>';\n inherits: true;\n initial-value: oklch(19% 0.02 240);\n }\n @property --surface-5-text {\n syntax: '<color>';\n inherits: true;\n initial-value: #fff;\n }\n @property --surface-6 {\n syntax: '<color>';\n inherits: true;\n initial-value: oklch(35% 0.02 240);\n }\n @property --surface-6-text {\n syntax: '<color>';\n inherits: true;\n initial-value: #fff;\n }\n @property --surface-muted-text {\n syntax: '<color>';\n inherits: true;\n initial-value: oklch(55% 0.02 240);\n }\n @property --content {\n syntax: '<color>';\n inherits: true;\n initial-value: oklch(10% 0.01 240);\n }\n @property --content-text {\n syntax: '<color>';\n inherits: true;\n initial-value: #fff;\n }\n @property --accent {\n syntax: '<color>';\n inherits: true;\n initial-value: oklch(60% 0.15 140);\n }\n @property --accent-text {\n syntax: '<color>';\n inherits: true;\n initial-value: #fff;\n }\n @property --error {\n syntax: '<color>';\n inherits: true;\n initial-value: oklch(60% 0.15 20);\n }\n @property --error-text {\n syntax: '<color>';\n inherits: true;\n initial-value: #fff;\n }\n @property --border {\n syntax: '*';\n inherits: true;\n initial-value: 1px solid oklch(25% 0.02 240);\n }\n @property --border-subtle {\n syntax: '*';\n inherits: true;\n initial-value: 1px solid oklch(18% 0.02 240);\n }\n @property --disabled-opacity {\n syntax: '<number>';\n inherits: true;\n initial-value: 0.5;\n }\n @property --transition {\n syntax: '<time>';\n inherits: true;\n initial-value: 0.15s;\n }\n @property --prominence-idle-opacity {\n syntax: '<number>';\n inherits: true;\n initial-value: 0.6;\n }\n @property --prominence-idle-saturate {\n syntax: '<number>';\n inherits: true;\n initial-value: 0.4;\n }\n @property --prominence-tickled-opacity {\n syntax: '<number>';\n inherits: true;\n initial-value: 0.85;\n }\n @property --prominence-tickled-saturate {\n syntax: '<number>';\n inherits: true;\n initial-value: 0.8;\n }\n @property --prominence-disabled-opacity {\n syntax: '<number>';\n inherits: true;\n initial-value: 0.3;\n }\n @property --prominence-disabled-saturate {\n syntax: '<number>';\n inherits: true;\n initial-value: 0.1;\n }\n @property --crumb-item-bg {\n syntax: '<color>';\n inherits: true;\n initial-value: transparent;\n }\n @property --crumb-item-bg-tickled {\n syntax: '<color>';\n inherits: true;\n initial-value: var(--surface-5);\n }\n @property --crumb-item-text-tickled {\n syntax: '<color>';\n inherits: true;\n initial-value: inherit;\n }\n @property --crumb-item-border {\n syntax: '*';\n inherits: true;\n initial-value: 1px solid transparent;\n }\n @property --crumb-item-border-tickled {\n syntax: '<color>';\n inherits: true;\n initial-value: var(--accent);\n }\n @property --crumb-item-padding {\n syntax: '*';\n inherits: true;\n initial-value: var(--space-xs);\n }\n @property --crumb-item-border-radius {\n syntax: '<length>';\n inherits: true;\n initial-value: var(--radius-m);\n }\n @property --crumb-item-gap {\n syntax: '<length>';\n inherits: true;\n initial-value: var(--space-xs);\n }\n @property --crumb-separator {\n syntax: '<color>';\n inherits: true;\n initial-value: var(--surface-muted-text);\n }\n @property --crumb-truncate-min-width {\n syntax: '<length>';\n inherits: true;\n initial-value: 5ch;\n }\n @property --space-xs {\n syntax: '<length>';\n inherits: true;\n initial-value: 3px;\n }\n @property --space-s {\n syntax: '<length>';\n inherits: true;\n initial-value: 4px;\n }\n @property --space-m {\n syntax: '<length>';\n inherits: true;\n initial-value: 8px;\n }\n @property --space-l {\n syntax: '<length>';\n inherits: true;\n initial-value: 12px;\n }\n @property --space-xl {\n syntax: '<length>';\n inherits: true;\n initial-value: 16px;\n }\n @property --space-2xl {\n syntax: '<length>';\n inherits: true;\n initial-value: 20px;\n }\n @property --text-xs {\n syntax: '<length>';\n inherits: true;\n initial-value: 9px;\n }\n @property --text-s {\n syntax: '<length>';\n inherits: true;\n initial-value: 11px;\n }\n @property --text-m {\n syntax: '<length>';\n inherits: true;\n initial-value: 12px;\n }\n @property --text-l {\n syntax: '<length>';\n inherits: true;\n initial-value: 13px;\n }\n @property --text-xl {\n syntax: '<length>';\n inherits: true;\n initial-value: 16px;\n }\n @property --text-2xl {\n syntax: '<length>';\n inherits: true;\n initial-value: 20px;\n }\n @property --font-weight-bold {\n syntax: '<number>';\n inherits: true;\n initial-value: 600;\n }\n @property --radius-s {\n syntax: '<length>';\n inherits: true;\n initial-value: 3px;\n }\n @property --radius-m {\n syntax: '<length>';\n inherits: true;\n initial-value: 4px;\n }\n @property --radius-l {\n syntax: '<length>';\n inherits: true;\n initial-value: 6px;\n }\n @property --radius-xl {\n syntax: '<length>';\n inherits: true;\n initial-value: 8px;\n }\n @property --shadow-m {\n syntax: '*';\n inherits: true;\n initial-value: 0 4px 12px rgba(0, 0, 0, 0.3);\n }\n @property --shadow-l {\n syntax: '*';\n inherits: true;\n initial-value: 0 4px 24px rgba(0, 0, 0, 0.5);\n }\n @property --deboss-3 {\n syntax: '*';\n inherits: true;\n initial-value:\n inset 1px 1px 1px 1px color-mix(in oklch, oklch(8% 0.02 240) 60%, transparent),\n inset -1px -1px 1px 1px color-mix(in oklch, oklch(15% 0.02 240) 50%, transparent),\n -2px -2px 1px 0px color-mix(in oklch, oklch(12% 0.02 240) 30%, transparent);\n }\n @property --emboss-3 {\n syntax: '*';\n inherits: true;\n initial-value:\n inset 1px 1px 1px 1px color-mix(in oklch, oklch(22% 0.02 240) 30%, transparent),\n inset -1px -1px 1px 1px color-mix(in oklch, oklch(12% 0.02 240) 20%, transparent),\n 2px 2px 1px 0px color-mix(in oklch, oklch(12% 0.02 240) 30%, transparent);\n }\n @property --item-bg {\n syntax: '<color>';\n inherits: true;\n initial-value: transparent;\n }\n @property --item-bg-tickled {\n syntax: '<color>';\n inherits: true;\n initial-value: oklch(19% 0.02 240);\n }\n @property --item-bg-selected {\n syntax: '<color>';\n inherits: true;\n initial-value: oklch(60% 0.15 140);\n }\n @property --item-bg-selected-tickled {\n syntax: '<color>';\n inherits: true;\n initial-value: color-mix(in oklch, oklch(60% 0.15 140) 80%, oklch(0% 0 0));\n }\n @property --item-text-tickled {\n syntax: '<color>';\n inherits: true;\n initial-value: #fff;\n }\n @property --item-text-selected {\n syntax: '<color>';\n inherits: true;\n initial-value: #fff;\n }\n @property --item-border {\n syntax: '*';\n inherits: true;\n initial-value: 1px solid oklch(19% 0.02 240);\n }\n @property --item-border-tickled {\n syntax: '*';\n inherits: true;\n initial-value: 1px solid oklch(19% 0.02 240);\n }\n @property --item-border-selected {\n syntax: '*';\n inherits: true;\n initial-value: 1px dashed oklch(60% 0.15 140);\n }\n @property --item-border-active {\n syntax: '*';\n inherits: true;\n initial-value: 2px solid oklch(60% 0.15 140);\n }\n @property --item-border-dragged {\n syntax: '*';\n inherits: true;\n initial-value: 2px dotted color-mix(in oklch, oklch(60% 0.15 140) 80%, transparent);\n }\n @property --item-border-disabled {\n syntax: '*';\n inherits: true;\n initial-value: 1px solid oklch(22% 0.02 240);\n }\n @property --item-padding {\n syntax: '*';\n inherits: true;\n initial-value: 4px 8px;\n }\n @property --item-border-radius {\n syntax: '<length>';\n inherits: true;\n initial-value: 4px;\n }\n @property --item-icon-spacing {\n syntax: '<length>';\n inherits: true;\n initial-value: 4px;\n }\n`;\n\nlet _themeFallbacksRegistered = false;\n\nfunction _registerThemeFallbacksOnce(): void {\n if (_themeFallbacksRegistered || typeof document === `undefined`)\n return;\n _themeFallbacksRegistered = true;\n const styleEl = document.createElement(`style`);\n styleEl.textContent = _themeFallbacksCss.cssText;\n document.head.append(styleEl);\n}\n\n_registerThemeFallbacksOnce();\n\n/**\n * Spread this into any component whose styles reference theme variables.\n * It is an empty stylesheet — the actual `@property` rules are registered\n * once at the document level as a side effect of importing this module — so\n * this exists only to keep the familiar `static styles = [themeFallbacks, ...]`\n * pattern working across all consuming components.\n */\nexport const themeFallbacks = css``;\n"],"mappings":";;;;;;;;;;;;;;;;;;AAkBA,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgY9B,IAAI,4BAA4B;AAEhC,SAAS,8BAAoC;CAC3C,IAAI,6BAA6B,OAAO,aAAa,aACnD;CACF,4BAA4B;CAC5B,MAAM,UAAU,SAAS,cAAc,OAAO;CAC9C,QAAQ,cAAc,mBAAmB;CACzC,SAAS,KAAK,OAAO,OAAO;AAC9B;AAEA,4BAA4B;;;;;;;;AAS5B,MAAa,iBAAiB,GAAG"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as TickledController } from "./tickled-controller-Dh1Uh_vG.js";
|
|
2
2
|
import { n as tickledStyles, t as tickledItemStyles } from "./tickled-styles-BrAHEj1q.js";
|
|
3
|
-
import { t as themeFallbacks } from "./fallbacks-
|
|
3
|
+
import { t as themeFallbacks } from "./fallbacks-DQ_5OsmR.js";
|
|
4
4
|
import { n as safeCustomElement, t as __decorate } from "./decorate-VRK8rslU.js";
|
|
5
5
|
import { c as createElementListSearchAdapter, d as createDataListSearchAdapter, i as ListSearchController, n as listSearchStyles, o as registerListSearchCommands, r as LIST_SEARCH_MODES, u as keyForElement } from "./incr-search-C05WjbZh.js";
|
|
6
6
|
import { t as ListNativeDragController } from "./list-native-drag-controller-B0hWdbtM.js";
|
|
@@ -8,12 +8,12 @@ import { r as ListDragSelectController, t as ListSelectionController } from "./l
|
|
|
8
8
|
import { i as listItemFadeKeyframes } from "./list-item-animation-BUoEKi5s.js";
|
|
9
9
|
import "./interaction-BskmlA9t.js";
|
|
10
10
|
import { t as scrollFadeStyles } from "./scroll-fade-CAs1EabA.js";
|
|
11
|
+
import "./pan-text-CqtvjPyK.js";
|
|
11
12
|
import { LitElement, css, html } from "lit";
|
|
12
|
-
import { property,
|
|
13
|
+
import { property, state } from "lit/decorators.js";
|
|
13
14
|
import { createCommandRegistry } from "@clinth/ui-commands";
|
|
14
15
|
import { repeat } from "lit/directives/repeat.js";
|
|
15
16
|
import { createRef, ref } from "lit/directives/ref.js";
|
|
16
|
-
import { classMap } from "lit/directives/class-map.js";
|
|
17
17
|
//#region src/grid-list/grid-list-source.ts
|
|
18
18
|
const ITEM_SELECTOR$1 = `:scope > *`;
|
|
19
19
|
const SYNTHETIC_PREFIX = `gl-auto-`;
|
|
@@ -234,233 +234,6 @@ var DataGridListSource = class {
|
|
|
234
234
|
}
|
|
235
235
|
};
|
|
236
236
|
//#endregion
|
|
237
|
-
//#region src/pan-text/pan-text.ts
|
|
238
|
-
const SPEED = 45;
|
|
239
|
-
const END_PADDING = 4;
|
|
240
|
-
const START_DELAY = 300;
|
|
241
|
-
const END_DWELL = 2e3;
|
|
242
|
-
const RESET_DURATION = 400;
|
|
243
|
-
const PAN_EASING = `cubic-bezier(0.25, 0.46, 0.45, 0.94)`;
|
|
244
|
-
let PanTextElement = class PanTextElement extends LitElement {
|
|
245
|
-
constructor(..._args) {
|
|
246
|
-
super(..._args);
|
|
247
|
-
this.direction = `end`;
|
|
248
|
-
this.disabled = false;
|
|
249
|
-
this.mode = `hover`;
|
|
250
|
-
this._isOverflowing = false;
|
|
251
|
-
this._isHovering = false;
|
|
252
|
-
this._loopActive = false;
|
|
253
|
-
this._loopAtEnd = false;
|
|
254
|
-
this._overflow = 0;
|
|
255
|
-
this._resizeObserver = null;
|
|
256
|
-
this._loopTimer = 0;
|
|
257
|
-
this._onMouseEnter = () => {
|
|
258
|
-
this._isHovering = true;
|
|
259
|
-
};
|
|
260
|
-
this._onMouseLeave = () => {
|
|
261
|
-
this._isHovering = false;
|
|
262
|
-
};
|
|
263
|
-
this._measure = () => {
|
|
264
|
-
if (this._isHovering || this._loopAtEnd) return;
|
|
265
|
-
const el = this._textEl;
|
|
266
|
-
if (!el) return;
|
|
267
|
-
this._overflow = Math.max(0, el.scrollWidth - el.clientWidth);
|
|
268
|
-
const overflowing = this._overflow > 0;
|
|
269
|
-
this.classList.toggle(`is-overflowing`, overflowing);
|
|
270
|
-
if (overflowing !== this._isOverflowing) this._isOverflowing = overflowing;
|
|
271
|
-
if (this._loopActive && this.mode === `loop` && !this.disabled && overflowing && this._loopTimer === 0) this._scheduleLoopPan(START_DELAY);
|
|
272
|
-
if (!overflowing && this._loopAtEnd) {
|
|
273
|
-
this._loopAtEnd = false;
|
|
274
|
-
this.requestUpdate();
|
|
275
|
-
}
|
|
276
|
-
};
|
|
277
|
-
}
|
|
278
|
-
connectedCallback() {
|
|
279
|
-
super.connectedCallback();
|
|
280
|
-
this._resizeObserver = new ResizeObserver(() => this._measure());
|
|
281
|
-
this.addEventListener(`mouseenter`, this._onMouseEnter);
|
|
282
|
-
this.addEventListener(`mouseleave`, this._onMouseLeave);
|
|
283
|
-
}
|
|
284
|
-
disconnectedCallback() {
|
|
285
|
-
super.disconnectedCallback();
|
|
286
|
-
this._clearLoopTimer();
|
|
287
|
-
this._loopActive = false;
|
|
288
|
-
this._loopAtEnd = false;
|
|
289
|
-
this._resizeObserver?.disconnect();
|
|
290
|
-
this._resizeObserver = null;
|
|
291
|
-
this.removeEventListener(`mouseenter`, this._onMouseEnter);
|
|
292
|
-
this.removeEventListener(`mouseleave`, this._onMouseLeave);
|
|
293
|
-
}
|
|
294
|
-
firstUpdated() {
|
|
295
|
-
this._measure();
|
|
296
|
-
this._resizeObserver?.observe(this);
|
|
297
|
-
document.fonts?.ready.then(() => this._measure());
|
|
298
|
-
if (this.mode === `loop`) this.startLoop();
|
|
299
|
-
}
|
|
300
|
-
updated(changed) {
|
|
301
|
-
if (changed.has(`mode`)) {
|
|
302
|
-
if (this.mode === `loop`) this.startLoop();
|
|
303
|
-
else this.stopLoop();
|
|
304
|
-
}
|
|
305
|
-
if (changed.has(`disabled`) && this.disabled) this.stopLoop();
|
|
306
|
-
this._measure();
|
|
307
|
-
}
|
|
308
|
-
/**
|
|
309
|
-
* Whether a loop pan is currently active (between `startLoop()` and `stopLoop()`).
|
|
310
|
-
*/
|
|
311
|
-
get looping() {
|
|
312
|
-
return this._loopActive;
|
|
313
|
-
}
|
|
314
|
-
/**
|
|
315
|
-
* Begin looping: pan to the end, dwell there for 2 seconds, reset to the
|
|
316
|
-
* start and pan again, repeating until `stopLoop()` is called. A no-op when
|
|
317
|
-
* `disabled`, when there is nothing to reveal, or under reduced-motion.
|
|
318
|
-
*/
|
|
319
|
-
startLoop() {
|
|
320
|
-
if (this.disabled || this._prefersReducedMotion()) return;
|
|
321
|
-
this._loopActive = true;
|
|
322
|
-
this._loopAtEnd = false;
|
|
323
|
-
this.requestUpdate();
|
|
324
|
-
if (this._isOverflowing && this._loopTimer === 0) this._scheduleLoopPan(START_DELAY);
|
|
325
|
-
}
|
|
326
|
-
/**
|
|
327
|
-
* Stop a loop started with `startLoop()` and snap back to the rest position.
|
|
328
|
-
*/
|
|
329
|
-
stopLoop() {
|
|
330
|
-
if (!this._loopActive && !this._loopAtEnd && this._loopTimer === 0) return;
|
|
331
|
-
this._clearLoopTimer();
|
|
332
|
-
this._loopActive = false;
|
|
333
|
-
this._loopAtEnd = false;
|
|
334
|
-
this.requestUpdate();
|
|
335
|
-
}
|
|
336
|
-
_prefersReducedMotion() {
|
|
337
|
-
return globalThis.matchMedia?.(`(prefers-reduced-motion: reduce)`).matches ?? false;
|
|
338
|
-
}
|
|
339
|
-
_panDuration() {
|
|
340
|
-
return Math.max(1.5, (this._overflow + END_PADDING) / SPEED);
|
|
341
|
-
}
|
|
342
|
-
_clearLoopTimer() {
|
|
343
|
-
if (this._loopTimer !== 0) {
|
|
344
|
-
clearTimeout(this._loopTimer);
|
|
345
|
-
this._loopTimer = 0;
|
|
346
|
-
}
|
|
347
|
-
}
|
|
348
|
-
_scheduleLoopPan(delay) {
|
|
349
|
-
this._clearLoopTimer();
|
|
350
|
-
this._loopTimer = window.setTimeout(() => {
|
|
351
|
-
this._loopTimer = 0;
|
|
352
|
-
if (!this._loopActive || this.disabled || !this._isOverflowing) return;
|
|
353
|
-
this._loopAtEnd = true;
|
|
354
|
-
this.requestUpdate();
|
|
355
|
-
const dwell = this._panDuration() * 1e3 + END_DWELL;
|
|
356
|
-
this._loopTimer = window.setTimeout(() => {
|
|
357
|
-
this._loopTimer = 0;
|
|
358
|
-
if (!this._loopActive) return;
|
|
359
|
-
this._loopAtEnd = false;
|
|
360
|
-
this.requestUpdate();
|
|
361
|
-
this._scheduleLoopPan(700);
|
|
362
|
-
}, dwell);
|
|
363
|
-
}, delay);
|
|
364
|
-
}
|
|
365
|
-
_textStyle() {
|
|
366
|
-
if (!this._isOverflowing) return ``;
|
|
367
|
-
const distance = this._overflow + END_PADDING;
|
|
368
|
-
const duration = Math.max(1.5, distance / SPEED);
|
|
369
|
-
const revealEnd = this.direction === `end`;
|
|
370
|
-
const restX = revealEnd ? 0 : -distance;
|
|
371
|
-
const hoverX = revealEnd ? -distance : 0;
|
|
372
|
-
if (this._loopActive && this.mode === `loop`) {
|
|
373
|
-
if (this._loopAtEnd) return [
|
|
374
|
-
`transform: translateX(${hoverX}px)`,
|
|
375
|
-
`transition: transform ${duration}s ${PAN_EASING}`,
|
|
376
|
-
`overflow: visible`,
|
|
377
|
-
`text-overflow: clip`
|
|
378
|
-
].join(`; `);
|
|
379
|
-
return [
|
|
380
|
-
`transform: translateX(${restX}px)`,
|
|
381
|
-
`transition: transform ${RESET_DURATION}ms ${PAN_EASING}`,
|
|
382
|
-
revealEnd ? `` : `overflow: visible; text-overflow: clip`
|
|
383
|
-
].filter(Boolean).join(`; `);
|
|
384
|
-
}
|
|
385
|
-
if (this._isHovering) return [
|
|
386
|
-
`transform: translateX(${hoverX}px)`,
|
|
387
|
-
`transition: transform ${duration}s ${PAN_EASING} ${START_DELAY}ms`,
|
|
388
|
-
`overflow: visible`,
|
|
389
|
-
`text-overflow: clip`
|
|
390
|
-
].join(`; `);
|
|
391
|
-
return [
|
|
392
|
-
`transform: translateX(${restX}px)`,
|
|
393
|
-
`transition: transform 400ms ${PAN_EASING}`,
|
|
394
|
-
revealEnd ? `` : `overflow: visible; text-overflow: clip`
|
|
395
|
-
].filter(Boolean).join(`; `);
|
|
396
|
-
}
|
|
397
|
-
render() {
|
|
398
|
-
const textClasses = {
|
|
399
|
-
"is-overflowing": this._isOverflowing,
|
|
400
|
-
"is-hovering": this._isHovering
|
|
401
|
-
};
|
|
402
|
-
return html`
|
|
403
|
-
<span class="text ${classMap(textClasses)}" part="text" style=${this._textStyle()}>
|
|
404
|
-
<slot @slotchange=${this._measure}></slot>
|
|
405
|
-
</span>
|
|
406
|
-
`;
|
|
407
|
-
}
|
|
408
|
-
static {
|
|
409
|
-
this.styles = [themeFallbacks, css`
|
|
410
|
-
/* Renders like plain inline text: no colours, border, padding or margin
|
|
411
|
-
of its own — it only adds the clipping needed to pan on hover. */
|
|
412
|
-
:host {
|
|
413
|
-
display: inline-block;
|
|
414
|
-
overflow: hidden;
|
|
415
|
-
white-space: nowrap;
|
|
416
|
-
max-width: 100%;
|
|
417
|
-
box-sizing: border-box;
|
|
418
|
-
font: inherit;
|
|
419
|
-
color: inherit;
|
|
420
|
-
}
|
|
421
|
-
|
|
422
|
-
:host([disabled]) {
|
|
423
|
-
opacity: var(--disabled-opacity, 0.5);
|
|
424
|
-
pointer-events: none;
|
|
425
|
-
}
|
|
426
|
-
|
|
427
|
-
.text {
|
|
428
|
-
display: block;
|
|
429
|
-
overflow: hidden;
|
|
430
|
-
text-overflow: ellipsis;
|
|
431
|
-
white-space: nowrap;
|
|
432
|
-
will-change: transform;
|
|
433
|
-
}
|
|
434
|
-
|
|
435
|
-
@media (prefers-reduced-motion: reduce) {
|
|
436
|
-
.text {
|
|
437
|
-
transition: none !important;
|
|
438
|
-
transform: none !important;
|
|
439
|
-
}
|
|
440
|
-
}
|
|
441
|
-
`];
|
|
442
|
-
}
|
|
443
|
-
};
|
|
444
|
-
__decorate([property({
|
|
445
|
-
type: String,
|
|
446
|
-
attribute: `direction`
|
|
447
|
-
})], PanTextElement.prototype, "direction", void 0);
|
|
448
|
-
__decorate([property({
|
|
449
|
-
type: Boolean,
|
|
450
|
-
attribute: `disabled`
|
|
451
|
-
})], PanTextElement.prototype, "disabled", void 0);
|
|
452
|
-
__decorate([property({
|
|
453
|
-
type: String,
|
|
454
|
-
attribute: `mode`,
|
|
455
|
-
reflect: true
|
|
456
|
-
})], PanTextElement.prototype, "mode", void 0);
|
|
457
|
-
__decorate([state()], PanTextElement.prototype, "_isOverflowing", void 0);
|
|
458
|
-
__decorate([state()], PanTextElement.prototype, "_isHovering", void 0);
|
|
459
|
-
__decorate([state()], PanTextElement.prototype, "_loopActive", void 0);
|
|
460
|
-
__decorate([state()], PanTextElement.prototype, "_loopAtEnd", void 0);
|
|
461
|
-
__decorate([query(`.text`)], PanTextElement.prototype, "_textEl", void 0);
|
|
462
|
-
PanTextElement = __decorate([safeCustomElement(`ixfx-pan-text`)], PanTextElement);
|
|
463
|
-
//#endregion
|
|
464
237
|
//#region src/grid-list/grid-list.ts
|
|
465
238
|
const ITEM_SELECTOR = `:scope > *`;
|
|
466
239
|
const MIN_ITEM_SIZE = 16;
|
|
@@ -2104,6 +1877,6 @@ __decorate([state()], GridListElement.prototype, "_viewportHeight", void 0);
|
|
|
2104
1877
|
__decorate([state()], GridListElement.prototype, "_viewportWidth", void 0);
|
|
2105
1878
|
GridListElement = __decorate([safeCustomElement(`ixfx-grid-list`)], GridListElement);
|
|
2106
1879
|
//#endregion
|
|
2107
|
-
export {
|
|
1880
|
+
export { GridListElement as t };
|
|
2108
1881
|
|
|
2109
|
-
//# sourceMappingURL=grid-list-
|
|
1882
|
+
//# sourceMappingURL=grid-list-40blkeza.js.map
|