@openedx/paragon 22.0.0-alpha.22 → 22.0.0-alpha.23
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/bin/paragon-scripts.js +12 -1
- package/dist/Modal/_ModalDialog.scss +12 -20
- package/dist/SelectableBox/index.js +9 -5
- package/dist/SelectableBox/index.js.map +1 -1
- package/dist/core.css +9 -12
- package/dist/core.css.map +1 -1
- package/dist/core.min.css +1 -1
- package/icons/.svgrrc.js +1 -1
- package/icons/es5/Accessible.js +2 -1
- package/icons/es5/AccessibleForward.js +2 -1
- package/icons/es5/AssistWalker.js +2 -1
- package/icons/es5/Attribution.js +2 -1
- package/icons/es5/Bathtub.js +2 -1
- package/icons/es5/Biotech.js +2 -1
- package/icons/es5/Blind.js +2 -1
- package/icons/es5/BlurOff.js +16 -8
- package/icons/es5/Brightness1.js +2 -1
- package/icons/es5/BubbleChart.js +6 -3
- package/icons/es5/CameraAlt.js +2 -1
- package/icons/es5/Category.js +2 -1
- package/icons/es5/CheckCircleLightOutline.js +12 -17
- package/icons/es5/ChildCare.js +4 -2
- package/icons/es5/CoPresent.js +2 -1
- package/icons/es5/CoffeeMaker.js +2 -1
- package/icons/es5/CompassCalibration.js +2 -1
- package/icons/es5/ControlCamera.js +2 -1
- package/icons/es5/Deblur.js +24 -12
- package/icons/es5/Diversity1.js +4 -2
- package/icons/es5/EmojiPeople.js +2 -1
- package/icons/es5/EmojiSymbols.js +4 -2
- package/icons/es5/Face2.js +4 -2
- package/icons/es5/Face3.js +4 -2
- package/icons/es5/Face4.js +4 -2
- package/icons/es5/Face5.js +44 -22
- package/icons/es5/Face6.js +4 -2
- package/icons/es5/FaceRetouchingNatural.js +4 -2
- package/icons/es5/FaceRetouchingOff.js +2 -1
- package/icons/es5/FiberManualRecord.js +2 -1
- package/icons/es5/FiberSmartRecord.js +2 -1
- package/icons/es5/FireHydrantAlt.js +2 -1
- package/icons/es5/Garage.js +4 -2
- package/icons/es5/GolfCourse.js +2 -1
- package/icons/es5/HotTub.js +2 -1
- package/icons/es5/LinkedCamera.js +2 -1
- package/icons/es5/LocalSee.js +2 -1
- package/icons/es5/Man.js +2 -1
- package/icons/es5/Man2.js +2 -1
- package/icons/es5/Man4.js +2 -1
- package/icons/es5/ManageAccounts.js +2 -1
- package/icons/es5/MarkUnreadChatAlt.js +2 -1
- package/icons/es5/NoiseAware.js +2 -1
- package/icons/es5/NoiseControlOff.js +2 -1
- package/icons/es5/PeopleAlt.js +2 -1
- package/icons/es5/PersonSearch.js +2 -1
- package/icons/es5/Pets.js +8 -4
- package/icons/es5/Plagiarism.js +2 -1
- package/icons/es5/Policy.js +2 -1
- package/icons/es5/Pool.js +2 -1
- package/icons/es5/PriorityHigh.js +2 -1
- package/icons/es5/RecordVoiceOver.js +2 -1
- package/icons/es5/RememberMe.js +2 -1
- package/icons/es5/ReportGmailerrorred.js +2 -1
- package/icons/es5/RssFeed.js +2 -1
- package/icons/es5/ScatterPlot.js +6 -3
- package/icons/es5/ScreenSearchDesktop.js +2 -1
- package/icons/es5/SelfImprovement.js +2 -1
- package/icons/es5/SentimentDissatisfied.js +4 -2
- package/icons/es5/SentimentSatisfied.js +4 -2
- package/icons/es5/SentimentSatisfiedAlt.js +4 -2
- package/icons/es5/SentimentSlightlyDissatisfied.js +4 -2
- package/icons/es5/SettingsApplications.js +2 -1
- package/icons/es5/Shower.js +12 -6
- package/icons/es5/SpatialAudio.js +2 -1
- package/icons/es5/SpatialAudioOff.js +2 -1
- package/icons/es5/SpatialTracking.js +2 -1
- package/icons/es5/SpeakerGroup.js +2 -1
- package/icons/es5/Sports.js +2 -1
- package/icons/es5/SportsCricket.js +2 -1
- package/icons/es5/SportsGolf.js +6 -3
- package/icons/es5/SportsKabaddi.js +2 -1
- package/icons/es5/SportsMartialArts.js +2 -1
- package/icons/es5/Stream.js +8 -4
- package/icons/es5/Streetview.js +2 -1
- package/icons/es5/Subway.js +4 -2
- package/icons/es5/SupportAgent.js +4 -2
- package/icons/es5/WindPower.js +2 -1
- package/icons/es5/Woman.js +2 -1
- package/icons/es5/Woman2.js +2 -1
- package/icons/es5/Yard.js +2 -1
- package/icons/es5/index.js +2 -2
- package/icons/jsx/Accessible.jsx +1 -1
- package/icons/jsx/AccessibleForward.jsx +1 -1
- package/icons/jsx/AssistWalker.jsx +1 -1
- package/icons/jsx/Attribution.jsx +1 -1
- package/icons/jsx/Bathtub.jsx +1 -1
- package/icons/jsx/Biotech.jsx +1 -1
- package/icons/jsx/Blind.jsx +1 -1
- package/icons/jsx/BlurOff.jsx +8 -8
- package/icons/jsx/Brightness1.jsx +1 -1
- package/icons/jsx/BubbleChart.jsx +3 -3
- package/icons/jsx/CameraAlt.jsx +1 -1
- package/icons/jsx/Category.jsx +1 -1
- package/icons/jsx/CheckCircleLightOutline.jsx +9 -16
- package/icons/jsx/ChildCare.jsx +2 -2
- package/icons/jsx/CoPresent.jsx +1 -1
- package/icons/jsx/CoffeeMaker.jsx +1 -1
- package/icons/jsx/CompassCalibration.jsx +1 -1
- package/icons/jsx/ControlCamera.jsx +1 -1
- package/icons/jsx/Deblur.jsx +12 -12
- package/icons/jsx/Diversity1.jsx +2 -2
- package/icons/jsx/EmojiPeople.jsx +1 -1
- package/icons/jsx/EmojiSymbols.jsx +2 -2
- package/icons/jsx/Face2.jsx +2 -2
- package/icons/jsx/Face3.jsx +2 -2
- package/icons/jsx/Face4.jsx +2 -2
- package/icons/jsx/Face5.jsx +22 -22
- package/icons/jsx/Face6.jsx +2 -2
- package/icons/jsx/FaceRetouchingNatural.jsx +2 -2
- package/icons/jsx/FaceRetouchingOff.jsx +1 -1
- package/icons/jsx/FiberManualRecord.jsx +1 -1
- package/icons/jsx/FiberSmartRecord.jsx +1 -1
- package/icons/jsx/FireHydrantAlt.jsx +1 -1
- package/icons/jsx/Garage.jsx +2 -2
- package/icons/jsx/GolfCourse.jsx +1 -1
- package/icons/jsx/HotTub.jsx +1 -1
- package/icons/jsx/LinkedCamera.jsx +1 -1
- package/icons/jsx/LocalSee.jsx +1 -1
- package/icons/jsx/Man.jsx +1 -1
- package/icons/jsx/Man2.jsx +1 -1
- package/icons/jsx/Man4.jsx +1 -1
- package/icons/jsx/ManageAccounts.jsx +1 -1
- package/icons/jsx/MarkUnreadChatAlt.jsx +1 -1
- package/icons/jsx/NoiseAware.jsx +1 -1
- package/icons/jsx/NoiseControlOff.jsx +1 -1
- package/icons/jsx/PeopleAlt.jsx +1 -1
- package/icons/jsx/PersonSearch.jsx +1 -1
- package/icons/jsx/Pets.jsx +4 -4
- package/icons/jsx/Plagiarism.jsx +1 -1
- package/icons/jsx/Policy.jsx +1 -1
- package/icons/jsx/Pool.jsx +1 -1
- package/icons/jsx/PriorityHigh.jsx +1 -1
- package/icons/jsx/RecordVoiceOver.jsx +1 -1
- package/icons/jsx/RememberMe.jsx +1 -1
- package/icons/jsx/ReportGmailerrorred.jsx +1 -1
- package/icons/jsx/RssFeed.jsx +1 -1
- package/icons/jsx/ScatterPlot.jsx +3 -3
- package/icons/jsx/ScreenSearchDesktop.jsx +1 -1
- package/icons/jsx/SelfImprovement.jsx +1 -1
- package/icons/jsx/SentimentDissatisfied.jsx +2 -2
- package/icons/jsx/SentimentSatisfied.jsx +2 -2
- package/icons/jsx/SentimentSatisfiedAlt.jsx +2 -2
- package/icons/jsx/SentimentSlightlyDissatisfied.jsx +2 -2
- package/icons/jsx/SettingsApplications.jsx +1 -1
- package/icons/jsx/Shower.jsx +6 -6
- package/icons/jsx/SpatialAudio.jsx +1 -1
- package/icons/jsx/SpatialAudioOff.jsx +1 -1
- package/icons/jsx/SpatialTracking.jsx +1 -1
- package/icons/jsx/SpeakerGroup.jsx +1 -1
- package/icons/jsx/Sports.jsx +1 -1
- package/icons/jsx/SportsCricket.jsx +1 -1
- package/icons/jsx/SportsGolf.jsx +3 -3
- package/icons/jsx/SportsKabaddi.jsx +1 -1
- package/icons/jsx/SportsMartialArts.jsx +1 -1
- package/icons/jsx/Stream.jsx +4 -4
- package/icons/jsx/Streetview.jsx +1 -1
- package/icons/jsx/Subway.jsx +2 -2
- package/icons/jsx/SupportAgent.jsx +2 -2
- package/icons/jsx/WindPower.jsx +1 -1
- package/icons/jsx/Woman.jsx +1 -1
- package/icons/jsx/Woman2.jsx +1 -1
- package/icons/jsx/Yard.jsx +1 -1
- package/icons/svg/check_circle_light_outline.svg +13 -0
- package/lib/version.js +9 -0
- package/package.json +1 -1
- package/src/Button/README.md +5 -24
- package/src/DataTable/README.md +1 -1
- package/src/Modal/_ModalDialog.scss +12 -20
- package/src/SelectableBox/README.md +103 -71
- package/src/SelectableBox/index.jsx +5 -1
- package/src/SelectableBox/tests/SelectableBox.test.jsx +7 -0
- package/src/Tabs/README.md +76 -0
package/bin/paragon-scripts.js
CHANGED
|
@@ -6,6 +6,12 @@ const buildTokensCommand = require('../lib/build-tokens');
|
|
|
6
6
|
const replaceVariablesCommand = require('../lib/replace-variables');
|
|
7
7
|
const buildScssCommand = require('../lib/build-scss');
|
|
8
8
|
const { sendTrackInfo } = require('../utils');
|
|
9
|
+
const versionCommand = require('../lib/version');
|
|
10
|
+
|
|
11
|
+
const commandAliases = {
|
|
12
|
+
'-v': 'version',
|
|
13
|
+
'--version': 'version',
|
|
14
|
+
};
|
|
9
15
|
|
|
10
16
|
const COMMANDS = {
|
|
11
17
|
/**
|
|
@@ -162,6 +168,10 @@ const COMMANDS = {
|
|
|
162
168
|
],
|
|
163
169
|
description: 'Displays help for available commands.',
|
|
164
170
|
},
|
|
171
|
+
version: {
|
|
172
|
+
executor: versionCommand,
|
|
173
|
+
description: 'Displays the current version of Paragon CLI.',
|
|
174
|
+
},
|
|
165
175
|
};
|
|
166
176
|
|
|
167
177
|
/**
|
|
@@ -172,7 +182,8 @@ const COMMANDS = {
|
|
|
172
182
|
*/
|
|
173
183
|
(async () => {
|
|
174
184
|
const [command, ...commandArgs] = process.argv.slice(2);
|
|
175
|
-
const
|
|
185
|
+
const resolvedCommand = commandAliases[command] || command;
|
|
186
|
+
const executor = COMMANDS[resolvedCommand];
|
|
176
187
|
|
|
177
188
|
if (!executor) {
|
|
178
189
|
// eslint-disable-next-line no-console
|
|
@@ -26,6 +26,18 @@
|
|
|
26
26
|
max-height: none;
|
|
27
27
|
margin: var(--pgn-spacing-modal-dialog-margin);
|
|
28
28
|
}
|
|
29
|
+
|
|
30
|
+
.pgn__modal-header {
|
|
31
|
+
padding-bottom: calc(var(--pgn-spacing-modal-inner-padding-base) / 2);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.pgn__modal-body {
|
|
35
|
+
padding: calc(var(--pgn-spacing-modal-inner-padding-base) / 2) var(--pgn-spacing-modal-inner-padding-base);
|
|
36
|
+
|
|
37
|
+
&::before {
|
|
38
|
+
top: calc(var(--pgn-spacing-modal-inner-padding-base) / 2 * -1);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
29
41
|
}
|
|
30
42
|
|
|
31
43
|
// Sizes
|
|
@@ -232,22 +244,6 @@
|
|
|
232
244
|
|
|
233
245
|
// Color Variants
|
|
234
246
|
|
|
235
|
-
.pgn__modal-default {
|
|
236
|
-
// Default style modals don't have a background on the header which
|
|
237
|
-
// ends up looking spaced too far away from the body content.
|
|
238
|
-
.pgn__modal-header {
|
|
239
|
-
padding-bottom: calc(var(--pgn-spacing-modal-inner-padding-base) / 2);
|
|
240
|
-
}
|
|
241
|
-
|
|
242
|
-
.pgn__modal-body {
|
|
243
|
-
padding: calc(var(--pgn-spacing-modal-inner-padding-base) / 2) var(--pgn-spacing-modal-inner-padding-base);
|
|
244
|
-
|
|
245
|
-
&::before {
|
|
246
|
-
top: calc(var(--pgn-spacing-modal-inner-padding-base) / 2 * -1);
|
|
247
|
-
}
|
|
248
|
-
}
|
|
249
|
-
}
|
|
250
|
-
|
|
251
247
|
.pgn__modal-dark {
|
|
252
248
|
.pgn__modal-header,
|
|
253
249
|
.pgn__modal-hero {
|
|
@@ -258,10 +254,6 @@
|
|
|
258
254
|
color: inherit;
|
|
259
255
|
}
|
|
260
256
|
}
|
|
261
|
-
|
|
262
|
-
.pgn__modal-header {
|
|
263
|
-
border-bottom: solid 1px var(--pgn-color-light-base);
|
|
264
|
-
}
|
|
265
257
|
}
|
|
266
258
|
|
|
267
259
|
.pgn__modal-warning .pgn__modal-header {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const _excluded = ["type", "value", "checked", "children", "isIndeterminate", "isInvalid", "onClick", "onFocus", "inputHidden", "className"];
|
|
1
|
+
const _excluded = ["type", "value", "checked", "children", "isIndeterminate", "isInvalid", "onClick", "onFocus", "inputHidden", "className", "showActiveBoxState"];
|
|
2
2
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
3
3
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
4
4
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
@@ -26,7 +26,8 @@ const SelectableBox = /*#__PURE__*/React.forwardRef((_ref, ref) => {
|
|
|
26
26
|
onClick,
|
|
27
27
|
onFocus,
|
|
28
28
|
inputHidden,
|
|
29
|
-
className
|
|
29
|
+
className,
|
|
30
|
+
showActiveBoxState
|
|
30
31
|
} = _ref,
|
|
31
32
|
props = _objectWithoutProperties(_ref, _excluded);
|
|
32
33
|
const inputType = getInputType('SelectableBox', type);
|
|
@@ -68,7 +69,7 @@ const SelectableBox = /*#__PURE__*/React.forwardRef((_ref, ref) => {
|
|
|
68
69
|
onClick: () => inputRef.current.click(),
|
|
69
70
|
onFocus: onFocus,
|
|
70
71
|
className: classNames('pgn__selectable_box', className, {
|
|
71
|
-
'pgn__selectable_box-active': isChecked() || checked,
|
|
72
|
+
'pgn__selectable_box-active': !inputHidden && !showActiveBoxState ? false : isChecked() || checked,
|
|
72
73
|
'pgn__selectable_box-invalid': isInvalid
|
|
73
74
|
}),
|
|
74
75
|
tabIndex: 0,
|
|
@@ -95,7 +96,9 @@ SelectableBox.propTypes = {
|
|
|
95
96
|
/** Adds errors styles to the `SelectableBox`. */
|
|
96
97
|
isInvalid: PropTypes.bool,
|
|
97
98
|
/** A class that is appended to the base element. */
|
|
98
|
-
className: PropTypes.string
|
|
99
|
+
className: PropTypes.string,
|
|
100
|
+
/** Controls the visibility of the active state for the `SelectableBox`. */
|
|
101
|
+
showActiveBoxState: PropTypes.bool
|
|
99
102
|
};
|
|
100
103
|
SelectableBox.defaultProps = {
|
|
101
104
|
value: undefined,
|
|
@@ -106,7 +109,8 @@ SelectableBox.defaultProps = {
|
|
|
106
109
|
inputHidden: true,
|
|
107
110
|
isIndeterminate: false,
|
|
108
111
|
isInvalid: false,
|
|
109
|
-
className: undefined
|
|
112
|
+
className: undefined,
|
|
113
|
+
showActiveBoxState: true
|
|
110
114
|
};
|
|
111
115
|
SelectableBox.Set = SelectableBoxSet;
|
|
112
116
|
export default SelectableBox;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","useRef","useEffect","PropTypes","classNames","SelectableBoxSet","useCheckboxSetContext","useRadioSetContext","getInputType","INPUT_TYPES","SelectableBox","forwardRef","_ref","ref","type","value","checked","children","isIndeterminate","isInvalid","onClick","onFocus","inputHidden","className","props","_objectWithoutProperties","_excluded","inputType","radioValue","checkboxValues","isChecked","includes","inputRef","input","createElement","_objectSpread","hidden","tabIndex","onChange","current","onclick","_extends","role","onKeyPress","click","propTypes","node","isRequired","oneOfType","string","number","bool","oneOf","func","defaultProps","undefined","Set"],"sources":["../../src/SelectableBox/index.jsx"],"sourcesContent":["import React, { useRef, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport SelectableBoxSet from './SelectableBoxSet';\nimport { useCheckboxSetContext } from '../Form/FormCheckboxSetContext';\nimport { useRadioSetContext } from '../Form/FormRadioSetContext';\nimport { getInputType } from './utils';\n\nconst INPUT_TYPES = [\n 'radio',\n 'checkbox',\n];\n\nconst SelectableBox = React.forwardRef(({\n type,\n value,\n checked,\n children,\n isIndeterminate,\n isInvalid,\n onClick,\n onFocus,\n inputHidden,\n className,\n ...props\n}, ref) => {\n const inputType = getInputType('SelectableBox', type);\n const { value: radioValue } = useRadioSetContext();\n const { value: checkboxValues = [] } = useCheckboxSetContext();\n\n const isChecked = () => {\n switch (type) {\n case 'radio':\n return radioValue === value;\n case 'checkbox':\n return checkboxValues.includes(value);\n default:\n return radioValue === value;\n }\n };\n\n const inputRef = useRef(null);\n const input = React.createElement(inputType, {\n value,\n checked,\n hidden: inputHidden,\n ref: inputRef,\n tabIndex: -1,\n onChange: () => {},\n ...(type === 'checkbox' ? { ...props, isIndeterminate } : { ...props }),\n }, null);\n\n useEffect(() => {\n if (onClick && inputRef.current) {\n inputRef.current.onclick = () => onClick(inputRef.current);\n }\n }, [onClick]);\n\n return (\n <div\n role=\"button\"\n onKeyPress={() => inputRef.current.click()}\n onClick={() => inputRef.current.click()}\n onFocus={onFocus}\n className={classNames('pgn__selectable_box', className, {\n 'pgn__selectable_box-active': isChecked() || checked,\n 'pgn__selectable_box-invalid': isInvalid,\n })}\n tabIndex={0}\n ref={ref}\n {...props}\n >\n {input}\n {children}\n </div>\n );\n});\n\nSelectableBox.propTypes = {\n /** Content of the `SelectableBox`. */\n children: PropTypes.node.isRequired,\n /** A value that is passed to the input tag. */\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n /** Controls whether `SelectableBox` is checked. */\n checked: PropTypes.bool,\n /** Indicates the input type: checkbox or radio. */\n type: PropTypes.oneOf(INPUT_TYPES),\n /** Function that is called when the `SelectableBox` is clicked. */\n onClick: PropTypes.func,\n /** Function that is called when the `SelectableBox` is focused. */\n onFocus: PropTypes.func,\n /** Controls display of the input (checkbox or radio button) on the `SelectableBox`. */\n inputHidden: PropTypes.bool,\n /** Indicates a state for the 'checkbox' `type` when `SelectableBox` is neither checked nor unchecked. */\n isIndeterminate: PropTypes.bool,\n /** Adds errors styles to the `SelectableBox`. */\n isInvalid: PropTypes.bool,\n /** A class that is appended to the base element. */\n className: PropTypes.string,\n};\n\nSelectableBox.defaultProps = {\n value: undefined,\n checked: false,\n type: 'radio',\n onClick: () => {},\n onFocus: () => {},\n inputHidden: true,\n isIndeterminate: false,\n isInvalid: false,\n className: undefined,\n};\n\nSelectableBox.Set = SelectableBoxSet;\nexport default SelectableBox;\n"],"mappings":";;;;;;;;;AAAA,OAAOA,KAAK,IAAIC,MAAM,EAAEC,SAAS,QAAQ,OAAO;AAChD,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,gBAAgB,MAAM,oBAAoB;AACjD,SAASC,qBAAqB,QAAQ,gCAAgC;AACtE,SAASC,kBAAkB,QAAQ,6BAA6B;AAChE,SAASC,YAAY,QAAQ,SAAS;AAEtC,MAAMC,WAAW,GAAG,CAClB,OAAO,EACP,UAAU,CACX;AAED,MAAMC,aAAa,gBAAGV,KAAK,CAACW,UAAU,CAAC,CAAAC,IAAA,
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","useRef","useEffect","PropTypes","classNames","SelectableBoxSet","useCheckboxSetContext","useRadioSetContext","getInputType","INPUT_TYPES","SelectableBox","forwardRef","_ref","ref","type","value","checked","children","isIndeterminate","isInvalid","onClick","onFocus","inputHidden","className","showActiveBoxState","props","_objectWithoutProperties","_excluded","inputType","radioValue","checkboxValues","isChecked","includes","inputRef","input","createElement","_objectSpread","hidden","tabIndex","onChange","current","onclick","_extends","role","onKeyPress","click","propTypes","node","isRequired","oneOfType","string","number","bool","oneOf","func","defaultProps","undefined","Set"],"sources":["../../src/SelectableBox/index.jsx"],"sourcesContent":["import React, { useRef, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport SelectableBoxSet from './SelectableBoxSet';\nimport { useCheckboxSetContext } from '../Form/FormCheckboxSetContext';\nimport { useRadioSetContext } from '../Form/FormRadioSetContext';\nimport { getInputType } from './utils';\n\nconst INPUT_TYPES = [\n 'radio',\n 'checkbox',\n];\n\nconst SelectableBox = React.forwardRef(({\n type,\n value,\n checked,\n children,\n isIndeterminate,\n isInvalid,\n onClick,\n onFocus,\n inputHidden,\n className,\n showActiveBoxState,\n ...props\n}, ref) => {\n const inputType = getInputType('SelectableBox', type);\n const { value: radioValue } = useRadioSetContext();\n const { value: checkboxValues = [] } = useCheckboxSetContext();\n\n const isChecked = () => {\n switch (type) {\n case 'radio':\n return radioValue === value;\n case 'checkbox':\n return checkboxValues.includes(value);\n default:\n return radioValue === value;\n }\n };\n\n const inputRef = useRef(null);\n const input = React.createElement(inputType, {\n value,\n checked,\n hidden: inputHidden,\n ref: inputRef,\n tabIndex: -1,\n onChange: () => {},\n ...(type === 'checkbox' ? { ...props, isIndeterminate } : { ...props }),\n }, null);\n\n useEffect(() => {\n if (onClick && inputRef.current) {\n inputRef.current.onclick = () => onClick(inputRef.current);\n }\n }, [onClick]);\n\n return (\n <div\n role=\"button\"\n onKeyPress={() => inputRef.current.click()}\n onClick={() => inputRef.current.click()}\n onFocus={onFocus}\n className={classNames('pgn__selectable_box', className, {\n 'pgn__selectable_box-active': (!inputHidden && !showActiveBoxState) ? false : isChecked() || checked,\n 'pgn__selectable_box-invalid': isInvalid,\n })}\n tabIndex={0}\n ref={ref}\n {...props}\n >\n {input}\n {children}\n </div>\n );\n});\n\nSelectableBox.propTypes = {\n /** Content of the `SelectableBox`. */\n children: PropTypes.node.isRequired,\n /** A value that is passed to the input tag. */\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n /** Controls whether `SelectableBox` is checked. */\n checked: PropTypes.bool,\n /** Indicates the input type: checkbox or radio. */\n type: PropTypes.oneOf(INPUT_TYPES),\n /** Function that is called when the `SelectableBox` is clicked. */\n onClick: PropTypes.func,\n /** Function that is called when the `SelectableBox` is focused. */\n onFocus: PropTypes.func,\n /** Controls display of the input (checkbox or radio button) on the `SelectableBox`. */\n inputHidden: PropTypes.bool,\n /** Indicates a state for the 'checkbox' `type` when `SelectableBox` is neither checked nor unchecked. */\n isIndeterminate: PropTypes.bool,\n /** Adds errors styles to the `SelectableBox`. */\n isInvalid: PropTypes.bool,\n /** A class that is appended to the base element. */\n className: PropTypes.string,\n /** Controls the visibility of the active state for the `SelectableBox`. */\n showActiveBoxState: PropTypes.bool,\n};\n\nSelectableBox.defaultProps = {\n value: undefined,\n checked: false,\n type: 'radio',\n onClick: () => {},\n onFocus: () => {},\n inputHidden: true,\n isIndeterminate: false,\n isInvalid: false,\n className: undefined,\n showActiveBoxState: true,\n};\n\nSelectableBox.Set = SelectableBoxSet;\nexport default SelectableBox;\n"],"mappings":"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"}
|
package/dist/core.css
CHANGED
|
@@ -13183,6 +13183,15 @@ select.form-control {
|
|
|
13183
13183
|
max-height: none;
|
|
13184
13184
|
margin: var(--pgn-spacing-modal-dialog-margin);
|
|
13185
13185
|
}
|
|
13186
|
+
.pgn__modal .pgn__modal-header {
|
|
13187
|
+
padding-bottom: calc(var(--pgn-spacing-modal-inner-padding-base) / 2);
|
|
13188
|
+
}
|
|
13189
|
+
.pgn__modal .pgn__modal-body {
|
|
13190
|
+
padding: calc(var(--pgn-spacing-modal-inner-padding-base) / 2) var(--pgn-spacing-modal-inner-padding-base);
|
|
13191
|
+
}
|
|
13192
|
+
.pgn__modal .pgn__modal-body::before {
|
|
13193
|
+
top: calc(var(--pgn-spacing-modal-inner-padding-base) / 2 * -1);
|
|
13194
|
+
}
|
|
13186
13195
|
.pgn__modal-sm {
|
|
13187
13196
|
max-width: var(--pgn-size-modal-sm);
|
|
13188
13197
|
}
|
|
@@ -13337,15 +13346,6 @@ select.form-control {
|
|
|
13337
13346
|
padding: var(--pgn-spacing-modal-footer-padding-base);
|
|
13338
13347
|
padding-top: calc(var(--pgn-spacing-modal-inner-padding-base) / 2);
|
|
13339
13348
|
}
|
|
13340
|
-
.pgn__modal-default .pgn__modal-header {
|
|
13341
|
-
padding-bottom: calc(var(--pgn-spacing-modal-inner-padding-base) / 2);
|
|
13342
|
-
}
|
|
13343
|
-
.pgn__modal-default .pgn__modal-body {
|
|
13344
|
-
padding: calc(var(--pgn-spacing-modal-inner-padding-base) / 2) var(--pgn-spacing-modal-inner-padding-base);
|
|
13345
|
-
}
|
|
13346
|
-
.pgn__modal-default .pgn__modal-body::before {
|
|
13347
|
-
top: calc(var(--pgn-spacing-modal-inner-padding-base) / 2 * -1);
|
|
13348
|
-
}
|
|
13349
13349
|
.pgn__modal-dark .pgn__modal-header,
|
|
13350
13350
|
.pgn__modal-dark .pgn__modal-hero {
|
|
13351
13351
|
background-color: var(--pgn-color-dark-base);
|
|
@@ -13355,9 +13355,6 @@ select.form-control {
|
|
|
13355
13355
|
.pgn__modal-dark .pgn__modal-hero * {
|
|
13356
13356
|
color: inherit;
|
|
13357
13357
|
}
|
|
13358
|
-
.pgn__modal-dark .pgn__modal-header {
|
|
13359
|
-
border-bottom: solid 1px var(--pgn-color-light-base);
|
|
13360
|
-
}
|
|
13361
13358
|
.pgn__modal-warning .pgn__modal-header {
|
|
13362
13359
|
background-color: var(--pgn-color-warning-100);
|
|
13363
13360
|
}
|