@muibook/components 18.0.1 → 18.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -103,7 +103,7 @@
103
103
  },
104
104
  {
105
105
  "kind": "javascript-module",
106
- "path": "src/components/mui-badge/doc.ts",
106
+ "path": "src/components/mui-alert/doc.ts",
107
107
  "declarations": [
108
108
  {
109
109
  "kind": "variable",
@@ -111,7 +111,7 @@
111
111
  "type": {
112
112
  "text": "MuiDocs"
113
113
  },
114
- "default": "{ Badge: { title: \"Badge\", description: \"Badges are non-interactive and indicate counts or statuses.\", hero: [ \"https://images.ctfassets.net/i5uwscj4pkk2/3uhL6lnJTEY4LtVyMA3og5/7844fa7e691b9f97e3c335e1a978e881/Badge_-_Home_Image.png\", ], figma: [ \"https://www.figma.com/design/l0mt1lXu97XoHJCEdnrWLp/Mui-Design-System?node-id=3-1108&t=FSv3FEahG8VQW1FZ-1\", ], storybook: [\"https://stories.muibook.com/?path=/docs/feedback-badge--docs\"], github: [\"https://github.com/michaeltrilford/muibook/blob/main/src/components/mui-badge/index.ts\"], website: [\"https://muibook.com/#/badge\"], guides: [\"https://guides.muibook.com/badge\"], usage: { list: [ \"Show the number of unread notifications E.g. '4' unread messages\", \"Indicate the status of a user E.g. Online, Busy, or Away\", \"Use size variants (xx-small, x-small, small, medium, large) to match surrounding component scale.\", ], }, accessibility: { designerList: [\"\"], engineerList: [\"\"], }, anatomy: { image: \"\", list: [\"\"], }, variants: { items: [ { key: \"default\", title: \"default\", description: \"Used for data that is visually in the foreground.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/3Xgz2qoLs8NACel4fRr9iC/52699b5763f1efd4853a9ffb991b3ff3/badge-default.png\", }, { key: \"positive\", title: \"positive\", description: \"For positive or completed statuses.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/65RMIuUEUIzusbSAwqLQcI/63edb290041c708fc69d0d27fc49e25d/badge-positive.png\", }, { key: \"warning\", title: \"warning\", description: \"For urgent or important statuses.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/5AFfOShVyTEKO1wgIe6rYv/e809c76ddabdfd9789adc31a26becf83/badge-warning.png\", }, { key: \"error\", title: \"error\", description: \"Represents an error, issue or critical state.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/E0jtn7WSTwYligMqSNl0k/c3c041e025c3725682ec12eb3ab98400/badge-error.png\", }, { key: \"overlay\", title: \"overlay\", description: \"For labels placed on media/image surfaces with stronger contrast.\", image: \"\", }, ], }, compositions: { description: \"Showcases actual use cases, demonstrating how the component fits into real-world UI scenarios.\", items: [ { key: \"outcome-based-roadmap\", name: \"Outcome-Based Roadmap\", description: \"Example of an Outcome-Based Roadmap page showing objectives organised into Upcoming, Doing, and Finished columns. Progress bars indicate the completion status of each task, providing a clear view of overall progress.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/3w5htPtfEz7QMCH9alVcwf/de35725fb4542b891bd695b900195291/Outcomes-Progress-Composition.png\", }, { key: \"compliance-dashboard-table\", name: \"Compliance Dashboard Table\", description: \"This example shows a desktop view of a table used within an accounting compliance dashboard.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/3vUKA5C5iJ3LvjLwf2WiO9/274ffe423dbe828244294f6809172ce1/table-composition-compliance-dashboard.png\", }, { key: \"carousel-showcase\", name: \"Carousel Showcase\", description: \"This example from the GuruSuite website demonstrates the carousel used to showcase two of the products on offer.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/2TaRRm351HyujF9mT2w1wH/3958f69e939d20618751742130dc5f06/GuruSuite-Carousel-Composition.png\", }, { key: \"outcomes-roadmap-dashboard\", name: \"Outcomes Roadmap Dashboard\", description: \"Example of the responsive component in the Outcomes Roadmap Dashboard, demonstrating layout, title, and padding adjustments across breakpoints.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/3FsXandRr1Z9BAKv33twxT/b0d0e4a8b6237bf7d38660111bceb8ab/responsive-composition.gif\", }, ], }, related: { items: [ { name: \"Button\", link: \"https://guides.muibook.com/button\", }, { name: \"Link\", link: \"https://guides.muibook.com/link\", }, { name: \"Tab Bar\", link: \"https://guides.muibook.com/tab-bar\", }, ], }, rules: [ { heading: \"\", description: \"\", doContent: [{ description: \"\", image: \"\" }], dontContent: [{ description: \"\", image: \"\" }], }, ], behaviour: { list: [\"\"], }, writing: { list: [\"\"], }, }, }"
114
+ "default": "{ Alert: { title: \"Alert\", description: \"Alerts surface meaningful system messages related to the users' current task or action.\", hero: [ \"https://images.ctfassets.net/i5uwscj4pkk2/7GnGBCbpMF3wyjCDC06hX7/24739b86a907d15400fe8e9e240a9619/Alert_-_Home_Image.png\", ], figma: [ \"https://www.figma.com/design/l0mt1lXu97XoHJCEdnrWLp/Mui-Design-System?node-id=3-4444&t=ZA9uH4LK37tSuk6r-1\", ], guides: [\"https://guides.muibook.com/alert\"], github: [\"https://github.com/michaeltrilford/muibook/blob/main/src/components/mui-alert/index.ts\"], storybook: [\"https://stories.muibook.com/?path=/docs/feedback-alert--docs\"], website: [\"https://muibook.com/#/alert\"], usage: { list: [ \"Success: Confirm completed actions such as form submissions, data saves, or task completion.\", \"Info: For sharing new features, updates, contextual tips, or non-urgent system statuses.\", \"Warning: Alert users to unsaved changes, deprecated features, or risky actions.\", \"Error: Alert users of form validation issues, system failures, or tasks that need attention.\", ], }, accessibility: { designerList: [ \"ARIA-live is built in, using POLITE + ASSERTIVE for screen readers.\", \"The role is set to ALERT for immediate screen reader feedback.\", ], engineerList: [ \"ARIA-live is built in, using POLITE + ASSERTIVE for screen readers.\", \"The role is set to ALERT for immediate screen reader feedback.\", ], }, anatomy: { list: [ \"Preset icon: Communicates the type of alert visually. E.g. info, success, warning, error.\", \"Preset title: Provides a clear, predefined heading that reflects the alert’s purpose.\", \"Customisable text: Allows for specific details or guidance relevant to the situation.\", ], image: \"https://images.ctfassets.net/i5uwscj4pkk2/17j3DxAFlne6rvMi6QUXqZ/aedab2c349c8f8b0a8414b41132cda51/Alert_-_Anatomy.png\", }, variants: { items: [ { key: \"success\", title: \"Success\", description: \"Indicates that an operation or action has been completed successfully. Use this variant for scenarios such as form submissions processed without errors, successful data updates or saves, and confirmations of completed tasks or actions. For accessibility, this variant uses an aria-live value of polite.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/2EbJsP3GZ98WPOiF4PbGh2/bc3e020b37b73f949be745e4e26b6e5a/alert-success.png\", }, { key: \"info\", title: \"Info\", description: \"Provides general information or updates that are helpful but not critical. This variant is used for announcing new features or updates, offering contextual information or tips, and informing users about non-urgent system statuses. For accessibility, it uses an aria-live value of polite.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/1SDh1JVNouysPHylu9lTUj/6793dd8aa854d08045c2159b450b762c/alert-info.png\", }, { key: \"warning\", title: \"Warning\", description: \"Alerts users to potential issues or situations that require caution. Common use cases include notifying about unsaved changes, indicating deprecated features or upcoming changes, and highlighting actions that may have unintended consequences. For accessibility, this variant uses an aria-live value of assertive.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/2zympGRb3wlU5P36FsKWsL/dd9bde33646345e65d5bff505d512e22/alert-warning.png\", }, { key: \"error\", title: \"Error\", description: \"Indicates that an error has occurred, requiring user attention or action. This variant is typically used for form validation errors, system failures or exceptions, and failed operations or transactions. For accessibility, it uses an aria-live value of assertive.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/zOH2Xinum4ZjIv3qp6LJM/180a2306dd624b6bc2fa55c0ad81ea0e/alert-error.png\", }, ], }, compositions: { description: \"Showcases actual use cases, demonstrating how the component fits into real-world UI scenarios.\", items: [ { key: \"ai-playground-error-1\", name: \"AI Playground (Error)\", description: \"Demonstrates the Muiplay AI Playground showing a floating error positioned close to the field where a prompt is required to generate a task.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/40RfRPVAN9dvWO7UFuIiUC/52de3cffd69a5bcc2e457f8de03bb9cf/Play-Alert-Composition.png\", }, { key: \"ai-playground-error-2\", name: \"AI Playground (Error)\", description: \"Demonstrates the Muiplay AI Playground showing a floating error positioned close to the field where a prompt is required to generate a task.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/40RfRPVAN9dvWO7UFuIiUC/52de3cffd69a5bcc2e457f8de03bb9cf/Play-Alert-Composition.png\", }, ], }, related: { items: [ { name: \"Message\", link: \"https://guides.muibook.com/message\" }, { name: \"Link\", link: \"https://guides.muibook.com/link\" }, ], }, rules: [ { heading: \"\", description: \"\", doContent: [ { description: \"\", image: \"\" }, { description: \"\", image: \"\" }, ], dontContent: [{ description: \"\" }, { description: \"\" }], }, ], behaviour: { list: [\"\"], }, writing: { list: [\"\"], }, }, }"
115
115
  }
116
116
  ],
117
117
  "exports": [
@@ -120,29 +120,107 @@
120
120
  "name": "muiDocs",
121
121
  "declaration": {
122
122
  "name": "muiDocs",
123
- "module": "src/components/mui-badge/doc.ts"
123
+ "module": "src/components/mui-alert/doc.ts"
124
124
  }
125
125
  }
126
126
  ]
127
127
  },
