@kaizen/components 1.73.12 → 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"
@@ -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"
package/dist/styles.css CHANGED
@@ -10408,7 +10408,6 @@ input[type=range].InputRange-module_ratingScaleRange__gI-rs::-ms-thumb:not(:disa
10408
10408
 
10409
10409
  .TimeSegment-module_timeSegment__eXb0c {
10410
10410
  display: block;
10411
- padding: 0 4px;
10412
10411
  text-align: end;
10413
10412
  background-color: var(--color-gray-300, #eaeaec);
10414
10413
  border-radius: 3px;
@@ -10423,6 +10422,10 @@ input[type=range].InputRange-module_ratingScaleRange__gI-rs::-ms-thumb:not(:disa
10423
10422
  outline: none;
10424
10423
  }
10425
10424
 
10425
+ .TimeSegment-module_hasPadding__9oYW3 {
10426
+ padding: 0 4px;
10427
+ }
10428
+
10426
10429
  .TimeSegment-module_placeholder__j1-gK {
10427
10430
  color: rgba(var(--color-purple-800-rgb, 47, 36, 56), 0.7);
10428
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.12",
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)}