@muibook/components 11.0.0 → 11.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3121,6 +3121,145 @@
3121
3121
  }
3122
3122
  ]
3123
3123
  },
3124
+ {
3125
+ "kind": "javascript-module",
3126
+ "path": "src/components/mui-input/doc.ts",
3127
+ "declarations": [
3128
+ {
3129
+ "kind": "variable",
3130
+ "name": "muiDocs",
3131
+ "type": {
3132
+ "text": "MuiDocs"
3133
+ },
3134
+ "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 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: [\"\"], }, }, }"
3135
+ }
3136
+ ],
3137
+ "exports": [
3138
+ {
3139
+ "kind": "js",
3140
+ "name": "muiDocs",
3141
+ "declaration": {
3142
+ "name": "muiDocs",
3143
+ "module": "src/components/mui-input/doc.ts"
3144
+ }
3145
+ }
3146
+ ]
3147
+ },
3148
+ {
3149
+ "kind": "javascript-module",
3150
+ "path": "src/components/mui-input/index.ts",
3151
+ "declarations": [
3152
+ {
3153
+ "kind": "class",
3154
+ "description": "",
3155
+ "name": "MuiInput",
3156
+ "members": [
3157
+ {
3158
+ "kind": "field",
3159
+ "name": "_changeHandler",
3160
+ "type": {
3161
+ "text": "(e: Event) => void | undefined"
3162
+ }
3163
+ },
3164
+ {
3165
+ "kind": "method",
3166
+ "name": "cleanupListeners"
3167
+ },
3168
+ {
3169
+ "kind": "method",
3170
+ "name": "setupListener"
3171
+ },
3172
+ {
3173
+ "kind": "method",
3174
+ "name": "updateCharacterCount"
3175
+ },
3176
+ {
3177
+ "kind": "method",
3178
+ "name": "updateSlottedButtons",
3179
+ "return": {
3180
+ "type": {
3181
+ "text": "void"
3182
+ }
3183
+ }
3184
+ },
3185
+ {
3186
+ "kind": "method",
3187
+ "name": "render"
3188
+ }
3189
+ ],
3190
+ "events": [
3191
+ {
3192
+ "name": "change",
3193
+ "type": {
3194
+ "text": "CustomEvent"
3195
+ }
3196
+ },
3197
+ {
3198
+ "name": "input",
3199
+ "type": {
3200
+ "text": "CustomEvent"
3201
+ }
3202
+ }
3203
+ ],
3204
+ "attributes": [
3205
+ {
3206
+ "name": "type"
3207
+ },
3208
+ {
3209
+ "name": "name"
3210
+ },
3211
+ {
3212
+ "name": "value"
3213
+ },
3214
+ {
3215
+ "name": "placeholder"
3216
+ },
3217
+ {
3218
+ "name": "id"
3219
+ },
3220
+ {
3221
+ "name": "label"
3222
+ },
3223
+ {
3224
+ "name": "disabled"
3225
+ },
3226
+ {
3227
+ "name": "hide-label"
3228
+ },
3229
+ {
3230
+ "name": "variant"
3231
+ },
3232
+ {
3233
+ "name": "optional"
3234
+ },
3235
+ {
3236
+ "name": "max-length"
3237
+ },
3238
+ {
3239
+ "name": "size"
3240
+ },
3241
+ {
3242
+ "name": "slot-layout"
3243
+ }
3244
+ ],
3245
+ "superclass": {
3246
+ "name": "HTMLElement"
3247
+ },
3248
+ "tagName": "mui-input",
3249
+ "customElement": true
3250
+ }
3251
+ ],
3252
+ "exports": [
3253
+ {
3254
+ "kind": "custom-element-definition",
3255
+ "name": "mui-input",
3256
+ "declaration": {
3257
+ "name": "MuiInput",
3258
+ "module": "src/components/mui-input/index.ts"
3259
+ }
3260
+ }
3261
+ ]
3262
+ },
3124
3263
  {
3125
3264
  "kind": "javascript-module",
3126
3265
  "path": "src/components/mui-icons/accessibility.ts",
@@ -5417,7 +5556,7 @@
5417
5556
  },
5418
5557
  {
5419
5558
  "kind": "javascript-module",
5420
- "path": "src/components/mui-input/doc.ts",
5559
+ "path": "src/components/mui-link/doc.ts",
5421
5560
  "declarations": [
5422
5561
  {
5423
5562
  "kind": "variable",
@@ -5425,7 +5564,7 @@
5425
5564
  "type": {
5426
5565
  "text": "MuiDocs"
5427
5566
  },
5428
- "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 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: [\"\"], }, }, }"
5567
+ "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: [\"\"], }, }, }"
5429
5568
  }
5430
5569
  ],
5431
5570
  "exports": [
@@ -5434,259 +5573,120 @@
5434
5573
  "name": "muiDocs",
5435
5574
  "declaration": {
5436
5575
  "name": "muiDocs",
5437
- "module": "src/components/mui-input/doc.ts"
5576
+ "module": "src/components/mui-link/doc.ts"
5438
5577
  }
5439
5578
  }
5440
5579
  ]
5441
5580
  },