128
128
  {
129
129
  "kind": "javascript-module",
130
- "path": "src/components/mui-badge/index.ts",
130
+ "path": "src/components/mui-alert/index.ts",
131
131
  "declarations": [
132
132
  {
133
133
  "kind": "class",
134
134
  "description": "",
135
- "name": "MuiBadge",
135
+ "name": "MuiAlert",
136
136
  "members": [
137
+ {
138
+ "kind": "field",
139
+ "name": "actionSlotListener",
140
+ "type": {
141
+ "text": "(() => void) | null"
142
+ },
143
+ "privacy": "private",
144
+ "default": "null"
145
+ },
146
+ {
147
+ "kind": "field",
148
+ "name": "contentSlotListener",
149
+ "type": {
150
+ "text": "(() => void) | null"
151
+ },
152
+ "privacy": "private",
153
+ "default": "null"
154
+ },
137
155
  {
138
156
  "kind": "method",
139
157
  "name": "render"
158
+ },
159
+ {
160
+ "kind": "method",
161
+ "name": "getAlertSize",
162
+ "privacy": "private",
163
+ "return": {
164
+ "type": {
165
+ "text": "AlertSize"
166
+ }
167
+ }
168
+ },
169
+ {
170
+ "kind": "method",
171
+ "name": "getInlineContentSize",
172
+ "privacy": "private",
173
+ "return": {
174
+ "type": {
175
+ "text": "string"
176
+ }
177
+ },
178
+ "parameters": [
179
+ {
180
+ "name": "size",
181
+ "type": {
182
+ "text": "AlertSize"
183
+ }
184
+ }
185
+ ]
186
+ },
187
+ {
188
+ "kind": "method",
189
+ "name": "getActionControlSize",
190
+ "privacy": "private",
191
+ "return": {
192
+ "type": {
193
+ "text": "string"
194
+ }
195
+ },
196
+ "parameters": [
197
+ {
198
+ "name": "size",
199
+ "type": {
200
+ "text": "AlertSize"
201
+ }
202
+ }
203
+ ]
204
+ },
205
+ {
206
+ "kind": "method",
207
+ "name": "setupActionSlot"
208
+ },
209
+ {
210
+ "kind": "method",
211
+ "name": "setupContentSlot"
140
212
  }
141
213
  ],
142
214
  "attributes": [
143
215
  {
144
216
  "name": "variant"
145
217
  },
218
+ {
219
+ "name": "label"
220
+ },
221
+ {
222
+ "name": "hide-label"
223
+ },
146
224
  {
147
225
  "name": "size"
148
226
  }
@@ -150,24 +228,24 @@
150
228
  "superclass": {
151
229
  "name": "HTMLElement"
152
230
  },
153
- "tagName": "mui-badge",
231
+ "tagName": "mui-alert",
154
232
  "customElement": true
155
233
  }
156
234
  ],
157
235
  "exports": [
158
236
  {
159
237
  "kind": "custom-element-definition",
160
- "name": "mui-badge",
238
+ "name": "mui-alert",
161
239
  "declaration": {
162
- "name": "MuiBadge",
163
- "module": "src/components/mui-badge/index.ts"
240
+ "name": "MuiAlert",
241
+ "module": "src/components/mui-alert/index.ts"
164
242
  }
165
243
  }
166
244
  ]
167
245
  },
168
246
  {
169
247
  "kind": "javascript-module",
170
- "path": "src/components/mui-avatar/doc.ts",
248
+ "path": "src/components/mui-badge/doc.ts",
171
249
  "declarations": [
172
250
  {
173
251
  "kind": "variable",
@@ -175,7 +253,7 @@
175
253
  "type": {
176
254
  "text": "MuiDocs"
177
255
  },
178
- "default": "{ Avatar: { title: \"Avatar\", description: \"Avatar components are used to represent users or entities visually, often through images, initials, or icons.\", hero: [\"https://images.ctfassets.net/i5uwscj4pkk2/2Qj1aPRsHVZZs6eF8XO6XC/54dd3c04d5a0ac379050cfa6f45d9732/Avatar_-_Home_Image.png\"], figma: [ \"https://www.figma.com/design/l0mt1lXu97XoHJCEdnrWLp/Mui-Design-System?node-id=1498-15366&t=2P2nhh7B70fl6xQ4-1\", ], storybook: [\"https://stories.muibook.com/?path=/docs/inputs-avatar--docs\"], github: [\"https://github.com/michaeltrilford/muibook/blob/main/src/components/mui-avatar/index.ts\"], website: [\"https://muibook.com/#/avatar\"], guides: [\"https://guides.muibook.com/avatar\"], usage: { list: [ \"Represent a user or entity visually in lists, chats, comments, or profiles.\", \"Display a profile photo, initials, or icon associated with a person or object.\", \"Use in compact UI elements where space is limited (e.g., tables, cards).\", \"Pair with user metadata (name, role, status) for context.\", \"Indicate presence, status, or selection in collaborative interfaces.\", ], }, accessibility: { designerList: [ \"Avatars should always include an accessible label via the label attribute to ensure screen readers can convey their purpose.\", \"When using images, ensure they are clear and appropriately sized for the avatar component.\", \"For avatars representing users, consider using initials or icons when images are not available to maintain visual consistency.\", ], engineerList: [ \"Avatars should always include an accessible label via the label attribute to ensure screen readers can convey their purpose.\", \"When using images, ensure they are clear and appropriately sized for the avatar component.\", \"For avatars representing users, consider using initials or icons when images are not available to maintain visual consistency.\", ], }, anatomy: { image: \"\", list: [\"\"], }, variants: { items: [ { key: \"\", title: \"\", description: \"\", image: \"\", }, ], }, compositions: { description: \"\", items: [ { key: \"\", name: \"\", description: \"\", image: \"\", }, ], }, related: { items: [ { name: \"\", link: \"\", }, ], }, rules: [ { heading: \"\", description: \"\", doContent: [{ description: \"\", image: \"\" }], dontContent: [{ description: \"\", image: \"\" }], }, ], behaviour: { list: [\"\"], }, writing: { list: [\"\"], }, }, }"
256
+ "default": "{ Badge: { title: \"Badge\", description: \"Badges are non-interactive and indicate counts or statuses.\", hero: [ \"https://images.ctfassets.net/i5uwscj4pkk2/3uhL6lnJTEY4LtVyMA3og5/7844fa7e691b9f97e3c335e1a978e881/Badge_-_Home_Image.png\", ], figma: [ \"https://www.figma.com/design/l0mt1lXu97XoHJCEdnrWLp/Mui-Design-System?node-id=3-1108&t=FSv3FEahG8VQW1FZ-1\", ], storybook: [\"https://stories.muibook.com/?path=/docs/feedback-badge--docs\"], github: [\"https://github.com/michaeltrilford/muibook/blob/main/src/components/mui-badge/index.ts\"], website: [\"https://muibook.com/#/badge\"], guides: [\"https://guides.muibook.com/badge\"], usage: { list: [ \"Show the number of unread notifications E.g. '4' unread messages\", \"Indicate the status of a user – E.g. Online, Busy, or Away\", \"Use size variants (xx-small, x-small, small, medium, large) to match surrounding component scale.\", ], }, accessibility: { designerList: [\"\"], engineerList: [\"\"], }, anatomy: { image: \"\", list: [\"\"], }, variants: { items: [ { key: \"default\", title: \"default\", description: \"Used for data that is visually in the foreground.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/3Xgz2qoLs8NACel4fRr9iC/52699b5763f1efd4853a9ffb991b3ff3/badge-default.png\", }, { key: \"positive\", title: \"positive\", description: \"For positive or completed statuses.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/65RMIuUEUIzusbSAwqLQcI/63edb290041c708fc69d0d27fc49e25d/badge-positive.png\", }, { key: \"warning\", title: \"warning\", description: \"For urgent or important statuses.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/5AFfOShVyTEKO1wgIe6rYv/e809c76ddabdfd9789adc31a26becf83/badge-warning.png\", }, { key: \"error\", title: \"error\", description: \"Represents an error, issue or critical state.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/E0jtn7WSTwYligMqSNl0k/c3c041e025c3725682ec12eb3ab98400/badge-error.png\", }, { key: \"overlay\", title: \"overlay\", description: \"For labels placed on media/image surfaces with stronger contrast.\", image: \"\", }, ], }, compositions: { description: \"Showcases actual use cases, demonstrating how the component fits into real-world UI scenarios.\", items: [ { key: \"outcome-based-roadmap\", name: \"Outcome-Based Roadmap\", description: \"Example of an Outcome-Based Roadmap page showing objectives organised into Upcoming, Doing, and Finished columns. Progress bars indicate the completion status of each task, providing a clear view of overall progress.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/3w5htPtfEz7QMCH9alVcwf/de35725fb4542b891bd695b900195291/Outcomes-Progress-Composition.png\", }, { key: \"compliance-dashboard-table\", name: \"Compliance Dashboard Table\", description: \"This example shows a desktop view of a table used within an accounting compliance dashboard.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/3vUKA5C5iJ3LvjLwf2WiO9/274ffe423dbe828244294f6809172ce1/table-composition-compliance-dashboard.png\", }, { key: \"carousel-showcase\", name: \"Carousel Showcase\", description: \"This example from the GuruSuite website demonstrates the carousel used to showcase two of the products on offer.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/2TaRRm351HyujF9mT2w1wH/3958f69e939d20618751742130dc5f06/GuruSuite-Carousel-Composition.png\", }, { key: \"outcomes-roadmap-dashboard\", name: \"Outcomes Roadmap Dashboard\", description: \"Example of the responsive component in the Outcomes Roadmap Dashboard, demonstrating layout, title, and padding adjustments across breakpoints.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/3FsXandRr1Z9BAKv33twxT/b0d0e4a8b6237bf7d38660111bceb8ab/responsive-composition.gif\", }, ], }, related: { items: [ { name: \"Button\", link: \"https://guides.muibook.com/button\", }, { name: \"Link\", link: \"https://guides.muibook.com/link\", }, { name: \"Tab Bar\", link: \"https://guides.muibook.com/tab-bar\", }, ], }, rules: [ { heading: \"\", description: \"\", doContent: [{ description: \"\", image: \"\" }], dontContent: [{ description: \"\", image: \"\" }], }, ], behaviour: { list: [\"\"], }, writing: { list: [\"\"], }, }, }"
179
257
  }
180
258
  ],
181
259
  "exports": [
@@ -184,48 +262,20 @@
184
262
  "name": "muiDocs",
185
263
  "declaration": {
186
264
  "name": "muiDocs",
187
- "module": "src/components/mui-avatar/doc.ts"
265
+ "module": "src/components/mui-badge/doc.ts"
188
266
  }
189
267
  }
190
268
  ]
191
269
  },
192
270
  {
193
271
  "kind": "javascript-module",
194
- "path": "src/components/mui-avatar/index.ts",
272
+ "path": "src/components/mui-badge/index.ts",
195
273
  "declarations": [
196
274
  {
197
275
  "kind": "class",
198
276
  "description": "",
199
- "name": "MuiAvatar",
277
+ "name": "MuiBadge",
200
278
  "members": [
201
- {
202
- "kind": "field",
203
- "name": "_imageFailed",
204
- "type": {
205
- "text": "boolean | undefined"
206
- },
207
- "privacy": "private"
208
- },
209
- {
210
- "kind": "method",
211
- "name": "hasSlottedContent"
212
- },
213
- {
214
- "kind": "method",
215
- "name": "getInitials",
216
- "parameters": [
217
- {
218
- "name": "label",
219
- "type": {
220
- "text": "string | null"
221
- }
222
- }
223
- ]
224
- },
225
- {
226
- "kind": "method",
227
- "name": "getBackgroundCSS"
228
- },
229
279
  {
230
280
  "kind": "method",
231
281
  "name": "render"
@@ -233,42 +283,33 @@
233
283
  ],
234
284
  "attributes": [
235
285
  {
236
- "name": "label"
237
- },
238
- {
239
- "name": "image"
286
+ "name": "variant"
240
287
  },
241
288
  {
242
289
  "name": "size"
243
- },
244
- {
245
- "name": "background"
246
- },
247
- {
248
- "name": "background-color"
249
290
  }
250
291
  ],
251
292
  "superclass": {
252
293
  "name": "HTMLElement"
253
294
  },
254
- "tagName": "mui-avatar",
295
+ "tagName": "mui-badge",
255
296
  "customElement": true
256
297
  }
257
298
  ],
258
299
  "exports": [
259
300
  {
260
301
  "kind": "custom-element-definition",
261
- "name": "mui-avatar",
302
+ "name": "mui-badge",
262
303
  "declaration": {
263
- "name": "MuiAvatar",
264
- "module": "src/components/mui-avatar/index.ts"
304
+ "name": "MuiBadge",
305
+ "module": "src/components/mui-badge/index.ts"
265
306
  }
266
307
  }
267
308
  ]
268
309
  },
269
310
  {
270
311
  "kind": "javascript-module",
271
- "path": "src/components/mui-alert/doc.ts",
312
+ "path": "src/components/mui-avatar/doc.ts",
272
313
  "declarations": [
273
314
  {
274
315
  "kind": "variable",
@@ -276,7 +317,7 @@
276
317
  "type": {
277
318
  "text": "MuiDocs"
278
319
  },
279
- "default": "{ Alert: { title: \"Alert\", description: \"Alerts surface meaningful system messages related to the users' current task or action.\", hero: [ \"https://images.ctfassets.net/i5uwscj4pkk2/7GnGBCbpMF3wyjCDC06hX7/24739b86a907d15400fe8e9e240a9619/Alert_-_Home_Image.png\", ], figma: [ \"https://www.figma.com/design/l0mt1lXu97XoHJCEdnrWLp/Mui-Design-System?node-id=3-4444&t=ZA9uH4LK37tSuk6r-1\", ], guides: [\"https://guides.muibook.com/alert\"], github: [\"https://github.com/michaeltrilford/muibook/blob/main/src/components/mui-alert/index.ts\"], storybook: [\"https://stories.muibook.com/?path=/docs/feedback-alert--docs\"], website: [\"https://muibook.com/#/alert\"], usage: { list: [ \"Success: Confirm completed actions such as form submissions, data saves, or task completion.\", \"Info: For sharing new features, updates, contextual tips, or non-urgent system statuses.\", \"Warning: Alert users to unsaved changes, deprecated features, or risky actions.\", \"Error: Alert users of form validation issues, system failures, or tasks that need attention.\", ], }, accessibility: { designerList: [ \"ARIA-live is built in, using POLITE + ASSERTIVE for screen readers.\", \"The role is set to ALERT for immediate screen reader feedback.\", ], engineerList: [ \"ARIA-live is built in, using POLITE + ASSERTIVE for screen readers.\", \"The role is set to ALERT for immediate screen reader feedback.\", ], }, anatomy: { list: [ \"Preset icon: Communicates the type of alert visually. E.g. info, success, warning, error.\", \"Preset title: Provides a clear, predefined heading that reflects the alert’s purpose.\", \"Customisable text: Allows for specific details or guidance relevant to the situation.\", ], image: \"https://images.ctfassets.net/i5uwscj4pkk2/17j3DxAFlne6rvMi6QUXqZ/aedab2c349c8f8b0a8414b41132cda51/Alert_-_Anatomy.png\", }, variants: { items: [ { key: \"success\", title: \"Success\", description: \"Indicates that an operation or action has been completed successfully. Use this variant for scenarios such as form submissions processed without errors, successful data updates or saves, and confirmations of completed tasks or actions. For accessibility, this variant uses an aria-live value of polite.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/2EbJsP3GZ98WPOiF4PbGh2/bc3e020b37b73f949be745e4e26b6e5a/alert-success.png\", }, { key: \"info\", title: \"Info\", description: \"Provides general information or updates that are helpful but not critical. This variant is used for announcing new features or updates, offering contextual information or tips, and informing users about non-urgent system statuses. For accessibility, it uses an aria-live value of polite.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/1SDh1JVNouysPHylu9lTUj/6793dd8aa854d08045c2159b450b762c/alert-info.png\", }, { key: \"warning\", title: \"Warning\", description: \"Alerts users to potential issues or situations that require caution. Common use cases include notifying about unsaved changes, indicating deprecated features or upcoming changes, and highlighting actions that may have unintended consequences. For accessibility, this variant uses an aria-live value of assertive.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/2zympGRb3wlU5P36FsKWsL/dd9bde33646345e65d5bff505d512e22/alert-warning.png\", }, { key: \"error\", title: \"Error\", description: \"Indicates that an error has occurred, requiring user attention or action. This variant is typically used for form validation errors, system failures or exceptions, and failed operations or transactions. For accessibility, it uses an aria-live value of assertive.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/zOH2Xinum4ZjIv3qp6LJM/180a2306dd624b6bc2fa55c0ad81ea0e/alert-error.png\", }, ], }, compositions: { description: \"Showcases actual use cases, demonstrating how the component fits into real-world UI scenarios.\", items: [ { key: \"ai-playground-error-1\", name: \"AI Playground (Error)\", description: \"Demonstrates the Muiplay AI Playground showing a floating error positioned close to the field where a prompt is required to generate a task.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/40RfRPVAN9dvWO7UFuIiUC/52de3cffd69a5bcc2e457f8de03bb9cf/Play-Alert-Composition.png\", }, { key: \"ai-playground-error-2\", name: \"AI Playground (Error)\", description: \"Demonstrates the Muiplay AI Playground showing a floating error positioned close to the field where a prompt is required to generate a task.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/40RfRPVAN9dvWO7UFuIiUC/52de3cffd69a5bcc2e457f8de03bb9cf/Play-Alert-Composition.png\", }, ], }, related: { items: [ { name: \"Message\", link: \"https://guides.muibook.com/message\" }, { name: \"Link\", link: \"https://guides.muibook.com/link\" }, ], }, rules: [ { heading: \"\", description: \"\", doContent: [ { description: \"\", image: \"\" }, { description: \"\", image: \"\" }, ], dontContent: [{ description: \"\" }, { description: \"\" }], }, ], behaviour: { list: [\"\"], }, writing: { list: [\"\"], }, }, }"
320
+ "default": "{ Avatar: { title: \"Avatar\", description: \"Avatar components are used to represent users or entities visually, often through images, initials, or icons.\", hero: [\"https://images.ctfassets.net/i5uwscj4pkk2/2Qj1aPRsHVZZs6eF8XO6XC/54dd3c04d5a0ac379050cfa6f45d9732/Avatar_-_Home_Image.png\"], figma: [ \"https://www.figma.com/design/l0mt1lXu97XoHJCEdnrWLp/Mui-Design-System?node-id=1498-15366&t=2P2nhh7B70fl6xQ4-1\", ], storybook: [\"https://stories.muibook.com/?path=/docs/inputs-avatar--docs\"], github: [\"https://github.com/michaeltrilford/muibook/blob/main/src/components/mui-avatar/index.ts\"], website: [\"https://muibook.com/#/avatar\"], guides: [\"https://guides.muibook.com/avatar\"], usage: { list: [ \"Represent a user or entity visually in lists, chats, comments, or profiles.\", \"Display a profile photo, initials, or icon associated with a person or object.\", \"Use in compact UI elements where space is limited (e.g., tables, cards).\", \"Pair with user metadata (name, role, status) for context.\", \"Indicate presence, status, or selection in collaborative interfaces.\", ], }, accessibility: { designerList: [ \"Avatars should always include an accessible label via the label attribute to ensure screen readers can convey their purpose.\", \"When using images, ensure they are clear and appropriately sized for the avatar component.\", \"For avatars representing users, consider using initials or icons when images are not available to maintain visual consistency.\", ], engineerList: [ \"Avatars should always include an accessible label via the label attribute to ensure screen readers can convey their purpose.\", \"When using images, ensure they are clear and appropriately sized for the avatar component.\", \"For avatars representing users, consider using initials or icons when images are not available to maintain visual consistency.\", ], }, anatomy: { image: \"\", list: [\"\"], }, variants: { items: [ { key: \"\", title: \"\", description: \"\", image: \"\", }, ], }, compositions: { description: \"\", items: [ { key: \"\", name: \"\", description: \"\", image: \"\", }, ], }, related: { items: [ { name: \"\", link: \"\", }, ], }, rules: [ { heading: \"\", description: \"\", doContent: [{ description: \"\", image: \"\" }], dontContent: [{ description: \"\", image: \"\" }], }, ], behaviour: { list: [\"\"], }, writing: { list: [\"\"], }, }, }"
280
321
  }
281
322
  ],
282
323
  "exports": [
@@ -285,125 +326,84 @@
285
326
  "name": "muiDocs",
286
327
  "declaration": {
287
328
  "name": "muiDocs",
288
- "module": "src/components/mui-alert/doc.ts"
329
+ "module": "src/components/mui-avatar/doc.ts"
289
330
  }
290
331
  }
291
332
  ]
292
333
  },
