@francofantomius/material-components 1.0.2 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (168) hide show
  1. package/CHANGELOG.md +49 -0
  2. package/README.md +41 -9
  3. package/custom-elements.json +19060 -9017
  4. package/dist/chunks/account-menu-Dau0UHTl.js +1290 -0
  5. package/dist/chunks/account-menu-Dau0UHTl.js.map +1 -0
  6. package/dist/chunks/app-drawer-Du1ePzxZ.js +903 -0
  7. package/dist/chunks/app-drawer-Du1ePzxZ.js.map +1 -0
  8. package/dist/chunks/bottom-sheet-q79BBYAj.js +402 -0
  9. package/dist/chunks/bottom-sheet-q79BBYAj.js.map +1 -0
  10. package/dist/chunks/{button-B4TSZ7Sl.js → button-D2vn7kJ8.js} +9 -8
  11. package/dist/chunks/button-D2vn7kJ8.js.map +1 -0
  12. package/dist/chunks/button-group-CNqvJx1n.js +143 -0
  13. package/dist/chunks/button-group-CNqvJx1n.js.map +1 -0
  14. package/dist/chunks/carousel-item-BG6kjjjk.js +371 -0
  15. package/dist/chunks/carousel-item-BG6kjjjk.js.map +1 -0
  16. package/dist/chunks/date-picker-DJeHi4w-.js +777 -0
  17. package/dist/chunks/date-picker-DJeHi4w-.js.map +1 -0
  18. package/dist/chunks/fab-menu.css-3pu930sZ.js +320 -0
  19. package/dist/chunks/fab-menu.css-3pu930sZ.js.map +1 -0
  20. package/dist/chunks/{icon-button-BdSc7eot.js → icon-button-BQz73GLa.js} +2 -2
  21. package/dist/chunks/icon-button-BQz73GLa.js.map +1 -0
  22. package/dist/chunks/loading-indicator-CvWnZr9o.js +193 -0
  23. package/dist/chunks/loading-indicator-CvWnZr9o.js.map +1 -0
  24. package/dist/chunks/menu-item-BBSp5Cqc.js +390 -0
  25. package/dist/chunks/menu-item-BBSp5Cqc.js.map +1 -0
  26. package/dist/chunks/navigation-bar-item-C9DfOEzg.js +397 -0
  27. package/dist/chunks/navigation-bar-item-C9DfOEzg.js.map +1 -0
  28. package/dist/chunks/navigation-rail-item-6pdhNHJK.js +357 -0
  29. package/dist/chunks/navigation-rail-item-6pdhNHJK.js.map +1 -0
  30. package/dist/chunks/{search-bar-TXnqJ-gd.js → search-bar-fUD0qU2P.js} +22 -4
  31. package/dist/chunks/search-bar-fUD0qU2P.js.map +1 -0
  32. package/dist/chunks/segmented-button-B0BvGSQ7.js +265 -0
  33. package/dist/chunks/segmented-button-B0BvGSQ7.js.map +1 -0
  34. package/dist/chunks/side-sheet-S2w081AK.js +360 -0
  35. package/dist/chunks/side-sheet-S2w081AK.js.map +1 -0
  36. package/dist/chunks/slider-D-mnO8yQ.js +450 -0
  37. package/dist/chunks/slider-D-mnO8yQ.js.map +1 -0
  38. package/dist/chunks/split-button-DUfjukQY.js +450 -0
  39. package/dist/chunks/split-button-DUfjukQY.js.map +1 -0
  40. package/dist/chunks/{table-aRTYzDyE.js → table-CqHnneAj.js} +2 -2
  41. package/dist/chunks/{table-aRTYzDyE.js.map → table-CqHnneAj.js.map} +1 -1
  42. package/dist/chunks/time-picker-CZnb2sWz.js +785 -0
  43. package/dist/chunks/time-picker-CZnb2sWz.js.map +1 -0
  44. package/dist/chunks/toolbar-DXVQbQKJ.js +271 -0
  45. package/dist/chunks/toolbar-DXVQbQKJ.js.map +1 -0
  46. package/dist/chunks/tooltip-CE7JMHMu.js +398 -0
  47. package/dist/chunks/tooltip-CE7JMHMu.js.map +1 -0
  48. package/dist/components/account-menu/account-menu.js +8 -0
  49. package/dist/components/app-drawer/app-drawer.js +9 -0
  50. package/dist/components/bottom-sheet/bottom-sheet.css.d.ts +2 -0
  51. package/dist/components/bottom-sheet/bottom-sheet.css.d.ts.map +1 -0
  52. package/dist/components/bottom-sheet/bottom-sheet.d.ts +69 -0
  53. package/dist/components/bottom-sheet/bottom-sheet.d.ts.map +1 -0
  54. package/dist/components/bottom-sheet/bottom-sheet.js +4 -0
  55. package/dist/components/button/button.css.d.ts.map +1 -1
  56. package/dist/components/button/button.js +1 -1
  57. package/dist/components/button-group/button-group.css.d.ts +2 -0
  58. package/dist/components/button-group/button-group.css.d.ts.map +1 -0
  59. package/dist/components/button-group/button-group.d.ts +28 -0
  60. package/dist/components/button-group/button-group.d.ts.map +1 -0
  61. package/dist/components/button-group/button-group.js +4 -0
  62. package/dist/components/carousel/carousel-item.d.ts +33 -0
  63. package/dist/components/carousel/carousel-item.d.ts.map +1 -0
  64. package/dist/components/carousel/carousel-item.js +4 -0
  65. package/dist/components/carousel/carousel.css.d.ts +3 -0
  66. package/dist/components/carousel/carousel.css.d.ts.map +1 -0
  67. package/dist/components/carousel/carousel.d.ts +81 -0
  68. package/dist/components/carousel/carousel.d.ts.map +1 -0
  69. package/dist/components/carousel/carousel.js +284 -0
  70. package/dist/components/carousel/carousel.js.map +1 -0
  71. package/dist/components/date-picker/date-picker.css.d.ts +2 -0
  72. package/dist/components/date-picker/date-picker.css.d.ts.map +1 -0
  73. package/dist/components/date-picker/date-picker.d.ts +59 -0
  74. package/dist/components/date-picker/date-picker.d.ts.map +1 -0
  75. package/dist/components/date-picker/date-picker.js +4 -0
  76. package/dist/components/fab-menu/fab-menu-item.d.ts +35 -0
  77. package/dist/components/fab-menu/fab-menu-item.d.ts.map +1 -0
  78. package/dist/components/fab-menu/fab-menu-item.js +93 -0
  79. package/dist/components/fab-menu/fab-menu-item.js.map +1 -0
  80. package/dist/components/fab-menu/fab-menu.css.d.ts +3 -0
  81. package/dist/components/fab-menu/fab-menu.css.d.ts.map +1 -0
  82. package/dist/components/fab-menu/fab-menu.d.ts +72 -0
  83. package/dist/components/fab-menu/fab-menu.d.ts.map +1 -0
  84. package/dist/components/fab-menu/fab-menu.js +148 -0
  85. package/dist/components/fab-menu/fab-menu.js.map +1 -0
  86. package/dist/components/icon-button/icon-button.js +1 -1
  87. package/dist/components/loading-indicator/loading-indicator.css.d.ts +2 -0
  88. package/dist/components/loading-indicator/loading-indicator.css.d.ts.map +1 -0
  89. package/dist/components/loading-indicator/loading-indicator.d.ts +48 -0
  90. package/dist/components/loading-indicator/loading-indicator.d.ts.map +1 -0
  91. package/dist/components/loading-indicator/loading-indicator.js +4 -0
  92. package/dist/components/menu/menu-item.d.ts +41 -0
  93. package/dist/components/menu/menu-item.d.ts.map +1 -0
  94. package/dist/components/menu/menu-item.js +4 -0
  95. package/dist/components/menu/menu.css.d.ts +3 -0
  96. package/dist/components/menu/menu.css.d.ts.map +1 -0
  97. package/dist/components/menu/menu.d.ts +91 -0
  98. package/dist/components/menu/menu.d.ts.map +1 -0
  99. package/dist/components/menu/menu.js +205 -0
  100. package/dist/components/menu/menu.js.map +1 -0
  101. package/dist/components/navigation-bar/navigation-bar-item.d.ts +49 -0
  102. package/dist/components/navigation-bar/navigation-bar-item.d.ts.map +1 -0
  103. package/dist/components/navigation-bar/navigation-bar-item.js +5 -0
  104. package/dist/components/navigation-bar/navigation-bar.css.d.ts +3 -0
  105. package/dist/components/navigation-bar/navigation-bar.css.d.ts.map +1 -0
  106. package/dist/components/navigation-bar/navigation-bar.d.ts +50 -0
  107. package/dist/components/navigation-bar/navigation-bar.d.ts.map +1 -0
  108. package/dist/components/navigation-bar/navigation-bar.js +150 -0
  109. package/dist/components/navigation-bar/navigation-bar.js.map +1 -0
  110. package/dist/components/navigation-rail/navigation-rail-item.d.ts +36 -0
  111. package/dist/components/navigation-rail/navigation-rail-item.d.ts.map +1 -0
  112. package/dist/components/navigation-rail/navigation-rail-item.js +5 -0
  113. package/dist/components/navigation-rail/navigation-rail.css.d.ts +3 -0
  114. package/dist/components/navigation-rail/navigation-rail.css.d.ts.map +1 -0
  115. package/dist/components/navigation-rail/navigation-rail.d.ts +43 -0
  116. package/dist/components/navigation-rail/navigation-rail.d.ts.map +1 -0
  117. package/dist/components/navigation-rail/navigation-rail.js +121 -0
  118. package/dist/components/navigation-rail/navigation-rail.js.map +1 -0
  119. package/dist/components/search-bar/search-bar.css.d.ts.map +1 -1
  120. package/dist/components/search-bar/search-bar.js +1 -1
  121. package/dist/components/segmented-button/segmented-button.css.d.ts +3 -0
  122. package/dist/components/segmented-button/segmented-button.css.d.ts.map +1 -0
  123. package/dist/components/segmented-button/segmented-button.d.ts +40 -0
  124. package/dist/components/segmented-button/segmented-button.d.ts.map +1 -0
  125. package/dist/components/segmented-button/segmented-button.js +5 -0
  126. package/dist/components/side-sheet/side-sheet.css.d.ts +2 -0
  127. package/dist/components/side-sheet/side-sheet.css.d.ts.map +1 -0
  128. package/dist/components/side-sheet/side-sheet.d.ts +57 -0
  129. package/dist/components/side-sheet/side-sheet.d.ts.map +1 -0
  130. package/dist/components/side-sheet/side-sheet.js +4 -0
  131. package/dist/components/slider/slider.css.d.ts +2 -0
  132. package/dist/components/slider/slider.css.d.ts.map +1 -0
  133. package/dist/components/slider/slider.d.ts +51 -0
  134. package/dist/components/slider/slider.d.ts.map +1 -0
  135. package/dist/components/slider/slider.js +4 -0
  136. package/dist/components/split-button/split-button.css.d.ts +2 -0
  137. package/dist/components/split-button/split-button.css.d.ts.map +1 -0
  138. package/dist/components/split-button/split-button.d.ts +89 -0
  139. package/dist/components/split-button/split-button.d.ts.map +1 -0
  140. package/dist/components/split-button/split-button.js +4 -0
  141. package/dist/components/table/table.js +1 -1
  142. package/dist/components/time-picker/time-picker.css.d.ts +2 -0
  143. package/dist/components/time-picker/time-picker.css.d.ts.map +1 -0
  144. package/dist/components/time-picker/time-picker.d.ts +87 -0
  145. package/dist/components/time-picker/time-picker.d.ts.map +1 -0
  146. package/dist/components/time-picker/time-picker.js +4 -0
  147. package/dist/components/toolbar/toolbar.css.d.ts +2 -0
  148. package/dist/components/toolbar/toolbar.css.d.ts.map +1 -0
  149. package/dist/components/toolbar/toolbar.d.ts +53 -0
  150. package/dist/components/toolbar/toolbar.d.ts.map +1 -0
  151. package/dist/components/toolbar/toolbar.js +4 -0
  152. package/dist/components/tooltip/tooltip.css.d.ts +2 -0
  153. package/dist/components/tooltip/tooltip.css.d.ts.map +1 -0
  154. package/dist/components/tooltip/tooltip.d.ts +89 -0
  155. package/dist/components/tooltip/tooltip.d.ts.map +1 -0
  156. package/dist/components/tooltip/tooltip.js +4 -0
  157. package/dist/index.d.ts +21 -0
  158. package/dist/index.d.ts.map +1 -1
  159. package/dist/index.js +148 -2263
  160. package/dist/tokens/index.js +4 -2
  161. package/dist/tokens/index.js.map +1 -1
  162. package/dist/tokens/theme.css.d.ts.map +1 -1
  163. package/llms.txt +919 -0
  164. package/package.json +97 -1
  165. package/dist/chunks/button-B4TSZ7Sl.js.map +0 -1
  166. package/dist/chunks/icon-button-BdSc7eot.js.map +0 -1
  167. package/dist/chunks/search-bar-TXnqJ-gd.js.map +0 -1
  168. package/dist/index.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -5,6 +5,55 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [1.1.1] - 2026-08-22
