@tylertech/forge 3.0.0-next.6 → 3.0.0-next.8

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 (254) hide show
  1. package/custom-elements.json +2084 -1482
  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/card/index.js +1 -1
  21. package/dist/esm/checkbox/index.js +1 -1
  22. package/dist/esm/chip-field/index.js +1 -1
  23. package/dist/esm/chips/chip/index.js +1 -1
  24. package/dist/esm/chips/chip-set/index.js +1 -1
  25. package/dist/esm/chips/index.js +1 -1
  26. package/dist/esm/chunks/{chunk.Q6IP5GJ6.js → chunk.246JM2YT.js} +2 -2
  27. package/dist/esm/chunks/{chunk.DHTAH23Y.js → chunk.24L5GDD2.js} +2 -2
  28. package/dist/esm/chunks/{chunk.ZWTZJJ6H.js → chunk.2IQGDFQS.js} +2 -2
  29. package/dist/esm/chunks/{chunk.DAGXGSX7.js → chunk.2LRDPTHK.js} +2 -2
  30. package/dist/esm/chunks/{chunk.Q47M2LB5.js → chunk.2QFIMTVP.js} +2 -2
  31. package/dist/esm/chunks/{chunk.IVB6XTHQ.js → chunk.2TQONIPK.js} +2 -2
  32. package/dist/esm/chunks/{chunk.DXHKS7XO.js → chunk.2XFVFZ3P.js} +2 -2
  33. package/dist/esm/chunks/{chunk.3ICROIFD.js → chunk.2YAU7AXH.js} +2 -2
  34. package/dist/esm/chunks/{chunk.5B2CGITX.js → chunk.2YX7ASSX.js} +2 -2
  35. package/dist/esm/chunks/{chunk.QLNGQCJX.js → chunk.2ZTERGYF.js} +2 -2
  36. package/dist/esm/chunks/{chunk.BIJJCDHE.js → chunk.3AF7CJP2.js} +2 -2
  37. package/dist/esm/chunks/{chunk.BIJJCDHE.js.map → chunk.3AF7CJP2.js.map} +1 -1
  38. package/dist/esm/chunks/{chunk.Y2ANYRZH.js → chunk.4EB5NVCK.js} +2 -2
  39. package/dist/esm/chunks/{chunk.SACZLJPQ.js → chunk.4LVS2EYJ.js} +2 -2
  40. package/dist/esm/chunks/chunk.57XQ4F6F.js +12 -0
  41. package/dist/esm/chunks/chunk.57XQ4F6F.js.map +7 -0
  42. package/dist/esm/chunks/{chunk.E3VXLUEY.js → chunk.5IVB5L5Z.js} +2 -2
  43. package/dist/esm/chunks/{chunk.GZZ6GFKT.js → chunk.5MK5YWCK.js} +2 -2
  44. package/dist/esm/chunks/{chunk.QO37K76P.js → chunk.6SBTLXLH.js} +2 -2
  45. package/dist/esm/chunks/{chunk.BTZF6QGA.js → chunk.7JQHQKXN.js} +2 -2
  46. package/dist/esm/chunks/{chunk.TWV4OTF7.js → chunk.A5MBSCSQ.js} +2 -2
  47. package/dist/esm/chunks/{chunk.4EF7UJDK.js → chunk.A5R7KUIP.js} +2 -2
  48. package/dist/esm/chunks/{chunk.NQH4ZCXJ.js → chunk.AGMPIMJV.js} +2 -2
  49. package/dist/esm/chunks/{chunk.PMY4KVCF.js → chunk.BKCEVPKW.js} +2 -2
  50. package/dist/esm/chunks/{chunk.I5MLIFN5.js → chunk.BSTIDYQJ.js} +2 -2
  51. package/dist/esm/chunks/chunk.C2LTB7EX.js +7 -0
  52. package/dist/esm/chunks/chunk.C2LTB7EX.js.map +7 -0
  53. package/dist/esm/chunks/chunk.CN27IHDN.js +7 -0
  54. package/dist/esm/chunks/chunk.CN27IHDN.js.map +7 -0
  55. package/dist/esm/chunks/{chunk.MZNL36GJ.js → chunk.CNQESSA3.js} +2 -2
  56. package/dist/esm/chunks/{chunk.6FISJTFJ.js → chunk.E6KWYFZG.js} +2 -2
  57. package/dist/esm/chunks/{chunk.H3SBIXK5.js → chunk.ECRL6O3V.js} +2 -2
  58. package/dist/esm/chunks/{chunk.SBDWCXK3.js → chunk.ER52NFXX.js} +2 -2
  59. package/dist/esm/chunks/{chunk.GSQF3ACL.js → chunk.EUE3OVC7.js} +2 -2
  60. package/dist/esm/chunks/{chunk.DGNS4JNN.js → chunk.FAANPQES.js} +2 -2
  61. package/dist/esm/chunks/{chunk.MZLPUI6R.js → chunk.FYWPZFLJ.js} +2 -2
  62. package/dist/esm/chunks/{chunk.MZLPUI6R.js.map → chunk.FYWPZFLJ.js.map} +2 -2
  63. package/dist/esm/chunks/{chunk.LMSXJOPL.js → chunk.GF2GUVYS.js} +2 -2
  64. package/dist/esm/chunks/{chunk.QKRB6AIQ.js → chunk.GHSAKRYH.js} +2 -2
  65. package/dist/esm/chunks/{chunk.JHTGKXXX.js → chunk.GJW4WS4I.js} +2 -2
  66. package/dist/esm/chunks/{chunk.IW37LUQJ.js → chunk.GUYPITGA.js} +2 -2
  67. package/dist/esm/chunks/{chunk.G75X57KY.js → chunk.HKJEGD6C.js} +2 -2
  68. package/dist/esm/chunks/{chunk.3ARIVYGG.js → chunk.IGK3VYZG.js} +2 -2
  69. package/dist/esm/chunks/chunk.IIXLFXHZ.js +7 -0
  70. package/dist/esm/chunks/chunk.IIXLFXHZ.js.map +7 -0
  71. package/dist/esm/chunks/chunk.JQIOVCKI.js +7 -0
  72. package/dist/esm/chunks/chunk.JQIOVCKI.js.map +7 -0
  73. package/dist/esm/chunks/{chunk.7MDHI4PT.js → chunk.JVW6JGV3.js} +2 -2
  74. package/dist/esm/chunks/chunk.LJYTJ3RV.js +7 -0
  75. package/dist/esm/chunks/chunk.LJYTJ3RV.js.map +7 -0
  76. package/dist/esm/chunks/{chunk.LQ4RD7WW.js → chunk.MXNLCQRB.js} +2 -2
  77. package/dist/esm/chunks/{chunk.DCCJTW7C.js → chunk.NDGFQILG.js} +2 -2
  78. package/dist/esm/chunks/{chunk.PG4HEEX2.js → chunk.OTVT3XM2.js} +2 -2
  79. package/dist/esm/chunks/{chunk.VSO5QDBV.js → chunk.P5QIB6OY.js} +2 -2
  80. package/dist/esm/chunks/{chunk.XUV63FEH.js → chunk.PPPTT3SM.js} +2 -2
  81. package/dist/esm/chunks/{chunk.GZRMHYID.js → chunk.QA3NU7EN.js} +2 -2
  82. package/dist/esm/chunks/{chunk.MVYTV6WX.js → chunk.QYKO543K.js} +2 -2
  83. package/dist/esm/chunks/{chunk.XI4RWFCG.js → chunk.RHYRMQS7.js} +2 -2
  84. package/dist/esm/chunks/{chunk.Q4SCW4FN.js → chunk.RUSHOL23.js} +2 -2
  85. package/dist/esm/chunks/{chunk.AD4CP4UK.js → chunk.SIJGKRYS.js} +2 -2
  86. package/dist/esm/chunks/{chunk.RTMDWDS4.js → chunk.SYZB7B4F.js} +2 -2
  87. package/dist/esm/chunks/{chunk.GYPPM2D2.js → chunk.SZIM4KFZ.js} +2 -2
  88. package/dist/esm/chunks/{chunk.UXQZFI55.js → chunk.THPU5KBV.js} +2 -2
  89. package/dist/esm/chunks/{chunk.K6VWRQWY.js → chunk.TXFYS6EU.js} +2 -2
  90. package/dist/esm/chunks/{chunk.ZLFH7VOM.js → chunk.V4RBOYNH.js} +2 -2
  91. package/dist/esm/chunks/chunk.WH6C36MO.js +7 -0
  92. package/dist/esm/chunks/chunk.WH6C36MO.js.map +7 -0
  93. package/dist/esm/chunks/{chunk.JRV5FYMW.js → chunk.YUAU5IWT.js} +2 -2
  94. package/dist/esm/chunks/{chunk.YSFUL5AD.js → chunk.YZLASVCK.js} +2 -2
  95. package/dist/esm/chunks/{chunk.R7MQKCHR.js → chunk.Z5TWWM7I.js} +2 -2
  96. package/dist/esm/color-picker/index.js +1 -1
  97. package/dist/esm/core/index.js +1 -1
  98. package/dist/esm/date-picker/index.js +1 -1
  99. package/dist/esm/date-range-picker/index.js +1 -1
  100. package/dist/esm/expansion-panel/index.js +1 -1
  101. package/dist/esm/file-picker/index.js +1 -1
  102. package/dist/esm/floating-action-button/index.js +1 -1
  103. package/dist/esm/focus-indicator/index.js +7 -0
  104. package/dist/esm/focus-indicator/index.js.map +7 -0
  105. package/dist/esm/icon/index.js +1 -1
  106. package/dist/esm/icon-button/index.js +1 -1
  107. package/dist/esm/index.js +1 -1
  108. package/dist/esm/list/index.js +1 -1
  109. package/dist/esm/list/list/index.js +1 -1
  110. package/dist/esm/list/list-item/index.js +1 -1
  111. package/dist/esm/list-dropdown/index.js +1 -1
  112. package/dist/esm/menu/index.js +1 -1
  113. package/dist/esm/open-icon/index.js +1 -1
  114. package/dist/esm/paginator/index.js +1 -1
  115. package/dist/esm/profile-card/index.js +1 -1
  116. package/dist/esm/quantity-field/index.js +1 -1
  117. package/dist/esm/radio/index.js +1 -1
  118. package/dist/esm/ripple/index.js +1 -1
  119. package/dist/esm/select/core/index.js +1 -1
  120. package/dist/esm/select/index.js +1 -1
  121. package/dist/esm/select/select/index.js +1 -1
  122. package/dist/esm/select/select-dropdown/index.js +1 -1
  123. package/dist/esm/slider/index.js +1 -1
  124. package/dist/esm/split-view/index.js +1 -1
  125. package/dist/esm/split-view/split-view/index.js +1 -1
  126. package/dist/esm/split-view/split-view-panel/index.js +1 -1
  127. package/dist/esm/stepper/index.js +1 -1
  128. package/dist/esm/stepper/step/index.js +1 -1
  129. package/dist/esm/stepper/stepper/index.js +1 -1
  130. package/dist/esm/switch/index.js +1 -1
  131. package/dist/esm/table/index.js +1 -1
  132. package/dist/esm/tabs/index.js +1 -1
  133. package/dist/esm/tabs/tab/index.js +1 -1
  134. package/dist/esm/tabs/tab-bar/index.js +1 -1
  135. package/dist/esm/time-picker/index.js +1 -1
  136. package/dist/esm/toast/index.js +1 -1
  137. package/esm/card/card-constants.d.ts +2 -2
  138. package/esm/card/card-constants.js +2 -2
  139. package/esm/card/card.d.ts +19 -8
  140. package/esm/card/card.js +30 -21
  141. package/esm/focus-indicator/focus-indicator-adapter.d.ts +37 -0
  142. package/esm/focus-indicator/focus-indicator-adapter.js +59 -0
  143. package/esm/focus-indicator/focus-indicator-constants.d.ts +15 -0
  144. package/esm/focus-indicator/focus-indicator-constants.js +19 -0
  145. package/esm/focus-indicator/focus-indicator-foundation.d.ts +43 -0
  146. package/esm/focus-indicator/focus-indicator-foundation.js +110 -0
  147. package/esm/focus-indicator/focus-indicator.d.ts +67 -0
  148. package/esm/focus-indicator/focus-indicator.js +112 -0
  149. package/esm/focus-indicator/index.d.ts +10 -0
  150. package/esm/focus-indicator/index.js +14 -0
  151. package/esm/index.d.ts +1 -0
  152. package/esm/index.js +3 -0
  153. package/esm/slider/slider-utils.js +3 -0
  154. package/esm/slider/slider.d.ts +0 -1
  155. package/esm/slider/slider.js +7 -4
  156. package/esm/split-view/split-view-panel/split-view-panel.js +1 -1
  157. package/esm/tabs/tab/tab-adapter.d.ts +15 -39
  158. package/esm/tabs/tab/tab-adapter.js +65 -78
  159. package/esm/tabs/tab/tab-constants.d.ts +13 -13
  160. package/esm/tabs/tab/tab-constants.js +18 -10
  161. package/esm/tabs/tab/tab-foundation.d.ts +24 -23
  162. package/esm/tabs/tab/tab-foundation.js +68 -62
  163. package/esm/tabs/tab/tab-ripple.d.ts +17 -0
  164. package/esm/tabs/tab/tab-ripple.js +33 -0
  165. package/esm/tabs/tab/tab.d.ts +56 -19
  166. package/esm/tabs/tab/tab.js +82 -32
  167. package/esm/tabs/tab-bar/tab-bar-adapter.d.ts +49 -87
  168. package/esm/tabs/tab-bar/tab-bar-adapter.js +114 -188
  169. package/esm/tabs/tab-bar/tab-bar-constants.d.ts +15 -45
  170. package/esm/tabs/tab-bar/tab-bar-constants.js +22 -56
  171. package/esm/tabs/tab-bar/tab-bar-foundation.d.ts +56 -65
  172. package/esm/tabs/tab-bar/tab-bar-foundation.js +241 -302
  173. package/esm/tabs/tab-bar/tab-bar.d.ts +51 -36
  174. package/esm/tabs/tab-bar/tab-bar.js +84 -52
  175. package/package.json +1 -1
  176. package/styles/card/_mixins.scss +8 -7
  177. package/styles/core/style-layer/tabs/tab/_core.scss +419 -0
  178. package/styles/core/style-layer/tabs/tab/_variables.scss +20 -0
  179. package/styles/core/style-layer/tabs/tab/index.scss +13 -0
  180. package/styles/core/style-layer/tabs/tab-bar/_core.scss +110 -0
  181. package/styles/core/style-layer/tabs/tab-bar/_variables.scss +9 -0
  182. package/styles/core/style-layer/tabs/tab-bar/index.scss +13 -0
  183. package/styles/focus-indicator/_mixins.scss +147 -0
  184. package/styles/focus-indicator/_variables.scss +20 -0
  185. package/styles/focus-indicator/focus-indicator.scss +32 -0
  186. package/styles/slider/_mixins.scss +9 -0
  187. package/styles/tabs/tab/_mixins.scss +55 -126
  188. package/styles/tabs/tab/_variables.scss +26 -4
  189. package/styles/tabs/tab/tab.scss +50 -11
  190. package/styles/tabs/tab-bar/_mixins.scss +20 -60
  191. package/styles/tabs/tab-bar/_variables.scss +11 -0
  192. package/styles/tabs/tab-bar/tab-bar.scss +29 -2
  193. package/dist/esm/chunks/chunk.4B22UXEH.js +0 -7
  194. package/dist/esm/chunks/chunk.4B22UXEH.js.map +0 -7
  195. package/dist/esm/chunks/chunk.4QPMNWJ3.js +0 -129
  196. package/dist/esm/chunks/chunk.4QPMNWJ3.js.map +0 -7
  197. package/dist/esm/chunks/chunk.BWZKQ6WX.js +0 -7
  198. package/dist/esm/chunks/chunk.BWZKQ6WX.js.map +0 -7
  199. package/dist/esm/chunks/chunk.D3IAEEPM.js +0 -201
  200. package/dist/esm/chunks/chunk.D3IAEEPM.js.map +0 -7
  201. package/dist/esm/chunks/chunk.NV4U4DE6.js +0 -12
  202. package/dist/esm/chunks/chunk.NV4U4DE6.js.map +0 -7
  203. /package/dist/esm/chunks/{chunk.Q6IP5GJ6.js.map → chunk.246JM2YT.js.map} +0 -0
  204. /package/dist/esm/chunks/{chunk.DHTAH23Y.js.map → chunk.24L5GDD2.js.map} +0 -0
  205. /package/dist/esm/chunks/{chunk.ZWTZJJ6H.js.map → chunk.2IQGDFQS.js.map} +0 -0
  206. /package/dist/esm/chunks/{chunk.DAGXGSX7.js.map → chunk.2LRDPTHK.js.map} +0 -0
  207. /package/dist/esm/chunks/{chunk.Q47M2LB5.js.map → chunk.2QFIMTVP.js.map} +0 -0
  208. /package/dist/esm/chunks/{chunk.IVB6XTHQ.js.map → chunk.2TQONIPK.js.map} +0 -0
  209. /package/dist/esm/chunks/{chunk.DXHKS7XO.js.map → chunk.2XFVFZ3P.js.map} +0 -0
  210. /package/dist/esm/chunks/{chunk.3ICROIFD.js.map → chunk.2YAU7AXH.js.map} +0 -0
  211. /package/dist/esm/chunks/{chunk.5B2CGITX.js.map → chunk.2YX7ASSX.js.map} +0 -0
  212. /package/dist/esm/chunks/{chunk.QLNGQCJX.js.map → chunk.2ZTERGYF.js.map} +0 -0
  213. /package/dist/esm/chunks/{chunk.Y2ANYRZH.js.map → chunk.4EB5NVCK.js.map} +0 -0
  214. /package/dist/esm/chunks/{chunk.SACZLJPQ.js.map → chunk.4LVS2EYJ.js.map} +0 -0
  215. /package/dist/esm/chunks/{chunk.E3VXLUEY.js.map → chunk.5IVB5L5Z.js.map} +0 -0
  216. /package/dist/esm/chunks/{chunk.GZZ6GFKT.js.map → chunk.5MK5YWCK.js.map} +0 -0
  217. /package/dist/esm/chunks/{chunk.QO37K76P.js.map → chunk.6SBTLXLH.js.map} +0 -0
  218. /package/dist/esm/chunks/{chunk.BTZF6QGA.js.map → chunk.7JQHQKXN.js.map} +0 -0
  219. /package/dist/esm/chunks/{chunk.TWV4OTF7.js.map → chunk.A5MBSCSQ.js.map} +0 -0
  220. /package/dist/esm/chunks/{chunk.4EF7UJDK.js.map → chunk.A5R7KUIP.js.map} +0 -0
  221. /package/dist/esm/chunks/{chunk.NQH4ZCXJ.js.map → chunk.AGMPIMJV.js.map} +0 -0
  222. /package/dist/esm/chunks/{chunk.PMY4KVCF.js.map → chunk.BKCEVPKW.js.map} +0 -0
  223. /package/dist/esm/chunks/{chunk.I5MLIFN5.js.map → chunk.BSTIDYQJ.js.map} +0 -0
  224. /package/dist/esm/chunks/{chunk.MZNL36GJ.js.map → chunk.CNQESSA3.js.map} +0 -0
  225. /package/dist/esm/chunks/{chunk.6FISJTFJ.js.map → chunk.E6KWYFZG.js.map} +0 -0
  226. /package/dist/esm/chunks/{chunk.H3SBIXK5.js.map → chunk.ECRL6O3V.js.map} +0 -0
  227. /package/dist/esm/chunks/{chunk.SBDWCXK3.js.map → chunk.ER52NFXX.js.map} +0 -0
  228. /package/dist/esm/chunks/{chunk.GSQF3ACL.js.map → chunk.EUE3OVC7.js.map} +0 -0
  229. /package/dist/esm/chunks/{chunk.DGNS4JNN.js.map → chunk.FAANPQES.js.map} +0 -0
  230. /package/dist/esm/chunks/{chunk.LMSXJOPL.js.map → chunk.GF2GUVYS.js.map} +0 -0
  231. /package/dist/esm/chunks/{chunk.QKRB6AIQ.js.map → chunk.GHSAKRYH.js.map} +0 -0
  232. /package/dist/esm/chunks/{chunk.JHTGKXXX.js.map → chunk.GJW4WS4I.js.map} +0 -0
  233. /package/dist/esm/chunks/{chunk.IW37LUQJ.js.map → chunk.GUYPITGA.js.map} +0 -0
  234. /package/dist/esm/chunks/{chunk.G75X57KY.js.map → chunk.HKJEGD6C.js.map} +0 -0
  235. /package/dist/esm/chunks/{chunk.3ARIVYGG.js.map → chunk.IGK3VYZG.js.map} +0 -0
  236. /package/dist/esm/chunks/{chunk.7MDHI4PT.js.map → chunk.JVW6JGV3.js.map} +0 -0
  237. /package/dist/esm/chunks/{chunk.LQ4RD7WW.js.map → chunk.MXNLCQRB.js.map} +0 -0
  238. /package/dist/esm/chunks/{chunk.DCCJTW7C.js.map → chunk.NDGFQILG.js.map} +0 -0
  239. /package/dist/esm/chunks/{chunk.PG4HEEX2.js.map → chunk.OTVT3XM2.js.map} +0 -0
  240. /package/dist/esm/chunks/{chunk.VSO5QDBV.js.map → chunk.P5QIB6OY.js.map} +0 -0
  241. /package/dist/esm/chunks/{chunk.XUV63FEH.js.map → chunk.PPPTT3SM.js.map} +0 -0
  242. /package/dist/esm/chunks/{chunk.GZRMHYID.js.map → chunk.QA3NU7EN.js.map} +0 -0
  243. /package/dist/esm/chunks/{chunk.MVYTV6WX.js.map → chunk.QYKO543K.js.map} +0 -0
  244. /package/dist/esm/chunks/{chunk.XI4RWFCG.js.map → chunk.RHYRMQS7.js.map} +0 -0
  245. /package/dist/esm/chunks/{chunk.Q4SCW4FN.js.map → chunk.RUSHOL23.js.map} +0 -0
  246. /package/dist/esm/chunks/{chunk.AD4CP4UK.js.map → chunk.SIJGKRYS.js.map} +0 -0
  247. /package/dist/esm/chunks/{chunk.RTMDWDS4.js.map → chunk.SYZB7B4F.js.map} +0 -0
  248. /package/dist/esm/chunks/{chunk.GYPPM2D2.js.map → chunk.SZIM4KFZ.js.map} +0 -0
  249. /package/dist/esm/chunks/{chunk.UXQZFI55.js.map → chunk.THPU5KBV.js.map} +0 -0
  250. /package/dist/esm/chunks/{chunk.K6VWRQWY.js.map → chunk.TXFYS6EU.js.map} +0 -0
  251. /package/dist/esm/chunks/{chunk.ZLFH7VOM.js.map → chunk.V4RBOYNH.js.map} +0 -0
  252. /package/dist/esm/chunks/{chunk.JRV5FYMW.js.map → chunk.YUAU5IWT.js.map} +0 -0
  253. /package/dist/esm/chunks/{chunk.YSFUL5AD.js.map → chunk.YZLASVCK.js.map} +0 -0
  254. /package/dist/esm/chunks/{chunk.R7MQKCHR.js.map → chunk.Z5TWWM7I.js.map} +0 -0
