@tylertech/forge 2.17.0 → 2.18.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 (180) hide show
  1. package/custom-elements.json +178 -10
  2. package/dist/esm/accordion/index.js +1 -1
  3. package/dist/esm/app-bar/help-button/index.js +1 -1
  4. package/dist/esm/app-bar/index.js +1 -1
  5. package/dist/esm/app-bar/menu-button/index.js +1 -1
  6. package/dist/esm/app-bar/notification-button/index.js +1 -1
  7. package/dist/esm/app-bar/profile-button/index.js +1 -1
  8. package/dist/esm/app-bar/search/index.js +1 -1
  9. package/dist/esm/autocomplete/index.js +1 -1
  10. package/dist/esm/banner/index.js +1 -1
  11. package/dist/esm/bottom-sheet/index.js +1 -1
  12. package/dist/esm/calendar/index.js +1 -1
  13. package/dist/esm/chip-field/index.js +1 -1
  14. package/dist/esm/chips/chip/index.js +1 -1
  15. package/dist/esm/chips/chip-set/index.js +1 -1
  16. package/dist/esm/chips/index.js +1 -1
  17. package/dist/esm/chunks/{chunk.S2N5KJ7S.js → chunk.23QPY6PU.js} +2 -2
  18. package/dist/esm/chunks/{chunk.65II7E54.js → chunk.2NA4LVTZ.js} +2 -2
  19. package/dist/esm/chunks/{chunk.NOO2ZZKZ.js → chunk.3DYMGITQ.js} +2 -2
  20. package/dist/esm/chunks/{chunk.UW2HWAVL.js → chunk.42QTJZSF.js} +2 -2
  21. package/dist/esm/chunks/{chunk.LLK7YGQW.js → chunk.54KXJVRY.js} +2 -2
  22. package/dist/esm/chunks/{chunk.BKAZC53W.js → chunk.55HRCXPA.js} +2 -2
  23. package/dist/esm/chunks/{chunk.T6NVM7TN.js → chunk.67G7HT5S.js} +2 -2
  24. package/dist/esm/chunks/{chunk.AEKZWVNO.js → chunk.7G53ACL4.js} +2 -2
  25. package/dist/esm/chunks/{chunk.AEKZWVNO.js.map → chunk.7G53ACL4.js.map} +3 -3
  26. package/dist/esm/chunks/{chunk.YMBLWKRP.js → chunk.7IHNVPY5.js} +2 -2
  27. package/dist/esm/chunks/{chunk.RGAPFLQE.js → chunk.7LX3X2DU.js} +2 -2
  28. package/dist/esm/chunks/{chunk.XFAOB6LU.js → chunk.7NHFZL6J.js} +2 -2
  29. package/dist/esm/chunks/{chunk.D24CE6KE.js → chunk.AZFF62ZK.js} +2 -2
  30. package/dist/esm/chunks/chunk.BINM3NUA.js +7 -0
  31. package/dist/esm/chunks/chunk.BINM3NUA.js.map +7 -0
  32. package/dist/esm/chunks/{chunk.IWMA7NUU.js → chunk.D43PPRFO.js} +2 -2
  33. package/dist/esm/chunks/{chunk.SATUJNQX.js → chunk.ETJMASRZ.js} +2 -2
  34. package/dist/esm/chunks/{chunk.FOLQAW63.js → chunk.F7ZYEFH5.js} +2 -2
  35. package/dist/esm/chunks/chunk.GBUXAJPY.js +7 -0
  36. package/dist/esm/chunks/chunk.GBUXAJPY.js.map +7 -0
  37. package/dist/esm/chunks/{chunk.6CAOHLX6.js → chunk.GEWDZDXN.js} +2 -2
  38. package/dist/esm/chunks/{chunk.6CAOHLX6.js.map → chunk.GEWDZDXN.js.map} +2 -2
  39. package/dist/esm/chunks/{chunk.MSFGXRCM.js → chunk.IV2GMOPB.js} +2 -2
  40. package/dist/esm/chunks/chunk.IWICN773.js +7 -0
  41. package/dist/esm/chunks/chunk.IWICN773.js.map +7 -0
  42. package/dist/esm/chunks/{chunk.H4ZMVM5H.js → chunk.J2FXLTZT.js} +2 -2
  43. package/dist/esm/chunks/{chunk.H4ZMVM5H.js.map → chunk.J2FXLTZT.js.map} +1 -1
  44. package/dist/esm/chunks/{chunk.HTH3CEDN.js → chunk.J2PHUKSR.js} +2 -2
  45. package/dist/esm/chunks/{chunk.BKNYDA4V.js → chunk.JCDIPDQR.js} +2 -2
  46. package/dist/esm/chunks/{chunk.BAVLVCGK.js → chunk.JOLJ7WVN.js} +2 -2
  47. package/dist/esm/chunks/{chunk.BAVLVCGK.js.map → chunk.JOLJ7WVN.js.map} +2 -2
  48. package/dist/esm/chunks/chunk.KCC3C3WH.js +7 -0
  49. package/dist/esm/chunks/chunk.KCC3C3WH.js.map +7 -0
  50. package/dist/esm/chunks/{chunk.XIZILH2M.js → chunk.KNVCEYY2.js} +2 -2
  51. package/dist/esm/chunks/chunk.KQK2XX5H.js +7 -0
  52. package/dist/esm/chunks/chunk.KQK2XX5H.js.map +7 -0
  53. package/dist/esm/chunks/{chunk.PYXKGV4Z.js → chunk.MXVJSEF3.js} +2 -2
  54. package/dist/esm/chunks/{chunk.PYXKGV4Z.js.map → chunk.MXVJSEF3.js.map} +2 -2
  55. package/dist/esm/chunks/{chunk.SQTM36C3.js → chunk.N6XHXCZE.js} +2 -2
  56. package/dist/esm/chunks/{chunk.AB5XER3E.js → chunk.NOXJK2U7.js} +2 -2
  57. package/dist/esm/chunks/{chunk.JDLEPQKN.js → chunk.OEZZ2NEY.js} +2 -2
  58. package/dist/esm/chunks/{chunk.MS77SPS4.js → chunk.QZ2NXIGY.js} +2 -2
  59. package/dist/esm/chunks/{chunk.MS77SPS4.js.map → chunk.QZ2NXIGY.js.map} +2 -2
  60. package/dist/esm/chunks/{chunk.CG5CVENX.js → chunk.RLWX5BFQ.js} +2 -2
  61. package/dist/esm/chunks/{chunk.274MFEUZ.js → chunk.SFTWKDQV.js} +2 -2
  62. package/dist/esm/chunks/{chunk.Q5YD3PKM.js → chunk.TH7RLTJK.js} +2 -2
  63. package/dist/esm/chunks/{chunk.USXO7YKN.js → chunk.TOM77CWD.js} +2 -2
  64. package/dist/esm/chunks/chunk.U773QUMB.js +12 -0
  65. package/dist/esm/chunks/{chunk.K6LBO4KJ.js → chunk.UVL4TIK2.js} +2 -2
  66. package/dist/esm/chunks/chunk.WOTVTBJS.js +7 -0
  67. package/dist/esm/chunks/chunk.WOTVTBJS.js.map +7 -0
  68. package/dist/esm/chunks/chunk.WPJEXVHM.js +7 -0
  69. package/dist/esm/chunks/{chunk.NQZXAC65.js.map → chunk.WPJEXVHM.js.map} +2 -2
  70. package/dist/esm/chunks/{chunk.NX4EECNP.js → chunk.XTMXGKUO.js} +2 -2
  71. package/dist/esm/chunks/{chunk.2DAPNN6B.js → chunk.Y2I2VRMF.js} +2 -2
  72. package/dist/esm/chunks/{chunk.ERO7T6WC.js → chunk.Z4HBPQ42.js} +2 -2
  73. package/dist/esm/color-picker/index.js +1 -1
  74. package/dist/esm/date-picker/index.js +1 -1
  75. package/dist/esm/date-range-picker/index.js +1 -1
  76. package/dist/esm/expansion-panel/index.js +1 -1
  77. package/dist/esm/icon/index.js +1 -1
  78. package/dist/esm/icon-button/index.js +1 -1
  79. package/dist/esm/index.js +1 -1
  80. package/dist/esm/keyboard-shortcut/index.js +1 -1
  81. package/dist/esm/list-dropdown/index.js +1 -1
  82. package/dist/esm/menu/index.js +1 -1
  83. package/dist/esm/open-icon/index.js +1 -1
  84. package/dist/esm/paginator/index.js +1 -1
  85. package/dist/esm/profile-card/index.js +1 -1
  86. package/dist/esm/quantity-field/index.js +1 -1
  87. package/dist/esm/select/core/index.js +1 -1
  88. package/dist/esm/select/index.js +1 -1
  89. package/dist/esm/select/option/index.js +1 -1
  90. package/dist/esm/select/select/index.js +1 -1
  91. package/dist/esm/select/select-dropdown/index.js +1 -1
  92. package/dist/esm/split-view/index.js +1 -1
  93. package/dist/esm/split-view/split-view/index.js +1 -1
  94. package/dist/esm/split-view/split-view-panel/index.js +1 -1
  95. package/dist/esm/stepper/index.js +1 -1
  96. package/dist/esm/stepper/step/index.js +1 -1
  97. package/dist/esm/stepper/stepper/index.js +1 -1
  98. package/dist/esm/table/index.js +1 -1
  99. package/dist/esm/tabs/index.js +1 -1
  100. package/dist/esm/tabs/tab-bar/index.js +1 -1
  101. package/dist/esm/time-picker/index.js +1 -1
  102. package/dist/esm/toast/index.js +1 -1
  103. package/esm/autocomplete/autocomplete-constants.d.ts +3 -0
  104. package/esm/autocomplete/autocomplete-foundation.d.ts +3 -1
  105. package/esm/autocomplete/autocomplete-foundation.js +14 -0
  106. package/esm/autocomplete/autocomplete.d.ts +7 -1
  107. package/esm/autocomplete/autocomplete.js +7 -0
  108. package/esm/calendar/calendar-foundation.js +6 -0
  109. package/esm/chip-field/chip-field-adapter.js +1 -1
  110. package/esm/chip-field/chip-field.js +2 -2
  111. package/esm/date-picker/base/base-date-picker-foundation.js +1 -1
  112. package/esm/date-range-picker/date-range-picker-foundation.js +2 -2
  113. package/esm/icon/icon-adapter.d.ts +0 -2
  114. package/esm/icon/icon-adapter.js +4 -5
  115. package/esm/icon/icon-foundation.js +0 -1
  116. package/esm/keyboard-shortcut/keyboard-shortcut-constants.d.ts +1 -0
  117. package/esm/keyboard-shortcut/keyboard-shortcut-foundation.d.ts +6 -0
  118. package/esm/keyboard-shortcut/keyboard-shortcut-foundation.js +9 -0
  119. package/esm/keyboard-shortcut/keyboard-shortcut.d.ts +4 -0
  120. package/esm/keyboard-shortcut/keyboard-shortcut.js +3 -0
  121. package/esm/list-dropdown/list-dropdown-constants.d.ts +4 -0
  122. package/esm/list-dropdown/list-dropdown-utils.js +14 -3
  123. package/esm/paginator/paginator-adapter.d.ts +2 -0
  124. package/esm/paginator/paginator-adapter.js +57 -0
  125. package/esm/select/core/base-select-adapter.js +3 -0
  126. package/esm/select/option/option-constants.d.ts +1 -0
  127. package/esm/select/option/option-constants.js +1 -0
  128. package/esm/select/option/option-foundation.d.ts +13 -0
  129. package/esm/select/option/option-foundation.js +28 -0
  130. package/esm/select/option/option.d.ts +7 -0
  131. package/esm/select/option/option.js +13 -0
  132. package/esm/split-view/split-view-panel/split-view-panel.js +1 -1
  133. package/esm/time-picker/time-picker-foundation.js +3 -3
  134. package/package.json +1 -1
  135. package/styles/chip-field/_base.scss +1 -0
  136. package/styles/chip-field/_selector.scss +2 -2
  137. package/dist/esm/chunks/chunk.A4UN74PV.js +0 -7
  138. package/dist/esm/chunks/chunk.A4UN74PV.js.map +0 -7
  139. package/dist/esm/chunks/chunk.FFVZ6JMP.js +0 -7
  140. package/dist/esm/chunks/chunk.FFVZ6JMP.js.map +0 -7
  141. package/dist/esm/chunks/chunk.IMEODSRH.js +0 -7
  142. package/dist/esm/chunks/chunk.IMEODSRH.js.map +0 -7
  143. package/dist/esm/chunks/chunk.NQZXAC65.js +0 -7
  144. package/dist/esm/chunks/chunk.S2YVOMLW.js +0 -7
  145. package/dist/esm/chunks/chunk.S2YVOMLW.js.map +0 -7
  146. package/dist/esm/chunks/chunk.S7ZU6JKB.js +0 -7
  147. package/dist/esm/chunks/chunk.S7ZU6JKB.js.map +0 -7
  148. package/dist/esm/chunks/chunk.W3GR3VDN.js +0 -12
  149. package/dist/esm/chunks/chunk.XY45YU7I.js +0 -7
  150. package/dist/esm/chunks/chunk.XY45YU7I.js.map +0 -7
  151. /package/dist/esm/chunks/{chunk.S2N5KJ7S.js.map → chunk.23QPY6PU.js.map} +0 -0
  152. /package/dist/esm/chunks/{chunk.65II7E54.js.map → chunk.2NA4LVTZ.js.map} +0 -0
  153. /package/dist/esm/chunks/{chunk.NOO2ZZKZ.js.map → chunk.3DYMGITQ.js.map} +0 -0
  154. /package/dist/esm/chunks/{chunk.UW2HWAVL.js.map → chunk.42QTJZSF.js.map} +0 -0
  155. /package/dist/esm/chunks/{chunk.LLK7YGQW.js.map → chunk.54KXJVRY.js.map} +0 -0
  156. /package/dist/esm/chunks/{chunk.BKAZC53W.js.map → chunk.55HRCXPA.js.map} +0 -0
  157. /package/dist/esm/chunks/{chunk.T6NVM7TN.js.map → chunk.67G7HT5S.js.map} +0 -0
  158. /package/dist/esm/chunks/{chunk.YMBLWKRP.js.map → chunk.7IHNVPY5.js.map} +0 -0
  159. /package/dist/esm/chunks/{chunk.RGAPFLQE.js.map → chunk.7LX3X2DU.js.map} +0 -0
  160. /package/dist/esm/chunks/{chunk.XFAOB6LU.js.map → chunk.7NHFZL6J.js.map} +0 -0
  161. /package/dist/esm/chunks/{chunk.D24CE6KE.js.map → chunk.AZFF62ZK.js.map} +0 -0
  162. /package/dist/esm/chunks/{chunk.IWMA7NUU.js.map → chunk.D43PPRFO.js.map} +0 -0
  163. /package/dist/esm/chunks/{chunk.SATUJNQX.js.map → chunk.ETJMASRZ.js.map} +0 -0
  164. /package/dist/esm/chunks/{chunk.FOLQAW63.js.map → chunk.F7ZYEFH5.js.map} +0 -0
  165. /package/dist/esm/chunks/{chunk.MSFGXRCM.js.map → chunk.IV2GMOPB.js.map} +0 -0
  166. /package/dist/esm/chunks/{chunk.HTH3CEDN.js.map → chunk.J2PHUKSR.js.map} +0 -0
  167. /package/dist/esm/chunks/{chunk.BKNYDA4V.js.map → chunk.JCDIPDQR.js.map} +0 -0
  168. /package/dist/esm/chunks/{chunk.XIZILH2M.js.map → chunk.KNVCEYY2.js.map} +0 -0
  169. /package/dist/esm/chunks/{chunk.SQTM36C3.js.map → chunk.N6XHXCZE.js.map} +0 -0
  170. /package/dist/esm/chunks/{chunk.AB5XER3E.js.map → chunk.NOXJK2U7.js.map} +0 -0
  171. /package/dist/esm/chunks/{chunk.JDLEPQKN.js.map → chunk.OEZZ2NEY.js.map} +0 -0
  172. /package/dist/esm/chunks/{chunk.CG5CVENX.js.map → chunk.RLWX5BFQ.js.map} +0 -0
  173. /package/dist/esm/chunks/{chunk.274MFEUZ.js.map → chunk.SFTWKDQV.js.map} +0 -0
  174. /package/dist/esm/chunks/{chunk.Q5YD3PKM.js.map → chunk.TH7RLTJK.js.map} +0 -0
  175. /package/dist/esm/chunks/{chunk.USXO7YKN.js.map → chunk.TOM77CWD.js.map} +0 -0
  176. /package/dist/esm/chunks/{chunk.W3GR3VDN.js.map → chunk.U773QUMB.js.map} +0 -0
  177. /package/dist/esm/chunks/{chunk.K6LBO4KJ.js.map → chunk.UVL4TIK2.js.map} +0 -0
  178. /package/dist/esm/chunks/{chunk.NX4EECNP.js.map → chunk.XTMXGKUO.js.map} +0 -0
  179. /package/dist/esm/chunks/{chunk.2DAPNN6B.js.map → chunk.Y2I2VRMF.js.map} +0 -0
  180. /package/dist/esm/chunks/{chunk.ERO7T6WC.js.map → chunk.Z4HBPQ42.js.map} +0 -0
