@nordhealth/components 5.0.0-alpha.0 → 5.0.1

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.
Files changed (206) hide show
  1. package/custom-elements.json +26353 -25540
  2. package/lib/Accordion.js.map +1 -1
  3. package/lib/AccordionHeader.js.map +1 -1
  4. package/lib/AccordionItem.js.map +1 -1
  5. package/lib/AccordionPanel.js.map +1 -1
  6. package/lib/AccordionTrigger.js +1 -1
  7. package/lib/AccordionTrigger.js.map +1 -1
  8. package/lib/Aside.js.map +1 -1
  9. package/lib/AsideDrawer.js.map +1 -1
  10. package/lib/Autocomplete.js +1 -1
  11. package/lib/Autocomplete.js.map +1 -1
  12. package/lib/Avatar.js.map +1 -1
  13. package/lib/Button.js +1 -1
  14. package/lib/Button.js.map +1 -1
  15. package/lib/Calendar-D47b20IT.js +2 -0
  16. package/lib/Calendar-D47b20IT.js.map +1 -0
  17. package/lib/Calendar.js +1 -1
  18. package/lib/Card.js.map +1 -1
  19. package/lib/Collapsible.js.map +1 -1
  20. package/lib/CollapsiblePanel.js.map +1 -1
  21. package/lib/CollapsibleTrigger.js.map +1 -1
  22. package/lib/Combobox-DBxXlbY7.js +2 -0
  23. package/lib/Combobox-DBxXlbY7.js.map +1 -0
  24. package/lib/Combobox.js +1 -1
  25. package/lib/Combobox.js.map +1 -1
  26. package/lib/ComboboxBase.js +1 -1
  27. package/lib/ComboboxBase.js.map +1 -1
  28. package/lib/CommandMenu.js +1 -1
  29. package/lib/CommandMenu.js.map +1 -1
  30. package/lib/DatePicker.js +1 -1
  31. package/lib/DatePicker.js.map +1 -1
  32. package/lib/DateRangePicker.js +1 -1
  33. package/lib/DateRangePicker.js.map +1 -1
  34. package/lib/Divider.js.map +1 -1
  35. package/lib/Drawer.js.map +1 -1
  36. package/lib/Dropdown.js +1 -1
  37. package/lib/Dropdown.js.map +1 -1
  38. package/lib/DropdownSubmenu.js +1 -1
  39. package/lib/DropdownSubmenu.js.map +1 -1
  40. package/lib/FilterAddButton.js +1 -1
  41. package/lib/FilterAddButton.js.map +1 -1
  42. package/lib/FilterDateRange.js +1 -1
  43. package/lib/FilterDateRange.js.map +1 -1
  44. package/lib/FilterDropdown.js +1 -1
  45. package/lib/FilterDropdown.js.map +1 -1
  46. package/lib/FilterField.js +1 -1
  47. package/lib/FilterField.js.map +1 -1
  48. package/lib/FilterInput.js +1 -1
  49. package/lib/FilterInput.js.map +1 -1
  50. package/lib/FilterResetButton.js +1 -1
  51. package/lib/FilterResetButton.js.map +1 -1
  52. package/lib/Footer.js.map +1 -1
  53. package/lib/Header.js.map +1 -1
  54. package/lib/Icon.js.map +1 -1
  55. package/lib/Item.js +1 -1
  56. package/lib/Item.js.map +1 -1
  57. package/lib/Kbd.js.map +1 -1
  58. package/lib/KbdGroup.js.map +1 -1
  59. package/lib/KeyboardController.js +1 -1
  60. package/lib/KeyboardController.js.map +1 -1
  61. package/lib/Layout.js +1 -1
  62. package/lib/Layout.js.map +1 -1
  63. package/lib/{LightDismissController-4pH8cdko.js → LightDismissController-wcL1ziJa.js} +2 -2
  64. package/lib/{LightDismissController-4pH8cdko.js.map → LightDismissController-wcL1ziJa.js.map} +1 -1
  65. package/lib/LocalizeController.js +1 -1
  66. package/lib/LocalizeController.js.map +1 -1
  67. package/lib/Message.js +1 -1
  68. package/lib/Message.js.map +1 -1
  69. package/lib/Meter.js +1 -1
  70. package/lib/Meter.js.map +1 -1
  71. package/lib/Modal.js +1 -1
  72. package/lib/Modal.js.map +1 -1
  73. package/lib/ModalController.js +1 -1
  74. package/lib/ModalController.js.map +1 -1
  75. package/lib/NavGroup.js +1 -1
  76. package/lib/NavGroup.js.map +1 -1
  77. package/lib/NavItem.js +1 -1
  78. package/lib/NavItem.js.map +1 -1
  79. package/lib/NavToggle-ROsuaJkW.js +2 -0
  80. package/lib/{NavToggle-BY83xpx0.js.map → NavToggle-ROsuaJkW.js.map} +1 -1
  81. package/lib/NavToggle.js +1 -1
  82. package/lib/Notification.js +1 -1
  83. package/lib/Notification.js.map +1 -1
  84. package/lib/NumberField.js +1 -1
  85. package/lib/NumberField.js.map +1 -1
  86. package/lib/OtpField.js +1 -1
  87. package/lib/OtpField.js.map +1 -1
  88. package/lib/Outline.js +2 -0
  89. package/lib/Outline.js.map +1 -0
  90. package/lib/OutlineItem.js +2 -0
  91. package/lib/OutlineItem.js.map +1 -0
  92. package/lib/Pagination.js +1 -1
  93. package/lib/Pagination.js.map +1 -1
  94. package/lib/Popout-B6Hirj3y.js +2 -0
  95. package/lib/{Popout-DpN7PP9h.js.map → Popout-B6Hirj3y.js.map} +1 -1
  96. package/lib/Popout.js +1 -1
  97. package/lib/Qrcode.js.map +1 -1
  98. package/lib/ScrollArea.js.map +1 -1
  99. package/lib/ShortcutController-CV5b0BZl.js +2 -0
  100. package/lib/ShortcutController-CV5b0BZl.js.map +1 -0
  101. package/lib/Stack.js.map +1 -1
  102. package/lib/Tag.js +1 -1
  103. package/lib/Tag.js.map +1 -1
  104. package/lib/TagGroup.js.map +1 -1
  105. package/lib/Textarea.js +1 -1
  106. package/lib/Textarea.js.map +1 -1
  107. package/lib/TimePicker.js +1 -1
  108. package/lib/TimePicker.js.map +1 -1
  109. package/lib/TopBar.js.map +1 -1
  110. package/lib/Truncate.js.map +1 -1
  111. package/lib/VisuallyHidden.js.map +1 -1
  112. package/lib/bundle.js +13 -13
  113. package/lib/bundle.js.map +1 -1
  114. package/lib/en-us.js +1 -1
  115. package/lib/en-us.js.map +1 -1
  116. package/lib/fi-fi.js +1 -1
  117. package/lib/fi-fi.js.map +1 -1
  118. package/lib/index.js +1 -1
  119. package/lib/localization13.js +1 -1
  120. package/lib/localization13.js.map +1 -1
  121. package/lib/localization14.js +1 -1
  122. package/lib/localization14.js.map +1 -1
  123. package/lib/localization15.js +1 -1
  124. package/lib/localization15.js.map +1 -1
  125. package/lib/localization16.js +1 -1
  126. package/lib/localization16.js.map +1 -1
  127. package/lib/localization17.js +1 -1
  128. package/lib/localization17.js.map +1 -1
  129. package/lib/localization18.js +1 -1
  130. package/lib/localization18.js.map +1 -1
  131. package/lib/localization19.js +1 -1
  132. package/lib/localization19.js.map +1 -1
  133. package/lib/localization20.js +1 -1
  134. package/lib/localization20.js.map +1 -1
  135. package/lib/localization21.js +1 -1
  136. package/lib/localization21.js.map +1 -1
  137. package/lib/localization22.js +1 -1
  138. package/lib/localization22.js.map +1 -1
  139. package/lib/localization23.js +2 -0
  140. package/lib/localization23.js.map +1 -0
  141. package/lib/localization24.js +2 -0
  142. package/lib/localization24.js.map +1 -0
  143. package/lib/nav-context.js +2 -0
  144. package/lib/nav-context.js.map +1 -0
  145. package/lib/react.d.ts +15 -0
  146. package/lib/src/accordion/Accordion.d.ts +1 -1
  147. package/lib/src/accordion/AccordionHeader.d.ts +1 -1
  148. package/lib/src/accordion/AccordionItem.d.ts +1 -1
  149. package/lib/src/accordion/AccordionPanel.d.ts +1 -1
  150. package/lib/src/accordion/AccordionTrigger.d.ts +4 -3
  151. package/lib/src/aside/Aside.d.ts +1 -1
  152. package/lib/src/aside-drawer/AsideDrawer.d.ts +1 -1
  153. package/lib/src/autocomplete/Autocomplete.d.ts +4 -4
  154. package/lib/src/avatar/Avatar.d.ts +1 -1
  155. package/lib/src/button/Button.d.ts +1 -0
  156. package/lib/src/calendar/Calendar.d.ts +1 -1
  157. package/lib/src/card/Card.d.ts +1 -1
  158. package/lib/src/collapsible/Collapsible.d.ts +1 -1
  159. package/lib/src/collapsible/CollapsiblePanel.d.ts +1 -1
  160. package/lib/src/collapsible/CollapsibleTrigger.d.ts +1 -1
  161. package/lib/src/combobox/ComboboxBase.d.ts +7 -7
  162. package/lib/src/common/controllers/ShortcutController.d.ts +5 -5
  163. package/lib/src/divider/Divider.d.ts +1 -1
  164. package/lib/src/drawer/Drawer.d.ts +1 -1
  165. package/lib/src/dropdown/Dropdown.d.ts +3 -0
  166. package/lib/src/footer/Footer.d.ts +1 -1
  167. package/lib/src/header/Header.d.ts +1 -1
  168. package/lib/src/icon/Icon.d.ts +1 -1
  169. package/lib/src/index.d.ts +2 -0
  170. package/lib/src/kbd/Kbd.d.ts +1 -1
  171. package/lib/src/kbd/KbdGroup.d.ts +1 -1
  172. package/lib/src/layout/Layout.d.ts +13 -1
  173. package/lib/src/layout/localization.d.ts +5 -0
  174. package/lib/src/localization/en-us.d.ts +7 -0
  175. package/lib/src/localization/translation.d.ts +7 -0
  176. package/lib/src/nav-group/NavGroup.d.ts +1 -0
  177. package/lib/src/nav-group/nav-context.d.ts +11 -0
  178. package/lib/src/nav-item/NavItem.d.ts +23 -0
  179. package/lib/src/otp-field/OtpField.d.ts +11 -0
  180. package/lib/src/outline/Outline.d.ts +111 -0
  181. package/lib/src/outline/OutlineItem.d.ts +42 -0
  182. package/lib/src/outline/localization.d.ts +4 -0
  183. package/lib/src/qrcode/Qrcode.d.ts +1 -1
  184. package/lib/src/scroll-area/ScrollArea.d.ts +1 -1
  185. package/lib/src/stack/Stack.d.ts +1 -1
  186. package/lib/src/tag/Tag.d.ts +1 -1
  187. package/lib/src/tag-group/TagGroup.d.ts +1 -1
  188. package/lib/src/top-bar/TopBar.d.ts +1 -1
  189. package/lib/src/truncate/Truncate.d.ts +1 -1
  190. package/lib/src/visually-hidden/VisuallyHidden.d.ts +1 -1
  191. package/lib/tinykeys-DwvDXsEb.js +2 -0
  192. package/lib/tinykeys-DwvDXsEb.js.map +1 -0
  193. package/lib/translation.js +1 -1
  194. package/lib/translation.js.map +1 -1
  195. package/lib/vue.d.ts +11 -0
  196. package/package.json +5 -5
  197. package/lib/Calendar-C1SxrlzN.js +0 -2
  198. package/lib/Calendar-C1SxrlzN.js.map +0 -1
  199. package/lib/Combobox-By4h1Sp-.js +0 -2
  200. package/lib/Combobox-By4h1Sp-.js.map +0 -1
  201. package/lib/NavToggle-BY83xpx0.js +0 -2
  202. package/lib/Popout-DpN7PP9h.js +0 -2
  203. package/lib/ShortcutController-BIb3WGzH.js +0 -2
  204. package/lib/ShortcutController-BIb3WGzH.js.map +0 -1
  205. package/lib/tinykeys.module-_6MZt7MP.js +0 -2
  206. package/lib/tinykeys.module-_6MZt7MP.js.map +0 -1
