@muibook/components 11.0.0 → 12.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -4
- package/dist/esm/components/mui-addon/index.js +41 -8
- package/dist/esm/components/mui-field/index.js +26 -9
- package/dist/esm/components/mui-hint/index.js +6 -6
- package/dist/esm/components/mui-image/index.js +89 -42
- package/dist/esm/components/mui-input/index.js +67 -27
- package/dist/esm/components/mui-markdown/index.js +313 -73
- package/dist/esm/components/mui-prompt/index.js +87 -64
- package/dist/esm/components/mui-prompt-preview/index.js +43 -18
- package/dist/esm/components/mui-rule/index.js +7 -5
- package/dist/esm/components/mui-select/index.js +48 -15
- package/dist/esm/components/mui-skeleton/index.js +139 -0
- package/dist/esm/components/mui-slide-frame/index.js +410 -0
- package/dist/esm/components/mui-switch/index.js +72 -35
- package/dist/esm/components/mui-tabs/tab-bar/index.js +1 -1
- package/dist/esm/components/mui-textarea/index.js +40 -7
- package/dist/esm/css/mui-brand.css +1 -1
- package/dist/esm/css/mui-tokens.css +26 -0
- package/dist/esm/custom-elements.json +1296 -455
- package/dist/esm/index.js +6 -4
- package/dist/types/components/mui-prompt-preview/index.d.ts +1 -0
- package/dist/types/components/mui-skeleton/doc.d.ts +2 -0
- package/dist/types/components/mui-skeleton/index.d.ts +1 -0
- package/dist/types/components/mui-slide-frame/doc.d.ts +2 -0
- package/dist/types/components/mui-slide-frame/index.d.ts +7 -0
- package/dist/types/index.d.ts +2 -0
- package/package.json +12 -1
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"type": {
|
|
43
43
|
"text": "MuiDocs"
|
|
44
44
|
},
|
|
45
|
-
"default": "{ AddOn: { title: \"Add on\", description: \"Enhances form inputs by displaying supplementary information such as units, prefixes, or suffixes adjacent to the input field. Add Ons improve clarity by providing context without adding clutter to the input area.\", hero: [ \"https://images.ctfassets.net/i5uwscj4pkk2/3GH67kZLZAjADf3kTIoSV3/82a1ab87bc13b25e6dc1e81c81f69532/AddOn_-_Home_Image.png\", ], figma: [ \"https://www.figma.com/design/l0mt1lXu97XoHJCEdnrWLp/Mui-Design-System?node-id=948-4065&t=rIU93UcpsUxOVNN9-1\", ], storybook: [\"https://stories.muibook.com/?path=/docs/inputs-addon--docs\"], github: [\"https://github.com/michaeltrilford/muibook/blob/main/src/components/mui-addon/index.ts\"], website: [\"https://muibook.com/#/addon\"], guides: [\"https://guides.muibook.com/add-on\"], usage: { list: [ \"Use to display units (e.g. %, $, kg) or fixed prefixes/suffixes alongside inputs.\", \"Ideal for improving data entry accuracy and user understanding.\", \"Ensure Add Ons are visually distinct but do not overpower the main input content.\", \"Avoid overcrowding inputs with multiple Add Ons to maintain clarity.\", ], }, accessibility: { designerList: [\"\"], engineerList: [\"\"], }, anatomy: { list: [ \"Add-on placed before the Input Field\", \"Add-on placed after the Input Field\", \"Short text, an icon, or both to support input context.\", ], image: \"https://images.ctfassets.net/i5uwscj4pkk2/13NH06kdHIzm8hDGNBgihx/f5715279e5ab5e2ce6bfd5d38f5f2d1d/Add_on_-_Anatomy.png\", }, variants: { items: [ { key: \"text\", title: \"Text\", description: \"Use for units, currency, or short static labels.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/VfAoQuP8u7icg5s6Shwd6/f5f838a3ffda0d0839ef062af308fc97/text-variant.png\", }, { key: \"icon\", title: \"Icon\", description: \"Use for symbolic cues or clarification of the input’s intent.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/1LY5GdVijhp7bpfRs3WyFc/6d1708bd25496d7f33acba796b8b2aa6/icon-variant.png\", }, ], }, related: { items: [ { name: \"Field\", link: \"https://guides.muibook.com/field\" }, { name: \"Input\", link: \"https://guides.muibook.com/input\" }, { name: \"Select\", link: \"https://guides.muibook.com/select\" }, { name: \"File Upload\", link: \"https://guides.muibook.com/file-upload\" }, { name: \"Icons\", link: \"https://guides.muibook.com/icons\" }, ], }, rules: [ { heading: \"\", description: \"\", doContent: [ { description: \"\", image: \"\" }, { description: \"\", image: \"\" }, ], dontContent: [{ description: \"\" }, { description: \"\" }], }, ], compositions: { description: \"\", items: [ { key: \"\", name: \"\", description: \"\", image: \"\", }, ], }, behaviour: { list: [\"\"], }, writing: { list: [\"\"], }, }, }"
|
|
45
|
+
"default": "{ AddOn: { title: \"Add on\", description: \"Enhances form inputs by displaying supplementary information such as units, prefixes, or suffixes adjacent to the input field. Add Ons improve clarity by providing context without adding clutter to the input area.\", hero: [ \"https://images.ctfassets.net/i5uwscj4pkk2/3GH67kZLZAjADf3kTIoSV3/82a1ab87bc13b25e6dc1e81c81f69532/AddOn_-_Home_Image.png\", ], figma: [ \"https://www.figma.com/design/l0mt1lXu97XoHJCEdnrWLp/Mui-Design-System?node-id=948-4065&t=rIU93UcpsUxOVNN9-1\", ], storybook: [\"https://stories.muibook.com/?path=/docs/inputs-addon--docs\"], github: [\"https://github.com/michaeltrilford/muibook/blob/main/src/components/mui-addon/index.ts\"], website: [\"https://muibook.com/#/addon\"], guides: [\"https://guides.muibook.com/add-on\"], usage: { list: [ \"Use to display units (e.g. %, $, kg) or fixed prefixes/suffixes alongside inputs.\", \"Ideal for improving data entry accuracy and user understanding.\", \"Use size (x-small to large) to match compact and dense input layouts.\", \"Ensure Add Ons are visually distinct but do not overpower the main input content.\", \"Avoid overcrowding inputs with multiple Add Ons to maintain clarity.\", ], }, accessibility: { designerList: [\"\"], engineerList: [\"\"], }, anatomy: { list: [ \"Add-on placed before the Input Field\", \"Add-on placed after the Input Field\", \"Short text, an icon, or both to support input context.\", ], image: \"https://images.ctfassets.net/i5uwscj4pkk2/13NH06kdHIzm8hDGNBgihx/f5715279e5ab5e2ce6bfd5d38f5f2d1d/Add_on_-_Anatomy.png\", }, variants: { items: [ { key: \"text\", title: \"Text\", description: \"Use for units, currency, or short static labels.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/VfAoQuP8u7icg5s6Shwd6/f5f838a3ffda0d0839ef062af308fc97/text-variant.png\", }, { key: \"icon\", title: \"Icon\", description: \"Use for symbolic cues or clarification of the input’s intent.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/1LY5GdVijhp7bpfRs3WyFc/6d1708bd25496d7f33acba796b8b2aa6/icon-variant.png\", }, ], }, related: { items: [ { name: \"Field\", link: \"https://guides.muibook.com/field\" }, { name: \"Input\", link: \"https://guides.muibook.com/input\" }, { name: \"Select\", link: \"https://guides.muibook.com/select\" }, { name: \"File Upload\", link: \"https://guides.muibook.com/file-upload\" }, { name: \"Icons\", link: \"https://guides.muibook.com/icons\" }, ], }, rules: [ { heading: \"\", description: \"\", doContent: [ { description: \"\", image: \"\" }, { description: \"\", image: \"\" }, ], dontContent: [{ description: \"\" }, { description: \"\" }], }, ], compositions: { description: \"\", items: [ { key: \"\", name: \"\", description: \"\", image: \"\", }, ], }, behaviour: { list: [\"\"], }, writing: { list: [\"\"], }, }, }"
|
|
46
46
|
}
|
|
47
47
|
],
|
|
48
48
|
"exports": [
|
|
@@ -65,6 +65,11 @@
|
|
|
65
65
|
"description": "",
|
|
66
66
|
"name": "MuiAddon",
|
|
67
67
|
"members": [
|
|
68
|
+
{
|
|
69
|
+
"kind": "method",
|
|
70
|
+
"name": "syncSlottedContent",
|
|
71
|
+
"privacy": "private"
|
|
72
|
+
},
|
|
68
73
|
{
|
|
69
74
|
"kind": "method",
|
|
70
75
|
"name": "render"
|
|
@@ -73,6 +78,9 @@
|
|
|
73
78
|
"attributes": [
|
|
74
79
|
{
|
|
75
80
|
"name": "slot"
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"name": "size"
|
|
76
84
|
}
|
|
77
85
|
],
|
|
78
86
|
"superclass": {
|
|
@@ -715,36 +723,6 @@
|
|
|
715
723
|
"declarations": [],
|
|
716
724
|
"exports": []
|
|
717
725
|
},
|
|
718
|
-
{
|
|
719
|
-
"kind": "javascript-module",
|
|
720
|
-
"path": "src/components/mui-carousel/doc.ts",
|
|
721
|
-
"declarations": [
|
|
722
|
-
{
|
|
723
|
-
"kind": "variable",
|
|
724
|
-
"name": "muiDocs",
|
|
725
|
-
"type": {
|
|
726
|
-
"text": "MuiDocs"
|
|
727
|
-
},
|
|
728
|
-
"default": "{ Carousel: { title: \"Carousel\", description: \"A carousel component with tab-based navigation, enabling users to switch between views or content sections with ease.\", hero: [ \"https://images.ctfassets.net/i5uwscj4pkk2/55yS6ecrFIoh0pA08R98VB/07a93872e746c5723b7b4b21f0a9d56a/Carousel_-_Home_Image.png\", ], figma: [ \"https://www.figma.com/design/l0mt1lXu97XoHJCEdnrWLp/Mui-Design-System?node-id=958-8697&t=0ytskb8cxriEmdz2-1\", ], storybook: [\"https://stories.muibook.com/?path=/docs/navigation-carousel--docs\"], github: [\"https://github.com/michaeltrilford/muibook/tree/main/src/components/mui-carousel\"], website: [\"https://muibook.com/#/carousel\"], guides: [\"https://guides.muibook.com/carousel\"], usage: { list: [ \"Use to present grouped content that benefits from both tabbed access and horizontal transitions.\", \"Ideal for feature highlights, onboarding steps, or content previews.\", \"Ensure tab labels are short and clearly indicate the content behind each panel.\", \"Avoid using for unrelated content or when vertical scrolling is more appropriate.\", \"When adding custom content, account for the placement of carousel controls and maintain sufficient whitespace for readability and alignment.\", \"Swap out default controls when a different interaction pattern better suits the content or context.\", ], }, accessibility: { designerList: [ \"Users can navigate between carousel items using the left/right arrow keys, as well as Home and End keys.\", \"The active tab is always keyboard-focusable and shows a visible focus outline for clarity.\", \"Tabs are marked up using semantic roles (like tablist and tab) to help assistive technologies understand the structure.\", \"Behind the scenes, attributes like aria-selected and tabindex update automatically to reflect which tab is active.\", ], engineerList: [ \"Left/Right arrows, Home and End keys let keyboard users navigate between carousel items.\", \"aria-selected and tabindex attributes are updated on each tab-item when it becomes active or inactive.\", \"Each active tab-item can receive focus and shows a focus-visible outline.\", \"tab-bar uses role=tablist to group related tab-items and each tab-item uses role=tab within the tab-bar.\", ], }, anatomy: { image: \"https://images.ctfassets.net/i5uwscj4pkk2/7lrQyuy00XTDGTww5lWXsH/427804b3af03935cc06e8a691a5006a0/Carousel_-_Anatomy.png\", list: [ \"The outer wrapper that defines the structure, sliding behaviour, and background styling of the carousel.\", \"A flexible area where custom content is added. Designers are responsible for setting internal spacing, layout, and composition.\", \"Navigation elements such as tabs, dots, or arrows that float above the content. These controls can be customized or replaced based on the use case.\", ], }, variants: { items: [ { key: \"position\", title: \"Position\", description: \"Carousel controls can be positioned at any side or corner of the container, including top center, right middle, bottom center, left middle, top left, top right, bottom left, and bottom right.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/Yc6eg8YWdiiSiiPzR588D/bdfbad0967d9cc059310bd1406c656c5/position-bottom.png\", }, ], }, compositions: { description: \"Showcases actual use cases, demonstrating how the component fits into real-world UI scenarios.\", items: [ { key: \"product-carousel\", name: \"Product Carousel\", description: \"Demonstrates how to add custom compositions and layouts within the carousel panels.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/4NRMfGil4AcMUh7FDhYyHz/7c4636822eba6d3ae15e684f50d10fdd/Carousel_-_Composition.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\", }, ], }, related: { items: [ { name: \"Tab Bar\", link: \"https://guides.muibook.com/tab-bar\", }, ], }, rules: [ { heading: \"\", description: \"\", doContent: [{ description: \"\", image: \"\" }], dontContent: [{ description: \"\", image: \"\" }], }, ], behaviour: { list: [\"\"], }, writing: { list: [\"\"], }, }, }"
|
|
729
|
-
}
|
|
730
|
-
],
|
|
731
|
-
"exports": [
|
|
732
|
-
{
|
|
733
|
-
"kind": "js",
|
|
734
|
-
"name": "muiDocs",
|
|
735
|
-
"declaration": {
|
|
736
|
-
"name": "muiDocs",
|
|
737
|
-
"module": "src/components/mui-carousel/doc.ts"
|
|
738
|
-
}
|
|
739
|
-
}
|
|
740
|
-
]
|
|
741
|
-
},
|
|
742
|
-
{
|
|
743
|
-
"kind": "javascript-module",
|
|
744
|
-
"path": "src/components/mui-carousel/index.ts",
|
|
745
|
-
"declarations": [],
|
|
746
|
-
"exports": []
|
|
747
|
-
},
|
|
748
726
|
{
|
|
749
727
|
"kind": "javascript-module",
|
|
750
728
|
"path": "src/components/mui-checkbox/doc.ts",
|
|
@@ -853,6 +831,36 @@
|
|
|
853
831
|
}
|
|
854
832
|
]
|
|
855
833
|
},
|
|
834
|
+
{
|
|
835
|
+
"kind": "javascript-module",
|
|
836
|
+
"path": "src/components/mui-carousel/doc.ts",
|
|
837
|
+
"declarations": [
|
|
838
|
+
{
|
|
839
|
+
"kind": "variable",
|
|
840
|
+
"name": "muiDocs",
|
|
841
|
+
"type": {
|
|
842
|
+
"text": "MuiDocs"
|
|
843
|
+
},
|
|
844
|
+
"default": "{ Carousel: { title: \"Carousel\", description: \"A carousel component with tab-based navigation, enabling users to switch between views or content sections with ease.\", hero: [ \"https://images.ctfassets.net/i5uwscj4pkk2/55yS6ecrFIoh0pA08R98VB/07a93872e746c5723b7b4b21f0a9d56a/Carousel_-_Home_Image.png\", ], figma: [ \"https://www.figma.com/design/l0mt1lXu97XoHJCEdnrWLp/Mui-Design-System?node-id=958-8697&t=0ytskb8cxriEmdz2-1\", ], storybook: [\"https://stories.muibook.com/?path=/docs/navigation-carousel--docs\"], github: [\"https://github.com/michaeltrilford/muibook/tree/main/src/components/mui-carousel\"], website: [\"https://muibook.com/#/carousel\"], guides: [\"https://guides.muibook.com/carousel\"], usage: { list: [ \"Use to present grouped content that benefits from both tabbed access and horizontal transitions.\", \"Ideal for feature highlights, onboarding steps, or content previews.\", \"Ensure tab labels are short and clearly indicate the content behind each panel.\", \"Avoid using for unrelated content or when vertical scrolling is more appropriate.\", \"When adding custom content, account for the placement of carousel controls and maintain sufficient whitespace for readability and alignment.\", \"Swap out default controls when a different interaction pattern better suits the content or context.\", ], }, accessibility: { designerList: [ \"Users can navigate between carousel items using the left/right arrow keys, as well as Home and End keys.\", \"The active tab is always keyboard-focusable and shows a visible focus outline for clarity.\", \"Tabs are marked up using semantic roles (like tablist and tab) to help assistive technologies understand the structure.\", \"Behind the scenes, attributes like aria-selected and tabindex update automatically to reflect which tab is active.\", ], engineerList: [ \"Left/Right arrows, Home and End keys let keyboard users navigate between carousel items.\", \"aria-selected and tabindex attributes are updated on each tab-item when it becomes active or inactive.\", \"Each active tab-item can receive focus and shows a focus-visible outline.\", \"tab-bar uses role=tablist to group related tab-items and each tab-item uses role=tab within the tab-bar.\", ], }, anatomy: { image: \"https://images.ctfassets.net/i5uwscj4pkk2/7lrQyuy00XTDGTww5lWXsH/427804b3af03935cc06e8a691a5006a0/Carousel_-_Anatomy.png\", list: [ \"The outer wrapper that defines the structure, sliding behaviour, and background styling of the carousel.\", \"A flexible area where custom content is added. Designers are responsible for setting internal spacing, layout, and composition.\", \"Navigation elements such as tabs, dots, or arrows that float above the content. These controls can be customized or replaced based on the use case.\", ], }, variants: { items: [ { key: \"position\", title: \"Position\", description: \"Carousel controls can be positioned at any side or corner of the container, including top center, right middle, bottom center, left middle, top left, top right, bottom left, and bottom right.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/Yc6eg8YWdiiSiiPzR588D/bdfbad0967d9cc059310bd1406c656c5/position-bottom.png\", }, ], }, compositions: { description: \"Showcases actual use cases, demonstrating how the component fits into real-world UI scenarios.\", items: [ { key: \"product-carousel\", name: \"Product Carousel\", description: \"Demonstrates how to add custom compositions and layouts within the carousel panels.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/4NRMfGil4AcMUh7FDhYyHz/7c4636822eba6d3ae15e684f50d10fdd/Carousel_-_Composition.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\", }, ], }, related: { items: [ { name: \"Tab Bar\", link: \"https://guides.muibook.com/tab-bar\", }, ], }, rules: [ { heading: \"\", description: \"\", doContent: [{ description: \"\", image: \"\" }], dontContent: [{ description: \"\", image: \"\" }], }, ], behaviour: { list: [\"\"], }, writing: { list: [\"\"], }, }, }"
|
|
845
|
+
}
|
|
846
|
+
],
|
|
847
|
+
"exports": [
|
|
848
|
+
{
|
|
849
|
+
"kind": "js",
|
|
850
|
+
"name": "muiDocs",
|
|
851
|
+
"declaration": {
|
|
852
|
+
"name": "muiDocs",
|
|
853
|
+
"module": "src/components/mui-carousel/doc.ts"
|
|
854
|
+
}
|
|
855
|
+
}
|
|
856
|
+
]
|
|
857
|
+
},
|
|
858
|
+
{
|
|
859
|
+
"kind": "javascript-module",
|
|
860
|
+
"path": "src/components/mui-carousel/index.ts",
|
|
861
|
+
"declarations": [],
|
|
862
|
+
"exports": []
|
|
863
|
+
},
|
|
856
864
|
{
|
|
857
865
|
"kind": "javascript-module",
|
|
858
866
|
"path": "src/components/mui-chip/doc.ts",
|
|
@@ -2058,7 +2066,7 @@
|
|
|
2058
2066
|
"type": {
|
|
2059
2067
|
"text": "MuiDocs"
|
|
2060
2068
|
},
|
|
2061
|
-
"default": "{ Field: { title: \"Field\", description: \"A Field allows users to input or select data. It includes a label, an optional required indicator, and supports validation feedback to communicate errors or requirements.\", hero: [ \"https://images.ctfassets.net/i5uwscj4pkk2/1HqTclvMBXW2jyvUwLummp/ac1dc5c5a4c0596c2122b3f4bc06d0be/Field_-_Home_Image.png\", ], figma: [ \"https://www.figma.com/design/l0mt1lXu97XoHJCEdnrWLp/Mui-Design-System?node-id=112-620&t=GMqx21isUVAMpLJp-1\", ], storybook: [\"https://stories.muibook.com/?path=/docs/inputs-field--docs\"], github: [\"https://github.com/michaeltrilford/muibook/blob/main/src/components/mui-field/index.ts\"], website: [\"https://muibook.com/#/field\"], guides: [\"https://guides.muibook.com/field\"], usage: { list: [ \"Acts as a parent wrapper for form elements such as Input, Select, Textarea, and Radio Group.\", \"Use size='x-small|small|medium|large' on Field to
|
|
2069
|
+
"default": "{ Field: { title: \"Field\", description: \"A Field allows users to input or select data. It includes a label, an optional required indicator, and supports validation feedback to communicate errors or requirements.\", hero: [ \"https://images.ctfassets.net/i5uwscj4pkk2/1HqTclvMBXW2jyvUwLummp/ac1dc5c5a4c0596c2122b3f4bc06d0be/Field_-_Home_Image.png\", ], figma: [ \"https://www.figma.com/design/l0mt1lXu97XoHJCEdnrWLp/Mui-Design-System?node-id=112-620&t=GMqx21isUVAMpLJp-1\", ], storybook: [\"https://stories.muibook.com/?path=/docs/inputs-field--docs\"], github: [\"https://github.com/michaeltrilford/muibook/blob/main/src/components/mui-field/index.ts\"], website: [\"https://muibook.com/#/field\"], guides: [\"https://guides.muibook.com/field\"], usage: { list: [ \"Acts as a parent wrapper for form elements such as Input, Select, Textarea, and Radio Group.\", \"Use size='x-small|small|medium|large' on Field and let it inherit size to the slotted control.\", \"Use slot='message' for rich helper/validation content (for example, mui-form-message with icons); Field inherits size to message content.\", \"Use optional on Field and let it inherit to the slotted form control label treatment.\", \"Inside Form Group, keep helper/validation content attached to each related Field via slot='message'.\", \"Use clear, descriptive labels so users understand the purpose of the form field.\", \"Mark required fields with an asterisk (*) and validate input before submission.\", \"Display validation messages in real-time or upon submission to guide corrections.\", \"Helper and supporting copy should be intentionally knocked back so form controls remain visually primary.\", ], }, accessibility: { designerList: [ \"A visible or hidden label is required to describe the input’s purpose for screen readers.\", \"Using hide-label keeps the label accessible via aria-label while hiding it visually.\", \"The label and input are linked using for and id; an id is auto-generated if not provided.\", \"Clear focus styles are shown to support keyboard navigation.\", ], 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 form element 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.\", ], }, anatomy: { image: \"https://images.ctfassets.net/i5uwscj4pkk2/5nW3j8xOoMpTGLTljUAqPI/6ea6a47139a044feaa63697a40753cf2/Field_-_Anatomy.png\", list: [ \"Label: The Field component supports a label, useful for grouping multiple inputs or when applying the label at the parent level is preferred.\", \"Message: Supports rendering static text or dynamic messages that reflect the field’s state, such as success, warning, or error.\", \"Slot: Allows insertion of related form components like Input or Select as children within the Field.\", \"Message Slot: Supports custom helper content using slot='message'.\", ], }, variants: { items: [ { key: \"default\", title: \"Default\", description: \"Standard field with label and no message. Used when no additional feedback is required.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/7rycX2tj569EplbANsiQmA/3c4f173807e9a3f40750a49e31612285/default.png\", }, { key: \"default-with-message\", title: \"Default w/ Message\", description: \"Includes supporting text beneath the field. Use to provide guidance, context, or character limits.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/1krnirIt4OKRZTkYRqXR2T/bbbb42a4afc3873407ceeb78e0fdb801/default-message.png\", }, { key: \"optional-with-message\", title: \"Optional w/ Message\", description: \"Use for non-blocking helper context. The optional token keeps emphasis low while preserving clarity.\", image: \"\", }, { key: \"success-with-message\", title: \"Success w/ Message\", description: \"Indicates a successful validation state. Use to confirm correct input, such as valid formatting or completion.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/kSXvQ6D4hvuP3c9bC0ZUa/319272dc75f0b08493753a49c0fbff75/success-message.png\", }, { key: \"warning-with-message\", title: \"Warning w/ Message\", description: \"Indicates a non-blocking issue. Use when input may be acceptable but needs user attention.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/5YIUAUlqh3ZfzzDvq5YgN5/7bb42ed1049af149719796b5cfb1a949/warning-message.png\", }, { key: \"error-with-message\", title: \"Error w/ Message\", description: \"Displays a validation error. Use when input is invalid or required and has not been completed.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/4yYS7D87CmJmnOVh75fwMc/c000af5c0ce3cb42a10c8e18b41d6312/error-message.png\", }, ], }, compositions: { description: \"Showcases actual use cases, demonstrating how the component fits into real-world UI scenarios.\", items: [ { 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: \"Input\", link: \"https://guides.muibook.com/input\" }, { 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: [\"\"], }, }, }"
|
|
2062
2070
|
}
|
|
2063
2071
|
],
|
|
2064
2072
|
"exports": [
|
|
@@ -2101,6 +2109,10 @@
|
|
|
2101
2109
|
"kind": "field",
|
|
2102
2110
|
"name": "size"
|
|
2103
2111
|
},
|
|
2112
|
+
{
|
|
2113
|
+
"kind": "field",
|
|
2114
|
+
"name": "optional"
|
|
2115
|
+
},
|
|
2104
2116
|
{
|
|
2105
2117
|
"kind": "method",
|
|
2106
2118
|
"name": "passAttributesToChild"
|
|
@@ -2109,6 +2121,10 @@
|
|
|
2109
2121
|
"kind": "method",
|
|
2110
2122
|
"name": "renderMessage"
|
|
2111
2123
|
},
|
|
2124
|
+
{
|
|
2125
|
+
"kind": "method",
|
|
2126
|
+
"name": "syncMessageSlotSizing"
|
|
2127
|
+
},
|
|
2112
2128
|
{
|
|
2113
2129
|
"kind": "method",
|
|
2114
2130
|
"name": "bindSlotEvents"
|
|
@@ -2134,6 +2150,9 @@
|
|
|
2134
2150
|
},
|
|
2135
2151
|
{
|
|
2136
2152
|
"name": "size"
|
|
2153
|
+
},
|
|
2154
|
+
{
|
|
2155
|
+
"name": "optional"
|
|
2137
2156
|
}
|
|
2138
2157
|
],
|
|
2139
2158
|
"superclass": {
|
|
@@ -3081,7 +3100,7 @@
|
|
|
3081
3100
|
"type": {
|
|
3082
3101
|
"text": "MuiDocs"
|
|
3083
3102
|
},
|
|
3084
|
-
"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.\", \"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": "{ 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: [\"\"], }, }, }"
|
|
3085
3104
|
}
|
|
3086
3105
|
],
|
|
3087
3106
|
"exports": [
|
|
@@ -3103,6 +3122,85 @@
|
|
|
3103
3122
|
"kind": "class",
|
|
3104
3123
|
"description": "",
|
|
3105
3124
|
"name": "MuiImage",
|
|
3125
|
+
"members": [
|
|
3126
|
+
{
|
|
3127
|
+
"kind": "field",
|
|
3128
|
+
"name": "observer",
|
|
3129
|
+
"type": {
|
|
3130
|
+
"text": "MutationObserver | null"
|
|
3131
|
+
},
|
|
3132
|
+
"privacy": "private",
|
|
3133
|
+
"default": "null"
|
|
3134
|
+
},
|
|
3135
|
+
{
|
|
3136
|
+
"kind": "method",
|
|
3137
|
+
"name": "syncChildSlots",
|
|
3138
|
+
"privacy": "private"
|
|
3139
|
+
},
|
|
3140
|
+
{
|
|
3141
|
+
"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
|
+
]
|
|
3158
|
+
},
|
|
3159
|
+
{
|
|
3160
|
+
"kind": "method",
|
|
3161
|
+
"name": "getPosition",
|
|
3162
|
+
"privacy": "private"
|
|
3163
|
+
},
|
|
3164
|
+
{
|
|
3165
|
+
"kind": "method",
|
|
3166
|
+
"name": "getZoom",
|
|
3167
|
+
"privacy": "private"
|
|
3168
|
+
},
|
|
3169
|
+
{
|
|
3170
|
+
"kind": "method",
|
|
3171
|
+
"name": "render",
|
|
3172
|
+
"privacy": "private"
|
|
3173
|
+
}
|
|
3174
|
+
],
|
|
3175
|
+
"attributes": [
|
|
3176
|
+
{
|
|
3177
|
+
"name": "height"
|
|
3178
|
+
},
|
|
3179
|
+
{
|
|
3180
|
+
"name": "fit"
|
|
3181
|
+
},
|
|
3182
|
+
{
|
|
3183
|
+
"name": "crop"
|
|
3184
|
+
},
|
|
3185
|
+
{
|
|
3186
|
+
"name": "position"
|
|
3187
|
+
},
|
|
3188
|
+
{
|
|
3189
|
+
"name": "zoom"
|
|
3190
|
+
},
|
|
3191
|
+
{
|
|
3192
|
+
"name": "focal-x"
|
|
3193
|
+
},
|
|
3194
|
+
{
|
|
3195
|
+
"name": "focal-y"
|
|
3196
|
+
},
|
|
3197
|
+
{
|
|
3198
|
+
"name": "radius"
|
|
3199
|
+
},
|
|
3200
|
+
{
|
|
3201
|
+
"name": "aspect-ratio"
|
|
3202
|
+
}
|
|
3203
|
+
],
|
|
3106
3204
|
"superclass": {
|
|
3107
3205
|
"name": "HTMLElement"
|
|
3108
3206
|
},
|
|
@@ -3123,57 +3221,196 @@
|
|
|
3123
3221
|
},
|
|
3124
3222
|
{
|
|
3125
3223
|
"kind": "javascript-module",
|
|
3126
|
-
"path": "src/components/mui-
|
|
3224
|
+
"path": "src/components/mui-input/doc.ts",
|
|
3225
|
+
"declarations": [
|
|
3226
|
+
{
|
|
3227
|
+
"kind": "variable",
|
|
3228
|
+
"name": "muiDocs",
|
|
3229
|
+
"type": {
|
|
3230
|
+
"text": "MuiDocs"
|
|
3231
|
+
},
|
|
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: [\"\"], }, }, }"
|
|
3233
|
+
}
|
|
3234
|
+
],
|
|
3235
|
+
"exports": [
|
|
3236
|
+
{
|
|
3237
|
+
"kind": "js",
|
|
3238
|
+
"name": "muiDocs",
|
|
3239
|
+
"declaration": {
|
|
3240
|
+
"name": "muiDocs",
|
|
3241
|
+
"module": "src/components/mui-input/doc.ts"
|
|
3242
|
+
}
|
|
3243
|
+
}
|
|
3244
|
+
]
|
|
3245
|
+
},
|
|
3246
|
+
{
|
|
3247
|
+
"kind": "javascript-module",
|
|
3248
|
+
"path": "src/components/mui-input/index.ts",
|
|
3127
3249
|
"declarations": [
|
|
3128
3250
|
{
|
|
3129
3251
|
"kind": "class",
|
|
3130
3252
|
"description": "",
|
|
3131
|
-
"name": "
|
|
3253
|
+
"name": "MuiInput",
|
|
3132
3254
|
"members": [
|
|
3255
|
+
{
|
|
3256
|
+
"kind": "field",
|
|
3257
|
+
"name": "_changeHandler",
|
|
3258
|
+
"type": {
|
|
3259
|
+
"text": "(e: Event) => void | undefined"
|
|
3260
|
+
}
|
|
3261
|
+
},
|
|
3133
3262
|
{
|
|
3134
3263
|
"kind": "method",
|
|
3135
|
-
"name": "
|
|
3264
|
+
"name": "cleanupListeners"
|
|
3265
|
+
},
|
|
3266
|
+
{
|
|
3267
|
+
"kind": "method",
|
|
3268
|
+
"name": "setupListener"
|
|
3269
|
+
},
|
|
3270
|
+
{
|
|
3271
|
+
"kind": "method",
|
|
3272
|
+
"name": "updateCharacterCount"
|
|
3273
|
+
},
|
|
3274
|
+
{
|
|
3275
|
+
"kind": "method",
|
|
3276
|
+
"name": "updateSlottedButtons",
|
|
3136
3277
|
"return": {
|
|
3137
3278
|
"type": {
|
|
3138
3279
|
"text": "void"
|
|
3139
3280
|
}
|
|
3140
3281
|
}
|
|
3282
|
+
},
|
|
3283
|
+
{
|
|
3284
|
+
"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
|
+
}
|
|
3141
3300
|
}
|
|
3142
3301
|
],
|
|
3143
3302
|
"attributes": [
|
|
3303
|
+
{
|
|
3304
|
+
"name": "type"
|
|
3305
|
+
},
|
|
3306
|
+
{
|
|
3307
|
+
"name": "name"
|
|
3308
|
+
},
|
|
3309
|
+
{
|
|
3310
|
+
"name": "value"
|
|
3311
|
+
},
|
|
3312
|
+
{
|
|
3313
|
+
"name": "placeholder"
|
|
3314
|
+
},
|
|
3315
|
+
{
|
|
3316
|
+
"name": "id"
|
|
3317
|
+
},
|
|
3318
|
+
{
|
|
3319
|
+
"name": "label"
|
|
3320
|
+
},
|
|
3321
|
+
{
|
|
3322
|
+
"name": "disabled"
|
|
3323
|
+
},
|
|
3324
|
+
{
|
|
3325
|
+
"name": "hide-label"
|
|
3326
|
+
},
|
|
3327
|
+
{
|
|
3328
|
+
"name": "variant"
|
|
3329
|
+
},
|
|
3330
|
+
{
|
|
3331
|
+
"name": "optional"
|
|
3332
|
+
},
|
|
3333
|
+
{
|
|
3334
|
+
"name": "max-length"
|
|
3335
|
+
},
|
|
3144
3336
|
{
|
|
3145
3337
|
"name": "size"
|
|
3146
3338
|
},
|
|
3147
3339
|
{
|
|
3148
|
-
"name": "
|
|
3340
|
+
"name": "slot-layout"
|
|
3149
3341
|
}
|
|
3150
3342
|
],
|
|
3151
3343
|
"superclass": {
|
|
3152
3344
|
"name": "HTMLElement"
|
|
3153
3345
|
},
|
|
3154
|
-
"tagName": "mui-
|
|
3346
|
+
"tagName": "mui-input",
|
|
3155
3347
|
"customElement": true
|
|
3156
3348
|
}
|
|
3157
3349
|
],
|
|
3158
3350
|
"exports": [
|
|
3159
3351
|
{
|
|
3160
3352
|
"kind": "custom-element-definition",
|
|
3161
|
-
"name": "mui-
|
|
3353
|
+
"name": "mui-input",
|
|
3162
3354
|
"declaration": {
|
|
3163
|
-
"name": "
|
|
3164
|
-
"module": "src/components/mui-
|
|
3355
|
+
"name": "MuiInput",
|
|
3356
|
+
"module": "src/components/mui-input/index.ts"
|
|
3165
3357
|
}
|
|
3166
3358
|
}
|
|
3167
3359
|
]
|
|
3168
3360
|
},
|
|
3169
3361
|
{
|
|
3170
3362
|
"kind": "javascript-module",
|
|
3171
|
-
"path": "src/components/mui-icons/
|
|
3363
|
+
"path": "src/components/mui-icons/accessibility.ts",
|
|
3172
3364
|
"declarations": [
|
|
3173
3365
|
{
|
|
3174
3366
|
"kind": "class",
|
|
3175
3367
|
"description": "",
|
|
3176
|
-
"name": "
|
|
3368
|
+
"name": "MuiIconAccessibility",
|
|
3369
|
+
"members": [
|
|
3370
|
+
{
|
|
3371
|
+
"kind": "method",
|
|
3372
|
+
"name": "render",
|
|
3373
|
+
"return": {
|
|
3374
|
+
"type": {
|
|
3375
|
+
"text": "void"
|
|
3376
|
+
}
|
|
3377
|
+
}
|
|
3378
|
+
}
|
|
3379
|
+
],
|
|
3380
|
+
"attributes": [
|
|
3381
|
+
{
|
|
3382
|
+
"name": "size"
|
|
3383
|
+
},
|
|
3384
|
+
{
|
|
3385
|
+
"name": "color"
|
|
3386
|
+
}
|
|
3387
|
+
],
|
|
3388
|
+
"superclass": {
|
|
3389
|
+
"name": "HTMLElement"
|
|
3390
|
+
},
|
|
3391
|
+
"tagName": "mui-icon-accessibility",
|
|
3392
|
+
"customElement": true
|
|
3393
|
+
}
|
|
3394
|
+
],
|
|
3395
|
+
"exports": [
|
|
3396
|
+
{
|
|
3397
|
+
"kind": "custom-element-definition",
|
|
3398
|
+
"name": "mui-icon-accessibility",
|
|
3399
|
+
"declaration": {
|
|
3400
|
+
"name": "MuiIconAccessibility",
|
|
3401
|
+
"module": "src/components/mui-icons/accessibility.ts"
|
|
3402
|
+
}
|
|
3403
|
+
}
|
|
3404
|
+
]
|
|
3405
|
+
},
|
|
3406
|
+
{
|
|
3407
|
+
"kind": "javascript-module",
|
|
3408
|
+
"path": "src/components/mui-icons/add.ts",
|
|
3409
|
+
"declarations": [
|
|
3410
|
+
{
|
|
3411
|
+
"kind": "class",
|
|
3412
|
+
"description": "",
|
|
3413
|
+
"name": "MuiIconAdd",
|
|
3177
3414
|
"members": [
|
|
3178
3415
|
{
|
|
3179
3416
|
"kind": "method",
|
|
@@ -5415,145 +5652,6 @@
|
|
|
5415
5652
|
}
|
|
5416
5653
|
]
|
|
5417
5654
|
},
|
|
5418
|
-
{
|
|
5419
|
-
"kind": "javascript-module",
|
|
5420
|
-
"path": "src/components/mui-input/doc.ts",
|
|
5421
|
-
"declarations": [
|
|
5422
|
-
{
|
|
5423
|
-
"kind": "variable",
|
|
5424
|
-
"name": "muiDocs",
|
|
5425
|
-
"type": {
|
|
5426
|
-
"text": "MuiDocs"
|
|
5427
|
-
},
|
|
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: [\"\"], }, }, }"
|
|
5429
|
-
}
|
|
5430
|
-
],
|
|
5431
|
-
"exports": [
|
|
5432
|
-
{
|
|
5433
|
-
"kind": "js",
|
|
5434
|
-
"name": "muiDocs",
|
|
5435
|
-
"declaration": {
|
|
5436
|
-
"name": "muiDocs",
|
|
5437
|
-
"module": "src/components/mui-input/doc.ts"
|
|
5438
|
-
}
|
|
5439
|
-
}
|
|
5440
|
-
]
|
|
5441
|
-
},
|
|
5442
|
-
{
|
|
5443
|
-
"kind": "javascript-module",
|
|
5444
|
-
"path": "src/components/mui-input/index.ts",
|
|
5445
|
-
"declarations": [
|
|
5446
|
-
{
|
|
5447
|
-
"kind": "class",
|
|
5448
|
-
"description": "",
|
|
5449
|
-
"name": "MuiInput",
|
|
5450
|
-
"members": [
|
|
5451
|
-
{
|
|
5452
|
-
"kind": "field",
|
|
5453
|
-
"name": "_changeHandler",
|
|
5454
|
-
"type": {
|
|
5455
|
-
"text": "(e: Event) => void | undefined"
|
|
5456
|
-
}
|
|
5457
|
-
},
|
|
5458
|
-
{
|
|
5459
|
-
"kind": "method",
|
|
5460
|
-
"name": "cleanupListeners"
|
|
5461
|
-
},
|
|
5462
|
-
{
|
|
5463
|
-
"kind": "method",
|
|
5464
|
-
"name": "setupListener"
|
|
5465
|
-
},
|
|
5466
|
-
{
|
|
5467
|
-
"kind": "method",
|
|
5468
|
-
"name": "updateCharacterCount"
|
|
5469
|
-
},
|
|
5470
|
-
{
|
|
5471
|
-
"kind": "method",
|
|
5472
|
-
"name": "updateSlottedButtons",
|
|
5473
|
-
"return": {
|
|
5474
|
-
"type": {
|
|
5475
|
-
"text": "void"
|
|
5476
|
-
}
|
|
5477
|
-
}
|
|
5478
|
-
},
|
|
5479
|
-
{
|
|
5480
|
-
"kind": "method",
|
|
5481
|
-
"name": "render"
|
|
5482
|
-
}
|
|
5483
|
-
],
|
|
5484
|
-
"events": [
|
|
5485
|
-
{
|
|
5486
|
-
"name": "change",
|
|
5487
|
-
"type": {
|
|
5488
|
-
"text": "CustomEvent"
|
|
5489
|
-
}
|
|
5490
|
-
},
|
|
5491
|
-
{
|
|
5492
|
-
"name": "input",
|
|
5493
|
-
"type": {
|
|
5494
|
-
"text": "CustomEvent"
|
|
5495
|
-
}
|
|
5496
|
-
}
|
|
5497
|
-
],
|
|
5498
|
-
"attributes": [
|
|
5499
|
-
{
|
|
5500
|
-
"name": "type"
|
|
5501
|
-
},
|
|
5502
|
-
{
|
|
5503
|
-
"name": "name"
|
|
5504
|
-
},
|
|
5505
|
-
{
|
|
5506
|
-
"name": "value"
|
|
5507
|
-
},
|
|
5508
|
-
{
|
|
5509
|
-
"name": "placeholder"
|
|
5510
|
-
},
|
|
5511
|
-
{
|
|
5512
|
-
"name": "id"
|
|
5513
|
-
},
|
|
5514
|
-
{
|
|
5515
|
-
"name": "label"
|
|
5516
|
-
},
|
|
5517
|
-
{
|
|
5518
|
-
"name": "disabled"
|
|
5519
|
-
},
|
|
5520
|
-
{
|
|
5521
|
-
"name": "hide-label"
|
|
5522
|
-
},
|
|
5523
|
-
{
|
|
5524
|
-
"name": "variant"
|
|
5525
|
-
},
|
|
5526
|
-
{
|
|
5527
|
-
"name": "optional"
|
|
5528
|
-
},
|
|
5529
|
-
{
|
|
5530
|
-
"name": "max-length"
|
|
5531
|
-
},
|
|
5532
|
-
{
|
|
5533
|
-
"name": "size"
|
|
5534
|
-
},
|
|
5535
|
-
{
|
|
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
5655
|
{
|
|
5558
5656
|
"kind": "javascript-module",
|
|
5559
5657
|
"path": "src/components/mui-link/doc.ts",
|
|
@@ -5747,7 +5845,7 @@
|
|
|
5747
5845
|
"type": {
|
|
5748
5846
|
"text": "MuiDocs"
|
|
5749
5847
|
},
|
|
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: [\"\"], }, }, }"
|
|
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: [\"\"], }, }, }"
|
|
5751
5849
|
}
|
|
5752
5850
|
],
|
|
5753
5851
|
"exports": [
|
|
@@ -5848,6 +5946,15 @@
|
|
|
5848
5946
|
},
|
|
5849
5947
|
"privacy": "private"
|
|
5850
5948
|
},
|
|
5949
|
+
{
|
|
5950
|
+
"kind": "field",
|
|
5951
|
+
"name": "lightboxEl",
|
|
5952
|
+
"type": {
|
|
5953
|
+
"text": "HTMLDivElement | null"
|
|
5954
|
+
},
|
|
5955
|
+
"privacy": "private",
|
|
5956
|
+
"default": "null"
|
|
5957
|
+
},
|
|
5851
5958
|
{
|
|
5852
5959
|
"kind": "method",
|
|
5853
5960
|
"name": "getBodySize",
|
|
@@ -5865,29 +5972,116 @@
|
|
|
5865
5972
|
},
|
|
5866
5973
|
{
|
|
5867
5974
|
"kind": "method",
|
|
5868
|
-
"name": "
|
|
5975
|
+
"name": "getRenderRoot",
|
|
5869
5976
|
"privacy": "private"
|
|
5870
|
-
}
|
|
5871
|
-
],
|
|
5872
|
-
"attributes": [
|
|
5977
|
+
},
|
|
5873
5978
|
{
|
|
5874
|
-
"
|
|
5979
|
+
"kind": "method",
|
|
5980
|
+
"name": "isLightboxEnabled",
|
|
5981
|
+
"privacy": "private"
|
|
5875
5982
|
},
|
|
5876
5983
|
{
|
|
5877
|
-
"
|
|
5984
|
+
"kind": "method",
|
|
5985
|
+
"name": "applyTableColumns",
|
|
5986
|
+
"privacy": "private",
|
|
5987
|
+
"parameters": [
|
|
5988
|
+
{
|
|
5989
|
+
"name": "renderRoot",
|
|
5990
|
+
"type": {
|
|
5991
|
+
"text": "ParentNode"
|
|
5992
|
+
}
|
|
5993
|
+
}
|
|
5994
|
+
]
|
|
5878
5995
|
},
|
|
5879
5996
|
{
|
|
5880
|
-
"
|
|
5997
|
+
"kind": "method",
|
|
5998
|
+
"name": "openLightbox",
|
|
5999
|
+
"privacy": "private",
|
|
6000
|
+
"parameters": [
|
|
6001
|
+
{
|
|
6002
|
+
"name": "src",
|
|
6003
|
+
"type": {
|
|
6004
|
+
"text": "string"
|
|
6005
|
+
}
|
|
6006
|
+
},
|
|
6007
|
+
{
|
|
6008
|
+
"name": "alt",
|
|
6009
|
+
"type": {
|
|
6010
|
+
"text": "string"
|
|
6011
|
+
}
|
|
6012
|
+
},
|
|
6013
|
+
{
|
|
6014
|
+
"name": "caption",
|
|
6015
|
+
"optional": true,
|
|
6016
|
+
"type": {
|
|
6017
|
+
"text": "string"
|
|
6018
|
+
}
|
|
6019
|
+
}
|
|
6020
|
+
]
|
|
6021
|
+
},
|
|
6022
|
+
{
|
|
6023
|
+
"kind": "method",
|
|
6024
|
+
"name": "closeLightbox",
|
|
6025
|
+
"privacy": "private"
|
|
6026
|
+
},
|
|
6027
|
+
{
|
|
6028
|
+
"kind": "method",
|
|
6029
|
+
"name": "bindHandlers",
|
|
6030
|
+
"privacy": "private",
|
|
6031
|
+
"parameters": [
|
|
6032
|
+
{
|
|
6033
|
+
"name": "renderRoot",
|
|
6034
|
+
"type": {
|
|
6035
|
+
"text": "ParentNode"
|
|
6036
|
+
}
|
|
6037
|
+
}
|
|
6038
|
+
]
|
|
6039
|
+
},
|
|
6040
|
+
{
|
|
6041
|
+
"kind": "method",
|
|
6042
|
+
"name": "render",
|
|
6043
|
+
"privacy": "private"
|
|
5881
6044
|
}
|
|
5882
6045
|
],
|
|
5883
|
-
"
|
|
5884
|
-
|
|
5885
|
-
|
|
5886
|
-
|
|
5887
|
-
|
|
5888
|
-
|
|
5889
|
-
|
|
5890
|
-
|
|
6046
|
+
"events": [
|
|
6047
|
+
{
|
|
6048
|
+
"name": "mui-markdown-lightbox-change",
|
|
6049
|
+
"type": {
|
|
6050
|
+
"text": "CustomEvent"
|
|
6051
|
+
}
|
|
6052
|
+
},
|
|
6053
|
+
{
|
|
6054
|
+
"name": "mui-markdown-image-click",
|
|
6055
|
+
"type": {
|
|
6056
|
+
"text": "CustomEvent"
|
|
6057
|
+
}
|
|
6058
|
+
}
|
|
6059
|
+
],
|
|
6060
|
+
"attributes": [
|
|
6061
|
+
{
|
|
6062
|
+
"name": "markdown"
|
|
6063
|
+
},
|
|
6064
|
+
{
|
|
6065
|
+
"name": "body-size"
|
|
6066
|
+
},
|
|
6067
|
+
{
|
|
6068
|
+
"name": "code-size"
|
|
6069
|
+
},
|
|
6070
|
+
{
|
|
6071
|
+
"name": "render-mode"
|
|
6072
|
+
},
|
|
6073
|
+
{
|
|
6074
|
+
"name": "lightbox"
|
|
6075
|
+
}
|
|
6076
|
+
],
|
|
6077
|
+
"superclass": {
|
|
6078
|
+
"name": "HTMLElement"
|
|
6079
|
+
},
|
|
6080
|
+
"tagName": "mui-markdown",
|
|
6081
|
+
"customElement": true
|
|
6082
|
+
}
|
|
6083
|
+
],
|
|
6084
|
+
"exports": [
|
|
5891
6085
|
{
|
|
5892
6086
|
"kind": "custom-element-definition",
|
|
5893
6087
|
"name": "mui-markdown",
|
|
@@ -6243,7 +6437,7 @@
|
|
|
6243
6437
|
"type": {
|
|
6244
6438
|
"text": "MuiDocs"
|
|
6245
6439
|
},
|
|
6246
|
-
"default": "{ Prompt: { title: \"Prompt\", description: \"Prompt provides a reusable prompt surface with floating actions and Enter-to-submit behavior.\", hero: [\"\"], figma: [\"\"], storybook: [\"https://stories.muibook.com\"], github: [\"https://github.com/michaeltrilford/muibook/blob/main/src/components/mui-prompt/index.ts\"], website: [\"https://muibook.com/#/prompt\"], guides: [\"https://guides.muibook.com/input\"], usage: { list: [ \"Use for AI/chat prompt entry surfaces with action controls.\", \"In Muibook stories, use the Interactive Prompt story at the top of the page as the primary end-to-end reference (paste/upload/context/submit).\", \"This component is extracted from composition patterns to standardize prompt behavior across experiences.\", \"Keep prompt as a controlled input in app state: write value via attribute/property and sync from input events.\", \"Use Enter submit for fast send flows; keep Shift+Enter for multiline authoring.\", \"Press Enter to submit and Shift+Enter to add a newline.\", \"Set enter-submit='false' to disable Enter submit behavior.\", \"Use slot='actions' for utility actions (attach, source, tools).\", \"Prompt includes a default submit control in actions-right; override by slotting your own actions-right control when needed.\", \"All utility actions are intended to be slotted so product teams can wire behavior from app state.\", \"A default fan trigger is included out-of-the-box; provide slot='actions-trigger' only when customizing.\", \"Use slot='actions-right' when you need a custom submit/toggle action instead of the default.\", \"Set loading to show built-in async feedback spinner beside actions-right while requests are in flight.\", \"Use loading-label to provide accessible status text for the spinner.\", \"Use actions-fan
|
|
6440
|
+
"default": "{ Prompt: { title: \"Prompt\", description: \"Prompt provides a reusable prompt surface with floating actions and Enter-to-submit behavior.\", hero: [\"\"], figma: [\"\"], storybook: [\"https://stories.muibook.com\"], github: [\"https://github.com/michaeltrilford/muibook/blob/main/src/components/mui-prompt/index.ts\"], website: [\"https://muibook.com/#/prompt\"], guides: [\"https://guides.muibook.com/input\"], usage: { list: [ \"Use for AI/chat prompt entry surfaces with action controls.\", \"In Muibook stories, use the Interactive Prompt story at the top of the page as the primary end-to-end reference (paste/upload/context/submit).\", \"This component is extracted from composition patterns to standardize prompt behavior across experiences.\", \"Keep prompt as a controlled input in app state: write value via attribute/property and sync from input events.\", \"Use Enter submit for fast send flows; keep Shift+Enter for multiline authoring.\", \"Press Enter to submit and Shift+Enter to add a newline.\", \"Set enter-submit='false' to disable Enter submit behavior.\", \"Use slot='actions' for utility actions (attach, source, tools).\", \"Prompt includes a default submit control in actions-right; override by slotting your own actions-right control when needed.\", \"All utility actions are intended to be slotted so product teams can wire behavior from app state.\", \"A default fan trigger is included out-of-the-box; provide slot='actions-trigger' only when customizing.\", \"Use slot='actions-right' when you need a custom submit/toggle action instead of the default.\", \"Set loading to show built-in async feedback spinner beside actions-right while requests are in flight.\", \"Use loading-label to provide accessible status text for the spinner.\", \"Use actions-fan for fan-out behavior (closed by default), and add fan-open only when you want it open by default.\", \"fan-open normalizes fan behavior in composed trees by enabling fan mode when needed.\", \"Use context-mode='icon|chip' with slotted <mui-prompt-toggle> for app-driven context state.\", \"Fan spread, speed, and amplitude are fixed to system defaults; tune through component tokens/CSS where needed.\", \"Built-in preview dialog handling is enabled for prompt-preview-open events.\", \"Set preview-threshold-chars to control when pasted text is converted into preview attachments.\", \"Set preview-overflow-to-preview='false' to always paste text directly into the textarea.\", \"When internal preview dialog handling is enabled, slotted prompt previews are auto-clickable by default.\", \"Set preview-auto-clickable='false' to keep previews non-clickable unless explicitly configured.\", \"Set preview-loading to force slotted previews into loading state while async metadata resolves.\", \"Set preview-loading='auto' to mirror prompt loading state onto slotted previews.\", \"Use preview-loading-label to provide accessible loading text for preview spinners.\", \"Use error-message for direct prompt-level error feedback rendered below the input.\", \"Set debug to render built-in submit debug telemetry (status + JSON payload) below the prompt.\", \"Use slot='error' to render fully custom error content when product needs bespoke treatment.\", \"Use setError(message) and clearError() for app-driven validation and transport error handling.\", \"Use prompt-paste to ingest user clipboard payloads and convert them into prompt-preview items.\", \"Use prompt-preview-open to react to preview activation and update app-level analytics/state.\", \"For native media previews, use direct .mp4/.mp3 values so the built-in dialog opens with native media controls.\", \"Prefer system/semantic tokens for color-top-* values when theming prompt color surfaces.\", \"For React wrappers, map CustomEvent handlers to props (onSubmit, onPromptPaste, onPromptPreviewOpen, onEscape).\", \"Mark the trigger action with fan-trigger; if omitted, the first action is used.\", \"Prefer this component instead of ad hoc prompt wrappers when the same interaction model is needed.\", ], }, accessibility: { designerList: [ \"Provide clear prompt intent through nearby heading/body context; placeholder alone should not carry all instruction.\", \"Ensure action icons are understandable and consistently positioned (utility actions left, submit/state action right).\", \"Keep status text low-emphasis visually, but persistent enough to communicate send state changes.\", ], engineerList: [ \"Support keyboard parity: Enter submits, Shift+Enter adds newline.\", \"If showing send status, use an aria-live region so updates are announced to assistive tech.\", \"Do not trap focus; users must be able to tab into and out of the prompt and actions naturally.\", \"Ensure a clear placeholder or label context for prompt intent.\", \"Provide aria-label values for icon-only action buttons slotted into actions.\", \"When authoring themes, rely on public --prompt-* tokens and attributes rather than internal prompt CSS variables.\", ], }, anatomy: { image: \"\", list: [\"Prompt surface\", \"Input area\", \"Action slot\"] }, variants: { items: [{ key: \"\", title: \"\", description: \"\", image: \"\" }] }, compositions: { description: \"\", items: [] }, related: { items: [ { name: \"Input\", link: \"https://guides.muibook.com/input\" }, { name: \"Button\", link: \"https://guides.muibook.com/button\" }, ], }, rules: [ { heading: \"Pattern Rule\", description: \"Use Prompt as the shared prompt-surface primitive; keep product-specific flows in compositions.\", doContent: [ { description: \"Reuse this component when Enter submit + floating actions are expected.\", image: \"\" }, ], dontContent: [ { description: \"Do not rebuild the prompt shell in each composition with custom wrappers.\", image: \"\" }, ], }, ], behaviour: { list: [ \"Enter emits a submit event with current value.\", \"Shift+Enter inserts a newline.\", \"Pasting emits prompt-paste with detected payload metadata for consumers to store and render previews.\", \"Short text paste remains in the textarea; long text and binary paste can be converted to preview items based on threshold settings.\", \"Clicking a preview emits prompt-preview-open with normalized preview payload (badge, value, image metadata).\", \"Escape emits escape and closes fan actions when open.\", \"Error feedback supports dismiss and optional expand/collapse for long copy.\", \"Clicking content inside a slotted <mui-prompt-toggle> emits prompt-context-change and switches to context chip mode.\", \"Dismissing content marked with [context-chip] emits prompt-context-dismiss and returns to icon mode.\", \"Actions remain anchored at the prompt edge while text grows.\", \"Action behavior should be equivalent whether triggered by keyboard submit or click.\", \"When loading is set, prompt shows async spinner feedback near submit and blocks additional submits.\", ], }, writing: { list: [\"Use clear placeholder prompts that describe expected user input.\"], }, }, }"
|
|
6247
6441
|
}
|
|
6248
6442
|
],
|
|
6249
6443
|
"exports": [
|
|
@@ -6467,6 +6661,11 @@
|
|
|
6467
6661
|
"name": "onContextChipDismiss",
|
|
6468
6662
|
"privacy": "private"
|
|
6469
6663
|
},
|
|
6664
|
+
{
|
|
6665
|
+
"kind": "method",
|
|
6666
|
+
"name": "ensureFanMode",
|
|
6667
|
+
"privacy": "private"
|
|
6668
|
+
},
|
|
6470
6669
|
{
|
|
6471
6670
|
"kind": "method",
|
|
6472
6671
|
"name": "runColorFade",
|
|
@@ -6633,6 +6832,20 @@
|
|
|
6633
6832
|
}
|
|
6634
6833
|
]
|
|
6635
6834
|
},
|
|
6835
|
+
{
|
|
6836
|
+
"kind": "method",
|
|
6837
|
+
"name": "syncPreviewLoadingState",
|
|
6838
|
+
"privacy": "private",
|
|
6839
|
+
"parameters": [
|
|
6840
|
+
{
|
|
6841
|
+
"name": "assigned",
|
|
6842
|
+
"optional": true,
|
|
6843
|
+
"type": {
|
|
6844
|
+
"text": "Element[]"
|
|
6845
|
+
}
|
|
6846
|
+
}
|
|
6847
|
+
]
|
|
6848
|
+
},
|
|
6636
6849
|
{
|
|
6637
6850
|
"kind": "method",
|
|
6638
6851
|
"name": "normalizePreviewDetail",
|
|
@@ -6805,6 +7018,12 @@
|
|
|
6805
7018
|
{
|
|
6806
7019
|
"name": "preview-auto-clickable"
|
|
6807
7020
|
},
|
|
7021
|
+
{
|
|
7022
|
+
"name": "preview-loading"
|
|
7023
|
+
},
|
|
7024
|
+
{
|
|
7025
|
+
"name": "preview-loading-label"
|
|
7026
|
+
},
|
|
6808
7027
|
{
|
|
6809
7028
|
"name": "preview-dialog-width"
|
|
6810
7029
|
},
|
|
@@ -6976,62 +7195,6 @@
|
|
|
6976
7195
|
}
|
|
6977
7196
|
]
|
|
6978
7197
|
},
|
|
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
7198
|
{
|
|
7036
7199
|
"kind": "javascript-module",
|
|
7037
7200
|
"path": "src/components/mui-prompt-preview/doc.ts",
|
|
@@ -7042,7 +7205,7 @@
|
|
|
7042
7205
|
"type": {
|
|
7043
7206
|
"text": "MuiDocs"
|
|
7044
7207
|
},
|
|
7045
|
-
"default": "{ PromptPreview: { title: \"Prompt Preview\", description: \"Prompt Preview shows long pasted content in a structured box with title and badge context.\", hero: [\"\"], figma: [\"\"], storybook: [\"https://stories.muibook.com\"], github: [\"https://github.com/michaeltrilford/muibook/blob/main/src/components/mui-prompt-preview/index.ts\"], website: [\"https://muibook.com/#/prompt-preview\"], guides: [\"https://guides.muibook.com/input\"], usage: { list: [ \"Use before prompt submission when users paste long content.\", \"Show first-line identity and concise snippet for fast scanning.\", \"Use badge to classify payload types like JSON, CSS, or Insightful.\", \"Use `bg-image` to render a visual source and `image-tint` to tune color tone.\", \"Use `inverted` for high-contrast white-on-dark surfaces.\", \"Use the `dismiss` event to track analytics/API updates before removing a preview.\", ], }, accessibility: { designerList: [\"\"], engineerList: [\"Keep preview text readable and avoid replacing the editable source input.\"], }, anatomy: { image: \"\", list: [\"Preview box\", \"Image surface (optional)\", \"Name line\", \"Type badge\", \"Snippet body\"] }, variants: { items: [{ key: \"\", title: \"\", description: \"\", image: \"\" }] }, compositions: { description: \"\", items: [] }, related: { items: [ { name: \"Prompt\", link: \"https://guides.muibook.com/input\" }, { name: \"Badge\", link: \"https://guides.muibook.com/badge\" }, { name: \"Body\", link: \"https://guides.muibook.com/body\" }, ], }, rules: [{ heading: \"\", description: \"\", doContent: [{ description: \"\", image: \"\" }], dontContent: [{ description: \"\", image: \"\" }] }], behaviour: { list: [\"\"] }, writing: { list: [\"\"] }, }, }"
|
|
7208
|
+
"default": "{ PromptPreview: { title: \"Prompt Preview\", description: \"Prompt Preview shows long pasted content in a structured box with title and badge context.\", hero: [\"\"], figma: [\"\"], storybook: [\"https://stories.muibook.com\"], github: [\"https://github.com/michaeltrilford/muibook/blob/main/src/components/mui-prompt-preview/index.ts\"], website: [\"https://muibook.com/#/prompt-preview\"], guides: [\"https://guides.muibook.com/input\"], usage: { list: [ \"Use before prompt submission when users paste long content.\", \"Show first-line identity and concise snippet for fast scanning.\", \"Use badge to classify payload types like JSON, CSS, or Insightful.\", \"Use `bg-image` to render a visual source and `image-tint` to tune color tone.\", \"Use `inverted` for high-contrast white-on-dark surfaces.\", \"Use `loading` during async enrichment flows (metadata, URL checks, or media probing).\", \"Set `loading-label` to provide clear accessible loading feedback.\", \"Use the `dismiss` event to track analytics/API updates before removing a preview.\", ], }, accessibility: { designerList: [\"\"], engineerList: [\"Keep preview text readable and avoid replacing the editable source input.\"], }, anatomy: { image: \"\", list: [\"Preview box\", \"Image surface (optional)\", \"Name line\", \"Type badge\", \"Snippet body\"] }, variants: { items: [{ key: \"\", title: \"\", description: \"\", image: \"\" }] }, compositions: { description: \"\", items: [] }, related: { items: [ { name: \"Prompt\", link: \"https://guides.muibook.com/input\" }, { name: \"Badge\", link: \"https://guides.muibook.com/badge\" }, { name: \"Body\", link: \"https://guides.muibook.com/body\" }, ], }, rules: [{ heading: \"\", description: \"\", doContent: [{ description: \"\", image: \"\" }], dontContent: [{ description: \"\", image: \"\" }] }], behaviour: { list: [\"\"] }, writing: { list: [\"\"] }, }, }"
|
|
7046
7209
|
}
|
|
7047
7210
|
],
|
|
7048
7211
|
"exports": [
|
|
@@ -7224,6 +7387,12 @@
|
|
|
7224
7387
|
},
|
|
7225
7388
|
{
|
|
7226
7389
|
"name": "clickable"
|
|
7390
|
+
},
|
|
7391
|
+
{
|
|
7392
|
+
"name": "loading"
|
|
7393
|
+
},
|
|
7394
|
+
{
|
|
7395
|
+
"name": "loading-label"
|
|
7227
7396
|
}
|
|
7228
7397
|
],
|
|
7229
7398
|
"superclass": {
|
|
@@ -7244,6 +7413,62 @@
|
|
|
7244
7413
|
}
|
|
7245
7414
|
]
|
|
7246
7415
|
},
|
|
7416
|
+
{
|
|
7417
|
+
"kind": "javascript-module",
|
|
7418
|
+
"path": "src/components/mui-prompt-toggle/index.ts",
|
|
7419
|
+
"declarations": [
|
|
7420
|
+
{
|
|
7421
|
+
"kind": "class",
|
|
7422
|
+
"description": "",
|
|
7423
|
+
"name": "MuiPromptToggle",
|
|
7424
|
+
"members": [
|
|
7425
|
+
{
|
|
7426
|
+
"kind": "field",
|
|
7427
|
+
"name": "observer",
|
|
7428
|
+
"type": {
|
|
7429
|
+
"text": "MutationObserver | null"
|
|
7430
|
+
},
|
|
7431
|
+
"privacy": "private",
|
|
7432
|
+
"default": "null"
|
|
7433
|
+
},
|
|
7434
|
+
{
|
|
7435
|
+
"kind": "method",
|
|
7436
|
+
"name": "normalizeMode",
|
|
7437
|
+
"privacy": "private"
|
|
7438
|
+
},
|
|
7439
|
+
{
|
|
7440
|
+
"kind": "method",
|
|
7441
|
+
"name": "syncMode",
|
|
7442
|
+
"privacy": "private"
|
|
7443
|
+
},
|
|
7444
|
+
{
|
|
7445
|
+
"kind": "method",
|
|
7446
|
+
"name": "render"
|
|
7447
|
+
}
|
|
7448
|
+
],
|
|
7449
|
+
"attributes": [
|
|
7450
|
+
{
|
|
7451
|
+
"name": "mode"
|
|
7452
|
+
}
|
|
7453
|
+
],
|
|
7454
|
+
"superclass": {
|
|
7455
|
+
"name": "HTMLElement"
|
|
7456
|
+
},
|
|
7457
|
+
"tagName": "mui-prompt-toggle",
|
|
7458
|
+
"customElement": true
|
|
7459
|
+
}
|
|
7460
|
+
],
|
|
7461
|
+
"exports": [
|
|
7462
|
+
{
|
|
7463
|
+
"kind": "custom-element-definition",
|
|
7464
|
+
"name": "mui-prompt-toggle",
|
|
7465
|
+
"declaration": {
|
|
7466
|
+
"name": "MuiPromptToggle",
|
|
7467
|
+
"module": "src/components/mui-prompt-toggle/index.ts"
|
|
7468
|
+
}
|
|
7469
|
+
}
|
|
7470
|
+
]
|
|
7471
|
+
},
|
|
7247
7472
|
{
|
|
7248
7473
|
"kind": "javascript-module",
|
|
7249
7474
|
"path": "src/components/mui-quote/doc.ts",
|
|
@@ -7934,37 +8159,7 @@
|
|
|
7934
8159
|
},
|
|
7935
8160
|
{
|
|
7936
8161
|
"kind": "javascript-module",
|
|
7937
|
-
"path": "src/components/mui-
|
|
7938
|
-
"declarations": [
|
|
7939
|
-
{
|
|
7940
|
-
"kind": "variable",
|
|
7941
|
-
"name": "muiDocs",
|
|
7942
|
-
"type": {
|
|
7943
|
-
"text": "MuiDocs"
|
|
7944
|
-
},
|
|
7945
|
-
"default": "{ Slat: { title: \"Slat\", description: \"Used to display structured data in a stacked format, typically on smaller viewports or within narrow-width layouts. Slats offer flexibility to surface key content and support custom layouts, stacking, or expansion of additional details.\", hero: [ \"https://images.ctfassets.net/i5uwscj4pkk2/2SHOSwTkf7V7Ql4OaobtMg/2cacf5103d02e00f67748578213f4433/Slat_-_Home_Image.png\", ], figma: [ \"https://www.figma.com/design/l0mt1lXu97XoHJCEdnrWLp/Mui-Design-System?node-id=957-8535&t=0ytskb8cxriEmdz2-1\", ], storybook: [\"https://stories.muibook.com/?path=/docs/content-slat--docs\"], github: [\"https://github.com/michaeltrilford/muibook/blob/main/src/components/mui-slat/index.ts\"], website: [\"https://muibook.com/#/slat\"], guides: [\"https://guides.muibook.com/slat\"], usage: { list: [ \"Suitable for displaying data in narrow-width containers, such as side panels\", \"Use as a responsive alternative to tables on mobile or narrow viewports\", \"deal for presenting structured data in a compact, scannable format\", \"Supports stacking labels and values for easier readability\", \"Can include expandable sections to reveal more content on demand\", ], }, accessibility: { designerList: [\"mui-slat uses role='row'\", \"slotted children inherit role='cell'\"], engineerList: [\"mui-slat uses role='row'\", \"slotted children inherit role='cell'\"], }, anatomy: { image: \"https://images.ctfassets.net/i5uwscj4pkk2/0OzwVoT0EyK1sR1ufn3Vw/3cbee51beec1240ebeaaad485bff5970/Slat_-_Anatomy.png\", list: [ \"Header (Start): Slot for the header of slat items.\", \"Header (End): Optional area for secondary information.\", \"Row (Start): Primary content slot in a slat layout.\", \"Row (End): Secondary content slot in a slat layout.\", \"Accessory: Use for an icon or other suitable elements within the limited space available.\", \"Action: Enables the slat to become a clickable action.\", ], }, variants: { items: [ { key: \"\", title: \"\", description: \"\", image: \"\", }, ], }, compositions: { description: \"Showcases actual use cases, demonstrating how the component fits into real-world UI scenarios.\", items: [ { key: \"smart-card\", name: \"Smart Card\", description: \"The Smart Card composition uses slats to present structured information in a compact format. Slats help organise details such as titles, descriptions, and supporting actions, making the card easy to scan and interact with.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/74knMtil1vp9nHPPWXM1kr/54f8d978b0a82bca2c126e8ab800826f/SmartCard_-_Card_Composition.png\", }, { key: \"account-activity\", name: \"Account Activity\", description: \"In Account Activity, slats are used to display a list of recent actions. Each slat provides a clear breakdown of primary details with optional secondary information, ensuring activity is both easy to read and consistent across the interface.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/5GVrfo3fcsVnX7yduux6kE/978c2c6635bf19ee7e67ccd26744ad33/Slat_-_Account_Composition.png\", }, ], }, related: { items: [ { name: \"Icons\", link: \"https://guides.muibook.com/icons\", }, ], }, rules: [ { heading: \"\", description: \"\", doContent: [{ description: \"\", image: \"\" }], dontContent: [{ description: \"\", image: \"\" }], }, ], behaviour: { list: [\"\"], }, writing: { list: [\"\"], }, }, }"
|
|
7946
|
-
}
|
|
7947
|
-
],
|
|
7948
|
-
"exports": [
|
|
7949
|
-
{
|
|
7950
|
-
"kind": "js",
|
|
7951
|
-
"name": "muiDocs",
|
|
7952
|
-
"declaration": {
|
|
7953
|
-
"name": "muiDocs",
|
|
7954
|
-
"module": "src/components/mui-slat/doc.ts"
|
|
7955
|
-
}
|
|
7956
|
-
}
|
|
7957
|
-
]
|
|
7958
|
-
},
|
|
7959
|
-
{
|
|
7960
|
-
"kind": "javascript-module",
|
|
7961
|
-
"path": "src/components/mui-slat/index.ts",
|
|
7962
|
-
"declarations": [],
|
|
7963
|
-
"exports": []
|
|
7964
|
-
},
|
|
7965
|
-
{
|
|
7966
|
-
"kind": "javascript-module",
|
|
7967
|
-
"path": "src/components/mui-smart-card/doc.ts",
|
|
8162
|
+
"path": "src/components/mui-skeleton/doc.ts",
|
|
7968
8163
|
"declarations": [
|
|
7969
8164
|
{
|
|
7970
8165
|
"kind": "variable",
|
|
@@ -7972,7 +8167,7 @@
|
|
|
7972
8167
|
"type": {
|
|
7973
8168
|
"text": "MuiDocs"
|
|
7974
8169
|
},
|
|
7975
|
-
"default": "{
|
|
8170
|
+
"default": "{ Skeleton: { title: \"Skeleton\", description: \"Skeleton provides reusable placeholder blocks for loading and wireframe prototyping flows.\", hero: [\"\"], figma: [\"\"], storybook: [\"https://stories.muibook.com\"], github: [\"https://github.com/michaeltrilford/muibook/blob/main/src/components/mui-skeleton/index.ts\"], website: [\"https://muibook.com/#/skeleton\"], guides: [\"https://guides.muibook.com/loader\"], usage: { list: [ \"Use line skeletons for text placeholders and rect/circle for media/avatar placeholders.\", \"Prefer token, rem, and percentage sizing over fixed pixel values for responsive placeholder design.\", \"Use Muibook layout components (mui-v-stack, mui-h-stack, mui-grid) to compose skeleton structures.\", \"Use duration to slow down shimmer in calmer loading contexts.\", \"Use max-width to constrain placeholder length without inline styles.\", \"Use before/after slots to compose action or avatar placeholders around loading content.\", \"Set loading='false' to reveal real content in the same markup shell.\", ], }, accessibility: { designerList: [\"\"], engineerList: [ \"Skeleton is decorative by default; keep it paired with semantic loading context at section/page level.\", \"Respect prefers-reduced-motion by avoiding mandatory motion-only communication.\", ], }, anatomy: { image: \"\", list: [\"Before slot\", \"Skeleton blocks\", \"After slot\", \"Optional content reveal slot\"] }, variants: { items: [{ key: \"\", title: \"\", description: \"\", image: \"\" }] }, compositions: { description: \"\", items: [] }, related: { items: [ { name: \"Loader\", link: \"https://guides.muibook.com/loader\" }, { name: \"Spinner\", link: \"https://guides.muibook.com/loader\" }, ], }, rules: [{ heading: \"\", description: \"\", doContent: [{ description: \"\", image: \"\" }], dontContent: [{ description: \"\", image: \"\" }] }], behaviour: { list: [\"\"] }, writing: { list: [\"\"] }, }, }"
|
|
7976
8171
|
}
|
|
7977
8172
|
],
|
|
7978
8173
|
"exports": [
|
|
@@ -7981,20 +8176,59 @@
|
|
|
7981
8176
|
"name": "muiDocs",
|
|
7982
8177
|
"declaration": {
|
|
7983
8178
|
"name": "muiDocs",
|
|
7984
|
-
"module": "src/components/mui-
|
|
8179
|
+
"module": "src/components/mui-skeleton/doc.ts"
|
|
7985
8180
|
}
|
|
7986
8181
|
}
|
|
7987
8182
|
]
|
|
7988
8183
|
},
|
|
7989
8184
|
{
|
|
7990
8185
|
"kind": "javascript-module",
|
|
7991
|
-
"path": "src/components/mui-
|
|
8186
|
+
"path": "src/components/mui-skeleton/index.ts",
|
|
7992
8187
|
"declarations": [
|
|
7993
8188
|
{
|
|
7994
8189
|
"kind": "class",
|
|
7995
8190
|
"description": "",
|
|
7996
|
-
"name": "
|
|
8191
|
+
"name": "MuiSkeleton",
|
|
7997
8192
|
"members": [
|
|
8193
|
+
{
|
|
8194
|
+
"kind": "method",
|
|
8195
|
+
"name": "getSizeHeight",
|
|
8196
|
+
"privacy": "private",
|
|
8197
|
+
"parameters": [
|
|
8198
|
+
{
|
|
8199
|
+
"name": "size",
|
|
8200
|
+
"type": {
|
|
8201
|
+
"text": "string"
|
|
8202
|
+
}
|
|
8203
|
+
}
|
|
8204
|
+
]
|
|
8205
|
+
},
|
|
8206
|
+
{
|
|
8207
|
+
"kind": "method",
|
|
8208
|
+
"name": "getCircleSize",
|
|
8209
|
+
"privacy": "private",
|
|
8210
|
+
"parameters": [
|
|
8211
|
+
{
|
|
8212
|
+
"name": "size",
|
|
8213
|
+
"type": {
|
|
8214
|
+
"text": "string"
|
|
8215
|
+
}
|
|
8216
|
+
}
|
|
8217
|
+
]
|
|
8218
|
+
},
|
|
8219
|
+
{
|
|
8220
|
+
"kind": "method",
|
|
8221
|
+
"name": "getLineWidths",
|
|
8222
|
+
"privacy": "private",
|
|
8223
|
+
"parameters": [
|
|
8224
|
+
{
|
|
8225
|
+
"name": "lines",
|
|
8226
|
+
"type": {
|
|
8227
|
+
"text": "number"
|
|
8228
|
+
}
|
|
8229
|
+
}
|
|
8230
|
+
]
|
|
8231
|
+
},
|
|
7998
8232
|
{
|
|
7999
8233
|
"kind": "method",
|
|
8000
8234
|
"name": "render"
|
|
@@ -8002,31 +8236,635 @@
|
|
|
8002
8236
|
],
|
|
8003
8237
|
"attributes": [
|
|
8004
8238
|
{
|
|
8005
|
-
"name": "
|
|
8239
|
+
"name": "shape"
|
|
8006
8240
|
},
|
|
8007
8241
|
{
|
|
8008
|
-
"name": "
|
|
8242
|
+
"name": "size"
|
|
8009
8243
|
},
|
|
8010
8244
|
{
|
|
8011
|
-
"name": "
|
|
8245
|
+
"name": "width"
|
|
8012
8246
|
},
|
|
8013
8247
|
{
|
|
8014
|
-
"name": "
|
|
8248
|
+
"name": "height"
|
|
8015
8249
|
},
|
|
8016
8250
|
{
|
|
8017
|
-
"name": "
|
|
8251
|
+
"name": "radius"
|
|
8018
8252
|
},
|
|
8019
8253
|
{
|
|
8020
|
-
"name": "
|
|
8254
|
+
"name": "animation"
|
|
8021
8255
|
},
|
|
8022
8256
|
{
|
|
8023
|
-
"name": "
|
|
8257
|
+
"name": "lines"
|
|
8024
8258
|
},
|
|
8025
8259
|
{
|
|
8026
|
-
"name": "
|
|
8260
|
+
"name": "gap"
|
|
8027
8261
|
},
|
|
8028
8262
|
{
|
|
8029
|
-
"name": "
|
|
8263
|
+
"name": "loading"
|
|
8264
|
+
},
|
|
8265
|
+
{
|
|
8266
|
+
"name": "line-widths"
|
|
8267
|
+
},
|
|
8268
|
+
{
|
|
8269
|
+
"name": "max-width"
|
|
8270
|
+
},
|
|
8271
|
+
{
|
|
8272
|
+
"name": "duration"
|
|
8273
|
+
}
|
|
8274
|
+
],
|
|
8275
|
+
"superclass": {
|
|
8276
|
+
"name": "HTMLElement"
|
|
8277
|
+
},
|
|
8278
|
+
"tagName": "mui-skeleton",
|
|
8279
|
+
"customElement": true
|
|
8280
|
+
}
|
|
8281
|
+
],
|
|
8282
|
+
"exports": [
|
|
8283
|
+
{
|
|
8284
|
+
"kind": "custom-element-definition",
|
|
8285
|
+
"name": "mui-skeleton",
|
|
8286
|
+
"declaration": {
|
|
8287
|
+
"name": "MuiSkeleton",
|
|
8288
|
+
"module": "src/components/mui-skeleton/index.ts"
|
|
8289
|
+
}
|
|
8290
|
+
}
|
|
8291
|
+
]
|
|
8292
|
+
},
|
|
8293
|
+
{
|
|
8294
|
+
"kind": "javascript-module",
|
|
8295
|
+
"path": "src/components/mui-slat/doc.ts",
|
|
8296
|
+
"declarations": [
|
|
8297
|
+
{
|
|
8298
|
+
"kind": "variable",
|
|
8299
|
+
"name": "muiDocs",
|
|
8300
|
+
"type": {
|
|
8301
|
+
"text": "MuiDocs"
|
|
8302
|
+
},
|
|
8303
|
+
"default": "{ Slat: { title: \"Slat\", description: \"Used to display structured data in a stacked format, typically on smaller viewports or within narrow-width layouts. Slats offer flexibility to surface key content and support custom layouts, stacking, or expansion of additional details.\", hero: [ \"https://images.ctfassets.net/i5uwscj4pkk2/2SHOSwTkf7V7Ql4OaobtMg/2cacf5103d02e00f67748578213f4433/Slat_-_Home_Image.png\", ], figma: [ \"https://www.figma.com/design/l0mt1lXu97XoHJCEdnrWLp/Mui-Design-System?node-id=957-8535&t=0ytskb8cxriEmdz2-1\", ], storybook: [\"https://stories.muibook.com/?path=/docs/content-slat--docs\"], github: [\"https://github.com/michaeltrilford/muibook/blob/main/src/components/mui-slat/index.ts\"], website: [\"https://muibook.com/#/slat\"], guides: [\"https://guides.muibook.com/slat\"], usage: { list: [ \"Suitable for displaying data in narrow-width containers, such as side panels\", \"Use as a responsive alternative to tables on mobile or narrow viewports\", \"deal for presenting structured data in a compact, scannable format\", \"Supports stacking labels and values for easier readability\", \"Can include expandable sections to reveal more content on demand\", ], }, accessibility: { designerList: [\"mui-slat uses role='row'\", \"slotted children inherit role='cell'\"], engineerList: [\"mui-slat uses role='row'\", \"slotted children inherit role='cell'\"], }, anatomy: { image: \"https://images.ctfassets.net/i5uwscj4pkk2/0OzwVoT0EyK1sR1ufn3Vw/3cbee51beec1240ebeaaad485bff5970/Slat_-_Anatomy.png\", list: [ \"Header (Start): Slot for the header of slat items.\", \"Header (End): Optional area for secondary information.\", \"Row (Start): Primary content slot in a slat layout.\", \"Row (End): Secondary content slot in a slat layout.\", \"Accessory: Use for an icon or other suitable elements within the limited space available.\", \"Action: Enables the slat to become a clickable action.\", ], }, variants: { items: [ { key: \"\", title: \"\", description: \"\", image: \"\", }, ], }, compositions: { description: \"Showcases actual use cases, demonstrating how the component fits into real-world UI scenarios.\", items: [ { key: \"smart-card\", name: \"Smart Card\", description: \"The Smart Card composition uses slats to present structured information in a compact format. Slats help organise details such as titles, descriptions, and supporting actions, making the card easy to scan and interact with.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/74knMtil1vp9nHPPWXM1kr/54f8d978b0a82bca2c126e8ab800826f/SmartCard_-_Card_Composition.png\", }, { key: \"account-activity\", name: \"Account Activity\", description: \"In Account Activity, slats are used to display a list of recent actions. Each slat provides a clear breakdown of primary details with optional secondary information, ensuring activity is both easy to read and consistent across the interface.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/5GVrfo3fcsVnX7yduux6kE/978c2c6635bf19ee7e67ccd26744ad33/Slat_-_Account_Composition.png\", }, ], }, related: { items: [ { name: \"Icons\", link: \"https://guides.muibook.com/icons\", }, ], }, rules: [ { heading: \"\", description: \"\", doContent: [{ description: \"\", image: \"\" }], dontContent: [{ description: \"\", image: \"\" }], }, ], behaviour: { list: [\"\"], }, writing: { list: [\"\"], }, }, }"
|
|
8304
|
+
}
|
|
8305
|
+
],
|
|
8306
|
+
"exports": [
|
|
8307
|
+
{
|
|
8308
|
+
"kind": "js",
|
|
8309
|
+
"name": "muiDocs",
|
|
8310
|
+
"declaration": {
|
|
8311
|
+
"name": "muiDocs",
|
|
8312
|
+
"module": "src/components/mui-slat/doc.ts"
|
|
8313
|
+
}
|
|
8314
|
+
}
|
|
8315
|
+
]
|
|
8316
|
+
},
|
|
8317
|
+
{
|
|
8318
|
+
"kind": "javascript-module",
|
|
8319
|
+
"path": "src/components/mui-slat/index.ts",
|
|
8320
|
+
"declarations": [],
|
|
8321
|
+
"exports": []
|
|
8322
|
+
},
|
|
8323
|
+
{
|
|
8324
|
+
"kind": "javascript-module",
|
|
8325
|
+
"path": "src/components/mui-slide-frame/doc.ts",
|
|
8326
|
+
"declarations": [
|
|
8327
|
+
{
|
|
8328
|
+
"kind": "variable",
|
|
8329
|
+
"name": "muiDocs",
|
|
8330
|
+
"type": {
|
|
8331
|
+
"text": "MuiDocs"
|
|
8332
|
+
},
|
|
8333
|
+
"default": "{ SlideFrame: { title: \"Slide Frame\", description: \"Slide Frame is a composable presentation surface for UI-builder workflows. It supports configurable ratio, variants, radius, image composition, and overflow handling.\", hero: [\"\"], figma: [\"\"], storybook: [\"\"], github: [\"https://github.com/michaeltrilford/muibook/blob/main/src/components/mui-slide-frame/index.ts\"], website: [\"https://muibook.com/#/slide-frame\"], guides: [\"https://guides.muibook.com/slide-frame\"], usage: { list: [ \"Use as a single-slide shell and compose internals with existing components like Stack, Grid, Card, and Media.\", \"Use ratio='16:9|4:3|1:1|custom' for presentation formats.\", \"Use title for built-in header text and footer-text for built-in footer copy.\", \"Section counter is built into the footer and updates with active-section.\", \"Use slot='header-after' and slot='footer-after' for trailing actions.\", \"Use slot='header-description' for secondary lines.\", \"Use variant='default|plain|ghost' to control frame chrome.\", \"Use radius='default|none|small|medium|large' to align with your layout language.\", \"Use scroll to opt into surface scrolling when content exceeds the frame.\", \"Use preview to show warning treatment for draft/unreviewed slide states.\", \"Use lightbox to open slotted image content in a built-in dialog when clicked.\", \"When multiple sections exist, users can navigate with arrow keys or horizontal swipe gestures.\", \"Use header/footer slots for frame-level controls, metadata, or actions.\", ], }, accessibility: { designerList: [\"\"], engineerList: [ \"The surface is focusable in present mode and supports keyboard section navigation with arrow keys.\", \"Use hide-counter when you need to suppress the built-in Section X/Y footer counter.\", \"Expose external controls for next/previous actions when building guided presentation flows.\", ], }, anatomy: { image: \"\", list: [\"Header Slot\", \"Surface\", \"Image Slot\", \"Default Slot Content\", \"Notes Slot\", \"Footer Slot\"], }, variants: { items: [ { key: \"default\", title: \"Default\", description: \"Standard frame with ratio and padding control.\", image: \"\", }, ], }, compositions: { description: \"Showcases actual use cases, demonstrating how the component fits into real-world UI scenarios.\", items: [], }, related: { items: [ { name: \"Stack\", link: \"https://guides.muibook.com/stack\" }, { name: \"Grid\", link: \"https://guides.muibook.com/grid\" }, { name: \"Card\", link: \"https://guides.muibook.com/card\" }, ], }, rules: [ { heading: \"\", description: \"\", doContent: [{ description: \"\", image: \"\" }], dontContent: [{ description: \"\", image: \"\" }], }, ], behaviour: { list: [\"\"] }, writing: { list: [\"\"] }, }, }"
|
|
8334
|
+
}
|
|
8335
|
+
],
|
|
8336
|
+
"exports": [
|
|
8337
|
+
{
|
|
8338
|
+
"kind": "js",
|
|
8339
|
+
"name": "muiDocs",
|
|
8340
|
+
"declaration": {
|
|
8341
|
+
"name": "muiDocs",
|
|
8342
|
+
"module": "src/components/mui-slide-frame/doc.ts"
|
|
8343
|
+
}
|
|
8344
|
+
}
|
|
8345
|
+
]
|
|
8346
|
+
},
|
|
8347
|
+
{
|
|
8348
|
+
"kind": "javascript-module",
|
|
8349
|
+
"path": "src/components/mui-slide-frame/index.ts",
|
|
8350
|
+
"declarations": [
|
|
8351
|
+
{
|
|
8352
|
+
"kind": "class",
|
|
8353
|
+
"description": "",
|
|
8354
|
+
"name": "MuiSlideFrame",
|
|
8355
|
+
"members": [
|
|
8356
|
+
{
|
|
8357
|
+
"kind": "field",
|
|
8358
|
+
"name": "defaultSlot",
|
|
8359
|
+
"type": {
|
|
8360
|
+
"text": "HTMLSlotElement | null"
|
|
8361
|
+
},
|
|
8362
|
+
"privacy": "private",
|
|
8363
|
+
"default": "null"
|
|
8364
|
+
},
|
|
8365
|
+
{
|
|
8366
|
+
"kind": "field",
|
|
8367
|
+
"name": "headerSlot",
|
|
8368
|
+
"type": {
|
|
8369
|
+
"text": "HTMLSlotElement | null"
|
|
8370
|
+
},
|
|
8371
|
+
"privacy": "private",
|
|
8372
|
+
"default": "null"
|
|
8373
|
+
},
|
|
8374
|
+
{
|
|
8375
|
+
"kind": "field",
|
|
8376
|
+
"name": "headerAfterSlot",
|
|
8377
|
+
"type": {
|
|
8378
|
+
"text": "HTMLSlotElement | null"
|
|
8379
|
+
},
|
|
8380
|
+
"privacy": "private",
|
|
8381
|
+
"default": "null"
|
|
8382
|
+
},
|
|
8383
|
+
{
|
|
8384
|
+
"kind": "field",
|
|
8385
|
+
"name": "headerDescriptionSlot",
|
|
8386
|
+
"type": {
|
|
8387
|
+
"text": "HTMLSlotElement | null"
|
|
8388
|
+
},
|
|
8389
|
+
"privacy": "private",
|
|
8390
|
+
"default": "null"
|
|
8391
|
+
},
|
|
8392
|
+
{
|
|
8393
|
+
"kind": "field",
|
|
8394
|
+
"name": "footerSlot",
|
|
8395
|
+
"type": {
|
|
8396
|
+
"text": "HTMLSlotElement | null"
|
|
8397
|
+
},
|
|
8398
|
+
"privacy": "private",
|
|
8399
|
+
"default": "null"
|
|
8400
|
+
},
|
|
8401
|
+
{
|
|
8402
|
+
"kind": "field",
|
|
8403
|
+
"name": "footerAfterSlot",
|
|
8404
|
+
"type": {
|
|
8405
|
+
"text": "HTMLSlotElement | null"
|
|
8406
|
+
},
|
|
8407
|
+
"privacy": "private",
|
|
8408
|
+
"default": "null"
|
|
8409
|
+
},
|
|
8410
|
+
{
|
|
8411
|
+
"kind": "field",
|
|
8412
|
+
"name": "footerDescriptionSlot",
|
|
8413
|
+
"type": {
|
|
8414
|
+
"text": "HTMLSlotElement | null"
|
|
8415
|
+
},
|
|
8416
|
+
"privacy": "private",
|
|
8417
|
+
"default": "null"
|
|
8418
|
+
},
|
|
8419
|
+
{
|
|
8420
|
+
"kind": "field",
|
|
8421
|
+
"name": "notesSlot",
|
|
8422
|
+
"type": {
|
|
8423
|
+
"text": "HTMLSlotElement | null"
|
|
8424
|
+
},
|
|
8425
|
+
"privacy": "private",
|
|
8426
|
+
"default": "null"
|
|
8427
|
+
},
|
|
8428
|
+
{
|
|
8429
|
+
"kind": "field",
|
|
8430
|
+
"name": "imageSlot",
|
|
8431
|
+
"type": {
|
|
8432
|
+
"text": "HTMLSlotElement | null"
|
|
8433
|
+
},
|
|
8434
|
+
"privacy": "private",
|
|
8435
|
+
"default": "null"
|
|
8436
|
+
},
|
|
8437
|
+
{
|
|
8438
|
+
"kind": "field",
|
|
8439
|
+
"name": "surfaceEl",
|
|
8440
|
+
"type": {
|
|
8441
|
+
"text": "HTMLElement | null"
|
|
8442
|
+
},
|
|
8443
|
+
"privacy": "private",
|
|
8444
|
+
"default": "null"
|
|
8445
|
+
},
|
|
8446
|
+
{
|
|
8447
|
+
"kind": "field",
|
|
8448
|
+
"name": "pointerStartX",
|
|
8449
|
+
"type": {
|
|
8450
|
+
"text": "number | null"
|
|
8451
|
+
},
|
|
8452
|
+
"privacy": "private",
|
|
8453
|
+
"default": "null"
|
|
8454
|
+
},
|
|
8455
|
+
{
|
|
8456
|
+
"kind": "field",
|
|
8457
|
+
"name": "pointerStartY",
|
|
8458
|
+
"type": {
|
|
8459
|
+
"text": "number | null"
|
|
8460
|
+
},
|
|
8461
|
+
"privacy": "private",
|
|
8462
|
+
"default": "null"
|
|
8463
|
+
},
|
|
8464
|
+
{
|
|
8465
|
+
"kind": "field",
|
|
8466
|
+
"name": "onSlotChange",
|
|
8467
|
+
"privacy": "private"
|
|
8468
|
+
},
|
|
8469
|
+
{
|
|
8470
|
+
"kind": "field",
|
|
8471
|
+
"name": "onChromeSlotChange",
|
|
8472
|
+
"privacy": "private"
|
|
8473
|
+
},
|
|
8474
|
+
{
|
|
8475
|
+
"kind": "field",
|
|
8476
|
+
"name": "onSurfaceClick",
|
|
8477
|
+
"privacy": "private"
|
|
8478
|
+
},
|
|
8479
|
+
{
|
|
8480
|
+
"kind": "field",
|
|
8481
|
+
"name": "onPointerDown",
|
|
8482
|
+
"privacy": "private"
|
|
8483
|
+
},
|
|
8484
|
+
{
|
|
8485
|
+
"kind": "field",
|
|
8486
|
+
"name": "onPointerUp",
|
|
8487
|
+
"privacy": "private"
|
|
8488
|
+
},
|
|
8489
|
+
{
|
|
8490
|
+
"kind": "field",
|
|
8491
|
+
"name": "onKeyDown",
|
|
8492
|
+
"privacy": "private"
|
|
8493
|
+
},
|
|
8494
|
+
{
|
|
8495
|
+
"kind": "field",
|
|
8496
|
+
"name": "onDocumentKeyDown",
|
|
8497
|
+
"privacy": "private"
|
|
8498
|
+
},
|
|
8499
|
+
{
|
|
8500
|
+
"kind": "method",
|
|
8501
|
+
"name": "getSections",
|
|
8502
|
+
"privacy": "private"
|
|
8503
|
+
},
|
|
8504
|
+
{
|
|
8505
|
+
"kind": "method",
|
|
8506
|
+
"name": "getActiveSectionIndex",
|
|
8507
|
+
"privacy": "private"
|
|
8508
|
+
},
|
|
8509
|
+
{
|
|
8510
|
+
"kind": "method",
|
|
8511
|
+
"name": "setActiveSectionIndex",
|
|
8512
|
+
"privacy": "private",
|
|
8513
|
+
"parameters": [
|
|
8514
|
+
{
|
|
8515
|
+
"name": "index",
|
|
8516
|
+
"type": {
|
|
8517
|
+
"text": "number"
|
|
8518
|
+
}
|
|
8519
|
+
}
|
|
8520
|
+
]
|
|
8521
|
+
},
|
|
8522
|
+
{
|
|
8523
|
+
"kind": "method",
|
|
8524
|
+
"name": "nextSection"
|
|
8525
|
+
},
|
|
8526
|
+
{
|
|
8527
|
+
"kind": "method",
|
|
8528
|
+
"name": "prevSection"
|
|
8529
|
+
},
|
|
8530
|
+
{
|
|
8531
|
+
"kind": "method",
|
|
8532
|
+
"name": "addSection",
|
|
8533
|
+
"parameters": [
|
|
8534
|
+
{
|
|
8535
|
+
"name": "content",
|
|
8536
|
+
"optional": true,
|
|
8537
|
+
"type": {
|
|
8538
|
+
"text": "HTMLElement | string"
|
|
8539
|
+
}
|
|
8540
|
+
}
|
|
8541
|
+
]
|
|
8542
|
+
},
|
|
8543
|
+
{
|
|
8544
|
+
"kind": "method",
|
|
8545
|
+
"name": "toggleNotes",
|
|
8546
|
+
"parameters": [
|
|
8547
|
+
{
|
|
8548
|
+
"name": "force",
|
|
8549
|
+
"optional": true,
|
|
8550
|
+
"type": {
|
|
8551
|
+
"text": "boolean"
|
|
8552
|
+
}
|
|
8553
|
+
}
|
|
8554
|
+
]
|
|
8555
|
+
},
|
|
8556
|
+
{
|
|
8557
|
+
"kind": "method",
|
|
8558
|
+
"name": "resolveRatio",
|
|
8559
|
+
"privacy": "private"
|
|
8560
|
+
},
|
|
8561
|
+
{
|
|
8562
|
+
"kind": "method",
|
|
8563
|
+
"name": "syncSections",
|
|
8564
|
+
"privacy": "private"
|
|
8565
|
+
},
|
|
8566
|
+
{
|
|
8567
|
+
"kind": "method",
|
|
8568
|
+
"name": "handleArrowNavigation",
|
|
8569
|
+
"privacy": "private",
|
|
8570
|
+
"parameters": [
|
|
8571
|
+
{
|
|
8572
|
+
"name": "event",
|
|
8573
|
+
"type": {
|
|
8574
|
+
"text": "KeyboardEvent"
|
|
8575
|
+
}
|
|
8576
|
+
}
|
|
8577
|
+
]
|
|
8578
|
+
},
|
|
8579
|
+
{
|
|
8580
|
+
"kind": "method",
|
|
8581
|
+
"name": "isEditableTarget",
|
|
8582
|
+
"privacy": "private",
|
|
8583
|
+
"parameters": [
|
|
8584
|
+
{
|
|
8585
|
+
"name": "target",
|
|
8586
|
+
"type": {
|
|
8587
|
+
"text": "EventTarget | null"
|
|
8588
|
+
}
|
|
8589
|
+
}
|
|
8590
|
+
]
|
|
8591
|
+
},
|
|
8592
|
+
{
|
|
8593
|
+
"kind": "method",
|
|
8594
|
+
"name": "shouldHandleGlobalKeys",
|
|
8595
|
+
"privacy": "private",
|
|
8596
|
+
"parameters": [
|
|
8597
|
+
{
|
|
8598
|
+
"name": "event",
|
|
8599
|
+
"type": {
|
|
8600
|
+
"text": "KeyboardEvent"
|
|
8601
|
+
}
|
|
8602
|
+
}
|
|
8603
|
+
]
|
|
8604
|
+
},
|
|
8605
|
+
{
|
|
8606
|
+
"kind": "method",
|
|
8607
|
+
"name": "render",
|
|
8608
|
+
"privacy": "private"
|
|
8609
|
+
},
|
|
8610
|
+
{
|
|
8611
|
+
"kind": "method",
|
|
8612
|
+
"name": "syncChromeState",
|
|
8613
|
+
"privacy": "private"
|
|
8614
|
+
},
|
|
8615
|
+
{
|
|
8616
|
+
"kind": "method",
|
|
8617
|
+
"name": "handleSurfaceClick",
|
|
8618
|
+
"privacy": "private",
|
|
8619
|
+
"parameters": [
|
|
8620
|
+
{
|
|
8621
|
+
"name": "event",
|
|
8622
|
+
"type": {
|
|
8623
|
+
"text": "Event"
|
|
8624
|
+
}
|
|
8625
|
+
}
|
|
8626
|
+
]
|
|
8627
|
+
},
|
|
8628
|
+
{
|
|
8629
|
+
"kind": "method",
|
|
8630
|
+
"name": "handlePointerDown",
|
|
8631
|
+
"privacy": "private",
|
|
8632
|
+
"parameters": [
|
|
8633
|
+
{
|
|
8634
|
+
"name": "event",
|
|
8635
|
+
"type": {
|
|
8636
|
+
"text": "PointerEvent"
|
|
8637
|
+
}
|
|
8638
|
+
}
|
|
8639
|
+
]
|
|
8640
|
+
},
|
|
8641
|
+
{
|
|
8642
|
+
"kind": "method",
|
|
8643
|
+
"name": "handlePointerUp",
|
|
8644
|
+
"privacy": "private",
|
|
8645
|
+
"parameters": [
|
|
8646
|
+
{
|
|
8647
|
+
"name": "event",
|
|
8648
|
+
"type": {
|
|
8649
|
+
"text": "PointerEvent"
|
|
8650
|
+
}
|
|
8651
|
+
}
|
|
8652
|
+
]
|
|
8653
|
+
},
|
|
8654
|
+
{
|
|
8655
|
+
"kind": "method",
|
|
8656
|
+
"name": "resolveLightboxImage",
|
|
8657
|
+
"privacy": "private",
|
|
8658
|
+
"parameters": [
|
|
8659
|
+
{
|
|
8660
|
+
"name": "path",
|
|
8661
|
+
"type": {
|
|
8662
|
+
"text": "EventTarget[]"
|
|
8663
|
+
}
|
|
8664
|
+
},
|
|
8665
|
+
{
|
|
8666
|
+
"name": "assigned",
|
|
8667
|
+
"type": {
|
|
8668
|
+
"text": "Element[]"
|
|
8669
|
+
}
|
|
8670
|
+
}
|
|
8671
|
+
]
|
|
8672
|
+
},
|
|
8673
|
+
{
|
|
8674
|
+
"kind": "method",
|
|
8675
|
+
"name": "openLightbox",
|
|
8676
|
+
"privacy": "private",
|
|
8677
|
+
"parameters": [
|
|
8678
|
+
{
|
|
8679
|
+
"name": "src",
|
|
8680
|
+
"type": {
|
|
8681
|
+
"text": "string"
|
|
8682
|
+
}
|
|
8683
|
+
},
|
|
8684
|
+
{
|
|
8685
|
+
"name": "alt",
|
|
8686
|
+
"type": {
|
|
8687
|
+
"text": "string"
|
|
8688
|
+
}
|
|
8689
|
+
}
|
|
8690
|
+
]
|
|
8691
|
+
},
|
|
8692
|
+
{
|
|
8693
|
+
"kind": "method",
|
|
8694
|
+
"name": "escapeHtml",
|
|
8695
|
+
"privacy": "private",
|
|
8696
|
+
"parameters": [
|
|
8697
|
+
{
|
|
8698
|
+
"name": "value",
|
|
8699
|
+
"type": {
|
|
8700
|
+
"text": "string"
|
|
8701
|
+
}
|
|
8702
|
+
}
|
|
8703
|
+
]
|
|
8704
|
+
}
|
|
8705
|
+
],
|
|
8706
|
+
"events": [
|
|
8707
|
+
{
|
|
8708
|
+
"name": "section-change",
|
|
8709
|
+
"type": {
|
|
8710
|
+
"text": "CustomEvent"
|
|
8711
|
+
}
|
|
8712
|
+
},
|
|
8713
|
+
{
|
|
8714
|
+
"name": "section-add",
|
|
8715
|
+
"type": {
|
|
8716
|
+
"text": "CustomEvent"
|
|
8717
|
+
}
|
|
8718
|
+
},
|
|
8719
|
+
{
|
|
8720
|
+
"name": "notes-toggle",
|
|
8721
|
+
"type": {
|
|
8722
|
+
"text": "CustomEvent"
|
|
8723
|
+
}
|
|
8724
|
+
},
|
|
8725
|
+
{
|
|
8726
|
+
"name": "lightbox-close",
|
|
8727
|
+
"type": {
|
|
8728
|
+
"text": "CustomEvent"
|
|
8729
|
+
}
|
|
8730
|
+
},
|
|
8731
|
+
{
|
|
8732
|
+
"name": "lightbox-open",
|
|
8733
|
+
"type": {
|
|
8734
|
+
"text": "CustomEvent"
|
|
8735
|
+
}
|
|
8736
|
+
}
|
|
8737
|
+
],
|
|
8738
|
+
"attributes": [
|
|
8739
|
+
{
|
|
8740
|
+
"name": "ratio"
|
|
8741
|
+
},
|
|
8742
|
+
{
|
|
8743
|
+
"name": "ratio-width"
|
|
8744
|
+
},
|
|
8745
|
+
{
|
|
8746
|
+
"name": "ratio-height"
|
|
8747
|
+
},
|
|
8748
|
+
{
|
|
8749
|
+
"name": "present"
|
|
8750
|
+
},
|
|
8751
|
+
{
|
|
8752
|
+
"name": "active-section"
|
|
8753
|
+
},
|
|
8754
|
+
{
|
|
8755
|
+
"name": "padding"
|
|
8756
|
+
},
|
|
8757
|
+
{
|
|
8758
|
+
"name": "notes-open"
|
|
8759
|
+
},
|
|
8760
|
+
{
|
|
8761
|
+
"name": "variant"
|
|
8762
|
+
},
|
|
8763
|
+
{
|
|
8764
|
+
"name": "radius"
|
|
8765
|
+
},
|
|
8766
|
+
{
|
|
8767
|
+
"name": "title"
|
|
8768
|
+
},
|
|
8769
|
+
{
|
|
8770
|
+
"name": "footer-text"
|
|
8771
|
+
},
|
|
8772
|
+
{
|
|
8773
|
+
"name": "hide-counter"
|
|
8774
|
+
},
|
|
8775
|
+
{
|
|
8776
|
+
"name": "preview"
|
|
8777
|
+
},
|
|
8778
|
+
{
|
|
8779
|
+
"name": "lightbox"
|
|
8780
|
+
},
|
|
8781
|
+
{
|
|
8782
|
+
"name": "scroll"
|
|
8783
|
+
}
|
|
8784
|
+
],
|
|
8785
|
+
"superclass": {
|
|
8786
|
+
"name": "HTMLElement"
|
|
8787
|
+
},
|
|
8788
|
+
"tagName": "mui-slide-frame",
|
|
8789
|
+
"customElement": true
|
|
8790
|
+
}
|
|
8791
|
+
],
|
|
8792
|
+
"exports": [
|
|
8793
|
+
{
|
|
8794
|
+
"kind": "custom-element-definition",
|
|
8795
|
+
"name": "mui-slide-frame",
|
|
8796
|
+
"declaration": {
|
|
8797
|
+
"name": "MuiSlideFrame",
|
|
8798
|
+
"module": "src/components/mui-slide-frame/index.ts"
|
|
8799
|
+
}
|
|
8800
|
+
}
|
|
8801
|
+
]
|
|
8802
|
+
},
|
|
8803
|
+
{
|
|
8804
|
+
"kind": "javascript-module",
|
|
8805
|
+
"path": "src/components/mui-smart-card/doc.ts",
|
|
8806
|
+
"declarations": [
|
|
8807
|
+
{
|
|
8808
|
+
"kind": "variable",
|
|
8809
|
+
"name": "muiDocs",
|
|
8810
|
+
"type": {
|
|
8811
|
+
"text": "MuiDocs"
|
|
8812
|
+
},
|
|
8813
|
+
"default": "{ SmartCard: { title: \"Smart Card\", description: \"A visually rich, responsive component used to represent digital or physical cards within interfaces such as wallets, dashboards, or rewards experiences. Designed to surface key information at a glance, with space for branding, balance, status, or interactive actions.\", hero: [ \"https://images.ctfassets.net/i5uwscj4pkk2/7qITxDlh6vSZatNH00P4bS/4c825fa8f3109b175b0cd75a2a6d261d/Smart-card_-_Home_Image.png\", ], figma: [ \"https://www.figma.com/design/l0mt1lXu97XoHJCEdnrWLp/Mui-Design-System?node-id=440-1250&t=FSv3FEahG8VQW1FZ-1\", ], storybook: [\"https://stories.muibook.com/?path=/docs/content-smartcard--docs\"], github: [\"https://github.com/michaeltrilford/muibook/blob/main/src/components/mui-smart-card/index.ts\"], website: [\"https://muibook.com/#/smart-card\"], guides: [\"https://guides.muibook.com/smart-card\"], usage: { list: [ \"Use to display account, card, or membership information in a recognisable format.\", \"Ideal for wallets, rewards, or financial dashboards where visual identity matters.\", \"Surface primary details such as balance, expiry, or card type clearly.\", \"Avoid overloading with actions—prioritise clarity and visual hierarchy.\", ], }, accessibility: { designerList: [\"\"], engineerList: [\"\"], }, anatomy: { image: \"https://images.ctfassets.net/i5uwscj4pkk2/7axH5SYpu0aVyMIglUrjra/1d9ab89d5861da9a22f856bd85ce9961/SmartCard_-_Anatomy.png\", list: [ \"Type: Used to visually or semantically describe the card’s usage.\", \"Logo: Option to add logo to the card top right.\", \"Number: Only the last 4 digits are shown (no full card number for security).\", \"Partner: Section to add the card partner.\", \"Background: Ability to change card colour, add a static or animated background.\", ], }, variants: { items: [ { key: \"\", title: \"\", description: \"\", image: \"\", }, ], }, compositions: { description: \"Showcases actual use cases, demonstrating how the component fits into real-world UI scenarios.\", items: [ { key: \"smart-card\", name: \"Smart Card\", description: \"The Smart Card composition uses slats to present structured information in a compact format. Slats help organise details such as titles, descriptions, and supporting actions, making the card easy to scan and interact with.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/74knMtil1vp9nHPPWXM1kr/54f8d978b0a82bca2c126e8ab800826f/SmartCard_-_Card_Composition.png\", }, ], }, related: { items: [ { name: \"\", link: \"\", }, ], }, rules: [ { heading: \"\", description: \"\", doContent: [{ description: \"\", image: \"\" }], dontContent: [{ description: \"\", image: \"\" }], }, ], behaviour: { list: [\"\"], }, writing: { list: [\"\"], }, }, }"
|
|
8814
|
+
}
|
|
8815
|
+
],
|
|
8816
|
+
"exports": [
|
|
8817
|
+
{
|
|
8818
|
+
"kind": "js",
|
|
8819
|
+
"name": "muiDocs",
|
|
8820
|
+
"declaration": {
|
|
8821
|
+
"name": "muiDocs",
|
|
8822
|
+
"module": "src/components/mui-smart-card/doc.ts"
|
|
8823
|
+
}
|
|
8824
|
+
}
|
|
8825
|
+
]
|
|
8826
|
+
},
|
|
8827
|
+
{
|
|
8828
|
+
"kind": "javascript-module",
|
|
8829
|
+
"path": "src/components/mui-smart-card/index.ts",
|
|
8830
|
+
"declarations": [
|
|
8831
|
+
{
|
|
8832
|
+
"kind": "class",
|
|
8833
|
+
"description": "",
|
|
8834
|
+
"name": "MuiSmartCard",
|
|
8835
|
+
"members": [
|
|
8836
|
+
{
|
|
8837
|
+
"kind": "method",
|
|
8838
|
+
"name": "render"
|
|
8839
|
+
}
|
|
8840
|
+
],
|
|
8841
|
+
"attributes": [
|
|
8842
|
+
{
|
|
8843
|
+
"name": "state"
|
|
8844
|
+
},
|
|
8845
|
+
{
|
|
8846
|
+
"name": "number"
|
|
8847
|
+
},
|
|
8848
|
+
{
|
|
8849
|
+
"name": "variant"
|
|
8850
|
+
},
|
|
8851
|
+
{
|
|
8852
|
+
"name": "partner"
|
|
8853
|
+
},
|
|
8854
|
+
{
|
|
8855
|
+
"name": "type"
|
|
8856
|
+
},
|
|
8857
|
+
{
|
|
8858
|
+
"name": "logo"
|
|
8859
|
+
},
|
|
8860
|
+
{
|
|
8861
|
+
"name": "logo-width"
|
|
8862
|
+
},
|
|
8863
|
+
{
|
|
8864
|
+
"name": "logo-height"
|
|
8865
|
+
},
|
|
8866
|
+
{
|
|
8867
|
+
"name": "bg-color"
|
|
8030
8868
|
},
|
|
8031
8869
|
{
|
|
8032
8870
|
"name": "bg-image"
|
|
@@ -8193,7 +9031,7 @@
|
|
|
8193
9031
|
"type": {
|
|
8194
9032
|
"text": "MuiDocs"
|
|
8195
9033
|
},
|
|
8196
|
-
"default": "{ Switch: { title: \"Switch\", description: \"A Switch is a UI component used to toggle between two states, typically “on” and “off.” It provides a clear visual indication of an active or inactive setting.\", hero: [ \"https://images.ctfassets.net/i5uwscj4pkk2/0dWww7c9wOs9YLPwgsTyy/323dcb62a6be394bbba8f268c8ae62b9/Switch_-_Home_Image.png\", ], figma: [ \"https://www.figma.com/design/l0mt1lXu97XoHJCEdnrWLp/Mui-Design-System?node-id=147-1003&t=FSv3FEahG8VQW1FZ-1\", ], storybook: [\"https://stories.muibook.com/?path=/docs/inputs-switch--docs\"], github: [\"https://github.com/michaeltrilford/muibook/blob/main/src/components/mui-switch/index.ts\"], website: [\"https://muibook.com/#/switch\"], guides: [\"https://guides.muibook.com/switch\"], usage: { list: [ \"Enable or disable a setting – Toggle features like dark mode or notifications.\", \"Control device states – Switch on/off smart devices or system settings.\", \"Trigger immediate actions – Instantly apply changes without requiring confirmation.\", ], }, accessibility: { designerList: [\"\"], engineerList: [ \"A label is required and applied as aria-label to describe the switch’s purpose.\", \"Uses role='switch' and updates aria-checked for assistive tech.\", \"The label isn’t shown visually—context is provided through icons or nearby text.\", \"disabled sets aria-disabled and blocks interaction.\", \"Supports keyboard navigation with visible focus styles.\", ], }, anatomy: { image: \"https://images.ctfassets.net/i5uwscj4pkk2/5XNIjIfzNIfo3uIavVlSCU/7bbdc09ee60c7fa03ab19ff2dab558a8/Switch_-_Anatomy.png\", list: [ \"Thumb (Handle) – The movable part that toggles between the on and off states.\", \"Off Track: The background when the switch is in the “off” state.\", \"On Track: The background when the switch is in the “on” state.\", ], }, variants: { items: [ { key: \"\", title: \"\", description: \"\", image: \"\", }, ], }, compositions: { description: \"Showcases actual use cases, demonstrating how the component fits into real-world UI scenarios.\", items: [ { key: \"theme-switch\", name: \"Theme Switch\", description: \"This example from the Muibook Docs website demonstrates a switch component used to toggle the interface between light and dark modes.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/19NvfLGnzRI4MebRSU2aMH/d6ffcca7dffb6c7b843cafc83b812d90/SwitchTheme-Composition.png\", }, ], }, related: { items: [ { name: \"Checkbox\", link: \"https://guides.muibook.com/checkbox\", }, ], }, rules: [ { heading: \"\", description: \"\", doContent: [{ description: \"\", image: \"\" }], dontContent: [{ description: \"\", image: \"\" }], }, ], behaviour: { list: [\"\"], }, writing: { list: [\"\"], }, }, }"
|
|
9034
|
+
"default": "{ Switch: { title: \"Switch\", description: \"A Switch is a UI component used to toggle between two states, typically “on” and “off.” It provides a clear visual indication of an active or inactive setting.\", hero: [ \"https://images.ctfassets.net/i5uwscj4pkk2/0dWww7c9wOs9YLPwgsTyy/323dcb62a6be394bbba8f268c8ae62b9/Switch_-_Home_Image.png\", ], figma: [ \"https://www.figma.com/design/l0mt1lXu97XoHJCEdnrWLp/Mui-Design-System?node-id=147-1003&t=FSv3FEahG8VQW1FZ-1\", ], storybook: [\"https://stories.muibook.com/?path=/docs/inputs-switch--docs\"], github: [\"https://github.com/michaeltrilford/muibook/blob/main/src/components/mui-switch/index.ts\"], website: [\"https://muibook.com/#/switch\"], guides: [\"https://guides.muibook.com/switch\"], usage: { list: [ \"Enable or disable a setting – Toggle features like dark mode or notifications.\", \"Control device states – Switch on/off smart devices or system settings.\", \"Trigger immediate actions – Instantly apply changes without requiring confirmation.\", \"Use size='x-small|small|medium|large' to match switch density with surrounding controls.\", ], }, accessibility: { designerList: [\"\"], engineerList: [ \"A label is required and applied as aria-label to describe the switch’s purpose.\", \"Uses role='switch' and updates aria-checked for assistive tech.\", \"The label isn’t shown visually—context is provided through icons or nearby text.\", \"disabled sets aria-disabled and blocks interaction.\", \"Supports keyboard navigation with visible focus styles.\", ], }, anatomy: { image: \"https://images.ctfassets.net/i5uwscj4pkk2/5XNIjIfzNIfo3uIavVlSCU/7bbdc09ee60c7fa03ab19ff2dab558a8/Switch_-_Anatomy.png\", list: [ \"Thumb (Handle) – The movable part that toggles between the on and off states.\", \"Off Track: The background when the switch is in the “off” state.\", \"On Track: The background when the switch is in the “on” state.\", ], }, variants: { items: [ { key: \"\", title: \"\", description: \"\", image: \"\", }, ], }, compositions: { description: \"Showcases actual use cases, demonstrating how the component fits into real-world UI scenarios.\", items: [ { key: \"theme-switch\", name: \"Theme Switch\", description: \"This example from the Muibook Docs website demonstrates a switch component used to toggle the interface between light and dark modes.\", image: \"https://images.ctfassets.net/i5uwscj4pkk2/19NvfLGnzRI4MebRSU2aMH/d6ffcca7dffb6c7b843cafc83b812d90/SwitchTheme-Composition.png\", }, ], }, related: { items: [ { name: \"Checkbox\", link: \"https://guides.muibook.com/checkbox\", }, ], }, rules: [ { heading: \"\", description: \"\", doContent: [{ description: \"\", image: \"\" }], dontContent: [{ description: \"\", image: \"\" }], }, ], behaviour: { list: [\"\"], }, writing: { list: [\"\"], }, }, }"
|
|
8197
9035
|
}
|
|
8198
9036
|
],
|
|
8199
9037
|
"exports": [
|
|
@@ -8296,6 +9134,9 @@
|
|
|
8296
9134
|
},
|
|
8297
9135
|
{
|
|
8298
9136
|
"name": "checked"
|
|
9137
|
+
},
|
|
9138
|
+
{
|
|
9139
|
+
"name": "size"
|
|
8299
9140
|
}
|
|
8300
9141
|
],
|
|
8301
9142
|
"superclass": {
|
|
@@ -9438,23 +10279,75 @@
|
|
|
9438
10279
|
"name": "alignx"
|
|
9439
10280
|
},
|
|
9440
10281
|
{
|
|
9441
|
-
"name": "aligny"
|
|
10282
|
+
"name": "aligny"
|
|
10283
|
+
}
|
|
10284
|
+
],
|
|
10285
|
+
"superclass": {
|
|
10286
|
+
"name": "HTMLElement"
|
|
10287
|
+
},
|
|
10288
|
+
"tagName": "mui-v-stack",
|
|
10289
|
+
"customElement": true
|
|
10290
|
+
}
|
|
10291
|
+
],
|
|
10292
|
+
"exports": [
|
|
10293
|
+
{
|
|
10294
|
+
"kind": "custom-element-definition",
|
|
10295
|
+
"name": "mui-v-stack",
|
|
10296
|
+
"declaration": {
|
|
10297
|
+
"name": "MuiVStack",
|
|
10298
|
+
"module": "src/components/mui-stack/vstack/index.ts"
|
|
10299
|
+
}
|
|
10300
|
+
}
|
|
10301
|
+
]
|
|
10302
|
+
},
|
|
10303
|
+
{
|
|
10304
|
+
"kind": "javascript-module",
|
|
10305
|
+
"path": "src/components/mui-stepper/step/index.ts",
|
|
10306
|
+
"declarations": [
|
|
10307
|
+
{
|
|
10308
|
+
"kind": "class",
|
|
10309
|
+
"description": "",
|
|
10310
|
+
"name": "MuiStep",
|
|
10311
|
+
"members": [
|
|
10312
|
+
{
|
|
10313
|
+
"kind": "method",
|
|
10314
|
+
"name": "render"
|
|
10315
|
+
}
|
|
10316
|
+
],
|
|
10317
|
+
"attributes": [
|
|
10318
|
+
{
|
|
10319
|
+
"name": "state"
|
|
10320
|
+
},
|
|
10321
|
+
{
|
|
10322
|
+
"name": "resolved-state"
|
|
10323
|
+
},
|
|
10324
|
+
{
|
|
10325
|
+
"name": "title"
|
|
10326
|
+
},
|
|
10327
|
+
{
|
|
10328
|
+
"name": "direction"
|
|
10329
|
+
},
|
|
10330
|
+
{
|
|
10331
|
+
"name": "hide-icon"
|
|
10332
|
+
},
|
|
10333
|
+
{
|
|
10334
|
+
"name": "size"
|
|
9442
10335
|
}
|
|
9443
10336
|
],
|
|
9444
10337
|
"superclass": {
|
|
9445
10338
|
"name": "HTMLElement"
|
|
9446
10339
|
},
|
|
9447
|
-
"tagName": "mui-
|
|
10340
|
+
"tagName": "mui-step",
|
|
9448
10341
|
"customElement": true
|
|
9449
10342
|
}
|
|
9450
10343
|
],
|
|
9451
10344
|
"exports": [
|
|
9452
10345
|
{
|
|
9453
10346
|
"kind": "custom-element-definition",
|
|
9454
|
-
"name": "mui-
|
|
10347
|
+
"name": "mui-step",
|
|
9455
10348
|
"declaration": {
|
|
9456
|
-
"name": "
|
|
9457
|
-
"module": "src/components/mui-
|
|
10349
|
+
"name": "MuiStep",
|
|
10350
|
+
"module": "src/components/mui-stepper/step/index.ts"
|
|
9458
10351
|
}
|
|
9459
10352
|
}
|
|
9460
10353
|
]
|
|
@@ -9632,58 +10525,6 @@
|
|
|
9632
10525
|
}
|
|
9633
10526
|
]
|
|
9634
10527
|
},
|
|
9635
|
-
{
|
|
9636
|
-
"kind": "javascript-module",
|
|
9637
|
-
"path": "src/components/mui-stepper/step/index.ts",
|
|
9638
|
-
"declarations": [
|
|
9639
|
-
{
|
|
9640
|
-
"kind": "class",
|
|
9641
|
-
"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
|
-
],
|
|
9669
|
-
"superclass": {
|
|
9670
|
-
"name": "HTMLElement"
|
|
9671
|
-
},
|
|
9672
|
-
"tagName": "mui-step",
|
|
9673
|
-
"customElement": true
|
|
9674
|
-
}
|
|
9675
|
-
],
|
|
9676
|
-
"exports": [
|
|
9677
|
-
{
|
|
9678
|
-
"kind": "custom-element-definition",
|
|
9679
|
-
"name": "mui-step",
|
|
9680
|
-
"declaration": {
|
|
9681
|
-
"name": "MuiStep",
|
|
9682
|
-
"module": "src/components/mui-stepper/step/index.ts"
|
|
9683
|
-
}
|
|
9684
|
-
}
|
|
9685
|
-
]
|
|
9686
|
-
},
|
|
9687
10528
|
{
|
|
9688
10529
|
"kind": "javascript-module",
|
|
9689
10530
|
"path": "src/components/mui-table/cell/index.ts",
|
|
@@ -9764,58 +10605,6 @@
|
|
|
9764
10605
|
}
|
|
9765
10606
|
]
|
|
9766
10607
|
},
|
|
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
|
-
{
|
|
9794
|
-
"kind": "javascript-module",
|
|
9795
|
-
"path": "src/components/mui-table/table/index.ts",
|
|
9796
|
-
"declarations": [
|
|
9797
|
-
{
|
|
9798
|
-
"kind": "class",
|
|
9799
|
-
"description": "",
|
|
9800
|
-
"name": "MuiTable",
|
|
9801
|
-
"superclass": {
|
|
9802
|
-
"name": "HTMLElement"
|
|
9803
|
-
},
|
|
9804
|
-
"tagName": "mui-table",
|
|
9805
|
-
"customElement": true
|
|
9806
|
-
}
|
|
9807
|
-
],
|
|
9808
|
-
"exports": [
|
|
9809
|
-
{
|
|
9810
|
-
"kind": "custom-element-definition",
|
|
9811
|
-
"name": "mui-table",
|
|
9812
|
-
"declaration": {
|
|
9813
|
-
"name": "MuiTable",
|
|
9814
|
-
"module": "src/components/mui-table/table/index.ts"
|
|
9815
|
-
}
|
|
9816
|
-
}
|
|
9817
|
-
]
|
|
9818
|
-
},
|
|
9819
10608
|
{
|
|
9820
10609
|
"kind": "javascript-module",
|
|
9821
10610
|
"path": "src/components/mui-tabs/controller/index.ts",
|
|
@@ -9888,6 +10677,58 @@
|
|
|
9888
10677
|
}
|
|
9889
10678
|
]
|
|
9890
10679
|
},
|
|
10680
|
+
{
|
|
10681
|
+
"kind": "javascript-module",
|
|
10682
|
+
"path": "src/components/mui-table/table/index.ts",
|
|
10683
|
+
"declarations": [
|
|
10684
|
+
{
|
|
10685
|
+
"kind": "class",
|
|
10686
|
+
"description": "",
|
|
10687
|
+
"name": "MuiTable",
|
|
10688
|
+
"superclass": {
|
|
10689
|
+
"name": "HTMLElement"
|
|
10690
|
+
},
|
|
10691
|
+
"tagName": "mui-table",
|
|
10692
|
+
"customElement": true
|
|
10693
|
+
}
|
|
10694
|
+
],
|
|
10695
|
+
"exports": [
|
|
10696
|
+
{
|
|
10697
|
+
"kind": "custom-element-definition",
|
|
10698
|
+
"name": "mui-table",
|
|
10699
|
+
"declaration": {
|
|
10700
|
+
"name": "MuiTable",
|
|
10701
|
+
"module": "src/components/mui-table/table/index.ts"
|
|
10702
|
+
}
|
|
10703
|
+
}
|
|
10704
|
+
]
|
|
10705
|
+
},
|
|
10706
|
+
{
|
|
10707
|
+
"kind": "javascript-module",
|
|
10708
|
+
"path": "src/components/mui-table/row-group/index.ts",
|
|
10709
|
+
"declarations": [
|
|
10710
|
+
{
|
|
10711
|
+
"kind": "class",
|
|
10712
|
+
"description": "",
|
|
10713
|
+
"name": "MuiRowGroup",
|
|
10714
|
+
"superclass": {
|
|
10715
|
+
"name": "HTMLElement"
|
|
10716
|
+
},
|
|
10717
|
+
"tagName": "mui-row-group",
|
|
10718
|
+
"customElement": true
|
|
10719
|
+
}
|
|
10720
|
+
],
|
|
10721
|
+
"exports": [
|
|
10722
|
+
{
|
|
10723
|
+
"kind": "custom-element-definition",
|
|
10724
|
+
"name": "mui-row-group",
|
|
10725
|
+
"declaration": {
|
|
10726
|
+
"name": "MuiRowGroup",
|
|
10727
|
+
"module": "src/components/mui-table/row-group/index.ts"
|
|
10728
|
+
}
|
|
10729
|
+
}
|
|
10730
|
+
]
|
|
10731
|
+
},
|
|
9891
10732
|
{
|
|
9892
10733
|
"kind": "javascript-module",
|
|
9893
10734
|
"path": "src/components/mui-tabs/item/index.ts",
|
|
@@ -9993,51 +10834,6 @@
|
|
|
9993
10834
|
}
|
|
9994
10835
|
]
|
|
9995
10836
|
},
|
|
9996
|
-
{
|
|
9997
|
-
"kind": "javascript-module",
|
|
9998
|
-
"path": "src/components/mui-tabs/panel/index.ts",
|
|
9999
|
-
"declarations": [
|
|
10000
|
-
{
|
|
10001
|
-
"kind": "class",
|
|
10002
|
-
"description": "",
|
|
10003
|
-
"name": "MuiTabPanel",
|
|
10004
|
-
"members": [
|
|
10005
|
-
{
|
|
10006
|
-
"kind": "field",
|
|
10007
|
-
"name": "item",
|
|
10008
|
-
"type": {
|
|
10009
|
-
"text": "string | null"
|
|
10010
|
-
}
|
|
10011
|
-
},
|
|
10012
|
-
{
|
|
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": [
|
|
10019
|
-
{
|
|
10020
|
-
"name": "item"
|
|
10021
|
-
}
|
|
10022
|
-
],
|
|
10023
|
-
"superclass": {
|
|
10024
|
-
"name": "HTMLElement"
|
|
10025
|
-
},
|
|
10026
|
-
"tagName": "mui-tab-panel",
|
|
10027
|
-
"customElement": true
|
|
10028
|
-
}
|
|
10029
|
-
],
|
|
10030
|
-
"exports": [
|
|
10031
|
-
{
|
|
10032
|
-
"kind": "custom-element-definition",
|
|
10033
|
-
"name": "mui-tab-panel",
|
|
10034
|
-
"declaration": {
|
|
10035
|
-
"name": "MuiTabPanel",
|
|
10036
|
-
"module": "src/components/mui-tabs/panel/index.ts"
|
|
10037
|
-
}
|
|
10038
|
-
}
|
|
10039
|
-
]
|
|
10040
|
-
},
|
|
10041
10837
|
{
|
|
10042
10838
|
"kind": "javascript-module",
|
|
10043
10839
|
"path": "src/components/mui-tabs/tab-bar/index.ts",
|
|
@@ -10197,6 +10993,51 @@
|
|
|
10197
10993
|
}
|
|
10198
10994
|
}
|
|
10199
10995
|
]
|
|
10996
|
+
},
|
|
10997
|
+
{
|
|
10998
|
+
"kind": "javascript-module",
|
|
10999
|
+
"path": "src/components/mui-tabs/panel/index.ts",
|
|
11000
|
+
"declarations": [
|
|
11001
|
+
{
|
|
11002
|
+
"kind": "class",
|
|
11003
|
+
"description": "",
|
|
11004
|
+
"name": "MuiTabPanel",
|
|
11005
|
+
"members": [
|
|
11006
|
+
{
|
|
11007
|
+
"kind": "field",
|
|
11008
|
+
"name": "item",
|
|
11009
|
+
"type": {
|
|
11010
|
+
"text": "string | null"
|
|
11011
|
+
}
|
|
11012
|
+
},
|
|
11013
|
+
{
|
|
11014
|
+
"kind": "field",
|
|
11015
|
+
"name": "innerHTML",
|
|
11016
|
+
"default": "` <style> :host { display: block; } :host([hidden]) { display: none !important; } .inner { padding: var(--tab-panel-padding, 0); } </style> <div class=\"inner\"> <slot></slot> </div> `"
|
|
11017
|
+
}
|
|
11018
|
+
],
|
|
11019
|
+
"attributes": [
|
|
11020
|
+
{
|
|
11021
|
+
"name": "item"
|
|
11022
|
+
}
|
|
11023
|
+
],
|
|
11024
|
+
"superclass": {
|
|
11025
|
+
"name": "HTMLElement"
|
|
11026
|
+
},
|
|
11027
|
+
"tagName": "mui-tab-panel",
|
|
11028
|
+
"customElement": true
|
|
11029
|
+
}
|
|
11030
|
+
],
|
|
11031
|
+
"exports": [
|
|
11032
|
+
{
|
|
11033
|
+
"kind": "custom-element-definition",
|
|
11034
|
+
"name": "mui-tab-panel",
|
|
11035
|
+
"declaration": {
|
|
11036
|
+
"name": "MuiTabPanel",
|
|
11037
|
+
"module": "src/components/mui-tabs/panel/index.ts"
|
|
11038
|
+
}
|
|
11039
|
+
}
|
|
11040
|
+
]
|
|
10200
11041
|
}
|
|
10201
11042
|
]
|
|
10202
11043
|
}
|