@tylertech/forge 3.0.0-next.5 → 3.0.0-next.7

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 (496) hide show
  1. package/custom-elements.json +3175 -1640
  2. package/dist/esm/accordion/index.js +1 -1
  3. package/dist/esm/app-bar/help-button/index.js +1 -1
  4. package/dist/esm/app-bar/index.js +1 -1
  5. package/dist/esm/app-bar/menu-button/index.js +1 -1
  6. package/dist/esm/app-bar/notification-button/index.js +1 -1
  7. package/dist/esm/app-bar/profile-button/index.js +1 -1
  8. package/dist/esm/app-bar/search/index.js +1 -1
  9. package/dist/esm/autocomplete/index.js +1 -1
  10. package/dist/esm/avatar/index.js +1 -1
  11. package/dist/esm/backdrop/index.js +1 -1
  12. package/dist/esm/badge/index.js +1 -1
  13. package/dist/esm/banner/index.js +1 -1
  14. package/dist/esm/bottom-sheet/index.js +1 -1
  15. package/dist/esm/busy-indicator/index.js +1 -1
  16. package/dist/esm/button/index.js +1 -1
  17. package/dist/esm/button-toggle/button-toggle/index.js +1 -1
  18. package/dist/esm/button-toggle/button-toggle-group/index.js +1 -1
  19. package/dist/esm/button-toggle/index.js +1 -1
  20. package/dist/esm/calendar/calendar-dropdown/index.js +1 -1
  21. package/dist/esm/calendar/calendar-menu/index.js +1 -1
  22. package/dist/esm/calendar/index.js +1 -1
  23. package/dist/esm/card/index.js +1 -1
  24. package/dist/esm/checkbox/index.js +1 -1
  25. package/dist/esm/chip-field/index.js +1 -1
  26. package/dist/esm/chips/chip/index.js +1 -1
  27. package/dist/esm/chips/chip-set/index.js +1 -1
  28. package/dist/esm/chips/index.js +1 -1
  29. package/dist/esm/chunks/{chunk.UEN7B7Q4.js → chunk.246JM2YT.js} +2 -2
  30. package/dist/esm/chunks/{chunk.64F24XMH.js → chunk.24L5GDD2.js} +2 -2
  31. package/dist/esm/chunks/{chunk.IGOGRMRW.js → chunk.2CTK5R37.js} +2 -2
  32. package/dist/esm/chunks/chunk.2IQGDFQS.js +7 -0
  33. package/dist/esm/chunks/{chunk.U4CFRHOW.js.map → chunk.2IQGDFQS.js.map} +1 -1
  34. package/dist/esm/chunks/{chunk.ZXPAXZCF.js → chunk.2LRDPTHK.js} +2 -2
  35. package/dist/esm/chunks/{chunk.HSXUQFHK.js → chunk.2QFIMTVP.js} +2 -2
  36. package/dist/esm/chunks/{chunk.SCP23NBN.js → chunk.2QSDH3PC.js} +2 -2
  37. package/dist/esm/chunks/{chunk.KWD5EK54.js → chunk.2TQONIPK.js} +2 -2
  38. package/dist/esm/chunks/{chunk.SSJYPH4U.js → chunk.2XFVFZ3P.js} +2 -2
  39. package/dist/esm/chunks/{chunk.BPEGGZOR.js → chunk.2YAU7AXH.js} +2 -2
  40. package/dist/esm/chunks/{chunk.KI5FPZOX.js → chunk.2YX7ASSX.js} +2 -2
  41. package/dist/esm/chunks/{chunk.Y4OET6II.js → chunk.2ZTERGYF.js} +2 -2
  42. package/dist/esm/chunks/{chunk.3OT44DTM.js → chunk.3CBVRCKM.js} +2 -2
  43. package/dist/esm/chunks/{chunk.7BNQYL2F.js → chunk.4EB5NVCK.js} +2 -2
  44. package/dist/esm/chunks/{chunk.4NV7AHF2.js → chunk.4LVS2EYJ.js} +2 -2
  45. package/dist/esm/chunks/{chunk.LQQIN7JE.js → chunk.57IVD67K.js} +2 -2
  46. package/dist/esm/chunks/{chunk.RXBGYGVH.js → chunk.5CMQ7DNL.js} +2 -2
  47. package/dist/esm/chunks/chunk.5IVB5L5Z.js +7 -0
  48. package/dist/esm/chunks/{chunk.FZ43DC2H.js.map → chunk.5IVB5L5Z.js.map} +1 -1
  49. package/dist/esm/chunks/{chunk.MT3CYR5E.js → chunk.5M6Y2RU6.js} +2 -2
  50. package/dist/esm/chunks/{chunk.E5H7OQXZ.js → chunk.5PHLKON3.js} +2 -2
  51. package/dist/esm/chunks/chunk.5V5ABSHI.js +7 -0
  52. package/dist/esm/chunks/{chunk.TKDMM2ZZ.js.map → chunk.5V5ABSHI.js.map} +1 -1
  53. package/dist/esm/chunks/{chunk.A6RLV2QU.js → chunk.632OMHHN.js} +2 -2
  54. package/dist/esm/chunks/{chunk.PNDQ3LAB.js → chunk.6SBTLXLH.js} +2 -2
  55. package/dist/esm/chunks/chunk.7G72CBOJ.js +7 -0
  56. package/dist/esm/chunks/{chunk.FHW6LV4A.js.map → chunk.7G72CBOJ.js.map} +1 -1
  57. package/dist/esm/chunks/{chunk.KTPSDP4C.js → chunk.7JQHQKXN.js} +2 -2
  58. package/dist/esm/chunks/{chunk.BTTHTLD3.js → chunk.7WVTJIVR.js} +2 -2
  59. package/dist/esm/chunks/{chunk.PKZYVWEG.js → chunk.7ZQMJLHE.js} +2 -2
  60. package/dist/esm/chunks/{chunk.A5D7XSBD.js → chunk.A5MBSCSQ.js} +2 -2
  61. package/dist/esm/chunks/{chunk.7UN5EYUE.js → chunk.A5R7KUIP.js} +2 -2
  62. package/dist/esm/chunks/{chunk.XARGY3WT.js → chunk.AGMPIMJV.js} +2 -2
  63. package/dist/esm/chunks/{chunk.3W2ERIMT.js → chunk.BKCEVPKW.js} +2 -2
  64. package/dist/esm/chunks/{chunk.X63F5NVD.js → chunk.BSTIDYQJ.js} +2 -2
  65. package/dist/esm/chunks/{chunk.UUUF27IU.js → chunk.BWZKQ6WX.js} +2 -2
  66. package/dist/esm/chunks/{chunk.XBW6KSW3.js → chunk.CNQESSA3.js} +2 -2
  67. package/dist/esm/chunks/{chunk.55FCNVG5.js → chunk.DTZFWZPB.js} +2 -2
  68. package/dist/esm/chunks/{chunk.R4B7JSSA.js → chunk.E6KWYFZG.js} +2 -2
  69. package/dist/esm/chunks/{chunk.XGWGJFWC.js → chunk.E7Z3IRWV.js} +2 -2
  70. package/dist/esm/chunks/{chunk.NSTCCETU.js → chunk.ECRL6O3V.js} +2 -2
  71. package/dist/esm/chunks/{chunk.W6MDMZTN.js → chunk.EDEYCLDU.js} +2 -2
  72. package/dist/esm/chunks/{chunk.P6ZUHPI6.js → chunk.ER52NFXX.js} +2 -2
  73. package/dist/esm/chunks/{chunk.AY46N5Y7.js → chunk.EUE3OVC7.js} +2 -2
  74. package/dist/esm/chunks/{chunk.RMPS2I2P.js → chunk.EYZ25QUP.js} +2 -2
  75. package/dist/esm/chunks/{chunk.VJ2SSV5X.js → chunk.FAANPQES.js} +2 -2
  76. package/dist/esm/chunks/{chunk.MZLPUI6R.js → chunk.FYWPZFLJ.js} +2 -2
  77. package/dist/esm/chunks/{chunk.MZLPUI6R.js.map → chunk.FYWPZFLJ.js.map} +2 -2
  78. package/dist/esm/chunks/{chunk.DX32NTD3.js → chunk.GF2GUVYS.js} +2 -2
  79. package/dist/esm/chunks/chunk.GHSAKRYH.js +7 -0
  80. package/dist/esm/chunks/{chunk.2TVYAW7Q.js.map → chunk.GHSAKRYH.js.map} +1 -1
  81. package/dist/esm/chunks/chunk.GJW4WS4I.js +7 -0
  82. package/dist/esm/chunks/{chunk.P4TIMZKU.js → chunk.GUYPITGA.js} +2 -2
  83. package/dist/esm/chunks/chunk.GWIVOPRO.js +7 -0
  84. package/dist/esm/chunks/chunk.GWIVOPRO.js.map +7 -0
  85. package/dist/esm/chunks/{chunk.T64UW37U.js → chunk.H5D54EHO.js} +2 -2
  86. package/dist/esm/chunks/{chunk.FPMQAUL3.js → chunk.HKJEGD6C.js} +2 -2
  87. package/dist/esm/chunks/chunk.HRGTAVNA.js +7 -0
  88. package/dist/esm/chunks/{chunk.UZENE2NC.js.map → chunk.HRGTAVNA.js.map} +2 -2
  89. package/dist/esm/chunks/{chunk.7KEUUHXY.js → chunk.IDD54B5P.js} +2 -2
  90. package/dist/esm/chunks/chunk.IGK3VYZG.js +7 -0
  91. package/dist/esm/chunks/chunk.IGK3VYZG.js.map +7 -0
  92. package/dist/esm/chunks/{chunk.H4H75YUA.js → chunk.IWA3CYIB.js} +2 -2
  93. package/dist/esm/chunks/chunk.JHXNEHWR.js +12 -0
  94. package/dist/esm/chunks/{chunk.ZOV2BUZG.js → chunk.JVW6JGV3.js} +2 -2
  95. package/dist/esm/chunks/chunk.MF36FG2X.js +7 -0
  96. package/dist/esm/chunks/{chunk.LSFIZAUF.js.map → chunk.MF36FG2X.js.map} +1 -1
  97. package/dist/esm/chunks/{chunk.P64BBB3U.js → chunk.MXNLCQRB.js} +2 -2
  98. package/dist/esm/chunks/chunk.NK7H3MMM.js +7 -0
  99. package/dist/esm/chunks/{chunk.QH2GB3PD.js.map → chunk.NK7H3MMM.js.map} +2 -2
  100. package/dist/esm/chunks/chunk.NVMILGC2.js +7 -0
  101. package/dist/esm/chunks/{chunk.WDTA5G7R.js.map → chunk.NVMILGC2.js.map} +3 -3
  102. package/dist/esm/chunks/chunk.OHNPVHPF.js +7 -0
  103. package/dist/esm/chunks/chunk.OHNPVHPF.js.map +7 -0
  104. package/dist/esm/chunks/chunk.OT6H5NHX.js +7 -0
  105. package/dist/esm/chunks/chunk.OTVT3XM2.js +7 -0
  106. package/dist/esm/chunks/{chunk.4ZWV37ZJ.js → chunk.P5QIB6OY.js} +2 -2
  107. package/dist/esm/chunks/{chunk.ZB54OC26.js → chunk.PHBOQRF6.js} +2 -2
  108. package/dist/esm/chunks/{chunk.YTOYNJMD.js → chunk.PHTOULRR.js} +2 -2
  109. package/dist/esm/chunks/chunk.PPPTT3SM.js +7 -0
  110. package/dist/esm/chunks/{chunk.C4YKXXKM.js.map → chunk.PPPTT3SM.js.map} +1 -1
  111. package/dist/esm/chunks/{chunk.VMQZA47V.js → chunk.QA3NU7EN.js} +2 -2
  112. package/dist/esm/chunks/chunk.QYKO543K.js +7 -0
  113. package/dist/esm/chunks/{chunk.RHPJRCIC.js.map → chunk.QYKO543K.js.map} +1 -1
  114. package/dist/esm/chunks/{chunk.7VWG4IEN.js → chunk.QZK3WEH6.js} +2 -2
  115. package/dist/esm/chunks/{chunk.GFWFEBAH.js → chunk.RGPNNISQ.js} +2 -2
  116. package/dist/esm/chunks/chunk.RHYRMQS7.js +7 -0
  117. package/dist/esm/chunks/chunk.RHYRMQS7.js.map +7 -0
  118. package/dist/esm/chunks/{chunk.EUNKM7XR.js → chunk.RUSHOL23.js} +2 -2
  119. package/dist/esm/chunks/chunk.SIJGKRYS.js +7 -0
  120. package/dist/esm/chunks/{chunk.TFMOLR6W.js.map → chunk.SIJGKRYS.js.map} +1 -1
  121. package/dist/esm/chunks/{chunk.EWEX3PHR.js → chunk.STGRPD2L.js} +2 -2
  122. package/dist/esm/chunks/{chunk.EWEX3PHR.js.map → chunk.STGRPD2L.js.map} +1 -1
  123. package/dist/esm/chunks/chunk.SYZB7B4F.js +7 -0
  124. package/dist/esm/chunks/chunk.SYZB7B4F.js.map +7 -0
  125. package/dist/esm/chunks/chunk.SZIM4KFZ.js +7 -0
  126. package/dist/esm/chunks/chunk.SZIM4KFZ.js.map +7 -0
  127. package/dist/esm/chunks/{chunk.YNE75HFH.js → chunk.THPU5KBV.js} +2 -2
  128. package/dist/esm/chunks/{chunk.INRH62VL.js → chunk.TL6WVBGT.js} +2 -2
  129. package/dist/esm/chunks/{chunk.O4KZV4MX.js → chunk.TT2VTZJ6.js} +2 -2
  130. package/dist/esm/chunks/{chunk.7X7A74SI.js → chunk.TXFYS6EU.js} +2 -2
  131. package/dist/esm/chunks/{chunk.5MPUISW3.js → chunk.U4GYQOPY.js} +2 -2
  132. package/dist/esm/chunks/{chunk.I3MZQIAF.js → chunk.UCM6CGFM.js} +2 -2
  133. package/dist/esm/chunks/{chunk.SOMT6F6S.js → chunk.V4RBOYNH.js} +2 -2
  134. package/dist/esm/chunks/{chunk.2R72ZTIK.js → chunk.V6JVHYVW.js} +2 -2
  135. package/dist/esm/chunks/{chunk.UROMKMFI.js → chunk.WBYXVMYI.js} +2 -2
  136. package/dist/esm/chunks/chunk.WFDIA7R6.js +7 -0
  137. package/dist/esm/chunks/chunk.WFDIA7R6.js.map +7 -0
  138. package/dist/esm/chunks/{chunk.QUJL4A23.js → chunk.WO7KEM5K.js} +2 -2
  139. package/dist/esm/chunks/{chunk.HVYK2OWE.js → chunk.WYP2M5FR.js} +2 -2
  140. package/dist/esm/chunks/{chunk.NEMJIVPU.js → chunk.X3YNJSDT.js} +2 -2
  141. package/dist/esm/chunks/{chunk.WQL55O4A.js → chunk.XMFQFFKR.js} +2 -2
  142. package/dist/esm/chunks/{chunk.46LZNRRP.js → chunk.Y5UJ23LB.js} +2 -2
  143. package/dist/esm/chunks/{chunk.S5EJVD5E.js → chunk.YQXX5KSW.js} +2 -2
  144. package/dist/esm/chunks/{chunk.RVUMHJMM.js → chunk.YUAU5IWT.js} +2 -2
  145. package/dist/esm/chunks/{chunk.YSFUL5AD.js → chunk.YZLASVCK.js} +2 -2
  146. package/dist/esm/chunks/{chunk.ELY4YCON.js → chunk.Z5TWWM7I.js} +2 -2
  147. package/dist/esm/chunks/{chunk.RPKVFFQ6.js → chunk.ZIB7L7DZ.js} +2 -2
  148. package/dist/esm/circular-progress/index.js +1 -1
  149. package/dist/esm/color-picker/index.js +1 -1
  150. package/dist/esm/core/base/index.js +1 -1
  151. package/dist/esm/core/index.js +1 -1
  152. package/dist/esm/core/utils/index.js +1 -1
  153. package/dist/esm/date-picker/index.js +1 -1
  154. package/dist/esm/date-range-picker/index.js +1 -1
  155. package/dist/esm/dialog/index.js +1 -1
  156. package/dist/esm/divider/index.js +1 -1
  157. package/dist/esm/drawer/base/index.js +1 -1
  158. package/dist/esm/drawer/drawer/index.js +1 -1
  159. package/dist/esm/drawer/index.js +1 -1
  160. package/dist/esm/drawer/mini-drawer/index.js +1 -1
  161. package/dist/esm/drawer/modal-drawer/index.js +1 -1
  162. package/dist/esm/expansion-panel/index.js +1 -1
  163. package/dist/esm/file-picker/index.js +1 -1
  164. package/dist/esm/floating-action-button/index.js +1 -1
  165. package/dist/esm/icon/index.js +1 -1
  166. package/dist/esm/icon-button/index.js +1 -1
  167. package/dist/esm/index.js +1 -1
  168. package/dist/esm/inline-message/index.js +1 -1
  169. package/dist/esm/keyboard-shortcut/index.js +1 -1
  170. package/dist/esm/label-value/index.js +1 -1
  171. package/dist/esm/linear-progress/index.js +1 -1
  172. package/dist/esm/list/index.js +1 -1
  173. package/dist/esm/list/list/index.js +1 -1
  174. package/dist/esm/list/list-item/index.js +1 -1
  175. package/dist/esm/list-dropdown/index.js +1 -1
  176. package/dist/esm/menu/index.js +1 -1
  177. package/dist/esm/open-icon/index.js +1 -1
  178. package/dist/esm/page-state/index.js +1 -1
  179. package/dist/esm/paginator/index.js +1 -1
  180. package/dist/esm/popup/index.js +1 -1
  181. package/dist/esm/product-icon/index.js +1 -1
  182. package/dist/esm/profile-card/index.js +1 -1
  183. package/dist/esm/quantity-field/index.js +1 -1
  184. package/dist/esm/radio/index.js +1 -1
  185. package/dist/esm/ripple/index.js +1 -1
  186. package/dist/esm/scaffold/index.js +1 -1
  187. package/dist/esm/select/core/index.js +1 -1
  188. package/dist/esm/select/index.js +1 -1
  189. package/dist/esm/select/option/index.js +1 -1
  190. package/dist/esm/select/option-group/index.js +1 -1
  191. package/dist/esm/select/select/index.js +1 -1
  192. package/dist/esm/select/select-dropdown/index.js +1 -1
  193. package/dist/esm/skeleton/index.js +1 -1
  194. package/dist/esm/slider/index.js +1 -1
  195. package/dist/esm/split-view/index.js +1 -1
  196. package/dist/esm/split-view/split-view/index.js +1 -1
  197. package/dist/esm/split-view/split-view-panel/index.js +1 -1
  198. package/dist/esm/stack/index.js +1 -1
  199. package/dist/esm/stepper/index.js +1 -1
  200. package/dist/esm/stepper/step/index.js +1 -1
  201. package/dist/esm/stepper/stepper/index.js +1 -1
  202. package/dist/esm/switch/index.js +1 -1
  203. package/dist/esm/table/index.js +1 -1
  204. package/dist/esm/tabs/index.js +1 -1
  205. package/dist/esm/tabs/tab/index.js +1 -1
  206. package/dist/esm/tabs/tab-bar/index.js +1 -1
  207. package/dist/esm/text-field/index.js +1 -1
  208. package/dist/esm/time-picker/index.js +1 -1
  209. package/dist/esm/toast/index.js +1 -1
  210. package/dist/esm/toolbar/index.js +1 -1
  211. package/dist/esm/tooltip/index.js +1 -1
  212. package/dist/esm/utils/index.js +1 -1
  213. package/dist/esm/view-switcher/index.js +1 -1
  214. package/dist/esm/view-switcher/view/index.js +1 -1
  215. package/esm/accordion/accordion.js +4 -4
  216. package/esm/app-bar/app-bar.js +5 -5
  217. package/esm/app-bar/notification-button/app-bar-notification-button.js +5 -5
  218. package/esm/app-bar/profile-button/app-bar-profile-button-constants.d.ts +1 -1
  219. package/esm/app-bar/profile-button/app-bar-profile-button.js +4 -4
  220. package/esm/app-bar/search/app-bar-search.js +6 -6
  221. package/esm/autocomplete/autocomplete-adapter.d.ts +0 -2
  222. package/esm/autocomplete/autocomplete-adapter.js +0 -4
  223. package/esm/autocomplete/autocomplete-component-delegate.d.ts +1 -1
  224. package/esm/autocomplete/autocomplete-constants.d.ts +4 -4
  225. package/esm/autocomplete/autocomplete-foundation.js +0 -11
  226. package/esm/autocomplete/autocomplete.js +6 -6
  227. package/esm/avatar/avatar-component-delegate.d.ts +1 -1
  228. package/esm/avatar/avatar.js +5 -5
  229. package/esm/backdrop/backdrop-constants.d.ts +1 -1
  230. package/esm/backdrop/backdrop.js +5 -5
  231. package/esm/badge/badge-component-delegate.d.ts +1 -1
  232. package/esm/badge/badge.js +5 -5
  233. package/esm/banner/banner.js +6 -6
  234. package/esm/bottom-sheet/bottom-sheet.js +5 -5
  235. package/esm/busy-indicator/busy-indicator-constants.d.ts +1 -1
  236. package/esm/busy-indicator/busy-indicator.js +5 -5
  237. package/esm/button/button-component-delegate.d.ts +1 -1
  238. package/esm/button/button.js +3 -3
  239. package/esm/button-toggle/button-toggle/button-toggle.js +6 -6
  240. package/esm/button-toggle/button-toggle-group/button-toggle-group-constants.d.ts +2 -2
  241. package/esm/button-toggle/button-toggle-group/button-toggle-group.js +5 -5
  242. package/esm/calendar/calendar-component-delegate.d.ts +1 -1
  243. package/esm/calendar/calendar-constants.d.ts +10 -10
  244. package/esm/calendar/calendar-dropdown/calendar-dropdown.js +5 -5
  245. package/esm/calendar/calendar-menu/calendar-menu-constants.d.ts +2 -2
  246. package/esm/calendar/calendar-menu/calendar-menu.js +5 -5
  247. package/esm/calendar/calendar.js +6 -6
  248. package/esm/card/card.js +5 -5
  249. package/esm/checkbox/checkbox-component-delegate.d.ts +1 -1
  250. package/esm/checkbox/checkbox.js +3 -3
  251. package/esm/chip-field/chip-field-component-delegate.d.ts +1 -1
  252. package/esm/chips/chip/chip.js +6 -6
  253. package/esm/chips/chip-set/chip-set.js +5 -5
  254. package/esm/circular-progress/circular-progress.js +5 -5
  255. package/esm/color-picker/color-picker-constants.d.ts +2 -2
  256. package/esm/color-picker/color-picker.js +6 -6
  257. package/esm/core/delegates/base-component-delegate.d.ts +1 -1
  258. package/esm/core/delegates/base-component-delegate.js +3 -3
  259. package/esm/core/delegates/form-field-component-delegate.d.ts +1 -1
  260. package/esm/core/mask/time-segment-parser.d.ts +1 -1
  261. package/esm/core/utils/utils.d.ts +17 -0
  262. package/esm/core/utils/utils.js +27 -0
  263. package/esm/date-picker/date-picker-component-delegate.d.ts +1 -1
  264. package/esm/date-range-picker/date-range-picker-component-delegate.d.ts +1 -1
  265. package/esm/dialog/dialog-constants.d.ts +2 -2
  266. package/esm/dialog/dialog.js +5 -5
  267. package/esm/drawer/base/base-drawer-constants.d.ts +1 -1
  268. package/esm/expansion-panel/expansion-panel.js +5 -5
  269. package/esm/field/field-constants.d.ts +3 -3
  270. package/esm/field/field.js +3 -3
  271. package/esm/file-picker/file-picker-component-delegate.d.ts +1 -1
  272. package/esm/file-picker/file-picker.js +5 -5
  273. package/esm/floating-action-button/floating-action-button-component-delegate.d.ts +1 -1
  274. package/esm/floating-action-button/floating-action-button.js +6 -6
  275. package/esm/icon/icon.js +5 -5
  276. package/esm/icon-button/icon-button-component-delegate.d.ts +1 -1
  277. package/esm/icon-button/icon-button.js +7 -7
  278. package/esm/keyboard-shortcut/keyboard-shortcut.js +4 -4
  279. package/esm/label-value/label-value-component-delegate.d.ts +1 -1
  280. package/esm/label-value/label-value-constants.d.ts +1 -1
  281. package/esm/label-value/label-value.js +5 -5
  282. package/esm/linear-progress/linear-progress.js +5 -5
  283. package/esm/list/list/list.js +5 -5
  284. package/esm/list/list-item/list-item.js +5 -5
  285. package/esm/list-dropdown/list-dropdown-adapter.js +1 -1
  286. package/esm/list-dropdown/list-dropdown-constants.d.ts +6 -6
  287. package/esm/list-dropdown/list-dropdown-utils.d.ts +1 -1
  288. package/esm/list-dropdown/list-dropdown-utils.js +7 -4
  289. package/esm/menu/menu-constants.d.ts +3 -3
  290. package/esm/menu/menu.js +6 -6
  291. package/esm/open-icon/open-icon.js +6 -6
  292. package/esm/paginator/paginator-constants.d.ts +1 -1
  293. package/esm/paginator/paginator-foundation.js +2 -0
  294. package/esm/paginator/paginator.js +11 -11
  295. package/esm/popup/popup-constants.d.ts +2 -2
  296. package/esm/popup/popup.js +5 -5
  297. package/esm/product-icon/product-icon.js +5 -5
  298. package/esm/profile-card/profile-card.js +5 -5
  299. package/esm/quantity-field/quantity-field-component-delegate.d.ts +1 -1
  300. package/esm/quantity-field/quantity-field.js +6 -6
  301. package/esm/radio/radio.js +5 -5
  302. package/esm/ripple/forge-ripple.d.ts +2 -0
  303. package/esm/ripple/forge-ripple.js +4 -0
  304. package/esm/ripple/ripple.js +4 -4
  305. package/esm/select/core/base-select-constants.d.ts +4 -4
  306. package/esm/select/option/option.js +4 -4
  307. package/esm/select/option-group/option-group.js +3 -3
  308. package/esm/select/select/select-adapter.d.ts +1 -1
  309. package/esm/select/select-component-delegate.d.ts +1 -1
  310. package/esm/slider/slider-adapter.d.ts +95 -0
  311. package/esm/slider/slider-adapter.js +238 -0
  312. package/esm/slider/slider-component-delegate.d.ts +19 -3
  313. package/esm/slider/slider-component-delegate.js +48 -0
  314. package/esm/slider/slider-constants.d.ts +58 -19
  315. package/esm/slider/slider-constants.js +59 -14
  316. package/esm/slider/slider-foundation.d.ts +95 -0
  317. package/esm/slider/slider-foundation.js +319 -0
  318. package/esm/slider/slider-handle-ripple.d.ts +18 -0
  319. package/esm/slider/slider-handle-ripple.js +37 -0
  320. package/esm/slider/slider-utils.d.ts +9 -0
  321. package/esm/slider/slider-utils.js +53 -0
  322. package/esm/slider/slider.d.ts +135 -65
  323. package/esm/slider/slider.js +235 -246
  324. package/esm/split-view/split-view/split-view-constants.d.ts +1 -1
  325. package/esm/split-view/split-view/split-view.js +5 -5
  326. package/esm/split-view/split-view-panel/split-view-panel-constants.d.ts +2 -2
  327. package/esm/split-view/split-view-panel/split-view-panel-foundation.js +18 -18
  328. package/esm/split-view/split-view-panel/split-view-panel.js +7 -7
  329. package/esm/stack/stack-constants.d.ts +1 -1
  330. package/esm/stack/stack.js +5 -5
  331. package/esm/stepper/step/step-constants.d.ts +1 -1
  332. package/esm/stepper/step/step.js +12 -12
  333. package/esm/stepper/stepper/stepper-constants.d.ts +2 -2
  334. package/esm/stepper/stepper/stepper.js +5 -5
  335. package/esm/switch/switch-component-delegate.d.ts +1 -1
  336. package/esm/switch/switch-constants.d.ts +1 -1
  337. package/esm/switch/switch.js +9 -9
  338. package/esm/table/table.js +5 -5
  339. package/esm/table/types.d.ts +4 -4
  340. package/esm/tabs/tab/tab-adapter.d.ts +14 -38
  341. package/esm/tabs/tab/tab-adapter.js +65 -78
  342. package/esm/tabs/tab/tab-constants.d.ts +13 -13
  343. package/esm/tabs/tab/tab-constants.js +18 -10
  344. package/esm/tabs/tab/tab-foundation.d.ts +24 -23
  345. package/esm/tabs/tab/tab-foundation.js +68 -62
  346. package/esm/tabs/tab/tab-ripple.d.ts +17 -0
  347. package/esm/tabs/tab/tab-ripple.js +33 -0
  348. package/esm/tabs/tab/tab.d.ts +56 -19
  349. package/esm/tabs/tab/tab.js +82 -36
  350. package/esm/tabs/tab-bar/tab-bar-adapter.d.ts +49 -87
  351. package/esm/tabs/tab-bar/tab-bar-adapter.js +114 -188
  352. package/esm/tabs/tab-bar/tab-bar-constants.d.ts +15 -45
  353. package/esm/tabs/tab-bar/tab-bar-constants.js +22 -56
  354. package/esm/tabs/tab-bar/tab-bar-foundation.d.ts +56 -65
  355. package/esm/tabs/tab-bar/tab-bar-foundation.js +241 -302
  356. package/esm/tabs/tab-bar/tab-bar.d.ts +51 -36
  357. package/esm/tabs/tab-bar/tab-bar.js +89 -57
  358. package/esm/text-field/text-field-component-delegate.d.ts +1 -1
  359. package/esm/theme/theme-utils.d.ts +2 -2
  360. package/esm/time-picker/time-picker-component-delegate.d.ts +1 -1
  361. package/esm/time-picker/time-picker-constants.d.ts +6 -6
  362. package/esm/time-picker/time-picker.js +6 -6
  363. package/esm/toast/toast-constants.d.ts +2 -2
  364. package/esm/toast/toast.js +6 -6
  365. package/esm/toolbar/toolbar.js +5 -5
  366. package/esm/tooltip/tooltip-constants.d.ts +1 -1
  367. package/esm/tooltip/tooltip.js +4 -4
  368. package/esm/utils/color-utils.js +1 -0
  369. package/esm/view-switcher/view-switcher.js +5 -5
  370. package/package.json +1 -1
  371. package/styles/core/style-layer/slider/_core.scss +550 -0
  372. package/styles/core/style-layer/slider/_functions.scss +33 -0
  373. package/styles/core/style-layer/slider/_variables.scss +17 -0
  374. package/styles/core/style-layer/slider/index.scss +18 -0
  375. package/styles/core/style-layer/tabs/tab/_core.scss +419 -0
  376. package/styles/core/style-layer/tabs/tab/_variables.scss +20 -0
  377. package/styles/core/style-layer/tabs/tab/index.scss +13 -0
  378. package/styles/core/style-layer/tabs/tab-bar/_core.scss +110 -0
  379. package/styles/core/style-layer/tabs/tab-bar/_variables.scss +9 -0
  380. package/styles/core/style-layer/tabs/tab-bar/index.scss +13 -0
  381. package/styles/slider/_mixins.scss +27 -0
  382. package/styles/slider/_variables.scss +37 -0
  383. package/styles/slider/slider.scss +3 -20
  384. package/styles/tabs/tab/_mixins.scss +46 -128
  385. package/styles/tabs/tab/_variables.scss +26 -4
  386. package/styles/tabs/tab/tab.scss +50 -11
  387. package/styles/tabs/tab-bar/_mixins.scss +20 -60
  388. package/styles/tabs/tab-bar/_variables.scss +11 -0
  389. package/styles/tabs/tab-bar/tab-bar.scss +29 -2
  390. package/dist/esm/chunks/chunk.2TVYAW7Q.js +0 -7
  391. package/dist/esm/chunks/chunk.3SBF7CUU.js +0 -201
  392. package/dist/esm/chunks/chunk.3SBF7CUU.js.map +0 -7
  393. package/dist/esm/chunks/chunk.3XZRUXG7.js +0 -7
  394. package/dist/esm/chunks/chunk.7JBR7GWZ.js +0 -7
  395. package/dist/esm/chunks/chunk.ABN3DL7G.js +0 -7
  396. package/dist/esm/chunks/chunk.C4YKXXKM.js +0 -7
  397. package/dist/esm/chunks/chunk.FF5DED5D.js +0 -7
  398. package/dist/esm/chunks/chunk.FF5DED5D.js.map +0 -7
  399. package/dist/esm/chunks/chunk.FHW6LV4A.js +0 -7
  400. package/dist/esm/chunks/chunk.FZ43DC2H.js +0 -7
  401. package/dist/esm/chunks/chunk.GOZVC3ZT.js +0 -7
  402. package/dist/esm/chunks/chunk.GOZVC3ZT.js.map +0 -7
  403. package/dist/esm/chunks/chunk.IMRPJU4M.js +0 -129
  404. package/dist/esm/chunks/chunk.IMRPJU4M.js.map +0 -7
  405. package/dist/esm/chunks/chunk.JKEIP657.js +0 -7
  406. package/dist/esm/chunks/chunk.JKEIP657.js.map +0 -7
  407. package/dist/esm/chunks/chunk.LSFIZAUF.js +0 -7
  408. package/dist/esm/chunks/chunk.QH2GB3PD.js +0 -7
  409. package/dist/esm/chunks/chunk.RHPJRCIC.js +0 -7
  410. package/dist/esm/chunks/chunk.SKEI7ZSK.js +0 -153
  411. package/dist/esm/chunks/chunk.SKEI7ZSK.js.map +0 -7
  412. package/dist/esm/chunks/chunk.TFMOLR6W.js +0 -7
  413. package/dist/esm/chunks/chunk.TKDMM2ZZ.js +0 -7
  414. package/dist/esm/chunks/chunk.U4CFRHOW.js +0 -7
  415. package/dist/esm/chunks/chunk.UETV4PTS.js +0 -12
  416. package/dist/esm/chunks/chunk.UZENE2NC.js +0 -7
  417. package/dist/esm/chunks/chunk.VUGNSK4K.js +0 -7
  418. package/dist/esm/chunks/chunk.VUGNSK4K.js.map +0 -7
  419. package/dist/esm/chunks/chunk.WDTA5G7R.js +0 -7
  420. /package/dist/esm/chunks/{chunk.UEN7B7Q4.js.map → chunk.246JM2YT.js.map} +0 -0
  421. /package/dist/esm/chunks/{chunk.64F24XMH.js.map → chunk.24L5GDD2.js.map} +0 -0
  422. /package/dist/esm/chunks/{chunk.IGOGRMRW.js.map → chunk.2CTK5R37.js.map} +0 -0
  423. /package/dist/esm/chunks/{chunk.ZXPAXZCF.js.map → chunk.2LRDPTHK.js.map} +0 -0
  424. /package/dist/esm/chunks/{chunk.HSXUQFHK.js.map → chunk.2QFIMTVP.js.map} +0 -0
  425. /package/dist/esm/chunks/{chunk.SCP23NBN.js.map → chunk.2QSDH3PC.js.map} +0 -0
  426. /package/dist/esm/chunks/{chunk.KWD5EK54.js.map → chunk.2TQONIPK.js.map} +0 -0
  427. /package/dist/esm/chunks/{chunk.SSJYPH4U.js.map → chunk.2XFVFZ3P.js.map} +0 -0
  428. /package/dist/esm/chunks/{chunk.BPEGGZOR.js.map → chunk.2YAU7AXH.js.map} +0 -0
  429. /package/dist/esm/chunks/{chunk.KI5FPZOX.js.map → chunk.2YX7ASSX.js.map} +0 -0
  430. /package/dist/esm/chunks/{chunk.Y4OET6II.js.map → chunk.2ZTERGYF.js.map} +0 -0
  431. /package/dist/esm/chunks/{chunk.3OT44DTM.js.map → chunk.3CBVRCKM.js.map} +0 -0
  432. /package/dist/esm/chunks/{chunk.7BNQYL2F.js.map → chunk.4EB5NVCK.js.map} +0 -0
  433. /package/dist/esm/chunks/{chunk.4NV7AHF2.js.map → chunk.4LVS2EYJ.js.map} +0 -0
  434. /package/dist/esm/chunks/{chunk.LQQIN7JE.js.map → chunk.57IVD67K.js.map} +0 -0
  435. /package/dist/esm/chunks/{chunk.RXBGYGVH.js.map → chunk.5CMQ7DNL.js.map} +0 -0
  436. /package/dist/esm/chunks/{chunk.MT3CYR5E.js.map → chunk.5M6Y2RU6.js.map} +0 -0
  437. /package/dist/esm/chunks/{chunk.E5H7OQXZ.js.map → chunk.5PHLKON3.js.map} +0 -0
  438. /package/dist/esm/chunks/{chunk.A6RLV2QU.js.map → chunk.632OMHHN.js.map} +0 -0
  439. /package/dist/esm/chunks/{chunk.PNDQ3LAB.js.map → chunk.6SBTLXLH.js.map} +0 -0
  440. /package/dist/esm/chunks/{chunk.KTPSDP4C.js.map → chunk.7JQHQKXN.js.map} +0 -0
  441. /package/dist/esm/chunks/{chunk.BTTHTLD3.js.map → chunk.7WVTJIVR.js.map} +0 -0
  442. /package/dist/esm/chunks/{chunk.PKZYVWEG.js.map → chunk.7ZQMJLHE.js.map} +0 -0
  443. /package/dist/esm/chunks/{chunk.A5D7XSBD.js.map → chunk.A5MBSCSQ.js.map} +0 -0
  444. /package/dist/esm/chunks/{chunk.7UN5EYUE.js.map → chunk.A5R7KUIP.js.map} +0 -0
  445. /package/dist/esm/chunks/{chunk.XARGY3WT.js.map → chunk.AGMPIMJV.js.map} +0 -0
  446. /package/dist/esm/chunks/{chunk.3W2ERIMT.js.map → chunk.BKCEVPKW.js.map} +0 -0
  447. /package/dist/esm/chunks/{chunk.X63F5NVD.js.map → chunk.BSTIDYQJ.js.map} +0 -0
  448. /package/dist/esm/chunks/{chunk.UUUF27IU.js.map → chunk.BWZKQ6WX.js.map} +0 -0
  449. /package/dist/esm/chunks/{chunk.XBW6KSW3.js.map → chunk.CNQESSA3.js.map} +0 -0
  450. /package/dist/esm/chunks/{chunk.55FCNVG5.js.map → chunk.DTZFWZPB.js.map} +0 -0
  451. /package/dist/esm/chunks/{chunk.R4B7JSSA.js.map → chunk.E6KWYFZG.js.map} +0 -0
  452. /package/dist/esm/chunks/{chunk.XGWGJFWC.js.map → chunk.E7Z3IRWV.js.map} +0 -0
  453. /package/dist/esm/chunks/{chunk.NSTCCETU.js.map → chunk.ECRL6O3V.js.map} +0 -0
  454. /package/dist/esm/chunks/{chunk.W6MDMZTN.js.map → chunk.EDEYCLDU.js.map} +0 -0
  455. /package/dist/esm/chunks/{chunk.P6ZUHPI6.js.map → chunk.ER52NFXX.js.map} +0 -0
  456. /package/dist/esm/chunks/{chunk.AY46N5Y7.js.map → chunk.EUE3OVC7.js.map} +0 -0
  457. /package/dist/esm/chunks/{chunk.RMPS2I2P.js.map → chunk.EYZ25QUP.js.map} +0 -0
  458. /package/dist/esm/chunks/{chunk.VJ2SSV5X.js.map → chunk.FAANPQES.js.map} +0 -0
  459. /package/dist/esm/chunks/{chunk.DX32NTD3.js.map → chunk.GF2GUVYS.js.map} +0 -0
  460. /package/dist/esm/chunks/{chunk.ABN3DL7G.js.map → chunk.GJW4WS4I.js.map} +0 -0
  461. /package/dist/esm/chunks/{chunk.P4TIMZKU.js.map → chunk.GUYPITGA.js.map} +0 -0
  462. /package/dist/esm/chunks/{chunk.T64UW37U.js.map → chunk.H5D54EHO.js.map} +0 -0
  463. /package/dist/esm/chunks/{chunk.FPMQAUL3.js.map → chunk.HKJEGD6C.js.map} +0 -0
  464. /package/dist/esm/chunks/{chunk.7KEUUHXY.js.map → chunk.IDD54B5P.js.map} +0 -0
  465. /package/dist/esm/chunks/{chunk.H4H75YUA.js.map → chunk.IWA3CYIB.js.map} +0 -0
  466. /package/dist/esm/chunks/{chunk.UETV4PTS.js.map → chunk.JHXNEHWR.js.map} +0 -0
  467. /package/dist/esm/chunks/{chunk.ZOV2BUZG.js.map → chunk.JVW6JGV3.js.map} +0 -0
  468. /package/dist/esm/chunks/{chunk.P64BBB3U.js.map → chunk.MXNLCQRB.js.map} +0 -0
  469. /package/dist/esm/chunks/{chunk.3XZRUXG7.js.map → chunk.OT6H5NHX.js.map} +0 -0
  470. /package/dist/esm/chunks/{chunk.7JBR7GWZ.js.map → chunk.OTVT3XM2.js.map} +0 -0
  471. /package/dist/esm/chunks/{chunk.4ZWV37ZJ.js.map → chunk.P5QIB6OY.js.map} +0 -0
  472. /package/dist/esm/chunks/{chunk.ZB54OC26.js.map → chunk.PHBOQRF6.js.map} +0 -0
  473. /package/dist/esm/chunks/{chunk.YTOYNJMD.js.map → chunk.PHTOULRR.js.map} +0 -0
  474. /package/dist/esm/chunks/{chunk.VMQZA47V.js.map → chunk.QA3NU7EN.js.map} +0 -0
  475. /package/dist/esm/chunks/{chunk.7VWG4IEN.js.map → chunk.QZK3WEH6.js.map} +0 -0
  476. /package/dist/esm/chunks/{chunk.GFWFEBAH.js.map → chunk.RGPNNISQ.js.map} +0 -0
  477. /package/dist/esm/chunks/{chunk.EUNKM7XR.js.map → chunk.RUSHOL23.js.map} +0 -0
  478. /package/dist/esm/chunks/{chunk.YNE75HFH.js.map → chunk.THPU5KBV.js.map} +0 -0
  479. /package/dist/esm/chunks/{chunk.INRH62VL.js.map → chunk.TL6WVBGT.js.map} +0 -0
  480. /package/dist/esm/chunks/{chunk.O4KZV4MX.js.map → chunk.TT2VTZJ6.js.map} +0 -0
  481. /package/dist/esm/chunks/{chunk.7X7A74SI.js.map → chunk.TXFYS6EU.js.map} +0 -0
  482. /package/dist/esm/chunks/{chunk.5MPUISW3.js.map → chunk.U4GYQOPY.js.map} +0 -0
  483. /package/dist/esm/chunks/{chunk.I3MZQIAF.js.map → chunk.UCM6CGFM.js.map} +0 -0
  484. /package/dist/esm/chunks/{chunk.SOMT6F6S.js.map → chunk.V4RBOYNH.js.map} +0 -0
  485. /package/dist/esm/chunks/{chunk.2R72ZTIK.js.map → chunk.V6JVHYVW.js.map} +0 -0
  486. /package/dist/esm/chunks/{chunk.UROMKMFI.js.map → chunk.WBYXVMYI.js.map} +0 -0
  487. /package/dist/esm/chunks/{chunk.QUJL4A23.js.map → chunk.WO7KEM5K.js.map} +0 -0
  488. /package/dist/esm/chunks/{chunk.HVYK2OWE.js.map → chunk.WYP2M5FR.js.map} +0 -0
  489. /package/dist/esm/chunks/{chunk.NEMJIVPU.js.map → chunk.X3YNJSDT.js.map} +0 -0
  490. /package/dist/esm/chunks/{chunk.WQL55O4A.js.map → chunk.XMFQFFKR.js.map} +0 -0
  491. /package/dist/esm/chunks/{chunk.46LZNRRP.js.map → chunk.Y5UJ23LB.js.map} +0 -0
  492. /package/dist/esm/chunks/{chunk.S5EJVD5E.js.map → chunk.YQXX5KSW.js.map} +0 -0
  493. /package/dist/esm/chunks/{chunk.RVUMHJMM.js.map → chunk.YUAU5IWT.js.map} +0 -0
  494. /package/dist/esm/chunks/{chunk.YSFUL5AD.js.map → chunk.YZLASVCK.js.map} +0 -0
  495. /package/dist/esm/chunks/{chunk.ELY4YCON.js.map → chunk.Z5TWWM7I.js.map} +0 -0
  496. /package/dist/esm/chunks/{chunk.RPKVFFQ6.js.map → chunk.ZIB7L7DZ.js.map} +0 -0
