@automattic/launchpad 1.0.0 → 1.0.1

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.
Files changed (145) hide show
  1. package/.storybook/main.ts +16 -0
  2. package/.storybook/preview.ts +6 -0
  3. package/README.md +11 -2
  4. package/dist/cjs/action-components/index.js +6 -0
  5. package/dist/cjs/action-components/index.js.map +1 -0
  6. package/dist/cjs/action-components/share-site-modal/index.js +44 -0
  7. package/dist/cjs/action-components/share-site-modal/index.js.map +1 -0
  8. package/dist/cjs/action-components/share-site-modal/style.scss +159 -0
  9. package/dist/cjs/badge/index.js +2 -2
  10. package/dist/cjs/badge/index.js.map +1 -1
  11. package/dist/cjs/checklist/index.js +16 -8
  12. package/dist/cjs/checklist/index.js.map +1 -1
  13. package/dist/cjs/checklist/index.stories.js +29 -0
  14. package/dist/cjs/checklist/index.stories.js.map +1 -0
  15. package/dist/cjs/checklist-item/index.js +30 -13
  16. package/dist/cjs/checklist-item/index.js.map +1 -1
  17. package/dist/cjs/checklist-item/index.stories.js +79 -0
  18. package/dist/cjs/checklist-item/index.stories.js.map +1 -0
  19. package/dist/cjs/checklist-item/style.scss +142 -22
  20. package/dist/cjs/index.js +6 -1
  21. package/dist/cjs/index.js.map +1 -1
  22. package/dist/cjs/launchpad-container/index.js +11 -0
  23. package/dist/cjs/launchpad-container/index.js.map +1 -0
  24. package/dist/cjs/launchpad-container/style.scss +59 -0
  25. package/dist/cjs/launchpad-internal.js +40 -0
  26. package/dist/cjs/launchpad-internal.js.map +1 -0
  27. package/dist/cjs/launchpad-internal.stories.js +45 -0
  28. package/dist/cjs/launchpad-internal.stories.js.map +1 -0
  29. package/dist/cjs/launchpad.js +39 -10
  30. package/dist/cjs/launchpad.js.map +1 -1
  31. package/dist/cjs/msw/link-in-bio.js +68 -0
  32. package/dist/cjs/msw/link-in-bio.js.map +1 -0
  33. package/dist/cjs/msw/resolver.js +19 -0
  34. package/dist/cjs/msw/resolver.js.map +1 -0
  35. package/dist/cjs/msw/setup-free.js +88 -0
  36. package/dist/cjs/msw/setup-free.js.map +1 -0
  37. package/dist/cjs/setup-actions.js +51 -54
  38. package/dist/cjs/setup-actions.js.map +1 -1
  39. package/dist/cjs/use-tracking/index.js +72 -0
  40. package/dist/cjs/use-tracking/index.js.map +1 -0
  41. package/dist/esm/action-components/index.js +2 -0
  42. package/dist/esm/action-components/index.js.map +1 -0
  43. package/dist/esm/action-components/share-site-modal/index.js +42 -0
  44. package/dist/esm/action-components/share-site-modal/index.js.map +1 -0
  45. package/dist/esm/action-components/share-site-modal/style.scss +159 -0
  46. package/dist/esm/badge/index.js +2 -2
  47. package/dist/esm/badge/index.js.map +1 -1
  48. package/dist/esm/checklist/index.js +14 -8
  49. package/dist/esm/checklist/index.js.map +1 -1
  50. package/dist/esm/checklist/index.stories.js +25 -0
  51. package/dist/esm/checklist/index.stories.js.map +1 -0
  52. package/dist/esm/checklist-item/index.js +29 -14
  53. package/dist/esm/checklist-item/index.js.map +1 -1
  54. package/dist/esm/checklist-item/index.stories.js +75 -0
  55. package/dist/esm/checklist-item/index.stories.js.map +1 -0
  56. package/dist/esm/checklist-item/style.scss +142 -22
  57. package/dist/esm/index.js +3 -0
  58. package/dist/esm/index.js.map +1 -1
  59. package/dist/esm/launchpad-container/index.js +8 -0
  60. package/dist/esm/launchpad-container/index.js.map +1 -0
  61. package/dist/esm/launchpad-container/style.scss +59 -0
  62. package/dist/esm/launchpad-internal.js +37 -0
  63. package/dist/esm/launchpad-internal.js.map +1 -0
  64. package/dist/esm/launchpad-internal.stories.js +41 -0
  65. package/dist/esm/launchpad-internal.stories.js.map +1 -0
  66. package/dist/esm/launchpad.js +41 -13
  67. package/dist/esm/launchpad.js.map +1 -1
  68. package/dist/esm/msw/link-in-bio.js +66 -0
  69. package/dist/esm/msw/link-in-bio.js.map +1 -0
  70. package/dist/esm/msw/resolver.js +14 -0
  71. package/dist/esm/msw/resolver.js.map +1 -0
  72. package/dist/esm/msw/setup-free.js +86 -0
  73. package/dist/esm/msw/setup-free.js.map +1 -0
  74. package/dist/esm/setup-actions.js +51 -54
  75. package/dist/esm/setup-actions.js.map +1 -1
  76. package/dist/esm/use-tracking/index.js +68 -0
  77. package/dist/esm/use-tracking/index.js.map +1 -0
  78. package/dist/tsconfig-cjs.tsbuildinfo +1 -1
  79. package/dist/tsconfig.tsbuildinfo +1 -1
  80. package/dist/types/action-components/index.d.ts +2 -0
  81. package/dist/types/action-components/index.d.ts.map +1 -0
  82. package/dist/types/action-components/share-site-modal/index.d.ts +9 -0
  83. package/dist/types/action-components/share-site-modal/index.d.ts.map +1 -0
  84. package/dist/types/badge/index.d.ts.map +1 -1
  85. package/dist/types/checklist/index.d.ts +6 -7
  86. package/dist/types/checklist/index.d.ts.map +1 -1
  87. package/dist/types/checklist/index.stories.d.ts +8 -0
  88. package/dist/types/checklist/index.stories.d.ts.map +1 -0
  89. package/dist/types/checklist-item/index.d.ts +11 -8
  90. package/dist/types/checklist-item/index.d.ts.map +1 -1
  91. package/dist/types/checklist-item/index.stories.d.ts +14 -0
  92. package/dist/types/checklist-item/index.stories.d.ts.map +1 -0
  93. package/dist/types/index.d.ts +3 -0
  94. package/dist/types/index.d.ts.map +1 -1
  95. package/dist/types/launchpad-container/index.d.ts +15 -0
  96. package/dist/types/launchpad-container/index.d.ts.map +1 -0
  97. package/dist/types/launchpad-internal.d.ts +20 -0
  98. package/dist/types/launchpad-internal.d.ts.map +1 -0
  99. package/dist/types/launchpad-internal.stories.d.ts +8 -0
  100. package/dist/types/launchpad-internal.stories.d.ts.map +1 -0
  101. package/dist/types/launchpad.d.ts +10 -9
  102. package/dist/types/launchpad.d.ts.map +1 -1
  103. package/dist/types/msw/link-in-bio.d.ts +35 -0
  104. package/dist/types/msw/link-in-bio.d.ts.map +1 -0
  105. package/dist/types/msw/resolver.d.ts +3 -0
  106. package/dist/types/msw/resolver.d.ts.map +1 -0
  107. package/dist/types/msw/setup-free.d.ts +35 -0
  108. package/dist/types/msw/setup-free.d.ts.map +1 -0
  109. package/dist/types/setup-actions.d.ts +1 -1
  110. package/dist/types/setup-actions.d.ts.map +1 -1
  111. package/dist/types/types.d.ts +19 -9
  112. package/dist/types/types.d.ts.map +1 -1
  113. package/dist/types/use-tracking/index.d.ts +14 -0
  114. package/dist/types/use-tracking/index.d.ts.map +1 -0
  115. package/package.json +24 -16
  116. package/src/action-components/index.ts +1 -0
  117. package/src/action-components/share-site-modal/index.tsx +100 -0
  118. package/src/action-components/share-site-modal/style.scss +159 -0
  119. package/src/badge/index.tsx +2 -4
  120. package/src/checklist/index.stories.tsx +45 -0
  121. package/src/checklist/index.tsx +22 -21
  122. package/src/checklist/test/index.tsx +26 -0
  123. package/src/checklist-item/index.stories.tsx +92 -0
  124. package/src/checklist-item/index.tsx +62 -22
  125. package/src/checklist-item/style.scss +142 -22
  126. package/src/checklist-item/test/index.tsx +232 -0
  127. package/src/index.ts +3 -0
  128. package/src/launchpad-container/index.tsx +45 -0
  129. package/src/launchpad-container/style.scss +59 -0
  130. package/src/launchpad-container/test/index.tsx +72 -0
  131. package/src/launchpad-internal.stories.tsx +49 -0
  132. package/src/launchpad-internal.tsx +85 -0
  133. package/src/launchpad.tsx +80 -30
  134. package/src/msw/link-in-bio.ts +66 -0
  135. package/src/msw/resolver.ts +18 -0
  136. package/src/msw/setup-free.ts +85 -0
  137. package/src/setup-actions.ts +67 -54
  138. package/src/test/launchpad.tsx +51 -24
  139. package/src/test/lib/fixtures.ts +7 -2
  140. package/src/types.ts +24 -9
  141. package/src/use-tracking/index.tsx +87 -0
  142. package/src/use-tracking/test/index.tsx +116 -0
  143. package/static/mockServiceWorker.js +287 -0
  144. package/src/test/checklist-item.tsx +0 -96
  145. package/src/test/checklist.tsx +0 -25