293
334
  {
294
335
  "kind": "javascript-module",
295
- "path": "src/components/mui-alert/index.ts",
336
+ "path": "src/components/mui-avatar/index.ts",
296
337
  "declarations": [
297
338
  {
298
339
  "kind": "class",
299
340
  "description": "",
300
- "name": "MuiAlert",
341
+ "name": "MuiAvatar",
301
342
  "members": [
302
343
  {
303
344
  "kind": "field",
304
- "name": "actionSlotListener",
305
- "type": {
306
- "text": "(() => void) | null"
307
- },
308
- "privacy": "private",
309
- "default": "null"
310
- },
311
- {
312
- "kind": "field",
313
- "name": "contentSlotListener",
345
+ "name": "_imageFailed",
314
346
  "type": {
315
- "text": "(() => void) | null"
347
+ "text": "boolean | undefined"
316
348
  },
317
- "privacy": "private",
318
- "default": "null"
319
- },
320
- {
321
- "kind": "method",
322
- "name": "render"
323
- },
324
- {
325
- "kind": "method",
326
- "name": "getAlertSize",
327
- "privacy": "private",
328
- "return": {
329
- "type": {
330
- "text": "AlertSize"
331
- }
332
- }
349
+ "privacy": "private"
333
350
  },
334
351
  {
335
352
  "kind": "method",
336
- "name": "getInlineContentSize",
337
- "privacy": "private",
338
- "return": {
339
- "type": {
340
- "text": "string"
341
- }
342
- },
343
- "parameters": [
344
- {
345
- "name": "size",
346
- "type": {
347
- "text": "AlertSize"
348
- }
349
- }
350
- ]
353
+ "name": "hasSlottedContent"
351
354
  },
352
355
  {
353
356
  "kind": "method",
354
- "name": "getActionControlSize",
355
- "privacy": "private",
356
- "return": {
357
- "type": {
358
- "text": "string"
359
- }
360
- },
357
+ "name": "getInitials",
361
358
  "parameters": [
362
359
  {
363
- "name": "size",
360
+ "name": "label",
364
361
  "type": {
365
- "text": "AlertSize"
362
+ "text": "string | null"
366
363
  }
367
364
  }
368
365
  ]
369
366
  },
370
367
  {
371
368
  "kind": "method",
372
- "name": "setupActionSlot"
369
+ "name": "getBackgroundCSS"
373
370
  },
374
371
  {
375
372
  "kind": "method",
376
- "name": "setupContentSlot"
373
+ "name": "render"
377
374
  }
378
375
  ],
379
376
  "attributes": [
380
- {
381
- "name": "variant"
382
- },
383
377
  {
384
378
  "name": "label"
385
379
  },
386
380
  {
387
- "name": "hide-label"
381
+ "name": "image"
388
382
  },
389
383
  {
390
384
  "name": "size"
385
+ },
386
+ {
387
+ "name": "background"
388
+ },
389
+ {
390
+ "name": "background-color"
391
391
  }
392
392
  ],
393
393
  "superclass": {
394
394
  "name": "HTMLElement"
395
395
  },
396
- "tagName": "mui-alert",
396
+ "tagName": "mui-avatar",
397
397
  "customElement": true
398
398
  }
399
399
  ],
400
400
  "exports": [
401
401
  {
402
402
  "kind": "custom-element-definition",
403
- "name": "mui-alert",
403
+ "name": "mui-avatar",
404
404
  "declaration": {
405
- "name": "MuiAlert",
406
- "module": "src/components/mui-alert/index.ts"
405
+ "name": "MuiAvatar",
406
+ "module": "src/components/mui-avatar/index.ts"
407
407
  }
408
408
  }
409
409
  ]
@@ -3092,7 +3092,7 @@
3092
3092
  },
3093
3093
  {
3094
3094
  "kind": "javascript-module",
3095
- "path": "src/components/mui-image/doc.ts",
3095
+ "path": "src/components/mui-input/doc.ts",
3096
3096
  "declarations": [
3097
3097
  {
3098
3098
  "kind": "variable",
@@ -3100,7 +3100,7 @@
3100
3100
  "type": {
3101
3101
  "text": "MuiDocs"
3102
3102
  },
3103
- "default": "{ Image: { title: \"Image\", description: \"Displays an image alongside an optional caption to provide context, explanation, or attribution. Useful for supporting content visually while maintaining clarity through descriptive labelling.\", hero: [ \"https://images.ctfassets.net/i5uwscj4pkk2/14eozXMPlzipgAfqaIR2Py/4e211990a30b4a08549deccfd30c71a9/Image_-_Home_Image.png\", ], figma: [ \"https://www.figma.com/design/l0mt1lXu97XoHJCEdnrWLp/Mui-Design-System?node-id=948-4194&t=0ytskb8cxriEmdz2-1\", ], storybook: [\"https://stories.muibook.com/?path=/docs/content-image--docs\"], github: [\"https://github.com/michaeltrilford/muibook/blob/main/src/components/mui-image/index.ts\"], website: [\"\"], guides: [\"https://guides.muibook.com/image\"], usage: { list: [ \"Use to display images that require additional context or explanation.\", \"Use height + crop + fit=cover when you need fixed-height visual crops.\", \"Use max-height with aspect-ratio for responsive image frames that should not exceed a visual cap.\", \"Use focal-x/focal-y or position to keep important content in frame.\", \"Use zoom carefully to tighten framing without switching to background-image.\", \"Captions should clarify the relevance of the image, not repeat surrounding content.\", \"Ideal for diagrams, UI examples, or content requiring attribution.\", \"Ensure images are accessible with alt text and meaningful captions.\", ], }, accessibility: { designerList: [ \"Use meaningful alt text that describes the image’s purpose.\", \"Use alt=“” for decorative images that don’t convey information.\", \"Use the caption slot for extended context, especially for diagrams or UI patterns.\", ], engineerList: [ \"Use meaningful alt text that describes the image’s purpose.\", \"Use alt=“” for decorative images that don’t convey information.\", \"Use the caption slot for extended context, especially for diagrams or UI patterns.\", ], }, anatomy: { image: \"https://images.ctfassets.net/i5uwscj4pkk2/3BSbMl1cqUOB6oDmFLQjRx/193889c0f6d3da6178d51e5fff06b8ed/Image_-_Anatomy.png\", list: [\"Standard styling for a hero image.\", \"Optional caption for the image.\"], }, variants: { items: [ { key: \"\", title: \"\", description: \"\", image: \"\", }, ], }, compositions: { description: \"Showcases actual use cases, demonstrating how the component fits into real-world UI scenarios.\", items: [ { key: \"muibook-resource\", name: \"Muibook Resource\", description: \"The Muibook documentation site uses MUI components to compose its layout, including headings, text, lists, buttons, icons, and image components.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/3LVvuYDZWRnMhxNy6GMLNd/c5074a05eacb2c22c50ea172b3567c48/Muibook-List-Composition.png\", }, ], }, related: { items: [ { name: \"\", link: \"\", }, ], }, rules: [ { heading: \"\", description: \"\", doContent: [{ description: \"\", image: \"\" }], dontContent: [{ description: \"\", image: \"\" }], }, ], behaviour: { list: [\"\"], }, writing: { list: [\"\"], }, }, }"
3103
+ "default": "{ Input: { title: \"Input\", description: \"An input component for capturing user text, styled for consistency across your UI.\", hero: [\"\"], figma: [\"https://www.figma.com/design/l0mt1lXu97XoHJCEdnrWLp/Mui-Design-System?node-id=3-795&t=GMqx21isUVAMpLJp-1\"], storybook: [\"https://stories.muibook.com/?path=/docs/inputs-input--docs\"], github: [\"https://github.com/michaeltrilford/muibook/blob/main/src/components/mui-input/index.ts\"], website: [\"https://muibook.com/#/input\"], guides: [\"https://guides.muibook.com/input\"], usage: { list: [ \"Ensure the purpose of the input is clear, either through a placeholder text or surrounding context.\", \"Ensure validation feedback is considered when using an input. E.g. Error text.\", \"Ensure the experience has clear focus states to support keyboard accessibility.\", \"Select the appropriate input types for the specific use case. E.g. Text, Email, Password.\", \"Use size='x-small|small|medium|large' to align inputs with surrounding form controls.\", \"Use slot='hint' for contextual overlays, including mui-hint with interactive tooltip content.\", \"Use mui-chip in before/after slots for tag-style contextual input patterns.\", \"Use placeholder text to provide context of the input use; avoid using them as primary labels.\", \"Avoid relying solely on placeholder text for instructions, as it disappears when users start typing.\", \"Use the optional attribute when a field is not required to show a clear (optional) marker in the label.\", \"Use max-length when input limits matter; the component shows a live character count.\", \"In React controlled mode, keep value updates isolated from structural attribute updates (label, type, placeholder, variant) to avoid focus loss while typing.\", ], }, accessibility: { designerList: [\"\"], engineerList: [ \"A label is required for screen reader support to describe the input's purpose.\", \"If hide-label is used, the label is visually hidden but accessible via aria-label.\", \"The label and input are linked via for and id. If no id is provided, one is generated.\", \"Clear focus styles are shown for keyboard users.\", \"The native disabled attribute is fully supported by assistive tech.\", \"Optional fields can be explicitly communicated with the optional attribute without changing label association.\", \"When max-length is set, users get visible character progress while native maxlength enforcement remains intact.\", \"For React integrations, prefer reading event.detail.value from the web component custom event instead of querying shadow DOM internals.\", ], }, anatomy: { image: \"https://images.ctfassets.net/i5uwscj4pkk2/5aiWlqSJ4BYCGtXn9MbGd/2734f1771c0e666806060bc85f753927/Input_-_Anatomy.png\", list: [ \"Label: Describes the purpose of the Input; required for accessibility. Can be hidden if the context is clear. Ensure the label text is still provided for developers to support screen reader access.\", \"Text: The label or placeholder text that describes the input field’s purpose.\", \"Before: Optional icons can be placed before or after the text input for additional functionality or clarity (e.g., search or password visibility icons).\", \"After: Optional icons can be placed before or after the text input for additional functionality or clarity (e.g., search or password visibility icons).\", \"Slot Before: Allows insertion of an Add-On, Select, or Button before the input to provide contextual or interactive elements. Some design craft may be needed to align elements visually in tools like Figma.\", \"Slot After: Allows insertion of an Add-On, Select, or Button after the input to support or clarify the user’s entry. Some design craft may be needed to ensure alignment and spacing look accurate in design tools.\", ], }, variants: { items: [ { key: \"default\", title: \"Default\", description: \"The standard Input with visible label and no interaction or validation states applied. Used for most form field scenarios.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/5t0SMtVRHvOSHiuHZ8jLfS/64da2bbaf5d2f4216f1c876f205c1298/input-default.png\", }, { key: \"hide-label\", title: \"Hide Label\", description: \"The label is visually hidden but remains accessible to screen readers. Use when the label context is already clear from surrounding UI. Ensure the label name is documented for developers, as the component requires a label for accessibility.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/4wC0xbPgmsMGi6YhMG8PnI/f01da9a977092a2da1e128fbee3325eb/input-hide-label.png\", }, { key: \"hover\", title: \"Hover\", description: \"Displays the hover state styling when a pointer is placed over the Input. Useful for demonstrating interactive feedback.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/5IXEcxa2RxqubupHmblDhd/ab41eba34289194733a87994b096e95d/input-hover.png\", }, { key: \"focus\", title: \"Focus\", description: \"Shows the focus ring or border to indicate that the Input is currently active. Supports accessible keyboard navigation.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/4AA4IcIdnov9MfSeY4rSdL/bbaf44297cdd4bd09d626b707dbe5f47/input-focus.png\", }, { key: \"error\", title: \"Error\", description: \"Displays a visual error style to indicate invalid input. Used with the Field component to surface validation messaging.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/2LYMpJwtH7f8KfPYl0vwAg/385529402b5e73399320c9581c8e1301/input-error.png\", }, { key: \"input-field\", title: \"Input + Field\", description: \"Displays a visual error style to indicate invalid input. Used with the Field component to surface validation messaging.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/kSXvQ6D4hvuP3c9bC0ZUa/319272dc75f0b08493753a49c0fbff75/success-message.png\", }, ], }, compositions: { description: \"Showcases actual use cases, demonstrating how the component fits into real-world UI scenarios.\", items: [ { key: \"user-details\", name: \"User Details (Step 1)\", description: \"This composition uses an accordion to contain a step in a multi-step flow. It focuses on input fields with labels, placeholders, and optional states, keeping the layout compact and clear.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/1L2XfteVwNBQcFlddTYmfi/c791eb538285e2cfb919342e84228811/accordion-block_-_Variants.png\", }, { key: \"onboarding-form\", name: \"Onboarding Form\", description: \"Demonstrates an onboarding form within a card, using logic to confirm terms acceptance. Components include Heading, Input Fields, Checkbox, and Button.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/1NrgynTcdmVVKSYCsQwlOW/5fc4776c1860b498a59a2865b4e57ecb/Card-Onboarding-Composition.png\", }, ], }, related: { items: [ { name: \"Field\", link: \"https://guides.muibook.com/field\", }, { name: \"Select\", link: \"https://guides.muibook.com/select\", }, { name: \"File Upload\", link: \"https://guides.muibook.com/file-upload\", }, { name: \"Add on\", link: \"https://guides.muibook.com/add-on\", }, ], }, rules: [ { heading: \"\", description: \"\", doContent: [{ description: \"\", image: \"\" }], dontContent: [{ description: \"\", image: \"\" }], }, ], behaviour: { list: [\"\"], }, writing: { list: [\"\"], }, }, }"
3104
3104
  }
3105
3105
  ],
3106
3106
  "exports": [
@@ -3109,119 +3109,129 @@
3109
3109
  "name": "muiDocs",
3110
3110
  "declaration": {
3111
3111
  "name": "muiDocs",
3112
- "module": "src/components/mui-image/doc.ts"
3112
+ "module": "src/components/mui-input/doc.ts"
3113
3113
  }
3114
3114
  }
3115
3115
  ]
3116
3116
  },