@@ -3,32 +3,64 @@
3
3
  * Copyright 2023 Tyler Technologies, Inc.
4
4
  * License: Apache-2.0
5
5
  */
6
- import { TabBarLayoutMode, TabBarLayoutAlign, ITabBarActivateEventData } from './tab-bar-constants';
7
6
  import { BaseComponent, IBaseComponent } from '../../core/base/base-component';
8
7
  export interface ITabBarComponent extends IBaseComponent {
9
- activeTab: number;
10
- layoutMode: TabBarLayoutMode;
11
- layoutAlign: TabBarLayoutAlign;
12
- underline: boolean;
13
- autoActivate: boolean;
8
+ disabled: boolean;
9
+ activeTab: number | null | undefined;
10
+ vertical: boolean;
11
+ clustered: boolean;
14
12
  stacked: boolean;
13
+ secondary: boolean;
14
+ inverted: boolean;
15
+ autoActivate: boolean;
15
16
  scrollButtons: boolean;
16
- forceScrollButtons: boolean;
17
- activateTab(index: number): void;
18
- scrollTabIntoView(index: number): void;
19
17
  }
20
18
  declare global {
21
19
  interface HTMLElementTagNameMap {
22
20
  'forge-tab-bar': ITabBarComponent;
23
21
  }
24
22
  interface HTMLElementEventMap {
25
- 'forge-tab-bar-activate': CustomEvent<ITabBarActivateEventData>;
23
+ 'forge-tab-bar-change': CustomEvent<number>;
26
24
  }
27
25
  }