@@ -0,0 +1,16 @@
1
+ import storybookDefaultConfig from '@automattic/calypso-storybook';
2
+ const config = storybookDefaultConfig();
3
+
4
+ export default {
5
+ ...config,
6
+ staticDirs: [ ...( config.staticDirs ?? [] ), '../static' ],
7
+ typescript: {
8
+ ...config.typescript,
9
+ reactDocgen: 'react-docgen-typescript',
10
+ },
11
+ core: {
12
+ ...config.core,
13
+ disableTelemetry: true,
14
+ },
15
+ addons: [ ...( config.addons ?? [] ), '@storybook/addon-a11y' ],
16
+ };
@@ -0,0 +1,6 @@
1
+ import '@automattic/calypso-color-schemes';
2
+ import '@wordpress/components/build-style/style.css';
3
+ import { initialize, mswLoader } from 'msw-storybook-addon';
4
+ initialize();
5
+
6
+ export const loaders = [ mswLoader ];
package/README.md CHANGED
@@ -17,7 +17,8 @@ function App( { siteSlug, checklistSlug } ) {
17
17
  return (
18
18
  <Launchpad
19
19
  siteSlug={ siteSlug }
20
- checklistSlug={ checklistSlug } />
20
+ checklistSlug={ checklistSlug }
21
+ launchpadContext='my-app-context' />
21
22
  );
22
23
  }