5442
5581
  {
5443
5582
  "kind": "javascript-module",
5444
- "path": "src/components/mui-input/index.ts",
5583
+ "path": "src/components/mui-link/index.ts",
5445
5584
  "declarations": [
5446
5585
  {
5447
5586
  "kind": "class",
5448
5587
  "description": "",
5449
- "name": "MuiInput",
5588
+ "name": "MuiLink",
5450
5589
  "members": [
5451
- {
5452
- "kind": "field",
5453
- "name": "_changeHandler",
5454
- "type": {
5455
- "text": "(e: Event) => void | undefined"
5456
- }
5457
- },
5458
5590
  {
5459
5591
  "kind": "method",
5460
- "name": "cleanupListeners"
5592
+ "name": "updateSlotState",
5593
+ "privacy": "private"
5461
5594
  },
5462
5595
  {
5463
5596
  "kind": "method",
5464
- "name": "setupListener"
5597
+ "name": "render"
5465
5598
  },
5466
5599
  {
5467
5600
  "kind": "method",
5468
- "name": "updateCharacterCount"
5601
+ "name": "updateAvatarSizes",
5602
+ "return": {
5603
+ "type": {
5604
+ "text": "void"
5605
+ }
5606
+ },
5607
+ "parameters": [
5608
+ {
5609
+ "name": "nodes",
5610
+ "type": {
5611
+ "text": "Node[]"
5612
+ }
5613
+ }
5614
+ ]
5469
5615
  },
5470
5616
  {
5471
5617
  "kind": "method",
5472
- "name": "updateSlottedButtons",
5618
+ "name": "updateIconSizes",
5473
5619
  "return": {
5474
5620
  "type": {
5475
5621
  "text": "void"
5476
5622
  }
5477
- }
5623
+ },
5624
+ "parameters": [
5625
+ {
5626
+ "name": "nodes",
5627
+ "type": {
5628
+ "text": "Node[]"
5629
+ }
5630
+ },
5631
+ {
5632
+ "name": "isIconOnly",
5633
+ "type": {
5634
+ "text": "boolean"
5635
+ }
5636
+ }
5637
+ ]
5478
5638
  },
5479
5639
  {
5480
5640
  "kind": "method",
5481
- "name": "render"
5482
- }
5483
- ],
5484
- "events": [
5485
- {
5486
- "name": "change",
5487
- "type": {
5488
- "text": "CustomEvent"
5489
- }
5641
+ "name": "updateBadgeSizes",
5642
+ "return": {
5643
+ "type": {
5644
+ "text": "void"
5645
+ }
5646
+ },
5647
+ "parameters": [
5648
+ {
5649
+ "name": "nodes",
5650
+ "type": {
5651
+ "text": "Node[]"
5652
+ }
5653
+ }
5654
+ ]
5490
5655
  },
5491
5656
  {
5492
- "name": "input",
5493
- "type": {
5494
- "text": "CustomEvent"
5657
+ "kind": "method",
5658
+ "name": "waitForPartMap",
5659
+ "return": {
5660
+ "type": {
5661
+ "text": "Promise<void>"
5662
+ }
5495
5663
  }
5496
5664
  }
5497
5665
  ],
5498
5666
  "attributes": [
5499
5667
  {
5500
- "name": "type"
5501
- },
5502
- {
5503
- "name": "name"
5504
- },
5505
- {
5506
- "name": "value"
5507
- },
5508
- {
5509
- "name": "placeholder"
5668
+ "name": "target"
5510
5669
  },
5511
5670
  {
5512
- "name": "id"
5671
+ "name": "href"
5513
5672
  },
5514
5673
  {
5515
- "name": "label"
5674
+ "name": "variant"
5516
5675
  },
5517
5676
  {
5518
5677
  "name": "disabled"
5519
5678
  },
5520
5679
  {
5521
- "name": "hide-label"
5522
- },
5523
- {
5524
- "name": "variant"
5525
- },
5526
- {
5527
- "name": "optional"
5680
+ "name": "weight"
5528
5681
  },
5529
5682
  {
5530
- "name": "max-length"
5683
+ "name": "size"
5531
5684
  },
5532
5685
  {
5533
- "name": "size"
5686
+ "name": "download"
5534
5687
  },
5535
5688
  {
5536
- "name": "slot-layout"
5537
- }
5538
- ],
5539
- "superclass": {
5540
- "name": "HTMLElement"
5541
- },
5542
- "tagName": "mui-input",
5543
- "customElement": true
5544
- }
5545
- ],
5546
- "exports": [
5547
- {
5548
- "kind": "custom-element-definition",
5549
- "name": "mui-input",
5550
- "declaration": {
5551
- "name": "MuiInput",
5552
- "module": "src/components/mui-input/index.ts"
5553
- }
5554
- }
5555
- ]
5556
- },
5557
- {
5558
- "kind": "javascript-module",
5559
- "path": "src/components/mui-link/doc.ts",
5560
- "declarations": [
5561
- {
5562
- "kind": "variable",
5563
- "name": "muiDocs",
5564
- "type": {
5565
- "text": "MuiDocs"
5566
- },
5567
- "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: [\"\"], }, }, }"
5568
- }
5569
- ],
5570
- "exports": [
5571
- {
5572
- "kind": "js",
5573
- "name": "muiDocs",
5574
- "declaration": {
5575
- "name": "muiDocs",
5576
- "module": "src/components/mui-link/doc.ts"
5577
- }
5578
- }
5579
- ]
5580
- },
5581
- {
5582
- "kind": "javascript-module",
5583
- "path": "src/components/mui-link/index.ts",
5584
- "declarations": [
5585
- {
5586
- "kind": "class",
5587
- "description": "",
5588
- "name": "MuiLink",
5589
- "members": [
5590
- {
5591
- "kind": "method",
5592
- "name": "updateSlotState",
5593
- "privacy": "private"
5594
- },
5595
- {
5596
- "kind": "method",
5597
- "name": "render"
5598
- },
5599
- {
5600
- "kind": "method",
5601
- "name": "updateAvatarSizes",
5602
- "return": {
5603
- "type": {
5604
- "text": "void"
5605
- }
5606
- },
5607
- "parameters": [
5608
- {
5609
- "name": "nodes",
5610
- "type": {
5611
- "text": "Node[]"
5612
- }
5613
- }
5614
- ]
5615
- },
5616
- {
5617
- "kind": "method",
5618
- "name": "updateIconSizes",
5619
- "return": {
5620
- "type": {
5621
- "text": "void"
5622
- }
5623
- },
5624
- "parameters": [
5625
- {
5626
- "name": "nodes",
5627
- "type": {
5628
- "text": "Node[]"
5629
- }
5630
- },
5631
- {
5632
- "name": "isIconOnly",
5633
- "type": {
5634
- "text": "boolean"
5635
- }
5636
- }
5637
- ]
5638
- },
5639
- {
5640
- "kind": "method",
5641
- "name": "updateBadgeSizes",
5642
- "return": {
5643
- "type": {
5644
- "text": "void"
5645
- }
5646
- },
5647
- "parameters": [
5648
- {
5649
- "name": "nodes",
5650
- "type": {
5651
- "text": "Node[]"
5652
- }
5653
- }
5654
- ]
5655
- },
5656
- {
5657
- "kind": "method",
5658
- "name": "waitForPartMap",
5659
- "return": {
5660
- "type": {
5661
- "text": "Promise<void>"
5662
- }
5663
- }
5664
- }
5665
- ],
5666
- "attributes": [
5667
- {
5668
- "name": "target"
5669
- },
5670
- {
5671
- "name": "href"
5672
- },
5673
- {
5674
- "name": "variant"
5675
- },
5676
- {
5677
- "name": "disabled"
5678
- },
5679
- {
5680
- "name": "weight"
5681
- },
5682
- {
5683
- "name": "size"
5684
- },
5685
- {
5686
- "name": "download"
5687
- },
5688
- {
5689
- "name": "usage"
5689
+ "name": "usage"
5690
5690
  }
5691
5691
  ],
5692
5692
  "superclass": {
@@ -5737,76 +5737,6 @@
5737
5737
  "declarations": [],
5738
5738
  "exports": []
5739
5739
  },
5740
- {
5741
- "kind": "javascript-module",
5742
- "path": "src/components/mui-loader/doc.ts",
5743
- "declarations": [
5744
- {
5745
- "kind": "variable",
5746
- "name": "muiDocs",
5747
- "type": {
5748
- "text": "MuiDocs"
5749
- },
5750
- "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.\", \"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: [\"\"], }, }, }"
5751
- }
5752
- ],
5753
- "exports": [
5754
- {
5755
- "kind": "js",
5756
- "name": "muiDocs",
5757
- "declaration": {
5758
- "name": "muiDocs",
5759
- "module": "src/components/mui-loader/doc.ts"
5760
- }
5761
- }
5762
- ]
5763
- },
5764
- {
5765
- "kind": "javascript-module",
5766
- "path": "src/components/mui-loader/index.ts",
5767
- "declarations": [
5768
- {
5769
- "kind": "class",
5770
- "description": "",
5771
- "name": "MuiLoader",
5772
- "members": [
5773
- {
5774
- "kind": "method",
5775
- "name": "render"
5776
- }
5777
- ],
5778
- "attributes": [
5779
- {
5780
- "name": "loading"
5781
- },
5782
- {
5783
- "name": "animation"
5784
- },
5785
- {
5786
- "name": "direction"
5787
- },
5788
- {
5789
- "name": "duration"
5790
- }
5791
- ],
5792
- "superclass": {
5793
- "name": "HTMLElement"
5794
- },
5795
- "tagName": "mui-loader",
5796
- "customElement": true
5797
- }
5798
- ],
5799
- "exports": [
5800
- {
5801
- "kind": "custom-element-definition",
5802
- "name": "mui-loader",
5803
- "declaration": {
5804
- "name": "MuiLoader",
5805
- "module": "src/components/mui-loader/index.ts"
5806
- }
5807
- }
5808
- ]
5809
- },
5810
5740
  {
5811
5741
  "kind": "javascript-module",
5812
5742
  "path": "src/components/mui-markdown/doc.ts",
@@ -6169,6 +6099,76 @@
6169
6099
  }
6170
6100
  ]
6171
6101
  },
6102
+ {
6103
+ "kind": "javascript-module",
6104
+ "path": "src/components/mui-loader/doc.ts",
6105
+ "declarations": [
6106
+ {
6107
+ "kind": "variable",
6108
+ "name": "muiDocs",
6109
+ "type": {
6110
+ "text": "MuiDocs"
6111
+ },
6112
+ "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.\", \"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: [\"\"], }, }, }"
6113
+ }
6114
+ ],
6115
+ "exports": [
6116
+ {
6117
+ "kind": "js",
6118
+ "name": "muiDocs",
6119
+ "declaration": {
6120
+ "name": "muiDocs",
6121
+ "module": "src/components/mui-loader/doc.ts"
6122
+ }
6123
+ }
6124
+ ]
6125
+ },
6126
+ {
6127
+ "kind": "javascript-module",
6128
+ "path": "src/components/mui-loader/index.ts",
6129
+ "declarations": [
6130
+ {
6131
+ "kind": "class",
6132
+ "description": "",
6133
+ "name": "MuiLoader",
6134
+ "members": [
6135
+ {
6136
+ "kind": "method",
6137
+ "name": "render"
6138
+ }
6139
+ ],
6140
+ "attributes": [
6141
+ {
6142
+ "name": "loading"
6143
+ },
6144
+ {
6145
+ "name": "animation"
6146
+ },
6147
+ {
6148
+ "name": "direction"
6149
+ },
6150
+ {
6151
+ "name": "duration"
6152
+ }
6153
+ ],
6154
+ "superclass": {
6155
+ "name": "HTMLElement"
6156
+ },
6157
+ "tagName": "mui-loader",
6158
+ "customElement": true
6159
+ }
6160
+ ],
6161
+ "exports": [
6162
+ {
6163
+ "kind": "custom-element-definition",
6164
+ "name": "mui-loader",
6165
+ "declaration": {
6166
+ "name": "MuiLoader",
6167
+ "module": "src/components/mui-loader/index.ts"
6168
+ }
6169
+ }
6170
+ ]
6171
+ },
6172
6172
  {
6173
6173
  "kind": "javascript-module",
6174
6174
  "path": "src/components/mui-progress/doc.ts",
@@ -6209,26 +6209,130 @@
6209
6209
  ],
6210
6210
  "attributes": [
6211
6211
  {
6212
- "name": "progress"
6212
+ "name": "progress"
6213
+ },
6214
+ {
6215
+ "name": "state"
6216
+ }
6217
+ ],
6218
+ "superclass": {
6219
+ "name": "HTMLElement"
6220
+ },
6221
+ "tagName": "mui-progress",
6222
+ "customElement": true
6223
+ }
6224
+ ],
6225
+ "exports": [
6226
+ {
6227
+ "kind": "custom-element-definition",
6228
+ "name": "mui-progress",
6229
+ "declaration": {
6230
+ "name": "MuiProgress",
6231
+ "module": "src/components/mui-progress/index.ts"
6232
+ }
6233
+ }
6234
+ ]
6235
+ },
6236
+ {
6237
+ "kind": "javascript-module",
6238
+ "path": "src/components/mui-prompt-message/doc.ts",
6239
+ "declarations": [
6240
+ {
6241
+ "kind": "variable",
6242
+ "name": "muiDocs",
6243
+ "type": {
6244
+ "text": "MuiDocs"
6245
+ },
6246
+ "default": "{ PromptMessage: { title: \"Prompt Message\", description: \"Prompt Message provides a consistent conversation row shell with avatar and message content slots.\", hero: [\"\"], figma: [\"\"], storybook: [\"https://stories.muibook.com\"], github: [\"https://github.com/michaeltrilford/muibook/blob/main/src/components/mui-prompt-message/index.ts\"], website: [\"https://muibook.com/#/prompt-message\"], guides: [\"https://guides.muibook.com/body\"], usage: { list: [ \"Use for chat-style reply rows in assistant and support interfaces.\", \"This component is extracted from composition patterns to keep conversation shells consistent.\", \"Slot avatar content into slot='avatar'.\", \"Use body/content components for message text.\", \"Use size='x-small|small|medium|large' to scale avatar/text rhythm across dense and spacious layouts.\", \"Use variant='ghost' when the message row should render without surface treatment.\", \"Use density='compact' when padding should be removed for tight compositions.\", \"Prefer this component over ad hoc grid wrappers when building threaded chat content.\", ], }, accessibility: { designerList: [ \"Maintain clear speaker distinction through avatar + message pairing.\", \"Keep contrast and typography readable in long conversation threads.\", ], engineerList: [ \"Provide meaningful avatar labels where identity context matters.\", \"Preserve DOM reading order (identity first, then message content).\", \"Avoid injecting decorative-only text into message content; keep semantics focused on conversation copy.\", ], }, anatomy: { image: \"\", list: [\"Bubble container\", \"Avatar slot\", \"Message content slot\"] }, variants: { items: [{ key: \"\", title: \"\", description: \"\", image: \"\" }] }, compositions: { description: \"\", items: [] }, related: { items: [ { name: \"Avatar\", link: \"https://guides.muibook.com/avatar\" }, { name: \"Body\", link: \"https://guides.muibook.com/body\" }, ], }, rules: [ { heading: \"Pattern Rule\", description: \"Use Prompt Message as the base conversation row primitive.\", doContent: [{ description: \"Compose identity + message content through avatar and body slots.\", image: \"\" }], dontContent: [{ description: \"Avoid custom one-off bubble containers per page.\", image: \"\" }], }, ], behaviour: { list: [ \"Avatar and message content align consistently across rows.\", ], }, writing: { list: [ \"Keep message copy concise and scannable in multi-row threads.\", ], }, }, }"
6247
+ }
6248
+ ],
6249
+ "exports": [
6250
+ {
6251
+ "kind": "js",
6252
+ "name": "muiDocs",
6253
+ "declaration": {
6254
+ "name": "muiDocs",
6255
+ "module": "src/components/mui-prompt-message/doc.ts"
6256
+ }
6257
+ }
6258
+ ]
6259
+ },
6260
+ {
6261
+ "kind": "javascript-module",
6262
+ "path": "src/components/mui-prompt-message/index.ts",
6263
+ "declarations": [
6264
+ {
6265
+ "kind": "class",
6266
+ "description": "",
6267
+ "name": "MuiPromptMessage",
6268
+ "members": [
6269
+ {
6270
+ "kind": "field",
6271
+ "name": "resizeObserver",
6272
+ "type": {
6273
+ "text": "ResizeObserver | null"
6274
+ },
6275
+ "privacy": "private",
6276
+ "default": "null"
6277
+ },
6278
+ {
6279
+ "kind": "field",
6280
+ "name": "avatarSlotEl",
6281
+ "type": {
6282
+ "text": "HTMLSlotElement | null"
6283
+ },
6284
+ "privacy": "private",
6285
+ "default": "null"
6286
+ },
6287
+ {
6288
+ "kind": "field",
6289
+ "name": "contentSlotEl",
6290
+ "type": {
6291
+ "text": "HTMLSlotElement | null"
6292
+ },
6293
+ "privacy": "private",
6294
+ "default": "null"
6295
+ },
6296
+ {
6297
+ "kind": "method",
6298
+ "name": "render"
6299
+ },
6300
+ {
6301
+ "kind": "method",
6302
+ "name": "bindSlotSync",
6303
+ "privacy": "private"
6304
+ },
6305
+ {
6306
+ "kind": "method",
6307
+ "name": "bindLayoutSync",
6308
+ "privacy": "private"
6309
+ }
6310
+ ],
6311
+ "attributes": [
6312
+ {
6313
+ "name": "size"
6213
6314
  },
6214
6315
  {
6215
- "name": "state"
6316
+ "name": "variant"
6317
+ },
6318
+ {
6319
+ "name": "density"
6216
6320
  }
6217
6321
  ],
6218
6322
  "superclass": {
6219
6323
  "name": "HTMLElement"
6220
6324
  },
6221
- "tagName": "mui-progress",
6325
+ "tagName": "mui-prompt-message",
6222
6326
  "customElement": true
6223
6327
  }
6224
6328
  ],
6225
6329
  "exports": [
6226
6330
  {
6227
6331
  "kind": "custom-element-definition",
6228
- "name": "mui-progress",
6332
+ "name": "mui-prompt-message",
6229
6333
  "declaration": {
6230
- "name": "MuiProgress",
6231
- "module": "src/components/mui-progress/index.ts"
6334
+ "name": "MuiPromptMessage",
6335
+ "module": "src/components/mui-prompt-message/index.ts"
6232
6336
  }
6233
6337
  }
6234
6338
  ]
@@ -6872,166 +6976,6 @@
6872
6976
  }
