@bundle-stats/ui 4.16.0-beta.0 → 4.16.0-beta.10

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 (174) hide show
  1. package/lib/assets/icons.svg +6 -1
  2. package/lib/assets/icons.svg.js +3 -0
  3. package/lib/assets/icons.svg.js.map +1 -1
  4. package/lib/components/bundle-assets/bundle-assets.js +10 -3
  5. package/lib/components/bundle-assets/bundle-assets.js.map +1 -1
  6. package/lib/components/bundle-assets-totals/bundle-assets-totals.js +21 -9
  7. package/lib/components/bundle-assets-totals/bundle-assets-totals.js.map +1 -1
  8. package/lib/components/bundle-modules/bundle-modules.js +9 -2
  9. package/lib/components/bundle-modules/bundle-modules.js.map +1 -1
  10. package/lib/components/bundle-packages/bundle-packages.js +9 -2
  11. package/lib/components/bundle-packages/bundle-packages.js.map +1 -1
  12. package/lib/components/entry-info/entry-info.js +2 -2
  13. package/lib/components/entry-info/entry-info.js.map +1 -1
  14. package/lib/components/insights/insights.module.css +1 -0
  15. package/lib/components/metrics-table-export/index.js +18 -0
  16. package/lib/components/metrics-table-export/index.js.map +1 -0
  17. package/lib/components/metrics-table-export/metrics-table-export.js +82 -0
  18. package/lib/components/metrics-table-export/metrics-table-export.js.map +1 -0
  19. package/lib/components/metrics-table-options/index.js.map +1 -1
  20. package/lib/components/metrics-table-options/metrics-table-options.js +7 -15
  21. package/lib/components/metrics-table-options/metrics-table-options.js.map +1 -1
  22. package/lib/components/preview-source/index.js +18 -0
  23. package/lib/components/preview-source/index.js.map +1 -0
  24. package/lib/components/preview-source/preview-source.js +28 -0
  25. package/lib/components/preview-source/preview-source.js.map +1 -0
  26. package/lib/components/preview-source/preview-source.module.css +40 -0
  27. package/lib/css/variables.css +5 -0
  28. package/lib/i18n.js +3 -0
  29. package/lib/i18n.js.map +1 -1
  30. package/lib/ui/button/button.js +2 -1
  31. package/lib/ui/button/button.js.map +1 -1
  32. package/lib/ui/copy-to-clipboard/copy-to-clipboard.js +2 -6
  33. package/lib/ui/copy-to-clipboard/copy-to-clipboard.js.map +1 -1
  34. package/lib/ui/copy-to-clipboard/copy-to-clipboard.module.css +5 -48
  35. package/lib/ui/dialog/dialog.js +27 -0
  36. package/lib/ui/dialog/dialog.js.map +1 -0
  37. package/lib/ui/dialog/dialog.module.css +89 -0
  38. package/lib/ui/dialog/index.js +18 -0
  39. package/lib/ui/dialog/index.js.map +1 -0
  40. package/lib/ui/icon/icon.js +1 -0
  41. package/lib/ui/icon/icon.js.map +1 -1
  42. package/lib/ui/index.js +7 -1
  43. package/lib/ui/index.js.map +1 -1
  44. package/lib/ui/markdown/index.js +18 -0
  45. package/lib/ui/markdown/index.js.map +1 -0
  46. package/lib/ui/markdown/markdown.js +40 -0
  47. package/lib/ui/markdown/markdown.js.map +1 -0
  48. package/lib/ui/markdown/markdown.module.css +7 -0
  49. package/lib/ui/skeleton/skeleton.module.css +3 -3
  50. package/lib/ui/tabs/tabs.js +2 -2
  51. package/lib/ui/tabs/tabs.js.map +1 -1
  52. package/lib/ui/tabs/tabs.module.css +1 -0
  53. package/lib/ui/textarea/index.js +18 -0
  54. package/lib/ui/textarea/index.js.map +1 -0
  55. package/lib/ui/textarea/textarea.js +16 -0
  56. package/lib/ui/textarea/textarea.js.map +1 -0
  57. package/lib/ui/textarea/textarea.module.css +57 -0
  58. package/lib-esm/assets/icons.svg +6 -1
  59. package/lib-esm/assets/icons.svg.js +3 -0
  60. package/lib-esm/assets/icons.svg.js.map +1 -1
  61. package/lib-esm/components/bundle-assets/bundle-assets.js +10 -3
  62. package/lib-esm/components/bundle-assets/bundle-assets.js.map +1 -1
  63. package/lib-esm/components/bundle-assets-totals/bundle-assets-totals.js +21 -9
  64. package/lib-esm/components/bundle-assets-totals/bundle-assets-totals.js.map +1 -1
  65. package/lib-esm/components/bundle-modules/bundle-modules.js +9 -2
  66. package/lib-esm/components/bundle-modules/bundle-modules.js.map +1 -1
  67. package/lib-esm/components/bundle-packages/bundle-packages.js +9 -2
  68. package/lib-esm/components/bundle-packages/bundle-packages.js.map +1 -1
  69. package/lib-esm/components/entry-info/entry-info.js +2 -2
  70. package/lib-esm/components/entry-info/entry-info.js.map +1 -1
  71. package/lib-esm/components/insights/insights.module.css +1 -0
  72. package/lib-esm/components/metrics-table-export/index.js +2 -0
  73. package/lib-esm/components/metrics-table-export/index.js.map +1 -0
  74. package/lib-esm/components/metrics-table-export/metrics-table-export.js +60 -0
  75. package/lib-esm/components/metrics-table-export/metrics-table-export.js.map +1 -0
  76. package/lib-esm/components/metrics-table-options/index.js.map +1 -1
  77. package/lib-esm/components/metrics-table-options/metrics-table-options.js +7 -15
  78. package/lib-esm/components/metrics-table-options/metrics-table-options.js.map +1 -1
  79. package/lib-esm/components/preview-source/index.js +2 -0
  80. package/lib-esm/components/preview-source/index.js.map +1 -0
  81. package/lib-esm/components/preview-source/preview-source.js +21 -0
  82. package/lib-esm/components/preview-source/preview-source.js.map +1 -0
  83. package/lib-esm/components/preview-source/preview-source.module.css +40 -0
  84. package/lib-esm/css/variables.css +5 -0
  85. package/lib-esm/i18n.js +3 -0
  86. package/lib-esm/i18n.js.map +1 -1
  87. package/lib-esm/ui/button/button.js +1 -0
  88. package/lib-esm/ui/button/button.js.map +1 -1
  89. package/lib-esm/ui/copy-to-clipboard/copy-to-clipboard.js +2 -6
  90. package/lib-esm/ui/copy-to-clipboard/copy-to-clipboard.js.map +1 -1
  91. package/lib-esm/ui/copy-to-clipboard/copy-to-clipboard.module.css +5 -48
  92. package/lib-esm/ui/dialog/dialog.js +19 -0
  93. package/lib-esm/ui/dialog/dialog.js.map +1 -0
  94. package/lib-esm/ui/dialog/dialog.module.css +89 -0
  95. package/lib-esm/ui/dialog/index.js +2 -0
  96. package/lib-esm/ui/dialog/index.js.map +1 -0
  97. package/lib-esm/ui/icon/icon.js +1 -0
  98. package/lib-esm/ui/icon/icon.js.map +1 -1
  99. package/lib-esm/ui/index.js +3 -0
  100. package/lib-esm/ui/index.js.map +1 -1
  101. package/lib-esm/ui/markdown/index.js +2 -0
  102. package/lib-esm/ui/markdown/index.js.map +1 -0
  103. package/lib-esm/ui/markdown/markdown.js +10 -0
  104. package/lib-esm/ui/markdown/markdown.js.map +1 -0
  105. package/lib-esm/ui/markdown/markdown.module.css +7 -0
  106. package/lib-esm/ui/skeleton/skeleton.module.css +3 -3
  107. package/lib-esm/ui/tabs/tabs.js +2 -2
  108. package/lib-esm/ui/tabs/tabs.js.map +1 -1
  109. package/lib-esm/ui/tabs/tabs.module.css +1 -0
  110. package/lib-esm/ui/textarea/index.js +2 -0
  111. package/lib-esm/ui/textarea/index.js.map +1 -0
  112. package/lib-esm/ui/textarea/textarea.js +9 -0
  113. package/lib-esm/ui/textarea/textarea.js.map +1 -0
  114. package/lib-esm/ui/textarea/textarea.module.css +57 -0
  115. package/package.json +14 -13
  116. package/src/assets/icons/download.svg +4 -0
  117. package/src/assets/icons.svg +6 -1
  118. package/src/assets/icons.svg.jsx +9 -0
  119. package/src/components/bundle-assets/bundle-assets.jsx +20 -7
  120. package/src/components/bundle-assets-totals/bundle-assets-totals.jsx +54 -35
  121. package/src/components/bundle-modules/bundle-modules.tsx +15 -2
  122. package/src/components/bundle-packages/bundle-packages.jsx +15 -2
  123. package/src/components/entry-info/entry-info.tsx +2 -2
  124. package/src/components/insights/insights.module.css +1 -0
  125. package/src/components/metrics-table-export/index.ts +1 -0
  126. package/src/components/metrics-table-export/metrics-table-export.stories.tsx +30 -0
  127. package/src/components/metrics-table-export/metrics-table-export.tsx +102 -0
  128. package/src/components/metrics-table-options/metrics-table-options.stories.tsx +22 -0
  129. package/src/components/metrics-table-options/metrics-table-options.tsx +25 -0
  130. package/src/components/preview-source/index.ts +1 -0
  131. package/src/components/preview-source/preview-source.module.css +40 -0
  132. package/src/components/preview-source/preview-source.stories.tsx +53 -0
  133. package/src/components/preview-source/preview-source.tsx +56 -0
  134. package/src/css/variables.css +5 -0
  135. package/src/i18n.js +4 -0
  136. package/src/ui/button/button.tsx +2 -1
  137. package/src/ui/copy-to-clipboard/copy-to-clipboard.module.css +5 -48
  138. package/src/ui/copy-to-clipboard/copy-to-clipboard.tsx +4 -8
  139. package/src/ui/dialog/dialog.module.css +89 -0
  140. package/src/ui/dialog/dialog.stories.tsx +67 -0
  141. package/src/ui/dialog/dialog.tsx +62 -0
  142. package/src/ui/dialog/index.ts +1 -0
  143. package/src/ui/icon/icon.tsx +1 -0
  144. package/src/ui/index.js +3 -0
  145. package/src/ui/markdown/index.ts +1 -0
  146. package/src/ui/markdown/markdown.module.css +7 -0
  147. package/src/ui/markdown/markdown.stories.tsx +29 -0
  148. package/src/ui/markdown/markdown.tsx +24 -0
  149. package/src/ui/skeleton/skeleton.module.css +3 -3
  150. package/src/ui/tabs/tabs.jsx +2 -2
  151. package/src/ui/tabs/tabs.module.css +1 -0
  152. package/src/ui/textarea/index.ts +1 -0
  153. package/src/ui/textarea/textarea.module.css +57 -0
  154. package/src/ui/textarea/textarea.stories.tsx +37 -0
  155. package/src/ui/textarea/textarea.tsx +17 -0
  156. package/types/components/metrics-table-export/index.d.ts +1 -0
  157. package/types/components/metrics-table-export/metrics-table-export.d.ts +10 -0
  158. package/types/components/metrics-table-options/index.d.ts +1 -1
  159. package/types/components/metrics-table-options/metrics-table-options.d.ts +9 -17
  160. package/types/components/preview-source/index.d.ts +1 -0
  161. package/types/components/preview-source/preview-source.d.ts +9 -0
  162. package/types/i18n.d.ts +3 -0
  163. package/types/ui/button/button.d.ts +26 -0
  164. package/types/ui/dialog/dialog.d.ts +13 -0
  165. package/types/ui/dialog/index.d.ts +1 -0
  166. package/types/ui/icon/icon.d.ts +2 -0
  167. package/types/ui/index.d.ts +3 -0
  168. package/types/ui/markdown/index.d.ts +1 -0
  169. package/types/ui/markdown/markdown.d.ts +7 -0
  170. package/types/ui/tabs/tabs.d.ts +3 -3
  171. package/types/ui/textarea/index.d.ts +1 -0
  172. package/types/ui/textarea/textarea.d.ts +6 -0
  173. package/src/components/metrics-table-options/metrics-table-options.jsx +0 -30
  174. /package/src/components/metrics-table-options/{index.js → index.ts} +0 -0
