@loworbitstudio/visor 0.6.0 → 0.7.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/dist/CHANGELOG.json +1 -1
- package/dist/index.js +161 -44
- package/dist/registry.json +90 -43
- package/dist/visor-manifest.json +165 -7
- package/package.json +1 -1
package/dist/visor-manifest.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": "0.4.0",
|
|
3
|
-
"generated_at": "2026-
|
|
3
|
+
"generated_at": "2026-05-01T00:42:09.764Z",
|
|
4
4
|
"components": {
|
|
5
5
|
"accessibility-specimen": {
|
|
6
6
|
"category": "specimen",
|
|
@@ -1432,6 +1432,16 @@
|
|
|
1432
1432
|
"name": "onOpenChange",
|
|
1433
1433
|
"type": "(open: boolean) => void",
|
|
1434
1434
|
"description": "Callback when CommandDialog open state changes"
|
|
1435
|
+
},
|
|
1436
|
+
{
|
|
1437
|
+
"name": "contentClassName",
|
|
1438
|
+
"type": "string",
|
|
1439
|
+
"description": "Additional class name merged onto DialogContent via cn(). Use for width, padding, or elevation overrides (e.g. the V7 640 px / 540 px palette spec)."
|
|
1440
|
+
},
|
|
1441
|
+
{
|
|
1442
|
+
"name": "contentProps",
|
|
1443
|
+
"type": "Omit<React.ComponentProps<typeof DialogContent>, 'className' | 'children'>",
|
|
1444
|
+
"description": "Spread of any remaining DialogContent props (e.g. onOpenAutoFocus, onCloseAutoFocus, onPointerDownOutside, onEscapeKeyDown). className and children are excluded to prevent conflicts."
|
|
1435
1445
|
}
|
|
1436
1446
|
],
|
|
1437
1447
|
"sub_components": [
|
|
@@ -1779,8 +1789,17 @@
|
|
|
1779
1789
|
{
|
|
1780
1790
|
"name": "data",
|
|
1781
1791
|
"type": "TData[]",
|
|
1782
|
-
"
|
|
1783
|
-
|
|
1792
|
+
"description": "Array of row records. Optional when `rows` is provided — DataTable derives the data array from row entries internally."
|
|
1793
|
+
},
|
|
1794
|
+
{
|
|
1795
|
+
"name": "rows",
|
|
1796
|
+
"type": "DataTableRow<TData>[]",
|
|
1797
|
+
"description": "Mixed render order with group-head separators. Each entry is either `{ kind: \"group\", id, label, count? }` or `{ kind: \"data\", id, row }`. When provided, the caller owns sort/grouping/windowing — column header sort UI and the pagination footer are suppressed. Group rows render full-width via colSpan and are excluded from selection state.\n"
|
|
1798
|
+
},
|
|
1799
|
+
{
|
|
1800
|
+
"name": "groupRowRenderer",
|
|
1801
|
+
"type": "(group: DataTableGroupRow) => React.ReactNode",
|
|
1802
|
+
"description": "Optional render slot for custom group-head content. When omitted, the default renderer shows label + optional count using the eyebrow type scale and `--surface-subtle` background."
|
|
1784
1803
|
},
|
|
1785
1804
|
{
|
|
1786
1805
|
"name": "sorting",
|
|
@@ -1880,6 +1899,8 @@
|
|
|
1880
1899
|
"--focus-ring-offset",
|
|
1881
1900
|
"--focus-ring-width",
|
|
1882
1901
|
"--font-size-sm",
|
|
1902
|
+
"--font-size-xs",
|
|
1903
|
+
"--font-weight-medium",
|
|
1883
1904
|
"--font-weight-semibold",
|
|
1884
1905
|
"--line-height-tight",
|
|
1885
1906
|
"--motion-duration-fast",
|
|
@@ -1893,7 +1914,9 @@
|
|
|
1893
1914
|
"--spacing-6",
|
|
1894
1915
|
"--spacing-8",
|
|
1895
1916
|
"--surface-card",
|
|
1917
|
+
"--surface-subtle",
|
|
1896
1918
|
"--text-primary",
|
|
1919
|
+
"--text-quaternary",
|
|
1897
1920
|
"--text-secondary",
|
|
1898
1921
|
"--text-tertiary"
|
|
1899
1922
|
],
|
|
@@ -2452,6 +2475,7 @@
|
|
|
2452
2475
|
],
|
|
2453
2476
|
"tokens_used": [
|
|
2454
2477
|
"--font-size-sm",
|
|
2478
|
+
"--font-size-xs",
|
|
2455
2479
|
"--font-weight-medium",
|
|
2456
2480
|
"--font-weight-normal",
|
|
2457
2481
|
"--spacing-1",
|
|
@@ -2778,6 +2802,11 @@
|
|
|
2778
2802
|
"type": "'onSubmit' | 'onBlur' | 'onInput'",
|
|
2779
2803
|
"default": "onBlur",
|
|
2780
2804
|
"description": "When to trigger client-side validation"
|
|
2805
|
+
},
|
|
2806
|
+
{
|
|
2807
|
+
"name": "passwordManagers",
|
|
2808
|
+
"type": "'ignore' | 'allow'",
|
|
2809
|
+
"description": "Form-level default for password-manager autofill on descendant Input and Textarea fields. Field-level passwordManagers prop always wins. When omitted, fields fall back to their own default of \"ignore\".\n"
|
|
2781
2810
|
}
|
|
2782
2811
|
],
|
|
2783
2812
|
"sub_components": [
|
|
@@ -3126,6 +3155,12 @@
|
|
|
3126
3155
|
"name": "leadingIcon",
|
|
3127
3156
|
"type": "React.ReactNode",
|
|
3128
3157
|
"description": "Optional leading glyph rendered inside the field (e.g. a Phosphor icon). The input reserves enough left padding to clear it."
|
|
3158
|
+
},
|
|
3159
|
+
{
|
|
3160
|
+
"name": "passwordManagers",
|
|
3161
|
+
"type": "'ignore' | 'allow'",
|
|
3162
|
+
"default": "ignore",
|
|
3163
|
+
"description": "Controls password-manager autofill behavior. Defaults to \"ignore\" so contact, marketing, and settings forms don't render 1Password/Bitwarden/LastPass autofill icons. Set to \"allow\" on login and credential fields. When \"ignore\", emits data-1p-ignore, data-bwignore, data-lpignore, and data-form-type=\"other\" — the four per-manager opt-out attributes browsers honor where autocomplete=\"off\" is ignored.\n"
|
|
3129
3164
|
}
|
|
3130
3165
|
],
|
|
3131
3166
|
"dependencies": [],
|
|
@@ -3150,7 +3185,7 @@
|
|
|
3150
3185
|
"--text-primary",
|
|
3151
3186
|
"--text-secondary"
|
|
3152
3187
|
],
|
|
3153
|
-
"example": "<Input type=\"email\" placeholder=\"you@example.com\" />\n\n<Input type=\"password\" aria-invalid=\"true\" />\n"
|
|
3188
|
+
"example": "<Input type=\"email\" placeholder=\"you@example.com\" />\n\n<Input type=\"password\" passwordManagers=\"allow\" aria-invalid=\"true\" />\n"
|
|
3154
3189
|
},
|
|
3155
3190
|
"kbd": {
|
|
3156
3191
|
"category": "admin",
|
|
@@ -4925,6 +4960,11 @@
|
|
|
4925
4960
|
"size": [
|
|
4926
4961
|
"sm",
|
|
4927
4962
|
"md"
|
|
4963
|
+
],
|
|
4964
|
+
"valueAs": [
|
|
4965
|
+
"default",
|
|
4966
|
+
"hero",
|
|
4967
|
+
"compact"
|
|
4928
4968
|
]
|
|
4929
4969
|
},
|
|
4930
4970
|
"props": [
|
|
@@ -4972,6 +5012,17 @@
|
|
|
4972
5012
|
"type": "'sm' | 'md'",
|
|
4973
5013
|
"default": "md",
|
|
4974
5014
|
"description": "Dimensional density. Use sm for dense rows of compact cards; md is the default dashboard size."
|
|
5015
|
+
},
|
|
5016
|
+
{
|
|
5017
|
+
"name": "valueAs",
|
|
5018
|
+
"type": "'default' | 'hero' | 'compact'",
|
|
5019
|
+
"default": "default",
|
|
5020
|
+
"description": "Typography scale for the value. \"hero\" applies a marquee display treatment (large font, display weight, tabular-nums, letter-spacing 0). \"compact\" uses a tighter 2xl size. Override the font and size via --stat-card-value-font and --stat-card-value-size CSS custom properties.\n"
|
|
5021
|
+
},
|
|
5022
|
+
{
|
|
5023
|
+
"name": "valueClassName",
|
|
5024
|
+
"type": "string",
|
|
5025
|
+
"description": "Additional class names forwarded to the value element for fully custom value rendering."
|
|
4975
5026
|
}
|
|
4976
5027
|
],
|
|
4977
5028
|
"dependencies": [
|
|
@@ -4979,6 +5030,7 @@
|
|
|
4979
5030
|
],
|
|
4980
5031
|
"tokens_used": [
|
|
4981
5032
|
"--border-default",
|
|
5033
|
+
"--font-display",
|
|
4982
5034
|
"--font-family-heading",
|
|
4983
5035
|
"--font-size-2xl",
|
|
4984
5036
|
"--font-size-3xl",
|
|
@@ -4986,6 +5038,7 @@
|
|
|
4986
5038
|
"--font-size-sm",
|
|
4987
5039
|
"--font-size-xs",
|
|
4988
5040
|
"--font-weight-medium",
|
|
5041
|
+
"--font-weight-normal",
|
|
4989
5042
|
"--font-weight-regular",
|
|
4990
5043
|
"--font-weight-semibold",
|
|
4991
5044
|
"--interactive-primary-bg",
|
|
@@ -5003,6 +5056,8 @@
|
|
|
5003
5056
|
"--spacing-3",
|
|
5004
5057
|
"--spacing-4",
|
|
5005
5058
|
"--spacing-5",
|
|
5059
|
+
"--stat-card-value-font",
|
|
5060
|
+
"--stat-card-value-size",
|
|
5006
5061
|
"--surface-card",
|
|
5007
5062
|
"--text-danger",
|
|
5008
5063
|
"--text-primary",
|
|
@@ -5429,6 +5484,7 @@
|
|
|
5429
5484
|
"--spacing-2",
|
|
5430
5485
|
"--surface-muted",
|
|
5431
5486
|
"--surface-page",
|
|
5487
|
+
"--tabs-indicator-color",
|
|
5432
5488
|
"--text-primary",
|
|
5433
5489
|
"--text-secondary"
|
|
5434
5490
|
],
|
|
@@ -5626,6 +5682,12 @@
|
|
|
5626
5682
|
{
|
|
5627
5683
|
"name": "placeholder",
|
|
5628
5684
|
"type": "string"
|
|
5685
|
+
},
|
|
5686
|
+
{
|
|
5687
|
+
"name": "passwordManagers",
|
|
5688
|
+
"type": "'ignore' | 'allow'",
|
|
5689
|
+
"default": "ignore",
|
|
5690
|
+
"description": "Controls password-manager autofill behavior. Defaults to \"ignore\" so contact, marketing, and settings forms don't render 1Password/Bitwarden/LastPass autofill icons. Set to \"allow\" on the rare credential field where autofill is desired. When \"ignore\", emits data-1p-ignore, data-bwignore, data-lpignore, and data-form-type=\"other\" — the four per-manager opt-out attributes browsers honor where autocomplete=\"off\" is ignored.\n"
|
|
5629
5691
|
}
|
|
5630
5692
|
],
|
|
5631
5693
|
"dependencies": [],
|
|
@@ -6781,7 +6843,7 @@
|
|
|
6781
6843
|
},
|
|
6782
6844
|
"admin-detail-drawer": {
|
|
6783
6845
|
"category": "admin",
|
|
6784
|
-
"description": "Right-side slide-out panel for viewing or editing a single record. Composes Sheet with a sticky save/cancel footer, async save handler with pending state, an unsaved-changes guard powered by ConfirmDialog,
|
|
6846
|
+
"description": "Right-side slide-out panel for viewing or editing a single record. Composes Sheet with a sticky save/cancel footer, async save handler with pending state, an unsaved-changes guard powered by ConfirmDialog, sm/md/lg/xl width variants, and optional header customization via hideHeader and customHeader props.",
|
|
6785
6847
|
"components_used": [
|
|
6786
6848
|
"sheet",
|
|
6787
6849
|
"button",
|
|
@@ -6821,7 +6883,7 @@
|
|
|
6821
6883
|
},
|
|
6822
6884
|
"admin-settings-page": {
|
|
6823
6885
|
"category": "admin",
|
|
6824
|
-
"description": "Long scrollable settings archetype with labeled sections and an optional sticky left-side nav that sync-scrolls via intersection observer. Supports two mutually-exclusive modes — a single global sticky save/cancel footer (default) or per-section save/revert footer rows. Composes PageHeader, Separator, Heading, Text, Button, and ConfirmDialog.",
|
|
6886
|
+
"description": "Long scrollable settings archetype with labeled sections and an optional sticky left-side nav that sync-scrolls via intersection observer. Supports flat or grouped (categorical) nav with eyebrow labels above section clusters. Supports two mutually-exclusive modes — a single global sticky save/cancel footer (default) or per-section save/revert footer rows. Composes PageHeader, Separator, Heading, Text, Button, and ConfirmDialog.",
|
|
6825
6887
|
"components_used": [
|
|
6826
6888
|
"page-header",
|
|
6827
6889
|
"separator",
|
|
@@ -7149,6 +7211,25 @@
|
|
|
7149
7211
|
"Product reviews with ratings (extend with star component)",
|
|
7150
7212
|
"User-generated content feeds"
|
|
7151
7213
|
]
|
|
7214
|
+
},
|
|
7215
|
+
"workspace-switcher": {
|
|
7216
|
+
"category": "admin",
|
|
7217
|
+
"description": "Sidebar-header workspace switcher composing a button trigger and a DropdownMenu of available workspaces. The trigger displays the current workspace's avatar, name, optional plan/role line, and a caret. Used in the AdminShell's `logo` slot for multi-tenant admin apps.",
|
|
7218
|
+
"components_used": [
|
|
7219
|
+
"avatar",
|
|
7220
|
+
"dropdown-menu"
|
|
7221
|
+
],
|
|
7222
|
+
"when_to_use": [
|
|
7223
|
+
"Multi-tenant admin apps where users belong to multiple workspaces or organizations",
|
|
7224
|
+
"Sidebar header (`logo` slot) of `AdminShell` to swap the active workspace context",
|
|
7225
|
+
"Any UI where the active org/team is part of the user's mental address bar"
|
|
7226
|
+
],
|
|
7227
|
+
"when_not_to_use": [
|
|
7228
|
+
"Single-tenant apps with no concept of switching context",
|
|
7229
|
+
"Search-to-filter pickers (use a combobox or command palette instead)",
|
|
7230
|
+
"Workspace creation flows (consumer composes those above or below the switcher)",
|
|
7231
|
+
"Loading or skeleton states (consumer renders their own skeleton until data is ready)"
|
|
7232
|
+
]
|
|
7152
7233
|
}
|
|
7153
7234
|
},
|
|
7154
7235
|
"hooks": {
|
|
@@ -8489,6 +8570,13 @@
|
|
|
8489
8570
|
"defaultLight": "4px",
|
|
8490
8571
|
"defaultDark": "4px"
|
|
8491
8572
|
},
|
|
8573
|
+
{
|
|
8574
|
+
"name": "--font-size-2xs",
|
|
8575
|
+
"tier": "primitive",
|
|
8576
|
+
"description": "Primitive font size: 11px",
|
|
8577
|
+
"defaultLight": "0.6875rem",
|
|
8578
|
+
"defaultDark": "0.6875rem"
|
|
8579
|
+
},
|
|
8492
8580
|
{
|
|
8493
8581
|
"name": "--font-size-xs",
|
|
8494
8582
|
"tier": "primitive",
|
|
@@ -9051,6 +9139,41 @@
|
|
|
9051
9139
|
"defaultLight": "var(--color-info-500)",
|
|
9052
9140
|
"defaultDark": "var(--color-info-500)"
|
|
9053
9141
|
},
|
|
9142
|
+
{
|
|
9143
|
+
"name": "--surface-elev-0",
|
|
9144
|
+
"tier": "semantic",
|
|
9145
|
+
"description": "Semantic surface: elev-0",
|
|
9146
|
+
"defaultLight": "var(--color-neutral-950)",
|
|
9147
|
+
"defaultDark": "var(--color-neutral-950)"
|
|
9148
|
+
},
|
|
9149
|
+
{
|
|
9150
|
+
"name": "--surface-elev-1",
|
|
9151
|
+
"tier": "semantic",
|
|
9152
|
+
"description": "Semantic surface: elev-1",
|
|
9153
|
+
"defaultLight": "var(--color-neutral-900)",
|
|
9154
|
+
"defaultDark": "var(--color-neutral-900)"
|
|
9155
|
+
},
|
|
9156
|
+
{
|
|
9157
|
+
"name": "--surface-elev-2",
|
|
9158
|
+
"tier": "semantic",
|
|
9159
|
+
"description": "Semantic surface: elev-2",
|
|
9160
|
+
"defaultLight": "var(--color-neutral-800)",
|
|
9161
|
+
"defaultDark": "var(--color-neutral-800)"
|
|
9162
|
+
},
|
|
9163
|
+
{
|
|
9164
|
+
"name": "--surface-elev-3",
|
|
9165
|
+
"tier": "semantic",
|
|
9166
|
+
"description": "Semantic surface: elev-3",
|
|
9167
|
+
"defaultLight": "var(--color-neutral-700)",
|
|
9168
|
+
"defaultDark": "var(--color-neutral-700)"
|
|
9169
|
+
},
|
|
9170
|
+
{
|
|
9171
|
+
"name": "--surface-elev-4",
|
|
9172
|
+
"tier": "semantic",
|
|
9173
|
+
"description": "Semantic surface: elev-4",
|
|
9174
|
+
"defaultLight": "var(--color-neutral-600)",
|
|
9175
|
+
"defaultDark": "var(--color-neutral-600)"
|
|
9176
|
+
},
|
|
9054
9177
|
{
|
|
9055
9178
|
"name": "--border-default",
|
|
9056
9179
|
"tier": "semantic",
|
|
@@ -9795,6 +9918,41 @@
|
|
|
9795
9918
|
"defaultLight": "#0ea5e9",
|
|
9796
9919
|
"defaultDark": "#0ea5e9"
|
|
9797
9920
|
},
|
|
9921
|
+
{
|
|
9922
|
+
"name": "--surface-elev-0",
|
|
9923
|
+
"tier": "adaptive",
|
|
9924
|
+
"description": "Adaptive surface: elev-0",
|
|
9925
|
+
"defaultLight": "#ffffff",
|
|
9926
|
+
"defaultDark": "#030712"
|
|
9927
|
+
},
|
|
9928
|
+
{
|
|
9929
|
+
"name": "--surface-elev-1",
|
|
9930
|
+
"tier": "adaptive",
|
|
9931
|
+
"description": "Adaptive surface: elev-1",
|
|
9932
|
+
"defaultLight": "#f9fafb",
|
|
9933
|
+
"defaultDark": "#111827"
|
|
9934
|
+
},
|
|
9935
|
+
{
|
|
9936
|
+
"name": "--surface-elev-2",
|
|
9937
|
+
"tier": "adaptive",
|
|
9938
|
+
"description": "Adaptive surface: elev-2",
|
|
9939
|
+
"defaultLight": "#f3f4f6",
|
|
9940
|
+
"defaultDark": "#1f2937"
|
|
9941
|
+
},
|
|
9942
|
+
{
|
|
9943
|
+
"name": "--surface-elev-3",
|
|
9944
|
+
"tier": "adaptive",
|
|
9945
|
+
"description": "Adaptive surface: elev-3",
|
|
9946
|
+
"defaultLight": "#e5e7eb",
|
|
9947
|
+
"defaultDark": "#374151"
|
|
9948
|
+
},
|
|
9949
|
+
{
|
|
9950
|
+
"name": "--surface-elev-4",
|
|
9951
|
+
"tier": "adaptive",
|
|
9952
|
+
"description": "Adaptive surface: elev-4",
|
|
9953
|
+
"defaultLight": "#d1d5db",
|
|
9954
|
+
"defaultDark": "#4b5563"
|
|
9955
|
+
},
|
|
9798
9956
|
{
|
|
9799
9957
|
"name": "--border-default",
|
|
9800
9958
|
"tier": "adaptive",
|
|
@@ -10077,7 +10235,7 @@
|
|
|
10077
10235
|
}
|
|
10078
10236
|
],
|
|
10079
10237
|
"summary": {
|
|
10080
|
-
"total":
|
|
10238
|
+
"total": 311
|
|
10081
10239
|
}
|
|
10082
10240
|
}
|
|
10083
10241
|
}
|