@instructure/ui-instructure 11.7.6-snapshot-18 → 11.7.6-snapshot-22

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,9 +3,12 @@
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.7.6-snapshot-18](https://github.com/instructure/instructure-ui/compare/v11.7.5...v11.7.6-snapshot-18) (2026-09-03)
6
+ ## [11.7.6-snapshot-22](https://github.com/instructure/instructure-ui/compare/v11.7.5...v11.7.6-snapshot-22) (2026-09-08)
7
7
 
8
- **Note:** Version bump only for package @instructure/ui-instructure
8
+
9
+ ### Bug Fixes
10
+
11
+ * **ui-instructure:** add an info icon to AI Information dialog triggers for WCAG 1.4.1 compliance ([968906f](https://github.com/instructure/instructure-ui/commit/968906ffefd41f5b6fc0494a90fda4dc43e32179))
9
12
 
10
13
 
11
14
 
@@ -26,6 +26,7 @@ import { Modal } from '@instructure/ui-modal/latest';
26
26
  import { Button, CloseButton, CondensedButton } from '@instructure/ui-buttons/latest';
27
27
  import { Heading } from '@instructure/ui-heading/latest';
28
28
  import { Text } from '@instructure/ui-text/latest';
29
+ import { InfoInstUIIcon } from '@instructure/ui-icons';
29
30
  import { useStyleNew } from '@instructure/emotion';
30
31
  import generateStyle from './styles.js';
31
32
 
@@ -58,7 +59,12 @@ const DataPermissionLevels = ({
58
59
  children: [_jsx(CondensedButton, {
59
60
  onClick: () => setOpen(true),
60
61
  "aria-haspopup": "dialog",
61
- children: triggerText
62
+ children: _jsxs("span", {
63
+ css: styles?.trigger,
64
+ children: [triggerText, _jsx(InfoInstUIIcon, {
65
+ size: "sm"
66
+ })]
67
+ })
62
68
  }), _jsxs(Modal, {
63
69
  size: fullscreen ? 'fullscreen' : 'medium',
64
70
  open: open,
@@ -28,13 +28,21 @@
28
28
  * ---
29
29
  * Generates the style object from the theme and provided additional information
30
30
  * @param componentTheme The theme variable object.
31
+ * @param _props the props of the component, the style is applied to
32
+ * @param sharedTokens Shared token object that stores common values for the theme.
31
33
  * @return The final style object, which will be used in the component
32
34
  */
33
- const generateStyle = componentTheme => {
35
+ const generateStyle = (componentTheme, _props, sharedTokens) => {
34
36
  return {
35
37
  dataPermissionLevels: {
36
38
  label: 'data-permission-levels'
37
39
  },
40
+ trigger: {
41
+ label: 'data-permission-levels__trigger',
42
+ display: 'inline-flex',
43
+ alignItems: 'center',
44
+ gap: sharedTokens?.spacing.general.spaceXs
45
+ },
38
46
  body: {
39
47
  label: 'data-permission-levels__body',
40
48
  display: 'flex',
@@ -26,6 +26,7 @@ import { Modal } from '@instructure/ui-modal/latest';
26
26
  import { Button, CloseButton, CondensedButton } from '@instructure/ui-buttons/latest';
27
27
  import { Heading } from '@instructure/ui-heading/latest';
28
28
  import { Text } from '@instructure/ui-text/latest';
29
+ import { InfoInstUIIcon } from '@instructure/ui-icons';
29
30
  import { useStyleNew } from '@instructure/emotion';
30
31
  import generateStyle from './styles.js';
31
32
 
@@ -57,7 +58,12 @@ const NutritionFacts = ({
57
58
  children: [_jsx(CondensedButton, {
58
59
  onClick: () => setOpen(true),
59
60
  "aria-haspopup": "dialog",
60
- children: triggerText
61
+ children: _jsxs("span", {
62
+ css: styles?.trigger,
63
+ children: [triggerText, _jsx(InfoInstUIIcon, {
64
+ size: "sm"
65
+ })]
66
+ })
61
67
  }), _jsxs(Modal, {
62
68
  open: open,
63
69
  onDismiss: () => {
@@ -28,10 +28,18 @@
28
28
  * ---
29
29
  * Generates the style object from the theme and provided additional information
30
30
  * @param componentTheme The theme variable object.
31
+ * @param _props the props of the component, the style is applied to
32
+ * @param sharedTokens Shared token object that stores common values for the theme.
31
33
  * @return The final style object, which will be used in the component
32
34
  */
33
- const generateStyle = componentTheme => {
35
+ const generateStyle = (componentTheme, _props, sharedTokens) => {
34
36
  return {
37
+ trigger: {
38
+ label: 'nutrition-facts__trigger',
39
+ display: 'inline-flex',
40
+ alignItems: 'center',
41
+ gap: sharedTokens?.spacing.general.spaceXs
42
+ },
35
43
  segmentCard: {
36
44
  label: 'nutrition-facts__segment-card',
37
45
  borderStyle: 'solid',
@@ -10,6 +10,7 @@ var _latest = require("@instructure/ui-modal/latest");
10
10
  var _latest2 = require("@instructure/ui-buttons/latest");
11
11
  var _latest3 = require("@instructure/ui-heading/latest");
12
12
  var _latest4 = require("@instructure/ui-text/latest");
13
+ var _uiIcons = require("@instructure/ui-icons");
13
14
  var _emotion = require("@instructure/emotion");
14
15
  var _styles = _interopRequireDefault(require("./styles.js"));
15
16
  var _jsxRuntime = require("@emotion/react/jsx-runtime");
@@ -64,7 +65,12 @@ category: components/AI Components
64
65
  children: [(0, _jsxRuntime.jsx)(_latest2.CondensedButton, {
65
66
  onClick: () => setOpen(true),
66
67
  "aria-haspopup": "dialog",
67
- children: triggerText
68
+ children: (0, _jsxRuntime.jsxs)("span", {
69
+ css: styles?.trigger,
70
+ children: [triggerText, (0, _jsxRuntime.jsx)(_uiIcons.InfoInstUIIcon, {
71
+ size: "sm"
72
+ })]
73
+ })
68
74
  }), (0, _jsxRuntime.jsxs)(_latest.Modal, {
69
75
  size: fullscreen ? 'fullscreen' : 'medium',
70
76
  open: open,
@@ -34,13 +34,21 @@ exports.default = void 0;
34
34
  * ---
35
35
  * Generates the style object from the theme and provided additional information
36
36
  * @param componentTheme The theme variable object.
37
+ * @param _props the props of the component, the style is applied to
38
+ * @param sharedTokens Shared token object that stores common values for the theme.
37
39
  * @return The final style object, which will be used in the component
38
40
  */
39
- const generateStyle = componentTheme => {
41
+ const generateStyle = (componentTheme, _props, sharedTokens) => {
40
42
  return {
41
43
  dataPermissionLevels: {
42
44
  label: 'data-permission-levels'
43
45
  },
46
+ trigger: {
47
+ label: 'data-permission-levels__trigger',
48
+ display: 'inline-flex',
49
+ alignItems: 'center',
50
+ gap: sharedTokens?.spacing.general.spaceXs
51
+ },
44
52
  body: {
45
53
  label: 'data-permission-levels__body',
46
54
  display: 'flex',
@@ -10,6 +10,7 @@ var _latest = require("@instructure/ui-modal/latest");
10
10
  var _latest2 = require("@instructure/ui-buttons/latest");
11
11
  var _latest3 = require("@instructure/ui-heading/latest");
12
12
  var _latest4 = require("@instructure/ui-text/latest");
13
+ var _uiIcons = require("@instructure/ui-icons");
13
14
  var _emotion = require("@instructure/emotion");
14
15
  var _styles = _interopRequireDefault(require("./styles.js"));
15
16
  var _jsxRuntime = require("@emotion/react/jsx-runtime");
@@ -63,7 +64,12 @@ category: components/AI Components
63
64
  children: [(0, _jsxRuntime.jsx)(_latest2.CondensedButton, {
64
65
  onClick: () => setOpen(true),
65
66
  "aria-haspopup": "dialog",
66
- children: triggerText
67
+ children: (0, _jsxRuntime.jsxs)("span", {
68
+ css: styles?.trigger,
69
+ children: [triggerText, (0, _jsxRuntime.jsx)(_uiIcons.InfoInstUIIcon, {
70
+ size: "sm"
71
+ })]
72
+ })
67
73
  }), (0, _jsxRuntime.jsxs)(_latest.Modal, {
68
74
  open: open,
69
75
  onDismiss: () => {
@@ -34,10 +34,18 @@ exports.default = void 0;
34
34
  * ---
35
35
  * Generates the style object from the theme and provided additional information
36
36
  * @param componentTheme The theme variable object.
37
+ * @param _props the props of the component, the style is applied to
38
+ * @param sharedTokens Shared token object that stores common values for the theme.
37
39
  * @return The final style object, which will be used in the component
38
40
  */
39
- const generateStyle = componentTheme => {
41
+ const generateStyle = (componentTheme, _props, sharedTokens) => {
40
42
  return {
43
+ trigger: {
44
+ label: 'nutrition-facts__trigger',
45
+ display: 'inline-flex',
46
+ alignItems: 'center',
47
+ gap: sharedTokens?.spacing.general.spaceXs
48
+ },
41
49
  segmentCard: {
42
50
  label: 'nutrition-facts__segment-card',
43
51
  borderStyle: 'solid',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@instructure/ui-instructure",
3
- "version": "11.7.6-snapshot-18",
3
+ "version": "11.7.6-snapshot-22",
4
4
  "description": "Collection of specific components for Instructure products",
5
5
  "author": "Instructure, Inc. Engineering and Product Design",
6
6
  "module": "./es/index.js",
@@ -15,26 +15,26 @@
15
15
  "license": "MIT",
16
16
  "dependencies": {
17
17
  "@babel/runtime": "^7.29.7",
18
- "@instructure/shared-types": "11.7.6-snapshot-18",
19
- "@instructure/emotion": "11.7.6-snapshot-18",
20
- "@instructure/ui-icons": "11.7.6-snapshot-18",
21
- "@instructure/ui-heading": "11.7.6-snapshot-18",
22
- "@instructure/ui-buttons": "11.7.6-snapshot-18",
23
- "@instructure/ui-popover": "11.7.6-snapshot-18",
24
- "@instructure/ui-link": "11.7.6-snapshot-18",
25
- "@instructure/ui-react-utils": "11.7.6-snapshot-18",
26
- "@instructure/ui-modal": "11.7.6-snapshot-18",
27
- "@instructure/ui-text": "11.7.6-snapshot-18",
28
- "@instructure/ui-themes": "11.7.6-snapshot-18",
29
- "@instructure/ui-view": "11.7.6-snapshot-18"
18
+ "@instructure/shared-types": "11.7.6-snapshot-22",
19
+ "@instructure/ui-heading": "11.7.6-snapshot-22",
20
+ "@instructure/emotion": "11.7.6-snapshot-22",
21
+ "@instructure/ui-icons": "11.7.6-snapshot-22",
22
+ "@instructure/ui-buttons": "11.7.6-snapshot-22",
23
+ "@instructure/ui-modal": "11.7.6-snapshot-22",
24
+ "@instructure/ui-link": "11.7.6-snapshot-22",
25
+ "@instructure/ui-text": "11.7.6-snapshot-22",
26
+ "@instructure/ui-themes": "11.7.6-snapshot-22",
27
+ "@instructure/ui-view": "11.7.6-snapshot-22",
28
+ "@instructure/ui-react-utils": "11.7.6-snapshot-22",
29
+ "@instructure/ui-popover": "11.7.6-snapshot-22"
30
30
  },
31
31
  "devDependencies": {
32
32
  "@testing-library/jest-dom": "^6.9.1",
33
33
  "@testing-library/react": "16.3.2",
34
34
  "vitest": "^4.1.9",
35
- "@instructure/ui-axe-check": "11.7.6-snapshot-18",
36
- "@instructure/ui-color-utils": "11.7.6-snapshot-18",
37
- "@instructure/ui-babel-preset": "11.7.6-snapshot-18"
35
+ "@instructure/ui-axe-check": "11.7.6-snapshot-22",
36
+ "@instructure/ui-babel-preset": "11.7.6-snapshot-22",
37
+ "@instructure/ui-color-utils": "11.7.6-snapshot-22"
38
38
  },
39
39
  "peerDependencies": {
40
40
  "react": ">=18 <=19"
@@ -30,6 +30,7 @@ import {
30
30
  } from '@instructure/ui-buttons/latest'
31
31
  import { Heading } from '@instructure/ui-heading/latest'
32
32
  import { Text } from '@instructure/ui-text/latest'
33
+ import { InfoInstUIIcon } from '@instructure/ui-icons'
33
34
  import { useStyleNew } from '@instructure/emotion'
34
35
 
35
36
  import { DataPermissionLevelsProps } from './props.js'
@@ -64,7 +65,10 @@ const DataPermissionLevels = ({
64
65
  return (
65
66
  <div>
66
67
  <CondensedButton onClick={() => setOpen(true)} aria-haspopup="dialog">
67
- {triggerText}
68
+ <span css={styles?.trigger}>
69
+ {triggerText}
70
+ <InfoInstUIIcon size="sm" />
71
+ </span>
68
72
  </CondensedButton>
69
73
  <Modal
70
74
  size={fullscreen ? 'fullscreen' : 'medium'}
@@ -87,6 +87,7 @@ type DataPermissionLevelsStyle = ComponentStyle<
87
87
  | 'currentFeature'
88
88
  | 'contentContainer'
89
89
  | 'permissionTitle'
90
+ | 'trigger'
90
91
  > & {
91
92
  maxWidth?: string
92
93
  }
@@ -22,8 +22,11 @@
22
22
  * SOFTWARE.
23
23
  */
24
24
 
25
- import type { NewComponentTypes } from '@instructure/ui-themes'
26
- import type { DataPermissionLevelsStyle } from './props'
25
+ import type { NewComponentTypes, SharedTokens } from '@instructure/ui-themes'
26
+ import type {
27
+ DataPermissionLevelsProps,
28
+ DataPermissionLevelsStyle
29
+ } from './props'
27
30
 
28
31
  /**
29
32
  * ---
@@ -31,15 +34,25 @@ import type { DataPermissionLevelsStyle } from './props'
31
34
  * ---
32
35
  * Generates the style object from the theme and provided additional information
33
36
  * @param componentTheme The theme variable object.
37
+ * @param _props the props of the component, the style is applied to
38
+ * @param sharedTokens Shared token object that stores common values for the theme.
34
39
  * @return The final style object, which will be used in the component
35
40
  */
36
41
  const generateStyle = (
37
- componentTheme: ReturnType<NewComponentTypes['DataPermissionLevels']>
42
+ componentTheme: ReturnType<NewComponentTypes['DataPermissionLevels']>,
43
+ _props: DataPermissionLevelsProps,
44
+ sharedTokens: SharedTokens
38
45
  ): DataPermissionLevelsStyle => {
39
46
  return {
40
47
  dataPermissionLevels: {
41
48
  label: 'data-permission-levels'
42
49
  },
50
+ trigger: {
51
+ label: 'data-permission-levels__trigger',
52
+ display: 'inline-flex',
53
+ alignItems: 'center',
54
+ gap: sharedTokens?.spacing.general.spaceXs
55
+ },
43
56
  body: {
44
57
  label: 'data-permission-levels__body',
45
58
  display: 'flex',
@@ -30,6 +30,7 @@ import {
30
30
  } from '@instructure/ui-buttons/latest'
31
31
  import { Heading } from '@instructure/ui-heading/latest'
32
32
  import { Text } from '@instructure/ui-text/latest'
33
+ import { InfoInstUIIcon } from '@instructure/ui-icons'
33
34
  import { useStyleNew } from '@instructure/emotion'
34
35
 
35
36
  import { NutritionFactsProps } from './props.js'
@@ -63,7 +64,10 @@ const NutritionFacts = ({
63
64
  return (
64
65
  <div>
65
66
  <CondensedButton onClick={() => setOpen(true)} aria-haspopup="dialog">
66
- {triggerText}
67
+ <span css={styles?.trigger}>
68
+ {triggerText}
69
+ <InfoInstUIIcon size="sm" />
70
+ </span>
67
71
  </CondensedButton>
68
72
  <Modal
69
73
  open={open}
@@ -85,6 +85,7 @@ type NutritionFactsStyle = ComponentStyle<
85
85
  | 'segmentContainer'
86
86
  | 'blockContainer'
87
87
  | 'body'
88
+ | 'trigger'
88
89
  > & {
89
90
  maxWidth?: string
90
91
  }
@@ -22,8 +22,8 @@
22
22
  * SOFTWARE.
23
23
  */
24
24
 
25
- import type { NewComponentTypes } from '@instructure/ui-themes'
26
- import type { NutritionFactsStyle } from './props'
25
+ import type { NewComponentTypes, SharedTokens } from '@instructure/ui-themes'
26
+ import type { NutritionFactsProps, NutritionFactsStyle } from './props'
27
27
 
28
28
  /**
29
29
  * ---
@@ -31,12 +31,22 @@ import type { NutritionFactsStyle } from './props'
31
31
  * ---
32
32
  * Generates the style object from the theme and provided additional information
33
33
  * @param componentTheme The theme variable object.
34
+ * @param _props the props of the component, the style is applied to
35
+ * @param sharedTokens Shared token object that stores common values for the theme.
34
36
  * @return The final style object, which will be used in the component
35
37
  */
36
38
  const generateStyle = (
37
- componentTheme: ReturnType<NewComponentTypes['NutritionFacts']>
39
+ componentTheme: ReturnType<NewComponentTypes['NutritionFacts']>,
40
+ _props: NutritionFactsProps,
41
+ sharedTokens: SharedTokens
38
42
  ): NutritionFactsStyle => {
39
43
  return {
44
+ trigger: {
45
+ label: 'nutrition-facts__trigger',
46
+ display: 'inline-flex',
47
+ alignItems: 'center',
48
+ gap: sharedTokens?.spacing.general.spaceXs
49
+ },
40
50
  segmentCard: {
41
51
  label: 'nutrition-facts__segment-card',
42
52
  borderStyle: 'solid',