@meshmakers/shared-ui 3.4.1480 → 3.5.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.
Files changed (56) hide show
  1. package/README.md +48 -0
  2. package/assets/octobot/lg/octo_blink.webp +0 -0
  3. package/assets/octobot/lg/octo_blink_still.png +0 -0
  4. package/assets/octobot/lg/octo_idle.webp +0 -0
  5. package/assets/octobot/lg/octo_idle_still.png +0 -0
  6. package/assets/octobot/lg/octo_look.webp +0 -0
  7. package/assets/octobot/lg/octo_look_still.png +0 -0
  8. package/assets/octobot/lg/octo_swim.webp +0 -0
  9. package/assets/octobot/lg/octo_swim_still.png +0 -0
  10. package/assets/octobot/lg/octo_thinking.webp +0 -0
  11. package/assets/octobot/lg/octo_thinking_still.png +0 -0
  12. package/assets/octobot/lg/octo_wave.webp +0 -0
  13. package/assets/octobot/lg/octo_wave_still.png +0 -0
  14. package/assets/octobot/md/octo_blink.webp +0 -0
  15. package/assets/octobot/md/octo_blink_still.png +0 -0
  16. package/assets/octobot/md/octo_idle.webp +0 -0
  17. package/assets/octobot/md/octo_idle_still.png +0 -0
  18. package/assets/octobot/md/octo_look.webp +0 -0
  19. package/assets/octobot/md/octo_look_still.png +0 -0
  20. package/assets/octobot/md/octo_swim.webp +0 -0
  21. package/assets/octobot/md/octo_swim_still.png +0 -0
  22. package/assets/octobot/md/octo_thinking.webp +0 -0
  23. package/assets/octobot/md/octo_thinking_still.png +0 -0
  24. package/assets/octobot/md/octo_wave.webp +0 -0
  25. package/assets/octobot/md/octo_wave_still.png +0 -0
  26. package/assets/octobot/sm/octo_blink.webp +0 -0
  27. package/assets/octobot/sm/octo_blink_still.png +0 -0
  28. package/assets/octobot/sm/octo_idle.webp +0 -0
  29. package/assets/octobot/sm/octo_idle_still.png +0 -0
  30. package/assets/octobot/sm/octo_look.webp +0 -0
  31. package/assets/octobot/sm/octo_look_still.png +0 -0
  32. package/assets/octobot/sm/octo_swim.webp +0 -0
  33. package/assets/octobot/sm/octo_swim_still.png +0 -0
  34. package/assets/octobot/sm/octo_thinking.webp +0 -0
  35. package/assets/octobot/sm/octo_thinking_still.png +0 -0
  36. package/assets/octobot/sm/octo_wave.webp +0 -0
  37. package/assets/octobot/sm/octo_wave_still.png +0 -0
  38. package/fesm2022/meshmakers-shared-ui-assistant-core.mjs +940 -0
  39. package/fesm2022/meshmakers-shared-ui-assistant-core.mjs.map +1 -0
  40. package/fesm2022/meshmakers-shared-ui-assistant.mjs +819 -0
  41. package/fesm2022/meshmakers-shared-ui-assistant.mjs.map +1 -0
  42. package/fesm2022/meshmakers-shared-ui-command-palette.mjs +817 -0
  43. package/fesm2022/meshmakers-shared-ui-command-palette.mjs.map +1 -0
  44. package/fesm2022/meshmakers-shared-ui-shell.mjs +1738 -0
  45. package/fesm2022/meshmakers-shared-ui-shell.mjs.map +1 -0
  46. package/fesm2022/meshmakers-shared-ui-testing.mjs +92 -0
  47. package/fesm2022/meshmakers-shared-ui-testing.mjs.map +1 -0
  48. package/fesm2022/meshmakers-shared-ui.mjs +1550 -203
  49. package/fesm2022/meshmakers-shared-ui.mjs.map +1 -1
  50. package/package.json +28 -2
  51. package/types/meshmakers-shared-ui-assistant-core.d.ts +732 -0
  52. package/types/meshmakers-shared-ui-assistant.d.ts +258 -0
  53. package/types/meshmakers-shared-ui-command-palette.d.ts +398 -0
  54. package/types/meshmakers-shared-ui-shell.d.ts +939 -0
  55. package/types/meshmakers-shared-ui-testing.d.ts +41 -0
  56. package/types/meshmakers-shared-ui.d.ts +1004 -154
package/README.md CHANGED
@@ -137,6 +137,10 @@ Configurable data grid with Kendo Grid integration.
137
137
 
138
138
  **Features:** Pagination, sorting, filtering, row selection, search, context menus, action menus, Excel/PDF export, toolbar actions, column types (text, numeric, boolean, date, bytes, status icons, cron expressions).
139
139
 
