@kaizen/components 3.0.2 → 3.0.4

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 (38) hide show
  1. package/dist/cjs/src/ClearButton/ClearButton.cjs +1 -1
  2. package/dist/cjs/src/ClearButton/ClearButton.module.css.cjs +8 -0
  3. package/dist/cjs/src/Slider/Slider.cjs +1 -1
  4. package/dist/cjs/src/Slider/Slider.module.css.cjs +12 -0
  5. package/dist/cjs/src/TimeField/TimeField.cjs +1 -1
  6. package/dist/cjs/src/TimeField/TimeField.module.css.cjs +11 -0
  7. package/dist/cjs/src/TimeField/subcomponents/TimeSegment/TimeSegment.cjs +1 -1
  8. package/dist/cjs/src/TimeField/subcomponents/TimeSegment/TimeSegment.module.css.cjs +11 -0
  9. package/dist/esm/src/ClearButton/ClearButton.mjs +1 -1
  10. package/dist/esm/src/ClearButton/ClearButton.module.css.mjs +6 -0
  11. package/dist/esm/src/Slider/Slider.mjs +1 -1
  12. package/dist/esm/src/Slider/Slider.module.css.mjs +10 -0
  13. package/dist/esm/src/TimeField/TimeField.mjs +1 -1
  14. package/dist/esm/src/TimeField/TimeField.module.css.mjs +9 -0
  15. package/dist/esm/src/TimeField/subcomponents/TimeSegment/TimeSegment.mjs +1 -1
  16. package/dist/esm/src/TimeField/subcomponents/TimeSegment/TimeSegment.module.css.mjs +9 -0
  17. package/dist/styles.css +147 -107
  18. package/locales/kk-KZ.json +259 -0
  19. package/package.json +6 -6
  20. package/src/ClearButton/{ClearButton.module.scss → ClearButton.module.css} +12 -10
  21. package/src/ClearButton/ClearButton.tsx +1 -1
  22. package/src/Slider/Slider.module.css +44 -0
  23. package/src/Slider/Slider.tsx +1 -1
  24. package/src/TimeField/TimeField.module.css +68 -0
  25. package/src/TimeField/TimeField.tsx +1 -1
  26. package/src/TimeField/subcomponents/TimeSegment/TimeSegment.module.css +49 -0
  27. package/src/TimeField/subcomponents/TimeSegment/TimeSegment.tsx +1 -1
  28. package/dist/cjs/src/ClearButton/ClearButton.module.scss.cjs +0 -8
  29. package/dist/cjs/src/Slider/Slider.module.scss.cjs +0 -12
  30. package/dist/cjs/src/TimeField/TimeField.module.scss.cjs +0 -11
  31. package/dist/cjs/src/TimeField/subcomponents/TimeSegment/TimeSegment.module.scss.cjs +0 -11
  32. package/dist/esm/src/ClearButton/ClearButton.module.scss.mjs +0 -6
  33. package/dist/esm/src/Slider/Slider.module.scss.mjs +0 -10
  34. package/dist/esm/src/TimeField/TimeField.module.scss.mjs +0 -9
  35. package/dist/esm/src/TimeField/subcomponents/TimeSegment/TimeSegment.module.scss.mjs +0 -9
  36. package/src/Slider/Slider.module.scss +0 -48
  37. package/src/TimeField/TimeField.module.scss +0 -73
  38. package/src/TimeField/subcomponents/TimeSegment/TimeSegment.module.scss +0 -49
