@carbon/ibm-products 2.1.2 → 2.1.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (128) hide show
  1. package/css/index-full-carbon.css +562 -189
  2. package/css/index-full-carbon.css.map +1 -1
  3. package/css/index-full-carbon.min.css +2 -2
  4. package/css/index-full-carbon.min.css.map +1 -1
  5. package/css/index-without-carbon-released-only.css +151 -0
  6. package/css/index-without-carbon-released-only.css.map +1 -1
  7. package/css/index-without-carbon-released-only.min.css +1 -1
  8. package/css/index-without-carbon-released-only.min.css.map +1 -1
  9. package/css/index-without-carbon.css +320 -18
  10. package/css/index-without-carbon.css.map +1 -1
  11. package/css/index-without-carbon.min.css +2 -2
  12. package/css/index-without-carbon.min.css.map +1 -1
  13. package/css/index.css +231 -94
  14. package/css/index.css.map +1 -1
  15. package/css/index.min.css +3 -3
  16. package/css/index.min.css.map +1 -1
  17. package/es/components/APIKeyModal/APIKeyModal.docs-page.js +26 -0
  18. package/es/components/AboutModal/AboutModal.docs-page.js +21 -0
  19. package/es/components/AboutModal/AboutModal.js +1 -1
  20. package/es/components/Cascade/Cascade.docs-page.js +22 -0
  21. package/es/components/Cascade/Cascade.js +11 -1
  22. package/es/components/CreateFullPage/CreateFullPage.docs-page.js +39 -0
  23. package/es/components/CreateFullPage/CreateFullPage.js +13 -0
  24. package/es/components/CreateModal/CreateModal.docs-page.js +24 -0
  25. package/es/components/CreateModal/CreateModal.js +7 -0
  26. package/es/components/CreateSidePanel/CreateSidePanel.docs-page.js +18 -0
  27. package/es/components/CreateSidePanel/CreateSidePanel.js +1 -1
  28. package/es/components/CreateTearsheet/CreateTearsheet.docs-page.js +29 -0
  29. package/es/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +3 -3
  30. package/es/components/Datagrid/Datagrid/DatagridToolbar.js +3 -2
  31. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +19 -17
  32. package/es/components/Datagrid/Datagrid/addons/InlineEdit/handleGridKeyPress.js +2 -2
  33. package/es/components/EditFullPage/EditFullPage.docs-page.js +39 -0
  34. package/es/components/EditFullPage/EditFullPage.js +2 -1
  35. package/es/components/EditSidePanel/EditSidePanel.js +1 -1
  36. package/es/components/EditTearsheet/EditTearsheet.docs-page.js +25 -0
  37. package/es/components/EditTearsheet/EditTearsheet.js +4 -0
  38. package/es/components/EditTearsheetNarrow/EditTearsheetNarrow.js +1 -1
  39. package/es/components/EditUpdateCards/EditUpdateCards.js +3 -2
  40. package/es/components/EmptyStates/EmptyState.js +4 -0
  41. package/es/components/EmptyStates/ErrorEmptyState/ErrorEmptyState.js +4 -0
  42. package/es/components/EmptyStates/NoDataEmptyState/NoDataEmptyState.js +4 -0
  43. package/es/components/EmptyStates/NoTagsEmptyState/NoTagsEmptyState.js +4 -0
  44. package/es/components/EmptyStates/NotFoundEmptyState/NotFoundEmptyState.js +4 -0
  45. package/es/components/EmptyStates/NotificationsEmptyState/NotificationsEmptyState.js +4 -0
  46. package/es/components/EmptyStates/UnauthorizedEmptyState/UnauthorizedEmptyState.js +4 -0
  47. package/es/components/ExampleComponent/ExampleComponent.docs-page.js +22 -0
  48. package/es/components/ExportModal/ExportModal.js +4 -0
  49. package/es/components/HTTPErrors/HTTPError403/HTTPError403.js +6 -0
  50. package/es/components/HTTPErrors/HTTPError404/HTTPError404.js +6 -0
  51. package/es/components/HTTPErrors/HTTPErrorOther/HTTPErrorOther.js +6 -0
  52. package/es/components/ImportModal/ImportModal.docs-page.js +18 -0
  53. package/es/components/MultiAddSelect/MultiAddSelect.docs-page.js +17 -0
  54. package/es/components/MultiAddSelect/MultiAddSelect.js +4 -0
  55. package/es/components/RemoveModal/RemoveModal.docs-page.js +18 -0
  56. package/es/components/RemoveModal/RemoveModal.js +6 -0
  57. package/es/components/SingleAddSelect/SingleAddSelect.docs-page.js +15 -0
  58. package/es/components/SingleAddSelect/SingleAddSelect.js +4 -0
  59. package/es/components/StatusIcon/StatusIcon.docs-page.js +17 -0
  60. package/es/components/StatusIcon/StatusIcon.js +10 -0
  61. package/es/components/Tearsheet/TearsheetShell.js +7 -1
  62. package/es/components/Toolbar/Toolbar.docs-page.js +14 -0
  63. package/es/components/UserProfileImage/UserProfileImage.docs-page.js +17 -0
  64. package/es/components/UserProfileImage/UserProfileImage.js +1 -1
  65. package/es/components/WebTerminal/WebTerminal.docs-page.js +52 -0
  66. package/es/components/WebTerminal/WebTerminal.js +4 -0
  67. package/es/global/js/utils/StoryDocsPage.js +218 -0
  68. package/es/global/js/utils/story-helper.js +107 -5
  69. package/lib/components/APIKeyModal/APIKeyModal.docs-page.js +37 -0
  70. package/lib/components/AboutModal/AboutModal.docs-page.js +32 -0
  71. package/lib/components/AboutModal/AboutModal.js +1 -1
  72. package/lib/components/Cascade/Cascade.docs-page.js +33 -0
  73. package/lib/components/Cascade/Cascade.js +11 -1
  74. package/lib/components/CreateFullPage/CreateFullPage.docs-page.js +50 -0
  75. package/lib/components/CreateFullPage/CreateFullPage.js +13 -0
  76. package/lib/components/CreateModal/CreateModal.docs-page.js +35 -0
  77. package/lib/components/CreateModal/CreateModal.js +7 -0
  78. package/lib/components/CreateSidePanel/CreateSidePanel.docs-page.js +29 -0
  79. package/lib/components/CreateSidePanel/CreateSidePanel.js +1 -1
  80. package/lib/components/CreateTearsheet/CreateTearsheet.docs-page.js +40 -0
  81. package/lib/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +3 -3
  82. package/lib/components/Datagrid/Datagrid/DatagridToolbar.js +3 -2
  83. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +19 -17
  84. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/handleGridKeyPress.js +2 -2
  85. package/lib/components/EditFullPage/EditFullPage.docs-page.js +50 -0
  86. package/lib/components/EditFullPage/EditFullPage.js +2 -1
  87. package/lib/components/EditSidePanel/EditSidePanel.js +1 -1
  88. package/lib/components/EditTearsheet/EditTearsheet.docs-page.js +36 -0
  89. package/lib/components/EditTearsheet/EditTearsheet.js +4 -0
  90. package/lib/components/EditTearsheetNarrow/EditTearsheetNarrow.js +1 -1
  91. package/lib/components/EditUpdateCards/EditUpdateCards.js +3 -2
  92. package/lib/components/EmptyStates/EmptyState.js +4 -0
  93. package/lib/components/EmptyStates/ErrorEmptyState/ErrorEmptyState.js +4 -0
  94. package/lib/components/EmptyStates/NoDataEmptyState/NoDataEmptyState.js +4 -0
  95. package/lib/components/EmptyStates/NoTagsEmptyState/NoTagsEmptyState.js +4 -0
  96. package/lib/components/EmptyStates/NotFoundEmptyState/NotFoundEmptyState.js +4 -0
  97. package/lib/components/EmptyStates/NotificationsEmptyState/NotificationsEmptyState.js +4 -0
  98. package/lib/components/EmptyStates/UnauthorizedEmptyState/UnauthorizedEmptyState.js +4 -0
  99. package/lib/components/ExampleComponent/ExampleComponent.docs-page.js +33 -0
  100. package/lib/components/ExportModal/ExportModal.js +4 -0
  101. package/lib/components/HTTPErrors/HTTPError403/HTTPError403.js +6 -0
  102. package/lib/components/HTTPErrors/HTTPError404/HTTPError404.js +6 -0
  103. package/lib/components/HTTPErrors/HTTPErrorOther/HTTPErrorOther.js +6 -0
  104. package/lib/components/ImportModal/ImportModal.docs-page.js +26 -0
  105. package/lib/components/MultiAddSelect/MultiAddSelect.docs-page.js +25 -0
  106. package/lib/components/MultiAddSelect/MultiAddSelect.js +4 -0
  107. package/lib/components/RemoveModal/RemoveModal.docs-page.js +26 -0
  108. package/lib/components/RemoveModal/RemoveModal.js +6 -0
  109. package/lib/components/SingleAddSelect/SingleAddSelect.docs-page.js +23 -0
  110. package/lib/components/SingleAddSelect/SingleAddSelect.js +4 -0
  111. package/lib/components/StatusIcon/StatusIcon.docs-page.js +28 -0
  112. package/lib/components/StatusIcon/StatusIcon.js +10 -0
  113. package/lib/components/Tearsheet/TearsheetShell.js +7 -1
  114. package/lib/components/Toolbar/Toolbar.docs-page.js +25 -0
  115. package/lib/components/UserProfileImage/UserProfileImage.docs-page.js +28 -0
  116. package/lib/components/UserProfileImage/UserProfileImage.js +1 -1
  117. package/lib/components/WebTerminal/WebTerminal.docs-page.js +63 -0
  118. package/lib/components/WebTerminal/WebTerminal.js +4 -0
  119. package/lib/global/js/utils/StoryDocsPage.js +225 -0
  120. package/lib/global/js/utils/story-helper.js +114 -6
  121. package/package.json +8 -8
  122. package/scss/components/Cascade/_storybook-styles.scss +3 -2
  123. package/scss/components/Datagrid/_storybook-styles.scss +1 -1
  124. package/scss/components/Datagrid/styles/_datagrid.scss +14 -0
  125. package/scss/components/NotificationsPanel/_storybook-styles.scss +12 -0
  126. package/scss/components/PageHeader/_storybook-styles.scss +0 -18
  127. package/scss/components/WebTerminal/_storybook-styles.scss +7 -12
  128. package/scss/components/HTTPErrors/_storybook-styles.scss +0 -20