6873
6977
  ]
6874
6978
  },
6875
- {
6876
- "kind": "javascript-module",
6877
- "path": "src/components/mui-prompt-message/doc.ts",
6878
- "declarations": [
6879
- {
6880
- "kind": "variable",
6881
- "name": "muiDocs",
6882
- "type": {
6883
- "text": "MuiDocs"
6884
- },
6885
- "default": "{ PromptMessage: { title: \"Prompt Message\", description: \"Prompt Message provides a consistent conversation row shell with avatar and message content slots.\", hero: [\"\"], figma: [\"\"], storybook: [\"https://stories.muibook.com\"], github: [\"https://github.com/michaeltrilford/muibook/blob/main/src/components/mui-prompt-message/index.ts\"], website: [\"https://muibook.com/#/prompt-message\"], guides: [\"https://guides.muibook.com/body\"], usage: { list: [ \"Use for chat-style reply rows in assistant and support interfaces.\", \"This component is extracted from composition patterns to keep conversation shells consistent.\", \"Slot avatar content into slot='avatar'.\", \"Use body/content components for message text.\", \"Use size='x-small|small|medium|large' to scale avatar/text rhythm across dense and spacious layouts.\", \"Use variant='ghost' when the message row should render without surface treatment.\", \"Use density='compact' when padding should be removed for tight compositions.\", \"Prefer this component over ad hoc grid wrappers when building threaded chat content.\", ], }, accessibility: { designerList: [ \"Maintain clear speaker distinction through avatar + message pairing.\", \"Keep contrast and typography readable in long conversation threads.\", ], engineerList: [ \"Provide meaningful avatar labels where identity context matters.\", \"Preserve DOM reading order (identity first, then message content).\", \"Avoid injecting decorative-only text into message content; keep semantics focused on conversation copy.\", ], }, anatomy: { image: \"\", list: [\"Bubble container\", \"Avatar slot\", \"Message content slot\"] }, variants: { items: [{ key: \"\", title: \"\", description: \"\", image: \"\" }] }, compositions: { description: \"\", items: [] }, related: { items: [ { name: \"Avatar\", link: \"https://guides.muibook.com/avatar\" }, { name: \"Body\", link: \"https://guides.muibook.com/body\" }, ], }, rules: [ { heading: \"Pattern Rule\", description: \"Use Prompt Message as the base conversation row primitive.\", doContent: [{ description: \"Compose identity + message content through avatar and body slots.\", image: \"\" }], dontContent: [{ description: \"Avoid custom one-off bubble containers per page.\", image: \"\" }], }, ], behaviour: { list: [ \"Avatar and message content align consistently across rows.\", ], }, writing: { list: [ \"Keep message copy concise and scannable in multi-row threads.\", ], }, }, }"
6886
- }
6887
- ],
6888
- "exports": [
6889
- {
6890
- "kind": "js",
6891
- "name": "muiDocs",
6892
- "declaration": {
6893
- "name": "muiDocs",
6894
- "module": "src/components/mui-prompt-message/doc.ts"
6895
- }
6896
- }
6897
- ]
6898
- },
6899
- {
6900
- "kind": "javascript-module",
6901
- "path": "src/components/mui-prompt-message/index.ts",
6902
- "declarations": [
6903
- {
6904
- "kind": "class",
6905
- "description": "",
6906
- "name": "MuiPromptMessage",
6907
- "members": [
6908
- {
6909
- "kind": "field",
6910
- "name": "resizeObserver",
6911
- "type": {
6912
- "text": "ResizeObserver | null"
6913
- },
6914
- "privacy": "private",
6915
- "default": "null"
6916
- },
6917
- {
6918
- "kind": "field",
6919
- "name": "avatarSlotEl",
6920
- "type": {
6921
- "text": "HTMLSlotElement | null"
6922
- },
6923
- "privacy": "private",
6924
- "default": "null"
6925
- },
6926
- {
6927
- "kind": "field",
6928
- "name": "contentSlotEl",
6929
- "type": {
6930
- "text": "HTMLSlotElement | null"
6931
- },
6932
- "privacy": "private",
6933
- "default": "null"
6934
- },
6935
- {
6936
- "kind": "method",
6937
- "name": "render"
6938
- },
6939
- {
6940
- "kind": "method",
6941
- "name": "bindSlotSync",
6942
- "privacy": "private"
6943
- },
6944
- {
6945
- "kind": "method",
6946
- "name": "bindLayoutSync",
6947
- "privacy": "private"
6948
- }
6949
- ],
6950
- "attributes": [
6951
- {
6952
- "name": "size"
6953
- },
6954
- {
6955
- "name": "variant"
6956
- },
6957
- {
6958
- "name": "density"
6959
- }
6960
- ],
6961
- "superclass": {
6962
- "name": "HTMLElement"
6963
- },
6964
- "tagName": "mui-prompt-message",
6965
- "customElement": true
6966
- }
6967
- ],
6968
- "exports": [
6969
- {
6970
- "kind": "custom-element-definition",
6971
- "name": "mui-prompt-message",
6972
- "declaration": {
6973
- "name": "MuiPromptMessage",
6974
- "module": "src/components/mui-prompt-message/index.ts"
6975
- }
6976
- }
6977
- ]
6978
- },
6979
- {
6980
- "kind": "javascript-module",
6981
- "path": "src/components/mui-prompt-toggle/index.ts",
6982
- "declarations": [
6983
- {
6984
- "kind": "class",
6985
- "description": "",
6986
- "name": "MuiPromptToggle",
6987
- "members": [
6988
- {
6989
- "kind": "field",
6990
- "name": "observer",
6991
- "type": {
6992
- "text": "MutationObserver | null"
6993
- },
6994
- "privacy": "private",
6995
- "default": "null"
6996
- },
6997
- {
6998
- "kind": "method",
6999
- "name": "normalizeMode",
7000
- "privacy": "private"
7001
- },
7002
- {
7003
- "kind": "method",
7004
- "name": "syncMode",
7005
- "privacy": "private"
7006
- },
7007
- {
7008
- "kind": "method",
7009
- "name": "render"
7010
- }
7011
- ],
7012
- "attributes": [
7013
- {
7014
- "name": "mode"
7015
- }
7016
- ],
7017
- "superclass": {
7018
- "name": "HTMLElement"
7019
- },
7020
- "tagName": "mui-prompt-toggle",
7021
- "customElement": true
7022
- }
7023
- ],
7024
- "exports": [
7025
- {
7026
- "kind": "custom-element-definition",
7027
- "name": "mui-prompt-toggle",
7028
- "declaration": {
7029
- "name": "MuiPromptToggle",
7030
- "module": "src/components/mui-prompt-toggle/index.ts"
7031
- }
7032
- }
7033
- ]
7034
- },
7035
6979
  {
7036
6980
  "kind": "javascript-module",
7037
6981
  "path": "src/components/mui-prompt-preview/doc.ts",
@@ -7220,26 +7164,82 @@
7220
7164
  "name": "animation-mode"
7221
7165
  },