140
+ Empty state (AB#3444): `[emptyState]="{ title, text }"` shows the shared `mm-empty-state` (OctoBot `idle`) for a list without records and the "no results" variant (OctoBot `look`) while a search or filter is active; `[emptyTemplate]` replaces it. Without either the list keeps the plain "No records available." line.
141
+
142
+ The toolbar's "Reset Filters" button only appears while something narrows the default view: a row filter, a column sort, a free-text search, or host-side filters. Hosts with their own quick-view/bar filters announce them via `[hasExternalFilters]="myBarFilterIsSet"` so the button shows (and `(resetFilters)` lets them clear those filters when it is clicked).
143
+
140
144
  ```html
141
145
  <mm-list-view
142
146
  appMyDataSource
@@ -182,6 +186,33 @@ Hierarchical tree view with Kendo TreeView, drag-drop support, and expandable no
182
186
 
183
187
  Display text with a one-click copy-to-clipboard button.
184
188
 
189
+ ### Actions (`mm-row-actions`, `mm-action-button`)
190
+
191
+ Row, toolbar and page actions from one shared `MmAction` definition (id, label, icon, danger,
192
+ disabled reason, visible): icon buttons with tooltip and a row-specific accessible name, max. 3
193
+ inline slots with a "More actions" menu, focusable disabled actions that announce their reason,
194
+ and a canonical verb→icon map (`MM_ACTION_ICONS`). See [Actions](docs/actions.md).
195
+
196
+ ```html
197
+ <mm-row-actions [actions]="actionsFor(row)" [rowLabel]="row.name" (triggered)="onAction($event, row)" />
198
+ <mm-action-button [action]="refresh" context="toolbar" (triggered)="reload()" />
199
+ ```
200
+
201
+ ### OctoBot (`mm-octobot`, `mm-empty-state`)
202
+
203
+ The meshmakers mascot as a small animated pixel-art image (`idle`, `blink`, `look`, `swim`,
204
+ `thinking`, `wave`; `sm`/`md`/`lg`), loaded by URL from the library assets (copy
205
+ `node_modules/@meshmakers/shared-ui/assets/octobot` to `/assets/octobot` in `angular.json`;
206
+ base URL via `OCTOBOT_ASSET_BASE_URL`). Decorative unless labelled; still frame under
207
+ `prefers-reduced-motion`. `mm-empty-state` is the shared empty / no-results / error block, and
208
+ `mm-list-view [emptyState]` renders it once per list. Placement rules (never in rows, tiles,
209
+ buttons, toasts or errors): see [OctoBot](docs/octobot.md).
210
+
211
+ ```html
212
+ <mm-octobot animation="wave" size="md" playOnce />
213
+ <mm-list-view [emptyState]="{ title: 'No data flows yet', text: 'Create your first data flow.' }" ...></mm-list-view>
214
+ ```
215
+
185
216
  ### EntitySelectInputComponent (`mm-entity-select-input`)
186
217
 
187
218
  Autocomplete input for entity selection with dialog fallback.
@@ -196,6 +227,9 @@ All complex dialogs are opened via injected services:
196
227
  | | `showYesNoCancelConfirmationDialog()` | Yes/No/Cancel with result |
197
228
  | | `showOkCancelConfirmationDialog()` | Ok/Cancel confirmation |
198
229
  | | `showOkDialog()` | Ok-only information dialog |
230
+ | | `showDestructiveConfirmationDialog(title, message, confirmLabel, cancelLabel = 'Cancel')` | Destructive action: verb labels (e.g. Rotate / Cancel), confirming button styled as danger |
231
+
232
+ All confirmation dialogs are `min(320px, 100vw − 32px)` to `min(560px, 100vw − 32px)` wide, so a long message wraps instead of stretching the dialog across the viewport.
199
233
  | `InputService` | — | Text input dialog |
200
234
  | `FileUploadService` | — | File upload dialog |
201
235
  | `ProgressWindowService` | `showDeterminateProgress()` | Progress bar with percentage |
@@ -206,6 +240,18 @@ All complex dialogs are opened via injected services:
206
240
  | `ImportStrategyDialogService` | — | Import strategy selection |
207
241
  | `MessageDetailsDialogService` | — | Detailed message/error display |
208
242
 
243
+ Toast stacking is configurable with `NOTIFICATION_DISPLAY_OPTIONS`: identical visible toasts (same
244
+ type, text and details) are never stacked twice (`dedupe`, default on); `errorHideAfter` /
245
+ `warningHideAfter` (ms, default 0 = until interaction or navigation) auto-hide non-critical errors
246
+ and warnings — a caller passing `hideAfter: 0` still gets a sticky one, and `stickyWithDetails`
247
+ keeps every error/warning that has details; a timed toast pauses while hovered or focused;
248
+ `maxVisible` (default 0 = unlimited) hides the oldest toast of the lowest severity, so an error or
249
+ warning is never dropped for a success or info.
250
+
251
+ ```typescript
252
+ { provide: NOTIFICATION_DISPLAY_OPTIONS, useValue: { errorHideAfter: 10000, warningHideAfter: 8000, stickyWithDetails: true, maxVisible: 3 } }
253
+ ```
254
+
209
255
  See [Progress Window Usage](src/lib/progress-window/USAGE.md) for progress dialog examples.
210
256
 
211
257
  ## Data Sources
@@ -266,6 +312,8 @@ Data binding directive for `ListViewComponent`, managing data source and paginat
266
312
 
267
313
  ## Detailed Documentation
268
314
 
315
+ - [Actions](docs/actions.md) — `mm-row-actions`, `mm-action-button`, `MmAction`, canonical icons
316
+ - [OctoBot](docs/octobot.md) — `mm-octobot`, `mm-empty-state`, assets, placement rules
269
317
  - [Time Range Picker](docs/time-range-picker.md) — Full API reference, configuration, examples
270
318
  - [Unsaved Changes Guard](docs/unsaved-changes-guard.md) — Implementation guide with checklists
271
319
  - [Progress Window Usage](src/lib/progress-window/USAGE.md) — Progress dialog examples, migration from Angular Material
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file