@revikornmann/muka-ui 0.19.0 → 0.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (124) hide show
  1. package/dist/cjs/components/ActionSheet/ActionSheet.css +4 -4
  2. package/dist/cjs/components/BottomBar/BottomBar.css +0 -3
  3. package/dist/cjs/components/Breadcrumb/Breadcrumb.css +26 -2
  4. package/dist/cjs/components/Combobox/Combobox.css +2 -2
  5. package/dist/cjs/components/ContextSelect/ContextSelect.css +4 -4
  6. package/dist/cjs/components/DocumentViewer/DocumentToolbar.js +1 -1
  7. package/dist/cjs/components/DocumentViewer/DocumentToolbar.js.map +1 -1
  8. package/dist/cjs/components/DocumentViewer/DocumentViewer.css +2 -2
  9. package/dist/cjs/components/DropdownSelect/DropdownSelect.css +3 -3
  10. package/dist/cjs/components/EmptyState/EmptyState.css +8 -8
  11. package/dist/cjs/components/FAB/FAB.css +1 -1
  12. package/dist/cjs/components/FileUpload/FileUpload.css +10 -10
  13. package/dist/cjs/components/Icon/Icon.js +17 -7
  14. package/dist/cjs/components/Icon/Icon.js.map +1 -1
  15. package/dist/cjs/components/Icon/iconRegistry.js +143 -111
  16. package/dist/cjs/components/Icon/iconRegistry.js.map +1 -1
  17. package/dist/cjs/components/Icon/index.js +4 -1
  18. package/dist/cjs/components/Icon/index.js.map +1 -1
  19. package/dist/cjs/components/Input/Input.css +2 -2
  20. package/dist/cjs/components/Label/Label.css +1 -1
  21. package/dist/cjs/components/LicensePlateInput/LicensePlateInput.css +1 -1
  22. package/dist/cjs/components/Menu/Menu.css +1 -1
  23. package/dist/cjs/components/Pagination/Pagination.css +15 -15
  24. package/dist/cjs/components/PhotoUploader/PhotoUploader.css +4 -4
  25. package/dist/cjs/components/ProgressAccordeon/ProgressAccordeon.css +10 -6
  26. package/dist/cjs/components/ProgressAccordeon/ProgressAccordeon.js +27 -16
  27. package/dist/cjs/components/ProgressAccordeon/ProgressAccordeon.js.map +1 -1
  28. package/dist/cjs/components/SearchInput/SearchInput.css +4 -4
  29. package/dist/cjs/components/Select/Select.css +2 -2
  30. package/dist/cjs/components/SmsOtpField/SmsOtpField.css +2 -2
  31. package/dist/cjs/components/SpecList/SpecList.css +8 -8
  32. package/dist/cjs/components/Spinner/Spinner.css +1 -1
  33. package/dist/cjs/components/SwipeActions/SwipeActions.css +6 -6
  34. package/dist/cjs/components/Table/Table.css +3 -3
  35. package/dist/cjs/components/Table/TablePagination.css +1 -1
  36. package/dist/cjs/components/Tabs/Tabs.css +6 -6
  37. package/dist/cjs/components/Textarea/Textarea.css +2 -2
  38. package/dist/cjs/components/Waveform/Waveform.css +1 -1
  39. package/dist/cjs/components/index.js +5 -3
  40. package/dist/cjs/components/index.js.map +1 -1
  41. package/dist/esm/components/ActionSheet/ActionSheet.css +4 -4
  42. package/dist/esm/components/BottomBar/BottomBar.css +0 -3
  43. package/dist/esm/components/Breadcrumb/Breadcrumb.css +26 -2
  44. package/dist/esm/components/Combobox/Combobox.css +2 -2
  45. package/dist/esm/components/ContextSelect/ContextSelect.css +4 -4
  46. package/dist/esm/components/DocumentViewer/DocumentToolbar.js +1 -1
  47. package/dist/esm/components/DocumentViewer/DocumentToolbar.js.map +1 -1
  48. package/dist/esm/components/DocumentViewer/DocumentViewer.css +2 -2
  49. package/dist/esm/components/DropdownSelect/DropdownSelect.css +3 -3
  50. package/dist/esm/components/EmptyState/EmptyState.css +8 -8
  51. package/dist/esm/components/FAB/FAB.css +1 -1
  52. package/dist/esm/components/FileUpload/FileUpload.css +10 -10
  53. package/dist/esm/components/Icon/Icon.js +14 -7
  54. package/dist/esm/components/Icon/Icon.js.map +1 -1
  55. package/dist/esm/components/Icon/iconRegistry.js +141 -78
  56. package/dist/esm/components/Icon/iconRegistry.js.map +1 -1
  57. package/dist/esm/components/Icon/index.js +1 -1
  58. package/dist/esm/components/Icon/index.js.map +1 -1
  59. package/dist/esm/components/Input/Input.css +2 -2
  60. package/dist/esm/components/Label/Label.css +1 -1
  61. package/dist/esm/components/LicensePlateInput/LicensePlateInput.css +1 -1
  62. package/dist/esm/components/Menu/Menu.css +1 -1
  63. package/dist/esm/components/Pagination/Pagination.css +15 -15
  64. package/dist/esm/components/PhotoUploader/PhotoUploader.css +4 -4
  65. package/dist/esm/components/ProgressAccordeon/ProgressAccordeon.css +10 -6
  66. package/dist/esm/components/ProgressAccordeon/ProgressAccordeon.js +27 -16
  67. package/dist/esm/components/ProgressAccordeon/ProgressAccordeon.js.map +1 -1
  68. package/dist/esm/components/SearchInput/SearchInput.css +4 -4
  69. package/dist/esm/components/Select/Select.css +2 -2
  70. package/dist/esm/components/SmsOtpField/SmsOtpField.css +2 -2
  71. package/dist/esm/components/SpecList/SpecList.css +8 -8
  72. package/dist/esm/components/Spinner/Spinner.css +1 -1
  73. package/dist/esm/components/SwipeActions/SwipeActions.css +6 -6
  74. package/dist/esm/components/Table/Table.css +3 -3
  75. package/dist/esm/components/Table/TablePagination.css +1 -1
  76. package/dist/esm/components/Tabs/Tabs.css +6 -6
  77. package/dist/esm/components/Textarea/Textarea.css +2 -2
  78. package/dist/esm/components/Waveform/Waveform.css +1 -1
  79. package/dist/esm/components/index.js +1 -1
  80. package/dist/esm/components/index.js.map +1 -1
  81. package/dist/styles/components/ActionSheet.css +4 -4
  82. package/dist/styles/components/BottomBar.css +0 -3
  83. package/dist/styles/components/Breadcrumb.css +26 -2
  84. package/dist/styles/components/Combobox.css +2 -2
  85. package/dist/styles/components/ContextSelect.css +4 -4
  86. package/dist/styles/components/DocumentViewer.css +2 -2
  87. package/dist/styles/components/DropdownSelect.css +3 -3
  88. package/dist/styles/components/EmptyState.css +8 -8
  89. package/dist/styles/components/FAB.css +1 -1
  90. package/dist/styles/components/FileUpload.css +10 -10
  91. package/dist/styles/components/Input.css +2 -2
  92. package/dist/styles/components/Label.css +1 -1
  93. package/dist/styles/components/LicensePlateInput.css +1 -1
  94. package/dist/styles/components/Menu.css +1 -1
  95. package/dist/styles/components/Pagination.css +15 -15
  96. package/dist/styles/components/PhotoUploader.css +4 -4
  97. package/dist/styles/components/ProgressAccordeon.css +10 -6
  98. package/dist/styles/components/SearchInput.css +4 -4
  99. package/dist/styles/components/Select.css +2 -2
  100. package/dist/styles/components/SmsOtpField.css +2 -2
  101. package/dist/styles/components/SpecList.css +8 -8
  102. package/dist/styles/components/Spinner.css +1 -1
  103. package/dist/styles/components/SwipeActions.css +6 -6
  104. package/dist/styles/components/Table.css +3 -3
  105. package/dist/styles/components/Tabs.css +6 -6
  106. package/dist/styles/components/Textarea.css +2 -2
  107. package/dist/styles/components/Waveform.css +1 -1
  108. package/dist/styles/index.css +1253 -1228
  109. package/dist/styles/muka-dark.css +1253 -1228
  110. package/dist/styles/muka-light.css +1253 -1228
  111. package/dist/styles/wireframe-dark.css +1253 -1228
  112. package/dist/styles/wireframe-light.css +1253 -1228
  113. package/dist/types/components/Icon/Icon.d.ts +20 -7
  114. package/dist/types/components/Icon/Icon.d.ts.map +1 -1
  115. package/dist/types/components/Icon/iconRegistry.d.ts +109 -14
  116. package/dist/types/components/Icon/iconRegistry.d.ts.map +1 -1
  117. package/dist/types/components/Icon/index.d.ts +1 -1
  118. package/dist/types/components/Icon/index.d.ts.map +1 -1
  119. package/dist/types/components/ProgressAccordeon/ProgressAccordeon.d.ts +17 -12
  120. package/dist/types/components/ProgressAccordeon/ProgressAccordeon.d.ts.map +1 -1
  121. package/dist/types/components/index.d.ts +1 -1
  122. package/dist/types/components/index.d.ts.map +1 -1
  123. package/package.json +3 -1
  124. package/skills/figma-to-code/SKILL.md +17 -2
