@pie-lib/render-ui 6.1.4-next.35 → 7.0.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 +16 -0
- package/lib/color.js +6 -1
- package/lib/color.js.map +1 -1
- package/lib/preview-prompt.js +38 -32
- package/lib/preview-prompt.js.map +1 -1
- package/package.json +4 -4
- package/src/__tests__/preview-prompt.test.jsx +57 -4
- package/src/color.js +5 -1
- package/src/preview-prompt.jsx +42 -34
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,22 @@
|
|
|
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
|
+
# [7.0.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/render-ui@6.1.3...@pie-lib/render-ui@7.0.0) (2026-08-21)
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
- **theming:** move the grey palette reads onto --pie-\* tokens PIE-856 ([9bbaf10](https://github.com/pie-framework/pie-lib/commit/9bbaf10ab25a050e4d1b727f84c7ad9fdc952f6a)), closes [#C0C3](https://github.com/pie-framework/pie-lib/issues/C0C3)
|
|
11
|
+
|
|
12
|
+
- fix(render-ui)!: scope PreviewPrompt to its own node instead of a shared id PIE-927 ([6dc34c8](https://github.com/pie-framework/pie-lib/commit/6dc34c89df545dd675b5d17e107c30bca70af202))
|
|
13
|
+
|
|
14
|
+
### BREAKING CHANGES
|
|
15
|
+
|
|
16
|
+
- PreviewPrompt no longer renders id="preview-prompt". Consumers
|
|
17
|
+
matching on that id must match the `.preview-prompt` class instead, e.g.
|
|
18
|
+
audio.closest('#preview-prompt') becomes audio.closest('.preview-prompt').
|
|
19
|
+
Affects 5 pie-elements packages: multiple-choice, categorize, drag-in-the-blank,
|
|
20
|
+
hotspot, image-cloze-association.
|
|
21
|
+
|
|
6
22
|
## [6.1.3](https://github.com/pie-framework/pie-lib/compare/@pie-lib/render-ui@6.1.2...@pie-lib/render-ui@6.1.3) (2026-07-01)
|
|
7
23
|
|
|
8
24
|
**Note:** Version bump only for package @pie-lib/render-ui
|
package/lib/color.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.white = exports.visualElementsColors = exports.v = exports.transparent = exports.text = exports.tertiaryLight = exports.tertiary = exports.secondaryText = exports.secondaryLight = exports.secondaryDark = exports.secondaryBackground = exports.secondary = exports.primaryText = exports.primaryLight = exports.primaryDark = exports.primary = exports.missingWithIcon = exports.missing = exports.keypadEmptyPlaceholder = exports.keypadButtonOperatorHover = exports.keypadButtonOperator = exports.keypadButtonHover = exports.keypadButton = exports.keyBoardFocusIndicator = exports.incorrectWithIcon = exports.incorrectSecondary = exports.incorrect = exports.focusUncheckedBorder = exports.focusUnchecked = exports.focusCheckedBorder = exports.focusChecked = exports.fadedPrimary = exports.dropdownBackground = exports.disabledSecondary = exports.disabled = exports.defaults = exports.correctWithIcon = exports.correctTertiary = exports.correctSecondary = exports.correct = exports.buttonHoverBg = exports.buttonBorder = exports.borderLight = exports.borderGray = exports.borderDark = exports.border = exports.blueGrey900 = exports.blueGrey600 = exports.blueGrey300 = exports.blueGrey100 = exports.black = exports.backgroundDark = exports.background = void 0;
|
|
6
|
+
exports.white = exports.visualElementsColors = exports.v = exports.transparent = exports.text = exports.tertiaryLight = exports.tertiary = exports.secondaryText = exports.secondaryLight = exports.secondaryDark = exports.secondaryBackground = exports.secondary = exports.primaryText = exports.primaryLight = exports.primaryDark = exports.primary = exports.missingWithIcon = exports.missing = exports.keypadEmptyPlaceholder = exports.keypadButtonOperatorHover = exports.keypadButtonOperator = exports.keypadButtonHover = exports.keypadButton = exports.keyBoardFocusIndicator = exports.incorrectWithIcon = exports.incorrectSecondary = exports.incorrect = exports.focusUncheckedBorder = exports.focusUnchecked = exports.focusCheckedBorder = exports.focusChecked = exports.fadedPrimary = exports.dropdownBackground = exports.disabledSecondary = exports.disabled = exports.defaults = exports.correctWithIcon = exports.correctTertiary = exports.correctSecondary = exports.correct = exports.buttonHoverBg = exports.buttonFocusOutline = exports.buttonBorder = exports.borderLight = exports.borderGray = exports.borderDark = exports.border = exports.blueGrey900 = exports.blueGrey600 = exports.blueGrey300 = exports.blueGrey100 = exports.black = exports.backgroundDark = exports.background = void 0;
|
|
7
7
|
var _colors = require("@mui/material/colors");
|
|
8
8
|
var defaults = exports.defaults = {
|
|
9
9
|
TEXT: 'black',
|
|
@@ -44,6 +44,8 @@ var defaults = exports.defaults = {
|
|
|
44
44
|
FOCUS_CHECKED_BORDER: '#1565C0',
|
|
45
45
|
FOCUS_UNCHECKED: '#E0E0E0',
|
|
46
46
|
FOCUS_UNCHECKED_BORDER: '#757575',
|
|
47
|
+
// the keyboard focus ring on a button or toolbar control
|
|
48
|
+
BUTTON_FOCUS_OUTLINE: '#3B82F6',
|
|
47
49
|
// this is used for select text tokens
|
|
48
50
|
BLUE_GREY100: '#F3F5F7',
|
|
49
51
|
BLUE_GREY300: '#C0C3CF',
|
|
@@ -189,6 +191,9 @@ var focusUnchecked = exports.focusUnchecked = function focusUnchecked() {
|
|
|
189
191
|
var focusUncheckedBorder = exports.focusUncheckedBorder = function focusUncheckedBorder() {
|
|
190
192
|
return pv('focus-unchecked-border', defaults.FOCUS_UNCHECKED_BORDER);
|
|
191
193
|
};
|
|
194
|
+
var buttonFocusOutline = exports.buttonFocusOutline = function buttonFocusOutline() {
|
|
195
|
+
return pv('button-focus-outline', defaults.BUTTON_FOCUS_OUTLINE);
|
|
196
|
+
};
|
|
192
197
|
var blueGrey100 = exports.blueGrey100 = function blueGrey100() {
|
|
193
198
|
return pv('blue-grey-100', defaults.BLUE_GREY100);
|
|
194
199
|
};
|
package/lib/color.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"color.js","names":["_colors","require","defaults","exports","TEXT","DISABLED","DISABLED_SECONDARY","CORRECT","green","CORRECT_SECONDARY","CORRECT_TERTIARY","CORRECT_WITH_ICON","INCORRECT","orange","INCORRECT_SECONDARY","red","INCORRECT_WITH_ICON","MISSING","MISSING_WITH_ICON","PRIMARY","indigo","PRIMARY_LIGHT","PRIMARY_DARK","SECONDARY","pink","A400","SECONDARY_LIGHT","SECONDARY_DARK","TERTIARY","TERTIARY_LIGHT","BACKGROUND","BACKGROUND_DARK","DROPDOWN_BACKGROUND","SECONDARY_BACKGROUND","BORDER","BORDER_LIGHT","BORDER_DARK","BORDER_GRAY","BLACK","WHITE","TRANSPARENT","FOCUS_CHECKED","FOCUS_CHECKED_BORDER","FOCUS_UNCHECKED","FOCUS_UNCHECKED_BORDER","BLUE_GREY100","BLUE_GREY300","BLUE_GREY600","BLUE_GREY900","FADED_PRIMARY","KEYPAD_BUTTON","KEYPAD_BUTTON_OPERATOR","KEYPAD_EMPTY_PLACEHOLDER","KEYPAD_BUTTON_HOVER","KEYPAD_BUTTON_OPERATOR_HOVER","KEY_BOARD_FOCUS_INDICATOR","BUTTON_BORDER","BUTTON_HOVER_BG","Object","freeze","v","prefix","_len","arguments","length","args","Array","_key","fallback","pop","reduceRight","acc","concat","pv","text","disabled","disabledSecondary","correct","correctSecondary","correctTertiary","correctWithIcon","incorrect","incorrectWithIcon","incorrectSecondary","missing","missingWithIcon","primary","primaryLight","primaryDark","primaryText","fadedPrimary","secondary","secondaryLight","secondaryDark","secondaryText","background","backgroundDark","secondaryBackground","dropdownBackground","tertiary","tertiaryLight","border","borderLight","borderDark","borderGray","black","white","transparent","focusChecked","focusCheckedBorder","focusUnchecked","focusUncheckedBorder","blueGrey100","blueGrey300","blueGrey600","blueGrey900","keypadButton","keypadButtonOperator","keypadEmptyPlaceholder","keypadButtonHover","keypadButtonOperatorHover","keyBoardFocusIndicator","buttonBorder","buttonHoverBg","visualElementsColors","AXIS_LINE_COLOR","ROLLOVER_FILL_BAR_COLOR","GRIDLINES_COLOR","PLOT_FILL_COLOR","SHAPES_FILL_COLOR"],"sources":["../src/color.js"],"sourcesContent":["import { green, indigo, orange, pink, red } from '@mui/material/colors';\n\nexport const defaults = {\n TEXT: 'black',\n DISABLED: 'grey',\n DISABLED_SECONDARY: '#ABABAB',\n CORRECT: green[500],\n CORRECT_SECONDARY: green[50],\n CORRECT_TERTIARY: '#0EA449',\n CORRECT_WITH_ICON: '#087D38',\n INCORRECT: orange[500],\n INCORRECT_SECONDARY: red[50],\n INCORRECT_WITH_ICON: '#BF0D00',\n MISSING: red[700],\n MISSING_WITH_ICON: '#6A78A1',\n PRIMARY: indigo[500],\n PRIMARY_LIGHT: indigo[200],\n PRIMARY_DARK: indigo[800],\n SECONDARY: pink.A400,\n SECONDARY_LIGHT: pink[200],\n SECONDARY_DARK: pink[900],\n TERTIARY: '#146EB3',\n TERTIARY_LIGHT: '#D0E2F0',\n BACKGROUND: 'rgba(255,255,255,0)',\n BACKGROUND_DARK: '#ECEDF1',\n DROPDOWN_BACKGROUND: '#E0E1E6', // this is used for inline-dropdown\n // this is only used for multi-trait-rubric, we might want to use BACKGROUND_DARK instead\n SECONDARY_BACKGROUND: 'rgba(241,241,241,1)',\n BORDER: '#9A9A9A',\n BORDER_LIGHT: '#D1D1D1',\n BORDER_DARK: '#646464',\n BORDER_GRAY: '#7E8494',\n BLACK: '#000000',\n WHITE: '#ffffff',\n TRANSPARENT: 'transparent',\n // this is used for multiple-choice accessibility\n FOCUS_CHECKED: '#BBDEFB',\n FOCUS_CHECKED_BORDER: '#1565C0',\n FOCUS_UNCHECKED: '#E0E0E0',\n FOCUS_UNCHECKED_BORDER: '#757575',\n // this is used for select text tokens\n BLUE_GREY100: '#F3F5F7',\n BLUE_GREY300: '#C0C3CF',\n BLUE_GREY600: '#7E8494',\n BLUE_GREY900: '#152452',\n // this is used for charting\n FADED_PRIMARY: '#DCDAFB',\n // these are used for the math keypad buttons\n KEYPAD_BUTTON: 'rgb(188, 194, 229)',\n KEYPAD_BUTTON_OPERATOR: 'rgb(255, 159, 192)',\n KEYPAD_EMPTY_PLACEHOLDER: 'rgba(245, 0, 87, 0.4)',\n KEYPAD_BUTTON_HOVER: 'rgb(214, 218, 239)',\n KEYPAD_BUTTON_OPERATOR_HOVER: 'rgb(255, 197, 217)',\n KEY_BOARD_FOCUS_INDICATOR: '#2B87FF',\n // these are used for graphing UI elements\n BUTTON_BORDER: 'rgba(0, 0, 0, 0.23)',\n BUTTON_HOVER_BG: 'rgba(0, 0, 0, 0.08)',\n};\n\nObject.freeze(defaults);\n\nexport const v =\n (prefix) =>\n (...args) => {\n const fallback = args.pop();\n return args.reduceRight((acc, v) => {\n return `var(--${prefix}-${v}, ${acc})`;\n }, fallback);\n };\n\nconst pv = v('pie');\n\nexport const text = () => pv('text', defaults.TEXT);\nexport const disabled = () => pv('disabled', defaults.DISABLED);\nexport const disabledSecondary = () => pv('disabled-secondary', defaults.DISABLED_SECONDARY);\nexport const correct = () => pv('correct', defaults.CORRECT);\nexport const correctSecondary = () => pv('correct-secondary', defaults.CORRECT_SECONDARY);\nexport const correctTertiary = () => pv('correct-tertiary', defaults.CORRECT_TERTIARY);\nexport const correctWithIcon = () => pv('correct-icon', defaults.CORRECT_WITH_ICON);\nexport const incorrect = () => pv('incorrect', defaults.INCORRECT);\nexport const incorrectWithIcon = () => pv('incorrect-icon', defaults.INCORRECT_WITH_ICON);\nexport const incorrectSecondary = () => pv('incorrect-secondary', defaults.INCORRECT_SECONDARY);\nexport const missing = () => pv('missing', defaults.MISSING);\nexport const missingWithIcon = () => pv('missing-icon', defaults.MISSING_WITH_ICON);\n\nexport const primary = () => pv('primary', defaults.PRIMARY);\nexport const primaryLight = () => pv('primary-light', defaults.PRIMARY_LIGHT);\nexport const primaryDark = () => pv('primary-dark', defaults.PRIMARY_DARK);\nexport const primaryText = () => pv('primary-text', 'text', defaults.TEXT);\nexport const fadedPrimary = () => pv('faded-primary', defaults.FADED_PRIMARY);\n\nexport const secondary = () => pv('secondary', defaults.SECONDARY);\nexport const secondaryLight = () => pv('secondary-light', defaults.SECONDARY_LIGHT);\nexport const secondaryDark = () => pv('secondary-dark', defaults.SECONDARY_DARK);\n\nexport const secondaryText = () => pv('secondary-text', 'text', defaults.TEXT);\nexport const background = () => pv('background', defaults.BACKGROUND);\nexport const backgroundDark = () => pv('background-dark', defaults.BACKGROUND_DARK);\nexport const secondaryBackground = () => pv('secondary-background', defaults.SECONDARY_BACKGROUND);\nexport const dropdownBackground = () => pv('dropdown-background', defaults.DROPDOWN_BACKGROUND);\n\nexport const tertiary = () => pv('tertiary', defaults.TERTIARY);\nexport const tertiaryLight = () => pv('tertiary-light', defaults.TERTIARY_LIGHT);\n\nexport const border = () => pv('border', defaults.BORDER);\nexport const borderLight = () => pv('border-light', defaults.BORDER_LIGHT);\nexport const borderDark = () => pv('border-dark', defaults.BORDER_DARK);\nexport const borderGray = () => pv('border-gray', defaults.BORDER_GRAY);\n\nexport const black = () => pv('black', defaults.BLACK);\nexport const white = () => pv('white', defaults.WHITE);\nexport const transparent = () => defaults.TRANSPARENT;\n\nexport const focusChecked = () => pv('focus-checked', defaults.FOCUS_CHECKED);\nexport const focusCheckedBorder = () => pv('focus-checked-border', defaults.FOCUS_CHECKED_BORDER);\nexport const focusUnchecked = () => pv('focus-unchecked', defaults.FOCUS_UNCHECKED);\nexport const focusUncheckedBorder = () => pv('focus-unchecked-border', defaults.FOCUS_UNCHECKED_BORDER);\n\nexport const blueGrey100 = () => pv('blue-grey-100', defaults.BLUE_GREY100);\nexport const blueGrey300 = () => pv('blue-grey-300', defaults.BLUE_GREY300);\nexport const blueGrey600 = () => pv('blue-grey-600', defaults.BLUE_GREY600);\nexport const blueGrey900 = () => pv('blue-grey-900', defaults.BLUE_GREY900);\n\nexport const keypadButton = () => pv('keypad-button', defaults.KEYPAD_BUTTON);\nexport const keypadButtonOperator = () => pv('keypad-button-operator', defaults.KEYPAD_BUTTON_OPERATOR);\nexport const keypadEmptyPlaceholder = () => pv('keypad-empty-placeholder', defaults.KEYPAD_EMPTY_PLACEHOLDER);\nexport const keypadButtonHover = () => pv('keypad-button-hover', defaults.KEYPAD_BUTTON_HOVER);\nexport const keypadButtonOperatorHover = () => pv('keypad-button-operator-hover', defaults.KEYPAD_BUTTON_OPERATOR_HOVER);\nexport const keyBoardFocusIndicator = () => pv('keyboard-focus-indicator', defaults.KEY_BOARD_FOCUS_INDICATOR);\nexport const buttonBorder = () => pv('button-border', defaults.BUTTON_BORDER);\nexport const buttonHoverBg = () => pv('button-hover-bg', defaults.BUTTON_HOVER_BG);\n\nexport const visualElementsColors = {\n AXIS_LINE_COLOR: '#5A53C9',\n ROLLOVER_FILL_BAR_COLOR: '#050F2D',\n GRIDLINES_COLOR: '#8E88EA',\n PLOT_FILL_COLOR: '#1463B3',\n SHAPES_FILL_COLOR: '#7986cb',\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"color.js","names":["_colors","require","defaults","exports","TEXT","DISABLED","DISABLED_SECONDARY","CORRECT","green","CORRECT_SECONDARY","CORRECT_TERTIARY","CORRECT_WITH_ICON","INCORRECT","orange","INCORRECT_SECONDARY","red","INCORRECT_WITH_ICON","MISSING","MISSING_WITH_ICON","PRIMARY","indigo","PRIMARY_LIGHT","PRIMARY_DARK","SECONDARY","pink","A400","SECONDARY_LIGHT","SECONDARY_DARK","TERTIARY","TERTIARY_LIGHT","BACKGROUND","BACKGROUND_DARK","DROPDOWN_BACKGROUND","SECONDARY_BACKGROUND","BORDER","BORDER_LIGHT","BORDER_DARK","BORDER_GRAY","BLACK","WHITE","TRANSPARENT","FOCUS_CHECKED","FOCUS_CHECKED_BORDER","FOCUS_UNCHECKED","FOCUS_UNCHECKED_BORDER","BUTTON_FOCUS_OUTLINE","BLUE_GREY100","BLUE_GREY300","BLUE_GREY600","BLUE_GREY900","FADED_PRIMARY","KEYPAD_BUTTON","KEYPAD_BUTTON_OPERATOR","KEYPAD_EMPTY_PLACEHOLDER","KEYPAD_BUTTON_HOVER","KEYPAD_BUTTON_OPERATOR_HOVER","KEY_BOARD_FOCUS_INDICATOR","BUTTON_BORDER","BUTTON_HOVER_BG","Object","freeze","v","prefix","_len","arguments","length","args","Array","_key","fallback","pop","reduceRight","acc","concat","pv","text","disabled","disabledSecondary","correct","correctSecondary","correctTertiary","correctWithIcon","incorrect","incorrectWithIcon","incorrectSecondary","missing","missingWithIcon","primary","primaryLight","primaryDark","primaryText","fadedPrimary","secondary","secondaryLight","secondaryDark","secondaryText","background","backgroundDark","secondaryBackground","dropdownBackground","tertiary","tertiaryLight","border","borderLight","borderDark","borderGray","black","white","transparent","focusChecked","focusCheckedBorder","focusUnchecked","focusUncheckedBorder","buttonFocusOutline","blueGrey100","blueGrey300","blueGrey600","blueGrey900","keypadButton","keypadButtonOperator","keypadEmptyPlaceholder","keypadButtonHover","keypadButtonOperatorHover","keyBoardFocusIndicator","buttonBorder","buttonHoverBg","visualElementsColors","AXIS_LINE_COLOR","ROLLOVER_FILL_BAR_COLOR","GRIDLINES_COLOR","PLOT_FILL_COLOR","SHAPES_FILL_COLOR"],"sources":["../src/color.js"],"sourcesContent":["import { green, indigo, orange, pink, red } from '@mui/material/colors';\n\nexport const defaults = {\n TEXT: 'black',\n DISABLED: 'grey',\n DISABLED_SECONDARY: '#ABABAB',\n CORRECT: green[500],\n CORRECT_SECONDARY: green[50],\n CORRECT_TERTIARY: '#0EA449',\n CORRECT_WITH_ICON: '#087D38',\n INCORRECT: orange[500],\n INCORRECT_SECONDARY: red[50],\n INCORRECT_WITH_ICON: '#BF0D00',\n MISSING: red[700],\n MISSING_WITH_ICON: '#6A78A1',\n PRIMARY: indigo[500],\n PRIMARY_LIGHT: indigo[200],\n PRIMARY_DARK: indigo[800],\n SECONDARY: pink.A400,\n SECONDARY_LIGHT: pink[200],\n SECONDARY_DARK: pink[900],\n TERTIARY: '#146EB3',\n TERTIARY_LIGHT: '#D0E2F0',\n BACKGROUND: 'rgba(255,255,255,0)',\n BACKGROUND_DARK: '#ECEDF1',\n DROPDOWN_BACKGROUND: '#E0E1E6', // this is used for inline-dropdown\n // this is only used for multi-trait-rubric, we might want to use BACKGROUND_DARK instead\n SECONDARY_BACKGROUND: 'rgba(241,241,241,1)',\n BORDER: '#9A9A9A',\n BORDER_LIGHT: '#D1D1D1',\n BORDER_DARK: '#646464',\n BORDER_GRAY: '#7E8494',\n BLACK: '#000000',\n WHITE: '#ffffff',\n TRANSPARENT: 'transparent',\n // this is used for multiple-choice accessibility\n FOCUS_CHECKED: '#BBDEFB',\n FOCUS_CHECKED_BORDER: '#1565C0',\n FOCUS_UNCHECKED: '#E0E0E0',\n FOCUS_UNCHECKED_BORDER: '#757575',\n // the keyboard focus ring on a button or toolbar control\n BUTTON_FOCUS_OUTLINE: '#3B82F6',\n // this is used for select text tokens\n BLUE_GREY100: '#F3F5F7',\n BLUE_GREY300: '#C0C3CF',\n BLUE_GREY600: '#7E8494',\n BLUE_GREY900: '#152452',\n // this is used for charting\n FADED_PRIMARY: '#DCDAFB',\n // these are used for the math keypad buttons\n KEYPAD_BUTTON: 'rgb(188, 194, 229)',\n KEYPAD_BUTTON_OPERATOR: 'rgb(255, 159, 192)',\n KEYPAD_EMPTY_PLACEHOLDER: 'rgba(245, 0, 87, 0.4)',\n KEYPAD_BUTTON_HOVER: 'rgb(214, 218, 239)',\n KEYPAD_BUTTON_OPERATOR_HOVER: 'rgb(255, 197, 217)',\n KEY_BOARD_FOCUS_INDICATOR: '#2B87FF',\n // these are used for graphing UI elements\n BUTTON_BORDER: 'rgba(0, 0, 0, 0.23)',\n BUTTON_HOVER_BG: 'rgba(0, 0, 0, 0.08)',\n};\n\nObject.freeze(defaults);\n\nexport const v =\n (prefix) =>\n (...args) => {\n const fallback = args.pop();\n return args.reduceRight((acc, v) => {\n return `var(--${prefix}-${v}, ${acc})`;\n }, fallback);\n };\n\nconst pv = v('pie');\n\nexport const text = () => pv('text', defaults.TEXT);\nexport const disabled = () => pv('disabled', defaults.DISABLED);\nexport const disabledSecondary = () => pv('disabled-secondary', defaults.DISABLED_SECONDARY);\nexport const correct = () => pv('correct', defaults.CORRECT);\nexport const correctSecondary = () => pv('correct-secondary', defaults.CORRECT_SECONDARY);\nexport const correctTertiary = () => pv('correct-tertiary', defaults.CORRECT_TERTIARY);\nexport const correctWithIcon = () => pv('correct-icon', defaults.CORRECT_WITH_ICON);\nexport const incorrect = () => pv('incorrect', defaults.INCORRECT);\nexport const incorrectWithIcon = () => pv('incorrect-icon', defaults.INCORRECT_WITH_ICON);\nexport const incorrectSecondary = () => pv('incorrect-secondary', defaults.INCORRECT_SECONDARY);\nexport const missing = () => pv('missing', defaults.MISSING);\nexport const missingWithIcon = () => pv('missing-icon', defaults.MISSING_WITH_ICON);\n\nexport const primary = () => pv('primary', defaults.PRIMARY);\nexport const primaryLight = () => pv('primary-light', defaults.PRIMARY_LIGHT);\nexport const primaryDark = () => pv('primary-dark', defaults.PRIMARY_DARK);\nexport const primaryText = () => pv('primary-text', 'text', defaults.TEXT);\nexport const fadedPrimary = () => pv('faded-primary', defaults.FADED_PRIMARY);\n\nexport const secondary = () => pv('secondary', defaults.SECONDARY);\nexport const secondaryLight = () => pv('secondary-light', defaults.SECONDARY_LIGHT);\nexport const secondaryDark = () => pv('secondary-dark', defaults.SECONDARY_DARK);\n\nexport const secondaryText = () => pv('secondary-text', 'text', defaults.TEXT);\nexport const background = () => pv('background', defaults.BACKGROUND);\nexport const backgroundDark = () => pv('background-dark', defaults.BACKGROUND_DARK);\nexport const secondaryBackground = () => pv('secondary-background', defaults.SECONDARY_BACKGROUND);\nexport const dropdownBackground = () => pv('dropdown-background', defaults.DROPDOWN_BACKGROUND);\n\nexport const tertiary = () => pv('tertiary', defaults.TERTIARY);\nexport const tertiaryLight = () => pv('tertiary-light', defaults.TERTIARY_LIGHT);\n\nexport const border = () => pv('border', defaults.BORDER);\nexport const borderLight = () => pv('border-light', defaults.BORDER_LIGHT);\nexport const borderDark = () => pv('border-dark', defaults.BORDER_DARK);\nexport const borderGray = () => pv('border-gray', defaults.BORDER_GRAY);\n\nexport const black = () => pv('black', defaults.BLACK);\nexport const white = () => pv('white', defaults.WHITE);\nexport const transparent = () => defaults.TRANSPARENT;\n\nexport const focusChecked = () => pv('focus-checked', defaults.FOCUS_CHECKED);\nexport const focusCheckedBorder = () => pv('focus-checked-border', defaults.FOCUS_CHECKED_BORDER);\nexport const focusUnchecked = () => pv('focus-unchecked', defaults.FOCUS_UNCHECKED);\nexport const focusUncheckedBorder = () => pv('focus-unchecked-border', defaults.FOCUS_UNCHECKED_BORDER);\nexport const buttonFocusOutline = () => pv('button-focus-outline', defaults.BUTTON_FOCUS_OUTLINE);\n\nexport const blueGrey100 = () => pv('blue-grey-100', defaults.BLUE_GREY100);\nexport const blueGrey300 = () => pv('blue-grey-300', defaults.BLUE_GREY300);\nexport const blueGrey600 = () => pv('blue-grey-600', defaults.BLUE_GREY600);\nexport const blueGrey900 = () => pv('blue-grey-900', defaults.BLUE_GREY900);\n\nexport const keypadButton = () => pv('keypad-button', defaults.KEYPAD_BUTTON);\nexport const keypadButtonOperator = () => pv('keypad-button-operator', defaults.KEYPAD_BUTTON_OPERATOR);\nexport const keypadEmptyPlaceholder = () => pv('keypad-empty-placeholder', defaults.KEYPAD_EMPTY_PLACEHOLDER);\nexport const keypadButtonHover = () => pv('keypad-button-hover', defaults.KEYPAD_BUTTON_HOVER);\nexport const keypadButtonOperatorHover = () =>\n pv('keypad-button-operator-hover', defaults.KEYPAD_BUTTON_OPERATOR_HOVER);\nexport const keyBoardFocusIndicator = () => pv('keyboard-focus-indicator', defaults.KEY_BOARD_FOCUS_INDICATOR);\nexport const buttonBorder = () => pv('button-border', defaults.BUTTON_BORDER);\nexport const buttonHoverBg = () => pv('button-hover-bg', defaults.BUTTON_HOVER_BG);\n\nexport const visualElementsColors = {\n AXIS_LINE_COLOR: '#5A53C9',\n ROLLOVER_FILL_BAR_COLOR: '#050F2D',\n GRIDLINES_COLOR: '#8E88EA',\n PLOT_FILL_COLOR: '#1463B3',\n SHAPES_FILL_COLOR: '#7986cb',\n};\n"],"mappings":"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","ignoreList":[]}
|
package/lib/preview-prompt.js
CHANGED
|
@@ -80,6 +80,10 @@ var StyledPromptContainer = (0, _styles.styled)('div')(function (_ref) {
|
|
|
80
80
|
//Used these below to replace \\embed{newLine} with \\newline from prompt which will get parsed in MathJax
|
|
81
81
|
var NEWLINE_BLOCK_REGEX = /\\embed\{newLine\}\[\]/g;
|
|
82
82
|
var NEWLINE_LATEX = '\\newline ';
|
|
83
|
+
|
|
84
|
+
// stable hook for 'is this node inside a prompt' checks - a class rather than an id,
|
|
85
|
+
// so it stays valid when a page renders more than one prompt
|
|
86
|
+
var PROMPT_CLASS = 'preview-prompt';
|
|
83
87
|
var PreviewPrompt = exports.PreviewPrompt = /*#__PURE__*/function (_Component) {
|
|
84
88
|
function PreviewPrompt() {
|
|
85
89
|
var _this;
|
|
@@ -88,6 +92,7 @@ var PreviewPrompt = exports.PreviewPrompt = /*#__PURE__*/function (_Component) {
|
|
|
88
92
|
args[_key] = arguments[_key];
|
|
89
93
|
}
|
|
90
94
|
_this = _callSuper(this, PreviewPrompt, [].concat(args));
|
|
95
|
+
(0, _defineProperty2["default"])(_this, "promptRef", /*#__PURE__*/_react["default"].createRef());
|
|
91
96
|
(0, _defineProperty2["default"])(_this, "parsedText", function (text) {
|
|
92
97
|
var customAudioButton = _this.props.customAudioButton;
|
|
93
98
|
var div = document.createElement('div');
|
|
@@ -213,7 +218,7 @@ var PreviewPrompt = exports.PreviewPrompt = /*#__PURE__*/function (_Component) {
|
|
|
213
218
|
}, {
|
|
214
219
|
key: "renderMathContent",
|
|
215
220
|
value: function renderMathContent() {
|
|
216
|
-
var container =
|
|
221
|
+
var container = this.promptRef.current;
|
|
217
222
|
if (container && typeof _mathRendering.renderMath === 'function') {
|
|
218
223
|
(0, _mathRendering.renderMath)(container);
|
|
219
224
|
}
|
|
@@ -221,39 +226,40 @@ var PreviewPrompt = exports.PreviewPrompt = /*#__PURE__*/function (_Component) {
|
|
|
221
226
|
}, {
|
|
222
227
|
key: "alignImages",
|
|
223
228
|
value: function alignImages() {
|
|
224
|
-
var
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
229
|
+
var previewPrompt = this.promptRef.current;
|
|
230
|
+
if (!previewPrompt) {
|
|
231
|
+
return;
|
|
232
|
+
}
|
|
233
|
+
var images = previewPrompt.getElementsByTagName('img');
|
|
234
|
+
if (images && images.length) {
|
|
235
|
+
var _iterator = _createForOfIteratorHelper(images),
|
|
236
|
+
_step;
|
|
237
|
+
try {
|
|
238
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
239
|
+
var image = _step.value;
|
|
240
|
+
if (image.attributes && image.attributes.alignment && image.attributes.alignment.value) {
|
|
241
|
+
var alignment = image.attributes.alignment.value;
|
|
242
|
+
var justifyContent = alignment === 'center' ? 'center' : alignment === 'right' ? 'flex-end' : 'flex-start';
|
|
243
|
+
var parentNode = image.parentElement;
|
|
244
|
+
if (parentNode.tagName === 'DIV' && parentNode.style.display === 'flex' && parentNode.style.width === '100%') {
|
|
245
|
+
parentNode.style.justifyContent = justifyContent;
|
|
246
|
+
} else {
|
|
247
|
+
var div = document.createElement('div');
|
|
248
|
+
div.style.display = 'flex';
|
|
249
|
+
div.style.width = '100%';
|
|
250
|
+
div.style.justifyContent = justifyContent;
|
|
251
|
+
var copyImage = image.cloneNode(true);
|
|
252
|
+
div.appendChild(copyImage);
|
|
253
|
+
parentNode.replaceChild(div, image);
|
|
248
254
|
}
|
|
249
255
|
}
|
|
250
|
-
} catch (err) {
|
|
251
|
-
_iterator.e(err);
|
|
252
|
-
} finally {
|
|
253
|
-
_iterator.f();
|
|
254
256
|
}
|
|
257
|
+
} catch (err) {
|
|
258
|
+
_iterator.e(err);
|
|
259
|
+
} finally {
|
|
260
|
+
_iterator.f();
|
|
255
261
|
}
|
|
256
|
-
}
|
|
262
|
+
}
|
|
257
263
|
}
|
|
258
264
|
}, {
|
|
259
265
|
key: "render",
|
|
@@ -266,10 +272,10 @@ var PreviewPrompt = exports.PreviewPrompt = /*#__PURE__*/function (_Component) {
|
|
|
266
272
|
defaultClassName = _this$props2.defaultClassName;
|
|
267
273
|
// legend tag was added once with accessibility tasks, we need extra style to make it work with images alignment
|
|
268
274
|
var legendClass = tagName === 'legend' ? 'legend' : '';
|
|
269
|
-
var customClasses = "".concat(className || '', " ").concat(defaultClassName || '', " ").concat(legendClass).trim();
|
|
275
|
+
var customClasses = "".concat(className || '', " ").concat(defaultClassName || '', " ").concat(legendClass, " ").concat(PROMPT_CLASS).trim();
|
|
270
276
|
return /*#__PURE__*/_react["default"].createElement(StyledPromptContainer, {
|
|
271
277
|
as: tagName || 'div',
|
|
272
|
-
|
|
278
|
+
ref: this.promptRef,
|
|
273
279
|
onClick: onClick,
|
|
274
280
|
className: customClasses,
|
|
275
281
|
tagName: tagName,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preview-prompt.js","names":["_react","_interopRequireWildcard","require","_styles","_propTypes","_interopRequireDefault","color","_mathRendering","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_createForOfIteratorHelper","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","_n","F","s","done","value","TypeError","a","u","next","_arrayLikeToArray","toString","slice","constructor","name","from","test","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","apply","Boolean","prototype","valueOf","StyledPromptContainer","styled","_ref","theme","tagName","borderCollapse","backgroundColor","palette","common","black","padding","textAlign","verticalAlign","text","width","fontSize","paddingLeft","spacing","paddingBottom","concat","display","flexDirection","cursor","margin","NEWLINE_BLOCK_REGEX","NEWLINE_LATEX","PreviewPrompt","exports","_Component","_this","_classCallCheck2","_len","arguments","args","_key","_defineProperty2","customAudioButton","props","div","document","createElement","innerHTML","audio","querySelector","source","setAttribute","getAttribute","removeAttribute","appendChild","style","playButton","id","assign","height","backgroundImage","pauseImage","backgroundSize","borderRadius","border","parentNode","insertBefore","_inherits2","_createClass2","key","addCustomAudioButtonControls","_this$props","autoplayAudioEnabled","getElementById","play","then","addEventListener","handleAudioEnded","error","console","handlePlayClick","paused","includes","playImage","handleAudioPlay","handleAudioPause","_handlePlayClick","_handleAudioPlay","_handleAudioPause","_handleAudioEnded","removeCustomAudioButtonListeners","removeEventListener","componentDidMount","alignImages","setupMathRendering","componentDidUpdate","prevProps","prompt","renderMathContent","componentWillUnmount","container","renderMath","previewPrompts","querySelectorAll","forEach","previewPrompt","images","getElementsByTagName","_iterator","_step","image","attributes","alignment","justifyContent","parentElement","copyImage","cloneNode","replaceChild","err","render","_this$props2","className","onClick","defaultClassName","legendClass","customClasses","trim","as","dangerouslySetInnerHTML","__html","parsedText","replace","Component","PropTypes","string","func","bool","_default"],"sources":["../src/preview-prompt.jsx"],"sourcesContent":["import React, { Component } from 'react';\nimport { styled } from '@mui/material/styles';\nimport PropTypes from 'prop-types';\nimport * as color from './color';\nimport { renderMath } from '@pie-lib/math-rendering';\n\nconst StyledPromptContainer = styled('div')(({ theme, tagName }) => ({\n // presentation tables should not have any custom style\n // Base promptTable styles\n '&:not(.MathJax) > table:not([role=\"presentation\"])': {\n borderCollapse: 'collapse',\n },\n // Apply vertical striping when first column is a header (th) and NOT mixed with td\n '&:not(.MathJax) > table:not([role=\"presentation\"]):has(tbody tr > th:first-child):not(:has(tbody tr > td:first-child)) tbody td:nth-child(even)':\n {\n backgroundColor: '#f6f8fa',\n color: theme.palette.common.black,\n },\n // Apply horizontal striping for tables where first element is a data cell (td)\n '&:not(.MathJax) > table:not([role=\"presentation\"]):has(tbody tr > td:first-child) tbody tr:nth-child(even) td': {\n backgroundColor: '#f6f8fa',\n color: theme.palette.common.black,\n },\n // align table content to left as per STAR requirement PD-3687\n '&:not(.MathJax) table:not([role=\"presentation\"]) td, &:not(.MathJax) table:not([role=\"presentation\"]) th': {\n padding: '.6em 1em',\n textAlign: 'left',\n },\n // added this to fix alignment of text in prompt imported from studio (PD-3423)\n '&:not(.MathJax) > table td > p.kds-indent': {\n textAlign: 'initial',\n },\n\n // Conditional styles based on class names\n '&.prompt': {\n verticalAlign: 'middle',\n color: color.text(),\n },\n '&.legend': {\n width: '100%',\n fontSize: 'inherit !important',\n },\n '&.rationale': {\n paddingLeft: theme.spacing(4),\n paddingBottom: theme.spacing(1),\n },\n '&.prompt-label': {\n color: `${color.text()} !important`,\n display: 'flex',\n flexDirection: 'column',\n verticalAlign: 'middle',\n cursor: 'pointer',\n '& > p': {\n margin: '0 0 0 0 !important',\n },\n },\n}));\n\n//Used these below to replace \\\\embed{newLine} with \\\\newline from prompt which will get parsed in MathJax\nconst NEWLINE_BLOCK_REGEX = /\\\\embed\\{newLine\\}\\[\\]/g;\nconst NEWLINE_LATEX = '\\\\newline ';\n\nexport class PreviewPrompt extends Component {\n static propTypes = {\n prompt: PropTypes.string,\n tagName: PropTypes.string,\n className: PropTypes.string,\n onClick: PropTypes.func,\n defaultClassName: PropTypes.string,\n autoplayAudioEnabled: PropTypes.bool,\n customAudioButton: {\n playImage: PropTypes.string,\n pauseImage: PropTypes.string,\n },\n };\n\n static defaultProps = {\n onClick: () => {},\n };\n\n parsedText = (text) => {\n const { customAudioButton } = this.props;\n const div = document.createElement('div');\n div.innerHTML = text;\n\n const audio = div.querySelector('audio');\n if (audio) {\n const source = document.createElement('source');\n\n source.setAttribute('type', 'audio/mp3');\n source.setAttribute('src', audio.getAttribute('src'));\n\n audio.removeAttribute('src');\n audio.setAttribute('id', 'pie-prompt-audio-player');\n\n audio.appendChild(source);\n\n if (customAudioButton) {\n audio.style.display = 'none';\n\n const playButton = document.createElement('div');\n playButton.id = 'play-audio-button';\n\n Object.assign(playButton.style, {\n cursor: 'pointer',\n display: 'block',\n width: '128px',\n height: '128px',\n backgroundImage: `url(${customAudioButton.pauseImage})`,\n backgroundSize: 'cover',\n borderRadius: '50%',\n border: '1px solid #326295',\n });\n\n audio.parentNode.insertBefore(playButton, audio);\n }\n }\n\n return div.innerHTML;\n };\n\n addCustomAudioButtonControls() {\n const { autoplayAudioEnabled, customAudioButton } = this.props;\n const playButton = document.getElementById('play-audio-button');\n const audio = document.getElementById('pie-prompt-audio-player');\n\n if (autoplayAudioEnabled && audio) {\n audio\n .play()\n .then(() => {\n if (playButton && customAudioButton) {\n audio.addEventListener('ended', handleAudioEnded);\n }\n })\n .catch((error) => {\n console.error('Error playing audio', error);\n });\n }\n\n if (!playButton || !audio || !customAudioButton) return;\n\n const handlePlayClick = () => {\n // if already playing, don't play again\n if (!audio.paused) return;\n if (playButton.style.backgroundImage.includes(customAudioButton.pauseImage)) return;\n\n audio.play();\n };\n\n const handleAudioEnded = () => {\n playButton.style.backgroundImage = `url(${customAudioButton.playImage})`;\n };\n\n const handleAudioPlay = () => {\n Object.assign(playButton.style, {\n backgroundImage: `url(${customAudioButton.pauseImage})`,\n border: '1px solid #ccc',\n });\n };\n\n const handleAudioPause = () => {\n Object.assign(playButton.style, {\n backgroundImage: `url(${customAudioButton.playImage})`,\n border: '1px solid #326295',\n });\n };\n\n playButton.addEventListener('click', handlePlayClick);\n audio.addEventListener('play', handleAudioPlay);\n audio.addEventListener('pause', handleAudioPause);\n audio.addEventListener('ended', handleAudioEnded);\n\n // store event handler references so they can be removed later\n this._handlePlayClick = handlePlayClick;\n this._handleAudioPlay = handleAudioPlay;\n this._handleAudioPause = handleAudioPause;\n this._handleAudioEnded = handleAudioEnded;\n }\n\n removeCustomAudioButtonListeners() {\n const playButton = document.getElementById('play-audio-button');\n const audio = document.querySelector('audio');\n\n if (!playButton || !audio) return;\n\n // remove event listeners using stored references\n playButton.removeEventListener('click', this._handlePlayClick);\n audio.removeEventListener('play', this._handleAudioPlay);\n audio.removeEventListener('pause', this._handleAudioPause);\n audio.removeEventListener('ended', this._handleAudioEnded);\n }\n\n componentDidMount() {\n this.alignImages();\n this.addCustomAudioButtonControls();\n this.setupMathRendering();\n }\n\n componentDidUpdate(prevProps) {\n this.alignImages();\n\n if (prevProps.prompt !== this.props.prompt) {\n this.renderMathContent();\n }\n }\n\n componentWillUnmount() {\n this.removeCustomAudioButtonListeners();\n }\n\n setupMathRendering() {\n this.renderMathContent();\n }\n\n renderMathContent() {\n const container = document.getElementById('preview-prompt');\n if (container && typeof renderMath === 'function') {\n renderMath(container);\n }\n }\n\n alignImages() {\n const previewPrompts = document.querySelectorAll('#preview-prompt');\n\n previewPrompts.forEach((previewPrompt) => {\n const images = previewPrompt.getElementsByTagName('img');\n\n if (images && images.length) {\n for (let image of images) {\n if (image.attributes && image.attributes.alignment && image.attributes.alignment.value) {\n const alignment = image.attributes.alignment.value;\n const justifyContent =\n alignment === 'center' ? 'center' : alignment === 'right' ? 'flex-end' : 'flex-start';\n\n const parentNode = image.parentElement;\n\n if (\n parentNode.tagName === 'DIV' &&\n parentNode.style.display === 'flex' &&\n parentNode.style.width === '100%'\n ) {\n parentNode.style.justifyContent = justifyContent;\n } else {\n const div = document.createElement('div');\n div.style.display = 'flex';\n div.style.width = '100%';\n div.style.justifyContent = justifyContent;\n\n const copyImage = image.cloneNode(true);\n div.appendChild(copyImage);\n parentNode.replaceChild(div, image);\n }\n }\n }\n }\n });\n }\n\n render() {\n const { prompt, tagName, className, onClick, defaultClassName } = this.props;\n // legend tag was added once with accessibility tasks, we need extra style to make it work with images alignment\n const legendClass = tagName === 'legend' ? 'legend' : '';\n const customClasses = `${className || ''} ${defaultClassName || ''} ${legendClass}`.trim();\n\n return (\n <StyledPromptContainer\n as={tagName || 'div'}\n id={'preview-prompt'}\n onClick={onClick}\n className={customClasses}\n tagName={tagName}\n dangerouslySetInnerHTML={{\n __html: this.parsedText(prompt || '').replace(NEWLINE_BLOCK_REGEX, NEWLINE_LATEX),\n }}\n />\n );\n }\n}\n\nexport default PreviewPrompt;\n"],"mappings":";;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,KAAA,GAAAL,uBAAA,CAAAC,OAAA;AACA,IAAAK,cAAA,GAAAL,OAAA;AAAqD,SAAAD,wBAAAO,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAT,uBAAA,YAAAA,wBAAAO,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,mBAAAT,CAAA,iBAAAA,CAAA,gBAAAU,OAAA,CAAAV,CAAA,0BAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,cAAAM,EAAA,IAAAd,CAAA,gBAAAc,EAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,EAAA,OAAAP,CAAA,IAAAD,CAAA,GAAAW,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAnB,CAAA,EAAAc,EAAA,OAAAP,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAM,EAAA,EAAAP,CAAA,IAAAC,CAAA,CAAAM,EAAA,IAAAd,CAAA,CAAAc,EAAA,WAAAN,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAAA,SAAAmB,2BAAAjB,CAAA,EAAAH,CAAA,QAAAC,CAAA,yBAAAoB,MAAA,IAAAlB,CAAA,CAAAkB,MAAA,CAAAC,QAAA,KAAAnB,CAAA,qBAAAF,CAAA,QAAAsB,KAAA,CAAAC,OAAA,CAAArB,CAAA,MAAAF,CAAA,GAAAwB,2BAAA,CAAAtB,CAAA,MAAAH,CAAA,IAAAG,CAAA,uBAAAA,CAAA,CAAAuB,MAAA,IAAAzB,CAAA,KAAAE,CAAA,GAAAF,CAAA,OAAA0B,EAAA,MAAAC,CAAA,YAAAA,EAAA,eAAAC,CAAA,EAAAD,CAAA,EAAAxB,CAAA,WAAAA,EAAA,WAAAuB,EAAA,IAAAxB,CAAA,CAAAuB,MAAA,KAAAI,IAAA,WAAAA,IAAA,MAAAC,KAAA,EAAA5B,CAAA,CAAAwB,EAAA,UAAA3B,CAAA,WAAAA,EAAAG,CAAA,UAAAA,CAAA,KAAAK,CAAA,EAAAoB,CAAA,gBAAAI,SAAA,iJAAA1B,CAAA,EAAA2B,CAAA,OAAAC,CAAA,gBAAAL,CAAA,WAAAA,EAAA,IAAA5B,CAAA,GAAAA,CAAA,CAAAe,IAAA,CAAAb,CAAA,MAAAC,CAAA,WAAAA,EAAA,QAAAD,CAAA,GAAAF,CAAA,CAAAkC,IAAA,WAAAF,CAAA,GAAA9B,CAAA,CAAA2B,IAAA,EAAA3B,CAAA,KAAAH,CAAA,WAAAA,EAAAG,CAAA,IAAA+B,CAAA,OAAA5B,CAAA,GAAAH,CAAA,KAAAK,CAAA,WAAAA,EAAA,UAAAyB,CAAA,YAAAhC,CAAA,cAAAA,CAAA,8BAAAiC,CAAA,QAAA5B,CAAA;AAAA,SAAAmB,4BAAAtB,CAAA,EAAA8B,CAAA,QAAA9B,CAAA,2BAAAA,CAAA,SAAAiC,iBAAA,CAAAjC,CAAA,EAAA8B,CAAA,OAAAhC,CAAA,MAAAoC,QAAA,CAAArB,IAAA,CAAAb,CAAA,EAAAmC,KAAA,6BAAArC,CAAA,IAAAE,CAAA,CAAAoC,WAAA,KAAAtC,CAAA,GAAAE,CAAA,CAAAoC,WAAA,CAAAC,IAAA,aAAAvC,CAAA,cAAAA,CAAA,GAAAsB,KAAA,CAAAkB,IAAA,CAAAtC,CAAA,oBAAAF,CAAA,+CAAAyC,IAAA,CAAAzC,CAAA,IAAAmC,iBAAA,CAAAjC,CAAA,EAAA8B,CAAA;AAAA,SAAAG,kBAAAjC,CAAA,EAAA8B,CAAA,aAAAA,CAAA,IAAAA,CAAA,GAAA9B,CAAA,CAAAuB,MAAA,MAAAO,CAAA,GAAA9B,CAAA,CAAAuB,MAAA,YAAA1B,CAAA,MAAAI,CAAA,GAAAmB,KAAA,CAAAU,CAAA,GAAAjC,CAAA,GAAAiC,CAAA,EAAAjC,CAAA,IAAAI,CAAA,CAAAJ,CAAA,IAAAG,CAAA,CAAAH,CAAA,UAAAI,CAAA;AAAA,SAAAuC,WAAA1C,CAAA,EAAAK,CAAA,EAAAN,CAAA,WAAAM,CAAA,OAAAsC,gBAAA,aAAAtC,CAAA,OAAAuC,2BAAA,aAAA5C,CAAA,EAAA6C,yBAAA,KAAAC,OAAA,CAAAC,SAAA,CAAA1C,CAAA,EAAAN,CAAA,YAAA4C,gBAAA,aAAA3C,CAAA,EAAAsC,WAAA,IAAAjC,CAAA,CAAA2C,KAAA,CAAAhD,CAAA,EAAAD,CAAA;AAAA,SAAA8C,0BAAA,cAAA7C,CAAA,IAAAiD,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAApC,IAAA,CAAA+B,OAAA,CAAAC,SAAA,CAAAE,OAAA,iCAAAjD,CAAA,aAAA6C,yBAAA,YAAAA,0BAAA,aAAA7C,CAAA;AAErD,IAAMoD,qBAAqB,GAAG,IAAAC,cAAM,EAAC,KAAK,CAAC,CAAC,UAAAC,IAAA;EAAA,IAAGC,KAAK,GAAAD,IAAA,CAALC,KAAK;IAAEC,OAAO,GAAAF,IAAA,CAAPE,OAAO;EAAA,OAAQ;IACnE;IACA;IACA,oDAAoD,EAAE;MACpDC,cAAc,EAAE;IAClB,CAAC;IACD;IACA,iJAAiJ,EAC/I;MACEC,eAAe,EAAE,SAAS;MAC1B7D,KAAK,EAAE0D,KAAK,CAACI,OAAO,CAACC,MAAM,CAACC;IAC9B,CAAC;IACH;IACA,+GAA+G,EAAE;MAC/GH,eAAe,EAAE,SAAS;MAC1B7D,KAAK,EAAE0D,KAAK,CAACI,OAAO,CAACC,MAAM,CAACC;IAC9B,CAAC;IACD;IACA,0GAA0G,EAAE;MAC1GC,OAAO,EAAE,UAAU;MACnBC,SAAS,EAAE;IACb,CAAC;IACD;IACA,2CAA2C,EAAE;MAC3CA,SAAS,EAAE;IACb,CAAC;IAED;IACA,UAAU,EAAE;MACVC,aAAa,EAAE,QAAQ;MACvBnE,KAAK,EAAEA,KAAK,CAACoE,IAAI,CAAC;IACpB,CAAC;IACD,UAAU,EAAE;MACVC,KAAK,EAAE,MAAM;MACbC,QAAQ,EAAE;IACZ,CAAC;IACD,aAAa,EAAE;MACbC,WAAW,EAAEb,KAAK,CAACc,OAAO,CAAC,CAAC,CAAC;MAC7BC,aAAa,EAAEf,KAAK,CAACc,OAAO,CAAC,CAAC;IAChC,CAAC;IACD,gBAAgB,EAAE;MAChBxE,KAAK,KAAA0E,MAAA,CAAK1E,KAAK,CAACoE,IAAI,CAAC,CAAC,gBAAa;MACnCO,OAAO,EAAE,MAAM;MACfC,aAAa,EAAE,QAAQ;MACvBT,aAAa,EAAE,QAAQ;MACvBU,MAAM,EAAE,SAAS;MACjB,OAAO,EAAE;QACPC,MAAM,EAAE;MACV;IACF;EACF,CAAC;AAAA,CAAC,CAAC;;AAEH;AACA,IAAMC,mBAAmB,GAAG,yBAAyB;AACrD,IAAMC,aAAa,GAAG,YAAY;AAAC,IAEtBC,aAAa,GAAAC,OAAA,CAAAD,aAAA,0BAAAE,UAAA;EAAA,SAAAF,cAAA;IAAA,IAAAG,KAAA;IAAA,IAAAC,gBAAA,mBAAAJ,aAAA;IAAA,SAAAK,IAAA,GAAAC,SAAA,CAAA3D,MAAA,EAAA4D,IAAA,OAAA/D,KAAA,CAAA6D,IAAA,GAAAG,IAAA,MAAAA,IAAA,GAAAH,IAAA,EAAAG,IAAA;MAAAD,IAAA,CAAAC,IAAA,IAAAF,SAAA,CAAAE,IAAA;IAAA;IAAAL,KAAA,GAAAvC,UAAA,OAAAoC,aAAA,KAAAP,MAAA,CAAAc,IAAA;IAAA,IAAAE,gBAAA,aAAAN,KAAA,gBAkBX,UAAChB,IAAI,EAAK;MACrB,IAAQuB,iBAAiB,GAAKP,KAAA,CAAKQ,KAAK,CAAhCD,iBAAiB;MACzB,IAAME,GAAG,GAAGC,QAAQ,CAACC,aAAa,CAAC,KAAK,CAAC;MACzCF,GAAG,CAACG,SAAS,GAAG5B,IAAI;MAEpB,IAAM6B,KAAK,GAAGJ,GAAG,CAACK,aAAa,CAAC,OAAO,CAAC;MACxC,IAAID,KAAK,EAAE;QACT,IAAME,MAAM,GAAGL,QAAQ,CAACC,aAAa,CAAC,QAAQ,CAAC;QAE/CI,MAAM,CAACC,YAAY,CAAC,MAAM,EAAE,WAAW,CAAC;QACxCD,MAAM,CAACC,YAAY,CAAC,KAAK,EAAEH,KAAK,CAACI,YAAY,CAAC,KAAK,CAAC,CAAC;QAErDJ,KAAK,CAACK,eAAe,CAAC,KAAK,CAAC;QAC5BL,KAAK,CAACG,YAAY,CAAC,IAAI,EAAE,yBAAyB,CAAC;QAEnDH,KAAK,CAACM,WAAW,CAACJ,MAAM,CAAC;QAEzB,IAAIR,iBAAiB,EAAE;UACrBM,KAAK,CAACO,KAAK,CAAC7B,OAAO,GAAG,MAAM;UAE5B,IAAM8B,UAAU,GAAGX,QAAQ,CAACC,aAAa,CAAC,KAAK,CAAC;UAChDU,UAAU,CAACC,EAAE,GAAG,mBAAmB;UAEnCvF,MAAM,CAACwF,MAAM,CAACF,UAAU,CAACD,KAAK,EAAE;YAC9B3B,MAAM,EAAE,SAAS;YACjBF,OAAO,EAAE,OAAO;YAChBN,KAAK,EAAE,OAAO;YACduC,MAAM,EAAE,OAAO;YACfC,eAAe,SAAAnC,MAAA,CAASiB,iBAAiB,CAACmB,UAAU,MAAG;YACvDC,cAAc,EAAE,OAAO;YACvBC,YAAY,EAAE,KAAK;YACnBC,MAAM,EAAE;UACV,CAAC,CAAC;UAEFhB,KAAK,CAACiB,UAAU,CAACC,YAAY,CAACV,UAAU,EAAER,KAAK,CAAC;QAClD;MACF;MAEA,OAAOJ,GAAG,CAACG,SAAS;IACtB,CAAC;IAAA,OAAAZ,KAAA;EAAA;EAAA,IAAAgC,UAAA,aAAAnC,aAAA,EAAAE,UAAA;EAAA,WAAAkC,aAAA,aAAApC,aAAA;IAAAqC,GAAA;IAAArF,KAAA,EAED,SAAAsF,4BAA4BA,CAAA,EAAG;MAC7B,IAAAC,WAAA,GAAoD,IAAI,CAAC5B,KAAK;QAAtD6B,oBAAoB,GAAAD,WAAA,CAApBC,oBAAoB;QAAE9B,iBAAiB,GAAA6B,WAAA,CAAjB7B,iBAAiB;MAC/C,IAAMc,UAAU,GAAGX,QAAQ,CAAC4B,cAAc,CAAC,mBAAmB,CAAC;MAC/D,IAAMzB,KAAK,GAAGH,QAAQ,CAAC4B,cAAc,CAAC,yBAAyB,CAAC;MAEhE,IAAID,oBAAoB,IAAIxB,KAAK,EAAE;QACjCA,KAAK,CACF0B,IAAI,CAAC,CAAC,CACNC,IAAI,CAAC,YAAM;UACV,IAAInB,UAAU,IAAId,iBAAiB,EAAE;YACnCM,KAAK,CAAC4B,gBAAgB,CAAC,OAAO,EAAEC,gBAAgB,CAAC;UACnD;QACF,CAAC,CAAC,SACI,CAAC,UAACC,KAAK,EAAK;UAChBC,OAAO,CAACD,KAAK,CAAC,qBAAqB,EAAEA,KAAK,CAAC;QAC7C,CAAC,CAAC;MACN;MAEA,IAAI,CAACtB,UAAU,IAAI,CAACR,KAAK,IAAI,CAACN,iBAAiB,EAAE;MAEjD,IAAMsC,eAAe,GAAG,SAAlBA,eAAeA,CAAA,EAAS;QAC5B;QACA,IAAI,CAAChC,KAAK,CAACiC,MAAM,EAAE;QACnB,IAAIzB,UAAU,CAACD,KAAK,CAACK,eAAe,CAACsB,QAAQ,CAACxC,iBAAiB,CAACmB,UAAU,CAAC,EAAE;QAE7Eb,KAAK,CAAC0B,IAAI,CAAC,CAAC;MACd,CAAC;MAED,IAAMG,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAA,EAAS;QAC7BrB,UAAU,CAACD,KAAK,CAACK,eAAe,UAAAnC,MAAA,CAAUiB,iBAAiB,CAACyC,SAAS,MAAG;MAC1E,CAAC;MAED,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,CAAA,EAAS;QAC5BlH,MAAM,CAACwF,MAAM,CAACF,UAAU,CAACD,KAAK,EAAE;UAC9BK,eAAe,SAAAnC,MAAA,CAASiB,iBAAiB,CAACmB,UAAU,MAAG;UACvDG,MAAM,EAAE;QACV,CAAC,CAAC;MACJ,CAAC;MAED,IAAMqB,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAA,EAAS;QAC7BnH,MAAM,CAACwF,MAAM,CAACF,UAAU,CAACD,KAAK,EAAE;UAC9BK,eAAe,SAAAnC,MAAA,CAASiB,iBAAiB,CAACyC,SAAS,MAAG;UACtDnB,MAAM,EAAE;QACV,CAAC,CAAC;MACJ,CAAC;MAEDR,UAAU,CAACoB,gBAAgB,CAAC,OAAO,EAAEI,eAAe,CAAC;MACrDhC,KAAK,CAAC4B,gBAAgB,CAAC,MAAM,EAAEQ,eAAe,CAAC;MAC/CpC,KAAK,CAAC4B,gBAAgB,CAAC,OAAO,EAAES,gBAAgB,CAAC;MACjDrC,KAAK,CAAC4B,gBAAgB,CAAC,OAAO,EAAEC,gBAAgB,CAAC;;MAEjD;MACA,IAAI,CAACS,gBAAgB,GAAGN,eAAe;MACvC,IAAI,CAACO,gBAAgB,GAAGH,eAAe;MACvC,IAAI,CAACI,iBAAiB,GAAGH,gBAAgB;MACzC,IAAI,CAACI,iBAAiB,GAAGZ,gBAAgB;IAC3C;EAAC;IAAAR,GAAA;IAAArF,KAAA,EAED,SAAA0G,gCAAgCA,CAAA,EAAG;MACjC,IAAMlC,UAAU,GAAGX,QAAQ,CAAC4B,cAAc,CAAC,mBAAmB,CAAC;MAC/D,IAAMzB,KAAK,GAAGH,QAAQ,CAACI,aAAa,CAAC,OAAO,CAAC;MAE7C,IAAI,CAACO,UAAU,IAAI,CAACR,KAAK,EAAE;;MAE3B;MACAQ,UAAU,CAACmC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAACL,gBAAgB,CAAC;MAC9DtC,KAAK,CAAC2C,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAACJ,gBAAgB,CAAC;MACxDvC,KAAK,CAAC2C,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAACH,iBAAiB,CAAC;MAC1DxC,KAAK,CAAC2C,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAACF,iBAAiB,CAAC;IAC5D;EAAC;IAAApB,GAAA;IAAArF,KAAA,EAED,SAAA4G,iBAAiBA,CAAA,EAAG;MAClB,IAAI,CAACC,WAAW,CAAC,CAAC;MAClB,IAAI,CAACvB,4BAA4B,CAAC,CAAC;MACnC,IAAI,CAACwB,kBAAkB,CAAC,CAAC;IAC3B;EAAC;IAAAzB,GAAA;IAAArF,KAAA,EAED,SAAA+G,kBAAkBA,CAACC,SAAS,EAAE;MAC5B,IAAI,CAACH,WAAW,CAAC,CAAC;MAElB,IAAIG,SAAS,CAACC,MAAM,KAAK,IAAI,CAACtD,KAAK,CAACsD,MAAM,EAAE;QAC1C,IAAI,CAACC,iBAAiB,CAAC,CAAC;MAC1B;IACF;EAAC;IAAA7B,GAAA;IAAArF,KAAA,EAED,SAAAmH,oBAAoBA,CAAA,EAAG;MACrB,IAAI,CAACT,gCAAgC,CAAC,CAAC;IACzC;EAAC;IAAArB,GAAA;IAAArF,KAAA,EAED,SAAA8G,kBAAkBA,CAAA,EAAG;MACnB,IAAI,CAACI,iBAAiB,CAAC,CAAC;IAC1B;EAAC;IAAA7B,GAAA;IAAArF,KAAA,EAED,SAAAkH,iBAAiBA,CAAA,EAAG;MAClB,IAAME,SAAS,GAAGvD,QAAQ,CAAC4B,cAAc,CAAC,gBAAgB,CAAC;MAC3D,IAAI2B,SAAS,IAAI,OAAOC,yBAAU,KAAK,UAAU,EAAE;QACjD,IAAAA,yBAAU,EAACD,SAAS,CAAC;MACvB;IACF;EAAC;IAAA/B,GAAA;IAAArF,KAAA,EAED,SAAA6G,WAAWA,CAAA,EAAG;MACZ,IAAMS,cAAc,GAAGzD,QAAQ,CAAC0D,gBAAgB,CAAC,iBAAiB,CAAC;MAEnED,cAAc,CAACE,OAAO,CAAC,UAACC,aAAa,EAAK;QACxC,IAAMC,MAAM,GAAGD,aAAa,CAACE,oBAAoB,CAAC,KAAK,CAAC;QAExD,IAAID,MAAM,IAAIA,MAAM,CAAC/H,MAAM,EAAE;UAAA,IAAAiI,SAAA,GAAAvI,0BAAA,CACTqI,MAAM;YAAAG,KAAA;UAAA;YAAxB,KAAAD,SAAA,CAAA9H,CAAA,MAAA+H,KAAA,GAAAD,SAAA,CAAAvJ,CAAA,IAAA0B,IAAA,GAA0B;cAAA,IAAjB+H,KAAK,GAAAD,KAAA,CAAA7H,KAAA;cACZ,IAAI8H,KAAK,CAACC,UAAU,IAAID,KAAK,CAACC,UAAU,CAACC,SAAS,IAAIF,KAAK,CAACC,UAAU,CAACC,SAAS,CAAChI,KAAK,EAAE;gBACtF,IAAMgI,SAAS,GAAGF,KAAK,CAACC,UAAU,CAACC,SAAS,CAAChI,KAAK;gBAClD,IAAMiI,cAAc,GAClBD,SAAS,KAAK,QAAQ,GAAG,QAAQ,GAAGA,SAAS,KAAK,OAAO,GAAG,UAAU,GAAG,YAAY;gBAEvF,IAAM/C,UAAU,GAAG6C,KAAK,CAACI,aAAa;gBAEtC,IACEjD,UAAU,CAACvD,OAAO,KAAK,KAAK,IAC5BuD,UAAU,CAACV,KAAK,CAAC7B,OAAO,KAAK,MAAM,IACnCuC,UAAU,CAACV,KAAK,CAACnC,KAAK,KAAK,MAAM,EACjC;kBACA6C,UAAU,CAACV,KAAK,CAAC0D,cAAc,GAAGA,cAAc;gBAClD,CAAC,MAAM;kBACL,IAAMrE,GAAG,GAAGC,QAAQ,CAACC,aAAa,CAAC,KAAK,CAAC;kBACzCF,GAAG,CAACW,KAAK,CAAC7B,OAAO,GAAG,MAAM;kBAC1BkB,GAAG,CAACW,KAAK,CAACnC,KAAK,GAAG,MAAM;kBACxBwB,GAAG,CAACW,KAAK,CAAC0D,cAAc,GAAGA,cAAc;kBAEzC,IAAME,SAAS,GAAGL,KAAK,CAACM,SAAS,CAAC,IAAI,CAAC;kBACvCxE,GAAG,CAACU,WAAW,CAAC6D,SAAS,CAAC;kBAC1BlD,UAAU,CAACoD,YAAY,CAACzE,GAAG,EAAEkE,KAAK,CAAC;gBACrC;cACF;YACF;UAAC,SAAAQ,GAAA;YAAAV,SAAA,CAAA3J,CAAA,CAAAqK,GAAA;UAAA;YAAAV,SAAA,CAAAnJ,CAAA;UAAA;QACH;MACF,CAAC,CAAC;IACJ;EAAC;IAAA4G,GAAA;IAAArF,KAAA,EAED,SAAAuI,MAAMA,CAAA,EAAG;MACP,IAAAC,YAAA,GAAkE,IAAI,CAAC7E,KAAK;QAApEsD,MAAM,GAAAuB,YAAA,CAANvB,MAAM;QAAEvF,OAAO,GAAA8G,YAAA,CAAP9G,OAAO;QAAE+G,SAAS,GAAAD,YAAA,CAATC,SAAS;QAAEC,OAAO,GAAAF,YAAA,CAAPE,OAAO;QAAEC,gBAAgB,GAAAH,YAAA,CAAhBG,gBAAgB;MAC7D;MACA,IAAMC,WAAW,GAAGlH,OAAO,KAAK,QAAQ,GAAG,QAAQ,GAAG,EAAE;MACxD,IAAMmH,aAAa,GAAG,GAAApG,MAAA,CAAGgG,SAAS,IAAI,EAAE,OAAAhG,MAAA,CAAIkG,gBAAgB,IAAI,EAAE,OAAAlG,MAAA,CAAImG,WAAW,EAAGE,IAAI,CAAC,CAAC;MAE1F,oBACErL,MAAA,YAAAqG,aAAA,CAACxC,qBAAqB;QACpByH,EAAE,EAAErH,OAAO,IAAI,KAAM;QACrB+C,EAAE,EAAE,gBAAiB;QACrBiE,OAAO,EAAEA,OAAQ;QACjBD,SAAS,EAAEI,aAAc;QACzBnH,OAAO,EAAEA,OAAQ;QACjBsH,uBAAuB,EAAE;UACvBC,MAAM,EAAE,IAAI,CAACC,UAAU,CAACjC,MAAM,IAAI,EAAE,CAAC,CAACkC,OAAO,CAACrG,mBAAmB,EAAEC,aAAa;QAClF;MAAE,CACH,CAAC;IAEN;EAAC;AAAA,EAtNgCqG,gBAAS;AAAA,IAAA3F,gBAAA,aAA/BT,aAAa,eACL;EACjBiE,MAAM,EAAEoC,qBAAS,CAACC,MAAM;EACxB5H,OAAO,EAAE2H,qBAAS,CAACC,MAAM;EACzBb,SAAS,EAAEY,qBAAS,CAACC,MAAM;EAC3BZ,OAAO,EAAEW,qBAAS,CAACE,IAAI;EACvBZ,gBAAgB,EAAEU,qBAAS,CAACC,MAAM;EAClC9D,oBAAoB,EAAE6D,qBAAS,CAACG,IAAI;EACpC9F,iBAAiB,EAAE;IACjByC,SAAS,EAAEkD,qBAAS,CAACC,MAAM;IAC3BzE,UAAU,EAAEwE,qBAAS,CAACC;EACxB;AACF,CAAC;AAAA,IAAA7F,gBAAA,aAZUT,aAAa,kBAcF;EACpB0F,OAAO,EAAE,SAATA,OAAOA,CAAA,EAAQ,CAAC;AAClB,CAAC;AAAA,IAAAe,QAAA,GAAAxG,OAAA,cAyMYD,aAAa","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"preview-prompt.js","names":["_react","_interopRequireWildcard","require","_styles","_propTypes","_interopRequireDefault","color","_mathRendering","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_createForOfIteratorHelper","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","_n","F","s","done","value","TypeError","a","u","next","_arrayLikeToArray","toString","slice","constructor","name","from","test","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","apply","Boolean","prototype","valueOf","StyledPromptContainer","styled","_ref","theme","tagName","borderCollapse","backgroundColor","palette","common","black","padding","textAlign","verticalAlign","text","width","fontSize","paddingLeft","spacing","paddingBottom","concat","display","flexDirection","cursor","margin","NEWLINE_BLOCK_REGEX","NEWLINE_LATEX","PROMPT_CLASS","PreviewPrompt","exports","_Component","_this","_classCallCheck2","_len","arguments","args","_key","_defineProperty2","React","createRef","customAudioButton","props","div","document","createElement","innerHTML","audio","querySelector","source","setAttribute","getAttribute","removeAttribute","appendChild","style","playButton","id","assign","height","backgroundImage","pauseImage","backgroundSize","borderRadius","border","parentNode","insertBefore","_inherits2","_createClass2","key","addCustomAudioButtonControls","_this$props","autoplayAudioEnabled","getElementById","play","then","addEventListener","handleAudioEnded","error","console","handlePlayClick","paused","includes","playImage","handleAudioPlay","handleAudioPause","_handlePlayClick","_handleAudioPlay","_handleAudioPause","_handleAudioEnded","removeCustomAudioButtonListeners","removeEventListener","componentDidMount","alignImages","setupMathRendering","componentDidUpdate","prevProps","prompt","renderMathContent","componentWillUnmount","container","promptRef","current","renderMath","previewPrompt","images","getElementsByTagName","_iterator","_step","image","attributes","alignment","justifyContent","parentElement","copyImage","cloneNode","replaceChild","err","render","_this$props2","className","onClick","defaultClassName","legendClass","customClasses","trim","as","ref","dangerouslySetInnerHTML","__html","parsedText","replace","Component","PropTypes","string","func","bool","_default"],"sources":["../src/preview-prompt.jsx"],"sourcesContent":["import React, { Component } from 'react';\nimport { styled } from '@mui/material/styles';\nimport PropTypes from 'prop-types';\nimport * as color from './color';\nimport { renderMath } from '@pie-lib/math-rendering';\n\nconst StyledPromptContainer = styled('div')(({ theme, tagName }) => ({\n // presentation tables should not have any custom style\n // Base promptTable styles\n '&:not(.MathJax) > table:not([role=\"presentation\"])': {\n borderCollapse: 'collapse',\n },\n // Apply vertical striping when first column is a header (th) and NOT mixed with td\n '&:not(.MathJax) > table:not([role=\"presentation\"]):has(tbody tr > th:first-child):not(:has(tbody tr > td:first-child)) tbody td:nth-child(even)':\n {\n backgroundColor: '#f6f8fa',\n color: theme.palette.common.black,\n },\n // Apply horizontal striping for tables where first element is a data cell (td)\n '&:not(.MathJax) > table:not([role=\"presentation\"]):has(tbody tr > td:first-child) tbody tr:nth-child(even) td': {\n backgroundColor: '#f6f8fa',\n color: theme.palette.common.black,\n },\n // align table content to left as per STAR requirement PD-3687\n '&:not(.MathJax) table:not([role=\"presentation\"]) td, &:not(.MathJax) table:not([role=\"presentation\"]) th': {\n padding: '.6em 1em',\n textAlign: 'left',\n },\n // added this to fix alignment of text in prompt imported from studio (PD-3423)\n '&:not(.MathJax) > table td > p.kds-indent': {\n textAlign: 'initial',\n },\n\n // Conditional styles based on class names\n '&.prompt': {\n verticalAlign: 'middle',\n color: color.text(),\n },\n '&.legend': {\n width: '100%',\n fontSize: 'inherit !important',\n },\n '&.rationale': {\n paddingLeft: theme.spacing(4),\n paddingBottom: theme.spacing(1),\n },\n '&.prompt-label': {\n color: `${color.text()} !important`,\n display: 'flex',\n flexDirection: 'column',\n verticalAlign: 'middle',\n cursor: 'pointer',\n '& > p': {\n margin: '0 0 0 0 !important',\n },\n },\n}));\n\n//Used these below to replace \\\\embed{newLine} with \\\\newline from prompt which will get parsed in MathJax\nconst NEWLINE_BLOCK_REGEX = /\\\\embed\\{newLine\\}\\[\\]/g;\nconst NEWLINE_LATEX = '\\\\newline ';\n\n// stable hook for 'is this node inside a prompt' checks - a class rather than an id,\n// so it stays valid when a page renders more than one prompt\nconst PROMPT_CLASS = 'preview-prompt';\n\nexport class PreviewPrompt extends Component {\n static propTypes = {\n prompt: PropTypes.string,\n tagName: PropTypes.string,\n className: PropTypes.string,\n onClick: PropTypes.func,\n defaultClassName: PropTypes.string,\n autoplayAudioEnabled: PropTypes.bool,\n customAudioButton: {\n playImage: PropTypes.string,\n pauseImage: PropTypes.string,\n },\n };\n\n static defaultProps = {\n onClick: () => {},\n };\n\n promptRef = React.createRef();\n\n parsedText = (text) => {\n const { customAudioButton } = this.props;\n const div = document.createElement('div');\n div.innerHTML = text;\n\n const audio = div.querySelector('audio');\n if (audio) {\n const source = document.createElement('source');\n\n source.setAttribute('type', 'audio/mp3');\n source.setAttribute('src', audio.getAttribute('src'));\n\n audio.removeAttribute('src');\n audio.setAttribute('id', 'pie-prompt-audio-player');\n\n audio.appendChild(source);\n\n if (customAudioButton) {\n audio.style.display = 'none';\n\n const playButton = document.createElement('div');\n playButton.id = 'play-audio-button';\n\n Object.assign(playButton.style, {\n cursor: 'pointer',\n display: 'block',\n width: '128px',\n height: '128px',\n backgroundImage: `url(${customAudioButton.pauseImage})`,\n backgroundSize: 'cover',\n borderRadius: '50%',\n border: '1px solid #326295',\n });\n\n audio.parentNode.insertBefore(playButton, audio);\n }\n }\n\n return div.innerHTML;\n };\n\n addCustomAudioButtonControls() {\n const { autoplayAudioEnabled, customAudioButton } = this.props;\n const playButton = document.getElementById('play-audio-button');\n const audio = document.getElementById('pie-prompt-audio-player');\n\n if (autoplayAudioEnabled && audio) {\n audio\n .play()\n .then(() => {\n if (playButton && customAudioButton) {\n audio.addEventListener('ended', handleAudioEnded);\n }\n })\n .catch((error) => {\n console.error('Error playing audio', error);\n });\n }\n\n if (!playButton || !audio || !customAudioButton) return;\n\n const handlePlayClick = () => {\n // if already playing, don't play again\n if (!audio.paused) return;\n if (playButton.style.backgroundImage.includes(customAudioButton.pauseImage)) return;\n\n audio.play();\n };\n\n const handleAudioEnded = () => {\n playButton.style.backgroundImage = `url(${customAudioButton.playImage})`;\n };\n\n const handleAudioPlay = () => {\n Object.assign(playButton.style, {\n backgroundImage: `url(${customAudioButton.pauseImage})`,\n border: '1px solid #ccc',\n });\n };\n\n const handleAudioPause = () => {\n Object.assign(playButton.style, {\n backgroundImage: `url(${customAudioButton.playImage})`,\n border: '1px solid #326295',\n });\n };\n\n playButton.addEventListener('click', handlePlayClick);\n audio.addEventListener('play', handleAudioPlay);\n audio.addEventListener('pause', handleAudioPause);\n audio.addEventListener('ended', handleAudioEnded);\n\n // store event handler references so they can be removed later\n this._handlePlayClick = handlePlayClick;\n this._handleAudioPlay = handleAudioPlay;\n this._handleAudioPause = handleAudioPause;\n this._handleAudioEnded = handleAudioEnded;\n }\n\n removeCustomAudioButtonListeners() {\n const playButton = document.getElementById('play-audio-button');\n const audio = document.querySelector('audio');\n\n if (!playButton || !audio) return;\n\n // remove event listeners using stored references\n playButton.removeEventListener('click', this._handlePlayClick);\n audio.removeEventListener('play', this._handleAudioPlay);\n audio.removeEventListener('pause', this._handleAudioPause);\n audio.removeEventListener('ended', this._handleAudioEnded);\n }\n\n componentDidMount() {\n this.alignImages();\n this.addCustomAudioButtonControls();\n this.setupMathRendering();\n }\n\n componentDidUpdate(prevProps) {\n this.alignImages();\n\n if (prevProps.prompt !== this.props.prompt) {\n this.renderMathContent();\n }\n }\n\n componentWillUnmount() {\n this.removeCustomAudioButtonListeners();\n }\n\n setupMathRendering() {\n this.renderMathContent();\n }\n\n renderMathContent() {\n const container = this.promptRef.current;\n if (container && typeof renderMath === 'function') {\n renderMath(container);\n }\n }\n\n alignImages() {\n const previewPrompt = this.promptRef.current;\n\n if (!previewPrompt) {\n return;\n }\n\n const images = previewPrompt.getElementsByTagName('img');\n\n if (images && images.length) {\n for (let image of images) {\n if (image.attributes && image.attributes.alignment && image.attributes.alignment.value) {\n const alignment = image.attributes.alignment.value;\n const justifyContent =\n alignment === 'center' ? 'center' : alignment === 'right' ? 'flex-end' : 'flex-start';\n\n const parentNode = image.parentElement;\n\n if (\n parentNode.tagName === 'DIV' &&\n parentNode.style.display === 'flex' &&\n parentNode.style.width === '100%'\n ) {\n parentNode.style.justifyContent = justifyContent;\n } else {\n const div = document.createElement('div');\n div.style.display = 'flex';\n div.style.width = '100%';\n div.style.justifyContent = justifyContent;\n\n const copyImage = image.cloneNode(true);\n div.appendChild(copyImage);\n parentNode.replaceChild(div, image);\n }\n }\n }\n }\n }\n\n render() {\n const { prompt, tagName, className, onClick, defaultClassName } = this.props;\n // legend tag was added once with accessibility tasks, we need extra style to make it work with images alignment\n const legendClass = tagName === 'legend' ? 'legend' : '';\n const customClasses = `${className || ''} ${defaultClassName || ''} ${legendClass} ${PROMPT_CLASS}`.trim();\n\n return (\n <StyledPromptContainer\n as={tagName || 'div'}\n ref={this.promptRef}\n onClick={onClick}\n className={customClasses}\n tagName={tagName}\n dangerouslySetInnerHTML={{\n __html: this.parsedText(prompt || '').replace(NEWLINE_BLOCK_REGEX, NEWLINE_LATEX),\n }}\n />\n );\n }\n}\n\nexport default PreviewPrompt;\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pie-lib/render-ui",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "7.0.0",
|
|
4
4
|
"description": "Some shared ui elements when rendering - but not worthy of their own package yet.",
|
|
5
5
|
"module": "src/index.js",
|
|
6
6
|
"main": "lib/index.js",
|
|
@@ -14,8 +14,8 @@
|
|
|
14
14
|
"@emotion/styled": "^11.14.1",
|
|
15
15
|
"@mui/icons-material": "^7.3.4",
|
|
16
16
|
"@mui/material": "^7.3.4",
|
|
17
|
-
"@pie-lib/icons": "^4.0.
|
|
18
|
-
"@pie-lib/math-rendering": "^5.1.
|
|
17
|
+
"@pie-lib/icons": "^4.0.3",
|
|
18
|
+
"@pie-lib/math-rendering": "^5.1.0",
|
|
19
19
|
"@pie-lib/test-utils": "^2.0.2",
|
|
20
20
|
"debug": "^4.1.1",
|
|
21
21
|
"lodash-es": "^4.17.23",
|
|
@@ -31,5 +31,5 @@
|
|
|
31
31
|
"react": "^18.2.0",
|
|
32
32
|
"react-dom": "^18.2.0"
|
|
33
33
|
},
|
|
34
|
-
"gitHead": "
|
|
34
|
+
"gitHead": "e6b46157ab321f4488117149f21783511f30970c"
|
|
35
35
|
}
|
|
@@ -345,10 +345,30 @@ describe('PreviewPrompt - Extended Tests', () => {
|
|
|
345
345
|
});
|
|
346
346
|
|
|
347
347
|
describe('accessibility', () => {
|
|
348
|
-
it('should
|
|
349
|
-
render(<PreviewPrompt prompt="Accessible text" />);
|
|
350
|
-
|
|
351
|
-
|
|
348
|
+
it('should mark the container with the stable preview-prompt class', () => {
|
|
349
|
+
const { container } = render(<PreviewPrompt prompt="Accessible text" />);
|
|
350
|
+
expect(container.firstChild).toHaveClass('preview-prompt');
|
|
351
|
+
});
|
|
352
|
+
|
|
353
|
+
it('should not emit an id on the container', () => {
|
|
354
|
+
const { container } = render(<PreviewPrompt prompt="Accessible text" />);
|
|
355
|
+
expect(container.firstChild).not.toHaveAttribute('id');
|
|
356
|
+
});
|
|
357
|
+
|
|
358
|
+
it('should leave no duplicate ids when a page renders many prompts', () => {
|
|
359
|
+
const { container } = render(
|
|
360
|
+
<div>
|
|
361
|
+
<PreviewPrompt prompt="Item 1" />
|
|
362
|
+
<PreviewPrompt prompt="Item 2" />
|
|
363
|
+
<PreviewPrompt prompt="Item 3" />
|
|
364
|
+
<PreviewPrompt prompt="Item 4" />
|
|
365
|
+
<PreviewPrompt prompt="Item 5" />
|
|
366
|
+
</div>,
|
|
367
|
+
);
|
|
368
|
+
|
|
369
|
+
const ids = Array.from(container.querySelectorAll('[id]')).map((el) => el.id);
|
|
370
|
+
|
|
371
|
+
expect(ids).toEqual(Array.from(new Set(ids)));
|
|
352
372
|
});
|
|
353
373
|
|
|
354
374
|
it('should preserve semantic HTML', () => {
|
|
@@ -375,5 +395,38 @@ describe('PreviewPrompt - Extended Tests', () => {
|
|
|
375
395
|
expect(screen.getByText('Second prompt')).toBeInTheDocument();
|
|
376
396
|
expect(screen.getByText('Third prompt')).toBeInTheDocument();
|
|
377
397
|
});
|
|
398
|
+
|
|
399
|
+
it('should typeset each instance with its own node rather than the first prompt on the page', () => {
|
|
400
|
+
renderMath.mockClear();
|
|
401
|
+
|
|
402
|
+
render(
|
|
403
|
+
<div>
|
|
404
|
+
<PreviewPrompt prompt="First prompt" />
|
|
405
|
+
<PreviewPrompt prompt="Second prompt" />
|
|
406
|
+
<PreviewPrompt prompt="Third prompt" />
|
|
407
|
+
</div>,
|
|
408
|
+
);
|
|
409
|
+
|
|
410
|
+
const typesetNodes = renderMath.mock.calls.map(([node]) => node);
|
|
411
|
+
|
|
412
|
+
expect(typesetNodes).toHaveLength(3);
|
|
413
|
+
expect(new Set(typesetNodes).size).toBe(3);
|
|
414
|
+
expect(typesetNodes.map((node) => node.textContent)).toEqual(['First prompt', 'Second prompt', 'Third prompt']);
|
|
415
|
+
});
|
|
416
|
+
|
|
417
|
+
it('should align images within each instance independently', () => {
|
|
418
|
+
const { container } = render(
|
|
419
|
+
<div>
|
|
420
|
+
<PreviewPrompt prompt='<img src="a.png" alignment="center" />' />
|
|
421
|
+
<PreviewPrompt prompt='<img src="b.png" alignment="right" />' />
|
|
422
|
+
</div>,
|
|
423
|
+
);
|
|
424
|
+
|
|
425
|
+
const wrappers = container.querySelectorAll('.preview-prompt > div');
|
|
426
|
+
|
|
427
|
+
expect(wrappers).toHaveLength(2);
|
|
428
|
+
expect(wrappers[0].style.justifyContent).toBe('center');
|
|
429
|
+
expect(wrappers[1].style.justifyContent).toBe('flex-end');
|
|
430
|
+
});
|
|
378
431
|
});
|
|
379
432
|
});
|
package/src/color.js
CHANGED
|
@@ -38,6 +38,8 @@ export const defaults = {
|
|
|
38
38
|
FOCUS_CHECKED_BORDER: '#1565C0',
|
|
39
39
|
FOCUS_UNCHECKED: '#E0E0E0',
|
|
40
40
|
FOCUS_UNCHECKED_BORDER: '#757575',
|
|
41
|
+
// the keyboard focus ring on a button or toolbar control
|
|
42
|
+
BUTTON_FOCUS_OUTLINE: '#3B82F6',
|
|
41
43
|
// this is used for select text tokens
|
|
42
44
|
BLUE_GREY100: '#F3F5F7',
|
|
43
45
|
BLUE_GREY300: '#C0C3CF',
|
|
@@ -115,6 +117,7 @@ export const focusChecked = () => pv('focus-checked', defaults.FOCUS_CHECKED);
|
|
|
115
117
|
export const focusCheckedBorder = () => pv('focus-checked-border', defaults.FOCUS_CHECKED_BORDER);
|
|
116
118
|
export const focusUnchecked = () => pv('focus-unchecked', defaults.FOCUS_UNCHECKED);
|
|
117
119
|
export const focusUncheckedBorder = () => pv('focus-unchecked-border', defaults.FOCUS_UNCHECKED_BORDER);
|
|
120
|
+
export const buttonFocusOutline = () => pv('button-focus-outline', defaults.BUTTON_FOCUS_OUTLINE);
|
|
118
121
|
|
|
119
122
|
export const blueGrey100 = () => pv('blue-grey-100', defaults.BLUE_GREY100);
|
|
120
123
|
export const blueGrey300 = () => pv('blue-grey-300', defaults.BLUE_GREY300);
|
|
@@ -125,7 +128,8 @@ export const keypadButton = () => pv('keypad-button', defaults.KEYPAD_BUTTON);
|
|
|
125
128
|
export const keypadButtonOperator = () => pv('keypad-button-operator', defaults.KEYPAD_BUTTON_OPERATOR);
|
|
126
129
|
export const keypadEmptyPlaceholder = () => pv('keypad-empty-placeholder', defaults.KEYPAD_EMPTY_PLACEHOLDER);
|
|
127
130
|
export const keypadButtonHover = () => pv('keypad-button-hover', defaults.KEYPAD_BUTTON_HOVER);
|
|
128
|
-
export const keypadButtonOperatorHover = () =>
|
|
131
|
+
export const keypadButtonOperatorHover = () =>
|
|
132
|
+
pv('keypad-button-operator-hover', defaults.KEYPAD_BUTTON_OPERATOR_HOVER);
|
|
129
133
|
export const keyBoardFocusIndicator = () => pv('keyboard-focus-indicator', defaults.KEY_BOARD_FOCUS_INDICATOR);
|
|
130
134
|
export const buttonBorder = () => pv('button-border', defaults.BUTTON_BORDER);
|
|
131
135
|
export const buttonHoverBg = () => pv('button-hover-bg', defaults.BUTTON_HOVER_BG);
|
package/src/preview-prompt.jsx
CHANGED
|
@@ -60,6 +60,10 @@ const StyledPromptContainer = styled('div')(({ theme, tagName }) => ({
|
|
|
60
60
|
const NEWLINE_BLOCK_REGEX = /\\embed\{newLine\}\[\]/g;
|
|
61
61
|
const NEWLINE_LATEX = '\\newline ';
|
|
62
62
|
|
|
63
|
+
// stable hook for 'is this node inside a prompt' checks - a class rather than an id,
|
|
64
|
+
// so it stays valid when a page renders more than one prompt
|
|
65
|
+
const PROMPT_CLASS = 'preview-prompt';
|
|
66
|
+
|
|
63
67
|
export class PreviewPrompt extends Component {
|
|
64
68
|
static propTypes = {
|
|
65
69
|
prompt: PropTypes.string,
|
|
@@ -78,6 +82,8 @@ export class PreviewPrompt extends Component {
|
|
|
78
82
|
onClick: () => {},
|
|
79
83
|
};
|
|
80
84
|
|
|
85
|
+
promptRef = React.createRef();
|
|
86
|
+
|
|
81
87
|
parsedText = (text) => {
|
|
82
88
|
const { customAudioButton } = this.props;
|
|
83
89
|
const div = document.createElement('div');
|
|
@@ -213,59 +219,61 @@ export class PreviewPrompt extends Component {
|
|
|
213
219
|
}
|
|
214
220
|
|
|
215
221
|
renderMathContent() {
|
|
216
|
-
const container =
|
|
222
|
+
const container = this.promptRef.current;
|
|
217
223
|
if (container && typeof renderMath === 'function') {
|
|
218
224
|
renderMath(container);
|
|
219
225
|
}
|
|
220
226
|
}
|
|
221
227
|
|
|
222
228
|
alignImages() {
|
|
223
|
-
const
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
229
|
+
const previewPrompt = this.promptRef.current;
|
|
230
|
+
|
|
231
|
+
if (!previewPrompt) {
|
|
232
|
+
return;
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
const images = previewPrompt.getElementsByTagName('img');
|
|
236
|
+
|
|
237
|
+
if (images && images.length) {
|
|
238
|
+
for (let image of images) {
|
|
239
|
+
if (image.attributes && image.attributes.alignment && image.attributes.alignment.value) {
|
|
240
|
+
const alignment = image.attributes.alignment.value;
|
|
241
|
+
const justifyContent =
|
|
242
|
+
alignment === 'center' ? 'center' : alignment === 'right' ? 'flex-end' : 'flex-start';
|
|
243
|
+
|
|
244
|
+
const parentNode = image.parentElement;
|
|
245
|
+
|
|
246
|
+
if (
|
|
247
|
+
parentNode.tagName === 'DIV' &&
|
|
248
|
+
parentNode.style.display === 'flex' &&
|
|
249
|
+
parentNode.style.width === '100%'
|
|
250
|
+
) {
|
|
251
|
+
parentNode.style.justifyContent = justifyContent;
|
|
252
|
+
} else {
|
|
253
|
+
const div = document.createElement('div');
|
|
254
|
+
div.style.display = 'flex';
|
|
255
|
+
div.style.width = '100%';
|
|
256
|
+
div.style.justifyContent = justifyContent;
|
|
257
|
+
|
|
258
|
+
const copyImage = image.cloneNode(true);
|
|
259
|
+
div.appendChild(copyImage);
|
|
260
|
+
parentNode.replaceChild(div, image);
|
|
253
261
|
}
|
|
254
262
|
}
|
|
255
263
|
}
|
|
256
|
-
}
|
|
264
|
+
}
|
|
257
265
|
}
|
|
258
266
|
|
|
259
267
|
render() {
|
|
260
268
|
const { prompt, tagName, className, onClick, defaultClassName } = this.props;
|
|
261
269
|
// legend tag was added once with accessibility tasks, we need extra style to make it work with images alignment
|
|
262
270
|
const legendClass = tagName === 'legend' ? 'legend' : '';
|
|
263
|
-
const customClasses = `${className || ''} ${defaultClassName || ''} ${legendClass}`.trim();
|
|
271
|
+
const customClasses = `${className || ''} ${defaultClassName || ''} ${legendClass} ${PROMPT_CLASS}`.trim();
|
|
264
272
|
|
|
265
273
|
return (
|
|
266
274
|
<StyledPromptContainer
|
|
267
275
|
as={tagName || 'div'}
|
|
268
|
-
|
|
276
|
+
ref={this.promptRef}
|
|
269
277
|
onClick={onClick}
|
|
270
278
|
className={customClasses}
|
|
271
279
|
tagName={tagName}
|