9
+
10
+ ### Fixed
11
+ - **Search Bar (`md-search-bar`, `md-search`)**: Hidden native browser clear and cancel buttons (`::-webkit-search-cancel-button`, `::-ms-clear`) to prevent duplicate clear icons on Chromium and WebKit browsers.
12
+
13
+ ### Changed
14
+ - **Documentation**: Vertically and horizontally centered the search bar within the top header bar and improved active docked transition positioning.
15
+
16
+ ---
17
+
18
+ ## [1.1.0] - 2026-08-22
19
+
20
+ ### Added
21
+
22
+ #### Components & Features
23
+ - **Button Groups (`md-button-group`)**: Connected button group container supporting horizontal and vertical orientations with interactive shape-shifting motion on press.
24
+ - **Split Button (`md-split-button`)**: Composite component pairing a primary action button with a connected dropdown menu button for secondary actions.
25
+ - **FAB Menu (`md-fab-menu`, `md-fab-menu-item`)**: Speed-dial Floating Action Button menu with animated expandable actions, custom icons, and labels.
26
+ - **Date Picker (`md-date-picker`)**: Accessible calendar date picker modal and docked view with month/year navigation, selection modes, and date formatting.
27
+ - **Time Picker (`md-time-picker`)**: Interactive clock dial and text input time picker with 12h/24h formats, AM/PM toggle, and hour/minute selectors.
28
+ - **Loading Indicator (`md-loading-indicator`)**: M3 Expressive indeterminate loading animations featuring morphing shapes, dots, and bars.
29
+ - **Navigation Bar (`md-navigation-bar`, `md-navigation-bar-item`)**: Bottom navigation bar designed for compact window widths with active-indicator pill, badge counters, and labels.
30
+ - **Navigation Rail (`md-navigation-rail`, `md-navigation-rail-item`)**: Vertical side navigation rail for medium screens with header, FAB, and destination slots.
31
+ - **Segmented Buttons (`md-segmented-button`, `md-segmented-button-set`)**: Single-selection and multi-selection segmented button groups with checkmark feedback and dense layouts.
32
+ - **Side Sheets (`md-side-sheet`)**: Standard and modal side sheet containers for supplementary tasks, filters, and settings.
33
+ - **Bottom Sheets (`md-bottom-sheet`)**: Modal bottom sheet drawer with drag handle gestures, scrim dismissal, and action layouts.
34
+ - **Carousel (`md-carousel`, `md-carousel-item`)**: Multi-browse, hero, and uncontained carousel layouts with smooth touch scrolling and scroll snapping.
35
+ - **Menus (`md-menu`, `md-menu-item`)**: Floating popover menus anchored to trigger elements with full keyboard navigation, icons, shortcuts, and submenus.
36
+ - **Sliders (`md-slider`)**: Continuous and discrete sliders supporting single-value and range selection with value indicator popups and tick marks.
37
+ - **Toolbars (`md-toolbar`)**: Flexible M3 Expressive action toolbar container for organizing frequent page actions.
38
+ - **Tooltips (`md-tooltip`)**: Plain and rich tooltips supporting hover and focus triggers, customizable positioning, and timeout management.
39
+
40
+ #### Testing & Documentation
41
+ - **Unit Test Suites**: Added 16 modular unit test suites covering all newly added components (`bottom-sheet`, `button-group`, `carousel`, `date-picker`, `fab-menu`, `loading-indicator`, `menu`, `navigation-bar`, `navigation-rail`, `segmented-button`, `side-sheet`, `slider`, `split-button`, `time-picker`, `toolbar`, `tooltip`).
42
+ - **Interactive Documentation**: Added interactive component demo pages and playgrounds for all 16 new components in the documentation site.
43
+ - **LLM Specifications**: Expanded `llms.txt` with full API reference, slots, properties, and usage examples for all new components.
44
+
45
+ ### Fixed
46
+ - **Tooltip Theming**: Corrected container and text color token mapping for plain and rich tooltips.
47
+
48
+ ---
49
+
50
+ ## [1.0.2] - 2026-08-22
51
+
52
+ ### Fixed
53
+ - **Distribution Package**: Included `llms.txt` in the `files` array in `package.json` to ensure AI documentation is bundled with the npm distribution.
54
+
55
+ ---
56
+
8
57
  ## [1.0.1] - 2026-08-22
