@tylertech/forge 3.0.0-next.10 → 3.0.0-next.11

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 (425) hide show
  1. package/custom-elements.json +174 -11
  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.ECRL6O3V.js → chunk.2AJ7FFI6.js} +2 -2
  30. package/dist/esm/chunks/{chunk.4WB3FGEL.js → chunk.2EWV2XBP.js} +2 -2
  31. package/dist/esm/chunks/{chunk.WH6C36MO.js → chunk.2QHD3DCR.js} +2 -2
  32. package/dist/esm/chunks/chunk.3HB22HCX.js +7 -0
  33. package/dist/esm/chunks/chunk.4C6KHYUO.js +7 -0
  34. package/dist/esm/chunks/{chunk.WBYXVMYI.js → chunk.4YFVG4KP.js} +2 -2
  35. package/dist/esm/chunks/{chunk.XATLSSAW.js → chunk.4ZKX3SO5.js} +2 -2
  36. package/dist/esm/chunks/{chunk.SZIM4KFZ.js → chunk.54OOOQ4R.js} +2 -2
  37. package/dist/esm/chunks/chunk.5565ZSTH.js +7 -0
  38. package/dist/esm/chunks/chunk.5565ZSTH.js.map +7 -0
  39. package/dist/esm/chunks/{chunk.ZDAXNM2P.js → chunk.5MZ5SGMO.js} +2 -2
  40. package/dist/esm/chunks/{chunk.YQXX5KSW.js → chunk.624UKZFU.js} +2 -2
  41. package/dist/esm/chunks/{chunk.BIFQ4VOJ.js → chunk.6GC5AJPE.js} +2 -2
  42. package/dist/esm/chunks/{chunk.OTD2SFQJ.js → chunk.6OUJSOJY.js} +2 -2
  43. package/dist/esm/chunks/{chunk.57IVD67K.js → chunk.6OW6Q3EW.js} +2 -2
  44. package/dist/esm/chunks/chunk.7CGKFRBK.js +7 -0
  45. package/dist/esm/chunks/chunk.7CGKFRBK.js.map +7 -0
  46. package/dist/esm/chunks/chunk.7DB3XVPI.js +7 -0
  47. package/dist/esm/chunks/chunk.7DB3XVPI.js.map +7 -0
  48. package/dist/esm/chunks/{chunk.46VQ2S2Z.js → chunk.7TMLILLW.js} +2 -2
  49. package/dist/esm/chunks/{chunk.46VQ2S2Z.js.map → chunk.7TMLILLW.js.map} +1 -1
  50. package/dist/esm/chunks/{chunk.IDD54B5P.js → chunk.A62DE5PD.js} +2 -2
  51. package/dist/esm/chunks/chunk.AEKOP3XT.js +7 -0
  52. package/dist/esm/chunks/chunk.AEKOP3XT.js.map +7 -0
  53. package/dist/esm/chunks/{chunk.4WVHON6T.js → chunk.ALIYGJXA.js} +2 -2
  54. package/dist/esm/chunks/{chunk.JTIPXKV6.js → chunk.B4T3R53C.js} +2 -2
  55. package/dist/esm/chunks/chunk.BH2TUG2V.js +7 -0
  56. package/dist/esm/chunks/chunk.BH2TUG2V.js.map +7 -0
  57. package/dist/esm/chunks/{chunk.5V5ABSHI.js → chunk.BKL2BAYW.js} +2 -2
  58. package/dist/esm/chunks/chunk.BY25RT52.js +7 -0
  59. package/dist/esm/chunks/{chunk.SN5LPTHH.js.map → chunk.BY25RT52.js.map} +3 -3
  60. package/dist/esm/chunks/{chunk.SEP3L4QL.js → chunk.CDGZYUQS.js} +2 -2
  61. package/dist/esm/chunks/{chunk.Z4J4D5FD.js → chunk.CKW7KKDW.js} +2 -2
  62. package/dist/esm/chunks/{chunk.QL45FKVJ.js → chunk.COVTBIQQ.js} +2 -2
  63. package/dist/esm/chunks/{chunk.WO7KEM5K.js → chunk.CWTV3TB3.js} +2 -2
  64. package/dist/esm/chunks/{chunk.7WVTJIVR.js → chunk.CXY6K7EI.js} +2 -2
  65. package/dist/esm/chunks/{chunk.VNOJO2PF.js → chunk.D5TAI6Q7.js} +2 -2
  66. package/dist/esm/chunks/chunk.DBNJHUYY.js +7 -0
  67. package/dist/esm/chunks/chunk.DBNJHUYY.js.map +7 -0
  68. package/dist/esm/chunks/{chunk.QZK3WEH6.js → chunk.DG4ZM3AW.js} +2 -2
  69. package/dist/esm/chunks/{chunk.DTZFWZPB.js → chunk.DXN7ZOH3.js} +2 -2
  70. package/dist/esm/chunks/{chunk.7ZQMJLHE.js → chunk.EK24Y56W.js} +2 -2
  71. package/dist/esm/chunks/chunk.F4VXEE76.js +7 -0
  72. package/dist/esm/chunks/chunk.F4VXEE76.js.map +7 -0
  73. package/dist/esm/chunks/{chunk.44UCSD46.js → chunk.F5SY2D4B.js} +2 -2
  74. package/dist/esm/chunks/{chunk.44UCSD46.js.map → chunk.F5SY2D4B.js.map} +2 -2
  75. package/dist/esm/chunks/{chunk.2O6IZ7XZ.js → chunk.F74YURLV.js} +2 -2
  76. package/dist/esm/chunks/chunk.FCATJM34.js +7 -0
  77. package/dist/esm/chunks/chunk.FCATJM34.js.map +7 -0
  78. package/dist/esm/chunks/chunk.FG2GNAM2.js +7 -0
  79. package/dist/esm/chunks/chunk.FG2GNAM2.js.map +7 -0
  80. package/dist/esm/chunks/{chunk.U4GYQOPY.js → chunk.FWFOOQMA.js} +2 -2
  81. package/dist/esm/chunks/{chunk.D2Y2CRRY.js → chunk.GNG64TXK.js} +2 -2
  82. package/dist/esm/chunks/{chunk.SAXRW6GB.js → chunk.HHCO64F3.js} +2 -2
  83. package/dist/esm/chunks/{chunk.SAXRW6GB.js.map → chunk.HHCO64F3.js.map} +2 -2
  84. package/dist/esm/chunks/{chunk.OAHA3QOH.js → chunk.IX25DYIM.js} +2 -2
  85. package/dist/esm/chunks/chunk.JIKSKUDW.js +7 -0
  86. package/dist/esm/chunks/chunk.JIKSKUDW.js.map +7 -0
  87. package/dist/esm/chunks/{chunk.RGPNNISQ.js → chunk.JLLHDJSO.js} +2 -2
  88. package/dist/esm/chunks/{chunk.ZAJB7G4V.js → chunk.JUJGROHA.js} +2 -2
  89. package/dist/esm/chunks/{chunk.PHBOQRF6.js → chunk.K3KAM2PL.js} +2 -2
  90. package/dist/esm/chunks/{chunk.CFDK4RCW.js → chunk.K7FPXAFS.js} +2 -2
  91. package/dist/esm/chunks/{chunk.CFDK4RCW.js.map → chunk.K7FPXAFS.js.map} +3 -3
  92. package/dist/esm/chunks/chunk.KJP2VA6Q.js +7 -0
  93. package/dist/esm/chunks/chunk.KJP2VA6Q.js.map +7 -0
  94. package/dist/esm/chunks/{chunk.G4IN6Y46.js → chunk.KVCDAZ6B.js} +2 -2
  95. package/dist/esm/chunks/{chunk.2QSDH3PC.js → chunk.LFODKHUO.js} +2 -2
  96. package/dist/esm/chunks/{chunk.N7PQ2MUQ.js → chunk.LK4AAUOP.js} +2 -2
  97. package/dist/esm/chunks/{chunk.5CMQ7DNL.js → chunk.LTT67HTW.js} +2 -2
  98. package/dist/esm/chunks/{chunk.NF4J3Q5X.js → chunk.LXPFG7MW.js} +2 -2
  99. package/dist/esm/chunks/{chunk.5M6Y2RU6.js → chunk.M56LSSPW.js} +2 -2
  100. package/dist/esm/chunks/chunk.MACPUZC2.js +7 -0
  101. package/dist/esm/chunks/chunk.MACPUZC2.js.map +7 -0
  102. package/dist/esm/chunks/{chunk.XOM2FYQ2.js → chunk.MGLL67VO.js} +2 -2
  103. package/dist/esm/chunks/{chunk.6MPXRRMB.js → chunk.MHBBMC6O.js} +2 -2
  104. package/dist/esm/chunks/{chunk.TL6WVBGT.js → chunk.MTKSU2BV.js} +2 -2
  105. package/dist/esm/chunks/{chunk.NK7H3MMM.js → chunk.MVTBJPO2.js} +2 -2
  106. package/dist/esm/chunks/{chunk.KSCUIS5C.js → chunk.MXEKIEJA.js} +2 -2
  107. package/dist/esm/chunks/{chunk.BBKRPL6R.js → chunk.N43BCJHN.js} +2 -2
  108. package/dist/esm/chunks/{chunk.2ZTERGYF.js → chunk.NR3MLTXF.js} +2 -2
  109. package/dist/esm/chunks/{chunk.PHTOULRR.js → chunk.OWCYRSI3.js} +2 -2
  110. package/dist/esm/chunks/chunk.P2CW5MQO.js +12 -0
  111. package/dist/esm/chunks/{chunk.7TGGJGTG.js → chunk.P2ZCNO63.js} +2 -2
  112. package/dist/esm/chunks/{chunk.RFLASSCI.js → chunk.PADPL4L3.js} +2 -2
  113. package/dist/esm/chunks/chunk.PEBT47AU.js +7 -0
  114. package/dist/esm/chunks/{chunk.BNFJRFLW.js.map → chunk.PEBT47AU.js.map} +2 -2
  115. package/dist/esm/chunks/{chunk.H5D54EHO.js → chunk.PH3HUFJJ.js} +2 -2
  116. package/dist/esm/chunks/chunk.Q7JUJNYD.js +7 -0
  117. package/dist/esm/chunks/{chunk.E6KWYFZG.js → chunk.Q7Z3SJ5F.js} +2 -2
  118. package/dist/esm/chunks/{chunk.SQVBT7HU.js → chunk.QCRRHGBA.js} +2 -2
  119. package/dist/esm/chunks/{chunk.7DHFTAWI.js → chunk.QOJESHEV.js} +2 -2
  120. package/dist/esm/chunks/{chunk.X3YNJSDT.js → chunk.S3JMOOWC.js} +2 -2
  121. package/dist/esm/chunks/{chunk.MJSLXZBM.js → chunk.SBYX7VZ4.js} +2 -2
  122. package/dist/esm/chunks/{chunk.XRESQBNE.js → chunk.SFCGOCQK.js} +2 -2
  123. package/dist/esm/chunks/chunk.SJJS4LYN.js +7 -0
  124. package/dist/esm/chunks/chunk.SJJS4LYN.js.map +7 -0
  125. package/dist/esm/chunks/{chunk.UCM6CGFM.js → chunk.SMGXXR6K.js} +2 -2
  126. package/dist/esm/chunks/{chunk.6VDF54LZ.js → chunk.SU4FU7GK.js} +2 -2
  127. package/dist/esm/chunks/{chunk.5IQGVS6U.js → chunk.TK5I4RHF.js} +2 -2
  128. package/dist/esm/chunks/{chunk.MGWY7YIL.js → chunk.TYLOAD7R.js} +2 -2
  129. package/dist/esm/chunks/{chunk.UKFJHDO7.js → chunk.UJ2WQOLO.js} +2 -2
  130. package/dist/esm/chunks/{chunk.2TQONIPK.js → chunk.ULY4H76N.js} +2 -2
  131. package/dist/esm/chunks/{chunk.J3UFSHDY.js → chunk.VSQOTSAO.js} +2 -2
  132. package/dist/esm/chunks/chunk.VVXSELXX.js +7 -0
  133. package/dist/esm/chunks/{chunk.CRWP7H46.js.map → chunk.VVXSELXX.js.map} +2 -2
  134. package/dist/esm/chunks/{chunk.QI3GKORL.js → chunk.VZWNNK7A.js} +2 -2
  135. package/dist/esm/chunks/{chunk.T5X6UNH7.js → chunk.W4247Q2P.js} +2 -2
  136. package/dist/esm/chunks/chunk.WPG7NNQX.js +7 -0
  137. package/dist/esm/chunks/chunk.WPG7NNQX.js.map +7 -0
  138. package/dist/esm/chunks/{chunk.IWA3CYIB.js → chunk.X3C3J5MH.js} +2 -2
  139. package/dist/esm/chunks/{chunk.WYP2M5FR.js → chunk.XGOAYMK2.js} +2 -2
  140. package/dist/esm/chunks/chunk.XI3MJSIS.js +7 -0
  141. package/dist/esm/chunks/chunk.XI3MJSIS.js.map +7 -0
  142. package/dist/esm/chunks/{chunk.MF36FG2X.js → chunk.XKI46BH2.js} +2 -2
  143. package/dist/esm/chunks/{chunk.Y5UJ23LB.js → chunk.YLG6ZC5K.js} +2 -2
  144. package/dist/esm/chunks/chunk.YRMR7IOS.js +7 -0
  145. package/dist/esm/chunks/{chunk.LYYWQGS6.js.map → chunk.YRMR7IOS.js.map} +2 -2
  146. package/dist/esm/chunks/{chunk.TT2VTZJ6.js → chunk.YWNCJ7XP.js} +2 -2
  147. package/dist/esm/chunks/{chunk.TT2VTZJ6.js.map → chunk.YWNCJ7XP.js.map} +2 -2
  148. package/dist/esm/chunks/{chunk.EDEYCLDU.js → chunk.YX7WLO5Y.js} +2 -2
  149. package/dist/esm/chunks/{chunk.AHHNJSZK.js → chunk.Z6FCL3G3.js} +2 -2
  150. package/dist/esm/chunks/chunk.ZDD2NLGP.js +7 -0
  151. package/dist/esm/chunks/{chunk.P5QIB6OY.js → chunk.ZJC2DSNM.js} +2 -2
  152. package/dist/esm/chunks/{chunk.L3M6DPQB.js → chunk.ZKGSQQGU.js} +3 -3
  153. package/dist/esm/chunks/chunk.ZKGSQQGU.js.map +7 -0
  154. package/dist/esm/chunks/{chunk.E7Z3IRWV.js → chunk.ZVBZ3LGP.js} +2 -2
  155. package/dist/esm/circular-progress/index.js +1 -1
  156. package/dist/esm/color-picker/index.js +1 -1
  157. package/dist/esm/core/base/index.js +1 -1
  158. package/dist/esm/core/delegates/index.js +1 -1
  159. package/dist/esm/core/index.js +1 -1
  160. package/dist/esm/date-picker/index.js +1 -1
  161. package/dist/esm/date-range-picker/index.js +1 -1
  162. package/dist/esm/dialog/index.js +1 -1
  163. package/dist/esm/divider/index.js +1 -1
  164. package/dist/esm/drawer/base/index.js +1 -1
  165. package/dist/esm/drawer/drawer/index.js +1 -1
  166. package/dist/esm/drawer/index.js +1 -1
  167. package/dist/esm/drawer/mini-drawer/index.js +1 -1
  168. package/dist/esm/drawer/modal-drawer/index.js +1 -1
  169. package/dist/esm/expansion-panel/index.js +1 -1
  170. package/dist/esm/file-picker/index.js +1 -1
  171. package/dist/esm/floating-action-button/index.js +1 -1
  172. package/dist/esm/floating-label/index.js +1 -1
  173. package/dist/esm/focus-indicator/index.js +1 -1
  174. package/dist/esm/icon/index.js +1 -1
  175. package/dist/esm/icon-button/index.js +1 -1
  176. package/dist/esm/index.js +1 -1
  177. package/dist/esm/inline-message/index.js +1 -1
  178. package/dist/esm/keyboard-shortcut/index.js +1 -1
  179. package/dist/esm/label-value/index.js +1 -1
  180. package/dist/esm/linear-progress/index.js +1 -1
  181. package/dist/esm/list/index.js +1 -1
  182. package/dist/esm/list/list/index.js +1 -1
  183. package/dist/esm/list/list-item/index.js +1 -1
  184. package/dist/esm/list-dropdown/index.js +1 -1
  185. package/dist/esm/menu/index.js +1 -1
  186. package/dist/esm/open-icon/index.js +1 -1
  187. package/dist/esm/page-state/index.js +1 -1
  188. package/dist/esm/paginator/index.js +1 -1
  189. package/dist/esm/popup/index.js +1 -1
  190. package/dist/esm/product-icon/index.js +1 -1
  191. package/dist/esm/profile-card/index.js +1 -1
  192. package/dist/esm/quantity-field/index.js +1 -1
  193. package/dist/esm/radio/index.js +1 -1
  194. package/dist/esm/ripple/index.js +1 -1
  195. package/dist/esm/scaffold/index.js +1 -1
  196. package/dist/esm/select/core/index.js +1 -1
  197. package/dist/esm/select/index.js +1 -1
  198. package/dist/esm/select/option/index.js +1 -1
  199. package/dist/esm/select/option-group/index.js +1 -1
  200. package/dist/esm/select/select/index.js +1 -1
  201. package/dist/esm/select/select-dropdown/index.js +1 -1
  202. package/dist/esm/skeleton/index.js +1 -1
  203. package/dist/esm/slider/index.js +1 -1
  204. package/dist/esm/split-view/index.js +1 -1
  205. package/dist/esm/split-view/split-view/index.js +1 -1
  206. package/dist/esm/split-view/split-view-panel/index.js +1 -1
  207. package/dist/esm/stack/index.js +1 -1
  208. package/dist/esm/state-layer/index.js +1 -1
  209. package/dist/esm/stepper/index.js +1 -1
  210. package/dist/esm/stepper/step/index.js +1 -1
  211. package/dist/esm/stepper/stepper/index.js +1 -1
  212. package/dist/esm/switch/index.js +1 -1
  213. package/dist/esm/table/index.js +1 -1
  214. package/dist/esm/tabs/index.js +1 -1
  215. package/dist/esm/tabs/tab/index.js +1 -1
  216. package/dist/esm/tabs/tab-bar/index.js +1 -1
  217. package/dist/esm/text-field/index.js +1 -1
  218. package/dist/esm/time-picker/index.js +1 -1
  219. package/dist/esm/toast/index.js +1 -1
  220. package/dist/esm/toolbar/index.js +1 -1
  221. package/dist/esm/tooltip/index.js +1 -1
  222. package/dist/esm/view-switcher/index.js +1 -1
  223. package/dist/esm/view-switcher/view/index.js +1 -1
  224. package/dist/forge.css +1 -1
  225. package/dist/table/forge-table.css +1 -1
  226. package/dist/typography/forge-typography-legacy.css +6 -0
  227. package/dist/typography/forge-typography.css +1 -1
  228. package/esm/app-bar/profile-button/app-bar-profile-button-adapter.js +1 -1
  229. package/esm/autocomplete/autocomplete-adapter.js +1 -1
  230. package/esm/busy-indicator/busy-indicator-adapter.js +1 -1
  231. package/esm/calendar/calendar-dropdown/calendar-dropdown.d.ts +3 -0
  232. package/esm/calendar/calendar-dropdown/calendar-dropdown.js +9 -0
  233. package/esm/chip-field/chip-field-foundation.js +1 -1
  234. package/esm/chips/chip/chip-adapter.js +2 -2
  235. package/esm/chips/chip/chip.js +1 -1
  236. package/esm/color-picker/color-picker-foundation.d.ts +0 -1
  237. package/esm/color-picker/color-picker-foundation.js +2 -5
  238. package/esm/date-picker/base/base-date-picker-adapter.d.ts +2 -0
  239. package/esm/date-picker/base/base-date-picker-adapter.js +6 -0
  240. package/esm/date-picker/base/base-date-picker-constants.d.ts +1 -0
  241. package/esm/date-picker/base/base-date-picker-constants.js +2 -1
  242. package/esm/date-picker/base/base-date-picker-foundation.d.ts +4 -0
  243. package/esm/date-picker/base/base-date-picker-foundation.js +13 -1
  244. package/esm/date-picker/base/base-date-picker.d.ts +3 -0
  245. package/esm/date-picker/base/base-date-picker.js +6 -0
  246. package/esm/date-picker/date-picker-adapter.js +1 -1
  247. package/esm/date-range-picker/date-range-picker-adapter.js +1 -1
  248. package/esm/dialog/dialog-adapter.js +1 -1
  249. package/esm/field/field-adapter.js +1 -1
  250. package/esm/field/field-foundation.js +5 -0
  251. package/esm/focus-indicator/focus-indicator.js +1 -1
  252. package/esm/linear-progress/linear-progress.js +1 -1
  253. package/esm/list/list/list-adapter.js +2 -2
  254. package/esm/list/list-item/list-item.js +1 -1
  255. package/esm/popup/popup-adapter.js +2 -2
  256. package/esm/radio/radio-adapter.js +2 -1
  257. package/esm/slider/slider.d.ts +2 -1
  258. package/esm/slider/slider.js +3 -2
  259. package/esm/split-view/split-view-panel/split-view-panel.js +1 -1
  260. package/esm/stepper/core/stepper-utils.js +2 -1
  261. package/esm/stepper/stepper/stepper-adapter.js +1 -1
  262. package/esm/stepper/stepper/stepper-foundation.js +1 -0
  263. package/esm/tabs/tab/tab.js +1 -1
  264. package/esm/text-field/text-field-adapter.js +2 -1
  265. package/esm/time-picker/time-picker-adapter.js +2 -1
  266. package/package.json +2 -2
  267. package/styles/chips/chip/_mixins.scss +1 -0
  268. package/styles/circular-progress/{_animations.scss → _animation.scss} +6 -0
  269. package/styles/circular-progress/_configuration.scss +0 -7
  270. package/styles/circular-progress/_core.scss +8 -8
  271. package/styles/circular-progress/circular-progress.scss +2 -2
  272. package/styles/circular-progress/index.scss +1 -1
  273. package/styles/core/styles/{tokens/_utils.scss → _utils.scss} +21 -1
  274. package/styles/core/styles/animation/index.scss +16 -0
  275. package/styles/core/styles/border/index.scss +38 -0
  276. package/styles/core/styles/elevation/index.scss +10 -10
  277. package/styles/core/styles/shape/index.scss +31 -0
  278. package/styles/core/styles/spacing/index.scss +30 -0
  279. package/styles/core/styles/theme/index.scss +15 -11
  280. package/styles/core/styles/tokens/animation/_tokens.scss +38 -0
  281. package/styles/core/styles/tokens/border/_tokens.scss +17 -0
  282. package/styles/core/styles/tokens/circular-progress/_tokens.scss +1 -1
  283. package/styles/core/styles/tokens/focus-indicator/_tokens.scss +11 -7
  284. package/styles/core/styles/tokens/linear-progress/_tokens.scss +5 -3
  285. package/styles/core/styles/tokens/shape/_tokens.scss +42 -0
  286. package/styles/core/styles/tokens/slider/_tokens.scss +7 -5
  287. package/styles/core/styles/tokens/spacing/_tokens.scss +23 -0
  288. package/styles/core/styles/tokens/state-layer/_tokens.scss +1 -1
  289. package/styles/core/styles/tokens/tabs/tab/_tokens.scss +1 -1
  290. package/styles/core/styles/tokens/tabs/tab-bar/_tokens.scss +1 -1
  291. package/styles/core/styles/tokens/typography/_tokens.scss +198 -35
  292. package/styles/core/styles/typography/index.scss +119 -0
  293. package/styles/focus-indicator/_core.scss +1 -1
  294. package/styles/linear-progress/_core.scss +1 -1
  295. package/styles/list/list-item/_mixins.scss +11 -1
  296. package/styles/list/list-item/_variables.scss +9 -0
  297. package/styles/slider/_configuration.scss +2 -1
  298. package/styles/slider/_core.scss +7 -6
  299. package/styles/state-layer/_core.scss +1 -1
  300. package/styles/table/_mixins.scss +2 -2
  301. package/styles/tabs/tab/_core.scss +6 -5
  302. package/styles/tabs/tab/tab.scss +14 -0
  303. package/styles/tabs/tab-bar/_core.scss +1 -1
  304. package/styles/{core/styles/tokens/theme/_shape.scss → typography/forge-typography-legacy.scss} +2 -7
  305. package/styles/typography/forge-typography.scss +11 -3
  306. package/styles/utils/_mixins-core.scss +1 -1
  307. package/dist/esm/chunks/chunk.2VP57RZO.js +0 -7
  308. package/dist/esm/chunks/chunk.2VP57RZO.js.map +0 -7
  309. package/dist/esm/chunks/chunk.33EJTOVA.js +0 -7
  310. package/dist/esm/chunks/chunk.33EJTOVA.js.map +0 -7
  311. package/dist/esm/chunks/chunk.3JDFBEF7.js +0 -7
  312. package/dist/esm/chunks/chunk.74DEHKGT.js +0 -12
  313. package/dist/esm/chunks/chunk.7G72CBOJ.js +0 -7
  314. package/dist/esm/chunks/chunk.7G72CBOJ.js.map +0 -7
  315. package/dist/esm/chunks/chunk.BNFJRFLW.js +0 -7
  316. package/dist/esm/chunks/chunk.CRWP7H46.js +0 -7
  317. package/dist/esm/chunks/chunk.DXZ5LVFJ.js +0 -7
  318. package/dist/esm/chunks/chunk.DXZ5LVFJ.js.map +0 -7
  319. package/dist/esm/chunks/chunk.EYZ25QUP.js +0 -7
  320. package/dist/esm/chunks/chunk.EYZ25QUP.js.map +0 -7
  321. package/dist/esm/chunks/chunk.F776DWXU.js +0 -7
  322. package/dist/esm/chunks/chunk.F776DWXU.js.map +0 -7
  323. package/dist/esm/chunks/chunk.FIBGOPNP.js +0 -7
  324. package/dist/esm/chunks/chunk.FIBGOPNP.js.map +0 -7
  325. package/dist/esm/chunks/chunk.FUPNTFG7.js +0 -7
  326. package/dist/esm/chunks/chunk.FUPNTFG7.js.map +0 -7
  327. package/dist/esm/chunks/chunk.GT3XBPZY.js +0 -7
  328. package/dist/esm/chunks/chunk.GT3XBPZY.js.map +0 -7
  329. package/dist/esm/chunks/chunk.HXJCTE47.js +0 -7
  330. package/dist/esm/chunks/chunk.JL4XB4RI.js +0 -7
  331. package/dist/esm/chunks/chunk.JL4XB4RI.js.map +0 -7
  332. package/dist/esm/chunks/chunk.L3M6DPQB.js.map +0 -7
  333. package/dist/esm/chunks/chunk.LHBF47UY.js +0 -7
  334. package/dist/esm/chunks/chunk.LHBF47UY.js.map +0 -7
  335. package/dist/esm/chunks/chunk.LM57DOG3.js +0 -7
  336. package/dist/esm/chunks/chunk.LYYWQGS6.js +0 -7
  337. package/dist/esm/chunks/chunk.M2M47T4L.js +0 -7
  338. package/dist/esm/chunks/chunk.M2M47T4L.js.map +0 -7
  339. package/dist/esm/chunks/chunk.QLJBPFP5.js +0 -7
  340. package/dist/esm/chunks/chunk.QLJBPFP5.js.map +0 -7
  341. package/dist/esm/chunks/chunk.SN5LPTHH.js +0 -7
  342. package/dist/esm/chunks/chunk.YDY2IGBF.js +0 -7
  343. package/dist/esm/chunks/chunk.YDY2IGBF.js.map +0 -7
  344. package/dist/esm/chunks/chunk.YWCLKUK7.js +0 -7
  345. package/dist/esm/chunks/chunk.YWCLKUK7.js.map +0 -7
  346. package/dist/esm/chunks/chunk.ZMRDW25U.js +0 -7
  347. package/dist/typography/forge-form.css +0 -6
  348. package/styles/typography/forge-form.scss +0 -67
  349. /package/dist/esm/chunks/{chunk.ECRL6O3V.js.map → chunk.2AJ7FFI6.js.map} +0 -0
  350. /package/dist/esm/chunks/{chunk.4WB3FGEL.js.map → chunk.2EWV2XBP.js.map} +0 -0
  351. /package/dist/esm/chunks/{chunk.WH6C36MO.js.map → chunk.2QHD3DCR.js.map} +0 -0
  352. /package/dist/esm/chunks/{chunk.ZMRDW25U.js.map → chunk.3HB22HCX.js.map} +0 -0
  353. /package/dist/esm/chunks/{chunk.3JDFBEF7.js.map → chunk.4C6KHYUO.js.map} +0 -0
  354. /package/dist/esm/chunks/{chunk.WBYXVMYI.js.map → chunk.4YFVG4KP.js.map} +0 -0
  355. /package/dist/esm/chunks/{chunk.XATLSSAW.js.map → chunk.4ZKX3SO5.js.map} +0 -0
  356. /package/dist/esm/chunks/{chunk.SZIM4KFZ.js.map → chunk.54OOOQ4R.js.map} +0 -0
  357. /package/dist/esm/chunks/{chunk.ZDAXNM2P.js.map → chunk.5MZ5SGMO.js.map} +0 -0
  358. /package/dist/esm/chunks/{chunk.YQXX5KSW.js.map → chunk.624UKZFU.js.map} +0 -0
  359. /package/dist/esm/chunks/{chunk.BIFQ4VOJ.js.map → chunk.6GC5AJPE.js.map} +0 -0
  360. /package/dist/esm/chunks/{chunk.OTD2SFQJ.js.map → chunk.6OUJSOJY.js.map} +0 -0
  361. /package/dist/esm/chunks/{chunk.57IVD67K.js.map → chunk.6OW6Q3EW.js.map} +0 -0
  362. /package/dist/esm/chunks/{chunk.IDD54B5P.js.map → chunk.A62DE5PD.js.map} +0 -0
  363. /package/dist/esm/chunks/{chunk.4WVHON6T.js.map → chunk.ALIYGJXA.js.map} +0 -0
  364. /package/dist/esm/chunks/{chunk.JTIPXKV6.js.map → chunk.B4T3R53C.js.map} +0 -0
  365. /package/dist/esm/chunks/{chunk.5V5ABSHI.js.map → chunk.BKL2BAYW.js.map} +0 -0
  366. /package/dist/esm/chunks/{chunk.SEP3L4QL.js.map → chunk.CDGZYUQS.js.map} +0 -0
  367. /package/dist/esm/chunks/{chunk.Z4J4D5FD.js.map → chunk.CKW7KKDW.js.map} +0 -0
  368. /package/dist/esm/chunks/{chunk.QL45FKVJ.js.map → chunk.COVTBIQQ.js.map} +0 -0
  369. /package/dist/esm/chunks/{chunk.WO7KEM5K.js.map → chunk.CWTV3TB3.js.map} +0 -0
  370. /package/dist/esm/chunks/{chunk.7WVTJIVR.js.map → chunk.CXY6K7EI.js.map} +0 -0
  371. /package/dist/esm/chunks/{chunk.VNOJO2PF.js.map → chunk.D5TAI6Q7.js.map} +0 -0
  372. /package/dist/esm/chunks/{chunk.QZK3WEH6.js.map → chunk.DG4ZM3AW.js.map} +0 -0
  373. /package/dist/esm/chunks/{chunk.DTZFWZPB.js.map → chunk.DXN7ZOH3.js.map} +0 -0
  374. /package/dist/esm/chunks/{chunk.7ZQMJLHE.js.map → chunk.EK24Y56W.js.map} +0 -0
  375. /package/dist/esm/chunks/{chunk.2O6IZ7XZ.js.map → chunk.F74YURLV.js.map} +0 -0
  376. /package/dist/esm/chunks/{chunk.U4GYQOPY.js.map → chunk.FWFOOQMA.js.map} +0 -0
  377. /package/dist/esm/chunks/{chunk.D2Y2CRRY.js.map → chunk.GNG64TXK.js.map} +0 -0
  378. /package/dist/esm/chunks/{chunk.OAHA3QOH.js.map → chunk.IX25DYIM.js.map} +0 -0
  379. /package/dist/esm/chunks/{chunk.RGPNNISQ.js.map → chunk.JLLHDJSO.js.map} +0 -0
  380. /package/dist/esm/chunks/{chunk.ZAJB7G4V.js.map → chunk.JUJGROHA.js.map} +0 -0
  381. /package/dist/esm/chunks/{chunk.PHBOQRF6.js.map → chunk.K3KAM2PL.js.map} +0 -0
  382. /package/dist/esm/chunks/{chunk.G4IN6Y46.js.map → chunk.KVCDAZ6B.js.map} +0 -0
  383. /package/dist/esm/chunks/{chunk.2QSDH3PC.js.map → chunk.LFODKHUO.js.map} +0 -0
  384. /package/dist/esm/chunks/{chunk.N7PQ2MUQ.js.map → chunk.LK4AAUOP.js.map} +0 -0
  385. /package/dist/esm/chunks/{chunk.5CMQ7DNL.js.map → chunk.LTT67HTW.js.map} +0 -0
  386. /package/dist/esm/chunks/{chunk.NF4J3Q5X.js.map → chunk.LXPFG7MW.js.map} +0 -0
  387. /package/dist/esm/chunks/{chunk.5M6Y2RU6.js.map → chunk.M56LSSPW.js.map} +0 -0
  388. /package/dist/esm/chunks/{chunk.XOM2FYQ2.js.map → chunk.MGLL67VO.js.map} +0 -0
  389. /package/dist/esm/chunks/{chunk.6MPXRRMB.js.map → chunk.MHBBMC6O.js.map} +0 -0
  390. /package/dist/esm/chunks/{chunk.TL6WVBGT.js.map → chunk.MTKSU2BV.js.map} +0 -0
  391. /package/dist/esm/chunks/{chunk.NK7H3MMM.js.map → chunk.MVTBJPO2.js.map} +0 -0
  392. /package/dist/esm/chunks/{chunk.KSCUIS5C.js.map → chunk.MXEKIEJA.js.map} +0 -0
  393. /package/dist/esm/chunks/{chunk.BBKRPL6R.js.map → chunk.N43BCJHN.js.map} +0 -0
  394. /package/dist/esm/chunks/{chunk.2ZTERGYF.js.map → chunk.NR3MLTXF.js.map} +0 -0
  395. /package/dist/esm/chunks/{chunk.PHTOULRR.js.map → chunk.OWCYRSI3.js.map} +0 -0
  396. /package/dist/esm/chunks/{chunk.74DEHKGT.js.map → chunk.P2CW5MQO.js.map} +0 -0
  397. /package/dist/esm/chunks/{chunk.7TGGJGTG.js.map → chunk.P2ZCNO63.js.map} +0 -0
  398. /package/dist/esm/chunks/{chunk.RFLASSCI.js.map → chunk.PADPL4L3.js.map} +0 -0
  399. /package/dist/esm/chunks/{chunk.H5D54EHO.js.map → chunk.PH3HUFJJ.js.map} +0 -0
  400. /package/dist/esm/chunks/{chunk.LM57DOG3.js.map → chunk.Q7JUJNYD.js.map} +0 -0
  401. /package/dist/esm/chunks/{chunk.E6KWYFZG.js.map → chunk.Q7Z3SJ5F.js.map} +0 -0
  402. /package/dist/esm/chunks/{chunk.SQVBT7HU.js.map → chunk.QCRRHGBA.js.map} +0 -0
  403. /package/dist/esm/chunks/{chunk.7DHFTAWI.js.map → chunk.QOJESHEV.js.map} +0 -0
  404. /package/dist/esm/chunks/{chunk.X3YNJSDT.js.map → chunk.S3JMOOWC.js.map} +0 -0
  405. /package/dist/esm/chunks/{chunk.MJSLXZBM.js.map → chunk.SBYX7VZ4.js.map} +0 -0
  406. /package/dist/esm/chunks/{chunk.XRESQBNE.js.map → chunk.SFCGOCQK.js.map} +0 -0
  407. /package/dist/esm/chunks/{chunk.UCM6CGFM.js.map → chunk.SMGXXR6K.js.map} +0 -0
  408. /package/dist/esm/chunks/{chunk.6VDF54LZ.js.map → chunk.SU4FU7GK.js.map} +0 -0
  409. /package/dist/esm/chunks/{chunk.5IQGVS6U.js.map → chunk.TK5I4RHF.js.map} +0 -0
  410. /package/dist/esm/chunks/{chunk.MGWY7YIL.js.map → chunk.TYLOAD7R.js.map} +0 -0
  411. /package/dist/esm/chunks/{chunk.UKFJHDO7.js.map → chunk.UJ2WQOLO.js.map} +0 -0
  412. /package/dist/esm/chunks/{chunk.2TQONIPK.js.map → chunk.ULY4H76N.js.map} +0 -0
  413. /package/dist/esm/chunks/{chunk.J3UFSHDY.js.map → chunk.VSQOTSAO.js.map} +0 -0
  414. /package/dist/esm/chunks/{chunk.QI3GKORL.js.map → chunk.VZWNNK7A.js.map} +0 -0
  415. /package/dist/esm/chunks/{chunk.T5X6UNH7.js.map → chunk.W4247Q2P.js.map} +0 -0
  416. /package/dist/esm/chunks/{chunk.IWA3CYIB.js.map → chunk.X3C3J5MH.js.map} +0 -0
  417. /package/dist/esm/chunks/{chunk.WYP2M5FR.js.map → chunk.XGOAYMK2.js.map} +0 -0
  418. /package/dist/esm/chunks/{chunk.MF36FG2X.js.map → chunk.XKI46BH2.js.map} +0 -0
  419. /package/dist/esm/chunks/{chunk.Y5UJ23LB.js.map → chunk.YLG6ZC5K.js.map} +0 -0
  420. /package/dist/esm/chunks/{chunk.EDEYCLDU.js.map → chunk.YX7WLO5Y.js.map} +0 -0
  421. /package/dist/esm/chunks/{chunk.AHHNJSZK.js.map → chunk.Z6FCL3G3.js.map} +0 -0
  422. /package/dist/esm/chunks/{chunk.HXJCTE47.js.map → chunk.ZDD2NLGP.js.map} +0 -0
  423. /package/dist/esm/chunks/{chunk.P5QIB6OY.js.map → chunk.ZJC2DSNM.js.map} +0 -0
  424. /package/dist/esm/chunks/{chunk.E7Z3IRWV.js.map → chunk.ZVBZ3LGP.js.map} +0 -0
  425. /package/styles/core/styles/tokens/{theme/_elevation.scss → elevation/_tokens.scss} +0 -0
