@tylertech/forge 2.13.2 → 2.14.0-dev.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (378) hide show
  1. package/custom-elements.json +1079 -233
  2. package/dist/esm/accordion/index.js +1 -1
  3. package/dist/esm/app-bar/help-button/index.js +1 -1
  4. package/dist/esm/app-bar/index.js +1 -1
  5. package/dist/esm/app-bar/menu-button/index.js +1 -1
  6. package/dist/esm/app-bar/notification-button/index.js +1 -1
  7. package/dist/esm/app-bar/profile-button/index.js +1 -1
  8. package/dist/esm/app-bar/search/index.js +1 -1
  9. package/dist/esm/autocomplete/index.js +1 -1
  10. package/dist/esm/banner/index.js +1 -1
  11. package/dist/esm/bottom-sheet/index.js +1 -1
  12. package/dist/esm/busy-indicator/index.js +1 -1
  13. package/dist/esm/button/index.js +1 -1
  14. package/dist/esm/button-toggle/button-toggle/index.js +1 -1
  15. package/dist/esm/button-toggle/button-toggle-group/index.js +1 -1
  16. package/dist/esm/button-toggle/index.js +1 -1
  17. package/dist/esm/calendar/calendar-dropdown/index.js +1 -1
  18. package/dist/esm/calendar/calendar-menu/index.js +1 -1
  19. package/dist/esm/calendar/index.js +1 -1
  20. package/dist/esm/checkbox/index.js +1 -1
  21. package/dist/esm/chip-field/index.js +1 -1
  22. package/dist/esm/chips/chip/index.js +1 -1
  23. package/dist/esm/chips/chip-set/index.js +1 -1
  24. package/dist/esm/chips/index.js +1 -1
  25. package/dist/esm/chunks/chunk.24X566SZ.js +7 -0
  26. package/dist/esm/chunks/chunk.24X566SZ.js.map +7 -0
  27. package/dist/esm/chunks/{chunk.N24NHF7Y.js → chunk.2D4IBAWP.js} +2 -2
  28. package/dist/esm/chunks/chunk.323FEQVK.js +7 -0
  29. package/dist/esm/chunks/chunk.323FEQVK.js.map +7 -0
  30. package/dist/esm/chunks/{chunk.Y4L7AVUS.js → chunk.3G237L6C.js} +2 -2
  31. package/dist/esm/chunks/chunk.3UB364WW.js +7 -0
  32. package/dist/esm/chunks/chunk.3UB364WW.js.map +7 -0
  33. package/dist/esm/chunks/chunk.4YH3GB4D.js +12 -0
  34. package/dist/esm/chunks/{chunk.BTI5I25G.js.map → chunk.4YH3GB4D.js.map} +1 -1
  35. package/dist/esm/chunks/{chunk.HPJ4AQIE.js → chunk.54RF4ZT6.js} +2 -2
  36. package/dist/esm/chunks/{chunk.ALJ3FDXL.js → chunk.5DKXUTFN.js} +2 -2
  37. package/dist/esm/chunks/{chunk.ALJ3FDXL.js.map → chunk.5DKXUTFN.js.map} +1 -1
  38. package/dist/esm/chunks/{chunk.5TVWDATE.js → chunk.5W5IPKAU.js} +2 -2
  39. package/dist/esm/chunks/{chunk.PBJEZJTY.js → chunk.65G33MJV.js} +2 -2
  40. package/dist/esm/chunks/{chunk.TLS4ALGU.js → chunk.6NBVXSNZ.js} +2 -2
  41. package/dist/esm/chunks/{chunk.Z4MN5NB5.js → chunk.73O3BMP2.js} +2 -2
  42. package/dist/esm/chunks/{chunk.WEUNLYMQ.js → chunk.7LBAA7TC.js} +2 -2
  43. package/dist/esm/chunks/chunk.AGEBZY4S.js +7 -0
  44. package/dist/esm/chunks/chunk.AGEBZY4S.js.map +7 -0
  45. package/dist/esm/chunks/chunk.B5HGV5EZ.js +7 -0
  46. package/dist/esm/chunks/chunk.B5HGV5EZ.js.map +7 -0
  47. package/dist/esm/chunks/chunk.C557PTJ5.js +7 -0
  48. package/dist/esm/chunks/chunk.C557PTJ5.js.map +7 -0
  49. package/dist/esm/chunks/{chunk.VW4JVRH7.js → chunk.CN7DHS4J.js} +2 -2
  50. package/dist/esm/chunks/chunk.CUT7V2KN.js +7 -0
  51. package/dist/esm/chunks/chunk.CUT7V2KN.js.map +7 -0
  52. package/dist/esm/chunks/chunk.CZIQTYFJ.js +7 -0
  53. package/dist/esm/chunks/chunk.CZIQTYFJ.js.map +7 -0
  54. package/dist/esm/chunks/{chunk.BYRJ7577.js → chunk.DRI2NLIB.js} +2 -2
  55. package/dist/esm/chunks/chunk.EE2LK23T.js +7 -0
  56. package/dist/esm/chunks/chunk.EE2LK23T.js.map +7 -0
  57. package/dist/esm/chunks/chunk.EXKBJEFL.js +7 -0
  58. package/dist/esm/chunks/{chunk.ZPBGKHHM.js.map → chunk.EXKBJEFL.js.map} +2 -2
  59. package/dist/esm/chunks/{chunk.7MVBJ37L.js → chunk.FBERE7AL.js} +2 -2
  60. package/dist/esm/chunks/{chunk.OJFI5I6O.js → chunk.FQEETXUQ.js} +2 -2
  61. package/dist/esm/chunks/{chunk.3STDLL5U.js → chunk.G5JTL66M.js} +2 -2
  62. package/dist/esm/chunks/chunk.GVZEMIA3.js +7 -0
  63. package/dist/esm/chunks/chunk.GVZEMIA3.js.map +7 -0
  64. package/dist/esm/chunks/{chunk.BCP2YATB.js → chunk.GZEWDHFJ.js} +2 -2
  65. package/dist/esm/chunks/chunk.HQJZRTOH.js +7 -0
  66. package/dist/esm/chunks/chunk.HQJZRTOH.js.map +7 -0
  67. package/dist/esm/chunks/{chunk.ZAGCOV55.js → chunk.HUX56BCR.js} +2 -2
  68. package/dist/esm/chunks/chunk.K5WLIDQK.js +7 -0
  69. package/dist/esm/chunks/chunk.K5WLIDQK.js.map +7 -0
  70. package/dist/esm/chunks/chunk.LGECRZFO.js +7 -0
  71. package/dist/esm/chunks/chunk.LGECRZFO.js.map +7 -0
  72. package/dist/esm/chunks/{chunk.MBS5VMYY.js → chunk.LYAS4FAN.js} +2 -2
  73. package/dist/esm/chunks/{chunk.MBS5VMYY.js.map → chunk.LYAS4FAN.js.map} +2 -2
  74. package/dist/esm/chunks/{chunk.YG2KLPHA.js.map → chunk.MU4FV57Q.js} +7 -7
  75. package/dist/esm/chunks/chunk.MU4FV57Q.js.map +7 -0
  76. package/dist/esm/chunks/chunk.N6QJ2RRG.js +7 -0
  77. package/dist/esm/chunks/chunk.N6QJ2RRG.js.map +7 -0
  78. package/dist/esm/chunks/{chunk.O5I3ZMDA.js → chunk.NG5EGZ5Y.js} +2 -2
  79. package/dist/esm/chunks/chunk.NXS7A7PO.js +7 -0
  80. package/dist/esm/chunks/{chunk.5BDTX7CR.js.map → chunk.NXS7A7PO.js.map} +2 -2
  81. package/dist/esm/chunks/{chunk.SLSVRMAS.js → chunk.NZTGBDRK.js} +2 -2
  82. package/dist/esm/chunks/{chunk.OLNFXF3V.js → chunk.O4LGKJY6.js} +2 -2
  83. package/dist/esm/chunks/{chunk.NV2HNCQH.js → chunk.OGZOXNGT.js} +2 -2
  84. package/dist/esm/chunks/chunk.OKIRZEUG.js +7 -0
  85. package/dist/esm/chunks/chunk.OKIRZEUG.js.map +7 -0
  86. package/dist/esm/chunks/{chunk.36VS7FMU.js → chunk.OTI6WL66.js} +2 -2
  87. package/dist/esm/chunks/chunk.P45HS252.js +7 -0
  88. package/dist/esm/chunks/chunk.P45HS252.js.map +7 -0
  89. package/dist/esm/chunks/{chunk.Y5GQ2BA7.js → chunk.P5GT5YBP.js} +2 -2
  90. package/dist/esm/chunks/chunk.P6IF3USM.js +7 -0
  91. package/dist/esm/chunks/chunk.P6IF3USM.js.map +7 -0
  92. package/dist/esm/chunks/chunk.PBL2N45I.js +7 -0
  93. package/dist/esm/chunks/chunk.PBL2N45I.js.map +7 -0
  94. package/dist/esm/chunks/{chunk.HWQEGQDD.js → chunk.PHJPLWFH.js} +2 -2
  95. package/dist/esm/chunks/chunk.PRO76W5D.js +7 -0
  96. package/dist/esm/chunks/{chunk.7TDB3VFH.js.map → chunk.PRO76W5D.js.map} +2 -2
  97. package/dist/esm/chunks/chunk.PV5MABYN.js +7 -0
  98. package/dist/esm/chunks/chunk.PV5MABYN.js.map +7 -0
  99. package/dist/esm/chunks/chunk.R2L3S3YD.js +7 -0
  100. package/dist/esm/chunks/chunk.R2L3S3YD.js.map +7 -0
  101. package/dist/esm/chunks/{chunk.QH4DLM3R.js → chunk.R4NZYUID.js} +2 -2
  102. package/dist/esm/chunks/chunk.RH2NL523.js +7 -0
  103. package/dist/esm/chunks/chunk.RH2NL523.js.map +7 -0
  104. package/dist/esm/chunks/{chunk.IMZ5PF4C.js → chunk.ROF42KJ3.js} +2 -2
  105. package/dist/esm/chunks/{chunk.B52LJRGH.js → chunk.RT4C67NK.js} +2 -2
  106. package/dist/esm/chunks/chunk.T2M2KVP7.js +29 -0
  107. package/dist/esm/chunks/chunk.T2M2KVP7.js.map +7 -0
  108. package/dist/esm/chunks/chunk.TMJBIAWC.js +7 -0
  109. package/dist/esm/chunks/chunk.TMJBIAWC.js.map +7 -0
  110. package/dist/esm/chunks/{chunk.HHJJJ73Y.js → chunk.UPFJ3PVE.js} +2 -2
  111. package/dist/esm/chunks/{chunk.HHJJJ73Y.js.map → chunk.UPFJ3PVE.js.map} +1 -1
  112. package/dist/esm/chunks/{chunk.DB2WESQC.js → chunk.XC76IHG4.js} +2 -2
  113. package/dist/esm/chunks/chunk.XCUYZZV4.js +7 -0
  114. package/dist/esm/chunks/chunk.XCUYZZV4.js.map +7 -0
  115. package/dist/esm/chunks/{chunk.YONRMJU5.js → chunk.XMI5RBZQ.js} +2 -2
  116. package/dist/esm/chunks/chunk.XMI5RBZQ.js.map +7 -0
  117. package/dist/esm/chunks/chunk.XY4N4TSH.js +7 -0
  118. package/dist/esm/chunks/chunk.XY4N4TSH.js.map +7 -0
  119. package/dist/esm/chunks/{chunk.N46G56GG.js → chunk.YKXCORJE.js} +2 -2
  120. package/dist/esm/chunks/{chunk.2ZQ3ZDPN.js → chunk.YPMN5U7C.js} +2 -2
  121. package/dist/esm/chunks/{chunk.X5JLUP7O.js → chunk.YW47QJVY.js} +2 -2
  122. package/dist/esm/chunks/{chunk.JXY6MTP3.js → chunk.ZAKLVVFO.js} +2 -2
  123. package/dist/esm/chunks/{chunk.YWRCWMNO.js → chunk.ZQCHS2PS.js} +2 -2
  124. package/dist/esm/color-picker/index.js +1 -1
  125. package/dist/esm/core/index.js +1 -1
  126. package/dist/esm/core/utils/index.js +1 -1
  127. package/dist/esm/date-picker/index.js +1 -1
  128. package/dist/esm/date-range-picker/index.js +1 -1
  129. package/dist/esm/dialog/index.js +1 -1
  130. package/dist/esm/expansion-panel/index.js +1 -1
  131. package/dist/esm/file-picker/index.js +1 -1
  132. package/dist/esm/floating-action-button/index.js +1 -1
  133. package/dist/esm/icon/index.js +1 -1
  134. package/dist/esm/icon-button/index.js +1 -1
  135. package/dist/esm/index.js +1 -1
  136. package/dist/esm/linear-progress/index.js +1 -1
  137. package/dist/esm/list/index.js +1 -1
  138. package/dist/esm/list/list/index.js +1 -1
  139. package/dist/esm/list/list-item/index.js +1 -1
  140. package/dist/esm/list-dropdown/index.js +1 -1
  141. package/dist/esm/menu/index.js +1 -1
  142. package/dist/esm/open-icon/index.js +1 -1
  143. package/dist/esm/paginator/index.js +1 -1
  144. package/dist/esm/popup/index.js +1 -1
  145. package/dist/esm/profile-card/index.js +1 -1
  146. package/dist/esm/quantity-field/index.js +1 -1
  147. package/dist/esm/radio/index.js +1 -1
  148. package/dist/esm/ripple/index.js +1 -1
  149. package/dist/esm/select/core/index.js +1 -1
  150. package/dist/esm/select/index.js +1 -1
  151. package/dist/esm/select/option-group/index.js +1 -1
  152. package/dist/esm/select/select/index.js +1 -1
  153. package/dist/esm/select/select-dropdown/index.js +1 -1
  154. package/dist/esm/slider/index.js +1 -1
  155. package/dist/esm/split-view/index.js +1 -1
  156. package/dist/esm/split-view/split-view/index.js +1 -1
  157. package/dist/esm/split-view/split-view-panel/index.js +1 -1
  158. package/dist/esm/stepper/index.js +1 -1
  159. package/dist/esm/stepper/step/index.js +1 -1
  160. package/dist/esm/stepper/stepper/index.js +1 -1
  161. package/dist/esm/switch/index.js +1 -1
  162. package/dist/esm/table/index.js +1 -1
  163. package/dist/esm/tabs/index.js +1 -1
  164. package/dist/esm/tabs/tab/index.js +1 -1
  165. package/dist/esm/tabs/tab-bar/index.js +1 -1
  166. package/dist/esm/text-field/index.js +1 -1
  167. package/dist/esm/time-picker/index.js +1 -1
  168. package/dist/esm/toast/index.js +1 -1
  169. package/dist/esm/toolbar/index.js +1 -1
  170. package/esm/app-bar/notification-button/app-bar-notification-button-adapter.d.ts +3 -0
  171. package/esm/app-bar/notification-button/app-bar-notification-button-adapter.js +5 -0
  172. package/esm/app-bar/notification-button/app-bar-notification-button-constants.d.ts +1 -0
  173. package/esm/app-bar/notification-button/app-bar-notification-button-constants.js +2 -1
  174. package/esm/app-bar/notification-button/app-bar-notification-button-foundation.d.ts +4 -0
  175. package/esm/app-bar/notification-button/app-bar-notification-button-foundation.js +14 -0
  176. package/esm/app-bar/notification-button/app-bar-notification-button.d.ts +2 -0
  177. package/esm/app-bar/notification-button/app-bar-notification-button.js +9 -2
  178. package/esm/autocomplete/autocomplete-adapter.d.ts +9 -10
  179. package/esm/autocomplete/autocomplete-adapter.js +1 -1
  180. package/esm/autocomplete/autocomplete-constants.d.ts +10 -12
  181. package/esm/autocomplete/autocomplete-foundation.d.ts +6 -7
  182. package/esm/autocomplete/autocomplete-foundation.js +5 -2
  183. package/esm/autocomplete/autocomplete-utils.d.ts +4 -5
  184. package/esm/autocomplete/autocomplete.d.ts +3 -4
  185. package/esm/autocomplete/autocomplete.js +2 -2
  186. package/esm/button/button-constants.d.ts +1 -0
  187. package/esm/button/button-constants.js +2 -1
  188. package/esm/button/button.d.ts +1 -1
  189. package/esm/button/button.js +6 -7
  190. package/esm/calendar/calendar-foundation.js +1 -0
  191. package/esm/checkbox/checkbox-adapter.d.ts +1 -2
  192. package/esm/checkbox/checkbox-adapter.js +12 -8
  193. package/esm/checkbox/checkbox-foundation.js +0 -3
  194. package/esm/chip-field/chip-field-adapter.d.ts +2 -0
  195. package/esm/chip-field/chip-field-adapter.js +8 -3
  196. package/esm/chip-field/chip-field-foundation.js +1 -0
  197. package/esm/chip-field/chip-field.js +1 -1
  198. package/esm/color-picker/color-picker-foundation.d.ts +1 -0
  199. package/esm/color-picker/color-picker-foundation.js +19 -8
  200. package/esm/core/utils/date-utils.js +2 -2
  201. package/esm/core/utils/utils.d.ts +0 -6
  202. package/esm/core/utils/utils.js +0 -10
  203. package/esm/date-picker/base/base-date-picker-foundation.js +2 -1
  204. package/esm/date-picker/base/base-date-picker.d.ts +2 -2
  205. package/esm/date-range-picker/date-range-picker-foundation.d.ts +2 -2
  206. package/esm/date-range-picker/date-range-picker-foundation.js +1 -1
  207. package/esm/dialog/dialog-adapter.d.ts +0 -2
  208. package/esm/dialog/dialog-adapter.js +1 -10
  209. package/esm/dialog/dialog-foundation.js +0 -1
  210. package/esm/file-picker/file-picker-adapter.js +3 -2
  211. package/esm/file-picker/file-picker-foundation.d.ts +2 -0
  212. package/esm/file-picker/file-picker-foundation.js +15 -38
  213. package/esm/file-picker/file-picker.d.ts +1 -0
  214. package/esm/file-picker/file-picker.js +3 -0
  215. package/esm/floating-action-button/floating-action-button-constants.js +1 -1
  216. package/esm/icon-button/icon-button-constants.js +1 -1
  217. package/esm/icon-button/icon-button.d.ts +1 -1
  218. package/esm/icon-button/icon-button.js +6 -6
  219. package/esm/linear-progress/linear-progress.js +1 -1
  220. package/esm/list/list-item/list-item-foundation.js +1 -2
  221. package/esm/list/list-item/list-item.js +1 -1
  222. package/esm/list-dropdown/cascading-list-dropdown-aware-foundation.d.ts +5 -2
  223. package/esm/list-dropdown/cascading-list-dropdown-aware-foundation.js +3 -1
  224. package/esm/list-dropdown/list-dropdown-aware-foundation.d.ts +8 -0
  225. package/esm/list-dropdown/list-dropdown-aware-foundation.js +14 -0
  226. package/esm/list-dropdown/list-dropdown-aware.d.ts +11 -2
  227. package/esm/list-dropdown/list-dropdown-aware.js +12 -0
  228. package/esm/list-dropdown/list-dropdown-constants.d.ts +9 -3
  229. package/esm/list-dropdown/list-dropdown-constants.js +2 -0
  230. package/esm/list-dropdown/list-dropdown-foundation.js +2 -6
  231. package/esm/list-dropdown/list-dropdown-utils.d.ts +1 -0
  232. package/esm/list-dropdown/list-dropdown-utils.js +39 -17
  233. package/esm/menu/menu-adapter.d.ts +2 -0
  234. package/esm/menu/menu-adapter.js +7 -0
  235. package/esm/menu/menu-constants.js +1 -1
  236. package/esm/menu/menu-foundation.d.ts +12 -3
  237. package/esm/menu/menu-foundation.js +28 -17
  238. package/esm/menu/menu.d.ts +6 -1
  239. package/esm/menu/menu.js +9 -3
  240. package/esm/popup/popup-adapter.js +9 -1
  241. package/esm/popup/popup-constants.d.ts +1 -0
  242. package/esm/popup/popup-constants.js +2 -1
  243. package/esm/popup/popup-foundation.d.ts +4 -0
  244. package/esm/popup/popup-foundation.js +7 -0
  245. package/esm/popup/popup.d.ts +2 -0
  246. package/esm/popup/popup.js +4 -1
  247. package/esm/quantity-field/quantity-field-adapter.d.ts +2 -0
  248. package/esm/quantity-field/quantity-field-adapter.js +8 -0
  249. package/esm/quantity-field/quantity-field-foundation.js +1 -0
  250. package/esm/quantity-field/quantity-field.js +6 -0
  251. package/esm/radio/radio-adapter.d.ts +3 -3
  252. package/esm/radio/radio-adapter.js +17 -15
  253. package/esm/radio/radio-foundation.js +1 -1
  254. package/esm/ripple/forge-ripple.d.ts +1 -0
  255. package/esm/ripple/forge-ripple.js +3 -0
  256. package/esm/ripple/ripple-constants.d.ts +1 -0
  257. package/esm/ripple/ripple-constants.js +2 -1
  258. package/esm/ripple/ripple-foundation.d.ts +4 -0
  259. package/esm/ripple/ripple-foundation.js +10 -0
  260. package/esm/ripple/ripple.d.ts +2 -0
  261. package/esm/ripple/ripple.js +8 -1
  262. package/esm/select/core/base-select-adapter.js +8 -6
  263. package/esm/select/core/base-select-constants.d.ts +2 -0
  264. package/esm/select/core/base-select-constants.js +3 -1
  265. package/esm/select/core/base-select-foundation.d.ts +0 -9
  266. package/esm/select/core/base-select-foundation.js +5 -26
  267. package/esm/select/core/select-utils.js +1 -1
  268. package/esm/select/option-group/option-group.d.ts +12 -1
  269. package/esm/select/option-group/option-group.js +7 -0
  270. package/esm/select/select/select.js +5 -3
  271. package/esm/split-view/split-view-panel/split-view-panel.js +1 -1
  272. package/esm/switch/switch.js +37 -12
  273. package/esm/table/table-foundation.d.ts +7 -0
  274. package/esm/table/table-foundation.js +9 -0
  275. package/esm/table/table-utils.js +6 -3
  276. package/esm/table/table.d.ts +7 -0
  277. package/esm/table/table.js +8 -0
  278. package/esm/table/types.d.ts +8 -4
  279. package/esm/text-field/text-field.js +1 -1
  280. package/esm/time-picker/time-picker-foundation.js +1 -0
  281. package/esm/toolbar/toolbar.js +2 -2
  282. package/package.json +30 -3
  283. package/styles/chip-field/_selector.scss +12 -13
  284. package/styles/chip-field/chip-field.scss +1 -1
  285. package/styles/field/_base.scss +2 -2
  286. package/styles/field/_selector.scss +1 -1
  287. package/styles/list/list-item/_mixins.scss +28 -17
  288. package/styles/list/list-item/_variables.scss +13 -4
  289. package/styles/popup/popup.scss +4 -0
  290. package/styles/toolbar/_mixins.scss +1 -2
  291. package/styles/toolbar/toolbar.scss +13 -0
  292. package/dist/esm/chunks/chunk.3MP6OFVU.js +0 -7
  293. package/dist/esm/chunks/chunk.3MP6OFVU.js.map +0 -7
  294. package/dist/esm/chunks/chunk.4K3IV4GI.js +0 -7
  295. package/dist/esm/chunks/chunk.4K3IV4GI.js.map +0 -7
  296. package/dist/esm/chunks/chunk.5BDTX7CR.js +0 -7
  297. package/dist/esm/chunks/chunk.6LXDG4W5.js +0 -7
  298. package/dist/esm/chunks/chunk.6LXDG4W5.js.map +0 -7
  299. package/dist/esm/chunks/chunk.7R6TYPPS.js +0 -7
  300. package/dist/esm/chunks/chunk.7R6TYPPS.js.map +0 -7
  301. package/dist/esm/chunks/chunk.7TDB3VFH.js +0 -7
  302. package/dist/esm/chunks/chunk.BCD4AAI2.js +0 -7
  303. package/dist/esm/chunks/chunk.BCD4AAI2.js.map +0 -7
  304. package/dist/esm/chunks/chunk.BTI5I25G.js +0 -12
  305. package/dist/esm/chunks/chunk.DLAIQJHL.js +0 -7
  306. package/dist/esm/chunks/chunk.DLAIQJHL.js.map +0 -7
  307. package/dist/esm/chunks/chunk.DURRORXO.js +0 -29
  308. package/dist/esm/chunks/chunk.DURRORXO.js.map +0 -7
  309. package/dist/esm/chunks/chunk.EDU7RQD7.js +0 -7
  310. package/dist/esm/chunks/chunk.EDU7RQD7.js.map +0 -7
  311. package/dist/esm/chunks/chunk.ETIN6DEM.js +0 -7
  312. package/dist/esm/chunks/chunk.ETIN6DEM.js.map +0 -7
  313. package/dist/esm/chunks/chunk.F2GXZPID.js +0 -7
  314. package/dist/esm/chunks/chunk.F2GXZPID.js.map +0 -7
  315. package/dist/esm/chunks/chunk.F3Q62EMG.js +0 -7
  316. package/dist/esm/chunks/chunk.F3Q62EMG.js.map +0 -7
  317. package/dist/esm/chunks/chunk.GEMZPO6Z.js +0 -7
  318. package/dist/esm/chunks/chunk.GEMZPO6Z.js.map +0 -7
  319. package/dist/esm/chunks/chunk.JMXJXZTS.js +0 -7
  320. package/dist/esm/chunks/chunk.JMXJXZTS.js.map +0 -7
  321. package/dist/esm/chunks/chunk.M4KJNCLO.js +0 -7
  322. package/dist/esm/chunks/chunk.M4KJNCLO.js.map +0 -7
  323. package/dist/esm/chunks/chunk.MBWEYW6M.js +0 -7
  324. package/dist/esm/chunks/chunk.MBWEYW6M.js.map +0 -7
  325. package/dist/esm/chunks/chunk.O2R6MBT5.js +0 -7
  326. package/dist/esm/chunks/chunk.O2R6MBT5.js.map +0 -7
  327. package/dist/esm/chunks/chunk.ON6FJ2D6.js +0 -7
  328. package/dist/esm/chunks/chunk.ON6FJ2D6.js.map +0 -7
  329. package/dist/esm/chunks/chunk.PCSCKTFS.js +0 -7
  330. package/dist/esm/chunks/chunk.PCSCKTFS.js.map +0 -7
  331. package/dist/esm/chunks/chunk.Q3RRONZQ.js +0 -7
  332. package/dist/esm/chunks/chunk.Q3RRONZQ.js.map +0 -7
  333. package/dist/esm/chunks/chunk.QIJHHDYF.js +0 -7
  334. package/dist/esm/chunks/chunk.QIJHHDYF.js.map +0 -7
  335. package/dist/esm/chunks/chunk.QMRLSOAB.js +0 -7
  336. package/dist/esm/chunks/chunk.QMRLSOAB.js.map +0 -7
  337. package/dist/esm/chunks/chunk.UOWU5VVK.js +0 -7
  338. package/dist/esm/chunks/chunk.UOWU5VVK.js.map +0 -7
  339. package/dist/esm/chunks/chunk.WOHCW6KW.js +0 -7
  340. package/dist/esm/chunks/chunk.WOHCW6KW.js.map +0 -7
  341. package/dist/esm/chunks/chunk.WU24GAQY.js +0 -7
  342. package/dist/esm/chunks/chunk.WU24GAQY.js.map +0 -7
  343. package/dist/esm/chunks/chunk.XSZ4S77A.js +0 -7
  344. package/dist/esm/chunks/chunk.XSZ4S77A.js.map +0 -7
  345. package/dist/esm/chunks/chunk.YG2KLPHA.js +0 -7
  346. package/dist/esm/chunks/chunk.YONRMJU5.js.map +0 -7
  347. package/dist/esm/chunks/chunk.ZPBGKHHM.js +0 -7
  348. /package/dist/esm/chunks/{chunk.N24NHF7Y.js.map → chunk.2D4IBAWP.js.map} +0 -0
  349. /package/dist/esm/chunks/{chunk.Y4L7AVUS.js.map → chunk.3G237L6C.js.map} +0 -0
  350. /package/dist/esm/chunks/{chunk.HPJ4AQIE.js.map → chunk.54RF4ZT6.js.map} +0 -0
  351. /package/dist/esm/chunks/{chunk.5TVWDATE.js.map → chunk.5W5IPKAU.js.map} +0 -0
  352. /package/dist/esm/chunks/{chunk.PBJEZJTY.js.map → chunk.65G33MJV.js.map} +0 -0
  353. /package/dist/esm/chunks/{chunk.TLS4ALGU.js.map → chunk.6NBVXSNZ.js.map} +0 -0
  354. /package/dist/esm/chunks/{chunk.Z4MN5NB5.js.map → chunk.73O3BMP2.js.map} +0 -0
  355. /package/dist/esm/chunks/{chunk.WEUNLYMQ.js.map → chunk.7LBAA7TC.js.map} +0 -0
  356. /package/dist/esm/chunks/{chunk.VW4JVRH7.js.map → chunk.CN7DHS4J.js.map} +0 -0
  357. /package/dist/esm/chunks/{chunk.BYRJ7577.js.map → chunk.DRI2NLIB.js.map} +0 -0
  358. /package/dist/esm/chunks/{chunk.7MVBJ37L.js.map → chunk.FBERE7AL.js.map} +0 -0
  359. /package/dist/esm/chunks/{chunk.OJFI5I6O.js.map → chunk.FQEETXUQ.js.map} +0 -0
  360. /package/dist/esm/chunks/{chunk.3STDLL5U.js.map → chunk.G5JTL66M.js.map} +0 -0
  361. /package/dist/esm/chunks/{chunk.BCP2YATB.js.map → chunk.GZEWDHFJ.js.map} +0 -0
  362. /package/dist/esm/chunks/{chunk.ZAGCOV55.js.map → chunk.HUX56BCR.js.map} +0 -0
  363. /package/dist/esm/chunks/{chunk.O5I3ZMDA.js.map → chunk.NG5EGZ5Y.js.map} +0 -0
  364. /package/dist/esm/chunks/{chunk.SLSVRMAS.js.map → chunk.NZTGBDRK.js.map} +0 -0
  365. /package/dist/esm/chunks/{chunk.OLNFXF3V.js.map → chunk.O4LGKJY6.js.map} +0 -0
  366. /package/dist/esm/chunks/{chunk.NV2HNCQH.js.map → chunk.OGZOXNGT.js.map} +0 -0
  367. /package/dist/esm/chunks/{chunk.36VS7FMU.js.map → chunk.OTI6WL66.js.map} +0 -0
  368. /package/dist/esm/chunks/{chunk.Y5GQ2BA7.js.map → chunk.P5GT5YBP.js.map} +0 -0
  369. /package/dist/esm/chunks/{chunk.HWQEGQDD.js.map → chunk.PHJPLWFH.js.map} +0 -0
  370. /package/dist/esm/chunks/{chunk.QH4DLM3R.js.map → chunk.R4NZYUID.js.map} +0 -0
  371. /package/dist/esm/chunks/{chunk.IMZ5PF4C.js.map → chunk.ROF42KJ3.js.map} +0 -0
  372. /package/dist/esm/chunks/{chunk.B52LJRGH.js.map → chunk.RT4C67NK.js.map} +0 -0
  373. /package/dist/esm/chunks/{chunk.DB2WESQC.js.map → chunk.XC76IHG4.js.map} +0 -0
  374. /package/dist/esm/chunks/{chunk.N46G56GG.js.map → chunk.YKXCORJE.js.map} +0 -0
  375. /package/dist/esm/chunks/{chunk.2ZQ3ZDPN.js.map → chunk.YPMN5U7C.js.map} +0 -0
  376. /package/dist/esm/chunks/{chunk.X5JLUP7O.js.map → chunk.YW47QJVY.js.map} +0 -0
  377. /package/dist/esm/chunks/{chunk.JXY6MTP3.js.map → chunk.ZAKLVVFO.js.map} +0 -0
  378. /package/dist/esm/chunks/{chunk.YWRCWMNO.js.map → chunk.ZQCHS2PS.js.map} +0 -0