3117
3117
  {
3118
3118
  "kind": "javascript-module",
3119
- "path": "src/components/mui-image/index.ts",
3119
+ "path": "src/components/mui-input/index.ts",
3120
3120
  "declarations": [
3121
3121
  {
3122
3122
  "kind": "class",
3123
3123
  "description": "",
3124
- "name": "MuiImage",
3124
+ "name": "MuiInput",
3125
3125
  "members": [
3126
3126
  {
3127
3127
  "kind": "field",
3128
- "name": "observer",
3128
+ "name": "_changeHandler",
3129
3129
  "type": {
3130
- "text": "MutationObserver | null"
3131
- },
3132
- "privacy": "private",
3133
- "default": "null"
3130
+ "text": "(e: Event) => void | undefined"
3131
+ }
3134
3132
  },
3135
3133
  {
3136
3134
  "kind": "method",
3137
- "name": "syncChildSlots",
3138
- "privacy": "private"
3135
+ "name": "cleanupListeners"
3139
3136
  },
3140
3137
  {
3141
3138
  "kind": "method",
3142
- "name": "clampPercent",
3143
- "privacy": "private",
3144
- "parameters": [
3145
- {
3146
- "name": "value",
3147
- "type": {
3148
- "text": "string | null"
3149
- }
3150
- },
3151
- {
3152
- "name": "fallback",
3153
- "type": {
3154
- "text": "number"
3155
- }
3156
- }
3157
- ]
3139
+ "name": "setupListener"
3158
3140
  },
3159
3141
  {
3160
3142
  "kind": "method",
3161
- "name": "getPosition",
3162
- "privacy": "private"
3143
+ "name": "updateCharacterCount"
3163
3144
  },
3164
3145
  {
3165
3146
  "kind": "method",
3166
- "name": "getZoom",
3167
- "privacy": "private"
3147
+ "name": "updateSlottedButtons",
3148
+ "return": {
3149
+ "type": {
3150
+ "text": "void"
3151
+ }
3152
+ }
3168
3153
  },
3169
3154
  {
3170
3155
  "kind": "method",
3171
- "name": "render",
3172
- "privacy": "private"
3156
+ "name": "render"
3157
+ }
3158
+ ],
3159
+ "events": [
3160
+ {
3161
+ "name": "change",
3162
+ "type": {
3163
+ "text": "CustomEvent"
3164
+ }
3165
+ },
3166
+ {
3167
+ "name": "input",
3168
+ "type": {
3169
+ "text": "CustomEvent"
3170
+ }
3173
3171
  }
3174
3172
  ],
3175
3173
  "attributes": [
3176
3174
  {
3177
- "name": "height"
3175
+ "name": "type"
3178
3176
  },
3179
3177
  {
3180
- "name": "fit"
3178
+ "name": "name"
3181
3179
  },
3182
3180
  {
3183
- "name": "crop"
3181
+ "name": "value"
3184
3182
  },
3185
3183
  {
3186
- "name": "position"
3184
+ "name": "placeholder"
3187
3185
  },
3188
3186
  {
3189
- "name": "zoom"
3187
+ "name": "id"
3190
3188
  },
3191
3189
  {
3192
- "name": "focal-x"
3190
+ "name": "label"
3193
3191
  },
3194
3192
  {
3195
- "name": "focal-y"
3193
+ "name": "disabled"
3196
3194
  },
3197
3195
  {
3198
- "name": "radius"
3196
+ "name": "hide-label"
3199
3197
  },
3200
3198
  {
3201
- "name": "aspect-ratio"
3199
+ "name": "variant"
3200
+ },
3201
+ {
3202
+ "name": "optional"
3203
+ },
3204
+ {
3205
+ "name": "max-length"
3206
+ },
3207
+ {
3208
+ "name": "size"
3209
+ },
3210
+ {
3211
+ "name": "slot-layout"
3202
3212
  }
3203
3213
  ],
3204
3214
  "superclass": {
3205
3215
  "name": "HTMLElement"
3206
3216
  },
3207
- "tagName": "mui-image",
3217
+ "tagName": "mui-input",
3208
3218
  "customElement": true
3209
3219
  }
3210
3220
  ],
3211
3221
  "exports": [
3212
3222
  {
3213
3223
  "kind": "custom-element-definition",
3214
- "name": "mui-image",
3224
+ "name": "mui-input",
3215
3225
  "declaration": {
3216
- "name": "MuiImage",
3217
- "module": "src/components/mui-image/index.ts"
3226
+ "name": "MuiInput",
3227
+ "module": "src/components/mui-input/index.ts"
3218
3228
  }
3219
3229
  }
3220
3230
  ]
3221
3231
  },
3222
3232
  {
3223
3233
  "kind": "javascript-module",
3224
- "path": "src/components/mui-input/doc.ts",
3234
+ "path": "src/components/mui-image/doc.ts",
3225
3235
  "declarations": [
3226
3236
  {
3227
3237
  "kind": "variable",
@@ -3229,7 +3239,7 @@
3229
3239
  "type": {
3230
3240
  "text": "MuiDocs"
3231
3241
  },
3232
- "default": "{ Input: { title: \"Input\", description: \"An input component for capturing user text, styled for consistency across your UI.\", hero: [\"\"], figma: [\"https://www.figma.com/design/l0mt1lXu97XoHJCEdnrWLp/Mui-Design-System?node-id=3-795&t=GMqx21isUVAMpLJp-1\"], storybook: [\"https://stories.muibook.com/?path=/docs/inputs-input--docs\"], github: [\"https://github.com/michaeltrilford/muibook/blob/main/src/components/mui-input/index.ts\"], website: [\"https://muibook.com/#/input\"], guides: [\"https://guides.muibook.com/input\"], usage: { list: [ \"Ensure the purpose of the input is clear, either through a placeholder text or surrounding context.\", \"Ensure validation feedback is considered when using an input. E.g. Error text.\", \"Ensure the experience has clear focus states to support keyboard accessibility.\", \"Select the appropriate input types for the specific use case. E.g. Text, Email, Password.\", \"Use size='x-small|small|medium|large' to align inputs with surrounding form controls.\", \"Use slot='hint' for contextual overlays, including mui-hint with interactive tooltip content.\", \"Use mui-chip in before/after slots for tag-style contextual input patterns.\", \"Use placeholder text to provide context of the input use; avoid using them as primary labels.\", \"Avoid relying solely on placeholder text for instructions, as it disappears when users start typing.\", \"Use the optional attribute when a field is not required to show a clear (optional) marker in the label.\", \"Use max-length when input limits matter; the component shows a live character count.\", \"In React controlled mode, keep value updates isolated from structural attribute updates (label, type, placeholder, variant) to avoid focus loss while typing.\", ], }, accessibility: { designerList: [\"\"], engineerList: [ \"A label is required for screen reader support to describe the input's purpose.\", \"If hide-label is used, the label is visually hidden but accessible via aria-label.\", \"The label and input are linked via for and id. If no id is provided, one is generated.\", \"Clear focus styles are shown for keyboard users.\", \"The native disabled attribute is fully supported by assistive tech.\", \"Optional fields can be explicitly communicated with the optional attribute without changing label association.\", \"When max-length is set, users get visible character progress while native maxlength enforcement remains intact.\", \"For React integrations, prefer reading event.detail.value from the web component custom event instead of querying shadow DOM internals.\", ], }, anatomy: { image: \"https://images.ctfassets.net/i5uwscj4pkk2/5aiWlqSJ4BYCGtXn9MbGd/2734f1771c0e666806060bc85f753927/Input_-_Anatomy.png\", list: [ \"Label: Describes the purpose of the Input; required for accessibility. Can be hidden if the context is clear. Ensure the label text is still provided for developers to support screen reader access.\", \"Text: The label or placeholder text that describes the input field’s purpose.\", \"Before: Optional icons can be placed before or after the text input for additional functionality or clarity (e.g., search or password visibility icons).\", \"After: Optional icons can be placed before or after the text input for additional functionality or clarity (e.g., search or password visibility icons).\", \"Slot Before: Allows insertion of an Add-On, Select, or Button before the input to provide contextual or interactive elements. Some design craft may be needed to align elements visually in tools like Figma.\", \"Slot After: Allows insertion of an Add-On, Select, or Button after the input to support or clarify the user’s entry. Some design craft may be needed to ensure alignment and spacing look accurate in design tools.\", ], }, variants: { items: [ { key: \"default\", title: \"Default\", description: \"The standard Input with visible label and no interaction or validation states applied. Used for most form field scenarios.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/5t0SMtVRHvOSHiuHZ8jLfS/64da2bbaf5d2f4216f1c876f205c1298/input-default.png\", }, { key: \"hide-label\", title: \"Hide Label\", description: \"The label is visually hidden but remains accessible to screen readers. Use when the label context is already clear from surrounding UI. Ensure the label name is documented for developers, as the component requires a label for accessibility.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/4wC0xbPgmsMGi6YhMG8PnI/f01da9a977092a2da1e128fbee3325eb/input-hide-label.png\", }, { key: \"hover\", title: \"Hover\", description: \"Displays the hover state styling when a pointer is placed over the Input. Useful for demonstrating interactive feedback.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/5IXEcxa2RxqubupHmblDhd/ab41eba34289194733a87994b096e95d/input-hover.png\", }, { key: \"focus\", title: \"Focus\", description: \"Shows the focus ring or border to indicate that the Input is currently active. Supports accessible keyboard navigation.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/4AA4IcIdnov9MfSeY4rSdL/bbaf44297cdd4bd09d626b707dbe5f47/input-focus.png\", }, { key: \"error\", title: \"Error\", description: \"Displays a visual error style to indicate invalid input. Used with the Field component to surface validation messaging.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/2LYMpJwtH7f8KfPYl0vwAg/385529402b5e73399320c9581c8e1301/input-error.png\", }, { key: \"input-field\", title: \"Input + Field\", description: \"Displays a visual error style to indicate invalid input. Used with the Field component to surface validation messaging.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/kSXvQ6D4hvuP3c9bC0ZUa/319272dc75f0b08493753a49c0fbff75/success-message.png\", }, ], }, compositions: { description: \"Showcases actual use cases, demonstrating how the component fits into real-world UI scenarios.\", items: [ { key: \"user-details\", name: \"User Details (Step 1)\", description: \"This composition uses an accordion to contain a step in a multi-step flow. It focuses on input fields with labels, placeholders, and optional states, keeping the layout compact and clear.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/1L2XfteVwNBQcFlddTYmfi/c791eb538285e2cfb919342e84228811/accordion-block_-_Variants.png\", }, { key: \"onboarding-form\", name: \"Onboarding Form\", description: \"Demonstrates an onboarding form within a card, using logic to confirm terms acceptance. Components include Heading, Input Fields, Checkbox, and Button.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/1NrgynTcdmVVKSYCsQwlOW/5fc4776c1860b498a59a2865b4e57ecb/Card-Onboarding-Composition.png\", }, ], }, related: { items: [ { name: \"Field\", link: \"https://guides.muibook.com/field\", }, { name: \"Select\", link: \"https://guides.muibook.com/select\", }, { name: \"File Upload\", link: \"https://guides.muibook.com/file-upload\", }, { name: \"Add on\", link: \"https://guides.muibook.com/add-on\", }, ], }, rules: [ { heading: \"\", description: \"\", doContent: [{ description: \"\", image: \"\" }], dontContent: [{ description: \"\", image: \"\" }], }, ], behaviour: { list: [\"\"], }, writing: { list: [\"\"], }, }, }"
3242
+ "default": "{ Image: { title: \"Image\", description: \"Displays an image alongside an optional caption to provide context, explanation, or attribution. Useful for supporting content visually while maintaining clarity through descriptive labelling.\", hero: [ \"https://images.ctfassets.net/i5uwscj4pkk2/14eozXMPlzipgAfqaIR2Py/4e211990a30b4a08549deccfd30c71a9/Image_-_Home_Image.png\", ], figma: [ \"https://www.figma.com/design/l0mt1lXu97XoHJCEdnrWLp/Mui-Design-System?node-id=948-4194&t=0ytskb8cxriEmdz2-1\", ], storybook: [\"https://stories.muibook.com/?path=/docs/content-image--docs\"], github: [\"https://github.com/michaeltrilford/muibook/blob/main/src/components/mui-image/index.ts\"], website: [\"\"], guides: [\"https://guides.muibook.com/image\"], usage: { list: [ \"Use to display images that require additional context or explanation.\", \"Use height + crop + fit=cover when you need fixed-height visual crops.\", \"Use max-height with aspect-ratio for responsive image frames that should not exceed a visual cap.\", \"Use focal-x/focal-y or position to keep important content in frame.\", \"Use zoom carefully to tighten framing without switching to background-image.\", \"Captions should clarify the relevance of the image, not repeat surrounding content.\", \"Ideal for diagrams, UI examples, or content requiring attribution.\", \"Ensure images are accessible with alt text and meaningful captions.\", ], }, accessibility: { designerList: [ \"Use meaningful alt text that describes the image’s purpose.\", \"Use alt=“” for decorative images that don’t convey information.\", \"Use the caption slot for extended context, especially for diagrams or UI patterns.\", ], engineerList: [ \"Use meaningful alt text that describes the image’s purpose.\", \"Use alt=“” for decorative images that don’t convey information.\", \"Use the caption slot for extended context, especially for diagrams or UI patterns.\", ], }, anatomy: { image: \"https://images.ctfassets.net/i5uwscj4pkk2/3BSbMl1cqUOB6oDmFLQjRx/193889c0f6d3da6178d51e5fff06b8ed/Image_-_Anatomy.png\", list: [\"Standard styling for a hero image.\", \"Optional caption for the image.\"], }, variants: { items: [ { key: \"\", title: \"\", description: \"\", image: \"\", }, ], }, compositions: { description: \"Showcases actual use cases, demonstrating how the component fits into real-world UI scenarios.\", items: [ { key: \"muibook-resource\", name: \"Muibook Resource\", description: \"The Muibook documentation site uses MUI components to compose its layout, including headings, text, lists, buttons, icons, and image components.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/3LVvuYDZWRnMhxNy6GMLNd/c5074a05eacb2c22c50ea172b3567c48/Muibook-List-Composition.png\", }, ], }, related: { items: [ { name: \"\", link: \"\", }, ], }, rules: [ { heading: \"\", description: \"\", doContent: [{ description: \"\", image: \"\" }], dontContent: [{ description: \"\", image: \"\" }], }, ], behaviour: { list: [\"\"], }, writing: { list: [\"\"], }, }, }"
3233
3243
  }
3234
3244
  ],
3235
3245
  "exports": [
@@ -3238,122 +3248,112 @@
3238
3248
  "name": "muiDocs",
3239
3249
  "declaration": {
3240
3250
  "name": "muiDocs",
3241
- "module": "src/components/mui-input/doc.ts"
3251
+ "module": "src/components/mui-image/doc.ts"
3242
3252
  }
3243
3253
  }
3244
3254
  ]
3245
3255
  },
