@assure-one/design-system 1.47.1 → 1.49.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.
@@ -653,9 +653,18 @@
653
653
  "category": "actions",
654
654
  "parts": [
655
655
  "BulkActionBarAction",
656
- "BulkActionBarSeparator"
656
+ "BulkActionBarSeparator",
657
+ "BulkActionBarMenu",
658
+ "BulkActionBarMenuRadioGroup",
659
+ "BulkActionBarMenuItem",
660
+ "BulkActionBarMenuSub",
661
+ "BulkActionBarMore",
662
+ "BulkActionBarPicker"
657
663
  ],
658
- "useWhen": "A floating bar that appears when rows are selected: selection count, actions, separators, clear.",
664
+ "helpers": [
665
+ "sharedBulkValue"
666
+ ],
667
+ "useWhen": "A bar that appears when rows are selected: count (live-announced) and scope, actions, two-tier menus (`BulkActionBarMenu` for enumerations, `BulkActionBarPicker` for searchable pickers), a `More` overflow, clear with Esc. `variant=\"floating\"` for new list pages.",
659
668
  "dontUseWhen": "Actions apply to one record (row menu via `DropdownMenu`) or belong to the page (`PageHeader` actions).",
660
669
  "related": [
661
670
  "DataTable",
@@ -688,14 +697,29 @@
688
697
  },
689
698
  "DisplayMenu": {
690
699
  "category": "actions",
691
- "useWhen": "The Linear-style Display control of a list surface: filters, grouping, ordering and column visibility in one searchable menu, driven by a `sections` array.",
700
+ "useWhen": "The Linear-style Display control of a list surface: filters (value lists with operators and faceted counts, person, tags, date presets, number, text, boolean), ordering (multi-key sort), grouping, columns (show/hide, reorder) and density in one searchable menu with Filter / Arrange headings, driven by a `sections` array. Pair with `FilterChips` (`useDisplayMenuFilterChips`) for the active-filter row.",
692
701
  "dontUseWhen": "There is one filter (`FilterChip`) or one multi-value filter (`MultiFilterPill`).",
693
702
  "related": [
694
703
  "Toolbar",
695
704
  "MultiFilterPill",
696
- "DataTableView"
705
+ "DataTableView",
706
+ "FilterChips",
707
+ "ListPage",
708
+ "TableDensityToggle"
697
709
  ],
698
- "since": "1.25.0"
710
+ "since": "1.25.0",
711
+ "helpers": [
712
+ "detectDisplayMenuDatePreset",
713
+ "isDisplayMenuSectionActive",
714
+ "matchesDisplayMenuDate",
715
+ "matchesDisplayMenuNumber",
716
+ "matchesDisplayMenuOperator",
717
+ "matchesDisplayMenuTags",
718
+ "matchesDisplayMenuText",
719
+ "parseDisplayMenuNumber",
720
+ "resolveDisplayMenuDatePreset",
721
+ "summarizeDisplayMenuSection"
722
+ ]
699
723
  },
700
724
  "Toolbar": {
701
725
  "category": "actions",
@@ -1809,7 +1833,7 @@
1809
1833
  "DropdownMenuSubTrigger",
1810
1834
  "DropdownMenuSubContent"
1811
1835
  ],
1812
- "useWhen": "A menu of actions from a button: items, checkbox and radio items, groups, shortcuts, submenus; `/testing` ships `openMenu`.",
1836
+ "useWhen": "A menu of actions from a button: items, checkbox and radio items, groups, shortcuts, submenus; `/testing` ships `openMenu`. Radio items that lead with their own glyph (a status dot, an icon) take `indicator=\"check\"`.",
1813
1837
  "dontUseWhen": "Choosing a form value (`Select`), right-click (`ContextMenu`) or a form inside (`Popover`).",
1814
1838
  "replacesRawHtml": [
1815
1839
  "<ul> shown on click",
@@ -2403,7 +2427,8 @@
2403
2427
  "TableHead",
2404
2428
  "TableCell",
2405
2429
  "TableCaption",
2406
- "TableGroupRow"
2430
+ "TableGroupRow",
2431
+ "TableCellSecondary"
2407
2432
  ],
2408
2433
  "useWhen": "A bare semantic table with the design system's row, header and caption styling.",
2409
2434
  "dontUseWhen": "A records table with toolbar, sorting and pagination (`DataTable`, `DataTableView`) or an editable matrix (`Grid`).",
@@ -2451,7 +2476,8 @@
2451
2476
  "DataTableCellId",
2452
2477
  "DataTableCellDue",
2453
2478
  "DataTableCheckbox",
2454
- "DataTablePagination"
2479
+ "DataTablePagination",
2480
+ "DataTableCellSecondary"
2455
2481
  ],