7222
7166
  {
7223
- "name": "variant"
7224
- },
7167
+ "name": "variant"
7168
+ },
7169
+ {
7170
+ "name": "clickable"
7171
+ }
7172
+ ],
7173
+ "superclass": {
7174
+ "name": "HTMLElement"
7175
+ },
7176
+ "tagName": "mui-prompt-preview",
7177
+ "customElement": true
7178
+ }
7179
+ ],
7180
+ "exports": [
7181
+ {
7182
+ "kind": "custom-element-definition",
7183
+ "name": "mui-prompt-preview",
7184
+ "declaration": {
7185
+ "name": "MuiPromptPreview",
7186
+ "module": "src/components/mui-prompt-preview/index.ts"
7187
+ }
7188
+ }
7189
+ ]
7190
+ },
7191
+ {
7192
+ "kind": "javascript-module",
7193
+ "path": "src/components/mui-prompt-toggle/index.ts",
7194
+ "declarations": [
7195
+ {
7196
+ "kind": "class",
7197
+ "description": "",
7198
+ "name": "MuiPromptToggle",
7199
+ "members": [
7200
+ {
7201
+ "kind": "field",
7202
+ "name": "observer",
7203
+ "type": {
7204
+ "text": "MutationObserver | null"
7205
+ },
7206
+ "privacy": "private",
7207
+ "default": "null"
7208
+ },
7209
+ {
7210
+ "kind": "method",
7211
+ "name": "normalizeMode",
7212
+ "privacy": "private"
7213
+ },
7214
+ {
7215
+ "kind": "method",
7216
+ "name": "syncMode",
7217
+ "privacy": "private"
7218
+ },
7219
+ {
7220
+ "kind": "method",
7221
+ "name": "render"
7222
+ }
7223
+ ],
7224
+ "attributes": [
7225
7225
  {
7226
- "name": "clickable"
7226
+ "name": "mode"
7227
7227
  }
7228
7228
  ],
7229
7229
  "superclass": {
7230
7230
  "name": "HTMLElement"
7231
7231
  },
7232
- "tagName": "mui-prompt-preview",
7232
+ "tagName": "mui-prompt-toggle",
7233
7233
  "customElement": true
7234
7234
  }
7235
7235
  ],
7236
7236
  "exports": [
7237
7237
  {
7238
7238
  "kind": "custom-element-definition",
7239
- "name": "mui-prompt-preview",
7239
+ "name": "mui-prompt-toggle",
7240
7240
  "declaration": {
7241
- "name": "MuiPromptPreview",
7242
- "module": "src/components/mui-prompt-preview/index.ts"
7241
+ "name": "MuiPromptToggle",
7242
+ "module": "src/components/mui-prompt-toggle/index.ts"
7243
7243
  }
7244
7244
  }
7245
7245
  ]
@@ -9291,6 +9291,58 @@
9291
9291
  }
