@tylertech/forge 2.8.0 → 2.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (276) hide show
  1. package/custom-elements.json +4350 -82
  2. package/dist/esm/accordion/index.js +7 -7
  3. package/dist/esm/app-bar/help-button/index.js +9 -9
  4. package/dist/esm/app-bar/index.js +15 -15
  5. package/dist/esm/app-bar/menu-button/index.js +6 -6
  6. package/dist/esm/app-bar/notification-button/index.js +6 -6
  7. package/dist/esm/app-bar/profile-button/index.js +7 -7
  8. package/dist/esm/app-bar/search/index.js +5 -5
  9. package/dist/esm/autocomplete/index.js +13 -13
  10. package/dist/esm/banner/index.js +6 -6
  11. package/dist/esm/bottom-sheet/index.js +5 -5
  12. package/dist/esm/busy-indicator/index.js +4 -4
  13. package/dist/esm/button/index.js +3 -3
  14. package/dist/esm/calendar/calendar-dropdown/index.js +2 -2
  15. package/dist/esm/calendar/calendar-menu/index.js +2 -2
  16. package/dist/esm/calendar/index.js +7 -7
  17. package/dist/esm/checkbox/index.js +2 -2
  18. package/dist/esm/chip-field/index.js +9 -9
  19. package/dist/esm/chips/chip/index.js +6 -6
  20. package/dist/esm/chips/chip-set/index.js +6 -6
  21. package/dist/esm/chips/index.js +7 -7
  22. package/dist/esm/chunks/{chunk.VXVE7KEM.js → chunk.2QB3WXEH.js} +4 -4
  23. package/dist/esm/chunks/{chunk.VXVE7KEM.js.map → chunk.2QB3WXEH.js.map} +0 -0
  24. package/dist/esm/chunks/{chunk.3QXCVTCP.js → chunk.2Z23LQVW.js} +2 -2
  25. package/dist/esm/chunks/{chunk.3QXCVTCP.js.map → chunk.2Z23LQVW.js.map} +0 -0
  26. package/dist/esm/chunks/{chunk.BEAJZPWS.js → chunk.3TFBNPQF.js} +2 -2
  27. package/dist/esm/chunks/{chunk.BEAJZPWS.js.map → chunk.3TFBNPQF.js.map} +0 -0
  28. package/dist/esm/chunks/{chunk.2MBI5DLT.js → chunk.3ULPDQ2I.js} +71 -15
  29. package/dist/esm/chunks/chunk.3ULPDQ2I.js.map +7 -0
  30. package/dist/esm/chunks/{chunk.JC2PZ4TS.js → chunk.5DJS3K7V.js} +10 -8
  31. package/dist/esm/chunks/chunk.5DJS3K7V.js.map +7 -0
  32. package/dist/esm/chunks/{chunk.GHZ75UPO.js → chunk.5EBM357P.js} +3 -3
  33. package/dist/esm/chunks/{chunk.GHZ75UPO.js.map → chunk.5EBM357P.js.map} +0 -0
  34. package/dist/esm/chunks/{chunk.J5NUYQ4D.js → chunk.5XUOWRCK.js} +3 -3
  35. package/dist/esm/chunks/{chunk.J5NUYQ4D.js.map → chunk.5XUOWRCK.js.map} +0 -0
  36. package/dist/esm/chunks/{chunk.6EGTLHJS.js → chunk.65ZCTZEM.js} +6 -2
  37. package/dist/esm/chunks/{chunk.6EGTLHJS.js.map → chunk.65ZCTZEM.js.map} +2 -2
  38. package/dist/esm/chunks/chunk.A5GIQB6E.js +20 -0
  39. package/dist/esm/chunks/{chunk.2NMHSTAO.js.map → chunk.A5GIQB6E.js.map} +3 -3
  40. package/dist/esm/chunks/{chunk.PM7D2SUE.js → chunk.A6YZB7UK.js} +33 -2
  41. package/dist/esm/chunks/{chunk.PM7D2SUE.js.map → chunk.A6YZB7UK.js.map} +2 -2
  42. package/dist/esm/chunks/chunk.AJJILT3A.js +6 -0
  43. package/dist/esm/chunks/chunk.AJJILT3A.js.map +7 -0
  44. package/dist/esm/chunks/chunk.CGKWQIL3.js +1236 -0
  45. package/dist/esm/chunks/chunk.CGKWQIL3.js.map +7 -0
  46. package/dist/esm/chunks/chunk.CGOYP37Z.js +345 -0
  47. package/dist/esm/chunks/chunk.CGOYP37Z.js.map +7 -0
  48. package/dist/esm/chunks/{chunk.QYWAZCBX.js → chunk.CTMCTMRO.js} +2 -2
  49. package/dist/esm/chunks/{chunk.QYWAZCBX.js.map → chunk.CTMCTMRO.js.map} +0 -0
  50. package/dist/esm/chunks/{chunk.2NMHSTAO.js → chunk.D2AL6QLF.js} +10 -13
  51. package/dist/esm/chunks/chunk.D2AL6QLF.js.map +7 -0
  52. package/dist/esm/chunks/{chunk.U5ECVIX5.js → chunk.D3MXPNTL.js} +2 -2
  53. package/dist/esm/chunks/{chunk.U5ECVIX5.js.map → chunk.D3MXPNTL.js.map} +0 -0
  54. package/dist/esm/chunks/{chunk.HAWYW54W.js → chunk.D45QN7JA.js} +5 -5
  55. package/dist/esm/chunks/{chunk.HAWYW54W.js.map → chunk.D45QN7JA.js.map} +0 -0
  56. package/dist/esm/chunks/{chunk.2WBHHTUM.js → chunk.EFQZGAM5.js} +2 -2
  57. package/dist/esm/chunks/{chunk.2WBHHTUM.js.map → chunk.EFQZGAM5.js.map} +0 -0
  58. package/dist/esm/chunks/{chunk.BLZJIYMG.js → chunk.F5O63UF4.js} +2 -2
  59. package/dist/esm/chunks/{chunk.BLZJIYMG.js.map → chunk.F5O63UF4.js.map} +0 -0
  60. package/dist/esm/chunks/{chunk.RL7ZFLMG.js → chunk.FRT7RD5L.js} +2 -2
  61. package/dist/esm/chunks/{chunk.RL7ZFLMG.js.map → chunk.FRT7RD5L.js.map} +0 -0
  62. package/dist/esm/chunks/{chunk.LK2DN5KX.js → chunk.GG3O42UP.js} +4 -4
  63. package/dist/esm/chunks/{chunk.LK2DN5KX.js.map → chunk.GG3O42UP.js.map} +0 -0
  64. package/dist/esm/chunks/{chunk.WSH4S3GM.js → chunk.GVR5LXMJ.js} +2 -2
  65. package/dist/esm/chunks/{chunk.WSH4S3GM.js.map → chunk.GVR5LXMJ.js.map} +0 -0
  66. package/dist/esm/chunks/{chunk.LHWZ4KZU.js → chunk.HL2ORG3A.js} +4 -4
  67. package/dist/esm/chunks/{chunk.LHWZ4KZU.js.map → chunk.HL2ORG3A.js.map} +1 -1
  68. package/dist/esm/chunks/{chunk.ELAJS33V.js → chunk.J2FCOFOE.js} +2 -2
  69. package/dist/esm/chunks/{chunk.ELAJS33V.js.map → chunk.J2FCOFOE.js.map} +0 -0
  70. package/dist/esm/chunks/{chunk.PKZ43JNW.js → chunk.JM6SZSUI.js} +50 -4
  71. package/dist/esm/chunks/{chunk.PKZ43JNW.js.map → chunk.JM6SZSUI.js.map} +2 -2
  72. package/dist/esm/chunks/{chunk.VXAPRFMK.js → chunk.K4B7NJ2G.js} +4 -4
  73. package/dist/esm/chunks/{chunk.VXAPRFMK.js.map → chunk.K4B7NJ2G.js.map} +0 -0
  74. package/dist/esm/chunks/{chunk.67B6JDOJ.js → chunk.KVOXJKCU.js} +3 -3
  75. package/dist/esm/chunks/{chunk.67B6JDOJ.js.map → chunk.KVOXJKCU.js.map} +0 -0
  76. package/dist/esm/chunks/{chunk.ITQ55IPH.js → chunk.LTN47GWQ.js} +4 -4
  77. package/dist/esm/chunks/{chunk.ITQ55IPH.js.map → chunk.LTN47GWQ.js.map} +0 -0
  78. package/dist/esm/chunks/{chunk.UPW5HUKB.js → chunk.NU3XRT37.js} +5 -5
  79. package/dist/esm/chunks/{chunk.UPW5HUKB.js.map → chunk.NU3XRT37.js.map} +0 -0
  80. package/dist/esm/chunks/{chunk.I6PJGNJS.js → chunk.NWPH4FRE.js} +6 -6
  81. package/dist/esm/chunks/chunk.NWPH4FRE.js.map +7 -0
  82. package/dist/esm/chunks/{chunk.KNR5DXE4.js → chunk.OTJJU35B.js} +2 -2
  83. package/dist/esm/chunks/{chunk.KNR5DXE4.js.map → chunk.OTJJU35B.js.map} +0 -0
  84. package/dist/esm/chunks/{chunk.BVGJFMEG.js → chunk.PRRL5C6Z.js} +7 -7
  85. package/dist/esm/chunks/{chunk.BVGJFMEG.js.map → chunk.PRRL5C6Z.js.map} +0 -0
  86. package/dist/esm/chunks/{chunk.TIUNGGBF.js → chunk.QFG7SPQV.js} +3 -3
  87. package/dist/esm/chunks/{chunk.TIUNGGBF.js.map → chunk.QFG7SPQV.js.map} +0 -0
  88. package/dist/esm/chunks/{chunk.XE7ZMJBZ.js → chunk.QKCIMRRG.js} +32 -17
  89. package/dist/esm/chunks/chunk.QKCIMRRG.js.map +7 -0
  90. package/dist/esm/chunks/{chunk.IGBDDH3J.js → chunk.QRGWP6Z2.js} +3 -3
  91. package/dist/esm/chunks/chunk.QRGWP6Z2.js.map +7 -0
  92. package/dist/esm/chunks/{chunk.MUP3NY6M.js → chunk.QSFE3J74.js} +5 -5
  93. package/dist/esm/chunks/{chunk.MUP3NY6M.js.map → chunk.QSFE3J74.js.map} +0 -0
  94. package/dist/esm/chunks/{chunk.UFMUXBT4.js → chunk.R357QRWX.js} +53 -49
  95. package/dist/esm/chunks/chunk.R357QRWX.js.map +7 -0
  96. package/dist/esm/chunks/{chunk.46BED43J.js → chunk.SVS3G6Y7.js} +5 -19
  97. package/dist/esm/chunks/chunk.SVS3G6Y7.js.map +7 -0
  98. package/dist/esm/chunks/{chunk.S3UVF647.js → chunk.TBQ72CBS.js} +3 -3
  99. package/dist/esm/chunks/{chunk.S3UVF647.js.map → chunk.TBQ72CBS.js.map} +0 -0
  100. package/dist/esm/chunks/{chunk.ZSHQMR4O.js → chunk.TSHHEAIC.js} +2 -2
  101. package/dist/esm/chunks/{chunk.ZSHQMR4O.js.map → chunk.TSHHEAIC.js.map} +0 -0
  102. package/dist/esm/chunks/{chunk.EBC2HGO3.js → chunk.UAW46BWM.js} +3 -3
  103. package/dist/esm/chunks/{chunk.EBC2HGO3.js.map → chunk.UAW46BWM.js.map} +0 -0
  104. package/dist/esm/chunks/{chunk.FJJVIMZ2.js → chunk.V6ESTGWD.js} +5 -5
  105. package/dist/esm/chunks/chunk.V6ESTGWD.js.map +7 -0
  106. package/dist/esm/chunks/{chunk.5OYAJ36F.js → chunk.VLAUYV76.js} +2 -2
  107. package/dist/esm/chunks/{chunk.5OYAJ36F.js.map → chunk.VLAUYV76.js.map} +0 -0
  108. package/dist/esm/chunks/{chunk.L4OUV7W6.js → chunk.VSKPHQZE.js} +4 -4
  109. package/dist/esm/chunks/{chunk.L4OUV7W6.js.map → chunk.VSKPHQZE.js.map} +0 -0
  110. package/dist/esm/chunks/{chunk.GS2AXUCN.js → chunk.WOL4KRZK.js} +6 -1
  111. package/dist/esm/chunks/{chunk.GS2AXUCN.js.map → chunk.WOL4KRZK.js.map} +1 -1
  112. package/dist/esm/chunks/{chunk.TM46MNYN.js → chunk.WQRR5OGK.js} +5 -5
  113. package/dist/esm/chunks/{chunk.TM46MNYN.js.map → chunk.WQRR5OGK.js.map} +0 -0
  114. package/dist/esm/chunks/chunk.X2RP4QW3.js +6 -0
  115. package/dist/esm/chunks/chunk.X2RP4QW3.js.map +7 -0
  116. package/dist/esm/chunks/{chunk.K7OLG7CS.js → chunk.X3TV6IHS.js} +2 -2
  117. package/dist/esm/chunks/{chunk.K7OLG7CS.js.map → chunk.X3TV6IHS.js.map} +0 -0
  118. package/dist/esm/chunks/{chunk.U37G47LH.js → chunk.XC56O73Q.js} +6 -6
  119. package/dist/esm/chunks/{chunk.U37G47LH.js.map → chunk.XC56O73Q.js.map} +0 -0
  120. package/dist/esm/chunks/{chunk.QWW6A7AF.js → chunk.XRK62M5E.js} +2 -2
  121. package/dist/esm/chunks/{chunk.QWW6A7AF.js.map → chunk.XRK62M5E.js.map} +0 -0
  122. package/dist/esm/chunks/{chunk.ZLF2G3YT.js → chunk.XSS7BYJS.js} +3 -3
  123. package/dist/esm/chunks/{chunk.ZLF2G3YT.js.map → chunk.XSS7BYJS.js.map} +0 -0
  124. package/dist/esm/chunks/{chunk.PNKLV3BK.js → chunk.YCHKXJLN.js} +2 -2
  125. package/dist/esm/chunks/{chunk.PNKLV3BK.js.map → chunk.YCHKXJLN.js.map} +0 -0
  126. package/dist/esm/chunks/{chunk.UQ3QTUUB.js → chunk.YMP3JQQQ.js} +2 -2
  127. package/dist/esm/chunks/{chunk.UQ3QTUUB.js.map → chunk.YMP3JQQQ.js.map} +0 -0
  128. package/dist/esm/chunks/{chunk.7I2XNJBL.js → chunk.YTFOQNFU.js} +6 -16
  129. package/dist/esm/chunks/chunk.YTFOQNFU.js.map +7 -0
  130. package/dist/esm/chunks/{chunk.IJW2YKP3.js → chunk.Z5KLXKMB.js} +21 -15
  131. package/dist/esm/chunks/chunk.Z5KLXKMB.js.map +7 -0
  132. package/dist/esm/chunks/{chunk.MBZLA635.js → chunk.ZIZGRSAX.js} +6 -6
  133. package/dist/esm/chunks/{chunk.MBZLA635.js.map → chunk.ZIZGRSAX.js.map} +1 -1
  134. package/dist/esm/chunks/{chunk.CLEUHAZ6.js → chunk.ZLX3L6KW.js} +2 -2
  135. package/dist/esm/chunks/{chunk.CLEUHAZ6.js.map → chunk.ZLX3L6KW.js.map} +0 -0
  136. package/dist/esm/color-picker/index.js +6 -6
  137. package/dist/esm/core/index.js +14 -2
  138. package/dist/esm/core/utils/index.js +14 -2
  139. package/dist/esm/date-picker/index.js +11 -11
  140. package/dist/esm/date-range-picker/index.js +11 -11
  141. package/dist/esm/dialog/index.js +5 -5
  142. package/dist/esm/drawer/base/index.js +2 -2
  143. package/dist/esm/drawer/drawer/index.js +3 -3
  144. package/dist/esm/drawer/index.js +5 -5
  145. package/dist/esm/drawer/mini-drawer/index.js +3 -3
  146. package/dist/esm/drawer/modal-drawer/index.js +3 -3
  147. package/dist/esm/expansion-panel/index.js +6 -6
  148. package/dist/esm/file-picker/index.js +4 -4
  149. package/dist/esm/icon/index.js +3 -3
  150. package/dist/esm/icon-button/index.js +4 -4
  151. package/dist/esm/index.js +168 -93
  152. package/dist/esm/list-dropdown/index.js +5 -5
  153. package/dist/esm/menu/index.js +7 -7
  154. package/dist/esm/open-icon/index.js +5 -5
  155. package/dist/esm/paginator/index.js +12 -12
  156. package/dist/esm/profile-card/index.js +4 -4
  157. package/dist/esm/quantity-field/index.js +6 -7
  158. package/dist/esm/select/core/index.js +7 -7
  159. package/dist/esm/select/index.js +11 -11
  160. package/dist/esm/select/select/index.js +9 -9
  161. package/dist/esm/select/select-dropdown/index.js +9 -9
  162. package/dist/esm/slider/index.js +2 -2
  163. package/dist/esm/split-view/core/index.js +7 -0
  164. package/dist/esm/split-view/core/index.js.map +7 -0
  165. package/dist/esm/split-view/index.js +92 -0
  166. package/dist/esm/split-view/index.js.map +7 -0
  167. package/dist/esm/split-view/split-view/index.js +44 -0
  168. package/dist/esm/split-view/split-view/index.js.map +7 -0
  169. package/dist/esm/split-view/split-view-panel/index.js +78 -0
  170. package/dist/esm/split-view/split-view-panel/index.js.map +7 -0
  171. package/dist/esm/stepper/index.js +6 -6
  172. package/dist/esm/stepper/step/index.js +5 -5
  173. package/dist/esm/stepper/stepper/index.js +6 -6
  174. package/dist/esm/switch/index.js +2 -2
  175. package/dist/esm/table/index.js +7 -7
  176. package/dist/esm/tabs/index.js +6 -6
  177. package/dist/esm/tabs/tab-bar/index.js +6 -6
  178. package/dist/esm/text-field/index.js +2 -2
  179. package/dist/esm/time-picker/index.js +11 -10
  180. package/dist/esm/toast/index.js +7 -7
  181. package/esm/app-bar/profile-button/app-bar-profile-button-adapter.d.ts +6 -1
  182. package/esm/app-bar/profile-button/app-bar-profile-button-adapter.js +30 -12
  183. package/esm/app-bar/profile-button/app-bar-profile-button-constants.d.ts +4 -0
  184. package/esm/app-bar/profile-button/app-bar-profile-button-constants.js +2 -0
  185. package/esm/app-bar/profile-button/app-bar-profile-button-foundation.d.ts +8 -0
  186. package/esm/app-bar/profile-button/app-bar-profile-button-foundation.js +22 -0
  187. package/esm/app-bar/profile-button/app-bar-profile-button.d.ts +4 -0
  188. package/esm/app-bar/profile-button/app-bar-profile-button.js +14 -0
  189. package/esm/autocomplete/autocomplete-adapter.d.ts +2 -0
  190. package/esm/autocomplete/autocomplete-adapter.js +4 -0
  191. package/esm/autocomplete/autocomplete-foundation.js +10 -7
  192. package/esm/chip-field/chip-field-adapter.d.ts +1 -1
  193. package/esm/chip-field/chip-field-adapter.js +2 -2
  194. package/esm/chip-field/chip-field.js +1 -1
  195. package/esm/chips/chip/chip.js +1 -1
  196. package/esm/core/utils/event-utils.d.ts +1 -0
  197. package/esm/core/utils/event-utils.js +3 -0
  198. package/esm/core/utils/utils.d.ts +36 -0
  199. package/esm/core/utils/utils.js +57 -0
  200. package/esm/date-picker/date-picker-foundation.js +3 -1
  201. package/esm/field/field-adapter.d.ts +4 -4
  202. package/esm/field/field-adapter.js +4 -13
  203. package/esm/field/field-foundation.js +2 -2
  204. package/esm/index.d.ts +1 -0
  205. package/esm/index.js +3 -0
  206. package/esm/profile-card/profile-card-adapter.d.ts +4 -0
  207. package/esm/profile-card/profile-card-adapter.js +6 -0
  208. package/esm/profile-card/profile-card-constants.d.ts +4 -0
  209. package/esm/profile-card/profile-card-constants.js +5 -1
  210. package/esm/profile-card/profile-card-foundation.d.ts +6 -0
  211. package/esm/profile-card/profile-card-foundation.js +22 -0
  212. package/esm/profile-card/profile-card.d.ts +4 -0
  213. package/esm/profile-card/profile-card.js +15 -1
  214. package/esm/quantity-field/quantity-field-adapter.d.ts +0 -2
  215. package/esm/quantity-field/quantity-field-adapter.js +1 -13
  216. package/esm/quantity-field/quantity-field-foundation.js +0 -1
  217. package/esm/quantity-field/quantity-field.js +1 -1
  218. package/esm/select/select/select.js +1 -1
  219. package/esm/split-view/core/index.d.ts +6 -0
  220. package/esm/split-view/core/index.js +6 -0
  221. package/esm/split-view/core/split-view-base.d.ts +14 -0
  222. package/esm/split-view/core/split-view-base.js +6 -0
  223. package/esm/split-view/index.d.ts +8 -0
  224. package/esm/split-view/index.js +8 -0
  225. package/esm/split-view/split-view/index.d.ts +10 -0
  226. package/esm/split-view/split-view/index.js +14 -0
  227. package/esm/split-view/split-view/split-view-adapter.d.ts +29 -0
  228. package/esm/split-view/split-view/split-view-adapter.js +62 -0
  229. package/esm/split-view/split-view/split-view-constants.d.ts +41 -0
  230. package/esm/split-view/split-view/split-view-constants.js +40 -0
  231. package/esm/split-view/split-view/split-view-foundation.d.ts +86 -0
  232. package/esm/split-view/split-view/split-view-foundation.js +179 -0
  233. package/esm/split-view/split-view/split-view.d.ts +67 -0
  234. package/esm/split-view/split-view/split-view.js +103 -0
  235. package/esm/split-view/split-view-panel/index.d.ts +11 -0
  236. package/esm/split-view/split-view-panel/index.js +15 -0
  237. package/esm/split-view/split-view-panel/split-view-panel-adapter.d.ts +171 -0
  238. package/esm/split-view/split-view-panel/split-view-panel-adapter.js +295 -0
  239. package/esm/split-view/split-view-panel/split-view-panel-constants.d.ts +97 -0
  240. package/esm/split-view/split-view-panel/split-view-panel-constants.js +78 -0
  241. package/esm/split-view/split-view-panel/split-view-panel-foundation.d.ts +235 -0
  242. package/esm/split-view/split-view-panel/split-view-panel-foundation.js +667 -0
  243. package/esm/split-view/split-view-panel/split-view-panel-utils.d.ts +130 -0
  244. package/esm/split-view/split-view-panel/split-view-panel-utils.js +300 -0
  245. package/esm/split-view/split-view-panel/split-view-panel.d.ts +105 -0
  246. package/esm/split-view/split-view-panel/split-view-panel.js +173 -0
  247. package/esm/table/table-utils.d.ts +2 -2
  248. package/esm/table/table-utils.js +30 -14
  249. package/esm/text-field/text-field-adapter.d.ts +1 -1
  250. package/esm/text-field/text-field-adapter.js +2 -2
  251. package/esm/text-field/text-field.js +1 -1
  252. package/package.json +2 -2
  253. package/styles/chip-field/_base.scss +2 -2
  254. package/styles/chip-field/_selector.scss +1 -1
  255. package/styles/chip-field/_variables.scss +1 -1
  256. package/styles/chips/chip/_mixins.scss +4 -3
  257. package/styles/chips/chip/_variables.scss +3 -2
  258. package/styles/field/_base.scss +16 -4
  259. package/styles/field/_selector.scss +4 -4
  260. package/styles/quantity-field/_mixins.scss +1 -1
  261. package/styles/select/select/_selector.scss +1 -1
  262. package/styles/split-view/split-view/_mixins.scss +48 -0
  263. package/styles/split-view/split-view/split-view.scss +25 -0
  264. package/styles/split-view/split-view-panel/_mixins.scss +260 -0
  265. package/styles/split-view/split-view-panel/_variables.scss +7 -0
  266. package/styles/split-view/split-view-panel/split-view-panel.scss +23 -0
  267. package/dist/esm/chunks/chunk.2MBI5DLT.js.map +0 -7
  268. package/dist/esm/chunks/chunk.46BED43J.js.map +0 -7
  269. package/dist/esm/chunks/chunk.7I2XNJBL.js.map +0 -7
  270. package/dist/esm/chunks/chunk.FJJVIMZ2.js.map +0 -7
  271. package/dist/esm/chunks/chunk.I6PJGNJS.js.map +0 -7
  272. package/dist/esm/chunks/chunk.IGBDDH3J.js.map +0 -7
  273. package/dist/esm/chunks/chunk.IJW2YKP3.js.map +0 -7
  274. package/dist/esm/chunks/chunk.JC2PZ4TS.js.map +0 -7
  275. package/dist/esm/chunks/chunk.UFMUXBT4.js.map +0 -7
  276. package/dist/esm/chunks/chunk.XE7ZMJBZ.js.map +0 -7
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/list-dropdown/list-dropdown-constants.ts", "../../../../../../node_modules/@tylertech/forge-core/esm/events/event-aware.js", "../../../../../../node_modules/@tylertech/forge-core/esm/scroll/scroll-types.js", "../../../../../../node_modules/@tylertech/forge-core/esm/scroll/scroll-axis-observer.js", "../../src/list-dropdown/list-dropdown-utils.ts", "../../src/list-dropdown/list-dropdown-foundation.ts", "../../src/list-dropdown/list-dropdown-adapter.ts", "../../src/list-dropdown/list-dropdown.ts", "../../src/list-dropdown/list-dropdown-aware-foundation.ts", "../../src/list-dropdown/cascading-list-dropdown-aware-foundation.ts"],
4
+ "sourcesContent": ["import { IPopupPosition, PopupPlacement } from '../popup';\n\nconst attributes = {\n POPUP_CLASSES: 'popup-classes',\n OPTION_LIMIT: 'option-limit',\n OBSERVE_SCROLL: 'observe-scroll',\n OBSERVE_SCROLL_THRESHOLD: 'observe-scroll-threshold',\n SYNC_POPUP_WIDTH: 'sync-popup-width',\n\n // Internal\n CHECKBOX_ELEMENT: 'data-list-dropdown-checkbox',\n DATA_ALLOW_FOCUS: 'data-list-dropdown-allow-focus'\n};\n\nconst classes = {\n GROUP_WRAPPER: 'forge-list-dropdown__group-wrapper'\n};\n\nexport const LIST_DROPDOWN_CONSTANTS = {\n attributes,\n classes\n};\n\nexport type ListDropdownOptionBuilder<T = HTMLElement> = (option: IListDropdownOption, parentElement: T) => HTMLElement | string | void;\nexport type ListDropdownHeaderBuilder = () => HTMLElement;\nexport type ListDropdownFooterBuilder = () => HTMLElement;\nexport type ListDropdownOptionGroupBuilder = (option: IListDropdownOptionGroup) => HTMLElement;\nexport type ListDropdownTransformCallback = (label: string) => string | HTMLElement;\nexport type ListDropdownIconType = 'font' | 'component';\n\nexport interface IBaseListDropdownOption<T = any> {\n value: T;\n label: string;\n disabled?: boolean;\n divider?: boolean;\n optionClass?: string | string[];\n leadingIcon?: string;\n leadingIconClass?: string;\n leadingIconType?: ListDropdownIconType;\n trailingIcon?: string;\n trailingIconClass?: string;\n trailingIconType?: ListDropdownIconType;\n leadingBuilder?: () => HTMLElement;\n trailingBuilder?: () => HTMLElement;\n}\n\nexport interface IListDropdownOption<T = any> extends IBaseListDropdownOption<T> {\n options?: Array<IListDropdownOption | IListDropdownOptionGroup>;\n elementAttributes?: Map<string, string>;\n}\n\nexport interface IListDropdownOptionGroup {\n options: IListDropdownOption[];\n text?: string;\n builder?: ListDropdownOptionGroupBuilder;\n}\n\nexport interface IListDropdownSelectEventData {\n value: IListDropdownOption | IListDropdownOption[];\n}\n\nexport interface IListDropdownConfig<T = any> {\n id: string;\n options: Array<IListDropdownOption | IListDropdownOptionGroup>;\n selectCallback: (value: T) => void;\n \n // Optional values\n activeChangeCallback?: (id: string) => void;\n closeCallback?: () => void;\n syncWidth?: boolean;\n selectedValues?: T[];\n multiple?: boolean;\n activeStartIndex?: number;\n transform?: ListDropdownTransformCallback;\n allowBusy?: boolean;\n asyncStyle?: ListDropdownAsyncStyle;\n iconClass?: string;\n dense?: boolean;\n type?: ListDropdownType;\n popupClasses?: string | string[];\n popupOffset?: IPopupPosition;\n popupStatic?: boolean;\n popupPlacement?: PopupPlacement;\n optionLimit?: number;\n optionBuilder?: ListDropdownOptionBuilder;\n observeScroll?: boolean;\n observeScrollThreshold?: number;\n targetWidthCallback?: () => number;\n scrollEndListener?: () => void;\n headerBuilder?: ListDropdownHeaderBuilder;\n footerBuilder?: ListDropdownFooterBuilder;\n cascade?: boolean;\n cascadingElementFactory?: (config: IListDropdownCascadingElementFactoryConfig) => HTMLElement;\n}\n\nexport interface IListDropdownCascadingElementFactoryConfig {\n index: number;\n options: Array<IListDropdownOption | IListDropdownOptionGroup>;\n parentValue: any;\n}\n\nexport const DEFAULT_LIST_DROPDOWN_CONFIG: Partial<IListDropdownConfig> = {\n options: [],\n syncWidth: false,\n selectedValues: [],\n multiple: false\n};\n\nexport interface IListDropdownOpenConfig extends IListDropdownConfig {}\n\nexport enum ListDropdownType {\n None = 'none',\n Standard = 'standard',\n Menu = 'menu'\n}\n\nexport enum ListDropdownAsyncStyle {\n Spinner = 'spinner',\n Skeleton = 'skeleton'\n}\n", "export class EventAware {\n constructor() {\n this._listenerMap = new Map();\n }\n _emit(type, data) {\n const listeners = this._listenerMap.get(type);\n if (listeners && listeners.length) {\n listeners.forEach(cb => cb({ type, data }));\n }\n }\n hasListeners(type) {\n return type ? this._listenerMap.has(type) : this._listenerMap.size > 0;\n }\n addListener(type, listener) {\n if (!this._listenerMap.has(type)) {\n this._listenerMap.set(type, [listener]);\n }\n else {\n const listeners = this._listenerMap.get(type);\n if (listeners) {\n listeners.push(listener);\n }\n }\n }\n removeListener(type, listener) {\n const listeners = this._listenerMap.get(type);\n if (listeners && listeners.length && listeners.includes(listener)) {\n listeners.splice(listeners.indexOf(listener), 1);\n if (!listeners.length) {\n this._listenerMap.delete(type);\n }\n }\n }\n}\n", "export var ScrollDirection;\n(function (ScrollDirection) {\n ScrollDirection[\"Up\"] = \"up\";\n ScrollDirection[\"Down\"] = \"down\";\n ScrollDirection[\"Left\"] = \"left\";\n ScrollDirection[\"Right\"] = \"right\";\n})(ScrollDirection || (ScrollDirection = {}));\nexport var ScrollEvents;\n(function (ScrollEvents) {\n ScrollEvents[\"Scroll\"] = \"scroll\";\n ScrollEvents[\"Scrolled\"] = \"scrolled\";\n ScrollEvents[\"ScrolledStart\"] = \"scrolled-start\";\n ScrollEvents[\"ScrolledEnd\"] = \"scrolled-end\";\n})(ScrollEvents || (ScrollEvents = {}));\n", "import { EventAware } from '../events/event-aware';\nimport { ScrollEvents, ScrollDirection } from './scroll-types';\nimport { isDefined, throttle, isNumber } from '../utils';\nconst DEFAULT_SCROLL_THROTTLE = 100;\n/**\n * Provides facilties for observing and reacting to scroll events and information on a given element.\n */\nexport class ScrollAxisObserver extends EventAware {\n constructor(_element, _config = {}) {\n super();\n this._element = _element;\n this._config = _config;\n this._axis = 'vertical';\n this._scrollThreshold = 0;\n this._lastScrollPosition = 0;\n this._lastScrollTop = 0;\n this._lastScrollLeft = 0;\n this._isListening = false;\n this._initialize();\n }\n destroy() {\n this.stop();\n }\n start() {\n if (!this._isListening) {\n this._element.addEventListener('scroll', this._scrollListener);\n this._isListening = true;\n }\n }\n stop() {\n this._element.removeEventListener('scroll', this._scrollListener);\n this._isListening = false;\n }\n _initialize() {\n if (this._config.throttle) {\n const wait = this._config.throttleTime || DEFAULT_SCROLL_THROTTLE;\n this._scrollListener = throttle(() => this._onScroll(), wait);\n }\n else {\n this._scrollListener = () => this._onScroll();\n }\n if (!isDefined(this._config.paused) || !this._config.paused) {\n this.start();\n }\n if (isDefined(this._config.axis)) {\n this._axis = this._config.axis;\n }\n if (isDefined(this._config.scrollThreshold) && isNumber(this._config.scrollThreshold)) {\n this._scrollThreshold = this._config.scrollThreshold;\n }\n }\n _isScrollAxis() {\n const isVertical = this._lastScrollTop !== this._element.scrollTop;\n const isHorizontal = this._lastScrollLeft !== this._element.scrollLeft;\n return (this._axis === 'vertical' && isVertical) || (this._axis === 'horizontal' && isHorizontal);\n }\n _onScroll() {\n if (!this._isScrollAxis()) {\n return;\n }\n const position = this.scrollPosition;\n const direction = this._lastScrollPosition - position < 0 ? this._axis === 'vertical' ? ScrollDirection.Down : ScrollDirection.Right : this._axis === 'vertical' ? ScrollDirection.Up : ScrollDirection.Left;\n this._emit(ScrollEvents.Scroll, { direction, position });\n if (this._lastScrollPosition <= this._scrollThreshold && position > this._scrollThreshold) {\n this._emit(ScrollEvents.Scrolled, true);\n }\n else if (this._lastScrollPosition >= this._scrollThreshold && (this._scrollThreshold > 0 ? position < this._scrollThreshold : position === 0)) {\n this._emit(ScrollEvents.Scrolled, false);\n }\n const scrollStart = Math.round(position - this._scrollThreshold);\n const scrollEnd = Math.round(this.scrollSize - position);\n if (this._lastScrollPosition >= this._scrollThreshold && scrollStart <= 0) {\n this._emit(ScrollEvents.ScrolledStart);\n }\n else if (this._lastScrollPosition <= (this.scrollSize - this._scrollThreshold) && scrollEnd <= this._scrollThreshold) {\n this._emit(ScrollEvents.ScrolledEnd);\n }\n this._lastScrollPosition = position || 0;\n this._lastScrollTop = this._element.scrollTop || 0;\n this._lastScrollLeft = this._element.scrollLeft || 0;\n }\n get scrollPosition() {\n return this._axis === 'vertical' ? this._element.scrollTop : this._element.scrollLeft;\n }\n get isScrolled() {\n return this.scrollPosition > this._scrollThreshold;\n }\n get isScrolledStart() {\n return this.scrollPosition === 0;\n }\n get isScrolledEnd() {\n return this.scrollPosition === this._element.scrollWidth;\n }\n get isScrollable() {\n if (this._axis === 'vertical') {\n return this._element.scrollHeight > this._element.clientHeight;\n }\n return this._element.scrollWidth > this._element.clientWidth;\n }\n get scrollSize() {\n return (this._axis === 'vertical' ? this._element.scrollHeight : this._element.scrollWidth) - this.elementSize;\n }\n get elementSize() {\n return this._axis === 'vertical' ? this._element.clientHeight : this._element.clientWidth;\n }\n setScrollPosition(position) {\n if (this._axis === 'vertical') {\n this._element.scrollTop = position;\n }\n else {\n this._element.scrollLeft = position;\n }\n }\n}\n", "import { addClass, getEventPath, isDefined, isObject, isDeepEqual } from '@tylertech/forge-core';\nimport { tylIconCheckBox, tylIconCheckBoxOutlineBlank } from '@tylertech/tyler-icons/standard';\nimport { ICON_CLASS_NAME } from '../constants';\nimport { ILinearProgressComponent, LINEAR_PROGRESS_CONSTANTS } from '../linear-progress';\nimport { IListComponent, LIST_CONSTANTS } from '../list/list';\nimport { IListItemComponent, LIST_ITEM_CONSTANTS } from '../list/list-item';\nimport { IPopupComponent, PopupAnimationType, POPUP_CONSTANTS } from '../popup';\nimport { ISkeletonComponent, SKELETON_CONSTANTS } from '../skeleton';\nimport { IListDropdownCascadingElementFactoryConfig, IListDropdownOpenConfig, IListDropdownOption, IListDropdownOptionGroup, ListDropdownAsyncStyle, ListDropdownIconType, ListDropdownType, LIST_DROPDOWN_CONSTANTS } from './list-dropdown-constants';\n\nexport enum ListDropdownOptionType { Option, Group }\n\n/**\n * Creates the floating dropdown element container.\n * @param config \n * @param targetElement \n */\nexport function createDropdown(config: IListDropdownOpenConfig, targetElement: HTMLElement): IPopupComponent {\n const dropdownElement = createPopupDropdown(config, targetElement);\n const dropdownId = `list-dropdown-popup-${config.id}`;\n\n // Prevent mousedown events from changing focus. We keep focus in the target element at all times while open.\n dropdownElement.addEventListener('mousedown', evt => {\n const composedPath = getEventPath(evt);\n\n // We allow for custom header and footer templates and these elements could be focusable so we need to allow access into them\n const isFromCustomTemplate = composedPath.find(el => el.nodeType === 1 && el.hasAttribute(LIST_DROPDOWN_CONSTANTS.attributes.DATA_ALLOW_FOCUS));\n if (isFromCustomTemplate) {\n return;\n }\n\n const isWithinDropdownElement = composedPath.find(el => el.id === dropdownId || el.id === config.id);\n if (isWithinDropdownElement) {\n evt.preventDefault();\n }\n });\n\n // Set roles and other attributes based on our type\n switch (config.type) {\n case ListDropdownType.Menu:\n dropdownElement.setAttribute('role', 'menu');\n dropdownElement.setAttribute('aria-orientation', 'vertical');\n break;\n default:\n dropdownElement.setAttribute('role', 'listbox');\n }\n\n if (config.id) {\n dropdownElement.id = dropdownId;\n }\n if (config.popupClasses) {\n addClass(config.popupClasses, dropdownElement);\n }\n\n return dropdownElement;\n}\n\nexport function createPopupDropdown(config: IListDropdownOpenConfig, targetElement: HTMLElement): IPopupComponent {\n const popupElement = document.createElement(POPUP_CONSTANTS.elementName) as IPopupComponent;\n popupElement.targetElement = targetElement;\n popupElement.placement = config.popupPlacement || 'bottom-start';\n popupElement.manageFocus = false;\n popupElement.static = !!config.popupStatic;\n\n if (config.popupOffset) {\n popupElement.offset = config.popupOffset;\n }\n\n // Set the animations based on our type\n switch (config.type) {\n case ListDropdownType.Menu:\n popupElement.animationType = PopupAnimationType.Menu;\n break;\n case ListDropdownType.None:\n popupElement.animationType = PopupAnimationType.None;\n break;\n default:\n popupElement.animationType = PopupAnimationType.Dropdown;\n }\n return popupElement;\n}\n\nexport function createList(config: IListDropdownOpenConfig): IListComponent {\n const listElement = document.createElement(LIST_CONSTANTS.elementName) as IListComponent;\n listElement.id = `list-dropdown-list-${config.id}`;\n listElement.propagateClick = false;\n return listElement;\n}\n\n/**\n * Creates the list to place inside of the dropdown.\n * @param config \n */\nexport function createListItems(config: IListDropdownOpenConfig, listElement: IListComponent, options?: Array<IListDropdownOption | IListDropdownOptionGroup>): void {\n // Ensure the options are provided in the form a group (if no groups provided, then we have one anonymous group of options)\n const groups = getOptionsByGroup(options || config.options);\n\n const limitOptions = config.optionLimit ? true : false;\n let optionLimit = config.optionLimit || 0;\n let optionIndex = 0;\n\n // Iterate over our groups and render the optional headers and options for that group\n for (const group of groups) {\n let optionParent: IListComponent | HTMLElement = listElement;\n\n // Check for a group header builder callback\n if (group.builder && typeof group.builder === 'function') {\n const headerElement = group.builder(group);\n if (headerElement) {\n const groupWrapper = document.createElement('div');\n groupWrapper.classList.add(LIST_DROPDOWN_CONSTANTS.classes.GROUP_WRAPPER);\n optionParent = groupWrapper;\n groupWrapper.appendChild(headerElement);\n listElement.appendChild(groupWrapper);\n }\n } else if (group.text) {\n // We are rendering just text as a group header so create the group header element with predefined styles\n const groupWrapper = document.createElement('div');\n groupWrapper.classList.add(LIST_DROPDOWN_CONSTANTS.classes.GROUP_WRAPPER);\n\n const listHeaderElement = document.createElement('div');\n listHeaderElement.textContent = group.text;\n listHeaderElement.classList.add('forge-typography--overline');\n listHeaderElement.style.fontFamily = 'Roboto,sans-serif';\n listHeaderElement.style.fontSize = '0.75rem';\n listHeaderElement.style.lineHeight = '2rem';\n listHeaderElement.style.letterSpacing = '0.16667em';\n listHeaderElement.style.fontWeight = '500';\n listHeaderElement.style.margin = '4px 8px';\n\n optionParent = groupWrapper;\n groupWrapper.appendChild(listHeaderElement);\n listElement.appendChild(groupWrapper);\n }\n\n // Loop over the options for this group\n for (const option of group.options) {\n // First we check if this option is just a divider\n if (option.divider) {\n const dividerElement = createDivider();\n listElement.appendChild(dividerElement);\n continue;\n }\n\n // Check if an option limit has been provided to reduce amount of options that need to be rendered\n if (limitOptions && --optionLimit < 0) {\n break;\n }\n\n optionIndex++;\n \n // Create and configure the list element\n const isSelected = config.selectedValues ? config.selectedValues.some(v => isDeepEqual(v, option.value)) : false;\n let listItemElement = document.createElement(LIST_ITEM_CONSTANTS.elementName) as IListItemComponent;\n listItemElement.value = option.value;\n listItemElement.id = `list-dropdown-option-${config.id}-${optionIndex}`;\n listItemElement.style.cursor = 'pointer';\n\n // Add any CSS classes to the option list-item\n if (option.optionClass && (typeof option.optionClass === 'string' || Array.isArray(option.optionClass) && option.optionClass.length)) {\n addClass(option.optionClass, listItemElement);\n }\n\n // Set role based on type\n switch (config.type) {\n case ListDropdownType.Menu:\n listItemElement.setAttribute('role', 'menuitem');\n break;\n case ListDropdownType.None:\n break;\n default:\n listItemElement.setAttribute('role', 'option');\n }\n\n if (config.dense) {\n listItemElement.dense = true;\n }\n\n // Check for a custom option template builder\n if (config.optionBuilder && typeof config.optionBuilder === 'function') {\n const element = config.optionBuilder(option, listItemElement);\n if (element) {\n if (typeof element === 'string') {\n listItemElement.innerHTML = element;\n } else {\n listItemElement.appendChild(element);\n }\n }\n } else {\n if (typeof config.transform !== 'function') {\n listItemElement.textContent = option.label || '';\n } else {\n const result = config.transform(option.label);\n if (typeof result === 'string') {\n listItemElement.textContent = result;\n } else if (typeof result === 'object' && (result as HTMLElement).nodeType !== undefined) {\n listItemElement.appendChild(result);\n }\n }\n }\n\n // Leading element/icon\n if (option.leadingBuilder) {\n const element = option.leadingBuilder();\n if (isObject(element)) {\n element.slot = 'leading';\n listItemElement.appendChild(element);\n }\n } else if (option.leadingIcon) {\n const leadingIconElement = createIconElement(option.leadingIconType, option.leadingIcon, option.leadingIconClass || config.iconClass);\n leadingIconElement.slot = 'leading';\n listItemElement.appendChild(leadingIconElement);\n }\n\n // Trailing element/icon\n if (option.trailingBuilder) {\n const element = option.trailingBuilder();\n if (isObject(element)) {\n element.slot = 'trailing';\n listItemElement.appendChild(element);\n }\n } else if (option.trailingIcon) {\n const trailingIconElement = createIconElement(option.trailingIconType, option.trailingIcon, option.trailingIconClass || config.iconClass);\n trailingIconElement.slot = 'trailing';\n listItemElement.appendChild(trailingIconElement);\n }\n\n // Update the disabled state\n if (option.disabled) {\n listItemElement.disabled = option.disabled;\n listItemElement.setAttribute('aria-disabled', 'true');\n } else {\n listItemElement.style.cursor = 'pointer';\n listItemElement.setAttribute('aria-disabled', 'false');\n }\n\n // Update the selected state\n if (isSelected) {\n listItemElement.selected = true;\n }\n listItemElement.setAttribute('aria-selected', isSelected ? 'true' : 'false');\n\n // If multiple selections are enabled then we need to create and append a leading checkbox element\n if (config.multiple) {\n const checkboxElement = createCheckboxElement(isSelected);\n listItemElement.appendChild(checkboxElement);\n listItemElement.setAttribute('aria-selected', `${isSelected}`);\n listItemElement.setAttribute('aria-checked', `${isSelected}`);\n }\n\n if (option.elementAttributes) {\n option.elementAttributes.forEach((value: string, key: string) => {\n listItemElement.setAttribute(key, value);\n });\n }\n\n // If we have any child options, we need to render a child menu for this list item\n if (!option.disabled && typeof config.cascadingElementFactory === 'function' && Array.isArray(option.options) && option.options.length) {\n // Create the trailing indicator icon to show that a child menu exists for this option. \n const optionIconElement = document.createElement('forge-icon');\n optionIconElement.name = 'arrow_right';\n optionIconElement.slot = 'trailing';\n listItemElement.appendChild(optionIconElement);\n\n const nonDividerOptions = group.options.filter(o => !o.divider);\n\n // Create the nested cascading element wrapper\n const factoryConfig: IListDropdownCascadingElementFactoryConfig = {\n index: nonDividerOptions.indexOf(option),\n options: option.options,\n parentValue: option.value\n };\n const cascadingElement = config.cascadingElementFactory.call(null, factoryConfig);\n cascadingElement.appendChild(listItemElement);\n listItemElement = cascadingElement;\n }\n\n optionParent.appendChild(listItemElement);\n }\n }\n}\n\nexport function createCheckboxElement(selected: boolean): HTMLElement {\n const checkboxElement = document.createElement('forge-icon');\n checkboxElement.setAttribute(LIST_DROPDOWN_CONSTANTS.attributes.CHECKBOX_ELEMENT, '');\n checkboxElement.name = selected ? tylIconCheckBox.name : tylIconCheckBoxOutlineBlank.name;\n checkboxElement.slot = 'leading';\n checkboxElement.style.marginRight = '16px';\n checkboxElement.style.verticalAlign = 'middle';\n return checkboxElement;\n}\n\nfunction createDivider(): HTMLElement {\n const divider = document.createElement('forge-divider');\n divider.setAttribute('aria-hidden', 'true');\n return divider;\n}\n\nfunction createIconElement(type: ListDropdownIconType = 'font', iconName: string, iconClass?: string): HTMLElement {\n if (type === 'component') {\n const icon = document.createElement('forge-icon');\n if (iconClass) {\n icon.classList.add(iconClass);\n }\n icon.setAttribute('aria-hidden', 'true');\n icon.name = iconName;\n return icon;\n }\n\n const iconElement = document.createElement('i');\n iconElement.classList.add(iconClass || ICON_CLASS_NAME);\n iconElement.setAttribute('aria-hidden', 'true');\n iconElement.textContent = iconName;\n return iconElement;\n}\n\nexport function createAsyncElement(asyncStyle?: ListDropdownAsyncStyle): HTMLElement {\n switch (asyncStyle) {\n case ListDropdownAsyncStyle.Skeleton:\n return createSkeletonElement();\n default:\n return createSpinnerElement();\n }\n}\n\nfunction createSpinnerElement(): HTMLElement {\n const div = document.createElement('div');\n div.style.display = 'flex';\n div.style.justifyContent = 'center';\n div.style.alignItems = 'center';\n div.style.padding = '8px';\n div.style.boxSizing = 'border-box';\n\n const spinner = document.createElement('forge-circular-progress');\n spinner.style.setProperty('--forge-circular-progress-size', '24px');\n div.appendChild(spinner);\n\n return div;\n}\n\nfunction createSkeletonElement(): HTMLElement {\n const list = document.createElement('forge-list');\n const div = document.createElement('div');\n div.style.minWidth = '192px';\n for (let i = 0; i < 3; i++) {\n const listItemSkeleton = document.createElement(SKELETON_CONSTANTS.elementName) as ISkeletonComponent;\n listItemSkeleton.setAttribute('list-item', '');\n div.appendChild(listItemSkeleton);\n }\n list.appendChild(div);\n return list;\n}\n\nexport function createBusyElement(): ILinearProgressComponent {\n const linearProgress = document.createElement(LINEAR_PROGRESS_CONSTANTS.elementName) as ILinearProgressComponent;\n linearProgress.determinate = false;\n linearProgress.style.position = 'absolute';\n linearProgress.style.top = '0';\n linearProgress.style.left = '0';\n linearProgress.style.right = '0';\n linearProgress.style.width = '100%';\n return linearProgress;\n}\n\nfunction getOptionsByGroup(options: Array<IListDropdownOption | IListDropdownOptionGroup>): IListDropdownOptionGroup[] {\n return isListDropdownOptionType(options, ListDropdownOptionType.Group) ? (options as IListDropdownOptionGroup[]) : [{ text: '', options }] as IListDropdownOptionGroup[];\n}\n\n/**\n * Determines if the provided options are of the specified type.\n * @param options The options either grouped or individual.\n * @param type The type of option to detect.\n */\nexport function isListDropdownOptionType(options: Array<IListDropdownOption | IListDropdownOptionGroup>, type: ListDropdownOptionType): type is ListDropdownOptionType {\n const isOptionGroups = options.some((o: IListDropdownOption | IListDropdownOptionGroup) => isDefined(o) && isObject(o) && o.hasOwnProperty('options') && (o.hasOwnProperty('text') || o.hasOwnProperty('builder')));\n const isOptionTypes = options.some((o: IListDropdownOption | IListDropdownOptionGroup) => isDefined(o) && isObject(o) && o.hasOwnProperty('label') && o.hasOwnProperty('value'));\n return (isOptionGroups && type === ListDropdownOptionType.Group) || (isOptionTypes && type === ListDropdownOptionType.Option);\n}\n", "import { IListDropdownAdapter } from './list-dropdown-adapter';\nimport { DEFAULT_LIST_DROPDOWN_CONFIG, IListDropdownConfig, IListDropdownOption, IListDropdownOptionGroup } from './list-dropdown-constants';\nimport { isListDropdownOptionType, ListDropdownOptionType } from './list-dropdown-utils';\n\nexport interface IListDropdownFoundation {\n dropdownElement: HTMLElement | undefined;\n open(): void;\n close(): void;\n getActiveOptionIndex(): number;\n getActiveOption(): IListDropdownOption | undefined;\n toggleOptionMultiple(index: number, isSelected: boolean): void;\n activateSelectedOption(): void;\n activateFirstOption(): number;\n activateOption(index: number): void;\n setSelectedValues(values: any): void;\n clearActiveOption(): void;\n setOptions(options: Array<IListDropdownOption | IListDropdownOptionGroup>): void;\n appendOptions(options: Array<IListDropdownOption | IListDropdownOptionGroup>): void;\n scrollSelectedOptionIntoView(animate?: boolean): void;\n setScrollBottomListener(listener: () => void, threshold?: number): void;\n removeScrollBottomListener(): void;\n setBusyVisibility(isVisible: boolean): void;\n handleKey(key: string): void;\n}\n\nexport class ListDropdownFoundation implements IListDropdownFoundation {\n private _config: IListDropdownConfig;\n private _open = false;\n private _selectListener: (value: any, id: string) => void;\n private _closeListener: () => void;\n private _scrollEndListener: () => void;\n\n constructor(private _adapter: IListDropdownAdapter, config: IListDropdownConfig) {\n this._config = Object.assign({ ...DEFAULT_LIST_DROPDOWN_CONFIG }, { ...config });\n this._selectListener = (value, id) => this._onSelect(value, id);\n this._closeListener = () => {\n if (typeof this._config.closeCallback === 'function') {\n this._config.closeCallback();\n }\n };\n this._scrollEndListener = () => {\n if (this._config.observeScroll && typeof this._config.scrollEndListener === 'function') {\n this._config.scrollEndListener();\n }\n };\n }\n\n public destroy(): void {\n if (this._open) {\n this.close();\n }\n }\n\n public open(): void {\n if (!this._open) {\n this._open = true;\n this._adapter.open(this._config, this._selectListener, this._closeListener);\n window.requestAnimationFrame(() => {\n if (this._open) {\n this.activateInitialOption();\n }\n });\n\n if (this._config.observeScroll && this._config.scrollEndListener) {\n this._adapter.setScrollBottomListener(this._scrollEndListener, this._config.observeScrollThreshold || 0);\n }\n }\n }\n\n public close(): void {\n if (this._open) {\n this._open = false;\n this._adapter.close();\n if (this._config.observeScroll && this._config.scrollEndListener) {\n this._adapter.removeScrollBottomListener(this._scrollEndListener);\n }\n }\n }\n\n private _onSelect(value: any, id: string): void {\n if (typeof this._config.activeChangeCallback === 'function') {\n this._config.activeChangeCallback(id);\n }\n\n if (typeof this._config.selectCallback === 'function') {\n this._config.selectCallback(value);\n }\n\n if (this._open) {\n const sync = this._config.syncWidth === undefined ? true : false;\n // Keep the popup width at least the same as the target if the target size has now changed\n this._adapter.syncWidth(sync);\n }\n }\n\n public getActiveOptionIndex(): number {\n return this._adapter.getActiveOptionIndex();\n }\n\n public getActiveOption(): IListDropdownOption | undefined {\n const index = this.getActiveOptionIndex();\n return index >= 0 ? this._nonDividerOptions[index] : undefined;\n }\n \n public toggleOptionMultiple(index: number, isSelected: boolean): void {\n return this._adapter.toggleOptionMultiple(index, isSelected);\n }\n\n public activateSelectedOption(): void {\n this._adapter.activateSelectedOption(this._config);\n }\n\n public activateFirstOption(): number {\n const index = this._nonDividerOptions.findIndex(o => !o.disabled);\n if (index !== -1) {\n this.activateOption(index);\n }\n return index;\n }\n\n public activateLastOption(): number {\n const options = this._nonDividerOptions;\n const index = (options.length - 1) - options.findIndex(o => !o.disabled);\n if (index !== -1) {\n this.activateOption(index);\n }\n return index;\n }\n\n public activateOption(index: number, animate?: boolean): void {\n return this._adapter.activateOption(index, this._config.activeChangeCallback, animate);\n }\n\n public activateInitialOption(): void {\n if (typeof this._config.activeStartIndex === 'number' && this._nonDividerOptions[this._config.activeStartIndex]) {\n this.activateOption(this._config.activeStartIndex, false);\n this._adapter.scrollSelectedOptionIntoView(false);\n } else if (this._config.selectedValues && this._config.selectedValues.length) {\n this._adapter.scrollSelectedOptionIntoView(false);\n }\n }\n\n public setSelectedValues(values: any[]): void {\n if (!Array.isArray(values)) {\n values = [values];\n }\n if (!this._config.multiple && values.length > 1) {\n values = [values[0]];\n }\n this._config.selectedValues = values;\n this._adapter.setSelectedValues(values, this._config.multiple);\n }\n\n public clearActiveOption(): void {\n this._adapter.clearActiveOption();\n }\n\n public setOptions(options: Array<IListDropdownOption | IListDropdownOptionGroup>): void {\n this._config.options = options;\n if (!this._open) {\n return;\n }\n this._adapter.setOptions(this._config);\n this.activateInitialOption();\n }\n\n public appendOptions(options: Array<IListDropdownOption | IListDropdownOptionGroup>): void {\n this._config.options = [...this._config.options, ...options] as Array<IListDropdownOption | IListDropdownOptionGroup>;\n if (!this._open) {\n return;\n }\n this._adapter.appendOptions(options, this._config);\n }\n\n public get dropdownElement(): HTMLElement | undefined {\n return this._adapter.dropdownElement;\n }\n\n public scrollSelectedOptionIntoView(animate = true): void {\n this._adapter.scrollSelectedOptionIntoView(animate);\n }\n\n public setScrollBottomListener(listener: () => void, threshold?: number): void {\n this._config.scrollEndListener = listener;\n this._config.observeScroll = true;\n this._config.observeScrollThreshold = threshold;\n this._adapter.setScrollBottomListener(this._scrollEndListener, this._config.observeScrollThreshold || 0);\n }\n\n public removeScrollBottomListener(): void {\n this._config.scrollEndListener = undefined;\n this._adapter.removeScrollBottomListener(this._scrollEndListener);\n }\n\n public setBusyVisibility(isVisible: boolean): void {\n if (!this._config.allowBusy) {\n return;\n }\n this._adapter.setBusyVisibility(isVisible);\n }\n\n public handleKey(key: string): void {\n switch (key) {\n case 'Enter':\n const activeOptionIndex = this.getActiveOptionIndex();\n const activeOption = this._nonDividerOptions[activeOptionIndex];\n if (this._canSelectOption(activeOption)) {\n const id = this._adapter.getActiveOptionIdByIndex(activeOptionIndex);\n if (id) {\n this._onSelect(activeOption.value, id);\n }\n }\n break;\n case 'Up':\n case 'ArrowUp':\n case 'Down':\n case 'ArrowDown':\n const options = this._nonDividerOptions;\n if (options.length && options.every(o => !this._canSelectOption(o))) {\n return;\n }\n const index = this._getNextActiveOptionIndex(key);\n this.activateOption(index);\n break;\n case 'Home':\n this.activateFirstOption();\n break;\n case 'End':\n this.activateLastOption();\n break;\n }\n }\n\n private _canSelectOption(option: IListDropdownOption): boolean {\n return option && !option.disabled && !option.divider;\n }\n\n private _getNextActiveOptionIndex(key: string): number {\n let index = this._adapter.getActiveOptionIndex();\n if (index === -1) {\n index = this._adapter.getSelectedOptionIndex();\n }\n if (key === 'ArrowUp' || key === 'Up') {\n return this._getPreviousHighlightableOptionIndex(index, this._nonDividerOptions);\n }\n return this._getNextHighlightableOptionIndex(index, this._nonDividerOptions);\n }\n\n private _getPreviousHighlightableOptionIndex(startIndex: number, options: IListDropdownOption[]): number {\n const index = startIndex <= 0 ? options.length - 1 : startIndex - 1;\n if (options[index].disabled) {\n return this._getPreviousHighlightableOptionIndex(index, options);\n }\n return index;\n }\n\n private _getNextHighlightableOptionIndex(startIndex: number, options: IListDropdownOption[]): number {\n const index = startIndex === options.length - 1 ? 0 : startIndex + 1;\n if (options[index].disabled) {\n return this._getNextHighlightableOptionIndex(index, options);\n }\n return index;\n }\n\n private get _flatOptions(): IListDropdownOption[] {\n if (isListDropdownOptionType(this._config.options, ListDropdownOptionType.Group)) {\n const groups = this._config.options as IListDropdownOptionGroup[];\n return groups.reduce((flatOpts, group) => flatOpts.concat(group.options), [] as IListDropdownOption[]);\n }\n return [...this._config.options as IListDropdownOption[]];\n }\n\n private get _nonDividerOptions(): IListDropdownOption[] {\n return this._flatOptions.filter(o => !o.divider);\n }\n}\n", "import { IListDropdownOption, IListDropdownOpenConfig, IListDropdownOptionGroup, LIST_DROPDOWN_CONSTANTS } from './list-dropdown-constants';\nimport { createDropdown, createList, createListItems, createAsyncElement, createBusyElement, createCheckboxElement } from './list-dropdown-utils';\nimport { IPopupComponent, POPUP_CONSTANTS } from '../popup';\nimport { IListComponent } from '../list/list';\nimport { LIST_ITEM_CONSTANTS, IListItemComponent, IListItemSelectEventData } from '../list/list-item';\nimport { ScrollEvents, getShadowElement, IScrollObserverConfiguration, ScrollAxisObserver, removeAllChildren, isFunction, removeElement, replaceElement, createVisuallyHiddenElement, isDeepEqual, tryScrollIntoView } from '@tylertech/forge-core';\nimport { ILinearProgressComponent } from '../linear-progress';\nimport { ICON_CONSTANTS, IIconComponent } from '../icon';\n\nexport interface IListDropdownAdapter {\n dropdownElement: HTMLElement | undefined;\n open(config: IListDropdownOpenConfig, selectCallback: (value: any, id: string) => void, closeCb: () => void): void;\n close(): void;\n setScrollBottomListener(listener: () => void, scrollThreshold: number): void;\n removeScrollBottomListener(listener: () => void): void;\n getActiveOptionIndex(): number;\n getSelectedOptionIndex(): number;\n getActiveOptionIdByIndex(index: number): string | null;\n toggleOptionMultiple(index: number, isSelected: boolean): void;\n scrollSelectedOptionIntoView(animate?: boolean): void;\n activateSelectedOption(config: IListDropdownOpenConfig): void;\n activateOption(index: number, activeChangeCallback: ((id: string) => void) | undefined, animate?: boolean): void;\n setSelectedValues(values: any[], multiple?: boolean): void;\n clearActiveOption(): void;\n syncWidth(sync: boolean, targetWidthCallback?: () => number): void;\n setOptions(config: IListDropdownOpenConfig): void;\n appendOptions(options: Array<IListDropdownOption | IListDropdownOptionGroup>, config: IListDropdownOpenConfig): void;\n setBusyVisibility(isVisible: boolean): void;\n getScreenWidth(): number;\n}\n\nexport class ListDropdownAdapter implements IListDropdownAdapter {\n private _dropdownElement: IPopupComponent | undefined;\n private _listElement: IListComponent | undefined;\n private _announcerElement: HTMLElement | undefined;\n private _scrollObserver: ScrollAxisObserver | undefined;\n private _asyncElement: HTMLElement | undefined;\n private _busyElement: ILinearProgressComponent;\n private _headerElement: HTMLElement;\n private _footerElement: HTMLElement;\n\n constructor(private _targetElement: HTMLElement) {}\n\n public get dropdownElement(): HTMLElement | undefined {\n return this._dropdownElement;\n }\n\n public open(config: IListDropdownOpenConfig, selectCallback: (value: any, id: string) => void, closeCb: () => void): void {\n // Now lets create the popup and append the children\n this._dropdownElement = createDropdown(config, this._targetElement);\n this.syncWidth(!!config.syncWidth, config.targetWidthCallback);\n\n // If we are configured to show a busy indicator (linear progress bar across the top), then create and append it first\n if (config.allowBusy) {\n this._busyElement = createBusyElement();\n this._busyElement.style.display = 'none';\n this._dropdownElement.appendChild(this._busyElement);\n }\n\n // Create the header element if a builder exists\n if (config.headerBuilder) {\n this._headerElement = config.headerBuilder();\n if (this._headerElement) {\n this._headerElement.setAttribute(LIST_DROPDOWN_CONSTANTS.attributes.DATA_ALLOW_FOCUS, '');\n }\n }\n \n // Create the footer element if a builder exists\n if (config.footerBuilder) {\n this._footerElement = config.footerBuilder();\n if (this._footerElement) {\n this._footerElement.setAttribute(LIST_DROPDOWN_CONSTANTS.attributes.DATA_ALLOW_FOCUS, '');\n }\n }\n\n // Create the list from our config\n this._listElement = createList(config);\n\n // Add the listener for when list items are selected from the dropdown\n this._listElement.addEventListener(LIST_ITEM_CONSTANTS.events.SELECT, (evt: CustomEvent<IListItemSelectEventData>) => {\n evt.detail.listItem.setAttribute('aria-selected', 'true');\n selectCallback(evt.detail.value, evt.detail.listItem.id);\n });\n\n // Determine if we need to show the list or the async element first\n if (config.options.length) {\n // Now we can create an append the list items\n createListItems(config, this._listElement);\n this._dropdownElement.appendChild(this._listElement);\n\n // Always append the optional header element **first**\n if (this._headerElement) {\n this._dropdownElement.insertAdjacentElement('afterbegin', this._headerElement);\n }\n\n // Always append the optional footer element **last**\n if (this._footerElement) {\n this._dropdownElement.appendChild(this._footerElement);\n }\n } else if (config.allowBusy) {\n this._asyncElement = createAsyncElement(config.asyncStyle);\n this._dropdownElement.appendChild(this._asyncElement);\n }\n\n // Create the announcer element for a11y\n this._announcerElement = createVisuallyHiddenElement();\n this._announcerElement.id = `${config.id}-activedescendant`;\n this._dropdownElement.appendChild(this._announcerElement);\n\n // Open the popup\n this._dropdownElement.open = true;\n }\n\n public close(): void {\n if (!this._dropdownElement) {\n return;\n }\n this._dropdownElement.open = false;\n this._dropdownElement = undefined;\n this._listElement = undefined;\n this._announcerElement = undefined;\n }\n\n public setScrollBottomListener(listener: () => void, scrollThreshold: number): void {\n if (this._dropdownElement) {\n if (!this._scrollObserver) {\n const scrollTarget = getShadowElement(this._dropdownElement, POPUP_CONSTANTS.selectors.CONTAINER);\n const scrollConfig: IScrollObserverConfiguration = { scrollThreshold };\n this._scrollObserver = new ScrollAxisObserver(scrollTarget, scrollConfig);\n this._scrollObserver.addListener(ScrollEvents.ScrolledEnd, listener);\n }\n }\n }\n\n public removeScrollBottomListener(listener: () => void): void {\n if (this._scrollObserver) {\n this._scrollObserver.removeListener(ScrollEvents.ScrolledEnd, listener);\n }\n }\n\n public getActiveOptionIndex(): number {\n if (!this._dropdownElement) {\n return -1;\n }\n const listItems = this._getListItemElements();\n const activeListItem = [...listItems].reverse().find(li => li.active);\n return activeListItem ? listItems.indexOf(activeListItem) : -1;\n }\n\n public getSelectedOptionIndex(): number {\n const listItems = this._getListItemElements();\n return listItems.findIndex(li => li.selected);\n }\n\n public getActiveOptionIdByIndex(index: number): string | null {\n if (!this._dropdownElement) {\n return null;\n }\n const listItems = this._getListItemElements();\n const item = listItems[index];\n return item ? item.id : null;\n }\n\n public toggleOptionMultiple(index: number, isSelected: boolean): void {\n if (!this._dropdownElement) {\n return;\n }\n\n const listItems = this._getListItemElements();\n if (listItems.length && listItems[index]) {\n this._toggleSelectedOption(listItems[index], isSelected);\n }\n }\n\n public scrollSelectedOptionIntoView(animate = true): void {\n const listItem = this._getSelectedListItem();\n this._scrollListItemIntoView(listItem, animate ? 'smooth' : 'auto', 'center');\n }\n\n public activateSelectedOption(config: IListDropdownOpenConfig): void {\n const listItems = this._getListItemElements();\n if (listItems.length) {\n const activeListItems = listItems.filter(li => li.active);\n activeListItems.forEach(li => li.active = false);\n }\n \n const listItem = this._getSelectedListItem();\n if (listItem) {\n this._activateListOption(listItem, config.activeChangeCallback);\n }\n }\n\n public activateOption(index: number, activeChangeCallback: ((id: string) => void) | undefined, animate = true): void {\n if (!this._dropdownElement) {\n return;\n }\n const listItems = this._getListItemElements();\n if (listItems.length) {\n const activeListItems = listItems.filter(li => li.active);\n activeListItems.forEach(li => li.active = false);\n this._activateListOption(listItems[index], activeChangeCallback);\n this._scrollListItemIntoView(listItems[index], animate ? 'smooth' : 'auto');\n }\n }\n\n public setSelectedValues(values: any[], multiple = false): void {\n if (!this._dropdownElement) {\n return;\n }\n const listItems = this._getListItemElements();\n for (const listItem of listItems) {\n const isSelected = values.some(v => isDeepEqual(v, listItem.value));\n listItem.selected = isSelected;\n\n if (multiple) {\n const checkboxElement = listItem.querySelector(`[${LIST_DROPDOWN_CONSTANTS.attributes.CHECKBOX_ELEMENT}]`) as IIconComponent;\n if (checkboxElement) {\n const newCheckboxElement = createCheckboxElement(isSelected);\n replaceElement(newCheckboxElement, checkboxElement);\n }\n }\n }\n }\n\n public clearActiveOption(): void {\n const listItems = this._getListItemElements();\n listItems.forEach(li => li.active = false);\n }\n\n public syncWidth(sync: boolean, targetWidthCallback?: () => number): void {\n if (this._dropdownElement) {\n this._dropdownElement.style[sync ? 'width' : 'minWidth'] = `${this._getTargetElementWidth(targetWidthCallback)}px`;\n }\n }\n\n public setOptions(config: IListDropdownOpenConfig): void {\n if (!this._dropdownElement || !this._listElement) {\n return;\n }\n if (this._asyncElement && this._asyncElement.isConnected) {\n removeElement(this._asyncElement);\n }\n if (this._busyElement) {\n this._busyElement.close();\n }\n if (!this._listElement.isConnected) {\n this._dropdownElement.appendChild(this._listElement);\n }\n \n removeAllChildren(this._listElement);\n createListItems(config, this._listElement);\n\n if (this._headerElement && !this._headerElement.isConnected) {\n this._dropdownElement.insertAdjacentElement('afterbegin', this._headerElement);\n }\n if (this._footerElement && !this._footerElement.isConnected) {\n this._dropdownElement.insertAdjacentElement('beforeend', this._footerElement);\n }\n if ('position' in this._dropdownElement && typeof this._dropdownElement.position === 'function') {\n this._dropdownElement.position();\n }\n }\n\n public appendOptions(options: Array<IListDropdownOption | IListDropdownOptionGroup>, config: IListDropdownOpenConfig): void {\n if (!this._dropdownElement || !this._listElement) {\n return;\n }\n createListItems(config, this._listElement, options);\n }\n\n public setBusyVisibility(isVisible: boolean): void {\n if (!this._dropdownElement) {\n return;\n }\n if (isVisible) {\n this._busyElement.style.removeProperty('display');\n this._busyElement.open();\n } else {\n this._busyElement.close();\n }\n }\n\n public getScreenWidth(): number {\n return window.innerWidth;\n }\n\n private _getListItemElements(): IListItemComponent[] {\n return this._dropdownElement ? Array.from(this._dropdownElement.querySelectorAll(LIST_ITEM_CONSTANTS.elementName)) as IListItemComponent[] : [];\n }\n\n private _toggleSelectedOption(listItem: IListItemComponent, isSelected: boolean): void {\n if (!this._dropdownElement) {\n return;\n }\n\n // First we need to remove the active state from any other list items\n const listItems = this._getListItemElements();\n if (listItems.length) {\n const activeItems = listItems.filter(li => li !== listItem && li.active);\n if (activeItems.length) {\n activeItems.forEach(ai => ai.active = false);\n }\n }\n\n // Now we can toggle the selected state and sync the active state\n listItem.selected = isSelected;\n listItem.setAttribute('aria-selected', `${isSelected}`);\n listItem.setAttribute('aria-checked', `${isSelected}`);\n\n if (isSelected) {\n listItem.active = true;\n }\n\n // Toggle the checkbox icon based on the selected state\n const checkboxElement = listItem.querySelector(`${ICON_CONSTANTS.elementName}[slot=leading]`) as IIconComponent;\n if (checkboxElement) {\n const newCheckboxElement = createCheckboxElement(isSelected);\n replaceElement(newCheckboxElement, checkboxElement);\n }\n }\n\n private _getTargetElementWidth(cb?: () => number): number {\n if (cb && isFunction(cb)) {\n return cb();\n }\n return this._targetElement.getBoundingClientRect().width;\n }\n\n private _activateListOption(listItem: IListItemComponent | undefined, activeChangeCallback?: (id: string) => void): void {\n if (listItem && !listItem.disabled) {\n listItem.active = true;\n if (activeChangeCallback && isFunction(activeChangeCallback)) {\n activeChangeCallback(listItem.id);\n }\n }\n }\n\n private _scrollListItemIntoView(listItem: HTMLElement | undefined, behavior: 'auto' | 'smooth' = 'auto', block: 'nearest' | 'center' = 'nearest'): void {\n if (listItem && this._dropdownElement && this._dropdownElement.isConnected) {\n const scrollContainer = getShadowElement(this._dropdownElement, POPUP_CONSTANTS.selectors.CONTAINER);\n if (scrollContainer) {\n tryScrollIntoView(scrollContainer, listItem, behavior, block);\n }\n }\n }\n\n private _getSelectedListItem(): IListItemComponent | undefined {\n const listItems = this._getListItemElements();\n return listItems.find(li => li.selected);\n }\n}\n", "import { tylIconCheckBox, tylIconCheckBoxOutlineBlank } from '@tylertech/tyler-icons/standard';\n\nimport { IListDropdownConfig, IListDropdownOption, IListDropdownOptionGroup } from './list-dropdown-constants';\nimport { ListDropdownFoundation } from './list-dropdown-foundation';\nimport { ListDropdownAdapter } from './list-dropdown-adapter';\nimport { IconRegistry } from '../icon';\n\nexport interface IListDropdown {\n dropdownElement: HTMLElement | undefined;\n open(): void;\n close(): void;\n destroy(): void;\n getActiveOptionIndex(): number;\n getActiveOption(): IListDropdownOption | undefined;\n toggleOptionMultiple(index: number, isSelected: boolean): void;\n activateSelectedOption(): void;\n activateFirstOption(): number;\n activateOption(index: number): void;\n activateInitialOption(): void;\n clearActiveOption(): void;\n setSelectedValues(values: any[]): void;\n setOptions(options: Array<IListDropdownOption | IListDropdownOptionGroup>): void;\n appendOptions(options: Array<IListDropdownOption | IListDropdownOptionGroup>): void;\n scrollSelectedOptionIntoView(animate?: boolean): void;\n setScrollBottomListener(listener: () => void, threshold?: number): void;\n removeScrollBottomListener(): void;\n setBusyVisibility(isVisible: boolean): void;\n handleKey(key: string): void;\n}\n\nexport class ListDropdown implements IListDropdown {\n private _foundation: ListDropdownFoundation;\n\n constructor(private _targetElement: HTMLElement, config: IListDropdownConfig) {\n IconRegistry.define([tylIconCheckBox, tylIconCheckBoxOutlineBlank]);\n this._foundation = new ListDropdownFoundation(new ListDropdownAdapter(this._targetElement), config);\n }\n\n public destroy(): void {\n this._foundation.destroy();\n }\n\n /** Opens the dropdown. */\n public open(): void {\n this._foundation.open();\n }\n\n /** Closes the dropdown. */\n public close(): void {\n this._foundation.close();\n }\n\n /** Gets the currently highlighted option index in the dropdown. */\n public getActiveOptionIndex(): number {\n return this._foundation.getActiveOptionIndex();\n }\n\n public getActiveOption(): IListDropdownOption | undefined {\n return this._foundation.getActiveOption();\n }\n \n /** Toggles the selected option by index. Only applies when in multiselect mode. */\n public toggleOptionMultiple(index: number, isSelected: boolean): void {\n return this._foundation.toggleOptionMultiple(index, isSelected);\n }\n \n /** Activates the first selected option. */\n public activateSelectedOption(): void {\n this._foundation.activateSelectedOption();\n }\n\n /** Activates the first non-disabled option. */\n public activateFirstOption(): number {\n return this._foundation.activateFirstOption();\n }\n\n /** Activates (highlights) an option by index. */\n public activateOption(index: number): void {\n return this._foundation.activateOption(index);\n }\n\n /** Activates the first activatable option. */\n public activateInitialOption(): void {\n return this._foundation.activateInitialOption();\n }\n\n /** Clears the active option from the dropdown */\n public clearActiveOption(): void {\n this._foundation.clearActiveOption();\n }\n\n /** Sets the selected values. Only applies when in multiselect mode. */\n public setSelectedValues(values: any[]): void {\n return this._foundation.setSelectedValues(values);\n }\n\n public get dropdownElement(): HTMLElement | undefined {\n return this._foundation.dropdownElement;\n }\n\n public setOptions(options: Array<IListDropdownOption | IListDropdownOptionGroup>): void {\n this._foundation.setOptions(options);\n }\n\n public appendOptions(options: Array<IListDropdownOption | IListDropdownOptionGroup>): void {\n this._foundation.appendOptions(options);\n }\n\n public scrollSelectedOptionIntoView(animate?: boolean): void {\n this._foundation.scrollSelectedOptionIntoView();\n }\n\n public setScrollBottomListener(listener: () => void, threshold?: number): void {\n this._foundation.setScrollBottomListener(listener, threshold);\n }\n\n public removeScrollBottomListener(): void {\n this._foundation.removeScrollBottomListener();\n }\n\n public setBusyVisibility(isVisible: boolean): void {\n this._foundation.setBusyVisibility(isVisible);\n }\n\n public handleKey(key: string): void {\n this._foundation.handleKey(key);\n }\n}\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\n\nimport { ListDropdownHeaderBuilder, ListDropdownFooterBuilder } from './list-dropdown-constants';\n\nexport interface IListDropdownAwareFoundation extends ICustomElementFoundation {\n popupClasses: string | string[];\n popupHeaderBuilder: ListDropdownHeaderBuilder;\n popupFooterBuilder: ListDropdownHeaderBuilder;\n syncPopupWidth: boolean;\n optionLimit: number;\n observeScroll: boolean;\n observeScrollThreshold: number;\n}\n\nexport abstract class ListDropdownAwareFoundation implements IListDropdownAwareFoundation {\n protected _popupClasses: string | string[] = [];\n protected _popupHeaderBuilder: ListDropdownHeaderBuilder;\n protected _popupFooterBuilder: ListDropdownFooterBuilder;\n protected _syncPopupWidth = false;\n protected _optionLimit = 0;\n protected _observeScroll = false;\n protected _observeScrollThreshold = 0;\n\n public get syncPopupWidth(): boolean {\n return this._syncPopupWidth;\n }\n public set syncPopupWidth(value: boolean) {\n this._syncPopupWidth = value;\n }\n\n public get popupClasses(): string | string[] {\n return this._popupClasses;\n }\n public set popupClasses(value: string | string[]) {\n if (typeof value === 'string') {\n value = [value];\n }\n if (Array.isArray(value)) {\n this._popupClasses = value;\n }\n }\n\n public get observeScroll(): boolean {\n return this._observeScroll;\n }\n public set observeScroll(value: boolean) {\n this._observeScroll = value;\n }\n\n public get observeScrollThreshold(): number {\n return this._observeScrollThreshold;\n }\n public set observeScrollThreshold(value: number) {\n this._observeScrollThreshold = value;\n }\n\n public get optionLimit(): number {\n return this._optionLimit;\n }\n public set optionLimit(value: number) {\n this._optionLimit = value;\n }\n\n public get popupHeaderBuilder(): ListDropdownHeaderBuilder {\n return this._popupHeaderBuilder;\n }\n public set popupHeaderBuilder(value: ListDropdownHeaderBuilder) {\n this._popupHeaderBuilder = value;\n }\n\n public get popupFooterBuilder(): ListDropdownFooterBuilder {\n return this._popupFooterBuilder;\n }\n public set popupFooterBuilder(value: ListDropdownFooterBuilder) {\n this._popupFooterBuilder = value;\n }\n\n protected _applySelection(): void {}\n}\n", "import { IListDropdownAwareFoundation, ListDropdownAwareFoundation } from './list-dropdown-aware-foundation';\n\nexport interface ICascadingListDropdownAwareFoundation extends IListDropdownAwareFoundation {}\n\nexport interface ICascadingListDropdownAwareFoundationConfiguration {\n popupTimeout: number;\n targetTimeout: number;\n}\n\nexport abstract class CascadingListDropdownAwareFoundation<T> extends ListDropdownAwareFoundation implements ICascadingListDropdownAwareFoundation {\n protected _open = false;\n protected _options: T[] = [];\n protected _childOpen = false;\n protected _popupHasMouse = false; // Used to determine if the popup element is under the users mouse\n protected _mouseCoords: { x: number; y: number };\n protected _activeMouseLeaveTimeout: number;\n protected _targetMouseEnterListener: (evt: MouseEvent) => void;\n protected _targetMouseLeaveListener: (evt: MouseEvent) => void;\n protected _childPopupMouseEnterListener: (evt: MouseEvent) => void;\n protected _childPopupMouseLeaveListener: (evt: MouseEvent) => void;\n protected _documentMouseMoveListener: (evt: MouseEvent) => void;\n \n protected abstract _attachCascadingListeners(): void;\n protected abstract _detachCascadingListeners(): void;\n protected abstract _onCascadingOptionSelected(data: any): void;\n protected abstract _onCascadingChildOpen(index: number): void;\n protected abstract _onCascadingChildClose(): void;\n protected abstract _closeDropdown(): void;\n protected abstract _openDropdown(): void;\n protected abstract _isOwnElement(element: Element): boolean;\n\n constructor(private _config: ICascadingListDropdownAwareFoundationConfiguration) {\n super();\n this._targetMouseEnterListener = evt => this._onTargetMouseEnter(evt);\n this._targetMouseLeaveListener = evt => this._onTargetMouseLeave(evt);\n this._childPopupMouseEnterListener = () => this._onChildPopupMouseEnter();\n this._childPopupMouseLeaveListener = () => this._onChildPopupMouseLeave();\n this._documentMouseMoveListener = evt => this._mouseCoords = { x: evt.pageX, y: evt.pageY };\n }\n\n private _onChildPopupMouseEnter(): void {\n this._popupHasMouse = true;\n }\n\n private _onChildPopupMouseLeave(): void {\n this._popupHasMouse = false;\n setTimeout(() => {\n const mouseElement = document.elementFromPoint(this._mouseCoords.x, this._mouseCoords.y);\n if (!this._popupHasMouse && !this._childOpen && (!mouseElement || !this._isOwnElement(mouseElement))) {\n this._closeDropdown();\n }\n }, this._config.popupTimeout);\n }\n\n private _onTargetMouseEnter(evt: MouseEvent): void {\n if (!this._options.length) {\n return;\n }\n this._openDropdown();\n }\n\n private _onTargetMouseLeave(evt: MouseEvent): void {\n // We wrap this in a timeout to allow for the user to take an indirect path toward an open child menu. This\n // allows for the popup to stay open while the user is moving their mouse to it (makes the transition easier and more smooth)\n this._activeMouseLeaveTimeout = window.setTimeout(() => {\n // Ignore this if our open state has changed, or if we have a child popup open now\n if (!this._open || this._childOpen) {\n return;\n }\n if (this._mouseCoords) {\n // We ignore this event if the mouse moved to an element within our own popup\n const mouseElement = document.elementFromPoint(this._mouseCoords.x, this._mouseCoords.y);\n if (mouseElement && this._isOwnElement(mouseElement)) {\n return;\n }\n }\n this._closeDropdown();\n }, this._config.targetTimeout);\n }\n\n protected _clearMouseLeaveTimeout(): void {\n if (this._activeMouseLeaveTimeout !== undefined) {\n window.clearTimeout(this._activeMouseLeaveTimeout);\n }\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -5,12 +5,12 @@
5
5
  */
6
6
  import {
7
7
  ListDropdownAware
8
- } from "./chunk.3QXCVTCP.js";
8
+ } from "./chunk.2Z23LQVW.js";
9
9
  import {
10
10
  CascadingListDropdownAwareFoundation,
11
11
  ListDropdown,
12
12
  isListDropdownOptionType
13
- } from "./chunk.IGBDDH3J.js";
13
+ } from "./chunk.QRGWP6Z2.js";
14
14
  import {
15
15
  ListComponent
16
16
  } from "./chunk.5U6ZT6MC.js";
