@kaizen/components 1.73.11 → 1.73.13

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.
@@ -84,7 +84,8 @@ var TimeFieldComponent = function (_a) {
84
84
  return React__default.default.createElement(TimeSegment.TimeSegment, {
85
85
  key: i,
86
86
  segment: segment,
87
- state: state
87
+ state: state,
88
+ hasPadding: ![8294, 8297].includes(segment.text.charCodeAt(0))
88
89
  });
89
90
  }), React__default.default.createElement("div", {
90
91
  className: TimeField_module.focusRing
@@ -15,7 +15,9 @@ var React__default = /*#__PURE__*/_interopDefault(React);
15
15
  var classnames__default = /*#__PURE__*/_interopDefault(classnames);
16
16
  var TimeSegment = function (_a) {
17
17
  var segment = _a.segment,
18
- state = _a.state;
18
+ state = _a.state,
19
+ _b = _a.hasPadding,
20
+ hasPadding = _b === void 0 ? true : _b;
19
21
  var ref = React__default.default.useRef(null);
20
22
  var segmentProps = datepicker.useDateSegment(segment, state, ref).segmentProps;
21
23
  // Chrome has a bug where `contenteditable` elements receive focus from external clicks.
@@ -26,7 +28,7 @@ var TimeSegment = function (_a) {
26
28
  className: TimeSegment_module.timeSegmentWrapper
27
29
  }, "\u200B", React__default.default.createElement("span", tslib.__assign({}, segmentProps, {
28
30
  ref: ref,
29
- className: classnames__default.default(TimeSegment_module.timeSegment, segment.type === 'literal' && TimeSegment_module.literal, segment.isPlaceholder && TimeSegment_module.placeholder, segment.type === 'dayPeriod' && TimeSegment_module.dayPeriod)
31
+ className: classnames__default.default(TimeSegment_module.timeSegment, segment.type === 'literal' && TimeSegment_module.literal, segment.isPlaceholder && TimeSegment_module.placeholder, segment.type === 'dayPeriod' && TimeSegment_module.dayPeriod, hasPadding && TimeSegment_module.hasPadding)
30
32
  }), generateSegmentDisplayText.generateSegmentDisplayText(segment)), "\u200B");
31
33
  };
32
34
  TimeSegment.displayName = 'TimeSegment';
@@ -3,6 +3,7 @@
3
3
  var styles = {
4
4
  "timeSegmentWrapper": "TimeSegment-module_timeSegmentWrapper__WYD6y",
5
5
  "timeSegment": "TimeSegment-module_timeSegment__eXb0c",
6
+ "hasPadding": "TimeSegment-module_hasPadding__9oYW3",
6
7
  "placeholder": "TimeSegment-module_placeholder__j1-gK",
7
8
  "literal": "TimeSegment-module_literal__mOkqz",
8
9
  "dayPeriod": "TimeSegment-module_dayPeriod__fzT5I"
@@ -2,6 +2,7 @@
2
2
 
3
3
  var buttonStyles = {
4
4
  "button": "Button-module_button__Rz7PM",
5
+ "isDisabled": "Button-module_isDisabled__Q2KAS",
5
6
  "fullWidth": "Button-module_fullWidth__aMtlw",
6
7
  "small": "Button-module_small__nX-i2",
7
8
  "medium": "Button-module_medium__6gRIb",
@@ -10,7 +11,6 @@ var buttonStyles = {
10
11
  "mediumIconButton": "Button-module_mediumIconButton__PC35j",
11
12
  "largeIconButton": "Button-module_largeIconButton__VtPZf",
12
13
  "secondary": "Button-module_secondary__D42kZ",
13
- "isDisabled": "Button-module_isDisabled__Q2KAS",
14
14
  "tertiary": "Button-module_tertiary__qL7wD",
15
15
  "primaryReversed": "Button-module_primaryReversed__Sa4YW",
16
16
  "secondaryReversed": "Button-module_secondaryReversed__u3qHz",
@@ -79,7 +79,8 @@ const TimeFieldComponent = /*#__PURE__*/function () {
79
79
  return /*#__PURE__*/React.createElement(TimeSegment, {
80
80
  key: i,
81
81
  segment: segment,
82
- state: state
82
+ state: state,
83
+ hasPadding: ![8294, 8297].includes(segment.text.charCodeAt(0))
83
84
  });
84
85
  }), /*#__PURE__*/React.createElement("div", {
85
86
  className: styles.focusRing
@@ -7,7 +7,9 @@ import styles from './TimeSegment.module.scss.mjs';
7
7
  const TimeSegment = /*#__PURE__*/function () {
8
8
  const TimeSegment = function (_a) {
9
9
  var segment = _a.segment,
10
- state = _a.state;
10
+ state = _a.state,
11
+ _b = _a.hasPadding,
12
+ hasPadding = _b === void 0 ? true : _b;
11
13
  var ref = React.useRef(null);
12
14
  var segmentProps = useDateSegment(segment, state, ref).segmentProps;
13
15
  // Chrome has a bug where `contenteditable` elements receive focus from external clicks.
@@ -18,7 +20,7 @@ const TimeSegment = /*#__PURE__*/function () {
18
20
  className: styles.timeSegmentWrapper
19
21
  }, "\u200B", /*#__PURE__*/React.createElement("span", __assign({}, segmentProps, {
20
22
  ref: ref,
21
- className: classnames(styles.timeSegment, segment.type === 'literal' && styles.literal, segment.isPlaceholder && styles.placeholder, segment.type === 'dayPeriod' && styles.dayPeriod)
23
+ className: classnames(styles.timeSegment, segment.type === 'literal' && styles.literal, segment.isPlaceholder && styles.placeholder, segment.type === 'dayPeriod' && styles.dayPeriod, hasPadding && styles.hasPadding)
22
24
  }), generateSegmentDisplayText(segment)), "\u200B");
23
25
  };
24
26
  TimeSegment.displayName = 'TimeSegment';
@@ -1,6 +1,7 @@
1
1
  var styles = {
2
2
  "timeSegmentWrapper": "TimeSegment-module_timeSegmentWrapper__WYD6y",
3
3
  "timeSegment": "TimeSegment-module_timeSegment__eXb0c",
4
+ "hasPadding": "TimeSegment-module_hasPadding__9oYW3",
4
5
  "placeholder": "TimeSegment-module_placeholder__j1-gK",
5
6
  "literal": "TimeSegment-module_literal__mOkqz",
6
7
  "dayPeriod": "TimeSegment-module_dayPeriod__fzT5I"
@@ -1,5 +1,6 @@
1
1
  var buttonStyles = {
2
2
  "button": "Button-module_button__Rz7PM",
3
+ "isDisabled": "Button-module_isDisabled__Q2KAS",
3
4
  "fullWidth": "Button-module_fullWidth__aMtlw",
4
5
  "small": "Button-module_small__nX-i2",
5
6
  "medium": "Button-module_medium__6gRIb",
@@ -8,7 +9,6 @@ var buttonStyles = {
8
9
  "mediumIconButton": "Button-module_mediumIconButton__PC35j",
9
10
  "largeIconButton": "Button-module_largeIconButton__VtPZf",
10
11
  "secondary": "Button-module_secondary__D42kZ",
11
- "isDisabled": "Button-module_isDisabled__Q2KAS",
12
12
  "tertiary": "Button-module_tertiary__qL7wD",
13
13
  "primaryReversed": "Button-module_primaryReversed__Sa4YW",
14
14
  "secondaryReversed": "Button-module_secondaryReversed__u3qHz",
package/dist/styles.css CHANGED
@@ -5117,6 +5117,12 @@ input[type=range].InputRange-module_ratingScaleRange__gI-rs::-ms-thumb:not(:disa
5117
5117
  --button-border-color: var(--color-blue-700);
5118
5118
  }
5119
5119
 
5120
+ &.Button-module_isDisabled__Q2KAS {
5121
+ --button-bg-color: var(--color-gray-400);
5122
+ --button-border-color: var(--color-gray-400);
5123
+ --button-text-color: var(--color-white);
5124
+ }
5125
+
5120
5126
  &[data-focus-visible]::after {
5121
5127
  content: '';
5122
5128
  position: absolute;
@@ -10402,7 +10408,6 @@ input[type=range].InputRange-module_ratingScaleRange__gI-rs::-ms-thumb:not(:disa
10402
10408
 
10403
10409
  .TimeSegment-module_timeSegment__eXb0c {
10404
10410
  display: block;
10405
- padding: 0 4px;
10406
10411
  text-align: end;
10407
10412
  background-color: var(--color-gray-300, #eaeaec);
10408
10413
  border-radius: 3px;
@@ -10417,6 +10422,10 @@ input[type=range].InputRange-module_ratingScaleRange__gI-rs::-ms-thumb:not(:disa
10417
10422
  outline: none;
10418
10423
  }
10419
10424
 
10425
+ .TimeSegment-module_hasPadding__9oYW3 {
10426
+ padding: 0 4px;
10427
+ }
10428
+
10420
10429
  .TimeSegment-module_placeholder__j1-gK {
10421
10430
  color: rgba(var(--color-purple-800-rgb, 47, 36, 56), 0.7);
10422
10431
  }
@@ -2,8 +2,9 @@ import { type DateFieldState, type DateSegment } from '@react-stately/datepicker
2
2
  export type TimeSegmentProps = {
3
3
  segment: DateSegment;
4
4
  state: DateFieldState;
5
+ hasPadding?: boolean;
5
6
  };
6
7
  export declare const TimeSegment: {
7
- ({ segment, state }: TimeSegmentProps): JSX.Element;
8
+ ({ segment, state, hasPadding, }: TimeSegmentProps): JSX.Element;
8
9
  displayName: string;
9
10
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kaizen/components",
3
- "version": "1.73.11",
3
+ "version": "1.73.13",
4
4
  "description": "Kaizen component library",
5
5
  "author": "Geoffrey Chong <geoff.chong@cultureamp.com>",
6
6
  "homepage": "https://cultureamp.design",
@@ -108,9 +108,17 @@ const TimeFieldComponent = ({
108
108
  state.validationState === 'invalid' && styles.error,
109
109
  )}
110
110
  >
111
- {state.segments.map((segment, i) => (
112
- <TimeSegment key={i} segment={segment} state={state} />
113
- ))}
111
+ {state.segments.map((segment, i) => {
112
+ return (
113
+ <TimeSegment
114
+ key={i}
115
+ segment={segment}
116
+ state={state}
117
+ hasPadding={![8294, 8297].includes(segment.text.charCodeAt(0))}
118
+ // ^react-aria includes these characters to ensure correct RTL behaviour, but we want to avoid these adding random spacing
119
+ />
120
+ )
121
+ })}
114
122
  <div className={styles.focusRing} />
115
123
  </div>
116
124
  </div>
@@ -10,7 +10,6 @@
10
10
 
11
11
  .timeSegment {
12
12
  display: block;
13
- padding: 0 4px;
14
13
  text-align: end;
15
14
  background-color: $color-gray-300;
16
15
  border-radius: 3px;
@@ -27,6 +26,10 @@
27
26
  }
28
27
  }
29
28
 
29
+ .hasPadding {
30
+ padding: 0 4px;
31
+ }
32
+
30
33
  .placeholder {
31
34
  color: rgba($color-purple-800-rgb, 0.7);
32
35
  }
@@ -8,9 +8,14 @@ import styles from './TimeSegment.module.scss'
8
8
  export type TimeSegmentProps = {
9
9
  segment: DateSegment
10
10
  state: DateFieldState
11
+ hasPadding?: boolean
11
12
  }
12
13
 
13
- export const TimeSegment = ({ segment, state }: TimeSegmentProps): JSX.Element => {
14
+ export const TimeSegment = ({
15
+ segment,
16
+ state,
17
+ hasPadding = true,
18
+ }: TimeSegmentProps): JSX.Element => {
14
19
  const ref = React.useRef<HTMLDivElement>(null)
15
20
  const { segmentProps } = useDateSegment(segment, state, ref)
16
21
 
@@ -29,6 +34,7 @@ export const TimeSegment = ({ segment, state }: TimeSegmentProps): JSX.Element =
29
34
  segment.type === 'literal' && styles.literal,
30
35
  segment.isPlaceholder && styles.placeholder,
31
36
  segment.type === 'dayPeriod' && styles.dayPeriod,
37
+ hasPadding && styles.hasPadding,
32
38
  )}
33
39
  >
34
40
  {generateSegmentDisplayText(segment)}
@@ -47,6 +47,12 @@
47
47
  --button-border-color: var(--color-blue-700);
48
48
  }
49
49
 
50
+ &.isDisabled {
51
+ --button-bg-color: var(--color-gray-400);
52
+ --button-border-color: var(--color-gray-400);
53
+ --button-text-color: var(--color-white);
54
+ }
55
+
50
56
  &[data-focus-visible]::after {
51
57
  content: '';
52
58
  position: absolute;