@nordhealth/components 5.0.0-alpha.0 → 5.0.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/custom-elements.json +20657 -19988
- package/lib/Accordion.js.map +1 -1
- package/lib/AccordionHeader.js.map +1 -1
- package/lib/AccordionItem.js.map +1 -1
- package/lib/AccordionPanel.js.map +1 -1
- package/lib/AccordionTrigger.js +1 -1
- package/lib/AccordionTrigger.js.map +1 -1
- package/lib/Aside.js.map +1 -1
- package/lib/AsideDrawer.js.map +1 -1
- package/lib/Autocomplete.js +1 -1
- package/lib/Autocomplete.js.map +1 -1
- package/lib/Avatar.js.map +1 -1
- package/lib/Calendar-D47b20IT.js +2 -0
- package/lib/Calendar-D47b20IT.js.map +1 -0
- package/lib/Calendar.js +1 -1
- package/lib/Card.js.map +1 -1
- package/lib/Collapsible.js.map +1 -1
- package/lib/CollapsiblePanel.js.map +1 -1
- package/lib/CollapsibleTrigger.js.map +1 -1
- package/lib/Combobox-DBxXlbY7.js +2 -0
- package/lib/Combobox-DBxXlbY7.js.map +1 -0
- package/lib/Combobox.js +1 -1
- package/lib/Combobox.js.map +1 -1
- package/lib/ComboboxBase.js +1 -1
- package/lib/ComboboxBase.js.map +1 -1
- package/lib/CommandMenu.js +1 -1
- package/lib/CommandMenu.js.map +1 -1
- package/lib/DatePicker.js +1 -1
- package/lib/DatePicker.js.map +1 -1
- package/lib/DateRangePicker.js +1 -1
- package/lib/DateRangePicker.js.map +1 -1
- package/lib/Divider.js.map +1 -1
- package/lib/Drawer.js.map +1 -1
- package/lib/Dropdown.js +1 -1
- package/lib/Dropdown.js.map +1 -1
- package/lib/DropdownSubmenu.js +1 -1
- package/lib/DropdownSubmenu.js.map +1 -1
- package/lib/FilterAddButton.js +1 -1
- package/lib/FilterAddButton.js.map +1 -1
- package/lib/FilterDateRange.js +1 -1
- package/lib/FilterDateRange.js.map +1 -1
- package/lib/FilterDropdown.js +1 -1
- package/lib/FilterDropdown.js.map +1 -1
- package/lib/FilterField.js +1 -1
- package/lib/FilterField.js.map +1 -1
- package/lib/FilterInput.js +1 -1
- package/lib/FilterInput.js.map +1 -1
- package/lib/FilterResetButton.js +1 -1
- package/lib/FilterResetButton.js.map +1 -1
- package/lib/Footer.js.map +1 -1
- package/lib/Header.js.map +1 -1
- package/lib/Icon.js.map +1 -1
- package/lib/Kbd.js.map +1 -1
- package/lib/KbdGroup.js.map +1 -1
- package/lib/KeyboardController.js +1 -1
- package/lib/KeyboardController.js.map +1 -1
- package/lib/Layout.js +1 -1
- package/lib/Layout.js.map +1 -1
- package/lib/{LightDismissController-4pH8cdko.js → LightDismissController-wcL1ziJa.js} +2 -2
- package/lib/{LightDismissController-4pH8cdko.js.map → LightDismissController-wcL1ziJa.js.map} +1 -1
- package/lib/LocalizeController.js +1 -1
- package/lib/LocalizeController.js.map +1 -1
- package/lib/Message.js +1 -1
- package/lib/Message.js.map +1 -1
- package/lib/Meter.js +1 -1
- package/lib/Meter.js.map +1 -1
- package/lib/Modal.js +1 -1
- package/lib/Modal.js.map +1 -1
- package/lib/ModalController.js +1 -1
- package/lib/ModalController.js.map +1 -1
- package/lib/NavItem.js +1 -1
- package/lib/NavItem.js.map +1 -1
- package/lib/NavToggle.js +1 -1
- package/lib/Notification.js +1 -1
- package/lib/Notification.js.map +1 -1
- package/lib/NumberField.js +1 -1
- package/lib/NumberField.js.map +1 -1
- package/lib/OtpField.js +1 -1
- package/lib/OtpField.js.map +1 -1
- package/lib/Outline.js +2 -0
- package/lib/Outline.js.map +1 -0
- package/lib/OutlineItem.js +2 -0
- package/lib/OutlineItem.js.map +1 -0
- package/lib/Pagination.js +1 -1
- package/lib/Pagination.js.map +1 -1
- package/lib/{Popout-DpN7PP9h.js → Popout-CFtFoCaA.js} +2 -2
- package/lib/{Popout-DpN7PP9h.js.map → Popout-CFtFoCaA.js.map} +1 -1
- package/lib/Popout.js +1 -1
- package/lib/Qrcode.js.map +1 -1
- package/lib/ScrollArea.js.map +1 -1
- package/lib/ShortcutController-CV5b0BZl.js +2 -0
- package/lib/ShortcutController-CV5b0BZl.js.map +1 -0
- package/lib/Stack.js.map +1 -1
- package/lib/Tag.js +1 -1
- package/lib/Tag.js.map +1 -1
- package/lib/TagGroup.js.map +1 -1
- package/lib/Textarea.js +1 -1
- package/lib/Textarea.js.map +1 -1
- package/lib/TimePicker.js +1 -1
- package/lib/TimePicker.js.map +1 -1
- package/lib/TopBar.js.map +1 -1
- package/lib/Truncate.js.map +1 -1
- package/lib/VisuallyHidden.js.map +1 -1
- package/lib/bundle.js +13 -13
- package/lib/bundle.js.map +1 -1
- package/lib/en-us.js +1 -1
- package/lib/en-us.js.map +1 -1
- package/lib/fi-fi.js +1 -1
- package/lib/fi-fi.js.map +1 -1
- package/lib/index.js +1 -1
- package/lib/localization19.js +1 -1
- package/lib/localization19.js.map +1 -1
- package/lib/localization20.js +1 -1
- package/lib/localization20.js.map +1 -1
- package/lib/localization21.js +1 -1
- package/lib/localization21.js.map +1 -1
- package/lib/localization22.js +1 -1
- package/lib/localization22.js.map +1 -1
- package/lib/localization23.js +2 -0
- package/lib/localization23.js.map +1 -0
- package/lib/react.d.ts +15 -0
- package/lib/src/accordion/Accordion.d.ts +1 -1
- package/lib/src/accordion/AccordionHeader.d.ts +1 -1
- package/lib/src/accordion/AccordionItem.d.ts +1 -1
- package/lib/src/accordion/AccordionPanel.d.ts +1 -1
- package/lib/src/accordion/AccordionTrigger.d.ts +4 -3
- package/lib/src/aside/Aside.d.ts +1 -1
- package/lib/src/aside-drawer/AsideDrawer.d.ts +1 -1
- package/lib/src/autocomplete/Autocomplete.d.ts +4 -4
- package/lib/src/avatar/Avatar.d.ts +1 -1
- package/lib/src/calendar/Calendar.d.ts +1 -1
- package/lib/src/card/Card.d.ts +1 -1
- package/lib/src/collapsible/Collapsible.d.ts +1 -1
- package/lib/src/collapsible/CollapsiblePanel.d.ts +1 -1
- package/lib/src/collapsible/CollapsibleTrigger.d.ts +1 -1
- package/lib/src/combobox/ComboboxBase.d.ts +7 -7
- package/lib/src/common/controllers/ShortcutController.d.ts +5 -5
- package/lib/src/divider/Divider.d.ts +1 -1
- package/lib/src/drawer/Drawer.d.ts +1 -1
- package/lib/src/footer/Footer.d.ts +1 -1
- package/lib/src/header/Header.d.ts +1 -1
- package/lib/src/icon/Icon.d.ts +1 -1
- package/lib/src/index.d.ts +2 -0
- package/lib/src/kbd/Kbd.d.ts +1 -1
- package/lib/src/kbd/KbdGroup.d.ts +1 -1
- package/lib/src/layout/Layout.d.ts +1 -1
- package/lib/src/localization/en-us.d.ts +3 -0
- package/lib/src/localization/translation.d.ts +3 -0
- package/lib/src/otp-field/OtpField.d.ts +11 -0
- package/lib/src/outline/Outline.d.ts +111 -0
- package/lib/src/outline/OutlineItem.d.ts +42 -0
- package/lib/src/outline/localization.d.ts +4 -0
- package/lib/src/qrcode/Qrcode.d.ts +1 -1
- package/lib/src/scroll-area/ScrollArea.d.ts +1 -1
- package/lib/src/stack/Stack.d.ts +1 -1
- package/lib/src/tag/Tag.d.ts +1 -1
- package/lib/src/tag-group/TagGroup.d.ts +1 -1
- package/lib/src/top-bar/TopBar.d.ts +1 -1
- package/lib/src/truncate/Truncate.d.ts +1 -1
- package/lib/src/visually-hidden/VisuallyHidden.d.ts +1 -1
- package/lib/tinykeys-DwvDXsEb.js +2 -0
- package/lib/tinykeys-DwvDXsEb.js.map +1 -0
- package/lib/translation.js +1 -1
- package/lib/translation.js.map +1 -1
- package/lib/vue.d.ts +11 -0
- package/package.json +5 -5
- package/lib/Calendar-C1SxrlzN.js +0 -2
- package/lib/Calendar-C1SxrlzN.js.map +0 -1
- package/lib/Combobox-By4h1Sp-.js +0 -2
- package/lib/Combobox-By4h1Sp-.js.map +0 -1
- package/lib/ShortcutController-BIb3WGzH.js +0 -2
- package/lib/ShortcutController-BIb3WGzH.js.map +0 -1
- package/lib/tinykeys.module-_6MZt7MP.js +0 -2
- package/lib/tinykeys.module-_6MZt7MP.js.map +0 -1
package/lib/Notification.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{_ as i}from"./tslib.es6-CmLYFWVC.js";import{css as o,html as t,LitElement as n}from"lit";import{customElement as a}from"lit/decorators.js";import{classMap as s}from"lit/directives/class-map.js";import{ref as r}from"lit/directives/ref.js";import{N as e}from"./NotificationMixin-DOUQsx7N.js";import{s as l}from"./Component-BJ5O5n8k.js";import{LocalizeController as c}from"./LocalizeController.js";import"./Stack.js";import"./Icon.js";import"./events-Bv6wNHwJ.js";import"./translation.js";import"./en-us.js";import"./localization.js";import"./localization2.js";import"./localization3.js";import"./localization4.js";import"./localization5.js";import"./localization6.js";import"./localization7.js";import"./localization8.js";import"./localization9.js";import"./localization10.js";import"./localization11.js";import"./localization12.js";import"./localization13.js";import"./localization14.js";import"./localization15.js";import"./localization16.js";import"./localization17.js";import"./localization18.js";import"./localization19.js";import"./localization20.js";import"./localization21.js";import"./localization22.js";import"lit/directives/if-defined.js";import"lit/directives/unsafe-html.js";import"./observe-D0n0zOfU.js";import"./cond-CI1KbneT.js";import"./IconManager.js";const m=o`:host{--_n-notification-focus-ring:0 0 0 2px var(--n-color-accent);--_n-notification-dismiss-size:calc(var(--n-space-m)*2)}.n-notification{animation:n-enter var(--n-transition-slowly) forwards 1;background:var(--n-color-surface-raised);border-radius:var(--n-border-radius);box-shadow:var(--n-box-shadow-nav);color:var(--n-color-text-weaker);padding-block-end:var(--n-space-l);padding-block-start:calc(var(--n-space-l)/1.2);padding-inline-end:var(--n-space-m);padding-inline-start:calc(var(--n-space-l)/1.2);position:relative}.n-notification-body{flex:1;padding-inline-end:var(--_n-notification-dismiss-size)}.n-dismissed{animation-name:n-exit}@keyframes n-enter{0%{opacity:0;transform:translateY(10%)}}@keyframes n-exit{to{opacity:0;transform:scale(.97)}}.n-dismiss{align-items:center;background-color:initial;block-size:var(--_n-notification-dismiss-size);border:none;border-radius:var(--n-border-radius-s);color:var(--n-color-icon);cursor:pointer;display:flex;inline-size:var(--_n-notification-dismiss-size);inset-block-start:14px;inset-inline-end:var(--n-space-m);justify-content:center;position:absolute;transition:opacity var(--n-transition-slowly),color var(--n-transition-slowly)}.n-dismiss:hover{background:#0000000a;color:var(--n-color-text)}.n-dismiss:active{opacity:.8;transform:translateY(1px)}.n-dismiss:focus{box-shadow:var(--_n-notification-focus-ring);outline:none}@supports selector(:focus-visible){.n-dismiss:focus{box-shadow:none}.n-dismiss:focus-visible{box-shadow:var(--_n-notification-focus-ring)}}::slotted(nord-icon),slot nord-icon{color:var(--n-color-text-link)!important;transform:translateY(3px) translateX(1px)!important}::slotted(:is(h1,h2,h3,h4,h5,h6)){color:var(--n-color-text)!important;font-size:var(--n-font-size-m)!important;font-style:normal!important;font-weight:var(--n-font-weight-active)!important;line-height:var(--n-line-height)!important;margin:0 0 var(--n-space-s)!important}::slotted(p){color:var(--n-color-text-weaker)!important;font-size:var(--n-font-size-m)!important;font-style:normal!important;font-weight:var(--n-font-weight)!important;line-height:var(--n-line-height)!important;margin:0!important}::slotted(a){color:var(--n-color-text-link)!important;display:block;font-style:normal!important;font-weight:var(--n-font-weight)!important;margin:var(--n-space-s) 0 0!important;text-decoration:none!important}::slotted(a:hover){text-decoration:underline!important}`;let p=class extends(e(n)){constructor(){super(...arguments),this.localize=new c(this)}render(){return t`<div ${r(this.notificationRef)} class="${s({"n-notification":!0,"n-dismissed":this.dismissed})}"><button class="n-dismiss" @click="${this.dismiss}"><nord-icon name="interface-close-small" size="xs" label="${this.localize.term("dismissLabel")}"></nord-icon></button><nord-stack align-items="stretch" direction="horizontal"><slot name="icon"><nord-icon name="navigation-notifications"></nord-icon></slot><div class="n-notification-body"><slot></slot></div></nord-stack></div>`}};p.styles=[l,m],p=i([a("nord-notification")],p);var d=p;export{d as default};
|
|
1
|
+
import{_ as i}from"./tslib.es6-CmLYFWVC.js";import{css as o,html as t,LitElement as n}from"lit";import{customElement as a}from"lit/decorators.js";import{classMap as s}from"lit/directives/class-map.js";import{ref as r}from"lit/directives/ref.js";import{N as e}from"./NotificationMixin-DOUQsx7N.js";import{s as l}from"./Component-BJ5O5n8k.js";import{LocalizeController as c}from"./LocalizeController.js";import"./Stack.js";import"./Icon.js";import"./events-Bv6wNHwJ.js";import"./translation.js";import"./en-us.js";import"./localization.js";import"./localization2.js";import"./localization3.js";import"./localization4.js";import"./localization5.js";import"./localization6.js";import"./localization7.js";import"./localization8.js";import"./localization9.js";import"./localization10.js";import"./localization11.js";import"./localization12.js";import"./localization13.js";import"./localization14.js";import"./localization15.js";import"./localization16.js";import"./localization17.js";import"./localization18.js";import"./localization19.js";import"./localization20.js";import"./localization21.js";import"./localization22.js";import"./localization23.js";import"lit/directives/if-defined.js";import"lit/directives/unsafe-html.js";import"./observe-D0n0zOfU.js";import"./cond-CI1KbneT.js";import"./IconManager.js";const m=o`:host{--_n-notification-focus-ring:0 0 0 2px var(--n-color-accent);--_n-notification-dismiss-size:calc(var(--n-space-m)*2)}.n-notification{animation:n-enter var(--n-transition-slowly) forwards 1;background:var(--n-color-surface-raised);border-radius:var(--n-border-radius);box-shadow:var(--n-box-shadow-nav);color:var(--n-color-text-weaker);padding-block-end:var(--n-space-l);padding-block-start:calc(var(--n-space-l)/1.2);padding-inline-end:var(--n-space-m);padding-inline-start:calc(var(--n-space-l)/1.2);position:relative}.n-notification-body{flex:1;padding-inline-end:var(--_n-notification-dismiss-size)}.n-dismissed{animation-name:n-exit}@keyframes n-enter{0%{opacity:0;transform:translateY(10%)}}@keyframes n-exit{to{opacity:0;transform:scale(.97)}}.n-dismiss{align-items:center;background-color:initial;block-size:var(--_n-notification-dismiss-size);border:none;border-radius:var(--n-border-radius-s);color:var(--n-color-icon);cursor:pointer;display:flex;inline-size:var(--_n-notification-dismiss-size);inset-block-start:14px;inset-inline-end:var(--n-space-m);justify-content:center;position:absolute;transition:opacity var(--n-transition-slowly),color var(--n-transition-slowly)}.n-dismiss:hover{background:#0000000a;color:var(--n-color-text)}.n-dismiss:active{opacity:.8;transform:translateY(1px)}.n-dismiss:focus{box-shadow:var(--_n-notification-focus-ring);outline:none}@supports selector(:focus-visible){.n-dismiss:focus{box-shadow:none}.n-dismiss:focus-visible{box-shadow:var(--_n-notification-focus-ring)}}::slotted(nord-icon),slot nord-icon{color:var(--n-color-text-link)!important;transform:translateY(3px) translateX(1px)!important}::slotted(:is(h1,h2,h3,h4,h5,h6)){color:var(--n-color-text)!important;font-size:var(--n-font-size-m)!important;font-style:normal!important;font-weight:var(--n-font-weight-active)!important;line-height:var(--n-line-height)!important;margin:0 0 var(--n-space-s)!important}::slotted(p){color:var(--n-color-text-weaker)!important;font-size:var(--n-font-size-m)!important;font-style:normal!important;font-weight:var(--n-font-weight)!important;line-height:var(--n-line-height)!important;margin:0!important}::slotted(a){color:var(--n-color-text-link)!important;display:block;font-style:normal!important;font-weight:var(--n-font-weight)!important;margin:var(--n-space-s) 0 0!important;text-decoration:none!important}::slotted(a:hover){text-decoration:underline!important}`;let p=class extends(e(n)){constructor(){super(...arguments),this.localize=new c(this)}render(){return t`<div ${r(this.notificationRef)} class="${s({"n-notification":!0,"n-dismissed":this.dismissed})}"><button class="n-dismiss" @click="${this.dismiss}"><nord-icon name="interface-close-small" size="xs" label="${this.localize.term("dismissLabel")}"></nord-icon></button><nord-stack align-items="stretch" direction="horizontal"><slot name="icon"><nord-icon name="navigation-notifications"></nord-icon></slot><div class="n-notification-body"><slot></slot></div></nord-stack></div>`}};p.styles=[l,m],p=i([a("nord-notification")],p);var d=p;export{d as default};
|
|
2
2
|
//# sourceMappingURL=Notification.js.map
|
package/lib/Notification.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Notification.js","sources":["../src/notification/Notification.ts"],"sourcesContent":["import { html, LitElement } from 'lit'\nimport { customElement } from 'lit/decorators.js'\nimport { classMap } from 'lit/directives/class-map.js'\nimport { ref } from 'lit/directives/ref.js'\n\nimport { NotificationMixin } from '../common/mixins/NotificationMixin.js'\nimport componentStyle from '../common/styles/Component.css'\nimport { LocalizeController } from '../localization/LocalizeController.js'\nimport style from './Notification.css'\nimport '../stack/Stack.js'\nimport '../icon/Icon.js'\n\n/**\n * Notifications provide important information that requires action or acknowledgement.\n * A notification is displayed until the user dismisses it.\n *\n * @status ready\n * @category feedback\n * @slot - Default slot used for the notification text/message.\n * @slot icon - Slot used for the notification icon.\n * @fires dismiss - Fired when the notification is dismissed, and its exit animation has completed. This event should be used to remove the dismissed notification from the DOM.\n * @localization dismissLabel - Accessible label for the dismiss button.\n */\n@customElement('nord-notification')\nexport default class Notification extends NotificationMixin(LitElement) {\n static styles = [componentStyle, style]\n\n private localize = new LocalizeController<'nord-notification'>(this)\n\n render() {\n return html`\n <div ${ref(this.notificationRef)} class=${classMap({ 'n-notification': true, 'n-dismissed': this.dismissed })}>\n <button class=\"n-dismiss\" @click=${this.dismiss}>\n <nord-icon name=\"interface-close-small\" size=\"xs\" label=${this.localize.term('dismissLabel')}></nord-icon>\n </button>\n\n <nord-stack align-items=\"stretch\" direction=\"horizontal\">\n <slot name=\"icon\">\n <nord-icon name=\"navigation-notifications\"></nord-icon>\n </slot>\n <div class=\"n-notification-body\">\n <slot></slot>\n </div>\n </nord-stack>\n </div>\n `\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nord-notification': Notification\n }\n}\n"],"names":["Notification","NotificationMixin","LitElement","constructor","this","localize","LocalizeController","render","html","ref","notificationRef","classMap","dismissed","dismiss","term","styles","componentStyle","style","__decorate","customElement"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Notification.js","sources":["../src/notification/Notification.ts"],"sourcesContent":["import { html, LitElement } from 'lit'\nimport { customElement } from 'lit/decorators.js'\nimport { classMap } from 'lit/directives/class-map.js'\nimport { ref } from 'lit/directives/ref.js'\n\nimport { NotificationMixin } from '../common/mixins/NotificationMixin.js'\nimport componentStyle from '../common/styles/Component.css'\nimport { LocalizeController } from '../localization/LocalizeController.js'\nimport style from './Notification.css'\nimport '../stack/Stack.js'\nimport '../icon/Icon.js'\n\n/**\n * Notifications provide important information that requires action or acknowledgement.\n * A notification is displayed until the user dismisses it.\n *\n * @status ready\n * @category feedback\n * @slot - Default slot used for the notification text/message.\n * @slot icon - Slot used for the notification icon.\n * @fires dismiss - Fired when the notification is dismissed, and its exit animation has completed. This event should be used to remove the dismissed notification from the DOM.\n * @localization dismissLabel - Accessible label for the dismiss button.\n */\n@customElement('nord-notification')\nexport default class Notification extends NotificationMixin(LitElement) {\n static styles = [componentStyle, style]\n\n private localize = new LocalizeController<'nord-notification'>(this)\n\n render() {\n return html`\n <div ${ref(this.notificationRef)} class=${classMap({ 'n-notification': true, 'n-dismissed': this.dismissed })}>\n <button class=\"n-dismiss\" @click=${this.dismiss}>\n <nord-icon name=\"interface-close-small\" size=\"xs\" label=${this.localize.term('dismissLabel')}></nord-icon>\n </button>\n\n <nord-stack align-items=\"stretch\" direction=\"horizontal\">\n <slot name=\"icon\">\n <nord-icon name=\"navigation-notifications\"></nord-icon>\n </slot>\n <div class=\"n-notification-body\">\n <slot></slot>\n </div>\n </nord-stack>\n </div>\n `\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nord-notification': Notification\n }\n}\n"],"names":["Notification","NotificationMixin","LitElement","constructor","this","localize","LocalizeController","render","html","ref","notificationRef","classMap","dismissed","dismiss","term","styles","componentStyle","style","__decorate","customElement"],"mappings":"+oHAwBe,IAAMA,EAAN,cAA2BC,EAAkBC,IAA7C,WAAAC,uBAGLC,KAAAC,SAAW,IAAIC,EAAwCF,KAoBhE,CAlBC,MAAAG,GACE,OAAOC,CAAI,QACFC,EAAIL,KAAKM,2BAA0BC,EAAS,CAAE,kBAAkB,EAAM,cAAeP,KAAKQ,kDAC5DR,KAAKS,qEACoBT,KAAKC,SAASS,KAAK,wPAapF,GArBMd,EAAAe,OAAS,CAACC,EAAgBC,GADdjB,EAAYkB,EAAA,CADhCC,EAAc,sBACMnB,SAAAA"}
|
package/lib/NumberField.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{_ as e}from"./tslib.es6-CmLYFWVC.js";import{a as t}from"./interface-add-small-B-hv2v9J.js";import{r as i}from"./interface-remove-small-DUaWSs90.js";import{css as n,isServer as r,html as o,nothing as s,LitElement as l}from"lit";import{query as a,property as d,state as u,customElement as c}from"lit/decorators.js";import{classMap as h}from"lit/directives/class-map.js";import{createRef as p,ref as m}from"lit/directives/ref.js";import{F as b}from"./FormDataController-OUt5L5uC.js";import{S as f}from"./StateAttributesController-BIh96sXZ.js";import{N as v}from"./events-Bv6wNHwJ.js";import{i as y}from"./light-dom-styles-DXsbiKU9.js";import{D as g}from"./DraftComponentMixin-4qug5Rky.js";import{F as S}from"./FieldControlMixin-BXNZJXu9.js";import{S as k}from"./SizeMixin-CU9cLbLC.js";import w from"./Icon.js";import{LocalizeController as x}from"./LocalizeController.js";import{resolveCurrencyPlacement as z,getCurrencySymbol as D}from"./currency.js";import{formatNumber as j}from"./format.js";import{NumberFieldChangeEvent as I}from"./NumberFieldEvents.js";import{getNumberLocaleDetails as $,BASE_NON_NUMERIC_SYMBOLS as T,SPACE_SEPARATOR_RE as _,PERCENTAGES as A,PERMILLE as V,PLUS_SIGNS_WITH_ASCII as P,MINUS_SIGNS_WITH_ASCII as N,ARABIC_DETECT_RE as E,PERSIAN_DETECT_RE as C,HAN_DETECT_RE as W,FULLWIDTH_DETECT_RE as L,ANY_MINUS_DETECT_RE as M,ANY_PLUS_DETECT_RE as O,parseNumber as R}from"./parse.js";import{clamp as F,toValidatedNumber as q,hasNumberFormatRoundingOptions as B,removeFloatingPointErrors as U}from"./validate.js";import"./context-consumer-BJVUulGf.js";import"./context-request-event-CCRlXoeR.js";import"./field-context.js";import"./create-context-CJ69ntlY.js";import"./SlotController-Z6eG7LSZ.js";import"./EventController-BBOmvfLa.js";import"./VisuallyHidden.js";import"lit/directives/if-defined.js";import"lit/directives/unsafe-html.js";import"./observe-D0n0zOfU.js";import"./cond-CI1KbneT.js";import"./Component-BJ5O5n8k.js";import"./IconManager.js";import"./translation.js";import"./en-us.js";import"./localization.js";import"./localization2.js";import"./localization3.js";import"./localization4.js";import"./localization5.js";import"./localization6.js";import"./localization7.js";import"./localization8.js";import"./localization9.js";import"./localization10.js";import"./localization11.js";import"./localization12.js";import"./localization13.js";import"./localization14.js";import"./localization15.js";import"./localization16.js";import"./localization17.js";import"./localization18.js";import"./localization19.js";import"./localization20.js";import"./localization21.js";import"./localization22.js";const K=n`nord-number-field,nord-number-field *,nord-number-field :after,nord-number-field :before{box-sizing:border-box}nord-number-field{--n-number-field-control-min-inline-size:8ch;--n-number-field-background:var(--n-input-background,var(--n-color-surface));--n-number-field-border-color:var(--n-input-border-color,var(--n-color-border-strong));--n-number-field-border-radius:var(--n-input-border-radius,var(--n-border-radius-s));--_n-number-field-block-size:var(--n-number-field-block-size,var(--n-space-xl));--_n-number-field-border-color:var(--n-number-field-border-color);--_n-number-field-min-content-block-size:calc(var(--n-line-height-form) + var(--n-space-s)/1.6*2 + 2px);--_n-number-field-padding-block:calc(var(--_n-number-field-block-size)/2 - var(--n-line-height-form)/2 - 1px);--_n-number-field-padding-inline:calc(var(--n-space-s)*1.6);--_n-number-field-font-size:var(--n-font-size-m);--_n-number-field-step-inline-size:var(--n-number-field-step-inline-size,var(--_n-number-field-block-size));display:block}nord-number-field .n-number-field{inline-size:100%}nord-number-field .n-number-field-root{display:contents}nord-number-field .n-scrub{align-items:center;color:var(--n-color-icon);cursor:ew-resize;display:inline-flex;margin-block-end:var(--n-space-xs);touch-action:none;user-select:none}nord-number-field .n-scrub-grip{block-size:var(--n-size-icon-s);display:block;inline-size:auto}nord-number-field.is-scrubbing,nord-number-field.is-scrubbing .n-input,nord-number-field.is-scrubbing .n-scrub{cursor:ew-resize}nord-number-field .n-control{align-items:stretch;background:var(--n-number-field-background);border:1px solid var(--_n-number-field-border-color);border-radius:var(--n-number-field-border-radius);display:flex;inline-size:100%;min-block-size:var(--_n-number-field-block-size);transition:border var(--n-transition-quickly),box-shadow var(--n-transition-quickly),background var(--n-transition-quickly)}nord-number-field .n-control:hover{--_n-number-field-border-color:var(--n-input-border-color,var(--n-color-border-hover))}nord-number-field .n-control:focus-within{--_n-number-field-border-color:var(--n-input-border-color,var(--n-color-accent));box-shadow:0 0 0 1px var(--_n-number-field-border-color)}nord-number-field[disabled] .n-control{--n-number-field-background:var(--n-input-background-inactive,var(--n-color-active));--_n-number-field-border-color:var(--n-input-border-color,var(--n-color-active));cursor:auto}nord-number-field .n-control.is-invalid{--_n-number-field-border-color:var(--n-color-border-danger)}nord-number-field .n-control.is-invalid:focus-within{--_n-number-field-border-color:var(--n-color-status-danger)}nord-number-field .n-input{appearance:none;background:#0000;border:none;color:var(--n-color-text);flex:1;font-family:var(--n-font-family);font-feature-settings:var(--n-font-features);font-size:var(--_n-number-field-font-size);font-variant-numeric:tabular-nums;line-height:var(--n-line-height-form);margin:0;min-inline-size:var(--n-number-field-control-min-inline-size);outline:none;padding-block-end:var(--_n-number-field-padding-block);padding-block-start:var(--_n-number-field-padding-block);padding-inline-end:var(--_n-number-field-padding-inline);padding-inline-start:var(--_n-number-field-padding-inline);text-align:start}nord-number-field .n-control input.n-input:focus,nord-number-field .n-control input.n-input:focus-visible,nord-number-field .n-control input.n-input:focus-within{background:#0000;border:none;box-shadow:none;outline:none}nord-number-field .n-input::placeholder{color:var(--n-color-text-weakest);opacity:1}nord-number-field[disabled] .n-input{color:var(--n-color-text-weakest)}nord-number-field .n-number-field-slot{align-items:center;color:var(--n-color-text-weaker);display:inline-flex;flex:0 0 auto;font-family:var(--n-font-family);font-size:var(--_n-number-field-font-size);gap:var(--n-space-xs);line-height:var(--n-line-height-form);white-space:nowrap}nord-number-field .n-number-field-slot:empty{display:none}nord-number-field .n-number-field-slot-start{padding-inline-start:var(--_n-number-field-padding-inline)}nord-number-field .n-number-field-slot-end{padding-inline-end:var(--_n-number-field-padding-inline)}nord-number-field .n-number-field-slot nord-icon{--_n-icon-size:var(--n-size-icon-s)}nord-number-field[disabled] .n-number-field-slot{color:var(--n-color-text-weakest)}nord-number-field .n-currency-symbol{color:var(--n-color-text-weaker);font-variant-numeric:tabular-nums;user-select:none}nord-number-field .n-step{align-items:center;appearance:none;background:#0000;border:none;color:var(--n-color-icon);cursor:pointer;display:flex;flex-shrink:0;inline-size:var(--_n-number-field-step-inline-size);justify-content:center;margin:0;padding:0;transition:color var(--n-transition-quickly),background var(--n-transition-quickly);user-select:none}nord-number-field .n-step:hover:not([disabled]){background:var(--n-color-button-hover);color:var(--n-color-text)}nord-number-field .n-step:active:not([disabled]){background:var(--n-color-active)}nord-number-field .n-step[disabled]{color:var(--n-color-text-weakest);cursor:auto}nord-number-field .n-decrement{border-inline-end:1px solid var(--_n-number-field-border-color)}nord-number-field .n-increment{border-inline-start:1px solid var(--_n-number-field-border-color)}nord-number-field .n-step nord-icon{--_n-icon-size:var(--n-size-icon-s)}nord-number-field[size=s]{--_n-number-field-block-size:var(--n-number-field-block-size,calc(var(--n-space-l) + var(--n-space-xs)));--_n-number-field-padding-block:calc(var(--_n-number-field-block-size)/2 - var(--n-line-height-form)/2 - 1px);--_n-number-field-padding-inline:var(--n-space-s);--_n-number-field-font-size:var(--n-font-size-s);--_n-number-field-step-inline-size:var(--n-number-field-step-inline-size,var(--_n-number-field-block-size))}nord-number-field[size=s] .n-step nord-icon{--_n-icon-size:var(--n-size-icon-xs)}nord-number-field[size=l]{--_n-number-field-block-size:max(var(--n-number-field-block-size,calc(var(--n-space-xxl) - var(--n-space-l))),var(--_n-number-field-min-content-block-size));--_n-number-field-padding-block:calc(var(--_n-number-field-block-size)/2 - var(--n-line-height-form)/2 - 1px);--_n-number-field-font-size:var(--n-font-size-l);--_n-number-field-step-inline-size:var(--n-number-field-step-inline-size,var(--_n-number-field-block-size))}nord-number-field[size=l] .n-step nord-icon{--_n-icon-size:var(--n-size-icon-m)}`;w.registerIcon(t),w.registerIcon(i);let H=1;function Z(e,t){return Number.isFinite(e)&&e>0?e:t}let G=class extends(g(k(S(l)))){constructor(){super(...arguments),this.numberFieldId="nord-number-field-"+H++,this.inputId=`${this.numberFieldId}-input`,this.localize=new x(this),this.inputRef=p(),this.formData=new b(this,{value:()=>null==this.value?void 0:String(this.value)}),this.stateAttributes=new f(this,(()=>({invalid:this.effectiveInvalid})),{trackFocus:!0}),this.formAncestor=null,this.value=null,this.step=1,this.largeStep=10,this.smallStep=.1,this.snapOnStep=!1,this.allowOutOfRange=!1,this.integer=!1,this.allowWheelScrub=!1,this.scrub=!1,this.disabled=!1,this.readonly=!1,this.invalid=!1,this.hideControls=!1,this.currencyPlacement="auto",this.inputText="",this.scrubbing=!1,this.allowInputSync=!0,this.hasTouchedInput=!1,this.skipNextClick=!1,this.scrubAccumulator=0,this.scrubMoved=!1,this.scrubPointerDownTarget=null,this.onScrubMove=e=>this.handleScrubMove(e),this.onScrubUp=e=>this.handleScrubUp(e),this.onWheel=e=>this.handleWheel(e),this.wheelAttached=!1}get ownInvalid(){return this.invalid||super.ownInvalid}set form(e){const t=this._formId;this._formId=e,this.requestUpdate("form",t)}get form(){if(this._formId){return this.getRootNode().querySelector(`form#${this._formId}`)}return this.formAncestor}get minWithDefault(){var e;return null!==(e=this.min)&&void 0!==e?e:Number.MIN_SAFE_INTEGER}get maxWithDefault(){var e;return null!==(e=this.max)&&void 0!==e?e:Number.MAX_SAFE_INTEGER}get minWithZeroDefault(){var e;return null!==(e=this.min)&&void 0!==e?e:0}get allowsNegative(){return this.minWithDefault<0}get numericStep(){return"any"===this.step?1:Z(this.step,1)}get effectiveLargeStep(){return Z(this.largeStep,10)}get effectiveSmallStep(){return Z(this.smallStep,.1)}formatDisplay(e){return this.formatValue?this.formatValue(e,this.locale,this.format):j(e,this.locale,this.format)}connectedCallback(){var e,t;super.connectedCallback(),y(this,K),this.formAncestor=this.closest("form"),null!==(e=this.ariaObserver)&&void 0!==e||(this.ariaObserver=new MutationObserver((()=>this.requestUpdate()))),this.ariaObserver.observe(this,{attributes:!0,attributeFilter:["aria-label","aria-labelledby","aria-describedby"]}),null!==(t=this.slotObserver)&&void 0!==t||(this.slotObserver=new MutationObserver((()=>this.requestUpdate()))),this.slotObserver.observe(this,{childList:!0}),this.allowInputSync&&(this.inputText=this.formatDisplay(this.value))}disconnectedCallback(){var e,t;super.disconnectedCallback(),null===(e=this.ariaObserver)||void 0===e||e.disconnect(),this.ariaObserver=void 0,null===(t=this.slotObserver)||void 0===t||t.disconnect(),this.slotObserver=void 0,this.formAncestor=null,this.stopHold(),this.detachWheel(),this.removeScrubListeners()}createRenderRoot(){if(r)return this;const e=document.createElement("div");return e.className="n-number-field-root",this.appendChild(e),e}relocateSlots(){if(r)return;const e=(e,t)=>{if(t)for(const i of Array.from(this.children))i.getAttribute("slot")===e&&i.parentElement!==t&&t.appendChild(i)};e("start",this.startZone),e("end",this.endZone)}willUpdate(e){if(e.has("value")&&this.allowInputSync&&!this.allowOutOfRange&&null!=this.value){const e=F(this.value,this.minWithDefault,this.maxWithDefault);e!==this.value&&(this.value=e)}e.has("value")&&this.integer&&null!=this.value&&!Number.isInteger(this.value)&&(this.value=Math.round(this.value)),this.allowInputSync&&(e.has("value")||e.has("format")||e.has("locale"))&&(this.inputText=this.formatDisplay(this.value))}updated(e){var t;super.updated(e),this.relocateSlots();const i=this.allowWheelScrub&&!this.disabled&&!this.readonly;if(i&&!this.wheelAttached?this.attachWheel():!i&&this.wheelAttached&&this.detachWheel(),this.pendingSelection){const[e,i]=this.pendingSelection;this.pendingSelection=void 0,null===(t=this.inputRef.value)||void 0===t||t.setSelectionRange(e,i)}}focus(e){var t;null===(t=this.inputRef.value)||void 0===t||t.focus(e)}isTextReason(e){return"input-change"===e||"input-blur"===e||"input-paste"===e||"input-clear"===e||"none"===e}getStepAmount(e){return(null==e?void 0:e.altKey)?this.effectiveSmallStep:(null==e?void 0:e.shiftKey)?this.effectiveLargeStep:this.numericStep}setValue(e,{reason:t,direction:i,event:n}){var r;const o=!this.allowOutOfRange||!this.isTextReason(t),s=q(e,{step:i?this.getStepAmount(n)*i:void 0,format:this.format,minWithDefault:this.minWithDefault,maxWithDefault:this.maxWithDefault,minWithZeroDefault:this.minWithZeroDefault,snapOnStep:this.snapOnStep,small:null!==(r=null==n?void 0:n.altKey)&&void 0!==r&&r,clamp:o}),l=this.isTextReason(t),a=s!==this.value||l&&(e!==this.value||!1===this.allowInputSync);return a&&(this.value=s,this.dispatchEvent(new v("input"))),this.allowInputSync&&(this.inputText=this.formatDisplay(s)),this.requestUpdate(),a}incrementValue(e,{direction:t,currentValue:i,event:n,reason:r}){var o;const s=i??this.value,l="number"==typeof s?s+e*t:Math.max(0,null!==(o=this.min)&&void 0!==o?o:0);return this.setValue(l,{reason:r,direction:t,event:n})}commit(e){this.dispatchEvent(new I(this.value,e))}getAllowedNonNumericKeys(){var e,t,i;const{decimal:n,group:r,currency:o,literal:s}=$(this.locale,this.format),l=new Set;T.forEach((e=>l.add(e))),n&&l.add(n),r&&(l.add(r),_.test(r)&&l.add(" "));const a=null===(e=this.format)||void 0===e?void 0:e.style,d="percent"===a||"unit"===a&&"percent"===(null===(t=this.format)||void 0===t?void 0:t.unit),u="percent"===a||"unit"===a&&"permille"===(null===(i=this.format)||void 0===i?void 0:i.unit);if(d&&A.forEach((e=>l.add(e))),u&&V.forEach((e=>l.add(e))),"currency"===a&&o&&l.add(o),s&&(Array.from(s).forEach((e=>l.add(e))),_.test(s)&&l.add(" ")),P.forEach((e=>l.add(e))),this.minWithDefault<0&&N.forEach((e=>l.add(e))),this.integer)for(const e of[n,".",".","٫"])e&&e!==r&&l.delete(e);return l}handleKeydown(e){if(e.defaultPrevented||this.readonly||this.disabled)return;this.allowInputSync=!0;if(!new Set(["ArrowUp","ArrowDown","PageUp","PageDown","Home","End"]).has(e.key)){if(this.mask)return;const t=this.getAllowedNonNumericKeys(),i=e.key>="0"&&e.key<="9",n=e.key.length>1;return void(229===e.which||e.ctrlKey||e.metaKey||e.altKey||i||n||t.has(e.key)||E.test(e.key)||C.test(e.key)||W.test(e.key)||L.test(e.key)||this.allowsNegative&&M.test(e.key)||O.test(e.key)||e.preventDefault())}const t=this.parseValue?this.parseValue(this.inputText,this.locale,this.format):R(this.inputText,this.locale,this.format);switch(e.key){case"ArrowUp":e.preventDefault(),this.incrementValue(this.getStepAmount(e),{direction:1,currentValue:t,event:e,reason:"keyboard"}),this.commit("keyboard");break;case"ArrowDown":e.preventDefault(),this.incrementValue(this.getStepAmount(e),{direction:-1,currentValue:t,event:e,reason:"keyboard"}),this.commit("keyboard");break;case"PageUp":e.preventDefault(),this.incrementValue(this.effectiveLargeStep,{direction:1,currentValue:t,reason:"keyboard"}),this.commit("keyboard");break;case"PageDown":e.preventDefault(),this.incrementValue(this.effectiveLargeStep,{direction:-1,currentValue:t,reason:"keyboard"}),this.commit("keyboard");break;case"Home":null!=this.min&&Number.isFinite(this.min)&&(e.preventDefault(),this.setValue(this.min,{reason:"keyboard"}),this.commit("keyboard"));break;case"End":null!=this.max&&Number.isFinite(this.max)&&(e.preventDefault(),this.setValue(this.max,{reason:"keyboard"}),this.commit("keyboard"))}}isValidCharacterString(e){const t=this.getAllowedNonNumericKeys();return Array.from(e).every((e=>e>="0"&&e<="9"||E.test(e)||W.test(e)||C.test(e)||L.test(e)||this.allowsNegative&&M.test(e)||t.has(e)))}handleInput(e){var t,i;e.stopPropagation(),this.allowInputSync=!1;const n=e.target;let r=n.value;const o=this.mask;if(o&&""!==r.trim()){const e=o({value:r,selectionStart:null!==(t=n.selectionStart)&&void 0!==t?t:r.length,selectionEnd:null!==(i=n.selectionEnd)&&void 0!==i?i:r.length},{locale:this.locale,format:this.format});r=e.value,this.pendingSelection=[e.selectionStart,e.selectionEnd]}if(""===r.trim())return this.inputText="",this.pendingSelection=void 0,void this.setValue(null,{reason:"input-clear"});if(!this.mask&&!this.isValidCharacterString(r))return;this.inputText=r;const s=this.parseValue?this.parseValue(r,this.locale,this.format):R(r,this.locale,this.format);null!==s&&this.setValue(s,{reason:"input-change"})}handlePaste(e){var t,i;if(e.defaultPrevented||this.readonly||this.disabled)return;if(this.mask)return;const n=null!==(i=null===(t=e.clipboardData)||void 0===t?void 0:t.getData("text/plain"))&&void 0!==i?i:"";e.preventDefault();const r=this.parseValue?this.parseValue(n,this.locale,this.format):R(n,this.locale,this.format);null!==r&&(this.allowInputSync=!0,this.setValue(r,{reason:"input-paste"}))}handleFocus(e){if(e.defaultPrevented||this.readonly||this.disabled)return;if(this.hasTouchedInput)return;this.hasTouchedInput=!0;const t=e.currentTarget,i=t.value.length;t.setSelectionRange(i,i)}handleBlur(e){if(e.defaultPrevented||this.readonly||this.disabled)return;if(this.allowInputSync=!0,""===this.inputText.trim())return this.setValue(null,{reason:"input-clear"}),void this.commit("input-clear");const t=this.parseValue?this.parseValue(this.inputText,this.locale,this.format):R(this.inputText,this.locale,this.format);if(null===t){const e=this.formatDisplay(this.value);return void(this.inputText!==e&&(this.inputText=e))}const i=B(this.format)?U(t,this.format):t;i!==this.value&&this.setValue(i,{reason:"input-blur"});const n=this.formatDisplay(this.value);this.inputText!==n&&(this.inputText=n),this.commit("input-blur")}commitDirtyInput(e,t){this.allowInputSync=!0;const i=this.parseValue?this.parseValue(this.inputText,this.locale,this.format):R(this.inputText,this.locale,this.format);null!==i&&this.setValue(i,{reason:e,direction:t})}handleStepPointerDown(e,t){var i;const n=!e.button||0===e.button;if(e.defaultPrevented||this.readonly||this.disabled||!n)return;const r=1===t?"increment-press":"decrement-press";this.skipNextClick=!0,this.activePointerId=e.pointerId,this.commitDirtyInput(r,t),"touch"!==e.pointerType&&"pen"!==e.pointerType&&(null===(i=this.inputRef.value)||void 0===i||i.focus()),this.allowInputSync=!0,this.incrementValue(this.getStepAmount(e),{direction:t,event:e,reason:r});const o=e.currentTarget;try{o.setPointerCapture(e.pointerId)}catch(e){}this.holdStartTimer=setTimeout((()=>{this.holdTickTimer=setInterval((()=>{this.allowInputSync=!0,this.incrementValue(this.getStepAmount(e),{direction:t,event:e,reason:r})}),60)}),400)}handleStepPointerStop(e,t){if(void 0!==this.activePointerId&&this.activePointerId!==e.pointerId)return;const i=null!=this.holdStartTimer||null!=this.holdTickTimer;this.stopHold(),this.activePointerId=void 0,(this.skipNextClick||i)&&this.commit(1===t?"increment-press":"decrement-press")}handleStepClick(e,t){const i=1===t?"increment-press":"decrement-press";if(e.defaultPrevented||this.readonly||this.disabled)return;if(this.skipNextClick)return void(this.skipNextClick=!1);this.commitDirtyInput(i,t),this.allowInputSync=!0;this.incrementValue(this.getStepAmount(e),{direction:t,event:e,reason:i})&&this.commit(i)}stopHold(){null!=this.holdStartTimer&&(clearTimeout(this.holdStartTimer),this.holdStartTimer=void 0),null!=this.holdTickTimer&&(clearInterval(this.holdTickTimer),this.holdTickTimer=void 0)}get incrementDisabled(){return this.disabled||this.readonly||null!=this.value&&this.value>=this.maxWithDefault}get decrementDisabled(){return this.disabled||this.readonly||null!=this.value&&this.value<=this.minWithDefault}attachWheel(){const e=this.inputRef.value;e&&(e.addEventListener("wheel",this.onWheel,{passive:!1}),this.wheelAttached=!0)}detachWheel(){const e=this.inputRef.value;null==e||e.removeEventListener("wheel",this.onWheel),this.wheelAttached=!1}handleWheel(e){if(e.ctrlKey||this.inputRef.value!==this.getActiveElement())return;e.preventDefault(),this.allowInputSync=!0;const t=this.getStepAmount(e);this.incrementValue(t,{direction:e.deltaY>0?-1:1,event:e,reason:"wheel"})}getActiveElement(){return this.getRootNode().activeElement}handleScrubPointerDown(e){var t;const i=!e.button||0===e.button;if(e.defaultPrevented||this.readonly||this.disabled||!i)return;"mouse"===e.pointerType&&(e.preventDefault(),null===(t=this.inputRef.value)||void 0===t||t.focus()),this.scrubbing=!0,this.scrubMoved=!1,this.scrubAccumulator=0,this.scrubPointerDownTarget=e.target;const n=this.ownerWindow();n.addEventListener("pointermove",this.onScrubMove,!0),n.addEventListener("pointerup",this.onScrubUp,!0)}handleScrubMove(e){if(this.scrubbing&&(e.preventDefault(),this.scrubAccumulator+=e.movementX,Math.abs(this.scrubAccumulator)>=2)){this.scrubAccumulator=0,this.scrubMoved=!0;const t=e.movementX,i=Math.abs(t*this.getStepAmount(e));0!==i&&(this.allowInputSync=!0,this.incrementValue(i,{direction:t>=0?1:-1,event:e,reason:"scrub"}))}}handleScrubUp(e){this.removeScrubListeners(),this.scrubbing=!1,this.commit("scrub"),!this.scrubMoved&&this.scrubPointerDownTarget&&this.scrubPointerDownTarget.dispatchEvent(new MouseEvent("click",{bubbles:!0,cancelable:!0})),this.scrubMoved=!1,this.scrubPointerDownTarget=null}removeScrubListeners(){const e=this.ownerWindow();e.removeEventListener("pointermove",this.onScrubMove,!0),e.removeEventListener("pointerup",this.onScrubUp,!0)}handleScrubTouchStart(e){this.disabled||this.readonly||1===e.touches.length&&e.preventDefault()}ownerWindow(){var e;return null!==(e=this.ownerDocument.defaultView)&&void 0!==e?e:window}get computedInputMode(){if(null!=this.min&&this.min<0)return"text";if(this.integer)return"numeric";const e="any"===this.step||Number.isInteger(this.numericStep),t=null==this.min||Number.isInteger(this.min)&&this.min>=0,i=null==this.max||Number.isInteger(this.max);return e&&t&&i?"numeric":"decimal"}get resolvedCurrencyPlacement(){return"start"===this.currencyPlacement||"end"===this.currencyPlacement?this.currencyPlacement:this.currency?z(this.locale,this.currency):"start"}render(){var e,t;const i=this.inputId,n=this.controlAriaLabel,r=this.controlAriaLabelledby,l=this.currency?D(this.locale,this.currency):void 0,a=this.currency?this.resolvedCurrencyPlacement:void 0,d=this.currency?`${i}-currency`:void 0,u=[this.controlAriaDescribedby,d].filter(Boolean).join(" ")||void 0,c=e=>null!=l&&a===e?o`<span id="${d}" class="n-currency-symbol" aria-hidden="true">${l}</span>`:s;return o`${this.renderLabel()}<div class="${h({"n-number-field":!0,"is-scrubbing":this.scrubbing})}">${this.scrub?o`<div class="n-scrub" role="presentation" aria-hidden="true" @pointerdown="${this.handleScrubPointerDown}" @touchstart="${this.handleScrubTouchStart}"><svg class="n-scrub-grip" width="24" height="14" viewBox="0 0 24 14" fill="currentColor" aria-hidden="true"><path d="M19.5 5.5L6.49737 5.51844V2L1 6.9999L6.5 12L6.49737 8.5L19.5 8.5V12L25 6.9999L19.5 2V5.5Z"></path></svg></div>`:s}<div class="${h({"n-control":!0,"is-invalid":this.effectiveInvalid})}">${this.hideControls?s:o`<button class="${h({"n-step":!0,"n-decrement":!0})}" type="button" tabindex="-1" aria-label="${this.localize.term("decreaseLabel")}" aria-controls="${i}" aria-readonly="${this.readonly?"true":s}" ?disabled="${this.decrementDisabled}" @pointerdown="${e=>this.handleStepPointerDown(e,-1)}" @pointerup="${e=>this.handleStepPointerStop(e,-1)}" @pointerleave="${e=>this.handleStepPointerStop(e,-1)}" @pointercancel="${e=>this.handleStepPointerStop(e,-1)}" @click="${e=>this.handleStepClick(e,-1)}"><nord-icon name="interface-remove-small"></nord-icon></button>`} <span class="n-number-field-slot n-number-field-slot-start">${c("start")}</span> <input ${m(this.inputRef)} class="n-input" type="text" id="${i}" inputmode="${this.computedInputMode}" .value="${this.inputText}" placeholder="${null!==(e=this.placeholder)&&void 0!==e?e:s}" ?disabled="${this.effectiveDisabled}" ?readonly="${this.readonly}" ?required="${this.required}" autocomplete="off" autocorrect="off" spellcheck="false" aria-roledescription="${this.localize.term("roleDescription")}" aria-label="${null!=n?n:s}" aria-labelledby="${null!=r?r:s}" aria-describedby="${null!=u?u:s}" aria-invalid="${null!==(t=this.controlAriaInvalid)&&void 0!==t?t:s}" aria-required="${this.required?"true":s}" aria-readonly="${this.readonly?"true":s}" @input="${this.handleInput}" @blur="${this.handleBlur}" @focus="${this.handleFocus}" @keydown="${this.handleKeydown}" @paste="${this.handlePaste}"> <span class="n-number-field-slot n-number-field-slot-end">${c("end")}</span> ${this.hideControls?s:o`<button class="${h({"n-step":!0,"n-increment":!0})}" type="button" tabindex="-1" aria-label="${this.localize.term("increaseLabel")}" aria-controls="${i}" aria-readonly="${this.readonly?"true":s}" ?disabled="${this.incrementDisabled}" @pointerdown="${e=>this.handleStepPointerDown(e,1)}" @pointerup="${e=>this.handleStepPointerStop(e,1)}" @pointerleave="${e=>this.handleStepPointerStop(e,1)}" @pointercancel="${e=>this.handleStepPointerStop(e,1)}" @click="${e=>this.handleStepClick(e,1)}"><nord-icon name="interface-add-small"></nord-icon></button>`}</div></div>${this.renderError()} ${this.isHintBelow?this.renderHint():s}`}};e([a(".n-number-field-slot-start")],G.prototype,"startZone",void 0),e([a(".n-number-field-slot-end")],G.prototype,"endZone",void 0),e([d({converter:function(e){if(null==e||""===e.trim())return null;const t=Number(e);return Number.isNaN(t)?null:t}})],G.prototype,"value",void 0),e([d({reflect:!0,type:Number})],G.prototype,"min",void 0),e([d({reflect:!0,type:Number})],G.prototype,"max",void 0),e([d({reflect:!0,converter:function(e){return null==e?1:"any"===e?"any":Z(Number(e),1)}})],G.prototype,"step",void 0),e([d({reflect:!0,type:Number,attribute:"large-step"})],G.prototype,"largeStep",void 0),e([d({reflect:!0,type:Number,attribute:"small-step"})],G.prototype,"smallStep",void 0),e([d({reflect:!0,type:Boolean,attribute:"snap-on-step"})],G.prototype,"snapOnStep",void 0),e([d({reflect:!0,type:Boolean,attribute:"allow-out-of-range"})],G.prototype,"allowOutOfRange",void 0),e([d({reflect:!0,type:Boolean})],G.prototype,"integer",void 0),e([d({reflect:!0,type:Boolean,attribute:"allow-wheel-scrub"})],G.prototype,"allowWheelScrub",void 0),e([d({reflect:!0,type:Boolean})],G.prototype,"scrub",void 0),e([d({attribute:!1})],G.prototype,"format",void 0),e([d({attribute:!1})],G.prototype,"formatValue",void 0),e([d({attribute:!1})],G.prototype,"parseValue",void 0),e([d({attribute:!1})],G.prototype,"mask",void 0),e([d({reflect:!0})],G.prototype,"locale",void 0),e([d({reflect:!0})],G.prototype,"placeholder",void 0),e([d({reflect:!0})],G.prototype,"name",void 0),e([d({reflect:!0,type:Boolean})],G.prototype,"disabled",void 0),e([d({reflect:!0,type:Boolean})],G.prototype,"readonly",void 0),e([d({reflect:!0,type:Boolean})],G.prototype,"invalid",void 0),e([d({reflect:!0,type:Boolean,attribute:"hide-controls"})],G.prototype,"hideControls",void 0),e([d({reflect:!0})],G.prototype,"currency",void 0),e([d({reflect:!0,attribute:"currency-placement"})],G.prototype,"currencyPlacement",void 0),e([u()],G.prototype,"inputText",void 0),e([u()],G.prototype,"scrubbing",void 0),e([d()],G.prototype,"form",null),G=e([c("nord-number-field")],G);var X=G;export{I as NumberFieldChangeEvent,X as default,D as getCurrencySymbol,z as resolveCurrencyPlacement};
|
|
1
|
+
import{_ as e}from"./tslib.es6-CmLYFWVC.js";import{a as t}from"./interface-add-small-B-hv2v9J.js";import{r as i}from"./interface-remove-small-DUaWSs90.js";import{css as n,isServer as r,html as o,nothing as s,LitElement as l}from"lit";import{query as a,property as d,state as u,customElement as c}from"lit/decorators.js";import{classMap as h}from"lit/directives/class-map.js";import{createRef as p,ref as m}from"lit/directives/ref.js";import{F as b}from"./FormDataController-OUt5L5uC.js";import{S as f}from"./StateAttributesController-BIh96sXZ.js";import{N as v}from"./events-Bv6wNHwJ.js";import{i as y}from"./light-dom-styles-DXsbiKU9.js";import{D as g}from"./DraftComponentMixin-4qug5Rky.js";import{F as S}from"./FieldControlMixin-BXNZJXu9.js";import{S as k}from"./SizeMixin-CU9cLbLC.js";import w from"./Icon.js";import{LocalizeController as x}from"./LocalizeController.js";import{resolveCurrencyPlacement as z,getCurrencySymbol as D}from"./currency.js";import{formatNumber as j}from"./format.js";import{NumberFieldChangeEvent as I}from"./NumberFieldEvents.js";import{getNumberLocaleDetails as $,BASE_NON_NUMERIC_SYMBOLS as T,SPACE_SEPARATOR_RE as _,PERCENTAGES as A,PERMILLE as V,PLUS_SIGNS_WITH_ASCII as P,MINUS_SIGNS_WITH_ASCII as N,ARABIC_DETECT_RE as E,PERSIAN_DETECT_RE as C,HAN_DETECT_RE as W,FULLWIDTH_DETECT_RE as L,ANY_MINUS_DETECT_RE as M,ANY_PLUS_DETECT_RE as O,parseNumber as R}from"./parse.js";import{clamp as F,toValidatedNumber as q,hasNumberFormatRoundingOptions as B,removeFloatingPointErrors as U}from"./validate.js";import"./context-consumer-BJVUulGf.js";import"./context-request-event-CCRlXoeR.js";import"./field-context.js";import"./create-context-CJ69ntlY.js";import"./SlotController-Z6eG7LSZ.js";import"./EventController-BBOmvfLa.js";import"./VisuallyHidden.js";import"lit/directives/if-defined.js";import"lit/directives/unsafe-html.js";import"./observe-D0n0zOfU.js";import"./cond-CI1KbneT.js";import"./Component-BJ5O5n8k.js";import"./IconManager.js";import"./translation.js";import"./en-us.js";import"./localization.js";import"./localization2.js";import"./localization3.js";import"./localization4.js";import"./localization5.js";import"./localization6.js";import"./localization7.js";import"./localization8.js";import"./localization9.js";import"./localization10.js";import"./localization11.js";import"./localization12.js";import"./localization13.js";import"./localization14.js";import"./localization15.js";import"./localization16.js";import"./localization17.js";import"./localization18.js";import"./localization19.js";import"./localization20.js";import"./localization21.js";import"./localization22.js";import"./localization23.js";const K=n`nord-number-field,nord-number-field *,nord-number-field :after,nord-number-field :before{box-sizing:border-box}nord-number-field{--n-number-field-control-min-inline-size:8ch;--n-number-field-background:var(--n-input-background,var(--n-color-surface));--n-number-field-border-color:var(--n-input-border-color,var(--n-color-border-strong));--n-number-field-border-radius:var(--n-input-border-radius,var(--n-border-radius-s));--_n-number-field-block-size:var(--n-number-field-block-size,var(--n-space-xl));--_n-number-field-border-color:var(--n-number-field-border-color);--_n-number-field-min-content-block-size:calc(var(--n-line-height-form) + var(--n-space-s)/1.6*2 + 2px);--_n-number-field-padding-block:calc(var(--_n-number-field-block-size)/2 - var(--n-line-height-form)/2 - 1px);--_n-number-field-padding-inline:calc(var(--n-space-s)*1.6);--_n-number-field-font-size:var(--n-font-size-m);--_n-number-field-step-inline-size:var(--n-number-field-step-inline-size,var(--_n-number-field-block-size));display:block}nord-number-field .n-number-field{inline-size:100%}nord-number-field .n-number-field-root{display:contents}nord-number-field .n-scrub{align-items:center;color:var(--n-color-icon);cursor:ew-resize;display:inline-flex;margin-block-end:var(--n-space-xs);touch-action:none;user-select:none}nord-number-field .n-scrub-grip{block-size:var(--n-size-icon-s);display:block;inline-size:auto}nord-number-field.is-scrubbing,nord-number-field.is-scrubbing .n-input,nord-number-field.is-scrubbing .n-scrub{cursor:ew-resize}nord-number-field .n-control{align-items:stretch;background:var(--n-number-field-background);border:1px solid var(--_n-number-field-border-color);border-radius:var(--n-number-field-border-radius);display:flex;inline-size:100%;min-block-size:var(--_n-number-field-block-size);transition:border var(--n-transition-quickly),box-shadow var(--n-transition-quickly),background var(--n-transition-quickly)}nord-number-field .n-control:hover{--_n-number-field-border-color:var(--n-input-border-color,var(--n-color-border-hover))}nord-number-field .n-control:focus-within{--_n-number-field-border-color:var(--n-input-border-color,var(--n-color-accent));box-shadow:0 0 0 1px var(--_n-number-field-border-color)}nord-number-field[disabled] .n-control{--n-number-field-background:var(--n-input-background-inactive,var(--n-color-active));--_n-number-field-border-color:var(--n-input-border-color,var(--n-color-active));cursor:auto}nord-number-field .n-control.is-invalid{--_n-number-field-border-color:var(--n-color-border-danger)}nord-number-field .n-control.is-invalid:focus-within{--_n-number-field-border-color:var(--n-color-status-danger)}nord-number-field .n-input{appearance:none;background:#0000;border:none;color:var(--n-color-text);flex:1;font-family:var(--n-font-family);font-feature-settings:var(--n-font-features);font-size:var(--_n-number-field-font-size);font-variant-numeric:tabular-nums;line-height:var(--n-line-height-form);margin:0;min-inline-size:var(--n-number-field-control-min-inline-size);outline:none;padding-block-end:var(--_n-number-field-padding-block);padding-block-start:var(--_n-number-field-padding-block);padding-inline-end:var(--_n-number-field-padding-inline);padding-inline-start:var(--_n-number-field-padding-inline);text-align:start}nord-number-field .n-control input.n-input:focus,nord-number-field .n-control input.n-input:focus-visible,nord-number-field .n-control input.n-input:focus-within{background:#0000;border:none;box-shadow:none;outline:none}nord-number-field .n-input::placeholder{color:var(--n-color-text-weakest);opacity:1}nord-number-field[disabled] .n-input{color:var(--n-color-text-weakest)}nord-number-field .n-number-field-slot{align-items:center;color:var(--n-color-text-weaker);display:inline-flex;flex:0 0 auto;font-family:var(--n-font-family);font-size:var(--_n-number-field-font-size);gap:var(--n-space-xs);line-height:var(--n-line-height-form);white-space:nowrap}nord-number-field .n-number-field-slot:empty{display:none}nord-number-field .n-number-field-slot-start{padding-inline-start:var(--_n-number-field-padding-inline)}nord-number-field .n-number-field-slot-end{padding-inline-end:var(--_n-number-field-padding-inline)}nord-number-field .n-number-field-slot nord-icon{--_n-icon-size:var(--n-size-icon-s)}nord-number-field[disabled] .n-number-field-slot{color:var(--n-color-text-weakest)}nord-number-field .n-currency-symbol{color:var(--n-color-text-weaker);font-variant-numeric:tabular-nums;user-select:none}nord-number-field .n-step{align-items:center;appearance:none;background:#0000;border:none;color:var(--n-color-icon);cursor:pointer;display:flex;flex-shrink:0;inline-size:var(--_n-number-field-step-inline-size);justify-content:center;margin:0;padding:0;transition:color var(--n-transition-quickly),background var(--n-transition-quickly);user-select:none}nord-number-field .n-step:hover:not([disabled]){background:var(--n-color-button-hover);color:var(--n-color-text)}nord-number-field .n-step:active:not([disabled]){background:var(--n-color-active)}nord-number-field .n-step[disabled]{color:var(--n-color-text-weakest);cursor:auto}nord-number-field .n-decrement{border-inline-end:1px solid var(--_n-number-field-border-color)}nord-number-field .n-increment{border-inline-start:1px solid var(--_n-number-field-border-color)}nord-number-field .n-step nord-icon{--_n-icon-size:var(--n-size-icon-s)}nord-number-field[size=s]{--_n-number-field-block-size:var(--n-number-field-block-size,calc(var(--n-space-l) + var(--n-space-xs)));--_n-number-field-padding-block:calc(var(--_n-number-field-block-size)/2 - var(--n-line-height-form)/2 - 1px);--_n-number-field-padding-inline:var(--n-space-s);--_n-number-field-font-size:var(--n-font-size-s);--_n-number-field-step-inline-size:var(--n-number-field-step-inline-size,var(--_n-number-field-block-size))}nord-number-field[size=s] .n-step nord-icon{--_n-icon-size:var(--n-size-icon-xs)}nord-number-field[size=l]{--_n-number-field-block-size:max(var(--n-number-field-block-size,calc(var(--n-space-xxl) - var(--n-space-l))),var(--_n-number-field-min-content-block-size));--_n-number-field-padding-block:calc(var(--_n-number-field-block-size)/2 - var(--n-line-height-form)/2 - 1px);--_n-number-field-font-size:var(--n-font-size-l);--_n-number-field-step-inline-size:var(--n-number-field-step-inline-size,var(--_n-number-field-block-size))}nord-number-field[size=l] .n-step nord-icon{--_n-icon-size:var(--n-size-icon-m)}`;w.registerIcon(t),w.registerIcon(i);let H=1;function Z(e,t){return Number.isFinite(e)&&e>0?e:t}let G=class extends(g(k(S(l)))){constructor(){super(...arguments),this.numberFieldId="nord-number-field-"+H++,this.inputId=`${this.numberFieldId}-input`,this.localize=new x(this),this.inputRef=p(),this.formData=new b(this,{value:()=>null==this.value?void 0:String(this.value)}),this.stateAttributes=new f(this,(()=>({invalid:this.effectiveInvalid})),{trackFocus:!0}),this.formAncestor=null,this.value=null,this.step=1,this.largeStep=10,this.smallStep=.1,this.snapOnStep=!1,this.allowOutOfRange=!1,this.integer=!1,this.allowWheelScrub=!1,this.scrub=!1,this.disabled=!1,this.readonly=!1,this.invalid=!1,this.hideControls=!1,this.currencyPlacement="auto",this.inputText="",this.scrubbing=!1,this.allowInputSync=!0,this.hasTouchedInput=!1,this.skipNextClick=!1,this.scrubAccumulator=0,this.scrubMoved=!1,this.scrubPointerDownTarget=null,this.onScrubMove=e=>this.handleScrubMove(e),this.onScrubUp=e=>this.handleScrubUp(e),this.onWheel=e=>this.handleWheel(e),this.wheelAttached=!1}get ownInvalid(){return this.invalid||super.ownInvalid}set form(e){const t=this._formId;this._formId=e,this.requestUpdate("form",t)}get form(){if(this._formId){return this.getRootNode().querySelector(`form#${this._formId}`)}return this.formAncestor}get minWithDefault(){var e;return null!==(e=this.min)&&void 0!==e?e:Number.MIN_SAFE_INTEGER}get maxWithDefault(){var e;return null!==(e=this.max)&&void 0!==e?e:Number.MAX_SAFE_INTEGER}get minWithZeroDefault(){var e;return null!==(e=this.min)&&void 0!==e?e:0}get allowsNegative(){return this.minWithDefault<0}get numericStep(){return"any"===this.step?1:Z(this.step,1)}get effectiveLargeStep(){return Z(this.largeStep,10)}get effectiveSmallStep(){return Z(this.smallStep,.1)}formatDisplay(e){return this.formatValue?this.formatValue(e,this.locale,this.format):j(e,this.locale,this.format)}connectedCallback(){var e,t;super.connectedCallback(),y(this,K),this.formAncestor=this.closest("form"),null!==(e=this.ariaObserver)&&void 0!==e||(this.ariaObserver=new MutationObserver((()=>this.requestUpdate()))),this.ariaObserver.observe(this,{attributes:!0,attributeFilter:["aria-label","aria-labelledby","aria-describedby"]}),null!==(t=this.slotObserver)&&void 0!==t||(this.slotObserver=new MutationObserver((()=>this.requestUpdate()))),this.slotObserver.observe(this,{childList:!0}),this.allowInputSync&&(this.inputText=this.formatDisplay(this.value))}disconnectedCallback(){var e,t;super.disconnectedCallback(),null===(e=this.ariaObserver)||void 0===e||e.disconnect(),this.ariaObserver=void 0,null===(t=this.slotObserver)||void 0===t||t.disconnect(),this.slotObserver=void 0,this.formAncestor=null,this.stopHold(),this.detachWheel(),this.removeScrubListeners()}createRenderRoot(){if(r)return this;const e=document.createElement("div");return e.className="n-number-field-root",this.appendChild(e),e}relocateSlots(){if(r)return;const e=(e,t)=>{if(t)for(const i of Array.from(this.children))i.getAttribute("slot")===e&&i.parentElement!==t&&t.appendChild(i)};e("start",this.startZone),e("end",this.endZone)}willUpdate(e){if(e.has("value")&&this.allowInputSync&&!this.allowOutOfRange&&null!=this.value){const e=F(this.value,this.minWithDefault,this.maxWithDefault);e!==this.value&&(this.value=e)}e.has("value")&&this.integer&&null!=this.value&&!Number.isInteger(this.value)&&(this.value=Math.round(this.value)),this.allowInputSync&&(e.has("value")||e.has("format")||e.has("locale"))&&(this.inputText=this.formatDisplay(this.value))}updated(e){var t;super.updated(e),this.relocateSlots();const i=this.allowWheelScrub&&!this.disabled&&!this.readonly;if(i&&!this.wheelAttached?this.attachWheel():!i&&this.wheelAttached&&this.detachWheel(),this.pendingSelection){const[e,i]=this.pendingSelection;this.pendingSelection=void 0,null===(t=this.inputRef.value)||void 0===t||t.setSelectionRange(e,i)}}focus(e){var t;null===(t=this.inputRef.value)||void 0===t||t.focus(e)}isTextReason(e){return"input-change"===e||"input-blur"===e||"input-paste"===e||"input-clear"===e||"none"===e}getStepAmount(e){return(null==e?void 0:e.altKey)?this.effectiveSmallStep:(null==e?void 0:e.shiftKey)?this.effectiveLargeStep:this.numericStep}setValue(e,{reason:t,direction:i,event:n}){var r;const o=!this.allowOutOfRange||!this.isTextReason(t),s=q(e,{step:i?this.getStepAmount(n)*i:void 0,format:this.format,minWithDefault:this.minWithDefault,maxWithDefault:this.maxWithDefault,minWithZeroDefault:this.minWithZeroDefault,snapOnStep:this.snapOnStep,small:null!==(r=null==n?void 0:n.altKey)&&void 0!==r&&r,clamp:o}),l=this.isTextReason(t),a=s!==this.value||l&&(e!==this.value||!1===this.allowInputSync);return a&&(this.value=s,this.dispatchEvent(new v("input"))),this.allowInputSync&&(this.inputText=this.formatDisplay(s)),this.requestUpdate(),a}incrementValue(e,{direction:t,currentValue:i,event:n,reason:r}){var o;const s=i??this.value,l="number"==typeof s?s+e*t:Math.max(0,null!==(o=this.min)&&void 0!==o?o:0);return this.setValue(l,{reason:r,direction:t,event:n})}commit(e){this.dispatchEvent(new I(this.value,e))}getAllowedNonNumericKeys(){var e,t,i;const{decimal:n,group:r,currency:o,literal:s}=$(this.locale,this.format),l=new Set;T.forEach((e=>l.add(e))),n&&l.add(n),r&&(l.add(r),_.test(r)&&l.add(" "));const a=null===(e=this.format)||void 0===e?void 0:e.style,d="percent"===a||"unit"===a&&"percent"===(null===(t=this.format)||void 0===t?void 0:t.unit),u="percent"===a||"unit"===a&&"permille"===(null===(i=this.format)||void 0===i?void 0:i.unit);if(d&&A.forEach((e=>l.add(e))),u&&V.forEach((e=>l.add(e))),"currency"===a&&o&&l.add(o),s&&(Array.from(s).forEach((e=>l.add(e))),_.test(s)&&l.add(" ")),P.forEach((e=>l.add(e))),this.minWithDefault<0&&N.forEach((e=>l.add(e))),this.integer)for(const e of[n,".",".","٫"])e&&e!==r&&l.delete(e);return l}handleKeydown(e){if(e.defaultPrevented||this.readonly||this.disabled)return;this.allowInputSync=!0;if(!new Set(["ArrowUp","ArrowDown","PageUp","PageDown","Home","End"]).has(e.key)){if(this.mask)return;const t=this.getAllowedNonNumericKeys(),i=e.key>="0"&&e.key<="9",n=e.key.length>1;return void(229===e.which||e.ctrlKey||e.metaKey||e.altKey||i||n||t.has(e.key)||E.test(e.key)||C.test(e.key)||W.test(e.key)||L.test(e.key)||this.allowsNegative&&M.test(e.key)||O.test(e.key)||e.preventDefault())}const t=this.parseValue?this.parseValue(this.inputText,this.locale,this.format):R(this.inputText,this.locale,this.format);switch(e.key){case"ArrowUp":e.preventDefault(),this.incrementValue(this.getStepAmount(e),{direction:1,currentValue:t,event:e,reason:"keyboard"}),this.commit("keyboard");break;case"ArrowDown":e.preventDefault(),this.incrementValue(this.getStepAmount(e),{direction:-1,currentValue:t,event:e,reason:"keyboard"}),this.commit("keyboard");break;case"PageUp":e.preventDefault(),this.incrementValue(this.effectiveLargeStep,{direction:1,currentValue:t,reason:"keyboard"}),this.commit("keyboard");break;case"PageDown":e.preventDefault(),this.incrementValue(this.effectiveLargeStep,{direction:-1,currentValue:t,reason:"keyboard"}),this.commit("keyboard");break;case"Home":null!=this.min&&Number.isFinite(this.min)&&(e.preventDefault(),this.setValue(this.min,{reason:"keyboard"}),this.commit("keyboard"));break;case"End":null!=this.max&&Number.isFinite(this.max)&&(e.preventDefault(),this.setValue(this.max,{reason:"keyboard"}),this.commit("keyboard"))}}isValidCharacterString(e){const t=this.getAllowedNonNumericKeys();return Array.from(e).every((e=>e>="0"&&e<="9"||E.test(e)||W.test(e)||C.test(e)||L.test(e)||this.allowsNegative&&M.test(e)||t.has(e)))}handleInput(e){var t,i;e.stopPropagation(),this.allowInputSync=!1;const n=e.target;let r=n.value;const o=this.mask;if(o&&""!==r.trim()){const e=o({value:r,selectionStart:null!==(t=n.selectionStart)&&void 0!==t?t:r.length,selectionEnd:null!==(i=n.selectionEnd)&&void 0!==i?i:r.length},{locale:this.locale,format:this.format});r=e.value,this.pendingSelection=[e.selectionStart,e.selectionEnd]}if(""===r.trim())return this.inputText="",this.pendingSelection=void 0,void this.setValue(null,{reason:"input-clear"});if(!this.mask&&!this.isValidCharacterString(r))return;this.inputText=r;const s=this.parseValue?this.parseValue(r,this.locale,this.format):R(r,this.locale,this.format);null!==s&&this.setValue(s,{reason:"input-change"})}handlePaste(e){var t,i;if(e.defaultPrevented||this.readonly||this.disabled)return;if(this.mask)return;const n=null!==(i=null===(t=e.clipboardData)||void 0===t?void 0:t.getData("text/plain"))&&void 0!==i?i:"";e.preventDefault();const r=this.parseValue?this.parseValue(n,this.locale,this.format):R(n,this.locale,this.format);null!==r&&(this.allowInputSync=!0,this.setValue(r,{reason:"input-paste"}))}handleFocus(e){if(e.defaultPrevented||this.readonly||this.disabled)return;if(this.hasTouchedInput)return;this.hasTouchedInput=!0;const t=e.currentTarget,i=t.value.length;t.setSelectionRange(i,i)}handleBlur(e){if(e.defaultPrevented||this.readonly||this.disabled)return;if(this.allowInputSync=!0,""===this.inputText.trim())return this.setValue(null,{reason:"input-clear"}),void this.commit("input-clear");const t=this.parseValue?this.parseValue(this.inputText,this.locale,this.format):R(this.inputText,this.locale,this.format);if(null===t){const e=this.formatDisplay(this.value);return void(this.inputText!==e&&(this.inputText=e))}const i=B(this.format)?U(t,this.format):t;i!==this.value&&this.setValue(i,{reason:"input-blur"});const n=this.formatDisplay(this.value);this.inputText!==n&&(this.inputText=n),this.commit("input-blur")}commitDirtyInput(e,t){this.allowInputSync=!0;const i=this.parseValue?this.parseValue(this.inputText,this.locale,this.format):R(this.inputText,this.locale,this.format);null!==i&&this.setValue(i,{reason:e,direction:t})}handleStepPointerDown(e,t){var i;const n=!e.button||0===e.button;if(e.defaultPrevented||this.readonly||this.disabled||!n)return;const r=1===t?"increment-press":"decrement-press";this.skipNextClick=!0,this.activePointerId=e.pointerId,this.commitDirtyInput(r,t),"touch"!==e.pointerType&&"pen"!==e.pointerType&&(null===(i=this.inputRef.value)||void 0===i||i.focus()),this.allowInputSync=!0,this.incrementValue(this.getStepAmount(e),{direction:t,event:e,reason:r});const o=e.currentTarget;try{o.setPointerCapture(e.pointerId)}catch(e){}this.holdStartTimer=setTimeout((()=>{this.holdTickTimer=setInterval((()=>{this.allowInputSync=!0,this.incrementValue(this.getStepAmount(e),{direction:t,event:e,reason:r})}),60)}),400)}handleStepPointerStop(e,t){if(void 0!==this.activePointerId&&this.activePointerId!==e.pointerId)return;const i=null!=this.holdStartTimer||null!=this.holdTickTimer;this.stopHold(),this.activePointerId=void 0,(this.skipNextClick||i)&&this.commit(1===t?"increment-press":"decrement-press")}handleStepClick(e,t){const i=1===t?"increment-press":"decrement-press";if(e.defaultPrevented||this.readonly||this.disabled)return;if(this.skipNextClick)return void(this.skipNextClick=!1);this.commitDirtyInput(i,t),this.allowInputSync=!0;this.incrementValue(this.getStepAmount(e),{direction:t,event:e,reason:i})&&this.commit(i)}stopHold(){null!=this.holdStartTimer&&(clearTimeout(this.holdStartTimer),this.holdStartTimer=void 0),null!=this.holdTickTimer&&(clearInterval(this.holdTickTimer),this.holdTickTimer=void 0)}get incrementDisabled(){return this.disabled||this.readonly||null!=this.value&&this.value>=this.maxWithDefault}get decrementDisabled(){return this.disabled||this.readonly||null!=this.value&&this.value<=this.minWithDefault}attachWheel(){const e=this.inputRef.value;e&&(e.addEventListener("wheel",this.onWheel,{passive:!1}),this.wheelAttached=!0)}detachWheel(){const e=this.inputRef.value;null==e||e.removeEventListener("wheel",this.onWheel),this.wheelAttached=!1}handleWheel(e){if(e.ctrlKey||this.inputRef.value!==this.getActiveElement())return;e.preventDefault(),this.allowInputSync=!0;const t=this.getStepAmount(e);this.incrementValue(t,{direction:e.deltaY>0?-1:1,event:e,reason:"wheel"})}getActiveElement(){return this.getRootNode().activeElement}handleScrubPointerDown(e){var t;const i=!e.button||0===e.button;if(e.defaultPrevented||this.readonly||this.disabled||!i)return;"mouse"===e.pointerType&&(e.preventDefault(),null===(t=this.inputRef.value)||void 0===t||t.focus()),this.scrubbing=!0,this.scrubMoved=!1,this.scrubAccumulator=0,this.scrubPointerDownTarget=e.target;const n=this.ownerWindow();n.addEventListener("pointermove",this.onScrubMove,!0),n.addEventListener("pointerup",this.onScrubUp,!0)}handleScrubMove(e){if(this.scrubbing&&(e.preventDefault(),this.scrubAccumulator+=e.movementX,Math.abs(this.scrubAccumulator)>=2)){this.scrubAccumulator=0,this.scrubMoved=!0;const t=e.movementX,i=Math.abs(t*this.getStepAmount(e));0!==i&&(this.allowInputSync=!0,this.incrementValue(i,{direction:t>=0?1:-1,event:e,reason:"scrub"}))}}handleScrubUp(e){this.removeScrubListeners(),this.scrubbing=!1,this.commit("scrub"),!this.scrubMoved&&this.scrubPointerDownTarget&&this.scrubPointerDownTarget.dispatchEvent(new MouseEvent("click",{bubbles:!0,cancelable:!0})),this.scrubMoved=!1,this.scrubPointerDownTarget=null}removeScrubListeners(){const e=this.ownerWindow();e.removeEventListener("pointermove",this.onScrubMove,!0),e.removeEventListener("pointerup",this.onScrubUp,!0)}handleScrubTouchStart(e){this.disabled||this.readonly||1===e.touches.length&&e.preventDefault()}ownerWindow(){var e;return null!==(e=this.ownerDocument.defaultView)&&void 0!==e?e:window}get computedInputMode(){if(null!=this.min&&this.min<0)return"text";if(this.integer)return"numeric";const e="any"===this.step||Number.isInteger(this.numericStep),t=null==this.min||Number.isInteger(this.min)&&this.min>=0,i=null==this.max||Number.isInteger(this.max);return e&&t&&i?"numeric":"decimal"}get resolvedCurrencyPlacement(){return"start"===this.currencyPlacement||"end"===this.currencyPlacement?this.currencyPlacement:this.currency?z(this.locale,this.currency):"start"}render(){var e,t;const i=this.inputId,n=this.controlAriaLabel,r=this.controlAriaLabelledby,l=this.currency?D(this.locale,this.currency):void 0,a=this.currency?this.resolvedCurrencyPlacement:void 0,d=this.currency?`${i}-currency`:void 0,u=[this.controlAriaDescribedby,d].filter(Boolean).join(" ")||void 0,c=e=>null!=l&&a===e?o`<span id="${d}" class="n-currency-symbol" aria-hidden="true">${l}</span>`:s;return o`${this.renderLabel()}<div class="${h({"n-number-field":!0,"is-scrubbing":this.scrubbing})}">${this.scrub?o`<div class="n-scrub" role="presentation" aria-hidden="true" @pointerdown="${this.handleScrubPointerDown}" @touchstart="${this.handleScrubTouchStart}"><svg class="n-scrub-grip" width="24" height="14" viewBox="0 0 24 14" fill="currentColor" aria-hidden="true"><path d="M19.5 5.5L6.49737 5.51844V2L1 6.9999L6.5 12L6.49737 8.5L19.5 8.5V12L25 6.9999L19.5 2V5.5Z"></path></svg></div>`:s}<div class="${h({"n-control":!0,"is-invalid":this.effectiveInvalid})}">${this.hideControls?s:o`<button class="${h({"n-step":!0,"n-decrement":!0})}" type="button" tabindex="-1" aria-label="${this.localize.term("decreaseLabel")}" aria-controls="${i}" aria-readonly="${this.readonly?"true":s}" ?disabled="${this.decrementDisabled}" @pointerdown="${e=>this.handleStepPointerDown(e,-1)}" @pointerup="${e=>this.handleStepPointerStop(e,-1)}" @pointerleave="${e=>this.handleStepPointerStop(e,-1)}" @pointercancel="${e=>this.handleStepPointerStop(e,-1)}" @click="${e=>this.handleStepClick(e,-1)}"><nord-icon name="interface-remove-small"></nord-icon></button>`} <span class="n-number-field-slot n-number-field-slot-start">${c("start")}</span> <input ${m(this.inputRef)} class="n-input" type="text" id="${i}" inputmode="${this.computedInputMode}" .value="${this.inputText}" placeholder="${null!==(e=this.placeholder)&&void 0!==e?e:s}" ?disabled="${this.effectiveDisabled}" ?readonly="${this.readonly}" ?required="${this.required}" autocomplete="off" autocorrect="off" spellcheck="false" aria-roledescription="${this.localize.term("roleDescription")}" aria-label="${null!=n?n:s}" aria-labelledby="${null!=r?r:s}" aria-describedby="${null!=u?u:s}" aria-invalid="${null!==(t=this.controlAriaInvalid)&&void 0!==t?t:s}" aria-required="${this.required?"true":s}" aria-readonly="${this.readonly?"true":s}" @input="${this.handleInput}" @blur="${this.handleBlur}" @focus="${this.handleFocus}" @keydown="${this.handleKeydown}" @paste="${this.handlePaste}"> <span class="n-number-field-slot n-number-field-slot-end">${c("end")}</span> ${this.hideControls?s:o`<button class="${h({"n-step":!0,"n-increment":!0})}" type="button" tabindex="-1" aria-label="${this.localize.term("increaseLabel")}" aria-controls="${i}" aria-readonly="${this.readonly?"true":s}" ?disabled="${this.incrementDisabled}" @pointerdown="${e=>this.handleStepPointerDown(e,1)}" @pointerup="${e=>this.handleStepPointerStop(e,1)}" @pointerleave="${e=>this.handleStepPointerStop(e,1)}" @pointercancel="${e=>this.handleStepPointerStop(e,1)}" @click="${e=>this.handleStepClick(e,1)}"><nord-icon name="interface-add-small"></nord-icon></button>`}</div></div>${this.renderError()} ${this.isHintBelow?this.renderHint():s}`}};e([a(".n-number-field-slot-start")],G.prototype,"startZone",void 0),e([a(".n-number-field-slot-end")],G.prototype,"endZone",void 0),e([d({converter:function(e){if(null==e||""===e.trim())return null;const t=Number(e);return Number.isNaN(t)?null:t}})],G.prototype,"value",void 0),e([d({reflect:!0,type:Number})],G.prototype,"min",void 0),e([d({reflect:!0,type:Number})],G.prototype,"max",void 0),e([d({reflect:!0,converter:function(e){return null==e?1:"any"===e?"any":Z(Number(e),1)}})],G.prototype,"step",void 0),e([d({reflect:!0,type:Number,attribute:"large-step"})],G.prototype,"largeStep",void 0),e([d({reflect:!0,type:Number,attribute:"small-step"})],G.prototype,"smallStep",void 0),e([d({reflect:!0,type:Boolean,attribute:"snap-on-step"})],G.prototype,"snapOnStep",void 0),e([d({reflect:!0,type:Boolean,attribute:"allow-out-of-range"})],G.prototype,"allowOutOfRange",void 0),e([d({reflect:!0,type:Boolean})],G.prototype,"integer",void 0),e([d({reflect:!0,type:Boolean,attribute:"allow-wheel-scrub"})],G.prototype,"allowWheelScrub",void 0),e([d({reflect:!0,type:Boolean})],G.prototype,"scrub",void 0),e([d({attribute:!1})],G.prototype,"format",void 0),e([d({attribute:!1})],G.prototype,"formatValue",void 0),e([d({attribute:!1})],G.prototype,"parseValue",void 0),e([d({attribute:!1})],G.prototype,"mask",void 0),e([d({reflect:!0})],G.prototype,"locale",void 0),e([d({reflect:!0})],G.prototype,"placeholder",void 0),e([d({reflect:!0})],G.prototype,"name",void 0),e([d({reflect:!0,type:Boolean})],G.prototype,"disabled",void 0),e([d({reflect:!0,type:Boolean})],G.prototype,"readonly",void 0),e([d({reflect:!0,type:Boolean})],G.prototype,"invalid",void 0),e([d({reflect:!0,type:Boolean,attribute:"hide-controls"})],G.prototype,"hideControls",void 0),e([d({reflect:!0})],G.prototype,"currency",void 0),e([d({reflect:!0,attribute:"currency-placement"})],G.prototype,"currencyPlacement",void 0),e([u()],G.prototype,"inputText",void 0),e([u()],G.prototype,"scrubbing",void 0),e([d()],G.prototype,"form",null),G=e([c("nord-number-field")],G);var X=G;export{I as NumberFieldChangeEvent,X as default,D as getCurrencySymbol,z as resolveCurrencyPlacement};
|
|
2
2
|
//# sourceMappingURL=NumberField.js.map
|