9292
9292
  ]
9293
9293
  },
9294
+ {
9295
+ "kind": "javascript-module",
9296
+ "path": "src/components/mui-stepper/step/index.ts",
9297
+ "declarations": [
9298
+ {
9299
+ "kind": "class",
9300
+ "description": "",
9301
+ "name": "MuiStep",
9302
+ "members": [
9303
+ {
9304
+ "kind": "method",
9305
+ "name": "render"
9306
+ }
9307
+ ],
9308
+ "attributes": [
9309
+ {
9310
+ "name": "state"
9311
+ },
9312
+ {
9313
+ "name": "resolved-state"
9314
+ },
9315
+ {
9316
+ "name": "title"
9317
+ },
9318
+ {
9319
+ "name": "direction"
9320
+ },
9321
+ {
9322
+ "name": "hide-icon"
9323
+ },
9324
+ {
9325
+ "name": "size"
9326
+ }
9327
+ ],
9328
+ "superclass": {
9329
+ "name": "HTMLElement"
9330
+ },
9331
+ "tagName": "mui-step",
9332
+ "customElement": true
9333
+ }
9334
+ ],
9335
+ "exports": [
9336
+ {
9337
+ "kind": "custom-element-definition",
9338
+ "name": "mui-step",
9339
+ "declaration": {
9340
+ "name": "MuiStep",
9341
+ "module": "src/components/mui-stepper/step/index.ts"
9342
+ }
9343
+ }
9344
+ ]
9345
+ },
9294
9346
  {
9295
9347
  "kind": "javascript-module",
9296
9348
  "path": "src/components/mui-stack/hstack/index.ts",
@@ -9634,52 +9686,26 @@
9634
9686
  },
