@tylertech/forge 3.0.0-next.12 → 3.0.0-next.14

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 (828) hide show
  1. package/README.md +1 -6
  2. package/custom-elements.json +49089 -32080
  3. package/dist/esm/accordion/index.js +1 -1
  4. package/dist/esm/app-bar/app-bar/index.js +7 -0
  5. package/dist/esm/app-bar/app-bar/index.js.map +7 -0
  6. package/dist/esm/app-bar/help-button/index.js +1 -1
  7. package/dist/esm/app-bar/index.js +1 -1
  8. package/dist/esm/app-bar/menu-button/index.js +1 -1
  9. package/dist/esm/app-bar/notification-button/index.js +1 -1
  10. package/dist/esm/app-bar/profile-button/index.js +1 -1
  11. package/dist/esm/app-bar/search/index.js +1 -1
  12. package/dist/esm/autocomplete/index.js +1 -1
  13. package/dist/esm/avatar/index.js +1 -1
  14. package/dist/esm/backdrop/index.js +1 -1
  15. package/dist/esm/badge/index.js +1 -1
  16. package/dist/esm/banner/index.js +1 -1
  17. package/dist/esm/bottom-sheet/index.js +1 -1
  18. package/dist/esm/busy-indicator/index.js +1 -1
  19. package/dist/esm/button/index.js +1 -1
  20. package/dist/esm/button-area/index.js +1 -1
  21. package/dist/esm/button-toggle/button-toggle/index.js +1 -1
  22. package/dist/esm/button-toggle/button-toggle-group/index.js +1 -1
  23. package/dist/esm/button-toggle/index.js +1 -1
  24. package/dist/esm/calendar/calendar-dropdown/index.js +1 -1
  25. package/dist/esm/calendar/calendar-menu/index.js +1 -1
  26. package/dist/esm/calendar/index.js +1 -1
  27. package/dist/esm/card/index.js +1 -1
  28. package/dist/esm/checkbox/index.js +1 -1
  29. package/dist/esm/chip-field/index.js +1 -1
  30. package/dist/esm/chips/chip/index.js +1 -1
  31. package/dist/esm/chips/chip-set/index.js +1 -1
  32. package/dist/esm/chips/index.js +1 -1
  33. package/dist/esm/chunks/{chunk.PLNLLKP2.js → chunk.26E4L52W.js} +2 -2
  34. package/dist/esm/chunks/chunk.2GJ54C3Q.js +7 -0
  35. package/dist/esm/chunks/chunk.2GJ54C3Q.js.map +7 -0
  36. package/dist/esm/chunks/chunk.2GYZM6ZG.js +7 -0
  37. package/dist/esm/chunks/chunk.2GYZM6ZG.js.map +7 -0
  38. package/dist/esm/chunks/chunk.2YDKRTKP.js +7 -0
  39. package/dist/esm/chunks/chunk.2YDKRTKP.js.map +7 -0
  40. package/dist/esm/chunks/chunk.3JCHXLPT.js +7 -0
  41. package/dist/esm/chunks/chunk.3JCHXLPT.js.map +7 -0
  42. package/{styles/icon-button/forge-icon-button.scss → dist/esm/chunks/chunk.3PKNBYMG.js} +1 -3
  43. package/dist/esm/chunks/chunk.3PKNBYMG.js.map +7 -0
  44. package/dist/esm/chunks/chunk.3RMBFRGC.js +7 -0
  45. package/dist/esm/chunks/chunk.3RMBFRGC.js.map +7 -0
  46. package/dist/esm/chunks/{chunk.AY43NTAK.js → chunk.3UO6S3IK.js} +2 -2
  47. package/dist/esm/chunks/chunk.3ZRQFXQU.js +7 -0
  48. package/dist/esm/chunks/{chunk.UZPZ6KUN.js.map → chunk.3ZRQFXQU.js.map} +2 -2
  49. package/dist/esm/chunks/{chunk.IXGXASHQ.js → chunk.4B5IOZAT.js} +2 -2
  50. package/dist/esm/chunks/{chunk.WK2L7BPJ.js → chunk.4QDN5PM6.js} +2 -2
  51. package/dist/esm/chunks/{chunk.YIFI5D2X.js → chunk.543K5Y4E.js} +2 -2
  52. package/dist/esm/chunks/{chunk.YIFI5D2X.js.map → chunk.543K5Y4E.js.map} +3 -3
  53. package/dist/esm/chunks/{chunk.C5ZUGOOC.js → chunk.57PXXJA6.js} +2 -2
  54. package/dist/esm/chunks/{chunk.C7VEJINB.js → chunk.5C24LZNU.js} +2 -2
  55. package/dist/esm/chunks/{chunk.C2MQN7MI.js → chunk.5H4G6BWX.js} +2 -2
  56. package/dist/esm/chunks/{chunk.CQQSOTZ5.js → chunk.5VHUMZYS.js} +2 -2
  57. package/dist/esm/chunks/chunk.6DXDNQUR.js +15 -0
  58. package/dist/esm/chunks/chunk.6DXDNQUR.js.map +7 -0
  59. package/dist/esm/chunks/chunk.6Q3SV2R2.js +7 -0
  60. package/dist/esm/chunks/chunk.6Q3SV2R2.js.map +7 -0
  61. package/dist/esm/chunks/chunk.6Y45DLA6.js +7 -0
  62. package/dist/esm/chunks/chunk.6Y45DLA6.js.map +7 -0
  63. package/dist/esm/chunks/{chunk.WJXDDQUK.js → chunk.7ABZUBTT.js} +2 -2
  64. package/dist/esm/chunks/{chunk.ZREXLSAJ.js → chunk.7BGOH44S.js} +2 -2
  65. package/dist/esm/chunks/{chunk.2WSXSOYB.js → chunk.7DHDFH5L.js} +2 -2
  66. package/dist/esm/chunks/{chunk.UVJFHSMF.js → chunk.7PP6QHOM.js} +2 -2
  67. package/dist/esm/chunks/chunk.7UXLLUTN.js +7 -0
  68. package/dist/esm/chunks/{chunk.CLD75EBJ.js → chunk.7W2UWAZX.js} +2 -2
  69. package/dist/esm/chunks/{chunk.CLD75EBJ.js.map → chunk.7W2UWAZX.js.map} +3 -3
  70. package/dist/esm/chunks/chunk.A72W7RW7.js +7 -0
  71. package/dist/esm/chunks/chunk.A72W7RW7.js.map +7 -0
  72. package/dist/esm/chunks/chunk.AEJGC4YG.js +7 -0
  73. package/dist/esm/chunks/chunk.AEJGC4YG.js.map +7 -0
  74. package/dist/esm/chunks/{chunk.NDJZYFRT.js → chunk.B46Q3AFP.js} +2 -2
  75. package/dist/esm/chunks/chunk.BFUGFHEH.js +7 -0
  76. package/dist/esm/chunks/{chunk.URFSXQKR.js.map → chunk.BFUGFHEH.js.map} +2 -2
  77. package/dist/esm/chunks/chunk.BLW6QESQ.js +12 -0
  78. package/dist/esm/chunks/chunk.BLW6QESQ.js.map +7 -0
  79. package/dist/esm/chunks/chunk.BMQYEYCT.js +7 -0
  80. package/dist/esm/chunks/chunk.BMQYEYCT.js.map +7 -0
  81. package/dist/esm/chunks/{chunk.EY37FYZ4.js → chunk.C5IB44HX.js} +2 -2
  82. package/dist/esm/chunks/chunk.CNRFOWHY.js +7 -0
  83. package/dist/esm/chunks/{chunk.YXXKPT6P.js.map → chunk.CNRFOWHY.js.map} +2 -2
  84. package/dist/esm/chunks/{chunk.6VSFLBZF.js → chunk.CTZ3AWDW.js} +2 -2
  85. package/dist/esm/chunks/{chunk.YA3RDJCV.js → chunk.CZOABXEQ.js} +2 -2
  86. package/dist/esm/chunks/{chunk.YA3RDJCV.js.map → chunk.CZOABXEQ.js.map} +2 -2
  87. package/dist/esm/chunks/chunk.DD35U4AA.js +7 -0
  88. package/dist/esm/chunks/{chunk.JCO4M4PF.js.map → chunk.DD35U4AA.js.map} +3 -3
  89. package/dist/esm/chunks/{chunk.HBCDD25D.js → chunk.DDXIHZFX.js} +2 -2
  90. package/dist/esm/chunks/{chunk.VDGJ4UDL.js → chunk.DOEG3DWJ.js} +2 -2
  91. package/dist/esm/chunks/{chunk.4USQ2AP6.js → chunk.DTKFE7YB.js} +2 -2
  92. package/dist/esm/chunks/{chunk.IJ2I25V3.js → chunk.E3GVKR4E.js} +2 -2
  93. package/dist/esm/chunks/chunk.EBSBAFCX.js +7 -0
  94. package/dist/esm/chunks/chunk.EBSBAFCX.js.map +7 -0
  95. package/dist/esm/chunks/{chunk.FK6NNHXH.js → chunk.F2EBSV5Z.js} +2 -2
  96. package/dist/esm/chunks/chunk.F6KM5FO6.js +7 -0
  97. package/dist/esm/chunks/chunk.F6KM5FO6.js.map +7 -0
  98. package/dist/esm/chunks/chunk.FB6ZLH6P.js +7 -0
  99. package/dist/esm/chunks/chunk.FB6ZLH6P.js.map +7 -0
  100. package/dist/esm/chunks/chunk.FQSL747N.js +7 -0
  101. package/dist/esm/chunks/chunk.FQSL747N.js.map +7 -0
  102. package/dist/esm/chunks/{chunk.RNUGVHZF.js → chunk.G2BNY5QQ.js} +2 -2
  103. package/dist/esm/chunks/{chunk.4JF54GDJ.js → chunk.GS72TBUD.js} +2 -2
  104. package/dist/esm/chunks/{chunk.AQ7ROWO4.js → chunk.GT3VPSXY.js} +2 -2
  105. package/dist/esm/chunks/{chunk.DABGA7I6.js → chunk.GWJ4QCSW.js} +2 -2
  106. package/dist/esm/chunks/chunk.H7GW57Q6.js +7 -0
  107. package/dist/esm/chunks/chunk.H7GW57Q6.js.map +7 -0
  108. package/dist/esm/chunks/{chunk.RXLORASN.js → chunk.HHHBS6FB.js} +2 -2
  109. package/dist/esm/chunks/chunk.I3NHK2S3.js +7 -0
  110. package/dist/esm/chunks/{chunk.HKSXC5VK.js → chunk.IEB5KRFQ.js} +2 -2
  111. package/dist/esm/chunks/chunk.IT66AOX7.js +7 -0
  112. package/dist/esm/chunks/chunk.IT66AOX7.js.map +7 -0
  113. package/dist/esm/chunks/chunk.IVUK3W34.js +7 -0
  114. package/dist/esm/chunks/{chunk.TSH7BTC3.js.map → chunk.IVUK3W34.js.map} +2 -2
  115. package/dist/esm/chunks/chunk.IW7HALLT.js +7 -0
  116. package/dist/esm/chunks/{chunk.U5XNDTSZ.js.map → chunk.IW7HALLT.js.map} +2 -2
  117. package/dist/esm/chunks/chunk.J2KHTGSB.js +7 -0
  118. package/dist/esm/chunks/chunk.J2KHTGSB.js.map +7 -0
  119. package/dist/esm/chunks/{chunk.OQAD6MFL.js → chunk.J3B5CWKT.js} +2 -2
  120. package/dist/esm/chunks/chunk.JAWV5Y5T.js +7 -0
  121. package/dist/esm/chunks/{chunk.I5SFCLDD.js.map → chunk.JAWV5Y5T.js.map} +3 -3
  122. package/dist/esm/chunks/chunk.JVK64JDZ.js +7 -0
  123. package/dist/esm/chunks/chunk.JVK64JDZ.js.map +7 -0
  124. package/dist/esm/chunks/chunk.KFDYMENL.js +7 -0
  125. package/dist/esm/chunks/chunk.KFDYMENL.js.map +7 -0
  126. package/dist/esm/chunks/{chunk.QNVVUUNQ.js → chunk.KLPF4CNX.js} +2 -2
  127. package/dist/esm/chunks/chunk.KTYYBWTN.js +7 -0
  128. package/dist/esm/chunks/chunk.KTYYBWTN.js.map +7 -0
  129. package/dist/esm/chunks/{chunk.66X366TV.js → chunk.L4Y4RO5O.js} +2 -2
  130. package/dist/esm/chunks/chunk.LCNR2RPT.js +7 -0
  131. package/dist/esm/chunks/chunk.LCNR2RPT.js.map +7 -0
  132. package/dist/esm/chunks/{chunk.RBFGJH3C.js → chunk.LMIKNDBS.js} +2 -2
  133. package/dist/esm/chunks/chunk.LOBKFTRM.js +7 -0
  134. package/dist/esm/chunks/chunk.LOBKFTRM.js.map +7 -0
  135. package/dist/esm/chunks/chunk.LS7WRRT2.js +7 -0
  136. package/dist/esm/chunks/chunk.LS7WRRT2.js.map +7 -0
  137. package/dist/esm/chunks/{chunk.R2KOYHIZ.js → chunk.LSNAGIIH.js} +2 -2
  138. package/dist/esm/chunks/chunk.LUIKMPQR.js +7 -0
  139. package/dist/esm/chunks/chunk.LUIKMPQR.js.map +7 -0
  140. package/dist/esm/chunks/{chunk.7M4HRJYP.js → chunk.LXX3YZYS.js} +2 -2
  141. package/dist/esm/chunks/chunk.MZZJY5NX.js +7 -0
  142. package/dist/esm/chunks/chunk.MZZJY5NX.js.map +7 -0
  143. package/dist/esm/chunks/{chunk.W7H2ZYNR.js → chunk.NG6UZ4OL.js} +2 -2
  144. package/dist/esm/chunks/chunk.NYYXUH3X.js +7 -0
  145. package/dist/esm/chunks/{chunk.DQVYB55P.js → chunk.NZKIFXBU.js} +2 -2
  146. package/dist/esm/chunks/{chunk.AHAARGYM.js → chunk.OED5UCYT.js} +2 -2
  147. package/dist/esm/chunks/{chunk.5ASOX23Q.js → chunk.OUACQISE.js} +2 -2
  148. package/dist/esm/chunks/{chunk.5ASOX23Q.js.map → chunk.OUACQISE.js.map} +1 -1
  149. package/dist/esm/chunks/chunk.OYO5O3NF.js +7 -0
  150. package/dist/esm/chunks/{chunk.7UJAI6P2.js → chunk.P7LC3YYW.js} +2 -2
  151. package/dist/esm/chunks/{chunk.Z6AFASMO.js → chunk.PK7R6WDF.js} +2 -2
  152. package/dist/esm/chunks/chunk.PQQVUUHU.js +7 -0
  153. package/dist/esm/chunks/{chunk.LNLO36U6.js.map → chunk.PQQVUUHU.js.map} +2 -2
  154. package/dist/esm/chunks/{chunk.WWTQAN4G.js → chunk.PSTGTQVK.js} +2 -2
  155. package/dist/esm/chunks/chunk.Q5Z6F3PI.js +7 -0
  156. package/dist/esm/chunks/chunk.Q5Z6F3PI.js.map +7 -0
  157. package/dist/esm/chunks/{chunk.OXGOCF4L.js → chunk.QFY23EWU.js} +2 -2
  158. package/dist/esm/chunks/{chunk.OXGOCF4L.js.map → chunk.QFY23EWU.js.map} +2 -2
  159. package/dist/esm/chunks/chunk.RCSBJQ4G.js +7 -0
  160. package/dist/esm/chunks/chunk.RCSBJQ4G.js.map +7 -0
  161. package/dist/esm/chunks/chunk.RDW7Z4W5.js +7 -0
  162. package/dist/esm/chunks/chunk.RDW7Z4W5.js.map +7 -0
  163. package/dist/esm/chunks/chunk.RYNQDXFA.js +7 -0
  164. package/dist/esm/chunks/{chunk.YP2NHWIW.js.map → chunk.RYNQDXFA.js.map} +2 -2
  165. package/dist/esm/chunks/{chunk.RWUJGZ3R.js → chunk.RZZBM3AW.js} +2 -2
  166. package/dist/esm/chunks/{chunk.37JFBP4X.js → chunk.SNF35Y6C.js} +2 -2
  167. package/dist/esm/chunks/chunk.SOLF23NC.js +7 -0
  168. package/dist/esm/chunks/chunk.SOLF23NC.js.map +7 -0
  169. package/dist/esm/chunks/chunk.T34DG7BU.js +7 -0
  170. package/dist/esm/chunks/chunk.TA3MVDUU.js +7 -0
  171. package/dist/esm/chunks/chunk.TA3MVDUU.js.map +7 -0
  172. package/dist/esm/chunks/{chunk.HDO3WRH7.js → chunk.THWSN3X4.js} +2 -2
  173. package/dist/esm/chunks/chunk.TLFCQSJN.js +7 -0
  174. package/dist/esm/chunks/chunk.TLFCQSJN.js.map +7 -0
  175. package/dist/esm/chunks/{chunk.E4TAHUQO.js → chunk.TZFUKJ24.js} +2 -2
  176. package/dist/esm/chunks/{chunk.SEWAMWO6.js → chunk.U5WMRBSC.js} +2 -2
  177. package/dist/esm/chunks/chunk.URCJO73M.js +7 -0
  178. package/dist/esm/chunks/chunk.URCJO73M.js.map +7 -0
  179. package/dist/esm/chunks/{chunk.PDSOXEMY.js → chunk.UWZWXNTW.js} +2 -2
  180. package/dist/esm/chunks/chunk.VD5ZL5ZN.js +7 -0
  181. package/dist/esm/chunks/{chunk.OQ75YGB6.js.map → chunk.VD5ZL5ZN.js.map} +2 -2
  182. package/dist/esm/chunks/chunk.VDZ7HBKM.js +7 -0
  183. package/dist/esm/chunks/chunk.VDZ7HBKM.js.map +7 -0
  184. package/dist/esm/chunks/{chunk.CBIHNCT5.js → chunk.W324TWF2.js} +2 -2
  185. package/dist/esm/chunks/chunk.WQGPIOL6.js +7 -0
  186. package/dist/esm/chunks/chunk.WQGPIOL6.js.map +7 -0
  187. package/dist/esm/chunks/chunk.XDANTL6C.js +7 -0
  188. package/dist/esm/chunks/chunk.XDANTL6C.js.map +7 -0
  189. package/dist/esm/chunks/chunk.XNCBGWE4.js +7 -0
  190. package/dist/esm/chunks/chunk.XNCBGWE4.js.map +7 -0
  191. package/dist/esm/chunks/{chunk.ZYVXIP42.js → chunk.YKZ25J6B.js} +2 -2
  192. package/dist/esm/chunks/chunk.Z2RB75TN.js +7 -0
  193. package/dist/esm/chunks/chunk.Z2RB75TN.js.map +7 -0
  194. package/dist/esm/chunks/chunk.Z7PBGV4K.js +7 -0
  195. package/dist/esm/chunks/{chunk.TCFKFKZW.js.map → chunk.Z7PBGV4K.js.map} +4 -4
  196. package/dist/esm/chunks/{chunk.R6NA7SV2.js → chunk.ZSD7MMVB.js} +2 -2
  197. package/dist/esm/chunks/chunk.ZSZFWZAI.js +7 -0
  198. package/dist/esm/chunks/chunk.ZSZFWZAI.js.map +7 -0
  199. package/dist/esm/chunks/chunk.ZVJMIBUM.js +7 -0
  200. package/dist/esm/chunks/chunk.ZVJMIBUM.js.map +7 -0
  201. package/dist/esm/circular-progress/index.js +1 -1
  202. package/dist/esm/color-picker/index.js +1 -1
  203. package/dist/esm/core/base/index.js +1 -1
  204. package/dist/esm/core/index.js +1 -1
  205. package/dist/esm/core/utils/index.js +1 -1
  206. package/dist/esm/date-picker/index.js +1 -1
  207. package/dist/esm/date-range-picker/index.js +1 -1
  208. package/dist/esm/dialog/index.js +1 -1
  209. package/dist/esm/divider/index.js +1 -1
  210. package/dist/esm/drawer/base/index.js +1 -1
  211. package/dist/esm/drawer/drawer/index.js +1 -1
  212. package/dist/esm/drawer/index.js +1 -1
  213. package/dist/esm/drawer/mini-drawer/index.js +1 -1
  214. package/dist/esm/drawer/modal-drawer/index.js +1 -1
  215. package/dist/esm/expansion-panel/index.js +1 -1
  216. package/dist/esm/file-picker/index.js +1 -1
  217. package/dist/esm/floating-action-button/index.js +1 -1
  218. package/dist/esm/focus-indicator/index.js +1 -1
  219. package/dist/esm/icon/index.js +1 -1
  220. package/dist/esm/icon-button/index.js +1 -1
  221. package/dist/esm/index.js +1 -1
  222. package/dist/esm/inline-message/index.js +1 -1
  223. package/dist/esm/keyboard-shortcut/index.js +1 -1
  224. package/dist/esm/label/index.js +7 -0
  225. package/dist/esm/label/index.js.map +7 -0
  226. package/dist/esm/label-value/index.js +1 -1
  227. package/dist/esm/linear-progress/index.js +1 -1
  228. package/dist/esm/list/index.js +1 -1
  229. package/dist/esm/list/list/index.js +1 -1
  230. package/dist/esm/list/list-item/index.js +1 -1
  231. package/dist/esm/list-dropdown/index.js +1 -1
  232. package/dist/esm/menu/index.js +1 -1
  233. package/dist/esm/open-icon/index.js +1 -1
  234. package/dist/esm/page-state/index.js +1 -1
  235. package/dist/esm/paginator/index.js +1 -1
  236. package/dist/esm/popup/index.js +1 -1
  237. package/dist/esm/product-icon/index.js +1 -1
  238. package/dist/esm/profile-card/index.js +1 -1
  239. package/dist/esm/quantity-field/index.js +1 -1
  240. package/dist/esm/radio/index.js +1 -1
  241. package/dist/esm/ripple/index.js +1 -1
  242. package/dist/esm/scaffold/index.js +1 -1
  243. package/dist/esm/select/core/index.js +1 -1
  244. package/dist/esm/select/index.js +1 -1
  245. package/dist/esm/select/option/index.js +1 -1
  246. package/dist/esm/select/option-group/index.js +1 -1
  247. package/dist/esm/select/select/index.js +1 -1
  248. package/dist/esm/select/select-dropdown/index.js +1 -1
  249. package/dist/esm/skeleton/index.js +1 -1
  250. package/dist/esm/slider/index.js +1 -1
  251. package/dist/esm/split-button/index.js +7 -0
  252. package/dist/esm/split-button/index.js.map +7 -0
  253. package/dist/esm/split-view/index.js +1 -1
  254. package/dist/esm/split-view/split-view/index.js +1 -1
  255. package/dist/esm/split-view/split-view-panel/index.js +1 -1
  256. package/dist/esm/stack/index.js +1 -1
  257. package/dist/esm/state-layer/index.js +1 -1
  258. package/dist/esm/stepper/index.js +1 -1
  259. package/dist/esm/stepper/step/index.js +1 -1
  260. package/dist/esm/stepper/stepper/index.js +1 -1
  261. package/dist/esm/switch/index.js +1 -1
  262. package/dist/esm/table/index.js +1 -1
  263. package/dist/esm/tabs/index.js +1 -1
  264. package/dist/esm/tabs/tab/index.js +1 -1
  265. package/dist/esm/tabs/tab-bar/index.js +1 -1
  266. package/dist/esm/text-field/index.js +1 -1
  267. package/dist/esm/time-picker/index.js +1 -1
  268. package/dist/esm/toast/index.js +1 -1
  269. package/dist/esm/toolbar/index.js +1 -1
  270. package/dist/esm/tooltip/index.js +1 -1
  271. package/dist/esm/view-switcher/index.js +1 -1
  272. package/dist/esm/view-switcher/view/index.js +1 -1
  273. package/dist/forge-dark.css +1 -1
  274. package/dist/forge.css +1 -1
  275. package/dist/table/forge-table.css +1 -1
  276. package/dist/theme/forge-theme.css +1 -1
  277. package/dist/typography/forge-typography.css +1 -1
  278. package/esm/app-bar/app-bar/app-bar-adapter.d.ts +30 -0
  279. package/esm/app-bar/app-bar/app-bar-adapter.js +71 -0
  280. package/esm/app-bar/{app-bar-constants.d.ts → app-bar/app-bar-constants.d.ts} +7 -11
  281. package/esm/app-bar/app-bar/app-bar-constants.js +32 -0
  282. package/esm/app-bar/{app-bar-foundation.d.ts → app-bar/app-bar-foundation.d.ts} +17 -16
  283. package/esm/app-bar/app-bar/app-bar-foundation.js +71 -0
  284. package/esm/app-bar/app-bar/app-bar.d.ts +66 -0
  285. package/esm/app-bar/app-bar/app-bar.js +107 -0
  286. package/esm/app-bar/app-bar/index.d.ts +10 -0
  287. package/esm/app-bar/app-bar/index.js +14 -0
  288. package/esm/app-bar/help-button/app-bar-help-button-adapter.d.ts +8 -1
  289. package/esm/app-bar/help-button/app-bar-help-button-adapter.js +22 -1
  290. package/esm/app-bar/help-button/app-bar-help-button-constants.d.ts +7 -0
  291. package/esm/app-bar/help-button/app-bar-help-button-constants.js +11 -1
  292. package/esm/app-bar/help-button/app-bar-help-button-foundation.d.ts +4 -0
  293. package/esm/app-bar/help-button/app-bar-help-button-foundation.js +16 -0
  294. package/esm/app-bar/help-button/app-bar-help-button.d.ts +13 -2
  295. package/esm/app-bar/help-button/app-bar-help-button.js +27 -6
  296. package/esm/app-bar/index.d.ts +0 -4
  297. package/esm/app-bar/index.js +0 -8
  298. package/esm/app-bar/menu-button/app-bar-menu-button-constants.d.ts +7 -0
  299. package/esm/app-bar/menu-button/app-bar-menu-button-constants.js +9 -1
  300. package/esm/app-bar/menu-button/app-bar-menu-button.d.ts +19 -2
  301. package/esm/app-bar/menu-button/app-bar-menu-button.js +57 -8
  302. package/esm/app-bar/notification-button/app-bar-notification-button-adapter.d.ts +6 -2
  303. package/esm/app-bar/notification-button/app-bar-notification-button-adapter.js +17 -1
  304. package/esm/app-bar/notification-button/app-bar-notification-button-constants.d.ts +1 -0
  305. package/esm/app-bar/notification-button/app-bar-notification-button-constants.js +3 -1
  306. package/esm/app-bar/notification-button/app-bar-notification-button-foundation.d.ts +4 -4
  307. package/esm/app-bar/notification-button/app-bar-notification-button-foundation.js +9 -11
  308. package/esm/app-bar/notification-button/app-bar-notification-button.d.ts +17 -4
  309. package/esm/app-bar/notification-button/app-bar-notification-button.js +20 -5
  310. package/esm/app-bar/profile-button/app-bar-profile-button-adapter.d.ts +7 -1
  311. package/esm/app-bar/profile-button/app-bar-profile-button-adapter.js +26 -3
  312. package/esm/app-bar/profile-button/app-bar-profile-button-constants.d.ts +1 -3
  313. package/esm/app-bar/profile-button/app-bar-profile-button-constants.js +2 -4
  314. package/esm/app-bar/profile-button/app-bar-profile-button-foundation.d.ts +5 -2
  315. package/esm/app-bar/profile-button/app-bar-profile-button-foundation.js +20 -22
  316. package/esm/app-bar/profile-button/app-bar-profile-button.d.ts +31 -2
  317. package/esm/app-bar/profile-button/app-bar-profile-button.js +33 -6
  318. package/esm/autocomplete/autocomplete-foundation.js +2 -2
  319. package/esm/banner/banner-constants.js +1 -1
  320. package/esm/banner/banner.js +2 -2
  321. package/esm/bottom-sheet/bottom-sheet.js +1 -1
  322. package/esm/busy-indicator/busy-indicator.js +2 -2
  323. package/esm/button/base/base-button-adapter.d.ts +68 -0
  324. package/esm/button/base/base-button-adapter.js +238 -0
  325. package/esm/button/base/base-button-constants.d.ts +44 -0
  326. package/esm/button/base/base-button-constants.js +32 -0
  327. package/esm/button/base/base-button-foundation.d.ts +74 -0
  328. package/esm/button/base/base-button-foundation.js +240 -0
  329. package/esm/button/base/base-button.d.ts +53 -0
  330. package/esm/button/base/base-button.js +112 -0
  331. package/esm/button/button-adapter.d.ts +14 -0
  332. package/esm/button/button-adapter.js +14 -0
  333. package/esm/button/button-component-delegate.d.ts +4 -4
  334. package/esm/button/button-component-delegate.js +13 -17
  335. package/esm/button/button-constants.d.ts +10 -18
  336. package/esm/button/button-constants.js +6 -22
  337. package/esm/button/button-foundation.d.ts +25 -0
  338. package/esm/button/button-foundation.js +49 -0
  339. package/esm/button/button.d.ts +126 -30
  340. package/esm/button/button.js +158 -159
  341. package/esm/button/index.d.ts +3 -1
  342. package/esm/button/index.js +3 -1
  343. package/esm/button-toggle/button-toggle/button-toggle.js +1 -1
  344. package/esm/calendar/calendar-dom-utils.js +18 -30
  345. package/esm/calendar/calendar.js +1 -1
  346. package/esm/checkbox/checkbox-adapter.d.ts +50 -59
  347. package/esm/checkbox/checkbox-adapter.js +104 -186
  348. package/esm/checkbox/checkbox-component-delegate.d.ts +18 -9
  349. package/esm/checkbox/checkbox-component-delegate.js +58 -51
  350. package/esm/checkbox/checkbox-constants.d.ts +14 -56
  351. package/esm/checkbox/checkbox-constants.js +17 -50
  352. package/esm/checkbox/checkbox-foundation.d.ts +48 -18
  353. package/esm/checkbox/checkbox-foundation.js +139 -139
  354. package/esm/checkbox/checkbox.d.ts +120 -9
  355. package/esm/checkbox/checkbox.js +235 -36
  356. package/esm/checkbox/index.d.ts +1 -1
  357. package/esm/checkbox/index.js +1 -1
  358. package/esm/chip-field/chip-field-constants.d.ts +3 -0
  359. package/esm/chip-field/chip-field-constants.js +4 -0
  360. package/esm/chip-field/chip-field-foundation.d.ts +5 -0
  361. package/esm/chip-field/chip-field-foundation.js +20 -1
  362. package/esm/chip-field/chip-field.d.ts +5 -0
  363. package/esm/chip-field/chip-field.js +19 -1
  364. package/esm/chips/chip/chip.js +1 -1
  365. package/esm/circular-progress/circular-progress-adapter.d.ts +2 -2
  366. package/esm/circular-progress/circular-progress-adapter.js +15 -6
  367. package/esm/circular-progress/circular-progress-constants.d.ts +4 -1
  368. package/esm/circular-progress/circular-progress-constants.js +2 -1
  369. package/esm/circular-progress/circular-progress-foundation.d.ts +9 -1
  370. package/esm/circular-progress/circular-progress-foundation.js +21 -2
  371. package/esm/circular-progress/circular-progress.d.ts +15 -3
  372. package/esm/circular-progress/circular-progress.js +25 -8
  373. package/esm/color-picker/color-picker.js +2 -2
  374. package/esm/constants.d.ts +16 -0
  375. package/esm/constants.js +4 -0
  376. package/esm/core/base/base-adapter.d.ts +13 -1
  377. package/esm/core/base/base-adapter.js +17 -0
  378. package/esm/core/base/base-component.d.ts +0 -38
  379. package/esm/core/base/base-component.js +0 -4
  380. package/esm/core/base/base-focusable-component.d.ts +49 -0
  381. package/esm/core/base/base-focusable-component.js +90 -0
  382. package/esm/core/base/base-form-component.d.ts +45 -0
  383. package/esm/core/base/base-form-component.js +19 -0
  384. package/esm/core/base/base-nullable-form-component.d.ts +35 -0
  385. package/esm/core/base/base-nullable-form-component.js +20 -0
  386. package/esm/core/utils/feature-detection.d.ts +10 -0
  387. package/esm/core/utils/feature-detection.js +12 -0
  388. package/esm/core/utils/index.d.ts +2 -1
  389. package/esm/core/utils/index.js +2 -1
  390. package/esm/core/utils/reflect-utils.d.ts +107 -0
  391. package/esm/core/utils/reflect-utils.js +227 -0
  392. package/esm/core/utils/utils.d.ts +1 -1
  393. package/esm/date-picker/base/base-date-picker-utils.js +5 -8
  394. package/esm/field/field-constants.d.ts +8 -0
  395. package/esm/field/field-constants.js +10 -8
  396. package/esm/file-picker/file-picker-component-delegate.js +1 -1
  397. package/esm/file-picker/file-picker.js +1 -1
  398. package/esm/floating-action-button/floating-action-button-adapter.d.ts +20 -0
  399. package/esm/floating-action-button/floating-action-button-adapter.js +49 -0
  400. package/esm/floating-action-button/floating-action-button-component-delegate.d.ts +19 -3
  401. package/esm/floating-action-button/floating-action-button-component-delegate.js +62 -14
  402. package/esm/floating-action-button/floating-action-button-constants.d.ts +19 -14
  403. package/esm/floating-action-button/floating-action-button-constants.js +15 -15
  404. package/esm/floating-action-button/floating-action-button-foundation.d.ts +27 -0
  405. package/esm/floating-action-button/floating-action-button-foundation.js +48 -0
  406. package/esm/floating-action-button/floating-action-button.d.ts +86 -25
  407. package/esm/floating-action-button/floating-action-button.js +117 -104
  408. package/esm/floating-action-button/index.d.ts +3 -1
  409. package/esm/floating-action-button/index.js +5 -3
  410. package/esm/focus-indicator/focus-indicator-adapter.d.ts +2 -2
  411. package/esm/focus-indicator/focus-indicator-adapter.js +3 -3
  412. package/esm/focus-indicator/focus-indicator-foundation.js +3 -2
  413. package/esm/focus-indicator/focus-indicator.js +2 -2
  414. package/esm/icon-button/icon-button-adapter.d.ts +12 -0
  415. package/esm/icon-button/icon-button-adapter.js +11 -0
  416. package/esm/icon-button/icon-button-component-delegate.d.ts +0 -4
  417. package/esm/icon-button/icon-button-component-delegate.js +8 -18
  418. package/esm/icon-button/icon-button-constants.d.ts +26 -17
  419. package/esm/icon-button/icon-button-constants.js +17 -28
  420. package/esm/icon-button/icon-button-foundation.d.ts +39 -0
  421. package/esm/icon-button/icon-button-foundation.js +122 -0
  422. package/esm/icon-button/icon-button.d.ts +120 -41
  423. package/esm/icon-button/icon-button.js +156 -213
  424. package/esm/icon-button/index.d.ts +3 -1
  425. package/esm/icon-button/index.js +3 -1
  426. package/esm/index.d.ts +2 -0
  427. package/esm/index.js +6 -2
  428. package/esm/label/index.d.ts +11 -0
  429. package/esm/label/index.js +15 -0
  430. package/esm/label/label-adapter.d.ts +51 -0
  431. package/esm/label/label-adapter.js +102 -0
  432. package/esm/label/label-aware.d.ts +15 -0
  433. package/esm/label/label-aware.js +13 -0
  434. package/esm/label/label-constants.d.ts +17 -0
  435. package/esm/label/label-constants.js +31 -0
  436. package/esm/label/label-foundation.d.ts +40 -0
  437. package/esm/label/label-foundation.js +108 -0
  438. package/esm/label/label.d.ts +49 -0
  439. package/esm/label/label.js +80 -0
  440. package/esm/linear-progress/linear-progress-adapter.d.ts +2 -2
  441. package/esm/linear-progress/linear-progress-adapter.js +14 -6
  442. package/esm/linear-progress/linear-progress-constants.d.ts +3 -1
  443. package/esm/linear-progress/linear-progress-constants.js +1 -1
  444. package/esm/linear-progress/linear-progress-foundation.d.ts +6 -1
  445. package/esm/linear-progress/linear-progress-foundation.js +15 -5
  446. package/esm/linear-progress/linear-progress.d.ts +9 -2
  447. package/esm/linear-progress/linear-progress.js +16 -7
  448. package/esm/list/list/list-adapter.js +0 -1
  449. package/esm/list/list/list.js +1 -1
  450. package/esm/list/list-item/list-item-adapter.d.ts +12 -4
  451. package/esm/list/list-item/list-item-adapter.js +36 -5
  452. package/esm/list/list-item/list-item-constants.d.ts +4 -0
  453. package/esm/list/list-item/list-item-constants.js +3 -1
  454. package/esm/list/list-item/list-item-foundation.d.ts +9 -0
  455. package/esm/list/list-item/list-item-foundation.js +34 -4
  456. package/esm/list/list-item/list-item.d.ts +15 -4
  457. package/esm/list/list-item/list-item.js +29 -6
  458. package/esm/menu/menu-constants.js +1 -1
  459. package/esm/menu/menu-foundation.js +0 -4
  460. package/esm/menu/menu.js +1 -1
  461. package/esm/paginator/paginator-adapter.d.ts +4 -2
  462. package/esm/paginator/paginator-adapter.js +21 -8
  463. package/esm/paginator/paginator-constants.js +4 -4
  464. package/esm/paginator/paginator-foundation.d.ts +2 -0
  465. package/esm/paginator/paginator-foundation.js +19 -16
  466. package/esm/paginator/paginator.d.ts +1 -0
  467. package/esm/paginator/paginator.js +5 -2
  468. package/esm/profile-card/profile-card-adapter.d.ts +5 -8
  469. package/esm/profile-card/profile-card-adapter.js +5 -16
  470. package/esm/profile-card/profile-card-constants.js +3 -3
  471. package/esm/profile-card/profile-card-foundation.d.ts +4 -1
  472. package/esm/profile-card/profile-card-foundation.js +24 -13
  473. package/esm/profile-card/profile-card.d.ts +1 -2
  474. package/esm/profile-card/profile-card.js +11 -8
  475. package/esm/quantity-field/quantity-field-constants.js +2 -2
  476. package/esm/select/core/base-select-foundation.js +3 -1
  477. package/esm/slider/slider-adapter.d.ts +1 -1
  478. package/esm/slider/slider-adapter.js +3 -2
  479. package/esm/slider/slider-constants.js +3 -3
  480. package/esm/slider/slider.d.ts +6 -11
  481. package/esm/slider/slider.js +11 -7
  482. package/esm/split-button/index.d.ts +10 -0
  483. package/esm/split-button/index.js +14 -0
  484. package/esm/split-button/split-button-adapter.d.ts +30 -0
  485. package/esm/split-button/split-button-adapter.js +84 -0
  486. package/esm/split-button/split-button-constants.d.ts +21 -0
  487. package/esm/split-button/split-button-constants.js +23 -0
  488. package/esm/split-button/split-button-foundation.d.ts +37 -0
  489. package/esm/split-button/split-button-foundation.js +77 -0
  490. package/esm/split-button/split-button.d.ts +57 -0
  491. package/esm/split-button/split-button.js +103 -0
  492. package/esm/split-view/split-view-panel/split-view-panel.js +1 -1
  493. package/esm/state-layer/state-layer-adapter.js +1 -0
  494. package/esm/state-layer/state-layer-foundation.js +10 -1
  495. package/esm/state-layer/state-layer.js +1 -1
  496. package/esm/stepper/stepper/stepper-foundation.js +1 -1
  497. package/esm/switch/index.d.ts +2 -0
  498. package/esm/switch/index.js +2 -0
  499. package/esm/switch/switch-adapter.d.ts +30 -4
  500. package/esm/switch/switch-adapter.js +100 -18
  501. package/esm/switch/switch-component-delegate.d.ts +22 -7
  502. package/esm/switch/switch-component-delegate.js +63 -28
  503. package/esm/switch/switch-constants.d.ts +12 -2
  504. package/esm/switch/switch-constants.js +22 -11
  505. package/esm/switch/switch-foundation.d.ts +23 -4
  506. package/esm/switch/switch-foundation.js +63 -11
  507. package/esm/switch/switch.d.ts +28 -16
  508. package/esm/switch/switch.js +65 -36
  509. package/esm/table/table-foundation.d.ts +2 -0
  510. package/esm/table/table-foundation.js +17 -6
  511. package/esm/table/table-utils.js +13 -1
  512. package/esm/table/types.d.ts +1 -0
  513. package/esm/tabs/tab/tab.js +2 -2
  514. package/esm/tabs/tab-bar/tab-bar-adapter.js +17 -20
  515. package/esm/tabs/tab-bar/tab-bar.js +1 -1
  516. package/esm/time-picker/time-picker-adapter.js +5 -8
  517. package/esm/toast/toast-adapter.d.ts +1 -1
  518. package/esm/toast/toast-adapter.js +1 -1
  519. package/esm/toast/toast.js +2 -2
  520. package/esm/toolbar/toolbar.js +1 -1
  521. package/package.json +1 -3
  522. package/styles/app-bar/app-bar/_configuration.scss +16 -0
  523. package/styles/app-bar/app-bar/_core.scss +95 -0
  524. package/styles/app-bar/app-bar/_token-utils.scss +30 -0
  525. package/styles/app-bar/app-bar/app-bar.scss +142 -0
  526. package/styles/app-bar/app-bar/index.scss +8 -0
  527. package/styles/banner/banner.scss +0 -1
  528. package/styles/bottom-sheet/bottom-sheet.scss +0 -1
  529. package/styles/busy-indicator/_mixins.scss +1 -1
  530. package/styles/busy-indicator/busy-indicator.scss +0 -1
  531. package/styles/button/_configuration.scss +16 -0
  532. package/styles/button/_core.scss +183 -0
  533. package/styles/button/_token-utils.scss +30 -0
  534. package/styles/button/button.scss +221 -0
  535. package/styles/button/index.scss +8 -0
  536. package/styles/button-toggle/button-toggle/_mixins.scss +26 -7
  537. package/styles/calendar/calendar.scss +0 -4
  538. package/styles/{button/forge-button.scss → checkbox/_configuration.scss} +4 -3
  539. package/styles/checkbox/_core.scss +157 -0
  540. package/styles/checkbox/_token-utils.scss +30 -0
  541. package/styles/checkbox/checkbox.scss +143 -7
  542. package/styles/checkbox/index.scss +8 -0
  543. package/styles/chips/chip/_mixins.scss +21 -7
  544. package/styles/circular-progress/_configuration.scss +8 -15
  545. package/styles/circular-progress/_core.scss +21 -19
  546. package/styles/circular-progress/_token-utils.scss +30 -0
  547. package/styles/circular-progress/circular-progress.scss +51 -4
  548. package/styles/circular-progress/index.scss +1 -0
  549. package/styles/color-picker/color-picker.scss +0 -3
  550. package/styles/core/styles/_utils.scss +67 -4
  551. package/styles/core/styles/elevation/index.scss +10 -0
  552. package/styles/core/styles/spacing/index.scss +8 -1
  553. package/styles/core/styles/theme/index.scss +2 -0
  554. package/styles/core/styles/tokens/_token-utils.scss +118 -0
  555. package/styles/core/styles/tokens/app-bar/app-bar/_tokens.scss +35 -0
  556. package/styles/core/styles/tokens/button/_tokens.scss +115 -0
  557. package/styles/core/styles/tokens/checkbox/_tokens.scss +69 -0
  558. package/styles/core/styles/tokens/circular-progress/_tokens.scss +14 -3
  559. package/styles/core/styles/tokens/floating-action-button/_tokens.scss +66 -0
  560. package/styles/core/styles/tokens/focus-indicator/_tokens.scss +8 -5
  561. package/styles/core/styles/tokens/icon-button/_tokens.scss +106 -0
  562. package/styles/core/styles/tokens/index.scss +0 -1
  563. package/styles/core/styles/tokens/linear-progress/_tokens.scss +14 -3
  564. package/styles/core/styles/tokens/profile-card/_tokens.scss +19 -0
  565. package/styles/core/styles/tokens/shape/_tokens.scss +6 -0
  566. package/styles/core/styles/tokens/spacing/_tokens.scss +17 -1
  567. package/styles/core/styles/tokens/split-button/_tokens.scss +21 -0
  568. package/styles/core/styles/tokens/switch/_tokens.scss +4 -4
  569. package/styles/core/styles/tokens/tabs/tab/_tokens.scss +1 -1
  570. package/styles/core/styles/tokens/tabs/tab-bar/_tokens.scss +2 -2
  571. package/styles/core/styles/tokens/theme/_token-utils.scss +9 -5
  572. package/styles/core/styles/tokens/theme/_tokens.brand.scss +22 -0
  573. package/styles/core/styles/tokens/theme/_tokens.scss +3 -0
  574. package/styles/core/styles/tokens/typography/_tokens.label.scss +0 -1
  575. package/styles/core/styles/typography/index.scss +26 -1
  576. package/styles/file-picker/_mixins.scss +1 -1
  577. package/styles/floating-action-button/_configuration.scss +16 -0
  578. package/styles/floating-action-button/_core.scss +103 -0
  579. package/styles/floating-action-button/_token-utils.scss +30 -0
  580. package/styles/floating-action-button/floating-action-button.scss +129 -0
  581. package/styles/floating-action-button/index.scss +8 -0
  582. package/styles/focus-indicator/_animations.scss +6 -4
  583. package/styles/focus-indicator/_configuration.scss +2 -15
  584. package/styles/focus-indicator/_core.scss +20 -25
  585. package/styles/focus-indicator/_token-utils.scss +31 -0
  586. package/styles/focus-indicator/focus-indicator.scss +26 -21
  587. package/styles/focus-indicator/index.scss +1 -0
  588. package/styles/forge.scss +0 -3
  589. package/styles/icon-button/_configuration.scss +16 -0
  590. package/styles/icon-button/_core.scss +141 -0
  591. package/styles/icon-button/_token-utils.scss +30 -0
  592. package/styles/icon-button/icon-button.scss +349 -0
  593. package/styles/icon-button/index.scss +8 -0
  594. package/styles/label/_core.scss +17 -0
  595. package/styles/label/index.scss +6 -0
  596. package/styles/label/label.scss +18 -0
  597. package/styles/linear-progress/_animations.scss +3 -1
  598. package/styles/linear-progress/_configuration.scss +15 -16
  599. package/styles/linear-progress/_core.scss +17 -19
  600. package/styles/linear-progress/_token-utils.scss +31 -0
  601. package/styles/linear-progress/index.scss +1 -0
  602. package/styles/linear-progress/linear-progress.scss +42 -6
  603. package/styles/list/list/_configuration.scss +2 -4
  604. package/styles/list/list/_core.scss +3 -8
  605. package/styles/list/list/_token-utils.scss +30 -0
  606. package/styles/list/list/index.scss +1 -0
  607. package/styles/list/list/list.scss +11 -0
  608. package/styles/list/list-item/_configuration.scss +5 -61
  609. package/styles/list/list-item/_core.scss +51 -56
  610. package/styles/list/list-item/_token-utils.scss +30 -0
  611. package/styles/list/list-item/index.scss +1 -0
  612. package/styles/list/list-item/list-item.scss +12 -3
  613. package/styles/menu/menu.scss +1 -1
  614. package/styles/paginator/paginator.scss +0 -1
  615. package/styles/profile-card/_configuration.scss +10 -0
  616. package/styles/profile-card/_core.scss +58 -0
  617. package/styles/profile-card/_token-utils.scss +30 -0
  618. package/styles/profile-card/index.scss +8 -0
  619. package/styles/profile-card/profile-card.scss +55 -7
  620. package/styles/slider/_configuration.scss +5 -50
  621. package/styles/slider/_core.scss +58 -63
  622. package/styles/slider/_token-utils.scss +30 -0
  623. package/styles/slider/index.scss +1 -0
  624. package/styles/slider/slider.scss +26 -3
  625. package/styles/split-button/_configuration.scss +12 -0
  626. package/styles/split-button/_token-utils.scss +30 -0
  627. package/styles/split-button/index.scss +7 -0
  628. package/styles/split-button/split-button.scss +97 -0
  629. package/styles/state-layer/_configuration.scss +2 -9
  630. package/styles/state-layer/_core.scss +11 -16
  631. package/styles/state-layer/_token-utils.scss +31 -0
  632. package/styles/state-layer/index.scss +1 -0
  633. package/styles/state-layer/state-layer.scss +7 -0
  634. package/styles/switch/_configuration.scss +2 -87
  635. package/styles/switch/_core.scss +83 -86
  636. package/styles/switch/_token-utils.scss +30 -0
  637. package/styles/switch/index.scss +1 -0
  638. package/styles/switch/switch.scss +118 -84
  639. package/styles/table/_mixins.scss +20 -2
  640. package/styles/tabs/tab/_configuration.scss +7 -49
  641. package/styles/tabs/tab/_core.scss +27 -32
  642. package/styles/tabs/tab/_token-utils.scss +30 -0
  643. package/styles/tabs/tab/index.scss +1 -0
  644. package/styles/tabs/tab/tab.scss +87 -44
  645. package/styles/tabs/tab-bar/_configuration.scss +2 -5
  646. package/styles/tabs/tab-bar/_core.scss +26 -9
  647. package/styles/tabs/tab-bar/_token-utils.scss +30 -0
  648. package/styles/tabs/tab-bar/index.scss +2 -1
  649. package/styles/tabs/tab-bar/tab-bar.scss +68 -34
  650. package/styles/theme/_theme-dark.scss +0 -3
  651. package/styles/toast/_mixins.scss +1 -1
  652. package/styles/toast/toast.scss +0 -2
  653. package/styles/toolbar/_mixins.scss +0 -1
  654. package/styles/typography/forge-typography.scss +5 -2
  655. package/dist/button/forge-button.css +0 -6
  656. package/dist/esm/chunks/chunk.2LIWNFQK.js +0 -7
  657. package/dist/esm/chunks/chunk.3X4N4ZPY.js +0 -7
  658. package/dist/esm/chunks/chunk.3X4N4ZPY.js.map +0 -7
  659. package/dist/esm/chunks/chunk.436MTO6R.js +0 -7
  660. package/dist/esm/chunks/chunk.436MTO6R.js.map +0 -7
  661. package/dist/esm/chunks/chunk.4CXLGEJO.js +0 -7
  662. package/dist/esm/chunks/chunk.4CXLGEJO.js.map +0 -7
  663. package/dist/esm/chunks/chunk.4XJYS5WH.js +0 -7
  664. package/dist/esm/chunks/chunk.4XJYS5WH.js.map +0 -7
  665. package/dist/esm/chunks/chunk.7L66GZDN.js +0 -7
  666. package/dist/esm/chunks/chunk.7PPBXNAD.js +0 -7
  667. package/dist/esm/chunks/chunk.7PPBXNAD.js.map +0 -7
  668. package/dist/esm/chunks/chunk.A3ZDCBLA.js +0 -7
  669. package/dist/esm/chunks/chunk.A3ZDCBLA.js.map +0 -7
  670. package/dist/esm/chunks/chunk.CMRVP4EA.js +0 -7
  671. package/dist/esm/chunks/chunk.CZEF72BG.js +0 -12
  672. package/dist/esm/chunks/chunk.CZEF72BG.js.map +0 -7
  673. package/dist/esm/chunks/chunk.D5ZHKPCL.js +0 -7
  674. package/dist/esm/chunks/chunk.D5ZHKPCL.js.map +0 -7
  675. package/dist/esm/chunks/chunk.DH76CMUT.js +0 -7
  676. package/dist/esm/chunks/chunk.DH76CMUT.js.map +0 -7
  677. package/dist/esm/chunks/chunk.DLQSINSS.js +0 -7
  678. package/dist/esm/chunks/chunk.DLQSINSS.js.map +0 -7
  679. package/dist/esm/chunks/chunk.G6JWSERI.js +0 -7
  680. package/dist/esm/chunks/chunk.G6JWSERI.js.map +0 -7
  681. package/dist/esm/chunks/chunk.GO5A4GKZ.js +0 -7
  682. package/dist/esm/chunks/chunk.GO5A4GKZ.js.map +0 -7
  683. package/dist/esm/chunks/chunk.GWIXDVIA.js +0 -7
  684. package/dist/esm/chunks/chunk.GWIXDVIA.js.map +0 -7
  685. package/dist/esm/chunks/chunk.HGH6SSHZ.js +0 -7
  686. package/dist/esm/chunks/chunk.HGH6SSHZ.js.map +0 -7
  687. package/dist/esm/chunks/chunk.HJ23XQDJ.js +0 -7
  688. package/dist/esm/chunks/chunk.HJ23XQDJ.js.map +0 -7
  689. package/dist/esm/chunks/chunk.I5SFCLDD.js +0 -7
  690. package/dist/esm/chunks/chunk.IURDWGLD.js +0 -7
  691. package/dist/esm/chunks/chunk.IURDWGLD.js.map +0 -7
  692. package/dist/esm/chunks/chunk.JCO4M4PF.js +0 -7
  693. package/dist/esm/chunks/chunk.LNLO36U6.js +0 -7
  694. package/dist/esm/chunks/chunk.LV7XF22P.js +0 -7
  695. package/dist/esm/chunks/chunk.LV7XF22P.js.map +0 -7
  696. package/dist/esm/chunks/chunk.MHU452GM.js +0 -7
  697. package/dist/esm/chunks/chunk.MHU452GM.js.map +0 -7
  698. package/dist/esm/chunks/chunk.MLTEGJH6.js +0 -7
  699. package/dist/esm/chunks/chunk.MWWY5TX5.js +0 -7
  700. package/dist/esm/chunks/chunk.MWWY5TX5.js.map +0 -7
  701. package/dist/esm/chunks/chunk.O5GE3FFV.js +0 -7
  702. package/dist/esm/chunks/chunk.O5GE3FFV.js.map +0 -7
  703. package/dist/esm/chunks/chunk.OQ75YGB6.js +0 -7
  704. package/dist/esm/chunks/chunk.PCOOIP2H.js +0 -7
  705. package/dist/esm/chunks/chunk.PCOOIP2H.js.map +0 -7
  706. package/dist/esm/chunks/chunk.PDICDA2V.js +0 -7
  707. package/dist/esm/chunks/chunk.PDICDA2V.js.map +0 -7
  708. package/dist/esm/chunks/chunk.Q7BWJCT5.js +0 -7
  709. package/dist/esm/chunks/chunk.Q7BWJCT5.js.map +0 -7
  710. package/dist/esm/chunks/chunk.TCFKFKZW.js +0 -7
  711. package/dist/esm/chunks/chunk.TGVLYX5F.js +0 -7
  712. package/dist/esm/chunks/chunk.TGVLYX5F.js.map +0 -7
  713. package/dist/esm/chunks/chunk.TSH7BTC3.js +0 -7
  714. package/dist/esm/chunks/chunk.U5XNDTSZ.js +0 -7
  715. package/dist/esm/chunks/chunk.UAKQY7QB.js +0 -7
  716. package/dist/esm/chunks/chunk.UAKQY7QB.js.map +0 -7
  717. package/dist/esm/chunks/chunk.UAVC4YLD.js +0 -7
  718. package/dist/esm/chunks/chunk.UAVC4YLD.js.map +0 -7
  719. package/dist/esm/chunks/chunk.URFSXQKR.js +0 -7
  720. package/dist/esm/chunks/chunk.UZPZ6KUN.js +0 -7
  721. package/dist/esm/chunks/chunk.V6443MP3.js +0 -7
  722. package/dist/esm/chunks/chunk.V6443MP3.js.map +0 -7
  723. package/dist/esm/chunks/chunk.VAAID3SH.js +0 -7
  724. package/dist/esm/chunks/chunk.VAAID3SH.js.map +0 -7
  725. package/dist/esm/chunks/chunk.VPNDAKM3.js +0 -7
  726. package/dist/esm/chunks/chunk.VPNDAKM3.js.map +0 -7
  727. package/dist/esm/chunks/chunk.WCTSXMGU.js +0 -7
  728. package/dist/esm/chunks/chunk.WCTSXMGU.js.map +0 -7
  729. package/dist/esm/chunks/chunk.WOMYKBUG.js +0 -12
  730. package/dist/esm/chunks/chunk.WOMYKBUG.js.map +0 -7
  731. package/dist/esm/chunks/chunk.WVGIT7F7.js +0 -7
  732. package/dist/esm/chunks/chunk.WVGIT7F7.js.map +0 -7
  733. package/dist/esm/chunks/chunk.YOXZOPAC.js +0 -7
  734. package/dist/esm/chunks/chunk.YOXZOPAC.js.map +0 -7
  735. package/dist/esm/chunks/chunk.YP2NHWIW.js +0 -7
  736. package/dist/esm/chunks/chunk.YPA27RX7.js +0 -7
  737. package/dist/esm/chunks/chunk.YXXKPT6P.js +0 -7
  738. package/dist/esm/chunks/chunk.ZMUDT5UK.js +0 -7
  739. package/dist/esm/chunks/chunk.ZMUDT5UK.js.map +0 -7
  740. package/dist/floating-action-button/forge-floating-action-button.css +0 -6
  741. package/dist/icon-button/forge-icon-button.css +0 -6
  742. package/esm/app-bar/app-bar-adapter.d.ts +0 -43
  743. package/esm/app-bar/app-bar-adapter.js +0 -60
  744. package/esm/app-bar/app-bar-constants.js +0 -37
  745. package/esm/app-bar/app-bar-foundation.js +0 -70
  746. package/esm/app-bar/app-bar.d.ts +0 -38
  747. package/esm/app-bar/app-bar.js +0 -75
  748. package/esm/core/utils/a11y-utils.d.ts +0 -32
  749. package/esm/core/utils/a11y-utils.js +0 -111
  750. package/styles/app-bar/_mixins.scss +0 -249
  751. package/styles/app-bar/_variables.scss +0 -34
  752. package/styles/app-bar/app-bar.scss +0 -22
  753. package/styles/button/_button-base.scss +0 -183
  754. package/styles/button/_button-filled-theme.scss +0 -60
  755. package/styles/button/_button-filled.scss +0 -71
  756. package/styles/button/_button-outlined-theme.scss +0 -175
  757. package/styles/button/_button-outlined.scss +0 -76
  758. package/styles/button/_button-protected-theme.scss +0 -60
  759. package/styles/button/_button-protected.scss +0 -88
  760. package/styles/button/_button-ripple.scss +0 -69
  761. package/styles/button/_button-shared-theme.scss +0 -447
  762. package/styles/button/_button-text-theme.scss +0 -60
  763. package/styles/button/_button-text.scss +0 -57
  764. package/styles/button/_button.mixins.scss +0 -148
  765. package/styles/button/_mixins.scss +0 -183
  766. package/styles/checkbox/_checkbox-custom-properties.scss +0 -11
  767. package/styles/checkbox/_checkbox-theme.scss +0 -577
  768. package/styles/checkbox/_checkbox.mixins.scss +0 -595
  769. package/styles/floating-action-button/_extended-fab-theme.scss +0 -238
  770. package/styles/floating-action-button/_fab-custom-properties.scss +0 -29
  771. package/styles/floating-action-button/_fab-theme.scss +0 -541
  772. package/styles/floating-action-button/_fab.mixins.scss +0 -351
  773. package/styles/floating-action-button/forge-floating-action-button.scss +0 -16
  774. package/styles/icon-button/_mixins.scss +0 -345
  775. package/styles/icon-button/_variables.scss +0 -42
  776. package/styles/profile-card/_mixins.scss +0 -83
  777. /package/dist/esm/chunks/{chunk.PLNLLKP2.js.map → chunk.26E4L52W.js.map} +0 -0
  778. /package/dist/esm/chunks/{chunk.AY43NTAK.js.map → chunk.3UO6S3IK.js.map} +0 -0
  779. /package/dist/esm/chunks/{chunk.IXGXASHQ.js.map → chunk.4B5IOZAT.js.map} +0 -0
  780. /package/dist/esm/chunks/{chunk.WK2L7BPJ.js.map → chunk.4QDN5PM6.js.map} +0 -0
  781. /package/dist/esm/chunks/{chunk.C5ZUGOOC.js.map → chunk.57PXXJA6.js.map} +0 -0
  782. /package/dist/esm/chunks/{chunk.C7VEJINB.js.map → chunk.5C24LZNU.js.map} +0 -0
  783. /package/dist/esm/chunks/{chunk.C2MQN7MI.js.map → chunk.5H4G6BWX.js.map} +0 -0
  784. /package/dist/esm/chunks/{chunk.CQQSOTZ5.js.map → chunk.5VHUMZYS.js.map} +0 -0
  785. /package/dist/esm/chunks/{chunk.WJXDDQUK.js.map → chunk.7ABZUBTT.js.map} +0 -0
  786. /package/dist/esm/chunks/{chunk.ZREXLSAJ.js.map → chunk.7BGOH44S.js.map} +0 -0
  787. /package/dist/esm/chunks/{chunk.2WSXSOYB.js.map → chunk.7DHDFH5L.js.map} +0 -0
  788. /package/dist/esm/chunks/{chunk.UVJFHSMF.js.map → chunk.7PP6QHOM.js.map} +0 -0
  789. /package/dist/esm/chunks/{chunk.7L66GZDN.js.map → chunk.7UXLLUTN.js.map} +0 -0
  790. /package/dist/esm/chunks/{chunk.NDJZYFRT.js.map → chunk.B46Q3AFP.js.map} +0 -0
  791. /package/dist/esm/chunks/{chunk.EY37FYZ4.js.map → chunk.C5IB44HX.js.map} +0 -0
  792. /package/dist/esm/chunks/{chunk.6VSFLBZF.js.map → chunk.CTZ3AWDW.js.map} +0 -0
  793. /package/dist/esm/chunks/{chunk.HBCDD25D.js.map → chunk.DDXIHZFX.js.map} +0 -0
  794. /package/dist/esm/chunks/{chunk.VDGJ4UDL.js.map → chunk.DOEG3DWJ.js.map} +0 -0
  795. /package/dist/esm/chunks/{chunk.4USQ2AP6.js.map → chunk.DTKFE7YB.js.map} +0 -0
  796. /package/dist/esm/chunks/{chunk.IJ2I25V3.js.map → chunk.E3GVKR4E.js.map} +0 -0
  797. /package/dist/esm/chunks/{chunk.FK6NNHXH.js.map → chunk.F2EBSV5Z.js.map} +0 -0
  798. /package/dist/esm/chunks/{chunk.RNUGVHZF.js.map → chunk.G2BNY5QQ.js.map} +0 -0
  799. /package/dist/esm/chunks/{chunk.4JF54GDJ.js.map → chunk.GS72TBUD.js.map} +0 -0
  800. /package/dist/esm/chunks/{chunk.AQ7ROWO4.js.map → chunk.GT3VPSXY.js.map} +0 -0
  801. /package/dist/esm/chunks/{chunk.DABGA7I6.js.map → chunk.GWJ4QCSW.js.map} +0 -0
  802. /package/dist/esm/chunks/{chunk.RXLORASN.js.map → chunk.HHHBS6FB.js.map} +0 -0
  803. /package/dist/esm/chunks/{chunk.MLTEGJH6.js.map → chunk.I3NHK2S3.js.map} +0 -0
  804. /package/dist/esm/chunks/{chunk.HKSXC5VK.js.map → chunk.IEB5KRFQ.js.map} +0 -0
  805. /package/dist/esm/chunks/{chunk.OQAD6MFL.js.map → chunk.J3B5CWKT.js.map} +0 -0
  806. /package/dist/esm/chunks/{chunk.QNVVUUNQ.js.map → chunk.KLPF4CNX.js.map} +0 -0
  807. /package/dist/esm/chunks/{chunk.66X366TV.js.map → chunk.L4Y4RO5O.js.map} +0 -0
  808. /package/dist/esm/chunks/{chunk.RBFGJH3C.js.map → chunk.LMIKNDBS.js.map} +0 -0
  809. /package/dist/esm/chunks/{chunk.R2KOYHIZ.js.map → chunk.LSNAGIIH.js.map} +0 -0
  810. /package/dist/esm/chunks/{chunk.7M4HRJYP.js.map → chunk.LXX3YZYS.js.map} +0 -0
  811. /package/dist/esm/chunks/{chunk.W7H2ZYNR.js.map → chunk.NG6UZ4OL.js.map} +0 -0
  812. /package/dist/esm/chunks/{chunk.CMRVP4EA.js.map → chunk.NYYXUH3X.js.map} +0 -0
  813. /package/dist/esm/chunks/{chunk.DQVYB55P.js.map → chunk.NZKIFXBU.js.map} +0 -0
  814. /package/dist/esm/chunks/{chunk.AHAARGYM.js.map → chunk.OED5UCYT.js.map} +0 -0
  815. /package/dist/esm/chunks/{chunk.2LIWNFQK.js.map → chunk.OYO5O3NF.js.map} +0 -0
  816. /package/dist/esm/chunks/{chunk.7UJAI6P2.js.map → chunk.P7LC3YYW.js.map} +0 -0
  817. /package/dist/esm/chunks/{chunk.Z6AFASMO.js.map → chunk.PK7R6WDF.js.map} +0 -0
  818. /package/dist/esm/chunks/{chunk.WWTQAN4G.js.map → chunk.PSTGTQVK.js.map} +0 -0
  819. /package/dist/esm/chunks/{chunk.RWUJGZ3R.js.map → chunk.RZZBM3AW.js.map} +0 -0
  820. /package/dist/esm/chunks/{chunk.37JFBP4X.js.map → chunk.SNF35Y6C.js.map} +0 -0
  821. /package/dist/esm/chunks/{chunk.YPA27RX7.js.map → chunk.T34DG7BU.js.map} +0 -0
  822. /package/dist/esm/chunks/{chunk.HDO3WRH7.js.map → chunk.THWSN3X4.js.map} +0 -0
  823. /package/dist/esm/chunks/{chunk.E4TAHUQO.js.map → chunk.TZFUKJ24.js.map} +0 -0
  824. /package/dist/esm/chunks/{chunk.SEWAMWO6.js.map → chunk.U5WMRBSC.js.map} +0 -0
  825. /package/dist/esm/chunks/{chunk.PDSOXEMY.js.map → chunk.UWZWXNTW.js.map} +0 -0
  826. /package/dist/esm/chunks/{chunk.CBIHNCT5.js.map → chunk.W324TWF2.js.map} +0 -0
  827. /package/dist/esm/chunks/{chunk.ZYVXIP42.js.map → chunk.YKZ25J6B.js.map} +0 -0
  828. /package/dist/esm/chunks/{chunk.R6NA7SV2.js.map → chunk.ZSD7MMVB.js.map} +0 -0
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/calendar/calendar-constants.ts", "../../src/calendar/calendar-locale-utils.ts", "../../src/calendar/calendar-dom-utils.ts", "../../src/calendar/calendar-dropdown/calendar-dropdown-constants.ts", "../../src/calendar/calendar-dropdown/calendar-dropdown.ts"],
4
- "sourcesContent": ["import { TOOLTIP_CONSTANTS } from '../tooltip/tooltip-constants';\nimport { COMPONENT_NAME_PREFIX } from '../constants';\nimport { CALENDAR_MENU_CONSTANTS } from './calendar-menu';\nimport { DateRange } from './core/date-range';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}calendar`;\n\nconst observedAttributes = {\n ALLOW_SINGLE_DATE_RANGE: 'allow-single-date-range',\n CLEAR_BUTTON: 'clear-button',\n CONSTRAIN_TO_ENABLED: 'constrain-to-enabled',\n FIRST_DAY_OF_WEEK: 'first-day-of-week',\n FIXED_HEIGHT: 'static-height',\n LIST_YEARS: 'list-years',\n LOCALE: 'locale',\n MAX: 'max',\n MENU_ANIMATION: 'menu-animation',\n MIN: 'min',\n MODE: 'mode',\n MONTH: 'month',\n PREVENT_FOCUS: 'prevent-focus',\n READONLY: 'readonly',\n SELECTION_FOLLOWS_MONTH: 'selection-follows-month',\n SHOW_HEADER: 'show-header',\n SHOW_OTHER_MONTHS: 'show-other-months',\n SHOW_TODAY: 'show-today',\n TODAY_BUTTON: 'today-button',\n VIEW: 'view',\n YEAR: 'year',\n YEAR_RANGE: 'year-range'\n};\n\nconst attributes = {\n ...observedAttributes,\n DATA_DATE: 'data-date',\n DATA_EVENT_THEME: 'data-event-theme',\n POPUP_CONTEXT: 'forge-popup-context'\n};\n\nconst classes = {\n ALLOW_SINGLE_DATE_RANGE: 'forge-calendar--allow-single-date-range',\n DATE: 'forge-calendar__date',\n DATE_GRID: 'forge-calendar__date-grid',\n DATE_INNER: 'forge-calendar__date__inner',\n DATE_OTHER_MONTH: 'forge-calendar__date--other-month',\n DATE_SPACER: 'forge-calendar__date-spacer',\n DATE_SELECTED: 'forge-calendar__date--selected',\n DATE_TODAY: 'forge-calendar__date--today',\n DATE_VIEW: 'forge-calendar__date-view',\n DATE_VIEW_ROW: 'forge-calendar__date-view__row',\n DATE_WRAPPER: 'forge-calendar__date-wrapper',\n DAY: 'forge-calendar__day',\n EVENT: 'forge-calendar__event',\n EVENT_OVERFLOW: 'forge-calendar__event--overflow',\n EVENT_WRAPPER: 'forge-calendar__event__wrapper',\n FIXED_HEIGHT: 'forge-calendar--fixed-height',\n FOOTER: 'forge-calendar__footer',\n HEADER: 'forge-calendar__header',\n MDC_RIPPLE_UPGRADED_FOCUSED: 'mdc-ripple-upgraded--background-focused',\n MONTH_MENU_OPEN: 'forge-calendar--month-menu-open',\n PREVENT_FOCUS: 'forge-calendar--prevent-focus',\n RANGE: 'forge-calendar__range',\n RANGE_END: 'forge-calendar__range--end',\n RANGE_START: 'forge-calendar__range--start',\n RANGE_TARGET: 'forge-calendar__range__target',\n READONLY: 'forge-calendar--readonly',\n RTL: 'forge-calendar--rtl',\n SHOW_OTHER_MONTHS: 'forge-calendar--show-other-months',\n SHOW_TODAY: 'forge-calendar--show-today',\n VIEW: 'forge-calendar__view',\n YEAR_MENU_OPEN: 'forge-calendar--year-menu-open'\n};\n\nconst ids = {\n ACCESSIBLE_HEADER: 'accessible-header',\n ACCESSIBLE_MONTH: 'accessible-month',\n ACCESSIBLE_YEAR: 'accessible-year',\n CLEAR_BUTTON: 'clear-button',\n DATE_GRID: 'date-grid',\n DATE_VIEW: 'date-view',\n DAY_ROW: 'day-row',\n FOOTER: 'footer',\n HEADER: 'header',\n MENU: 'menu',\n MONTH_BUTTON: 'month-button',\n NEXT_BUTTON: 'next-button',\n NEXT_BUTTON_TOOLTIP: 'next-button-tooltip',\n PREVIOUS_BUTTON: 'previous-button',\n PREVIOUS_BUTTON_TOOLTIP: 'previous-button-tooltip',\n TODAY_BUTTON: 'today-button',\n YEAR_BUTTON: 'year-button'\n};\n\nconst weekdayParts = {\n SUNDAY: 'sunday',\n MONDAY: 'monday',\n TUESDAY: 'tuesday',\n WEDNESDAY: 'wednesday',\n THURSDAY: 'thursday',\n FRIDAY: 'friday',\n SATURDAY: 'saturday'\n};\n\nconst parts = {\n ...weekdayParts,\n CLEAR_BUTTON: 'clear-button',\n DATE: 'date',\n DATE_OTHER_MONTH: 'date-other-month',\n DATE_VIEW: 'date-view',\n DATE_WRAPPER: 'date-wrapper',\n DAY: 'day',\n EVENT: 'event',\n EVENT_WRAPPER: 'event-wrapper',\n FOOTER: 'footer',\n HEADER: 'header',\n MONTH_BUTTON: 'month-button',\n MONTH_BUTTON_ELEMENT: 'month-button-element',\n NEXT_BUTTON: 'next-button',\n PREVIOUS_BUTTON: 'previous-button',\n RANGE: 'range',\n RANGE_END: 'range-end',\n RANGE_START: 'range-start',\n TODAY: 'today',\n TODAY_BUTTON: 'today-button',\n WEEKEND: 'weekend',\n YEAR_BUTTON: 'year-button',\n YEAR_BUTTON_ELEMENT: 'year-button-element'\n};\n\nconst selectors = {\n ACCESSIBLE_HEADER: `#${ids.ACCESSIBLE_HEADER}`,\n ACCESSIBLE_MONTH: `#${ids.ACCESSIBLE_MONTH}`,\n ACCESSIBLE_YEAR: `#${ids.ACCESSIBLE_YEAR}`,\n CALENDAR: '.forge-calendar',\n CLEAR_BUTTON: `#${ids.CLEAR_BUTTON}`,\n DATE: `.${classes.DATE}`,\n DATE_GRID: `#${ids.DATE_GRID}`,\n DATE_INNER: `.${classes.DATE_INNER}`,\n DATE_OTHER_MONTH: `.${classes.DATE_OTHER_MONTH}`,\n DATE_SPACER: `.${classes.DATE_SPACER}`,\n DATE_SELECTED: `.${classes.DATE_SELECTED}`,\n DATE_TODAY: `.${classes.DATE_TODAY}`,\n DATE_VIEW: `#${ids.DATE_VIEW}`,\n DATE_WRAPPER: `.${classes.DATE_WRAPPER}`,\n DAY_ROW: `#${ids.DAY_ROW}`,\n EVENT_WRAPPER: `.${classes.EVENT_WRAPPER}`,\n FOOTER: `#${ids.FOOTER}`,\n HEADER: `#${ids.HEADER}`,\n MENU: CALENDAR_MENU_CONSTANTS.elementName,\n MONTH_BUTTON: `#${ids.MONTH_BUTTON}`,\n NEXT_BUTTON: `#${ids.NEXT_BUTTON}`,\n NEXT_BUTTON_TOOLTIP: `#${ids.NEXT_BUTTON_TOOLTIP}`,\n PREVIOUS_BUTTON: `#${ids.PREVIOUS_BUTTON}`,\n PREVIOUS_BUTTON_TOOLTIP: `#${ids.PREVIOUS_BUTTON_TOOLTIP}`,\n RANGE: `.${classes.RANGE}`,\n RANGE_END: `.${classes.RANGE_END}`,\n RANGE_START: `.${classes.RANGE_START}`,\n TODAY_BUTTON: `#${ids.TODAY_BUTTON}`,\n TOOLTIP: TOOLTIP_CONSTANTS.elementName,\n VIEW: '#view',\n YEAR_BUTTON: `#${ids.YEAR_BUTTON}`\n};\n\nconst events = {\n DATE_SELECT: `${elementName}-date-select`,\n FOCUS_CHANGE: `${elementName}-focus-change`,\n MONTH_CHANGE: `${elementName}-month-change`,\n VIEW_CHANGE: `${elementName}-view-change`\n};\n\nconst numbers = {\n DEFAULT_MAX_YEAR_OFFSET: 50,\n DEFAULT_MIN_YEAR_OFFSET: 50,\n FINAL_WEEK_BEGIN_INDEX: 35,\n MONTH_LENGTH: 42,\n PENULTIMATE_WEEK_BEGIN_INDEX: 28,\n WEEK_LENGTH: 7,\n YEARS_IN_VIEW: 20\n};\n\nexport const CALENDAR_CONSTANTS = {\n elementName,\n attributes,\n classes,\n ids,\n parts,\n selectors,\n events,\n numbers\n};\n\nexport type CalendarDateBuilder = (date: ICalendarDateConfig, element: HTMLElement) => HTMLElement;\nexport type CalendarDateSelectCallback = (date: ICalendarDate) => boolean | Promise<boolean>;\nexport type CalendarDayBuilder = (day: DayOfWeek, element: HTMLElement) => HTMLElement;\nexport type CalendarDisabledDateBuilder = (date: Date) => boolean;\nexport type CalendarEventBuilder = (date: Date) => ICalendarEvent[] | ICalendarEvent | null;\nexport type CalendarTooltipBuilder = (date: ICalendarDate, content: string) => string | null;\n\nexport type CalendarMode = 'single' | 'multiple' | 'range';\nexport type CalendarView = 'date' | 'month' | 'year';\nexport type RangeSelectionState = 'none' | 'from' | 'to';\nexport type CalendarEventColor = 'primary' | 'secondary' | 'blue' | 'light-green' | 'cyan' | 'teal' | 'orange' | 'blue-grey' | 'grey' | 'red' | 'pink' | 'purple' | 'light-blue' | 'deep-purple' | 'green' | 'lime' | 'yellow' | 'brown' | 'deep-orange';\n\nexport interface ICalendarDate {\n date: Date;\n selected: boolean;\n events: ICalendarEvent[];\n}\n\nexport interface ICalendarDateConfig {\n date: Date;\n selected: boolean;\n today: boolean;\n thisMonth: boolean;\n disabled: boolean;\n}\n\nexport interface ICalendarDateOptions {\n builder?: CalendarDateBuilder;\n locale?: string;\n showOtherMonths?: boolean;\n}\n\nexport interface ICalendarDayOptions {\n builder?: CalendarDayBuilder;\n locale?: string;\n}\n\nexport interface ICalendarEvent {\n date: Date;\n label: string;\n color: CalendarEventColor | string;\n}\n\nexport interface ICalendarDateSelectEventData {\n date: Date | null;\n selected: boolean;\n range?: DateRange;\n rangeSelectionState?: RangeSelectionState;\n type: CalendarView;\n}\n\nexport interface ICalendarMonthChangeEventData {\n month: number;\n userSelected: boolean; // Indicates whether event is from explicit selection or regular navigation\n year: number;\n}\n\nexport interface ICalendarFocusChangeEventData {\n selected: boolean;\n text: string;\n type: CalendarView;\n value: Date | number;\n}\n\nexport interface ICalendarNumberRange {\n max: number;\n min: number;\n}\n\nexport interface ICalendarDisabledDateParams {\n builder: CalendarDisabledDateBuilder | undefined;\n disabledDates: Date[];\n disabledDaysOfWeek: DayOfWeek[];\n maxDate: Date | null;\n minDate: Date | null;\n otherMonth?: boolean;\n}\n\nexport interface ICalendarMenuMonthConfig {\n locale?: string;\n max: Date | null;\n min: Date | null;\n selectedMonth: number;\n selectedYear: number;\n}\n\nexport interface ICalendarMenuYearConfig {\n locale?: string;\n max: number;\n min: number;\n selectedYear: number;\n yearInView: number;\n}\n\nexport enum DayOfWeek {\n Sunday = 0,\n Monday = 1,\n Tuesday = 2,\n Wednesday = 3,\n Thursday = 4,\n Friday = 5,\n Saturday = 6\n}\n\nexport enum CalendarMonthFocus {\n First = 1,\n Last = 2,\n Current = 3\n}\n", "// TODO: implement year before month support\n// TODO: use a more robust strategy to get language and region parts from a locale, like the Intl API (in TypeScript 4.1.2 and es2020.intl)\n\nimport { DayOfWeek } from './calendar-constants';\n\n/** Returns a localized day name. */\nexport function getLocalizedDayOfWeek(day: DayOfWeek, format: 'long' | 'short' | 'narrow' | undefined, locale?: string): string {\n if (!locale) {\n locale = navigator.language;\n }\n // January 2017 starts on a Sunday\n return new Date(2017, 0, day + 1).toLocaleString(locale, {weekday: format});\n}\n\n/** Returns a localized date of the month. */\nexport function getLocalizedDayOfMonth(date: number, format: 'numeric' | '2-digit' | undefined, locale?: string): string {\n if (!locale) {\n locale = navigator.language;\n }\n return new Date(1970, 0, date).toLocaleDateString(locale, {day: format});\n}\n\n/** Returns a localized month name. */\nexport function getLocalizedMonth(month: number, format: 'long' | 'short' | 'narrow' | 'numeric' | '2-digit' | undefined, locale?: string): string {\n if (!locale) {\n locale = navigator.language;\n }\n return new Date(1970, month, 1).toLocaleString(locale, {month: format});\n}\n\n/** Returns a localized year name. */\nexport function getLocalizedYear(year: number, format: 'numeric' | '2-digit' | undefined, locale?: string): string {\n if (!locale) {\n locale = navigator.language;\n }\n return new Date(year, 0, 1).toLocaleDateString(locale, {year: format});\n}\n\n/** Returns the first day of week for a locale. */\nexport function getFirstDayOfWeekForLocale(locale?: string): DayOfWeek {\n if (!locale) {\n locale = navigator.language;\n }\n const localeParts = locale.match(/^([a-z]{2,3})(?:-([a-z]{3})(?=$|-))?(?:-([a-z]{4})(?=$|-))?(?:-([a-z]{2}|\\d{3})(?=$|-))?/i);\n if (!localeParts || !localeParts.length) {\n return DayOfWeek.Monday;\n }\n\n const language = localeParts[1];\n const region = localeParts[4];\n const saturdayRegions = 'AEAFBHDJDZEGIQIRJOKWLYOMQASDSY'.match(/../g);\n const sundayRegions = 'AGARASAUBDBRBSBTBWBZCACNCODMDOETGTGUHKHNIDILINJMJPKEKHKRLAMHMMMOMTMXMZNINPPAPEPHPKPRPTPYSASGSVTHTTTWUMUSVEVIWSYEZAZW'.match(/../g);\n const saturdayLanguages = ['ar', 'arq', 'arz', 'fa'];\n const sundayLanguages = 'amasbndzengnguhehiidjajvkmknkolomhmlmrmtmyneomorpapssdsmsnsutatethtnurzhzu'.match(/../g);\n\n if (region) {\n if (sundayRegions && sundayRegions.includes(region)) {\n return DayOfWeek.Sunday;\n } else if (saturdayRegions && saturdayRegions.includes(region)) {\n return DayOfWeek.Saturday;\n } else {\n return DayOfWeek.Monday;\n }\n } else {\n if (sundayLanguages && sundayLanguages.includes(language)) {\n return DayOfWeek.Sunday;\n } else if (saturdayLanguages && saturdayLanguages.includes(language)) {\n return DayOfWeek.Saturday;\n } else {\n return DayOfWeek.Monday;\n }\n }\n}\n\n/** Returns an array of weekend days for a locale. */\nexport function getWeekendDaysForLocale(locale?: string): DayOfWeek[] {\n if (!locale) {\n locale = navigator.language;\n }\n const region: string = locale.split('-')[1];\n switch (region) {\n case 'DZ':\n case 'BH':\n case 'BD':\n case 'EG':\n case 'IQ':\n case 'IL':\n case 'JO':\n case 'KW':\n case 'LY':\n case 'MV': // Not consistent across Malaysia\n case 'MR':\n case 'NP':\n case 'OM':\n case 'QA':\n case 'SA':\n case 'SD':\n case 'SY':\n case 'AE': // Not consistent across UAE\n case 'YE':\n case 'AF': // Thursday morning is a workday\n case 'IR': // Thursday morning is a workday\n return [DayOfWeek.Thursday, DayOfWeek.Friday];\n case 'BN':\n return [DayOfWeek.Sunday, DayOfWeek.Friday];\n default:\n return [DayOfWeek.Sunday, DayOfWeek.Saturday];\n }\n}\n\n/** Returns whether a language is written right-to-left. */\nexport function isRtlLocale(locale?: string): boolean {\n if (!locale) {\n locale = navigator.language;\n }\n const rtlLocales: string[] = [\n 'ar',\n 'arc',\n 'ckb',\n 'dv',\n 'fa',\n 'ha',\n 'he',\n 'khw',\n 'ks',\n 'ps',\n 'sd',\n 'ur',\n 'uz-AF',\n 'yi'\n ];\n return rtlLocales.some(l => locale ? locale.startsWith(l) : false);\n}\n", "import { getEventPath, appendToAttribute, toggleOnAttribute } from '@tylertech/forge-core';\n\nimport { IIconComponent } from '../icon';\nimport { ITooltipComponent } from '../tooltip';\nimport { CALENDAR_CONSTANTS, DayOfWeek, ICalendarDateConfig, ICalendarDateOptions, ICalendarEvent } from './calendar-constants';\nimport { getLocalizedDayOfMonth, getLocalizedDayOfWeek, getLocalizedMonth, getLocalizedYear } from './calendar-locale-utils';\n\n/** Converts a day into an id string prefixed with \"d\". */\nexport function getDayId(day: DayOfWeek): string {\n return `d${day}`;\n}\n\n/** Converts a date object into a \"yyyymmdd\" id string prefixed with \"d\". */\nexport function getDateId(date: Date): string {\n const month = String(date.getMonth()).padStart(2, '0');\n const day = String(date.getDate()).padStart(2, '0');\n const year = date.getFullYear();\n return ['d', year, month, day].join('');\n}\n\n/** Converts a date object into a \"yyyymmdd\" if string prefixed with \"e\". */\nexport function getEventWrapperId(date: Date): string {\n const month = String(date.getMonth()).padStart(2, '0');\n const day = String(date.getDate()).padStart(2, '0');\n const year = date.getFullYear();\n return ['e', year, month, day].join('');\n}\n\n/** Returns a day element. */\nexport function getDayElement(day: DayOfWeek, locale?: string): HTMLElement {\n const element = document.createElement('div');\n element.classList.add(CALENDAR_CONSTANTS.classes.DAY);\n element.id = getDayId(day);\n element.setAttribute('role', 'columnheader');\n element.setAttribute('aria-label', getLocalizedDayOfWeek(day, 'long', locale));\n element.setAttribute('part', CALENDAR_CONSTANTS.parts.DAY);\n element.textContent = getLocalizedDayOfWeek(day, 'short', locale);\n return element;\n}\n\n/** Returns a date row element. */\nexport function getDateRow(dates: ICalendarDateConfig[], index: number, options?: ICalendarDateOptions): HTMLElement {\n const element = document.createElement('div');\n element.classList.add(CALENDAR_CONSTANTS.classes.DATE_VIEW_ROW);\n element.setAttribute('role', 'row');\n\n // Populate the row\n if (index > 0 && !dates[0]?.thisMonth) {\n // A row after the first that begins on another month is all spacers and should be hidden from the accessibility tree\n dates.forEach(d => element.appendChild(getDateSpacerElement(d.date)));\n element.setAttribute('aria-hidden', 'true');\n } else {\n dates.forEach(d => {\n let dateElement = d.thisMonth || options?.showOtherMonths ? getDateElement(d, options?.locale) : getDateSpacerElement(d.date);\n if ((d.thisMonth || options?.showOtherMonths) && options?.builder) {\n dateElement = options.builder(d, dateElement);\n }\n element.appendChild(dateElement);\n });\n }\n\n return element;\n}\n\n/** Returns a date element. */\nexport function getDateElement(date: ICalendarDateConfig, locale?: string): HTMLElement {\n const element = document.createElement('div');\n const rangeElement = document.createElement('div');\n const innerElement = document.createElement('div');\n const rippleElement = document.createElement('div');\n const day = date.date.getDay();\n\n element.id = getDateId(date.date);\n element.tabIndex = -1;\n element.classList.add(CALENDAR_CONSTANTS.classes.DATE);\n element.classList.toggle(CALENDAR_CONSTANTS.classes.DATE_TODAY, date.today);\n element.classList.toggle(CALENDAR_CONSTANTS.classes.DATE_SELECTED, date.selected);\n element.classList.toggle(CALENDAR_CONSTANTS.classes.DATE_OTHER_MONTH, !date.thisMonth);\n element.setAttribute('role', 'gridcell');\n element.setAttribute('aria-disabled', date.disabled.toString());\n element.setAttribute('aria-label', `${date.today ? 'Today, ' : ''}${date.date.toLocaleDateString(locale ?? navigator.language, {weekday: 'long', month: 'long', day: 'numeric', year: 'numeric'})}`);\n element.setAttribute('aria-selected', date.selected.toString());\n element.setAttribute(CALENDAR_CONSTANTS.attributes.DATA_DATE, date.date.toDateString());\n element.toggleAttribute('disabled', date.disabled);\n element.setAttribute('part', CALENDAR_CONSTANTS.parts.DATE_WRAPPER);\n \n // Add day of week part\n let dayOfWeekPart = '';\n switch (day) {\n case DayOfWeek.Sunday:\n dayOfWeekPart = CALENDAR_CONSTANTS.parts.SUNDAY;\n break;\n case DayOfWeek.Monday:\n dayOfWeekPart = CALENDAR_CONSTANTS.parts.MONDAY;\n break;\n case DayOfWeek.Tuesday:\n dayOfWeekPart = CALENDAR_CONSTANTS.parts.TUESDAY;\n break;\n case DayOfWeek.Wednesday:\n dayOfWeekPart = CALENDAR_CONSTANTS.parts.WEDNESDAY;\n break;\n case DayOfWeek.Thursday:\n dayOfWeekPart = CALENDAR_CONSTANTS.parts.THURSDAY;\n break;\n case DayOfWeek.Friday:\n dayOfWeekPart = CALENDAR_CONSTANTS.parts.FRIDAY;\n break;\n case DayOfWeek.Saturday:\n dayOfWeekPart = CALENDAR_CONSTANTS.parts.SATURDAY;\n break;\n }\n appendToAttribute(innerElement, 'part', dayOfWeekPart);\n appendToAttribute(innerElement, 'part', CALENDAR_CONSTANTS.parts.DATE);\n toggleOnAttribute(innerElement, 'part', CALENDAR_CONSTANTS.parts.TODAY, date.today);\n toggleOnAttribute(innerElement, 'part', CALENDAR_CONSTANTS.parts.DATE_OTHER_MONTH, !date.thisMonth);\n\n rangeElement.classList.add(CALENDAR_CONSTANTS.classes.RANGE_TARGET);\n element.appendChild(rangeElement);\n innerElement.textContent = getLocalizedDayOfMonth(date.date.getDate(), 'numeric', locale);\n innerElement.classList.add(CALENDAR_CONSTANTS.classes.DATE_INNER);\n element.appendChild(innerElement);\n rippleElement.classList.add('mdc-ripple-surface');\n element.appendChild(rippleElement);\n return element;\n}\n\n/** Returns a date spacer element. */\nexport function getDateSpacerElement(date: Date): HTMLElement {\n // This is a span to easiliy differentiate it from a date in CSS\n const element = document.createElement('span');\n element.classList.add(CALENDAR_CONSTANTS.classes.DATE_SPACER);\n element.id = getDateId(date);\n return element;\n}\n\n/** Returns an event wrapper element. */\nexport function getEventWrapperElement(date: Date): HTMLElement {\n const element = document.createElement('div');\n element.classList.add(CALENDAR_CONSTANTS.classes.EVENT_WRAPPER);\n element.id = getEventWrapperId(date);\n element.setAttribute('part', CALENDAR_CONSTANTS.parts.EVENT_WRAPPER);\n return element;\n}\n\n/** Returns an event element. */\nexport function getEventElement(event: ICalendarEvent, overflow?: boolean): HTMLElement {\n const element: IIconComponent = document.createElement('forge-icon');\n element.classList.add(CALENDAR_CONSTANTS.classes.EVENT);\n element.setAttribute('part', CALENDAR_CONSTANTS.parts.EVENT);\n if (overflow) {\n element.classList.add(CALENDAR_CONSTANTS.classes.EVENT_OVERFLOW);\n element.name = 'add';\n } else {\n const svg = '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M0 0h24v24H0z\" fill=\"none\"></path><path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2z\" stroke=\"var(--forge-calendar-event-stroke-color)\" stroke-width=\"4px\" paint-order=\"stroke\"></path></svg>';\n element.src = svg;\n element.setAttribute(CALENDAR_CONSTANTS.attributes.DATA_EVENT_THEME, event.color);\n }\n return element;\n}\n\n/** Returns a tooltip element. */\nexport function getTooltip(content: string): HTMLElement {\n const tooltip: ITooltipComponent = document.createElement('forge-tooltip');\n tooltip.text = content;\n tooltip.setAttribute('aria-hidden', 'true');\n return tooltip;\n}\n\n/** Returns a calendar header. */\nexport function getHeader(): HTMLElement {\n const element = document.createElement('div');\n element.classList.add(CALENDAR_CONSTANTS.classes.HEADER);\n element.id = CALENDAR_CONSTANTS.ids.HEADER;\n element.setAttribute('part', CALENDAR_CONSTANTS.parts.HEADER);\n\n const previousButton = document.createElement('forge-icon-button');\n const previousButtonElement = document.createElement('button');\n const previousIcon = document.createElement('forge-icon');\n const previousTooltip = document.createElement('forge-tooltip');\n previousButton.setAttribute('part', CALENDAR_CONSTANTS.parts.PREVIOUS_BUTTON);\n previousButtonElement.id = CALENDAR_CONSTANTS.ids.PREVIOUS_BUTTON;\n previousButtonElement.type = 'button';\n previousButtonElement.setAttribute('aria-label', 'Previous');\n previousIcon.setAttribute('name', 'keyboard_arrow_left');\n previousTooltip.id = CALENDAR_CONSTANTS.ids.PREVIOUS_BUTTON_TOOLTIP;\n previousTooltip.setAttribute('aria-hidden', 'true');\n previousTooltip.innerText = 'Previous';\n previousButton.appendChild(previousButtonElement);\n previousButton.appendChild(previousTooltip);\n previousButtonElement.appendChild(previousIcon);\n\n const nextButton = document.createElement('forge-icon-button');\n const nextButtonElement = document.createElement('button');\n const nextIcon = document.createElement('forge-icon');\n const nextTooltip = document.createElement('forge-tooltip');\n nextButton.setAttribute('part', CALENDAR_CONSTANTS.parts.NEXT_BUTTON);\n nextButtonElement.id = CALENDAR_CONSTANTS.ids.NEXT_BUTTON;\n nextButtonElement.type = 'button';\n nextButtonElement.setAttribute('aria-label', 'Next');\n nextIcon.setAttribute('name', 'keyboard_arrow_right');\n nextTooltip.id = CALENDAR_CONSTANTS.ids.NEXT_BUTTON_TOOLTIP;\n nextTooltip.setAttribute('aria-hidden', 'true');\n nextTooltip.innerText = 'Next';\n nextButton.appendChild(nextButtonElement);\n nextButton.appendChild(nextTooltip);\n nextButtonElement.appendChild(nextIcon);\n\n const monthButton = document.createElement('forge-button');\n const monthButtonElement = document.createElement('button');\n monthButton.setAttribute('part', CALENDAR_CONSTANTS.parts.MONTH_BUTTON);\n monthButtonElement.id = CALENDAR_CONSTANTS.ids.MONTH_BUTTON;\n monthButtonElement.type = 'button';\n monthButtonElement.setAttribute('aria-pressed', 'false');\n monthButton.appendChild(monthButtonElement);\n\n const yearButton = document.createElement('forge-button');\n const yearButtonElement = document.createElement('button');\n yearButton.setAttribute('part', CALENDAR_CONSTANTS.parts.YEAR_BUTTON);\n yearButtonElement.id = CALENDAR_CONSTANTS.ids.YEAR_BUTTON;\n yearButtonElement.type = 'button';\n yearButtonElement.setAttribute('aria-pressed', 'false');\n yearButton.appendChild(yearButtonElement);\n\n // TODO: change order of month and year based on locale\n const centerContainer = document.createElement('div');\n centerContainer.setAttribute('aria-live', 'polite');\n centerContainer.appendChild(monthButton);\n centerContainer.appendChild(yearButton);\n\n element.appendChild(previousButton);\n element.appendChild(centerContainer);\n element.appendChild(nextButton);\n return element;\n}\n\n/** Returns content for the month button. */\nexport function getMonthButtonContent(month: number, locale?: string): HTMLElement[] {\n const span = document.createElement('span');\n const icon = document.createElement('forge-icon');\n span.innerHTML = getLocalizedMonth(month, 'long', locale);\n icon.setAttribute('name', 'arrow_drop_down');\n return [span, icon];\n}\n\n/** Returns content for the year button. */\nexport function getYearButtonContent(year: number, locale?: string): HTMLElement[] {\n const span = document.createElement('span');\n const icon = document.createElement('forge-icon');\n span.innerHTML = getLocalizedYear(year, 'numeric', locale);\n icon.setAttribute('name', 'arrow_drop_down');\n return [span, icon];\n}\n\n/** Returns a hidden, accessible header. */\nexport function getAccessibleHeader(): HTMLElement {\n const element = document.createElement('div');\n element.id = CALENDAR_CONSTANTS.ids.ACCESSIBLE_HEADER;\n element.setAttribute('aria-live', 'polite');\n\n const month = document.createElement('span');\n month.id = CALENDAR_CONSTANTS.ids.ACCESSIBLE_MONTH;\n\n const year = document.createElement('span');\n year.id = CALENDAR_CONSTANTS.ids.ACCESSIBLE_YEAR;\n\n // TODO: change order of month and year based on locale\n element.appendChild(month);\n element.appendChild(year);\n return element;\n}\n\n/** Returns a calendar footer. */\nexport function getFooter(): HTMLElement {\n const element = document.createElement('div');\n element.id = CALENDAR_CONSTANTS.ids.FOOTER;\n element.classList.add(CALENDAR_CONSTANTS.classes.FOOTER);\n element.setAttribute('part', CALENDAR_CONSTANTS.parts.FOOTER);\n return element;\n}\n\n/** Returns a clear button. */\nexport function getClearButton(): HTMLElement {\n const clearButton = document.createElement('forge-button');\n const clearButtonElement = document.createElement('button');\n clearButton.id = CALENDAR_CONSTANTS.ids.CLEAR_BUTTON;\n clearButton.setAttribute('part', CALENDAR_CONSTANTS.parts.CLEAR_BUTTON);\n clearButtonElement.type = 'button';\n clearButtonElement.innerText = 'Clear';\n clearButton.appendChild(clearButtonElement);\n return clearButton;\n}\n\n/** Returns a today button. */\nexport function getTodayButton(): HTMLElement {\n const todayButton = document.createElement('forge-button');\n const todayButtonElement = document.createElement('button');\n todayButton.id = CALENDAR_CONSTANTS.ids.TODAY_BUTTON;\n todayButton.setAttribute('part', CALENDAR_CONSTANTS.parts.TODAY_BUTTON);\n todayButtonElement.type = 'button';\n todayButtonElement.innerText = 'Today';\n todayButton.appendChild(todayButtonElement);\n return todayButton;\n}\n\n/** Checks whether an event originated from a date element, returning the element if it did. */\nexport function eventIncludesDate(evt: Event, includeDisabled?: boolean): HTMLElement | null {\n const element = getEventPath(evt).find(p => p.classList && p.classList.contains(CALENDAR_CONSTANTS.classes.DATE));\n if (!element || (!includeDisabled && element.hasAttribute('disabled'))) {\n return null;\n }\n return element;\n}\n\n/** Checks whether an event originated from an element with the given id, returning the element if it did. */\nexport function eventIncludesElement(evt: Event, id: string): HTMLElement | null {\n const element = getEventPath(evt).find(p => p.id === id);\n return element ?? null;\n}\n\n/** Sets the tabindex on a date element. */\nexport function setTabindexOnElement(element: HTMLElement, value: number, setFocus: boolean, preventFocus?: boolean): void {\n element.tabIndex = preventFocus ? -1 : value;\n element.classList.toggle(CALENDAR_CONSTANTS.classes.MDC_RIPPLE_UPGRADED_FOCUSED, preventFocus && value > -1);\n if (value > -1 && setFocus && !preventFocus) {\n element.focus();\n } else {\n element.blur();\n }\n}\n", "export interface ICalendarDropdownPopupConfig {\n activeChangeCallback?: (id: string) => void;\n closeCallback?: () => void;\n popupClasses?: string | string[] | null;\n}\n\nconst classes = {\n POPUP: `forge-calendar-dropdown__popup`\n};\n\nexport const CALENDAR_DROPDOWN_CONSTANTS = {\n classes\n};\n", "import { addClass, isArray, createVisuallyHiddenElement } from '@tylertech/forge-core';\n\nimport { IPopupComponent, PopupAnimationType, POPUP_CONSTANTS } from '../../popup';\nimport { ICalendarComponent } from '../calendar';\nimport { CALENDAR_CONSTANTS, ICalendarFocusChangeEventData } from '../calendar-constants';\nimport { getDateId } from '../calendar-dom-utils';\nimport { CALENDAR_DROPDOWN_CONSTANTS } from './calendar-dropdown-constants';\n\nexport interface ICalendarDropdown {\n calendar: ICalendarComponent | undefined;\n dropdownElement: IPopupComponent | undefined;\n id: string;\n targetElement: HTMLElement;\n popupClasses: string | string[] | null;\n locale: string | undefined;\n isOpen: boolean;\n activeChangeCallback: ((id: string) => void) | undefined;\n closeCallback: (() => void) | undefined;\n open(config: Partial<ICalendarComponent>): void;\n close(): void;\n destroy(): void;\n propagateKeyboardEvent(evt: KeyboardEvent): void;\n}\n\nexport class CalendarDropdown implements ICalendarDropdown {\n public calendar: ICalendarComponent | undefined;\n public dropdownElement: IPopupComponent | undefined;\n public id: string;\n public targetElement: HTMLElement;\n public activeChangeCallback: ((id: string) => void) | undefined;\n public closeCallback: (() => void) | undefined;\n\n private _announcerElement: HTMLElement | undefined;\n private _popupClasses: string[] = [];\n\n public get isOpen(): boolean {\n return this.dropdownElement?.open ?? false;\n }\n\n public get popupClasses(): string | string[] | null {\n return this._popupClasses;\n }\n public set popupClasses(value: string | string[] | null) {\n this._popupClasses = !!value ? isArray(value) ? [...value as string[]] : [value as string] : [];\n }\n\n public get locale(): string | undefined {\n return this.calendar?.locale;\n }\n public set locale(value: string | undefined) {\n if (this.calendar) {\n this.calendar.locale = value;\n }\n }\n \n constructor(targetElement: HTMLElement, id: string) {\n this.targetElement = targetElement;\n this.id = id;\n }\n\n public close(): void {\n if (!this.dropdownElement) {\n return;\n }\n this.dropdownElement.open = false;\n this.dropdownElement = undefined;\n this.calendar = undefined;\n }\n\n public destroy(): void {\n this.close();\n }\n\n public open(config: Partial<ICalendarComponent>): void {\n // Create calendar element\n this.calendar = this._createCalendar(config);\n this._announcerElement = createVisuallyHiddenElement();\n (this._announcerElement as HTMLElement).id = `${this.id}-activedescendant`;\n\n // Create dropdown element\n this.dropdownElement = this._createDropdown();\n this.dropdownElement.appendChild(this.calendar);\n this.dropdownElement.appendChild(this._announcerElement as HTMLElement);\n this.dropdownElement.static = true;\n\n // Add a listener for when the active descendent is updated\n this.calendar.addEventListener(CALENDAR_CONSTANTS.events.FOCUS_CHANGE, (evt: CustomEvent<ICalendarFocusChangeEventData>) => {\n let id = `${this.id}-activedescendent-`;\n switch (evt.detail.type) {\n case 'date':\n id += getDateId(evt.detail.value as Date);\n break;\n case 'month':\n id += `month-${evt.detail.value.toString()}`;\n break;\n case 'year':\n id += `year-${evt.detail.value.toString()}`;\n break;\n }\n this.activeChangeCallback?.call(this, id);\n if (this._announcerElement) {\n this._announcerElement.id = id;\n this._announcerElement.setAttribute('aria-selected', evt.detail.selected.toString());\n this._announcerElement.textContent = evt.detail.text;\n }\n });\n\n // Open the popup\n this.dropdownElement.open = true;\n\n // Attempt to re-layout the calendar to account for updates in rendering during scale\n // transition within popup (fixes ripple alignment... etc.)\n window.requestAnimationFrame(() => {\n setTimeout(() => {\n if (this.dropdownElement && this.dropdownElement.open && this.calendar && this.calendar.isConnected) {\n this.calendar.layout();\n }\n }, POPUP_CONSTANTS.numbers.ANIMATION_DURATION);\n });\n }\n\n public propagateKeyboardEvent(evt: KeyboardEvent): void {\n this.calendar?.handleKey(evt);\n }\n\n private _createCalendar(config: Partial<ICalendarComponent>): ICalendarComponent {\n const calendarElement = document.createElement(CALENDAR_CONSTANTS.elementName);\n Object.assign(calendarElement, config);\n return calendarElement;\n }\n\n private _createDropdown(): IPopupComponent {\n const popupElement = document.createElement(POPUP_CONSTANTS.elementName) as IPopupComponent;\n popupElement.targetElement = this.targetElement;\n popupElement.placement = 'bottom-start';\n popupElement.animationType = PopupAnimationType.Menu;\n popupElement.classList.add(CALENDAR_DROPDOWN_CONSTANTS.classes.POPUP);\n popupElement.id = this.id;\n addClass(this._popupClasses, popupElement);\n\n popupElement.addEventListener(POPUP_CONSTANTS.events.CLOSE, () => {\n if (this.closeCallback) {\n this.closeCallback();\n }\n });\n\n return popupElement;\n }\n}\n"],
5
- "mappings": "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",
6
- "names": ["elementName", "COMPONENT_NAME_PREFIX", "observedAttributes", "attributes", "__spreadProps", "__spreadValues", "classes", "ids", "weekdayParts", "parts", "selectors", "CALENDAR_MENU_CONSTANTS", "TOOLTIP_CONSTANTS", "events", "numbers", "CALENDAR_CONSTANTS", "DayOfWeek", "CalendarMonthFocus", "getLocalizedDayOfWeek", "day", "format", "locale", "getLocalizedDayOfMonth", "date", "getLocalizedMonth", "month", "getLocalizedYear", "year", "getFirstDayOfWeekForLocale", "localeParts", "language", "region", "saturdayRegions", "sundayRegions", "saturdayLanguages", "sundayLanguages", "getWeekendDaysForLocale", "isRtlLocale", "l", "getDayId", "day", "getDateId", "date", "month", "getEventWrapperId", "getDayElement", "locale", "element", "CALENDAR_CONSTANTS", "getLocalizedDayOfWeek", "getDateRow", "dates", "index", "options", "_a", "d", "getDateSpacerElement", "dateElement", "getDateElement", "rangeElement", "innerElement", "rippleElement", "dayOfWeekPart", "appendToAttribute", "toggleOnAttribute", "getLocalizedDayOfMonth", "getEventWrapperElement", "getEventElement", "event", "overflow", "svg", "getTooltip", "content", "tooltip", "getHeader", "previousButton", "previousButtonElement", "previousIcon", "previousTooltip", "nextButton", "nextButtonElement", "nextIcon", "nextTooltip", "monthButton", "monthButtonElement", "yearButton", "yearButtonElement", "centerContainer", "getMonthButtonContent", "span", "icon", "getLocalizedMonth", "getYearButtonContent", "year", "getLocalizedYear", "getAccessibleHeader", "getFooter", "getClearButton", "clearButton", "clearButtonElement", "getTodayButton", "todayButton", "todayButtonElement", "eventIncludesDate", "evt", "includeDisabled", "getEventPath", "p", "eventIncludesElement", "id", "setTabindexOnElement", "value", "setFocus", "preventFocus", "classes", "CALENDAR_DROPDOWN_CONSTANTS", "CalendarDropdown", "targetElement", "id", "_a", "_b", "value", "isArray", "config", "createVisuallyHiddenElement", "CALENDAR_CONSTANTS", "evt", "getDateId", "POPUP_CONSTANTS", "calendarElement", "popupElement", "CALENDAR_DROPDOWN_CONSTANTS", "addClass"]
4
+ "sourcesContent": ["import { TOOLTIP_CONSTANTS } from '../tooltip/tooltip-constants';\nimport { COMPONENT_NAME_PREFIX } from '../constants';\nimport { CALENDAR_MENU_CONSTANTS } from './calendar-menu';\nimport { DateRange } from './core/date-range';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}calendar`;\n\nconst observedAttributes = {\n ALLOW_SINGLE_DATE_RANGE: 'allow-single-date-range',\n CLEAR_BUTTON: 'clear-button',\n CONSTRAIN_TO_ENABLED: 'constrain-to-enabled',\n FIRST_DAY_OF_WEEK: 'first-day-of-week',\n FIXED_HEIGHT: 'static-height',\n LIST_YEARS: 'list-years',\n LOCALE: 'locale',\n MAX: 'max',\n MENU_ANIMATION: 'menu-animation',\n MIN: 'min',\n MODE: 'mode',\n MONTH: 'month',\n PREVENT_FOCUS: 'prevent-focus',\n READONLY: 'readonly',\n SELECTION_FOLLOWS_MONTH: 'selection-follows-month',\n SHOW_HEADER: 'show-header',\n SHOW_OTHER_MONTHS: 'show-other-months',\n SHOW_TODAY: 'show-today',\n TODAY_BUTTON: 'today-button',\n VIEW: 'view',\n YEAR: 'year',\n YEAR_RANGE: 'year-range'\n};\n\nconst attributes = {\n ...observedAttributes,\n DATA_DATE: 'data-date',\n DATA_EVENT_THEME: 'data-event-theme',\n POPUP_CONTEXT: 'forge-popup-context'\n};\n\nconst classes = {\n ALLOW_SINGLE_DATE_RANGE: 'forge-calendar--allow-single-date-range',\n DATE: 'forge-calendar__date',\n DATE_GRID: 'forge-calendar__date-grid',\n DATE_INNER: 'forge-calendar__date__inner',\n DATE_OTHER_MONTH: 'forge-calendar__date--other-month',\n DATE_SPACER: 'forge-calendar__date-spacer',\n DATE_SELECTED: 'forge-calendar__date--selected',\n DATE_TODAY: 'forge-calendar__date--today',\n DATE_VIEW: 'forge-calendar__date-view',\n DATE_VIEW_ROW: 'forge-calendar__date-view__row',\n DATE_WRAPPER: 'forge-calendar__date-wrapper',\n DAY: 'forge-calendar__day',\n EVENT: 'forge-calendar__event',\n EVENT_OVERFLOW: 'forge-calendar__event--overflow',\n EVENT_WRAPPER: 'forge-calendar__event__wrapper',\n FIXED_HEIGHT: 'forge-calendar--fixed-height',\n FOOTER: 'forge-calendar__footer',\n HEADER: 'forge-calendar__header',\n MDC_RIPPLE_UPGRADED_FOCUSED: 'mdc-ripple-upgraded--background-focused',\n MONTH_MENU_OPEN: 'forge-calendar--month-menu-open',\n PREVENT_FOCUS: 'forge-calendar--prevent-focus',\n RANGE: 'forge-calendar__range',\n RANGE_END: 'forge-calendar__range--end',\n RANGE_START: 'forge-calendar__range--start',\n RANGE_TARGET: 'forge-calendar__range__target',\n READONLY: 'forge-calendar--readonly',\n RTL: 'forge-calendar--rtl',\n SHOW_OTHER_MONTHS: 'forge-calendar--show-other-months',\n SHOW_TODAY: 'forge-calendar--show-today',\n VIEW: 'forge-calendar__view',\n YEAR_MENU_OPEN: 'forge-calendar--year-menu-open'\n};\n\nconst ids = {\n ACCESSIBLE_HEADER: 'accessible-header',\n ACCESSIBLE_MONTH: 'accessible-month',\n ACCESSIBLE_YEAR: 'accessible-year',\n CLEAR_BUTTON: 'clear-button',\n DATE_GRID: 'date-grid',\n DATE_VIEW: 'date-view',\n DAY_ROW: 'day-row',\n FOOTER: 'footer',\n HEADER: 'header',\n MENU: 'menu',\n MONTH_BUTTON: 'month-button',\n NEXT_BUTTON: 'next-button',\n NEXT_BUTTON_TOOLTIP: 'next-button-tooltip',\n PREVIOUS_BUTTON: 'previous-button',\n PREVIOUS_BUTTON_TOOLTIP: 'previous-button-tooltip',\n TODAY_BUTTON: 'today-button',\n YEAR_BUTTON: 'year-button'\n};\n\nconst weekdayParts = {\n SUNDAY: 'sunday',\n MONDAY: 'monday',\n TUESDAY: 'tuesday',\n WEDNESDAY: 'wednesday',\n THURSDAY: 'thursday',\n FRIDAY: 'friday',\n SATURDAY: 'saturday'\n};\n\nconst parts = {\n ...weekdayParts,\n CLEAR_BUTTON: 'clear-button',\n DATE: 'date',\n DATE_OTHER_MONTH: 'date-other-month',\n DATE_VIEW: 'date-view',\n DATE_WRAPPER: 'date-wrapper',\n DAY: 'day',\n EVENT: 'event',\n EVENT_WRAPPER: 'event-wrapper',\n FOOTER: 'footer',\n HEADER: 'header',\n MONTH_BUTTON: 'month-button',\n MONTH_BUTTON_ELEMENT: 'month-button-element',\n NEXT_BUTTON: 'next-button',\n PREVIOUS_BUTTON: 'previous-button',\n RANGE: 'range',\n RANGE_END: 'range-end',\n RANGE_START: 'range-start',\n TODAY: 'today',\n TODAY_BUTTON: 'today-button',\n WEEKEND: 'weekend',\n YEAR_BUTTON: 'year-button',\n YEAR_BUTTON_ELEMENT: 'year-button-element'\n};\n\nconst selectors = {\n ACCESSIBLE_HEADER: `#${ids.ACCESSIBLE_HEADER}`,\n ACCESSIBLE_MONTH: `#${ids.ACCESSIBLE_MONTH}`,\n ACCESSIBLE_YEAR: `#${ids.ACCESSIBLE_YEAR}`,\n CALENDAR: '.forge-calendar',\n CLEAR_BUTTON: `#${ids.CLEAR_BUTTON}`,\n DATE: `.${classes.DATE}`,\n DATE_GRID: `#${ids.DATE_GRID}`,\n DATE_INNER: `.${classes.DATE_INNER}`,\n DATE_OTHER_MONTH: `.${classes.DATE_OTHER_MONTH}`,\n DATE_SPACER: `.${classes.DATE_SPACER}`,\n DATE_SELECTED: `.${classes.DATE_SELECTED}`,\n DATE_TODAY: `.${classes.DATE_TODAY}`,\n DATE_VIEW: `#${ids.DATE_VIEW}`,\n DATE_WRAPPER: `.${classes.DATE_WRAPPER}`,\n DAY_ROW: `#${ids.DAY_ROW}`,\n EVENT_WRAPPER: `.${classes.EVENT_WRAPPER}`,\n FOOTER: `#${ids.FOOTER}`,\n HEADER: `#${ids.HEADER}`,\n MENU: CALENDAR_MENU_CONSTANTS.elementName,\n MONTH_BUTTON: `#${ids.MONTH_BUTTON}`,\n NEXT_BUTTON: `#${ids.NEXT_BUTTON}`,\n NEXT_BUTTON_TOOLTIP: `#${ids.NEXT_BUTTON_TOOLTIP}`,\n PREVIOUS_BUTTON: `#${ids.PREVIOUS_BUTTON}`,\n PREVIOUS_BUTTON_TOOLTIP: `#${ids.PREVIOUS_BUTTON_TOOLTIP}`,\n RANGE: `.${classes.RANGE}`,\n RANGE_END: `.${classes.RANGE_END}`,\n RANGE_START: `.${classes.RANGE_START}`,\n TODAY_BUTTON: `#${ids.TODAY_BUTTON}`,\n TOOLTIP: TOOLTIP_CONSTANTS.elementName,\n VIEW: '#view',\n YEAR_BUTTON: `#${ids.YEAR_BUTTON}`\n};\n\nconst events = {\n DATE_SELECT: `${elementName}-date-select`,\n FOCUS_CHANGE: `${elementName}-focus-change`,\n MONTH_CHANGE: `${elementName}-month-change`,\n VIEW_CHANGE: `${elementName}-view-change`\n};\n\nconst numbers = {\n DEFAULT_MAX_YEAR_OFFSET: 50,\n DEFAULT_MIN_YEAR_OFFSET: 50,\n FINAL_WEEK_BEGIN_INDEX: 35,\n MONTH_LENGTH: 42,\n PENULTIMATE_WEEK_BEGIN_INDEX: 28,\n WEEK_LENGTH: 7,\n YEARS_IN_VIEW: 20\n};\n\nexport const CALENDAR_CONSTANTS = {\n elementName,\n attributes,\n classes,\n ids,\n parts,\n selectors,\n events,\n numbers\n};\n\nexport type CalendarDateBuilder = (date: ICalendarDateConfig, element: HTMLElement) => HTMLElement;\nexport type CalendarDateSelectCallback = (date: ICalendarDate) => boolean | Promise<boolean>;\nexport type CalendarDayBuilder = (day: DayOfWeek, element: HTMLElement) => HTMLElement;\nexport type CalendarDisabledDateBuilder = (date: Date) => boolean;\nexport type CalendarEventBuilder = (date: Date) => ICalendarEvent[] | ICalendarEvent | null;\nexport type CalendarTooltipBuilder = (date: ICalendarDate, content: string) => string | null;\n\nexport type CalendarMode = 'single' | 'multiple' | 'range';\nexport type CalendarView = 'date' | 'month' | 'year';\nexport type RangeSelectionState = 'none' | 'from' | 'to';\nexport type CalendarEventColor = 'primary' | 'secondary' | 'blue' | 'light-green' | 'cyan' | 'teal' | 'orange' | 'blue-grey' | 'grey' | 'red' | 'pink' | 'purple' | 'light-blue' | 'deep-purple' | 'green' | 'lime' | 'yellow' | 'brown' | 'deep-orange';\n\nexport interface ICalendarDate {\n date: Date;\n selected: boolean;\n events: ICalendarEvent[];\n}\n\nexport interface ICalendarDateConfig {\n date: Date;\n selected: boolean;\n today: boolean;\n thisMonth: boolean;\n disabled: boolean;\n}\n\nexport interface ICalendarDateOptions {\n builder?: CalendarDateBuilder;\n locale?: string;\n showOtherMonths?: boolean;\n}\n\nexport interface ICalendarDayOptions {\n builder?: CalendarDayBuilder;\n locale?: string;\n}\n\nexport interface ICalendarEvent {\n date: Date;\n label: string;\n color: CalendarEventColor | string;\n}\n\nexport interface ICalendarDateSelectEventData {\n date: Date | null;\n selected: boolean;\n range?: DateRange;\n rangeSelectionState?: RangeSelectionState;\n type: CalendarView;\n}\n\nexport interface ICalendarMonthChangeEventData {\n month: number;\n userSelected: boolean; // Indicates whether event is from explicit selection or regular navigation\n year: number;\n}\n\nexport interface ICalendarFocusChangeEventData {\n selected: boolean;\n text: string;\n type: CalendarView;\n value: Date | number;\n}\n\nexport interface ICalendarNumberRange {\n max: number;\n min: number;\n}\n\nexport interface ICalendarDisabledDateParams {\n builder: CalendarDisabledDateBuilder | undefined;\n disabledDates: Date[];\n disabledDaysOfWeek: DayOfWeek[];\n maxDate: Date | null;\n minDate: Date | null;\n otherMonth?: boolean;\n}\n\nexport interface ICalendarMenuMonthConfig {\n locale?: string;\n max: Date | null;\n min: Date | null;\n selectedMonth: number;\n selectedYear: number;\n}\n\nexport interface ICalendarMenuYearConfig {\n locale?: string;\n max: number;\n min: number;\n selectedYear: number;\n yearInView: number;\n}\n\nexport enum DayOfWeek {\n Sunday = 0,\n Monday = 1,\n Tuesday = 2,\n Wednesday = 3,\n Thursday = 4,\n Friday = 5,\n Saturday = 6\n}\n\nexport enum CalendarMonthFocus {\n First = 1,\n Last = 2,\n Current = 3\n}\n", "// TODO: implement year before month support\n// TODO: use a more robust strategy to get language and region parts from a locale, like the Intl API (in TypeScript 4.1.2 and es2020.intl)\n\nimport { DayOfWeek } from './calendar-constants';\n\n/** Returns a localized day name. */\nexport function getLocalizedDayOfWeek(day: DayOfWeek, format: 'long' | 'short' | 'narrow' | undefined, locale?: string): string {\n if (!locale) {\n locale = navigator.language;\n }\n // January 2017 starts on a Sunday\n return new Date(2017, 0, day + 1).toLocaleString(locale, {weekday: format});\n}\n\n/** Returns a localized date of the month. */\nexport function getLocalizedDayOfMonth(date: number, format: 'numeric' | '2-digit' | undefined, locale?: string): string {\n if (!locale) {\n locale = navigator.language;\n }\n return new Date(1970, 0, date).toLocaleDateString(locale, {day: format});\n}\n\n/** Returns a localized month name. */\nexport function getLocalizedMonth(month: number, format: 'long' | 'short' | 'narrow' | 'numeric' | '2-digit' | undefined, locale?: string): string {\n if (!locale) {\n locale = navigator.language;\n }\n return new Date(1970, month, 1).toLocaleString(locale, {month: format});\n}\n\n/** Returns a localized year name. */\nexport function getLocalizedYear(year: number, format: 'numeric' | '2-digit' | undefined, locale?: string): string {\n if (!locale) {\n locale = navigator.language;\n }\n return new Date(year, 0, 1).toLocaleDateString(locale, {year: format});\n}\n\n/** Returns the first day of week for a locale. */\nexport function getFirstDayOfWeekForLocale(locale?: string): DayOfWeek {\n if (!locale) {\n locale = navigator.language;\n }\n const localeParts = locale.match(/^([a-z]{2,3})(?:-([a-z]{3})(?=$|-))?(?:-([a-z]{4})(?=$|-))?(?:-([a-z]{2}|\\d{3})(?=$|-))?/i);\n if (!localeParts || !localeParts.length) {\n return DayOfWeek.Monday;\n }\n\n const language = localeParts[1];\n const region = localeParts[4];\n const saturdayRegions = 'AEAFBHDJDZEGIQIRJOKWLYOMQASDSY'.match(/../g);\n const sundayRegions = 'AGARASAUBDBRBSBTBWBZCACNCODMDOETGTGUHKHNIDILINJMJPKEKHKRLAMHMMMOMTMXMZNINPPAPEPHPKPRPTPYSASGSVTHTTTWUMUSVEVIWSYEZAZW'.match(/../g);\n const saturdayLanguages = ['ar', 'arq', 'arz', 'fa'];\n const sundayLanguages = 'amasbndzengnguhehiidjajvkmknkolomhmlmrmtmyneomorpapssdsmsnsutatethtnurzhzu'.match(/../g);\n\n if (region) {\n if (sundayRegions && sundayRegions.includes(region)) {\n return DayOfWeek.Sunday;\n } else if (saturdayRegions && saturdayRegions.includes(region)) {\n return DayOfWeek.Saturday;\n } else {\n return DayOfWeek.Monday;\n }\n } else {\n if (sundayLanguages && sundayLanguages.includes(language)) {\n return DayOfWeek.Sunday;\n } else if (saturdayLanguages && saturdayLanguages.includes(language)) {\n return DayOfWeek.Saturday;\n } else {\n return DayOfWeek.Monday;\n }\n }\n}\n\n/** Returns an array of weekend days for a locale. */\nexport function getWeekendDaysForLocale(locale?: string): DayOfWeek[] {\n if (!locale) {\n locale = navigator.language;\n }\n const region: string = locale.split('-')[1];\n switch (region) {\n case 'DZ':\n case 'BH':\n case 'BD':\n case 'EG':\n case 'IQ':\n case 'IL':\n case 'JO':\n case 'KW':\n case 'LY':\n case 'MV': // Not consistent across Malaysia\n case 'MR':\n case 'NP':\n case 'OM':\n case 'QA':\n case 'SA':\n case 'SD':\n case 'SY':\n case 'AE': // Not consistent across UAE\n case 'YE':\n case 'AF': // Thursday morning is a workday\n case 'IR': // Thursday morning is a workday\n return [DayOfWeek.Thursday, DayOfWeek.Friday];\n case 'BN':\n return [DayOfWeek.Sunday, DayOfWeek.Friday];\n default:\n return [DayOfWeek.Sunday, DayOfWeek.Saturday];\n }\n}\n\n/** Returns whether a language is written right-to-left. */\nexport function isRtlLocale(locale?: string): boolean {\n if (!locale) {\n locale = navigator.language;\n }\n const rtlLocales: string[] = [\n 'ar',\n 'arc',\n 'ckb',\n 'dv',\n 'fa',\n 'ha',\n 'he',\n 'khw',\n 'ks',\n 'ps',\n 'sd',\n 'ur',\n 'uz-AF',\n 'yi'\n ];\n return rtlLocales.some(l => locale ? locale.startsWith(l) : false);\n}\n", "import { getEventPath, appendToAttribute, toggleOnAttribute } from '@tylertech/forge-core';\n\nimport { IIconComponent } from '../icon';\nimport { ITooltipComponent } from '../tooltip';\nimport { CALENDAR_CONSTANTS, DayOfWeek, ICalendarDateConfig, ICalendarDateOptions, ICalendarEvent } from './calendar-constants';\nimport { getLocalizedDayOfMonth, getLocalizedDayOfWeek, getLocalizedMonth, getLocalizedYear } from './calendar-locale-utils';\n\n/** Converts a day into an id string prefixed with \"d\". */\nexport function getDayId(day: DayOfWeek): string {\n return `d${day}`;\n}\n\n/** Converts a date object into a \"yyyymmdd\" id string prefixed with \"d\". */\nexport function getDateId(date: Date): string {\n const month = String(date.getMonth()).padStart(2, '0');\n const day = String(date.getDate()).padStart(2, '0');\n const year = date.getFullYear();\n return ['d', year, month, day].join('');\n}\n\n/** Converts a date object into a \"yyyymmdd\" if string prefixed with \"e\". */\nexport function getEventWrapperId(date: Date): string {\n const month = String(date.getMonth()).padStart(2, '0');\n const day = String(date.getDate()).padStart(2, '0');\n const year = date.getFullYear();\n return ['e', year, month, day].join('');\n}\n\n/** Returns a day element. */\nexport function getDayElement(day: DayOfWeek, locale?: string): HTMLElement {\n const element = document.createElement('div');\n element.classList.add(CALENDAR_CONSTANTS.classes.DAY);\n element.id = getDayId(day);\n element.setAttribute('role', 'columnheader');\n element.setAttribute('aria-label', getLocalizedDayOfWeek(day, 'long', locale));\n element.setAttribute('part', CALENDAR_CONSTANTS.parts.DAY);\n element.textContent = getLocalizedDayOfWeek(day, 'short', locale);\n return element;\n}\n\n/** Returns a date row element. */\nexport function getDateRow(dates: ICalendarDateConfig[], index: number, options?: ICalendarDateOptions): HTMLElement {\n const element = document.createElement('div');\n element.classList.add(CALENDAR_CONSTANTS.classes.DATE_VIEW_ROW);\n element.setAttribute('role', 'row');\n\n // Populate the row\n if (index > 0 && !dates[0]?.thisMonth) {\n // A row after the first that begins on another month is all spacers and should be hidden from the accessibility tree\n dates.forEach(d => element.appendChild(getDateSpacerElement(d.date)));\n element.setAttribute('aria-hidden', 'true');\n } else {\n dates.forEach(d => {\n let dateElement = d.thisMonth || options?.showOtherMonths ? getDateElement(d, options?.locale) : getDateSpacerElement(d.date);\n if ((d.thisMonth || options?.showOtherMonths) && options?.builder) {\n dateElement = options.builder(d, dateElement);\n }\n element.appendChild(dateElement);\n });\n }\n\n return element;\n}\n\n/** Returns a date element. */\nexport function getDateElement(date: ICalendarDateConfig, locale?: string): HTMLElement {\n const element = document.createElement('div');\n const rangeElement = document.createElement('div');\n const innerElement = document.createElement('div');\n const rippleElement = document.createElement('div');\n const day = date.date.getDay();\n\n element.id = getDateId(date.date);\n element.tabIndex = -1;\n element.classList.add(CALENDAR_CONSTANTS.classes.DATE);\n element.classList.toggle(CALENDAR_CONSTANTS.classes.DATE_TODAY, date.today);\n element.classList.toggle(CALENDAR_CONSTANTS.classes.DATE_SELECTED, date.selected);\n element.classList.toggle(CALENDAR_CONSTANTS.classes.DATE_OTHER_MONTH, !date.thisMonth);\n element.setAttribute('role', 'gridcell');\n element.setAttribute('aria-disabled', date.disabled.toString());\n element.setAttribute('aria-label', `${date.today ? 'Today, ' : ''}${date.date.toLocaleDateString(locale ?? navigator.language, {weekday: 'long', month: 'long', day: 'numeric', year: 'numeric'})}`);\n element.setAttribute('aria-selected', date.selected.toString());\n element.setAttribute(CALENDAR_CONSTANTS.attributes.DATA_DATE, date.date.toDateString());\n element.toggleAttribute('disabled', date.disabled);\n element.setAttribute('part', CALENDAR_CONSTANTS.parts.DATE_WRAPPER);\n \n // Add day of week part\n let dayOfWeekPart = '';\n switch (day) {\n case DayOfWeek.Sunday:\n dayOfWeekPart = CALENDAR_CONSTANTS.parts.SUNDAY;\n break;\n case DayOfWeek.Monday:\n dayOfWeekPart = CALENDAR_CONSTANTS.parts.MONDAY;\n break;\n case DayOfWeek.Tuesday:\n dayOfWeekPart = CALENDAR_CONSTANTS.parts.TUESDAY;\n break;\n case DayOfWeek.Wednesday:\n dayOfWeekPart = CALENDAR_CONSTANTS.parts.WEDNESDAY;\n break;\n case DayOfWeek.Thursday:\n dayOfWeekPart = CALENDAR_CONSTANTS.parts.THURSDAY;\n break;\n case DayOfWeek.Friday:\n dayOfWeekPart = CALENDAR_CONSTANTS.parts.FRIDAY;\n break;\n case DayOfWeek.Saturday:\n dayOfWeekPart = CALENDAR_CONSTANTS.parts.SATURDAY;\n break;\n }\n appendToAttribute(innerElement, 'part', dayOfWeekPart);\n appendToAttribute(innerElement, 'part', CALENDAR_CONSTANTS.parts.DATE);\n toggleOnAttribute(innerElement, 'part', CALENDAR_CONSTANTS.parts.TODAY, date.today);\n toggleOnAttribute(innerElement, 'part', CALENDAR_CONSTANTS.parts.DATE_OTHER_MONTH, !date.thisMonth);\n\n rangeElement.classList.add(CALENDAR_CONSTANTS.classes.RANGE_TARGET);\n element.appendChild(rangeElement);\n innerElement.textContent = getLocalizedDayOfMonth(date.date.getDate(), 'numeric', locale);\n innerElement.classList.add(CALENDAR_CONSTANTS.classes.DATE_INNER);\n element.appendChild(innerElement);\n rippleElement.classList.add('mdc-ripple-surface');\n element.appendChild(rippleElement);\n return element;\n}\n\n/** Returns a date spacer element. */\nexport function getDateSpacerElement(date: Date): HTMLElement {\n // This is a span to easiliy differentiate it from a date in CSS\n const element = document.createElement('span');\n element.classList.add(CALENDAR_CONSTANTS.classes.DATE_SPACER);\n element.id = getDateId(date);\n return element;\n}\n\n/** Returns an event wrapper element. */\nexport function getEventWrapperElement(date: Date): HTMLElement {\n const element = document.createElement('div');\n element.classList.add(CALENDAR_CONSTANTS.classes.EVENT_WRAPPER);\n element.id = getEventWrapperId(date);\n element.setAttribute('part', CALENDAR_CONSTANTS.parts.EVENT_WRAPPER);\n return element;\n}\n\n/** Returns an event element. */\nexport function getEventElement(event: ICalendarEvent, overflow?: boolean): HTMLElement {\n const element: IIconComponent = document.createElement('forge-icon');\n element.classList.add(CALENDAR_CONSTANTS.classes.EVENT);\n element.setAttribute('part', CALENDAR_CONSTANTS.parts.EVENT);\n if (overflow) {\n element.classList.add(CALENDAR_CONSTANTS.classes.EVENT_OVERFLOW);\n element.name = 'add';\n } else {\n const svg = '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M0 0h24v24H0z\" fill=\"none\"></path><path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2z\" stroke=\"var(--forge-calendar-event-stroke-color)\" stroke-width=\"4px\" paint-order=\"stroke\"></path></svg>';\n element.src = svg;\n element.setAttribute(CALENDAR_CONSTANTS.attributes.DATA_EVENT_THEME, event.color);\n }\n return element;\n}\n\n/** Returns a tooltip element. */\nexport function getTooltip(content: string): HTMLElement {\n const tooltip: ITooltipComponent = document.createElement('forge-tooltip');\n tooltip.text = content;\n tooltip.setAttribute('aria-hidden', 'true');\n return tooltip;\n}\n\n/** Returns a calendar header. */\nexport function getHeader(): HTMLElement {\n const element = document.createElement('div');\n element.classList.add(CALENDAR_CONSTANTS.classes.HEADER);\n element.id = CALENDAR_CONSTANTS.ids.HEADER;\n element.setAttribute('part', CALENDAR_CONSTANTS.parts.HEADER);\n\n const previousButton = document.createElement('forge-icon-button');\n const previousIcon = document.createElement('forge-icon');\n const previousTooltip = document.createElement('forge-tooltip');\n previousButton.setAttribute('part', CALENDAR_CONSTANTS.parts.PREVIOUS_BUTTON);\n previousButton.id = CALENDAR_CONSTANTS.ids.PREVIOUS_BUTTON;\n previousButton.type = 'button';\n previousButton.setAttribute('aria-label', 'Previous');\n previousIcon.setAttribute('name', 'keyboard_arrow_left');\n previousTooltip.id = CALENDAR_CONSTANTS.ids.PREVIOUS_BUTTON_TOOLTIP;\n previousTooltip.setAttribute('aria-hidden', 'true');\n previousTooltip.innerText = 'Previous';\n previousButton.appendChild(previousTooltip);\n previousButton.appendChild(previousIcon);\n\n const nextButton = document.createElement('forge-icon-button');\n const nextIcon = document.createElement('forge-icon');\n const nextTooltip = document.createElement('forge-tooltip');\n nextButton.setAttribute('part', CALENDAR_CONSTANTS.parts.NEXT_BUTTON);\n nextButton.id = CALENDAR_CONSTANTS.ids.NEXT_BUTTON;\n nextButton.type = 'button';\n nextButton.setAttribute('aria-label', 'Next');\n nextIcon.setAttribute('name', 'keyboard_arrow_right');\n nextTooltip.id = CALENDAR_CONSTANTS.ids.NEXT_BUTTON_TOOLTIP;\n nextTooltip.setAttribute('aria-hidden', 'true');\n nextTooltip.innerText = 'Next';\n nextButton.appendChild(nextTooltip);\n nextButton.appendChild(nextIcon);\n\n const monthButton = document.createElement('forge-button');\n monthButton.setAttribute('part', CALENDAR_CONSTANTS.parts.MONTH_BUTTON);\n monthButton.id = CALENDAR_CONSTANTS.ids.MONTH_BUTTON;\n monthButton.type = 'button';\n monthButton.setAttribute('aria-pressed', 'false');\n\n const yearButton = document.createElement('forge-button');\n yearButton.setAttribute('part', CALENDAR_CONSTANTS.parts.YEAR_BUTTON);\n yearButton.id = CALENDAR_CONSTANTS.ids.YEAR_BUTTON;\n yearButton.type = 'button';\n yearButton.setAttribute('aria-pressed', 'false');\n\n // TODO: change order of month and year based on locale\n const centerContainer = document.createElement('div');\n centerContainer.setAttribute('aria-live', 'polite');\n centerContainer.appendChild(monthButton);\n centerContainer.appendChild(yearButton);\n\n element.appendChild(previousButton);\n element.appendChild(centerContainer);\n element.appendChild(nextButton);\n return element;\n}\n\n/** Returns content for the month button. */\nexport function getMonthButtonContent(month: number, locale?: string): HTMLElement[] {\n const span = document.createElement('span');\n const icon = document.createElement('forge-icon');\n span.innerHTML = getLocalizedMonth(month, 'long', locale);\n icon.setAttribute('name', 'arrow_drop_down');\n return [span, icon];\n}\n\n/** Returns content for the year button. */\nexport function getYearButtonContent(year: number, locale?: string): HTMLElement[] {\n const span = document.createElement('span');\n const icon = document.createElement('forge-icon');\n span.innerHTML = getLocalizedYear(year, 'numeric', locale);\n icon.setAttribute('name', 'arrow_drop_down');\n return [span, icon];\n}\n\n/** Returns a hidden, accessible header. */\nexport function getAccessibleHeader(): HTMLElement {\n const element = document.createElement('div');\n element.id = CALENDAR_CONSTANTS.ids.ACCESSIBLE_HEADER;\n element.setAttribute('aria-live', 'polite');\n\n const month = document.createElement('span');\n month.id = CALENDAR_CONSTANTS.ids.ACCESSIBLE_MONTH;\n\n const year = document.createElement('span');\n year.id = CALENDAR_CONSTANTS.ids.ACCESSIBLE_YEAR;\n\n // TODO: change order of month and year based on locale\n element.appendChild(month);\n element.appendChild(year);\n return element;\n}\n\n/** Returns a calendar footer. */\nexport function getFooter(): HTMLElement {\n const element = document.createElement('div');\n element.id = CALENDAR_CONSTANTS.ids.FOOTER;\n element.classList.add(CALENDAR_CONSTANTS.classes.FOOTER);\n element.setAttribute('part', CALENDAR_CONSTANTS.parts.FOOTER);\n return element;\n}\n\n/** Returns a clear button. */\nexport function getClearButton(): HTMLElement {\n const clearButton = document.createElement('forge-button');\n clearButton.id = CALENDAR_CONSTANTS.ids.CLEAR_BUTTON;\n clearButton.setAttribute('part', CALENDAR_CONSTANTS.parts.CLEAR_BUTTON);\n clearButton.type = 'button';\n clearButton.innerText = 'Clear';\n return clearButton;\n}\n\n/** Returns a today button. */\nexport function getTodayButton(): HTMLElement {\n const todayButton = document.createElement('forge-button');\n todayButton.id = CALENDAR_CONSTANTS.ids.TODAY_BUTTON;\n todayButton.setAttribute('part', CALENDAR_CONSTANTS.parts.TODAY_BUTTON);\n todayButton.type = 'button';\n todayButton.innerText = 'Today';\n return todayButton;\n}\n\n/** Checks whether an event originated from a date element, returning the element if it did. */\nexport function eventIncludesDate(evt: Event, includeDisabled?: boolean): HTMLElement | null {\n const element = getEventPath(evt).find(p => p.classList && p.classList.contains(CALENDAR_CONSTANTS.classes.DATE));\n if (!element || (!includeDisabled && element.hasAttribute('disabled'))) {\n return null;\n }\n return element;\n}\n\n/** Checks whether an event originated from an element with the given id, returning the element if it did. */\nexport function eventIncludesElement(evt: Event, id: string): HTMLElement | null {\n const element = getEventPath(evt).find(p => p.id === id);\n return element ?? null;\n}\n\n/** Sets the tabindex on a date element. */\nexport function setTabindexOnElement(element: HTMLElement, value: number, setFocus: boolean, preventFocus?: boolean): void {\n element.tabIndex = preventFocus ? -1 : value;\n element.classList.toggle(CALENDAR_CONSTANTS.classes.MDC_RIPPLE_UPGRADED_FOCUSED, preventFocus && value > -1);\n if (value > -1 && setFocus && !preventFocus) {\n element.focus();\n } else {\n element.blur();\n }\n}\n", "export interface ICalendarDropdownPopupConfig {\n activeChangeCallback?: (id: string) => void;\n closeCallback?: () => void;\n popupClasses?: string | string[] | null;\n}\n\nconst classes = {\n POPUP: `forge-calendar-dropdown__popup`\n};\n\nexport const CALENDAR_DROPDOWN_CONSTANTS = {\n classes\n};\n", "import { addClass, isArray, createVisuallyHiddenElement } from '@tylertech/forge-core';\n\nimport { IPopupComponent, PopupAnimationType, POPUP_CONSTANTS } from '../../popup';\nimport { ICalendarComponent } from '../calendar';\nimport { CALENDAR_CONSTANTS, ICalendarFocusChangeEventData } from '../calendar-constants';\nimport { getDateId } from '../calendar-dom-utils';\nimport { CALENDAR_DROPDOWN_CONSTANTS } from './calendar-dropdown-constants';\n\nexport interface ICalendarDropdown {\n calendar: ICalendarComponent | undefined;\n dropdownElement: IPopupComponent | undefined;\n id: string;\n targetElement: HTMLElement;\n popupClasses: string | string[] | null;\n locale: string | undefined;\n isOpen: boolean;\n activeChangeCallback: ((id: string) => void) | undefined;\n closeCallback: (() => void) | undefined;\n open(config: Partial<ICalendarComponent>): void;\n close(): void;\n destroy(): void;\n propagateKeyboardEvent(evt: KeyboardEvent): void;\n}\n\nexport class CalendarDropdown implements ICalendarDropdown {\n public calendar: ICalendarComponent | undefined;\n public dropdownElement: IPopupComponent | undefined;\n public id: string;\n public targetElement: HTMLElement;\n public activeChangeCallback: ((id: string) => void) | undefined;\n public closeCallback: (() => void) | undefined;\n\n private _announcerElement: HTMLElement | undefined;\n private _popupClasses: string[] = [];\n\n public get isOpen(): boolean {\n return this.dropdownElement?.open ?? false;\n }\n\n public get popupClasses(): string | string[] | null {\n return this._popupClasses;\n }\n public set popupClasses(value: string | string[] | null) {\n this._popupClasses = !!value ? isArray(value) ? [...value as string[]] : [value as string] : [];\n }\n\n public get locale(): string | undefined {\n return this.calendar?.locale;\n }\n public set locale(value: string | undefined) {\n if (this.calendar) {\n this.calendar.locale = value;\n }\n }\n \n constructor(targetElement: HTMLElement, id: string) {\n this.targetElement = targetElement;\n this.id = id;\n }\n\n public close(): void {\n if (!this.dropdownElement) {\n return;\n }\n this.dropdownElement.open = false;\n this.dropdownElement = undefined;\n this.calendar = undefined;\n }\n\n public destroy(): void {\n this.close();\n }\n\n public open(config: Partial<ICalendarComponent>): void {\n // Create calendar element\n this.calendar = this._createCalendar(config);\n this._announcerElement = createVisuallyHiddenElement();\n (this._announcerElement as HTMLElement).id = `${this.id}-activedescendant`;\n\n // Create dropdown element\n this.dropdownElement = this._createDropdown();\n this.dropdownElement.appendChild(this.calendar);\n this.dropdownElement.appendChild(this._announcerElement as HTMLElement);\n this.dropdownElement.static = true;\n\n // Add a listener for when the active descendent is updated\n this.calendar.addEventListener(CALENDAR_CONSTANTS.events.FOCUS_CHANGE, (evt: CustomEvent<ICalendarFocusChangeEventData>) => {\n let id = `${this.id}-activedescendent-`;\n switch (evt.detail.type) {\n case 'date':\n id += getDateId(evt.detail.value as Date);\n break;\n case 'month':\n id += `month-${evt.detail.value.toString()}`;\n break;\n case 'year':\n id += `year-${evt.detail.value.toString()}`;\n break;\n }\n this.activeChangeCallback?.call(this, id);\n if (this._announcerElement) {\n this._announcerElement.id = id;\n this._announcerElement.setAttribute('aria-selected', evt.detail.selected.toString());\n this._announcerElement.textContent = evt.detail.text;\n }\n });\n\n // Open the popup\n this.dropdownElement.open = true;\n\n // Attempt to re-layout the calendar to account for updates in rendering during scale\n // transition within popup (fixes ripple alignment... etc.)\n window.requestAnimationFrame(() => {\n setTimeout(() => {\n if (this.dropdownElement && this.dropdownElement.open && this.calendar && this.calendar.isConnected) {\n this.calendar.layout();\n }\n }, POPUP_CONSTANTS.numbers.ANIMATION_DURATION);\n });\n }\n\n public propagateKeyboardEvent(evt: KeyboardEvent): void {\n this.calendar?.handleKey(evt);\n }\n\n private _createCalendar(config: Partial<ICalendarComponent>): ICalendarComponent {\n const calendarElement = document.createElement(CALENDAR_CONSTANTS.elementName);\n Object.assign(calendarElement, config);\n return calendarElement;\n }\n\n private _createDropdown(): IPopupComponent {\n const popupElement = document.createElement(POPUP_CONSTANTS.elementName) as IPopupComponent;\n popupElement.targetElement = this.targetElement;\n popupElement.placement = 'bottom-start';\n popupElement.animationType = PopupAnimationType.Menu;\n popupElement.classList.add(CALENDAR_DROPDOWN_CONSTANTS.classes.POPUP);\n popupElement.id = this.id;\n addClass(this._popupClasses, popupElement);\n\n popupElement.addEventListener(POPUP_CONSTANTS.events.CLOSE, () => {\n if (this.closeCallback) {\n this.closeCallback();\n }\n });\n\n return popupElement;\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["elementName", "COMPONENT_NAME_PREFIX", "observedAttributes", "attributes", "__spreadProps", "__spreadValues", "classes", "ids", "weekdayParts", "parts", "selectors", "CALENDAR_MENU_CONSTANTS", "TOOLTIP_CONSTANTS", "events", "numbers", "CALENDAR_CONSTANTS", "DayOfWeek", "CalendarMonthFocus", "getLocalizedDayOfWeek", "day", "format", "locale", "getLocalizedDayOfMonth", "date", "getLocalizedMonth", "month", "getLocalizedYear", "year", "getFirstDayOfWeekForLocale", "localeParts", "language", "region", "saturdayRegions", "sundayRegions", "saturdayLanguages", "sundayLanguages", "getWeekendDaysForLocale", "isRtlLocale", "l", "getDayId", "day", "getDateId", "date", "month", "getEventWrapperId", "getDayElement", "locale", "element", "CALENDAR_CONSTANTS", "getLocalizedDayOfWeek", "getDateRow", "dates", "index", "options", "_a", "getDateSpacerElement", "dateElement", "getDateElement", "rangeElement", "innerElement", "rippleElement", "dayOfWeekPart", "appendToAttribute", "toggleOnAttribute", "getLocalizedDayOfMonth", "getEventWrapperElement", "getEventElement", "event", "overflow", "svg", "getTooltip", "content", "tooltip", "getHeader", "previousButton", "previousIcon", "previousTooltip", "nextButton", "nextIcon", "nextTooltip", "monthButton", "yearButton", "centerContainer", "getMonthButtonContent", "span", "icon", "getLocalizedMonth", "getYearButtonContent", "year", "getLocalizedYear", "getAccessibleHeader", "getFooter", "getClearButton", "clearButton", "getTodayButton", "todayButton", "eventIncludesDate", "evt", "includeDisabled", "getEventPath", "p", "eventIncludesElement", "id", "setTabindexOnElement", "value", "setFocus", "preventFocus", "classes", "CALENDAR_DROPDOWN_CONSTANTS", "CalendarDropdown", "targetElement", "id", "_a", "_b", "value", "isArray", "config", "createVisuallyHiddenElement", "CALENDAR_CONSTANTS", "evt", "getDateId", "POPUP_CONSTANTS", "calendarElement", "popupElement", "CALENDAR_DROPDOWN_CONSTANTS", "addClass"]
7
7
  }