@@ -56,10 +56,10 @@
56
56
  cursor: pointer;
57
57
  text-align: left;
58
58
  color: var(--color-text-default-default);
59
- font-family: var(--text-body-md-regular-fontFamily);
60
- font-weight: var(--text-body-md-regular-fontWeight);
61
- font-size: var(--text-body-md-regular-fontSize);
62
- line-height: var(--text-body-md-regular-lineHeight);
59
+ font-family: var(--text-body-base-regular-fontFamily);
60
+ font-weight: var(--text-body-base-regular-fontWeight);
61
+ font-size: var(--text-body-base-regular-fontSize);
62
+ line-height: var(--text-body-base-regular-lineHeight);
63
63
  -webkit-tap-highlight-color: transparent;
64
64
  transition: background-color 0.12s ease;
65
65
  }
@@ -141,7 +141,6 @@
141
141
  font-weight: var(--text-label-sm-regular-fontWeight);
142
142
  font-size: var(--text-label-sm-regular-fontSize);
143
143
  line-height: var(--text-label-sm-regular-lineHeight);
144
- letter-spacing: var(--text-label-sm-regular-letterSpacing);
145
144
  }
146
145
 
147
146
  /* ─── Floating modifier ───────────────────────────────── */
@@ -227,7 +226,6 @@
227
226
  font-weight: var(--text-label-md-regular-fontWeight);
228
227
  font-size: var(--text-label-md-regular-fontSize);
229
228
  line-height: var(--text-label-md-regular-lineHeight);
230
- letter-spacing: var(--text-label-md-regular-letterSpacing);
231
229
  }
232
230
 
233
231
  /* When floating and sidebar, remove the floating card styles */
@@ -292,7 +290,6 @@
292
290
  font-weight: var(--text-label-md-regular-fontWeight);
293
291
  font-size: var(--text-label-md-regular-fontSize);
294
292
  line-height: var(--text-label-md-regular-lineHeight);
295
- letter-spacing: var(--text-label-md-regular-letterSpacing);
296
293
  }
297
294
 
298
295
  /* When floating and topnav, remove the floating card styles */
@@ -16,19 +16,36 @@
16
16
  gap: var(--spacing-1);
17
17
  }
18
18
 
19
+ .muka-breadcrumb__item:has(.muka-breadcrumb__icon) {
20
+ padding-left: var(--spacing-1);
21
+ }
22
+
19
23
  .muka-breadcrumb__icon {
20
24
  display: inline-flex;
21
25
  align-items: center;
22
26
  color: var(--color-text-subtle-default);
23
27
  }
24
28
 
29
+ .muka-breadcrumb__icon .muka-icon {
30
+ color: inherit;
31
+ }
32
+
33
+ .muka-breadcrumb__item:has(.muka-breadcrumb__current) .muka-breadcrumb__icon {
34
+ color: var(--color-text-default-default);
35
+ }
36
+
37
+ .muka-breadcrumb__item:has(.muka-breadcrumb__link:hover) .muka-breadcrumb__icon {
38
+ color: var(--color-text-action-default);
39
+ }
40
+
25
41
  /* Link styles */
26
42
  .muka-breadcrumb__link {
27
43
  color: var(--color-text-subtle-default);
28
44
  text-decoration: none;
29
45
  border: none;
30
46
  background: none;
31
- padding: 0;
47
+ padding-inline: var(--spacing-2);
48
+ padding-block: 0;
32
49
  cursor: pointer;
33
50
  font: inherit;
34
51
  transition: color 0.15s ease;
@@ -39,10 +56,17 @@
39
56
  text-decoration: underline;
40
57
  }