@@ -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
- // const stackblitz = `https://stackblitz.com/${packagePath}/${dir}?file=src%2FExample%2FExample.jsx`;
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: codesandbox
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 stackblitz = "https://stackblitz.com/".concat(packagePath, "/").concat(exampleDirectory, "?file=src%2FExample%2FExample.jsx");
106
+ var href = stackblitzHref(exampleDirectory);
97
107
  return /*#__PURE__*/_react.default.createElement("a", {
98
- href: stackblitz
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,11 +118,109 @@ 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
225
  var themeId = document.querySelector('[storybook-carbon-theme]').getAttribute('storybook-carbon-theme');
118
226
  return themeId === 'g90' || themeId === 'g100' ? 'dark' : 'light';
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.1.2",
4
+ "version": "2.1.3",
5
5
  "license": "Apache-2.0",
6
6
  "main": "lib/index.js",
7
7
  "module": "es/index.js",
@@ -85,14 +85,14 @@
85
85
  "react-window": "^1.8.9"
86
86
  },
87
87
  "peerDependencies": {
88
- "@carbon/grid": "^11.14.0",
89
- "@carbon/layout": "^11.14.0",
90
- "@carbon/motion": "^11.11.0",
91
- "@carbon/react": "~1.30.0",
92
- "@carbon/themes": "^11.19.0",
93
- "@carbon/type": "^11.18.0",
88
+ "@carbon/grid": "^11.15.0",
89
+ "@carbon/layout": "^11.15.0",
90
+ "@carbon/motion": "^11.12.0",
91
+ "@carbon/react": "~1.31.3",
92
+ "@carbon/themes": "^11.20.0",
93
+ "@carbon/type": "^11.19.0",
94
94
  "react": "^16.8.6 || ^17.0.1",
95
95
  "react-dom": "^16.8.6 || ^17.0.1"
96
96
  },
97
- "gitHead": "32a25a322d0213e135506f646b0ad5721e67d813"
97
+ "gitHead": "8fb7c59793ba9325124d55ae01191adb45acff4e"
98
98
  }