@@ -4,6 +4,7 @@
4
4
 
5
5
  .entry {
6
6
  color: inherit;
7
+ line-height: var(--line-height-heading);
7
8
  text-decoration: none;
8
9
  }
9
10
 
@@ -0,0 +1,2 @@
1
+ export * from './metrics-table-export';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/metrics-table-export/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC"}
@@ -0,0 +1,60 @@
1
+ import React, { useState } from 'react';
2
+ import { Stack } from '../../layout/stack';
3
+ import { Tabs } from '../../ui/tabs';
4
+ import { PreviewSource } from '../preview-source';
5
+ const generateSourceJSON = (items) => {
6
+ const output = items.map((item) => {
7
+ var _a;
8
+ return ({
9
+ name: item.label,
10
+ runs: (_a = item.runs) === null || _a === void 0 ? void 0 : _a.map((itemRun) => ({
11
+ name: (itemRun === null || itemRun === void 0 ? void 0 : itemRun.name) || '',
12
+ size: (itemRun === null || itemRun === void 0 ? void 0 : itemRun.value) || 0,
13
+ })),
14
+ });
15
+ });
16
+ return JSON.stringify(output, null, 2);
17
+ };
18
+ const CSV_SEPARATOR = ', ';
19
+ const generateSourceCSV = (items) => {
20
+ var _a, _b;
21
+ const output = [];
22
+ output.push([
23
+ 'Name',
24
+ ...(((_b = (_a = items === null || items === void 0 ? void 0 : items[0]) === null || _a === void 0 ? void 0 : _a.runs) === null || _b === void 0 ? void 0 : _b.map((_, index) => {
25
+ if (index === 0) {
26
+ return `Run ${index + 1}(current)`;
27
+ }
28
+ return `Run ${index + 1}(baseline)`;
29
+ })) || []),
30
+ ].join(CSV_SEPARATOR));
31
+ items === null || items === void 0 ? void 0 : items.forEach((item) => {
32
+ var _a;
33
+ const row = [item.label];
34
+ (_a = item.runs) === null || _a === void 0 ? void 0 : _a.forEach((itemRun) => {
35
+ row.push((itemRun === null || itemRun === void 0 ? void 0 : itemRun.value) || 0);
36
+ });
37
+ output.push(row.join(CSV_SEPARATOR));
38
+ });
39
+ return output.join('\r');
40
+ };
41
+ const SOURCES = [
42
+ {
43
+ label: 'CSV',
44
+ transformFn: generateSourceCSV,
45
+ extension: 'csv',
46
+ },
47
+ {
48
+ label: 'JSON',
49
+ transformFn: generateSourceJSON,
50
+ extension: 'json',
51
+ },
52
+ ];
53
+ export const MetricsTableExport = (props) => {
54
+ const { items, download, ...restProps } = props;
55
+ const [selectedId, setSelectedId] = useState(SOURCES[0].label);
56
+ return (React.createElement(Stack, { space: "small", ...restProps },
57
+ React.createElement(Tabs, null, SOURCES.map((source) => (React.createElement(Tabs.Item, { onClick: () => setSelectedId(source.label), isTabActive: selectedId === source.label, key: source.label }, source.label)))),
58
+ React.createElement("div", null, SOURCES.map((source) => selectedId === source.label && (React.createElement(PreviewSource, { source: source.transformFn(items), rows: 20, download: `${download}.${source.extension}`, key: source.label }))))));
59
+ };
60
+ //# sourceMappingURL=metrics-table-export.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics-table-export.js","sourceRoot":"","sources":["../../../src/components/metrics-table-export/metrics-table-export.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/metrics-table-options/index.js"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/metrics-table-options/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC"}
@@ -1,21 +1,13 @@
1
1
  import React from 'react';