9635
9687
  {
9636
9688
  "kind": "javascript-module",
9637
- "path": "src/components/mui-stepper/step/index.ts",
9689
+ "path": "src/components/mui-table/row-group/index.ts",
9638
9690
  "declarations": [
9639
9691
  {
9640
9692
  "kind": "class",
9641
9693
  "description": "",
9642
- "name": "MuiStep",
9643
- "members": [
9644
- {
9645
- "kind": "method",
9646
- "name": "render"
9647
- }
9648
- ],
9649
- "attributes": [
9650
- {
9651
- "name": "state"
9652
- },
9653
- {
9654
- "name": "resolved-state"
9655
- },
9656
- {
9657
- "name": "title"
9658
- },
9659
- {
9660
- "name": "direction"
9661
- },
9662
- {
9663
- "name": "hide-icon"
9664
- },
9665
- {
9666
- "name": "size"
9667
- }
9668
- ],
9694
+ "name": "MuiRowGroup",
9669
9695
  "superclass": {
9670
9696
  "name": "HTMLElement"
9671
9697
  },
9672
- "tagName": "mui-step",
9698
+ "tagName": "mui-row-group",
9673
9699
  "customElement": true
9674
9700
  }
9675
9701
  ],
9676
9702
  "exports": [
9677
9703
  {
9678
9704
  "kind": "custom-element-definition",
9679
- "name": "mui-step",
9705
+ "name": "mui-row-group",
9680
9706
  "declaration": {
9681
- "name": "MuiStep",
9682
- "module": "src/components/mui-stepper/step/index.ts"
9707
+ "name": "MuiRowGroup",
9708
+ "module": "src/components/mui-table/row-group/index.ts"
9683
9709
  }
9684
9710
  }
9685
9711
  ]
@@ -9764,32 +9790,6 @@
9764
9790
  }