@@ -0,0 +1,419 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ @use '@material/ripple/ripple' as mdc-ripple;
7
+ @use '@material/ripple/ripple-theme' as mdc-ripple-theme;
8
+ @use '../../../../theme/theme-values';
9
+ @use '../../../../typography';
10
+ @use './variables';
11
+
12
+ @mixin configuration {
13
+ // Indicator
14
+ --_active-indicator-color: var(--#{variables.$prefix}-indicator-color, var(--mdc-theme-primary, #{theme-values.$primary}));
15
+ --_active-indicator-height: var(--#{variables.$prefix}-indicator-height, #{variables.$indicator-height});
16
+ --_active-indicator-shape: var(--#{variables.$prefix}-indicator-shape, #{variables.$indicator-shape});
17
+
18
+ // Container
19
+ --_container-color: var(--#{variables.$prefix}-container-color, var(--mdc-theme-surface, #{theme-values.$surface}));
20
+ --_container-height: var(--#{variables.$prefix}-container-height, #{variables.$height});
21
+ --_container-shape: var(--#{variables.$prefix}-shape, 0);
22
+
23
+ // Content
24
+ --_content-height: var(--#{variables.$prefix}-height, #{variables.$content-height});
25
+
26
+ // Icon
27
+ --_active-focus-icon-color: var(--#{variables.$prefix}-active-focus-icon-color, var(--mdc-theme-primary, #{theme-values.$primary}));
28
+ --_active-hover-icon-color: var(--#{variables.$prefix}-active-hover-icon-color, var(--mdc-theme-primary, #{theme-values.$primary}));
29
+ --_active-icon-color: var(--#{variables.$prefix}-active-icon-color, var(--mdc-theme-primary, #{theme-values.$primary}));
30
+ --_active-pressed-icon-color: var(--#{variables.$prefix}-active-pressed-icon-color, var(--mdc-theme-primary, #{theme-values.$primary}));
31
+ --_icon-size: var(--#{variables.$prefix}-icon-size, #{variables.$icon-size});
32
+ --_focus-icon-color: var(--#{variables.$prefix}-focus-icon-color, var(--mdc-theme-text-secondary-on-background, #{theme-values.$text-secondary-color}));
33
+ --_hover-icon-color: var(--#{variables.$prefix}-hover-icon-color, var(--mdc-theme-text-secondary-on-background, #{theme-values.$text-secondary-color}));
34
+ --_icon-color: var(--#{variables.$prefix}-icon-color, var(--mdc-theme-text-secondary-on-background, #{theme-values.$text-secondary-color}));
35
+ --_pressed-icon-color: var(--#{variables.$prefix}-pressed-icon-color, var(--mdc-theme-text-secondary-on-background, #{theme-values.$text-secondary-color}));
36
+
37
+ // Label
38
+ --_active-focus-label-text-color: var(--#{variables.$prefix}-active-focus-label-text-color, var(--mdc-theme-primary, #{theme-values.$primary}));
39
+ --_active-hover-label-text-color: var(--#{variables.$prefix}-active-hover-label-text-color, var(--mdc-theme-primary, #{theme-values.$primary}));
40
+ --_active-label-text-color: var(--#{variables.$prefix}-active-label-text-color, var(--mdc-theme-primary, #{theme-values.$primary}));
41
+ --_active-pressed-label-text-color: var(--#{variables.$prefix}-active-pressed-label-text-color, var(--mdc-theme-primary, #{theme-values.$primary}));
42
+ --_focus-label-text-color: var(--#{variables.$prefix}-focus-label-text-color, var(--mdc-theme-text-secondary-on-background, #{theme-values.$text-secondary-color}));
43
+ --_hover-label-text-color: var(--#{variables.$prefix}-hover-label-text-color, var(--mdc-theme-text-secondary-on-background, #{theme-values.$text-secondary-color}));
44
+ --_label-text-color: var(--#{variables.$prefix}-label-text-color, var(--mdc-theme-text-secondary-on-background, #{theme-values.$text-secondary-color}));
45
+ --_pressed-label-text-color: var(--#{variables.$prefix}-pressed-label-text-color, var(--mdc-theme-text-secondary-on-background, #{theme-values.$text-secondary-color}));
46
+ }
47
+
48
+ @mixin vertical-primary-configuration {
49
+ --_active-indicator-shape: #{variables.$vertical-indicator-shape};
50
+ }
51
+
52
+ @mixin configuration-secondary {
53
+ --_active-indicator-height: var(--#{variables.$prefix}-active-indicator-height, #{variables.$secondary-indicator-height});
54
+ --_active-indicator-shape: var(--#{variables.$prefix}-indicator-shape, 0);
55
+ }
56
+
57
+ @mixin configuration-inverted {
58
+ --_active-indicator-shape: var(--#{variables.$prefix}-indicator-shape, #{variables.$inverted-indicator-shape});
59
+ }
60
+
61
+ @mixin configuration-vertical-inverted {
62
+ --_active-indicator-shape: var(--#{variables.$prefix}-indicator-shape, #{variables.$vertical-inverted-indicator-shape});
63
+ }
64
+
65
+ @mixin styles {
66
+ @include mdc-ripple.common;
67
+
68
+ .#{variables.$prefix} {
69
+ @include configuration;
70
+ @include tab;
71
+
72
+ .content {
73
+ @include content;
74
+
75
+ .label {
76
+ @include label;
77
+ }
78
+ }
79
+
80
+ .indicator {
81
+ @include indicator;
82
+ }
83
+
84
+ .ripple-surface {
85
+ @include ripple-surface;
86
+ }
87
+ }
88
+
89
+ host,
90
+ ::slotted(*) {
91
+ white-space: nowrap;
92
+ }
93
+ }
94
+
95
+ @mixin focus-styles {
96
+ .#{variables.$prefix} {
97
+ @include tab-focus;
98
+ }
99
+ }
100
+
101
+ @mixin focus-selected-styles {
102
+ .#{variables.$prefix} {
103
+ @include tab-selected-focus;
104
+ }
105
+ }
106
+
107
+ @mixin pressed-styles {
108
+ .#{variables.$prefix} {
109
+ @include tab-pressed;
110
+ }
111
+ }
112
+
113
+ @mixin pressed-selected-styles {
114
+ .#{variables.$prefix} {
115
+ @include tab-selected-pressed;
116
+ }
117
+ }
118
+
119
+ @mixin disabled-styles {
120
+ .#{variables.$prefix} {
121
+ pointer-events: none;
122
+ }
123
+ }
124
+
125
+ @mixin selected-styles {
126
+ .#{variables.$prefix} {
127
+ color: var(--_active-label-text-color);
128
+
129
+ ::slotted([slot=leading]),
130
+ ::slotted([slot=trailing]) {
131
+ color: var(--_active-icon-color);
132
+ }
133
+
134
+ &:hover {
135
+ color: var(--_active-hover-label-text-color);
136
+ }
137
+
138
+ &:hover {
139
+ ::slotted([slot=leading]),
140
+ ::slotted([slot=trailing]) {
141
+ color: var(--_active-hover-icon-color);
142
+ }
143
+ }
144
+ }
145
+
146
+ .indicator {
147
+ opacity: 1;
148
+ }
149
+ }
150
+
151
+ @mixin stacked-styles {
152
+ .#{variables.$prefix} {
153
+ --_container-height: #{variables.$stacked-container-height};
154
+ --_content-height: #{variables.$stacked-height};
155
+
156
+ .content {
157
+ @include content-stacked;
158
+ }
159
+ }
160
+ }
161
+
162
+ @mixin secondary-styles {
163
+ .#{variables.$prefix} {
164
+ @include configuration-secondary;
165
+ }
166
+
167
+ .content {
168
+ @include content-secondary;
169
+ }
170
+
171
+ .indicator {
172
+ @include indicator-secondary;
173
+ }
174
+ }
175
+
176
+ @mixin vertical-styles {
177
+ .#{variables.$prefix} {
178
+ @include vertical;
179
+ }
180
+
181
+ .content {
182
+ @include vertical-content;
183
+ }
184
+
185
+ .indicator {
186
+ @include vertical-indicator;
187
+ }
188
+ }
189
+
190
+ @mixin vertical-primary-styles {
191
+ .#{variables.$prefix} {
192
+ @include vertical-primary-configuration;
193
+ }
194
+ }
195
+
196
+ @mixin vertical-secondary-styles {
197
+ .content {
198
+ @include vertical-secondary-content;
199
+ }
200
+ }
201
+
202
+ @mixin vertical-inverted-styles {
203
+ .#{variables.$prefix} {
204
+ @include configuration-vertical-inverted;
205
+ }
206
+
207
+ .indicator {
208
+ @include vertical-inverted-indicator;
209
+ }
210
+ }
211
+
212
+ @mixin inverted-styles {
213
+ .#{variables.$prefix} {
214
+ @include configuration-inverted;
215
+ }
216
+
217
+ .indicator {
218
+ @include inverted-indicator;
219
+ }
220
+ }
221
+
222
+ @mixin forced-colors-styles {
223
+ @media (forced-colors: active) {
224
+ .#{variables.$prefix} {
225
+ --_active-indicator-color: CanvasText;
226
+ }
227
+ }
228
+ }
229
+
230
+ @mixin host {
231
+ display: inline-flex;
232
+ outline: none;
233
+ -webkit-tap-highlight-color: transparent;
234
+ vertical-align: middle;
235
+ }
236
+
237
+ @mixin host-disabled {
238
+ cursor: not-allowed;
239
+ opacity: var(--#{variables.$prefix}-disabled-opacity, #{variables.$disabled-opacity});
240
+ }
241
+
242
+ @mixin tab {
243
+ @include typography.typography(button);
244
+
245
+ display: inline-flex;
246
+ align-items: center;
247
+ justify-content: center;
248
+ box-sizing: border-box;
249
+ border: none;
250
+ outline: none;
251
+ user-select: none;
252
+ -webkit-appearance: none;
253
+ vertical-align: middle;
254
+ background: transparent;
255
+ text-decoration: none;
256
+ width: 100%;
257
+ position: relative;
258
+ padding: 0;
259
+ margin: 0;
260
+ z-index: 0; // Ensure this is a stacking context so the indicator displays
261
+ background-color: var(--_container-color);
262
+ color: var(--_label-text-color);
263
+ min-height: var(--_container-height);
264
+
265
+ &::-moz-focus-inner {
266
+ padding: 0;
267
+ border: 0;
268
+ }
269
+
270
+ ::slotted([slot=leading]),
271
+ ::slotted([slot=trailing]) {
272
+ display: inline-flex;
273
+ position: relative;
274
+ writing-mode: horizontal-tb;
275
+ fill: currentColor;
276
+ color: var(--_icon-color);
277
+ font-size: var(--_icon-size);
278
+ width: var(--_icon-size);
279
+ height: var(--_icon-size);
280
+ }
281
+
282
+ &:hover {
283
+ color: var(--_hover-label-text-color);
284
+ cursor: pointer;
285
+ }
286
+
287
+ &:hover {
288
+ ::slotted([slot=leading]),
289
+ ::slotted([slot=trailing]) {
290
+ color: var(--_hover-icon-color);
291
+ }
292
+ }
293
+ }
294
+
295
+ @mixin tab-focus {
296
+ color: var(--_focus-label-text-color);
297
+
298
+ ::slotted([slot=leading]),
299
+ ::slotted([slot=trailing]) {
300
+ color: var(--_focus-icon-color);
301
+ }
302
+ }
303
+
304
+ @mixin tab-selected-focus {
305
+ color: var(--_active-focus-label-text-color);
306
+
307
+ ::slotted([slot=leading]),
308
+ ::slotted([slot=trailing]) {
309
+ color: var(--_active-focus-icon-color);
310
+ }
311
+ }
312
+
313
+ @mixin tab-pressed {
314
+ color: var(--_pressed-label-text-color);
315
+ outline: none;
316
+
317
+ ::slotted([slot=leading]),
318
+ ::slotted([slot=trailing]) {
319
+ color: var(--_pressed-icon-color);
320
+ }
321
+ }
322
+
323
+ @mixin tab-selected-pressed {
324
+ color: var(--_active-pressed-label-text-color);
325
+
326
+ ::slotted([slot=leading]),
327
+ ::slotted([slot=trailing]) {
328
+ color: var(--_active-pressed-icon-color);
329
+ }
330
+ }
331
+
332
+ @mixin content {
333
+ position: relative;
334
+ box-sizing: border-box;
335
+ display: inline-flex;
336
+ flex-direction: row;
337
+ align-items: center;
338
+ justify-content: center;
339
+ white-space: nowrap;
340
+ transition: 150ms color linear;
341
+
342
+ $_content-padding: 8px;
343
+ max-height: calc(var(--_content-height) + 2 * $_content-padding);
344
+ min-height: var(--_content-height);
345
+ padding: $_content-padding calc(2 * $_content-padding);
346
+ gap: 4px;
347
+ }
348
+
349
+ @mixin label {
350
+ display: inline-block;
351
+ line-height: 1;
352
+ }
353
+
354
+ @mixin indicator {
355
+ position: absolute;
356
+ box-sizing: border-box;
357
+ z-index: -1;
358
+ transform-origin: bottom left;
359
+ background: var(--_active-indicator-color);
360
+ border-radius: var(--_active-indicator-shape);
361
+ height: var(--_active-indicator-height);
362
+ inset: auto 0 0;
363
+ opacity: 0;
364
+ }
365
+
366
+ @mixin ripple-surface {
367
+ @include mdc-ripple.surface;
368
+ @include mdc-ripple.radius-bounded;
369
+ @include mdc-ripple-theme.states($color: primary);
370
+
371
+ position: absolute;
372
+ top: 0;
373
+ left: 0;
374
+ width: 100%;
375
+ height: 100%;
376
+ overflow: hidden;
377
+ border-radius: var(--_container-shape);
378
+ }
379
+
380
+ @mixin content-secondary {
381
+ width: 100%;
382
+ }
383
+
384
+ @mixin indicator-secondary {
385
+ min-width: 100%;
386
+ }
387
+
388
+ @mixin vertical {
389
+ width: 100%;
390
+ flex-direction: row;
391
+ border-bottom: none;
392
+ }
393
+
394
+ @mixin vertical-content {
395
+ width: 100%;
396
+ }
397
+
398
+ @mixin vertical-secondary-content {
399
+ min-height: 100%;
400
+ }
401
+
402
+ @mixin vertical-indicator {
403
+ height: 100%;
404
+ min-width: var(--_active-indicator-height);
405
+ inset: 0 0 0 auto;
406
+ }
407
+
408
+ @mixin vertical-inverted-indicator {
409
+ inset: 0 auto 0 0;
410
+ }
411
+
412
+ @mixin content-stacked {
413
+ flex-direction: column;
414
+ }
415
+
416
+ @mixin inverted-indicator {
417
+ inset: 0 0 auto;
418
+ transform-origin: top left;
419
+ }
@@ -0,0 +1,20 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ @use '../../core/config';
7
+
8
+ $prefix: #{config.$prefix}-tab !default;
9
+ $indicator-height: 3px !default;
10
+ $secondary-indicator-height: 2px !default;
11
+ $indicator-shape: $indicator-height $indicator-height 0 0 !default;
12
+ $vertical-indicator-shape: $indicator-height 0 0 $indicator-height !default;
13
+ $inverted-indicator-shape: 0 0 $indicator-height $indicator-height !default;
14
+ $vertical-inverted-indicator-shape: 0 $indicator-height $indicator-height 0 !default;
15
+ $height: 48px !default;
16
+ $content-height: $height !default;
17
+ $icon-size: 24px !default;
18
+ $stacked-height: 64px !default;
19
+ $stacked-container-height: $stacked-height !default;
20
+ $disabled-opacity: 0.38 !default;
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ @use './core';
7
+
8
+ @forward './core';
9
+ @forward './variables';
10
+
11
+ @mixin styles {
12
+ @include core.styles;
13
+ }
@@ -0,0 +1,110 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ @use '../../../../theme/theme-values';
7
+ @use './variables';
8
+
9
+ @mixin configuration {
10
+ --_container-justify: var(--#{variables.$prefix}-justify, space-between);
11
+ --_tab-flex: var(--#{variables.$prefix}-stretch, 1);
12
+ --_divider-color: var(--#{variables.$prefix}-underline-color, var(--forge-theme-border-color, #{theme-values.$border-color}));
13
+ --_divider-thickness: var(--#{variables.$prefix}-underline-thickness, #{variables.$underline-thickness});
14
+ }
15
+
16
+ @mixin styles {
17
+ .container {
18
+ @include configuration;
19
+ @include container;
20
+ }
21
+
22
+ .scroll-container {
23
+ @include base;
24
+ }
25
+
26
+ ::slotted(*) {
27
+ flex: var(--_tab-flex);
28
+ }
29
+
30
+ ::slotted([selected]) {
31
+ z-index: 1;
32
+ }
33
+ }
34
+
35
+ @mixin vertical-styles {
36
+ .container {
37
+ @include container-vertical;
38
+ }
39
+
40
+ .scroll-container {
41
+ @include vertical;
42
+ }
43
+
44
+ .scroll-button {
45
+ justify-self: center;
46
+ }
47
+ }
48
+
49
+ @mixin inverted-styles {
50
+ .container {
51
+ border-bottom: none;
52
+ border-top: var(--_divider-thickness) solid var(--_divider-color);
53
+ }
54
+ }
55
+
56
+ @mixin inverted-vertical-styles {
57
+ .container {
58
+ border-right: none;
59
+ border-left: var(--_divider-thickness) solid var(--_divider-color);
60
+ }
61
+ }
62
+
63
+ @mixin host {
64
+ position: relative;
65
+ display: block;
66
+ }
67
+
68
+ @mixin base {
69
+ position: relative;
70
+ display: flex;
71
+ justify-content: var(--_container-justify);
72
+ align-items: flex-end;
73
+ box-sizing: border-box;
74
+ overflow: auto;
75
+ scroll-behavior: smooth;
76
+ scrollbar-width: none;
77
+ grid-column: 2;
78
+
79
+ &::-webkit-scrollbar {
80
+ display: none;
81
+ }
82
+ }
83
+
84
+ @mixin container {
85
+ position: relative;
86
+ display: grid;
87
+ grid-template-columns: auto 1fr auto;
88
+ max-width: 100%;
89
+ max-height: 100%;
90
+ align-items: center;
91
+ border-bottom: var(--_divider-thickness) solid var(--_divider-color);
92
+ }
93
+
94
+ @mixin container-vertical {
95
+ grid-template-columns: none;
96
+ grid-template-rows: auto 1fr auto;
97
+ align-items: initial;
98
+ border-bottom: none;
99
+ border-right: var(--_divider-thickness) solid var(--_divider-color);
100
+ height: 100%;
101
+ }
102
+
103
+ @mixin vertical {
104
+ display: inline-flex;
105
+ flex-direction: column;
106
+ align-items: stretch;
107
+ gap: 0;
108
+ grid-column: auto;
109
+ grid-row: 2;
110
+ }
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ @use '../../core/config';
7
+
8
+ $prefix: #{config.$prefix}-tab-bar !default;
9
+ $underline-thickness: 1px !default;
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ @use './core';
7
+
8
+ @forward './core';
9
+ @forward './variables';
10
+
11
+ @mixin styles {
12
+ @include core.styles;
13
+ }