@@ -0,0 +1,259 @@
1
+ {
2
+ "smartling" : {
3
+ "string_format" : "icu",
4
+ "translate_paths" : [
5
+ {
6
+ "instruction" : "*/description",
7
+ "key" : "{*}/message",
8
+ "path" : "*/message"
9
+ }],
10
+ "variants_enabled" : true
11
+ },
12
+ "date.validation.invalidDate" : {
13
+ "description" : "Error message when the user enters an invalid date and we do not know their input value",
14
+ "message" : "Күн жарамсыз"
15
+ },
16
+ "date.validation.invalidDateWithValue" : {
17
+ "description" : "Error message when the user enters an invalid date and we know their input value",
18
+ "message" : "{inputValue} — жарамсыз күн"
19
+ },
20
+ "date.validation.rangeEndBeforeRangeStart" : {
21
+ "description" : "Error message when the user tries to select an end date earlier than the start date",
22
+ "message" : "«{startDateFieldLabel}» ішіндегі таңдаудан бұрын болмауы керек"
23
+ },
24
+ "date.validation.unavailableDate" : {
25
+ "description" : "Error message when the user tries to select a date that is unavailable",
26
+ "message" : "{inputValue} қолжетімді емес, басқа күнді таңдап көріңіз"
27
+ },
28
+ "dateInputDescription.inputFormat" : {
29
+ "description" : "Label for the 'Input format' field",
30
+ "message" : "Енгізу форматы"
31
+ },
32
+ "datePicker.calendarLabelDescription" : {
33
+ "description" : "Label for the search input",
34
+ "message" : "Күнтізбеден күнді таңдаңыз:"
35
+ },
36
+ "filterBar.addFiltersMenu.buttonLabel" : {
37
+ "description" : "Menu button label to show additional available filter options",
38
+ "message" : "Сүзгілерді қосу"
39
+ },
40
+ "filterBar.clearAllButton.ariaLabel" : {
41
+ "description" : "Button aria-label to clear all values within the filter bar",
42
+ "message" : "Барлық сүзгіні тазалау"
43
+ },
44
+ "filterBar.clearAllButton.label" : {
45
+ "description" : "Button label to clear all values within the filter bar",
46
+ "message" : "Барлығын тазалау"
47
+ },
48
+ "filterButton.removable.removeButtonLabel" : {
49
+ "description" : "Button label to remove a single filter from the filter bar",
50
+ "message" : "Сүзгіні алып тастау — {filterLabel}"
51
+ },
52
+ "filterDatePickerDateInputField.dateInputLabelFallback" : {
53
+ "description" : "Default label for date input field",
54
+ "message" : "Күні"
55
+ },
56
+ "filterDateRangePicker.dateFrom" : {
57
+ "description" : "Label for the 'Date from' field",
58
+ "message" : "Күні"
59
+ },
60
+ "filterDateRangePicker.dateTo" : {
61
+ "description" : "Label for the 'date to' field",
62
+ "message" : "Күні"
63
+ },
64
+ "filterMultiSelectClearButton.label" : {
65
+ "description" : "Clear button label for filter multi-select",
66
+ "message" : "<VisuallyHidden>Таңдауларды</VisuallyHidden> тазалау"
67
+ },
68
+ "filterMultiSelectMultiSelectOption.available" : {
69
+ "description" : "Number of filter items available",
70
+ "message" : "<Badge>{count}</Badge><VisuallyHidden> қолжетімді</VisuallyHidden>"
71
+ },
72
+ "filterMultiSelectSearchInput.label" : {
73
+ "description" : "Label for the search input",
74
+ "message" : "Іздеу сұрауы бойынша сүзгілеу нұсқалары"
75
+ },
76
+ "filterMultiSelectSearchInput.placeholder" : {
77
+ "description" : "Placeholder for the search input",
78
+ "message" : "Ізделіп жатыр..."
79
+ },
80
+ "filterMultiSelectSelectAllButton.label" : {
81
+ "description" : "Select all button in filter multi select",
82
+ "message" : "Барлығын таңдау"
83
+ },
84
+ "inputSearch.clear" : {
85
+ "description" : "Label for the clear search button",
86
+ "message" : "Іздеуді тазалау"
87
+ },
88
+ "kz.rte.bold" : {
89
+ "description" : "Label for the \"Bold\" button in a text editor",
90
+ "message" : "Қалың"
91
+ },
92
+ "kz.rte.bullet_list" : {
93
+ "description" : "Label for the \"Bullet list\" button in a text editor",
94
+ "message" : "Белгіленген тізім"
95
+ },
96
+ "kz.rte.decrease_indent" : {
97
+ "description" : "Label for the \"Decrease indent\" button in a text editor",
98
+ "message" : "Шегіністі азайту"
99
+ },
100
+ "kz.rte.increase_indent" : {
101
+ "description" : "Label for the \"Increase indent\" button in a text editor",
102
+ "message" : "Шегіністі ұлғайту"
103
+ },
104
+ "kz.rte.italic" : {
105
+ "description" : "Label for the \"Italic\" button in a text editor",
106
+ "message" : "Көлбеу"
107
+ },
108
+ "kz.rte.link" : {
109
+ "description" : "Label for the \"Link\" button in a text editor that allows the creation of hyperlinks in the text",
110
+ "message" : "Сілтеме"
111
+ },
112
+ "kz.rte.numbered_list" : {
113
+ "description" : "Label for the \"Numbered list\" button in a text editor",
114
+ "message" : "Нөмірленген тізім"
115
+ },
116
+ "kz.rte.toolbar.aria_label" : {
117
+ "description" : "Label for the text formatting toolbar in a Rich Text Editor",
118
+ "message" : "Мәтінді форматтау"
119
+ },
120
+ "kz.rte.underline" : {
121
+ "description" : "Label for the \"Underline\" button in a text editor",
122
+ "message" : "Астын сызу"
123
+ },
124
+ "kzErrorPage" : {
125
+ "description" : "Label for contact button",
126
+ "message" : "Қолдау көрсету қызметіне хабарласу"
127
+ },
128
+ "kzErrorPage.400.message" : {
129
+ "description" : "Call to action instructions for the user",
130
+ "message" : "Қазір бетті жүктеуге қатысты ақау бар. Әрекетті қайталап көріңіз немесе «Басты бет» бөліміне өтіңіз."
131
+ },
132
+ "kzErrorPage.400.title" : {
133
+ "description" : "Heading for page",
134
+ "message" : "Бетті жүктеу кезінде ақау пайда болды"
135
+ },
136
+ "kzErrorPage.401.message" : {
137
+ "description" : "Call to action instructions for the user",
138
+ "message" : "Осы бетті көре алатыныңызды тексере алмаймыз. Қайтып оралып, әрекетті қайталап көріңіз немесе «Басты бет» бөліміне өтіңіз."
139
+ },
140
+ "kzErrorPage.401.title" : {
141
+ "description" : "Main title for page",
142
+ "message" : "Бұл бетті көру мүмкін емес"
143
+ },
144
+ "kzErrorPage.403.message" : {
145
+ "description" : "Call to action instructions for the user",
146
+ "message" : "Осы бетті көру үшін рұқсатыңыз жоқ сияқты. Қайтып оралып, әрекетті қайталап көріңіз немесе «Басты бет» бөліміне өтіңіз."
147
+ },
148
+ "kzErrorPage.403.title" : {
149
+ "description" : "Main title for page",
150
+ "message" : "Бұл бетті көру мүмкін емес"
151
+ },
152
+ "kzErrorPage.404.message" : {
153
+ "description" : "Call to action instructions for the user",
154
+ "message" : "Кешіріңіз, бірақ сіз іздеп жатқан бетті таба алмадық. Қайтып оралып, әрекетті қайталап көріңіз немесе Басты бетке өтіңіз."
155
+ },
156
+ "kzErrorPage.404.title" : {
157
+ "description" : "Main title of page",
158
+ "message" : "Бет табылмады"
159
+ },
160
+ "kzErrorPage.413" : {
161
+ "description" : "Call to action instructions for the user",
162
+ "message" : "Жүйемізде ақау бар, сондықтан бұл бетті көрсету мүмкін емес. Қайтып оралып, әрекетті қайталап көріңіз немесе «Басты бет» бөліміне өтіңіз."
163
+ },
164
+ "kzErrorPage.413.title" : {
165
+ "description" : "Main title of page",
166
+ "message" : "Біз жақтан бірдеңе дұрыс болмады"
167
+ },
168
+ "kzErrorPage.422.message" : {
169
+ "description" : "Call to action instructions for the user",
170
+ "message" : "Өзгеріс жасау мүмкін болмайды. Қайтып оралып, әрекетті қайталап көріңіз немесе «Басты бет» бөліміне өтіңіз."
171
+ },
172
+ "kzErrorPage.422.title" : {
173
+ "description" : "Main title of page",
174
+ "message" : "Өзгертуді енгізу мүмкін болмады"
175
+ },
176
+ "kzErrorPage.500" : {
177
+ "description" : "Call to action instructions for the user",
178
+ "message" : "Жүйемізде ақау бар, сондықтан бұл бетті көрсету мүмкін емес. Қайтып оралып, әрекетті қайталап көріңіз немесе «Басты бет» бөліміне өтіңіз."
179
+ },
180
+ "kzErrorPage.500.title" : {
181
+ "description" : "Main title of page",
182
+ "message" : "Біз жақтан бірдеңе дұрыс болмады"
183
+ },
184
+ "kzErrorPage.502.message" : {
185
+ "description" : "Call to action instructions for the user",
186
+ "message" : "Осы үшін кешірім сұраймыз. Қайта оралып, әрекетті қайталап көруді ұсынамыз."
187
+ },
188
+ "kzErrorPage.502.title" : {
189
+ "description" : "Main title of page",
190
+ "message" : "Бұл бетті көру мүмкін емес"
191
+ },
192
+ "kzErrorPage.503.message" : {
193
+ "description" : "Call to action instructions for the user",
194
+ "message" : "Кешірім сұраймыз. Қайта оралып, әрекетті қайталап көруді ұсынамыз."
195
+ },
196
+ "kzErrorPage.503.title" : {
197
+ "description" : "Main title of page",
198
+ "message" : "Бұл бетті көру мүмкін емес"
199
+ },
200
+ "kzErrorPage.504.message" : {
201
+ "description" : "Call to action instructions for the user",
202
+ "message" : "Кешірім сұраймыз. Қайта оралып, әрекетті қайталап көруді ұсынамыз."
203
+ },
204
+ "kzErrorPage.504.title" : {
205
+ "description" : "Main title of page",
206
+ "message" : "Бұл бетті көру мүмкін емес"
207
+ },
208
+ "kzErrorPage.errorCode" : {
209
+ "message" : "Қате коды: {code}"
210
+ },
211
+ "kzErrorPage.goToHome" : {
212
+ "description" : "Home button label",
213
+ "message" : "Басты бетке оралу"
214
+ },
215
+ "kzGenericTile.infoButtonLabel" : {
216
+ "description" : "Prompts user to interact with button to reveal more information",
217
+ "message" : "Қосымша ақпаратты қарау:"
218
+ },
219
+ "kzGenericTile.infoButtonReturnLabel" : {
220
+ "description" : "Prompts user to interact with button to hide information",
221
+ "message" : "Ақпаратты жасыру:"
222
+ },
223
+ "kzTitleBlock.combinedOverflowMenuLabel" : {
224
+ "description" : "Label for the dropdown menu which displays additional action items and secondary actions",
225
+ "message" : "Біріктірілген қосалқы және қосымша мәзірді ашу"
226
+ },
227
+ "kzTitleBlock.defaultActionMinimizedOverflowMenuLabel" : {
228
+ "description" : "Label for the dropdown menu which displays the default action item",
229
+ "message" : "Әдепкі әрекеттің қосымша мәзірін ашу"
230
+ },
231
+ "kzTitleBlock.hamburgerMenuLabel" : {
232
+ "description" : "Label for the dropdown menu which displays navigation items",
233
+ "message" : "Мәзірді ашу"
234
+ },
235
+ "kzTitleBlock.overflowMenuAriaLabel" : {
236
+ "description" : "Aria Label for the dropdown menu which displays additional action items",
237
+ "message" : "Қосымша мәзірді ашады"
238
+ },
239
+ "kzTitleBlock.overflowMenuLabel" : {
240
+ "description" : "Label for the dropdown menu which displays additional action items",
241
+ "message" : "Мәзір"
242
+ },
243
+ "kzTitleBlock.secondaryAndOverflowMenuLabel" : {
244
+ "description" : "Label for the dropdown menu which displays additional actions",
245
+ "message" : "Қосымша және артық мәзірді ашыңыз"
246
+ },
247
+ "select.clearButtonAlt" : {
248
+ "description" : "Alt text for the clear selection button. The button clears the selection the user has made via a dropdown. The field placeholder is the label of the dropdown.",
249
+ "message" : "Таңдауды тазалау: {field}"
250
+ },
251
+ "singleSelect.chevronButton" : {
252
+ "description" : "Aria label text for the SingleSelect button to open and close suggestions list",
253
+ "message" : "{field} үшін ұсыныстарды көрсету"
254
+ },
255
+ "singleSelect.clearButtonAlt_v2" : {
256
+ "description" : "Alt text for the clear selection button. The button clears the selection the user has made via a dropdown. The field placeholder is the label of the dropdown.",
257
+ "message" : "Таңдауды тазалау: {field}"
258
+ }
259
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kaizen/components",
3
- "version": "3.0.2",
3
+ "version": "3.0.4",
4
4
  "description": "Kaizen component library",
5
5
  "author": "Geoffrey Chong <geoff.chong@cultureamp.com>",
6
6
  "homepage": "https://cultureamp.design",
@@ -77,7 +77,7 @@
77
77
  "kaizen-codemod": "./bin/codemod.sh"
78
78
  },
