@tylertech/forge 2.22.1 → 2.23.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (259) hide show
  1. package/custom-elements.json +1936 -76
  2. package/dist/esm/accordion/index.js +1 -1
  3. package/dist/esm/app-bar/help-button/index.js +1 -1
  4. package/dist/esm/app-bar/index.js +1 -1
  5. package/dist/esm/app-bar/menu-button/index.js +1 -1
  6. package/dist/esm/app-bar/notification-button/index.js +1 -1
  7. package/dist/esm/app-bar/profile-button/index.js +1 -1
  8. package/dist/esm/app-bar/search/index.js +1 -1
  9. package/dist/esm/autocomplete/index.js +1 -1
  10. package/dist/esm/avatar/index.js +1 -1
  11. package/dist/esm/backdrop/index.js +1 -1
  12. package/dist/esm/badge/index.js +1 -1
  13. package/dist/esm/banner/index.js +1 -1
  14. package/dist/esm/bottom-sheet/index.js +1 -1
  15. package/dist/esm/busy-indicator/index.js +1 -1
  16. package/dist/esm/button-area/index.js +1 -1
  17. package/dist/esm/button-toggle/button-toggle/index.js +1 -1
  18. package/dist/esm/button-toggle/button-toggle-group/index.js +1 -1
  19. package/dist/esm/button-toggle/index.js +1 -1
  20. package/dist/esm/calendar/calendar-dropdown/index.js +1 -1
  21. package/dist/esm/calendar/calendar-menu/index.js +1 -1
  22. package/dist/esm/calendar/index.js +1 -1
  23. package/dist/esm/checkbox/index.js +1 -1
  24. package/dist/esm/chip-field/index.js +1 -1
  25. package/dist/esm/chips/chip/index.js +1 -1
  26. package/dist/esm/chips/chip-set/index.js +1 -1
  27. package/dist/esm/chips/index.js +1 -1
  28. package/dist/esm/chunks/{chunk.2MGFQWS6.js → chunk.32AY5G4D.js} +2 -2
  29. package/dist/esm/chunks/{chunk.EEAECTJG.js → chunk.3M6GHBEY.js} +2 -2
  30. package/dist/esm/chunks/{chunk.BW7ZMZQ3.js → chunk.47EUT2BJ.js} +2 -2
  31. package/dist/esm/chunks/{chunk.WXCV57CO.js → chunk.4J7MOJUW.js} +2 -2
  32. package/dist/esm/chunks/{chunk.H4YR36ID.js → chunk.5BJ473N2.js} +2 -2
  33. package/dist/esm/chunks/{chunk.ZH4DJFUB.js → chunk.5SGTPCLX.js} +2 -2
  34. package/dist/esm/chunks/{chunk.TJNHRZ2A.js → chunk.6D5ERZ3Y.js} +2 -2
  35. package/dist/esm/chunks/chunk.6ENND42M.js +7 -0
  36. package/dist/esm/chunks/chunk.6ENND42M.js.map +7 -0
  37. package/dist/esm/chunks/{chunk.EBM6GJEI.js → chunk.6RJ6NEKJ.js} +2 -2
  38. package/dist/esm/chunks/{chunk.2QGMOZJ4.js → chunk.7C7XCT32.js} +2 -2
  39. package/dist/esm/chunks/{chunk.RFEKZKCP.js → chunk.AERZO3JD.js} +2 -2
  40. package/dist/esm/chunks/{chunk.5X4XFGED.js → chunk.AITARMT3.js} +2 -2
  41. package/dist/esm/chunks/{chunk.COJVSTL3.js → chunk.AM65KICK.js} +2 -2
  42. package/dist/esm/chunks/{chunk.GLLI6LUN.js → chunk.ATJJ6NAY.js} +2 -2
  43. package/dist/esm/chunks/chunk.BNIUTBJV.js +7 -0
  44. package/dist/esm/chunks/chunk.BNIUTBJV.js.map +7 -0
  45. package/dist/esm/chunks/{chunk.SXCFFYSW.js → chunk.BQRXAJTH.js} +2 -2
  46. package/dist/esm/chunks/{chunk.PFLC356W.js → chunk.BRBYFLUJ.js} +2 -2
  47. package/dist/esm/chunks/{chunk.R5CGGSWN.js → chunk.CYRAGLUX.js} +2 -2
  48. package/dist/esm/chunks/chunk.DK6EGV4J.js +7 -0
  49. package/dist/esm/chunks/chunk.DK6EGV4J.js.map +7 -0
  50. package/dist/esm/chunks/{chunk.YTUUR7RZ.js → chunk.E6FHH3CM.js} +2 -2
  51. package/dist/esm/chunks/{chunk.CXBJZFPQ.js → chunk.F6DMKNFU.js} +2 -2
  52. package/dist/esm/chunks/{chunk.CQT3OTOM.js → chunk.GRBFFU4E.js} +2 -2
  53. package/dist/esm/chunks/{chunk.ZYYEGG2Z.js → chunk.HDHGU4L2.js} +2 -2
  54. package/dist/esm/chunks/{chunk.PPBBEIG7.js → chunk.IRTZOSWK.js} +2 -2
  55. package/dist/esm/chunks/{chunk.YIF5CIAY.js → chunk.ISCCPFAB.js} +2 -2
  56. package/dist/esm/chunks/{chunk.CUYPIIVW.js → chunk.IY43YPCQ.js} +2 -2
  57. package/dist/esm/chunks/{chunk.WZSTGQWI.js → chunk.JNWAGZFT.js} +2 -2
  58. package/dist/esm/chunks/{chunk.3O5MGVPT.js → chunk.KMMOZ2SF.js} +2 -2
  59. package/dist/esm/chunks/{chunk.K3R6CELU.js → chunk.KTEM7SW7.js} +2 -2
  60. package/dist/esm/chunks/chunk.KTEM7SW7.js.map +7 -0
  61. package/dist/esm/chunks/{chunk.FAWO64B4.js → chunk.KUVFKOVR.js} +2 -2
  62. package/dist/esm/chunks/{chunk.ZNLB7I2C.js → chunk.KZDQFUNT.js} +2 -2
  63. package/dist/esm/chunks/{chunk.GGAQ7OYT.js → chunk.M5AHW6YM.js} +2 -2
  64. package/dist/esm/chunks/{chunk.7D3BQOND.js → chunk.M5QM2CPF.js} +2 -2
  65. package/dist/esm/chunks/{chunk.Y7VUGSKO.js → chunk.M5SV3NKJ.js} +2 -2
  66. package/dist/esm/chunks/{chunk.6FL7PGUA.js → chunk.MA573DEE.js} +2 -2
  67. package/dist/esm/chunks/{chunk.EP55QP2N.js → chunk.MBJGQYCF.js} +2 -2
  68. package/dist/esm/chunks/{chunk.3XDYV3TB.js → chunk.OC3NNLIP.js} +2 -2
  69. package/dist/esm/chunks/{chunk.24PTHGK4.js → chunk.OZPV5ZJC.js} +2 -2
  70. package/dist/esm/chunks/{chunk.7S3MDJM6.js → chunk.P45M3ZLT.js} +2 -2
  71. package/dist/esm/chunks/{chunk.MYJZJX3T.js → chunk.P6C3463W.js} +2 -2
  72. package/dist/esm/chunks/{chunk.JRZK5VLL.js → chunk.POBCKMFO.js} +2 -2
  73. package/dist/esm/chunks/{chunk.F6EDGAQL.js → chunk.POYFRYFF.js} +2 -2
  74. package/dist/esm/chunks/chunk.PQNQULWB.js +12 -0
  75. package/dist/esm/chunks/{chunk.H2YBRNRH.js → chunk.Q2PGK4IA.js} +2 -2
  76. package/dist/esm/chunks/{chunk.FSBGEJ6H.js → chunk.QBKSRXQK.js} +2 -2
  77. package/dist/esm/chunks/{chunk.L34DJOES.js → chunk.QBST3QSM.js} +2 -2
  78. package/dist/esm/chunks/{chunk.ZCCNMTWC.js → chunk.QFMQPAT2.js} +2 -2
  79. package/dist/esm/chunks/{chunk.6HFT42UY.js → chunk.QRSFRMBF.js} +2 -2
  80. package/dist/esm/chunks/chunk.QWB7A62L.js +7 -0
  81. package/dist/esm/chunks/chunk.QWB7A62L.js.map +7 -0
  82. package/dist/esm/chunks/{chunk.RW4IRHKZ.js → chunk.RDETMQHP.js} +2 -2
  83. package/dist/esm/chunks/{chunk.QFAPYIDC.js → chunk.SXQ22MNR.js} +2 -2
  84. package/dist/esm/chunks/{chunk.2AWJ5K5A.js → chunk.TDWRBHQW.js} +2 -2
  85. package/dist/esm/chunks/{chunk.CNBHQSMC.js → chunk.TEHQWMFI.js} +2 -2
  86. package/dist/esm/chunks/{chunk.ON3EQDKJ.js → chunk.TRIZ4QJI.js} +2 -2
  87. package/dist/esm/chunks/{chunk.MMGNGRDL.js → chunk.UE4KJ2BZ.js} +2 -2
  88. package/dist/esm/chunks/{chunk.K5NGWM7Y.js → chunk.UNPZKZ23.js} +2 -2
  89. package/dist/esm/chunks/{chunk.K5NGWM7Y.js.map → chunk.UNPZKZ23.js.map} +1 -1
  90. package/dist/esm/chunks/{chunk.UDS5LEZM.js → chunk.USKQFX4N.js} +2 -2
  91. package/dist/esm/chunks/{chunk.XYZOE4IZ.js → chunk.UUBAUAER.js} +2 -2
  92. package/dist/esm/chunks/chunk.UWYANU5D.js +7 -0
  93. package/dist/esm/chunks/chunk.UWYANU5D.js.map +7 -0
  94. package/dist/esm/chunks/{chunk.DLIFZGS5.js → chunk.UYR2C32R.js} +2 -2
  95. package/dist/esm/chunks/{chunk.JSHESOOI.js → chunk.V5L5DKNF.js} +2 -2
  96. package/dist/esm/chunks/chunk.VDF5MWGC.js +7 -0
  97. package/dist/esm/chunks/chunk.VDF5MWGC.js.map +7 -0
  98. package/dist/esm/chunks/{chunk.LK6LMLFN.js → chunk.VFWFNY53.js} +2 -2
  99. package/dist/esm/chunks/{chunk.TCSHDF2Y.js → chunk.VXCPWDOQ.js} +2 -2
  100. package/dist/esm/chunks/{chunk.5FNTCP5H.js → chunk.WCSVKQR2.js} +2 -2
  101. package/dist/esm/chunks/{chunk.PPIMG5KT.js → chunk.WHQZNZHW.js} +2 -2
  102. package/dist/esm/chunks/{chunk.ALUK4H2X.js → chunk.WLBRU5HI.js} +2 -2
  103. package/dist/esm/chunks/{chunk.WKBKZ2LD.js → chunk.WPF4OVWD.js} +2 -2
  104. package/dist/esm/chunks/{chunk.RBNVMLAN.js → chunk.WYUMHNVZ.js} +2 -2
  105. package/dist/esm/chunks/{chunk.YGOCNNDU.js → chunk.XEZ7QJES.js} +2 -2
  106. package/dist/esm/chunks/{chunk.ETYBXRED.js → chunk.XYK4TAXA.js} +2 -2
  107. package/dist/esm/chunks/{chunk.73E6MXUV.js → chunk.Y37FW3B4.js} +2 -2
  108. package/dist/esm/chunks/{chunk.VWP73RWI.js → chunk.ZVHFSAID.js} +2 -2
  109. package/dist/esm/chunks/{chunk.4RCTVRWU.js → chunk.ZVPPLZUU.js} +2 -2
  110. package/dist/esm/color-picker/index.js +1 -1
  111. package/dist/esm/core/base/index.js +1 -1
  112. package/dist/esm/core/index.js +1 -1
  113. package/dist/esm/date-picker/index.js +1 -1
  114. package/dist/esm/date-range-picker/index.js +1 -1
  115. package/dist/esm/dialog/index.js +1 -1
  116. package/dist/esm/drawer/base/index.js +1 -1
  117. package/dist/esm/drawer/drawer/index.js +1 -1
  118. package/dist/esm/drawer/index.js +1 -1
  119. package/dist/esm/drawer/mini-drawer/index.js +1 -1
  120. package/dist/esm/drawer/modal-drawer/index.js +1 -1
  121. package/dist/esm/expansion-panel/index.js +1 -1
  122. package/dist/esm/file-picker/index.js +1 -1
  123. package/dist/esm/icon/index.js +1 -1
  124. package/dist/esm/icon-button/index.js +1 -1
  125. package/dist/esm/index.js +1 -1
  126. package/dist/esm/keyboard-shortcut/index.js +1 -1
  127. package/dist/esm/label-value/index.js +1 -1
  128. package/dist/esm/list/index.js +1 -1
  129. package/dist/esm/list/list/index.js +1 -1
  130. package/dist/esm/list/list-item/index.js +1 -1
  131. package/dist/esm/list-dropdown/index.js +1 -1
  132. package/dist/esm/menu/index.js +1 -1
  133. package/dist/esm/open-icon/index.js +1 -1
  134. package/dist/esm/paginator/index.js +1 -1
  135. package/dist/esm/popup/index.js +1 -1
  136. package/dist/esm/product-icon/index.js +1 -1
  137. package/dist/esm/profile-card/index.js +1 -1
  138. package/dist/esm/quantity-field/index.js +1 -1
  139. package/dist/esm/select/core/index.js +1 -1
  140. package/dist/esm/select/index.js +1 -1
  141. package/dist/esm/select/option/index.js +1 -1
  142. package/dist/esm/select/select/index.js +1 -1
  143. package/dist/esm/select/select-dropdown/index.js +1 -1
  144. package/dist/esm/slider/index.js +1 -1
  145. package/dist/esm/split-view/index.js +1 -1
  146. package/dist/esm/split-view/split-view/index.js +1 -1
  147. package/dist/esm/split-view/split-view-panel/index.js +1 -1
  148. package/dist/esm/stack/index.js +1 -1
  149. package/dist/esm/stepper/index.js +1 -1
  150. package/dist/esm/stepper/step/index.js +1 -1
  151. package/dist/esm/stepper/stepper/index.js +1 -1
  152. package/dist/esm/switch/index.js +1 -1
  153. package/dist/esm/table/index.js +1 -1
  154. package/dist/esm/tabs/index.js +1 -1
  155. package/dist/esm/tabs/tab/index.js +1 -1
  156. package/dist/esm/tabs/tab-bar/index.js +1 -1
  157. package/dist/esm/text-field/index.js +1 -1
  158. package/dist/esm/time-picker/index.js +1 -1
  159. package/dist/esm/toast/index.js +1 -1
  160. package/dist/esm/tooltip/index.js +1 -1
  161. package/dist/esm/view-switcher/index.js +1 -1
  162. package/esm/badge/badge.js +2 -2
  163. package/esm/calendar/calendar-constants.d.ts +4 -4
  164. package/esm/core/base/base-adapter.d.ts +10 -0
  165. package/esm/core/base/base-adapter.js +14 -0
  166. package/esm/date-picker/base/base-date-picker-adapter.d.ts +5 -5
  167. package/esm/date-picker/base/base-date-picker-adapter.js +4 -5
  168. package/esm/date-picker/base/base-date-picker-foundation.d.ts +2 -0
  169. package/esm/date-picker/base/base-date-picker-foundation.js +9 -2
  170. package/esm/field/field-adapter.d.ts +0 -2
  171. package/esm/field/field-adapter.js +0 -8
  172. package/esm/field/field-foundation.js +0 -1
  173. package/esm/list/list-item/list-item-foundation.d.ts +0 -2
  174. package/esm/list/list-item/list-item-foundation.js +0 -7
  175. package/esm/split-view/split-view-panel/split-view-panel.js +1 -1
  176. package/esm/text-field/text-field-adapter.d.ts +0 -1
  177. package/esm/text-field/text-field-adapter.js +0 -8
  178. package/package.json +1 -1
  179. package/styles/badge/_mixins.scss +10 -3
  180. package/dist/esm/chunks/chunk.5G4VJQ3D.js +0 -7
  181. package/dist/esm/chunks/chunk.5G4VJQ3D.js.map +0 -7
  182. package/dist/esm/chunks/chunk.CAXRISYR.js +0 -7
  183. package/dist/esm/chunks/chunk.CAXRISYR.js.map +0 -7
  184. package/dist/esm/chunks/chunk.IJ75YYVH.js +0 -12
  185. package/dist/esm/chunks/chunk.JF2PQLVF.js +0 -7
  186. package/dist/esm/chunks/chunk.JF2PQLVF.js.map +0 -7
  187. package/dist/esm/chunks/chunk.K3R6CELU.js.map +0 -7
  188. package/dist/esm/chunks/chunk.NTIAHSUE.js +0 -7
  189. package/dist/esm/chunks/chunk.NTIAHSUE.js.map +0 -7
  190. package/dist/esm/chunks/chunk.UVFZTSBV.js +0 -7
  191. package/dist/esm/chunks/chunk.UVFZTSBV.js.map +0 -7
  192. package/dist/esm/chunks/chunk.VWPEVC65.js +0 -7
  193. package/dist/esm/chunks/chunk.VWPEVC65.js.map +0 -7
  194. /package/dist/esm/chunks/{chunk.2MGFQWS6.js.map → chunk.32AY5G4D.js.map} +0 -0
  195. /package/dist/esm/chunks/{chunk.EEAECTJG.js.map → chunk.3M6GHBEY.js.map} +0 -0
  196. /package/dist/esm/chunks/{chunk.BW7ZMZQ3.js.map → chunk.47EUT2BJ.js.map} +0 -0
  197. /package/dist/esm/chunks/{chunk.WXCV57CO.js.map → chunk.4J7MOJUW.js.map} +0 -0
  198. /package/dist/esm/chunks/{chunk.H4YR36ID.js.map → chunk.5BJ473N2.js.map} +0 -0
  199. /package/dist/esm/chunks/{chunk.ZH4DJFUB.js.map → chunk.5SGTPCLX.js.map} +0 -0
  200. /package/dist/esm/chunks/{chunk.TJNHRZ2A.js.map → chunk.6D5ERZ3Y.js.map} +0 -0
  201. /package/dist/esm/chunks/{chunk.EBM6GJEI.js.map → chunk.6RJ6NEKJ.js.map} +0 -0
  202. /package/dist/esm/chunks/{chunk.2QGMOZJ4.js.map → chunk.7C7XCT32.js.map} +0 -0
  203. /package/dist/esm/chunks/{chunk.RFEKZKCP.js.map → chunk.AERZO3JD.js.map} +0 -0
  204. /package/dist/esm/chunks/{chunk.5X4XFGED.js.map → chunk.AITARMT3.js.map} +0 -0
  205. /package/dist/esm/chunks/{chunk.COJVSTL3.js.map → chunk.AM65KICK.js.map} +0 -0
  206. /package/dist/esm/chunks/{chunk.GLLI6LUN.js.map → chunk.ATJJ6NAY.js.map} +0 -0
  207. /package/dist/esm/chunks/{chunk.SXCFFYSW.js.map → chunk.BQRXAJTH.js.map} +0 -0
  208. /package/dist/esm/chunks/{chunk.PFLC356W.js.map → chunk.BRBYFLUJ.js.map} +0 -0
  209. /package/dist/esm/chunks/{chunk.R5CGGSWN.js.map → chunk.CYRAGLUX.js.map} +0 -0
  210. /package/dist/esm/chunks/{chunk.YTUUR7RZ.js.map → chunk.E6FHH3CM.js.map} +0 -0
  211. /package/dist/esm/chunks/{chunk.CXBJZFPQ.js.map → chunk.F6DMKNFU.js.map} +0 -0
  212. /package/dist/esm/chunks/{chunk.CQT3OTOM.js.map → chunk.GRBFFU4E.js.map} +0 -0
  213. /package/dist/esm/chunks/{chunk.ZYYEGG2Z.js.map → chunk.HDHGU4L2.js.map} +0 -0
  214. /package/dist/esm/chunks/{chunk.PPBBEIG7.js.map → chunk.IRTZOSWK.js.map} +0 -0
  215. /package/dist/esm/chunks/{chunk.YIF5CIAY.js.map → chunk.ISCCPFAB.js.map} +0 -0
  216. /package/dist/esm/chunks/{chunk.CUYPIIVW.js.map → chunk.IY43YPCQ.js.map} +0 -0
  217. /package/dist/esm/chunks/{chunk.WZSTGQWI.js.map → chunk.JNWAGZFT.js.map} +0 -0
  218. /package/dist/esm/chunks/{chunk.3O5MGVPT.js.map → chunk.KMMOZ2SF.js.map} +0 -0
  219. /package/dist/esm/chunks/{chunk.FAWO64B4.js.map → chunk.KUVFKOVR.js.map} +0 -0
  220. /package/dist/esm/chunks/{chunk.ZNLB7I2C.js.map → chunk.KZDQFUNT.js.map} +0 -0
  221. /package/dist/esm/chunks/{chunk.GGAQ7OYT.js.map → chunk.M5AHW6YM.js.map} +0 -0
  222. /package/dist/esm/chunks/{chunk.7D3BQOND.js.map → chunk.M5QM2CPF.js.map} +0 -0
  223. /package/dist/esm/chunks/{chunk.Y7VUGSKO.js.map → chunk.M5SV3NKJ.js.map} +0 -0
  224. /package/dist/esm/chunks/{chunk.6FL7PGUA.js.map → chunk.MA573DEE.js.map} +0 -0
  225. /package/dist/esm/chunks/{chunk.EP55QP2N.js.map → chunk.MBJGQYCF.js.map} +0 -0
  226. /package/dist/esm/chunks/{chunk.3XDYV3TB.js.map → chunk.OC3NNLIP.js.map} +0 -0
  227. /package/dist/esm/chunks/{chunk.24PTHGK4.js.map → chunk.OZPV5ZJC.js.map} +0 -0
  228. /package/dist/esm/chunks/{chunk.7S3MDJM6.js.map → chunk.P45M3ZLT.js.map} +0 -0
  229. /package/dist/esm/chunks/{chunk.MYJZJX3T.js.map → chunk.P6C3463W.js.map} +0 -0
  230. /package/dist/esm/chunks/{chunk.JRZK5VLL.js.map → chunk.POBCKMFO.js.map} +0 -0
  231. /package/dist/esm/chunks/{chunk.F6EDGAQL.js.map → chunk.POYFRYFF.js.map} +0 -0
  232. /package/dist/esm/chunks/{chunk.IJ75YYVH.js.map → chunk.PQNQULWB.js.map} +0 -0
  233. /package/dist/esm/chunks/{chunk.H2YBRNRH.js.map → chunk.Q2PGK4IA.js.map} +0 -0
  234. /package/dist/esm/chunks/{chunk.FSBGEJ6H.js.map → chunk.QBKSRXQK.js.map} +0 -0
  235. /package/dist/esm/chunks/{chunk.L34DJOES.js.map → chunk.QBST3QSM.js.map} +0 -0
  236. /package/dist/esm/chunks/{chunk.ZCCNMTWC.js.map → chunk.QFMQPAT2.js.map} +0 -0
  237. /package/dist/esm/chunks/{chunk.6HFT42UY.js.map → chunk.QRSFRMBF.js.map} +0 -0
  238. /package/dist/esm/chunks/{chunk.RW4IRHKZ.js.map → chunk.RDETMQHP.js.map} +0 -0
  239. /package/dist/esm/chunks/{chunk.QFAPYIDC.js.map → chunk.SXQ22MNR.js.map} +0 -0
  240. /package/dist/esm/chunks/{chunk.2AWJ5K5A.js.map → chunk.TDWRBHQW.js.map} +0 -0
  241. /package/dist/esm/chunks/{chunk.CNBHQSMC.js.map → chunk.TEHQWMFI.js.map} +0 -0
  242. /package/dist/esm/chunks/{chunk.ON3EQDKJ.js.map → chunk.TRIZ4QJI.js.map} +0 -0
  243. /package/dist/esm/chunks/{chunk.MMGNGRDL.js.map → chunk.UE4KJ2BZ.js.map} +0 -0
  244. /package/dist/esm/chunks/{chunk.UDS5LEZM.js.map → chunk.USKQFX4N.js.map} +0 -0
  245. /package/dist/esm/chunks/{chunk.XYZOE4IZ.js.map → chunk.UUBAUAER.js.map} +0 -0
  246. /package/dist/esm/chunks/{chunk.DLIFZGS5.js.map → chunk.UYR2C32R.js.map} +0 -0
  247. /package/dist/esm/chunks/{chunk.JSHESOOI.js.map → chunk.V5L5DKNF.js.map} +0 -0
  248. /package/dist/esm/chunks/{chunk.LK6LMLFN.js.map → chunk.VFWFNY53.js.map} +0 -0
  249. /package/dist/esm/chunks/{chunk.TCSHDF2Y.js.map → chunk.VXCPWDOQ.js.map} +0 -0
  250. /package/dist/esm/chunks/{chunk.5FNTCP5H.js.map → chunk.WCSVKQR2.js.map} +0 -0
  251. /package/dist/esm/chunks/{chunk.PPIMG5KT.js.map → chunk.WHQZNZHW.js.map} +0 -0
  252. /package/dist/esm/chunks/{chunk.ALUK4H2X.js.map → chunk.WLBRU5HI.js.map} +0 -0
  253. /package/dist/esm/chunks/{chunk.WKBKZ2LD.js.map → chunk.WPF4OVWD.js.map} +0 -0
  254. /package/dist/esm/chunks/{chunk.RBNVMLAN.js.map → chunk.WYUMHNVZ.js.map} +0 -0
  255. /package/dist/esm/chunks/{chunk.YGOCNNDU.js.map → chunk.XEZ7QJES.js.map} +0 -0
  256. /package/dist/esm/chunks/{chunk.ETYBXRED.js.map → chunk.XYK4TAXA.js.map} +0 -0
  257. /package/dist/esm/chunks/{chunk.73E6MXUV.js.map → chunk.Y37FW3B4.js.map} +0 -0
  258. /package/dist/esm/chunks/{chunk.VWP73RWI.js.map → chunk.ZVHFSAID.js.map} +0 -0
  259. /package/dist/esm/chunks/{chunk.4RCTVRWU.js.map → chunk.ZVPPLZUU.js.map} +0 -0
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/list/list/list-constants.ts", "../../src/list/list-item/list-item-constants.ts", "../../src/list/list-item/list-item-adapter.ts", "../../src/list/list-item/list-item-foundation.ts", "../../src/list/list-item/list-item.ts", "../../src/list/list-item/index.ts"],
4
- "sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}list`;\n\nconst attributes = {\n STATIC: 'static',\n DENSE: 'dense',\n PROPAGATE_CLICK: 'propagate-click',\n INDENTED: 'indented',\n SELECTED_VALUE: 'selected-value'\n};\n\nconst events = {\n SCOPE_TEST: `${elementName}-item-scope-test`\n} as const;\n\nexport const LIST_CONSTANTS = {\n elementName,\n attributes,\n events\n};\n", "import { COMPONENT_NAME_PREFIX } from '../../constants';\nimport { IListItemComponent } from './list-item';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}list-item`;\n\nconst attributes = {\n STATIC: 'static',\n TWO_LINE: 'two-line',\n THREE_LINE: 'three-line',\n ACTIVE: 'active',\n SELECTED: 'selected',\n VALUE: 'value',\n HREF: 'href',\n TARGET: 'target',\n RIPPLE: 'ripple',\n DISABLED: 'disabled',\n DENSE: 'dense',\n PROPAGATE_CLICK: 'propagate-click',\n INDENTED: 'indented',\n WRAP: 'wrap',\n DRAWER_CONTEXT: 'forge-drawer-context',\n IGNORE: 'forge-ignore'\n};\n\nconst classes = {\n LIST_ITEM: 'forge-list-item',\n STATIC: 'forge-list-item--static',\n TEXT: 'forge-list-item__text',\n TWO_LINE: 'forge-list-item--two-line',\n THREE_LINE: 'forge-list-item--three-line',\n ACTIVE: 'forge-list-item--active',\n ACTIVATED: 'forge-list-item--activated',\n SELECTED: 'forge-list-item--selected',\n DISABLED: 'forge-list-item--disabled',\n DENSE: 'forge-list-item--dense',\n INDENTED: 'forge-list-item--indented',\n WRAP: 'forge-list-item--wrap'\n};\n\nconst selectors = {\n LIST_ITEM: `.${classes.LIST_ITEM}`,\n DEFAULT_SLOT: `.${classes.TEXT} > slot`,\n CHECKBOX_RADIO_SELECTOR: 'input[type=checkbox]:not(:disabled):not([forge-ignore]),input[type=radio]:not(:disabled):not([forge-ignore])'\n};\n\nconst events = {\n SELECT: `${elementName}-select`\n};\n\nconst roles = {\n LINK: 'link',\n LIST_ITEM: 'listitem'\n};\n\nexport const LIST_ITEM_CONSTANTS = {\n elementName,\n attributes,\n classes,\n selectors,\n events,\n roles\n};\n\nexport interface IListItemSelectEventData {\n value: any;\n listItem: IListItemComponent;\n}\n", "import { addClass, getShadowElement, removeClass, requireParent, isDeepEqual, toggleClass } from '@tylertech/forge-core';\nimport { BaseAdapter, IBaseAdapter } from '../../core/base/base-adapter';\nimport { createUserInteractionListener } from '../../core/utils';\nimport { IListComponent } from '../list/list';\nimport { LIST_CONSTANTS } from '../list/list-constants';\nimport { IListItemComponent } from './list-item';\nimport { LIST_ITEM_CONSTANTS } from './list-item-constants';\nimport { ForgeRipple } from '../../ripple';\n\nexport interface IListItemAdapter extends IBaseAdapter {\n initializeAccessibility(): void;\n getListItem(): IListItemComponent;\n addListener(type: string, listener: (evt: Event) => void, options?: AddEventListenerOptions): void;\n removeListener(type: string, listener: (evt: Event) => void): void;\n createRipple(): any;\n setStatic(value: boolean): void;\n setTwoLine(value: boolean): void;\n setThreeLine(value: boolean): void;\n getLineCount(): number;\n setActive(value: boolean): void;\n setSelected(value: boolean): void;\n tryToggleCheckboxRadio(value?: boolean): void;\n setFocus(): void;\n hasFocus(): boolean;\n setRole(role: string): void;\n setDisabled(disabled: boolean): void;\n setDense(dense: boolean): void;\n setIndented(indented: boolean): void;\n setWrap(value: boolean): void;\n trySelect(value: unknown): boolean | null;\n createUserInteractionListener(): ReturnType<typeof createUserInteractionListener>;\n}\n\nexport class ListItemAdapter extends BaseAdapter<IListItemComponent> implements IListItemAdapter {\n private _listItemElement: HTMLElement;\n private _defaultSlot: HTMLSlotElement;\n\n constructor(component: IListItemComponent) {\n super(component);\n this._initialize();\n }\n\n private _initialize(): void {\n this._listItemElement = getShadowElement(this._component, LIST_ITEM_CONSTANTS.selectors.LIST_ITEM);\n this._defaultSlot = getShadowElement(this._component, LIST_ITEM_CONSTANTS.selectors.DEFAULT_SLOT) as HTMLSlotElement;\n }\n \n public initializeAccessibility(): void {\n if (!this._component.hasAttribute('role')) {\n this._component.setAttribute('role', 'listitem');\n }\n }\n\n public getListItem(): IListItemComponent {\n return this._component;\n }\n\n /**\n * Adds an event listener to the `<forge-list-item>` host element.\n * @param {string} type The event type.\n * @param {Function} listener The event callback.\n */\n public addListener(type: string, listener: (evt: Event) => void, options?: AddEventListenerOptions): void {\n this._listItemElement.addEventListener(type, listener, options);\n }\n\n /**\n * Removes an event listener from the `<forge-list-item>` host element.\n * @param {string} type The event type.\n * @param {Function} listener The event callback.\n */\n public removeListener(type: string, listener: (evt: Event) => void): void {\n this._listItemElement.removeEventListener(type, listener);\n }\n\n /**\n * Creates a ripple instance on the list item.\n * @returns {ForgeRipple}\n */\n public createRipple(): any {\n return new ForgeRipple(this._listItemElement);\n }\n\n /**\n * Toggles the static state of this list item.\n * @param {boolean} value The static state.\n */\n public setStatic(value: boolean): void {\n if (value) {\n this._listItemElement.tabIndex = -1;\n addClass(LIST_ITEM_CONSTANTS.classes.STATIC, this._listItemElement);\n } else {\n this._listItemElement.tabIndex = 0;\n removeClass(LIST_ITEM_CONSTANTS.classes.STATIC, this._listItemElement);\n }\n }\n\n /**\n * Sets this list item as a two-line list item.\n * @param {boolean} value The two-line state.\n */\n public setTwoLine(value: boolean): void {\n if (value) {\n addClass(LIST_ITEM_CONSTANTS.classes.TWO_LINE, this._listItemElement);\n } else {\n removeClass(LIST_ITEM_CONSTANTS.classes.TWO_LINE, this._listItemElement);\n }\n }\n\n /**\n * Sets this list item as a three-line list item.\n * @param {boolean} value The three-line state.\n */\n public setThreeLine(value: boolean): void {\n if (value) {\n addClass(LIST_ITEM_CONSTANTS.classes.THREE_LINE, this._listItemElement);\n } else {\n removeClass(LIST_ITEM_CONSTANTS.classes.THREE_LINE, this._listItemElement);\n }\n }\n\n /**\n * Determines how many lines the list item is displaying.\n */\n public getLineCount(): number {\n return this._defaultSlot.assignedNodes().filter(e => e.nodeType === Node.ELEMENT_NODE).length; // assignedElements does not exist in the polyfilled version so filtering nodes instead\n }\n\n /**\n * Toggles the active class of the list item.\n * @param {boolean} value The active state.\n */\n public setActive(value: boolean): void {\n if (value) {\n addClass(LIST_ITEM_CONSTANTS.classes.ACTIVE, this._listItemElement);\n } else {\n removeClass(LIST_ITEM_CONSTANTS.classes.ACTIVE, this._listItemElement);\n }\n }\n\n /**\n * Toggles the selected class of the list item.\n * @param {boolean} value The active state.\n */\n public setSelected(value: boolean): void {\n if (value) {\n addClass(LIST_ITEM_CONSTANTS.classes.SELECTED, this._listItemElement);\n } else {\n removeClass(LIST_ITEM_CONSTANTS.classes.SELECTED, this._listItemElement);\n }\n }\n\n /**\n * Attempts to toggle a checkbox or radio button within the list item if it can find one.\n */\n public tryToggleCheckboxRadio(value?: boolean): void {\n const checkable = this._component.querySelector(LIST_ITEM_CONSTANTS.selectors.CHECKBOX_RADIO_SELECTOR) as HTMLInputElement;\n if (checkable) {\n const force = typeof value === 'boolean';\n const currentState = checkable.checked;\n\n // We don't uncheck radio buttons unless we are forcing a value from the selection state\n if (!force && checkable.matches('input[type=radio]:checked')) {\n return;\n }\n \n // Check if we are just toggling or forcing to a specific checked state\n checkable.checked = force ? value as boolean : !checkable.checked;\n\n if (!force || currentState !== value) {\n checkable.dispatchEvent(new Event('change', { bubbles: true }));\n }\n }\n }\n\n /** Attempts to set focus to this list item. */\n public setFocus(): void {\n this._listItemElement.focus();\n }\n\n /** Returns whether the component has focus or not. */\n public hasFocus(): boolean {\n return document.activeElement === this._component || !!this._component.shadowRoot?.activeElement;\n }\n\n /**\n * Sets the role on the list item element.\n * @param role The role.\n */\n public setRole(role: string): void {\n this._listItemElement.setAttribute('role', role);\n }\n\n public setDisabled(disabled: boolean): void {\n toggleClass(this._listItemElement, disabled, LIST_ITEM_CONSTANTS.classes.DISABLED);\n }\n\n public setDense(dense: boolean): void {\n toggleClass(this._listItemElement, dense, LIST_ITEM_CONSTANTS.classes.DENSE);\n }\n\n public setIndented(indented: boolean): void {\n toggleClass(this._listItemElement, indented, LIST_ITEM_CONSTANTS.classes.INDENTED);\n }\n\n public setWrap(value: boolean): void {\n toggleClass(this._listItemElement, value, LIST_ITEM_CONSTANTS.classes.WRAP);\n }\n\n /**\n * Attempts to set the selected state of the list item element and it's visual indicators\n * @param value The value to compare to the parent list element's selected value\n * @returns Returns whether the list item is selected or not\n */\n public trySelect(value: unknown): boolean | null {\n const list = requireParent<IListComponent>(this._component, LIST_CONSTANTS.elementName);\n if (!list || list.selectedValue === undefined) {\n return null;\n }\n\n const listValues = list.selectedValue instanceof Array ? list.selectedValue : [list.selectedValue];\n const isSelected = listValues.some(v => isDeepEqual(v, value));\n\n this.setSelected(isSelected);\n this.tryToggleCheckboxRadio(isSelected);\n return isSelected;\n }\n\n public createUserInteractionListener(): ReturnType<typeof createUserInteractionListener> {\n return createUserInteractionListener(this._listItemElement);\n }\n}\n", "import { ICustomElementFoundation, matchesSelectors } from '@tylertech/forge-core';\nimport { ForgeRipple } from '../../ripple';\nimport { IListItemAdapter } from './list-item-adapter';\nimport { LIST_ITEM_CONSTANTS, IListItemSelectEventData } from './list-item-constants';\n\nexport interface IListItemFoundation extends ICustomElementFoundation {\n static: boolean;\n twoLine: boolean;\n threeLine: boolean;\n active: boolean;\n selected: boolean;\n value: any;\n href: string;\n target: string;\n ripple: boolean;\n disabled: boolean;\n dense: boolean;\n wrap: boolean;\n setFocus(): void;\n}\n\n/**\n * The foundation class behind the `<forge-list-item>` component.\n */\nexport class ListItemFoundation implements IListItemFoundation {\n private _ripple = true;\n private _rippleInstance: ForgeRipple;\n private _static = false;\n private _twoLine = false;\n private _threeLine = false;\n private _active = false;\n private _selected = false;\n private _value: any;\n private _href: string;\n private _target: string;\n private _disabled = false;\n private _dense = false;\n private _propagateClick = true;\n private _indented = false;\n private _wrap = false;\n private _clickListener: (evt: MouseEvent) => void;\n private _mouseDownListener: (evt: MouseEvent) => void;\n private _keydownListener: (evt: KeyboardEvent) => void;\n private _destroyUserInteractionListener: (() => void) | undefined;\n\n constructor(private _adapter: IListItemAdapter) {\n this._clickListener = (evt: MouseEvent) => this._onClick(evt);\n this._mouseDownListener = (evt: MouseEvent) => this._onMouseDown(evt);\n this._keydownListener = (evt: KeyboardEvent) => this._onKeydown(evt);\n }\n\n public initialize(): void {\n this._adapter.initializeAccessibility();\n this._setRipple();\n this._adapter.setStatic(this._static);\n this._adapter.setDense(this._dense);\n this._adapter.setDisabled(this._disabled);\n this._adapter.setIndented(this._indented);\n this._adapter.setWrap(this._wrap);\n\n if (!this._static) {\n this._adapter.addListener('click', this._clickListener);\n this._adapter.addListener('mousedown', this._mouseDownListener, { passive: false, capture: true });\n this._adapter.addListener('keydown', this._keydownListener);\n }\n\n if (this._threeLine) {\n this._adapter.setThreeLine(this._threeLine);\n } else if (this.twoLine) {\n this._adapter.setTwoLine(this._twoLine);\n }\n\n const isSelected = this._adapter.trySelect(this._value);\n if(isSelected != null) {\n this._selected = isSelected;\n }\n }\n\n public disconnect(): void {\n if (this._rippleInstance) {\n this._rippleInstance.destroy();\n this._rippleInstance = undefined as any;\n }\n\n if (typeof this._destroyUserInteractionListener === 'function') {\n this._destroyUserInteractionListener();\n this._destroyUserInteractionListener = undefined;\n }\n }\n\n private _onMouseDown(evt: MouseEvent): void {\n if (this._adapter.hasFocus() || !this._propagateClick) {\n evt.preventDefault();\n }\n }\n\n private _onKeydown(evt: KeyboardEvent): void {\n if (evt.key === 'Enter' || evt.key === ' ') {\n if (evt.key === ' ') {\n evt.preventDefault();\n }\n this._select(evt.target as HTMLElement);\n }\n }\n\n /**\n * Handles clicking a list item.\n * @param evt\n */\n private _onClick(evt: MouseEvent): void {\n this._select(evt.target as HTMLElement);\n }\n\n private _select(targetElement: HTMLElement): void {\n const ignoreElement = targetElement?.hasAttribute(LIST_ITEM_CONSTANTS.attributes.IGNORE);\n if (this._static || this._disabled || ignoreElement) {\n return;\n }\n\n if (!this._adapter.hasFocus() && this._propagateClick) {\n this.setFocus();\n }\n\n if (this._href) {\n if (this._target) {\n window.open(this._href, this._target);\n } else {\n document.location.href = this._href;\n }\n return;\n }\n\n // If the target was not a checkbox or radio button, attempt to find one and toggle its checked state\n if (!matchesSelectors(targetElement, LIST_ITEM_CONSTANTS.selectors.CHECKBOX_RADIO_SELECTOR)) {\n this._adapter.tryToggleCheckboxRadio();\n }\n\n const data: IListItemSelectEventData = {\n value: this._value,\n listItem: this._adapter.getListItem()\n };\n this._adapter.emitHostEvent(LIST_ITEM_CONSTANTS.events.SELECT, data);\n }\n\n /** Gets/sets whether the list item has a ripple or not. */\n public get ripple(): boolean {\n return this._ripple;\n }\n public set ripple(value: boolean) {\n if (this._ripple !== value) {\n // We don't attach ripples to static items\n if (value && this._static) {\n return;\n }\n this._ripple = value;\n this._setRipple();\n\n this._adapter.setHostAttribute(LIST_ITEM_CONSTANTS.attributes.RIPPLE, String(this._ripple));\n }\n }\n\n /** Gets/sets whether the static state of this list item. */\n public get static(): boolean {\n return this._static;\n }\n public set static(value: boolean) {\n if (this._static !== value) {\n this._static = value;\n this._adapter.setStatic(this._static);\n\n // Ensure we either add or remove the ripple\n this._setRipple();\n\n // Toggle the click listener\n if (this._static) {\n this._adapter.removeListener('click', this._clickListener);\n } else {\n this._adapter.addListener('click', this._clickListener);\n }\n\n if (this._static) {\n this._adapter.setHostAttribute(LIST_ITEM_CONSTANTS.attributes.STATIC);\n } else {\n this._adapter.removeHostAttribute(LIST_ITEM_CONSTANTS.attributes.STATIC);\n }\n }\n }\n\n /** Gets/sets whether the list item displays two lines of text. */\n public get twoLine(): boolean {\n return this._twoLine;\n }\n public set twoLine(value: boolean) {\n if (this._twoLine !== value) {\n this._twoLine = value;\n this._adapter.setTwoLine(this._twoLine);\n\n if (this._twoLine) {\n this._adapter.setHostAttribute(LIST_ITEM_CONSTANTS.attributes.TWO_LINE);\n } else {\n this._adapter.removeHostAttribute(LIST_ITEM_CONSTANTS.attributes.TWO_LINE);\n }\n }\n }\n\n /** Gets/sets whether the list item displays two lines of text. */\n public get threeLine(): boolean {\n return this._threeLine;\n }\n public set threeLine(value: boolean) {\n if (this._threeLine !== value) {\n this._threeLine = value;\n\n if (this._threeLine) {\n this._adapter.setHostAttribute(LIST_ITEM_CONSTANTS.attributes.THREE_LINE);\n } else {\n this._adapter.removeHostAttribute(LIST_ITEM_CONSTANTS.attributes.THREE_LINE);\n }\n\n if (this._threeLine) {\n this._twoLine = false;\n }\n\n this._adapter.setTwoLine(this._twoLine);\n this._adapter.setThreeLine(this._threeLine);\n }\n }\n\n /** Gets/sets whether the list item is active or not. */\n public get active(): boolean {\n return this._active;\n }\n public set active(value: boolean) {\n if (this._active !== value) {\n this._active = value;\n this._adapter.setActive(this._active);\n if (this._active) {\n this._adapter.setHostAttribute(LIST_ITEM_CONSTANTS.attributes.ACTIVE);\n } else {\n this._adapter.removeHostAttribute(LIST_ITEM_CONSTANTS.attributes.ACTIVE);\n }\n }\n }\n\n /** Gets/sets whether the list item is selected or not. */\n public get selected(): boolean {\n return this._selected;\n }\n public set selected(value: boolean) {\n if (this._selected !== value) {\n this._selected = value;\n this._adapter.setSelected(this._selected);\n this._adapter.tryToggleCheckboxRadio(this._selected);\n this._adapter.toggleHostAttribute(LIST_ITEM_CONSTANTS.attributes.SELECTED, this._selected);\n }\n }\n\n /** Gets/sets the unique value for this list item. */\n public get value(): any {\n return this._value;\n }\n public set value(value: any) {\n this._value = value;\n const isSelected = this._adapter.trySelect(this._value);\n if(isSelected != null) {\n this._selected = isSelected;\n }\n }\n\n /** Gets/sets the href link that this list item will send the browser to when clicked. */\n public get href(): string {\n return this._href;\n }\n public set href(value: string) {\n if (this._href !== value) {\n this._href = value;\n if (this._href) {\n this._adapter.setRole(LIST_ITEM_CONSTANTS.roles.LINK);\n } else {\n this._adapter.setRole(LIST_ITEM_CONSTANTS.roles.LIST_ITEM);\n }\n this._adapter.setHostAttribute(LIST_ITEM_CONSTANTS.attributes.HREF, this._href);\n }\n }\n\n /** Gets/sets the href link target. */\n public get target(): string {\n return this._target;\n }\n public set target(value: string) {\n this._target = value;\n }\n\n /** Gets/sets the disabled state. */\n public get disabled(): boolean {\n return this._disabled;\n }\n public set disabled(value: boolean) {\n if (this._disabled !== value) {\n this._disabled = value;\n this._adapter.setDisabled(this._disabled);\n this._adapter.toggleHostAttribute(LIST_ITEM_CONSTANTS.attributes.DISABLED, this._disabled);\n }\n }\n\n /** Gets/sets the dense state. */\n public get dense(): boolean {\n return this._dense;\n }\n public set dense(value: boolean) {\n if (this._dense !== value) {\n this._dense = value;\n this._adapter.setDense(this._dense);\n this._adapter.toggleHostAttribute(LIST_ITEM_CONSTANTS.attributes.DENSE, this._dense);\n }\n }\n\n /** Gets/sets the dense state. */\n public get propagateClick(): boolean {\n return this._propagateClick;\n }\n public set propagateClick(value: boolean) {\n if (this._propagateClick !== value) {\n this._propagateClick = value;\n this._adapter.setHostAttribute(LIST_ITEM_CONSTANTS.attributes.PROPAGATE_CLICK, '' + !!this._propagateClick);\n }\n }\n\n public get indented(): boolean {\n return this._indented;\n }\n public set indented(value: boolean) {\n if (this._indented !== value) {\n this._indented = value;\n this._adapter.setIndented(this._indented);\n this._adapter.toggleHostAttribute(LIST_ITEM_CONSTANTS.attributes.INDENTED, this._indented);\n }\n }\n\n public get wrap(): boolean {\n return this._wrap;\n }\n public set wrap(value: boolean) {\n if (this._wrap !== value) {\n this._wrap = value;\n this._adapter.setWrap(this._wrap);\n this._adapter.toggleHostAttribute(LIST_ITEM_CONSTANTS.attributes.WRAP, this._wrap);\n }\n }\n\n private async _setRipple(): Promise<void> {\n if (this._ripple && !this._static && !this._rippleInstance) {\n const { userInteraction, destroy } = await this._adapter.createUserInteractionListener();\n this._destroyUserInteractionListener = destroy;\n const { type } = await userInteraction;\n this._destroyUserInteractionListener = undefined;\n\n if (!this._adapter.isConnected) {\n return;\n }\n \n if (this._ripple && !this._static && !this._rippleInstance) {\n this._rippleInstance = this._adapter.createRipple();\n if (type === 'focusin') {\n this._rippleInstance.handleFocus();\n }\n }\n } else if ((!this._ripple || this._static) && this._rippleInstance) {\n this._rippleInstance.destroy();\n this._rippleInstance = undefined as any;\n }\n }\n\n /**\n * Sets focus to this list item.\n */\n public setFocus(): void {\n this._adapter.setFocus();\n }\n}\n", "import { CustomElement, attachShadowTemplate, requireParent, elementParents, coerceBoolean, FoundationProperty } from '@tylertech/forge-core';\nimport { ListItemAdapter } from './list-item-adapter';\nimport { ListItemFoundation } from './list-item-foundation';\nimport { IListItemSelectEventData, LIST_ITEM_CONSTANTS } from './list-item-constants';\nimport { LIST_CONSTANTS } from '../list/list-constants';\nimport { IListComponent } from '../list';\nimport { BaseComponent, IBaseComponent } from '../../core/base/base-component';\n\nconst defaultTemplate = '<template><div class=\\\"forge-list-item\\\" tabindex=\\\"0\\\" part=\\\"root\\\"><slot name=\\\"leading\\\"></slot><slot name=\\\"avatar\\\"></slot><div class=\\\"forge-list-item__text\\\" part=\\\"text-container\\\"><slot></slot><slot name=\\\"title\\\"></slot><slot name=\\\"subtitle\\\"></slot><slot name=\\\"tertiary-title\\\"></slot><slot></slot></div><slot name=\\\"trailing\\\"></slot></div></template>';\nconst styles = '@-webkit-keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@-webkit-keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@-webkit-keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}@keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}.mdc-ripple-surface{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity;position:relative;outline:0;overflow:hidden}.mdc-ripple-surface::after,.mdc-ripple-surface::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\\\"\\\"}.mdc-ripple-surface::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.mdc-ripple-surface::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.mdc-ripple-surface.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.mdc-ripple-surface.mdc-ripple-upgraded::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.mdc-ripple-surface.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-activation::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-deactivation::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.mdc-ripple-surface::after,.mdc-ripple-surface::before{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.mdc-ripple-surface.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded],.mdc-ripple-upgraded--unbounded{overflow:visible}.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::after,.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::before,.mdc-ripple-upgraded--unbounded::after,.mdc-ripple-upgraded--unbounded::before{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::before,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::before{top:var(--mdc-ripple-top,calc(50% - 50%));left:var(--mdc-ripple-left,calc(50% - 50%));width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface::after,.mdc-ripple-surface::before{background-color:#000;background-color:var(--mdc-ripple-color,#000)}.mdc-ripple-surface.mdc-ripple-surface--hover::before,.mdc-ripple-surface:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.mdc-ripple-surface.mdc-ripple-upgraded--background-focused::before,.mdc-ripple-surface:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.mdc-ripple-surface:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.mdc-ripple-surface:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.mdc-ripple-surface.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.mdc-ripple-surface::after,.mdc-ripple-surface::before{--mdc-ripple-color:var(--mdc-theme-on-surface)}.forge-list-item{min-height:32px;min-height:var(--forge-list-item-min-height,32px);max-height:none;max-height:var(--forge-list-item-max-height,none);height:32px;height:var(--forge-list-item-height,32px);padding:8px 16px;padding:var(--forge-list-item-padding,8px 16px);margin-left:0;margin-left:var(--forge-list-item-indent,0);-webkit-box-align:center;align-items:center;-webkit-box-align:var(--forge-list-item-align-items,center);align-items:var(--forge-list-item-align-items,center);position:relative;display:-webkit-box;display:flex;-webkit-box-pack:start;justify-content:flex-start;overflow:hidden}.forge-list-item:focus{outline:0}.forge-list-item ::slotted([slot=leading]),.forge-list-item ::slotted([slot=trailing]){font-size:1.5rem}.forge-list-item ::slotted([slot=leading]){color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54));margin-left:0;margin-left:var(--forge-list-item-leading-margin-left,0);margin-right:32px;margin-right:var(--forge-list-item-leading-margin-right,32px);display:-webkit-inline-box;display:inline-flex;flex-shrink:0;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;fill:currentColor}.forge-list-item ::slotted([slot=trailing]){color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-list-item ::slotted([slot=avatar]){color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54));margin-left:0;margin-left:var(--forge-list-item-leading-margin-left,0);margin-right:32px;margin-right:var(--forge-list-item-leading-margin-right,32px);display:-webkit-inline-box;display:inline-flex;flex-shrink:0;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;fill:currentColor;margin-left:0;margin-right:16px;min-width:40px;min-height:40px;border-radius:50%;display:inline-flex;background-color:rgba(0,0,0,.54);background-color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54));color:#fff;color:var(--mdc-theme-on-primary,#fff)}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item::after,.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\\\"\\\"}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item.mdc-ripple-upgraded::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item.mdc-ripple-upgraded--foreground-activation::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item.mdc-ripple-upgraded--foreground-deactivation::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item::after,.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item::before{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item::after,.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item::before{background-color:#000;background-color:var(--mdc-ripple-color,var(--mdc-theme-on-surface,#000))}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item.mdc-ripple-surface--hover::before,.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item.mdc-ripple-upgraded--background-focused::before,.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--activated::before{opacity:.12;opacity:var(--mdc-ripple-activated-opacity, .12)}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--activated::after,.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--activated::before{background-color:#3f51b5;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#3f51b5))}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--activated.mdc-ripple-surface--hover::before,.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--activated:hover::before{opacity:.16;opacity:var(--mdc-ripple-hover-opacity, .16)}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--activated.mdc-ripple-upgraded--background-focused::before,.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--activated:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-focus-opacity, .24)}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--activated:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--activated:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-press-opacity, .24)}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--activated.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.24)}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--selected::before{opacity:.08;opacity:var(--mdc-ripple-selected-opacity, .08)}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--selected::after,.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--selected::before{background-color:#3f51b5;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#3f51b5))}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--selected.mdc-ripple-surface--hover::before,.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--selected:hover::before{opacity:.12;opacity:var(--mdc-ripple-hover-opacity, .12)}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--selected.mdc-ripple-upgraded--background-focused::before,.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--selected:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.2;opacity:var(--mdc-ripple-focus-opacity, .2)}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--selected:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--selected:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.2;opacity:var(--mdc-ripple-press-opacity, .2)}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--selected.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.2)}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--selected:focus:hover.mdc-ripple-upgraded--background-focused:not(.mdc-ripple-upgraded--foreground-activation)::before{opacity:.28}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--active:not(.forge-list-item--selected):not(.forge-list-item--activated):not(.mdc-ripple-upgraded--foreground-activation)::before,.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item:focus:not(.forge-list-item--selected):not(.forge-list-item--activated):not(.mdc-ripple-upgraded--foreground-activation)::before{opacity:.12}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--active:not(.forge-list-item--selected):not(.forge-list-item--activated):not(.mdc-ripple-upgraded--foreground-activation):hover::before,.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item:focus:not(.forge-list-item--selected):not(.forge-list-item--activated):not(.mdc-ripple-upgraded--foreground-activation):hover::before{opacity:.16}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--active:not(.forge-list-item--selected):not(.forge-list-item--activated):not(.mdc-ripple-upgraded--foreground-activation)::after,.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--active:not(.forge-list-item--selected):not(.forge-list-item--activated):not(.mdc-ripple-upgraded--foreground-activation)::before,.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item:focus:not(.forge-list-item--selected):not(.forge-list-item--activated):not(.mdc-ripple-upgraded--foreground-activation)::after,.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item:focus:not(.forge-list-item--selected):not(.forge-list-item--activated):not(.mdc-ripple-upgraded--foreground-activation)::before{background-color:#000;background-color:var(--mdc-theme-on-surface,#000)}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--active:focus.forge-list-item--selected.forge-list-item--activated:not(.mdc-ripple-upgraded--foreground-activation)::before{opacity:.24}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--active:focus.forge-list-item--selected.forge-list-item--activated:not(.mdc-ripple-upgraded--foreground-activation):hover::before{opacity:.28}.forge-list-item__text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:100%}.forge-list-item ::slotted([slot=title]){text-overflow:ellipsis;white-space:nowrap;overflow:hidden;display:block}.forge-list-item ::slotted([slot=subtitle]),.forge-list-item ::slotted([slot=tertiary-title]){-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-body2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.875rem;font-size:var(--mdc-typography-body2-font-size, .875rem);line-height:1.25rem;line-height:var(--mdc-typography-body2-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-body2-font-weight,400);letter-spacing:.0178571429em;letter-spacing:var(--mdc-typography-body2-letter-spacing, .0178571429em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-body2-text-decoration,inherit);text-decoration:var(--mdc-typography-body2-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-body2-text-transform,inherit);text-overflow:ellipsis;white-space:nowrap;overflow:hidden;color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54));display:block}.forge-list-item--two-line{min-height:56px;min-height:var(--forge-list-item-min-height,56px);height:56px;height:var(--forge-list-item-height,56px)}.forge-list-item--three-line{min-height:72px;min-height:var(--forge-list-item-min-height,72px);height:72px;height:var(--forge-list-item-height,72px)}.forge-list-item--dense{min-height:16px;min-height:var(--forge-list-item-min-height,16px);height:16px;height:var(--forge-list-item-height,16px)}.forge-list-item--dense ::slotted([slot=leading]),.forge-list-item--dense ::slotted([slot=trailing]){font-size:1.25rem}.forge-list-item--dense ::slotted([slot=leading]){margin-right:12px;margin-right:var(--forge-list-item-leading-margin-right,12px)}.forge-list-item--dense ::slotted(.forge-list-item__title){-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-body2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.875rem;font-size:var(--mdc-typography-body2-font-size, .875rem);line-height:1.25rem;line-height:var(--mdc-typography-body2-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-body2-font-weight,400);letter-spacing:.0178571429em;letter-spacing:var(--mdc-typography-body2-letter-spacing, .0178571429em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-body2-text-decoration,inherit);text-decoration:var(--mdc-typography-body2-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-body2-text-transform,inherit)}.forge-list-item--dense.forge-list-item--two-line{min-height:40px;min-height:var(--forge-list-item-min-height,40px)}.forge-list-item--dense.forge-list-item--three-line{min-height:56px;min-height:var(--forge-list-item-min-height,56px)}.forge-list-item--wrap{height:auto;height:var(--forge-list-item-height,auto)}.forge-list-item--wrap .forge-list-item__text,.forge-list-item--wrap ::slotted([slot=subtitle]),.forge-list-item--wrap ::slotted([slot=tertiary-title]),.forge-list-item--wrap ::slotted([slot=title]){text-overflow:clip;white-space:normal}.forge-list-item--indented{margin-left:56px;margin-left:var(--forge-list-item-indent,56px)}.forge-list-item--active.forge-list-item--activated:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item::before,.forge-list-item--active.forge-list-item--selected:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item::before{opacity:.2}.forge-list-item--active.forge-list-item--activated:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item:hover::before,.forge-list-item--active.forge-list-item--selected:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item:hover::before{opacity:.24}.forge-list-item--activated,.forge-list-item--selected{color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.forge-list-item--activated .forge-list-item__text .forge-list-item__subtitle,.forge-list-item--activated .forge-list-item__text ::slotted(.forge-list-item__subtitle),.forge-list-item--selected .forge-list-item__text .forge-list-item__subtitle,.forge-list-item--selected .forge-list-item__text ::slotted(.forge-list-item__subtitle){color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5);opacity:.87}.forge-list-item--activated .forge-list-item__text .forge-list-item__tertiary-title,.forge-list-item--activated .forge-list-item__text ::slotted(.forge-list-item__tertiary-title),.forge-list-item--selected .forge-list-item__text .forge-list-item__tertiary-title,.forge-list-item--selected .forge-list-item__text ::slotted(.forge-list-item__tertiary-title){color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5);opacity:.87}.forge-list-item--activated ::slotted([slot=leading]),.forge-list-item--activated ::slotted([slot=trailing]),.forge-list-item--selected ::slotted([slot=leading]),.forge-list-item--selected ::slotted([slot=trailing]){color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.forge-list-item--activated ::slotted([slot=avatar].forge-list-item__avatar-icon),.forge-list-item--selected ::slotted([slot=avatar].forge-list-item__avatar-icon){background-color:rgba(0,0,0,.12);background-color:var(--mdc-theme-text-disabled-on-background,rgba(0,0,0,.12));color:#000;color:var(--mdc-theme-on-surface,#000)}.forge-list-item--disabled{cursor:not-allowed;cursor:var(--forge-list-item-cursor,not-allowed);color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38))}.forge-list-item--disabled ::slotted([slot=leading]),.forge-list-item--disabled ::slotted([slot=trailing]){cursor:not-allowed;cursor:var(--forge-list-item-cursor,not-allowed);color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38))}.forge-list-item[role=link]{cursor:pointer}:host{display:block;contain:content}:host([hidden]){display:none}:host([forge-drawer-context=true]) .forge-list-item{margin:8px;margin:var(--forge-list-item-margin,8px);padding:0 8px;padding:var(--forge-list-item-padding,0 8px);border-radius:4px;border-radius:var(--forge-list-item-border-radius,4px);cursor:pointer;cursor:var(--forge-list-item-cursor,pointer);height:40px;height:var(--forge-list-item-height,40px);font-size:.875rem;font-weight:500}:host([forge-drawer-context=true]) .forge-list-item--static{cursor:initial}:host([forge-drawer-context=true]) .forge-list-item--indented{margin-left:64px;margin-left:var(--forge-list-item-indent,64px)}:host([forge-drawer-context=true]) .forge-list-item--two-line{min-height:56px-8px;min-height:var(--forge-list-item-min-height,56px-8px);height:56px-8px;height:var(--forge-list-item-height,56px-8px)}:host([forge-drawer-context=true]) .forge-list-item--three-line{min-height:72px-8px;min-height:var(--forge-list-item-min-height,72px-8px);height:72px-8px;height:var(--forge-list-item-height,72px-8px)}:host([forge-drawer-context=true]) .forge-list-item:first-child{margin-top:4px;margin-bottom:4px}:host([forge-drawer-context=true]) .forge-list-item--dense{min-height:16px;min-height:var(--forge-list-item-min-height,16px);height:16px;height:var(--forge-list-item-height,16px)}:host([forge-drawer-context=true]) .forge-list-item--dense ::slotted([slot=leading]),:host([forge-drawer-context=true]) .forge-list-item--dense ::slotted([slot=trailing]){font-size:1.25rem}:host([forge-drawer-context=true]) .forge-list-item--dense .forge-list-item__text{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-body2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.875rem;font-size:var(--mdc-typography-body2-font-size, .875rem);line-height:1.25rem;line-height:var(--mdc-typography-body2-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-body2-font-weight,400);letter-spacing:.0178571429em;letter-spacing:var(--mdc-typography-body2-letter-spacing, .0178571429em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-body2-text-decoration,inherit);text-decoration:var(--mdc-typography-body2-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-body2-text-transform,inherit)}:host([forge-drawer-context=true]) .forge-list-item--wrap{height:auto;height:var(--forge-list-item-height,auto);padding:4px 8px;padding:var(--forge-list-item-padding,4px 8px);min-height:40px;min-height:var(--forge-list-item-min-height,40px)}:host([forge-drawer-context=true]) .forge-list-item--disabled{cursor:not-allowed;cursor:var(--forge-list-item-cursor,not-allowed)}:host([dense]){-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-body2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.875rem;font-size:var(--mdc-typography-body2-font-size, .875rem);line-height:1.25rem;line-height:var(--mdc-typography-body2-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-body2-font-weight,400);letter-spacing:.0178571429em;letter-spacing:var(--mdc-typography-body2-letter-spacing, .0178571429em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-body2-text-decoration,inherit);text-decoration:var(--mdc-typography-body2-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-body2-text-transform,inherit)}';\n\nexport interface IListItemComponent extends IBaseComponent {\n static: boolean;\n twoLine: boolean;\n threeLine: boolean;\n active: boolean;\n selected: boolean;\n value: any;\n href: string;\n target: string;\n ripple: boolean;\n disabled: boolean;\n dense: boolean;\n propagateClick: boolean;\n indented: boolean;\n wrap: boolean;\n focus(): void;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-list-item': IListItemComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-list-item-select': CustomEvent<IListItemSelectEventData>;\n }\n}\n\n/**\n * The custom element class behind the `<forge-list-item>` element.\n * \n * @tag forge-list-item\n */\n@CustomElement({\n name: LIST_ITEM_CONSTANTS.elementName\n})\nexport class ListItemComponent extends BaseComponent implements IListItemComponent {\n public static get observedAttributes(): string[] {\n return [\n LIST_ITEM_CONSTANTS.attributes.STATIC,\n LIST_ITEM_CONSTANTS.attributes.TWO_LINE,\n LIST_ITEM_CONSTANTS.attributes.THREE_LINE,\n LIST_ITEM_CONSTANTS.attributes.ACTIVE,\n LIST_ITEM_CONSTANTS.attributes.SELECTED,\n LIST_ITEM_CONSTANTS.attributes.VALUE,\n LIST_ITEM_CONSTANTS.attributes.HREF,\n LIST_ITEM_CONSTANTS.attributes.TARGET,\n LIST_ITEM_CONSTANTS.attributes.RIPPLE,\n LIST_ITEM_CONSTANTS.attributes.DISABLED,\n LIST_ITEM_CONSTANTS.attributes.DENSE,\n LIST_ITEM_CONSTANTS.attributes.PROPAGATE_CLICK,\n LIST_ITEM_CONSTANTS.attributes.INDENTED,\n LIST_ITEM_CONSTANTS.attributes.WRAP\n ];\n }\n\n private _foundation: ListItemFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, defaultTemplate, styles);\n this._foundation = new ListItemFoundation(new ListItemAdapter(this));\n }\n\n public connectedCallback(): void {\n // To simulate the :host-context() selector for Firefox until they implement it, we need to determine if the\n // list item is within a drawer for auto-styling the list item when included within a drawer. Check to see if\n // any of the parents of this element are a drawer.\n if (!this.hasAttribute(LIST_ITEM_CONSTANTS.attributes.DRAWER_CONTEXT) && elementParents(this).some(el => ['forge-drawer', 'forge-modal-drawer', 'forge-mini-drawer'].includes(el.tagName.toLowerCase()))) {\n this.setAttribute(LIST_ITEM_CONSTANTS.attributes.DRAWER_CONTEXT, 'true');\n }\n\n const list = requireParent<IListComponent>(this, LIST_CONSTANTS.elementName);\n if (list) {\n this._inheritParentListProps(list);\n }\n\n this._foundation.initialize();\n }\n\n public disconnectedCallback(): void {\n this._foundation.disconnect();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case LIST_ITEM_CONSTANTS.attributes.STATIC:\n this.static = coerceBoolean(newValue);\n break;\n case LIST_ITEM_CONSTANTS.attributes.TWO_LINE:\n this.twoLine = coerceBoolean(newValue);\n break;\n case LIST_ITEM_CONSTANTS.attributes.THREE_LINE:\n this.threeLine = coerceBoolean(newValue);\n break;\n case LIST_ITEM_CONSTANTS.attributes.ACTIVE:\n this.active = coerceBoolean(newValue);\n break;\n case LIST_ITEM_CONSTANTS.attributes.SELECTED:\n this.selected = coerceBoolean(newValue);\n break;\n case LIST_ITEM_CONSTANTS.attributes.VALUE:\n this.value = newValue;\n break;\n case LIST_ITEM_CONSTANTS.attributes.HREF:\n this.href = newValue;\n break;\n case LIST_ITEM_CONSTANTS.attributes.TARGET:\n this.target = newValue;\n break;\n case LIST_ITEM_CONSTANTS.attributes.RIPPLE:\n this.ripple = coerceBoolean(newValue);\n break;\n case LIST_ITEM_CONSTANTS.attributes.DISABLED:\n this.disabled = coerceBoolean(newValue);\n break;\n case LIST_ITEM_CONSTANTS.attributes.DENSE:\n this.dense = coerceBoolean(newValue);\n break;\n case LIST_ITEM_CONSTANTS.attributes.PROPAGATE_CLICK:\n this.propagateClick = coerceBoolean(newValue);\n break;\n case LIST_ITEM_CONSTANTS.attributes.INDENTED:\n this.indented = coerceBoolean(newValue);\n break;\n case LIST_ITEM_CONSTANTS.attributes.WRAP:\n this.wrap = coerceBoolean(newValue);\n break;\n }\n }\n\n private _inheritParentListProps(list: IListComponent): void {\n if (list.hasAttribute(LIST_CONSTANTS.attributes.STATIC)) {\n this.static = true;\n }\n if (list.hasAttribute(LIST_CONSTANTS.attributes.DENSE)) {\n this.dense = true;\n }\n if (list.getAttribute(LIST_CONSTANTS.attributes.PROPAGATE_CLICK) === 'false') {\n this.propagateClick = false;\n }\n if (list.hasAttribute(LIST_CONSTANTS.attributes.INDENTED)) {\n this.indented = true;\n }\n }\n\n /** Gets/sets whether the static state of this list item. */\n @FoundationProperty()\n public declare static: boolean;\n\n /** Gets/sets whether the list item displays two lines of text. */\n @FoundationProperty()\n public declare twoLine: boolean;\n\n /** Gets/sets whether the list item displays three lines of text. */\n @FoundationProperty()\n public declare threeLine: boolean;\n\n /** Gets/sets whether the list item is active or not. */\n @FoundationProperty()\n public declare active: boolean;\n\n /** Gets/sets whether the list item is selected or not. */\n @FoundationProperty()\n public declare selected: boolean;\n\n /** Gets/sets list item value. */\n @FoundationProperty()\n public declare value: any;\n\n /** Gets/sets the href link that this list item will send the browser to when clicked. */\n @FoundationProperty()\n public declare href: string;\n\n /** Gets/sets the href link target. Only pertains when `href` is also used. */\n @FoundationProperty()\n public declare target: string;\n\n /** Gets/sets whether the list item has a ripple or not. */\n @FoundationProperty()\n public declare ripple: boolean;\n\n /** Gets/sets whether the list item is disabled or not. */\n @FoundationProperty()\n public declare disabled: boolean;\n\n /** Gets/sets whether the list item is using dense styles or not. */\n @FoundationProperty()\n public declare dense: boolean;\n\n /** Gets/sets whether the list item allows mousedown events through to the underlying list item element. Default is true. */\n @FoundationProperty()\n public declare propagateClick: boolean;\n\n /** Gets/sets whether the list item is indented or not. Default is false. */\n @FoundationProperty()\n public declare indented: boolean;\n\n /** Gets/sets whether the list item content is wrapped or not. Default is true. */\n @FoundationProperty()\n public declare wrap: boolean;\n\n /** Sets focus to this list item. */\n public override focus(): void {\n this._foundation.setFocus();\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\nimport { ListItemComponent } from './list-item';\n\nexport * from './list-item-adapter';\nexport * from './list-item-constants';\nexport * from './list-item-foundation';\nexport * from './list-item';\n\nexport function defineListItemComponent(): void {\n defineCustomElement(ListItemComponent);\n}\n"],
5
- "mappings": "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",
6
- "names": ["elementName", "COMPONENT_NAME_PREFIX", "attributes", "events", "LIST_CONSTANTS", "elementName", "COMPONENT_NAME_PREFIX", "attributes", "classes", "selectors", "events", "roles", "LIST_ITEM_CONSTANTS", "ListItemAdapter", "BaseAdapter", "component", "getShadowElement", "LIST_ITEM_CONSTANTS", "type", "listener", "options", "ForgeRipple", "value", "addClass", "removeClass", "e", "checkable", "force", "currentState", "_a", "role", "disabled", "toggleClass", "dense", "indented", "list", "requireParent", "LIST_CONSTANTS", "isSelected", "v", "isDeepEqual", "createUserInteractionListener", "ListItemFoundation", "_adapter", "evt", "isSelected", "targetElement", "ignoreElement", "LIST_ITEM_CONSTANTS", "matchesSelectors", "data", "value", "userInteraction", "destroy", "type", "defaultTemplate", "styles", "ListItemComponent", "BaseComponent", "attachShadowTemplate", "ListItemFoundation", "ListItemAdapter", "LIST_ITEM_CONSTANTS", "elementParents", "el", "list", "requireParent", "LIST_CONSTANTS", "name", "oldValue", "newValue", "coerceBoolean", "__decorateClass", "FoundationProperty", "CustomElement", "defineListItemComponent", "defineCustomElement", "ListItemComponent"]
7
- }
@@ -1,7 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2023 Tyler Technologies, Inc.
4
- * License: Apache-2.0
5
- */
6
- import{e as E}from"./chunk.DONAMICM.js";import{d as f}from"./chunk.DBKVUCUQ.js";import{a as t}from"./chunk.IX2UHMIM.js";import{a as m}from"./chunk.CAXRISYR.js";import{a as r}from"./chunk.KTGSZEAG.js";import{g as n,l as g}from"./chunk.LJLEPTLU.js";import{f as _,g as b,m as u,o as L,s as c,t as h,z as v}from"./chunk.4LA6HEA7.js";import{k as d}from"./chunk.J2M2MXP2.js";import{f as o}from"./chunk.MCIQXNKY.js";var S=class extends m{constructor(e){super(e);this._valueChangeListeners=[]}initialize(e){this._rootElement=n(this._component,e),this._labelSlot=n(this._component,"slot[name=label]"),this._leadingSlot=n(this._component,"slot[name=leading]"),this._trailingSlot=n(this._component,"slot[name=trailing]"),this._addonEndSlot=n(this._component,"slot[name=addon-end]"),this._inputElement=this._component.querySelector("input:not([type=checkbox]):not([type=radio])"),this.detectLabel()}destroy(){this._inputMutationObserver&&this._inputMutationObserver.disconnect()}hasLabel(){return!!this._labelElement}ensureSlottedLabel(){this._labelElement.slot="label"}ensureLabelOrder(){if(this._labelElement){let e=Array.from(this._component.children);e.length>1&&e.indexOf(this._labelElement)<e.indexOf(this._inputElement)&&this._component.appendChild(this._labelElement)}}addLabelSlotListener(e){this._labelSlot.addEventListener("slotchange",e)}removeLabelSlotListener(e){this._labelSlot&&this._labelSlot.removeEventListener("slotchange",e)}addLeadingSlotListener(e){this._leadingSlot.addEventListener("slotchange",e)}removeLeadingSlotListener(e){this._leadingSlot&&this._leadingSlot.removeEventListener("slotchange",e)}addTrailingSlotListener(e){this._trailingSlot.addEventListener("slotchange",e)}removeTrailingSlotListener(e){this._trailingSlot&&this._trailingSlot.removeEventListener("slotchange",e)}addAddonEndSlotListener(e){this._addonEndSlot.addEventListener("slotchange",e)}removeAddonEndSlotListener(e){this._addonEndSlot&&this._addonEndSlot.removeEventListener("slotchange",e)}addInputListener(e,s){this._inputElement.addEventListener(e,s)}removeInputListener(e,s){this._inputElement&&this._inputElement.removeEventListener(e,s)}setValueChangedListener(e,s){this.destroyValueChangeListener();let a=E(e,this._inputElement,"value",s);this._valueChangeListeners.push(a)}destroyValueChangeListener(){this._valueChangeListeners.forEach(e=>e())}detectLabel(){this._labelElement=this._component.querySelector("label")}initializeFloatingLabel(){return new f(this._labelElement)}inputHasValue(){return this._inputElement.value?this._inputElement.value.trim().length>0:!1}fieldHasValue(){return this.inputHasValue()}hasPlaceholder(){return this._inputElement.placeholder?this._inputElement.placeholder.trim().length>0:!1}inputHasFocus(e){return this._inputElement===e||this._inputElement===c(this._component.ownerDocument)}setLabelClass(e){this._labelElement&&this._labelElement.classList.add(e)}removeLabelClass(e){this._labelElement&&this._labelElement.classList.remove(e)}isLabelFloating(){return this._component.hasAttribute(t.attributes.HOST_LABEL_FLOATING)}setRoomy(e){h(this._rootElement,e,t.classes.ROOMY)}setDense(e){h(this._rootElement,e,t.classes.DENSE)}hasLeadingNodes(){return this._leadingSlot?this._leadingSlot.assignedNodes().length>0:!1}hasTrailingNodes(){return this._trailingSlot?this._trailingSlot.assignedNodes().length>0:!1}hasAddonEndNodes(){return this._addonEndSlot?this._addonEndSlot.assignedNodes().length>0:!1}setInputClass(e){this._inputElement.classList.add(e)}removeInputClass(e){this._inputElement.classList.remove(e)}setRootClass(e){_(e,this._rootElement)}removeRootClass(e){b(e,this._rootElement)}setInputAttributeObserver(e){this._inputMutationObserver=v(this._inputElement,e,t.observedInputAttributes)}isDisabled(){return this._inputElement.hasAttribute("disabled")}isReadonly(){return this._inputElement.hasAttribute("readonly")}getLabelWidth(e,s){return L(this._labelElement.innerText,{fontSize:e,fontFamily:s})}getLabelFontMetrics(){let e=getComputedStyle(this._labelElement);return{fontSize:parseInt(e.fontSize||"16",10),fontFamily:e.fontFamily||"Roboto"}}};var y=class{constructor(i){this._adapter=i;this._density="default";this._shape="default";this._invalid=!1;this._required=!1;this._floatLabelType="auto";this._isInitialized=!1;this._labelSlotListener=e=>this._onLabelSlotChanged(e),this._leadingSlotListener=e=>this._onLeadingSlotChanged(e),this._trailingSlotListener=e=>this._onTrailingSlotChanged(e),this._addonEndSlotListener=e=>this._onAddonEndSlotChanged(e),this._focusListener=e=>this._onFocus(e),this._blurListener=e=>this._onBlur(e),this._valueChangedListener=e=>this._onValueChanged(e),this._inputAttributeChangedListener=(e,s)=>this._onInputAttributeChanged(e,s)}initialize(){this._adapter.initialize(""),this._adapter.hasLabel()&&this._adapter.ensureSlottedLabel(),this._initializeLabel(),this._adapter.hasPlaceholder()&&(this._floatLabelType="always"),this._detectSlottedContent(),this._adapter.addLabelSlotListener(this._labelSlotListener),this._adapter.addLeadingSlotListener(this._leadingSlotListener),this._adapter.addTrailingSlotListener(this._trailingSlotListener),this._adapter.addAddonEndSlotListener(this._addonEndSlotListener),this._adapter.setValueChangedListener(this,this._valueChangedListener),this._adapter.addInputListener("focus",this._focusListener),this._adapter.addInputListener("blur",this._blurListener),this._adapter.setInputAttributeObserver(this._inputAttributeChangedListener),this._applyDensity(),this._setShapeType(),this._setValidity(),this._adapter.isDisabled()?this._adapter.setRootClass(t.classes.DISABLED):this._adapter.removeRootClass(t.classes.DISABLED),this._adapter.isReadonly()?this._adapter.setRootClass(t.classes.READONLY):this._adapter.removeRootClass(t.classes.READONLY),this._floatLabelType==="always"&&this.floatLabel(!0),this._isInitialized=!0}disconnect(){this._isInitialized=!1,this._adapter.destroy(),this._adapter.removeHostAttribute(t.attributes.HOST_LABEL_FLOATING),this._adapter.removeRootClass(t.classes.LABEL),this._floatingLabel&&(this._floatingLabel.destroy(),this._floatingLabel=void 0),this._adapter.removeLabelSlotListener(this._labelSlotListener),this._adapter.removeLeadingSlotListener(this._leadingSlotListener),this._adapter.removeTrailingSlotListener(this._trailingSlotListener),this._adapter.removeAddonEndSlotListener(this._addonEndSlotListener),this._adapter.removeInputListener("focus",this._focusListener),this._adapter.removeInputListener("blur",this._blurListener),this._adapter.destroyValueChangeListener()}get density(){return this._density}set density(i){if(this._density!==i){let e=this._density;this._density=i,this._isInitialized&&(this._applyDensity(),this._density==="dense"?this._destroyFloatingLabel({cancelFloat:!0}):e==="dense"&&this._initializeLabel()),this._adapter.setHostAttribute(t.attributes.DENSITY,this._density.toString())}}get floatLabelType(){return this._floatLabelType}set floatLabelType(i){this._floatLabelType!==i&&(this._floatLabelType=i,this._isInitialized&&this.floatLabel(this._floatLabelType==="always"),this._adapter.setHostAttribute(t.attributes.FLOAT_LABEL_TYPE,this._floatLabelType))}get shape(){return this._shape}set shape(i){this._shape!==i&&(this._shape=i,this._isInitialized&&this._setShapeType(),this._adapter.setHostAttribute(t.attributes.SHAPE,this._shape))}get invalid(){return this._invalid}set invalid(i){this._invalid!==i&&(this._invalid=i,this._isInitialized&&this._setValidity())}get required(){return this._required}set required(i){this._required!==i&&(this._required=i,this._isInitialized&&this._setValidity(),this._required?this._adapter.setHostAttribute(t.attributes.REQUIRED):this._adapter.removeHostAttribute(t.attributes.REQUIRED))}floatLabel(i){var e,s;if(((e=this._floatingLabel)==null?void 0:e.isFloating)===i||this._adapter.isLabelFloating()===i){i&&this._adapter.setHostAttribute(t.attributes.HOST_LABEL_FLOATING,"");return}if(!i&&this._floatLabelType==="always"){(s=this._floatingLabel)==null||s.float(!0,!0),this._adapter.setHostAttribute(t.attributes.HOST_LABEL_FLOATING,"");return}this._floatingLabel&&(this._floatingLabel.float(i,this._floatLabelType==="always"),i?(this._adapter.setInputClass(t.classes.INPUT_FOCUSED),this._adapter.setHostAttribute(t.attributes.HOST_LABEL_FLOATING,"")):(this._adapter.removeInputClass(t.classes.INPUT_FOCUSED),this._adapter.removeHostAttribute(t.attributes.HOST_LABEL_FLOATING)))}_onLabelSlotChanged(i){this._initializeLabel()}_onLeadingSlotChanged(i){this._detectLeadingContent()}_onTrailingSlotChanged(i){this._detectTrailingContent()}_onAddonEndSlotChanged(i){this._detectAddonEndContent()}_initializeLabel(){var i;(i=this._floatingLabel)==null||i.destroy(),this._adapter.detectLabel(),this._adapter.hasLabel()&&this._density!=="dense"?(this._floatingLabel=this._adapter.initializeFloatingLabel(),this._adapter.ensureLabelOrder(),this.floatLabel(this._floatLabelType==="always"||this._adapter.fieldHasValue()||this._adapter.hasPlaceholder()),this._adapter.setRootClass(t.classes.LABEL)):this._destroyFloatingLabel()}_destroyFloatingLabel({cancelFloat:i=!1}={}){var e;this._adapter.removeHostAttribute(t.attributes.HOST_LABEL_FLOATING),this._adapter.removeRootClass(t.classes.LABEL),(e=this._floatingLabel)==null||e.destroy({cancelFloat:i}),this._floatingLabel=void 0}_detectLeadingContent(){this._adapter.hasLeadingNodes()?this._adapter.setRootClass(t.classes.LEADING):this._adapter.removeRootClass(t.classes.LEADING)}_detectTrailingContent(){this._adapter.hasTrailingNodes()?this._adapter.setRootClass(t.classes.TRAILING):this._adapter.removeRootClass(t.classes.TRAILING)}_detectAddonEndContent(){this._adapter.hasAddonEndNodes()?this._adapter.setRootClass(t.classes.ADDON_END):this._adapter.removeRootClass(t.classes.ADDON_END)}_detectSlottedContent(){this._detectLeadingContent(),this._detectTrailingContent(),this._detectAddonEndContent()}_onFocus(i){this._adapter.setRootClass(t.classes.FOCUSED),this._adapter.setLabelClass(t.classes.LABEL_FOCUSED),this.floatLabel(!0)}_onBlur(i){this._adapter.inputHasFocus(i.relatedTarget)||(this._adapter.removeRootClass(t.classes.FOCUSED),this._adapter.removeLabelClass(t.classes.LABEL_FOCUSED),!this._adapter.fieldHasValue()&&!this._adapter.hasPlaceholder()&&(this.floatLabel(!1),this._adapter.removeHostAttribute(t.attributes.HOST_LABEL_FLOATING)))}_onValueChanged(i){this._adapter.fieldHasValue()?this.floatLabel(!0):!this._adapter.inputHasFocus()&&!this._adapter.hasPlaceholder()&&this.floatLabel(!1)}_onInputAttributeChanged(i,e){switch(this._adapter.isDisabled()?(this._adapter.setRootClass(t.classes.DISABLED),this._adapter.removeRootClass(t.classes.FOCUSED),this._adapter.removeInputClass(t.classes.INPUT_FOCUSED),this._adapter.removeLabelClass(t.classes.LABEL_FOCUSED),!this._adapter.fieldHasValue()&&!this._adapter.hasPlaceholder()&&this._floatingLabel&&this.floatLabel(!1)):this._adapter.removeRootClass(t.classes.DISABLED),this._adapter.isReadonly()?this._adapter.setRootClass(t.classes.READONLY):(this._adapter.removeRootClass(t.classes.READONLY),this._adapter.removeRootClass(t.classes.FOCUSED),this._adapter.removeInputClass(t.classes.INPUT_FOCUSED)),i){case"readonly":case"disabled":this._adapter.inputHasFocus()&&(this._adapter.setRootClass(t.classes.FOCUSED),this._adapter.setInputClass(t.classes.INPUT_FOCUSED),this._adapter.setLabelClass(t.classes.LABEL_FOCUSED));break;case"value":this._floatingLabel&&this.floatLabel(this._adapter.fieldHasValue());break;case"placeholder":if(this._floatingLabel){let s=!!e&&!!e.trim()||this._adapter.fieldHasValue();s!==this._floatingLabel.isFloating&&this.floatLabel(s)}break}}_setShapeType(){this._shape==="rounded"?this._adapter.setRootClass(t.classes.SHAPE_ROUNDED):this._adapter.removeRootClass(t.classes.SHAPE_ROUNDED)}_setValidity(){this._invalid?this._adapter.setRootClass(t.classes.INVALID):this._adapter.removeRootClass(t.classes.INVALID),this._required?this._adapter.setRootClass(t.classes.REQUIRED):this._adapter.removeRootClass(t.classes.REQUIRED)}_applyDensity(){this._adapter.setRoomy(this._density==="roomy"),this._adapter.setDense(this._density==="dense")}};var l=class extends g{constructor(){super()}static get observedAttributes(){return[t.attributes.DENSITY,t.attributes.FLOAT_LABEL_TYPE,t.attributes.SHAPE,t.attributes.INVALID,t.attributes.REQUIRED]}connectedCallback(){this.querySelector(t.selectors.INPUT)?this._initialize():u(this,t.selectors.INPUT).then(()=>this._initialize())}_initialize(){this._foundation.initialize()}disconnectedCallback(){this._foundation.disconnect()}attributeChangedCallback(e,s,a){switch(e){case t.attributes.DENSITY:this.density=a;break;case t.attributes.FLOAT_LABEL_TYPE:this.floatLabelType=a;break;case t.attributes.SHAPE:this.shape=a;break;case t.attributes.INVALID:this.invalid=d(a);break;case t.attributes.REQUIRED:this.required=d(a);break}}floatLabel(e){this._foundation.floatLabel(e)}};o([r()],l.prototype,"density",2),o([r()],l.prototype,"floatLabelType",2),o([r()],l.prototype,"shape",2),o([r()],l.prototype,"invalid",2),o([r()],l.prototype,"required",2);export{S as a,y as b,l as c};
7
- //# sourceMappingURL=chunk.UVFZTSBV.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/field/field-adapter.ts", "../../src/field/field-foundation.ts", "../../src/field/field.ts"],
4
- "sourcesContent": ["import { addClass, calculateFontWidth, getShadowElement, IFontInfo, listenOwnProperty, Platform, removeClass, getActiveElement, createElementAttributeObserver, toggleClass, toggleAttribute } from '@tylertech/forge-core';\nimport { BaseAdapter, IBaseAdapter } from '../core/base/base-adapter';\nimport { FloatingLabel, IFloatingLabel } from '../floating-label/floating-label';\nimport { IFieldComponent } from './field';\nimport { FIELD_CONSTANTS } from './field-constants';\n\nexport interface IFieldAdapter extends IBaseAdapter {\n // root\n setRootClass(classes: string | string[]): void;\n removeRootClass(classes: string | string[]): void;\n\n // input\n addInputListener(type: string, listener: (evt: Event) => void): void;\n removeInputListener(type: string, listener: (evt: Event) => void): void;\n setInputClass(className: string): void;\n removeInputClass(className: string): void;\n\n // label\n addLabelSlotListener(listener: (evt: Event) => void): void;\n removeLabelSlotListener(listener: (evt: Event) => void): void;\n setLabelClass(name: string): void;\n removeLabelClass(name: string): void;\n isLabelFloating(): boolean;\n\n // leading\n addLeadingSlotListener(listener: (evt: Event) => void): void;\n removeLeadingSlotListener(listener: (evt: Event) => void): void;\n\n // trailing\n addTrailingSlotListener(listener: (evt: Event) => void): void;\n removeTrailingSlotListener(listener: (evt: Event) => void): void;\n\n // add on end\n addAddonEndSlotListener(listener: (evt: Event) => void): void;\n removeAddonEndSlotListener(listener: (evt: Event) => void): void;\n\n // state selectors\n hasAddonEndNodes(): boolean;\n hasLabel(): boolean;\n hasLeadingNodes(): boolean;\n hasPlaceholder(): boolean;\n hasTrailingNodes(): boolean;\n inputHasFocus(target?: EventTarget | null): boolean;\n inputHasValue(): boolean;\n fieldHasValue(): boolean;\n isDisabled(): boolean;\n isReadonly(): boolean;\n getLabelFontMetrics(): IFontInfo;\n getLabelWidth(fontSize: number, fontFamily: string): number;\n\n // state actions\n initialize(rootSelector: string): void;\n initializeFloatingLabel(): IFloatingLabel;\n ensureLabelOrder(): void;\n ensureSlottedLabel(): void;\n destroy(): void;\n setValueChangedListener(context: any, listener: (value: any) => void): void;\n destroyValueChangeListener(): void;\n detectLabel(): void;\n setRoomy(isRoomy: boolean): void;\n setDense(isDense: boolean): void;\n setInputAttributeObserver(listener: (name: string, value: string | null) => void): void;\n}\n\nexport class FieldAdapter extends BaseAdapter<IFieldComponent> implements IFieldAdapter {\n protected _rootElement: HTMLElement;\n protected _labelSlot: HTMLSlotElement;\n protected _leadingSlot: HTMLSlotElement;\n protected _trailingSlot: HTMLSlotElement;\n protected _addonEndSlot: HTMLSlotElement;\n protected _labelElement: HTMLLabelElement;\n protected _inputElement: HTMLInputElement;\n protected _inputMutationObserver: MutationObserver;\n protected _valueChangeListeners: Array<() => void> = [];\n\n constructor(component: IFieldComponent) {\n super(component);\n }\n\n public initialize(rootSelector: string): void {\n this._rootElement = getShadowElement(this._component, rootSelector);\n this._labelSlot = getShadowElement(this._component, 'slot[name=label]') as HTMLSlotElement;\n this._leadingSlot = getShadowElement(this._component, 'slot[name=leading]') as HTMLSlotElement;\n this._trailingSlot = getShadowElement(this._component, 'slot[name=trailing]') as HTMLSlotElement;\n this._addonEndSlot = getShadowElement(this._component, 'slot[name=addon-end]') as HTMLSlotElement;\n this._inputElement = this._component.querySelector('input:not([type=checkbox]):not([type=radio])') as HTMLInputElement;\n this.detectLabel();\n }\n\n public destroy(): void {\n if (this._inputMutationObserver) {\n this._inputMutationObserver.disconnect();\n }\n }\n\n public hasLabel(): boolean {\n return !!this._labelElement;\n }\n\n public ensureSlottedLabel(): void {\n this._labelElement.slot = 'label';\n }\n\n public ensureLabelOrder(): void {\n if (this._labelElement) {\n const children = Array.from(this._component.children);\n if (children.length > 1 && children.indexOf(this._labelElement) < children.indexOf(this._inputElement)) {\n this._component.appendChild(this._labelElement);\n }\n }\n }\n\n public addLabelSlotListener(listener: (evt: Event) => void): void {\n this._labelSlot.addEventListener('slotchange', listener);\n }\n\n public removeLabelSlotListener(listener: (evt: Event) => void): void {\n if (this._labelSlot) {\n this._labelSlot.removeEventListener('slotchange', listener);\n }\n }\n\n public addLeadingSlotListener(listener: (evt: Event) => void): void {\n this._leadingSlot.addEventListener('slotchange', listener);\n }\n\n public removeLeadingSlotListener(listener: (evt: Event) => void): void {\n if (this._leadingSlot) {\n this._leadingSlot.removeEventListener('slotchange', listener);\n }\n }\n\n public addTrailingSlotListener(listener: (evt: Event) => void): void {\n this._trailingSlot.addEventListener('slotchange', listener);\n }\n\n public removeTrailingSlotListener(listener: (evt: Event) => void): void {\n if (this._trailingSlot) {\n this._trailingSlot.removeEventListener('slotchange', listener);\n }\n }\n\n public addAddonEndSlotListener(listener: (evt: Event) => void): void {\n this._addonEndSlot.addEventListener('slotchange', listener);\n }\n\n public removeAddonEndSlotListener(listener: (evt: Event) => void): void {\n if (this._addonEndSlot) {\n this._addonEndSlot.removeEventListener('slotchange', listener);\n }\n }\n\n public addInputListener(type: string, listener: (evt: Event) => void): void {\n this._inputElement.addEventListener(type, listener);\n }\n public removeInputListener(type: string, listener: (evt: Event) => void): void {\n if (this._inputElement) {\n this._inputElement.removeEventListener(type, listener);\n }\n }\n\n public setValueChangedListener(context: any, listener: (value: any) => void): void {\n this.destroyValueChangeListener();\n const destroyListener = listenOwnProperty(context, this._inputElement, 'value', listener);\n this._valueChangeListeners.push(destroyListener);\n }\n\n public destroyValueChangeListener(): void {\n this._valueChangeListeners.forEach(cb => cb());\n }\n\n public detectLabel(): void {\n this._labelElement = this._component.querySelector('label') as HTMLLabelElement;\n }\n\n public initializeFloatingLabel(): IFloatingLabel {\n return new FloatingLabel(this._labelElement);\n }\n\n public inputHasValue(): boolean {\n return this._inputElement.value ? this._inputElement.value.trim().length > 0 : false;\n }\n\n // An overrideable method for more generic field values where input.value is not the value.\n public fieldHasValue(): boolean {\n return this.inputHasValue();\n }\n\n public hasPlaceholder(): boolean {\n return this._inputElement.placeholder ? this._inputElement.placeholder.trim().length > 0 : false;\n }\n\n public inputHasFocus(target?: EventTarget | null): boolean {\n return this._inputElement === target || this._inputElement === getActiveElement(this._component.ownerDocument);\n }\n\n public setLabelClass(name: string): void {\n if (this._labelElement) {\n this._labelElement.classList.add(name);\n }\n }\n\n public removeLabelClass(name: string): void {\n if (this._labelElement) {\n this._labelElement.classList.remove(name);\n }\n }\n\n public isLabelFloating(): boolean {\n return this._component.hasAttribute(FIELD_CONSTANTS.attributes.HOST_LABEL_FLOATING);\n }\n\n public setRoomy(isRoomy: boolean): void {\n toggleClass(this._rootElement, isRoomy, FIELD_CONSTANTS.classes.ROOMY);\n }\n\n public setDense(isDense: boolean): void {\n toggleClass(this._rootElement, isDense, FIELD_CONSTANTS.classes.DENSE);\n }\n\n public hasLeadingNodes(): boolean {\n if (!this._leadingSlot) {\n return false;\n }\n return this._leadingSlot.assignedNodes().length > 0;\n }\n\n public hasTrailingNodes(): boolean {\n if (!this._trailingSlot) {\n return false;\n }\n return this._trailingSlot.assignedNodes().length > 0;\n }\n\n public hasAddonEndNodes(): boolean {\n if (!this._addonEndSlot) {\n return false;\n }\n return this._addonEndSlot.assignedNodes().length > 0;\n }\n\n public setInputClass(className: string): void {\n this._inputElement.classList.add(className);\n }\n\n public removeInputClass(className: string): void {\n this._inputElement.classList.remove(className);\n }\n\n public setRootClass(classes: string | string[]): void {\n addClass(classes, this._rootElement);\n }\n\n public removeRootClass(classes: string | string[]): void {\n removeClass(classes, this._rootElement);\n }\n\n public setInputAttributeObserver(listener: (name: string, value: string | null) => void): void {\n this._inputMutationObserver = createElementAttributeObserver(this._inputElement, listener, FIELD_CONSTANTS.observedInputAttributes);\n }\n\n public isDisabled(): boolean {\n return this._inputElement.hasAttribute('disabled');\n }\n\n public isReadonly(): boolean {\n return this._inputElement.hasAttribute('readonly');\n }\n\n public getLabelWidth(fontSize: number, fontFamily: string): number {\n return calculateFontWidth(this._labelElement.innerText, { fontSize, fontFamily });\n }\n\n public getLabelFontMetrics(): IFontInfo {\n const style = getComputedStyle(this._labelElement);\n return {\n fontSize: parseInt(style.fontSize || '16', 10),\n fontFamily: style.fontFamily || 'Roboto'\n };\n }\n}\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\nimport { IFloatingLabel } from '../floating-label/floating-label';\nimport { IFieldAdapter } from './field-adapter';\nimport { FIELD_CONSTANTS, FieldFloatLabelType, FieldShapeType, FieldDensityType } from './field-constants';\n\nexport interface IFieldFoundation extends ICustomElementFoundation {\n density: FieldDensityType;\n floatLabelType: FieldFloatLabelType;\n shape: FieldShapeType;\n invalid: boolean;\n required: boolean;\n floatLabel(value: boolean, alwaysFloat?: boolean): void;\n}\n\nexport class FieldFoundation {\n protected _density: FieldDensityType = 'default';\n protected _floatingLabel: IFloatingLabel | undefined;\n protected _shape: FieldShapeType = 'default';\n protected _invalid = false;\n protected _required = false;\n protected _floatLabelType: FieldFloatLabelType = 'auto';\n protected _isInitialized = false;\n protected _labelSlotListener: (evt: Event) => void;\n protected _leadingSlotListener: (evt: Event) => void;\n protected _trailingSlotListener: (evt: Event) => void;\n protected _addonEndSlotListener: (evt: Event) => void;\n protected _focusListener: (evt: Event) => void;\n protected _blurListener: (evt: Event) => void;\n protected _valueChangedListener: (value: any) => void;\n protected _inputAttributeChangedListener: (name: string, value: string) => void;\n\n constructor(protected _adapter: IFieldAdapter) {\n this._labelSlotListener = evt => this._onLabelSlotChanged(evt);\n this._leadingSlotListener = evt => this._onLeadingSlotChanged(evt);\n this._trailingSlotListener = evt => this._onTrailingSlotChanged(evt);\n this._addonEndSlotListener = evt => this._onAddonEndSlotChanged(evt);\n this._focusListener = (evt: FocusEvent) => this._onFocus(evt);\n this._blurListener = (evt: FocusEvent) => this._onBlur(evt);\n this._valueChangedListener = (value: any) => this._onValueChanged(value);\n this._inputAttributeChangedListener = (name, value) => this._onInputAttributeChanged(name, value);\n }\n\n //\n // Public\n //\n\n public initialize(): void {\n this._adapter.initialize('');\n\n if (this._adapter.hasLabel()) {\n this._adapter.ensureSlottedLabel();\n }\n\n this._initializeLabel();\n\n if (this._adapter.hasPlaceholder()) {\n this._floatLabelType = 'always';\n }\n\n this._detectSlottedContent();\n this._adapter.addLabelSlotListener(this._labelSlotListener);\n this._adapter.addLeadingSlotListener(this._leadingSlotListener);\n this._adapter.addTrailingSlotListener(this._trailingSlotListener);\n this._adapter.addAddonEndSlotListener(this._addonEndSlotListener);\n this._adapter.setValueChangedListener(this, this._valueChangedListener);\n this._adapter.addInputListener('focus', this._focusListener);\n this._adapter.addInputListener('blur', this._blurListener);\n this._adapter.setInputAttributeObserver(this._inputAttributeChangedListener);\n this._applyDensity();\n this._setShapeType();\n this._setValidity();\n\n if (this._adapter.isDisabled()) {\n this._adapter.setRootClass(FIELD_CONSTANTS.classes.DISABLED);\n } else {\n this._adapter.removeRootClass(FIELD_CONSTANTS.classes.DISABLED);\n }\n\n if (this._adapter.isReadonly()) {\n this._adapter.setRootClass(FIELD_CONSTANTS.classes.READONLY);\n } else {\n this._adapter.removeRootClass(FIELD_CONSTANTS.classes.READONLY);\n }\n\n if (this._floatLabelType === 'always') {\n this.floatLabel(true);\n }\n\n this._isInitialized = true;\n }\n\n public disconnect(): void {\n this._isInitialized = false;\n this._adapter.destroy();\n\n this._adapter.removeHostAttribute(FIELD_CONSTANTS.attributes.HOST_LABEL_FLOATING);\n this._adapter.removeRootClass(FIELD_CONSTANTS.classes.LABEL);\n\n if (this._floatingLabel) {\n this._floatingLabel.destroy();\n this._floatingLabel = undefined;\n }\n\n this._adapter.removeLabelSlotListener(this._labelSlotListener);\n this._adapter.removeLeadingSlotListener(this._leadingSlotListener);\n this._adapter.removeTrailingSlotListener(this._trailingSlotListener);\n this._adapter.removeAddonEndSlotListener(this._addonEndSlotListener);\n this._adapter.removeInputListener('focus', this._focusListener);\n this._adapter.removeInputListener('blur', this._blurListener);\n this._adapter.destroyValueChangeListener();\n }\n\n public get density(): FieldDensityType {\n return this._density;\n }\n public set density(value: FieldDensityType) {\n if (this._density !== value) {\n const prevDensity = this._density;\n this._density = value;\n\n if (this._isInitialized) {\n this._applyDensity();\n\n if (this._density === 'dense') {\n this._destroyFloatingLabel({ cancelFloat: true });\n } else if (prevDensity === 'dense') {\n this._initializeLabel();\n }\n }\n\n this._adapter.setHostAttribute(FIELD_CONSTANTS.attributes.DENSITY, this._density.toString());\n }\n }\n\n public get floatLabelType(): FieldFloatLabelType {\n return this._floatLabelType;\n }\n public set floatLabelType(value: FieldFloatLabelType) {\n if (this._floatLabelType !== value) {\n this._floatLabelType = value;\n\n if (this._isInitialized) {\n this.floatLabel(this._floatLabelType === 'always');\n }\n\n this._adapter.setHostAttribute(FIELD_CONSTANTS.attributes.FLOAT_LABEL_TYPE, this._floatLabelType);\n }\n }\n\n public get shape(): FieldShapeType {\n return this._shape;\n }\n public set shape(value: FieldShapeType) {\n if (this._shape !== value) {\n this._shape = value;\n\n if (this._isInitialized) {\n this._setShapeType();\n }\n\n this._adapter.setHostAttribute(FIELD_CONSTANTS.attributes.SHAPE, this._shape);\n }\n }\n\n public get invalid(): boolean {\n return this._invalid;\n }\n public set invalid(value: boolean) {\n if (this._invalid !== value) {\n this._invalid = value;\n\n if (this._isInitialized) {\n this._setValidity();\n }\n }\n }\n\n public get required(): boolean {\n return this._required;\n }\n public set required(value: boolean) {\n if (this._required !== value) {\n this._required = value;\n\n if (this._isInitialized) {\n this._setValidity();\n }\n\n if (this._required) {\n this._adapter.setHostAttribute(FIELD_CONSTANTS.attributes.REQUIRED);\n } else {\n this._adapter.removeHostAttribute(FIELD_CONSTANTS.attributes.REQUIRED);\n }\n }\n }\n\n public floatLabel(value: boolean): void {\n if (this._floatingLabel?.isFloating === value || this._adapter.isLabelFloating() === value) {\n if (value) {\n this._adapter.setHostAttribute(FIELD_CONSTANTS.attributes.HOST_LABEL_FLOATING, '');\n }\n return;\n }\n\n if (!value && this._floatLabelType === 'always') {\n this._floatingLabel?.float(true, true);\n this._adapter.setHostAttribute(FIELD_CONSTANTS.attributes.HOST_LABEL_FLOATING, '');\n return;\n }\n\n if (this._floatingLabel) {\n this._floatingLabel.float(value, this._floatLabelType === 'always');\n\n if (value) {\n this._adapter.setInputClass(FIELD_CONSTANTS.classes.INPUT_FOCUSED);\n this._adapter.setHostAttribute(FIELD_CONSTANTS.attributes.HOST_LABEL_FLOATING, '');\n } else {\n this._adapter.removeInputClass(FIELD_CONSTANTS.classes.INPUT_FOCUSED);\n this._adapter.removeHostAttribute(FIELD_CONSTANTS.attributes.HOST_LABEL_FLOATING);\n }\n }\n }\n\n //\n // Protected\n //\n\n protected _onLabelSlotChanged(evt: Event): void {\n this._initializeLabel();\n }\n\n protected _onLeadingSlotChanged(evt: Event): void {\n this._detectLeadingContent();\n }\n\n protected _onTrailingSlotChanged(evt: Event): void {\n this._detectTrailingContent();\n }\n\n protected _onAddonEndSlotChanged(evt: Event): void {\n this._detectAddonEndContent();\n }\n\n protected _initializeLabel(): void {\n this._floatingLabel?.destroy();\n this._adapter.detectLabel();\n \n if (this._adapter.hasLabel() && this._density !== 'dense') {\n this._floatingLabel = this._adapter.initializeFloatingLabel();\n this._adapter.ensureLabelOrder();\n this.floatLabel(this._floatLabelType === 'always' || this._adapter.fieldHasValue() || this._adapter.hasPlaceholder());\n this._adapter.setRootClass(FIELD_CONSTANTS.classes.LABEL);\n } else {\n this._destroyFloatingLabel();\n }\n }\n\n private _destroyFloatingLabel({ cancelFloat = false } = {}): void {\n this._adapter.removeHostAttribute(FIELD_CONSTANTS.attributes.HOST_LABEL_FLOATING);\n this._adapter.removeRootClass(FIELD_CONSTANTS.classes.LABEL);\n this._floatingLabel?.destroy({ cancelFloat });\n this._floatingLabel = undefined;\n }\n\n protected _detectLeadingContent(): void {\n if (this._adapter.hasLeadingNodes()) {\n this._adapter.setRootClass(FIELD_CONSTANTS.classes.LEADING);\n } else {\n this._adapter.removeRootClass(FIELD_CONSTANTS.classes.LEADING);\n }\n }\n\n protected _detectTrailingContent(): void {\n if (this._adapter.hasTrailingNodes()) {\n this._adapter.setRootClass(FIELD_CONSTANTS.classes.TRAILING);\n } else {\n this._adapter.removeRootClass(FIELD_CONSTANTS.classes.TRAILING);\n }\n }\n\n protected _detectAddonEndContent(): void {\n if (this._adapter.hasAddonEndNodes()) {\n this._adapter.setRootClass(FIELD_CONSTANTS.classes.ADDON_END);\n } else {\n this._adapter.removeRootClass(FIELD_CONSTANTS.classes.ADDON_END);\n }\n }\n\n protected _detectSlottedContent(): void {\n this._detectLeadingContent();\n this._detectTrailingContent();\n this._detectAddonEndContent();\n }\n\n protected _onFocus(evt: FocusEvent): void {\n this._adapter.setRootClass(FIELD_CONSTANTS.classes.FOCUSED);\n this._adapter.setLabelClass(FIELD_CONSTANTS.classes.LABEL_FOCUSED);\n this.floatLabel(true);\n }\n\n protected _onBlur(evt: FocusEvent): void {\n if (this._adapter.inputHasFocus(evt.relatedTarget)) {\n return;\n }\n\n this._adapter.removeRootClass(FIELD_CONSTANTS.classes.FOCUSED);\n this._adapter.removeLabelClass(FIELD_CONSTANTS.classes.LABEL_FOCUSED);\n\n if (!this._adapter.fieldHasValue() && !this._adapter.hasPlaceholder()) {\n this.floatLabel(false);\n this._adapter.removeHostAttribute(FIELD_CONSTANTS.attributes.HOST_LABEL_FLOATING);\n }\n }\n\n protected _onValueChanged(value: any): void {\n if (this._adapter.fieldHasValue()) {\n this.floatLabel(true);\n } else if (!this._adapter.inputHasFocus() && !this._adapter.hasPlaceholder()) {\n this.floatLabel(false);\n }\n }\n\n protected _onInputAttributeChanged(name: string, value: string | null): void {\n if (this._adapter.isDisabled()) {\n this._adapter.setRootClass(FIELD_CONSTANTS.classes.DISABLED);\n this._adapter.removeRootClass(FIELD_CONSTANTS.classes.FOCUSED);\n this._adapter.removeInputClass(FIELD_CONSTANTS.classes.INPUT_FOCUSED);\n this._adapter.removeLabelClass(FIELD_CONSTANTS.classes.LABEL_FOCUSED);\n\n if (!this._adapter.fieldHasValue() && !this._adapter.hasPlaceholder() && this._floatingLabel) {\n this.floatLabel(false);\n }\n } else {\n this._adapter.removeRootClass(FIELD_CONSTANTS.classes.DISABLED);\n }\n\n if (this._adapter.isReadonly()) {\n this._adapter.setRootClass(FIELD_CONSTANTS.classes.READONLY);\n } else {\n this._adapter.removeRootClass(FIELD_CONSTANTS.classes.READONLY);\n this._adapter.removeRootClass(FIELD_CONSTANTS.classes.FOCUSED);\n this._adapter.removeInputClass(FIELD_CONSTANTS.classes.INPUT_FOCUSED);\n }\n\n switch (name) {\n case 'readonly':\n case 'disabled':\n // If we are changing the readonly or disabled attribute, we want to make sure that we apply\n // the focus state properly if the input element also now has focus\n if (this._adapter.inputHasFocus()) {\n this._adapter.setRootClass(FIELD_CONSTANTS.classes.FOCUSED);\n this._adapter.setInputClass(FIELD_CONSTANTS.classes.INPUT_FOCUSED);\n this._adapter.setLabelClass(FIELD_CONSTANTS.classes.LABEL_FOCUSED);\n }\n break;\n case 'value':\n if (this._floatingLabel) {\n this.floatLabel(this._adapter.fieldHasValue());\n }\n break;\n case 'placeholder':\n if (this._floatingLabel) {\n const float = (!!value && !!value.trim()) || this._adapter.fieldHasValue();\n if (float !== this._floatingLabel.isFloating) {\n this.floatLabel(float);\n }\n }\n break;\n }\n }\n\n protected _setShapeType(): void {\n if (this._shape === 'rounded') {\n this._adapter.setRootClass(FIELD_CONSTANTS.classes.SHAPE_ROUNDED);\n } else {\n this._adapter.removeRootClass(FIELD_CONSTANTS.classes.SHAPE_ROUNDED);\n }\n }\n\n protected _setValidity(): void {\n if (this._invalid) {\n this._adapter.setRootClass(FIELD_CONSTANTS.classes.INVALID);\n } else {\n this._adapter.removeRootClass(FIELD_CONSTANTS.classes.INVALID);\n }\n\n if (this._required) {\n this._adapter.setRootClass(FIELD_CONSTANTS.classes.REQUIRED);\n } else {\n this._adapter.removeRootClass(FIELD_CONSTANTS.classes.REQUIRED);\n }\n }\n\n protected _applyDensity(): void {\n this._adapter.setRoomy(this._density === 'roomy');\n this._adapter.setDense(this._density === 'dense');\n }\n}\n", "import { FieldDensityType, FieldFloatLabelType, FieldShapeType, FIELD_CONSTANTS } from './field-constants';\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\nimport { FieldFoundation } from './field-foundation';\nimport { coerceBoolean, ensureChild, FoundationProperty } from '@tylertech/forge-core';\n\nexport interface IFieldComponent extends IBaseComponent {\n density: FieldDensityType;\n floatLabelType: FieldFloatLabelType;\n shape: FieldShapeType;\n invalid: boolean;\n required: boolean;\n floatLabel(value: boolean): void;\n}\n\nexport abstract class FieldComponent<T extends FieldFoundation> extends BaseComponent implements IFieldComponent {\n public static get observedAttributes(): string[] {\n return [\n FIELD_CONSTANTS.attributes.DENSITY,\n FIELD_CONSTANTS.attributes.FLOAT_LABEL_TYPE,\n FIELD_CONSTANTS.attributes.SHAPE,\n FIELD_CONSTANTS.attributes.INVALID,\n FIELD_CONSTANTS.attributes.REQUIRED\n ];\n }\n\n protected _foundation: T;\n\n constructor() {\n super();\n }\n\n public connectedCallback(): void {\n if (this.querySelector(FIELD_CONSTANTS.selectors.INPUT)) {\n this._initialize();\n } else {\n ensureChild(this, FIELD_CONSTANTS.selectors.INPUT).then(() => this._initialize());\n }\n }\n\n private _initialize(): void {\n this._foundation.initialize();\n }\n\n public disconnectedCallback(): void {\n this._foundation.disconnect();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case FIELD_CONSTANTS.attributes.DENSITY:\n this.density = newValue as FieldDensityType;\n break;\n case FIELD_CONSTANTS.attributes.FLOAT_LABEL_TYPE:\n this.floatLabelType = newValue as FieldFloatLabelType;\n break;\n case FIELD_CONSTANTS.attributes.SHAPE:\n this.shape = newValue as FieldShapeType;\n break;\n case FIELD_CONSTANTS.attributes.INVALID:\n this.invalid = coerceBoolean(newValue);\n break;\n case FIELD_CONSTANTS.attributes.REQUIRED:\n this.required = coerceBoolean(newValue);\n break;\n }\n }\n\n /** Controls the density type. */\n @FoundationProperty()\n public declare density: FieldDensityType;\n\n /** Whether the label should always float, never float or float as the user types. */\n @FoundationProperty()\n public declare floatLabelType: FieldFloatLabelType;\n\n /** The shape type to use. */\n @FoundationProperty()\n public declare shape: FieldShapeType;\n\n /** Gets/sets the invalid state. */\n @FoundationProperty()\n public declare invalid: boolean;\n\n /** Gets/sets the required state which controls the visibility of the asterisk in the label. */\n @FoundationProperty()\n public declare required: boolean;\n\n /**\n * Controls whether the label should be floating or not.\n * @param {boolean} value\n */\n public floatLabel(value: boolean): void {\n this._foundation.floatLabel(value);\n }\n}\n\n"],
5
- "mappings": "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",
6
- "names": ["FieldAdapter", "BaseAdapter", "component", "rootSelector", "getShadowElement", "children", "listener", "type", "context", "destroyListener", "listenOwnProperty", "cb", "FloatingLabel", "target", "getActiveElement", "name", "FIELD_CONSTANTS", "isRoomy", "toggleClass", "isDense", "className", "classes", "addClass", "removeClass", "createElementAttributeObserver", "fontSize", "fontFamily", "calculateFontWidth", "style", "FieldFoundation", "_adapter", "evt", "value", "name", "FIELD_CONSTANTS", "prevDensity", "_a", "_b", "cancelFloat", "float", "FieldComponent", "BaseComponent", "FIELD_CONSTANTS", "ensureChild", "name", "oldValue", "newValue", "coerceBoolean", "value", "__decorateClass", "FoundationProperty"]
7
- }
@@ -1,7 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2023 Tyler Technologies, Inc.
4
- * License: Apache-2.0
5
- */
6
- import{a as b}from"./chunk.K3R6CELU.js";import{a as I}from"./chunk.EYGSUZWX.js";import{a as E}from"./chunk.MV327MYK.js";import{a as g}from"./chunk.YI4JTY4T.js";import{a as y}from"./chunk.FVRSGKJD.js";import{c as C,d as k}from"./chunk.U6WGJELL.js";import{a as f}from"./chunk.CAXRISYR.js";import{a as l}from"./chunk.KTGSZEAG.js";import{g as v,l as m}from"./chunk.LJLEPTLU.js";import{m as D}from"./chunk.4LA6HEA7.js";import{a as h,g as u,k as d,m as _}from"./chunk.J2M2MXP2.js";import{f as r}from"./chunk.MCIQXNKY.js";var P={MIN:"min",MAX:"max",OPEN:"open",DISABLED:"disabled",POPUP_CLASSES:"popup-classes",MASKED:"masked",MASK_FORMAT:"mask-format",SHOW_MASK_FORMAT:"show-mask-format",VALUE_MODE:"value-mode",ALLOW_INVALID_DATE:"allow-invalid-date",SHOW_TODAY:"show-today",SHOW_CLEAR:"show-clear",DISABLED_DAYS_OF_WEEK:"disabled-days-of-week",YEAR_RANGE:"year-range",LOCALE:"locale"},O={TOGGLE:"forge-date-picker-toggle"},S={INPUT:"input",TOGGLE:"[forge-date-picker-toggle],[data-forge-date-picker-toggle]"},s={observedAttributes:P,attributes:O,selectors:S};var n=class extends m{constructor(){super()}async connectedCallback(){this.querySelector(s.selectors.INPUT)?this._foundation.initialize():(await D(this,s.selectors.INPUT),this._foundation.initialize())}disconnectedCallback(){this._foundation.disconnect()}attributeChangedCallback(t,a,i){switch(t){case s.observedAttributes.MIN:this.min=i;break;case s.observedAttributes.MAX:this.max=i;break;case s.observedAttributes.OPEN:this.open=d(i);break;case s.observedAttributes.POPUP_CLASSES:this.popupClasses=i;break;case s.observedAttributes.DISABLED:this.disabled=d(i);break;case s.observedAttributes.MASKED:this.masked=d(i);break;case s.observedAttributes.SHOW_MASK_FORMAT:this.showMaskFormat=d(i);break;case s.observedAttributes.MASK_FORMAT:this.maskFormat=i;break;case s.observedAttributes.VALUE_MODE:this.valueMode=i;break;case s.observedAttributes.ALLOW_INVALID_DATE:this.allowInvalidDate=d(i);break;case s.observedAttributes.SHOW_TODAY:this.showToday=d(i);break;case s.observedAttributes.SHOW_CLEAR:this.showClear=d(i);break;case s.observedAttributes.DISABLED_DAYS_OF_WEEK:this.disabledDaysOfWeek=_(i);break;case s.observedAttributes.YEAR_RANGE:this.yearRange=i;break;case s.observedAttributes.LOCALE:this.locale=i;break}}};r([l()],n.prototype,"value",2),r([l()],n.prototype,"min",2),r([l()],n.prototype,"max",2),r([l()],n.prototype,"disabledDates",2),r([l()],n.prototype,"open",2),r([l()],n.prototype,"popupClasses",2),r([l()],n.prototype,"disabled",2),r([l()],n.prototype,"masked",2),r([l()],n.prototype,"maskFormat",2),r([l()],n.prototype,"showMaskFormat",2),r([l()],n.prototype,"valueMode",2),r([l()],n.prototype,"notifyInputValueChanges",2),r([l()],n.prototype,"allowInvalidDate",2),r([l()],n.prototype,"showToday",2),r([l()],n.prototype,"showClear",2),r([l()],n.prototype,"parseCallback",2),r([l()],n.prototype,"formatCallback",2),r([l()],n.prototype,"prepareMaskCallback",2),r([l()],n.prototype,"disabledDaysOfWeek",2),r([l()],n.prototype,"disableDayCallback",2),r([l()],n.prototype,"yearRange",2),r([l()],n.prototype,"locale",2);function w(p){let e=document.createElement("forge-icon-button");e.slot="trailing",e.dense=!0,e.densityLevel=3,e.style.marginRight="4px";let t=document.createElement("button");t.type="button",t.tabIndex=-1,t.setAttribute("aria-label","Toggle calendar"),e.appendChild(t);let a=document.createElement("forge-icon");return a.name=p,t.appendChild(a),e}var M=class extends f{constructor(t){super(t);this._valueChangeListeners=[];this._identifier=h()}initialize(){this._initializeInput()}destroy(){var t;(t=this._calendarDropdown)==null||t.destroy(),this.destroyValueChangeListener()}destroyValueChangeListener(){this._valueChangeListeners.forEach(t=>t())}addToggleListener(t,a){var i;(i=this._toggleElement)==null||i.addEventListener(t,a)}removeToggleListener(t,a){var i;(i=this._toggleElement)==null||i.removeEventListener(t,a)}attachCalendar(t,a){var i,o,c;if((i=this._calendarDropdown)==null||i.destroy(),this._initializeCalendarDropdown(),!this._calendarDropdown)throw new Error("CalendarDropdown was not initialized.");a&&Object.assign(this._calendarDropdown,a),this._calendarDropdown.open(t),(o=this._calendarDropdown.dropdownElement)==null||o.style.setProperty("--forge-calendar-width","320px"),(c=this._calendarDropdown.calendar)==null||c.style.setProperty("margin","8px")}detachCalendar(){this._calendarDropdown&&this._calendarDropdown.isOpen&&this._calendarDropdown.close()}goToCalendarDate(t){var a,i;(i=(a=this._calendarDropdown)==null?void 0:a.calendar)==null||i.goToDate(t,!0)}addDateSelectListener(t){var a,i;(i=(a=this._calendarDropdown)==null?void 0:a.calendar)==null||i.addEventListener(b.events.DATE_SELECT,t)}removeDateSelectListener(t){var a,i;(i=(a=this._calendarDropdown)==null?void 0:a.calendar)==null||i.removeEventListener(b.events.DATE_SELECT,t)}setCalendarValue(t){var a;(a=this._calendarDropdown)!=null&&a.calendar&&(this._calendarDropdown.calendar.value=t)}setCalendarMinDate(t){var a;(a=this._calendarDropdown)!=null&&a.calendar&&(this._calendarDropdown.calendar.min=t)}setCalendarMaxDate(t){var a;(a=this._calendarDropdown)!=null&&a.calendar&&(this._calendarDropdown.calendar.max=t)}setCalendarDisabledDates(t){var a;(a=this._calendarDropdown)!=null&&a.calendar&&(this._calendarDropdown.calendar.disabledDates=t)}setCalendarDisabledDaysOfWeek(t){var a;(a=this._calendarDropdown)!=null&&a.calendar&&(this._calendarDropdown.calendar.disabledDaysOfWeek=t)}setCalendarDisableDayCallback(t){var a;(a=this._calendarDropdown)!=null&&a.calendar&&(this._calendarDropdown.calendar.disabledDateBuilder=t)}setCalendarActiveDate(t){var a,i;(i=(a=this._calendarDropdown)==null?void 0:a.calendar)==null||i.setActiveDate(t)}getCalendarActiveDate(){var t,a;return(a=(t=this._calendarDropdown)==null?void 0:t.calendar)==null?void 0:a.activeDate}setCalendarYearRange(t){var a,i;(i=(a=this._calendarDropdown)==null?void 0:a.calendar)!=null&&i.yearRange&&(this._calendarDropdown.calendar.yearRange=t)}setCalendarLocale(t){var a;(a=this._calendarDropdown)!=null&&a.calendar&&(this._calendarDropdown.locale=t)}propagateCalendarKey(t){var a,i;(i=(a=this._calendarDropdown)==null?void 0:a.calendar)==null||i.handleKey(t)}tryCreateToggle(){let t=this._component.querySelector("forge-text-field"),a=this._component.querySelector(s.selectors.TOGGLE);if(t){let i=t.querySelector(`${E.elementName}[slot=trailing]`);if(i||a){this._toggleElement=i||a;return}let o=this._createToggleElement();t.appendChild(o),this._toggleElement=o}else a&&(this._toggleElement=a)}_createToggleElement(){return w("insert_invitation")}_getDefaultTargetElement(){let t=this._component.querySelector("forge-text-field");if(t&&t.shadowRoot){let a=v(t,I.selectors.ROOT);if(a)return a}return this._component.querySelector("input")||this._component}};var A=class{constructor(e){this._adapter=e;this._value=null;this._min=null;this._max=null;this._disabledDates=null;this._open=!1;this._disabled=!1;this._masked=!0;this._maskFormat=y;this._showMaskFormat=!1;this._valueMode="object";this._notifyInputValueChanges=!0;this._allowInvalidDate=!1;this._showToday=!1;this._showClear=!1;this._yearRange="-50:+50";this._isInitialized=!1;this._inputListener=t=>this._onInput(t),this._inputKeydownListener=t=>this._onInputKeydown(t),this._inputFocusListener=t=>this._onInputFocus(t),this._inputBlurListener=t=>this._onInputBlur(t),this._inputValueChangedListener=t=>this._onInputValueChanged(t),this._dropdownCloseListener=()=>this._onDropdownClose(),this._toggleMousedownListener=t=>this._onToggleMousedown(t),this._dateSelectListener=t=>this._onDateSelected(t.detail),this._activeChangeListener=t=>this._onActiveDescendantChanged(t),this._todayListener=()=>this._onToday(),this._clearListener=()=>this._onClear()}initialize(){var e;if(this._adapter.initialize(),this._adapter.initializeAccessibility(),!this._adapter.hasInputElement())throw new Error("Unable to locate child <input> element.");(e=this._initializeState)==null||e.call(this),this._adapter.tryCreateToggle(),this._masked||this._setInputChangeListeners(),this._initializeListeners(),this._setFormattedInputValue(!0),this._applyDisabled(),this._applyMask(),this._initializeValueChangedListeners(),this._isInitialized=!0}disconnect(){this._isInitialized=!1,this._destroyListeners(),this._masked&&this._adapter.destroyMask(),this._closeCalendar(),this._adapter.destroy()}_initializeListeners(){this._adapter.addToggleListener("mousedown",this._toggleMousedownListener),this._adapter.addInputListener("keydown",this._inputKeydownListener,!0),this._adapter.addInputListener("focus",this._inputFocusListener),this._adapter.addInputListener("blur",this._inputBlurListener)}_initializeValueChangedListeners(){this._adapter.setInputValueChangedListener(this,this._inputValueChangedListener)}_setInputChangeListeners(){this._adapter.addInputListener("input",this._inputListener)}_removeInputChangeListeners(){this._adapter.removeInputListener("input",this._inputListener)}_destroyListeners(){this._adapter.removeToggleListener("mousedown",this._toggleMousedownListener),this._adapter.removeInputListener("keydown",this._inputKeydownListener,!0),this._adapter.removeInputListener("focus",this._inputFocusListener),this._adapter.removeInputListener("blur",this._inputBlurListener),this._removeInputChangeListeners()}_onInput(e){this._handleInput(this._adapter.getInputValue())}_onInputFocus(e){this.masked&&this.showMaskFormat&&this._applyMask(),this._adapter.selectInputText()}_onInputBlur(e){this.masked&&this.showMaskFormat&&this._applyMask(),this._formatInputValue(),this._open&&!this._adapter.isInputFocused()&&this._closeCalendar(!0)}_openCalendar(e=!1){this._formatInputValue();let t={mode:this._mode,value:this._getCurrentValue(),min:this._min,max:this._max,disabledDates:this._disabledDates,yearRange:this._yearRange,todayButton:this._showToday,clearButton:this._showClear,todayCallback:this._todayListener,clearCallback:this._clearListener,disabledDateBuilder:this._disableDayCallback,disabledDaysOfWeek:this._disabledDaysOfWeek,preventFocus:!0,menuAnimation:"fade",fixedHeight:!0,selectionFollowsMonth:!0,locale:this._locale},a={popupClasses:this._popupClasses,closeCallback:this._dropdownCloseListener,activeChangeCallback:this._activeChangeListener},i=new Date().getTime();this._min&&this._max&&this._max.getTime()<i&&(t.year=this._min.getFullYear(),t.month=this._min.getMonth()),this._adapter.attachCalendar(t,a),this._adapter.addDateSelectListener(this._dateSelectListener),this._open=!0,this._adapter.setHostAttribute(s.observedAttributes.OPEN),e&&this._emitOpenEvent()}_closeCalendar(e=!1){this._open=!1,this._adapter.removeHostAttribute(s.observedAttributes.OPEN),this._adapter.removeDateSelectListener(this._dateSelectListener),this._adapter.detachCalendar(),e&&this._emitCloseEvent()}_onInputKeydown(e){if(e.shiftKey)switch(e.key){case"Delete":case"Backspace":e.preventDefault(),this._onClear(),this._open&&this._closeCalendar(!0);return;case"ArrowLeft":case"ArrowRight":case"m":case"M":case"y":case"Y":case"d":case"D":if(this._open){e.preventDefault(),this._adapter.propagateCalendarKey(e);return}break}switch(e.key){case"Escape":this._open&&(e.preventDefault(),e.stopPropagation(),this._closeCalendar(!0));break;case"ArrowDown":e.preventDefault(),this._open?this._adapter.propagateCalendarKey(e):(this._adapter.selectInputText(),this._openCalendar(!0));break;case"ArrowUp":this._open&&(e.preventDefault(),this._adapter.propagateCalendarKey(e));break;case"ArrowLeft":case"ArrowRight":case"Enter":case"Home":case"End":if(this._open){e.key==="Enter"&&e.stopPropagation(),e.preventDefault();let t=["ArrowLeft","ArrowRight"].includes(e.key);this._masked&&t&&e.stopImmediatePropagation(),this._adapter.propagateCalendarKey(e)}break;case"n":case"t":e.preventDefault(),this._onToday(),this._open&&this._closeCalendar(!0);break;case"PageUp":case"PageDown":this._open&&(e.preventDefault(),this._adapter.propagateCalendarKey(e));break;case"Tab":if(this._open){let t=this._adapter.getCalendarActiveDate();t&&this._onDateSelected({date:t,selected:!0,type:"date"})}break}}_getSanitizedDateString(e){return e.replace(/_|[a-z]|[A-Z]/g,"").replace(/\/$|\/\/$/,"")}_onToggleMousedown(e){this._disabled||(e.stopPropagation(),!this._adapter.isInputDisabled()&&(e.preventDefault(),this._open?this._closeCalendar(!0):(g.isMobile?this._adapter.tryBlurInput():this._adapter.tryFocusInput(),this._openCalendar(!0))))}_onDropdownClose(){this._closeCalendar(!0)}_onActiveDescendantChanged(e){this._adapter.setActiveDescendant(e)}_formatInputValue(){let e=this._adapter.getInputValue();if(e){let t=this._parseDateString(e);if(u(t)&&this._isDateValueAcceptable(t)){let a=this._formatDate(t);a&&a!==e&&this._adapter.setInputValue(a,this._notifyInputValueChanges)}else this._allowInvalidDate||this._adapter.setInputValue("",this._notifyInputValueChanges)}}_formatDate(e){return u(e)?typeof this._formatCallback=="function"?this._formatCallback(e):k(e):""}_parseDateString(e){if(e=e.replace(/_|\s/g,""),!e||!e.length)return null;let t=typeof this._parseCallback=="function"?this._parseCallback(e):C(e);return u(t)?t:null}_coerceDateValue(e){return typeof e=="string"?this._parseDateString(e):e}_getTypedValue(e){switch(this._valueMode){case"object":return e;case"string":return this._formatDate(e);case"iso-string":return e&&e.setHours(0,0,0,0),e?e.toISOString():null;default:return e}}_isDateValueAcceptable(e){if(!e||this._allowInvalidDate)return!0;let t=()=>this._min&&!this._allowInvalidDate?this._min.getTime()<=e.getTime():!0,a=()=>this._max&&!this._allowInvalidDate?this._max.getTime()>=e.getTime():!0,i=()=>Array.isArray(this._disabledDates)?this._disabledDates:this._disabledDates?[this._disabledDates]:[],o=()=>!i().some(L=>L.getTime()===e.getTime()),c=()=>!(this._disabledDaysOfWeek&&this._disabledDaysOfWeek.includes(e.getDay())),T=()=>typeof this._disableDayCallback!="function"||!this._disableDayCallback(e);return t()&&a()&&o()&&c()&&T()}_initializeMask(){let e={showMaskFormat:this._showMaskFormat&&this._adapter.isInputFocused(),pattern:this._maskFormat,onChange:t=>this._handleInput(t)};this._prepareMaskCallback&&(e.prepareCallback=(t,a,i,o)=>this._prepareMaskCallback.call(null,t,a,i,o)),this._adapter.initializeMask(e)}_applyMask(){this._masked?this._initializeMask():(this._adapter.destroyMask(),this._formatInputValue())}_applyMin(){this._isInitialized&&this._adapter.setCalendarMinDate(this._min)}_applyMax(){this._isInitialized&&this._adapter.setCalendarMaxDate(this._max)}_applyDisableDayCallback(){this._adapter.setCalendarDisableDayCallback(this._disableDayCallback)}_applyDisabled(){this._adapter.setDisabled(this._disabled)}get valueMode(){return this._valueMode}set valueMode(e){if(this._valueMode!==e){if(!["object","string","iso-string"].includes(e))return;this._valueMode=e,this._emitChangeEvent(this._value),this._adapter.setHostAttribute(s.observedAttributes.VALUE_MODE,this._valueMode)}}get min(){return this._min?new Date(this._min.getTime()):null}set min(e){if(this._min!==e){let t=this._coerceDateValue(e);this._min=t?new Date(t.getTime()):null,this._applyMin(),this._isInitialized&&this._open&&this._adapter.setCalendarMinDate(this._min)}}get max(){return this._max?new Date(this._max.getTime()):null}set max(e){this._max!==e&&(this._max=this._coerceDateValue(e),this._applyMax(),this._isInitialized&&this._open&&this._adapter.setCalendarMaxDate(this._max))}get open(){return this._open}set open(e){this._open!==e&&this._isInitialized&&(this._open=e,this._open?this._openCalendar():this._closeCalendar())}get disabled(){return this._disabled}set disabled(e){this._disabled!==e&&(this._disabled=e,this._isInitialized&&this._applyDisabled())}get disabledDates(){return this._disabledDates?Array.isArray(this._disabledDates)?this._disabledDates.map(e=>new Date(e.getTime())):new Date(this._disabledDates.getTime()):null}set disabledDates(e){e?Array.isArray(e)?this._disabledDates=e.map(t=>new Date(t.getTime())):this._disabledDates=new Date(e.getTime()):this._disabledDates=null,this._isInitialized&&this._open&&this._adapter.setCalendarDisabledDates(this._disabledDates),this._applyDisabledDates()}get popupClasses(){return Array.isArray(this._popupClasses)?[...this._popupClasses]:this._popupClasses}set popupClasses(e){Array.isArray(e)?this._popupClasses=[...e]:this._popupClasses=e}get masked(){return this._masked}set masked(e){this._masked!==e&&(this._masked=e,this._isInitialized&&(this._masked?(this._removeInputChangeListeners(),this._applyMask()):(this._adapter.destroyMask(),this._setInputChangeListeners(),this._formatInputValue())))}get maskFormat(){return this._maskFormat}set maskFormat(e){this._maskFormat!==e&&(this._maskFormat=e,this._isInitialized&&this._applyMask())}get showMaskFormat(){return this._showMaskFormat}set showMaskFormat(e){this._showMaskFormat!==e&&(this._showMaskFormat=e)}get notifyInputValueChanges(){return this._notifyInputValueChanges}set notifyInputValueChanges(e){this._notifyInputValueChanges=e}get allowInvalidDate(){return this._allowInvalidDate}set allowInvalidDate(e){this._allowInvalidDate!==e&&(this._allowInvalidDate=e,this._adapter.toggleHostAttribute(s.observedAttributes.ALLOW_INVALID_DATE,this._allowInvalidDate))}get disabledDaysOfWeek(){return this._disabledDaysOfWeek}set disabledDaysOfWeek(e){this._disabledDaysOfWeek!==e&&(this._disabledDaysOfWeek=e,this._isInitialized&&this._open&&this._adapter.setCalendarDisabledDaysOfWeek(this._disabledDaysOfWeek),this._applyDisabledDaysOfWeek())}get disableDayCallback(){return this._disableDayCallback}set disableDayCallback(e){e!==this._disableDayCallback&&(this._disableDayCallback=e,this._applyDisableDayCallback())}get parseCallback(){return this._parseCallback}set parseCallback(e){this._parseCallback=e,this._isInitialized&&this._applyMask()}get formatCallback(){return this._formatCallback}set formatCallback(e){this._formatCallback=e,this._isInitialized&&this._applyMask()}get prepareMaskCallback(){return this._prepareMaskCallback}set prepareMaskCallback(e){this._prepareMaskCallback=e,this._isInitialized&&this._applyMask()}get showToday(){return this._showToday}set showToday(e){this._showToday=e}get showClear(){return this._showClear}set showClear(e){this._showClear=e}get yearRange(){return this._yearRange}set yearRange(e){this._yearRange!==e&&(this._yearRange=e,this._isInitialized&&this._open&&this._adapter.setCalendarYearRange(this._yearRange))}get locale(){return this._locale}set locale(e){this._locale!==e&&(this._locale=e,this._isInitialized&&this._open&&this._adapter.setCalendarLocale(this._locale))}};export{s as a,n as b,w as c,M as d,A as e};
7
- //# sourceMappingURL=chunk.VWPEVC65.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/date-picker/base/base-date-picker-constants.ts", "../../src/date-picker/base/base-date-picker.ts", "../../src/date-picker/base/base-date-picker-utils.ts", "../../src/date-picker/base/base-date-picker-adapter.ts", "../../src/date-picker/base/base-date-picker-foundation.ts"],
4
- "sourcesContent": ["import IMask, { Masked, InputMask } from 'imask';\nimport { DayOfWeek, ICalendarDateSelectEventData } from '../../calendar';\n\nexport declare type DatePickerParseCallback = (value: string) => Date | null;\nexport declare type DatePickerFormatCallback = (value: Date | null) => string;\nexport declare type DatePickerPrepareMaskCallback = (value: string, masked: Masked<string>, flags: IMask.AppendFlags, maskInstance: InputMask<IMask.MaskedPatternOptions>) => string;\nexport declare type DatePickerValueMode = 'object' | 'string' | 'iso-string';\n\nexport interface IDatePickerCalendarDropdownConfig<T> {\n value?: T | null;\n min?: Date | null;\n max?: Date | null;\n disabledDates?: Date | Date[] | null;\n popupClasses: string | string[];\n closeCallback: () => void;\n selectCallback: (value: ICalendarDateSelectEventData) => void;\n activeChangeCallback: (id: string) => void;\n disableDayCallback: (date: Date) => boolean;\n showToday: boolean;\n showClear: boolean;\n todayCallback: () => void;\n clearCallback: () => void;\n disabledDaysOfWeek?: DayOfWeek[] | null;\n}\n\n\nconst observedAttributes = {\n MIN: 'min',\n MAX: 'max',\n OPEN: 'open',\n DISABLED: 'disabled',\n POPUP_CLASSES: 'popup-classes',\n MASKED: 'masked',\n MASK_FORMAT: 'mask-format',\n SHOW_MASK_FORMAT: 'show-mask-format',\n VALUE_MODE: 'value-mode',\n ALLOW_INVALID_DATE: 'allow-invalid-date',\n SHOW_TODAY: 'show-today',\n SHOW_CLEAR: 'show-clear',\n DISABLED_DAYS_OF_WEEK: 'disabled-days-of-week',\n YEAR_RANGE: 'year-range',\n LOCALE: 'locale'\n};\n\nconst attributes = {\n TOGGLE: 'forge-date-picker-toggle'\n};\n\nconst selectors = {\n INPUT: 'input',\n TOGGLE: '[forge-date-picker-toggle],[data-forge-date-picker-toggle]'\n};\n\nexport const BASE_DATE_PICKER_CONSTANTS = {\n observedAttributes,\n attributes,\n selectors\n};\n", "import { coerceBoolean, ensureChild, FoundationProperty, coerceNumberArray } from '@tylertech/forge-core';\nimport { DayOfWeek } from '../../calendar/calendar-constants';\nimport { BaseComponent, IBaseComponent } from '../../core/base/base-component';\nimport { BASE_DATE_PICKER_CONSTANTS, DatePickerFormatCallback, DatePickerParseCallback, DatePickerPrepareMaskCallback, DatePickerValueMode } from './base-date-picker-constants';\nimport { BaseDatePickerFoundation } from './base-date-picker-foundation';\nimport { IBaseDatePickerAdapter } from './base-date-picker-adapter';\n\nexport interface IBaseDatePickerComponent<TValue> extends IBaseComponent {\n value: TValue | null | undefined;\n min: Date | string | null | undefined;\n max: Date | string | null | undefined;\n disabledDates: Date | Date[] | null | undefined;\n open: boolean;\n parseCallback: DatePickerParseCallback;\n formatCallback: DatePickerFormatCallback;\n prepareMaskCallback: DatePickerPrepareMaskCallback;\n disableDayCallback: (date: Date) => boolean;\n popupClasses: string | string[];\n disabled: boolean;\n masked: boolean;\n maskFormat: string;\n showMaskFormat: boolean;\n valueMode: DatePickerValueMode;\n notifyInputValueChanges: boolean;\n allowInvalidDate: boolean;\n showToday: boolean;\n showClear: boolean;\n disabledDaysOfWeek: DayOfWeek[];\n yearRange: string;\n locale: string | undefined;\n}\n\nexport abstract class BaseDatePickerComponent<TPublicValue, TPrivateValue, TFoundation extends BaseDatePickerFoundation<IBaseDatePickerAdapter, TPublicValue, TPrivateValue>> extends BaseComponent implements IBaseDatePickerComponent<TPublicValue> {\n protected _foundation: TFoundation;\n\n constructor() {\n super();\n }\n\n public async connectedCallback(): Promise<void> {\n if (this.querySelector(BASE_DATE_PICKER_CONSTANTS.selectors.INPUT)) {\n this._foundation.initialize();\n } else {\n await ensureChild(this, BASE_DATE_PICKER_CONSTANTS.selectors.INPUT);\n this._foundation.initialize();\n }\n }\n\n public disconnectedCallback(): void {\n this._foundation.disconnect();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case BASE_DATE_PICKER_CONSTANTS.observedAttributes.MIN:\n this.min = newValue;\n break;\n case BASE_DATE_PICKER_CONSTANTS.observedAttributes.MAX:\n this.max = newValue;\n break;\n case BASE_DATE_PICKER_CONSTANTS.observedAttributes.OPEN:\n this.open = coerceBoolean(newValue);\n break;\n case BASE_DATE_PICKER_CONSTANTS.observedAttributes.POPUP_CLASSES:\n this.popupClasses = newValue;\n break;\n case BASE_DATE_PICKER_CONSTANTS.observedAttributes.DISABLED:\n this.disabled = coerceBoolean(newValue);\n break;\n case BASE_DATE_PICKER_CONSTANTS.observedAttributes.MASKED:\n this.masked = coerceBoolean(newValue);\n break;\n case BASE_DATE_PICKER_CONSTANTS.observedAttributes.SHOW_MASK_FORMAT:\n this.showMaskFormat = coerceBoolean(newValue);\n break;\n case BASE_DATE_PICKER_CONSTANTS.observedAttributes.MASK_FORMAT:\n this.maskFormat = newValue;\n break;\n case BASE_DATE_PICKER_CONSTANTS.observedAttributes.VALUE_MODE:\n this.valueMode = newValue as DatePickerValueMode;\n break;\n case BASE_DATE_PICKER_CONSTANTS.observedAttributes.ALLOW_INVALID_DATE:\n this.allowInvalidDate = coerceBoolean(newValue);\n break;\n case BASE_DATE_PICKER_CONSTANTS.observedAttributes.SHOW_TODAY:\n this.showToday = coerceBoolean(newValue);\n break;\n case BASE_DATE_PICKER_CONSTANTS.observedAttributes.SHOW_CLEAR:\n this.showClear = coerceBoolean(newValue);\n break;\n case BASE_DATE_PICKER_CONSTANTS.observedAttributes.DISABLED_DAYS_OF_WEEK:\n this.disabledDaysOfWeek = coerceNumberArray(newValue);\n break;\n case BASE_DATE_PICKER_CONSTANTS.observedAttributes.YEAR_RANGE:\n this.yearRange = newValue;\n break;\n case BASE_DATE_PICKER_CONSTANTS.observedAttributes.LOCALE:\n this.locale = newValue;\n break;\n }\n }\n\n /** Gets/sets the value of the component. */\n @FoundationProperty()\n public declare value: TPublicValue | null | undefined;\n\n /** Gets/sets the minimum date the calendar will allow. */\n @FoundationProperty()\n public declare min: Date | string | null | undefined;\n\n /** Gets/sets the maximum date the calendar will allow. */\n @FoundationProperty()\n public declare max: Date | string | null | undefined;\n\n /** Gets/sets the dates that are restricted from being selected. */\n @FoundationProperty()\n public declare disabledDates: Date | Date[] | null | undefined;\n\n /** Gets/sets whether the calendar dropdown is open. */\n @FoundationProperty()\n public declare open: boolean;\n\n /** Gets/sets the CSS classes that are applied to the popup element. */\n @FoundationProperty()\n public declare popupClasses: string | string[];\n\n /** Gets/sets whether the date picker is disabled or not. */\n @FoundationProperty()\n public declare disabled: boolean;\n\n /** Gets/sets whether the input mask is applied or not. */\n @FoundationProperty()\n public declare masked: boolean;\n\n /** Gets/sets the mask format that displayed in the input. Default is `MM/DD/YYYY` */\n @FoundationProperty()\n public declare maskFormat: string;\n\n /** Gets/sets whether the mask format is displayed in the input or not. Only applies if `masked` is `true`. */\n @FoundationProperty()\n public declare showMaskFormat: boolean;\n\n /** Gets/sets the type for the `value` property and `forge-date-picker-change` event. */\n @FoundationProperty()\n public declare valueMode: DatePickerValueMode;\n\n /** Gets/sets whether the native input will be notified of value changes via the `input` and `change` events. */\n @FoundationProperty()\n public declare notifyInputValueChanges: boolean;\n\n /** Gets/sets whether to allow an invalid date to be input. When true, the date picker will not clear out the value of the input if the date was invalid (i.e. could not be parsed). */\n @FoundationProperty()\n public declare allowInvalidDate: boolean;\n\n /** Gets/sets whether the today button is visible in the popup. */\n @FoundationProperty()\n public declare showToday: boolean;\n\n /** Gets/sets whether the clear button is visible in the popup. */\n @FoundationProperty()\n public declare showClear: boolean;\n\n /** Sets the callback to use for parsing a date value string to a `Date` object. */\n @FoundationProperty()\n public declare parseCallback: DatePickerParseCallback;\n\n /** Sets the callback to use for formatting `Date` value to a custom string format. */\n @FoundationProperty()\n public declare formatCallback: DatePickerFormatCallback;\n\n /** Sets the callback to use when altering default mask entry. */\n @FoundationProperty()\n public declare prepareMaskCallback: DatePickerPrepareMaskCallback;\n\n /** Sets the days of the week to disable from selection. */\n @FoundationProperty()\n public declare disabledDaysOfWeek: DayOfWeek[];\n\n /** Sets the callback to use for testing whether a specific date should be disabled or not. */\n @FoundationProperty()\n public declare disableDayCallback: (date: Date) => boolean;\n\n /** Sets the year range. */\n @FoundationProperty()\n public declare yearRange: string;\n\n /** Sets the locale to use. */\n @FoundationProperty()\n public declare locale: string | undefined;\n}\n", "export function createToggleElement(iconName: string): HTMLElement {\n const iconButtonElement = document.createElement('forge-icon-button');\n iconButtonElement.slot = 'trailing';\n iconButtonElement.dense = true;\n iconButtonElement.densityLevel = 3;\n iconButtonElement.style.marginRight = '4px';\n\n const buttonElement = document.createElement('button');\n buttonElement.type = 'button';\n buttonElement.tabIndex = -1;\n buttonElement.setAttribute('aria-label', 'Toggle calendar');\n iconButtonElement.appendChild(buttonElement);\n\n const iconElement = document.createElement('forge-icon');\n iconElement.name = iconName;\n buttonElement.appendChild(iconElement);\n\n return iconButtonElement;\n}\n", "import { getShadowElement, randomChars } from '@tylertech/forge-core';\nimport { CALENDAR_CONSTANTS, DateRange, DayOfWeek, ICalendarComponent, ICalendarDateSelectEventData } from '../../calendar';\nimport { ICalendarDropdown, ICalendarDropdownPopupConfig } from '../../calendar/calendar-dropdown';\nimport { BaseAdapter, IBaseAdapter, IDateInputMaskOptions } from '../../core';\nimport { BaseComponent } from '../../core/base/base-component';\nimport { ICON_BUTTON_CONSTANTS, IIconButtonComponent } from '../../icon-button';\nimport { BASE_DATE_PICKER_CONSTANTS } from './base-date-picker-constants';\nimport { createToggleElement } from './base-date-picker-utils';\nimport { TEXT_FIELD_CONSTANTS } from '../../text-field';\n\nexport interface IBaseDatePickerAdapter extends IBaseAdapter {\n initialize(): void;\n initializeAccessibility(): void;\n destroy(): void;\n setActiveDescendant(id: string): void;\n\n // Mask\n initializeMask(options: IDateInputMaskOptions): void;\n destroyMask(): void;\n\n // Toggle\n tryCreateToggle(): void;\n addToggleListener(type: string, listener: (event: Event) => void): void;\n removeToggleListener(type: string, listener: (event: Event) => void): void;\n \n // Input\n addInputListener(type: string, listener: (event: Event) => void, capture?: boolean): void;\n removeInputListener(type: string, listener: (event: Event) => void, capture?: boolean): void;\n setInputValueChangedListener(context: any, listener: (value: any) => void): void;\n hasInputElement(): boolean;\n tryFocusInput(): void;\n tryBlurInput(): void;\n isInputDisabled(): boolean;\n isInputFocused(target?: EventTarget | null): boolean;\n setDisabled(value: boolean): void;\n getInputValue(): string;\n setInputValue(value: string, emitEvents: boolean): void;\n selectInputText(): void;\n emitInputEvent(type: string, data?: any): void;\n \n // Calendar\n attachCalendar(calendarConfig: Partial<ICalendarComponent>, dropdownConfig?: ICalendarDropdownPopupConfig): void;\n detachCalendar(): void;\n goToCalendarDate(date: Date): void;\n addDateSelectListener(listener: (event: CustomEvent<ICalendarDateSelectEventData>) => void): void;\n removeDateSelectListener(listener: (event: CustomEvent<ICalendarDateSelectEventData>) => void): void;\n setCalendarValue(value: Date | DateRange | null | undefined): void;\n setCalendarMinDate(value: Date | null | undefined): void;\n setCalendarMaxDate(value: Date | null | undefined): void;\n setCalendarDisabledDates(value: Date | Date[] | null | undefined): void;\n setCalendarDisabledDaysOfWeek(value: DayOfWeek[]): void;\n setCalendarDisableDayCallback(disableDayCallback: (date: Date) => boolean): void;\n setCalendarActiveDate(date: Date): void;\n getCalendarActiveDate(): Date | undefined;\n setCalendarYearRange(value: string): void;\n setCalendarLocale(locale: string | undefined): void;\n propagateCalendarKey(evt: KeyboardEvent): void;\n}\nexport abstract class BaseDatePickerAdapter<T extends BaseComponent> extends BaseAdapter<T> implements IBaseDatePickerAdapter {\n protected _identifier: string;\n protected _calendarDropdown?: ICalendarDropdown;\n protected _toggleElement?: HTMLElement;\n protected _valueChangeListeners: Array<() => void> = [];\n\n constructor(component: T) {\n super(component);\n this._identifier = randomChars();\n }\n\n // Initialization\n public abstract initializeAccessibility(): void;\n protected abstract _initializeInput(): void;\n protected abstract _initializeCalendarDropdown(): void;\n \n // Mask\n public abstract initializeMask(options: IDateInputMaskOptions): void;\n public abstract destroyMask(): void;\n\n // Calendar\n public abstract setActiveDescendant(id: string): void;\n \n // Input\n public abstract hasInputElement(): boolean;\n public abstract hasInputElement(): boolean;\n public abstract tryFocusInput(): void;\n public abstract tryBlurInput(): void;\n public abstract isInputDisabled(): boolean;\n public abstract isInputFocused(target?: EventTarget | null): boolean;\n public abstract setDisabled(value: boolean): void;\n public abstract addInputListener(type: string, listener: (event: Event) => void, capture?: boolean): void;\n public abstract removeInputListener(type: string, listener: (event: Event) => void, capture?: boolean): void;\n public abstract setInputValueChangedListener(context: any, listener: (value: any) => void): void;\n public abstract getInputValue(): string;\n public abstract setInputValue(value: string, emitEvents: boolean): void;\n public abstract selectInputText(): void;\n public abstract emitInputEvent(type: string, data?: any): void;\n\n public initialize(): void {\n this._initializeInput();\n }\n\n public destroy(): void {\n this._calendarDropdown?.destroy();\n this.destroyValueChangeListener();\n }\n\n public destroyValueChangeListener(): void {\n this._valueChangeListeners.forEach(cb => cb());\n }\n\n public addToggleListener(type: string, listener: (event: Event) => void): void {\n this._toggleElement?.addEventListener(type, listener);\n }\n\n public removeToggleListener(type: string, listener: (event: Event) => void): void {\n this._toggleElement?.removeEventListener(type, listener);\n }\n\n public attachCalendar(calendarConfig: Partial<ICalendarComponent>, dropdownConfig?: ICalendarDropdownPopupConfig): void {\n this._calendarDropdown?.destroy();\n this._initializeCalendarDropdown();\n\n if (!this._calendarDropdown) {\n throw new Error('CalendarDropdown was not initialized.');\n }\n\n if (dropdownConfig) {\n Object.assign(this._calendarDropdown, dropdownConfig);\n }\n\n this._calendarDropdown.open(calendarConfig);\n this._calendarDropdown.dropdownElement?.style.setProperty('--forge-calendar-width', '320px');\n this._calendarDropdown.calendar?.style.setProperty('margin', '8px');\n }\n\n public detachCalendar(): void {\n if (this._calendarDropdown && this._calendarDropdown.isOpen) {\n this._calendarDropdown.close();\n }\n }\n\n public goToCalendarDate(date: Date): void {\n this._calendarDropdown?.calendar?.goToDate(date, true);\n }\n\n public addDateSelectListener(listener: (event: CustomEvent<ICalendarDateSelectEventData>) => void): void {\n this._calendarDropdown?.calendar?.addEventListener(CALENDAR_CONSTANTS.events.DATE_SELECT, listener);\n }\n\n public removeDateSelectListener(listener: (event: CustomEvent<ICalendarDateSelectEventData>) => void): void {\n this._calendarDropdown?.calendar?.removeEventListener(CALENDAR_CONSTANTS.events.DATE_SELECT, listener);\n }\n\n public setCalendarValue(value: Date | DateRange | null | undefined): void {\n if (this._calendarDropdown?.calendar) {\n this._calendarDropdown.calendar.value = value;\n }\n }\n\n public setCalendarMinDate(value: Date | null | undefined): void {\n if (this._calendarDropdown?.calendar) {\n this._calendarDropdown.calendar.min = value;\n }\n }\n\n public setCalendarMaxDate(value: Date | null | undefined): void {\n if (this._calendarDropdown?.calendar) {\n this._calendarDropdown.calendar.max = value;\n }\n }\n\n public setCalendarDisabledDates(value: Date | Date[] | null | undefined): void {\n if (this._calendarDropdown?.calendar) {\n this._calendarDropdown.calendar.disabledDates = value;\n }\n }\n\n public setCalendarDisabledDaysOfWeek(value: DayOfWeek[]): void {\n if (this._calendarDropdown?.calendar) {\n this._calendarDropdown.calendar.disabledDaysOfWeek = value;\n }\n }\n\n public setCalendarDisableDayCallback(disableDayCallback: (date: Date) => boolean): void {\n if (this._calendarDropdown?.calendar) {\n this._calendarDropdown.calendar.disabledDateBuilder = disableDayCallback;\n }\n }\n\n public setCalendarActiveDate(date: Date): void {\n this._calendarDropdown?.calendar?.setActiveDate(date);\n }\n\n public getCalendarActiveDate(): Date | undefined {\n return this._calendarDropdown?.calendar?.activeDate;\n }\n\n public setCalendarYearRange(value: string): void {\n if (this._calendarDropdown?.calendar?.yearRange) {\n this._calendarDropdown.calendar.yearRange = value;\n }\n }\n\n public setCalendarLocale(locale: string | undefined): void {\n if (this._calendarDropdown?.calendar) {\n this._calendarDropdown.locale = locale;\n }\n }\n\n public propagateCalendarKey(evt: KeyboardEvent): void {\n this._calendarDropdown?.calendar?.handleKey(evt);\n }\n\n public tryCreateToggle(): void {\n const textField = this._component.querySelector('forge-text-field');\n const toggleElement = this._component.querySelector(BASE_DATE_PICKER_CONSTANTS.selectors.TOGGLE);\n if (textField) {\n const existingIconButton = textField.querySelector(`${ICON_BUTTON_CONSTANTS.elementName}[slot=trailing]`);\n if (existingIconButton || toggleElement) {\n this._toggleElement = (existingIconButton || toggleElement) as IIconButtonComponent;\n return;\n }\n\n const iconButtonElement = this._createToggleElement();\n textField.appendChild(iconButtonElement);\n this._toggleElement = iconButtonElement;\n } else if (toggleElement) {\n this._toggleElement = toggleElement as HTMLElement;\n }\n }\n\n protected _createToggleElement(): HTMLElement {\n return createToggleElement('insert_invitation');\n }\n\n protected _getDefaultTargetElement(): HTMLElement {\n // This component is often used with the Forge text-field, if so, let's target our popup around\n // one if its internal elements for best alignment\n const textField = this._component.querySelector('forge-text-field');\n if (textField && textField.shadowRoot) {\n const textFieldRoot = getShadowElement(textField, TEXT_FIELD_CONSTANTS.selectors.ROOT) as HTMLElement;\n if (textFieldRoot) {\n return textFieldRoot;\n }\n }\n\n return this._component.querySelector('input') || this._component;\n }\n}\n", "import { ICustomElementFoundation, isValidDate, Platform } from '@tylertech/forge-core';\nimport { ICalendarComponent, ICalendarDropdownPopupConfig } from '../../calendar';\nimport { CalendarMode, DayOfWeek, ICalendarDateSelectEventData } from '../../calendar/calendar-constants';\nimport { DateRange } from '../../calendar/core/date-range';\nimport { formatDate, parseDateString } from '../../core/utils/date-utils';\nimport { DEFAULT_DATE_MASK, IDateInputMaskOptions } from '../../core/mask/date-input-mask';\nimport { IBaseDatePickerAdapter } from './base-date-picker-adapter';\nimport { BASE_DATE_PICKER_CONSTANTS, DatePickerFormatCallback, DatePickerParseCallback, DatePickerPrepareMaskCallback, DatePickerValueMode } from './base-date-picker-constants';\n\nexport interface IBaseDatePickerFoundation<TValue> extends ICustomElementFoundation {\n value: TValue | null | undefined;\n min: Date | string | null | undefined;\n max: Date | string | null | undefined;\n disabledDates: Date | Date[] | null | undefined;\n open: boolean;\n parseCallback: DatePickerParseCallback;\n formatCallback: DatePickerFormatCallback;\n prepareMaskCallback: DatePickerPrepareMaskCallback;\n popupClasses: string | string[];\n disabled: boolean;\n masked: boolean;\n maskFormat: string;\n showMaskFormat: boolean;\n valueMode: DatePickerValueMode;\n notifyInputValueChanges: boolean;\n allowInvalidDate: boolean;\n showToday: boolean;\n showClear: boolean;\n yearRange: string;\n locale: string | undefined;\n}\n\nexport abstract class BaseDatePickerFoundation<TAdapter extends IBaseDatePickerAdapter, TPublicValue, TPrivateValue = TPublicValue> implements IBaseDatePickerFoundation<TPublicValue> {\n // State\n protected abstract _mode: CalendarMode;\n protected _value?: TPrivateValue | null = null;\n protected _min?: Date | null = null;\n protected _max?: Date | null = null;\n protected _disabledDates?: Date | Date[] | null = null;\n protected _open = false;\n protected _parseCallback: DatePickerParseCallback;\n protected _formatCallback: DatePickerFormatCallback;\n protected _prepareMaskCallback: DatePickerPrepareMaskCallback;\n protected _disableDayCallback: (date: Date) => boolean;\n protected _popupClasses: string | string[];\n protected _disabled = false;\n protected _masked = true;\n protected _maskFormat = DEFAULT_DATE_MASK;\n protected _showMaskFormat = false;\n protected _valueMode: DatePickerValueMode = 'object';\n protected _notifyInputValueChanges = true;\n protected _allowInvalidDate = false;\n protected _showToday = false;\n protected _showClear = false;\n protected _disabledDaysOfWeek: DayOfWeek[];\n protected _yearRange = '-50:+50';\n protected _locale: string | undefined;\n protected _isInitialized = false;\n\n // Listeners\n private _inputListener: (evt: Event) => void;\n private _inputKeydownListener: (evt: KeyboardEvent) => void;\n private _inputFocusListener: (evt: FocusEvent) => void;\n private _inputBlurListener: (evt: FocusEvent) => void;\n private _inputValueChangedListener: (value: string) => void;\n private _toggleMousedownListener: (evt: MouseEvent) => void;\n private _dropdownCloseListener: () => void;\n private _activeChangeListener: (id: string) => void;\n private _todayListener: () => void;\n private _clearListener: () => void;\n private _dateSelectListener: (evt: CustomEvent<ICalendarDateSelectEventData>) => void;\n \n constructor(protected _adapter: TAdapter) {\n this._inputListener = evt => this._onInput(evt);\n this._inputKeydownListener = evt => this._onInputKeydown(evt);\n this._inputFocusListener = evt => this._onInputFocus(evt);\n this._inputBlurListener = evt => this._onInputBlur(evt);\n this._inputValueChangedListener = value => this._onInputValueChanged(value);\n this._dropdownCloseListener = () => this._onDropdownClose();\n this._toggleMousedownListener = evt => this._onToggleMousedown(evt);\n this._dateSelectListener = evt => this._onDateSelected(evt.detail);\n this._activeChangeListener = id => this._onActiveDescendantChanged(id);\n this._todayListener = () => this._onToday();\n this._clearListener = () => this._onClear();\n }\n\n protected _initializeState?(): void;\n public abstract value: TPublicValue | null | undefined;\n protected abstract _emitChangeEvent(value: TPrivateValue | null | undefined, force?: boolean): boolean;\n protected abstract _emitOpenEvent(): void;\n protected abstract _emitCloseEvent(): void;\n protected abstract _onToday(): void;\n protected abstract _onClear(): void;\n protected abstract _getCurrentValue(): TPrivateValue | null | undefined;\n protected abstract _setFormattedInputValue(suppressValueChanges?: boolean): void;\n protected abstract _onInputValueChanged(value: string): void;\n protected abstract _handleInput(value: string): void;\n protected abstract _setValue(value: Date | null): void;\n protected abstract _onDateSelected(event: ICalendarDateSelectEventData): void;\n protected abstract _applyDisabledDates(): void;\n protected abstract _applyDisabledDaysOfWeek(): void;\n\n public initialize(): void {\n this._adapter.initialize();\n this._adapter.initializeAccessibility();\n\n if (!this._adapter.hasInputElement()) {\n throw new Error('Unable to locate child <input> element.');\n }\n\n this._initializeState?.();\n this._adapter.tryCreateToggle();\n\n if (!this._masked) {\n this._setInputChangeListeners();\n }\n\n this._initializeListeners();\n this._setFormattedInputValue(true);\n this._applyDisabled();\n this._applyMask();\n this._initializeValueChangedListeners();\n this._isInitialized = true;\n }\n\n public disconnect(): void {\n this._isInitialized = false;\n this._destroyListeners();\n\n if (this._masked) {\n this._adapter.destroyMask();\n }\n\n this._closeCalendar();\n this._adapter.destroy();\n }\n\n protected _initializeListeners(): void {\n this._adapter.addToggleListener('mousedown', this._toggleMousedownListener);\n this._adapter.addInputListener('keydown', this._inputKeydownListener, true);\n this._adapter.addInputListener('focus', this._inputFocusListener);\n this._adapter.addInputListener('blur', this._inputBlurListener);\n }\n\n protected _initializeValueChangedListeners(): void {\n this._adapter.setInputValueChangedListener(this, this._inputValueChangedListener);\n }\n\n protected _setInputChangeListeners(): void {\n this._adapter.addInputListener('input', this._inputListener);\n }\n\n protected _removeInputChangeListeners(): void {\n this._adapter.removeInputListener('input', this._inputListener);\n }\n\n protected _destroyListeners(): void {\n this._adapter.removeToggleListener('mousedown', this._toggleMousedownListener);\n this._adapter.removeInputListener('keydown', this._inputKeydownListener, true);\n this._adapter.removeInputListener('focus', this._inputFocusListener);\n this._adapter.removeInputListener('blur', this._inputBlurListener);\n this._removeInputChangeListeners();\n }\n\n protected _onInput(evt: Event): void {\n this._handleInput(this._adapter.getInputValue());\n }\n\n protected _onInputFocus(evt: FocusEvent): void {\n if (this.masked && this.showMaskFormat) {\n this._applyMask();\n }\n\n this._adapter.selectInputText();\n }\n \n protected _onInputBlur(evt: FocusEvent): void {\n if (this.masked && this.showMaskFormat) {\n this._applyMask();\n }\n\n this._formatInputValue();\n\n if (this._open && !this._adapter.isInputFocused()) {\n this._closeCalendar(true);\n }\n }\n\n protected _openCalendar(emitOpenEvent = false): void {\n this._formatInputValue();\n\n const calendarConfig: Partial<ICalendarComponent> = {\n mode: this._mode,\n value: this._getCurrentValue() as Date | Date[] | DateRange | null | undefined,\n min: this._min,\n max: this._max,\n disabledDates: this._disabledDates,\n yearRange: this._yearRange,\n todayButton: this._showToday,\n clearButton: this._showClear,\n todayCallback: this._todayListener,\n clearCallback: this._clearListener,\n disabledDateBuilder: this._disableDayCallback,\n disabledDaysOfWeek: this._disabledDaysOfWeek,\n preventFocus: true,\n menuAnimation: 'fade',\n fixedHeight: true,\n selectionFollowsMonth: true,\n locale: this._locale\n };\n const dropdownConfig: ICalendarDropdownPopupConfig = {\n popupClasses: this._popupClasses,\n closeCallback: this._dropdownCloseListener,\n activeChangeCallback: this._activeChangeListener\n };\n\n // If the max date is in the past, set the calendar to the min date\n const currentDate = new Date().getTime();\n if (this._min && this._max && this._max.getTime() < currentDate) {\n calendarConfig.year = this._min.getFullYear();\n calendarConfig.month = this._min.getMonth();\n }\n\n this._adapter.attachCalendar(calendarConfig, dropdownConfig);\n this._adapter.addDateSelectListener(this._dateSelectListener);\n this._open = true;\n this._adapter.setHostAttribute(BASE_DATE_PICKER_CONSTANTS.observedAttributes.OPEN);\n\n if (emitOpenEvent) {\n this._emitOpenEvent();\n }\n }\n\n protected _closeCalendar(emitCloseEvent = false): void {\n this._open = false;\n this._adapter.removeHostAttribute(BASE_DATE_PICKER_CONSTANTS.observedAttributes.OPEN);\n this._adapter.removeDateSelectListener(this._dateSelectListener);\n this._adapter.detachCalendar();\n if (emitCloseEvent) {\n this._emitCloseEvent();\n }\n }\n\n protected _onInputKeydown(evt: KeyboardEvent): void {\n // Handle keyboard shortcuts that make use of the shift key first\n if (evt.shiftKey) {\n switch (evt.key) {\n case 'Delete':\n case 'Backspace':\n evt.preventDefault();\n this._onClear();\n if (this._open) {\n this._closeCalendar(true);\n }\n return;\n case 'ArrowLeft':\n case 'ArrowRight':\n case 'm':\n case 'M':\n case 'y':\n case 'Y':\n case 'd':\n case 'D':\n if (this._open) {\n evt.preventDefault();\n this._adapter.propagateCalendarKey(evt);\n return;\n }\n break;\n }\n }\n\n switch (evt.key) {\n case 'Escape':\n if (this._open) {\n evt.preventDefault();\n evt.stopPropagation();\n this._closeCalendar(true);\n }\n break;\n case 'ArrowDown':\n evt.preventDefault();\n if (!this._open) {\n this._adapter.selectInputText();\n this._openCalendar(true);\n } else {\n this._adapter.propagateCalendarKey(evt);\n }\n break;\n case 'ArrowUp':\n if (this._open) {\n evt.preventDefault();\n this._adapter.propagateCalendarKey(evt);\n }\n break;\n case 'ArrowLeft':\n case 'ArrowRight':\n case 'Enter':\n case 'Home':\n case 'End':\n if (this._open) {\n if (evt.key === 'Enter') {\n evt.stopPropagation();\n }\n evt.preventDefault();\n // If we have an input mask applied, we want to make sure it doesn't receive the key events for left and right keys\n const isLeftRight = ['ArrowLeft', 'ArrowRight'].includes(evt.key);\n if (this._masked && isLeftRight) {\n evt.stopImmediatePropagation();\n }\n this._adapter.propagateCalendarKey(evt);\n }\n break;\n case 'n':\n case 't':\n evt.preventDefault();\n this._onToday();\n if (this._open) {\n this._closeCalendar(true);\n }\n break;\n case 'PageUp':\n case 'PageDown':\n if (this._open) {\n evt.preventDefault();\n this._adapter.propagateCalendarKey(evt);\n }\n break;\n case 'Tab':\n if (this._open) {\n const activeDate = this._adapter.getCalendarActiveDate();\n if (activeDate) {\n this._onDateSelected({\n date: activeDate,\n selected: true,\n type: 'date'\n });\n }\n }\n break;\n }\n }\n\n protected _getSanitizedDateString(value: string): string {\n return value.replace(/_|[a-z]|[A-Z]/g, '').replace(/\\/$|\\/\\/$/, '');\n }\n\n private _onToggleMousedown(evt: Event): void {\n if (this._disabled) {\n return;\n }\n\n evt.stopPropagation();\n\n if (this._adapter.isInputDisabled()) {\n return;\n }\n\n evt.preventDefault();\n\n if (this._open) {\n this._closeCalendar(true);\n } else {\n if (!Platform.isMobile) {\n this._adapter.tryFocusInput();\n } else {\n this._adapter.tryBlurInput();\n }\n\n this._openCalendar(true);\n }\n }\n\n private _onDropdownClose(): void {\n this._closeCalendar(true);\n }\n\n private _onActiveDescendantChanged(id: string): void {\n this._adapter.setActiveDescendant(id);\n }\n\n protected _formatInputValue(): void {\n const inputValue = this._adapter.getInputValue();\n if (inputValue) {\n const parsedDate = this._parseDateString(inputValue);\n if (isValidDate(parsedDate) && this._isDateValueAcceptable(parsedDate)) {\n const formattedDate = this._formatDate(parsedDate);\n if (formattedDate && formattedDate !== inputValue) {\n this._adapter.setInputValue(formattedDate, this._notifyInputValueChanges);\n }\n } else {\n if (!this._allowInvalidDate) {\n this._adapter.setInputValue('', this._notifyInputValueChanges);\n }\n }\n }\n }\n\n protected _formatDate(date: Date | null | undefined): string {\n if (!isValidDate(date)) {\n return '';\n }\n return typeof this._formatCallback === 'function' ? this._formatCallback(date) : formatDate(date);\n }\n\n protected _parseDateString(value: string): Date | null {\n value = value.replace(/_|\\s/g, '');\n if (!value || !value.length) {\n return null;\n }\n const parsedDate = typeof this._parseCallback === 'function' ? this._parseCallback(value) : parseDateString(value);\n return isValidDate(parsedDate) ? parsedDate : null;\n }\n\n protected _coerceDateValue(value?: Date | string | null): Date | null | undefined {\n if (typeof value === 'string') {\n return this._parseDateString(value);\n }\n return value;\n }\n\n protected _getTypedValue(value: Date | null | undefined): Date | string | null | undefined {\n switch (this._valueMode) {\n case 'object':\n return value;\n case 'string':\n return this._formatDate(value);\n case 'iso-string':\n if (value) {\n // Remove the time portion of the date\n value.setHours(0, 0, 0, 0);\n }\n return value ? value.toISOString() : null;\n default:\n return value;\n }\n }\n\n protected _isDateValueAcceptable(value?: Date | null): boolean {\n if (!value || this._allowInvalidDate) {\n return true;\n }\n\n const passesMinDate = (): boolean => this._min && !this._allowInvalidDate ? this._min.getTime() <= value.getTime() : true;\n const passesMaxDate = (): boolean => this._max && !this._allowInvalidDate ? this._max.getTime() >= value.getTime() : true;\n const disabledDates = (): Date[] => Array.isArray(this._disabledDates) ? this._disabledDates : this._disabledDates ? [this._disabledDates] : [];\n const isNotDisabled = (): boolean => !disabledDates().some(bd => bd.getTime() === value.getTime());\n const dayNotDisabled = (): boolean => !(this._disabledDaysOfWeek && this._disabledDaysOfWeek.includes(value.getDay()));\n const dateNotDisabledThroughCallback = (): boolean => typeof this._disableDayCallback !== 'function' || !this._disableDayCallback(value);\n\n return passesMinDate() && passesMaxDate() && isNotDisabled() && dayNotDisabled() && dateNotDisabledThroughCallback();\n }\n\n protected _initializeMask(): void {\n const options: IDateInputMaskOptions = {\n showMaskFormat: this._showMaskFormat && this._adapter.isInputFocused(),\n pattern: this._maskFormat,\n onChange: (value: string) => this._handleInput(value)\n };\n\n if (this._prepareMaskCallback) {\n options.prepareCallback = (value, masked, flags, maskInstance) => {\n return this._prepareMaskCallback.call(null, value, masked, flags, maskInstance);\n };\n }\n\n this._adapter.initializeMask(options);\n }\n\n private _applyMask(): void {\n if (this._masked) {\n this._initializeMask();\n } else {\n this._adapter.destroyMask();\n this._formatInputValue();\n }\n }\n\n protected _applyMin(): void {\n if (this._isInitialized) {\n this._adapter.setCalendarMinDate(this._min);\n }\n }\n protected _applyMax(): void {\n if (this._isInitialized) {\n this._adapter.setCalendarMaxDate(this._max);\n }\n }\n\n private _applyDisableDayCallback(): void {\n this._adapter.setCalendarDisableDayCallback(this._disableDayCallback);\n }\n\n private _applyDisabled(): void {\n this._adapter.setDisabled(this._disabled);\n }\n\n public get valueMode(): DatePickerValueMode {\n return this._valueMode;\n }\n public set valueMode(value: DatePickerValueMode) {\n if (this._valueMode !== value) {\n const isValidMode = ['object', 'string', 'iso-string'].includes(value);\n if (!isValidMode) {\n return;\n }\n this._valueMode = value;\n this._emitChangeEvent(this._value);\n this._adapter.setHostAttribute(BASE_DATE_PICKER_CONSTANTS.observedAttributes.VALUE_MODE, this._valueMode);\n }\n }\n\n public get min(): Date | string | null | undefined {\n return this._min ? new Date(this._min.getTime()) : null;\n }\n public set min(value: Date | string | null | undefined) {\n if (this._min !== value) {\n const date = this._coerceDateValue(value);\n this._min = !!date ? new Date(date.getTime()) : null;\n this._applyMin();\n\n if (this._isInitialized && this._open) {\n this._adapter.setCalendarMinDate(this._min);\n }\n }\n }\n\n public get max(): Date | string | null | undefined {\n return this._max ? new Date(this._max.getTime()) : null;\n }\n public set max(value: Date | string | null | undefined) {\n if (this._max !== value) {\n this._max = this._coerceDateValue(value);\n this._applyMax();\n\n if (this._isInitialized && this._open) {\n this._adapter.setCalendarMaxDate(this._max);\n }\n }\n }\n\n public get open(): boolean {\n return this._open;\n }\n public set open(value: boolean) {\n if (this._open !== value) {\n if (this._isInitialized) {\n this._open = value;\n if (this._open) {\n this._openCalendar();\n } else {\n this._closeCalendar();\n }\n }\n }\n }\n\n public get disabled(): boolean {\n return this._disabled;\n }\n public set disabled(value: boolean) {\n if (this._disabled !== value) {\n this._disabled = value;\n if (this._isInitialized) {\n this._applyDisabled();\n }\n }\n }\n\n public get disabledDates(): Date | Date[] | null | undefined {\n if (!this._disabledDates) {\n return null;\n }\n\n if (Array.isArray(this._disabledDates)) {\n return this._disabledDates.map(d => new Date(d.getTime()));\n }\n\n return new Date(this._disabledDates.getTime());\n }\n\n public set disabledDates(value: Date | Date[] | null | undefined) {\n if (!value) {\n this._disabledDates = null;\n } else if (Array.isArray(value)) {\n this._disabledDates = value.map(d => new Date(d.getTime()));\n } else {\n this._disabledDates = new Date(value.getTime());\n }\n\n if (this._isInitialized && this._open) {\n this._adapter.setCalendarDisabledDates(this._disabledDates);\n }\n\n this._applyDisabledDates();\n }\n\n public get popupClasses(): string | string[] {\n if (Array.isArray(this._popupClasses)) {\n return [...this._popupClasses];\n }\n\n return this._popupClasses;\n }\n public set popupClasses(value: string | string[]) {\n if (Array.isArray(value)) {\n this._popupClasses = [...value];\n } else {\n this._popupClasses = value;\n }\n }\n\n public get masked(): boolean {\n return this._masked;\n }\n public set masked(value: boolean) {\n if (this._masked !== value) {\n this._masked = value;\n if (this._isInitialized) {\n if (this._masked) {\n this._removeInputChangeListeners();\n this._applyMask();\n } else {\n this._adapter.destroyMask();\n this._setInputChangeListeners();\n this._formatInputValue();\n }\n }\n }\n }\n\n public get maskFormat(): string {\n return this._maskFormat;\n }\n public set maskFormat(value: string) {\n if (this._maskFormat !== value) {\n this._maskFormat = value;\n if (this._isInitialized) {\n this._applyMask();\n }\n }\n }\n\n public get showMaskFormat(): boolean {\n return this._showMaskFormat;\n }\n public set showMaskFormat(value: boolean) {\n if (this._showMaskFormat !== value) {\n this._showMaskFormat = value;\n }\n }\n\n public get notifyInputValueChanges(): boolean {\n return this._notifyInputValueChanges;\n }\n public set notifyInputValueChanges(value: boolean) {\n this._notifyInputValueChanges = value;\n }\n\n public get allowInvalidDate(): boolean {\n return this._allowInvalidDate;\n }\n public set allowInvalidDate(value: boolean) {\n if (this._allowInvalidDate !== value) {\n this._allowInvalidDate = value;\n this._adapter.toggleHostAttribute(BASE_DATE_PICKER_CONSTANTS.observedAttributes.ALLOW_INVALID_DATE, this._allowInvalidDate);\n }\n }\n\n public get disabledDaysOfWeek(): DayOfWeek[] {\n return this._disabledDaysOfWeek;\n }\n public set disabledDaysOfWeek(value: DayOfWeek[]) {\n if (this._disabledDaysOfWeek !== value) {\n this._disabledDaysOfWeek = value;\n\n if (this._isInitialized && this._open) {\n this._adapter.setCalendarDisabledDaysOfWeek(this._disabledDaysOfWeek);\n }\n\n this._applyDisabledDaysOfWeek();\n }\n }\n\n public get disableDayCallback(): (date: Date) => boolean {\n return this._disableDayCallback;\n }\n public set disableDayCallback(value: (date: Date) => boolean) {\n if (value !== this._disableDayCallback) {\n this._disableDayCallback = value;\n this._applyDisableDayCallback();\n }\n }\n\n public get parseCallback(): DatePickerParseCallback {\n return this._parseCallback;\n }\n public set parseCallback(cb: DatePickerParseCallback) {\n this._parseCallback = cb;\n if (this._isInitialized) {\n this._applyMask();\n }\n }\n\n public get formatCallback(): DatePickerFormatCallback {\n return this._formatCallback;\n }\n public set formatCallback(cb: DatePickerFormatCallback) {\n this._formatCallback = cb;\n if (this._isInitialized) {\n this._applyMask();\n }\n }\n\n public get prepareMaskCallback(): DatePickerPrepareMaskCallback {\n return this._prepareMaskCallback;\n }\n public set prepareMaskCallback(cb: DatePickerPrepareMaskCallback) {\n this._prepareMaskCallback = cb;\n if (this._isInitialized) {\n this._applyMask();\n }\n }\n\n public get showToday(): boolean {\n return this._showToday;\n }\n public set showToday(value: boolean) {\n this._showToday = value;\n }\n\n public get showClear(): boolean {\n return this._showClear;\n }\n public set showClear(value: boolean) {\n this._showClear = value;\n }\n\n public get yearRange(): string {\n return this._yearRange;\n }\n public set yearRange(value: string) {\n if (this._yearRange !== value) {\n this._yearRange = value;\n\n if (this._isInitialized && this._open) {\n this._adapter.setCalendarYearRange(this._yearRange);\n }\n }\n }\n\n public get locale(): string | undefined {\n return this._locale;\n }\n public set locale(value: string | undefined) {\n if (this._locale !== value) {\n this._locale = value;\n\n if (this._isInitialized && this._open) {\n this._adapter.setCalendarLocale(this._locale);\n }\n }\n }\n}\n"],
5
- "mappings": "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",
6
- "names": ["observedAttributes", "attributes", "selectors", "BASE_DATE_PICKER_CONSTANTS", "BaseDatePickerComponent", "BaseComponent", "BASE_DATE_PICKER_CONSTANTS", "ensureChild", "name", "oldValue", "newValue", "coerceBoolean", "coerceNumberArray", "__decorateClass", "FoundationProperty", "createToggleElement", "iconName", "iconButtonElement", "buttonElement", "iconElement", "BaseDatePickerAdapter", "BaseAdapter", "component", "randomChars", "_a", "cb", "type", "listener", "calendarConfig", "dropdownConfig", "_b", "_c", "date", "CALENDAR_CONSTANTS", "value", "disableDayCallback", "locale", "evt", "textField", "toggleElement", "BASE_DATE_PICKER_CONSTANTS", "existingIconButton", "ICON_BUTTON_CONSTANTS", "iconButtonElement", "createToggleElement", "textFieldRoot", "getShadowElement", "TEXT_FIELD_CONSTANTS", "BaseDatePickerFoundation", "_adapter", "DEFAULT_DATE_MASK", "evt", "value", "id", "_a", "emitOpenEvent", "calendarConfig", "dropdownConfig", "currentDate", "BASE_DATE_PICKER_CONSTANTS", "emitCloseEvent", "isLeftRight", "activeDate", "Platform", "inputValue", "parsedDate", "isValidDate", "formattedDate", "date", "formatDate", "parseDateString", "passesMinDate", "passesMaxDate", "disabledDates", "isNotDisabled", "bd", "dayNotDisabled", "dateNotDisabledThroughCallback", "options", "masked", "flags", "maskInstance", "d", "cb"]
7
- }