@editora/ui-core 0.1.18 → 0.1.20
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/{ElementBase-1b301e7f.js → ElementBase-EV6mVBUV.js} +1 -1
- package/dist/{ElementBase-909688f3.mjs → ElementBase-YlTLMsGk.mjs} +3 -3
- package/dist/accordion.cjs.js +3 -3
- package/dist/accordion.esm.js +39 -62
- package/dist/alert-dialog.cjs.js +19 -19
- package/dist/alert-dialog.esm.js +69 -87
- package/dist/alert.cjs.js +1 -1
- package/dist/alert.esm.js +4 -7
- package/dist/anchor.cjs.js +2 -2
- package/dist/anchor.esm.js +3 -3
- package/dist/animated-beam.cjs.js +83 -83
- package/dist/animated-beam.esm.js +250 -277
- package/dist/animated-list.cjs.js +4 -4
- package/dist/animated-list.esm.js +47 -61
- package/dist/animated-text.cjs.js +2 -2
- package/dist/animated-text.esm.js +13 -24
- package/dist/app-header.cjs.js +3 -3
- package/dist/app-header.esm.js +11 -13
- package/dist/aspect-ratio.cjs.js +1 -1
- package/dist/aspect-ratio.esm.js +4 -7
- package/dist/avatar.cjs.js +1 -1
- package/dist/avatar.esm.js +7 -13
- package/dist/badge.cjs.js +1 -1
- package/dist/badge.esm.js +4 -7
- package/dist/block-controls.cjs.js +2 -2
- package/dist/block-controls.esm.js +19 -35
- package/dist/box.cjs.js +1 -1
- package/dist/box.esm.js +8 -15
- package/dist/breadcrumb.cjs.js +2 -2
- package/dist/breadcrumb.esm.js +20 -37
- package/dist/button.cjs.js +1 -521
- package/dist/button.esm.js +2 -669
- package/dist/{calendar-2c11b824.mjs → calendar-DLY4acgn.mjs} +293 -342
- package/dist/{calendar-a8735e40.js → calendar-Dkof-FTK.js} +25 -25
- package/dist/calendar.cjs.js +1 -1
- package/dist/calendar.esm.js +8 -9
- package/dist/card.cjs.js +4 -4
- package/dist/card.esm.js +13 -19
- package/dist/chart.cjs.js +64 -64
- package/dist/chart.esm.js +223 -254
- package/dist/checkbox.cjs.js +1 -1
- package/dist/checkbox.esm.js +2 -3
- package/dist/collapsible.cjs.js +1 -1
- package/dist/collapsible.esm.js +5 -9
- package/dist/{collection-a1aac0c6.mjs → collection-C7URGjEI.mjs} +8 -14
- package/dist/collection.cjs.js +1 -1
- package/dist/collection.esm.js +4 -7
- package/dist/color-picker.cjs.js +9 -9
- package/dist/color-picker.esm.js +189 -252
- package/dist/combobox.cjs.js +13 -13
- package/dist/combobox.esm.js +93 -126
- package/dist/command-palette.cjs.js +3 -3
- package/dist/command-palette.esm.js +19 -30
- package/dist/command.cjs.js +4 -4
- package/dist/command.esm.js +41 -53
- package/dist/components/ui-button.d.ts +1 -0
- package/dist/components/ui-button.d.ts.map +1 -1
- package/dist/components/ui-date-picker.d.ts.map +1 -1
- package/dist/components/ui-date-range-picker.d.ts.map +1 -1
- package/dist/components/ui-date-range-time-picker.d.ts +1 -0
- package/dist/components/ui-date-range-time-picker.d.ts.map +1 -1
- package/dist/components/ui-date-time-picker.d.ts +1 -0
- package/dist/components/ui-date-time-picker.d.ts.map +1 -1
- package/dist/components/ui-orbiter.d.ts.map +1 -1
- package/dist/components/ui-skeleton.d.ts.map +1 -1
- package/dist/components/ui-split-button.d.ts +1 -0
- package/dist/components/ui-split-button.d.ts.map +1 -1
- package/dist/components/ui-time-picker.d.ts.map +1 -1
- package/dist/container.cjs.js +2 -2
- package/dist/container.esm.js +2 -3
- package/dist/context-menu.cjs.js +8 -8
- package/dist/context-menu.esm.js +157 -219
- package/dist/control-group.cjs.js +1 -1
- package/dist/control-group.esm.js +2 -3
- package/dist/data-table.cjs.js +4 -4
- package/dist/data-table.esm.js +299 -381
- package/dist/date-field.cjs.js +3 -3
- package/dist/date-field.esm.js +68 -80
- package/dist/date-picker.cjs.js +30 -9
- package/dist/date-picker.esm.js +90 -97
- package/dist/date-range-picker.cjs.js +22 -3
- package/dist/date-range-picker.esm.js +103 -108
- package/dist/date-range-time-picker.cjs.js +28 -12
- package/dist/date-range-time-picker.esm.js +137 -150
- package/dist/date-time-picker.cjs.js +25 -9
- package/dist/date-time-picker.esm.js +139 -155
- package/dist/date-time-utils-Dmost5Ee.js +1 -0
- package/dist/date-time-utils-y1N2gvG2.mjs +268 -0
- package/dist/description.cjs.js +1 -1
- package/dist/description.esm.js +3 -5
- package/dist/dialog.cjs.js +12 -12
- package/dist/dialog.esm.js +44 -63
- package/dist/direction-provider.cjs.js +1 -1
- package/dist/direction-provider.esm.js +2 -3
- package/dist/{dismissable-layer-9c7e6b58.mjs → dismissable-layer-BmPIoK80.mjs} +29 -33
- package/dist/dismissable-layer-DNfrKA20.js +1 -0
- package/dist/dismissable-layer.cjs.js +2 -2
- package/dist/dismissable-layer.esm.js +4 -6
- package/dist/dock.cjs.js +5 -5
- package/dist/dock.esm.js +134 -155
- package/dist/drawer.cjs.js +2 -2
- package/dist/drawer.esm.js +18 -35
- package/dist/dropdown.cjs.js +2 -2
- package/dist/dropdown.esm.js +119 -149
- package/dist/dropzone.cjs.js +1 -1
- package/dist/dropzone.esm.js +0 -1
- package/dist/empty-state.cjs.js +1 -1
- package/dist/empty-state.esm.js +1 -1
- package/dist/field-error.cjs.js +1 -1
- package/dist/field-error.esm.js +3 -5
- package/dist/field.cjs.js +5 -5
- package/dist/field.esm.js +27 -34
- package/dist/fieldset.cjs.js +4 -4
- package/dist/fieldset.esm.js +19 -24
- package/dist/file-upload.cjs.js +4 -4
- package/dist/file-upload.esm.js +69 -93
- package/dist/flex.cjs.js +1 -1
- package/dist/flex.esm.js +5 -9
- package/dist/floating-toolbar.cjs.js +4 -4
- package/dist/floating-toolbar.esm.js +60 -85
- package/dist/focus-scope-Bwug2gDv.js +1 -0
- package/dist/{focus-scope-103833ee.mjs → focus-scope-CmEsG5UZ.mjs} +39 -48
- package/dist/focus-scope.cjs.js +2 -2
- package/dist/focus-scope.esm.js +15 -20
- package/dist/form.cjs.js +2 -2
- package/dist/form.esm.js +26 -53
- package/dist/gantt.cjs.js +43 -43
- package/dist/gantt.esm.js +295 -322
- package/dist/grid.cjs.js +1 -1
- package/dist/grid.esm.js +5 -9
- package/dist/hover-card.cjs.js +4 -4
- package/dist/hover-card.esm.js +22 -28
- package/dist/icon-cloud.cjs.js +7 -7
- package/dist/icon-cloud.esm.js +48 -62
- package/dist/icon.cjs.js +1 -1
- package/dist/icon.esm.js +2 -4
- package/dist/index.cjs.js +1 -1
- package/dist/index.esm.js +378 -390
- package/dist/inline-edit.cjs.js +11 -11
- package/dist/inline-edit.esm.js +32 -36
- package/dist/input.cjs.js +17 -17
- package/dist/input.esm.js +50 -63
- package/dist/label.cjs.js +2 -2
- package/dist/label.esm.js +8 -17
- package/dist/layout.cjs.js +2 -2
- package/dist/layout.esm.js +20 -26
- package/dist/listbox-B6QgECax.js +46 -0
- package/dist/listbox-DJamVeFj.mjs +200 -0
- package/dist/listbox.cjs.js +1 -1
- package/dist/listbox.esm.js +2 -4
- package/dist/marquee.cjs.js +5 -5
- package/dist/marquee.esm.js +33 -50
- package/dist/masonry-grid.cjs.js +1 -1
- package/dist/masonry-grid.esm.js +5 -9
- package/dist/menu.cjs.js +3 -3
- package/dist/menu.esm.js +106 -126
- package/dist/menubar.cjs.js +5 -5
- package/dist/menubar.esm.js +118 -164
- package/dist/meter.cjs.js +2 -2
- package/dist/meter.esm.js +4 -4
- package/dist/multi-select.cjs.js +4 -4
- package/dist/multi-select.esm.js +120 -140
- package/dist/navigation-menu.cjs.js +4 -4
- package/dist/navigation-menu.esm.js +44 -55
- package/dist/number-field.cjs.js +2 -2
- package/dist/number-field.esm.js +73 -98
- package/dist/number-ticker.cjs.js +3 -3
- package/dist/number-ticker.esm.js +22 -43
- package/dist/odometer.cjs.js +1 -1
- package/dist/odometer.esm.js +5 -9
- package/dist/orbiter.cjs.js +13 -13
- package/dist/orbiter.esm.js +79 -90
- package/dist/{overlayManager-5bbd4dc3.mjs → overlayManager-BJjU1VA8.mjs} +4 -5
- package/dist/{overlayManager-0eda4e08.js → overlayManager-CSy3fJmJ.js} +1 -1
- package/dist/pagination.cjs.js +2 -2
- package/dist/pagination.esm.js +14 -18
- package/dist/{panel-group-a376cc5e.mjs → panel-group-8sVNnGxg.mjs} +24 -46
- package/dist/panel-group-CaD0_KQf.js +36 -0
- package/dist/panel-group.cjs.js +1 -1
- package/dist/panel-group.esm.js +2 -5
- package/dist/panel.cjs.js +4 -4
- package/dist/panel.esm.js +8 -10
- package/dist/password-field.cjs.js +9 -9
- package/dist/password-field.esm.js +62 -82
- package/dist/pin-input.cjs.js +3 -3
- package/dist/pin-input.esm.js +33 -39
- package/dist/placement-grid.cjs.js +4 -4
- package/dist/placement-grid.esm.js +108 -131
- package/dist/plugin-panel.cjs.js +7 -7
- package/dist/plugin-panel.esm.js +13 -15
- package/dist/popover.cjs.js +2 -2
- package/dist/popover.esm.js +21 -31
- package/dist/portal-DgpQ3Jo1.js +1 -0
- package/dist/{portal-fe73e5cc.mjs → portal-bR42gHvG.mjs} +43 -48
- package/dist/portal.cjs.js +2 -2
- package/dist/portal.esm.js +10 -19
- package/dist/{positioner-e9770c66.mjs → positioner-D0VGxtYU.mjs} +189 -209
- package/dist/positioner-D_fqyx_j.js +1 -0
- package/dist/positioner.cjs.js +2 -2
- package/dist/positioner.esm.js +11 -18
- package/dist/presence.cjs.js +1 -1
- package/dist/presence.esm.js +7 -13
- package/dist/progress.cjs.js +1 -1
- package/dist/progress.esm.js +5 -9
- package/dist/quick-actions.cjs.js +6 -6
- package/dist/quick-actions.esm.js +52 -62
- package/dist/radio-group.cjs.js +13 -13
- package/dist/radio-group.esm.js +39 -51
- package/dist/radio.cjs.js +1 -1
- package/dist/radio.esm.js +5 -9
- package/dist/rating.cjs.js +1 -1
- package/dist/rating.esm.js +12 -23
- package/dist/{roving-focus-group-4350c9a7.mjs → roving-focus-group-Dbm1Jko_.mjs} +3 -6
- package/dist/roving-focus-group.cjs.js +1 -1
- package/dist/roving-focus-group.esm.js +3 -5
- package/dist/runtime-CTaOSmBj.js +1 -0
- package/dist/{runtime-161f68a2.mjs → runtime-D1gFh1fS.mjs} +338 -366
- package/dist/runtime.cjs.js +1 -1
- package/dist/runtime.esm.js +6 -6
- package/dist/scroll-area.cjs.js +3 -3
- package/dist/scroll-area.esm.js +38 -46
- package/dist/{scroll-lock-31da444f.mjs → scroll-lock-LfqXXqsu.mjs} +5 -9
- package/dist/section.cjs.js +1 -1
- package/dist/section.esm.js +1 -1
- package/dist/select.cjs.js +7 -7
- package/dist/select.esm.js +67 -97
- package/dist/selection-popup.cjs.js +1 -1
- package/dist/selection-popup.esm.js +8 -15
- package/dist/separator.cjs.js +1 -1
- package/dist/separator.esm.js +1 -1
- package/dist/sidebar.cjs.js +18 -18
- package/dist/sidebar.esm.js +117 -139
- package/dist/skeleton.cjs.js +11 -11
- package/dist/skeleton.esm.js +27 -24
- package/dist/slider.cjs.js +1 -1
- package/dist/slider.esm.js +6 -11
- package/dist/slot.cjs.js +4 -4
- package/dist/slot.esm.js +16 -19
- package/dist/sortable.cjs.js +45 -45
- package/dist/sortable.esm.js +421 -524
- package/dist/spinning-text.cjs.js +12 -12
- package/dist/spinning-text.esm.js +80 -92
- package/dist/split-button.cjs.js +4 -4
- package/dist/split-button.esm.js +77 -62
- package/dist/splitter.cjs.js +1 -1
- package/dist/splitter.esm.js +1 -1
- package/dist/stepper.cjs.js +8 -8
- package/dist/stepper.esm.js +32 -52
- package/dist/switch.cjs.js +7 -7
- package/dist/switch.esm.js +23 -31
- package/dist/table.cjs.js +2 -2
- package/dist/table.esm.js +46 -56
- package/dist/tabs.cjs.js +3 -3
- package/dist/tabs.esm.js +35 -55
- package/dist/tags-input.cjs.js +4 -4
- package/dist/tags-input.esm.js +45 -62
- package/dist/textarea.cjs.js +6 -6
- package/dist/textarea.esm.js +32 -41
- package/dist/time-field.cjs.js +4 -4
- package/dist/time-field.esm.js +70 -84
- package/dist/time-picker.cjs.js +29 -21
- package/dist/time-picker.esm.js +96 -110
- package/dist/timeline.cjs.js +1 -1
- package/dist/timeline.esm.js +3 -5
- package/dist/toast.cjs.js +2 -2
- package/dist/toast.esm.js +33 -47
- package/dist/toggle-group.cjs.js +6 -6
- package/dist/toggle-group.esm.js +85 -105
- package/dist/toggle.cjs.js +1 -1
- package/dist/toggle.esm.js +3 -5
- package/dist/toolbar.cjs.js +1 -1
- package/dist/toolbar.esm.js +13 -24
- package/dist/tooltip.cjs.js +2 -2
- package/dist/tooltip.esm.js +31 -42
- package/dist/transfer-list.cjs.js +19 -19
- package/dist/transfer-list.esm.js +98 -111
- package/dist/{tree-dcd74a4a.mjs → tree-B3kE8ESs.mjs} +55 -62
- package/dist/tree-Dx_kv_ih.js +39 -0
- package/dist/tree-item.cjs.js +2 -2
- package/dist/tree-item.esm.js +2 -3
- package/dist/tree.cjs.js +1 -1
- package/dist/tree.esm.js +2 -5
- package/dist/ui-button-Q0GNNWKC.mjs +665 -0
- package/dist/ui-button-rXQOS9QJ.js +521 -0
- package/dist/{icon-9e9da03b.js → ui-icon-BzVNC_lr.js} +4 -4
- package/dist/{icon-e2a85cc1.mjs → ui-icon-YI6lyuqU.mjs} +58 -65
- package/dist/visually-hidden.cjs.js +1 -1
- package/dist/visually-hidden.esm.js +1 -1
- package/dist/wizard.cjs.js +14 -14
- package/dist/wizard.esm.js +85 -105
- package/package.json +3 -3
- package/dist/date-time-utils-66480de4.js +0 -1
- package/dist/date-time-utils-a2c7af25.mjs +0 -307
- package/dist/dismissable-layer-193e3bed.js +0 -1
- package/dist/focus-scope-2b12b4e7.js +0 -1
- package/dist/listbox-308789a0.mjs +0 -210
- package/dist/listbox-ef2f708e.js +0 -46
- package/dist/panel-group-40254cdd.js +0 -36
- package/dist/portal-c69756c0.js +0 -1
- package/dist/positioner-33529bb8.js +0 -1
- package/dist/runtime-3f13807b.js +0 -1
- package/dist/tree-0a7a8d05.js +0 -39
- /package/dist/{collection-a2969ad2.js → collection-qv8A8rq4.js} +0 -0
- /package/dist/{menu-item-styles-27fdbac4.mjs → menu-item-styles-CZiPwPwl.mjs} +0 -0
- /package/dist/{menu-item-styles-83ad1e22.js → menu-item-styles-CbNUEwP2.js} +0 -0
- /package/dist/{roving-focus-group-5c059bf9.js → roving-focus-group-BdJ_4Njm.js} +0 -0
- /package/dist/{scroll-lock-d7b0df21.js → scroll-lock-BX6e3Ced.js} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const f=require("./ElementBase-EV6mVBUV.js"),_=`
|
|
2
2
|
:host {
|
|
3
3
|
display: block;
|
|
4
4
|
position: relative;
|
|
@@ -362,8 +362,8 @@
|
|
|
362
362
|
transition: none !important;
|
|
363
363
|
}
|
|
364
364
|
}
|
|
365
|
-
`;function
|
|
366
|
-
<style>${
|
|
365
|
+
`;function b(l,t){return t<=0?-1:Number.isNaN(l)||l<0?0:l>=t?t-1:l}function x(l){return!l||l==="default"?null:l==="none"||l==="square"?"0px":l==="sm"?"8px":l==="md"||l==="soft"?"12px":l==="lg"?"16px":l==="full"?"999px":/^\d+(\.\d+)?$/.test(l)?`${l}px`:/^\d+(\.\d+)?(px|rem|em|%)$/.test(l)?l:null}const v=class v extends f.ElementBase{constructor(){super(),this._items=[],this._panels=[],this._itemPanels=[],this._ignoreSelectedAttribute=!1,this._itemSlot=null,this._panelSlot=null,this._uid=Math.random().toString(36).slice(2,8),this._closeTimer=null,this._onClick=this._onClick.bind(this),this._onKeyDown=this._onKeyDown.bind(this),this._onPointerOver=this._onPointerOver.bind(this),this._onPointerEnter=this._onPointerEnter.bind(this),this._onPointerLeave=this._onPointerLeave.bind(this),this._onDocumentPointerDown=this._onDocumentPointerDown.bind(this),this._onDocumentKeyDown=this._onDocumentKeyDown.bind(this),this._onSlotChange=this._onSlotChange.bind(this),this._onViewportEnvironmentChange=this._onViewportEnvironmentChange.bind(this),this._onPeerMenuOpen=this._onPeerMenuOpen.bind(this)}static get observedAttributes(){return["selected","orientation","activation","headless","collapsible","loop","variant","size","radius","elevation","tone"]}connectedCallback(){this.hasAttribute("role")||this.setAttribute("role","navigation"),super.connectedCallback(),this.root.addEventListener("click",this._onClick),this.root.addEventListener("keydown",this._onKeyDown),this.root.addEventListener("pointerover",this._onPointerOver),this.root.addEventListener("pointerenter",this._onPointerEnter),this.root.addEventListener("pointerleave",this._onPointerLeave),document.addEventListener("pointerdown",this._onDocumentPointerDown,!0),document.addEventListener("keydown",this._onDocumentKeyDown,!0),document.addEventListener(v.OPEN_EVENT,this._onPeerMenuOpen),window.addEventListener("resize",this._onViewportEnvironmentChange,{passive:!0}),window.addEventListener("scroll",this._onViewportEnvironmentChange,{passive:!0,capture:!0}),this._attachSlotHandlers(),this._syncStructure()}disconnectedCallback(){this.root.removeEventListener("click",this._onClick),this.root.removeEventListener("keydown",this._onKeyDown),this.root.removeEventListener("pointerover",this._onPointerOver),this.root.removeEventListener("pointerenter",this._onPointerEnter),this.root.removeEventListener("pointerleave",this._onPointerLeave),document.removeEventListener("pointerdown",this._onDocumentPointerDown,!0),document.removeEventListener("keydown",this._onDocumentKeyDown,!0),document.removeEventListener(v.OPEN_EVENT,this._onPeerMenuOpen),window.removeEventListener("resize",this._onViewportEnvironmentChange),window.removeEventListener("scroll",this._onViewportEnvironmentChange,!0),this._detachSlotHandlers(),this._clearCloseTimer(),super.disconnectedCallback()}attributeChangedCallback(t,i,n){if(!(t==="selected"&&this._ignoreSelectedAttribute)&&i!==n&&this.isConnected){if(t==="radius"){this._syncVisualState();return}if(t==="variant"||t==="size"||t==="elevation"||t==="tone"||t==="orientation"){t==="orientation"?this.requestRender():this._syncVisualState(),this._syncStructure();return}this._syncStructure()}}render(){const t=this.getAttribute("orientation")==="vertical"?"vertical":"horizontal";this.setContent(`
|
|
366
|
+
<style>${_}</style>
|
|
367
367
|
<div class="root" part="root">
|
|
368
368
|
<div class="bar" part="bar">
|
|
369
369
|
<div class="list" part="list" role="menubar" aria-orientation="${t}">
|
|
@@ -379,4 +379,4 @@
|
|
|
379
379
|
</div>
|
|
380
380
|
</div>
|
|
381
381
|
</div>
|
|
382
|
-
`),this._syncVisualState(),this._attachSlotHandlers(),this._syncStructure()}_syncVisualState(){const t=
|
|
382
|
+
`),this._syncVisualState(),this._attachSlotHandlers(),this._syncStructure()}_syncVisualState(){const t=x(this.getAttribute("radius"));t?(this.style.setProperty("--ui-nav-radius",t),this.style.setProperty("--ui-nav-item-radius",t==="999px"?"999px":`max(0px, calc(${t} - 2px))`),this.style.setProperty("--ui-nav-panel-radius",t)):(this.style.removeProperty("--ui-nav-radius"),this.style.removeProperty("--ui-nav-item-radius"),this.style.removeProperty("--ui-nav-panel-radius"))}_attachSlotHandlers(){const t=this.root.querySelector('slot[name="item"]'),i=this.root.querySelector('slot[name="panel"]');this._itemSlot&&this._itemSlot!==t&&this._itemSlot.removeEventListener("slotchange",this._onSlotChange),this._panelSlot&&this._panelSlot!==i&&this._panelSlot.removeEventListener("slotchange",this._onSlotChange),t&&this._itemSlot!==t&&t.addEventListener("slotchange",this._onSlotChange),i&&this._panelSlot!==i&&i.addEventListener("slotchange",this._onSlotChange),this._itemSlot=t,this._panelSlot=i}_detachSlotHandlers(){this._itemSlot&&this._itemSlot.removeEventListener("slotchange",this._onSlotChange),this._panelSlot&&this._panelSlot.removeEventListener("slotchange",this._onSlotChange),this._itemSlot=null,this._panelSlot=null}_onSlotChange(){this._syncStructure()}_onViewportEnvironmentChange(){this._syncViewportSide(this._getSelectedFromAttribute())}_onPeerMenuOpen(t){const i=t.detail;!i||i.uid===this._uid||this._getSelectedFromAttribute()>=0&&this._selectIndex(-1,"programmatic")}_getSelectedFromAttribute(){const t=this.getAttribute("selected");if(t==null||t==="")return-1;const i=Number(t);return Number.isNaN(i)||i<0?-1:b(i,this._items.length)}_setSelectedAttribute(t){this._ignoreSelectedAttribute=!0,t<0?this.setAttribute("selected","-1"):this.setAttribute("selected",String(t)),this._ignoreSelectedAttribute=!1}_activationMode(){return this.getAttribute("activation")==="manual"?"manual":"automatic"}_loopEnabled(){const t=this.getAttribute("loop");if(t==null)return!0;const i=String(t).toLowerCase();return i!=="false"&&i!=="0"}_syncStructure(){const t=this.root.querySelector('slot[name="item"]'),i=this.root.querySelector('slot[name="panel"]');this._items=t?t.assignedElements({flatten:!0}):[],this._panels=i?i.assignedElements({flatten:!0}):[];const n=new Map;this._panels.forEach((e,r)=>{const u=e.getAttribute("data-nav-panel-for")||e.getAttribute("data-nav-key")||String(r);n.set(u,e)}),this._itemPanels=this._items.map((e,r)=>{const u=e.getAttribute("data-nav-key")||String(r);return n.get(u)??this._panels[r]??null});const o=this._getSelectedFromAttribute(),a=o>=0?o:this._items.length>0?0:-1,s=this.root.querySelector(".viewport-shell");if(this._items.forEach((e,r)=>{const u=this._itemPanels[r],d=o===r,c=e.id||`ui-navigation-menu-item-${this._uid}-${r}`,h=u?u.id||`ui-navigation-menu-panel-${this._uid}-${r}`:"";e.id=c,e.setAttribute("role","menuitem"),e.setAttribute("tabindex",r===a?"0":"-1"),e.setAttribute("data-active",d?"true":"false"),h?(e.setAttribute("aria-haspopup","dialog"),e.setAttribute("aria-controls",h),e.setAttribute("aria-expanded",d?"true":"false")):(e.removeAttribute("aria-haspopup"),e.removeAttribute("aria-controls"),e.removeAttribute("aria-expanded"))}),this._panels.forEach((e,r)=>{const u=this._itemPanels.findIndex(m=>m===e),d=u>=0&&o===u,c=u>=0?this._items[u]:null,h=e.id||`ui-navigation-menu-panel-${this._uid}-${r}`;e.id=h,e.setAttribute("role","group"),c?.id?e.setAttribute("aria-labelledby",c.id):e.removeAttribute("aria-labelledby"),e.setAttribute("aria-hidden",d?"false":"true"),e.setAttribute("data-active",d?"true":"false"),d?e.removeAttribute("hidden"):e.setAttribute("hidden","")}),s){const e=o>=0&&!!this._itemPanels[o];e?s.removeAttribute("hidden"):s.setAttribute("hidden",""),e?this.setAttribute("data-open","true"):this.removeAttribute("data-open")}else this.removeAttribute("data-open");this._syncIndicator(o),this._syncViewportSide(o)}_syncIndicator(t){const i=this.root.querySelector(".indicator"),n=this.root.querySelector(".list"),o=this.root.querySelector(".bar");if(!i||!n||!o)return;if((this.getAttribute("orientation")==="vertical"?"vertical":"horizontal")==="vertical"||t<0||!this._itemPanels[t]||!this._items[t]){i.setAttribute("hidden",""),this.style.removeProperty("--ui-nav-indicator-offset");return}i.removeAttribute("hidden");const s=this._items[t];queueMicrotask(()=>{const e=o.getBoundingClientRect(),r=n.getBoundingClientRect(),u=s.getBoundingClientRect(),d=r.left-e.left+(u.left-r.left)+u.width/2-6;this.style.setProperty("--ui-nav-indicator-offset",`${Math.max(0,d)}px`)})}_syncViewportSide(t){if((this.getAttribute("orientation")==="vertical"?"vertical":"horizontal")==="vertical"){this.removeAttribute("data-side");return}const n=this.root.querySelector(".viewport-shell"),o=this.root.querySelector(".viewport"),a=this.root.querySelector(".bar");if(!n||!o||!a)return;if(!(t>=0&&!!this._itemPanels[t])||n.hasAttribute("hidden")){this.removeAttribute("data-side");return}queueMicrotask(()=>{if(!this.isConnected)return;const e=parseFloat(getComputedStyle(this).getPropertyValue("--ui-nav-viewport-offset"))||8,r=12,u=a.getBoundingClientRect(),d=o.getBoundingClientRect(),c=Math.max(d.height,o.scrollHeight),h=window.innerHeight-u.bottom-e-r,m=u.top-e-r,g=c>h&&m>h;this.setAttribute("data-side",g?"top":"bottom")})}_selectIndex(t,i){const n=this._getSelectedFromAttribute(),o=t<0?-1:b(t,this._items.length);if(o===n)return;const a=o>=0&&!!this._itemPanels[o];this._setSelectedAttribute(o),this._syncStructure(),a&&document.dispatchEvent(new CustomEvent(v.OPEN_EVENT,{detail:{uid:this._uid}})),this.dispatchEvent(new CustomEvent("change",{detail:{selected:o,previous:n,reason:i},bubbles:!0})),this.dispatchEvent(new CustomEvent("select",{detail:{selected:o,previous:n,reason:i},bubbles:!0}))}_focusItem(t){const i=this._items[t];if(i)try{i.focus()}catch{}}_clearCloseTimer(){this._closeTimer!=null&&(window.clearTimeout(this._closeTimer),this._closeTimer=null)}_scheduleClose(){this._clearCloseTimer(),this._closeTimer=window.setTimeout(()=>{this._selectIndex(-1,"programmatic"),this._closeTimer=null},120)}_onPointerEnter(){this._clearCloseTimer()}_onPointerLeave(){this._activationMode()==="automatic"&&this._scheduleClose()}_onDocumentPointerDown(t){!this.isConnected||!this.shadowRoot||t.composedPath().includes(this)||this._getSelectedFromAttribute()>=0&&this._selectIndex(-1,"programmatic")}_onDocumentKeyDown(t){if(t.key!=="Escape")return;const i=this._getSelectedFromAttribute();i<0||(this._selectIndex(-1,"keyboard"),this._focusItem(i))}_onClick(t){const i=t.composedPath(),n=this._items.findIndex(e=>i.includes(e));if(n<0)return;const o=!!this._itemPanels[n],a=this._getSelectedFromAttribute(),s=this.hasAttribute("collapsible");if(o){s&&a===n?this._selectIndex(-1,"click"):this._selectIndex(n,"click");return}this._selectIndex(n,"click")}_onPointerOver(t){if(t.pointerType==="touch"||this._activationMode()!=="automatic")return;const i=t.composedPath(),n=this._items.findIndex(o=>i.includes(o));n<0||this._getSelectedFromAttribute()!==n&&this._selectIndex(n,"programmatic")}_moveFocus(t,i){if(this._items.length===0)return-1;const n=this._loopEnabled();let o=t+i;return o<0&&(o=n?this._items.length-1:0),o>=this._items.length&&(o=n?0:this._items.length-1),o}_onKeyDown(t){const i=this.getAttribute("orientation")==="vertical"?"vertical":"horizontal",n=this._items.findIndex(e=>e===t.target||e.contains(t.target));if(n<0)return;const o=this._activationMode();let a=!1,s=n;i==="horizontal"?t.key==="ArrowRight"?(s=this._moveFocus(n,1),a=!0):t.key==="ArrowLeft"?(s=this._moveFocus(n,-1),a=!0):t.key==="ArrowDown"&&this._itemPanels[n]&&(this._selectIndex(n,"keyboard"),a=!0):t.key==="ArrowDown"?(s=this._moveFocus(n,1),a=!0):t.key==="ArrowUp"?(s=this._moveFocus(n,-1),a=!0):t.key==="ArrowRight"&&this._itemPanels[n]&&(this._selectIndex(n,"keyboard"),a=!0),t.key==="Home"&&(s=this._items.length>0?0:-1,a=!0),t.key==="End"&&(s=this._items.length>0?this._items.length-1:-1,a=!0),(t.key==="Enter"||t.key===" ")&&(this._selectIndex(n,"keyboard"),a=!0),t.key==="Escape"&&(this._selectIndex(-1,"keyboard"),a=!0),a&&(t.preventDefault(),s>=0&&s!==n?(this._focusItem(s),o==="automatic"?this._selectIndex(s,"keyboard"):this._items.forEach((e,r)=>{e.setAttribute("tabindex",r===s?"0":"-1")})):s===n&&o==="manual"&&this._items.forEach((e,r)=>{e.setAttribute("tabindex",r===n?"0":"-1")}))}};v.OPEN_EVENT="ui-navigation-menu:open";let p=v;typeof customElements<"u"&&!customElements.get("ui-navigation-menu")&&customElements.define("ui-navigation-menu",p);exports.UINavigationMenu=p;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { E as f } from "./ElementBase-
|
|
1
|
+
import { E as f } from "./ElementBase-YlTLMsGk.mjs";
|
|
2
2
|
const _ = `
|
|
3
3
|
:host {
|
|
4
4
|
display: block;
|
|
@@ -364,13 +364,13 @@ const _ = `
|
|
|
364
364
|
}
|
|
365
365
|
}
|
|
366
366
|
`;
|
|
367
|
-
function
|
|
367
|
+
function b(l, t) {
|
|
368
368
|
return t <= 0 ? -1 : Number.isNaN(l) || l < 0 ? 0 : l >= t ? t - 1 : l;
|
|
369
369
|
}
|
|
370
370
|
function x(l) {
|
|
371
371
|
return !l || l === "default" ? null : l === "none" || l === "square" ? "0px" : l === "sm" ? "8px" : l === "md" || l === "soft" ? "12px" : l === "lg" ? "16px" : l === "full" ? "999px" : /^\d+(\.\d+)?$/.test(l) ? `${l}px` : /^\d+(\.\d+)?(px|rem|em|%)$/.test(l) ? l : null;
|
|
372
372
|
}
|
|
373
|
-
const
|
|
373
|
+
const v = class v extends f {
|
|
374
374
|
constructor() {
|
|
375
375
|
super(), this._items = [], this._panels = [], this._itemPanels = [], this._ignoreSelectedAttribute = !1, this._itemSlot = null, this._panelSlot = null, this._uid = Math.random().toString(36).slice(2, 8), this._closeTimer = null, this._onClick = this._onClick.bind(this), this._onKeyDown = this._onKeyDown.bind(this), this._onPointerOver = this._onPointerOver.bind(this), this._onPointerEnter = this._onPointerEnter.bind(this), this._onPointerLeave = this._onPointerLeave.bind(this), this._onDocumentPointerDown = this._onDocumentPointerDown.bind(this), this._onDocumentKeyDown = this._onDocumentKeyDown.bind(this), this._onSlotChange = this._onSlotChange.bind(this), this._onViewportEnvironmentChange = this._onViewportEnvironmentChange.bind(this), this._onPeerMenuOpen = this._onPeerMenuOpen.bind(this);
|
|
376
376
|
}
|
|
@@ -440,10 +440,9 @@ const b = class v extends f {
|
|
|
440
440
|
}
|
|
441
441
|
_getSelectedFromAttribute() {
|
|
442
442
|
const t = this.getAttribute("selected");
|
|
443
|
-
if (t == null || t === "")
|
|
444
|
-
return -1;
|
|
443
|
+
if (t == null || t === "") return -1;
|
|
445
444
|
const i = Number(t);
|
|
446
|
-
return Number.isNaN(i) || i < 0 ? -1 :
|
|
445
|
+
return Number.isNaN(i) || i < 0 ? -1 : b(i, this._items.length);
|
|
447
446
|
}
|
|
448
447
|
_setSelectedAttribute(t) {
|
|
449
448
|
this._ignoreSelectedAttribute = !0, t < 0 ? this.setAttribute("selected", "-1") : this.setAttribute("selected", String(t)), this._ignoreSelectedAttribute = !1;
|
|
@@ -453,8 +452,7 @@ const b = class v extends f {
|
|
|
453
452
|
}
|
|
454
453
|
_loopEnabled() {
|
|
455
454
|
const t = this.getAttribute("loop");
|
|
456
|
-
if (t == null)
|
|
457
|
-
return !0;
|
|
455
|
+
if (t == null) return !0;
|
|
458
456
|
const i = String(t).toLowerCase();
|
|
459
457
|
return i !== "false" && i !== "0";
|
|
460
458
|
}
|
|
@@ -462,20 +460,20 @@ const b = class v extends f {
|
|
|
462
460
|
const t = this.root.querySelector('slot[name="item"]'), i = this.root.querySelector('slot[name="panel"]');
|
|
463
461
|
this._items = t ? t.assignedElements({ flatten: !0 }) : [], this._panels = i ? i.assignedElements({ flatten: !0 }) : [];
|
|
464
462
|
const n = /* @__PURE__ */ new Map();
|
|
465
|
-
this._panels.forEach((e,
|
|
466
|
-
const u = e.getAttribute("data-nav-panel-for") || e.getAttribute("data-nav-key") || String(
|
|
463
|
+
this._panels.forEach((e, r) => {
|
|
464
|
+
const u = e.getAttribute("data-nav-panel-for") || e.getAttribute("data-nav-key") || String(r);
|
|
467
465
|
n.set(u, e);
|
|
468
|
-
}), this._itemPanels = this._items.map((e,
|
|
469
|
-
const u = e.getAttribute("data-nav-key") || String(
|
|
470
|
-
return n.get(u) ?? this._panels[
|
|
466
|
+
}), this._itemPanels = this._items.map((e, r) => {
|
|
467
|
+
const u = e.getAttribute("data-nav-key") || String(r);
|
|
468
|
+
return n.get(u) ?? this._panels[r] ?? null;
|
|
471
469
|
});
|
|
472
|
-
const o = this._getSelectedFromAttribute(),
|
|
473
|
-
if (this._items.forEach((e,
|
|
474
|
-
const u = this._itemPanels[
|
|
475
|
-
e.id =
|
|
476
|
-
}), this._panels.forEach((e,
|
|
477
|
-
const u = this._itemPanels.findIndex((p) => p === e), d = u >= 0 && o === u,
|
|
478
|
-
e.id =
|
|
470
|
+
const o = this._getSelectedFromAttribute(), a = o >= 0 ? o : this._items.length > 0 ? 0 : -1, s = this.root.querySelector(".viewport-shell");
|
|
471
|
+
if (this._items.forEach((e, r) => {
|
|
472
|
+
const u = this._itemPanels[r], d = o === r, c = e.id || `ui-navigation-menu-item-${this._uid}-${r}`, h = u ? u.id || `ui-navigation-menu-panel-${this._uid}-${r}` : "";
|
|
473
|
+
e.id = c, e.setAttribute("role", "menuitem"), e.setAttribute("tabindex", r === a ? "0" : "-1"), e.setAttribute("data-active", d ? "true" : "false"), h ? (e.setAttribute("aria-haspopup", "dialog"), e.setAttribute("aria-controls", h), e.setAttribute("aria-expanded", d ? "true" : "false")) : (e.removeAttribute("aria-haspopup"), e.removeAttribute("aria-controls"), e.removeAttribute("aria-expanded"));
|
|
474
|
+
}), this._panels.forEach((e, r) => {
|
|
475
|
+
const u = this._itemPanels.findIndex((p) => p === e), d = u >= 0 && o === u, c = u >= 0 ? this._items[u] : null, h = e.id || `ui-navigation-menu-panel-${this._uid}-${r}`;
|
|
476
|
+
e.id = h, e.setAttribute("role", "group"), c?.id ? e.setAttribute("aria-labelledby", c.id) : e.removeAttribute("aria-labelledby"), e.setAttribute("aria-hidden", d ? "false" : "true"), e.setAttribute("data-active", d ? "true" : "false"), d ? e.removeAttribute("hidden") : e.setAttribute("hidden", "");
|
|
479
477
|
}), s) {
|
|
480
478
|
const e = o >= 0 && !!this._itemPanels[o];
|
|
481
479
|
e ? s.removeAttribute("hidden") : s.setAttribute("hidden", ""), e ? this.setAttribute("data-open", "true") : this.removeAttribute("data-open");
|
|
@@ -485,8 +483,7 @@ const b = class v extends f {
|
|
|
485
483
|
}
|
|
486
484
|
_syncIndicator(t) {
|
|
487
485
|
const i = this.root.querySelector(".indicator"), n = this.root.querySelector(".list"), o = this.root.querySelector(".bar");
|
|
488
|
-
if (!i || !n || !o)
|
|
489
|
-
return;
|
|
486
|
+
if (!i || !n || !o) return;
|
|
490
487
|
if ((this.getAttribute("orientation") === "vertical" ? "vertical" : "horizontal") === "vertical" || t < 0 || !this._itemPanels[t] || !this._items[t]) {
|
|
491
488
|
i.setAttribute("hidden", ""), this.style.removeProperty("--ui-nav-indicator-offset");
|
|
492
489
|
return;
|
|
@@ -494,7 +491,7 @@ const b = class v extends f {
|
|
|
494
491
|
i.removeAttribute("hidden");
|
|
495
492
|
const s = this._items[t];
|
|
496
493
|
queueMicrotask(() => {
|
|
497
|
-
const e = o.getBoundingClientRect(),
|
|
494
|
+
const e = o.getBoundingClientRect(), r = n.getBoundingClientRect(), u = s.getBoundingClientRect(), d = r.left - e.left + (u.left - r.left) + u.width / 2 - 6;
|
|
498
495
|
this.style.setProperty("--ui-nav-indicator-offset", `${Math.max(0, d)}px`);
|
|
499
496
|
});
|
|
500
497
|
}
|
|
@@ -503,26 +500,23 @@ const b = class v extends f {
|
|
|
503
500
|
this.removeAttribute("data-side");
|
|
504
501
|
return;
|
|
505
502
|
}
|
|
506
|
-
const n = this.root.querySelector(".viewport-shell"), o = this.root.querySelector(".viewport"),
|
|
507
|
-
if (!n || !o || !
|
|
508
|
-
return;
|
|
503
|
+
const n = this.root.querySelector(".viewport-shell"), o = this.root.querySelector(".viewport"), a = this.root.querySelector(".bar");
|
|
504
|
+
if (!n || !o || !a) return;
|
|
509
505
|
if (!(t >= 0 && !!this._itemPanels[t]) || n.hasAttribute("hidden")) {
|
|
510
506
|
this.removeAttribute("data-side");
|
|
511
507
|
return;
|
|
512
508
|
}
|
|
513
509
|
queueMicrotask(() => {
|
|
514
|
-
if (!this.isConnected)
|
|
515
|
-
|
|
516
|
-
const e = parseFloat(getComputedStyle(this).getPropertyValue("--ui-nav-viewport-offset")) || 8, a = 12, u = r.getBoundingClientRect(), d = o.getBoundingClientRect(), h = Math.max(d.height, o.scrollHeight), c = window.innerHeight - u.bottom - e - a, p = u.top - e - a, g = h > c && p > c;
|
|
510
|
+
if (!this.isConnected) return;
|
|
511
|
+
const e = parseFloat(getComputedStyle(this).getPropertyValue("--ui-nav-viewport-offset")) || 8, r = 12, u = a.getBoundingClientRect(), d = o.getBoundingClientRect(), c = Math.max(d.height, o.scrollHeight), h = window.innerHeight - u.bottom - e - r, p = u.top - e - r, g = c > h && p > h;
|
|
517
512
|
this.setAttribute("data-side", g ? "top" : "bottom");
|
|
518
513
|
});
|
|
519
514
|
}
|
|
520
515
|
_selectIndex(t, i) {
|
|
521
|
-
const n = this._getSelectedFromAttribute(), o = t < 0 ? -1 :
|
|
522
|
-
if (o === n)
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
this._setSelectedAttribute(o), this._syncStructure(), r && document.dispatchEvent(
|
|
516
|
+
const n = this._getSelectedFromAttribute(), o = t < 0 ? -1 : b(t, this._items.length);
|
|
517
|
+
if (o === n) return;
|
|
518
|
+
const a = o >= 0 && !!this._itemPanels[o];
|
|
519
|
+
this._setSelectedAttribute(o), this._syncStructure(), a && document.dispatchEvent(
|
|
526
520
|
new CustomEvent(v.OPEN_EVENT, {
|
|
527
521
|
detail: { uid: this._uid }
|
|
528
522
|
})
|
|
@@ -564,51 +558,46 @@ const b = class v extends f {
|
|
|
564
558
|
!this.isConnected || !this.shadowRoot || t.composedPath().includes(this) || this._getSelectedFromAttribute() >= 0 && this._selectIndex(-1, "programmatic");
|
|
565
559
|
}
|
|
566
560
|
_onDocumentKeyDown(t) {
|
|
567
|
-
if (t.key !== "Escape")
|
|
568
|
-
return;
|
|
561
|
+
if (t.key !== "Escape") return;
|
|
569
562
|
const i = this._getSelectedFromAttribute();
|
|
570
563
|
i < 0 || (this._selectIndex(-1, "keyboard"), this._focusItem(i));
|
|
571
564
|
}
|
|
572
565
|
_onClick(t) {
|
|
573
566
|
const i = t.composedPath(), n = this._items.findIndex((e) => i.includes(e));
|
|
574
|
-
if (n < 0)
|
|
575
|
-
|
|
576
|
-
const o = !!this._itemPanels[n], r = this._getSelectedFromAttribute(), s = this.hasAttribute("collapsible");
|
|
567
|
+
if (n < 0) return;
|
|
568
|
+
const o = !!this._itemPanels[n], a = this._getSelectedFromAttribute(), s = this.hasAttribute("collapsible");
|
|
577
569
|
if (o) {
|
|
578
|
-
s &&
|
|
570
|
+
s && a === n ? this._selectIndex(-1, "click") : this._selectIndex(n, "click");
|
|
579
571
|
return;
|
|
580
572
|
}
|
|
581
573
|
this._selectIndex(n, "click");
|
|
582
574
|
}
|
|
583
575
|
_onPointerOver(t) {
|
|
584
|
-
if (t.pointerType === "touch" || this._activationMode() !== "automatic")
|
|
585
|
-
return;
|
|
576
|
+
if (t.pointerType === "touch" || this._activationMode() !== "automatic") return;
|
|
586
577
|
const i = t.composedPath(), n = this._items.findIndex((o) => i.includes(o));
|
|
587
578
|
n < 0 || this._getSelectedFromAttribute() !== n && this._selectIndex(n, "programmatic");
|
|
588
579
|
}
|
|
589
580
|
_moveFocus(t, i) {
|
|
590
|
-
if (this._items.length === 0)
|
|
591
|
-
return -1;
|
|
581
|
+
if (this._items.length === 0) return -1;
|
|
592
582
|
const n = this._loopEnabled();
|
|
593
583
|
let o = t + i;
|
|
594
584
|
return o < 0 && (o = n ? this._items.length - 1 : 0), o >= this._items.length && (o = n ? 0 : this._items.length - 1), o;
|
|
595
585
|
}
|
|
596
586
|
_onKeyDown(t) {
|
|
597
587
|
const i = this.getAttribute("orientation") === "vertical" ? "vertical" : "horizontal", n = this._items.findIndex((e) => e === t.target || e.contains(t.target));
|
|
598
|
-
if (n < 0)
|
|
599
|
-
return;
|
|
588
|
+
if (n < 0) return;
|
|
600
589
|
const o = this._activationMode();
|
|
601
|
-
let
|
|
602
|
-
i === "horizontal" ? t.key === "ArrowRight" ? (s = this._moveFocus(n, 1),
|
|
603
|
-
e.setAttribute("tabindex",
|
|
604
|
-
})) : s === n && o === "manual" && this._items.forEach((e,
|
|
605
|
-
e.setAttribute("tabindex",
|
|
590
|
+
let a = !1, s = n;
|
|
591
|
+
i === "horizontal" ? t.key === "ArrowRight" ? (s = this._moveFocus(n, 1), a = !0) : t.key === "ArrowLeft" ? (s = this._moveFocus(n, -1), a = !0) : t.key === "ArrowDown" && this._itemPanels[n] && (this._selectIndex(n, "keyboard"), a = !0) : t.key === "ArrowDown" ? (s = this._moveFocus(n, 1), a = !0) : t.key === "ArrowUp" ? (s = this._moveFocus(n, -1), a = !0) : t.key === "ArrowRight" && this._itemPanels[n] && (this._selectIndex(n, "keyboard"), a = !0), t.key === "Home" && (s = this._items.length > 0 ? 0 : -1, a = !0), t.key === "End" && (s = this._items.length > 0 ? this._items.length - 1 : -1, a = !0), (t.key === "Enter" || t.key === " ") && (this._selectIndex(n, "keyboard"), a = !0), t.key === "Escape" && (this._selectIndex(-1, "keyboard"), a = !0), a && (t.preventDefault(), s >= 0 && s !== n ? (this._focusItem(s), o === "automatic" ? this._selectIndex(s, "keyboard") : this._items.forEach((e, r) => {
|
|
592
|
+
e.setAttribute("tabindex", r === s ? "0" : "-1");
|
|
593
|
+
})) : s === n && o === "manual" && this._items.forEach((e, r) => {
|
|
594
|
+
e.setAttribute("tabindex", r === n ? "0" : "-1");
|
|
606
595
|
}));
|
|
607
596
|
}
|
|
608
597
|
};
|
|
609
|
-
|
|
610
|
-
let
|
|
611
|
-
typeof customElements < "u" && !customElements.get("ui-navigation-menu") && customElements.define("ui-navigation-menu",
|
|
598
|
+
v.OPEN_EVENT = "ui-navigation-menu:open";
|
|
599
|
+
let m = v;
|
|
600
|
+
typeof customElements < "u" && !customElements.get("ui-navigation-menu") && customElements.define("ui-navigation-menu", m);
|
|
612
601
|
export {
|
|
613
|
-
|
|
602
|
+
m as UINavigationMenu
|
|
614
603
|
};
|
package/dist/number-field.cjs.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const D=require("./ElementBase-
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const D=require("./ElementBase-EV6mVBUV.js"),z=`
|
|
2
2
|
:host {
|
|
3
3
|
--ui-number-field-padding: var(--ui-padding, 10px 12px);
|
|
4
4
|
--ui-number-field-border-color: var(--ui-color-border, var(--ui-border-color, #cbd5e1));
|
|
@@ -311,7 +311,7 @@
|
|
|
311
311
|
transition: none !important;
|
|
312
312
|
}
|
|
313
313
|
}
|
|
314
|
-
`;function f(s){return s.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function d(s){if(!s)return!1;const e=s.assignedNodes({flatten:!0});return e.length?e.some(t=>{var i;return t.nodeType===Node.TEXT_NODE?!!((i=t.textContent)!=null&&i.trim()):t.nodeType===Node.ELEMENT_NODE}):!1}function p(s,e){const t=s.getAttribute(e);if(t==null)return!1;const i=String(t).trim().toLowerCase();return i!=="false"&&i!=="0"}function g(s){if(s==null||s.trim()==="")return null;const e=Number(s);return Number.isFinite(e)?e:null}function N(s){const e=String(s),t=e.match(/e-(\d+)$/i);if(t)return Number(t[1]);const i=e.split(".")[1];return i?i.length:0}function m(s,e){if(e==null||e<0)return s;const t=10**e;return Math.round((s+Number.EPSILON)*t)/t}function A(s,e,t){return e!=null&&s<e?e:t!=null&&s>t?t:s}function B(s){return s??0}function C(s,e,t,i){if(e==null||e<=0)return!0;const r=m((s-t)/e,i!=null?i+2:8);return Math.abs(r-Math.round(r))<1e-7}function F(s){var t,i;const e=new Intl.NumberFormat(s).formatToParts(12345.6);return{group:((t=e.find(r=>r.type==="group"))==null?void 0:t.value)||",",decimal:((i=e.find(r=>r.type==="decimal"))==null?void 0:i.value)||"."}}function _(s,e){const t=s.trim();if(!t)return null;const{group:i,decimal:r}=F(e);let n=t.replace(/[\s\u00a0\u202f]/g,"");if(i&&(n=n.split(i).join("")),r&&r!=="."&&(n=n.split(r).join(".")),n=n.replace(/[−–]/g,"-"),!/^[+-]?(?:\d+\.?\d*|\.\d+)$/.test(n))return null;const a=Number(n);return Number.isFinite(a)?a:null}function L(s,e){return e!=null&&e>=0?s.toFixed(e):String(s)}class w extends D.ElementBase{constructor(){super(),this._input=null,this._formUnregister=null,this._uid=Math.random().toString(36).slice(2,9),this._rawValue="",this._isEditing=!1,this._internalInvalidReason=null,this._onInput=this._onInput.bind(this),this._onBlur=this._onBlur.bind(this),this._onFocus=this._onFocus.bind(this),this._onKeyDown=this._onKeyDown.bind(this),this._onWheel=this._onWheel.bind(this),this._onSlotChange=this._onSlotChange.bind(this),this._onClick=this._onClick.bind(this)}static get observedAttributes(){return["value","min","max","step","precision","locale","format","name","placeholder","disabled","readonly","required","invalid","allow-wheel","show-steppers","clamp-on-blur","autocomplete","inputmode","label","description","data-error","size","variant"]}connectedCallback(){super.connectedCallback(),this.root.addEventListener("slotchange",this._onSlotChange),this.addEventListener("click",this._onClick),this._registerWithForm()}disconnectedCallback(){this.root.removeEventListener("slotchange",this._onSlotChange),this.removeEventListener("click",this._onClick),this._detachListeners(),this._formUnregister&&(this._formUnregister(),this._formUnregister=null),super.disconnectedCallback()}shouldRenderOnAttributeChange(e){return e==="label"||e==="description"||e==="data-error"}attributeChangedCallback(e,t,i){if(t!==i){if(e==="value"){this._rawValue=i||"",this._clearInternalInvalid(),this._syncDisplayValue(),this._syncAria();return}if(e==="name"&&this._registerWithForm(),e==="min"||e==="max"||e==="step"||e==="precision"||e==="locale"||e==="format"||e==="placeholder"||e==="disabled"||e==="readonly"||e==="required"||e==="allow-wheel"||e==="show-steppers"||e==="clamp-on-blur"||e==="autocomplete"||e==="inputmode"||e==="size"||e==="variant"||e==="invalid"){this._syncControlAttrs(),this._syncDisplayValue(),this._syncDerivedState(),this._syncAria();return}super.attributeChangedCallback(e,t,i)}}get value(){return this.getAttribute("value")||""}set value(e){e?this.setAttribute("value",e):this.removeAttribute("value")}get valueAsNumber(){return g(this.getAttribute("value"))}get rawValue(){return this._rawValue}set rawValue(e){this._rawValue=String(e??""),this._input&&(this._input.value=this._rawValue),this._syncAria()}focus(e){if(this._input){this._input.focus(e);return}super.focus(e)}blur(){var e;(e=this._input)==null||e.blur()}select(){var e;(e=this._input)==null||e.select()}stepUp(e=1){this._stepBy(Math.max(1,Number(e)||1),"step")}stepDown(e=1){this._stepBy(-Math.max(1,Number(e)||1),"step")}_locale(){return this.getAttribute("locale")||Intl.NumberFormat().resolvedOptions().locale||"en-US"}_precision(){const e=this.getAttribute("precision");if(e==null||e.trim()==="")return null;const t=Number(e);return Number.isInteger(t)&&t>=0?t:null}_step(){const e=this.getAttribute("step");if(e==null||e===""||e==="any")return null;const t=Number(e);return Number.isFinite(t)&&t>0?t:null}_effectivePrecision(){const e=this._precision();if(e!=null)return e;const t=this._step();return t!=null?N(t):null}_min(){return g(this.getAttribute("min"))}_max(){return g(this.getAttribute("max"))}_formatNumber(e){const t=this._effectivePrecision(),i=this.getAttribute("format")!=="plain";return new Intl.NumberFormat(this._locale(),{useGrouping:i,minimumFractionDigits:t??0,maximumFractionDigits:t??20}).format(e)}_displayStringForValue(){if(this._isEditing)return this._rawValue;const e=this.valueAsNumber;return e==null?this._rawValue:this._formatNumber(e)}_syncDisplayValue(){if(!this._input)return;const e=this._displayStringForValue();this._input.value!==e&&(this._input.value=e);const t=this.root.querySelector(".shell");t&&t.setAttribute("data-has-value",e?"true":"false")}_syncControlAttrs(){if(!this._input)return;this._input.placeholder=this.getAttribute("placeholder")||"",this._input.disabled=p(this,"disabled"),this._input.readOnly=this.hasAttribute("readonly"),this._input.required=this.hasAttribute("required"),this._input.name=this.getAttribute("name")||"",this._input.setAttribute("inputmode",this.getAttribute("inputmode")||"decimal");const e=this.getAttribute("autocomplete");e?this._input.setAttribute("autocomplete",e):this._input.removeAttribute("autocomplete")}_syncAria(){if(!this._input)return;const e=this.valueAsNumber;this._input.setAttribute("role","spinbutton"),this._input.setAttribute("aria-valuetext",this._input.value||"");const t=this._min(),i=this._max();t!=null?this._input.setAttribute("aria-valuemin",String(t)):this._input.removeAttribute("aria-valuemin"),i!=null?this._input.setAttribute("aria-valuemax",String(i)):this._input.removeAttribute("aria-valuemax"),e!=null?this._input.setAttribute("aria-valuenow",String(e)):this._input.removeAttribute("aria-valuenow");const r=this.root.querySelector('slot[name="label"]'),n=this.root.querySelector('slot[name="description"]'),a=this.root.querySelector('slot[name="error"]'),l=!!(this.getAttribute("label")||"").trim()||d(r),u=!!(this.getAttribute("description")||"").trim()||d(n),o=!!(this.getAttribute("data-error")||"").trim()||d(a);l?this._input.setAttribute("aria-labelledby",`${this._uid}-label`):this._input.removeAttribute("aria-labelledby");const c=[];u&&c.push(`${this._uid}-description`),o&&c.push(`${this._uid}-error`),c.length?this._input.setAttribute("aria-describedby",c.join(" ")):this._input.removeAttribute("aria-describedby"),this.hasAttribute("required")?this._input.setAttribute("aria-required","true"):this._input.removeAttribute("aria-required"),this.hasAttribute("invalid")||this._internalInvalidReason!=null||o?this._input.setAttribute("aria-invalid","true"):this._input.removeAttribute("aria-invalid")}_syncDerivedState(){const e=this.root.querySelector('slot[name="label"]'),t=this.root.querySelector('slot[name="description"]'),i=this.root.querySelector('slot[name="error"]'),r=this.root.querySelector('slot[name="prefix"]'),n=this.root.querySelector('slot[name="suffix"]'),a=this.root.querySelector('slot[name="increment-trigger"]'),l=this.root.querySelector('slot[name="decrement-trigger"]'),u=!!(this.getAttribute("label")||"").trim()||d(e),o=!!(this.getAttribute("description")||"").trim()||d(t),c=!!(this.getAttribute("data-error")||"").trim()||d(i),v=d(r),S=d(n),V=d(a),k=d(l),y=p(this,"show-steppers")||V||k,h=(E,I)=>{const b=this.root.querySelector(E);b&&(I?b.removeAttribute("hidden"):b.setAttribute("hidden",""))};h(".meta",u||o),h(".label",u),h(".description",o),h(".prefix",v),h(".suffix",S),h(".footer",c),h(".error",c),h(".steppers",y);const x=this.root.querySelector(".shell");x&&x.setAttribute("data-show-steppers",y?"true":"false")}_emitValueEvent(e,t,i,r){this.dispatchEvent(new CustomEvent(e,{detail:{value:t,previousValue:i,source:r},bubbles:!0,composed:!0}))}_emitInvalid(e){this._internalInvalidReason=e,this.setAttribute("data-internal-invalid",e),this._syncAria(),this.dispatchEvent(new CustomEvent("invalid",{detail:{reason:e},bubbles:!0,composed:!0}))}_clearInternalInvalid(){this._internalInvalidReason=null,this.removeAttribute("data-internal-invalid"),this._syncAria()}_commitValue(e,t){const i=this.valueAsNumber;if(e==null){if(i==null&&!this.value){this._rawValue="",this._syncDisplayValue();return}this._emitValueEvent("before-value-change",null,i,t),this.removeAttribute("value"),this._rawValue="",this._clearInternalInvalid(),this._syncDisplayValue(),this._syncAria(),this._emitValueEvent("value-change",null,i,t);return}const r=this._effectivePrecision(),n=L(m(e,r),r),a=Number(n);if(i!=null&&a===i&&this.value===n){this._rawValue=n,this._clearInternalInvalid(),this._syncDisplayValue();return}this._emitValueEvent("before-value-change",a,i,t),this.setAttribute("value",n),this._rawValue=n,this._clearInternalInvalid(),this._syncDisplayValue(),this._syncAria(),this._emitValueEvent("value-change",a,i,t)}_commitRaw(e){const t=this._rawValue.trim();if(!t){this._commitValue(null,e);return}const i=_(t,this._locale());if(i==null){this._emitInvalid("parse"),this._syncDisplayValue();return}const r=this._min(),n=this._max(),a=this._effectivePrecision(),l=m(i,a),u=p(this,"clamp-on-blur"),o=u?A(l,r,n):l;if(!u&&r!=null&&o<r){this._emitInvalid("min"),this._syncDisplayValue();return}if(!u&&n!=null&&o>n){this._emitInvalid("max"),this._syncDisplayValue();return}const c=this._step();if(!C(o,c,B(r),a)){this._emitInvalid("step"),this._syncDisplayValue();return}this._commitValue(o,e)}_stepBy(e,t){if(p(this,"disabled")||this.hasAttribute("readonly"))return;const i=this._step()??1,r=this._effectivePrecision(),n=this._min(),a=this._max(),u=(this._isEditing?_(this._rawValue,this._locale()):this.valueAsNumber)??n??0,o=A(m(u+i*e,r),n,a);this._commitValue(o,t),this._isEditing&&this._input&&(this._input.value=this._rawValue)}_registerWithForm(){var e;this._formUnregister&&(this._formUnregister(),this._formUnregister=null);try{const i=this.getRootNode().host,n=((e=i==null?void 0:i.closest)==null?void 0:e.call(i,"ui-form"))||null||this.closest("ui-form"),a=this.getAttribute("name");n&&typeof n.registerField=="function"&&a&&(this._formUnregister=n.registerField(a,{name:a,getValue:()=>this.value,setValue:l=>{l==null||l===""?this.removeAttribute("value"):this.setAttribute("value",String(l))},validate:async()=>{const l=this.valueAsNumber,u=this._min(),o=this._max();return this.hasAttribute("required")&&l==null?{valid:!1,message:"A value is required."}:l!=null&&u!=null&&l<u?{valid:!1,message:`Value must be at least ${u}.`}:l!=null&&o!=null&&l>o?{valid:!1,message:`Value must be at most ${o}.`}:{valid:this._internalInvalidReason==null,message:void 0}},setError:l=>{l?(this.setAttribute("data-error",l),this.toggleAttribute("invalid",!0)):(this.removeAttribute("data-error"),this._internalInvalidReason==null&&this.removeAttribute("invalid")),this._syncDerivedState(),this._syncAria()}}))}catch{}}_detachListeners(){this._input&&(this._input.removeEventListener("input",this._onInput),this._input.removeEventListener("focus",this._onFocus),this._input.removeEventListener("blur",this._onBlur),this._input.removeEventListener("keydown",this._onKeyDown),this._input.removeEventListener("wheel",this._onWheel))}_bindInput(){this._input&&(this._detachListeners(),this._input.addEventListener("input",this._onInput),this._input.addEventListener("focus",this._onFocus),this._input.addEventListener("blur",this._onBlur),this._input.addEventListener("keydown",this._onKeyDown),this._input.addEventListener("wheel",this._onWheel,{passive:!1}))}_onInput(e){this._rawValue=e.target.value,this._syncDisplayValue(),this._syncAria();const t=_(this._rawValue,this._locale());this.dispatchEvent(new CustomEvent("input",{detail:{rawValue:this._rawValue,value:t,source:"input"},bubbles:!0,composed:!0}))}_onFocus(){this._isEditing=!0,this._rawValue=this.value||this._rawValue,this._syncDisplayValue(),this._syncAria()}_onBlur(){this._isEditing=!1,this._commitRaw("blur")}_onKeyDown(e){if(e.key==="ArrowUp"){e.preventDefault(),this._stepBy(1,"keyboard");return}if(e.key==="ArrowDown"){e.preventDefault(),this._stepBy(-1,"keyboard");return}if(e.key==="PageUp"){e.preventDefault(),this._stepBy(10,"keyboard");return}if(e.key==="PageDown"){e.preventDefault(),this._stepBy(-10,"keyboard");return}if(e.key==="Home"){const t=this._min();if(t==null)return;e.preventDefault(),this._commitValue(t,"keyboard");return}if(e.key==="End"){const t=this._max();if(t==null)return;e.preventDefault(),this._commitValue(t,"keyboard");return}if(e.key==="Enter"){e.preventDefault(),this._isEditing=!1,this._commitRaw("keyboard");return}e.key==="Escape"&&(this._isEditing=!1,this._rawValue=this.value,this._clearInternalInvalid(),this._syncDisplayValue())}_onWheel(e){p(this,"allow-wheel")&&(!this._input||this.root.activeElement!==this._input||(e.preventDefault(),this._stepBy(e.deltaY<0?1:-1,"wheel")))}_onClick(e){const i=e.composedPath().find(r=>r instanceof HTMLElement?r.dataset.stepAction==="up"||r.dataset.stepAction==="down"||r.getAttribute("slot")==="increment-trigger"||r.getAttribute("slot")==="decrement-trigger":!1);if(i){if(i.dataset.stepAction==="up"||i.getAttribute("slot")==="increment-trigger"){e.preventDefault(),this._stepBy(1,"step");return}(i.dataset.stepAction==="down"||i.getAttribute("slot")==="decrement-trigger")&&(e.preventDefault(),this._stepBy(-1,"step"))}}_onSlotChange(){this._syncDerivedState(),this._syncAria()}render(){const e=this.getAttribute("label")||"",t=this.getAttribute("description")||"",i=this.getAttribute("data-error")||"";this.setContent(`
|
|
314
|
+
`;function f(r){return r.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function d(r){if(!r)return!1;const e=r.assignedNodes({flatten:!0});return e.length?e.some(t=>t.nodeType===Node.TEXT_NODE?!!t.textContent?.trim():t.nodeType===Node.ELEMENT_NODE):!1}function p(r,e){const t=r.getAttribute(e);if(t==null)return!1;const i=String(t).trim().toLowerCase();return i!=="false"&&i!=="0"}function g(r){if(r==null||r.trim()==="")return null;const e=Number(r);return Number.isFinite(e)?e:null}function N(r){const e=String(r),t=e.match(/e-(\d+)$/i);if(t)return Number(t[1]);const i=e.split(".")[1];return i?i.length:0}function m(r,e){if(e==null||e<0)return r;const t=10**e;return Math.round((r+Number.EPSILON)*t)/t}function A(r,e,t){return e!=null&&r<e?e:t!=null&&r>t?t:r}function B(r){return r??0}function C(r,e,t,i){if(e==null||e<=0)return!0;const s=m((r-t)/e,i!=null?i+2:8);return Math.abs(s-Math.round(s))<1e-7}function F(r){const e=new Intl.NumberFormat(r).formatToParts(12345.6);return{group:e.find(t=>t.type==="group")?.value||",",decimal:e.find(t=>t.type==="decimal")?.value||"."}}function _(r,e){const t=r.trim();if(!t)return null;const{group:i,decimal:s}=F(e);let n=t.replace(/[\s\u00a0\u202f]/g,"");if(n=n.split(i).join(""),s!=="."&&(n=n.split(s).join(".")),n=n.replace(/[−–]/g,"-"),!/^[+-]?(?:\d+\.?\d*|\.\d+)$/.test(n))return null;const l=Number(n);return Number.isFinite(l)?l:null}function L(r,e){return e!=null&&e>=0?r.toFixed(e):String(r)}class w extends D.ElementBase{constructor(){super(),this._input=null,this._formUnregister=null,this._uid=Math.random().toString(36).slice(2,9),this._rawValue="",this._isEditing=!1,this._internalInvalidReason=null,this._onInput=this._onInput.bind(this),this._onBlur=this._onBlur.bind(this),this._onFocus=this._onFocus.bind(this),this._onKeyDown=this._onKeyDown.bind(this),this._onWheel=this._onWheel.bind(this),this._onSlotChange=this._onSlotChange.bind(this),this._onClick=this._onClick.bind(this)}static get observedAttributes(){return["value","min","max","step","precision","locale","format","name","placeholder","disabled","readonly","required","invalid","allow-wheel","show-steppers","clamp-on-blur","autocomplete","inputmode","label","description","data-error","size","variant"]}connectedCallback(){super.connectedCallback(),this.root.addEventListener("slotchange",this._onSlotChange),this.addEventListener("click",this._onClick),this._registerWithForm()}disconnectedCallback(){this.root.removeEventListener("slotchange",this._onSlotChange),this.removeEventListener("click",this._onClick),this._detachListeners(),this._formUnregister&&(this._formUnregister(),this._formUnregister=null),super.disconnectedCallback()}shouldRenderOnAttributeChange(e){return e==="label"||e==="description"||e==="data-error"}attributeChangedCallback(e,t,i){if(t!==i){if(e==="value"){this._rawValue=i||"",this._clearInternalInvalid(),this._syncDisplayValue(),this._syncAria();return}if(e==="name"&&this._registerWithForm(),e==="min"||e==="max"||e==="step"||e==="precision"||e==="locale"||e==="format"||e==="placeholder"||e==="disabled"||e==="readonly"||e==="required"||e==="allow-wheel"||e==="show-steppers"||e==="clamp-on-blur"||e==="autocomplete"||e==="inputmode"||e==="size"||e==="variant"||e==="invalid"){this._syncControlAttrs(),this._syncDisplayValue(),this._syncDerivedState(),this._syncAria();return}super.attributeChangedCallback(e,t,i)}}get value(){return this.getAttribute("value")||""}set value(e){e?this.setAttribute("value",e):this.removeAttribute("value")}get valueAsNumber(){return g(this.getAttribute("value"))}get rawValue(){return this._rawValue}set rawValue(e){this._rawValue=String(e??""),this._input&&(this._input.value=this._rawValue),this._syncAria()}focus(e){if(this._input){this._input.focus(e);return}super.focus(e)}blur(){this._input?.blur()}select(){this._input?.select()}stepUp(e=1){this._stepBy(Math.max(1,Number(e)||1),"step")}stepDown(e=1){this._stepBy(-Math.max(1,Number(e)||1),"step")}_locale(){return this.getAttribute("locale")||Intl.NumberFormat().resolvedOptions().locale||"en-US"}_precision(){const e=this.getAttribute("precision");if(e==null||e.trim()==="")return null;const t=Number(e);return Number.isInteger(t)&&t>=0?t:null}_step(){const e=this.getAttribute("step");if(e==null||e===""||e==="any")return null;const t=Number(e);return Number.isFinite(t)&&t>0?t:null}_effectivePrecision(){const e=this._precision();if(e!=null)return e;const t=this._step();return t!=null?N(t):null}_min(){return g(this.getAttribute("min"))}_max(){return g(this.getAttribute("max"))}_formatNumber(e){const t=this._effectivePrecision(),i=this.getAttribute("format")!=="plain";return new Intl.NumberFormat(this._locale(),{useGrouping:i,minimumFractionDigits:t??0,maximumFractionDigits:t??20}).format(e)}_displayStringForValue(){if(this._isEditing)return this._rawValue;const e=this.valueAsNumber;return e==null?this._rawValue:this._formatNumber(e)}_syncDisplayValue(){if(!this._input)return;const e=this._displayStringForValue();this._input.value!==e&&(this._input.value=e);const t=this.root.querySelector(".shell");t&&t.setAttribute("data-has-value",e?"true":"false")}_syncControlAttrs(){if(!this._input)return;this._input.placeholder=this.getAttribute("placeholder")||"",this._input.disabled=p(this,"disabled"),this._input.readOnly=this.hasAttribute("readonly"),this._input.required=this.hasAttribute("required"),this._input.name=this.getAttribute("name")||"",this._input.setAttribute("inputmode",this.getAttribute("inputmode")||"decimal");const e=this.getAttribute("autocomplete");e?this._input.setAttribute("autocomplete",e):this._input.removeAttribute("autocomplete")}_syncAria(){if(!this._input)return;const e=this.valueAsNumber;this._input.setAttribute("role","spinbutton"),this._input.setAttribute("aria-valuetext",this._input.value||"");const t=this._min(),i=this._max();t!=null?this._input.setAttribute("aria-valuemin",String(t)):this._input.removeAttribute("aria-valuemin"),i!=null?this._input.setAttribute("aria-valuemax",String(i)):this._input.removeAttribute("aria-valuemax"),e!=null?this._input.setAttribute("aria-valuenow",String(e)):this._input.removeAttribute("aria-valuenow");const s=this.root.querySelector('slot[name="label"]'),n=this.root.querySelector('slot[name="description"]'),l=this.root.querySelector('slot[name="error"]'),u=!!(this.getAttribute("label")||"").trim()||d(s),a=!!(this.getAttribute("description")||"").trim()||d(n),o=!!(this.getAttribute("data-error")||"").trim()||d(l);u?this._input.setAttribute("aria-labelledby",`${this._uid}-label`):this._input.removeAttribute("aria-labelledby");const c=[];a&&c.push(`${this._uid}-description`),o&&c.push(`${this._uid}-error`),c.length?this._input.setAttribute("aria-describedby",c.join(" ")):this._input.removeAttribute("aria-describedby"),this.hasAttribute("required")?this._input.setAttribute("aria-required","true"):this._input.removeAttribute("aria-required"),this.hasAttribute("invalid")||this._internalInvalidReason!=null||o?this._input.setAttribute("aria-invalid","true"):this._input.removeAttribute("aria-invalid")}_syncDerivedState(){const e=this.root.querySelector('slot[name="label"]'),t=this.root.querySelector('slot[name="description"]'),i=this.root.querySelector('slot[name="error"]'),s=this.root.querySelector('slot[name="prefix"]'),n=this.root.querySelector('slot[name="suffix"]'),l=this.root.querySelector('slot[name="increment-trigger"]'),u=this.root.querySelector('slot[name="decrement-trigger"]'),a=!!(this.getAttribute("label")||"").trim()||d(e),o=!!(this.getAttribute("description")||"").trim()||d(t),c=!!(this.getAttribute("data-error")||"").trim()||d(i),v=d(s),S=d(n),V=d(l),k=d(u),y=p(this,"show-steppers")||V||k,h=(E,I)=>{const b=this.root.querySelector(E);b&&(I?b.removeAttribute("hidden"):b.setAttribute("hidden",""))};h(".meta",a||o),h(".label",a),h(".description",o),h(".prefix",v),h(".suffix",S),h(".footer",c),h(".error",c),h(".steppers",y);const x=this.root.querySelector(".shell");x&&x.setAttribute("data-show-steppers",y?"true":"false")}_emitValueEvent(e,t,i,s){this.dispatchEvent(new CustomEvent(e,{detail:{value:t,previousValue:i,source:s},bubbles:!0,composed:!0}))}_emitInvalid(e){this._internalInvalidReason=e,this.setAttribute("data-internal-invalid",e),this._syncAria(),this.dispatchEvent(new CustomEvent("invalid",{detail:{reason:e},bubbles:!0,composed:!0}))}_clearInternalInvalid(){this._internalInvalidReason=null,this.removeAttribute("data-internal-invalid"),this._syncAria()}_commitValue(e,t){const i=this.valueAsNumber;if(e==null){if(i==null&&!this.value){this._rawValue="",this._syncDisplayValue();return}this._emitValueEvent("before-value-change",null,i,t),this.removeAttribute("value"),this._rawValue="",this._clearInternalInvalid(),this._syncDisplayValue(),this._syncAria(),this._emitValueEvent("value-change",null,i,t);return}const s=this._effectivePrecision(),n=L(m(e,s),s),l=Number(n);if(i!=null&&l===i&&this.value===n){this._rawValue=n,this._clearInternalInvalid(),this._syncDisplayValue();return}this._emitValueEvent("before-value-change",l,i,t),this.setAttribute("value",n),this._rawValue=n,this._clearInternalInvalid(),this._syncDisplayValue(),this._syncAria(),this._emitValueEvent("value-change",l,i,t)}_commitRaw(e){const t=this._rawValue.trim();if(!t){this._commitValue(null,e);return}const i=_(t,this._locale());if(i==null){this._emitInvalid("parse"),this._syncDisplayValue();return}const s=this._min(),n=this._max(),l=this._effectivePrecision(),u=m(i,l),a=p(this,"clamp-on-blur"),o=a?A(u,s,n):u;if(!a&&s!=null&&o<s){this._emitInvalid("min"),this._syncDisplayValue();return}if(!a&&n!=null&&o>n){this._emitInvalid("max"),this._syncDisplayValue();return}const c=this._step();if(!C(o,c,B(s),l)){this._emitInvalid("step"),this._syncDisplayValue();return}this._commitValue(o,e)}_stepBy(e,t){if(p(this,"disabled")||this.hasAttribute("readonly"))return;const i=this._step()??1,s=this._effectivePrecision(),n=this._min(),l=this._max(),a=(this._isEditing?_(this._rawValue,this._locale()):this.valueAsNumber)??n??0,o=A(m(a+i*e,s),n,l);this._commitValue(o,t),this._isEditing&&this._input&&(this._input.value=this._rawValue)}_registerWithForm(){this._formUnregister&&(this._formUnregister(),this._formUnregister=null);try{const s=this.getRootNode().host?.closest?.("ui-form")||null||this.closest("ui-form"),n=this.getAttribute("name");s&&typeof s.registerField=="function"&&n&&(this._formUnregister=s.registerField(n,{name:n,getValue:()=>this.value,setValue:l=>{l==null||l===""?this.removeAttribute("value"):this.setAttribute("value",String(l))},validate:async()=>{const l=this.valueAsNumber,u=this._min(),a=this._max();return this.hasAttribute("required")&&l==null?{valid:!1,message:"A value is required."}:l!=null&&u!=null&&l<u?{valid:!1,message:`Value must be at least ${u}.`}:l!=null&&a!=null&&l>a?{valid:!1,message:`Value must be at most ${a}.`}:{valid:this._internalInvalidReason==null,message:void 0}},setError:l=>{l?(this.setAttribute("data-error",l),this.toggleAttribute("invalid",!0)):(this.removeAttribute("data-error"),this._internalInvalidReason==null&&this.removeAttribute("invalid")),this._syncDerivedState(),this._syncAria()}}))}catch{}}_detachListeners(){this._input&&(this._input.removeEventListener("input",this._onInput),this._input.removeEventListener("focus",this._onFocus),this._input.removeEventListener("blur",this._onBlur),this._input.removeEventListener("keydown",this._onKeyDown),this._input.removeEventListener("wheel",this._onWheel))}_bindInput(){this._input&&(this._detachListeners(),this._input.addEventListener("input",this._onInput),this._input.addEventListener("focus",this._onFocus),this._input.addEventListener("blur",this._onBlur),this._input.addEventListener("keydown",this._onKeyDown),this._input.addEventListener("wheel",this._onWheel,{passive:!1}))}_onInput(e){this._rawValue=e.target.value,this._syncDisplayValue(),this._syncAria();const t=_(this._rawValue,this._locale());this.dispatchEvent(new CustomEvent("input",{detail:{rawValue:this._rawValue,value:t,source:"input"},bubbles:!0,composed:!0}))}_onFocus(){this._isEditing=!0,this._rawValue=this.value||this._rawValue,this._syncDisplayValue(),this._syncAria()}_onBlur(){this._isEditing=!1,this._commitRaw("blur")}_onKeyDown(e){if(e.key==="ArrowUp"){e.preventDefault(),this._stepBy(1,"keyboard");return}if(e.key==="ArrowDown"){e.preventDefault(),this._stepBy(-1,"keyboard");return}if(e.key==="PageUp"){e.preventDefault(),this._stepBy(10,"keyboard");return}if(e.key==="PageDown"){e.preventDefault(),this._stepBy(-10,"keyboard");return}if(e.key==="Home"){const t=this._min();if(t==null)return;e.preventDefault(),this._commitValue(t,"keyboard");return}if(e.key==="End"){const t=this._max();if(t==null)return;e.preventDefault(),this._commitValue(t,"keyboard");return}if(e.key==="Enter"){e.preventDefault(),this._isEditing=!1,this._commitRaw("keyboard");return}e.key==="Escape"&&(this._isEditing=!1,this._rawValue=this.value,this._clearInternalInvalid(),this._syncDisplayValue())}_onWheel(e){p(this,"allow-wheel")&&(!this._input||this.root.activeElement!==this._input||(e.preventDefault(),this._stepBy(e.deltaY<0?1:-1,"wheel")))}_onClick(e){const i=e.composedPath().find(s=>s instanceof HTMLElement?s.dataset.stepAction==="up"||s.dataset.stepAction==="down"||s.getAttribute("slot")==="increment-trigger"||s.getAttribute("slot")==="decrement-trigger":!1);if(i){if(i.dataset.stepAction==="up"||i.getAttribute("slot")==="increment-trigger"){e.preventDefault(),this._stepBy(1,"step");return}(i.dataset.stepAction==="down"||i.getAttribute("slot")==="decrement-trigger")&&(e.preventDefault(),this._stepBy(-1,"step"))}}_onSlotChange(){this._syncDerivedState(),this._syncAria()}render(){const e=this.getAttribute("label")||"",t=this.getAttribute("description")||"",i=this.getAttribute("data-error")||"";this.setContent(`
|
|
315
315
|
<style>${z}</style>
|
|
316
316
|
<div class="root">
|
|
317
317
|
<div class="meta">
|