79
79
  "dependencies": {
80
- "@floating-ui/react-dom": "^2.1.7",
80
+ "@floating-ui/react-dom": "^2.1.8",
81
81
  "@headlessui/react": "^2.2.9",
82
82
  "@internationalized/date": "^3.8.2",
83
83
  "@popperjs/core": "^2.11.8",
@@ -130,7 +130,7 @@
130
130
  },
131
131
  "devDependencies": {
132
132
  "@cultureamp/frontend-apis": "13.3.0",
133
- "@cultureamp/i18n-react-intl": "^2.15.1",
133
+ "@cultureamp/i18n-react-intl": "^4.0.1",
134
134
  "@cultureamp/package-bundler": "^2.4.4",
135
135
  "@testing-library/dom": "^10.4.1",
136
136
  "@types/jest-axe": "^3.5.9",
@@ -144,7 +144,7 @@
144
144
  "jest-axe": "^10.0.0",
145
145
  "lodash.isempty": "^4.4.0",
146
146
  "normalize.css": "^8.0.1",
147
- "postcss": "^8.5.6",
147
+ "postcss": "^8.5.8",
148
148
  "postcss-cli": "^11.0.1",
149
149
  "postcss-import": "^16.1.1",
150
150
  "postcss-preset-env": "^11.2.0",
@@ -157,11 +157,11 @@
157
157
  "rollup": "^4.59.0",
158
158
  "sass": "1.79.6",
159
159
  "serialize-query-params": "^2.0.4",
160
- "svgo": "^4.0.0",
160
+ "svgo": "^4.0.1",
161
161
  "ts-patch": "^3.3.0",
162
162
  "tslib": "^2.8.1",
163
163
  "tsx": "^4.21.0",
164
- "@kaizen/design-tokens": "11.0.1"
164
+ "@kaizen/design-tokens": "11.0.2"
165
165
  },
