@workday/canvas-kit-react 16.0.0-alpha.0499-next.0 → 16.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (325) hide show
  1. package/common/lib/CanvasProvider.tsx +156 -324
  2. package/common/lib/theming/README.md +49 -6
  3. package/common/lib/theming/brandScope.ts +566 -0
  4. package/common/lib/theming/index.ts +1 -0
  5. package/common/lib/theming/sanaTheme.ts +133 -0
  6. package/common/lib/theming/types.ts +292 -0
  7. package/dist/commonjs/action-bar/lib/ActionBarList.js +1 -1
  8. package/dist/commonjs/action-bar/lib/ActionBarOverflowButton.js +1 -1
  9. package/dist/commonjs/avatar/lib/Avatar.js +13 -13
  10. package/dist/commonjs/avatar/lib/AvatarImage.js +1 -1
  11. package/dist/commonjs/avatar/lib/AvatarName.js +1 -1
  12. package/dist/commonjs/avatar/lib/BaseAvatar.js +14 -14
  13. package/dist/commonjs/badge/lib/CountBadge.js +6 -6
  14. package/dist/commonjs/banner/lib/Banner.js +5 -5
  15. package/dist/commonjs/banner/lib/BannerActionText.js +2 -2
  16. package/dist/commonjs/banner/lib/BannerIcon.js +1 -1
  17. package/dist/commonjs/banner/lib/BannerLabel.js +1 -1
  18. package/dist/commonjs/breadcrumbs/lib/BreadcrumbsCurrentItem.js +1 -1
  19. package/dist/commonjs/breadcrumbs/lib/BreadcrumbsItem.js +1 -1
  20. package/dist/commonjs/breadcrumbs/lib/BreadcrumbsLink.js +1 -1
  21. package/dist/commonjs/breadcrumbs/lib/BreadcrumbsList.js +1 -1
  22. package/dist/commonjs/breadcrumbs/lib/BreadcrumbsMenu.js +2 -2
  23. package/dist/commonjs/breadcrumbs/lib/BreadcrumbsOverflowButton.js +1 -1
  24. package/dist/commonjs/button/lib/BaseButton.js +21 -21
  25. package/dist/commonjs/button/lib/DeleteButton.js +2 -2
  26. package/dist/commonjs/button/lib/ExternalHyperlink.js +1 -1
  27. package/dist/commonjs/button/lib/Hyperlink.js +5 -5
  28. package/dist/commonjs/button/lib/PrimaryButton.js +2 -2
  29. package/dist/commonjs/button/lib/SecondaryButton.js +2 -2
  30. package/dist/commonjs/button/lib/TertiaryButton.js +14 -14
  31. package/dist/commonjs/button/lib/ToolbarDropdownButton.js +3 -3
  32. package/dist/commonjs/button/lib/ToolbarIconButton.js +1 -1
  33. package/dist/commonjs/button/lib/parts/ButtonLabel.js +1 -1
  34. package/dist/commonjs/button/lib/parts/ButtonLabelIcon.js +5 -5
  35. package/dist/commonjs/card/lib/Card.js +3 -3
  36. package/dist/commonjs/card/lib/CardBody.js +1 -1
  37. package/dist/commonjs/card/lib/CardHeading.js +1 -1
  38. package/dist/commonjs/checkbox/lib/CheckBackground.js +6 -6
  39. package/dist/commonjs/checkbox/lib/CheckboxCheck.js +6 -6
  40. package/dist/commonjs/checkbox/lib/CheckboxContainer.js +2 -2
  41. package/dist/commonjs/checkbox/lib/CheckboxInput.js +5 -5
  42. package/dist/commonjs/checkbox/lib/CheckboxRipple.js +1 -1
  43. package/dist/commonjs/collection/lib/ListBox.js +3 -3
  44. package/dist/commonjs/color-picker/lib/ColorInput.js +3 -3
  45. package/dist/commonjs/color-picker/lib/ColorPreview.js +1 -1
  46. package/dist/commonjs/color-picker/lib/parts/ColorSwatch.js +2 -2
  47. package/dist/commonjs/combobox/lib/ComboboxMenuList.js +1 -1
  48. package/dist/commonjs/common/lib/AccessibleHide.js +1 -1
  49. package/dist/commonjs/common/lib/CanvasProvider.d.ts +296 -5
  50. package/dist/commonjs/common/lib/CanvasProvider.d.ts.map +1 -1
  51. package/dist/commonjs/common/lib/CanvasProvider.js +105 -287
  52. package/dist/commonjs/common/lib/EllipsisText.js +1 -1
  53. package/dist/commonjs/common/lib/styles/cornerShape.js +1 -1
  54. package/dist/commonjs/common/lib/theming/brandScope.d.ts +64 -0
  55. package/dist/commonjs/common/lib/theming/brandScope.d.ts.map +1 -0
  56. package/dist/commonjs/common/lib/theming/brandScope.js +499 -0
  57. package/dist/commonjs/common/lib/theming/index.d.ts +1 -0
  58. package/dist/commonjs/common/lib/theming/index.d.ts.map +1 -1
  59. package/dist/commonjs/common/lib/theming/index.js +1 -0
  60. package/dist/commonjs/common/lib/theming/sanaTheme.d.ts +33 -0
  61. package/dist/commonjs/common/lib/theming/sanaTheme.d.ts.map +1 -0
  62. package/dist/commonjs/common/lib/theming/sanaTheme.js +130 -0
  63. package/dist/commonjs/common/lib/theming/types.d.ts +162 -0
  64. package/dist/commonjs/common/lib/theming/types.d.ts.map +1 -1
  65. package/dist/commonjs/common/lib/theming/types.js +81 -1
  66. package/dist/commonjs/expandable/lib/Expandable.js +1 -1
  67. package/dist/commonjs/expandable/lib/ExpandableAvatar.js +1 -1
  68. package/dist/commonjs/expandable/lib/ExpandableContent.js +1 -1
  69. package/dist/commonjs/expandable/lib/ExpandableIcon.js +10 -10
  70. package/dist/commonjs/expandable/lib/ExpandableTarget.js +1 -1
  71. package/dist/commonjs/expandable/lib/ExpandableTitle.js +1 -1
  72. package/dist/commonjs/form-field/lib/FormFieldField.js +1 -1
  73. package/dist/commonjs/form-field/lib/FormFieldGroupLabel.js +5 -5
  74. package/dist/commonjs/form-field/lib/FormFieldGroupList.js +3 -3
  75. package/dist/commonjs/form-field/lib/FormFieldHint.js +3 -3
  76. package/dist/commonjs/form-field/lib/FormFieldLabel.js +6 -6
  77. package/dist/commonjs/form-field/lib/formFieldStencil.js +8 -8
  78. package/dist/commonjs/icon/lib/AccentIcon.js +2 -2
  79. package/dist/commonjs/icon/lib/AppletIcon.js +1 -1
  80. package/dist/commonjs/icon/lib/ExpressiveIcon.js +1 -1
  81. package/dist/commonjs/icon/lib/Graphic.js +4 -4
  82. package/dist/commonjs/icon/lib/Svg.js +3 -3
  83. package/dist/commonjs/icon/lib/SystemIcon.js +1 -1
  84. package/dist/commonjs/icon/lib/SystemIconCircle.js +2 -2
  85. package/dist/commonjs/information-highlight/lib/InformationHighlight.js +9 -9
  86. package/dist/commonjs/information-highlight/lib/parts/Body.js +3 -3
  87. package/dist/commonjs/information-highlight/lib/parts/Heading.js +3 -3
  88. package/dist/commonjs/information-highlight/lib/parts/Link.js +3 -3
  89. package/dist/commonjs/loading-dots/lib/LoadingDots.js +3 -3
  90. package/dist/commonjs/menu/lib/MenuCard.js +1 -1
  91. package/dist/commonjs/menu/lib/MenuDivider.js +1 -1
  92. package/dist/commonjs/menu/lib/MenuGroup.js +1 -1
  93. package/dist/commonjs/menu/lib/MenuItem.js +1 -1
  94. package/dist/commonjs/menu/lib/MenuList.js +3 -3
  95. package/dist/commonjs/modal/lib/ModalBody.js +1 -1
  96. package/dist/commonjs/modal/lib/ModalCard.js +1 -1
  97. package/dist/commonjs/modal/lib/ModalHeading.js +1 -1
  98. package/dist/commonjs/modal/lib/ModalOverflowOverlay.js +1 -1
  99. package/dist/commonjs/modal/lib/ModalOverlay.js +2 -2
  100. package/dist/commonjs/pagination/lib/Pagination/AdditionalDetails.js +2 -2
  101. package/dist/commonjs/pagination/lib/Pagination/Controls.js +2 -2
  102. package/dist/commonjs/pagination/lib/Pagination/GoTo/Form.js +1 -1
  103. package/dist/commonjs/pagination/lib/Pagination/GoTo/Label.js +1 -1
  104. package/dist/commonjs/pagination/lib/Pagination/GoTo/TextInput.js +1 -1
  105. package/dist/commonjs/pagination/lib/Pagination/Nav.js +1 -1
  106. package/dist/commonjs/pagination/lib/Pagination/PageButton.js +2 -2
  107. package/dist/commonjs/pagination/lib/Pagination/PageList.js +1 -1
  108. package/dist/commonjs/pagination/lib/Pagination/Pagination.js +1 -1
  109. package/dist/commonjs/pagination/lib/Pagination/common/List.js +2 -2
  110. package/dist/commonjs/pill/lib/Pill.d.ts +2 -2
  111. package/dist/commonjs/pill/lib/Pill.js +3 -3
  112. package/dist/commonjs/pill/lib/PillAvatar.js +1 -1
  113. package/dist/commonjs/pill/lib/PillCount.js +1 -1
  114. package/dist/commonjs/pill/lib/PillIcon.js +1 -1
  115. package/dist/commonjs/pill/lib/PillIconButton.js +1 -1
  116. package/dist/commonjs/pill/lib/PillLabel.js +1 -1
  117. package/dist/commonjs/popup/lib/PopupBody.js +1 -1
  118. package/dist/commonjs/popup/lib/PopupButtonGroup.js +5 -5
  119. package/dist/commonjs/popup/lib/PopupCard.js +2 -2
  120. package/dist/commonjs/popup/lib/PopupCloseIcon.js +1 -1
  121. package/dist/commonjs/popup/lib/PopupHeading.js +1 -1
  122. package/dist/commonjs/popup/lib/hooks/useDisableBodyScroll.js +1 -1
  123. package/dist/commonjs/popup/lib/hooks/usePopupStack.d.ts.map +1 -1
  124. package/dist/commonjs/popup/lib/hooks/usePopupStack.js +18 -16
  125. package/dist/commonjs/segmented-control/lib/SegmentedControlItem.js +16 -16
  126. package/dist/commonjs/segmented-control/lib/SegmentedControlList.js +6 -6
  127. package/dist/commonjs/select/lib/SelectCard.js +1 -1
  128. package/dist/commonjs/select/lib/SelectInput.js +3 -3
  129. package/dist/commonjs/side-panel/lib/SidePanel.js +8 -8
  130. package/dist/commonjs/side-panel/lib/SidePanelHeading.js +3 -3
  131. package/dist/commonjs/side-panel/lib/SidePanelToggleButton.js +7 -7
  132. package/dist/commonjs/skeleton/lib/Skeleton.js +2 -2
  133. package/dist/commonjs/skeleton/lib/parts/SkeletonHeader.js +1 -1
  134. package/dist/commonjs/skeleton/lib/parts/SkeletonShape.js +2 -2
  135. package/dist/commonjs/skeleton/lib/parts/SkeletonText.js +2 -2
  136. package/dist/commonjs/switch/lib/Switch.js +7 -7
  137. package/dist/commonjs/table/lib/BaseTable.js +1 -1
  138. package/dist/commonjs/table/lib/Table.js +7 -7
  139. package/dist/commonjs/table/lib/parts/BaseTableBody.js +1 -1
  140. package/dist/commonjs/table/lib/parts/BaseTableCaption.js +1 -1
  141. package/dist/commonjs/table/lib/parts/BaseTableCell.js +1 -1
  142. package/dist/commonjs/table/lib/parts/BaseTableHead.js +1 -1
  143. package/dist/commonjs/table/lib/parts/BaseTableHeader.js +1 -1
  144. package/dist/commonjs/table/lib/parts/css-grid-table/TableRow.js +1 -1
  145. package/dist/commonjs/tabs/lib/TabsItem.js +1 -1
  146. package/dist/commonjs/tabs/lib/TabsList.js +8 -8
  147. package/dist/commonjs/tabs/lib/TabsOverflowButton.js +1 -1
  148. package/dist/commonjs/testing/lib/ComponentStatesTable.js +1 -1
  149. package/dist/commonjs/testing/lib/StaticStates.d.ts +2 -2
  150. package/dist/commonjs/testing/lib/StaticStates.d.ts.map +1 -1
  151. package/dist/commonjs/testing/lib/StaticStates.js +5 -2
  152. package/dist/commonjs/text/lib/LabelText.js +6 -6
  153. package/dist/commonjs/text/lib/Text.js +16 -16
  154. package/dist/commonjs/text/lib/TypeLevelComponents.js +4 -4
  155. package/dist/commonjs/text-area/lib/TextArea.js +5 -5
  156. package/dist/commonjs/text-input/lib/InputGroup.js +7 -7
  157. package/dist/commonjs/text-input/lib/TextInput.js +5 -5
  158. package/dist/commonjs/toast/lib/Toast.js +1 -1
  159. package/dist/commonjs/toast/lib/ToastBody.js +1 -1
  160. package/dist/commonjs/toast/lib/ToastCloseIcon.js +1 -1
  161. package/dist/commonjs/toast/lib/ToastIcon.js +1 -1
  162. package/dist/commonjs/toast/lib/ToastMessage.js +1 -1
  163. package/dist/commonjs/tooltip/lib/TooltipContainer.js +4 -4
  164. package/dist/commonjs/version/lib/version.js +1 -1
  165. package/dist/es6/action-bar/lib/ActionBarList.js +1 -1
  166. package/dist/es6/action-bar/lib/ActionBarOverflowButton.js +1 -1
  167. package/dist/es6/avatar/lib/Avatar.js +13 -13
  168. package/dist/es6/avatar/lib/AvatarImage.js +1 -1
  169. package/dist/es6/avatar/lib/AvatarName.js +1 -1
  170. package/dist/es6/avatar/lib/BaseAvatar.js +14 -14
  171. package/dist/es6/badge/lib/CountBadge.js +6 -6
  172. package/dist/es6/banner/lib/Banner.js +5 -5
  173. package/dist/es6/banner/lib/BannerActionText.js +2 -2
  174. package/dist/es6/banner/lib/BannerIcon.js +1 -1
  175. package/dist/es6/banner/lib/BannerLabel.js +1 -1
  176. package/dist/es6/breadcrumbs/lib/BreadcrumbsCurrentItem.js +1 -1
  177. package/dist/es6/breadcrumbs/lib/BreadcrumbsItem.js +1 -1
  178. package/dist/es6/breadcrumbs/lib/BreadcrumbsLink.js +1 -1
  179. package/dist/es6/breadcrumbs/lib/BreadcrumbsList.js +1 -1
  180. package/dist/es6/breadcrumbs/lib/BreadcrumbsMenu.js +2 -2
  181. package/dist/es6/breadcrumbs/lib/BreadcrumbsOverflowButton.js +1 -1
  182. package/dist/es6/button/lib/BaseButton.js +21 -21
  183. package/dist/es6/button/lib/DeleteButton.js +2 -2
  184. package/dist/es6/button/lib/ExternalHyperlink.js +1 -1
  185. package/dist/es6/button/lib/Hyperlink.js +5 -5
  186. package/dist/es6/button/lib/PrimaryButton.js +2 -2
  187. package/dist/es6/button/lib/SecondaryButton.js +2 -2
  188. package/dist/es6/button/lib/TertiaryButton.js +14 -14
  189. package/dist/es6/button/lib/ToolbarDropdownButton.js +3 -3
  190. package/dist/es6/button/lib/ToolbarIconButton.js +1 -1
  191. package/dist/es6/button/lib/parts/ButtonLabel.js +1 -1
  192. package/dist/es6/button/lib/parts/ButtonLabelIcon.js +5 -5
  193. package/dist/es6/card/lib/Card.js +3 -3
  194. package/dist/es6/card/lib/CardBody.js +1 -1
  195. package/dist/es6/card/lib/CardHeading.js +1 -1
  196. package/dist/es6/checkbox/lib/CheckBackground.js +6 -6
  197. package/dist/es6/checkbox/lib/CheckboxCheck.js +6 -6
  198. package/dist/es6/checkbox/lib/CheckboxContainer.js +2 -2
  199. package/dist/es6/checkbox/lib/CheckboxInput.js +5 -5
  200. package/dist/es6/checkbox/lib/CheckboxRipple.js +1 -1
  201. package/dist/es6/collection/lib/ListBox.js +3 -3
  202. package/dist/es6/color-picker/lib/ColorInput.js +3 -3
  203. package/dist/es6/color-picker/lib/ColorPreview.js +1 -1
  204. package/dist/es6/color-picker/lib/parts/ColorSwatch.js +2 -2
  205. package/dist/es6/combobox/lib/ComboboxMenuList.js +1 -1
  206. package/dist/es6/common/lib/AccessibleHide.js +1 -1
  207. package/dist/es6/common/lib/CanvasProvider.d.ts +296 -5
  208. package/dist/es6/common/lib/CanvasProvider.d.ts.map +1 -1
  209. package/dist/es6/common/lib/CanvasProvider.js +82 -288
  210. package/dist/es6/common/lib/EllipsisText.js +1 -1
  211. package/dist/es6/common/lib/styles/cornerShape.js +1 -1
  212. package/dist/es6/common/lib/theming/brandScope.d.ts +64 -0
  213. package/dist/es6/common/lib/theming/brandScope.d.ts.map +1 -0
  214. package/dist/es6/common/lib/theming/brandScope.js +483 -0
  215. package/dist/es6/common/lib/theming/index.d.ts +1 -0
  216. package/dist/es6/common/lib/theming/index.d.ts.map +1 -1
  217. package/dist/es6/common/lib/theming/index.js +1 -0
  218. package/dist/es6/common/lib/theming/sanaTheme.d.ts +33 -0
  219. package/dist/es6/common/lib/theming/sanaTheme.d.ts.map +1 -0
  220. package/dist/es6/common/lib/theming/sanaTheme.js +127 -0
  221. package/dist/es6/common/lib/theming/types.d.ts +162 -0
  222. package/dist/es6/common/lib/theming/types.d.ts.map +1 -1
  223. package/dist/es6/common/lib/theming/types.js +78 -0
  224. package/dist/es6/expandable/lib/Expandable.js +1 -1
  225. package/dist/es6/expandable/lib/ExpandableAvatar.js +1 -1
  226. package/dist/es6/expandable/lib/ExpandableContent.js +1 -1
  227. package/dist/es6/expandable/lib/ExpandableIcon.js +10 -10
  228. package/dist/es6/expandable/lib/ExpandableTarget.js +1 -1
  229. package/dist/es6/expandable/lib/ExpandableTitle.js +1 -1
  230. package/dist/es6/form-field/lib/FormFieldField.js +1 -1
  231. package/dist/es6/form-field/lib/FormFieldGroupLabel.js +5 -5
  232. package/dist/es6/form-field/lib/FormFieldGroupList.js +3 -3
  233. package/dist/es6/form-field/lib/FormFieldHint.js +3 -3
  234. package/dist/es6/form-field/lib/FormFieldLabel.js +6 -6
  235. package/dist/es6/form-field/lib/formFieldStencil.js +8 -8
  236. package/dist/es6/icon/lib/AccentIcon.js +2 -2
  237. package/dist/es6/icon/lib/AppletIcon.js +1 -1
  238. package/dist/es6/icon/lib/ExpressiveIcon.js +1 -1
  239. package/dist/es6/icon/lib/Graphic.js +4 -4
  240. package/dist/es6/icon/lib/Svg.js +3 -3
  241. package/dist/es6/icon/lib/SystemIcon.js +1 -1
  242. package/dist/es6/icon/lib/SystemIconCircle.js +2 -2
  243. package/dist/es6/information-highlight/lib/InformationHighlight.js +9 -9
  244. package/dist/es6/information-highlight/lib/parts/Body.js +3 -3
  245. package/dist/es6/information-highlight/lib/parts/Heading.js +3 -3
  246. package/dist/es6/information-highlight/lib/parts/Link.js +3 -3
  247. package/dist/es6/loading-dots/lib/LoadingDots.js +3 -3
  248. package/dist/es6/menu/lib/MenuCard.js +1 -1
  249. package/dist/es6/menu/lib/MenuDivider.js +1 -1
  250. package/dist/es6/menu/lib/MenuGroup.js +1 -1
  251. package/dist/es6/menu/lib/MenuItem.js +1 -1
  252. package/dist/es6/menu/lib/MenuList.js +3 -3
  253. package/dist/es6/modal/lib/ModalBody.js +1 -1
  254. package/dist/es6/modal/lib/ModalCard.js +1 -1
  255. package/dist/es6/modal/lib/ModalHeading.js +1 -1
  256. package/dist/es6/modal/lib/ModalOverflowOverlay.js +1 -1
  257. package/dist/es6/modal/lib/ModalOverlay.js +2 -2
  258. package/dist/es6/pagination/lib/Pagination/AdditionalDetails.js +2 -2
  259. package/dist/es6/pagination/lib/Pagination/Controls.js +2 -2
  260. package/dist/es6/pagination/lib/Pagination/GoTo/Form.js +1 -1
  261. package/dist/es6/pagination/lib/Pagination/GoTo/Label.js +1 -1
  262. package/dist/es6/pagination/lib/Pagination/GoTo/TextInput.js +1 -1
  263. package/dist/es6/pagination/lib/Pagination/Nav.js +1 -1
  264. package/dist/es6/pagination/lib/Pagination/PageButton.js +2 -2
  265. package/dist/es6/pagination/lib/Pagination/PageList.js +1 -1
  266. package/dist/es6/pagination/lib/Pagination/Pagination.js +1 -1
  267. package/dist/es6/pagination/lib/Pagination/common/List.js +2 -2
  268. package/dist/es6/pill/lib/Pill.d.ts +2 -2
  269. package/dist/es6/pill/lib/Pill.js +3 -3
  270. package/dist/es6/pill/lib/PillAvatar.js +1 -1
  271. package/dist/es6/pill/lib/PillCount.js +1 -1
  272. package/dist/es6/pill/lib/PillIcon.js +1 -1
  273. package/dist/es6/pill/lib/PillIconButton.js +1 -1
  274. package/dist/es6/pill/lib/PillLabel.js +1 -1
  275. package/dist/es6/popup/lib/PopupBody.js +1 -1
  276. package/dist/es6/popup/lib/PopupButtonGroup.js +5 -5
  277. package/dist/es6/popup/lib/PopupCard.js +2 -2
  278. package/dist/es6/popup/lib/PopupCloseIcon.js +1 -1
  279. package/dist/es6/popup/lib/PopupHeading.js +1 -1
  280. package/dist/es6/popup/lib/hooks/useDisableBodyScroll.js +1 -1
  281. package/dist/es6/popup/lib/hooks/usePopupStack.d.ts.map +1 -1
  282. package/dist/es6/popup/lib/hooks/usePopupStack.js +13 -11
  283. package/dist/es6/segmented-control/lib/SegmentedControlItem.js +16 -16
  284. package/dist/es6/segmented-control/lib/SegmentedControlList.js +6 -6
  285. package/dist/es6/select/lib/SelectCard.js +1 -1
  286. package/dist/es6/select/lib/SelectInput.js +3 -3
  287. package/dist/es6/side-panel/lib/SidePanel.js +8 -8
  288. package/dist/es6/side-panel/lib/SidePanelHeading.js +3 -3
  289. package/dist/es6/side-panel/lib/SidePanelToggleButton.js +7 -7
  290. package/dist/es6/skeleton/lib/Skeleton.js +2 -2
  291. package/dist/es6/skeleton/lib/parts/SkeletonHeader.js +1 -1
  292. package/dist/es6/skeleton/lib/parts/SkeletonShape.js +2 -2
  293. package/dist/es6/skeleton/lib/parts/SkeletonText.js +2 -2
  294. package/dist/es6/switch/lib/Switch.js +7 -7
  295. package/dist/es6/table/lib/BaseTable.js +1 -1
  296. package/dist/es6/table/lib/Table.js +7 -7
  297. package/dist/es6/table/lib/parts/BaseTableBody.js +1 -1
  298. package/dist/es6/table/lib/parts/BaseTableCaption.js +1 -1
  299. package/dist/es6/table/lib/parts/BaseTableCell.js +1 -1
  300. package/dist/es6/table/lib/parts/BaseTableHead.js +1 -1
  301. package/dist/es6/table/lib/parts/BaseTableHeader.js +1 -1
  302. package/dist/es6/table/lib/parts/css-grid-table/TableRow.js +1 -1
  303. package/dist/es6/tabs/lib/TabsItem.js +1 -1
  304. package/dist/es6/tabs/lib/TabsList.js +8 -8
  305. package/dist/es6/tabs/lib/TabsOverflowButton.js +1 -1
  306. package/dist/es6/testing/lib/ComponentStatesTable.js +1 -1
  307. package/dist/es6/testing/lib/StaticStates.d.ts +2 -2
  308. package/dist/es6/testing/lib/StaticStates.d.ts.map +1 -1
  309. package/dist/es6/testing/lib/StaticStates.js +6 -3
  310. package/dist/es6/text/lib/LabelText.js +6 -6
  311. package/dist/es6/text/lib/Text.js +16 -16
  312. package/dist/es6/text/lib/TypeLevelComponents.js +4 -4
  313. package/dist/es6/text-area/lib/TextArea.js +5 -5
  314. package/dist/es6/text-input/lib/InputGroup.js +7 -7
  315. package/dist/es6/text-input/lib/TextInput.js +5 -5
  316. package/dist/es6/toast/lib/Toast.js +1 -1
  317. package/dist/es6/toast/lib/ToastBody.js +1 -1
  318. package/dist/es6/toast/lib/ToastCloseIcon.js +1 -1
  319. package/dist/es6/toast/lib/ToastIcon.js +1 -1
  320. package/dist/es6/toast/lib/ToastMessage.js +1 -1
  321. package/dist/es6/tooltip/lib/TooltipContainer.js +4 -4
  322. package/dist/es6/version/lib/version.js +1 -1
  323. package/package.json +4 -4
  324. package/popup/lib/hooks/usePopupStack.ts +13 -11
  325. package/testing/lib/StaticStates.tsx +11 -9