23
24
  ```
@@ -30,6 +31,14 @@ The site slug of the site to display the checklist for.
30
31
 
31
32
  ### checklistSlug
32
33
 
33
- Optional slug of the checklist to display. This is ID of the checklist defined on Jetpack's side. See [Jetpack checklist definitions](https://github.com/Automattic/jetpack/blob/2d37c444fe42eb852f34f1df6c285e94c37e9376/projects/packages/jetpack-mu-wpcom/src/features/launchpad/launchpad.php).
34
+ The slug of the checklist to display. This is ID of the checklist defined on Jetpack's side. See [Jetpack checklist definitions](https://github.com/Automattic/jetpack/blob/2d37c444fe42eb852f34f1df6c285e94c37e9376/projects/packages/jetpack-mu-wpcom/src/features/launchpad/launchpad.php).
34
35
 
35
36
  We use the `@automattic/data-stores` package to fetch the checklist data and cache it, through the `useLaunchpad` query.
37
+
38
+ ### launchpadContext
39
+
40
+ A string that specifies what context we are showing the launchpad in. This will generally identify the page or section of the UI where the launchpad is being displayed.
41
+
42
+ ## LaunchpadInternal
43
+
44
+ For more complex situations, the `LaunchpadInternal` component is also available, but use of this component is **not recommended**. We should aim to improve the API for the `Launchpad` component first, as the `Launchpad` component wires in a number of non-obvious behaviours that we want to use if at all possible.
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ShareSiteModal = void 0;
4
+ var share_site_modal_1 = require("./share-site-modal");
5
+ Object.defineProperty(exports, "ShareSiteModal", { enumerable: true, get: function () { return __importDefault(share_site_modal_1).default; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/action-components/index.ts"],"names":[],"mappings":";;;AAAA,uDAA+D;AAAtD,mIAAA,OAAO,OAAkB"}
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const jsx_runtime_1 = require("react/jsx-runtime");
4
+ const components_1 = require("@automattic/components");
5
+ const data_stores_1 = require("@automattic/data-stores");
6
+ const react_query_1 = require("@tanstack/react-query");
7
+ const components_2 = require("@wordpress/components");
8
+ const icons_1 = require("@wordpress/icons");
9
+ const i18n_calypso_1 = require("i18n-calypso");
10
+ const react_1 = require("react");
11
+ require("./style.scss");
12
+ const ShareSiteModal = ({ setModalIsOpen, site }) => {
13
+ const translate = (0, i18n_calypso_1.useTranslate)();
14
+ const queryClient = (0, react_query_1.useQueryClient)();
15
+ const getSiteSlug = (site) => {
16
+ if (!site) {
17
+ return null;
18
+ }
19
+ if (site.slug) {
20
+ return site.slug;
21
+ }
22
+ if (site.URL) {
23
+ return new URL(site.URL).host;
24
+ }
25
+ return null;
26
+ };
27
+ const siteSlug = getSiteSlug(site);
28
+ const [clipboardCopied, setClipboardCopied] = (0, react_1.useState)(false);
29
+ const clipboardTextEl = (0, react_1.useRef)(null);
30
+ const copyHandler = async () => {
31
+ navigator.clipboard.writeText(`https://${siteSlug}`);
32
+ if (siteSlug) {
33
+ await (0, data_stores_1.updateLaunchpadSettings)(siteSlug, {
34
+ checklist_statuses: { share_site: true },
35
+ });
36
+ }
37
+ queryClient.invalidateQueries({ queryKey: ['launchpad'] });
38
+ setClipboardCopied(true);
39
+ setTimeout(() => setClipboardCopied(false), 3000);
40
+ };
41
+ return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsx)(components_2.Modal, { onRequestClose: () => setModalIsOpen(false), className: "share-site-modal__modal", title: "", children: (0, jsx_runtime_1.jsxs)("div", { className: "share-site-modal__modal-content", children: [(0, jsx_runtime_1.jsxs)("div", { className: "share-site-modal__modal-text", children: [(0, jsx_runtime_1.jsx)("h1", { className: "share-site-modal__modal-heading", children: translate('Share your site') }), (0, jsx_runtime_1.jsx)("p", { className: "share-site-modal__modal-body", children: translate('Now you can head over to your site and share it with the world.') })] }), (0, jsx_runtime_1.jsx)("div", { className: "share-site-modal__modal-actions", children: (0, jsx_runtime_1.jsxs)("div", { className: "share-site-modal__modal-site", children: [(0, jsx_runtime_1.jsxs)("div", { className: "share-site-modal__modal-domain", children: [(0, jsx_runtime_1.jsx)("p", { className: "share-site-modal__modal-domain-text", ref: clipboardTextEl, children: siteSlug }), (0, jsx_runtime_1.jsx)(components_1.Popover, { className: "share-site-modal__popover", isVisible: clipboardCopied, context: clipboardTextEl.current, position: "top", children: translate('Copied to clipboard!') })] }), (0, jsx_runtime_1.jsxs)(components_2.Button, { onClick: copyHandler, className: "share-site-modal__modal-view-site", disabled: !siteSlug, children: [(0, jsx_runtime_1.jsx)(icons_1.Icon, { icon: icons_1.link, size: 22 }), (0, jsx_runtime_1.jsx)("span", { className: "share-site-modal__modal-view-site-text", children: translate('Copy') })] })] }) })] }) }) }));
42
+ };
43
+ exports.default = ShareSiteModal;
44
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/action-components/share-site-modal/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,159 @@
1
+ @import "@automattic/typography/styles/variables";
2
+
3
+ .share-site-modal__modal {
4
+ max-width: 640px;
5
+
6
+ .components-modal__header {
7
+ padding: 48px;
8
+ }
9
+
10
+ .components-modal__content {
11
+ margin: 0;
12
+ padding: 0;
13
+ }
14
+
15
+ .share-site-modal__modal-content {
16
+ padding: 48px;
17
+ padding-bottom: 40px;
18
+ display: flex;
19
+ flex-direction: column;
20
+ gap: 32px;
21
+ }
22
+
23
+ .share-site-modal__modal-heading {
24
+ color: var(--studio-gray-100);
25
+ font-family: Recoleta, "Noto Serif", Georgia, "Times New Roman", Times, serif;
26
+ font-size: 2rem;
27
+ line-height: 40px;
28
+ font-weight: 400;
29
+ letter-spacing: 0.2px;
30
+ margin: 0;
31
+ padding-bottom: 8px;
32
+ }
33
+
34
+ .share-site-modal__modal-domain {
35
+ display: flex;
36
+ justify-content: center;
37
+ align-items: center;
38
+ }
39
+
40
+ .share-site-modal__modal-body,
41
+ .share-site-modal__modal-domain-text {
42
+ margin: 0;
43
+ color: var(--studio-gray-80);
44
+ font-size: 1rem;
45
+ line-height: 24px;
46
+ }
47
+
48
+ .share-site-modal__modal-domain-text {
49
+ padding: 0 8px;
50
+
51
+ // prevent text overflow
52
+ text-overflow: ellipsis;
53
+ white-space: nowrap;
54
+ overflow: hidden;
55
+ }
56
+
57
+ .share-site-modal__modal-buttons {
58
+ display: flex;
59
+ flex-direction: row;
60
+ justify-content: end;
61
+ gap: 16px;
62
+ }
63
+
64
+ .share-site-modal__modal-site {
65
+ padding: 8px;
66
+ background: var(--studio-gray-0);
67
+ display: flex;
68
+ flex-direction: row;
69
+ justify-content: space-between;
70
+ align-items: center;
71
+ }
72
+
73
+ .launchpad__clipboard-button {
74
+ opacity: 0;
75
+ }
76
+
77
+ .launchpad__clipboard-button:focus {
78
+ opacity: 1;
79
+ }
80
+
81
+ .share-site-modal__modal-site:hover {
82
+ .launchpad__clipboard-button {
83
+ opacity: 1;
84
+ }
85
+ }
86
+
87
+ .share-site-modal__modal-customize {
88
+ color: var(--studio-blue-50);
89
+ font-size: 0.875rem;
90
+ display: inline-flex;
91
+ flex-direction: row;
92
+ justify-content: start;
93
+ gap: 6px;
94
+ padding: 0;
95
+ margin: 0;
96
+ margin-top: 16px;
97
+ }
98
+
99
+ .share-site-modal__modal-upsell {
100
+ border-top: 1px solid var(--studio-gray-5);
101
+ background: var(--studio-gray-0);
102
+ display: flex;
103
+ justify-content: center;
104
+ align-items: center;
105
+ padding: 32px 48px;
106
+ gap: 32px;
107
+
108
+ .components-button {
109
+ height: 42px;
110
+ }
111
+ }
112
+
113
+ .share-site-modal__modal-upsell-content p {
114
+ margin-bottom: 0;
115
+ }
116
+
117
+ .share-site-modal__modal-upsell-content-highlight {
118
+ font-weight: bold;
119
+ }
120
+
121
+ .share-site-modal__modal-view-site {
122
+ display: flex;
123
+ gap: 4px;
124
+
125
+ font-weight: 500;
126
+ /* stylelint-disable-next-line */
127
+ font-size: 14px;
128
+ line-height: 20px;
129
+ letter-spacing: -0.154px;
130
+ color: #101517;
131
+ }
132
+
133
+ .share-site-modal__modal-view-site:visited {
134
+ color: #101517;
135
+ }
136
+
137
+ .share-site-modal__modal-view-site:hover:not(:disabled) {
138
+ text-decoration: underline;
139
+ }
140
+ }
141
+
142
+ .share-site-modal__popover {
143
+ outline: none;
144
+ z-index: 100000;
145
+ .popover__inner {
146
+ border: 0;
147
+ box-shadow: none;
148
+ border-radius: 2px;
149
+ color: var(--color-text-inverted);
150
+ background: var(--color-neutral-60);
151
+ font-size: $font-body-extra-small;
152
+ padding: 6px 10px;
153
+ text-align: left;
154
+ }
155
+
156
+ .popover__arrow {
157
+ display: none;
158
+ }
159
+ }
@@ -2,12 +2,12 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
- const classnames_1 = tslib_1.__importDefault(require("classnames"));
5
+ const clsx_1 = tslib_1.__importDefault(require("clsx"));
6
6
  require("./style.scss");