3246
3256
  {
3247
3257
  "kind": "javascript-module",
3248
- "path": "src/components/mui-input/index.ts",
3258
+ "path": "src/components/mui-image/index.ts",
3249
3259
  "declarations": [
3250
3260
  {
3251
3261
  "kind": "class",
3252
3262
  "description": "",
3253
- "name": "MuiInput",
3263
+ "name": "MuiImage",
3254
3264
  "members": [
3255
3265
  {
3256
3266
  "kind": "field",
3257
- "name": "_changeHandler",
3267
+ "name": "observer",
3258
3268
  "type": {
3259
- "text": "(e: Event) => void | undefined"
3260
- }
3269
+ "text": "MutationObserver | null"
3270
+ },
3271
+ "privacy": "private",
3272
+ "default": "null"
3261
3273
  },
3262
3274
  {
3263
3275
  "kind": "method",
3264
- "name": "cleanupListeners"
3276
+ "name": "syncChildSlots",
3277
+ "privacy": "private"
3265
3278
  },
3266
3279
  {
3267
3280
  "kind": "method",
3268
- "name": "setupListener"
3281
+ "name": "clampPercent",
3282
+ "privacy": "private",
3283
+ "parameters": [
3284
+ {
3285
+ "name": "value",
3286
+ "type": {
3287
+ "text": "string | null"
3288
+ }
3289
+ },
3290
+ {
3291
+ "name": "fallback",
3292
+ "type": {
3293
+ "text": "number"
3294
+ }
3295
+ }
3296
+ ]
3269
3297
  },
3270
3298
  {
3271
3299
  "kind": "method",
3272
- "name": "updateCharacterCount"
3300
+ "name": "getPosition",
3301
+ "privacy": "private"
3273
3302
  },
3274
3303
  {
3275
3304
  "kind": "method",
3276
- "name": "updateSlottedButtons",
3277
- "return": {
3278
- "type": {
3279
- "text": "void"
3280
- }
3281
- }
3305
+ "name": "getZoom",
3306
+ "privacy": "private"
3282
3307
  },
3283
3308
  {
3284
3309
  "kind": "method",
3285
- "name": "render"
3286
- }
3287
- ],
3288
- "events": [
3289
- {
3290
- "name": "change",
3291
- "type": {
3292
- "text": "CustomEvent"
3293
- }
3294
- },
3295
- {
3296
- "name": "input",
3297
- "type": {
3298
- "text": "CustomEvent"
3299
- }
3310
+ "name": "render",
3311
+ "privacy": "private"
3300
3312
  }
3301
3313
  ],
3302
3314
  "attributes": [
3303
3315
  {
3304
- "name": "type"
3305
- },
3306
- {
3307
- "name": "name"
3308
- },
3309
- {
3310
- "name": "value"
3311
- },
3312
- {
3313
- "name": "placeholder"
3314
- },
3315
- {
3316
- "name": "id"
3316
+ "name": "height"
3317
3317
  },
3318
3318
  {
3319
- "name": "label"
3319
+ "name": "fit"
3320
3320
  },
3321
3321
  {
3322
- "name": "disabled"
3322
+ "name": "crop"
3323
3323
  },
3324
3324
  {
3325
- "name": "hide-label"
3325
+ "name": "position"
3326
3326
  },
3327
3327
  {
3328
- "name": "variant"
3328
+ "name": "zoom"
3329
3329
  },
3330
3330
  {
3331
- "name": "optional"
3331
+ "name": "focal-x"
3332
3332
  },
3333
3333
  {
3334
- "name": "max-length"
3334
+ "name": "focal-y"
3335
3335
  },
3336
3336
  {
3337
- "name": "size"
3337
+ "name": "radius"
3338
3338
  },
3339
3339
  {
3340
- "name": "slot-layout"
3340
+ "name": "aspect-ratio"
3341
3341
  }
3342
3342
  ],
3343
3343
  "superclass": {
3344
3344
  "name": "HTMLElement"
3345
3345
  },
3346
- "tagName": "mui-input",
3346
+ "tagName": "mui-image",
3347
3347
  "customElement": true
3348
3348
  }
3349
3349
  ],
3350
3350
  "exports": [
3351
3351
  {
3352
3352
  "kind": "custom-element-definition",
3353
- "name": "mui-input",
3353
+ "name": "mui-image",
3354
3354
  "declaration": {
3355
- "name": "MuiInput",
3356
- "module": "src/components/mui-input/index.ts"
3355
+ "name": "MuiImage",
3356
+ "module": "src/components/mui-image/index.ts"
3357
3357
  }
3358
3358
  }
3359
3359
  ]
@@ -5654,7 +5654,7 @@
5654
5654
  },
5655
5655
  {
5656
5656
  "kind": "javascript-module",
5657
- "path": "src/components/mui-link/doc.ts",
5657
+ "path": "src/components/mui-loader/doc.ts",
5658
5658
  "declarations": [
5659
5659
  {
5660
5660
  "kind": "variable",
@@ -5662,7 +5662,7 @@
5662
5662
  "type": {
5663
5663
  "text": "MuiDocs"
5664
5664
  },
5665
- "default": "{ Link: { title: \"Link\", description: \"Links are used to navigate between pages or external content. They are visually distinct from surrounding text by using underlines — a familiar and accessible pattern that ensures clarity and consistency.\", hero: [ \"https://images.ctfassets.net/i5uwscj4pkk2/7bK1593sNzW75ZoqBupCRj/0420d8ef12472208403efa48d2fe98d6/Link_-_Home_Image.png\", ], figma: [\"https://www.figma.com/design/l0mt1lXu97XoHJCEdnrWLp/Mui-Design-System?node-id=3-663&t=fSFYVey9aCoE5oQa-1\"], storybook: [\"https://stories.muibook.com/?path=/docs/actions-link--docs\"], github: [\"https://github.com/michaeltrilford/muibook/blob/main/src/components/mui-link/index.ts\"], website: [\"https://muibook.com/#/link\"], guides: [\"https://guides.muibook.com/link\"], usage: { list: [ \"Use links to navigate to related content or different pages.\", \"Use for navigation only — use buttons for actions like submitting forms or changing data.\", \"Keep link text concise and descriptive. Avoid vague labels like 'Click here.'\", \"Use full sentences or phrases that clearly describe the destination.\", \"Prefer inline links within body text unless a more prominent callout is needed.\", ], }, accessibility: { designerList: [\"\"], engineerList: [\"\"], }, anatomy: { image: \"https://images.ctfassets.net/i5uwscj4pkk2/6Rbr0KRWAiNRuPsagpreV7/2adc3626aa45ddc95ddf7d0a508c7917/Link_-_Anatomy.png\", list: [ \"LABEL: Text describing the link / link button action. Use action verbs or phrases to tell the user what will happen next, and follow the link label content guidelines.\", \"BEFORE: An optional area to include an icon before the label. Use an icon to add additional affordance where the icon has a clear and well-established meaning. Most links don't require an icon, so be consistent and deliberate when you do.\", \"AFTER: An optional area to include an icon after the label, often used for a chevron-down-arrow icon to indicate a dropdown menu or accordion experiences where the placement is on the far right of the link.\", \"ICON ONLY: Use when the action is easily understood and space is limited.\", ], }, variants: { items: [ { key: \"size-large\", title: \"Size: Large\", description: \"Used when a link needs to stand out in layouts, such as hero sections or alongside large headings. If used inline, it should match the surrounding text size to maintain visual hierarchy and scale consistency. E.g. Use small size icon when it is paired with large sized link.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/Tbxhps7s88CFzROYc0Lqs/3440df9aefca7cb9de3ce5015a3a4e82/Default_-_Large.png\", }, { key: \"size-medium\", title: \"Size: Medium (Default)\", description: \"The standard size for most link usage. Works well inline with body text or as standalone links within common page layouts. When used inline, it aligns with default body text for consistent reading flow. E.g. Use x-small size icon when it is paired with medium sized link.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/3NbinCPLEbtetN63xh18Sy/e0a0e9bbcd11a71faefc6ad1fc0e064d/Default_-_Medium.png\", }, { key: \"size-small\", title: \"Size: Small\", description: \"Ideal for dense interfaces or compact areas such as cards, side panels, or footnotes. When used inline, it should match the smaller text size to preserve a balanced visual rhythm. E.g. Use x-small size icon when it is paired with small sized link.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/4uaoT2KHM6ux4X30BxwGYo/91137cc74414f2f32b869fae59f9625d/Default_-_Small.png\", }, { key: \"size-x-small\", title: \"Size: XSmall\", description: \"Used sparingly in tight spaces like toolbars, metadata, or inline legal text. Should align with surrounding text to avoid disrupting scale and hierarchy. E.g. Use x-small size icon when it is paired with x-small sized link.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/27dAzNJ6Q5XHVKv5ROXq36/ace1f6540b5f363624730be001bf91ce/Default_-_XSmall.png\", }, { key: \"primary\", title: \"Primary\", description: \"A high emphasis link style used for key navigation or calls to action. Visually aligned with the primary button to ensure consistency across components. When an icon is slotted into a link, it automatically inherits the link button’s default icon size. If you need a different look or emphasis, you can override the size as required.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/7wDlLjYvZEOgP8bQ6mfOuY/51b39a09c73f93ee9291e1e053df308a/Primary.png\", }, { key: \"primary-icon-only\", title: \"Primary - IconOnly\", description: \"An icon only version of the primary link. Best used when the icon meaning is immediately clear, such as external links, arrows, or downloads. Uses a small size icon when pairing with other buttons, or medium size icon for standalone actions.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/5sEr4Bhu2mwobKt6yPO9T7/a248fc0fe630ddd7f837c256a9aac126/Primary_-_IconOnly.png\", }, { key: \"secondary\", title: \"Secondary\", description: \"An icon only version of the primary link. Best used when the icon meaning is immediately clear, such as external links, arrows, or downloads. Uses a small size icon when pairing with other buttons, or medium size icon for standalone actions.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/1y7LN0FWjqrAQim9y289YN/2a65b13be6f42399404fb5bb68014700/Secondary.png\", }, { key: \"secondary-icon-only\", title: \"Secondary - IconOnly\", description: \"An icon only version of the secondary link. Ideal for contextual actions placed beside content or inside user interface components. Uses a small size icon when pairing with other buttons, or medium size icon for standalone actions.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/nWMRYy5KcAqFxnrRdBXJS/d02dc2a67ae81bca02b82645c998fb9b/Secondary_-_IconOnly.png\", }, { key: \"tertiary\", title: \"Tertiary\", description: \"A subtle and low emphasis style often used inline with body text or in subdued areas of the interface. Mirrors the styling of the tertiary button for visual harmony in dense content. When an icon is slotted into a link, it automatically inherits the link button’s default icon size. If you need a different look or emphasis, you can override the size as required.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/ydUs1pJsUgg7JBX7xpIOW/8e8cd367963506e35f39a97a8f41d616/Tertiary.png\", }, { key: \"tertiary-icon-only\", title: \"Tertiary - IconOnly\", description: \"A minimal visual style with just an icon. Best for lightweight or background interactions in compact spaces. Uses a small size icon when pairing with other buttons, or medium size icon for standalone actions.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/79wxg2B2u21x1qAKTsFOIM/d8c1665de85c90983bbe50d3762f2298/Tertiary_-_IconOnly.png\", }, { key: \"overlay\", title: \"Overlay\", description: \"Use on layered media or tinted surfaces where link actions need contrast without heavy visual weight. Works well for controls rendered over previews and imagery.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/1y7LN0FWjqrAQim9y289YN/2a65b13be6f42399404fb5bb68014700/Secondary.png\", }, { key: \"attention\", title: \"Attention\", description: \"A visually distinct style intended to highlight urgency, important information, or warnings. Styled to match the attention button, typically used in upgrade prompts or legal notices. When an icon is slotted into a link, it automatically inherits the link button’s default icon size. If you need a different look or emphasis, you can override the size as required.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/6grNjw60gY1ShYuexn23oX/b1cd5e10f9a1f5b8e5e3df4bf4780a0a/Attention.png\", }, { key: \"attention-icon-only\", title: \"Attention - IconOnly\", description: \"An icon only variant that draws attention to critical actions or time sensitive content. Uses a small size icon.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/5osepffgbQtuUmunLgCDPH/83490dc2ac0ef308a53e16e5b992efc5/Attention_-_IconOnly.png\", }, ], }, compositions: { description: \"\", items: [ { key: \"\", name: \"\", description: \"\", image: \"\", }, ], }, related: { items: [ { name: \"Button\", link: \"https://guides.muibook.com/button\", }, { name: \"Icons\", link: \"https://guides.muibook.com/icons\", }, ], }, rules: [ { heading: \"Link vs Button\", description: \"Links and Buttons may look similar, but links are for navigating between pages or sections of your app or site, while buttons are for triggering actions.\", doContent: [ { description: \"Use a link when navigating to another page or view.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/7xOE9DNKWgy1lZoT0FbMOW/cc13fbeeaa85b2507087645d925d7323/button-vs-link-do.png\", }, ], dontContent: [ { description: \"Don’t use a link to trigger tasks like submitting a form or saving data.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/6tSAw6uBvg142Gzw7tenBc/4b8db682687b42f3c53fc32557cc4eee/button-vs-link-do-not.png\", }, ], }, { heading: \"Text & Icon Actions\", description: \"\", doContent: [ { description: \"Use the 'small' size icon within a medium sized action\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/2W1xs6NPj3jRrW6ZaVGRvZ/3a11566b68fffda85bf5f780c4d6a394/dropdown-bar-icon-do.png\", }, ], dontContent: [ { description: \"Avoid 'x-small', 'medium' or 'large' size icons within a medium sized action\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/6BgHzCgKqk44piisNH4tE6/c08d91a1cf5231a089844d20f6ab968c/dropdown-bar-icon-dont.png\", }, ], }, { heading: \"Icon-Only Actions\", description: \"\", doContent: [ { description: \"Use a 'medium' size icon when using an icon-only medium sized action\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/3syzrNBEXbBjp5hGEUvF4M/0471f4b16939d8ee54deaf48997ff455/action-icon-do.png\", }, ], dontContent: [ { description: \"Avoid 'x-small', 'medium' or 'large' size icons within an icon-only medium sized action\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/5V2TE85dY848jz1dP6Y0lC/b8e433c8abad5a4402ff1f86ddb8c848/action-icon-dont.png\", }, ], }, ], behaviour: { list: [\"\"], image: \"https://images.ctfassets.net/i5uwscj4pkk2/qS1BAkfK7TDpy9rq4cdF1/d2535f48b4d2711f9dba6d056f21e3ec/Link_-_Behaviour.png\", }, writing: { list: [\"\"], }, }, }"
5665
+ "default": "{ Loader: { title: \"Loader\", description: \"The Loader component applies smooth, built-in transitions during page loads, content updates, or skeleton placeholders to maintain a seamless, polished experience.\", hero: [\"\"], figma: [ \"https://www.figma.com/design/l0mt1lXu97XoHJCEdnrWLp/Mui-Design-System?node-id=1059-12710&t=BwezUSymTClm00wJ-1\", ], storybook: [\"https://stories.muibook.com/?path=/docs/feedback-loader--docs\"], github: [\"https://github.com/michaeltrilford/muibook/blob/main/src/components/mui-loader/index.ts\"], website: [\"\"], guides: [\"https://guides.muibook.com/loader\"], usage: { list: [ \"Wrap any page or UI section with Mui-Loader to automatically display loading animations.\", \"Ideal for initial page loads, content transitions, or skeleton screens while data is fetching.\", \"When crafting skeleton states inside Loader, prefer design tokens, rem units, and percentages over fixed pixel sizes.\", \"Compose placeholders with Muibook layout components such as mui-v-stack, mui-h-stack, and mui-grid for consistent spacing.\", \"Applied to pages or key components for seamless load transitions.\", \"Works seamlessly with other MUI components and layouts without additional setup.\", \"Use with Mui Spinner, skeletons, or other feedback to improve perceived performance.\", ], }, accessibility: { designerList: [ \"The loader is announced to screen readers via role='status', ensuring updates are conveyed politely.\", \"aria-busy is set to true when loading, indicating the region is currently in a 'busy' state.\", \"A visually hidden 'Loading…' text is included by default to provide meaningful content for screen readers, even if the slotted content is purely visual.\", \"The component respects the user’s reduced motion preferences via prefers-reduced-motion, preventing potentially distracting animations.\", \"No additional labels are required from the consumer, making it lightweight and flexible while remaining accessible by default.\", ], engineerList: [ \"The loader is announced to screen readers via role='status', ensuring updates are conveyed politely.\", \"aria-busy is set to true when loading, indicating the region is currently in a 'busy' state.\", \"A visually hidden 'Loading…' text is included by default to provide meaningful content for screen readers, even if the slotted content is purely visual.\", \"The component respects the user’s reduced motion preferences via prefers-reduced-motion, preventing potentially distracting animations.\", \"No additional labels are required from the consumer, making it lightweight and flexible while remaining accessible by default.\", ], }, anatomy: { image: \"\", list: [\"\"], }, variants: { items: [ { key: \"pulsate\", title: \"Pulsate\", description: \"\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/5gZwRuH4Ojs38xlq7HAMCt/47be2502487c0d85955c203788442d12/pulse.gif\", }, { key: \"fade-in\", title: \"Fade-In\", description: \"\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/xPo8WGtJjoiW5y8gcXFJG/ed432ec413dc4839129139dad546e926/fade-in.gif\", }, { key: \"translate-up\", title: \"Translate: Up\", description: \"Default direction is Up. Ability to define the preferred direction: Up, Right, Down, Left.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/4UTi4tmMxdiTDNR0wi5AOt/8d0e21d88eb33c71d1c7f69df8f42772/up.gif\", }, { key: \"translate-down\", title: \"Translate: Down\", description: \"Default direction is Up. Ability to define the preferred direction: Up, Right, Down, Left.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/63936AreBgAC7oxohQbLpY/e26318a5b4b6aaa790f363c4180d92ad/down.gif\", }, { key: \"translate-left\", title: \"Translate: Left\", description: \"Default direction is Up. Ability to define the preferred direction: Up, Right, Down, Left.\", image: \"hhttps://images.ctfassets.net/i5uwscj4pkk2/5Rzmo4ISRIfaY5aMAbO1U6/0db9896ce44b9704960fde8bc9b70a07/left.gif\", }, { key: \"translate-right\", title: \"Translate: Right\", description: \"Default direction is Up. Ability to define the preferred direction: Up, Right, Down, Left.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/2pzlTEsdJj4FKmnsleLO0T/79a8d4fbecc3953a9ec21772df5ee9ac/right.gif\", }, ], }, compositions: { description: \"Showcases actual use cases, demonstrating how the component fits into real-world UI scenarios.\", items: [ { key: \"guru-outcomes-dashboard\", name: \"Guru Outcomes - Dashboard\", description: \"Use the <mui-loader> component to mask slow network or initial data load times. Combine its features to create a seamless loading experience.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/7fsKn4mqKGieVh2D1EdyuR/a9afa145001e13470054aa9d7004127d/outcomes-home.gif\", }, { key: \"guru-outcomes-roadmap\", name: \"Guru Outcomes - Roadmap\", description: \"The Loader component in action on the roadmap page, smoothly loading the UI while masking delays and improving perceived performance.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/7Hebis0o1mlvvDZlQRZfzl/f0c06679ab417f2ee624b570226da77d/outcomes-roadmap.gif\", }, ], }, related: { items: [ { name: \"Spinner\", link: \"https://guides.muibook.com/loader\", }, ], }, rules: [ { heading: \"\", description: \"\", doContent: [{ description: \"\", image: \"\" }], dontContent: [{ description: \"\", image: \"\" }], }, ], behaviour: { list: [\"\"], }, writing: { list: [\"\"], }, }, }"
5666
5666
  }
5667
5667
  ],
5668
5668
  "exports": [
@@ -5671,136 +5671,53 @@
5671
5671
  "name": "muiDocs",
5672
5672
  "declaration": {
5673
5673
  "name": "muiDocs",
5674
- "module": "src/components/mui-link/doc.ts"
5674
+ "module": "src/components/mui-loader/doc.ts"
5675
5675
  }
5676
5676
  }
5677
5677
  ]
