@telus-uds/components-base 1.88.0 → 1.89.0

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.
package/CHANGELOG.md CHANGED
@@ -1,12 +1,27 @@
1
1
  # Change Log - @telus-uds/components-base
2
2
 
3
- This log was last generated on Thu, 04 Jul 2024 19:28:59 GMT and should not be manually modified.
3
+ This log was last generated on Fri, 19 Jul 2024 18:14:09 GMT and should not be manually modified.
4
4
 
5
5
  <!-- Start content -->
6
6
 
7
+ ## 1.89.0
8
+
9
+ Fri, 19 Jul 2024 18:14:09 GMT
10
+
11
+ ### Minor changes
12
+
13
+ - `PriceLockup`: Add `micro` option to `size` variant (tim.hysniu@telus.com)
14
+ - Add type definitions for `Checkbox` and `CheckboxCardGroup` (evander.owusu@telus.com)
15
+
16
+ ### Patches
17
+
18
+ - `Carousel`: add accessibilityLabel to autoplay button to resolve accessibility issue (<tony.eng@telus.com>)
19
+ - `TextInput`: make feedback tokens and props work (guillermo.peitzner@telus.com)
20
+ - `CarouselTabsPanel`: add accessibilityRole to resolve accessibility issue (<tony.eng@telus.com>)
21
+
7
22
  ## 1.88.0
8
23
 
9
- Thu, 04 Jul 2024 19:28:59 GMT
24
+ Thu, 04 Jul 2024 19:35:15 GMT
10
25
 
11
26
  ### Minor changes
12
27
 
@@ -610,6 +610,7 @@ const Carousel = /*#__PURE__*/_react.default.forwardRef((_ref3, ref) => {
610
610
  })],
611
611
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {
612
612
  icon: isCarouselPlaying ? pauseIcon : playIcon,
613
+ accessibilityLabel: isCarouselPlaying ? getCopy('pauseButtonLabel') : getCopy('playButtonLabel'),
613
614
  variant: previousNextIconButtonVariants,
614
615
  onPress: onAnimationControlButtonPress
615
616
  })
@@ -50,6 +50,7 @@ const CarouselTabsPanel = /*#__PURE__*/_react.default.forwardRef((_ref, ref) =>
50
50
  variant: dividerVariant
51
51
  },
52
52
  ref: ref,
53
+ accessibilityRole: "tablist",
53
54
  children: items.map((_ref2, index) => {
54
55
  let {
55
56
  title,
@@ -11,7 +11,9 @@ var _default = {
11
11
  iconButtonLabel: 'Show %{itemLabel} %{targetStep} of %{stepCount}',
12
12
  stepLabel: '%{itemLabel} %{stepNumber}',
13
13
  stepTrackerLabel: '%{itemLabel} %{stepNumber} of %{stepCount}',
14
- skipLink: 'Skip %{title}'
14
+ skipLink: 'Skip %{title}',
15
+ playButtonLabel: 'Play',
16
+ pauseButtonLabel: 'Pause'
15
17
  },
16
18
  fr: {
17
19
  // French translations
@@ -19,7 +21,9 @@ var _default = {
19
21
  iconButtonLabel: 'Montrer %{itemLabel} %{targetStep} de %{stepCount}',
20
22
  stepLabel: '%{itemLabel} %{stepNumber}',
21
23
  stepTrackerLabel: '%{itemLabel} %{stepNumber} de %{stepCount}',
22
- skipLink: 'Passer %{title}'
24
+ skipLink: 'Passer %{title}',
25
+ playButtonLabel: 'Lancer',
26
+ pauseButtonLabel: 'Pauser'
23
27
  }
24
28
  };
25
29
  exports.default = _default;
@@ -23,6 +23,7 @@ const InputSupports = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {
23
23
  hintPosition = 'inline',
24
24
  feedback,
25
25
  feedbackTokens = {},
26
+ feedbackProps = {},
26
27
  tooltip,
27
28
  validation,
28
29
  nativeID
@@ -60,7 +61,8 @@ const InputSupports = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {
60
61
  id: feedbackId,
61
62
  title: feedback,
62
63
  validation: validation,
63
- tokens: feedbackTokens
64
+ tokens: feedbackTokens,
65
+ ...feedbackProps
64
66
  }) : null]
65
67
  });
