@nordhealth/components 4.26.1 → 5.0.0-alpha.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 +54613 -21826
- package/lib/Accordion.js +2 -0
- package/lib/Accordion.js.map +1 -0
- package/lib/AccordionHeader.js +2 -0
- package/lib/AccordionHeader.js.map +1 -0
- package/lib/AccordionItem.js +2 -0
- package/lib/AccordionItem.js.map +1 -0
- package/lib/AccordionPanel.js +2 -0
- package/lib/AccordionPanel.js.map +1 -0
- package/lib/AccordionTrigger.js +2 -0
- package/lib/AccordionTrigger.js.map +1 -0
- package/lib/ActiveDescendantController-BnMqM79O.js +2 -0
- package/lib/ActiveDescendantController-BnMqM79O.js.map +1 -0
- package/lib/Aside.js +5 -7
- package/lib/Aside.js.map +1 -1
- package/lib/AsideDrawer.js +7 -11
- package/lib/AsideDrawer.js.map +1 -1
- package/lib/AsideTrigger.js +3 -4
- package/lib/AsideTrigger.js.map +1 -1
- package/lib/Autocomplete.js +2 -0
- package/lib/Autocomplete.js.map +1 -0
- package/lib/Avatar.js +1 -1
- package/lib/Avatar.js.map +1 -1
- package/lib/Badge.js +1 -1
- package/lib/Badge.js.map +1 -1
- package/lib/Banner.js +1 -1
- package/lib/Banner.js.map +1 -1
- package/lib/Button.js +7 -12
- package/lib/Button.js.map +1 -1
- package/lib/ButtonGroup.js +1 -1
- package/lib/ButtonGroup.js.map +1 -1
- package/lib/Calendar-C1SxrlzN.js +2 -0
- package/lib/Calendar-C1SxrlzN.js.map +1 -0
- package/lib/Calendar.js +1 -1
- package/lib/Card.js +1 -1
- package/lib/Card.js.map +1 -1
- package/lib/Checkbox.js +1 -1
- package/lib/Checkbox.js.map +1 -1
- package/lib/CollapseController-BtKNFNyJ.js +2 -0
- package/lib/CollapseController-BtKNFNyJ.js.map +1 -0
- package/lib/Collapsible.js +2 -0
- package/lib/Collapsible.js.map +1 -0
- package/lib/CollapsiblePanel.js +2 -0
- package/lib/CollapsiblePanel.js.map +1 -0
- package/lib/CollapsibleTrigger.js +2 -0
- package/lib/CollapsibleTrigger.js.map +1 -0
- package/lib/Combobox-By4h1Sp-.js +2 -0
- package/lib/Combobox-By4h1Sp-.js.map +1 -0
- package/lib/Combobox.js +2 -0
- package/lib/Combobox.js.map +1 -0
- package/lib/ComboboxBase.js +2 -0
- package/lib/ComboboxBase.js.map +1 -0
- package/lib/ComboboxEvents.js +2 -0
- package/lib/ComboboxEvents.js.map +1 -0
- package/lib/ComboboxGroup.js +2 -0
- package/lib/ComboboxGroup.js.map +1 -0
- package/lib/ComboboxOption.js +2 -0
- package/lib/ComboboxOption.js.map +1 -0
- package/lib/CommandMenu.js +1 -1
- package/lib/CommandMenu.js.map +1 -1
- package/lib/CommandMenuAction.js +1 -1
- package/lib/CommandMenuAction.js.map +1 -1
- package/lib/Component-BJ5O5n8k.js +2 -0
- package/lib/Component-BJ5O5n8k.js.map +1 -0
- package/lib/DatePicker.js +1 -1
- package/lib/DatePicker.js.map +1 -1
- package/lib/DateRangeChangeEvent.js +2 -0
- package/lib/DateRangeChangeEvent.js.map +1 -0
- package/lib/DateRangePicker.js +2 -0
- package/lib/DateRangePicker.js.map +1 -0
- package/lib/DateRangeSelectEvent.js +2 -0
- package/lib/DateRangeSelectEvent.js.map +1 -0
- package/lib/Divider.js +1 -1
- package/lib/Divider.js.map +1 -1
- package/lib/DraftComponentMixin-4qug5Rky.js +2 -0
- package/lib/DraftComponentMixin-4qug5Rky.js.map +1 -0
- package/lib/Drawer.js +1 -1
- package/lib/Drawer.js.map +1 -1
- package/lib/Dropdown.js +1 -1
- package/lib/Dropdown.js.map +1 -1
- package/lib/DropdownGroup.js +1 -1
- package/lib/DropdownGroup.js.map +1 -1
- package/lib/DropdownItem-BYbOLth6.js +2 -0
- package/lib/DropdownItem-BYbOLth6.js.map +1 -0
- package/lib/DropdownItem.js +1 -1
- package/lib/DropdownItem.js.map +1 -1
- package/lib/DropdownSubmenu.js +1 -1
- package/lib/DropdownSubmenu.js.map +1 -1
- package/lib/EmptyState.js +1 -1
- package/lib/EmptyState.js.map +1 -1
- package/lib/Field.js +2 -0
- package/lib/Field.js.map +1 -0
- package/lib/FieldContent.js +2 -0
- package/lib/FieldContent.js.map +1 -0
- package/lib/FieldControlMixin-BXNZJXu9.js +2 -0
- package/lib/FieldControlMixin-BXNZJXu9.js.map +1 -0
- package/lib/FieldDescription.js +2 -0
- package/lib/FieldDescription.js.map +1 -0
- package/lib/FieldError.js +2 -0
- package/lib/FieldError.js.map +1 -0
- package/lib/FieldGroup.js +2 -0
- package/lib/FieldGroup.js.map +1 -0
- package/lib/FieldLabel.js +2 -0
- package/lib/FieldLabel.js.map +1 -0
- package/lib/FieldLegend.js +2 -0
- package/lib/FieldLegend.js.map +1 -0
- package/lib/FieldSeparator.js +2 -0
- package/lib/FieldSeparator.js.map +1 -0
- package/lib/FieldSet.js +2 -0
- package/lib/FieldSet.js.map +1 -0
- package/lib/FieldTitle.js +2 -0
- package/lib/FieldTitle.js.map +1 -0
- package/lib/Fieldset2.js +2 -0
- package/lib/Fieldset2.js.map +1 -0
- package/lib/FilterAddButton.js +2 -0
- package/lib/FilterAddButton.js.map +1 -0
- package/lib/FilterAddButtonEvents.js +2 -0
- package/lib/FilterAddButtonEvents.js.map +1 -0
- package/lib/FilterBar.js +2 -0
- package/lib/FilterBar.js.map +1 -0
- package/lib/FilterDateRange.js +2 -0
- package/lib/FilterDateRange.js.map +1 -0
- package/lib/FilterDateRangeEvents.js +2 -0
- package/lib/FilterDateRangeEvents.js.map +1 -0
- package/lib/FilterDropdown.js +2 -0
- package/lib/FilterDropdown.js.map +1 -0
- package/lib/FilterDropdownEvents.js +2 -0
- package/lib/FilterDropdownEvents.js.map +1 -0
- package/lib/FilterField.js +2 -0
- package/lib/FilterField.js.map +1 -0
- package/lib/FilterFieldEvents.js +2 -0
- package/lib/FilterFieldEvents.js.map +1 -0
- package/lib/FilterInput.js +2 -0
- package/lib/FilterInput.js.map +1 -0
- package/lib/FilterResetButton.js +2 -0
- package/lib/FilterResetButton.js.map +1 -0
- package/lib/FocusableWhenDisabledController-C_Mn1mfN.js +2 -0
- package/lib/FocusableWhenDisabledController-C_Mn1mfN.js.map +1 -0
- package/lib/Footer.js +1 -1
- package/lib/Footer.js.map +1 -1
- package/lib/FormAssociatedMixin-D9aPREgv.js +2 -0
- package/lib/FormAssociatedMixin-D9aPREgv.js.map +1 -0
- package/lib/FormField-CMgEFZCK.js +2 -0
- package/lib/FormField-CMgEFZCK.js.map +1 -0
- package/lib/Header.js +1 -1
- package/lib/Header.js.map +1 -1
- package/lib/Icon.js +1 -1
- package/lib/Icon.js.map +1 -1
- package/lib/Input.js +1 -1
- package/lib/Input.js.map +1 -1
- package/lib/Item.js +2 -0
- package/lib/Item.js.map +1 -0
- package/lib/ItemActions.js +2 -0
- package/lib/ItemActions.js.map +1 -0
- package/lib/ItemContent.js +2 -0
- package/lib/ItemContent.js.map +1 -0
- package/lib/ItemDescription.js +2 -0
- package/lib/ItemDescription.js.map +1 -0
- package/lib/ItemFooter.js +2 -0
- package/lib/ItemFooter.js.map +1 -0
- package/lib/ItemGroup.js +2 -0
- package/lib/ItemGroup.js.map +1 -0
- package/lib/ItemHeader.js +2 -0
- package/lib/ItemHeader.js.map +1 -0
- package/lib/ItemMedia.js +2 -0
- package/lib/ItemMedia.js.map +1 -0
- package/lib/ItemSeparator.js +2 -0
- package/lib/ItemSeparator.js.map +1 -0
- package/lib/ItemTitle.js +2 -0
- package/lib/ItemTitle.js.map +1 -0
- package/lib/Kbd.js +2 -0
- package/lib/Kbd.js.map +1 -0
- package/lib/KbdGroup.js +2 -0
- package/lib/KbdGroup.js.map +1 -0
- package/lib/KeyboardController.js +1 -1
- package/lib/KeyboardController.js.map +1 -1
- package/lib/Layout.js +1 -3
- package/lib/Layout.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 +2 -0
- package/lib/Meter.js.map +1 -0
- 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/NavGroup.js +1 -1
- package/lib/NavGroup.js.map +1 -1
- package/lib/NavItem.js +1 -1
- package/lib/NavItem.js.map +1 -1
- package/lib/NavToggle-BY83xpx0.js +2 -0
- package/lib/NavToggle-BY83xpx0.js.map +1 -0
- package/lib/NavToggle.js +1 -1
- package/lib/Navigation.js +1 -1
- package/lib/Navigation.js.map +1 -1
- package/lib/Notification.js +1 -1
- package/lib/Notification.js.map +1 -1
- package/lib/NotificationGroup.js +1 -1
- package/lib/NotificationGroup.js.map +1 -1
- package/lib/NumberField.js +2 -0
- package/lib/NumberField.js.map +1 -0
- package/lib/NumberFieldEvents.js +2 -0
- package/lib/NumberFieldEvents.js.map +1 -0
- package/lib/OpenStateController-CCnZ7up6.js +2 -0
- package/lib/OpenStateController-CCnZ7up6.js.map +1 -0
- package/lib/OtpField.js +2 -0
- package/lib/OtpField.js.map +1 -0
- package/lib/OtpFieldEvents.js +2 -0
- package/lib/OtpFieldEvents.js.map +1 -0
- package/lib/Pagination.js +2 -0
- package/lib/Pagination.js.map +1 -0
- package/lib/PaginationContent.js +2 -0
- package/lib/PaginationContent.js.map +1 -0
- package/lib/PaginationEllipsis.js +2 -0
- package/lib/PaginationEllipsis.js.map +1 -0
- package/lib/PaginationItem.js +2 -0
- package/lib/PaginationItem.js.map +1 -0
- package/lib/PaginationLink.js +2 -0
- package/lib/PaginationLink.js.map +1 -0
- package/lib/PaginationNext.js +2 -0
- package/lib/PaginationNext.js.map +1 -0
- package/lib/PaginationPrevious.js +2 -0
- package/lib/PaginationPrevious.js.map +1 -0
- package/lib/Popout-DpN7PP9h.js +2 -0
- package/lib/Popout-DpN7PP9h.js.map +1 -0
- package/lib/Popout.js +1 -1
- package/lib/Progress.js +1 -1
- package/lib/Progress.js.map +1 -1
- package/lib/ProgressBar.js +1 -1
- package/lib/ProgressBar.js.map +1 -1
- package/lib/Qrcode.js +2 -2
- package/lib/Radio.js +1 -1
- package/lib/Radio.js.map +1 -1
- package/lib/Range.js +1 -1
- package/lib/Range.js.map +1 -1
- package/lib/ReadonlyMixin-BdJPGtQ3.js +2 -0
- package/lib/ReadonlyMixin-BdJPGtQ3.js.map +1 -0
- package/lib/ResizeController-14PUwRQy.js +2 -0
- package/lib/ResizeController-14PUwRQy.js.map +1 -0
- package/lib/ScrollArea.js +2 -0
- package/lib/ScrollArea.js.map +1 -0
- package/lib/SegmentedControl.js +1 -1
- package/lib/SegmentedControl.js.map +1 -1
- package/lib/SegmentedControlItem.js +23 -40
- package/lib/SegmentedControlItem.js.map +1 -1
- package/lib/Select.js +1 -1
- package/lib/Select.js.map +1 -1
- package/lib/Skeleton.js +1 -1
- package/lib/Skeleton.js.map +1 -1
- package/lib/Spinner.js +1 -1
- package/lib/Spinner.js.map +1 -1
- package/lib/Stack.js +1 -1
- package/lib/Stack.js.map +1 -1
- package/lib/StateAttributesController-BIh96sXZ.js +2 -0
- package/lib/StateAttributesController-BIh96sXZ.js.map +1 -0
- package/lib/Sticky-CZImMrGj.js +2 -0
- package/lib/Sticky-CZImMrGj.js.map +1 -0
- package/lib/Tab.js +1 -1
- package/lib/Tab.js.map +1 -1
- package/lib/TabGroup.js +1 -1
- package/lib/TabGroup.js.map +1 -1
- package/lib/TabPanel.js +1 -1
- package/lib/TabPanel.js.map +1 -1
- package/lib/Table.js +1 -1
- package/lib/Table.js.map +1 -1
- package/lib/Tag.js +1 -1
- package/lib/Tag.js.map +1 -1
- package/lib/TagGroup.js +1 -1
- package/lib/TagGroup.js.map +1 -1
- package/lib/TextField-CSKvieoG.js +2 -0
- package/lib/TextField-CSKvieoG.js.map +1 -0
- package/lib/TextSelectableMixin-Cfv__lHS.js.map +1 -1
- package/lib/Textarea.js +1 -1
- package/lib/Textarea.js.map +1 -1
- package/lib/TimePicker.js +2 -0
- package/lib/TimePicker.js.map +1 -0
- package/lib/Toast.js +1 -1
- package/lib/Toast.js.map +1 -1
- package/lib/ToastGroup.js +1 -1
- package/lib/ToastGroup.js.map +1 -1
- package/lib/Toggle.js +1 -1
- package/lib/Toggle.js.map +1 -1
- package/lib/Tooltip.js +1 -1
- package/lib/Tooltip.js.map +1 -1
- package/lib/TopBar.js +1 -1
- package/lib/TopBar.js.map +1 -1
- package/lib/Truncate.js +1 -1
- package/lib/Truncate.js.map +1 -1
- package/lib/VisuallyHidden.js +1 -1
- package/lib/bundle.js +91 -91
- package/lib/bundle.js.map +1 -1
- package/lib/combobox-context.js +2 -0
- package/lib/combobox-context.js.map +1 -0
- package/lib/context-consumer-BJVUulGf.js +7 -0
- package/lib/context-consumer-BJVUulGf.js.map +1 -0
- package/lib/context-provider-D8lrPLVi.js +12 -0
- package/lib/context-provider-D8lrPLVi.js.map +1 -0
- package/lib/context-request-event-CCRlXoeR.js +7 -0
- package/lib/context-request-event-CCRlXoeR.js.map +1 -0
- package/lib/create-context-CJ69ntlY.js +7 -0
- package/lib/create-context-CJ69ntlY.js.map +1 -0
- package/lib/currency.js +2 -0
- package/lib/currency.js.map +1 -0
- package/lib/date-adapter.js +1 -1
- package/lib/dates-C-ZvzXaC.js +2 -0
- package/lib/dates-C-ZvzXaC.js.map +1 -0
- package/lib/dates.js +2 -0
- package/lib/dates.js.map +1 -0
- package/lib/dismiss.js +2 -0
- package/lib/dismiss.js.map +1 -0
- 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/field-context.js +2 -0
- package/lib/field-context.js.map +1 -0
- package/lib/filter-chip-C97zd4PT.js +2 -0
- package/lib/filter-chip-C97zd4PT.js.map +1 -0
- package/lib/format.js +2 -0
- package/lib/format.js.map +1 -0
- package/lib/index.js +1 -1
- package/lib/interface-add-small-B-hv2v9J.js +2 -0
- package/lib/interface-add-small-B-hv2v9J.js.map +1 -0
- package/lib/interface-calendar-Cw2bJfbS.js +2 -0
- package/lib/interface-calendar-Cw2bJfbS.js.map +1 -0
- package/lib/interface-close-BvKnv9eh.js +2 -0
- package/lib/interface-close-BvKnv9eh.js.map +1 -0
- package/lib/interface-dropdown-small-CYvgxudU.js +2 -0
- package/lib/interface-dropdown-small-CYvgxudU.js.map +1 -0
- package/lib/interface-filter-CCsx9-u6.js +2 -0
- package/lib/interface-filter-CCsx9-u6.js.map +1 -0
- package/lib/interface-remove-small-DUaWSs90.js +2 -0
- package/lib/interface-remove-small-DUaWSs90.js.map +1 -0
- package/lib/light-dom-styles-DXsbiKU9.js +2 -0
- package/lib/light-dom-styles-DXsbiKU9.js.map +1 -0
- package/lib/localization.js +1 -1
- package/lib/localization.js.map +1 -1
- package/lib/localization10.js +2 -0
- package/lib/localization10.js.map +1 -0
- package/lib/localization11.js +2 -0
- package/lib/localization11.js.map +1 -0
- package/lib/localization12.js +2 -0
- package/lib/localization12.js.map +1 -0
- package/lib/localization13.js +2 -0
- package/lib/localization13.js.map +1 -0
- package/lib/localization14.js +2 -0
- package/lib/localization14.js.map +1 -0
- package/lib/localization15.js +2 -0
- package/lib/localization15.js.map +1 -0
- package/lib/localization16.js +2 -0
- package/lib/localization16.js.map +1 -0
- package/lib/localization17.js +2 -0
- package/lib/localization17.js.map +1 -0
- package/lib/localization18.js +2 -0
- package/lib/localization18.js.map +1 -0
- package/lib/localization19.js +2 -0
- package/lib/localization19.js.map +1 -0
- package/lib/localization2.js +1 -1
- package/lib/localization2.js.map +1 -1
- package/lib/localization20.js +2 -0
- package/lib/localization20.js.map +1 -0
- package/lib/localization21.js +2 -0
- package/lib/localization21.js.map +1 -0
- package/lib/localization22.js +2 -0
- package/lib/localization22.js.map +1 -0
- package/lib/localization3.js +1 -1
- package/lib/localization3.js.map +1 -1
- package/lib/localization4.js +1 -1
- package/lib/localization4.js.map +1 -1
- package/lib/localization5.js +1 -1
- package/lib/localization5.js.map +1 -1
- package/lib/localization6.js +1 -1
- package/lib/localization6.js.map +1 -1
- package/lib/localization7.js +1 -1
- package/lib/localization7.js.map +1 -1
- package/lib/localization8.js +1 -1
- package/lib/localization8.js.map +1 -1
- package/lib/localization9.js +1 -1
- package/lib/localization9.js.map +1 -1
- package/lib/navigation-search-CBbIGzo2.js +2 -0
- package/lib/navigation-search-CBbIGzo2.js.map +1 -0
- package/lib/paginate.js +2 -0
- package/lib/paginate.js.map +1 -0
- package/lib/parse.js +2 -0
- package/lib/parse.js.map +1 -0
- package/lib/primitives-Dj0vyf1-.js +2 -0
- package/lib/primitives-Dj0vyf1-.js.map +1 -0
- package/lib/react.d.ts +505 -0
- package/lib/src/accordion/Accordion.d.ts +121 -0
- package/lib/src/accordion/AccordionHeader.d.ts +28 -0
- package/lib/src/accordion/AccordionItem.d.ts +68 -0
- package/lib/src/accordion/AccordionPanel.d.ts +35 -0
- package/lib/src/accordion/AccordionTrigger.d.ts +47 -0
- package/lib/src/aside-drawer/AsideDrawer.d.ts +2 -0
- package/lib/src/aside-trigger/AsideTrigger.d.ts +2 -0
- package/lib/src/autocomplete/Autocomplete.d.ts +190 -0
- package/lib/src/autocomplete/localization.d.ts +5 -0
- package/lib/src/badge/Badge.d.ts +1 -1
- package/lib/src/banner/Banner.d.ts +3 -0
- package/lib/src/button-group/ButtonGroup.d.ts +2 -1
- package/lib/src/calendar/Calendar.d.ts +44 -0
- package/lib/src/calendar/DateRangeSelectEvent.d.ts +16 -0
- package/lib/src/collapsible/Collapsible.d.ts +69 -0
- package/lib/src/collapsible/CollapsiblePanel.d.ts +35 -0
- package/lib/src/collapsible/CollapsibleTrigger.d.ts +38 -0
- package/lib/src/combobox/Combobox.d.ts +131 -0
- package/lib/src/combobox/ComboboxBase.d.ts +421 -0
- package/lib/src/combobox/ComboboxEvents.d.ts +25 -0
- package/lib/src/combobox/ComboboxGroup.d.ts +34 -0
- package/lib/src/combobox/ComboboxOption.d.ts +47 -0
- package/lib/src/combobox/combobox-context.d.ts +18 -0
- package/lib/src/combobox/localization.d.ts +6 -0
- package/lib/src/command-menu/ICommandMenuAction.d.ts +11 -0
- package/lib/src/common/controllers/ActiveDescendantController.d.ts +45 -0
- package/lib/src/common/controllers/CollapseController.d.ts +50 -0
- package/lib/src/common/controllers/FocusableWhenDisabledController.d.ts +29 -0
- package/lib/src/common/controllers/OpenStateController.d.ts +58 -0
- package/lib/src/common/controllers/RovingFocusController.d.ts +40 -0
- package/lib/src/common/controllers/StateAttributesController.d.ts +47 -0
- package/lib/src/common/controllers/TransitionStatusController.d.ts +48 -0
- package/lib/src/common/dates.d.ts +13 -0
- package/lib/src/common/light-dom-styles.d.ts +17 -0
- package/lib/src/common/mixins/FieldControlMixin.d.ts +60 -0
- package/lib/src/common/mixins/FloatingComponentMixin.d.ts +2 -0
- package/lib/src/common/mixins/FormAssociatedMixin.d.ts +8 -25
- package/lib/src/common/mixins/TextSelectableMixin.d.ts +1 -0
- package/lib/src/common/prefers-reduced-motion.d.ts +7 -0
- package/lib/src/date-picker/DatePicker.d.ts +2 -0
- package/lib/src/date-range-picker/DateRangeChangeEvent.d.ts +27 -0
- package/lib/src/date-range-picker/DateRangePicker.d.ts +307 -0
- package/lib/src/date-range-picker/localization.d.ts +42 -0
- package/lib/src/drawer/Drawer.d.ts +7 -0
- package/lib/src/dropdown/Dropdown.d.ts +1 -1
- package/lib/src/dropdown-group/DropdownGroup.d.ts +3 -1
- package/lib/src/dropdown-item/DropdownItem.d.ts +3 -1
- package/lib/src/dropdown-submenu/DropdownSubmenu.d.ts +2 -0
- package/lib/src/field/Field.d.ts +102 -0
- package/lib/src/field/FieldContent.d.ts +22 -0
- package/lib/src/field/FieldDescription.d.ts +21 -0
- package/lib/src/field/FieldError.d.ts +25 -0
- package/lib/src/field/FieldGroup.d.ts +25 -0
- package/lib/src/field/FieldLabel.d.ts +41 -0
- package/lib/src/field/FieldLegend.d.ts +20 -0
- package/lib/src/field/FieldSeparator.d.ts +21 -0
- package/lib/src/field/FieldSet.d.ts +28 -0
- package/lib/src/field/FieldTitle.d.ts +21 -0
- package/lib/src/field/field-context.d.ts +47 -0
- package/lib/src/fieldset/Fieldset.d.ts +12 -4
- package/lib/src/filter-add-button/FilterAddButton.d.ts +91 -0
- package/lib/src/filter-add-button/FilterAddButtonEvents.d.ts +17 -0
- package/lib/src/filter-add-button/localization.d.ts +4 -0
- package/lib/src/filter-bar/FilterBar.d.ts +37 -0
- package/lib/src/filter-date-range/FilterDateRange.d.ts +96 -0
- package/lib/src/filter-date-range/FilterDateRangeEvents.d.ts +37 -0
- package/lib/src/filter-date-range/localization.d.ts +11 -0
- package/lib/src/filter-dropdown/FilterDropdown.d.ts +247 -0
- package/lib/src/filter-dropdown/FilterDropdownEvents.d.ts +57 -0
- package/lib/src/filter-dropdown/localization.d.ts +14 -0
- package/lib/src/filter-field/FilterField.d.ts +89 -0
- package/lib/src/filter-field/FilterFieldEvents.d.ts +18 -0
- package/lib/src/filter-field/localization.d.ts +8 -0
- package/lib/src/filter-input/FilterInput.d.ts +102 -0
- package/lib/src/filter-input/localization.d.ts +5 -0
- package/lib/src/filter-reset-button/FilterResetButton.d.ts +50 -0
- package/lib/src/filter-reset-button/localization.d.ts +4 -0
- package/lib/src/index.d.ts +59 -0
- package/lib/src/input/Input.d.ts +2 -1
- package/lib/src/item/Item.d.ts +44 -0
- package/lib/src/item/ItemActions.d.ts +20 -0
- package/lib/src/item/ItemContent.d.ts +22 -0
- package/lib/src/item/ItemDescription.d.ts +20 -0
- package/lib/src/item/ItemFooter.d.ts +20 -0
- package/lib/src/item/ItemGroup.d.ts +22 -0
- package/lib/src/item/ItemHeader.d.ts +20 -0
- package/lib/src/item/ItemMedia.d.ts +28 -0
- package/lib/src/item/ItemSeparator.d.ts +21 -0
- package/lib/src/item/ItemTitle.d.ts +19 -0
- package/lib/src/kbd/Kbd.d.ts +54 -0
- package/lib/src/kbd/KbdGroup.d.ts +22 -0
- package/lib/src/layout/Layout.d.ts +2 -2
- package/lib/src/localization/en-us.d.ts +85 -0
- package/lib/src/localization/translation.d.ts +85 -0
- package/lib/src/meter/Meter.d.ts +76 -0
- package/lib/src/nav-group/NavGroup.d.ts +2 -0
- package/lib/src/nav-item/NavItem.d.ts +2 -0
- package/lib/src/nav-toggle/NavToggle.d.ts +3 -1
- package/lib/src/notification-group/NotificationGroup.d.ts +2 -0
- package/lib/src/number-field/NumberField.d.ts +377 -0
- package/lib/src/number-field/NumberFieldEvents.d.ts +37 -0
- package/lib/src/number-field/currency.d.ts +24 -0
- package/lib/src/number-field/format.d.ts +8 -0
- package/lib/src/number-field/localization.d.ts +6 -0
- package/lib/src/number-field/parse.d.ts +44 -0
- package/lib/src/number-field/validate.d.ts +24 -0
- package/lib/src/otp-field/OtpField.d.ts +177 -0
- package/lib/src/otp-field/OtpFieldEvents.d.ts +38 -0
- package/lib/src/otp-field/localization.d.ts +4 -0
- package/lib/src/pagination/Pagination.d.ts +51 -0
- package/lib/src/pagination/PaginationContent.d.ts +27 -0
- package/lib/src/pagination/PaginationEllipsis.d.ts +27 -0
- package/lib/src/pagination/PaginationItem.d.ts +24 -0
- package/lib/src/pagination/PaginationLink.d.ts +30 -0
- package/lib/src/pagination/PaginationNext.d.ts +24 -0
- package/lib/src/pagination/PaginationPrevious.d.ts +24 -0
- package/lib/src/pagination/localization.d.ts +4 -0
- package/lib/src/pagination/paginate.d.ts +20 -0
- package/lib/src/popout/Popout.d.ts +11 -2
- package/lib/src/scroll-area/ScrollArea.d.ts +101 -0
- package/lib/src/segmented-control-item/SegmentedControlItem.d.ts +2 -0
- package/lib/src/storybook-utils/dates.d.ts +2 -0
- package/lib/src/storybook-utils/dismiss.d.ts +1 -0
- package/lib/src/storybook-utils/story-descriptions.d.ts +2 -0
- package/lib/src/tab-group/TabGroup.d.ts +2 -0
- package/lib/src/tab-panel/TabPanel.d.ts +2 -0
- package/lib/src/tag-group/TagGroup.d.ts +2 -0
- package/lib/src/textarea/Textarea.d.ts +2 -1
- package/lib/src/time-picker/TimePicker.d.ts +105 -0
- package/lib/src/time-picker/localization.d.ts +4 -0
- package/lib/src/toast-group/ToastGroup.d.ts +11 -0
- package/lib/src/tooltip/Tooltip.d.ts +12 -0
- package/lib/src/truncate/Truncate.d.ts +12 -0
- package/lib/story-descriptions.js +2 -0
- package/lib/story-descriptions.js.map +1 -0
- package/lib/translation.js +1 -1
- package/lib/translation.js.map +1 -1
- package/lib/validate.js +2 -0
- package/lib/validate.js.map +1 -0
- package/lib/vue.d.ts +407 -0
- package/package.json +9 -12
- package/lib/Calendar-ChNZdVRO.js +0 -2
- package/lib/Calendar-ChNZdVRO.js.map +0 -1
- package/lib/Component-DSU3Qp0O.js +0 -2
- package/lib/Component-DSU3Qp0O.js.map +0 -1
- package/lib/DropdownItem-Cb-7cHMg.js +0 -2
- package/lib/DropdownItem-Cb-7cHMg.js.map +0 -1
- package/lib/Fieldset.js +0 -2
- package/lib/Fieldset.js.map +0 -1
- package/lib/FormAssociatedMixin-B4Qj-CQN.js +0 -2
- package/lib/FormAssociatedMixin-B4Qj-CQN.js.map +0 -1
- package/lib/FormField-BFaVzUjk.js +0 -2
- package/lib/FormField-BFaVzUjk.js.map +0 -1
- package/lib/NavToggle-DzKbd-El.js +0 -2
- package/lib/NavToggle-DzKbd-El.js.map +0 -1
- package/lib/Popout-DtEL0HZ0.js +0 -2
- package/lib/Popout-DtEL0HZ0.js.map +0 -1
- package/lib/Sticky-DqnqENYN.js +0 -2
- package/lib/Sticky-DqnqENYN.js.map +0 -1
- package/lib/TextField-B955GOhe.js +0 -2
- package/lib/TextField-B955GOhe.js.map +0 -1
- package/lib/dates-CAAlPKZi.js +0 -2
- package/lib/dates-CAAlPKZi.js.map +0 -1
|
@@ -56,6 +56,15 @@ export declare function resolveTranslation(langCode: string): {
|
|
|
56
56
|
tip: string;
|
|
57
57
|
placeholder: string;
|
|
58
58
|
};
|
|
59
|
+
'nord-combobox': {
|
|
60
|
+
clearLabel: string;
|
|
61
|
+
createLabel: (query: string) => string;
|
|
62
|
+
noResults: string;
|
|
63
|
+
};
|
|
64
|
+
'nord-autocomplete': {
|
|
65
|
+
clearLabel: string;
|
|
66
|
+
noResults: string;
|
|
67
|
+
};
|
|
59
68
|
'nord-calendar': {
|
|
60
69
|
prevMonthLabel: string;
|
|
61
70
|
nextMonthLabel: string;
|
|
@@ -70,6 +79,34 @@ export declare function resolveTranslation(langCode: string): {
|
|
|
70
79
|
dateOutOfMinBound: (minDate: string) => string;
|
|
71
80
|
dateOutOfMaxBound: (maxDate: string) => string;
|
|
72
81
|
};
|
|
82
|
+
'nord-date-range-picker': {
|
|
83
|
+
buttonLabel: string;
|
|
84
|
+
placeholder: string;
|
|
85
|
+
modalHeading: string;
|
|
86
|
+
closeLabel: string;
|
|
87
|
+
applyLabel: string;
|
|
88
|
+
cancelLabel: string;
|
|
89
|
+
clearLabel: string;
|
|
90
|
+
presetsLabel: string;
|
|
91
|
+
presetsCollapsedLabel: string;
|
|
92
|
+
rangeSeparator: string;
|
|
93
|
+
dateOutOfMinBound: (minDate: string) => string;
|
|
94
|
+
dateOutOfMaxBound: (maxDate: string) => string;
|
|
95
|
+
presetToday: string;
|
|
96
|
+
presetYesterday: string;
|
|
97
|
+
presetLastDays: (days: number) => string;
|
|
98
|
+
presetLastMonths: (months: number) => string;
|
|
99
|
+
presetThisMonth: string;
|
|
100
|
+
presetLastWeek: string;
|
|
101
|
+
presetLastMonth: string;
|
|
102
|
+
presetLastQuarter: string;
|
|
103
|
+
presetLastYear: string;
|
|
104
|
+
presetCurrentWeek: string;
|
|
105
|
+
presetCurrentMonth: string;
|
|
106
|
+
presetCurrentQuarter: string;
|
|
107
|
+
presetCurrentYear: string;
|
|
108
|
+
presetQuarter: (quarter: number, year: number) => string;
|
|
109
|
+
};
|
|
73
110
|
'nord-modal': {
|
|
74
111
|
closeLabel: string;
|
|
75
112
|
};
|
|
@@ -79,12 +116,60 @@ export declare function resolveTranslation(langCode: string): {
|
|
|
79
116
|
'nord-textarea': {
|
|
80
117
|
remainingCharacters: (remainder: number) => string;
|
|
81
118
|
};
|
|
119
|
+
'nord-time-picker': {
|
|
120
|
+
chooseTime: string;
|
|
121
|
+
};
|
|
82
122
|
'nord-notification': {
|
|
83
123
|
dismissLabel: string;
|
|
84
124
|
};
|
|
85
125
|
'nord-message': {
|
|
86
126
|
unreadLabel: string;
|
|
87
127
|
};
|
|
128
|
+
'nord-number-field': {
|
|
129
|
+
increaseLabel: string;
|
|
130
|
+
decreaseLabel: string;
|
|
131
|
+
roleDescription: string;
|
|
132
|
+
};
|
|
133
|
+
'nord-otp-field': {
|
|
134
|
+
characterLabel: (position: number, total: number) => string;
|
|
135
|
+
};
|
|
136
|
+
'nord-pagination': {
|
|
137
|
+
label: string;
|
|
138
|
+
};
|
|
139
|
+
'nord-filter-input': {
|
|
140
|
+
searchLabel: string;
|
|
141
|
+
clearLabel: string;
|
|
142
|
+
};
|
|
143
|
+
'nord-filter-field': {
|
|
144
|
+
filterIconLabel: string;
|
|
145
|
+
selectionLabel: (label: string) => string;
|
|
146
|
+
clearLabel: string;
|
|
147
|
+
removeLabel: string;
|
|
148
|
+
};
|
|
149
|
+
'nord-filter-date-range': {
|
|
150
|
+
filterIconLabel: string;
|
|
151
|
+
clearLabel: string;
|
|
152
|
+
removeLabel: string;
|
|
153
|
+
rangeSeparator: string;
|
|
154
|
+
};
|
|
155
|
+
'nord-filter-add-button': {
|
|
156
|
+
label: string;
|
|
157
|
+
};
|
|
158
|
+
'nord-filter-dropdown': {
|
|
159
|
+
filterIconLabel: string;
|
|
160
|
+
selectionLabel: (label: string) => string;
|
|
161
|
+
searchLabel: string;
|
|
162
|
+
clearLabel: string;
|
|
163
|
+
removeLabel: string;
|
|
164
|
+
selectAll: string;
|
|
165
|
+
deselectAll: string;
|
|
166
|
+
noResults: string;
|
|
167
|
+
unknown: string;
|
|
168
|
+
countSuffix: (extra: number) => string;
|
|
169
|
+
};
|
|
170
|
+
'nord-filter-reset-button': {
|
|
171
|
+
label: string;
|
|
172
|
+
};
|
|
88
173
|
'nord-tag': {
|
|
89
174
|
removeLabel: string;
|
|
90
175
|
};
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { LitElement } from 'lit';
|
|
2
|
+
declare const Meter_base: typeof LitElement;
|
|
3
|
+
/**
|
|
4
|
+
* Meter is a graphical display of a numeric value within a known range,
|
|
5
|
+
* such as disk usage, a battery level or a score. Unlike Progress Bar, it
|
|
6
|
+
* represents a static measurement rather than the completion of a task.
|
|
7
|
+
*
|
|
8
|
+
* @status draft
|
|
9
|
+
* @category feedback
|
|
10
|
+
* @lightDom true
|
|
11
|
+
*
|
|
12
|
+
* @part track - The track which holds the indicator.
|
|
13
|
+
* @part indicator - The filled portion of the track representing the value.
|
|
14
|
+
*
|
|
15
|
+
* @cssprop [--n-meter-size=var(--n-space-s)] - Controls the thickness of the meter, using our [spacing tokens](/tokens/#space).
|
|
16
|
+
* @cssprop [--n-meter-border-radius=var(--n-border-radius-s)] - Controls how rounded the corners are, using [border radius tokens](/tokens/#border-radius).
|
|
17
|
+
* @cssprop [--n-meter-color=var(--n-color-accent)] - Controls the color of the indicator, using [color tokens](/tokens/#color).
|
|
18
|
+
*/
|
|
19
|
+
export default class Meter extends Meter_base {
|
|
20
|
+
/**
|
|
21
|
+
* The current value. Must be between `min` and `max`.
|
|
22
|
+
*/
|
|
23
|
+
value: number;
|
|
24
|
+
/**
|
|
25
|
+
* The minimum value. If `min` is greater than `max`, the two are swapped so
|
|
26
|
+
* the range is always well-formed.
|
|
27
|
+
*/
|
|
28
|
+
min: number;
|
|
29
|
+
/**
|
|
30
|
+
* The maximum value. If `min` is greater than `max`, the two are swapped so
|
|
31
|
+
* the range is always well-formed.
|
|
32
|
+
*/
|
|
33
|
+
max: number;
|
|
34
|
+
/**
|
|
35
|
+
* A label describing what the meter represents. Shown above the meter and
|
|
36
|
+
* exposed to assistive technology.
|
|
37
|
+
*/
|
|
38
|
+
label: string;
|
|
39
|
+
/**
|
|
40
|
+
* Options used to format the displayed and announced value with
|
|
41
|
+
* `Intl.NumberFormat`. When omitted, the value is shown as a percentage of
|
|
42
|
+
* the range so the text stays in sync with the indicator fill.
|
|
43
|
+
*/
|
|
44
|
+
format?: Intl.NumberFormatOptions;
|
|
45
|
+
/**
|
|
46
|
+
* The locale used by `Intl.NumberFormat` when formatting the value.
|
|
47
|
+
* Defaults to the runtime locale.
|
|
48
|
+
*/
|
|
49
|
+
locale?: string;
|
|
50
|
+
/**
|
|
51
|
+
* The effective range bounds, normalised so `min <= max` even if the
|
|
52
|
+
* properties are set the other way round (a degenerate `min > max` would
|
|
53
|
+
* otherwise produce NaN/negative fills).
|
|
54
|
+
*/
|
|
55
|
+
private get bounds();
|
|
56
|
+
/** The value clamped to the `min`/`max` range. */
|
|
57
|
+
private get clampedValue();
|
|
58
|
+
/** The value as a percentage (0–100) of the range, clamped. */
|
|
59
|
+
private get percentage();
|
|
60
|
+
/**
|
|
61
|
+
* The human-readable value used for display and `aria-valuetext`. Always
|
|
62
|
+
* derived from the clamped value so the announced/displayed text stays in
|
|
63
|
+
* sync with the indicator fill (never raw or NaN).
|
|
64
|
+
*/
|
|
65
|
+
private get formattedValue();
|
|
66
|
+
connectedCallback(): void;
|
|
67
|
+
protected createRenderRoot(): this;
|
|
68
|
+
protected updated(): void;
|
|
69
|
+
render(): import("lit").TemplateResult<1>;
|
|
70
|
+
}
|
|
71
|
+
declare global {
|
|
72
|
+
interface HTMLElementTagNameMap {
|
|
73
|
+
'nord-meter': Meter;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
export {};
|
|
@@ -12,6 +12,8 @@ import '../icon/Icon.js';
|
|
|
12
12
|
* @fires {NordEvent} activate - Dispatched whenever a nav item has been marked as active
|
|
13
13
|
*
|
|
14
14
|
* @cssprop [--n-nav-group-heading-display=block] - Controls the `display` of the group's heading. Set to `none` to hide it — useful for a `slot="subnav"` group whose heading repeats the parent item's label inline; the heading is still shown in the rail flyout where it titles the projected list.
|
|
15
|
+
*
|
|
16
|
+
* @parent Navigation
|
|
15
17
|
*/
|
|
16
18
|
export default class NavGroup extends LitElement {
|
|
17
19
|
static styles: import("lit").CSSResult[];
|
|
@@ -52,6 +52,8 @@ declare const NavItem_base: (new (...args: any[]) => import("../common/mixins/Fo
|
|
|
52
52
|
* @cssprop [--n-nav-badge-min-inline-size=20px] - Minimum inline size (width in LTR) of the built-in `badge` attribute pill — sets a visual floor for single-digit counts.
|
|
53
53
|
* @cssprop [--n-nav-badge-margin-inline-start=var(--n-space-xs)] - Inline-start margin separating the badge from the preceding label inside the nav-item's flex row.
|
|
54
54
|
* @cssprop [--n-rail-badge-size=5px] - Diameter of the rail-mode dot the badge collapses into when the layout is in `collapse-mode="rail"` and not `nav-open`.
|
|
55
|
+
*
|
|
56
|
+
* @parent Navigation
|
|
55
57
|
*/
|
|
56
58
|
export default class NavItem extends NavItem_base {
|
|
57
59
|
static styles: import("lit").CSSResult[];
|
|
@@ -6,9 +6,11 @@ declare const NavToggle_base: (new (...args: any[]) => import("../common/mixins/
|
|
|
6
6
|
* Nav toggle hides and shows the primary navigation inside `<nord-layout>`.
|
|
7
7
|
*
|
|
8
8
|
* @status ready
|
|
9
|
-
* @category
|
|
9
|
+
* @category navigation
|
|
10
10
|
*
|
|
11
11
|
* @localization label - Accessible label for the nav toggle button.
|
|
12
|
+
*
|
|
13
|
+
* @parent Navigation
|
|
12
14
|
*/
|
|
13
15
|
export default class NavToggle extends NavToggle_base {
|
|
14
16
|
static styles: import("lit").CSSResult[];
|
|
@@ -7,6 +7,8 @@ import { LitElement } from 'lit';
|
|
|
7
7
|
* @slot - Default slot in which to place notifications.
|
|
8
8
|
*
|
|
9
9
|
* @fires {NordEvent} dismiss - Fired when a notification is dismissed, and its exit animation has completed. This event should be used to remove the dismissed notification from the DOM.
|
|
10
|
+
*
|
|
11
|
+
* @parent Notification
|
|
10
12
|
*/
|
|
11
13
|
export default class NotificationGroup extends LitElement {
|
|
12
14
|
static styles: import("lit").CSSResult[];
|
|
@@ -0,0 +1,377 @@
|
|
|
1
|
+
import type { PropertyValues } from 'lit';
|
|
2
|
+
import { LitElement } from 'lit';
|
|
3
|
+
export { getCurrencySymbol, resolveCurrencyPlacement } from './currency.js';
|
|
4
|
+
export { NumberFieldChangeEvent } from './NumberFieldEvents.js';
|
|
5
|
+
export type { NumberFieldChangeReason } from './NumberFieldEvents.js';
|
|
6
|
+
/**
|
|
7
|
+
* The editable state of the inner input handed to (and returned from) a custom
|
|
8
|
+
* `mask` function: the current text and the caret/selection offsets. The shape
|
|
9
|
+
* mirrors a mask library's element state (e.g. Maskito's `ElementState`), so a
|
|
10
|
+
* mask transformer can be adapted with a thin wrapper.
|
|
11
|
+
*/
|
|
12
|
+
export interface NumberFieldMaskState {
|
|
13
|
+
value: string;
|
|
14
|
+
selectionStart: number;
|
|
15
|
+
selectionEnd: number;
|
|
16
|
+
}
|
|
17
|
+
/** Contextual info passed to a custom `mask` function alongside the editable state. */
|
|
18
|
+
export interface NumberFieldMaskContext {
|
|
19
|
+
locale?: string | string[];
|
|
20
|
+
format?: Intl.NumberFormatOptions;
|
|
21
|
+
}
|
|
22
|
+
/** Signature of a custom `mask` transformer function. */
|
|
23
|
+
export type NumberFieldMaskInput = (state: NumberFieldMaskState, context: NumberFieldMaskContext) => NumberFieldMaskState;
|
|
24
|
+
declare const NumberField_base: (new (...args: any[]) => import("../common/mixins/SizeMixin.js").SizeMixinInterface) & (new (...args: any[]) => import("../common/mixins/FieldControlMixin.js").FieldControlMixinInterface) & typeof LitElement;
|
|
25
|
+
/**
|
|
26
|
+
* Number Field is a control for entering a numeric value, with decrement and
|
|
27
|
+
* increment stepper buttons, optional drag-to-scrub, and locale-aware
|
|
28
|
+
* formatting. It ports the behaviour of Base UI's Number Field: arrow/Page
|
|
29
|
+
* stepping, Home/End to the bounds, press-and-hold auto-repeat, optional
|
|
30
|
+
* wheel/scrub, clamping, and `Intl.NumberFormat` formatting.
|
|
31
|
+
*
|
|
32
|
+
* Number Field is a control only — it has no built-in label, hint or error.
|
|
33
|
+
* Compose it inside a [Field](/components/field/) with a
|
|
34
|
+
* [Field Label](/components/field-label/) to give it a label, hint and error,
|
|
35
|
+
* the same way you would a native input.
|
|
36
|
+
*
|
|
37
|
+
* FORM PARTICIPATION: the value is submitted as the raw numeric string under the
|
|
38
|
+
* host `name` via `FormDataController` (the inner input has no `name`, avoiding a
|
|
39
|
+
* double submit). Unlike Base UI there is no hidden native number input, and —
|
|
40
|
+
* like the other new Nord controls — Number Field does NOT use
|
|
41
|
+
* `ElementInternals`, so it performs no native constraint validation: `required`,
|
|
42
|
+
* `min`, `max` and `step` are NOT enforced as form-blocking validity. `min`/`max`
|
|
43
|
+
* govern interactive stepping and (unless `allow-out-of-range` is set) clamp the
|
|
44
|
+
* value; `required` only surfaces as `required`/`aria-required` on the inner input
|
|
45
|
+
* for assistive technology. Authors must validate constraints themselves and
|
|
46
|
+
* reflect failures via `invalid` and a `nord-field-error`.
|
|
47
|
+
*
|
|
48
|
+
* ACCESSIBILITY NOTE: the inner control is a text input (with `inputmode`) and
|
|
49
|
+
* `aria-roledescription="Number field"`, NOT `role="spinbutton"` and NOT a
|
|
50
|
+
* native `type="number"`. A text input lets us show locale-formatted text
|
|
51
|
+
* (currency, percent, grouping) while keeping full text editing — assistive tech
|
|
52
|
+
* reads the formatted value from the input's text. We do NOT add
|
|
53
|
+
* `aria-valuenow`/`valuemin`/`valuemax`/`valuetext`: those are only valid on a
|
|
54
|
+
* range role (e.g. `spinbutton`/`slider`) and would fail `aria-allowed-attr`
|
|
55
|
+
* validation on a text input. This mirrors what Base UI's `NumberFieldInput`
|
|
56
|
+
* actually ships (only `aria-roledescription`).
|
|
57
|
+
*
|
|
58
|
+
* @status draft
|
|
59
|
+
* @category form
|
|
60
|
+
* @lightDom true
|
|
61
|
+
*
|
|
62
|
+
* @fires {NumberFieldChangeEvent} change - Dispatched when the value is committed (on blur, keyboard step, or pointer-up after a button hold or scrub). Carries the numeric value and a `reason`.
|
|
63
|
+
* @fires {NordEvent} input - Dispatched as the value changes during interaction (typing a parseable value, clearing, each step, each button tick, each wheel notch, each scrub increment).
|
|
64
|
+
*
|
|
65
|
+
* @slot start - Leading content inside the control, before the input (e.g. a unit or currency symbol). Sits after the decrement stepper button.
|
|
66
|
+
* @slot end - Trailing content inside the control, after the input (e.g. a unit label or `%`). Sits before the increment stepper button.
|
|
67
|
+
*
|
|
68
|
+
* @localization increaseLabel - Accessible label for the increment stepper button.
|
|
69
|
+
* @localization decreaseLabel - Accessible label for the decrement stepper button.
|
|
70
|
+
* @localization roleDescription - Role description announced for the input (aria-roledescription).
|
|
71
|
+
*
|
|
72
|
+
* @cssprop [--n-number-field-control-min-inline-size=8ch] - Minimum inline size (width) of the numeric input portion of the control.
|
|
73
|
+
* @cssprop [--n-number-field-step-inline-size=var(--n-space-xl)] - Inline size (width) of each increment/decrement stepper button.
|
|
74
|
+
* @cssprop [--n-number-field-background=var(--n-input-background, var(--n-color-surface))] - Background of the control.
|
|
75
|
+
* @cssprop [--n-number-field-border-color=var(--n-input-border-color, var(--n-color-border-strong))] - Border color of the control.
|
|
76
|
+
* @cssprop [--n-number-field-border-radius=var(--n-input-border-radius, var(--n-border-radius-s))] - Corner radius of the control.
|
|
77
|
+
*
|
|
78
|
+
* @attr {boolean} data-invalid - Present while the field is invalid (mirrors the `invalid` property). Style hook for the whole control.
|
|
79
|
+
* @attr {boolean} data-focused - Present while the control has focus. Style hook for focus-within treatments.
|
|
80
|
+
*/
|
|
81
|
+
export default class NumberField extends NumberField_base {
|
|
82
|
+
/** Stable, unique id base for this instance's light-DOM ARIA wiring. */
|
|
83
|
+
private numberFieldId;
|
|
84
|
+
protected inputId: string;
|
|
85
|
+
private localize;
|
|
86
|
+
private inputRef;
|
|
87
|
+
private formData;
|
|
88
|
+
/** Reflects state to Base-UI-style `data-*` attributes (data-invalid, data-focused). */
|
|
89
|
+
private stateAttributes;
|
|
90
|
+
protected get ownInvalid(): boolean;
|
|
91
|
+
/** Re-renders when the host's forwarded ARIA labelling attributes change. */
|
|
92
|
+
private ariaObserver?;
|
|
93
|
+
private startZone?;
|
|
94
|
+
private endZone?;
|
|
95
|
+
private slotObserver?;
|
|
96
|
+
private formAncestor;
|
|
97
|
+
private _formId?;
|
|
98
|
+
/**
|
|
99
|
+
* The raw numeric value of the field, or `null` when empty.
|
|
100
|
+
*
|
|
101
|
+
* The `value` attribute may be set as a numeric string in HTML; it is coerced
|
|
102
|
+
* with a custom converter (`Number(v)`, `NaN -> null`).
|
|
103
|
+
*/
|
|
104
|
+
value: number | null;
|
|
105
|
+
/**
|
|
106
|
+
* The minimum allowed value. Step interactions and blur-clamping clamp to it,
|
|
107
|
+
* and the decrement button disables at/below it. Home jumps to it only when it
|
|
108
|
+
* is finite.
|
|
109
|
+
*/
|
|
110
|
+
min?: number;
|
|
111
|
+
/**
|
|
112
|
+
* The maximum allowed value. Step interactions and blur-clamping clamp to it,
|
|
113
|
+
* and the increment button disables at/above it. End jumps to it only when it
|
|
114
|
+
* is finite.
|
|
115
|
+
*/
|
|
116
|
+
max?: number;
|
|
117
|
+
/**
|
|
118
|
+
* Amount each arrow press / button click / wheel notch changes the value.
|
|
119
|
+
* `'any'` disables step semantics (treated as `1` internally for stepping).
|
|
120
|
+
*/
|
|
121
|
+
step: number | 'any';
|
|
122
|
+
/** Step used for PageUp/PageDown and Shift+Arrow. */
|
|
123
|
+
largeStep: number;
|
|
124
|
+
/** Step used when Alt/Option is held with Arrow keys. */
|
|
125
|
+
smallStep: number;
|
|
126
|
+
/** When `true`, stepping snaps the value to the nearest multiple of the step. */
|
|
127
|
+
snapOnStep: boolean;
|
|
128
|
+
/**
|
|
129
|
+
* When `true`, direct text entry may go outside `min`/`max` without clamping
|
|
130
|
+
* (so range validation can flag it); step interactions still clamp.
|
|
131
|
+
*/
|
|
132
|
+
allowOutOfRange: boolean;
|
|
133
|
+
/**
|
|
134
|
+
* Restricts the field to whole numbers. The decimal separator can no longer be
|
|
135
|
+
* typed, pasted or programmatic fractional values are rounded to the nearest
|
|
136
|
+
* integer, and the built-in `mask` caps the fraction to zero. The soft keyboard
|
|
137
|
+
* shows the plain numeric keypad.
|
|
138
|
+
*/
|
|
139
|
+
integer: boolean;
|
|
140
|
+
/** When `true`, scrolling the mouse wheel while focused changes the value. */
|
|
141
|
+
allowWheelScrub: boolean;
|
|
142
|
+
/** When `true`, renders a drag handle so the user can click-drag to change the value. */
|
|
143
|
+
scrub: boolean;
|
|
144
|
+
/**
|
|
145
|
+
* `Intl.NumberFormat` options used to format the displayed text. Set as a
|
|
146
|
+
* property only (e.g. `{ style: 'currency', currency: 'EUR' }`).
|
|
147
|
+
*/
|
|
148
|
+
format?: Intl.NumberFormatOptions;
|
|
149
|
+
/**
|
|
150
|
+
* Overrides the default `Intl.NumberFormat`-based formatting of the displayed
|
|
151
|
+
* text. Receives the current numeric value (`null` when the field is empty),
|
|
152
|
+
* the active `locale`, and the `format` options, and must return the string to
|
|
153
|
+
* display. Following the default behaviour, a `null` value should map to an
|
|
154
|
+
* empty string. Set as a property only.
|
|
155
|
+
*/
|
|
156
|
+
formatValue?: (value: number | null, locale?: string | string[], options?: Intl.NumberFormatOptions) => string;
|
|
157
|
+
/**
|
|
158
|
+
* Overrides the default locale-aware parsing of the typed text. Receives the
|
|
159
|
+
* raw input text, the active `locale`, and the `format` options, and must
|
|
160
|
+
* return the parsed number, or `null` when the text is empty or cannot be
|
|
161
|
+
* parsed. Set as a property only.
|
|
162
|
+
*/
|
|
163
|
+
parseValue?: (text: string, locale?: string | string[], options?: Intl.NumberFormatOptions) => number | null;
|
|
164
|
+
/**
|
|
165
|
+
* An optional custom edit-time mask: a function that reshapes the input text on
|
|
166
|
+
* every insertion, deletion, and paste, and reports where the caret should
|
|
167
|
+
* land. This is the live-typing counterpart to `formatValue` (which formats an
|
|
168
|
+
* already-committed value). Use it to insert grouping separators, localise the
|
|
169
|
+
* decimal, or cap fraction digits as the user types — typically by wrapping a
|
|
170
|
+
* mask library (e.g. Maskito's `maskitoTransform(elementState, options)`).
|
|
171
|
+
*
|
|
172
|
+
* The field does NOT format live on its own: without a mask, the text is kept
|
|
173
|
+
* as typed and the auto (`Intl`) formatting is applied only on blur and on
|
|
174
|
+
* paste. When a mask is set it becomes the source of truth for the text — the
|
|
175
|
+
* per-character guard is bypassed (the mask decides validity) and paste lands
|
|
176
|
+
* natively so it flows through the mask. Keep the mask output parseable in, and
|
|
177
|
+
* consistent with, the active `locale`/`format`. Set as a property.
|
|
178
|
+
*/
|
|
179
|
+
mask?: NumberFieldMaskInput;
|
|
180
|
+
/** BCP-47 locale(s) for `Intl` formatting/parsing. Defaults to the runtime locale. */
|
|
181
|
+
locale?: string | string[];
|
|
182
|
+
/** Placeholder text shown when the field is empty. */
|
|
183
|
+
placeholder?: string;
|
|
184
|
+
/** Form field name. The value is submitted under this name via FormDataController. */
|
|
185
|
+
name?: string;
|
|
186
|
+
/** Disables the control. */
|
|
187
|
+
disabled: boolean;
|
|
188
|
+
/** Read-only: the user cannot change the value, but the value is still submitted. */
|
|
189
|
+
readonly: boolean;
|
|
190
|
+
/** Applies error styling and sets `aria-invalid="true"` on the inner input. */
|
|
191
|
+
invalid: boolean;
|
|
192
|
+
/** Hides the increment/decrement stepper buttons (still steppable via keyboard). */
|
|
193
|
+
hideControls: boolean;
|
|
194
|
+
/**
|
|
195
|
+
* ISO 4217 currency code (e.g. `USD`, `EUR`, `SEK`). Setting it enables the
|
|
196
|
+
* currency convenience: a decorative, locale-aware symbol is rendered into the
|
|
197
|
+
* `start`/`end` slot resolved from `currencyPlacement`, and the currency is
|
|
198
|
+
* folded into the input's accessible description so assistive tech announces it.
|
|
199
|
+
*
|
|
200
|
+
* This is layered on top of the generic `start`/`end` slots — for a fully
|
|
201
|
+
* custom symbol, omit `currency` and slot your own content instead. It is
|
|
202
|
+
* independent of `format`: the symbol lives beside the number rather than in
|
|
203
|
+
* the formatted text, so it composes cleanly with `mask`.
|
|
204
|
+
*/
|
|
205
|
+
currency?: string;
|
|
206
|
+
/**
|
|
207
|
+
* Which side the `currency` symbol is placed on. `'auto'` (the default)
|
|
208
|
+
* derives the side from the `locale`/`currency` pair via `Intl` (symbol-first
|
|
209
|
+
* locales like en-US → `start`, symbol-last locales like de-DE → `end`);
|
|
210
|
+
* `'start'`/`'end'` force the side. Has no effect unless `currency` is set.
|
|
211
|
+
*/
|
|
212
|
+
currencyPlacement: 'start' | 'end' | 'auto';
|
|
213
|
+
/** The text shown in the input — formatted, unless the user is mid-edit. */
|
|
214
|
+
private inputText;
|
|
215
|
+
/** Whether the user is scrubbing (adds an `is-scrubbing` cursor). */
|
|
216
|
+
private scrubbing;
|
|
217
|
+
/**
|
|
218
|
+
* While the user is actively typing this is `false`, so we don't reformat
|
|
219
|
+
* mid-keystroke. Reset to `true` on blur / keydown-step / button / wheel / scrub.
|
|
220
|
+
*/
|
|
221
|
+
private allowInputSync;
|
|
222
|
+
/** Set after the first focus so we only move the caret to the end once. */
|
|
223
|
+
private hasTouchedInput;
|
|
224
|
+
/**
|
|
225
|
+
* Caret/selection a mask asked us to place after it rewrote the text. Applied
|
|
226
|
+
* in `updated()` once Lit has committed the new `.value` (which resets the
|
|
227
|
+
* caret to the end).
|
|
228
|
+
*/
|
|
229
|
+
private pendingSelection?;
|
|
230
|
+
private holdStartTimer?;
|
|
231
|
+
private holdTickTimer?;
|
|
232
|
+
private activePointerId?;
|
|
233
|
+
/** When a mouse pointerdown handled the change, suppress the synthetic click. */
|
|
234
|
+
private skipNextClick;
|
|
235
|
+
private scrubAccumulator;
|
|
236
|
+
private scrubMoved;
|
|
237
|
+
private scrubPointerDownTarget;
|
|
238
|
+
private onScrubMove;
|
|
239
|
+
private onScrubUp;
|
|
240
|
+
/** Bound non-passive wheel listener (attached only while wheel scrub is enabled). */
|
|
241
|
+
private onWheel;
|
|
242
|
+
private wheelAttached;
|
|
243
|
+
set form(id: string);
|
|
244
|
+
get form(): HTMLFormElement | null;
|
|
245
|
+
/** The effective lower bound for clamping, mirroring Base UI `minWithDefault`. */
|
|
246
|
+
private get minWithDefault();
|
|
247
|
+
/** The effective upper bound for clamping, mirroring Base UI `maxWithDefault`. */
|
|
248
|
+
private get maxWithDefault();
|
|
249
|
+
/** The base used by `incrementValue` when stepping from empty. */
|
|
250
|
+
private get minWithZeroDefault();
|
|
251
|
+
/**
|
|
252
|
+
* Whether a negative value is allowed, gating the minus sign in the input. A
|
|
253
|
+
* `min` of `0` or higher forbids negatives; an unset or negative `min` allows
|
|
254
|
+
* them (mirroring `minWithDefault`, which backs unset `min` with a value < 0).
|
|
255
|
+
*/
|
|
256
|
+
private get allowsNegative();
|
|
257
|
+
/**
|
|
258
|
+
* The numeric step used for stepping; `'any'` behaves as `1`. Guards against a
|
|
259
|
+
* non-positive / NaN `step` set directly as a property (which bypasses the
|
|
260
|
+
* attribute converter) by falling back to `1`.
|
|
261
|
+
*/
|
|
262
|
+
private get numericStep();
|
|
263
|
+
/** The PageUp/PageDown + Shift step, guarded against non-positive / NaN values. */
|
|
264
|
+
private get effectiveLargeStep();
|
|
265
|
+
/** The Alt/Option step, guarded against non-positive / NaN values. */
|
|
266
|
+
private get effectiveSmallStep();
|
|
267
|
+
/**
|
|
268
|
+
* The canonical displayed text for a value: the `formatValue` override if set,
|
|
269
|
+
* otherwise the locale `Intl` format. Applied on blur and on paste.
|
|
270
|
+
*/
|
|
271
|
+
private formatDisplay;
|
|
272
|
+
connectedCallback(): void;
|
|
273
|
+
disconnectedCallback(): void;
|
|
274
|
+
protected createRenderRoot(): HTMLDivElement | this;
|
|
275
|
+
/**
|
|
276
|
+
* Relocates the host's `slot="start"`/`slot="end"` children into the matching
|
|
277
|
+
* landing zone inside the control. Only direct host children are considered,
|
|
278
|
+
* and a child already sitting in its zone is left untouched, so repeated
|
|
279
|
+
* updates are idempotent and don't disturb focus, caret or pointer state.
|
|
280
|
+
*/
|
|
281
|
+
private relocateSlots;
|
|
282
|
+
protected willUpdate(changed: PropertyValues<this>): void;
|
|
283
|
+
protected updated(changed: PropertyValues): void;
|
|
284
|
+
/** Focus the inner input (mirrors combobox `focus`). */
|
|
285
|
+
focus(options?: FocusOptions): void;
|
|
286
|
+
/** The reasons that DON'T clamp when `allowOutOfRange` is set (direct text entry). */
|
|
287
|
+
private isTextReason;
|
|
288
|
+
/**
|
|
289
|
+
* The amount a single step changes the value, mirroring Base UI `getStepAmount`:
|
|
290
|
+
* Alt -> smallStep, Shift -> largeStep, otherwise step.
|
|
291
|
+
*/
|
|
292
|
+
private getStepAmount;
|
|
293
|
+
/**
|
|
294
|
+
* Validate, store, format and announce a new value.
|
|
295
|
+
*
|
|
296
|
+
* Returns whether a `change`/value update fired so callers can mirror Base UI's
|
|
297
|
+
* commit semantics.
|
|
298
|
+
*/
|
|
299
|
+
private setValue;
|
|
300
|
+
/**
|
|
301
|
+
* Step the value by `amount * direction`, mirroring Base UI `incrementValue`.
|
|
302
|
+
* Stepping from empty starts at `max(0, min ?? 0)`.
|
|
303
|
+
*/
|
|
304
|
+
private incrementValue;
|
|
305
|
+
/** Dispatch the committed `change` event with the current value + reason. */
|
|
306
|
+
private commit;
|
|
307
|
+
/**
|
|
308
|
+
* The set of non-numeric keys allowed in the input, mirroring Base UI's
|
|
309
|
+
* `getAllowedNonNumericKeys` (locale decimal/group/currency/percent + signs).
|
|
310
|
+
*/
|
|
311
|
+
private getAllowedNonNumericKeys;
|
|
312
|
+
private handleKeydown;
|
|
313
|
+
/**
|
|
314
|
+
* Whether every character in `text` could legitimately be part of a number in
|
|
315
|
+
* the current locale/format, mirroring Base UI `NumberFieldInput.onChange`'s
|
|
316
|
+
* `isValidCharacterString`. The keydown guard only sees physical keystrokes;
|
|
317
|
+
* this catches disallowed characters arriving via IME composition,
|
|
318
|
+
* drag-and-drop, or a programmatic `input.value` set, so they never land in
|
|
319
|
+
* the bound value.
|
|
320
|
+
*/
|
|
321
|
+
private isValidCharacterString;
|
|
322
|
+
private handleInput;
|
|
323
|
+
private handlePaste;
|
|
324
|
+
private handleFocus;
|
|
325
|
+
private handleBlur;
|
|
326
|
+
/** Sync the (possibly dirty) input text into `value` before a button press. */
|
|
327
|
+
private commitDirtyInput;
|
|
328
|
+
private handleStepPointerDown;
|
|
329
|
+
private handleStepPointerStop;
|
|
330
|
+
private handleStepClick;
|
|
331
|
+
private stopHold;
|
|
332
|
+
/** Whether the increment button should be disabled. */
|
|
333
|
+
private get incrementDisabled();
|
|
334
|
+
/** Whether the decrement button should be disabled. */
|
|
335
|
+
private get decrementDisabled();
|
|
336
|
+
private attachWheel;
|
|
337
|
+
private detachWheel;
|
|
338
|
+
private handleWheel;
|
|
339
|
+
/** The active element within this node's root (document or shadow root). */
|
|
340
|
+
private getActiveElement;
|
|
341
|
+
private handleScrubPointerDown;
|
|
342
|
+
private handleScrubMove;
|
|
343
|
+
private handleScrubUp;
|
|
344
|
+
private removeScrubListeners;
|
|
345
|
+
private handleScrubTouchStart;
|
|
346
|
+
private ownerWindow;
|
|
347
|
+
/**
|
|
348
|
+
* The `inputmode` for the inner input.
|
|
349
|
+
*
|
|
350
|
+
* Mirrors Base UI's `setDynamicInputModeForIOS` intent: the iOS numeric and
|
|
351
|
+
* decimal soft keyboards have no minus key, so when negatives are explicitly
|
|
352
|
+
* allowed (an explicit `min < 0`) we yield `text` so the user can type a
|
|
353
|
+
* minus sign on iOS. Otherwise the base mode is `numeric` when step/min/max
|
|
354
|
+
* are all integers and min >= 0, and `decimal` when fractional values are in
|
|
355
|
+
* play (so the iOS keyboard exposes a decimal point).
|
|
356
|
+
*
|
|
357
|
+
* Base UI swaps to `text`/`decimal` at runtime only on iOS; we compute the
|
|
358
|
+
* mode statically, and `text`/`decimal` are harmless supersets on platforms
|
|
359
|
+
* whose numeric keyboard already has the relevant keys. We gate the `text`
|
|
360
|
+
* mode on the explicit `min` prop (not the `Number.MIN_SAFE_INTEGER`-backed
|
|
361
|
+
* `minWithDefault`) so an unconstrained field keeps the friendlier `numeric`
|
|
362
|
+
* keypad, matching Base UI's default of `numeric`.
|
|
363
|
+
*/
|
|
364
|
+
private get computedInputMode();
|
|
365
|
+
/**
|
|
366
|
+
* The resolved side for the `currency` symbol: the explicit `currencyPlacement`
|
|
367
|
+
* when it is `'start'`/`'end'`, otherwise derived from the locale/currency via
|
|
368
|
+
* `Intl`. Only meaningful when `currency` is set.
|
|
369
|
+
*/
|
|
370
|
+
private get resolvedCurrencyPlacement();
|
|
371
|
+
render(): import("lit").TemplateResult<1>;
|
|
372
|
+
}
|
|
373
|
+
declare global {
|
|
374
|
+
interface HTMLElementTagNameMap {
|
|
375
|
+
'nord-number-field': NumberField;
|
|
376
|
+
}
|
|
377
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { NordEvent } from '../common/events.js';
|
|
2
|
+
/**
|
|
3
|
+
* The reason a number field value changed, mirroring Base UI's reason union.
|
|
4
|
+
*
|
|
5
|
+
* - `input-change` — a parseable value was typed (or set programmatically as text)
|
|
6
|
+
* - `input-clear` — the field was emptied
|
|
7
|
+
* - `input-blur` — the value was reformatted (and clamped, if enabled) on blur
|
|
8
|
+
* - `input-paste` — a value was pasted
|
|
9
|
+
* - `keyboard` — an Arrow / Page / Home / End key stepped the value
|
|
10
|
+
* - `increment-press` / `decrement-press` — a stepper button changed the value
|
|
11
|
+
* - `wheel` — the mouse wheel scrubbed the value
|
|
12
|
+
* - `scrub` — the scrub area was dragged
|
|
13
|
+
* - `none` — a programmatic / autofill change with no specific reason
|
|
14
|
+
*/
|
|
15
|
+
export type NumberFieldChangeReason = 'input-change' | 'input-clear' | 'input-blur' | 'input-paste' | 'keyboard' | 'increment-press' | 'decrement-press' | 'wheel' | 'scrub' | 'none';
|
|
16
|
+
/**
|
|
17
|
+
* Dispatched when the number field value is committed (on blur, on keyboard
|
|
18
|
+
* step, or on pointer-up after a button hold or scrub drag). Carries the raw
|
|
19
|
+
* numeric value and the reason it changed, mirroring Base UI `onValueCommitted`.
|
|
20
|
+
*
|
|
21
|
+
* The bare event name is `change`, so it composes with native form expectations
|
|
22
|
+
* exactly like the combobox's `change`.
|
|
23
|
+
*/
|
|
24
|
+
export declare class NumberFieldChangeEvent extends NordEvent {
|
|
25
|
+
/** The committed numeric value, or `null` when the field is empty. */
|
|
26
|
+
readonly value: number | null;
|
|
27
|
+
/** What triggered the commit. */
|
|
28
|
+
readonly reason: NumberFieldChangeReason;
|
|
29
|
+
static eventName: string;
|
|
30
|
+
constructor(
|
|
31
|
+
/** The committed numeric value, or `null` when the field is empty. */
|
|
32
|
+
value: number | null,
|
|
33
|
+
/** What triggered the commit. */
|
|
34
|
+
reason: NumberFieldChangeReason);
|
|
35
|
+
/** Convenience accessor mirroring `CustomEvent.detail`. */
|
|
36
|
+
get detail(): number | null;
|
|
37
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Currency helpers for Number Field's declarative `currency` convenience.
|
|
3
|
+
*
|
|
4
|
+
* Both functions are pure and depend only on `Intl` — no data files, no
|
|
5
|
+
* dependencies — so they are trivially unit-testable. They port NFE's currency
|
|
6
|
+
* logic (`useCurrency.getSuggestedCurrencyPlacement` / `getCurrencySymbol`),
|
|
7
|
+
* with the symbol derived from `Intl` instead of a static currency table.
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Resolves which side a currency symbol belongs on for a locale/currency pair,
|
|
11
|
+
* mirroring NFE's `getSuggestedCurrencyPlacement`: format a sample amount and
|
|
12
|
+
* inspect the emitted parts. When the first part is the currency the symbol
|
|
13
|
+
* leads (`'start'`, e.g. en-US `$1,111.10`); otherwise it trails (`'end'`, e.g.
|
|
14
|
+
* de-DE `1.111,10 €`). Falls back to `'start'` if `Intl` throws on the inputs.
|
|
15
|
+
*/
|
|
16
|
+
export declare function resolveCurrencyPlacement(locale: string | string[] | undefined, currency: string): 'start' | 'end';
|
|
17
|
+
/**
|
|
18
|
+
* Derives the locale-aware currency symbol from `Intl`, replacing NFE's static
|
|
19
|
+
* `supportedCurrencies.json` lookup. Formats zero with
|
|
20
|
+
* `currencyDisplay: 'narrowSymbol'` and returns the `currency` part (e.g. `$`,
|
|
21
|
+
* `€`, `kr`). Falls back to the raw ISO code when no symbol part is emitted or
|
|
22
|
+
* `Intl` throws on the inputs.
|
|
23
|
+
*/
|
|
24
|
+
export declare function getCurrencySymbol(locale: string | string[] | undefined, currency: string): string;
|