166
166
  "devDependenciesComments": {
167
167
  "sass": "Prevent deprecation warnings introduced in 1.80 as we plan to move away from sass",
@@ -1,11 +1,13 @@
1
- @import '~@kaizen/design-tokens/sass/border';
2
- @import '~@kaizen/design-tokens/sass/color';
3
- @import '../../styles/utils/button-reset';
4
-
5
1
  @layer kz-components {
6
2
  .clearButton {
7
- @include button-reset;
8
-
3
+ /* Button reset */
4
+ appearance: none;
5
+ background: transparent;
6
+ color: inherit;
7
+ font: inherit;
8
+ margin: 0;
9
+ padding: 0;
10
+ border: none;
9
11
  position: relative;
10
12
  display: inline-flex;
11
13
  border-radius: 100%;
@@ -22,20 +24,20 @@
22
24
  }
23
25
 
24
26
  .default {
25
- color: $color-gray-500;
27
+ color: var(--color-gray-500);
26
28
 
27
29
  &:hover,
28
30
  &:focus-visible {
29
- color: $color-purple-800;
31
+ color: var(--color-purple-800);
30
32
  }
31
33
  }
32
34
 
33
35
  .reversed {
34
- color: rgba($color-white-rgb, 0.8);
36
+ color: rgb(var(--color-white-rgb), 0.8);
35
37
 
36
38
  &:hover,
37
39
  &:focus-visible {
38
- color: $color-white;
40
+ color: var(--color-white);
39
41
  }
40
42
 
41
43
  &:focus-visible {
@@ -2,7 +2,7 @@ import React, { type ButtonHTMLAttributes } from 'react'
2
2
  import classnames from 'classnames'
3
3
  import { Icon } from '~components/Icon'
4
4
  import { type OverrideClassName } from '~components/types/OverrideClassName'
5
- import styles from './ClearButton.module.scss'
5
+ import styles from './ClearButton.module.css'
6
6
 
7
7
  export type ClearButtonProps = {
8
8
  isReversed?: boolean
@@ -0,0 +1,44 @@
1
+ @layer kz-components {
2
+ .wrapper {
3
+ display: flex;
4
+ flex-direction: column;
5
+ }
6
+
7
+ .labelWrapper {
8
+ margin-bottom: var(--spacing-sm);
9
+ }
10
+
11
+ .label {
12
+ margin-bottom: var(--spacing-4);
13
+ }
14
+
15
+ @media (width >= 768px) {
16
+ .labelInline {
17
+ &.wrapper {
18
+ align-items: center;
19
+ flex-direction: row;
20
+ }
21
+
22
+ .labelWrapper {
23
+ flex: 1;
24
+ }
25
+
26
+ .inputWrapper {
27
+ flex-basis: 50%;
28
+ }
29
+ }
30
+ }
31
+
32
+ .descriptionDisabled {
33
+ opacity: 0.3;
34
+ }
35
+
36
+ .readOnlyMessage {
37
+ text-align: center;
38
+ font-family: var(--typography-paragraph-small-font-family);
39
+ font-size: var(--typography-paragraph-small-font-size);
40
+ font-weight: var(--typography-paragraph-bold-font-weight);
41
+ line-height: var(--typography-paragraph-body-line-height);
42
+ letter-spacing: var(--typography-paragraph-body-letter-spacing);
43
+ }
44
+ }
@@ -4,7 +4,7 @@ import { FieldGroup } from '~components/FieldGroup'
4
4
  import { InputRange, type InputRangeProps } from '~components/Input/InputRange'
5
5
  import { Label } from '~components/Label'
6
6
  import { Text } from '~components/Text'
7
- import styles from './Slider.module.scss'
7
+ import styles from './Slider.module.css'
8
8
 
9
9
  export type SliderFieldProps = {
10
10
  id?: string
@@ -0,0 +1,68 @@
1
+ @layer kz-components {
2
+ :root {
3
+ --input-height: 48px;
4
+ }
5
+
6
+ .wrapper {
7
+ position: relative;
8
+ display: flex;
9
+ flex-direction: column;
10
+ align-items: flex-start;
11
+ font-family: var(--typography-paragraph-body-font-family);
12
+ font-weight: var(--typography-paragraph-body-font-weight);
13
+ font-size: var(--typography-paragraph-body-font-size);
14
+ line-height: var(--typography-paragraph-body-line-height);
15
+ letter-spacing: var(--typography-paragraph-body-letter-spacing);
16
+ color: var(--color-purple-800);
17
+ }
18
+
19
+ .label {
20
+ display: block;
21
+ margin-bottom: var(--spacing-6);
22
+ }
23
+
24
+ .input {
25
+ display: inline-flex;
26
+ align-items: center;
27
+ background-color: var(--color-white);
28
+ background-clip: padding-box;
29
+ border: var(--border-solid-border-width) var(--border-solid-border-style) var(--color-gray-500);
30
+ border-radius: var(--border-solid-border-radius);
31
+ font-size: var(--typography-paragraph-body-font-size);
32
+ line-height: var(--typography-paragraph-body-line-height);
33
+ padding: 0 var(--spacing-sm);
34
+ height: var(--input-height);
35
+ width: 100%;
36
+ box-sizing: border-box;
37
+
38
+ &:hover,
39
+ &:focus-within {
40
+ border-color: var(--color-gray-600);
41
+ background-color: var(--color-gray-200);
42
+ }
43
+ }
44
+
45
+ .input:focus-within .focusRing {
46
+ --focus-ring-offset: 3px;
47
+
48
+ position: absolute;
49
+ background: transparent;
50
+ border-radius: var(--border-focus-ring-border-radius);
51
+ border-width: var(--border-focus-ring-border-width);
52
+ border-style: var(--border-focus-ring-border-style);
53
+ border-color: var(--color-blue-500);
54
+ inset: calc(-1 * var(--focus-ring-offset));
55
+ pointer-events: none;
56
+ }
57
+
58
+ .isDisabled {
59
+ pointer-events: none;
60
+ background-color: transparent;
61
+ border-color: var(--color-gray-500);
62
+ opacity: 0.3;
63
+ }
64
+
65
+ .error {
66
+ border: var(--border-solid-border-width) var(--border-solid-border-style) var(--color-red-500);
67
+ }
68
+ }
@@ -9,7 +9,7 @@ import { Label } from '~components/Label'
9
9
  import { type OverrideClassName } from '~components/types/OverrideClassName'
10
10
  import { TimeSegment } from './subcomponents/TimeSegment'
11
11
  import { type StatusType, type TimeValue, type ValueType } from './types'
12
- import styles from './TimeField.module.scss'
12
+ import styles from './TimeField.module.css'
13
13
 
14
14
  type OmittedTimeFieldProps = 'errorMessage' | 'value' | 'onChange' | 'label' | 'hideTimeZone'
15
15
 
@@ -0,0 +1,49 @@
1
+ @layer kz-components {
2
+ /*
3
+ Chrome has a bug where `contenteditable` elements receive focus from external clicks.
4
+ This (in combination with the invisible character &#8203;) creates boundaries
5
+ for the element.
6
+ https://stackoverflow.com/a/34445203
7
+ */
8
+ .timeSegmentWrapper {
9
+ white-space: nowrap;
10
+ }
11
+
12
+ .timeSegment {
13
+ display: block;
14
+ text-align: end;
15
+ background-color: var(--color-gray-300);
16
+ border-radius: 3px;
17
+ color: var(--color-purple-800);
18
+
19
+ &:hover {
20
+ background-color: var(--color-white);
21
+ }
22
+
23
+ &:focus-visible {
24
+ color: var(--color-white);
25
+ background: var(--color-blue-500);
26
+ outline: none;
27
+ }
28
+ }
29
+
30
+ .hasPadding {
31
+ padding: 0 4px;
32
+ }
33
+
34
+ .placeholder {
35
+ color: rgb(var(--color-purple-800-rgb), 0.7);
36
+ }
37
+
38
+ .literal {
39
+ background: none;
40
+
41
+ &:hover {
42
+ background: none;
43
+ }
44
+ }
45
+
46
+ .dayPeriod {
47
+ margin-right: 4px;
48
+ }
49
+ }
@@ -3,7 +3,7 @@ import { useDateSegment } from '@react-aria/datepicker'
3
3
  import { type DateFieldState, type DateSegment } from '@react-stately/datepicker'
4
4
  import classnames from 'classnames'
5
5
  import { generateSegmentDisplayText } from './utils/generateSegmentDisplayText'
6
- import styles from './TimeSegment.module.scss'
6
+ import styles from './TimeSegment.module.css'
7
7
 
8
8
  export type TimeSegmentProps = {
9
9
  segment: DateSegment
@@ -1,8 +0,0 @@
1
- 'use strict';
2
-
3
- var styles = {
4
- "clearButton": "ClearButton-module_clearButton__CSOIc",
5
- "default": "ClearButton-module_default__lBJxw",
6
- "reversed": "ClearButton-module_reversed__0I2DC"
7
- };
8
- module.exports = styles;
@@ -1,12 +0,0 @@
1
- 'use strict';
2
-
3
- var styles = {
4
- "wrapper": "Slider-module_wrapper__zVX6g",
5
- "labelWrapper": "Slider-module_labelWrapper__WuUIw",
6
- "label": "Slider-module_label__CfIjh",
7
- "labelInline": "Slider-module_labelInline__zjINd",
8
- "inputWrapper": "Slider-module_inputWrapper__n16yj",
9
- "descriptionDisabled": "Slider-module_descriptionDisabled__8GwiS",
10
- "readOnlyMessage": "Slider-module_readOnlyMessage__Zscoa"
11
- };
12
- module.exports = styles;
@@ -1,11 +0,0 @@
1
- 'use strict';
2
-
3
- var styles = {
4
- "wrapper": "TimeField-module_wrapper__YuSI3",
5
- "label": "TimeField-module_label__kjKyK",
6
- "input": "TimeField-module_input__Hxjcu",
7
- "focusRing": "TimeField-module_focusRing__7hgWG",
8
- "isDisabled": "TimeField-module_isDisabled__rpEc8",
9
- "error": "TimeField-module_error__tK2QY"
10
- };
11
- module.exports = styles;
@@ -1,11 +0,0 @@
1
- 'use strict';
2
-
3
- var styles = {
4
- "timeSegmentWrapper": "TimeSegment-module_timeSegmentWrapper__WYD6y",
5
- "timeSegment": "TimeSegment-module_timeSegment__eXb0c",
6
- "hasPadding": "TimeSegment-module_hasPadding__9oYW3",
7
- "placeholder": "TimeSegment-module_placeholder__j1-gK",
8
- "literal": "TimeSegment-module_literal__mOkqz",
9
- "dayPeriod": "TimeSegment-module_dayPeriod__fzT5I"
10
- };
11
- module.exports = styles;
@@ -1,6 +0,0 @@
1
- var styles = {
2
- "clearButton": "ClearButton-module_clearButton__CSOIc",
3
- "default": "ClearButton-module_default__lBJxw",
4
- "reversed": "ClearButton-module_reversed__0I2DC"
5
- };
6
- export { styles as default };
@@ -1,10 +0,0 @@
1
- var styles = {
2
- "wrapper": "Slider-module_wrapper__zVX6g",
3
- "labelWrapper": "Slider-module_labelWrapper__WuUIw",
4
- "label": "Slider-module_label__CfIjh",
5
- "labelInline": "Slider-module_labelInline__zjINd",
6
- "inputWrapper": "Slider-module_inputWrapper__n16yj",
7
- "descriptionDisabled": "Slider-module_descriptionDisabled__8GwiS",
8
- "readOnlyMessage": "Slider-module_readOnlyMessage__Zscoa"
9
- };
10
- export { styles as default };
@@ -1,9 +0,0 @@
1
- var styles = {
2
- "wrapper": "TimeField-module_wrapper__YuSI3",
3
- "label": "TimeField-module_label__kjKyK",
4
- "input": "TimeField-module_input__Hxjcu",
5
- "focusRing": "TimeField-module_focusRing__7hgWG",
6
- "isDisabled": "TimeField-module_isDisabled__rpEc8",
7
- "error": "TimeField-module_error__tK2QY"
8
- };
9
- export { styles as default };
@@ -1,9 +0,0 @@
1
- var styles = {
2
- "timeSegmentWrapper": "TimeSegment-module_timeSegmentWrapper__WYD6y",
3
- "timeSegment": "TimeSegment-module_timeSegment__eXb0c",
4
- "hasPadding": "TimeSegment-module_hasPadding__9oYW3",
5
- "placeholder": "TimeSegment-module_placeholder__j1-gK",
6
- "literal": "TimeSegment-module_literal__mOkqz",
7
- "dayPeriod": "TimeSegment-module_dayPeriod__fzT5I"
8
- };
9
- export { styles as default };