@@ -8,8 +8,9 @@
8
8
  @use '@carbon/styles/scss/theme' as *;
9
9
  @use '@carbon/styles/scss/spacing' as *;
10
10
 
11
- #root {
12
- width: 100%;
11
+ #storybook-docs .docs-story {
12
+ /* stylelint-disable-next-line carbon/layout-token-use */
13
+ padding: 30px 0;
13
14
  }
14
15
 
15
16
  .box {
@@ -20,7 +20,7 @@ $block-class: #{c4p-settings.$pkg-prefix}--datagrid;
20
20
  height: 100vh;
21
21
  }
22
22
 
23
- .sb-show-main.sb-main-centered #root {
23
+ .sb-show-main.sb-main-centered #storybook-root {
24
24
  width: 100%;
25
25
  height: 100vh;
26
26
  padding: $spacing-07;
@@ -631,3 +631,17 @@
631
631
  .#{c4p-settings.$carbon-prefix}--btn.#{c4p-settings.$pkg-prefix}--button-menu {
632
632
  padding: 0;
633
633
  }
634
+
635
+ // TODO: Revisit batch action list button and button icon alignment after
636
+ // https: //github.com/carbon-design-system/carbon/issues/14021 is fixed
637
+ .#{$block-class}
638
+ .#{c4p-settings.$carbon-prefix}--action-list
639
+ .#{c4p-settings.$carbon-prefix}--btn {
640
+ align-items: center;
641
+ }
642
+
643
+ .#{$block-class}
644
+ .#{c4p-settings.$carbon-prefix}--action-list
645
+ .#{c4p-settings.$carbon-prefix}--btn__icon {
646
+ margin-top: 0;
647
+ }
@@ -9,3 +9,15 @@
9
9
  @use '../../global/styles/project-settings' as c4p-settings;