@@ -11,6 +11,7 @@ export class AppBarNotificationButtonFoundation {
11
11
  this._dot = false;
12
12
  this._showBadge = false;
13
13
  this._isInitialized = false;
14
+ this._icon = 'notifications';
14
15
  }
15
16
  initialize() {
16
17
  this._adapter.initialize();
@@ -18,11 +19,24 @@ export class AppBarNotificationButtonFoundation {
18
19
  this._adapter.setBadgeType(this._dot);
19
20
  this._adapter.setBadgeTheme(this._theme);
20
21
  this._adapter.setBadgeVisible(this._showBadge);
22
+ this._adapter.setIcon(this._icon);
21
23
  this._isInitialized = true;
22
24
  }
23
25
  disconnect() {
24
26
  this._isInitialized = false;
25
27
  }
28
+ get icon() {
29
+ return this._icon;
30
+ }
31
+ set icon(value) {
32
+ if (this._icon !== value) {
33
+ this._icon = value;
34
+ if (this._isInitialized) {
35
+ this._adapter.setIcon(this._icon);
36
+ this._adapter.setHostAttribute(APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.ICON, this._icon);
37
+ }
38
+ }
39
+ }
26
40
  get count() {
27
41
  return this._count;
28
42
  }
@@ -14,6 +14,7 @@ export interface IAppBarNotificationButtonComponent extends IBaseComponent {
14
14
  dot: boolean;
15
15
  showBadge: boolean;
16
16
  theme: string;
17
+ icon: string;
17
18
  }
18
19
  /**
19
20
  * The web component class behind the `<forge-app-bar-notification-button>` custom element.
@@ -30,5 +31,6 @@ export declare class AppBarNotificationButtonComponent extends BaseComponent imp
30
31
  count: number;
31
32
  dot: boolean;
32
33
  theme: string;
34
+ icon: string;
33
35
  showBadge: boolean;
34
36
  }
@@ -14,7 +14,7 @@ import { TooltipComponent } from '../../tooltip';
14
14
  import { AppBarNotificationButtonAdapter } from './app-bar-notification-button-adapter';
15
15
  import { APP_BAR_NOTIFICATION_BUTTON_CONSTANTS } from './app-bar-notification-button-constants';
16
16
  import { AppBarNotificationButtonFoundation } from './app-bar-notification-button-foundation';
17
- const template = '<template><forge-icon-button class=\"forge-icon-button--with-badge\"><button type=\"button\" aria-label=\"Show notifications\"><forge-icon name=\"notifications\"></forge-icon></button><forge-tooltip delay=\"500\" position=\"bottom\">Notifications</forge-tooltip><forge-badge positioned app-bar-context></forge-badge></forge-icon-button></template>';
17
+ const template = '<template><forge-icon-button class=\"forge-icon-button--with-badge\"><button type=\"button\" aria-label=\"Show notifications\"><forge-icon></forge-icon></button><forge-tooltip delay=\"500\" position=\"bottom\">Notifications</forge-tooltip><forge-badge positioned app-bar-context></forge-badge></forge-icon-button></template>';
18
18
  /**
19
19
  * The web component class behind the `<forge-app-bar-notification-button>` custom element.
20
20
  *
@@ -31,7 +31,8 @@ let AppBarNotificationButtonComponent = class AppBarNotificationButtonComponent
31
31
  APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.COUNT,
32
32
  APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.DOT,
33
33
  APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.THEME,
34
- APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.SHOW_BADGE
34
+ APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.SHOW_BADGE,
35
+ APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.ICON
35
36
  ];
36
37
  }
37
38
  initializedCallback() {
@@ -51,6 +52,9 @@ let AppBarNotificationButtonComponent = class AppBarNotificationButtonComponent
51
52
  case APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.THEME:
52
53
  this.theme = newValue;
53
54
  break;
55
+ case APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.ICON:
56
+ this.icon = newValue;
57
+ break;
54
58
  case APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.SHOW_BADGE:
55
59
  this.showBadge = coerceBoolean(newValue);
56
60
  break;
@@ -66,6 +70,9 @@ __decorate([
66
70
  __decorate([
67
71
  FoundationProperty()
68
72
  ], AppBarNotificationButtonComponent.prototype, "theme", void 0);
73
+ __decorate([
74
+ FoundationProperty()
75
+ ], AppBarNotificationButtonComponent.prototype, "icon", void 0);
69
76
  __decorate([
70
77
  FoundationProperty()
71
78
  ], AppBarNotificationButtonComponent.prototype, "showBadge", void 0);
@@ -4,22 +4,21 @@
4
4
  * License: Apache-2.0
5
5
  */
6
6
  import { BaseAdapter, IBaseAdapter } from '../core/base/base-adapter';
7
- import { IOption } from '../select';
8
7
  import { IAutocompleteComponent } from './autocomplete';
9
- import { IAutocompleteOptionGroup } from './autocomplete-constants';
8
+ import { IAutocompleteOption, IAutocompleteOptionGroup } from './autocomplete-constants';
10
9
  import { IListDropdownConfig } from '../list-dropdown';
11
10
  export interface IAutocompleteAdapter extends IBaseAdapter {
12
11
  setInputElement(): HTMLInputElement;
13
12
  setInputAttribute(name: string, value: string): void;
14
13
  addInputListener(type: string, listener: (evt: Event) => void): void;
15
14
  removeInputListener(type: string, listener: (evt: Event) => void): void;
16
- intializeInputAccessibility(identifier: string): void;
15
+ initializeInputAccessibility(identifier: string): void;
17
16
  isWrappingChipField(): boolean;
18
17
  show(config: IListDropdownConfig, popupTarget: string): void;
19
18
  hide(listener: () => void): void;
20
19
  focus(): void;
21
- setOptions(options: IOption[] | IAutocompleteOptionGroup[]): void;
22
- appendOptions(options: IOption[] | IAutocompleteOptionGroup[]): void;
20
+ setOptions(options: IAutocompleteOption[] | IAutocompleteOptionGroup[]): void;
21
+ appendOptions(options: IAutocompleteOption[] | IAutocompleteOptionGroup[]): void;
23
22
  setSelectedText(value: string): void;
24
23
  getInputValue(): string;
25
24
  selectInputValue(): void;
@@ -42,7 +41,7 @@ export interface IAutocompleteAdapter extends IBaseAdapter {
42
41
  setBusyVisibility(busy: boolean): void;
43
42
  getActiveOptionIndex(): number | null;
44
43
  clearActiveOption(): void;
45
- setSelectedOptions(options: IOption[]): void;
44
+ setSelectedOptions(options: IAutocompleteOption[]): void;
46
45
  queueDropdownPositionUpdate(): void;
47
46
  }
48
47
  /**
@@ -57,7 +56,7 @@ export declare class AutocompleteAdapter extends BaseAdapter<IAutocompleteCompon
57
56
  setInputAttribute(name: string, value: string): void;
58
57
  addInputListener(type: string, listener: (evt: Event) => void): void;
59
58
  removeInputListener(type: string, listener: (evt: Event) => void): void;
60
- intializeInputAccessibility(identifier: string): void;
59
+ initializeInputAccessibility(identifier: string): void;
61
60
  isWrappingChipField(): boolean;
62
61
  show(config: IListDropdownConfig, popupTarget: string): void;
63
62
  hide(listener: () => void): void;
@@ -65,8 +64,8 @@ export declare class AutocompleteAdapter extends BaseAdapter<IAutocompleteCompon
65
64
  toggleOptionMultiple(index: number, selected: boolean): void;
66
65
  setDismissListener(listener: () => void): void;
67
66
  focus(): void;
68
- setOptions(options: IOption[] | IAutocompleteOptionGroup[]): void;
69
- appendOptions(options: IOption[] | IAutocompleteOptionGroup[]): void;
67
+ setOptions(options: IAutocompleteOption[] | IAutocompleteOptionGroup[]): void;
68
+ appendOptions(options: IAutocompleteOption[] | IAutocompleteOptionGroup[]): void;
70
69
  setSelectedText(value: string): void;
71
70
  getInputValue(): string;
72
71
  selectInputValue(): void;
@@ -86,7 +85,7 @@ export declare class AutocompleteAdapter extends BaseAdapter<IAutocompleteCompon
86
85
  activateOptionByIndex(value: number): void;
87
86
  getActiveOptionIndex(): number | null;
88
87
  clearActiveOption(): void;
89
- setSelectedOptions(options: IOption[]): void;
88
+ setSelectedOptions(options: IAutocompleteOption[]): void;
90
89
  queueDropdownPositionUpdate(): void;
91
90
  private _getTargetElement;
92
91
  private _getDefaultTargetElement;
@@ -34,7 +34,7 @@ export class AutocompleteAdapter extends BaseAdapter {
34
34
  removeInputListener(type, listener) {
35
35
  this._inputElement.removeEventListener(type, listener);
36
36
  }
37
- intializeInputAccessibility(identifier) {
37
+ initializeInputAccessibility(identifier) {
38
38
  this._inputElement.setAttribute('autocomplete', 'off');
39
39
  this._inputElement.setAttribute('role', 'combobox');
40
40
  this._inputElement.setAttribute('aria-live', 'polite');
@@ -3,9 +3,8 @@
3
3
  * Copyright 2023 Tyler Technologies, Inc.
4
4
  * License: Apache-2.0
5
5
  */
6
- import { IOption } from '../select';
7
6
  import { IListItemComponent } from '../list';
8
- import { IListDropdownConfig } from '../list-dropdown';
7
+ import { IListDropdownConfig, IListDropdownOption, IListDropdownOptionGroup, ListDropdownOptionGroupBuilder } from '../list-dropdown';
9
8
  import { IPopupPosition } from '../popup';
10
9
  export declare const AUTOCOMPLETE_CONSTANTS: {
11
10
  elementName: "forge-autocomplete";
@@ -40,18 +39,17 @@ export declare const AUTOCOMPLETE_CONSTANTS: {
40
39
  SCROLLED_BOTTOM: string;
41
40
  };
42
41
  };
43
- export declare type AutocompleteOptionBuilder<T = any> = (option: IOption<T>, filterText: string, parentElement: IListItemComponent) => HTMLElement;
44
- export declare type AutocompleteOptionGroupBuilder<T = any> = (option: IAutocompleteOptionGroup<T>) => HTMLElement;
45
- export declare type AutocompleteFilterCallback<T = any> = (filterText: string, value: T | null) => Array<IOption<T>> | IAutocompleteOptionGroup[] | Promise<Array<IOption<T>> | IAutocompleteOptionGroup[]>;
46
- export declare type AutocompleteSelectedTextBuilder<T = any> = (selectedOptions: Array<IOption<T>>) => string;
42
+ export declare type AutocompleteOptionBuilder<T = any> = (option: IAutocompleteOption<T>, filterText: string, parentElement: IListItemComponent) => HTMLElement;
43
+ export declare type AutocompleteOptionGroupBuilder<T = any> = ListDropdownOptionGroupBuilder<T>;
44
+ export declare type AutocompleteFilterCallback<T = any> = (filterText: string, value: T | null) => IAutocompleteOption<T>[] | IAutocompleteOptionGroup<T>[] | Promise<IAutocompleteOption<T>[] | IAutocompleteOptionGroup<T>[]>;
45
+ export declare type AutocompleteSelectedTextBuilder<T = any> = (selectedOptions: Array<IAutocompleteOption<T>>) => string;
47
46
  export declare enum AutocompleteMode {
48
47
  Default = "default",
49
48
  Stateless = "stateless"
50
49
  }
51
- export interface IAutocompleteOptionGroup<T = any> {
52
- text?: string;
53
- builder?: AutocompleteOptionGroupBuilder;
54
- options: Array<IOption<T>>;
50
+ export interface IAutocompleteOption<T = any> extends IListDropdownOption<T> {
51
+ }
52
+ export interface IAutocompleteOptionGroup<T = any> extends IListDropdownOptionGroup<T> {
55
53
  }
56
54
  export interface IAutocompletePopupConfiguration {
57
55
  filterText: string;
@@ -63,6 +61,6 @@ export interface IAutocompletePopupConfiguration {
63
61
  listener: (value: string) => void;
64
62
  scrollEndListener: () => void;
65
63
  }
66
- export interface IAutocompleteSelectEventData {
67
- value: any;
64
+ export interface IAutocompleteSelectEventData<T = any> {
65
+ value: T;
68
66
  }
@@ -5,13 +5,12 @@
5
5
  */
6
6
  import { ListDropdownFooterBuilder, ListDropdownHeaderBuilder } from '../list-dropdown';
7
7
  import { IListDropdownAwareFoundation, ListDropdownAwareFoundation } from '../list-dropdown/list-dropdown-aware-foundation';
8
- import { IOption } from '../select';
9
8
  import { IAutocompleteAdapter } from './autocomplete-adapter';
10
- import { AutocompleteFilterCallback, AutocompleteMode, AutocompleteOptionBuilder, AutocompleteSelectedTextBuilder, IAutocompleteOptionGroup } from './autocomplete-constants';
9
+ import { AutocompleteFilterCallback, AutocompleteMode, AutocompleteOptionBuilder, AutocompleteSelectedTextBuilder, IAutocompleteOption, IAutocompleteOptionGroup } from './autocomplete-constants';
11
10
  export interface IAutocompleteFoundation extends IListDropdownAwareFoundation {
12
11
  mode: AutocompleteMode;
13
12
  multiple: boolean;
14
- value: string | string[] | IOption | IOption[] | null | undefined;
13
+ value: string | string[] | IAutocompleteOption | IAutocompleteOption[] | null | undefined;
15
14
  debounce: number;
16
15
  filterOnFocus: boolean;
17
16
  allowUnmatched: boolean;
@@ -22,7 +21,7 @@ export interface IAutocompleteFoundation extends IListDropdownAwareFoundation {
22
21
  isInitialized: boolean;
23
22
  open: boolean;
24
23
  matchKey: string | null | undefined;
25
- appendOptions(options: IOption[] | IAutocompleteOptionGroup[]): void;
24
+ appendOptions(options: IAutocompleteOption[] | IAutocompleteOptionGroup[]): void;
26
25
  beforeValueChange: (value: any) => boolean | Promise<boolean>;
27
26
  }
28
27
  /**
@@ -122,8 +121,8 @@ export declare class AutocompleteFoundation extends ListDropdownAwareFoundation
122
121
  get multiple(): boolean;
123
122
  set multiple(value: boolean);
124
123
  /** Gets/sets the value of the component. */
125
- get value(): string | string[] | IOption | IOption[] | null | undefined;
126
- set value(value: string | string[] | IOption | IOption[] | null | undefined);
124
+ get value(): string | string[] | IAutocompleteOption | IAutocompleteOption[] | null | undefined;
125
+ set value(value: string | string[] | IAutocompleteOption | IAutocompleteOption[] | null | undefined);
127
126
  /** Gets/sets filter on focus settings which controls whether the dropdown displays automatically when focused. */
128
127
  get filterOnFocus(): boolean;
129
128
  set filterOnFocus(value: boolean);
@@ -165,7 +164,7 @@ export declare class AutocompleteFoundation extends ListDropdownAwareFoundation
165
164
  set observeScroll(value: boolean);
166
165
  get observeScrollThreshold(): number;
167
166
  set observeScrollThreshold(value: number);
168
- appendOptions(options: IOption[] | IAutocompleteOptionGroup[]): void;
167
+ appendOptions(options: IAutocompleteOption[] | IAutocompleteOptionGroup[]): void;
169
168
  get isInitialized(): boolean;
170
169
  get open(): boolean;
171
170
  set open(value: boolean);
@@ -100,7 +100,7 @@ export class AutocompleteFoundation extends ListDropdownAwareFoundation {
100
100
  this._filterFn = isDefined(this._debounce) && this._debounce > 0 ? debounce(this._debounceFilter, this._debounce, false) : this._debounceFilter;
101
101
  }
102
102
  _initializeAccessibility() {
103
- this._adapter.intializeInputAccessibility(this._identifier);
103
+ this._adapter.initializeInputAccessibility(this._identifier);
104
104
  }
105
105
  get _flatOptions() {
106
106
  if (isOptionType(this._options, OptionType.Group)) {
@@ -230,6 +230,7 @@ export class AutocompleteFoundation extends ListDropdownAwareFoundation {
230
230
  case 'Escape':
231
231
  if (this._isDropdownOpen) {
232
232
  evt.preventDefault();
233
+ evt.stopPropagation();
233
234
  this._closeDropdown();
234
235
  }
235
236
  break;
@@ -437,7 +438,9 @@ export class AutocompleteFoundation extends ListDropdownAwareFoundation {
437
438
  const result = this._adapter.emitHostEvent(AUTOCOMPLETE_CONSTANTS.events.SELECT, data, true, true);
438
439
  if (result) {
439
440
  this._filterText = '';
440
- this._closeDropdown();
441
+ if (!this._multiple) {
442
+ this._closeDropdown();
443
+ }
441
444
  }
442
445
  return;
443
446
  }
@@ -3,8 +3,7 @@
3
3
  * Copyright 2023 Tyler Technologies, Inc.
4
4
  * License: Apache-2.0
5
5
  */
6
- import { IOption } from '../select';
7
- import { IAutocompleteOptionGroup } from './autocomplete-constants';
6
+ import { IAutocompleteOption, IAutocompleteOptionGroup } from './autocomplete-constants';
8
7
  /** The available option types. */
9
8
  export declare enum OptionType {
10
9
  Option = 0,
@@ -15,8 +14,8 @@ export declare enum OptionType {
15
14
  * @param options The options either grouped or individual.
16
15
  * @param type The type of option to detect.
17
16
  */
18
- export declare function isOptionType(options: IOption[] | IAutocompleteOptionGroup[], type: OptionType): boolean;
17
+ export declare function isOptionType(options: IAutocompleteOption[] | IAutocompleteOptionGroup[], type: OptionType): boolean;
19
18
  /** A utility function to find the matching option in the provided options by the value provided. */
20
- export declare function getSelectedOption(options: IOption[], value: string): IOption | undefined;
19
+ export declare function getSelectedOption(options: IAutocompleteOption[], value: string): IAutocompleteOption | undefined;
21
20
  /** A predicate function that will determine if an option value is equal regardless of primitive type or complex object type. */
22
- export declare function optionEqualPredicate(option: IOption, value: any, property?: string | null): boolean;
21
+ export declare function optionEqualPredicate(option: IAutocompleteOption, value: any, property?: string | null): boolean;
@@ -4,8 +4,7 @@
4
4
  * License: Apache-2.0
5
5
  */
6
6
  import { IListDropdownAware, ListDropdownAware } from '../list-dropdown/list-dropdown-aware';
7
- import { IOption } from '../select';
8
- import { AutocompleteFilterCallback, AutocompleteMode, AutocompleteOptionBuilder, AutocompleteSelectedTextBuilder, IAutocompleteOptionGroup, IAutocompleteSelectEventData } from './autocomplete-constants';
7
+ import { AutocompleteFilterCallback, AutocompleteMode, AutocompleteOptionBuilder, AutocompleteSelectedTextBuilder, IAutocompleteOption, IAutocompleteOptionGroup, IAutocompleteSelectEventData } from './autocomplete-constants';
9
8
  export interface IAutocompleteComponent extends IListDropdownAware {
10
9
  mode: `${AutocompleteMode}`;
11
10
  multiple: boolean;
@@ -22,7 +21,7 @@ export interface IAutocompleteComponent extends IListDropdownAware {
22
21
  beforeValueChange: (value: any) => boolean | Promise<boolean>;
23
22
  isInitialized: boolean;
24
23
  open: boolean;
25
- appendOptions(options: IOption[] | IAutocompleteOptionGroup[]): void;
24
+ appendOptions(options: IAutocompleteOption[] | IAutocompleteOptionGroup[]): void;
26
25
  openDropdown(): void;
27
26
  closeDropdown(): void;
28
27
  }
@@ -79,7 +78,7 @@ export declare class AutocompleteComponent extends ListDropdownAware implements
79
78
  /** Sets the callback to be executed when the user selects an option, before the UI is updated to allow for validation. */
80
79
  beforeValueChange: (value: any) => boolean | Promise<boolean>;
81
80
  /** Adds options to the dropdown while it is open. Has no effect if the dropdown is closed. */
82
- appendOptions(options: IOption[] | IAutocompleteOptionGroup[]): void;
81
+ appendOptions(options: IAutocompleteOption[] | IAutocompleteOptionGroup[]): void;
83
82
  /** Opens the dropdown. */
84
83
  openDropdown(): void;
85
84
  /** Closes the dropdown. */
@@ -5,7 +5,7 @@
5
5
  */
6
6
  import { __decorate } from "tslib";
7
7
  import { attachShadowTemplate, coerceBoolean, coerceNumber, CustomElement, ensureChild, FoundationProperty } from '@tylertech/forge-core';
8
- import { tylIconCheckBox, tylIconCheckBoxOutlineBlank } from '@tylertech/tyler-icons/standard';
8
+ import { tylIconArrowDropDown, tylIconCheckBox, tylIconCheckBoxOutlineBlank } from '@tylertech/tyler-icons/standard';
9
9
  import { DividerComponent } from '../divider';
10
10
  import { IconComponent, IconRegistry } from '../icon';
11
11
  import { LinearProgressComponent } from '../linear-progress';
@@ -27,7 +27,7 @@ const styles = ':host{display:block}:host([hidden]){display:none}';
27
27
  let AutocompleteComponent = class AutocompleteComponent extends ListDropdownAware {
28
28
  constructor() {
29
29
  super();
30
- IconRegistry.define([tylIconCheckBox, tylIconCheckBoxOutlineBlank]);
30
+ IconRegistry.define([tylIconArrowDropDown, tylIconCheckBox, tylIconCheckBoxOutlineBlank]);
31
31
  attachShadowTemplate(this, template, styles);
32
32
  this._foundation = new AutocompleteFoundation(new AutocompleteAdapter(this));
33
33
  }
@@ -3,6 +3,7 @@
3
3
  * Copyright 2023 Tyler Technologies, Inc.
4
4
  * License: Apache-2.0
5
5
  */
6
+ export declare const ALLOWED_CHILDREN: string[];
6
7
  export declare const BUTTON_CONSTANTS: {
7
8
  elementName: "forge-button";
8
9
  classes: {
@@ -5,6 +5,7 @@
5
5
  */
6
6
  import { COMPONENT_NAME_PREFIX } from '../constants';
7
7
  const elementName = `${COMPONENT_NAME_PREFIX}button`;
8
+ export const ALLOWED_CHILDREN = ['button', 'a'];
8
9
  const classes = {
9
10
  BUTTON: 'forge-button',
10
11
  LABEL: 'forge-button__label',
@@ -16,7 +17,7 @@ const classes = {
16
17
  RIPPLE: 'forge-button__ripple'
17
18
  };
18
19
  const selectors = {
19
- BUTTON: 'button',
20
+ BUTTON: ALLOWED_CHILDREN.join(','),
20
21
  LABEL: `span:not(.${classes.RIPPLE})`,
21
22
  ICON: 'i,forge-icon,[data-forge-button-icon]',
22
23
  RIPPLE: `.${classes.RIPPLE}`
@@ -39,7 +39,7 @@ export declare class ButtonComponent extends BaseComponent implements IButtonCom
39
39
  private _initialize;
40
40
  private _initializeButton;
41
41
  private _deferRippleInitialization;
42
- private _initRipple;
42
+ private _createRipple;
43
43
  private _initializeButtonChildren;
44
44
  private _initializeMutationObserver;
45
45
  private _buttonWasAdded;
@@ -6,7 +6,7 @@
6
6
  import { __decorate } from "tslib";
7
7
  import { CustomElement, ensureChildren, toggleAttribute } from '@tylertech/forge-core';
8
8
  import { BaseComponent } from '../core/base/base-component';
9
- import { BUTTON_CONSTANTS } from './button-constants';
9
+ import { ALLOWED_CHILDREN, BUTTON_CONSTANTS } from './button-constants';
10
10
  import { userInteractionListener } from '../core/utils/utils';
11
11
  import { ForgeRipple } from '../ripple';
12
12
  /**
@@ -104,18 +104,17 @@ let ButtonComponent = class ButtonComponent extends BaseComponent {
104
104
  async _deferRippleInitialization() {
105
105
  const type = await userInteractionListener(this._buttonElement);
106
106
  if (!this._rippleInstance) {
107
- this._initRipple();
107
+ this._rippleInstance = this._createRipple();
108
108
  if (type === 'focusin') {
109
- // eslint-disable-next-line @typescript-eslint/dot-notation
110
- this._rippleInstance['foundation'].handleFocus();
109
+ this._rippleInstance.handleFocus();
111
110
  }
112
111
  }
113
112
  }
114
- _initRipple() {
113
+ _createRipple() {
115
114
  if (this._rippleInstance) {
116
115
  this._rippleInstance.destroy();
117
116
  }
118
- this._rippleInstance = new ForgeRipple(this._buttonElement);
117
+ return new ForgeRipple(this._buttonElement);
119
118
  }
120
119
  _initializeButtonChildren() {
121
120
  if (!this._buttonElement.querySelector(BUTTON_CONSTANTS.selectors.RIPPLE)) {
@@ -162,7 +161,7 @@ let ButtonComponent = class ButtonComponent extends BaseComponent {
162
161
  _buttonWasAdded(mutationList) {
163
162
  return mutationList.some(mutation => {
164
163
  return Array.from(mutation.addedNodes)
165
- .some(node => node.nodeName.toLowerCase() === BUTTON_CONSTANTS.selectors.BUTTON);
164
+ .some(node => ALLOWED_CHILDREN.includes(node.nodeName.toLowerCase()));
166
165
  });
167
166
  }
168
167
  _syncDisabledState() {
@@ -230,6 +230,7 @@ export class CalendarFoundation {
230
230
  case 'Escape':
231
231
  if (this._view !== 'date') {
232
232
  evt.preventDefault();
233
+ evt.stopPropagation();
233
234
  this._closeMenu(false, true);
234
235
  }
235
236
  break;
@@ -7,7 +7,6 @@ import { BaseAdapter, IBaseAdapter } from '../core/base/base-adapter';
7
7
  import { ForgeRippleCapableSurface } from '../ripple';
8
8
  import { ICheckboxComponent } from './checkbox';
9
9
  export interface ICheckboxAdapter extends IBaseAdapter {
10
- forceLayout(): void;
11
10
  isAttachedToDOM(): boolean;
12
11
  isDisabled(): boolean;
13
12
  isChecked(): boolean;
@@ -41,8 +40,8 @@ export declare class CheckboxAdapter extends BaseAdapter<ICheckboxComponent> imp
41
40
  get unbounded(): boolean | undefined;
42
41
  get disabled(): boolean | undefined;
43
42
  initialize(): void;
43
+ private _deferRippleInitialization;
44
44
  setDense(value: boolean | undefined): void;
45
- forceLayout(): void;
46
45
  isAttachedToDOM(): boolean;
47
46
  private _configureElements;
48
47
  private _setHostAttribute;
@@ -4,6 +4,7 @@
4
4
  * License: Apache-2.0
5
5
  */
6
6
  import { addClass, getShadowElement, removeClass } from '@tylertech/forge-core';
7
+ import { userInteractionListener } from '../core';
7
8
  import { BaseAdapter } from '../core/base/base-adapter';
8
9
  import { ForgeRipple, ForgeRippleFoundation } from '../ripple';
9
10
  import { CHECKBOX_CONSTANTS } from './checkbox-constants';
@@ -24,14 +25,19 @@ export class CheckboxAdapter extends BaseAdapter {
24
25
  initialize() {
25
26
  this._configureElements();
26
27
  this._attachInternalInputListeners();
27
- this._rippleInstance = this._createRipple();
28
- requestAnimationFrame(() => {
29
- if (this._rippleInstance) {
30
- this._rippleInstance.layout();
28
+ this._deferRippleInitialization();
29
+ }
30
+ async _deferRippleInitialization() {
31
+ const type = await userInteractionListener(this._rootElement);
32
+ if (!this._rippleInstance) {
33
+ this._rippleInstance = this._createRipple();
34
+ if (type === 'focusin') {
35
+ this._rippleInstance.handleFocus();
31
36
  }
32
- });
37
+ }
33
38
  }
34
39
  setDense(value) {
40
+ var _a;
35
41
  if (value) {
36
42
  this._setHostAttribute(CHECKBOX_CONSTANTS.attributes.DENSE);
37
43
  this.setRootClass(CHECKBOX_CONSTANTS.classes.CHECKBOX_DENSE);
@@ -40,9 +46,7 @@ export class CheckboxAdapter extends BaseAdapter {
40
46
  this._removeHostAttribute(CHECKBOX_CONSTANTS.attributes.DENSE);
41
47
  this.removeRootClass(CHECKBOX_CONSTANTS.classes.CHECKBOX_DENSE);
42
48
  }
43
- }
44
- forceLayout() {
45
- this._rippleInstance.layout();
49
+ (_a = this._rippleInstance) === null || _a === void 0 ? void 0 : _a.layout();
46
50
  }
47
51
  isAttachedToDOM() {
48
52
  return Boolean(this._component.parentNode);
@@ -109,14 +109,12 @@ export class CheckboxFoundation {
109
109
  // the user interacted with the checkbox before the animation was finished.
110
110
  if (this._currentAnimationClass.length > 0) {
111
111
  clearTimeout(this._animEndLatchTimer);
112
- this._adapter.forceLayout();
113
112
  this._adapter.removeRootClass(this._currentAnimationClass);
114
113
  }
115
114
  // Check to ensure that there isn't a previously existing animation class, in case for example
116
115
  // the user interacted with the checkbox before the animation was finished.
117
116
  if (this._currentAnimationClass.length > 0) {
118
117
  clearTimeout(this._animEndLatchTimer);
119
- this._adapter.forceLayout();
120
118
  this._adapter.removeRootClass(this._currentAnimationClass);
121
119
  }
122
120
  this._currentAnimationClass = this._getTransitionAnimationClass(oldState, newState);
@@ -127,7 +125,6 @@ export class CheckboxFoundation {
127
125
  this._adapter.setRootClass(this._currentAnimationClass);
128
126
  this._enableAnimationEndHandler = true;
129
127
  }
130
- this._adapter.forceLayout();
131
128
  }
132
129
  _handleInputAttributeChange() {
133
130
  if (this._adapter.isDisabled()) {
@@ -14,6 +14,7 @@ export interface IChipFieldAdapter extends IFieldAdapter {
14
14
  removeInputContainerListener(type: string, callback: (event: Event) => void): void;
15
15
  getSlottedMemberElements(): NodeListOf<HTMLElement>;
16
16
  focusInput(): void;
17
+ tryPropagateClick(target: EventTarget | null): void;
17
18
  }
18
19
  export declare class ChipFieldAdapter extends FieldAdapter implements IChipFieldAdapter {
19
20
  protected _memberSlot: HTMLSlotElement;
@@ -28,5 +29,6 @@ export declare class ChipFieldAdapter extends FieldAdapter implements IChipField
28
29
  removeInputContainerListener(type: string, callback: (event: Event) => void): void;
29
30
  fieldHasValue(): boolean;
30
31
  focusInput(): void;
32
+ tryPropagateClick(target: EventTarget | null): void;
31
33
  getSlottedMemberElements(): NodeListOf<HTMLElement>;
32
34
  }
@@ -40,10 +40,15 @@ export class ChipFieldAdapter extends FieldAdapter {
40
40
  return aMemberExists || super.inputHasValue();
41
41
  }
42
42
  focusInput() {
43
- if (!this._inputElement) {
44
- return;
43
+ var _a;
44
+ (_a = this._inputElement) === null || _a === void 0 ? void 0 : _a.focus();
45
+ }
46
+ tryPropagateClick(target) {
47
+ var _a;
48
+ // We only propagate the click to the input if it originated from our internal input container
49
+ if (target instanceof HTMLElement && target.matches(CHIP_FIELD_CONSTANTS.selectors.INPUT_CONTAINER)) {
50
+ (_a = this._inputElement) === null || _a === void 0 ? void 0 : _a.dispatchEvent(new MouseEvent('click'));
45
51
  }
46
- this._inputElement.focus();
47
52
  }
48
53
  getSlottedMemberElements() {
49
54
  return this._component.querySelectorAll(CHIP_FIELD_CONSTANTS.selectors.MEMBER);
@@ -32,6 +32,7 @@ export class ChipFieldFoundation extends FieldFoundation {
32
32
  _onInputContainerMouseDown(evt) {
33
33
  evt.preventDefault();
34
34
  this._adapter.focusInput();
35
+ this._adapter.tryPropagateClick(evt.target);
35
36
  }
36
37
  _onBlur(event) {
37
38
  const input = event.target;