@@ -1,7 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2023 Tyler Technologies, Inc.
4
- * License: Apache-2.0
5
- */
6
- import{A as Ne,B as T,C as Ye,D as q,a as r,f as w,g as m,h as De,i as we,j as Ee,l as v,m as ke,n as xe,o as Ce,p as Me,q as Te,r as Oe,s as Se,t as Ae,u as G,v as Be,w as Ie,x as U,y as Le,z as Fe}from"./chunk.44WDRTRR.js";import{a as M,j as ye}from"./chunk.PADHAJLS.js";import{a as E}from"./chunk.YPZNIYQL.js";import{a as ae}from"./chunk.4DAIIJ37.js";import{c as me}from"./chunk.CE6NTUWI.js";import{b as be}from"./chunk.CG5CVENX.js";import{a as se,c as le,r as de,s as ce,v as ue}from"./chunk.MZLPUI6R.js";import{d as ve}from"./chunk.73GVVX4K.js";import{d as fe,l as ge}from"./chunk.S2YVOMLW.js";import{e as b,f as he,g as _e}from"./chunk.U6WGJELL.js";import{a as pe}from"./chunk.BESB4RGK.js";import{a as ne}from"./chunk.5KC43VFL.js";import{a as c}from"./chunk.KTGSZEAG.js";import{a as oe}from"./chunk.QOA2O575.js";import{a as ie,e as re,g as D}from"./chunk.HOXFK44F.js";import{b as Q,d as L,u as F,v as ee,w as te}from"./chunk.4LA6HEA7.js";import{b as A,g as B,i as C,k as g,l as I}from"./chunk.J2M2MXP2.js";import{f as d}from"./chunk.MCIQXNKY.js";function V(o,e,t=0){let a=[],i=O(new Date(e,o,1),t),n=new Date(i);n.setDate(i.getDate()+r.numbers.MONTH_LENGTH);for(let s=i;s<n;s.setDate(s.getDate()+1))a.push(new Date(s));return a}function _t(o,e=0){let t=[],a=O(o,e),i=new Date(a);i.setDate(a.getDate()+7);for(let n=a;n<i;n.setDate(n.getDate()+1))t.push(new Date(n));return t}function O(o,e=0){let t=o.getDay(),a=new Date(o),i=t>=e?t-e:7+(t-e);return a.setDate(o.getDate()-i),a.setHours(0,0,0,0),a}function Re(o,e=0){let t=O(o,e);return t.setDate(t.getDate()+6),t}function ft(o,e){return new Date(e,o,1).getDay()}function N(o=0){let e=[],t=o;do e.push(t),t+=1,t%=7;while(t!==o);return e}function He(o){return b(new Date,o)}function p(o,e,t){return o.getMonth()===e&&o.getFullYear()===t}function Ze(o,e,t){return o>e&&o<t||b(o,e)||b(o,t)}function Y(o){return o.sort((e,t)=>e.getTime()-t.getTime())}function We(o){let e=[];for(let t=0;t<o.length;t+=7){let a=o.slice(t,t+7);e.push(a)}return e}function y(o){if(!o.length)return new E;if(o.length===1)return new E({from:new Date(o[0])});let e=R(o);return new E({from:e[0],to:e[e.length-1]})}function Pe(o){let e=[];return o.from&&e.push(new Date(o.from)),o.to&&e.push(new Date(o.to)),e}function R(o){if(!o.length)return[];if(o.length===1)return[new Date(o[0])];let e=Y(o.slice().map(t=>new Date(t)));return[new Date(e[0]),new Date(e[e.length-1])]}function H(o,e,t){return!e||!t?[]:o.filter(a=>Ze(a,e,t))}function K(o){let e=`${o.length} event${o.length===1?"":"s"}`,t=o.map(a=>a.label).join(", ");return t!=null&&t.length&&(e+=`: ${t}`),e}function Je(o){var a,i;let e=new Date;return((i=(a=o.match(/-?[0-9]*[a-zA-Z]/g))==null?void 0:a.map(n=>n.trim()))!=null?i:[]).forEach(n=>{let s=n.slice(-1),u=+n.slice(0,-1);switch(s){case"y":e.setFullYear(e.getFullYear()+u);break;case"m":e.setMonth(e.getMonth()+u);break;case"w":e.setDate(e.getDate()+u*7);break;case"d":e.setDate(e.getDate()+u);break}}),e.setHours(0,0,0,0),e}function ze(o){let e=o.split(":");if((e==null?void 0:e.length)<2)return{min:1970,max:1970};let t=new Date().getFullYear(),a=e.slice(0,2).map(i=>i.startsWith("-")?t-+i.substring(1):i.startsWith("+")?t+ +i.substring(1):+i);return{min:a[0],max:a[1]}}function Ge(o){var n,s,u,_,f,j,Z,J;let e=(s=(n=o.min)==null?void 0:n.getFullYear())!=null?s:0,t=(_=(u=o.max)==null?void 0:u.getFullYear())!=null?_:0,a=(j=(f=o.min)==null?void 0:f.getMonth())!=null?j:-1,i=(J=(Z=o.max)==null?void 0:Z.getMonth())!=null?J:12;return[...Array(12).keys()].map(x=>{let $e=o.min?o.selectedYear<e||o.selectedYear===e&&x<a:!1,Xe=o.max?o.selectedYear>t||o.selectedYear===t&&x>i:!1;return{value:x,label:w(x,"long",o.locale),selected:x===o.selectedMonth,disabled:$e||Xe}})}function Ue(o){let e=[],t=o.yearInView%r.numbers.YEARS_IN_VIEW,a=o.yearInView-t;for(let i=a;i<a+r.numbers.YEARS_IN_VIEW;i++)e.push({value:i,label:m(i,"numeric",o.locale),selected:i===o.selectedYear,disabled:i<o.min||i>o.max});return e}function qe(o){let e=[];for(let t=o.min;t<=o.max;t++)e.push({value:t,label:m(t,"numeric",o.locale),selected:t===o.selectedYear});return e}function k(o,e){return e.some(t=>b(t,o))}function h(o,e){return!!(e.minDate&&o<e.minDate||e.maxDate&&o>e.maxDate||e.otherMonth||e.disabledDates.some(t=>b(t,o))||e.disabledDaysOfWeek.includes(o.getDay())||e.builder&&e.builder(o))}function S(o,e){return e.findIndex(t=>b(t,o))}function W(o,e,t){let a=e.filter(i=>b(i.date,o));if(t){let i=t(o);i&&(C(i)?a.push(...i):a.push(i))}return a}function Ve(o,e){if(!o.length)return[];let t=new Date(o[0]),a=o[o.length-1],i=[];for(;t<=a;)(!e||!h(t,e))&&i.push(new Date(t)),t.setDate(t.getDate()+1);return i}function $(o){let e=null;return typeof o=="string"&&!o.length&&(o=null),o!=null&&(B(new Date(o))?e=new Date(o):o.length&&(e=Je(o)),e==null||e.setHours(0,0,0,0)),e}function X(o,e,t){return t||!ae(o).length||!!(e==="date"&&T(o))||!!(e!=="date"&&Ye(o,r.ids.MENU))}var P=class extends ne{constructor(t){super(t);this._container=D(t,r.selectors.CALENDAR),this._dateView=D(t,r.selectors.DATE_VIEW),this._dayRow=D(t,r.selectors.DAY_ROW),this._dateGrid=D(t,r.selectors.DATE_GRID),this._menu=D(t,r.selectors.MENU)}toggleContainerAttribute(t,a,i){F(this._container,t,a,i)}registerMonthButtonListener(t){let a=this._container.querySelector(r.selectors.MONTH_BUTTON);a==null||a.addEventListener("click",t)}unregisterMonthButtonListener(t){let a=this._container.querySelector(r.selectors.MONTH_BUTTON);a==null||a.removeEventListener("click",t)}registerYearButtonListener(t){let a=this._container.querySelector(r.selectors.YEAR_BUTTON);a==null||a.addEventListener("click",t)}unregisterYearButtonListener(t){let a=this._container.querySelector(r.selectors.YEAR_BUTTON);a==null||a.removeEventListener("click",t)}registerMenuListener(t){this._menu.addEventListener(M.events.SELECT,t)}unregisterMenuListener(t){this._menu.removeEventListener(M.events.SELECT,t)}registerMenuFocusChangeEventListener(t){this._menu.addEventListener(M.events.FOCUS_CHANGE,t)}unregisterMenuFocusChangeEventListener(t){this._menu.addEventListener(M.events.FOCUS_CHANGE,t)}registerNextButtonListener(t){let a=this._container.querySelector(r.selectors.NEXT_BUTTON);a==null||a.addEventListener("click",t)}unregisterNextButtonListener(t){let a=this._container.querySelector(r.selectors.NEXT_BUTTON);a==null||a.removeEventListener("click",t)}registerPreviousButtonListener(t){let a=this._container.querySelector(r.selectors.PREVIOUS_BUTTON);a==null||a.addEventListener("click",t)}unregisterPreviousButtonListener(t){let a=this._container.querySelector(r.selectors.PREVIOUS_BUTTON);a==null||a.removeEventListener("click",t)}registerClearButtonListener(t){let a=this._container.querySelector(r.selectors.CLEAR_BUTTON);a==null||a.addEventListener("click",t)}unregisterClearButtonListener(t){let a=this._container.querySelector(r.selectors.CLEAR_BUTTON);a==null||a.removeEventListener("click",t)}registerTodayButtonListener(t){let a=this._container.querySelector(r.selectors.TODAY_BUTTON);a==null||a.addEventListener("click",t)}unregisterTodayButtonListener(t){let a=this._container.querySelector(r.selectors.TODAY_BUTTON);a==null||a.removeEventListener("click",t)}registerDateClickListener(t){this._dateGrid.addEventListener("click",t)}unregisterDateClickListener(t){this._dateGrid.removeEventListener("click",t)}registerKeydownListener(t){this._container.addEventListener("keydown",t)}registerHoverListener(t){this._dateGrid.addEventListener("mouseover",t)}unregisterHoverListener(t){this._dateGrid.removeEventListener("mouseover",t)}registerPreventFocusListener(t){this._container.addEventListener("mousedown",t)}unregisterPreventFocusListener(t){this._container.removeEventListener("mousedown",t)}setContainerClass(t,a){this._container.classList.toggle(t,a)}setHeader(){let t=this._container.querySelector(r.selectors.ACCESSIBLE_HEADER);t==null||t.remove();let a=this._container.querySelector(r.selectors.HEADER);a?a.replaceWith(G()):this._container.prepend(G())}removeHeader(){let t=this._container.querySelector(r.selectors.HEADER);t==null||t.remove();let a=this._container.querySelector(r.selectors.ACCESSIBLE_HEADER);a?a.replaceWith(U()):this._container.prepend(U())}setNextButtonDisabled(t){let a=this._container.querySelector(r.selectors.NEXT_BUTTON);a==null||a.toggleAttribute("disabled",t)}setPreviousButtonDisabled(t){let a=this._container.querySelector(r.selectors.PREVIOUS_BUTTON);a==null||a.toggleAttribute("disabled",t)}setNextButtonLabel(t){let a=this._container.querySelector(r.selectors.NEXT_BUTTON);a==null||a.setAttribute("aria-label",t);let i=this._container.querySelector(r.selectors.NEXT_BUTTON_TOOLTIP);i&&(i.innerHTML=t)}setPreviousButtonLabel(t){let a=this._container.querySelector(r.selectors.PREVIOUS_BUTTON);a==null||a.setAttribute("aria-label",t);let i=this._container.querySelector(r.selectors.PREVIOUS_BUTTON_TOOLTIP);i&&(i.innerHTML=t)}setMonthButtonPressed(t){let a=this._container.querySelector(r.selectors.MONTH_BUTTON);a&&(a.setAttribute("aria-pressed",t.toString()),this._container.classList.toggle(r.classes.MONTH_MENU_OPEN,t))}setYearButtonPressed(t){let a=this._container.querySelector(r.selectors.YEAR_BUTTON);a&&(a.setAttribute("aria-pressed",t.toString()),this._container.classList.toggle(r.classes.YEAR_MENU_OPEN,t))}setMonth(t,a){let i=this._container.querySelector(r.selectors.MONTH_BUTTON);if(i){let s=Be(t,a);i.replaceChildren(s[0],s[1]);return}let n=this._container.querySelector(r.selectors.ACCESSIBLE_MONTH);n&&(n.textContent=w(t,"long",a))}setYear(t,a){let i=this._container.querySelector(r.selectors.YEAR_BUTTON);if(i){let s=Ie(t,a);i.replaceChildren(s[0],s[1]);return}let n=this._container.querySelector(r.selectors.ACCESSIBLE_YEAR);n&&(n.textContent=m(t,"numeric",a))}setFooter(){this._container.querySelector(r.selectors.FOOTER)||this._container.appendChild(Le())}removeFooter(){var a;let t=this._container.querySelector(r.selectors.FOOTER);(a=t==null?void 0:t.parentNode)==null||a.removeChild(t)}setClearButton(){let t=this._container.querySelector(r.selectors.FOOTER);if(!t)return;t.querySelector(r.selectors.CLEAR_BUTTON)||t.prepend(Fe())}removeClearButton(){var a;let t=this._container.querySelector(r.selectors.CLEAR_BUTTON);(a=t==null?void 0:t.parentNode)==null||a.removeChild(t)}setTodayButton(){let t=this._container.querySelector(r.selectors.FOOTER);if(!t)return;t.querySelector(r.selectors.TODAY_BUTTON)||t.appendChild(Ne())}removeTodayButton(){var a;let t=this._container.querySelector(r.selectors.TODAY_BUTTON);(a=t==null?void 0:t.parentNode)==null||a.removeChild(t)}setDays(t,a){L(this._dayRow),t.forEach(i=>{let n=xe(i,a==null?void 0:a.locale);a!=null&&a.builder&&(n=a.builder(i,n)),this._dayRow.appendChild(n)})}setDates(t,a){L(this._dateGrid),We(t).forEach((i,n)=>{let s=Ce(i,n,a);this._dateGrid.appendChild(s)})}replaceDate(t,a){let i=this._dateGrid.querySelector(`#${v(t.date)}`);if(i){let n=Me(t,a==null?void 0:a.locale);a!=null&&a.builder?i.replaceWith(a.builder(t,n)):i.replaceWith(n)}}replaceDateWithSpacer(t){let a=this._dateGrid.querySelector(`#${v(t)}`);a==null||a.replaceWith(Te(t))}setDateDisabled(t,a){let i=this._dateGrid.querySelector(`#${v(t)}`);i&&(i.toggleAttribute("disabled",a),i.setAttribute("aria-disabled",a.toString()))}setDateSelected(t,a){let i=this._dateGrid.querySelector(`#${v(t)}`);i&&(i.classList.toggle(r.classes.DATE_SELECTED,a),i.setAttribute("aria-selected",a.toString()))}setWeekend(t,a){let i=this._dateGrid.querySelector(`#${v(t)}`),n=i==null?void 0:i.querySelector(r.selectors.DATE_INNER);!n||ee(n,"part",r.parts.WEEKEND,a)}appendDateAttribute(t,a,i){let n=this._dateGrid.querySelector(`#${v(t)}`);n&&te(n,a,i)}setMultiple(t){this._dateView.setAttribute("aria-multiselectable",t.toString())}setDateViewHidden(t){F(this._dateView,t,"aria-hidden",t.toString()),this.setAllDatesUnfocusable()}setRange(t){this._dateGrid.querySelectorAll(r.selectors.RANGE).forEach(i=>i.classList.remove(r.classes.RANGE)),t&&t.forEach(i=>{let n=this._dateGrid.querySelector(`#${v(i)}`);n==null||n.classList.add(r.classes.RANGE)})}setRangeStart(t){let a=this._dateGrid.querySelector(r.selectors.RANGE_START);if(a==null||a.classList.remove(r.classes.RANGE_START),!t)return;let i=this._dateGrid.querySelector(`#${v(t)}`);i==null||i.classList.add(r.classes.RANGE_START)}setRangeEnd(t){let a=this._dateGrid.querySelector(r.selectors.RANGE_END);if(a==null||a.classList.remove(r.classes.RANGE_END),!t)return;let i=this._dateGrid.querySelector(`#${v(t)}`);i==null||i.classList.add(r.classes.RANGE_END)}setActiveDate(t,a,i){let n=t.toDateString();this._dateGrid.querySelectorAll(r.selectors.DATE).forEach(u=>{let _=u.getAttribute(r.attributes.DATA_DATE)===n;q(u,_?0:-1,a,i)})}setAllDatesUnfocusable(){this._dateGrid.querySelectorAll(r.selectors.DATE).forEach(a=>q(a,-1,!1,!0))}setDateDescription(t,a){let i=this._dateGrid.querySelector(`#${v(t)}`);!i||F(i,!!a,a)}setDateTooltip(t,a){let i=this._dateGrid.querySelector(`#${v(t)}`);if(!i)return;let n=i.querySelector(r.selectors.TOOLTIP);n?a!=null&&a.length?n.textContent=a:n.remove():a!=null&&a.length&&i.prepend(Ae(a))}setEventWrapperOnDate(t,a){let i=this._dateGrid.querySelector(`#${v(t)}`);if(!i)return;let n=i.querySelector(r.selectors.EVENT_WRAPPER);n?a?L(n):n.remove():a&&i.appendChild(Oe(t))}setEvent(t,a){let i=this._dateGrid.querySelector(`#${ke(t.date)}`);i==null||i.appendChild(Se(t,a))}openMenuAsGrid(t,a){this._menu.openAsGrid(t,a)}openMenuAsList(t,a){this._menu.openAsList(t,a)}closeMenu(){this._menu.close()}setMenuAnimation(t){this._menu.animationType=t}animateIntoSelectionMenu(t,a,i){this._menu.animateIn(t,a,i)}moveMenuFocusDown(){this._menu.moveFocusDown()}moveMenuFocusBackward(){return this._menu.moveFocusBackward()}moveMenuFocusForward(){return this._menu.moveFocusForward()}moveMenuFocusUp(){this._menu.moveFocusUp()}selectFocusedMenuItem(){this._menu.selectFocusedItem()}setPreventFocusOnMenu(t){this._menu.preventFocus=t}};var z=class{constructor(e){this._adapter=e;this._dates=[];this._month=new Date().getMonth();this._year=new Date().getFullYear();this._showToday=!0;this._showOtherMonths=!1;this._fixedHeight=!1;this._events=[];this._value=[];this._mode="single";this._readonly=!1;this._selectionFollowsMonth=!1;this._rangeSelectionState="none";this._allowSingleDateRange=!0;this._min=null;this._max=null;this._minAttribute=null;this._maxAttribute=null;this._disabledDates=[];this._disabledDaysOfWeek=[];this._constrainToEnabled=!0;this._showHeader=!0;this._clearButton=!1;this._todayButton=!1;this._view="date";this._menuAnimation="scale";this._menuYear=null;this._listYears=!0;this._menuIncludedYear=new Date().getFullYear();this._menuYearsInView=null;this._yearRange=`-${r.numbers.DEFAULT_MIN_YEAR_OFFSET}:+${r.numbers.DEFAULT_MAX_YEAR_OFFSET}`;this._weekendDays=null;this._localeFirstDayOfWeek=0;this._localeWeekendDays=[];this._rtl=!1;this._preventFocus=!1;this._isInitialized=!1;this._clearButtonListener=()=>this._onClearClicked(),this._dateClickListener=t=>this._onDateClick(t),this._keydownListener=t=>this._onKeydown(t),this._hoverListener=t=>this._onHover(t),this._menuFocusChangeListener=t=>this._onMenuFocusChange(t),this._menuListener=t=>this._onMenuSelect(t),this._monthButtonListener=()=>this._onMonthButtonClicked(),this._nextButtonListener=()=>this._onNextButtonClicked(),this._preventFocusListener=t=>t.preventDefault(),this._previousButtonListener=()=>this._onPreviousButtonClicked(),this._todayButtonListener=()=>this._onTodayClicked(),this._yearButtonListener=()=>this._onYearButtonClicked()}initialize(){this._adapter.registerMenuListener(this._menuListener),this._adapter.registerMenuFocusChangeEventListener(this._menuFocusChangeListener),this._adapter.registerKeydownListener(this._keydownListener),this._applyMin(),this._applyMax(),this._applyFixedHeight(),this._applyReadOnly(),this._applyShowToday(),this._applyPreventFocus(),this._applyShowHeader(),this._applyMonth(),this._applyYear(),this._applyListYears(),this._applyMenuAnimation(),this._applyLocale(),this._applyClearButton(),this._applyTodayButton(),this._applyFirstDayOfWeek(),this._applyShowOtherMonths(),this._createDateView(),this._applyConstrainToEnabled(),this._applyAllowSingleDateRange(),this._applyMode(),this._applyYearRange(),this._applySelectionFollowsMonth(),this._isInitialized=!0}disconnect(){this._isInitialized=!1}_onMonthButtonClicked(){this._toggleMonthMenu()}_toggleMonthMenu(e=!1){this._view!=="month"?this._openMonthMenu(e):this._closeMenu(!1,e)}_onYearButtonClicked(){this._toggleYearMenu()}_toggleYearMenu(e=!1){this._view!=="year"?this._openYearMenu(e):this._closeMenu(!1,e)}_onMenuFocusChange(e){this._emitFocusChangeEvent(e.detail)}_onMenuSelect(e){switch(this._view){case"month":this._onMonthSelected(e.detail);break;case"year":this._onYearSelected(e.detail);break}}_onNextButtonClicked(){this._view==="date"?(this._goToNextMonth(),this._setFocusInMonth(1,!1)):this._view==="month"?this._goToNextYear():this._goToNextSetOfYears()}_onPreviousButtonClicked(){this._view==="date"?(this._goToPreviousMonth(),this._setFocusInMonth(2,!1)):this._view==="month"?this._goToPreviousYear():this._goToPreviousSetOfYears()}_onHover(e){if(this._mode==="range"){let t=T(e,!1);if(!t)return;let a=new Date(Date.parse(t.getAttribute(r.attributes.DATA_DATE)));p(a,this._month,this._year)&&this._setRangePreview(a)}}_onDateClick(e){let t=T(e,!1);if(!t)return;let a=t.getAttribute(r.attributes.DATA_DATE);if(!a)return;let i=new Date(a);p(i,this._month,this._year)&&(this._focusedDate=i,this._beforeDateSelected(i)),this._resumeTabindexOnDate(!1)}_onKeydown(e){switch(e.key){case"ArrowLeft":case"ArrowRight":case"ArrowUp":case"ArrowDown":this._handleArrowKey(e);break;case"Home":case"End":case"PageUp":case"PageDown":this._handleNavigationKey(e);break;case" ":case"Enter":this._handleEnterOrSpaceKey(e);break;case"m":case"M":e.preventDefault(),this._toggleMonthMenu(!0);break;case"y":case"Y":e.preventDefault(),this._toggleYearMenu(!0);break;case"t":case"T":case"n":case"N":e.preventDefault(),this.today();break;case"Delete":case"Backspace":e.preventDefault(),this._deselectAllDates();break;case"Escape":this._view!=="date"&&(e.preventDefault(),e.stopPropagation(),this._closeMenu(!1,!0));break}}_handleArrowKey(e){if(!X(e,this._view,this._preventFocus))return;e.preventDefault();let t;switch(e.key){case"ArrowLeft":t=this._rtl?"next":"previous";break;case"ArrowRight":t=this._rtl?"previous":"next";break;case"ArrowUp":t="up";break;case"ArrowDown":t="down";break}switch(t){case"previous":this._view==="date"?this._moveFocusToPreviousDate(!0):!this._adapter.moveMenuFocusBackward()&&this._canGoBackward()&&(this._view==="month"?this._goToPreviousYear(!0):this._goToPreviousSetOfYears(!0));break;case"next":this._view==="date"?this._moveFocusToNextDate(!0):!this._adapter.moveMenuFocusForward()&&this._canGoForward()&&(this._view==="month"?this._goToNextYear(!0):this._goToNextSetOfYears(!0));break;case"up":this._view==="date"?this._moveFocusToPreviousWeek(!0):this._adapter.moveMenuFocusUp();break;case"down":this._view==="date"?this._moveFocusToNextWeek(!0):this._adapter.moveMenuFocusDown();break}this._mode==="range"&&this._setRangePreview(this._focusedDate)}_handleNavigationKey(e){switch(e.preventDefault(),e.key){case"Home":if(this._view!=="date")break;e.shiftKey?this._moveFocusToFirstOfMonth(!0):this._moveFocusToFirstOfWeek(!0);break;case"End":if(this._view!=="date")break;e.shiftKey?this._moveFocusToLastOfMonth(!0):this._moveFocusToLastOfWeek(!0);break;case"PageUp":this._view==="date"?e.shiftKey?this._moveFocusToPreviousYear(!0):this._moveFocusToPreviousMonth(!0):this._view==="month"&&!e.shiftKey&&this._canGoBackward()?this._goToPreviousYear(!0):this._view==="year"&&!e.shiftKey&&this._canGoBackward()&&this._goToPreviousSetOfYears(!0);break;case"PageDown":this._view==="date"?e.shiftKey?this._moveFocusToNextYear(!0):this._moveFocusToNextMonth(!0):this._view==="month"&&!e.shiftKey&&this._canGoForward()?this._goToNextYear(!0):this._view==="year"&&!e.shiftKey&&this._canGoForward()&&this._goToNextSetOfYears(!0);break}}_handleEnterOrSpaceKey(e){if(!!X(e,this._view,this._preventFocus))switch(e.preventDefault(),this._view){case"date":if(this._readonly)break;this._setSelectOnFocusedDate();break;case"month":case"year":this._adapter.selectFocusedMenuItem();break}}_onMonthSelected(e){this._year!==this._menuYear&&this._menuYear!=null&&(this._year=this._menuYear,this._setYear()),this._month=e,this._setMonth(!0),this._trySetValueMonthAndYear(this._month,this._year,"month"),this._closeMenu(!0)}_onYearSelected(e){this._year=e,this._setYear(!0),this._trySetValueMonthAndYear(this._month,this._year,"year"),this._closeMenu(!0)}_onClearClicked(){this.clear()}_onTodayClicked(){this.today()}_trySetValueMonthAndYear(e,t,a="date"){var s;if(!this.selectionFollowsMonth||this._mode!=="single"||!((s=this._value)!=null&&s.length))return;let i=new Date(this._value[0]),n=_e(e,t);i.setDate(Math.min(i.getDate(),n)),i.setFullYear(t),i.setMonth(e),!h(i,this._getDisabledDateParams())&&this._beforeDateSelected(i,a)}_setInitialDateFocus(e=!1){let t=new Date;if(p(t,this._month,this._year)&&!h(t,this._getDisabledDateParams(!1))){this._setFocusedDate(t,e);return}let a=new Date(this._year,this._month,1);this._setFocusedDate(this._getNextEnabledDate(a,1,!1,!0,!0),e)}_resumeTabindexOnDate(e){return p(this._focusedDate,this._month,this._year)?(this._adapter.setActiveDate(this._focusedDate,e,this._preventFocus),this._emitFocusChangeEvent(this._focusedDate),!0):!1}_moveFocusToNextDate(e){this._setFocusedDate(this._getNextEnabledDate(this._focusedDate),e)}_moveFocusToPreviousDate(e){this._setFocusedDate(this._getPreviousEnabledDate(this._focusedDate),e)}_moveFocusToNextWeek(e){this._setFocusedDate(this._getNextEnabledDate(this._focusedDate,7,!0),e)}_moveFocusToPreviousWeek(e){this._setFocusedDate(this._getPreviousEnabledDate(this._focusedDate,7,!0),e)}_moveFocusToFirstOfWeek(e){this._setFocusedDate(this._getFirstEnabledDayOfWeek(this._focusedDate,!0),e)}_moveFocusToLastOfWeek(e){this._setFocusedDate(this._getLastEnabledDayOfWeek(this._focusedDate,!0),e)}_moveFocusToFirstOfMonth(e){let t=new Date(this._year,this._month,1);this._setFocusedDate(this._getNextEnabledDate(t,1,!1,!0),e)}_moveFocusToLastOfMonth(e){let t=new Date(this._year,this._month+1,0);this._setFocusedDate(this._getPreviousEnabledDate(t,1,!1,!0),e)}_moveFocusToNextMonth(e){let t=S(this._focusedDate,this._dates),a=(this._month+1)%12,i=a===0?this._year+1:this._year;this._setFocusedDate(this._getDateAtIndexInMonth(t,a,i),e)}_moveFocusToPreviousMonth(e){let t=S(this._focusedDate,this._dates),a=this._month===0?11:this._month-1,i=a===11?this._year-1:this._year;this._setFocusedDate(this._getDateAtIndexInMonth(t,a,i),e)}_moveFocusToNextYear(e){let t=S(this._focusedDate,this._dates);this._setFocusedDate(this._getDateAtIndexInMonth(t,this._month,this._year+1),e)}_moveFocusToPreviousYear(e){let t=S(this._focusedDate,this._dates);this._setFocusedDate(this._getDateAtIndexInMonth(t,this._month,this._year-1),e)}_setFocusInMonth(e,t){switch(e){case 1:this._moveFocusToFirstOfMonth(t);break;case 2:this._moveFocusToLastOfMonth(t);break;default:this._resumeTabindexOnDate(t);break}}_setSelectOnFocusedDate(){p(this._focusedDate,this._month,this._year)&&!h(this._focusedDate,this._getDisabledDateParams(!1))&&this._beforeDateSelected(this._focusedDate)}_emitFocusChangeEvent(e){let t={type:this._view,value:e};switch(this._view){case"date":t.selected=k(e,this._value),t.text=e.toLocaleDateString(this.locale,{month:"long",day:"2-digit",year:"numeric"});break;case"month":t.selected=this._month===e,t.text=w(e,"long");break;case"year":t.selected=this._year===e,t.text=m(e,"numeric");break}this._adapter.emitHostEvent(r.events.FOCUS_CHANGE,t)}_getPreviousEnabledDate(e,t=1,a=!1,i=!1,n=!1){let s=this._getDisabledDateParams(),u=new Date(e);if(i&&!h(u,s))return u;let _=e.getMonth(),f=!1;do u.setDate(u.getDate()-t),a&&(t=1),(n&&u.getMonth()!==_||this._min&&u<this._min)&&(f=!0);while(!f&&h(u,s));return f?null:u}_getNextEnabledDate(e,t=1,a=!1,i=!1,n=!1){let s=this._getDisabledDateParams(),u=new Date(e);if(i&&!h(u,s))return u;let _=e.getMonth(),f=!1;do u.setDate(u.getDate()+t),a&&(t=1),(n&&u.getMonth()!==_||this._max&&u>this._max)&&(f=!0);while(!f&&h(u,s));return f?null:u}_getClosestEnabledDate(e,t=!1,a=!1){if(this._min&&e<this._min)return this._getFirstEnabledDate();if(this._max&&e>this._max)return this._getLastEnabledDate();let i=this._getDisabledDateParams();if(a&&!h(e,i))return new Date(e);let n=e.getDate(),s,u=!1,_=!1,f=1;for(;!u||!_;){if(!u){if(s=new Date(e),s.setDate(n+f),u=!p(s,e.getMonth(),e.getFullYear()),!u&&!h(s,i))return s;this._max&&s>this._max&&(u=!0)}if(!_){if(s=new Date(e),s.setDate(n-f),_=!p(s,e.getMonth(),e.getFullYear()),!_&&!h(s,i))return s;this._min&&s<this._min&&(_=!0)}f+=1}return null}_getFirstEnabledDayOfWeek(e,t=!0){let a=O(e),i=this._getDisabledDateParams(t?a.getMonth()!==e.getMonth()||a.getFullYear()!==e.getFullYear():void 0),n=0;for(;n<7&&h(a,i);)a.setDate(a.getDate()+1),i.otherMonth=t?a.getMonth()!==e.getMonth()||a.getFullYear()!==e.getFullYear():void 0,n+=1;return n<7?a:null}_getLastEnabledDayOfWeek(e,t=!0){let a=Re(e),i=this._getDisabledDateParams(t?a.getMonth()!==e.getMonth()||a.getFullYear()!==e.getFullYear():void 0),n=0;for(;n<7&&h(a,i);)a.setDate(a.getDate()-1),i.otherMonth=t?a.getMonth()!==e.getMonth()||a.getFullYear()!==e.getFullYear():void 0,n+=1;return n<7?a:null}_getDateAtIndexInMonth(e,t,a){var n;let i=V(t,a,(n=this._firstDayOfWeek)!=null?n:this._localeFirstDayOfWeek);return this._min&&i[e]<this._min?this._getFirstEnabledDate():this._max&&i[e]>this._max?this._getLastEnabledDate():p(i[e],t,a)?this._getClosestEnabledDate(i[e],!0):e<20?this._getNextEnabledDate(i[e],7,!0):this._getPreviousEnabledDate(i[e],7,!0)}_getFirstEnabledDate(){return this._min?this._getNextEnabledDate(this._min,1,!1,!0):null}_getLastEnabledDate(){return this._max?this._getPreviousEnabledDate(this._max,1,!1,!0):null}_setFocusedDate(e,t){if(!e)return;let a=this._month!==e.getMonth(),i=this._year!==e.getFullYear();(a||i)&&(a&&(this._month=e.getMonth(),this._setMonth()),i&&(this._year=e.getFullYear(),this._setYear()),this._resetDateGrid()),this._focusedDate=e,this._adapter.setActiveDate(this._focusedDate,t,this._preventFocus),this._emitFocusChangeEvent(this._focusedDate)}_getDisabledDateParams(e){return{builder:this._disabledDateBuilder,disabledDates:this._disabledDates,disabledDaysOfWeek:this._disabledDaysOfWeek,maxDate:this._max,minDate:this._min,otherMonth:e}}_createDateView(){this._resetDateGrid(),(!this._focusedDate||!this._resumeTabindexOnDate(!1))&&this._setInitialDateFocus()}_openMonthMenu(e=!1){this._view="month",this._menuYear==null&&(this._menuYear=this._year),this._showHeader&&(this._setNavButtonLabels(),this._adapter.setMonthButtonPressed(!0),this._adapter.setYearButtonPressed(!1)),this._adapter.openMenuAsGrid(this._getMonthsForMenu(),e),this._adapter.setDateViewHidden(!0),this._setNavigationButtonStates(),this._adapter.emitHostEvent(r.events.VIEW_CHANGE,this._view)}_openYearMenu(e=!1){var t;this._view="year",this._menuIncludedYear=(t=this._menuYear)!=null?t:this._year,this._showHeader&&(this._setNavButtonLabels(),this._adapter.setMonthButtonPressed(!1),this._adapter.setYearButtonPressed(!0)),this._listYears?this._adapter.openMenuAsList(this._getYearsForMenu(),e):this._adapter.openMenuAsGrid(this._getYearsForMenu(),e),this._adapter.setDateViewHidden(!0),this._setNavigationButtonStates(),this._adapter.emitHostEvent(r.events.VIEW_CHANGE,this._view)}_getMonthsForMenu(){var t;let e={locale:this._locale,max:this._max,min:this._min,selectedMonth:this._year===this._menuYear?this._month:-1,selectedYear:(t=this._menuYear)!=null?t:this._year};return Ge(e)}_getYearsForMenu(){let e=this._min?this._min.getFullYear():this._minYear,t=this._max?this._max.getFullYear():this._maxYear,a={locale:this._locale,max:t,min:e,selectedYear:this._year,yearInView:this._menuIncludedYear},i=this._listYears?qe(a):Ue(a);return this._menuYearsInView={min:i[0].value,max:i[i.length-1].value},i}_closeMenu(e,t=!1){this._view="date",this._menuYear=null,this._adapter.closeMenu(),this._adapter.setDateViewHidden(!1),this._adapter.setYear(this._year,this._locale),e&&this._resetDateGrid(),this._showHeader&&(this._setNavButtonLabels(),this._setNavigationButtonStates(),this._adapter.setMonthButtonPressed(!1),this._adapter.setYearButtonPressed(!1)),this._resumeTabindexOnDate(t)||this._setInitialDateFocus(t),this._adapter.emitHostEvent(r.events.VIEW_CHANGE,this._view)}_setNavButtonLabels(){switch(this._view){case"date":this._adapter.setPreviousButtonLabel("Previous month"),this._adapter.setNextButtonLabel("Next month");break;case"month":this._adapter.setPreviousButtonLabel("Previous year"),this._adapter.setNextButtonLabel("Next year");break;case"year":this._adapter.setPreviousButtonLabel("Previous years"),this._adapter.setNextButtonLabel("Next years");break}}_resetDateGrid(){var t;this._dates=V(this._month,this._year,(t=this._firstDayOfWeek)!=null?t:this._localeFirstDayOfWeek);let e=this._dates.map(a=>this._getDateConfig(a));this._adapter.setDates(e,{builder:this._dateBuilder,locale:this._locale,showOtherMonths:this._showOtherMonths}),this._setNavigationButtonStates(),this._applyWeekendDays(),this._applyEvents(),this._mode==="range"&&(this._adapter.setRangeStart(this._value[0]),this._setRangePreview())}_getDateConfig(e){let t=p(e,this._month,this._year);return{date:new Date(e),selected:k(e,this._value),today:He(e),thisMonth:t,disabled:h(e,this._getDisabledDateParams(!t))}}_getCalendarDate(e){return{date:new Date(e),selected:k(e,this._value),events:W(e,this._events,this._eventBuilder)}}_setEventsOnDate(e){var i;if(!this._showOtherMonths&&!p(e,this._month,this._year)){this._adapter.setEventWrapperOnDate(e,!1);return}let t=W(e,this._events,this._eventBuilder);this._adapter.setEventWrapperOnDate(e,!!t.length),t.forEach((n,s)=>{s>2||this._adapter.setEvent(n,s===2&&t.length>3)});let a=t.length?K(t):"";this._tooltipBuilder&&(a=(i=this._tooltipBuilder(this._getCalendarDate(e),a))!=null?i:""),this._adapter.setDateTooltip(e,a)}_beforeDateSelected(e,t="date"){this._dateSelectCallback?Promise.resolve(this._dateSelectCallback(this._getCalendarDate(e))).then(a=>{a&&this._onDateSelected(e,void 0,t)}):this._onDateSelected(e,void 0,t)}_onDateSelected(e,t,a="date"){if(this._mode==="range"&&this._emitRangeSelectionEvent(e)){this._applyRangeSelection(e),this._rangeSelectionStore=void 0;return}let i=k(e,this._value),n={date:new Date(e),selected:i,type:a};!this._adapter.emitHostEvent(r.events.DATE_SELECT,n,!0,!0)||(this._rangeSelectionStore=void 0,this._mode==="single"?i&&!t||t===!1?this._deselectDate(e):(t===void 0||t===!0)&&(this._value.length&&this._deselectDate(this._value[0]),this._selectDate(e)):i&&!t||t===!1?this._deselectDate(e):(t===void 0||t===!0)&&this._selectDate(e),Y(this._value))}_emitRangeSelectionEvent(e){let t={date:new Date(e),selected:k(e,this._value),type:"date"};switch(this._rangeSelectionState){case"none":case"to":t.range=y([e]),t.rangeSelectionState="from";break;case"from":b(e,this._value[0])?this._allowSingleDateRange?(t.range=y([this._value[0],e]),t.rangeSelectionState="to"):(t.range=y([]),t.rangeSelectionState="none"):e<this._value[0]?(t.range=y([e]),t.rangeSelectionState="from"):(t.range=y([this._value[0],e]),t.rangeSelectionState="to");break}return this._adapter.emitHostEvent(r.events.DATE_SELECT,t,!0,!0)}_applyRangeSelection(e){switch(this._rangeSelectionState){case"none":case"to":this._deselectAllDates(),this._selectDate(e),this._adapter.setRange(null),this._adapter.setRangeStart(e),this._rangeSelectionState="from";break;case"from":b(e,this._value[0])?this._allowSingleDateRange?(this._value.push(e),this._rangeSelectionState="to"):(this._deselectDate(e),this._rangeSelectionState="none"):e<this._value[0]?(this._deselectDate(this._value[0]),this._selectDate(e),this._adapter.setRangeStart(e)):(this._selectDate(e),this._setRangePreview(e),this._rangeSelectionState="to");break}}_setRangePreview(e){switch(this._rangeSelectionState){case"from":if(!e)return;e<this._value[0]?this._adapter.setRange(null):(this._adapter.setRange(H(this._dates,this._value[0],e)),this._adapter.setRangeEnd(e));break;case"to":this._adapter.setRange(H(this._dates,this._value[0],this._value[1])),this._adapter.setRangeEnd(this._value[1]);break}}_clearRangePreview(){this._adapter.setRange(null),this._adapter.setRangeStart(null),this._adapter.setRangeEnd(null)}_selectDate(e){this._value.push(e),this._focusedDate=e,this._adapter.setDateSelected(e,!0)}_deselectDate(e){let t=this._value.findIndex(a=>b(a,e));t>-1&&this._value.splice(t,1),this._adapter.setDateSelected(e,!1)}_deselectAllDates(){this._value.forEach(e=>this._adapter.setDateSelected(e,!1)),this._clearRangePreview(),this._value=[]}_goToDate(e,t){let a=e.getFullYear(),i=e.getMonth();this._focusedDate=e,this._year!==a||this._month!==i?(this._month=i,this._setMonth(),this._year=a,this._setYear(),this._view!=="date"?this._closeMenu(!1,t):this._resetDateGrid()):this._view!=="date"&&this._closeMenu(!1,t),this._adapter.setActiveDate(e,t,this._preventFocus),this._emitFocusChangeEvent(this._focusedDate)}_goToNextMonth(){this._month<11?this._month+=1:(this._month=0,this._year+=1,this._setYear()),this._setMonth(),this._resetDateGrid()}_goToPreviousMonth(){this._month>0?this._month-=1:(this._month=11,this._year-=1,this._setYear()),this._setMonth(),this._resetDateGrid()}_goToNextYear(e=!1){this._view==="month"?(this._menuYear&&(this._menuYear+=1,this._setMenuYear()),this._adapter.animateIntoSelectionMenu(this._getMonthsForMenu(),this._rtl?"left":"right",e)):(this._year+=1,this._setYear(),this._resetDateGrid())}_goToPreviousYear(e=!1){this._view==="month"?(this._menuYear&&(this._menuYear-=1,this._setMenuYear()),this._adapter.animateIntoSelectionMenu(this._getMonthsForMenu(),this._rtl?"right":"left",e)):(this._year-=1,this._setYear(),this._resetDateGrid())}_goToNextSetOfYears(e=!1){this._menuIncludedYear+=r.numbers.YEARS_IN_VIEW,this._adapter.animateIntoSelectionMenu(this._getYearsForMenu(),this._rtl?"left":"right",e),this._setNavigationButtonStates()}_goToPreviousSetOfYears(e=!1){this._menuIncludedYear-=r.numbers.YEARS_IN_VIEW,this._adapter.animateIntoSelectionMenu(this._getYearsForMenu(),this._rtl?"right":"left",e),this._setNavigationButtonStates()}_canGoBackward(e){var t;if(!e&&!this._constrainToEnabled)return!0;switch(this._view){case"date":return!this._min||this._min<new Date(this._year,this._month,1);case"month":let a=(t=this._min)==null?void 0:t.getFullYear();return this._menuYear!=null&&(a==null||a<this._menuYear);case"year":return!!this._menuYearsInView&&this._minYear<this._menuYearsInView.min;default:return!1}}_canGoForward(e){var t;if(!e&&!this._constrainToEnabled)return!0;switch(this._view){case"date":return!this._max||this._max>he(this._month,this._year);case"month":let a=(t=this._max)==null?void 0:t.getFullYear();return this._menuYear!=null&&(a==null||a>this._menuYear);case"year":return!!this._menuYearsInView&&this._maxYear>this._menuYearsInView.max;default:return!1}}_setNavigationButtonStates(){if(!!this._showHeader){if(!this._constrainToEnabled){this._adapter.setPreviousButtonDisabled(!1),this._adapter.setNextButtonDisabled(!1);return}this._adapter.setPreviousButtonDisabled(!this._canGoBackward()),this._adapter.setNextButtonDisabled(!this._canGoForward())}}_setMonth(e){this._adapter.setMonth(this._month,this._locale),this._adapter.setHostAttribute(r.attributes.MONTH,this._month.toString()),this._isInitialized&&(this._setNavigationButtonStates(),this._adapter.emitHostEvent(r.events.MONTH_CHANGE,{month:this._month,userSelected:e!=null?e:!1,year:this._year}))}_setYear(e){this._adapter.setYear(this._year,this._locale),this._adapter.setHostAttribute(r.attributes.YEAR,this._year.toString()),this._isInitialized&&(this._setNavigationButtonStates(),this._adapter.emitHostEvent(r.events.MONTH_CHANGE,{month:this._month,userSelected:e!=null?e:!1,year:this._year}))}_setMenuYear(){this._menuYear!=null&&(this._setNavigationButtonStates(),this._adapter.setYear(this._menuYear,this._locale))}_applyAllowSingleDateRange(){this._adapter.toggleHostAttribute(r.attributes.ALLOW_SINGLE_DATE_RANGE,this._allowSingleDateRange),this._adapter.setContainerClass(r.classes.ALLOW_SINGLE_DATE_RANGE,this._allowSingleDateRange)}_applyClearButton(){this._adapter.toggleHostAttribute(r.attributes.CLEAR_BUTTON,!0,this._clearButton.toString()),this._clearButton?(this._adapter.setFooter(),this._adapter.setClearButton(),this._adapter.registerClearButtonListener(this._clearButtonListener)):(this._adapter.unregisterClearButtonListener(this._clearButtonListener),this._adapter.removeClearButton(),this._todayButton||this._adapter.removeFooter())}_applyConstrainToEnabled(){this._adapter.toggleHostAttribute(r.attributes.CONSTRAIN_TO_ENABLED,!0,this._constrainToEnabled.toString()),this._isInitialized&&this._setNavigationButtonStates()}_applyDateBuilder(){this._view==="date"&&(this._resetDateGrid(),this._resumeTabindexOnDate(!1))}_applyDayBuilder(){var e;this._adapter.setDays(N((e=this._firstDayOfWeek)!=null?e:this._localeFirstDayOfWeek),{builder:this._dayBuilder,locale:this._locale})}_applyDisabledDates(){switch(this._view){case"date":this._dates.forEach(e=>{let t=p(e,this._month,this._year),a=this._getDisabledDateParams(!t);this._adapter.setDateDisabled(e,h(e,a))});break;case"month":this._openMonthMenu();break;case"year":this._openYearMenu();break}this._setNavigationButtonStates()}_applyEvents(){this._view==="date"&&this._dates.forEach(e=>{this._setEventsOnDate(e)})}_applyFirstDayOfWeek(){var e,t;this._adapter.toggleHostAttribute(r.attributes.FIRST_DAY_OF_WEEK,A(this._firstDayOfWeek),((e=this._firstDayOfWeek)!=null?e:0).toString()),this._adapter.setDays(N((t=this._firstDayOfWeek)!=null?t:this._localeFirstDayOfWeek),{builder:this._dayBuilder,locale:this._locale}),this._isInitialized&&this._view==="date"&&(this._resetDateGrid(),this._resumeTabindexOnDate(!1))}_applyFixedHeight(){this._adapter.toggleHostAttribute(r.attributes.FIXED_HEIGHT,this._fixedHeight),this._adapter.setContainerClass(r.classes.FIXED_HEIGHT,this._fixedHeight)}_applyListYears(){this._adapter.toggleHostAttribute(r.attributes.LIST_YEARS,this._listYears),this._isInitialized&&this._view==="year"&&this._openYearMenu()}_applyLocale(){var e;if(this._adapter.toggleHostAttribute(r.attributes.LOCALE,!!this._locale,this._locale),this._adapter.toggleContainerAttribute(!!this._locale,"lang",this._locale),this._localeFirstDayOfWeek=De(this._locale),this._localeWeekendDays=we(this._locale),this._applyRtl(),this._isInitialized)switch(this._adapter.setMonth(this._month,this._locale),this._adapter.setYear(this._year,this._locale),this._view){case"date":this._adapter.setDays(N((e=this._firstDayOfWeek)!=null?e:this._localeFirstDayOfWeek),{builder:this._dayBuilder,locale:this._locale}),this._resetDateGrid(),this._resumeTabindexOnDate(!1);break;case"month":this._openMonthMenu();break;case"year":this._openYearMenu();break}}_applyMenuAnimation(){this._adapter.setHostAttribute(r.attributes.MENU_ANIMATION,this._menuAnimation),this._adapter.setMenuAnimation(this._menuAnimation)}_applyMin(){if(this._adapter.toggleHostAttribute(r.attributes.MIN,!!this._minAttribute,this._minAttribute),this._isInitialized&&(this._applyDisabledDates(),this._min&&this._min>this._focusedDate)){let e=this._getFirstEnabledDate();e&&this._goToDate(e,!1)}}_applyMax(){if(this._adapter.toggleHostAttribute(r.attributes.MAX,!!this._maxAttribute,this._maxAttribute),this._isInitialized&&(this._applyDisabledDates(),this._max&&this._max<this._focusedDate)){let e=this._getLastEnabledDate();e&&this._goToDate(e,!1)}}_applyMode(e){switch(this._mode){case"single":this._applySingleMode();break;case"multiple":this._applyMultipleMode(e==="range");break;case"range":this._applyRangeMode();break}this._mode!=="range"&&(this._rangeSelectionState="none",this._adapter.unregisterHoverListener(this._hoverListener),this._clearRangePreview())}_applySingleMode(){if(this._adapter.setHostAttribute(r.attributes.MODE,"single"),this._adapter.setMultiple(!1),this._value.length>1)for(let e=this._value.length-2;e>=0;e-=1)this._deselectDate(this._value[e])}_applyMultipleMode(e=!1){if(this._adapter.setHostAttribute(r.attributes.MODE,"multiple"),this._adapter.setMultiple(!0),e){let t=Ve(this._value,this._getDisabledDateParams());this._deselectAllDates(),t.forEach(a=>{this._selectDate(a)})}}_applyRangeMode(){var t,a;this._adapter.setHostAttribute(r.attributes.MODE,"range"),this._adapter.setMultiple(!1);let e=R(this._value);this._deselectAllDates(),e.forEach(i=>{this._selectDate(i)}),this._rangeSelectionState=this._value[0]?this._value[1]?"to":"from":"none",this._adapter.registerHoverListener(this._hoverListener),this._adapter.setRange(H(this._dates,this._value[0],this._value[1])),this._adapter.setRangeStart((t=this._value[0])!=null?t:null),this._adapter.setRangeEnd((a=this._value[1])!=null?a:null)}_applyMonth(){this._setMonth(),this._isInitialized&&this._view==="date"&&(this._resetDateGrid(),this._moveFocusToFirstOfMonth(!1))}_applyPreventFocus(){this._adapter.toggleHostAttribute(r.attributes.PREVENT_FOCUS,this._preventFocus),this._adapter.setContainerClass(r.classes.PREVENT_FOCUS,this._preventFocus),this._adapter.setPreventFocusOnMenu(this._preventFocus),this._preventFocus?this._adapter.registerPreventFocusListener(this._preventFocusListener):this._adapter.unregisterPreventFocusListener(this._preventFocusListener),this._isInitialized&&this._view==="date"&&this._resumeTabindexOnDate(!1)}_applyReadOnly(){this._adapter.toggleHostAttribute(r.attributes.READONLY,this._readonly),this._adapter.toggleHostAttribute("aria-readonly",this._readonly,"true"),this._adapter.setContainerClass(r.classes.READONLY,this._readonly),this._readonly?(this._adapter.unregisterDateClickListener(this._dateClickListener),this._adapter.unregisterHoverListener(this._hoverListener)):(this._adapter.registerDateClickListener(this._dateClickListener),this._mode==="range"&&this._adapter.registerHoverListener(this._hoverListener))}_applyRtl(){this._rtl=Ee(this._locale),this._adapter.setContainerClass(r.classes.RTL,this._rtl),this._adapter.toggleContainerAttribute(this._rtl,"dir","rtl")}_applySelectionFollowsMonth(){this._adapter.setHostAttribute(r.attributes.SELECTION_FOLLOWS_MONTH,this._selectionFollowsMonth.toString())}_applyShowHeader(){this._adapter.toggleHostAttribute(r.attributes.SHOW_HEADER,this._showHeader,this._showHeader.toString()),this._showHeader?(this._adapter.setHeader(),this._adapter.registerMonthButtonListener(this._monthButtonListener),this._adapter.registerNextButtonListener(this._nextButtonListener),this._adapter.registerPreviousButtonListener(this._previousButtonListener),this._adapter.registerYearButtonListener(this._yearButtonListener),this._setNavButtonLabels()):(this._adapter.unregisterMonthButtonListener(this._monthButtonListener),this._adapter.unregisterNextButtonListener(this._nextButtonListener),this._adapter.unregisterPreviousButtonListener(this._previousButtonListener),this._adapter.unregisterYearButtonListener(this._yearButtonListener),this._adapter.removeHeader()),this._isInitialized&&(this._adapter.setMonth(this._month,this._locale),this._adapter.setYear(this._year,this._locale),this._setNavigationButtonStates())}_applyShowOtherMonths(){if(this._adapter.toggleHostAttribute(r.attributes.SHOW_OTHER_MONTHS,this._showOtherMonths),this._isInitialized&&this._view==="date"){let e=!1;this._dates.forEach((t,a)=>{p(t,this._month,this._year)||((a===r.numbers.PENULTIMATE_WEEK_BEGIN_INDEX||a===r.numbers.FINAL_WEEK_BEGIN_INDEX)&&(e=!0),this._showOtherMonths&&!e?this._adapter.replaceDate(this._getDateConfig(t),{builder:this._dateBuilder,locale:this._locale}):this._adapter.replaceDateWithSpacer(t),this._setEventsOnDate(t),this._applyWeekendDays())})}}_applyShowToday(){this._adapter.toggleHostAttribute(r.attributes.SHOW_TODAY,this._showToday),this._adapter.setContainerClass(r.classes.SHOW_TODAY,this._showToday)}_applyTodayButton(){this._adapter.toggleHostAttribute(r.attributes.TODAY_BUTTON,!0,this._todayButton.toString()),this._todayButton?(this._adapter.setFooter(),this._adapter.setTodayButton(),this._adapter.registerTodayButtonListener(this._todayButtonListener)):(this._adapter.unregisterTodayButtonListener(this._todayButtonListener),this._adapter.removeTodayButton(),this._clearButton||this._adapter.removeFooter())}_applyTooltipBuilder(){this._view==="date"&&this._dates.forEach(e=>{var i;if(!this._showOtherMonths&&!p(e,this._month,this._year))return;let t=W(e,this._events,this._eventBuilder),a=K(t);this._tooltipBuilder&&(a=(i=this._tooltipBuilder(this._getCalendarDate(e),a))!=null?i:""),this._adapter.setDateTooltip(e,a)})}_applyWeekendDays(){var t;let e=(t=this._weekendDays)!=null?t:this._localeWeekendDays;this._view==="date"&&this._dates.forEach(a=>{let i=a.getDay();this._adapter.setWeekend(a,(this._showOtherMonths||p(a,this._month,this._year))&&e.includes(i))})}_applyValue(e){e=e.map(t=>new Date(t)),Y(e),this._deselectAllDates(),e.forEach(t=>this._selectDate(t)),this._mode==="range"&&(this._rangeSelectionState=this._value.length===2?"to":this._value.length===1?"from":"none",this._clearRangePreview(),this._adapter.setRangeStart(this._value[0]),this._setRangePreview())}_applyView(){switch(this._adapter.setHostAttribute(r.attributes.VIEW,this._view),this._view){case"date":this._closeMenu();break;case"month":this._openMonthMenu();break;case"year":this._openYearMenu();break}}_applyYear(){this._setYear(),this._isInitialized&&this._view==="date"&&(this._resetDateGrid(),this._moveFocusToFirstOfMonth(!1))}_applyYearRange(){this._adapter.setHostAttribute(r.attributes.YEAR_RANGE,this._yearRange);let e=ze(this._yearRange);this._minYear=e.min,this._maxYear=e.max,this._view==="year"&&(this._openYearMenu(),this._setNavigationButtonStates())}get activeDate(){return new Date(this._focusedDate)}get allowSingleDateRange(){return this._allowSingleDateRange}set allowSingleDateRange(e){this._allowSingleDateRange!==e&&(this._allowSingleDateRange=e,this._applyAllowSingleDateRange())}get clearButton(){return this._clearButton}set clearButton(e){this._clearButton!==e&&(this._clearButton=e,this._isInitialized&&this._applyClearButton())}get clearCallback(){return this._clearCallback}set clearCallback(e){this._clearCallback=e}get constrainToEnabled(){return this._constrainToEnabled}set constrainToEnabled(e){this._constrainToEnabled!==e&&(this._constrainToEnabled=e,this._isInitialized&&this._applyConstrainToEnabled())}get dateBuilder(){return this._dateBuilder}set dateBuilder(e){this._dateBuilder=e,this._isInitialized&&this._applyDateBuilder()}get dateSelectCallback(){return this._dateSelectCallback}set dateSelectCallback(e){this._dateSelectCallback=e}get dayBuilder(){return this.dayBuilder}set dayBuilder(e){this._dayBuilder=e,this._isInitialized&&this._applyDayBuilder()}get disabledDateBuilder(){return this._disabledDateBuilder}set disabledDateBuilder(e){this._disabledDateBuilder=e,this._isInitialized&&this._applyDisabledDates()}get disabledDates(){let e=this._disabledDates.map(t=>new Date(t));return e.length?e:null}set disabledDates(e){let t=e?C(e)?e:[e]:[];this._disabledDates=t.map(a=>{let i=new Date(a);return i.setHours(0,0,0,0),i}),this._isInitialized&&this._applyDisabledDates()}get disabledDaysOfWeek(){return this._disabledDaysOfWeek.length?[...this._disabledDaysOfWeek]:null}set disabledDaysOfWeek(e){this._disabledDaysOfWeek=A(e)?C(e)?e:[e]:[],this._isInitialized&&this._applyDisabledDates()}get eventBuilder(){return this._eventBuilder}set eventBuilder(e){this._eventBuilder=e,this._isInitialized&&this._applyEvents()}get events(){return this._events?[...this._events]:null}set events(e){this._events=e!=null&&e.length?[...e]:[],this._isInitialized&&this._applyEvents()}get firstDayOfWeek(){return this._firstDayOfWeek}set firstDayOfWeek(e){this._firstDayOfWeek!==e&&(this._firstDayOfWeek=A(e)?+e:e,this._isInitialized&&this._applyFirstDayOfWeek())}get fixedHeight(){return this._fixedHeight}set fixedHeight(e){this._fixedHeight!==e&&(this._fixedHeight=e,this._isInitialized&&this._applyFixedHeight())}get listYears(){return this._listYears}set listYears(e){this._listYears!==e&&(this._listYears=e,this._applyListYears())}get locale(){return this._locale}set locale(e){typeof e=="string"&&!e.length&&(e=void 0),this._locale!==e&&(this._locale=e,this._isInitialized&&this._applyLocale())}get max(){return this._max}set max(e){var t;this._maxAttribute!==e&&(this._maxAttribute=(t=e==null?void 0:e.toString())!=null?t:null,this._max=$(e),this._applyMax())}get menuAnimation(){return this._menuAnimation}set menuAnimation(e){this._menuAnimation!==e&&(this._menuAnimation=e,this._isInitialized&&this._applyMenuAnimation())}get min(){return this._min}set min(e){var t;this._minAttribute!==e&&(this._minAttribute=(t=e==null?void 0:e.toString())!=null?t:null,this._min=$(e),this._applyMin())}get mode(){return this._mode}set mode(e){if(this._mode!==e){let t=this._mode;this._mode=e,this._isInitialized&&this._applyMode(t)}}get month(){return this._month}set month(e){if(this._month!==e){let t=isNaN(+e)?this._month:+e;if(this._month===t)return;this._month=+e,this._isInitialized&&this._applyMonth()}}get preventFocus(){return this._preventFocus}set preventFocus(e){this._preventFocus!==e&&(this._preventFocus=e,this._isInitialized&&this._applyPreventFocus())}get readonly(){return this._readonly}set readonly(e){this._readonly!==e&&(this._readonly=e,this._isInitialized&&this._applyReadOnly())}get selectionFollowsMonth(){return this._selectionFollowsMonth}set selectionFollowsMonth(e){this._selectionFollowsMonth!==e&&(this._selectionFollowsMonth=e,this._isInitialized&&this._applySelectionFollowsMonth())}get showHeader(){return this._showHeader}set showHeader(e){this._showHeader!==e&&(this._showHeader=e,this._isInitialized&&this._applyShowHeader())}get showOtherMonths(){return this._showOtherMonths}set showOtherMonths(e){this._showOtherMonths!==e&&(this._showOtherMonths=e,this._isInitialized&&this._applyShowOtherMonths())}get showToday(){return this._showToday}set showToday(e){this._showToday!==e&&(this._showToday=e,this._isInitialized&&this._applyShowToday())}get todayButton(){return this._todayButton}set todayButton(e){this._todayButton!==e&&(this._todayButton=e,this._isInitialized&&this._applyTodayButton())}get todayCallback(){return this._todayCallback}set todayCallback(e){this._todayCallback=e}get tooltipBuilder(){return this._tooltipBuilder}set tooltipBuilder(e){this._tooltipBuilder=e,this._isInitialized&&this._applyTooltipBuilder()}get value(){var t;if(this._mode==="range")return(t=this._rangeSelectionStore)!=null?t:y(this._value);let e=this._value.map(a=>new Date(a));return this._mode==="multiple"?e:e.length?e[0]:null}set value(e){let t=[];if(this._rangeSelectionStore=void 0,!e||Array.isArray(e)&&!e.length)this._value=[];else if(Array.isArray(e))switch(this._mode){case"single":t=[e[0]];break;case"multiple":t=e;break;case"range":let a=R(e);t.push(a[0]),a.length>1&&t.push(a[1]);break}else B(new Date(e))?t=[e]:(this._rangeSelectionStore=new E(e),t=Pe(e));this._applyValue(t)}get view(){return this._view}set view(e){this._view!==e&&(this._view=e,this._applyView())}get weekendDays(){return this._weekendDays?[...this._weekendDays]:null}set weekendDays(e){var t;this._weekendDays=(t=e==null?void 0:e.map(a=>+a))!=null?t:null,this._isInitialized&&this._applyWeekendDays()}get year(){return this._year}set year(e){if(this._year!==e){let t=isNaN(+e)?this._year:+e;if(this._year===t)return;this._year=t,this._isInitialized&&this._applyYear()}}get yearRange(){return this._yearRange}set yearRange(e){this._yearRange!==e&&(this._yearRange=e,this._isInitialized&&this._applyYearRange())}clear(){this._deselectAllDates(),this._clearCallback&&this._clearCallback()}deselectDate(e,t){this._onDateSelected(e,!1),t&&(this._focusedDate=e,this._resumeTabindexOnDate(!0))}goToDate(e,t){this._goToDate(e,t!=null?t:!1)}handleExternalKeyEvent(e){this._onKeydown(e)}layout(){this._applyFirstDayOfWeek(),this._createDateView(),this._applyShowHeader(),this._applyConstrainToEnabled()}selectDate(e,t){this._onDateSelected(e,!0),t&&(this._focusedDate=e,this._resumeTabindexOnDate(!0))}setActiveDate(e,t){return this._dates.some(a=>b(a,e)&&(this._showOtherMonths||p(a,this._month,this._year)))?(this._goToDate(e,t!=null?t:!1),!0):!1}today(){let e=new Date;e.setHours(0,0,0,0),this._goToDate(e,!0),this._todayCallback&&this._todayCallback()}toggleDate(e,t){this._onDateSelected(e)}};var Qe='<template><div class="forge-calendar" part="root"><div id="view" class="forge-calendar__view" part="view"><div id="date-view" class="forge-calendar__date-view" role="grid" part="date-view"><div role="rowgroup" part="date-view-container"><div id="day-row" class="forge-calendar__date-view__row" role="row" part="date-view-row"></div></div><div id="date-grid" class="forge-calendar__date-grid" role="rowgroup" part="date-grid-container"></div></div><forge-calendar-menu id="menu" part="calendar-menu"></forge-calendar-menu></div></div></template>',et='.mdc-elevation-overlay{position:absolute;border-radius:inherit;pointer-events:none;opacity:0;opacity:var(--mdc-elevation-overlay-opacity, 0);-webkit-transition:opacity 280ms cubic-bezier(.4, 0, .2, 1);transition:opacity 280ms cubic-bezier(.4, 0, .2, 1);background-color:#fff;background-color:var(--mdc-elevation-overlay-color,#fff)}.forge-button{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-button-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.875rem;font-size:var(--mdc-typography-button-font-size, .875rem);line-height:2.25rem;line-height:var(--mdc-typography-button-line-height, 2.25rem);font-weight:500;font-weight:var(--mdc-typography-button-font-weight,500);letter-spacing:.0892857143em;letter-spacing:var(--mdc-typography-button-letter-spacing, .0892857143em);text-decoration:none;-webkit-text-decoration:var(--mdc-typography-button-text-decoration,none);text-decoration:var(--mdc-typography-button-text-decoration,none);text-transform:uppercase;text-transform:var(--mdc-typography-button-text-transform,uppercase);position:relative;display:-webkit-inline-box;display:inline-flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;-webkit-box-sizing:border-box;box-sizing:border-box;min-width:64px;border:none;outline:0;line-height:inherit;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-appearance:none;overflow:visible;vertical-align:middle}.forge-button .mdc-elevation-overlay{width:100%;height:100%;top:0;left:0}.forge-button::-moz-focus-inner{padding:0;border:0}.forge-button:active{outline:0}.forge-button:hover{cursor:pointer}.forge-button:disabled{cursor:default;pointer-events:none}.forge-button .forge-button__icon{margin-left:0;margin-right:8px;display:inline-block;font-size:1.125rem;height:1.125rem;vertical-align:top;width:1.125rem}.forge-button .forge-button__icon[dir=rtl],[dir=rtl] .forge-button .forge-button__icon{margin-left:8px;margin-right:0}.forge-button__label~.forge-button__icon{margin-left:8px;margin-right:0}.forge-button__label~.forge-button__icon[dir=rtl],[dir=rtl] .forge-button__label~.forge-button__icon{margin-left:0;margin-right:8px}svg.forge-button__icon{fill:currentColor}.forge-button--outlined .forge-button__icon,.forge-button--raised .forge-button__icon,.forge-button--unelevated .forge-button__icon{margin-left:-4px;margin-right:8px}.forge-button--outlined .forge-button__icon[dir=rtl],.forge-button--raised .forge-button__icon[dir=rtl],.forge-button--unelevated .forge-button__icon[dir=rtl],[dir=rtl] .forge-button--outlined .forge-button__icon,[dir=rtl] .forge-button--raised .forge-button__icon,[dir=rtl] .forge-button--unelevated .forge-button__icon{margin-left:8px;margin-right:-4px}.forge-button--outlined .forge-button__label~.forge-button__icon,.forge-button--raised .forge-button__label~.forge-button__icon,.forge-button--unelevated .forge-button__label~.forge-button__icon{margin-left:8px;margin-right:-4px}.forge-button--outlined .forge-button__label~.forge-button__icon[dir=rtl],.forge-button--raised .forge-button__label~.forge-button__icon[dir=rtl],.forge-button--unelevated .forge-button__label~.forge-button__icon[dir=rtl],[dir=rtl] .forge-button--outlined .forge-button__label~.forge-button__icon,[dir=rtl] .forge-button--raised .forge-button__label~.forge-button__icon,[dir=rtl] .forge-button--unelevated .forge-button__label~.forge-button__icon{margin-left:-4px;margin-right:8px}@-webkit-keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@-webkit-keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@-webkit-keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}@keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}.forge-button{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity}.forge-button .forge-button__ripple::after,.forge-button .forge-button__ripple::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:""}.forge-button .forge-button__ripple::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.forge-button .forge-button__ripple::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.forge-button.mdc-ripple-upgraded .forge-button__ripple::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.forge-button.mdc-ripple-upgraded .forge-button__ripple::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.forge-button.mdc-ripple-upgraded--unbounded .forge-button__ripple::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.forge-button.mdc-ripple-upgraded--foreground-activation .forge-button__ripple::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.forge-button.mdc-ripple-upgraded--foreground-deactivation .forge-button__ripple::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.forge-button .forge-button__ripple::after,.forge-button .forge-button__ripple::before{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.forge-button.mdc-ripple-upgraded .forge-button__ripple::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-button .forge-button__ripple{position:absolute;-webkit-box-sizing:content-box;box-sizing:content-box;width:100%;height:100%;overflow:hidden}.forge-button:not(.forge-button--outlined) .forge-button__ripple{top:0;left:0}.forge-button--raised{-webkit-box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);-webkit-transition:-webkit-box-shadow 280ms cubic-bezier(.4, 0, .2, 1);transition:-webkit-box-shadow 280ms cubic-bezier(.4, 0, .2, 1);transition:box-shadow 280ms cubic-bezier(.4, 0, .2, 1);transition:box-shadow 280ms cubic-bezier(.4, 0, .2, 1),-webkit-box-shadow 280ms cubic-bezier(.4, 0, .2, 1)}.forge-button--raised:focus,.forge-button--raised:hover{-webkit-box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12);box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.forge-button--raised:active{-webkit-box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.forge-button--raised:disabled{-webkit-box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12);box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.forge-button--outlined{border-style:solid}.forge-button{height:36px;border-radius:4px;border-radius:var(--mdc-shape-small,4px);padding:0 8px 0 8px}.forge-button:not(:disabled){background-color:transparent}.forge-button:disabled{background-color:transparent}.forge-button:not(:disabled){color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.forge-button:disabled{color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38))}.forge-button .forge-button__ripple::after,.forge-button .forge-button__ripple::before{background-color:#3f51b5;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#3f51b5))}.forge-button.mdc-ripple-surface--hover .forge-button__ripple::before,.forge-button:hover .forge-button__ripple::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-button.mdc-ripple-upgraded--background-focused .forge-button__ripple::before,.forge-button:not(.mdc-ripple-upgraded):focus .forge-button__ripple::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-button:not(.mdc-ripple-upgraded) .forge-button__ripple::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-button:not(.mdc-ripple-upgraded):active .forge-button__ripple::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-button.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.forge-button .forge-button__ripple{border-radius:4px;border-radius:var(--mdc-shape-small,4px)}.forge-button--unelevated{padding:0 16px 0 16px;height:36px;border-radius:4px;border-radius:var(--mdc-shape-small,4px)}.forge-button--unelevated:not(:disabled){background-color:#3f51b5;background-color:var(--mdc-theme-primary,#3f51b5)}.forge-button--unelevated:disabled{background-color:rgba(0,0,0,.12);background-color:var(--mdc-theme-text-disabled-on-background,rgba(0,0,0,.12))}.forge-button--unelevated:not(:disabled){color:#fff;color:var(--mdc-theme-on-primary,#fff)}.forge-button--unelevated:disabled{color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38))}.forge-button--unelevated .forge-button__ripple::after,.forge-button--unelevated .forge-button__ripple::before{background-color:#fff;background-color:var(--mdc-ripple-color,var(--mdc-theme-on-primary,#fff))}.forge-button--unelevated.mdc-ripple-surface--hover .forge-button__ripple::before,.forge-button--unelevated:hover .forge-button__ripple::before{opacity:.08;opacity:var(--mdc-ripple-hover-opacity, .08)}.forge-button--unelevated.mdc-ripple-upgraded--background-focused .forge-button__ripple::before,.forge-button--unelevated:not(.mdc-ripple-upgraded):focus .forge-button__ripple::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-focus-opacity, .24)}.forge-button--unelevated:not(.mdc-ripple-upgraded) .forge-button__ripple::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-button--unelevated:not(.mdc-ripple-upgraded):active .forge-button__ripple::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-press-opacity, .24)}.forge-button--unelevated.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.24)}.forge-button--unelevated .forge-button__ripple{border-radius:4px;border-radius:var(--mdc-shape-small,4px)}.forge-button--raised{padding:0 16px 0 16px;height:36px;border-radius:4px;border-radius:var(--mdc-shape-small,4px)}.forge-button--raised:not(:disabled){background-color:#3f51b5;background-color:var(--mdc-theme-primary,#3f51b5)}.forge-button--raised:disabled{background-color:rgba(0,0,0,.12);background-color:var(--mdc-theme-text-disabled-on-background,rgba(0,0,0,.12))}.forge-button--raised:not(:disabled){color:#fff;color:var(--mdc-theme-on-primary,#fff)}.forge-button--raised:disabled{color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38))}.forge-button--raised .forge-button__ripple::after,.forge-button--raised .forge-button__ripple::before{background-color:#fff;background-color:var(--mdc-ripple-color,var(--mdc-theme-on-primary,#fff))}.forge-button--raised.mdc-ripple-surface--hover .forge-button__ripple::before,.forge-button--raised:hover .forge-button__ripple::before{opacity:.08;opacity:var(--mdc-ripple-hover-opacity, .08)}.forge-button--raised.mdc-ripple-upgraded--background-focused .forge-button__ripple::before,.forge-button--raised:not(.mdc-ripple-upgraded):focus .forge-button__ripple::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-focus-opacity, .24)}.forge-button--raised:not(.mdc-ripple-upgraded) .forge-button__ripple::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-button--raised:not(.mdc-ripple-upgraded):active .forge-button__ripple::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-press-opacity, .24)}.forge-button--raised.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.24)}.forge-button--raised .forge-button__ripple{border-radius:4px;border-radius:var(--mdc-shape-small,4px)}.forge-button--outlined{height:36px;border-radius:4px;border-radius:var(--mdc-shape-small,4px);padding:0 15px 0 15px;border-width:1px}.forge-button--outlined:not(:disabled){background-color:transparent}.forge-button--outlined:disabled{background-color:transparent}.forge-button--outlined:not(:disabled){color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.forge-button--outlined:disabled{color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38))}.forge-button--outlined .forge-button__ripple::after,.forge-button--outlined .forge-button__ripple::before{background-color:#3f51b5;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#3f51b5))}.forge-button--outlined.mdc-ripple-surface--hover .forge-button__ripple::before,.forge-button--outlined:hover .forge-button__ripple::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-button--outlined.mdc-ripple-upgraded--background-focused .forge-button__ripple::before,.forge-button--outlined:not(.mdc-ripple-upgraded):focus .forge-button__ripple::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-button--outlined:not(.mdc-ripple-upgraded) .forge-button__ripple::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-button--outlined:not(.mdc-ripple-upgraded):active .forge-button__ripple::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-button--outlined.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.forge-button--outlined .forge-button__ripple{border-radius:4px;border-radius:var(--mdc-shape-small,4px)}.forge-button--outlined:not(:disabled){border-color:#3f51b5;border-color:var(--mdc-theme-primary,#3f51b5)}.forge-button--outlined:disabled{border-color:rgba(0,0,0,.12);border-color:var(--mdc-theme-text-disabled-on-background,rgba(0,0,0,.12))}.forge-button--outlined .forge-button__ripple{top:-1px;left:-1px;border:1px solid transparent}.forge-button--dense{height:24px;margin-top:0;margin-bottom:0;height:1.5rem}forge-button{display:inline-block}forge-button[hidden]{display:none}forge-button[disabled]{cursor:not-allowed}a.forge-hyperlink{color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5);text-decoration:none}a.forge-hyperlink:visited{color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}a.forge-hyperlink[disabled]{pointer-events:none;cursor:default}a.forge-hyperlink:focus,a.forge-hyperlink:hover:not([disabled]){text-decoration:underline}button.forge-hyperlink{color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5);cursor:pointer;border:none;background-color:transparent;font-size:inherit;padding:0;outline:0;text-align:left}button.forge-hyperlink[disabled]{pointer-events:none;cursor:default}button.forge-hyperlink:hover:not([disabled]){text-decoration:underline}.forge-icon-button{display:-webkit-inline-box;display:inline-flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;border:none;outline:0;background-color:transparent;fill:currentColor;color:inherit;font-size:24px;text-decoration:none;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:48px;height:48px;padding:12px}.forge-icon-button forge-icon,.forge-icon-button img,.forge-icon-button svg{width:24px;height:24px}.forge-icon-button:disabled{color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38))}.forge-icon-button:disabled{cursor:default;pointer-events:none}.forge-icon-button__icon{display:inline-block}.forge-icon-button__icon.forge-icon-button__icon--on{display:none}.forge-icon-button--on .forge-icon-button__icon{display:none}.forge-icon-button--on .forge-icon-button__icon.forge-icon-button__icon--on{display:inline-block}.forge-icon-button{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity}.forge-icon-button::after,.forge-icon-button::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:""}.forge-icon-button::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.forge-icon-button::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.forge-icon-button.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.forge-icon-button.mdc-ripple-upgraded::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.forge-icon-button.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.forge-icon-button.mdc-ripple-upgraded--foreground-activation::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.forge-icon-button.mdc-ripple-upgraded--foreground-deactivation::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.forge-icon-button::after,.forge-icon-button::before{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.forge-icon-button.mdc-ripple-upgraded::after,.forge-icon-button.mdc-ripple-upgraded::before{top:var(--mdc-ripple-top,calc(50% - 50%));left:var(--mdc-ripple-left,calc(50% - 50%));width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-icon-button.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-icon-button::after,.forge-icon-button::before{background-color:#000;background-color:var(--mdc-ripple-color,var(--mdc-theme-on-surface,#000))}.forge-icon-button.mdc-ripple-surface--hover::before,.forge-icon-button:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-icon-button.mdc-ripple-upgraded--background-focused::before,.forge-icon-button:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-icon-button:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-icon-button:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-icon-button.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}forge-icon-button{position:relative;display:inline-block;overflow:visible}.forge-icon-button--on{color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.forge-icon-button--on::after,.forge-icon-button--on::before{background-color:#3f51b5;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#3f51b5))}.forge-icon-button--on.mdc-ripple-surface--hover::before,.forge-icon-button--on:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-icon-button--on.mdc-ripple-upgraded--background-focused::before,.forge-icon-button--on:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-icon-button--on:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-icon-button--on:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-icon-button--on.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.forge-icon-button--on::before{background-color:#3f51b5;background-color:var(--mdc-theme-primary,#3f51b5);opacity:.08}.forge-icon-button--dense{width:28px;height:28px;padding:2px;padding:0}.forge-icon-button--dense-1{width:44px;height:44px;padding:10px}.forge-icon-button--dense-2{width:40px;height:40px;padding:8px}.forge-icon-button--dense-3{width:36px;height:36px;padding:6px}.forge-icon-button--dense-4{width:32px;height:32px;padding:4px}.forge-icon-button--dense-5{width:28px;height:28px;padding:2px}.forge-icon-button--dense-6{width:24px;height:24px;padding:0}.forge-icon-button--with-badge forge-badge{z-index:1;z-index:var(--forge-z-index-surface,1);pointer-events:none;--forge-badge-max-width:32px;--forge-badge-border:1px solid transparent}.forge-icon-button--with-badge forge-badge[app-bar-context]{--forge-badge-border:2px solid var(--forge-app-bar-theme-background)}.forge-calendar{width:100%;width:var(--forge-calendar-width,100%);height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;position:relative}.forge-calendar__header{padding:0;padding:var(--forge-calendar-controls-padding,0);display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:justify;justify-content:space-between}.forge-calendar__footer{padding:0;padding:var(--forge-calendar-controls-padding,0);display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:justify;justify-content:space-between}.forge-calendar__view{position:relative}.forge-calendar__date-view{display:block}.forge-calendar__date-view__row{display:grid;grid-template-columns:repeat(7,1fr)}.forge-calendar__date-grid{display:grid}.forge-calendar__day{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.75rem;font-size:var(--mdc-typography-caption-font-size, .75rem);line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;min-width:0;padding:0;font-weight:700;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.forge-calendar__day::after{float:left;padding-top:100%;content:""}.forge-calendar__date{margin-top:2px;margin-top:var(--forge-calendar-row-gap,2px);min-width:0;padding:0;border-radius:50%;position:relative;outline:0;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.forge-calendar__date::after{float:left;padding-top:100%;content:""}.forge-calendar__date .mdc-ripple-surface{border-radius:inherit}.forge-calendar__date .mdc-ripple-surface::after,.forge-calendar__date .mdc-ripple-surface::before{position:absolute;width:calc(100% - 2px)!important;height:calc(100% - 2px)!important;top:calc(2px / 2)!important;left:calc(2px / 2)!important;border-radius:inherit!important}.forge-calendar__date__inner{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-body2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.875rem;font-size:var(--mdc-typography-body2-font-size, .875rem);line-height:1.25rem;line-height:var(--mdc-typography-body2-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-body2-font-weight,400);letter-spacing:.0178571429em;letter-spacing:var(--mdc-typography-body2-letter-spacing, .0178571429em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-body2-text-decoration,inherit);text-decoration:var(--mdc-typography-body2-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-body2-text-transform,inherit);position:absolute;width:calc(100% - 2px);height:calc(100% - 2px);top:calc(2px / 2);left:calc(2px / 2);display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;border-radius:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}.forge-calendar--show-today .forge-calendar__date--today:not([disabled]){color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5);border-color:#3f51b5;border-color:var(--mdc-theme-primary,#3f51b5)}.forge-calendar--show-today .forge-calendar__date--today .forge-calendar__date__inner{border-color:inherit;border-width:1px;border-style:solid;font-weight:700}.forge-calendar--show-today .forge-calendar__date--today.forge-calendar__date--selected{color:#fff;color:var(--mdc-theme-on-primary,#fff)}.forge-calendar:not(.forge-calendar--readonly) .forge-calendar__date:not([disabled]){--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;cursor:pointer}.forge-calendar:not(.forge-calendar--readonly) .forge-calendar__date:not([disabled]) .mdc-ripple-surface::after,.forge-calendar:not(.forge-calendar--readonly) .forge-calendar__date:not([disabled]) .mdc-ripple-surface::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:""}.forge-calendar:not(.forge-calendar--readonly) .forge-calendar__date:not([disabled]) .mdc-ripple-surface::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.forge-calendar:not(.forge-calendar--readonly) .forge-calendar__date:not([disabled]) .mdc-ripple-surface::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.forge-calendar:not(.forge-calendar--readonly) .forge-calendar__date:not([disabled]).mdc-ripple-upgraded .mdc-ripple-surface::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.forge-calendar:not(.forge-calendar--readonly) .forge-calendar__date:not([disabled]).mdc-ripple-upgraded .mdc-ripple-surface::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.forge-calendar:not(.forge-calendar--readonly) .forge-calendar__date:not([disabled]).mdc-ripple-upgraded--unbounded .mdc-ripple-surface::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.forge-calendar:not(.forge-calendar--readonly) .forge-calendar__date:not([disabled]).mdc-ripple-upgraded--foreground-activation .mdc-ripple-surface::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.forge-calendar:not(.forge-calendar--readonly) .forge-calendar__date:not([disabled]).mdc-ripple-upgraded--foreground-deactivation .mdc-ripple-surface::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.forge-calendar:not(.forge-calendar--readonly) .forge-calendar__date:not([disabled]) .mdc-ripple-surface::after,.forge-calendar:not(.forge-calendar--readonly) .forge-calendar__date:not([disabled]) .mdc-ripple-surface::before{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.forge-calendar:not(.forge-calendar--readonly) .forge-calendar__date:not([disabled]).mdc-ripple-upgraded .mdc-ripple-surface::after,.forge-calendar:not(.forge-calendar--readonly) .forge-calendar__date:not([disabled]).mdc-ripple-upgraded .mdc-ripple-surface::before{top:var(--mdc-ripple-top,calc(50% - 50%));left:var(--mdc-ripple-left,calc(50% - 50%));width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-calendar:not(.forge-calendar--readonly) .forge-calendar__date:not([disabled]).mdc-ripple-upgraded .mdc-ripple-surface::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-calendar:not(.forge-calendar--readonly) .forge-calendar__date:not([disabled]) .mdc-ripple-surface::after,.forge-calendar:not(.forge-calendar--readonly) .forge-calendar__date:not([disabled]) .mdc-ripple-surface::before{background-color:#000;background-color:var(--mdc-ripple-color,var(--mdc-theme-on-surface,#000))}.forge-calendar:not(.forge-calendar--readonly) .forge-calendar__date:not([disabled]).mdc-ripple-surface--hover .mdc-ripple-surface::before,.forge-calendar:not(.forge-calendar--readonly) .forge-calendar__date:not([disabled]):hover .mdc-ripple-surface::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-calendar:not(.forge-calendar--readonly) .forge-calendar__date:not([disabled]).mdc-ripple-upgraded--background-focused .mdc-ripple-surface::before,.forge-calendar:not(.forge-calendar--readonly) .forge-calendar__date:not([disabled]):not(.mdc-ripple-upgraded):focus .mdc-ripple-surface::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-calendar:not(.forge-calendar--readonly) .forge-calendar__date:not([disabled]):not(.mdc-ripple-upgraded) .mdc-ripple-surface::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-calendar:not(.forge-calendar--readonly) .forge-calendar__date:not([disabled]):not(.mdc-ripple-upgraded):active .mdc-ripple-surface::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-calendar:not(.forge-calendar--readonly) .forge-calendar__date:not([disabled]).mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.forge-calendar__date--selected:not([disabled]) .forge-calendar__date__inner{background-color:#3f51b5;background-color:var(--mdc-theme-primary,#3f51b5);color:#fff;color:var(--mdc-theme-on-primary,#fff)}.forge-calendar__date--selected[disabled] .forge-calendar__date__inner{background-color:#f5f5f5;background-color:var(--forge-theme-form-field-disabled-on-background,#f5f5f5);color:rgba(0,0,0,.12);color:var(--mdc-theme-text-disabled-on-background,rgba(0,0,0,.12))}.forge-calendar:not(.forge-calendar--readonly) .forge-calendar__date--selected:hover .forge-calendar__date__inner{opacity:.87}.forge-calendar__date--selected.mdc-ripple-upgraded--background-focused .forge-calendar__date__inner,.forge-calendar__date--selected:focus .forge-calendar__date__inner{opacity:.54}.forge-calendar__date[disabled]{color:rgba(0,0,0,.12);color:var(--mdc-theme-text-disabled-on-background,rgba(0,0,0,.12))}.forge-calendar__date-spacer{pointer-events:none}.forge-calendar--fixed-height .forge-calendar__date-spacer{margin-top:2px;margin-top:var(--forge-calendar-row-gap,2px)}.forge-calendar--fixed-height .forge-calendar__date-spacer::after{float:left;padding-top:100%;content:""}.forge-calendar__range:not(.forge-calendar__date-spacer) .forge-calendar__range__target{background-color:#3f51b5;background-color:var(--mdc-theme-primary,#3f51b5);position:absolute;width:100%;height:100%;opacity:.14;border-radius:0}.forge-calendar__range:not(.forge-calendar__date-spacer).forge-calendar__range--start .forge-calendar__range__target{border-top-left-radius:50%;border-bottom-left-radius:50%}.forge-calendar__range:not(.forge-calendar__date-spacer).forge-calendar__range--end .forge-calendar__range__target{border-top-right-radius:50%;border-bottom-right-radius:50%}.forge-calendar__range:not(.forge-calendar__range--start):first-of-type .forge-calendar__range__target{border-top-left-radius:4px;border-bottom-left-radius:4px}.forge-calendar__range:not(.forge-calendar__range--end):last-of-type .forge-calendar__range__target{border-top-right-radius:4px;border-bottom-right-radius:4px}.forge-calendar--allow-single-date-range .forge-calendar__range--start.forge-calendar__range--end .forge-calendar__range__target{-webkit-transition:-webkit-transform .2s;transition:-webkit-transform .2s;transition:transform .2s;transition:transform .2s,-webkit-transform .2s;-webkit-transform:scale(1.15);transform:scale(1.15);-webkit-transform-origin:center;transform-origin:center}.forge-calendar__event{font-size:12px;font-size:var(--forge-calendar-event-dot-size, 12px)}.forge-calendar__event[data-event-theme=primary]{color:#3f51b5;color:var(--forge-calendar-theme-event-primary-accent,#3f51b5)}.forge-calendar__event[data-event-theme=secondary]{color:#ffc107;color:var(--forge-calendar-theme-event-secondary-accent,#ffc107)}.forge-calendar__event[data-event-theme=blue]{color:#2196f3;color:var(--forge-calendar-theme-event-blue-accent,#2196f3)}.forge-calendar__event[data-event-theme=light-green]{color:#8bc34a;color:var(--forge-calendar-theme-event-light-green-accent,#8bc34a)}.forge-calendar__event[data-event-theme=cyan]{color:#00bcd4;color:var(--forge-calendar-theme-event-cyan-accent,#00bcd4)}.forge-calendar__event[data-event-theme=teal]{color:#009688;color:var(--forge-calendar-theme-event-teal-accent,#009688)}.forge-calendar__event[data-event-theme=orange]{color:#ff9800;color:var(--forge-calendar-theme-event-orange-accent,#ff9800)}.forge-calendar__event[data-event-theme=blue-grey]{color:#607d8b;color:var(--forge-calendar-theme-event-blue-grey-accent,#607d8b)}.forge-calendar__event[data-event-theme=grey]{color:#9e9e9e;color:var(--forge-calendar-theme-event-grey-accent,#9e9e9e)}.forge-calendar__event[data-event-theme=red]{color:#f44336;color:var(--forge-calendar-theme-event-red-accent,#f44336)}.forge-calendar__event[data-event-theme=pink]{color:#e91e63;color:var(--forge-calendar-theme-event-pink-accent,#e91e63)}.forge-calendar__event[data-event-theme=purple]{color:#9c27b0;color:var(--forge-calendar-theme-event-purple-accent,#9c27b0)}.forge-calendar__event[data-event-theme=light-blue]{color:#03a9f4;color:var(--forge-calendar-theme-event-light-blue-accent,#03a9f4)}.forge-calendar__event[data-event-theme=deep-purple]{color:#673ab7;color:var(--forge-calendar-theme-event-deep-purple-accent,#673ab7)}.forge-calendar__event[data-event-theme=green]{color:#4caf50;color:var(--forge-calendar-theme-event-green-accent,#4caf50)}.forge-calendar__event[data-event-theme=lime]{color:#cddc39;color:var(--forge-calendar-theme-event-lime-accent,#cddc39)}.forge-calendar__event[data-event-theme=yellow]{color:#ffeb3b;color:var(--forge-calendar-theme-event-yellow-accent,#ffeb3b)}.forge-calendar__event[data-event-theme=brown]{color:#795548;color:var(--forge-calendar-theme-event-brown-accent,#795548)}.forge-calendar__event[data-event-theme=deep-orange]{color:#ff5722;color:var(--forge-calendar-theme-event-deep-orange-accent,#ff5722)}.forge-calendar__date[disabled] .forge-calendar__event{opacity:.14}.forge-calendar__event--overflow{color:#000;color:var(--mdc-theme-on-surface,#000);background-color:var(--mdc-theme-surface);border-radius:50%}.forge-calendar__event__wrapper{display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;gap:2px;position:absolute;bottom:0;left:0;width:100%;padding-bottom:2px;pointer-events:none}.forge-calendar__date-spacer .forge-calendar__event__wrapper{display:none}.forge-calendar--rtl .forge-calendar__header forge-icon-button forge-icon{-webkit-transform:rotate(180deg);transform:rotate(180deg)}#accessible-header{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;outline:0;-webkit-appearance:none;-moz-appearance:none}#month-button forge-icon{-webkit-transition:-webkit-transform .2s;transition:-webkit-transform .2s;transition:transform .2s;transition:transform .2s,-webkit-transform .2s}.forge-calendar--month-menu-open #month-button forge-icon{-webkit-transform:rotate(180deg);transform:rotate(180deg)}#year-button forge-icon{-webkit-transition:-webkit-transform .2s;transition:-webkit-transform .2s;transition:transform .2s;transition:transform .2s,-webkit-transform .2s}.forge-calendar--year-menu-open #year-button forge-icon{-webkit-transform:rotate(180deg);transform:rotate(180deg)}:host{--forge-calendar-event-stroke-color:#ffffff;--forge-calendar-event-stroke-color:var(--mdc-theme-surface, #ffffff);display:inline-block}:host([hidden]){display:none}:host([forge-popup-context=true]){--forge-calendar-event-stroke-color:#ffffff;--forge-calendar-event-stroke-color:var(--forge-theme-elevated-surface, #ffffff)}',l=class extends HTMLElement{constructor(){super();fe.define([de,ce,le,ue,se]),re(this,Qe,et),this._foundation=new z(new P(this))}static get observedAttributes(){return[r.attributes.ALLOW_SINGLE_DATE_RANGE,r.attributes.CLEAR_BUTTON,r.attributes.CONSTRAIN_TO_ENABLED,r.attributes.FIRST_DAY_OF_WEEK,r.attributes.FIXED_HEIGHT,r.attributes.LIST_YEARS,r.attributes.LOCALE,r.attributes.MAX,r.attributes.MENU_ANIMATION,r.attributes.MIN,r.attributes.MODE,r.attributes.MONTH,r.attributes.PREVENT_FOCUS,r.attributes.READONLY,r.attributes.SELECTION_FOLLOWS_MONTH,r.attributes.SHOW_HEADER,r.attributes.SHOW_OTHER_MONTHS,r.attributes.SHOW_TODAY,r.attributes.TODAY_BUTTON,r.attributes.VIEW,r.attributes.YEAR,r.attributes.YEAR_RANGE]}connectedCallback(){!this.hasAttribute(r.attributes.POPUP_CONTEXT)&&Q(this).some(t=>t.tagName.toLowerCase()==="forge-popup")&&this.setAttribute(r.attributes.POPUP_CONTEXT,"true"),this._foundation.initialize()}disconnectedCallback(){this._foundation.disconnect()}attributeChangedCallback(t,a,i){switch(t){case r.attributes.ALLOW_SINGLE_DATE_RANGE:this.allowSingleDateRange=g(i);break;case r.attributes.CLEAR_BUTTON:this.clearButton=g(i);break;case r.attributes.CONSTRAIN_TO_ENABLED:this.constrainToEnabled=g(i);break;case r.attributes.FIRST_DAY_OF_WEEK:this.firstDayOfWeek=I(i);break;case r.attributes.FIXED_HEIGHT:this.fixedHeight=g(i);break;case r.attributes.LIST_YEARS:this.listYears=g(i);break;case r.attributes.LOCALE:this.locale=i;break;case r.attributes.MAX:this.max=i;break;case r.attributes.MENU_ANIMATION:this.menuAnimation=i;break;case r.attributes.MIN:this.min=i;break;case r.attributes.MODE:this.mode=i;break;case r.attributes.MONTH:this.month=I(i);break;case r.attributes.PREVENT_FOCUS:this.preventFocus=g(i);break;case r.attributes.READONLY:this.readonly=g(i);break;case r.attributes.SELECTION_FOLLOWS_MONTH:this.selectionFollowsMonth=g(i);break;case r.attributes.SHOW_HEADER:this.showHeader=g(i);break;case r.attributes.SHOW_OTHER_MONTHS:this.showOtherMonths=g(i);break;case r.attributes.SHOW_TODAY:this.showToday=g(i);break;case r.attributes.TODAY_BUTTON:this.todayButton=g(i);break;case r.attributes.VIEW:this.view=i;break;case r.attributes.YEAR:this.year=I(i);break;case r.attributes.YEAR_RANGE:this.yearRange=i;break}}clear(){this._foundation.clear()}deselectDate(t){this._foundation.deselectDate(new Date(t))}goToDate(t,a){this._foundation.goToDate(new Date(t),a)}handleKey(t){this._foundation.handleExternalKeyEvent(t)}layout(){this._foundation.layout()}selectDate(t){this._foundation.selectDate(new Date(t))}setActiveDate(t,a){return this._foundation.setActiveDate(new Date(t),a)}today(){this._foundation.today()}toggleDate(t,a){this._foundation.toggleDate(new Date(t),a)}};d([c({set:!1})],l.prototype,"activeDate",2),d([c()],l.prototype,"allowSingleDateRange",2),d([c()],l.prototype,"clearButton",2),d([c()],l.prototype,"clearCallback",2),d([c()],l.prototype,"constrainToEnabled",2),d([c()],l.prototype,"dateBuilder",2),d([c()],l.prototype,"dateSelectCallback",2),d([c()],l.prototype,"dayBuilder",2),d([c()],l.prototype,"disabledDateBuilder",2),d([c()],l.prototype,"disabledDates",2),d([c()],l.prototype,"disabledDaysOfWeek",2),d([c()],l.prototype,"eventBuilder",2),d([c()],l.prototype,"events",2),d([c()],l.prototype,"firstDayOfWeek",2),d([c()],l.prototype,"fixedHeight",2),d([c()],l.prototype,"listYears",2),d([c()],l.prototype,"locale",2),d([c()],l.prototype,"max",2),d([c()],l.prototype,"menuAnimation",2),d([c()],l.prototype,"min",2),d([c()],l.prototype,"mode",2),d([c()],l.prototype,"month",2),d([c()],l.prototype,"preventFocus",2),d([c()],l.prototype,"readonly",2),d([c()],l.prototype,"selectionFollowsMonth",2),d([c()],l.prototype,"showHeader",2),d([c()],l.prototype,"showOtherMonths",2),d([c()],l.prototype,"showToday",2),d([c()],l.prototype,"todayButton",2),d([c()],l.prototype,"todayCallback",2),d([c()],l.prototype,"tooltipBuilder",2),d([c()],l.prototype,"value",2),d([c()],l.prototype,"view",2),d([c()],l.prototype,"weekendDays",2),d([c()],l.prototype,"year",2),d([c()],l.prototype,"yearRange",2),l=d([oe({name:r.elementName,dependencies:[me,ye,be,ge,ve]})],l);var Ke=class extends pe{constructor(e){super(e)}_build(){return document.createElement(r.elementName)}onDateSelect(e){this._element.addEventListener(r.events.DATE_SELECT,e)}onFocusChange(e){this._element.addEventListener(r.events.FOCUS_CHANGE,e)}onMonthChange(e){this._element.addEventListener(r.events.MONTH_CHANGE,e)}onViewChange(e){this._element.addEventListener(r.events.VIEW_CHANGE,e)}};function qa(){ie(l)}export{V as a,_t as b,O as c,Re as d,ft as e,N as f,He as g,p as h,Ze as i,Y as j,We as k,y as l,Pe as m,R as n,H as o,K as p,Je as q,ze as r,Ge as s,Ue as t,qe as u,k as v,h as w,S as x,W as y,Ve as z,$ as A,X as B,P as C,z as D,l as E,Ke as F,qa as G};
7
- //# sourceMappingURL=chunk.NQZXAC65.js.map
@@ -1,7 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2023 Tyler Technologies, Inc.
4
- * License: Apache-2.0
5
- */
6
- import{h as C}from"./chunk.U6WGJELL.js";import{a as A}from"./chunk.BESB4RGK.js";import{a as x}from"./chunk.5KC43VFL.js";import{a as p}from"./chunk.KTGSZEAG.js";import{a as v,b as T,e as E}from"./chunk.QOA2O575.js";import{a as I,e as g,l as y}from"./chunk.HOXFK44F.js";import{k as h}from"./chunk.J2M2MXP2.js";import{a as b,f as l}from"./chunk.MCIQXNKY.js";var R=`${T}icon`,S={NAME:"name",SRC:"src",LAZY:"lazy",EXTERNAL:"external",EXTERNAL_TYPE:"external-type",VIEWBOX:"viewbox"},D=b({},S),M={LAZY_ROOT_MARGIN:50,DEFAULT_WIDTH:24,DEFAULT_HEIGHT:24},k={DEFAULT_NETWORK_BASE_URL:`${E}v1/icons/svg`},r={elementName:R,attributes:D,numbers:M,strings:k},_="forgeIcons";var u=class extends x{constructor(t){super(t)}initialize(){this._component.hasAttribute("aria-hidden")||this._component.setAttribute("aria-hidden","true")}canLazyLoad(){return!!window.IntersectionObserver}observeVisibility(t){this._observer=new IntersectionObserver(i=>{i.some(o=>o.isIntersecting)&&(this.destroyVisibilityObserver(),t())},{rootMargin:`${r.numbers.LAZY_ROOT_MARGIN}px`}),this._observer.observe(this._component)}destroyVisibilityObserver(){this._observer&&(this._observer.disconnect(),this._observer=void 0)}setContent(t){let i=this._component.shadowRoot,o=i.querySelector("style");i.innerHTML=t,o&&i.appendChild(o)}};var s=class{static define(e,t){if(Array.isArray(e))return e.filter(d=>s._isIconObject(d)).forEach(d=>s._register(d.name,d.data));let{name:i,data:o}=s._parseIcon(e,t);s._register(i,o)}static remove(e){let t=s._isIconObject(e)?e.name:e;s._icons.delete(t)}static removeListener(e,t){let i=s._listeners.get(e);Array.isArray(i)&&i.includes(t)&&i.splice(i.indexOf(t),1)}static clear(){s._icons.clear(),s._listeners.clear()}static get(e){return s._icons.get(e)}static getIconNames(){return Array.from(s._icons.keys())}static awaitIcon(e,t){var o;if(s._icons.has(e)){t();return}let i=(o=s._listeners.get(e))!=null?o:[];s._listeners.set(e,[...i,t])}static get size(){return s._icons.size}static _register(e,t){s._icons.set(e,t),s._invalidateListeners(e)}static _invalidateListeners(e){let t=s._listeners.get(e);Array.isArray(t)&&t.length&&(t.forEach(i=>i()),s._listeners.delete(e))}static _parseIcon(e,t=""){return s._isIconObject(e)?e:{name:e,data:t}}static _isIconObject(e){return typeof e=="object"&&e.hasOwnProperty("name")&&e.hasOwnProperty("data")}},a=s;a._icons=new Map,a._listeners=new Map;var f=new Map;function L(n,e,t=!0){if(!n||!n.includes("svg"))return"";!e&&!n.includes("viewBox")&&(e=`0 0 ${r.numbers.DEFAULT_WIDTH} ${r.numbers.DEFAULT_HEIGHT}`);let i=C(n,e);return t&&i&&(i.setAttribute("part","svg"),i.querySelectorAll("path").forEach(o=>{o.setAttribute("part",o.tagName.toLowerCase())})),i?i.outerHTML:""}function N(n){return a.get(n)}function w(n,e){a.awaitIcon(n,e)}function O(n,e){a.removeListener(n,e)}function B(n,e){let t=f.get(n);if(!t)if(typeof fetch!="undefined"&&typeof document!="undefined")t=fetch(n).then(async i=>{if(i.ok){let o=await i.text()||"";return a.define({name:e,data:o}),f.delete(n),o}return a.define({name:e,data:""}),""}),f.set(n,t);else return a.define({name:e,data:""}),Promise.resolve("");return t||Promise.resolve("")}function z(n){return["standard","extended","custom"].includes(n)?n:""}var m=class{constructor(e){this._adapter=e;this._external=!1;this._externalType="standard";this._lazyListener=()=>this._loadIcon()}initialize(){this._adapter.initialize(),this._applyIcon()}disconnect(){this._adapter.destroyVisibilityObserver(),this._clearIconQueue(),this._tryRemoveListener()}_safeApplyIcon(){!this._adapter.isConnected||(this._clearIconQueue(),this._queueIconUpdate())}_tryRemoveListener(){this._registrationListener&&this._name&&O(this._name,this._registrationListener)}_applyIcon(){this._lazy&&this._adapter.canLazyLoad()?this._adapter.observeVisibility(this._lazyListener):this._loadIcon()}_clearIconQueue(){this._applyTimer&&(clearTimeout(this._applyTimer),this._applyTimer=void 0)}_queueIconUpdate(){this._applyTimer=window.setTimeout(()=>{this._applyTimer=void 0,this._applyIcon()})}async _loadIcon(){try{if(this._src)this._setIconContent(this._src);else if(this._name){let e=this._tryGetIcon(this._name);if(!e){if(!this._external){this._registrationListener=()=>this._applyIcon(),w(this._name,this._registrationListener),this._adapter.setContent("");return}if(!this._externalType)throw new Error(`Invalid external type provided for icon: ${this._name}`);let t=this._getExternalUrl(this._name,this._externalType);t&&(e=await B(t,this._name))}this._setIconContent(e)}else this._adapter.setContent("")}catch(e){throw this._adapter.setContent(""),e}}_setIconContent(e){let t=L(e,this._viewbox);this._adapter.setContent(t)}_tryGetIcon(e){return N(e)}_getExternalUrl(e,t){if(typeof this._externalUrlBuilder=="function")return this._externalUrlBuilder(e,t);let i=z(this._externalType);return`${r.strings.DEFAULT_NETWORK_BASE_URL}${i?`/${i}`:""}/${e}.svg`}get name(){return this._name}set name(e){this._name!==e&&(this._registrationListener&&this._tryRemoveListener(),this._name=(e||"").replace(/\s+/,""),this._safeApplyIcon(),this._adapter.toggleHostAttribute(r.attributes.NAME,!!this._name,this._name))}get src(){return this._src}set src(e){this._src!==e&&(this._src=e,this._adapter.isConnected&&this._applyIcon())}get lazy(){return this._lazy}set lazy(e){this._lazy!==e&&(this._lazy=e,this._safeApplyIcon(),this._adapter.setHostAttribute(r.attributes.LAZY,`${this._lazy}`))}get external(){return this._external}set external(e){this._external!==e&&(this._external=e,this._safeApplyIcon(),this._adapter.setHostAttribute(r.attributes.EXTERNAL,`${this._external}`))}get externalType(){return this._externalType}set externalType(e){this._externalType!==e&&(this._externalType=e,this._safeApplyIcon(),this._adapter.setHostAttribute(r.attributes.EXTERNAL_TYPE,`${this._externalType}`))}get externalUrlBuilder(){return this._externalUrlBuilder}set externalUrlBuilder(e){this._externalUrlBuilder!==e&&(this._externalUrlBuilder=e,this._safeApplyIcon())}get viewbox(){return this._viewbox}set viewbox(e){this._viewbox!==e&&(this._viewbox=e,this._safeApplyIcon(),this._adapter.setHostAttribute(r.attributes.VIEWBOX,`${this.viewbox}`))}layout(){this._adapter.isConnected&&this._applyIcon()}};var H="<template></template>",F=':host{font-size:24px;font-size:var(--forge-icon-font-size, 24px);display:inline-block;contain:content;-webkit-box-sizing:content-box!important;box-sizing:content-box!important}:host>svg{fill:currentColor;fill:var(--forge-icon-theme-color,currentColor);stroke:currentColor;stroke:var(--forge-icon-theme-color,currentColor);display:block;width:1em;height:1em;stroke-width:0}:host([hidden]){display:none}:host([theme=primary]){color:var("primary")}:host([theme=secondary]){color:var("secondary")}:host([theme=warning]){color:#d14900;color:var("warning", #d14900)}:host([theme=danger]){color:#b00020;color:var("danger", #b00020)}:host([theme=success]){color:#2e7d32;color:var("success", #2e7d32)}:host([theme=info]){color:#424242;color:var("info", #424242)}:host([theme=tertiary]){color:#3d5afe;color:var("tertiary", #3d5afe)}',c=class extends y{constructor(){super();g(this,H,F),this._foundation=new m(new u(this))}static get observedAttributes(){return[r.attributes.NAME,r.attributes.SRC,r.attributes.LAZY,r.attributes.EXTERNAL,r.attributes.EXTERNAL_TYPE,r.attributes.VIEWBOX]}connectedCallback(){this._foundation.initialize()}disconnectedCallback(){this._foundation.disconnect()}attributeChangedCallback(t,i,o){switch(t){case r.attributes.NAME:this.name=o;break;case r.attributes.SRC:this.src=o;break;case r.attributes.LAZY:this.lazy=h(o);break;case r.attributes.EXTERNAL:this.external=h(o);break;case r.attributes.EXTERNAL_TYPE:this.externalType=o;break;case r.attributes.VIEWBOX:this.viewbox=o;break}}layout(){this._foundation.layout()}};l([p()],c.prototype,"name",2),l([p()],c.prototype,"src",2),l([p()],c.prototype,"lazy",2),l([p()],c.prototype,"external",2),l([p()],c.prototype,"externalType",2),l([p()],c.prototype,"externalUrlBuilder",2),l([p()],c.prototype,"viewbox",2),c=l([v({name:r.elementName})],c);var U=class extends A{constructor(e){super(e)}_build(){return document.createElement(r.elementName)}};function ye(){I(c)}window&&!window[_]&&(window[_]=a);export{r as a,_ as b,u as c,a as d,L as e,N as f,w as g,O as h,B as i,z as j,m as k,c as l,U as m,ye as n};
7
- //# sourceMappingURL=chunk.S2YVOMLW.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/icon/icon-constants.ts", "../../src/icon/icon-adapter.ts", "../../src/icon/icon-registry.ts", "../../src/icon/icon-utils.ts", "../../src/icon/icon-foundation.ts", "../../src/icon/icon.ts", "../../src/icon/icon-component-delegate.ts", "../../src/icon/index.ts"],
4
- "sourcesContent": ["import { COMPONENT_NAME_PREFIX, CDN_BASE_URL } from '../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}icon`;\n\nconst observedAttributes = {\n NAME: 'name',\n SRC: 'src',\n LAZY: 'lazy',\n EXTERNAL: 'external',\n EXTERNAL_TYPE: 'external-type',\n VIEWBOX: 'viewbox'\n};\n\nconst attributes = {\n ...observedAttributes\n};\n\nconst numbers = {\n LAZY_ROOT_MARGIN: 50,\n DEFAULT_WIDTH: 24,\n DEFAULT_HEIGHT: 24\n};\n\nconst strings = {\n DEFAULT_NETWORK_BASE_URL: `${CDN_BASE_URL}v1/icons/svg`\n};\n\nexport const ICON_CONSTANTS = {\n elementName,\n attributes,\n numbers,\n strings\n};\n\nexport const ICON_REGISTRY_KEY = 'forgeIcons';\n\nexport declare type IconUrlBuilder = (name: string, type: IconExternalType) => string;\nexport declare type IconExternalType = '' | 'custom' | 'standard' | 'extended';\n", "import { IIconComponent } from './icon';\nimport { BaseAdapter, IBaseAdapter } from '../core';\nimport { ICON_CONSTANTS } from './icon-constants';\n\nexport interface IIconAdapter extends IBaseAdapter {\n initialize(): void;\n canLazyLoad(): boolean;\n observeVisibility(listener: () => void): void;\n destroyVisibilityObserver(): void;\n setContent(content: string): void;\n}\n\nexport class IconAdapter extends BaseAdapter<IIconComponent> implements IIconAdapter {\n private _observer: IntersectionObserver | undefined;\n\n constructor(component: IIconComponent) {\n super(component);\n }\n\n public initialize(): void {\n if (!this._component.hasAttribute('aria-hidden')) {\n this._component.setAttribute('aria-hidden', 'true');\n }\n }\n\n public canLazyLoad(): boolean {\n return !!window.IntersectionObserver;\n }\n\n public observeVisibility(listener: () => void): void {\n this._observer = new IntersectionObserver(entries => {\n if (entries.some(entry => entry.isIntersecting)) {\n this.destroyVisibilityObserver();\n listener();\n }\n }, { rootMargin: `${ICON_CONSTANTS.numbers.LAZY_ROOT_MARGIN}px` });\n this._observer.observe(this._component);\n }\n\n public destroyVisibilityObserver(): void {\n if (this._observer) {\n this._observer.disconnect();\n this._observer = undefined;\n }\n }\n\n public setContent(content: string): void {\n const shadowRoot = this._component.shadowRoot as ShadowRoot;\n const styleTag = shadowRoot.querySelector('style');\n shadowRoot.innerHTML = content;\n if (styleTag) {\n shadowRoot.appendChild(styleTag);\n }\n }\n}\n", "/** The shape of an SVG icon that can be defined with the icon registry. */\nexport interface IIcon {\n /** The unique name of the icon. */\n name: string;\n /** The SVG icon data. */\n data: string;\n}\n\n/**\n * The registry for SVG icon instances being used within the current context.\n */\nexport class IconRegistry {\n private static _icons = new Map<string, string>();\n private static _listeners = new Map<string, Array<() => void>>();\n\n /**\n * Defines a new icon.\n * @param icon The icon(s) to register.\n */\n public static define(icon: IIcon | IIcon[] | string, svgData?: string): void {\n if (Array.isArray(icon)) {\n return icon.filter(i => IconRegistry._isIconObject(i))\n .forEach(i => IconRegistry._register(i.name, i.data));\n }\n const { name, data } = IconRegistry._parseIcon(icon, svgData);\n IconRegistry._register(name, data);\n }\n\n /**\n * Removes a defined icon.\n * @param icon The icon to unregister.\n */\n public static remove(icon: IIcon | string): void {\n const key = IconRegistry._isIconObject(icon) ? icon.name : icon;\n IconRegistry._icons.delete(key);\n }\n\n /**\n * Removes a listener\n * @param key The icon name.\n * @param listener The listener callback.\n */\n public static removeListener(key: string, listener: () => void): void {\n const listeners = IconRegistry._listeners.get(key);\n if (Array.isArray(listeners) && listeners.includes(listener)) {\n listeners.splice(listeners.indexOf(listener), 1);\n }\n }\n\n /** Removes all defined icons. */\n public static clear(): void {\n IconRegistry._icons.clear();\n IconRegistry._listeners.clear();\n }\n\n /** Gets the icon data by its name, or `undefined` if not found. */\n public static get(name: string): string | undefined {\n return IconRegistry._icons.get(name);\n }\n\n /** Gets the names of registered icons. */\n public static getIconNames(): string[] {\n return Array.from(IconRegistry._icons.keys());\n }\n\n /** Registers a listener to be notified when an icon with the provided key is registered in the future. */\n public static awaitIcon(key: string, listener: () => void): void {\n if (IconRegistry._icons.has(key)) {\n listener();\n return;\n }\n const listeners = IconRegistry._listeners.get(key) ?? [];\n IconRegistry._listeners.set(key, [...listeners, listener]);\n }\n\n /** Gets the number of defined icons in the registry. */\n public static get size(): number {\n return IconRegistry._icons.size;\n }\n\n /** Registers an icon, and attempts to invalidate any listeners. */\n private static _register(key: string, value: string): void {\n IconRegistry._icons.set(key, value);\n IconRegistry._invalidateListeners(key);\n }\n\n /** Gets all listeners for a specific key, calls the listeners (if any are found), and removes the listeners after they are called. */\n private static _invalidateListeners(key: string): void {\n const listeners = IconRegistry._listeners.get(key);\n if (Array.isArray(listeners) && listeners.length) {\n listeners.forEach(listener => listener());\n IconRegistry._listeners.delete(key);\n }\n }\n\n /** Normalizes incoming parameters to an `IIcon` type. */\n private static _parseIcon(icon: IIcon | string, data = ''): IIcon {\n if (IconRegistry._isIconObject(icon)) {\n return icon;\n }\n return { name: icon, data };\n }\n\n /** Determines if the provided `icon` matches the `IIcon` shape. */\n private static _isIconObject(icon: any): icon is IIcon {\n return typeof icon === 'object' && icon.hasOwnProperty('name') && icon.hasOwnProperty('data');\n }\n}\n", "import { IconRegistry } from './icon-registry';\nimport { ICON_CONSTANTS } from './icon-constants';\nimport { createSvgFromString } from '../core/utils/svg-utils';\n\nconst _activeIconRequests = new Map<string, Promise<any>>();\n\n/** Determines if the provided SVG icon content is valid */\nexport function sanitizeSvgContent(svgContent: string | undefined, customViewBox?: string, usePartAttrs = true): string {\n if (!svgContent || !svgContent.includes('svg')) {\n return '';\n }\n \n if (!customViewBox && !svgContent.includes('viewBox')) {\n customViewBox = `0 0 ${ICON_CONSTANTS.numbers.DEFAULT_WIDTH} ${ICON_CONSTANTS.numbers.DEFAULT_HEIGHT}`;\n }\n\n const svgElement = createSvgFromString(svgContent, customViewBox);\n\n if (usePartAttrs && svgElement) {\n svgElement.setAttribute('part', 'svg');\n svgElement.querySelectorAll('path').forEach(node => {\n node.setAttribute('part', node.tagName.toLowerCase());\n });\n }\n\n return svgElement ? svgElement.outerHTML : '';\n}\n\nexport function getCachedIcon(key: string): string | undefined {\n return IconRegistry.get(key);\n}\n\nexport function awaitIconDefinition(key: string, listener: () => void): void {\n IconRegistry.awaitIcon(key, listener);\n}\n\nexport function removeIconListener(key: string, listener: () => void): void {\n IconRegistry.removeListener(key, listener);\n}\n\nexport function fetchIconContent(url: string, name: string): Promise<string> {\n // Check if we already have an active request for this URL\n let request = _activeIconRequests.get(url);\n\n if (!request) {\n if (typeof fetch !== 'undefined' && typeof document !== 'undefined') {\n // we don't already have a request\n request = fetch(url).then(async response => {\n if (response.ok) {\n const data = await response.text() || '';\n IconRegistry.define({ name, data });\n _activeIconRequests.delete(url);\n return data;\n }\n IconRegistry.define({ name, data: '' });\n return '';\n });\n\n // Cache this request in case of duplicate requests\n _activeIconRequests.set(url, request);\n } else {\n // set to empty for ssr scenarios and resolve promise\n IconRegistry.define({ name, data: '' });\n return Promise.resolve('');\n }\n }\n\n return request || Promise.resolve('');\n}\n\nexport function sanitizeExternalType(type: string): string {\n const isValidType = ['standard', 'extended', 'custom'].includes(type);\n return isValidType ? type : '';\n}\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\nimport { IIconAdapter } from './icon-adapter';\nimport { ICON_CONSTANTS, IconUrlBuilder, IconExternalType } from './icon-constants';\nimport { sanitizeSvgContent, fetchIconContent, getCachedIcon, sanitizeExternalType, awaitIconDefinition, removeIconListener } from './icon-utils';\n\nexport interface IIconFoundation extends ICustomElementFoundation {\n name: string | undefined;\n src: string | undefined;\n lazy: boolean;\n external: boolean;\n externalType: IconExternalType;\n externalUrlBuilder: IconUrlBuilder;\n viewbox: string;\n layout(): void;\n}\n\nexport class IconFoundation implements IIconFoundation {\n private _name: string | undefined;\n private _src: string | undefined;\n private _lazy: boolean;\n private _external = false;\n private _externalType: IconExternalType = 'standard';\n private _externalUrlBuilder: IconUrlBuilder;\n private _viewbox: string;\n private _applyTimer: number | undefined;\n private _lazyListener: () => void;\n private _registrationListener: () => void;\n\n constructor(private _adapter: IIconAdapter) {\n this._lazyListener = () => this._loadIcon();\n }\n\n public initialize(): void {\n this._adapter.initialize();\n this._applyIcon();\n }\n\n public disconnect(): void {\n this._adapter.destroyVisibilityObserver();\n this._clearIconQueue();\n this._tryRemoveListener();\n }\n\n private _safeApplyIcon(): void {\n if (!this._adapter.isConnected) {\n return;\n }\n this._clearIconQueue();\n this._queueIconUpdate();\n }\n\n private _tryRemoveListener(): void {\n if (this._registrationListener && this._name) {\n removeIconListener(this._name, this._registrationListener);\n }\n }\n\n private _applyIcon(): void {\n if (this._lazy && this._adapter.canLazyLoad()) {\n this._adapter.observeVisibility(this._lazyListener);\n } else {\n this._loadIcon();\n }\n }\n\n private _clearIconQueue(): void {\n if (this._applyTimer) {\n clearTimeout(this._applyTimer);\n this._applyTimer = undefined;\n }\n }\n\n private _queueIconUpdate(): void {\n this._applyTimer = window.setTimeout(() => {\n this._applyTimer = undefined;\n this._applyIcon();\n });\n }\n\n private async _loadIcon(): Promise<void> {\n try {\n if (this._src) {\n // We were provided direct icon source content so just set that\n this._setIconContent(this._src);\n } else if (this._name) {\n // Let's attempt to get our icon from the cache\n let content = this._tryGetIcon(this._name);\n\n if (!content) {\n if (!this._external) {\n // We attach a listener to the registry to let us know when the icon is registered\n this._registrationListener = () => this._applyIcon();\n awaitIconDefinition(this._name, this._registrationListener);\n\n // For now, we render nothing...\n this._adapter.setContent('');\n return;\n }\n \n // We don't have a registry icon, so let's try the network to fetch it\n if (!this._externalType) {\n throw new Error(`Invalid external type provided for icon: ${this._name}`);\n }\n const url = this._getExternalUrl(this._name, this._externalType);\n if (url) {\n content = await fetchIconContent(url, this._name);\n }\n }\n\n this._setIconContent(content);\n } else {\n this._adapter.setContent('');\n }\n } catch (e) {\n this._adapter.setContent('');\n throw e;\n }\n }\n\n private _setIconContent(svgContent: string | undefined): void {\n const content = sanitizeSvgContent(svgContent, this._viewbox);\n this._adapter.setContent(content);\n }\n\n private _tryGetIcon(key: string): string | undefined {\n return getCachedIcon(key);\n }\n\n private _getExternalUrl(name: string, type: IconExternalType): string {\n if (typeof this._externalUrlBuilder === 'function') {\n return this._externalUrlBuilder(name, type);\n }\n const setName = sanitizeExternalType(this._externalType);\n return `${ICON_CONSTANTS.strings.DEFAULT_NETWORK_BASE_URL}${setName ? `/${setName}` : ''}/${name}.svg`;\n }\n\n public get name(): string | undefined {\n return this._name;\n }\n public set name(value: string | undefined) {\n if (this._name !== value) {\n // We need to remove our listener for the previous name if we have any\n if (!!this._registrationListener) {\n this._tryRemoveListener();\n }\n this._name = (value || '').replace(/\\s+/, '');\n this._safeApplyIcon();\n this._adapter.toggleHostAttribute(ICON_CONSTANTS.attributes.NAME, !!this._name, this._name);\n }\n }\n\n public get src(): string | undefined {\n return this._src;\n }\n public set src(value: string | undefined) {\n if (this._src !== value) {\n this._src = value;\n if (this._adapter.isConnected) {\n this._applyIcon();\n }\n }\n }\n\n public get lazy(): boolean {\n return this._lazy;\n }\n public set lazy(value: boolean) {\n if (this._lazy !== value) {\n this._lazy = value;\n this._safeApplyIcon();\n this._adapter.setHostAttribute(ICON_CONSTANTS.attributes.LAZY, `${this._lazy}`);\n }\n }\n\n public get external(): boolean {\n return this._external;\n }\n public set external(value: boolean) {\n if (this._external !== value) {\n this._external = value;\n this._safeApplyIcon();\n this._adapter.setHostAttribute(ICON_CONSTANTS.attributes.EXTERNAL, `${this._external}`);\n }\n }\n\n public get externalType(): IconExternalType {\n return this._externalType;\n }\n public set externalType(value: IconExternalType) {\n if (this._externalType !== value) {\n this._externalType = value;\n this._safeApplyIcon();\n this._adapter.setHostAttribute(ICON_CONSTANTS.attributes.EXTERNAL_TYPE, `${this._externalType}`);\n }\n }\n\n public get externalUrlBuilder(): IconUrlBuilder {\n return this._externalUrlBuilder;\n }\n public set externalUrlBuilder(cb: IconUrlBuilder) {\n if (this._externalUrlBuilder !== cb) {\n this._externalUrlBuilder = cb;\n this._safeApplyIcon();\n }\n }\n \n public get viewbox(): string {\n return this._viewbox;\n }\n public set viewbox(value: string) {\n if (this._viewbox !== value) {\n this._viewbox = value;\n this._safeApplyIcon();\n this._adapter.setHostAttribute(ICON_CONSTANTS.attributes.VIEWBOX, `${this.viewbox}`);\n }\n }\n\n public layout(): void {\n if (this._adapter.isConnected) {\n this._applyIcon();\n }\n }\n}\n", "import { CustomElement, attachShadowTemplate, FoundationProperty, coerceBoolean } from '@tylertech/forge-core';\nimport { IconAdapter } from './icon-adapter';\nimport { IconFoundation } from './icon-foundation';\nimport { ICON_CONSTANTS, IconUrlBuilder, IconExternalType } from './icon-constants';\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\n\nconst template = '<template></template>';\nconst styles = ':host{font-size:24px;font-size:var(--forge-icon-font-size, 24px);display:inline-block;contain:content;-webkit-box-sizing:content-box!important;box-sizing:content-box!important}:host>svg{fill:currentColor;fill:var(--forge-icon-theme-color,currentColor);stroke:currentColor;stroke:var(--forge-icon-theme-color,currentColor);display:block;width:1em;height:1em;stroke-width:0}:host([hidden]){display:none}:host([theme=primary]){color:var(\\\"primary\\\")}:host([theme=secondary]){color:var(\\\"secondary\\\")}:host([theme=warning]){color:#d14900;color:var(\\\"warning\\\", #d14900)}:host([theme=danger]){color:#b00020;color:var(\\\"danger\\\", #b00020)}:host([theme=success]){color:#2e7d32;color:var(\\\"success\\\", #2e7d32)}:host([theme=info]){color:#424242;color:var(\\\"info\\\", #424242)}:host([theme=tertiary]){color:#3d5afe;color:var(\\\"tertiary\\\", #3d5afe)}';\n\nexport interface IIconComponent extends IBaseComponent {\n name: string | undefined;\n src: string | undefined;\n lazy: boolean;\n external: boolean;\n externalType: IconExternalType;\n externalUrlBuilder: IconUrlBuilder;\n viewbox: string;\n layout(): void;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-icon': IIconComponent;\n }\n}\n\n/**\n * The web component class behind the `<forge-icon>` custom element.\n * \n * @tag forge-icon\n */\n@CustomElement({\n name: ICON_CONSTANTS.elementName\n})\nexport class IconComponent extends BaseComponent implements IIconComponent {\n public static get observedAttributes(): string[] {\n return [\n ICON_CONSTANTS.attributes.NAME,\n ICON_CONSTANTS.attributes.SRC,\n ICON_CONSTANTS.attributes.LAZY,\n ICON_CONSTANTS.attributes.EXTERNAL,\n ICON_CONSTANTS.attributes.EXTERNAL_TYPE,\n ICON_CONSTANTS.attributes.VIEWBOX\n ];\n }\n\n private _foundation: IconFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._foundation = new IconFoundation(new IconAdapter(this));\n }\n\n public connectedCallback(): void {\n this._foundation.initialize();\n }\n\n public disconnectedCallback(): void {\n this._foundation.disconnect();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case ICON_CONSTANTS.attributes.NAME:\n this.name = newValue;\n break;\n case ICON_CONSTANTS.attributes.SRC:\n this.src = newValue;\n break;\n case ICON_CONSTANTS.attributes.LAZY:\n this.lazy = coerceBoolean(newValue);\n break;\n case ICON_CONSTANTS.attributes.EXTERNAL:\n this.external = coerceBoolean(newValue);\n break;\n case ICON_CONSTANTS.attributes.EXTERNAL_TYPE:\n this.externalType = newValue as IconExternalType;\n break;\n case ICON_CONSTANTS.attributes.VIEWBOX:\n this.viewbox = newValue;\n break;\n }\n }\n\n /** The name of the icon within the icon registry to be used. */\n @FoundationProperty()\n public declare name: string | undefined;\n\n /** Provides the ability to set the SVG string content directly. */\n @FoundationProperty()\n public declare src: string | undefined;\n\n /** Controls whether the icon will be loaded dynamically when it comes into view. False by default. */\n @FoundationProperty()\n public declare lazy: boolean;\n\n /** Controls whether external network requests are allowed for this icon. Only pertains for icons that aren't defined in the registry. */\n @FoundationProperty()\n public declare external: boolean;\n\n /** The type of icon to load externally. Possible values: \"standard\", \"extended\", \"custom\". */\n @FoundationProperty()\n public declare externalType: IconExternalType;\n\n /** A callback that can be provided to generate a URL that will be used to fetch an SVG icon. */\n @FoundationProperty()\n public declare externalUrlBuilder: IconUrlBuilder;\n\n /** A custom value to apply to the `viewBox` attribute on the internal `<svg>` element. */\n @FoundationProperty()\n public declare viewbox: string;\n\n /** Forces a reload of the icon. */\n public layout(): void {\n this._foundation.layout();\n }\n}\n", "import { BaseComponentDelegate, IBaseComponentDelegateOptions, IBaseComponentDelegateConfig } from '../core/delegates/base-component-delegate';\nimport { ICON_CONSTANTS } from './icon-constants';\nimport { IIconComponent } from './icon';\n\nexport interface IIconComponentDelegateOptions extends IBaseComponentDelegateOptions {}\nexport interface IIconComponentDelegateConfig extends IBaseComponentDelegateConfig<IIconComponent, IIconComponentDelegateOptions> {}\n\nexport class IconComponentDelegate extends BaseComponentDelegate<IIconComponent, IIconComponentDelegateOptions> {\n constructor(config?: IIconComponentDelegateConfig) {\n super(config);\n }\n\n protected _build(): IIconComponent {\n return document.createElement(ICON_CONSTANTS.elementName);\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { IconComponent } from './icon';\nimport { IconRegistry } from './icon-registry';\nimport { ICON_REGISTRY_KEY } from './icon-constants';\n\nexport * from './icon-adapter';\nexport * from './icon-constants';\nexport * from './icon-foundation';\nexport * from './icon-registry';\nexport * from './icon-utils';\nexport * from './icon';\nexport * from './icon-component-delegate';\n\nexport function defineIconComponent(): void {\n defineCustomElement(IconComponent);\n}\n\n// Store a reference to the icon registry on `window`.\nif (window && !window[ICON_REGISTRY_KEY]) {\n window[ICON_REGISTRY_KEY] = IconRegistry;\n}\n"],
5
- "mappings": "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",
6
- "names": ["elementName", "COMPONENT_NAME_PREFIX", "observedAttributes", "attributes", "__spreadValues", "numbers", "strings", "CDN_BASE_URL", "ICON_CONSTANTS", "ICON_REGISTRY_KEY", "IconAdapter", "BaseAdapter", "component", "listener", "entries", "entry", "ICON_CONSTANTS", "content", "shadowRoot", "styleTag", "_IconRegistry", "icon", "svgData", "i", "name", "data", "key", "listener", "listeners", "_a", "value", "IconRegistry", "_activeIconRequests", "sanitizeSvgContent", "svgContent", "customViewBox", "usePartAttrs", "ICON_CONSTANTS", "svgElement", "createSvgFromString", "node", "getCachedIcon", "key", "IconRegistry", "awaitIconDefinition", "listener", "removeIconListener", "fetchIconContent", "url", "name", "request", "response", "data", "sanitizeExternalType", "type", "IconFoundation", "_adapter", "removeIconListener", "content", "awaitIconDefinition", "url", "fetchIconContent", "svgContent", "sanitizeSvgContent", "key", "getCachedIcon", "name", "type", "setName", "sanitizeExternalType", "ICON_CONSTANTS", "value", "cb", "template", "styles", "IconComponent", "BaseComponent", "attachShadowTemplate", "IconFoundation", "IconAdapter", "ICON_CONSTANTS", "name", "oldValue", "newValue", "coerceBoolean", "__decorateClass", "FoundationProperty", "CustomElement", "IconComponentDelegate", "BaseComponentDelegate", "config", "ICON_CONSTANTS", "defineIconComponent", "defineCustomElement", "IconComponent", "ICON_REGISTRY_KEY", "IconRegistry"]
7
- }
@@ -1,7 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2023 Tyler Technologies, Inc.
4
- * License: Apache-2.0
5
- */
6
- import{a as Q}from"./chunk.K7HRCGML.js";import{a as J,b as N}from"./chunk.DYF2MREZ.js";import{a as V}from"./chunk.6YPD6CQM.js";import{a as Y}from"./chunk.BL4IBI6G.js";import{a as $}from"./chunk.4DAIIJ37.js";import{a as b}from"./chunk.3C44DXZ2.js";import{g as O,h as I}from"./chunk.MZLPUI6R.js";import{a as q,d as X}from"./chunk.S2YVOMLW.js";import{d as j}from"./chunk.QOA2O575.js";import{g as H}from"./chunk.HOXFK44F.js";import{d as U,e as M,f as B,i as K,x as z}from"./chunk.4LA6HEA7.js";import{b as _,d as G,h as P,j as v,n as g,p as R}from"./chunk.J2M2MXP2.js";import{a as A}from"./chunk.MCIQXNKY.js";var me={POPUP_CLASSES:"popup-classes",OPTION_LIMIT:"option-limit",OBSERVE_SCROLL:"observe-scroll",OBSERVE_SCROLL_THRESHOLD:"observe-scroll-threshold",SYNC_POPUP_WIDTH:"sync-popup-width",CONSTRAIN_POPUP_WIDTH:"constrain-popup-width",WRAP_OPTION_TEXT:"wrap-option-text",CHECKBOX_ELEMENT:"data-list-dropdown-checkbox",DATA_ALLOW_FOCUS:"data-list-dropdown-allow-focus"},he={GROUP_WRAPPER:"forge-list-dropdown__group-wrapper"},u={attributes:me,classes:he},Z={options:[],syncWidth:!1,selectedValues:[],multiple:!1},ee=(o=>(o.None="none",o.Standard="standard",o.Menu="menu",o))(ee||{}),te=(t=>(t.Spinner="spinner",t.Skeleton="skeleton",t))(te||{});var E=class{constructor(){this._listenerMap=new Map}_emit(e,t){let o=this._listenerMap.get(e);o&&o.length&&o.forEach(n=>n({type:e,data:t}))}hasListeners(e){return e?this._listenerMap.has(e):this._listenerMap.size>0}addListener(e,t){if(!this._listenerMap.has(e))this._listenerMap.set(e,[t]);else{let o=this._listenerMap.get(e);o&&o.push(t)}}removeListener(e,t){let o=this._listenerMap.get(e);o&&o.length&&o.includes(t)&&(o.splice(o.indexOf(t),1),o.length||this._listenerMap.delete(e))}};var f;(function(i){i.Up="up",i.Down="down",i.Left="left",i.Right="right"})(f||(f={}));var c;(function(i){i.Scroll="scroll",i.Scrolled="scrolled",i.ScrolledStart="scrolled-start",i.ScrolledEnd="scrolled-end"})(c||(c={}));var _e=100,w=class extends E{constructor(e,t={}){super(),this._element=e,this._config=t,this._axis="vertical",this._scrollThreshold=0,this._lastScrollPosition=0,this._lastScrollTop=0,this._lastScrollLeft=0,this._isListening=!1,this._initialize()}destroy(){this.stop()}start(){this._isListening||(this._element.addEventListener("scroll",this._scrollListener),this._isListening=!0)}stop(){this._element.removeEventListener("scroll",this._scrollListener),this._isListening=!1}_initialize(){if(this._config.throttle){let e=this._config.throttleTime||_e;this._scrollListener=R(()=>this._onScroll(),e)}else this._scrollListener=()=>this._onScroll();(!_(this._config.paused)||!this._config.paused)&&this.start(),_(this._config.axis)&&(this._axis=this._config.axis),_(this._config.scrollThreshold)&&G(this._config.scrollThreshold)&&(this._scrollThreshold=this._config.scrollThreshold)}_isScrollAxis(){let e=this._lastScrollTop!==this._element.scrollTop,t=this._lastScrollLeft!==this._element.scrollLeft;return this._axis==="vertical"&&e||this._axis==="horizontal"&&t}_onScroll(){if(!this._isScrollAxis())return;let e=this.scrollPosition,t=this._lastScrollPosition-e<0?this._axis==="vertical"?f.Down:f.Right:this._axis==="vertical"?f.Up:f.Left;this._emit(c.Scroll,{direction:t,position:e}),this._lastScrollPosition<=this._scrollThreshold&&e>this._scrollThreshold?this._emit(c.Scrolled,!0):this._lastScrollPosition>=this._scrollThreshold&&(this._scrollThreshold>0?e<this._scrollThreshold:e===0)&&this._emit(c.Scrolled,!1);let o=Math.round(e-this._scrollThreshold),n=Math.round(this.scrollSize-e);this._lastScrollPosition>=this._scrollThreshold&&o<=0?this._emit(c.ScrolledStart):this._lastScrollPosition<=this.scrollSize-this._scrollThreshold&&n<=this._scrollThreshold&&this._emit(c.ScrolledEnd),this._lastScrollPosition=e||0,this._lastScrollTop=this._element.scrollTop||0,this._lastScrollLeft=this._element.scrollLeft||0}get scrollPosition(){return this._axis==="vertical"?this._element.scrollTop:this._element.scrollLeft}get isScrolled(){return this.scrollPosition>this._scrollThreshold}get isScrolledStart(){return this.scrollPosition===0}get isScrolledEnd(){return this.scrollPosition===this._element.scrollWidth}get isScrollable(){return this._axis==="vertical"?this._element.scrollHeight>this._element.clientHeight:this._element.scrollWidth>this._element.clientWidth}get scrollSize(){return(this._axis==="vertical"?this._element.scrollHeight:this._element.scrollWidth)-this.elementSize}get elementSize(){return this._axis==="vertical"?this._element.clientHeight:this._element.clientWidth}setScrollPosition(e){this._axis==="vertical"?this._element.scrollTop=e:this._element.scrollLeft=e}};function oe(i,e){let t=fe(i,e),o=`list-dropdown-popup-${i.id}`;switch(t.addEventListener("mousedown",n=>{let a=$(n);if(a.find(m=>m.nodeType===1&&m.hasAttribute(u.attributes.DATA_ALLOW_FOCUS)))return;a.find(m=>m.id===o||m.id===i.id)&&n.preventDefault()}),i.type){case"menu":t.setAttribute("role","menu"),t.setAttribute("aria-orientation","vertical");break;default:t.setAttribute("role","listbox")}return i.id&&(t.id=o),i.popupClasses&&B(i.popupClasses,t),t}function fe(i,e){var o;let t=document.createElement("forge-popup");switch(t.targetElement=e,t.placement=i.popupPlacement||"bottom-start",t.manageFocus=!1,t.static=!!i.popupStatic,(o=i.popupFallbackPlacements)!=null&&o.length&&(t.fallbackPlacements=i.popupFallbackPlacements),i.constrainViewportWidth&&t.setAttribute(b.attributes.CONSTRAIN_VIEWPORT_WIDTH,""),i.popupOffset&&(t.offset=i.popupOffset),i.type){case"menu":t.animationType="menu";break;case"none":t.animationType="none";break;default:t.animationType="dropdown"}return t}function ne(i){let e=document.createElement(J.elementName);return e.id=`list-dropdown-list-${i.id}`,e.propagateClick=!1,e}function y(i,e,t,o=0,n=!0){let a=ge(t||i.options),d=F(a),L=!!i.optionLimit,m=i.optionLimit||0,ae=o;for(let h of a){let x=e;if(h.builder&&typeof h.builder=="function"){let s=h.builder(h);if(s){let p=document.createElement("div");p.classList.add(u.classes.GROUP_WRAPPER),x=p,typeof s=="string"?p.innerHTML=s:s instanceof HTMLElement&&p.appendChild(s),e.appendChild(p)}}else if(h.text){let s=document.createElement("div");s.classList.add(u.classes.GROUP_WRAPPER);let p=document.createElement("div");p.textContent=h.text,p.classList.add("forge-typography--overline"),p.style.fontFamily="Roboto,sans-serif",p.style.fontSize="0.75rem",p.style.lineHeight="2rem",p.style.letterSpacing="0.16667em",p.style.fontWeight="500",p.style.margin="4px 8px",x=s,s.appendChild(p),e.appendChild(s)}for(let s of h.options){if(s.divider){let r=ve();e.appendChild(r);continue}if(L&&--m<0)break;let p=i.selectedValues?i.selectedValues.some(r=>g(r,s.value)):!1;if(!n&&p)continue;let l=document.createElement("forge-list-item");switch(l.value=s.value,l.id=`list-dropdown-option-${i.id}-${ae++}`,l.style.cursor="pointer",i.wrapOptionText&&(l.wrap=!0),s.optionClass&&(typeof s.optionClass=="string"||Array.isArray(s.optionClass)&&s.optionClass.length)&&B(s.optionClass,l),i.type){case"menu":l.setAttribute("role","menuitem");break;case"none":break;default:l.setAttribute("role","option")}if(i.dense&&(l.dense=!0),i.optionBuilder&&typeof i.optionBuilder=="function"){let r=i.optionBuilder(s,l);r&&(typeof r=="string"?l.innerHTML=r:l.appendChild(r))}else if(typeof i.transform!="function")l.textContent=s.label||"";else{let r=i.transform(s.label);typeof r=="string"?l.textContent=r:typeof r=="object"&&r.nodeType!==void 0&&l.appendChild(r)}if(i.multiple){let r=C(p);l.appendChild(r),l.setAttribute("aria-selected",`${p}`),l.setAttribute("aria-checked",`${p}`)}if(s.elementAttributes&&s.elementAttributes.forEach((r,W)=>{l.setAttribute(W,r)}),s.leadingBuilder){let r=s.leadingBuilder();v(r)&&(r.slot="leading",l.appendChild(r))}else if(s.leadingIcon){let r=ie(s.leadingIconType,s.leadingIcon,s.leadingIconClass||i.iconClass);r.slot="leading",l.appendChild(r)}if(s.trailingBuilder){let r=s.trailingBuilder();v(r)&&(r.slot="trailing",l.appendChild(r))}else if(s.trailingIcon){let r=ie(s.trailingIconType,s.trailingIcon,s.trailingIconClass||i.iconClass);r.slot="trailing",l.appendChild(r)}if(s.disabled?(l.disabled=s.disabled,l.setAttribute("aria-disabled","true")):(l.style.cursor="pointer",l.setAttribute("aria-disabled","false")),p&&(l.selected=!0),l.setAttribute("aria-selected",p?"true":"false"),!s.disabled&&typeof i.cascadingElementFactory=="function"&&Array.isArray(s.options)&&s.options.length){let r=document.createElement("forge-icon");r.name="arrow_right",r.slot="trailing",l.appendChild(r);let ce={index:d.filter(ue=>!ue.divider).indexOf(s),options:s.options,parentValue:s.value},k=i.cascadingElementFactory.call(null,ce);k.appendChild(l),l=k}x.appendChild(l)}}}function C(i){let e=document.createElement("forge-icon");return e.setAttribute(u.attributes.CHECKBOX_ELEMENT,""),e.name=i?I.name:O.name,e.slot="leading",e.style.marginRight="16px",e.style.verticalAlign="middle",e}function ve(){let i=document.createElement("forge-divider");return i.setAttribute("aria-hidden","true"),i}function ie(i="font",e,t){if(i==="component"){let n=document.createElement("forge-icon");return t&&n.classList.add(t),n.setAttribute("aria-hidden","true"),n.name=e,n}let o=document.createElement("i");return o.classList.add(t||j),o.setAttribute("aria-hidden","true"),o.textContent=e,o}function se(i){switch(i){case"skeleton":return Le();default:return be()}}function be(){let i=document.createElement("div");i.style.display="flex",i.style.justifyContent="center",i.style.alignItems="center",i.style.padding="8px",i.style.boxSizing="border-box";let e=document.createElement("forge-circular-progress");return e.style.setProperty("--forge-circular-progress-size","24px"),i.appendChild(e),i}function Le(){let i=document.createElement("forge-list"),e=document.createElement("div");e.style.minWidth="192px";for(let t=0;t<3;t++){let o=document.createElement(Q.elementName);o.setAttribute("list-item",""),e.appendChild(o)}return i.appendChild(e),i}function re(){let i=document.createElement(Y.elementName);return i.determinate=!1,i.style.position="absolute",i.style.top="0",i.style.left="0",i.style.right="0",i.style.width="100%",i}function ge(i){return le(i,1)?i:[{text:"",options:i}]}function le(i,e){let t=i.some(n=>_(n)&&v(n)&&n.hasOwnProperty("options")&&(n.hasOwnProperty("text")||n.hasOwnProperty("builder"))),o=i.some(n=>_(n)&&v(n)&&n.hasOwnProperty("label")&&n.hasOwnProperty("value"));return t&&e===1||o&&e===0}function F(i){return le(i,1)?i.reduce((t,o)=>t.concat(o.options),[]):[...i]}var S=class{constructor(e,t){this._adapter=e;this._open=!1;this._config=Object.assign(A({},Z),A({},t)),this._selectListener=(o,n)=>this._onSelect(o,n),this._closeListener=()=>{typeof this._config.closeCallback=="function"&&this._config.closeCallback()},this._scrollEndListener=()=>{this._config.observeScroll&&typeof this._config.scrollEndListener=="function"&&this._config.scrollEndListener()}}destroy(){this._open&&this.close()}open(){this._open||(this._open=!0,this._adapter.open(this._config,this._selectListener,this._closeListener),window.requestAnimationFrame(()=>{this._open&&this.activateInitialOption()}),this._config.observeScroll&&this._config.scrollEndListener&&this._adapter.setScrollBottomListener(this._scrollEndListener,this._config.observeScrollThreshold||0))}close(){this._open&&(this._open=!1,this._adapter.close(),this._config.observeScroll&&this._config.scrollEndListener&&this._adapter.removeScrollBottomListener(this._scrollEndListener))}_onSelect(e,t){if(typeof this._config.activeChangeCallback=="function"&&this._config.activeChangeCallback(t),typeof this._config.selectCallback=="function"&&this._config.selectCallback(e),this._open){let o=this._config.syncWidth===void 0;this._adapter.syncWidth(o)}}getActiveOptionIndex(){return this._adapter.getActiveOptionIndex()}getActiveOption(){let e=this.getActiveOptionIndex();return e>=0?this._nonDividerOptions[e]:void 0}toggleOptionMultiple(e,t){return this._adapter.toggleOptionMultiple(e,t)}activateSelectedOption(){this._adapter.activateSelectedOption(this._config)}activateFirstOption(){let e=this._nonDividerOptions.findIndex(t=>!t.disabled);return e!==-1&&this.activateOption(e),e}activateLastOption(){let e=this._nonDividerOptions,t=e.length-1-e.findIndex(o=>!o.disabled);return t!==-1&&this.activateOption(t),t}activateOption(e,t){return this._adapter.activateOption(e,this._config.activeChangeCallback,t)}activateInitialOption(){typeof this._config.activeStartIndex=="number"&&this._nonDividerOptions[this._config.activeStartIndex]?(this.activateOption(this._config.activeStartIndex,!1),this._adapter.scrollSelectedOptionIntoView(!1)):this._config.selectedValues&&this._config.selectedValues.length?this._adapter.scrollSelectedOptionIntoView(!1):typeof this._config.visibleStartIndex=="number"&&this._nonDividerOptions[this._config.visibleStartIndex]&&this._adapter.scrollOptionIntoView(this._config.visibleStartIndex)}setSelectedValues(e){Array.isArray(e)||(e=[e]),!this._config.multiple&&e.length>1&&(e=[e[0]]),this._config.selectedValues=e,this._adapter.setSelectedValues(e,this._config.multiple)}clearActiveOption(){this._adapter.clearActiveOption()}setOptions(e){this._config.options=e,this._open&&(this._adapter.setOptions(this._config),this.activateInitialOption())}appendOptions(e){this._config.options=[...this._config.options,...e],this._open&&this._adapter.appendOptions(e,this._config)}get dropdownElement(){return this._adapter.dropdownElement}scrollSelectedOptionIntoView(e=!0){this._adapter.scrollSelectedOptionIntoView(e)}setScrollBottomListener(e,t){this._config.scrollEndListener=e,this._config.observeScroll=!0,this._config.observeScrollThreshold=t,this._adapter.setScrollBottomListener(this._scrollEndListener,this._config.observeScrollThreshold||0)}removeScrollBottomListener(){this._config.scrollEndListener=void 0,this._adapter.removeScrollBottomListener(this._scrollEndListener)}setBusyVisibility(e){!this._config.allowBusy||this._adapter.setBusyVisibility(e)}handleKey(e){switch(e){case"Enter":case"NumpadEnter":let t=this.getActiveOptionIndex(),o=this._nonDividerOptions[t];if(this._canSelectOption(o)){let d=this._adapter.getActiveOptionIdByIndex(t);d&&this._onSelect(o.value,d)}break;case"Up":case"ArrowUp":case"Down":case"ArrowDown":let n=this._nonDividerOptions;if(n.length&&n.every(d=>!this._canSelectOption(d)))return;let a=this._getNextActiveOptionIndex(e);this.activateOption(a);break;case"Home":this.activateFirstOption();break;case"End":this.activateLastOption();break}}_canSelectOption(e){return e&&!e.disabled&&!e.divider}_getNextActiveOptionIndex(e){let t=this._adapter.getActiveOptionIndex();return t===-1&&(t=this._adapter.getSelectedOptionIndex()),e==="ArrowUp"||e==="Up"?this._getPreviousHighlightableOptionIndex(t,this._nonDividerOptions):this._getNextHighlightableOptionIndex(t,this._nonDividerOptions)}_getPreviousHighlightableOptionIndex(e,t){let o=e<=0?t.length-1:e-1;return t[o].disabled?this._getPreviousHighlightableOptionIndex(o,t):o}_getNextHighlightableOptionIndex(e,t){let o=e===t.length-1?0:e+1;return t[o].disabled?this._getNextHighlightableOptionIndex(o,t):o}get _flatOptions(){return F(this._config.options)}get _nonDividerOptions(){return this._flatOptions.filter(e=>!e.divider)}};var D=class{constructor(e){this._targetElement=e}get dropdownElement(){return this._dropdownElement}open(e,t,o){this._dropdownElement=oe(e,this._targetElement),this.syncWidth(!!e.syncWidth,e.targetWidthCallback),e.allowBusy&&(this._busyElement=re(),this._busyElement.style.display="none",this._dropdownElement.appendChild(this._busyElement)),e.headerBuilder&&(this._headerElement=e.headerBuilder(),this._headerElement&&this._headerElement.setAttribute(u.attributes.DATA_ALLOW_FOCUS,"")),e.footerBuilder&&(this._footerElement=e.footerBuilder(),this._footerElement&&this._footerElement.setAttribute(u.attributes.DATA_ALLOW_FOCUS,"")),this._listElement=ne(e),this._listElement.addEventListener(N.events.SELECT,n=>{n.detail.listItem.setAttribute("aria-selected","true"),t(n.detail.value,n.detail.listItem.id)}),e.options.length?(y(e,this._listElement),this._dropdownElement.appendChild(this._listElement),this._headerElement&&this._dropdownElement.insertAdjacentElement("afterbegin",this._headerElement),this._footerElement&&this._dropdownElement.appendChild(this._footerElement)):e.allowBusy&&(this._asyncElement=se(e.asyncStyle),this._dropdownElement.appendChild(this._asyncElement)),this._announcerElement=V(),this._announcerElement.id=`${e.id}-activedescendant`,this._dropdownElement.appendChild(this._announcerElement),this._dropdownElement.open=!0}close(){!this._dropdownElement||(this._dropdownElement.open=!1,this._dropdownElement=void 0,this._listElement=void 0,this._announcerElement=void 0)}setScrollBottomListener(e,t){if(this._dropdownElement&&!this._scrollObserver){let o=H(this._dropdownElement,b.selectors.CONTAINER),n={scrollThreshold:t};this._scrollObserver=new w(o,n),this._scrollObserver.addListener(c.ScrolledEnd,e)}}removeScrollBottomListener(e){this._scrollObserver&&this._scrollObserver.removeListener(c.ScrolledEnd,e)}getActiveOptionIndex(){if(!this._dropdownElement)return-1;let e=this._getListItemElements(),t=[...e].reverse().find(o=>o.active);return t?e.indexOf(t):-1}getSelectedOptionIndex(){return this._getListItemElements().findIndex(t=>t.selected)}getActiveOptionIdByIndex(e){if(!this._dropdownElement)return null;let o=this._getListItemElements()[e];return o?o.id:null}toggleOptionMultiple(e,t){if(!this._dropdownElement)return;let o=this._getListItemElements();o.length&&o[e]&&this._toggleSelectedOption(o[e],t)}scrollOptionIntoView(e,t=!0){let o=this._getListItemElements()[e];o&&this._scrollListItemIntoView(o,t?"smooth":"auto","center")}scrollSelectedOptionIntoView(e=!0){let t=this._getSelectedListItem();this._scrollListItemIntoView(t,e?"smooth":"auto","center")}activateSelectedOption(e){let t=this._getListItemElements();t.length&&t.filter(a=>a.active).forEach(a=>a.active=!1);let o=this._getSelectedListItem();o&&this._activateListOption(o,e.activeChangeCallback)}activateOption(e,t,o=!0){if(!this._dropdownElement)return;let n=this._getListItemElements();n.length&&(n.filter(d=>d.active).forEach(d=>d.active=!1),this._activateListOption(n[e],t),this._scrollListItemIntoView(n[e],o?"smooth":"auto"))}setSelectedValues(e,t=!1){if(!this._dropdownElement)return;let o=this._getListItemElements();for(let n of o){let a=e.some(d=>g(d,n.value));if(n.selected=a,t){let d=n.querySelector(`[${u.attributes.CHECKBOX_ELEMENT}]`);if(d){let L=C(a);M(L,d)}}}}clearActiveOption(){this._getListItemElements().forEach(t=>t.active=!1)}syncWidth(e,t){this._dropdownElement&&(this._dropdownElement.style[e?"width":"minWidth"]=`${this._getTargetElementWidth(t)}px`)}setOptions(e){!this._dropdownElement||!this._listElement||(this._asyncElement&&this._asyncElement.isConnected&&K(this._asyncElement),this._busyElement&&this._busyElement.close(),this._listElement.isConnected||this._dropdownElement.appendChild(this._listElement),U(this._listElement),y(e,this._listElement),this._headerElement&&!this._headerElement.isConnected&&this._dropdownElement.insertAdjacentElement("afterbegin",this._headerElement),this._footerElement&&!this._footerElement.isConnected&&this._dropdownElement.insertAdjacentElement("beforeend",this._footerElement),"position"in this._dropdownElement&&typeof this._dropdownElement.position=="function"&&this._dropdownElement.position())}appendOptions(e,t){!this._dropdownElement||!this._listElement||y(t,this._listElement,e,this._listElement.childElementCount,!1)}setBusyVisibility(e){!this._dropdownElement||(e?(this._busyElement.style.removeProperty("display"),this._busyElement.open()):this._busyElement.close())}getScreenWidth(){return window.innerWidth}_getListItemElements(){return this._dropdownElement?Array.from(this._dropdownElement.querySelectorAll(N.elementName)):[]}_toggleSelectedOption(e,t){if(!this._dropdownElement)return;let o=this._getListItemElements();if(o.length){let a=o.filter(d=>d!==e&&d.active);a.length&&a.forEach(d=>d.active=!1)}e.selected=t,e.setAttribute("aria-selected",`${t}`),e.setAttribute("aria-checked",`${t}`),t&&(e.active=!0);let n=e.querySelector(`${q.elementName}[slot=leading]`);if(n){let a=C(t);M(a,n)}}_getTargetElementWidth(e){return e&&P(e)?e():this._targetElement.getBoundingClientRect().width}_activateListOption(e,t){e&&!e.disabled&&(e.active=!0,t&&P(t)&&t(e.id))}_scrollListItemIntoView(e,t="auto",o="nearest"){if(e&&this._dropdownElement&&this._dropdownElement.isConnected){let n=H(this._dropdownElement,b.selectors.CONTAINER);n&&z(n,e,t,o)}}_getSelectedListItem(){return this._getListItemElements().find(t=>t.selected)}};var pe=class{constructor(e,t){this._targetElement=e;X.define([I,O]),this._foundation=new S(new D(this._targetElement),t)}destroy(){this._foundation.destroy()}open(){this._foundation.open()}close(){this._foundation.close()}getActiveOptionIndex(){return this._foundation.getActiveOptionIndex()}getActiveOption(){return this._foundation.getActiveOption()}toggleOptionMultiple(e,t){return this._foundation.toggleOptionMultiple(e,t)}activateSelectedOption(){this._foundation.activateSelectedOption()}activateFirstOption(){return this._foundation.activateFirstOption()}activateOption(e){return this._foundation.activateOption(e)}activateInitialOption(){return this._foundation.activateInitialOption()}clearActiveOption(){this._foundation.clearActiveOption()}setSelectedValues(e){return this._foundation.setSelectedValues(e)}get dropdownElement(){return this._foundation.dropdownElement}setOptions(e){this._foundation.setOptions(e)}appendOptions(e){this._foundation.appendOptions(e)}scrollSelectedOptionIntoView(e){this._foundation.scrollSelectedOptionIntoView()}setScrollBottomListener(e,t){this._foundation.setScrollBottomListener(e,t)}removeScrollBottomListener(){this._foundation.removeScrollBottomListener()}setBusyVisibility(e){this._foundation.setBusyVisibility(e)}handleKey(e){this._foundation.handleKey(e)}};var T=class{constructor(){this._popupClasses=[];this._syncPopupWidth=!1;this._optionLimit=0;this._observeScroll=!1;this._observeScrollThreshold=0;this._constrainPopupWidth=!0;this._wrapOptionText=!1}get syncPopupWidth(){return this._syncPopupWidth}set syncPopupWidth(e){this._syncPopupWidth=e}get popupClasses(){return this._popupClasses}set popupClasses(e){typeof e=="string"&&(e=[e]),Array.isArray(e)&&(this._popupClasses=e)}get observeScroll(){return this._observeScroll}set observeScroll(e){this._observeScroll=e}get observeScrollThreshold(){return this._observeScrollThreshold}set observeScrollThreshold(e){this._observeScrollThreshold=e}get optionLimit(){return this._optionLimit}set optionLimit(e){this._optionLimit=e}get popupHeaderBuilder(){return this._popupHeaderBuilder}set popupHeaderBuilder(e){this._popupHeaderBuilder=e}get popupFooterBuilder(){return this._popupFooterBuilder}set popupFooterBuilder(e){this._popupFooterBuilder=e}get constrainPopupWidth(){return this._constrainPopupWidth}set constrainPopupWidth(e){this._constrainPopupWidth=e}get wrapOptionText(){return this._wrapOptionText}set wrapOptionText(e){this._wrapOptionText=e}_applySelection(){}};var de=class extends T{constructor(t){super();this._config=t;this._open=!1;this._options=[];this._childOpen=!1;this._popupHasMouse=!1;this._targetMouseEnterListener=o=>this._onTargetMouseEnter(o),this._targetMouseLeaveListener=o=>this._onTargetMouseLeave(o),this._childPopupMouseEnterListener=()=>this._onChildPopupMouseEnter(),this._childPopupMouseLeaveListener=()=>this._onChildPopupMouseLeave(),this._documentMouseMoveListener=o=>this._mouseCoords={x:o.pageX,y:o.pageY}}_onChildPopupMouseEnter(){this._popupHasMouse=!0}_onChildPopupMouseLeave(){this._popupHasMouse=!1,setTimeout(()=>{let t=document.elementFromPoint(this._mouseCoords.x,this._mouseCoords.y);!this._popupHasMouse&&!this._childOpen&&(!t||!this._isOwnElement(t))&&(this._setCascadeTargetInactive(),this._closeDropdown())},this._config.popupTimeout)}_onTargetMouseEnter(t){!this._options.length||this._openDropdown({fromKeyboard:!1})}_onTargetMouseLeave(t){this._activeMouseLeaveTimeout=window.setTimeout(()=>{if(!(!this._open||this._childOpen)){if(this._mouseCoords){let o=document.elementFromPoint(this._mouseCoords.x,this._mouseCoords.y);if(o&&this._isOwnElement(o))return}this._setCascadeTargetInactive(),this._closeDropdown()}},this._config.targetTimeout)}_clearMouseLeaveTimeout(){this._activeMouseLeaveTimeout!==void 0&&window.clearTimeout(this._activeMouseLeaveTimeout)}};export{u as a,Z as b,ee as c,te as d,le as e,S as f,D as g,pe as h,T as i,de as j};
7
- //# sourceMappingURL=chunk.S7ZU6JKB.js.map