9765
9791
  ]
9766
9792
  },
9767
- {
9768
- "kind": "javascript-module",
9769
- "path": "src/components/mui-table/row-group/index.ts",
9770
- "declarations": [
9771
- {
9772
- "kind": "class",
9773
- "description": "",
9774
- "name": "MuiRowGroup",
9775
- "superclass": {
9776
- "name": "HTMLElement"
9777
- },
9778
- "tagName": "mui-row-group",
9779
- "customElement": true
9780
- }
9781
- ],
9782
- "exports": [
9783
- {
9784
- "kind": "custom-element-definition",
9785
- "name": "mui-row-group",
9786
- "declaration": {
9787
- "name": "MuiRowGroup",
9788
- "module": "src/components/mui-table/row-group/index.ts"
9789
- }
9790
- }
9791
- ]
9792
- },
9793
9793
  {
9794
9794
  "kind": "javascript-module",
9795
9795
  "path": "src/components/mui-table/table/index.ts",
@@ -9818,72 +9818,45 @@
9818
9818
  },
9819
9819
  {
9820
9820
  "kind": "javascript-module",
9821
- "path": "src/components/mui-tabs/controller/index.ts",
9821
+ "path": "src/components/mui-tabs/panel/index.ts",
9822
9822
  "declarations": [
9823
9823
  {
9824
9824
  "kind": "class",
9825
9825
  "description": "",
9826
- "name": "MuiTabController",
9826
+ "name": "MuiTabPanel",
9827
9827
  "members": [
9828
9828
  {
9829
- "kind": "method",
9830
- "name": "initializePanels",
9831
- "privacy": "private",
9832
- "return": {
9833
- "type": {
9834
- "text": "void"
9835
- }
9829
+ "kind": "field",
9830
+ "name": "item",
9831
+ "type": {
9832
+ "text": "string | null"
9836
9833
  }
9837
9834
  },
9838
9835
  {
9839
- "kind": "method",
9840
- "name": "handleTabChange",
9841
- "return": {
9842
- "type": {
9843
- "text": "void"
9844
- }
9845
- },
9846
- "parameters": [
9847
- {
9848
- "name": "event",
9849
- "type": {
9850
- "text": "Event"
9851
- }
9852
- }
9853
- ]
9854
- },
9836
+ "kind": "field",
9837
+ "name": "innerHTML",
9838
+ "default": "` <style> :host { display: block; } :host([hidden]) { display: none !important; } .inner { padding: var(--tab-panel-padding, 0); } </style> <div class=\"inner\"> <slot></slot> </div> `"
9839
+ }
9840
+ ],
9841
+ "attributes": [
9855
9842
  {
9856
- "kind": "method",
9857
- "name": "updatePanels",
9858
- "return": {
9859
- "type": {
9860
- "text": "void"
9861
- }
9862
- },
9863
- "parameters": [
9864
- {
9865
- "name": "activeId",
9866
- "type": {
9867
- "text": "string"
9868
- }
9869
- }
9870
- ]
9843
+ "name": "item"
9871
9844
  }
9872
9845
  ],
9873
9846
  "superclass": {
9874
9847
  "name": "HTMLElement"
9875
9848
  },
9876
- "tagName": "mui-tab-controller",
9849
+ "tagName": "mui-tab-panel",
9877
9850
  "customElement": true
9878
9851
  }
9879
9852
  ],
9880
9853
  "exports": [
9881
9854
  {
9882
9855
  "kind": "custom-element-definition",
9883
- "name": "mui-tab-controller",
9856
+ "name": "mui-tab-panel",
9884
9857
  "declaration": {
9885
- "name": "MuiTabController",
9886
- "module": "src/components/mui-tabs/controller/index.ts"
9858
+ "name": "MuiTabPanel",
9859
+ "module": "src/components/mui-tabs/panel/index.ts"
9887
9860
  }
9888
9861
  }
9889
9862
  ]
@@ -9995,45 +9968,72 @@
9995
9968
  },
