@threadlabs/looma 0.1.2 → 0.1.4

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.
Files changed (107) hide show
  1. package/dist/{chunk-YK4MTZGJ.js → chunk-3PASQ7DE.js} +26 -26
  2. package/dist/cjs/ui-button.cjs.entry.js +3 -4
  3. package/dist/cjs/ui-dialog.cjs.entry.js +1 -1
  4. package/dist/cjs/ui-floating-action-button.cjs.entry.js +1 -1
  5. package/dist/cjs/ui-menu.cjs.entry.js +1 -1
  6. package/dist/cjs/ui-popover.cjs.entry.js +1 -1
  7. package/dist/cjs/ui-search-shell.cjs.entry.js +1 -1
  8. package/dist/cjs/ui-tabs.cjs.entry.js +1 -1
  9. package/dist/cjs/ui-toast-region.cjs.entry.js +1 -1
  10. package/dist/cjs/ui-top-bar.cjs.entry.js +1 -1
  11. package/dist/collection/components/ui-button/ui-button.css +22 -12
  12. package/dist/collection/components/ui-button/ui-button.js +7 -7
  13. package/dist/collection/components/ui-dialog/ui-dialog.css +10 -4
  14. package/dist/collection/components/ui-floating-action-button/ui-floating-action-button.css +4 -1
  15. package/dist/collection/components/ui-menu/ui-menu.css +4 -1
  16. package/dist/collection/components/ui-popover/ui-popover.css +7 -1
  17. package/dist/collection/components/ui-search-shell/ui-search-shell.css +3 -1
  18. package/dist/collection/components/ui-tabs/ui-tabs.css +3 -0
  19. package/dist/collection/components/ui-toast-region/ui-toast-region.css +3 -2
  20. package/dist/collection/components/ui-top-bar/ui-top-bar.css +10 -2
  21. package/dist/components/p-gHC_Ei92.js +1 -0
  22. package/dist/components/ui-button.js +1 -1
  23. package/dist/components/ui-context-menu.js +1 -1
  24. package/dist/components/ui-dialog.js +1 -1
  25. package/dist/components/ui-floating-action-button.js +1 -1
  26. package/dist/components/ui-menu.js +1 -1
  27. package/dist/components/ui-popover.js +1 -1
  28. package/dist/components/ui-search-shell.js +1 -1
  29. package/dist/components/ui-tabs.js +1 -1
  30. package/dist/components/ui-toast-region.js +1 -1
  31. package/dist/components/ui-top-bar.js +1 -1
  32. package/dist/esm/ui-button.entry.js +3 -4
  33. package/dist/esm/ui-dialog.entry.js +1 -1
  34. package/dist/esm/ui-floating-action-button.entry.js +1 -1
  35. package/dist/esm/ui-menu.entry.js +1 -1
  36. package/dist/esm/ui-popover.entry.js +1 -1
  37. package/dist/esm/ui-search-shell.entry.js +1 -1
  38. package/dist/esm/ui-tabs.entry.js +1 -1
  39. package/dist/esm/ui-toast-region.entry.js +1 -1
  40. package/dist/esm/ui-top-bar.entry.js +1 -1
  41. package/dist/index.cjs +11 -12
  42. package/dist/index.js +1 -1
  43. package/dist/looma/looma.esm.js +1 -1
  44. package/dist/looma/p-01425a37.entry.js +1 -0
  45. package/dist/looma/p-07167650.entry.js +1 -0
  46. package/dist/looma/{p-341ba64a.entry.js → p-3ecd7120.entry.js} +1 -1
  47. package/dist/looma/p-5717a4c4.entry.js +1 -0
  48. package/dist/looma/p-940a931a.entry.js +1 -0
  49. package/dist/looma/p-941221ad.entry.js +1 -0
  50. package/dist/looma/p-a7be33fd.entry.js +1 -0
  51. package/dist/looma/{p-4742e6b4.entry.js → p-cb15e8e3.entry.js} +1 -1
  52. package/dist/looma/p-d39905f9.entry.js +1 -0
  53. package/dist/types/components/ui-button/ui-button.d.ts +1 -1
  54. package/dist/types/components.d.ts +9 -3
  55. package/dist/{ui-avatar-group.entry-BZGXBOSE.js → ui-avatar-group.entry-DBVLQ4KB.js} +1 -1
  56. package/dist/{ui-avatar.entry-S2O2W5SA.js → ui-avatar.entry-2WTBM2EC.js} +1 -1
  57. package/dist/{ui-badge.entry-CVJDISCR.js → ui-badge.entry-XKIGBK5V.js} +1 -1
  58. package/dist/ui-button.entry-PWT56MPD.js +71 -0
  59. package/dist/{ui-checkbox.entry-5RA2CB43.js → ui-checkbox.entry-QT5S7EEL.js} +1 -1
  60. package/dist/{ui-context-menu.entry-UUOCT75F.js → ui-context-menu.entry-NGWR3LOZ.js} +1 -1
  61. package/dist/{ui-dialog.entry-OEPJTEES.js → ui-dialog.entry-PEDDIALQ.js} +2 -2
  62. package/dist/{ui-disclosure.entry-LRRISGUD.js → ui-disclosure.entry-UKO7MAZM.js} +1 -1
  63. package/dist/ui-floating-action-button.entry-SSGHRMCO.js +23 -0
  64. package/dist/{ui-form-field.entry-73YOVICF.js → ui-form-field.entry-6TZCWPYL.js} +1 -1
  65. package/dist/{ui-icon-button.entry-MNXGPG36.js → ui-icon-button.entry-WMCYMK2H.js} +1 -1
  66. package/dist/{ui-input.entry-UWRVAOSW.js → ui-input.entry-AZ5BGQNA.js} +1 -1
  67. package/dist/{ui-menu-item.entry-5AOJO5MP.js → ui-menu-item.entry-L4NJDBKF.js} +1 -1
  68. package/dist/{ui-menu.entry-YDS6UMB5.js → ui-menu.entry-DGUYAE3Q.js} +2 -2
  69. package/dist/{ui-popover.entry-PGWDCQIX.js → ui-popover.entry-A54EKVZG.js} +2 -2
  70. package/dist/{ui-radio-group.entry-RHP5GNWU.js → ui-radio-group.entry-6YP4LY4N.js} +1 -1
  71. package/dist/{ui-radio.entry-5WRWPSTK.js → ui-radio.entry-CGYNK7PN.js} +1 -1
  72. package/dist/{ui-search-result-row.entry-IKJB2SJJ.js → ui-search-result-row.entry-DGKSI2QM.js} +1 -1
  73. package/dist/{ui-search-shell.entry-ZIWF4ZHH.js → ui-search-shell.entry-3F5ASGTW.js} +2 -2
  74. package/dist/{ui-select.entry-N5TIKHR7.js → ui-select.entry-SXSZPVXA.js} +1 -1
  75. package/dist/{ui-switch.entry-WUSZTXIR.js → ui-switch.entry-AD4EVUWM.js} +1 -1
  76. package/dist/{ui-tabs.entry-UFAVAQIF.js → ui-tabs.entry-WLKO5G5N.js} +2 -2
  77. package/dist/{ui-textarea.entry-BYT47RAQ.js → ui-textarea.entry-IHPC7Q4R.js} +1 -1
  78. package/dist/{ui-toast-region.entry-6UYR3ZU2.js → ui-toast-region.entry-GCW2LJAC.js} +2 -2
  79. package/dist/{ui-tooltip.entry-YS7UX4FS.js → ui-tooltip.entry-EU2G6BH5.js} +1 -1
  80. package/dist/{ui-top-bar.entry-V27H6NFO.js → ui-top-bar.entry-NMAFXVET.js} +2 -2
  81. package/editor/{chunk-PQAV4KXC.js → chunk-CWCXYQMT.js} +4 -4
  82. package/editor/index.js +1 -1
  83. package/editor/ui.js +1 -1
  84. package/editor.css +68 -24
  85. package/layout/index.cjs +82 -0
  86. package/layout/index.css +165 -8
  87. package/layout/index.js +82 -0
  88. package/layout.css +113 -9
  89. package/package.json +1 -1
  90. package/styles.css +23 -17
  91. package/theme-dark.css +6 -6
  92. package/theme-light.css +3 -3
  93. package/tokens.css +16 -16
  94. package/vue/{chunk-J4UBEIIL.js → chunk-P72L3GWE.js} +1 -0
  95. package/vue/editor/index.js +1 -1
  96. package/vue/index.d.ts +13 -1
  97. package/vue/index.js +10 -1
  98. package/dist/components/p-WvL4iAhX.js +0 -1
  99. package/dist/looma/p-52c537fa.entry.js +0 -1
  100. package/dist/looma/p-649dad92.entry.js +0 -1
  101. package/dist/looma/p-ab4151d5.entry.js +0 -1
  102. package/dist/looma/p-dff144bd.entry.js +0 -1
  103. package/dist/looma/p-ebb74106.entry.js +0 -1
  104. package/dist/looma/p-ecb5739b.entry.js +0 -1
  105. package/dist/looma/p-fa4659c4.entry.js +0 -1
  106. package/dist/ui-button.entry-LNJBEJFE.js +0 -72
  107. package/dist/ui-floating-action-button.entry-7TSAZRXP.js +0 -23