@@ -3,5 +3,5 @@
3
3
  * Copyright 2023 Tyler Technologies, Inc.
4
4
  * License: Apache-2.0
5
5
  */
6
- import{a as i,b as a,e as g}from"./chunk.LNLO36U6.js";import{a as y}from"./chunk.YOXZOPAC.js";import{a as n}from"./chunk.NVUMRW44.js";import{a as f}from"./chunk.HGH6SSHZ.js";import{a as m,e as _,f as v,k as C}from"./chunk.I5SFCLDD.js";import{t as b}from"./chunk.K7FPXAFS.js";import{k as l}from"./chunk.J2M2MXP2.js";import{d as p}from"./chunk.M3QDAYD2.js";var d=class extends y{constructor(e){super(e);this._rootElement=v(this._component,i.selectors.ROOT)}setVertical(e){b(this._rootElement,e,i.classes.VERTICAL)}setType(e){this._getChips().forEach(t=>t.type=e)}setDense(e){this._getChips().forEach(t=>t.dense=e)}setDisabled(e){this._getChips().forEach(t=>t.disabled=e)}tryFocusPrevious(e){let o=this._getChips(),t=o.findIndex(h=>h===e);t>=0&&(t===0?o[o.length-1].tryFocusDelete():o[t-1].tryFocusDelete())}tryFocusNext(e){let o=this._getChips(),t=o.findIndex(h=>h===e);t>=0&&(t===o.length-1?o[0].focus():o[t+1].focus())}_getChips(){return Array.from(this._component.querySelectorAll(a.elementName))}};var c=class{constructor(s){this._adapter=s;this._vertical=!1;this._type=a.defaults.TYPE;this._dense=!1;this._disabled=!1;this._focusPreviousListener=e=>this._adapter.tryFocusPrevious(e.target),this._focusNextListener=e=>this._adapter.tryFocusNext(e.target)}initialize(){this._adapter.addHostListener(a.events.FOCUS_PREVIOUS,this._focusPreviousListener),this._adapter.addHostListener(a.events.FOCUS_NEXT,this._focusNextListener),this._applyVertical(),this._applyType(),this._applyDense(),this._applyDisabled()}destroy(){this._adapter.removeHostListener(a.events.FOCUS_PREVIOUS,this._focusPreviousListener),this._adapter.removeHostListener(a.events.FOCUS_NEXT,this._focusNextListener)}_applyVertical(){this._adapter.setVertical(this._vertical),this._adapter.toggleHostAttribute(i.attributes.VERTICAL,this._vertical)}_applyType(){this._adapter.setType(this._type),this._adapter.setHostAttribute(i.attributes.TYPE,this._type)}_applyDense(){this._adapter.setDense(this._dense),this._adapter.toggleHostAttribute(i.attributes.DENSE,this._dense)}_applyDisabled(){this._adapter.setDisabled(this._disabled),this._adapter.toggleHostAttribute(i.attributes.DISABLED,this._disabled)}get vertical(){return this._vertical}set vertical(s){this._vertical!==s&&(this._vertical=s,this._applyVertical())}get type(){return this._type}set type(s){this._type!==s&&(this._type=s,this._applyType())}get dense(){return this._dense}set dense(s){this._dense!==s&&(this._dense=s,this._applyDense())}get disabled(){return this._disabled}set disabled(s){this._disabled!==s&&(this._disabled=s,this._applyDisabled())}};var T='<template><div class="forge-chip-set" part="root"><slot></slot></div></template>',E=".forge-chip-set{gap:4px;gap:var(--forge-chip-set-spacing,4px);display:-webkit-box;display:flex;flex-wrap:wrap}.forge-chip-set ::slotted(forge-chip:not(:last-child)){margin-right:4px;margin-right:var(--forge-chip-set-spacing,4px)}.forge-chip-set--vertical{-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}.forge-chip-set--vertical ::slotted(forge-chip:not(:last-child)){margin-bottom:4px;margin-bottom:var(--forge-chip-set-spacing,4px)}:host{display:inline-block}:host([hidden]){display:none}",r=class extends C{constructor(){super();_(this,T,E),this._foundation=new c(new d(this))}static get observedAttributes(){return[i.attributes.VERTICAL,i.attributes.TYPE,i.attributes.DENSE,i.attributes.DISABLED]}connectedCallback(){this._foundation.initialize()}disconnectedCallback(){this._foundation.destroy()}attributeChangedCallback(e,o,t){switch(e){case i.attributes.VERTICAL:this.vertical=l(t);break;case i.attributes.TYPE:this.type=t;break;case i.attributes.DENSE:this.dense=l(t);break;case i.attributes.DISABLED:this.disabled=l(t);break}}};p([n()],r.prototype,"vertical",2),p([n()],r.prototype,"type",2),p([n()],r.prototype,"dense",2),p([n()],r.prototype,"disabled",2),r=p([f({name:i.elementName,dependencies:[g]})],r);function j(){m(r)}export{d as a,c as b,r as c,j as d};
7
- //# sourceMappingURL=chunk.HBCDD25D.js.map
6
+ import{a as i,b as a,e as g}from"./chunk.PQQVUUHU.js";import{a as y}from"./chunk.LS7WRRT2.js";import{a as n}from"./chunk.NVUMRW44.js";import{a as f}from"./chunk.IT66AOX7.js";import{a as m,e as _,f as v,k as C}from"./chunk.JAWV5Y5T.js";import{t as b}from"./chunk.K7FPXAFS.js";import{k as l}from"./chunk.J2M2MXP2.js";import{d as p}from"./chunk.M3QDAYD2.js";var d=class extends y{constructor(e){super(e);this._rootElement=v(this._component,i.selectors.ROOT)}setVertical(e){b(this._rootElement,e,i.classes.VERTICAL)}setType(e){this._getChips().forEach(t=>t.type=e)}setDense(e){this._getChips().forEach(t=>t.dense=e)}setDisabled(e){this._getChips().forEach(t=>t.disabled=e)}tryFocusPrevious(e){let o=this._getChips(),t=o.findIndex(h=>h===e);t>=0&&(t===0?o[o.length-1].tryFocusDelete():o[t-1].tryFocusDelete())}tryFocusNext(e){let o=this._getChips(),t=o.findIndex(h=>h===e);t>=0&&(t===o.length-1?o[0].focus():o[t+1].focus())}_getChips(){return Array.from(this._component.querySelectorAll(a.elementName))}};var c=class{constructor(s){this._adapter=s;this._vertical=!1;this._type=a.defaults.TYPE;this._dense=!1;this._disabled=!1;this._focusPreviousListener=e=>this._adapter.tryFocusPrevious(e.target),this._focusNextListener=e=>this._adapter.tryFocusNext(e.target)}initialize(){this._adapter.addHostListener(a.events.FOCUS_PREVIOUS,this._focusPreviousListener),this._adapter.addHostListener(a.events.FOCUS_NEXT,this._focusNextListener),this._applyVertical(),this._applyType(),this._applyDense(),this._applyDisabled()}destroy(){this._adapter.removeHostListener(a.events.FOCUS_PREVIOUS,this._focusPreviousListener),this._adapter.removeHostListener(a.events.FOCUS_NEXT,this._focusNextListener)}_applyVertical(){this._adapter.setVertical(this._vertical),this._adapter.toggleHostAttribute(i.attributes.VERTICAL,this._vertical)}_applyType(){this._adapter.setType(this._type),this._adapter.setHostAttribute(i.attributes.TYPE,this._type)}_applyDense(){this._adapter.setDense(this._dense),this._adapter.toggleHostAttribute(i.attributes.DENSE,this._dense)}_applyDisabled(){this._adapter.setDisabled(this._disabled),this._adapter.toggleHostAttribute(i.attributes.DISABLED,this._disabled)}get vertical(){return this._vertical}set vertical(s){this._vertical!==s&&(this._vertical=s,this._applyVertical())}get type(){return this._type}set type(s){this._type!==s&&(this._type=s,this._applyType())}get dense(){return this._dense}set dense(s){this._dense!==s&&(this._dense=s,this._applyDense())}get disabled(){return this._disabled}set disabled(s){this._disabled!==s&&(this._disabled=s,this._applyDisabled())}};var T='<template><div class="forge-chip-set" part="root"><slot></slot></div></template>',E=".forge-chip-set{gap:4px;gap:var(--forge-chip-set-spacing,4px);display:-webkit-box;display:flex;flex-wrap:wrap}.forge-chip-set ::slotted(forge-chip:not(:last-child)){margin-right:4px;margin-right:var(--forge-chip-set-spacing,4px)}.forge-chip-set--vertical{-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}.forge-chip-set--vertical ::slotted(forge-chip:not(:last-child)){margin-bottom:4px;margin-bottom:var(--forge-chip-set-spacing,4px)}:host{display:inline-block}:host([hidden]){display:none}",r=class extends C{constructor(){super();_(this,T,E),this._foundation=new c(new d(this))}static get observedAttributes(){return[i.attributes.VERTICAL,i.attributes.TYPE,i.attributes.DENSE,i.attributes.DISABLED]}connectedCallback(){this._foundation.initialize()}disconnectedCallback(){this._foundation.destroy()}attributeChangedCallback(e,o,t){switch(e){case i.attributes.VERTICAL:this.vertical=l(t);break;case i.attributes.TYPE:this.type=t;break;case i.attributes.DENSE:this.dense=l(t);break;case i.attributes.DISABLED:this.disabled=l(t);break}}};p([n()],r.prototype,"vertical",2),p([n()],r.prototype,"type",2),p([n()],r.prototype,"dense",2),p([n()],r.prototype,"disabled",2),r=p([f({name:i.elementName,dependencies:[g]})],r);function j(){m(r)}export{d as a,c as b,r as c,j as d};
7
+ //# sourceMappingURL=chunk.DDXIHZFX.js.map
@@ -3,5 +3,5 @@
3
3
  * Copyright 2023 Tyler Technologies, Inc.