28
26
  /**
29
- * The custom element class behind the `<forge-tab-bar>` element.
30
- *
31
27
  * @tag forge-tab-bar
28
+ *
29
+ * @summary Tabs organize content across different screens and views.
30
+ *
31
+ * @description
32
+ * Use tabs to group content into helpful categories. Tabs are typically placed
33
+ * above the content they relate to. Tabs can be used to navigate between screens,
34
+ * or to group related content within a screen.
35
+ *
36
+ * @property {boolean} disabled - The disabled state of the tab bar.
37
+ * @property {number} activeTab - The index of the active tab.
38
+ * @property {boolean} vertical - Controls whether the tab bar is vertical or horizontal.
39
+ * @property {boolean} clustered - Controls whether the tabs stretch the full width of their container or cluster together at their minimum width.
40
+ * @property {boolean} stacked - Controls whether the tabs are taller to allow for slotted leading/trailing elements.
41
+ * @property {boolean} secondary - Controls whether the tabs are styled as secondary tab navigation.
42
+ * @property {boolean} inverted - Controls whether the tabs are rendered inverted (tab indicator at top instead of bottom).
43
+ * @property {boolean} autoActivate - Controls whether the tabs are automatically activated when receiving focus.
44
+ * @property {boolean} scrollButtons - Controls whether scroll buttons are displayed when the tabs overflow their container.
45
+ *
46
+ * @attribute disabled - The disabled state of the tab bar.
47
+ * @attribute active-tab - The index of the active tab.
48
+ * @attribute vertical - Controls whether the tab bar is vertical or horizontal.
49
+ * @attribute clustered - Controls whether the tabs stretch the full width of their container or cluster together at their minimum width.
50
+ * @attribute stacked - Controls whether the tabs are taller to allow for slotted leading/trailing elements.
51
+ * @attribute secondary - Controls whether the tabs are styled as secondary tab navigation.
52
+ * @attribute auto-activate - Controls whether the tabs are automatically activated when receiving focus.
53
+ * @attribute scroll-buttons - Controls whether scroll buttons are displayed when the tabs overflow their container.
54
+ *
55
+ * @event forge-tab-bar-change {CustomEvent<number>} - Dispatches when the active tab changes.
56
+ *
57
+ * @cssproperty --forge-tab-bar-justify - The `justify-content` value for the tab bar flex container.
58
+ * @cssproperty --forge-tab-bar-stretch - The `flex` value for the child `<forge-tab>` elements.
59
+ * @cssproperty --forge-tab-bar-underline-color - The color of the underline.
60
+ * @cssproperty --forge-tab-bar-underline-thickness - The thickness of the underline.
61
+ *
62
+ * @csspart container - The container element.
63
+ * @csspart scroll-container - The scroll container element.
32
64
  */
