@kaizen/components 1.4.22-canary.5 → 1.4.23

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 (192) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/__future__/index.d.ts +2 -0
  3. package/dist/__future__/index.js +5 -1
  4. package/dist/esm/__future__/index.js +4 -0
  5. package/dist/esm/index.js +53 -0
  6. package/dist/iife/ActionButton.module-LHTIA2D3.scss +10 -0
  7. package/dist/iife/Avatar.module-GUG7HXMZ.scss +165 -0
  8. package/dist/iife/AvatarGroup.module-QAVTI4PR.scss +85 -0
  9. package/dist/iife/Badge.module-5JDAQSAV.scss +106 -0
  10. package/dist/iife/Base.module-DJPJNUQ5.scss +80 -0
  11. package/dist/iife/BaseButton.module-4FKZZLVI.scss +103 -0
  12. package/dist/iife/Brand.module-FCHTLJQK.scss +4 -0
  13. package/dist/iife/BrandMoment.module-4P7H2D3W.scss +196 -0
  14. package/dist/iife/Calendar.module-H7XBQXTA.scss +211 -0
  15. package/dist/iife/CalendarRange.module-QWW624PJ.scss +64 -0
  16. package/dist/iife/CalendarSingle.module-N2P3DWLM.scss +18 -0
  17. package/dist/iife/Card.module-VEUOO2LT.scss +38 -0
  18. package/dist/iife/Checkbox.module-L2DRIMTV.scss +155 -0
  19. package/dist/iife/CheckboxField.module-MS76TDL7.scss +46 -0
  20. package/dist/iife/CheckboxGroup.module-AHAPICAN.scss +13 -0
  21. package/dist/iife/ClearButton.module-KVNHOLVT.scss +79 -0
  22. package/dist/iife/Collapsible.module-ZJNVWQIB.scss +119 -0
  23. package/dist/iife/CollapsibleGroup.module-UR2SIYLJ.scss +10 -0
  24. package/dist/iife/ConfirmationModal.module-RN2H7KPL.scss +157 -0
  25. package/dist/iife/Content.module-6CTLBAHR.scss +25 -0
  26. package/dist/iife/ContextModal.module-TTFVPUPU.scss +77 -0
  27. package/dist/iife/DateInput.module-YBXARKD2.scss +3 -0
  28. package/dist/iife/DateInputDescription.module-SGAJNB7K.scss +19 -0
  29. package/dist/iife/DateInputField.module-2LG4I24X.scss +5 -0
  30. package/dist/iife/DateInputWithIconButton.module-RSUEQ345.scss +53 -0
  31. package/dist/iife/DateRangePicker.module-EIUGUIIA.scss +115 -0
  32. package/dist/iife/Divider.module-YXIUJPD4.scss +40 -0
  33. package/dist/iife/Dropdown.module-4CIBZTRZ.scss +100 -0
  34. package/dist/iife/DropdownButton.module-WZ6FRRPS.scss +44 -0
  35. package/dist/iife/EditableRichTextContent.module-N2SFSI5C.scss +25 -0
  36. package/dist/iife/EmptyState.module-DOSURL5X.scss +156 -0
  37. package/dist/iife/ExpertAdviceCollapsible.module-L554JCXB.scss +47 -0
  38. package/dist/iife/FieldGroup.module-SUPERNC6.scss +10 -0
  39. package/dist/iife/FieldMessage.module-6CWQV65E.scss +73 -0
  40. package/dist/iife/FilterMenuButton.module-26EL5K3H.scss +19 -0
  41. package/dist/iife/FilterSplitButton.module-LMMEHFXQ.scss +133 -0
  42. package/dist/iife/FilterTriggerButton.module-LGSTEFAE.scss +5 -0
  43. package/dist/iife/FloatingCalendarWrapper.module-62NLSOUD.scss +12 -0
  44. package/dist/iife/GenericButton.module-NIOY5S5X.scss +113 -0
  45. package/dist/iife/GenericModal.module-DW6NSOGA.scss +110 -0
  46. package/dist/iife/GenericModalSection.module-MJ4MTMSP.scss +7 -0
  47. package/dist/iife/GenericNotification.module-DAERSOHE.scss +115 -0
  48. package/dist/iife/GenericTile.module-ZXQ4XWP4.scss +136 -0
  49. package/dist/iife/GuidanceBlock.module-FAHJFZMK.scss +324 -0
  50. package/dist/iife/Heading.module-WIR3ANFU.scss +104 -0
  51. package/dist/iife/HeroCard.module-LXHTKJTW.scss +106 -0
  52. package/dist/iife/Input.module-FBWZRX37.scss +336 -0
  53. package/dist/iife/InputEditModal.module-X3TLJPFO.scss +36 -0
  54. package/dist/iife/InputRange.module-RGISUI4D.scss +181 -0
  55. package/dist/iife/InputSearch.module-YAL2OSZP.scss +238 -0
  56. package/dist/iife/KaizenProvider/ThemeProvider/ThemeManager.js +2968 -62
  57. package/dist/iife/KaizenProvider/ThemeProvider/ThemeManager.spec.js +2968 -369
  58. package/dist/iife/KaizenProvider/ThemeProvider/index.js +764 -64
  59. package/dist/iife/KaizenProvider/index.js +767 -67
  60. package/dist/iife/Label.module-QP4J7I5H.scss +118 -0
  61. package/dist/iife/Layout.module-MZ6JYT46.scss +58 -0
  62. package/dist/iife/LikertScaleLegacy.module-JYCJ5CON.scss +298 -0
  63. package/dist/iife/LinkPopover-7NCAPCQ3.scss +22 -0
  64. package/dist/iife/ListBox.module-5GNTZUCX.scss +18 -0
  65. package/dist/iife/ListBox.module-RXUZV2C4.scss +14 -0
  66. package/dist/iife/ListBoxSection.module-53ABDKRS.scss +3 -0
  67. package/dist/iife/ListBoxSection.module-D2PXJRKU.scss +20 -0
  68. package/dist/iife/LoadMoreButton.module-ANUUS5ER.scss +5 -0
  69. package/dist/iife/LoadingGraphic.module-URCRSF4P.scss +10 -0
  70. package/dist/iife/LoadingHeading.module-OV5P5QHZ.scss +67 -0
  71. package/dist/iife/LoadingInput.module-7NL2PX46.scss +9 -0
  72. package/dist/iife/LoadingParagraph.module-43NZVIEE.scss +50 -0
  73. package/dist/iife/LoadingSpinner.module-VMTNZETE.scss +31 -0
  74. package/dist/iife/MainActions.module-T43D33YO.scss +16 -0
  75. package/dist/iife/Margin.module-DJURK5K7.scss +19 -0
  76. package/dist/iife/Menu.module-N76N74LN.scss +111 -0
  77. package/dist/iife/MenuDropdown.module-DYV6JLT6.scss +26 -0
  78. package/dist/iife/MenuFooter.module-7J44RW5D.scss +9 -0
  79. package/dist/iife/MenuItem.module-LD7ZYX4T.scss +99 -0
  80. package/dist/iife/MenuList.module-44RMG7CF.scss +35 -0
  81. package/dist/iife/MenuLoadingSkeleton.module-DH3I5Z2J.scss +9 -0
  82. package/dist/iife/MenuPopup.module-NQRYVXAG.scss +27 -0
  83. package/dist/iife/MobileActions.module-Z6PD4VIR.scss +198 -0
  84. package/dist/iife/ModalAccessibleDescription.module-NIJNKHHO.scss +3 -0
  85. package/dist/iife/ModalAccessibleLabel.module-NG26HDU4.scss +58 -0
  86. package/dist/iife/ModalFooter.module-TK3HAXMB.scss +69 -0
  87. package/dist/iife/ModalHeader.module-6SW7KZ22.scss +23 -0
  88. package/dist/iife/MultiActionTile.module-4Y2NA4H6.scss +3 -0
  89. package/dist/iife/MultiSelectOption.module-TIZIGUVB.scss +115 -0
  90. package/dist/iife/NavigationTabs.module-VDIXMFXJ.scss +108 -0
  91. package/dist/iife/NoResults.module-3FUWBVUH.scss +3 -0
  92. package/dist/iife/Option.module-O2QRLWHC.scss +87 -0
  93. package/dist/iife/Overlay.module-W7K5DWH6.scss +24 -0
  94. package/dist/iife/Padding.module-QSNUEZBU.scss +19 -0
  95. package/dist/iife/Pagination.module-U5S6WZ5K.scss +124 -0
  96. package/dist/iife/Paragraph.module-J7DMUCVE.scss +71 -0
  97. package/dist/iife/Popover.module-5ZQUBHXG.scss +264 -0
  98. package/dist/iife/ProgressBar.module-RL2UWVEH.scss +91 -0
  99. package/dist/iife/Radio.module-DCWPHVKW.scss +99 -0
  100. package/dist/iife/RadioField.module-C2XRADW5.scss +50 -0
  101. package/dist/iife/RadioGroup.module-PDLRO572.scss +23 -0
  102. package/dist/iife/RemovableFilterTrigger.module-SJ37V6UZ.scss +29 -0
  103. package/dist/iife/RichTextContent.module-4HA44IM4.scss +5 -0
  104. package/dist/iife/RichTextEditor.module-ZHXEK4XJ.scss +97 -0
  105. package/dist/iife/RoadblockModal.module-KVZCYLF2.scss +45 -0
  106. package/dist/iife/SearchField.module-2EV6HGZE.scss +6 -0
  107. package/dist/iife/SearchInput.module-RQEF3FWR.scss +6 -0
  108. package/dist/iife/SectionDivider.module-AN4OA4O3.scss +3 -0
  109. package/dist/iife/Select.module-6LHWOGGY.scss +391 -0
  110. package/dist/iife/Select.module-WOGFQRYI.scss +8 -0
  111. package/dist/iife/SelectionControlButton.module-HO7BZ2UP.scss +81 -0
  112. package/dist/iife/Skirt.module-S3GPHMMQ.scss +32 -0
  113. package/dist/iife/SkirtCard.module-6YQ4PS2K.scss +16 -0
  114. package/dist/iife/Slider.module-EIBFJ2LP.scss +42 -0
  115. package/dist/iife/SplitButton.module-WMGCIDDK.scss +4 -0
  116. package/dist/iife/StatelessMenu.module-SX2T5P4I.scss +3 -0
  117. package/dist/iife/Tab.module-4S535DQG.scss +105 -0
  118. package/dist/iife/TabList.module-FVWF5RCV.scss +11 -0
  119. package/dist/iife/TabPanel.module-2YHJE4CY.scss +14 -0
  120. package/dist/iife/Table.module-LCDRXCBP.scss +233 -0
  121. package/dist/iife/Tabs.module-BUPNPYW4.scss +172 -0
  122. package/dist/iife/Tag.module-T6PQJLSW.scss +268 -0
  123. package/dist/iife/Text.module-SXGFOHGJ.scss +173 -0
  124. package/dist/iife/TextArea.module-JLTW3M73.scss +138 -0
  125. package/dist/iife/TextAreaField.module-4K35MSCT.scss +20 -0
  126. package/dist/iife/TextField.module-KFAPVZZK.scss +49 -0
  127. package/dist/iife/TileGrid.module-NJQFVYRS.scss +23 -0
  128. package/dist/iife/TimeField.module-B4WNYAUE.scss +75 -0
  129. package/dist/iife/TimeSegment.module-TKOTKIXH.scss +53 -0
  130. package/dist/iife/TitleBlockMenuItem.module-LWVSMJTH.scss +99 -0
  131. package/dist/iife/TitleBlockZen.module-OK3QIC4Y.scss +695 -0
  132. package/dist/iife/ToastNotificationsList.module-EHDVGWDW.scss +26 -0
  133. package/dist/iife/ToggleIconButton.module-COM67MDC.scss +132 -0
  134. package/dist/iife/ToggleSwitch.module-3YDF4MLF.scss +128 -0
  135. package/dist/iife/ToggleSwitchField.module-BJOL7O7U.scss +15 -0
  136. package/dist/iife/Toolbar.module-3BZYZE6H.scss +44 -0
  137. package/dist/iife/Toolbar.module-BP3GTBGW.scss +6 -0
  138. package/dist/iife/ToolbarSection.module-LZTHWGO7.scss +15 -0
  139. package/dist/iife/Tooltip.module-YU7VOTNZ.scss +184 -0
  140. package/dist/iife/TriggerButton.module-ML4U7VQL.scss +139 -0
  141. package/dist/iife/TriggerButtonBase.module-QFRV6YZQ.scss +14 -0
  142. package/dist/iife/Well.module-4TIRC3HQ.scss +73 -0
  143. package/dist/iife/__future__/index.js +40019 -124
  144. package/dist/iife/add-link.icon-2JH25LOT.svg +3 -0
  145. package/dist/iife/arrow-backward.icon-DGOZ655M.svg +17 -0
  146. package/dist/iife/arrow-forward.icon-MO6IWNHW.svg +17 -0
  147. package/dist/iife/arrow-left.icon-RWWYLDT3.svg +17 -0
  148. package/dist/iife/arrow-right.icon-3ZGNCW3O.svg +17 -0
  149. package/dist/iife/bold.icon-FEZQ56AP.svg +3 -0
  150. package/dist/iife/bulletted-list.icon-ZDSXNO72.svg +3 -0
  151. package/dist/iife/caution-white.icon-7QPLIIHQ.svg +1 -0
  152. package/dist/iife/caution.icon-BHBJMNMA.svg +1 -0
  153. package/dist/iife/check.icon-CYCBCOVT.svg +17 -0
  154. package/dist/iife/chevron-down.icon-COG3GAYR.svg +17 -0
  155. package/dist/iife/chevron-up.icon-O5VRF5BX.svg +17 -0
  156. package/dist/iife/clear-white.icon-O3ZK5Z2K.svg +18 -0
  157. package/dist/iife/clear.icon-OD6PWTJH.svg +17 -0
  158. package/dist/iife/close.icon-7H6W45MB.svg +1 -0
  159. package/dist/iife/date-start.icon-NV4EVRXI.svg +17 -0
  160. package/dist/iife/decrease-indent.icon-VAYQUHQG.svg +3 -0
  161. package/dist/iife/edit.icon-YJ4EIXHJ.svg +17 -0
  162. package/dist/iife/ellipsis.icon-DECY5OPU.svg +17 -0
  163. package/dist/iife/end.icon-4DQDOQVX.svg +1 -0
  164. package/dist/iife/exclamation-white.icon-WX7P4EOV.svg +19 -0
  165. package/dist/iife/exclamation.icon-FJBHW7NP.svg +17 -0
  166. package/dist/iife/external-link.icon-7FNRTMN2.svg +17 -0
  167. package/dist/iife/hamburger.icon-YHQT7RB6.svg +17 -0
  168. package/dist/iife/increase-indent.icon-3XUPJEBD.svg +3 -0
  169. package/dist/iife/index.js +115630 -1165
  170. package/dist/iife/information-white.icon-3DXZDERC.svg +19 -0
  171. package/dist/iife/information.icon-5LHKLG66.svg +17 -0
  172. package/dist/iife/italics.icon-WWQDZP3S.svg +3 -0
  173. package/dist/iife/loading-skeleton.module-RZXSULUO.scss +26 -0
  174. package/dist/iife/meatballs.icon-DECY5OPU.svg +17 -0
  175. package/dist/iife/minus.icon-7B6G432O.svg +17 -0
  176. package/dist/iife/numbered-list.icon-WPE4LE5R.svg +3 -0
  177. package/dist/iife/remove-link.icon-QMFTP7WO.svg +3 -0
  178. package/dist/iife/search.icon-ML7HSFID.svg +17 -0
  179. package/dist/iife/sort-ascending.icon-E24DTSHO.svg +17 -0
  180. package/dist/iife/sort-descending.icon-4SMPW2PG.svg +17 -0
  181. package/dist/iife/start.icon-JC4OAMAZ.svg +1 -0
  182. package/dist/iife/success-white.icon-VXFA2PUU.svg +18 -0
  183. package/dist/iife/success.icon-QNKK4XJE.svg +17 -0
  184. package/dist/iife/underline.icon-ACYVVVSD.svg +3 -0
  185. package/dist/iife/user.icon-24JPACDP.svg +17 -0
  186. package/dist/index.d.ts +41 -1
  187. package/dist/index.js +54 -1
  188. package/dist/styles.css +98 -0
  189. package/package.json +32 -32
  190. /package/dist/iife/{Icon.module-VD7NKLAR-VD7NKLAR.scss → Icon.module-VD7NKLAR.scss} +0 -0
  191. /package/dist/iife/{SkipLink.module-KAZA7PAL-KAZA7PAL.scss → SkipLink.module-KAZA7PAL.scss} +0 -0
  192. /package/dist/iife/{VisuallyHidden.module-E5JUNEF5-E5JUNEF5.scss → VisuallyHidden.module-E5JUNEF5.scss} +0 -0