5678
5678
  },
5679
5679
  {
5680
5680
  "kind": "javascript-module",
5681
- "path": "src/components/mui-link/index.ts",
5681
+ "path": "src/components/mui-loader/index.ts",
5682
5682
  "declarations": [
5683
5683
  {
5684
5684
  "kind": "class",
5685
5685
  "description": "",
5686
- "name": "MuiLink",
5686
+ "name": "MuiLoader",
5687
5687
  "members": [
5688
- {
5689
- "kind": "method",
5690
- "name": "updateSlotState",
5691
- "privacy": "private"
5692
- },
5693
5688
  {
5694
5689
  "kind": "method",
5695
5690
  "name": "render"
5691
+ }
5692
+ ],
5693
+ "attributes": [
5694
+ {
5695
+ "name": "loading"
5696
5696
  },
5697
5697
  {
5698
- "kind": "method",
5699
- "name": "updateAvatarSizes",
5700
- "return": {
5701
- "type": {
5702
- "text": "void"
5703
- }
5704
- },
5705
- "parameters": [
5706
- {
5707
- "name": "nodes",
5708
- "type": {
5709
- "text": "Node[]"
5710
- }
5711
- }
5712
- ]
5698
+ "name": "animation"
5713
5699
  },
5714
5700
  {
5715
- "kind": "method",
5716
- "name": "updateIconSizes",
5717
- "return": {
5718
- "type": {
5719
- "text": "void"
5720
- }
5721
- },
5722
- "parameters": [
5723
- {
5724
- "name": "nodes",
5725
- "type": {
5726
- "text": "Node[]"
5727
- }
5728
- },
5729
- {
5730
- "name": "isIconOnly",
5731
- "type": {
5732
- "text": "boolean"
5733
- }
5734
- }
5735
- ]
5701
+ "name": "direction"
5736
5702
  },
5737
5703
  {
5738
- "kind": "method",
5739
- "name": "updateBadgeSizes",
5740
- "return": {
5741
- "type": {
5742
- "text": "void"
5743
- }
5744
- },
5745
- "parameters": [
5746
- {
5747
- "name": "nodes",
5748
- "type": {
5749
- "text": "Node[]"
5750
- }
5751
- }
5752
- ]
5753
- },
5754
- {
5755
- "kind": "method",
5756
- "name": "waitForPartMap",
5757
- "return": {
5758
- "type": {
5759
- "text": "Promise<void>"
5760
- }
5761
- }
5762
- }
5763
- ],
5764
- "attributes": [
5765
- {
5766
- "name": "target"
5767
- },
5768
- {
5769
- "name": "href"
5770
- },
5771
- {
5772
- "name": "variant"
5773
- },
5774
- {
5775
- "name": "disabled"
5776
- },
5777
- {
5778
- "name": "weight"
5779
- },
5780
- {
5781
- "name": "size"
5782
- },
5783
- {
5784
- "name": "download"
5785
- },
5786
- {
5787
- "name": "usage"
5704
+ "name": "duration"
5788
5705
  }
5789
5706
  ],
5790
5707
  "superclass": {
5791
5708
  "name": "HTMLElement"
5792
5709
  },
5793
- "tagName": "mui-link",
5710
+ "tagName": "mui-loader",
5794
5711
  "customElement": true
5795
5712
  }
5796
5713
  ],
5797
5714
  "exports": [
5798
5715
  {
5799
5716
  "kind": "custom-element-definition",
5800
- "name": "mui-link",
5717
+ "name": "mui-loader",
5801
5718
  "declaration": {
5802
- "name": "MuiLink",
5803
- "module": "src/components/mui-link/index.ts"
5719
+ "name": "MuiLoader",
5720
+ "module": "src/components/mui-loader/index.ts"
5804
5721
  }
5805
5722
  }
5806
5723
  ]
@@ -5837,7 +5754,7 @@
5837
5754
  },