41
58
 
42
- /* Current page (last item) */
59
+ /* Tighter gap after leading icon */
60
+ .muka-breadcrumb__item:has(.muka-breadcrumb__icon) .muka-breadcrumb__link,
61
+ .muka-breadcrumb__item:has(.muka-breadcrumb__icon) .muka-breadcrumb__current {
62
+ padding-left: var(--spacing-1);
63
+ }
64
+
65
+ /* Current page (last item, no context switcher) */
43
66
  .muka-breadcrumb__current {
44
67
  color: var(--color-text-default-default);
45
68
  font-weight: 600;
69
+ padding-inline: var(--spacing-2);
46
70
  }
47
71
 
48
72
  /* Separator */
@@ -84,7 +84,7 @@
84
84
  }
85
85
 
86
86
  .muka-combobox__field--error:not(.muka-combobox__field--disabled) {
87
- border-color: var(--color-state-error-border, var(--color-state-error-foreground));
87
+ border-color: var(--color-state-error-contrast);
88
88
  }
89
89
 
90
90
  .muka-combobox__field--disabled {
@@ -141,7 +141,7 @@
141
141
 
142
142
  .muka-combobox__error {
143
143
  margin: 0;
144
- color: var(--color-state-error-foreground);
144
+ color: var(--color-state-error-default);
145
145
  font-family: var(--text-label-sm-regular-fontFamily);
146
146
  font-size: var(--text-label-sm-regular-fontSize);
147
147
  font-weight: var(--text-label-sm-regular-fontWeight);
@@ -71,10 +71,10 @@
71
71
  }
72
72
 
73
73
  .muka-context-select__label {
74
- font-family: var(--text-label-sm-regular-font-family);
75
- font-size: var(--text-label-sm-regular-font-size);
76
- font-weight: var(--text-label-sm-regular-font-weight);
77
- line-height: var(--text-label-sm-regular-line-height);
74
+ font-family: var(--text-label-sm-regular-fontFamily);
75
+ font-size: var(--text-label-sm-regular-fontSize);
76
+ font-weight: var(--text-label-sm-regular-fontWeight);
77
+ line-height: var(--text-label-sm-regular-lineHeight);
78
78
  white-space: nowrap;
79
79
  }
80
80
 
@@ -52,7 +52,7 @@ export const DocumentToolbar = ({ currentPage, totalPages, zoom, onPageChange, o
52
52
  setPageInput(currentPage.toString());
53
53
  }, [currentPage]);
54
54
  const zoomPercentage = Math.round(zoom * 100);
55
- return (_jsxs("div", { className: "muka-documentviewer__toolbar", role: "toolbar", "aria-label": "Document controls", children: [_jsxs("div", { className: "muka-documentviewer__toolbar-section", children: [_jsx(Button, { variant: "ghost", size: "sm", iconOnly: true, onClick: handlePrevPage, disabled: currentPage <= 1, "aria-label": "Previous page", children: _jsx(Icon, { name: "RiArrowLeftSLine" }) }), _jsxs("div", { className: "muka-documentviewer__page-input", children: [_jsx("input", { type: "text", className: "muka-documentviewer__page-number", value: pageInput, onChange: handlePageInputChange, onBlur: handlePageInputBlur, onKeyDown: handlePageInputKeyDown, "aria-label": "Current page", size: 3 }), _jsxs("span", { className: "muka-documentviewer__page-total", children: ["/ ", totalPages] })] }), _jsx(Button, { variant: "ghost", size: "sm", iconOnly: true, onClick: handleNextPage, disabled: currentPage >= totalPages, "aria-label": "Next page", children: _jsx(Icon, { name: "RiArrowRightSLine" }) })] }), _jsxs("div", { className: "muka-documentviewer__toolbar-section muka-documentviewer__toolbar-section--center", children: [_jsx(Button, { variant: "ghost", size: "sm", iconOnly: true, onClick: handleZoomOut, disabled: zoom <= 0.25, "aria-label": "Zoom out", children: _jsx(Icon, { name: "RiZoomOutLine" }) }), _jsxs("button", { className: "muka-documentviewer__zoom-display", onClick: handleResetZoom, "aria-label": `Zoom level ${zoomPercentage}%, click to reset to 100%`, children: [zoomPercentage, "%"] }), _jsx(Button, { variant: "ghost", size: "sm", iconOnly: true, onClick: handleZoomIn, disabled: zoom >= 5, "aria-label": "Zoom in", children: _jsx(Icon, { name: "RiZoomInLine" }) })] }), _jsxs("div", { className: "muka-documentviewer__toolbar-section muka-documentviewer__toolbar-section--end", children: [onDownload && (_jsx(Button, { variant: "ghost", size: "sm", iconOnly: true, onClick: onDownload, "aria-label": "Download document", children: _jsx(Icon, { name: "RiDownloadLine" }) })), onPrint && (_jsx(Button, { variant: "ghost", size: "sm", iconOnly: true, onClick: onPrint, "aria-label": "Print document", children: _jsx(Icon, { name: "RiPrinterLine" }) })), onFullscreen && (_jsx(Button, { variant: "ghost", size: "sm", iconOnly: true, onClick: onFullscreen, "aria-label": "Toggle fullscreen", children: _jsx(Icon, { name: "RiFullscreenLine" }) }))] })] }));
55
+ return (_jsxs("div", { className: "muka-documentviewer__toolbar", role: "toolbar", "aria-label": "Document controls", children: [_jsxs("div", { className: "muka-documentviewer__toolbar-section", children: [_jsx(Button, { variant: "ghost", size: "sm", iconOnly: true, onClick: handlePrevPage, disabled: currentPage <= 1, "aria-label": "Previous page", children: _jsx(Icon, { name: "arrow-left-s" }) }), _jsxs("div", { className: "muka-documentviewer__page-input", children: [_jsx("input", { type: "text", className: "muka-documentviewer__page-number", value: pageInput, onChange: handlePageInputChange, onBlur: handlePageInputBlur, onKeyDown: handlePageInputKeyDown, "aria-label": "Current page", size: 3 }), _jsxs("span", { className: "muka-documentviewer__page-total", children: ["/ ", totalPages] })] }), _jsx(Button, { variant: "ghost", size: "sm", iconOnly: true, onClick: handleNextPage, disabled: currentPage >= totalPages, "aria-label": "Next page", children: _jsx(Icon, { name: "arrow-right-s" }) })] }), _jsxs("div", { className: "muka-documentviewer__toolbar-section muka-documentviewer__toolbar-section--center", children: [_jsx(Button, { variant: "ghost", size: "sm", iconOnly: true, onClick: handleZoomOut, disabled: zoom <= 0.25, "aria-label": "Zoom out", children: _jsx(Icon, { name: "zoom-out" }) }), _jsxs("button", { className: "muka-documentviewer__zoom-display", onClick: handleResetZoom, "aria-label": `Zoom level ${zoomPercentage}%, click to reset to 100%`, children: [zoomPercentage, "%"] }), _jsx(Button, { variant: "ghost", size: "sm", iconOnly: true, onClick: handleZoomIn, disabled: zoom >= 5, "aria-label": "Zoom in", children: _jsx(Icon, { name: "zoom-in" }) })] }), _jsxs("div", { className: "muka-documentviewer__toolbar-section muka-documentviewer__toolbar-section--end", children: [onDownload && (_jsx(Button, { variant: "ghost", size: "sm", iconOnly: true, onClick: onDownload, "aria-label": "Download document", children: _jsx(Icon, { name: "download" }) })), onPrint && (_jsx(Button, { variant: "ghost", size: "sm", iconOnly: true, onClick: onPrint, "aria-label": "Print document", children: _jsx(Icon, { name: "printer" }) })), onFullscreen && (_jsx(Button, { variant: "ghost", size: "sm", iconOnly: true, onClick: onFullscreen, "aria-label": "Toggle fullscreen", children: _jsx(Icon, { name: "fullscreen" }) }))] })] }));
56
56
  };
