@carbon/ibm-products 2.2.0 → 2.3.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/css/index-full-carbon.css +965 -434
- package/css/index-full-carbon.css.map +1 -1
- package/css/index-full-carbon.min.css +4 -4
- package/css/index-full-carbon.min.css.map +1 -1
- package/css/index-without-carbon-released-only.css +354 -155
- package/css/index-without-carbon-released-only.css.map +1 -1
- package/css/index-without-carbon-released-only.min.css +2 -2
- package/css/index-without-carbon-released-only.min.css.map +1 -1
- package/css/index-without-carbon.css +600 -236
- package/css/index-without-carbon.css.map +1 -1
- package/css/index-without-carbon.min.css +4 -4
- package/css/index-without-carbon.min.css.map +1 -1
- package/css/index.css +516 -293
- package/css/index.css.map +1 -1
- package/css/index.min.css +4 -4
- package/css/index.min.css.map +1 -1
- package/es/components/APIKeyModal/APIKeyModal.docs-page.js +26 -0
- package/es/components/AboutModal/AboutModal.docs-page.js +21 -0
- package/es/components/AboutModal/AboutModal.js +2 -4
- package/es/components/ActionBar/ActionBar.js +2 -6
- package/es/components/AddSelect/AddSelectFormControl.js +6 -6
- package/es/components/AddSelect/AddSelectRow.js +15 -5
- package/es/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.js +5 -6
- package/es/components/ButtonMenu/ButtonMenu.js +4 -4
- package/es/components/ButtonSetWithOverflow/ButtonSetWithOverflow.js +3 -9
- package/es/components/Cascade/Cascade.docs-page.js +22 -0
- package/es/components/Cascade/Cascade.js +11 -1
- package/es/components/CreateFullPage/CreateFullPage.docs-page.js +39 -0
- package/es/components/CreateFullPage/CreateFullPage.js +13 -0
- package/es/components/CreateModal/CreateModal.docs-page.js +24 -0
- package/es/components/CreateModal/CreateModal.js +7 -0
- package/es/components/CreateSidePanel/CreateSidePanel.docs-page.js +18 -0
- package/es/components/CreateSidePanel/CreateSidePanel.js +1 -1
- package/es/components/CreateTearsheet/CreateTearsheet.docs-page.js +29 -0
- package/es/components/DataSpreadsheet/DataSpreadsheet.js +3 -3
- package/es/components/Datagrid/Datagrid/DatagridContent.js +1 -1
- package/es/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +3 -3
- package/es/components/Datagrid/Datagrid/DatagridToolbar.js +25 -10
- package/es/components/Datagrid/Datagrid/DatagridVirtualBody.js +1 -3
- package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/TearsheetWrapper.js +1 -1
- package/es/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +39 -47
- package/es/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +20 -24
- package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/index.js +2 -2
- package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilterContext.js +13 -0
- package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +44 -15
- package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +16 -30
- package/es/components/Datagrid/Datagrid/addons/InlineEdit/handleGridKeyPress.js +2 -2
- package/es/components/Datagrid/index.js +2 -1
- package/es/components/Datagrid/useActionsColumn.js +10 -7
- package/es/components/Datagrid/useCustomizeColumns.js +9 -7
- package/es/components/Datagrid/useExpandedRow.js +11 -7
- package/es/components/Datagrid/useFiltering.js +12 -8
- package/es/components/Datagrid/useInlineEdit.js +3 -0
- package/es/components/Datagrid/useNestedRows.js +10 -6
- package/es/components/Datagrid/useStickyColumn.js +10 -3
- package/es/components/Datagrid/utils/DatagridActions.js +12 -20
- package/es/components/EditFullPage/EditFullPage.docs-page.js +39 -0
- package/es/components/EditFullPage/EditFullPage.js +2 -1
- package/es/components/EditSidePanel/EditSidePanel.js +1 -1
- package/es/components/EditTearsheet/EditTearsheet.docs-page.js +25 -0
- package/es/components/EditTearsheet/EditTearsheet.js +4 -0
- package/es/components/EditTearsheetNarrow/EditTearsheetNarrow.js +1 -1
- package/es/components/EditUpdateCards/EditUpdateCards.js +3 -2
- package/es/components/EmptyStates/EmptyState.js +4 -0
- package/es/components/EmptyStates/ErrorEmptyState/ErrorEmptyState.js +4 -0
- package/es/components/EmptyStates/NoDataEmptyState/NoDataEmptyState.js +4 -0
- package/es/components/EmptyStates/NoTagsEmptyState/NoTagsEmptyState.js +4 -0
- package/es/components/EmptyStates/NotFoundEmptyState/NotFoundEmptyState.js +4 -0
- package/es/components/EmptyStates/NotificationsEmptyState/NotificationsEmptyState.js +4 -0
- package/es/components/EmptyStates/UnauthorizedEmptyState/UnauthorizedEmptyState.js +4 -0
- package/es/components/ExampleComponent/ExampleComponent.docs-page.js +22 -0
- package/es/components/ExportModal/ExportModal.js +4 -0
- package/es/components/HTTPErrors/HTTPError403/HTTPError403.js +6 -0
- package/es/components/HTTPErrors/HTTPError404/HTTPError404.js +6 -0
- package/es/components/HTTPErrors/HTTPErrorOther/HTTPErrorOther.js +6 -0
- package/es/components/ImportModal/ImportModal.docs-page.js +18 -0
- package/es/components/ImportModal/ImportModal.js +13 -6
- package/es/components/MultiAddSelect/MultiAddSelect.docs-page.js +17 -0
- package/es/components/MultiAddSelect/MultiAddSelect.js +4 -0
- package/es/components/NotificationsPanel/preview-components/UnreadNotificationBell.js +2 -17
- package/es/components/PageHeader/PageHeader.js +2 -6
- package/es/components/PageHeader/PageHeaderUtils.js +2 -2
- package/es/components/RemoveModal/RemoveModal.docs-page.js +18 -0
- package/es/components/RemoveModal/RemoveModal.js +6 -0
- package/es/components/SidePanel/SidePanel.js +1 -3
- package/es/components/SingleAddSelect/SingleAddSelect.docs-page.js +15 -0
- package/es/components/SingleAddSelect/SingleAddSelect.js +4 -0
- package/es/components/StatusIcon/StatusIcon.docs-page.js +17 -0
- package/es/components/StatusIcon/StatusIcon.js +10 -0
- package/es/components/TagSet/TagSet.js +4 -7
- package/es/components/Tearsheet/TearsheetShell.js +11 -6
- package/es/components/Toolbar/Toolbar.docs-page.js +14 -0
- package/es/components/UserProfileImage/UserProfileImage.docs-page.js +17 -0
- package/es/components/UserProfileImage/UserProfileImage.js +14 -3
- package/es/components/WebTerminal/WebTerminal.docs-page.js +52 -0
- package/es/components/WebTerminal/WebTerminal.js +4 -0
- package/es/components/index.js +1 -1
- package/es/global/js/hooks/useCreateComponentStepChange.js +16 -15
- package/es/global/js/hooks/useResizeObserver.js +14 -28
- package/es/global/js/package-settings.js +14 -1
- package/es/global/js/utils/StoryDocsPage.js +218 -0
- package/es/global/js/utils/story-helper.js +108 -6
- package/lib/components/APIKeyModal/APIKeyModal.docs-page.js +37 -0
- package/lib/components/AboutModal/AboutModal.docs-page.js +32 -0
- package/lib/components/AboutModal/AboutModal.js +2 -4
- package/lib/components/ActionBar/ActionBar.js +2 -6
- package/lib/components/AddSelect/AddSelectFormControl.js +6 -6
- package/lib/components/AddSelect/AddSelectRow.js +15 -5
- package/lib/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.js +5 -6
- package/lib/components/ButtonMenu/ButtonMenu.js +4 -4
- package/lib/components/ButtonSetWithOverflow/ButtonSetWithOverflow.js +3 -9
- package/lib/components/Cascade/Cascade.docs-page.js +33 -0
- package/lib/components/Cascade/Cascade.js +11 -1
- package/lib/components/CreateFullPage/CreateFullPage.docs-page.js +50 -0
- package/lib/components/CreateFullPage/CreateFullPage.js +13 -0
- package/lib/components/CreateModal/CreateModal.docs-page.js +35 -0
- package/lib/components/CreateModal/CreateModal.js +7 -0
- package/lib/components/CreateSidePanel/CreateSidePanel.docs-page.js +29 -0
- package/lib/components/CreateSidePanel/CreateSidePanel.js +1 -1
- package/lib/components/CreateTearsheet/CreateTearsheet.docs-page.js +40 -0
- package/lib/components/DataSpreadsheet/DataSpreadsheet.js +3 -3
- package/lib/components/Datagrid/Datagrid/DatagridContent.js +1 -1
- package/lib/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +3 -3
- package/lib/components/Datagrid/Datagrid/DatagridToolbar.js +25 -10
- package/lib/components/Datagrid/Datagrid/DatagridVirtualBody.js +1 -3
- package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/TearsheetWrapper.js +1 -1
- package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +37 -45
- package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +20 -24
- package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/index.js +6 -6
- package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilterContext.js +20 -0
- package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +42 -13
- package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +16 -30
- package/lib/components/Datagrid/Datagrid/addons/InlineEdit/handleGridKeyPress.js +2 -2
- package/lib/components/Datagrid/index.js +8 -1
- package/lib/components/Datagrid/useActionsColumn.js +12 -7
- package/lib/components/Datagrid/useCustomizeColumns.js +10 -8
- package/lib/components/Datagrid/useExpandedRow.js +9 -6
- package/lib/components/Datagrid/useFiltering.js +10 -7
- package/lib/components/Datagrid/useInlineEdit.js +3 -0
- package/lib/components/Datagrid/useNestedRows.js +9 -6
- package/lib/components/Datagrid/useStickyColumn.js +10 -3
- package/lib/components/Datagrid/utils/DatagridActions.js +49 -57
- package/lib/components/EditFullPage/EditFullPage.docs-page.js +50 -0
- package/lib/components/EditFullPage/EditFullPage.js +2 -1
- package/lib/components/EditSidePanel/EditSidePanel.js +1 -1
- package/lib/components/EditTearsheet/EditTearsheet.docs-page.js +36 -0
- package/lib/components/EditTearsheet/EditTearsheet.js +4 -0
- package/lib/components/EditTearsheetNarrow/EditTearsheetNarrow.js +1 -1
- package/lib/components/EditUpdateCards/EditUpdateCards.js +3 -2
- package/lib/components/EmptyStates/EmptyState.js +4 -0
- package/lib/components/EmptyStates/ErrorEmptyState/ErrorEmptyState.js +4 -0
- package/lib/components/EmptyStates/NoDataEmptyState/NoDataEmptyState.js +4 -0
- package/lib/components/EmptyStates/NoTagsEmptyState/NoTagsEmptyState.js +4 -0
- package/lib/components/EmptyStates/NotFoundEmptyState/NotFoundEmptyState.js +4 -0
- package/lib/components/EmptyStates/NotificationsEmptyState/NotificationsEmptyState.js +4 -0
- package/lib/components/EmptyStates/UnauthorizedEmptyState/UnauthorizedEmptyState.js +4 -0
- package/lib/components/ExampleComponent/ExampleComponent.docs-page.js +33 -0
- package/lib/components/ExportModal/ExportModal.js +4 -0
- package/lib/components/HTTPErrors/HTTPError403/HTTPError403.js +6 -0
- package/lib/components/HTTPErrors/HTTPError404/HTTPError404.js +6 -0
- package/lib/components/HTTPErrors/HTTPErrorOther/HTTPErrorOther.js +6 -0
- package/lib/components/ImportModal/ImportModal.docs-page.js +26 -0
- package/lib/components/ImportModal/ImportModal.js +13 -6
- package/lib/components/MultiAddSelect/MultiAddSelect.docs-page.js +25 -0
- package/lib/components/MultiAddSelect/MultiAddSelect.js +4 -0
- package/lib/components/NotificationsPanel/preview-components/UnreadNotificationBell.js +2 -17
- package/lib/components/PageHeader/PageHeader.js +2 -6
- package/lib/components/PageHeader/PageHeaderUtils.js +2 -2
- package/lib/components/RemoveModal/RemoveModal.docs-page.js +26 -0
- package/lib/components/RemoveModal/RemoveModal.js +6 -0
- package/lib/components/SidePanel/SidePanel.js +1 -3
- package/lib/components/SingleAddSelect/SingleAddSelect.docs-page.js +23 -0
- package/lib/components/SingleAddSelect/SingleAddSelect.js +4 -0
- package/lib/components/StatusIcon/StatusIcon.docs-page.js +28 -0
- package/lib/components/StatusIcon/StatusIcon.js +10 -0
- package/lib/components/TagSet/TagSet.js +4 -7
- package/lib/components/Tearsheet/TearsheetShell.js +11 -6
- package/lib/components/Toolbar/Toolbar.docs-page.js +25 -0
- package/lib/components/UserProfileImage/UserProfileImage.docs-page.js +28 -0
- package/lib/components/UserProfileImage/UserProfileImage.js +14 -3
- package/lib/components/WebTerminal/WebTerminal.docs-page.js +63 -0
- package/lib/components/WebTerminal/WebTerminal.js +4 -0
- package/lib/components/index.js +6 -0
- package/lib/global/js/hooks/useCreateComponentStepChange.js +16 -15
- package/lib/global/js/hooks/useResizeObserver.js +13 -27
- package/lib/global/js/package-settings.js +14 -1
- package/lib/global/js/utils/StoryDocsPage.js +225 -0
- package/lib/global/js/utils/story-helper.js +115 -7
- package/package.json +4 -4
- package/scss/components/AddSelect/_add-select.scss +10 -6
- package/scss/components/BreadcrumbWithOverflow/_breadcrumb-with-overflow.scss +0 -1
- package/scss/components/ButtonMenu/_button-menu.scss +32 -1
- package/scss/components/Cascade/_storybook-styles.scss +3 -2
- package/scss/components/CreateFullPage/_create-full-page.scss +3 -3
- package/scss/components/CreateModal/_create-modal.scss +3 -3
- package/scss/components/CreateSidePanel/_create-side-panel.scss +4 -4
- package/scss/components/CreateTearsheet/_create-tearsheet.scss +2 -2
- package/scss/components/CreateTearsheet/_storybook-styles.scss +1 -1
- package/scss/components/CreateTearsheetNarrow/_create-tearsheet-narrow.scss +2 -2
- package/scss/components/DataSpreadsheet/_data-spreadsheet.scss +5 -5
- package/scss/components/DataSpreadsheet/_storybook-styles.scss +6 -0
- package/scss/components/Datagrid/_datagrid.scss +4 -2
- package/scss/components/Datagrid/_storybook-styles.scss +18 -4
- package/scss/components/Datagrid/styles/_datagrid.scss +26 -13
- package/scss/components/Datagrid/styles/addons/_FilterFlyout.scss +7 -0
- package/scss/components/Datagrid/styles/addons/_FilterPanel.scss +4 -0
- package/scss/components/EditSidePanel/_edit-side-panel.scss +2 -2
- package/scss/components/EditTearsheet/_edit-tearsheet.scss +2 -2
- package/scss/components/EditTearsheet/_storybook-styles.scss +1 -1
- package/scss/components/ImportModal/_import-modal.scss +1 -1
- package/scss/components/NotificationsPanel/_notifications-panel.scss +3 -3
- package/scss/components/NotificationsPanel/_storybook-styles.scss +10 -2
- package/scss/components/OptionsTile/_storybook-styles.scss +1 -1
- package/scss/components/PageHeader/_page-header.scss +4 -5
- package/scss/components/PageHeader/_storybook-styles.scss +24 -14
- package/scss/components/Saving/_saving.scss +1 -1
- package/scss/components/SidePanel/_side-panel.scss +3 -5
- package/scss/components/TagSet/_tag-set.scss +1 -1
- package/scss/components/Tearsheet/_tearsheet.scss +9 -8
- package/scss/components/UserProfileImage/_user-profile-image.scss +2 -2
- package/scss/components/WebTerminal/_storybook-styles.scss +11 -1
- package/scss/global/styles/_display-box.scss +1 -0
- package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useInitialStateFromFilters.js +0 -21
- package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useInitialStateFromFilters.js +0 -30
- package/scss/components/HTTPErrors/_storybook-styles.scss +0 -6
|
@@ -37,6 +37,20 @@ var useCreateComponentStepChange = function useCreateComponentStepChange(_ref) {
|
|
|
37
37
|
componentBlockClass = _ref.componentBlockClass,
|
|
38
38
|
setCreateComponentActions = _ref.setCreateComponentActions,
|
|
39
39
|
setModalIsOpen = _ref.setModalIsOpen;
|
|
40
|
+
var continueToNextStep = (0, _react.useCallback)(function () {
|
|
41
|
+
setIsSubmitting(false);
|
|
42
|
+
setCurrentStep(function (prev) {
|
|
43
|
+
// Find next included step to render
|
|
44
|
+
// There will always be a next step otherwise we will
|
|
45
|
+
// have reach the onSubmit
|
|
46
|
+
do {
|
|
47
|
+
var _stepData;
|
|
48
|
+
prev++;
|
|
49
|
+
} while (!((_stepData = stepData[prev - 1]) !== null && _stepData !== void 0 && _stepData.shouldIncludeStep));
|
|
50
|
+
return prev;
|
|
51
|
+
});
|
|
52
|
+
}, [setCurrentStep, setIsSubmitting, stepData]);
|
|
53
|
+
|
|
40
54
|
// useEffect to handle multi step logic
|
|
41
55
|
(0, _react.useEffect)(function () {
|
|
42
56
|
var onUnmount = function onUnmount() {
|
|
@@ -164,9 +178,9 @@ var useCreateComponentStepChange = function useCreateComponentStepChange(_ref) {
|
|
|
164
178
|
// There will always be a previous step otherwise we will
|
|
165
179
|
// have disabled the back button since we have reached the first visible step
|
|
166
180
|
do {
|
|
167
|
-
var
|
|
181
|
+
var _stepData2;
|
|
168
182
|
prev--;
|
|
169
|
-
} while (!((
|
|
183
|
+
} while (!((_stepData2 = stepData[prev - 1]) !== null && _stepData2 !== void 0 && _stepData2.shouldIncludeStep));
|
|
170
184
|
return prev;
|
|
171
185
|
});
|
|
172
186
|
},
|
|
@@ -194,18 +208,5 @@ var useCreateComponentStepChange = function useCreateComponentStepChange(_ref) {
|
|
|
194
208
|
setCreateComponentActions(buttons);
|
|
195
209
|
}
|
|
196
210
|
}, [firstIncludedStep, lastIncludedStep, stepData, onNext, isSubmitDisabled, backButtonText, cancelButtonText, currentStep, onClose, nextButtonText, submitButtonText, onRequestSubmit, isSubmitting, shouldViewAll, componentBlockClass, componentName, continueToNextStep, setCurrentStep, setCreateComponentActions, setIsSubmitting, setShouldViewAll, setModalIsOpen]);
|
|
197
|
-
var continueToNextStep = (0, _react.useCallback)(function () {
|
|
198
|
-
setIsSubmitting(false);
|
|
199
|
-
setCurrentStep(function (prev) {
|
|
200
|
-
// Find next included step to render
|
|
201
|
-
// There will always be a next step otherwise we will
|
|
202
|
-
// have reach the onSubmit
|
|
203
|
-
do {
|
|
204
|
-
var _stepData2;
|
|
205
|
-
prev++;
|
|
206
|
-
} while (!((_stepData2 = stepData[prev - 1]) !== null && _stepData2 !== void 0 && _stepData2.shouldIncludeStep));
|
|
207
|
-
return prev;
|
|
208
|
-
});
|
|
209
|
-
}, [setCurrentStep, setIsSubmitting, stepData]);
|
|
210
211
|
};
|
|
211
212
|
exports.useCreateComponentStepChange = useCreateComponentStepChange;
|
|
@@ -14,13 +14,7 @@ var _react = require("react");
|
|
|
14
14
|
* LICENSE file in the root directory of this source tree.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
var useResizeObserver = function useResizeObserver(ref) {
|
|
18
|
-
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
|
|
19
|
-
callback: null,
|
|
20
|
-
throttleInterval: 0
|
|
21
|
-
};
|
|
22
|
-
var callback = options.callback,
|
|
23
|
-
throttleInterval = options.throttleInterval;
|
|
17
|
+
var useResizeObserver = function useResizeObserver(ref, callback) {
|
|
24
18
|
var _useState = (0, _react.useState)(0),
|
|
25
19
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
26
20
|
width = _useState2[0],
|
|
@@ -29,8 +23,14 @@ var useResizeObserver = function useResizeObserver(ref) {
|
|
|
29
23
|
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
30
24
|
height = _useState4[0],
|
|
31
25
|
setHeight = _useState4[1];
|
|
32
|
-
var throttleTimeout = (0, _react.useRef)(null);
|
|
33
26
|
var entriesToHandle = (0, _react.useRef)(null);
|
|
27
|
+
var cb = (0, _react.useRef)(callback);
|
|
28
|
+
(0, _react.useEffect)(function () {
|
|
29
|
+
// ref for callback removes it as dependency fro useLayoutEffect
|
|
30
|
+
// This significantly reduces repeated calls if a function is redefined on every
|
|
31
|
+
// render
|
|
32
|
+
cb.current = callback;
|
|
33
|
+
}, [callback]);
|
|
34
34
|
(0, _react.useLayoutEffect)(function () {
|
|
35
35
|
if (!(ref !== null && ref !== void 0 && ref.current)) {
|
|
36
36
|
return;
|
|
@@ -42,29 +42,15 @@ var useResizeObserver = function useResizeObserver(ref) {
|
|
|
42
42
|
var entry = entriesToHandle.current[0];
|
|
43
43
|
setWidth(entry.contentRect.width);
|
|
44
44
|
setHeight(entry.contentRect.height);
|
|
45
|
-
|
|
46
|
-
callback && callback(entry.contentRect);
|
|
45
|
+
cb.current && cb.current(entry.contentRect);
|
|
47
46
|
};
|
|
48
47
|
var observer = new ResizeObserver(function (entries) {
|
|
49
48
|
// always update entriesToHandle
|
|
50
49
|
entriesToHandle.current = entries;
|
|
51
|
-
|
|
52
|
-
//
|
|
53
|
-
if (throttleTimeout.current === null) {
|
|
54
|
-
// no live timeout set entries to handle and move on
|
|
55
|
-
|
|
56
|
-
// set up throttle
|
|
57
|
-
throttleTimeout.current = setTimeout(function () {
|
|
58
|
-
// do callbacks
|
|
59
|
-
doCallbacks();
|
|
60
|
-
// reset throttle
|
|
61
|
-
throttleTimeout.current = null;
|
|
62
|
-
}, throttleInterval);
|
|
63
|
-
}
|
|
64
|
-
} else {
|
|
65
|
-
// no throttle do callbacks every time
|
|
50
|
+
window.requestAnimationFrame(function () {
|
|
51
|
+
// do callbacks
|
|
66
52
|
doCallbacks();
|
|
67
|
-
}
|
|
53
|
+
});
|
|
68
54
|
});
|
|
69
55
|
|
|
70
56
|
// observe all refs passed
|
|
@@ -74,7 +60,7 @@ var useResizeObserver = function useResizeObserver(ref) {
|
|
|
74
60
|
observer = null;
|
|
75
61
|
};
|
|
76
62
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
77
|
-
}, [ref
|
|
63
|
+
}, [ref]);
|
|
78
64
|
return {
|
|
79
65
|
width: width,
|
|
80
66
|
height: height
|
|
@@ -81,7 +81,15 @@ var defaults = {
|
|
|
81
81
|
'a-new-feature': false,
|
|
82
82
|
'default-portal-target-body': true,
|
|
83
83
|
'Datagrid.useInfiniteScroll': false,
|
|
84
|
-
'Datagrid.useInlineEdit': false
|
|
84
|
+
'Datagrid.useInlineEdit': false,
|
|
85
|
+
'Datagrid.useEditableCell': false,
|
|
86
|
+
'Datagrid.useExpandedRow': false,
|
|
87
|
+
'Datagrid.useNestedRows': false,
|
|
88
|
+
'Datagrid.useActionsColumn': false,
|
|
89
|
+
'Datagrid.useFiltering': false,
|
|
90
|
+
'Datagrid.useCustomizeColumns': false,
|
|
91
|
+
'ExampleComponent.secondaryIcon': false,
|
|
92
|
+
'ExampleComponent.useExample': false
|
|
85
93
|
}
|
|
86
94
|
};
|
|
87
95
|
var warningMessageComponent = function warningMessageComponent(property) {
|
|
@@ -128,6 +136,11 @@ var component = new Proxy(_objectSpread({}, defaults.component), {
|
|
|
128
136
|
});
|
|
129
137
|
var feature = new Proxy(_objectSpread({}, defaults.feature), {
|
|
130
138
|
set: function set(target, property, value) {
|
|
139
|
+
// If we receive a feature flag that doesn't exist in our defaults we should not log
|
|
140
|
+
// a warning message and instead just return
|
|
141
|
+
if (!Object.getOwnPropertyDescriptor(defaults.feature, property)) {
|
|
142
|
+
return true;
|
|
143
|
+
}
|
|
131
144
|
if (target[property] !== true && !silent && value) {
|
|
132
145
|
// not already true, not silent, and now true
|
|
133
146
|
console.warn(warningMessageFeature(property));
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.StoryDocsPage = exports.CustomBlocks = void 0;
|
|
8
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
9
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
|
+
var _react = _interopRequireDefault(require("react"));
|
|
11
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
12
|
+
var _blocks = require("@storybook/blocks");
|
|
13
|
+
var _changeCase = require("change-case");
|
|
14
|
+
var _storyHelper = require("./story-helper");
|
|
15
|
+
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; }
|
|
16
|
+
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) { (0, _defineProperty2.default)(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; } /**
|
|
17
|
+
* Copyright IBM Corp. 2023, 2023
|
|
18
|
+
*
|
|
19
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
|
20
|
+
* LICENSE file in the root directory of this source tree.
|
|
21
|
+
*/
|
|
22
|
+
var CustomBlocks = function CustomBlocks(_ref) {
|
|
23
|
+
var blocks = _ref.blocks;
|
|
24
|
+
return blocks.map(function (block, index) {
|
|
25
|
+
var source = _objectSpread({}, block === null || block === void 0 ? void 0 : block.source);
|
|
26
|
+
if (source.code && !source.language) {
|
|
27
|
+
source.language = 'jsx';
|
|
28
|
+
}
|
|
29
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
30
|
+
key: "block-index--".concat(index)
|
|
31
|
+
}, block.title && /*#__PURE__*/_react.default.createElement("h3", {
|
|
32
|
+
id: (0, _changeCase.paramCase)(block.title)
|
|
33
|
+
}, block.title), block.subTitle && /*#__PURE__*/_react.default.createElement("h4", null, block.subTitle), block.description && typeof block.description === 'string' ? /*#__PURE__*/_react.default.createElement(_blocks.Description, null, block.description) : block.description, block.story && /*#__PURE__*/_react.default.createElement(_blocks.Canvas, {
|
|
34
|
+
of: block.story
|
|
35
|
+
}), block.source && /*#__PURE__*/_react.default.createElement(_blocks.Source, source));
|
|
36
|
+
});
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* This function checks blocks against stories and then
|
|
41
|
+
* - Adds title if no alternative is supplied
|
|
42
|
+
* - Adds blocks for unreferenced stories if omitUnreferencedStories is false
|
|
43
|
+
*/
|
|
44
|
+
exports.CustomBlocks = CustomBlocks;
|
|
45
|
+
var processBlocks = function processBlocks(blocks, stories, omitUnreferencedStories) {
|
|
46
|
+
var blocksWithStoryTitles = blocks ? (0, _toConsumableArray2.default)(blocks) : [];
|
|
47
|
+
var restOfStories = [];
|
|
48
|
+
var storyKeys = Object.keys(stories);
|
|
49
|
+
storyKeys.forEach(function (sk) {
|
|
50
|
+
var story = stories[sk].moduleExport;
|
|
51
|
+
var storyName = stories[sk].name;
|
|
52
|
+
var matchingBlock = blocksWithStoryTitles.find(function (block) {
|
|
53
|
+
return block.story === story;
|
|
54
|
+
});
|
|
55
|
+
if (matchingBlock) {
|
|
56
|
+
var _matchingBlock$title;
|
|
57
|
+
matchingBlock.title = (_matchingBlock$title = matchingBlock.title) !== null && _matchingBlock$title !== void 0 ? _matchingBlock$title : storyName;
|
|
58
|
+
} else if (!omitUnreferencedStories) {
|
|
59
|
+
restOfStories.push({
|
|
60
|
+
story: story,
|
|
61
|
+
title: storyName
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
if (!omitUnreferencedStories) {
|
|
66
|
+
return blocksWithStoryTitles.concat(restOfStories);
|
|
67
|
+
}
|
|
68
|
+
return blocksWithStoryTitles;
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* Calling with no parameters will produce the default output.
|
|
73
|
+
* Customize by providing alternative values and/or blocks defining sections
|
|
74
|
+
* @param {*} param0
|
|
75
|
+
* @returns
|
|
76
|
+
*/
|
|
77
|
+
var StoryDocsPage = function StoryDocsPage(_ref2) {
|
|
78
|
+
var _csfFile$meta, _csfFile$meta$paramet, _processedBlocks$filt;
|
|
79
|
+
var altTitle = _ref2.altTitle,
|
|
80
|
+
altDescription = _ref2.altDescription,
|
|
81
|
+
altGuidelinesHref = _ref2.altGuidelinesHref,
|
|
82
|
+
blocks = _ref2.blocks,
|
|
83
|
+
omitCodedExample = _ref2.omitCodedExample,
|
|
84
|
+
omitUnreferencedStories = _ref2.omitUnreferencedStories;
|
|
85
|
+
var _useOf = (0, _blocks.useOf)('meta', ['meta']),
|
|
86
|
+
csfFile = _useOf.csfFile;
|
|
87
|
+
var storyInfo = (0, _storyHelper.storyDocsPageInfo)(csfFile);
|
|
88
|
+
var guidelinesHref = altGuidelinesHref !== null && altGuidelinesHref !== void 0 ? altGuidelinesHref : storyInfo.guidelinesHref;
|
|
89
|
+
var isFullScreen = (csfFile === null || csfFile === void 0 ? void 0 : (_csfFile$meta = csfFile.meta) === null || _csfFile$meta === void 0 ? void 0 : (_csfFile$meta$paramet = _csfFile$meta.parameters) === null || _csfFile$meta$paramet === void 0 ? void 0 : _csfFile$meta$paramet.layout) === 'fullscreen' || false;
|
|
90
|
+
var storyHelperClass = isFullScreen ? 'c4p--story-docs-page--fullscreen' : '';
|
|
91
|
+
var processedBlocks = processBlocks(blocks, csfFile.stories, omitUnreferencedStories);
|
|
92
|
+
console.log(processBlocks);
|
|
93
|
+
var storyCount = (_processedBlocks$filt = processedBlocks === null || processedBlocks === void 0 ? void 0 : processedBlocks.filter(function (block) {
|
|
94
|
+
return !!block.story;
|
|
95
|
+
}).length) !== null && _processedBlocks$filt !== void 0 ? _processedBlocks$filt : 0;
|
|
96
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_blocks.Title, null, altTitle !== null && altTitle !== void 0 ? altTitle : storyInfo.title), guidelinesHref ? guidelinesHref && Array.isArray(guidelinesHref) ? guidelinesHref.map(function (_ref3, index) {
|
|
97
|
+
var href = _ref3.href,
|
|
98
|
+
label = _ref3.label;
|
|
99
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, index > 0 && ' | ', /*#__PURE__*/_react.default.createElement(_blocks.AnchorMdx, {
|
|
100
|
+
key: href,
|
|
101
|
+
href: href
|
|
102
|
+
}, label));
|
|
103
|
+
}) : /*#__PURE__*/_react.default.createElement(_blocks.AnchorMdx, {
|
|
104
|
+
href: guidelinesHref
|
|
105
|
+
}, altTitle ? "".concat(altTitle, " usage guidelines") : storyInfo.guidelinesLinkLabel) : null, /*#__PURE__*/_react.default.createElement("h2", {
|
|
106
|
+
style: {
|
|
107
|
+
marginTop: guidelinesHref ? '16px' : ''
|
|
108
|
+
}
|
|
109
|
+
}, "Table of contents"), /*#__PURE__*/_react.default.createElement("ul", null, ['Overview', 'Coded examples', 'Example usage', 'Component API'].map(function (item) {
|
|
110
|
+
return /*#__PURE__*/_react.default.createElement("li", {
|
|
111
|
+
key: item
|
|
112
|
+
}, /*#__PURE__*/_react.default.createElement(_blocks.AnchorMdx, {
|
|
113
|
+
href: "#".concat((0, _changeCase.paramCase)(item))
|
|
114
|
+
}, item), processedBlocks && item === 'Example usage' ? /*#__PURE__*/_react.default.createElement("ul", null, processedBlocks.map(function (block) {
|
|
115
|
+
return block !== null && block !== void 0 && block.title ? /*#__PURE__*/_react.default.createElement("li", {
|
|
116
|
+
key: block.title
|
|
117
|
+
}, /*#__PURE__*/_react.default.createElement(_blocks.AnchorMdx, {
|
|
118
|
+
href: "#".concat((0, _changeCase.paramCase)(block.title))
|
|
119
|
+
}, block.title)) : null;
|
|
120
|
+
})) : null);
|
|
121
|
+
})), /*#__PURE__*/_react.default.createElement("h2", {
|
|
122
|
+
id: "overview"
|
|
123
|
+
}, "Overview"), /*#__PURE__*/_react.default.createElement(_blocks.Description, null, altDescription), !omitCodedExample && storyInfo.expectCodedExample ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("h2", {
|
|
124
|
+
id: "coded-examples"
|
|
125
|
+
}, "Coded examples"), /*#__PURE__*/_react.default.createElement("p", null, "Coded examples can be edited and are a great way to try out a component."), /*#__PURE__*/_react.default.createElement("ul", null, /*#__PURE__*/_react.default.createElement("li", {
|
|
126
|
+
key: "codesandbox"
|
|
127
|
+
}, /*#__PURE__*/_react.default.createElement(_blocks.AnchorMdx, {
|
|
128
|
+
href: (0, _storyHelper.codeSandboxHref)(storyInfo.title)
|
|
129
|
+
}, /*#__PURE__*/_react.default.createElement("svg", {
|
|
130
|
+
viewBox: "0 0 24 24",
|
|
131
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
132
|
+
style: {
|
|
133
|
+
height: '16px',
|
|
134
|
+
width: '16px',
|
|
135
|
+
color: 'black',
|
|
136
|
+
boxShadow: '0 0 0 2px white',
|
|
137
|
+
marginRight: '8px',
|
|
138
|
+
verticalAlign: '-2px'
|
|
139
|
+
}
|
|
140
|
+
}, /*#__PURE__*/_react.default.createElement("path", {
|
|
141
|
+
fillRule: "evenodd",
|
|
142
|
+
clipRule: "evenodd",
|
|
143
|
+
d: "M0 0h23.987v24H0V0Zm21.533 2.455v19.09H2.453V2.456h19.08Z",
|
|
144
|
+
fill: "currentColor"
|
|
145
|
+
})), "CodeSandbox")), /*#__PURE__*/_react.default.createElement("li", {
|
|
146
|
+
key: "stackblitz"
|
|
147
|
+
}, /*#__PURE__*/_react.default.createElement(_blocks.AnchorMdx, {
|
|
148
|
+
href: (0, _storyHelper.stackblitzHref)(storyInfo.title)
|
|
149
|
+
}, /*#__PURE__*/_react.default.createElement("img", {
|
|
150
|
+
src: "https://c.staticblitz.com/assets/favicon_sb-861fe1b85c0dc928750c62de15fed96fc75e57ee366bd937bad17a3938917b3f.svg",
|
|
151
|
+
alt: "Stackblitz logo",
|
|
152
|
+
style: {
|
|
153
|
+
verticalAlign: '-2px',
|
|
154
|
+
marginRight: '8px'
|
|
155
|
+
}
|
|
156
|
+
}), "Stackblitz")))) : null, /*#__PURE__*/_react.default.createElement("h2", {
|
|
157
|
+
id: "example-usage"
|
|
158
|
+
}, "Example usage"), /*#__PURE__*/_react.default.createElement("div", {
|
|
159
|
+
className: storyHelperClass
|
|
160
|
+
}, processedBlocks ? /*#__PURE__*/_react.default.createElement(CustomBlocks, {
|
|
161
|
+
blocks: processedBlocks
|
|
162
|
+
}) : /*#__PURE__*/_react.default.createElement(_blocks.Stories, null)), /*#__PURE__*/_react.default.createElement("h2", {
|
|
163
|
+
id: "component-api"
|
|
164
|
+
}, "Component API"), storyCount > 1 && /*#__PURE__*/_react.default.createElement("p", null, "NOTE: Changing the controls below affects the default/primary example shown on the docs page."), /*#__PURE__*/_react.default.createElement(_blocks.Controls, null));
|
|
165
|
+
};
|
|
166
|
+
exports.StoryDocsPage = StoryDocsPage;
|
|
167
|
+
StoryDocsPage.propTypes = {
|
|
168
|
+
/**
|
|
169
|
+
* Uses doc block from the component where possible.
|
|
170
|
+
*
|
|
171
|
+
* Note: use `export default { component: ExampleComponent }` in the story if the main component is wrapped by some
|
|
172
|
+
* additional code. This will allow the doc block to pass through.
|
|
173
|
+
*
|
|
174
|
+
* If passed as string treated as markdown.
|
|
175
|
+
*/
|
|
176
|
+
altDescription: _propTypes.default.node,
|
|
177
|
+
/**
|
|
178
|
+
* location if any of guidelines on the PAL site, constructed by default
|
|
179
|
+
*/
|
|
180
|
+
altGuidelinesHref: _propTypes.default.oneOfType(_propTypes.default.string, _propTypes.default.arrayOf(_propTypes.default.shape({
|
|
181
|
+
href: _propTypes.default.string,
|
|
182
|
+
label: _propTypes.default.string
|
|
183
|
+
}))),
|
|
184
|
+
/**
|
|
185
|
+
* Uses component name by default
|
|
186
|
+
*/
|
|
187
|
+
altTitle: _propTypes.default.string,
|
|
188
|
+
/**
|
|
189
|
+
* Array with content sections
|
|
190
|
+
*/
|
|
191
|
+
blocks: _propTypes.default.arrayOf(_propTypes.default.shape({
|
|
192
|
+
/**
|
|
193
|
+
* Optional title story name used by default<h3>
|
|
194
|
+
*/
|
|
195
|
+
title: _propTypes.default.string,
|
|
196
|
+
/**
|
|
197
|
+
* Optional subTitle a <h4>
|
|
198
|
+
*/
|
|
199
|
+
subTitle: _propTypes.default.string,
|
|
200
|
+
/**
|
|
201
|
+
* Optional description, strings treated as markdown.
|
|
202
|
+
*/
|
|
203
|
+
description: _propTypes.default.node,
|
|
204
|
+
/**
|
|
205
|
+
* Story imported from story file
|
|
206
|
+
*/
|
|
207
|
+
story: _propTypes.default.func,
|
|
208
|
+
/**
|
|
209
|
+
* Some source code
|
|
210
|
+
* default language `jsx`
|
|
211
|
+
*/
|
|
212
|
+
source: _propTypes.default.shape({
|
|
213
|
+
language: _propTypes.default.oneOf('javascript', 'css', 'jsx'),
|
|
214
|
+
code: _propTypes.default.string
|
|
215
|
+
})
|
|
216
|
+
})),
|
|
217
|
+
/**
|
|
218
|
+
* Set to true if no published example exists (all components and patterns should have an example)
|
|
219
|
+
*/
|
|
220
|
+
omitCodedExample: _propTypes.default.bool,
|
|
221
|
+
/**
|
|
222
|
+
* Stories unreferenced in blocks included by default
|
|
223
|
+
*/
|
|
224
|
+
omitUnreferencedStories: _propTypes.default.bool
|
|
225
|
+
};
|
|
@@ -4,12 +4,15 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.prepareStory = exports.getStoryTitle = exports.getStoryId = exports.getSelectedCarbonTheme = exports.StackblitzLink = exports.CodesandboxLink = void 0;
|
|
7
|
+
exports.storyDocsPageTitle = exports.storyDocsPageInfo = exports.storyDocsGuidelines = exports.stackblitzHref = exports.prepareStory = exports.palUsageHref = exports.getStoryTitle = exports.getStoryId = exports.getSelectedCarbonTheme = exports.codeSandboxHref = exports.StackblitzLink = exports.CodesandboxLink = void 0;
|
|
8
|
+
var _toArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toArray"));
|
|
9
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
8
10
|
var _react = _interopRequireDefault(require("react"));
|
|
9
11
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
10
12
|
var _csf = require("@storybook/csf");
|
|
11
13
|
var _packageSettings = _interopRequireDefault(require("../package-settings"));
|
|
12
14
|
var _storyStructure = require("../../../../../core/story-structure");
|
|
15
|
+
var _changeCase = require("change-case");
|
|
13
16
|
//
|
|
14
17
|
// Copyright IBM Corp. 2021, 2021
|
|
15
18
|
//
|
|
@@ -73,12 +76,15 @@ var prepareStory = function prepareStory(template, options) {
|
|
|
73
76
|
*/
|
|
74
77
|
exports.prepareStory = prepareStory;
|
|
75
78
|
var packagePath = 'github/carbon-design-system/ibm-products/tree/main/examples/carbon-for-ibm-products';
|
|
79
|
+
var codeSandboxHref = function codeSandboxHref(exampleDirectory) {
|
|
80
|
+
return "https://codesandbox.io/p/sandbox/".concat(packagePath, "/").concat(exampleDirectory, "?file=%2Fsrc%2FExample%2FExample.jsx");
|
|
81
|
+
};
|
|
82
|
+
exports.codeSandboxHref = codeSandboxHref;
|
|
76
83
|
var CodesandboxLink = function CodesandboxLink(_ref) {
|
|
77
84
|
var exampleDirectory = _ref.exampleDirectory;
|
|
78
|
-
|
|
79
|
-
var codesandbox = "https://codesandbox.io/p/sandbox/".concat(packagePath, "/").concat(exampleDirectory, "?file=%2Fsrc%2FExample%2FExample.jsx");
|
|
85
|
+
var href = codeSandboxHref(exampleDirectory);
|
|
80
86
|
return /*#__PURE__*/_react.default.createElement("a", {
|
|
81
|
-
href:
|
|
87
|
+
href: href
|
|
82
88
|
}, /*#__PURE__*/_react.default.createElement("img", {
|
|
83
89
|
alt: "Edit on CodeSandbox",
|
|
84
90
|
src: "https://codesandbox.io/static/img/play-codesandbox.svg"
|
|
@@ -91,11 +97,15 @@ CodesandboxLink.propTypes = {
|
|
|
91
97
|
*/
|
|
92
98
|
exampleDirectory: _propTypes.default.string
|
|
93
99
|
};
|
|
100
|
+
var stackblitzHref = function stackblitzHref(exampleDirectory) {
|
|
101
|
+
return "https://stackblitz.com/".concat(packagePath, "/").concat(exampleDirectory, "?file=src%2FExample%2FExample.jsx");
|
|
102
|
+
};
|
|
103
|
+
exports.stackblitzHref = stackblitzHref;
|
|
94
104
|
var StackblitzLink = function StackblitzLink(_ref2) {
|
|
95
105
|
var exampleDirectory = _ref2.exampleDirectory;
|
|
96
|
-
var
|
|
106
|
+
var href = stackblitzHref(exampleDirectory);
|
|
97
107
|
return /*#__PURE__*/_react.default.createElement("a", {
|
|
98
|
-
href:
|
|
108
|
+
href: href
|
|
99
109
|
}, /*#__PURE__*/_react.default.createElement("img", {
|
|
100
110
|
alt: "Edit on Stackblitz",
|
|
101
111
|
src: "https://c.staticblitz.com/assets/favicon_sb-861fe1b85c0dc928750c62de15fed96fc75e57ee366bd937bad17a3938917b3f.svg"
|
|
@@ -108,13 +118,111 @@ StackblitzLink.propTypes = {
|
|
|
108
118
|
*/
|
|
109
119
|
exampleDirectory: _propTypes.default.string
|
|
110
120
|
};
|
|
121
|
+
var palUsageHref = function palUsageHref(csfFile) {
|
|
122
|
+
var _csfFile$meta;
|
|
123
|
+
var title = csfFile === null || csfFile === void 0 ? void 0 : (_csfFile$meta = csfFile.meta) === null || _csfFile$meta === void 0 ? void 0 : _csfFile$meta.title;
|
|
124
|
+
var _title$split = title.split('/'),
|
|
125
|
+
_title$split2 = (0, _slicedToArray2.default)(_title$split, 3),
|
|
126
|
+
_pkg = _title$split2[0],
|
|
127
|
+
kind = _title$split2[1],
|
|
128
|
+
section = _title$split2[2];
|
|
129
|
+
if (/components|patterns/i.test(kind) && name) {
|
|
130
|
+
return "https://pages.github.ibm.com/cdai-design/pal/".concat(kind, "s/").concat((0, _changeCase.paramCase)(section), "/usage");
|
|
131
|
+
}
|
|
132
|
+
};
|
|
133
|
+
exports.palUsageHref = palUsageHref;
|
|
134
|
+
var storyDocsPageTitle = function storyDocsPageTitle(csfFile) {
|
|
135
|
+
var _csfFile$meta2;
|
|
136
|
+
var title = csfFile === null || csfFile === void 0 ? void 0 : (_csfFile$meta2 = csfFile.meta) === null || _csfFile$meta2 === void 0 ? void 0 : _csfFile$meta2.title;
|
|
137
|
+
var _title$split3 = title.split('/'),
|
|
138
|
+
_title$split4 = (0, _toArray2.default)(_title$split3),
|
|
139
|
+
_pkg = _title$split4[0],
|
|
140
|
+
kind = _title$split4[1],
|
|
141
|
+
a = _title$split4[2],
|
|
142
|
+
b = _title$split4[3],
|
|
143
|
+
rest = _title$split4.slice(4);
|
|
144
|
+
var component;
|
|
145
|
+
if (/components|patterns/i.test(kind)) {
|
|
146
|
+
// components and patterns have an additional level
|
|
147
|
+
component = b;
|
|
148
|
+
} else {
|
|
149
|
+
component = a;
|
|
150
|
+
}
|
|
151
|
+
var name = component.split('#')[0]; // canary always written as Example#canary};
|
|
152
|
+
|
|
153
|
+
if (name) {
|
|
154
|
+
if (rest.length > 0) {
|
|
155
|
+
return "".concat(name, " (").concat(rest.join(' '), ")");
|
|
156
|
+
} else {
|
|
157
|
+
return name;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
console.error('Error: unable to parse title from metadata.');
|
|
161
|
+
return title;
|
|
162
|
+
};
|
|
163
|
+
exports.storyDocsPageTitle = storyDocsPageTitle;
|
|
164
|
+
var storyDocsPageInfo = function storyDocsPageInfo(csfFile) {
|
|
165
|
+
var _csfFile$meta3;
|
|
166
|
+
var title = csfFile === null || csfFile === void 0 ? void 0 : (_csfFile$meta3 = csfFile.meta) === null || _csfFile$meta3 === void 0 ? void 0 : _csfFile$meta3.title;
|
|
167
|
+
var _title$split5 = title.split('/'),
|
|
168
|
+
_title$split6 = (0, _toArray2.default)(_title$split5),
|
|
169
|
+
pkg = _title$split6[0],
|
|
170
|
+
kind = _title$split6[1],
|
|
171
|
+
a = _title$split6[2],
|
|
172
|
+
b = _title$split6[3],
|
|
173
|
+
rest = _title$split6.slice(4);
|
|
174
|
+
var result = {
|
|
175
|
+
package: pkg,
|
|
176
|
+
kind: kind,
|
|
177
|
+
expectCodedExample: false
|
|
178
|
+
};
|
|
179
|
+
var component;
|
|
180
|
+
if (/components|patterns/i.test(kind)) {
|
|
181
|
+
result.expectCodedExample = true;
|
|
182
|
+
// components and patterns have an additional level
|
|
183
|
+
component = b;
|
|
184
|
+
result.section = a;
|
|
185
|
+
result.guidelinesHref = "https://pages.github.ibm.com/cdai-design/pal/".concat(kind, "s/").concat((0, _changeCase.paramCase)(result.section), "/usage");
|
|
186
|
+
} else {
|
|
187
|
+
component = a;
|
|
188
|
+
}
|
|
189
|
+
var nameSplit = component.split('#'); // canary always written as Example#canary};
|
|
190
|
+
var name = nameSplit[0];
|
|
191
|
+
if (nameSplit.length > 1 && nameSplit[1] === 'canary') {
|
|
192
|
+
result.canary = true;
|
|
193
|
+
}
|
|
194
|
+
if (name) {
|
|
195
|
+
if (rest.length > 0) {
|
|
196
|
+
result.component = result.title = "".concat(name, " (").concat(rest.join(' '), ")");
|
|
197
|
+
} else {
|
|
198
|
+
result.component = name;
|
|
199
|
+
result.title = name;
|
|
200
|
+
}
|
|
201
|
+
} else {
|
|
202
|
+
console.error('Error: unable to parse title from metadata.');
|
|
203
|
+
result.title = title;
|
|
204
|
+
}
|
|
205
|
+
if (result.guidelinesHref) {
|
|
206
|
+
result.guidelinesLinkLabel = "".concat(result.title, " usage guidelines");
|
|
207
|
+
}
|
|
208
|
+
return result;
|
|
209
|
+
};
|
|
210
|
+
exports.storyDocsPageInfo = storyDocsPageInfo;
|
|
211
|
+
var storyDocsGuidelines = function storyDocsGuidelines(csfFile) {
|
|
212
|
+
var storyInfo = storyDocsPageInfo(csfFile);
|
|
213
|
+
return {
|
|
214
|
+
href: storyInfo.guidelinesHref,
|
|
215
|
+
label: storyInfo.guidelinesLinkLabel
|
|
216
|
+
};
|
|
217
|
+
};
|
|
111
218
|
|
|
112
219
|
/**
|
|
113
220
|
* A helper function that finds the designated theme on the Storybook canvas.
|
|
114
221
|
* @returns "dark" or "light"
|
|
115
222
|
*/
|
|
223
|
+
exports.storyDocsGuidelines = storyDocsGuidelines;
|
|
116
224
|
var getSelectedCarbonTheme = function getSelectedCarbonTheme() {
|
|
117
|
-
var themeId = document.querySelector('
|
|
225
|
+
var themeId = document.querySelector('[storybook-carbon-theme]').getAttribute('storybook-carbon-theme');
|
|
118
226
|
return themeId === 'g90' || themeId === 'g100' ? 'dark' : 'light';
|
|
119
227
|
};
|
|
120
228
|
exports.getSelectedCarbonTheme = getSelectedCarbonTheme;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@carbon/ibm-products",
|
|
3
3
|
"description": "Carbon for IBM Products",
|
|
4
|
-
"version": "2.
|
|
4
|
+
"version": "2.3.0",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"main": "lib/index.js",
|
|
7
7
|
"module": "es/index.js",
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
"devDependencies": {
|
|
57
57
|
"@babel/cli": "^7.21.5",
|
|
58
58
|
"@babel/core": "^7.22.1",
|
|
59
|
-
"babel-preset-ibm-cloud-cognitive": "^0.14.
|
|
59
|
+
"babel-preset-ibm-cloud-cognitive": "^0.14.36",
|
|
60
60
|
"chalk": "^4.1.2",
|
|
61
61
|
"change-case": "^4.1.2",
|
|
62
62
|
"copyfiles": "^2.4.1",
|
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
"fs-extra": "^11.1.1",
|
|
65
65
|
"glob": "^10.2.6",
|
|
66
66
|
"jest": "^29.5.0",
|
|
67
|
-
"jest-config-ibm-cloud-cognitive": "^0.24.
|
|
67
|
+
"jest-config-ibm-cloud-cognitive": "^0.24.23",
|
|
68
68
|
"jest-environment-jsdom": "^29.5.0",
|
|
69
69
|
"namor": "^1.1.2",
|
|
70
70
|
"npm-check-updates": "^16.10.12",
|
|
@@ -94,5 +94,5 @@
|
|
|
94
94
|
"react": "^16.8.6 || ^17.0.1",
|
|
95
95
|
"react-dom": "^16.8.6 || ^17.0.1"
|
|
96
96
|
},
|
|
97
|
-
"gitHead": "
|
|
97
|
+
"gitHead": "921bd04d38883be8c837181166e3b8156210a24f"
|
|
98
98
|
}
|
|
@@ -77,6 +77,10 @@ $tearsheet-class: #{$pkg-prefix}--tearsheet;
|
|
|
77
77
|
align-items: center;
|
|
78
78
|
}
|
|
79
79
|
|
|
80
|
+
&-form-control-wrapper--radio {
|
|
81
|
+
cursor: pointer;
|
|
82
|
+
}
|
|
83
|
+
|
|
80
84
|
&-form-control-label-wrapper {
|
|
81
85
|
display: flex;
|
|
82
86
|
margin-left: $spacing-05;
|
|
@@ -141,7 +145,7 @@ $tearsheet-class: #{$pkg-prefix}--tearsheet;
|
|
|
141
145
|
border-bottom: 1px solid $layer-accent-01;
|
|
142
146
|
|
|
143
147
|
.#{$block-class}__sidebar-title {
|
|
144
|
-
@include type.type-style('
|
|
148
|
+
@include type.type-style('heading-compact-02');
|
|
145
149
|
}
|
|
146
150
|
}
|
|
147
151
|
|
|
@@ -173,7 +177,7 @@ $tearsheet-class: #{$pkg-prefix}--tearsheet;
|
|
|
173
177
|
}
|
|
174
178
|
|
|
175
179
|
.#{$block-class} .#{$block-class}__sidebar-item-body {
|
|
176
|
-
@include type.type-style('body-
|
|
180
|
+
@include type.type-style('body-01');
|
|
177
181
|
|
|
178
182
|
margin-bottom: $spacing-05;
|
|
179
183
|
}
|
|
@@ -338,15 +342,15 @@ button.#{$block-class}__global-filter-toggle {
|
|
|
338
342
|
}
|
|
339
343
|
|
|
340
344
|
.#{$block-class}__meta-panel p.#{$block-class}__meta-panel-title {
|
|
341
|
-
@include type.type-style('
|
|
345
|
+
@include type.type-style('heading-03');
|
|
342
346
|
}
|
|
343
347
|
|
|
344
348
|
.#{$block-class}__meta-panel p.#{$block-class}__meta-panel-entry-title {
|
|
345
|
-
@include type.type-style('
|
|
349
|
+
@include type.type-style('heading-compact-01');
|
|
346
350
|
}
|
|
347
351
|
|
|
348
352
|
.#{$block-class}__meta-panel p.#{$block-class}__meta-panel-entry-body {
|
|
349
|
-
@include type.type-style('body-
|
|
353
|
+
@include type.type-style('body-compact-01');
|
|
350
354
|
}
|
|
351
355
|
|
|
352
356
|
// overrides
|
|
@@ -387,7 +391,7 @@ button.#{$block-class}__global-filter-toggle {
|
|
|
387
391
|
}
|
|
388
392
|
|
|
389
393
|
.#{$block-class} .#{$block-class}__items-label {
|
|
390
|
-
@include type.type-style('
|
|
394
|
+
@include type.type-style('heading-compact-01');
|
|
391
395
|
}
|
|
392
396
|
|
|
393
397
|
.#{$block-class}
|
|
@@ -92,6 +92,5 @@ $_block-class: #{c4p-settings.$pkg-prefix}--breadcrumb-with-overflow;
|
|
|
92
92
|
|
|
93
93
|
.#{$_block-class}__overflow-menu-options.#{$_block-class}__overflow-menu-options {
|
|
94
94
|
// Need to disable stylelint until dart sass namespace support is added
|
|
95
|
-
/* stylelint-disable-next-line function-no-unknown */
|
|
96
95
|
z-index: utilities.z('header');
|
|
97
96
|
}
|