2456
2482
  "useWhen": "The composable records table: card frame, toolbar with search and count, sortable headers, typed cells (name, mono, id, due), row checkbox, pagination.",
2457
2483
  "dontUseWhen": "A config-driven table is enough (`DataTableView`) or the table is a plain semantic one (`Table`).",
@@ -2561,6 +2587,25 @@
2561
2587
  ],
2562
2588
  "since": "0.4.1"
2563
2589
  },
2590
+ "StatStrip": {
2591
+ "category": "data display",
2592
+ "status": "experimental",
2593
+ "parts": [
2594
+ "StatStripItem"
2595
+ ],
2596
+ "useWhen": "The headline numbers above a list or board: one joined card of cells (label, big value, optional meter, one-line caption), collapsible to one line and remembered per browser; cells can act as filter toggles.",
2597
+ "dontUseWhen": "A dashboard of independent tiles (`KpiCard` in a `DashGrid`) or one number inside running content (`Stat`).",
2598
+ "replacesRawHtml": [
2599
+ "hand-rolled grid of KPI <div>s above a table"
2600
+ ],
2601
+ "related": [
2602
+ "KpiCard",
2603
+ "SelectableKpiCard",
2604
+ "ProgressBar",
2605
+ "DataTable"
2606
+ ],
2607
+ "since": "unreleased"
2608
+ },
2564
2609
  "Badge": {
2565
2610
  "category": "data display",
2566
2611
  "helpers": [
@@ -3041,6 +3086,20 @@
3041
3086
  ],
3042
3087
  "since": "0.0.0"
3043
3088
  },
3089
+ "TaxSoftwareLogo": {
3090
+ "category": "media",
3091
+ "useWhen": "Identifying a professional tax-software product (CCH Axcess, UltraTax CS, ATX, TaxAct, ProConnect, ProSeries, Lacerte, Drake) beside its name in a connect / import / export picker: the vendor's official mark on a white plate, initials `Avatar` fallback for vendors without one.",
3092
+ "dontUseWhen": "An Assure product mark (`Logo`, brand icon family), any other third-party brand, or a generic glyph (icon catalogue).",
3093
+ "replacesRawHtml": [
3094
+ "<img src=\"…vendor-logo.svg\">",
3095
+ "<svg> (vendor mark)"
3096
+ ],
3097
+ "related": [
3098
+ "Avatar",
3099
+ "Logo"
3100
+ ],
3101
+ "since": "1.48.0"
3102
+ },
3044
3103
  "Shell": {
3045
3104
  "category": "shell/screens",
3046
3105
  "parts": [
@@ -3083,7 +3142,7 @@
3083
3142
  "useSidebarState",
3084
3143
  "useSidebarPeekLock"
3085
3144
  ],
3086
- "useWhen": "The app navigation rail: expanded/collapsed/peek states from `SidebarProvider`, brand, sections, link groups with badges and actions, user and footer.",
3145
+ "useWhen": "The app navigation rail: two states (expanded / collapsed icon rail) from `SidebarProvider`, brand, sections, link groups with badges and actions, user and footer.",
3087
3146
  "dontUseWhen": "Mobile (`BottomNav`) or a rail of records (`ClientRailItem`).",
3088
3147
  "replacesRawHtml": [
3089
3148
  "<aside> + <nav> hand-rolled"
@@ -3237,6 +3296,22 @@
3237
3296
  "docs/data-tables.md"
3238
3297
  ]
3239
3298
  },
3299
+ "useDataTableGrouping": {
3300
+ "category": "hooks/utilities",
3301
+ "label": "Data-table grouping",
3302
+ "helpers": [
3303
+ "DATA_TABLE_NO_GROUPING"
3304
+ ],
3305
+ "useWhen": "A table grouped by one dimension (a DisplayMenu grouping section's value): partitions rows into groups, flattens group headers and the rows of open groups for `TableGroupRow` and `useDataTableVirtualRows`, with collapse state controllable or persisted per dimension.",
3306
+ "dontUseWhen": "An ungrouped table, or groups the server already returns as sections (render `TableGroupRow` from that data).",
3307
+ "related": [
3308
+ "useDataTable",
3309
+ "TableGroupRow",
3310
+ "DisplayMenu",
3311
+ "DataTableLoadMore"
3312
+ ],
3313
+ "since": "unreleased"
3314
+ },
3240
3315
  "useFieldControl": {
3241
3316
  "category": "hooks/utilities",
3242
3317
  "useWhen": "Building your own form control that should bind to `Field` like the design-system ones: returns ids, `aria-*`, invalid/disabled/required wiring; explicit props win.",
@@ -3407,6 +3482,75 @@
3407
3482
  "SidebarDrawer"
3408
3483
  ],