@@ -29,10 +29,10 @@ import {
29
29
  } from "./chunk.DLF5JAQO.js";
30
30
  import {
31
31
  tylIconArrowRight
32
- } from "./chunk.GS2AXUCN.js";
32
+ } from "./chunk.WOL4KRZK.js";
33
33
  import {
34
34
  IconRegistry
35
- } from "./chunk.WSH4S3GM.js";
35
+ } from "./chunk.GVR5LXMJ.js";
36
36
  import {
37
37
  BaseAdapter
38
38
  } from "./chunk.KZATVOA6.js";
@@ -909,4 +909,4 @@ export {
909
909
  MenuComponent,
910
910
  defineMenuComponent
911
911
  };
912
- //# sourceMappingURL=chunk.MUP3NY6M.js.map
912
+ //# sourceMappingURL=chunk.QSFE3J74.js.map
@@ -3,54 +3,57 @@
3
3
  * Copyright 2022 Tyler Technologies, Inc.
4
4
  * License: Apache-2.0
5
5
  */
6
- import {
7
- TimePickerComponent
8
- } from "./chunk.2NMHSTAO.js";
9
- import {
10
- ToastComponent
11
- } from "./chunk.TM46MNYN.js";
12
6
  import {
13
7
  ViewSwitcherComponent
14
8
  } from "./chunk.LX2HDAIF.js";