9996
9969
  {
9997
9970
  "kind": "javascript-module",
9998
- "path": "src/components/mui-tabs/panel/index.ts",
9971
+ "path": "src/components/mui-tabs/controller/index.ts",
9999
9972
  "declarations": [
10000
9973
  {
10001
9974
  "kind": "class",
10002
9975
  "description": "",
10003
- "name": "MuiTabPanel",
9976
+ "name": "MuiTabController",
10004
9977
  "members": [
10005
9978
  {
10006
- "kind": "field",
10007
- "name": "item",
10008
- "type": {
10009
- "text": "string | null"
9979
+ "kind": "method",
9980
+ "name": "initializePanels",
9981
+ "privacy": "private",
9982
+ "return": {
9983
+ "type": {
9984
+ "text": "void"
9985
+ }
10010
9986
  }
10011
9987
  },
10012
9988
  {
10013
- "kind": "field",
10014
- "name": "innerHTML",
10015
- "default": "` <style> :host { display: block; } :host([hidden]) { display: none !important; } .inner { padding: var(--tab-panel-padding, 0); } </style> <div class=\"inner\"> <slot></slot> </div> `"
10016
- }
10017
- ],
10018
- "attributes": [
9989
+ "kind": "method",
9990
+ "name": "handleTabChange",
9991
+ "return": {
9992
+ "type": {
9993
+ "text": "void"
9994
+ }
9995
+ },
9996
+ "parameters": [
9997
+ {
9998
+ "name": "event",
9999
+ "type": {
10000
+ "text": "Event"
10001
+ }
10002
+ }
10003
+ ]
10004
+ },
10019
10005
  {
10020
- "name": "item"
10006
+ "kind": "method",
10007
+ "name": "updatePanels",
10008
+ "return": {
10009
+ "type": {
10010
+ "text": "void"
10011
+ }
10012
+ },
10013
+ "parameters": [
10014
+ {
10015
+ "name": "activeId",
10016
+ "type": {
10017
+ "text": "string"
10018
+ }
10019
+ }
10020
+ ]
10021
10021
  }
10022
10022
  ],
10023
10023
  "superclass": {
10024
10024
  "name": "HTMLElement"
10025
10025
  },
10026
- "tagName": "mui-tab-panel",
10026
+ "tagName": "mui-tab-controller",
10027
10027
  "customElement": true
10028
10028
  }
10029
10029
  ],
10030
10030
  "exports": [
10031
10031
  {
10032
10032
  "kind": "custom-element-definition",
10033
- "name": "mui-tab-panel",
10033
+ "name": "mui-tab-controller",
10034
10034
  "declaration": {
10035
- "name": "MuiTabPanel",
10036
- "module": "src/components/mui-tabs/panel/index.ts"
10035
+ "name": "MuiTabController",
10036
+ "module": "src/components/mui-tabs/controller/index.ts"
10037
10037
  }
10038
10038
  }
10039
10039
  ]