33
65
  export declare class TabBarComponent extends BaseComponent implements ITabBarComponent {
34
66
  static get observedAttributes(): string[];
@@ -37,30 +69,13 @@ export declare class TabBarComponent extends BaseComponent implements ITabBarCom
37
69
  connectedCallback(): void;
38
70
  disconnectedCallback(): void;
39
71
  attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
40
- /** Gets and sets the active tab index. */
41
- activeTab: number;
42
- /** Gets/sets the layout mode that controls how the tabs are sized and rendered. */
43
- layoutMode: TabBarLayoutMode;
44
- /** Gets/sets the layout alignment. Only pertains to non-full width layout modes. */
45
- layoutAlign: TabBarLayoutAlign;
46
- /** Gets/sets whether the component displays an underline or not. Default is `false`. */
47
- underline: boolean;
48
- /** Gets/sets whether tabs are auto-activated when using arrow keys. Default is `true` */
49
- autoActivate: boolean;
50
- /** Gets/sets whether the tabs are displayed with as their stacked variant. Default is `false`. */
72
+ disabled: boolean;
73
+ activeTab: number | null | undefined;
74
+ vertical: boolean;
75
+ clustered: boolean;
51
76
  stacked: boolean;
52
- /** Gets/sets whether the scroll buttons can be displayed or not. Default is `true`. The component handles visibility automatically. */
77
+ secondary: boolean;
78
+ inverted: boolean;
79
+ autoActivate: boolean;
53
80
  scrollButtons: boolean;
54
- /** Gets/sets whether the scroll buttons are visible indefinitely or not. Default is `false`. */
55
- forceScrollButtons: boolean;
56
- /**
57
- * Activates the tab at the given index.
58
- * @param index The index of the tab.
59
- */
60
- activateTab(index: number): void;
61
- /**
62
- * Scrolls the tab at the given index into view.
63
- * @param index The index of the tab.
64
- */
65
- scrollTabIntoView(index: number): void;
66
81
  }