66
68
  });
@@ -92,6 +94,10 @@ InputSupports.propTypes = {
92
94
  * Additional tokens to override the default feedback tokens.
93
95
  */
94
96
  feedbackTokens: (0, _utils.getTokensPropType)('Feedback'),
97
+ /**
98
+ * Additional props to pass to the `Feedback` component.
99
+ */
100
+ feedbackProps: _propTypes.default.object,
95
101
  /**
96
102
  * Content of an optional `Tooltip`. If set, a tooltip button will be shown next to the label.
97
103
  */
@@ -29,6 +29,14 @@ var _default = {
29
29
  * Visual variant is determined based on the `validation` prop.
30
30
  */
31
31
  feedback: _propTypes.default.string,
32
+ /**
33
+ * Tokens to be passed to the feedback component.
34
+ */
35
+ feedbackTokens: _propTypes.default.object,
36
+ /**
37
+ * Props to be passed to the feedback component.
38
+ */
39
+ feedbackProps: _propTypes.default.object,
32
40
  /**
33
41
  * Content of an optional `Tooltip`. If set, a tooltip button will be shown next to the label.
34
42
  */
@@ -45,6 +53,8 @@ var _default = {
45
53
  hint,
46
54
  hintPosition,
47
55
  feedback,
56
+ feedbackTokens,
57
+ feedbackProps,
48
58
  tooltip,
49
59
  validation
50
60
  } = _ref;
@@ -55,6 +65,8 @@ var _default = {
55
65
  hint,
56
66
  hintPosition,
57
67
  feedback,
68
+ feedbackTokens,
69
+ feedbackProps,
58
70
  tooltip,
59
71
  validation
60
72
  }
@@ -604,6 +604,7 @@ const Carousel = /*#__PURE__*/React.forwardRef((_ref3, ref) => {
604
604
  })],
605
605
  children: /*#__PURE__*/_jsx(IconButton, {
606
606
  icon: isCarouselPlaying ? pauseIcon : playIcon,
607
+ accessibilityLabel: isCarouselPlaying ? getCopy('pauseButtonLabel') : getCopy('playButtonLabel'),
607
608
  variant: previousNextIconButtonVariants,
608
609
  onPress: onAnimationControlButtonPress
609
610
  })
@@ -44,6 +44,7 @@ const CarouselTabsPanel = /*#__PURE__*/React.forwardRef((_ref, ref) => {
44
44
  variant: dividerVariant
45
45
  },
46
46
  ref: ref,
47
+ accessibilityRole: "tablist",
47
48
  children: items.map((_ref2, index) => {
48
49
  let {
49
50
  title,
@@ -5,7 +5,9 @@ export default {
5
5
  iconButtonLabel: 'Show %{itemLabel} %{targetStep} of %{stepCount}',
6
6
  stepLabel: '%{itemLabel} %{stepNumber}',
7
7
  stepTrackerLabel: '%{itemLabel} %{stepNumber} of %{stepCount}',
8
- skipLink: 'Skip %{title}'
8
+ skipLink: 'Skip %{title}',
9
+ playButtonLabel: 'Play',
10
+ pauseButtonLabel: 'Pause'
9
11
  },
10
12
  fr: {
11
13
  // French translations
@@ -13,6 +15,8 @@ export default {
13
15
  iconButtonLabel: 'Montrer %{itemLabel} %{targetStep} de %{stepCount}',
14
16
  stepLabel: '%{itemLabel} %{stepNumber}',
15
17
  stepTrackerLabel: '%{itemLabel} %{stepNumber} de %{stepCount}',
16
- skipLink: 'Passer %{title}'
18
+ skipLink: 'Passer %{title}',
19
+ playButtonLabel: 'Lancer',
20
+ pauseButtonLabel: 'Pauser'
17
21
  }
18
22
  };
@@ -17,6 +17,7 @@ const InputSupports = /*#__PURE__*/React.forwardRef((_ref, ref) => {
17
17
  hintPosition = 'inline',
18
18
  feedback,
19
19
  feedbackTokens = {},
20
+ feedbackProps = {},
20
21
  tooltip,
21
22
  validation,
22
23
  nativeID
@@ -54,7 +55,8 @@ const InputSupports = /*#__PURE__*/React.forwardRef((_ref, ref) => {
54
55
  id: feedbackId,
55
56
  title: feedback,
56
57
  validation: validation,
57
- tokens: feedbackTokens
58
+ tokens: feedbackTokens,
59
+ ...feedbackProps
58
60
  }) : null]
59
61
  });
60
62
  });
@@ -86,6 +88,10 @@ InputSupports.propTypes = {
86
88
  * Additional tokens to override the default feedback tokens.
87
89
  */
88
90
  feedbackTokens: getTokensPropType('Feedback'),
91
+ /**
92
+ * Additional props to pass to the `Feedback` component.
93
+ */
94
+ feedbackProps: PropTypes.object,
89
95
  /**
90
96
  * Content of an optional `Tooltip`. If set, a tooltip button will be shown next to the label.
91
97
  */
@@ -22,6 +22,14 @@ export default {
22
22
  * Visual variant is determined based on the `validation` prop.
23
23
  */
24
24
  feedback: PropTypes.string,
25
+ /**
26
+ * Tokens to be passed to the feedback component.
27
+ */
28
+ feedbackTokens: PropTypes.object,
29
+ /**
30
+ * Props to be passed to the feedback component.
31
+ */
32
+ feedbackProps: PropTypes.object,
25
33
  /**
26
34
  * Content of an optional `Tooltip`. If set, a tooltip button will be shown next to the label.
27
35
  */
@@ -38,6 +46,8 @@ export default {
38
46
  hint,
39
47
  hintPosition,
40
48
  feedback,
49
+ feedbackTokens,
50
+ feedbackProps,
41
51
  tooltip,
42
52
  validation
43
53
  } = _ref;
@@ -48,6 +58,8 @@ export default {
48
58
  hint,
49
59
  hintPosition,
50
60
  feedback,
61
+ feedbackTokens,
62
+ feedbackProps,
51
63
  tooltip,
52
64
  validation
53
65
  }
package/package.json CHANGED
@@ -85,6 +85,6 @@
85
85
  "standard-engine": {
86
86
  "skip": true
87
87
  },
88
- "version": "1.88.0",
88
+ "version": "1.89.0",
89
89
  "types": "types/index.d.ts"
90
90
  }
@@ -687,6 +687,9 @@ const Carousel = React.forwardRef(
687
687
  >
688
688
  <IconButton
689
689
  icon={isCarouselPlaying ? pauseIcon : playIcon}
690
+ accessibilityLabel={
691
+ isCarouselPlaying ? getCopy('pauseButtonLabel') : getCopy('playButtonLabel')
692
+ }
690
693
  variant={previousNextIconButtonVariants}
691
694
  onPress={onAnimationControlButtonPress}
692
695
  />
@@ -32,7 +32,13 @@ const CarouselTabsPanel = React.forwardRef(({ items }, ref) => {
32
32
 
33
33
  return (
34
34
  <View style={selectTabPanelStyle()}>
35
- <StackView direction="row" space={3} divider={{ variant: dividerVariant }} ref={ref}>
35
+ <StackView
36
+ direction="row"
37
+ space={3}
38
+ divider={{ variant: dividerVariant }}
39
+ ref={ref}
40
+ accessibilityRole="tablist"
41
+ >
36
42
  {items.map(({ title, onPress, inverse, ...panelItemProps }, index) => {
37
43
  const selected = index === activeIndex
38
44
  const isNext = index === activeIndex + 1
@@ -5,7 +5,9 @@ export default {
5
5
  iconButtonLabel: 'Show %{itemLabel} %{targetStep} of %{stepCount}',
6
6
  stepLabel: '%{itemLabel} %{stepNumber}',
7
7
  stepTrackerLabel: '%{itemLabel} %{stepNumber} of %{stepCount}',
8
- skipLink: 'Skip %{title}'
8
+ skipLink: 'Skip %{title}',
9
+ playButtonLabel: 'Play',
10
+ pauseButtonLabel: 'Pause'
9
11
  },
10
12
  fr: {
11
13
  // French translations
@@ -13,6 +15,8 @@ export default {
13
15
  iconButtonLabel: 'Montrer %{itemLabel} %{targetStep} de %{stepCount}',
14
16
  stepLabel: '%{itemLabel} %{stepNumber}',
15
17
  stepTrackerLabel: '%{itemLabel} %{stepNumber} de %{stepCount}',
16
- skipLink: 'Passer %{title}'
18
+ skipLink: 'Passer %{title}',
19
+ playButtonLabel: 'Lancer',
20
+ pauseButtonLabel: 'Pauser'
17
21
  }
18
22
  }
@@ -18,6 +18,7 @@ const InputSupports = React.forwardRef(
18
18
  hintPosition = 'inline',
19
19
  feedback,
20
20
  feedbackTokens = {},
21
+ feedbackProps = {},
21
22
  tooltip,
22
23
  validation,
23
24
  nativeID
@@ -54,6 +55,7 @@ const InputSupports = React.forwardRef(
54
55
  title={feedback}
55
56
  validation={validation}
56
57
  tokens={feedbackTokens}
58
+ {...feedbackProps}
57
59
  />
58
60
  ) : null}
59
61
  </StackView>
@@ -89,6 +91,10 @@ InputSupports.propTypes = {
89
91
  * Additional tokens to override the default feedback tokens.
90
92
  */
91
93
  feedbackTokens: getTokensPropType('Feedback'),
94
+ /**
95
+ * Additional props to pass to the `Feedback` component.
96
+ */
97
+ feedbackProps: PropTypes.object,
92
98
  /**
93
99
  * Content of an optional `Tooltip`. If set, a tooltip button will be shown next to the label.
94
100
  */
@@ -23,6 +23,14 @@ export default {
23
23
  * Visual variant is determined based on the `validation` prop.
24
24
  */
25
25
  feedback: PropTypes.string,
26
+ /**
27
+ * Tokens to be passed to the feedback component.
28
+ */
29
+ feedbackTokens: PropTypes.object,
30
+ /**
31
+ * Props to be passed to the feedback component.
32
+ */
33
+ feedbackProps: PropTypes.object,
26
34
  /**
27
35
  * Content of an optional `Tooltip`. If set, a tooltip button will be shown next to the label.
28
36
  */
@@ -32,13 +40,25 @@ export default {
32
40
  */
33
41
  validation: PropTypes.oneOf(['error', 'success'])
34
42
  },
35
- select: ({ copy, label, hint, hintPosition, feedback, tooltip, validation }) => ({
43
+ select: ({
44
+ copy,
45
+ label,
46
+ hint,
47
+ hintPosition,
48
+ feedback,
49
+ feedbackTokens,
50
+ feedbackProps,
51
+ tooltip,
52
+ validation
53
+ }) => ({
36
54
  supportsProps: {
37
55
  copy,
38
56
  label,
39
57
  hint,
40
58
  hintPosition,
41
59
  feedback,
60
+ feedbackTokens,
61
+ feedbackProps,
42
62
  tooltip,
43
63
  validation
44
64
  }
@@ -0,0 +1,47 @@
1
+ import { StyleProp, ViewStyle, TextStyle } from 'react-native'
2
+ import { Tokens, Variant } from '../ThemeProvider'
3
+
4
+ type CheckboxProps = {
5
+ checked?: boolean
6
+ defaultChecked?: boolean
7
+ error?: boolean
8
+ feedback?: string
9
+ id?: string
10
+ inactive?: boolean
11
+ label?: string
12
+ name?: string
13
+ onChange?: (value: boolean, event: any) => void
14
+ tokens?: Tokens
15
+ value?: string | number | boolean
16
+ variant?: Variant
17
+ style?: StyleProp<ViewStyle>
18
+ labelStyle?: StyleProp<TextStyle>
19
+ containerStyle?: StyleProp<ViewStyle>
20
+ }
21
+
22
+ type CheckboxTokens = {
23
+ containerBackgroundColor?: string
24
+ feedbackMarginBottom?: number
25
+ feedbackMarginTop?: number
26
+ feedbackPosition?: string
27
+ icon?: string
28
+ iconBackgroundColor?: string
29
+ iconColor?: string
30
+ iconSize?: number
31
+ inputBackgroundColor?: string
32
+ inputBorderColor?: string
33
+ inputBorderRadius?: number | string
34
+ inputBorderWidth?: number | string
35
+ inputHeight?: number
36
+ inputOutlineColor?: string
37
+ inputOutlineOffset?: number
38
+ inputOutlineWidth?: number | string
39
+ inputShadow?: string
40
+ inputWidth?: number
41
+ labelColor?: string
42
+ labelFontName?: string
43
+ labelFontSize?: number
44
+ labelFontWeight?: number
45
+ labelLineHeight?: number
46
+ labelMarginLeft?: number
47
+ }
@@ -0,0 +1,72 @@
1
+ import * as React from 'react'
2
+ import { Direction, ResponsiveDirection } from './Common'
3
+
4
+ type CheckboxCardGroupProps = {
5
+ copy?: 'en' | 'fr'
6
+ variant?: 'fullWidth'
7
+ legend?: string
8
+ tooltip?: string
9
+ hint?: string
10
+ hintPosition?: 'inline' | 'below'
11
+ validation?: 'error' | 'success'
12
+ feedback?: string
13
+ initialCheckedIds?: string[]
14
+ checkedIds?: string[]
15
+ onChange?: (checkedIds: string[]) => void
16
+ readOnly?: boolean
17
+ inactive?: boolean
18
+ }
19
+
20
+ type CheckboxCardGroupTokens = {
21
+ borderBottomLeftRadius?: number
22
+ borderBottomRightRadius?: number
23
+ borderTopLeftRadius?: number
24
+ borderTopRightRadius?: number
25
+ direction?: Direction | ResponsiveDirection
26
+ fieldSpace?: number
27
+ outlineOffset?: number
28
+ outlineWidth?: number
29
+ showIcon?: boolean
30
+ space?: number
31
+ }
32
+
33
+ type checkboxCardTokens = {
34
+ outerBorderColer?: string
35
+ outerBorderWidth?: number
36
+ outerBorderGap?: number
37
+ flex?: number
38
+ backgroundColor?: string
39
+ borderColor?: string
40
+ borderRadius?: number
41
+ borderWidth?: number
42
+ paddingBottom?: number
43
+ paddingLeft?: number
44
+ paddingRight?: number
45
+ paddingTop?: number
46
+ minWidth?: number
47
+ shadow?: string
48
+ contentAlignItems?: string
49
+ contentJustifyContent?: string
50
+ contentFlexGrow?: number
51
+ contentFlexShrink?: number
52
+ checkboxCheckedBackgroundColor?: string
53
+ checkboxCheckedSize?: number
54
+ checkboxInputBackgroundColor?: string
55
+ checkboxInputBorderColor?: string
56
+ checkboxInputBorderWidth?: number
57
+ checkboxInputOutlineColor?: string
58
+ checkboxInputOutlineWidth?: number
59
+ checkboxInputSize?: number
60
+ checkboxOuterBorderColor?: string
61
+ checkboxOuterBorderWidth?: number
62
+ checkboxOuterBorderGap?: number
63
+ fontSize?: number
64
+ fontName?: string
65
+ lineHeight?: number
66
+ color?: string
67
+ letterSpacing?: string
68
+ textTransform?: string
69
+ fontWeight?: number
70
+ checkboxSpace?: number
71
+ contentSpace?: number
72
+ }
package/types/index.d.ts CHANGED
@@ -7,6 +7,16 @@ export type { BoxVariants, BoxTokens, BoxProps } from './Box'
7
7
  export { default as ChevronLink } from './ChevronLink'
8
8
  export { ChevronLinkTokens, ChevronLinkProps, HrefProps } from './ChevronLink'
9
9
 
10
+ export { default as Checkbox } from './Checkbox'
11
+ export { CheckboxProps, CheckboxTokens } from './Checkbox'
12
+
13
+ export { default as CheckboxCardGroup } from './CheckboxCardGroup'
14
+ export {
15
+ CheckboxCardGroupProps,
16
+ CheckboxCardGroupTokens,
17
+ checkboxCardTokens
18
+ } from './CheckboxCardGroup'
19
+
10
20
  export { default as Divider } from './Divider'
11
21
  export { DividerVariants, DividerProps, DividerTokens } from './Divider'
12
22