7
7
  const Badge = (props) => {
8
8
  const className = props.className;
9
9
  const type = props.type || 'warning';
10
- return ((0, jsx_runtime_1.jsx)("div", { className: (0, classnames_1.default)(`badge badge--${type}`, className), children: props.children }));
10
+ return (0, jsx_runtime_1.jsx)("div", { className: (0, clsx_1.default)(`badge badge--${type}`, className), children: props.children });
11
11
  };
12
12
  exports.default = Badge;
13
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/badge/index.tsx"],"names":[],"mappings":";;;;AAAA,oEAAoC;AAEpC,wBAAsB;AAgBtB,MAAM,KAAK,GAA0C,CAAE,KAAK,EAAG,EAAE;IAChE,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;IAClC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,SAAS,CAAC;IACrC,OAAO,CACN,gCAAK,SAAS,EAAG,IAAA,oBAAU,EAAE,gBAAiB,IAAK,EAAE,EAAE,SAAS,CAAE,YAAK,KAAK,CAAC,QAAQ,GAAQ,CAC7F,CAAC;AACH,CAAC,CAAC;AAEF,kBAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/badge/index.tsx"],"names":[],"mappings":";;;;AAAA,wDAAwB;AAExB,wBAAsB;AAgBtB,MAAM,KAAK,GAA0C,CAAE,KAAK,EAAG,EAAE;IAChE,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;IAClC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,SAAS,CAAC;IACrC,OAAO,gCAAK,SAAS,EAAG,IAAA,cAAI,EAAE,gBAAiB,IAAK,EAAE,EAAE,SAAS,CAAE,YAAK,KAAK,CAAC,QAAQ,GAAQ,CAAC;AAChG,CAAC,CAAC;AAEF,kBAAe,KAAK,CAAC"}
@@ -1,18 +1,26 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Placeholder = void 0;
3
4
  const tslib_1 = require("tslib");
4
5
  const jsx_runtime_1 = require("react/jsx-runtime");
5
- const classnames_1 = tslib_1.__importDefault(require("classnames"));
6
- const checklist_item_1 = tslib_1.__importDefault(require("../checklist-item"));
6
+ const clsx_1 = tslib_1.__importDefault(require("clsx"));
7
+ const react_1 = require("react");
8
+ const checklist_item_1 = require("../checklist-item");
7
9
  require("./style.scss");