15
9
  import {
16
10
  ViewComponent
17
11
  } from "./chunk.THKWQXBJ.js";
18
- import {
19
- TableComponent
20
- } from "./chunk.XE7ZMJBZ.js";
21
12
  import {
22
13
  TabBarComponent
23
- } from "./chunk.ITQ55IPH.js";
14
+ } from "./chunk.LTN47GWQ.js";
24
15
  import {
25
16
  TabComponent
26
17
  } from "./chunk.HMM7PGGZ.js";
27
18
  import {
28
- SliderComponent
29
- } from "./chunk.V2ELLBDP.js";
19
+ TimePickerComponent
20
+ } from "./chunk.D2AL6QLF.js";
21
+ import {
22
+ ToastComponent
23
+ } from "./chunk.WQRR5OGK.js";
24
+ import {
25
+ SplitViewComponent
26
+ } from "./chunk.CGOYP37Z.js";
30
27
  import {
31
28
  StepperComponent
32
- } from "./chunk.CLEUHAZ6.js";
29
+ } from "./chunk.ZLX3L6KW.js";
33
30
  import {
34
31
  StepComponent
35
- } from "./chunk.67B6JDOJ.js";
32
+ } from "./chunk.KVOXJKCU.js";
33
+ import {
34
+ TableComponent
35
+ } from "./chunk.QKCIMRRG.js";
36
+ import {
37
+ SliderComponent
38
+ } from "./chunk.V2ELLBDP.js";
36
39
  import {
37
40
  ProductIconComponent
38
41
  } from "./chunk.FZ6KICMD.js";