@@ -44,7 +44,10 @@ export namespace Components {
44
44
  */
45
45
  "disabled": boolean;
46
46
  "size"?: string;
47
- "variant"?: string;
47
+ /**
48
+ * @default 'outline'
49
+ */
50
+ "variant": 'outline' | 'solid' | 'destructive' | 'ghost';
48
51
  }
49
52
  interface UiCheckbox {
50
53
  /**
@@ -610,7 +613,10 @@ declare namespace LocalJSX {
610
613
  */
611
614
  "disabled"?: boolean;
612
615
  "size"?: string;
613
- "variant"?: string;
616
+ /**
617
+ * @default 'outline'
618
+ */
619
+ "variant"?: 'outline' | 'solid' | 'destructive' | 'ghost';
614
620
  }
615
621
  interface UiCheckbox {
616
622
  /**
@@ -966,7 +972,7 @@ declare namespace LocalJSX {
966
972
  "tone": string;
967
973
  }
968
974
  interface UiButtonAttributes {
969
- "variant": string;
975
+ "variant": 'outline' | 'solid' | 'destructive' | 'ghost';
970
976
  "size": string;
971
977
  "disabled": boolean;
972
978
  }
@@ -3,7 +3,7 @@ import {
3
3
  getElement,
4
4
  h,
5
5
  registerInstance
6
- } from "./chunk-YK4MTZGJ.js";
6
+ } from "./chunk-3PASQ7DE.js";
7
7
 
8
8
  // dist/esm/ui-avatar-group.entry.js
9
9
  var uiAvatarGroupCss = () => `:host{display:flex;align-items:center;flex-direction:row-reverse;gap:0}::slotted(*:not([data-ui-avatar-group-overflow])){margin-inline-end:-0.5rem;flex-shrink:0}::slotted(*:last-of-type:not([data-ui-avatar-group-overflow])){margin-inline-end:0}.overflow{margin-inline-end:-0.5rem;display:inline-flex;align-items:center;justify-content:center;inline-size:2.5rem;block-size:2.5rem;border-radius:999px;border:1px solid var(--ui-border-default);background:var(--ui-surface-muted);color:var(--ui-text-secondary);font:inherit;font-size:0.75rem;font-weight:600;flex-shrink:0}`;
@@ -2,7 +2,7 @@ import {
2
2
  Host,
3
3
  h,
4
4
  registerInstance
5
- } from "./chunk-YK4MTZGJ.js";
5
+ } from "./chunk-3PASQ7DE.js";
6
6
 
7
7
  // dist/esm/ui-avatar.entry.js
8
8
  function toInitials(value) {
@@ -2,7 +2,7 @@ import {
2
2
  Host,
3
3
  h,
4
4
  registerInstance
5
- } from "./chunk-YK4MTZGJ.js";
5
+ } from "./chunk-3PASQ7DE.js";
6
6
 
7
7
  // dist/esm/ui-badge.entry.js
8
8
  var uiBadgeCss = () => `:host{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--ui-border-default);border-radius:999px;background:var(--ui-surface-muted);color:var(--ui-text-secondary);font:inherit;font-size:0.75rem;line-height:1;padding:0.25em 0.6em;white-space:nowrap}:host([data-tone='accent']){background:var(--ui-accent-solid);border-color:var(--ui-accent-solid);color:var(--ui-text-on-accent)}:host([data-tone='danger']){background:var(--ui-danger-solid);border-color:var(--ui-danger-solid);color:var(--ui-text-on-accent)}:host([data-tone='success']){background:var(--ui-success-solid);border-color:var(--ui-success-solid);color:var(--ui-text-on-accent)}:host([data-tone='warning']){background:var(--ui-warning-solid);border-color:var(--ui-warning-solid);color:var(--ui-text-primary)}:host([data-tone='info']){background:var(--ui-info-solid);border-color:var(--ui-info-solid);color:var(--ui-text-on-accent)}:host([data-variant='subtle'][data-tone='accent']){background:var(--ui-accent-soft);border-color:var(--ui-accent-soft);color:var(--ui-accent-solid)}:host([data-variant='subtle'][data-tone='danger']){background:var(--ui-danger-soft);border-color:var(--ui-danger-soft);color:var(--ui-danger-solid)}:host([data-variant='subtle'][data-tone='success']){background:var(--ui-success-soft);border-color:var(--ui-success-soft);color:var(--ui-success-solid)}:host([data-variant='subtle'][data-tone='warning']){background:var(--ui-warning-soft);border-color:var(--ui-warning-soft);color:var(--ui-warning-solid)}:host([data-variant='subtle'][data-tone='info']){background:var(--ui-info-soft);border-color:var(--ui-info-soft);color:var(--ui-info-solid)}`;
@@ -0,0 +1,71 @@
1
+ import {
2
+ isActivationKey
3
+ } from "./chunk-UL7UIUJZ.js";
4
+ import {
5
+ Host,
6
+ getElement,
7
+ h,
8
+ registerInstance
9
+ } from "./chunk-3PASQ7DE.js";
10
+
11
+ // dist/esm/ui-button.entry.js
12
+ var uiButtonCss = () => `:host{display:inline-flex;vertical-align:middle;color:var(--ui-text-primary)}:host([variant='outline'])::slotted(button),::slotted(button){appearance:none;border:1px solid var(--ui-border-default);border-radius:var(--ui-button-radius, var(--ui-radius-2));background:var(--ui-surface-default);color:inherit;font:inherit;font-weight:var(--ui-font-medium, 500);line-height:var(--ui-line-height-tight);padding:var(--ui-space-2) var(--ui-space-3);cursor:pointer;transition:background-color var(--ui-motion-fast) var(--ui-motion-ease), border-color var(--ui-motion-fast) var(--ui-motion-ease), color var(--ui-motion-fast) var(--ui-motion-ease), box-shadow var(--ui-motion-fast) var(--ui-motion-ease), transform var(--ui-motion-fast) var(--ui-motion-ease);margin:0}:host([data-size='sm'])::slotted(button){padding:var(--ui-space-1) var(--ui-space-2);font-size:0.875rem}:host([data-size='lg'])::slotted(button){padding:var(--ui-space-3) var(--ui-space-4);font-size:1rem}::slotted(button:hover:enabled){background:var(--ui-surface-muted);border-color:var(--ui-border-strong)}::slotted(button:active:enabled){background:var(--ui-surface-subtle)}:host([variant='solid'])::slotted(button){border-color:var(--ui-accent-solid);background:var(--ui-accent-solid);color:var(--ui-text-on-accent);box-shadow:var(--ui-button-solid-shadow, inset 0 1px rgb(255 255 255 / 0.16), var(--ui-shadow-xs))}:host([variant='solid'])::slotted(button:hover:enabled){background:var(--ui-accent-hover);border-color:var(--ui-accent-hover);box-shadow:var(--ui-shadow-sm);transform:translateY(-1px)}:host([variant='solid'])::slotted(button:active:enabled){background:var(--ui-accent-active);border-color:var(--ui-accent-active);box-shadow:none;transform:translateY(0)}:host([variant='destructive'])::slotted(button){border-color:var(--ui-danger-solid);background:var(--ui-danger-solid);color:var(--ui-text-on-accent);box-shadow:var(--ui-button-destructive-shadow, inset 0 1px rgb(255 255 255 / 0.14), var(--ui-shadow-xs))}:host([variant='destructive'])::slotted(button:hover:enabled){background:var(--ui-danger-hover);border-color:var(--ui-danger-hover);box-shadow:var(--ui-shadow-sm);transform:translateY(-1px)}:host([variant='destructive'])::slotted(button:active:enabled){box-shadow:none;transform:translateY(0)}:host([variant='ghost'])::slotted(button){border-color:transparent;background:transparent}:host([variant='ghost'])::slotted(button:hover:enabled){background:var(--ui-surface-muted);border-color:transparent}:host([variant='ghost'])::slotted(button:active:enabled){background:var(--ui-surface-subtle);border-color:transparent}::slotted(button:focus-visible){outline:2px solid var(--ui-focus-ring);outline-offset:2px}::slotted(button:disabled),:host([data-disabled]){opacity:0.6;cursor:not-allowed}`;
13
+ var UIButton = class {
14
+ constructor(hostRef) {
15
+ registerInstance(this, hostRef);
16
+ }
17
+ get host() {
18
+ return getElement(this);
19
+ }
20
+ variant = "outline";
21
+ size;
22
+ disabled = false;
23
+ slotRef;
24
+ syncToButton() {
25
+ const btn = this.getButton();
26
+ if (!btn)
27
+ return;
28
+ this.host.dataset.size = this.size || "";
29
+ this.host.dataset.disabled = this.disabled ? "true" : "";
30
+ btn.disabled = this.disabled;
31
+ }
32
+ componentDidLoad() {
33
+ this.slotRef?.addEventListener("slotchange", () => this.syncToButton());
34
+ this.syncToButton();
35
+ }
36
+ componentDidUpdate() {
37
+ this.syncToButton();
38
+ }
39
+ getButton() {
40
+ const slot = this.host.shadowRoot?.querySelector("slot");
41
+ const nodes = slot?.assignedElements() ?? Array.from(this.host.children);
42
+ return nodes.find((el) => el.tagName === "BUTTON") ?? null;
43
+ }
44
+ onKeydown = (e) => {
45
+ const btn = this.getButton();
46
+ if (btn || this.disabled || !isActivationKey(e))
47
+ return;
48
+ e.preventDefault();
49
+ this.host.click();
50
+ };
51
+ render() {
52
+ return h(Host, { key: "7840303538ca2e4724ea634809fd6c2ad451f9d1", "data-size": this.size || void 0, "data-disabled": this.disabled ? "" : void 0, onKeyDown: this.onKeydown }, h("slot", { key: "731348c7cbb5c5f196dbd565058e0f410836ace2", ref: (el) => this.slotRef = el }));
53
+ }
54
+ static get watchers() {
55
+ return {
56
+ "variant": [{
57
+ "syncToButton": 0
58
+ }],
59
+ "size": [{
60
+ "syncToButton": 0
61
+ }],
62
+ "disabled": [{
63
+ "syncToButton": 0
64
+ }]
65
+ };
66
+ }
67
+ };
68
+ UIButton.style = uiButtonCss();
69
+ export {
70
+ UIButton as ui_button
71
+ };
@@ -7,7 +7,7 @@ import {
7
7
  getElement,
8
8
  h,
9
9
  registerInstance
10
- } from "./chunk-YK4MTZGJ.js";
10
+ } from "./chunk-3PASQ7DE.js";
11
11
 
12
12
  // dist/esm/ui-checkbox.entry.js
13
13
  var uiCheckboxCss = () => `:host{display:inline-flex;align-items:center;gap:var(--ui-space-2);color:var(--ui-text-primary)}:host([aria-disabled='true']),:host([data-disabled='true']){opacity:0.6;cursor:not-allowed}::slotted(input[type='checkbox']){accent-color:var(--ui-accent-solid);width:1.125em;height:1.125em;cursor:pointer}::slotted(input[type='checkbox']:focus-visible){outline:2px solid var(--ui-accent-solid);outline-offset:2px}`;
@@ -11,7 +11,7 @@ import {
11
11
  getElement,
12
12
  h,
13
13
  registerInstance
14
- } from "./chunk-YK4MTZGJ.js";
14
+ } from "./chunk-3PASQ7DE.js";
15
15
 
16
16
  // dist/esm/ui-context-menu.entry.js
17
17
  var uiContextMenuCss = () => `:host{display:contents}.menu{position:fixed;z-index:var(--ui-z-overlay, 1000);min-width:12rem}.menu[data-open]{display:block}.menu:not([data-open]){display:none !important}`;
@@ -11,10 +11,10 @@ import {
11
11
  getElement,
12
12
  h,
13
13
  registerInstance
14
- } from "./chunk-YK4MTZGJ.js";
14
+ } from "./chunk-3PASQ7DE.js";
15
15
 
16
16
  // dist/esm/ui-dialog.entry.js
17
- var uiDialogCss = () => `:host{display:block}:host:not([open]){display:none}:host dialog{--ui-dialog-duration:var(--ui-motion-base);position:fixed;inset:var(--ui-space-4);width:min(100%, 440px);max-width:min(100%, 440px);margin:auto;padding:var(--ui-space-4);background:var(--ui-surface-elevated);border:1px solid var(--ui-border-default);border-radius:var(--ui-radius-dialog);box-shadow:var(--ui-shadow-dialog);visibility:hidden;pointer-events:none;opacity:0;transform:scale(0.96);transition:opacity var(--ui-dialog-duration) var(--ui-motion-ease), transform var(--ui-dialog-duration) var(--ui-motion-ease), visibility var(--ui-dialog-duration), display var(--ui-dialog-duration) var(--ui-motion-ease) allow-discrete, overlay var(--ui-dialog-duration) var(--ui-motion-ease) allow-discrete}:host dialog[open]{visibility:visible;pointer-events:auto;opacity:1;transform:scale(1);animation:ui-dialog-enter var(--ui-dialog-duration) var(--ui-motion-ease)}@keyframes ui-dialog-enter{from{opacity:0;transform:scale(0.96)}}:host dialog::backdrop{background-color:transparent;transition:background-color var(--ui-dialog-duration) var(--ui-motion-ease), display var(--ui-dialog-duration) var(--ui-motion-ease) allow-discrete, overlay var(--ui-dialog-duration) var(--ui-motion-ease) allow-discrete}:host dialog[open]::backdrop{background-color:var(--ui-overlay-backdrop);animation:ui-dialog-backdrop-enter var(--ui-dialog-duration) var(--ui-motion-ease)}@keyframes ui-dialog-backdrop-enter{from{background-color:transparent}}`;
17
+ var uiDialogCss = () => `:host{display:block}:host:not([data-open]){display:none}:host dialog{--ui-dialog-duration:var(--ui-motion-base);--ui-dialog-viewport-gap:var(--ui-space-4, 1rem);position:fixed;inset:0;inline-size:min( calc(100% - (var(--ui-dialog-viewport-gap) * 2)), var(--ui-dialog-max-width, 440px) );max-inline-size:none;max-block-size:calc(100dvh - (var(--ui-dialog-viewport-gap) * 2));margin:auto;padding:var(--ui-space-4);overflow:auto;background:var(--ui-surface-elevated);border:1px solid var(--ui-border-default);border-radius:var(--ui-radius-dialog);box-shadow:var(--ui-shadow-dialog);visibility:hidden;pointer-events:none;opacity:0;transform:scale(0.96);transition:opacity var(--ui-dialog-duration) var(--ui-motion-ease), transform var(--ui-dialog-duration) var(--ui-motion-ease), visibility var(--ui-dialog-duration), display var(--ui-dialog-duration) var(--ui-motion-ease) allow-discrete, overlay var(--ui-dialog-duration) var(--ui-motion-ease) allow-discrete}:host dialog[open]{visibility:visible;pointer-events:auto;opacity:1;transform:scale(1);animation:ui-dialog-enter var(--ui-dialog-duration) var(--ui-motion-ease)}@keyframes ui-dialog-enter{from{opacity:0;transform:scale(0.96)}}:host dialog::backdrop{background-color:transparent;transition:background-color var(--ui-dialog-duration) var(--ui-motion-ease), display var(--ui-dialog-duration) var(--ui-motion-ease) allow-discrete, overlay var(--ui-dialog-duration) var(--ui-motion-ease) allow-discrete}:host dialog[open]::backdrop{background-color:var(--ui-overlay-backdrop);animation:ui-dialog-backdrop-enter var(--ui-dialog-duration) var(--ui-motion-ease)}@keyframes ui-dialog-backdrop-enter{from{background-color:transparent}}`;
18
18
  var UIDialog = class {
19
19
  constructor(hostRef) {
20
20
  registerInstance(this, hostRef);
@@ -11,7 +11,7 @@ import {
11
11
  getElement,
12
12
  h,
13
13
  registerInstance
14
- } from "./chunk-YK4MTZGJ.js";
14
+ } from "./chunk-3PASQ7DE.js";
15
15
 
16
16
  // dist/esm/ui-disclosure.entry.js
17
17
  var uiDisclosureCss = () => `:host{display:block}::slotted([hidden]){display:none !important}`;
@@ -0,0 +1,23 @@
1
+ import {
2
+ Host,
3
+ h,
4
+ registerInstance
5
+ } from "./chunk-3PASQ7DE.js";
6
+
7
+ // dist/esm/ui-floating-action-button.entry.js
8
+ var uiFloatingActionButtonCss = () => `:host{position:fixed;inset-block-end:calc( var(--ui-floating-action-button-bottom, var(--ui-space-6, 1.5rem)) + env(safe-area-inset-bottom) );inset-inline-end:max( var(--ui-floating-action-button-inline-end, var(--ui-space-5, 1.25rem)), env(safe-area-inset-right) );inline-size:var(--ui-floating-action-button-size, 56px);block-size:var(--ui-floating-action-button-size, 56px);display:inline-flex;z-index:var(--ui-floating-action-button-z-index, 100)}button{appearance:none;inline-size:100%;block-size:100%;border:none;border-radius:999px;margin:0;padding:0;display:inline-flex;align-items:center;justify-content:center;background:var(--ui-floating-action-button-bg, var(--ui-accent-solid));color:var(--ui-floating-action-button-color, var(--ui-text-on-accent));box-shadow:var( --ui-floating-action-button-shadow, 0 4px 12px color-mix(in srgb, var(--ui-accent-solid) 40%, transparent) );cursor:pointer;transition:background-color var(--ui-motion-fast, 160ms) var(--ui-motion-ease, ease), transform var(--ui-motion-fast, 160ms) var(--ui-motion-ease, ease), box-shadow var(--ui-motion-fast, 160ms) var(--ui-motion-ease, ease)}button:hover:enabled{background:var(--ui-floating-action-button-hover-bg, var(--ui-accent-hover));box-shadow:var( --ui-floating-action-button-hover-shadow, 0 6px 16px color-mix(in srgb, var(--ui-accent-solid) 50%, transparent) )}button:active:enabled{transform:scale(var(--ui-floating-action-button-active-scale, 0.94))}button:focus-visible{outline:2px solid var(--ui-focus-ring);outline-offset:2px}button:disabled,:host([disabled]){opacity:0.6;cursor:not-allowed}::slotted(svg){inline-size:var(--ui-floating-action-button-icon-size, 24px);block-size:var(--ui-floating-action-button-icon-size, 24px);flex-shrink:0}@media (min-width: 768px){:host([mobile-only]){display:none}}`;
9
+ var UIFloatingActionButton = class {
10
+ constructor(hostRef) {
11
+ registerInstance(this, hostRef);
12
+ }
13
+ disabled = false;
14
+ mobileOnly = false;
15
+ label = "";
16
+ render() {
17
+ return h(Host, { key: "4b5b5eb530e4ab424e1189cff83d697f28432d84", "data-disabled": this.disabled ? "" : void 0 }, h("button", { key: "f8a4b8ac90bf306434b2b905030b46c1fcbcb000", type: "button", "aria-label": this.label || void 0, disabled: this.disabled }, h("slot", { key: "500d0606ea7166669f104e42813591395fc81c3f" })));
18
+ }
19
+ };
20
+ UIFloatingActionButton.style = uiFloatingActionButtonCss();
21
+ export {
22
+ UIFloatingActionButton as ui_floating_action_button
23
+ };
@@ -6,7 +6,7 @@ import {
6
6
  getElement,
7
7
  h,
8
8
  registerInstance
9
- } from "./chunk-YK4MTZGJ.js";
9
+ } from "./chunk-3PASQ7DE.js";
10
10
 
11
11
  // dist/esm/ui-form-field.entry.js
12
12
  var uiFormFieldCss = () => `:host{display:grid;gap:var(--ui-space-2);color:var(--ui-text-primary)}::slotted(label){color:var(--ui-text-secondary);font-size:0.95rem}::slotted([data-slot='help']){color:var(--ui-text-muted);font-size:0.875rem}::slotted([data-slot='error']),::slotted([role='alert']){color:var(--ui-accent-active);font-size:0.875rem}`;
@@ -2,7 +2,7 @@ import {
2
2
  Host,
3
3
  h,
4
4
  registerInstance
5
- } from "./chunk-YK4MTZGJ.js";
5
+ } from "./chunk-3PASQ7DE.js";
6
6
 
7
7
  // dist/esm/ui-icon-button.entry.js
8
8
  var uiIconButtonCss = () => `:host{display:inline-flex;color:var(--ui-text-secondary)}button{appearance:none;inline-size:var(--ui-icon-button-size, 2.5rem);block-size:var(--ui-icon-button-size, 2.5rem);min-inline-size:var(--ui-icon-button-size, 2.5rem);min-block-size:var(--ui-icon-button-size, 2.5rem);padding:0;margin:0;border:1px solid transparent;border-radius:var(--ui-icon-button-radius, var(--ui-radius-2));background:var(--ui-icon-button-bg, transparent);color:inherit;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color var(--ui-motion-fast) var(--ui-motion-ease), border-color var(--ui-motion-fast) var(--ui-motion-ease), color var(--ui-motion-fast) var(--ui-motion-ease), box-shadow var(--ui-motion-fast) var(--ui-motion-ease), transform var(--ui-motion-fast) var(--ui-motion-ease)}:host([size='sm']) button{inline-size:var(--ui-icon-button-size-sm, 2rem);block-size:var(--ui-icon-button-size-sm, 2rem);min-inline-size:var(--ui-icon-button-size-sm, 2rem);min-block-size:var(--ui-icon-button-size-sm, 2rem)}:host([size='lg']) button{inline-size:var(--ui-icon-button-size-lg, 2.75rem);block-size:var(--ui-icon-button-size-lg, 2.75rem);min-inline-size:var(--ui-icon-button-size-lg, 2.75rem);min-block-size:var(--ui-icon-button-size-lg, 2.75rem)}:host([variant='outline']) button{border-color:var(--ui-icon-button-border, var(--ui-border-default));background:var(--ui-icon-button-outline-bg, var(--ui-surface-default));color:var(--ui-icon-button-outline-color, var(--ui-text-primary))}:host([variant='solid']) button{background:var(--ui-icon-button-solid-bg, var(--ui-accent-solid));color:var(--ui-icon-button-solid-color, var(--ui-text-on-accent));box-shadow:var( --ui-icon-button-solid-shadow, 0 1px 2px color-mix(in srgb, var(--ui-accent-solid) 18%, transparent) )}button:hover:enabled{background:var(--ui-icon-button-hover-bg, var(--ui-surface-muted));color:var(--ui-icon-button-hover-color, var(--ui-text-primary))}:host([variant='outline']) button:hover:enabled{border-color:var(--ui-icon-button-hover-border, var(--ui-border-strong))}:host([variant='solid']) button:hover:enabled{background:var(--ui-icon-button-solid-hover-bg, var(--ui-accent-hover))}button:active:enabled{transform:scale(var(--ui-icon-button-active-scale, 0.96))}button:focus-visible{outline:2px solid var(--ui-focus-ring);outline-offset:2px}button:disabled,:host([disabled]){opacity:0.6;cursor:not-allowed}::slotted(svg){inline-size:var(--ui-icon-button-icon-size, 1.125rem);block-size:var(--ui-icon-button-icon-size, 1.125rem);flex-shrink:0;stroke-width:var(--ui-icon-button-icon-stroke-width, 1.75)}`;
@@ -7,7 +7,7 @@ import {
7
7
  getElement,
8
8
  h,
9
9
  registerInstance
10
- } from "./chunk-YK4MTZGJ.js";
10
+ } from "./chunk-3PASQ7DE.js";
11
11
 
12
12
  // dist/esm/ui-input.entry.js
13
13
  var uiInputCss = () => `:host{display:inline-flex;color:var(--ui-text-primary)}::slotted(input){width:100%;appearance:none;border:1px solid var(--ui-border-default);border-radius:var(--ui-radius-2);background:var(--ui-surface-default);color:inherit;font:inherit;line-height:var(--ui-line-height-md);padding:var(--ui-space-2) var(--ui-space-3);margin:0;transition:border-color var(--ui-motion-fast) var(--ui-motion-ease), box-shadow var(--ui-motion-fast) var(--ui-motion-ease), background-color var(--ui-motion-fast) var(--ui-motion-ease)}::slotted(input:hover:not(:focus):not(:disabled)){border-color:var(--ui-border-strong)}::slotted(input:focus){border-color:var(--ui-focus-ring);box-shadow:0 0 0 3px var(--ui-accent-soft)}:host([data-invalid='true'])::slotted(input),::slotted(input[aria-invalid='true']){border-color:var(--ui-accent-active)}::slotted(input:disabled){background:var(--ui-surface-muted);color:var(--ui-text-muted);cursor:not-allowed}::slotted(input:focus-visible){outline:2px solid var(--ui-focus-ring);outline-offset:2px}`;
@@ -2,7 +2,7 @@ import {
2
2
  Host,
3
3
  h,
4
4
  registerInstance
5
- } from "./chunk-YK4MTZGJ.js";
5
+ } from "./chunk-3PASQ7DE.js";
6
6
 
7
7
  // dist/esm/ui-menu-item.entry.js
8
8
  var uiMenuItemCss = () => `:host{display:block;width:100%;padding:var(--ui-space-2) var(--ui-space-3);text-align:left;background:none;border:none;border-radius:var(--ui-radius-2);color:var(--ui-text-primary);font-size:var(--ui-font-size-md);font-weight:var(--ui-font-medium, 500);cursor:pointer;transition:background-color var(--ui-motion-fast) var(--ui-motion-ease), color var(--ui-motion-fast) var(--ui-motion-ease)}:host(:hover:not([aria-disabled='true']):not([disabled])){background:var(--ui-surface-subtle)}:host([aria-disabled='true']),:host([disabled]){opacity:0.6;cursor:not-allowed}`;
@@ -7,10 +7,10 @@ import {
7
7
  getElement,
8
8
  h,
9
9
  registerInstance
10
- } from "./chunk-YK4MTZGJ.js";
10
+ } from "./chunk-3PASQ7DE.js";
11
11
 
12
12
  // dist/esm/ui-menu.entry.js
13
- var uiMenuCss = () => `:host{display:flex;flex-direction:column;min-width:12rem;padding:var(--ui-space-1);background:var(--ui-surface-elevated);border:1px solid var(--ui-border-default);border-radius:var(--ui-radius-3);box-shadow:var(--ui-shadow-lg)}::slotted(ui-menu-item){display:block;width:100%;padding:var(--ui-space-2) var(--ui-space-3);text-align:left;background:none;border:none;border-radius:var(--ui-radius-2);color:var(--ui-text-primary);font-size:var(--ui-font-size-md);font-weight:var(--ui-font-medium, 500);cursor:pointer;transition:background-color var(--ui-motion-fast) var(--ui-motion-ease), color var(--ui-motion-fast) var(--ui-motion-ease)}::slotted(ui-menu-item:hover:not([aria-disabled='true']):not([disabled])){background:var(--ui-surface-subtle)}::slotted(ui-menu-item[aria-disabled='true']),::slotted(ui-menu-item[disabled]){opacity:0.6;cursor:not-allowed}`;
13
+ var uiMenuCss = () => `:host{--ui-menu-viewport-gap:var(--ui-space-2, 0.5rem);display:flex;flex-direction:column;inline-size:max-content;min-inline-size:min(12rem, calc(100vw - (var(--ui-menu-viewport-gap) * 2)));max-inline-size:calc(100vw - (var(--ui-menu-viewport-gap) * 2));padding:var(--ui-space-1);background:var(--ui-surface-elevated);border:1px solid var(--ui-border-default);border-radius:var(--ui-radius-3);box-shadow:var(--ui-shadow-lg)}::slotted(ui-menu-item){display:block;width:100%;padding:var(--ui-space-2) var(--ui-space-3);text-align:left;background:none;border:none;border-radius:var(--ui-radius-2);color:var(--ui-text-primary);font-size:var(--ui-font-size-md);font-weight:var(--ui-font-medium, 500);cursor:pointer;transition:background-color var(--ui-motion-fast) var(--ui-motion-ease), color var(--ui-motion-fast) var(--ui-motion-ease)}::slotted(ui-menu-item:hover:not([aria-disabled='true']):not([disabled])){background:var(--ui-surface-subtle)}::slotted(ui-menu-item[aria-disabled='true']),::slotted(ui-menu-item[disabled]){opacity:0.6;cursor:not-allowed}`;
14
14
  var UIMenu = class {
15
15
  constructor(hostRef) {
16
16
  registerInstance(this, hostRef);
@@ -11,10 +11,10 @@ import {
11
11
  getElement,
12
12
  h,
13
13
  registerInstance
14
- } from "./chunk-YK4MTZGJ.js";
14
+ } from "./chunk-3PASQ7DE.js";
15
15
 
16
16
  // dist/esm/ui-popover.entry.js
17
- var uiPopoverCss = () => `:host{padding:var(--ui-space-3);background:var(--ui-surface-elevated);border:1px solid var(--ui-border-default);border-radius:var(--ui-radius-3);box-shadow:var(--ui-shadow-lg);max-width:min(20rem, 90vw)}`;
17
+ var uiPopoverCss = () => `:host{--ui-popover-viewport-gap:var(--ui-space-2, 0.5rem);padding:var(--ui-space-3);background:var(--ui-surface-elevated);border:1px solid var(--ui-border-default);border-radius:var(--ui-radius-3);box-shadow:var(--ui-shadow-lg);max-inline-size:min( 20rem, calc(100vw - (var(--ui-popover-viewport-gap) * 2)) );max-block-size:calc(100dvh - (var(--ui-popover-viewport-gap) * 2));overflow:auto}`;
18
18
  var UIPopover = class {
19
19
  constructor(hostRef) {
20
20
  registerInstance(this, hostRef);
@@ -7,7 +7,7 @@ import {
7
7
  getElement,
8
8
  h,
9
9
  registerInstance
10
- } from "./chunk-YK4MTZGJ.js";
10
+ } from "./chunk-3PASQ7DE.js";
11
11
 
12
12
  // dist/esm/ui-radio-group.entry.js
13
13
  var uiRadioGroupCss = () => `:host{display:inline-flex;align-items:center;gap:var(--ui-space-2)}:host([data-orientation='vertical']){display:inline-grid;justify-items:start}`;
@@ -7,7 +7,7 @@ import {
7
7
  getElement,
8
8
  h,
9
9
  registerInstance
10
- } from "./chunk-YK4MTZGJ.js";
10
+ } from "./chunk-3PASQ7DE.js";
11
11
 
12
12
  // dist/esm/ui-radio.entry.js
13
13
  var uiRadioCss = () => `:host{display:inline-flex;align-items:center;gap:var(--ui-space-2);color:var(--ui-text-primary)}:host([data-disabled='true']),:host([aria-disabled='true']){opacity:0.6;cursor:not-allowed}::slotted(input[type='radio']){accent-color:var(--ui-accent-solid);cursor:pointer}::slotted(input[type='radio']:focus-visible){outline:2px solid var(--ui-accent-solid);outline-offset:2px}`;
@@ -2,7 +2,7 @@ import {
2
2
  Host,
3
3
  h,
4
4
  registerInstance
5
- } from "./chunk-YK4MTZGJ.js";
5
+ } from "./chunk-3PASQ7DE.js";
6
6
 
7
7
  // dist/esm/ui-search-result-row.entry.js
8
8
  var uiSearchResultRowCss = () => `:host{display:block}.search-result-row{appearance:none;inline-size:100%;min-block-size:var(--ui-search-result-row-min-height, 56px);margin:0;padding-block:var(--ui-search-result-row-padding-block, var(--ui-space-3, 0.75rem));padding-inline:var(--ui-search-result-row-padding-inline, var(--ui-space-4, 1rem));display:flex;align-items:flex-start;gap:var(--ui-search-result-row-gap, var(--ui-space-3, 0.75rem));background:var(--ui-search-result-row-bg, transparent);border:none;border-block-end:1px solid var(--ui-search-result-row-border, var(--ui-border, #e5e7eb));color:inherit;cursor:pointer;text-align:left;transition:background-color var(--ui-motion-fast, 160ms) var(--ui-motion-ease, ease)}:host(:last-child) .search-result-row{border-block-end:none}.search-result-row:hover:enabled{background:var(--ui-search-result-row-hover-bg, color-mix(in srgb, var(--ui-surface, #ffffff) 85%, black 3%))}:host([selected]) .search-result-row{background:var( --ui-search-result-row-selected-bg, var(--ui-search-result-row-hover-bg, color-mix(in srgb, var(--ui-surface, #ffffff) 85%, black 3%)) )}.search-result-row:focus-visible{outline:2px solid var(--ui-focus-ring, #2563eb);outline-offset:-2px}.search-result-row:disabled,:host([disabled]) .search-result-row{opacity:0.6;cursor:not-allowed}.search-result-row__leading,.search-result-row__trailing{display:inline-flex;align-items:flex-start;flex-shrink:0}.search-result-row__content{min-inline-size:0;flex:1;display:flex;flex-direction:column}.search-result-row__title,.search-result-row__meta,.search-result-row__excerpt{display:block;min-inline-size:0}[hidden]{display:none}::slotted([slot='title']),::slotted([slot='meta']),::slotted([slot='excerpt']){display:block;margin:0}`;
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  h,
3
3
  registerInstance
4
- } from "./chunk-YK4MTZGJ.js";
4
+ } from "./chunk-3PASQ7DE.js";
5
5
 
6
6
  // dist/esm/ui-search-shell.entry.js
7
- var uiSearchShellCss = () => `:host{position:fixed;inset:0;z-index:var(--ui-search-shell-z-index, 400);display:block}.search-shell{position:absolute;inset:0;display:flex;align-items:flex-start;justify-content:center;padding-block-start:var(--ui-search-shell-padding-top, 10vh)}.search-shell__panel{position:relative;inline-size:min( calc(100% - (var(--ui-search-shell-margin-inline, var(--ui-space-4, 1rem)) * 2)), var(--ui-search-shell-max-width, 640px) );max-block-size:var(--ui-search-shell-max-height, 80vh);display:flex;flex-direction:column;overflow:hidden;background:var(--ui-search-shell-bg, var(--ui-surface, #ffffff));border:1px solid var(--ui-search-shell-border, var(--ui-border, #e5e7eb));border-radius:var(--ui-search-shell-radius, var(--ui-radius-xl, 1rem));box-shadow:var(--ui-search-shell-shadow, var(--ui-shadow-lg, 0 8px 24px rgba(0, 0, 0, 0.12)))}.search-shell__search,.search-shell__status,.search-shell__footer{flex-shrink:0}.search-shell__body{flex:1;min-block-size:0}[hidden]{display:none}@media (max-width: 767px){.search-shell{padding-block-start:0;align-items:stretch}.search-shell__panel{inline-size:100%;max-block-size:100dvh;border-radius:0;border-inline:none;border-block-start:none}}`;
7
+ var uiSearchShellCss = () => `:host{position:fixed;inset:0;z-index:var(--ui-search-shell-z-index, 400);display:block}.search-shell{position:absolute;inset:0;display:flex;align-items:flex-start;justify-content:center;padding-block-start:var(--ui-search-shell-padding-top, 10vh)}.search-shell__panel{position:relative;inline-size:min( calc(100% - (var(--ui-search-shell-margin-inline, var(--ui-space-4, 1rem)) * 2)), var(--ui-search-shell-max-width, 640px) );max-block-size:var(--ui-search-shell-max-height, 80vh);display:flex;flex-direction:column;overflow:hidden;background:var(--ui-search-shell-bg, var(--ui-surface, #ffffff));border:1px solid var(--ui-search-shell-border, var(--ui-border, #e5e7eb));border-radius:var(--ui-search-shell-radius, var(--ui-radius-xl, 1rem));box-shadow:var(--ui-search-shell-shadow, var(--ui-shadow-lg, 0 8px 24px rgba(0, 0, 0, 0.12)))}.search-shell__search,.search-shell__status,.search-shell__footer{flex-shrink:0}.search-shell__body{flex:1;min-block-size:0}[hidden]{display:none}@media (max-width: 767px){.search-shell{padding-block-start:0;align-items:stretch}.search-shell__panel{inline-size:100%;block-size:100vh;block-size:100dvh;max-block-size:none;border-radius:0;border-inline:none;border-block-start:none}}`;
8
8
  function slotHasContent(slot) {
9
9
  if (!slot) {
10
10
  return false;
@@ -7,7 +7,7 @@ import {
7
7
  getElement,
8
8
  h,
9
9
  registerInstance
10
- } from "./chunk-YK4MTZGJ.js";
10
+ } from "./chunk-3PASQ7DE.js";
11
11
 
12
12
  // dist/esm/ui-select.entry.js
13
13
  var uiSelectCss = () => `:host{display:inline-flex;color:var(--ui-text-primary)}::slotted(select){width:100%;appearance:none;border:1px solid var(--ui-border-default);border-radius:var(--ui-radius-2);background-color:var(--ui-surface-default);color:inherit;font:inherit;line-height:var(--ui-line-height-md);padding-block:var(--ui-select-padding-block, var(--ui-space-2));padding-inline-start:var(--ui-select-padding-inline-start, var(--ui-space-3));padding-inline-end:var(--ui-select-padding-inline-end, calc(var(--ui-space-6) + var(--ui-space-3)));margin:0;background-image:linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%);background-position:calc(100% - 1rem) calc(50% - 2px), calc(100% - 0.7rem) calc(50% - 2px);background-size:0.35rem 0.35rem, 0.35rem 0.35rem;background-repeat:no-repeat;transition:border-color var(--ui-motion-fast) var(--ui-motion-ease), box-shadow var(--ui-motion-fast) var(--ui-motion-ease), background-color var(--ui-motion-fast) var(--ui-motion-ease)}::slotted(select:hover:not(:focus):not(:disabled)){border-color:var(--ui-border-strong)}::slotted(select:focus){border-color:var(--ui-focus-ring);box-shadow:0 0 0 3px var(--ui-accent-soft)}:host([data-invalid='true'])::slotted(select),::slotted(select[aria-invalid='true']){border-color:var(--ui-accent-active)}::slotted(select:disabled){background-color:var(--ui-surface-muted);color:var(--ui-text-muted);cursor:not-allowed}::slotted(select:focus-visible){outline:2px solid var(--ui-focus-ring);outline-offset:2px}::slotted(select[multiple]),::slotted(select[size]:not([size='1'])){background-image:none;padding-inline-end:var(--ui-select-padding-inline-start, var(--ui-space-3))}`;
@@ -6,7 +6,7 @@ import {
6
6
  getElement,
7
7
  h,
8
8
  registerInstance
9
- } from "./chunk-YK4MTZGJ.js";
9
+ } from "./chunk-3PASQ7DE.js";
10
10
 
11
11
  // dist/esm/ui-switch.entry.js
12
12
  var uiSwitchCss = () => `:host{display:inline-flex;align-items:center;gap:var(--ui-space-2);color:var(--ui-text-primary)}:host([aria-disabled='true']),:host([data-disabled='true']){opacity:0.6;cursor:not-allowed}:host([role='switch']){cursor:pointer}:host input[type='checkbox']{appearance:none;-webkit-appearance:none;display:block;position:relative;width:2.25rem;height:1.25rem;padding:0;border:1px solid var(--ui-border-default);border-radius:999px;background:var(--ui-surface-muted);cursor:pointer;transition:background-color var(--ui-motion-fast) var(--ui-motion-ease), border-color var(--ui-motion-fast) var(--ui-motion-ease);margin:0}:host input[type='checkbox']::after{content:'';position:absolute;top:2px;left:2px;width:0.875rem;height:0.875rem;border-radius:999px;background:var(--ui-surface-default);border:1px solid var(--ui-border-default);transition:transform var(--ui-motion-fast) var(--ui-motion-ease)}:host input[type='checkbox']:checked{background:var(--ui-accent-solid);border-color:var(--ui-accent-solid)}:host input[type='checkbox']:checked::after{transform:translateX(calc(2.25rem - 0.875rem - 4px));background:var(--ui-text-on-accent);border-color:var(--ui-text-on-accent)}:host input[type='checkbox']:focus-visible{outline:2px solid var(--ui-accent-solid);outline-offset:2px}`;
@@ -7,10 +7,10 @@ import {
7
7
  getElement,
8
8
  h,
9
9
  registerInstance
10
- } from "./chunk-YK4MTZGJ.js";
10
+ } from "./chunk-3PASQ7DE.js";
11
11
 
12
12
  // dist/esm/ui-tabs.entry.js
13
- var uiTabsCss = () => `:host{display:flex;flex-direction:column;gap:0}:host([data-orientation='vertical']){flex-direction:row}::slotted([role='tablist']){display:flex;gap:0;border-bottom:1px solid var(--ui-border-default)}:host([data-orientation='vertical']) ::slotted([role='tablist']){flex-direction:column;border-bottom:none;border-inline-end:1px solid var(--ui-border-default)}::slotted(button[role='tab']),::slotted([role='tab']),::slotted(ui-button) button[role='tab']{padding:var(--ui-space-2) var(--ui-space-3);font-size:var(--ui-font-size-sm);font-weight:var(--ui-font-medium, 500);color:var(--ui-text-secondary);background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer;transition:color var(--ui-motion-fast) var(--ui-motion-ease);box-shadow:none}::slotted(button[role='tab']:hover),::slotted([role='tab']:hover){color:var(--ui-text-primary)}::slotted(button[role='tab'][aria-selected='true']),::slotted([role='tab'][aria-selected='true']){color:var(--ui-accent-solid);border-bottom-color:var(--ui-accent-solid)}:host([data-orientation='vertical']) ::slotted(button[role='tab']),:host([data-orientation='vertical']) ::slotted([role='tab']){border-bottom:none;border-inline-end:2px solid transparent;margin-bottom:0;margin-inline-end:-1px}:host([data-orientation='vertical']) ::slotted(button[role='tab'][aria-selected='true']),:host([data-orientation='vertical']) ::slotted([role='tab'][aria-selected='true']){border-inline-end-color:var(--ui-accent-solid)}::slotted([role='tabpanel']){padding:var(--ui-space-4)}`;
13
+ var uiTabsCss = () => `:host{display:flex;flex-direction:column;gap:0}:host([data-orientation='vertical']){flex-direction:row}::slotted([role='tablist']){display:flex;gap:0;max-inline-size:100%;overflow-x:auto;overscroll-behavior-inline:contain;border-bottom:1px solid var(--ui-border-default)}:host([data-orientation='vertical']) ::slotted([role='tablist']){flex-direction:column;border-bottom:none;border-inline-end:1px solid var(--ui-border-default)}::slotted(button[role='tab']),::slotted([role='tab']),::slotted(ui-button) button[role='tab']{padding:var(--ui-space-2) var(--ui-space-3);font-size:var(--ui-font-size-sm);font-weight:var(--ui-font-medium, 500);color:var(--ui-text-secondary);background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer;transition:color var(--ui-motion-fast) var(--ui-motion-ease);box-shadow:none}::slotted(button[role='tab']:hover),::slotted([role='tab']:hover){color:var(--ui-text-primary)}::slotted(button[role='tab'][aria-selected='true']),::slotted([role='tab'][aria-selected='true']){color:var(--ui-accent-solid);border-bottom-color:var(--ui-accent-solid)}:host([data-orientation='vertical']) ::slotted(button[role='tab']),:host([data-orientation='vertical']) ::slotted([role='tab']){border-bottom:none;border-inline-end:2px solid transparent;margin-bottom:0;margin-inline-end:-1px}:host([data-orientation='vertical']) ::slotted(button[role='tab'][aria-selected='true']),:host([data-orientation='vertical']) ::slotted([role='tab'][aria-selected='true']){border-inline-end-color:var(--ui-accent-solid)}::slotted([role='tabpanel']){padding:var(--ui-space-4)}`;
14
14
  var UITabs = class {
15
15
  constructor(hostRef) {
16
16
  registerInstance(this, hostRef);
@@ -7,7 +7,7 @@ import {
7
7
  getElement,
8
8
  h,
9
9
  registerInstance
10
- } from "./chunk-YK4MTZGJ.js";
10
+ } from "./chunk-3PASQ7DE.js";
11
11
 
12
12
  // dist/esm/ui-textarea.entry.js
13
13
  var uiTextareaCss = () => `:host{display:inline-flex;color:var(--ui-text-primary)}::slotted(textarea){width:100%;appearance:none;border:1px solid var(--ui-border-default);border-radius:var(--ui-radius-2);background:var(--ui-surface-default);color:inherit;font:inherit;line-height:var(--ui-line-height-md);min-block-size:calc(var(--ui-space-12, 3rem) * 2);padding:var(--ui-space-2) var(--ui-space-3);margin:0;resize:vertical;transition:border-color var(--ui-motion-fast) var(--ui-motion-ease), box-shadow var(--ui-motion-fast) var(--ui-motion-ease), background-color var(--ui-motion-fast) var(--ui-motion-ease)}::slotted(textarea:hover:not(:focus):not(:disabled)){border-color:var(--ui-border-strong)}::slotted(textarea:focus){border-color:var(--ui-focus-ring);box-shadow:0 0 0 3px var(--ui-accent-soft)}:host([data-invalid='true'])::slotted(textarea),::slotted(textarea[aria-invalid='true']){border-color:var(--ui-accent-active)}::slotted(textarea:disabled){background:var(--ui-surface-muted);color:var(--ui-text-muted);cursor:not-allowed}::slotted(textarea:focus-visible){outline:2px solid var(--ui-focus-ring);outline-offset:2px}`;
@@ -7,10 +7,10 @@ import {
7
7
  getElement,
8
8
  h,
9
9
  registerInstance
10
- } from "./chunk-YK4MTZGJ.js";
10
+ } from "./chunk-3PASQ7DE.js";
11
11
 
12
12
  // dist/esm/ui-toast-region.entry.js
13
- var uiToastRegionCss = () => `:host{position:fixed;top:var(--ui-space-4);left:50%;transform:translateX(-50%);z-index:9999;display:grid;gap:var(--ui-space-2);max-width:min(24rem, 90vw);pointer-events:none}:host>*{pointer-events:auto}::slotted([data-ui-toast]){display:grid;grid-template-columns:1fr auto;gap:var(--ui-space-2);align-items:start;border:1px solid var(--ui-border-default);border-radius:var(--ui-radius-3);padding:var(--ui-space-3) var(--ui-space-4);background:var(--ui-surface-elevated);color:var(--ui-text-primary);box-shadow:var(--ui-shadow-lg);animation:ui-toast-enter 0.25s var(--ui-motion-ease) forwards}@keyframes ui-toast-enter{from{opacity:0;transform:translateY(-0.5rem)}to{opacity:1;transform:translateY(0)}}::slotted([data-ui-toast][aria-hidden='true']){display:none}::slotted([data-ui-toast-dismiss]){border:0;background:transparent;color:var(--ui-text-secondary);cursor:pointer;font:inherit}`;
13
+ var uiToastRegionCss = () => `:host{position:fixed;top:calc(var(--ui-space-4) + env(safe-area-inset-top));left:50%;transform:translateX(-50%);z-index:9999;display:grid;gap:var(--ui-space-2);inline-size:min(24rem, calc(100vw - (var(--ui-space-4) * 2)));max-inline-size:100%;pointer-events:none}:host>*{pointer-events:auto}::slotted([data-ui-toast]){display:grid;grid-template-columns:1fr auto;gap:var(--ui-space-2);align-items:start;border:1px solid var(--ui-border-default);border-radius:var(--ui-radius-3);padding:var(--ui-space-3) var(--ui-space-4);background:var(--ui-surface-elevated);color:var(--ui-text-primary);box-shadow:var(--ui-shadow-lg);animation:ui-toast-enter 0.25s var(--ui-motion-ease) forwards}@keyframes ui-toast-enter{from{opacity:0;transform:translateY(-0.5rem)}to{opacity:1;transform:translateY(0)}}::slotted([data-ui-toast][aria-hidden='true']){display:none}::slotted([data-ui-toast-dismiss]){border:0;background:transparent;color:var(--ui-text-secondary);cursor:pointer;font:inherit}`;
14
14
  var UIToastRegion = class {
15
15
  constructor(hostRef) {
16
16
  registerInstance(this, hostRef);
@@ -11,7 +11,7 @@ import {
11
11
  getElement,
12
12
  h,
13
13
  registerInstance
14
- } from "./chunk-YK4MTZGJ.js";
14
+ } from "./chunk-3PASQ7DE.js";
15
15
 
16
16
  // dist/esm/ui-tooltip.entry.js
17
17
  var uiTooltipCss = () => `:host{display:inline-block;border:1px solid var(--ui-border-default);border-radius:var(--ui-radius-2);background:var(--ui-surface-elevated);color:var(--ui-text-primary);padding:var(--ui-space-2) var(--ui-space-3);font-size:var(--ui-font-size-sm);box-shadow:var(--ui-shadow-md)}:host([hidden]){display:none !important}`;
@@ -3,10 +3,10 @@ import {
3
3
  getElement,
4
4
  h,
5
5
  registerInstance
6
- } from "./chunk-YK4MTZGJ.js";
6
+ } from "./chunk-3PASQ7DE.js";
7
7
 
8
8
  // dist/esm/ui-top-bar.entry.js
9
- var uiTopBarCss = () => `:host{position:sticky;inset-block-start:0;z-index:var(--ui-top-bar-z-index, 100);display:block}.top-bar{min-block-size:var(--ui-top-bar-height, 56px);display:flex;align-items:center;gap:var(--ui-top-bar-gap, var(--ui-space-3, 0.75rem));padding-inline:var(--ui-top-bar-padding-inline, var(--ui-space-4, 1rem));background:var(--ui-top-bar-bg, var(--ui-surface, #ffffff));border-block-end:1px solid var(--ui-top-bar-border, var(--ui-border, #e5e7eb))}.top-bar__leading,.top-bar__search,.top-bar__actions{display:flex;align-items:center;flex-shrink:0}.top-bar__actions{gap:var(--ui-top-bar-actions-gap, var(--ui-space-1, 0.25rem))}.top-bar__title{min-inline-size:0;flex:1}[hidden]{display:none}@media (min-width: 768px){:host{display:none}}`;
9
+ var uiTopBarCss = () => `:host{position:sticky;inset-block-start:0;z-index:var(--ui-top-bar-z-index, 100);display:block}.top-bar{min-block-size:calc(var(--ui-top-bar-height, 56px) + env(safe-area-inset-top));display:flex;align-items:center;gap:var(--ui-top-bar-gap, var(--ui-space-3, 0.75rem));padding-block-start:env(safe-area-inset-top);padding-inline-start:max( var(--ui-top-bar-padding-inline, var(--ui-space-4, 1rem)), env(safe-area-inset-left) );padding-inline-end:max( var(--ui-top-bar-padding-inline, var(--ui-space-4, 1rem)), env(safe-area-inset-right) );background:var(--ui-top-bar-bg, var(--ui-surface, #ffffff));border-block-end:1px solid var(--ui-top-bar-border, var(--ui-border, #e5e7eb))}.top-bar__leading,.top-bar__search,.top-bar__actions{display:flex;align-items:center;flex-shrink:0}.top-bar__actions{gap:var(--ui-top-bar-actions-gap, var(--ui-space-1, 0.25rem))}.top-bar__title{min-inline-size:0;flex:1}[hidden]{display:none}@media (min-width: 768px){:host{display:none}}`;
10
10
  function slotHasContent(slot) {
11
11
  if (!slot) {
12
12
  return false;
@@ -543,18 +543,18 @@ if (typeof HTMLElement !== "undefined") {
543
543
  return;
544
544
  }
545
545
  let html = '<div class="ui-editor-table-overlay" aria-label="Table insertion controls">';
546
- html += `<div class="ui-editor-table-overlay__rows" style="--ui-editor-table-overlay-row-boundaries:${this.#rows + 1};">`;
546
+ html += '<div class="ui-editor-table-overlay__rows">';
547
547
  for (let i = 0; i <= this.#rows; i++) {
548
548
  const action = i === 0 ? "add-row-before" : "add-row-after";
549
549
  const controlKey = `row:${i}`;
550
- html += `<button type="button" class="ui-editor-table-overlay__control ui-editor-table-overlay__control--row" data-action="${action}" data-boundary-index="${i}" data-control-key="${controlKey}" data-active="${this.#activeControlKey === controlKey ? "true" : "false"}" aria-label="Add row"><span class="ui-editor-table-overlay__handle" aria-hidden="true">+</span></button>`;
550
+ html += `<button type="button" class="ui-editor-table-overlay__control ui-editor-table-overlay__control--row" style="--ui-editor-table-overlay-boundary-index:${i};--ui-editor-table-overlay-segments:${this.#rows};" data-action="${action}" data-boundary-index="${i}" data-control-key="${controlKey}" data-active="${this.#activeControlKey === controlKey ? "true" : "false"}" aria-label="Add row"><span class="ui-editor-table-overlay__handle" aria-hidden="true">+</span></button>`;
551
551
  }
552
552
  html += "</div>";
553
- html += `<div class="ui-editor-table-overlay__cols" style="--ui-editor-table-overlay-col-boundaries:${this.#cols + 1};">`;
553
+ html += '<div class="ui-editor-table-overlay__cols">';
554
554
  for (let i = 0; i <= this.#cols; i++) {
555
555
  const action = i === 0 ? "add-column-before" : "add-column-after";
556
556
  const controlKey = `col:${i}`;
557
- html += `<button type="button" class="ui-editor-table-overlay__control ui-editor-table-overlay__control--col" data-action="${action}" data-boundary-index="${i}" data-control-key="${controlKey}" data-active="${this.#activeControlKey === controlKey ? "true" : "false"}" aria-label="Add column"><span class="ui-editor-table-overlay__handle" aria-hidden="true">+</span></button>`;
557
+ html += `<button type="button" class="ui-editor-table-overlay__control ui-editor-table-overlay__control--col" style="--ui-editor-table-overlay-boundary-index:${i};--ui-editor-table-overlay-segments:${this.#cols};" data-action="${action}" data-boundary-index="${i}" data-control-key="${controlKey}" data-active="${this.#activeControlKey === controlKey ? "true" : "false"}" aria-label="Add column"><span class="ui-editor-table-overlay__handle" aria-hidden="true">+</span></button>`;
558
558
  }
559
559
  html += "</div>";
560
560
  html += "</div>";
package/editor/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import "./chunk-PQAV4KXC.js";
1
+ import "./chunk-CWCXYQMT.js";
2
2
  import {
3
3
  LoomaTable,
4
4
  LoomaTableCell,
package/editor/ui.js CHANGED
@@ -1 +1 @@
1
- import "./chunk-PQAV4KXC.js";
1
+ import "./chunk-CWCXYQMT.js";