8
- const Checklist = ({ tasks, makeLastTaskPrimaryAction }) => {
9
- return ((0, jsx_runtime_1.jsx)("ul", { className: (0, classnames_1.default)('checklist__tasks', {
10
+ const Checklist = ({ children, makeLastTaskPrimaryAction }) => {
11
+ const lastChildIndex = react_1.Children.count(children) - 1;
12
+ return ((0, jsx_runtime_1.jsx)("ul", { className: (0, clsx_1.default)('checklist__tasks', {
10
13
  'checklist__has-primary-action': makeLastTaskPrimaryAction,
11
- }), "aria-label": "Launchpad Checklist", children: tasks &&
12
- tasks.map((task, index) => ((0, jsx_runtime_1.jsx)(checklist_item_1.default, { task: task, isPrimaryAction: makeLastTaskPrimaryAction && index === tasks.length - 1 }, task.id))) }));
14
+ }), "aria-label": "Launchpad Checklist", children: react_1.Children.map(children || [], (child, index) => {
15
+ if (index === lastChildIndex) {
16
+ return (0, react_1.cloneElement)(child, { isPrimaryAction: makeLastTaskPrimaryAction });
17
+ }
18
+ return child;
19
+ }) }));
13
20
  };
14
- Checklist.Placeholder = () => {
15
- return ((0, jsx_runtime_1.jsxs)("ul", { className: "checklist__tasks", "aria-label": "Launchpad Checklist", children: [(0, jsx_runtime_1.jsx)(checklist_item_1.default.Placeholder, {}), (0, jsx_runtime_1.jsx)(checklist_item_1.default.Placeholder, {}), (0, jsx_runtime_1.jsx)(checklist_item_1.default.Placeholder, {}), (0, jsx_runtime_1.jsx)(checklist_item_1.default.Placeholder, {})] }));
21
+ const Placeholder = () => {
22
+ return ((0, jsx_runtime_1.jsxs)("ul", { className: "checklist__tasks", "aria-label": "Launchpad Checklist", children: [(0, jsx_runtime_1.jsx)(checklist_item_1.Placeholder, {}), (0, jsx_runtime_1.jsx)(checklist_item_1.Placeholder, {}), (0, jsx_runtime_1.jsx)(checklist_item_1.Placeholder, {}), (0, jsx_runtime_1.jsx)(checklist_item_1.Placeholder, {})] }));
16
23
  };
24
+ exports.Placeholder = Placeholder;
17
25
  exports.default = Checklist;
18
26
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/checklist/index.tsx"],"names":[],"mappings":";;;;AAAA,oEAAoC;AACpC,+EAA8C;AAG9C,wBAAsB;AAOtB,MAAM,SAAS,GAAG,CAAE,EAAE,KAAK,EAAE,yBAAyB,EAAkB,EAAG,EAAE;IAC5E,OAAO,CACN,+BACC,SAAS,EAAG,IAAA,oBAAU,EAAE,kBAAkB,EAAE;YAC3C,+BAA+B,EAAE,yBAAyB;SAC1D,CAAE,gBACQ,qBAAqB,YAE9B,KAAK;YACN,KAAK,CAAC,GAAG,CAAE,CAAE,IAAU,EAAE,KAAa,EAAG,EAAE,CAAC,CAC3C,uBAAC,wBAAa,IAEb,IAAI,EAAG,IAAI,EACX,eAAe,EAAG,yBAAyB,IAAI,KAAK,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,IAFnE,IAAI,CAAC,EAAE,CAGZ,CACF,CAAE,GACA,CACL,CAAC;AACH,CAAC,CAAC;AAEF,SAAS,CAAC,WAAW,GAAG,GAAG,EAAE;IAC5B,OAAO,CACN,gCAAI,SAAS,EAAC,kBAAkB,gBAAY,qBAAqB,aAChE,uBAAC,wBAAa,CAAC,WAAW,KAAG,EAC7B,uBAAC,wBAAa,CAAC,WAAW,KAAG,EAC7B,uBAAC,wBAAa,CAAC,WAAW,KAAG,EAC7B,uBAAC,wBAAa,CAAC,WAAW,KAAG,IACzB,CACL,CAAC;AACH,CAAC,CAAC;AAEF,kBAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/checklist/index.tsx"],"names":[],"mappings":";;;;;AAAA,wDAAwB;AACxB,iCAAgG;AAChG,sDAA2F;AAC3F,wBAAsB;AAStB,MAAM,SAAS,GAAgB,CAAE,EAAE,QAAQ,EAAE,yBAAyB,EAAE,EAAG,EAAE;IAC5E,MAAM,cAAc,GAAG,gBAAQ,CAAC,KAAK,CAAE,QAAQ,CAAE,GAAG,CAAC,CAAC;IAEtD,OAAO,CACN,+BACC,SAAS,EAAG,IAAA,cAAI,EAAE,kBAAkB,EAAE;YACrC,+BAA+B,EAAE,yBAAyB;SAC1D,CAAE,gBACQ,qBAAqB,YAE9B,gBAAQ,CAAC,GAAG,CAAE,QAAQ,IAAI,EAAE,EAAE,CAAE,KAAK,EAAE,KAAK,EAAG,EAAE;YAClD,IAAK,KAAK,KAAK,cAAc,EAAG,CAAC;gBAChC,OAAO,IAAA,oBAAY,EAAE,KAAK,EAAE,EAAE,eAAe,EAAE,yBAAyB,EAAE,CAAE,CAAC;YAC9E,CAAC;YACD,OAAO,KAAK,CAAC;QACd,CAAC,CAAE,GACC,CACL,CAAC;AACH,CAAC,CAAC;AAEK,MAAM,WAAW,GAAG,GAAG,EAAE;IAC/B,OAAO,CACN,gCAAI,SAAS,EAAC,kBAAkB,gBAAY,qBAAqB,aAChE,uBAAC,4BAAwB,KAAG,EAC5B,uBAAC,4BAAwB,KAAG,EAC5B,uBAAC,4BAAwB,KAAG,EAC5B,uBAAC,4BAAwB,KAAG,IACxB,CACL,CAAC;AACH,CAAC,CAAC;AATW,QAAA,WAAW,eAStB;AAEF,kBAAe,SAAS,CAAC"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WithMakeLastTaskPrimaryAction = exports.Default = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const jsx_runtime_1 = require("react/jsx-runtime");
6
+ const checklist_item_1 = tslib_1.__importDefault(require("../checklist-item"));
7
+ const _1 = tslib_1.__importDefault(require("./"));
8
+ const meta = {
9
+ title: 'Launchpad/Checklist',
10
+ component: _1.default,
11
+ decorators: [
12
+ (Story) => ((0, jsx_runtime_1.jsx)("div", { style: { width: 300 }, children: (0, jsx_runtime_1.jsx)(Story, {}) })),
13
+ ],
14
+ args: {
15
+ children: [
16
+ (0, jsx_runtime_1.jsx)(checklist_item_1.default, { task: { id: '1', title: 'Task 1', completed: true, disabled: true }, onClick: () => { } }, "1"),
17
+ (0, jsx_runtime_1.jsx)(checklist_item_1.default, { task: { id: '2', title: 'Task 2', disabled: false, completed: false }, onClick: () => { } }, "2"),
18
+ (0, jsx_runtime_1.jsx)(checklist_item_1.default, { task: { id: '3', title: 'Task 3', disabled: false, completed: false }, onClick: () => { } }, "3"),
19
+ ],
20
+ },
21
+ };
22
+ exports.Default = {};
23
+ exports.WithMakeLastTaskPrimaryAction = {
24
+ args: {
25
+ makeLastTaskPrimaryAction: true,
26
+ },
27
+ };
28
+ exports.default = meta;
29
+ //# sourceMappingURL=index.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.stories.js","sourceRoot":"","sources":["../../../src/checklist/index.stories.tsx"],"names":[],"mappings":";;;;;AAAA,+EAA8C;AAC9C,kDAA2B;AAG3B,MAAM,IAAI,GAA6B;IACtC,KAAK,EAAE,qBAAqB;IAC5B,SAAS,EAAE,UAAS;IACpB,UAAU,EAAE;QACX,CAAE,KAAK,EAAG,EAAE,CAAC,CACZ,gCAAK,KAAK,EAAG,EAAE,KAAK,EAAE,GAAG,EAAE,YAC1B,uBAAC,KAAK,KAAG,GACJ,CACN;KACD;IACD,IAAI,EAAE;QACL,QAAQ,EAAE;YACT,uBAAC,wBAAa,IAEb,IAAI,EAAG,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EACpE,OAAO,EAAG,GAAG,EAAE,GAAE,CAAC,IAFd,GAAG,CAGN;YACF,uBAAC,wBAAa,IAEb,IAAI,EAAG,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,EACtE,OAAO,EAAG,GAAG,EAAE,GAAE,CAAC,IAFd,GAAG,CAGN;YACF,uBAAC,wBAAa,IAEb,IAAI,EAAG,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,EACtE,OAAO,EAAG,GAAG,EAAE,GAAE,CAAC,IAFd,GAAG,CAGN;SACF;KACD;CACD,CAAC;AAGW,QAAA,OAAO,GAAU,EAAE,CAAC;AAEpB,QAAA,6BAA6B,GAAU;IACnD,IAAI,EAAE;QACL,yBAAyB,EAAE,IAAI;KAC/B;CACD,CAAC;AAEF,kBAAe,IAAI,CAAC"}
@@ -1,35 +1,52 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Placeholder = void 0;
3
4
  const tslib_1 = require("tslib");
4
5
  const jsx_runtime_1 = require("react/jsx-runtime");
5
6
  const components_1 = require("@automattic/components");
6
- const classnames_1 = tslib_1.__importDefault(require("classnames"));
7
+ const components_2 = require("@wordpress/components");
8
+ const clsx_1 = tslib_1.__importDefault(require("clsx"));
7
9
  const i18n_calypso_1 = require("i18n-calypso");
8
10
  require("./style.scss");
9
- const ChecklistItem = ({ task, isPrimaryAction }) => {
11
+ const ChecklistItem = ({ task, isPrimaryAction, expandable, onClick }) => {
10
12
  const isRtl = (0, i18n_calypso_1.useRtl)();
11
- const { id, completed, disabled, title, subtitle, actionDispatch } = task;
12
- // Display chevron if task is incomplete. Don't display chevron and badge at the same time.
13
- const shouldDisplayChevron = !completed && !disabled && !task.badge_text;
14
- const handlePrimaryAction = () => {
15
- localStorage.removeItem('launchpad_siteSlug');
16
- actionDispatch && actionDispatch();
13
+ const { id, completed, disabled = false, title, subtitle, actionDispatch } = task;
14
+ // If the task says we should use the Calypso path, ensure we use that link for the button's href.
15
+ // This allows the UI routing code to hook into the URL changes and should reduce full-page (re)loads
16
+ // when clicking on the task list items.
17
+ const buttonHref = task.useCalypsoPath && task.calypso_path ? task.calypso_path : undefined;
18
+ // The Button component does not accept the `disabled` and `href` props together.
19
+ // This code will only add href property if the disabled variable is false.
20
+ const buttonProps = {
21
+ disabled,
22
+ ...(disabled ? {} : { href: buttonHref }),
17
23
  };
24
+ const onClickHandler = onClick || actionDispatch;
25
+ const isClickable = !!(buttonProps.href || onClickHandler);
26
+ // Display chevron if task is incomplete.
27
+ // Don't display chevron and badge at the same time.
28
+ // Don't display chevron if item is not clickable.
29
+ const shouldDisplayChevron = !completed && !disabled && !task.badge_text && isClickable;
18
30
  // Display task counter if task is incomplete and has the count properties;
19
31
  const shouldDisplayTaskCounter = task.target_repetitions &&
20
32
  null !== task.repetition_count &&
21
33
  undefined !== task.repetition_count;
22
- return ((0, jsx_runtime_1.jsx)("li", { className: (0, classnames_1.default)('checklist-item__task', {
34
+ // Make sure the button keeps the button styles if it is not clickable.
35
+ const buttonClassName = isClickable ? '' : 'components-button';
36
+ const ButtonElement = isClickable ? components_2.Button : 'div';
37
+ return ((0, jsx_runtime_1.jsxs)("li", { className: (0, clsx_1.default)('checklist-item__task', {
23
38
  completed: completed,
24
39
  pending: !completed,
25
40
  enabled: !disabled,
26
41
  disabled: disabled,
27
- }), children: isPrimaryAction ? ((0, jsx_runtime_1.jsx)(components_1.Button, { className: "checklist-item__checklist-primary-button", disabled: disabled, "data-task": id, onClick: handlePrimaryAction, children: title })) : ((0, jsx_runtime_1.jsxs)(components_1.Button, { className: "checklist-item__task-content", disabled: disabled, "data-task": id, onClick: actionDispatch, children: [completed && (
28
- // show checkmark for completed tasks regardless if they are disabled or kept active
29
- (0, jsx_runtime_1.jsx)("div", { className: "checklist-item__checkmark-container", children: (0, jsx_runtime_1.jsx)(components_1.Gridicon, { "aria-label": (0, i18n_calypso_1.translate)('Task complete'), className: "checklist-item__checkmark", icon: "checkmark", size: 18 }) })), (0, jsx_runtime_1.jsx)("span", { className: "checklist-item__text", children: title }), task.badge_text ? (0, jsx_runtime_1.jsx)(components_1.Badge, { type: "info-blue", children: task.badge_text }) : null, shouldDisplayTaskCounter && ((0, jsx_runtime_1.jsxs)("span", { className: "checklist-item__counter", children: [task.repetition_count, "/", task.target_repetitions] })), shouldDisplayChevron && ((0, jsx_runtime_1.jsx)(components_1.Gridicon, { "aria-label": (0, i18n_calypso_1.translate)('Task enabled'), className: "checklist-item__chevron", icon: `chevron-${isRtl ? 'left' : 'right'}`, size: 18 })), subtitle && (0, jsx_runtime_1.jsx)("p", { className: "checklist-item__subtext", children: subtitle })] })) }));
42
+ expanded: expandable && expandable.isOpen,
43
+ }), children: [isPrimaryAction ? ((0, jsx_runtime_1.jsx)(ButtonElement, { className: (0, clsx_1.default)('checklist-item__checklist-primary-button', buttonClassName), "data-task": id, onClick: onClickHandler, ...buttonProps, children: title })) : ((0, jsx_runtime_1.jsxs)(ButtonElement, { className: (0, clsx_1.default)('checklist-item__task-content', buttonClassName), "data-task": id, onClick: onClickHandler, ...buttonProps, children: [completed && (
44
+ // show checkmark for completed tasks regardless if they are disabled or kept active
45
+ (0, jsx_runtime_1.jsx)("div", { className: "checklist-item__checkmark-container", children: (0, jsx_runtime_1.jsx)(components_1.Gridicon, { "aria-label": (0, i18n_calypso_1.translate)('Task complete'), className: "checklist-item__checkmark", icon: "checkmark", size: 18 }) })), (0, jsx_runtime_1.jsx)("span", { className: "checklist-item__text", children: title }), task.badge_text ? (0, jsx_runtime_1.jsx)(components_1.Badge, { type: "info-blue", children: task.badge_text }) : null, shouldDisplayTaskCounter && ((0, jsx_runtime_1.jsxs)("span", { className: "checklist-item__counter", children: [task.repetition_count, "/", task.target_repetitions] })), shouldDisplayChevron && ((0, jsx_runtime_1.jsx)(components_1.Gridicon, { "aria-label": (0, i18n_calypso_1.translate)('Task enabled'), className: "checklist-item__chevron", icon: `chevron-${isRtl ? 'left' : 'right'}`, size: 18 })), subtitle && (0, jsx_runtime_1.jsx)("p", { className: "checklist-item__subtext", children: subtitle })] })), expandable && expandable.isOpen && ((0, jsx_runtime_1.jsxs)("div", { className: "checklist-item__expanded-content", children: [expandable.content, expandable.action && ((0, jsx_runtime_1.jsx)(components_2.Button, { className: "checklist-item__checklist-expanded-action-button", onClick: expandable.action.onClick, children: expandable.action.label }))] }))] }));
30
46
  };
31
- ChecklistItem.Placeholder = () => {
47
+ const Placeholder = () => {
32
48
  return ((0, jsx_runtime_1.jsx)("div", { className: "checklist-item__task-content is-placeholder", children: (0, jsx_runtime_1.jsx)("div", { className: "checklist-item__content", children: (0, jsx_runtime_1.jsx)("div", {}) }) }));
33
49
  };
50
+ exports.Placeholder = Placeholder;
34
51
  exports.default = ChecklistItem;
35
52
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/checklist-item/index.tsx"],"names":[],"mappings":";;;;AAAA,uDAAiE;AACjE,oEAAoC;AACpC,+CAAiD;AAGjD,wBAAsB;AAEtB,MAAM,aAAa,GAAG,CAAE,EAAE,IAAI,EAAE,eAAe,EAA6C,EAAG,EAAE;IAChG,MAAM,KAAK,GAAG,IAAA,qBAAM,GAAE,CAAC;IACvB,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;IAE1E,2FAA2F;IAC3F,MAAM,oBAAoB,GAAG,CAAE,SAAS,IAAI,CAAE,QAAQ,IAAI,CAAE,IAAI,CAAC,UAAU,CAAC;IAE5E,MAAM,mBAAmB,GAAG,GAAG,EAAE;QAChC,YAAY,CAAC,UAAU,CAAE,oBAAoB,CAAE,CAAC;QAChD,cAAc,IAAI,cAAc,EAAE,CAAC;IACpC,CAAC,CAAC;IAEF,2EAA2E;IAC3E,MAAM,wBAAwB,GAC7B,IAAI,CAAC,kBAAkB;QACvB,IAAI,KAAK,IAAI,CAAC,gBAAgB;QAC9B,SAAS,KAAK,IAAI,CAAC,gBAAgB,CAAC;IAErC,OAAO,CACN,+BACC,SAAS,EAAG,IAAA,oBAAU,EAAE,sBAAsB,EAAE;YAC/C,SAAS,EAAE,SAAS;YACpB,OAAO,EAAE,CAAE,SAAS;YACpB,OAAO,EAAE,CAAE,QAAQ;YACnB,QAAQ,EAAE,QAAQ;SAClB,CAAE,YAED,eAAe,CAAC,CAAC,CAAC,CACnB,uBAAC,mBAAM,IACN,SAAS,EAAC,0CAA0C,EACpD,QAAQ,EAAG,QAAQ,eACP,EAAE,EACd,OAAO,EAAG,mBAAmB,YAE3B,KAAK,GACC,CACT,CAAC,CAAC,CAAC,CACH,wBAAC,mBAAM,IACN,SAAS,EAAC,8BAA8B,EACxC,QAAQ,EAAG,QAAQ,eACP,EAAE,EACd,OAAO,EAAG,cAAc,aAEtB,SAAS,IAAI;gBACd,oFAAoF;gBACpF,gCAAK,SAAS,EAAC,qCAAqC,YACnD,uBAAC,qBAAQ,kBACK,IAAA,wBAAS,EAAE,eAAe,CAAE,EACzC,SAAS,EAAC,2BAA2B,EACrC,IAAI,EAAC,WAAW,EAChB,IAAI,EAAG,EAAE,GACR,GACG,CACN,EACD,iCAAM,SAAS,EAAC,sBAAsB,YAAG,KAAK,GAAS,EACrD,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,uBAAC,kBAAK,IAAC,IAAI,EAAC,WAAW,YAAG,IAAI,CAAC,UAAU,GAAU,CAAC,CAAC,CAAC,IAAI,EAC5E,wBAAwB,IAAI,CAC7B,kCAAM,SAAS,EAAC,yBAAyB,aACtC,IAAI,CAAC,gBAAgB,OAAK,IAAI,CAAC,kBAAkB,IAC7C,CACP,EACC,oBAAoB,IAAI,CACzB,uBAAC,qBAAQ,kBACK,IAAA,wBAAS,EAAE,cAAc,CAAE,EACxC,SAAS,EAAC,yBAAyB,EACnC,IAAI,EAAG,WAAY,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAQ,EAAE,EAC9C,IAAI,EAAG,EAAE,GACR,CACF,EACC,QAAQ,IAAI,8BAAG,SAAS,EAAC,yBAAyB,YAAG,QAAQ,GAAM,IAC7D,CACT,GACG,CACL,CAAC;AACH,CAAC,CAAC;AAEF,aAAa,CAAC,WAAW,GAAG,GAAG,EAAE;IAChC,OAAO,CACN,gCAAK,SAAS,EAAC,6CAA6C,YAC3D,gCAAK,SAAS,EAAC,yBAAyB,YACvC,iCAAW,GACN,GACD,CACN,CAAC;AACH,CAAC,CAAC;AAEF,kBAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/checklist-item/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ExpandedWithAction = exports.Expanded = exports.WithSubtitle = exports.WithTaskCounter = exports.WithBadgetText = exports.Disabled = exports.Completed = exports.Default = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const jsx_runtime_1 = require("react/jsx-runtime");
6
+ const _1 = tslib_1.__importDefault(require("./"));
7
+ const meta = {
8
+ title: 'Launchpad/ChecklistItem',
9
+ component: _1.default,
10
+ decorators: [
11
+ (Story) => ((0, jsx_runtime_1.jsx)("div", { style: { width: 300 }, children: (0, jsx_runtime_1.jsx)("ul", { className: "checklist__tasks", children: (0, jsx_runtime_1.jsx)(Story, {}) }) })),
12
+ ],
13
+ };
14
+ const baseTask = {
15
+ id: '1',
16
+ title: 'Task 1',
17
+ completed: false,
18
+ disabled: false,
19
+ };
20
+ exports.Default = {
21
+ args: {
22
+ onClick: () => { },
23
+ task: baseTask,
24
+ },
25
+ };
26
+ exports.Completed = {
27
+ args: {
28
+ onClick: () => { },
29
+ task: { ...baseTask, completed: true },
30
+ },
31
+ };
32
+ exports.Disabled = {
33
+ args: {
34
+ onClick: () => { },
35
+ task: { ...baseTask, disabled: true },
36
+ },
37
+ };
38
+ exports.WithBadgetText = {
39
+ args: {
40
+ onClick: () => { },
41
+ task: { ...baseTask, badge_text: 'Upgrade plan' },
42
+ },
43
+ };
44
+ exports.WithTaskCounter = {
45
+ args: {
46
+ onClick: () => { },
47
+ task: { ...baseTask, repetition_count: 1, target_repetitions: 3 },
48
+ },
49
+ };
50
+ exports.WithSubtitle = {
51
+ args: {
52
+ onClick: () => { },
53
+ task: { ...baseTask, subtitle: 'This is a subtitle' },
54
+ },
55
+ };
56
+ exports.Expanded = {
57
+ args: {
58
+ task: baseTask,
59
+ expandable: {
60
+ content: (0, jsx_runtime_1.jsx)("p", { children: "This is the expanded content." }),
61
+ isOpen: true,
62
+ },
63
+ },
64
+ };
65
+ exports.ExpandedWithAction = {
66
+ args: {
67
+ task: baseTask,
68
+ expandable: {
69
+ content: (0, jsx_runtime_1.jsx)("p", { children: "This is the expanded content." }),
70
+ isOpen: true,
71
+ action: {
72
+ label: 'Next',
73
+ onClick: () => { },
74
+ },
75
+ },
76
+ },
77
+ };
78
+ exports.default = meta;
79
+ //# sourceMappingURL=index.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.stories.js","sourceRoot":"","sources":["../../../src/checklist-item/index.stories.tsx"],"names":[],"mappings":";;;;;AAAA,kDAA+B;AAG/B,MAAM,IAAI,GAAiC;IAC1C,KAAK,EAAE,yBAAyB;IAChC,SAAS,EAAE,UAAa;IACxB,UAAU,EAAE;QACX,CAAE,KAAK,EAAG,EAAE,CAAC,CACZ,gCAAK,KAAK,EAAG,EAAE,KAAK,EAAE,GAAG,EAAE,YAC1B,+BAAI,SAAS,EAAC,kBAAkB,YAC/B,uBAAC,KAAK,KAAG,GACL,GACA,CACN;KACD;CACD,CAAC;AAGF,MAAM,QAAQ,GAAG;IAChB,EAAE,EAAE,GAAG;IACP,KAAK,EAAE,QAAQ;IACf,SAAS,EAAE,KAAK;IAChB,QAAQ,EAAE,KAAK;CACf,CAAC;AAEW,QAAA,OAAO,GAAU;IAC7B,IAAI,EAAE;QACL,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC;QACjB,IAAI,EAAE,QAAQ;KACd;CACD,CAAC;AAEW,QAAA,SAAS,GAAU;IAC/B,IAAI,EAAE;QACL,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC;QACjB,IAAI,EAAE,EAAE,GAAG,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE;KACtC;CACD,CAAC;AAEW,QAAA,QAAQ,GAAU;IAC9B,IAAI,EAAE;QACL,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC;QACjB,IAAI,EAAE,EAAE,GAAG,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;KACrC;CACD,CAAC;AAEW,QAAA,cAAc,GAAU;IACpC,IAAI,EAAE;QACL,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC;QACjB,IAAI,EAAE,EAAE,GAAG,QAAQ,EAAE,UAAU,EAAE,cAAc,EAAE;KACjD;CACD,CAAC;AAEW,QAAA,eAAe,GAAU;IACrC,IAAI,EAAE;QACL,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC;QACjB,IAAI,EAAE,EAAE,GAAG,QAAQ,EAAE,gBAAgB,EAAE,CAAC,EAAE,kBAAkB,EAAE,CAAC,EAAE;KACjE;CACD,CAAC;AAEW,QAAA,YAAY,GAAU;IAClC,IAAI,EAAE;QACL,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC;QACjB,IAAI,EAAE,EAAE,GAAG,QAAQ,EAAE,QAAQ,EAAE,oBAAoB,EAAE;KACrD;CACD,CAAC;AAEW,QAAA,QAAQ,GAAU;IAC9B,IAAI,EAAE;QACL,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACX,OAAO,EAAE,0EAAoC;YAC7C,MAAM,EAAE,IAAI;SACZ;KACD;CACD,CAAC;AAEW,QAAA,kBAAkB,GAAU;IACxC,IAAI,EAAE;QACL,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACX,OAAO,EAAE,0EAAoC;YAC7C,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE;gBACP,KAAK,EAAE,MAAM;gBACb,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC;aACjB;SACD;KACD;CACD,CAAC;AAEF,kBAAe,IAAI,CAAC"}