39
42
  import {
40
43
  QuantityFieldComponent
41
- } from "./chunk.46BED43J.js";
44
+ } from "./chunk.SVS3G6Y7.js";
42
45
  import {
43
46
  PageStateComponent
44
47
  } from "./chunk.QXZZ2MTF.js";
45
48
  import {
46
49
  PaginatorComponent
47
- } from "./chunk.HAWYW54W.js";
50
+ } from "./chunk.D45QN7JA.js";
48
51
  import {
49
52
  SelectDropdownComponent
50
- } from "./chunk.ZLF2G3YT.js";
53
+ } from "./chunk.XSS7BYJS.js";
51
54
  import {
52
55
  SelectComponent
53
- } from "./chunk.MBZLA635.js";
56
+ } from "./chunk.ZIZGRSAX.js";
54
57
  import {
55
58
  ScaffoldComponent
56
59
  } from "./chunk.3EHQ3YHJ.js";
@@ -71,61 +74,61 @@ import {
71
74
  } from "./chunk.ANME7BKM.js";
72
75
  import {
73
76
  DrawerComponent
74
- } from "./chunk.BLZJIYMG.js";
77
+ } from "./chunk.F5O63UF4.js";
75
78
  import {
76
79
  MiniDrawerComponent
77
- } from "./chunk.ZSHQMR4O.js";
80
+ } from "./chunk.TSHHEAIC.js";
78
81
  import {
79
82
  ModalDrawerComponent
80
- } from "./chunk.ELAJS33V.js";
83
+ } from "./chunk.J2FCOFOE.js";
81
84
  import {
82
85
  FilePickerComponent
83
- } from "./chunk.PNKLV3BK.js";
86
+ } from "./chunk.YCHKXJLN.js";
84
87
  import {
85
88
  FloatingActionButton
86
89
  } from "./chunk.I7BQUB7Z.js";
