@threadlabs/looma 0.1.24 → 0.1.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-IMHSPETJ.js → chunk-UY423IKN.js} +33 -32
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/looma.cjs.js +1 -1
- package/dist/cjs/{ui-combobox.cjs.entry.js → ui-chip_2.cjs.entry.js} +29 -4
- package/dist/cjs/ui-context-menu.cjs.entry.js +1 -1
- package/dist/cjs/ui-dialog.cjs.entry.js +1 -1
- package/dist/cjs/ui-disclosure.cjs.entry.js +1 -1
- package/dist/cjs/ui-editable.cjs.entry.js +100 -0
- package/dist/cjs/ui-floating-action-button.cjs.entry.js +1 -1
- package/dist/cjs/ui-form-field.cjs.entry.js +1 -1
- package/dist/cjs/ui-icon-button.cjs.entry.js +1 -1
- package/dist/cjs/ui-input.cjs.entry.js +1 -1
- package/dist/cjs/ui-menu-item.cjs.entry.js +1 -1
- package/dist/cjs/ui-menu.cjs.entry.js +1 -1
- package/dist/cjs/ui-multi-combobox.cjs.entry.js +158 -0
- package/dist/cjs/ui-popover.cjs.entry.js +1 -1
- package/dist/cjs/ui-radio-group.cjs.entry.js +1 -1
- package/dist/cjs/ui-radio.cjs.entry.js +1 -1
- package/dist/cjs/ui-search-result-row.cjs.entry.js +1 -1
- package/dist/cjs/ui-search-shell.cjs.entry.js +1 -1
- package/dist/cjs/ui-select.cjs.entry.js +1 -1
- package/dist/cjs/ui-switch.cjs.entry.js +2 -2
- package/dist/cjs/ui-tabs.cjs.entry.js +1 -1
- package/dist/cjs/ui-textarea.cjs.entry.js +1 -1
- package/dist/cjs/ui-toast-region.cjs.entry.js +1 -1
- package/dist/cjs/ui-tooltip.cjs.entry.js +1 -1
- package/dist/cjs/ui-top-bar.cjs.entry.js +1 -1
- package/dist/cjs/ui-tree-item.cjs.entry.js +2 -2
- package/dist/cjs/ui-tree.cjs.entry.js +1 -1
- package/dist/collection/collection-manifest.json +2 -0
- package/dist/collection/components/ui-chip/ui-chip.css +4 -0
- package/dist/collection/components/ui-chip/ui-chip.js +23 -1
- package/dist/collection/components/ui-combobox/ui-combobox.js +49 -4
- package/dist/collection/components/ui-context-menu/ui-context-menu.js +1 -1
- package/dist/collection/components/ui-dialog/ui-dialog.js +1 -1
- package/dist/collection/components/ui-disclosure/ui-disclosure.js +1 -1
- package/dist/collection/components/ui-editable/ui-editable.css +2 -0
- package/dist/collection/components/ui-editable/ui-editable.js +196 -0
- package/dist/collection/components/ui-floating-action-button/ui-floating-action-button.js +1 -1
- package/dist/collection/components/ui-form-field/ui-form-field.js +1 -1
- package/dist/collection/components/ui-icon-button/ui-icon-button.js +1 -1
- package/dist/collection/components/ui-input/ui-input.js +1 -1
- package/dist/collection/components/ui-menu/ui-menu.js +1 -1
- package/dist/collection/components/ui-menu-item/ui-menu-item.js +1 -1
- package/dist/collection/components/ui-multi-combobox/ui-multi-combobox.css +29 -0
- package/dist/collection/components/ui-multi-combobox/ui-multi-combobox.js +503 -0
- package/dist/collection/components/ui-popover/ui-popover.js +1 -1
- package/dist/collection/components/ui-radio/ui-radio.js +1 -1
- package/dist/collection/components/ui-radio-group/ui-radio-group.js +1 -1
- package/dist/collection/components/ui-search-result-row/ui-search-result-row.js +1 -1
- package/dist/collection/components/ui-search-shell/ui-search-shell.js +1 -1
- package/dist/collection/components/ui-select/ui-select.js +1 -1
- package/dist/collection/components/ui-switch/ui-switch.js +2 -2
- package/dist/collection/components/ui-tabs/ui-tabs.js +1 -1
- package/dist/collection/components/ui-textarea/ui-textarea.js +1 -1
- package/dist/collection/components/ui-toast-region/ui-toast-region.js +1 -1
- package/dist/collection/components/ui-tooltip/ui-tooltip.js +1 -1
- package/dist/collection/components/ui-top-bar/ui-top-bar.js +1 -1
- package/dist/collection/components/ui-tree/ui-tree.js +1 -1
- package/dist/collection/components/ui-tree-item/ui-tree-item.js +2 -2
- package/dist/collection/field/editable.js +1 -0
- package/dist/collection/field/multi-combobox.js +1 -0
- package/dist/components/index.d.ts +4 -0
- package/dist/components/index.js +1 -1
- package/dist/components/{p-DIGcRYAW.js → p-B9CzOHvE.js} +1 -1
- package/dist/components/p-BMgIcOh-.js +1 -0
- package/dist/components/p-BVteuP_d.js +1 -0
- package/dist/components/{p-Bk55QiUK.js → p-C6p-ygxq.js} +1 -1
- package/dist/components/ui-chip.js +1 -1
- package/dist/components/ui-combobox.js +1 -1
- package/dist/components/ui-context-menu.js +1 -1
- package/dist/components/ui-dialog.js +1 -1
- package/dist/components/ui-disclosure.js +1 -1
- package/dist/components/ui-editable.d.ts +11 -0
- package/dist/components/ui-editable.js +1 -0
- package/dist/components/ui-floating-action-button.js +1 -1
- package/dist/components/ui-form-field.js +1 -1
- package/dist/components/ui-icon-button.js +1 -1
- package/dist/components/ui-input.js +1 -1
- package/dist/components/ui-menu-item.js +1 -1
- package/dist/components/ui-menu.js +1 -1
- package/dist/components/ui-multi-combobox.d.ts +11 -0
- package/dist/components/ui-multi-combobox.js +1 -0
- package/dist/components/ui-popover.js +1 -1
- package/dist/components/ui-radio-group.js +1 -1
- package/dist/components/ui-radio.js +1 -1
- package/dist/components/ui-search-result-row.js +1 -1
- package/dist/components/ui-search-shell.js +1 -1
- package/dist/components/ui-select.js +1 -1
- package/dist/components/ui-switch.js +1 -1
- package/dist/components/ui-tabs.js +1 -1
- package/dist/components/ui-textarea.js +1 -1
- package/dist/components/ui-toast-region.js +1 -1
- package/dist/components/ui-tooltip.js +1 -1
- package/dist/components/ui-top-bar.js +1 -1
- package/dist/components/ui-tree-item.js +1 -1
- package/dist/components/ui-tree.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/looma.js +1 -1
- package/dist/esm/{ui-combobox.entry.js → ui-chip_2.entry.js} +30 -6
- package/dist/esm/ui-context-menu.entry.js +1 -1
- package/dist/esm/ui-dialog.entry.js +1 -1
- package/dist/esm/ui-disclosure.entry.js +1 -1
- package/dist/esm/ui-editable.entry.js +98 -0
- package/dist/esm/ui-floating-action-button.entry.js +1 -1
- package/dist/esm/ui-form-field.entry.js +1 -1
- package/dist/esm/ui-icon-button.entry.js +1 -1
- package/dist/esm/ui-input.entry.js +1 -1
- package/dist/esm/ui-menu-item.entry.js +1 -1
- package/dist/esm/ui-menu.entry.js +1 -1
- package/dist/esm/ui-multi-combobox.entry.js +156 -0
- package/dist/esm/ui-popover.entry.js +1 -1
- package/dist/esm/ui-radio-group.entry.js +1 -1
- package/dist/esm/ui-radio.entry.js +1 -1
- package/dist/esm/ui-search-result-row.entry.js +1 -1
- package/dist/esm/ui-search-shell.entry.js +1 -1
- package/dist/esm/ui-select.entry.js +1 -1
- package/dist/esm/ui-switch.entry.js +2 -2
- package/dist/esm/ui-tabs.entry.js +1 -1
- package/dist/esm/ui-textarea.entry.js +1 -1
- package/dist/esm/ui-toast-region.entry.js +1 -1
- package/dist/esm/ui-tooltip.entry.js +1 -1
- package/dist/esm/ui-top-bar.entry.js +1 -1
- package/dist/esm/ui-tree-item.entry.js +2 -2
- package/dist/esm/ui-tree.entry.js +1 -1
- package/dist/index.cjs +339 -63
- package/dist/index.d.cts +18 -1
- package/dist/index.d.ts +18 -1
- package/dist/index.js +2 -2
- package/dist/looma/looma.esm.js +1 -1
- package/dist/looma/{p-314d5c7c.entry.js → p-0e1741cb.entry.js} +1 -1
- package/dist/looma/{p-bd00d4e8.entry.js → p-0ef4bf13.entry.js} +1 -1
- package/dist/looma/{p-8e254bc4.entry.js → p-166f8593.entry.js} +1 -1
- package/dist/looma/p-262a542c.entry.js +1 -0
- package/dist/looma/{p-672e3d16.entry.js → p-26d357ae.entry.js} +1 -1
- package/dist/looma/{p-b63f6d4f.entry.js → p-30f01909.entry.js} +1 -1
- package/dist/looma/p-393e3e02.entry.js +1 -0
- package/dist/looma/p-3a44b9f9.entry.js +1 -0
- package/dist/looma/{p-fd1e4d22.entry.js → p-558d4f5b.entry.js} +1 -1
- package/dist/looma/{p-25e18ad6.entry.js → p-5780cefa.entry.js} +1 -1
- package/dist/looma/p-5a7261e1.entry.js +1 -0
- package/dist/looma/{p-03f44c45.entry.js → p-7319c147.entry.js} +1 -1
- package/dist/looma/{p-f1750fd7.entry.js → p-78b7e466.entry.js} +1 -1
- package/dist/looma/{p-7c4a225f.entry.js → p-7eb04f09.entry.js} +1 -1
- package/dist/looma/{p-e0f241ab.entry.js → p-81c533f5.entry.js} +1 -1
- package/dist/looma/{p-8e6b1001.entry.js → p-87f501cf.entry.js} +1 -1
- package/dist/looma/{p-cc915913.entry.js → p-89e71bbb.entry.js} +1 -1
- package/dist/looma/{p-a63e2561.entry.js → p-92cd1841.entry.js} +1 -1
- package/dist/looma/{p-5a900d89.entry.js → p-95eb3b58.entry.js} +1 -1
- package/dist/looma/{p-839faf55.entry.js → p-96ec4d7a.entry.js} +1 -1
- package/dist/looma/p-b6c776fb.entry.js +1 -0
- package/dist/looma/{p-2c03fa73.entry.js → p-bcb1b47b.entry.js} +1 -1
- package/dist/looma/{p-68430534.entry.js → p-d62da01d.entry.js} +1 -1
- package/dist/looma/{p-13f8195a.entry.js → p-dbcb479c.entry.js} +1 -1
- package/dist/looma/{p-920656cf.entry.js → p-e14024bf.entry.js} +1 -1
- package/dist/looma/{p-3ef2a21b.entry.js → p-fc180770.entry.js} +1 -1
- package/dist/types/components/ui-chip/ui-chip.d.ts +2 -0
- package/dist/types/components/ui-combobox/ui-combobox.d.ts +4 -0
- package/dist/types/components/ui-editable/ui-editable.d.ts +24 -0
- package/dist/types/components/ui-multi-combobox/ui-multi-combobox.d.ts +47 -0
- package/dist/types/components.d.ts +234 -0
- package/dist/types/field/editable.d.ts +5 -0
- package/dist/types/field/multi-combobox.d.ts +11 -0
- package/dist/{ui-affordance-scope.entry-3TUZ6GLW.js → ui-affordance-scope.entry-VSSP52ZP.js} +1 -1
- package/dist/{ui-avatar-group.entry-XGJKN25W.js → ui-avatar-group.entry-JMCLL6FW.js} +1 -1
- package/dist/{ui-avatar.entry-SN3G44HW.js → ui-avatar.entry-X2YQ3QPG.js} +1 -1
- package/dist/{ui-badge.entry-B6WDCWJX.js → ui-badge.entry-OJ6FJJKL.js} +1 -1
- package/dist/{ui-button.entry-AZYUELLV.js → ui-button.entry-ZN6JLND7.js} +1 -1
- package/dist/{ui-callout.entry-QRPWRMPC.js → ui-callout.entry-7K6NXQ7U.js} +1 -1
- package/dist/{ui-checkbox.entry-OB6GFC4M.js → ui-checkbox.entry-GUYRVU6O.js} +1 -1
- package/dist/{ui-combobox.entry-IIMMUJF7.js → ui-chip_2.entry-M2DOTIGY.js} +32 -7
- package/dist/{ui-context-menu.entry-AIULIE5Y.js → ui-context-menu.entry-BM7FHOUJ.js} +2 -2
- package/dist/{ui-dialog.entry-QSYWYHLY.js → ui-dialog.entry-AZAD37CG.js} +2 -2
- package/dist/{ui-disclosure.entry-3BJEYU3U.js → ui-disclosure.entry-XDPGKMBK.js} +2 -2
- package/dist/ui-editable.entry-S3TE6KFT.js +110 -0
- package/dist/{ui-floating-action-button.entry-JEVNV6FI.js → ui-floating-action-button.entry-U7HGA3CS.js} +2 -2
- package/dist/{ui-form-field.entry-PKSY7UU4.js → ui-form-field.entry-C2ZSP3TM.js} +2 -2
- package/dist/{ui-icon-button.entry-TPX7BE7R.js → ui-icon-button.entry-P6H2LY7D.js} +2 -2
- package/dist/{ui-input.entry-6NCLNW4E.js → ui-input.entry-GTNQJCQ2.js} +2 -2
- package/dist/{ui-menu-item.entry-KA2K3PKV.js → ui-menu-item.entry-2HWOGUO5.js} +2 -2
- package/dist/{ui-menu.entry-7GDO5L2T.js → ui-menu.entry-NZ7ER54K.js} +2 -2
- package/dist/ui-multi-combobox.entry-DZ5LLSVQ.js +167 -0
- package/dist/{ui-popover.entry-FR6YRNK6.js → ui-popover.entry-ZOEQMUWG.js} +2 -2
- package/dist/{ui-radio-group.entry-7QHXQSNO.js → ui-radio-group.entry-QCQ46EK5.js} +2 -2
- package/dist/{ui-radio.entry-YNMXKLDW.js → ui-radio.entry-QAATWUYT.js} +2 -2
- package/dist/{ui-search-result-row.entry-AHVVAAIO.js → ui-search-result-row.entry-2I3DH2OT.js} +2 -2
- package/dist/{ui-search-shell.entry-CNBEAMEZ.js → ui-search-shell.entry-7RS55ORF.js} +2 -2
- package/dist/{ui-select.entry-TUY6TCTC.js → ui-select.entry-6O4KD4G7.js} +2 -2
- package/dist/{ui-switch.entry-26LFI7B5.js → ui-switch.entry-DY5PSHCQ.js} +3 -3
- package/dist/{ui-tabs.entry-LXB62RJJ.js → ui-tabs.entry-6X56UOUE.js} +2 -2
- package/dist/{ui-textarea.entry-JYGMGPX2.js → ui-textarea.entry-RDYP6O77.js} +2 -2
- package/dist/{ui-toast-region.entry-TOW4KZLZ.js → ui-toast-region.entry-EBY42KS5.js} +2 -2
- package/dist/{ui-tooltip.entry-SKFNYXPH.js → ui-tooltip.entry-PLXMPOKV.js} +2 -2
- package/dist/{ui-top-bar.entry-S3YP52EA.js → ui-top-bar.entry-QKE2DLVD.js} +2 -2
- package/dist/{ui-tree-item.entry-LWYIPYLC.js → ui-tree-item.entry-TC6YWIC6.js} +3 -3
- package/dist/{ui-tree.entry-LXKUQFRU.js → ui-tree.entry-UL6UHCUT.js} +2 -2
- package/package.json +1 -1
- package/vue/{chunk-D4AJULDE.js → chunk-GXQY27K2.js} +84 -1
- package/vue/editor/index.js +1 -1
- package/vue/index.d.ts +118 -2
- package/vue/index.js +5 -1
- package/dist/cjs/ui-chip.cjs.entry.js +0 -19
- package/dist/esm/ui-chip.entry.js +0 -17
- package/dist/looma/p-82f2fa3d.entry.js +0 -1
- package/dist/looma/p-97e8cb0e.entry.js +0 -1
- package/dist/looma/p-9e1c4020.entry.js +0 -1
- package/dist/looma/p-cfba8f7c.entry.js +0 -1
- package/dist/ui-chip.entry-XSNPJXX3.js +0 -22
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as t,g as i,h as e,H as s}from"./p-8BGiMGQ0.js";import{o,c as n,r}from"./p-C-0syqXZ.js";import{d as a}from"./p-JwSoedEO.js";import{a as h}from"./p-Bu0dmLBE.js";const c=class{constructor(i){t(this,i)}get host(){return i(this)}open=!1;defaultOpen=!1;for;internalOpen=!1;focusTrigger="programmatic";overlayId=`ui-context-menu-${Math.random().toString(36).slice(2,11)}`;trigger=null;contextTarget=null;pointerX=0;pointerY=0;pointPositioned=!1;surface=null;syncFromProp(){this.internalOpen=this.open}syncTarget(){this.resolveTargets(),this.attachTargetListeners()}syncOverlay(){this.syncTriggerState(),this.internalOpen?(this.pointPositioned?this.surface?.showAtPoint({x:this.pointerX,y:this.pointerY}):this.surface?.show(),o({id:this.overlayId,modal:!1,element:this.host,dismissible:!0,requestClose:(t,i)=>this.closeMenu(t,i)})):(this.surface?.hide(),n(this.overlayId))}componentDidLoad(){this.syncFromProp(),this.internalOpen=this.internalOpen||this.defaultOpen,this.resolveTargets(),this.attachTargetListeners(),this.setupSurface(),this.syncTriggerState(),this.syncOverlay()}componentDidUpdate(){this.resolveTargets(),this.attachTargetListeners(),this.pointPositioned||this.surface?.setAnchor(this.trigger),this.syncTriggerState()}disconnectedCallback(){this.detachTargetListeners(),this.surface?.destroy(),this.surface=null,n(this.overlayId)}setupSurface(){const t=this.host.shadowRoot?.querySelector(".menu");t&&(this.surface?.destroy(),this.surface=h(t,{anchor:this.trigger,placement:"bottom-start"}))}resolveTargets(){const t=this.trigger,i=this.contextTarget,e=this.host.querySelector('[slot="trigger"]'),s=this.for?document.getElementById(this.for):null;this.trigger=e,this.contextTarget=s??e??this.host.parentElement,t===this.trigger&&i===this.contextTarget||(t?.removeEventListener("click",this.onTriggerClick),t?.removeEventListener("keydown",this.onTriggerKeydown),i?.removeEventListener("contextmenu",this.onContextMenu))}attachTargetListeners(){this.detachTargetListeners(),this.trigger?.addEventListener("click",this.onTriggerClick),this.trigger?.addEventListener("keydown",this.onTriggerKeydown),this.contextTarget?.addEventListener("contextmenu",this.onContextMenu)}detachTargetListeners(){this.trigger?.removeEventListener("click",this.onTriggerClick),this.trigger?.removeEventListener("keydown",this.onTriggerKeydown),this.contextTarget?.removeEventListener("contextmenu",this.onContextMenu)}syncTriggerState(){this.trigger&&(this.trigger.setAttribute("aria-haspopup","menu"),this.trigger.setAttribute("aria-expanded",this.internalOpen?"true":"false"))}getItems(){return Array.from(this.host.querySelectorAll("ui-menu-item")).filter((t=>!this.isItemDisabled(t)))}focusFirstItem(){requestAnimationFrame((()=>this.getItems()[0]?.focus()))}openMenu(t,i,e){this.pointerX=t,this.pointerY=i,this.focusTrigger=e,this.pointPositioned=!0,this.surface?.showAtPoint({x:t,y:i}),this.internalOpen=!0,a(this.host,"open",{open:!0,reason:"action",trigger:e}),this.focusFirstItem()}openFromTrigger(t){this.trigger&&(this.pointPositioned=!1,this.internalOpen=!0,a(this.host,"open",{open:!0,reason:"action",trigger:t}),this.focusFirstItem())}closeMenu(t,i,e=!0){this.internalOpen&&(this.internalOpen=!1,a(this.host,"close",{open:!1,reason:t,trigger:i}),e&&this.trigger?.focus())}onTriggerClick=t=>{this.internalOpen?this.closeMenu("action",0===t.detail?"keyboard":"pointer"):this.openFromTrigger(0===t.detail?"keyboard":"pointer")};onTriggerKeydown=t=>{"Enter"!==t.key&&" "!==t.key&&"ArrowDown"!==t.key||(t.preventDefault(),this.internalOpen?this.focusFirstItem():this.openFromTrigger("keyboard"))};onContextMenu=t=>{t.preventDefault(),this.openMenu(t.clientX,t.clientY,"pointer")};isItemDisabled(t){return"true"===t.getAttribute("aria-disabled")||t.hasAttribute("disabled")||"true"===t.getAttribute("disabled")||!0===t.disabled}onKeydown=t=>{if(this.internalOpen){if(this.focusTrigger="keyboard","Escape"===t.key)return t.preventDefault(),void r("escape","keyboard");if("Enter"===t.key||" "===t.key){const i=t.target.closest?.("ui-menu-item");if(!i||this.isItemDisabled(i))return;t.preventDefault();const e=i.getAttribute("value")??i.getAttribute("data-value")??"";a(this.host,"select",{value:e,trigger:"keyboard"}),this.closeMenu("action","keyboard")}}};onItemClick=t=>{const i=t.target.closest?.("ui-menu-item");if(!i||this.isItemDisabled(i))return;const e=i.getAttribute("value")??i.getAttribute("data-value")??"";a(this.host,"select",{value:e,trigger:"pointer"}),this.closeMenu("action","pointer")};render(){return e(s,{key:"
|
|
1
|
+
import{r as t,g as i,h as e,H as s}from"./p-8BGiMGQ0.js";import{o,c as n,r}from"./p-C-0syqXZ.js";import{d as a}from"./p-JwSoedEO.js";import{a as h}from"./p-Bu0dmLBE.js";const c=class{constructor(i){t(this,i)}get host(){return i(this)}open=!1;defaultOpen=!1;for;internalOpen=!1;focusTrigger="programmatic";overlayId=`ui-context-menu-${Math.random().toString(36).slice(2,11)}`;trigger=null;contextTarget=null;pointerX=0;pointerY=0;pointPositioned=!1;surface=null;syncFromProp(){this.internalOpen=this.open}syncTarget(){this.resolveTargets(),this.attachTargetListeners()}syncOverlay(){this.syncTriggerState(),this.internalOpen?(this.pointPositioned?this.surface?.showAtPoint({x:this.pointerX,y:this.pointerY}):this.surface?.show(),o({id:this.overlayId,modal:!1,element:this.host,dismissible:!0,requestClose:(t,i)=>this.closeMenu(t,i)})):(this.surface?.hide(),n(this.overlayId))}componentDidLoad(){this.syncFromProp(),this.internalOpen=this.internalOpen||this.defaultOpen,this.resolveTargets(),this.attachTargetListeners(),this.setupSurface(),this.syncTriggerState(),this.syncOverlay()}componentDidUpdate(){this.resolveTargets(),this.attachTargetListeners(),this.pointPositioned||this.surface?.setAnchor(this.trigger),this.syncTriggerState()}disconnectedCallback(){this.detachTargetListeners(),this.surface?.destroy(),this.surface=null,n(this.overlayId)}setupSurface(){const t=this.host.shadowRoot?.querySelector(".menu");t&&(this.surface?.destroy(),this.surface=h(t,{anchor:this.trigger,placement:"bottom-start"}))}resolveTargets(){const t=this.trigger,i=this.contextTarget,e=this.host.querySelector('[slot="trigger"]'),s=this.for?document.getElementById(this.for):null;this.trigger=e,this.contextTarget=s??e??this.host.parentElement,t===this.trigger&&i===this.contextTarget||(t?.removeEventListener("click",this.onTriggerClick),t?.removeEventListener("keydown",this.onTriggerKeydown),i?.removeEventListener("contextmenu",this.onContextMenu))}attachTargetListeners(){this.detachTargetListeners(),this.trigger?.addEventListener("click",this.onTriggerClick),this.trigger?.addEventListener("keydown",this.onTriggerKeydown),this.contextTarget?.addEventListener("contextmenu",this.onContextMenu)}detachTargetListeners(){this.trigger?.removeEventListener("click",this.onTriggerClick),this.trigger?.removeEventListener("keydown",this.onTriggerKeydown),this.contextTarget?.removeEventListener("contextmenu",this.onContextMenu)}syncTriggerState(){this.trigger&&(this.trigger.setAttribute("aria-haspopup","menu"),this.trigger.setAttribute("aria-expanded",this.internalOpen?"true":"false"))}getItems(){return Array.from(this.host.querySelectorAll("ui-menu-item")).filter((t=>!this.isItemDisabled(t)))}focusFirstItem(){requestAnimationFrame((()=>this.getItems()[0]?.focus()))}openMenu(t,i,e){this.pointerX=t,this.pointerY=i,this.focusTrigger=e,this.pointPositioned=!0,this.surface?.showAtPoint({x:t,y:i}),this.internalOpen=!0,a(this.host,"open",{open:!0,reason:"action",trigger:e}),this.focusFirstItem()}openFromTrigger(t){this.trigger&&(this.pointPositioned=!1,this.internalOpen=!0,a(this.host,"open",{open:!0,reason:"action",trigger:t}),this.focusFirstItem())}closeMenu(t,i,e=!0){this.internalOpen&&(this.internalOpen=!1,a(this.host,"close",{open:!1,reason:t,trigger:i}),e&&this.trigger?.focus())}onTriggerClick=t=>{this.internalOpen?this.closeMenu("action",0===t.detail?"keyboard":"pointer"):this.openFromTrigger(0===t.detail?"keyboard":"pointer")};onTriggerKeydown=t=>{"Enter"!==t.key&&" "!==t.key&&"ArrowDown"!==t.key||(t.preventDefault(),this.internalOpen?this.focusFirstItem():this.openFromTrigger("keyboard"))};onContextMenu=t=>{t.preventDefault(),this.openMenu(t.clientX,t.clientY,"pointer")};isItemDisabled(t){return"true"===t.getAttribute("aria-disabled")||t.hasAttribute("disabled")||"true"===t.getAttribute("disabled")||!0===t.disabled}onKeydown=t=>{if(this.internalOpen){if(this.focusTrigger="keyboard","Escape"===t.key)return t.preventDefault(),void r("escape","keyboard");if("Enter"===t.key||" "===t.key){const i=t.target.closest?.("ui-menu-item");if(!i||this.isItemDisabled(i))return;t.preventDefault();const e=i.getAttribute("value")??i.getAttribute("data-value")??"";a(this.host,"select",{value:e,trigger:"keyboard"}),this.closeMenu("action","keyboard")}}};onItemClick=t=>{const i=t.target.closest?.("ui-menu-item");if(!i||this.isItemDisabled(i))return;const e=i.getAttribute("value")??i.getAttribute("data-value")??"";a(this.host,"select",{value:e,trigger:"pointer"}),this.closeMenu("action","pointer")};render(){return e(s,{key:"171e647667bab4a9f905f2b531aa2db182fc426f","data-open":this.internalOpen?"":void 0,"data-focus-trigger":this.internalOpen?this.focusTrigger:void 0,onKeyDown:this.onKeydown,onClick:this.onItemClick},e("slot",{key:"f1a15e54ab3b14515553e05b4b3cf60ed7a99f8b",name:"trigger"}),e("div",{key:"450aaacf3f75a71ecce86300c0d824452ceec4a0",class:"menu","data-open":this.internalOpen?"":void 0},e("ui-menu",{key:"667003b7c6ab3ccbaa888b25cb87d921036ab827",open:this.internalOpen},e("slot",{key:"c0731115bc3dbd02c4125ef8208269dd97e124bf"}))))}static get watchers(){return{open:[{syncFromProp:0}],for:[{syncTarget:0}],internalOpen:[{syncOverlay:0}]}}};c.style=":host{display:contents}:host([data-focus-trigger='pointer']) ::slotted(ui-menu-item:focus){outline:none}.menu{position:fixed;inset:auto;margin:0;z-index:var(--ui-z-overlay, 1000);min-width:12rem;opacity:0;transform:translateY(-4px) scale(0.99);transition:opacity var(--ui-motion-fast) var(--ui-motion-ease), transform var(--ui-motion-fast) var(--ui-motion-ease), display var(--ui-motion-fast) allow-discrete, overlay var(--ui-motion-fast) allow-discrete}.menu:popover-open{opacity:1;transform:translateY(0) scale(1)}@starting-style{.menu:popover-open{opacity:0;transform:translateY(-4px) scale(0.99)}}.menu[hidden]{display:none !important}@media (prefers-reduced-motion: reduce){.menu{transition:none}}";export{c as ui_context_menu}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as t,g as e,h as i,H as s}from"./p-8BGiMGQ0.js";import{d as r}from"./p-JwSoedEO.js";function n(t,e,i){const s=t.height>0?Math.min(1,Math.max(0,(e-t.top)/t.height)):.5;return i?s<.25?"before":s>.75?"after":"inside":s<.5?"before":"after"}const h=class{constructor(e){t(this,e)}get host(){return e(this)}label="Tree";hoverExpandDelay=700;maxDepth=0;source=null;target=null;position=null;rejectedTarget=null;rejectedPosition=null;rejection=null;hoverIntent=null;structureObserver=null;tabStop=null;componentDidLoad(){this.hoverIntent=function(t,e){let i,s;function r(){i&&clearTimeout(i),i=void 0,s=void 0}return{schedule(n){s===n&&i||(r(),s=n,i=setTimeout((()=>{i=void 0;const t=s;s=void 0,t&&e(t)}),Math.max(0,t)))},cancel:r,destroy:r}}(this.hoverExpandDelay,this.expandTarget),this.host.addEventListener("dragstart",this.onDragStart),this.host.addEventListener("drag",this.onDrag),this.host.addEventListener("dragenter",this.onDragOver),this.host.addEventListener("dragover",this.onDragOver),this.host.addEventListener("dragleave",this.onDragLeave),this.host.addEventListener("drop",this.onDrop),this.host.addEventListener("dragend",this.onDragEnd),this.host.addEventListener("keydown",this.onKeyDown),this.host.addEventListener("focusin",this.onFocusIn),this.host.addEventListener("ui-tree-expansion-change",this.onExpansionChange),this.syncStructuralLevels(),this.structureObserver=new MutationObserver(this.syncStructuralLevels),this.structureObserver.observe(this.host,{childList:!0,subtree:!0})}disconnectedCallback(){this.hoverIntent?.destroy(),this.host.removeEventListener("dragstart",this.onDragStart),this.host.removeEventListener("drag",this.onDrag),this.host.removeEventListener("dragenter",this.onDragOver),this.host.removeEventListener("dragover",this.onDragOver),this.host.removeEventListener("dragleave",this.onDragLeave),this.host.removeEventListener("drop",this.onDrop),this.host.removeEventListener("dragend",this.onDragEnd),this.host.removeEventListener("keydown",this.onKeyDown),this.host.removeEventListener("focusin",this.onFocusIn),this.host.removeEventListener("ui-tree-expansion-change",this.onExpansionChange),this.structureObserver?.disconnect(),this.structureObserver=null}syncStructuralLevels=()=>{for(const t of Array.from(this.host.querySelectorAll("ui-tree-item")))t.dispatchEvent(new CustomEvent("ui-tree-structure-sync"));this.syncTabStop()};syncTabStop(t){const e=this.visibleItems(),i=t&&e.includes(t)?t:this.tabStop&&e.includes(this.tabStop)?this.tabStop:e[0]??null;this.tabStop=i;for(const t of e)t.dispatchEvent(new CustomEvent("ui-tree-roving-tab-stop",{detail:{active:t===i}}))}itemFromEvent(t){return t.composedPath().find((t=>t instanceof HTMLElement&&"ui-tree-item"===t.localName))??null}eventTargetsInteractiveContent(t){for(const e of t.composedPath()){if(e instanceof HTMLElement&&"ui-tree-item"===e.localName)break;if(e instanceof HTMLElement&&e.matches('a, button, input, select, textarea, [role="button"], [role="link"]'))return!0}return!1}itemId(t){return t.itemId||t.getAttribute("item-id")||""}rowFor(t){return t.shadowRoot?.querySelector('[part="row"]')??null}itemAtPoint(t,e){let i=this.host.ownerDocument.elementFromPoint(t,e);for(;i;){if("ui-tree-item"===i.localName&&this.host.contains(i))return i;const t=i.getRootNode();i=t instanceof ShadowRoot?t.host:i.parentElement}return null}isWithinTree(t){let e=t instanceof HTMLElement?t:null;for(;e;){if(e===this.host||this.host.contains(e))return!0;const t=e.getRootNode();e=t instanceof ShadowRoot?t.host:e.parentElement}return!1}acceptsChildren(t){return Boolean(t.container??t.hasAttribute("container"))&&!Boolean(t.disabled??t.hasAttribute("disabled"))}itemMetadata(t){return{type:t.getAttribute("data-drag-type")||t.getAttribute("drag-type")||"item",scope:t.getAttribute("data-drop-scope")||t.getAttribute("drop-scope")||"",accepts:(t.getAttribute("data-accepts")||t.getAttribute("accepts")||"").split(",").map((t=>t.trim())).filter(Boolean)}}constraintDepth(t){if(void 0!==t.dropDepth)return t.dropDepth;const e=t.getAttribute("drop-depth");return null!==e?Number(e):Number(t.getAttribute("aria-level"))||1}subtreeDepth(t){if(void 0!==t.subtreeDepth)return Math.max(0,Math.floor(t.subtreeDepth));const e=t.getAttribute("subtree-depth");return null!==e?Math.max(0,Math.floor(Number(e))):Array.from(t.querySelectorAll("ui-tree-item")).reduce(((e,i)=>{let s=0,r=i.parentElement?.closest("ui-tree-item")??null;for(;r&&r!==t;)s+=1,r=r.parentElement?.closest("ui-tree-item")??null;return r===t?Math.max(e,s+1):e}),0)}dropRejection(t,e,i){if(t.contains(e))return{reason:"descendant"};const s=this.itemMetadata(t),r=this.itemMetadata(e);if("inside"===i){if(!this.acceptsChildren(e)||r.accepts.length>0&&!r.accepts.includes(s.type))return{reason:"incompatible"}}else if(s.type!==r.type)return{reason:"incompatible"};const n=Math.max(0,Math.floor(this.maxDepth));if(n>0){const s=Math.max(0,Math.floor(this.constraintDepth(e)))+("inside"===i?1:0)+this.subtreeDepth(t);if(s>n)return{reason:"max-depth",maxDepth:n,resultingDepth:s}}return null}clearTarget(){this.target?.removeAttribute("data-drop-position"),this.target=null,this.position=null,this.hoverIntent?.cancel()}clearRejection(){this.rejectedTarget=null,this.rejectedPosition=null,this.rejection=null}finishDrag(){this.source?.removeAttribute("data-dragging"),this.source=null,this.clearTarget(),this.clearRejection()}expandTarget=t=>{const e=Array.from(this.host.querySelectorAll("ui-tree-item")).find((e=>this.itemId(e)===t));e&&"false"===e.getAttribute("aria-expanded")&&e.dispatchEvent(new CustomEvent("ui-tree-auto-expand"))};onDragStart=t=>{const e=this.itemFromEvent(t);if(!e||!Boolean(e.sortable??e.hasAttribute("sortable"))||Boolean(e.disabled??e.hasAttribute("disabled")))return;if(!t.composedPath().some((t=>t instanceof HTMLElement&&"drag-handle"===t.getAttribute("part"))))return void t.preventDefault();const i=this.itemId(e),s=this.rowFor(e);i&&s?(this.source=e,e.setAttribute("data-dragging","true"),t.dataTransfer&&(t.dataTransfer.effectAllowed="move",t.dataTransfer.setData("text/plain",i)),function(t,e){if(!t||"function"!=typeof t.setDragImage)return;const{height:i}=e.getBoundingClientRect();t.setDragImage(e,16,Math.max(0,i/2))}(t.dataTransfer,s)):t.preventDefault()};updateTarget(t,e,i){if(!this.source)return!1;if(!t||t===this.source)return this.clearTarget(),this.clearRejection(),!1;const s=this.rowFor(t);if(!s)return!1;const r=n(s.getBoundingClientRect(),e,this.acceptsChildren(t)),h=this.dropRejection(this.source,t,r);return h?(i&&(i.dropEffect="none"),this.clearTarget(),"max-depth"===h.reason?(this.rejectedTarget=t,this.rejectedPosition=r,this.rejection=h):this.clearRejection(),!1):(this.clearRejection(),i&&(i.dropEffect="move"),this.target===t&&this.position===r||(this.clearTarget(),this.target=t,this.position=r,t.setAttribute("data-drop-position",r)),"inside"===r&&"false"===t.getAttribute("aria-expanded")?this.hoverIntent?.schedule(this.itemId(t)):this.hoverIntent?.cancel(),!0)}onDrag=t=>{if(!this.source||0===t.clientX&&0===t.clientY)return;const e=this.itemAtPoint(t.clientX,t.clientY);e&&this.updateTarget(e,t.clientY,t.dataTransfer)};onDragOver=t=>{if(!this.source)return;const e=this.itemFromEvent(t);this.updateTarget(e,t.clientY,t.dataTransfer)&&t.preventDefault()};onDragLeave=t=>{this.isWithinTree(t.relatedTarget)||this.itemAtPoint(t.clientX,t.clientY)||(this.clearTarget(),this.clearRejection())};dispatchReorder(t,e,i){const s=this.itemId(t),n=this.itemId(e);if(!s||!n)return;"inside"===i&&this.expandTarget(n);const h=this.itemMetadata(t),o=this.itemMetadata(e);r(this.host,"reorder",{sourceId:s,targetId:n,position:i,sourceType:h.type,targetType:o.type,sourceScope:h.scope,targetScope:o.scope,trigger:"pointer"})}dispatchReorderRejected(t,e,i,s){const n=this.itemId(t),h=this.itemId(e);n&&h&&r(this.host,"reorder-rejected",{sourceId:n,targetId:h,position:i,reason:"max-depth",maxDepth:s.maxDepth,resultingDepth:s.resultingDepth,trigger:"pointer"})}onDrop=t=>{this.source&&this.target&&this.position&&(t.preventDefault(),this.dispatchReorder(this.source,this.target,this.position),this.finishDrag())};onDragEnd=t=>{if(this.source){if(this.rejectedTarget&&this.rejectedPosition&&this.rejection)return this.dispatchReorderRejected(this.source,this.rejectedTarget,this.rejectedPosition,this.rejection),void this.finishDrag();const e=this.itemAtPoint(t.clientX,t.clientY);if(e&&e!==this.source){const i=this.rowFor(e);if(i){const s=n(i.getBoundingClientRect(),t.clientY,this.acceptsChildren(e)),r=this.dropRejection(this.source,e,s);r?"max-depth"===r.reason&&this.dispatchReorderRejected(this.source,e,s,r):this.dispatchReorder(this.source,e,s)}}}this.finishDrag()};visibleItems(){return Array.from(this.host.querySelectorAll("ui-tree-item")).filter((t=>t.getClientRects().length>0&&!t.hasAttribute("disabled")))}parentItem(t){const e=t.parentElement?.closest("ui-tree-item")??null;return e&&this.host.contains(e)?e:null}firstVisibleChild(t,e){return e.find((e=>this.parentItem(e)===t))??null}focusItem(t){this.syncTabStop(t),t.focus()}requestExpansion(t,e){t.dispatchEvent(new CustomEvent("ui-tree-request-expanded",{detail:{expanded:e,trigger:"keyboard"}}))}onFocusIn=t=>{if(this.eventTargetsInteractiveContent(t))return;const e=this.itemFromEvent(t);e&&this.syncTabStop(e)};onExpansionChange=()=>{requestAnimationFrame((()=>this.syncTabStop()))};onKeyDown=t=>{if(this.eventTargetsInteractiveContent(t))return;const e=this.itemFromEvent(t);if(!e)return;const i=this.visibleItems(),s=i.indexOf(e);if(s<0)return;const r="ArrowDown"===t.key?i[s+1]:"ArrowUp"===t.key?i[s-1]:"Home"===t.key?i[0]:"End"===t.key?i.at(-1):null;if(r)return t.preventDefault(),void this.focusItem(r);if("ArrowLeft"!==t.key){if("ArrowRight"===t.key)if("false"===e.getAttribute("aria-expanded"))t.preventDefault(),this.requestExpansion(e,!0);else if("true"===e.getAttribute("aria-expanded")){const s=this.firstVisibleChild(e,i);s&&(t.preventDefault(),this.focusItem(s))}}else"true"===e.getAttribute("aria-expanded")?(t.preventDefault(),this.requestExpansion(e,!1)):this.parentItem(e)&&(t.preventDefault(),this.focusItem(this.parentItem(e)))};render(){return i(s,{key:"549c09abc67dc60b16bf2d6b7d6346f214e9d6ae",role:"tree","aria-label":this.label||"Tree"},i("slot",{key:"fea59bde97611bf384e32ce4fb2b3eec9aca784f"}))}};h.style=":host{--ui-tree-indent:16px;--ui-tree-gutter:0px;display:block;min-inline-size:0;padding-inline-start:var(--ui-tree-gutter)}::slotted(ui-tree-item){--ui-tree-indent:inherit}";export{h as ui_tree}
|
|
1
|
+
import{r as t,g as e,h as i,H as s}from"./p-8BGiMGQ0.js";import{d as r}from"./p-JwSoedEO.js";function n(t,e,i){const s=t.height>0?Math.min(1,Math.max(0,(e-t.top)/t.height)):.5;return i?s<.25?"before":s>.75?"after":"inside":s<.5?"before":"after"}const h=class{constructor(e){t(this,e)}get host(){return e(this)}label="Tree";hoverExpandDelay=700;maxDepth=0;source=null;target=null;position=null;rejectedTarget=null;rejectedPosition=null;rejection=null;hoverIntent=null;structureObserver=null;tabStop=null;componentDidLoad(){this.hoverIntent=function(t,e){let i,s;function r(){i&&clearTimeout(i),i=void 0,s=void 0}return{schedule(n){s===n&&i||(r(),s=n,i=setTimeout((()=>{i=void 0;const t=s;s=void 0,t&&e(t)}),Math.max(0,t)))},cancel:r,destroy:r}}(this.hoverExpandDelay,this.expandTarget),this.host.addEventListener("dragstart",this.onDragStart),this.host.addEventListener("drag",this.onDrag),this.host.addEventListener("dragenter",this.onDragOver),this.host.addEventListener("dragover",this.onDragOver),this.host.addEventListener("dragleave",this.onDragLeave),this.host.addEventListener("drop",this.onDrop),this.host.addEventListener("dragend",this.onDragEnd),this.host.addEventListener("keydown",this.onKeyDown),this.host.addEventListener("focusin",this.onFocusIn),this.host.addEventListener("ui-tree-expansion-change",this.onExpansionChange),this.syncStructuralLevels(),this.structureObserver=new MutationObserver(this.syncStructuralLevels),this.structureObserver.observe(this.host,{childList:!0,subtree:!0})}disconnectedCallback(){this.hoverIntent?.destroy(),this.host.removeEventListener("dragstart",this.onDragStart),this.host.removeEventListener("drag",this.onDrag),this.host.removeEventListener("dragenter",this.onDragOver),this.host.removeEventListener("dragover",this.onDragOver),this.host.removeEventListener("dragleave",this.onDragLeave),this.host.removeEventListener("drop",this.onDrop),this.host.removeEventListener("dragend",this.onDragEnd),this.host.removeEventListener("keydown",this.onKeyDown),this.host.removeEventListener("focusin",this.onFocusIn),this.host.removeEventListener("ui-tree-expansion-change",this.onExpansionChange),this.structureObserver?.disconnect(),this.structureObserver=null}syncStructuralLevels=()=>{for(const t of Array.from(this.host.querySelectorAll("ui-tree-item")))t.dispatchEvent(new CustomEvent("ui-tree-structure-sync"));this.syncTabStop()};syncTabStop(t){const e=this.visibleItems(),i=t&&e.includes(t)?t:this.tabStop&&e.includes(this.tabStop)?this.tabStop:e[0]??null;this.tabStop=i;for(const t of e)t.dispatchEvent(new CustomEvent("ui-tree-roving-tab-stop",{detail:{active:t===i}}))}itemFromEvent(t){return t.composedPath().find((t=>t instanceof HTMLElement&&"ui-tree-item"===t.localName))??null}eventTargetsInteractiveContent(t){for(const e of t.composedPath()){if(e instanceof HTMLElement&&"ui-tree-item"===e.localName)break;if(e instanceof HTMLElement&&e.matches('a, button, input, select, textarea, [role="button"], [role="link"]'))return!0}return!1}itemId(t){return t.itemId||t.getAttribute("item-id")||""}rowFor(t){return t.shadowRoot?.querySelector('[part="row"]')??null}itemAtPoint(t,e){let i=this.host.ownerDocument.elementFromPoint(t,e);for(;i;){if("ui-tree-item"===i.localName&&this.host.contains(i))return i;const t=i.getRootNode();i=t instanceof ShadowRoot?t.host:i.parentElement}return null}isWithinTree(t){let e=t instanceof HTMLElement?t:null;for(;e;){if(e===this.host||this.host.contains(e))return!0;const t=e.getRootNode();e=t instanceof ShadowRoot?t.host:e.parentElement}return!1}acceptsChildren(t){return Boolean(t.container??t.hasAttribute("container"))&&!Boolean(t.disabled??t.hasAttribute("disabled"))}itemMetadata(t){return{type:t.getAttribute("data-drag-type")||t.getAttribute("drag-type")||"item",scope:t.getAttribute("data-drop-scope")||t.getAttribute("drop-scope")||"",accepts:(t.getAttribute("data-accepts")||t.getAttribute("accepts")||"").split(",").map((t=>t.trim())).filter(Boolean)}}constraintDepth(t){if(void 0!==t.dropDepth)return t.dropDepth;const e=t.getAttribute("drop-depth");return null!==e?Number(e):Number(t.getAttribute("aria-level"))||1}subtreeDepth(t){if(void 0!==t.subtreeDepth)return Math.max(0,Math.floor(t.subtreeDepth));const e=t.getAttribute("subtree-depth");return null!==e?Math.max(0,Math.floor(Number(e))):Array.from(t.querySelectorAll("ui-tree-item")).reduce(((e,i)=>{let s=0,r=i.parentElement?.closest("ui-tree-item")??null;for(;r&&r!==t;)s+=1,r=r.parentElement?.closest("ui-tree-item")??null;return r===t?Math.max(e,s+1):e}),0)}dropRejection(t,e,i){if(t.contains(e))return{reason:"descendant"};const s=this.itemMetadata(t),r=this.itemMetadata(e);if("inside"===i){if(!this.acceptsChildren(e)||r.accepts.length>0&&!r.accepts.includes(s.type))return{reason:"incompatible"}}else if(s.type!==r.type)return{reason:"incompatible"};const n=Math.max(0,Math.floor(this.maxDepth));if(n>0){const s=Math.max(0,Math.floor(this.constraintDepth(e)))+("inside"===i?1:0)+this.subtreeDepth(t);if(s>n)return{reason:"max-depth",maxDepth:n,resultingDepth:s}}return null}clearTarget(){this.target?.removeAttribute("data-drop-position"),this.target=null,this.position=null,this.hoverIntent?.cancel()}clearRejection(){this.rejectedTarget=null,this.rejectedPosition=null,this.rejection=null}finishDrag(){this.source?.removeAttribute("data-dragging"),this.source=null,this.clearTarget(),this.clearRejection()}expandTarget=t=>{const e=Array.from(this.host.querySelectorAll("ui-tree-item")).find((e=>this.itemId(e)===t));e&&"false"===e.getAttribute("aria-expanded")&&e.dispatchEvent(new CustomEvent("ui-tree-auto-expand"))};onDragStart=t=>{const e=this.itemFromEvent(t);if(!e||!Boolean(e.sortable??e.hasAttribute("sortable"))||Boolean(e.disabled??e.hasAttribute("disabled")))return;if(!t.composedPath().some((t=>t instanceof HTMLElement&&"drag-handle"===t.getAttribute("part"))))return void t.preventDefault();const i=this.itemId(e),s=this.rowFor(e);i&&s?(this.source=e,e.setAttribute("data-dragging","true"),t.dataTransfer&&(t.dataTransfer.effectAllowed="move",t.dataTransfer.setData("text/plain",i)),function(t,e){if(!t||"function"!=typeof t.setDragImage)return;const{height:i}=e.getBoundingClientRect();t.setDragImage(e,16,Math.max(0,i/2))}(t.dataTransfer,s)):t.preventDefault()};updateTarget(t,e,i){if(!this.source)return!1;if(!t||t===this.source)return this.clearTarget(),this.clearRejection(),!1;const s=this.rowFor(t);if(!s)return!1;const r=n(s.getBoundingClientRect(),e,this.acceptsChildren(t)),h=this.dropRejection(this.source,t,r);return h?(i&&(i.dropEffect="none"),this.clearTarget(),"max-depth"===h.reason?(this.rejectedTarget=t,this.rejectedPosition=r,this.rejection=h):this.clearRejection(),!1):(this.clearRejection(),i&&(i.dropEffect="move"),this.target===t&&this.position===r||(this.clearTarget(),this.target=t,this.position=r,t.setAttribute("data-drop-position",r)),"inside"===r&&"false"===t.getAttribute("aria-expanded")?this.hoverIntent?.schedule(this.itemId(t)):this.hoverIntent?.cancel(),!0)}onDrag=t=>{if(!this.source||0===t.clientX&&0===t.clientY)return;const e=this.itemAtPoint(t.clientX,t.clientY);e&&this.updateTarget(e,t.clientY,t.dataTransfer)};onDragOver=t=>{if(!this.source)return;const e=this.itemFromEvent(t);this.updateTarget(e,t.clientY,t.dataTransfer)&&t.preventDefault()};onDragLeave=t=>{this.isWithinTree(t.relatedTarget)||this.itemAtPoint(t.clientX,t.clientY)||(this.clearTarget(),this.clearRejection())};dispatchReorder(t,e,i){const s=this.itemId(t),n=this.itemId(e);if(!s||!n)return;"inside"===i&&this.expandTarget(n);const h=this.itemMetadata(t),o=this.itemMetadata(e);r(this.host,"reorder",{sourceId:s,targetId:n,position:i,sourceType:h.type,targetType:o.type,sourceScope:h.scope,targetScope:o.scope,trigger:"pointer"})}dispatchReorderRejected(t,e,i,s){const n=this.itemId(t),h=this.itemId(e);n&&h&&r(this.host,"reorder-rejected",{sourceId:n,targetId:h,position:i,reason:"max-depth",maxDepth:s.maxDepth,resultingDepth:s.resultingDepth,trigger:"pointer"})}onDrop=t=>{this.source&&this.target&&this.position&&(t.preventDefault(),this.dispatchReorder(this.source,this.target,this.position),this.finishDrag())};onDragEnd=t=>{if(this.source){if(this.rejectedTarget&&this.rejectedPosition&&this.rejection)return this.dispatchReorderRejected(this.source,this.rejectedTarget,this.rejectedPosition,this.rejection),void this.finishDrag();const e=this.itemAtPoint(t.clientX,t.clientY);if(e&&e!==this.source){const i=this.rowFor(e);if(i){const s=n(i.getBoundingClientRect(),t.clientY,this.acceptsChildren(e)),r=this.dropRejection(this.source,e,s);r?"max-depth"===r.reason&&this.dispatchReorderRejected(this.source,e,s,r):this.dispatchReorder(this.source,e,s)}}}this.finishDrag()};visibleItems(){return Array.from(this.host.querySelectorAll("ui-tree-item")).filter((t=>t.getClientRects().length>0&&!t.hasAttribute("disabled")))}parentItem(t){const e=t.parentElement?.closest("ui-tree-item")??null;return e&&this.host.contains(e)?e:null}firstVisibleChild(t,e){return e.find((e=>this.parentItem(e)===t))??null}focusItem(t){this.syncTabStop(t),t.focus()}requestExpansion(t,e){t.dispatchEvent(new CustomEvent("ui-tree-request-expanded",{detail:{expanded:e,trigger:"keyboard"}}))}onFocusIn=t=>{if(this.eventTargetsInteractiveContent(t))return;const e=this.itemFromEvent(t);e&&this.syncTabStop(e)};onExpansionChange=()=>{requestAnimationFrame((()=>this.syncTabStop()))};onKeyDown=t=>{if(this.eventTargetsInteractiveContent(t))return;const e=this.itemFromEvent(t);if(!e)return;const i=this.visibleItems(),s=i.indexOf(e);if(s<0)return;const r="ArrowDown"===t.key?i[s+1]:"ArrowUp"===t.key?i[s-1]:"Home"===t.key?i[0]:"End"===t.key?i.at(-1):null;if(r)return t.preventDefault(),void this.focusItem(r);if("ArrowLeft"!==t.key){if("ArrowRight"===t.key)if("false"===e.getAttribute("aria-expanded"))t.preventDefault(),this.requestExpansion(e,!0);else if("true"===e.getAttribute("aria-expanded")){const s=this.firstVisibleChild(e,i);s&&(t.preventDefault(),this.focusItem(s))}}else"true"===e.getAttribute("aria-expanded")?(t.preventDefault(),this.requestExpansion(e,!1)):this.parentItem(e)&&(t.preventDefault(),this.focusItem(this.parentItem(e)))};render(){return i(s,{key:"7efbf793fe63471006df57f0045a5fe995c81440",role:"tree","aria-label":this.label||"Tree"},i("slot",{key:"1804e391796e7451c93cb58258e0e23ec3ad98c7"}))}};h.style=":host{--ui-tree-indent:16px;--ui-tree-gutter:0px;display:block;min-inline-size:0;padding-inline-start:var(--ui-tree-gutter)}::slotted(ui-tree-item){--ui-tree-indent:inherit}";export{h as ui_tree}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as e,c as t,g as i,h as s,H as a}from"./p-8BGiMGQ0.js";const o=class{constructor(i){e(this,i),this.queryChange=t(this,"query-change"),this.addItem=t(this,"add-item"),this.removeItem=t(this,"remove-item"),this.createItem=t(this,"create-item"),this.optionsChange=t(this,"options-change")}get host(){return i(this)}label="";placeholder="";items=[];config={};query;defaultQuery="";disabled=!1;readOnly=!1;required=!1;name="";queryChange;addItem;removeItem;createItem;optionsChange;raw="";rows=[];combobox;filteredConfig;filteredConfigSource;filteredSelection="";componentWillLoad(){this.raw=this.query??this.defaultQuery}syncQuery(){void 0!==this.query&&(this.raw=this.query)}get selectedValues(){return new Set(this.items.map((e=>e.value)))}get comboboxConfig(){const e=this.items.map((e=>e.value)).join("\0");if(this.filteredConfig&&this.filteredConfigSource===this.config&&this.filteredSelection===e)return this.filteredConfig;const t=this.config.filter,i=this.selectedValues;return this.filteredConfigSource=this.config,this.filteredSelection=e,this.filteredConfig={...this.config,filter:(e,s,a)=>!i.has(e.value)&&(t?t(e,s,a):e.label.toLocaleLowerCase().includes(s.toLocaleLowerCase()))},this.filteredConfig}setQuery(e,t){void 0===this.query&&(this.raw=e),this.queryChange.emit({query:e,display:e,trigger:t})}onQueryChange=e=>{e.stopPropagation(),this.setQuery(e.detail.query,e.detail.trigger)};onOptionsChange=e=>{e.stopPropagation(),this.rows=e.detail,this.optionsChange.emit(e.detail)};onValueChange=e=>{e.stopPropagation(),"selection"===e.detail.kind&&e.detail.option&&(this.addItem.emit({item:e.detail.option,index:this.items.length,trigger:e.detail.trigger}),queueMicrotask((()=>this.setQuery("",e.detail.trigger))))};onCreateEntry=e=>{e.stopPropagation();const t=e.detail.query.trim();t&&(this.setQuery("",e.detail.trigger),this.createItem.emit({query:t,trigger:e.detail.trigger}))};remove(e,t){const i=this.items[e];!i||i.disabled||this.disabled||this.readOnly||(this.removeItem.emit({item:i,index:e,trigger:t}),requestAnimationFrame((()=>{const t=this.host.shadowRoot?.querySelectorAll('[part="item"]')??[],s=t[Math.min(e,t.length-1)]??t[e-1];s&&s.dataset.value!==i.value?s.focus():this.focusInput()})))}focusItem(e){this.host.shadowRoot?.querySelectorAll('[part="item"]')[e]?.focus()}onItemKeyDown=(e,t)=>{e.altKey||e.ctrlKey||e.metaKey||e.shiftKey||("ArrowLeft"===e.key?(e.preventDefault(),e.stopPropagation(),this.focusItem(Math.max(0,t-1))):"ArrowRight"===e.key?(e.preventDefault(),e.stopPropagation(),t===this.items.length-1?this.focusInput():this.focusItem(t+1)):"Backspace"!==e.key&&"Delete"!==e.key||(e.preventDefault(),e.stopPropagation(),this.remove(t,"keyboard")))};onKeyDown=e=>{if(e.defaultPrevented||this.disabled||this.readOnly||e.altKey||e.ctrlKey||e.metaKey||e.shiftKey)return;const t=e.composedPath().find((e=>e instanceof HTMLInputElement));!t||this.raw||(t.selectionStart??0)>0||("ArrowLeft"===e.key&&this.items.length?(e.preventDefault(),this.focusItem(this.items.length-1)):"Backspace"===e.key&&this.items.length&&(e.preventDefault(),this.remove(this.items.length-1,"keyboard")))};async focusInput(){await(this.combobox?.focusInput())}render(){return s(a,{key:"bdb03a28ea25b22340dc56381fa45031f0c47c27",onKeyDown:this.onKeyDown},s("ui-combobox",{key:"51ba1ab747af9f216223bd71f524db79ef57b8a9",ref:e=>this.combobox=e,label:this.label,"label-visibility":"sr-only",placeholder:this.placeholder,name:this.name,value:null,query:this.raw,config:this.comboboxConfig,size:"sm",disabled:this.disabled,readOnly:this.readOnly,required:this.required,"onQuery-change":this.onQueryChange,"onValue-change":this.onValueChange,"onCreate-entry":this.onCreateEntry,"onOptions-change":this.onOptionsChange},s("div",{key:"ebd8fd8e62db3c2e47b1bfc7558c01e7e1abb8ba",slot:"start",class:"items",role:"group","aria-label":`Selected ${this.label}`},this.items.map(((e,t)=>s("button",{type:"button",part:"item",class:"item","data-value":e.value,tabIndex:-1,disabled:this.disabled||this.readOnly||e.disabled,"aria-label":`${e.label}, press Delete or Backspace to remove`,onKeyDown:e=>this.onItemKeyDown(e,t)},s("slot",{name:`item-${e.id}`},s("ui-chip",{appearance:"pill"},e.label)))))),this.rows.map((e=>s("span",{slot:`option-${e.id}`},s("slot",{name:`option-${e.id}`},e.label)))),s("span",{key:"99cd9848130de37e52a4f735c95e3754dbc64691",slot:"create"},s("slot",{key:"84cc7c14716819bd968bdfcb9213fe3887a5c2b9",name:"create"},"Create “",this.raw,"”")),s("span",{key:"1660eb03425dea4d36797e416d91b051531a470d",slot:"loading"},s("slot",{key:"10c979403e89331e8bdf69ff2db3f5bc272b2685",name:"loading"},"Loading suggestions…")),s("span",{key:"1c862b6c5906aa3ec5fc874de5a5119e13ef9422",slot:"empty"},s("slot",{key:"1c70a1beb7321d3b2be888b3826a1dba2f6fcc70",name:"empty"},"No suggestions.")),s("span",{key:"4b4da5cb8b22543b90ff9230191bbb2e81d16408",slot:"error"},s("slot",{key:"a371a5ce50895562ebc6e55227e4a4834af37f3d",name:"error"},"Unable to load suggestions.")),s("div",{key:"f82e38165d90bdbfa8413c0a561abf7ab5da0183",slot:"footer"},s("slot",{key:"6c0bd2b89428832f4cb485f5d2e30a792859ba9e",name:"footer"}))))}static get watchers(){return{query:[{syncQuery:0}]}}};o.style=":host{display:block;min-inline-size:0;color:var(--ui-text-primary);font:inherit}ui-combobox::part(field){flex-wrap:wrap;align-items:center;gap:var(--ui-space-1);min-block-size:var(--ui-multi-combobox-min-block-size, 2.5rem);padding:var(--ui-space-1)}ui-combobox::part(input){flex:1 0 var(--ui-multi-combobox-input-min-inline-size, 5rem);width:auto;min-block-size:1.75rem;padding:var(--ui-space-0-5) var(--ui-space-1)}.items{display:contents}.item{appearance:none;display:inline-flex;max-inline-size:100%;padding:0;border:0;border-radius:var(--ui-radius-1);background:transparent;color:inherit;font:inherit;cursor:default}.item:focus-visible{outline:2px solid var(--ui-focus-ring);outline-offset:1px}.item:disabled{opacity:.6}";export{o as ui_multi_combobox}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as t,g as s,h as i,H as e}from"./p-8BGiMGQ0.js";import{c as n}from"./p-hgBUJRDa.js";import{d as o,e as r,i as h}from"./p-JwSoedEO.js";import{i as a,c}from"./p-BnGhGgTH.js";const d=class{constructor(s){t(this,s)}get host(){return s(this)}open;defaultOpen=!1;disabled=!1;internalOpen=!1;contentId="";trigger=null;content=null;syncFromProp(){a(this.open)&&(this.internalOpen=this.open)}syncState(){this.trigger&&this.trigger.setAttribute("aria-expanded",String(this.internalOpen)),this.content&&(this.content.hidden=!this.internalOpen)}componentDidLoad(){this.resolveParts(),this.internalOpen=c(this.open,this.defaultOpen),this.syncState(),this.trigger?.addEventListener("click",this.onTriggerClick),this.trigger?.addEventListener("keydown",this.onTriggerKeydown)}disconnectedCallback(){this.trigger?.removeEventListener("click",this.onTriggerClick),this.trigger?.removeEventListener("keydown",this.onTriggerKeydown)}componentDidUpdate(){this.syncState()}resolveParts(){this.trigger=this.host.querySelector("[data-ui-disclosure-trigger], button, [aria-controls]");const t=this.trigger?.getAttribute("aria-controls")??"";if(t)this.content=document.getElementById(t);else{const t=Array.from(this.host.children);this.content=t.find((t=>t!==this.trigger))??null}this.trigger&&this.content&&(this.content.id||(this.content.id=n("disclosure-content")),this.trigger.setAttribute("aria-controls",this.content.id),this.contentId=this.content.id),this.trigger instanceof HTMLButtonElement?this.trigger.disabled=this.disabled:this.trigger&&this.trigger.setAttribute("aria-disabled",String(this.disabled))}setOpen(t,s){this.internalOpen!==t&&(a(this.open)||(this.internalOpen=t),o(this.host,t?"open":"close",{open:t,reason:s.reason,trigger:s.trigger}))}onTriggerClick=t=>{this.disabled?t.preventDefault():this.setOpen(!this.internalOpen,{reason:"action",trigger:r(t)})};onTriggerKeydown=t=>{!this.disabled&&h(t)&&(t.preventDefault(),this.setOpen(!this.internalOpen,{reason:"action",trigger:"keyboard"}))};render(){return i(e,{key:"
|
|
1
|
+
import{r as t,g as s,h as i,H as e}from"./p-8BGiMGQ0.js";import{c as n}from"./p-hgBUJRDa.js";import{d as o,e as r,i as h}from"./p-JwSoedEO.js";import{i as a,c}from"./p-BnGhGgTH.js";const d=class{constructor(s){t(this,s)}get host(){return s(this)}open;defaultOpen=!1;disabled=!1;internalOpen=!1;contentId="";trigger=null;content=null;syncFromProp(){a(this.open)&&(this.internalOpen=this.open)}syncState(){this.trigger&&this.trigger.setAttribute("aria-expanded",String(this.internalOpen)),this.content&&(this.content.hidden=!this.internalOpen)}componentDidLoad(){this.resolveParts(),this.internalOpen=c(this.open,this.defaultOpen),this.syncState(),this.trigger?.addEventListener("click",this.onTriggerClick),this.trigger?.addEventListener("keydown",this.onTriggerKeydown)}disconnectedCallback(){this.trigger?.removeEventListener("click",this.onTriggerClick),this.trigger?.removeEventListener("keydown",this.onTriggerKeydown)}componentDidUpdate(){this.syncState()}resolveParts(){this.trigger=this.host.querySelector("[data-ui-disclosure-trigger], button, [aria-controls]");const t=this.trigger?.getAttribute("aria-controls")??"";if(t)this.content=document.getElementById(t);else{const t=Array.from(this.host.children);this.content=t.find((t=>t!==this.trigger))??null}this.trigger&&this.content&&(this.content.id||(this.content.id=n("disclosure-content")),this.trigger.setAttribute("aria-controls",this.content.id),this.contentId=this.content.id),this.trigger instanceof HTMLButtonElement?this.trigger.disabled=this.disabled:this.trigger&&this.trigger.setAttribute("aria-disabled",String(this.disabled))}setOpen(t,s){this.internalOpen!==t&&(a(this.open)||(this.internalOpen=t),o(this.host,t?"open":"close",{open:t,reason:s.reason,trigger:s.trigger}))}onTriggerClick=t=>{this.disabled?t.preventDefault():this.setOpen(!this.internalOpen,{reason:"action",trigger:r(t)})};onTriggerKeydown=t=>{!this.disabled&&h(t)&&(t.preventDefault(),this.setOpen(!this.internalOpen,{reason:"action",trigger:"keyboard"}))};render(){return i(e,{key:"55f998f8e47ebe01fd5832d6c3dac310dda34b8d"},i("slot",{key:"0d88728151901e1e412d7f5a3ae78b06aa7548fb"}))}static get watchers(){return{open:[{syncFromProp:0}],internalOpen:[{syncState:0}]}}};d.style=":host{display:block}::slotted([hidden]){display:none !important}";export{d as ui_disclosure}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as t,g as
|
|
1
|
+
import{r as t,g as e,h as a,H as r}from"./p-8BGiMGQ0.js";import{d as i,e as o}from"./p-JwSoedEO.js";const s=class{constructor(e){t(this,e)}get host(){return e(this)}value;defaultValue="";disabled=!1;invalid=!1;readOnly=!1;rows=4;internalValue="";slotRef;syncFromProp(){void 0!==this.value&&(this.internalValue=this.value)}syncToTextarea(){const t=this.getTextarea();t&&(this.host.dataset.invalid=this.invalid?"true":"",void 0!==this.value&&(t.value=this.internalValue),t.defaultValue=this.defaultValue,t.disabled=this.disabled,t.readOnly=this.readOnly,t.rows=this.rows,t.setAttribute("aria-invalid",this.invalid?"true":"false"))}componentDidLoad(){this.syncFromProp(),this.slotRef?.addEventListener("slotchange",(()=>this.syncToTextarea())),this.syncToTextarea();const t=this.getTextarea();t?.addEventListener("input",this.onInput),t?.addEventListener("change",this.onChange)}disconnectedCallback(){const t=this.getTextarea();t?.removeEventListener("input",this.onInput),t?.removeEventListener("change",this.onChange)}componentDidUpdate(){this.syncToTextarea()}getTextarea(){const t=this.host.shadowRoot?.querySelector("slot");return(t?.assignedElements()??Array.from(this.host.children)).find((t=>"TEXTAREA"===t.tagName))??null}onInput=t=>{const e=t.target;e&&(this.internalValue=e.value,i(this.host,"input",{value:this.internalValue,trigger:o(t)}))};onChange=t=>{const e=this.getTextarea();e&&(this.internalValue=e.value,i(this.host,"change",{value:this.internalValue,trigger:o(t)}))};render(){return a(r,{key:"020adfed4a177ef5d07852ff2e6ffb66b6f80742","data-invalid":this.invalid?"":void 0},a("slot",{key:"2e9bd0e071e24fcf248eadf38f16484321359503",ref:t=>this.slotRef=t}))}static get watchers(){return{value:[{syncFromProp:0}],internalValue:[{syncToTextarea:0}],defaultValue:[{syncToTextarea:0}],disabled:[{syncToTextarea:0}],invalid:[{syncToTextarea:0}],readOnly:[{syncToTextarea:0}],rows:[{syncToTextarea:0}]}}};s.style=":host{display:inline-flex;min-inline-size:0;color:var(--ui-text-primary)}::slotted(textarea){width:100%;appearance:none;border:1px solid var(--ui-control-border, var(--ui-border-default));border-radius:var(--ui-radius-2);background:var(--ui-control-surface, 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-control-border-hover, var(--ui-border-strong))}::slotted(textarea:focus){border-color:var(--ui-control-focus, var(--ui-focus-ring));box-shadow:0 0 0 3px var(--ui-control-focus-halo, 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-control-surface-disabled, 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}";export{s as ui_textarea}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as a,g as e,h as i,H as t}from"./p-8BGiMGQ0.js";function s(a){return!!a&&a.assignedNodes({flatten:!0}).some((a=>a.nodeType!==Node.TEXT_NODE||Boolean(a.textContent?.trim())))}const r=class{constructor(e){a(this,e)}get host(){return e(this)}hasLeading=!1;hasSearch=!1;hasActions=!1;leadingSlot;searchSlot;actionsSlot;componentDidLoad(){this.syncSlots()}syncSlots=()=>{this.hasLeading=s(this.leadingSlot),this.hasSearch=s(this.searchSlot),this.hasActions=s(this.actionsSlot)};render(){return i(t,{key:"
|
|
1
|
+
import{r as a,g as e,h as i,H as t}from"./p-8BGiMGQ0.js";function s(a){return!!a&&a.assignedNodes({flatten:!0}).some((a=>a.nodeType!==Node.TEXT_NODE||Boolean(a.textContent?.trim())))}const r=class{constructor(e){a(this,e)}get host(){return e(this)}hasLeading=!1;hasSearch=!1;hasActions=!1;leadingSlot;searchSlot;actionsSlot;componentDidLoad(){this.syncSlots()}syncSlots=()=>{this.hasLeading=s(this.leadingSlot),this.hasSearch=s(this.searchSlot),this.hasActions=s(this.actionsSlot)};render(){return i(t,{key:"ef7cf644a8e8381d7d1f8d093bcfefcdc4620682"},i("header",{key:"5055594a179d86efefd43529e070a582c51cb1d8",class:"top-bar",part:"base"},i("div",{key:"bd6ec069ae9d7820a6992250ba1aa997b4cc6754",class:"top-bar__leading",hidden:!this.hasLeading},i("slot",{key:"3b9b1b73fb455ad720e1db46757555eb3713c0b8",name:"leading",ref:a=>this.leadingSlot=a,onSlotchange:this.syncSlots})),i("div",{key:"e402cc0cb7ec4418460182f8f32cb161c6139221",class:"top-bar__title"},i("slot",{key:"fce0cfc11da269167853f591742b1369023864ae"})),i("div",{key:"6861bb04f399076378aa1fa9be24b35db277106a",class:"top-bar__search",hidden:!this.hasSearch},i("slot",{key:"3857f37d53ec99b36a52cb7830e634afdee29d2e",name:"search",ref:a=>this.searchSlot=a,onSlotchange:this.syncSlots})),i("div",{key:"538f6297078b6d5aa85906e902066e8809f52540",class:"top-bar__actions",hidden:!this.hasActions},i("slot",{key:"3c45ff59c4b48673e796c6e93842cb11fceb652f",name:"actions",ref:a=>this.actionsSlot=a,onSlotchange:this.syncSlots}))))}};r.style=":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}}";export{r as ui_top_bar}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as t,g as o,h as e,H as r}from"./p-8BGiMGQ0.js";import{d as i,e as a}from"./p-JwSoedEO.js";import{i as s,c as n}from"./p-BnGhGgTH.js";const l=class{constructor(o){t(this,o)}get host(){return o(this)}value;defaultValue="";orientation="horizontal";internalValue="";syncFromProp(){s(this.value)&&(this.internalValue=this.value)}syncState(){const t=this.getTabs();0!==t.length&&t.forEach((t=>{const o=(t.id??t.getAttribute("aria-controls")??"")===this.internalValue;t.setAttribute("aria-selected",String(o)),t.tabIndex=o?0:-1;const e=t.getAttribute("aria-controls");if(e){const t=this.host.querySelector(`#${CSS.escape(e)}`)??document.getElementById(e);t&&(t.hidden=!o)}}))}componentDidLoad(){if(this.internalValue=n(this.value,this.defaultValue),!s(this.value)&&!this.internalValue){const t=this.getTabs();t.length>0&&(this.internalValue=t[0]?.id??t[0]?.getAttribute("aria-controls")??"")}this.syncState(),this.host.addEventListener("keydown",this.onKeydown),this.host.addEventListener("click",this.onClick)}disconnectedCallback(){this.host.removeEventListener("keydown",this.onKeydown),this.host.removeEventListener("click",this.onClick)}componentDidUpdate(){this.syncState()}getTabs(){return Array.from(this.host.querySelectorAll('[role="tab"]'))}setValueFromTab(t,o){const e=t.id??t.getAttribute("aria-controls")??"";if(!e)return;const r=this.internalValue;s(this.value)||(this.internalValue=e),this.syncState(),i(this.host,"select",{value:e,previousValue:r||void 0,trigger:o})}onClick=t=>{const o=t.target.closest?.('[role="tab"]');o&&this.host.contains(o)&&this.setValueFromTab(o,a(t))};onKeydown=t=>{const o=t.target.closest?.('[role="tab"]');if(!o||!this.host.contains(o))return;const e=this.getTabs();if(0===e.length)return;const r=e.indexOf(o),i="vertical"===this.orientation,a=i?"ArrowDown":"ArrowRight";if(t.key===a||t.key===(i?"ArrowUp":"ArrowLeft")){t.preventDefault();const o=t.key===a?Math.min(r+1,e.length-1):r<=0?e.length-1:r-1;this.setValueFromTab(e[o],"keyboard"),e[o].focus()}};render(){return e(r,{key:"
|
|
1
|
+
import{r as t,g as o,h as e,H as r}from"./p-8BGiMGQ0.js";import{d as i,e as a}from"./p-JwSoedEO.js";import{i as s,c as n}from"./p-BnGhGgTH.js";const l=class{constructor(o){t(this,o)}get host(){return o(this)}value;defaultValue="";orientation="horizontal";internalValue="";syncFromProp(){s(this.value)&&(this.internalValue=this.value)}syncState(){const t=this.getTabs();0!==t.length&&t.forEach((t=>{const o=(t.id??t.getAttribute("aria-controls")??"")===this.internalValue;t.setAttribute("aria-selected",String(o)),t.tabIndex=o?0:-1;const e=t.getAttribute("aria-controls");if(e){const t=this.host.querySelector(`#${CSS.escape(e)}`)??document.getElementById(e);t&&(t.hidden=!o)}}))}componentDidLoad(){if(this.internalValue=n(this.value,this.defaultValue),!s(this.value)&&!this.internalValue){const t=this.getTabs();t.length>0&&(this.internalValue=t[0]?.id??t[0]?.getAttribute("aria-controls")??"")}this.syncState(),this.host.addEventListener("keydown",this.onKeydown),this.host.addEventListener("click",this.onClick)}disconnectedCallback(){this.host.removeEventListener("keydown",this.onKeydown),this.host.removeEventListener("click",this.onClick)}componentDidUpdate(){this.syncState()}getTabs(){return Array.from(this.host.querySelectorAll('[role="tab"]'))}setValueFromTab(t,o){const e=t.id??t.getAttribute("aria-controls")??"";if(!e)return;const r=this.internalValue;s(this.value)||(this.internalValue=e),this.syncState(),i(this.host,"select",{value:e,previousValue:r||void 0,trigger:o})}onClick=t=>{const o=t.target.closest?.('[role="tab"]');o&&this.host.contains(o)&&this.setValueFromTab(o,a(t))};onKeydown=t=>{const o=t.target.closest?.('[role="tab"]');if(!o||!this.host.contains(o))return;const e=this.getTabs();if(0===e.length)return;const r=e.indexOf(o),i="vertical"===this.orientation,a=i?"ArrowDown":"ArrowRight";if(t.key===a||t.key===(i?"ArrowUp":"ArrowLeft")){t.preventDefault();const o=t.key===a?Math.min(r+1,e.length-1):r<=0?e.length-1:r-1;this.setValueFromTab(e[o],"keyboard"),e[o].focus()}};render(){return e(r,{key:"19207153c7b7a6ea5f5ffb50439e99af70984b44",orientation:this.orientation,"data-orientation":this.orientation},e("slot",{key:"5045cd040eeccd028c00328206d47f7d17b622de"}))}static get watchers(){return{value:[{syncFromProp:0}],internalValue:[{syncState:0}],orientation:[{syncState:0}]}}};l.style=":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)}";export{l as ui_tabs}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as e,h as
|
|
1
|
+
import{r as e,h as r,H as a}from"./p-8BGiMGQ0.js";function s(e){return!!e&&e.assignedNodes({flatten:!0}).some((e=>e.nodeType!==Node.TEXT_NODE||Boolean(e.textContent?.trim())))}const t=class{constructor(r){e(this,r)}disabled=!1;selected=!1;hasLeading=!1;hasMeta=!1;hasExcerpt=!1;hasTrailing=!1;leadingSlot;metaSlot;excerptSlot;trailingSlot;componentDidLoad(){this.syncSlots()}syncSlots=()=>{this.hasLeading=s(this.leadingSlot),this.hasMeta=s(this.metaSlot),this.hasExcerpt=s(this.excerptSlot),this.hasTrailing=s(this.trailingSlot)};render(){return r(a,{key:"eeda041dbcf8841cd53be9c532df208eb3be3d3b"},r("button",{key:"71d3db6d2eca4f8d7796429f68ef73bf2c7b62f7",class:"search-result-row",type:"button",disabled:this.disabled,part:"button"},r("span",{key:"f2260cab9f654e7f5e96a5e7e2a1cbbb5a55fde3",class:"search-result-row__leading",part:"leading",hidden:!this.hasLeading},r("slot",{key:"824fffc19c2b5712dae0c000f12cc36a0043a370",name:"leading",ref:e=>this.leadingSlot=e,onSlotchange:this.syncSlots})),r("span",{key:"4e3728ea7d363f256f1b3283df6eb984cf3f570f",class:"search-result-row__content",part:"content"},r("span",{key:"95009b1ce569fb4251df62334a5dd88f1de561af",class:"search-result-row__title",part:"title"},r("slot",{key:"132beecf36471ae0db68d686829428225699c534",name:"title"})),r("span",{key:"0ad7c8d52aa40ccf62667d3ecca4d48b49917a9a",class:"search-result-row__meta",part:"meta",hidden:!this.hasMeta},r("slot",{key:"4b97129504571a676839287bd87e68d803f8bc99",name:"meta",ref:e=>this.metaSlot=e,onSlotchange:this.syncSlots})),r("span",{key:"e6c73e653fb7dc213866a15870281f3f6d95a86b",class:"search-result-row__excerpt",part:"excerpt",hidden:!this.hasExcerpt},r("slot",{key:"49deae8194485304380b8b4b3d4fe96cd6623f4d",name:"excerpt",ref:e=>this.excerptSlot=e,onSlotchange:this.syncSlots}))),r("span",{key:"c7c6f0b57668644a28d3c4c981b4db79a0e3c42a",class:"search-result-row__trailing",part:"trailing",hidden:!this.hasTrailing},r("slot",{key:"e6cbceeb41d23c9b7514f53663438069499d1a4d",name:"trailing",ref:e=>this.trailingSlot=e,onSlotchange:this.syncSlots}))))}};t.style=":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}";export{t as ui_search_result_row}
|
|
@@ -19,6 +19,8 @@ export declare class UICombobox {
|
|
|
19
19
|
readOnly: boolean;
|
|
20
20
|
required: boolean;
|
|
21
21
|
size: 'sm' | 'md';
|
|
22
|
+
/** Keep the native label accessible while allowing compact composed controls. */
|
|
23
|
+
labelVisibility: 'visible' | 'sr-only';
|
|
22
24
|
disclosure: boolean;
|
|
23
25
|
clearable: boolean;
|
|
24
26
|
/** Optional description shown by the connected question-mark button. */
|
|
@@ -89,5 +91,7 @@ export declare class UICombobox {
|
|
|
89
91
|
private setValidation;
|
|
90
92
|
/** Validate for submission. Caller submits only non-pending, non-error output. */
|
|
91
93
|
validate(): Promise<ComboboxValidationState>;
|
|
94
|
+
/** Focus the native editing input from a composed control. */
|
|
95
|
+
focusInput(): Promise<void>;
|
|
92
96
|
render(): any;
|
|
93
97
|
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { type EventEmitter } from '../../stencil-public-runtime';
|
|
2
|
+
import type { EditableChange } from '../../field/editable';
|
|
3
|
+
/** Swaps an explicit presentation trigger for a focused editing control. */
|
|
4
|
+
export declare class UIEditable {
|
|
5
|
+
host: HTMLElement;
|
|
6
|
+
/** Controlled edit state. Omit it to use defaultEdit and local interaction state. */
|
|
7
|
+
edit?: boolean;
|
|
8
|
+
defaultEdit: boolean;
|
|
9
|
+
disabled: boolean;
|
|
10
|
+
editChange: EventEmitter<EditableChange>;
|
|
11
|
+
internalEdit: boolean;
|
|
12
|
+
private trigger;
|
|
13
|
+
syncFromProp(): void;
|
|
14
|
+
componentWillLoad(): void;
|
|
15
|
+
componentDidLoad(): void;
|
|
16
|
+
disconnectedCallback(): void;
|
|
17
|
+
private requestEdit;
|
|
18
|
+
private focusEditor;
|
|
19
|
+
private eventTrigger;
|
|
20
|
+
private onClick;
|
|
21
|
+
private onKeyDown;
|
|
22
|
+
private onDocumentPointerDown;
|
|
23
|
+
render(): any;
|
|
24
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { type EventEmitter } from '../../stencil-public-runtime';
|
|
2
|
+
import type { ComboboxConfig, ComboboxOption } from '../../field/combobox';
|
|
3
|
+
import type { MultiComboboxCreate, MultiComboboxItem, MultiComboboxItemChange } from '../../field/multi-combobox';
|
|
4
|
+
/** A multi-value combobox with removable, customizable selected items. */
|
|
5
|
+
export declare class UIMultiCombobox {
|
|
6
|
+
host: HTMLElement;
|
|
7
|
+
label: string;
|
|
8
|
+
placeholder: string;
|
|
9
|
+
items: readonly MultiComboboxItem[];
|
|
10
|
+
config: ComboboxConfig;
|
|
11
|
+
query?: string;
|
|
12
|
+
defaultQuery: string;
|
|
13
|
+
disabled: boolean;
|
|
14
|
+
readOnly: boolean;
|
|
15
|
+
required: boolean;
|
|
16
|
+
name: string;
|
|
17
|
+
queryChange: EventEmitter<{
|
|
18
|
+
query: string;
|
|
19
|
+
display: string;
|
|
20
|
+
trigger: 'keyboard' | 'pointer' | 'programmatic';
|
|
21
|
+
}>;
|
|
22
|
+
addItem: EventEmitter<MultiComboboxItemChange>;
|
|
23
|
+
removeItem: EventEmitter<MultiComboboxItemChange>;
|
|
24
|
+
createItem: EventEmitter<MultiComboboxCreate>;
|
|
25
|
+
optionsChange: EventEmitter<readonly ComboboxOption[]>;
|
|
26
|
+
raw: string;
|
|
27
|
+
rows: readonly ComboboxOption[];
|
|
28
|
+
private combobox?;
|
|
29
|
+
private filteredConfig?;
|
|
30
|
+
private filteredConfigSource?;
|
|
31
|
+
private filteredSelection;
|
|
32
|
+
componentWillLoad(): void;
|
|
33
|
+
syncQuery(): void;
|
|
34
|
+
private get selectedValues();
|
|
35
|
+
private get comboboxConfig();
|
|
36
|
+
private setQuery;
|
|
37
|
+
private onQueryChange;
|
|
38
|
+
private onOptionsChange;
|
|
39
|
+
private onValueChange;
|
|
40
|
+
private onCreateEntry;
|
|
41
|
+
private remove;
|
|
42
|
+
private focusItem;
|
|
43
|
+
private onItemKeyDown;
|
|
44
|
+
private onKeyDown;
|
|
45
|
+
focusInput(): Promise<void>;
|
|
46
|
+
render(): any;
|
|
47
|
+
}
|