5838
5755
  {
5839
5756
  "kind": "javascript-module",
5840
- "path": "src/components/mui-loader/doc.ts",
5757
+ "path": "src/components/mui-link/doc.ts",
5841
5758
  "declarations": [
5842
5759
  {
5843
5760
  "kind": "variable",
@@ -5845,7 +5762,7 @@
5845
5762
  "type": {
5846
5763
  "text": "MuiDocs"
5847
5764
  },
5848
- "default": "{ Loader: { title: \"Loader\", description: \"The Loader component applies smooth, built-in transitions during page loads, content updates, or skeleton placeholders to maintain a seamless, polished experience.\", hero: [\"\"], figma: [ \"https://www.figma.com/design/l0mt1lXu97XoHJCEdnrWLp/Mui-Design-System?node-id=1059-12710&t=BwezUSymTClm00wJ-1\", ], storybook: [\"https://stories.muibook.com/?path=/docs/feedback-loader--docs\"], github: [\"https://github.com/michaeltrilford/muibook/blob/main/src/components/mui-loader/index.ts\"], website: [\"\"], guides: [\"https://guides.muibook.com/loader\"], usage: { list: [ \"Wrap any page or UI section with Mui-Loader to automatically display loading animations.\", \"Ideal for initial page loads, content transitions, or skeleton screens while data is fetching.\", \"When crafting skeleton states inside Loader, prefer design tokens, rem units, and percentages over fixed pixel sizes.\", \"Compose placeholders with Muibook layout components such as mui-v-stack, mui-h-stack, and mui-grid for consistent spacing.\", \"Applied to pages or key components for seamless load transitions.\", \"Works seamlessly with other MUI components and layouts without additional setup.\", \"Use with Mui Spinner, skeletons, or other feedback to improve perceived performance.\", ], }, accessibility: { designerList: [ \"The loader is announced to screen readers via role='status', ensuring updates are conveyed politely.\", \"aria-busy is set to true when loading, indicating the region is currently in a 'busy' state.\", \"A visually hidden 'Loading…' text is included by default to provide meaningful content for screen readers, even if the slotted content is purely visual.\", \"The component respects the user’s reduced motion preferences via prefers-reduced-motion, preventing potentially distracting animations.\", \"No additional labels are required from the consumer, making it lightweight and flexible while remaining accessible by default.\", ], engineerList: [ \"The loader is announced to screen readers via role='status', ensuring updates are conveyed politely.\", \"aria-busy is set to true when loading, indicating the region is currently in a 'busy' state.\", \"A visually hidden 'Loading…' text is included by default to provide meaningful content for screen readers, even if the slotted content is purely visual.\", \"The component respects the user’s reduced motion preferences via prefers-reduced-motion, preventing potentially distracting animations.\", \"No additional labels are required from the consumer, making it lightweight and flexible while remaining accessible by default.\", ], }, anatomy: { image: \"\", list: [\"\"], }, variants: { items: [ { key: \"pulsate\", title: \"Pulsate\", description: \"\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/5gZwRuH4Ojs38xlq7HAMCt/47be2502487c0d85955c203788442d12/pulse.gif\", }, { key: \"fade-in\", title: \"Fade-In\", description: \"\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/xPo8WGtJjoiW5y8gcXFJG/ed432ec413dc4839129139dad546e926/fade-in.gif\", }, { key: \"translate-up\", title: \"Translate: Up\", description: \"Default direction is Up. Ability to define the preferred direction: Up, Right, Down, Left.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/4UTi4tmMxdiTDNR0wi5AOt/8d0e21d88eb33c71d1c7f69df8f42772/up.gif\", }, { key: \"translate-down\", title: \"Translate: Down\", description: \"Default direction is Up. Ability to define the preferred direction: Up, Right, Down, Left.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/63936AreBgAC7oxohQbLpY/e26318a5b4b6aaa790f363c4180d92ad/down.gif\", }, { key: \"translate-left\", title: \"Translate: Left\", description: \"Default direction is Up. Ability to define the preferred direction: Up, Right, Down, Left.\", image: \"hhttps://images.ctfassets.net/i5uwscj4pkk2/5Rzmo4ISRIfaY5aMAbO1U6/0db9896ce44b9704960fde8bc9b70a07/left.gif\", }, { key: \"translate-right\", title: \"Translate: Right\", description: \"Default direction is Up. Ability to define the preferred direction: Up, Right, Down, Left.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/2pzlTEsdJj4FKmnsleLO0T/79a8d4fbecc3953a9ec21772df5ee9ac/right.gif\", }, ], }, compositions: { description: \"Showcases actual use cases, demonstrating how the component fits into real-world UI scenarios.\", items: [ { key: \"guru-outcomes-dashboard\", name: \"Guru Outcomes - Dashboard\", description: \"Use the <mui-loader> component to mask slow network or initial data load times. Combine its features to create a seamless loading experience.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/7fsKn4mqKGieVh2D1EdyuR/a9afa145001e13470054aa9d7004127d/outcomes-home.gif\", }, { key: \"guru-outcomes-roadmap\", name: \"Guru Outcomes - Roadmap\", description: \"The Loader component in action on the roadmap page, smoothly loading the UI while masking delays and improving perceived performance.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/7Hebis0o1mlvvDZlQRZfzl/f0c06679ab417f2ee624b570226da77d/outcomes-roadmap.gif\", }, ], }, related: { items: [ { name: \"Spinner\", link: \"https://guides.muibook.com/loader\", }, ], }, rules: [ { heading: \"\", description: \"\", doContent: [{ description: \"\", image: \"\" }], dontContent: [{ description: \"\", image: \"\" }], }, ], behaviour: { list: [\"\"], }, writing: { list: [\"\"], }, }, }"
5765
+ "default": "{ Link: { title: \"Link\", description: \"Links are used to navigate between pages or external content. They are visually distinct from surrounding text by using underlines — a familiar and accessible pattern that ensures clarity and consistency.\", hero: [ \"https://images.ctfassets.net/i5uwscj4pkk2/7bK1593sNzW75ZoqBupCRj/0420d8ef12472208403efa48d2fe98d6/Link_-_Home_Image.png\", ], figma: [\"https://www.figma.com/design/l0mt1lXu97XoHJCEdnrWLp/Mui-Design-System?node-id=3-663&t=fSFYVey9aCoE5oQa-1\"], storybook: [\"https://stories.muibook.com/?path=/docs/actions-link--docs\"], github: [\"https://github.com/michaeltrilford/muibook/blob/main/src/components/mui-link/index.ts\"], website: [\"https://muibook.com/#/link\"], guides: [\"https://guides.muibook.com/link\"], usage: { list: [ \"Use links to navigate to related content or different pages.\", \"Use for navigation only — use buttons for actions like submitting forms or changing data.\", \"Keep link text concise and descriptive. Avoid vague labels like 'Click here.'\", \"Use full sentences or phrases that clearly describe the destination.\", \"Prefer inline links within body text unless a more prominent callout is needed.\", ], }, accessibility: { designerList: [\"\"], engineerList: [\"\"], }, anatomy: { image: \"https://images.ctfassets.net/i5uwscj4pkk2/6Rbr0KRWAiNRuPsagpreV7/2adc3626aa45ddc95ddf7d0a508c7917/Link_-_Anatomy.png\", list: [ \"LABEL: Text describing the link / link button action. Use action verbs or phrases to tell the user what will happen next, and follow the link label content guidelines.\", \"BEFORE: An optional area to include an icon before the label. Use an icon to add additional affordance where the icon has a clear and well-established meaning. Most links don't require an icon, so be consistent and deliberate when you do.\", \"AFTER: An optional area to include an icon after the label, often used for a chevron-down-arrow icon to indicate a dropdown menu or accordion experiences where the placement is on the far right of the link.\", \"ICON ONLY: Use when the action is easily understood and space is limited.\", ], }, variants: { items: [ { key: \"size-large\", title: \"Size: Large\", description: \"Used when a link needs to stand out in layouts, such as hero sections or alongside large headings. If used inline, it should match the surrounding text size to maintain visual hierarchy and scale consistency. E.g. Use small size icon when it is paired with large sized link.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/Tbxhps7s88CFzROYc0Lqs/3440df9aefca7cb9de3ce5015a3a4e82/Default_-_Large.png\", }, { key: \"size-medium\", title: \"Size: Medium (Default)\", description: \"The standard size for most link usage. Works well inline with body text or as standalone links within common page layouts. When used inline, it aligns with default body text for consistent reading flow. E.g. Use x-small size icon when it is paired with medium sized link.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/3NbinCPLEbtetN63xh18Sy/e0a0e9bbcd11a71faefc6ad1fc0e064d/Default_-_Medium.png\", }, { key: \"size-small\", title: \"Size: Small\", description: \"Ideal for dense interfaces or compact areas such as cards, side panels, or footnotes. When used inline, it should match the smaller text size to preserve a balanced visual rhythm. E.g. Use x-small size icon when it is paired with small sized link.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/4uaoT2KHM6ux4X30BxwGYo/91137cc74414f2f32b869fae59f9625d/Default_-_Small.png\", }, { key: \"size-x-small\", title: \"Size: XSmall\", description: \"Used sparingly in tight spaces like toolbars, metadata, or inline legal text. Should align with surrounding text to avoid disrupting scale and hierarchy. E.g. Use x-small size icon when it is paired with x-small sized link.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/27dAzNJ6Q5XHVKv5ROXq36/ace1f6540b5f363624730be001bf91ce/Default_-_XSmall.png\", }, { key: \"primary\", title: \"Primary\", description: \"A high emphasis link style used for key navigation or calls to action. Visually aligned with the primary button to ensure consistency across components. When an icon is slotted into a link, it automatically inherits the link button’s default icon size. If you need a different look or emphasis, you can override the size as required.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/7wDlLjYvZEOgP8bQ6mfOuY/51b39a09c73f93ee9291e1e053df308a/Primary.png\", }, { key: \"primary-icon-only\", title: \"Primary - IconOnly\", description: \"An icon only version of the primary link. Best used when the icon meaning is immediately clear, such as external links, arrows, or downloads. Uses a small size icon when pairing with other buttons, or medium size icon for standalone actions.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/5sEr4Bhu2mwobKt6yPO9T7/a248fc0fe630ddd7f837c256a9aac126/Primary_-_IconOnly.png\", }, { key: \"secondary\", title: \"Secondary\", description: \"An icon only version of the primary link. Best used when the icon meaning is immediately clear, such as external links, arrows, or downloads. Uses a small size icon when pairing with other buttons, or medium size icon for standalone actions.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/1y7LN0FWjqrAQim9y289YN/2a65b13be6f42399404fb5bb68014700/Secondary.png\", }, { key: \"secondary-icon-only\", title: \"Secondary - IconOnly\", description: \"An icon only version of the secondary link. Ideal for contextual actions placed beside content or inside user interface components. Uses a small size icon when pairing with other buttons, or medium size icon for standalone actions.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/nWMRYy5KcAqFxnrRdBXJS/d02dc2a67ae81bca02b82645c998fb9b/Secondary_-_IconOnly.png\", }, { key: \"tertiary\", title: \"Tertiary\", description: \"A subtle and low emphasis style often used inline with body text or in subdued areas of the interface. Mirrors the styling of the tertiary button for visual harmony in dense content. When an icon is slotted into a link, it automatically inherits the link button’s default icon size. If you need a different look or emphasis, you can override the size as required.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/ydUs1pJsUgg7JBX7xpIOW/8e8cd367963506e35f39a97a8f41d616/Tertiary.png\", }, { key: \"tertiary-icon-only\", title: \"Tertiary - IconOnly\", description: \"A minimal visual style with just an icon. Best for lightweight or background interactions in compact spaces. Uses a small size icon when pairing with other buttons, or medium size icon for standalone actions.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/79wxg2B2u21x1qAKTsFOIM/d8c1665de85c90983bbe50d3762f2298/Tertiary_-_IconOnly.png\", }, { key: \"overlay\", title: \"Overlay\", description: \"Use on layered media or tinted surfaces where link actions need contrast without heavy visual weight. Works well for controls rendered over previews and imagery.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/1y7LN0FWjqrAQim9y289YN/2a65b13be6f42399404fb5bb68014700/Secondary.png\", }, { key: \"attention\", title: \"Attention\", description: \"A visually distinct style intended to highlight urgency, important information, or warnings. Styled to match the attention button, typically used in upgrade prompts or legal notices. When an icon is slotted into a link, it automatically inherits the link button’s default icon size. If you need a different look or emphasis, you can override the size as required.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/6grNjw60gY1ShYuexn23oX/b1cd5e10f9a1f5b8e5e3df4bf4780a0a/Attention.png\", }, { key: \"attention-icon-only\", title: \"Attention - IconOnly\", description: \"An icon only variant that draws attention to critical actions or time sensitive content. Uses a small size icon.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/5osepffgbQtuUmunLgCDPH/83490dc2ac0ef308a53e16e5b992efc5/Attention_-_IconOnly.png\", }, ], }, compositions: { description: \"\", items: [ { key: \"\", name: \"\", description: \"\", image: \"\", }, ], }, related: { items: [ { name: \"Button\", link: \"https://guides.muibook.com/button\", }, { name: \"Icons\", link: \"https://guides.muibook.com/icons\", }, ], }, rules: [ { heading: \"Link vs Button\", description: \"Links and Buttons may look similar, but links are for navigating between pages or sections of your app or site, while buttons are for triggering actions.\", doContent: [ { description: \"Use a link when navigating to another page or view.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/7xOE9DNKWgy1lZoT0FbMOW/cc13fbeeaa85b2507087645d925d7323/button-vs-link-do.png\", }, ], dontContent: [ { description: \"Don’t use a link to trigger tasks like submitting a form or saving data.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/6tSAw6uBvg142Gzw7tenBc/4b8db682687b42f3c53fc32557cc4eee/button-vs-link-do-not.png\", }, ], }, { heading: \"Text & Icon Actions\", description: \"\", doContent: [ { description: \"Use the 'small' size icon within a medium sized action\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/2W1xs6NPj3jRrW6ZaVGRvZ/3a11566b68fffda85bf5f780c4d6a394/dropdown-bar-icon-do.png\", }, ], dontContent: [ { description: \"Avoid 'x-small', 'medium' or 'large' size icons within a medium sized action\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/6BgHzCgKqk44piisNH4tE6/c08d91a1cf5231a089844d20f6ab968c/dropdown-bar-icon-dont.png\", }, ], }, { heading: \"Icon-Only Actions\", description: \"\", doContent: [ { description: \"Use a 'medium' size icon when using an icon-only medium sized action\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/3syzrNBEXbBjp5hGEUvF4M/0471f4b16939d8ee54deaf48997ff455/action-icon-do.png\", }, ], dontContent: [ { description: \"Avoid 'x-small', 'medium' or 'large' size icons within an icon-only medium sized action\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/5V2TE85dY848jz1dP6Y0lC/b8e433c8abad5a4402ff1f86ddb8c848/action-icon-dont.png\", }, ], }, ], behaviour: { list: [\"\"], image: \"https://images.ctfassets.net/i5uwscj4pkk2/qS1BAkfK7TDpy9rq4cdF1/d2535f48b4d2711f9dba6d056f21e3ec/Link_-_Behaviour.png\", }, writing: { list: [\"\"], }, }, }"
5849
5766
  }
5850
5767
  ],
5851
5768
  "exports": [
@@ -5854,53 +5771,136 @@
5854
5771
  "name": "muiDocs",
5855
5772
  "declaration": {
5856
5773
  "name": "muiDocs",
5857
- "module": "src/components/mui-loader/doc.ts"
5774
+ "module": "src/components/mui-link/doc.ts"
5858
5775
  }
5859
5776
  }
5860
5777
  ]
5861
5778
  },
5862
5779
  {
5863
5780
  "kind": "javascript-module",
5864
- "path": "src/components/mui-loader/index.ts",
5781
+ "path": "src/components/mui-link/index.ts",
5865
5782
  "declarations": [
5866
5783
  {
5867
5784
  "kind": "class",
5868
5785
  "description": "",
5869
- "name": "MuiLoader",
5786
+ "name": "MuiLink",
5870
5787
  "members": [
5788
+ {
5789
+ "kind": "method",
5790
+ "name": "updateSlotState",
5791
+ "privacy": "private"
5792
+ },
5871
5793
  {
5872
5794
  "kind": "method",
5873
5795
  "name": "render"
5796
+ },
5797
+ {
5798
+ "kind": "method",
5799
+ "name": "updateAvatarSizes",
5800
+ "return": {
5801
+ "type": {
5802
+ "text": "void"
5803
+ }
5804
+ },
5805
+ "parameters": [
5806
+ {
5807
+ "name": "nodes",
5808
+ "type": {
5809
+ "text": "Node[]"
5810
+ }
5811
+ }
5812
+ ]
5813
+ },
5814
+ {
5815
+ "kind": "method",
5816
+ "name": "updateIconSizes",
5817
+ "return": {
5818
+ "type": {
5819
+ "text": "void"
5820
+ }
5821
+ },
5822
+ "parameters": [
5823
+ {
5824
+ "name": "nodes",
5825
+ "type": {
5826
+ "text": "Node[]"
5827
+ }
5828
+ },
5829
+ {
5830
+ "name": "isIconOnly",
5831
+ "type": {
5832
+ "text": "boolean"
5833
+ }
5834
+ }
5835
+ ]
5836
+ },
5837
+ {
5838
+ "kind": "method",
5839
+ "name": "updateBadgeSizes",
5840
+ "return": {
5841
+ "type": {
5842
+ "text": "void"
5843
+ }
5844
+ },
5845
+ "parameters": [
5846
+ {
5847
+ "name": "nodes",
5848
+ "type": {
5849
+ "text": "Node[]"
5850
+ }
5851
+ }
5852
+ ]
5853
+ },
5854
+ {
5855
+ "kind": "method",
5856
+ "name": "waitForPartMap",
5857
+ "return": {
5858
+ "type": {
5859
+ "text": "Promise<void>"
5860
+ }
5861
+ }
5874
5862
  }
5875
5863
  ],
5876
5864
  "attributes": [
5877
5865
  {
5878
- "name": "loading"
5866
+ "name": "target"
5879
5867
  },
5880
5868
  {
5881
- "name": "animation"
5869
+ "name": "href"
5882
5870
  },
5883
5871
  {
5884
- "name": "direction"
5872
+ "name": "variant"
5885
5873
  },
5886
5874
  {
5887
- "name": "duration"
5875
+ "name": "disabled"
5876
+ },
5877
+ {
5878
+ "name": "weight"
5879
+ },
5880
+ {
5881
+ "name": "size"
5882
+ },
5883
+ {
5884
+ "name": "download"
5885
+ },
5886
+ {
5887
+ "name": "usage"
5888
5888
  }
5889
5889
  ],
5890
5890
  "superclass": {
5891
5891
  "name": "HTMLElement"
5892
5892
  },
5893
- "tagName": "mui-loader",
5893
+ "tagName": "mui-link",
5894
5894
  "customElement": true
5895
5895
  }
5896
5896
  ],
5897
5897
  "exports": [
5898
5898
  {
5899
5899
  "kind": "custom-element-definition",
5900
- "name": "mui-loader",
5900
+ "name": "mui-link",
5901
5901
  "declaration": {
5902
- "name": "MuiLoader",
5903
- "module": "src/components/mui-loader/index.ts"
5902
+ "name": "MuiLink",
5903
+ "module": "src/components/mui-link/index.ts"
5904
5904
  }
5905
5905
  }
5906
5906
  ]
@@ -9963,26 +9963,65 @@
9963
9963
  },
9964
9964
  {
9965
9965
  "kind": "javascript-module",
9966
- "path": "src/components/mui-list/list/index.ts",
9966
+ "path": "src/components/mui-slat/group/index.ts",
9967
9967
  "declarations": [
9968
9968
  {
9969
9969
  "kind": "class",
9970
9970
  "description": "",
9971
- "name": "MuiList",
9971
+ "name": "MuiSlatGroup",
9972
+ "members": [
9973
+ {
9974
+ "kind": "field",
9975
+ "name": "usage",
9976
+ "type": {
9977
+ "text": "string"
9978
+ },
9979
+ "privacy": "private",
9980
+ "default": "\"\""
9981
+ },
9982
+ {
9983
+ "kind": "field",
9984
+ "name": "mutationObserver",
9985
+ "type": {
9986
+ "text": "MutationObserver | null"
9987
+ },
9988
+ "privacy": "private",
9989
+ "default": "null"
9990
+ },
9991
+ {
9992
+ "kind": "method",
9993
+ "name": "observeSlotChanges",
9994
+ "privacy": "private"
9995
+ },
9996
+ {
9997
+ "kind": "method",
9998
+ "name": "setLastInGroup",
9999
+ "privacy": "private"
10000
+ },
10001
+ {
10002
+ "kind": "method",
10003
+ "name": "render"
10004
+ }
10005
+ ],
10006
+ "attributes": [
10007
+ {
10008
+ "name": "usage"
10009
+ }
10010
+ ],
9972
10011
  "superclass": {
9973
10012
  "name": "HTMLElement"
9974
10013
  },
9975
- "tagName": "mui-list",
10014
+ "tagName": "mui-slat-group",
9976
10015
  "customElement": true
9977
10016
  }
9978
10017
  ],
9979
10018
  "exports": [
9980
10019
  {
9981
10020
  "kind": "custom-element-definition",
9982
- "name": "mui-list",
10021
+ "name": "mui-slat-group",
9983
10022
  "declaration": {
9984
- "name": "MuiList",
9985
- "module": "src/components/mui-list/list/index.ts"
10023
+ "name": "MuiSlatGroup",
10024
+ "module": "src/components/mui-slat/group/index.ts"
9986
10025
  }
9987
10026
  }
9988
10027
  ]
@@ -10056,6 +10095,32 @@
10056
10095
  }
