@kaizen/components 1.4.22-canary.0 → 1.4.22

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 (121) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/esm/index.js +53 -0
  3. package/dist/iife/ActionButton.module-LHTIA2D3.scss +10 -0
  4. package/dist/iife/Avatar.module-GUG7HXMZ.scss +165 -0
  5. package/dist/iife/AvatarGroup.module-QAVTI4PR.scss +85 -0
  6. package/dist/iife/Base.module-DJPJNUQ5.scss +80 -0
  7. package/dist/iife/BaseButton.module-4FKZZLVI.scss +103 -0
  8. package/dist/iife/Brand.module-FCHTLJQK.scss +4 -0
  9. package/dist/iife/BrandMoment.module-4P7H2D3W.scss +196 -0
  10. package/dist/iife/Calendar.module-H7XBQXTA.scss +211 -0
  11. package/dist/iife/CalendarRange.module-QWW624PJ.scss +64 -0
  12. package/dist/iife/CalendarSingle.module-N2P3DWLM.scss +18 -0
  13. package/dist/iife/Card.module-VEUOO2LT.scss +38 -0
  14. package/dist/iife/Collapsible.module-ZJNVWQIB.scss +119 -0
  15. package/dist/iife/CollapsibleGroup.module-UR2SIYLJ.scss +10 -0
  16. package/dist/iife/ConfirmationModal.module-RN2H7KPL.scss +157 -0
  17. package/dist/iife/Content.module-6CTLBAHR.scss +25 -0
  18. package/dist/iife/ContextModal.module-TTFVPUPU.scss +77 -0
  19. package/dist/iife/DateInput.module-YBXARKD2.scss +3 -0
  20. package/dist/iife/DateInputDescription.module-SGAJNB7K.scss +19 -0
  21. package/dist/iife/DateInputField.module-2LG4I24X.scss +5 -0
  22. package/dist/iife/DateInputWithIconButton.module-RSUEQ345.scss +53 -0
  23. package/dist/iife/DateRangePicker.module-EIUGUIIA.scss +115 -0
  24. package/dist/iife/Dropdown.module-4CIBZTRZ-4CIBZTRZ.scss +100 -0
  25. package/dist/iife/DropdownButton.module-WZ6FRRPS.scss +44 -0
  26. package/dist/iife/EditableRichTextContent.module-N2SFSI5C.scss +25 -0
  27. package/dist/iife/EmptyState.module-DOSURL5X.scss +156 -0
  28. package/dist/iife/ExpertAdviceCollapsible.module-L554JCXB.scss +47 -0
  29. package/dist/iife/FilterMenuButton.module-26EL5K3H.scss +19 -0
  30. package/dist/iife/FilterSplitButton.module-LMMEHFXQ.scss +133 -0
  31. package/dist/iife/FloatingCalendarWrapper.module-62NLSOUD.scss +12 -0
  32. package/dist/iife/GenericModal.module-DW6NSOGA.scss +110 -0
  33. package/dist/iife/GenericModalSection.module-MJ4MTMSP.scss +7 -0
  34. package/dist/iife/GenericNotification.module-DAERSOHE.scss +115 -0
  35. package/dist/iife/GenericTile.module-ZXQ4XWP4.scss +136 -0
  36. package/dist/iife/GuidanceBlock.module-FAHJFZMK.scss +324 -0
  37. package/dist/iife/HeroCard.module-LXHTKJTW.scss +106 -0
  38. package/dist/iife/Icon.module-VD7NKLAR-VD7NKLAR.scss +72 -0
  39. package/dist/iife/InputEditModal.module-X3TLJPFO.scss +36 -0
  40. package/dist/iife/KaizenProvider/ThemeProvider/ThemeManager.js +2968 -62
  41. package/dist/iife/KaizenProvider/ThemeProvider/ThemeManager.spec.js +2968 -369
  42. package/dist/iife/KaizenProvider/ThemeProvider/index.js +764 -64
  43. package/dist/iife/KaizenProvider/index.js +767 -67
  44. package/dist/iife/Layout.module-MZ6JYT46-MZ6JYT46.scss +58 -0
  45. package/dist/iife/LikertScaleLegacy.module-JYCJ5CON.scss +298 -0
  46. package/dist/iife/LinkPopover-7NCAPCQ3.scss +22 -0
  47. package/dist/iife/MainActions.module-T43D33YO.scss +16 -0
  48. package/dist/iife/Menu.module-N76N74LN-N76N74LN.scss +111 -0
  49. package/dist/iife/MenuDropdown.module-DYV6JLT6.scss +26 -0
  50. package/dist/iife/MenuItem.module-LD7ZYX4T.scss +99 -0
  51. package/dist/iife/MenuList.module-44RMG7CF.scss +35 -0
  52. package/dist/iife/MobileActions.module-Z6PD4VIR.scss +198 -0
  53. package/dist/iife/ModalAccessibleDescription.module-NIJNKHHO.scss +3 -0
  54. package/dist/iife/ModalAccessibleLabel.module-NG26HDU4.scss +58 -0
  55. package/dist/iife/ModalFooter.module-TK3HAXMB.scss +69 -0
  56. package/dist/iife/ModalHeader.module-6SW7KZ22.scss +23 -0
  57. package/dist/iife/MultiActionTile.module-4Y2NA4H6.scss +3 -0
  58. package/dist/iife/NavigationTabs.module-VDIXMFXJ.scss +108 -0
  59. package/dist/iife/Pagination.module-U5S6WZ5K.scss +124 -0
  60. package/dist/iife/Popover.module-5ZQUBHXG.scss +264 -0
  61. package/dist/iife/ProgressBar.module-RL2UWVEH.scss +91 -0
  62. package/dist/iife/RichTextContent.module-4HA44IM4.scss +5 -0
  63. package/dist/iife/RichTextEditor.module-ZHXEK4XJ.scss +97 -0
  64. package/dist/iife/RoadblockModal.module-KVZCYLF2.scss +45 -0
  65. package/dist/iife/Select.module-6LHWOGGY.scss +391 -0
  66. package/dist/iife/Skirt.module-S3GPHMMQ.scss +32 -0
  67. package/dist/iife/SkirtCard.module-6YQ4PS2K.scss +16 -0
  68. package/dist/iife/SplitButton.module-WMGCIDDK.scss +4 -0
  69. package/dist/iife/StatelessMenu.module-SX2T5P4I.scss +3 -0
  70. package/dist/iife/Table.module-LCDRXCBP.scss +233 -0
  71. package/dist/iife/Tabs.module-BUPNPYW4.scss +172 -0
  72. package/dist/iife/Tag.module-T6PQJLSW.scss +268 -0
  73. package/dist/iife/Text.module-SXGFOHGJ-SXGFOHGJ.scss +173 -0
  74. package/dist/iife/TileGrid.module-NJQFVYRS.scss +23 -0
  75. package/dist/iife/TimeField.module-B4WNYAUE.scss +75 -0
  76. package/dist/iife/TimeSegment.module-TKOTKIXH.scss +53 -0
  77. package/dist/iife/TitleBlockMenuItem.module-LWVSMJTH.scss +99 -0
  78. package/dist/iife/TitleBlockZen.module-OK3QIC4Y.scss +695 -0
  79. package/dist/iife/ToastNotificationsList.module-EHDVGWDW.scss +26 -0
  80. package/dist/iife/ToggleIconButton.module-COM67MDC.scss +132 -0
  81. package/dist/iife/Toolbar.module-3BZYZE6H.scss +44 -0
  82. package/dist/iife/Toolbar.module-BP3GTBGW.scss +6 -0
  83. package/dist/iife/ToolbarSection.module-LZTHWGO7.scss +15 -0
  84. package/dist/iife/Well.module-4TIRC3HQ.scss +73 -0
  85. package/dist/iife/__future__/index.js +915 -594
  86. package/dist/iife/add-link.icon-2JH25LOT.svg +3 -0
  87. package/dist/iife/arrow-left.icon-RWWYLDT3.svg +17 -0
  88. package/dist/iife/arrow-right.icon-3ZGNCW3O.svg +17 -0
  89. package/dist/iife/bold.icon-FEZQ56AP.svg +3 -0
  90. package/dist/iife/bulletted-list.icon-ZDSXNO72.svg +3 -0
  91. package/dist/iife/caution.icon-BHBJMNMA.svg +1 -0
  92. package/dist/iife/clear-white.icon-O3ZK5Z2K.svg +18 -0
  93. package/dist/iife/close.icon-7H6W45MB.svg +1 -0
  94. package/dist/iife/date-start.icon-NV4EVRXI.svg +17 -0
  95. package/dist/iife/decrease-indent.icon-VAYQUHQG.svg +3 -0
  96. package/dist/iife/edit.icon-YJ4EIXHJ.svg +17 -0
  97. package/dist/iife/ellipsis.icon-DECY5OPU.svg +17 -0
  98. package/dist/iife/exclamation.icon-FJBHW7NP.svg +17 -0
  99. package/dist/iife/external-link.icon-7FNRTMN2.svg +17 -0
  100. package/dist/iife/hamburger.icon-YHQT7RB6.svg +17 -0
  101. package/dist/iife/increase-indent.icon-3XUPJEBD.svg +3 -0
  102. package/dist/iife/index.js +115500 -1173
  103. package/dist/iife/information-white.icon-3DXZDERC.svg +19 -0
  104. package/dist/iife/information.icon-5LHKLG66.svg +17 -0
  105. package/dist/iife/italics.icon-WWQDZP3S.svg +3 -0
  106. package/dist/iife/meatballs.icon-DECY5OPU.svg +17 -0
  107. package/dist/iife/numbered-list.icon-WPE4LE5R.svg +3 -0
  108. package/dist/iife/remove-link.icon-QMFTP7WO.svg +3 -0
  109. package/dist/iife/sort-ascending.icon-E24DTSHO.svg +17 -0
  110. package/dist/iife/sort-descending.icon-4SMPW2PG.svg +17 -0
  111. package/dist/iife/success-white.icon-VXFA2PUU.svg +18 -0
  112. package/dist/iife/underline.icon-ACYVVVSD.svg +3 -0
  113. package/dist/iife/user.icon-24JPACDP.svg +17 -0
  114. package/dist/index.d.ts +41 -1
  115. package/dist/index.js +54 -1
  116. package/dist/styles.css +98 -0
  117. package/package.json +32 -32
  118. /package/dist/iife/{Margin.module-DJURK5K7.scss → Margin.module-DJURK5K7-DJURK5K7.scss} +0 -0
  119. /package/dist/iife/{Padding.module-QSNUEZBU.scss → Padding.module-QSNUEZBU-QSNUEZBU.scss} +0 -0
  120. /package/dist/iife/{SkipLink.module-KAZA7PAL.scss → SkipLink.module-KAZA7PAL-KAZA7PAL.scss} +0 -0
  121. /package/dist/iife/{VisuallyHidden.module-E5JUNEF5.scss → VisuallyHidden.module-E5JUNEF5-E5JUNEF5.scss} +0 -0