3409
3484
  "since": "unreleased"
3485
+ },
3486
+ "FilterChips": {
3487
+ "category": "actions",
3488
+ "hooks": [
3489
+ "useDisplayMenuFilterChips"
3490
+ ],
3491
+ "useWhen": "The active-filter row right of a list's search box: one chip per facet (\"Status: Active, Draft\"); the chip body asks to edit the facet (reopen its Display flyout), × removes it; past `maxVisible` facets the rest collapse into a \"+N\" chip with a per-value popover; trailing \"Clear all\". Derive props from DisplayMenu sections with `useDisplayMenuFilterChips`.",
3492
+ "dontUseWhen": "A single on/off filter toggle in a toolbar (`FilterChip`) or a dismissible tag that is not a filter (`Chip` with `onRemove`).",
3493
+ "replacesRawHtml": [
3494
+ "<div class=\"flex gap-1\"> of hand-rolled filter pills with × buttons"
3495
+ ],
3496
+ "related": [
3497
+ "DisplayMenu",
3498
+ "ListPage",
3499
+ "Chip",
3500
+ "Toolbar"
3501
+ ],
3502
+ "since": "unreleased"
3503
+ },
3504
+ "DataTableHeaderMenu": {
3505
+ "category": "data display",
3506
+ "useWhen": "A column's options menu in a header cell's `menu` slot: sort ascending / descending / clear, move left / right, hide, pin, autosize, reset columns — each item only when its callback is given.",
3507
+ "dontUseWhen": "A table-wide column picker (DisplayMenu columns section) or row actions (DropdownMenu in a cell).",
3508
+ "related": [
3509
+ "Table",
3510
+ "DataTable",
3511
+ "DisplayMenu"
3512
+ ],
3513
+ "since": "unreleased"
3514
+ },
3515
+ "DataTableLoadMore": {
3516
+ "category": "data display",
3517
+ "parts": [
3518
+ "DataTableSpacerRow"
3519
+ ],
3520
+ "hooks": [
3521
+ "useDataTableVirtualRows",
3522
+ "useScrollRestoration"
3523
+ ],
3524
+ "useWhen": "The foot of a virtualised infinite list: an IntersectionObserver sentinel plus a visible \"Load more\" button and an end-of-list status; `useDataTableVirtualRows` windows the rows with spacer rows, `useScrollRestoration` returns the user to the same rows.",
3525
+ "dontUseWhen": "A paged list (DataTablePagination) or a short list that renders every row.",
3526
+ "related": [
3527
+ "DataTable",
3528
+ "ListPage",
3529
+ "Table"
3530
+ ],
3531
+ "since": "unreleased"
3532
+ },
3533
+ "ListPage": {
3534
+ "category": "layout",
3535
+ "parts": [
3536
+ "ListPageToolbar",
3537
+ "ListPageResultCount",
3538
+ "ListPageTable",
3539
+ "ListPageScroll"
3540
+ ],
3541
+ "useWhen": "A list screen: full available height and never scrolls itself; stats, a toolbar (search left, filter chips, spacer, result count, actions), a table card that is the only scroll region (sticky header, pinned footer, shrinks to short content) and a bulk bar.",
3542
+ "dontUseWhen": "A table embedded in a detail page or card (Table / DataTable directly), or a page whose body is not one list.",
3543
+ "replacesRawHtml": [
3544
+ "<div class=\"flex h-full flex-col overflow-hidden\"> around a toolbar and an overflow-auto table"
3545
+ ],
3546
+ "related": [
3547
+ "DataTable",
3548
+ "FilterChips",
3549
+ "DisplayMenu",
3550
+ "BulkActionBar",
3551
+ "Table"
3552
+ ],
3553
+ "since": "unreleased"
3410
3554
  }
3411
3555
  },
3412
3556
  "entries": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@assure-one/design-system",
3
- "version": "1.47.1",
3
+ "version": "1.49.0",
4
4
  "description": "Assure One design system — tokens, primitives, and patterns for the Assure Suite.",
5
5
  "license": "UNLICENSED",
6
6
  "private": false,
@@ -116,6 +116,7 @@
116
116
  "@radix-ui/react-toolbar": "^1.1.11",
117
117
  "@radix-ui/react-tooltip": "^1.2.8",
118
118
  "@radix-ui/react-visually-hidden": "^1.2.4",
119
+ "@tanstack/react-virtual": "^3.14.13",
119
120
  "class-variance-authority": "^0.7.1",
120
121
  "clsx": "^2.1.1",
121
122
  "cmdk": "^1.1.1",