87
90
  import {
88
91
  DatePickerComponent
89
- } from "./chunk.JC2PZ4TS.js";
92
+ } from "./chunk.5DJS3K7V.js";
90
93
  import {
91
94
  DateRangePickerComponent
92
- } from "./chunk.BVGJFMEG.js";
95
+ } from "./chunk.PRRL5C6Z.js";
93
96
  import {
94
97
  DialogComponent
95
- } from "./chunk.RL7ZFLMG.js";
98
+ } from "./chunk.FRT7RD5L.js";
96
99
  import {
97
100
  ColorPickerComponent
98
- } from "./chunk.VXAPRFMK.js";
101
+ } from "./chunk.K4B7NJ2G.js";
99
102
  import {
100
103
  CalendarComponent
101
- } from "./chunk.U37G47LH.js";
104
+ } from "./chunk.XC56O73Q.js";
102
105
  import {
103
106
  CardComponent
104
107
  } from "./chunk.KCVJDJ6K.js";
105
108
  import {
106
109
  AutocompleteComponent
107
- } from "./chunk.IJW2YKP3.js";
110
+ } from "./chunk.Z5KLXKMB.js";
108
111
  import {
109
112
  TextFieldComponent
110
- } from "./chunk.FJJVIMZ2.js";
113
+ } from "./chunk.V6ESTGWD.js";
111
114
  import {
112
115
  DividerComponent
113
116
  } from "./chunk.QHHYCB7N.js";