@@ -4,114 +4,146 @@
4
4
  * License: Apache-2.0
5
5
  */
6
6
  import { __decorate } from "tslib";
7
- import { CustomElement, attachShadowTemplate, coerceNumber, coerceBoolean, FoundationProperty } from '@tylertech/forge-core';
8
- import { tylIconKeyboardArrowLeft, tylIconKeyboardArrowRight } from '@tylertech/tyler-icons/standard';
9
- import { TabComponent } from '../tab/tab';
7
+ import { attachShadowTemplate, coerceBoolean, coerceNumber, CustomElement, FoundationProperty } from '@tylertech/forge-core';
8
+ import { IconComponent, IconRegistry } from '../../icon';
10
9
  import { IconButtonComponent } from '../../icon-button';
10
+ import { BaseComponent } from '../../core/base/base-component';
11
+ import { TabComponent } from '../tab/tab';
12
+ import { TabBarAdapter } from './tab-bar-adapter';
11
13
  import { TAB_BAR_CONSTANTS } from './tab-bar-constants';
12
14
  import { TabBarFoundation } from './tab-bar-foundation';
13
- import { TabBarAdapter } from './tab-bar-adapter';
14
- import { IconComponent, IconRegistry } from '../../icon';
15
- import { BaseComponent } from '../../core/base/base-component';
16
- const template = '<template><div class=\"forge-tab-bar\" part=\"root\"><div class=\"forge-tab-bar__scroll-prev-container\" part=\"previous-container\"><forge-icon-button part=\"previous-button\"><button type=\"button\" tabindex=\"-1\" aria-label=\"Scroll left\" id=\"scroll-prev-btn\" part=\"previous-button-element\"><forge-icon name=\"keyboard_arrow_left\" part=\"previous-button-icon\"></forge-icon></button></forge-icon-button></div><div class=\"mdc-tab-scroller\" part=\"tab-scroller\"><div class=\"mdc-tab-scroller__scroll-area\" part=\"scroll-area\"><div class=\"mdc-tab-scroller__scroll-content\" part=\"scroll-content\"><slot></slot></div></div></div><div class=\"forge-tab-bar__scroll-next-container\" part=\"next-container\"><forge-icon-button part=\"next-button\"><button type=\"button\" tabindex=\"-1\" aria-label=\"Scroll right\" id=\"scroll-next-btn\" part=\"next-button-element\"><forge-icon name=\"keyboard_arrow_right\" part=\"next-button-icon\"></forge-icon></button></forge-icon-button></div></div></template>';
17
- const styles = '.forge-icon-button{display:-webkit-inline-box;display:inline-flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;border:none;outline:0;background-color:transparent;fill:currentColor;color:inherit;font-size:24px;text-decoration:none;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:48px;height:48px;padding:12px}.forge-icon-button forge-icon,.forge-icon-button img,.forge-icon-button svg{width:24px;height:24px}.forge-icon-button:disabled{color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38))}.forge-icon-button:disabled{cursor:default;pointer-events:none}.forge-icon-button__icon{display:inline-block}.forge-icon-button__icon.forge-icon-button__icon--on{display:none}.forge-icon-button--on .forge-icon-button__icon{display:none}.forge-icon-button--on .forge-icon-button__icon.forge-icon-button__icon--on{display:inline-block}@-webkit-keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@-webkit-keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@-webkit-keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}@keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}.forge-icon-button{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity}.forge-icon-button::after,.forge-icon-button::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\"\"}.forge-icon-button::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.forge-icon-button::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.forge-icon-button.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.forge-icon-button.mdc-ripple-upgraded::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.forge-icon-button.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.forge-icon-button.mdc-ripple-upgraded--foreground-activation::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.forge-icon-button.mdc-ripple-upgraded--foreground-deactivation::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.forge-icon-button::after,.forge-icon-button::before{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.forge-icon-button.mdc-ripple-upgraded::after,.forge-icon-button.mdc-ripple-upgraded::before{top:var(--mdc-ripple-top,calc(50% - 50%));left:var(--mdc-ripple-left,calc(50% - 50%));width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-icon-button.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-icon-button::after,.forge-icon-button::before{background-color:#000;background-color:var(--mdc-ripple-color,var(--mdc-theme-on-surface,#000))}.forge-icon-button.mdc-ripple-surface--hover::before,.forge-icon-button:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-icon-button.mdc-ripple-upgraded--background-focused::before,.forge-icon-button:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-icon-button:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-icon-button:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-icon-button.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}forge-icon-button{position:relative;display:inline-block;overflow:visible}.forge-icon-button--on{color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.forge-icon-button--on::after,.forge-icon-button--on::before{background-color:#3f51b5;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#3f51b5))}.forge-icon-button--on.mdc-ripple-surface--hover::before,.forge-icon-button--on:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-icon-button--on.mdc-ripple-upgraded--background-focused::before,.forge-icon-button--on:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-icon-button--on:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-icon-button--on:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-icon-button--on.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.forge-icon-button--on::before{background-color:#3f51b5;background-color:var(--mdc-theme-primary,#3f51b5);opacity:.08}.forge-icon-button--dense{width:28px;height:28px;padding:2px;padding:0}.forge-icon-button--dense-1{width:44px;height:44px;padding:10px}.forge-icon-button--dense-2{width:40px;height:40px;padding:8px}.forge-icon-button--dense-3{width:36px;height:36px;padding:6px}.forge-icon-button--dense-4{width:32px;height:32px;padding:4px}.forge-icon-button--dense-5{width:28px;height:28px;padding:2px}.forge-icon-button--dense-6{width:24px;height:24px;padding:0}.forge-icon-button--with-badge forge-badge{z-index:1;z-index:var(--forge-z-index-surface,1);pointer-events:none;--forge-badge-max-width:32px;--forge-badge-border:1px solid transparent}.forge-icon-button--with-badge forge-badge[app-bar-context]{--forge-badge-border:2px solid var(--forge-app-bar-theme-background)}.mdc-tab-scroller{overflow-y:hidden}.mdc-tab-scroller.mdc-tab-scroller--animating .mdc-tab-scroller__scroll-content{-webkit-transition:250ms -webkit-transform cubic-bezier(.4, 0, .2, 1);transition:250ms -webkit-transform cubic-bezier(.4, 0, .2, 1);transition:250ms transform cubic-bezier(.4, 0, .2, 1);transition:250ms transform cubic-bezier(.4, 0, .2, 1),250ms -webkit-transform cubic-bezier(.4, 0, .2, 1)}.mdc-tab-scroller__test{position:absolute;top:-9999px;width:100px;height:100px;overflow-x:scroll}.mdc-tab-scroller__scroll-area{-webkit-overflow-scrolling:touch;display:-webkit-box;display:flex;overflow-x:hidden}.mdc-tab-scroller__scroll-area::-webkit-scrollbar,.mdc-tab-scroller__test::-webkit-scrollbar{display:none}.mdc-tab-scroller__scroll-area--scroll{overflow-x:scroll}.mdc-tab-scroller__scroll-content{position:relative;display:-webkit-box;display:flex;-webkit-box-flex:1;flex:1 0 auto;-webkit-transform:none;transform:none;will-change:transform}.mdc-tab-scroller--align-start .mdc-tab-scroller__scroll-content{-webkit-box-pack:start;justify-content:flex-start}.mdc-tab-scroller--align-end .mdc-tab-scroller__scroll-content{-webkit-box-pack:end;justify-content:flex-end}.mdc-tab-scroller--align-center .mdc-tab-scroller__scroll-content{-webkit-box-pack:center;justify-content:center}.mdc-tab-scroller--animating .mdc-tab-scroller__scroll-area{-webkit-overflow-scrolling:auto}.forge-tab-bar{height:48px;height:var(--forge-tab-bar-height,48px);display:-webkit-box;display:flex;position:relative}.forge-tab-bar--underlined::after{border-bottom-color:#e0e0e0;border-bottom-color:var(--forge-theme-border-color,#e0e0e0);content:\"\";border-bottom-width:1px;border-bottom-style:solid;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;position:absolute;bottom:0;left:0;right:0}.forge-tab-bar--align-center .mdc-tab-scroller__scroll-content{-webkit-box-pack:center;justify-content:center}.forge-tab-bar--align-end .mdc-tab-scroller__scroll-content{-webkit-box-pack:end;justify-content:flex-end}.forge-tab-bar--stacked{height:72px;height:var(--forge-tab-bar-height,72px);-webkit-box-align:center;align-items:center}.forge-tab-bar--stacked .mdc-tab-scroller{height:100%}.mdc-tab-scroller{z-index:1;width:100%}.mdc-tab-scroller__scroll-area{height:100%;overflow-x:auto;scrollbar-width:none}:host{display:block;overflow:hidden}:host([hidden]){display:none}';
15
+ import { tylIconKeyboardArrowLeft, tylIconKeyboardArrowRight, tylIconKeyboardArrowUp, tylIconKeyboardArrowDown } from '@tylertech/tyler-icons/standard';
16
+ const template = '<template><div class=\"container\" part=\"container\"><div role=\"tablist\" class=\"scroll-container\" part=\"scroll-container\"><slot></slot></div></div></template>';
17
+ const styles = '.forge-icon-button{display:-webkit-inline-box;display:inline-flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;border:none;outline:0;background-color:transparent;fill:currentColor;color:inherit;font-size:24px;text-decoration:none;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:48px;height:48px;padding:12px}.forge-icon-button forge-icon,.forge-icon-button img,.forge-icon-button svg{width:24px;height:24px}.forge-icon-button:disabled{color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38))}.forge-icon-button:disabled{cursor:default;pointer-events:none}.forge-icon-button__icon{display:inline-block}.forge-icon-button__icon.forge-icon-button__icon--on{display:none}.forge-icon-button--on .forge-icon-button__icon{display:none}.forge-icon-button--on .forge-icon-button__icon.forge-icon-button__icon--on{display:inline-block}@-webkit-keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@-webkit-keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@-webkit-keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}@keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}.forge-icon-button{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity}.forge-icon-button::after,.forge-icon-button::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\"\"}.forge-icon-button::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.forge-icon-button::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.forge-icon-button.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.forge-icon-button.mdc-ripple-upgraded::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.forge-icon-button.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.forge-icon-button.mdc-ripple-upgraded--foreground-activation::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.forge-icon-button.mdc-ripple-upgraded--foreground-deactivation::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.forge-icon-button::after,.forge-icon-button::before{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.forge-icon-button.mdc-ripple-upgraded::after,.forge-icon-button.mdc-ripple-upgraded::before{top:var(--mdc-ripple-top,calc(50% - 50%));left:var(--mdc-ripple-left,calc(50% - 50%));width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-icon-button.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-icon-button::after,.forge-icon-button::before{background-color:#000;background-color:var(--mdc-ripple-color,var(--mdc-theme-on-surface,#000))}.forge-icon-button.mdc-ripple-surface--hover::before,.forge-icon-button:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-icon-button.mdc-ripple-upgraded--background-focused::before,.forge-icon-button:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-icon-button:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-icon-button:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-icon-button.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}forge-icon-button{position:relative;display:inline-block;overflow:visible}.forge-icon-button--on{color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.forge-icon-button--on::after,.forge-icon-button--on::before{background-color:#3f51b5;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#3f51b5))}.forge-icon-button--on.mdc-ripple-surface--hover::before,.forge-icon-button--on:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-icon-button--on.mdc-ripple-upgraded--background-focused::before,.forge-icon-button--on:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-icon-button--on:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-icon-button--on:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-icon-button--on.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.forge-icon-button--on::before{background-color:#3f51b5;background-color:var(--mdc-theme-primary,#3f51b5);opacity:.08}.forge-icon-button--dense{width:28px;height:28px;padding:2px;padding:0}.forge-icon-button--dense-1{width:44px;height:44px;padding:10px}.forge-icon-button--dense-2{width:40px;height:40px;padding:8px}.forge-icon-button--dense-3{width:36px;height:36px;padding:6px}.forge-icon-button--dense-4{width:32px;height:32px;padding:4px}.forge-icon-button--dense-5{width:28px;height:28px;padding:2px}.forge-icon-button--dense-6{width:24px;height:24px;padding:0}.forge-icon-button--with-badge forge-badge{z-index:1;z-index:var(--forge-z-index-surface,1);pointer-events:none;--forge-badge-max-width:32px;--forge-badge-border:1px solid transparent}.forge-icon-button--with-badge forge-badge[app-bar-context]{--forge-badge-border:2px solid var(--forge-app-bar-theme-background)}.container{--_container-justify:var(--forge-tab-bar-justify, space-between);--_tab-flex:var(--forge-tab-bar-stretch, 1);--_divider-color:var(--forge-tab-bar-underline-color, var(--forge-theme-border-color, #e0e0e0));--_divider-thickness:var(--forge-tab-bar-underline-thickness, 1px);position:relative;display:grid;grid-template-columns:auto 1fr auto;max-width:100%;max-height:100%;-webkit-box-align:center;align-items:center;border-bottom:var(--_divider-thickness) solid var(--_divider-color)}.scroll-container{position:relative;display:-webkit-box;display:flex;-webkit-box-pack:var(--_container-justify);justify-content:var(--_container-justify);-webkit-box-align:end;align-items:flex-end;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:auto;scroll-behavior:smooth;scrollbar-width:none;grid-column:2}.scroll-container::-webkit-scrollbar{display:none}::slotted(*){-webkit-box-flex:var(--_tab-flex);flex:var(--_tab-flex)}::slotted([selected]){z-index:1}:host{position:relative;display:block}:host([vertical]) .container{grid-template-columns:none;grid-template-rows:auto 1fr auto;-webkit-box-align:initial;align-items:initial;border-bottom:none;border-right:var(--_divider-thickness) solid var(--_divider-color);height:100%}:host([vertical]) .scroll-container{display:-webkit-inline-box;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:stretch;align-items:stretch;gap:0;grid-column:auto;grid-row:2}:host([vertical]) .scroll-button{justify-self:center}:host([inverted]:not([vertical])) .container{border-bottom:none;border-top:var(--_divider-thickness) solid var(--_divider-color)}:host([inverted][vertical]) .container{border-right:none;border-left:var(--_divider-thickness) solid var(--_divider-color)}:host([clustered]){--forge-tab-bar-justify:flex-start;--forge-tab-bar-stretch:0}:host([clustered=start]){--forge-tab-bar-justify:flex-start}:host([clustered=center]){--forge-tab-bar-justify:center}:host([clustered=end]){--forge-tab-bar-justify:flex-end}:host([hidden]){display:none}';
18
18
  /**
19
- * The custom element class behind the `<forge-tab-bar>` element.
20
- *
21
19
  * @tag forge-tab-bar
20
+ *
21
+ * @summary Tabs organize content across different screens and views.
22
+ *
23
+ * @description
24
+ * Use tabs to group content into helpful categories. Tabs are typically placed
25
+ * above the content they relate to. Tabs can be used to navigate between screens,
26
+ * or to group related content within a screen.
27
+ *
28
+ * @property {boolean} disabled - The disabled state of the tab bar.
29
+ * @property {number} activeTab - The index of the active tab.
30
+ * @property {boolean} vertical - Controls whether the tab bar is vertical or horizontal.
31
+ * @property {boolean} clustered - Controls whether the tabs stretch the full width of their container or cluster together at their minimum width.
32
+ * @property {boolean} stacked - Controls whether the tabs are taller to allow for slotted leading/trailing elements.
33
+ * @property {boolean} secondary - Controls whether the tabs are styled as secondary tab navigation.
34
+ * @property {boolean} inverted - Controls whether the tabs are rendered inverted (tab indicator at top instead of bottom).
35
+ * @property {boolean} autoActivate - Controls whether the tabs are automatically activated when receiving focus.
36
+ * @property {boolean} scrollButtons - Controls whether scroll buttons are displayed when the tabs overflow their container.
37
+ *
38
+ * @attribute disabled - The disabled state of the tab bar.
39
+ * @attribute active-tab - The index of the active tab.
40
+ * @attribute vertical - Controls whether the tab bar is vertical or horizontal.
41
+ * @attribute clustered - Controls whether the tabs stretch the full width of their container or cluster together at their minimum width.
42
+ * @attribute stacked - Controls whether the tabs are taller to allow for slotted leading/trailing elements.
43
+ * @attribute secondary - Controls whether the tabs are styled as secondary tab navigation.
44
+ * @attribute auto-activate - Controls whether the tabs are automatically activated when receiving focus.
45
+ * @attribute scroll-buttons - Controls whether scroll buttons are displayed when the tabs overflow their container.
46
+ *
47
+ * @event forge-tab-bar-change {CustomEvent<number>} - Dispatches when the active tab changes.
48
+ *
49
+ * @cssproperty --forge-tab-bar-justify - The `justify-content` value for the tab bar flex container.
50
+ * @cssproperty --forge-tab-bar-stretch - The `flex` value for the child `<forge-tab>` elements.
51
+ * @cssproperty --forge-tab-bar-underline-color - The color of the underline.
52
+ * @cssproperty --forge-tab-bar-underline-thickness - The thickness of the underline.
53
+ *
54
+ * @csspart container - The container element.
55
+ * @csspart scroll-container - The scroll container element.
22
56
  */