@@ -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
+ }
@@ -0,0 +1,173 @@
1
+ @import "~@kaizen/deprecated-component-library-helpers/styles/type";
2
+
3
+ .page-title,
4
+ h1.default-style {
5
+ @include ca-type-inter-page-title;
6
+ margin-bottom: $ca-grid;
7
+ margin-top: 0;
8
+ }
9
+
10
+ .title,
11
+ h2.default-style {
12
+ @include ca-type-inter-title;
13
+ margin-bottom: $ca-grid;
14
+ margin-top: 0;
15
+ }
16
+
17
+ .display,
18
+ h3.default-style {
19
+ @include ca-type-inter-display;
20
+ margin-bottom: $ca-grid;
21
+ margin-top: 0;
22
+ }
23
+
24
+ .heading,
25
+ h4.default-style,
26
+ h5.default-style,
27
+ h6.default-style {
28
+ @include ca-type-inter-heading;
29
+ margin-bottom: $ca-grid;
30
+ margin-top: 0;
31
+ }
32
+
33
+ .lede {
34
+ @include ca-type-inter-lede;
35
+ margin-bottom: $ca-grid;
36
+ margin-top: 0;
37
+ }
38
+
39
+ .paragraph,
40
+ p.default-style {
41
+ @include ca-type-inter-body;
42
+ margin-bottom: $ca-grid;
43
+ margin-top: 0;
44
+ }
45
+
46
+ .body,
47
+ .default-style {
48
+ @include ca-type-inter-body;
49
+ margin: 0;
50
+ }
51
+
52
+ .body-bold {
53
+ @include ca-type-inter-body-bold;
54
+ margin: 0;
55
+ }
56
+
57
+ .small {
58
+ @include ca-type-inter-small;
59
+ margin: 0;
60
+ }
61
+
62
+ .small-bold {
63
+ @include ca-type-inter-small-bold;
64
+ margin: 0;
65
+ }
66
+
67
+ .notification {
68
+ @include ca-type-inter-notification;
69
+ margin: 0;
70
+ }
71
+
72
+ .label {
73
+ @include ca-type-inter-label;
74
+ margin: 0;
75
+ }
76
+
77
+ .control-action {
78
+ @include ca-type-inter-control-action;
79
+ margin: 0;
80
+ }
81
+
82
+ .button {
83
+ @include ca-type-inter-button;
84
+ margin: 0;
85
+ }
86
+
87
+ // We double the class selector to increase specificity above rules like `h1.default-style`
88
+ .inheritBaseline.inheritBaseline {
89
+ @include ca-inherit-baseline;
90
+ }
91
+
92
+ // Required for aligning text alongside other elements e.g. Button
93
+ .inline.inline {
94
+ display: inline-flex;
95
+ margin-bottom: 0;
96
+ }
97
+
98
+ // Alias classes for Elm CSS modules
99
+ .defaultStyle {
100
+ composes: default-style;
101
+ }
102
+ .pageTitle {
103
+ composes: page-title;
104
+ }
105
+ .bodyBold {
106
+ composes: body-bold;
107
+ }
108
+ .smallBold {
109
+ composes: small-bold;
110
+ }
111
+ .controlAction {
112
+ composes: control-action;
113
+ }
114
+
115
+ .zen-display-0 {
116
+ @include kz-typography-display-0;
117
+ margin-bottom: $ca-grid;
118
+ margin-top: 0;
119
+ }
120
+
121
+ .zen-heading-1 {
122
+ @include kz-typography-heading-1;
123
+ margin-bottom: $ca-grid;
124
+ margin-top: 0;
125
+ }
126
+
127
+ .zen-heading-2 {
128
+ @include kz-typography-heading-2;
129
+ margin-bottom: $ca-grid;
130
+ margin-top: 0;
131
+ }
132
+
133
+ .zen-heading-3 {
134
+ @include kz-typography-heading-3;
135
+ margin-bottom: $ca-grid;
136
+ margin-top: 0;
137
+ }
138
+
139
+ .zen-data-large {
140
+ @include kz-typography-data-large;
141
+ margin-bottom: $ca-grid;
142
+ margin-top: 0;
143
+ }
144
+
145
+ .zen-data-large-units {
146
+ @include kz-typography-data-large-units;
147
+ margin-bottom: $ca-grid;
148
+ margin-top: 0;
149
+ }
150
+
151
+ .zen-data-medium {
152
+ @include kz-typography-data-medium;
153
+ margin-bottom: $ca-grid;
154
+ margin-top: 0;
155
+ }
156
+
157
+ .zen-data-medium-units {
158
+ @include kz-typography-data-medium-units;
159
+ margin-bottom: $ca-grid;
160
+ margin-top: 0;
161
+ }
162
+
163
+ .zen-data-small {
164
+ @include kz-typography-data-small;
165
+ margin-bottom: $ca-grid;
166
+ margin-top: 0;
167
+ }
168
+
169
+ .zen-data-small-units {
170
+ @include kz-typography-data-small-units;
171
+ margin-bottom: $ca-grid;
172
+ margin-top: 0;
173
+ }
@@ -0,0 +1,23 @@
1
+ @import "~@kaizen/design-tokens/sass/spacing";
2
+ @import "~@kaizen/component-library/styles/responsive";
3
+ @import "./variables";
4
+
5
+ .grid {
6
+ display: grid;
7
+ // the more we shave off the width here,
8
+ // the less the tiles will grow when they lose one from the row
9
+ grid-template-columns: repeat(auto-fill, minmax($tileWidth - 40px, 1fr));
10
+ grid-gap: $spacing-md;
11
+
12
+ @include ca-media-mobile {
13
+ grid-template-columns: repeat(2, minmax(226px, $tileHeight));
14
+
15
+ > * {
16
+ width: 100%;
17
+ }
18
+ }
19
+
20
+ @media (max-width: 480px) {
21
+ grid-template-columns: repeat(1, 100%);
22
+ }
23
+ }
@@ -0,0 +1,75 @@
1
+ @import "~@kaizen/design-tokens/sass/typography";
2
+ @import "~@kaizen/design-tokens/sass/border";
3
+ @import "~@kaizen/design-tokens/sass/color";
4
+ @import "~@kaizen/design-tokens/sass/spacing";
5
+
6
+ $input-height: 48px;
7
+
8
+ // Classnames to simulate pseudo states in storybook
9
+ $story-className--timefield-hover: ":global(.story__timefield-hover)";
10
+ $story-className--timefield-focus: ":global(.story__timefield-focus)";
11
+
12
+ .wrapper {
13
+ position: relative;
14
+ display: flex;
15
+ flex-direction: column;
16
+ align-items: flex-start;
17
+ font-family: $typography-paragraph-body-font-family;
18
+ font-weight: $typography-paragraph-body-font-weight;
19
+ font-size: $typography-paragraph-body-font-size;
20
+ line-height: $typography-paragraph-body-line-height;
21
+ letter-spacing: $typography-paragraph-body-letter-spacing;
22
+ color: $color-purple-800;
23
+ }
24
+
25
+ .input {
26
+ display: inline-flex;
27
+ align-items: center;
28
+ background-color: $color-white;
29
+ background-clip: padding-box;
30
+ border: $border-solid-border-width $border-solid-border-style $color-gray-500;
31
+ border-radius: $border-solid-border-radius;
32
+ font-size: $typography-paragraph-body-font-size;
33
+ line-height: $typography-paragraph-body-line-height;
34
+ padding: 0 $spacing-sm;
35
+ height: $input-height;
36
+ width: 100%;
37
+ box-sizing: border-box;
38
+
39
+ &:hover,
40
+ #{$story-className--timefield-hover} &,
41
+ &:focus-within,
42
+ #{$story-className--timefield-focus} & {
43
+ border-color: $color-gray-600;
44
+ background-color: $color-gray-200;
45
+ }
46
+ }
47
+
48
+ .input:focus-within,
49
+ #{$story-className--timefield-focus} .input {
50
+ .focusRing {
51
+ $focus-ring-offset: 3px;
52
+ position: absolute;
53
+ background: transparent;
54
+ border-radius: $border-focus-ring-border-radius;
55
+ border-width: $border-focus-ring-border-width;
56
+ border-style: $border-focus-ring-border-style;
57
+ border-color: $color-blue-500;
58
+ top: -$focus-ring-offset;
59
+ left: -$focus-ring-offset;
60
+ right: -$focus-ring-offset;
61
+ bottom: -$focus-ring-offset;
62
+ pointer-events: none;
63
+ }
64
+ }
65
+
66
+ .isDisabled {
67
+ pointer-events: none;
68
+ background-color: transparent;
69
+ border-color: $color-gray-500;
70
+ opacity: 0.3;
71
+ }
72
+
73
+ .error {
74
+ border: $border-solid-border-width $border-solid-border-style $color-red-500;
75
+ }