@@ -0,0 +1,499 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.writeBrandScopeSemantic = exports.writeNumericalTheme = exports.writeSemanticTheme = exports.writeSystemBrandOverrides = exports.writeIndependentBrandTokens = exports.writeSelectedShortcuts = exports.applyNeutralBrandBundle = exports.applyPositiveBrandBundle = exports.applyCautionBrandBundle = exports.applyCriticalBrandBundle = exports.applyPrimaryBrandBundle = exports.writeNumericalBrandRamp = exports.BRAND_SCOPE_INDEPENDENT = exports.BRAND_SCOPE_PRIMARY_BUNDLE = exports.hasExplicitSemanticPalette = void 0;
4
+ const canvas_kit_styling_1 = require("@workday/canvas-kit-styling");
5
+ const canvas_tokens_web_1 = require("@workday/canvas-tokens-web");
6
+ const theme_1 = require("./theme");
7
+ const types_1 = require("./types");
8
+ /** True when a semantic theme intentionally passes a non-empty `canvas.palette`. */
9
+ function hasExplicitSemanticPalette(theme) {
10
+ var _a;
11
+ return (!(0, types_1.isNumericalTheme)(theme) &&
12
+ !!((_a = theme.canvas) === null || _a === void 0 ? void 0 : _a.palette) &&
13
+ Object.keys(theme.canvas.palette).length > 0);
14
+ }
15
+ exports.hasExplicitSemanticPalette = hasExplicitSemanticPalette;
16
+ /** Tokens that change when a consumer sets only their primary brand color. */
17
+ exports.BRAND_SCOPE_PRIMARY_BUNDLE = {
18
+ action: ['base', 'dark', 'darkest', 'accent'],
19
+ accent: ['primary', 'action'],
20
+ selected: {
21
+ fg: canvas_tokens_web_1.system.color.brand.fg.selected,
22
+ surface: canvas_tokens_web_1.system.color.brand.surface.selected,
23
+ },
24
+ };
25
+ /**
26
+ * Independently brandable tokens — writable when explicitly provided,
27
+ * but NEVER derived from primary.main / brand.primary.600.
28
+ */
29
+ exports.BRAND_SCOPE_INDEPENDENT = {
30
+ focus: {
31
+ primary: canvas_tokens_web_1.system.color.brand.focus.primary,
32
+ brandToken: canvas_tokens_web_1.brand.primary500,
33
+ semanticKey: 'focusOutline',
34
+ },
35
+ border: {
36
+ primary: canvas_tokens_web_1.system.color.brand.border.primary,
37
+ brandToken: canvas_tokens_web_1.brand.primary500,
38
+ semanticKey: 'focusOutline',
39
+ },
40
+ };
41
+ const commonTokenMapping = {
42
+ focusOutline: canvas_tokens_web_1.brand.common.focus,
43
+ alertInner: canvas_tokens_web_1.brand.common.caution.inner,
44
+ alertOuter: canvas_tokens_web_1.brand.common.caution.outer,
45
+ errorInner: canvas_tokens_web_1.brand.common.critical,
46
+ };
47
+ const brandColorMapping = {
48
+ primary: 'primary',
49
+ error: 'critical',
50
+ success: 'positive',
51
+ alert: 'caution',
52
+ neutral: 'neutral',
53
+ };
54
+ /** Brand ramp keys defined in Sana CSS but not yet exported from canvas-tokens-web. */
55
+ const EXTENDED_BRAND_TOKEN_MAP = {
56
+ neutral150: '--cnvs-brand-neutral-150',
57
+ neutral850: '--cnvs-brand-neutral-850',
58
+ neutralA150: '--cnvs-brand-neutral-a150',
59
+ };
60
+ const setStyleVar = (style, token, value) => {
61
+ // @ts-ignore - CSS custom property key
62
+ style[token] = (0, canvas_kit_styling_1.maybeWrapCSSVariables)(value);
63
+ };
64
+ /** Maps a numerical brand ramp onto `brand.<color><rampKey>` CSS variables. */
65
+ function writeNumericalBrandRamp(color, ramp, style, options) {
66
+ if (!ramp) {
67
+ return;
68
+ }
69
+ Object.keys(ramp).forEach(rampKey => {
70
+ var _a, _b;
71
+ if ((_a = options === null || options === void 0 ? void 0 : options.skipKeys) === null || _a === void 0 ? void 0 : _a.has(String(rampKey))) {
72
+ return;
73
+ }
74
+ const value = ramp[rampKey];
75
+ if (value == null) {
76
+ return;
77
+ }
78
+ const token = color === 'action'
79
+ ? canvas_tokens_web_1.brand.action[rampKey]
80
+ : // @ts-ignore - dynamic token lookup
81
+ ((_b = canvas_tokens_web_1.brand[`${color}${rampKey}`]) !== null && _b !== void 0 ? _b : EXTENDED_BRAND_TOKEN_MAP[`${color}${rampKey}`]);
82
+ if (token) {
83
+ setStyleVar(style, token, value);
84
+ }
85
+ });
86
+ }
87
+ exports.writeNumericalBrandRamp = writeNumericalBrandRamp;
88
+ /** Called when consumer sets only `primary.main` or `brand.primary['600']`. */
89
+ function applyPrimaryBrandBundle(primaryColor, style) {
90
+ const value = (0, canvas_kit_styling_1.maybeWrapCSSVariables)(primaryColor);
91
+ setStyleVar(style, canvas_tokens_web_1.brand.primary.base, value);
92
+ setStyleVar(style, canvas_tokens_web_1.brand.primary600, value);
93
+ setStyleVar(style, canvas_tokens_web_1.brand.action.base, value);
94
+ if (canvas_tokens_web_1.system.color.brand.accent.primary) {
95
+ setStyleVar(style, canvas_tokens_web_1.system.color.brand.accent.primary, value);
96
+ }
97
+ if (canvas_tokens_web_1.system.color.brand.accent.action) {
98
+ setStyleVar(style, canvas_tokens_web_1.system.color.brand.accent.action, value);
99
+ }
100
+ const selectedFg = canvas_kit_styling_1.colorSpace.pressed({
101
+ color: `var(${canvas_tokens_web_1.brand.primary600})`,
102
+ fallback: value,
103
+ colorType: 'accent',
104
+ });
105
+ const selectedSurface = canvas_kit_styling_1.colorSpace.darken({
106
+ color: canvas_tokens_web_1.system.color.bg.default,
107
+ fallback: 'white',
108
+ mixinColor: `var(${canvas_tokens_web_1.brand.primary600})`,
109
+ mixinValue: '0.11',
110
+ });
111
+ setStyleVar(style, canvas_tokens_web_1.brand.primary700, selectedFg);
112
+ setStyleVar(style, canvas_tokens_web_1.brand.primary.dark, selectedFg);
113
+ setStyleVar(style, canvas_tokens_web_1.brand.primaryA50, selectedSurface);
114
+ if (exports.BRAND_SCOPE_PRIMARY_BUNDLE.selected.fg) {
115
+ setStyleVar(style, exports.BRAND_SCOPE_PRIMARY_BUNDLE.selected.fg, selectedFg);
116
+ }
117
+ if (exports.BRAND_SCOPE_PRIMARY_BUNDLE.selected.surface) {
118
+ setStyleVar(style, exports.BRAND_SCOPE_PRIMARY_BUNDLE.selected.surface, selectedSurface);
119
+ }
120
+ const hoverColor = canvas_kit_styling_1.colorSpace.hover({
121
+ color: `var(${canvas_tokens_web_1.brand.action.base})`,
122
+ fallback: value,
123
+ colorType: 'accent',
124
+ });
125
+ const pressedColor = canvas_kit_styling_1.colorSpace.pressed({
126
+ color: `var(${canvas_tokens_web_1.brand.action.base})`,
127
+ fallback: value,
128
+ colorType: 'accent',
129
+ });
130
+ setStyleVar(style, canvas_tokens_web_1.brand.action.dark, hoverColor);
131
+ setStyleVar(style, canvas_tokens_web_1.brand.action.darkest, pressedColor);
132
+ }
133
+ exports.applyPrimaryBrandBundle = applyPrimaryBrandBundle;
134
+ /** Called when consumer sets only `error.main` or `brand.critical['600']`. */
135
+ function applyCriticalBrandBundle(criticalColor, style) {
136
+ var _a;
137
+ const value = (0, canvas_kit_styling_1.maybeWrapCSSVariables)(criticalColor);
138
+ setStyleVar(style, canvas_tokens_web_1.brand.error.base, value);
139
+ setStyleVar(style, canvas_tokens_web_1.brand.critical600, value);
140
+ setStyleVar(style, canvas_tokens_web_1.brand.critical500, value);
141
+ if (canvas_tokens_web_1.system.color.brand.accent.critical) {
142
+ setStyleVar(style, canvas_tokens_web_1.system.color.brand.accent.critical, value);
143
+ }
144
+ if ((_a = canvas_tokens_web_1.system.color.brand.fg.critical) === null || _a === void 0 ? void 0 : _a.default) {
145
+ setStyleVar(style, canvas_tokens_web_1.system.color.brand.fg.critical.default, value);
146
+ }
147
+ if (canvas_tokens_web_1.system.color.brand.border.critical) {
148
+ setStyleVar(style, canvas_tokens_web_1.system.color.brand.border.critical, value);
149
+ }
150
+ if (canvas_tokens_web_1.system.color.brand.focus.critical) {
151
+ setStyleVar(style, canvas_tokens_web_1.system.color.brand.focus.critical, value);
152
+ }
153
+ }
154
+ exports.applyCriticalBrandBundle = applyCriticalBrandBundle;
155
+ /** Called when consumer sets only `alert.main` or `brand.caution['400']`. */
156
+ function applyCautionBrandBundle(cautionColor, style) {
157
+ var _a, _b, _c;
158
+ const value = (0, canvas_kit_styling_1.maybeWrapCSSVariables)(cautionColor);
159
+ setStyleVar(style, canvas_tokens_web_1.brand.alert.base, value);
160
+ setStyleVar(style, canvas_tokens_web_1.brand.caution400, value);
161
+ setStyleVar(style, canvas_tokens_web_1.brand.caution500, value);
162
+ if (canvas_tokens_web_1.system.color.brand.accent.caution) {
163
+ setStyleVar(style, canvas_tokens_web_1.system.color.brand.accent.caution, value);
164
+ }
165
+ if ((_a = canvas_tokens_web_1.system.color.brand.fg.caution) === null || _a === void 0 ? void 0 : _a.default) {
166
+ setStyleVar(style, canvas_tokens_web_1.system.color.brand.fg.caution.default, value);
167
+ }
168
+ if (canvas_tokens_web_1.system.color.brand.border.caution) {
169
+ setStyleVar(style, canvas_tokens_web_1.system.color.brand.border.caution, value);
170
+ }
171
+ if ((_b = canvas_tokens_web_1.system.color.brand.focus.caution) === null || _b === void 0 ? void 0 : _b.inner) {
172
+ setStyleVar(style, canvas_tokens_web_1.system.color.brand.focus.caution.inner, value);
173
+ }
174
+ if ((_c = canvas_tokens_web_1.system.color.brand.focus.caution) === null || _c === void 0 ? void 0 : _c.outer) {
175
+ setStyleVar(style, canvas_tokens_web_1.system.color.brand.focus.caution.outer, value);
176
+ }
177
+ }
178
+ exports.applyCautionBrandBundle = applyCautionBrandBundle;
179
+ /** Called when consumer sets only `success.main` or `brand.positive['600']`. */
180
+ function applyPositiveBrandBundle(positiveColor, style) {
181
+ var _a;
182
+ const value = (0, canvas_kit_styling_1.maybeWrapCSSVariables)(positiveColor);
183
+ setStyleVar(style, canvas_tokens_web_1.brand.success.base, value);
184
+ setStyleVar(style, canvas_tokens_web_1.brand.positive600, value);
185
+ if (canvas_tokens_web_1.system.color.brand.accent.positive) {
186
+ setStyleVar(style, canvas_tokens_web_1.system.color.brand.accent.positive, value);
187
+ }
188
+ if ((_a = canvas_tokens_web_1.system.color.brand.fg.positive) === null || _a === void 0 ? void 0 : _a.default) {
189
+ setStyleVar(style, canvas_tokens_web_1.system.color.brand.fg.positive.default, value);
190
+ }
191
+ }
192
+ exports.applyPositiveBrandBundle = applyPositiveBrandBundle;
193
+ /** Called when consumer sets only `neutral.main` or `brand.neutral['600']`. */
194
+ function applyNeutralBrandBundle(neutralColor, style) {
195
+ const value = (0, canvas_kit_styling_1.maybeWrapCSSVariables)(neutralColor);
196
+ setStyleVar(style, canvas_tokens_web_1.brand.neutral.base, value);
197
+ setStyleVar(style, canvas_tokens_web_1.brand.neutral600, value);
198
+ }
199
+ exports.applyNeutralBrandBundle = applyNeutralBrandBundle;
200
+ /** Writes first-class selected shortcuts from numerical theme input. */
201
+ function writeSelectedShortcuts(selected, style) {
202
+ if (!selected) {
203
+ return;
204
+ }
205
+ if (selected.fg && exports.BRAND_SCOPE_PRIMARY_BUNDLE.selected.fg) {
206
+ setStyleVar(style, exports.BRAND_SCOPE_PRIMARY_BUNDLE.selected.fg, selected.fg);
207
+ }
208
+ if (selected.surface && exports.BRAND_SCOPE_PRIMARY_BUNDLE.selected.surface) {
209
+ setStyleVar(style, exports.BRAND_SCOPE_PRIMARY_BUNDLE.selected.surface, selected.surface);
210
+ }
211
+ }
212
+ exports.writeSelectedShortcuts = writeSelectedShortcuts;
213
+ function writeFocusBorderBundle(value, style) {
214
+ setStyleVar(style, canvas_tokens_web_1.brand.common.focusOutline, value);
215
+ setStyleVar(style, canvas_tokens_web_1.brand.primary500, value);
216
+ if (exports.BRAND_SCOPE_INDEPENDENT.focus.primary) {
217
+ setStyleVar(style, exports.BRAND_SCOPE_INDEPENDENT.focus.primary, value);
218
+ }
219
+ if (exports.BRAND_SCOPE_INDEPENDENT.border.primary) {
220
+ setStyleVar(style, exports.BRAND_SCOPE_INDEPENDENT.border.primary, value);
221
+ }
222
+ }
223
+ /** Writes focus/border from explicit common or brand.primary.500 input — never from primary.main. */
224
+ function writeIndependentBrandTokens(theme, style) {
225
+ var _a, _b, _c, _d;
226
+ if (!theme) {
227
+ return;
228
+ }
229
+ if ((0, types_1.isNumericalTheme)(theme)) {
230
+ const focusValue = (_b = (_a = theme.brand) === null || _a === void 0 ? void 0 : _a.primary) === null || _b === void 0 ? void 0 : _b['500'];
231
+ if (focusValue) {
232
+ writeFocusBorderBundle(focusValue, style);
233
+ }
234
+ if (theme.system) {
235
+ writeSystemBrandOverrides(theme.system, style);
236
+ }
237
+ return;
238
+ }
239
+ const common = (_d = (_c = theme.canvas) === null || _c === void 0 ? void 0 : _c.palette) === null || _d === void 0 ? void 0 : _d.common;
240
+ if (!common) {
241
+ return;
242
+ }
243
+ ['focusOutline', 'alertInner', 'alertOuter', 'errorInner'].forEach(key => {
244
+ var _a;
245
+ const rawValue = common[key];
246
+ if (rawValue == null) {
247
+ return;
248
+ }
249
+ if (rawValue === theme_1.defaultCanvasTheme.palette.common[key]) {
250
+ return;
251
+ }
252
+ const value = (0, canvas_kit_styling_1.maybeWrapCSSVariables)(rawValue);
253
+ // @ts-ignore
254
+ setStyleVar(style, canvas_tokens_web_1.brand.common[key], value);
255
+ // @ts-ignore
256
+ setStyleVar(style, commonTokenMapping[key], value);
257
+ if (key === 'focusOutline') {
258
+ writeFocusBorderBundle(value, style);
259
+ }
260
+ if (key === 'alertInner' && ((_a = canvas_tokens_web_1.system.color.brand.focus.caution) === null || _a === void 0 ? void 0 : _a.inner)) {
261
+ setStyleVar(style, canvas_tokens_web_1.system.color.brand.focus.caution.inner, value);
262
+ }
263
+ if (key === 'alertOuter' && canvas_tokens_web_1.system.color.brand.border.caution) {
264
+ setStyleVar(style, canvas_tokens_web_1.system.color.brand.border.caution, value);
265
+ }
266
+ if (key === 'errorInner') {
267
+ if (canvas_tokens_web_1.system.color.brand.focus.critical) {
268
+ setStyleVar(style, canvas_tokens_web_1.system.color.brand.focus.critical, value);
269
+ }
270
+ if (canvas_tokens_web_1.system.color.brand.border.critical) {
271
+ setStyleVar(style, canvas_tokens_web_1.system.color.brand.border.critical, value);
272
+ }
273
+ }
274
+ });
275
+ }
276
+ exports.writeIndependentBrandTokens = writeIndependentBrandTokens;
277
+ /** Walks nested system override object and sets matching system CSS vars. */
278
+ function writeSystemBrandOverrides(systemOverrides, style) {
279
+ var _a;
280
+ const brandOverrides = (_a = systemOverrides === null || systemOverrides === void 0 ? void 0 : systemOverrides.color) === null || _a === void 0 ? void 0 : _a.brand;
281
+ if (!brandOverrides) {
282
+ return;
283
+ }
284
+ const walk = (node, path) => {
285
+ Object.entries(node).forEach(([key, val]) => {
286
+ var _a, _b;
287
+ if (val && typeof val === 'object') {
288
+ walk(val, [...path, key]);
289
+ }
290
+ else if (typeof val === 'string') {
291
+ let tokenNode = canvas_tokens_web_1.system.color.brand;
292
+ for (const seg of [...path, key]) {
293
+ // @ts-ignore
294
+ tokenNode = tokenNode === null || tokenNode === void 0 ? void 0 : tokenNode[seg];
295
+ }
296
+ if (typeof tokenNode === 'string') {
297
+ const cssVarName = (_b = (_a = tokenNode.match(/--[\w-]+/)) === null || _a === void 0 ? void 0 : _a[0]) !== null && _b !== void 0 ? _b : tokenNode;
298
+ setStyleVar(style, cssVarName, val);
299
+ }
300
+ }
301
+ });
302
+ };
303
+ walk(brandOverrides, []);
304
+ }
305
+ exports.writeSystemBrandOverrides = writeSystemBrandOverrides;
306
+ const mappedKeys = {
307
+ lightest: 'lightest',
308
+ lighter: 'lighter',
309
+ light: 'light',
310
+ main: 'base',
311
+ dark: 'dark',
312
+ darkest: 'darkest',
313
+ contrast: 'accent',
314
+ };
315
+ const numericalTokenMapping = {
316
+ lightest: '25',
317
+ lighter: '50',
318
+ light: '200',
319
+ main: '600',
320
+ dark: '700',
321
+ darkest: '800',
322
+ };
323
+ /** Full-scope semantic writer — filled palette compared against defaults unless `writeAll`. */
324
+ function writeSemanticTheme(palette, style, options) {
325
+ var _a;
326
+ const writeAll = (_a = options === null || options === void 0 ? void 0 : options.writeAll) !== null && _a !== void 0 ? _a : false;
327
+ ['common', 'primary', 'error', 'alert', 'success', 'neutral'].forEach(color => {
328
+ if (color === 'common') {
329
+ ['focusOutline', 'alertInner', 'alertOuter', 'errorInner'].forEach(key => {
330
+ var _a;
331
+ if (writeAll || palette.common[key] !== theme_1.defaultCanvasTheme.palette.common[key]) {
332
+ const value = (0, canvas_kit_styling_1.maybeWrapCSSVariables)(palette.common[key]);
333
+ // @ts-ignore
334
+ setStyleVar(style, canvas_tokens_web_1.brand.common[key], value);
335
+ // @ts-ignore
336
+ setStyleVar(style, commonTokenMapping[key], value);
337
+ if (key === 'focusOutline') {
338
+ writeFocusBorderBundle(value, style);
339
+ }
340
+ if (key === 'alertInner' && ((_a = canvas_tokens_web_1.system.color.brand.focus.caution) === null || _a === void 0 ? void 0 : _a.inner)) {
341
+ setStyleVar(style, canvas_tokens_web_1.system.color.brand.focus.caution.inner, value);
342
+ }
343
+ if (key === 'alertOuter' && canvas_tokens_web_1.system.color.brand.border.caution) {
344
+ setStyleVar(style, canvas_tokens_web_1.system.color.brand.border.caution, value);
345
+ }
346
+ if (key === 'errorInner') {
347
+ if (canvas_tokens_web_1.system.color.brand.focus.critical) {
348
+ setStyleVar(style, canvas_tokens_web_1.system.color.brand.focus.critical, value);
349
+ }
350
+ if (canvas_tokens_web_1.system.color.brand.border.critical) {
351
+ setStyleVar(style, canvas_tokens_web_1.system.color.brand.border.critical, value);
352
+ }
353
+ }
354
+ }
355
+ });
356
+ }
357
+ else {
358
+ ['lightest', 'lighter', 'light', 'main', 'dark', 'darkest', 'contrast'].forEach(key => {
359
+ var _a, _b, _c, _d, _e;
360
+ // @ts-ignore
361
+ if (writeAll || palette[color][key] !== theme_1.defaultCanvasTheme.palette[color][key]) {
362
+ // @ts-ignore
363
+ const value = (0, canvas_kit_styling_1.maybeWrapCSSVariables)(palette[color][key]);
364
+ // @ts-ignore
365
+ setStyleVar(style, canvas_tokens_web_1.brand[color][mappedKeys[key]], value);
366
+ if (key !== 'contrast' && key in numericalTokenMapping) {
367
+ const newBrandColor = brandColorMapping[color];
368
+ const numericalSuffix = numericalTokenMapping[key];
369
+ // @ts-ignore
370
+ const numericalToken = canvas_tokens_web_1.brand[newBrandColor + numericalSuffix];
371
+ if (numericalToken) {
372
+ setStyleVar(style, numericalToken, value);
373
+ }
374
+ if (key === 'main') {
375
+ // @ts-ignore
376
+ const systemAccentToken = canvas_tokens_web_1.system.color.brand.accent[newBrandColor];
377
+ if (systemAccentToken) {
378
+ setStyleVar(style, systemAccentToken, value);
379
+ }
380
+ // @ts-ignore
381
+ const systemFgToken = (_a = canvas_tokens_web_1.system.color.brand.fg[newBrandColor]) === null || _a === void 0 ? void 0 : _a.default;
382
+ if (systemFgToken) {
383
+ setStyleVar(style, systemFgToken, value);
384
+ }
385
+ }
386
+ else if (key === 'dark') {
387
+ // @ts-ignore
388
+ const systemFgStrongToken = (_b = canvas_tokens_web_1.system.color.brand.fg[newBrandColor]) === null || _b === void 0 ? void 0 : _b.strong;
389
+ if (systemFgStrongToken) {
390
+ setStyleVar(style, systemFgStrongToken, value);
391
+ }
392
+ if (newBrandColor === 'primary' && canvas_tokens_web_1.system.color.brand.fg.selected) {
393
+ setStyleVar(style, canvas_tokens_web_1.system.color.brand.fg.selected, value);
394
+ }
395
+ if (newBrandColor === 'critical') {
396
+ if (canvas_tokens_web_1.system.color.brand.focus.critical) {
397
+ setStyleVar(style, canvas_tokens_web_1.system.color.brand.focus.critical, value);
398
+ }
399
+ if (canvas_tokens_web_1.system.color.brand.border.critical) {
400
+ setStyleVar(style, canvas_tokens_web_1.system.color.brand.border.critical, value);
401
+ }
402
+ }
403
+ if (newBrandColor === 'caution') {
404
+ if ((_c = canvas_tokens_web_1.system.color.brand.focus.caution) === null || _c === void 0 ? void 0 : _c.outer) {
405
+ setStyleVar(style, canvas_tokens_web_1.system.color.brand.focus.caution.outer, value);
406
+ }
407
+ if (canvas_tokens_web_1.system.color.brand.border.caution) {
408
+ setStyleVar(style, canvas_tokens_web_1.system.color.brand.border.caution, value);
409
+ }
410
+ }
411
+ }
412
+ else if (key === 'lighter') {
413
+ // @ts-ignore
414
+ const surfaceStrongToken = (_d = canvas_tokens_web_1.system.color.brand.surface[newBrandColor]) === null || _d === void 0 ? void 0 : _d.strong;
415
+ if (surfaceStrongToken) {
416
+ setStyleVar(style, surfaceStrongToken, value);
417
+ }
418
+ if (newBrandColor === 'primary' && canvas_tokens_web_1.system.color.brand.surface.selected) {
419
+ setStyleVar(style, canvas_tokens_web_1.system.color.brand.surface.selected, value);
420
+ }
421
+ }
422
+ else if (key === 'lightest') {
423
+ // @ts-ignore
424
+ const surfaceDefaultToken = (_e = canvas_tokens_web_1.system.color.brand.surface[newBrandColor]) === null || _e === void 0 ? void 0 : _e.default;
425
+ if (surfaceDefaultToken) {
426
+ setStyleVar(style, surfaceDefaultToken, value);
427
+ }
428
+ }
429
+ }
430
+ }
431
+ });
432
+ }
433
+ });
434
+ }
435
+ exports.writeSemanticTheme = writeSemanticTheme;
436
+ /** Writes numerical theme — brand scope applies per-family shortcuts; remaining keys write 1:1. */
437
+ function writeNumericalTheme(theme, style, scope) {
438
+ var _a, _b, _c;
439
+ const brandPalette = theme.brand;
440
+ const skipRamp = {};
441
+ if (scope === 'brand' && brandPalette) {
442
+ if (((_a = brandPalette.primary) === null || _a === void 0 ? void 0 : _a['600']) && Object.keys(brandPalette.primary).length === 1) {
443
+ applyPrimaryBrandBundle(brandPalette.primary['600'], style);
444
+ skipRamp.primary = new Set(['600']);
445
+ // Do not skip action keys — explicit `brand.action.*` must win over derived shades
446
+ // written by applyPrimaryBrandBundle (writeNumericalBrandRamp runs after).
447
+ }
448
+ // Only the main ramp key triggers the family shortcut. Lone `'500'` (focus/border) must
449
+ // write 1:1 and must not overwrite critical600 / caution400 via the bundle.
450
+ const critical = brandPalette.critical;
451
+ if ((critical === null || critical === void 0 ? void 0 : critical['600']) && Object.keys(critical).length === 1) {
452
+ applyCriticalBrandBundle(critical['600'], style);
453
+ skipRamp.critical = new Set(['600']);
454
+ }
455
+ const caution = brandPalette.caution;
456
+ if ((caution === null || caution === void 0 ? void 0 : caution['400']) && Object.keys(caution).length === 1) {
457
+ applyCautionBrandBundle(caution['400'], style);
458
+ skipRamp.caution = new Set(['400']);
459
+ }
460
+ if (((_b = brandPalette.positive) === null || _b === void 0 ? void 0 : _b['600']) && Object.keys(brandPalette.positive).length === 1) {
461
+ applyPositiveBrandBundle(brandPalette.positive['600'], style);
462
+ skipRamp.positive = new Set(['600']);
463
+ }
464
+ if (((_c = brandPalette.neutral) === null || _c === void 0 ? void 0 : _c['600']) && Object.keys(brandPalette.neutral).length === 1) {
465
+ applyNeutralBrandBundle(brandPalette.neutral['600'], style);
466
+ skipRamp.neutral = new Set(['600']);
467
+ }
468
+ }
469
+ if (brandPalette) {
470
+ ['primary', 'critical', 'caution', 'positive', 'neutral', 'action'].forEach(color => {
471
+ writeNumericalBrandRamp(color, brandPalette[color], style, { skipKeys: skipRamp[color] });
472
+ });
473
+ }
474
+ writeSelectedShortcuts(theme.selected, style);
475
+ writeIndependentBrandTokens(theme, style);
476
+ }
477
+ exports.writeNumericalTheme = writeNumericalTheme;
478
+ /** Brand-scope semantic path — reads raw input only, not useTheme-filled palette. */
479
+ function writeBrandScopeSemantic(theme, style) {
480
+ var _a, _b, _c, _d, _e, _f;
481
+ const palette = (_a = theme.canvas) === null || _a === void 0 ? void 0 : _a.palette;
482
+ if ((_b = palette === null || palette === void 0 ? void 0 : palette.primary) === null || _b === void 0 ? void 0 : _b.main) {
483
+ applyPrimaryBrandBundle(palette.primary.main, style);
484
+ }
485
+ if ((_c = palette === null || palette === void 0 ? void 0 : palette.error) === null || _c === void 0 ? void 0 : _c.main) {
486
+ applyCriticalBrandBundle(palette.error.main, style);
487
+ }
488
+ if ((_d = palette === null || palette === void 0 ? void 0 : palette.alert) === null || _d === void 0 ? void 0 : _d.main) {
489
+ applyCautionBrandBundle(palette.alert.main, style);
490
+ }
491
+ if ((_e = palette === null || palette === void 0 ? void 0 : palette.success) === null || _e === void 0 ? void 0 : _e.main) {
492
+ applyPositiveBrandBundle(palette.success.main, style);
493
+ }
494
+ if ((_f = palette === null || palette === void 0 ? void 0 : palette.neutral) === null || _f === void 0 ? void 0 : _f.main) {
495
+ applyNeutralBrandBundle(palette.neutral.main, style);
496
+ }
497
+ writeIndependentBrandTokens(theme, style);
498
+ }
499
+ exports.writeBrandScopeSemantic = writeBrandScopeSemantic;
@@ -14,6 +14,7 @@ export { default as styled, type StyleRewriteFn, filterOutProps } from './styled
14
14
  * For more information, view our [Theming Docs](https://workday.github.io/canvas-kit/?path=/docs/features-theming-overview--docs#-preferred-approach-v14).
15
15
  */
16
16
  export * from './theme';
17
+ export * from './sanaTheme';
17
18
  /**
18
19
  * @deprecated ⚠️ `useTheme` and `getTheme` are deprecated. Use CSS variables from `@workday/canvas-tokens-web` instead.
19
20
  * For more information, view our [Theming Docs](https://workday.github.io/canvas-kit/?path=/docs/features-theming-overview--docs#-preferred-approach-v14).
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../common/lib/theming/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B;;;GAGG;AACH,cAAc,SAAS,CAAC;AACxB;;;GAGG;AACH,OAAO,EAAC,OAAO,IAAI,MAAM,EAAE,KAAK,cAAc,EAAE,cAAc,EAAC,MAAM,UAAU,CAAC;AAChF;;;GAGG;AACH,cAAc,SAAS,CAAC;AACxB;;;GAGG;AACH,cAAc,YAAY,CAAC;AAC3B;;;GAGG;AACH,cAAc,iBAAiB,CAAC;AAChC;;;GAGG;AACH,cAAc,YAAY,CAAC;AAC3B;;;GAGG;AACH,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../common/lib/theming/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B;;;GAGG;AACH,cAAc,SAAS,CAAC;AACxB;;;GAGG;AACH,OAAO,EAAC,OAAO,IAAI,MAAM,EAAE,KAAK,cAAc,EAAE,cAAc,EAAC,MAAM,UAAU,CAAC;AAChF;;;GAGG;AACH,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B;;;GAGG;AACH,cAAc,YAAY,CAAC;AAC3B;;;GAGG;AACH,cAAc,iBAAiB,CAAC;AAChC;;;GAGG;AACH,cAAc,YAAY,CAAC;AAC3B;;;GAGG;AACH,cAAc,kBAAkB,CAAC"}
@@ -36,6 +36,7 @@ Object.defineProperty(exports, "filterOutProps", { enumerable: true, get: functi
36
36
  * For more information, view our [Theming Docs](https://workday.github.io/canvas-kit/?path=/docs/features-theming-overview--docs#-preferred-approach-v14).
37
37
  */
38
38
  __exportStar(require("./theme"), exports);
39
+ __exportStar(require("./sanaTheme"), exports);
39
40
  /**
40
41
  * @deprecated ⚠️ `useTheme` and `getTheme` are deprecated. Use CSS variables from `@workday/canvas-tokens-web` instead.
41
42
  * For more information, view our [Theming Docs](https://workday.github.io/canvas-kit/?path=/docs/features-theming-overview--docs#-preferred-approach-v14).
@@ -0,0 +1,33 @@
1
+ import type { CanvasNumericalBrandTheme } from './types';
2
+ /**
3
+ * Sana Canvas brand tokens for scoped `CanvasProvider` / popup forwarding.
4
+ * Values are `var()` references to Sana brand variables — not merged from `defaultCanvasTheme`.
5
+ */
6
+ export declare const sanaCanvasNumericalTheme: CanvasNumericalBrandTheme;
7
+ /**
8
+ * Pass to root `CanvasProvider` to forward Sana brand CSS variables onto popup containers
9
+ * (menus, selects, modals, tooltips).
10
+ *
11
+ * **When to use it**
12
+ * - **Required** when you cannot set `data-theme="sana-canvas"` on `<html>` (embedded apps,
13
+ * microfrontends, third-party shells). Popups portal to `document.body` and will not inherit
14
+ * a nested `data-theme` — this preset copies Sana brand vars onto the popup stack container.
15
+ * - Also useful in tests without global Sana CSS, or custom popup hosts outside normal cascade.
16
+ *
17
+ * **When you can skip it**
18
+ * - Prefer setting `data-theme="sana-canvas"` on `<html>` with Sana CSS imported. Popups then
19
+ * inherit brand variables from the document and no `theme` prop is needed.
20
+ *
21
+ * @example
22
+ * ```tsx
23
+ * // Preferred — control <html>
24
+ * import '@workday/canvas-tokens-web/css/sana/_variables.css';
25
+ * // <html data-theme="sana-canvas">
26
+ * <CanvasProvider><App /></CanvasProvider>
27
+ *
28
+ * // No access to <html> — required for popup parity
29
+ * <CanvasProvider theme={sanaCanvasProviderTheme}><App /></CanvasProvider>
30
+ * ```
31
+ */
32
+ export declare const sanaCanvasProviderTheme: CanvasNumericalBrandTheme;
33
+ //# sourceMappingURL=sanaTheme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sanaTheme.d.ts","sourceRoot":"","sources":["../../../../../common/lib/theming/sanaTheme.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAC,yBAAyB,EAAC,MAAM,SAAS,CAAC;AAevD;;;GAGG;AACH,eAAO,MAAM,wBAAwB,EAAE,yBAmEtC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,uBAAuB,2BAA2B,CAAC"}