@mlola-ui/registry 1.0.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 (177) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +38 -0
  3. package/components/accordion.json +54 -0
  4. package/components/activity-heatmap.json +54 -0
  5. package/components/alert.json +56 -0
  6. package/components/app-shell.json +53 -0
  7. package/components/avatar.json +54 -0
  8. package/components/badge.json +62 -0
  9. package/components/breadcrumb.json +49 -0
  10. package/components/button.json +62 -0
  11. package/components/calendar.json +55 -0
  12. package/components/card.json +53 -0
  13. package/components/carousel.json +52 -0
  14. package/components/checkbox.json +50 -0
  15. package/components/color-picker.json +60 -0
  16. package/components/combobox.json +64 -0
  17. package/components/command-menu.json +64 -0
  18. package/components/context-menu.json +61 -0
  19. package/components/date-picker.json +59 -0
  20. package/components/dropdown-menu.json +51 -0
  21. package/components/dropzone.json +45 -0
  22. package/components/empty-state.json +45 -0
  23. package/components/hover-card.json +59 -0
  24. package/components/input.json +56 -0
  25. package/components/kbd.json +45 -0
  26. package/components/modal.json +63 -0
  27. package/components/number-input.json +58 -0
  28. package/components/otp-input.json +49 -0
  29. package/components/pagination.json +50 -0
  30. package/components/popover.json +58 -0
  31. package/components/priority-icon.json +53 -0
  32. package/components/progress.json +57 -0
  33. package/components/radio-group.json +48 -0
  34. package/components/rating.json +48 -0
  35. package/components/resizable.json +46 -0
  36. package/components/segmented-control.json +51 -0
  37. package/components/select.json +67 -0
  38. package/components/sheet.json +66 -0
  39. package/components/skeleton.json +48 -0
  40. package/components/slider.json +53 -0
  41. package/components/status-icon.json +53 -0
  42. package/components/stepper.json +50 -0
  43. package/components/table.json +53 -0
  44. package/components/tabs.json +54 -0
  45. package/components/tag-input.json +53 -0
  46. package/components/textarea.json +48 -0
  47. package/components/time-picker.json +58 -0
  48. package/components/timeline.json +54 -0
  49. package/components/toast.json +56 -0
  50. package/components/toggle.json +52 -0
  51. package/components/tooltip.json +54 -0
  52. package/components/tour.json +62 -0
  53. package/components/virtual-list.json +54 -0
  54. package/generated/catalog.ts +2037 -0
  55. package/index.json +413 -0
  56. package/package.json +47 -0
  57. package/schema/mlola.config.schema.json +51 -0
  58. package/schema/registry-index.schema.json +116 -0
  59. package/schema/registry-item.schema.json +80 -0
  60. package/snapshot/index.json +2938 -0
  61. package/snapshot/items/components/accordion.json +54 -0
  62. package/snapshot/items/components/activity-heatmap.json +54 -0
  63. package/snapshot/items/components/alert.json +56 -0
  64. package/snapshot/items/components/app-shell.json +53 -0
  65. package/snapshot/items/components/avatar.json +54 -0
  66. package/snapshot/items/components/badge.json +62 -0
  67. package/snapshot/items/components/breadcrumb.json +49 -0
  68. package/snapshot/items/components/button.json +62 -0
  69. package/snapshot/items/components/calendar.json +55 -0
  70. package/snapshot/items/components/card.json +53 -0
  71. package/snapshot/items/components/carousel.json +52 -0
  72. package/snapshot/items/components/checkbox.json +50 -0
  73. package/snapshot/items/components/color-picker.json +60 -0
  74. package/snapshot/items/components/combobox.json +64 -0
  75. package/snapshot/items/components/command-menu.json +64 -0
  76. package/snapshot/items/components/context-menu.json +61 -0
  77. package/snapshot/items/components/date-picker.json +59 -0
  78. package/snapshot/items/components/dropdown-menu.json +51 -0
  79. package/snapshot/items/components/dropzone.json +45 -0
  80. package/snapshot/items/components/empty-state.json +45 -0
  81. package/snapshot/items/components/hover-card.json +59 -0
  82. package/snapshot/items/components/input.json +56 -0
  83. package/snapshot/items/components/kbd.json +45 -0
  84. package/snapshot/items/components/modal.json +63 -0
  85. package/snapshot/items/components/number-input.json +58 -0
  86. package/snapshot/items/components/otp-input.json +49 -0
  87. package/snapshot/items/components/pagination.json +50 -0
  88. package/snapshot/items/components/popover.json +58 -0
  89. package/snapshot/items/components/priority-icon.json +53 -0
  90. package/snapshot/items/components/progress.json +57 -0
  91. package/snapshot/items/components/radio-group.json +48 -0
  92. package/snapshot/items/components/rating.json +48 -0
  93. package/snapshot/items/components/resizable.json +46 -0
  94. package/snapshot/items/components/segmented-control.json +51 -0
  95. package/snapshot/items/components/select.json +67 -0
  96. package/snapshot/items/components/sheet.json +66 -0
  97. package/snapshot/items/components/skeleton.json +48 -0
  98. package/snapshot/items/components/slider.json +53 -0
  99. package/snapshot/items/components/status-icon.json +53 -0
  100. package/snapshot/items/components/stepper.json +50 -0
  101. package/snapshot/items/components/table.json +53 -0
  102. package/snapshot/items/components/tabs.json +54 -0
  103. package/snapshot/items/components/tag-input.json +53 -0
  104. package/snapshot/items/components/textarea.json +48 -0
  105. package/snapshot/items/components/time-picker.json +58 -0
  106. package/snapshot/items/components/timeline.json +54 -0
  107. package/snapshot/items/components/toast.json +56 -0
  108. package/snapshot/items/components/toggle.json +52 -0
  109. package/snapshot/items/components/tooltip.json +54 -0
  110. package/snapshot/items/components/tour.json +62 -0
  111. package/snapshot/items/components/virtual-list.json +54 -0
  112. package/snapshot/source/packages/components/_internal/anchor.ts +54 -0
  113. package/snapshot/source/packages/components/_internal/dialog.ts +142 -0
  114. package/snapshot/source/packages/components/_internal/floating.ts +73 -0
  115. package/snapshot/source/packages/components/_internal/match.ts +39 -0
  116. package/snapshot/source/packages/components/_internal/react.ts +40 -0
  117. package/snapshot/source/packages/components/_internal/scroll.ts +15 -0
  118. package/snapshot/source/packages/components/accordion/accordion.tsx +164 -0
  119. package/snapshot/source/packages/components/activity-heatmap/activity-heatmap.tsx +204 -0
  120. package/snapshot/source/packages/components/activity-heatmap/calendar.ts +92 -0
  121. package/snapshot/source/packages/components/alert/alert.tsx +83 -0
  122. package/snapshot/source/packages/components/app-shell/app-shell.tsx +186 -0
  123. package/snapshot/source/packages/components/avatar/avatar.tsx +56 -0
  124. package/snapshot/source/packages/components/badge/badge.tsx +39 -0
  125. package/snapshot/source/packages/components/breadcrumb/breadcrumb.tsx +61 -0
  126. package/snapshot/source/packages/components/button/button.tsx +42 -0
  127. package/snapshot/source/packages/components/calendar/calendar.tsx +309 -0
  128. package/snapshot/source/packages/components/calendar/dates.ts +163 -0
  129. package/snapshot/source/packages/components/card/card.tsx +39 -0
  130. package/snapshot/source/packages/components/carousel/carousel.tsx +248 -0
  131. package/snapshot/source/packages/components/checkbox/checkbox.tsx +66 -0
  132. package/snapshot/source/packages/components/color-picker/color-picker.tsx +261 -0
  133. package/snapshot/source/packages/components/color-picker/color.ts +124 -0
  134. package/snapshot/source/packages/components/combobox/combobox.tsx +320 -0
  135. package/snapshot/source/packages/components/command-menu/command-menu.tsx +199 -0
  136. package/snapshot/source/packages/components/context-menu/context-menu.tsx +192 -0
  137. package/snapshot/source/packages/components/date-picker/date-picker.tsx +185 -0
  138. package/snapshot/source/packages/components/dropdown-menu/dropdown-menu.tsx +157 -0
  139. package/snapshot/source/packages/components/dropzone/dropzone.tsx +185 -0
  140. package/snapshot/source/packages/components/empty-state/empty-state.tsx +32 -0
  141. package/snapshot/source/packages/components/hover-card/hover-card.tsx +103 -0
  142. package/snapshot/source/packages/components/input/input.tsx +101 -0
  143. package/snapshot/source/packages/components/kbd/kbd.tsx +54 -0
  144. package/snapshot/source/packages/components/modal/modal.tsx +100 -0
  145. package/snapshot/source/packages/components/number-input/number-input.tsx +184 -0
  146. package/snapshot/source/packages/components/number-input/number.ts +50 -0
  147. package/snapshot/source/packages/components/otp-input/otp-input.tsx +116 -0
  148. package/snapshot/source/packages/components/pagination/pagination.tsx +65 -0
  149. package/snapshot/source/packages/components/popover/popover.tsx +107 -0
  150. package/snapshot/source/packages/components/priority-icon/labels.ts +13 -0
  151. package/snapshot/source/packages/components/priority-icon/priority-icon.tsx +60 -0
  152. package/snapshot/source/packages/components/progress/progress.tsx +110 -0
  153. package/snapshot/source/packages/components/radio-group/radio-group.tsx +106 -0
  154. package/snapshot/source/packages/components/rating/rating.tsx +94 -0
  155. package/snapshot/source/packages/components/resizable/resizable.tsx +171 -0
  156. package/snapshot/source/packages/components/segmented-control/segmented-control.tsx +78 -0
  157. package/snapshot/source/packages/components/select/select.tsx +332 -0
  158. package/snapshot/source/packages/components/sheet/sheet.tsx +109 -0
  159. package/snapshot/source/packages/components/skeleton/skeleton.tsx +84 -0
  160. package/snapshot/source/packages/components/slider/slider.tsx +99 -0
  161. package/snapshot/source/packages/components/status-icon/labels.ts +14 -0
  162. package/snapshot/source/packages/components/status-icon/status-icon.tsx +76 -0
  163. package/snapshot/source/packages/components/stepper/stepper.tsx +87 -0
  164. package/snapshot/source/packages/components/table/table.tsx +66 -0
  165. package/snapshot/source/packages/components/tabs/tabs.tsx +163 -0
  166. package/snapshot/source/packages/components/tag-input/tag-input.tsx +273 -0
  167. package/snapshot/source/packages/components/textarea/textarea.tsx +70 -0
  168. package/snapshot/source/packages/components/time-picker/time-picker.tsx +286 -0
  169. package/snapshot/source/packages/components/time-picker/times.ts +76 -0
  170. package/snapshot/source/packages/components/timeline/timeline.tsx +115 -0
  171. package/snapshot/source/packages/components/toast/toast.tsx +317 -0
  172. package/snapshot/source/packages/components/toggle/toggle.tsx +80 -0
  173. package/snapshot/source/packages/components/tooltip/tooltip.tsx +70 -0
  174. package/snapshot/source/packages/components/tour/tour.tsx +193 -0
  175. package/snapshot/source/packages/components/virtual-list/virtual-list.tsx +121 -0
  176. package/snapshot/source/packages/components/virtual-list/virtual.ts +33 -0
  177. package/snapshot/source-manifest.json +67 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Mlola
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,38 @@
1
+ # @mlola-ui/registry
2
+
3
+ Validated Registry v2 metadata and the deterministic source snapshot that the
4
+ Mlola CLI installs. This is the source of truth for component files, targets,
5
+ dependencies, checksums, and preview loaders.
6
+
7
+ This package ships the **open-source components only**. Blocks, pages, and
8
+ templates are the commercial catalog and are not part of this tarball. Every
9
+ manifest is generated and checked: dependency closure, checksums, and snapshot
10
+ integrity are verified in CI, so the registry cannot describe an item the
11
+ library does not ship.
12
+
13
+ ## Install
14
+
15
+ ```bash
16
+ npm install @mlola-ui/registry
17
+ ```
18
+
19
+ ## Use
20
+
21
+ ```js
22
+ import index from "@mlola-ui/registry/index.json" with { type: "json" };
23
+ import button from "@mlola-ui/registry/items/components/button" with { type: "json" };
24
+
25
+ console.log(index.components, button.files);
26
+ ```
27
+
28
+ ## Exports
29
+
30
+ | Path | What it is |
31
+ | --- | --- |
32
+ | `@mlola-ui/registry` | the snapshot index |
33
+ | `@mlola-ui/registry/index.json` | the v2 index: themes, components, items |
34
+ | `@mlola-ui/registry/items/components/*` | one manifest per component |
35
+ | `@mlola-ui/registry/schema/*` | JSON schemas for the index, items, and project config |
36
+ | `@mlola-ui/registry/generated/catalog` | a flat TypeScript catalog for tools |
37
+
38
+ MIT licensed. Part of [Mlola UI](https://ui.mlola.com).
@@ -0,0 +1,54 @@
1
+ {
2
+ "$schema": "../schema/registry-item.schema.json",
3
+ "schemaVersion": 2,
4
+ "name": "accordion",
5
+ "type": "registry:ui",
6
+ "title": "Accordion",
7
+ "description": "A collapsible content panel supporting single and multiple open modes",
8
+ "category": "layout",
9
+ "variants": [
10
+ "single",
11
+ "multiple"
12
+ ],
13
+ "sizes": [],
14
+ "tags": [
15
+ "interactive",
16
+ "disclosure",
17
+ "layout"
18
+ ],
19
+ "usage": {
20
+ "importPath": "{{aliases.components}}/accordion",
21
+ "exportName": "Accordion",
22
+ "isDefault": false
23
+ },
24
+ "registryDependencies": [],
25
+ "engineDependencies": {
26
+ "@mlola-ui/behavior": "^1.0.0",
27
+ "@mlola-ui/icons": "^1.0.0"
28
+ },
29
+ "files": [
30
+ {
31
+ "path": "packages/components/_internal/react.ts",
32
+ "target": "{{aliases.components}}/_internal/react.ts",
33
+ "type": "registry:ui",
34
+ "integrity": "sha256-SH63/haiB4Q93uFjMIMe5xZbaxENu3VI+GcidV8HELM="
35
+ },
36
+ {
37
+ "path": "packages/components/accordion/accordion.tsx",
38
+ "target": "{{aliases.components}}/accordion.tsx",
39
+ "type": "registry:ui",
40
+ "integrity": "sha256-0ALaLJd1fvj8Vbx86HLBKm3qUItrtwbrGJTykVfNSMg="
41
+ }
42
+ ],
43
+ "themeContract": {
44
+ "attribute": "data-theme",
45
+ "modeAttribute": "data-mode",
46
+ "compatibleThemes": [
47
+ "graphite",
48
+ "atelier",
49
+ "machined",
50
+ "aerogel",
51
+ "nordic"
52
+ ]
53
+ }
54
+ }
@@ -0,0 +1,54 @@
1
+ {
2
+ "$schema": "../schema/registry-item.schema.json",
3
+ "schemaVersion": 2,
4
+ "name": "activity-heatmap",
5
+ "type": "registry:ui",
6
+ "title": "Activity Heatmap",
7
+ "description": "Activity by day in GitHub's calendar grid, with quantile shading, a keyboard grid and hover detail",
8
+ "category": "data",
9
+ "tags": [
10
+ "data",
11
+ "chart",
12
+ "calendar",
13
+ "usage",
14
+ "heatmap"
15
+ ],
16
+ "usage": {
17
+ "importPath": "{{aliases.components}}/activity-heatmap",
18
+ "exportName": "ActivityHeatmap",
19
+ "isDefault": false
20
+ },
21
+ "registryDependencies": [],
22
+ "engineDependencies": {},
23
+ "files": [
24
+ {
25
+ "path": "packages/components/_internal/react.ts",
26
+ "target": "{{aliases.components}}/_internal/react.ts",
27
+ "type": "registry:ui",
28
+ "integrity": "sha256-SH63/haiB4Q93uFjMIMe5xZbaxENu3VI+GcidV8HELM="
29
+ },
30
+ {
31
+ "path": "packages/components/activity-heatmap/activity-heatmap.tsx",
32
+ "target": "{{aliases.components}}/activity-heatmap.tsx",
33
+ "type": "registry:ui",
34
+ "integrity": "sha256-fMGDlXKpOfIOy0hmbpR8hKrbbN3fC386tXK27A21ZwM="
35
+ },
36
+ {
37
+ "path": "packages/components/activity-heatmap/calendar.ts",
38
+ "target": "{{aliases.components}}/activity-heatmap/calendar.ts",
39
+ "type": "registry:ui",
40
+ "integrity": "sha256-NB+AjXY5Xc+KzR8MMTRBgZxdzOeoHhkW0KQOW7WJPuQ="
41
+ }
42
+ ],
43
+ "themeContract": {
44
+ "attribute": "data-theme",
45
+ "modeAttribute": "data-mode",
46
+ "compatibleThemes": [
47
+ "graphite",
48
+ "atelier",
49
+ "machined",
50
+ "aerogel",
51
+ "nordic"
52
+ ]
53
+ }
54
+ }
@@ -0,0 +1,56 @@
1
+ {
2
+ "$schema": "../schema/registry-item.schema.json",
3
+ "schemaVersion": 2,
4
+ "category": "feedback",
5
+ "description": "A status banner with variants, dismiss action, and optional action slot",
6
+ "name": "alert",
7
+ "sizes": [],
8
+ "tags": [
9
+ "status",
10
+ "feedback",
11
+ "banner"
12
+ ],
13
+ "title": "Alert",
14
+ "type": "registry:ui",
15
+ "variants": [
16
+ "default",
17
+ "success",
18
+ "warning",
19
+ "danger",
20
+ "info"
21
+ ],
22
+ "usage": {
23
+ "importPath": "{{aliases.components}}/alert",
24
+ "exportName": "Alert",
25
+ "isDefault": false
26
+ },
27
+ "registryDependencies": [],
28
+ "engineDependencies": {
29
+ "@mlola-ui/icons": "^1.0.0"
30
+ },
31
+ "files": [
32
+ {
33
+ "path": "packages/components/_internal/react.ts",
34
+ "target": "{{aliases.components}}/_internal/react.ts",
35
+ "type": "registry:ui",
36
+ "integrity": "sha256-SH63/haiB4Q93uFjMIMe5xZbaxENu3VI+GcidV8HELM="
37
+ },
38
+ {
39
+ "path": "packages/components/alert/alert.tsx",
40
+ "target": "{{aliases.components}}/alert.tsx",
41
+ "type": "registry:ui",
42
+ "integrity": "sha256-kg//PTcUW7j7AEnhfO/pZFddm++RIo8yKur46OeoeNo="
43
+ }
44
+ ],
45
+ "themeContract": {
46
+ "attribute": "data-theme",
47
+ "modeAttribute": "data-mode",
48
+ "compatibleThemes": [
49
+ "graphite",
50
+ "atelier",
51
+ "machined",
52
+ "aerogel",
53
+ "nordic"
54
+ ]
55
+ }
56
+ }
@@ -0,0 +1,53 @@
1
+ {
2
+ "$schema": "../schema/registry-item.schema.json",
3
+ "schemaVersion": 2,
4
+ "name": "app-shell",
5
+ "type": "registry:ui",
6
+ "title": "App Shell",
7
+ "description": "A resizable, foldable sidebar with sections and items that becomes a drawer on small screens",
8
+ "category": "layout",
9
+ "tags": [
10
+ "app shell",
11
+ "sidebar",
12
+ "navigation",
13
+ "layout",
14
+ "drawer"
15
+ ],
16
+ "usage": {
17
+ "importPath": "{{aliases.components}}/app-shell",
18
+ "exportName": "AppShell",
19
+ "isDefault": false
20
+ },
21
+ "registryDependencies": [
22
+ "resizable",
23
+ "sheet"
24
+ ],
25
+ "engineDependencies": {
26
+ "@mlola-ui/icons": "^1.0.0"
27
+ },
28
+ "files": [
29
+ {
30
+ "path": "packages/components/_internal/react.ts",
31
+ "target": "{{aliases.components}}/_internal/react.ts",
32
+ "type": "registry:ui",
33
+ "integrity": "sha256-SH63/haiB4Q93uFjMIMe5xZbaxENu3VI+GcidV8HELM="
34
+ },
35
+ {
36
+ "path": "packages/components/app-shell/app-shell.tsx",
37
+ "target": "{{aliases.components}}/app-shell.tsx",
38
+ "type": "registry:ui",
39
+ "integrity": "sha256-XAq82XOTH3ZR+hxTkYFu8P7Ih2aI6ERy/TpXc2VMUwM="
40
+ }
41
+ ],
42
+ "themeContract": {
43
+ "attribute": "data-theme",
44
+ "modeAttribute": "data-mode",
45
+ "compatibleThemes": [
46
+ "graphite",
47
+ "atelier",
48
+ "machined",
49
+ "aerogel",
50
+ "nordic"
51
+ ]
52
+ }
53
+ }
@@ -0,0 +1,54 @@
1
+ {
2
+ "$schema": "../schema/registry-item.schema.json",
3
+ "schemaVersion": 2,
4
+ "name": "avatar",
5
+ "type": "registry:ui",
6
+ "title": "Avatar",
7
+ "description": "User avatar with image, initials fallback, and status indicator",
8
+ "category": "data",
9
+ "variants": [],
10
+ "sizes": [
11
+ "xs",
12
+ "sm",
13
+ "md",
14
+ "lg",
15
+ "xl"
16
+ ],
17
+ "tags": [
18
+ "media",
19
+ "user",
20
+ "identity"
21
+ ],
22
+ "usage": {
23
+ "importPath": "{{aliases.components}}/avatar",
24
+ "exportName": "Avatar",
25
+ "isDefault": false
26
+ },
27
+ "registryDependencies": [],
28
+ "engineDependencies": {},
29
+ "files": [
30
+ {
31
+ "path": "packages/components/_internal/react.ts",
32
+ "target": "{{aliases.components}}/_internal/react.ts",
33
+ "type": "registry:ui",
34
+ "integrity": "sha256-SH63/haiB4Q93uFjMIMe5xZbaxENu3VI+GcidV8HELM="
35
+ },
36
+ {
37
+ "path": "packages/components/avatar/avatar.tsx",
38
+ "target": "{{aliases.components}}/avatar.tsx",
39
+ "type": "registry:ui",
40
+ "integrity": "sha256-hvZUGhatN95ZyX6p6NBhTRf6h1/rrJ+bJrqBMtIspq0="
41
+ }
42
+ ],
43
+ "themeContract": {
44
+ "attribute": "data-theme",
45
+ "modeAttribute": "data-mode",
46
+ "compatibleThemes": [
47
+ "graphite",
48
+ "atelier",
49
+ "machined",
50
+ "aerogel",
51
+ "nordic"
52
+ ]
53
+ }
54
+ }
@@ -0,0 +1,62 @@
1
+ {
2
+ "$schema": "../schema/registry-item.schema.json",
3
+ "schemaVersion": 2,
4
+ "name": "badge",
5
+ "type": "registry:ui",
6
+ "title": "Badge",
7
+ "description": "A small status or label badge with color variants, dot indicator, and removal",
8
+ "category": "data",
9
+ "variants": [
10
+ "default",
11
+ "primary",
12
+ "secondary",
13
+ "success",
14
+ "warning",
15
+ "danger",
16
+ "outline"
17
+ ],
18
+ "sizes": [
19
+ "sm",
20
+ "md",
21
+ "lg"
22
+ ],
23
+ "tags": [
24
+ "status",
25
+ "label",
26
+ "indicator"
27
+ ],
28
+ "usage": {
29
+ "importPath": "{{aliases.components}}/badge",
30
+ "exportName": "Badge",
31
+ "isDefault": false
32
+ },
33
+ "registryDependencies": [],
34
+ "engineDependencies": {
35
+ "@mlola-ui/icons": "^1.0.0"
36
+ },
37
+ "files": [
38
+ {
39
+ "path": "packages/components/_internal/react.ts",
40
+ "target": "{{aliases.components}}/_internal/react.ts",
41
+ "type": "registry:ui",
42
+ "integrity": "sha256-SH63/haiB4Q93uFjMIMe5xZbaxENu3VI+GcidV8HELM="
43
+ },
44
+ {
45
+ "path": "packages/components/badge/badge.tsx",
46
+ "target": "{{aliases.components}}/badge.tsx",
47
+ "type": "registry:ui",
48
+ "integrity": "sha256-+mgudoxlPn+mjpQycUfQmv8sC/e/K5FXfXm2+wnH7bI="
49
+ }
50
+ ],
51
+ "themeContract": {
52
+ "attribute": "data-theme",
53
+ "modeAttribute": "data-mode",
54
+ "compatibleThemes": [
55
+ "graphite",
56
+ "atelier",
57
+ "machined",
58
+ "aerogel",
59
+ "nordic"
60
+ ]
61
+ }
62
+ }
@@ -0,0 +1,49 @@
1
+ {
2
+ "$schema": "../schema/registry-item.schema.json",
3
+ "schemaVersion": 2,
4
+ "name": "breadcrumb",
5
+ "type": "registry:ui",
6
+ "title": "Breadcrumb",
7
+ "description": "Navigation breadcrumb trail with custom separators and responsive collapse",
8
+ "category": "navigation",
9
+ "variants": [],
10
+ "sizes": [],
11
+ "tags": [
12
+ "navigation",
13
+ "wayfinding"
14
+ ],
15
+ "usage": {
16
+ "importPath": "{{aliases.components}}/breadcrumb",
17
+ "exportName": "Breadcrumb",
18
+ "isDefault": false
19
+ },
20
+ "registryDependencies": [],
21
+ "engineDependencies": {
22
+ "@mlola-ui/icons": "^1.0.0"
23
+ },
24
+ "files": [
25
+ {
26
+ "path": "packages/components/_internal/react.ts",
27
+ "target": "{{aliases.components}}/_internal/react.ts",
28
+ "type": "registry:ui",
29
+ "integrity": "sha256-SH63/haiB4Q93uFjMIMe5xZbaxENu3VI+GcidV8HELM="
30
+ },
31
+ {
32
+ "path": "packages/components/breadcrumb/breadcrumb.tsx",
33
+ "target": "{{aliases.components}}/breadcrumb.tsx",
34
+ "type": "registry:ui",
35
+ "integrity": "sha256-SiIpg0oAieyoZbMlBwwQDZhR/KVIFLFCLCQJ6vwv7Fs="
36
+ }
37
+ ],
38
+ "themeContract": {
39
+ "attribute": "data-theme",
40
+ "modeAttribute": "data-mode",
41
+ "compatibleThemes": [
42
+ "graphite",
43
+ "atelier",
44
+ "machined",
45
+ "aerogel",
46
+ "nordic"
47
+ ]
48
+ }
49
+ }
@@ -0,0 +1,62 @@
1
+ {
2
+ "$schema": "../schema/registry-item.schema.json",
3
+ "schemaVersion": 2,
4
+ "name": "button",
5
+ "type": "registry:ui",
6
+ "title": "Button",
7
+ "description": "A versatile button component with multiple variants, sizes, and states",
8
+ "category": "actions",
9
+ "variants": [
10
+ "primary",
11
+ "secondary",
12
+ "subtle",
13
+ "danger",
14
+ "outline",
15
+ "link"
16
+ ],
17
+ "sizes": [
18
+ "sm",
19
+ "md",
20
+ "lg",
21
+ "icon"
22
+ ],
23
+ "tags": [
24
+ "interactive",
25
+ "form",
26
+ "navigation"
27
+ ],
28
+ "usage": {
29
+ "importPath": "{{aliases.components}}/button",
30
+ "exportName": "Button",
31
+ "isDefault": false
32
+ },
33
+ "registryDependencies": [],
34
+ "engineDependencies": {
35
+ "@mlola-ui/motion": "^1.0.0"
36
+ },
37
+ "files": [
38
+ {
39
+ "path": "packages/components/_internal/react.ts",
40
+ "target": "{{aliases.components}}/_internal/react.ts",
41
+ "type": "registry:ui",
42
+ "integrity": "sha256-SH63/haiB4Q93uFjMIMe5xZbaxENu3VI+GcidV8HELM="
43
+ },
44
+ {
45
+ "path": "packages/components/button/button.tsx",
46
+ "target": "{{aliases.components}}/button.tsx",
47
+ "type": "registry:ui",
48
+ "integrity": "sha256-khqYxcV3hlZ+Q+cYNTRXEpAfIijDFSvkuDJXMPtlk7g="
49
+ }
50
+ ],
51
+ "themeContract": {
52
+ "attribute": "data-theme",
53
+ "modeAttribute": "data-mode",
54
+ "compatibleThemes": [
55
+ "graphite",
56
+ "atelier",
57
+ "machined",
58
+ "aerogel",
59
+ "nordic"
60
+ ]
61
+ }
62
+ }
@@ -0,0 +1,55 @@
1
+ {
2
+ "$schema": "../schema/registry-item.schema.json",
3
+ "schemaVersion": 2,
4
+ "name": "calendar",
5
+ "type": "registry:ui",
6
+ "title": "Calendar",
7
+ "description": "A month grid for one date, a range or several, with min and max, blocked days, two-month view and full keyboard paging",
8
+ "category": "forms",
9
+ "tags": [
10
+ "date",
11
+ "calendar",
12
+ "range",
13
+ "picker"
14
+ ],
15
+ "usage": {
16
+ "importPath": "{{aliases.components}}/calendar",
17
+ "exportName": "Calendar",
18
+ "isDefault": false
19
+ },
20
+ "registryDependencies": [],
21
+ "engineDependencies": {
22
+ "@mlola-ui/icons": "^1.0.0"
23
+ },
24
+ "files": [
25
+ {
26
+ "path": "packages/components/_internal/react.ts",
27
+ "target": "{{aliases.components}}/_internal/react.ts",
28
+ "type": "registry:ui",
29
+ "integrity": "sha256-SH63/haiB4Q93uFjMIMe5xZbaxENu3VI+GcidV8HELM="
30
+ },
31
+ {
32
+ "path": "packages/components/calendar/calendar.tsx",
33
+ "target": "{{aliases.components}}/calendar.tsx",
34
+ "type": "registry:ui",
35
+ "integrity": "sha256-uE22LI4jpU8ErR/oBmAkeKiu+Rp0bz3IXZVCurycpwc="
36
+ },
37
+ {
38
+ "path": "packages/components/calendar/dates.ts",
39
+ "target": "{{aliases.components}}/calendar/dates.ts",
40
+ "type": "registry:ui",
41
+ "integrity": "sha256-mygYkoC70av2ZQ0vkxf885trwW97Wd10I4dptYQe+4A="
42
+ }
43
+ ],
44
+ "themeContract": {
45
+ "attribute": "data-theme",
46
+ "modeAttribute": "data-mode",
47
+ "compatibleThemes": [
48
+ "graphite",
49
+ "atelier",
50
+ "machined",
51
+ "aerogel",
52
+ "nordic"
53
+ ]
54
+ }
55
+ }
@@ -0,0 +1,53 @@
1
+ {
2
+ "$schema": "../schema/registry-item.schema.json",
3
+ "schemaVersion": 2,
4
+ "name": "card",
5
+ "type": "registry:ui",
6
+ "title": "Card",
7
+ "description": "A compound card with header, content, and footer slots in four surface variants",
8
+ "category": "data",
9
+ "variants": [
10
+ "default",
11
+ "elevated",
12
+ "outline",
13
+ "subtle"
14
+ ],
15
+ "sizes": [],
16
+ "tags": [
17
+ "layout",
18
+ "container",
19
+ "surface"
20
+ ],
21
+ "usage": {
22
+ "importPath": "{{aliases.components}}/card",
23
+ "exportName": "Card",
24
+ "isDefault": false
25
+ },
26
+ "registryDependencies": [],
27
+ "engineDependencies": {},
28
+ "files": [
29
+ {
30
+ "path": "packages/components/_internal/react.ts",
31
+ "target": "{{aliases.components}}/_internal/react.ts",
32
+ "type": "registry:ui",
33
+ "integrity": "sha256-SH63/haiB4Q93uFjMIMe5xZbaxENu3VI+GcidV8HELM="
34
+ },
35
+ {
36
+ "path": "packages/components/card/card.tsx",
37
+ "target": "{{aliases.components}}/card.tsx",
38
+ "type": "registry:ui",
39
+ "integrity": "sha256-aMKbv5DWYYWq7GZAFR9O1fuYE0H61WCjkvEbRMOd894="
40
+ }
41
+ ],
42
+ "themeContract": {
43
+ "attribute": "data-theme",
44
+ "modeAttribute": "data-mode",
45
+ "compatibleThemes": [
46
+ "graphite",
47
+ "atelier",
48
+ "machined",
49
+ "aerogel",
50
+ "nordic"
51
+ ]
52
+ }
53
+ }
@@ -0,0 +1,52 @@
1
+ {
2
+ "$schema": "../schema/registry-item.schema.json",
3
+ "schemaVersion": 2,
4
+ "name": "carousel",
5
+ "type": "registry:ui",
6
+ "title": "Carousel",
7
+ "description": "One slide at a time with previous/next controls and a roving dot group",
8
+ "category": "data",
9
+ "variants": [],
10
+ "sizes": [],
11
+ "tags": [
12
+ "component",
13
+ "carousel",
14
+ "navigation",
15
+ "collection"
16
+ ],
17
+ "usage": {
18
+ "importPath": "{{aliases.components}}/carousel",
19
+ "exportName": "Carousel",
20
+ "isDefault": false
21
+ },
22
+ "registryDependencies": [],
23
+ "engineDependencies": {
24
+ "@mlola-ui/behavior": "^1.0.0",
25
+ "@mlola-ui/icons": "^1.0.0"
26
+ },
27
+ "files": [
28
+ {
29
+ "path": "packages/components/_internal/react.ts",
30
+ "target": "{{aliases.components}}/_internal/react.ts",
31
+ "type": "registry:ui",
32
+ "integrity": "sha256-SH63/haiB4Q93uFjMIMe5xZbaxENu3VI+GcidV8HELM="
33
+ },
34
+ {
35
+ "path": "packages/components/carousel/carousel.tsx",
36
+ "target": "{{aliases.components}}/carousel.tsx",
37
+ "type": "registry:ui",
38
+ "integrity": "sha256-LAPKz9DG9vEBv/8jKjqgH7XiSEERkWWLr4n/Kve1omQ="
39
+ }
40
+ ],
41
+ "themeContract": {
42
+ "attribute": "data-theme",
43
+ "modeAttribute": "data-mode",
44
+ "compatibleThemes": [
45
+ "graphite",
46
+ "atelier",
47
+ "machined",
48
+ "aerogel",
49
+ "nordic"
50
+ ]
51
+ }
52
+ }