10
10
 
11
11
  $storybook-block-class: #{c4p-settings.$pkg-prefix}--notifications-panel__story;
12
+
13
+ .#{$storybook-block-class}--full-height {
14
+ height: 100vh;
15
+ max-height: var(--doc-story-height); // set in core if needed;
16
+ }
17
+
18
+ .#{$storybook-block-class}__add {
19
+ display: flex;
20
+ height: 100%;
21
+ align-items: center;
22
+ justify-content: center;
23
+ }
@@ -57,24 +57,6 @@ $story-class: 'page-header-stories';
57
57
  flex-direction: column;
58
58
  }
59
59
 
60
- $story-anchor: 'page-header';
61
- div[id*='#{$story-anchor}'] .docs-story {
62
- --story-height: 50vh;
63
-
64
- min-height: var(--story-height);
65
- /* stylelint-disable-next-line carbon/layout-token-use */
66
- transform: translateZ(0);
67
- }
68
-
69
- div[id*='#{$story-anchor}'] .docs-story > div:first-child {
70
- overflow: hidden;
71
- width: 100%;
72
- }
73
-
74
- div[id*='#{$story-anchor}'] .docs-story .preview-position-fix {
75
- min-height: 50vh;
76
- }
77
-
78
60
  .#{$story-class}__viewport {
79
61
  overflow: hidden;
80
62
  height: 100vh;
@@ -36,16 +36,11 @@ $storybook-block-class: #{c4p-settings.$pkg-prefix}--notifications-panel__story;
36
36
  }
37
37
 
38
38
  $story-anchor: 'web-terminal';
39
- div[id*='#{$story-anchor}'] .docs-story {
40
- min-height: 50vh;
41
- transform: translateZ(0);
42
- }
43
-
44
- div[id*='#{$story-anchor}'] .docs-story > div:first-child {
45
- width: 100%;
46
- overflow: hidden;
47
- }
48
-
49
- div[id*='#{$story-anchor}'] .docs-story .preview-position-fix {
50
- min-height: 50vh;
39
+ #storybook-docs {
40
+ ul {
41
+ list-style: initial;
42
+ }
43
+ ol {
44
+ list-style: decimal;
45
+ }
51
46
  }
@@ -1,20 +0,0 @@
1
- // Copyright IBM Corp. 2023, 2023
2
- //
3
- // This source code is licensed under the Apache-2.0 license found in the
4
- // LICENSE file in the root directory of this source tree.
5
- //
6
- $story-anchor: 'http-errors';
7
- div[id*='#{$story-anchor}'] .docs-story {
8
- min-height: 50vh;
9
- /* stylelint-disable-next-line carbon/layout-token-use */
10
- transform: translateZ(0);
11
- }
12
-
13
- div[id*='#{$story-anchor}'] .docs-story > div:first-child {
14
- overflow: auto;
15
- width: 100%;
16
- }
17
-
18
- div[id*='#{$story-anchor}'] .docs-story .preview-position-fix {
19
- min-height: 50vh;
20
- }