9
58
 
10
59
  ### Added
package/README.md CHANGED
@@ -53,13 +53,13 @@ Runs natively in all modern browsers and integrates seamlessly with **React** (1
53
53
 
54
54
  ## Features
55
55
 
56
- - 🎨 **Material Design 3**: Fully tokenized CSS design tokens for dynamic theming, tonal color palettes, surface containers, elevations 0–5, and light/dark modes.
57
- - 🧩 **23+ Core Components**: Complete suite including Top App Bars, Navigation Drawers, Data Tables, Media Players, Code Blocks/Linters, Search Bars, Form Elements, Dialogs, Cards, and more.
58
- - 📋 **Form-Associated Custom Elements (FACE)**: Native `<form>` integration, `FormData` compatibility, and standard constraint validation (`required`, `checkValidity()`, `reportValidity()`).
59
- - **Lightweight & Tree-Shakeable**: Pure ESM modules with granular subpath exports (e.g. `@francofantomius/material-components/button`).
60
- - 🔷 **TypeScript & Custom Elements Manifest**: First-class TypeScript declarations (`.d.ts`), inline sourcemaps, and standard `custom-elements.json` for IDE autocomplete.
61
- - **Accessible (a11y)**: WCAG 2.1 AA compliant contrast ratios, high-visibility focus rings (`<md-focus-ring>`), keyboard navigation, and ARIA state handling.
62
- - 🌐 **Framework Agnostic**: Works out of the box with React, Vue, Angular, Svelte, Solid, or vanilla HTML/JS.
56
+ - **Material Design 3**: Fully tokenized CSS design tokens for dynamic theming, tonal color palettes, surface containers, elevations 0–5, and light/dark modes.
57
+ - **40+ Core Components & Utilities**: Complete suite including Navigation Bars, Rails & Drawers, Date & Time Pickers, Carousels, Menus, Toolbars, Tooltips, Sliders, Bottom/Side Sheets, Data Tables, Media Players, Code Blocks/Linters, Search Bars, Form Elements, Dialogs, Cards, and more.
58
+ - **Form-Associated Custom Elements (FACE)**: Native `<form>` integration, `FormData` compatibility, and standard constraint validation (`required`, `checkValidity()`, `reportValidity()`).
59
+ - **Lightweight & Tree-Shakeable**: Pure ESM modules with granular subpath exports (e.g. `@francofantomius/material-components/button`).
60
+ - **TypeScript & Custom Elements Manifest**: First-class TypeScript declarations (`.d.ts`), inline sourcemaps, and standard `custom-elements.json` for IDE autocomplete.
61
+ - **Accessible (a11y)**: WCAG 2.1 AA compliant contrast ratios, high-visibility focus rings (`<md-focus-ring>`), keyboard navigation, and ARIA state handling.
62
+ - **Framework Agnostic**: Works out of the box with React, Vue, Angular, Svelte, Solid, or vanilla HTML/JS.
63
63
 
64
64
  ---
65
65
 
@@ -152,26 +152,42 @@ import '@francofantomius/material-components';
152
152
  | Category | Component Tag(s) | Subpath Export | Key Properties & Attributes |
153
153
  | :--- | :--- | :--- | :--- |
154
154
  | **Actions** | `<md-button>` | `/button` | `variant` (filled, elevated, tonal, outlined, text), `icon`, `trailing-icon`, `loading`, `disabled`, `href`, `target`, `type` |
155
+ | **Actions** | `<md-button-group>` | `/button-group` | `orientation` (horizontal, vertical), `connected` |
156
+ | **Actions** | `<md-split-button>` | `/split-button` | `variant` (filled, elevated, tonal, outlined), `icon`, `trailing-icon`, `disabled`, `open` |
157
+ | **Actions** | `<md-segmented-button>`, `<md-segmented-button-set>` | `/segmented-button` | `selected`, `disabled`, `value`, `label`, `icon`, `no-checkmark`, `multiselect` |
155
158
  | **Actions** | `<md-icon-button>` | `/icon-button` | `variant` (standard, filled, tonal, outlined), `icon`, `selected-icon`, `toggle`, `selected`, `disabled` |
156
159
  | **Actions** | `<md-fab>` | `/fab` | `size` (small, medium, large), `label`, `icon`, `lowered`, `disabled` |
160
+ | **Actions** | `<md-fab-menu>`, `<md-fab-menu-item>` | `/fab-menu` | `open`, `icon`, `active-icon`, `direction` (up, down, left, right), `lowered`, `label` |
157
161
  | **Actions** | `<md-icon>` | `/icon` | `name`, `filled`, `size` |
162
+ | **Actions** | `<md-toolbar>` | `/toolbar` | `variant` (floating, docked), `center-aligned` |
158
163
  | **Inputs & Controls** | `<md-text-field>` | `/text-field` | `variant` (filled, outlined), `label`, `value`, `type`, `placeholder`, `prefix-text`, `suffix-text`, `error`, `error-text`, `supporting-text`, `leading-icon`, `trailing-icon`, `maxlength`, `required` |
159
164
  | **Inputs & Controls** | `<md-checkbox>` | `/checkbox` | `checked`, `indeterminate`, `error`, `disabled`, `required`, `name`, `value` |
160
165
  | **Inputs & Controls** | `<md-switch>` | `/switch` | `selected`, `icons`, `disabled`, `name`, `value` |
161
166
  | **Inputs & Controls** | `<md-radio>`, `<md-radio-group>` | `/radio` | `checked`, `value`, `name`, `row`, `disabled` |
167
+ | **Inputs & Controls** | `<md-slider>` | `/slider` | `value`, `range-start`, `range-end`, `min`, `max`, `step`, `discrete`, `with-ticks`, `with-label`, `disabled` |
162
168
  | **Inputs & Controls** | `<md-chip>`, `<md-chip-set>` | `/chip` | `variant` (assist, filter, input, suggestion), `label`, `icon`, `selected`, `removable`, `disabled` |
163
169
  | **Inputs & Controls** | `<md-search-bar>`, `<md-search>` | `/search-bar` | `value`, `placeholder`, `active`, `suggestions`, `leading-icon`, `trailing-icon`, `responsive`, `collapse-on-mobile`, `fullscreen` |
170
+ | **Date & Time** | `<md-date-picker>` | `/date-picker` | `value`, `min`, `max`, `view` (calendar, input), `open`, `headline`, `modal` |
171
+ | **Date & Time** | `<md-time-picker>` | `/time-picker` | `value`, `format` (12h, 24h), `view` (dial, input), `open`, `headline`, `modal` |
164
172
  | **Surfaces & Layout** | `<md-card>` | `/card` | `variant` (elevated, filled, outlined), `interactive`, `disabled`, `href`, `target` |
165
173
  | **Surfaces & Layout** | `<md-dialog>` | `/dialog` | `open`, `headline`, `icon`, `cancelable`, `showModal()`, `close()` |
174
+ | **Surfaces & Layout** | `<md-side-sheet>` | `/side-sheet` | `open`, `type` (modal, standard), `pivot` (left, right), `headline` |
175
+ | **Surfaces & Layout** | `<md-bottom-sheet>` | `/bottom-sheet` | `open`, `scrim`, `has-handle`, `headline` |
166
176
  | **Surfaces & Layout** | `<md-divider>` | `/divider` | `vertical`, `inset`, `inset-start`, `inset-end` |
167
177
  | **Surfaces & Layout** | `<md-list>`, `<md-list-item>` | `/list` | `headline`, `supporting-text`, `trailing-supporting-text`, `interactive`, `disabled`, `href` |
168
178
  | **Surfaces & Layout** | `<md-table>`, `<md-data-table>` | `/table` | `columns`, `rows`, `selectable`, `sortable`, `paginated`, `page`, `page-size`, `bordered`, `striped`, `sticky-header`, `loading` |
179
+ | **Surfaces & Layout** | `<md-carousel>`, `<md-carousel-item>` | `/carousel` | `layout` (multi-browse, hero, uncontained), `loop`, `autoplay`, `interval` |
169
180
  | **Communication** | `<md-badge>` | `/badge` | `value`, `dot`, `max` |
170
181
  | **Communication** | `<md-progress>` | `/progress` | `type` (linear, circular), `value` (0 to 1, or indeterminate), `buffer`, `wavy` |
182
+ | **Communication** | `<md-loading-indicator>` | `/loading-indicator` | `active`, `size` (small, medium, large), `shape` |
171
183
  | **Communication** | `<md-snackbar>` | `/snackbar` | `open`, `message`, `action-text`, `closeable`, `timeout-ms`, `stacked` |
184
+ | **Communication** | `<md-tooltip>` | `/tooltip` | `content`, `rich`, `headline`, `position` (top, bottom, left, right), `delay-ms`, `interactive` |
172
185
  | **Navigation** | `<md-top-app-bar>`, `<md-top-bar>` | `/top-app-bar` | `variant` (center-aligned, small, medium, large), `headline`, `subtitle`, `elevated`, `fixed` |
186
+ | **Navigation** | `<md-navigation-bar>`, `<md-navigation-bar-item>` | `/navigation-bar` | `value`, `hide-inactive-labels`, `icon`, `label`, `badge`, `active` |
187
+ | **Navigation** | `<md-navigation-rail>`, `<md-navigation-rail-item>` | `/navigation-rail` | `value`, `alignment` (top, center, bottom), `hide-inactive-labels`, `icon`, `label`, `badge`, `active` |
173
188
  | **Navigation** | `<md-navigation-drawer>`, `<md-drawer>` | `/navigation-drawer` | `open`, `type` (modal, standard, responsive), `pivot` (left, right), `headline`, `responsive` |
174
189
  | **Navigation** | `<md-tabs>`, `<md-tab>` | `/tabs` | `active-index`, `icon`, `label`, `secondary` |
190
+ | **Navigation** | `<md-menu>`, `<md-menu-item>` | `/menu` | `open`, `anchor`, `headline`, `icon`, `trailing-icon`, `shortcut`, `disabled`, `selected` |
175
191
  | **Navigation** | `<md-app-drawer>`, `<md-app-launcher>` | `/app-drawer` | `open`, `headline`, `icon`, `columns`, `reorderable`, `editable`, `modal`, `alignment`, `pivot` |
176
192
  | **Navigation** | `<md-account-menu>`, `<md-account-drawer>` | `/account-menu` | `open`, `name`, `email`, `avatar`, `initials`, `storage-used`, `storage-total`, `storage-progress`, `show-tabs`, `modal`, `alignment` |
177
193
  | **Media & Dev Tools** | `<md-code>`, `<md-code-block>` | `/code` | `code`, `language`, `filename`, `line-numbers`, `highlight-lines`, `lint`, `copyable`, `wrap-lines`, `max-height` |
@@ -443,28 +459,44 @@ Each component can be imported individually with full TypeScript type definition
443
459
  ```typescript
444
460
  import { applyTheme } from '@francofantomius/material-components/theme';
445
461
  import { MdButton } from '@francofantomius/material-components/button';
462
+ import { MdButtonGroup } from '@francofantomius/material-components/button-group';
463
+ import { MdSplitButton } from '@francofantomius/material-components/split-button';
464
+ import { MdSegmentedButton, MdSegmentedButtonSet } from '@francofantomius/material-components/segmented-button';
446
465
  import { MdIconButton } from '@francofantomius/material-components/icon-button';
447
466
  import { MdFab } from '@francofantomius/material-components/fab';
467
+ import { MdFabMenu, MdFabMenuItem } from '@francofantomius/material-components/fab-menu';
448
468
  import { MdIcon } from '@francofantomius/material-components/icon';
469
+ import { MdToolbar } from '@francofantomius/material-components/toolbar';
449
470
  import { MdTextField } from '@francofantomius/material-components/text-field';
450
471
  import { MdCheckbox } from '@francofantomius/material-components/checkbox';
451
472
  import { MdSwitch } from '@francofantomius/material-components/switch';
452
473
  import { MdRadio, MdRadioGroup } from '@francofantomius/material-components/radio';
474
+ import { MdSlider } from '@francofantomius/material-components/slider';
475
+ import { MdDatePicker } from '@francofantomius/material-components/date-picker';
476
+ import { MdTimePicker } from '@francofantomius/material-components/time-picker';
477
+ import { MdChip, MdChipSet } from '@francofantomius/material-components/chip';
453
478
  import { MdCard } from '@francofantomius/material-components/card';
454
479
  import { MdDialog } from '@francofantomius/material-components/dialog';
480
+ import { MdSideSheet } from '@francofantomius/material-components/side-sheet';
481
+ import { MdBottomSheet } from '@francofantomius/material-components/bottom-sheet';
455
482
  import { MdDivider } from '@francofantomius/material-components/divider';
456
483
  import { MdProgress } from '@francofantomius/material-components/progress';
484
+ import { MdLoadingIndicator } from '@francofantomius/material-components/loading-indicator';
457
485
  import { MdBadge } from '@francofantomius/material-components/badge';
458
- import { MdChip, MdChipSet } from '@francofantomius/material-components/chip';
486
+ import { MdSnackbar } from '@francofantomius/material-components/snackbar';
487
+ import { MdTooltip } from '@francofantomius/material-components/tooltip';
459
488
  import { MdTabs, MdTab } from '@francofantomius/material-components/tabs';
460
489
  import { MdList, MdListItem } from '@francofantomius/material-components/list';
461
- import { MdSnackbar } from '@francofantomius/material-components/snackbar';
490
+ import { MdMenu, MdMenuItem } from '@francofantomius/material-components/menu';
462
491
  import { MdTopAppBar, MdTopBar } from '@francofantomius/material-components/top-app-bar';
492
+ import { MdNavigationBar, MdNavigationBarItem } from '@francofantomius/material-components/navigation-bar';
493
+ import { MdNavigationRail, MdNavigationRailItem } from '@francofantomius/material-components/navigation-rail';
463
494
  import { MdNavigationDrawer, MdDrawer, MdMenuBar, MdNavigationDrawerItem } from '@francofantomius/material-components/navigation-drawer';
464
495
  import { MdAppDrawer, MdAppDrawerItem, MdAppLauncher, MdAppsMenu } from '@francofantomius/material-components/app-drawer';
465
496
  import { MdAccountMenu, MdAccountItem, MdAccountDrawer, MdAccountProfile } from '@francofantomius/material-components/account-menu';
466
497
  import { MdTable, MdDataTable, MdTableHeaderCell, MdTableCell, MdTableRow } from '@francofantomius/material-components/table';
467
498
  import { MdSearchBar, MdSearch } from '@francofantomius/material-components/search-bar';
499
+ import { MdCarousel, MdCarouselItem } from '@francofantomius/material-components/carousel';
468
500
  import { MdCode, MdCodeBlock } from '@francofantomius/material-components/code';
469
501
  import { MdPlayer, MdMediaPlayer, MdAudioPlayer, MdVideoPlayer } from '@francofantomius/material-components/player';
470
502
  ```