@@ -4,70 +4,233 @@
4
4
  * License: Apache-2.0
5
5
  */
6
6
  @use 'sass:map';
7
+ @use 'sass:list';
8
+ @use '../../core/config';
7
9
  @use '../../theme';
10
+ @use '../../utils';
8
11
 
12
+ /// Base typography style values
9
13
  $font-family: 'Roboto', sans-serif !default;
14
+ $font-size: 1rem !default; // 16px
10
15
 
16
+ /// The Forge typography scale system
17
+ $font-scale: (
18
+ 12: 0.75,
19
+ 14: 0.875,
20
+ 16: 1,
21
+ 18: 1.125,
22
+ 20: 1.25,
23
+ 22: 1.375,
24
+ 24: 1.5,
25
+ 28: 1.75,
26
+ 32: 2,
27
+ 34: 2.125,
28
+ 36: 2.25,
29
+ 40: 2.5,
30
+ 42: 2.625,
31
+ 44: 2.75,
32
+ 48: 3,
33
+ 56: 3.5,
34
+ 64: 4,
35
+ ) !default;
36
+
37
+ /// Available font weights for Forge typography styles
38
+ $font-weight: (
39
+ light: 300,
40
+ regular: 400,
41
+ medium: 500,
42
+ bold: 700
43
+ ) !default;
44
+
45
+ /// The base typography styles that other styles inherit from.
11
46
  $base: (
12
- font-family: $font-family,
13
- font-size: 16px,
14
- font-weight: 400,
47
+ font-family: var(--#{config.$prefix}-typography-font-family, #{$font-family}),
48
+ font-size: var(--#{config.$prefix}-typography-font-size, #{$font-size}),
49
+ font-weight: map.get($font-weight, regular),
15
50
  line-height: normal,
16
51
  letter-spacing: normal,
17
- text-transform: none,
18
- text-decoration: none,
52
+ text-transform: inherit,
53
+ text-decoration: inherit,
19
54
  color: theme.variable(text-primary)
20
55
  ) !default;
21
56
 
22
- $title: (
23
- font-family: map.get($base, font-family),
24
- // font-size: typography.font-size(title) var(--forge-typography-title-font-size, calc(var(--forge-typography-root-font-size, 16px) * 1.5)),
25
- font-weight: map.get($base, font-weight),
26
- line-height: 24px,
57
+ ///
58
+ /// Creates a style value that is relative to the base font size for the given property.
59
+ ///
60
+ /// This allows for typography styles to be scaled relative to the root font size, or
61
+ /// relative to a specific CSS custom property if optionally applied. This is useful
62
+ /// when embedding Forge in an application that adjusts the root `font-size` to something
63
+ /// other than `16px` (browser default).
64
+ ///
65
+ @function _font-size-relative($style, $property, $scale) {
66
+ @return calc(#{map.get($base, font-size)} * var(--#{config.$prefix}-typography-#{$style}-#{$property}-scale, #{$scale}));
67
+ }
68
+
69
+ /// Heading
70
+ $heading-01: utils.inherit-map($base, (
71
+ font-size: _font-size-relative(heading-01, font-size, map.get($font-scale, 14)),
72
+ font-weight: map.get($font-weight, medium),
73
+ line-height: _font-size-relative(heading-01, line-height, map.get($font-scale, 20)),
74
+ letter-spacing: 0.0071428571em
75
+ )) !default;
76
+
77
+ $heading-02: utils.inherit-map($heading-01, (
78
+ font-size: _font-size-relative(heading-02, font-size, map.get($font-scale, 16)),
79
+ line-height: _font-size-relative(heading-02, line-height, map.get($font-scale, 20)),
80
+ letter-spacing: 0.009375em
81
+ )) !default;
82
+
83
+ $heading-03: utils.inherit-map($heading-02, (
84
+ font-size: _font-size-relative(heading-03, font-size, map.get($font-scale, 18)),
85
+ line-height: _font-size-relative(heading-03, line-height, map.get($font-scale, 24)),
86
+ letter-spacing: 0.0125em
87
+ )) !default;
88
+
89
+ $heading-04: utils.inherit-map($heading-03, (
90
+ font-size: _font-size-relative(heading-04, font-size, map.get($font-scale, 20)),
91
+ line-height: _font-size-relative(heading-04, line-height, map.get($font-scale, 28)),
92
+ letter-spacing: normal
93
+ )) !default;
94
+
95
+ $heading-05: utils.inherit-map($heading-04, (
96
+ font-size: _font-size-relative(heading-05, font-size, map.get($font-scale, 24)),
97
+ line-height: _font-size-relative(heading-05, line-height, map.get($font-scale, 32)),
98
+ )) !default;
99
+
100
+ $heading-06: utils.inherit-map($heading-05, (
101
+ font-size: _font-size-relative(heading-06, font-size, map.get($font-scale, 28)),
102
+ line-height: _font-size-relative(heading-06, line-height, map.get($font-scale, 36)),
103
+ )) !default;
104
+
105
+ /// Display
106
+ $display-01: utils.inherit-map($base, (
107
+ font-size: _font-size-relative(display-01, font-size, map.get($font-scale, 24)),
108
+ font-weight: map.get($font-weight, light),
109
+ line-height: _font-size-relative(display-01, line-height, map.get($font-scale, 30)),
110
+ )) !default;
111
+
112
+ $display-02: utils.inherit-map($display-01, (
113
+ font-size: _font-size-relative(display-02, font-size, map.get($font-scale, 28)),
114
+ line-height: _font-size-relative(display-02, line-height, map.get($font-scale, 34)),
115
+ )) !default;
116
+
117
+ $display-03: utils.inherit-map($display-02, (
118
+ font-size: _font-size-relative(display-03, font-size, map.get($font-scale, 32)),
119
+ line-height: _font-size-relative(display-03, line-height, map.get($font-scale, 40)),
120
+ )) !default;
121
+
122
+ $display-04: utils.inherit-map($display-03, (
123
+ font-size: _font-size-relative(display-04, font-size, map.get($font-scale, 36)),
124
+ line-height: _font-size-relative(display-04, line-height, map.get($font-scale, 44)),
125
+ )) !default;
126
+
127
+ $display-05: utils.inherit-map($display-04, (
128
+ font-size: _font-size-relative(display-05, font-size, map.get($font-scale, 40)),
129
+ line-height: _font-size-relative(display-05, line-height, map.get($font-scale, 48)),
130
+ )) !default;
131
+
132
+ $display-06: utils.inherit-map($display-05, (
133
+ font-size: _font-size-relative(display-06, font-size, map.get($font-scale, 48)),
134
+ line-height: _font-size-relative(display-06, line-height, map.get($font-scale, 64)),
135
+ )) !default;
136
+
137
+ /// Title
138
+ $title: utils.inherit-map($heading-03, (
139
+ font-family: #{map.get($base, font-family)},
140
+ font-size: _font-size-relative(title, font-size, map.get($font-scale, 20)),
141
+ font-weight: map.get($font-weight, regular),
142
+ line-height: _font-size-relative(title, line-height, map.get($font-scale, 24)),
27
143
  letter-spacing: 0.0125em,
144
+ )) !default;
145
+
146
+ /// Subtitle
147
+ $subtitle: (
148
+ font-family: #{map.get($base, font-family)},
149
+ font-size: _font-size-relative(subtitle, font-size, map.get($font-scale, 16)),
150
+ font-weight: map.get($base, font-weight),
151
+ line-height: _font-size-relative(subtitle, line-height, map.get($font-scale, 28)),
152
+ letter-spacing: 0.009375em,
28
153
  text-transform: inherit,
29
154
  text-decoration: inherit,
30
- color: map.get($base, color)
155
+ color: theme.variable(text-secondary)
31
156
  ) !default;
32
157
 
158
+ $body-01: utils.inherit-map($base, (
159
+ font-size: _font-size-relative(body, font-size, map.get($font-scale, 14)),
160
+ line-height: _font-size-relative(body, line-height, map.get($font-scale, 20)),
161
+ letter-spacing: 0.0178571429em
162
+ )) !default;
163
+
164
+ $body-02: utils.inherit-map($base, (
165
+ font-size: _font-size-relative(body, font-size, map.get($font-scale, 16)),
166
+ line-height: _font-size-relative(body, line-height, map.get($font-scale, 24)),
167
+ letter-spacing: 0.03125em
168
+ )) !default;
169
+
170
+ $body: utils.inherit-map($body-01, (
171
+ font-size: _font-size-relative(body, font-size, map.get($font-scale, 16)),
172
+ line-height: _font-size-relative(body, line-height, map.get($font-scale, 24)),
173
+ )) !default;
174
+
175
+ /// Label
33
176
  $label: (
34
- font-family: map.get($base, font-family),
35
- font-size: 12px,
177
+ font-family: #{map.get($base, font-family)},
178
+ font-size: _font-size-relative(label, font-size, 0.75), // 12px
36
179
  font-weight: map.get($base, font-weight),
37
- line-height: 20px,
180
+ line-height: _font-size-relative(label, line-height, 1.25), // 20px
38
181
  letter-spacing: 0.0333333333em,
39
182
  text-transform: inherit,
40
183
  text-decoration: inherit,
41
184
  color: map.get($base, color)
42
185
  ) !default;
43
186
 
44
- // $caption: (
45
- // ...$label,
46
- // font-size: 10px,
47
- // ) !default;
187
+ /// Button
188
+ $button: (
189
+ font-family: #{map.get($base, font-family)},
190
+ font-size: _font-size-relative(button, font-size, 0.875), // 14px
191
+ font-weight: 500,
192
+ line-height: _font-size-relative(button, line-height, 2.25), // 36px
193
+ letter-spacing: 0.0892857143em,
194
+ text-transform: inherit,
195
+ text-decoration: inherit,
196
+ color: map.get($base, color)
197
+ ) !default;
48
198
 
49
199
  $tokens: (
200
+ heading-01: $heading-01,
201
+ heading-02: $heading-02,
202
+ heading-03: $heading-03,
203
+ heading-04: $heading-04,
204
+ heading-05: $heading-05,
205
+ heading-06: $heading-06,
206
+ display-01: $display-01,
207
+ display-02: $display-02,
208
+ display-03: $display-03,
209
+ display-04: $display-04,
210
+ display-05: $display-05,
211
+ display-06: $display-06,
50
212
  title: $title,
213
+ subtitle: $subtitle,
214
+ body-01: $body-01,
215
+ body-02: $body-02,
216
+ body: $body,
51
217
  label: $label,
52
- helper-text: $label
218
+ button: $button
53
219
  ) !default;
54
220
 
221
+ ///
222
+ /// Returns a typography style token value.
223
+ ///
224
+ @function get($style, $token) {
225
+ $style-tokens: map.get($tokens, $style);
55
226
 
56
- // @mixin typography($style) {
57
- // $typography-tokens: map.get($tokens, $style);
58
-
59
- // @if not $typography-tokens {
60
- // @error 'Invalid typography style: "#{$style}"';
61
- // }
227
+ @if not $style-tokens {
228
+ @error 'Invalid typography style: "#{$style}"';
229
+ }
62
230
 
63
- // /// Use the `font` style instead??
231
+ @if not map.get($style-tokens, $token) {
232
+ @error 'Invalid typography token for style "#{$style}" using token "#{$token}"';
233
+ }
64
234
 
65
- // font-family: var(--forge-typography-#{$style}-font-family, map.get($typography-tokens, font-family));
66
- // font-size: var(--forge-typography-#{$style}-font-size, map.get($typography-tokens, font-size));
67
- // font-weight: var(--forge-typography-#{$style}-font-weight, map.get($typography-tokens, font-weight));
68
- // line-height: var(--forge-typography-#{$style}-line-height, map.get($typography-tokens, line-height));
69
- // letter-spacing: var(--forge-typography-#{$style}-letter-spacing, map.get($typography-tokens, letter-spacing));
70
- // text-transform: var(--forge-typography-#{$style}-text-transform, map.get($typography-tokens, text-transform));
71
- // text-decoration: var(--forge-typography-#{$style}-text-decoration, map.get($typography-tokens, text-decoration));
72
- // color: var(--forge-typography-#{$style}-color, map.get($typography-tokens, color));
73
- // }
235
+ @return map.get($style-tokens, $token);
236
+ }
@@ -0,0 +1,119 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ @use 'sass:map';
7
+ @use 'sass:list';
8
+ @use '../core/config';
9
+ @use '../tokens/typography/tokens';
10
+
11
+ @forward '../tokens/typography/tokens';
12
+
13
+ ///
14
+ /// Emits the typography styles for the given style.
15
+ ///
16
+ /// Example:
17
+ /// ```scss
18
+ /// @include style(title);
19
+ /// ```
20
+ ///
21
+ /// Allows for providing an optional list of tokens to exclude from the output:
22
+ /// ```scss
23
+ /// @include style(title, [font-family font-size]);
24
+ /// ```
25
+ ///
26
+ @mixin style($style, $exclude: null) {
27
+ $styles: (
28
+ font-family: _get-style-value($style, font-family),
29
+ font-size: _get-style-value($style, font-size),
30
+ font-weight: _get-style-value($style, font-weight),
31
+ line-height: _get-style-value($style, line-height),
32
+ letter-spacing: _get-style-value($style, letter-spacing),
33
+ text-transform: _get-style-value($style, text-transform),
34
+ text-decoration: _get-style-value($style, text-decoration),
35
+ color: _get-style-value($style, color)
36
+ );
37
+
38
+ -moz-osx-font-smoothing: grayscale;
39
+ -webkit-font-smoothing: antialiased;
40
+
41
+ @each $key, $value in $styles {
42
+ @if not $exclude or not list.index($exclude, $key) {
43
+ #{$key}: #{$value};
44
+ }
45
+ }
46
+ }
47
+
48
+ ///
49
+ /// Sets base typography styles.
50
+ ///
51
+ @mixin base {
52
+ -moz-osx-font-smoothing: grayscale;
53
+ -webkit-font-smoothing: antialiased;
54
+ font-family: map.get(tokens.$base, font-family);
55
+ color: map.get(tokens.$base, color);
56
+ }
57
+
58
+ ///
59
+ /// Generates helper classes for each typography style/role.
60
+ ///
61
+ @mixin classes {
62
+ @each $style, $tokens in tokens.$tokens {
63
+ .#{config.$prefix}-typography--#{$style} {
64
+ @include style($style);
65
+ }
66
+ }
67
+ }
68
+
69
+ ///
70
+ /// Provides override CSS custom property declarations for the given style overrides.
71
+ ///
72
+ /// Example:
73
+ /// ```
74
+ /// .my-class {
75
+ /// @include provide(title, (font-family: Arial, font-size: 20px));
76
+ /// }
77
+ /// ```
78
+ ///
79
+ /// This will output:
80
+ /// ```
81
+ /// .my-class {
82
+ /// --forge-typography-title-font-family: Arial;
83
+ /// --forge-typography-title-font-size: 20px;
84
+ /// }
85
+ /// ```
86
+ ///
87
+ @mixin provide($style, $overrides) {
88
+ $style-tokens: map.get(tokens.$tokens, $style);
89
+ @each $key, $value in $overrides {
90
+ @if not map.get($style-tokens, $key) {
91
+ @error 'Invalid token "#{$key}" for style "#{$style}"';
92
+ }
93
+ --#{config.$prefix}-typography-#{$key}: #{$value};
94
+ }
95
+ }
96
+
97
+ ///
98
+ /// Creates a calculated style value that will scale relative to the root font size.
99
+ ///
100
+ /// Example:
101
+ /// ```scss
102
+ /// .my-class {
103
+ /// padding: typography.font-size-relative(2);
104
+ /// }
105
+ ///
106
+ /// // Outputs
107
+ /// .my-class {
108
+ /// padding: calc(var(--forge-typography-font-size, 1rem) * 2);
109
+ /// }
110
+ ///
111
+ /// ```
112
+ ///
113
+ @function font-size-relative($scale) {
114
+ @return calc(#{map.get(tokens.$base, font-size)} * #{$scale});
115
+ }
116
+
117
+ @function _get-style-value($style, $token) {
118
+ @return var(--#{config.$prefix}-typography-#{$style}-#{$token}, #{tokens.get($style, $token)});
119
+ }
@@ -3,7 +3,7 @@
3
3
  * Copyright 2023 Tyler Technologies, Inc.
4
4
  * License: Apache-2.0
5
5
  */
6
- @use '../core/styles/tokens/utils';
6
+ @use '../core/styles/utils';
7
7
  @use '../core/styles/tokens/focus-indicator/tokens';
8
8
 
9
9
  @mixin provide-theme($theme) {
@@ -4,7 +4,7 @@
4
4
  * License: Apache-2.0
5
5
  */
6
6
  @use 'sass:list';
7
- @use '../core/styles/tokens/utils';
7
+ @use '../core/styles/utils';
8
8
  @use '../core/styles/tokens/linear-progress/tokens';
9
9
  @use '../theme';
10
10
 
@@ -77,10 +77,17 @@
77
77
  ::slotted(.forge-list-item__title) {
78
78
  @include mdc-typography.typography(body2);
79
79
  }
80
+
81
+ &.forge-list-item--two-line {
82
+ @include theme.css-custom-property(min-height, --forge-list-item-min-height, variables.$dense-two-line-height);
83
+ }
84
+
85
+ &.forge-list-item--three-line {
86
+ @include theme.css-custom-property(min-height, --forge-list-item-min-height, variables.$dense-three-line-height);
87
+ }
80
88
  }
81
89
 
82
90
  &--wrap {
83
- @include theme.css-custom-property(min-height, --forge-list-item-min-height, variables.$single-line-height);
84
91
  @include theme.css-custom-property(height, --forge-list-item-height, auto);
85
92
 
86
93
  ::slotted([slot=title]),
@@ -348,14 +355,17 @@
348
355
  }
349
356
 
350
357
  @mixin two-line() {
358
+ @include theme.css-custom-property(min-height, --forge-list-item-min-height, variables.$two-line-height);
351
359
  @include theme.css-custom-property(height, --forge-list-item-height, variables.$two-line-height);
352
360
  }
353
361
 
354
362
  @mixin three-line() {
363
+ @include theme.css-custom-property(min-height, --forge-list-item-min-height, variables.$three-line-height);
355
364
  @include theme.css-custom-property(height, --forge-list-item-height, variables.$three-line-height);
356
365
  }
357
366
 
358
367
  @mixin dense() {
368
+ @include theme.css-custom-property(min-height, --forge-list-item-min-height, variables.$dense-single-line-height);
359
369
  @include theme.css-custom-property(height, --forge-list-item-height, variables.$dense-height);
360
370
  }
361
371
 
@@ -12,6 +12,15 @@ $drawer-inline-padding: #{math.div($inline-padding, 2)};
12
12
  /// The default height for a single line list item.
13
13
  $single-line-height: #{48px - $block-padding * 2} !default;
14
14
 
15
+ /// The default height for a single line list item.
16
+ $dense-single-line-height: #{32px - $block-padding * 2} !default;
17
+
18
+ /// The default height for a two line list item.
19
+ $dense-two-line-height: #{56px - $block-padding * 2} !default;
20
+
21
+ /// The default height for a three line list item.
22
+ $dense-three-line-height: #{72px - $block-padding * 2} !default;
23
+
15
24
  /// The default min-height for a single line list item in a drawer context.
16
25
  $drawer-single-line-height: 40px !default;
17
26
 
@@ -45,9 +45,10 @@ $_active-track-end-clip: calc($_active-track-end-offset + $_active-track-max-cli
45
45
  --_inactive-track-color: #{tokens.get(inactive-track-color)};
46
46
  --_inactive-track-height: #{tokens.get(inactive-track-height)};
47
47
  --_inactive-track-shape: #{tokens.get(inactive-track-shape)};
48
+ --_label-container-shape: #{tokens.get(label-container-shape)};
48
49
  --_label-container-color: #{tokens.get(label-container-color)};
49
50
  --_label-container-height: #{tokens.get(label-container-height)};
50
- --_label-label-text-color: #{tokens.get(label-label-text-color)};
51
+ --_label-text-color: #{tokens.get(label-text-color)};
51
52
  --_pressed-handle-color: #{tokens.get(pressed-handle-color)};
52
53
  --_state-layer-size: #{tokens.get(state-layer-size)};
53
54
  --_with-overlap-handle-outline-color: #{tokens.get(with-overlap-handle-outline-color)};
@@ -3,10 +3,11 @@
3
3
  * Copyright 2023 Tyler Technologies, Inc.
4
4
  * License: Apache-2.0
5
5
  */
6
- @use '../core/styles/tokens/utils';
6
+ @use '../core/styles/utils';
7
7
  @use '../core/styles/tokens/slider/tokens';
8
8
  @use '../core/styles/elevation';
9
- @use '../typography';
9
+ @use '../core/styles/typography';
10
+ @use '../core/styles/animation';
10
11
 
11
12
  @mixin provide-theme($theme) {
12
13
  @include utils.provide(tokens.$tokens, $theme, slider);
@@ -204,22 +205,22 @@ $_active-track-end-clip: calc($_active-track-end-offset + $_active-track-max-cli
204
205
  }
205
206
 
206
207
  @mixin handle-label {
207
- @include typography.typography(caption);
208
+ @include typography.style(label, [color font-weight]);
208
209
 
209
210
  position: absolute;
210
211
  box-sizing: border-box;
211
212
  display: grid;
212
213
  padding: 4px;
213
214
  place-items: center;
214
- border-radius: 9999px;
215
- color: var(--_label-label-text-color);
215
+ border-radius: var(--_label-container-shape);
216
+ color: var(--_label-text-color);
216
217
  font-weight: 500;
217
218
  white-space: nowrap;
218
219
  inset-block-end: 100%;
219
220
  min-inline-size: var(--_label-container-height);
220
221
  min-block-size: var(--_label-container-height);
221
222
  background: var(--_label-container-color);
222
- transition: transform 100ms cubic-bezier(0.2, 0, 0, 1);
223
+ transition: transform animation.variable(duration-short2) animation.variable(easing-standard);
223
224
  transform-origin: center bottom;
224
225
  transform: scale(0);
225
226
  }
@@ -3,7 +3,7 @@
3
3
  * Copyright 2023 Tyler Technologies, Inc.
4
4
  * License: Apache-2.0
5
5
  */
6
- @use '../core/styles/tokens/utils';
6
+ @use '../core/styles/utils';
7
7
  @use '../core/styles/tokens/state-layer/tokens';
8
8
  @use './configuration';
9
9
 
@@ -394,7 +394,7 @@
394
394
  @mixin head-cell-text-sorted() {
395
395
  @include mdc-theme.property(color, text-primary-on-background);
396
396
 
397
- font-weight: 600 !important;
397
+ font-weight: 700 !important;
398
398
  }
399
399
 
400
400
  /// Creates styles for the sort icon within the table head cells.
@@ -407,7 +407,7 @@
407
407
  margin-left: 5px;
408
408
  transition: transform 250ms;
409
409
  display: none !important;
410
- font-weight: 600;
410
+ font-weight: 700;
411
411
  }
412
412
 
413
413
  /// The active sort icon styles.
@@ -3,9 +3,10 @@
3
3
  * Copyright 2023 Tyler Technologies, Inc.
4
4
  * License: Apache-2.0
5
5
  */
6
- @use '../../core/styles/tokens/utils';
6
+ @use '../../core/styles/utils';
7
7
  @use '../../core/styles/tokens/tabs/tab/tokens';
8
- @use '../../typography';
8
+ @use '../../core/styles/typography';
9
+ @use '../../core/styles/spacing';
9
10
 
10
11
  @mixin provide-theme($theme) {
11
12
  @include utils.provide(tokens.$tokens, $theme, tab);
@@ -24,7 +25,7 @@
24
25
  }
25
26
 
26
27
  @mixin tab {
27
- @include typography.typography(button);
28
+ @include typography.style(button);
28
29
 
29
30
  display: inline-flex;
30
31
  align-items: center;
@@ -123,11 +124,11 @@
123
124
  white-space: nowrap;
124
125
  transition: 150ms color linear;
125
126
 
126
- $_content-padding: 8px;
127
+ $_content-padding: spacing.variable('100');
127
128
  max-height: calc(var(--_content-height) + 2 * $_content-padding);
128
129
  min-height: var(--_content-height);
129
130
  padding: $_content-padding calc(2 * $_content-padding);
130
- gap: 4px;
131
+ gap: spacing.variable('050');
131
132
  }
132
133
 
133
134
  @mixin label {
@@ -63,6 +63,14 @@
63
63
  }
64
64
  }
65
65
 
66
+ :host([selected]:not([vertical])) {
67
+ forge-focus-indicator {
68
+ @include focus-indicator.provide-theme((
69
+ offset-block: 0 calc(var(--_active-indicator-height) + 1px)
70
+ ));
71
+ }
72
+ }
73
+
66
74
  :host([selected]:focus) {
67
75
  .forge-tab {
68
76
  @include core.selected-focus;
@@ -111,6 +119,12 @@
111
119
  @include core.vertical-indicator;
112
120
  }
113
121
  }
122
+
123
+ forge-focus-indicator {
124
+ @include focus-indicator.provide-theme((
125
+ offset-inline: 0 calc(var(--_active-indicator-height) + 1px)
126
+ ));
127
+ }
114
128
  }
115
129
 
116
130
  :host([vertical][secondary]) {
@@ -3,7 +3,7 @@
3
3
  * Copyright 2023 Tyler Technologies, Inc.
4
4
  * License: Apache-2.0
5
5
  */
6
- @use '../../core/styles/tokens/utils';
6
+ @use '../../core/styles/utils';
7
7
  @use '../../core/styles/tokens/tabs/tab-bar/tokens';
8
8
 
9
9
  @mixin provide-theme($theme) {
@@ -3,11 +3,6 @@
3
3
  * Copyright 2023 Tyler Technologies, Inc.
4
4
  * License: Apache-2.0
5
5
  */
6
- $shapes: (
7
- small: 4px,
8
- medium: 8px,
9
- large: 0,
10
- round: 50%
11
- );
12
-
6
+ @use './mixins';
13
7
 
8
+ @include mixins.core-styles;
@@ -3,7 +3,15 @@
3
3
  * Copyright 2023 Tyler Technologies, Inc.
4
4
  * License: Apache-2.0
5
5
  */
6
- @use '../theme';
7
- @use './mixins';
6
+ @use '../core/styles/typography';
8
7
 
9
- @include mixins.core-styles;
8
+ // TODO: remove when Forge has been fully converted to use the 3.0 typography system
9
+ @use './forge-typography-legacy';
10
+
11
+ /// Apply base typography styles to the body element by default
12
+ body {
13
+ @include typography.base;
14
+ }
15
+
16
+ /// Create helper classes for each Forge typography style/role
17
+ @include typography.classes;
@@ -10,7 +10,7 @@
10
10
  width: 100%;
11
11
  }
12
12
 
13
- @mixin body-base() {
13
+ @mixin body-base {
14
14
  @include mdc-theme.property(background-color, background);
15
15
 
16
16
  margin: 0;