23
57
  let TabBarComponent = class TabBarComponent extends BaseComponent {
24
- constructor() {
25
- super();
26
- IconRegistry.define([tylIconKeyboardArrowLeft, tylIconKeyboardArrowRight]);
27
- attachShadowTemplate(this, template, styles);
28
- this._foundation = new TabBarFoundation(new TabBarAdapter(this));
29
- }
30
58
  static get observedAttributes() {
31
59
  return [
60
+ TAB_BAR_CONSTANTS.attributes.DISABLED,
32
61
  TAB_BAR_CONSTANTS.attributes.ACTIVE_TAB,
33
- TAB_BAR_CONSTANTS.attributes.LAYOUT_MODE,
34
- TAB_BAR_CONSTANTS.attributes.LAYOUT_ALIGN,
35
- TAB_BAR_CONSTANTS.attributes.UNDERLINE,
36
- TAB_BAR_CONSTANTS.attributes.AUTO_ACTIVATE,
62
+ TAB_BAR_CONSTANTS.attributes.VERTICAL,
63
+ TAB_BAR_CONSTANTS.attributes.CLUSTERED,
37
64
  TAB_BAR_CONSTANTS.attributes.STACKED,
38
- TAB_BAR_CONSTANTS.attributes.SCROLL_BUTTONS,
39
- TAB_BAR_CONSTANTS.attributes.FORCE_SCROLL_BUTTONS
65
+ TAB_BAR_CONSTANTS.attributes.SECONDARY,
66
+ TAB_BAR_CONSTANTS.attributes.INVERTED,
67
+ TAB_BAR_CONSTANTS.attributes.AUTO_ACTIVATE,
68
+ TAB_BAR_CONSTANTS.attributes.SCROLL_BUTTONS
40
69
  ];
41
70
  }
71
+ constructor() {
72
+ super();
73
+ IconRegistry.define([
74
+ tylIconKeyboardArrowLeft,
75
+ tylIconKeyboardArrowRight,
76
+ tylIconKeyboardArrowUp,
77
+ tylIconKeyboardArrowDown
78
+ ]);
79
+ attachShadowTemplate(this, template, styles);
80
+ this._foundation = new TabBarFoundation(new TabBarAdapter(this));
81
+ }
42
82
  connectedCallback() {
43
83
  this._foundation.initialize();
44
84
  }
45
85
  disconnectedCallback() {
46
- this._foundation.disconnect();
86
+ this._foundation.destroy();
47
87
  }
48
88
  attributeChangedCallback(name, oldValue, newValue) {
49
89
  switch (name) {
90
+ case TAB_BAR_CONSTANTS.attributes.DISABLED:
91
+ this.disabled = coerceBoolean(newValue);
92
+ break;
50
93
  case TAB_BAR_CONSTANTS.attributes.ACTIVE_TAB:
51
- this.activeTab = coerceNumber(newValue);
94
+ this.activeTab = newValue ? coerceNumber(newValue) : undefined;
95
+ break;
96
+ case TAB_BAR_CONSTANTS.attributes.VERTICAL:
97
+ this.vertical = coerceBoolean(newValue);
52
98
  break;
53
- case TAB_BAR_CONSTANTS.attributes.LAYOUT_MODE:
54
- this.layoutMode = newValue;
99
+ case TAB_BAR_CONSTANTS.attributes.CLUSTERED:
100
+ this.clustered = coerceBoolean(newValue);
55
101
  break;
56
- case TAB_BAR_CONSTANTS.attributes.LAYOUT_ALIGN:
57
- this.layoutAlign = newValue;
102
+ case TAB_BAR_CONSTANTS.attributes.STACKED:
103
+ this.stacked = coerceBoolean(newValue);
104
+ break;
105
+ case TAB_BAR_CONSTANTS.attributes.SECONDARY:
106
+ this.secondary = coerceBoolean(newValue);
58
107
  break;
59
- case TAB_BAR_CONSTANTS.attributes.UNDERLINE:
60
- this.underline = coerceBoolean(newValue);
108
+ case TAB_BAR_CONSTANTS.attributes.INVERTED:
109
+ this.inverted = coerceBoolean(newValue);
61
110
  break;
62
111
  case TAB_BAR_CONSTANTS.attributes.AUTO_ACTIVATE:
63
112
  this.autoActivate = coerceBoolean(newValue);
64
113
  break;
65
- case TAB_BAR_CONSTANTS.attributes.STACKED:
66
- this.stacked = coerceBoolean(newValue);
67
- break;
68
114
  case TAB_BAR_CONSTANTS.attributes.SCROLL_BUTTONS:
69
115
  this.scrollButtons = coerceBoolean(newValue);
70
116
  break;
71
- case TAB_BAR_CONSTANTS.attributes.FORCE_SCROLL_BUTTONS:
72
- this.forceScrollButtons = coerceBoolean(newValue);
73
- break;
74
117
  }
75
118
  }
76
- /**
77
- * Activates the tab at the given index.
78
- * @param index The index of the tab.
79
- */
80
- activateTab(index) {
81
- this._foundation.activateTab(index);
82
- }
83
- /**
84
- * Scrolls the tab at the given index into view.
85
- * @param index The index of the tab.
86
- */
87
- scrollTabIntoView(index) {
88
- this._foundation.scrollIntoView(index);
89
- }
90
119
  };
