@nordhealth/components 3.17.0 → 3.18.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/README.md +1 -1
- package/custom-elements.json +3855 -3838
- package/lib/AutocompleteMixin-Dk_gVU09.js +2 -0
- package/lib/{AutocompleteMixin-5a7e10b2.js.map → AutocompleteMixin-Dk_gVU09.js.map} +1 -1
- 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 +1 -1
- package/lib/Button.js.map +1 -1
- package/lib/ButtonGroup.js +1 -1
- package/lib/ButtonGroup.js.map +1 -1
- package/lib/Calendar-loNMUV5l.js +2 -0
- package/lib/Calendar-loNMUV5l.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/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-BuB0QgQM.js +2 -0
- package/lib/Component-BuB0QgQM.js.map +1 -0
- package/lib/DatePicker.js +1 -1
- package/lib/DatePicker.js.map +1 -1
- package/lib/DateSelectEvent.js +1 -1
- package/lib/DateSelectEvent.js.map +1 -1
- package/lib/{DirectionController-f35f5476.js → DirectionController-DiJ1Su1I.js} +1 -1
- package/lib/{DirectionController-f35f5476.js.map → DirectionController-DiJ1Su1I.js.map} +1 -1
- package/lib/Divider.js +1 -1
- package/lib/Divider.js.map +1 -1
- 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-DpwKwVOT.js +2 -0
- package/lib/DropdownItem-DpwKwVOT.js.map +1 -0
- package/lib/DropdownItem.js +1 -1
- package/lib/DropdownItem.js.map +1 -1
- package/lib/EmptyState.js +1 -1
- package/lib/EmptyState.js.map +1 -1
- package/lib/{EventController-d99ebeef.js → EventController-BG-WpaBb.js} +1 -1
- package/lib/{EventController-d99ebeef.js.map → EventController-BG-WpaBb.js.map} +1 -1
- package/lib/Fieldset.js +1 -1
- package/lib/Fieldset.js.map +1 -1
- package/lib/FocusableMixin-DriuCNli.js +2 -0
- package/lib/{FocusableMixin-d30213b4.js.map → FocusableMixin-DriuCNli.js.map} +1 -1
- package/lib/Footer.js +1 -1
- package/lib/Footer.js.map +1 -1
- package/lib/FormAssociatedMixin-DXVeQVgN.js +2 -0
- package/lib/{FormAssociatedMixin-3fa55d53.js.map → FormAssociatedMixin-DXVeQVgN.js.map} +1 -1
- package/lib/{FormDataController-592ff3dd.js → FormDataController-OUt5L5uC.js} +1 -1
- package/lib/FormDataController-OUt5L5uC.js.map +1 -0
- package/lib/FormField-Cl7HHI9A.js +2 -0
- package/lib/FormField-Cl7HHI9A.js.map +1 -0
- package/lib/Header.js +1 -1
- package/lib/Header.js.map +1 -1
- package/lib/Icon.js +2 -2
- package/lib/Icon.js.map +1 -1
- package/lib/IconManager.js +1 -1
- package/lib/Input.js +1 -1
- package/lib/Input.js.map +1 -1
- package/lib/InputMixin-B-nPfhjc.js +2 -0
- package/lib/InputMixin-B-nPfhjc.js.map +1 -0
- 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-0a66b0a0.js → LightDismissController-BBolVMtn.js} +2 -2
- package/lib/LightDismissController-BBolVMtn.js.map +1 -0
- package/lib/LightDomController-BtyFuJKD.js +2 -0
- package/lib/LightDomController-BtyFuJKD.js.map +1 -0
- package/lib/LightSlotController-BDkcldj-.js +2 -0
- package/lib/LightSlotController-BDkcldj-.js.map +1 -0
- package/lib/LocalizeController.js.map +1 -1
- package/lib/Message.js +1 -1
- package/lib/Message.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/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-BW4ie2pA.js +2 -0
- package/lib/{NavToggle-735b5262.js.map → NavToggle-BW4ie2pA.js.map} +1 -1
- 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/NotificationMixin-BMymOlRC.js +2 -0
- package/lib/{NotificationMixin-207f1f56.js.map → NotificationMixin-BMymOlRC.js.map} +1 -1
- package/lib/Popout-CqmQIaOr.js +2 -0
- package/lib/Popout-CqmQIaOr.js.map +1 -0
- package/lib/Popout.js +1 -1
- package/lib/ProgressBar.js +1 -1
- package/lib/ProgressBar.js.map +1 -1
- package/lib/Qrcode.js +1 -1
- package/lib/Qrcode.js.map +1 -1
- 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/{ScrollbarController-773c79f4.js → ScrollbarController-C5CMxfb3.js} +1 -1
- package/lib/{ScrollbarController-773c79f4.js.map → ScrollbarController-C5CMxfb3.js.map} +1 -1
- package/lib/SegmentedControl.js +1 -1
- package/lib/SegmentedControl.js.map +1 -1
- package/lib/SegmentedControlItem.js +1 -1
- package/lib/SegmentedControlItem.js.map +1 -1
- package/lib/Select.js +1 -1
- package/lib/Select.js.map +1 -1
- package/lib/SelectEvent.js +1 -1
- package/lib/{ShortcutController-87615e31.js → ShortcutController-nMRUu6ns.js} +2 -2
- package/lib/{ShortcutController-87615e31.js.map → ShortcutController-nMRUu6ns.js.map} +1 -1
- package/lib/SizeMixin-DW6qUBEN.js +2 -0
- package/lib/{SizeMixin-ab074eff.js.map → SizeMixin-DW6qUBEN.js.map} +1 -1
- package/lib/Skeleton.js +1 -1
- package/lib/Skeleton.js.map +1 -1
- package/lib/{SlotController-d733c575.js → SlotController-BL-tOh6b.js} +2 -2
- package/lib/SlotController-BL-tOh6b.js.map +1 -0
- 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/Sticky--4fNQ3K3.js +2 -0
- package/lib/Sticky--4fNQ3K3.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-CmHW8rL5.js +2 -0
- package/lib/{TextField-2d778949.js.map → TextField-CmHW8rL5.js.map} +1 -1
- package/lib/TextSelectableMixin-B_mtmFv0.js +2 -0
- package/lib/{TextSelectableMixin-aac97d82.js.map → TextSelectableMixin-B_mtmFv0.js.map} +1 -1
- package/lib/Textarea.js +1 -1
- package/lib/Textarea.js.map +1 -1
- 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/VisuallyHidden.js +1 -1
- package/lib/VisuallyHidden.js.map +1 -1
- package/lib/bundle.js +19 -41
- package/lib/bundle.js.map +1 -1
- package/lib/class-map-BQZJmA_8.js +7 -0
- package/lib/class-map-BQZJmA_8.js.map +1 -0
- package/lib/collection-CJHuUy_1.js +7 -0
- package/lib/collection-CJHuUy_1.js.map +1 -0
- package/lib/cond-Cuc_PMkN.js +2 -0
- package/lib/{cond-bb9ee891.js.map → cond-Cuc_PMkN.js.map} +1 -1
- package/lib/custom-element-CDWT-yC_.js +30 -0
- package/lib/custom-element-CDWT-yC_.js.map +1 -0
- package/lib/date-adapter.js +1 -1
- package/lib/{dates-5b651fbe.js → dates-lbaNvUdr.js} +2 -2
- package/lib/{dates-5b651fbe.js.map → dates-lbaNvUdr.js.map} +1 -1
- package/lib/{directive-e9ce14b4.js → directive-DQ0jBES2.js} +2 -2
- package/lib/directive-DQ0jBES2.js.map +1 -0
- package/lib/{events-d9666e88.js → events-Bv6wNHwJ.js} +1 -1
- package/lib/{events-d9666e88.js.map → events-Bv6wNHwJ.js.map} +1 -1
- package/lib/{fsm-50373df9.js → fsm-Bq5jMQrK.js} +1 -1
- package/lib/fsm-Bq5jMQrK.js.map +1 -0
- package/lib/if-defined-C2kZHWU2.js +7 -0
- package/lib/if-defined-C2kZHWU2.js.map +1 -0
- package/lib/index.js +1 -1
- package/lib/{interface-checked-small-07292940.js → interface-checked-small-BtICPEsp.js} +2 -2
- package/lib/{interface-checked-small-07292940.js.map → interface-checked-small-BtICPEsp.js.map} +1 -1
- package/lib/{interface-close-small-f26b0299.js → interface-close-small-CnpAFMO3.js} +2 -2
- package/lib/{interface-close-small-f26b0299.js.map → interface-close-small-CnpAFMO3.js.map} +1 -1
- package/lib/{number-c3ab3e95.js → number-Dg2vCfGd.js} +1 -1
- package/lib/{number-c3ab3e95.js.map → number-Dg2vCfGd.js.map} +1 -1
- package/lib/{observe-a9c6dfb6.js → observe-D0n0zOfU.js} +1 -1
- package/lib/observe-D0n0zOfU.js.map +1 -0
- package/lib/positioning-CHP-_dKQ.js +2 -0
- package/lib/positioning-CHP-_dKQ.js.map +1 -0
- package/lib/property-DeTTNf1t.js +7 -0
- package/lib/property-DeTTNf1t.js.map +1 -0
- package/lib/query-hiZs21fO.js +12 -0
- package/lib/query-hiZs21fO.js.map +1 -0
- package/lib/ref-BYkj-TPb.js +17 -0
- package/lib/ref-BYkj-TPb.js.map +1 -0
- package/lib/src/avatar/Avatar.d.ts +3 -3
- package/lib/src/badge/Badge.d.ts +1 -1
- package/lib/src/banner/Banner.d.ts +1 -1
- package/lib/src/button-group/ButtonGroup.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/checkbox/Checkbox.d.ts +1 -1
- package/lib/src/command-menu/CommandMenu.d.ts +1 -1
- package/lib/src/command-menu/CommandMenuAction.d.ts +1 -1
- package/lib/src/date-picker/DatePicker.d.ts +6 -1
- package/lib/src/drawer/Drawer.d.ts +1 -1
- package/lib/src/dropdown/Dropdown.d.ts +5 -4
- package/lib/src/dropdown-group/DropdownGroup.d.ts +1 -1
- package/lib/src/empty-state/EmptyState.d.ts +1 -1
- package/lib/src/fieldset/Fieldset.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/input/Input.d.ts +2 -2
- package/lib/src/layout/Layout.d.ts +1 -1
- package/lib/src/modal/Modal.d.ts +1 -1
- package/lib/src/nav-group/NavGroup.d.ts +1 -1
- package/lib/src/nav-toggle/NavToggle.d.ts +1 -1
- package/lib/src/navigation/Navigation.d.ts +1 -1
- package/lib/src/notification/Notification.d.ts +1 -1
- package/lib/src/notification-group/NotificationGroup.d.ts +1 -1
- package/lib/src/popout/Popout.d.ts +1 -1
- package/lib/src/progress-bar/ProgressBar.d.ts +1 -1
- package/lib/src/qrcode/Qrcode.d.ts +1 -1
- package/lib/src/radio/Radio.d.ts +1 -1
- package/lib/src/range/Range.d.ts +1 -1
- package/lib/src/segmented-control/SegmentedControl.d.ts +1 -1
- package/lib/src/segmented-control-item/SegmentedControlItem.d.ts +1 -1
- package/lib/src/select/Select.d.ts +1 -1
- package/lib/src/skeleton/Skeleton.d.ts +1 -1
- package/lib/src/spinner/Spinner.d.ts +1 -1
- package/lib/src/stack/Stack.d.ts +1 -1
- package/lib/src/tab/Tab.d.ts +1 -1
- package/lib/src/tab-group/TabGroup.d.ts +1 -1
- package/lib/src/tab-panel/TabPanel.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/textarea/Textarea.d.ts +1 -1
- package/lib/src/toast/Toast.d.ts +1 -1
- package/lib/src/toast-group/ToastGroup.d.ts +1 -1
- package/lib/src/toggle/Toggle.d.ts +1 -1
- package/lib/src/tooltip/Tooltip.d.ts +1 -1
- package/lib/src/top-bar/TopBar.d.ts +1 -1
- package/lib/src/visually-hidden/VisuallyHidden.d.ts +1 -1
- package/lib/state-BFYKuryf.js +7 -0
- package/lib/state-BFYKuryf.js.map +1 -0
- package/lib/style-map-VR90KNpY.js +7 -0
- package/lib/style-map-VR90KNpY.js.map +1 -0
- package/lib/test-utils/commands/examples/command.d.ts +13 -0
- package/lib/test-utils/commands/mouse/command.d.ts +7 -0
- package/lib/test-utils/commands/select/command.d.ts +5 -0
- package/lib/test-utils/spy.d.ts +13 -0
- package/lib/{tinykeys.module-84e6cc41.js → tinykeys.module-_6MZt7MP.js} +1 -1
- package/lib/{tinykeys.module-84e6cc41.js.map → tinykeys.module-_6MZt7MP.js.map} +1 -1
- package/lib/translation.js +1 -1
- package/lib/translation.js.map +1 -1
- package/package.json +53 -65
- package/lib/AutocompleteMixin-5a7e10b2.js +0 -2
- package/lib/Calendar-5fbf9d8d.js +0 -2
- package/lib/Calendar-5fbf9d8d.js.map +0 -1
- package/lib/Component-2253424f.js +0 -2
- package/lib/Component-2253424f.js.map +0 -1
- package/lib/DropdownItem-32052903.js +0 -2
- package/lib/DropdownItem-32052903.js.map +0 -1
- package/lib/FocusableMixin-d30213b4.js +0 -2
- package/lib/FormAssociatedMixin-3fa55d53.js +0 -2
- package/lib/FormDataController-592ff3dd.js.map +0 -1
- package/lib/FormField-bf5eb166.js +0 -2
- package/lib/FormField-bf5eb166.js.map +0 -1
- package/lib/InputMixin-83b5bd46.js +0 -2
- package/lib/InputMixin-83b5bd46.js.map +0 -1
- package/lib/LightDismissController-0a66b0a0.js.map +0 -1
- package/lib/LightDomController-5388d84c.js +0 -2
- package/lib/LightDomController-5388d84c.js.map +0 -1
- package/lib/LightSlotController-c51e9cf5.js +0 -2
- package/lib/LightSlotController-c51e9cf5.js.map +0 -1
- package/lib/NavToggle-735b5262.js +0 -2
- package/lib/NotificationMixin-207f1f56.js +0 -2
- package/lib/Popout-9ea00c67.js +0 -2
- package/lib/Popout-9ea00c67.js.map +0 -1
- package/lib/SizeMixin-ab074eff.js +0 -2
- package/lib/SlotController-d733c575.js.map +0 -1
- package/lib/Sticky-c34c9b12.js +0 -2
- package/lib/Sticky-c34c9b12.js.map +0 -1
- package/lib/TextField-2d778949.js +0 -2
- package/lib/TextSelectableMixin-aac97d82.js +0 -2
- package/lib/class-map-512f0bc1.js +0 -7
- package/lib/class-map-512f0bc1.js.map +0 -1
- package/lib/collection-511dcfac.js +0 -7
- package/lib/collection-511dcfac.js.map +0 -1
- package/lib/cond-bb9ee891.js +0 -2
- package/lib/directive-e9ce14b4.js.map +0 -1
- package/lib/fsm-50373df9.js.map +0 -1
- package/lib/if-defined-cccde88f.js +0 -7
- package/lib/if-defined-cccde88f.js.map +0 -1
- package/lib/observe-a9c6dfb6.js.map +0 -1
- package/lib/positioning-35c8d434.js +0 -2
- package/lib/positioning-35c8d434.js.map +0 -1
- package/lib/property-c78323b1.js +0 -7
- package/lib/property-c78323b1.js.map +0 -1
- package/lib/query-36bfe0e4.js +0 -12
- package/lib/query-36bfe0e4.js.map +0 -1
- package/lib/query-assigned-elements-92ce7494.js +0 -51
- package/lib/query-assigned-elements-92ce7494.js.map +0 -1
- package/lib/ref-99418ab4.js +0 -17
- package/lib/ref-99418ab4.js.map +0 -1
- package/lib/state-d31c6912.js +0 -7
- package/lib/state-d31c6912.js.map +0 -1
- package/lib/style-map-f8a1c8d5.js +0 -7
- package/lib/style-map-f8a1c8d5.js.map +0 -1
package/lib/Calendar-5fbf9d8d.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{i as e,_ as a,s as t,x as n,e as s}from"./query-assigned-elements-92ce7494.js";import{n as i}from"./property-c78323b1.js";import{t as o}from"./state-d31c6912.js";import{i as r}from"./query-36bfe0e4.js";import{o as l}from"./class-map-512f0bc1.js";import{c as d,m as c,a as h}from"./collection-511dcfac.js";import{o as u}from"./tinykeys.module-84e6cc41.js";import"./Button.js";import"./VisuallyHidden.js";import p from"./Icon.js";import{E as v}from"./EventController-d99ebeef.js";import{D as f}from"./DirectionController-f35f5476.js";import{LocalizeController as g}from"./LocalizeController.js";import{c as m}from"./cond-bb9ee891.js";import{r as b}from"./number-c3ab3e95.js";import{i as y,p as w,a as x,s as D,e as k,b as z,g as $,c as F,d as _,f as Y,h as j,j as S,k as M,l as T,m as C,n as N}from"./dates-5b651fbe.js";import{o as L}from"./observe-a9c6dfb6.js";import{DateSelectEvent as O}from"./DateSelectEvent.js";import{s as X}from"./Component-2253424f.js";var E=Object.freeze({__proto__:null,default:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="m6.92903.100342-2.12132 2.121318 7.77819 7.77818-7.77828 7.77826 2.12132 2.1213 8.48536-8.4853c.7811-.7811.7811-2.04743 0-2.82848z" fill="currentColor"/></svg>',title:"arrow-right-small",tags:"nordicon arrow right small caret pointing triangle chevron"});var W=Object.freeze({__proto__:null,default:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="m13.0712.105225 2.1213 2.121315-7.77816 7.77816 7.77826 7.7783-2.1213 2.1213-8.48539-8.4854c-.78105-.781-.78105-2.04735 0-2.82839z" fill="currentColor"/></svg>',title:"arrow-left-small",tags:"nordicon arrow left small caret pointing triangle chevron"});var U=Object.freeze({__proto__:null,default:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="m.100342 6.92903 2.121318-2.12132 7.77818 7.77819 7.77826-7.77828 2.1213 2.12132-8.4853 8.48536c-.7811.7811-2.04743.7811-2.82848 0z" fill="currentColor"/></svg>',title:"arrow-down-small",tags:"nordicon arrow down small caret pointing triangle chevron"});const A=e=>e.preventDefault();class I{constructor(e,a){this.hadFirstUpdate=!1,this.initialTouchX=0,this.initialTouchY=0,this.handleTouchStart=e=>{const[{pageX:a,pageY:t}]=e.changedTouches;this.initialTouchX=a,this.initialTouchY=t},this.handleTouchEnd=e=>{const[{pageX:a,pageY:t}]=e.changedTouches,{matchesGesture:n,onSwipeEnd:s}=this.options,i=a-this.initialTouchX,o=t-this.initialTouchY,r={initialX:this.initialTouchX,initialY:this.initialTouchY,pageX:a,pageY:t,distX:i,distY:o};n(r)&&(e.preventDefault(),s(r))},e.addController(this),this.events=new v(e),this.options={target:()=>e,...a}}hostUpdated(){if(!this.hadFirstUpdate){this.hadFirstUpdate=!0;const e=this.options.target();this.events.listen(e,"touchstart",this.handleTouchStart),this.events.listen(e,"touchmove",A),this.events.listen(e,"touchend",this.handleTouchEnd)}}hostDisconnected(){this.hadFirstUpdate=!1}}const P=({distX:e,distY:a})=>Math.abs(e)>=70&&Math.abs(a)<=70,B=({distX:e,distY:a})=>Math.abs(a)>=70&&Math.abs(e)<=70&&a>0,H=e`:host{--_n-calendar-box-shadow:var(--n-calendar-box-shadow, var(--n-box-shadow-popout));--_n-calendar-border-radius:var(--n-calendar-border-radius, var(--n-border-radius-s));--_n-calendar-highlight-color:var(--n-calendar-highlight-color, var(--n-color-accent));--_n-calendar-padding:var(--n-space-m) var(--n-space-m) calc(var(--n-space-m) * 1.25);--_n-calendar-inline-size:max-content;font-feature-settings:var(--n-font-features-reduced)}.n-calendar{-webkit-user-select:none;user-select:none;background:var(--n-color-surface);box-shadow:var(--_n-calendar-box-shadow);border-radius:var(--_n-calendar-border-radius);inline-size:var(--_n-calendar-inline-size);min-inline-size:min-content;padding:var(--_n-calendar-padding)}:host([expand]){--_n-calendar-inline-size:100%}.n-calendar-table{border-collapse:collapse;border-spacing:0;color:var(--n-color-text);font-size:var(--n-font-size-m);font-weight:var(--n-font-weight);text-align:center;inline-size:100%}.n-calendar-table-header{font-size:var(--n-font-size-s);font-weight:var(--n-font-weight-active);letter-spacing:1px;padding-block-end:var(--n-space-s);text-decoration:none;text-transform:uppercase}.n-calendar-cell{text-align:center;padding:1px}.n-calendar-day{-moz-appearance:none;-webkit-appearance:none;appearance:none;background:0 0;border:0;border-radius:var(--n-border-radius-s);color:var(--n-color-text);cursor:pointer;display:inline-block;font-family:var(--n-font-family);font-size:var(--n-font-size-m);font-weight:var(--n-font-weight);font-variant-numeric:tabular-nums;block-size:var(--n-space-xl);inline-size:var(--n-space-xl);padding:0 0 1px;position:relative;text-align:center;vertical-align:middle}.n-calendar-day[aria-current=date]{box-shadow:0 0 0 1px var(--n-color-text-link);color:var(--n-color-text-link);position:relative}.n-calendar-day:hover{background:var(--n-color-active)}.n-calendar-day:focus,.n-calendar-day[aria-pressed=true]{background:var(--n-color-accent);box-shadow:none;color:var(--n-color-text-on-accent);outline:0}.n-calendar-day:active{background:var(--n-color-accent);box-shadow:none!important;color:var(--n-color-text-on-accent)}.n-calendar-day:focus{box-shadow:0 0 5px var(--n-color-accent)}.n-calendar-day:not(.is-month){box-shadow:none}.n-calendar-day:not(.is-month),.n-calendar-day[aria-disabled=true]{background:0 0;color:var(--n-color-text-weakest);cursor:default}.n-calendar-day[aria-disabled=true]{color:var(--n-color-text-weaker);text-decoration:line-through}.n-calendar-day:not(.is-month)[aria-disabled=true]{color:var(--n-color-text-weakest);text-decoration:none}.n-calendar-day[aria-disabled=true][aria-current=date]{box-shadow:0 0 0 1px var(--n-color-accent);color:var(--n-color-text-link)}.n-calendar-day[aria-disabled=true][aria-current=date]:focus{box-shadow:0 0 5px var(--n-color-accent);background:var(--n-color-accent);color:var(--n-color-text-on-accent)}.n-calendar-day[aria-disabled=true]:not([aria-current=date])::before{display:none}.n-calendar-day.is-outside{background:0 0;box-shadow:none;color:var(--n-color-text-weakest);cursor:default;pointer-events:none}.n-calendar-day.is-outside::before{display:none}.n-calendar-day.is-highlighted::after{--_n-calendar-highlight-size:5px;content:"";position:absolute;inset-inline-start:calc(50% - (var(--_n-calendar-highlight-size)/ 2));inset-block-end:var(--n-space-xs);block-size:var(--_n-calendar-highlight-size);inline-size:var(--_n-calendar-highlight-size);border-radius:var(--n-border-radius-circle);background-color:var(--_n-calendar-highlight-color)}.n-calendar-day.is-highlighted.is-month:is([aria-pressed=true],:focus):not([aria-disabled=true])::after{background-color:var(--n-color-text-on-accent)}.n-calendar-day.is-highlighted:is(:not(.is-month),.is-outside,[aria-disabled=true])::after{background-color:var(--n-color-text-weakest)}.n-calendar-header{align-items:start;display:flex;justify-content:space-between;margin-block-end:var(--n-space-m);inline-size:100%}.n-calendar-nav{white-space:nowrap}.n-calendar-nav nord-button{--_n-button-padding-inline:11px;margin-inline-start:var(--n-space-xs)}.n-calendar-select{display:inline-flex;margin-block-start:var(--n-space-xs);position:relative;line-height:var(--n-line-height)}.n-calendar-select span{margin-inline-end:var(--n-space-s)}.n-calendar-select select{cursor:pointer;font-size:var(--n-font-size-l);block-size:100%;inset-inline-start:0;opacity:0;position:absolute;inset-block-start:0;inline-size:100%}.n-calendar-select select:focus+.n-calendar-select-label{box-shadow:0 0 0 2px var(--n-color-accent)}.n-calendar-select-label{display:flex;align-items:center;border-radius:var(--n-border-radius-s);color:var(--n-color-text);font-size:var(--n-font-size-xl);font-weight:var(--n-font-weight-active);padding-block:0;padding-inline-start:var(--n-space-s);padding-inline-end:var(--n-space-xs);pointer-events:none;position:relative;inline-size:100%}`;p.registerIcon(E),p.registerIcon(W),p.registerIcon(U);const R=e=>a=>{a.preventDefault(),e(a)},V=()=>!1,q=()=>!1,G="dialog-header";let Z=class extends t{constructor(){super(...arguments),this.direction=new f(this),this.swipe=new I(this,{matchesGesture:P,onSwipeEnd:({distX:e})=>this.addMonths(e<0?1:-1)}),this.shortcuts=u({ArrowRight:R((()=>this.addDays(this.direction.isLTR?1:-1))),ArrowLeft:R((()=>this.addDays(this.direction.isLTR?-1:1))),ArrowDown:R((()=>this.addDays(7))),ArrowUp:R((()=>this.addDays(-7))),Home:R((()=>this.startOfWeek())),End:R((()=>this.endOfWeek())),PageUp:R((()=>this.addMonths(-1))),PageDown:R((()=>this.addMonths(1))),"Shift+PageUp":R((()=>this.addYears(-1))),"Shift+PageDown":R((()=>this.addYears(1)))}),this.localize=new g(this,{onLangChange:()=>this.handleLangChange()}),this.value="",this.firstDayOfWeek=1,this.expand=!1,this.isDateDisabled=V,this.isDateHighlighted=q,this.activeFocus=!1,this.focusedDay=new Date,this.handleDaySelect=e=>{const a=y(e,w(this.min||""),w(this.max||"")),t=!this.isDateDisabled(e);a&&t&&(this.value=x(e),this.dispatchEvent(new O("change",e)))},this.handleMonthSelect=e=>{this.setMonth(parseInt(e.target.value,10))},this.handleYearSelect=e=>{this.setYear(parseInt(e.target.value,10))},this.handleNextMonthClick=e=>{e.preventDefault(),this.addMonths(1)},this.handlePreviousMonthClick=e=>{e.preventDefault(),this.addMonths(-1)},this.enableActiveFocus=()=>{this.activeFocus=!0},this.disableActiveFocus=e=>{const a=e.currentTarget,t=e.relatedTarget;t&&!a.contains(t)&&(this.activeFocus=!1)}}focus(e){var a;const t=null!==(a=null==e?void 0:e.target)&&void 0!==a?a:"day";"day"===t?this.focusedDayNode.focus():"month"===t&&this.monthSelectNode.focus()}render(){const e=new Date,a=w(this.value),t=this.focusedDay.getMonth(),s=this.focusedDay.getFullYear(),i=w(this.min||""),o=w(this.max||""),r=i?D(i):void 0,u=o?k(o):void 0,p=(a||this.focusedDay).getFullYear(),v=i?i.getFullYear():p-10,f=o?o.getFullYear():p+10;return n`<div class="n-calendar"><div class="n-calendar-header"><div><nord-visually-hidden><h2 id="${G}" aria-live="polite" aria-atomic="true">${this.monthNames[t]}, ${this.focusedDay.getFullYear()}</h2></nord-visually-hidden><div class="n-calendar-select"><select aria-label="${this.localize.term("monthSelectLabel")}" class="n-calendar-select-month" @input="${this.handleMonthSelect}">${this.monthNames.map(((e,a)=>n`<option value="${a}" ?selected="${a===t}" ?disabled="${!y(new Date(s,a,1),r,u)}">${e}</option>`))}</select><div class="n-calendar-select-label" aria-hidden="true"><span>${this.monthNamesShort[t]}</span><nord-icon color="var(--n-color-icon)" name="arrow-down-small" size="xxs"></nord-icon></div></div><div class="n-calendar-select"><select aria-label="${this.localize.term("yearSelectLabel")}" class="n-calendar-select-year" @input="${this.handleYearSelect}">${d(b(v,f),(e=>e),(e=>n`<option ?selected="${e===s}">${e}</option>`))}</select><div class="n-calendar-select-label" aria-hidden="true"><span>${this.focusedDay.getFullYear()}</span><nord-icon color="var(--n-color-icon)" name="arrow-down-small" size="xxs"></nord-icon></div></div></div><div class="n-calendar-nav"><nord-button class="n-calendar-prev" @click="${this.handlePreviousMonthClick}" ?disabled="${z(i,this.focusedDay)}" type="button"><nord-visually-hidden>${this.localize.term("prevMonthLabel")}</nord-visually-hidden><nord-icon name="${this.direction.isLTR?"arrow-left-small":"arrow-right-small"}" size="s"></nord-icon></nord-button><nord-button class="n-calendar-next" @click="${this.handleNextMonthClick}" ?disabled="${z(o,this.focusedDay)}" type="button"><nord-visually-hidden>${this.localize.term("nextMonthLabel")}</nord-visually-hidden><nord-icon name="${this.direction.isLTR?"arrow-right-small":"arrow-left-small"}" size="s"></nord-icon></nord-button></div></div><table class="n-calendar-table" aria-labelledby="${G}" @focusin="${this.enableActiveFocus}" @focusout="${this.disableActiveFocus}"><thead><tr>${c(this.dayNames,this.firstDayOfWeek,((e,a)=>n`<th class="n-calendar-table-header" scope="col"><span aria-hidden="true">${this.dayNamesShort[a]}</span><nord-visually-hidden>${e}</nord-visually-hidden></th>`))}</tr></thead><tbody>${h($(this.focusedDay,this.firstDayOfWeek),7).map((t=>n`<tr class="n-calendar-row">${t.map((t=>{const s=!y(t,i,o),r=F(t,e),d=this.isDateDisabled(t),c=F(t,a),h=z(t,this.focusedDay),u=this.isDateHighlighted(t),p=this.dateFormatShort.format(t),v=u&&"string"==typeof u?`${p}, ${u}`:p;return n`<td class="n-calendar-cell"><button type="button" tabindex="${F(t,this.focusedDay)?0:-1}" class="${l({"n-calendar-day":!0,"is-outside":s,"is-month":h,"is-highlighted":u})}" @click="${()=>this.handleDaySelect(t)}" @keydown="${this.shortcuts}" ?disabled="${s}" aria-disabled="${m(d,"true")}" aria-pressed="${c?"true":"false"}" aria-current="${m(r,"date")}" aria-label="${v}"><span aria-hidden="true">${t.getDate()}</span></button></td>`}))}</tr>`))}</tbody></table></div>`}handleValueChange(){this.setFocusedDay(w(this.value)||new Date)}handleFocusedDayChange(){this.activeFocus&&this.focusedDayNode.focus()}handleLangChange(){const e=this.localize.resolvedLang;this.dateFormatShort=new Intl.DateTimeFormat(e,{timeZone:"UTC",day:"numeric",month:"long"}),this.monthNames=_(e,"long"),this.monthNamesShort=_(e,"short"),this.dayNames=Y(e,"long"),this.dayNamesShort=Y(e,"narrow")}addDays(e){this.setFocusedDay(j(this.focusedDay,e))}addMonths(e){this.setMonth(this.focusedDay.getMonth()+e)}addYears(e){this.setYear(this.focusedDay.getFullYear()+e)}startOfWeek(){this.setFocusedDay(S(this.focusedDay,this.firstDayOfWeek))}endOfWeek(){this.setFocusedDay(M(this.focusedDay,this.firstDayOfWeek))}setMonth(e){const a=T(D(this.focusedDay),e),t=k(a),n=T(this.focusedDay,e);this.setFocusedDay(C(n,a,t))}setYear(e){const a=N(D(this.focusedDay),e),t=k(a),n=N(this.focusedDay,e);this.setFocusedDay(C(n,a,t))}setFocusedDay(e){this.focusedDay=C(e,w(this.min||""),w(this.max||"")),this.dispatchEvent(new O("nord-focus-date",this.focusedDay))}};Z.styles=[X,H],a([r(".n-calendar-select-month",!0)],Z.prototype,"monthSelectNode",void 0),a([r('button[tabindex="0"]')],Z.prototype,"focusedDayNode",void 0),a([i()],Z.prototype,"value",void 0),a([i({reflect:!0,type:Number,attribute:"first-day-of-week"})],Z.prototype,"firstDayOfWeek",void 0),a([i({reflect:!0})],Z.prototype,"min",void 0),a([i({reflect:!0})],Z.prototype,"max",void 0),a([i({reflect:!0,type:Boolean})],Z.prototype,"expand",void 0),a([i({attribute:!1})],Z.prototype,"isDateDisabled",void 0),a([i({attribute:!1})],Z.prototype,"isDateHighlighted",void 0),a([o()],Z.prototype,"activeFocus",void 0),a([o()],Z.prototype,"focusedDay",void 0),a([L("value")],Z.prototype,"handleValueChange",null),a([L("focusedDay","updated")],Z.prototype,"handleFocusedDayChange",null),Z=a([s("nord-calendar")],Z);var J=Z;export{J as C,I as S,B as i};
|
|
2
|
-
//# sourceMappingURL=Calendar-5fbf9d8d.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Calendar-5fbf9d8d.js","sources":["../../icons/lib/assets/arrow-right-small.js","../../icons/lib/assets/arrow-left-small.js","../../icons/lib/assets/arrow-down-small.js","../src/common/controllers/SwipeController.ts","../src/calendar/Calendar.ts"],"sourcesContent":["export default '<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"m6.92903.100342-2.12132 2.121318 7.77819 7.77818-7.77828 7.77826 2.12132 2.1213 8.48536-8.4853c.7811-.7811.7811-2.04743 0-2.82848z\" fill=\"currentColor\"/></svg>'\nexport const title = \"arrow-right-small\"\nexport const tags = \"nordicon arrow right small caret pointing triangle chevron\"\n","export default '<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"m13.0712.105225 2.1213 2.121315-7.77816 7.77816 7.77826 7.7783-2.1213 2.1213-8.48539-8.4854c-.78105-.781-.78105-2.04735 0-2.82839z\" fill=\"currentColor\"/></svg>'\nexport const title = \"arrow-left-small\"\nexport const tags = \"nordicon arrow left small caret pointing triangle chevron\"\n","export default '<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"m.100342 6.92903 2.121318-2.12132 7.77818 7.77819 7.77826-7.77828 2.1213 2.12132-8.4853 8.48536c-.7811.7811-2.04743.7811-2.82848 0z\" fill=\"currentColor\"/></svg>'\nexport const title = \"arrow-down-small\"\nexport const tags = \"nordicon arrow down small caret pointing triangle chevron\"\n","import { ReactiveController, ReactiveElement } from \"lit\"\nimport { EventController } from \"./EventController.js\"\n\nexport type SwipeDetails = {\n initialX: number\n initialY: number\n pageX: number\n pageY: number\n distX: number\n distY: number\n}\n\nconst preventDefault = (e: Event) => e.preventDefault()\n\ntype SetRequired<T, K extends keyof T> = T & { [Property in K]-?: T[K] }\ntype SwipeControllerOptions = {\n target?: () => HTMLElement\n matchesGesture: (details: SwipeDetails) => boolean\n onSwipeEnd: (details: SwipeDetails) => void\n}\n\nexport class SwipeController implements ReactiveController {\n private events: EventController\n private hadFirstUpdate = false\n\n private initialTouchX: number = 0\n private initialTouchY: number = 0\n private options: SetRequired<SwipeControllerOptions, \"target\">\n\n constructor(host: ReactiveElement, options: SwipeControllerOptions) {\n host.addController(this)\n this.events = new EventController(host)\n\n this.options = {\n target: () => host,\n ...options,\n }\n }\n\n hostUpdated() {\n if (!this.hadFirstUpdate) {\n this.hadFirstUpdate = true\n\n const target = this.options.target()\n this.events.listen(target, \"touchstart\", this.handleTouchStart)\n this.events.listen(target, \"touchmove\", preventDefault)\n this.events.listen(target, \"touchend\", this.handleTouchEnd)\n }\n }\n\n hostDisconnected() {\n this.hadFirstUpdate = false\n }\n\n private handleTouchStart = (event: TouchEvent) => {\n const [{ pageX, pageY }] = event.changedTouches\n this.initialTouchX = pageX\n this.initialTouchY = pageY\n }\n\n private handleTouchEnd = (event: TouchEvent) => {\n const [{ pageX, pageY }] = event.changedTouches\n const { matchesGesture, onSwipeEnd } = this.options\n\n const distX = pageX - this.initialTouchX\n const distY = pageY - this.initialTouchY\n const details = { initialX: this.initialTouchX, initialY: this.initialTouchY, pageX, pageY, distX, distY }\n\n if (matchesGesture(details)) {\n event.preventDefault()\n onSwipeEnd(details)\n }\n }\n}\n\nconst THRESHOLD = 70\n\nexport const isHorizontalSwipe = ({ distX, distY }: SwipeDetails) =>\n Math.abs(distX) >= THRESHOLD && Math.abs(distY) <= THRESHOLD\n\nexport const isDownwardsSwipe = ({ distX, distY }: SwipeDetails) =>\n Math.abs(distY) >= THRESHOLD && Math.abs(distX) <= THRESHOLD && distY > 0\n","import { html, LitElement } from \"lit\"\nimport { customElement, property, query, state } from \"lit/decorators.js\"\nimport { classMap } from \"lit/directives/class-map.js\"\nimport { repeat } from \"lit/directives/repeat.js\"\nimport { createKeybindingsHandler } from \"tinykeys\"\nimport * as arrowRightIcon from \"@nordhealth/icons/lib/assets/arrow-right-small.js\"\nimport * as arrowLeftIcon from \"@nordhealth/icons/lib/assets/arrow-left-small.js\"\nimport * as arrowDownIcon from \"@nordhealth/icons/lib/assets/arrow-down-small.js\"\n\nimport \"../button/Button.js\"\nimport \"../visually-hidden/VisuallyHidden.js\"\nimport Icon from \"../icon/Icon.js\"\n\nimport { isHorizontalSwipe, SwipeController } from \"../common/controllers/SwipeController.js\"\nimport { DirectionController } from \"../common/controllers/DirectionController.js\"\nimport { LocalizeController } from \"../localization/LocalizeController.js\"\nimport { chunk, mapWithOffset } from \"../common/collection.js\"\nimport { cond } from \"../common/directives/cond.js\"\nimport { range } from \"../common/number.js\"\nimport {\n addDays,\n clamp,\n DaysOfWeek,\n endOfMonth,\n endOfWeek,\n getDayNames,\n getMonthNames,\n getViewOfMonth,\n inRange,\n isEqual,\n isEqualMonth,\n parseISODate,\n printISODate,\n setMonth,\n setYear,\n startOfMonth,\n startOfWeek,\n} from \"../common/dates.js\"\nimport { observe } from \"../common/decorators/observe.js\"\n\nimport { DateSelectEvent } from \"./DateSelectEvent.js\"\nimport componentStyle from \"../common/styles/Component.css\"\nimport style from \"./Calendar.css\"\n\nexport type DatePredicate = (date: Date) => boolean\n\nIcon.registerIcon(arrowRightIcon)\nIcon.registerIcon(arrowLeftIcon)\nIcon.registerIcon(arrowDownIcon)\n\nconst preventDefault = (fn: EventListener) => (e: Event) => {\n e.preventDefault()\n fn(e)\n}\n\nconst isDateDisabled: DatePredicate = () => false\nconst isDateHighlighted = () => false\n\nconst dialogLabelId = \"dialog-header\"\n\n/**\n * Calendar allows user to pick a date. It comes with built-in\n * functionality that allows you to set a minimum and a maximum allowed date.\n * Please note that the date must be passed in ISO-8601 format.\n *\n * @status ready\n * @category list\n * @fires {DateSelectEvent} change - Dispatched when a date is selected and the value changes.\n * @fires {DateSelectEvent} nord-focus-date - Dispatched when the calendar's focused date changes.\n *\n * @cssprop [--n-calendar-border-radius=var(--n-border-radius)] - Controls how rounded the corners are, using [border radius tokens](/tokens/#border-radius).\n * @cssprop [--n-calendar-box-shadow=var(--n-box-shadow-popout)] - Controls the surrounding shadow, using [box shadow tokens](/tokens/#box-shadow).\n *\n * @localization prevMonthLabel - Accessible label for the previous month button.\n * @localization nextMonthLabel - Accessible label for the next month button.\n * @localization monthSelectLabel - Accessible label for the month select.\n * @localization yearSelectLabel - Accessible label for the year select.\n */\n@customElement(\"nord-calendar\")\nexport default class Calendar extends LitElement {\n static styles = [componentStyle, style]\n\n @query(\".n-calendar-select-month\", true) private monthSelectNode!: HTMLElement\n @query(`button[tabindex=\"0\"]`) private focusedDayNode!: HTMLButtonElement\n\n private direction = new DirectionController(this)\n private swipe = new SwipeController(this, {\n matchesGesture: isHorizontalSwipe,\n onSwipeEnd: ({ distX }) => this.addMonths(distX < 0 ? 1 : -1),\n })\n\n private shortcuts = createKeybindingsHandler({\n ArrowRight: preventDefault(() => this.addDays(this.direction.isLTR ? 1 : -1)),\n ArrowLeft: preventDefault(() => this.addDays(this.direction.isLTR ? -1 : 1)),\n ArrowDown: preventDefault(() => this.addDays(7)),\n ArrowUp: preventDefault(() => this.addDays(-7)),\n Home: preventDefault(() => this.startOfWeek()),\n End: preventDefault(() => this.endOfWeek()),\n PageUp: preventDefault(() => this.addMonths(-1)),\n PageDown: preventDefault(() => this.addMonths(1)),\n \"Shift+PageUp\": preventDefault(() => this.addYears(-1)),\n \"Shift+PageDown\": preventDefault(() => this.addYears(1)),\n })\n\n private localize = new LocalizeController<\"nord-calendar\">(this, {\n onLangChange: () => this.handleLangChange(),\n })\n\n /**\n * Whilst dateAdapter is used for handling the formatting/parsing dates in the input,\n * these are used to format dates exclusively for the benefit of screen readers.\n *\n * We prefer DateTimeFormat over date.toLocaleDateString, as the former has\n * better performance when formatting large number of dates. See:\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleDateString#Performance\n */\n private dateFormatShort!: Intl.DateTimeFormat\n private monthNames!: string[]\n private monthNamesShort!: string[]\n private dayNames!: string[]\n private dayNamesShort!: string[]\n\n /**\n * The selected date on the calendar. Must be in IS0-8601 format: YYYY-MM-DD.\n */\n @property() value: string = \"\"\n\n /**\n * Which day is considered first day of the week? `0` for Sunday, `1` for Monday, etc.\n * Default is Monday.\n */\n @property({ reflect: true, type: Number, attribute: \"first-day-of-week\" }) firstDayOfWeek: DaysOfWeek =\n DaysOfWeek.Monday\n\n /**\n * Minimum date allowed to be picked. Must be in IS0-8601 format: YYYY-MM-DD.\n * This setting can be used alone or together with the max property.\n */\n @property({ reflect: true }) min?: string\n\n /**\n * Maximum date allowed to be picked. Must be in IS0-8601 format: YYYY-MM-DD.\n * This setting can be used alone or together with the min property.\n */\n @property({ reflect: true }) max?: string\n\n /**\n * Controls whether the calendar expands to fill the width of its container.\n */\n @property({ reflect: true, type: Boolean }) expand = false\n\n /**\n * Controls which days are disabled and therefore disallowed.\n * For example, this can be used to disallow selection of weekends.\n */\n @property({ attribute: false }) isDateDisabled: DatePredicate = isDateDisabled\n\n /**\n * Controls which days are highlighted with a small indicator.\n * Returning a \"falsy\" value will not show an indicator.\n * Returning \"truthy\" value will show the indicator, but without an accessible label.\n * Returning a string will show the indicator, and use the string as accessible label.\n * It is recommended to return a string rather than a truthy value whenever possible.\n */\n @property({ attribute: false }) isDateHighlighted: (date: Date) => string | boolean = isDateHighlighted\n\n @state() private activeFocus = false\n @state() private focusedDay = new Date()\n\n /**\n * Programmatically move focus to the calendar.\n * @param options An object which controls aspects of the focusing process.\n */\n focus(options?: FocusOptions & { target: \"day\" | \"month\" }) {\n const target = options?.target ?? \"day\"\n\n if (target === \"day\") {\n this.focusedDayNode.focus()\n } else if (target === \"month\") {\n this.monthSelectNode.focus()\n }\n }\n\n render() {\n const today = new Date()\n const valueAsDate = parseISODate(this.value)\n const focusedMonth = this.focusedDay.getMonth()\n const focusedYear = this.focusedDay.getFullYear()\n\n const minDate = parseISODate(this.min || \"\")\n const maxDate = parseISODate(this.max || \"\")\n const minDateStartOfMonth = minDate ? startOfMonth(minDate) : undefined\n const maxDateEndOfMonth = maxDate ? endOfMonth(maxDate) : undefined\n\n const selectedYear = (valueAsDate || this.focusedDay).getFullYear()\n const minYear = minDate ? minDate.getFullYear() : selectedYear - 10\n const maxYear = maxDate ? maxDate.getFullYear() : selectedYear + 10\n\n return html`\n <div class=\"n-calendar\">\n <div class=\"n-calendar-header\">\n <div>\n <nord-visually-hidden>\n <h2 id=${dialogLabelId} aria-live=\"polite\" aria-atomic=\"true\">\n ${this.monthNames[focusedMonth]}, ${this.focusedDay.getFullYear()}\n </h2>\n </nord-visually-hidden>\n\n <div class=\"n-calendar-select\">\n <select\n aria-label=${this.localize.term(\"monthSelectLabel\")}\n class=\"n-calendar-select-month\"\n @input=${this.handleMonthSelect}\n >\n ${this.monthNames.map(\n (month, i) =>\n html`\n <option\n value=${i}\n ?selected=${i === focusedMonth}\n ?disabled=${!inRange(new Date(focusedYear, i, 1), minDateStartOfMonth, maxDateEndOfMonth)}\n >\n ${month}\n </option>\n `\n )}\n </select>\n <div class=\"n-calendar-select-label\" aria-hidden=\"true\">\n <span>${this.monthNamesShort[focusedMonth]}</span>\n <nord-icon color=\"var(--n-color-icon)\" name=\"arrow-down-small\" size=\"xxs\"></nord-icon>\n </div>\n </div>\n\n <div class=\"n-calendar-select\">\n <select\n aria-label=${this.localize.term(\"yearSelectLabel\")}\n class=\"n-calendar-select-year\"\n @input=${this.handleYearSelect}\n >\n ${repeat(\n range(minYear, maxYear),\n year => year,\n year => html`<option ?selected=${year === focusedYear}>${year}</option>`\n )}\n </select>\n <div class=\"n-calendar-select-label\" aria-hidden=\"true\">\n <span>${this.focusedDay.getFullYear()}</span>\n <nord-icon color=\"var(--n-color-icon)\" name=\"arrow-down-small\" size=\"xxs\"></nord-icon>\n </div>\n </div>\n </div>\n\n <div class=\"n-calendar-nav\">\n <nord-button\n class=\"n-calendar-prev\"\n @click=${this.handlePreviousMonthClick}\n ?disabled=${isEqualMonth(minDate, this.focusedDay)}\n type=\"button\"\n >\n <nord-visually-hidden>${this.localize.term(\"prevMonthLabel\")}</nord-visually-hidden>\n <nord-icon name=${this.direction.isLTR ? \"arrow-left-small\" : \"arrow-right-small\"} size=\"s\"></nord-icon>\n </nord-button>\n\n <nord-button\n class=\"n-calendar-next\"\n @click=${this.handleNextMonthClick}\n ?disabled=${isEqualMonth(maxDate, this.focusedDay)}\n type=\"button\"\n >\n <nord-visually-hidden>${this.localize.term(\"nextMonthLabel\")}</nord-visually-hidden>\n <nord-icon name=${this.direction.isLTR ? \"arrow-right-small\" : \"arrow-left-small\"} size=\"s\"></nord-icon>\n </nord-button>\n </div>\n </div>\n\n <table\n class=\"n-calendar-table\"\n aria-labelledby=${dialogLabelId}\n @focusin=${this.enableActiveFocus}\n @focusout=${this.disableActiveFocus}\n >\n <thead>\n <tr>\n ${mapWithOffset(\n this.dayNames,\n this.firstDayOfWeek,\n (dayName, i) =>\n html`\n <th class=\"n-calendar-table-header\" scope=\"col\">\n <span aria-hidden=\"true\">${this.dayNamesShort[i]}</span>\n <nord-visually-hidden>${dayName}</nord-visually-hidden>\n </th>\n `\n )}\n </tr>\n </thead>\n <tbody>\n ${chunk(getViewOfMonth(this.focusedDay, this.firstDayOfWeek), 7).map(\n week =>\n html`\n <tr class=\"n-calendar-row\">\n ${week.map(day => {\n const outsideRange = !inRange(day, minDate, maxDate)\n const isToday = isEqual(day, today)\n const isDisabled = this.isDateDisabled(day)\n const isSelected = isEqual(day, valueAsDate)\n const isInMonth = isEqualMonth(day, this.focusedDay)\n const isHighlighted = this.isDateHighlighted(day)\n const formattedDate = this.dateFormatShort.format(day)\n\n const accessibleLabel =\n isHighlighted && typeof isHighlighted === \"string\"\n ? `${formattedDate}, ${isHighlighted}`\n : formattedDate\n\n return html`\n <td class=\"n-calendar-cell\">\n <button\n type=\"button\"\n tabindex=${isEqual(day, this.focusedDay) ? 0 : -1}\n class=${classMap({\n \"n-calendar-day\": true,\n \"is-outside\": outsideRange,\n \"is-month\": isInMonth,\n \"is-highlighted\": isHighlighted,\n })}\n @click=${() => this.handleDaySelect(day)}\n @keydown=${this.shortcuts}\n ?disabled=${outsideRange}\n aria-disabled=${cond(isDisabled, \"true\")}\n aria-pressed=${isSelected ? \"true\" : \"false\"}\n aria-current=${cond(isToday, \"date\")}\n aria-label=${accessibleLabel}\n >\n <span aria-hidden=\"true\">${day.getDate()}</span>\n </button>\n </td>\n `\n })}\n </tr>\n `\n )}\n </tbody>\n </table>\n </div>\n `\n }\n\n @observe(\"value\")\n protected handleValueChange() {\n this.setFocusedDay(parseISODate(this.value) || new Date())\n }\n\n @observe(\"focusedDay\", \"updated\")\n protected handleFocusedDayChange() {\n if (this.activeFocus) {\n this.focusedDayNode.focus()\n }\n }\n\n private handleLangChange() {\n const lang = this.localize.resolvedLang\n this.dateFormatShort = new Intl.DateTimeFormat(lang, { timeZone: \"UTC\", day: \"numeric\", month: \"long\" })\n this.monthNames = getMonthNames(lang, \"long\")\n this.monthNamesShort = getMonthNames(lang, \"short\")\n this.dayNames = getDayNames(lang, \"long\")\n this.dayNamesShort = getDayNames(lang, \"narrow\")\n }\n\n private handleDaySelect = (day: Date) => {\n const isInRange = inRange(day, parseISODate(this.min || \"\"), parseISODate(this.max || \"\"))\n const isAllowed = !this.isDateDisabled(day)\n\n if (isInRange && isAllowed) {\n this.value = printISODate(day)\n this.dispatchEvent(new DateSelectEvent(\"change\", day))\n }\n }\n\n private addDays(days: number) {\n this.setFocusedDay(addDays(this.focusedDay, days))\n }\n\n private addMonths(months: number) {\n this.setMonth(this.focusedDay.getMonth() + months)\n }\n\n private addYears(years: number) {\n this.setYear(this.focusedDay.getFullYear() + years)\n }\n\n private startOfWeek() {\n this.setFocusedDay(startOfWeek(this.focusedDay, this.firstDayOfWeek))\n }\n\n private endOfWeek() {\n this.setFocusedDay(endOfWeek(this.focusedDay, this.firstDayOfWeek))\n }\n\n private setMonth(month: number) {\n const min = setMonth(startOfMonth(this.focusedDay), month)\n const max = endOfMonth(min)\n const date = setMonth(this.focusedDay, month)\n\n this.setFocusedDay(clamp(date, min, max))\n }\n\n private setYear(year: number) {\n const min = setYear(startOfMonth(this.focusedDay), year)\n const max = endOfMonth(min)\n const date = setYear(this.focusedDay, year)\n\n this.setFocusedDay(clamp(date, min, max))\n }\n\n private setFocusedDay(day: Date) {\n this.focusedDay = clamp(day, parseISODate(this.min || \"\"), parseISODate(this.max || \"\"))\n this.dispatchEvent(new DateSelectEvent(\"nord-focus-date\", this.focusedDay))\n }\n\n private handleMonthSelect = (e: Event) => {\n this.setMonth(parseInt((e.target as HTMLSelectElement).value, 10))\n }\n\n private handleYearSelect = (e: Event) => {\n this.setYear(parseInt((e.target as HTMLSelectElement).value, 10))\n }\n\n private handleNextMonthClick = (event: MouseEvent) => {\n event.preventDefault()\n this.addMonths(1)\n }\n\n private handlePreviousMonthClick = (event: MouseEvent) => {\n event.preventDefault()\n this.addMonths(-1)\n }\n\n private enableActiveFocus = () => {\n this.activeFocus = true\n }\n\n private disableActiveFocus = (e: FocusEvent) => {\n const table = e.currentTarget as Node\n const relatedTarget = e.relatedTarget as Node\n\n if (relatedTarget && !table.contains(relatedTarget)) {\n this.activeFocus = false\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"nord-calendar\": Calendar\n }\n}\n"],"names":["preventDefault","e","SwipeController","constructor","host","options","this","hadFirstUpdate","initialTouchX","initialTouchY","handleTouchStart","event","pageX","pageY","changedTouches","handleTouchEnd","matchesGesture","onSwipeEnd","distX","distY","details","initialX","initialY","addController","events","EventController","target","hostUpdated","listen","hostDisconnected","isHorizontalSwipe","Math","abs","isDownwardsSwipe","Icon","registerIcon","arrowRightIcon","arrowLeftIcon","arrowDownIcon","fn","isDateDisabled","isDateHighlighted","dialogLabelId","Calendar","LitElement","direction","DirectionController","swipe","addMonths","shortcuts","createKeybindingsHandler","ArrowRight","addDays","isLTR","ArrowLeft","ArrowDown","ArrowUp","Home","startOfWeek","End","endOfWeek","PageUp","PageDown","addYears","localize","LocalizeController","onLangChange","handleLangChange","value","firstDayOfWeek","expand","activeFocus","focusedDay","Date","handleDaySelect","day","isInRange","inRange","parseISODate","min","max","isAllowed","printISODate","dispatchEvent","DateSelectEvent","handleMonthSelect","setMonth","parseInt","handleYearSelect","setYear","handleNextMonthClick","handlePreviousMonthClick","enableActiveFocus","disableActiveFocus","table","currentTarget","relatedTarget","contains","focus","_a","focusedDayNode","monthSelectNode","render","today","valueAsDate","focusedMonth","getMonth","focusedYear","getFullYear","minDate","maxDate","minDateStartOfMonth","startOfMonth","undefined","maxDateEndOfMonth","endOfMonth","selectedYear","minYear","maxYear","html","monthNames","term","map","month","i","monthNamesShort","repeat","range","year","isEqualMonth","mapWithOffset","dayNames","dayName","dayNamesShort","chunk","getViewOfMonth","week","outsideRange","isToday","isEqual","isDisabled","isSelected","isInMonth","isHighlighted","formattedDate","dateFormatShort","format","accessibleLabel","classMap","cond","getDate","handleValueChange","setFocusedDay","handleFocusedDayChange","lang","resolvedLang","Intl","DateTimeFormat","timeZone","getMonthNames","getDayNames","days","months","years","date","clamp","styles","componentStyle","style","__decorate","query","prototype","property","reflect","type","Number","attribute","Boolean","state","observe","customElement"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./query-assigned-elements-92ce7494.js";const n=e`:host{all:unset;display:block;font-family:var(--n-font-family);font-size:var(--n-font-size-m);line-height:var(--n-line-height);font-feature-settings:var(--n-font-features);box-sizing:border-box;text-align:start}*,::after,::before{box-sizing:border-box;margin:0;padding:0}:host([hidden]),[hidden]{display:none!important}`;export{n as s};
|
|
2
|
-
//# sourceMappingURL=Component-2253424f.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Component-2253424f.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{i as o}from"./query-assigned-elements-92ce7494.js";const n=o`:host{--_n-dropdown-item-background-color:var(--n-dropdown-item-background-color, transparent);--_n-dropdown-item-color:var(--n-dropdown-item-color, var(--n-color-text));display:flex;line-height:var(--n-line-height-tight)}.n-dropdown-item{-webkit-appearance:none;appearance:none;cursor:pointer;display:flex;flex:1;gap:var(--n-space-s);align-items:center;font-family:inherit;font-size:inherit;font-weight:var(--n-font-weight);text-decoration:none;border:0;color:var(--_n-dropdown-item-color);padding:var(--n-space-s);border-radius:var(--n-border-radius-s);background:var(--_n-dropdown-item-background-color);text-align:start;box-shadow:var(--n-dropdown-item-box-shadow,none);min-inline-size:0}.n-dropdown-item:hover{--_n-dropdown-item-background-color:var(--n-dropdown-item-background-color, var(--n-color-accent));--_n-dropdown-item-color:var(--n-dropdown-item-color, var(--n-color-text-on-accent))}.n-dropdown-item:hover ::slotted(*){color:var(--n-dropdown-item-color,var(--n-color-text-on-accent))!important}.n-dropdown-item ::slotted(nord-icon){color:var(--n-color-icon)}.n-dropdown-item:hover ::slotted(nord-icon){color:currentColor}.n-dropdown-item:active{opacity:.7}.n-dropdown-item:focus{--n-dropdown-item-box-shadow:0 0 0 2px var(--n-color-accent);outline:0;position:relative;z-index:var(--n-index-masked)}@supports selector(:focus-visible){.n-dropdown-item:focus{--n-dropdown-item-box-shadow:none}.n-dropdown-item:focus-visible{--n-dropdown-item-box-shadow:0 0 0 2px var(--n-color-accent)}}@media (max-width:35.9375em){.n-dropdown-item{gap:var(--n-space-m);padding:calc(var(--n-space-m)/ 1.5) var(--n-space-m)}.n-dropdown-item ::slotted(nord-icon){block-size:var(--n-size-icon-m);inline-size:var(--n-size-icon-m)}}slot[name=end],slot[name=start]{flex:0 0 auto}slot[name=end]{display:flex;margin-inline-start:auto}.n-content{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}::slotted(nord-icon:not([size])){--_n-icon-size:var(--n-size-icon-s)}`;export{n as s};
|
|
2
|
-
//# sourceMappingURL=DropdownItem-32052903.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DropdownItem-32052903.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{e as l}from"./ref-99418ab4.js";function u(u){return class extends u{constructor(){super(...arguments),this.focusableRef=l()}focus(l){var u;null===(u=this.focusableRef.value)||void 0===u||u.focus(l)}blur(){var l;null===(l=this.focusableRef.value)||void 0===l||l.blur()}click(){var l;null===(l=this.focusableRef.value)||void 0===l||l.click()}}}export{u as F};
|
|
2
|
-
//# sourceMappingURL=FocusableMixin-d30213b4.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{_ as t,x as e}from"./query-assigned-elements-92ce7494.js";import{n as r}from"./property-c78323b1.js";import{F as i}from"./FormDataController-592ff3dd.js";import{S as o}from"./SlotController-d733c575.js";import{N as s}from"./events-d9666e88.js";import"./VisuallyHidden.js";function n(n){class h extends n{constructor(){super(...arguments),this.labelSlot=new o(this,"label"),this.errorSlot=new o(this,"error"),this.hintSlot=new o(this,"hint"),this.formData=new i(this,{value:()=>this.formValue}),this.inputId="input",this.errorId="error",this.hintId="hint",this.label="",this.hideLabel=!1,this.required=!1,this.hideRequired=!1}get formValue(){return this.value}handleInput(t){t.stopPropagation();const e=t.target;this.value=e.value,this.dispatchEvent(new s("input"))}handleChange(t){t.stopPropagation(),this.dispatchEvent(new s("change"))}renderLabel(t){const r=e`<label for="${this.inputId}"><slot name="label">${this.label}</slot><span ?hidden="${!this.required||this.hideRequired}" aria-hidden="true" class="n-required">*</span> ${t}</label><div class="n-caption n-hint" id="${this.hintId}" ?hidden="${!this.hasHint}"><slot name="hint">${this.hint}</slot></div>`;return this.hideLabel?e`<nord-visually-hidden>${r}</nord-visually-hidden>`:e`<div class="n-label-container">${r}</div>`}renderError(){return e`<div class="n-caption n-error" id="${this.errorId}" role="alert" ?hidden="${!this.hasError}"><slot name="error">${this.error}</slot></div>`}getDescribedBy(){const{hasHint:t,hasError:e}=this;return t&&e?`${this.hintId} ${this.errorId}`:t?this.hintId:e?this.errorId:void 0}getInvalid(){return this.hasError?"true":void 0}get hasHint(){return Boolean(this.hint)||this.hintSlot.hasContent}get hasError(){return Boolean(this.error)||this.errorSlot.hasContent}}return t([r({reflect:!0})],h.prototype,"label",void 0),t([r({reflect:!0})],h.prototype,"hint",void 0),t([r({reflect:!0,type:Boolean,attribute:"hide-label"})],h.prototype,"hideLabel",void 0),t([r({reflect:!0})],h.prototype,"placeholder",void 0),t([r({reflect:!0})],h.prototype,"error",void 0),t([r({reflect:!0,type:Boolean})],h.prototype,"required",void 0),t([r({reflect:!0,type:Boolean,attribute:"hide-required"})],h.prototype,"hideRequired",void 0),h}export{n as F};
|
|
2
|
-
//# sourceMappingURL=FormAssociatedMixin-3fa55d53.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FormDataController-592ff3dd.js","sources":["../src/common/controllers/FormDataController.ts"],"sourcesContent":["import { ReactiveController, ReactiveControllerHost } from \"lit\"\nimport { InputMixinInterface } from \"../mixins/InputMixin.js\"\n\ntype FormDataOptions = {\n value: () => string | undefined\n}\n\nexport class FormDataController implements ReactiveController {\n private _form: HTMLFormElement | null = null\n\n constructor(private host: ReactiveControllerHost & InputMixinInterface, private options: FormDataOptions) {\n host.addController(this)\n }\n\n hostConnected() {\n this.listen(this.host.form)\n }\n\n hostUpdated() {\n this.listen(this.host.form)\n }\n\n hostDisconnected() {\n this.cleanup()\n }\n\n private listen(form: HTMLFormElement | null) {\n if (this._form !== form) {\n this.cleanup()\n this._form = form\n this._form?.addEventListener(\"formdata\", this.handleFormData)\n }\n }\n\n private cleanup() {\n this._form?.removeEventListener(\"formdata\", this.handleFormData)\n this._form = null\n }\n\n private handleFormData = (e: FormDataEvent) => {\n const { disabled, name } = this.host\n\n if (disabled) {\n return\n }\n if (!name) {\n return\n }\n\n const value = this.options.value()\n if (value != null) {\n e.formData.append(name, value)\n }\n }\n}\n"],"names":["FormDataController","constructor","host","options","this","_form","handleFormData","e","disabled","name","value","formData","append","addController","hostConnected","listen","form","hostUpdated","hostDisconnected","cleanup","_a","addEventListener","removeEventListener"],"mappings":"MAOaA,EAGX,WAAAC,CAAoBC,EAA4DC,GAA5DC,KAAIF,KAAJA,EAA4DE,KAAOD,QAAPA,EAFxEC,KAAKC,MAA2B,KA+BhCD,KAAAE,eAAkBC,IACxB,MAAMC,SAAEA,EAAQC,KAAEA,GAASL,KAAKF,KAEhC,GAAIM,EACF,OAEF,IAAKC,EACH,OAGF,MAAMC,EAAQN,KAAKD,QAAQO,QACd,MAATA,GACFH,EAAEI,SAASC,OAAOH,EAAMC,EACzB,EAzCDR,EAAKW,cAAcT,KACpB,CAED,aAAAU,GACEV,KAAKW,OAAOX,KAAKF,KAAKc,KACvB,CAED,WAAAC,GACEb,KAAKW,OAAOX,KAAKF,KAAKc,KACvB,CAED,gBAAAE,GACEd,KAAKe,SACN,CAEO,MAAAJ,CAAOC,SACTZ,KAAKC,QAAUW,IACjBZ,KAAKe,UACLf,KAAKC,MAAQW,EACH,QAAVI,EAAAhB,KAAKC,aAAK,IAAAe,GAAAA,EAAEC,iBAAiB,WAAYjB,KAAKE,gBAEjD,CAEO,OAAAa,SACI,QAAVC,EAAAhB,KAAKC,aAAK,IAAAe,GAAAA,EAAEE,oBAAoB,WAAYlB,KAAKE,gBACjDF,KAAKC,MAAQ,IACd"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{i as n}from"./query-assigned-elements-92ce7494.js";const e=n`:host{--_n-label-color:var(--n-label-color, var(--n-color-text))}.n-caption,::slotted(.n-caption){font-size:var(--n-font-size-s);line-height:var(--n-line-height-caption)}.n-label-container{margin-block-end:var(--n-space-s);display:inline-block}.n-label,::slotted(label),label{display:block!important;color:var(--_n-label-color);font-family:var(--n-font-family);font-size:var(--n-font-size-m);font-weight:var(--n-font-weight-heading)!important;line-height:var(--n-line-height-heading);margin:0!important}.n-hint{padding-block-start:var(--n-space-xs);color:var(--n-color-text-weaker)}:host([size="s"]) ::slotted(label),:host([size="s"]) :is(label,.n-label){font-size:var(--n-font-size-s)}.n-error{margin-block-start:var(--n-space-s);color:var(--n-color-text-error)}.n-required{color:var(--n-color-status-danger);margin-inline-start:var(--n-space-xs)}`;export{e as s};
|
|
2
|
-
//# sourceMappingURL=FormField-bf5eb166.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FormField-bf5eb166.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{_ as e}from"./query-assigned-elements-92ce7494.js";import{n as t}from"./property-c78323b1.js";function o(o){class r extends o{constructor(){super(...arguments),this.disabled=!1,this.value="",this.formAncestor=null}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}connectedCallback(){super.connectedCallback(),this.formAncestor=this.closest("form")}disconnectedCallback(){super.disconnectedCallback(),this.formAncestor=null}}return e([t({type:Boolean,reflect:!0})],r.prototype,"disabled",void 0),e([t()],r.prototype,"name",void 0),e([t()],r.prototype,"value",void 0),e([t()],r.prototype,"form",null),r}export{o as I};
|
|
2
|
-
//# sourceMappingURL=InputMixin-83b5bd46.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"InputMixin-83b5bd46.js","sources":["../src/common/mixins/InputMixin.ts"],"sourcesContent":["/* eslint-disable max-classes-per-file */\nimport { LitElement } from \"lit\"\nimport { property } from \"lit/decorators.js\"\n\ntype Constructor<T = Record<string, unknown>> = new (...args: any[]) => T\n\nexport declare class InputMixinInterface {\n name?: string\n value: string\n disabled: boolean\n protected _formId?: string\n set form(id: string)\n get form(): HTMLFormElement | null\n}\n\nexport function InputMixin<T extends Constructor<LitElement>>(superClass: T): Constructor<InputMixinInterface> & T {\n class InputElement extends superClass {\n /**\n * Makes the component disabled. This prevents users from\n * being able to interact with the component, and conveys\n * its inactive state to assistive technologies.\n */\n @property({ type: Boolean, reflect: true }) disabled = false\n\n /**\n * The name of the form component.\n */\n @property() name?: string\n\n /**\n * The value of the form component.\n */\n @property() value: string = \"\"\n\n private formAncestor: HTMLFormElement | null = null\n protected _formId?: string\n set form(id: string) {\n const oldVal = this._formId\n this._formId = id\n this.requestUpdate(\"form\", oldVal)\n }\n\n /**\n * Gets the form, if any, associated with the form element.\n * The setter accepts a string, which is the id of the form.\n */\n @property()\n get form(): HTMLFormElement | null {\n if (this._formId) {\n const root = this.getRootNode() as ShadowRoot | Document\n return root.querySelector<HTMLFormElement>(`form#${this._formId}`)\n }\n return this.formAncestor\n }\n\n connectedCallback() {\n super.connectedCallback()\n // we can cache this, since it will only change if the element is (re)connected\n this.formAncestor = this.closest(\"form\")\n }\n\n disconnectedCallback() {\n super.disconnectedCallback()\n this.formAncestor = null\n }\n }\n\n return InputElement as unknown as Constructor<InputMixinInterface> & T\n}\n"],"names":["InputMixin","superClass","InputElement","constructor","this","disabled","value","formAncestor","form","id","oldVal","_formId","requestUpdate","getRootNode","querySelector","connectedCallback","super","closest","disconnectedCallback","__decorate","property","type","Boolean","reflect","prototype"],"mappings":"qGAeM,SAAUA,EAA8CC,GAC5D,MAAMC,UAAqBD,EAA3B,WAAAE,uBAM8CC,KAAQC,UAAG,EAU3CD,KAAKE,MAAW,GAEpBF,KAAYG,aAA2B,IA+BhD,CA7BC,QAAIC,CAAKC,GACP,MAAMC,EAASN,KAAKO,QACpBP,KAAKO,QAAUF,EACfL,KAAKQ,cAAc,OAAQF,EAC5B,CAOD,QAAIF,GACF,GAAIJ,KAAKO,QAAS,CAEhB,OADaP,KAAKS,cACNC,cAA+B,QAAQV,KAAKO,UACzD,CACD,OAAOP,KAAKG,YACb,CAED,iBAAAQ,GACEC,MAAMD,oBAENX,KAAKG,aAAeH,KAAKa,QAAQ,OAClC,CAED,oBAAAC,GACEF,MAAME,uBACNd,KAAKG,aAAe,IACrB,EAGH,OA7C8CY,EAAA,CAA3CC,EAAS,CAAEC,KAAMC,QAASC,SAAS,KAAwBrB,EAAAsB,UAAA,gBAAA,GAKhDL,EAAA,CAAXC,KAAwBlB,EAAAsB,UAAA,YAAA,GAKbL,EAAA,CAAXC,KAA6BlB,EAAAsB,UAAA,aAAA,GAe9BL,EAAA,CADCC,KAOAlB,EAAAsB,UAAA,OAAA,MAcItB,CACT"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LightDismissController-0a66b0a0.js","sources":["../src/common/controllers/LightDismissController.ts"],"sourcesContent":["import { ReactiveController, ReactiveControllerHost } from \"lit\"\nimport { EventController } from \"./EventController.js\"\nimport { ShortcutController } from \"./ShortcutController.js\"\n\nexport type LightDismissOptions = {\n isOpen: () => boolean\n onDismiss: EventListener\n isDismissible?: (node: EventTarget) => boolean\n}\n\nexport class LightDismissController implements ReactiveController {\n private shortcut: ShortcutController\n private events: EventController\n\n private isMouseDownOutside = false\n\n constructor(private host: ReactiveControllerHost & Element, private options: LightDismissOptions) {\n host.addController(this)\n this.shortcut = new ShortcutController(host, { Escape: this.handleEsc })\n this.events = new EventController(host)\n }\n\n hostConnected() {\n this.events.listen(document, \"mousedown\", this.handleMouseDown, true)\n this.events.listen(document, \"click\", this.handleClick, true)\n }\n\n private handleEsc = (e: KeyboardEvent) => {\n if (!this.options.isOpen()) {\n return\n }\n\n this.options.onDismiss(e)\n }\n\n private handleMouseDown = (e: MouseEvent) => {\n if (!this.options.isOpen()) {\n return\n }\n\n const predicate: LightDismissOptions[\"isDismissible\"] = this.options.isDismissible ?? (node => node !== this.host)\n this.isMouseDownOutside = e.composedPath().every(predicate)\n }\n\n private handleClick = (e: MouseEvent) => {\n if (!this.options.isOpen()) {\n return\n }\n\n const predicate: LightDismissOptions[\"isDismissible\"] = this.options.isDismissible ?? (node => node !== this.host)\n const isClickOutside = e.composedPath().every(predicate)\n\n const shouldDismiss = isClickOutside && this.isMouseDownOutside\n\n if (shouldDismiss) {\n this.options.onDismiss(e)\n }\n }\n}\n"],"names":["LightDismissController","constructor","host","options","this","isMouseDownOutside","handleEsc","e","isOpen","onDismiss","handleMouseDown","predicate","_a","isDismissible","node","composedPath","every","handleClick","addController","shortcut","ShortcutController","Escape","events","EventController","hostConnected","listen","document"],"mappings":"6GAUaA,EAMX,WAAAC,CAAoBC,EAAgDC,GAAhDC,KAAIF,KAAJA,EAAgDE,KAAOD,QAAPA,EAF5DC,KAAkBC,oBAAG,EAarBD,KAAAE,UAAaC,IACdH,KAAKD,QAAQK,UAIlBJ,KAAKD,QAAQM,UAAUF,EAAE,EAGnBH,KAAAM,gBAAmBH,UACzB,IAAKH,KAAKD,QAAQK,SAChB,OAGF,MAAMG,EAAgF,QAA9BC,EAAAR,KAAKD,QAAQU,qBAAiB,IAAAD,EAAAA,EAACE,GAAQA,IAASV,KAAKF,KAC7GE,KAAKC,mBAAqBE,EAAEQ,eAAeC,MAAML,EAAU,EAGrDP,KAAAa,YAAeV,UACrB,IAAKH,KAAKD,QAAQK,SAChB,OAGF,MAAMG,EAAgF,QAA9BC,EAAAR,KAAKD,QAAQU,qBAAiB,IAAAD,EAAAA,EAACE,GAAQA,IAASV,KAAKF,KACtFK,EAAEQ,eAAeC,MAAML,IAENP,KAAKC,oBAG3CD,KAAKD,QAAQM,UAAUF,EACxB,EAvCDL,EAAKgB,cAAcd,MACnBA,KAAKe,SAAW,IAAIC,EAAmBlB,EAAM,CAAEmB,OAAQjB,KAAKE,YAC5DF,KAAKkB,OAAS,IAAIC,EAAgBrB,EACnC,CAED,aAAAsB,GACEpB,KAAKkB,OAAOG,OAAOC,SAAU,YAAatB,KAAKM,iBAAiB,GAChEN,KAAKkB,OAAOG,OAAOC,SAAU,QAAStB,KAAKa,aAAa,EACzD"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{D as t}from"./query-assigned-elements-92ce7494.js";class s{constructor(t,s){this.host=t,this.options=s,t.addController(this)}get container(){return this.options.container||this.host}hostUpdated(){this.render()}render(){t(this.options.render(),this.container,this.options.renderOptions)}}export{s as L};
|
|
2
|
-
//# sourceMappingURL=LightDomController-5388d84c.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LightDomController-5388d84c.js","sources":["../src/common/controllers/LightDomController.ts"],"sourcesContent":["import { ReactiveController, ReactiveControllerHost, render, RenderOptions } from \"lit\"\n\ntype LightDomOptions = {\n render: () => unknown\n renderOptions?: RenderOptions\n container?: HTMLElement\n}\n\nexport class LightDomController implements ReactiveController {\n constructor(private host: ReactiveControllerHost & HTMLElement, private options: LightDomOptions) {\n host.addController(this)\n }\n\n private get container(): HTMLElement {\n return this.options.container || this.host\n }\n\n hostUpdated() {\n this.render()\n }\n\n private render() {\n render(this.options.render(), this.container, this.options.renderOptions)\n }\n}\n"],"names":["LightDomController","constructor","host","options","this","addController","container","hostUpdated","render","renderOptions"],"mappings":"gEAQaA,EACX,WAAAC,CAAoBC,EAAoDC,GAApDC,KAAIF,KAAJA,EAAoDE,KAAOD,QAAPA,EACtED,EAAKG,cAAcD,KACpB,CAED,aAAYE,GACV,OAAOF,KAAKD,QAAQG,WAAaF,KAAKF,IACvC,CAED,WAAAK,GACEH,KAAKI,QACN,CAEO,MAAAA,GACNA,EAAOJ,KAAKD,QAAQK,SAAUJ,KAAKE,UAAWF,KAAKD,QAAQM,cAC5D"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{A as t}from"./query-assigned-elements-92ce7494.js";import{L as o}from"./LightDomController-5388d84c.js";import{S as e}from"./SlotController-d733c575.js";class s extends e{constructor(e,s){super(e,s.slotName),this.options=s,this.onChange=()=>{this.syncLightDom()},this.renderHook=document.createComment(this.slotName),this.lightDom=new o(e,{render:()=>this.hasContent?t:this.options.render(),renderOptions:{renderBefore:this.renderHook}})}hostConnected(){super.hostConnected(),this.host.appendChild(this.renderHook),this.syncLightDom()}syncLightDom(){const t=this.content;t&&this.options.syncLightDom(t)}}export{s as L};
|
|
2
|
-
//# sourceMappingURL=LightSlotController-c51e9cf5.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LightSlotController-c51e9cf5.js","sources":["../src/common/controllers/LightSlotController.ts"],"sourcesContent":["import { nothing, ReactiveControllerHost } from \"lit\"\nimport { LightDomController } from \"./LightDomController.js\"\nimport { SlotController } from \"./SlotController.js\"\n\ntype LightSlotOptions = {\n slotName: string\n render: () => unknown\n syncLightDom: (element: Element) => void\n}\n\n/**\n * Handles cases where a component needs to render to light DOM,\n * and potentially sync component properties to user-supplied content.\n */\nexport class LightSlotController extends SlotController {\n private renderHook: Comment\n private lightDom: LightDomController\n\n constructor(host: ReactiveControllerHost & HTMLElement, private options: LightSlotOptions) {\n super(host, options.slotName)\n\n // we need a node to hook onto for rendering\n // without this, multiple controllers rendering to the light DOM\n // will overwrite each others' content\n this.renderHook = document.createComment(this.slotName)\n\n this.lightDom = new LightDomController(host, {\n render: () => (this.hasContent ? nothing : this.options.render()),\n renderOptions: { renderBefore: this.renderHook },\n })\n }\n\n hostConnected() {\n super.hostConnected()\n this.host.appendChild(this.renderHook)\n this.syncLightDom()\n }\n\n protected override onChange = () => {\n this.syncLightDom()\n }\n\n private syncLightDom() {\n const node = this.content\n\n if (node) {\n this.options.syncLightDom(node)\n }\n }\n}\n"],"names":["LightSlotController","SlotController","constructor","host","options","super","slotName","this","onChange","syncLightDom","renderHook","document","createComment","lightDom","LightDomController","render","hasContent","nothing","renderOptions","renderBefore","hostConnected","appendChild","node","content"],"mappings":"gKAcM,MAAOA,UAA4BC,EAIvC,WAAAC,CAAYC,EAAoDC,GAC9DC,MAAMF,EAAMC,EAAQE,UAD0CC,KAAOH,QAAPA,EAoB7CG,KAAQC,SAAG,KAC5BD,KAAKE,cAAc,EAfnBF,KAAKG,WAAaC,SAASC,cAAcL,KAAKD,UAE9CC,KAAKM,SAAW,IAAIC,EAAmBX,EAAM,CAC3CY,OAAQ,IAAOR,KAAKS,WAAaC,EAAUV,KAAKH,QAAQW,SACxDG,cAAe,CAAEC,aAAcZ,KAAKG,aAEvC,CAED,aAAAU,GACEf,MAAMe,gBACNb,KAAKJ,KAAKkB,YAAYd,KAAKG,YAC3BH,KAAKE,cACN,CAMO,YAAAA,GACN,MAAMa,EAAOf,KAAKgB,QAEdD,GACFf,KAAKH,QAAQK,aAAaa,EAE7B"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{i as o,_ as n,x as t,e as r,s as i}from"./query-assigned-elements-92ce7494.js";import{n as e}from"./ref-99418ab4.js";import{o as s}from"./class-map-512f0bc1.js";import{LocalizeController as a}from"./LocalizeController.js";import{D as l}from"./DirectionController-f35f5476.js";import{F as c}from"./FocusableMixin-d30213b4.js";import"./Button.js";import g from"./Icon.js";import"./VisuallyHidden.js";import{s as m}from"./Component-2253424f.js";const d="navigation-toggle-lock";var v=Object.freeze({__proto__:null,default:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="m19.7188 10.71-8 8-1.41-1.41 7.29-7.29-7.3-7.29996 1.41-1.41 8 8c.39.39.39 1.01996 0 1.40996zm-8-1.40996-7.99997-8.01-1.41 1.41 7.29 7.29-7.3 7.29996 1.41 1.41 8.00997-7.99c.39-.39.39-1.01996 0-1.40996z" fill="currentColor"/></svg>',title:d,tags:"nordicon navigation hamburger menu toggle navigation arrow right double lock triangle chevron"});const h="navigation-toggle";var u=Object.freeze({__proto__:null,default:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="m18.9988 3v2h-16.00002v-2zm-16.00002 8h16.00002v-2h-16.00002zm0 6h16.00002v-2h-16.00002z" fill="currentColor"/></svg>',title:h,tags:"nordicon navigation hamburger menu toggle navigation three lines"});const p=o`:host{color:var(--n-color-icon);display:inline-flex}nord-button{--n-button-color:currentColor}nord-icon{display:block;transform:translateX(-1px);color:currentColor}nord-icon[name=navigation-toggle-lock]{display:none}.is-rtl nord-icon[name=navigation-toggle-lock]{transform:rotate(180deg)}@media (min-width:768px){:host(:is(:hover,:focus-within)) nord-icon[name=navigation-toggle-lock]{display:block}:host(:is(:hover,:focus-within)) nord-icon[name=navigation-toggle]{display:none}}`;g.registerIcon(u),g.registerIcon(v);let f=class extends(c(i)){constructor(){super(...arguments),this.direction=new l(this),this.localization=new a(this)}render(){return t`<nord-button variant="plain" ${e(this.focusableRef)} class="${s({"is-rtl":this.direction.isRTL})}"><nord-visually-hidden>${this.localization.term("label")}</nord-visually-hidden><nord-icon size="m" name="${h}"></nord-icon><nord-icon size="m" name="${d}"></nord-icon></nord-button>`}};f.styles=[m,p],f=n([r("nord-nav-toggle")],f);var b=f;export{b as N,v as l};
|
|
2
|
-
//# sourceMappingURL=NavToggle-735b5262.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{_ as s}from"./query-assigned-elements-92ce7494.js";import{t as i}from"./state-d31c6912.js";import{e as t}from"./ref-99418ab4.js";import{a as e,N as o}from"./events-d9666e88.js";function a(a){class n extends a{constructor(){super(...arguments),this.notificationRef=t(),this.dismissed=!1}async dismiss(){this.notificationRef.value&&(this.dismissed=!0,await e(this.notificationRef.value),this.dispatchEvent(new o("dismiss")))}}return s([i()],n.prototype,"dismissed",void 0),n}export{a as N};
|
|
2
|
-
//# sourceMappingURL=NotificationMixin-207f1f56.js.map
|
package/lib/Popout-9ea00c67.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{_ as t,i as e,x as o,e as i,s}from"./query-assigned-elements-92ce7494.js";import{n}from"./property-c78323b1.js";import{t as r}from"./state-d31c6912.js";import{i as a}from"./query-36bfe0e4.js";import{c as l,l as p,o as h,f as d,s as c,h as m,a as u}from"./positioning-35c8d434.js";import{L as v}from"./LightDismissController-0a66b0a0.js";import{S as f}from"./ScrollbarController-773c79f4.js";import{N as g,t as y}from"./events-d9666e88.js";import{s as b}from"./Component-2253424f.js";import{D as w}from"./DirectionController-f35f5476.js";import{o as E}from"./observe-a9c6dfb6.js";import{E as x}from"./EventController-d99ebeef.js";function C(e){class o extends e{constructor(){super(...arguments),this.open=!1,this.align="start",this.position="block-end"}}return t([n({type:Boolean,reflect:!0})],o.prototype,"open",void 0),t([n({reflect:!0})],o.prototype,"align",void 0),t([n({reflect:!0})],o.prototype,"position",void 0),o}const k=e`:host{position:fixed;pointer-events:none;z-index:var(--n-index-popout);left:var(--_n-popout-position-x);top:var(--_n-popout-position-y);color:var(--n-color-text);opacity:0;transition:opacity var(--n-transition-slowly)}.n-popout{pointer-events:none;transform:translateY(-10px) scale(.97);visibility:hidden;transition:transform var(--n-transition-slowly),visibility var(--n-transition-slowly);transform-origin:top left;will-change:transform,opacity,visibility;background:var(--n-color-surface);box-shadow:var(--n-box-shadow-popout);border-radius:var(--n-border-radius-s)}:host([open]){opacity:1}:host([open]) .n-popout{transition-property:transform;visibility:visible;pointer-events:auto;transform:translateY(0) translateX(0) scale(1)}@media (max-width:35.9375em){:host{position:fixed;inset:0;overflow-y:auto;opacity:1;background:0 0;transition:background var(--n-transition-mobile)}:host([open]){pointer-events:auto;background:var(--n-color-overlay)}:host .n-popout{position:fixed;inset:0;inset-block-start:auto;transform:translateY(100%);transition:transform var(--n-transition-mobile),visibility var(--n-transition-mobile);transform-origin:bottom center;border-radius:0}}.top-end,.top-start{transform:translateY(10px) scale(.97)}.left-end,.left-start{transform:translateX(10px) scale(.97)}.right-end,.right-start{transform:translateX(-10px) scale(.97)}.bottom-start.is-rtl,.left-end,.top-end{transform-origin:bottom right}.bottom-end,.left-start,.top-start.is-rtl{transform-origin:top right}.bottom-end.is-rtl,.right-end,.right-start{transform-origin:bottom left}.right-start,.top-end.is-rtl{transform-origin:top left}`,A=matchMedia("(max-width: 35.9375em)");let P=class extends(C(s)){constructor(){super(...arguments),this.scrollBar=new f(this),this.dismiss=new v(this,{isOpen:()=>this.open,onDismiss:t=>this.hide("click"!==t.type),isDismissible:t=>t!==this.popout&&t!==this.targetElement}),this.events=new x(this),this.direction=new w(this),this.smallViewport=A.matches,this.id="",this.enableScroll=()=>{this.open||this.scrollBar.unlockScroll()},this.updatePosition=async()=>{var t;if(!this.anchorElement)return;const{x:e,y:o,placement:i,middlewareData:s}=await l(this.anchorElement,this,{strategy:"fixed",placement:p(this.position,this.align,this.direction.dir),middleware:[h(8),d(),c({padding:8}),m()]});this.computedPosition=i,this.style.setProperty("--_n-popout-position-x",`${e}px`),this.style.setProperty("--_n-popout-position-y",`${o}px`),(null===(t=s.hide)||void 0===t?void 0:t.referenceHidden)&&this.hide()},this.toggleOpen=t=>{t.preventDefault(),this.open?this.hide(!1):this.smallViewport?this.show():this.updatePosition().then((()=>this.show()))},this.handleMediaQueryChange=()=>{var t;this.smallViewport=A.matches,null===(t=this.cleanupAutoUpdate)||void 0===t||t.call(this),!this.smallViewport&&this.open&&this.anchorElement?(this.cleanupAutoUpdate=u(this.anchorElement,this,this.updatePosition),this.scrollBar.unlockScroll()):this.open&&this.scrollBar.lockScroll()}}async show(){return this.open?Promise.resolve():(this.open=!0,await this.updateComplete,this.dispatchEvent(new g("open")),y(this.popout))}async hide(t=!0){var e,o;return this.open?(this.open=!1,null===(e=this.cleanupAutoUpdate)||void 0===e||e.call(this),this.dispatchEvent(new g("close")),t&&(null===(o=this.targetElement)||void 0===o||o.focus({preventScroll:!0})),y(this.popout)):Promise.resolve()}firstUpdated(){this.smallViewport||this.updatePosition()}connectedCallback(){super.connectedCallback(),this.events.listen(A,"change",this.handleMediaQueryChange)}disconnectedCallback(){var t,e;super.disconnectedCallback(),null===(t=this.cleanupAutoUpdate)||void 0===t||t.call(this),null===(e=this.targetElement)||void 0===e||e.removeAttribute("aria-expanded")}render(){return o`<div class="n-popout ${this.computedPosition} is-${this.direction.dir}" aria-hidden="${this.open?"false":"true"}" @transitionend="${this.enableScroll}"><slot></slot></div>`}handleIdChange(){var t;null===(t=this.targetElement)||void 0===t||t.removeEventListener("click",this.toggleOpen),this.id?(this.targetElement=this.getToggle(),this.anchorElement=this.getAnchor(),this.events.listen(this.targetElement,"click",this.toggleOpen)):console.warn("NORD: popout requires an id attribute and value")}handleOpenChange(){var t,e;null===(t=this.targetElement)||void 0===t||t.setAttribute("aria-expanded",`${this.open}`),this.open?this.smallViewport?this.scrollBar.lockScroll():this.anchorElement&&(this.cleanupAutoUpdate=u(this.anchorElement,this,this.updatePosition)):null===(e=this.cleanupAutoUpdate)||void 0===e||e.call(this)}handleAnchorChange(){var t;null===(t=this.cleanupAutoUpdate)||void 0===t||t.call(this),this.anchorElement=this.getAnchor(),this.open&&!this.smallViewport&&this.anchorElement&&(this.cleanupAutoUpdate=u(this.anchorElement,this,this.updatePosition))}getToggle(){const t=this.getRootNode().querySelector(`[aria-controls='${this.id}']`);return t instanceof HTMLSlotElement?t.assignedElements()[0]:t}getAnchor(){if(!this.anchor)return this.targetElement;const t=this.getRootNode().querySelector(`#${this.anchor}`);return t instanceof HTMLSlotElement?t.assignedElements()[0]:t}};P.styles=[b,k],t([a(".n-popout",!0)],P.prototype,"popout",void 0),t([r()],P.prototype,"computedPosition",void 0),t([r()],P.prototype,"smallViewport",void 0),t([n({reflect:!0})],P.prototype,"id",void 0),t([n({reflect:!0})],P.prototype,"anchor",void 0),t([E("id")],P.prototype,"handleIdChange",null),t([E("open")],P.prototype,"handleOpenChange",null),t([E("anchor")],P.prototype,"handleAnchorChange",null),P=t([i("nord-popout")],P);var S=P;export{C as F,S as P};
|
|
2
|
-
//# sourceMappingURL=Popout-9ea00c67.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Popout-9ea00c67.js","sources":["../src/common/mixins/FloatingComponentMixin.ts","../src/popout/Popout.ts"],"sourcesContent":["/* eslint-disable max-classes-per-file */\nimport { LitElement } from \"lit\"\nimport { property } from \"lit/decorators.js\"\nimport { Alignment } from \"@floating-ui/dom\"\nimport { LogicalSide } from \"../positioning.js\"\n\ntype Constructor<T = Record<string, unknown>> = new (...args: any[]) => T\n\nexport declare class FloatingMixinInterface {\n open: boolean\n align: Alignment\n position: LogicalSide\n}\n\nexport function FloatingMixin<T extends Constructor<LitElement>>(\n superClass: T\n): Constructor<FloatingMixinInterface> & T {\n class FloatingElement extends superClass {\n /**\n * Controls whether the component is open or not.\n */\n @property({ type: Boolean, reflect: true }) open = false\n\n /**\n * Set the alignment in relation to the toggle (or anchor) depending on the position.\n * `start` will align it to the left of the toggle (or anchor).\n * `end` will align it to the right of the toggle (or anchor).\n * Setting the `position` to `inline-start` or `inline-end` will switch\n * `start` and `end` to the top and bottom respectively.\n */\n @property({ reflect: true }) align: \"start\" | \"end\" = \"start\"\n\n /**\n * Set the position in relation to the toggle (or anchor).\n * Options follow logical properties.\n * `block-start` and `block-end` referring to top and bottom respectively,\n * `inline-start` and `inline-end` referring to left and right respectively.\n */\n @property({ reflect: true }) position: \"block-end\" | \"block-start\" | \"inline-start\" | \"inline-end\" = \"block-end\"\n }\n\n return FloatingElement\n}\n","import { LitElement, html } from \"lit\"\nimport { customElement, property, query, state } from \"lit/decorators.js\"\nimport { computePosition, shift, offset, flip, hide, autoUpdate, Placement } from \"@floating-ui/dom\"\nimport { LightDismissController } from \"../common/controllers/LightDismissController.js\"\nimport { ScrollbarController } from \"../common/controllers/ScrollbarController.js\"\nimport { NordEvent, transition } from \"../common/events.js\"\nimport { FloatingMixin } from \"../common/mixins/FloatingComponentMixin.js\"\n\nimport componentStyle from \"../common/styles/Component.css\"\nimport style from \"./Popout.css\"\nimport { logicalToPhysical } from \"../common/positioning.js\"\nimport { DirectionController } from \"../common/controllers/DirectionController.js\"\nimport { observe } from \"../common/decorators/observe.js\"\nimport { EventController } from \"../common/controllers/EventController.js\"\n\n/*\n * The breakpoint width to switch between \"sheet\" design and floating design\n */\nconst mediaQuery = matchMedia(\"(max-width: 35.9375em)\")\n\n/**\n * Popouts are small overlays that open on demand. They let users access additional content and actions without cluttering the page.\n *\n * @status ready\n * @category overlay\n * @slot - The popout content.\n */\n@customElement(\"nord-popout\")\nexport default class Popout extends FloatingMixin(LitElement) {\n static styles = [componentStyle, style]\n\n private targetElement?: HTMLElement\n private anchorElement?: HTMLElement\n private cleanupAutoUpdate?: ReturnType<typeof autoUpdate>\n\n @query(\".n-popout\", true) private popout!: HTMLDivElement\n\n private scrollBar = new ScrollbarController(this)\n\n /**\n * Handle dismissal of the popout, clicking outside the target button and popout.\n */\n private dismiss = new LightDismissController(this, {\n isOpen: () => this.open,\n onDismiss: e => this.hide(e.type !== \"click\"),\n isDismissible: node => node !== this.popout && node !== this.targetElement,\n })\n\n private events = new EventController(this)\n private direction = new DirectionController(this)\n\n @state() private computedPosition?: Placement\n\n @state() private smallViewport = mediaQuery.matches\n\n /**\n * The id for the active element to reference via aria-controls.\n */\n // eslint-disable-next-line lit/no-native-attributes\n @property({ reflect: true }) id: string = \"\"\n\n /**\n * Set an optional anchor element to align against, replacing the triggering element.\n */\n @property({ reflect: true }) anchor?: string\n\n /**\n * Show the popout.\n * A promise that resolves to a `TransitionEvent` when the popout's show animation ends or is cancelled.\n * If the popout is already open, the promise resolves immediately with `undefined`.\n */\n async show(): Promise<TransitionEvent | void> {\n if (this.open) {\n return Promise.resolve()\n }\n\n this.open = true\n\n // we should only focus once the popout is visible after render is complete\n await this.updateComplete\n\n /**\n * Dispatched when the popout is opened.\n */\n this.dispatchEvent(new NordEvent(\"open\"))\n\n return transition(this.popout)\n }\n\n /**\n * Hide the popout.\n * Returns a promise that resolves to a `TransitionEvent` when the popout's hide animation ends or is cancelled.\n * If the popout is already closed, the promise resolves immediately with `undefined`.\n * @param {boolean} moveFocusToButton prevent focus returning to the target button. Default is true.\n */\n async hide(moveFocusToButton: boolean = true): Promise<TransitionEvent | void> {\n if (!this.open) {\n return Promise.resolve()\n }\n\n this.open = false\n\n this.cleanupAutoUpdate?.()\n\n /**\n * Dispatched when the popout is closed.\n */\n this.dispatchEvent(new NordEvent(\"close\"))\n\n if (moveFocusToButton) {\n this.targetElement?.focus({ preventScroll: true })\n }\n\n return transition(this.popout)\n }\n\n /**\n * Position the popout on load.\n */\n firstUpdated() {\n if (!this.smallViewport) {\n this.updatePosition()\n }\n }\n\n connectedCallback() {\n super.connectedCallback()\n this.events.listen(mediaQuery, \"change\", this.handleMediaQueryChange)\n }\n\n disconnectedCallback() {\n super.disconnectedCallback()\n\n this.cleanupAutoUpdate?.()\n this.targetElement?.removeAttribute(\"aria-expanded\")\n }\n\n render() {\n return html`\n <div\n class=\"n-popout ${this.computedPosition} is-${this.direction.dir}\"\n aria-hidden=${this.open ? \"false\" : \"true\"}\n @transitionend=${this.enableScroll}\n >\n <slot></slot>\n </div>\n `\n }\n\n @observe(\"id\")\n protected handleIdChange() {\n // clean up any old listeners\n this.targetElement?.removeEventListener(\"click\", this.toggleOpen)\n\n if (!this.id) {\n // eslint-disable-next-line no-console\n console.warn(\"NORD: popout requires an id attribute and value\")\n } else {\n this.targetElement = this.getToggle()\n this.anchorElement = this.getAnchor()\n\n this.events.listen(this.targetElement, \"click\", this.toggleOpen)\n }\n }\n\n @observe(\"open\")\n protected handleOpenChange() {\n this.targetElement?.setAttribute(\"aria-expanded\", `${this.open}`)\n\n if (this.open) {\n if (this.smallViewport) {\n // hide scrollbar and prevent scroll on body\n this.scrollBar.lockScroll()\n } else if (this.anchorElement) {\n this.cleanupAutoUpdate = autoUpdate(this.anchorElement, this, this.updatePosition)\n }\n } else {\n this.cleanupAutoUpdate?.()\n }\n }\n\n @observe(\"anchor\")\n protected handleAnchorChange() {\n this.cleanupAutoUpdate?.()\n this.anchorElement = this.getAnchor()\n\n // if the popout is already open when the anchor changes, we should update its position\n if (this.open && !this.smallViewport && this.anchorElement) {\n this.cleanupAutoUpdate = autoUpdate(this.anchorElement, this, this.updatePosition)\n }\n }\n\n private enableScroll = () => {\n // scrollbar should only be restored when the backdrop has transitioned\n // that way we avoid awkward double scrollbars.\n if (!this.open) {\n this.scrollBar.unlockScroll()\n }\n }\n\n /**\n * Get the position of the element toggling the popout\n * and position the popout underneath it, taking into account the optional placement.\n */\n private updatePosition = async () => {\n if (!this.anchorElement) {\n return\n }\n\n const { x, y, placement, middlewareData } = await computePosition(this.anchorElement, this, {\n strategy: \"fixed\",\n placement: logicalToPhysical(this.position, this.align, this.direction.dir),\n middleware: [\n offset(8),\n flip(),\n shift({\n padding: 8,\n }),\n hide(),\n ],\n })\n\n this.computedPosition = placement\n\n // use physical properties here since floating-ui\n // works exclusively in physical dimensions\n // we do all the mapping in logicalToPhysical\n this.style.setProperty(\"--_n-popout-position-x\", `${x}px`)\n this.style.setProperty(\"--_n-popout-position-y\", `${y}px`)\n\n if (middlewareData.hide?.referenceHidden) {\n this.hide()\n }\n }\n\n /**\n * Toggle the popout open or closed using state.\n * Updating the position to underneath the target button before the popout is opened.\n */\n private toggleOpen = (e: Event) => {\n e.preventDefault()\n if (this.open) {\n this.hide(false)\n } else if (!this.smallViewport) {\n this.updatePosition().then(() => this.show())\n } else {\n this.show()\n }\n }\n\n private getToggle() {\n const rootNode = this.getRootNode() as Document | ShadowRoot\n const toggle = <HTMLElement>rootNode.querySelector(`[aria-controls='${this.id}']`)\n\n if (toggle instanceof HTMLSlotElement) {\n return toggle.assignedElements()[0] as HTMLElement\n }\n\n return toggle\n }\n\n private getAnchor() {\n if (!this.anchor) {\n return this.targetElement\n }\n\n const rootNode = this.getRootNode() as Document | ShadowRoot\n const anchor = <HTMLElement>rootNode.querySelector(`#${this.anchor}`)\n\n if (anchor instanceof HTMLSlotElement) {\n return anchor.assignedElements()[0] as HTMLElement\n }\n\n return anchor\n }\n\n /**\n * Update the smallViewport flag to switch between \"sheet\" and \"floating\".\n * autoUpdate is needed when a viewport gets larger and the popout is open.\n */\n private handleMediaQueryChange = () => {\n this.smallViewport = mediaQuery.matches\n\n this.cleanupAutoUpdate?.()\n\n if (!this.smallViewport && this.open && this.anchorElement) {\n this.cleanupAutoUpdate = autoUpdate(this.anchorElement, this, this.updatePosition)\n this.scrollBar.unlockScroll()\n } else if (this.open) {\n this.scrollBar.lockScroll()\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"nord-popout\": Popout\n }\n}\n"],"names":["FloatingMixin","superClass","FloatingElement","constructor","this","open","align","position","__decorate","property","type","Boolean","reflect","prototype","mediaQuery","matchMedia","Popout","LitElement","scrollBar","ScrollbarController","dismiss","LightDismissController","isOpen","onDismiss","e","hide","isDismissible","node","popout","targetElement","events","EventController","direction","DirectionController","smallViewport","matches","id","enableScroll","unlockScroll","updatePosition","async","anchorElement","x","y","placement","middlewareData","computePosition","strategy","logicalToPhysical","dir","middleware","offset","flip","shift","padding","computedPosition","style","setProperty","_a","referenceHidden","toggleOpen","preventDefault","show","then","handleMediaQueryChange","cleanupAutoUpdate","call","autoUpdate","lockScroll","Promise","resolve","updateComplete","dispatchEvent","NordEvent","transition","moveFocusToButton","_b","focus","preventScroll","firstUpdated","connectedCallback","super","listen","disconnectedCallback","removeAttribute","render","html","handleIdChange","removeEventListener","getToggle","getAnchor","console","warn","handleOpenChange","setAttribute","handleAnchorChange","toggle","getRootNode","querySelector","HTMLSlotElement","assignedElements","anchor","styles","componentStyle","query","state","observe","customElement"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{_ as e}from"./query-assigned-elements-92ce7494.js";import{n as r}from"./property-c78323b1.js";function s(s){class t extends s{constructor(){super(...arguments),this.size="m"}}return e([r({reflect:!0})],t.prototype,"size",void 0),t}export{s as S};
|
|
2
|
-
//# sourceMappingURL=SizeMixin-ab074eff.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SlotController-d733c575.js","sources":["../src/common/controllers/SlotController.ts"],"sourcesContent":["import { ReactiveController, ReactiveControllerHost } from \"lit\"\nimport { EventController } from \"./EventController.js\"\n\nexport class SlotController implements ReactiveController {\n private events: EventController\n private selector: string\n\n constructor(protected host: ReactiveControllerHost & HTMLElement, public slotName: string = \"\") {\n host.addController(this)\n this.events = new EventController(host)\n this.selector = slotName ? `:scope > [slot=\"${slotName}\"]` : `:scope > :not([slot])`\n }\n\n hostConnected() {\n if (this.host.shadowRoot) {\n this.events.listen(this.host.shadowRoot, \"slotchange\", this.handleSlotChange)\n }\n }\n\n get hasContent() {\n return this.content != null\n }\n\n get isEmpty() {\n return !this.hasContent\n }\n\n get content() {\n return this.host.querySelector(this.selector)\n }\n\n get assigned() {\n return Array.from(this.host.querySelectorAll(this.selector))\n }\n\n private handleSlotChange = (e: Event) => {\n const slot = e.target as HTMLSlotElement\n\n if (slot.name === this.slotName) {\n this.onChange(e)\n }\n }\n\n protected onChange(_e: Event) {\n this.host.requestUpdate()\n }\n}\n"],"names":["SlotController","constructor","host","slotName","this","handleSlotChange","e","target","name","onChange","addController","events","EventController","selector","hostConnected","shadowRoot","listen","hasContent","content","isEmpty","querySelector","assigned","Array","from","querySelectorAll","_e","requestUpdate"],"mappings":"wDAGaA,EAIX,WAAAC,CAAsBC,EAAmDC,EAAmB,IAAtEC,KAAIF,KAAJA,EAAmDE,KAAQD,SAARA,EA4BjEC,KAAAC,iBAAoBC,IACbA,EAAEC,OAENC,OAASJ,KAAKD,UACrBC,KAAKK,SAASH,EACf,EAhCDJ,EAAKQ,cAAcN,MACnBA,KAAKO,OAAS,IAAIC,EAAgBV,GAClCE,KAAKS,SAAWV,EAAW,mBAAmBA,MAAe,uBAC9D,CAED,aAAAW,GACMV,KAAKF,KAAKa,YACZX,KAAKO,OAAOK,OAAOZ,KAAKF,KAAKa,WAAY,aAAcX,KAAKC,iBAE/D,CAED,cAAIY,GACF,OAAuB,MAAhBb,KAAKc,OACb,CAED,WAAIC,GACF,OAAQf,KAAKa,UACd,CAED,WAAIC,GACF,OAAOd,KAAKF,KAAKkB,cAAchB,KAAKS,SACrC,CAED,YAAIQ,GACF,OAAOC,MAAMC,KAAKnB,KAAKF,KAAKsB,iBAAiBpB,KAAKS,UACnD,CAUS,QAAAJ,CAASgB,GACjBrB,KAAKF,KAAKwB,eACX"}
|
package/lib/Sticky-c34c9b12.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{i as t}from"./query-assigned-elements-92ce7494.js";const s=t`:host{--_n-sticky-size:0px;--_n-sticky-top:var(--n-sticky-top, 0px);--_n-sticky-index:var(--n-sticky-index, var(--n-index-sticky))}:host([sticky]) .n-sticky{position:sticky;inset-block-start:var(--_n-sticky-top);z-index:var(--_n-sticky-index)}:host>*{--n-sticky-top:calc(var(--_n-sticky-top) + var(--_n-sticky-size));--n-sticky-index:calc(var(--_n-sticky-index) - 1)}`;export{s};
|
|
2
|
-
//# sourceMappingURL=Sticky-c34c9b12.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Sticky-c34c9b12.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{_ as n,i as r}from"./query-assigned-elements-92ce7494.js";import{n as o}from"./property-c78323b1.js";function i(r){class i extends r{constructor(){super(...arguments),this.readonly=!1}}return n([o({type:Boolean,reflect:!0})],i.prototype,"readonly",void 0),i}const t=r`:host{--_n-input-inline-size:var(--n-input-inline-size, 240px);--_n-input-background:var(--n-input-background, var(--n-color-active));--_n-input-color:var(--n-input-color, var(--n-color-text));--_n-input-font-size:var(--n-input-font-size, var(--n-font-size-m));--_n-input-border-color:var(--n-input-border-color, var(--n-color-border-strong));--_n-input-border-radius:var(--n-input-border-radius, var(--n-border-radius-s));--_n-input-text-align:var(--n-input-text-align, start);--_n-input-placeholder-color:var(--n-input-placeholder-color, var(--n-color-text-weakest));--_n-input-padding-block:calc(var(--n-space-s) - 1px);--_n-input-padding-inline:calc(var(--n-space-s) * 1.6)}.n-input-container{position:relative;inline-size:var(--_n-input-inline-size)}.n-input{background:var(--_n-input-background);color:var(--_n-input-color);padding:var(--_n-input-padding-block) var(--_n-input-padding-inline);border-radius:var(--_n-input-border-radius);border:1px solid var(--_n-input-border-color);font-family:var(--n-font-family);font-size:var(--_n-input-font-size);font-feature-settings:var(--n-font-features);line-height:var(--n-line-height-form);inline-size:100%;transition:border var(--n-transition-quickly),box-shadow var(--n-transition-quickly),background var(--n-transition-quickly);text-align:var(--_n-input-text-align)}@media (max-width:480px){:host{--_n-input-font-size:var(--n-input-font-size, var(--n-font-size-l))}}:host([expand]){--_n-input-inline-size:100%;inline-size:100%}.n-input:hover,.n-label-container:hover+.n-input-container{--_n-input-border-color:var(--n-input-border-color, var(--n-color-border-hover))}.n-input:focus{--_n-input-border-color:var(--n-input-border-color, var(--n-color-accent));--_n-input-background:var(--n-input-background, var(--n-color-surface));outline:0;box-shadow:0 0 0 1px var(--_n-input-border-color)}.n-input::placeholder{color:var(--_n-input-placeholder-color);opacity:1}.n-input[aria-invalid=true]{--_n-input-border-color:var(--n-input-border-color, var(--n-color-status-danger))!important}.n-input:disabled,.n-input[readonly],.n-label-container:hover+.n-input-container .n-input:disabled,.n-label-container:hover+.n-input-container .n-input[readonly]{--_n-input-border-color:var(--n-input-border-color, var(--n-color-active));--_n-input-color:var(--n-input-color, var(--n-color-text-weakest))}.n-input[readonly],.n-label-container:hover+.n-input-container .n-input[readonly]{--_n-input-color:var(--n-input-color, var(--n-color-text-weak))}.n-input[readonly]:focus{--_n-input-border-color:var(--n-input-border-color, var(--n-color-accent))}:host([size="s"]){--_n-input-font-size:var(--n-font-size-s);--_n-input-padding-block:calc(var(--n-space-xs) - 1px);--_n-input-padding-inline:calc(var(--n-space-xs) * 1.6)}:host([size="l"]){--_n-input-font-size:var(--n-font-size-l);--_n-input-padding-block:calc(var(--n-space-m) / 1.25)}`;export{i as R,t as s};
|
|
2
|
-
//# sourceMappingURL=TextField-2d778949.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{e}from"./ref-99418ab4.js";function t(t){return class extends t{constructor(){super(...arguments),this.textSelectableRef=e()}set selectionStart(e){this.textSelectableRef.value&&(this.textSelectableRef.value.selectionStart=e)}get selectionStart(){var e,t;return null!==(t=null===(e=this.textSelectableRef.value)||void 0===e?void 0:e.selectionStart)&&void 0!==t?t:null}set selectionEnd(e){this.textSelectableRef.value&&(this.textSelectableRef.value.selectionEnd=e)}get selectionEnd(){var e,t;return null!==(t=null===(e=this.textSelectableRef.value)||void 0===e?void 0:e.selectionEnd)&&void 0!==t?t:null}set selectionDirection(e){this.textSelectableRef.value&&(this.textSelectableRef.value.selectionDirection=e)}get selectionDirection(){var e,t;return null!==(t=null===(e=this.textSelectableRef.value)||void 0===e?void 0:e.selectionDirection)&&void 0!==t?t:null}select(){this.textSelectableRef.value&&this.textSelectableRef.value.select()}setSelectionRange(e,t,l){this.textSelectableRef.value&&this.textSelectableRef.value.setSelectionRange(e,t,l)}setRangeText(e,t,l,a="preserve"){if(this.textSelectableRef.value){const i=null!=t?t:this.textSelectableRef.value.selectionStart,s=null!=l?l:this.textSelectableRef.value.selectionEnd;this.textSelectableRef.value.setRangeText(e,i,s,a),this.value!==this.textSelectableRef.value.value&&(this.value=this.textSelectableRef.value.value)}}async getNativeElement(){return await this.updateComplete,this.textSelectableRef.value}}}export{t as T};
|
|
2
|
-
//# sourceMappingURL=TextSelectableMixin-aac97d82.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import{T as t}from"./query-assigned-elements-92ce7494.js";import{e,i,t as s}from"./directive-e9ce14b4.js";
|
|
2
|
-
/**
|
|
3
|
-
* @license
|
|
4
|
-
* Copyright 2018 Google LLC
|
|
5
|
-
* SPDX-License-Identifier: BSD-3-Clause
|
|
6
|
-
*/const n=e(class extends i{constructor(t){var e;if(super(t),t.type!==s.ATTRIBUTE||"class"!==t.name||(null===(e=t.strings)||void 0===e?void 0:e.length)>2)throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.")}render(t){return" "+Object.keys(t).filter((e=>t[e])).join(" ")+" "}update(e,[i]){var s,n;if(void 0===this.it){this.it=new Set,void 0!==e.strings&&(this.nt=new Set(e.strings.join(" ").split(/\s/).filter((t=>""!==t))));for(const t in i)i[t]&&!(null===(s=this.nt)||void 0===s?void 0:s.has(t))&&this.it.add(t);return this.render(i)}const r=e.element.classList;this.it.forEach((t=>{t in i||(r.remove(t),this.it.delete(t))}));for(const t in i){const e=!!i[t];e===this.it.has(t)||(null===(n=this.nt)||void 0===n?void 0:n.has(t))||(e?(r.add(t),this.it.add(t)):(r.remove(t),this.it.delete(t)))}return t}});export{n as o};
|
|
7
|
-
//# sourceMappingURL=class-map-512f0bc1.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"class-map-512f0bc1.js","sources":["../node_modules/lit/node_modules/lit-html/directives/class-map.js"],"sourcesContent":["import{noChange as t}from\"../lit-html.js\";import{directive as i,Directive as s,PartType as r}from\"../directive.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const o=i(class extends s{constructor(t){var i;if(super(t),t.type!==r.ATTRIBUTE||\"class\"!==t.name||(null===(i=t.strings)||void 0===i?void 0:i.length)>2)throw Error(\"`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.\")}render(t){return\" \"+Object.keys(t).filter((i=>t[i])).join(\" \")+\" \"}update(i,[s]){var r,o;if(void 0===this.it){this.it=new Set,void 0!==i.strings&&(this.nt=new Set(i.strings.join(\" \").split(/\\s/).filter((t=>\"\"!==t))));for(const t in s)s[t]&&!(null===(r=this.nt)||void 0===r?void 0:r.has(t))&&this.it.add(t);return this.render(s)}const e=i.element.classList;this.it.forEach((t=>{t in s||(e.remove(t),this.it.delete(t))}));for(const t in s){const i=!!s[t];i===this.it.has(t)||(null===(o=this.nt)||void 0===o?void 0:o.has(t))||(i?(e.add(t),this.it.add(t)):(e.remove(t),this.it.delete(t)))}return t}});export{o as classMap};\n//# sourceMappingURL=class-map.js.map\n"],"names":["o","i","s","constructor","t","super","type","r","ATTRIBUTE","name","strings","length","Error","render","Object","keys","filter","join","update","this","it","Set","nt","split","has","add","e","element","classList","forEach","remove","delete"],"mappings":";;;;;GAKQ,MAACA,EAAEC,EAAE,cAAcC,EAAE,WAAAC,CAAYC,GAAG,IAAIH,EAAE,GAAGI,MAAMD,GAAGA,EAAEE,OAAOC,EAAEC,WAAW,UAAUJ,EAAEK,OAAO,QAAQR,EAAEG,EAAEM,eAAU,IAAST,OAAE,EAAOA,EAAEU,QAAQ,EAAE,MAAMC,MAAM,qGAAqG,CAAC,MAAAC,CAAOT,GAAG,MAAM,IAAIU,OAAOC,KAAKX,GAAGY,QAAQf,GAAGG,EAAEH,KAAKgB,KAAK,KAAK,GAAG,CAAC,MAAAC,CAAOjB,GAAGC,IAAI,IAAIK,EAAEP,EAAE,QAAG,IAASmB,KAAKC,GAAG,CAACD,KAAKC,GAAG,IAAIC,SAAI,IAASpB,EAAES,UAAUS,KAAKG,GAAG,IAAID,IAAIpB,EAAES,QAAQO,KAAK,KAAKM,MAAM,MAAMP,QAAQZ,GAAG,KAAKA,MAAM,IAAI,MAAMA,KAAKF,EAAEA,EAAEE,MAAM,QAAQG,EAAEY,KAAKG,UAAK,IAASf,OAAE,EAAOA,EAAEiB,IAAIpB,KAAKe,KAAKC,GAAGK,IAAIrB,GAAG,OAAOe,KAAKN,OAAOX,EAAE,CAAC,MAAMwB,EAAEzB,EAAE0B,QAAQC,UAAUT,KAAKC,GAAGS,SAASzB,IAAIA,KAAKF,IAAIwB,EAAEI,OAAO1B,GAAGe,KAAKC,GAAGW,OAAO3B,GAAI,IAAG,IAAI,MAAMA,KAAKF,EAAE,CAAC,MAAMD,IAAIC,EAAEE,GAAGH,IAAIkB,KAAKC,GAAGI,IAAIpB,KAAK,QAAQJ,EAAEmB,KAAKG,UAAK,IAAStB,OAAE,EAAOA,EAAEwB,IAAIpB,MAAMH,GAAGyB,EAAED,IAAIrB,GAAGe,KAAKC,GAAGK,IAAIrB,KAAKsB,EAAEI,OAAO1B,GAAGe,KAAKC,GAAGW,OAAO3B,IAAI,CAAC,OAAOA,CAAC"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import{T as e}from"./query-assigned-elements-92ce7494.js";import{e as t,i as s,t as n}from"./directive-e9ce14b4.js";import{m as r,f as o,c as l,p as i,a as u}from"./ref-99418ab4.js";
|
|
2
|
-
/**
|
|
3
|
-
* @license
|
|
4
|
-
* Copyright 2017 Google LLC
|
|
5
|
-
* SPDX-License-Identifier: BSD-3-Clause
|
|
6
|
-
*/const c=(e,t,s)=>{const n=new Map;for(let r=t;r<=s;r++)n.set(e[r],r);return n},f=t(class extends s{constructor(e){if(super(e),e.type!==n.CHILD)throw Error("repeat() can only be used in text expressions")}ct(e,t,s){let n;void 0===s?s=t:void 0!==t&&(n=t);const r=[],o=[];let l=0;for(const t of e)r[l]=n?n(t,l):l,o[l]=s(t,l),l++;return{values:o,keys:r}}render(e,t,s){return this.ct(e,t,s).values}update(t,[s,n,f]){var a;const h=r(t),{values:p,keys:d}=this.ct(s,n,f);if(!Array.isArray(h))return this.ut=d,p;const v=null!==(a=this.ut)&&void 0!==a?a:this.ut=[],m=[];let g,y,x=0,b=h.length-1,j=0,w=p.length-1;for(;x<=b&&j<=w;)if(null===h[x])x++;else if(null===h[b])b--;else if(v[x]===d[j])m[j]=o(h[x],p[j]),x++,j++;else if(v[b]===d[w])m[w]=o(h[b],p[w]),b--,w--;else if(v[x]===d[w])m[w]=o(h[x],p[w]),l(t,m[w+1],h[x]),x++,w--;else if(v[b]===d[j])m[j]=o(h[b],p[j]),l(t,h[x],h[b]),b--,j++;else if(void 0===g&&(g=c(d,j,w),y=c(v,x,b)),g.has(v[x]))if(g.has(v[b])){const e=y.get(d[j]),s=void 0!==e?h[e]:null;if(null===s){const e=l(t,h[x]);o(e,p[j]),m[j]=e}else m[j]=o(s,p[j]),l(t,h[x],s),h[e]=null;j++}else i(h[b]),b--;else i(h[x]),x++;for(;j<=w;){const e=l(t,m[w+1]);o(e,p[j]),m[j++]=e}for(;x<=b;){const e=h[x++];null!==e&&i(e)}return this.ut=d,u(t,m),e}});function a(e,t){var s;const n=new Map;for(const r of e){const e=r[t],o=null!==(s=n.get(e))&&void 0!==s?s:[];n.has(e)||n.set(e,[]),o.push(r),n.set(e,o)}return n}function h(e,t){const s=[];for(let n=0;n<e.length;n+=t)s.push(e.slice(n,n+t));return s}function p(e,t,s){return e.map(((n,r)=>{const o=(r+t)%e.length;return s(e[o],o)}))}export{h as a,f as c,a as g,p as m};
|
|
7
|
-
//# sourceMappingURL=collection-511dcfac.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"collection-511dcfac.js","sources":["../node_modules/lit/node_modules/lit-html/directives/repeat.js","../src/common/collection.ts"],"sourcesContent":["import{noChange as e}from\"../lit-html.js\";import{directive as s,Directive as t,PartType as r}from\"../directive.js\";import{getCommittedValue as l,setChildPartValue as o,insertPart as i,removePart as n,setCommittedValue as f}from\"../directive-helpers.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst u=(e,s,t)=>{const r=new Map;for(let l=s;l<=t;l++)r.set(e[l],l);return r},c=s(class extends t{constructor(e){if(super(e),e.type!==r.CHILD)throw Error(\"repeat() can only be used in text expressions\")}ct(e,s,t){let r;void 0===t?t=s:void 0!==s&&(r=s);const l=[],o=[];let i=0;for(const s of e)l[i]=r?r(s,i):i,o[i]=t(s,i),i++;return{values:o,keys:l}}render(e,s,t){return this.ct(e,s,t).values}update(s,[t,r,c]){var d;const a=l(s),{values:p,keys:v}=this.ct(t,r,c);if(!Array.isArray(a))return this.ut=v,p;const h=null!==(d=this.ut)&&void 0!==d?d:this.ut=[],m=[];let y,x,j=0,k=a.length-1,w=0,A=p.length-1;for(;j<=k&&w<=A;)if(null===a[j])j++;else if(null===a[k])k--;else if(h[j]===v[w])m[w]=o(a[j],p[w]),j++,w++;else if(h[k]===v[A])m[A]=o(a[k],p[A]),k--,A--;else if(h[j]===v[A])m[A]=o(a[j],p[A]),i(s,m[A+1],a[j]),j++,A--;else if(h[k]===v[w])m[w]=o(a[k],p[w]),i(s,a[j],a[k]),k--,w++;else if(void 0===y&&(y=u(v,w,A),x=u(h,j,k)),y.has(h[j]))if(y.has(h[k])){const e=x.get(v[w]),t=void 0!==e?a[e]:null;if(null===t){const e=i(s,a[j]);o(e,p[w]),m[w]=e}else m[w]=o(t,p[w]),i(s,a[j],t),a[e]=null;w++}else n(a[k]),k--;else n(a[j]),j++;for(;w<=A;){const e=i(s,m[A+1]);o(e,p[w]),m[w++]=e}for(;j<=k;){const e=a[j++];null!==e&&n(e)}return this.ut=v,f(s,m),e}});export{c as repeat};\n//# sourceMappingURL=repeat.js.map\n","/**\n * Groups an array objects by property value\n * @param array the collection of objects to group\n * @param key the property to group by\n * @returns a Map keyed by property value, where values are are an array of objects with that property value.\n */\nexport function groupBy<TObject extends Record<any, any>, TKey extends keyof TObject>(\n array: Array<TObject>,\n key: TKey\n) {\n const grouped = new Map<TObject[TKey], TObject[]>()\n\n for (const item of array) {\n const value = item[key]\n const collection = grouped.get(value) ?? []\n\n if (!grouped.has(value)) {\n grouped.set(value, [])\n }\n collection.push(item)\n grouped.set(value, collection)\n }\n\n return grouped\n}\n\n/**\n * Split an array into chunks of the given size\n * @param array\n * @param chunkSize\n * @returns\n */\nexport function chunk<T>(array: T[], chunkSize: number): T[][] {\n const result = []\n\n for (let i = 0; i < array.length; i += chunkSize) {\n result.push(array.slice(i, i + chunkSize))\n }\n\n return result\n}\n\n/**\n * maps over an array, starting at the given offset and wrapping around.\n * @param array\n * @param startingOffset\n * @param mapFn\n * @returns\n */\nexport function mapWithOffset<T, U>(array: T[], startingOffset: number, mapFn: (item: T, i: number) => U): U[] {\n return array.map((_, i) => {\n const adjustedIndex = (i + startingOffset) % array.length\n return mapFn(array[adjustedIndex], adjustedIndex)\n })\n}\n"],"names":["u","e","s","t","r","Map","l","set","c","constructor","super","type","CHILD","Error","ct","o","i","values","keys","render","this","update","d","a","p","v","Array","isArray","ut","h","m","y","x","j","k","length","w","A","has","get","n","f","groupBy","array","key","grouped","item","value","collection","_a","push","chunk","chunkSize","result","slice","mapWithOffset","startingOffset","mapFn","map","_","adjustedIndex"],"mappings":";;;;;GAMK,MAACA,EAAE,CAACC,EAAEC,EAAEC,KAAK,MAAMC,EAAE,IAAIC,IAAI,IAAI,IAAIC,EAAEJ,EAAEI,GAAGH,EAAEG,IAAIF,EAAEG,IAAIN,EAAEK,GAAGA,GAAG,OAAOF,GAAGI,EAAEN,EAAE,cAAcC,EAAE,WAAAM,CAAYR,GAAG,GAAGS,MAAMT,GAAGA,EAAEU,OAAOP,EAAEQ,MAAM,MAAMC,MAAM,gDAAgD,CAAC,EAAAC,CAAGb,EAAEC,EAAEC,GAAG,IAAIC,OAAE,IAASD,EAAEA,EAAED,OAAE,IAASA,IAAIE,EAAEF,GAAG,MAAMI,EAAE,GAAGS,EAAE,GAAG,IAAIC,EAAE,EAAE,IAAI,MAAMd,KAAKD,EAAEK,EAAEU,GAAGZ,EAAEA,EAAEF,EAAEc,GAAGA,EAAED,EAAEC,GAAGb,EAAED,EAAEc,GAAGA,IAAI,MAAM,CAACC,OAAOF,EAAEG,KAAKZ,EAAE,CAAC,MAAAa,CAAOlB,EAAEC,EAAEC,GAAG,OAAOiB,KAAKN,GAAGb,EAAEC,EAAEC,GAAGc,MAAM,CAAC,MAAAI,CAAOnB,GAAGC,EAAEC,EAAEI,IAAI,IAAIc,EAAE,MAAMC,EAAEjB,EAAEJ,IAAIe,OAAOO,EAAEN,KAAKO,GAAGL,KAAKN,GAAGX,EAAEC,EAAEI,GAAG,IAAIkB,MAAMC,QAAQJ,GAAG,OAAOH,KAAKQ,GAAGH,EAAED,EAAE,MAAMK,EAAE,QAAQP,EAAEF,KAAKQ,UAAK,IAASN,EAAEA,EAAEF,KAAKQ,GAAG,GAAGE,EAAE,GAAG,IAAIC,EAAEC,EAAEC,EAAE,EAAEC,EAAEX,EAAEY,OAAO,EAAEC,EAAE,EAAEC,EAAEb,EAAEW,OAAO,EAAE,KAAKF,GAAGC,GAAGE,GAAGC,GAAG,GAAG,OAAOd,EAAEU,GAAGA,SAAS,GAAG,OAAOV,EAAEW,GAAGA,SAAS,GAAGL,EAAEI,KAAKR,EAAEW,GAAGN,EAAEM,GAAGrB,EAAEQ,EAAEU,GAAGT,EAAEY,IAAIH,IAAIG,SAAS,GAAGP,EAAEK,KAAKT,EAAEY,GAAGP,EAAEO,GAAGtB,EAAEQ,EAAEW,GAAGV,EAAEa,IAAIH,IAAIG,SAAS,GAAGR,EAAEI,KAAKR,EAAEY,GAAGP,EAAEO,GAAGtB,EAAEQ,EAAEU,GAAGT,EAAEa,IAAIrB,EAAEd,EAAE4B,EAAEO,EAAE,GAAGd,EAAEU,IAAIA,IAAII,SAAS,GAAGR,EAAEK,KAAKT,EAAEW,GAAGN,EAAEM,GAAGrB,EAAEQ,EAAEW,GAAGV,EAAEY,IAAIpB,EAAEd,EAAEqB,EAAEU,GAAGV,EAAEW,IAAIA,IAAIE,SAAS,QAAG,IAASL,IAAIA,EAAE/B,EAAEyB,EAAEW,EAAEC,GAAGL,EAAEhC,EAAE6B,EAAEI,EAAEC,IAAIH,EAAEO,IAAIT,EAAEI,IAAI,GAAGF,EAAEO,IAAIT,EAAEK,IAAI,CAAC,MAAMjC,EAAE+B,EAAEO,IAAId,EAAEW,IAAIjC,OAAE,IAASF,EAAEsB,EAAEtB,GAAG,KAAK,GAAG,OAAOE,EAAE,CAAC,MAAMF,EAAEe,EAAEd,EAAEqB,EAAEU,IAAIlB,EAAEd,EAAEuB,EAAEY,IAAIN,EAAEM,GAAGnC,CAAC,MAAM6B,EAAEM,GAAGrB,EAAEZ,EAAEqB,EAAEY,IAAIpB,EAAEd,EAAEqB,EAAEU,GAAG9B,GAAGoB,EAAEtB,GAAG,KAAKmC,GAAG,MAAMI,EAAEjB,EAAEW,IAAIA,SAASM,EAAEjB,EAAEU,IAAIA,IAAI,KAAKG,GAAGC,GAAG,CAAC,MAAMpC,EAAEe,EAAEd,EAAE4B,EAAEO,EAAE,IAAItB,EAAEd,EAAEuB,EAAEY,IAAIN,EAAEM,KAAKnC,CAAC,CAAC,KAAKgC,GAAGC,GAAG,CAAC,MAAMjC,EAAEsB,EAAEU,KAAK,OAAOhC,GAAGuC,EAAEvC,EAAE,CAAC,OAAOmB,KAAKQ,GAAGH,EAAEgB,EAAEvC,EAAE4B,GAAG7B,CAAC,ICAvsC,SAAAyC,EACdC,EACAC,SAEA,MAAMC,EAAU,IAAIxC,IAEpB,IAAK,MAAMyC,KAAQH,EAAO,CACxB,MAAMI,EAAQD,EAAKF,GACbI,EAAmC,QAAtBC,EAAAJ,EAAQN,IAAIQ,UAAU,IAAAE,EAAAA,EAAA,GAEpCJ,EAAQP,IAAIS,IACfF,EAAQtC,IAAIwC,EAAO,IAErBC,EAAWE,KAAKJ,GAChBD,EAAQtC,IAAIwC,EAAOC,EACpB,CAED,OAAOH,CACT,CAQgB,SAAAM,EAASR,EAAYS,GACnC,MAAMC,EAAS,GAEf,IAAK,IAAIrC,EAAI,EAAGA,EAAI2B,EAAMR,OAAQnB,GAAKoC,EACrCC,EAAOH,KAAKP,EAAMW,MAAMtC,EAAGA,EAAIoC,IAGjC,OAAOC,CACT,UASgBE,EAAoBZ,EAAYa,EAAwBC,GACtE,OAAOd,EAAMe,KAAI,CAACC,EAAG3C,KACnB,MAAM4C,GAAiB5C,EAAIwC,GAAkBb,EAAMR,OACnD,OAAOsB,EAAMd,EAAMiB,GAAgBA,EAAc,GAErD"}
|
package/lib/cond-bb9ee891.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"directive-e9ce14b4.js","sources":["../node_modules/lit/node_modules/lit-html/directive.js"],"sourcesContent":["/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},e=t=>(...e)=>({_$litDirective$:t,values:e});class i{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}export{i as Directive,t as PartType,e as directive};\n//# sourceMappingURL=directive.js.map\n"],"names":["t","ATTRIBUTE","CHILD","PROPERTY","BOOLEAN_ATTRIBUTE","EVENT","ELEMENT","e","_$litDirective$","values","i","constructor","_$AU","this","_$AM","_$AT","_$Ct","_$Ci","_$AS","update","render"],"mappings":";;;;;AAKK,MAACA,EAAE,CAACC,UAAU,EAAEC,MAAM,EAAEC,SAAS,EAAEC,kBAAkB,EAAEC,MAAM,EAAEC,QAAQ,GAAGC,EAAEP,GAAG,IAAIO,KAAC,CAAKC,gBAAgBR,EAAES,OAAOF,IAAI,MAAMG,EAAE,WAAAC,CAAYX,GAAE,CAAE,QAAIY,GAAO,OAAOC,KAAKC,KAAKF,IAAI,CAAC,IAAAG,CAAKf,EAAEO,EAAEG,GAAGG,KAAKG,KAAKhB,EAAEa,KAAKC,KAAKP,EAAEM,KAAKI,KAAKP,CAAC,CAAC,IAAAQ,CAAKlB,EAAEO,GAAG,OAAOM,KAAKM,OAAOnB,EAAEO,EAAE,CAAC,MAAAY,CAAOnB,EAAEO,GAAG,OAAOM,KAAKO,UAAUb,EAAE"}
|
package/lib/fsm-50373df9.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fsm-50373df9.js","sources":["../src/common/fsm.ts"],"sourcesContent":["type EventsFromTransitions<T> = { [Prop in keyof T]: keyof T[Prop] }[keyof T]\n\nexport function fsm<\n TTransitions extends Record<TStates, Partial<Record<TEvents, TStates>>>,\n TStates extends keyof TTransitions,\n TEvents extends EventsFromTransitions<TTransitions>\n>(config: TTransitions) {\n return {\n transition(currentState: TStates, event: TEvents) {\n const nextState = config[currentState][event] as TStates\n return nextState || currentState\n },\n }\n}\n\nexport type Machine = ReturnType<typeof fsm>\n\nexport type States<T extends Machine | Machine[\"transition\"]> = T extends Machine\n ? Parameters<T[\"transition\"]>[0]\n : T extends Machine[\"transition\"]\n ? Parameters<T>[0]\n : never\n\nexport type Events<T extends Machine | Machine[\"transition\"]> = T extends Machine\n ? Parameters<T[\"transition\"]>[1]\n : T extends Machine[\"transition\"]\n ? Parameters<T>[1]\n : never\n"],"names":["fsm","config","transition","currentState","event"],"mappings":"AAEM,SAAUA,EAIdC,GACA,MAAO,CACLC,WAAU,CAACC,EAAuBC,IACdH,EAAOE,GAAcC,IACnBD,EAG1B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"if-defined-cccde88f.js","sources":["../node_modules/lit/node_modules/lit-html/directives/if-defined.js"],"sourcesContent":["import{nothing as t}from\"../lit-html.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const l=l=>null!=l?l:t;export{l as ifDefined};\n//# sourceMappingURL=if-defined.js.map\n"],"names":["l","t"],"mappings":";;;;;GAKQ,MAACA,EAAEA,GAAG,MAAMA,EAAEA,EAAEC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"observe-a9c6dfb6.js","sources":["../src/common/decorators/observe.ts"],"sourcesContent":["import { ReactiveController, ReactiveElement } from \"lit\"\n\ntype ObserveFunction = (oldValue: any, newValue: any, name: PropertyKey) => void\ntype ObserveLifecycle = \"update\" | \"updated\"\n\nclass PropertyObserverController<T extends ReactiveElement, TKey extends keyof T> implements ReactiveController {\n private _value?: T[TKey]\n\n constructor(private host: T, private key: TKey, private cb: ObserveFunction, private lifecycle: ObserveLifecycle) {\n host.addController(this)\n }\n\n hostUpdate() {\n if (this.lifecycle === \"update\") {\n this.handle()\n }\n }\n\n hostUpdated() {\n if (this.lifecycle === \"updated\") {\n this.handle()\n }\n }\n\n private handle() {\n const { key, _value, host } = this\n const newValue = host[key]\n\n if (_value !== newValue) {\n this._value = newValue\n this.cb.call(host, _value, newValue, key)\n }\n }\n}\n\nexport function observe(propertyName: string, lifecycle: ObserveLifecycle = \"update\") {\n return function decorator(target: any, methodName: string) {\n const proto = target.constructor as typeof ReactiveElement\n\n proto.addInitializer(el => {\n type Key = keyof typeof el\n const cb = el[methodName as Key] as ObserveFunction\n\n // since we can't get strong typing here, we can add a runtime check\n // this will get stripped out in prod, and should only ever happen in dev anyway\n if (process.env.NODE_ENV === \"development\") {\n if (!(propertyName in el)) {\n throw new TypeError(\n `@observe: property '${propertyName}' does not exist.\\nPossible properties: ${Object.keys(target)\n .map(p => `'${p}'`)\n .join(\", \")}`\n )\n }\n }\n\n el.addController(new PropertyObserverController(el, propertyName as Key, cb, lifecycle))\n })\n }\n}\n"],"names":["PropertyObserverController","constructor","host","key","cb","lifecycle","this","addController","hostUpdate","handle","hostUpdated","_value","newValue","call","observe","propertyName","target","methodName","addInitializer","el"],"mappings":"AAKA,MAAMA,EAGJ,WAAAC,CAAoBC,EAAiBC,EAAmBC,EAA6BC,GAAjEC,KAAIJ,KAAJA,EAAiBI,KAAGH,IAAHA,EAAmBG,KAAEF,GAAFA,EAA6BE,KAASD,UAATA,EACnFH,EAAKK,cAAcD,KACpB,CAED,UAAAE,GACyB,WAAnBF,KAAKD,WACPC,KAAKG,QAER,CAED,WAAAC,GACyB,YAAnBJ,KAAKD,WACPC,KAAKG,QAER,CAEO,MAAAA,GACN,MAAMN,IAAEA,EAAGQ,OAAEA,EAAMT,KAAEA,GAASI,KACxBM,EAAWV,EAAKC,GAElBQ,IAAWC,IACbN,KAAKK,OAASC,EACdN,KAAKF,GAAGS,KAAKX,EAAMS,EAAQC,EAAUT,GAExC,WAGaW,EAAQC,EAAsBV,EAA8B,UAC1E,OAAO,SAAmBW,EAAaC,GACvBD,EAAOf,YAEfiB,gBAAeC,IAEnB,MAAMf,EAAKe,EAAGF,GAcdE,EAAGZ,cAAc,IAAIP,EAA2BmB,EAAIJ,EAAqBX,EAAIC,GAAW,GAE5F,CACF"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const t=["top","right","bottom","left"],e=Math.min,n=Math.max,o={left:"right",right:"left",bottom:"top",top:"bottom"},i={start:"end",end:"start"};function r(t,o,i){return n(t,e(o,i))}function l(t,e){return"function"==typeof t?t(e):t}function s(t){return t.split("-")[0]}function c(t){return t.split("-")[1]}function a(t){return"x"===t?"y":"x"}function f(t){return"y"===t?"height":"width"}function u(t){return["top","bottom"].includes(s(t))?"y":"x"}function d(t){return a(u(t))}function h(t){return t.replace(/start|end/g,(t=>i[t]))}function m(t){return t.replace(/left|right|bottom|top/g,(t=>o[t]))}function p(t){const{x:e,y:n,width:o,height:i}=t;return{width:o,height:i,top:n,left:e,right:e+o,bottom:n+i,x:e,y:n}}function g(t,e,n){let{reference:o,floating:i}=t;const r=u(e),l=d(e),a=f(l),h=s(e),m="y"===r,p=o.x+o.width/2-i.width/2,g=o.y+o.height/2-i.height/2,y=o[a]/2-i[a]/2;let x;switch(h){case"top":x={x:p,y:o.y-i.height};break;case"bottom":x={x:p,y:o.y+o.height};break;case"right":x={x:o.x+o.width,y:g};break;case"left":x={x:o.x-i.width,y:g};break;default:x={x:o.x,y:o.y}}switch(c(e)){case"start":x[l]-=y*(n&&m?-1:1);break;case"end":x[l]+=y*(n&&m?-1:1)}return x}async function y(t,e){var n;void 0===e&&(e={});const{x:o,y:i,platform:r,rects:s,elements:c,strategy:a}=t,{boundary:f="clippingAncestors",rootBoundary:u="viewport",elementContext:d="floating",altBoundary:h=!1,padding:m=0}=l(e,t),g=function(t){return"number"!=typeof t?function(t){return{top:0,right:0,bottom:0,left:0,...t}}(t):{top:t,right:t,bottom:t,left:t}}(m),y=c[h?"floating"===d?"reference":"floating":d],x=p(await r.getClippingRect({element:null==(n=await(null==r.isElement?void 0:r.isElement(y)))||n?y:y.contextElement||await(null==r.getDocumentElement?void 0:r.getDocumentElement(c.floating)),boundary:f,rootBoundary:u,strategy:a})),w="floating"===d?{x:o,y:i,width:s.floating.width,height:s.floating.height}:s.reference,v=await(null==r.getOffsetParent?void 0:r.getOffsetParent(c.floating)),b=await(null==r.isElement?void 0:r.isElement(v))&&await(null==r.getScale?void 0:r.getScale(v))||{x:1,y:1},R=p(r.convertOffsetParentRelativeRectToViewportRelativeRect?await r.convertOffsetParentRelativeRectToViewportRelativeRect({elements:c,rect:w,offsetParent:v,strategy:a}):w);return{top:(x.top-R.top+g.top)/b.y,bottom:(R.bottom-x.bottom+g.bottom)/b.y,left:(x.left-R.left+g.left)/b.x,right:(R.right-x.right+g.right)/b.x}}const x=function(t){return void 0===t&&(t={}),{name:"flip",options:t,async fn(e){var n,o;const{placement:i,middlewareData:r,rects:a,initialPlacement:p,platform:g,elements:x}=e,{mainAxis:w=!0,crossAxis:v=!0,fallbackPlacements:b,fallbackStrategy:R="bestFit",fallbackAxisSideDirection:L="none",flipAlignment:E=!0,...T}=l(t,e);if(null!=(n=r.arrow)&&n.alignmentOffset)return{};const k=s(i),A=u(p),D=s(p)===p,C=await(null==g.isRTL?void 0:g.isRTL(x.floating)),O=b||(D||!E?[m(p)]:function(t){const e=m(t);return[h(t),e,h(e)]}(p)),P="none"!==L;!b&&P&&O.push(...function(t,e,n,o){const i=c(t);let r=function(t,e,n){const o=["left","right"],i=["right","left"],r=["top","bottom"],l=["bottom","top"];switch(t){case"top":case"bottom":return n?e?i:o:e?o:i;case"left":case"right":return e?r:l;default:return[]}}(s(t),"start"===n,o);return i&&(r=r.map((t=>t+"-"+i)),e&&(r=r.concat(r.map(h)))),r}(p,E,L,C));const F=[p,...O],S=await y(e,T),H=[];let V=(null==(o=r.flip)?void 0:o.overflows)||[];if(w&&H.push(S[k]),v){const t=function(t,e,n){void 0===n&&(n=!1);const o=c(t),i=d(t),r=f(i);let l="x"===i?o===(n?"end":"start")?"right":"left":"start"===o?"bottom":"top";return e.reference[r]>e.floating[r]&&(l=m(l)),[l,m(l)]}(i,a,C);H.push(S[t[0]],S[t[1]])}if(V=[...V,{placement:i,overflows:H}],!H.every((t=>t<=0))){var B,W;const t=((null==(B=r.flip)?void 0:B.index)||0)+1,e=F[t];if(e)return{data:{index:t,overflows:V},reset:{placement:e}};let n=null==(W=V.filter((t=>t.overflows[0]<=0)).sort(((t,e)=>t.overflows[1]-e.overflows[1]))[0])?void 0:W.placement;if(!n)switch(R){case"bestFit":{var M;const t=null==(M=V.filter((t=>{if(P){const e=u(t.placement);return e===A||"y"===e}return!0})).map((t=>[t.placement,t.overflows.filter((t=>t>0)).reduce(((t,e)=>t+e),0)])).sort(((t,e)=>t[1]-e[1]))[0])?void 0:M[0];t&&(n=t);break}case"initialPlacement":n=p}if(i!==n)return{reset:{placement:n}}}return{}}}};function w(t,e){return{top:t.top-e.height,right:t.right-e.width,bottom:t.bottom-e.height,left:t.left-e.width}}function v(e){return t.some((t=>e[t]>=0))}const b=function(t){return void 0===t&&(t={}),{name:"hide",options:t,async fn(e){const{rects:n}=e,{strategy:o="referenceHidden",...i}=l(t,e);switch(o){case"referenceHidden":{const t=w(await y(e,{...i,elementContext:"reference"}),n.reference);return{data:{referenceHiddenOffsets:t,referenceHidden:v(t)}}}case"escaped":{const t=w(await y(e,{...i,altBoundary:!0}),n.floating);return{data:{escapedOffsets:t,escaped:v(t)}}}default:return{}}}}};const R=function(t){return void 0===t&&(t=0),{name:"offset",options:t,async fn(e){var n,o;const{x:i,y:r,placement:a,middlewareData:f}=e,d=await async function(t,e){const{placement:n,platform:o,elements:i}=t,r=await(null==o.isRTL?void 0:o.isRTL(i.floating)),a=s(n),f=c(n),d="y"===u(n),h=["left","top"].includes(a)?-1:1,m=r&&d?-1:1,p=l(e,t);let{mainAxis:g,crossAxis:y,alignmentAxis:x}="number"==typeof p?{mainAxis:p,crossAxis:0,alignmentAxis:null}:{mainAxis:0,crossAxis:0,alignmentAxis:null,...p};return f&&"number"==typeof x&&(y="end"===f?-1*x:x),d?{x:y*m,y:g*h}:{x:g*h,y:y*m}}(e,t);return a===(null==(n=f.offset)?void 0:n.placement)&&null!=(o=f.arrow)&&o.alignmentOffset?{}:{x:i+d.x,y:r+d.y,data:{...d,placement:a}}}}},L=function(t){return void 0===t&&(t={}),{name:"shift",options:t,async fn(e){const{x:n,y:o,placement:i}=e,{mainAxis:c=!0,crossAxis:f=!1,limiter:d={fn:t=>{let{x:e,y:n}=t;return{x:e,y:n}}},...h}=l(t,e),m={x:n,y:o},p=await y(e,h),g=u(s(i)),x=a(g);let w=m[x],v=m[g];if(c){const t="y"===x?"bottom":"right";w=r(w+p["y"===x?"top":"left"],w,w-p[t])}if(f){const t="y"===g?"bottom":"right";v=r(v+p["y"===g?"top":"left"],v,v-p[t])}const b=d.fn({...e,[x]:w,[g]:v});return{...b,data:{x:b.x-n,y:b.y-o}}}}};function E(t){var e;return(null==(e=t.ownerDocument)?void 0:e.defaultView)||window}function T(t){return E(t).getComputedStyle(t)}function k(t){return t instanceof E(t).Node}function A(t){return k(t)?(t.nodeName||"").toLowerCase():""}let D;function C(){if(D)return D;const t=navigator.userAgentData;return t&&Array.isArray(t.brands)?(D=t.brands.map((t=>t.brand+"/"+t.version)).join(" "),D):navigator.userAgent}function O(t){return t instanceof E(t).HTMLElement}function P(t){return t instanceof E(t).Element}function F(t){if("undefined"==typeof ShadowRoot)return!1;return t instanceof E(t).ShadowRoot||t instanceof ShadowRoot}function S(t){const{overflow:e,overflowX:n,overflowY:o,display:i}=T(t);return/auto|scroll|overlay|hidden|clip/.test(e+o+n)&&!["inline","contents"].includes(i)}function H(t){return["table","td","th"].includes(A(t))}function V(t){const e=/firefox/i.test(C()),n=T(t),o=n.backdropFilter||n.WebkitBackdropFilter;return"none"!==n.transform||"none"!==n.perspective||!!o&&"none"!==o||e&&"filter"===n.willChange||e&&!!n.filter&&"none"!==n.filter||["transform","perspective"].some((t=>n.willChange.includes(t)))||["paint","layout","strict","content"].some((t=>{const e=n.contain;return null!=e&&e.includes(t)}))}function B(){return/^((?!chrome|android).)*safari/i.test(C())}function W(t){return["html","body","#document"].includes(A(t))}const M=Math.min,z=Math.max,N=Math.round;function j(t){const e=T(t);let n=parseFloat(e.width),o=parseFloat(e.height);const i=O(t),r=i?t.offsetWidth:n,l=i?t.offsetHeight:o,s=N(n)!==r||N(o)!==l;return s&&(n=r,o=l),{width:n,height:o,fallback:s}}function X(t){return P(t)?t:t.contextElement}const Y={x:1,y:1};function $(t){const e=X(t);if(!O(e))return Y;const n=e.getBoundingClientRect(),{width:o,height:i,fallback:r}=j(e);let l=(r?N(n.width):n.width)/o,s=(r?N(n.height):n.height)/i;return l&&Number.isFinite(l)||(l=1),s&&Number.isFinite(s)||(s=1),{x:l,y:s}}function _(t,e,n,o){var i,r;void 0===e&&(e=!1),void 0===n&&(n=!1);const l=t.getBoundingClientRect(),s=X(t);let c=Y;e&&(o?P(o)&&(c=$(o)):c=$(t));const a=s?E(s):window,f=B()&&n;let u=(l.left+(f&&(null==(i=a.visualViewport)?void 0:i.offsetLeft)||0))/c.x,d=(l.top+(f&&(null==(r=a.visualViewport)?void 0:r.offsetTop)||0))/c.y,h=l.width/c.x,m=l.height/c.y;if(s){const t=E(s),e=o&&P(o)?E(o):o;let n=t.frameElement;for(;n&&o&&e!==t;){const t=$(n),e=n.getBoundingClientRect(),o=getComputedStyle(n);e.x+=(n.clientLeft+parseFloat(o.paddingLeft))*t.x,e.y+=(n.clientTop+parseFloat(o.paddingTop))*t.y,u*=t.x,d*=t.y,h*=t.x,m*=t.y,u+=e.x,d+=e.y,n=E(n).frameElement}}return p({width:h,height:m,x:u,y:d})}function q(t){return((k(t)?t.ownerDocument:t.document)||window.document).documentElement}function G(t){return P(t)?{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}:{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function I(t){return _(q(t)).left+G(t).scrollLeft}function J(t){if("html"===A(t))return t;const e=t.assignedSlot||t.parentNode||F(t)&&t.host||q(t);return F(e)?e.host:e}function K(t){const e=J(t);return W(e)?e.ownerDocument.body:O(e)&&S(e)?e:K(e)}function Q(t,e){var n;void 0===e&&(e=[]);const o=K(t),i=o===(null==(n=t.ownerDocument)?void 0:n.body),r=E(o);return i?e.concat(r,r.visualViewport||[],S(o)?o:[]):e.concat(o,Q(o))}function U(t,e,n){let o;if("viewport"===e)o=function(t,e){const n=E(t),o=q(t),i=n.visualViewport;let r=o.clientWidth,l=o.clientHeight,s=0,c=0;if(i){r=i.width,l=i.height;const t=B();(!t||t&&"fixed"===e)&&(s=i.offsetLeft,c=i.offsetTop)}return{width:r,height:l,x:s,y:c}}(t,n);else if("document"===e)o=function(t){const e=q(t),n=G(t),o=t.ownerDocument.body,i=z(e.scrollWidth,e.clientWidth,o.scrollWidth,o.clientWidth),r=z(e.scrollHeight,e.clientHeight,o.scrollHeight,o.clientHeight);let l=-n.scrollLeft+I(t);const s=-n.scrollTop;return"rtl"===T(o).direction&&(l+=z(e.clientWidth,o.clientWidth)-i),{width:i,height:r,x:l,y:s}}(q(t));else if(P(e))o=function(t,e){const n=_(t,!0,"fixed"===e),o=n.top+t.clientTop,i=n.left+t.clientLeft,r=O(t)?$(t):{x:1,y:1};return{width:t.clientWidth*r.x,height:t.clientHeight*r.y,x:i*r.x,y:o*r.y}}(e,n);else{const n={...e};if(B()){var i,r;const e=E(t);n.x-=(null==(i=e.visualViewport)?void 0:i.offsetLeft)||0,n.y-=(null==(r=e.visualViewport)?void 0:r.offsetTop)||0}o=n}return p(o)}function Z(t,e){const n=J(t);return!(n===e||!P(n)||W(n))&&("fixed"===T(n).position||Z(n,e))}function tt(t,e){return O(t)&&"fixed"!==T(t).position?e?e(t):t.offsetParent:null}function et(t,e){const n=E(t);if(!O(t))return n;let o=tt(t,e);for(;o&&H(o)&&"static"===T(o).position;)o=tt(o,e);return o&&("html"===A(o)||"body"===A(o)&&"static"===T(o).position&&!V(o))?n:o||function(t){let e=J(t);for(;O(e)&&!W(e);){if(V(e))return e;e=J(e)}return null}(t)||n}function nt(t,e,n){const o=O(e),i=q(e),r=_(t,!0,"fixed"===n,e);let l={scrollLeft:0,scrollTop:0};const s={x:0,y:0};if(o||!o&&"fixed"!==n)if(("body"!==A(e)||S(i))&&(l=G(e)),O(e)){const t=_(e,!0);s.x=t.x+e.clientLeft,s.y=t.y+e.clientTop}else i&&(s.x=I(i));return{x:r.left+l.scrollLeft-s.x,y:r.top+l.scrollTop-s.y,width:r.width,height:r.height}}const ot={getClippingRect:function(t){let{element:e,boundary:n,rootBoundary:o,strategy:i}=t;const r=[..."clippingAncestors"===n?function(t,e){const n=e.get(t);if(n)return n;let o=Q(t).filter((t=>P(t)&&"body"!==A(t))),i=null;const r="fixed"===T(t).position;let l=r?J(t):t;for(;P(l)&&!W(l);){const e=T(l),n=V(l);n||"fixed"!==e.position||(i=null),(r?!n&&!i:!n&&"static"===e.position&&i&&["absolute","fixed"].includes(i.position)||S(l)&&!n&&Z(t,l))?o=o.filter((t=>t!==l)):i=e,l=J(l)}return e.set(t,o),o}(e,this._c):[].concat(n),o],l=r[0],s=r.reduce(((t,n)=>{const o=U(e,n,i);return t.top=z(o.top,t.top),t.right=M(o.right,t.right),t.bottom=M(o.bottom,t.bottom),t.left=z(o.left,t.left),t}),U(e,l,i));return{width:s.right-s.left,height:s.bottom-s.top,x:s.left,y:s.top}},convertOffsetParentRelativeRectToViewportRelativeRect:function(t){let{rect:e,offsetParent:n,strategy:o}=t;const i=O(n),r=q(n);if(n===r)return e;let l={scrollLeft:0,scrollTop:0},s={x:1,y:1};const c={x:0,y:0};if((i||!i&&"fixed"!==o)&&(("body"!==A(n)||S(r))&&(l=G(n)),O(n))){const t=_(n);s=$(n),c.x=t.x+n.clientLeft,c.y=t.y+n.clientTop}return{width:e.width*s.x,height:e.height*s.y,x:e.x*s.x-l.scrollLeft*s.x+c.x,y:e.y*s.y-l.scrollTop*s.y+c.y}},isElement:P,getDimensions:function(t){return j(t)},getOffsetParent:et,getDocumentElement:q,getScale:$,async getElementRects(t){let{reference:e,floating:n,strategy:o}=t;const i=this.getOffsetParent||et,r=this.getDimensions;return{reference:nt(e,await i(n),o),floating:{x:0,y:0,...await r(n)}}},getClientRects:t=>Array.from(t.getClientRects()),isRTL:t=>"rtl"===T(t).direction};function it(t,e,n,o){void 0===o&&(o={});const{ancestorScroll:i=!0,ancestorResize:r=!0,elementResize:l=!0,animationFrame:s=!1}=o,c=i||r?[...P(t)?Q(t):t.contextElement?Q(t.contextElement):[],...Q(e)]:[];c.forEach((t=>{const e=!P(t)&&t.toString().includes("V");!i||s&&!e||t.addEventListener("scroll",n,{passive:!0}),r&&t.addEventListener("resize",n)}));let a,f=null;l&&(f=new ResizeObserver((()=>{n()})),P(t)&&!s&&f.observe(t),P(t)||!t.contextElement||s||f.observe(t.contextElement),f.observe(e));let u=s?_(t):null;return s&&function e(){const o=_(t);!u||o.x===u.x&&o.y===u.y&&o.width===u.width&&o.height===u.height||n();u=o,a=requestAnimationFrame(e)}(),n(),()=>{var t;c.forEach((t=>{i&&t.removeEventListener("scroll",n),r&&t.removeEventListener("resize",n)})),null==(t=f)||t.disconnect(),f=null,s&&cancelAnimationFrame(a)}}const rt=(t,e,n)=>{const o=new Map,i={platform:ot,...n},r={...i.platform,_c:o};return(async(t,e,n)=>{const{placement:o="bottom",strategy:i="absolute",middleware:r=[],platform:l}=n,s=r.filter(Boolean),c=await(null==l.isRTL?void 0:l.isRTL(e));let a=await l.getElementRects({reference:t,floating:e,strategy:i}),{x:f,y:u}=g(a,o,c),d=o,h={},m=0;for(let n=0;n<s.length;n++){const{name:r,fn:p}=s[n],{x:y,y:x,data:w,reset:v}=await p({x:f,y:u,initialPlacement:o,placement:d,strategy:i,middlewareData:h,rects:a,platform:l,elements:{reference:t,floating:e}});f=null!=y?y:f,u=null!=x?x:u,h={...h,[r]:{...h[r],...w}},v&&m<=50&&(m++,"object"==typeof v&&(v.placement&&(d=v.placement),v.rects&&(a=!0===v.rects?await l.getElementRects({reference:t,floating:e,strategy:i}):v.rects),({x:f,y:u}=g(a,d,c))),n=-1)}return{x:f,y:u,placement:d,strategy:i,middlewareData:h}})(t,e,{...i,platform:r})},lt={"inline-start-start":"left-start","inline-start-end":"left-end","inline-end-start":"right-start","inline-end-end":"right-end","block-start-start":"top-start","block-start-end":"top-end","block-end-start":"bottom-start","block-end-end":"bottom-end"},st={"inline-start-start":"right-start","inline-start-end":"right-end","inline-end-start":"left-start","inline-end-end":"left-end","block-start-start":"top-start","block-start-end":"top-end","block-end-start":"bottom-start","block-end-end":"bottom-end"},ct={"block-end":"bottom","block-start":"top","inline-start":"left","inline-end":"right"};function at(t,e,n){if(null!=e&&null!=n){const o=`${t}-${e}`;return"ltr"===n?lt[o]:st[o]}return ct[t]}export{it as a,rt as c,x as f,b as h,at as l,R as o,L as s};
|
|
2
|
-
//# sourceMappingURL=positioning-35c8d434.js.map
|