2
- import PropTypes from 'prop-types';
3
2
  import I18N from '../../i18n';
4
3
  import { Dropdown, DropdownItem } from '../../ui/dropdown';
4
+ import { Separator } from '../../layout/separator';
5
5
  export const MetricsTableOptions = (props) => {
6
- const { className, handleViewAll, handleResetFilters, ...restProps } = props;
7
- return (React.createElement(Dropdown, { className: className, glyph: "more-vertical", ...restProps },
8
- handleResetFilters && (React.createElement(DropdownItem, { onClick: handleResetFilters }, I18N.RESET_FILTERS)),
9
- handleViewAll && React.createElement(DropdownItem, { onClick: handleViewAll }, I18N.VIEW_ALL)));
10
- };
11
- MetricsTableOptions.propTypes = {
12
- className: PropTypes.string,
13
- handleViewAll: PropTypes.func,
14
- handleResetFilters: PropTypes.func,
15
- };
16
- MetricsTableOptions.defaultProps = {
17
- className: '',
18
- handleViewAll: null,
19
- handleResetFilters: null,
6
+ const { onViewAllClick, onResetClick, onExportClick, ...restProps } = props;
7
+ return (React.createElement(Dropdown, { glyph: "more-vertical", ...restProps },
8
+ onResetClick && React.createElement(DropdownItem, { onClick: onResetClick }, I18N.RESET_FILTERS),
9
+ onViewAllClick && React.createElement(DropdownItem, { onClick: onViewAllClick }, I18N.VIEW_ALL),
10
+ ((onResetClick || onViewAllClick) && onExportClick) && React.createElement(Separator, null),
11
+ onExportClick && React.createElement(DropdownItem, { onClick: onExportClick }, I18N.EXPORT)));
20
12
  };
21
13
  //# sourceMappingURL=metrics-table-options.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"metrics-table-options.js","sourceRoot":"","sources":["../../../src/components/metrics-table-options/metrics-table-options.jsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,OAAO,IAAI,MAAM,YAAY,CAAC;AAC9B,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAE3D,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,KAAK,EAAE,EAAE;IAC3C,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,kBAAkB,EAAE,GAAG,SAAS,EAAE,GAAG,KAAK,CAAC;IAE7E,OAAO,CACL,oBAAC,QAAQ,IAAC,SAAS,EAAE,SAAS,EAAE,KAAK,EAAC,eAAe,KAAK,SAAS;QAChE,kBAAkB,IAAI,CACrB,oBAAC,YAAY,IAAC,OAAO,EAAE,kBAAkB,IAAG,IAAI,CAAC,aAAa,CAAgB,CAC/E;QACA,aAAa,IAAI,oBAAC,YAAY,IAAC,OAAO,EAAE,aAAa,IAAG,IAAI,CAAC,QAAQ,CAAgB,CAC7E,CACZ,CAAC;AACJ,CAAC,CAAC;AAEF,mBAAmB,CAAC,SAAS,GAAG;IAC9B,SAAS,EAAE,SAAS,CAAC,MAAM;IAC3B,aAAa,EAAE,SAAS,CAAC,IAAI;IAC7B,kBAAkB,EAAE,SAAS,CAAC,IAAI;CACnC,CAAC;AAEF,mBAAmB,CAAC,YAAY,GAAG;IACjC,SAAS,EAAE,EAAE;IACb,aAAa,EAAE,IAAI;IACnB,kBAAkB,EAAE,IAAI;CACzB,CAAC"}