57
57
  export default DocumentToolbar;
58
58
  //# sourceMappingURL=DocumentToolbar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DocumentToolbar.js","sourceRoot":"","sources":["../../../../components/DocumentViewer/DocumentToolbar.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DocumentToolbar.js","sourceRoot":"","sources":["../../../../components/DocumentViewer/DocumentToolbar.tsx"],"names":[],"mappings":"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"}
@@ -65,7 +65,7 @@
65
65
  line-height: var(--text-label-sm-lineHeight);
66
66
  border: 1px solid var(--color-border-default);
67
67
  border-radius: var(--border-radius-md);
68
- background-color: var(--color-surface-default);
68
+ background-color: var(--color-surface-level0);
69
69
  color: var(--color-text-default-default);
70
70
  }
71
71
 
@@ -210,7 +210,7 @@
210
210
 
211
211
  .muka-documentviewer__thumbnail-label {
212
212
  font-family: var(--alias-font-brand-family);
213
- font-size: var(--text-label-xs-fontSize);
213
+ font-size: var(--text-label-xs-regular-fontSize);
214
214
  color: var(--color-text-default-default);
215
215
  font-weight: var(--alias-font-brand-weight-medium);
216
216
  }
@@ -38,7 +38,7 @@
38
38
  }
39
39
 
40
40
  .muka-dropdown-select__required {
41
- color: var(--color-state-error-foreground);
41
+ color: var(--color-state-error-default);
42
42
  }
43
43
 
44
44
  .muka-dropdown-select__field {
@@ -98,7 +98,7 @@
98
98
  }
99
99
 
100
100
  .muka-dropdown-select__field--error:not(.muka-dropdown-select__field--disabled) {
101
- border-color: var(--color-state-error-border, var(--color-state-error-foreground));
101
+ border-color: var(--color-state-error-contrast);
102
102
  }
103
103
 