4
4
  * License: Apache-2.0
5
5
  */
6
- import{a as k}from"./chunk.6YPD6CQM.js";import{a as Y,b as J}from"./chunk.D5ZHKPCL.js";import{a as X}from"./chunk.WOMYKBUG.js";import{a as b}from"./chunk.AQ7ROWO4.js";import{a as Q}from"./chunk.7UJAI6P2.js";import{a as z}from"./chunk.LEVFMI2Q.js";import{g as I,h as O}from"./chunk.FYWPZFLJ.js";import{a as j,d as q}from"./chunk.TCFKFKZW.js";import{d as $}from"./chunk.HGH6SSHZ.js";import{f as H}from"./chunk.I5SFCLDD.js";import{d as R,e as M,f as B,i as U,x as K}from"./chunk.K7FPXAFS.js";import{b as _,d as V,h as P,j as v,n as g,p as G}from"./chunk.J2M2MXP2.js";import{a as A}from"./chunk.M3QDAYD2.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=G(()=>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)&&V(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}`;return t.addEventListener("mousedown",n=>{let p=z(n);if(p.find(m=>m.nodeType===1&&m.hasAttribute(u.attributes.DATA_ALLOW_FOCUS)))return;p.find(m=>m.id===o||m.id===i.id)&&n.preventDefault()}),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);switch(e.id=`list-dropdown-list-${i.id}`,e.propagateClick=!1,i.type){case"menu":e.setAttribute("role","menu"),e.setAttribute("aria-orientation","vertical");break;default:e.setAttribute("role","listbox")}return e}function y(i,e,t,o=0,n=!0){let p=ge(t||i.options),a=N(p),L=!!i.optionLimit,m=i.optionLimit||0,ae=o;for(let h of p){let x=e;if(h.builder&&typeof h.builder=="function"){let s=h.builder(h);if(s){let d=document.createElement("div");d.classList.add(u.classes.GROUP_WRAPPER),x=d,typeof s=="string"?d.innerHTML=s:s instanceof HTMLElement&&d.appendChild(s),e.appendChild(d)}}else if(h.text){let s=document.createElement("div");s.classList.add(u.classes.GROUP_WRAPPER);let d=document.createElement("div");d.textContent=h.text,d.classList.add("forge-typography--overline"),d.style.fontFamily="Roboto,sans-serif",d.style.fontSize="0.75rem",d.style.lineHeight="2rem",d.style.letterSpacing="0.16667em",d.style.fontWeight="500",d.style.margin="4px 8px",x=s,s.appendChild(d),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 d=i.selectedValues?i.selectedValues.some(r=>g(r,s.value)):!1;if(!n&&d)continue;let l=document.createElement("forge-list-item");if(l.value=s.value,l.id=`list-dropdown-option-${i.id}-${ae++}`,i.wrapOptionText&&(l.wrap=!0),s.optionClass&&(typeof s.optionClass=="string"||Array.isArray(s.optionClass)&&s.optionClass.length)&&B(s.optionClass,l),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(s.secondaryLabel){let r=document.createElement("span");r.slot="subtitle",r.textContent=s.secondaryLabel,l.twoLine=!0,l.appendChild(r)}if(i.multiple){let r=C(d);l.appendChild(r),l.setAttribute("aria-selected",`${d}`),l.setAttribute("aria-checked",`${d}`)}if(s.elementAttributes&&s.elementAttributes.forEach((r,F)=>{l.setAttribute(F,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,s.leadingIconComponentProps);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,s.trailingIconComponentProps);r.slot="trailing",l.appendChild(r)}if(s.disabled?(l.disabled=s.disabled,l.setAttribute("aria-disabled","true")):l.setAttribute("aria-disabled","false"),d&&(l.selected=!0),l.setAttribute("aria-selected",d?"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:a.filter(ue=>!ue.divider).indexOf(s),options:s.options,parentValue:s.value},W=i.cascadingElementFactory.call(null,ce);W.appendChild(l),l=W}x.appendChild(l)}}}function C(i){let e=document.createElement("forge-icon");return e.setAttribute(u.attributes.CHECKBOX_ELEMENT,""),e.name=i?O.name:I.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,o){if(i==="component"){let p=document.createElement("forge-icon");return t&&p.classList.add(t),p.setAttribute("aria-hidden","true"),p.name=e,o&&Object.assign(p,o),p}let n=document.createElement("i");return n.classList.add(t||$),n.setAttribute("aria-hidden","true"),n.textContent=e,n}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(X.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 N(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 a=this._adapter.getActiveOptionIdByIndex(t);a&&this._onSelect(o.value,a)}break;case"Up":case"ArrowUp":case"Down":case"ArrowDown":let n=this._nonDividerOptions;if(n.length&&n.every(a=>!this._canSelectOption(a)))return;let p=this._getNextActiveOptionIndex(e);this.activateOption(p);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 N(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("forge-list-item-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=k(),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(p=>p.active).forEach(p=>p.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(a=>a.active).forEach(a=>a.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 p=e.some(a=>g(a,n.value));if(n.selected=p,t){let a=n.querySelector(`[${u.attributes.CHECKBOX_ELEMENT}]`);if(a){let L=C(p);M(L,a)}}}}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&&U(this._asyncElement),this._busyElement&&(this._busyElement.style.display="none"),this._listElement.isConnected||this._dropdownElement.appendChild(this._listElement),R(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.style.display="none")}getScreenWidth(){return window.innerWidth}_getListItemElements(){return this._dropdownElement?Array.from(this._dropdownElement.querySelectorAll(Y.elementName)):[]}_toggleSelectedOption(e,t){if(!this._dropdownElement)return;let o=this._getListItemElements();o.length&&o.filter(a=>a!==e&&a.active).forEach(a=>a.active=!1),e.selected=t,e.setAttribute("aria-selected",`${t}`),e.setAttribute("aria-checked",`${t}`);let n=e.querySelector(`${j.elementName}[slot=leading]`);if(n){let p=C(t);M(p,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&&K(n,e,t,o)}}_getSelectedListItem(){return this._getListItemElements().find(t=>t.selected)}};var pe=class{constructor(e,t){this._targetElement=e;q.define([O,I]),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.VDGJ4UDL.js.map
6
+ import{a as k}from"./chunk.6YPD6CQM.js";import{a as Y,b as J}from"./chunk.KTYYBWTN.js";import{a as X}from"./chunk.XNCBGWE4.js";import{a as b}from"./chunk.GT3VPSXY.js";import{a as Q}from"./chunk.P7LC3YYW.js";import{a as z}from"./chunk.LEVFMI2Q.js";import{g as I,h as O}from"./chunk.FYWPZFLJ.js";import{a as j,d as q}from"./chunk.Z7PBGV4K.js";import{d as $}from"./chunk.IT66AOX7.js";import{f as H}from"./chunk.JAWV5Y5T.js";import{d as R,e as M,f as B,i as U,x as K}from"./chunk.K7FPXAFS.js";import{b as _,d as V,h as P,j as v,n as g,p as G}from"./chunk.J2M2MXP2.js";import{a as A}from"./chunk.M3QDAYD2.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=G(()=>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)&&V(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}`;return t.addEventListener("mousedown",n=>{let p=z(n);if(p.find(m=>m.nodeType===1&&m.hasAttribute(u.attributes.DATA_ALLOW_FOCUS)))return;p.find(m=>m.id===o||m.id===i.id)&&n.preventDefault()}),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);switch(e.id=`list-dropdown-list-${i.id}`,e.propagateClick=!1,i.type){case"menu":e.setAttribute("role","menu"),e.setAttribute("aria-orientation","vertical");break;default:e.setAttribute("role","listbox")}return e}function y(i,e,t,o=0,n=!0){let p=ge(t||i.options),a=N(p),L=!!i.optionLimit,m=i.optionLimit||0,ae=o;for(let h of p){let x=e;if(h.builder&&typeof h.builder=="function"){let s=h.builder(h);if(s){let d=document.createElement("div");d.classList.add(u.classes.GROUP_WRAPPER),x=d,typeof s=="string"?d.innerHTML=s:s instanceof HTMLElement&&d.appendChild(s),e.appendChild(d)}}else if(h.text){let s=document.createElement("div");s.classList.add(u.classes.GROUP_WRAPPER);let d=document.createElement("div");d.textContent=h.text,d.classList.add("forge-typography--overline"),d.style.fontFamily="Roboto,sans-serif",d.style.fontSize="0.75rem",d.style.lineHeight="2rem",d.style.letterSpacing="0.16667em",d.style.fontWeight="500",d.style.margin="4px 8px",x=s,s.appendChild(d),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 d=i.selectedValues?i.selectedValues.some(r=>g(r,s.value)):!1;if(!n&&d)continue;let l=document.createElement("forge-list-item");if(l.value=s.value,l.id=`list-dropdown-option-${i.id}-${ae++}`,i.wrapOptionText&&(l.wrap=!0),s.optionClass&&(typeof s.optionClass=="string"||Array.isArray(s.optionClass)&&s.optionClass.length)&&B(s.optionClass,l),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(s.secondaryLabel){let r=document.createElement("span");r.slot="subtitle",r.textContent=s.secondaryLabel,l.twoLine=!0,l.appendChild(r)}if(i.multiple){let r=C(d);l.appendChild(r),l.setAttribute("aria-selected",`${d}`),l.setAttribute("aria-checked",`${d}`)}if(s.elementAttributes&&s.elementAttributes.forEach((r,F)=>{l.setAttribute(F,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,s.leadingIconComponentProps);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,s.trailingIconComponentProps);r.slot="trailing",l.appendChild(r)}if(s.disabled?(l.disabled=s.disabled,l.setAttribute("aria-disabled","true")):l.setAttribute("aria-disabled","false"),d&&(l.selected=!0),l.setAttribute("aria-selected",d?"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:a.filter(ue=>!ue.divider).indexOf(s),options:s.options,parentValue:s.value},W=i.cascadingElementFactory.call(null,ce);W.appendChild(l),l=W}x.appendChild(l)}}}function C(i){let e=document.createElement("forge-icon");return e.setAttribute(u.attributes.CHECKBOX_ELEMENT,""),e.name=i?O.name:I.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,o){if(i==="component"){let p=document.createElement("forge-icon");return t&&p.classList.add(t),p.setAttribute("aria-hidden","true"),p.name=e,o&&Object.assign(p,o),p}let n=document.createElement("i");return n.classList.add(t||$),n.setAttribute("aria-hidden","true"),n.textContent=e,n}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(X.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 N(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 a=this._adapter.getActiveOptionIdByIndex(t);a&&this._onSelect(o.value,a)}break;case"Up":case"ArrowUp":case"Down":case"ArrowDown":let n=this._nonDividerOptions;if(n.length&&n.every(a=>!this._canSelectOption(a)))return;let p=this._getNextActiveOptionIndex(e);this.activateOption(p);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 N(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("forge-list-item-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=k(),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(p=>p.active).forEach(p=>p.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(a=>a.active).forEach(a=>a.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 p=e.some(a=>g(a,n.value));if(n.selected=p,t){let a=n.querySelector(`[${u.attributes.CHECKBOX_ELEMENT}]`);if(a){let L=C(p);M(L,a)}}}}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&&U(this._asyncElement),this._busyElement&&(this._busyElement.style.display="none"),this._listElement.isConnected||this._dropdownElement.appendChild(this._listElement),R(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.style.display="none")}getScreenWidth(){return window.innerWidth}_getListItemElements(){return this._dropdownElement?Array.from(this._dropdownElement.querySelectorAll(Y.elementName)):[]}_toggleSelectedOption(e,t){if(!this._dropdownElement)return;let o=this._getListItemElements();o.length&&o.filter(a=>a!==e&&a.active).forEach(a=>a.active=!1),e.selected=t,e.setAttribute("aria-selected",`${t}`),e.setAttribute("aria-checked",`${t}`);let n=e.querySelector(`${j.elementName}[slot=leading]`);if(n){let p=C(t);M(p,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&&K(n,e,t,o)}}_getSelectedListItem(){return this._getListItemElements().find(t=>t.selected)}};var pe=class{constructor(e,t){this._targetElement=e;q.define([O,I]),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.DOEG3DWJ.js.map
@@ -3,5 +3,5 @@
3
3
  * Copyright 2023 Tyler Technologies, Inc.
4
4
  * License: Apache-2.0
5
5
  */
6
- import{b as H}from"./chunk.4JF54GDJ.js";import{a as x}from"./chunk.YOXZOPAC.js";import{a as v}from"./chunk.NVUMRW44.js";import{a as S,b as C}from"./chunk.HGH6SSHZ.js";import{a as I,e as V,f as w,k as A}from"./chunk.I5SFCLDD.js";import{g as y}from"./chunk.K7FPXAFS.js";import{b as E,l as g}from"./chunk.J2M2MXP2.js";import{d as h}from"./chunk.M3QDAYD2.js";var D=`${C}view-switcher`,u={ROOT:"forge-view-switcher",VIEW_HIDDEN:"forge-view-switcher__view--hidden",VIEW_SWITCHER_SLIDE:"forge-view-switcher--slide",VIEW_SWITCHER_FADE:"forge-view-switcher--fade"},O={ROOT:`.${u.ROOT}`,DEFAULT_SLOT:"slot:not([name])",VIEW_HIDDEN:`.${u.VIEW_HIDDEN}`},W={INDEX:"index",ANIMATION_TYPE:"animation-type"},F={DEFAULT_TRANSITION_DURATION:500},s={elementName:D,attributes:W,classes:u,selectors:O,numbers:F},_=(e=>(e.Left="left",e.Right="right",e))(_||{}),b=(t=>(t.None="none",t.Slide="slide",t.Fade="fade",t))(b||{});var c=class extends x{constructor(e){super(e);this._rootElement=w(e,s.selectors.ROOT),this._slotElement=w(e,s.selectors.DEFAULT_SLOT)}getViewCount(){return this._getViews().length}startViewObserver(e){this._viewObserver=new MutationObserver(e),this._viewObserver.observe(this._component,{childList:!0})}stopViewObserver(){this._viewObserver&&this._viewObserver.disconnect()}initializeSlideViews(e){let t=this._getViews();t.forEach((i,o)=>{if(i.style.removeProperty("opacity"),i.style.removeProperty("display"),o===e){t[e].classList.remove(s.classes.VIEW_HIDDEN),i.style.removeProperty("visibility");return}i.style.transition="none",i.classList.add(s.classes.VIEW_HIDDEN),i.style.visibility="hidden",o>e?i.style.transform="translate3d(100%, 0, 0)":i.style.transform="translate3d(-100%, 0, 0)"}),window.requestAnimationFrame(()=>{t=this._getViews(),t.forEach((i,o)=>{o!==e&&i.style.removeProperty("transition")})})}initializeFadeViews(e){let t=this._getViews();t.forEach((i,o)=>{if(i.style.removeProperty("transform"),i.style.removeProperty("display"),o===e){i.classList.remove(s.classes.VIEW_HIDDEN),i.style.removeProperty("visibility");return}i.classList.add(s.classes.VIEW_HIDDEN),i.style.visibility="hidden"}),t[e]&&(t[e].style.opacity="1")}setActiveView(e){let t=this._getViews();t.forEach((i,o)=>{o!==e&&(i.classList.add(s.classes.VIEW_HIDDEN),i.style.display="none")}),t[e]&&(t[e].classList.remove(s.classes.VIEW_HIDDEN),t[e].style.removeProperty("display"))}hideInactiveViews(e){this._getViews().forEach((i,o)=>{if(i.style.removeProperty("opacity"),i.style.removeProperty("transform"),i.style.removeProperty("visibility"),o===e){i.classList.remove(s.classes.VIEW_HIDDEN);return}i.classList.add(s.classes.VIEW_HIDDEN),i.style.display="none"})}async transitionToView(e,t,i,o){let l=this._getViews(),r=l[e],d=l[t];return new Promise(N=>{d.style.removeProperty("visibility"),window.requestAnimationFrame(()=>{let p;switch(i){case"slide":this._slideToView(r,d,o),p="transform";break;case"fade":this._fadeToView(r,d),p="opacity";break;default:return}this._animateHeight(r,d),r?r.addEventListener("transitionend",T):d.classList.remove(s.classes.VIEW_HIDDEN);function T(L){L.propertyName===p&&(r.removeEventListener("transitionend",T),d.classList.remove(s.classes.VIEW_HIDDEN),N())}})})}_slideToView(e,t,i){i==="left"?(e&&(e.style.transform="translate3d(-100%, 0, 0)"),t.style.transform="translate3d(0, 0, 0)"):(e&&(e.style.transform="translate3d(100%, 0, 0)"),t.style.transform="translate3d(0, 0, 0)")}_fadeToView(e,t){e&&(e.style.opacity="0"),t.style.opacity="1"}_animateHeight(e,t){let i=e?this._getViewHeight(e):0,o=this._getViewHeight(t);i!==o&&(this._rootElement.addEventListener("transitionend",this._onRootTransitionEnd.bind(this)),this._setHeight(i),window.requestAnimationFrame(()=>{window.requestAnimationFrame(()=>{this._setHeight(o)})}))}_onRootTransitionEnd(e){e.propertyName==="height"&&(this._rootElement.removeEventListener("transitionend",this._onRootTransitionEnd),this._rootElement.style.removeProperty("height"))}setAnimationType(e){switch(y([s.classes.VIEW_SWITCHER_SLIDE,s.classes.VIEW_SWITCHER_FADE],this._component),e){case"slide":this._component.classList.add(s.classes.VIEW_SWITCHER_SLIDE);break;case"fade":this._component.classList.add(s.classes.VIEW_SWITCHER_FADE);break}}_getViews(){return this._slotElement.assignedNodes().filter(e=>e.nodeType===1)}_setHeight(e){this._rootElement.style.height=`${e}px`}_getViewHeight(e){let t=0,i=e.children.length?Array.from(e.children):[e];for(let o of i){let l=window.getComputedStyle(o),r=parseFloat(l.marginTop)+parseFloat(l.marginBottom);t+=Math.ceil(o.offsetHeight+r)}return t}};var m=class{constructor(n){this._adapter=n;this._viewCount=0;this._viewIndex=0;this._animationType="none";this._viewsChangedListener=()=>this._onViewsChanged()}initialize(){this._viewCount=this._adapter.getViewCount(),this._adapter.startViewObserver(this._viewsChangedListener),this._adapter.setAnimationType(this._animationType),this._viewCount&&this._initializeAnimationType()}disconnect(){this._adapter.stopViewObserver()}_initializeAnimationType(){switch(this._animationType){case"slide":this._adapter.initializeSlideViews(this._viewIndex);break;case"fade":this._adapter.initializeFadeViews(this._viewIndex);break;case"none":default:this._adapter.hideInactiveViews(this._viewIndex);break}}_onViewsChanged(){if(this._viewCount=this._adapter.getViewCount(),this._viewCount===0&&(this._viewIndex=0),this._viewCount&&this._initializeAnimationType(),this._viewCount>0&&this._viewIndex>=this._viewCount){let n=this._viewIndex;this._viewIndex=this._viewCount>0?this._viewCount-1:0,this._goToView(n,this._viewCount)}}async _goToView(n,e){if(this._viewCount=E(e)?e:this._adapter.getViewCount(),!(!(this._viewIndex>=0&&this._viewIndex<=this._viewCount-1)||n===this._clampedViewIndex(this._viewIndex,this._viewCount)))switch(this._animationType){case"slide":let i=this._viewIndex>n?"left":"right";await this._adapter.transitionToView(n,this._viewIndex,"slide",i),this._adapter.initializeSlideViews(this._viewIndex);break;case"fade":await this._adapter.transitionToView(n,this._viewIndex,"fade"),this._adapter.initializeFadeViews(this._viewIndex);break;case"none":default:this._adapter.setActiveView(this._viewIndex);break}}_clampedViewIndex(n,e){return n<0?n=0:n>e-1&&(n=e>0?e-1:0),n}next(){this.index++}previous(){this.index--}goToStart(){this.index=0}goToEnd(){this.index=this._viewCount-1}get index(){return this._viewIndex}set index(n){if(this._viewIndex!==n){let e=this._viewIndex;this._viewIndex=n,this._goToView(e),this._adapter.setHostAttribute(s.attributes.INDEX,this._viewIndex.toString())}}get animationType(){return this._animationType}set animationType(n){this._animationType!==n&&(this._animationType=n,this._initializeAnimationType(),this._adapter.setAnimationType(this._animationType),this._adapter.setHostAttribute(s.attributes.ANIMATION_TYPE,this._animationType))}};var M='<template><div class="forge-view-switcher" part="root"><slot></slot></div></template>',P=".forge-view-switcher{height:auto;height:var(--forge-view-switcher-height,auto);width:auto;width:var(--forge-view-switcher-width,auto);position:relative;overflow:hidden;-webkit-transition:height var(--forge-view-switcher-animation-duration, 500ms) cubic-bezier(.35, 0, .25, 1);transition:height var(--forge-view-switcher-animation-duration, 500ms) cubic-bezier(.35, 0, .25, 1)}.forge-view-switcher ::slotted(.forge-view-switcher__view--hidden){position:absolute;top:0;right:0;bottom:0;left:0}:host{height:auto;height:var(--forge-view-switcher-height,auto);width:auto;width:var(--forge-view-switcher-width,auto);display:block}:host([hidden]){display:none}:host(.forge-view-switcher--slide) ::slotted(forge-view){-webkit-transition:-webkit-transform var(--forge-view-switcher-animation-duration, 500ms) cubic-bezier(.35, 0, .25, 1);transition:-webkit-transform var(--forge-view-switcher-animation-duration, 500ms) cubic-bezier(.35, 0, .25, 1);transition:transform var(--forge-view-switcher-animation-duration, 500ms) cubic-bezier(.35, 0, .25, 1);transition:transform var(--forge-view-switcher-animation-duration, 500ms) cubic-bezier(.35, 0, .25, 1),-webkit-transform var(--forge-view-switcher-animation-duration, 500ms) cubic-bezier(.35, 0, .25, 1);will-change:transform}:host(.forge-view-switcher--fade) ::slotted(forge-view){-webkit-transition:opacity var(--forge-view-switcher-animation-duration, 500ms) cubic-bezier(.35, 0, .25, 1);transition:opacity var(--forge-view-switcher-animation-duration, 500ms) cubic-bezier(.35, 0, .25, 1);will-change:opacity}:host(.forge-view-switcher--fade) ::slotted(.forge-view-switcher__view--hidden){opacity:0}",a=class extends A{constructor(){super();V(this,M,P),this._foundation=new m(new c(this))}static get observedAttributes(){return[s.attributes.INDEX,s.attributes.ANIMATION_TYPE]}connectedCallback(){this._foundation.initialize()}disconnectedCallback(){this._foundation.disconnect()}attributeChangedCallback(e,t,i){switch(e){case s.attributes.INDEX:this.index=g(i);break;case s.attributes.ANIMATION_TYPE:this.animationType=i;break}}next(){this._foundation.next()}previous(){this._foundation.previous()}goToStart(){this._foundation.goToStart()}goToEnd(){this._foundation.goToEnd()}};h([v()],a.prototype,"index",2),h([v()],a.prototype,"animationType",2),a=h([S({name:s.elementName,dependencies:[H]})],a);function he(){I(a)}export{s as a,_ as b,b as c,c as d,m as e,a as f,he as g};
7
- //# sourceMappingURL=chunk.4USQ2AP6.js.map
6
+ import{b as H}from"./chunk.GS72TBUD.js";import{a as x}from"./chunk.LS7WRRT2.js";import{a as v}from"./chunk.NVUMRW44.js";import{a as S,b as C}from"./chunk.IT66AOX7.js";import{a as I,e as V,f as w,k as A}from"./chunk.JAWV5Y5T.js";import{g as y}from"./chunk.K7FPXAFS.js";import{b as E,l as g}from"./chunk.J2M2MXP2.js";import{d as h}from"./chunk.M3QDAYD2.js";var D=`${C}view-switcher`,u={ROOT:"forge-view-switcher",VIEW_HIDDEN:"forge-view-switcher__view--hidden",VIEW_SWITCHER_SLIDE:"forge-view-switcher--slide",VIEW_SWITCHER_FADE:"forge-view-switcher--fade"},O={ROOT:`.${u.ROOT}`,DEFAULT_SLOT:"slot:not([name])",VIEW_HIDDEN:`.${u.VIEW_HIDDEN}`},W={INDEX:"index",ANIMATION_TYPE:"animation-type"},F={DEFAULT_TRANSITION_DURATION:500},s={elementName:D,attributes:W,classes:u,selectors:O,numbers:F},_=(e=>(e.Left="left",e.Right="right",e))(_||{}),b=(t=>(t.None="none",t.Slide="slide",t.Fade="fade",t))(b||{});var c=class extends x{constructor(e){super(e);this._rootElement=w(e,s.selectors.ROOT),this._slotElement=w(e,s.selectors.DEFAULT_SLOT)}getViewCount(){return this._getViews().length}startViewObserver(e){this._viewObserver=new MutationObserver(e),this._viewObserver.observe(this._component,{childList:!0})}stopViewObserver(){this._viewObserver&&this._viewObserver.disconnect()}initializeSlideViews(e){let t=this._getViews();t.forEach((i,o)=>{if(i.style.removeProperty("opacity"),i.style.removeProperty("display"),o===e){t[e].classList.remove(s.classes.VIEW_HIDDEN),i.style.removeProperty("visibility");return}i.style.transition="none",i.classList.add(s.classes.VIEW_HIDDEN),i.style.visibility="hidden",o>e?i.style.transform="translate3d(100%, 0, 0)":i.style.transform="translate3d(-100%, 0, 0)"}),window.requestAnimationFrame(()=>{t=this._getViews(),t.forEach((i,o)=>{o!==e&&i.style.removeProperty("transition")})})}initializeFadeViews(e){let t=this._getViews();t.forEach((i,o)=>{if(i.style.removeProperty("transform"),i.style.removeProperty("display"),o===e){i.classList.remove(s.classes.VIEW_HIDDEN),i.style.removeProperty("visibility");return}i.classList.add(s.classes.VIEW_HIDDEN),i.style.visibility="hidden"}),t[e]&&(t[e].style.opacity="1")}setActiveView(e){let t=this._getViews();t.forEach((i,o)=>{o!==e&&(i.classList.add(s.classes.VIEW_HIDDEN),i.style.display="none")}),t[e]&&(t[e].classList.remove(s.classes.VIEW_HIDDEN),t[e].style.removeProperty("display"))}hideInactiveViews(e){this._getViews().forEach((i,o)=>{if(i.style.removeProperty("opacity"),i.style.removeProperty("transform"),i.style.removeProperty("visibility"),o===e){i.classList.remove(s.classes.VIEW_HIDDEN);return}i.classList.add(s.classes.VIEW_HIDDEN),i.style.display="none"})}async transitionToView(e,t,i,o){let l=this._getViews(),r=l[e],d=l[t];return new Promise(N=>{d.style.removeProperty("visibility"),window.requestAnimationFrame(()=>{let p;switch(i){case"slide":this._slideToView(r,d,o),p="transform";break;case"fade":this._fadeToView(r,d),p="opacity";break;default:return}this._animateHeight(r,d),r?r.addEventListener("transitionend",T):d.classList.remove(s.classes.VIEW_HIDDEN);function T(L){L.propertyName===p&&(r.removeEventListener("transitionend",T),d.classList.remove(s.classes.VIEW_HIDDEN),N())}})})}_slideToView(e,t,i){i==="left"?(e&&(e.style.transform="translate3d(-100%, 0, 0)"),t.style.transform="translate3d(0, 0, 0)"):(e&&(e.style.transform="translate3d(100%, 0, 0)"),t.style.transform="translate3d(0, 0, 0)")}_fadeToView(e,t){e&&(e.style.opacity="0"),t.style.opacity="1"}_animateHeight(e,t){let i=e?this._getViewHeight(e):0,o=this._getViewHeight(t);i!==o&&(this._rootElement.addEventListener("transitionend",this._onRootTransitionEnd.bind(this)),this._setHeight(i),window.requestAnimationFrame(()=>{window.requestAnimationFrame(()=>{this._setHeight(o)})}))}_onRootTransitionEnd(e){e.propertyName==="height"&&(this._rootElement.removeEventListener("transitionend",this._onRootTransitionEnd),this._rootElement.style.removeProperty("height"))}setAnimationType(e){switch(y([s.classes.VIEW_SWITCHER_SLIDE,s.classes.VIEW_SWITCHER_FADE],this._component),e){case"slide":this._component.classList.add(s.classes.VIEW_SWITCHER_SLIDE);break;case"fade":this._component.classList.add(s.classes.VIEW_SWITCHER_FADE);break}}_getViews(){return this._slotElement.assignedNodes().filter(e=>e.nodeType===1)}_setHeight(e){this._rootElement.style.height=`${e}px`}_getViewHeight(e){let t=0,i=e.children.length?Array.from(e.children):[e];for(let o of i){let l=window.getComputedStyle(o),r=parseFloat(l.marginTop)+parseFloat(l.marginBottom);t+=Math.ceil(o.offsetHeight+r)}return t}};var m=class{constructor(n){this._adapter=n;this._viewCount=0;this._viewIndex=0;this._animationType="none";this._viewsChangedListener=()=>this._onViewsChanged()}initialize(){this._viewCount=this._adapter.getViewCount(),this._adapter.startViewObserver(this._viewsChangedListener),this._adapter.setAnimationType(this._animationType),this._viewCount&&this._initializeAnimationType()}disconnect(){this._adapter.stopViewObserver()}_initializeAnimationType(){switch(this._animationType){case"slide":this._adapter.initializeSlideViews(this._viewIndex);break;case"fade":this._adapter.initializeFadeViews(this._viewIndex);break;case"none":default:this._adapter.hideInactiveViews(this._viewIndex);break}}_onViewsChanged(){if(this._viewCount=this._adapter.getViewCount(),this._viewCount===0&&(this._viewIndex=0),this._viewCount&&this._initializeAnimationType(),this._viewCount>0&&this._viewIndex>=this._viewCount){let n=this._viewIndex;this._viewIndex=this._viewCount>0?this._viewCount-1:0,this._goToView(n,this._viewCount)}}async _goToView(n,e){if(this._viewCount=E(e)?e:this._adapter.getViewCount(),!(!(this._viewIndex>=0&&this._viewIndex<=this._viewCount-1)||n===this._clampedViewIndex(this._viewIndex,this._viewCount)))switch(this._animationType){case"slide":let i=this._viewIndex>n?"left":"right";await this._adapter.transitionToView(n,this._viewIndex,"slide",i),this._adapter.initializeSlideViews(this._viewIndex);break;case"fade":await this._adapter.transitionToView(n,this._viewIndex,"fade"),this._adapter.initializeFadeViews(this._viewIndex);break;case"none":default:this._adapter.setActiveView(this._viewIndex);break}}_clampedViewIndex(n,e){return n<0?n=0:n>e-1&&(n=e>0?e-1:0),n}next(){this.index++}previous(){this.index--}goToStart(){this.index=0}goToEnd(){this.index=this._viewCount-1}get index(){return this._viewIndex}set index(n){if(this._viewIndex!==n){let e=this._viewIndex;this._viewIndex=n,this._goToView(e),this._adapter.setHostAttribute(s.attributes.INDEX,this._viewIndex.toString())}}get animationType(){return this._animationType}set animationType(n){this._animationType!==n&&(this._animationType=n,this._initializeAnimationType(),this._adapter.setAnimationType(this._animationType),this._adapter.setHostAttribute(s.attributes.ANIMATION_TYPE,this._animationType))}};var M='<template><div class="forge-view-switcher" part="root"><slot></slot></div></template>',P=".forge-view-switcher{height:auto;height:var(--forge-view-switcher-height,auto);width:auto;width:var(--forge-view-switcher-width,auto);position:relative;overflow:hidden;-webkit-transition:height var(--forge-view-switcher-animation-duration, 500ms) cubic-bezier(.35, 0, .25, 1);transition:height var(--forge-view-switcher-animation-duration, 500ms) cubic-bezier(.35, 0, .25, 1)}.forge-view-switcher ::slotted(.forge-view-switcher__view--hidden){position:absolute;top:0;right:0;bottom:0;left:0}:host{height:auto;height:var(--forge-view-switcher-height,auto);width:auto;width:var(--forge-view-switcher-width,auto);display:block}:host([hidden]){display:none}:host(.forge-view-switcher--slide) ::slotted(forge-view){-webkit-transition:-webkit-transform var(--forge-view-switcher-animation-duration, 500ms) cubic-bezier(.35, 0, .25, 1);transition:-webkit-transform var(--forge-view-switcher-animation-duration, 500ms) cubic-bezier(.35, 0, .25, 1);transition:transform var(--forge-view-switcher-animation-duration, 500ms) cubic-bezier(.35, 0, .25, 1);transition:transform var(--forge-view-switcher-animation-duration, 500ms) cubic-bezier(.35, 0, .25, 1),-webkit-transform var(--forge-view-switcher-animation-duration, 500ms) cubic-bezier(.35, 0, .25, 1);will-change:transform}:host(.forge-view-switcher--fade) ::slotted(forge-view){-webkit-transition:opacity var(--forge-view-switcher-animation-duration, 500ms) cubic-bezier(.35, 0, .25, 1);transition:opacity var(--forge-view-switcher-animation-duration, 500ms) cubic-bezier(.35, 0, .25, 1);will-change:opacity}:host(.forge-view-switcher--fade) ::slotted(.forge-view-switcher__view--hidden){opacity:0}",a=class extends A{constructor(){super();V(this,M,P),this._foundation=new m(new c(this))}static get observedAttributes(){return[s.attributes.INDEX,s.attributes.ANIMATION_TYPE]}connectedCallback(){this._foundation.initialize()}disconnectedCallback(){this._foundation.disconnect()}attributeChangedCallback(e,t,i){switch(e){case s.attributes.INDEX:this.index=g(i);break;case s.attributes.ANIMATION_TYPE:this.animationType=i;break}}next(){this._foundation.next()}previous(){this._foundation.previous()}goToStart(){this._foundation.goToStart()}goToEnd(){this._foundation.goToEnd()}};h([v()],a.prototype,"index",2),h([v()],a.prototype,"animationType",2),a=h([S({name:s.elementName,dependencies:[H]})],a);function he(){I(a)}export{s as a,_ as b,b as c,c as d,m as e,a as f,he as g};
7
+ //# sourceMappingURL=chunk.DTKFE7YB.js.map
@@ -3,5 +3,5 @@
3
3
  * Copyright 2023 Tyler Technologies, Inc.
4
4
  * License: Apache-2.0
5
5
  */
6
- import{a as r}from"./chunk.PDSOXEMY.js";import{a as f}from"./chunk.FDZSLGIW.js";import{a as c}from"./chunk.MGLWXAZO.js";import{a as y}from"./chunk.YOXZOPAC.js";import{a}from"./chunk.NVUMRW44.js";import{a as O}from"./chunk.HGH6SSHZ.js";import{a as L,k as x}from"./chunk.I5SFCLDD.js";import{d as g,i as E,q as b}from"./chunk.K7FPXAFS.js";import{b as p,l as T,p as v}from"./chunk.J2M2MXP2.js";import{d as n}from"./chunk.M3QDAYD2.js";function I(s){s.style.border="0",s.style.clip="rect(0 0 0 0)",s.style.height="1px",s.style.margin="-1px",s.style.overflow="hidden",s.style.padding="0",s.style.position="absolute",s.style.width="1px",s.style.outline="0",s.style.setProperty("-webkit-appearance","none"),s.style.setProperty("-moz-appearance","none")}function P(s,e,t){typeof t=="string"&&(t=document.createTextNode(t));let i=document.createElement("div");i.setAttribute("role","tooltip"),i.classList.add(r.classes.TOOLTIP),i.appendChild(t),i.setAttribute("role","tooltip"),i.setAttribute("aria-hidden","true"),(s.ownerDocument||document).body.appendChild(i);let d={x:0,y:0},u=4;switch(e){case"top":d.y=-u,i.classList.add(r.classes.TOOLTIP_TOP);break;case"right":d.x=u,i.classList.add(r.classes.TOOLTIP_RIGHT);break;case"bottom":d.y=u,i.classList.add(r.classes.TOOLTIP_BOTTOM);break;case"left":d.x=-u,i.classList.add(r.classes.TOOLTIP_LEFT);break}return window.requestAnimationFrame(()=>{window.requestAnimationFrame(()=>{i.classList.add(r.classes.TOOLTIP_OPEN),f({element:i,targetElement:s,placement:e,transform:!1,offset:d})})}),i}var h=class extends y{constructor(t){super(t);this._tooltipElement=null}initializeTargetElement(t){this._targetElement=this._getTargetElement(t)}initializeAccessibility(t){this._targetElement&&!this._targetElement.hasAttribute("aria-describedby")&&this._targetElement.setAttribute("aria-describedby",t)}hasTargetElement(){return!!this._targetElement}hasTooltipElement(){return!!this._tooltipElement}isTargetElementConnected(){return!!this._targetElement&&this._targetElement.isConnected}destroy(t){this._targetElement&&this._targetElement.getAttribute("aria-describedby")===t&&this._targetElement.removeAttribute("aria-describedby")}setTextContent(t){g(this._component),t&&this._component.appendChild(document.createTextNode(t))}addTargetEventListener(t,i){this._targetElement&&this._targetElement.addEventListener(t,i)}removeTargetEventListener(t,i){this._targetElement&&this._targetElement.removeEventListener(t,i)}showTooltip(t,i){if(!this._targetElement)return;i||(i=this._getTooltipContent().cloneNode(!0));let l=i.nodeType===3&&(!i.textContent||i.textContent.trim().length===0);!i||l||(this._tooltipElement=P(this._targetElement,t,i))}getInnerText(){return this._component.innerText}hideTooltip(){this._tooltipElement&&(E(this._tooltipElement),this._tooltipElement=null)}getTooltipElement(){return this._tooltipElement}_getTargetElement(t){if(t){if(this._component.parentElement)return b(this._component.parentElement,t)?this._component.parentElement:this._component.parentElement.querySelector(t)}else return this._component.previousElementSibling||this._component.parentElement;return null}_getTooltipContent(){return this._component.firstElementChild||this._component.firstChild||document.createTextNode("")}};var _=class _{constructor(e){this._adapter=e;this._delay=r.numbers.DEFAULT_DELAY;this._position=r.strings.DEFAULT_POSITION;this._isOpen=!1;this._mouseOverListener=t=>this._onMouseOver(t),this._mouseOutListener=t=>this._onMouseOut(t),this._touchStartListener=t=>this._onTouchStart(t),this._touchEndListener=t=>this._onTouchEnd(t),this._scrollListener=v(t=>this._onScroll(t),100),this._clickListener=()=>this._targetInteracted(),this._mouseDownListener=()=>this._targetInteracted(),this._dragListener=()=>this._targetInteracted()}initialize(){if(this._adapter.initializeTargetElement(this._target),!this._adapter.hasTargetElement())throw new Error("Unable to locate target element.");this._identifier=this._adapter.getHostAttribute("id"),this._identifier||(this._identifier=this._getNextIdentifier(),this._adapter.setHostAttribute("id",this._identifier)),this._addTargetListeners(),this._adapter.initializeAccessibility(this._identifier)}disconnect(){this._mouseOverTimeout&&(window.clearTimeout(this._mouseOverTimeout),this._mouseOverTimeout=void 0),this._touchTimeout&&(window.clearTimeout(this._touchTimeout),this._touchTimeout=void 0),this._adapter.destroy(this._identifier),this._isOpen&&this.hide(),this._adapter.hasTargetElement()&&this._removeTargetListeners()}_getNextIdentifier(){return`forge-tooltip-${_._tooltipIdentifier++}`}_addTargetListeners(){c.isMobile?(this._adapter.addTargetEventListener("touchstart",this._touchStartListener),this._adapter.addTargetEventListener("touchend",this._touchEndListener)):(this._adapter.addTargetEventListener("mouseover",this._mouseOverListener),this._adapter.addTargetEventListener("mouseout",this._mouseOutListener)),this._adapter.addTargetEventListener("click",this._clickListener),this._adapter.addTargetEventListener("mousedown",this._mouseDownListener),this._adapter.addTargetEventListener("dragstart",this._dragListener)}_removeTargetListeners(){c.isMobile?(this._adapter.removeTargetEventListener("touchstart",this._touchStartListener),this._adapter.removeTargetEventListener("touchend",this._touchEndListener)):(this._adapter.removeTargetEventListener("mouseover",this._mouseOverListener),this._adapter.removeTargetEventListener("mouseout",this._mouseOutListener)),this._adapter.removeTargetEventListener("click",this._clickListener),this._adapter.removeTargetEventListener("mousedown",this._mouseDownListener),this._adapter.removeTargetEventListener("dragstart",this._dragListener)}_onTouchStart(e){this._touchTimeout=window.setTimeout(()=>{this._show(),window.setTimeout(()=>this.hide(),r.numbers.LONGPRESS_VISIBILITY_DURATION),this._touchTimeout=void 0},r.numbers.LONGPRESS_THRESHOLD)}_onTouchEnd(e){this._touchTimeout&&this._clearTouchTimer()}_clearTouchTimer(){window.clearTimeout(this._touchTimeout),this._touchTimeout=void 0}_onMouseOver(e){this._isOpen||!this._adapter.hasTargetElement()||!this._adapter.isTargetElementConnected()||(this._delay?this._mouseOverTimeout=window.setTimeout(()=>{this._show(),this._mouseOverTimeout=void 0},this._delay):this._show())}_onMouseOut(e){if(this._mouseOverTimeout){window.clearTimeout(this._mouseOverTimeout),this._mouseOverTimeout=void 0;return}this.hide()}_show(){let e;this._builder&&typeof this._builder=="function"&&(e=this._builder()),this._adapter.showTooltip(this._position,e),this._adapter.hasTooltipElement()&&(this._isOpen=!0,this._adapter.addWindowListener("scroll",this._scrollListener))}hide(){this._isOpen&&(this._touchTimeout&&this._clearTouchTimer(),this._isOpen=!1,this._adapter.removeWindowListener("scroll",this._scrollListener),this._adapter.hideTooltip())}_onScroll(e){this._isOpen&&this.hide()}_targetInteracted(){this._mouseOverTimeout&&window.clearTimeout(this._mouseOverTimeout),this._isOpen&&this.hide()}get text(){return this._text||this._adapter.getInnerText()}set text(e){this._text!==e&&(this._text=e,this._adapter.setTextContent(this._text),this._adapter.setHostAttribute(r.attributes.TEXT,this._text))}get builder(){return this._builder}set builder(e){this._builder=e}get target(){return this._target}set target(e){this._target!==e&&(this._target=e,this._adapter.hasTargetElement()&&this._removeTargetListeners(),this._adapter.initializeTargetElement(this._target),this._adapter.hasTargetElement()&&this._addTargetListeners(),this._adapter.setHostAttribute(r.attributes.TARGET,p(this._target)?this._target:""))}get delay(){return this._delay}set delay(e){this._delay!==e&&(this._delay=e,this._adapter.setHostAttribute(r.attributes.DELAY,p(this._delay)?this._delay.toString():""))}get position(){return this._position}set position(e){this._position!==e&&(this._position=e,this._adapter.setHostAttribute(r.attributes.POSITION,p(this._position)?this._position.toString():""))}set open(e){this._show()}get open(){return this._isOpen}get tooltipElement(){return this._adapter.getTooltipElement()}};_._tooltipIdentifier=0;var m=_;var o=class extends x{constructor(){super();this._foundation=new m(new h(this))}static get observedAttributes(){return[r.attributes.TEXT,r.attributes.TARGET,r.attributes.DELAY,r.attributes.POSITION]}connectedCallback(){I(this),requestAnimationFrame(()=>this._foundation.initialize())}disconnectedCallback(){this._foundation.disconnect()}attributeChangedCallback(t,i,l){switch(t){case r.attributes.TEXT:this.text=l;break;case r.attributes.TARGET:this.target=l;break;case r.attributes.DELAY:this.delay=T(l);break;case r.attributes.POSITION:this.position=l;break}}hide(){this._foundation.hide()}};n([a()],o.prototype,"text",2),n([a()],o.prototype,"builder",2),n([a()],o.prototype,"target",2),n([a()],o.prototype,"delay",2),n([a()],o.prototype,"position",2),n([a()],o.prototype,"open",2),n([a({set:!1})],o.prototype,"tooltipElement",2),o=n([O({name:r.elementName})],o);function tt(){L(o)}export{P as a,h as b,m as c,o as d,tt as e};
7
- //# sourceMappingURL=chunk.IJ2I25V3.js.map
6
+ import{a as r}from"./chunk.UWZWXNTW.js";import{a as f}from"./chunk.FDZSLGIW.js";import{a as c}from"./chunk.MGLWXAZO.js";import{a as y}from"./chunk.LS7WRRT2.js";import{a}from"./chunk.NVUMRW44.js";import{a as O}from"./chunk.IT66AOX7.js";import{a as L,k as x}from"./chunk.JAWV5Y5T.js";import{d as g,i as E,q as b}from"./chunk.K7FPXAFS.js";import{b as p,l as T,p as v}from"./chunk.J2M2MXP2.js";import{d as n}from"./chunk.M3QDAYD2.js";function I(s){s.style.border="0",s.style.clip="rect(0 0 0 0)",s.style.height="1px",s.style.margin="-1px",s.style.overflow="hidden",s.style.padding="0",s.style.position="absolute",s.style.width="1px",s.style.outline="0",s.style.setProperty("-webkit-appearance","none"),s.style.setProperty("-moz-appearance","none")}function P(s,e,t){typeof t=="string"&&(t=document.createTextNode(t));let i=document.createElement("div");i.setAttribute("role","tooltip"),i.classList.add(r.classes.TOOLTIP),i.appendChild(t),i.setAttribute("role","tooltip"),i.setAttribute("aria-hidden","true"),(s.ownerDocument||document).body.appendChild(i);let d={x:0,y:0},u=4;switch(e){case"top":d.y=-u,i.classList.add(r.classes.TOOLTIP_TOP);break;case"right":d.x=u,i.classList.add(r.classes.TOOLTIP_RIGHT);break;case"bottom":d.y=u,i.classList.add(r.classes.TOOLTIP_BOTTOM);break;case"left":d.x=-u,i.classList.add(r.classes.TOOLTIP_LEFT);break}return window.requestAnimationFrame(()=>{window.requestAnimationFrame(()=>{i.classList.add(r.classes.TOOLTIP_OPEN),f({element:i,targetElement:s,placement:e,transform:!1,offset:d})})}),i}var h=class extends y{constructor(t){super(t);this._tooltipElement=null}initializeTargetElement(t){this._targetElement=this._getTargetElement(t)}initializeAccessibility(t){this._targetElement&&!this._targetElement.hasAttribute("aria-describedby")&&this._targetElement.setAttribute("aria-describedby",t)}hasTargetElement(){return!!this._targetElement}hasTooltipElement(){return!!this._tooltipElement}isTargetElementConnected(){return!!this._targetElement&&this._targetElement.isConnected}destroy(t){this._targetElement&&this._targetElement.getAttribute("aria-describedby")===t&&this._targetElement.removeAttribute("aria-describedby")}setTextContent(t){g(this._component),t&&this._component.appendChild(document.createTextNode(t))}addTargetEventListener(t,i){this._targetElement&&this._targetElement.addEventListener(t,i)}removeTargetEventListener(t,i){this._targetElement&&this._targetElement.removeEventListener(t,i)}showTooltip(t,i){if(!this._targetElement)return;i||(i=this._getTooltipContent().cloneNode(!0));let l=i.nodeType===3&&(!i.textContent||i.textContent.trim().length===0);!i||l||(this._tooltipElement=P(this._targetElement,t,i))}getInnerText(){return this._component.innerText}hideTooltip(){this._tooltipElement&&(E(this._tooltipElement),this._tooltipElement=null)}getTooltipElement(){return this._tooltipElement}_getTargetElement(t){if(t){if(this._component.parentElement)return b(this._component.parentElement,t)?this._component.parentElement:this._component.parentElement.querySelector(t)}else return this._component.previousElementSibling||this._component.parentElement;return null}_getTooltipContent(){return this._component.firstElementChild||this._component.firstChild||document.createTextNode("")}};var _=class _{constructor(e){this._adapter=e;this._delay=r.numbers.DEFAULT_DELAY;this._position=r.strings.DEFAULT_POSITION;this._isOpen=!1;this._mouseOverListener=t=>this._onMouseOver(t),this._mouseOutListener=t=>this._onMouseOut(t),this._touchStartListener=t=>this._onTouchStart(t),this._touchEndListener=t=>this._onTouchEnd(t),this._scrollListener=v(t=>this._onScroll(t),100),this._clickListener=()=>this._targetInteracted(),this._mouseDownListener=()=>this._targetInteracted(),this._dragListener=()=>this._targetInteracted()}initialize(){if(this._adapter.initializeTargetElement(this._target),!this._adapter.hasTargetElement())throw new Error("Unable to locate target element.");this._identifier=this._adapter.getHostAttribute("id"),this._identifier||(this._identifier=this._getNextIdentifier(),this._adapter.setHostAttribute("id",this._identifier)),this._addTargetListeners(),this._adapter.initializeAccessibility(this._identifier)}disconnect(){this._mouseOverTimeout&&(window.clearTimeout(this._mouseOverTimeout),this._mouseOverTimeout=void 0),this._touchTimeout&&(window.clearTimeout(this._touchTimeout),this._touchTimeout=void 0),this._adapter.destroy(this._identifier),this._isOpen&&this.hide(),this._adapter.hasTargetElement()&&this._removeTargetListeners()}_getNextIdentifier(){return`forge-tooltip-${_._tooltipIdentifier++}`}_addTargetListeners(){c.isMobile?(this._adapter.addTargetEventListener("touchstart",this._touchStartListener),this._adapter.addTargetEventListener("touchend",this._touchEndListener)):(this._adapter.addTargetEventListener("mouseover",this._mouseOverListener),this._adapter.addTargetEventListener("mouseout",this._mouseOutListener)),this._adapter.addTargetEventListener("click",this._clickListener),this._adapter.addTargetEventListener("mousedown",this._mouseDownListener),this._adapter.addTargetEventListener("dragstart",this._dragListener)}_removeTargetListeners(){c.isMobile?(this._adapter.removeTargetEventListener("touchstart",this._touchStartListener),this._adapter.removeTargetEventListener("touchend",this._touchEndListener)):(this._adapter.removeTargetEventListener("mouseover",this._mouseOverListener),this._adapter.removeTargetEventListener("mouseout",this._mouseOutListener)),this._adapter.removeTargetEventListener("click",this._clickListener),this._adapter.removeTargetEventListener("mousedown",this._mouseDownListener),this._adapter.removeTargetEventListener("dragstart",this._dragListener)}_onTouchStart(e){this._touchTimeout=window.setTimeout(()=>{this._show(),window.setTimeout(()=>this.hide(),r.numbers.LONGPRESS_VISIBILITY_DURATION),this._touchTimeout=void 0},r.numbers.LONGPRESS_THRESHOLD)}_onTouchEnd(e){this._touchTimeout&&this._clearTouchTimer()}_clearTouchTimer(){window.clearTimeout(this._touchTimeout),this._touchTimeout=void 0}_onMouseOver(e){this._isOpen||!this._adapter.hasTargetElement()||!this._adapter.isTargetElementConnected()||(this._delay?this._mouseOverTimeout=window.setTimeout(()=>{this._show(),this._mouseOverTimeout=void 0},this._delay):this._show())}_onMouseOut(e){if(this._mouseOverTimeout){window.clearTimeout(this._mouseOverTimeout),this._mouseOverTimeout=void 0;return}this.hide()}_show(){let e;this._builder&&typeof this._builder=="function"&&(e=this._builder()),this._adapter.showTooltip(this._position,e),this._adapter.hasTooltipElement()&&(this._isOpen=!0,this._adapter.addWindowListener("scroll",this._scrollListener))}hide(){this._isOpen&&(this._touchTimeout&&this._clearTouchTimer(),this._isOpen=!1,this._adapter.removeWindowListener("scroll",this._scrollListener),this._adapter.hideTooltip())}_onScroll(e){this._isOpen&&this.hide()}_targetInteracted(){this._mouseOverTimeout&&window.clearTimeout(this._mouseOverTimeout),this._isOpen&&this.hide()}get text(){return this._text||this._adapter.getInnerText()}set text(e){this._text!==e&&(this._text=e,this._adapter.setTextContent(this._text),this._adapter.setHostAttribute(r.attributes.TEXT,this._text))}get builder(){return this._builder}set builder(e){this._builder=e}get target(){return this._target}set target(e){this._target!==e&&(this._target=e,this._adapter.hasTargetElement()&&this._removeTargetListeners(),this._adapter.initializeTargetElement(this._target),this._adapter.hasTargetElement()&&this._addTargetListeners(),this._adapter.setHostAttribute(r.attributes.TARGET,p(this._target)?this._target:""))}get delay(){return this._delay}set delay(e){this._delay!==e&&(this._delay=e,this._adapter.setHostAttribute(r.attributes.DELAY,p(this._delay)?this._delay.toString():""))}get position(){return this._position}set position(e){this._position!==e&&(this._position=e,this._adapter.setHostAttribute(r.attributes.POSITION,p(this._position)?this._position.toString():""))}set open(e){this._show()}get open(){return this._isOpen}get tooltipElement(){return this._adapter.getTooltipElement()}};_._tooltipIdentifier=0;var m=_;var o=class extends x{constructor(){super();this._foundation=new m(new h(this))}static get observedAttributes(){return[r.attributes.TEXT,r.attributes.TARGET,r.attributes.DELAY,r.attributes.POSITION]}connectedCallback(){I(this),requestAnimationFrame(()=>this._foundation.initialize())}disconnectedCallback(){this._foundation.disconnect()}attributeChangedCallback(t,i,l){switch(t){case r.attributes.TEXT:this.text=l;break;case r.attributes.TARGET:this.target=l;break;case r.attributes.DELAY:this.delay=T(l);break;case r.attributes.POSITION:this.position=l;break}}hide(){this._foundation.hide()}};n([a()],o.prototype,"text",2),n([a()],o.prototype,"builder",2),n([a()],o.prototype,"target",2),n([a()],o.prototype,"delay",2),n([a()],o.prototype,"position",2),n([a()],o.prototype,"open",2),n([a({set:!1})],o.prototype,"tooltipElement",2),o=n([O({name:r.elementName})],o);function tt(){L(o)}export{P as a,h as b,m as c,o as d,tt as e};
7
+ //# sourceMappingURL=chunk.E3GVKR4E.js.map