@tylertech/forge 3.0.0-next.23 → 3.0.0-next.24

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 (570) hide show
  1. package/custom-elements.json +28789 -33252
  2. package/dist/esm/accordion/index.js +1 -1
  3. package/dist/esm/app-bar/app-bar/index.js +1 -1
  4. package/dist/esm/app-bar/help-button/index.js +1 -1
  5. package/dist/esm/app-bar/index.js +1 -1
  6. package/dist/esm/app-bar/menu-button/index.js +1 -1
  7. package/dist/esm/app-bar/notification-button/index.js +1 -1
  8. package/dist/esm/app-bar/profile-button/index.js +1 -1
  9. package/dist/esm/app-bar/search/index.js +1 -1
  10. package/dist/esm/autocomplete/index.js +1 -1
  11. package/dist/esm/avatar/index.js +1 -1
  12. package/dist/esm/backdrop/index.js +1 -1
  13. package/dist/esm/badge/index.js +1 -1
  14. package/dist/esm/banner/index.js +1 -1
  15. package/dist/esm/bottom-sheet/index.js +1 -1
  16. package/dist/esm/button/index.js +1 -1
  17. package/dist/esm/button-area/index.js +1 -1
  18. package/dist/esm/button-toggle/button-toggle/index.js +1 -1
  19. package/dist/esm/button-toggle/button-toggle-group/index.js +1 -1
  20. package/dist/esm/button-toggle/index.js +1 -1
  21. package/dist/esm/calendar/calendar-dropdown/index.js +1 -1
  22. package/dist/esm/calendar/calendar-menu/index.js +1 -1
  23. package/dist/esm/calendar/index.js +1 -1
  24. package/dist/esm/card/index.js +1 -1
  25. package/dist/esm/checkbox/index.js +1 -1
  26. package/dist/esm/chip-field/index.js +1 -1
  27. package/dist/esm/chips/chip/index.js +1 -1
  28. package/dist/esm/chips/chip-set/index.js +1 -1
  29. package/dist/esm/chips/index.js +1 -1
  30. package/dist/esm/chunks/{chunk.AOVXNX7P.js → chunk.24L6GVJK.js} +2 -2
  31. package/dist/esm/chunks/{chunk.WMJSYYXQ.js → chunk.27YQZWEJ.js} +2 -2
  32. package/dist/esm/chunks/{chunk.AG6IRMLZ.js → chunk.2CP5CIRB.js} +2 -2
  33. package/dist/esm/chunks/chunk.2FF7EQQ3.js +7 -0
  34. package/dist/esm/chunks/chunk.2FF7EQQ3.js.map +7 -0
  35. package/dist/esm/chunks/{chunk.USTVZ6MZ.js → chunk.345JBXIL.js} +2 -2
  36. package/dist/esm/chunks/{chunk.USTVZ6MZ.js.map → chunk.345JBXIL.js.map} +2 -2
  37. package/dist/esm/chunks/chunk.3B573FQF.js +7 -0
  38. package/dist/esm/chunks/chunk.3B573FQF.js.map +7 -0
  39. package/dist/esm/chunks/{chunk.H4VQXV2H.js → chunk.3CXCYRCE.js} +2 -2
  40. package/dist/esm/chunks/{chunk.MTIPIEXA.js → chunk.3LNZRQAL.js} +2 -2
  41. package/dist/esm/chunks/{chunk.BQ52JYLA.js → chunk.3LUG3LPU.js} +2 -2
  42. package/dist/esm/chunks/{chunk.IL4S57WO.js → chunk.3ODT27TD.js} +2 -2
  43. package/dist/esm/chunks/chunk.3S3NH5P4.js +7 -0
  44. package/dist/esm/chunks/chunk.3S3NH5P4.js.map +7 -0
  45. package/dist/esm/chunks/{chunk.XZ23XHFE.js → chunk.45N7ZZVL.js} +2 -2
  46. package/dist/esm/chunks/{chunk.YWJVZVZX.js → chunk.4GFUXXXH.js} +2 -2
  47. package/dist/esm/chunks/chunk.4UMFAYZH.js +7 -0
  48. package/dist/esm/chunks/chunk.4UMFAYZH.js.map +7 -0
  49. package/dist/esm/chunks/{chunk.ZA7JY3AY.js → chunk.5DDR6QSF.js} +2 -2
  50. package/dist/esm/chunks/{chunk.3KAKJGUS.js → chunk.5NEWFXFX.js} +2 -2
  51. package/dist/esm/chunks/{chunk.VRSPT7WX.js → chunk.5OT53ZJM.js} +2 -2
  52. package/dist/esm/chunks/{chunk.VL5RWSAV.js → chunk.6DWRGYKV.js} +2 -2
  53. package/dist/esm/chunks/{chunk.IEABOPNB.js → chunk.6T7KPDCD.js} +2 -2
  54. package/dist/esm/chunks/chunk.6TQDZAMD.js +7 -0
  55. package/dist/esm/chunks/chunk.6TQDZAMD.js.map +7 -0
  56. package/dist/esm/chunks/chunk.6V6VLKIK.js +7 -0
  57. package/dist/esm/chunks/chunk.6V6VLKIK.js.map +7 -0
  58. package/dist/esm/chunks/{chunk.SROEDYPL.js → chunk.7JO5MB55.js} +2 -2
  59. package/dist/esm/chunks/{chunk.CLYGTLXN.js → chunk.7TE74NJZ.js} +2 -2
  60. package/dist/esm/chunks/{chunk.AGLI4WR4.js → chunk.AJLS5C7O.js} +2 -2
  61. package/dist/esm/chunks/{chunk.TSSZQPLE.js → chunk.BURDWL57.js} +2 -2
  62. package/dist/esm/chunks/chunk.BYSMPFWQ.js +7 -0
  63. package/dist/esm/chunks/chunk.BYSMPFWQ.js.map +7 -0
  64. package/dist/esm/chunks/{chunk.BHE6Z5Y2.js → chunk.CQ4XBOX5.js} +2 -2
  65. package/dist/esm/chunks/{chunk.NEQX2QVX.js → chunk.DJQXJO3T.js} +2 -2
  66. package/dist/esm/chunks/chunk.DN6Y3VXC.js +7 -0
  67. package/dist/esm/chunks/{chunk.RLQB7224.js.map → chunk.DN6Y3VXC.js.map} +2 -2
  68. package/dist/esm/chunks/{chunk.VJZ7VDG5.js → chunk.DPJJB67L.js} +2 -2
  69. package/dist/esm/chunks/{chunk.7Y3BUR7Q.js → chunk.EBRMG6N3.js} +2 -2
  70. package/dist/esm/chunks/{chunk.7Y3BUR7Q.js.map → chunk.EBRMG6N3.js.map} +2 -2
  71. package/dist/esm/chunks/chunk.EPMDEQF7.js +7 -0
  72. package/dist/esm/chunks/chunk.EPMDEQF7.js.map +7 -0
  73. package/dist/esm/chunks/{chunk.OOAJHLW4.js → chunk.EZIABLIR.js} +2 -2
  74. package/dist/esm/chunks/{chunk.ZG6YF2HI.js → chunk.F53DSRUO.js} +2 -2
  75. package/dist/esm/chunks/{chunk.7AAICE77.js → chunk.FIO22U2C.js} +2 -2
  76. package/dist/esm/chunks/{chunk.U6J4VHU6.js → chunk.FKMTIOBA.js} +2 -2
  77. package/dist/esm/chunks/chunk.FMDUCGOU.js +7 -0
  78. package/dist/esm/chunks/{chunk.OJ7JO4O6.js.map → chunk.FMDUCGOU.js.map} +1 -1
  79. package/dist/esm/chunks/{chunk.W4HANHUO.js → chunk.FMGBPF7B.js} +2 -2
  80. package/dist/esm/chunks/{chunk.5MB6CTBA.js → chunk.FVFPDWA4.js} +2 -2
  81. package/dist/esm/chunks/{chunk.ENUKGA2U.js → chunk.FYPIHFXD.js} +2 -2
  82. package/dist/esm/chunks/chunk.GNQ24XWK.js +7 -0
  83. package/dist/esm/chunks/chunk.GNQ24XWK.js.map +7 -0
  84. package/dist/esm/chunks/chunk.GP6LHJDA.js +7 -0
  85. package/dist/esm/chunks/chunk.GP6LHJDA.js.map +7 -0
  86. package/dist/esm/chunks/{chunk.CE35CVDV.js → chunk.GQ33JZVE.js} +2 -2
  87. package/dist/esm/chunks/{chunk.2W23MOPP.js → chunk.GUBLRHCG.js} +2 -2
  88. package/dist/esm/chunks/{chunk.473WRJ5G.js → chunk.HJUXBSFZ.js} +2 -2
  89. package/dist/esm/chunks/chunk.HJUXBSFZ.js.map +7 -0
  90. package/dist/esm/chunks/{chunk.37B332ZK.js → chunk.HSNVTV7K.js} +2 -2
  91. package/dist/esm/chunks/{chunk.PC6TW5XE.js → chunk.HXNNWUI3.js} +2 -2
  92. package/dist/esm/chunks/{chunk.QCPV5DEG.js → chunk.IOGCI64X.js} +2 -2
  93. package/dist/esm/chunks/chunk.JB2F2HQE.js +7 -0
  94. package/dist/esm/chunks/chunk.JB2F2HQE.js.map +7 -0
  95. package/dist/esm/chunks/chunk.JGPWKCAU.js +7 -0
  96. package/dist/esm/chunks/chunk.JGPWKCAU.js.map +7 -0
  97. package/dist/esm/chunks/chunk.JU76GN6C.js +7 -0
  98. package/dist/esm/chunks/{chunk.KLU54MDQ.js.map → chunk.JU76GN6C.js.map} +2 -2
  99. package/dist/esm/chunks/chunk.K7I5FWBT.js +7 -0
  100. package/dist/esm/chunks/chunk.K7I5FWBT.js.map +7 -0
  101. package/dist/esm/chunks/{chunk.5UOX22ML.js → chunk.KKVQNKMV.js} +2 -2
  102. package/dist/esm/chunks/{chunk.YPNSK2CK.js → chunk.KW5A2U5U.js} +2 -2
  103. package/dist/esm/chunks/chunk.L6L3CPBH.js +7 -0
  104. package/dist/esm/chunks/chunk.L6L3CPBH.js.map +7 -0
  105. package/dist/esm/chunks/{chunk.KO6ODCZC.js → chunk.LIJE4T3D.js} +2 -2
  106. package/dist/esm/chunks/{chunk.KEOLH7G3.js → chunk.LQN5U4QH.js} +2 -2
  107. package/dist/esm/chunks/{chunk.5QIWLZG3.js → chunk.LSUIJDFO.js} +2 -2
  108. package/dist/esm/chunks/{chunk.77C7S7ZS.js → chunk.N65CAIE5.js} +2 -2
  109. package/dist/esm/chunks/{chunk.UKBE2FMZ.js → chunk.NNLZKMFX.js} +2 -2
  110. package/dist/esm/chunks/{chunk.EO3GP6DP.js → chunk.ON6FFHRE.js} +2 -2
  111. package/dist/esm/chunks/{chunk.OVXEOEJF.js → chunk.ONFZ3H7M.js} +2 -2
  112. package/dist/esm/chunks/{chunk.32APLNN2.js → chunk.OVVBXM6K.js} +2 -2
  113. package/dist/esm/chunks/{chunk.FLBYVCQ6.js → chunk.P3Q3IVVX.js} +2 -2
  114. package/dist/esm/chunks/{chunk.FLBYVCQ6.js.map → chunk.P3Q3IVVX.js.map} +2 -2
  115. package/dist/esm/chunks/{chunk.DKERDHXH.js → chunk.P74RZEWP.js} +2 -2
  116. package/dist/esm/chunks/{chunk.QLGJS37N.js → chunk.PBORL6KX.js} +2 -2
  117. package/dist/esm/chunks/chunk.PDJ2H5ZG.js +7 -0
  118. package/dist/esm/chunks/{chunk.UPSXYWPD.js.map → chunk.PDJ2H5ZG.js.map} +3 -3
  119. package/dist/esm/chunks/{chunk.JGURMVW7.js → chunk.PGMOAILY.js} +2 -2
  120. package/dist/esm/chunks/{chunk.OEI35LFU.js → chunk.PKCMTSWR.js} +2 -2
  121. package/dist/esm/chunks/{chunk.QUXMLWBJ.js → chunk.Q3Z6VZUD.js} +2 -2
  122. package/dist/esm/chunks/{chunk.TQWZDM6T.js → chunk.QBHJFCLL.js} +2 -2
  123. package/dist/esm/chunks/{chunk.WXVVOFNK.js → chunk.QDG6TP2Z.js} +2 -2
  124. package/dist/esm/chunks/{chunk.H5RW3A4M.js → chunk.QH27OIAK.js} +2 -2
  125. package/dist/esm/chunks/chunk.QKCPE4LW.js +7 -0
  126. package/dist/esm/chunks/{chunk.2GUWHBUU.js → chunk.QM32CJAX.js} +2 -2
  127. package/dist/esm/chunks/{chunk.2GUWHBUU.js.map → chunk.QM32CJAX.js.map} +2 -2
  128. package/dist/esm/chunks/{chunk.FLF5RTYO.js → chunk.R2CJMM2F.js} +2 -2
  129. package/dist/esm/chunks/{chunk.IQYOLMPG.js → chunk.RGDLRUSM.js} +2 -2
  130. package/dist/esm/chunks/{chunk.QIZBZGYT.js → chunk.RKPWFEFJ.js} +2 -2
  131. package/dist/esm/chunks/{chunk.RXBLU4OJ.js → chunk.S5EU72NR.js} +2 -2
  132. package/dist/esm/chunks/chunk.SJYEDGBN.js +7 -0
  133. package/dist/esm/chunks/chunk.SJYEDGBN.js.map +7 -0
  134. package/dist/esm/chunks/{chunk.T7NWP7DB.js → chunk.SW6JDC2Y.js} +2 -2
  135. package/dist/esm/chunks/{chunk.7IPAW4D2.js → chunk.TAQRHBGS.js} +2 -2
  136. package/dist/esm/chunks/{chunk.MFQRXVKO.js → chunk.TEZFEC5B.js} +2 -2
  137. package/dist/esm/chunks/{chunk.MX4JX4GT.js → chunk.THIUQ2AU.js} +2 -2
  138. package/dist/esm/chunks/{chunk.LY2Z2Z7S.js → chunk.TQMT7BIZ.js} +2 -2
  139. package/dist/esm/chunks/{chunk.GIENHEMN.js → chunk.TR45SGWL.js} +2 -2
  140. package/dist/esm/chunks/chunk.TZHVZMOB.js +12 -0
  141. package/dist/esm/chunks/chunk.TZHVZMOB.js.map +7 -0
  142. package/dist/esm/chunks/{chunk.CFAI4K3E.js → chunk.UBVWYWO7.js} +2 -2
  143. package/dist/esm/chunks/{chunk.NWVQ5HK2.js → chunk.UHPODZWA.js} +2 -2
  144. package/dist/esm/chunks/{chunk.3PMONORO.js → chunk.V4R7FCZ2.js} +2 -2
  145. package/dist/esm/chunks/chunk.V5YGDB7V.js +7 -0
  146. package/dist/esm/chunks/{chunk.3II7OT2I.js.map → chunk.V5YGDB7V.js.map} +2 -2
  147. package/dist/esm/chunks/chunk.VAE5IFEM.js +7 -0
  148. package/dist/esm/chunks/{chunk.GBAVJILM.js.map → chunk.VAE5IFEM.js.map} +4 -4
  149. package/dist/esm/chunks/{chunk.QTY25OTN.js → chunk.VCASLYVR.js} +2 -2
  150. package/dist/esm/chunks/{chunk.QTY25OTN.js.map → chunk.VCASLYVR.js.map} +2 -2
  151. package/dist/esm/chunks/chunk.W4CL56G7.js +7 -0
  152. package/dist/esm/chunks/{chunk.BQZKOIAW.js.map → chunk.W4CL56G7.js.map} +2 -2
  153. package/dist/esm/chunks/{chunk.BEFAXPXJ.js → chunk.WNX3GGYT.js} +2 -2
  154. package/dist/esm/chunks/chunk.X4NHJE7S.js +7 -0
  155. package/dist/esm/chunks/chunk.X4NHJE7S.js.map +7 -0
  156. package/dist/esm/chunks/{chunk.I7YON2TC.js → chunk.X5MI5OFS.js} +2 -2
  157. package/dist/esm/chunks/{chunk.QKTK5XUE.js → chunk.XHRBFPZ2.js} +2 -2
  158. package/dist/esm/chunks/{chunk.ASLHRT3N.js → chunk.XT6RPXTM.js} +2 -2
  159. package/dist/esm/chunks/{chunk.VGIRVTBJ.js → chunk.XWVFJVBN.js} +2 -2
  160. package/dist/esm/chunks/{chunk.YNCTSMT6.js → chunk.YXFGOJ5Z.js} +2 -2
  161. package/dist/esm/chunks/chunk.YZ26YDCO.js +7 -0
  162. package/dist/esm/chunks/{chunk.A7BCLPP4.js.map → chunk.YZ26YDCO.js.map} +2 -2
  163. package/dist/esm/chunks/chunk.Z6G2RUC2.js +7 -0
  164. package/dist/esm/chunks/chunk.Z6G2RUC2.js.map +7 -0
  165. package/dist/esm/chunks/{chunk.K6GJNDTY.js → chunk.Z7IUKJHZ.js} +2 -2
  166. package/dist/esm/chunks/{chunk.K6GJNDTY.js.map → chunk.Z7IUKJHZ.js.map} +1 -1
  167. package/dist/esm/chunks/{chunk.GG7IQL46.js → chunk.ZPH3TMNA.js} +2 -2
  168. package/dist/esm/chunks/chunk.ZSHPKAXP.js +7 -0
  169. package/dist/esm/chunks/chunk.ZSHPKAXP.js.map +7 -0
  170. package/dist/esm/chunks/{chunk.CEGBMUSR.js → chunk.ZWELGTD7.js} +2 -2
  171. package/dist/esm/circular-progress/index.js +1 -1
  172. package/dist/esm/color-picker/index.js +1 -1
  173. package/dist/esm/core/index.js +1 -1
  174. package/dist/esm/date-picker/index.js +1 -1
  175. package/dist/esm/date-range-picker/index.js +1 -1
  176. package/dist/esm/deprecated/button/index.js +1 -1
  177. package/dist/esm/deprecated/icon-button/index.js +7 -0
  178. package/dist/esm/deprecated/index.js +1 -1
  179. package/dist/esm/dialog/index.js +1 -1
  180. package/dist/esm/divider/index.js +1 -1
  181. package/dist/esm/drawer/drawer/index.js +1 -1
  182. package/dist/esm/drawer/index.js +1 -1
  183. package/dist/esm/drawer/mini-drawer/index.js +1 -1
  184. package/dist/esm/drawer/modal-drawer/index.js +1 -1
  185. package/dist/esm/expansion-panel/index.js +1 -1
  186. package/dist/esm/field/index.js +1 -1
  187. package/dist/esm/file-picker/index.js +1 -1
  188. package/dist/esm/floating-action-button/index.js +1 -1
  189. package/dist/esm/focus-indicator/index.js +1 -1
  190. package/dist/esm/icon/index.js +1 -1
  191. package/dist/esm/icon-button/index.js +1 -1
  192. package/dist/esm/index.js +1 -1
  193. package/dist/esm/inline-message/index.js +1 -1
  194. package/dist/esm/keyboard-shortcut/index.js +1 -1
  195. package/dist/esm/label/index.js +1 -1
  196. package/dist/esm/label-value/index.js +1 -1
  197. package/dist/esm/linear-progress/index.js +1 -1
  198. package/dist/esm/list/index.js +1 -1
  199. package/dist/esm/list/list/index.js +1 -1
  200. package/dist/esm/list/list-item/index.js +1 -1
  201. package/dist/esm/list-dropdown/index.js +1 -1
  202. package/dist/esm/menu/index.js +1 -1
  203. package/dist/esm/open-icon/index.js +1 -1
  204. package/dist/esm/overlay/index.js +1 -1
  205. package/dist/esm/page-state/index.js +1 -1
  206. package/dist/esm/paginator/index.js +1 -1
  207. package/dist/esm/popover/index.js +1 -1
  208. package/dist/esm/profile-card/index.js +1 -1
  209. package/dist/esm/radio/index.js +1 -1
  210. package/dist/esm/radio/radio/index.js +1 -1
  211. package/dist/esm/radio/radio-group/index.js +1 -1
  212. package/dist/esm/scaffold/index.js +1 -1
  213. package/dist/esm/select/core/index.js +1 -1
  214. package/dist/esm/select/index.js +1 -1
  215. package/dist/esm/select/option/index.js +1 -1
  216. package/dist/esm/select/option-group/index.js +1 -1
  217. package/dist/esm/select/select/index.js +1 -1
  218. package/dist/esm/select/select-dropdown/index.js +1 -1
  219. package/dist/esm/skeleton/index.js +1 -1
  220. package/dist/esm/slider/index.js +1 -1
  221. package/dist/esm/split-button/index.js +1 -1
  222. package/dist/esm/split-view/index.js +1 -1
  223. package/dist/esm/split-view/split-view/index.js +1 -1
  224. package/dist/esm/split-view/split-view-panel/index.js +1 -1
  225. package/dist/esm/stack/index.js +1 -1
  226. package/dist/esm/state-layer/index.js +1 -1
  227. package/dist/esm/stepper/index.js +1 -1
  228. package/dist/esm/stepper/step/index.js +1 -1
  229. package/dist/esm/stepper/stepper/index.js +1 -1
  230. package/dist/esm/switch/index.js +1 -1
  231. package/dist/esm/table/index.js +1 -1
  232. package/dist/esm/tabs/index.js +1 -1
  233. package/dist/esm/tabs/tab/index.js +1 -1
  234. package/dist/esm/tabs/tab-bar/index.js +1 -1
  235. package/dist/esm/text-field/index.js +1 -1
  236. package/dist/esm/time-picker/index.js +1 -1
  237. package/dist/esm/toast/index.js +1 -1
  238. package/dist/esm/toolbar/index.js +1 -1
  239. package/dist/esm/tooltip/index.js +1 -1
  240. package/dist/esm/utils/index.js +1 -1
  241. package/dist/esm/view-switcher/index.js +1 -1
  242. package/dist/esm/view-switcher/view/index.js +1 -1
  243. package/dist/forge-dark.css +1 -1
  244. package/dist/forge-tokens.css +6 -0
  245. package/dist/forge.css +1 -1
  246. package/dist/table/forge-table.css +1 -1
  247. package/dist/theme/forge-theme.css +1 -1
  248. package/dist/typography/forge-typography.css +1 -1
  249. package/esm/app-bar/search/app-bar-search.d.ts +3 -3
  250. package/esm/app-bar/search/app-bar-search.js +3 -3
  251. package/esm/avatar/avatar-constants.d.ts +0 -1
  252. package/esm/avatar/avatar-constants.js +0 -2
  253. package/esm/bottom-sheet/bottom-sheet-adapter.d.ts +26 -42
  254. package/esm/bottom-sheet/bottom-sheet-adapter.js +46 -85
  255. package/esm/bottom-sheet/bottom-sheet-constants.d.ts +16 -13
  256. package/esm/bottom-sheet/bottom-sheet-constants.js +24 -27
  257. package/esm/bottom-sheet/bottom-sheet-foundation.d.ts +17 -43
  258. package/esm/bottom-sheet/bottom-sheet-foundation.js +106 -213
  259. package/esm/bottom-sheet/bottom-sheet.d.ts +42 -29
  260. package/esm/bottom-sheet/bottom-sheet.js +52 -41
  261. package/esm/calendar/calendar-constants.d.ts +0 -1
  262. package/esm/calendar/calendar-constants.js +0 -1
  263. package/esm/calendar/calendar-dom-utils.js +10 -4
  264. package/esm/calendar/calendar-menu/calendar-menu-adapter.js +9 -2
  265. package/esm/calendar/calendar-menu/calendar-menu-constants.d.ts +0 -1
  266. package/esm/calendar/calendar-menu/calendar-menu-constants.js +0 -1
  267. package/esm/calendar/calendar-menu/calendar-menu-utils.js +10 -0
  268. package/esm/calendar/calendar-menu/calendar-menu.js +8 -2
  269. package/esm/calendar/calendar.js +6 -2
  270. package/esm/checkbox/checkbox-foundation.js +9 -9
  271. package/esm/color-picker/color-picker.js +1 -1
  272. package/esm/deprecated/icon-button/deprecated-icon-button-component-delegate.d.ts +38 -0
  273. package/esm/deprecated/icon-button/deprecated-icon-button-component-delegate.js +93 -0
  274. package/esm/deprecated/icon-button/deprecated-icon-button-constants.d.ts +28 -0
  275. package/esm/deprecated/icon-button/deprecated-icon-button-constants.js +28 -0
  276. package/esm/deprecated/icon-button/deprecated-icon-button.d.ts +62 -0
  277. package/esm/deprecated/icon-button/deprecated-icon-button.js +208 -0
  278. package/esm/deprecated/icon-button/index.d.ts +12 -0
  279. package/esm/deprecated/icon-button/index.js +16 -0
  280. package/esm/dialog/dialog.js +1 -1
  281. package/esm/drawer/drawer/drawer.js +1 -1
  282. package/esm/drawer/mini-drawer/mini-drawer.js +1 -1
  283. package/esm/drawer/modal-drawer/modal-drawer.js +1 -1
  284. package/esm/field/field.js +1 -1
  285. package/esm/index.d.ts +1 -3
  286. package/esm/index.js +4 -8
  287. package/esm/list/list/list.js +1 -1
  288. package/esm/list/list-item/list-item-adapter.js +4 -0
  289. package/esm/list/list-item/list-item.d.ts +6 -4
  290. package/esm/list/list-item/list-item.js +7 -5
  291. package/esm/open-icon/index.d.ts +0 -2
  292. package/esm/open-icon/index.js +0 -2
  293. package/esm/open-icon/open-icon-constants.d.ts +10 -6
  294. package/esm/open-icon/open-icon-constants.js +9 -11
  295. package/esm/open-icon/open-icon.d.ts +37 -12
  296. package/esm/open-icon/open-icon.js +67 -22
  297. package/esm/paginator/paginator-adapter.d.ts +19 -52
  298. package/esm/paginator/paginator-adapter.js +25 -106
  299. package/esm/paginator/paginator-constants.d.ts +22 -35
  300. package/esm/paginator/paginator-constants.js +17 -40
  301. package/esm/paginator/paginator-foundation.d.ts +10 -12
  302. package/esm/paginator/paginator-foundation.js +39 -51
  303. package/esm/paginator/paginator.d.ts +4 -7
  304. package/esm/paginator/paginator.js +24 -45
  305. package/esm/popover/popover.js +1 -1
  306. package/esm/profile-card/profile-card.js +1 -1
  307. package/esm/radio/radio/radio-foundation.js +2 -2
  308. package/esm/split-view/split-view-panel/split-view-panel.js +1 -1
  309. package/esm/stepper/step/step.js +1 -1
  310. package/esm/switch/switch-foundation.js +6 -6
  311. package/esm/table/table-constants.d.ts +1 -0
  312. package/esm/table/table-constants.js +4 -3
  313. package/esm/table/table-foundation.js +2 -2
  314. package/esm/table/table-utils.js +31 -14
  315. package/esm/tooltip/tooltip.js +1 -1
  316. package/esm/utils/color-utils.d.ts +0 -4
  317. package/esm/utils/color-utils.js +0 -19
  318. package/esm/view-switcher/view-switcher.js +1 -1
  319. package/package.json +1 -12
  320. package/styles/bottom-sheet/_core.scss +19 -0
  321. package/styles/bottom-sheet/_token-utils.scss +30 -0
  322. package/styles/bottom-sheet/bottom-sheet.scss +59 -3
  323. package/styles/{color-picker/_variables.scss → bottom-sheet/index.scss} +1 -1
  324. package/styles/calendar/_mixins.scss +33 -56
  325. package/styles/calendar/_variables.scss +39 -39
  326. package/styles/calendar/calendar-menu/_mixins.scss +25 -84
  327. package/styles/color-picker/_mixins.scss +15 -21
  328. package/styles/color-picker/color-picker.scss +0 -1
  329. package/styles/core/styles/animation/index.scss +22 -0
  330. package/styles/core/styles/border/index.scss +10 -1
  331. package/styles/core/styles/elevation/index.scss +19 -26
  332. package/styles/core/styles/shape/index.scss +9 -0
  333. package/styles/core/styles/spacing/index.scss +9 -0
  334. package/styles/core/styles/theme/index.scss +2 -13
  335. package/styles/core/styles/tokens/bottom-sheet/_tokens.scss +21 -0
  336. package/styles/core/styles/tokens/elevation/_tokens.scss +35 -84
  337. package/styles/core/styles/tokens/list/list/_tokens.scss +14 -1
  338. package/styles/core/styles/tokens/list/list-item/_tokens.scss +6 -6
  339. package/styles/core/styles/tokens/open-icon/_tokens.scss +25 -0
  340. package/styles/core/styles/tokens/popover/_tokens.scss +1 -1
  341. package/styles/core/styles/tokens/theme/_tokens.core.scss +60 -30
  342. package/styles/core/styles/tokens/theme/_tokens.scss +1 -48
  343. package/styles/core/styles/tokens/theme/_tokens.status.scss +78 -32
  344. package/styles/core/styles/tokens/theme/_tokens.surface.scss +33 -51
  345. package/styles/core/styles/tokens/theme/_tokens.text.scss +20 -26
  346. package/styles/core/styles/tokens/theme/_tokens.utilities.scss +13 -23
  347. package/styles/core/styles/tokens/tooltip/_tokens.scss +1 -1
  348. package/styles/deprecated/icon-button/deprecated-icon-button.scss +114 -0
  349. package/styles/dialog/_core.scss +3 -1
  350. package/styles/dialog/dialog.scss +1 -1
  351. package/styles/drawer/base/_mixins.scss +11 -10
  352. package/styles/drawer/base/_variables.scss +6 -5
  353. package/styles/drawer/drawer/_variables.scss +6 -5
  354. package/styles/drawer/mini-drawer/_mixins.scss +11 -14
  355. package/styles/drawer/modal-drawer/_mixins.scss +4 -9
  356. package/styles/field/_core.variant.scss +0 -1
  357. package/styles/forge-tokens.scss +40 -0
  358. package/styles/forge.scss +1 -10
  359. package/styles/linear-progress/_core.scss +0 -1
  360. package/styles/list/list/list.scss +23 -7
  361. package/styles/list/list-item/_core.scss +10 -10
  362. package/styles/list/list-item/list-item.scss +4 -4
  363. package/styles/open-icon/_core.scss +26 -0
  364. package/styles/open-icon/_token-utils.scss +30 -0
  365. package/styles/{paginator/_variables.scss → open-icon/index.scss} +1 -1
  366. package/styles/open-icon/open-icon.scss +75 -3
  367. package/styles/paginator/_core.scss +42 -0
  368. package/styles/{typography/_index.scss → paginator/index.scss} +1 -2
  369. package/styles/paginator/paginator.scss +49 -5
  370. package/styles/profile-card/profile-card.scss +0 -1
  371. package/styles/split-view/split-view/_mixins.scss +0 -2
  372. package/styles/split-view/split-view-panel/_mixins.scss +12 -16
  373. package/styles/split-view/split-view-panel/_variables.scss +0 -1
  374. package/styles/table/_core.scss +333 -0
  375. package/styles/table/_variables.scss +22 -37
  376. package/styles/table/forge-table.scss +217 -3
  377. package/styles/{theme/_index.scss → table/index.scss} +1 -2
  378. package/styles/theme/_theme-dark.scss +0 -5
  379. package/styles/theme/forge-theme.scss +0 -7
  380. package/styles/typography/forge-typography.scss +0 -3
  381. package/styles/view-switcher/_mixins.scss +8 -8
  382. package/dist/busy-indicator/forge-busy-indicator.css +0 -6
  383. package/dist/esm/busy-indicator/index.js +0 -7
  384. package/dist/esm/chunks/chunk.3CTKWBV2.js +0 -7
  385. package/dist/esm/chunks/chunk.3CTKWBV2.js.map +0 -7
  386. package/dist/esm/chunks/chunk.3II7OT2I.js +0 -7
  387. package/dist/esm/chunks/chunk.6VS3LYAF.js +0 -7
  388. package/dist/esm/chunks/chunk.6VS3LYAF.js.map +0 -7
  389. package/dist/esm/chunks/chunk.7RLY2O3H.js +0 -7
  390. package/dist/esm/chunks/chunk.7RLY2O3H.js.map +0 -7
  391. package/dist/esm/chunks/chunk.A7BCLPP4.js +0 -7
  392. package/dist/esm/chunks/chunk.AFWWND2C.js +0 -7
  393. package/dist/esm/chunks/chunk.AFWWND2C.js.map +0 -7
  394. package/dist/esm/chunks/chunk.AIJK3CTV.js +0 -12
  395. package/dist/esm/chunks/chunk.AIJK3CTV.js.map +0 -7
  396. package/dist/esm/chunks/chunk.BQZKOIAW.js +0 -7
  397. package/dist/esm/chunks/chunk.BV7EAQST.js +0 -7
  398. package/dist/esm/chunks/chunk.BV7EAQST.js.map +0 -7
  399. package/dist/esm/chunks/chunk.CGFSMACZ.js +0 -7
  400. package/dist/esm/chunks/chunk.CGFSMACZ.js.map +0 -7
  401. package/dist/esm/chunks/chunk.GBAVJILM.js +0 -7
  402. package/dist/esm/chunks/chunk.GRYO5XP2.js +0 -7
  403. package/dist/esm/chunks/chunk.GRYO5XP2.js.map +0 -7
  404. package/dist/esm/chunks/chunk.HD2SLIL2.js +0 -7
  405. package/dist/esm/chunks/chunk.HD2SLIL2.js.map +0 -7
  406. package/dist/esm/chunks/chunk.HG4IDRAC.js +0 -7
  407. package/dist/esm/chunks/chunk.HG4IDRAC.js.map +0 -7
  408. package/dist/esm/chunks/chunk.KCCW4AMU.js +0 -7
  409. package/dist/esm/chunks/chunk.KCCW4AMU.js.map +0 -7
  410. package/dist/esm/chunks/chunk.KLU54MDQ.js +0 -7
  411. package/dist/esm/chunks/chunk.MFS7AVW6.js +0 -7
  412. package/dist/esm/chunks/chunk.MFS7AVW6.js.map +0 -7
  413. package/dist/esm/chunks/chunk.O5WAQQNR.js +0 -7
  414. package/dist/esm/chunks/chunk.O5WAQQNR.js.map +0 -7
  415. package/dist/esm/chunks/chunk.OJ7JO4O6.js +0 -7
  416. package/dist/esm/chunks/chunk.OQHDHS2C.js +0 -7
  417. package/dist/esm/chunks/chunk.OQHDHS2C.js.map +0 -7
  418. package/dist/esm/chunks/chunk.OREDK5MJ.js +0 -7
  419. package/dist/esm/chunks/chunk.OREDK5MJ.js.map +0 -7
  420. package/dist/esm/chunks/chunk.QVATEY5S.js +0 -7
  421. package/dist/esm/chunks/chunk.QVATEY5S.js.map +0 -7
  422. package/dist/esm/chunks/chunk.RKIJTSSL.js +0 -7
  423. package/dist/esm/chunks/chunk.RKIJTSSL.js.map +0 -7
  424. package/dist/esm/chunks/chunk.RLQB7224.js +0 -7
  425. package/dist/esm/chunks/chunk.RSYEG2RW.js +0 -7
  426. package/dist/esm/chunks/chunk.RSYEG2RW.js.map +0 -7
  427. package/dist/esm/chunks/chunk.SZOZIJZI.js +0 -7
  428. package/dist/esm/chunks/chunk.SZOZIJZI.js.map +0 -7
  429. package/dist/esm/chunks/chunk.UPSXYWPD.js +0 -7
  430. package/dist/esm/chunks/chunk.V6KUOCAR.js +0 -7
  431. package/dist/esm/chunks/chunk.V6KUOCAR.js.map +0 -7
  432. package/dist/esm/chunks/chunk.X77NKT6Z.js +0 -7
  433. package/dist/esm/chunks/chunk.X77NKT6Z.js.map +0 -7
  434. package/dist/esm/chunks/chunk.YRAEFQJW.js +0 -7
  435. package/dist/esm/chunks/chunk.YRAEFQJW.js.map +0 -7
  436. package/dist/esm/quantity-field/index.js +0 -7
  437. package/dist/esm/quantity-field/index.js.map +0 -7
  438. package/dist/esm/theme/index.js +0 -7
  439. package/dist/esm/theme/index.js.map +0 -7
  440. package/dist/quantity-field/forge-quantity-field.css +0 -6
  441. package/dist/typography/forge-typography-legacy.css +0 -6
  442. package/dist/utils/forge-utils.css +0 -6
  443. package/esm/busy-indicator/busy-indicator-adapter.d.ts +0 -155
  444. package/esm/busy-indicator/busy-indicator-adapter.js +0 -203
  445. package/esm/busy-indicator/busy-indicator-constants.d.ts +0 -49
  446. package/esm/busy-indicator/busy-indicator-constants.js +0 -58
  447. package/esm/busy-indicator/busy-indicator-foundation.d.ts +0 -97
  448. package/esm/busy-indicator/busy-indicator-foundation.js +0 -268
  449. package/esm/busy-indicator/busy-indicator.d.ts +0 -77
  450. package/esm/busy-indicator/busy-indicator.js +0 -115
  451. package/esm/busy-indicator/index.d.ts +0 -10
  452. package/esm/busy-indicator/index.js +0 -14
  453. package/esm/open-icon/open-icon-adapter.d.ts +0 -18
  454. package/esm/open-icon/open-icon-adapter.js +0 -27
  455. package/esm/open-icon/open-icon-foundation.d.ts +0 -22
  456. package/esm/open-icon/open-icon-foundation.js +0 -35
  457. package/esm/quantity-field/index.d.ts +0 -11
  458. package/esm/quantity-field/index.js +0 -15
  459. package/esm/quantity-field/quantity-field-adapter.d.ts +0 -77
  460. package/esm/quantity-field/quantity-field-adapter.js +0 -221
  461. package/esm/quantity-field/quantity-field-component-delegate.d.ts +0 -44
  462. package/esm/quantity-field/quantity-field-component-delegate.js +0 -129
  463. package/esm/quantity-field/quantity-field-constants.d.ts +0 -35
  464. package/esm/quantity-field/quantity-field-constants.js +0 -41
  465. package/esm/quantity-field/quantity-field-foundation.d.ts +0 -36
  466. package/esm/quantity-field/quantity-field-foundation.js +0 -100
  467. package/esm/quantity-field/quantity-field.d.ts +0 -34
  468. package/esm/quantity-field/quantity-field.js +0 -100
  469. package/esm/theme/color-constants.d.ts +0 -313
  470. package/esm/theme/color-constants.js +0 -363
  471. package/esm/theme/index.d.ts +0 -7
  472. package/esm/theme/index.js +0 -7
  473. package/esm/theme/theme-utils.d.ts +0 -9
  474. package/esm/theme/theme-utils.js +0 -68
  475. package/styles/bottom-sheet/_mixins.scss +0 -93
  476. package/styles/bottom-sheet/_variables.scss +0 -7
  477. package/styles/busy-indicator/_mixins.scss +0 -185
  478. package/styles/busy-indicator/_variables.scss +0 -9
  479. package/styles/busy-indicator/busy-indicator.scss +0 -22
  480. package/styles/busy-indicator/forge-busy-indicator.scss +0 -8
  481. package/styles/open-icon/_mixins.scss +0 -39
  482. package/styles/open-icon/_variables.scss +0 -8
  483. package/styles/paginator/_mixins.scss +0 -136
  484. package/styles/quantity-field/_mixins.scss +0 -116
  485. package/styles/quantity-field/forge-quantity-field.scss +0 -18
  486. package/styles/quantity-field/quantity-field.scss +0 -16
  487. package/styles/table/_mixins.scss +0 -547
  488. package/styles/theme/_custom-properties.scss +0 -311
  489. package/styles/theme/_keys.scss +0 -477
  490. package/styles/theme/_theme-utils.scss +0 -23
  491. package/styles/theme/_theme-values.scss +0 -246
  492. package/styles/theme/_theme.scss +0 -279
  493. package/styles/typography/_mixins.scss +0 -73
  494. package/styles/typography/_variables.scss +0 -100
  495. package/styles/typography/forge-typography-legacy.scss +0 -8
  496. package/styles/utils/forge-utils.scss +0 -45
  497. /package/dist/esm/chunks/{chunk.AOVXNX7P.js.map → chunk.24L6GVJK.js.map} +0 -0
  498. /package/dist/esm/chunks/{chunk.WMJSYYXQ.js.map → chunk.27YQZWEJ.js.map} +0 -0
  499. /package/dist/esm/chunks/{chunk.AG6IRMLZ.js.map → chunk.2CP5CIRB.js.map} +0 -0
  500. /package/dist/esm/chunks/{chunk.H4VQXV2H.js.map → chunk.3CXCYRCE.js.map} +0 -0
  501. /package/dist/esm/chunks/{chunk.MTIPIEXA.js.map → chunk.3LNZRQAL.js.map} +0 -0
  502. /package/dist/esm/chunks/{chunk.BQ52JYLA.js.map → chunk.3LUG3LPU.js.map} +0 -0
  503. /package/dist/esm/chunks/{chunk.IL4S57WO.js.map → chunk.3ODT27TD.js.map} +0 -0
  504. /package/dist/esm/chunks/{chunk.XZ23XHFE.js.map → chunk.45N7ZZVL.js.map} +0 -0
  505. /package/dist/esm/chunks/{chunk.YWJVZVZX.js.map → chunk.4GFUXXXH.js.map} +0 -0
  506. /package/dist/esm/chunks/{chunk.ZA7JY3AY.js.map → chunk.5DDR6QSF.js.map} +0 -0
  507. /package/dist/esm/chunks/{chunk.3KAKJGUS.js.map → chunk.5NEWFXFX.js.map} +0 -0
  508. /package/dist/esm/chunks/{chunk.VRSPT7WX.js.map → chunk.5OT53ZJM.js.map} +0 -0
  509. /package/dist/esm/chunks/{chunk.VL5RWSAV.js.map → chunk.6DWRGYKV.js.map} +0 -0
  510. /package/dist/esm/chunks/{chunk.IEABOPNB.js.map → chunk.6T7KPDCD.js.map} +0 -0
  511. /package/dist/esm/chunks/{chunk.SROEDYPL.js.map → chunk.7JO5MB55.js.map} +0 -0
  512. /package/dist/esm/chunks/{chunk.CLYGTLXN.js.map → chunk.7TE74NJZ.js.map} +0 -0
  513. /package/dist/esm/chunks/{chunk.AGLI4WR4.js.map → chunk.AJLS5C7O.js.map} +0 -0
  514. /package/dist/esm/chunks/{chunk.TSSZQPLE.js.map → chunk.BURDWL57.js.map} +0 -0
  515. /package/dist/esm/chunks/{chunk.BHE6Z5Y2.js.map → chunk.CQ4XBOX5.js.map} +0 -0
  516. /package/dist/esm/chunks/{chunk.NEQX2QVX.js.map → chunk.DJQXJO3T.js.map} +0 -0
  517. /package/dist/esm/chunks/{chunk.VJZ7VDG5.js.map → chunk.DPJJB67L.js.map} +0 -0
  518. /package/dist/esm/chunks/{chunk.OOAJHLW4.js.map → chunk.EZIABLIR.js.map} +0 -0
  519. /package/dist/esm/chunks/{chunk.ZG6YF2HI.js.map → chunk.F53DSRUO.js.map} +0 -0
  520. /package/dist/esm/chunks/{chunk.7AAICE77.js.map → chunk.FIO22U2C.js.map} +0 -0
  521. /package/dist/esm/chunks/{chunk.U6J4VHU6.js.map → chunk.FKMTIOBA.js.map} +0 -0
  522. /package/dist/esm/chunks/{chunk.W4HANHUO.js.map → chunk.FMGBPF7B.js.map} +0 -0
  523. /package/dist/esm/chunks/{chunk.5MB6CTBA.js.map → chunk.FVFPDWA4.js.map} +0 -0
  524. /package/dist/esm/chunks/{chunk.ENUKGA2U.js.map → chunk.FYPIHFXD.js.map} +0 -0
  525. /package/dist/esm/chunks/{chunk.CE35CVDV.js.map → chunk.GQ33JZVE.js.map} +0 -0
  526. /package/dist/esm/chunks/{chunk.2W23MOPP.js.map → chunk.GUBLRHCG.js.map} +0 -0
  527. /package/dist/esm/chunks/{chunk.37B332ZK.js.map → chunk.HSNVTV7K.js.map} +0 -0
  528. /package/dist/esm/chunks/{chunk.PC6TW5XE.js.map → chunk.HXNNWUI3.js.map} +0 -0
  529. /package/dist/esm/chunks/{chunk.77C7S7ZS.js.map → chunk.IOGCI64X.js.map} +0 -0
  530. /package/dist/esm/chunks/{chunk.5UOX22ML.js.map → chunk.KKVQNKMV.js.map} +0 -0
  531. /package/dist/esm/chunks/{chunk.YPNSK2CK.js.map → chunk.KW5A2U5U.js.map} +0 -0
  532. /package/dist/esm/chunks/{chunk.KO6ODCZC.js.map → chunk.LIJE4T3D.js.map} +0 -0
  533. /package/dist/esm/chunks/{chunk.KEOLH7G3.js.map → chunk.LQN5U4QH.js.map} +0 -0
  534. /package/dist/esm/chunks/{chunk.5QIWLZG3.js.map → chunk.LSUIJDFO.js.map} +0 -0
  535. /package/dist/esm/chunks/{chunk.QCPV5DEG.js.map → chunk.N65CAIE5.js.map} +0 -0
  536. /package/dist/esm/chunks/{chunk.UKBE2FMZ.js.map → chunk.NNLZKMFX.js.map} +0 -0
  537. /package/dist/esm/chunks/{chunk.EO3GP6DP.js.map → chunk.ON6FFHRE.js.map} +0 -0
  538. /package/dist/esm/chunks/{chunk.OVXEOEJF.js.map → chunk.ONFZ3H7M.js.map} +0 -0
  539. /package/dist/esm/chunks/{chunk.32APLNN2.js.map → chunk.OVVBXM6K.js.map} +0 -0
  540. /package/dist/esm/chunks/{chunk.DKERDHXH.js.map → chunk.P74RZEWP.js.map} +0 -0
  541. /package/dist/esm/chunks/{chunk.QLGJS37N.js.map → chunk.PBORL6KX.js.map} +0 -0
  542. /package/dist/esm/chunks/{chunk.JGURMVW7.js.map → chunk.PGMOAILY.js.map} +0 -0
  543. /package/dist/esm/chunks/{chunk.OEI35LFU.js.map → chunk.PKCMTSWR.js.map} +0 -0
  544. /package/dist/esm/chunks/{chunk.QUXMLWBJ.js.map → chunk.Q3Z6VZUD.js.map} +0 -0
  545. /package/dist/esm/chunks/{chunk.TQWZDM6T.js.map → chunk.QBHJFCLL.js.map} +0 -0
  546. /package/dist/esm/chunks/{chunk.WXVVOFNK.js.map → chunk.QDG6TP2Z.js.map} +0 -0
  547. /package/dist/esm/chunks/{chunk.H5RW3A4M.js.map → chunk.QH27OIAK.js.map} +0 -0
  548. /package/dist/esm/chunks/{chunk.473WRJ5G.js.map → chunk.QKCPE4LW.js.map} +0 -0
  549. /package/dist/esm/chunks/{chunk.FLF5RTYO.js.map → chunk.R2CJMM2F.js.map} +0 -0
  550. /package/dist/esm/chunks/{chunk.IQYOLMPG.js.map → chunk.RGDLRUSM.js.map} +0 -0
  551. /package/dist/esm/chunks/{chunk.QIZBZGYT.js.map → chunk.RKPWFEFJ.js.map} +0 -0
  552. /package/dist/esm/chunks/{chunk.RXBLU4OJ.js.map → chunk.S5EU72NR.js.map} +0 -0
  553. /package/dist/esm/chunks/{chunk.T7NWP7DB.js.map → chunk.SW6JDC2Y.js.map} +0 -0
  554. /package/dist/esm/chunks/{chunk.7IPAW4D2.js.map → chunk.TAQRHBGS.js.map} +0 -0
  555. /package/dist/esm/chunks/{chunk.MFQRXVKO.js.map → chunk.TEZFEC5B.js.map} +0 -0
  556. /package/dist/esm/chunks/{chunk.MX4JX4GT.js.map → chunk.THIUQ2AU.js.map} +0 -0
  557. /package/dist/esm/chunks/{chunk.LY2Z2Z7S.js.map → chunk.TQMT7BIZ.js.map} +0 -0
  558. /package/dist/esm/chunks/{chunk.GIENHEMN.js.map → chunk.TR45SGWL.js.map} +0 -0
  559. /package/dist/esm/chunks/{chunk.CFAI4K3E.js.map → chunk.UBVWYWO7.js.map} +0 -0
  560. /package/dist/esm/chunks/{chunk.NWVQ5HK2.js.map → chunk.UHPODZWA.js.map} +0 -0
  561. /package/dist/esm/chunks/{chunk.3PMONORO.js.map → chunk.V4R7FCZ2.js.map} +0 -0
  562. /package/dist/esm/chunks/{chunk.BEFAXPXJ.js.map → chunk.WNX3GGYT.js.map} +0 -0
  563. /package/dist/esm/chunks/{chunk.I7YON2TC.js.map → chunk.X5MI5OFS.js.map} +0 -0
  564. /package/dist/esm/chunks/{chunk.QKTK5XUE.js.map → chunk.XHRBFPZ2.js.map} +0 -0
  565. /package/dist/esm/chunks/{chunk.ASLHRT3N.js.map → chunk.XT6RPXTM.js.map} +0 -0
  566. /package/dist/esm/chunks/{chunk.VGIRVTBJ.js.map → chunk.XWVFJVBN.js.map} +0 -0
  567. /package/dist/esm/chunks/{chunk.YNCTSMT6.js.map → chunk.YXFGOJ5Z.js.map} +0 -0
  568. /package/dist/esm/chunks/{chunk.GG7IQL46.js.map → chunk.ZPH3TMNA.js.map} +0 -0
  569. /package/dist/esm/chunks/{chunk.CEGBMUSR.js.map → chunk.ZWELGTD7.js.map} +0 -0
  570. /package/dist/esm/{busy-indicator → deprecated/icon-button}/index.js.map +0 -0