114
117
  import {
115
118
  ChipFieldComponent
116
- } from "./chunk.I6PJGNJS.js";
119
+ } from "./chunk.NWPH4FRE.js";
117
120
  import {
118
121
  ChipSetComponent
119
- } from "./chunk.2WBHHTUM.js";
122
+ } from "./chunk.EFQZGAM5.js";
120
123
  import {
121
124
  ChipComponent
122
- } from "./chunk.LHWZ4KZU.js";
125
+ } from "./chunk.HL2ORG3A.js";
123
126
  import {
124
127
  BannerComponent
125
- } from "./chunk.VXVE7KEM.js";
128
+ } from "./chunk.2QB3WXEH.js";
126
129
  import {
127
130
  BottomSheetComponent
128
- } from "./chunk.QWW6A7AF.js";
131
+ } from "./chunk.XRK62M5E.js";
129
132
  import {
130
133
  SwitchComponent
131
134
  } from "./chunk.TYU4RLZG.js";
@@ -137,7 +140,7 @@ import {
137
140
  } from "./chunk.7UAH67PT.js";
138
141
  import {
139
142
  BusyIndicatorComponent
140
- } from "./chunk.U5ECVIX5.js";
143
+ } from "./chunk.D3MXPNTL.js";
141
144
  import {
142
145
  BackdropComponent
143
146
  } from "./chunk.GXTNND2M.js";
