@tylertech/forge 3.0.0-next.19 → 3.0.0-next.20

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 (705) hide show
  1. package/custom-elements.json +33314 -31340
  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/busy-indicator/index.js +1 -1
  17. package/dist/esm/button/index.js +1 -1
  18. package/dist/esm/button-area/index.js +1 -1
  19. package/dist/esm/button-toggle/button-toggle/index.js +1 -1
  20. package/dist/esm/button-toggle/button-toggle-group/index.js +1 -1
  21. package/dist/esm/button-toggle/index.js +1 -1
  22. package/dist/esm/calendar/calendar-dropdown/index.js +1 -1
  23. package/dist/esm/calendar/calendar-menu/index.js +1 -1
  24. package/dist/esm/calendar/index.js +1 -1
  25. package/dist/esm/card/index.js +1 -1
  26. package/dist/esm/checkbox/index.js +1 -1
  27. package/dist/esm/chip-field/index.js +1 -1
  28. package/dist/esm/chips/chip/index.js +1 -1
  29. package/dist/esm/chips/chip-set/index.js +1 -1
  30. package/dist/esm/chips/index.js +1 -1
  31. package/dist/esm/chunks/{chunk.WJ26N3FC.js → chunk.22C7GQLX.js} +2 -2
  32. package/dist/esm/chunks/{chunk.CPD4RUF2.js → chunk.24MZM3AY.js} +2 -2
  33. package/dist/esm/chunks/{chunk.O6WN2UP6.js → chunk.2537XOFQ.js} +2 -2
  34. package/dist/esm/chunks/{chunk.KZMXTOLO.js → chunk.2AM2BKEO.js} +2 -2
  35. package/dist/esm/chunks/chunk.2N5KNNQX.js +7 -0
  36. package/dist/esm/chunks/chunk.2N5KNNQX.js.map +7 -0
  37. package/dist/esm/chunks/chunk.2W276VOR.js +7 -0
  38. package/dist/esm/chunks/chunk.2W276VOR.js.map +7 -0
  39. package/dist/esm/chunks/{chunk.KD4DVSJR.js → chunk.2WRAXA3H.js} +2 -2
  40. package/dist/esm/chunks/{chunk.ZYYPOLIG.js → chunk.2XPAYTK4.js} +2 -2
  41. package/dist/esm/chunks/chunk.35MHQH7Z.js +7 -0
  42. package/dist/esm/chunks/chunk.35MHQH7Z.js.map +7 -0
  43. package/dist/esm/chunks/chunk.3L77JY5H.js +7 -0
  44. package/dist/esm/chunks/chunk.3TIBP6QT.js +7 -0
  45. package/dist/esm/chunks/chunk.3TIBP6QT.js.map +7 -0
  46. package/dist/esm/chunks/{chunk.W2W3NTFC.js → chunk.3U222LE4.js} +2 -2
  47. package/dist/esm/chunks/{chunk.W2W3NTFC.js.map → chunk.3U222LE4.js.map} +2 -2
  48. package/dist/esm/chunks/{chunk.JPOTN7LL.js → chunk.45PPQY45.js} +2 -2
  49. package/dist/esm/chunks/{chunk.JPOTN7LL.js.map → chunk.45PPQY45.js.map} +1 -1
  50. package/dist/esm/chunks/{chunk.MBXBM6UI.js → chunk.47U6GVGZ.js} +2 -2
  51. package/dist/esm/chunks/chunk.4AEQ7KVU.js +7 -0
  52. package/dist/esm/chunks/chunk.4AEQ7KVU.js.map +7 -0
  53. package/dist/esm/chunks/{chunk.KWP42KR7.js → chunk.4NABD6XG.js} +2 -2
  54. package/dist/esm/chunks/{chunk.KWP42KR7.js.map → chunk.4NABD6XG.js.map} +2 -2
  55. package/dist/esm/chunks/{chunk.WKLDPPHS.js → chunk.4UU6PWR2.js} +2 -2
  56. package/dist/esm/chunks/{chunk.WKLDPPHS.js.map → chunk.4UU6PWR2.js.map} +1 -1
  57. package/dist/esm/chunks/{chunk.UYAP5GFT.js → chunk.5A34DJLZ.js} +2 -2
  58. package/dist/esm/chunks/{chunk.GAHE4QVB.js → chunk.5S7XNYRQ.js} +2 -2
  59. package/dist/esm/chunks/chunk.66YURKP2.js +7 -0
  60. package/dist/esm/chunks/chunk.66YURKP2.js.map +7 -0
  61. package/dist/esm/chunks/chunk.6GSVB5NB.js +7 -0
  62. package/dist/esm/chunks/chunk.6GSVB5NB.js.map +7 -0
  63. package/dist/esm/chunks/{chunk.DOAQODLZ.js → chunk.6XLTVIUD.js} +2 -2
  64. package/dist/esm/chunks/{chunk.4YKLCBP2.js → chunk.7IJUN75W.js} +2 -2
  65. package/dist/esm/chunks/chunk.7UBIT4NP.js +7 -0
  66. package/dist/esm/chunks/chunk.7UBIT4NP.js.map +7 -0
  67. package/dist/esm/chunks/{chunk.66RZ2CUB.js → chunk.A4UH52SA.js} +2 -2
  68. package/dist/esm/chunks/chunk.AFJ7QEVI.js +7 -0
  69. package/dist/esm/chunks/chunk.AFJ7QEVI.js.map +7 -0
  70. package/dist/esm/chunks/{chunk.KIQZLNDG.js → chunk.AN2E2SSN.js} +2 -2
  71. package/dist/esm/chunks/{chunk.XH63INIK.js → chunk.AOSBUJWW.js} +2 -2
  72. package/dist/esm/chunks/chunk.BETICEYY.js +7 -0
  73. package/dist/esm/chunks/chunk.BETICEYY.js.map +7 -0
  74. package/dist/esm/chunks/chunk.BEUQVZKZ.js +7 -0
  75. package/dist/esm/chunks/chunk.BEUQVZKZ.js.map +7 -0
  76. package/dist/esm/chunks/chunk.BIQTNLIF.js +7 -0
  77. package/dist/esm/chunks/chunk.BIQTNLIF.js.map +7 -0
  78. package/dist/esm/chunks/{chunk.CLODJYSW.js → chunk.BSV27GU7.js} +2 -2
  79. package/dist/esm/chunks/{chunk.FOQH2SSU.js → chunk.CBLUXYH2.js} +2 -2
  80. package/dist/esm/chunks/{chunk.L7BSLZCB.js → chunk.CIUPY66Y.js} +2 -2
  81. package/dist/esm/chunks/chunk.CSCZRSDT.js +7 -0
  82. package/dist/esm/chunks/chunk.CSCZRSDT.js.map +7 -0
  83. package/dist/esm/chunks/{chunk.OUIWXKO2.js → chunk.CSOKFDFQ.js} +2 -2
  84. package/dist/esm/chunks/{chunk.4HZ6SNRV.js → chunk.CWBDPBYO.js} +2 -2
  85. package/dist/esm/chunks/{chunk.4HZ6SNRV.js.map → chunk.CWBDPBYO.js.map} +2 -2
  86. package/dist/esm/chunks/{chunk.E2FS4PJS.js → chunk.D7RH43XD.js} +2 -2
  87. package/dist/esm/chunks/{chunk.E2FS4PJS.js.map → chunk.D7RH43XD.js.map} +2 -2
  88. package/dist/esm/chunks/{chunk.HZUQXCOQ.js → chunk.DCCFF327.js} +2 -2
  89. package/dist/esm/chunks/{chunk.HZUQXCOQ.js.map → chunk.DCCFF327.js.map} +2 -2
  90. package/dist/esm/chunks/{chunk.YLJTJKN4.js → chunk.EO3HELQ2.js} +2 -2
  91. package/dist/esm/chunks/{chunk.YGXXWF52.js → chunk.FB4MXEIW.js} +2 -2
  92. package/dist/esm/chunks/{chunk.YGXXWF52.js.map → chunk.FB4MXEIW.js.map} +2 -2
  93. package/dist/esm/chunks/{chunk.RKG66YKS.js → chunk.FBDRM4YN.js} +2 -2
  94. package/dist/esm/chunks/{chunk.GAQ3POUT.js → chunk.FOSKVNVV.js} +2 -2
  95. package/dist/esm/chunks/{chunk.Z7JF5PPO.js → chunk.FRTSXX33.js} +2 -2
  96. package/dist/esm/chunks/{chunk.253H47GA.js → chunk.G2HRYIIZ.js} +2 -2
  97. package/dist/esm/chunks/chunk.G3GTO5ZC.js +7 -0
  98. package/dist/esm/chunks/chunk.G3GTO5ZC.js.map +7 -0
  99. package/dist/esm/chunks/{chunk.D7L2IMHJ.js → chunk.GA6AO6FJ.js} +2 -2
  100. package/dist/esm/chunks/{chunk.YOKBWEXF.js → chunk.GBGGUYTE.js} +2 -2
  101. package/dist/esm/chunks/{chunk.CISGGM56.js → chunk.GTKYO6VB.js} +2 -2
  102. package/dist/esm/chunks/{chunk.STIZCKQA.js → chunk.HBAC6E7O.js} +2 -2
  103. package/dist/esm/chunks/{chunk.WM6ZUVDR.js → chunk.IM36A2ZI.js} +2 -2
  104. package/dist/esm/chunks/{chunk.YHIHHGMQ.js → chunk.IWVAI6XM.js} +2 -2
  105. package/dist/esm/chunks/chunk.IZ63EJ32.js +7 -0
  106. package/dist/esm/chunks/{chunk.VN7JOJVU.js.map → chunk.IZ63EJ32.js.map} +1 -1
  107. package/dist/esm/chunks/{chunk.J5MWS2KZ.js → chunk.IZRURH7C.js} +2 -2
  108. package/dist/esm/chunks/chunk.JCEKCW4B.js +7 -0
  109. package/dist/esm/chunks/chunk.JCEKCW4B.js.map +7 -0
  110. package/dist/esm/chunks/{chunk.E7TIN4JS.js → chunk.JLSFTWPE.js} +2 -2
  111. package/dist/esm/chunks/{chunk.HP4333ZN.js → chunk.JSTCCUKZ.js} +2 -2
  112. package/dist/esm/chunks/chunk.JVWJHSPM.js +7 -0
  113. package/dist/esm/chunks/{chunk.JUXSSZ3B.js.map → chunk.JVWJHSPM.js.map} +1 -1
  114. package/dist/esm/chunks/chunk.KDUH2DUE.js +7 -0
  115. package/dist/esm/chunks/{chunk.54DNA2QP.js → chunk.KEFJZO5K.js} +2 -2
  116. package/dist/esm/chunks/{chunk.54DNA2QP.js.map → chunk.KEFJZO5K.js.map} +1 -1
  117. package/dist/esm/chunks/chunk.KRKKMTXR.js +7 -0
  118. package/dist/esm/chunks/chunk.KRKKMTXR.js.map +7 -0
  119. package/dist/esm/chunks/chunk.LGEZI5SZ.js +7 -0
  120. package/dist/esm/chunks/chunk.LGEZI5SZ.js.map +7 -0
  121. package/dist/esm/chunks/{chunk.M7RYU4HQ.js → chunk.LKA5HQQY.js} +2 -2
  122. package/dist/esm/chunks/{chunk.IC4DLKE3.js → chunk.MC3UAHWS.js} +2 -2
  123. package/dist/esm/chunks/chunk.MCR34SZQ.js +7 -0
  124. package/dist/esm/chunks/{chunk.5NHGVUVR.js.map → chunk.MCR34SZQ.js.map} +1 -1
  125. package/dist/esm/chunks/{chunk.B2RYZJGJ.js → chunk.MDDX4MJU.js} +2 -2
  126. package/dist/esm/chunks/{chunk.B2RYZJGJ.js.map → chunk.MDDX4MJU.js.map} +3 -3
  127. package/dist/esm/chunks/chunk.MPUP6QAP.js +7 -0
  128. package/dist/esm/chunks/chunk.MZRAL4MY.js +7 -0
  129. package/dist/esm/chunks/chunk.MZRAL4MY.js.map +7 -0
  130. package/dist/esm/chunks/{chunk.KPNGLSCU.js → chunk.N632SJ7X.js} +2 -2
  131. package/dist/esm/chunks/{chunk.WJLHVUHN.js → chunk.O56VP4OZ.js} +2 -2
  132. package/dist/esm/chunks/{chunk.ULZJYWM2.js → chunk.OFXSMOV6.js} +2 -2
  133. package/dist/esm/chunks/chunk.OT4AIOMN.js +7 -0
  134. package/dist/esm/chunks/chunk.OT4AIOMN.js.map +7 -0
  135. package/dist/esm/chunks/{chunk.SWDOKJUF.js → chunk.OY3TG55O.js} +2 -2
  136. package/dist/esm/chunks/chunk.PDDBNHVU.js +7 -0
  137. package/dist/esm/chunks/chunk.PDDBNHVU.js.map +7 -0
  138. package/dist/esm/chunks/{chunk.IO3A5OM6.js → chunk.PXRGQHWR.js} +2 -2
  139. package/dist/esm/chunks/chunk.QCRO5NSG.js +7 -0
  140. package/dist/esm/chunks/chunk.QCRO5NSG.js.map +7 -0
  141. package/dist/esm/chunks/chunk.QKYCMDLB.js +7 -0
  142. package/dist/esm/chunks/{chunk.WINWKU4K.js → chunk.QUWEAFGI.js} +2 -2
  143. package/dist/esm/chunks/{chunk.LNMQ5A25.js → chunk.R3AWIPPK.js} +2 -2
  144. package/dist/esm/chunks/{chunk.KYACLC66.js → chunk.R66CYS27.js} +2 -2
  145. package/dist/esm/chunks/chunk.R6VPRRTT.js +7 -0
  146. package/dist/esm/chunks/{chunk.4EBFMRTJ.js.map → chunk.R6VPRRTT.js.map} +1 -1
  147. package/dist/esm/chunks/{chunk.V7HN24VV.js → chunk.RFCIELJM.js} +2 -2
  148. package/dist/esm/chunks/chunk.RLQB7224.js +7 -0
  149. package/dist/esm/chunks/{chunk.EWT2PBEP.js.map → chunk.RLQB7224.js.map} +2 -2
  150. package/dist/esm/chunks/chunk.ROMRJIFR.js +7 -0
  151. package/dist/esm/chunks/chunk.ROMRJIFR.js.map +7 -0
  152. package/dist/esm/chunks/chunk.SB2LOK2R.js +7 -0
  153. package/dist/esm/chunks/{chunk.4SP42UG3.js.map → chunk.SB2LOK2R.js.map} +3 -3
  154. package/dist/esm/chunks/chunk.SHBDQPPH.js +7 -0
  155. package/dist/esm/chunks/chunk.SHBDQPPH.js.map +7 -0
  156. package/dist/esm/chunks/{chunk.LFLIYBAB.js → chunk.SIGRWU4V.js} +2 -2
  157. package/dist/esm/chunks/{chunk.LFLIYBAB.js.map → chunk.SIGRWU4V.js.map} +2 -2
  158. package/dist/esm/chunks/chunk.SKBOB2BD.js +7 -0
  159. package/dist/esm/chunks/chunk.SKBOB2BD.js.map +7 -0
  160. package/dist/esm/chunks/chunk.SOKORSUV.js +7 -0
  161. package/dist/esm/chunks/{chunk.GDKJ4RZX.js → chunk.STSAE2XP.js} +2 -2
  162. package/dist/esm/chunks/{chunk.CJUX3PL5.js → chunk.SWKKDBO6.js} +2 -2
  163. package/dist/esm/chunks/chunk.SYKZ74SL.js +7 -0
  164. package/dist/esm/chunks/chunk.SYKZ74SL.js.map +7 -0
  165. package/dist/esm/chunks/chunk.TPNZYEC7.js +12 -0
  166. package/dist/esm/chunks/chunk.TPNZYEC7.js.map +7 -0
  167. package/dist/esm/chunks/{chunk.QQUSMJIM.js → chunk.UEYPCCFG.js} +2 -2
  168. package/dist/esm/chunks/chunk.UKVC23E5.js +7 -0
  169. package/dist/esm/chunks/chunk.UKVC23E5.js.map +7 -0
  170. package/dist/esm/chunks/chunk.UOD3A7M4.js +7 -0
  171. package/dist/esm/chunks/{chunk.OXGCNOUY.js.map → chunk.UOD3A7M4.js.map} +1 -1
  172. package/dist/esm/chunks/{chunk.UVXKHQQZ.js → chunk.UQQQSJVM.js} +2 -2
  173. package/dist/esm/chunks/{chunk.UVXKHQQZ.js.map → chunk.UQQQSJVM.js.map} +2 -2
  174. package/dist/esm/chunks/chunk.USO2XVOI.js +7 -0
  175. package/dist/esm/chunks/{chunk.Y7ZZ7HDC.js.map → chunk.USO2XVOI.js.map} +1 -1
  176. package/dist/esm/chunks/chunk.USQEIRST.js +7 -0
  177. package/dist/esm/chunks/chunk.USQEIRST.js.map +7 -0
  178. package/dist/esm/chunks/chunk.V3X77TCO.js +7 -0
  179. package/dist/esm/chunks/chunk.V3X77TCO.js.map +7 -0
  180. package/dist/esm/chunks/{chunk.F3FWXBDS.js → chunk.VBJ4WUVH.js} +2 -2
  181. package/dist/esm/chunks/chunk.VOTT5COZ.js +7 -0
  182. package/dist/esm/chunks/chunk.VOTT5COZ.js.map +7 -0
  183. package/dist/esm/chunks/{chunk.AQOLBID6.js → chunk.VZ2XONDI.js} +2 -2
  184. package/dist/esm/chunks/{chunk.AQOLBID6.js.map → chunk.VZ2XONDI.js.map} +2 -2
  185. package/dist/esm/chunks/chunk.WAMFFIMP.js +7 -0
  186. package/dist/esm/chunks/chunk.WAMFFIMP.js.map +7 -0
  187. package/dist/esm/chunks/{chunk.U7S4DJTU.js → chunk.WBCQTZPS.js} +2 -2
  188. package/dist/esm/chunks/chunk.WBI34ZVP.js +7 -0
  189. package/dist/esm/chunks/chunk.WPVGFQNY.js +7 -0
  190. package/dist/esm/chunks/{chunk.RN634NOB.js.map → chunk.WPVGFQNY.js.map} +1 -1
  191. package/dist/esm/chunks/{chunk.SZETPZGY.js → chunk.WTUXAH7Z.js} +2 -2
  192. package/dist/esm/chunks/chunk.XAZ6EDIZ.js +7 -0
  193. package/dist/esm/chunks/{chunk.QIMAHW7V.js.map → chunk.XAZ6EDIZ.js.map} +1 -1
  194. package/dist/esm/chunks/{chunk.2F2N4WBN.js → chunk.XCI7O2KJ.js} +2 -2
  195. package/dist/esm/chunks/{chunk.2F2N4WBN.js.map → chunk.XCI7O2KJ.js.map} +2 -2
  196. package/dist/esm/chunks/chunk.XNJROSDZ.js +7 -0
  197. package/dist/esm/chunks/chunk.XNJROSDZ.js.map +7 -0
  198. package/dist/esm/chunks/chunk.XU3YSZPA.js +7 -0
  199. package/dist/esm/chunks/chunk.XYBVD3IE.js +7 -0
  200. package/dist/esm/chunks/chunk.XYBVD3IE.js.map +7 -0
  201. package/dist/esm/chunks/chunk.YNXWVL4B.js +7 -0
  202. package/dist/esm/chunks/chunk.YNXWVL4B.js.map +7 -0
  203. package/dist/esm/chunks/{chunk.5JSCGQ7H.js → chunk.YS5JZHJ6.js} +2 -2
  204. package/dist/esm/chunks/{chunk.QXZ3AAXD.js → chunk.YXHMD73U.js} +2 -2
  205. package/dist/esm/chunks/{chunk.6DPDC4ON.js → chunk.Z6GRWPPN.js} +2 -2
  206. package/dist/esm/chunks/chunk.ZAREP2QH.js +7 -0
  207. package/dist/esm/chunks/chunk.ZAREP2QH.js.map +7 -0
  208. package/dist/esm/chunks/{chunk.2K3T63I2.js → chunk.ZIGVO6FN.js} +2 -2
  209. package/dist/esm/chunks/{chunk.2K3T63I2.js.map → chunk.ZIGVO6FN.js.map} +2 -2
  210. package/dist/esm/chunks/{chunk.4JEBLMI3.js → chunk.ZLNI2M3F.js} +2 -2
  211. package/dist/esm/chunks/chunk.ZPXMKY72.js +7 -0
  212. package/dist/esm/chunks/chunk.ZPXMKY72.js.map +7 -0
  213. package/dist/esm/chunks/chunk.ZYKP23JP.js +7 -0
  214. package/dist/esm/chunks/chunk.ZYKP23JP.js.map +7 -0
  215. package/dist/esm/circular-progress/index.js +1 -1
  216. package/dist/esm/color-picker/index.js +1 -1
  217. package/dist/esm/core/base/index.js +1 -1
  218. package/dist/esm/core/delegates/index.js +1 -1
  219. package/dist/esm/core/index.js +1 -1
  220. package/dist/esm/core/utils/index.js +1 -1
  221. package/dist/esm/date-picker/index.js +1 -1
  222. package/dist/esm/date-range-picker/index.js +1 -1
  223. package/dist/esm/deprecated/button/index.js +1 -1
  224. package/dist/esm/deprecated/index.js +1 -1
  225. package/dist/esm/dialog/index.js +1 -1
  226. package/dist/esm/divider/index.js +1 -1
  227. package/dist/esm/drawer/base/index.js +1 -1
  228. package/dist/esm/drawer/drawer/index.js +1 -1
  229. package/dist/esm/drawer/index.js +1 -1
  230. package/dist/esm/drawer/mini-drawer/index.js +1 -1
  231. package/dist/esm/drawer/modal-drawer/index.js +1 -1
  232. package/dist/esm/expansion-panel/index.js +1 -1
  233. package/dist/esm/field-next/base/index.js +7 -0
  234. package/dist/esm/field-next/index.js +7 -0
  235. package/dist/esm/file-picker/index.js +1 -1
  236. package/dist/esm/floating-action-button/index.js +1 -1
  237. package/dist/esm/floating-label/index.js +1 -1
  238. package/dist/esm/focus-indicator/index.js +1 -1
  239. package/dist/esm/icon/index.js +1 -1
  240. package/dist/esm/icon-button/index.js +1 -1
  241. package/dist/esm/index.js +1 -1
  242. package/dist/esm/inline-message/index.js +1 -1
  243. package/dist/esm/keyboard-shortcut/index.js +1 -1
  244. package/dist/esm/label/index.js +1 -1
  245. package/dist/esm/label-value/index.js +1 -1
  246. package/dist/esm/linear-progress/index.js +1 -1
  247. package/dist/esm/list/index.js +1 -1
  248. package/dist/esm/list/list/index.js +1 -1
  249. package/dist/esm/list/list-item/index.js +1 -1
  250. package/dist/esm/list-dropdown/index.js +1 -1
  251. package/dist/esm/menu/index.js +1 -1
  252. package/dist/esm/open-icon/index.js +1 -1
  253. package/dist/esm/overlay/index.js +1 -1
  254. package/dist/esm/page-state/index.js +1 -1
  255. package/dist/esm/paginator/index.js +1 -1
  256. package/dist/esm/popover/index.js +1 -1
  257. package/dist/esm/popup/index.js +1 -1
  258. package/dist/esm/profile-card/index.js +1 -1
  259. package/dist/esm/quantity-field/index.js +1 -1
  260. package/dist/esm/radio/index.js +1 -1
  261. package/dist/esm/radio/radio/index.js +1 -1
  262. package/dist/esm/radio/radio-group/index.js +1 -1
  263. package/dist/esm/ripple/index.js +1 -1
  264. package/dist/esm/scaffold/index.js +1 -1
  265. package/dist/esm/select/core/index.js +1 -1
  266. package/dist/esm/select/index.js +1 -1
  267. package/dist/esm/select/option/index.js +1 -1
  268. package/dist/esm/select/option-group/index.js +1 -1
  269. package/dist/esm/select/select/index.js +1 -1
  270. package/dist/esm/select/select-dropdown/index.js +1 -1
  271. package/dist/esm/skeleton/index.js +1 -1
  272. package/dist/esm/slider/index.js +1 -1
  273. package/dist/esm/split-button/index.js +1 -1
  274. package/dist/esm/split-view/index.js +1 -1
  275. package/dist/esm/split-view/split-view/index.js +1 -1
  276. package/dist/esm/split-view/split-view-panel/index.js +1 -1
  277. package/dist/esm/stack/index.js +1 -1
  278. package/dist/esm/state-layer/index.js +1 -1
  279. package/dist/esm/stepper/index.js +1 -1
  280. package/dist/esm/stepper/step/index.js +1 -1
  281. package/dist/esm/stepper/stepper/index.js +1 -1
  282. package/dist/esm/switch/index.js +1 -1
  283. package/dist/esm/table/index.js +1 -1
  284. package/dist/esm/tabs/index.js +1 -1
  285. package/dist/esm/tabs/tab/index.js +1 -1
  286. package/dist/esm/tabs/tab-bar/index.js +1 -1
  287. package/dist/esm/text-field/index.js +1 -1
  288. package/dist/esm/time-picker/index.js +1 -1
  289. package/dist/esm/toast/index.js +1 -1
  290. package/dist/esm/toolbar/index.js +1 -1
  291. package/dist/esm/tooltip/index.js +1 -1
  292. package/dist/esm/view-switcher/index.js +1 -1
  293. package/dist/esm/view-switcher/view/index.js +1 -1
  294. package/dist/forge-dark.css +1 -1
  295. package/dist/forge.css +1 -1
  296. package/dist/typography/forge-typography.css +1 -1
  297. package/esm/autocomplete/autocomplete-adapter.js +6 -9
  298. package/esm/autocomplete/autocomplete.d.ts +8 -2
  299. package/esm/badge/badge.js +1 -1
  300. package/esm/button-area/button-area-adapter.d.ts +20 -21
  301. package/esm/button-area/button-area-adapter.js +32 -74
  302. package/esm/button-area/button-area-constants.d.ts +3 -1
  303. package/esm/button-area/button-area-constants.js +5 -3
  304. package/esm/button-area/button-area-foundation.d.ts +2 -0
  305. package/esm/button-area/button-area-foundation.js +31 -11
  306. package/esm/button-area/button-area.d.ts +19 -2
  307. package/esm/button-area/button-area.js +25 -6
  308. package/esm/calendar/calendar-foundation.js +14 -6
  309. package/esm/calendar/calendar.d.ts +1 -0
  310. package/esm/card/card.js +1 -1
  311. package/esm/checkbox/checkbox.js +1 -1
  312. package/esm/chip-field/chip-field-foundation.js +1 -1
  313. package/esm/chips/chip/chip-adapter.d.ts +45 -50
  314. package/esm/chips/chip/chip-adapter.js +150 -129
  315. package/esm/chips/chip/chip-constants.d.ts +28 -20
  316. package/esm/chips/chip/chip-constants.js +14 -23
  317. package/esm/chips/chip/chip-foundation.d.ts +42 -34
  318. package/esm/chips/chip/chip-foundation.js +177 -171
  319. package/esm/chips/chip/chip.d.ts +106 -21
  320. package/esm/chips/chip/chip.js +142 -35
  321. package/esm/chips/chip-set/chip-set-constants.d.ts +9 -3
  322. package/esm/chips/chip-set/chip-set-constants.js +7 -8
  323. package/esm/chips/chip-set/chip-set.d.ts +46 -9
  324. package/esm/chips/chip-set/chip-set.js +128 -33
  325. package/esm/chips/chip-set/index.d.ts +0 -2
  326. package/esm/chips/chip-set/index.js +0 -2
  327. package/esm/constants.d.ts +8 -3
  328. package/esm/constants.js +8 -3
  329. package/esm/core/base/base-adapter.d.ts +2 -1
  330. package/esm/core/base/base-adapter.js +1 -0
  331. package/esm/core/utils/utils.d.ts +11 -0
  332. package/esm/core/utils/utils.js +35 -0
  333. package/esm/date-picker/base/base-date-picker-adapter.js +7 -12
  334. package/esm/date-picker/base/base-date-picker-foundation.js +6 -0
  335. package/esm/date-picker/base/base-date-picker-utils.js +1 -2
  336. package/esm/date-range-picker/date-range-picker-adapter.d.ts +1 -0
  337. package/esm/date-range-picker/date-range-picker-adapter.js +11 -1
  338. package/esm/date-range-picker/date-range-picker-component-delegate.d.ts +3 -3
  339. package/esm/date-range-picker/date-range-picker-component-delegate.js +2 -2
  340. package/esm/dialog/dialog-adapter.d.ts +2 -0
  341. package/esm/dialog/dialog-adapter.js +14 -0
  342. package/esm/dialog/dialog-foundation.js +1 -0
  343. package/esm/divider/divider-constants.d.ts +2 -2
  344. package/esm/divider/divider-constants.js +3 -3
  345. package/esm/divider/divider.d.ts +26 -5
  346. package/esm/divider/divider.js +42 -6
  347. package/esm/drawer/drawer/drawer.js +1 -1
  348. package/esm/drawer/mini-drawer/mini-drawer.js +1 -1
  349. package/esm/drawer/modal-drawer/modal-drawer.js +1 -1
  350. package/esm/expansion-panel/expansion-panel.js +1 -1
  351. package/esm/field-next/base/base-field-adapter.d.ts +27 -0
  352. package/esm/field-next/base/base-field-adapter.js +14 -0
  353. package/esm/field-next/base/base-field-constants.d.ts +56 -0
  354. package/esm/field-next/base/base-field-constants.js +36 -0
  355. package/esm/field-next/base/base-field-foundation.d.ts +79 -0
  356. package/esm/field-next/base/base-field-foundation.js +176 -0
  357. package/esm/field-next/base/base-field.d.ts +52 -0
  358. package/esm/field-next/base/base-field.js +116 -0
  359. package/esm/field-next/base/index.d.ts +9 -0
  360. package/esm/field-next/base/index.js +9 -0
  361. package/esm/field-next/field-adapter.d.ts +56 -0
  362. package/esm/field-next/field-adapter.js +132 -0
  363. package/esm/field-next/field-constants.d.ts +95 -0
  364. package/esm/field-next/field-constants.js +64 -0
  365. package/esm/field-next/field-foundation.d.ts +86 -0
  366. package/esm/field-next/field-foundation.js +221 -0
  367. package/esm/field-next/field.d.ts +205 -0
  368. package/esm/field-next/field.js +287 -0
  369. package/esm/field-next/index.d.ts +11 -0
  370. package/esm/field-next/index.js +15 -0
  371. package/esm/file-picker/file-picker-adapter.js +1 -1
  372. package/esm/file-picker/file-picker.d.ts +46 -2
  373. package/esm/file-picker/file-picker.js +48 -4
  374. package/esm/index.d.ts +1 -1
  375. package/esm/index.js +3 -3
  376. package/esm/label/label-constants.d.ts +9 -3
  377. package/esm/label/label-constants.js +5 -3
  378. package/esm/label/label-foundation.d.ts +7 -4
  379. package/esm/label/label-foundation.js +20 -10
  380. package/esm/label/label.d.ts +6 -4
  381. package/esm/label/label.js +11 -12
  382. package/esm/list/list/list-adapter.d.ts +1 -1
  383. package/esm/list/list/list-adapter.js +22 -9
  384. package/esm/list/list/list-constants.d.ts +3 -0
  385. package/esm/list/list/list-constants.js +5 -1
  386. package/esm/list/list/list-foundation.js +6 -0
  387. package/esm/list/list-item/list-item-constants.js +1 -1
  388. package/esm/list/list-item/list-item.d.ts +33 -38
  389. package/esm/list/list-item/list-item.js +34 -39
  390. package/esm/menu/menu-foundation.js +1 -0
  391. package/esm/menu/menu.d.ts +4 -1
  392. package/esm/page-state/page-state.d.ts +24 -1
  393. package/esm/page-state/page-state.js +26 -3
  394. package/esm/paginator/paginator-adapter.d.ts +6 -2
  395. package/esm/paginator/paginator-adapter.js +34 -54
  396. package/esm/paginator/paginator-constants.d.ts +1 -1
  397. package/esm/paginator/paginator-foundation.js +7 -17
  398. package/esm/popover/popover-constants.d.ts +2 -0
  399. package/esm/popover/popover-constants.js +3 -1
  400. package/esm/popover/popover-foundation.d.ts +5 -0
  401. package/esm/popover/popover-foundation.js +26 -1
  402. package/esm/popover/popover.d.ts +4 -0
  403. package/esm/popover/popover.js +9 -0
  404. package/esm/profile-card/profile-card.js +1 -1
  405. package/esm/radio/radio/radio.js +2 -2
  406. package/esm/radio/radio-group/radio-group-adapter.js +1 -1
  407. package/{styles/stack/_variables.scss → esm/radio/radio-group/radio-group-component-delegate.d.ts} +0 -1
  408. package/{styles/chips/chip-set/_variables.scss → esm/radio/radio-group/radio-group-component-delegate.js} +0 -1
  409. package/esm/ripple/forge-ripple.d.ts +1 -1
  410. package/esm/ripple/forge-ripple.js +1 -1
  411. package/esm/select/core/base-select.d.ts +4 -1
  412. package/esm/skeleton/skeleton.d.ts +32 -2
  413. package/esm/skeleton/skeleton.js +33 -3
  414. package/esm/slider/slider.js +1 -1
  415. package/esm/split-view/split-view-panel/split-view-panel.js +1 -1
  416. package/esm/stack/stack-constants.d.ts +1 -0
  417. package/esm/stack/stack-constants.js +2 -1
  418. package/esm/stack/stack-foundation.d.ts +6 -1
  419. package/esm/stack/stack-foundation.js +12 -1
  420. package/esm/stack/stack.d.ts +37 -3
  421. package/esm/stack/stack.js +42 -4
  422. package/esm/switch/switch.js +1 -1
  423. package/esm/text-field/index.d.ts +2 -2
  424. package/esm/text-field/index.js +2 -2
  425. package/esm/text-field/text-field-adapter.d.ts +42 -25
  426. package/esm/text-field/text-field-adapter.js +125 -84
  427. package/esm/text-field/text-field-component-delegate.d.ts +11 -3
  428. package/esm/text-field/text-field-component-delegate.js +66 -36
  429. package/esm/text-field/text-field-constants.d.ts +19 -8
  430. package/esm/text-field/text-field-constants.js +21 -11
  431. package/esm/text-field/text-field-foundation.d.ts +28 -6
  432. package/esm/text-field/text-field-foundation.js +97 -4
  433. package/esm/text-field/text-field.d.ts +43 -5
  434. package/esm/text-field/text-field.js +73 -9
  435. package/esm/time-picker/time-picker-adapter.js +8 -10
  436. package/esm/toolbar/toolbar-constants.d.ts +5 -5
  437. package/esm/toolbar/toolbar-constants.js +9 -10
  438. package/esm/toolbar/toolbar.d.ts +35 -6
  439. package/esm/toolbar/toolbar.js +44 -26
  440. package/esm/tooltip/tooltip.js +1 -1
  441. package/package.json +2 -2
  442. package/{dist/esm/chunks/chunk.SKLCDWYQ.js → styles/avatar/index.scss} +1 -1
  443. package/styles/badge/_core.scss +1 -1
  444. package/styles/button/button.scss +1 -1
  445. package/styles/button-area/_core.scss +25 -0
  446. package/styles/button-area/_token-utils.scss +30 -0
  447. package/styles/button-area/button-area.scss +48 -3
  448. package/styles/{divider/_variables.scss → button-area/index.scss} +1 -2
  449. package/styles/card/_mixins.scss +1 -0
  450. package/styles/checkbox/_core.scss +1 -1
  451. package/styles/chips/chip/_core.scss +137 -0
  452. package/styles/chips/chip/_token-utils.scss +30 -0
  453. package/styles/chips/chip/chip.scss +259 -7
  454. package/styles/chips/chip/index.scss +6 -0
  455. package/styles/chips/chip-set/_core.scss +22 -0
  456. package/styles/chips/chip-set/_token-utils.scss +30 -0
  457. package/styles/chips/chip-set/chip-set.scss +27 -3
  458. package/styles/chips/chip-set/index.scss +6 -0
  459. package/styles/core/styles/tokens/_token-utils.scss +3 -2
  460. package/styles/core/styles/tokens/button-area/_tokens.scss +28 -0
  461. package/styles/core/styles/tokens/chips/chip/_tokens.scss +87 -0
  462. package/styles/core/styles/tokens/chips/chip-set/_tokens.scss +16 -0
  463. package/styles/core/styles/tokens/divider/_tokens.scss +20 -0
  464. package/styles/core/styles/tokens/field/_tokens.scss +148 -0
  465. package/styles/core/styles/tokens/file-picker/_tokens.scss +42 -0
  466. package/styles/core/styles/tokens/list/list-item/_tokens.scss +5 -12
  467. package/styles/core/styles/tokens/page-state/_tokens.scss +43 -0
  468. package/styles/core/styles/tokens/skeleton/_tokens.scss +55 -0
  469. package/styles/core/styles/tokens/stack/_tokens.scss +21 -0
  470. package/styles/core/styles/tokens/toolbar/_tokens.scss +41 -0
  471. package/styles/core/styles/tokens/typography/_scale.scss +1 -0
  472. package/styles/core/styles/tokens/typography/_tokens.label.scss +9 -2
  473. package/styles/divider/_core.scss +39 -0
  474. package/styles/divider/_token-utils.scss +30 -0
  475. package/styles/divider/divider.scss +16 -9
  476. package/styles/divider/index.scss +6 -0
  477. package/styles/drawer/drawer/drawer.scss +2 -0
  478. package/styles/drawer/mini-drawer/mini-drawer.scss +2 -0
  479. package/styles/drawer/modal-drawer/modal-drawer.scss +5 -0
  480. package/styles/expansion-panel/_mixins.scss +1 -0
  481. package/styles/field-next/_core.layout.scss +350 -0
  482. package/styles/field-next/_core.scss +212 -0
  483. package/styles/field-next/_core.shape.scss +25 -0
  484. package/styles/field-next/_core.slotted.scss +60 -0
  485. package/styles/field-next/_core.state.scss +198 -0
  486. package/styles/field-next/_core.variant.scss +225 -0
  487. package/styles/field-next/_token-utils.scss +30 -0
  488. package/styles/field-next/field.scss +770 -0
  489. package/styles/{product-icon/_variables.scss → field-next/index.scss} +2 -2
  490. package/styles/file-picker/_core.scss +85 -0
  491. package/styles/file-picker/_token-utils.scss +30 -0
  492. package/styles/file-picker/file-picker.scss +68 -3
  493. package/styles/file-picker/index.scss +6 -0
  494. package/styles/label/_core.scss +1 -1
  495. package/styles/list/list-item/_core.scss +4 -20
  496. package/styles/list/list-item/list-item.scss +0 -12
  497. package/styles/page-state/_core.scss +79 -0
  498. package/styles/page-state/_token-utils.scss +30 -0
  499. package/styles/page-state/index.scss +6 -0
  500. package/styles/page-state/page-state.scss +51 -3
  501. package/styles/profile-card/profile-card.scss +10 -10
  502. package/styles/radio/radio/_core.scss +1 -1
  503. package/styles/radio/radio-group/_core.scss +5 -0
  504. package/styles/radio/radio-group/index.scss +5 -0
  505. package/styles/radio/radio-group/radio-group.scss +5 -0
  506. package/styles/skeleton/_animations.scss +10 -0
  507. package/styles/skeleton/_core.scss +78 -0
  508. package/styles/skeleton/_token-utils.scss +30 -0
  509. package/styles/skeleton/index.scss +6 -0
  510. package/styles/skeleton/skeleton.scss +55 -4
  511. package/styles/slider/_core.scss +1 -1
  512. package/styles/stack/_core.scss +29 -0
  513. package/styles/stack/_token-utils.scss +30 -0
  514. package/styles/stack/stack.scss +38 -12
  515. package/styles/switch/_core.scss +1 -1
  516. package/styles/text-field/_core.scss +5 -12
  517. package/styles/text-field/index.scss +6 -0
  518. package/styles/text-field/text-field.scss +14 -5
  519. package/styles/theme/_theme-dark.scss +6 -3
  520. package/styles/toolbar/_core.scss +73 -0
  521. package/styles/toolbar/_token-utils.scss +30 -0
  522. package/styles/toolbar/index.scss +6 -0
  523. package/styles/toolbar/toolbar.scss +64 -17
  524. package/styles/tooltip/_core.scss +1 -0
  525. package/styles/utils/_mixins-container.scss +38 -0
  526. package/dist/esm/chunks/chunk.2AVJJJNS.js +0 -7
  527. package/dist/esm/chunks/chunk.2AVJJJNS.js.map +0 -7
  528. package/dist/esm/chunks/chunk.2UVBQKJI.js +0 -7
  529. package/dist/esm/chunks/chunk.2UVBQKJI.js.map +0 -7
  530. package/dist/esm/chunks/chunk.3WT7HPA7.js +0 -12
  531. package/dist/esm/chunks/chunk.3WT7HPA7.js.map +0 -7
  532. package/dist/esm/chunks/chunk.4EBFMRTJ.js +0 -7
  533. package/dist/esm/chunks/chunk.4SP42UG3.js +0 -7
  534. package/dist/esm/chunks/chunk.5BQT3E7Y.js +0 -7
  535. package/dist/esm/chunks/chunk.5BQT3E7Y.js.map +0 -7
  536. package/dist/esm/chunks/chunk.5NHGVUVR.js +0 -7
  537. package/dist/esm/chunks/chunk.5PNJOQDZ.js +0 -7
  538. package/dist/esm/chunks/chunk.5PNJOQDZ.js.map +0 -7
  539. package/dist/esm/chunks/chunk.6P4G73VL.js +0 -7
  540. package/dist/esm/chunks/chunk.6P4G73VL.js.map +0 -7
  541. package/dist/esm/chunks/chunk.7AE3ATT3.js +0 -7
  542. package/dist/esm/chunks/chunk.7AE3ATT3.js.map +0 -7
  543. package/dist/esm/chunks/chunk.AXBMJBED.js +0 -7
  544. package/dist/esm/chunks/chunk.DYBD4IRT.js +0 -7
  545. package/dist/esm/chunks/chunk.EWT2PBEP.js +0 -7
  546. package/dist/esm/chunks/chunk.F2327OUE.js +0 -7
  547. package/dist/esm/chunks/chunk.F2327OUE.js.map +0 -7
  548. package/dist/esm/chunks/chunk.FXDHZCID.js +0 -7
  549. package/dist/esm/chunks/chunk.FZC3WXSY.js +0 -7
  550. package/dist/esm/chunks/chunk.FZC3WXSY.js.map +0 -7
  551. package/dist/esm/chunks/chunk.GYGIU62J.js +0 -7
  552. package/dist/esm/chunks/chunk.GYGIU62J.js.map +0 -7
  553. package/dist/esm/chunks/chunk.IE42X2LV.js +0 -7
  554. package/dist/esm/chunks/chunk.IE42X2LV.js.map +0 -7
  555. package/dist/esm/chunks/chunk.JBQXD3FJ.js +0 -7
  556. package/dist/esm/chunks/chunk.JBQXD3FJ.js.map +0 -7
  557. package/dist/esm/chunks/chunk.JLDKNU5Q.js +0 -7
  558. package/dist/esm/chunks/chunk.JLDKNU5Q.js.map +0 -7
  559. package/dist/esm/chunks/chunk.JO6GPIMF.js +0 -7
  560. package/dist/esm/chunks/chunk.JO6GPIMF.js.map +0 -7
  561. package/dist/esm/chunks/chunk.JUXSSZ3B.js +0 -7
  562. package/dist/esm/chunks/chunk.LEN33O6V.js +0 -7
  563. package/dist/esm/chunks/chunk.LEN33O6V.js.map +0 -7
  564. package/dist/esm/chunks/chunk.N2DHFDXD.js +0 -7
  565. package/dist/esm/chunks/chunk.N2DHFDXD.js.map +0 -7
  566. package/dist/esm/chunks/chunk.NSKIEZWE.js +0 -7
  567. package/dist/esm/chunks/chunk.NY3N6KUZ.js +0 -7
  568. package/dist/esm/chunks/chunk.NY3N6KUZ.js.map +0 -7
  569. package/dist/esm/chunks/chunk.O5HBMTSZ.js +0 -7
  570. package/dist/esm/chunks/chunk.O5HBMTSZ.js.map +0 -7
  571. package/dist/esm/chunks/chunk.OJFSECZE.js +0 -7
  572. package/dist/esm/chunks/chunk.OR5GB6X3.js +0 -7
  573. package/dist/esm/chunks/chunk.OWYOZF53.js +0 -7
  574. package/dist/esm/chunks/chunk.OWYOZF53.js.map +0 -7
  575. package/dist/esm/chunks/chunk.OXGCNOUY.js +0 -7
  576. package/dist/esm/chunks/chunk.PZAL7VQF.js +0 -7
  577. package/dist/esm/chunks/chunk.PZAL7VQF.js.map +0 -7
  578. package/dist/esm/chunks/chunk.QIMAHW7V.js +0 -7
  579. package/dist/esm/chunks/chunk.RB435MRJ.js +0 -7
  580. package/dist/esm/chunks/chunk.RB435MRJ.js.map +0 -7
  581. package/dist/esm/chunks/chunk.RBG6AMLV.js +0 -7
  582. package/dist/esm/chunks/chunk.RBG6AMLV.js.map +0 -7
  583. package/dist/esm/chunks/chunk.RCYIHHYO.js +0 -7
  584. package/dist/esm/chunks/chunk.RCYIHHYO.js.map +0 -7
  585. package/dist/esm/chunks/chunk.RLOZYTNN.js +0 -7
  586. package/dist/esm/chunks/chunk.RLOZYTNN.js.map +0 -7
  587. package/dist/esm/chunks/chunk.RN634NOB.js +0 -7
  588. package/dist/esm/chunks/chunk.RQ3RHGLB.js +0 -7
  589. package/dist/esm/chunks/chunk.RQ3RHGLB.js.map +0 -7
  590. package/dist/esm/chunks/chunk.S2KPWTRW.js +0 -7
  591. package/dist/esm/chunks/chunk.S2KPWTRW.js.map +0 -7
  592. package/dist/esm/chunks/chunk.TPXXHX5J.js +0 -7
  593. package/dist/esm/chunks/chunk.TPXXHX5J.js.map +0 -7
  594. package/dist/esm/chunks/chunk.UCIVBX64.js +0 -7
  595. package/dist/esm/chunks/chunk.UCIVBX64.js.map +0 -7
  596. package/dist/esm/chunks/chunk.VGKNQYHG.js +0 -7
  597. package/dist/esm/chunks/chunk.VGKNQYHG.js.map +0 -7
  598. package/dist/esm/chunks/chunk.VN7JOJVU.js +0 -7
  599. package/dist/esm/chunks/chunk.VNFATHAQ.js +0 -7
  600. package/dist/esm/chunks/chunk.VNFATHAQ.js.map +0 -7
  601. package/dist/esm/chunks/chunk.VRTR7WMN.js +0 -7
  602. package/dist/esm/chunks/chunk.VRTR7WMN.js.map +0 -7
  603. package/dist/esm/chunks/chunk.WXFJYCGO.js +0 -7
  604. package/dist/esm/chunks/chunk.WXFJYCGO.js.map +0 -7
  605. package/dist/esm/chunks/chunk.Y7ZZ7HDC.js +0 -7
  606. package/dist/esm/chunks/chunk.YTBNAGLS.js +0 -7
  607. package/dist/esm/chunks/chunk.ZY3ETQ3D.js +0 -7
  608. package/dist/esm/chunks/chunk.ZY3ETQ3D.js.map +0 -7
  609. package/dist/esm/product-icon/index.js +0 -7
  610. package/esm/chips/chip-set/chip-set-adapter.d.ts +0 -27
  611. package/esm/chips/chip-set/chip-set-adapter.js +0 -57
  612. package/esm/chips/chip-set/chip-set-foundation.d.ts +0 -38
  613. package/esm/chips/chip-set/chip-set-foundation.js +0 -82
  614. package/esm/product-icon/index.d.ts +0 -10
  615. package/esm/product-icon/index.js +0 -14
  616. package/esm/product-icon/product-icon-adapter.d.ts +0 -27
  617. package/esm/product-icon/product-icon-adapter.js +0 -50
  618. package/esm/product-icon/product-icon-constants.d.ts +0 -38
  619. package/esm/product-icon/product-icon-constants.js +0 -46
  620. package/esm/product-icon/product-icon-foundation.d.ts +0 -40
  621. package/esm/product-icon/product-icon-foundation.js +0 -116
  622. package/esm/product-icon/product-icon.d.ts +0 -37
  623. package/esm/product-icon/product-icon.js +0 -70
  624. package/styles/button-area/_mixins.scss +0 -47
  625. package/styles/chips/chip/_mixins.scss +0 -306
  626. package/styles/chips/chip/_variables.scss +0 -8
  627. package/styles/chips/chip-set/_mixins.scss +0 -40
  628. package/styles/divider/_mixins.scss +0 -47
  629. package/styles/file-picker/_mixins.scss +0 -155
  630. package/styles/file-picker/_variables.scss +0 -8
  631. package/styles/page-state/_mixins.scss +0 -123
  632. package/styles/page-state/_variables.scss +0 -9
  633. package/styles/product-icon/_mixins.scss +0 -49
  634. package/styles/product-icon/product-icon.scss +0 -16
  635. package/styles/skeleton/_mixins.scss +0 -132
  636. package/styles/skeleton/_variables.scss +0 -45
  637. package/styles/stack/_mixins.scss +0 -49
  638. package/styles/text-field/_base.scss +0 -76
  639. package/styles/text-field/_mixins.scss +0 -28
  640. package/styles/text-field/_selector.scss +0 -57
  641. package/styles/text-field/_variables.scss +0 -20
  642. package/styles/toolbar/_mixins.scss +0 -78
  643. package/styles/toolbar/_variables.scss +0 -10
  644. /package/dist/esm/chunks/{chunk.WJ26N3FC.js.map → chunk.22C7GQLX.js.map} +0 -0
  645. /package/dist/esm/chunks/{chunk.CPD4RUF2.js.map → chunk.24MZM3AY.js.map} +0 -0
  646. /package/dist/esm/chunks/{chunk.O6WN2UP6.js.map → chunk.2537XOFQ.js.map} +0 -0
  647. /package/dist/esm/chunks/{chunk.KZMXTOLO.js.map → chunk.2AM2BKEO.js.map} +0 -0
  648. /package/dist/esm/chunks/{chunk.KD4DVSJR.js.map → chunk.2WRAXA3H.js.map} +0 -0
  649. /package/dist/esm/chunks/{chunk.ZYYPOLIG.js.map → chunk.2XPAYTK4.js.map} +0 -0
  650. /package/dist/esm/chunks/{chunk.OJFSECZE.js.map → chunk.3L77JY5H.js.map} +0 -0
  651. /package/dist/esm/chunks/{chunk.MBXBM6UI.js.map → chunk.47U6GVGZ.js.map} +0 -0
  652. /package/dist/esm/chunks/{chunk.UYAP5GFT.js.map → chunk.5A34DJLZ.js.map} +0 -0
  653. /package/dist/esm/chunks/{chunk.GAHE4QVB.js.map → chunk.5S7XNYRQ.js.map} +0 -0
  654. /package/dist/esm/chunks/{chunk.DOAQODLZ.js.map → chunk.6XLTVIUD.js.map} +0 -0
  655. /package/dist/esm/chunks/{chunk.4YKLCBP2.js.map → chunk.7IJUN75W.js.map} +0 -0
  656. /package/dist/esm/chunks/{chunk.66RZ2CUB.js.map → chunk.A4UH52SA.js.map} +0 -0
  657. /package/dist/esm/chunks/{chunk.KIQZLNDG.js.map → chunk.AN2E2SSN.js.map} +0 -0
  658. /package/dist/esm/chunks/{chunk.XH63INIK.js.map → chunk.AOSBUJWW.js.map} +0 -0
  659. /package/dist/esm/chunks/{chunk.CLODJYSW.js.map → chunk.BSV27GU7.js.map} +0 -0
  660. /package/dist/esm/chunks/{chunk.FOQH2SSU.js.map → chunk.CBLUXYH2.js.map} +0 -0
  661. /package/dist/esm/chunks/{chunk.L7BSLZCB.js.map → chunk.CIUPY66Y.js.map} +0 -0
  662. /package/dist/esm/chunks/{chunk.OUIWXKO2.js.map → chunk.CSOKFDFQ.js.map} +0 -0
  663. /package/dist/esm/chunks/{chunk.YLJTJKN4.js.map → chunk.EO3HELQ2.js.map} +0 -0
  664. /package/dist/esm/chunks/{chunk.RKG66YKS.js.map → chunk.FBDRM4YN.js.map} +0 -0
  665. /package/dist/esm/chunks/{chunk.GAQ3POUT.js.map → chunk.FOSKVNVV.js.map} +0 -0
  666. /package/dist/esm/chunks/{chunk.Z7JF5PPO.js.map → chunk.FRTSXX33.js.map} +0 -0
  667. /package/dist/esm/chunks/{chunk.253H47GA.js.map → chunk.G2HRYIIZ.js.map} +0 -0
  668. /package/dist/esm/chunks/{chunk.D7L2IMHJ.js.map → chunk.GA6AO6FJ.js.map} +0 -0
  669. /package/dist/esm/chunks/{chunk.YOKBWEXF.js.map → chunk.GBGGUYTE.js.map} +0 -0
  670. /package/dist/esm/chunks/{chunk.CISGGM56.js.map → chunk.GTKYO6VB.js.map} +0 -0
  671. /package/dist/esm/chunks/{chunk.STIZCKQA.js.map → chunk.HBAC6E7O.js.map} +0 -0
  672. /package/dist/esm/chunks/{chunk.WM6ZUVDR.js.map → chunk.IM36A2ZI.js.map} +0 -0
  673. /package/dist/esm/chunks/{chunk.YHIHHGMQ.js.map → chunk.IWVAI6XM.js.map} +0 -0
  674. /package/dist/esm/chunks/{chunk.J5MWS2KZ.js.map → chunk.IZRURH7C.js.map} +0 -0
  675. /package/dist/esm/chunks/{chunk.E7TIN4JS.js.map → chunk.JLSFTWPE.js.map} +0 -0
  676. /package/dist/esm/chunks/{chunk.HP4333ZN.js.map → chunk.JSTCCUKZ.js.map} +0 -0
  677. /package/dist/esm/chunks/{chunk.AXBMJBED.js.map → chunk.KDUH2DUE.js.map} +0 -0
  678. /package/dist/esm/chunks/{chunk.M7RYU4HQ.js.map → chunk.LKA5HQQY.js.map} +0 -0
  679. /package/dist/esm/chunks/{chunk.IC4DLKE3.js.map → chunk.MC3UAHWS.js.map} +0 -0
  680. /package/dist/esm/chunks/{chunk.DYBD4IRT.js.map → chunk.MPUP6QAP.js.map} +0 -0
  681. /package/dist/esm/chunks/{chunk.KPNGLSCU.js.map → chunk.N632SJ7X.js.map} +0 -0
  682. /package/dist/esm/chunks/{chunk.WJLHVUHN.js.map → chunk.O56VP4OZ.js.map} +0 -0
  683. /package/dist/esm/chunks/{chunk.ULZJYWM2.js.map → chunk.OFXSMOV6.js.map} +0 -0
  684. /package/dist/esm/chunks/{chunk.SWDOKJUF.js.map → chunk.OY3TG55O.js.map} +0 -0
  685. /package/dist/esm/chunks/{chunk.IO3A5OM6.js.map → chunk.PXRGQHWR.js.map} +0 -0
  686. /package/dist/esm/chunks/{chunk.FXDHZCID.js.map → chunk.QKYCMDLB.js.map} +0 -0
  687. /package/dist/esm/chunks/{chunk.WINWKU4K.js.map → chunk.QUWEAFGI.js.map} +0 -0
  688. /package/dist/esm/chunks/{chunk.LNMQ5A25.js.map → chunk.R3AWIPPK.js.map} +0 -0
  689. /package/dist/esm/chunks/{chunk.KYACLC66.js.map → chunk.R66CYS27.js.map} +0 -0
  690. /package/dist/esm/chunks/{chunk.V7HN24VV.js.map → chunk.RFCIELJM.js.map} +0 -0
  691. /package/dist/esm/chunks/{chunk.OR5GB6X3.js.map → chunk.SOKORSUV.js.map} +0 -0
  692. /package/dist/esm/chunks/{chunk.GDKJ4RZX.js.map → chunk.STSAE2XP.js.map} +0 -0
  693. /package/dist/esm/chunks/{chunk.CJUX3PL5.js.map → chunk.SWKKDBO6.js.map} +0 -0
  694. /package/dist/esm/chunks/{chunk.QQUSMJIM.js.map → chunk.UEYPCCFG.js.map} +0 -0
  695. /package/dist/esm/chunks/{chunk.F3FWXBDS.js.map → chunk.VBJ4WUVH.js.map} +0 -0
  696. /package/dist/esm/chunks/{chunk.U7S4DJTU.js.map → chunk.WBCQTZPS.js.map} +0 -0
  697. /package/dist/esm/chunks/{chunk.NSKIEZWE.js.map → chunk.WBI34ZVP.js.map} +0 -0
  698. /package/dist/esm/chunks/{chunk.SZETPZGY.js.map → chunk.WTUXAH7Z.js.map} +0 -0
  699. /package/dist/esm/chunks/{chunk.YTBNAGLS.js.map → chunk.XU3YSZPA.js.map} +0 -0
  700. /package/dist/esm/chunks/{chunk.5JSCGQ7H.js.map → chunk.YS5JZHJ6.js.map} +0 -0
  701. /package/dist/esm/chunks/{chunk.QXZ3AAXD.js.map → chunk.YXHMD73U.js.map} +0 -0
  702. /package/dist/esm/chunks/{chunk.6DPDC4ON.js.map → chunk.Z6GRWPPN.js.map} +0 -0
  703. /package/dist/esm/chunks/{chunk.4JEBLMI3.js.map → chunk.ZLNI2M3F.js.map} +0 -0
  704. /package/dist/esm/{product-icon → field-next/base}/index.js.map +0 -0
  705. /package/dist/esm/{chunks/chunk.SKLCDWYQ.js.map → field-next/index.js.map} +0 -0