@@ -1,7 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2023 Tyler Technologies, Inc.
4
- * License: Apache-2.0
5
- */
6
- import{a as G}from"./chunk.BEFAXPXJ.js";import{a as z}from"./chunk.MFQRXVKO.js";import{a as T}from"./chunk.INQZNXG6.js";import{d as N}from"./chunk.FLF5RTYO.js";import{p as P}from"./chunk.ASLHRT3N.js";import{a as H,b as q}from"./chunk.BQ52JYLA.js";import{c as _}from"./chunk.BX4AQRHB.js";import{a as h}from"./chunk.NVUMRW44.js";import{a as I}from"./chunk.OLFOVKQG.js";import{a as C,b as w,g as x,h as S,j as D,k as m,l as F,m as u,n as p}from"./chunk.VRSPT7WX.js";import{a as E,e as L,f,k as A}from"./chunk.LNTTU2GL.js";import{k as b}from"./chunk.J2M2MXP2.js";import{a as R,d as c}from"./chunk.M3QDAYD2.js";var l=class l{static getRadioGroup(e,{rootNode:t,form:a}={}){var r;if(!e.name)return[e];if(!e.form&&!a){let M=(t!=null?t:e.getRootNode()).querySelectorAll(`${i.elementName}[name=${e.name}]`);return Array.from(M).filter(U=>!U.form)}let o=((r=e.form)!=null?r:a).elements.namedItem(e.name);return o&&Object.prototype.isPrototypeOf.call(RadioNodeList.prototype,o)?Array.from(o).filter(s=>s.matches(i.elementName)):[e]}static setRadioGroupValidity(e){let t=l.getRadioGroup(e),a=l._selectionIsRequired(t);t.forEach(o=>{if(!o.shadowRoot)return;let r=o[D]({required:a,checked:o.checked});o[m].setValidity({valueMissing:a},r)})}static setSelectedRadioInGroup(e){l.getRadioGroup(e).forEach(a=>a.checked=a===e)}static syncRadioFocusableState(e,{ignoreSelf:t,rootNode:a,form:o}={ignoreSelf:!1}){let r=l.getRadioGroup(e,{rootNode:a,form:o});if(r=r.filter(s=>t&&s!==e||s.shadowRoot),!r.some(s=>s.checked)){r.forEach(s=>s[u]=!s.disabled);return}r.forEach(s=>s[u]=s.checked&&!s.disabled)}static focusNextRadioInGroup(e){l._updateRadioGroupFocus(e,1)}static focusPreviousRadioInGroup(e){l._updateRadioGroupFocus(e,-1)}static setUncheckedRadioGroupFocus(e,t){let a=l.getRadioGroup(e);if(t==="focus"){a.forEach(o=>o[u]=o===e);return}(!e.checked||a[0]===e||a[a.length-1]===e)&&a.forEach(o=>o[u]=!0)}static async requestRadioGroupReset(e){if(this._radiosRequestingReset.add(e),await _(),!this._radiosRequestingReset.has(e))return;let t=l.getRadioGroup(e),a=null;t.forEach(o=>{this._radiosRequestingReset.delete(o),o.defaultChecked&&(a=o)}),t.forEach(o=>{o.checked=o===a,o[u]=!a||o.checked})}static _updateRadioGroupFocus(e,t){let a=l.getRadioGroup(e),o=a.indexOf(e),r=a[o];do if(o+=t,o<0?o=a.length-1:o>=a.length&&(o=0),r=a[o],r===e)return;while(r.disabled||r.readonly);r[v]()&&(r[u]=!0,r.focus(),a.forEach(s=>{s!==r&&(s[u]=!1,s.checked=!1)}))}static _selectionIsRequired(e){let t=!1,a=!1;return e.forEach(o=>{o.required&&(t=!0),o.checked&&(a=!0)}),t&&!a}};l._radiosRequestingReset=new WeakSet;var d=l;var B=`${w}radio`,O={CHECKED:"checked",DEFAULT_CHECKED:"default-checked",VALUE:"value",DENSE:"dense",DISABLED:"disabled",REQUIRED:"required",READONLY:"readonly",LABEL_POSITION:"label-position",TABINDEX:"tabindex"},K=R({},O),W={ROOT:".forge-radio",LABEL:"#label",STATE_LAYER:"forge-state-layer"},j={CHANGE:"change",INPUT:"input"},i={elementName:B,observedAttributes:O,attributes:K,selectors:W,events:j},v=Symbol("tryCheck");var g=class extends I{constructor(t){super(t);this._rootElement=f(t,i.selectors.ROOT),this._labelElement=f(t,i.selectors.LABEL),this._stateLayerElement=f(t,i.selectors.STATE_LAYER)}setChecked(t,a){this._component[p]({ariaChecked:t?"true":"false"}),t&&d.setSelectedRadioInGroup(this._component),d.syncRadioFocusableState(this._component);let o=t?a:null,r=t?"checked":"unchecked";this._component[m].setFormValue(o,r),d.setRadioGroupValidity(this._component)}trySetDisabled(t){let a=this._component.closest("forge-radio-group");return!t&&a&&a.disabled?!1:(this._component[p]({ariaDisabled:`${!!t}`}),d.syncRadioFocusableState(this._component),!0)}setRequired(t){this._component[p]({ariaRequired:t?"true":"false"},{setAttribute:!0}),d.setRadioGroupValidity(this._component)}setReadonly(t){this._component[p]({ariaDisabled:`${!!t}`})}disableStateLayer(t){this._stateLayerElement.disabled=t}setLabelPosition(t){this._labelElement.remove(),t==="start"?this._rootElement.prepend(this._labelElement):this._rootElement.append(this._labelElement)}setUncheckedRadioGroupFocus(t){d.setUncheckedRadioGroupFocus(this._component,t)}focusNext(){d.focusNextRadioInGroup(this._component)}focusPrevious(){d.focusPreviousRadioInGroup(this._component)}};var k=class{constructor(e){this._adapter=e;this._checked=!1;this._defaultChecked=!1;this._value="on";this._disabled=!1;this._required=!1;this._readonly=!1;this._dense=!1;this._labelPosition="end";this._focusListener=()=>this._handleFocus(),this._blurListener=()=>this._handleBlur(),this._clickListener=t=>this._handleClick(t),this._keydownListener=t=>this._handleKeydown(t),this._keyupListener=t=>this._handleKeyup(t)}initialize(){this._adapter.addHostListener("focus",this._focusListener),this._adapter.addHostListener("blur",this._blurListener),this._adapter.addHostListener("click",this._clickListener),this._adapter.addHostListener("keydown",this._keydownListener),this._adapter.addHostListener("keyup",this._keyupListener),this._adapter.setChecked(this._checked,this._value)}tryCheck(){return this._checked=!0,this._dispatchEvents()?(this._adapter.setChecked(this._checked,this._value),this._adapter.toggleHostAttribute(i.attributes.CHECKED,this._checked),!0):(this._checked=!1,!1)}_handleFocus(){this._checked||this._adapter.setUncheckedRadioGroupFocus("focus")}_handleBlur(){this._checked||this._adapter.setUncheckedRadioGroupFocus("blur")}_handleClick(e){this._activate(e)}_handleKeydown(e){switch(e.key){case"ArrowRight":case"ArrowDown":e.preventDefault(),this._adapter.focusNext();break;case"ArrowLeft":case"ArrowUp":e.preventDefault(),this._adapter.focusPrevious();break;case" ":e.preventDefault();break}}_handleKeyup(e){e.key===" "&&this._activate(e)}async _activate(e){if(!(this._checked||this._disabled||this._readonly)&&(await _(),!e.defaultPrevented)){if(this._checked=!0,!this._dispatchEvents()){this._checked=!1;return}this._adapter.setChecked(this._checked,this._value),this._adapter.toggleHostAttribute(i.attributes.CHECKED,this._checked)}}_dispatchEvents(){let e=new Event(i.events.CHANGE,{bubbles:!0,cancelable:!0}),t=new Event(i.events.INPUT,{bubbles:!0,cancelable:!0,composed:!0});return this._adapter.dispatchHostEvent(e),this._adapter.dispatchHostEvent(t),!(e.defaultPrevented||t.defaultPrevented)}get checked(){return this._checked}set checked(e){this._checked!==e&&(this._checked=e,this._adapter.setChecked(this._checked,this._value),this._adapter.toggleHostAttribute(i.attributes.CHECKED,this._checked))}get defaultChecked(){return this._defaultChecked}set defaultChecked(e){this._defaultChecked!==e&&(this._defaultChecked=e,this._adapter.toggleHostAttribute(i.attributes.DEFAULT_CHECKED,this._defaultChecked))}get value(){return this._value}set value(e){this._value!==e&&(this._value=e,this._adapter.setHostAttribute(i.attributes.VALUE,this._value))}get disabled(){return this._disabled}set disabled(e){this._disabled!==e&&(this._disabled=e,this._adapter.trySetDisabled(this._disabled)?(this._adapter.disableStateLayer(this._disabled||this._readonly),this._adapter.toggleHostAttribute(i.attributes.DISABLED,this._disabled)):this._disabled=!this._disabled)}get required(){return this._required}set required(e){this._required!==e&&(this._required=e,this._adapter.setRequired(this._required),this._adapter.toggleHostAttribute(i.attributes.REQUIRED,this._required))}get readonly(){return this._readonly}set readonly(e){this._readonly!==e&&(this._readonly=e,this._adapter.setReadonly(this._readonly),this._adapter.disableStateLayer(this._disabled||this._readonly),this._adapter.toggleHostAttribute(i.attributes.READONLY,this._readonly))}get dense(){return this._dense}set dense(e){this._dense!==e&&(this._dense=e,this._adapter.toggleHostAttribute(i.attributes.DENSE,this._dense))}get labelPosition(){return this._labelPosition}set labelPosition(e){this._labelPosition!==e&&(this._labelPosition=e,this._adapter.setLabelPosition(this._labelPosition),this._adapter.setHostAttribute(i.attributes.LABEL_POSITION,this._labelPosition))}};var V='<template><div id="radio" class="forge-radio" part="root"><div id="container" class="container" aria-hidden="true"><div id="background" class="background" part="background"></div><forge-focus-indicator target=":host" part="focus-indicator"></forge-focus-indicator><forge-state-layer exportparts="surface:state-layer"></forge-state-layer></div><span id="label" class="label" for="input" part="label"><slot></slot></span></div></template>',Y=':host{display:inline-block;-webkit-tap-highlight-color:transparent}:host([hidden]){display:none}:host(:focus){outline:0}.forge-radio{--_radio-primary-color:var(--forge-radio-primary-color, var(--forge-theme-tertiary, #3d5afe));--_radio-inactive-color:var(--forge-radio-inactive-color, var(--forge-theme-surface-container-high, #9e9e9e));--_radio-size:var(--forge-radio-size, 20px);--_radio-mark-size:var(--forge-radio-mark-size, 12px);--_radio-state-layer-size:var(--forge-radio-state-layer-size, 40px);--_radio-state-layer-dense-size:var(--forge-radio-state-layer-dense-size, 24px);--_radio-width:var(--forge-radio-width, var(--_radio-size));--_radio-height:var(--forge-radio-height, var(--_radio-size));--_radio-border-width:var(--forge-radio-border-width, var(--forge-border-medium, 2px));--_radio-unchecked-border-color:var(--forge-radio-unchecked-border-color, var(--_radio-inactive-color));--_radio-checked-border-color:var(--forge-radio-checked-border-color, var(--_radio-primary-color));--_radio-background:var(--forge-radio-background, transparent);--_radio-shape:var(--forge-radio-shape, var(--forge-shape-round, 50%));--_radio-mark-width:var(--forge-radio-mark-width, var(--_radio-mark-size));--_radio-mark-height:var(--forge-radio-mark-height, var(--_radio-mark-size));--_radio-mark-unchecked-color:var(--forge-radio-mark-unchecked-color, var(--_radio-inactive-color));--_radio-mark-checked-color:var(--forge-radio-mark-checked-color, var(--_radio-primary-color));--_radio-mark-unchecked-background:var(--forge-radio-mark-unchecked-background, transparent);--_radio-mark-checked-background:var(--forge-radio-mark-checked-background, transparent);--_radio-gap:var(--forge-radio-gap, 0);--_radio-justify:var(--forge-radio-justify, start);--_radio-direction:var(--forge-radio-direction, initial);--_radio-state-layer-width:var(--forge-radio-state-layer-width, var(--_radio-state-layer-size));--_radio-state-layer-height:var(--forge-radio-state-layer-height, var(--_radio-state-layer-size));--_radio-state-layer-unchecked-color:var(--forge-radio-state-layer-unchecked-color, var(--_radio-color));--_radio-state-layer-checked-color:var(--forge-radio-state-layer-checked-color, var(--_radio-primary-color));--_radio-state-layer-shape:var(--forge-radio-state-layer-shape, var(--_radio-shape));--_radio-state-layer-dense-width:var(--forge-radio-state-layer-dense-width, var(--_radio-state-layer-dense-size));--_radio-state-layer-dense-height:var(--forge-radio-state-layer-dense-height, var(--_radio-state-layer-dense-size));--_radio-disabled-opacity:var(--forge-radio-disabled-opacity, 0.38);--_radio-animation-duration:var(--forge-radio-animation-duration, var(--forge-animation-duration-short4, 200ms));--_radio-animation-timing-function:var(--forge-radio-animation-timing-function, var(--forge-animation-easing-decelerate, cubic-bezier(0, 0, 0, 1)));--_radio-animation-delay:var(--forge-radio-animation-delay, 0ms)}.forge-radio{position:relative;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:var(--_radio-direction);flex-shrink:0;-webkit-box-align:center;align-items:center;-webkit-box-pack:var(--_radio-justify);justify-content:var(--_radio-justify);gap:var(--_radio-gap);display:-webkit-box;display:flex}.forge-radio .container{position:relative;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;display:-webkit-box;display:flex;border-radius:var(--_radio-shape);inline-size:var(--_radio-state-layer-width);block-size:var(--_radio-state-layer-height);cursor:pointer}.forge-radio .background{position:relative;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;display:-webkit-box;display:flex;overflow:hidden;-webkit-transition-duration:var(--_radio-animation-duration);transition-duration:var(--_radio-animation-duration);-webkit-transition-delay:var(--_radio-animation-delay);transition-delay:var(--_radio-animation-delay);-webkit-transition-timing-function:var(--_radio-animation-timing-function);transition-timing-function:var(--_radio-animation-timing-function);-webkit-transition-property:border-color;transition-property:border-color;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:var(--_radio-shape);border-width:var(--_radio-border-width);border-style:solid;border-color:var(--_radio-unchecked-border-color);inline-size:var(--_radio-width);block-size:var(--_radio-height);background:var(--_radio-background)}.forge-radio .background::after{content:"";position:absolute;contain:strict;-webkit-transition-duration:var(--_radio-animation-duration);transition-duration:var(--_radio-animation-duration);-webkit-transition-delay:var(--_radio-animation-delay);transition-delay:var(--_radio-animation-delay);-webkit-transition-timing-function:var(--_radio-animation-timing-function);transition-timing-function:var(--_radio-animation-timing-function);-webkit-transition-property:inline-size,block-size,border-color;transition-property:inline-size,block-size,border-color;border-radius:var(--_radio-shape);border-width:calc(var(--_radio-mark-height)/ 2) calc(var(--_radio-mark-width)/ 2);border-color:var(--_radio-mark-unchecked-color);border-style:solid;inline-size:calc(var(--_radio-width) - 2 * var(--_radio-border-width));block-size:calc(var(--_radio-height) - 2 * var(--_radio-border-width));background:var(--_radio-mark-unchecked-background)}.forge-radio .label{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--forge-typography-label1-font-family, var(--forge-typography-font-family, "Roboto", sans-serif));font-size:var(--forge-typography-label1-font-size, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-label-font-size-scale, .75)));font-weight:var(--forge-typography-label1-font-weight,400);line-height:var(--forge-typography-label1-line-height, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-label-line-height-scale, 1.25)));letter-spacing:var(--forge-typography-label1-letter-spacing, .0357142857em);text-transform:var(--forge-typography-label1-text-transform,inherit);-webkit-text-decoration:var(--forge-typography-label1-text-decoration,inherit);text-decoration:var(--forge-typography-label1-text-decoration,inherit);cursor:default}.forge-radio .label:empty{display:none}:host([checked]) .forge-radio .background{border-color:var(--_radio-checked-border-color)}:host([checked]) .forge-radio .background::after{border-color:var(--_radio-mark-checked-color);inline-size:0px;block-size:0px;background:var(--_radio-mark-checked-background)}:host([checked]) forge-state-layer{--forge-state-layer-color:var(--_radio-state-layer-checked-color)}:host([dense]) .forge-radio .container{inline-size:var(--_radio-state-layer-dense-width);block-size:var(--_radio-state-layer-dense-height)}:host([disabled]) .forge-radio{opacity:var(--_radio-disabled-opacity)}:host([disabled]) .forge-radio .container{cursor:not-allowed}:host([readonly]) .forge-radio .container{cursor:not-allowed}forge-focus-indicator{--forge-focus-indicator-color:var(--_radio-primary-color);--forge-focus-indicator-outward-offset:0px;--forge-focus-indicator-shape:var(--_radio-state-layer-shape)}forge-state-layer{--forge-state-layer-color:var(--_radio-state-layer-unchecked-color)}',$=G(T(z(q(H(A))))),n=class extends ${constructor(){super();L(this,V,Y),this[F]="radio",this._foundation=new k(new g(this))}static get observedAttributes(){return Object.values(i.observedAttributes)}connectedCallback(){super.connectedCallback(),this[p]({role:"radio",ariaChecked:this.checked?"true":"false",ariaDisabled:this.disabled?"true":"false",ariaRequired:this.required?"true":"false"}),d.syncRadioFocusableState(this),this._foundation.initialize(),this._rootNode=this.getRootNode()}disconnectedCallback(){d.syncRadioFocusableState(this,{ignoreSelf:!0,rootNode:this._rootNode,form:this._latestAssociatedForm})}attributeChangedCallback(t,a,o){switch(t){case i.attributes.CHECKED:this._foundation.checked=b(o);break;case i.attributes.DEFAULT_CHECKED:this._foundation.defaultChecked=b(o);break;case i.attributes.VALUE:this.value=o;break;case i.attributes.DENSE:this.dense=b(o);break;case i.attributes.DISABLED:this.disabled=b(o);break;case i.attributes.REQUIRED:this.required=b(o);break;case i.attributes.READONLY:this.readonly=b(o);break;case i.attributes.LABEL_POSITION:this.labelPosition=o;break}super.attributeChangedCallback(t,a,o)}[x](){return this.checked?this.value:null}[S](){return this.checked?"checked":"unchecked"}formAssociatedCallback(t){t&&(this._latestAssociatedForm=t)}formResetCallback(){d.requestRadioGroupReset(this)}formStateRestoreCallback(t){this.checked=t==="checked"}labelClickedCallback(){this.click()}labelChangedCallback(t){this[p]({ariaLabel:t})}[v](){return this._foundation.tryCheck()}};c([h()],n.prototype,"checked",2),c([h()],n.prototype,"defaultChecked",2),c([h()],n.prototype,"value",2),c([h()],n.prototype,"dense",2),c([h()],n.prototype,"disabled",2),c([h()],n.prototype,"required",2),c([h()],n.prototype,"readonly",2),c([h()],n.prototype,"labelPosition",2),n=c([C({name:i.elementName,dependencies:[N,P]})],n);function Ue(){E(n)}export{i as a,v as b,g as c,k as d,n as e,Ue as f};
7
- //# sourceMappingURL=chunk.7RLY2O3H.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/radio/core/radio-group-manager.ts", "../../src/radio/radio/radio-constants.ts", "../../src/radio/radio/radio-adapter.ts", "../../src/radio/radio/radio-foundation.ts", "../../src/radio/radio/radio.ts", "../../src/radio/radio/index.ts"],
4
- "sourcesContent": ["import { getValidationMessage, internals, isFocusable } from '../../constants';\nimport { task } from '../../core/utils/event-utils';\nimport { IRadioComponent, RADIO_CONSTANTS, tryCheck } from '../radio';\n\n/**\n * A class for coordinating the states of radio components within a radio group.\n */\nexport class RadioGroupManager {\n private static _radiosRequestingReset = new WeakSet<IRadioComponent>();\n\n /**\n * Returns an array of IRadioComponents that belong to the same radio group as the given\n * IRadioComponent.\n * If the given IRadioComponent does not have an associated form element, it searches the root\n * node for all IRadioComponents with the same name.\n * If the given IRadioComponent has an associated form element, it gets all RadioComponents with\n * the same name from the form element.\n * \n * @param el - The IRadioComponent to get the radio group for.\n * @param rootNode - The node to search for radios.\n * @param form - The form element to get radios from.\n * @returns An array of IRadioComponents that belong to the same radio group as the given\n * IRadioComponent.\n */\n public static getRadioGroup(el: IRadioComponent, {\n rootNode,\n form\n }: {\n rootNode?: ShadowRoot | Document;\n form?: HTMLFormElement;\n } = {}): IRadioComponent[] {\n // If there's no name, it's not part of a radio group\n if (!el.name) {\n return [el];\n }\n\n // If there's no associated form element search the root node\n if (!el.form && !form) {\n const root = rootNode ?? el.getRootNode() as ShadowRoot | Document;\n const namedRadios = root.querySelectorAll<IRadioComponent>(`${RADIO_CONSTANTS.elementName}[name=${el.name}]`);\n return Array.from(namedRadios).filter(radio => !radio.form);\n }\n\n // When there is a form element, get all RadioComponents with the same name\n const formRadios = ((el.form ?? form) as HTMLFormElement).elements.namedItem(el.name);\n if (formRadios && Object.prototype.isPrototypeOf.call(RadioNodeList.prototype, formRadios)) {\n return Array.from(formRadios as RadioNodeList)\n .filter((radio: HTMLElement) => radio.matches(RADIO_CONSTANTS.elementName)) as IRadioComponent[];\n }\n return [el];\n }\n\n /**\n * Sets the validity of a radio group.\n * If no radio is selected in the group and selection is required, it sets the validity to\n * `valueMissing`.\n * \n * @param el A radio component within the group to set the validity for.\n */\n public static setRadioGroupValidity(el: IRadioComponent): void {\n const group = RadioGroupManager.getRadioGroup(el);\n const invalid = RadioGroupManager._selectionIsRequired(group);\n \n group.forEach(radio => {\n if (!radio.shadowRoot) {\n return;\n }\n\n const validationMessage = radio[getValidationMessage]({\n required: invalid,\n checked: radio.checked\n });\n radio[internals].setValidity({ valueMissing: invalid }, validationMessage);\n });\n }\n\n /**\n * Sets the selected radio in a radio group.\n * \n * @param el - The radio component to set as selected.\n */\n public static setSelectedRadioInGroup(el: IRadioComponent): void {\n const group = RadioGroupManager.getRadioGroup(el);\n group.forEach(radio => radio.checked = radio === el);\n }\n\n /**\n * Sets the tabindices of radios in a radio group based on the currently checked radio.\n * @param el - A radio component within the group to update the tab indices for.\n * @param ignoreSelf - Whether to ignore the passed radio component when updating the tab indices.\n * @param rootNode - The node to search for radios.\n * @param form - The form element to get radios from.\n */\n public static syncRadioFocusableState(el: IRadioComponent, {\n ignoreSelf,\n rootNode,\n form\n }: {\n ignoreSelf: boolean;\n rootNode?: ShadowRoot | Document;\n form?: HTMLFormElement;\n } = { ignoreSelf: false }): void {\n let group = RadioGroupManager.getRadioGroup(el, { rootNode, form });\n group = group.filter(radio => (ignoreSelf && radio !== el) || radio.shadowRoot);\n\n if (!group.some(radio => radio.checked)) {\n group.forEach(radio => radio[isFocusable] = !radio.disabled);\n return;\n }\n group.forEach(radio => radio[isFocusable] = radio.checked && !radio.disabled);\n }\n\n /**\n * Focuses the next radio in the radio group.\n * \n * @param el - The currently focused radio component.\n */\n public static focusNextRadioInGroup(el: IRadioComponent): void {\n RadioGroupManager._updateRadioGroupFocus(el, 1);\n }\n\n /**\n * Focuses the previous radio in the radio group.\n * \n * @param el - The currently focused radio component.\n */\n public static focusPreviousRadioInGroup(el: IRadioComponent): void {\n RadioGroupManager._updateRadioGroupFocus(el, -1);\n }\n\n /**\n * Adds or removes each radio in a radio group from the tab order. When no radio is selected and\n * focus is not in the group, all radios are added to the tab order. Otherwise only the selected\n * radio is added to the tab order.\n * \n * @param el - The focused or blurred radio component.\n * @param event - The event type (`'focus'` or `'blur'`).\n */\n public static setUncheckedRadioGroupFocus(el: IRadioComponent, event: 'focus' | 'blur'): void {\n const group = RadioGroupManager.getRadioGroup(el);\n \n if (event === 'focus') {\n group.forEach(radio => radio[isFocusable] = radio === el);\n return;\n }\n\n if (!el.checked || group[0] === el || group[group.length - 1] === el) {\n group.forEach(radio => radio[isFocusable] = true);\n }\n }\n\n /**\n * Resets a radio group to . This will run once each radio has a chance to\n * update.\n * \n * @param el - The radio component requesting the reset.\n * @returns A promise that resolves when the reset logic is complete.\n */\n public static async requestRadioGroupReset(el: IRadioComponent): Promise<void> {\n this._radiosRequestingReset.add(el);\n\n // Wait for any other radios in the group to request a reset. The reset logic should only run\n // once per group\n await task();\n\n // If the radio has been removed from the set, its group has already been reset and we can\n // skip it\n if (!this._radiosRequestingReset.has(el)) {\n return;\n }\n \n const group = RadioGroupManager.getRadioGroup(el);\n let checkedRadio: IRadioComponent | null = null;\n\n // The first loop removes each radio in the group from the set and stores the radio that should\n // be checked, if any\n group.forEach(radio => {\n this._radiosRequestingReset.delete(radio);\n \n if (radio.defaultChecked) {\n checkedRadio = radio;\n }\n });\n\n // The second loop sets the checked radio and sets each radio to be focusable if there is a no\n // selection, or only the selected radio if there is\n group.forEach(radio => {\n radio.checked = radio === checkedRadio;\n radio[isFocusable] = !checkedRadio || radio.checked;\n });\n }\n\n /**\n * Updates the focus and selection of a radio group based on the currently focused radio and the\n * direction of the focus change.\n * \n * @param el - The currently focused radio element.\n * @param increment - The direction of the focus change. 1 for forward, -1 for backward.\n */\n private static _updateRadioGroupFocus(el: IRadioComponent, increment: 1 | -1): void {\n const group = RadioGroupManager.getRadioGroup(el);\n\n // Get the next enabled and writable radio in the group\n let index = group.indexOf(el);\n let nextRadio = group[index];\n do {\n index += increment;\n if (index < 0) {\n index = group.length - 1;\n } else if (index >= group.length) {\n index = 0;\n }\n\n nextRadio = group[index];\n if (nextRadio === el) {\n return;\n }\n } while (nextRadio.disabled || nextRadio.readonly);\n\n // Attempt to check the next radio, return if the event is cancelled\n if (!nextRadio[tryCheck]()) {\n return;\n }\n\n // Add the next radio to the tab order, and focus it\n nextRadio[isFocusable] = true;\n nextRadio.focus();\n\n // Remove every other radio from the tab order and deselect it\n group.forEach(radio => {\n if (radio === nextRadio) {\n return;\n }\n radio[isFocusable] = false;\n radio.checked = false;\n });\n }\n\n /**\n * Determines if a radio selection is required within a group.\n * \n * @param group - The radio components within a group.\n * @returns True if the radio selection is required, false otherwise.\n */\n private static _selectionIsRequired(group: IRadioComponent[]): boolean {\n let required = false;\n let selection = false;\n\n group.forEach(radio => {\n if (radio.required) {\n required = true;\n }\n if (radio.checked) {\n selection = true;\n }\n });\n\n return required && !selection;\n }\n}\n", "import { COMPONENT_NAME_PREFIX } from '../../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}radio`;\n\nconst observedAttributes = {\n CHECKED: 'checked',\n DEFAULT_CHECKED: 'default-checked',\n VALUE: 'value',\n DENSE: 'dense',\n DISABLED: 'disabled',\n REQUIRED: 'required',\n READONLY: 'readonly',\n LABEL_POSITION: 'label-position',\n TABINDEX: 'tabindex'\n};\n\nconst attributes = {\n ...observedAttributes\n};\n\nconst selectors = {\n ROOT: '.forge-radio',\n LABEL: '#label',\n STATE_LAYER: 'forge-state-layer'\n};\n\nconst events = {\n CHANGE: 'change',\n INPUT: 'input'\n};\n\nexport const RADIO_CONSTANTS = {\n elementName,\n observedAttributes,\n attributes,\n selectors,\n events\n};\n\n/**\n * This symbol is used to attempt to check a radio while navigating between its siblings in a\n * group. It differs from simply setting `checked` in that it causes the input/change events to\n * emit and returns `false` if either was prevented. The radio group manager can then prevent a\n * change in focus and selection state.\n */\nexport const tryCheck = Symbol('tryCheck');\n\nexport type RadioState = 'checked' | 'unchecked';\nexport type RadioLabelPosition = 'start' | 'end';\n", "import { getShadowElement } from '@tylertech/forge-core';\nimport { internals, setDefaultAria } from '../../constants';\nimport { BaseAdapter, IBaseAdapter } from '../../core/base/';\nimport { StateLayerComponent } from '../../state-layer';\nimport { RadioGroupManager } from '../core/radio-group-manager';\nimport { IRadioComponent } from './radio';\nimport { RadioLabelPosition, RadioState, RADIO_CONSTANTS } from './radio-constants';\n\nexport interface IRadioAdapter extends IBaseAdapter {\n setChecked(checked: boolean, value: string): void;\n trySetDisabled(value: boolean): boolean;\n setRequired(value: boolean): void;\n setReadonly(value: boolean): void;\n setLabelPosition(value: RadioLabelPosition): void;\n disableStateLayer(value: boolean): void;\n setUncheckedRadioGroupFocus(event: 'focus' | 'blur'): void;\n focusNext(): void;\n focusPrevious(): void;\n}\n\nexport class RadioAdapter extends BaseAdapter<IRadioComponent> implements IRadioAdapter {\n private readonly _rootElement: HTMLElement;\n private readonly _labelElement: HTMLElement;\n private readonly _stateLayerElement: StateLayerComponent;\n\n constructor(component: IRadioComponent) {\n super(component);\n\n this._rootElement = getShadowElement(component, RADIO_CONSTANTS.selectors.ROOT);\n this._labelElement = getShadowElement(component, RADIO_CONSTANTS.selectors.LABEL);\n this._stateLayerElement = getShadowElement(component, RADIO_CONSTANTS.selectors.STATE_LAYER) as StateLayerComponent;\n }\n\n public setChecked(checked: boolean, value: string): void {\n this._component[setDefaultAria]({ ariaChecked: checked ? 'true' : 'false' });\n if (checked) {\n RadioGroupManager.setSelectedRadioInGroup(this._component);\n }\n\n // Update tab indices\n RadioGroupManager.syncRadioFocusableState(this._component);\n\n // Update the form value, state, and validity\n const formValue = checked ? value : null;\n const formState: RadioState = checked ? 'checked' : 'unchecked';\n this._component[internals].setFormValue(formValue, formState);\n RadioGroupManager.setRadioGroupValidity(this._component);\n }\n\n /**\n * Attempts to set the disabled state of the radio. If the radio is in a disabled radio group, it\n * can't be enabled.\n * \n * @param value Whether the radio should be disabled.\n * @returns Whether the disabled state was set.\n */\n public trySetDisabled(value: boolean): boolean {\n const group = this._component.closest('forge-radio-group');\n\n if (!value && group && group.disabled) {\n return false;\n }\n\n this._component[setDefaultAria]({ ariaDisabled: `${!!value}` });\n RadioGroupManager.syncRadioFocusableState(this._component);\n return true;\n }\n\n public setRequired(value: boolean): void {\n this._component[setDefaultAria]({\n ariaRequired: value ? 'true' : 'false'\n }, { setAttribute: true });\n RadioGroupManager.setRadioGroupValidity(this._component);\n }\n\n public setReadonly(value: boolean): void {\n this._component[setDefaultAria]({ ariaDisabled: `${!!value}` });\n }\n\n public disableStateLayer(value: boolean): void {\n this._stateLayerElement.disabled = value;\n }\n\n public setLabelPosition(value: RadioLabelPosition): void {\n this._labelElement.remove();\n\n if (value === 'start') {\n this._rootElement.prepend(this._labelElement);\n } else {\n this._rootElement.append(this._labelElement);\n }\n }\n\n public setUncheckedRadioGroupFocus(event: 'focus' | 'blur'): void {\n RadioGroupManager.setUncheckedRadioGroupFocus(this._component, event);\n }\n\n public focusNext(): void {\n RadioGroupManager.focusNextRadioInGroup(this._component);\n }\n\n public focusPrevious(): void {\n RadioGroupManager.focusPreviousRadioInGroup(this._component);\n }\n}\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\nimport { task } from '../../core/utils/event-utils';\nimport { IRadioAdapter } from './radio-adapter';\nimport { RadioLabelPosition, RADIO_CONSTANTS } from './radio-constants';\n\nexport interface IRadioFoundation extends ICustomElementFoundation {\n checked: boolean;\n defaultChecked: boolean;\n value: string;\n disabled: boolean;\n required: boolean;\n readonly: boolean;\n dense: boolean;\n labelPosition: RadioLabelPosition;\n tryCheck(): boolean;\n}\n\nexport class RadioFoundation implements IRadioFoundation {\n // State\n private _checked = false;\n private _defaultChecked = false;\n private _value = 'on';\n private _disabled = false;\n private _required = false;\n private _readonly = false;\n private _dense = false;\n private _labelPosition: RadioLabelPosition = 'end';\n\n // Listeners\n private readonly _focusListener: EventListener;\n private readonly _blurListener: EventListener;\n private readonly _clickListener: EventListener;\n private readonly _keydownListener: EventListener;\n private readonly _keyupListener: EventListener;\n\n constructor(private _adapter: IRadioAdapter) {\n this._focusListener = () => this._handleFocus();\n this._blurListener = () => this._handleBlur();\n this._clickListener = (evt: MouseEvent) => this._handleClick(evt);\n this._keydownListener = (evt: KeyboardEvent) => this._handleKeydown(evt);\n this._keyupListener = (evt: KeyboardEvent) => this._handleKeyup(evt);\n }\n\n public initialize(): void {\n this._adapter.addHostListener('focus', this._focusListener);\n this._adapter.addHostListener('blur', this._blurListener);\n this._adapter.addHostListener('click', this._clickListener);\n this._adapter.addHostListener('keydown', this._keydownListener);\n this._adapter.addHostListener('keyup', this._keyupListener);\n this._adapter.setChecked(this._checked, this._value);\n }\n\n // Public methods\n\n public tryCheck(): boolean {\n this._checked = true;\n\n if (!this._dispatchEvents()) {\n this._checked = false;\n return false;\n }\n \n this._adapter.setChecked(this._checked, this._value);\n this._adapter.toggleHostAttribute(RADIO_CONSTANTS.attributes.CHECKED, this._checked);\n return true;\n }\n\n // Event handlers\n\n private _handleFocus(): void {\n if (!this._checked) {\n this._adapter.setUncheckedRadioGroupFocus('focus');\n }\n }\n\n private _handleBlur(): void {\n if (!this._checked) {\n this._adapter.setUncheckedRadioGroupFocus('blur');\n }\n }\n\n private _handleClick(evt: MouseEvent): void {\n this._activate(evt);\n }\n\n private _handleKeydown(evt: KeyboardEvent): void {\n switch (evt.key) {\n case 'ArrowRight':\n case 'ArrowDown':\n evt.preventDefault();\n this._adapter.focusNext();\n break;\n case 'ArrowLeft':\n case 'ArrowUp':\n evt.preventDefault();\n this._adapter.focusPrevious();\n break;\n case ' ':\n // Prevent the spacebar from scrolling the page\n evt.preventDefault();\n break;\n }\n }\n\n private _handleKeyup(evt: KeyboardEvent): void {\n if (evt.key === ' ') {\n this._activate(evt);\n }\n }\n\n /**\n * Checks the radio button if it is not disabled or readonly. Exits early if the activating\n * event is cancelled.\n */\n private async _activate(evt: Event): Promise<void> {\n if (this._checked || this._disabled || this._readonly) {\n return;\n }\n\n // Wait a task to allow the event to propagate to user code.\n await task();\n if (evt.defaultPrevented) {\n return;\n }\n\n this._checked = true;\n\n if (!this._dispatchEvents()) {\n this._checked = false;\n return;\n }\n\n this._adapter.setChecked(this._checked, this._value);\n this._adapter.toggleHostAttribute(RADIO_CONSTANTS.attributes.CHECKED, this._checked);\n }\n\n /**\n * Dispatches change and input events.\n * \n * @returns {boolean} - Returns true if neither event was cancelled.\n */\n private _dispatchEvents(): boolean {\n // Emit both change and input events per the spec.\n const changeEvent = new Event(RADIO_CONSTANTS.events.CHANGE, { bubbles: true, cancelable: true });\n const inputEvent = new Event(RADIO_CONSTANTS.events.INPUT, { bubbles: true, cancelable: true, composed: true });\n this._adapter.dispatchHostEvent(changeEvent);\n this._adapter.dispatchHostEvent(inputEvent);\n return !(changeEvent.defaultPrevented || inputEvent.defaultPrevented);\n }\n\n public get checked(): boolean {\n return this._checked;\n }\n public set checked(value: boolean) {\n if (this._checked !== value) {\n this._checked = value;\n this._adapter.setChecked(this._checked, this._value);\n this._adapter.toggleHostAttribute(RADIO_CONSTANTS.attributes.CHECKED, this._checked);\n }\n }\n\n public get defaultChecked(): boolean {\n return this._defaultChecked;\n }\n public set defaultChecked(value: boolean) {\n if (this._defaultChecked !== value) {\n this._defaultChecked = value;\n this._adapter.toggleHostAttribute(RADIO_CONSTANTS.attributes.DEFAULT_CHECKED, this._defaultChecked);\n }\n }\n\n public get value(): string {\n return this._value;\n }\n public set value(value: string) {\n if (this._value !== value) {\n this._value = value;\n this._adapter.setHostAttribute(RADIO_CONSTANTS.attributes.VALUE, this._value);\n }\n }\n\n public get disabled(): boolean {\n return this._disabled;\n }\n public set disabled(value: boolean) {\n if (this._disabled !== value) {\n this._disabled = value;\n // Attempt to set disabled, restore if unsuccessful\n if (this._adapter.trySetDisabled(this._disabled)) {\n this._adapter.disableStateLayer(this._disabled || this._readonly);\n this._adapter.toggleHostAttribute(RADIO_CONSTANTS.attributes.DISABLED, this._disabled);\n } else {\n this._disabled = !this._disabled;\n }\n }\n }\n\n public get required(): boolean {\n return this._required;\n }\n public set required(value: boolean) {\n if (this._required !== value) {\n this._required = value;\n this._adapter.setRequired(this._required);\n this._adapter.toggleHostAttribute(RADIO_CONSTANTS.attributes.REQUIRED, this._required);\n }\n }\n\n public get readonly(): boolean {\n return this._readonly;\n }\n public set readonly(value: boolean) {\n if (this._readonly !== value) {\n this._readonly = value;\n this._adapter.setReadonly(this._readonly);\n this._adapter.disableStateLayer(this._disabled || this._readonly);\n this._adapter.toggleHostAttribute(RADIO_CONSTANTS.attributes.READONLY, this._readonly);\n }\n }\n\n public get dense(): boolean {\n return this._dense;\n }\n public set dense(value: boolean) {\n if (this._dense !== value) {\n this._dense = value;\n this._adapter.toggleHostAttribute(RADIO_CONSTANTS.attributes.DENSE, this._dense);\n }\n }\n\n public get labelPosition(): RadioLabelPosition {\n return this._labelPosition;\n }\n public set labelPosition(value: RadioLabelPosition) {\n if (this._labelPosition !== value) {\n this._labelPosition = value;\n this._adapter.setLabelPosition(this._labelPosition);\n this._adapter.setHostAttribute(RADIO_CONSTANTS.attributes.LABEL_POSITION, this._labelPosition);\n }\n }\n}\n", "import { attachShadowTemplate, coerceBoolean, CustomElement, FoundationProperty } from '@tylertech/forge-core';\nimport { getFormState, getFormValue, inputType, setDefaultAria } from '../../constants';\nimport { BaseComponent } from '../../core/base/base-component';\nimport { IWithFocusable, WithFocusable } from '../../core/mixins/focus/with-focusable';\nimport { IWithFormAssociation, WithFormAssociation } from '../../core/mixins/form/with-form-associated';\nimport { IWithDefaultAria, WithDefaultAria } from '../../core/mixins/internals/with-default-aria';\nimport { IWithElementInternals, WithElementInternals } from '../../core/mixins/internals/with-element-internals';\nimport { IWithLabelAwareness, WithLabelAwareness } from '../../core/mixins/label/with-label-aware';\nimport { FormValue } from '../../core/utils/form-utils';\nimport { FocusIndicatorComponent } from '../../focus-indicator';\nimport { StateLayerComponent } from '../../state-layer';\nimport { RadioGroupManager } from '../core/radio-group-manager';\nimport { RadioAdapter } from './radio-adapter';\nimport { RadioLabelPosition, RadioState, RADIO_CONSTANTS, tryCheck } from './radio-constants';\nimport { RadioFoundation } from './radio-foundation';\n\nconst template = '<template><div id=\\\"radio\\\" class=\\\"forge-radio\\\" part=\\\"root\\\"><div id=\\\"container\\\" class=\\\"container\\\" aria-hidden=\\\"true\\\"><div id=\\\"background\\\" class=\\\"background\\\" part=\\\"background\\\"></div><forge-focus-indicator target=\\\":host\\\" part=\\\"focus-indicator\\\"></forge-focus-indicator><forge-state-layer exportparts=\\\"surface:state-layer\\\"></forge-state-layer></div><span id=\\\"label\\\" class=\\\"label\\\" for=\\\"input\\\" part=\\\"label\\\"><slot></slot></span></div></template>';\nconst styles = ':host{display:inline-block;-webkit-tap-highlight-color:transparent}:host([hidden]){display:none}:host(:focus){outline:0}.forge-radio{--_radio-primary-color:var(--forge-radio-primary-color, var(--forge-theme-tertiary, #3d5afe));--_radio-inactive-color:var(--forge-radio-inactive-color, var(--forge-theme-surface-container-high, #9e9e9e));--_radio-size:var(--forge-radio-size, 20px);--_radio-mark-size:var(--forge-radio-mark-size, 12px);--_radio-state-layer-size:var(--forge-radio-state-layer-size, 40px);--_radio-state-layer-dense-size:var(--forge-radio-state-layer-dense-size, 24px);--_radio-width:var(--forge-radio-width, var(--_radio-size));--_radio-height:var(--forge-radio-height, var(--_radio-size));--_radio-border-width:var(--forge-radio-border-width, var(--forge-border-medium, 2px));--_radio-unchecked-border-color:var(--forge-radio-unchecked-border-color, var(--_radio-inactive-color));--_radio-checked-border-color:var(--forge-radio-checked-border-color, var(--_radio-primary-color));--_radio-background:var(--forge-radio-background, transparent);--_radio-shape:var(--forge-radio-shape, var(--forge-shape-round, 50%));--_radio-mark-width:var(--forge-radio-mark-width, var(--_radio-mark-size));--_radio-mark-height:var(--forge-radio-mark-height, var(--_radio-mark-size));--_radio-mark-unchecked-color:var(--forge-radio-mark-unchecked-color, var(--_radio-inactive-color));--_radio-mark-checked-color:var(--forge-radio-mark-checked-color, var(--_radio-primary-color));--_radio-mark-unchecked-background:var(--forge-radio-mark-unchecked-background, transparent);--_radio-mark-checked-background:var(--forge-radio-mark-checked-background, transparent);--_radio-gap:var(--forge-radio-gap, 0);--_radio-justify:var(--forge-radio-justify, start);--_radio-direction:var(--forge-radio-direction, initial);--_radio-state-layer-width:var(--forge-radio-state-layer-width, var(--_radio-state-layer-size));--_radio-state-layer-height:var(--forge-radio-state-layer-height, var(--_radio-state-layer-size));--_radio-state-layer-unchecked-color:var(--forge-radio-state-layer-unchecked-color, var(--_radio-color));--_radio-state-layer-checked-color:var(--forge-radio-state-layer-checked-color, var(--_radio-primary-color));--_radio-state-layer-shape:var(--forge-radio-state-layer-shape, var(--_radio-shape));--_radio-state-layer-dense-width:var(--forge-radio-state-layer-dense-width, var(--_radio-state-layer-dense-size));--_radio-state-layer-dense-height:var(--forge-radio-state-layer-dense-height, var(--_radio-state-layer-dense-size));--_radio-disabled-opacity:var(--forge-radio-disabled-opacity, 0.38);--_radio-animation-duration:var(--forge-radio-animation-duration, var(--forge-animation-duration-short4, 200ms));--_radio-animation-timing-function:var(--forge-radio-animation-timing-function, var(--forge-animation-easing-decelerate, cubic-bezier(0, 0, 0, 1)));--_radio-animation-delay:var(--forge-radio-animation-delay, 0ms)}.forge-radio{position:relative;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:var(--_radio-direction);flex-shrink:0;-webkit-box-align:center;align-items:center;-webkit-box-pack:var(--_radio-justify);justify-content:var(--_radio-justify);gap:var(--_radio-gap);display:-webkit-box;display:flex}.forge-radio .container{position:relative;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;display:-webkit-box;display:flex;border-radius:var(--_radio-shape);inline-size:var(--_radio-state-layer-width);block-size:var(--_radio-state-layer-height);cursor:pointer}.forge-radio .background{position:relative;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;display:-webkit-box;display:flex;overflow:hidden;-webkit-transition-duration:var(--_radio-animation-duration);transition-duration:var(--_radio-animation-duration);-webkit-transition-delay:var(--_radio-animation-delay);transition-delay:var(--_radio-animation-delay);-webkit-transition-timing-function:var(--_radio-animation-timing-function);transition-timing-function:var(--_radio-animation-timing-function);-webkit-transition-property:border-color;transition-property:border-color;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:var(--_radio-shape);border-width:var(--_radio-border-width);border-style:solid;border-color:var(--_radio-unchecked-border-color);inline-size:var(--_radio-width);block-size:var(--_radio-height);background:var(--_radio-background)}.forge-radio .background::after{content:\\\"\\\";position:absolute;contain:strict;-webkit-transition-duration:var(--_radio-animation-duration);transition-duration:var(--_radio-animation-duration);-webkit-transition-delay:var(--_radio-animation-delay);transition-delay:var(--_radio-animation-delay);-webkit-transition-timing-function:var(--_radio-animation-timing-function);transition-timing-function:var(--_radio-animation-timing-function);-webkit-transition-property:inline-size,block-size,border-color;transition-property:inline-size,block-size,border-color;border-radius:var(--_radio-shape);border-width:calc(var(--_radio-mark-height)/ 2) calc(var(--_radio-mark-width)/ 2);border-color:var(--_radio-mark-unchecked-color);border-style:solid;inline-size:calc(var(--_radio-width) - 2 * var(--_radio-border-width));block-size:calc(var(--_radio-height) - 2 * var(--_radio-border-width));background:var(--_radio-mark-unchecked-background)}.forge-radio .label{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--forge-typography-label1-font-family, var(--forge-typography-font-family, \\\"Roboto\\\", sans-serif));font-size:var(--forge-typography-label1-font-size, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-label-font-size-scale, .75)));font-weight:var(--forge-typography-label1-font-weight,400);line-height:var(--forge-typography-label1-line-height, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-label-line-height-scale, 1.25)));letter-spacing:var(--forge-typography-label1-letter-spacing, .0357142857em);text-transform:var(--forge-typography-label1-text-transform,inherit);-webkit-text-decoration:var(--forge-typography-label1-text-decoration,inherit);text-decoration:var(--forge-typography-label1-text-decoration,inherit);cursor:default}.forge-radio .label:empty{display:none}:host([checked]) .forge-radio .background{border-color:var(--_radio-checked-border-color)}:host([checked]) .forge-radio .background::after{border-color:var(--_radio-mark-checked-color);inline-size:0px;block-size:0px;background:var(--_radio-mark-checked-background)}:host([checked]) forge-state-layer{--forge-state-layer-color:var(--_radio-state-layer-checked-color)}:host([dense]) .forge-radio .container{inline-size:var(--_radio-state-layer-dense-width);block-size:var(--_radio-state-layer-dense-height)}:host([disabled]) .forge-radio{opacity:var(--_radio-disabled-opacity)}:host([disabled]) .forge-radio .container{cursor:not-allowed}:host([readonly]) .forge-radio .container{cursor:not-allowed}forge-focus-indicator{--forge-focus-indicator-color:var(--_radio-primary-color);--forge-focus-indicator-outward-offset:0px;--forge-focus-indicator-shape:var(--_radio-state-layer-shape)}forge-state-layer{--forge-state-layer-color:var(--_radio-state-layer-unchecked-color)}';\n\nexport interface IRadioComponent extends IWithFormAssociation, IWithFocusable, IWithLabelAwareness, IWithElementInternals, IWithDefaultAria {\n checked: boolean;\n defaultChecked: boolean;\n value: string;\n required: boolean;\n dense: boolean;\n labelPosition: RadioLabelPosition;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-radio': IRadioComponent;\n }\n}\n\nconst BaseRadioClass = WithFormAssociation(WithLabelAwareness(WithFocusable(WithDefaultAria(WithElementInternals(BaseComponent)))));\n\n/**\n * @tag forge-radio\n * \n * @summary The Forge Radio component is used to create a form input where only one out of a set of\n * values should be selected.\n * \n * @property {boolean} checked - Indicates whether the radio button is checked.\n * @property {boolean} defaultChecked - Indicates whether the radio button is checked by default.\n * @property {string} value - The value of the radio button when submitted.\n * @property {boolean} dense - Indicates whether the radio button should be displayed in a dense layout.\n * @property {boolean} disabled - Indicates whether the radio button is disabled.\n * @property {boolean} required - Indicates whether the radio button is required.\n * @property {boolean} readonly - Indicates whether the radio button is read-only.\n * @property {RadioLabelPosition} labelPosition - The position of the radio button's label.\n * \n * @attribute {boolean} checked - Indicates whether the radio button is checked.\n * @attribute {boolean} default-checked - Indicates whether the radio button is checked by default.\n * @attribute {string} value - The value of the radio button when submitted.\n * @attribute {boolean} dense - Indicates whether the radio button should be displayed in a dense layout.\n * @attribute {boolean} disabled - Indicates whether the radio button is disabled.\n * @attribute {boolean} required - Indicates whether the radio button is required.\n * @attribute {boolean} readonly - Indicates whether the radio button is read-only.\n * @attribute {RadioLabelPosition} label-position - The position of the radio button's label.\n * \n * @cssproperty --forge-radio-primary-color - The primary color of the radio button when checked.\n * @cssproperty --forge-radio-inactive-color - The color of the radio button when unchecked.\n * @cssproperty --forge-radio-size - The size of the radio button in the inline and block directions.\n * @cssproperty --forge-radio-width - The width of the radio button.\n * @cssproperty --forge-radio-height - The height of the radio button.\n * @cssproperty --forge-radio-border-width - The width of the radio button's border.\n * @cssproperty --forge-radio-unchecked-border-color - The color of the radio button's border when unchecked.\n * @cssproperty --forge-radio-checked-border-color - The color of the radio button's border when checked.\n * @cssproperty --forge-radio-background - The background of the radio button.\n * @cssproperty --forge-radio-shape - The shape of the radio button.\n * @cssproperty --forge-radio-mark-size - The size of the radio button's mark in the inline and block directions.\n * @cssproperty --forge-radio-mark-width - The width of the radio button's mark.\n * @cssproperty --forge-radio-mark-height - The height of the radio button's mark.\n * @cssproperty --forge-radio-mark-unchecked-color - The color of the radio button's mark when unchecked.\n * @cssproperty --forge-radio-mark-checked-color - The color of the radio button's mark when checked.\n * @cssproperty --forge-radio-mark-unchecked-background - The background of the radio button's mark when unchecked.\n * @cssproperty --forge-radio-mark-checked-background - The background of the radio button's mark when checked.\n * @cssproperty --forge-radio-gap - The gap between the radio button and its label.\n * @cssproperty --forge-radio-justify - The alignment of the radio button and its label in the inline direction.\n * @cssproperty --forge-radio-direction - The direction of the radio button and its label.\n * @cssproperty --forge-radio-state-layer-size - The size of the radio button's state layer in the inline and block directions.\n * @cssproperty --forge-radio-state-layer-width - The width of the radio button's state layer.\n * @cssproperty --forge-radio-state-layer-height - The height of the radio button's state layer.\n * @cssproperty --forge-radio-state-layer-unchecked-color - The color of the radio button's state layer when unchecked.\n * @cssproperty --forge-radio-state-layer-checked-color - The color of the radio button's state layer when checked.\n * @cssproperty --forge-radio-state-layer-shape - The shape of the radio button's state layer.\n * @cssproperty --forge-radio-state-layer-dense-size - The size of the radio button's state layer when dense.\n * @cssproperty --forge-radio-state-layer-dense-width - The width of the radio button's state layer when dense.\n * @cssproperty --forge-radio-state-layer-dense-height - The height of the radio button's state layer when dense.\n * @cssproperty --forge-radio-disabled-opacity - The opacity of the radio button when disabled.\n * @cssproperty --forge-radio-animation-duration - The duration of the radio button's animations.\n * @cssproperty --forge-radio-animation-timing-function - The timing function of the radio button's animations.\n * @cssproperty --forge-radio-animation-delay - The delay of the radio button's animations.\n * \n * @csspart root - Styles the radio's root element.\n * @csspart background - Styles the border and background of the radio.\n * @csspart focus-indicator - Styles the focus indicator of the radio.\n * @csspart state-layer - Styles the state layer of the radio.\n * \n * @slot - This is a default/unnamed slot for the label text.\n */\n@CustomElement({\n name: RADIO_CONSTANTS.elementName,\n dependencies: [\n FocusIndicatorComponent,\n StateLayerComponent\n ]\n})\nexport class RadioComponent extends BaseRadioClass implements IRadioComponent {\n public static get observedAttributes(): string[] {\n return Object.values(RADIO_CONSTANTS.observedAttributes);\n }\n\n private _foundation: RadioFoundation;\n\n // Used to communicate with the form group after this radio instance has been disconnected\n private _rootNode?: ShadowRoot | Document;\n private _latestAssociatedForm?: HTMLFormElement;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this[inputType] = 'radio';\n this._foundation = new RadioFoundation(new RadioAdapter(this));\n }\n\n public override connectedCallback(): void {\n super.connectedCallback();\n this[setDefaultAria]({\n role: 'radio',\n ariaChecked: this.checked ? 'true' : 'false',\n ariaDisabled: this.disabled ? 'true' : 'false',\n ariaRequired: this.required ? 'true' : 'false'\n });\n RadioGroupManager.syncRadioFocusableState(this);\n this._foundation.initialize();\n this._rootNode = this.getRootNode() as ShadowRoot | Document;\n }\n\n public disconnectedCallback(): void {\n RadioGroupManager.syncRadioFocusableState(this, { ignoreSelf: true, rootNode: this._rootNode, form: this._latestAssociatedForm });\n }\n\n public override attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case RADIO_CONSTANTS.attributes.CHECKED:\n this._foundation.checked = coerceBoolean(newValue);\n break;\n case RADIO_CONSTANTS.attributes.DEFAULT_CHECKED:\n this._foundation.defaultChecked = coerceBoolean(newValue);\n break;\n case RADIO_CONSTANTS.attributes.VALUE:\n this.value = newValue;\n break;\n case RADIO_CONSTANTS.attributes.DENSE:\n this.dense = coerceBoolean(newValue);\n break;\n case RADIO_CONSTANTS.attributes.DISABLED:\n this.disabled = coerceBoolean(newValue);\n break;\n case RADIO_CONSTANTS.attributes.REQUIRED:\n this.required = coerceBoolean(newValue);\n break;\n case RADIO_CONSTANTS.attributes.READONLY:\n this.readonly = coerceBoolean(newValue);\n break;\n case RADIO_CONSTANTS.attributes.LABEL_POSITION:\n this.labelPosition = newValue as RadioLabelPosition;\n break;\n }\n super.attributeChangedCallback(name, oldValue, newValue);\n }\n\n public override [getFormValue](): FormValue | null {\n return this.checked ? this.value : null;\n }\n\n public override [getFormState](): RadioState {\n return this.checked ? 'checked' : 'unchecked';\n }\n\n public formAssociatedCallback(form: HTMLFormElement | null): void {\n if (form) {\n this._latestAssociatedForm = form;\n }\n }\n\n public formResetCallback(): void {\n RadioGroupManager.requestRadioGroupReset(this);\n }\n\n public formStateRestoreCallback(state: RadioState): void {\n this.checked = state === 'checked';\n }\n\n public labelClickedCallback(): void {\n this.click();\n }\n\n public labelChangedCallback(value: string | null): void {\n this[setDefaultAria]({ ariaLabel: value });\n }\n\n @FoundationProperty()\n public declare checked: boolean;\n\n @FoundationProperty()\n public declare defaultChecked: boolean;\n\n @FoundationProperty()\n public declare value: string;\n\n @FoundationProperty()\n public declare dense: boolean;\n\n @FoundationProperty()\n public declare disabled: boolean;\n\n @FoundationProperty()\n public declare required: boolean;\n\n @FoundationProperty()\n public declare readonly: boolean;\n\n @FoundationProperty()\n public declare labelPosition: RadioLabelPosition;\n\n public [tryCheck](): boolean {\n return this._foundation.tryCheck();\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { RadioComponent } from './radio';\n\nexport * from './radio-adapter';\nexport * from './radio-constants';\nexport * from './radio-foundation';\nexport * from './radio';\n\nexport function defineRadioComponent(): void {\n defineCustomElement(RadioComponent);\n}\n"],
5
- "mappings": "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",
6
- "names": ["_RadioGroupManager", "el", "rootNode", "form", "_a", "namedRadios", "RADIO_CONSTANTS", "radio", "formRadios", "group", "invalid", "validationMessage", "getValidationMessage", "internals", "ignoreSelf", "isFocusable", "event", "task", "checkedRadio", "increment", "index", "nextRadio", "tryCheck", "required", "selection", "RadioGroupManager", "elementName", "COMPONENT_NAME_PREFIX", "observedAttributes", "attributes", "__spreadValues", "selectors", "events", "RADIO_CONSTANTS", "tryCheck", "RadioAdapter", "BaseAdapter", "component", "getShadowElement", "RADIO_CONSTANTS", "checked", "value", "setDefaultAria", "RadioGroupManager", "formValue", "formState", "internals", "group", "event", "RadioFoundation", "_adapter", "evt", "RADIO_CONSTANTS", "task", "changeEvent", "inputEvent", "value", "template", "styles", "BaseRadioClass", "WithFormAssociation", "WithLabelAwareness", "WithFocusable", "WithDefaultAria", "WithElementInternals", "BaseComponent", "RadioComponent", "attachShadowTemplate", "inputType", "RadioFoundation", "RadioAdapter", "RADIO_CONSTANTS", "setDefaultAria", "RadioGroupManager", "name", "oldValue", "newValue", "coerceBoolean", "getFormValue", "getFormState", "form", "state", "value", "tryCheck", "__decorateClass", "FoundationProperty", "CustomElement", "FocusIndicatorComponent", "StateLayerComponent", "defineRadioComponent", "defineCustomElement", "RadioComponent"]
7
- }
@@ -1,7 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2023 Tyler Technologies, Inc.
4
- * License: Apache-2.0
5
- */
6
- import{c as W}from"./chunk.GBAVJILM.js";import{d as K}from"./chunk.GIENHEMN.js";import{C as U}from"./chunk.RLQB7224.js";import{d as z,l as Z}from"./chunk.T7NWP7DB.js";import{a as _}from"./chunk.NVUMRW44.js";import{a as N}from"./chunk.OLFOVKQG.js";import{a as B,b as D}from"./chunk.VRSPT7WX.js";import{a as M,e as O,f as s,k as G}from"./chunk.LNTTU2GL.js";import{d as u,k,o as P}from"./chunk.J2M2MXP2.js";import{a as x,d}from"./chunk.M3QDAYD2.js";var F=`${D}color-picker`,Y={VALUE:"value",ALLOW_OPACITY:"allow-opacity",DEBOUNCE_CHANGE_EVENT:"debounce-change-event"},J={SLIDER_THUMB_ACTIVE:"forge-color-picker__slider-thumb--active",GRADIENT_THUMB_ACTIVE:"forge-color-picker__gradient-thumb--active"},Q={GRADIENT:".forge-color-picker__gradient",GRADIENT_THUMB:".forge-color-picker__gradient-thumb",PREVIEW_COLOR:".forge-color-picker__color-preview",HEX_INPUT:"#forge-color-picker-hex-input",RGBA_INPUT:"#forge-color-picker-rgba-input",HSVA_INPUT:"#forge-color-picker-hsva-input",HUE_SLIDER:".forge-color-picker__hue-slider",HUE_SLIDER_THUMB:"#forge-color-picker-hue-thumb",OPACITY_SLIDER:".forge-color-picker__opacity-slider",OPACITY_SLIDER_THUMB:"#forge-color-picker-opacity-thumb",SLIDER:".forge-color-picker__slider",SLIDER_THUMB:".forge-color-picker__slider-thumb",COLOR_VALUE_HEX_CONTAINER:".forge-color-picker__color-hex",COLOR_VALUE_RGBA_CONTAINER:".forge-color-picker__color-rgba",COLOR_VALUE_HSVA_CONTAINER:".forge-color-picker__color-hsva",TYPE_BUTTON:"#forge-color-picker-type-button",COLOR_VALUE_RGBA_R:"#forge-color-picker-rgba-r-input",COLOR_VALUE_RGBA_G:"#forge-color-picker-rgba-g-input",COLOR_VALUE_RGBA_B:"#forge-color-picker-rgba-b-input",COLOR_VALUE_RGBA_A:"#forge-color-picker-rgba-a-input",COLOR_VALUE_HSVA_H:"#forge-color-picker-hsva-h-input",COLOR_VALUE_HSVA_S:"#forge-color-picker-hsva-s-input",COLOR_VALUE_HSVA_V:"#forge-color-picker-hsva-v-input",COLOR_VALUE_HSVA_A:"#forge-color-picker-hsva-a-input"},q={CHANGE:`${F}-change`},ee={CHANGE_EVENT_DEBOUNCE_THRESHOLD:200},n={elementName:F,attributes:Y,events:q,classes:J,selectors:Q,numbers:ee},A="000000",T=(o=>(o.HEX="hex",o.RGB="rgb",o.RGBA="rgba",o.HSV="hsv",o.HSVA="hsva",o))(T||{});var E=class extends N{constructor(t){super(t);this._gradientElement=s(t,n.selectors.GRADIENT),this._previewColorElement=s(t,n.selectors.PREVIEW_COLOR),this._hexInputElement=s(t,n.selectors.HEX_INPUT),this._rgbaInputRElement=s(t,n.selectors.COLOR_VALUE_RGBA_R),this._rgbaInputGElement=s(t,n.selectors.COLOR_VALUE_RGBA_G),this._rgbaInputBElement=s(t,n.selectors.COLOR_VALUE_RGBA_B),this._rgbaInputAElement=s(t,n.selectors.COLOR_VALUE_RGBA_A),this._hsvaInputHElement=s(t,n.selectors.COLOR_VALUE_HSVA_H),this._hsvaInputSElement=s(t,n.selectors.COLOR_VALUE_HSVA_S),this._hsvaInputVElement=s(t,n.selectors.COLOR_VALUE_HSVA_V),this._hsvaInputAElement=s(t,n.selectors.COLOR_VALUE_HSVA_A),this._hueSliderElement=s(t,n.selectors.HUE_SLIDER),this._hueSliderThumbElement=s(t,n.selectors.HUE_SLIDER_THUMB),this._opacitySliderElement=s(t,n.selectors.OPACITY_SLIDER),this._opacitySliderThumbElement=s(t,n.selectors.OPACITY_SLIDER_THUMB),this._hexValueContainerElement=s(t,n.selectors.COLOR_VALUE_HEX_CONTAINER),this._rgbaValueContainerElement=s(t,n.selectors.COLOR_VALUE_RGBA_CONTAINER),this._hsvaValueContainerElement=s(t,n.selectors.COLOR_VALUE_HSVA_CONTAINER),this._typeButtonElement=s(t,n.selectors.TYPE_BUTTON)}setPreviewColor(t){this._previewColorElement.style.backgroundColor=t}setHexInputValue(t){this._hexInputElement.value=t}setRgbaInputValue(t){this._rgbaInputRElement.value=t.r.toString(),this._rgbaInputGElement.value=t.g.toString(),this._rgbaInputBElement.value=t.b.toString(),this._rgbaInputAElement.value=t.a.toString()}setHsvaInputValue(t){this._hsvaInputHElement.value=t.h.toString(),this._hsvaInputSElement.value=t.s.toString(),this._hsvaInputVElement.value=t.v.toString(),this._hsvaInputAElement.value=t.a.toString()}updateA11y(t,i){this._hueSliderThumbElement.setAttribute("aria-valuenow",t.toString()),this._hueSliderThumbElement.setAttribute("aria-valuetext",t.toString()),this._opacitySliderThumbElement.setAttribute("aria-valuenow",i.toString()),this._opacitySliderThumbElement.setAttribute("aria-valuetext",i.toString())}setGradientColor(t){this._gradientElement.style.backgroundColor=t}getHueSliderElement(){return this._hueSliderElement}getOpacitySliderElement(){return this._opacitySliderElement}getGradientElement(){return this._gradientElement}setActiveValueType(t){switch(this._hexValueContainerElement.style.display="none",this._rgbaValueContainerElement.style.display="none",this._hsvaValueContainerElement.style.display="none",t){case"hex":this._hexValueContainerElement.style.removeProperty("display");break;case"rgba":this._rgbaValueContainerElement.style.removeProperty("display");break;case"hsva":this._hsvaValueContainerElement.style.removeProperty("display");break}}focusValueInput(t){switch(t){case"hex":this._hexInputElement.focus(),this._hexInputElement.select();break;case"rgba":this._rgbaInputRElement.focus(),this._rgbaInputRElement.select();break;case"hsva":this._hsvaInputHElement.focus(),this._hsvaInputHElement.select();break}}setTypeClickListener(t){this._typeButtonElement.addEventListener("click",t)}removeTypeClickListener(t){this._typeButtonElement.removeEventListener("click",t)}setHexInputListener(t,i){this._hexInputElement.addEventListener(t,i)}removeHexInputListener(t,i){this._hexInputElement.removeEventListener(t,i)}getHexInputValue(){return this._hexInputElement.value}setRgbaInputListener(t,i){this._rgbaInputRElement.addEventListener(t,i),this._rgbaInputGElement.addEventListener(t,i),this._rgbaInputBElement.addEventListener(t,i),this._rgbaInputAElement.addEventListener(t,i)}removeRgbaInputListener(t,i){this._rgbaInputRElement.removeEventListener(t,i),this._rgbaInputGElement.removeEventListener(t,i),this._rgbaInputBElement.removeEventListener(t,i),this._rgbaInputAElement.removeEventListener(t,i)}getRgbaInputValue(){return{r:parseInt(this._rgbaInputRElement.value,10),g:parseInt(this._rgbaInputGElement.value,10),b:parseInt(this._rgbaInputBElement.value,10),a:parseFloat(this._rgbaInputAElement.value)}}setHsvaInputListener(t,i){this._hsvaInputHElement.addEventListener(t,i),this._hsvaInputSElement.addEventListener(t,i),this._hsvaInputVElement.addEventListener(t,i),this._hsvaInputAElement.addEventListener(t,i)}removeHsvaInputListener(t,i){this._hsvaInputHElement.removeEventListener(t,i),this._hsvaInputSElement.removeEventListener(t,i),this._hsvaInputVElement.removeEventListener(t,i),this._hsvaInputAElement.removeEventListener(t,i)}getHsvaInputValue(){return{h:parseInt(this._hsvaInputHElement.value,10),s:parseInt(this._hsvaInputSElement.value,10),v:parseInt(this._hsvaInputVElement.value,10),a:parseFloat(this._hsvaInputAElement.value)}}toggleOpacityControls(t){t?(this._opacitySliderElement.style.removeProperty("display"),this._rgbaInputAElement.parentElement&&this._rgbaInputAElement.parentElement.style.removeProperty("display"),this._hsvaInputAElement.parentElement&&this._hsvaInputAElement.parentElement.style.removeProperty("display")):(this._opacitySliderElement.style.display="none",this._rgbaInputAElement.parentElement&&(this._rgbaInputAElement.parentElement.style.display="none"),this._hsvaInputAElement.parentElement&&(this._hsvaInputAElement.parentElement.style.display="none"))}};function f(r,e,t){let i=t.getBoundingClientRect(),a=r-i.left,o=e-i.top;return a>i.width?a=i.width:a<0&&(a=0),o>i.height?o=i.height:o<0&&(o=0),{x:a,y:o,height:i.height,width:i.width}}function m(r){let e,t,i,a=r.h/60,o=r.s/100,l=r.v/100;if(o===0)return e=t=i=l,{r:Math.round(e*255),g:Math.round(t*255),b:Math.round(i*255),a:r.a};let h=Math.floor(a),b=a-h,c=l*(1-o),L=l*(1-o*b),C=l*(1-o*(1-b));switch(h){case 0:e=l,t=C,i=c;break;case 1:e=L,t=l,i=c;break;case 2:e=c,t=l,i=C;break;case 3:e=c,t=L,i=l;break;case 4:e=C,t=c,i=l;break;default:e=l,t=c,i=L}return{r:Math.round(e*255),g:Math.round(t*255),b:Math.round(i*255),a:r.a}}function v(r){return w(r.r)+w(r.g)+w(r.b)+(Math.round(r.a*255)+65536).toString(16).substr(-2)}function w(r){return("0"+r.toString(16)).slice(-2)}function $(r){let e=r.length===3||r.length===4,t=e?`${r.slice(0,1)}${r.slice(0,1)}`:r.slice(0,2),i=e?`${r.slice(1,2)}${r.slice(1,2)}`:r.slice(2,4),a=e?`${r.slice(2,3)}${r.slice(2,3)}`:r.slice(4,6),o=(e?`${r.slice(3,4)}${r.slice(3,4)}`:r.slice(6,8))||"ff";return{r:parseInt(t,16),g:parseInt(i,16),b:parseInt(a,16),a:parseFloat((parseInt(o,16)/255).toFixed(2))}}function X(r){return`rgba(${r.r}, ${r.g}, ${r.b}, ${r.a})`}function H(r,e){let t=r.replace(/^#/,"");return e||(t.length===4?t=t.substring(0,3):t.length===8&&(t=t.substring(0,6))),`#${t}`}function j(r){let e=r.r/255,t=r.g/255,i=r.b/255,a=Math.max(e,t,i),o=Math.min(e,t,i),l=a,h=a,b=a,c=a-o;if(h=a===0?0:c/a,a===o)l=0;else{switch(a){case e:l=(t-i)/c+(t<i?6:0);break;case t:l=(i-e)/c+2;break;case i:l=(e-t)/c+4;break}l/=6}return{h:Math.round(l*360),s:Math.round(h*100),v:Math.round(b*100),a:r.a}}function S(r){if(!r||typeof r!="string")return!1;switch(r.substring(0,1)==="#"&&(r=r.substring(1)),r.length){case 3:return/^[0-9A-F]{3}$/i.test(r);case 4:return/^[0-9A-F]{4}$/i.test(r);case 6:return/^[0-9A-F]{6}$/i.test(r);case 8:return/^[0-9A-F]{8}$/i.test(r);default:return!1}}function R(r){return u(r.r)&&r.r>=0&&r.r<=255&&u(r.g)&&r.g>=0&&r.g<=255&&u(r.b)&&r.b>=0&&r.b<=255&&u(r.a)&&r.a>=0&&r.a<=1}function V(r){return u(r.h)&&r.h>=0&&r.h<=360&&u(r.s)&&r.s>=0&&r.s<=100&&u(r.v)&&r.v>=0&&r.v<=100&&u(r.a)&&r.a>=0&&r.a<=1}var y=class{constructor(e,t){this._rootElement=e;this._changeListener=t;this._keydownListener=i=>this._onKeydown(i),this._downListener=i=>this._onDown(i),this._moveListener=i=>this._onMove(i),this._upListener=i=>this._onUp(i),this._initialize()}destroy(){this._unlisten()}setValue(e,t){window.requestAnimationFrame(()=>{let i=this._rootElement.getBoundingClientRect();this._xPercent=Math.round(i.width*(e/100)),this._yPercent=i.height-Math.round(i.height*(t/100)),this._setThumbPosition(this._xPercent,this._yPercent)})}_initialize(){this._thumbElement=this._rootElement.querySelector(n.selectors.GRADIENT_THUMB),this._listen(),this._setThumbPosition(this._xPercent,this._yPercent)}_listen(){this._rootElement.addEventListener("keydown",this._keydownListener),this._rootElement.addEventListener("mousedown",this._downListener),this._rootElement.addEventListener("touchstart",this._downListener)}_unlisten(){this._rootElement.removeEventListener("keydown",this._keydownListener),this._rootElement.removeEventListener("mousedown",this._downListener),this._rootElement.removeEventListener("touchstart",this._downListener),document.removeEventListener("mousemove",this._moveListener),document.removeEventListener("touchmove",this._moveListener),document.removeEventListener("mouseup",this._upListener),document.removeEventListener("touchend",this._upListener)}_onKeydown(e){let t=e.key==="Enter"||e.keyCode===13,i=e.key==="ArrowLeft"||e.keyCode===37,a=e.key==="ArrowUp"||e.keyCode===38,o=e.key==="ArrowRight"||e.keyCode===39,l=e.key==="ArrowDown"||e.keyCode===40,h=this._rootElement.getBoundingClientRect();if(l)e.preventDefault(),this._yPercent++;else if(a)e.preventDefault(),this._yPercent--;else if(i)e.preventDefault(),this._xPercent--;else if(o)e.preventDefault(),this._xPercent++;else if(t)e.preventDefault();else return;this._xPercent>h.width?this._xPercent=h.width:this._xPercent<0&&(this._xPercent=0),this._yPercent>h.height?this._yPercent=h.height:this._yPercent<0&&(this._yPercent=0),this._setThumbPosition(this._xPercent,this._yPercent),this._notify()}_onDown(e){e.preventDefault(),document.addEventListener("mousemove",this._moveListener),document.addEventListener("touchmove",this._moveListener),document.addEventListener("mouseup",this._upListener),document.addEventListener("touchend",this._upListener),this._updateThumbPosition(e)}_onMove(e){e.preventDefault(),this._updateThumbPosition(e)}_onUp(e){document.removeEventListener("mousemove",this._moveListener),document.removeEventListener("touchmove",this._moveListener),document.removeEventListener("mouseup",this._upListener),document.removeEventListener("touchend",this._upListener),this._updateThumbPosition(e),this._thumbElement.focus()}_updateThumbPosition(e){let t=/^mouse/.test(e.type),i=t?e.clientX:e.changedTouches[0].clientX,a=t?e.clientY:e.changedTouches[0].clientY,o=this._calculateSliderPercent(i,a);this._setThumbPosition(o.x,o.y),this._xPercent=parseInt((o.x/o.width*100).toString(),10),this._yPercent=Math.abs(parseInt((o.y/o.height*100).toString(),10)-100),this._notify()}_calculateSliderPercent(e,t){return f(e,t,this._rootElement)}_setThumbPosition(e,t){this._thumbElement.style.left=`${e}px`,this._thumbElement.style.top=`${t}px`}_notify(){typeof this._changeListener=="function"&&this._changeListener(this._xPercent,this._yPercent)}};var g=class{constructor(e,t){this._rootElement=e;this._changeListener=t;this._percent=1;this._min=0;this._max=1;this._step=.01;this._keydownListener=i=>this._onKeydown(i),this._downListener=i=>this._onDown(i),this._moveListener=i=>this._onMove(i),this._upListener=i=>this._onUp(i),this._initialize()}destroy(){this._unlisten()}setValue(e){this._percent=e,this._setThumbPosition(this._percent)}_initialize(){this._thumbElement=this._rootElement.querySelector(n.selectors.SLIDER_THUMB),this._listen(),this._setThumbPosition(this._percent)}_listen(){this._thumbElement.addEventListener("keydown",this._keydownListener),this._rootElement.addEventListener("mousedown",this._downListener),this._rootElement.addEventListener("touchstart",this._downListener)}_unlisten(){this._thumbElement.removeEventListener("keydown",this._keydownListener),this._rootElement.removeEventListener("mousedown",this._downListener),this._rootElement.removeEventListener("touchstart",this._downListener),document.removeEventListener("mousemove",this._moveListener),document.removeEventListener("touchmove",this._moveListener),document.removeEventListener("mouseup",this._upListener),document.removeEventListener("touchend",this._upListener)}_onKeydown(e){let t=e.key==="ArrowLeft"||e.keyCode===37,i=e.key==="ArrowRight"||e.keyCode===39,a=e.key==="Home"||e.keyCode===36,o=e.key==="End"||e.keyCode===35;t?(e.preventDefault(),this._percent-=this._step):i?(e.preventDefault(),this._percent+=this._step):a?(e.preventDefault(),this._percent=this._min):o&&(e.preventDefault(),this._percent=this._max),this._percent<this._min?this._percent=this._min:this._percent>this._max&&(this._percent=this._max),this._setThumbPosition(this._percent),this._notify()}_onDown(e){e.preventDefault(),document.addEventListener("mousemove",this._moveListener),document.addEventListener("touchmove",this._moveListener),document.addEventListener("mouseup",this._upListener),document.addEventListener("touchend",this._upListener),this._updateThumbPosition(e)}_onMove(e){e.preventDefault(),this._thumbElement.classList.add(n.classes.SLIDER_THUMB_ACTIVE),this._updateThumbPosition(e)}_onUp(e){this._thumbElement.classList.remove(n.classes.SLIDER_THUMB_ACTIVE),document.removeEventListener("mousemove",this._moveListener),document.removeEventListener("touchmove",this._moveListener),document.removeEventListener("mouseup",this._upListener),document.removeEventListener("touchend",this._upListener),this._updateThumbPosition(e),this._thumbElement.focus()}_updateThumbPosition(e){let t=/^mouse/.test(e.type)?e.clientX:e.changedTouches[0].clientX;this._percent=this._calculateSliderPercent(t),this._setThumbPosition(this._percent),this._notify()}_calculateSliderPercent(e){let t=f(e,0,this._rootElement);return parseFloat((t.x/t.width).toFixed(2))}_setThumbPosition(e){this._thumbElement.style.left=`${e*100}%`}_notify(){typeof this._changeListener=="function"&&this._changeListener(this._percent)}};var I=class{constructor(e){this._adapter=e;this._value=null;this._allowOpacity=!0;this._hex=A;this._hsva={h:0,s:0,v:0,a:1};this._rgba={r:0,g:0,b:0,a:1};this._debounceChangeEvent=!1;this._valueType="hex";this._initialized=!1;this._gradientSliderChangedListener=(t,i)=>this._onGradientSliderChanged(t,i),this._hueSliderChangedListener=t=>this._onHueSliderChanged(t),this._opacitySliderChangedListener=t=>this._onOpacitySliderChanged(t),this._typeClickListener=t=>this._onTypeClicked(t),this._hexInputChangedListener=t=>this._onHexInputChanged(),this._rgbaInputChangedListener=t=>this._onRgbaInputChanged(),this._hsvaInputChangedListener=t=>this._onHsvaInputChanged()}initialize(){this._initialized=!0,this._applyChangeEventTrigger(),this._adapter.setTypeClickListener(this._typeClickListener),this._adapter.setHexInputListener("input",this._hexInputChangedListener),this._adapter.setRgbaInputListener("input",this._rgbaInputChangedListener),this._adapter.setHsvaInputListener("input",this._hsvaInputChangedListener),this._gradientSlider=new y(this._adapter.getGradientElement(),this._gradientSliderChangedListener),this._hueSlider=new g(this._adapter.getHueSliderElement(),this._hueSliderChangedListener),this._opacitySlider=new g(this._adapter.getOpacitySliderElement(),this._opacitySliderChangedListener),this._initializeOpacity(),this._setColorFromHex(),this._adapter.setActiveValueType(this._valueType)}disconnect(){this._adapter.removeTypeClickListener(this._typeClickListener),this._adapter.removeHexInputListener("input",this._hexInputChangedListener),this._adapter.removeRgbaInputListener("input",this._hexInputChangedListener),this._adapter.removeHsvaInputListener("input",this._hexInputChangedListener),this._gradientSlider.destroy(),this._hueSlider.destroy(),this._opacitySlider.destroy(),this._initialized=!1}_applyChangeEventTrigger(){this._debounceChangeEvent?this._triggerChangeEvent=P((e,t)=>{this._emitChangeEvent(e,t)},n.numbers.CHANGE_EVENT_DEBOUNCE_THRESHOLD,!1):this._triggerChangeEvent=(e,t)=>this._emitChangeEvent(e,t)}_initializeOpacity(){this._hsva.a=1,this._adapter.toggleOpacityControls(this._allowOpacity),this._render()}_onTypeClicked(e){this._valueType==="hex"?this._valueType="rgba":this._valueType==="rgba"?this._valueType="hsva":this._valueType==="hsva"&&(this._valueType="hex"),this._adapter.setActiveValueType(this._valueType),this._adapter.focusValueInput(this._valueType)}_onHexInputChanged(){let e=this._adapter.getHexInputValue();S(e)&&(this.value=e,this._triggerChangeEvent("input","hex"))}_onRgbaInputChanged(){let e=this._adapter.getRgbaInputValue();R(e)&&(this.value=v(e),this._triggerChangeEvent("input","rgba"))}_onHsvaInputChanged(){let e=this._adapter.getHsvaInputValue();V(e)&&(this.value=v(m(e)),this._triggerChangeEvent("input","hsva"))}_setColorFromHex(){this._rgba=$(this._hex),this._hsva=j(this._rgba),this._initialized&&(this._gradientSlider.setValue(this._hsva.s,this._hsva.v),this._hueSlider.setValue(parseFloat((this._hsva.h/360).toFixed(2))),this._opacitySlider.setValue(this._hsva.a),this._render())}_onGradientSliderChanged(e,t){this._hsva.s=e,this._hsva.v=t,this._syncColors(),this._render(),this._triggerChangeEvent("slider","gradient")}_onHueSliderChanged(e){this._hsva.h=parseInt((360*e).toString(),10),this._syncColors(),this._setGradientColor(),this._render(),this._triggerChangeEvent("slider","hue")}_onOpacitySliderChanged(e){this._hsva.a=e,this._syncColors(),this._render(),this._triggerChangeEvent("slider","opacity")}_setGradientColor(){let e=m({h:this._hsva.h,s:100,v:100,a:1});this._adapter.setGradientColor(`rgb(${e.r}, ${e.g}, ${e.b})`)}_syncColors(){this._rgba=m(this._hsva),this._hex=v(this._rgba),this._value=this._hex||null}_render(){this._setGradientColor(),this._adapter.setPreviewColor(X(this._rgba)),this._adapter.setHexInputValue(`#${this._hex}`),this._adapter.setRgbaInputValue(this._rgba),this._adapter.setHsvaInputValue(this._hsva),this._adapter.updateA11y(this._hsva.h,Math.round(this._hsva.a*100))}_emitChangeEvent(e,t){let i={type:e,source:t,hex:H(this._hex,!1).replace(/^#/,""),rgba:this._rgba,hsva:this._hsva};this._allowOpacity&&(i.alpha=this._hsva.a),this._adapter.emitHostEvent(n.events.CHANGE,i)}get value(){return H(this._hex,!1)}set value(e){if(this._value!==e){if(this._value=e||A,!S(this._value))throw new Error("Invalid hex value provided.");this._hex=this._value.replace(/^#/,""),this._setColorFromHex(),this._adapter.setHostAttribute(n.attributes.VALUE,this._value)}}get rgba(){return this._rgba?x({},this._rgba):null}set rgba(e){e?R(e)&&(this.value=v(e)):this.value=null}get hsva(){return this._hsva?x({},this._hsva):null}set hsva(e){e?V(e)&&(this.value=v(m(e))):this.value=null}get opacity(){return this._hsva?this._hsva.a:null}set opacity(e){this._hsva.a!==e&&e!=null&&this._allowOpacity&&(e>=0&&e<=1?(this._hsva.a=e,this._syncColors(),this._initialized&&(this._opacitySlider.setValue(this._hsva.a),this._render())):console.warn(`The provided opacity value (${e}) must be between 0 and 1.`))}get allowOpacity(){return this._allowOpacity}set allowOpacity(e){this._allowOpacity=e,this._initialized&&this._initializeOpacity()}get debounceChangeEvent(){return this._debounceChangeEvent}set debounceChangeEvent(e){this._debounceChangeEvent!==e&&(this._debounceChangeEvent=e,this._initialized&&this._applyChangeEventTrigger())}};var te='<template><div class="forge-color-picker" part="root"><input type="color" tabindex="-1" class="forge-color-picker__input" spellcheck="false" autocomplete="off" aria-label="Color picker value" part="input"><div class="forge-color-picker__container" part="container"><div class="forge-color-picker__gradient" tabindex="0" part="gradient"><div class="forge-color-picker__gradient-color" part="gradient-color"></div><div class="forge-color-picker__gradient-thumb" part="gradient-thumb"></div></div><div class="forge-color-picker__control-preview" part="controls-preview-container"><div class="forge-color-picker__controls" part="controls-container"><div class="forge-color-picker__slider-control" part="hue-control-container"><div class="forge-color-picker__slider forge-color-picker__hue-slider" part="hue-control-slider"><div class="forge-color-picker__slider-thumb" id="forge-color-picker-hue-thumb" part="hue-control-slider-thumb" tabindex="0" role="slider" aria-label="Change hue" aria-valuemin="0" aria-valuemax="360" aria-valuenow="0" aria-orientation="horizontal" aria-valuetext="0"></div></div></div><div class="forge-color-picker__slider-control" part="opacity-control-container"><div class="forge-color-picker__canvas" part="opacity-control-canvas"><div class="forge-color-picker__slider forge-color-picker__opacity-slider" part="opacity-control-slider"><div class="forge-color-picker__slider-thumb" id="forge-color-picker-opacity-thumb" part="opacity-control-slider-thumb" tabindex="0" role="slider" aria-label="Change opacity" aria-valuemin="0" aria-valuemax="100" aria-valuenow="0" aria-orientation="horizontal" aria-valuetext="0"></div></div></div></div></div><div class="forge-color-picker__color-preview-container forge-color-picker__canvas" part="color-preview-container"><div class="forge-color-picker__color-preview" part="color-preview"></div></div></div><div class="forge-color-picker__value" part="value-container"><div class="forge-color-picker__color-types" part="types-container"><div class="forge-color-picker__color-hex" part="hex-type-container"><div part="hex-type-label-wrapper"><label for="forge-color-picker-hex-input" part="hex-label">HEX</label></div><input type="text" id="forge-color-picker-hex-input" part="hex-input" style="width: 88px;" maxlength="9" spellcheck="false" autocomplete="off" aria-label="HEX value"></div><div class="forge-color-picker__color-rgba" part="rgba-type-container"><div part="rgba-type-wrapper-r"><label for="forge-color-picker-rgba-r-input" part="rgba-type-label-r">R</label> <input type="number" id="forge-color-picker-rgba-r-input" part="rgba-type-input-r" min="0" max="255" maxlength="3" autocomplete="off" aria-label="Red"></div><div part="rgba-type-wrapper-g"><label for="forge-color-picker-rgba-g-input" part="rgba-type-label-g">G</label> <input type="number" id="forge-color-picker-rgba-g-input" part="rgba-type-input-g" min="0" max="255" maxlength="3" autocomplete="off" aria-label="Green"></div><div part="rgba-type-wrapper-b"><label for="forge-color-picker-rgba-b-input" part="rgba-type-label-b">B</label> <input type="number" id="forge-color-picker-rgba-b-input" part="rgba-type-input-b" min="0" max="255" maxlength="3" autocomplete="off" aria-label="Blue"></div><div part="rgba-type-wrapper-a"><label for="forge-color-picker-rgba-a-input" part="rgba-type-label-a">A</label> <input type="number" id="forge-color-picker-rgba-a-input" part="rgba-type-input-a" min="0" max="1" step="0.1" maxlength="3" autocomplete="off" aria-label="Alpha"></div></div><div class="forge-color-picker__color-hsva" part="hsva-type-container"><div part="hsva-type-wrapper-h"><label for="forge-color-picker-hsva-h-input" part="hsva-type-label-h">H</label> <input type="number" id="forge-color-picker-hsva-h-input" part="hsva-type-input-h" min="0" max="360" maxlength="3" autocomplete="off" aria-label="Hue"></div><div part="hsva-type-wrapper-s"><label for="forge-color-picker-hsva-s-input" part="hsva-type-label-s">S</label> <input type="number" id="forge-color-picker-hsva-s-input" part="hsva-type-input-s" min="0" max="100" maxlength="3" autocomplete="off" aria-label="Saturation"></div><div part="hsva-type-wrapper-v"><label for="forge-color-picker-hsva-v-input" part="hsva-type-label-v">V</label> <input type="number" id="forge-color-picker-hsva-v-input" part="hsva-type-input-v" min="0" max="100" maxlength="3" autocomplete="off" aria-label="Value"></div><div part="hsva-type-wrapper-a"><label for="forge-color-picker-hsva-a-input" part="hsva-type-label-a">A</label> <input type="number" id="forge-color-picker-hsva-a-input" part="hsva-type-input-a" min="0" max="1" step="0.1" maxlength="3" autocomplete="off" aria-label="Alpha"></div></div></div><div class="forge-color-picker__type-button" part="type-container"><forge-icon-button part="type-button" id="forge-color-picker-type-button" aria-labelledby="type-button-tooltip" part="type-button-element"><forge-icon name="unfold_more" part="type-button-icon"></forge-icon></forge-icon-button><forge-tooltip placement="bottom" id="type-button-tooltip">Change color format</forge-tooltip></div></div></div></div></template>',ie='*{-webkit-box-sizing:border-box;box-sizing:border-box}.forge-color-picker{width:272px;width:var(--forge-color-picker-width,272px);position:relative;display:inline-block;overflow:hidden}.forge-color-picker__input{height:1px;opacity:0;position:absolute;width:1px}.forge-color-picker__gradient{position:relative;outline:0}.forge-color-picker__gradient-color{background:-webkit-gradient(linear,left top,left bottom,color-stop(0,rgba(0,0,0,0)),to(#000)),-webkit-gradient(linear,left top,right top,color-stop(0,#fff),to(rgba(255,255,255,0)));background:linear-gradient(to bottom,rgba(0,0,0,0) 0,#000 100%),linear-gradient(to right,#fff 0,rgba(255,255,255,0) 100%);height:152px}.forge-color-picker__gradient-thumb{border:1px solid #fff;border-radius:50%;cursor:pointer;display:inline-block;height:10px;width:10px;margin-left:-5px;margin-top:-5px;position:absolute;touch-action:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-transition:left .2s cubic-bezier(.25, .8, .25, 1) 0s,top .2s cubic-bezier(.25, .8, .25, 1) 0s;transition:left .2s cubic-bezier(.25, .8, .25, 1) 0s,top .2s cubic-bezier(.25, .8, .25, 1) 0s}.forge-color-picker__control-preview{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;width:100%;padding:16px}.forge-color-picker__controls{-webkit-box-flex:1;flex:1;margin-right:16px}.forge-color-picker__slider{position:relative}.forge-color-picker__slider-thumb{outline:0;height:16px;width:16px;background-color:#fff;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.3);box-shadow:0 1px 2px rgba(0,0,0,.3);position:absolute;border-radius:50%;top:calc(50% - 8px);margin-left:-8px;-webkit-transition:left .4s cubic-bezier(.25, .8, .25, 1);transition:left .4s cubic-bezier(.25, .8, .25, 1)}.forge-color-picker__slider-thumb--active{-webkit-transition:none;transition:none}.forge-color-picker__slider-thumb:hover{cursor:pointer}.forge-color-picker__color-preview-container{border-radius:50%;-webkit-box-shadow:0 0 2px 0 rgba(0,0,0,.54) inset,0 0 2px 0 rgba(0,0,0,.54);box-shadow:0 0 2px 0 rgba(0,0,0,.54) inset,0 0 2px 0 rgba(0,0,0,.54);overflow:hidden}.forge-color-picker__color-preview{height:32px;width:32px;-webkit-transition:background-color .2s cubic-bezier(.25, .8, .25, 1);transition:background-color .2s cubic-bezier(.25, .8, .25, 1)}.forge-color-picker__value{display:-webkit-box;display:flex;width:100%;-webkit-box-align:center;align-items:center;padding:0 8px 16px 16px;font-size:12px}.forge-color-picker__color-types{-webkit-box-flex:1;flex:1}.forge-color-picker__color-types 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-light,rgba(0,0,0,.54))}.forge-color-picker__color-types input{-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)}.forge-color-picker__color-types input[type=number],.forge-color-picker__color-types input[type=text]{color:#000;color:var(--mdc-theme-on-surface,#000);border-color:#e0e0e0;border-color:var(--forge-theme-border-color,#e0e0e0);background-color:transparent;padding:4px 8px;border-width:1px;border-style:solid;border-radius:4px;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;-webkit-transition:border-color .2s 0s cubic-bezier(0, 0, .2, 1),-webkit-box-shadow .2s 0s cubic-bezier(0, 0, .2, 1);transition:border-color .2s 0s cubic-bezier(0, 0, .2, 1),-webkit-box-shadow .2s 0s cubic-bezier(0, 0, .2, 1);transition:box-shadow .2s 0s cubic-bezier(0, 0, .2, 1),border-color .2s 0s cubic-bezier(0, 0, .2, 1);transition:box-shadow .2s 0s cubic-bezier(0, 0, .2, 1),border-color .2s 0s cubic-bezier(0, 0, .2, 1),-webkit-box-shadow .2s 0s cubic-bezier(0, 0, .2, 1)}.forge-color-picker__color-types input[type=number]:hover,.forge-color-picker__color-types input[type=text]:hover{border-color:rgba(0,0,0,.87);border-color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87))}.forge-color-picker__color-types input[type=number]:focus,.forge-color-picker__color-types input[type=text]:focus{border-color:#6200ee;border-color:var(--mdc-theme-primary,#6200ee);-webkit-box-shadow:0 0 0 1px inset #3f51b5;box-shadow:0 0 0 1px inset #3f51b5;-webkit-box-shadow:0 0 0 1px inset var(--mdc-theme-primary,#3f51b5);box-shadow:0 0 0 1px inset var(--mdc-theme-primary,#3f51b5)}.forge-color-picker__color-types input[type=number]{text-align:center;-moz-appearance:textfield}.forge-color-picker__color-types input[type=number]::-webkit-inner-spin-button,.forge-color-picker__color-types input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;margin:0}.forge-color-picker__color-hex{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-pack:center;justify-content:center;-webkit-box-align:space-between;align-items:space-between}.forge-color-picker__canvas{background-image:url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNnB4IiBoZWlnaHQ9IjZweCIgdmlld0JveD0iMCAwIDYgNiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KICAgIDwhLS0gR2VuZXJhdG9yOiBTa2V0Y2ggNTAgKDU0OTgzKSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5Hcm91cCA5PC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+PC9kZWZzPgogICAgPGcgaWQ9IlBhZ2UtMSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9Ikdyb3VwLTkiPgogICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLTExIiBmaWxsPSIjRTBFMEUwIiB4PSIwIiB5PSIwIiB3aWR0aD0iMyIgaGVpZ2h0PSIzIj48L3JlY3Q+CiAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtMTEtQ29weS0yIiBmaWxsPSIjRkZGRkZGIiB4PSIwIiB5PSIzIiB3aWR0aD0iMyIgaGVpZ2h0PSIzIj48L3JlY3Q+CiAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtMTEtQ29weSIgZmlsbD0iI0ZGRkZGRiIgeD0iMyIgeT0iMCIgd2lkdGg9IjMiIGhlaWdodD0iMyI+PC9yZWN0PgogICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLTExLUNvcHktMyIgZmlsbD0iI0UwRTBFMCIgeD0iMyIgeT0iMyIgd2lkdGg9IjMiIGhlaWdodD0iMyI+PC9yZWN0PgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+")}.forge-color-picker__hue-slider{height:8px;background:-webkit-gradient(linear,left top,right top,color-stop(0,red),color-stop(16%,#ff0),color-stop(33%,#0f0),color-stop(50%,#0ff),color-stop(67%,#00f),color-stop(84%,#f0f),to(#ff0004));background:linear-gradient(to right,red 0,#ff0 16%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 84%,#ff0004 100%)}.forge-color-picker__opacity-slider{height:8px;margin-top:16px;background:-webkit-gradient(linear,left top,right top,from(rgba(255,0,0,0)),to(red));background:linear-gradient(to right,rgba(255,0,0,0) 0,red 100%)}.forge-color-picker__color-hsva,.forge-color-picker__color-rgba{display:-webkit-box;display:flex}.forge-color-picker__color-hsva div,.forge-color-picker__color-rgba div{margin-right:4px}.forge-color-picker__color-hsva label,.forge-color-picker__color-rgba label{display:block;text-align:center}.forge-color-picker__color-hsva input,.forge-color-picker__color-rgba input{width:44px}:host{display:inline-block}:host([hidden]){display:none}',p=class extends G{constructor(){super();z.define(U),O(this,te,ie),this._foundation=new I(new E(this))}static get observedAttributes(){return[n.attributes.VALUE,n.attributes.ALLOW_OPACITY,n.attributes.DEBOUNCE_CHANGE_EVENT]}connectedCallback(){this._foundation.initialize()}disconnectedCallback(){this._foundation.disconnect()}attributeChangedCallback(t,i,a){switch(t){case n.attributes.VALUE:this.value=a;break;case n.attributes.ALLOW_OPACITY:this.allowOpacity=k(a);break;case n.attributes.DEBOUNCE_CHANGE_EVENT:this.debounceChangeEvent=k(a);break}}};d([_()],p.prototype,"value",2),d([_()],p.prototype,"rgba",2),d([_()],p.prototype,"hsva",2),d([_()],p.prototype,"opacity",2),d([_()],p.prototype,"allowOpacity",2),d([_()],p.prototype,"debounceChangeEvent",2),p=d([B({name:n.elementName,dependencies:[K,W,Z]})],p);function Ye(){M(p)}export{n as a,A as b,T as c,E as d,I as e,p as f,Ye as g};
7
- //# sourceMappingURL=chunk.A7BCLPP4.js.map
@@ -1,7 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2023 Tyler Technologies, Inc.
4
- * License: Apache-2.0
5
- */
6
- import{a as L}from"./chunk.ENUKGA2U.js";import{b as o}from"./chunk.AOVXNX7P.js";import{a as G}from"./chunk.AGLI4WR4.js";import{h as P,i as k}from"./chunk.7AAICE77.js";import{a as V}from"./chunk.WXVVOFNK.js";import{a as d}from"./chunk.NVUMRW44.js";import{a as B}from"./chunk.OLFOVKQG.js";import{h as S}from"./chunk.L4QSPQDE.js";import{a as T,b as c,j as I,k as y,n as x}from"./chunk.J2M2MXP2.js";import{a as b,d as a}from"./chunk.M3QDAYD2.js";var N={VALUE:"value",MULTIPLE:"multiple",OBSERVE_SCROLL:"observe-scroll",OBSERVE_SCROLL_THRESHOLD:"observe-scroll-threshold",POPUP_CLASSES:"popup-classes",OPTION_LIMIT:"option-limit",SYNC_POPUP_WIDTH:"sync-popup-width",CONSTRAIN_POPUP_WIDTH:"constrain-popup-width",WRAP_OPTION_TEXT:"wrap-option-text"},U=b({},N),R={CHANGE:"change"},m={observedAttributes:N,attributes:U,events:R};var H=(e=>(e[e.Option=0]="Option",e[e.Group=1]="Group",e))(H||{});function C(r,O){let e=r.some(i=>D(i)),t=r.some(i=>W(i));return e&&O===1||t&&O===0}function D(r){return c(r)&&I(r)&&r.hasOwnProperty("options")}function W(r){return c(r)&&I(r)&&r.hasOwnProperty("label")&&r.hasOwnProperty("value")}var F=class extends k{constructor(e){super();this._adapter=e;this._options=[];this._value=[];this._multiple=!1;this._open=!1;this._selectedValues=[];this._selectedLabels=[];this._selectedIndexes=[];this._filterString="";this._focusListener=t=>this._onFocus(t),this._blurListener=t=>this._onBlur(t),this._clickListener=t=>this._onClick(t),this._keydownListener=t=>this._onKeydown(t),this._optionsChangedListener=t=>this._onOptionsChanged(t),this._activeChangeListener=t=>this._onActiveOptionChanged(t),this._dropdownScrollEndListener=()=>this._onDropdownScrollEnd(),this._dismissListener=()=>this._onDismiss(),this._identifier=T()}_onFocus(e){}initialize(){this._optionListenerDestructor&&this._optionListenerDestructor(),this._optionListenerDestructor=this._adapter.setOptionsListener(this._optionsChangedListener),this._initializeValue()}initializeTarget(){this._adapter.initializeAccessibility(),this._adapter.setMultiple(this._multiple),this._adapter.addClickListener(this._clickListener),this._adapter.addTargetListener("blur",this._blurListener),this._adapter.addTargetListener("focus",this._focusListener),this._adapter.addTargetListener("keydown",this._keydownListener)}disconnect(){this._adapter.removeClickListener(this._clickListener),this._adapter.removeTargetListener("blur",this._blurListener),this._adapter.removeTargetListener("focus",this._focusListener),this._adapter.removeTargetListener("keydown",this._keydownListener),this._optionListenerDestructor&&this._optionListenerDestructor(),this._open=!1,this._adapter.destroyListDropdown()}appendOptions(e){this._adapter.setOptions(e,!1),this._open&&this._adapter.appendDropdownOptions(e)}selectAll(){this._multiple&&(this.value=this._flatOptions.map(e=>e.value))}deselectAll(){this._multiple&&(this.value=[])}get _flatOptions(){return C(this._options,1)?[].concat.apply([],this._options.map(e=>e.options)):this._options}get _nonDividerOptions(){return this._flatOptions.filter(e=>!e.divider)}_initializeValue(){let e=this._options.length&&this._options||this._adapter.getOptions();c(this._value)&&e.length&&this._applyValue(this._value)}_onClick(e){e.button===0&&(this._open?this._closeDropdown():this._openDropdown())}_onBlur(e){this._adapter.isFocusWithinPopup(e.relatedTarget)||this._open&&this._closeDropdown()}_openDropdown(){if(this._options=this._adapter.getOptions(),!this._flatOptions.length)return;this._open=!0;let e={options:this._options,multiple:this._multiple,selectedValues:[...this._selectedValues],id:this._identifier,optionBuilder:this._optionBuilder,syncWidth:this._syncPopupWidth,constrainViewportWidth:this._constrainPopupWidth,wrapOptionText:this._wrapOptionText,observeScroll:this._observeScroll,observeScrollThreshold:this._observeScrollThreshold,scrollEndListener:this._dropdownScrollEndListener,activeChangeCallback:this._activeChangeListener,targetWidthCallback:this._targetWidthCallback,popupClasses:this._popupClasses,optionLimit:this._optionLimit,headerBuilder:this._popupHeaderBuilder,footerBuilder:this._popupFooterBuilder,closeCallback:()=>this._closeDropdown(),selectCallback:t=>{let i=this._flatOptions,n=i.find(l=>l.value===t);if(n){let l=i.indexOf(n);this._onSelect(n,l,!0)}}};this._adapter.open(e),this._adapter.setDismissListener(this._dismissListener)}_closeDropdown(){this._open=!1,this._adapter.close()}async _onSelect(e,t,i=!0){return new Promise(async n=>{if(this._valueChanging)return Promise.resolve(!1);let l=e?e.value:"",u=e?e.label:"",v=[...this._value],f=[...this._selectedValues],g=[...this._selectedLabels],w=[...this._selectedIndexes];if(this._multiple)if(this._selectedValues.includes(l)){let h=this._selectedValues.indexOf(l);this._selectedValues.splice(h,1),this._selectedLabels.splice(h,1),this._selectedIndexes.splice(h,1)}else this._selectedValues.push(l),this._selectedLabels.push(u),this._selectedIndexes.push(t);else c(l)?(this._selectedValues[0]=l,this._selectedLabels[0]=u,this._selectedIndexes[0]=t):(this._selectedValues=[],this._selectedLabels=[],this._selectedIndexes=[]);this._value=[...this._selectedValues];let s=()=>{this._selectedValues=[...f],this._selectedLabels=[...g],this._selectedIndexes=[...w],this._value=[...v]},_=()=>{if(this._multiple){let h=this._selectedIndexes.includes(t);this._adapter.toggleOptionMultiple(t,h)}this._applySelection()},A=this.multiple?[...this._selectedValues]:this._selectedValues[0];if(this._open&&i&&!this._multiple&&this._closeDropdown(),typeof this._beforeValueChange=="function"){this._valueChanging=Promise.resolve(this._beforeValueChange.call(null,A));let h=await this._valueChanging;if(this._valueChanging=void 0,!h)return s(),this._tryUpdateDropdownPosition(),n(!1)}let E=!this._adapter.emitHostEvent(m.events.CHANGE,A,!0,!0);E?s():_(),this._tryUpdateDropdownPosition(),n(!E)})}_selectActiveOption(){let e=this._adapter.getActiveOptionIndex();e>=0&&this._nonDividerOptions[e]&&this._onSelect(this._nonDividerOptions[e],e)}_tryUpdateDropdownPosition(){this._open&&this._adapter.queueDropdownPositionUpdate()}_reset(){this._selectedValues=[],this._selectedLabels=[],this._selectedIndexes=[]}_applyValue(e){this._selectedValues=[],this._selectedLabels=[],this._options=this._adapter.getOptions(),Array.isArray(e)||(e=[e]),this._value=[];for(let t of e){this._value.includes(t)||this._value.push(t);let i=this._flatOptions.find(n=>x(n.value,t));i&&(this._selectedValues.push(i.value),this._selectedLabels.push(i.label))}this._selectedIndexes=this._selectedValues.map(t=>this._flatOptions.findIndex(i=>i.value===t)),this._adapter.patchSelectedValues(this._selectedValues)}_onDismiss(){this._closeDropdown()}_getSelectedText(){if(typeof this._selectedTextBuilder=="function"){let e=this._flatOptions.filter(t=>this._selectedValues.includes(t.value));return this._selectedTextBuilder(e)}return this._multiple?this._selectedLabels.length?this._selectedLabels.length===1?this._selectedLabels[0]:`${this._selectedLabels.length} options selected`:"":this._selectedLabels.filter(e=>e&&e.length).join(" ").trim()}_onKeydown(e){let t=e.key==="Escape"||e.keyCode===27,i=e.key==="Enter"||e.keyCode===13,n=e.key==="Space"||e.keyCode===32,l=e.key==="ArrowDown"||e.keyCode===40,u=e.key==="ArrowUp"||e.keyCode===38,v=e.keyCode>=48&&e.keyCode<=90,f=e.key==="Home"||e.keyCode===36,g=e.key==="End"||e.keyCode===35;if(e.key==="Tab"&&this._open&&!this._multiple){this._selectActiveOption();return}if(!v&&this._filterTimeout&&(window.clearTimeout(this._filterTimeout),this._filterString="",this._filterTimeout=void 0),t&&(e.preventDefault(),e.stopPropagation(),this._open)){this._closeDropdown();return}if(n)e.preventDefault(),e.stopPropagation(),this._open?this._closeDropdown():this._openDropdown();else if(i)this._open&&(e.stopPropagation(),e.preventDefault(),this._options=this._adapter.getOptions(),this._selectActiveOption());else if(u||l){if(e.preventDefault(),!this._open){this._openDropdown(),this._adapter.activateFirstOption();return}if(this._flatOptions.length===0)return;let s=0;this._open?(s=this._adapter.getActiveOptionIndex(),s===-1&&(s=this._getFirstSelectedOptionIndex())):s=this._getFirstSelectedOptionIndex(),u?s=this._getPreviousHighlightableOptionIndex(s,this._nonDividerOptions):s=this._getNextHighlightableOptionIndex(s,this._nonDividerOptions),this._adapter.highlightActiveOption(s)}else if(f)this._open&&(e.preventDefault(),this._adapter.highlightActiveOption(this._nonDividerOptions.findIndex(s=>!s.disabled)));else if(g){if(this._open){e.preventDefault();let s=this._nonDividerOptions;for(let _=s.length-1;_>=0;_--)if(!s[_].disabled){this._adapter.highlightActiveOption(_);break}}}else v&&this._filter(e.key)}_getFirstSelectedOptionIndex(){return this._nonDividerOptions.findIndex(e=>this._selectedValues.includes(e.value))}_getPreviousHighlightableOptionIndex(e,t){let i=e;return i<=0?i=t.length-1:i--,t[i].disabled?this._getPreviousHighlightableOptionIndex(i,t):i}_getNextHighlightableOptionIndex(e,t){let i=e;return i===t.length-1?i=0:i++,t[i].disabled?this._getNextHighlightableOptionIndex(i,t):i}_filter(e){this._filterTimeout&&(window.clearTimeout(this._filterTimeout),this._filterTimeout=void 0),this._filterString+=e,this._filterTimeout=window.setTimeout(()=>{this._filterString="",this._filterTimeout=void 0},300),this._options=this._adapter.getOptions();let t=this._flatOptions.find(({disabled:i,label:n})=>!i&&n.trim().toLowerCase().startsWith(this._filterString.trim().toLowerCase()));if(t){let i=this._flatOptions.indexOf(t);this._open?this._adapter.highlightActiveOption(i):this._multiple||this._onSelect(t,i,!1)}}_onOptionsChanged(e){this._options=e,this._applyValue(this._value)}_onActiveOptionChanged(e){this._adapter.updateActiveDescendant(e)}get value(){return this._multiple?[...this._value]:this._value[0]}set value(e){let t;Array.isArray(e)?t=[...e]:t=e,this._applyValue(t)}get selectedIndex(){return this._multiple?[...this._selectedIndexes]:this._selectedIndexes[0]}set selectedIndex(e){this._options=this._adapter.getOptions();let t;if(Array.isArray(e)?t=[...e]:t=[e],t.sort(),this.multiple)this.value=t.map(i=>this._flatOptions[i]).filter(i=>i).map(i=>i.value);else{let i=this._flatOptions[t[t.length-1]];if(!i)return;this.value=i.value}}get options(){return this._adapter.getOptions()}set options(e){let t;C(e,1)?t=e.map(i=>b({},i)):t=e.map(i=>b({},i)),this._options=t,this._adapter.setOptions(t),this._initializeValue(),this._open&&this._adapter.setDropdownOptions(t)}get multiple(){return this._multiple}set multiple(e){this._multiple!==e&&(this._multiple=e,this._reset(),this._open&&this._closeDropdown(),this._adapter.setMultiple(this._multiple))}get open(){return this._open}set open(e){this._open!==e&&(e?this._openDropdown():this._closeDropdown())}get optionBuilder(){return this._optionBuilder}set optionBuilder(e){this._optionBuilder=e}get selectedTextBuilder(){return this._selectedTextBuilder}set selectedTextBuilder(e){this._selectedTextBuilder=e}get optionLimit(){return this._optionLimit}set optionLimit(e){this._optionLimit=e}get popupClasses(){return this._popupClasses}set popupClasses(e){this._popupClasses=e}get popupHeaderBuilder(){return this._popupHeaderBuilder}set popupHeaderBuilder(e){this._popupHeaderBuilder=e}get popupFooterBuilder(){return this._popupFooterBuilder}set popupFooterBuilder(e){this._popupFooterBuilder=e}get popupElement(){return this._adapter.popupElement}get beforeValueChange(){return this._beforeValueChange}set beforeValueChange(e){this._beforeValueChange=e}};var p=class extends G{constructor(){super()}attributeChangedCallback(e,t,i){switch(super.attributeChangedCallback(e,t,i),e){case m.attributes.MULTIPLE:this.multiple=y(i);break;case m.attributes.VALUE:this.value=i;break}}appendOptions(e){this._foundation.appendOptions(e)}selectAll(){this._foundation.selectAll()}deselectAll(){this._foundation.deselectAll()}connectedCallback(){this._foundation.initialize()}disconnectedCallback(){this._foundation.disconnect()}};a([d()],p.prototype,"value",2),a([d()],p.prototype,"selectedIndex",2),a([d()],p.prototype,"options",2),a([d()],p.prototype,"multiple",2),a([d()],p.prototype,"open",2),a([d()],p.prototype,"optionBuilder",2),a([d()],p.prototype,"selectedTextBuilder",2),a([d()],p.prototype,"beforeValueChange",2),a([d({set:!1})],p.prototype,"popupElement",2);var M=class extends B{constructor(e){super(e)}get popupElement(){var e;return(e=this._listDropdown)==null?void 0:e.dropdownElement}getOptions(){let e=Array.from(this._component.querySelectorAll(L.elementName));if(e.length)return e.map(t=>{let i=Array.from(t.querySelectorAll(o.elementName)),n=this._createOptionsFromElements(i);return{text:t.label,builder:t.builder,value:t.value,options:n}});{let t=Array.from(this._component.querySelectorAll(o.elementName));return this._createOptionsFromElements(t)}}_createOptionsFromElements(e){return e.map(t=>{let i=t.hasAttribute(o.attributes.OPTION_CLASS)?t.getAttribute(o.attributes.OPTION_CLASS):t.optionClass;return typeof i=="string"&&(i=i.split(" ")),{label:t.hasAttribute(o.attributes.LABEL)?t.getAttribute(o.attributes.LABEL):c(t.label)?t.label:t.innerText,secondaryLabel:t.hasAttribute(o.attributes.SECONDARY_LABEL)?t.getAttribute(o.attributes.SECONDARY_LABEL):c(t.secondaryLabel)?t.secondaryLabel:void 0,value:t.hasAttribute(o.attributes.VALUE)?t.getAttribute(o.attributes.VALUE):t.value,disabled:t.hasAttribute(o.attributes.DISABLED),divider:t.hasAttribute(o.attributes.DIVIDER),optionClass:i,leadingIcon:t.hasAttribute(o.attributes.LEADING_ICON)?t.getAttribute(o.attributes.LEADING_ICON):t.leadingIcon,leadingIconClass:t.hasAttribute(o.attributes.LEADING_ICON_CLASS)?t.getAttribute(o.attributes.LEADING_ICON_CLASS):t.leadingIconClass,leadingIconType:t.hasAttribute(o.attributes.LEADING_ICON_TYPE)?t.getAttribute(o.attributes.LEADING_ICON_TYPE):t.leadingIconType,leadingIconComponentProps:t.leadingIconComponentProps,trailingIcon:t.hasAttribute(o.attributes.TRAILING_ICON)?t.getAttribute(o.attributes.TRAILING_ICON):t.trailingIcon,trailingIconClass:t.hasAttribute(o.attributes.TRAILING_ICON_CLASS)?t.getAttribute(o.attributes.TRAILING_ICON_CLASS):t.trailingIconClass,trailingIconType:t.hasAttribute(o.attributes.TRAILING_ICON_TYPE)?t.getAttribute(o.attributes.TRAILING_ICON_TYPE):t.trailingIconType,trailingIconComponentProps:t.trailingIconComponentProps,leadingBuilder:t.leadingBuilder,trailingBuilder:t.trailingBuilder}})}open(e){this._listDropdown=new P(this._targetElement,e),this._listDropdown.open()}async close(){this._listDropdown&&(await this._listDropdown.close(),this.destroyListDropdown())}destroyListDropdown(){var e;(e=this._listDropdown)==null||e.destroy(),this._listDropdown=void 0}setDismissListener(e){!this._listDropdown||!this._listDropdown.dropdownElement||this._listDropdown.dropdownElement.addEventListener(V.events.TOGGLE,e)}toggleOptionMultiple(e,t){var i;(i=this._listDropdown)==null||i.toggleOptionMultiple(e,t)}getActiveOptionIndex(){var e,t;return(t=(e=this._listDropdown)==null?void 0:e.getActiveOptionIndex())!=null?t:-1}activateSelectedOption(){var e;(e=this._listDropdown)==null||e.activateSelectedOption()}activateFirstOption(){var e;(e=this._listDropdown)==null||e.activateFirstOption()}highlightActiveOption(e){var t;(t=this._listDropdown)==null||t.activateOption(e)}patchSelectedValues(e){var t;(t=this._listDropdown)==null||t.setSelectedValues(e)}setOptionsListener(e){let t=n=>{n.stopPropagation(),e(this.getOptions())};this._component.addEventListener(o.events.VALUE_CHANGE,t);let i=new MutationObserver(()=>e(this.getOptions()));return i.observe(this._component,{childList:!0,subtree:!0}),()=>{this._component.removeEventListener(o.events.VALUE_CHANGE,t),i.disconnect()}}setOptions(e,t=!0){t&&this._clearOptions();for(let i of e)if(D(i)){let n=this._createOptionGroupElement(i);for(let l of i.options){let u=this._createOptionElement(l);n.appendChild(u)}this._component.appendChild(n)}else{let n=this._createOptionElement(i);this._component.appendChild(n)}}appendDropdownOptions(e){var t;(t=this._listDropdown)==null||t.appendOptions(e)}setDropdownOptions(e){var t;(t=this._listDropdown)==null||t.setOptions(e)}scrollSelectedOptionIntoView(){var e;(e=this._listDropdown)==null||e.scrollSelectedOptionIntoView()}isFocusWithinPopup(e){return!this._listDropdown||!this._listDropdown.dropdownElement?!1:this._listDropdown.dropdownElement.contains(e)}queueDropdownPositionUpdate(){this.popupElement&&window.requestAnimationFrame(()=>{let e=this.popupElement;e==null||e.position()})}_clearOptions(){Array.from(this._component.querySelectorAll(L.elementName)).forEach(i=>S(i)),Array.from(this._component.querySelectorAll(o.elementName)).forEach(i=>S(i))}_createOptionGroupElement(e){let t=document.createElement("forge-option-group");return Object.assign(t,e),t}_createOptionElement(e){let t=document.createElement("forge-option");return Object.assign(t,e),t.textContent=e.label,t}};export{m as a,H as b,C as c,D as d,W as e,F as f,p as g,M as h};
7
- //# sourceMappingURL=chunk.AFWWND2C.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/select/core/base-select-constants.ts", "../../src/select/core/select-utils.ts", "../../src/select/core/base-select-foundation.ts", "../../src/select/core/base-select.ts", "../../src/select/core/base-select-adapter.ts"],
4
- "sourcesContent": ["import { IListDropdownOption, IListDropdownOptionGroup } from '../../list-dropdown/list-dropdown-constants';\n\nexport type SelectOptionBuilder = (option: ISelectOption, parentElement: HTMLElement) => HTMLElement;\nexport type SelectSelectedTextBuilder = (selectedOptions: IListDropdownOption[]) => string;\nexport type SelectOptionListenerDestructor = () => void;\nexport type SelectBeforeValueChangeCallback<T> = (value: T | T[]) => boolean | Promise<boolean>;\n\nexport interface ISelectOption extends IListDropdownOption {}\nexport interface ISelectOptionGroup extends IListDropdownOptionGroup {}\n\nconst observedAttributes = {\n VALUE: 'value',\n MULTIPLE: 'multiple',\n OBSERVE_SCROLL: 'observe-scroll',\n OBSERVE_SCROLL_THRESHOLD: 'observe-scroll-threshold',\n POPUP_CLASSES: 'popup-classes',\n OPTION_LIMIT: 'option-limit',\n SYNC_POPUP_WIDTH: 'sync-popup-width',\n CONSTRAIN_POPUP_WIDTH: 'constrain-popup-width',\n WRAP_OPTION_TEXT: 'wrap-option-text'\n};\n\nconst attributes = {\n ...observedAttributes\n};\n\nconst events = {\n CHANGE: 'change'\n};\n\nexport const BASE_SELECT_CONSTANTS = {\n observedAttributes,\n attributes,\n events\n};\n", "import { isDefined, isObject } from '@tylertech/forge-core';\nimport { ISelectOption, ISelectOptionGroup } from './base-select-constants';\n\nexport enum SelectOptionType { Option, Group }\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 isSelectOptionType(options: ISelectOption[] | ISelectOptionGroup[], type: SelectOptionType): boolean {\n const isOptionGroups = options.some((o: ISelectOption | ISelectOptionGroup) => isOptionGroupObject(o));\n const isOptionTypes = options.some((o: ISelectOption | ISelectOptionGroup) => isOptionObject(o));\n return (isOptionGroups && type === SelectOptionType.Group) || (isOptionTypes && type === SelectOptionType.Option);\n}\n\nexport function isOptionGroupObject(o: ISelectOption | ISelectOptionGroup): o is ISelectOptionGroup {\n return isDefined(o) && isObject(o) && o.hasOwnProperty('options');\n}\n\nexport function isOptionObject(o: ISelectOption | ISelectOptionGroup): o is ISelectOption {\n return isDefined(o) && isObject(o) && o.hasOwnProperty('label') && o.hasOwnProperty('value');\n}\n", "import { isDefined, isDeepEqual, randomChars } from '@tylertech/forge-core';\nimport { OptionListenerDestructor } from '../select/select-adapter';\nimport { ISelectOption, ISelectOptionGroup, SelectSelectedTextBuilder, SelectOptionBuilder, BASE_SELECT_CONSTANTS, SelectBeforeValueChangeCallback } from './base-select-constants';\nimport { isSelectOptionType, SelectOptionType } from './select-utils';\nimport { IListDropdownConfig, ListDropdownHeaderBuilder, ListDropdownFooterBuilder } from '../../list-dropdown/list-dropdown-constants';\nimport { IBaseSelectAdapter } from './base-select-adapter';\nimport { IListDropdownAwareFoundation, ListDropdownAwareFoundation } from '../../list-dropdown/list-dropdown-aware-foundation';\n\nexport interface IBaseSelectFoundation extends IListDropdownAwareFoundation {\n value: any;\n selectedIndex: number | number[];\n options: ISelectOption[] | ISelectOptionGroup[];\n multiple: boolean;\n open: boolean;\n popupElement: HTMLElement | undefined;\n optionBuilder: SelectOptionBuilder;\n selectedTextBuilder: SelectSelectedTextBuilder;\n beforeValueChange: SelectBeforeValueChangeCallback<any>;\n appendOptions(options: ISelectOption[] | ISelectOptionGroup[]): void;\n selectAll(): void;\n deselectAll(): void;\n initialize(): void;\n initializeTarget(): void;\n disconnect(): void;\n}\n\nexport abstract class BaseSelectFoundation<T extends IBaseSelectAdapter> extends ListDropdownAwareFoundation implements IBaseSelectFoundation {\n protected _options: ISelectOption[] | ISelectOptionGroup[] = [];\n protected _value: any = [];\n protected _multiple = false;\n protected _open = false;\n protected _optionBuilder: SelectOptionBuilder;\n protected _selectedTextBuilder: SelectSelectedTextBuilder;\n protected _selectedValues: string[] = [];\n protected _selectedLabels: string[] = [];\n protected _selectedIndexes: number[] = [];\n protected _filterTimeout: number | undefined;\n protected _filterString = '';\n protected _identifier: string;\n protected _targetWidthCallback: () => number;\n protected _beforeValueChange: SelectBeforeValueChangeCallback<unknown>;\n private _focusListener: (evt: Event) => void;\n private _blurListener: (evt: FocusEvent) => void;\n private _clickListener: (evt: MouseEvent) => void;\n private _keydownListener: (evt: KeyboardEvent) => void;\n private _optionsChangedListener: (options: ISelectOption[] | ISelectOptionGroup[]) => void;\n private _optionListenerDestructor: OptionListenerDestructor;\n private _activeChangeListener: (id: string) => void;\n private _dropdownScrollEndListener: () => void;\n private _valueChanging: Promise<boolean> | undefined;\n private _dismissListener: () => void;\n\n constructor(protected _adapter: T) {\n super();\n this._focusListener = evt => this._onFocus(evt);\n this._blurListener = evt => this._onBlur(evt);\n this._clickListener = evt => this._onClick(evt);\n this._keydownListener = evt => this._onKeydown(evt);\n this._optionsChangedListener = options => this._onOptionsChanged(options);\n this._activeChangeListener = id => this._onActiveOptionChanged(id);\n this._dropdownScrollEndListener = () => this._onDropdownScrollEnd();\n this._dismissListener = () => this._onDismiss();\n this._identifier = randomChars();\n }\n\n protected abstract _onDropdownScrollEnd(): void;\n protected _onFocus(evt: Event): void {}\n\n public initialize(): void {\n if (this._optionListenerDestructor) {\n this._optionListenerDestructor();\n }\n this._optionListenerDestructor = this._adapter.setOptionsListener(this._optionsChangedListener);\n this._initializeValue();\n }\n\n public initializeTarget(): void {\n this._adapter.initializeAccessibility();\n this._adapter.setMultiple(this._multiple);\n this._adapter.addClickListener(this._clickListener);\n this._adapter.addTargetListener('blur', this._blurListener);\n this._adapter.addTargetListener('focus', this._focusListener);\n this._adapter.addTargetListener('keydown', this._keydownListener);\n }\n\n public disconnect(): void {\n this._adapter.removeClickListener(this._clickListener);\n this._adapter.removeTargetListener('blur', this._blurListener);\n this._adapter.removeTargetListener('focus', this._focusListener);\n this._adapter.removeTargetListener('keydown', this._keydownListener);\n\n if (this._optionListenerDestructor) {\n this._optionListenerDestructor();\n }\n \n this._open = false;\n this._adapter.destroyListDropdown();\n }\n\n public appendOptions(options: ISelectOption[] | ISelectOptionGroup[]): void {\n this._adapter.setOptions(options, false);\n if (this._open) {\n this._adapter.appendDropdownOptions(options);\n }\n }\n\n public selectAll(): void {\n if (this._multiple) {\n this.value = this._flatOptions.map(o => o.value);\n }\n }\n\n public deselectAll(): void {\n if (this._multiple) {\n this.value = [];\n }\n }\n\n protected get _flatOptions(): ISelectOption[] {\n if (isSelectOptionType(this._options, SelectOptionType.Group)) {\n return [].concat.apply([], (this._options as ISelectOptionGroup[]).map(g => g.options)) as ISelectOption[];\n }\n return this._options as ISelectOption[];\n }\n\n private get _nonDividerOptions(): ISelectOption[] {\n return this._flatOptions.filter(o => !o.divider);\n }\n\n protected _initializeValue(): void {\n const options = (this._options.length && this._options) || this._adapter.getOptions();\n if (isDefined(this._value) && options.length) {\n this._applyValue(this._value);\n }\n }\n\n protected _onClick(evt: MouseEvent): void {\n if (evt.button !== 0) {\n return;\n }\n if (!this._open) {\n this._openDropdown();\n } else {\n this._closeDropdown();\n }\n }\n\n protected _onBlur(evt: FocusEvent): void {\n // If the blur event was triggered by an element within the popup then ignore it\n if (this._adapter.isFocusWithinPopup(evt.relatedTarget as HTMLElement)) {\n return;\n }\n\n if (this._open) {\n this._closeDropdown();\n }\n }\n\n\n protected _openDropdown(): void {\n this._options = this._adapter.getOptions();\n\n if (!this._flatOptions.length) {\n return;\n }\n\n this._open = true;\n const config: IListDropdownConfig = {\n options: this._options,\n multiple: this._multiple,\n selectedValues: [...this._selectedValues],\n id: this._identifier,\n optionBuilder: this._optionBuilder,\n syncWidth: this._syncPopupWidth,\n constrainViewportWidth: this._constrainPopupWidth,\n wrapOptionText: this._wrapOptionText,\n observeScroll: this._observeScroll,\n observeScrollThreshold: this._observeScrollThreshold,\n scrollEndListener: this._dropdownScrollEndListener,\n activeChangeCallback: this._activeChangeListener,\n targetWidthCallback: this._targetWidthCallback,\n popupClasses: this._popupClasses,\n optionLimit: this._optionLimit,\n headerBuilder: this._popupHeaderBuilder,\n footerBuilder: this._popupFooterBuilder,\n closeCallback: () => this._closeDropdown(),\n selectCallback: (value: any) => {\n const flatOptions = this._flatOptions;\n const option = flatOptions.find(o => o.value === value);\n if (option) {\n const index = flatOptions.indexOf(option);\n this._onSelect(option, index, true);\n }\n }\n };\n this._adapter.open(config);\n this._adapter.setDismissListener(this._dismissListener);\n }\n\n /**\n * Closes the dropdown.\n */\n protected _closeDropdown(): void {\n this._open = false;\n this._adapter.close();\n }\n\n /**\n * Handles selecting an item in the dropdown.\n * @param {ISelectOption} option The selected option.\n * @param {number} optionIndex The index of the selected option.\n */\n protected async _onSelect(option: ISelectOption, optionIndex: number, closeDropdown = true): Promise<boolean> {\n return new Promise(async resolve => {\n if (this._valueChanging) {\n return Promise.resolve(false);\n }\n\n const value = option ? option.value : '';\n const label = option ? option.label : '';\n\n // Store the current selections in case we need to rollback (if the event was cancelled)\n const prevValues = [...this._value];\n const prevSelectedValues = [...this._selectedValues];\n const prevSelectedLabels = [...this._selectedLabels];\n const prevSelectedIndexes = [...this._selectedIndexes];\n\n if (this._multiple) {\n if (this._selectedValues.includes(value)) {\n const index = this._selectedValues.indexOf(value);\n this._selectedValues.splice(index, 1);\n this._selectedLabels.splice(index, 1);\n this._selectedIndexes.splice(index, 1);\n } else {\n this._selectedValues.push(value);\n this._selectedLabels.push(label);\n this._selectedIndexes.push(optionIndex);\n }\n } else {\n if (isDefined(value)) {\n this._selectedValues[0] = value;\n this._selectedLabels[0] = label;\n this._selectedIndexes[0] = optionIndex;\n } else {\n this._selectedValues = [];\n this._selectedLabels = [];\n this._selectedIndexes = [];\n }\n }\n\n this._value = [...this._selectedValues];\n\n const rollbackValue = (): void => {\n this._selectedValues = [...prevSelectedValues];\n this._selectedLabels = [...prevSelectedLabels];\n this._selectedIndexes = [...prevSelectedIndexes];\n this._value = [...prevValues];\n };\n\n const applyValue = (): void => {\n // If we're in multiselect mode, we need to toggle the selected option\n if (this._multiple) {\n const isSelected = this._selectedIndexes.includes(optionIndex);\n this._adapter.toggleOptionMultiple(optionIndex, isSelected);\n }\n\n this._applySelection();\n };\n\n const data = this.multiple ? [...this._selectedValues] : this._selectedValues[0];\n\n // We close the dropdown immediately if in single selection mode\n if (this._open && closeDropdown && !this._multiple) {\n this._closeDropdown();\n }\n\n // First we check to see if there is an before change callback and execute that\n if (typeof this._beforeValueChange === 'function') {\n this._valueChanging = Promise.resolve(this._beforeValueChange.call(null, data));\n const shouldContinue = await this._valueChanging;\n this._valueChanging = undefined;\n if (!shouldContinue) {\n rollbackValue();\n this._tryUpdateDropdownPosition();\n return resolve(false);\n }\n }\n\n // Now we can emit the change event AFTER the before change callback has been executed and returned true\n const cancelled = !this._adapter.emitHostEvent(BASE_SELECT_CONSTANTS.events.CHANGE, data, true, true);\n if (!cancelled) {\n applyValue();\n } else {\n rollbackValue();\n }\n\n this._tryUpdateDropdownPosition();\n resolve(!cancelled);\n });\n }\n\n private _selectActiveOption(): void {\n const activeOptionIndex = this._adapter.getActiveOptionIndex();\n if (activeOptionIndex >= 0 && this._nonDividerOptions[activeOptionIndex]) {\n this._onSelect(this._nonDividerOptions[activeOptionIndex], activeOptionIndex);\n }\n }\n\n protected _tryUpdateDropdownPosition(): void {\n if (this._open) {\n this._adapter.queueDropdownPositionUpdate();\n }\n }\n\n protected _reset(): void {\n this._selectedValues = [];\n this._selectedLabels = [];\n this._selectedIndexes = [];\n }\n\n protected _applyValue(value: string | string[]): void {\n this._selectedValues = [];\n this._selectedLabels = [];\n\n this._options = this._adapter.getOptions();\n\n if (!Array.isArray(value)) {\n value = [value];\n }\n\n this._value = [];\n\n // Ensure that the values passed are actually existing options\n for (const val of value) {\n if (!this._value.includes(val)) {\n this._value.push(val);\n }\n const option = this._flatOptions.find(o => isDeepEqual(o.value, val));\n if (option) {\n this._selectedValues.push(option.value);\n this._selectedLabels.push(option.label);\n }\n }\n\n // Update the selected indexes based on the values that are now selected\n this._selectedIndexes = this._selectedValues.map(val => this._flatOptions.findIndex(o => o.value === val));\n\n // Update the selected options in the dropdown\n this._adapter.patchSelectedValues(this._selectedValues);\n }\n \n /**\n * Handles the user dismissing the dropdown.\n */\n protected _onDismiss(): void {\n this._closeDropdown();\n }\n\n /** Creates the selected text value from the selected label values. */\n protected _getSelectedText(): string {\n if (typeof this._selectedTextBuilder === 'function') {\n const selectedOptions = this._flatOptions.filter(o => this._selectedValues.includes(o.value));\n return this._selectedTextBuilder(selectedOptions);\n }\n\n if (this._multiple) {\n if (this._selectedLabels.length) {\n if (this._selectedLabels.length === 1) {\n return this._selectedLabels[0];\n } else {\n return `${this._selectedLabels.length} options selected`;\n }\n } else {\n return '';\n }\n }\n \n return this._selectedLabels\n .filter(v => v && v.length)\n .join(' ')\n .trim();\n }\n\n private _onKeydown(evt: KeyboardEvent): void {\n const isEscapeKey = evt.key === 'Escape' || evt.keyCode === 27;\n const isEnter = evt.key === 'Enter' || evt.keyCode === 13;\n const isSpace = evt.key === 'Space' || evt.keyCode === 32;\n const isArrowDown = evt.key === 'ArrowDown' || evt.keyCode === 40;\n const isArrowUp = evt.key === 'ArrowUp' || evt.keyCode === 38;\n const isFilterableCharacter = evt.keyCode >= 48 && evt.keyCode <= 90;\n const isHomeKey = evt.key === 'Home' || evt.keyCode === 36;\n const isEndKey = evt.key === 'End' || evt.keyCode === 35;\n const isTabKey = evt.key === 'Tab';\n\n // We automatically select the active option if the dropdown is open and in single selection mode\n if (isTabKey && this._open && !this._multiple) {\n this._selectActiveOption();\n return;\n }\n\n // If an active filter was started, clear it now\n if (!isFilterableCharacter && this._filterTimeout) {\n window.clearTimeout(this._filterTimeout);\n this._filterString = '';\n this._filterTimeout = undefined;\n }\n\n if (isEscapeKey) {\n evt.preventDefault();\n evt.stopPropagation();\n if (this._open) {\n this._closeDropdown();\n return;\n }\n }\n\n if (isSpace) {\n evt.preventDefault();\n evt.stopPropagation();\n\n if (!this._open) {\n this._openDropdown();\n } else {\n this._closeDropdown();\n }\n } else if (isEnter) {\n if (this._open) {\n evt.stopPropagation();\n evt.preventDefault();\n this._options = this._adapter.getOptions();\n this._selectActiveOption();\n }\n } else if (isArrowUp || isArrowDown) {\n evt.preventDefault();\n\n if (!this._open) {\n this._openDropdown();\n this._adapter.activateFirstOption();\n return;\n }\n\n if (this._flatOptions.length === 0) {\n return;\n }\n\n let optionIndex = 0;\n if (this._open) {\n optionIndex = this._adapter.getActiveOptionIndex();\n if (optionIndex === -1) {\n optionIndex = this._getFirstSelectedOptionIndex();\n }\n } else {\n optionIndex = this._getFirstSelectedOptionIndex();\n }\n\n if (isArrowUp) {\n optionIndex = this._getPreviousHighlightableOptionIndex(optionIndex, this._nonDividerOptions);\n } else {\n optionIndex = this._getNextHighlightableOptionIndex(optionIndex, this._nonDividerOptions);\n }\n\n this._adapter.highlightActiveOption(optionIndex);\n } else if (isHomeKey) {\n if (this._open) {\n evt.preventDefault();\n this._adapter.highlightActiveOption(this._nonDividerOptions.findIndex(o => !o.disabled));\n }\n } else if (isEndKey) {\n if (this._open) {\n evt.preventDefault();\n const options = this._nonDividerOptions;\n for (let i = options.length - 1; i >= 0; i--) {\n if (!options[i].disabled) {\n this._adapter.highlightActiveOption(i);\n break;\n }\n }\n }\n } else if (isFilterableCharacter) {\n this._filter(evt.key);\n }\n }\n\n private _getFirstSelectedOptionIndex(): number {\n return this._nonDividerOptions.findIndex(option => this._selectedValues.includes(option.value));\n }\n\n private _getPreviousHighlightableOptionIndex(startIndex: number, options: ISelectOption[]): number {\n let index = startIndex;\n if (index <= 0) {\n index = options.length - 1;\n } else {\n index--;\n }\n if (options[index].disabled) {\n return this._getPreviousHighlightableOptionIndex(index, options);\n }\n return index;\n }\n\n private _getNextHighlightableOptionIndex(startIndex: number, options: ISelectOption[]): number {\n let index = startIndex;\n if (index === options.length - 1) {\n index = 0;\n } else {\n index++;\n }\n if (options[index].disabled) {\n return this._getNextHighlightableOptionIndex(index, options);\n }\n return index;\n }\n\n private _filter(key: string): void {\n // This allows for typing numbers and/or characters while the select is focused to auto-select the closest match\n if (this._filterTimeout) {\n window.clearTimeout(this._filterTimeout);\n this._filterTimeout = undefined;\n }\n this._filterString += key;\n this._filterTimeout = window.setTimeout(() => {\n this._filterString = '';\n this._filterTimeout = undefined;\n }, 300);\n this._options = this._adapter.getOptions();\n // TODO: Enhance this to cycle through closest matches (see the native select)\n const matchedOption = this._flatOptions.find(({ disabled, label }) => {\n return !disabled && label.trim().toLowerCase().startsWith(this._filterString.trim().toLowerCase());\n });\n if (matchedOption) {\n const optionIndex = this._flatOptions.indexOf(matchedOption);\n if (this._open) {\n this._adapter.highlightActiveOption(optionIndex);\n } else if (!this._multiple) {\n this._onSelect(matchedOption, optionIndex, false);\n }\n }\n }\n\n private _onOptionsChanged(options: ISelectOption[] | ISelectOptionGroup[]): void {\n this._options = options;\n this._applyValue(this._value);\n }\n\n private _onActiveOptionChanged(id: string): void {\n this._adapter.updateActiveDescendant(id);\n }\n\n /** Gets/sets the value of the component. */\n public get value(): any {\n return this._multiple ? [...this._value] : this._value[0];\n }\n public set value(value: any) {\n let _value: string | string[];\n \n if (Array.isArray(value)) {\n _value = [ ...value ];\n } else {\n _value = value;\n }\n\n this._applyValue(_value);\n }\n\n /** Gets/sets the selected index(s). */\n public get selectedIndex(): number | number[] {\n return this._multiple ? [ ...this._selectedIndexes ] : this._selectedIndexes[0];\n }\n public set selectedIndex(indexes: number | number[]) {\n this._options = this._adapter.getOptions();\n\n let indicies: number [];\n if (Array.isArray(indexes)) {\n indicies = [ ...indexes ];\n } else {\n indicies = [indexes];\n }\n\n indicies.sort();\n\n if (this.multiple) {\n this.value = indicies\n .map(index => this._flatOptions[index])\n .filter(o => o)\n .map(o => o.value);\n } else {\n const option = this._flatOptions[indicies[indicies.length - 1]];\n if (!option) {\n return;\n }\n this.value = option.value;\n }\n }\n\n /** Gets/sets the available options. */\n public get options(): ISelectOption[] | ISelectOptionGroup[] {\n return this._adapter.getOptions();\n }\n public set options(value: ISelectOption[] | ISelectOptionGroup[]) {\n let _value: ISelectOption[] | ISelectOptionGroup[];\n if (isSelectOptionType(value, SelectOptionType.Group)) {\n _value = (value as ISelectOptionGroup[]).map(v => ({ ...v }));\n } else {\n _value = (value as ISelectOption[]).map(v => ({ ...v }));\n }\n\n this._options = _value;\n this._adapter.setOptions(_value); // Must set options before intializing value\n this._initializeValue();\n\n if (this._open) {\n this._adapter.setDropdownOptions(_value);\n }\n }\n\n /** Gets/sets the multiple select state. */\n public get multiple(): boolean {\n return this._multiple;\n }\n public set multiple(value: boolean) {\n if (this._multiple !== value) {\n this._multiple = value;\n this._reset();\n if (this._open) {\n this._closeDropdown();\n }\n this._adapter.setMultiple(this._multiple);\n }\n }\n\n /** Gets/sets the open state of the dropdown. */\n public get open(): boolean {\n return this._open;\n }\n public set open(value: boolean) {\n if (this._open !== value) {\n if (value) {\n this._openDropdown();\n } else {\n this._closeDropdown();\n }\n }\n }\n\n /** Gets/sets the builder callback to use when building options. */\n public get optionBuilder(): SelectOptionBuilder {\n return this._optionBuilder;\n }\n public set optionBuilder(value: SelectOptionBuilder) {\n this._optionBuilder = value;\n }\n\n /** Sets the selected text builder callback that will be executed when getting the selected text to display in the field. */\n public get selectedTextBuilder(): SelectSelectedTextBuilder {\n return this._selectedTextBuilder;\n }\n public set selectedTextBuilder(fn: SelectSelectedTextBuilder) {\n this._selectedTextBuilder = fn;\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 popupClasses(): string | string[] {\n return this._popupClasses;\n }\n public set popupClasses(value: string | string[]) {\n this._popupClasses = 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 /** Gets the currently active popup element when the dropdown is open. */\n public get popupElement(): HTMLElement | undefined {\n return this._adapter.popupElement;\n }\n\n /** Sets the callback to be executed when the user selects a value. */\n public get beforeValueChange(): SelectBeforeValueChangeCallback<any> {\n return this._beforeValueChange;\n }\n public set beforeValueChange(value: SelectBeforeValueChangeCallback<any>) {\n this._beforeValueChange = value;\n }\n}\n", "import { coerceBoolean, FoundationProperty } from '@tylertech/forge-core';\n\nimport {\n SelectOptionBuilder,\n SelectSelectedTextBuilder,\n ISelectOption,\n ISelectOptionGroup,\n SelectBeforeValueChangeCallback,\n BASE_SELECT_CONSTANTS\n} from './base-select-constants';\nimport { IBaseSelectFoundation } from './base-select-foundation';\nimport { IListDropdownAware, ListDropdownAware } from '../../list-dropdown/list-dropdown-aware';\nimport type { IPopoverComponent } from '../../popover/popover';\n\n\nexport interface IBaseSelectComponent extends IListDropdownAware {\n value: any;\n selectedIndex: number | number[];\n options: ISelectOption[] | ISelectOptionGroup[];\n multiple: boolean;\n open: boolean;\n optionBuilder: SelectOptionBuilder;\n selectedTextBuilder: SelectSelectedTextBuilder;\n popupElement: IPopoverComponent | undefined;\n beforeValueChange: SelectBeforeValueChangeCallback<any>;\n appendOptions(options: ISelectOption[] | ISelectOption[]): void;\n selectAll(): void;\n deselectAll(): void;\n}\n\nexport abstract class BaseSelectComponent<T extends IBaseSelectFoundation> extends ListDropdownAware implements IBaseSelectComponent {\n protected _foundation: T;\n\n constructor() {\n super();\n }\n\n /** Gets/sets the value. */\n @FoundationProperty()\n public declare value: any;\n \n /** Gets/sets the selected index. */\n @FoundationProperty()\n public declare selectedIndex: number | number[];\n \n /** Gets/sets the available options. */\n @FoundationProperty()\n public declare options: ISelectOption[] | ISelectOptionGroup[];\n\n /** Gets/sets the multiple select state. */\n @FoundationProperty()\n public declare multiple: boolean;\n \n /** Gets the open state of the dropdown. */\n @FoundationProperty()\n public declare open: boolean;\n \n /** Sets the option builder callback that will be executed when building the option list in the dropdown. */\n @FoundationProperty()\n public declare optionBuilder: SelectOptionBuilder;\n \n /** Sets the selected text builder callback that will be executed when getting the selected text to display in the field. */\n @FoundationProperty()\n public declare selectedTextBuilder: SelectSelectedTextBuilder;\n\n /** Sets the callback to be executed when the user selects a value. */\n @FoundationProperty()\n public declare beforeValueChange: SelectBeforeValueChangeCallback<any>;\n\n /**\n * Gets the popup element (when the dropdown is open).\n * @readonly\n */\n @FoundationProperty({ set: false })\n public declare popupElement: IPopoverComponent | undefined;\n \n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n super.attributeChangedCallback(name, oldValue, newValue);\n switch (name) {\n case BASE_SELECT_CONSTANTS.attributes.MULTIPLE:\n this.multiple = coerceBoolean(newValue);\n break;\n case BASE_SELECT_CONSTANTS.attributes.VALUE:\n this.value = newValue;\n break;\n }\n }\n\n public appendOptions(options: ISelectOption[] | ISelectOptionGroup[]): void {\n this._foundation.appendOptions(options);\n }\n\n public selectAll(): void {\n this._foundation.selectAll();\n }\n \n public deselectAll(): void {\n this._foundation.deselectAll();\n }\n\n public connectedCallback(): void {\n this._foundation.initialize();\n }\n\n public disconnectedCallback(): void {\n this._foundation.disconnect();\n }\n}\n", "import { isDefined, isFunction, removeElement } from '@tylertech/forge-core';\nimport { BaseAdapter, IBaseAdapter } from '../../core/base/base-adapter';\nimport { IBaseSelectComponent } from './base-select';\nimport { ListDropdown, IListDropdown } from '../../list-dropdown';\nimport { IListDropdownConfig, ListDropdownIconType } from '../../list-dropdown/list-dropdown-constants';\nimport { IOptionComponent, OPTION_CONSTANTS } from '../option';\nimport { IOptionGroupComponent, OPTION_GROUP_CONSTANTS } from '../option-group';\nimport { ISelectOption, ISelectOptionGroup, SelectOptionListenerDestructor } from './base-select-constants';\nimport { isOptionGroupObject } from './select-utils';\nimport { IPopoverComponent, POPOVER_CONSTANTS } from '../../popover';\n\nexport interface IBaseSelectAdapter extends IBaseAdapter {\n initializeAccessibility(): void;\n addClickListener(listener: (evt: Event) => void): void;\n removeClickListener(listener: (evt: Event) => void): void;\n addTargetListener(type: string, listener: (evt: Event) => void): void;\n removeTargetListener(type: string, listener: (evt: Event) => void): void;\n getOptions(): ISelectOption[] | ISelectOptionGroup[];\n setOptions(options: ISelectOption[] | ISelectOptionGroup[], clear?: boolean): void;\n open(config: IListDropdownConfig): void;\n close(): void;\n destroyListDropdown(): void;\n setDismissListener(listener: () => void): void;\n scrollSelectedOptionIntoView(): void;\n activateSelectedOption(): void;\n activateFirstOption(): void;\n getActiveOptionIndex(): number;\n highlightActiveOption(index: number): void;\n toggleOptionMultiple(index: number, isSelected: boolean): void;\n patchSelectedValues(selectedValues: string[]): void;\n updateActiveDescendant(id: string): void;\n setOptionsListener(listener: (options: ISelectOption[] | ISelectOptionGroup[]) => void): SelectOptionListenerDestructor;\n setDropdownOptions(options: ISelectOption[] | ISelectOptionGroup[]): void;\n appendDropdownOptions(options: ISelectOption[] | ISelectOptionGroup[]): void;\n setMultiple(multiple: boolean): void;\n isFocusWithinPopup(target: HTMLElement): boolean;\n queueDropdownPositionUpdate(): void;\n popupElement: HTMLElement | undefined;\n}\n\nexport abstract class BaseSelectAdapter<T extends IBaseSelectComponent> extends BaseAdapter<T> implements IBaseSelectAdapter {\n private _listDropdown?: IListDropdown;\n protected _targetElement: HTMLElement;\n\n constructor(component: T) {\n super(component);\n }\n\n public abstract initializeAccessibility(): void;\n public abstract updateActiveDescendant(id: string): void;\n public abstract addClickListener(listener: (evt: Event) => void): void;\n public abstract removeClickListener(listener: (evt: Event) => void): void;\n public abstract addTargetListener(type: string, listener: (evt: Event) => void): void;\n public abstract removeTargetListener(type: string, listener: (evt: Event) => void): void;\n public abstract setMultiple(multiple: boolean): void;\n\n public get popupElement(): HTMLElement | undefined {\n return this._listDropdown?.dropdownElement;\n }\n\n public getOptions(): ISelectOption[] | ISelectOptionGroup[] {\n const optionGroupElements = Array.from(this._component.querySelectorAll(OPTION_GROUP_CONSTANTS.elementName)) as IOptionGroupComponent[];\n if (optionGroupElements.length) {\n return optionGroupElements.map(optionGroupElement => {\n const optionElements = Array.from(optionGroupElement.querySelectorAll(OPTION_CONSTANTS.elementName)) as IOptionComponent[];\n const options = this._createOptionsFromElements(optionElements);\n return {\n text: optionGroupElement.label,\n builder: optionGroupElement.builder,\n value: optionGroupElement.value,\n options\n } as ISelectOptionGroup;\n });\n } else {\n const optionElements = Array.from(this._component.querySelectorAll(OPTION_CONSTANTS.elementName)) as IOptionComponent[];\n return this._createOptionsFromElements(optionElements);\n }\n }\n\n private _createOptionsFromElements(optionElements: IOptionComponent[]): ISelectOption[] {\n return optionElements.map(o => {\n let optionClass = o.hasAttribute(OPTION_CONSTANTS.attributes.OPTION_CLASS) ? o.getAttribute(OPTION_CONSTANTS.attributes.OPTION_CLASS) as string : o.optionClass;\n if (typeof optionClass === 'string') {\n optionClass = optionClass.split(' ');\n }\n\n return {\n // eslint-disable-next-line @typescript-eslint/no-extra-parens\n label: o.hasAttribute(OPTION_CONSTANTS.attributes.LABEL) ? o.getAttribute(OPTION_CONSTANTS.attributes.LABEL) as string : (isDefined(o.label) ? o.label : o.innerText),\n secondaryLabel: o.hasAttribute(OPTION_CONSTANTS.attributes.SECONDARY_LABEL) ? o.getAttribute(OPTION_CONSTANTS.attributes.SECONDARY_LABEL) as string : isDefined(o.secondaryLabel) ? o.secondaryLabel : undefined,\n value: o.hasAttribute(OPTION_CONSTANTS.attributes.VALUE) ? o.getAttribute(OPTION_CONSTANTS.attributes.VALUE) : o.value,\n disabled: o.hasAttribute(OPTION_CONSTANTS.attributes.DISABLED),\n divider: o.hasAttribute(OPTION_CONSTANTS.attributes.DIVIDER),\n optionClass,\n leadingIcon: o.hasAttribute(OPTION_CONSTANTS.attributes.LEADING_ICON) ? o.getAttribute(OPTION_CONSTANTS.attributes.LEADING_ICON) as string : o.leadingIcon,\n leadingIconClass: o.hasAttribute(OPTION_CONSTANTS.attributes.LEADING_ICON_CLASS) ? o.getAttribute(OPTION_CONSTANTS.attributes.LEADING_ICON_CLASS) as string : o.leadingIconClass,\n leadingIconType: o.hasAttribute(OPTION_CONSTANTS.attributes.LEADING_ICON_TYPE) ? o.getAttribute(OPTION_CONSTANTS.attributes.LEADING_ICON_TYPE) as ListDropdownIconType : o.leadingIconType,\n leadingIconComponentProps: o.leadingIconComponentProps,\n trailingIcon: o.hasAttribute(OPTION_CONSTANTS.attributes.TRAILING_ICON) ? o.getAttribute(OPTION_CONSTANTS.attributes.TRAILING_ICON) as string : o.trailingIcon,\n trailingIconClass: o.hasAttribute(OPTION_CONSTANTS.attributes.TRAILING_ICON_CLASS) ? o.getAttribute(OPTION_CONSTANTS.attributes.TRAILING_ICON_CLASS) as string : o.trailingIconClass,\n trailingIconType: o.hasAttribute(OPTION_CONSTANTS.attributes.TRAILING_ICON_TYPE) ? o.getAttribute(OPTION_CONSTANTS.attributes.TRAILING_ICON_TYPE) as ListDropdownIconType : o.trailingIconType,\n trailingIconComponentProps: o.trailingIconComponentProps,\n leadingBuilder: o.leadingBuilder,\n trailingBuilder: o.trailingBuilder\n };\n });\n }\n\n public open(config: IListDropdownConfig): void {\n this._listDropdown = new ListDropdown(this._targetElement, config);\n this._listDropdown.open();\n }\n\n public async close(): Promise<void> {\n if (this._listDropdown) {\n await this._listDropdown.close();\n this.destroyListDropdown();\n }\n }\n\n public destroyListDropdown(): void {\n this._listDropdown?.destroy();\n this._listDropdown = undefined;\n }\n\n public setDismissListener(listener: () => void): void {\n if (!this._listDropdown || !this._listDropdown.dropdownElement) {\n return;\n }\n this._listDropdown.dropdownElement.addEventListener(POPOVER_CONSTANTS.events.TOGGLE, listener);\n }\n\n public toggleOptionMultiple(index: number, isSelected: boolean): void {\n this._listDropdown?.toggleOptionMultiple(index, isSelected);\n }\n\n public getActiveOptionIndex(): number {\n return this._listDropdown?.getActiveOptionIndex() ?? -1;\n }\n\n public activateSelectedOption(): void {\n this._listDropdown?.activateSelectedOption();\n }\n\n public activateFirstOption(): void {\n this._listDropdown?.activateFirstOption();\n }\n\n public highlightActiveOption(index: number): void {\n this._listDropdown?.activateOption(index);\n }\n\n public patchSelectedValues(selectedValues: string[]): void {\n this._listDropdown?.setSelectedValues(selectedValues);\n }\n\n public setOptionsListener(listener: (options: ISelectOption[] | ISelectOptionGroup[]) => void): SelectOptionListenerDestructor {\n // Watch for option value property changes\n const optionValueChangeListener: EventListener = evt => {\n evt.stopPropagation();\n listener(this.getOptions());\n };\n this._component.addEventListener(OPTION_CONSTANTS.events.VALUE_CHANGE, optionValueChangeListener);\n\n // Watch for DOM changes\n const observer = new MutationObserver(() => listener(this.getOptions()));\n observer.observe(this._component, { childList: true, subtree: true });\n\n return () => {\n this._component.removeEventListener(OPTION_CONSTANTS.events.VALUE_CHANGE, optionValueChangeListener);\n observer.disconnect();\n };\n }\n\n public setOptions(options: ISelectOption[] | ISelectOptionGroup[], clear = true): void {\n if (clear) {\n this._clearOptions();\n }\n\n for (const opt of options) {\n if (isOptionGroupObject(opt)) {\n const optionGroupElement = this._createOptionGroupElement(opt);\n for (const option of opt.options) {\n const optionElement = this._createOptionElement(option);\n optionGroupElement.appendChild(optionElement);\n }\n this._component.appendChild(optionGroupElement);\n } else {\n const optionElement = this._createOptionElement(opt);\n this._component.appendChild(optionElement);\n }\n }\n }\n\n public appendDropdownOptions(options: ISelectOption[] | ISelectOptionGroup[]): void {\n this._listDropdown?.appendOptions(options);\n }\n\n public setDropdownOptions(options: ISelectOption[] | ISelectOptionGroup[]): void {\n this._listDropdown?.setOptions(options);\n }\n\n public scrollSelectedOptionIntoView(): void {\n this._listDropdown?.scrollSelectedOptionIntoView();\n }\n\n public isFocusWithinPopup(target: HTMLElement): boolean {\n if (!this._listDropdown || !this._listDropdown.dropdownElement) {\n return false;\n }\n return this._listDropdown.dropdownElement.contains(target);\n }\n\n public queueDropdownPositionUpdate(): void {\n if (!this.popupElement) {\n return;\n }\n // We need to wait for the next animation frame to ensure that the layout has been updated\n window.requestAnimationFrame(() => {\n const dropdownEl = this.popupElement as IPopoverComponent | undefined;\n dropdownEl?.position();\n });\n }\n\n private _clearOptions(): void {\n // First we remove all option group elements\n const existingOptionGroupElements = Array.from(this._component.querySelectorAll(OPTION_GROUP_CONSTANTS.elementName));\n existingOptionGroupElements.forEach((optGroup: IOptionGroupComponent) => removeElement(optGroup));\n\n // Then find all top-level option elements that aren't inside of a group, and ensure that those are removed as well\n const existingOptionElements = Array.from(this._component.querySelectorAll(OPTION_CONSTANTS.elementName));\n existingOptionElements.forEach((o: HTMLElement) => removeElement(o));\n }\n\n private _createOptionGroupElement(group: ISelectOptionGroup): HTMLElement {\n const optionGroupElement = document.createElement('forge-option-group');\n Object.assign(optionGroupElement, group);\n return optionGroupElement;\n }\n\n private _createOptionElement(option: ISelectOption): HTMLElement {\n const optionElement = document.createElement('forge-option');\n Object.assign(optionElement, option);\n optionElement.textContent = option.label;\n return optionElement;\n }\n}\n"],
5
- "mappings": "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",
6
- "names": ["observedAttributes", "attributes", "__spreadValues", "events", "BASE_SELECT_CONSTANTS", "SelectOptionType", "isSelectOptionType", "options", "type", "isOptionGroups", "o", "isOptionGroupObject", "isOptionTypes", "isOptionObject", "isDefined", "isObject", "BaseSelectFoundation", "ListDropdownAwareFoundation", "_adapter", "evt", "options", "id", "randomChars", "o", "isSelectOptionType", "g", "isDefined", "config", "value", "flatOptions", "option", "index", "optionIndex", "closeDropdown", "resolve", "label", "prevValues", "prevSelectedValues", "prevSelectedLabels", "prevSelectedIndexes", "rollbackValue", "applyValue", "isSelected", "data", "shouldContinue", "cancelled", "BASE_SELECT_CONSTANTS", "activeOptionIndex", "val", "isDeepEqual", "selectedOptions", "v", "isEscapeKey", "isEnter", "isSpace", "isArrowDown", "isArrowUp", "isFilterableCharacter", "isHomeKey", "isEndKey", "i", "startIndex", "key", "matchedOption", "disabled", "_value", "indexes", "indicies", "__spreadValues", "fn", "BaseSelectComponent", "ListDropdownAware", "name", "oldValue", "newValue", "BASE_SELECT_CONSTANTS", "coerceBoolean", "options", "__decorateClass", "FoundationProperty", "BaseSelectAdapter", "BaseAdapter", "component", "_a", "optionGroupElements", "OPTION_GROUP_CONSTANTS", "optionGroupElement", "optionElements", "OPTION_CONSTANTS", "options", "o", "optionClass", "isDefined", "config", "ListDropdown", "listener", "POPOVER_CONSTANTS", "index", "isSelected", "_b", "selectedValues", "optionValueChangeListener", "evt", "observer", "clear", "opt", "isOptionGroupObject", "option", "optionElement", "target", "dropdownEl", "optGroup", "removeElement", "group"]
7
- }
@@ -1,12 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2023 Tyler Technologies, Inc.
4
- * License: Apache-2.0
5
- */
6
- import{d as H}from"./chunk.MTIPIEXA.js";import{i as _}from"./chunk.OJ7JO4O6.js";import{d as i}from"./chunk.K6GJNDTY.js";import{d as k}from"./chunk.I7YON2TC.js";import{d}from"./chunk.MX4JX4GT.js";import{b as c}from"./chunk.DKERDHXH.js";import{d as g}from"./chunk.ZG6YF2HI.js";import{e as f}from"./chunk.QKTK5XUE.js";import{b as l}from"./chunk.CEGBMUSR.js";import{d as p}from"./chunk.RXBLU4OJ.js";import{b as J}from"./chunk.NEQX2QVX.js";import{d as q}from"./chunk.UKBE2FMZ.js";import{d as j}from"./chunk.YRAEFQJW.js";import{d as K}from"./chunk.X77NKT6Z.js";import{b as Mo}from"./chunk.7IPAW4D2.js";import{e as Y}from"./chunk.32APLNN2.js";import{d as X}from"./chunk.LY2Z2Z7S.js";import{E as z}from"./chunk.UPSXYWPD.js";import{f as W}from"./chunk.A7BCLPP4.js";import{d as N}from"./chunk.XZ23XHFE.js";import{a as G}from"./chunk.WMJSYYXQ.js";import{e as V}from"./chunk.NWVQ5HK2.js";import{d as mo}from"./chunk.5UOX22ML.js";import{d as to}from"./chunk.YPNSK2CK.js";import{d as oo}from"./chunk.KLU54MDQ.js";import{b as ro}from"./chunk.6VS3LYAF.js";import{b as $}from"./chunk.CGFSMACZ.js";import{b as w}from"./chunk.QUXMLWBJ.js";import{b as no}from"./chunk.QLGJS37N.js";import{j as eo}from"./chunk.IL4S57WO.js";import{b as po}from"./chunk.KEOLH7G3.js";import{d as h}from"./chunk.7Y3BUR7Q.js";import{d as D}from"./chunk.QVATEY5S.js";import{d as lo}from"./chunk.KCCW4AMU.js";import{b as fo}from"./chunk.CE35CVDV.js";import{d as P}from"./chunk.YNCTSMT6.js";import{c as So}from"./chunk.TSSZQPLE.js";import{b as Bo}from"./chunk.OVXEOEJF.js";import{d as co}from"./chunk.2W23MOPP.js";import{d as ao}from"./chunk.OOAJHLW4.js";import{b as Co}from"./chunk.ENUKGA2U.js";import{d as io}from"./chunk.AOVXNX7P.js";import{d as Q}from"./chunk.U6J4VHU6.js";import{b as xo}from"./chunk.EO3GP6DP.js";import{d as uo}from"./chunk.OREDK5MJ.js";import{c as Do}from"./chunk.3KAKJGUS.js";import{f as Ao}from"./chunk.TQWZDM6T.js";import{h as go}from"./chunk.HD2SLIL2.js";import{d as Po}from"./chunk.3PMONORO.js";import{d as To}from"./chunk.BQZKOIAW.js";import{d as m}from"./chunk.IQYOLMPG.js";import{d as t}from"./chunk.RSYEG2RW.js";import{e as so}from"./chunk.AG6IRMLZ.js";import{f as wo}from"./chunk.QTY25OTN.js";import{b as ko}from"./chunk.OEI35LFU.js";import{b as E}from"./chunk.SROEDYPL.js";import{d as ho}from"./chunk.VGIRVTBJ.js";import{q as Eo}from"./chunk.VL5RWSAV.js";import{c as B}from"./chunk.2GUWHBUU.js";import{f as u}from"./chunk.O5WAQQNR.js";import{b as s}from"./chunk.GG7IQL46.js";import{c as S}from"./chunk.USTVZ6MZ.js";import{b as T}from"./chunk.5MB6CTBA.js";import{c as R}from"./chunk.OQHDHS2C.js";import{d as y}from"./chunk.MFS7AVW6.js";import{e as I,j as O}from"./chunk.CLYGTLXN.js";import{e as F}from"./chunk.7RLY2O3H.js";import{d as b}from"./chunk.CFAI4K3E.js";import{d as M}from"./chunk.BHE6Z5Y2.js";import{d as L}from"./chunk.GRYO5XP2.js";import{d as v}from"./chunk.V6KUOCAR.js";import{c as a}from"./chunk.GBAVJILM.js";import{g as Z}from"./chunk.FLBYVCQ6.js";import{b as U}from"./chunk.PC6TW5XE.js";import{d as A}from"./chunk.QIZBZGYT.js";import{d as C}from"./chunk.GIENHEMN.js";import{l as r}from"./chunk.T7NWP7DB.js";import{d as n}from"./chunk.FLF5RTYO.js";import{p as e}from"./chunk.ASLHRT3N.js";import{h as x}from"./chunk.H4VQXV2H.js";import{b as o}from"./chunk.LNTTU2GL.js";var bo=[p,f,g,c,d,k,i,_,D,U,l,H,K,j,q,A,M,b,z,J,L,V,N,G,Q,W,X,Y,Z,w,$,m,y,to,mo,n,C,r,po,eo,O,no,s,B,u,P,ro,oo,t,io,Co,x,fo,lo,S,h,uo,F,I,xo,co,ao,T,Bo,So,so,e,To,Po,v,Do,Ao,go,R,Eo,ho,E,a,ko,wo];function Kr(){o(bo)}var Lo=[Mo];function Qr(){o(Lo)}export{Kr as a,Qr as b};
7
- /**
8
- * @license
9
- * Copyright (c) Tyler Technologies, Inc.
10
- * License: Apache-2.0
11
- */
12
- //# sourceMappingURL=chunk.AIJK3CTV.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/index.ts"],
4
- "sourcesContent": ["/// <reference types=\"./typings\" />\n\n/**\n * @license\n * Copyright (c) Tyler Technologies, Inc.\n * License: Apache-2.0\n */\n\nimport { defineCustomElements } from '@tylertech/forge-core';\nimport { AccordionComponent } from './accordion';\nimport {\n AppBarComponent,\n AppBarHelpButtonComponent,\n AppBarMenuButtonComponent,\n AppBarNotificationButtonComponent,\n AppBarProfileButtonComponent,\n AppBarSearchComponent,\n ProfileCardComponent\n} from './app-bar';\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 { ButtonAreaComponent } from './button-area';\nimport { ButtonToggleComponent, ButtonToggleGroupComponent } from './button-toggle';\nimport { CalendarComponent } from './calendar';\nimport { CardComponent } from './card';\nimport { CheckboxComponent } from './checkbox';\nimport { ChipFieldComponent } from './chip-field';\nimport { ChipComponent, ChipSetComponent } from './chips';\nimport { CircularProgressComponent } from './circular-progress';\nimport { ColorPickerComponent } from './color-picker';\nimport { DatePickerComponent } from './date-picker';\nimport { DateRangePickerComponent } from './date-range-picker';\nimport { DialogComponent } from './dialog';\nimport { DividerComponent } from './divider';\nimport { DrawerComponent, MiniDrawerComponent, ModalDrawerComponent } from './drawer';\nimport { ExpansionPanelComponent } from './expansion-panel';\nimport { FieldComponent } from './field';\nimport { FilePickerComponent } from './file-picker';\nimport { FloatingActionButtonComponent } from './floating-action-button';\nimport { FocusIndicatorComponent } from './focus-indicator';\nimport { IconComponent } from './icon';\nimport { IconButtonComponent } from './icon-button';\nimport { InlineMessageComponent } from './inline-message';\nimport { KeyboardShortcutComponent } from './keyboard-shortcut';\nimport { LabelComponent } from './label';\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 { OpenIconComponent } from './open-icon';\nimport { OverlayComponent } from './overlay';\nimport { PageStateComponent } from './page-state';\nimport { PaginatorComponent } from './paginator';\nimport { PopoverComponent } from './popover';\nimport { QuantityFieldComponent } from './quantity-field';\nimport { RadioComponent, RadioGroupComponent } from './radio';\nimport { ScaffoldComponent } from './scaffold';\nimport { OptionComponent, OptionGroupComponent, SelectComponent } from './select';\nimport { SelectDropdownComponent } from './select/select-dropdown';\nimport { SkeletonComponent } from './skeleton';\nimport { SliderComponent } from './slider';\nimport { SplitViewComponent } from './split-view';\nimport { StackComponent } from './stack';\nimport { StateLayerComponent } from './state-layer';\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';\n\n/**\n * Deprecated imports\n */\nimport { DeprecatedButtonComponent } from './deprecated/button';\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-area';\nexport * from './button-toggle';\nexport * from './calendar';\nexport * from './card';\nexport * from './checkbox';\nexport * from './chip-field';\nexport * from './chips';\nexport * from './circular-progress';\nexport * from './color-picker';\nexport * from './constants';\nexport * from './core';\nexport * from './date-picker';\nexport * from './date-range-picker';\nexport * from './dialog';\nexport * from './divider';\nexport * from './drawer';\nexport * from './expansion-panel';\nexport * from './field';\nexport * from './file-picker';\nexport * from './floating-action-button';\nexport * from './focus-indicator';\nexport * from './icon';\nexport * from './icon-button';\nexport * from './inline-message';\nexport * from './keyboard-shortcut';\nexport * from './label';\nexport * from './label-value';\nexport * from './linear-progress';\nexport * from './list';\nexport * from './menu';\nexport * from './open-icon';\nexport * from './overlay';\nexport * from './page-state';\nexport * from './paginator';\nexport * from './popover';\nexport * from './quantity-field';\nexport * from './radio';\nexport * from './scaffold';\nexport * from './select';\nexport * from './skeleton';\nexport * from './slider';\nexport * from './split-button';\nexport * from './split-view';\nexport * from './stack';\nexport * from './state-layer';\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';\n\n/**\n * Deprecated exports\n */\nexport * from './deprecated/button';\n\nconst CUSTOM_ELEMENTS = [\n AccordionComponent,\n AppBarComponent,\n AppBarHelpButtonComponent,\n AppBarMenuButtonComponent,\n AppBarNotificationButtonComponent,\n AppBarProfileButtonComponent,\n AppBarSearchComponent,\n AutocompleteComponent,\n AvatarComponent,\n BackdropComponent,\n BadgeComponent,\n BannerComponent,\n BottomSheetComponent,\n BusyIndicatorComponent,\n ButtonAreaComponent,\n ButtonComponent,\n ButtonToggleComponent,\n ButtonToggleGroupComponent,\n CalendarComponent,\n CardComponent,\n CheckboxComponent,\n ChipComponent,\n ChipFieldComponent,\n ChipSetComponent,\n CircularProgressComponent,\n ColorPickerComponent,\n DatePickerComponent,\n DateRangePickerComponent,\n DialogComponent,\n DividerComponent,\n DrawerComponent,\n ExpansionPanelComponent,\n FieldComponent,\n FilePickerComponent,\n FloatingActionButtonComponent,\n FocusIndicatorComponent,\n IconButtonComponent,\n IconComponent,\n InlineMessageComponent,\n KeyboardShortcutComponent,\n LabelComponent,\n LabelValueComponent,\n LinearProgressComponent,\n ListComponent,\n ListItemComponent,\n MenuComponent,\n MiniDrawerComponent,\n ModalDrawerComponent,\n OpenIconComponent,\n OptionComponent,\n OptionGroupComponent,\n OverlayComponent,\n PageStateComponent,\n PaginatorComponent,\n PopoverComponent,\n ProfileCardComponent,\n QuantityFieldComponent,\n RadioComponent,\n RadioGroupComponent,\n ScaffoldComponent,\n SelectComponent,\n SelectDropdownComponent,\n SkeletonComponent,\n SliderComponent,\n SplitViewComponent,\n StackComponent,\n StateLayerComponent,\n StepComponent,\n StepperComponent,\n SwitchComponent,\n TabBarComponent,\n TabComponent,\n TableComponent,\n TextFieldComponent,\n TimePickerComponent,\n ToastComponent,\n ToolbarComponent,\n TooltipComponent,\n ViewComponent,\n ViewSwitcherComponent\n];\n\n/**\n * Registers all components in the library with the browser.\n */\nexport function defineComponents(): void {\n defineCustomElements(CUSTOM_ELEMENTS);\n}\n\n/**\n * Deprecated component registration\n */\n\nconst DEPRECATED_CUSTOM_ELEMENTS = [\n DeprecatedButtonComponent\n];\n\nexport function defineDeprecatedComponents(): void {\n defineCustomElements(DEPRECATED_CUSTOM_ELEMENTS);\n}\n"],
5
- "mappings": "ssGAgKA,IAAMA,GAAkB,CACtBC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,GACAC,GACAC,EACAC,EACAC,EACAC,GACAC,GACAC,EACAC,GACAC,EACAC,EACAC,EACAC,EACAC,GACAC,GACAC,EACAC,GACAC,GACAC,EACAC,GACAC,GACAC,EACAC,EACAC,GACAC,EACAC,EACAC,GACAC,GACAC,GACAC,EACAC,GACAC,GACAC,GACAC,EACAC,GACAC,GACAC,EACAC,GACAC,GACAC,GACAC,EACAC,GACAC,GACAC,EACAC,EACAC,GACAC,EACF,EAKO,SAASC,IAAyB,CACvCC,EAAqBlF,EAAe,CACtC,CAMA,IAAMmF,GAA6B,CACjCC,EACF,EAEO,SAASC,IAAmC,CACjDH,EAAqBC,EAA0B,CACjD",
6
- "names": ["CUSTOM_ELEMENTS", "AccordionComponent", "AppBarComponent", "AppBarHelpButtonComponent", "AppBarMenuButtonComponent", "AppBarNotificationButtonComponent", "AppBarProfileButtonComponent", "AppBarSearchComponent", "AutocompleteComponent", "AvatarComponent", "BackdropComponent", "BadgeComponent", "BannerComponent", "BottomSheetComponent", "BusyIndicatorComponent", "ButtonAreaComponent", "ButtonComponent", "ButtonToggleComponent", "ButtonToggleGroupComponent", "CalendarComponent", "CardComponent", "CheckboxComponent", "ChipComponent", "ChipFieldComponent", "ChipSetComponent", "CircularProgressComponent", "ColorPickerComponent", "DatePickerComponent", "DateRangePickerComponent", "DialogComponent", "DividerComponent", "DrawerComponent", "ExpansionPanelComponent", "FieldComponent", "FilePickerComponent", "FloatingActionButtonComponent", "FocusIndicatorComponent", "IconButtonComponent", "IconComponent", "InlineMessageComponent", "KeyboardShortcutComponent", "LabelComponent", "LabelValueComponent", "LinearProgressComponent", "ListComponent", "ListItemComponent", "MenuComponent", "MiniDrawerComponent", "ModalDrawerComponent", "OpenIconComponent", "OptionComponent", "OptionGroupComponent", "OverlayComponent", "PageStateComponent", "PaginatorComponent", "PopoverComponent", "ProfileCardComponent", "QuantityFieldComponent", "RadioComponent", "RadioGroupComponent", "ScaffoldComponent", "SelectComponent", "SelectDropdownComponent", "SkeletonComponent", "SliderComponent", "SplitViewComponent", "StackComponent", "StateLayerComponent", "StepComponent", "StepperComponent", "SwitchComponent", "TabBarComponent", "TabComponent", "TableComponent", "TextFieldComponent", "TimePickerComponent", "ToastComponent", "ToolbarComponent", "TooltipComponent", "ViewComponent", "ViewSwitcherComponent", "defineComponents", "defineCustomElements", "DEPRECATED_CUSTOM_ELEMENTS", "DeprecatedButtonComponent", "defineDeprecatedComponents"]
7
- }