@@ -149,22 +152,22 @@ import {
149
152
  } from "./chunk.IUNON3UL.js";
150
153
  import {
151
154
  AccordionComponent
152
- } from "./chunk.UQ3QTUUB.js";
155
+ } from "./chunk.YMP3JQQQ.js";
153
156
  import {
154
157
  ExpansionPanelComponent
155
- } from "./chunk.KNR5DXE4.js";
158
+ } from "./chunk.OTJJU35B.js";
156
159
  import {
157
160
  OpenIconComponent
158
- } from "./chunk.S3UVF647.js";
161
+ } from "./chunk.TBQ72CBS.js";
159
162
  import {
160
163
  AppBarComponent
161
164
  } from "./chunk.YL2NAVJW.js";
162
165
  import {
163
166
  AppBarHelpButtonComponent
164
- } from "./chunk.UPW5HUKB.js";
167
+ } from "./chunk.NU3XRT37.js";
165
168
  import {
166
169
  MenuComponent
167
- } from "./chunk.MUP3NY6M.js";
170
+ } from "./chunk.QSFE3J74.js";
168
171
  import {
169
172
  SkeletonComponent
170
173
  } from "./chunk.6ZBFCE2A.js";
@@ -182,19 +185,19 @@ import {
182
185
  } from "./chunk.WNVZQDNS.js";
183
186
  import {
184
187
  AppBarMenuButtonComponent
185
- } from "./chunk.LK2DN5KX.js";
188
+ } from "./chunk.GG3O42UP.js";
186
189
  import {
187
190
  AppBarNotificationButtonComponent
188
- } from "./chunk.L4OUV7W6.js";
191
+ } from "./chunk.VSKPHQZE.js";
189
192
  import {
190
193
  BadgeComponent
191
194
  } from "./chunk.V6Q2SM6Y.js";
192
195
  import {
193
196
  AppBarProfileButtonComponent
194
- } from "./chunk.2MBI5DLT.js";
197
+ } from "./chunk.3ULPDQ2I.js";
195
198
  import {
196
199
  ProfileCardComponent
197
- } from "./chunk.PKZ43JNW.js";
200
+ } from "./chunk.JM6SZSUI.js";
198
201
  import {
199
202
  ToolbarComponent
200
203
  } from "./chunk.HASAPJMX.js";
@@ -203,25 +206,25 @@ import {
203
206
  } from "./chunk.E26BROOG.js";
204
207
  import {
205
208
  ButtonComponent
206
- } from "./chunk.QYWAZCBX.js";
209
+ } from "./chunk.CTMCTMRO.js";
207
210
  import {
208
211
  PopupComponent
209
212
  } from "./chunk.DLF5JAQO.js";
210
213
  import {
211
214
  IconButtonComponent
212
- } from "./chunk.EBC2HGO3.js";
215
+ } from "./chunk.UAW46BWM.js";
213
216
  import {
214
217
  RippleComponent
215
218
  } from "./chunk.56BNM7F2.js";
216
219
  import {
217
220
  AppBarSearchComponent
218
- } from "./chunk.GHZ75UPO.js";
221
+ } from "./chunk.5EBM357P.js";
219
222
  import {
220
223
  TooltipComponent
221
224
  } from "./chunk.OXS2O7RG.js";
222
225
  import {
223
226
  IconComponent
224
- } from "./chunk.WSH4S3GM.js";
227
+ } from "./chunk.GVR5LXMJ.js";
225
228
  import {
226
229
  defineCustomElements
227
230
  } from "./chunk.K2PCTUVN.js";