@@ -1,2 +0,0 @@
1
- import{_ as e}from"./tslib.es6-CmLYFWVC.js";import{css as a,LitElement as n,isServer as t,html as i}from"lit";import{query as r,property as s,state as o,customElement as d}from"lit/decorators.js";import{classMap as l}from"lit/directives/class-map.js";import{repeat as c}from"lit/directives/repeat.js";import{o as h}from"./tinykeys.module-_6MZt7MP.js";import{m as u,c as v}from"./collection-Dvg2XbxV.js";import{D as p}from"./DirectionController-ChvNGESZ.js";import{E as g}from"./EventController-BBOmvfLa.js";import{D as m,k as f,p as y,a as b,d as x,l as w,m as z,n as D,o as k,q as $,b as _,s as S,r as F,t as M,u as T,g as C,v as Y}from"./dates-C-ZvzXaC.js";import{o as j}from"./observe-D0n0zOfU.js";import{c as N}from"./cond-CI1KbneT.js";import{r as R}from"./number-Dg2vCfGd.js";import{s as E}from"./Component-BJ5O5n8k.js";import L from"./Icon.js";import{LocalizeController as O}from"./LocalizeController.js";import{DateRangeSelectEvent as X}from"./DateRangeSelectEvent.js";import{DateSelectEvent as W}from"./DateSelectEvent.js";import"./Button.js";import"./VisuallyHidden.js";var A=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>',tags:"nordicon arrow down small caret pointing triangle chevron",title:"arrow-down-small"});var U=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>',tags:"nordicon arrow left small caret pointing triangle chevron",title:"arrow-left-small"});var H=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>',tags:"nordicon arrow right small caret pointing triangle chevron",title:"arrow-right-small"});const I=e=>e.preventDefault();class P{constructor(e,a){this.hadFirstUpdate=!1,this.initialTouchX=0,this.initialTouchY=0,this.handleTouchStart=e=>{const[{pageX:a,pageY:n}]=e.changedTouches;this.initialTouchX=a,this.initialTouchY=n},this.handleTouchEnd=e=>{const[{pageX:a,pageY:n}]=e.changedTouches,{matchesGesture:t,onSwipeEnd:i}=this.options,r=a-this.initialTouchX,s=n-this.initialTouchY,o={initialX:this.initialTouchX,initialY:this.initialTouchY,pageX:a,pageY:n,distX:r,distY:s};t(o)&&(e.preventDefault(),i(o))},e.addController(this),this.events=new g(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",I),this.events.listen(e,"touchend",this.handleTouchEnd)}}hostDisconnected(){this.hadFirstUpdate=!1}}function B({distX:e,distY:a}){return Math.abs(e)>=70&&Math.abs(a)<=70}function q({distX:e,distY:a}){return Math.abs(a)>=70&&Math.abs(e)<=70&&a>0}const V=a`: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-block-start:var(--n-calendar-padding-block,var(--n-space-m));--_n-calendar-padding-block-end:var(--n-calendar-padding-block,var(--n-space-m));--_n-calendar-padding-inline:var(--n-calendar-padding-inline,var(--n-space-m));--_n-calendar-day-size:var(--n-calendar-day-size,var(--n-space-xl));--_n-calendar-day-font-size:var(--n-calendar-day-font-size,var(--n-font-size-m));--_n-calendar-select-label-font-size:var(--n-calendar-select-label-font-size,var(--n-font-size-xl));--_n-calendar-nav-padding-inline:var(--n-calendar-nav-padding-inline,11px);--_n-calendar-nav-gap:var(--n-calendar-nav-gap,var(--n-space-xs));--_n-calendar-header-margin-block-end:var(--n-calendar-header-margin-block-end,var(--n-space-m));--_n-calendar-header-padding-block-end:var(--n-calendar-header-padding-block-end,0);--_n-calendar-header-gap:var(--n-calendar-header-gap,var(--n-space-s));--_n-calendar-inline-size:var(--n-calendar-inline-size,max-content);font-feature-settings:var(--n-font-features-reduced)}:host([size=s]){--_n-calendar-day-size:var(--n-calendar-day-size,calc(var(--n-space-l) + var(--n-space-xs)));--_n-calendar-day-font-size:var(--n-calendar-day-font-size,var(--n-font-size-s));--_n-calendar-select-label-font-size:var(--n-calendar-select-label-font-size,var(--n-font-size-l));--_n-calendar-nav-padding-inline:var(--n-calendar-nav-padding-inline,var(--n-space-s));--_n-calendar-header-margin-block-end:var(--n-calendar-header-margin-block-end,var(--n-space-s));--_n-calendar-header-padding-block-end:var(--n-calendar-header-padding-block-end,var(--n-space-xs))}.n-calendar{background:var(--n-color-surface);border-radius:var(--_n-calendar-border-radius);box-shadow:var(--_n-calendar-box-shadow);inline-size:var(--_n-calendar-inline-size);min-inline-size:min-content;padding-block-end:var(--_n-calendar-padding-block-end);padding-block-start:var(--_n-calendar-padding-block-start);padding-inline-end:var(--_n-calendar-padding-inline);padding-inline-start:var(--_n-calendar-padding-inline);user-select:none}:host([expand]){--_n-calendar-inline-size:var(--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);inline-size:100%;text-align:center}.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{padding:1px;text-align:center}.n-calendar-day{appearance:none;background:#0000;block-size:var(--_n-calendar-day-size);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-calendar-day-font-size);font-variant-numeric:tabular-nums;font-weight:var(--n-font-weight);inline-size:var(--_n-calendar-day-size);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:#0000;color:var(--n-color-text-weakest)}.n-calendar-day[aria-disabled=true]{color:var(--n-color-text-weaker);cursor:default;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{background:var(--n-color-accent);box-shadow:0 0 5px 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:#0000;box-shadow:none;color:var(--n-color-text-weakest);cursor:default;pointer-events:none}.n-calendar-day.is-outside:before{display:none}:host([range]) .n-calendar-day.is-in-range{background:var(--n-color-active);color:var(--n-color-text)}.n-calendar-day.is-highlighted:after{--_n-calendar-highlight-size:5px;background-color:var(--_n-calendar-highlight-color);block-size:var(--_n-calendar-highlight-size);border-radius:var(--n-border-radius-circle);content:"";inline-size:var(--_n-calendar-highlight-size);inset-block-end:var(--n-space-xs);inset-inline-start:calc(50% - var(--_n-calendar-highlight-size)/2);position:absolute}.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:center;column-gap:var(--_n-calendar-header-gap);display:flex;inline-size:100%;justify-content:space-between;margin-block-end:var(--_n-calendar-header-margin-block-end);padding-block-end:var(--_n-calendar-header-padding-block-end)}.n-calendar-header.is-static{column-gap:var(--n-space-xs)}.n-calendar-title{color:var(--n-color-text);flex:1;font-size:var(--n-font-size-m);font-weight:var(--n-font-weight-heading);margin:0;text-align:center}.n-calendar-header.is-static nord-button.is-hidden{visibility:hidden}.n-calendar.has-multiple-months{align-items:flex-start;display:flex;flex-direction:row;gap:var(--n-space-l)}.n-calendar.has-multiple-months .n-calendar-month{flex:1;min-inline-size:0}.n-calendar-nav{column-gap:var(--_n-calendar-nav-gap);display:flex;white-space:nowrap}.n-calendar-nav nord-button{--_n-button-padding-inline:var(--_n-calendar-nav-padding-inline)}.n-calendar-select{display:inline-flex;line-height:var(--n-line-height);position:relative}.n-calendar-select span{margin-inline-end:var(--n-space-s)}.n-calendar-select select{block-size:100%;cursor:pointer;font-size:var(--n-font-size-l);inline-size:100%;inset-block-start:0;inset-inline-start:0;opacity:0;position:absolute}.n-calendar-select select:focus+.n-calendar-select-label{box-shadow:0 0 0 2px var(--n-color-accent)}.n-calendar-select-label{align-items:center;border-radius:var(--n-border-radius-s);color:var(--n-color-text);display:flex;font-size:var(--_n-calendar-select-label-font-size);font-weight:var(--n-font-weight-active);inline-size:100%;padding-block:0;padding-inline-end:var(--n-space-xs);padding-inline-start:var(--n-space-s);pointer-events:none;position:relative}`;function G(e){return a=>{a.preventDefault(),e(a)}}L.registerIcon(H),L.registerIcon(U),L.registerIcon(A);const J=()=>!1,K=()=>!1;function Q(e,a){return null==e||null==a||e.getTime()<=a.getTime()?[e,a]:[a,e]}let Z=class extends n{constructor(){super(...arguments),this.direction=new p(this),this.swipe=new P(this,{matchesGesture:B,onSwipeEnd:({distX:e})=>this.addMonths(e<0?1:-1)}),this.shortcuts=h({ArrowRight:G((()=>this.addDays(this.direction.isLTR?1:-1))),ArrowLeft:G((()=>this.addDays(this.direction.isLTR?-1:1))),ArrowDown:G((()=>this.addDays(7))),ArrowUp:G((()=>this.addDays(-7))),Home:G((()=>this.startOfWeek())),End:G((()=>this.endOfWeek())),PageUp:G((()=>this.addMonths(-1))),PageDown:G((()=>this.addMonths(1))),"Shift+PageUp":G((()=>this.addYears(-1))),"Shift+PageDown":G((()=>this.addYears(1)))}),this.localize=new O(this,{onLangChange:()=>this.handleLangChange()}),this.value="",this.firstDayOfWeek=m.Monday,this.expand=!1,this.size="m",this.isDateDisabled=J,this.isDateHighlighted=K,this.range=!1,this.months=1,this.activeFocus=!1,this.focusedDay=new Date,this.handleDaySelect=e=>{const a=f(e,y(this.min||""),y(this.max||"")),n=!this.isDateDisabled(e);a&&n&&(this.range?this.selectRangeDay(e):(this.value=b(e),this.dispatchEvent(new W("change",e))))},this.handleDayHover=e=>{this.range&&this.pendingRangeStart&&(this.hoveredDay=e)},this.handleMonthSelect=e=>{this.setMonth(Number.parseInt(e.target.value,10))},this.handleYearSelect=e=>{this.setYear(Number.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,n=e.relatedTarget;n&&!a.contains(n)&&(this.activeFocus=!1)}}focus(e){var a;const n=null!==(a=null==e?void 0:e.target)&&void 0!==a?a:"day";"day"===n?this.focusedDayNode.focus():"month"===n&&this.monthSelectNode.focus()}render(){var e;const a=this.getToday(),n=y(this.value),r=y(this.rangeStart||""),s=y(this.rangeEnd||""),o=this.pendingRangeStart?null!==(e=this.hoveredDay)&&void 0!==e?e:this.focusedDay:void 0,[d,h]=this.pendingRangeStart?Q(this.pendingRangeStart,o):Q(r,s),p=y(this.min||""),g=y(this.max||""),m=p?x(p):void 0,b=g?w(g):void 0,k=a.getFullYear(),$=p?p.getFullYear():k-100,_=g?g.getFullYear():k+10;t&&this.handleLangChange();const S=Math.max(1,this.months),F=Array.from({length:S},((e,a)=>new Date(this.focusedDay.getFullYear(),this.focusedDay.getMonth()+a,1))),M=S>1,T=null!=p&&F.some((e=>z(p,e))),C=null!=g&&F.some((e=>z(g,e))),j=(e,t)=>{const r=z(e,t);if(M&&!r)return i`<td class="n-calendar-cell" aria-hidden="true"></td>`;const s=!f(e,p,g),o=Y(e,a),c=this.isDateDisabled(e),u=this.isDateHighlighted(e),v=this.dateFormatShort.format(e),m=this.range&&null!=d&&Y(e,d),y=this.range&&null!=h&&Y(e,h),b=this.range&&null!=d&&null!=h&&e>=d&&e<=h,x=this.range?m||y:Y(e,n),w=null!=d&&Y(d,h),D=u&&"string"==typeof u?`${v}, ${u}`:v;return i`<td class="n-calendar-cell"><button type="button" tabindex="${Y(e,this.focusedDay)?0:-1}" class="${l({"n-calendar-day":!0,"is-outside":s,"is-month":r,"is-highlighted":u,"is-in-range":b&&!x,"is-range-start":m&&!w,"is-range-end":y&&!w})}" @click="${()=>this.handleDaySelect(e)}" @mouseenter="${()=>this.handleDayHover(e)}" @keydown="${this.shortcuts}" ?disabled="${s}" aria-disabled="${N(c,"true")}" aria-pressed="${x?"true":"false"}" aria-current="${N(o,"date")}" aria-label="${D}"><span aria-hidden="true">${e.getDate()}</span></button></td>`},E=(e,a,n)=>{const t=e.getMonth(),r=e.getFullYear();if(M){const e=0===a,s=a===S-1;return i`<div class="n-calendar-header is-static"><nord-button class="${l({"n-calendar-prev":!0,"is-hidden":!e})}" size="${this.size}" square variant="plain" @click="${this.handlePreviousMonthClick}" ?disabled="${!e||T}" 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"===this.size?"xs":"s"}"></nord-icon></nord-button><h2 class="n-calendar-title" id="${n}" aria-live="polite" aria-atomic="true">${this.monthNames[t]} ${r}</h2><nord-button class="${l({"n-calendar-next":!0,"is-hidden":!s})}" size="${this.size}" square variant="plain" @click="${this.handleNextMonthClick}" ?disabled="${!s||C}" 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"===this.size?"xs":"s"}"></nord-icon></nord-button></div>`}return i`<div class="n-calendar-header"><div><nord-visually-hidden><h2 id="${n}" aria-live="polite" aria-atomic="true">${this.monthNames[t]}, ${r}</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)=>i`<option value="${a}" ?selected="${a===t}" ?disabled="${!f(new Date(r,a,1),m,b)}">${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}">${c(R($,_),(e=>e),(e=>i`<option ?selected="${e===r}">${e}</option>`))}</select><div class="n-calendar-select-label" aria-hidden="true"><span>${r}</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" size="${this.size}" square @click="${this.handlePreviousMonthClick}" ?disabled="${z(p,e)}" 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"===this.size?"xs":"s"}"></nord-icon></nord-button><nord-button class="n-calendar-next" size="${this.size}" square @click="${this.handleNextMonthClick}" ?disabled="${z(g,e)}" 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"===this.size?"xs":"s"}"></nord-icon></nord-button></div></div>`};return i`<div class="${l({"n-calendar":!0,"has-multiple-months":M})}">${F.map(((e,a)=>{const n=`dialog-header-${a}`;return i`<div class="n-calendar-month">${E(e,a,n)}<table class="n-calendar-table" aria-labelledby="${n}" @focusin="${this.enableActiveFocus}" @focusout="${this.disableActiveFocus}"><thead><tr>${u(this.dayNames,this.firstDayOfWeek,((e,a)=>i`<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>${v(D(e,this.firstDayOfWeek),7).map((a=>i`<tr class="n-calendar-row">${a.map((a=>j(a,e)))}</tr>`))}</tbody></table></div>`}))}</div>`}handleValueChange(){this.range||this.setFocusedDay(y(this.value)||this.getToday())}handleRangeChange(){if(!this.range)return;const e=y(this.rangeStart||""),a=y(this.rangeEnd||"");this.setFocusedDay(e||a||this.getToday())}handleFocusedDayChange(){this.activeFocus&&this.focusedDayNode.focus()}handleLangChange(){const e=this.localize.resolvedLang;this.dateFormatShort=new Intl.DateTimeFormat(e,{day:"numeric",month:"long"}),this.monthNames=k(e,"long"),this.monthNamesShort=k(e,"short"),this.dayNames=$(e,"long"),this.dayNamesShort=$(e,"narrow")}selectRangeDay(e){if(!this.pendingRangeStart)return this.pendingRangeStart=e,this.hoveredDay=e,this.rangeStart=b(e),void(this.rangeEnd=b(e));const[a,n]=Q(this.pendingRangeStart,e);this.pendingRangeStart=void 0,this.hoveredDay=void 0,this.rangeStart=b(a),this.rangeEnd=b(n),this.dispatchEvent(new X("range-change",a,n))}getToday(){return y(this.today||"")||new Date}addDays(e){this.setFocusedDay(_(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(F(this.focusedDay,this.firstDayOfWeek))}setMonth(e){const a=M(x(this.focusedDay),e),n=w(a),t=M(this.focusedDay,e);this.setFocusedDay(T(t,a,n))}setYear(e){const a=C(x(this.focusedDay),e),n=w(a),t=C(this.focusedDay,e);this.setFocusedDay(T(t,a,n))}setFocusedDay(e){this.focusedDay=T(e,y(this.min||""),y(this.max||"")),this.dispatchEvent(new W("nord-focus-date",this.focusedDay))}};Z.styles=[E,V],e([r(".n-calendar-select-month",!0)],Z.prototype,"monthSelectNode",void 0),e([r('button[tabindex="0"]')],Z.prototype,"focusedDayNode",void 0),e([s()],Z.prototype,"value",void 0),e([s({reflect:!0,type:Number,attribute:"first-day-of-week"})],Z.prototype,"firstDayOfWeek",void 0),e([s({reflect:!0})],Z.prototype,"min",void 0),e([s({reflect:!0})],Z.prototype,"max",void 0),e([s({reflect:!0})],Z.prototype,"today",void 0),e([s({reflect:!0,type:Boolean})],Z.prototype,"expand",void 0),e([s({reflect:!0})],Z.prototype,"size",void 0),e([s({attribute:!1})],Z.prototype,"isDateDisabled",void 0),e([s({attribute:!1})],Z.prototype,"isDateHighlighted",void 0),e([s({reflect:!0,type:Boolean})],Z.prototype,"range",void 0),e([s({reflect:!0,attribute:"range-start"})],Z.prototype,"rangeStart",void 0),e([s({reflect:!0,attribute:"range-end"})],Z.prototype,"rangeEnd",void 0),e([s({reflect:!0,type:Number})],Z.prototype,"months",void 0),e([o()],Z.prototype,"activeFocus",void 0),e([o()],Z.prototype,"focusedDay",void 0),e([o()],Z.prototype,"pendingRangeStart",void 0),e([o()],Z.prototype,"hoveredDay",void 0),e([j("value")],Z.prototype,"handleValueChange",null),e([j("rangeStart"),j("rangeEnd")],Z.prototype,"handleRangeChange",null),e([j("focusedDay","updated")],Z.prototype,"handleFocusedDayChange",null),Z=e([d("nord-calendar")],Z);var ee=Z;export{ee as C,P as S,q as i};
2
- //# sourceMappingURL=Calendar-C1SxrlzN.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Calendar-C1SxrlzN.js","sources":["../../icons/lib/assets/arrow-down-small.js","../../icons/lib/assets/arrow-left-small.js","../../icons/lib/assets/arrow-right-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=\"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","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=\"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 =\n \"nordicon arrow right small caret pointing triangle chevron\";\n","import type { ReactiveController, ReactiveElement } from 'lit'\nimport { EventController } from './EventController.js'\n\nexport interface 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] }\ninterface 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 function isHorizontalSwipe({ distX, distY }: SwipeDetails) {\n return Math.abs(distX) >= THRESHOLD && Math.abs(distY) <= THRESHOLD\n}\n\nexport function isDownwardsSwipe({ distX, distY }: SwipeDetails) {\n return Math.abs(distY) >= THRESHOLD && Math.abs(distX) <= THRESHOLD && distY > 0\n}\n","import * as arrowDownIcon from '@nordhealth/icons/lib/assets/arrow-down-small.js'\nimport * as arrowLeftIcon from '@nordhealth/icons/lib/assets/arrow-left-small.js'\nimport * as arrowRightIcon from '@nordhealth/icons/lib/assets/arrow-right-small.js'\nimport { html, isServer, 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'\n\nimport { chunk, mapWithOffset } from '../common/collection.js'\nimport { DirectionController } from '../common/controllers/DirectionController.js'\nimport { isHorizontalSwipe, SwipeController } from '../common/controllers/SwipeController.js'\n\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'\nimport { cond } from '../common/directives/cond.js'\nimport { range } from '../common/number.js'\nimport componentStyle from '../common/styles/Component.css'\nimport Icon from '../icon/Icon.js'\nimport { LocalizeController } from '../localization/LocalizeController.js'\nimport style from './Calendar.css'\n\nimport { DateRangeSelectEvent } from './DateRangeSelectEvent.js'\nimport { DateSelectEvent } from './DateSelectEvent.js'\nimport '../button/Button.js'\nimport '../visually-hidden/VisuallyHidden.js'\n\nexport type DatePredicate = (date: Date) => boolean\n\nIcon.registerIcon(arrowRightIcon)\nIcon.registerIcon(arrowLeftIcon)\nIcon.registerIcon(arrowDownIcon)\n\nfunction preventDefault(fn: EventListener) {\n return (e: Event) => {\n e.preventDefault()\n fn(e)\n }\n}\n\nconst isDateDisabled: DatePredicate = () => false\nconst isDateHighlighted = () => false\n\nconst dialogLabelId = 'dialog-header'\n\n/**\n * Orders two (possibly undefined) dates ascending. Returns `[earlier, later]`,\n * preserving `undefined` slots so callers can render a partial range.\n */\nfunction orderDates(a?: Date, b?: Date): [Date | undefined, Date | undefined] {\n if (a == null || b == null) {\n return [a, b]\n }\n return a.getTime() <= b.getTime() ? [a, b] : [b, a]\n}\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 {DateRangeSelectEvent} range-change - Dispatched in `range` mode when a complete range (start and end) has been selected.\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 * @cssprop [--n-calendar-padding-block=var(--n-space-m)] - Controls the block padding of the calendar, using [space tokens](/tokens/#space).\n * @cssprop [--n-calendar-padding-inline=var(--n-space-m)] - Controls the inline padding of the calendar, using [space tokens](/tokens/#space).\n * @cssprop [--n-calendar-day-size=var(--n-space-xl)] - Controls the block and inline size of each day cell, using [space tokens](/tokens/#space).\n * @cssprop [--n-calendar-day-font-size=var(--n-font-size-m)] - Controls the font size of each day cell, using [font size tokens](/tokens/#font-size).\n * @cssprop [--n-calendar-select-label-font-size=var(--n-font-size-xl)] - Controls the font size of the month and year select labels, using [font size tokens](/tokens/#font-size).\n * @cssprop [--n-calendar-nav-padding-inline=11px] - Controls the inline padding of the previous and next month buttons.\n * @cssprop [--n-calendar-nav-gap=var(--n-space-xs)] - Controls the gap between the previous and next month buttons, using [space tokens](/tokens/#space).\n * @cssprop [--n-calendar-header-margin-block-end=var(--n-space-m)] - Controls the block-end margin of the calendar header, using [space tokens](/tokens/#space).\n * @cssprop [--n-calendar-header-padding-block-end=0] - Controls the block-end padding of the calendar header, using [space tokens](/tokens/#space).\n * @cssprop [--n-calendar-header-gap=var(--n-space-s)] - Controls the gap between the month/year selects and the navigation buttons, using [space tokens](/tokens/#space).\n * @cssprop [--n-calendar-inline-size=max-content] - Controls the inline size of the calendar. Defaults to `100%` when the `expand` attribute is set.\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 * The date that is considered today. Must be in IS0-8601 format: YYYY-MM-DD.\n * If not set, the current local date of the user is used.\n */\n @property({ reflect: true }) today?: 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 the size of the calendar.\n */\n @property({ reflect: true }) size: 's' | 'm' = 'm'\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 /**\n * Opt into range selection. When `true`, clicking selects a range start, and\n * the next click selects the end (the two clicks are swapped if the second is\n * earlier than the first). The in-range days are styled, and a hover preview\n * shows the range that would result. A completed range fires `range-change`.\n *\n * This is off by default, so the calendar keeps its single-date behaviour\n * (the `value`/`change` API) unless `range` is set.\n */\n @property({ reflect: true, type: Boolean }) range = false\n\n /**\n * The start of the selected range, in ISO-8601 format: YYYY-MM-DD. Only used\n * when `range` is set. Pair with `rangeEnd` to control the selection.\n */\n @property({ reflect: true, attribute: 'range-start' }) rangeStart?: string\n\n /**\n * The end of the selected range, in ISO-8601 format: YYYY-MM-DD. Only used\n * when `range` is set. Pair with `rangeStart` to control the selection.\n */\n @property({ reflect: true, attribute: 'range-end' }) rangeEnd?: string\n\n /**\n * The number of consecutive months to display side by side, starting from the\n * focused month. Defaults to `1`. Useful with `range` for picking a span that\n * crosses months without paging — the range and its hover preview span every\n * visible month, and the navigation arrows slide the whole window. With more\n * than one month the month/year dropdowns are replaced by static titles.\n */\n @property({ reflect: true, type: Number }) months = 1\n\n @state() private activeFocus = false\n @state() private focusedDay = new Date()\n\n /**\n * While picking a range, the first click is held here until the second click\n * completes the range. `undefined` means no in-progress pick.\n */\n @state() private pendingRangeStart?: Date\n\n /** The day currently hovered while a range pick is in progress (preview). */\n @state() private hoveredDay?: 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 }\n else if (target === 'month') {\n this.monthSelectNode.focus()\n }\n }\n\n render() {\n const today = this.getToday()\n const valueAsDate = parseISODate(this.value)\n\n // Resolve the visible range bounds for `range` mode. While a range pick is\n // in progress, the second bound follows the hovered/focused day so the user\n // sees a live preview of the range that would result.\n const committedStart = parseISODate(this.rangeStart || '')\n const committedEnd = parseISODate(this.rangeEnd || '')\n const previewEnd = this.pendingRangeStart ? (this.hoveredDay ?? this.focusedDay) : undefined\n const [rangeFrom, rangeTo] = this.pendingRangeStart\n ? orderDates(this.pendingRangeStart, previewEnd)\n : orderDates(committedStart, committedEnd)\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 currentYear = today.getFullYear()\n const minYear = minDate ? minDate.getFullYear() : currentYear - 100\n const maxYear = maxDate ? maxDate.getFullYear() : currentYear + 10\n\n if (isServer) {\n // Needed when run on a server, because the `onLangChange` callback does not get triggered, so we need to manually\n // call `handleLangChange` to set the localized values for month and day names, which the `render` method relies on.\n this.handleLangChange()\n }\n\n // Render `months` consecutive month grids, anchored on the focused month.\n // They all read the same range state, so a range (and its hover preview) spans\n // months automatically.\n const count = Math.max(1, this.months)\n const months = Array.from(\n { length: count },\n (_, i) => new Date(this.focusedDay.getFullYear(), this.focusedDay.getMonth() + i, 1),\n )\n const multi = count > 1\n\n // In multi-month mode adjacent months share the same overlap days (the\n // trailing days of one month are the leading days of the next), so rendering\n // the out-of-month days in every grid would emit the same date twice —\n // duplicating `tabindex=\"0\"`, `aria-pressed` and range styling. Disable\n // boundary navigation when ANY visible month already reaches the bound, so\n // the arrows never appear enabled-but-noop.\n const reachesMin = minDate != null && months.some(monthDate => isEqualMonth(minDate, monthDate))\n const reachesMax = maxDate != null && months.some(monthDate => isEqualMonth(maxDate, monthDate))\n\n const dayCell = (day: Date, monthDate: Date) => {\n const isInMonth = isEqualMonth(day, monthDate)\n\n // In multi-month mode the leading/trailing overlap days belong to the\n // adjacent grid, so each date is rendered (and owned) by exactly one\n // month. Render an inert placeholder here instead of a duplicate button.\n if (multi && !isInMonth) {\n return html`<td class=\"n-calendar-cell\" aria-hidden=\"true\"></td>`\n }\n\n const outsideRange = !inRange(day, minDate, maxDate)\n const isToday = isEqual(day, today)\n const isDisabled = this.isDateDisabled(day)\n const isHighlighted = this.isDateHighlighted(day)\n const formattedDate = this.dateFormatShort.format(day)\n\n // In range mode the \"selected\" days are the two range ends; otherwise it is\n // the single `value`.\n const isRangeStart = this.range && rangeFrom != null && isEqual(day, rangeFrom)\n const isRangeEnd = this.range && rangeTo != null && isEqual(day, rangeTo)\n const isInRange = this.range && rangeFrom != null && rangeTo != null && day >= rangeFrom && day <= rangeTo\n const isSelected = this.range ? isRangeStart || isRangeEnd : isEqual(day, valueAsDate)\n const sameDayRange = rangeFrom != null && isEqual(rangeFrom, rangeTo)\n\n const accessibleLabel\n = isHighlighted && typeof isHighlighted === 'string' ? `${formattedDate}, ${isHighlighted}` : 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 'is-in-range': isInRange && !isSelected,\n 'is-range-start': isRangeStart && !sameDayRange,\n 'is-range-end': isRangeEnd && !sameDayRange,\n })}\n @click=${() => this.handleDaySelect(day)}\n @mouseenter=${() => this.handleDayHover(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\n // The rich month/year selects only make sense for a single month. With more\n // than one month, each shows a static title with the prev/next arrows on the\n // first/last month, so navigation slides the whole window of months.\n const header = (monthDate: Date, index: number, labelId: string) => {\n const monthIndex = monthDate.getMonth()\n const monthYear = monthDate.getFullYear()\n if (multi) {\n const isFirst = index === 0\n const isLast = index === count - 1\n return html`\n <div class=\"n-calendar-header is-static\">\n <nord-button\n class=${classMap({ 'n-calendar-prev': true, 'is-hidden': !isFirst })}\n size=${this.size}\n square\n variant=\"plain\"\n @click=${this.handlePreviousMonthClick}\n ?disabled=${!isFirst || reachesMin}\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=${this.size === 's' ? 'xs' : 's'}></nord-icon>\n </nord-button>\n\n <h2 class=\"n-calendar-title\" id=${labelId} aria-live=\"polite\" aria-atomic=\"true\">\n ${this.monthNames[monthIndex]} ${monthYear}\n </h2>\n\n <nord-button\n class=${classMap({ 'n-calendar-next': true, 'is-hidden': !isLast })}\n size=${this.size}\n square\n variant=\"plain\"\n @click=${this.handleNextMonthClick}\n ?disabled=${!isLast || reachesMax}\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=${this.size === 's' ? 'xs' : 's'}></nord-icon>\n </nord-button>\n </div>\n `\n }\n return html`\n <div class=\"n-calendar-header\">\n <div>\n <nord-visually-hidden>\n <h2 id=${labelId} aria-live=\"polite\" aria-atomic=\"true\">${this.monthNames[monthIndex]}, ${monthYear}</h2>\n </nord-visually-hidden>\n\n <div class=\"n-calendar-select\">\n <select aria-label=${this.localize.term('monthSelectLabel')} class=\"n-calendar-select-month\" @input=${this.handleMonthSelect}>\n ${this.monthNames.map(\n (month, i) => html`\n <option\n value=${i}\n ?selected=${i === monthIndex}\n ?disabled=${!inRange(new Date(monthYear, 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[monthIndex]}</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 aria-label=${this.localize.term('yearSelectLabel')} class=\"n-calendar-select-year\" @input=${this.handleYearSelect}>\n ${repeat(\n range(minYear, maxYear),\n year => year,\n year => html`<option ?selected=${year === monthYear}>${year}</option>`,\n )}\n </select>\n <div class=\"n-calendar-select-label\" aria-hidden=\"true\">\n <span>${monthYear}</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 size=${this.size}\n square\n @click=${this.handlePreviousMonthClick}\n ?disabled=${isEqualMonth(minDate, monthDate)}\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=${this.size === 's' ? 'xs' : 's'}></nord-icon>\n </nord-button>\n\n <nord-button\n class=\"n-calendar-next\"\n size=${this.size}\n square\n @click=${this.handleNextMonthClick}\n ?disabled=${isEqualMonth(maxDate, monthDate)}\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=${this.size === 's' ? 'xs' : 's'}></nord-icon>\n </nord-button>\n </div>\n </div>\n `\n }\n\n return html`\n <div class=${classMap({ 'n-calendar': true, 'has-multiple-months': multi })}>\n ${months.map((monthDate, index) => {\n const labelId = `${dialogLabelId}-${index}`\n return html`\n <div class=\"n-calendar-month\">\n ${header(monthDate, index, labelId)}\n\n <table\n class=\"n-calendar-table\"\n aria-labelledby=${labelId}\n @focusin=${this.enableActiveFocus}\n @focusout=${this.disableActiveFocus}\n >\n <thead>\n <tr>\n ${mapWithOffset(\n this.dayNames,\n this.firstDayOfWeek,\n (dayName, i) => 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(monthDate, this.firstDayOfWeek), 7).map(\n week => html`<tr class=\"n-calendar-row\">${week.map(day => dayCell(day, monthDate))}</tr>`,\n )}\n </tbody>\n </table>\n </div>\n `\n })}\n </div>\n `\n }\n\n @observe('value')\n protected handleValueChange() {\n if (this.range) {\n return\n }\n this.setFocusedDay(parseISODate(this.value) || this.getToday())\n }\n\n @observe('rangeStart')\n @observe('rangeEnd')\n protected handleRangeChange() {\n if (!this.range) {\n return\n }\n // Focus the most relevant end of the committed range so the calendar opens\n // showing it, falling back to today when nothing is set.\n const start = parseISODate(this.rangeStart || '')\n const end = parseISODate(this.rangeEnd || '')\n this.setFocusedDay(start || end || this.getToday())\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, { 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 isWithinBounds = inRange(day, parseISODate(this.min || ''), parseISODate(this.max || ''))\n const isAllowed = !this.isDateDisabled(day)\n\n if (!isWithinBounds || !isAllowed) {\n return\n }\n\n if (this.range) {\n this.selectRangeDay(day)\n return\n }\n\n this.value = printISODate(day)\n this.dispatchEvent(new DateSelectEvent('change', day))\n }\n\n /**\n * Two-click range selection: the first click starts a pending range, the\n * second completes it. The two ends are swapped if the second click is before\n * the first, so the committed range is always ordered `start <= end`.\n */\n private selectRangeDay(day: Date) {\n if (!this.pendingRangeStart) {\n this.pendingRangeStart = day\n this.hoveredDay = day\n this.rangeStart = printISODate(day)\n this.rangeEnd = printISODate(day)\n return\n }\n\n const [start, end] = orderDates(this.pendingRangeStart, day) as [Date, Date]\n this.pendingRangeStart = undefined\n this.hoveredDay = undefined\n this.rangeStart = printISODate(start)\n this.rangeEnd = printISODate(end)\n this.dispatchEvent(new DateRangeSelectEvent('range-change', start, end))\n }\n\n private handleDayHover = (day: Date) => {\n if (this.range && this.pendingRangeStart) {\n this.hoveredDay = day\n }\n }\n\n private getToday() {\n return parseISODate(this.today || '') || new Date()\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(Number.parseInt((e.target as HTMLSelectElement).value, 10))\n }\n\n private handleYearSelect = (e: Event) => {\n this.setYear(Number.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","fn","Icon","registerIcon","arrowRightIcon","arrowLeftIcon","arrowDownIcon","isDateDisabled","isDateHighlighted","orderDates","a","b","getTime","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","DaysOfWeek","Monday","expand","size","range","months","activeFocus","focusedDay","Date","handleDaySelect","day","isWithinBounds","inRange","parseISODate","min","max","isAllowed","selectRangeDay","printISODate","dispatchEvent","DateSelectEvent","handleDayHover","pendingRangeStart","hoveredDay","handleMonthSelect","setMonth","Number","parseInt","handleYearSelect","setYear","handleNextMonthClick","handlePreviousMonthClick","enableActiveFocus","disableActiveFocus","table","currentTarget","relatedTarget","contains","focus","_a","focusedDayNode","monthSelectNode","render","today","getToday","valueAsDate","committedStart","rangeStart","committedEnd","rangeEnd","previewEnd","undefined","rangeFrom","rangeTo","minDate","maxDate","minDateStartOfMonth","startOfMonth","maxDateEndOfMonth","endOfMonth","currentYear","getFullYear","minYear","maxYear","isServer","count","Array","from","length","_","i","getMonth","multi","reachesMin","some","monthDate","isEqualMonth","reachesMax","dayCell","isInMonth","html","outsideRange","isToday","isEqual","isDisabled","isHighlighted","formattedDate","dateFormatShort","format","isRangeStart","isRangeEnd","isInRange","isSelected","sameDayRange","accessibleLabel","classMap","cond","getDate","header","index","labelId","monthIndex","monthYear","isFirst","isLast","term","monthNames","map","month","monthNamesShort","repeat","year","mapWithOffset","dayNames","dayName","dayNamesShort","chunk","getViewOfMonth","week","handleValueChange","setFocusedDay","handleRangeChange","start","end","handleFocusedDayChange","lang","resolvedLang","Intl","DateTimeFormat","getMonthNames","getDayNames","DateRangeSelectEvent","days","years","date","clamp","styles","componentStyle","style","__decorate","query","prototype","property","reflect","type","attribute","Boolean","state","observe","customElement"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{css as o}from"lit";const n=o`nord-combobox,nord-combobox *,nord-combobox :after,nord-combobox :before{box-sizing:border-box}nord-combobox>.n-render-root{display:contents}nord-combobox-group,nord-combobox-option{display:none}nord-combobox{--_n-combobox-background:var(--n-input-background,var(--n-color-surface));--_n-combobox-border-color:var(--n-input-border-color,var(--n-color-border-strong));--_n-combobox-border-radius:var(--n-input-border-radius,var(--n-border-radius-s));--_n-combobox-block-size:var(--n-combobox-block-size,var(--n-space-xl));--_n-combobox-min-content-block-size:calc(var(--n-line-height-form) + var(--n-space-s)/1.6*2 + 2px);--_n-combobox-padding-block:calc(var(--_n-combobox-block-size)/2 - var(--n-line-height-form)/2 - 1px);--_n-combobox-padding-inline:calc(var(--n-space-s) + var(--n-space-xs));--_n-combobox-font-size:var(--n-font-size-m);--_n-combobox-divider-block-size:var(--n-space-m);--_n-combobox-tags-padding:calc(var(--n-space-xs)*0.75);display:block}nord-combobox[size=s]{--_n-combobox-block-size:var(--n-combobox-block-size,calc(var(--n-space-l) + var(--n-space-xs)));--_n-combobox-padding-block:calc(var(--_n-combobox-block-size)/2 - var(--n-line-height-form)/2 - 1px);--_n-combobox-padding-inline:calc(var(--n-space-xs)*1.5);--_n-combobox-divider-block-size:calc(var(--n-space-s) + var(--n-space-xs)/2);--_n-combobox-tags-padding:calc(var(--n-space-xs)/2)}nord-combobox[size=l]{--_n-combobox-border-radius:var(--n-input-border-radius,var(--n-border-radius));--_n-combobox-block-size:max(var(--n-combobox-block-size,calc(var(--n-space-xxl) - var(--n-space-l))),var(--_n-combobox-min-content-block-size));--_n-combobox-padding-block:calc(var(--_n-combobox-block-size)/2 - var(--n-line-height-form)/2 - 1px);--_n-combobox-padding-inline:calc(var(--n-space-s) + var(--n-space-xs));--_n-combobox-divider-block-size:var(--n-space-l)}nord-combobox .n-combobox{inline-size:100%;position:relative}nord-combobox .n-control{align-items:center;background:var(--_n-combobox-background);border:1px solid var(--_n-combobox-border-color);border-radius:var(--_n-combobox-border-radius);cursor:text;display:flex;gap:var(--n-space-s);inline-size:100%;min-block-size:var(--_n-combobox-block-size);padding-inline-end:var(--_n-combobox-padding-inline);padding-inline-start:var(--_n-combobox-padding-inline);transition:border var(--n-transition-quickly),box-shadow var(--n-transition-quickly),background var(--n-transition-quickly)}nord-combobox .n-tags{align-items:center;display:flex;flex:1;flex-wrap:wrap;gap:var(--_n-combobox-tags-padding);min-inline-size:0;padding-block-end:var(--_n-combobox-tags-padding);padding-block-start:var(--_n-combobox-tags-padding)}nord-combobox .n-tags .n-input{padding-block-end:0;padding-block-start:0}nord-combobox .n-control:hover{--_n-combobox-border-color:var(--n-input-border-color,var(--n-color-border-hover))}nord-combobox .n-control:focus-within{--_n-combobox-border-color:var(--n-input-border-color,var(--n-color-accent));box-shadow:0 0 0 1px var(--_n-combobox-border-color)}nord-combobox[disabled] .n-control{--_n-combobox-background:var(--n-input-background-inactive,var(--n-color-active));--_n-combobox-border-color:var(--n-input-border-color,var(--n-color-active));cursor:auto;pointer-events:none}nord-combobox .n-control.is-invalid{--_n-combobox-border-color:var(--n-color-border-danger)}nord-combobox .n-control.is-invalid:focus-within{--_n-combobox-border-color:var(--n-color-status-danger)}nord-combobox .n-slot{align-items:center;color:var(--n-color-icon);display:flex;flex-shrink:0}nord-combobox .n-slot:empty{display:none}nord-combobox[disabled] .n-slot{color:var(--n-color-text-weakest)}nord-combobox .n-slot nord-icon{--_n-icon-size:var(--n-size-icon-s)}nord-combobox .n-input{appearance:none;background:#0000;border:none;color:var(--n-color-text);flex:1;font-family:var(--n-font-family);font-feature-settings:var(--n-font-features);font-size:var(--_n-combobox-font-size);line-height:var(--n-line-height-form);margin:0;min-inline-size:3rem;outline:none;padding-block-end:var(--_n-combobox-padding-block);padding-block-start:var(--_n-combobox-padding-block);padding-inline-end:0;padding-inline-start:0}nord-combobox .n-control input.n-input:focus,nord-combobox .n-control input.n-input:focus-visible,nord-combobox .n-control input.n-input:focus-within{background:#0000;border:none;box-shadow:none;outline:none}nord-combobox .n-input::placeholder{color:var(--n-color-text-weakest);opacity:1}nord-combobox[disabled] .n-input{color:var(--n-color-text-weakest)}nord-combobox .n-divider{background:var(--n-color-border);block-size:var(--_n-combobox-divider-block-size);flex-shrink:0;inline-size:1px}nord-combobox .n-toggle{align-items:center;appearance:none;background:#0000;border:none;color:var(--n-color-icon);cursor:pointer;display:flex;flex-shrink:0;justify-content:center;margin:0;padding:0}nord-combobox .n-toggle nord-icon{--_n-icon-size:var(--n-size-icon-s)}nord-combobox[disabled] .n-toggle{color:var(--n-color-text-weakest);cursor:auto}nord-combobox .n-clear{align-items:center;appearance:none;background:#0000;border:none;border-radius:var(--n-border-radius-s);color:var(--n-color-icon);cursor:pointer;display:flex;flex-shrink:0;justify-content:center;margin:0;padding:0;transition:color var(--n-transition-quickly)}nord-combobox .n-clear:hover{color:var(--n-color-text)}nord-combobox .n-clear:focus-visible{outline:2px solid var(--n-color-accent);outline-offset:2px}nord-combobox .n-clear nord-icon{--_n-icon-size:var(--n-size-icon-xs)}nord-combobox .n-loading{flex-shrink:0}nord-combobox .n-chip{--n-tag-block-size:calc(var(--_n-combobox-block-size) - var(--n-space-s));flex-shrink:0}nord-combobox .n-listbox{inline-size:var(--n-combobox-list-inline-size,var(--_n-combobox-anchor-inline-size,100%));margin:0;max-block-size:calc(var(--n-space-xxl)*4);overflow-y:auto;padding-block-end:var(--n-space-s);padding-block-start:var(--n-space-s);padding-inline:0}nord-combobox .n-virtual-sizer{inline-size:100%;position:relative}nord-combobox .n-virtual-row{inset-block-start:0;inset-inline:0;position:absolute}nord-combobox .n-virtual-row>.n-option{block-size:100%;box-sizing:border-box;min-block-size:0;overflow:hidden}nord-combobox .n-group-label{color:var(--n-color-text-weaker);font-size:var(--n-font-size-xs);font-weight:var(--n-font-weight-heading);line-height:var(--n-line-height-tight);padding-block-end:var(--n-space-s);padding-block-start:var(--n-space-s);padding-inline-end:calc(var(--n-space-s) + var(--n-space-xs)/2);padding-inline-start:calc(var(--n-space-s) + var(--n-space-xs)/2)}nord-combobox [role=group]:not(:first-child):before{border-block-start:1px solid var(--n-color-border);content:"";display:block;margin-block-end:var(--n-space-s);margin-block-start:var(--n-space-s)}nord-combobox .n-option{align-items:center;color:var(--n-color-text);cursor:pointer;display:flex;font-size:var(--_n-combobox-font-size);gap:var(--n-space-s);line-height:var(--n-line-height);padding-block-end:calc(var(--n-space-xs)*1.5);padding-block-start:calc(var(--n-space-xs)*1.5);padding-inline-end:calc(var(--n-space-s) + var(--n-space-xs)/2);padding-inline-start:calc(var(--n-space-s) + var(--n-space-xs)/2);user-select:none}nord-combobox .n-option.is-active{background:var(--n-color-accent);color:var(--n-color-text-on-accent)}nord-combobox .n-option:active{opacity:.8}nord-combobox .n-option.is-disabled{color:var(--n-color-text-weakest);cursor:default;pointer-events:none}nord-combobox .n-option-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}nord-combobox .n-option-check{block-size:var(--n-space-m);color:var(--n-color-text-highlight);display:grid;flex:0 0 var(--n-space-m);inline-size:var(--n-space-m);place-items:center}nord-combobox .n-option.is-active .n-option-check{color:currentColor}nord-combobox .n-create{color:var(--n-color-text-link)}nord-combobox .n-create .n-option-label{font-weight:var(--n-font-weight-active)}nord-combobox .n-create-icon{--_n-icon-size:var(--n-size-icon-s);color:currentColor;flex-shrink:0}nord-combobox .n-create-kbd{flex-shrink:0}nord-combobox .n-empty{align-items:center;color:var(--n-color-text-weaker);display:flex;font-size:var(--_n-combobox-font-size);justify-content:center;padding:var(--n-space-s);text-align:center}`;export{n as s};
2
- //# sourceMappingURL=Combobox-By4h1Sp-.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Combobox-By4h1Sp-.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- import{_ as t}from"./tslib.es6-CmLYFWVC.js";import{css as o,html as i,LitElement as e}from"lit";import{property as r,state as s,customElement as n}from"lit/decorators.js";import{classMap as a}from"lit/directives/class-map.js";import{ref as l}from"lit/directives/ref.js";import{D as c}from"./DirectionController-ChvNGESZ.js";import{F as d}from"./FocusableMixin-BlQLNPdJ.js";import{s as u}from"./Component-BJ5O5n8k.js";import h from"./Icon.js";import{LocalizeController as v}from"./LocalizeController.js";import"./Button.js";import"./VisuallyHidden.js";const p="navigation-toggle-lock";var m=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>',tags:"nordicon navigation hamburger menu toggle navigation arrow right double lock triangle chevron",title:p});const b="navigation-toggle";var g=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>',tags:"nordicon navigation hamburger menu toggle navigation three lines",title:b});const f=o`:host{color:var(--n-color-icon);display:inline-flex}@media (min-width:768px){:host([data-auto-hidden]){display:none}}nord-button{--n-button-color:currentColor;--n-button-background-color:#0000}nord-icon{color:currentColor;display:block;transform:translateX(-1px)}.icon-active{display:none}.is-rtl .icon-active{transform:rotate(180deg)}@media (min-width:768px){:host(:is(:hover,:focus-within)) .icon-active{display:block}:host(:is(:hover,:focus-within)) .icon-default{display:none}}`;h.registerIcon(g),h.registerIcon(m);let y=class extends(d(e)){constructor(){super(...arguments),this.direction=new c(this),this.localization=new v(this),this.icon=b,this.iconActive=p,this.autoHide=!1,this.square=!1,this.size="m",this.iconSize="m",this.autoHidden=!1}connectedCallback(){super.connectedCallback(),this.startAutoHide()}disconnectedCallback(){super.disconnectedCallback(),this.stopAutoHide()}updated(t){var o;null===(o=super.updated)||void 0===o||o.call(this,t),t.has("autoHide")&&(this.stopAutoHide(),this.startAutoHide()),t.has("autoHidden")&&this.toggleAttribute("data-auto-hidden",this.autoHidden)}startAutoHide(){if(!this.autoHide)return;const t=this.closest("nord-layout");t&&(this.observedLayout=t,this.autoHidden=t.hasAttribute("nav-open"),this.layoutObserver=new MutationObserver((()=>{this.autoHidden=t.hasAttribute("nav-open")})),this.layoutObserver.observe(t,{attributes:!0,attributeFilter:["nav-open"]}))}stopAutoHide(){var t;null===(t=this.layoutObserver)||void 0===t||t.disconnect(),this.layoutObserver=void 0,this.observedLayout=void 0,this.autoHidden=!1}render(){return i`<nord-button variant="plain" ?square="${this.square}" size="${this.size}" ${l(this.focusableRef)} class="${a({"is-rtl":this.direction.isRTL})}"><nord-visually-hidden>${this.localization.term("label")}</nord-visually-hidden><nord-icon size="${this.iconSize}" class="icon-default" name="${this.icon}"></nord-icon><nord-icon size="${this.iconSize}" class="icon-active" name="${this.iconActive}"></nord-icon></nord-button>`}};y.styles=[u,f],t([r({reflect:!0})],y.prototype,"icon",void 0),t([r({reflect:!0,attribute:"icon-active"})],y.prototype,"iconActive",void 0),t([r({type:Boolean,reflect:!0,attribute:"auto-hide"})],y.prototype,"autoHide",void 0),t([r({type:Boolean,reflect:!0})],y.prototype,"square",void 0),t([r({reflect:!0})],y.prototype,"size",void 0),t([r({reflect:!0,attribute:"icon-size"})],y.prototype,"iconSize",void 0),t([s()],y.prototype,"autoHidden",void 0),y=t([n("nord-nav-toggle")],y);var z=y;export{z as N,m as l};
2
- //# sourceMappingURL=NavToggle-BY83xpx0.js.map
@@ -1,2 +0,0 @@
1
- import{_ as t}from"./tslib.es6-CmLYFWVC.js";import{o as e,a as o,s as i,h as s,l as n,f as a,c as r,b as l}from"./positioning-D-K8Mueq.js";import{css as h,html as p,LitElement as d}from"lit";import{property as c,query as m,state as u,customElement as f}from"lit/decorators.js";import{D as g}from"./DirectionController-ChvNGESZ.js";import{E as v}from"./EventController-BBOmvfLa.js";import{L as y}from"./LightDismissController-4pH8cdko.js";import{S as b}from"./ScrollbarController-BFC67Y2x.js";import{o as w}from"./observe-D0n0zOfU.js";import{N as x,t as E}from"./events-Bv6wNHwJ.js";import{s as A}from"./Component-BJ5O5n8k.js";function k(e){class o extends e{constructor(){super(...arguments),this.open=!1,this.align="start",this.position="block-end",this.sideOffset=8,this.alignOffset=0}}return t([c({type:Boolean,reflect:!0})],o.prototype,"open",void 0),t([c({reflect:!0})],o.prototype,"align",void 0),t([c({reflect:!0})],o.prototype,"position",void 0),t([c({reflect:!0,type:Number,attribute:"side-offset"})],o.prototype,"sideOffset",void 0),t([c({reflect:!0,type:Number,attribute:"align-offset"})],o.prototype,"alignOffset",void 0),o}const C=h`:host{background:none;block-size:auto;border:none;color:var(--n-color-text);inline-size:auto;inset:auto;left:var(--_n-popout-position-x);margin:0;opacity:0;overflow:visible;padding:0;pointer-events:none;position:fixed;top:var(--_n-popout-position-y);transition:opacity var(--n-transition-slowly);z-index:var(--n-index-popout)}.n-popout{background:var(--n-popout-background,var(--n-color-surface));border-radius:var(--n-border-radius-s);box-shadow:var(--n-popout-box-shadow,var(--n-box-shadow-popout));pointer-events:none;transform:translateY(-10px) scale(.97);transform-origin:top left;transition:transform var(--n-transition-slowly),visibility var(--n-transition-slowly);visibility:hidden;will-change:transform,opacity,visibility}:host([open]){opacity:1}:host([open]) .n-popout{pointer-events:auto;transform:translateY(0) translateX(0) scale(1);transition-property:transform;visibility:visible}@media (max-width:35.9375em){:host(:not([always-floating])){background:#0000;inset:0;opacity:1;overflow-y:auto;position:fixed;transition:background var(--n-transition-mobile)}:host([open]:not([always-floating])){background:var(--n-color-overlay);pointer-events:auto}:host([open]:not([always-floating])) .n-popout{transform:translateY(0)}:host(:not([always-floating])) .n-popout{border-radius:0;inset:0;inset-block-start:auto;position:fixed;transform:translateY(100%);transform-origin:bottom center;transition:transform var(--n-transition-mobile),visibility var(--n-transition-mobile)}}.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}`,O="undefined"==typeof matchMedia?{matches:!1,addEventListener(){}}:matchMedia("(max-width: 35.9375em)");let P=class extends(k(d)){constructor(){super(...arguments),this.scrollBar=new b(this),this.dismiss=new y(this,{isOpen:()=>this.open,onDismiss:t=>this.hide("click"!==t.type),isDismissible:t=>t!==this.popout&&t!==this.targetElement}),this.events=new v(this),this.direction=new g(this),this.smallViewport=O.matches,this.id="",this.alwaysFloating=!1,this.controlled=!1,this.enableScroll=()=>{this.open||(this.scrollBar.unlockScroll(),this.leaveTopLayer())},this.updatePosition=async()=>{var t;if(!this.anchorElement)return;const l={strategy:"fixed"};"auto"===this.position?l.middleware=[e({mainAxis:this.sideOffset,alignmentAxis:this.alignOffset}),o({alignment:this.align,padding:8}),i({padding:8}),s()]:(l.placement=n(this.position,this.align,this.direction.dir),l.middleware=[e({mainAxis:this.sideOffset,alignmentAxis:this.alignOffset}),a(),i({padding:8}),s()]);const{x:h,y:p,placement:d,middlewareData:c}=await r(this.anchorElement,this,l);this.computedPosition=d,this.style.setProperty("--_n-popout-position-x",`${h}px`),this.style.setProperty("--_n-popout-position-y",`${p}px`),(null===(t=c.hide)||void 0===t?void 0:t.referenceHidden)&&this.hide()},this.toggleOpen=t=>{t.preventDefault(),this.open?this.hide(!1):!this.smallViewport||this.alwaysFloating?(this.enterTopLayer(),this.updatePosition().then((()=>this.show()))):this.show()},this.handleMediaQueryChange=()=>{var t;this.smallViewport=O.matches,null===(t=this.cleanupAutoUpdate)||void 0===t||t.call(this),(!this.smallViewport||this.alwaysFloating)&&this.open&&this.anchorElement?(this.cleanupAutoUpdate=l(this.anchorElement,this,this.updatePosition),this.scrollBar.unlockScroll()):this.open&&this.scrollBar.lockScroll()}}async show(){return this.open?Promise.resolve():(this.enterTopLayer(),this.open=!0,await this.updateComplete,this.dispatchEvent(new x("open")),E(this.popout))}async hide(t=!0){var e,o;if(!this.open)return Promise.resolve();this.open=!1,null===(e=this.cleanupAutoUpdate)||void 0===e||e.call(this),this.dispatchEvent(new x("close")),t&&(null===(o=this.targetElement)||void 0===o||o.focus({preventScroll:!0}));const i=await E(this.popout);return this.leaveTopLayer(),i}firstUpdated(){this.smallViewport&&!this.alwaysFloating||this.updatePosition()}connectedCallback(){super.connectedCallback(),this.events.listen(O,"change",this.handleMediaQueryChange),this.initializeElements()}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 p`<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.initializeElements():console.warn("NORD: popout requires an id attribute and value")}initializeElements(){this.targetElement=this.getToggle(),this.anchorElement=this.getAnchor(),this.controlled||this.events.listen(this.targetElement,"click",this.toggleOpen)}handleOpenChange(){var t,e;null===(t=this.targetElement)||void 0===t||t.setAttribute("aria-expanded",`${this.open}`),this.open?(this.enterTopLayer(),this.smallViewport&&!this.alwaysFloating?this.scrollBar.lockScroll():this.anchorElement&&(this.cleanupAutoUpdate=l(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.alwaysFloating)&&this.anchorElement&&(this.cleanupAutoUpdate=l(this.anchorElement,this,this.updatePosition))}enterTopLayer(){if("function"==typeof this.showPopover)try{this.setAttribute("popover","manual"),this.showPopover()}catch(t){this.removeAttribute("popover")}}leaveTopLayer(){this.removeAttribute("popover")}getToggle(){const t=this.getRootNode(),e=t.querySelectorAll(`[aria-controls='${this.id}']`);let o=e[0];if(e.length>1){const i=[...t.querySelectorAll(`[id='${this.id}']`)].indexOf(this);i>=0&&i<e.length&&(o=e[i])}return o instanceof HTMLSlotElement?o.assignedElements()[0]:o}getAnchor(){if(!this.anchor)return this.targetElement;const t=this.getRootNode().querySelector(`#${this.anchor}`);return t instanceof HTMLSlotElement?t.assignedElements()[0]:t}};P.styles=[A,C],t([m(".n-popout",!0)],P.prototype,"popout",void 0),t([u()],P.prototype,"computedPosition",void 0),t([u()],P.prototype,"smallViewport",void 0),t([c({reflect:!0})],P.prototype,"id",void 0),t([c({reflect:!0})],P.prototype,"anchor",void 0),t([c({reflect:!0,type:Boolean,attribute:"always-floating"})],P.prototype,"alwaysFloating",void 0),t([c({reflect:!0,type:Boolean})],P.prototype,"controlled",void 0),t([w("id")],P.prototype,"handleIdChange",null),t([w("open")],P.prototype,"handleOpenChange",null),t([w("anchor")],P.prototype,"handleAnchorChange",null),P=t([f("nord-popout")],P);var S=P;export{k as F,S as P};
2
- //# sourceMappingURL=Popout-DpN7PP9h.js.map
@@ -1,2 +0,0 @@
1
- import{i as t}from"./tinykeys.module-_6MZt7MP.js";const s=/Arrow(Up|Down|Left|Right)/g,i=/Escape/g;class n{constructor(t,s,i){this.shortcuts=s,this.target=i,t.addController(this)}hostConnected(){this.shortcuts&&this.bind(this.shortcuts)}hostDisconnected(){this.unbind()}unbind(){var t;null===(t=this.unregister)||void 0===t||t.call(this)}bind(n){var o;this.unbind(),this.shortcuts=n,this.unregister=t(null!==(o=this.target)&&void 0!==o?o:window,function(t){const n={};return Object.keys(t).forEach((o=>{if(n[o]=t[o],s.test(o)){const t=o.replace(s,((t,s)=>s));n[t]=n[o]}if(i.test(o)){const t=o.replace(i,(()=>"Esc"));n[t]=n[o]}})),n}(this.shortcuts))}}export{n as S};
2
- //# sourceMappingURL=ShortcutController-BIb3WGzH.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ShortcutController-BIb3WGzH.js","sources":["../src/common/controllers/ShortcutController.ts"],"sourcesContent":["import type { ReactiveController, ReactiveControllerHost } from 'lit'\nimport type { KeyBindingMap } from 'tinykeys'\nimport tinykeys from 'tinykeys'\n\ntype ShortcutTarget = Parameters<typeof tinykeys>[0]\n\nconst ARROW_RE = /Arrow(Up|Down|Left|Right)/g\nconst ESC_RE = /Escape/g\n\nfunction normalise(shortcuts: KeyBindingMap) {\n const normalised: KeyBindingMap = {}\n\n Object.keys(shortcuts).forEach((keybinding) => {\n normalised[keybinding] = shortcuts[keybinding]\n\n // Arrow and Escape keys in IE/Edge have different names\n if (ARROW_RE.test(keybinding)) {\n const mapped = keybinding.replace(ARROW_RE, (_match, capture) => capture)\n normalised[mapped] = normalised[keybinding]\n }\n if (ESC_RE.test(keybinding)) {\n const mapped = keybinding.replace(ESC_RE, () => 'Esc')\n normalised[mapped] = normalised[keybinding]\n }\n })\n\n return normalised\n}\n\nexport class ShortcutController implements ReactiveController {\n private unregister?: ReturnType<typeof tinykeys>\n\n constructor(\n host: ReactiveControllerHost,\n private shortcuts?: KeyBindingMap,\n private target?: ShortcutTarget,\n ) {\n host.addController(this)\n }\n\n hostConnected() {\n if (this.shortcuts) {\n this.bind(this.shortcuts)\n }\n }\n\n hostDisconnected() {\n this.unbind()\n }\n\n unbind() {\n this.unregister?.()\n }\n\n bind(shortcuts: KeyBindingMap) {\n this.unbind()\n this.shortcuts = shortcuts\n this.unregister = tinykeys(this.target ?? window, normalise(this.shortcuts))\n }\n}\n\nexport type { KeyBindingMap as ShortcutMap }\n"],"names":["ARROW_RE","ESC_RE","ShortcutController","constructor","host","shortcuts","target","this","addController","hostConnected","bind","hostDisconnected","unbind","_a","unregister","call","tinykeys","window","normalised","Object","keys","forEach","keybinding","test","mapped","replace","_match","capture","normalise"],"mappings":"kDAMA,MAAMA,EAAW,6BACXC,EAAS,gBAsBFC,EAGX,WAAAC,CACEC,EACQC,EACAC,GADAC,KAASF,UAATA,EACAE,KAAMD,OAANA,EAERF,EAAKI,cAAcD,KACpB,CAED,aAAAE,GACMF,KAAKF,WACPE,KAAKG,KAAKH,KAAKF,UAElB,CAED,gBAAAM,GACEJ,KAAKK,QACN,CAED,MAAAA,SACiB,QAAfC,EAAAN,KAAKO,kBAAU,IAAAD,GAAAA,EAAAE,KAAAR,KAChB,CAED,IAAAG,CAAKL,SACHE,KAAKK,SACLL,KAAKF,UAAYA,EACjBE,KAAKO,WAAaE,UAASH,EAAAN,KAAKD,sBAAUW,OAhD9C,SAAmBZ,GACjB,MAAMa,EAA4B,CAAA,EAgBlC,OAdAC,OAAOC,KAAKf,GAAWgB,SAASC,IAI9B,GAHAJ,EAAWI,GAAcjB,EAAUiB,GAG/BtB,EAASuB,KAAKD,GAAa,CAC7B,MAAME,EAASF,EAAWG,QAAQzB,GAAU,CAAC0B,EAAQC,IAAYA,IACjET,EAAWM,GAAUN,EAAWI,EACjC,CACD,GAAIrB,EAAOsB,KAAKD,GAAa,CAC3B,MAAME,EAASF,EAAWG,QAAQxB,GAAQ,IAAM,QAChDiB,EAAWM,GAAUN,EAAWI,EACjC,KAGIJ,CACT,CA8BsDU,CAAUrB,KAAKF,WAClE"}
@@ -1,2 +0,0 @@
1
- var t=["Shift","Meta","Alt","Control"],e="object"==typeof navigator&&/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"Meta":"Control";function n(t,e){return"function"==typeof t.getModifierState&&t.getModifierState(e)}function r(t){return t.trim().split(" ").map((function(t){var n=t.split(/\b\+/),r=n.pop();return[n=n.map((function(t){return"$mod"===t?e:t})),r]}))}function o(e,o){var i;void 0===o&&(o={});var u=null!=(i=o.timeout)?i:1e3,a=Object.keys(e).map((function(t){return[r(t),e[t]]})),c=new Map,f=null;return function(e){e instanceof KeyboardEvent&&(a.forEach((function(r){var o=r[0],i=r[1],u=c.get(o)||o;!function(e,r){return!(r[1].toUpperCase()!==e.key.toUpperCase()&&r[1]!==e.code||r[0].find((function(t){return!n(e,t)}))||t.find((function(t){return!r[0].includes(t)&&r[1]!==t&&n(e,t)})))}(e,u[0])?n(e,e.key)||c.delete(o):u.length>1?c.set(o,u.slice(1)):(c.delete(o),i(e))})),f&&clearTimeout(f),f=setTimeout(c.clear.bind(c),u))}}function i(t,e,n){var r;void 0===n&&(n={});var i=null!=(r=n.event)?r:"keydown",u=o(e,n);return t.addEventListener(i,u),function(){t.removeEventListener(i,u)}}export{i,o};
2
- //# sourceMappingURL=tinykeys.module-_6MZt7MP.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tinykeys.module-_6MZt7MP.js","sources":["../../../node_modules/.pnpm/tinykeys@1.4.0/node_modules/tinykeys/dist/tinykeys.module.js"],"sourcesContent":["var t=[\"Shift\",\"Meta\",\"Alt\",\"Control\"],e=\"object\"==typeof navigator&&/Mac|iPod|iPhone|iPad/.test(navigator.platform)?\"Meta\":\"Control\";function n(t,e){return\"function\"==typeof t.getModifierState&&t.getModifierState(e)}function r(t){return t.trim().split(\" \").map(function(t){var n=t.split(/\\b\\+/),r=n.pop();return[n=n.map(function(t){return\"$mod\"===t?e:t}),r]})}function o(e,o){var i;void 0===o&&(o={});var u=null!=(i=o.timeout)?i:1e3,a=Object.keys(e).map(function(t){return[r(t),e[t]]}),f=new Map,c=null;return function(e){e instanceof KeyboardEvent&&(a.forEach(function(r){var o=r[0],i=r[1],u=f.get(o)||o;!function(e,r){return!(r[1].toUpperCase()!==e.key.toUpperCase()&&r[1]!==e.code||r[0].find(function(t){return!n(e,t)})||t.find(function(t){return!r[0].includes(t)&&r[1]!==t&&n(e,t)}))}(e,u[0])?n(e,e.key)||f.delete(o):u.length>1?f.set(o,u.slice(1)):(f.delete(o),i(e))}),c&&clearTimeout(c),c=setTimeout(f.clear.bind(f),u))}}function i(t,e,n){var r;void 0===n&&(n={});var i=null!=(r=n.event)?r:\"keydown\",u=o(e,n);return t.addEventListener(i,u),function(){t.removeEventListener(i,u)}}export default i;export{o as createKeybindingsHandler,r as parseKeybinding};\n//# sourceMappingURL=tinykeys.module.js.map\n"],"names":["t","e","navigator","test","platform","n","getModifierState","r","trim","split","map","pop","o","i","u","timeout","a","Object","keys","f","Map","c","KeyboardEvent","forEach","get","toUpperCase","key","code","find","includes","delete","length","set","slice","clearTimeout","setTimeout","clear","bind","event","addEventListener","removeEventListener"],"mappings":"AAAA,IAAIA,EAAE,CAAC,QAAQ,OAAO,MAAM,WAAWC,EAAE,iBAAiBC,WAAW,uBAAuBC,KAAKD,UAAUE,UAAU,OAAO,UAAU,SAASC,EAAEL,EAAEC,GAAG,MAAM,mBAAmBD,EAAEM,kBAAkBN,EAAEM,iBAAiBL,EAAE,CAAC,SAASM,EAAEP,GAAG,OAAOA,EAAEQ,OAAOC,MAAM,KAAKC,KAAI,SAASV,GAAG,IAAIK,EAAEL,EAAES,MAAM,QAAQF,EAAEF,EAAEM,MAAM,MAAM,CAACN,EAAEA,EAAEK,KAAI,SAASV,GAAG,MAAM,SAASA,EAAEC,EAAED,CAAC,IAAGO,EAAE,GAAE,CAAC,SAASK,EAAEX,EAAEW,GAAG,IAAIC,OAAE,IAASD,IAAIA,EAAE,CAAA,GAAI,IAAIE,EAAE,OAAOD,EAAED,EAAEG,SAASF,EAAE,IAAIG,EAAEC,OAAOC,KAAKjB,GAAGS,KAAI,SAASV,GAAG,MAAM,CAACO,EAAEP,GAAGC,EAAED,GAAG,IAAGmB,EAAE,IAAIC,IAAIC,EAAE,KAAK,OAAO,SAASpB,GAAGA,aAAaqB,gBAAgBN,EAAEO,SAAQ,SAAShB,GAAG,IAAIK,EAAEL,EAAE,GAAGM,EAAEN,EAAE,GAAGO,EAAEK,EAAEK,IAAIZ,IAAIA,GAAG,SAASX,EAAEM,GAAG,QAAQA,EAAE,GAAGkB,gBAAgBxB,EAAEyB,IAAID,eAAelB,EAAE,KAAKN,EAAE0B,MAAMpB,EAAE,GAAGqB,MAAK,SAAS5B,GAAG,OAAOK,EAAEJ,EAAED,EAAE,KAAIA,EAAE4B,MAAK,SAAS5B,GAAG,OAAOO,EAAE,GAAGsB,SAAS7B,IAAIO,EAAE,KAAKP,GAAGK,EAAEJ,EAAED,EAAE,IAAG,CAArL,CAAuLC,EAAEa,EAAE,IAAIT,EAAEJ,EAAEA,EAAEyB,MAAMP,EAAEW,OAAOlB,GAAGE,EAAEiB,OAAO,EAAEZ,EAAEa,IAAIpB,EAAEE,EAAEmB,MAAM,KAAKd,EAAEW,OAAOlB,GAAGC,EAAEZ,GAAG,IAAGoB,GAAGa,aAAab,GAAGA,EAAEc,WAAWhB,EAAEiB,MAAMC,KAAKlB,GAAGL,GAAG,CAAC,CAAC,SAASD,EAAEb,EAAEC,EAAEI,GAAG,IAAIE,OAAE,IAASF,IAAIA,EAAE,CAAA,GAAI,IAAIQ,EAAE,OAAON,EAAEF,EAAEiC,OAAO/B,EAAE,UAAUO,EAAEF,EAAEX,EAAEI,GAAG,OAAOL,EAAEuC,iBAAiB1B,EAAEC,GAAG,WAAWd,EAAEwC,oBAAoB3B,EAAEC,EAAE,CAAC","x_google_ignoreList":[0]}