@editora/ui-core 0.2.2 → 0.3.0
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-DxbvhLJs.js → ElementBase-CbUsP3D6.js} +1 -1
- package/dist/{ElementBase-BeZT54Hj.mjs → ElementBase-D5QsC5Vw.mjs} +10 -1
- package/dist/ElementBase.d.ts +7 -0
- package/dist/ElementBase.d.ts.map +1 -1
- package/dist/accordion.cjs.js +1 -1
- package/dist/accordion.esm.js +1 -1
- package/dist/add-icons-CVeHOsWl.js +1 -0
- package/dist/add-icons-DBUZJ0g7.mjs +14 -0
- package/dist/add-icons.cjs.js +1 -0
- package/dist/add-icons.d.ts +16 -0
- package/dist/add-icons.d.ts.map +1 -0
- package/dist/add-icons.esm.js +4 -0
- package/dist/alert-dialog.cjs.js +24 -24
- package/dist/alert-dialog.esm.js +112 -107
- package/dist/alert.cjs.js +8 -8
- package/dist/alert.esm.js +22 -22
- package/dist/animated-beam.cjs.js +1 -1
- package/dist/animated-beam.esm.js +1 -1
- package/dist/animated-list.cjs.js +1 -1
- package/dist/animated-list.esm.js +1 -1
- package/dist/animated-text.cjs.js +1 -1
- package/dist/animated-text.esm.js +1 -1
- package/dist/app-header.cjs.js +15 -3
- package/dist/app-header.esm.js +31 -4
- package/dist/aspect-ratio.cjs.js +1 -1
- package/dist/aspect-ratio.esm.js +1 -1
- package/dist/avatar.cjs.js +1 -1
- package/dist/avatar.esm.js +1 -1
- package/dist/badge.cjs.js +1 -1
- package/dist/badge.esm.js +1 -1
- package/dist/block-controls.cjs.js +1 -1
- package/dist/block-controls.esm.js +1 -1
- package/dist/box.cjs.js +1 -1
- package/dist/box.esm.js +1 -1
- package/dist/breadcrumb.cjs.js +4 -4
- package/dist/breadcrumb.esm.js +93 -84
- package/dist/button.cjs.js +520 -1
- package/dist/button.esm.js +682 -2
- package/dist/{calendar-CzpWDxLc.js → calendar-BsVqtpjM.js} +6 -6
- package/dist/{calendar-DkSDFg33.mjs → calendar-CFafqZVA.mjs} +6 -6
- package/dist/calendar.cjs.js +1 -1
- package/dist/calendar.esm.js +1 -1
- package/dist/card.cjs.js +6 -5
- package/dist/card.esm.js +52 -39
- package/dist/chart.cjs.js +2 -2
- package/dist/chart.esm.js +2 -2
- package/dist/checkbox.cjs.js +4 -4
- package/dist/checkbox.esm.js +36 -15
- package/dist/clone-source-BxK2pEVw.mjs +11 -0
- package/dist/clone-source-C7E_ri5f.js +1 -0
- package/dist/collapsible.cjs.js +1 -1
- package/dist/collapsible.esm.js +1 -1
- package/dist/color-picker.cjs.js +2 -2
- package/dist/color-picker.esm.js +3 -3
- package/dist/combobox.cjs.js +4 -4
- package/dist/combobox.esm.js +22 -19
- package/dist/command-palette.cjs.js +1 -1
- package/dist/command-palette.esm.js +1 -1
- package/dist/command.cjs.js +1 -1
- package/dist/command.esm.js +1 -1
- package/dist/components/ui-alert-dialog.d.ts.map +1 -1
- package/dist/components/ui-alert.d.ts.map +1 -1
- package/dist/components/ui-app-header.d.ts +1 -0
- package/dist/components/ui-app-header.d.ts.map +1 -1
- package/dist/components/ui-breadcrumb.d.ts.map +1 -1
- package/dist/components/ui-card.d.ts +7 -0
- package/dist/components/ui-card.d.ts.map +1 -1
- package/dist/components/ui-checkbox.d.ts +6 -0
- package/dist/components/ui-checkbox.d.ts.map +1 -1
- package/dist/components/ui-combobox.d.ts.map +1 -1
- package/dist/components/ui-date-time-picker.d.ts.map +1 -1
- package/dist/components/ui-dialog.d.ts +1 -0
- package/dist/components/ui-dialog.d.ts.map +1 -1
- package/dist/components/ui-drawer.d.ts.map +1 -1
- package/dist/components/ui-dropdown.d.ts.map +1 -1
- package/dist/components/ui-empty-state.d.ts.map +1 -1
- package/dist/components/ui-hover-card.d.ts.map +1 -1
- package/dist/components/ui-icon.d.ts +1 -0
- package/dist/components/ui-icon.d.ts.map +1 -1
- package/dist/components/ui-input.d.ts +16 -0
- package/dist/components/ui-input.d.ts.map +1 -1
- package/dist/components/ui-layout.d.ts +20 -0
- package/dist/components/ui-layout.d.ts.map +1 -1
- package/dist/components/ui-menu.d.ts +1 -0
- package/dist/components/ui-menu.d.ts.map +1 -1
- package/dist/components/ui-menubar.d.ts.map +1 -1
- package/dist/components/ui-multi-select.d.ts +6 -0
- package/dist/components/ui-multi-select.d.ts.map +1 -1
- package/dist/components/ui-number-field.d.ts +6 -0
- package/dist/components/ui-number-field.d.ts.map +1 -1
- package/dist/components/ui-pagination.d.ts.map +1 -1
- package/dist/components/ui-password-field.d.ts +11 -0
- package/dist/components/ui-password-field.d.ts.map +1 -1
- package/dist/components/ui-popover.d.ts.map +1 -1
- package/dist/components/ui-positioner.d.ts.map +1 -1
- package/dist/components/ui-radio-group.d.ts +6 -0
- package/dist/components/ui-radio-group.d.ts.map +1 -1
- package/dist/components/ui-rating.d.ts +1 -0
- package/dist/components/ui-rating.d.ts.map +1 -1
- package/dist/components/ui-select.d.ts +7 -0
- package/dist/components/ui-select.d.ts.map +1 -1
- package/dist/components/ui-sidebar.d.ts +1 -0
- package/dist/components/ui-sidebar.d.ts.map +1 -1
- package/dist/components/ui-slider.d.ts +6 -0
- package/dist/components/ui-slider.d.ts.map +1 -1
- package/dist/components/ui-sortable.d.ts +1 -0
- package/dist/components/ui-sortable.d.ts.map +1 -1
- package/dist/components/ui-switch.d.ts +6 -0
- package/dist/components/ui-switch.d.ts.map +1 -1
- package/dist/components/ui-tabs.d.ts +2 -0
- package/dist/components/ui-tabs.d.ts.map +1 -1
- package/dist/components/ui-textarea.d.ts +6 -0
- package/dist/components/ui-textarea.d.ts.map +1 -1
- package/dist/components/ui-toast.d.ts.map +1 -1
- package/dist/components/ui-tooltip.d.ts.map +1 -1
- package/dist/container.cjs.js +1 -1
- package/dist/container.esm.js +1 -1
- package/dist/context-menu.cjs.js +2 -2
- package/dist/context-menu.esm.js +2 -2
- package/dist/control-group.cjs.js +1 -1
- package/dist/control-group.esm.js +1 -1
- package/dist/data-table.cjs.js +5 -5
- package/dist/data-table.esm.js +7 -7
- package/dist/date-field.cjs.js +1 -1
- package/dist/date-field.esm.js +3 -3
- package/dist/date-picker.cjs.js +2 -2
- package/dist/date-picker.esm.js +17 -17
- package/dist/date-range-picker.cjs.js +2 -2
- package/dist/date-range-picker.esm.js +4 -4
- package/dist/date-range-time-picker.cjs.js +3 -3
- package/dist/date-range-time-picker.esm.js +16 -16
- package/dist/date-time-picker.cjs.js +26 -23
- package/dist/date-time-picker.esm.js +49 -46
- package/dist/{date-time-utils-zAx4ghvC.mjs → date-time-utils-CJUksWj3.mjs} +1 -1
- package/dist/{date-time-utils-C-4eHTyy.js → date-time-utils-D3hQQ5Om.js} +1 -1
- package/dist/description.cjs.js +1 -1
- package/dist/description.esm.js +1 -1
- package/dist/dialog.cjs.js +7 -7
- package/dist/dialog.esm.js +51 -47
- package/dist/direction-provider.cjs.js +1 -1
- package/dist/direction-provider.esm.js +1 -1
- package/dist/dismissable-layer.cjs.js +1 -1
- package/dist/dismissable-layer.esm.js +1 -1
- package/dist/dock.cjs.js +1 -1
- package/dist/dock.esm.js +1 -1
- package/dist/drawer.cjs.js +5 -5
- package/dist/drawer.esm.js +18 -17
- package/dist/dropdown.cjs.js +7 -7
- package/dist/dropdown.esm.js +39 -38
- package/dist/empty-state.cjs.js +12 -2
- package/dist/empty-state.esm.js +17 -7
- package/dist/field-error.cjs.js +1 -1
- package/dist/field-error.esm.js +1 -1
- package/dist/field.cjs.js +2 -2
- package/dist/field.esm.js +2 -2
- package/dist/fieldset.cjs.js +1 -1
- package/dist/fieldset.esm.js +1 -1
- package/dist/file-upload.cjs.js +1 -1
- package/dist/file-upload.esm.js +1 -1
- package/dist/flex.cjs.js +1 -1
- package/dist/flex.esm.js +1 -1
- package/dist/floating-toolbar.cjs.js +2 -2
- package/dist/floating-toolbar.esm.js +2 -2
- package/dist/focus-scope-Dl0qk5GP.mjs +177 -0
- package/dist/focus-scope-Doz0bnE1.js +1 -0
- package/dist/focus-scope.cjs.js +1 -1
- package/dist/focus-scope.esm.js +2 -2
- package/dist/form-control-B90_3kYN.js +1 -0
- package/dist/form-control-D9wWUMBl.mjs +86 -0
- package/dist/form.cjs.js +2 -2
- package/dist/form.esm.js +2 -2
- package/dist/gantt.cjs.js +2 -2
- package/dist/gantt.esm.js +2 -2
- package/dist/grid.cjs.js +1 -1
- package/dist/grid.esm.js +1 -1
- package/dist/hover-card.cjs.js +5 -5
- package/dist/hover-card.esm.js +19 -18
- package/dist/icon-cloud.cjs.js +1 -1
- package/dist/icon-cloud.esm.js +1 -1
- package/dist/icon.cjs.js +207 -1
- package/dist/icon.esm.js +294 -2
- package/dist/icons-CpCpPXV5.js +1 -0
- package/dist/icons-DWYbbhb0.mjs +115 -0
- package/dist/icons.d.ts +11 -1
- package/dist/icons.d.ts.map +1 -1
- package/dist/implicit-submit-B6M5Uc56.js +1 -0
- package/dist/implicit-submit-Lr0-q2LR.mjs +44 -0
- package/dist/index.cjs.js +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.esm.js +309 -299
- package/dist/inline-edit.cjs.js +1 -1
- package/dist/inline-edit.esm.js +1 -1
- package/dist/input.cjs.js +62 -20
- package/dist/input.esm.js +164 -58
- package/dist/label.cjs.js +1 -1
- package/dist/label.esm.js +1 -1
- package/dist/layout.cjs.js +145 -4
- package/dist/layout.esm.js +278 -40
- package/dist/marquee.cjs.js +1 -1
- package/dist/marquee.esm.js +1 -1
- package/dist/masonry-grid.cjs.js +1 -1
- package/dist/masonry-grid.esm.js +1 -1
- package/dist/menu.cjs.js +8 -8
- package/dist/menu.esm.js +51 -47
- package/dist/menubar.cjs.js +9 -9
- package/dist/menubar.esm.js +41 -40
- package/dist/meter.cjs.js +1 -1
- package/dist/meter.esm.js +1 -1
- package/dist/multi-select.cjs.js +7 -7
- package/dist/multi-select.esm.js +55 -34
- package/dist/navigate-CXebafwF.mjs +18 -0
- package/dist/navigate-ChJVIIuS.js +1 -0
- package/dist/navigation-menu.cjs.js +1 -1
- package/dist/navigation-menu.esm.js +1 -1
- package/dist/number-attribute-BAF07JrU.mjs +8 -0
- package/dist/number-attribute-C4Rrl7d3.js +1 -0
- package/dist/number-field.cjs.js +8 -8
- package/dist/number-field.esm.js +90 -69
- package/dist/number-ticker.cjs.js +1 -1
- package/dist/number-ticker.esm.js +1 -1
- package/dist/odometer.cjs.js +1 -1
- package/dist/odometer.esm.js +1 -1
- package/dist/orbiter.cjs.js +1 -1
- package/dist/orbiter.esm.js +1 -1
- package/dist/pagination.cjs.js +24 -23
- package/dist/pagination.esm.js +61 -46
- package/dist/{panel-group-BVHJEdfx.js → panel-group-BIzzpQ5i.js} +1 -1
- package/dist/{panel-group-BxO_eNW6.mjs → panel-group-CFLjzRWI.mjs} +1 -1
- package/dist/panel-group.cjs.js +1 -1
- package/dist/panel-group.esm.js +1 -1
- package/dist/panel.cjs.js +1 -1
- package/dist/panel.esm.js +1 -1
- package/dist/password-field.cjs.js +36 -16
- package/dist/password-field.esm.js +113 -44
- package/dist/pin-input.cjs.js +1 -1
- package/dist/pin-input.esm.js +1 -1
- package/dist/placement-grid.cjs.js +1 -1
- package/dist/placement-grid.esm.js +1 -1
- package/dist/plugin-panel.cjs.js +1 -1
- package/dist/plugin-panel.esm.js +1 -1
- package/dist/popover.cjs.js +2 -2
- package/dist/popover.esm.js +28 -26
- package/dist/portal.cjs.js +1 -1
- package/dist/portal.esm.js +1 -1
- package/dist/positioner.cjs.js +2 -2
- package/dist/positioner.esm.js +35 -38
- package/dist/preload.cjs.js +221 -0
- package/dist/preload.css +220 -0
- package/dist/preload.d.ts +17 -0
- package/dist/preload.d.ts.map +1 -0
- package/dist/preload.esm.js +224 -0
- package/dist/presence.cjs.js +1 -1
- package/dist/presence.esm.js +1 -1
- package/dist/primitives/clone-source.d.ts +3 -0
- package/dist/primitives/clone-source.d.ts.map +1 -0
- package/dist/primitives/focus-scope.d.ts +6 -0
- package/dist/primitives/focus-scope.d.ts.map +1 -1
- package/dist/primitives/form-control.d.ts +68 -0
- package/dist/primitives/form-control.d.ts.map +1 -0
- package/dist/primitives/implicit-submit.d.ts +17 -0
- package/dist/primitives/implicit-submit.d.ts.map +1 -0
- package/dist/primitives/navigate.d.ts +27 -0
- package/dist/primitives/navigate.d.ts.map +1 -0
- package/dist/primitives/number-attribute.d.ts +7 -0
- package/dist/primitives/number-attribute.d.ts.map +1 -0
- package/dist/primitives/slotted-input.d.ts +19 -0
- package/dist/primitives/slotted-input.d.ts.map +1 -0
- package/dist/progress.cjs.js +3 -3
- package/dist/progress.esm.js +3 -3
- package/dist/quick-actions.cjs.js +5 -5
- package/dist/quick-actions.esm.js +3 -3
- package/dist/radio-group.cjs.js +9 -9
- package/dist/radio-group.esm.js +47 -24
- package/dist/radio.cjs.js +1 -1
- package/dist/radio.esm.js +1 -1
- package/dist/rating.cjs.js +6 -6
- package/dist/rating.esm.js +21 -10
- package/dist/{runtime-CJzoaC8Z.mjs → runtime-CORXjP7e.mjs} +366 -352
- package/dist/runtime-uCly3ECd.js +5 -0
- package/dist/runtime.cjs.js +1 -1
- package/dist/runtime.esm.js +1 -1
- package/dist/scroll-area.cjs.js +1 -1
- package/dist/scroll-area.esm.js +1 -1
- package/dist/section.cjs.js +1 -1
- package/dist/section.esm.js +1 -1
- package/dist/select.cjs.js +21 -21
- package/dist/select.esm.js +111 -71
- package/dist/selection-popup.cjs.js +2 -2
- package/dist/selection-popup.esm.js +2 -2
- package/dist/semantic-tokens.d.ts.map +1 -1
- package/dist/separator.cjs.js +1 -1
- package/dist/separator.esm.js +1 -1
- package/dist/sidebar.cjs.js +15 -15
- package/dist/sidebar.esm.js +48 -42
- package/dist/skeleton.cjs.js +1 -1
- package/dist/skeleton.esm.js +1 -1
- package/dist/slider.cjs.js +11 -11
- package/dist/slider.esm.js +40 -23
- package/dist/slot.cjs.js +1 -1
- package/dist/slot.esm.js +1 -1
- package/dist/slotted-input-BVq2QQg2.js +1 -0
- package/dist/slotted-input-atWznLfm.mjs +13 -0
- package/dist/sortable.cjs.js +25 -25
- package/dist/sortable.esm.js +29 -21
- package/dist/spinning-text.cjs.js +1 -1
- package/dist/spinning-text.esm.js +1 -1
- package/dist/split-button.cjs.js +1 -1
- package/dist/split-button.esm.js +1 -1
- package/dist/splitter.cjs.js +1 -1
- package/dist/splitter.esm.js +1 -1
- package/dist/standalone/add-icons.d.ts +2 -0
- package/dist/standalone/add-icons.d.ts.map +1 -0
- package/dist/standalone/preload.d.ts +2 -0
- package/dist/standalone/preload.d.ts.map +1 -0
- package/dist/stepper.cjs.js +3 -3
- package/dist/stepper.esm.js +3 -3
- package/dist/switch.cjs.js +9 -9
- package/dist/switch.esm.js +56 -35
- package/dist/table.cjs.js +1 -1
- package/dist/table.esm.js +1 -1
- package/dist/tabs.cjs.js +14 -14
- package/dist/tabs.esm.js +129 -115
- package/dist/tags-input.cjs.js +1 -1
- package/dist/tags-input.esm.js +1 -1
- package/dist/textarea.cjs.js +33 -11
- package/dist/textarea.esm.js +74 -35
- package/dist/theme.d.ts +6 -0
- package/dist/theme.d.ts.map +1 -1
- package/dist/time-field.cjs.js +1 -1
- package/dist/time-field.esm.js +2 -2
- package/dist/time-picker.cjs.js +1 -1
- package/dist/time-picker.esm.js +3 -3
- package/dist/timeline.cjs.js +2 -2
- package/dist/timeline.esm.js +2 -2
- package/dist/toast.cjs.js +4 -4
- package/dist/toast.esm.js +17 -16
- package/dist/toggle-group.cjs.js +1 -1
- package/dist/toggle-group.esm.js +1 -1
- package/dist/toggle.cjs.js +3 -3
- package/dist/toggle.esm.js +9 -9
- package/dist/toolbar.cjs.js +1 -1
- package/dist/toolbar.esm.js +1 -1
- package/dist/tooltip.cjs.js +2 -2
- package/dist/tooltip.esm.js +12 -14
- package/dist/transfer-list.cjs.js +1 -1
- package/dist/transfer-list.esm.js +1 -1
- package/dist/{tree-33fVNnaf.mjs → tree-CD2k2lIC.mjs} +1 -1
- package/dist/{tree-Dc02MChE.js → tree-ChQfhxya.js} +1 -1
- package/dist/tree-item.cjs.js +1 -1
- package/dist/tree-item.esm.js +1 -1
- package/dist/tree.cjs.js +1 -1
- package/dist/tree.esm.js +1 -1
- package/dist/visually-hidden.cjs.js +1 -1
- package/dist/visually-hidden.esm.js +1 -1
- package/dist/wizard.cjs.js +4 -4
- package/dist/wizard.esm.js +4 -4
- package/package.json +3 -2
- package/dist/focus-scope-Bwug2gDv.js +0 -1
- package/dist/focus-scope-CmEsG5UZ.mjs +0 -138
- package/dist/runtime-DYSIU3sR.js +0 -5
- package/dist/ui-button-C3OmI7Sn.mjs +0 -684
- package/dist/ui-button-CnLwXBnx.js +0 -520
- package/dist/ui-icon-D3avtxX_.js +0 -207
- package/dist/ui-icon-DLhB08Fo.mjs +0 -361
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";function r(t,u){if(t==null||t.trim()==="")return u;const e=Number(t);return Number.isFinite(e)?e:u}exports.numberAttribute=r;
|
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
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const N=require("./ElementBase-CbUsP3D6.js"),S=require("./form-control-B90_3kYN.js"),B=require("./implicit-submit-B6M5Uc56.js"),k=require("./control-name-BmoI1m3a.js"),q=`
|
|
2
2
|
:host {
|
|
3
3
|
--ui-number-field-padding: var(--ui-padding, 0);
|
|
4
4
|
--ui-number-field-pad-x: calc(var(--ui-control-padding-inline-2, 12px) - 1px);
|
|
@@ -309,7 +309,7 @@
|
|
|
309
309
|
--ui-number-field-color: #e2e8f0;
|
|
310
310
|
--ui-number-field-muted: #94a3b8;
|
|
311
311
|
--ui-number-field-border-color: #334155;
|
|
312
|
-
--ui-number-field-focus: #93c5fd;
|
|
312
|
+
--ui-number-field-focus: var(--ui-color-accent-on-dark, #93c5fd);
|
|
313
313
|
--ui-number-field-placeholder: color-mix(in srgb, #e2e8f0 46%, transparent);
|
|
314
314
|
--ui-number-field-shadow: 0 2px 8px rgba(2, 6, 23, 0.24);
|
|
315
315
|
}
|
|
@@ -320,16 +320,16 @@
|
|
|
320
320
|
transition: none !important;
|
|
321
321
|
}
|
|
322
322
|
}
|
|
323
|
-
`;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 B(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 w(r,e,t){return e!=null&&r<e?e:t!=null&&r>t?t:r}function C(r){return r??0}function q(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 v(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 S 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","aria-label","aria-description","aria-describedby","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"||e==="aria-label"||e==="aria-description"||e==="aria-describedby"){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?B(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.disabled?this.root.querySelector(".shell")?.setAttribute("aria-disabled","true"):this.root.querySelector(".shell")?.removeAttribute("aria-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);A.syncControlName(this._input,this,u?`${this._uid}-label`:null);const c=[];a&&c.push(`${this._uid}-description`),o&&c.push(`${this._uid}-error`),A.syncControlDescription(this._input,this,this._uid,c),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),_=d(s),V=d(n),k=d(l),E=d(u),y=p(this,"show-steppers")||k||E,h=(z,I)=>{const b=this.root.querySelector(z);b&&(I?b.removeAttribute("hidden"):b.setAttribute("hidden",""))};h(".meta",a||o),h(".label",a),h(".description",o),h(".prefix",_),h(".suffix",V),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=v(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?w(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(!q(o,c,C(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?v(this._rawValue,this._locale()):this.valueAsNumber)??n??0,o=w(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=v(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(`
|
|
324
|
-
<style>${
|
|
323
|
+
`;function g(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=>t.nodeType===Node.TEXT_NODE?!!t.textContent?.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 v(s){if(s==null||s.trim()==="")return null;const e=Number(s);return Number.isFinite(e)?e:null}function F(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 V(s,e,t){return e!=null&&s<e?e:t!=null&&s>t?t:s}function L(s){return s??0}function M(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 P(s){const e=new Intl.NumberFormat(s).formatToParts(12345.6);return{group:e.find(t=>t.type==="group")?.value||",",decimal:e.find(t=>t.type==="decimal")?.value||"."}}function _(s,e){const t=s.trim();if(!t)return null;const{group:i,decimal:r}=P(e);let n=t.replace(/[\s\u00a0\u202f]/g,"");if(n=n.split(i).join(""),r!=="."&&(n=n.split(r).join(".")),n=n.replace(/[−–]/g,"-"),!/^[+-]?(?:\d+\.?\d*|\.\d+)$/.test(n))return null;const l=Number(n);return Number.isFinite(l)?l:null}function U(s,e){return e!=null&&e>=0?s.toFixed(e):String(s)}const y=class y extends N.ElementBase{constructor(){super(),this._formControl=new S.FormControl(this,{getValue:()=>this.value,getValidity:()=>({valueMissing:S.isRequired(this)&&!this.value,anchor:this._input}),defaultAttribute:"value",onFormDisabled:e=>{this._input&&(this._input.disabled=e||p(this,"disabled"))}}),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","aria-label","aria-description","aria-describedby","description","data-error","size","variant"]}formResetCallback(){this._formControl.formResetCallback()}formDisabledCallback(e){this._formControl.formDisabledCallback(e)}get form(){return this._formControl.form}connectedCallback(){super.connectedCallback(),this._formControl.connect(),this.root.addEventListener("slotchange",this._onSlotChange),this.addEventListener("click",this._onClick),this._registerWithForm()}disconnectedCallback(){this._formControl.disconnect(),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"||e==="aria-label"||e==="aria-description"||e==="aria-describedby"){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 v(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?F(t):null}_min(){return v(this.getAttribute("min"))}_max(){return v(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._formControl.disabledByForm,this._input.disabled?this.root.querySelector(".shell")?.setAttribute("aria-disabled","true"):this.root.querySelector(".shell")?.removeAttribute("aria-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"]'),l=this.root.querySelector('slot[name="error"]'),u=!!(this.getAttribute("label")||"").trim()||d(r),o=!!(this.getAttribute("description")||"").trim()||d(n),a=!!(this.getAttribute("data-error")||"").trim()||d(l);k.syncControlName(this._input,this,u?`${this._uid}-label`:null);const c=[];o&&c.push(`${this._uid}-description`),a&&c.push(`${this._uid}-error`),k.syncControlDescription(this._input,this,this._uid,c),this.hasAttribute("required")?this._input.setAttribute("aria-required","true"):this._input.removeAttribute("aria-required"),this.hasAttribute("invalid")||this._internalInvalidReason!=null||a?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"]'),l=this.root.querySelector('slot[name="increment-trigger"]'),u=this.root.querySelector('slot[name="decrement-trigger"]'),o=!!(this.getAttribute("label")||"").trim()||d(e),a=!!(this.getAttribute("description")||"").trim()||d(t),c=!!(this.getAttribute("data-error")||"").trim()||d(i),x=d(r),E=d(n),z=d(l),C=d(u),A=p(this,"show-steppers")||z||C,h=(D,I)=>{const f=this.root.querySelector(D);f&&(I?f.removeAttribute("hidden"):f.setAttribute("hidden",""))};h(".meta",o||a),h(".label",o),h(".description",a),h(".prefix",x),h(".suffix",E),h(".footer",c),h(".error",c),h(".steppers",A);const w=this.root.querySelector(".shell");w&&w.setAttribute("data-show-steppers",A?"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=U(m(e,r),r),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 r=this._min(),n=this._max(),l=this._effectivePrecision(),u=m(i,l),o=p(this,"clamp-on-blur"),a=o?V(u,r,n):u;if(!o&&r!=null&&a<r){this._emitInvalid("min"),this._syncDisplayValue();return}if(!o&&n!=null&&a>n){this._emitInvalid("max"),this._syncDisplayValue();return}const c=this._step();if(!M(a,c,L(r),l)){this._emitInvalid("step"),this._syncDisplayValue();return}this._commitValue(a,e)}_stepBy(e,t){if(p(this,"disabled")||this.hasAttribute("readonly"))return;const i=this._step()??1,r=this._effectivePrecision(),n=this._min(),l=this._max(),o=(this._isEditing?_(this._rawValue,this._locale()):this.valueAsNumber)??n??0,a=V(m(o+i*e,r),n,l);this._commitValue(a,t),this._isEditing&&this._input&&(this._input.value=this._rawValue)}_registerWithForm(){this._formUnregister&&(this._formUnregister(),this._formUnregister=null);try{const r=this.getRootNode().host?.closest?.("ui-form")||null||this.closest("ui-form"),n=this.getAttribute("name");r&&typeof r.registerField=="function"&&n&&(this._formUnregister=r.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(),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"),e.isComposing||B.submitImplicitly(this);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(`
|
|
324
|
+
<style>${q}</style>
|
|
325
325
|
<div class="root">
|
|
326
326
|
<div class="meta">
|
|
327
327
|
<label class="label" id="${this._uid}-label">
|
|
328
|
-
<slot name="label">${
|
|
328
|
+
<slot name="label">${g(e)}</slot>
|
|
329
329
|
<span class="required" ${this.hasAttribute("required")?"":"hidden"}>*</span>
|
|
330
330
|
</label>
|
|
331
331
|
<p class="description" id="${this._uid}-description">
|
|
332
|
-
<slot name="description">${
|
|
332
|
+
<slot name="description">${g(t)}</slot>
|
|
333
333
|
</p>
|
|
334
334
|
</div>
|
|
335
335
|
<div class="shell">
|
|
@@ -353,8 +353,8 @@
|
|
|
353
353
|
</div>
|
|
354
354
|
<div class="footer">
|
|
355
355
|
<p class="error" id="${this._uid}-error">
|
|
356
|
-
<slot name="error">${
|
|
356
|
+
<slot name="error">${g(i)}</slot>
|
|
357
357
|
</p>
|
|
358
358
|
</div>
|
|
359
359
|
</div>
|
|
360
|
-
`),this._input=this.root.querySelector("input"),this._rawValue=this.value||this._rawValue,this._bindInput(),this._syncControlAttrs(),this._syncDerivedState(),this._syncDisplayValue(),this._syncAria()}}typeof customElements<"u"&&!customElements.get("ui-number-field")&&customElements.define("ui-number-field",
|
|
360
|
+
`),this._input=this.root.querySelector("input"),this._rawValue=this.value||this._rawValue,this._bindInput(),this._syncControlAttrs(),this._syncDerivedState(),this._syncDisplayValue(),this._syncAria()}};y.formAssociated=!0;let b=y;typeof customElements<"u"&&!customElements.get("ui-number-field")&&customElements.define("ui-number-field",b);exports.UINumberField=b;
|
package/dist/number-field.esm.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import { E as
|
|
2
|
-
import {
|
|
3
|
-
|
|
1
|
+
import { E as C } from "./ElementBase-D5QsC5Vw.mjs";
|
|
2
|
+
import { F as I, i as N } from "./form-control-D9wWUMBl.mjs";
|
|
3
|
+
import { a as B } from "./implicit-submit-Lr0-q2LR.mjs";
|
|
4
|
+
import { s as F, a as q } from "./control-name-Bpj7F34X.mjs";
|
|
5
|
+
const L = `
|
|
4
6
|
:host {
|
|
5
7
|
--ui-number-field-padding: var(--ui-padding, 0);
|
|
6
8
|
--ui-number-field-pad-x: calc(var(--ui-control-padding-inline-2, 12px) - 1px);
|
|
@@ -311,7 +313,7 @@ const N = `
|
|
|
311
313
|
--ui-number-field-color: #e2e8f0;
|
|
312
314
|
--ui-number-field-muted: #94a3b8;
|
|
313
315
|
--ui-number-field-border-color: #334155;
|
|
314
|
-
--ui-number-field-focus: #93c5fd;
|
|
316
|
+
--ui-number-field-focus: var(--ui-color-accent-on-dark, #93c5fd);
|
|
315
317
|
--ui-number-field-placeholder: color-mix(in srgb, #e2e8f0 46%, transparent);
|
|
316
318
|
--ui-number-field-shadow: 0 2px 8px rgba(2, 6, 23, 0.24);
|
|
317
319
|
}
|
|
@@ -323,69 +325,76 @@ const N = `
|
|
|
323
325
|
}
|
|
324
326
|
}
|
|
325
327
|
`;
|
|
326
|
-
function f(
|
|
327
|
-
return
|
|
328
|
+
function f(s) {
|
|
329
|
+
return s.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """).replace(/'/g, "'");
|
|
328
330
|
}
|
|
329
|
-
function d(
|
|
330
|
-
if (!
|
|
331
|
-
const e =
|
|
331
|
+
function d(s) {
|
|
332
|
+
if (!s) return !1;
|
|
333
|
+
const e = s.assignedNodes({ flatten: !0 });
|
|
332
334
|
return e.length ? e.some((t) => t.nodeType === Node.TEXT_NODE ? !!t.textContent?.trim() : t.nodeType === Node.ELEMENT_NODE) : !1;
|
|
333
335
|
}
|
|
334
|
-
function p(
|
|
335
|
-
const t =
|
|
336
|
+
function p(s, e) {
|
|
337
|
+
const t = s.getAttribute(e);
|
|
336
338
|
if (t == null) return !1;
|
|
337
339
|
const i = String(t).trim().toLowerCase();
|
|
338
340
|
return i !== "false" && i !== "0";
|
|
339
341
|
}
|
|
340
|
-
function g(
|
|
341
|
-
if (
|
|
342
|
-
const e = Number(
|
|
342
|
+
function g(s) {
|
|
343
|
+
if (s == null || s.trim() === "") return null;
|
|
344
|
+
const e = Number(s);
|
|
343
345
|
return Number.isFinite(e) ? e : null;
|
|
344
346
|
}
|
|
345
|
-
function
|
|
346
|
-
const e = String(
|
|
347
|
+
function M(s) {
|
|
348
|
+
const e = String(s), t = e.match(/e-(\d+)$/i);
|
|
347
349
|
if (t) return Number(t[1]);
|
|
348
350
|
const i = e.split(".")[1];
|
|
349
351
|
return i ? i.length : 0;
|
|
350
352
|
}
|
|
351
|
-
function m(
|
|
352
|
-
if (e == null || e < 0) return
|
|
353
|
+
function m(s, e) {
|
|
354
|
+
if (e == null || e < 0) return s;
|
|
353
355
|
const t = 10 ** e;
|
|
354
|
-
return Math.round((
|
|
356
|
+
return Math.round((s + Number.EPSILON) * t) / t;
|
|
355
357
|
}
|
|
356
|
-
function
|
|
357
|
-
return e != null &&
|
|
358
|
+
function S(s, e, t) {
|
|
359
|
+
return e != null && s < e ? e : t != null && s > t ? t : s;
|
|
358
360
|
}
|
|
359
|
-
function
|
|
360
|
-
return
|
|
361
|
+
function P(s) {
|
|
362
|
+
return s ?? 0;
|
|
361
363
|
}
|
|
362
|
-
function
|
|
364
|
+
function $(s, e, t, i) {
|
|
363
365
|
if (e == null || e <= 0) return !0;
|
|
364
|
-
const
|
|
365
|
-
return Math.abs(
|
|
366
|
+
const r = m((s - t) / e, i != null ? i + 2 : 8);
|
|
367
|
+
return Math.abs(r - Math.round(r)) < 1e-7;
|
|
366
368
|
}
|
|
367
|
-
function
|
|
368
|
-
const e = new Intl.NumberFormat(
|
|
369
|
+
function R(s) {
|
|
370
|
+
const e = new Intl.NumberFormat(s).formatToParts(12345.6);
|
|
369
371
|
return {
|
|
370
372
|
group: e.find((t) => t.type === "group")?.value || ",",
|
|
371
373
|
decimal: e.find((t) => t.type === "decimal")?.value || "."
|
|
372
374
|
};
|
|
373
375
|
}
|
|
374
|
-
function v(
|
|
375
|
-
const t =
|
|
376
|
+
function v(s, e) {
|
|
377
|
+
const t = s.trim();
|
|
376
378
|
if (!t) return null;
|
|
377
|
-
const { group: i, decimal:
|
|
379
|
+
const { group: i, decimal: r } = R(e);
|
|
378
380
|
let n = t.replace(/[\s\u00a0\u202f]/g, "");
|
|
379
|
-
if (n = n.split(i).join(""),
|
|
381
|
+
if (n = n.split(i).join(""), r !== "." && (n = n.split(r).join(".")), n = n.replace(/[−–]/g, "-"), !/^[+-]?(?:\d+\.?\d*|\.\d+)$/.test(n)) return null;
|
|
380
382
|
const l = Number(n);
|
|
381
383
|
return Number.isFinite(l) ? l : null;
|
|
382
384
|
}
|
|
383
|
-
function
|
|
384
|
-
return e != null && e >= 0 ?
|
|
385
|
+
function U(s, e) {
|
|
386
|
+
return e != null && e >= 0 ? s.toFixed(e) : String(s);
|
|
385
387
|
}
|
|
386
|
-
class
|
|
388
|
+
const y = class y extends C {
|
|
387
389
|
constructor() {
|
|
388
|
-
super(), this.
|
|
390
|
+
super(), this._formControl = new I(this, {
|
|
391
|
+
getValue: () => this.value,
|
|
392
|
+
getValidity: () => ({ valueMissing: N(this) && !this.value, anchor: this._input }),
|
|
393
|
+
defaultAttribute: "value",
|
|
394
|
+
onFormDisabled: (e) => {
|
|
395
|
+
this._input && (this._input.disabled = e || p(this, "disabled"));
|
|
396
|
+
}
|
|
397
|
+
}), 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);
|
|
389
398
|
}
|
|
390
399
|
static get observedAttributes() {
|
|
391
400
|
return [
|
|
@@ -417,11 +426,21 @@ class M extends z {
|
|
|
417
426
|
"variant"
|
|
418
427
|
];
|
|
419
428
|
}
|
|
429
|
+
formResetCallback() {
|
|
430
|
+
this._formControl.formResetCallback();
|
|
431
|
+
}
|
|
432
|
+
formDisabledCallback(e) {
|
|
433
|
+
this._formControl.formDisabledCallback(e);
|
|
434
|
+
}
|
|
435
|
+
/** The `<form>` this field belongs to, if any. */
|
|
436
|
+
get form() {
|
|
437
|
+
return this._formControl.form;
|
|
438
|
+
}
|
|
420
439
|
connectedCallback() {
|
|
421
|
-
super.connectedCallback(), this.root.addEventListener("slotchange", this._onSlotChange), this.addEventListener("click", this._onClick), this._registerWithForm();
|
|
440
|
+
super.connectedCallback(), this._formControl.connect(), this.root.addEventListener("slotchange", this._onSlotChange), this.addEventListener("click", this._onClick), this._registerWithForm();
|
|
422
441
|
}
|
|
423
442
|
disconnectedCallback() {
|
|
424
|
-
this.root.removeEventListener("slotchange", this._onSlotChange), this.removeEventListener("click", this._onClick), this._detachListeners(), this._formUnregister && (this._formUnregister(), this._formUnregister = null), super.disconnectedCallback();
|
|
443
|
+
this._formControl.disconnect(), this.root.removeEventListener("slotchange", this._onSlotChange), this.removeEventListener("click", this._onClick), this._detachListeners(), this._formUnregister && (this._formUnregister(), this._formUnregister = null), super.disconnectedCallback();
|
|
425
444
|
}
|
|
426
445
|
shouldRenderOnAttributeChange(e) {
|
|
427
446
|
return e === "label" || e === "description" || e === "data-error";
|
|
@@ -492,7 +511,7 @@ class M extends z {
|
|
|
492
511
|
const e = this._precision();
|
|
493
512
|
if (e != null) return e;
|
|
494
513
|
const t = this._step();
|
|
495
|
-
return t != null ?
|
|
514
|
+
return t != null ? M(t) : null;
|
|
496
515
|
}
|
|
497
516
|
_min() {
|
|
498
517
|
return g(this.getAttribute("min"));
|
|
@@ -522,7 +541,7 @@ class M extends z {
|
|
|
522
541
|
}
|
|
523
542
|
_syncControlAttrs() {
|
|
524
543
|
if (!this._input) return;
|
|
525
|
-
this._input.placeholder = this.getAttribute("placeholder") || "", this._input.disabled = p(this, "disabled"), this._input.disabled ? this.root.querySelector(".shell")?.setAttribute("aria-disabled", "true") : this.root.querySelector(".shell")?.removeAttribute("aria-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");
|
|
544
|
+
this._input.placeholder = this.getAttribute("placeholder") || "", this._input.disabled = p(this, "disabled") || this._formControl.disabledByForm, this._input.disabled ? this.root.querySelector(".shell")?.setAttribute("aria-disabled", "true") : this.root.querySelector(".shell")?.removeAttribute("aria-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");
|
|
526
545
|
const e = this.getAttribute("autocomplete");
|
|
527
546
|
e ? this._input.setAttribute("autocomplete", e) : this._input.removeAttribute("autocomplete");
|
|
528
547
|
}
|
|
@@ -532,24 +551,24 @@ class M extends z {
|
|
|
532
551
|
this._input.setAttribute("role", "spinbutton"), this._input.setAttribute("aria-valuetext", this._input.value || "");
|
|
533
552
|
const t = this._min(), i = this._max();
|
|
534
553
|
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");
|
|
535
|
-
const
|
|
536
|
-
|
|
554
|
+
const r = 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(r), o = !!(this.getAttribute("description") || "").trim() || d(n), a = !!(this.getAttribute("data-error") || "").trim() || d(l);
|
|
555
|
+
F(this._input, this, u ? `${this._uid}-label` : null);
|
|
537
556
|
const c = [];
|
|
538
|
-
|
|
557
|
+
o && c.push(`${this._uid}-description`), a && c.push(`${this._uid}-error`), q(this._input, this, this._uid, c), this.hasAttribute("required") ? this._input.setAttribute("aria-required", "true") : this._input.removeAttribute("aria-required"), this.hasAttribute("invalid") || this._internalInvalidReason != null || a ? this._input.setAttribute("aria-invalid", "true") : this._input.removeAttribute("aria-invalid");
|
|
539
558
|
}
|
|
540
559
|
_syncDerivedState() {
|
|
541
|
-
const e = this.root.querySelector('slot[name="label"]'), t = this.root.querySelector('slot[name="description"]'), i = this.root.querySelector('slot[name="error"]'),
|
|
542
|
-
const b = this.root.querySelector(
|
|
543
|
-
b && (
|
|
560
|
+
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"]'), l = this.root.querySelector('slot[name="increment-trigger"]'), u = this.root.querySelector('slot[name="decrement-trigger"]'), o = !!(this.getAttribute("label") || "").trim() || d(e), a = !!(this.getAttribute("description") || "").trim() || d(t), c = !!(this.getAttribute("data-error") || "").trim() || d(i), x = d(r), k = d(n), V = d(l), E = d(u), A = p(this, "show-steppers") || V || E, h = (z, D) => {
|
|
561
|
+
const b = this.root.querySelector(z);
|
|
562
|
+
b && (D ? b.removeAttribute("hidden") : b.setAttribute("hidden", ""));
|
|
544
563
|
};
|
|
545
|
-
h(".meta",
|
|
546
|
-
const
|
|
547
|
-
|
|
564
|
+
h(".meta", o || a), h(".label", o), h(".description", a), h(".prefix", x), h(".suffix", k), h(".footer", c), h(".error", c), h(".steppers", A);
|
|
565
|
+
const w = this.root.querySelector(".shell");
|
|
566
|
+
w && w.setAttribute("data-show-steppers", A ? "true" : "false");
|
|
548
567
|
}
|
|
549
|
-
_emitValueEvent(e, t, i,
|
|
568
|
+
_emitValueEvent(e, t, i, r) {
|
|
550
569
|
this.dispatchEvent(
|
|
551
570
|
new CustomEvent(e, {
|
|
552
|
-
detail: { value: t, previousValue: i, source:
|
|
571
|
+
detail: { value: t, previousValue: i, source: r },
|
|
553
572
|
bubbles: !0,
|
|
554
573
|
composed: !0
|
|
555
574
|
})
|
|
@@ -577,7 +596,7 @@ class M extends z {
|
|
|
577
596
|
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);
|
|
578
597
|
return;
|
|
579
598
|
}
|
|
580
|
-
const
|
|
599
|
+
const r = this._effectivePrecision(), n = U(m(e, r), r), l = Number(n);
|
|
581
600
|
if (i != null && l === i && this.value === n) {
|
|
582
601
|
this._rawValue = n, this._clearInternalInvalid(), this._syncDisplayValue();
|
|
583
602
|
return;
|
|
@@ -595,40 +614,40 @@ class M extends z {
|
|
|
595
614
|
this._emitInvalid("parse"), this._syncDisplayValue();
|
|
596
615
|
return;
|
|
597
616
|
}
|
|
598
|
-
const
|
|
599
|
-
if (!
|
|
617
|
+
const r = this._min(), n = this._max(), l = this._effectivePrecision(), u = m(i, l), o = p(this, "clamp-on-blur"), a = o ? S(u, r, n) : u;
|
|
618
|
+
if (!o && r != null && a < r) {
|
|
600
619
|
this._emitInvalid("min"), this._syncDisplayValue();
|
|
601
620
|
return;
|
|
602
621
|
}
|
|
603
|
-
if (!
|
|
622
|
+
if (!o && n != null && a > n) {
|
|
604
623
|
this._emitInvalid("max"), this._syncDisplayValue();
|
|
605
624
|
return;
|
|
606
625
|
}
|
|
607
626
|
const c = this._step();
|
|
608
|
-
if (
|
|
627
|
+
if (!$(a, c, P(r), l)) {
|
|
609
628
|
this._emitInvalid("step"), this._syncDisplayValue();
|
|
610
629
|
return;
|
|
611
630
|
}
|
|
612
|
-
this._commitValue(
|
|
631
|
+
this._commitValue(a, e);
|
|
613
632
|
}
|
|
614
633
|
_stepBy(e, t) {
|
|
615
634
|
if (p(this, "disabled") || this.hasAttribute("readonly")) return;
|
|
616
|
-
const i = this._step() ?? 1,
|
|
617
|
-
this._commitValue(
|
|
635
|
+
const i = this._step() ?? 1, r = this._effectivePrecision(), n = this._min(), l = this._max(), o = (this._isEditing ? v(this._rawValue, this._locale()) : this.valueAsNumber) ?? n ?? 0, a = S(m(o + i * e, r), n, l);
|
|
636
|
+
this._commitValue(a, t), this._isEditing && this._input && (this._input.value = this._rawValue);
|
|
618
637
|
}
|
|
619
638
|
_registerWithForm() {
|
|
620
639
|
this._formUnregister && (this._formUnregister(), this._formUnregister = null);
|
|
621
640
|
try {
|
|
622
|
-
const
|
|
623
|
-
|
|
641
|
+
const r = this.getRootNode().host?.closest?.("ui-form") || null || this.closest("ui-form"), n = this.getAttribute("name");
|
|
642
|
+
r && typeof r.registerField == "function" && n && (this._formUnregister = r.registerField(n, {
|
|
624
643
|
name: n,
|
|
625
644
|
getValue: () => this.value,
|
|
626
645
|
setValue: (l) => {
|
|
627
646
|
l == null || l === "" ? this.removeAttribute("value") : this.setAttribute("value", String(l));
|
|
628
647
|
},
|
|
629
648
|
validate: async () => {
|
|
630
|
-
const l = this.valueAsNumber, u = this._min(),
|
|
631
|
-
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 &&
|
|
649
|
+
const l = this.valueAsNumber, u = this._min(), o = this._max();
|
|
650
|
+
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 };
|
|
632
651
|
},
|
|
633
652
|
setError: (l) => {
|
|
634
653
|
l ? (this.setAttribute("data-error", l), this.toggleAttribute("invalid", !0)) : (this.removeAttribute("data-error"), this._internalInvalidReason == null && this.removeAttribute("invalid")), this._syncDerivedState(), this._syncAria();
|
|
@@ -690,7 +709,7 @@ class M extends z {
|
|
|
690
709
|
return;
|
|
691
710
|
}
|
|
692
711
|
if (e.key === "Enter") {
|
|
693
|
-
e.preventDefault(), this._isEditing = !1, this._commitRaw("keyboard");
|
|
712
|
+
e.preventDefault(), this._isEditing = !1, this._commitRaw("keyboard"), e.isComposing || B(this);
|
|
694
713
|
return;
|
|
695
714
|
}
|
|
696
715
|
e.key === "Escape" && (this._isEditing = !1, this._rawValue = this.value, this._clearInternalInvalid(), this._syncDisplayValue());
|
|
@@ -699,7 +718,7 @@ class M extends z {
|
|
|
699
718
|
p(this, "allow-wheel") && (!this._input || this.root.activeElement !== this._input || (e.preventDefault(), this._stepBy(e.deltaY < 0 ? 1 : -1, "wheel")));
|
|
700
719
|
}
|
|
701
720
|
_onClick(e) {
|
|
702
|
-
const i = e.composedPath().find((
|
|
721
|
+
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);
|
|
703
722
|
if (i) {
|
|
704
723
|
if (i.dataset.stepAction === "up" || i.getAttribute("slot") === "increment-trigger") {
|
|
705
724
|
e.preventDefault(), this._stepBy(1, "step");
|
|
@@ -714,7 +733,7 @@ class M extends z {
|
|
|
714
733
|
render() {
|
|
715
734
|
const e = this.getAttribute("label") || "", t = this.getAttribute("description") || "", i = this.getAttribute("data-error") || "";
|
|
716
735
|
this.setContent(`
|
|
717
|
-
<style>${
|
|
736
|
+
<style>${L}</style>
|
|
718
737
|
<div class="root">
|
|
719
738
|
<div class="meta">
|
|
720
739
|
<label class="label" id="${this._uid}-label">
|
|
@@ -752,8 +771,10 @@ class M extends z {
|
|
|
752
771
|
</div>
|
|
753
772
|
`), this._input = this.root.querySelector("input"), this._rawValue = this.value || this._rawValue, this._bindInput(), this._syncControlAttrs(), this._syncDerivedState(), this._syncDisplayValue(), this._syncAria();
|
|
754
773
|
}
|
|
755
|
-
}
|
|
756
|
-
|
|
774
|
+
};
|
|
775
|
+
y.formAssociated = !0;
|
|
776
|
+
let _ = y;
|
|
777
|
+
typeof customElements < "u" && !customElements.get("ui-number-field") && customElements.define("ui-number-field", _);
|
|
757
778
|
export {
|
|
758
|
-
|
|
779
|
+
_ as UINumberField
|
|
759
780
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const I=require("./ElementBase-
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const I=require("./ElementBase-CbUsP3D6.js"),y=1200,v=0,O="ease-out",L="decimal",A=0,S=.4,F=6,N=new Set(["linear","ease-in","ease-out","ease-in-out","spring","bounce","overshoot"]),$=new Set(["decimal","currency"]),R=new Set(["symbol","narrowSymbol","code","name"]),G=new Set(["standard","compact"]),U=new Set(["short","long"]),H=new Set(["auto","always","exceptZero","never"]),Q=new Set(["interpolate","odometer"]),q=new Set(["immediate","visible"]),B=new Set(["start","end","center"]),a={sm:{fontSize:"14px",letterSpacing:"-0.02em",lineHeight:"1"},md:{fontSize:"22px",letterSpacing:"-0.04em",lineHeight:"0.98"},lg:{fontSize:"36px",letterSpacing:"-0.05em",lineHeight:"0.94"},xl:{fontSize:"56px",letterSpacing:"-0.06em",lineHeight:"0.9"}},Y=["0","1","2","3","4","5","6","7","8","9"],j=`
|
|
2
2
|
:host {
|
|
3
3
|
--ui-number-ticker-color: var(--ui-color-text, var(--ui-text, #0f172a));
|
|
4
4
|
--ui-number-ticker-accent: var(--ui-color-primary, var(--ui-primary, #2563eb));
|
package/dist/odometer.cjs.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const M=require("./ElementBase-
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const M=require("./ElementBase-CbUsP3D6.js"),D=`
|
|
2
2
|
:host {
|
|
3
3
|
--ui-odometer-font-family: var(--ui-font-family-mono, var(--font-mono, ui-monospace, 'SF Mono', Menlo, Monaco, Consolas, monospace));
|
|
4
4
|
--ui-odometer-font-size: var(--font-size-4, 1.25rem);
|
package/dist/odometer.esm.js
CHANGED
package/dist/orbiter.cjs.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const B=require("./ElementBase-
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const B=require("./ElementBase-CbUsP3D6.js"),O="18s",V="0s",A="88px",P="44px",w="128px",E="28px",$="20px",C=-90,X=6,W=new Set(["none","sm","md","lg","full"]),j=new Set(["clockwise","counterclockwise","alternate"]),Z=new Set(["calm","smooth","snappy","bouncy"]),_={xs:{orbitRadius:"54px",itemSize:"30px",centerSize:"80px",ringGap:"16px",padding:"12px",panelRadius:"22px"},sm:{orbitRadius:"68px",itemSize:"36px",centerSize:"96px",ringGap:"20px",padding:"14px",panelRadius:"24px"},md:{orbitRadius:A,itemSize:P,centerSize:w,ringGap:E,padding:$,panelRadius:"28px"},lg:{orbitRadius:"108px",itemSize:"52px",centerSize:"148px",ringGap:"32px",padding:"24px",panelRadius:"32px"},xl:{orbitRadius:"132px",itemSize:"64px",centerSize:"172px",ringGap:"38px",padding:"28px",panelRadius:"36px"}},M={calm:{durationScale:1.28,accentOpacity:.12},smooth:{durationScale:1,accentOpacity:.16},snappy:{durationScale:.82,accentOpacity:.18},bouncy:{durationScale:.92,accentOpacity:.22}},Q=`
|
|
2
2
|
:host {
|
|
3
3
|
--ui-orbiter-duration: ${O};
|
|
4
4
|
--ui-orbiter-delay: ${V};
|
package/dist/orbiter.esm.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { E as U } from "./ElementBase-
|
|
1
|
+
import { E as U } from "./ElementBase-D5QsC5Vw.mjs";
|
|
2
2
|
const O = "18s", V = "0s", A = "88px", P = "44px", w = "128px", E = "28px", $ = "20px", C = -90, X = 6, B = /* @__PURE__ */ new Set(["none", "sm", "md", "lg", "full"]), W = /* @__PURE__ */ new Set(["clockwise", "counterclockwise", "alternate"]), j = /* @__PURE__ */ new Set(["calm", "smooth", "snappy", "bouncy"]), _ = {
|
|
3
3
|
xs: {
|
|
4
4
|
orbitRadius: "54px",
|