@@ -287,6 +290,7 @@ var CUSTOM_ELEMENTS = [
287
290
  SelectDropdownComponent,
288
291
  SkeletonComponent,
289
292
  SliderComponent,
293
+ SplitViewComponent,
290
294
  StepperComponent,
291
295
  StepComponent,
292
296
  SwitchComponent,
@@ -314,4 +318,4 @@ export {
314
318
  * Copyright (c) 2022 Tyler Technologies, Inc.
315
319
  * License: Apache-2.0
316
320
  */
317
- //# sourceMappingURL=chunk.UFMUXBT4.js.map
321
+ //# sourceMappingURL=chunk.R357QRWX.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/index.ts"],
4
+ "sourcesContent": ["/// <reference types=\"./typings\" />\n\n/**\n * @license\n * Copyright (c) 2022 Tyler Technologies, Inc.\n * License: Apache-2.0\n */\n\nimport { defineCustomElements } from '@tylertech/forge-core';\nimport { AccordionComponent } from './accordion';\nimport { AutocompleteComponent } from './autocomplete';\nimport { AvatarComponent } from './avatar';\nimport { BackdropComponent } from './backdrop';\nimport { BadgeComponent } from './badge';\nimport { BannerComponent } from './banner';\nimport { BottomSheetComponent } from './bottom-sheet';\nimport { BusyIndicatorComponent } from './busy-indicator';\nimport { ButtonComponent } from './button';\nimport { ButtonToggleComponent, ButtonToggleGroupComponent } from './button-toggle';\nimport { CalendarComponent } from './calendar';\nimport { CardComponent } from './card';\nimport { CheckboxComponent } from './checkbox';\nimport { ChipComponent, ChipSetComponent } from './chips';\nimport { ChipFieldComponent } from './chip-field';\nimport { CircularProgressComponent } from './circular-progress';\nimport { ColorPickerComponent } from './color-picker';\nimport { DateRangePickerComponent } from './date-range-picker';\nimport { DatePickerComponent } from './date-picker';\nimport { DialogComponent } from './dialog';\nimport { DividerComponent } from './divider';\nimport { DrawerComponent, MiniDrawerComponent, ModalDrawerComponent } from './drawer';\nimport { ExpansionPanelComponent } from './expansion-panel';\nimport { FilePickerComponent } from './file-picker';\nimport { FloatingActionButton } from './floating-action-button';\nimport { IconButtonComponent } from './icon-button';\nimport { InlineMessageComponent } from './inline-message';\nimport { KeyboardShortcutComponent } from './keyboard-shortcut';\nimport { LabelValueComponent } from './label-value';\nimport { LinearProgressComponent } from './linear-progress';\nimport { ListComponent } from './list';\nimport { ListItemComponent } from './list/list-item';\nimport { MenuComponent } from './menu';\nimport {\n AppBarComponent,\n AppBarHelpButtonComponent,\n AppBarMenuButtonComponent,\n AppBarNotificationButtonComponent,\n AppBarProfileButtonComponent,\n AppBarSearchComponent,\n ProfileCardComponent\n} from './app-bar';\nimport { OpenIconComponent } from './open-icon';\nimport { PageStateComponent } from './page-state';\nimport { PaginatorComponent } from './paginator';\nimport { PopupComponent } from './popup';\nimport { ProductIconComponent } from './product-icon';\nimport { QuantityFieldComponent } from './quantity-field';\nimport { RadioComponent } from './radio';\nimport { RippleComponent } from './ripple';\nimport { ScaffoldComponent } from './scaffold';\nimport { OptionComponent, OptionGroupComponent, SelectComponent } from './select';\nimport { SkeletonComponent } from './skeleton';\nimport { SliderComponent } from './slider';\nimport { SplitViewComponent } from './split-view';\nimport { StepComponent, StepperComponent } from './stepper';\nimport { SwitchComponent } from './switch';\nimport { TableComponent } from './table';\nimport { TabBarComponent, TabComponent } from './tabs';\nimport { TextFieldComponent } from './text-field';\nimport { TimePickerComponent } from './time-picker';\nimport { ToastComponent } from './toast';\nimport { ToolbarComponent } from './toolbar';\nimport { TooltipComponent } from './tooltip';\nimport { ViewComponent, ViewSwitcherComponent } from './view-switcher';\nimport { IconComponent } from './icon';\nimport { SelectDropdownComponent } from './select/select-dropdown';\n\nexport * from './accordion';\nexport * from './app-bar';\nexport * from './autocomplete';\nexport * from './avatar';\nexport * from './backdrop';\nexport * from './badge';\nexport * from './banner';\nexport * from './bottom-sheet';\nexport * from './busy-indicator';\nexport * from './button';\nexport * from './button-toggle';\nexport * from './calendar';\nexport * from './card';\nexport * from './checkbox';\nexport * from './chips';\nexport * from './chip-field';\nexport * from './circular-progress';\nexport * from './color-picker';\nexport * from './constants';\nexport * from './core';\nexport * from './date-range-picker';\nexport * from './date-picker';\nexport * from './dialog';\nexport * from './divider';\nexport * from './drawer';\nexport * from './expansion-panel';\nexport * from './file-picker';\nexport * from './floating-action-button';\nexport * from './floating-label';\nexport * from './icon-button';\nexport * from './inline-message';\nexport * from './keyboard-shortcut';\nexport * from './label-value';\nexport * from './linear-progress';\nexport * from './list';\nexport * from './menu';\nexport * from './open-icon';\nexport * from './page-state';\nexport * from './paginator';\nexport * from './popup';\nexport * from './product-icon';\nexport * from './quantity-field';\nexport * from './radio';\nexport * from './ripple';\nexport * from './scaffold';\nexport * from './select';\nexport * from './skeleton';\nexport * from './slider';\nexport * from './split-view';\nexport * from './stepper';\nexport * from './switch';\nexport * from './table';\nexport * from './tabs';\nexport * from './text-field';\nexport * from './theme';\nexport * from './time-picker';\nexport * from './toast';\nexport * from './toolbar';\nexport * from './tooltip';\nexport * from './utils';\nexport * from './view-switcher';\nexport * from './icon';\n\nconst CUSTOM_ELEMENTS = [\n AccordionComponent,\n AvatarComponent,\n BackdropComponent,\n BadgeComponent,\n BannerComponent,\n BottomSheetComponent,\n BusyIndicatorComponent,\n ButtonComponent,\n ButtonToggleComponent,\n ButtonToggleGroupComponent,\n CalendarComponent,\n CardComponent,\n CheckboxComponent,\n ChipComponent,\n ChipSetComponent,\n ChipFieldComponent,\n CircularProgressComponent,\n ColorPickerComponent,\n DatePickerComponent,\n DateRangePickerComponent,\n DialogComponent,\n DividerComponent,\n DrawerComponent,\n MiniDrawerComponent,\n ModalDrawerComponent,\n ExpansionPanelComponent,\n FilePickerComponent,\n FloatingActionButton,\n ProductIconComponent,\n IconComponent,\n IconButtonComponent,\n InlineMessageComponent,\n KeyboardShortcutComponent,\n LabelValueComponent,\n LinearProgressComponent,\n ListComponent,\n ListItemComponent,\n MenuComponent,\n AppBarComponent,\n AppBarSearchComponent,\n AppBarMenuButtonComponent,\n AppBarNotificationButtonComponent,\n AppBarHelpButtonComponent,\n AppBarProfileButtonComponent,\n ProfileCardComponent,\n OpenIconComponent,\n OptionComponent,\n OptionGroupComponent,\n PageStateComponent,\n PaginatorComponent,\n PopupComponent,\n QuantityFieldComponent,\n RadioComponent,\n RippleComponent,\n ScaffoldComponent,\n SelectComponent,\n SelectDropdownComponent,\n SkeletonComponent,\n SliderComponent,\n SplitViewComponent,\n StepperComponent,\n StepComponent,\n SwitchComponent,\n TabBarComponent,\n TabComponent,\n TableComponent,\n TextFieldComponent,\n TimePickerComponent,\n ToastComponent,\n ToolbarComponent,\n TooltipComponent,\n ViewSwitcherComponent,\n ViewComponent,\n AutocompleteComponent\n];\n\n/**\n * Registers all components in the library with the browser.\n */\nexport function defineComponents(): void {\n defineCustomElements(CUSTOM_ELEMENTS);\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,AA0IA,IAAM,kBAAkB;AAAA,EACtB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAKO,4BAAkC;AACvC,uBAAqB,eAAe;AACtC;",
6
+ "names": []
7
+ }
@@ -9,17 +9,14 @@ import {
9
9
  import {
10
10
  IconButtonComponent,
11
11
  IconButtonComponentDelegate
12
- } from "./chunk.EBC2HGO3.js";
12
+ } from "./chunk.UAW46BWM.js";
13
13
  import {
14
14
  tylIconControlPoint,
15
15
  tylIconRemoveCircleOutline
16
- } from "./chunk.GS2AXUCN.js";
17
- import {
18
- Platform
19
- } from "./chunk.BYN27JXZ.js";
16
+ } from "./chunk.WOL4KRZK.js";
20
17
  import {
21
18
  IconRegistry
22
- } from "./chunk.WSH4S3GM.js";
19
+ } from "./chunk.GVR5LXMJ.js";
23
20
  import {
24
21
  FormFieldComponentDelegate
25
22
  } from "./chunk.HZISALRH.js";
@@ -161,16 +158,6 @@ var QuantityFieldAdapter = class extends BaseAdapter {
161
158
  removeDecrementButtonAttribute(name) {
162
159
  this._decrementButtonElement.removeAttribute(name);
163
160
  }
164
- setLabelAsRequired(required) {
165
- const labelElement = this._component.querySelector(QUANTITY_FIELD_CONSTANTS.selectors.LABEL);
166
- if (required && Platform.WEBKIT && labelElement && !labelElement.innerText.endsWith("*")) {
167
- const asterisk = document.createElement("span");
168
- asterisk.style.color = "var(--mdc-theme-error)";
169
- asterisk.style.marginLeft = "1px";
170
- asterisk.textContent = "*";
171
- labelElement.appendChild(asterisk);
172
- }
173
- }
174
161
  increment() {
175
162
  const input = this.inputElement;
176
163
  if (!input) {
@@ -367,7 +354,6 @@ var QuantityFieldFoundation = class {
367
354
  this._adapter.removeHostAttribute(QUANTITY_FIELD_CONSTANTS.attributes.REQUIRED);
368
355
  this._adapter.removeRootClass(QUANTITY_FIELD_CONSTANTS.classes.REQUIRED);
369
356
  }
370
- this._adapter.setLabelAsRequired(this._required);
371
357
  }
372
358
  get invalid() {
373
359
  return this._invalid;
@@ -391,7 +377,7 @@ var QuantityFieldFoundation = class {
391
377
 
392
378
  // dist/build/lib/staging/src/quantity-field/quantity-field.ts
393
379
  var template = '<template><div class="forge-quantity-field" part="root"><slot name="label"></slot><div class="forge-quantity-field__row" part="row"><slot name="decrement-button"></slot><slot></slot><slot name="increment-button"></slot></div><slot name="helper-text"></slot></div></template>';
394
- var styles = '.forge-quantity-field ::slotted([slot=label]){-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.75rem;font-size:var(--mdc-typography-caption-font-size, .75rem);line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-quantity-field ::slotted([slot=helper-text]){-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.75rem;font-size:var(--mdc-typography-caption-font-size, .75rem);line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);height:1rem;color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-quantity-field ::slotted([slot=helper-text])::before{display:inline-block;width:0;height:16px;content:"";vertical-align:0}.forge-quantity-field__row{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-align:center;align-items:center}.forge-quantity-field ::slotted(forge-icon-button:first-of-type){color:var(--mdc-theme-text-secondary-on-light);margin-right:4px}.forge-quantity-field ::slotted(forge-icon-button:last-of-type){color:var(--mdc-theme-text-secondary-on-light);margin-left:4px}.forge-quantity-field ::slotted(forge-text-field){--forge-text-field-margin-top:0;--forge-text-field-margin-bottom:0}.forge-quantity-field--required ::slotted([slot=label])::before{color:#b00020;color:var(--mdc-theme-error,#b00020);content:"*";margin-right:1px}.forge-quantity-field--invalid ::slotted([slot=label]){-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.75rem;font-size:var(--mdc-typography-caption-font-size, .75rem);line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-quantity-field--invalid ::slotted([slot=helper-text]){-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.75rem;font-size:var(--mdc-typography-caption-font-size, .75rem);line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);height:1rem;color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-quantity-field--invalid ::slotted([slot=helper-text])::before{display:inline-block;width:0;height:16px;content:"";vertical-align:0}:host{display:inline-block}:host([hidden]){display:none}';
380
+ var styles = '.forge-quantity-field ::slotted([slot=label]){-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.75rem;font-size:var(--mdc-typography-caption-font-size, .75rem);line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-quantity-field ::slotted([slot=helper-text]){-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.75rem;font-size:var(--mdc-typography-caption-font-size, .75rem);line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);height:1rem;color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-quantity-field ::slotted([slot=helper-text])::before{display:inline-block;width:0;height:16px;content:"";vertical-align:0}.forge-quantity-field__row{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-align:center;align-items:center}.forge-quantity-field ::slotted(forge-icon-button:first-of-type){color:var(--mdc-theme-text-secondary-on-light);margin-right:4px}.forge-quantity-field ::slotted(forge-icon-button:last-of-type){color:var(--mdc-theme-text-secondary-on-light);margin-left:4px}.forge-quantity-field ::slotted(forge-text-field){--forge-text-field-margin-top:0;--forge-text-field-margin-bottom:0}.forge-quantity-field--required ::slotted([slot=label])::before{color:#b00020;color:var(--mdc-theme-error,#b00020);content:"*";margin-right:4px}.forge-quantity-field--invalid ::slotted([slot=label]){-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.75rem;font-size:var(--mdc-typography-caption-font-size, .75rem);line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-quantity-field--invalid ::slotted([slot=helper-text]){-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.75rem;font-size:var(--mdc-typography-caption-font-size, .75rem);line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);height:1rem;color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-quantity-field--invalid ::slotted([slot=helper-text])::before{display:inline-block;width:0;height:16px;content:"";vertical-align:0}:host{display:inline-block}:host([hidden]){display:none}';
395
381
  var QuantityFieldComponent = class extends BaseComponent {
396
382
  constructor() {
397
383
  super();
@@ -599,4 +585,4 @@ export {
599
585
  QuantityFieldComponentDelegate,
600
586
  defineQuantityFieldComponent
601
587
  };
602
- //# sourceMappingURL=chunk.46BED43J.js.map
588
+ //# sourceMappingURL=chunk.SVS3G6Y7.js.map