@@ -10,28 +10,39 @@ export class TextFieldComponentDelegate extends FormFieldComponentDelegate {
10
10
  super(config);
11
11
  }
12
12
  _build() {
13
- var _a, _b;
14
13
  const textField = document.createElement(TEXT_FIELD_CONSTANTS.elementName);
15
14
  this._inputElement = this._buildInputElement(textField);
16
- if ((_a = this._config.options) === null || _a === void 0 ? void 0 : _a.leadingElement) {
17
- this._config.options.leadingElement.slot = 'leading';
18
- textField.appendChild(this._config.options.leadingElement);
19
- }
20
- if ((_b = this._config.options) === null || _b === void 0 ? void 0 : _b.trailingElement) {
21
- this._config.options.trailingElement.slot = 'trailing';
22
- textField.appendChild(this._config.options.trailingElement);
23
- }
24
- textField.appendChild(this._inputElement);
15
+ textField.append(this._inputElement);
25
16
  return textField;
26
17
  }
27
18
  _configure() {
28
- var _a, _b;
29
- if ((_a = this._config.options) === null || _a === void 0 ? void 0 : _a.helperText) {
30
- this.setHelperText(this._config.options.helperText);
19
+ var _a, _b, _c, _d, _e, _f, _g;
20
+ if ((_a = this._config.options) === null || _a === void 0 ? void 0 : _a.id) {
21
+ this._element.id = this._config.options.id;
31
22
  }
32
- if (typeof ((_b = this._config.options) === null || _b === void 0 ? void 0 : _b.label) === 'string') {
23
+ if ((_b = this._config.options) === null || _b === void 0 ? void 0 : _b.label) {
33
24
  this._createLabel(this._config.options.label);
34
25
  }
26
+ if ((_c = this._config.options) === null || _c === void 0 ? void 0 : _c.startElement) {
27
+ this._config.options.startElement.slot = 'start';
28
+ this._element.append(this._config.options.startElement);
29
+ }
30
+ if ((_d = this._config.options) === null || _d === void 0 ? void 0 : _d.leadingElement) {
31
+ this._config.options.leadingElement.slot = 'start';
32
+ this._element.append(this._config.options.leadingElement);
33
+ }
34
+ if ((_e = this._config.options) === null || _e === void 0 ? void 0 : _e.endElement) {
35
+ this._config.options.endElement.slot = 'end';
36
+ this._element.append(this._config.options.endElement);
37
+ }
38
+ if ((_f = this._config.options) === null || _f === void 0 ? void 0 : _f.trailingElement) {
39
+ this._config.options.trailingElement.slot = 'end';
40
+ this._element.append(this._config.options.trailingElement);
41
+ }
42
+ if ((_g = this._config.options) === null || _g === void 0 ? void 0 : _g.accessoryElement) {
43
+ this._config.options.accessoryElement.slot = 'accessory';
44
+ this._element.append(this._config.options.accessoryElement);
45
+ }
35
46
  }
36
47
  get value() {
37
48
  return this._inputElement.value;
@@ -46,7 +57,7 @@ export class TextFieldComponentDelegate extends FormFieldComponentDelegate {
46
57
  this._inputElement.disabled = value;
47
58
  }
48
59
  get invalid() {
49
- return this._element.invalid || false;
60
+ return this._element.invalid;
50
61
  }
51
62
  set invalid(value) {
52
63
  this._element.invalid = value;
@@ -67,6 +78,7 @@ export class TextFieldComponentDelegate extends FormFieldComponentDelegate {
67
78
  this._inputElement.addEventListener('blur', evt => listener(evt));
68
79
  }
69
80
  setLabel(text) {
81
+ var _a;
70
82
  if (text) {
71
83
  if (this._labelElement) {
72
84
  this._labelElement.textContent = text;
@@ -74,52 +86,70 @@ export class TextFieldComponentDelegate extends FormFieldComponentDelegate {
74
86
  else {
75
87
  this._createLabel(text);
76
88
  }
89
+ return;
77
90
  }
78
- else if (this._labelElement) {
79
- this._element.removeChild(this._labelElement);
80
- this._labelElement = undefined;
91
+ (_a = this._labelElement) === null || _a === void 0 ? void 0 : _a.remove();
92
+ this._labelElement = undefined;
93
+ }
94
+ setSupportTextStart(text) {
95
+ var _a;
96
+ if (text) {
97
+ if (!this._supportTextStartElement) {
98
+ this._supportTextStartElement = document.createElement('span');
99
+ this._supportTextStartElement.slot = 'support-text-start';
100
+ this._element.append(this._supportTextStartElement);
101
+ }
102
+ this._supportTextStartElement.textContent = text;
103
+ return;
81
104
  }
105
+ (_a = this._supportTextStartElement) === null || _a === void 0 ? void 0 : _a.remove();
106
+ this._supportTextStartElement = undefined;
82
107
  }
108
+ // Deprecated alias for `setSupportTextStart`
83
109
  setHelperText(text) {
110
+ this.setSupportTextStart(text);
111
+ }
112
+ setSupportTextEnd(text) {
113
+ var _a;
84
114
  if (text) {
85
- if (!this._helperTextElement) {
86
- this._helperTextElement = document.createElement('span');
87
- this._helperTextElement.slot = 'helper-text';
88
- this._element.appendChild(this._helperTextElement);
115
+ if (!this._supportTextEndElement) {
116
+ this._supportTextEndElement = document.createElement('span');
117
+ this._supportTextEndElement.slot = 'support-text-end';
118
+ this._element.append(this._supportTextEndElement);
89
119
  }
90
- this._helperTextElement.textContent = text;
91
- }
92
- else if (this._helperTextElement) {
93
- this._element.removeChild(this._helperTextElement);
94
- this._helperTextElement = undefined;
120
+ this._supportTextEndElement.textContent = text;
121
+ return;
95
122
  }
123
+ (_a = this._supportTextEndElement) === null || _a === void 0 ? void 0 : _a.remove();
124
+ this._supportTextEndElement = undefined;
96
125
  }
97
126
  floatLabel(value) {
98
- this._element.floatLabel(value);
127
+ this._element.floatLabel = value;
99
128
  }
100
129
  _createLabel(text) {
101
130
  var _a;
102
131
  this._labelElement = document.createElement('label');
103
132
  this._labelElement.textContent = text;
133
+ this._labelElement.slot = 'label';
104
134
  if ((_a = this._config.options) === null || _a === void 0 ? void 0 : _a.id) {
105
- this._labelElement.setAttribute('for', this._config.options.id);
135
+ this._labelElement.htmlFor = this._config.options.id;
106
136
  }
107
- this._element.appendChild(this._labelElement);
137
+ this._element.append(this._labelElement);
108
138
  }
109
139
  _buildInputElement(textField) {
110
140
  var _a, _b, _c, _d, _e;
111
141
  const inputElement = document.createElement('input');
112
- inputElement.type = ((_a = this._config.options) === null || _a === void 0 ? void 0 : _a.type) || 'text';
113
- if (((_b = this._config.options) === null || _b === void 0 ? void 0 : _b.value) !== undefined) {
142
+ inputElement.type = (_b = (_a = this._config.options) === null || _a === void 0 ? void 0 : _a.type) !== null && _b !== void 0 ? _b : 'text';
143
+ if (((_c = this._config.options) === null || _c === void 0 ? void 0 : _c.value) !== undefined) {
114
144
  inputElement.value = this._config.options.value;
115
145
  }
116
- if ((_c = this._config.options) === null || _c === void 0 ? void 0 : _c.id) {
146
+ if ((_d = this._config.options) === null || _d === void 0 ? void 0 : _d.id) {
117
147
  inputElement.id = this._config.options.id;
118
148
  }
119
- if (typeof ((_d = this._config.options) === null || _d === void 0 ? void 0 : _d.placeholder) === 'string') {
120
- inputElement.placeholder = (_e = this._config.options) === null || _e === void 0 ? void 0 : _e.placeholder;
149
+ if (((_e = this._config.options) === null || _e === void 0 ? void 0 : _e.placeholder) !== undefined) {
150
+ inputElement.placeholder = this._config.options.placeholder;
121
151
  }
122
- textField.appendChild(inputElement);
152
+ textField.append(inputElement);
123
153
  return inputElement;
124
154
  }
125
155
  }
@@ -3,19 +3,30 @@
3
3
  * Copyright 2023 Tyler Technologies, Inc.
4
4
  * License: Apache-2.0
5
5
  */
6
+ declare const observedInputAttributes: string[];
6
7
  export declare const TEXT_FIELD_CONSTANTS: {
7
8
  elementName: "forge-text-field";
9
+ observedAttributes: {
10
+ SHOW_CLEAR: string;
11
+ };
8
12
  attributes: {
9
- MULTI_INPUT: string;
10
- MULTI_INPUT_SEPARATOR: string;
13
+ SHOW_CLEAR: string;
14
+ };
15
+ selectors: {
16
+ FIELD: string;
17
+ CLEAR_BUTTON_SLOT: string;
18
+ FORGE_LABEL: "forge-label";
19
+ INPUT: string;
11
20
  };
12
- classes: {
13
- ROOT: string;
14
- MULTI_INPUT: string;
21
+ observedInputAttributes: string[];
22
+ tagNames: {
15
23
  TEXTAREA: string;
24
+ LABEL: string;
16
25
  };
17
- selectors: {
18
- ROOT: string;
26
+ events: {
27
+ CLEAR: string;
19
28
  };
20
29
  };
21
- export { type FieldDensityType as TextFieldDensityType, type FieldFloatLabelType as TextFieldFloatLabelType, type FieldShapeType as TextFieldShapeType } from '../field/field-constants';
30
+ export type TextFieldInputAttributeObserver = (name: keyof typeof observedInputAttributes, value: string | null) => void;
31
+ export type TextFieldValueChangeListener = (value: string | null) => void;
32
+ export {};
@@ -4,22 +4,32 @@
4
4
  * License: Apache-2.0
5
5
  */
6
6
  import { COMPONENT_NAME_PREFIX } from '../constants';
7
+ import { LABEL_CONSTANTS } from '../label';
7
8
  const elementName = `${COMPONENT_NAME_PREFIX}text-field`;
8
- const attributes = {
9
- MULTI_INPUT: 'data-forge-multi-input',
10
- MULTI_INPUT_SEPARATOR: 'data-forge-multi-input-separator'
11
- };
12
- const classes = {
13
- ROOT: 'forge-text-field',
14
- MULTI_INPUT: 'forge-text-field--multi-input',
15
- TEXTAREA: 'forge-text-field--textarea'
9
+ const observedAttributes = {
10
+ SHOW_CLEAR: 'show-clear'
16
11
  };
12
+ const attributes = Object.assign({}, observedAttributes);
17
13
  const selectors = {
18
- ROOT: `.${classes.ROOT}`
14
+ FIELD: '#field',
15
+ CLEAR_BUTTON_SLOT: 'slot[name=clear-button]',
16
+ FORGE_LABEL: LABEL_CONSTANTS.elementName,
17
+ INPUT: ':where(input:not([type=button], [type=checkbox], [type=color], [type=hidden], [type=image], [type=radio], [type=range], [type=reset], [type=submit]), textarea)'
18
+ };
19
+ const observedInputAttributes = ['disabled', 'placeholder'];
20
+ const tagNames = {
21
+ TEXTAREA: 'TEXTAREA',
22
+ LABEL: 'LABEL'
23
+ };
24
+ const events = {
25
+ CLEAR: `${elementName}-clear`
19
26
  };
20
27
  export const TEXT_FIELD_CONSTANTS = {
21
28
  elementName,
29
+ observedAttributes,
22
30
  attributes,
23
- classes,
24
- selectors
31
+ selectors,
32
+ observedInputAttributes,
33
+ tagNames,
34
+ events
25
35
  };
@@ -3,12 +3,34 @@
3
3
  * Copyright 2023 Tyler Technologies, Inc.
4
4
  * License: Apache-2.0
5
5
  */
6
- import { ITextFieldAdapter } from './text-field-adapter';
7
- import { FieldFoundation, IFieldFoundation } from '../field/field-foundation';
8
- export interface ITextFieldFoundation extends IFieldFoundation {
6
+ import { FieldLabelPosition } from '../field-next';
7
+ import { BaseFieldFoundation, IBaseFieldFoundation } from '../field-next/base/base-field-foundation';
8
+ import { ITextFieldAdapter, TextFieldAdapter } from './text-field-adapter';
9
+ export interface ITextFieldFoundation extends IBaseFieldFoundation {
10
+ readonly popoverTargetElement: HTMLElement;
11
+ showClear: boolean;
9
12
  }
10
- export declare class TextFieldFoundation extends FieldFoundation implements ITextFieldFoundation {
11
- protected _adapter: ITextFieldAdapter;
12
- constructor(_adapter: ITextFieldAdapter);
13
+ export declare class TextFieldFoundation extends BaseFieldFoundation<ITextFieldAdapter> implements ITextFieldFoundation {
14
+ protected _adapter: TextFieldAdapter;
15
+ private _showClear;
16
+ private _slotChangeListener;
17
+ private _inputAttributeListener;
18
+ private _valueChangeListener;
19
+ private _inputListener;
20
+ private _clearButtonClickListener;
21
+ constructor(_adapter: TextFieldAdapter);
13
22
  initialize(): void;
23
+ disconnect(): void;
24
+ get popoverTargetElement(): HTMLElement;
25
+ private _onSlotChange;
26
+ private _onInputAttributeChange;
27
+ private _onClearButtonClick;
28
+ private _onValueChange;
29
+ private _toggleClearButtonVisibility;
30
+ get showClear(): boolean;
31
+ set showClear(value: boolean);
32
+ get disabled(): boolean;
33
+ set disabled(value: boolean);
34
+ get labelPosition(): FieldLabelPosition;
35
+ set labelPosition(value: FieldLabelPosition);
14
36
  }
@@ -3,14 +3,107 @@
3
3
  * Copyright 2023 Tyler Technologies, Inc.
4
4
  * License: Apache-2.0
5
5
  */
6
- import { FieldFoundation } from '../field/field-foundation';
7
- export class TextFieldFoundation extends FieldFoundation {
6
+ import { FIELD_CONSTANTS } from '../field-next';
7
+ import { BaseFieldFoundation } from '../field-next/base/base-field-foundation';
8
+ import { TEXT_FIELD_CONSTANTS } from './text-field-constants';
9
+ export class TextFieldFoundation extends BaseFieldFoundation {
8
10
  constructor(_adapter) {
9
11
  super(_adapter);
10
12
  this._adapter = _adapter;
13
+ this._showClear = false;
14
+ this._slotChangeListener = this._onSlotChange.bind(this);
15
+ this._inputAttributeListener = this._onInputAttributeChange.bind(this);
16
+ this._valueChangeListener = this._onValueChange.bind(this);
17
+ this._inputListener = this._onValueChange.bind(this);
18
+ this._clearButtonClickListener = (evt) => this._onClearButtonClick(evt);
11
19
  }
12
20
  initialize() {
13
- super.initialize();
14
- this._adapter.detectTextarea();
21
+ this._adapter.addRootListener('slotchange', this._slotChangeListener);
22
+ this._adapter.addRootListener('input', this._inputListener);
23
+ }
24
+ disconnect() {
25
+ this._adapter.removeRootListener('slotchange', this._slotChangeListener);
26
+ this._adapter.removeRootListener('input', this._inputListener);
27
+ this._adapter.removeValueChangeListener();
28
+ }
29
+ get popoverTargetElement() {
30
+ return this._adapter.popoverTargetElement;
31
+ }
32
+ _onSlotChange(evt) {
33
+ const target = evt.target;
34
+ switch (target.name) {
35
+ case 'label':
36
+ this._adapter.tryConnectSlottedLabel(target);
37
+ break;
38
+ case '':
39
+ this._adapter.handleDefaultSlotChange(target, this._inputAttributeListener);
40
+ this._adapter.tryAddValueChangeListener(this, this._valueChangeListener);
41
+ this._tryFloatLabel();
42
+ break;
43
+ }
44
+ }
45
+ _onInputAttributeChange(name, value) {
46
+ switch (name) {
47
+ case 'disabled':
48
+ this.disabled = value !== null;
49
+ break;
50
+ case 'placeholder':
51
+ this._tryFloatLabel();
52
+ break;
53
+ }
54
+ }
55
+ _onClearButtonClick(evt) {
56
+ const event = new CustomEvent(TEXT_FIELD_CONSTANTS.events.CLEAR, { bubbles: true, cancelable: true, composed: true });
57
+ this._adapter.dispatchHostEvent(event);
58
+ if (!event.defaultPrevented) {
59
+ this._adapter.clearInput();
60
+ }
61
+ }
62
+ ;
63
+ _onValueChange() {
64
+ this._tryFloatLabel();
65
+ this._toggleClearButtonVisibility();
66
+ }
67
+ _toggleClearButtonVisibility() {
68
+ this._adapter.toggleClearButtonVisibility(this._showClear && this._hasValue && !this.disabled);
69
+ }
70
+ get showClear() {
71
+ return this._showClear;
72
+ }
73
+ set showClear(value) {
74
+ if (this._showClear !== value) {
75
+ this._showClear = value;
76
+ this._adapter.toggleHostAttribute(TEXT_FIELD_CONSTANTS.attributes.SHOW_CLEAR, value);
77
+ if (value) {
78
+ this._adapter.connectClearButton(this._clearButtonClickListener);
79
+ }
80
+ else {
81
+ this._adapter.disconnectClearButton(this._clearButtonClickListener);
82
+ }
83
+ this._toggleClearButtonVisibility();
84
+ }
85
+ }
86
+ get disabled() {
87
+ return super.disabled;
88
+ }
89
+ set disabled(value) {
90
+ if (this._disabled !== value) {
91
+ this._disabled = value;
92
+ this._adapter.toggleHostAttribute(FIELD_CONSTANTS.attributes.DISABLED, value);
93
+ this._adapter.setFieldProperty('disabled', value);
94
+ this._adapter.disableInput(value);
95
+ this._toggleClearButtonVisibility();
96
+ }
97
+ }
98
+ get labelPosition() {
99
+ return super.labelPosition;
100
+ }
101
+ set labelPosition(value) {
102
+ if (this._labelPosition !== value) {
103
+ this._labelPosition = value;
104
+ this._adapter.toggleHostAttribute(FIELD_CONSTANTS.attributes.LABEL_POSITION, true, value);
105
+ this._adapter.setFieldProperty('labelPosition', value);
106
+ this._tryFloatLabel();
107
+ }
15
108
  }
16
109
  }
@@ -3,9 +3,11 @@
3
3
  * Copyright 2023 Tyler Technologies, Inc.
4
4
  * License: Apache-2.0
5
5
  */
6
+ import { BaseField, IBaseField } from '../field-next/base/base-field';
6
7
  import { TextFieldFoundation } from './text-field-foundation';
7
- import { FieldComponent, IFieldComponent } from '../field/field';
8
- export interface ITextFieldComponent extends IFieldComponent {
8
+ export interface ITextFieldComponent extends IBaseField {
9
+ showClear: boolean;
10
+ readonly popoverTargetElement: HTMLElement;
9
11
  }
10
12
  declare global {
11
13
  interface HTMLElementTagNameMap {
@@ -13,10 +15,46 @@ declare global {
13
15
  }
14
16
  }
15
17
  /**
16
- * The web component class behind the `<forge-text-field>` custom element.
17
- *
18
18
  * @tag forge-text-field
19
+ *
20
+ * @summary The Forge Text Field component wraps and styles an input or textarea element.
21
+ *
22
+ * @property {boolean} showClear - Whether the clear button appears when text has been entered.
23
+ * @property {HTMLElement} popoverTargetElement - Gets a reference to the element that the popover should target for best alignment.
24
+ *
25
+ * @attribute {boolean} show-clear - Whether the clear button appears when text has been entered.
26
+ *
27
+ * @event {CustomEvent<null>} forge-text-field-clear - Dispatches when the clear button is clicked.
28
+ *
29
+ * @csspart root - The root container element.
30
+ * @csspart label - The label element.
31
+ * @csspart container - The container element surrounding the input.
32
+ * @csspart input - The element containing te input slot.
33
+ * @csspart start - The element containing the start slot.
34
+ * @csspart end - The element containing the end slot.
35
+ * @csspart popover-icon - The popover icon element.
36
+ * @csspart accessory - The element containing the accessory slot.
37
+ * @csspart support-text - The support text element.
38
+ * @csspart support-text-start - The element containing the support text start slot.
39
+ * @csspart support-text-end - The element containing the support text end slot.
40
+ * @csspart focus-indicator - The focus indicator element.
41
+ *
42
+ * @slot - The default/unnamed slot for the field's input.
43
+ * @slot label - Renders its content as a positioned label.
44
+ * @slot start - Typically reserved for content/icons that render logically before the default slot content.
45
+ * @slot end - Typically reserved content/icons that render logically after the default slot content.
46
+ * @slot clear-button - Content slotted here replaces the default clear button.
47
+ * @slot clear-button-tooltip - Sets the text content of the clear button's tooltip and accessible label.
48
+ * @slot accessory - Used for content such as a button that is logically connected to the field but should appear distinct from the input.
49
+ * @slot support-text-start - Used for content that provides additional information about the field. Aligns to the inline start of the field.
50
+ * @slot support-text-end - Used for content that provides additional information about the field. Aligns to the inline end of the field.
19
51
  */
20
- export declare class TextFieldComponent extends FieldComponent<TextFieldFoundation> implements ITextFieldComponent {
52
+ export declare class TextFieldComponent extends BaseField<TextFieldFoundation> implements ITextFieldComponent {
53
+ static get observedAttributes(): string[];
54
+ protected readonly _foundation: TextFieldFoundation;
21
55
  constructor();
56
+ connectedCallback(): void;
57
+ attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
58
+ get popoverTargetElement(): HTMLElement;
59
+ showClear: boolean;
22
60
  }
@@ -4,28 +4,92 @@
4
4
  * License: Apache-2.0
5
5
  */
6
6
  import { __decorate } from "tslib";
7
- import { CustomElement, attachShadowTemplate } from '@tylertech/forge-core';
7
+ import { attachShadowTemplate, coerceBoolean, CustomElement, FoundationProperty } from '@tylertech/forge-core';
8
+ import { tylIconClear } from '@tylertech/tyler-icons/standard';
9
+ import { BASE_FIELD_CONSTANTS, FieldComponent } from '../field-next';
10
+ import { BaseField } from '../field-next/base/base-field';
11
+ import { IconRegistry } from '../icon';
12
+ import { IconButtonComponent } from '../icon-button';
13
+ import { TooltipComponent } from '../tooltip';
8
14
  import { TextFieldAdapter } from './text-field-adapter';
9
- import { TextFieldFoundation } from './text-field-foundation';
10
15
  import { TEXT_FIELD_CONSTANTS } from './text-field-constants';
11
- import { FieldComponent } from '../field/field';
12
- const template = '<template><div class=\"forge-text-field__wrapper\" part=\"root\"><div class=\"forge-text-field forge-field\" part=\"container\"><div class=\"forge-text-field__leading-container\" part=\"leading-container\"><slot name=\"leading\"></slot></div><div class=\"forge-field__label-input-container\" part=\"label-input-container\"><slot></slot><slot name=\"label\"></slot></div><slot name=\"trailing\"></slot><div class=\"forge-field__addon-end-container\" part=\"addon-end-container\"><slot name=\"addon-end\"></slot></div></div><slot name=\"helper-text\"></slot></div></template>';
13
- const styles = '.forge-field::before{content:\"\";display:-webkit-box;display:flex;position:absolute;top:0;right:0;left:0;z-index:-1;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;max-width:100%;height:100%;pointer-events:none;border-style:solid;border-style:var(--forge-text-field-border-style,solid);border-width:1px;-webkit-transition:border-color .2s 0s cubic-bezier(0, 0, .2, 1);transition:border-color .2s 0s cubic-bezier(0, 0, .2, 1);background-color:transparent;background-color:var(--forge-text-field-theme-background,transparent);text-align:left}.forge-field[dir=rtl]::before,[dir=rtl] .forge-field::before{text-align:right}.forge-field:not(.forge-field--disabled):not(.forge-field--invalid):not(.forge-field--focused)::before{border-color:rgba(0,0,0,.38);border-color:var(--mdc-theme-text-icon-on-background,rgba(0,0,0,.38))}.forge-field:not(.forge-field--disabled):not(.forge-field--invalid):not(.forge-field--focused):hover::before{border-color:rgba(0,0,0,.87);border-color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87))}.forge-field--focused:not(.forge-field--invalid):not(.forge-field--disabled)::before{border-color:#6200ee;border-color:var(--mdc-theme-primary,#6200ee)}.forge-field--invalid:not(.forge-field--disabled)::before{border-color:#b00020;border-color:var(--mdc-theme-error,#b00020)}.forge-field--invalid:not(.forge-field--disabled):not(.forge-field--focused):hover::before{border-color:#db8a98;border-color:var(--forge-theme-error-hover,#db8a98)}.forge-field--disabled::before{border-color:rgba(0,0,0,.38);border-color:var(--mdc-theme-text-disabled-on-background,rgba(0,0,0,.38))}.forge-field:not(.forge-field--shape-rounded){border-radius:4px}.forge-field:not(.forge-field--shape-rounded)::before{border-radius:4px}.forge-field--shape-rounded{border-radius:28px}.forge-field--shape-rounded::before{border-radius:28px}.forge-field--disabled::before{background-color:#f5f5f5;background-color:var(--forge-theme-form-field-disabled-on-background,#f5f5f5)}.forge-field--focused::before{border-color:#6200ee;border-color:var(--mdc-theme-primary,#6200ee);border-width:2px}.forge-field__label-input-container{position:relative;-webkit-box-flex:1;flex:1 1 0.0001px;height:100%;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-align:center;align-items:center;min-width:0}.forge-field ::slotted(label){color:rgba(0,0,0,.65);color:var(--forge-theme-form-field-label-on-background,rgba(0,0,0,.65));pointer-events:none;right:0;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-subtitle1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-weight:400;font-weight:var(--mdc-typography-subtitle1-font-weight,400);letter-spacing:.009375em;letter-spacing:var(--mdc-typography-subtitle1-letter-spacing, .009375em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-subtitle1-text-decoration,inherit);text-decoration:var(--mdc-typography-subtitle1-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-subtitle1-text-transform,inherit);font-size:var(--mdc-typography-subtitle1-font-size, 1rem);position:absolute;left:0;-webkit-transform-origin:left top;transform-origin:left top;line-height:1.1rem;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:text;overflow:hidden;will-change:transform;-webkit-transition:color 150ms cubic-bezier(.4, 0, .2, 1),-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:color 150ms cubic-bezier(.4, 0, .2, 1),-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1),color 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1),color 150ms cubic-bezier(.4, 0, .2, 1),-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1)}.forge-field ::slotted(label[dir=rtl]),[dir=rtl] .forge-field ::slotted(label){right:0;left:auto;-webkit-transform-origin:right top;transform-origin:right top;text-align:right}.forge-field--dense:not(.forge-field--roomy) ::slotted(label){display:none}.forge-field--required ::slotted(label)::after{content:none}.forge-field--required ::slotted(label)::before{color:#b00020;color:var(--mdc-theme-error,#b00020);content:\"*\";margin-right:4px}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) ::slotted(label){font-size:1rem}.forge-field--roomy:not(.forge-field--dense) ::slotted(label){font-size:1rem}.forge-field--disabled ::slotted(label){color:rgba(0,0,0,.38);color:var(--forge-theme-label-disabled-on-background,rgba(0,0,0,.38))}.forge-field--invalid:not(.forge-field--disabled) ::slotted(label){color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field--focused:not(.forge-field--invalid):not(.forge-field--disabled) ::slotted(label){color:#6200ee;color:var(--mdc-theme-primary,#6200ee)}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) ::slotted(label){top:1rem}.forge-field--roomy:not(.forge-field--dense) ::slotted(label){top:1.285rem}.forge-field:not(.forge-field--shape-rounded):not(.forge-field--leading) ::slotted(label){left:12px!important}.forge-field--shape-rounded:not(.forge-field--leading) ::slotted(label){left:32px!important}.forge-field:not(.forge-field--trailing):not(.forge-field--addon-end):not(.forge-field--shape-rounded) ::slotted(label){padding-right:12px}.forge-field:not(.forge-field--trailing):not(.forge-field--addon-end).forge-field--shape-rounded ::slotted(label){padding-right:32px}.forge-field ::slotted(label.forge-floating-label--float-above){color:rgba(0,0,0,.65);color:var(--forge-theme-form-field-label-on-background,rgba(0,0,0,.65))}.forge-field--disabled ::slotted(label.forge-floating-label--float-above){color:rgba(0,0,0,.6);color:var(--forge-theme-form-field-text-disabled-on-background,rgba(0,0,0,.6))}.forge-field--invalid:not(.forge-field--disabled) ::slotted(label.forge-floating-label--float-above){color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field--focused:not(.forge-field--invalid):not(.forge-field--disabled) ::slotted(label.forge-floating-label--float-above){color:#6200ee;color:var(--mdc-theme-primary,#6200ee)}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) ::slotted(label.forge-floating-label--float-above){-webkit-transform:translateY(-.54rem) scale(.8125);transform:translateY(-.54rem) scale(.8125);cursor:auto}.forge-field--roomy:not(.forge-field--dense) ::slotted(label.forge-floating-label--float-above){-webkit-transform:translateY(-.72rem) scale(.8125);transform:translateY(-.72rem) scale(.8125);cursor:auto}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) ::slotted(label.forge-floating-label--float-above.forge-floating-label--float-above-end-keyframe){-webkit-transition:none;transition:none;font-size:.8125rem;-webkit-transform:translateY(-.62rem) scale(1);transform:translateY(-.62rem) scale(1);cursor:auto}.forge-field--roomy:not(.forge-field--dense) ::slotted(label.forge-floating-label--float-above.forge-floating-label--float-above-end-keyframe){-webkit-transition:none;transition:none;font-size:.8125rem;-webkit-transform:translateY(-.8rem) scale(1);transform:translateY(-.8rem) scale(1);cursor:auto}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) ::slotted(label.forge-floating-label--unfloat-above-start-keyframe){-webkit-transition:none;transition:none;font-size:1rem;-webkit-transform:translateY(-.62rem) scale(.8125);transform:translateY(-.62rem) scale(.8125);cursor:auto}.forge-field--roomy:not(.forge-field--dense) ::slotted(label.forge-floating-label--unfloat-above-start-keyframe){-webkit-transition:none;transition:none;font-size:1rem;-webkit-transform:translateY(-.8rem) scale(.8125);transform:translateY(-.8rem) scale(.8125);cursor:auto}.forge-field ::slotted(input){-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-body1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-weight:400;font-weight:var(--mdc-typography-body1-font-weight,400);letter-spacing:.03125em;letter-spacing:var(--mdc-typography-body1-letter-spacing, .03125em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-body1-text-decoration,inherit);text-decoration:var(--mdc-typography-body1-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-body1-text-transform,inherit);align-self:flex-end;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;height:100%;-webkit-transition:opacity 150ms 0s cubic-bezier(.4, 0, .2, 1);transition:opacity 150ms 0s cubic-bezier(.4, 0, .2, 1);border:none;background:0 0;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:0;line-height:normal;min-width:0}.forge-field ::slotted(input)::-webkit-input-placeholder{color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54));font-size:.875rem}.forge-field ::slotted(input)::-moz-placeholder{color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54));font-size:.875rem}.forge-field ::slotted(input):-ms-input-placeholder{color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54));font-size:.875rem}.forge-field ::slotted(input)::-ms-input-placeholder{color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54));font-size:.875rem}.forge-field ::slotted(input)::placeholder{color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54));font-size:.875rem}.forge-field ::slotted(input):invalid{-webkit-box-shadow:none;box-shadow:none}.forge-field ::slotted(input):-webkit-autofill{z-index:auto!important}.forge-field:not(.forge-field--disabled) ::slotted(input){color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87))}.forge-field--disabled ::slotted(input){color:rgba(0,0,0,.6);color:var(--forge-theme-form-field-text-disabled-on-background,rgba(0,0,0,.6));cursor:not-allowed}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) ::slotted(input){font-size:1rem;font-size:var(--forge-field-font-size, 1rem)}.forge-field--roomy:not(.forge-field--dense) ::slotted(input){font-size:1rem;font-size:var(--forge-field-font-size, 1rem)}.forge-field--dense:not(.forge-field--roomy) ::slotted(input){font-size:.875rem;font-size:var(--forge-field-font-size, .875rem)}.forge-field ::slotted(input){padding:0 12px}.forge-field--label ::slotted(input){padding-top:24px}.forge-field--roomy.forge-field--label ::slotted(input){padding-top:29px}.forge-field--shape-rounded:not(.forge-field--leading) ::slotted(input){padding-left:32px}.forge-field--leading ::slotted(input){padding-left:0}.forge-field--label ::slotted(input){padding-bottom:3px}.forge-field--roomy.forge-field--label ::slotted(input){padding-bottom:8px}.forge-field--shape-rounded:not(.forge-field--trailing):not(.forge-field--addon-end) ::slotted(input){padding-right:32px}.forge-field--addon-end ::slotted(input),.forge-field--trailing ::slotted(input){padding-right:0}.forge-field~::slotted([slot=helper-text]){-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);display:block;min-height:1.5rem;line-height:normal;padding-top:4px;-webkit-box-sizing:border-box;box-sizing:border-box}.forge-field:not(.forge-field--dense):not(.forge-field--roomy)~::slotted([slot=helper-text]){font-size:.75rem}.forge-field--roomy:not(.forge-field--dense)~::slotted([slot=helper-text]){font-size:.875rem}.forge-field--dense:not(.forge-field--roomy)~::slotted([slot=helper-text]){font-size:.75rem}.forge-field~::slotted([slot=helper-text]){color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-field--invalid:not(.forge-field--disabled)~::slotted([slot=helper-text]){color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field:not(.forge-field--shape-rounded)~::slotted([slot=helper-text]){margin-left:12px}.forge-field--shape-rounded~::slotted([slot=helper-text]){margin-left:32px}.forge-field ::slotted([slot=leading]){display:-webkit-box;display:flex;align-self:center}.forge-field:not(.forge-field--disabled):not(.forge-field--invalid) ::slotted([slot=leading]){color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-field--invalid:not(.forge-field--disabled) ::slotted([slot=leading]){color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field--disabled ::slotted([slot=leading]){color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38));cursor:not-allowed;pointer-events:none}.forge-field ::slotted([slot=leading]){margin:0 4px}.forge-field ::slotted([slot=leading]:not(forge-icon-button)){padding:6px}.forge-field ::slotted([slot=trailing]){align-self:center}.forge-field:not(.forge-field--disabled):not(.forge-field--invalid) ::slotted([slot=trailing]){color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-field--invalid:not(.forge-field--disabled) ::slotted([slot=trailing]){color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field--disabled ::slotted([slot=trailing]){color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38));cursor:not-allowed;pointer-events:none}.forge-field ::slotted([slot=trailing]){margin:0 4px}.forge-field ::slotted([slot=trailing]:not(forge-icon-button)){padding:6px}.forge-field__addon-end-container{display:none}.forge-field--addon-end .forge-field__addon-end-container{height:100%;width:auto;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;padding:0 4px;border-left-width:1px;border-left-style:solid;-webkit-transition:border-left-color .2s 0s cubic-bezier(0, 0, .2, 1);transition:border-left-color .2s 0s cubic-bezier(0, 0, .2, 1)}.forge-field:not(.forge-field--disabled):not(.forge-field--focused):not(.forge-field--invalid) .forge-field__addon-end-container{border-left-color:rgba(0,0,0,.54);border-left-color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-field:not(.forge-field--disabled):not(.forge-field--focused):not(.forge-field--invalid) .forge-field__addon-end-container:hover{border-left-color:rgba(0,0,0,.87);border-left-color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87))}.forge-field.forge-field--focused:not(.forge-field--invalid):not(.forge-field--disabled) .forge-field__addon-end-container{border-left-color:#6200ee;border-left-color:var(--mdc-theme-primary,#6200ee)}.forge-field.forge-field--invalid:not(.forge-field--disabled) .forge-field__addon-end-container{border-left-color:#b00020;border-left-color:var(--mdc-theme-error,#b00020)}.forge-field.forge-field--invalid:not(.forge-field--focused):not(.forge-field--disabled) .forge-field__addon-end-container:hover{border-left-color:#db8a98;border-left-color:var(--forge-theme-error-hover,#db8a98)}.forge-field.forge-field--disabled .forge-field__addon-end-container{border-left-color:rgba(0,0,0,.38);border-left-color:var(--mdc-theme-text-disabled-on-background,rgba(0,0,0,.38))}.forge-field:not(.forge-field--disabled):not(.forge-field--invalid) ::slotted([slot=addon-end]){color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-field--invalid:not(.forge-field--disabled) ::slotted([slot=addon-end]){color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field--disabled ::slotted([slot=addon-end]){color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38));cursor:not-allowed;pointer-events:none}.forge-text-field{-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;position:relative;z-index:1;z-index:var(--forge-z-index-surface,1);margin-top:0;margin-top:var(--forge-text-field-margin-top,0)}.forge-text-field.forge-field--disabled{background-color:#f5f5f5;background-color:var(--forge-theme-form-field-disabled-on-background,#f5f5f5);cursor:not-allowed}.forge-text-field:not(.forge-text-field--textarea):not(.forge-field--dense):not(.forge-field--roomy){height:3rem;height:var(--forge-text-field-height,3rem)}.forge-text-field:not(.forge-text-field--textarea).forge-field--roomy:not(.forge-field--dense){height:3.5rem;height:var(--forge-text-field-height,3.5rem)}.forge-text-field:not(.forge-text-field--textarea).forge-field--dense:not(.forge-field--roomy){height:1.5rem;height:var(--forge-text-field-height,1.5rem)}.forge-text-field__leading-container{display:-webkit-box;display:flex;align-self:center}.forge-text-field--multi-input ::slotted(input:first-of-type){padding-right:0;max-width:110px;min-width:110px;width:110px}.forge-text-field--multi-input ::slotted(input:last-of-type)::-webkit-input-placeholder{padding-left:6px}.forge-text-field--multi-input ::slotted(input:last-of-type)::-moz-placeholder{padding-left:6px}.forge-text-field--multi-input ::slotted(input:last-of-type):-ms-input-placeholder{padding-left:6px}.forge-text-field--multi-input ::slotted(input:last-of-type)::-ms-input-placeholder{padding-left:6px}.forge-text-field--multi-input ::slotted(input:last-of-type)::placeholder{padding-left:6px}.forge-text-field--multi-input ::slotted([data-forge-multi-input-separator]){color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87));border:transparent}.forge-text-field--multi-input.forge-field--label ::slotted([data-forge-multi-input-separator]){margin:20px 0 0 4px}.forge-text-field--multi-input:not(.forge-field--label) ::slotted([data-forge-multi-input-separator]){margin:0 0 0 4px}.forge-text-field.forge-text-field--textarea{height:auto;padding-right:2px;min-height:3rem;min-height:var(--forge-text-field-height,3rem)}.forge-text-field.forge-text-field--textarea ::slotted(textarea){-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-body1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:1rem;font-size:var(--mdc-typography-body1-font-size, 1rem);line-height:1.5rem;line-height:var(--mdc-typography-body1-line-height, 1.5rem);font-weight:400;font-weight:var(--mdc-typography-body1-font-weight,400);letter-spacing:.03125em;letter-spacing:var(--mdc-typography-body1-letter-spacing, .03125em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-body1-text-decoration,inherit);text-decoration:var(--mdc-typography-body1-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-body1-text-transform,inherit);align-self:flex-end;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;height:100%;-webkit-transition:opacity 150ms 0s cubic-bezier(.4, 0, .2, 1);transition:opacity 150ms 0s cubic-bezier(.4, 0, .2, 1);border:none;background:0 0;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:0;line-height:normal;min-width:0;font-size:1rem;margin:28px 0 0;padding:0 12px 8px;overflow:auto;resize:vertical}.forge-text-field.forge-text-field--textarea ::slotted(textarea)::-webkit-input-placeholder{color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54));font-size:.875rem}.forge-text-field.forge-text-field--textarea ::slotted(textarea)::-moz-placeholder{color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54));font-size:.875rem}.forge-text-field.forge-text-field--textarea ::slotted(textarea):-ms-input-placeholder{color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54));font-size:.875rem}.forge-text-field.forge-text-field--textarea ::slotted(textarea)::-ms-input-placeholder{color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54));font-size:.875rem}.forge-text-field.forge-text-field--textarea ::slotted(textarea)::placeholder{color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54));font-size:.875rem}.forge-text-field.forge-text-field--textarea ::slotted(textarea):invalid{-webkit-box-shadow:none;box-shadow:none}.forge-text-field.forge-text-field--textarea ::slotted(textarea):-webkit-autofill{z-index:auto!important}.forge-text-field.forge-text-field--textarea:not(.forge-field--disabled) ::slotted(textarea){color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87))}.forge-text-field.forge-text-field--textarea.forge-field--disabled ::slotted(textarea){color:rgba(0,0,0,.6);color:var(--forge-theme-form-field-text-disabled-on-background,rgba(0,0,0,.6));cursor:not-allowed}:host{display:block;contain:layout}:host([hidden]){display:none}';
16
+ import { TextFieldFoundation } from './text-field-foundation';
17
+ const template = '<template><forge-field id=\"field\"><slot slot=\"label\" name=\"label\"></slot><slot slot=\"start\" name=\"start\"></slot><slot></slot><slot slot=\"end\" name=\"end\"></slot><slot slot=\"end\" name=\"clear-button\"><forge-icon-button tabindex=\"-1\" dense><forge-icon name=\"clear\"></forge-icon></forge-icon-button><forge-tooltip type=\"label\"><slot name=\"clear-button-tooltip\">Clear</slot></forge-tooltip></slot><slot slot=\"accessory\" name=\"accessory\"></slot><slot slot=\"support-text-start\" name=\"support-text-start\"></slot><slot slot=\"support-text-end\" name=\"support-text-end\"></slot><slot slot=\"start\" name=\"leading\"></slot><slot slot=\"end\" name=\"trailing\"></slot><slot slot=\"accessory\" name=\"addon-end\"></slot><slot slot=\"support-text-start\" name=\"helper-text\"></slot></forge-field></template>';
18
+ const styles = ':host{display:block}:host([hidden]){display:none}forge-field{display:contents}';
14
19
  /**
15
- * The web component class behind the `<forge-text-field>` custom element.
16
- *
17
20
  * @tag forge-text-field
21
+ *
22
+ * @summary The Forge Text Field component wraps and styles an input or textarea element.
23
+ *
24
+ * @property {boolean} showClear - Whether the clear button appears when text has been entered.
25
+ * @property {HTMLElement} popoverTargetElement - Gets a reference to the element that the popover should target for best alignment.
26
+ *
27
+ * @attribute {boolean} show-clear - Whether the clear button appears when text has been entered.
28
+ *
29
+ * @event {CustomEvent<null>} forge-text-field-clear - Dispatches when the clear button is clicked.
30
+ *
31
+ * @csspart root - The root container element.
32
+ * @csspart label - The label element.
33
+ * @csspart container - The container element surrounding the input.
34
+ * @csspart input - The element containing te input slot.
35
+ * @csspart start - The element containing the start slot.
36
+ * @csspart end - The element containing the end slot.
37
+ * @csspart popover-icon - The popover icon element.
38
+ * @csspart accessory - The element containing the accessory slot.
39
+ * @csspart support-text - The support text element.
40
+ * @csspart support-text-start - The element containing the support text start slot.
41
+ * @csspart support-text-end - The element containing the support text end slot.
42
+ * @csspart focus-indicator - The focus indicator element.
43
+ *
44
+ * @slot - The default/unnamed slot for the field's input.
45
+ * @slot label - Renders its content as a positioned label.
46
+ * @slot start - Typically reserved for content/icons that render logically before the default slot content.
47
+ * @slot end - Typically reserved content/icons that render logically after the default slot content.
48
+ * @slot clear-button - Content slotted here replaces the default clear button.
49
+ * @slot clear-button-tooltip - Sets the text content of the clear button's tooltip and accessible label.
50
+ * @slot accessory - Used for content such as a button that is logically connected to the field but should appear distinct from the input.
51
+ * @slot support-text-start - Used for content that provides additional information about the field. Aligns to the inline start of the field.
52
+ * @slot support-text-end - Used for content that provides additional information about the field. Aligns to the inline end of the field.
18
53
  */
19
- let TextFieldComponent = class TextFieldComponent extends FieldComponent {
54
+ let TextFieldComponent = class TextFieldComponent extends BaseField {
55
+ static get observedAttributes() {
56
+ return [
57
+ ...Object.values(BASE_FIELD_CONSTANTS.observedAttributes),
58
+ ...Object.values(TEXT_FIELD_CONSTANTS.observedAttributes)
59
+ ];
60
+ }
20
61
  constructor() {
21
62
  super();
22
63
  attachShadowTemplate(this, template, styles);
23
64
  this._foundation = new TextFieldFoundation(new TextFieldAdapter(this));
65
+ IconRegistry.define(tylIconClear);
66
+ }
67
+ connectedCallback() {
68
+ this._foundation.initialize();
69
+ }
70
+ attributeChangedCallback(name, oldValue, newValue) {
71
+ super.attributeChangedCallback(name, oldValue, newValue);
72
+ switch (name) {
73
+ case TEXT_FIELD_CONSTANTS.attributes.SHOW_CLEAR:
74
+ this.showClear = coerceBoolean(newValue);
75
+ break;
76
+ }
77
+ }
78
+ get popoverTargetElement() {
79
+ return this._foundation.popoverTargetElement;
24
80
  }
25
81
  };
82
+ __decorate([
83
+ FoundationProperty()
84
+ ], TextFieldComponent.prototype, "showClear", void 0);
26
85
  TextFieldComponent = __decorate([
27
86
  CustomElement({
28
- name: TEXT_FIELD_CONSTANTS.elementName
87
+ name: TEXT_FIELD_CONSTANTS.elementName,
88
+ dependencies: [
89
+ FieldComponent,
90
+ IconButtonComponent,
91
+ TooltipComponent
92
+ ]
29
93
  })
30
94
  ], TextFieldComponent);
31
95
  export { TextFieldComponent };
@@ -3,7 +3,7 @@
3
3
  * Copyright 2023 Tyler Technologies, Inc.
4
4
  * License: Apache-2.0
5
5
  */
6
- import { getShadowElement, emitEvent, getActiveElement, toggleAttribute } from '@tylertech/forge-core';
6
+ import { emitEvent, getActiveElement, toggleAttribute } from '@tylertech/forge-core';
7
7
  import { BaseAdapter } from '../core';
8
8
  import { TIME_PICKER_CONSTANTS } from './time-picker-constants';
9
9
  import { TimeInputMask } from '../core/mask/time-input-mask';
@@ -128,7 +128,10 @@ export class TimePickerAdapter extends BaseAdapter {
128
128
  this.setToggleDisabled(isDisabled);
129
129
  }
130
130
  attachDropdown(config) {
131
- this._listDropdown = new ListDropdown(this._inputElement, config);
131
+ if (!this._targetElement) {
132
+ this._targetElement = this._getTargetElement(this._component.popupTarget);
133
+ }
134
+ this._listDropdown = new ListDropdown(this._targetElement, config);
132
135
  this._listDropdown.open();
133
136
  this._inputElement.setAttribute('aria-controls', `list-dropdown-popup-${config.id}`);
134
137
  }
@@ -198,14 +201,9 @@ export class TimePickerAdapter extends BaseAdapter {
198
201
  return this._targetElement;
199
202
  }
200
203
  _getDefaultTargetElement() {
201
- // This component is often used with the text-field, if so, let's target our popup around one if its internal elements for proper alignnment
204
+ var _a;
205
+ // This component is often used with the text-field, if so, let's target our popup around one if its internal elements for proper alignment
202
206
  const textField = this._component.querySelector(TEXT_FIELD_CONSTANTS.elementName);
203
- if (textField && textField.shadowRoot) {
204
- const textFieldRoot = getShadowElement(textField, TEXT_FIELD_CONSTANTS.selectors.ROOT);
205
- if (textFieldRoot) {
206
- return textFieldRoot;
207
- }
208
- }
209
- return this._component; // Otherwise we just use the time-picker host as the target
207
+ return (_a = textField === null || textField === void 0 ? void 0 : textField.popoverTargetElement) !== null && _a !== void 0 ? _a : this._component;
210
208
  }
211
209
  }