120
+ __decorate([
121
+ FoundationProperty()
122
+ ], TabBarComponent.prototype, "disabled", void 0);
91
123
  __decorate([
92
124
  FoundationProperty()
93
125
  ], TabBarComponent.prototype, "activeTab", void 0);
94
126
  __decorate([
95
127
  FoundationProperty()
96
- ], TabBarComponent.prototype, "layoutMode", void 0);
128
+ ], TabBarComponent.prototype, "vertical", void 0);
97
129
  __decorate([
98
130
  FoundationProperty()
99
- ], TabBarComponent.prototype, "layoutAlign", void 0);
131
+ ], TabBarComponent.prototype, "clustered", void 0);
100
132
  __decorate([
101
133
  FoundationProperty()
102
- ], TabBarComponent.prototype, "underline", void 0);
134
+ ], TabBarComponent.prototype, "stacked", void 0);
103
135
  __decorate([
104
136
  FoundationProperty()
105
- ], TabBarComponent.prototype, "autoActivate", void 0);
137
+ ], TabBarComponent.prototype, "secondary", void 0);
106
138
  __decorate([
107
139
  FoundationProperty()
108
- ], TabBarComponent.prototype, "stacked", void 0);
140
+ ], TabBarComponent.prototype, "inverted", void 0);
109
141
  __decorate([
110
142
  FoundationProperty()
111
- ], TabBarComponent.prototype, "scrollButtons", void 0);
143
+ ], TabBarComponent.prototype, "autoActivate", void 0);
112
144
  __decorate([
113
145
  FoundationProperty()
114
- ], TabBarComponent.prototype, "forceScrollButtons", void 0);
146
+ ], TabBarComponent.prototype, "scrollButtons", void 0);
115
147
  TabBarComponent = __decorate([
116
148
  CustomElement({
117
149
  name: TAB_BAR_CONSTANTS.elementName,
@@ -6,7 +6,7 @@
6
6
  import { IBaseComponentDelegateConfig } from '../core/delegates/base-component-delegate';
7
7
  import { FormFieldComponentDelegate, IFormFieldComponentDelegateOptions } from '../core/delegates/form-field-component-delegate';
8
8
  import { ITextFieldComponent } from './text-field';
9
- export declare type TextFieldComponentDelegateProps = Partial<ITextFieldComponent>;
9
+ export type TextFieldComponentDelegateProps = Partial<ITextFieldComponent>;
10
10
  export interface ITextFieldComponentDelegateOptions extends IFormFieldComponentDelegateOptions {
11
11
  id?: string;
12
12
  label?: string;
@@ -3,7 +3,7 @@
3
3
  * Copyright 2023 Tyler Technologies, Inc.
4
4
  * License: Apache-2.0
5
5
  */
6
- export declare type ThemeType = 'primary' | 'secondary' | 'success' | 'warning' | 'danger' | 'info';
7
- export declare type ColorType = 'red' | 'pink' | 'purple' | 'deep-purple' | 'indigo' | 'blue' | 'light-blue' | 'cyan' | 'teal' | 'green' | 'light-green' | 'lime' | 'yellow' | 'amber' | 'orange' | 'deep-orange' | 'brown' | 'grey' | 'blue-grey';
6
+ export type ThemeType = 'primary' | 'secondary' | 'success' | 'warning' | 'danger' | 'info';
7
+ export type ColorType = 'red' | 'pink' | 'purple' | 'deep-purple' | 'indigo' | 'blue' | 'light-blue' | 'cyan' | 'teal' | 'green' | 'light-green' | 'lime' | 'yellow' | 'amber' | 'orange' | 'deep-orange' | 'brown' | 'grey' | 'blue-grey';
8
8
  export declare function getThemeColor(type: ThemeType): string;
9
9
  export declare function getColor(type: ColorType, hue?: string): string;
@@ -7,7 +7,7 @@ import { IBaseComponentDelegateConfig } from '../core/delegates/base-component-d
7
7
  import { FormFieldComponentDelegate, IFormFieldComponentDelegateOptions } from '../core/delegates/form-field-component-delegate';
8
8
  import { ITextFieldComponent, ITextFieldComponentDelegateConfig } from '../text-field';
9
9
  import { ITimePickerComponent } from './time-picker';
10
- export declare type TimePickerComponentDelegateProps = Partial<ITimePickerComponent>;
10
+ export type TimePickerComponentDelegateProps = Partial<ITimePickerComponent>;
11
11
  export interface ITimePickerComponentDelegateOptions extends IFormFieldComponentDelegateOptions {
12
12
  textFieldDelegateConfig?: ITextFieldComponentDelegateConfig;
13
13
  }
@@ -43,12 +43,12 @@ export declare const TIME_PICKER_CONSTANTS: {
43
43
  MAX_DAY_MINUTES: number;
44
44
  };
45
45
  };
46
- export declare type TimePickerValidationCallback = (time: string) => boolean;
47
- export declare type TimePickerParseCallback = (time: string) => number | null;
48
- export declare type TimePickerFormatCallback = (value: number | null) => string;
49
- export declare type TimePickerCustomOptionCallback<T> = (value: T, use24HourTime: boolean, allowSeconds: boolean) => number;
50
- export declare type TimePickerCoercionCallback = (rawValue: string, coercedValue: string, allowSeconds: boolean) => string;
51
- export declare type TimePickerPrepareMaskCallback = (value: string, masked: Masked<string>, flags: IMask.AppendFlags, maskInstance: InputMask<IMask.AnyMaskedOptions>) => string;
46
+ export type TimePickerValidationCallback = (time: string) => boolean;
47
+ export type TimePickerParseCallback = (time: string) => number | null;
48
+ export type TimePickerFormatCallback = (value: number | null) => string;
49
+ export type TimePickerCustomOptionCallback<T> = (value: T, use24HourTime: boolean, allowSeconds: boolean) => number;
50
+ export type TimePickerCoercionCallback = (rawValue: string, coercedValue: string, allowSeconds: boolean) => string;
51
+ export type TimePickerPrepareMaskCallback = (value: string, masked: Masked<string>, flags: IMask.AppendFlags, maskInstance: InputMask<IMask.AnyMaskedOptions>) => string;
52
52
  export interface ITimePickerOption<T = any> extends IListDropdownOption<T> {
53
53
  toMilliseconds: TimePickerCustomOptionCallback<T>;
54
54
  }
@@ -24,12 +24,6 @@ const styles = ':host{display:block}:host([hidden]){display:none}';
24
24
  * @tag forge-time-picker
25
25
  */
26
26
  let TimePickerComponent = class TimePickerComponent extends BaseComponent {
27
- constructor() {
28
- super();
29
- IconRegistry.define([tylIconClockOutline, tylIconClose]);
30
- attachShadowTemplate(this, template, styles);
31
- this._foundation = new TimePickerFoundation(new TimePickerAdapter(this));
32
- }
33
27
  static get observedAttributes() {
34
28
  return [
35
29
  TIME_PICKER_CONSTANTS.attributes.VALUE,
@@ -51,6 +45,12 @@ let TimePickerComponent = class TimePickerComponent extends BaseComponent {
51
45
  TIME_PICKER_CONSTANTS.attributes.ALLOW_DROPDOWN
52
46
  ];
53
47
  }
48
+ constructor() {
49
+ super();
50
+ IconRegistry.define([tylIconClockOutline, tylIconClose]);
51
+ attachShadowTemplate(this, template, styles);
52
+ this._foundation = new TimePickerFoundation(new TimePickerAdapter(this));
53
+ }
54
54
  connectedCallback() {
55
55
  if (this.querySelector(TIME_PICKER_CONSTANTS.selectors.INPUT)) {
56
56
  this._foundation.initialize();
@@ -54,5 +54,5 @@ export declare const TOAST_CONSTANTS: {
54
54
  BOTTOM_RIGHT_MARGIN_BOTTOM: string;
55
55
  };
56
56
  };
57
- export declare type ToastBuilder = () => HTMLElement | string;
58
- export declare type ToastPlacement = PopupPlacement;
57
+ export type ToastBuilder = () => HTMLElement | string;
58
+ export type ToastPlacement = PopupPlacement;
@@ -21,12 +21,6 @@ const styles = '.mdc-elevation-overlay{position:absolute;border-radius:inherit;p
21
21
  * @tag forge-toast
22
22
  */
23
23
  let ToastComponent = class ToastComponent extends BaseComponent {
24
- constructor() {
25
- super();
26
- IconRegistry.define(tylIconClose);
27
- attachShadowTemplate(this, template, styles);
28
- this._foundation = new ToastFoundation(new ToastAdapter(this));
29
- }
30
24
  static get observedAttributes() {
31
25
  return [
32
26
  TOAST_CONSTANTS.attributes.MESSAGE,
@@ -36,6 +30,12 @@ let ToastComponent = class ToastComponent extends BaseComponent {
36
30
  TOAST_CONSTANTS.attributes.SHOW_CLOSE
37
31
  ];
38
32
  }
33
+ constructor() {
34
+ super();
35
+ IconRegistry.define(tylIconClose);
36
+ attachShadowTemplate(this, template, styles);
37
+ this._foundation = new ToastFoundation(new ToastAdapter(this));
38
+ }
39
39
  initializedCallback() {
40
40
  this._foundation.initialize();
41
41
  }
@@ -15,17 +15,17 @@ const styles = '.forge-toolbar{background-color:#fff;background-color:var(--mdc-
15
15
  * @tag forge-toolbar
16
16
  */
17
17
  let ToolbarComponent = class ToolbarComponent extends BaseComponent {
18
+ static get observedAttributes() {
19
+ return [
20
+ TOOLBAR_CONSTANTS.attributes.INVERTED
21
+ ];
22
+ }
18
23
  constructor() {
19
24
  super();
20
25
  this._inverted = false;
21
26
  attachShadowTemplate(this, template, styles);
22
27
  this._rootElement = getShadowElement(this, TOOLBAR_CONSTANTS.selectors.TOOLBAR);
23
28
  }
24
- static get observedAttributes() {
25
- return [
26
- TOOLBAR_CONSTANTS.attributes.INVERTED
27
- ];
28
- }
29
29
  connectedCallback() {
30
30
  this._initialize();
31
31
  }
@@ -32,4 +32,4 @@ export declare const TOOLTIP_CONSTANTS: {
32
32
  DEFAULT_POSITION: string;
33
33
  };
34
34
  };
35
- export declare type TooltipBuilder = () => HTMLElement;
35
+ export type TooltipBuilder = () => HTMLElement;
@@ -15,10 +15,6 @@ import { BaseComponent } from '../core/base/base-component';
15
15
  * @tag forge-tooltip
16
16
  */
17
17
  let TooltipComponent = class TooltipComponent extends BaseComponent {
18
- constructor() {
19
- super();
20
- this._foundation = new TooltipFoundation(new TooltipAdapter(this));
21
- }
22
18
  static get observedAttributes() {
23
19
  return [
24
20
  TOOLTIP_CONSTANTS.attributes.TEXT,
@@ -27,6 +23,10 @@ let TooltipComponent = class TooltipComponent extends BaseComponent {
27
23
  TOOLTIP_CONSTANTS.attributes.POSITION
28
24
  ];
29
25
  }
26
+ constructor() {
27
+ super();
28
+ this._foundation = new TooltipFoundation(new TooltipAdapter(this));
29
+ }
30
30
  connectedCallback() {
31
31
  hideElementVisually(this);
32
32
  requestAnimationFrame(() => this._foundation.initialize());
@@ -23,6 +23,7 @@ export function getTextColor(text) {
23
23
  if (!text || typeof text !== 'string') {
24
24
  text = '';
25
25
  }
26
+ text = text.toUpperCase();
26
27
  let color;
27
28
  if (text.charCodeAt(0) < 65) {
28
29
  color = randomHexColor();
@@ -18,17 +18,17 @@ const styles = '.forge-view-switcher{height:auto;height:var(--forge-view-switche
18
18
  * @tag forge-view-switcher
19
19
  */
20
20
  let ViewSwitcherComponent = class ViewSwitcherComponent extends BaseComponent {
21
- constructor() {
22
- super();
23
- attachShadowTemplate(this, template, styles);
24
- this._foundation = new ViewSwitcherFoundation(new ViewSwitcherAdapter(this));
25
- }
26
21
  static get observedAttributes() {
27
22
  return [
28
23
  VIEW_SWITCHER_CONSTANTS.attributes.INDEX,
29
24
  VIEW_SWITCHER_CONSTANTS.attributes.ANIMATION_TYPE
30
25
  ];
31
26
  }
27
+ constructor() {
28
+ super();
29
+ attachShadowTemplate(this, template, styles);
30
+ this._foundation = new ViewSwitcherFoundation(new ViewSwitcherAdapter(this));
31
+ }
32
32
  connectedCallback() {
33
33
  // upgradeProperty(this, 'index');
34
34
  this._foundation.initialize();
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@tylertech/forge",
3
3
  "description": "Tyler Forge™ Web Components library",
4
- "version": "3.0.0-next.5",
4
+ "version": "3.0.0-next.7",
5
5
  "author": "Tyler Technologies, Inc.",
6
6
  "license": "Apache-2.0",
7
7
  "repository": {