104
104
  .muka-dropdown-select__field--disabled {
@@ -213,7 +213,7 @@
213
213
 
214
214
  .muka-dropdown-select__error {
215
215
  margin: 0;
216
- color: var(--color-state-error-foreground);
216
+ color: var(--color-state-error-default);
217
217
  font-family: var(--text-label-sm-regular-fontFamily);
218
218
  font-size: var(--text-label-sm-regular-fontSize);
219
219
  font-weight: var(--text-label-sm-regular-fontWeight);
@@ -80,10 +80,10 @@
80
80
  .muka-emptystate__title {
81
81
  color: var(--emptystate-title-color);
82
82
  margin: 0;
83
- font-family: var(--text-heading-h4-fontFamily);
84
- font-weight: var(--text-heading-h4-fontWeight);
85
- font-size: var(--text-heading-h4-fontSize);
86
- line-height: var(--text-heading-h4-lineHeight);
83
+ font-family: var(--text-heading-sm-fontFamily);
84
+ font-weight: var(--text-heading-sm-fontWeight);
85
+ font-size: var(--text-heading-sm-fontSize);
86
+ line-height: var(--text-heading-sm-lineHeight);
87
87
  }
88
88
 
89
89
  .muka-emptystate--sm .muka-emptystate__title {
@@ -94,10 +94,10 @@
94
94
  }
95
95
 
96
96
  .muka-emptystate--lg .muka-emptystate__title {
97
- font-family: var(--text-heading-h3-fontFamily);
98
- font-weight: var(--text-heading-h3-fontWeight);
99
- font-size: var(--text-heading-h3-fontSize);
100
- line-height: var(--text-heading-h3-lineHeight);
97
+ font-family: var(--text-heading-md-fontFamily);
98
+ font-weight: var(--text-heading-md-fontWeight);
99
+ font-size: var(--text-heading-md-fontSize);
100
+ line-height: var(--text-heading-md-lineHeight);
101
101
  }
102
102
 
103
103
  /* Description */
@@ -38,7 +38,7 @@
38
38
 
39
39
  .muka-fab--primary {
40
40
  background-color: var(--color-action-default);
41
- color: var(--color-text-inverse-default);
41
+ color: var(--color-text-default-inverse);
42
42
  }
43
43
 
44
44
  .muka-fab--primary:hover:not(:disabled) {
@@ -118,10 +118,10 @@
118
118
 
119
119
  /* Text */
120
120
  .muka-fileupload__text {
121
- font-family: var(--text-body-md-regular-fontFamily);
122
- font-size: var(--text-body-md-regular-fontSize);
123
- font-weight: var(--text-body-md-regular-fontWeight);
124
- line-height: var(--text-body-md-regular-lineHeight);
121
+ font-family: var(--text-body-base-regular-fontFamily);
122
+ font-size: var(--text-body-base-regular-fontSize);
123
+ font-weight: var(--text-body-base-regular-fontWeight);
124
+ line-height: var(--text-body-base-regular-lineHeight);
125
125
  color: var(--color-text-default-default);
126
126
  }
127
127
 
@@ -204,10 +204,10 @@
204
204
  }
205
205
 
206
206
  .muka-fileupload-item__name {
207
- font-family: var(--text-body-sm-medium-fontFamily);
208
- font-size: var(--text-body-sm-medium-fontSize);
209
- font-weight: var(--text-body-sm-medium-fontWeight);
210
- line-height: var(--text-body-sm-medium-lineHeight);
207
+ font-family: var(--text-body-sm-regular-fontFamily);
208
+ font-size: var(--text-body-sm-regular-fontSize);
209
+ font-weight: var(--text-body-sm-regular-fontWeight);
210
+ line-height: var(--text-body-sm-regular-lineHeight);
211
211
  color: var(--fileupload-item-color-default-foreground);
212
212
  white-space: nowrap;
213
213
  overflow: hidden;
@@ -243,11 +243,11 @@
243
243
  }
244
244
 
245
245
  .muka-fileupload-item__status-icon--success {
246
- color: var(--color-state-success-foreground);
246
+ color: var(--fileupload-item-color-success-foreground);
247
247
  }
248
248
 
249
249
  .muka-fileupload-item__status-icon--error {
250
- color: var(--color-state-error-foreground);
250
+ color: var(--fileupload-item-color-error-foreground);
251
251
  }
252
252
 
253
253
  .muka-fileupload-item__remove {
@@ -1,17 +1,21 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import './Icon.css';
3
- import { getIconComponent } from './iconRegistry';
3
+ import { getIconComponent, } from './iconRegistry';
4
+ export { registerIcon, listRegisteredIcons, iconRegistry, } from './iconRegistry';
4
5
  /**
5
6
  * Icon Component
6
7
  *
7
8
  * Wrapper that enforces consistent sizing and color inheritance.
8
- * Supports two modes: name (RemixIcon from registry) or children (custom SVG).
9
- * Provide exactly one of name or children.
9
+ *
10
+ * Three ways to supply a glyph:
11
+ * 1. `name` — curated muka registry (Tier 1 / Tier 2)
12
+ * 2. `icon` — pass a Remix component (`import { RiWifiOffLine } from '@remixicon/react'`)
13
+ * 3. `children` — any custom SVG / node
10
14
  *
11
15
  * Tokens used:
12
16
  * - icon.size.{xs|sm|default|lg}
13
17
  */
14
- export const Icon = ({ name, variant = 'line', children, size = 'md', colorVariant, color, label, className = '', ...props }) => {
18
+ export const Icon = ({ name, icon: IconGlyph, variant = 'line', children, size = 'md', colorVariant, color, label, className = '', ...props }) => {
15
19
  const iconClasses = [
16
20
  'muka-icon',
17
21
  `muka-icon--${size}`,
@@ -19,9 +23,12 @@ export const Icon = ({ name, variant = 'line', children, size = 'md', colorVaria
19
23
  className,
20
24
  ].filter(Boolean).join(' ');
21
25
  let content;
22
- if (name) {
23
- const IconComponent = getIconComponent(name, variant);
24
- content = _jsx(IconComponent, {});
26
+ if (IconGlyph) {
27
+ content = _jsx(IconGlyph, {});
28
+ }
29
+ else if (name) {
30
+ const NamedIcon = getIconComponent(name, variant);
31
+ content = _jsx(NamedIcon, {});
25
32
  }
26
33
  else if (children !== undefined && children !== null) {
27
34
  content = children;
@@ -1 +1 @@
1
- {"version":3,"file":"Icon.js","sourceRoot":"","sources":["../../../../components/Icon/Icon.tsx"],"names":[],"mappings":";AACA,OAAO,YAAY,CAAC;AACpB,OAAO,EAAE,gBAAgB,EAAiB,MAAM,gBAAgB,CAAC;AA8BjE;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,IAAI,GAAwB,CAAC,EACxC,IAAI,EACJ,OAAO,GAAG,MAAM,EAChB,QAAQ,EACR,IAAI,GAAG,IAAI,EACX,YAAY,EACZ,KAAK,EACL,KAAK,EACL,SAAS,GAAG,EAAE,EACd,GAAG,KAAK,EACT,EAAE,EAAE;IACH,MAAM,WAAW,GAAG;QAClB,WAAW;QACX,cAAc,IAAI,EAAE;QACpB,YAAY,IAAI,YAAY,KAAK,SAAS,IAAI,cAAc,YAAY,EAAE;QAC1E,SAAS;KACV,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAE5B,IAAI,OAAwB,CAAC;IAC7B,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,aAAa,GAAG,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACtD,OAAO,GAAG,KAAC,aAAa,KAAG,CAAC;IAC9B,CAAC;SAAM,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACvD,OAAO,GAAG,QAAQ,CAAC;IACrB,CAAC;SAAM,CAAC;QACN,OAAO,GAAG,IAAI,CAAC;IACjB,CAAC;IAED,OAAO,CACL,eACE,SAAS,EAAE,WAAW,EACtB,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,EACpC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,cAAc,gBACxB,KAAK,iBACJ,CAAC,KAAK,KACf,KAAK,YAER,OAAO,GACH,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"Icon.js","sourceRoot":"","sources":["../../../../components/Icon/Icon.tsx"],"names":[],"mappings":";AACA,OAAO,YAAY,CAAC;AACpB,OAAO,EACL,gBAAgB,GAGjB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,YAAY,GAEb,MAAM,gBAAgB,CAAC;AAsCxB;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,IAAI,GAAwB,CAAC,EACxC,IAAI,EACJ,IAAI,EAAE,SAAS,EACf,OAAO,GAAG,MAAM,EAChB,QAAQ,EACR,IAAI,GAAG,IAAI,EACX,YAAY,EACZ,KAAK,EACL,KAAK,EACL,SAAS,GAAG,EAAE,EACd,GAAG,KAAK,EACT,EAAE,EAAE;IACH,MAAM,WAAW,GAAG;QAClB,WAAW;QACX,cAAc,IAAI,EAAE;QACpB,YAAY,IAAI,YAAY,KAAK,SAAS,IAAI,cAAc,YAAY,EAAE;QAC1E,SAAS;KACV,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAE5B,IAAI,OAAwB,CAAC;IAC7B,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,GAAG,KAAC,SAAS,KAAG,CAAC;IAC1B,CAAC;SAAM,IAAI,IAAI,EAAE,CAAC;QAChB,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAClD,OAAO,GAAG,KAAC,SAAS,KAAG,CAAC;IAC1B,CAAC;SAAM,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACvD,OAAO,GAAG,QAAQ,CAAC;IACrB,CAAC;SAAM,CAAC;QACN,OAAO,GAAG,IAAI,CAAC;IACjB,CAAC;IAED,OAAO,CACL,eACE,SAAS,EAAE,WAAW,EACtB,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,EACpC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,cAAc,gBACxB,KAAK,iBACJ,CAAC,KAAK,KACf,KAAK,YAER,OAAO,GACH,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,IAAI,CAAC"}
@@ -1,94 +1,157 @@
1
- import * as RemixIcons from '@remixicon/react';
1
+ import { RiAddFill, RiAddLine, RiAlertFill, RiAlertLine, RiArrowDownFill, RiArrowDownLine, RiArrowDownSFill, RiArrowDownSLine, RiArrowLeftFill, RiArrowLeftLine, RiArrowLeftSFill, RiArrowLeftSLine, RiArrowRightFill, RiArrowRightLine, RiArrowRightSFill, RiArrowRightSLine, RiArrowUpSFill, RiArrowUpSLine, RiAttachmentFill, RiAttachmentLine, RiBellFill, RiBellLine, RiBuildingFill, RiBuildingLine, RiCheckFill, RiCheckLine, RiCheckboxCircleFill, RiCheckboxCircleLine, RiCloseFill, RiCloseLargeFill, RiCloseLargeLine, RiCloseLine, RiContrastFill, RiContrastLine, RiDeleteBinFill, RiDeleteBinLine, RiDownloadFill, RiDownloadLine, RiEditFill, RiEditLine, RiEmotionHappyFill, RiEmotionHappyLine, RiErrorWarningFill, RiErrorWarningLine, RiEyeFill, RiEyeLine, RiEyeOffFill, RiEyeOffLine, RiFileCopyFill, RiFileCopyLine, RiFileFill, RiFileLine, RiFilePdfFill, RiFilePdfLine, RiFileTextFill, RiFileTextLine, RiFilter3Fill, RiFilter3Line, RiFullscreenFill, RiFullscreenLine, RiGoogleFill, RiGoogleLine, RiHome4Fill, RiHome4Line, RiHomeFill, RiHomeLine, RiImageFill, RiImageLine, RiInformationFill, RiInformationLine, RiLockFill, RiLockLine, RiMailFill, RiMailLine, RiMicFill, RiMicLine, RiMoonFill, RiMoonLine, RiMore2Fill, RiMore2Line, RiPauseCircleFill, RiPauseCircleLine, RiPauseFill, RiPauseLine, RiPencilFill, RiPencilLine, RiPlayFill, RiPlayLine, RiPrinterFill, RiPrinterLine, RiRestartFill, RiRestartLine, RiSearchFill, RiSearchLine, RiSendPlane2Fill, RiSendPlane2Line, RiSettings3Fill, RiSettings3Line, RiSettingsFill, RiSettingsLine, RiShareFill, RiShareLine, RiSortAsc, RiSortDesc, RiThumbDownFill, RiThumbDownLine, RiThumbUpFill, RiThumbUpLine, RiTranslate, RiTranslate2, RiUpload2Fill, RiUpload2Line, RiUploadFill, RiUploadLine, RiUserFill, RiUserLine, RiWifiOffFill, RiWifiOffLine, RiZoomInLine, RiZoomOutLine, } from '@remixicon/react';
2
2
  import { ArrowDropUpDownIcon } from './custom/ArrowDropUpDownIcon';
3
3
  import { ArrowReturnIcon } from './custom/ArrowReturnIcon';
4
- /**
5
- * Convert PascalCase to kebab-case
6
- * e.g., "ArrowLeftS" -> "arrow-left-s"
7
- */
8
- function toKebabCase(str) {
9
- return str
10
- .replace(/([a-z0-9])([A-Z])/g, '$1-$2')
11
- .replace(/([A-Z])([A-Z][a-z])/g, '$1-$2')
12
- .toLowerCase();
13
- }
14
4
  const NullComponent = function NullIcon() {
15
5
  return null;
16
6
  };
7
+ function entry(line, fill = line, tier = 1) {
8
+ return { line, fill, tier };
9
+ }
17
10
  /**
18
- * Auto-generated registry of all RemixIcon components.
19
- * Icons are keyed by kebab-case name (e.g., "arrow-left", "delete-bin-2", "more-2").
11
+ * Curated RemixIcon registry (Tier 1 + Tier 2).
20
12
  *
21
- * Usage: <Icon name="arrow-left" variant="line" />
13
+ * - Tier 1: glyphs Muka production components hardcode via `name=`
14
+ * - Tier 2: shared shell chrome most consumer apps need via `name=`
22
15
  *
23
- * Note: This includes all ~2,800 RemixIcons for development convenience.
24
- * Before production release, consider trimming to only used icons for smaller bundles.
16
+ * App/domain icons: use `<Icon icon={Ri…} />` or `registerIcon` — do not expand
17
+ * this map for one-off Figma glyphs (keeps consumer bundles small).
25
18
  */
26
- export const iconRegistry = {};
27
- // Build registry from all RemixIcon exports
28
- // Pattern: Ri{Name}Line, Ri{Name}Fill, or Ri{Name} (single-variant)
29
- const iconExports = RemixIcons;
30
- const exportNames = Object.keys(iconExports);
31
- for (let i = 0; i < exportNames.length; i++) {
32
- const exportName = exportNames[i];
33
- const Component = iconExports[exportName];
34
- if (!exportName.startsWith('Ri'))
35
- continue;
36
- if (typeof Component !== 'function')
37
- continue;
38
- const isLine = exportName.endsWith('Line');
39
- const isFill = exportName.endsWith('Fill');
40
- let baseName;
41
- if (isLine || isFill) {
42
- // Extract name: "RiArrowLeftLine" -> "ArrowLeft"
43
- baseName = exportName.slice(2, -4);
44
- }
45
- else {
46
- // Single-variant icon: "RiSortDesc" -> "SortDesc"
47
- baseName = exportName.slice(2);
48
- }
49
- const kebabName = toKebabCase(baseName);
50
- if (!iconRegistry[kebabName]) {
51
- iconRegistry[kebabName] = {
52
- line: NullComponent,
53
- fill: NullComponent,
54
- };
55
- }
56
- if (isLine) {
57
- iconRegistry[kebabName].line = Component;
58
- }
59
- else if (isFill) {
60
- iconRegistry[kebabName].fill = Component;
61
- }
62
- else {
63
- // Single-variant icons use the same component for both
64
- iconRegistry[kebabName].line = Component;
65
- iconRegistry[kebabName].fill = Component;
66
- }
19
+ const canonicalRegistry = {
20
+ // ── Tier 1: required by Muka components ──────────────────────────────────
21
+ add: entry(RiAddLine, RiAddFill, 1),
22
+ alert: entry(RiAlertLine, RiAlertFill, 1),
23
+ 'arrow-down': entry(RiArrowDownLine, RiArrowDownFill, 1),
24
+ 'arrow-down-s': entry(RiArrowDownSLine, RiArrowDownSFill, 1),
25
+ 'arrow-drop-up-down': entry(ArrowDropUpDownIcon, ArrowDropUpDownIcon, 1),
26
+ 'arrow-left': entry(RiArrowLeftLine, RiArrowLeftFill, 1),
27
+ 'arrow-left-s': entry(RiArrowLeftSLine, RiArrowLeftSFill, 1),
28
+ 'arrow-return': entry(ArrowReturnIcon, ArrowReturnIcon, 1),
29
+ 'arrow-right': entry(RiArrowRightLine, RiArrowRightFill, 1),
30
+ 'arrow-right-s': entry(RiArrowRightSLine, RiArrowRightSFill, 1),
31
+ 'arrow-up-s': entry(RiArrowUpSLine, RiArrowUpSFill, 1),
32
+ attachment: entry(RiAttachmentLine, RiAttachmentFill, 1),
33
+ check: entry(RiCheckLine, RiCheckFill, 1),
34
+ 'checkbox-circle': entry(RiCheckboxCircleLine, RiCheckboxCircleFill, 1),
35
+ close: entry(RiCloseLine, RiCloseFill, 1),
36
+ 'delete-bin': entry(RiDeleteBinLine, RiDeleteBinFill, 1),
37
+ download: entry(RiDownloadLine, RiDownloadFill, 1),
38
+ 'emotion-happy': entry(RiEmotionHappyLine, RiEmotionHappyFill, 1),
39
+ 'error-warning': entry(RiErrorWarningLine, RiErrorWarningFill, 1),
40
+ file: entry(RiFileLine, RiFileFill, 1),
41
+ 'file-copy': entry(RiFileCopyLine, RiFileCopyFill, 1),
42
+ 'file-pdf': entry(RiFilePdfLine, RiFilePdfFill, 1),
43
+ 'file-text': entry(RiFileTextLine, RiFileTextFill, 1),
44
+ 'filter-3': entry(RiFilter3Line, RiFilter3Fill, 1),
45
+ fullscreen: entry(RiFullscreenLine, RiFullscreenFill, 1),
46
+ image: entry(RiImageLine, RiImageFill, 1),
47
+ information: entry(RiInformationLine, RiInformationFill, 1),
48
+ mic: entry(RiMicLine, RiMicFill, 1),
49
+ pause: entry(RiPauseLine, RiPauseFill, 1),
50
+ 'pause-circle': entry(RiPauseCircleLine, RiPauseCircleFill, 1),
51
+ pencil: entry(RiPencilLine, RiPencilFill, 1),
52
+ play: entry(RiPlayLine, RiPlayFill, 1),
53
+ printer: entry(RiPrinterLine, RiPrinterFill, 1),
54
+ restart: entry(RiRestartLine, RiRestartFill, 1),
55
+ search: entry(RiSearchLine, RiSearchFill, 1),
56
+ 'send-plane2': entry(RiSendPlane2Line, RiSendPlane2Fill, 1),
57
+ 'sort-asc': entry(RiSortAsc, RiSortAsc, 1),
58
+ 'sort-desc': entry(RiSortDesc, RiSortDesc, 1),
59
+ 'thumb-down': entry(RiThumbDownLine, RiThumbDownFill, 1),
60
+ 'thumb-up': entry(RiThumbUpLine, RiThumbUpFill, 1),
61
+ 'zoom-in': entry(RiZoomInLine, RiZoomInLine, 1),
62
+ 'zoom-out': entry(RiZoomOutLine, RiZoomOutLine, 1),
63
+ // ── Tier 2: common consumer chrome ───────────────────────────────────────
64
+ bell: entry(RiBellLine, RiBellFill, 2),
65
+ building: entry(RiBuildingLine, RiBuildingFill, 2),
66
+ 'close-large': entry(RiCloseLargeLine, RiCloseLargeFill, 2),
67
+ contrast: entry(RiContrastLine, RiContrastFill, 2),
68
+ edit: entry(RiEditLine, RiEditFill, 2),
69
+ eye: entry(RiEyeLine, RiEyeFill, 2),
70
+ 'eye-off': entry(RiEyeOffLine, RiEyeOffFill, 2),
71
+ google: entry(RiGoogleLine, RiGoogleFill, 2),
72
+ home: entry(RiHomeLine, RiHomeFill, 2),
73
+ 'home-4': entry(RiHome4Line, RiHome4Fill, 2),
74
+ lock: entry(RiLockLine, RiLockFill, 2),
75
+ mail: entry(RiMailLine, RiMailFill, 2),
76
+ moon: entry(RiMoonLine, RiMoonFill, 2),
77
+ 'more-2': entry(RiMore2Line, RiMore2Fill, 2),
78
+ settings: entry(RiSettingsLine, RiSettingsFill, 2),
79
+ 'settings-3': entry(RiSettings3Line, RiSettings3Fill, 2),
80
+ share: entry(RiShareLine, RiShareFill, 2),
81
+ translate: entry(RiTranslate, RiTranslate, 2),
82
+ 'translate-2': entry(RiTranslate2, RiTranslate2, 2),
83
+ upload: entry(RiUploadLine, RiUploadFill, 2),
84
+ 'upload-2': entry(RiUpload2Line, RiUpload2Fill, 2),
85
+ user: entry(RiUserLine, RiUserFill, 2),
86
+ 'wifi-off': entry(RiWifiOffLine, RiWifiOffFill, 2),
87
+ };
88
+ export const iconRegistry = {
89
+ ...canonicalRegistry,
90
+ };
91
+ function alias(from, to) {
92
+ const target = iconRegistry[to];
93
+ if (!target)
94
+ return;
95
+ iconRegistry[from] = { ...target, aliasOf: to };
67
96
  }
68
- // For icons without both variants, use the available one for both
69
- const registryKeys = Object.keys(iconRegistry);
70
- for (let i = 0; i < registryKeys.length; i++) {
71
- const entry = iconRegistry[registryKeys[i]];
72
- if (entry.line === NullComponent && entry.fill !== NullComponent) {
73
- entry.line = entry.fill;
74
- }
75
- else if (entry.fill === NullComponent && entry.line !== NullComponent) {
76
- entry.fill = entry.line;
97
+ // Digit-compact aliases (home-4 → home4)
98
+ for (const key of Object.keys(canonicalRegistry)) {
99
+ const compact = key.replace(/-(\d+)/g, '$1');
100
+ if (compact !== key && !iconRegistry[compact]) {
101
+ alias(compact, key);
77
102
  }
78
103
  }
79
- // Custom icons from Figma that are not a single Remix export
80
- iconRegistry['arrow-drop-up-down'] = {
81
- line: ArrowDropUpDownIcon,
82
- fill: ArrowDropUpDownIcon,
83
- };
84
- iconRegistry['arrow-return'] = {
85
- line: ArrowReturnIcon,
86
- fill: ArrowReturnIcon,
87
- };
104
+ // Compatibility aliases used by consumers / older call sites
105
+ alias('x', 'close');
106
+ alias('chevron-down', 'arrow-down-s');
107
+ alias('filter3', 'filter-3');
108
+ alias('translate2', 'translate-2');
109
+ alias('more2', 'more-2');
110
+ alias('dots-vertical', 'more-2');
88
111
  export function getIconComponent(name, variant) {
89
- const entry = iconRegistry[name];
90
- if (!entry)
112
+ const registryEntry = iconRegistry[name];
113
+ if (!registryEntry)
91
114
  return NullComponent;
92
- return variant === 'fill' ? entry.fill : entry.line;
115
+ return variant === 'fill' ? registryEntry.fill : registryEntry.line;
116
+ }
117
+ /**
118
+ * Register an app-local icon nickname without a muka release.
119
+ * Prefer `<Icon icon={Ri…} />` for one-offs; use this when many call sites
120
+ * need the same string `name=`.
121
+ */
122
+ export function registerIcon(name, registryEntry) {
123
+ iconRegistry[name] = {
124
+ line: registryEntry.line,
125
+ fill: registryEntry.fill,
126
+ tier: registryEntry.tier ?? 2,
127
+ aliasOf: registryEntry.aliasOf,
128
+ };
129
+ }
130
+ /**
131
+ * List icons for Storybook grids / tooling.
132
+ * By default lists only the muka curated set (not runtime `registerIcon` demos)
133
+ * and omits aliases so designers see one primary kebab name per glyph.
134
+ */
135
+ export function listRegisteredIcons(options) {
136
+ const { tier, includeAliases = false, includeRuntime = false } = options ?? {};
137
+ const names = includeRuntime
138
+ ? Object.keys(iconRegistry)
139
+ : Object.keys(canonicalRegistry);
140
+ const result = [];
141
+ for (const name of names.sort()) {
142
+ const registryEntry = iconRegistry[name];
143
+ if (!registryEntry)
144
+ continue;
145
+ if (tier !== undefined && registryEntry.tier !== tier)
146
+ continue;
147
+ if (!includeAliases && registryEntry.aliasOf)
148
+ continue;
149
+ result.push({
150
+ name,
151
+ tier: registryEntry.tier,
152
+ aliasOf: registryEntry.aliasOf,
153
+ });
154
+ }
155
+ return result;
93
156
  }
94
157
  //# sourceMappingURL=iconRegistry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"iconRegistry.js","sourceRoot":"","sources":["../../../../components/Icon/iconRegistry.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAO3D;;;GAGG;AACH,SAAS,WAAW,CAAC,GAAW;IAC9B,OAAO,GAAG;SACP,OAAO,CAAC,oBAAoB,EAAE,OAAO,CAAC;SACtC,OAAO,CAAC,sBAAsB,EAAE,OAAO,CAAC;SACxC,WAAW,EAAE,CAAC;AACnB,CAAC;AAED,MAAM,aAAa,GAAgD,SAAS,QAAQ;IAClF,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,YAAY,GAAsC,EAAE,CAAC;AAElE,4CAA4C;AAC5C,oEAAoE;AACpE,MAAM,WAAW,GAAG,UAAyE,CAAC;AAE9F,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;IAC5C,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;IAClC,MAAM,SAAS,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;IAE1C,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,SAAS;IAC3C,IAAI,OAAO,SAAS,KAAK,UAAU;QAAE,SAAS;IAE9C,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAE3C,IAAI,QAAgB,CAAC;IACrB,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;QACrB,iDAAiD;QACjD,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC;SAAM,CAAC;QACN,kDAAkD;QAClD,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,SAAS,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IAExC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,YAAY,CAAC,SAAS,CAAC,GAAG;YACxB,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,aAAa;SACpB,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACX,YAAY,CAAC,SAAS,CAAC,CAAC,IAAI,GAAG,SAAS,CAAC;IAC3C,CAAC;SAAM,IAAI,MAAM,EAAE,CAAC;QAClB,YAAY,CAAC,SAAS,CAAC,CAAC,IAAI,GAAG,SAAS,CAAC;IAC3C,CAAC;SAAM,CAAC;QACN,uDAAuD;QACvD,YAAY,CAAC,SAAS,CAAC,CAAC,IAAI,GAAG,SAAS,CAAC;QACzC,YAAY,CAAC,SAAS,CAAC,CAAC,IAAI,GAAG,SAAS,CAAC;IAC3C,CAAC;AACH,CAAC;AAED,kEAAkE;AAClE,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;IAC7C,MAAM,KAAK,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;QACjE,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IAC1B,CAAC;SAAM,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;QACxE,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IAC1B,CAAC;AACH,CAAC;AAED,6DAA6D;AAC7D,YAAY,CAAC,oBAAoB,CAAC,GAAG;IACnC,IAAI,EAAE,mBAAmB;IACzB,IAAI,EAAE,mBAAmB;CAC1B,CAAC;AAEF,YAAY,CAAC,cAAc,CAAC,GAAG;IAC7B,IAAI,EAAE,eAAe;IACrB,IAAI,EAAE,eAAe;CACtB,CAAC;AAIF,MAAM,UAAU,gBAAgB,CAC9B,IAAc,EACd,OAAwB;IAExB,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,CAAC,KAAK;QAAE,OAAO,aAAa,CAAC;IACjC,OAAO,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;AACtD,CAAC"}
1
+ {"version":3,"file":"iconRegistry.js","sourceRoot":"","sources":["../../../../components/Icon/iconRegistry.tsx"],"names":[],"mappings":"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"}