@banzamel/mineralui 0.7.0 → 0.9.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 CHANGED
@@ -3,7 +3,7 @@
3
3
  React component framework for dashboards, admin panels, documentation shells, settings screens and data-heavy internal products.
4
4
 
5
5
  - npm: `@banzamel/mineralui`
6
- - release version: `0.7.0`
6
+ - release version: `0.9.0`
7
7
  - peer dependencies: `react >= 19`, `react-dom >= 19`
8
8
  - repository: `https://github.com/Banzamel/mineralui`
9
9
  - styles: auto-injected — CSS is bundled into JS and applied automatically on import
@@ -69,41 +69,59 @@ function AccountSettings() {
69
69
  - `MStack`, `MInline`, `MGrid`, `MGridItem`
70
70
  - `MSurface`, `MDivider`
71
71
  - `MHeader`, `MFooter`, `MNavbar`, `MNavs`, `MTabs`
72
- - `MSidebar`, `MSidebarItem`, `MSidebarGroup`, `MSidebarDivider`
72
+ - `MSidebar`, `MSidebarItem`, `MSidebarGroup`, `MSidebarDivider` — top-level items outside groups now share group-header styling
73
73
  - `MSubNav`
74
- - `MBreadcrumb` — path-based navigation with collapsible middle items
74
+ - `MBreadcrumb` — single-line path navigation with collapsible middle items and ellipsis overflow
75
75
  - `MPagination` — numbered and simple page navigation
76
- - `MAppShell`, `MBody` — top-level app structure (sidebar + content)
76
+ - `MAppShell`, `MBody` — top-level app structure; auto-detects `MSidebar` among direct children and wraps the rest in an internal content column
77
77
 
78
- ### Display
79
- - `MCard`, `MCardHeader`, `MCardBody`, `MCardFooter`, `MCardPayment`
80
- - `MBadge`, `MAlert`, `MBanner`
81
- - `MTag` — interactive tags with close buttons and outlined variant
82
- - `MTooltip` — hover/focus tooltip with 4 placements and delay
83
- - `MToastProvider`, `useToast`toast notification system with auto-dismiss and animations
78
+ ### Cards
79
+ - `MCard`, `MCardHeader`, `MCardBody`, `MCardFooter` — generic content card
80
+ - `MCardPayment` — display-only payment card with balance, masked number, holder name and brand badge
81
+ - `MCardBusiness` — business card with `user` and `company` variants, avatar, online status indicator, contact info, QR code and social links
82
+ - `MCardService` — service/course/product card with `service`, `course` and `product` variants, gallery, rating, favorites, dropdown menu, participant avatars and add-to-cart
83
+ - `MCardGrid` — grid container with built-in search, filter by object fields and sort toolbar
84
+
85
+ ### Data
84
86
  - `MDataTable` — data-driven table with sorting, filtering, pagination and row selection
85
- - `MAccordion`, `MAccordionItem`disclosure group with single or multiple open state
86
- - `MCollapsible`, `MSpinner`, `MLoader`
87
- - `MAvatar`, `MModal`
87
+ - `MTreeView` — hierarchical tree list with dashed indent guide lines, automatic file/folder icons by extension and selection
88
+ - `MTaskList`, `MTaskItem` — checklist-style task tracking
89
+ - `MCalendarBoard`, `MCalendarDayCell`, `MCalendarEventList`, `MCalendarEventItem`, `MCalendarEventPopover`, `MCalendarTimeline`
90
+
91
+ ### Feedback
92
+ - `MAlert`, `MBanner` — inline and page-level messaging
93
+ - `MBadge` — compact semantic label with `pulsing` prop for attention
94
+ - `MTag` — interactive tags with close buttons and outlined variant
95
+ - `MSpinner`, `MLoader` — loading indicators
96
+ - `MToastProvider`, `useMToast` — toast notification system with auto-dismiss, smooth fade-out animation and 6 position options
97
+
98
+ ### Overlays
99
+ - `MModal` — blocking overlay for dense details and mobile-friendly dialogs
88
100
  - `MDrawer` — slide-out panel from any edge of the screen
101
+ - `MTooltip` — hover/focus tooltip with 4 placements, delay and Portal-based rendering
89
102
  - `MPopconfirm` — confirmation popover built on MPopover
90
- - `MImage`, `MGallery`
91
- - `MCarousel`
92
- - `MProgressBar`
93
- - `MRating`
94
- - `MCountUp`
103
+ - `MDropdownMenu`, `MDropdownItem`, `MDropdownGroup`, `MDropdownDivider` — context menus and action lists
104
+
105
+ ### Media
106
+ - `MAvatar` — user avatar with size, shape and fallback initials
107
+ - `MImage` — image with aspect ratio, fallback and lazy loading
108
+ - `MGallery` — responsive image grid
109
+ - `MCarousel` — image and content slideshows
110
+
111
+ ### Display
112
+ - `MAccordion`, `MAccordionItem` — disclosure group with single or multiple open state
113
+ - `MCollapsible` — single collapsible section
114
+ - `MProgressBar` — animated progress with label support
115
+ - `MCountUp` — animated number counters
116
+ - `MRating` — star-based interactive ratings
95
117
  - `MColorPicker` — visual color picker with hue/saturation area, hex/rgb/hsl input and swatches
96
- - `MTreeView` — hierarchical tree list with expand/collapse and selection
97
- - `MTaskList`, `MTaskItem`
98
- - `MDropdownMenu`, `MDropdownMenuItem`, `MDropdownMenuDivider`
99
- - `MCalendarBoard`, `MCalendarDayCell`, `MCalendarEventList`, `MCalendarEventItem`, `MCalendarEventPopover`, `MCalendarTimeline`
100
118
 
101
119
  ### Typography
102
120
  - `MHeading`, `MText`, `MSubText`, `MLink`, `MCode`, `MList`, `MListItem`
103
121
  - `MKbd` — inline keyboard key indicator for shortcuts and key combinations
104
122
 
105
123
  ### Controls
106
- - `MButton`
124
+ - `MButton` — action primitive with `pulsing` prop for attention-drawing glow animation
107
125
  - `MCheckbox`
108
126
  - `MRadio`, `MRadioGroup`
109
127
  - `MToggle`
@@ -144,9 +162,17 @@ function AccountSettings() {
144
162
  ## Feature Highlights
145
163
 
146
164
  ### Layout-first API
165
+ - `MAppShell` auto-detects `MSidebar` among its direct children — no separate prop needed. Place `MSidebar`, `MHeader`, `MBody` and other elements as siblings inside `MAppShell`.
166
+ - `MBody` provides default padding for page content.
147
167
  - `MStack`, `MInline` and `MGrid` cover the majority of internal dashboard layouts without extra utility libraries.
148
168
  - `MGrid` supports equal columns by default and responsive span overrides with `sm`, `md`, `lg`, `xl`.
149
- - `MSidebar` provides collapsible, nested navigation with grouped items and dividers.
169
+ - `MSidebar` provides collapsible, nested navigation with grouped items and dividers. Top-level items outside groups automatically inherit group-header styling.
170
+
171
+ ### Card system
172
+ - `MCard` is the generic container; specialized cards (`MCardPayment`, `MCardBusiness`, `MCardService`) handle domain-specific layouts.
173
+ - `MCardBusiness` supports `user` and `company` variants with pulsing online/offline status indicator, QR code and social links.
174
+ - `MCardService` covers three use cases (`service`, `course`, `product`) with gallery, avatar stack, rating, favorites and add-to-cart.
175
+ - `MCardGrid` wraps any card type with a toolbar for search, filtering by object fields and sort direction.
150
176
 
151
177
  ### Reveal animations
152
178
  - `reveal` prop on `MCard`, `MStack`, `MInline`, `MSurface`, `MSection` — elements animate into view when they enter the viewport.
@@ -159,9 +185,9 @@ function AccountSettings() {
159
185
  - `useGhostText` hook is exported for use in custom components like chat inputs or search bars.
160
186
 
161
187
  ### Toast notifications
162
- - `MToastProvider` wraps your app, `useToast()` fires notifications from anywhere.
188
+ - `MToastProvider` wraps your app, `useMToast()` fires notifications from anywhere.
163
189
  - 6 positions, 7 color variants, auto-dismiss with configurable duration.
164
- - Enter/exit animations and manual close button.
190
+ - Smooth fade-out animation with scale and blur transition.
165
191
 
166
192
  ### Form-heavy components
167
193
  - Specialized inputs handle formatting and validation instead of pushing that logic into every application.
@@ -178,31 +204,35 @@ function AccountSettings() {
178
204
 
179
205
  ### Data and navigation
180
206
  - `MDataTable` — sortable, filterable, paginated table with row selection and custom cell rendering.
181
- - `MBreadcrumb` — path navigation with automatic ellipsis collapsing for deep hierarchies.
207
+ - `MBreadcrumb` — single-line path navigation with automatic ellipsis collapsing for deep hierarchies.
182
208
  - `MPagination` — numbered and simple page controls with dot collapsing.
183
- - `MTreeView` — hierarchical tree with expand/collapse and node selection.
184
-
185
- ### Rich display components
186
- - `MCarousel` for image and content slideshows.
187
- - `MImage` with aspect ratio, fallback and lazy loading. `MGallery` for responsive image grids.
188
- - `MProgressBar` with animated fills and label support.
189
- - `MRating` for star-based interactive ratings.
190
- - `MCountUp` for animated number counters.
191
- - `MTaskList` for checklist-style task tracking.
192
- - `MDropdownMenu` for context menus and action lists.
193
- - `MBanner` for page-level messaging.
194
- - `MTooltip` for contextual hints on hover or focus.
195
- - `MDrawer` — slide-out panel from any screen edge for secondary content and navigation.
196
- - `MPopconfirm` — confirmation popover for destructive actions.
197
- - `MAccordion` — disclosure group with single or multiple open panels.
198
- - `MColorPicker` — visual color selection with hue/saturation, hex/rgb/hsl input and swatches.
199
- - `MTag` — interactive labels with close buttons for filters, chips and categorization.
200
- - `MKbd` — inline keyboard shortcut display.
209
+ - `MTreeView` — hierarchical tree with dashed indent guide lines, automatic file/folder icons per extension and node selection.
201
210
 
202
211
  ### Interaction model
212
+ - `MButton` and `MBadge` support a `pulsing` prop for attention-drawing glow animation in the component's color.
203
213
  - Buttons, cards, avatars, tabs and interactive inputs can share the same click effect model.
204
214
  - Navigation and picker overlays render through shared popover primitives.
205
215
 
216
+ ## Architecture
217
+
218
+ Components are organized into focused groups under `src/components/`:
219
+
220
+ | Group | Purpose |
221
+ |-------|---------|
222
+ | `cards` | Card containers and specialized card types |
223
+ | `data` | Tables, trees, calendars and task lists |
224
+ | `feedback` | Alerts, badges, tags, spinners and toasts |
225
+ | `overlays` | Modals, drawers, tooltips and dropdown menus |
226
+ | `media` | Images, galleries, carousels and avatars |
227
+ | `display` | Accordions, progress bars, ratings and color picker |
228
+ | `controls` | Buttons, checkboxes, radios, toggles and sliders |
229
+ | `inputs` | Text inputs and specialized input variants |
230
+ | `dropdowns` | Select, autocomplete and date/time pickers |
231
+ | `layout` | Containers, grids, sidebars and navigation |
232
+ | `typography` | Headings, text, links, code and lists |
233
+ | `form` | Form context, field hooks and validators |
234
+ | `primitives` | Portal and popover building blocks |
235
+
206
236
  ## Design System Notes
207
237
 
208
238
  MineralUI is driven by CSS variables and readable class names.
@@ -232,6 +262,12 @@ MineralUI is driven by CSS variables and readable class names.
232
262
  --mineral-border: rgba(255, 255, 255, 0.15);
233
263
  --mineral-border-hover: rgba(255, 255, 255, 0.25);
234
264
  --mineral-border-focus: var(--mineral-primary);
265
+
266
+ /* Z-index layers */
267
+ --mineral-z-popover: 1000;
268
+ --mineral-z-modal: 1100;
269
+ --mineral-z-tooltip: 1150;
270
+ --mineral-z-toast: 1200;
235
271
  }
236
272
  ```
237
273