@@ -0,0 +1,14 @@
1
+ @import "~@kaizen/design-tokens/sass/border";
2
+ @import "~@kaizen/design-tokens/sass/color";
3
+
4
+ .tabPanel {
5
+ border: 2px solid transparent;
6
+
7
+ &:focus {
8
+ outline: none;
9
+ }
10
+ &:global(.focus-visible) {
11
+ border-color: $color-blue-500;
12
+ border-radius: $border-focus-ring-border-radius;
13
+ }
14
+ }
@@ -0,0 +1,233 @@
1
+ @import "~@kaizen/design-tokens/sass/shadow";
2
+ @import "~@kaizen/design-tokens/sass/border";
3
+ @import "~@kaizen/design-tokens/sass/animation";
4
+ @import "~@kaizen/design-tokens/sass/spacing";
5
+ @import "~@kaizen/design-tokens/sass/color";
6
+ @import "./mixins";
7
+
8
+ // Taken from design-tokens/sass/shadow
9
+ // we need control of the x and y offset in this component
10
+ $box-shadow-color-sm: rgba(53, 55, 74, 0.09);
11
+ $row-height: 60px;
12
+ $row-height-data-variant: 48px;
13
+
14
+ .anchorReset {
15
+ text-decoration: none;
16
+ color: $color-purple-800;
17
+ display: block;
18
+ &:hover,
19
+ &:active,
20
+ &:focus {
21
+ text-decoration: none;
22
+ }
23
+
24
+ &.headerRowCellButtonReversed {
25
+ color: $color-white;
26
+ }
27
+ }
28
+
29
+ .container {
30
+ width: 100%;
31
+ margin-bottom: $spacing-sm;
32
+ }
33
+
34
+ .headerRowCell {
35
+ display: flex;
36
+ align-items: stretch;
37
+ text-align: start;
38
+ justify-content: flex-start;
39
+ // The 8px usually makes the height of the header cell 40px
40
+ padding: 8px $spacing-md;
41
+ // This is required as so the tooltip will display directly above the header cell
42
+ position: relative;
43
+ }
44
+
45
+ .headerRowCellNoWrap {
46
+ .headerRowCellLabel {
47
+ // It appears that this ellipsis is not showing 🤔
48
+ text-overflow: ellipsis;
49
+ overflow: hidden;
50
+ white-space: nowrap;
51
+ }
52
+ }
53
+
54
+ .headerRowCellAlignCenter {
55
+ .headerRowCellLabelAndIcons {
56
+ text-align: center;
57
+ justify-content: center;
58
+ }
59
+ }
60
+
61
+ .headerRowCellAlignEnd {
62
+ .headerRowCellLabelAndIcons {
63
+ text-align: end;
64
+ justify-content: flex-end;
65
+ }
66
+ }
67
+
68
+ .headerRowCellCheckbox {
69
+ margin-right: 10px;
70
+ }
71
+
72
+ // The .headerRowCell wrapper is required to increase the specificity, as so
73
+ // we can override the `Tooltip` component's styling.
74
+ .headerRowCell .headerRowCellTooltip {
75
+ flex: 1 1 100%;
76
+ width: 100%;
77
+ display: flex;
78
+ align-items: stretch;
79
+ }
80
+
81
+ .headerRowCellButton {
82
+ @include button-reset;
83
+ composes: anchorReset;
84
+ }
85
+
86
+ .headerRowCellButton,
87
+ .headerRowCellNoButton {
88
+ display: flex;
89
+ align-items: stretch;
90
+ width: 100%;
91
+ // Ensures that the 100% doesn't go outside of the `headerRowCell` width
92
+ box-sizing: border-box;
93
+ }
94
+
95
+ .headerRowCellLabelAndIcons {
96
+ display: flex;
97
+ align-items: center;
98
+ flex: 1 1 100%;
99
+ width: 100%;
100
+ }
101
+
102
+ .headerRowCellTooltipIcon {
103
+ color: $color-blue-500;
104
+ margin-right: $spacing-xs;
105
+ }
106
+
107
+ .headerRowCellIcon {
108
+ color: rgba($color-purple-800-rgb, 0.7);
109
+ height: 20px;
110
+
111
+ .headerRowCellActive & {
112
+ color: $color-purple-800;
113
+ }
114
+ }
115
+
116
+ .card {
117
+ @include button-reset;
118
+ background: $color-white;
119
+ border: solid 1px rgba($color-purple-700-rgb, 0.1);
120
+ transition: box-shadow $animation-duration-rapid,
121
+ border-color $animation-duration-rapid, margin $animation-duration-rapid,
122
+ padding $animation-duration-rapid, width $animation-duration-rapid;
123
+
124
+ // This is an optical hack to stop the card shadow from overlapping over
125
+ // the proceeding cards
126
+ box-shadow: 0px 4px 6px rgba(53, 55, 74, 0.04);
127
+
128
+ // These css properties are required for when the rows are anchor elements
129
+ composes: anchorReset;
130
+
131
+ &:not(:first-child) {
132
+ margin-top: -1px;
133
+ }
134
+
135
+ &:last-child {
136
+ border-bottom-left-radius: $border-solid-border-radius;
137
+ border-bottom-right-radius: $border-solid-border-radius;
138
+ }
139
+
140
+ &:hover {
141
+ will-change: box-shadow, border-color, margin, padding, width;
142
+ }
143
+
144
+ &.well {
145
+ margin-top: $spacing-sm;
146
+ }
147
+ }
148
+
149
+ // target the first child card when there is a heading present
150
+ [role="rowgroup"] + .card {
151
+ border-top-left-radius: $border-solid-border-radius;
152
+ border-top-right-radius: $border-solid-border-radius;
153
+ box-shadow: $shadow-small-box-shadow;
154
+ }
155
+
156
+ .card:first-child {
157
+ border-top-left-radius: $border-solid-border-radius;
158
+ border-top-right-radius: $border-solid-border-radius;
159
+ box-shadow: $shadow-small-box-shadow;
160
+ }
161
+
162
+ .row {
163
+ display: flex;
164
+ }
165
+
166
+ .well {
167
+ border-color: $border-borderless-border-color;
168
+ box-shadow: none;
169
+ border-radius: $border-solid-border-radius;
170
+ background-color: $color-gray-300;
171
+ margin-bottom: $spacing-sm;
172
+ }
173
+
174
+ .popout {
175
+ box-shadow: $shadow-large-box-shadow;
176
+ }
177
+
178
+ .expanded {
179
+ position: relative;
180
+ z-index: 1;
181
+ margin-left: calc(#{$spacing-sm} * -1);
182
+ margin-right: calc(#{$spacing-sm} * -1);
183
+ padding-left: $spacing-sm;
184
+ padding-right: $spacing-sm;
185
+ }
186
+
187
+ .hasHoverState {
188
+ width: 100%;
189
+ text-align: left;
190
+ cursor: pointer;
191
+
192
+ &.expanded {
193
+ width: calc(100% + #{$spacing-md});
194
+ }
195
+
196
+ &:focus,
197
+ &:hover {
198
+ background-color: $color-gray-100;
199
+ }
200
+ }
201
+
202
+ .rowCell {
203
+ min-height: $row-height;
204
+ padding: 0 $spacing-md;
205
+ display: flex;
206
+ align-items: center;
207
+ // These css properties are required for when the cells are anchor elements
208
+ composes: anchorReset;
209
+
210
+ .defaultSpacing & {
211
+ padding: $spacing-sm $spacing-md;
212
+ }
213
+
214
+ .dataVariant & {
215
+ min-height: $row-height-data-variant;
216
+ }
217
+ }
218
+
219
+ .rowCellAlignCenter {
220
+ justify-content: center;
221
+ text-align: center;
222
+ }
223
+
224
+ .rowCellAlignEnd {
225
+ justify-content: flex-end;
226
+ text-align: right;
227
+ }
228
+
229
+ .headerRowCellIconAlignCenter,
230
+ .headerRowCellIconAlignEnd {
231
+ //makes sure the label doesn't move on hover when not left aligned
232
+ margin-right: -20px;
233
+ }
@@ -0,0 +1,172 @@
1
+ @import "~@kaizen/design-tokens/sass/spacing";
2
+ @import "~@kaizen/design-tokens/sass/border";
3
+ @import "~@kaizen/design-tokens/sass/color";
4
+ @import "~@kaizen/design-tokens/sass/typography";
5
+ @import "~@kaizen/component-library/styles/border";
6
+ @import "~@kaizen/deprecated-component-library-helpers/styles/color";
7
+ @import "~@kaizen/deprecated-component-library-helpers/styles/layout";
8
+ @import "~@kaizen/deprecated-component-library-helpers/styles/type";
9
+
10
+ .container {
11
+ display: flex;
12
+ }
13
+
14
+ .tab {
15
+ @include ca-inherit-baseline;
16
+ font-family: $typography-heading-4-font-family;
17
+ font-size: $typography-heading-4-font-size;
18
+ line-height: $typography-heading-4-line-height;
19
+ letter-spacing: $typography-heading-4-letter-spacing;
20
+ text-decoration: none;
21
+ color: $color-purple-800;
22
+ cursor: pointer;
23
+ position: relative;
24
+ transition: background-color 0.1s;
25
+
26
+ &:hover {
27
+ color: $color-blue-500;
28
+ text-decoration: none;
29
+ background-color: $color-blue-100;
30
+ font-weight: $typography-heading-4-font-weight;
31
+ }
32
+
33
+ // Use JS polyfill to simulate :focus-visible, not yet supported by bhorizontalsers
34
+ // https://github.com/WICG/focus-visible#backwards-compatibility
35
+ :global(.js-focus-visible) & {
36
+ // hide native focus ring when :focus but not :focus-visible
37
+ &:focus {
38
+ outline: none;
39
+ }
40
+
41
+ &:global(.focus-visible) {
42
+ color: $color-blue-500;
43
+ text-decoration: none;
44
+ background-color: $color-blue-100;
45
+ font-weight: $typography-heading-4-font-weight;
46
+
47
+ &:after {
48
+ content: "";
49
+ position: absolute;
50
+ background: transparent;
51
+ $focus-ring-offset: calc(#{$border-focus-ring-border-width} - 1px);
52
+ border-width: $border-focus-ring-border-width;
53
+ border-style: $border-focus-ring-border-style;
54
+ border-color: $color-blue-500;
55
+ top: calc(-1 * #{$focus-ring-offset});
56
+ left: calc(-1 * #{$focus-ring-offset});
57
+ right: calc(-1 * #{$focus-ring-offset});
58
+ bottom: calc(-1 * #{$focus-ring-offset});
59
+ }
60
+ }
61
+ }
62
+ }
63
+
64
+ .horizontalTab {
65
+ composes: tab;
66
+ font-weight: $typography-heading-4-font-weight;
67
+ border-top-left-radius: $border-borderless-border-radius;
68
+ border-top-right-radius: $border-borderless-border-radius;
69
+ padding: 0 $ca-grid * 0.75;
70
+ height: 3 * $ca-grid;
71
+
72
+ top: 0; // this overrides baseline shift. @include ca-inherit-baseline does not work because
73
+ // we need to make this position: relative, for the absolutely positioned underline.
74
+
75
+ display: flex;
76
+ align-items: center;
77
+ justify-content: center;
78
+ min-width: 4.5rem - ($ca-grid * 0.75) * 2; // give tabs with short text some breathing room
79
+
80
+ :global(.js-focus-visible) &:global(.focus-visible):after {
81
+ border-radius: $border-borderless-border-radius
82
+ $border-borderless-border-radius 0 0;
83
+ }
84
+ }
85
+
86
+ .horizontalTabActive {
87
+ composes: tab;
88
+ composes: horizontalTab;
89
+ font-weight: $typography-heading-4-font-weight;
90
+ color: $color-blue-500;
91
+
92
+ &::before {
93
+ $underline-height: 5px;
94
+ content: "";
95
+ display: block;
96
+ border-top-left-radius: $underline-height;
97
+ border-top-right-radius: $underline-height;
98
+ background-color: currentColor;
99
+ height: $underline-height;
100
+ width: 100%;
101
+ position: absolute;
102
+ left: 0;
103
+ right: 0;
104
+ bottom: 0;
105
+ }
106
+ }
107
+
108
+ .horizontalTabDisabled {
109
+ composes: tab;
110
+ composes: horizontalTab;
111
+ cursor: inherit;
112
+ opacity: 0.3;
113
+ font-weight: normal;
114
+
115
+ &.horizontalTabActive:hover {
116
+ background-color: transparent;
117
+ }
118
+
119
+ &:hover:not(.horizontalTabActive) {
120
+ color: $color-purple-800;
121
+ background-color: transparent;
122
+ }
123
+ }
124
+
125
+ .horizontalTab + .horizontalTab {
126
+ @include ca-margin($start: $ca-grid * 0.5);
127
+ }
128
+
129
+ .verticalTab {
130
+ composes: tab;
131
+ min-height: $spacing-xl;
132
+ display: flex;
133
+ align-items: center;
134
+ justify-content: flex-start;
135
+ border-radius: $border-solid-border-radius;
136
+ font-weight: $typography-heading-4-font-weight;
137
+
138
+ [dir="rtl"] & {
139
+ padding-right: $spacing-sm;
140
+ }
141
+
142
+ [dir="ltr"] & {
143
+ padding-left: $spacing-sm;
144
+ }
145
+
146
+ :global(.js-focus-visible) &:global(.focus-visible):after {
147
+ border-radius: $border-borderless-border-radius;
148
+ z-index: 1; // pop the border out so sibling tabs don't overlap
149
+ }
150
+ }
151
+
152
+ .verticalTabActive {
153
+ composes: tab;
154
+ composes: verticalTab;
155
+ color: $color-blue-500;
156
+ }
157
+
158
+ .verticalTabDisabled {
159
+ composes: tab;
160
+ composes: verticalTab;
161
+ cursor: inherit;
162
+ opacity: 0.3;
163
+
164
+ &.verticalTabActive:hover {
165
+ background-color: transparent;
166
+ }
167
+
168
+ &:hover:not(.verticalTabActive) {
169
+ color: $color-purple-800;
170
+ background-color: transparent;
171
+ }
172
+ }
@@ -0,0 +1,268 @@
1
+ @import "~@kaizen/design-tokens/sass/border";
2
+ @import "~@kaizen/design-tokens/sass/color";
3
+ @import "~@kaizen/design-tokens/sass/typography";
4
+ @import "~@kaizen/design-tokens/sass/spacing";
5
+
6
+ $medium: calc(#{$spacing-md} * 1.25);
7
+ $small: $spacing-md;
8
+
9
+ // reset user agent styles for button element type
10
+ @mixin button-reset {
11
+ appearance: none;
12
+ background: transparent;
13
+ border: none;
14
+ font: inherit;
15
+ margin: 0;
16
+ padding: 0;
17
+ transition: none;
18
+ }
19
+
20
+ .root {
21
+ margin-inline-end: calc(#{$spacing-md} * 0.5);
22
+ font-size: $typography-paragraph-small-font-size;
23
+ font-weight: $typography-paragraph-small-font-weight;
24
+ letter-spacing: $typography-paragraph-small-letter-spacing;
25
+ color: $color-purple-800;
26
+ display: inline-block;
27
+ border: $border-borderless-border-width $border-borderless-border-style
28
+ $border-borderless-border-color;
29
+ border-radius: calc(#{$spacing-md} * 0.75);
30
+ padding: 0 calc(#{$spacing-md} * 0.4);
31
+ box-sizing: border-box;
32
+
33
+ &.profile {
34
+ padding-left: calc(#{$spacing-md} * 0.2);
35
+ }
36
+ }
37
+
38
+ .layoutContainer {
39
+ height: 100%;
40
+ display: flex;
41
+ align-items: center;
42
+ }
43
+
44
+ .validationIcon {
45
+ align-items: center;
46
+ display: flex;
47
+ margin-inline-start: calc(#{$spacing-md} * -0.15);
48
+ margin-inline-end: $spacing-xs;
49
+ }
50
+
51
+ .profile {
52
+ margin-inline-start: calc(#{$spacing-md} * -0.15);
53
+ margin-inline-end: $spacing-xs;
54
+ display: flex;
55
+ align-items: center;
56
+ }
57
+
58
+ .textContent {
59
+ margin-top: -1px;
60
+ font-family: $typography-paragraph-small-font-family;
61
+ font-weight: $typography-paragraph-small-font-weight;
62
+ font-size: $typography-paragraph-small-font-size;
63
+ line-height: $typography-paragraph-small-line-height;
64
+ letter-spacing: $typography-paragraph-small-letter-spacing;
65
+ white-space: nowrap;
66
+ }
67
+
68
+ .dismissButton {
69
+ @include button-reset;
70
+ position: relative;
71
+ display: flex;
72
+ height: 100%;
73
+ align-items: center;
74
+ padding: 0 $spacing-xs;
75
+ margin-inline-end: -0.6625rem;
76
+ margin-inline-start: -0.225rem;
77
+ color: rgba($color-purple-800-rgb, 0.7);
78
+ cursor: pointer;
79
+
80
+ &:hover {
81
+ color: $color-purple-800;
82
+ }
83
+
84
+ &:active {
85
+ color: $color-purple-800;
86
+ }
87
+
88
+ svg {
89
+ position: relative;
90
+ }
91
+
92
+ :global(.js-focus-visible) & {
93
+ outline: none;
94
+
95
+ // show custom focus ring when :focus-visible
96
+ &:global(.focus-visible) .iconWrapper {
97
+ color: $color-purple-800;
98
+
99
+ &::after {
100
+ $focus-ring-offset: calc((#{$border-focus-ring-border-width}));
101
+ content: "";
102
+ position: absolute;
103
+ background: transparent;
104
+ border-radius: 50%;
105
+ border-width: $border-focus-ring-border-width;
106
+ border-style: $border-focus-ring-border-style;
107
+ border-color: $color-blue-500;
108
+ top: calc(-1 * #{$focus-ring-offset});
109
+ left: calc(-1 * #{$focus-ring-offset});
110
+ right: calc(-1 * #{$focus-ring-offset});
111
+ bottom: calc(-1 * #{$focus-ring-offset});
112
+ }
113
+ }
114
+ }
115
+ }
116
+
117
+ .background {
118
+ // As our icons are only one-tone, this span places
119
+ // a white background under the dismissible icon to
120
+ // give the illusion of a background colour that is
121
+ // different to the rest of the tag
122
+ position: absolute;
123
+ display: inline-block;
124
+ width: calc(#{$spacing-xs} + 0.125rem); // optical adjustment
125
+ height: calc(#{$spacing-xs} + 0.125rem); // optical adjustment
126
+ background-color: white;
127
+ left: 10px;
128
+ top: 10px;
129
+ }
130
+
131
+ .iconWrapper {
132
+ position: relative;
133
+ height: 16px;
134
+ width: 16px;
135
+ }
136
+
137
+ .truncate {
138
+ text-overflow: ellipsis;
139
+ overflow-x: hidden;
140
+ white-space: nowrap;
141
+ }
142
+
143
+ .inline {
144
+ margin: 0;
145
+ }
146
+
147
+ .medium {
148
+ height: $medium;
149
+ }
150
+
151
+ .small {
152
+ height: $small;
153
+ }
154
+
155
+ .default {
156
+ background-color: $color-gray-300;
157
+ }
158
+
159
+ .sentimentPositive {
160
+ background-color: $color-green-100;
161
+ }
162
+
163
+ .sentimentNeutral {
164
+ background-color: $color-gray-300;
165
+ }
166
+
167
+ .sentimentNegative {
168
+ background-color: $color-red-100;
169
+ }
170
+
171
+ .sentimentNone {
172
+ background-color: $color-white;
173
+ border-color: $color-gray-300;
174
+ }
175
+
176
+ .validationPositive {
177
+ background-color: $color-green-100;
178
+
179
+ .validationIcon {
180
+ color: $color-green-500;
181
+ }
182
+ }
183
+
184
+ .validationInformative {
185
+ background-color: $color-blue-100;
186
+
187
+ .validationIcon {
188
+ color: $color-blue-500;
189
+ }
190
+ }
191
+
192
+ .validationNegative {
193
+ background-color: $color-red-100;
194
+
195
+ .validationIcon {
196
+ color: $color-red-500;
197
+ }
198
+ }
199
+
200
+ .validationCautionary {
201
+ background-color: $color-yellow-100;
202
+
203
+ .validationIcon {
204
+ color: $color-yellow-500;
205
+ }
206
+ }
207
+
208
+ .statusLive {
209
+ background-color: $color-green-100;
210
+ color: $color-purple-800;
211
+ }
212
+
213
+ .statusAction {
214
+ background-color: $color-orange-100;
215
+ color: $color-purple-800;
216
+ }
217
+
218
+ .statusClosed {
219
+ background-color: $color-red-100;
220
+ }
221
+
222
+ .statusDraft {
223
+ background-color: $color-blue-100;
224
+ color: $color-purple-800;
225
+ }
226
+
227
+ $pulse-size-initial: 2px;
228
+ $pulse-scale-factor: 9;
229
+ $pulse-size-after: $pulse-size-initial * $pulse-scale-factor;
230
+ $pulse-ring-position: calc(
231
+ -1 * (#{$pulse-size-after} / 2) + (#{$pulse-size-initial} / 2)
232
+ );
233
+
234
+ .pulse {
235
+ margin-inline-start: calc(#{$spacing-md} * 0.35);
236
+ margin-inline-end: calc(#{$spacing-md} * 0.15);
237
+ width: $pulse-size-initial;
238
+ height: $pulse-size-initial;
239
+ border-radius: 50%;
240
+ background-color: $color-blue-500;
241
+ display: inline-block;
242
+ position: relative;
243
+ opacity: 0.5;
244
+ }
245
+
246
+ .pulseRing {
247
+ position: absolute;
248
+ width: $pulse-size-after;
249
+ height: $pulse-size-after;
250
+ // this positioning has to be calculated as an exact value as scaling will mess with percentage values
251
+ left: $pulse-ring-position;
252
+ top: $pulse-ring-position;
253
+ border-radius: 50%;
254
+ background-color: $color-green-500;
255
+ animation: pulsate infinite 2.5s ease-out;
256
+ }
257
+
258
+ @keyframes pulsate {
259
+ 0% {
260
+ transform: scale(0);
261
+ opacity: 1;
262
+ }
263
+ 50%,
264
+ 100% {
265
+ transform: scale(1);
266
+ opacity: 0;
267
+ }
268
+ }