@instructure/ui-color-picker 11.3.0 → 11.3.1-snapshot-1

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
@@ -3,6 +3,17 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [11.3.1-snapshot-1](https://github.com/instructure/instructure-ui/compare/v11.3.0...v11.3.1-snapshot-1) (2026-01-20)
7
+
8
+
9
+ ### Features
10
+
11
+ * **ui-color-picker:** add new labelLevel prop to set heading level in ColorContrast ([06c9e79](https://github.com/instructure/instructure-ui/commit/06c9e79fc87c31da4ca8eff61e93094aa09c8be5))
12
+
13
+
14
+
15
+
16
+
6
17
  # [11.3.0](https://github.com/instructure/instructure-ui/compare/v11.2.0...v11.3.0) (2026-01-12)
7
18
 
8
19
 
@@ -29,6 +29,7 @@ import { error } from '@instructure/console';
29
29
  import { contrastWithAlpha, validateContrast } from '@instructure/ui-color-utils';
30
30
  import { withStyle } from '@instructure/emotion';
31
31
  import { Text } from '@instructure/ui-text';
32
+ import { Heading } from '@instructure/ui-heading';
32
33
  import { Pill } from '@instructure/ui-pill';
33
34
  import ColorIndicator from '../ColorIndicator';
34
35
  import { allowedProps } from './props';
@@ -158,6 +159,7 @@ let ColorContrast = (_dec = withStyle(generateStyle, generateComponentTheme), _d
158
159
  const _this$props9 = this.props,
159
160
  styles = _this$props9.styles,
160
161
  label = _this$props9.label,
162
+ labelLevel = _this$props9.labelLevel,
161
163
  normalTextLabel = _this$props9.normalTextLabel,
162
164
  largeTextLabel = _this$props9.largeTextLabel,
163
165
  graphicsTextLabel = _this$props9.graphicsTextLabel;
@@ -173,7 +175,11 @@ let ColorContrast = (_dec = withStyle(generateStyle, generateComponentTheme), _d
173
175
  "data-cid": "ColorContrast",
174
176
  children: [_jsx("div", {
175
177
  css: styles === null || styles === void 0 ? void 0 : styles.label,
176
- children: _jsx(Text, {
178
+ children: labelLevel ? _jsx(Heading, {
179
+ as: labelLevel,
180
+ level: "reset",
181
+ children: label
182
+ }) : _jsx(Text, {
177
183
  weight: "bold",
178
184
  as: "div",
179
185
  children: label
@@ -22,5 +22,5 @@
22
22
  * SOFTWARE.
23
23
  */
24
24
 
25
- const allowedProps = ['elementRef', 'failureLabel', 'firstColor', 'firstColorLabel', 'graphicsTextLabel', 'withoutColorPreview', 'label', 'largeTextLabel', 'normalTextLabel', 'secondColor', 'secondColorLabel', 'successLabel', 'onContrastChange', 'validationLevel'];
25
+ const allowedProps = ['elementRef', 'failureLabel', 'firstColor', 'firstColorLabel', 'graphicsTextLabel', 'withoutColorPreview', 'label', 'labelLevel', 'largeTextLabel', 'normalTextLabel', 'secondColor', 'secondColorLabel', 'successLabel', 'onContrastChange', 'validationLevel'];
26
26
  export { allowedProps };
@@ -32,7 +32,7 @@
32
32
  * @param {Object} state the state of the component, the style is applied to
33
33
  * @return {Object} The final style object, which will be used in the component
34
34
  */
35
- const generateStyle = componentTheme => {
35
+ const generateStyle = (componentTheme, props) => {
36
36
  const statusDescriptionStyle = pass => ({
37
37
  label: pass ? 'colorContrast__successDescription' : 'colorContrast__failureDescription',
38
38
  flex: 1,
@@ -90,7 +90,10 @@ const generateStyle = componentTheme => {
90
90
  },
91
91
  label: {
92
92
  label: 'colorContrast__label',
93
- marginBottom: componentTheme.labelBottomMargin
93
+ marginBottom: componentTheme.labelBottomMargin,
94
+ ...(props.labelLevel && {
95
+ fontWeight: 'bold'
96
+ })
94
97
  }
95
98
  };
96
99
  };
@@ -12,6 +12,7 @@ var _contrastWithAlpha = require("@instructure/ui-color-utils/lib/contrastWithAl
12
12
  var _validateContrast = require("@instructure/ui-color-utils/lib/validateContrast.js");
13
13
  var _emotion = require("@instructure/emotion");
14
14
  var _Text = require("@instructure/ui-text/lib/Text");
15
+ var _Heading = require("@instructure/ui-heading/lib/Heading");
15
16
  var _Pill = require("@instructure/ui-pill/lib/Pill");
16
17
  var _ColorIndicator = _interopRequireDefault(require("../ColorIndicator"));
17
18
  var _props = require("./props");
@@ -164,6 +165,7 @@ let ColorContrast = exports.ColorContrast = (_dec = (0, _emotion.withStyle)(_sty
164
165
  const _this$props9 = this.props,
165
166
  styles = _this$props9.styles,
166
167
  label = _this$props9.label,
168
+ labelLevel = _this$props9.labelLevel,
167
169
  normalTextLabel = _this$props9.normalTextLabel,
168
170
  largeTextLabel = _this$props9.largeTextLabel,
169
171
  graphicsTextLabel = _this$props9.graphicsTextLabel;
@@ -179,7 +181,11 @@ let ColorContrast = exports.ColorContrast = (_dec = (0, _emotion.withStyle)(_sty
179
181
  "data-cid": "ColorContrast",
180
182
  children: [(0, _jsxRuntime.jsx)("div", {
181
183
  css: styles === null || styles === void 0 ? void 0 : styles.label,
182
- children: (0, _jsxRuntime.jsx)(_Text.Text, {
184
+ children: labelLevel ? (0, _jsxRuntime.jsx)(_Heading.Heading, {
185
+ as: labelLevel,
186
+ level: "reset",
187
+ children: label
188
+ }) : (0, _jsxRuntime.jsx)(_Text.Text, {
183
189
  weight: "bold",
184
190
  as: "div",
185
191
  children: label
@@ -28,4 +28,4 @@ exports.allowedProps = void 0;
28
28
  * SOFTWARE.
29
29
  */
30
30
 
31
- const allowedProps = exports.allowedProps = ['elementRef', 'failureLabel', 'firstColor', 'firstColorLabel', 'graphicsTextLabel', 'withoutColorPreview', 'label', 'largeTextLabel', 'normalTextLabel', 'secondColor', 'secondColorLabel', 'successLabel', 'onContrastChange', 'validationLevel'];
31
+ const allowedProps = exports.allowedProps = ['elementRef', 'failureLabel', 'firstColor', 'firstColorLabel', 'graphicsTextLabel', 'withoutColorPreview', 'label', 'labelLevel', 'largeTextLabel', 'normalTextLabel', 'secondColor', 'secondColorLabel', 'successLabel', 'onContrastChange', 'validationLevel'];
@@ -38,7 +38,7 @@ exports.default = void 0;
38
38
  * @param {Object} state the state of the component, the style is applied to
39
39
  * @return {Object} The final style object, which will be used in the component
40
40
  */
41
- const generateStyle = componentTheme => {
41
+ const generateStyle = (componentTheme, props) => {
42
42
  const statusDescriptionStyle = pass => ({
43
43
  label: pass ? 'colorContrast__successDescription' : 'colorContrast__failureDescription',
44
44
  flex: 1,
@@ -96,7 +96,10 @@ const generateStyle = componentTheme => {
96
96
  },
97
97
  label: {
98
98
  label: 'colorContrast__label',
99
- marginBottom: componentTheme.labelBottomMargin
99
+ marginBottom: componentTheme.labelBottomMargin,
100
+ ...(props.labelLevel && {
101
+ fontWeight: 'bold'
102
+ })
100
103
  }
101
104
  };
102
105
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@instructure/ui-color-picker",
3
- "version": "11.3.0",
3
+ "version": "11.3.1-snapshot-1",
4
4
  "description": "A UI component library made by Instructure Inc.",
5
5
  "author": "Instructure, Inc. Engineering and Product Design",
6
6
  "module": "./es/index.js",
@@ -15,34 +15,35 @@
15
15
  "license": "MIT",
16
16
  "dependencies": {
17
17
  "@babel/runtime": "^7.27.6",
18
- "@instructure/console": "11.3.0",
19
- "@instructure/shared-types": "11.3.0",
20
- "@instructure/ui-a11y-content": "11.3.0",
21
- "@instructure/ui-buttons": "11.3.0",
22
- "@instructure/emotion": "11.3.0",
23
- "@instructure/ui-drilldown": "11.3.0",
24
- "@instructure/ui-color-utils": "11.3.0",
25
- "@instructure/ui-dom-utils": "11.3.0",
26
- "@instructure/ui-form-field": "11.3.0",
27
- "@instructure/ui-pill": "11.3.0",
28
- "@instructure/ui-icons": "11.3.0",
29
- "@instructure/ui-popover": "11.3.0",
30
- "@instructure/ui-react-utils": "11.3.0",
31
- "@instructure/ui-text": "11.3.0",
32
- "@instructure/ui-tooltip": "11.3.0",
33
- "@instructure/ui-utils": "11.3.0",
34
- "@instructure/ui-text-input": "11.3.0",
35
- "@instructure/ui-themes": "11.3.0",
36
- "@instructure/ui-view": "11.3.0"
18
+ "@instructure/console": "11.3.1-snapshot-1",
19
+ "@instructure/ui-a11y-content": "11.3.1-snapshot-1",
20
+ "@instructure/emotion": "11.3.1-snapshot-1",
21
+ "@instructure/ui-buttons": "11.3.1-snapshot-1",
22
+ "@instructure/shared-types": "11.3.1-snapshot-1",
23
+ "@instructure/ui-color-utils": "11.3.1-snapshot-1",
24
+ "@instructure/ui-dom-utils": "11.3.1-snapshot-1",
25
+ "@instructure/ui-form-field": "11.3.1-snapshot-1",
26
+ "@instructure/ui-heading": "11.3.1-snapshot-1",
27
+ "@instructure/ui-drilldown": "11.3.1-snapshot-1",
28
+ "@instructure/ui-pill": "11.3.1-snapshot-1",
29
+ "@instructure/ui-icons": "11.3.1-snapshot-1",
30
+ "@instructure/ui-popover": "11.3.1-snapshot-1",
31
+ "@instructure/ui-react-utils": "11.3.1-snapshot-1",
32
+ "@instructure/ui-text": "11.3.1-snapshot-1",
33
+ "@instructure/ui-themes": "11.3.1-snapshot-1",
34
+ "@instructure/ui-tooltip": "11.3.1-snapshot-1",
35
+ "@instructure/ui-text-input": "11.3.1-snapshot-1",
36
+ "@instructure/ui-view": "11.3.1-snapshot-1",
37
+ "@instructure/ui-utils": "11.3.1-snapshot-1"
37
38
  },
38
39
  "devDependencies": {
39
40
  "@testing-library/jest-dom": "^6.6.3",
40
41
  "@testing-library/react": "15.0.7",
41
42
  "@testing-library/user-event": "^14.6.1",
42
43
  "vitest": "^3.2.2",
43
- "@instructure/ui-axe-check": "11.3.0",
44
- "@instructure/ui-babel-preset": "11.3.0",
45
- "@instructure/ui-scripts": "11.3.0"
44
+ "@instructure/ui-axe-check": "11.3.1-snapshot-1",
45
+ "@instructure/ui-babel-preset": "11.3.1-snapshot-1",
46
+ "@instructure/ui-scripts": "11.3.1-snapshot-1"
46
47
  },
47
48
  "peerDependencies": {
48
49
  "react": ">=18 <=19"
@@ -33,6 +33,7 @@ import {
33
33
  import { withStyle } from '@instructure/emotion'
34
34
 
35
35
  import { Text } from '@instructure/ui-text'
36
+ import { Heading } from '@instructure/ui-heading'
36
37
  import { Pill } from '@instructure/ui-pill'
37
38
 
38
39
  import ColorIndicator from '../ColorIndicator'
@@ -191,6 +192,7 @@ class ColorContrast extends Component<ColorContrastProps, ColorContrastState> {
191
192
  const {
192
193
  styles,
193
194
  label,
195
+ labelLevel,
194
196
  normalTextLabel,
195
197
  largeTextLabel,
196
198
  graphicsTextLabel
@@ -211,9 +213,15 @@ class ColorContrast extends Component<ColorContrastProps, ColorContrastState> {
211
213
  data-cid="ColorContrast"
212
214
  >
213
215
  <div css={styles?.label}>
214
- <Text weight="bold" as="div">
215
- {label}
216
- </Text>
216
+ {labelLevel ? (
217
+ <Heading as={labelLevel} level="reset">
218
+ {label}
219
+ </Heading>
220
+ ) : (
221
+ <Text weight="bold" as="div">
222
+ {label}
223
+ </Text>
224
+ )}
217
225
  </div>
218
226
  <Text size="x-large">{contrast}:1</Text>
219
227
  {this.renderPreview()}
@@ -22,12 +22,15 @@
22
22
  * SOFTWARE.
23
23
  */
24
24
 
25
+ import React from 'react'
25
26
  import type { WithStyleProps, ComponentStyle } from '@instructure/emotion'
26
27
  import type {
27
28
  OtherHTMLAttributes,
28
29
  ColorContrastTheme
29
30
  } from '@instructure/shared-types'
30
31
 
32
+ type HeadingLevel<U extends keyof React.JSX.IntrinsicElements> = U
33
+
31
34
  type ColorContrastOwnProps = {
32
35
  /**
33
36
  * Provides a reference to the component's underlying html element.
@@ -53,6 +56,10 @@ type ColorContrastOwnProps = {
53
56
  * Label of the component
54
57
  */
55
58
  label: string
59
+ /**
60
+ * The heading level for the label. If provided, the label will be rendered as a `<Heading />` instead of `<Text />`.
61
+ */
62
+ labelLevel?: HeadingLevel<'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6'>
56
63
  /**
57
64
  * Text of the second check (Suggested english text: Large text)
58
65
  */
@@ -154,6 +161,7 @@ const allowedProps: AllowedPropKeys = [
154
161
  'graphicsTextLabel',
155
162
  'withoutColorPreview',
156
163
  'label',
164
+ 'labelLevel',
157
165
  'largeTextLabel',
158
166
  'normalTextLabel',
159
167
  'secondColor',
@@ -23,6 +23,7 @@
23
23
  */
24
24
 
25
25
  import type { ColorContrastTheme } from '@instructure/shared-types'
26
+ import type { ColorContrastProps } from './props'
26
27
  /**
27
28
  * ---
28
29
  * private: true
@@ -33,7 +34,10 @@ import type { ColorContrastTheme } from '@instructure/shared-types'
33
34
  * @param {Object} state the state of the component, the style is applied to
34
35
  * @return {Object} The final style object, which will be used in the component
35
36
  */
36
- const generateStyle = (componentTheme: ColorContrastTheme) => {
37
+ const generateStyle = (
38
+ componentTheme: ColorContrastTheme,
39
+ props: ColorContrastProps
40
+ ) => {
37
41
  const statusDescriptionStyle = (pass: boolean) => ({
38
42
  label: pass
39
43
  ? 'colorContrast__successDescription'
@@ -94,7 +98,8 @@ const generateStyle = (componentTheme: ColorContrastTheme) => {
94
98
  },
95
99
  label: {
96
100
  label: 'colorContrast__label',
97
- marginBottom: componentTheme.labelBottomMargin
101
+ marginBottom: componentTheme.labelBottomMargin,
102
+ ...(props.labelLevel && { fontWeight: 'bold' })
98
103
  }
99
104
  }
100
105
  }
@@ -18,6 +18,7 @@
18
18
  { "path": "../ui-buttons/tsconfig.build.json" },
19
19
  { "path": "../ui-color-utils/tsconfig.build.json" },
20
20
  { "path": "../ui-form-field/tsconfig.build.json" },
21
+ { "path": "../ui-heading/tsconfig.build.json" },
21
22
  { "path": "../ui-icons/tsconfig.build.json" },
22
23
  { "path": "../ui-pill/tsconfig.build.json" },
23
24
  { "path": "../ui-popover/tsconfig.build.json" },