1
+ {"version":3,"file":"metrics-table-options.js","sourceRoot":"","sources":["../../../src/components/metrics-table-options/metrics-table-options.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,IAAI,MAAM,YAAY,CAAC;AAC9B,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAQnD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,KAA+B,EAAE,EAAE;IACrE,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,SAAS,EAAE,GAAG,KAAK,CAAC;IAE5E,OAAO,CACL,oBAAC,QAAQ,IAAC,KAAK,EAAC,eAAe,KAAK,SAAS;QAC1C,YAAY,IAAI,oBAAC,YAAY,IAAC,OAAO,EAAE,YAAY,IAAG,IAAI,CAAC,aAAa,CAAgB;QACxF,cAAc,IAAI,oBAAC,YAAY,IAAC,OAAO,EAAE,cAAc,IAAG,IAAI,CAAC,QAAQ,CAAgB;QACvF,CAAC,CAAC,YAAY,IAAI,cAAc,CAAC,IAAI,aAAa,CAAC,IAAI,oBAAC,SAAS,OAAG;QACpE,aAAa,IAAI,oBAAC,YAAY,IAAC,OAAO,EAAE,aAAa,IAAG,IAAI,CAAC,MAAM,CAAgB,CAC3E,CACZ,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './preview-source';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/preview-source/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,21 @@
1
+ import React from 'react';
2
+ import cx from 'classnames';
3
+ import { Button, BUTTON_GLYPHS } from '../../ui/button';
4
+ import { CopyToClipboard } from '../../ui/copy-to-clipboard';
5
+ import { ControlGroup } from '../../ui/control-group';
6
+ import { Tooltip } from '../../ui/tooltip';
7
+ import { Textarea } from '../../ui/textarea';
8
+ import css from './preview-source.module.css';
9
+ const DEFAULT_ROWS = 10;
10
+ export const PreviewSource = (props) => {
11
+ const { className = '', source, rows = DEFAULT_ROWS, download = false, ...restProps } = props;
12
+ const isEmpty = !source;
13
+ const rootClassName = cx(css.root, className, isEmpty && css.isEmpty);
14
+ return (React.createElement("div", { className: rootClassName, ...restProps },
15
+ source && (React.createElement(ControlGroup, { className: css.toolbar },
16
+ React.createElement(CopyToClipboard, { outline: true, size: "small", text: source }),
17
+ download && (React.createElement(Tooltip, { title: `Download ${download}`, className: css.downloadTooltip },
18
+ React.createElement(Button, { outline: true, rightGlyph: BUTTON_GLYPHS.DOWNLOAD, size: "small", as: "a", href: `data:application/json,${encodeURIComponent(source)}`, download: download }))))),
19
+ React.createElement(Textarea, { readOnly: true, rows: rows, value: source, className: css.content })));
20
+ };
21
+ //# sourceMappingURL=preview-source.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preview-source.js","sourceRoot":"","sources":["../../../src/components/preview-source/preview-source.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,GAAG,MAAM,6BAA6B,CAAC;AAE9C,MAAM,YAAY,GAAG,EAAE,CAAC;AAgBxB,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAyB,EAAE,EAAE;IACzD,MAAM,EAAE,SAAS,GAAG,EAAE,EAAE,MAAM,EAAE,IAAI,GAAG,YAAY,EAAE,QAAQ,GAAG,KAAK,EAAE,GAAG,SAAS,EAAE,GAAG,KAAK,CAAC;IAE9F,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC;IACxB,MAAM,aAAa,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IAEtE,OAAO,CACL,6BAAK,SAAS,EAAE,aAAa,KAAM,SAAS;QACzC,MAAM,IAAI,CACT,oBAAC,YAAY,IAAC,SAAS,EAAE,GAAG,CAAC,OAAO;YAClC,oBAAC,eAAe,IAAC,OAAO,QAAC,IAAI,EAAC,OAAO,EAAC,IAAI,EAAE,MAAM,GAAI;YACrD,QAAQ,IAAI,CACX,oBAAC,OAAO,IAAC,KAAK,EAAE,YAAY,QAAQ,EAAE,EAAE,SAAS,EAAE,GAAG,CAAC,eAAe;gBACpE,oBAAC,MAAM,IACL,OAAO,QACP,UAAU,EAAE,aAAa,CAAC,QAAQ,EAClC,IAAI,EAAC,OAAO,EACZ,EAAE,EAAC,GAAG,EACN,IAAI,EAAE,yBAAyB,kBAAkB,CAAC,MAAM,CAAC,EAAE,EAC3D,QAAQ,EAAE,QAAQ,GAClB,CACM,CACX,CACY,CAChB;QACD,oBAAC,QAAQ,IAAC,QAAQ,QAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,CAAC,OAAO,GAAI,CACpE,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,40 @@
1
+ .root {
2
+ position: relative;
3
+ }
4
+
5
+ .toolbar {
6
+ position: absolute;
7
+ z-index: 2;
8
+ top: var(--space-xsmall);
9
+ right: var(--space-xsmall);
10
+ background: var(--color-background);
11
+ border-radius: var(--radius-medium);
12
+ }
13
+
14
+ /** fix control group with nested components */
15
+ .downloadTooltip > a {
16
+ border-top-left-radius: inherit;
17
+ border-bottom-left-radius: inherit;
18
+ }
19
+
20
+ .downloadTooltip > a:hover,
21
+ .downloadTooltip > a:active,
22
+ .downloadTooltip > a:focus {
23
+ box-shadow: none;
24
+ }
25
+
26
+ /** Source content */
27
+ .content {
28
+ position: relative;
29
+ z-index: 1;
30
+ height: 100%;
31
+ background: var(--color-highlight);
32
+ color: var(--color-text);
33
+ font-family: var(--font-family-fixed);
34
+ }
35
+
36
+ /** Empty / loading state */
37
+ .isEmpty .content {
38
+ pointer-events: none;
39
+ background: var(--color-highlight);
40
+ }
@@ -176,6 +176,7 @@
176
176
  --color-outline-warning: var(--color-yellow-200);
177
177
  --color-outline-danger: var(--color-red-100);
178
178
 
179
+ --color-backdrop: rgba(0, 0, 0, 0.05);
179
180
  --color-shadow: rgba(0, 0, 0, 0.2);
180
181
 
181
182
  --transition-duration-in: 0.2s;
@@ -200,6 +201,10 @@
200
201
 
201
202
  --outline-hover: 0 0 0 var(--space-xxxsmall) var(--color-highlight);
202
203
 
204
+ --skeleton-inline-background: linear-gradient(transparent 10%, currentColor 10.1%, currentColor 89.9%, transparent 90%);
205
+ --skeleton-block-background: currentColor;
206
+ --skeleton-opacity: 0.06;
207
+
203
208
  /** Layout */
204
209
  --max-width: 88rem;
205
210
  --entry-info-width: 64rem;
package/lib-esm/i18n.js CHANGED
@@ -14,6 +14,9 @@ export default {
14
14
  PACKAGES_INFO: "Package size - the total package's module size before any production optimization(ex: minification)",
15
15
  RESET_FILTERS: 'Reset filters',
16
16
  VIEW_ALL: 'View all entries',
17
+ EXPORT: 'Export',
18
+ COPY_TO_CLIPBOARD: 'Copy to clipboard',
19
+ COPY_TO_CLIPBOARD_DONE: 'Copied to clipboard',
17
20
  GITHUB_LINK_TITLE: 'View BundleStats project on GitHub',
18
21
  REPORT_ISSUE: 'Report issue',
19
22
  REPORT_ISSUE_LINK_TITLE: 'Open issue on GitHub',
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.js","sourceRoot":"","sources":["../src/i18n.js"],"names":[],"mappings":"AAAA,eAAe;IACb,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,QAAQ;IAChB,YAAY,EAAE,oBAAoB;IAClC,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;IAEpB,OAAO,EAAE,oBAAoB;IAE7B,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;IAEpB,SAAS,EAAE,WAAW;IAEtB,WAAW,EAAE,2DAA2D;IACxE,iBAAiB,EAAE,mEAAmE;IACtF,YAAY,EACV,uFAAuF;IACzF,aAAa,EACX,qGAAqG;IAEvG,aAAa,EAAE,eAAe;IAC9B,QAAQ,EAAE,kBAAkB;IAE5B,iBAAiB,EAAE,oCAAoC;IACvD,YAAY,EAAE,cAAc;IAC5B,uBAAuB,EAAE,sBAAsB;IAC/C,cAAc,EAAE,kEAAkE;CACnF,CAAC"}
1
+ {"version":3,"file":"i18n.js","sourceRoot":"","sources":["../src/i18n.js"],"names":[],"mappings":"AAAA,eAAe;IACb,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,QAAQ;IAChB,YAAY,EAAE,oBAAoB;IAClC,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;IAEpB,OAAO,EAAE,oBAAoB;IAE7B,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;IAEpB,SAAS,EAAE,WAAW;IAEtB,WAAW,EAAE,2DAA2D;IACxE,iBAAiB,EAAE,mEAAmE;IACtF,YAAY,EACV,uFAAuF;IACzF,aAAa,EACX,qGAAqG;IAEvG,aAAa,EAAE,eAAe;IAC9B,QAAQ,EAAE,kBAAkB;IAC5B,MAAM,EAAE,QAAQ;IAEhB,iBAAiB,EAAE,mBAAmB;IACtC,sBAAsB,EAAE,qBAAqB;IAE7C,iBAAiB,EAAE,oCAAoC;IACvD,YAAY,EAAE,cAAc;IAC5B,uBAAuB,EAAE,sBAAsB;IAC/C,cAAc,EAAE,kEAAkE;CACnF,CAAC"}
@@ -16,6 +16,7 @@ export const BUTTON_KIND = {
16
16
  INFO: 'info',
17
17
  SUCCES: 'success',
18
18
  };
19
+ export const BUTTON_GLYPHS = BaseIcon.ICONS;
19
20
  const ButtonComponent = (props) => {
20
21
  const { className = '', outline = false, solid = false, active = false, kind = 'default', size = 'medium', radius = '', padding = '', as: Component = ButtonBaseComponent, children = null, Icon = BaseIcon, glyph, rightGlyph, ...restProps } = props;
21
22
  const resolvedPadding = padding || ((outline || solid) && size);
@@ -1 +1 @@
1
- {"version":3,"file":"button.js","sourceRoot":"","sources":["../../../src/ui/button/button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,MAAM,IAAI,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE/D,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,GAAG,MAAM,qBAAqB,CAAC;AAEtC,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;CACN,CAAC;AAEX,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,WAAW;IACtB,KAAK,EAAE,QAAQ;IACf,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,SAAS;CACT,CAAC;AAmBX,MAAM,eAAe,GAAG,CACtB,KAAqF,EACrF,EAAE;IACF,MAAM,EACJ,SAAS,GAAG,EAAE,EACd,OAAO,GAAG,KAAK,EACf,KAAK,GAAG,KAAK,EACb,MAAM,GAAG,KAAK,EACd,IAAI,GAAG,SAAS,EAChB,IAAI,GAAG,QAAQ,EACf,MAAM,GAAG,EAAE,EACX,OAAO,GAAG,EAAE,EACZ,EAAE,EAAE,SAAS,GAAG,mBAAmB,EACnC,QAAQ,GAAG,IAAI,EACf,IAAI,GAAG,QAAQ,EACf,KAAK,EACL,UAAU,EACV,GAAG,SAAS,EACb,GAAG,KAAK,CAAC;IAGV,MAAM,eAAe,GAAG,OAAO,IAAI,CAAC,CAAC,OAAO,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC;IAChE,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,CAAC,OAAO,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC;IAE9D,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC;IAE3F,MAAM,aAAa,GAAG,EAAE,CACtB,GAAG,CAAC,IAAI,EACR,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,EACjB,GAAG,CAAC,YAAY,CAAC,EAEjB,OAAO,IAAI,GAAG,CAAC,OAAO,EACtB,OAAO,IAAI,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC,EAElC,KAAK,IAAI,GAAG,CAAC,KAAK,EAClB,KAAK,IAAI,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,EAE9B,eAAe,IAAI,GAAG,CAAC,OAAO,EAC9B,cAAc,IAAI,GAAG,CAAC,WAAW,cAAc,EAAE,CAAC,EAElD,MAAM,IAAI,GAAG,CAAC,MAAM,EACpB,MAAM,IAAI,OAAO,IAAI,GAAG,CAAC,kBAAkB,IAAI,EAAE,CAAC,EAElD,SAAS,CACV,CAAC;IAEF,OAAO,CACL,oBAAC,SAAS,OAAK,SAAS,EAAE,SAAS,EAAE,aAAa;QAC/C,KAAK,IAAI,oBAAC,IAAI,IAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,CAAC,KAAK,GAAI;QACrD,QAAQ,IAAI,8BAAM,SAAS,EAAE,GAAG,CAAC,OAAO,IAAG,QAAQ,CAAQ;QAC3D,UAAU,IAAI,oBAAC,IAAI,IAAC,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,CAAC,KAAK,GAAI,CACtD,CACb,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC"}
1
+ {"version":3,"file":"button.js","sourceRoot":"","sources":["../../../src/ui/button/button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,MAAM,IAAI,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE/D,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,GAAG,MAAM,qBAAqB,CAAC;AAEtC,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;CACN,CAAC;AAEX,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,WAAW;IACtB,KAAK,EAAE,QAAQ;IACf,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,SAAS;CACT,CAAC;AAEX,MAAM,CAAC,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC;AAmB5C,MAAM,eAAe,GAAG,CACtB,KAAqF,EACrF,EAAE;IACF,MAAM,EACJ,SAAS,GAAG,EAAE,EACd,OAAO,GAAG,KAAK,EACf,KAAK,GAAG,KAAK,EACb,MAAM,GAAG,KAAK,EACd,IAAI,GAAG,SAAS,EAChB,IAAI,GAAG,QAAQ,EACf,MAAM,GAAG,EAAE,EACX,OAAO,GAAG,EAAE,EACZ,EAAE,EAAE,SAAS,GAAG,mBAAmB,EACnC,QAAQ,GAAG,IAAI,EACf,IAAI,GAAG,QAAQ,EACf,KAAK,EACL,UAAU,EACV,GAAG,SAAS,EACb,GAAG,KAAK,CAAC;IAGV,MAAM,eAAe,GAAG,OAAO,IAAI,CAAC,CAAC,OAAO,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC;IAChE,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,CAAC,OAAO,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC;IAE9D,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC;IAE3F,MAAM,aAAa,GAAG,EAAE,CACtB,GAAG,CAAC,IAAI,EACR,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,EACjB,GAAG,CAAC,YAAY,CAAC,EAEjB,OAAO,IAAI,GAAG,CAAC,OAAO,EACtB,OAAO,IAAI,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC,EAElC,KAAK,IAAI,GAAG,CAAC,KAAK,EAClB,KAAK,IAAI,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,EAE9B,eAAe,IAAI,GAAG,CAAC,OAAO,EAC9B,cAAc,IAAI,GAAG,CAAC,WAAW,cAAc,EAAE,CAAC,EAElD,MAAM,IAAI,GAAG,CAAC,MAAM,EACpB,MAAM,IAAI,OAAO,IAAI,GAAG,CAAC,kBAAkB,IAAI,EAAE,CAAC,EAElD,SAAS,CACV,CAAC;IAEF,OAAO,CACL,oBAAC,SAAS,OAAK,SAAS,EAAE,SAAS,EAAE,aAAa;QAC/C,KAAK,IAAI,oBAAC,IAAI,IAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,CAAC,KAAK,GAAI;QACrD,QAAQ,IAAI,8BAAM,SAAS,EAAE,GAAG,CAAC,OAAO,IAAG,QAAQ,CAAQ;QAC3D,UAAU,IAAI,oBAAC,IAAI,IAAC,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,CAAC,KAAK,GAAI,CACtD,CACb,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import React, { useCallback, useState } from 'react';
2
2
  import cx from 'classnames';
3
3
  import { useCopyToClipboard } from 'react-use';
4
+ import I18N from '../../i18n';
4
5
  import { Button } from '../button';
5
6
  import { Icon } from '../icon';
6
7
  import { Tooltip } from '../tooltip';
@@ -20,11 +21,6 @@ export const CopyToClipboard = (props) => {
20
21
  setDoneTimeout(done);
21
22
  }, [text, doneTimeout, setDoneTimeout]);
22
23
  const rootClassName = cx(css.root, className, doneTimeout && css.done);
23
- return (React.createElement(Tooltip, { title: doneTimeout ? 'Copied' : 'Copy to clipboard', as: Button, type: "button", onClick: handleOnClick, className: rootClassName, ...restProps },
24
- React.createElement("span", { className: css.wrapper },
25
- children && React.createElement("span", { className: css.content }, children),
26
- React.createElement("span", { className: css.icon },
27
- React.createElement(Icon, { className: css.iconCopy, glyph: Icon.ICONS.CLIPBOARD }),
28
- React.createElement(Icon, { className: css.iconDone, glyph: Icon.ICONS.CLIPBOARD_CHECK })))));
24
+ return (React.createElement(Tooltip, { title: doneTimeout ? I18N.COPY_TO_CLIPBOARD_DONE : I18N.COPY_TO_CLIPBOARD, as: Button, type: "button", rightGlyph: doneTimeout ? Icon.ICONS.CLIPBOARD_CHECK : Icon.ICONS.CLIPBOARD, onClick: handleOnClick, className: rootClassName, ...restProps }, children));
29
25
  };
30
26
  //# sourceMappingURL=copy-to-clipboard.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"copy-to-clipboard.js","sourceRoot":"","sources":["../../../src/ui/copy-to-clipboard/copy-to-clipboard.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACrD,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAE/C,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,GAAG,MAAM,gCAAgC,CAAC;AASjD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAA2B,EAAE,EAAE;IAC7D,MAAM,EAAE,SAAS,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,SAAS,EAAE,GAAG,KAAK,CAAC;IAE/D,MAAM,CAAC,EAAE,eAAe,CAAC,GAAG,kBAAkB,EAAE,CAAC;IACjD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,EAAwC,CAAC;IAEvF,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE;QACrC,IAAI,WAAW,EAAE,CAAC;YAChB,YAAY,CAAC,WAAW,CAAC,CAAC;YAC1B,cAAc,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC;QAED,cAAc,CAAC,IAAI,CAAC,CAAC;QACrB,eAAe,CAAC,IAAI,CAAC,CAAC;QAEtB,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;QAC1D,cAAc,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC;IAExC,MAAM,aAAa,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,WAAW,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;IAEvE,OAAO,CACL,oBAAC,OAAO,IACN,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,mBAAmB,EACnD,EAAE,EAAE,MAAM,EACV,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,aAAa,KACpB,SAAS;QAEb,8BAAM,SAAS,EAAE,GAAG,CAAC,OAAO;YACzB,QAAQ,IAAI,8BAAM,SAAS,EAAE,GAAG,CAAC,OAAO,IAAG,QAAQ,CAAQ;YAC5D,8BAAM,SAAS,EAAE,GAAG,CAAC,IAAI;gBACvB,oBAAC,IAAI,IAAC,SAAS,EAAE,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,GAAI;gBAC9D,oBAAC,IAAI,IAAC,SAAS,EAAE,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,GAAI,CAC/D,CACF,CACC,CACX,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"copy-to-clipboard.js","sourceRoot":"","sources":["../../../src/ui/copy-to-clipboard/copy-to-clipboard.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACrD,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAE/C,OAAO,IAAI,MAAM,YAAY,CAAC;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,GAAG,MAAM,gCAAgC,CAAC;AASjD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAA2B,EAAE,EAAE;IAC7D,MAAM,EAAE,SAAS,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,SAAS,EAAE,GAAG,KAAK,CAAC;IAE/D,MAAM,CAAC,EAAE,eAAe,CAAC,GAAG,kBAAkB,EAAE,CAAC;IACjD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,EAAwC,CAAC;IAEvF,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE;QACrC,IAAI,WAAW,EAAE,CAAC;YAChB,YAAY,CAAC,WAAW,CAAC,CAAC;YAC1B,cAAc,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC;QAED,cAAc,CAAC,IAAI,CAAC,CAAC;QACrB,eAAe,CAAC,IAAI,CAAC,CAAC;QAEtB,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;QAC1D,cAAc,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC;IAExC,MAAM,aAAa,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,WAAW,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;IAEvE,OAAO,CACL,oBAAC,OAAO,IACN,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,EACzE,EAAE,EAAE,MAAM,EACV,IAAI,EAAC,QAAQ,EACb,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAC3E,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,aAAa,KACpB,SAAS,IAEZ,QAAQ,CACD,CACX,CAAC;AACJ,CAAC,CAAC"}
@@ -1,58 +1,15 @@
1
1
  .root {
2
- padding: var(--space-xxxsmall);
3
- }
4
-
5
- .wrapper {
6
- display: flex;
7
- gap: var(--space-xxsmall);
8
- align-items: center;
9
- }
10
-
11
- .content {
12
- flex: 1 1 auto;
13
2
  white-space: nowrap;
14
- line-height: 1.1;
15
- }
16
-
17
- .icon {
18
- flex: 0 0 auto;
19
- position: relative;
20
- width: var(--space-small);
21
- height: var(--space-small);
22
- }
23
-
24
- .iconCopy,
25
- .iconDone {
26
- position: absolute;
27
- top: 0;
28
- left: 0;
29
- }
30
-
31
- .iconCopy {
32
- color: var(--color-text-ultra-light);
33
- }
34
-
35
- .iconDone {
36
- color: var(--color-success);
3
+ /** override tooltip styles */
4
+ color: var(--color-text-ultra-light) !important;
37
5
  }
38
6
 
39
7
  /** done state */
40
- .iconCopy {
41
- opacity: 1;
42
- transition: var(--ui-transition-out);
43
- }
44
-
45
- .iconDone {
46
- opacity: 0;
8
+ .root svg {
47
9
  transition: var(--ui-transition-out);
48
10
  }
49
11
 
50
- .done .iconCopy {
51
- opacity: 0;
52
- transition: var(--ui-transition-in);
53
- }
54
-
55
- .done .iconDone {
56
- opacity: 1;
12
+ .done svg {
13
+ color: var(--color-success);
57
14
  transition: var(--ui-transition-in);
58
15
  }
@@ -0,0 +1,19 @@
1
+ import React from 'react';
2
+ import cx from 'classnames';
3
+ import { Dialog as AriakitDialog, DialogDismiss as AriakitDialogDismiss } from 'ariakit/dialog';
4
+ import { Stack } from '../../layout/stack';
5
+ import { BUTTON_GLYPHS, Button } from '../button';
6
+ import css from './dialog.module.css';
7
+ export { useDialogState } from 'ariakit/dialog';
8
+ export const Dialog = (props) => {
9
+ const { state, className = '', title = '', width = 'medium', center = false, modal = false, children, } = props;
10
+ const rootClassName = cx(css.dialog, width && css[`width--${width}`], center && css.center);
11
+ return (React.createElement(AriakitDialog, { state: state, modal: modal, backdrop: true, backdropProps: {
12
+ className: css.backdrop,
13
+ }, portal: true, className: rootClassName },
14
+ !modal && (React.createElement(AriakitDialogDismiss, { as: Button, glyph: BUTTON_GLYPHS.CLOSE, className: css.headerClose }, null)),
15
+ React.createElement(Stack, { space: "medium" },
16
+ title && (React.createElement("header", { className: css.header }, typeof title === 'string' ? React.createElement("h2", null, title) : title)),
17
+ React.createElement("div", { className: cx(css.content, className) }, children))));
18
+ };
19
+ //# sourceMappingURL=dialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dialog.js","sourceRoot":"","sources":["../../../src/ui/dialog/dialog.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,aAAa,IAAI,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAEhG,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,GAAG,MAAM,qBAAqB,CAAC;AAEtC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAYhD,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,KAAkB,EAAE,EAAE;IAC3C,MAAM,EACJ,KAAK,EACL,SAAS,GAAG,EAAE,EACd,KAAK,GAAG,EAAE,EACV,KAAK,GAAG,QAAQ,EAChB,MAAM,GAAG,KAAK,EACd,KAAK,GAAG,KAAK,EACb,QAAQ,GACT,GAAG,KAAK,CAAC;IAEV,MAAM,aAAa,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,IAAI,GAAG,CAAC,UAAU,KAAK,EAAE,CAAC,EAAE,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;IAE5F,OAAO,CACL,oBAAC,aAAa,IACZ,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,KAAK,EACZ,QAAQ,QACR,aAAa,EAAE;YACb,SAAS,EAAE,GAAG,CAAC,QAAQ;SACxB,EACD,MAAM,QACN,SAAS,EAAE,aAAa;QAEvB,CAAC,KAAK,IAAI,CACT,oBAAC,oBAAoB,IAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,CAAC,WAAW,IAErF,IAAI,CACgB,CACxB;QACD,oBAAC,KAAK,IAAC,KAAK,EAAC,QAAQ;YAClB,KAAK,IAAI,CACR,gCAAQ,SAAS,EAAE,GAAG,CAAC,MAAM,IAC1B,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,gCAAK,KAAK,CAAM,CAAC,CAAC,CAAC,KAAK,CAC9C,CACV;YACD,6BAAK,SAAS,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,IAAG,QAAQ,CAAO,CACtD,CACM,CACjB,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,89 @@
1
+ .backdrop {
2
+ display: flex;
3
+ align-items: center;
4
+ justify-content: center;
5
+ z-index: 99999 !important;
6
+ }
7
+
8
+ .backdrop::before {
9
+ content: ' ';
10
+ position: absolute;
11
+ left: 0;
12
+ top: 0;
13
+ width: 100%;
14
+ height: 100%;
15
+ background: var(--color-backdrop);
16
+ filter:
17
+ }
18
+
19
+ .dialog {
20
+ --dialog-header-height: var(--space-medium);
21
+ --dialog-vspace: var(--space-xsmall);
22
+ --dialog-padding: var(--space-xsmall);
23
+
24
+ width: calc(100vw - 2 * var(--dialog-padding));
25
+ position: relative;
26
+ border-radius: var(--radius-medium);
27
+ padding: var(--dialog-padding);
28
+ background: var(--color-background);
29
+ box-shadow: 0 0 var(--space-medium) var(--color-shadow);
30
+ }
31
+
32
+ .header {
33
+ min-height: var(--dialog-header-height);
34
+ }
35
+
36
+ .header:empty {
37
+ display: none;
38
+ }
39
+
40
+ .headerClose {
41
+ position: absolute;
42
+ right: var(--space-xxsmall);
43
+ top: var(--space-xxsmall);
44
+ padding: var(--space-xxxsmall);
45
+ flex: 0 0 auto;
46
+ color: var(--color-outline-dark);
47
+ }
48
+
49
+ .headerClose:hover,
50
+ .headerClose:focus,
51
+ .headerClose:active {
52
+ color: var(--color-text-ultra-light);
53
+ }
54
+
55
+ .content {
56
+ width: 100%;
57
+ max-height: calc(100vh - 2 * var(--space-medium) - 2 * var(--dialog-padding) - var(--dialog-header-height) - var(--dialog-vspace));
58
+ padding-bottom: 0.3em; /* extra space to compensate for the title line-height and allow to show focus state correctly on buttons */
59
+ overflow: auto;
60
+ }
61
+
62
+ /** Width variation */
63
+ .width--narrow {
64
+ max-width: 360px;
65
+ }
66
+
67
+ .width--medium {
68
+ max-width: 640px;
69
+ }
70
+
71
+ .width--wide {
72
+ max-width: 1024px;
73
+ }
74
+
75
+ .width--extra-wide {
76
+ max-width: calc(var(--max-width) + 2 * var(--space-medium));
77
+ }
78
+
79
+ /** Center variation */
80
+ .center {
81
+ text-align: center;
82
+ }
83
+
84
+ @media (min-width: 768px) {
85
+ .dialog {
86
+ --dialog-vspace: var(--space-medium);
87
+ --dialog-padding: var(--space-large);
88
+ }
89
+ }
@@ -0,0 +1,2 @@
1
+ export * from './dialog';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui/dialog/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC"}
@@ -13,6 +13,7 @@ const ICONS = {
13
13
  COMMIT: 'commit',
14
14
  CLIPBOARD: 'clipboard',
15
15
  CLIPBOARD_CHECK: 'clipboard-check',
16
+ DOWNLOAD: 'download',
16
17
  ERROR: 'error',
17
18
  EXTERNAL_LINK: 'external-link',
18
19
  FILTER: 'filter',
@@ -1 +1 @@
1
- {"version":3,"file":"icon.js","sourceRoot":"","sources":["../../../src/ui/icon/icon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,OAAO,GAAG,MAAM,mBAAmB,CAAC;AAEpC,MAAM,KAAK,GAAG;IACZ,KAAK,EAAE,OAAO;IACd,kBAAkB,EAAE,oBAAoB;IACxC,MAAM,EAAE,OAAO;IACf,YAAY,EAAE,cAAc;IAC5B,UAAU,EAAE,YAAY;IACxB,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,WAAW;IACtB,eAAe,EAAE,iBAAiB;IAClC,KAAK,EAAE,OAAO;IACd,aAAa,EAAE,eAAe;IAC9B,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,MAAM;IACZ,aAAa,EAAE,eAAe;IAC9B,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,SAAS;CACV,CAAC;AAEX,MAAM,IAAI,GAAG;IACX,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;CACN,CAAC;AAUX,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,KAA+C,EAAE,EAAE;IACtE,MAAM,EAAE,SAAS,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,GAAG,MAAM,EAAE,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,SAAS,EAAE,GAAG,KAAK,CAAC;IAElG,OAAO,CACL,oBAAC,SAAS,IAAC,SAAS,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,KAAM,SAAS;QACrE,6BAAK,SAAS,EAAE,GAAG,CAAC,IAAI;YACtB,6BAAK,SAAS,EAAE,IAAI,KAAK,EAAE,GAAI,CAC3B,CACI,CACb,CAAC;AACJ,CAAC,CAAC;AAEF,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AAEnB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;AAC7B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC;AAC/B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;AAC7B,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC"}
1
+ {"version":3,"file":"icon.js","sourceRoot":"","sources":["../../../src/ui/icon/icon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,OAAO,GAAG,MAAM,mBAAmB,CAAC;AAEpC,MAAM,KAAK,GAAG;IACZ,KAAK,EAAE,OAAO;IACd,kBAAkB,EAAE,oBAAoB;IACxC,MAAM,EAAE,OAAO;IACf,YAAY,EAAE,cAAc;IAC5B,UAAU,EAAE,YAAY;IACxB,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,WAAW;IACtB,eAAe,EAAE,iBAAiB;IAClC,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE,OAAO;IACd,aAAa,EAAE,eAAe;IAC9B,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,MAAM;IACZ,aAAa,EAAE,eAAe;IAC9B,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,SAAS;CACV,CAAC;AAEX,MAAM,IAAI,GAAG;IACX,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;CACN,CAAC;AAUX,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,KAA+C,EAAE,EAAE;IACtE,MAAM,EAAE,SAAS,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,GAAG,MAAM,EAAE,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,SAAS,EAAE,GAAG,KAAK,CAAC;IAElG,OAAO,CACL,oBAAC,SAAS,IAAC,SAAS,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,KAAM,SAAS;QACrE,6BAAK,SAAS,EAAE,GAAG,CAAC,IAAI;YACtB,6BAAK,SAAS,EAAE,IAAI,KAAK,EAAE,GAAI,CAC3B,CACI,CACb,CAAC;AACJ,CAAC,CAAC;AAEF,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AAEnB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;AAC7B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC;AAC/B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;AAC7B,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC"}
@@ -3,6 +3,7 @@ export { Button } from './button';
3
3
  export { CopyToClipboard } from './copy-to-clipboard';
4
4
  export { Container } from './container';
5
5
  export { ControlGroup } from './control-group';
6
+ export { Dialog } from './dialog';
6
7
  export { Dropdown } from './dropdown';
7
8
  export { EmptySet } from './empty-set';
8
9
  export { FileName } from './file-name';
@@ -12,9 +13,11 @@ export { Icon } from './icon';
12
13
  export { Input } from './input';
13
14
  export { InputSearch } from './input-search';
14
15
  export { Loader } from './loader';
16
+ export { Markdown } from './markdown';
15
17
  export { Skeleton } from './skeleton';
16
18
  export { Table } from './table';
17
19
  export { Tabs } from './tabs';
18
20
  export { Tag } from './tag';
21
+ export { Textarea } from './textarea';
19
22
  export { Tooltip } from './tooltip';
20
23
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ui/index.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ui/index.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './markdown';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui/markdown/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
@@ -0,0 +1,10 @@
1
+ import React, { useMemo } from 'react';
2
+ import cx from 'classnames';
3
+ import snarkdown from 'snarkdown';
4
+ import css from './markdown.module.css';
5
+ export const Markdown = (props) => {
6
+ const { className = '', content = '', as: Component = 'div', ...restProps } = props;
7
+ const html = useMemo(() => snarkdown(content), [content]);
8
+ return (React.createElement(Component, { className: cx(css.root, className), ...restProps, dangerouslySetInnerHTML: { __html: html } }));
9
+ };
10
+ //# sourceMappingURL=markdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../../src/ui/markdown/markdown.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAA+B,OAAO,EAAE,MAAM,OAAO,CAAC;AACpE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,SAAS,MAAM,WAAW,CAAC;AAElC,OAAO,GAAG,MAAM,uBAAuB,CAAC;AAOxC,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,KAAoB,EAAE,EAAE;IAC/C,MAAM,EAAE,SAAS,GAAG,EAAE,EAAE,OAAO,GAAG,EAAE,EAAE,EAAE,EAAE,SAAS,GAAG,KAAK,EAAE,GAAG,SAAS,EAAE,GAAG,KAAK,CAAC;IAEpF,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAE1D,OAAO,CACL,oBAAC,SAAS,IACR,SAAS,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,KAC9B,SAAS,EACb,uBAAuB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GACzC,CACH,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ .root code {
2
+ padding: 2px var(--space-xxxsmall);
3
+ background: var(--color-highlight);
4
+ outline: 1px solid var(--color-outline);
5
+ border-radius: var(--radius-small);
6
+ color: var(--color-text);
7
+ }
@@ -1,6 +1,6 @@
1
1
  .root {
2
- background: linear-gradient(transparent 10%, currentColor 10.1%, currentColor 89.9%, transparent 90%);
3
- opacity: 0.05;
2
+ background: var(--skeleton-inline-background);
3
+ opacity: var(--skeleton-opacity);
4
4
  pointer-events: none;
5
5
  min-width: 6em;
6
6
  border-radius: var(--radius-medium);
@@ -14,5 +14,5 @@
14
14
  }
15
15
 
16
16
  .block {
17
- background: currentColor;
17
+ background: var(--skeleton-block-background);
18
18
  }
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import cx from 'classnames';
4
4
  import css from './tabs.module.css';
5
- const Item = ({ isTabActive, as: Component, className, ...restProps }) => (React.createElement(Component, { className: cx(css.item, className, isTabActive && css.itemActive), ...restProps }));
5
+ const Item = ({ isTabActive, as: Component = 'span', className = '', ...restProps }) => (React.createElement(Component, { className: cx(css.item, className, isTabActive && css.itemActive), ...restProps }));
6
6
  Item.defaultProps = {
7
7
  isTabActive: false,
8
8
  className: '',
@@ -13,7 +13,7 @@ Item.propTypes = {
13
13
  className: PropTypes.string,
14
14
  as: PropTypes.elementType,
15
15
  };
16
- export const Tabs = ({ className, ...restProps }) => (React.createElement("nav", { className: cx(css.root, className), ...restProps }));
16
+ export const Tabs = ({ className = '', ...restProps }) => (React.createElement("nav", { className: cx(css.root, className), ...restProps }));
17
17
  Tabs.defaultProps = {
18
18
  className: '',
19
19
  };
@@ -1 +1 @@
1
- {"version":3,"file":"tabs.js","sourceRoot":"","sources":["../../../src/ui/tabs/tabs.jsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,OAAO,GAAG,MAAM,mBAAmB,CAAC;AAEpC,MAAM,IAAI,GAAG,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,SAAS,EAAE,SAAS,EAAC,GAAG,SAAS,EAAE,EAAE,EAAE,CAAC,CACvE,oBAAC,SAAS,IAAC,SAAS,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,WAAW,IAAI,GAAG,CAAC,UAAU,CAAC,KAAM,SAAS,GAAI,CAChG,CAAC;AAEF,IAAI,CAAC,YAAY,GAAG;IAClB,WAAW,EAAE,KAAK;IAClB,SAAS,EAAE,EAAE;IACb,EAAE,EAAE,MAAM;CACX,CAAC;AAEF,IAAI,CAAC,SAAS,GAAG;IACf,WAAW,EAAE,SAAS,CAAC,IAAI;IAC3B,SAAS,EAAE,SAAS,CAAC,MAAM;IAC3B,EAAE,EAAE,SAAS,CAAC,WAAW;CAC1B,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,EAAE,EAAE,CAAC,CACnD,6BAAK,SAAS,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,KAAM,SAAS,GAAI,CAC3D,CAAC;AAEF,IAAI,CAAC,YAAY,GAAG;IAClB,SAAS,EAAE,EAAE;CACd,CAAC;AAEF,IAAI,CAAC,SAAS,GAAG;IAEf,SAAS,EAAE,SAAS,CAAC,MAAM;IAG3B,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,UAAU;CACpC,CAAC;AAEF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC"}
1
+ {"version":3,"file":"tabs.js","sourceRoot":"","sources":["../../../src/ui/tabs/tabs.jsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,OAAO,GAAG,MAAM,mBAAmB,CAAC;AAEpC,MAAM,IAAI,GAAG,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,SAAS,GAAG,MAAM,EAAE,SAAS,GAAG,EAAE,EAAE,GAAG,SAAS,EAAE,EAAE,EAAE,CAAC,CACtF,oBAAC,SAAS,IAAC,SAAS,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,WAAW,IAAI,GAAG,CAAC,UAAU,CAAC,KAAM,SAAS,GAAI,CAChG,CAAC;AAEF,IAAI,CAAC,YAAY,GAAG;IAClB,WAAW,EAAE,KAAK;IAClB,SAAS,EAAE,EAAE;IACb,EAAE,EAAE,MAAM;CACX,CAAC;AAEF,IAAI,CAAC,SAAS,GAAG;IACf,WAAW,EAAE,SAAS,CAAC,IAAI;IAC3B,SAAS,EAAE,SAAS,CAAC,MAAM;IAC3B,EAAE,EAAE,SAAS,CAAC,WAAW;CAC1B,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,EAAE,SAAS,GAAG,EAAE,EAAE,GAAG,SAAS,EAAE,EAAE,EAAE,CAAC,CACxD,6BAAK,SAAS,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,KAAM,SAAS,GAAI,CAC3D,CAAC;AAEF,IAAI,CAAC,YAAY,GAAG;IAClB,SAAS,EAAE,EAAE;CACd,CAAC;AAEF,IAAI,CAAC,SAAS,GAAG;IAEf,SAAS,EAAE,SAAS,CAAC,MAAM;IAG3B,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,UAAU;CACpC,CAAC;AAEF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC"}
@@ -10,6 +10,7 @@
10
10
  color: var(--color-text-ultra-light);
11
11
  font-weight: bold;
12
12
  text-decoration: none;
13
+ cursor: default;
13
14
  }
14
15
 
15
16
  .item::after {
@@ -0,0 +1,2 @@
1
+ export * from './textarea';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui/textarea/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}