10057
10096
  ]
10058
10097
  },
10098
+ {
10099
+ "kind": "javascript-module",
10100
+ "path": "src/components/mui-list/list/index.ts",
10101
+ "declarations": [
10102
+ {
10103
+ "kind": "class",
10104
+ "description": "",
10105
+ "name": "MuiList",
10106
+ "superclass": {
10107
+ "name": "HTMLElement"
10108
+ },
10109
+ "tagName": "mui-list",
10110
+ "customElement": true
10111
+ }
10112
+ ],
10113
+ "exports": [
10114
+ {
10115
+ "kind": "custom-element-definition",
10116
+ "name": "mui-list",
10117
+ "declaration": {
10118
+ "name": "MuiList",
10119
+ "module": "src/components/mui-list/list/index.ts"
10120
+ }
10121
+ }
10122
+ ]
10123
+ },
10059
10124
  {
10060
10125
  "kind": "javascript-module",
10061
10126
  "path": "src/components/mui-stack/hstack/index.ts",
@@ -10142,65 +10207,52 @@
10142
10207
  },
10143
10208
  {
10144
10209
  "kind": "javascript-module",
10145
- "path": "src/components/mui-slat/group/index.ts",
10210
+ "path": "src/components/mui-stepper/step/index.ts",
10146
10211
  "declarations": [
10147
10212
  {
10148
10213
  "kind": "class",
10149
10214
  "description": "",
10150
- "name": "MuiSlatGroup",
10215
+ "name": "MuiStep",
10151
10216
  "members": [
10152
10217
  {
10153
- "kind": "field",
10154
- "name": "usage",
10155
- "type": {
10156
- "text": "string"
10157
- },
10158
- "privacy": "private",
10159
- "default": "\"\""
10160
- },
10161
- {
10162
- "kind": "field",
10163
- "name": "mutationObserver",
10164
- "type": {
10165
- "text": "MutationObserver | null"
10166
- },
10167
- "privacy": "private",
10168
- "default": "null"
10218
+ "kind": "method",
10219
+ "name": "render"
10220
+ }
10221
+ ],
10222
+ "attributes": [
10223
+ {
10224
+ "name": "state"
10169
10225
  },
10170
10226
  {
10171
- "kind": "method",
10172
- "name": "observeSlotChanges",
10173
- "privacy": "private"
10227
+ "name": "resolved-state"
10174
10228
  },
10175
10229
  {
10176
- "kind": "method",
10177
- "name": "setLastInGroup",
10178
- "privacy": "private"
10230
+ "name": "title"
10179
10231
  },
10180
10232
  {
10181
- "kind": "method",
10182
- "name": "render"
10183
- }
10184
- ],
10185
- "attributes": [
10233
+ "name": "direction"
10234
+ },
10186
10235
  {
10187
- "name": "usage"
10236
+ "name": "hide-icon"
10237
+ },
10238
+ {
10239
+ "name": "size"
10188
10240
  }
10189
10241
  ],
10190
10242
  "superclass": {
10191
10243
  "name": "HTMLElement"
10192
10244
  },
10193
- "tagName": "mui-slat-group",
10245
+ "tagName": "mui-step",
10194
10246
  "customElement": true
10195
10247
  }
10196
10248
  ],
10197
10249
  "exports": [
10198
10250
  {
10199
10251
  "kind": "custom-element-definition",
10200
- "name": "mui-slat-group",
10252
+ "name": "mui-step",
10201
10253
  "declaration": {
10202
- "name": "MuiSlatGroup",
10203
- "module": "src/components/mui-slat/group/index.ts"
10254
+ "name": "MuiStep",
10255
+ "module": "src/components/mui-stepper/step/index.ts"
10204
10256
  }
10205
10257
  }
10206
10258
  ]
@@ -10289,6 +10341,43 @@
10289
10341
  }
10290
10342
  ]
10291
10343
  },
10344
+ {
10345
+ "kind": "javascript-module",
10346
+ "path": "src/components/mui-table/cell/index.ts",
10347
+ "declarations": [
10348
+ {
10349
+ "kind": "class",
10350
+ "description": "",
10351
+ "name": "MuiCell",
10352
+ "members": [
10353
+ {
10354
+ "kind": "method",
10355
+ "name": "render"
10356
+ }
10357
+ ],
10358
+ "attributes": [
10359
+ {
10360
+ "name": "align-y"
10361
+ }
10362
+ ],
10363
+ "superclass": {
10364
+ "name": "HTMLElement"
10365
+ },
10366
+ "tagName": "mui-cell",
10367
+ "customElement": true
10368
+ }
10369
+ ],
10370
+ "exports": [
10371
+ {
10372
+ "kind": "custom-element-definition",
10373
+ "name": "mui-cell",
10374
+ "declaration": {
10375
+ "name": "MuiCell",
10376
+ "module": "src/components/mui-table/cell/index.ts"
10377
+ }
10378
+ }
10379
+ ]
10380
+ },
10292
10381
  {
10293
10382
  "kind": "javascript-module",
10294
10383
  "path": "src/components/mui-stepper/stepper/index.ts",
@@ -10462,95 +10551,6 @@
10462
10551
  }
10463
10552
  ]
10464
10553
  },
10465
- {
10466
- "kind": "javascript-module",
10467
- "path": "src/components/mui-stepper/step/index.ts",
10468
- "declarations": [
10469
- {
10470
- "kind": "class",
10471
- "description": "",
10472
- "name": "MuiStep",
10473
- "members": [
10474
- {
10475
- "kind": "method",
10476
- "name": "render"
10477
- }
10478
- ],
10479
- "attributes": [
10480
- {
10481
- "name": "state"
10482
- },
10483
- {
10484
- "name": "resolved-state"
10485
- },
10486
- {
10487
- "name": "title"
10488
- },
10489
- {
10490
- "name": "direction"
10491
- },
10492
- {
10493
- "name": "hide-icon"
10494
- },
10495
- {
10496
- "name": "size"
10497
- }
10498
- ],
10499
- "superclass": {
10500
- "name": "HTMLElement"
10501
- },
10502
- "tagName": "mui-step",
10503
- "customElement": true
10504
- }
10505
- ],
10506
- "exports": [
10507
- {
10508
- "kind": "custom-element-definition",
10509
- "name": "mui-step",
10510
- "declaration": {
10511
- "name": "MuiStep",
10512
- "module": "src/components/mui-stepper/step/index.ts"
10513
- }
10514
- }
10515
- ]
10516
- },
10517
- {
10518
- "kind": "javascript-module",
10519
- "path": "src/components/mui-table/cell/index.ts",
10520
- "declarations": [
10521
- {
10522
- "kind": "class",
10523
- "description": "",
10524
- "name": "MuiCell",
10525
- "members": [
10526
- {
10527
- "kind": "method",
10528
- "name": "render"
10529
- }
10530
- ],
10531
- "attributes": [
10532
- {
10533
- "name": "align-y"
10534
- }
10535
- ],
10536
- "superclass": {
10537
- "name": "HTMLElement"
10538
- },
10539
- "tagName": "mui-cell",
10540
- "customElement": true
10541
- }
10542
- ],
10543
- "exports": [
10544
- {
10545
- "kind": "custom-element-definition",
10546
- "name": "mui-cell",
10547
- "declaration": {
10548
- "name": "MuiCell",
10549
- "module": "src/components/mui-table/cell/index.ts"
10550
- }
10551
- }
10552
- ]
10553
- },
10554
10554
  {
10555
10555
  "kind": "javascript-module",
10556
10556
  "path": "src/components/mui-table/row/index.ts",
@@ -10594,58 +10594,6 @@
10594
10594
  }
10595
10595
  ]
10596
10596
  },
10597
- {
10598
- "kind": "javascript-module",
10599
- "path": "src/components/mui-table/row-group/index.ts",
10600
- "declarations": [
10601
- {
10602
- "kind": "class",
10603
- "description": "",
10604
- "name": "MuiRowGroup",
10605
- "superclass": {
10606
- "name": "HTMLElement"
10607
- },
10608
- "tagName": "mui-row-group",
10609
- "customElement": true
10610
- }
10611
- ],
10612
- "exports": [
10613
- {
10614
- "kind": "custom-element-definition",
10615
- "name": "mui-row-group",
10616
- "declaration": {
10617
- "name": "MuiRowGroup",
10618
- "module": "src/components/mui-table/row-group/index.ts"
10619
- }
10620
- }
10621
- ]
10622
- },
10623
- {
10624
- "kind": "javascript-module",
10625
- "path": "src/components/mui-table/table/index.ts",
10626
- "declarations": [
10627
- {
10628
- "kind": "class",
10629
- "description": "",
10630
- "name": "MuiTable",
10631
- "superclass": {
10632
- "name": "HTMLElement"
10633
- },
10634
- "tagName": "mui-table",
10635
- "customElement": true
10636
- }
10637
- ],
10638
- "exports": [
10639
- {
10640
- "kind": "custom-element-definition",
10641
- "name": "mui-table",
10642
- "declaration": {
10643
- "name": "MuiTable",
10644
- "module": "src/components/mui-table/table/index.ts"
10645
- }
10646
- }
10647
- ]
10648
- },
10649
10597
  {
10650
10598
  "kind": "javascript-module",
10651
10599
  "path": "src/components/mui-tabs/controller/index.ts",
@@ -10718,6 +10666,58 @@
10718
10666
  }
10719
10667
  ]
10720
10668
  },
10669
+ {
10670
+ "kind": "javascript-module",
10671
+ "path": "src/components/mui-table/table/index.ts",
10672
+ "declarations": [
10673
+ {
10674
+ "kind": "class",
10675
+ "description": "",
10676
+ "name": "MuiTable",
10677
+ "superclass": {
10678
+ "name": "HTMLElement"
10679
+ },
10680
+ "tagName": "mui-table",
10681
+ "customElement": true
10682
+ }
10683
+ ],
10684
+ "exports": [
10685
+ {
10686
+ "kind": "custom-element-definition",
10687
+ "name": "mui-table",
10688
+ "declaration": {
10689
+ "name": "MuiTable",
10690
+ "module": "src/components/mui-table/table/index.ts"
10691
+ }
10692
+ }
10693
+ ]
10694
+ },
10695
+ {
10696
+ "kind": "javascript-module",
10697
+ "path": "src/components/mui-table/row-group/index.ts",
10698
+ "declarations": [
10699
+ {
10700
+ "kind": "class",
10701
+ "description": "",
10702
+ "name": "MuiRowGroup",
10703
+ "superclass": {
10704
+ "name": "HTMLElement"
10705
+ },
10706
+ "tagName": "mui-row-group",
10707
+ "customElement": true
10708
+ }
10709
+ ],
10710
+ "exports": [
10711
+ {
10712
+ "kind": "custom-element-definition",
10713
+ "name": "mui-row-group",
10714
+ "declaration": {
10715
+ "name": "MuiRowGroup",
10716
+ "module": "src/components/mui-table/row-group/index.ts"
10717
+ }
10718
+ }
10719
+ ]
10720
+ },
10721
10721
  {
10722
10722
  "kind": "javascript-module",
10723
10723
  "path": "src/components/mui-tabs/item/index.ts",
@@ -10823,6 +10823,51 @@
10823
10823
  }
10824
10824
  ]
10825
10825
  },
10826
+ {
10827
+ "kind": "javascript-module",
10828
+ "path": "src/components/mui-tabs/panel/index.ts",
10829
+ "declarations": [
10830
+ {
10831
+ "kind": "class",
10832
+ "description": "",
10833
+ "name": "MuiTabPanel",
10834
+ "members": [
10835
+ {
10836
+ "kind": "field",
10837
+ "name": "item",
10838
+ "type": {
10839
+ "text": "string | null"
10840
+ }
10841
+ },
10842
+ {
10843
+ "kind": "field",
10844
+ "name": "innerHTML",
10845
+ "default": "` <style> :host { display: block; } :host([hidden]) { display: none !important; } .inner { padding: var(--tab-panel-padding, 0); } </style> <div class=\"inner\"> <slot></slot> </div> `"
10846
+ }
10847
+ ],
10848
+ "attributes": [
10849
+ {
10850
+ "name": "item"
10851
+ }
10852
+ ],
10853
+ "superclass": {
10854
+ "name": "HTMLElement"
10855
+ },
10856
+ "tagName": "mui-tab-panel",
10857
+ "customElement": true
10858
+ }
10859
+ ],
10860
+ "exports": [
10861
+ {
10862
+ "kind": "custom-element-definition",
10863
+ "name": "mui-tab-panel",
10864
+ "declaration": {
10865
+ "name": "MuiTabPanel",
10866
+ "module": "src/components/mui-tabs/panel/index.ts"
10867
+ }
10868
+ }
10869
+ ]
10870
+ },
10826
10871
  {
10827
10872
  "kind": "javascript-module",
10828
10873
  "path": "src/components/mui-tabs/tab-bar/index.ts",
@@ -10982,51 +11027,6 @@
10982
11027
  }
10983
11028
  }
10984
11029
  ]
10985
- },
10986
- {
10987
- "kind": "javascript-module",
10988
- "path": "src/components/mui-tabs/panel/index.ts",
10989
- "declarations": [
10990
- {
10991
- "kind": "class",
10992
- "description": "",
10993
- "name": "MuiTabPanel",
10994
- "members": [
10995
- {
10996
- "kind": "field",
10997
- "name": "item",
10998
- "type": {
10999
- "text": "string | null"
11000
- }
11001
- },
11002
- {
11003
- "kind": "field",
11004
- "name": "innerHTML",
11005
- "default": "` <style> :host { display: block; } :host([hidden]) { display: none !important; } .inner { padding: var(--tab-panel-padding, 0); } </style> <div class=\"inner\"> <slot></slot> </div> `"
11006
- }
11007
- ],
11008
- "attributes": [
11009
- {
11010
- "name": "item"
11011
- }
11012
- ],
11013
- "superclass": {
11014
- "name": "HTMLElement"
11015
- },
11016
- "tagName": "mui-tab-panel",
11017
- "customElement": true
11018
- }
11019
- ],
11020
- "exports": [
11021
- {
11022
- "kind": "custom-element-definition",
11023
- "name": "mui-tab-panel",
11024
- "declaration": {
11025
- "name": "MuiTabPanel",
11026
- "module": "src/components/mui-tabs/panel/index.ts"
11027
- }
11028
- }
11029
- ]
11030
11030
  }
11031
11031
  ]
11032
11032
  }