ionbase-ui 0.81.0 → 0.84.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/components/DatePicker.d.ts +1 -1
- package/dist/components/DatePicker.d.ts.map +1 -1
- package/dist/components/DatePicker.js +14 -6
- package/dist/components/DatePicker.js.map +1 -1
- package/dist/components/DateRangePicker.d.ts +1 -1
- package/dist/components/DateRangePicker.d.ts.map +1 -1
- package/dist/components/DateRangePicker.js +14 -6
- package/dist/components/DateRangePicker.js.map +1 -1
- package/dist/components/Menu.d.ts +87 -24
- package/dist/components/Menu.d.ts.map +1 -1
- package/dist/components/Menu.js +245 -28
- package/dist/components/Menu.js.map +1 -1
- package/dist/components/PageHeader.d.ts +59 -0
- package/dist/components/PageHeader.d.ts.map +1 -0
- package/dist/components/PageHeader.js +29 -0
- package/dist/components/PageHeader.js.map +1 -0
- package/dist/components/TimeField.d.ts +1 -1
- package/dist/components/TimeField.d.ts.map +1 -1
- package/dist/components/index.d.ts +4 -2
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +2 -1
- package/dist/components/index.js.map +1 -1
- package/dist/figma-descriptions.json +86 -76
- package/dist/figma-map.json +142 -38
- package/dist/meta/DatePicker.json +3 -2
- package/dist/meta/DateRangePicker.json +3 -2
- package/dist/meta/Menu.json +201 -27
- package/dist/meta/MenuItem.json +137 -17
- package/dist/meta/MenuSection.json +90 -0
- package/dist/meta/MenuTrigger.json +177 -0
- package/dist/meta/PageHeader.json +169 -0
- package/dist/meta/TimeField.json +1 -1
- package/dist/meta/components.json +841 -109
- package/dist/meta/contrast.json +240 -32
- package/dist/meta/index.json +31 -3
- package/dist/meta/patterns/PageShell.json +18 -5
- package/dist/meta/patterns/index.json +2 -1
- package/dist/styles/index.css +1 -0
- package/dist/styles/menu.css +153 -32
- package/dist/styles/page-header.css +94 -0
- package/llms.txt +2 -2
- package/package.json +1 -1
package/dist/meta/contrast.json
CHANGED
|
@@ -9467,6 +9467,20 @@
|
|
|
9467
9467
|
"ratio": 7.56,
|
|
9468
9468
|
"min": 4.5
|
|
9469
9469
|
},
|
|
9470
|
+
{
|
|
9471
|
+
"component": "menu",
|
|
9472
|
+
"context": "ion-menu ion-menu__section-title",
|
|
9473
|
+
"state": "default",
|
|
9474
|
+
"fg": "--text-tertiary",
|
|
9475
|
+
"bg": "--surface-default",
|
|
9476
|
+
"backdrop": "--surface-default",
|
|
9477
|
+
"kind": "text",
|
|
9478
|
+
"mode": "Light",
|
|
9479
|
+
"fgHex": "#4b5563",
|
|
9480
|
+
"bgHex": "#ffffff",
|
|
9481
|
+
"ratio": 7.56,
|
|
9482
|
+
"min": 4.5
|
|
9483
|
+
},
|
|
9470
9484
|
{
|
|
9471
9485
|
"component": "nav-item",
|
|
9472
9486
|
"context": "ion-nav-item ion-nav-item__icon",
|
|
@@ -10887,6 +10901,20 @@
|
|
|
10887
10901
|
"ratio": 8.28,
|
|
10888
10902
|
"min": 4.5
|
|
10889
10903
|
},
|
|
10904
|
+
{
|
|
10905
|
+
"component": "menu",
|
|
10906
|
+
"context": "ion-menu ion-menu__section-title",
|
|
10907
|
+
"state": "default",
|
|
10908
|
+
"fg": "--text-tertiary",
|
|
10909
|
+
"bg": "--surface-default",
|
|
10910
|
+
"backdrop": "--surface-default",
|
|
10911
|
+
"kind": "text",
|
|
10912
|
+
"mode": "Dark",
|
|
10913
|
+
"fgHex": "#9ca3b0",
|
|
10914
|
+
"bgHex": "#000000",
|
|
10915
|
+
"ratio": 8.28,
|
|
10916
|
+
"min": 4.5
|
|
10917
|
+
},
|
|
10890
10918
|
{
|
|
10891
10919
|
"component": "nav-item",
|
|
10892
10920
|
"context": "ion-nav-item ion-nav-item__icon",
|
|
@@ -12056,6 +12084,21 @@
|
|
|
12056
12084
|
"ratio": 9.04,
|
|
12057
12085
|
"min": 4.5
|
|
12058
12086
|
},
|
|
12087
|
+
{
|
|
12088
|
+
"component": "page-header",
|
|
12089
|
+
"context": "ion-page-header ion-page-header__description",
|
|
12090
|
+
"state": "default",
|
|
12091
|
+
"fg": "--text-secondary",
|
|
12092
|
+
"bg": "--surface-muted",
|
|
12093
|
+
"backdrop": null,
|
|
12094
|
+
"kind": "text",
|
|
12095
|
+
"ground": "assumed",
|
|
12096
|
+
"mode": "Light",
|
|
12097
|
+
"fgHex": "#384252",
|
|
12098
|
+
"bgHex": "#f0f2f4",
|
|
12099
|
+
"ratio": 9.04,
|
|
12100
|
+
"min": 4.5
|
|
12101
|
+
},
|
|
12059
12102
|
{
|
|
12060
12103
|
"component": "pagination",
|
|
12061
12104
|
"context": "ion-pagination ion-pagination__summary",
|
|
@@ -12343,7 +12386,7 @@
|
|
|
12343
12386
|
{
|
|
12344
12387
|
"component": "menu",
|
|
12345
12388
|
"context": "ion-menu ion-menu__item",
|
|
12346
|
-
"state": "
|
|
12389
|
+
"state": "focus",
|
|
12347
12390
|
"fg": "--text-secondary",
|
|
12348
12391
|
"bg": "--surface-hover",
|
|
12349
12392
|
"backdrop": "--surface-default",
|
|
@@ -13264,6 +13307,21 @@
|
|
|
13264
13307
|
"ratio": 9.53,
|
|
13265
13308
|
"min": 4.5
|
|
13266
13309
|
},
|
|
13310
|
+
{
|
|
13311
|
+
"component": "page-header",
|
|
13312
|
+
"context": "ion-page-header ion-page-header__description",
|
|
13313
|
+
"state": "default",
|
|
13314
|
+
"fg": "--text-secondary",
|
|
13315
|
+
"bg": "--surface-page",
|
|
13316
|
+
"backdrop": null,
|
|
13317
|
+
"kind": "text",
|
|
13318
|
+
"ground": "assumed",
|
|
13319
|
+
"mode": "Light",
|
|
13320
|
+
"fgHex": "#384252",
|
|
13321
|
+
"bgHex": "#f6f8f9",
|
|
13322
|
+
"ratio": 9.53,
|
|
13323
|
+
"min": 4.5
|
|
13324
|
+
},
|
|
13267
13325
|
{
|
|
13268
13326
|
"component": "pagination",
|
|
13269
13327
|
"context": "ion-pagination ion-pagination__summary",
|
|
@@ -14554,20 +14612,6 @@
|
|
|
14554
14612
|
"ratio": 10.15,
|
|
14555
14613
|
"min": 4.5
|
|
14556
14614
|
},
|
|
14557
|
-
{
|
|
14558
|
-
"component": "menu",
|
|
14559
|
-
"context": "ion-menu ion-menu__item",
|
|
14560
|
-
"state": "focus",
|
|
14561
|
-
"fg": "--text-secondary",
|
|
14562
|
-
"bg": "--surface-default",
|
|
14563
|
-
"backdrop": "--surface-default",
|
|
14564
|
-
"kind": "text",
|
|
14565
|
-
"mode": "Light",
|
|
14566
|
-
"fgHex": "#384252",
|
|
14567
|
-
"bgHex": "#ffffff",
|
|
14568
|
-
"ratio": 10.15,
|
|
14569
|
-
"min": 4.5
|
|
14570
|
-
},
|
|
14571
14615
|
{
|
|
14572
14616
|
"component": "modal",
|
|
14573
14617
|
"context": "ion-modal ion-modal__description",
|
|
@@ -14682,6 +14726,21 @@
|
|
|
14682
14726
|
"ratio": 10.15,
|
|
14683
14727
|
"min": 3
|
|
14684
14728
|
},
|
|
14729
|
+
{
|
|
14730
|
+
"component": "page-header",
|
|
14731
|
+
"context": "ion-page-header ion-page-header__description",
|
|
14732
|
+
"state": "default",
|
|
14733
|
+
"fg": "--text-secondary",
|
|
14734
|
+
"bg": "--surface-default",
|
|
14735
|
+
"backdrop": null,
|
|
14736
|
+
"kind": "text",
|
|
14737
|
+
"ground": "assumed",
|
|
14738
|
+
"mode": "Light",
|
|
14739
|
+
"fgHex": "#384252",
|
|
14740
|
+
"bgHex": "#ffffff",
|
|
14741
|
+
"ratio": 10.15,
|
|
14742
|
+
"min": 4.5
|
|
14743
|
+
},
|
|
14685
14744
|
{
|
|
14686
14745
|
"component": "pagination",
|
|
14687
14746
|
"context": "ion-pagination ion-pagination__summary",
|
|
@@ -16642,6 +16701,21 @@
|
|
|
16642
16701
|
"ratio": 11.38,
|
|
16643
16702
|
"min": 4.5
|
|
16644
16703
|
},
|
|
16704
|
+
{
|
|
16705
|
+
"component": "page-header",
|
|
16706
|
+
"context": "ion-page-header ion-page-header__description",
|
|
16707
|
+
"state": "default",
|
|
16708
|
+
"fg": "--text-secondary",
|
|
16709
|
+
"bg": "--surface-muted",
|
|
16710
|
+
"backdrop": null,
|
|
16711
|
+
"kind": "text",
|
|
16712
|
+
"ground": "assumed",
|
|
16713
|
+
"mode": "Dark",
|
|
16714
|
+
"fgHex": "#dde0e4",
|
|
16715
|
+
"bgHex": "#1d2735",
|
|
16716
|
+
"ratio": 11.38,
|
|
16717
|
+
"min": 4.5
|
|
16718
|
+
},
|
|
16645
16719
|
{
|
|
16646
16720
|
"component": "pagination",
|
|
16647
16721
|
"context": "ion-pagination ion-pagination__summary",
|
|
@@ -17948,6 +18022,21 @@
|
|
|
17948
18022
|
"ratio": 13.31,
|
|
17949
18023
|
"min": 4.5
|
|
17950
18024
|
},
|
|
18025
|
+
{
|
|
18026
|
+
"component": "page-header",
|
|
18027
|
+
"context": "ion-page-header ion-page-header__description",
|
|
18028
|
+
"state": "default",
|
|
18029
|
+
"fg": "--text-secondary",
|
|
18030
|
+
"bg": "--surface-page",
|
|
18031
|
+
"backdrop": null,
|
|
18032
|
+
"kind": "text",
|
|
18033
|
+
"ground": "assumed",
|
|
18034
|
+
"mode": "Dark",
|
|
18035
|
+
"fgHex": "#dde0e4",
|
|
18036
|
+
"bgHex": "#131923",
|
|
18037
|
+
"ratio": 13.31,
|
|
18038
|
+
"min": 4.5
|
|
18039
|
+
},
|
|
17951
18040
|
{
|
|
17952
18041
|
"component": "pagination",
|
|
17953
18042
|
"context": "ion-pagination ion-pagination__summary",
|
|
@@ -18396,7 +18485,7 @@
|
|
|
18396
18485
|
{
|
|
18397
18486
|
"component": "menu",
|
|
18398
18487
|
"context": "ion-menu__item--selected ion-menu__item--selected",
|
|
18399
|
-
"state": "
|
|
18488
|
+
"state": "focus",
|
|
18400
18489
|
"fg": "--icon-default",
|
|
18401
18490
|
"bg": "--surface-hover",
|
|
18402
18491
|
"backdrop": "--surface-default",
|
|
@@ -19165,6 +19254,21 @@
|
|
|
19165
19254
|
"ratio": 14.14,
|
|
19166
19255
|
"min": 3
|
|
19167
19256
|
},
|
|
19257
|
+
{
|
|
19258
|
+
"component": "page-header",
|
|
19259
|
+
"context": "ion-page-header ion-page-header__title",
|
|
19260
|
+
"state": "default",
|
|
19261
|
+
"fg": "--text-default",
|
|
19262
|
+
"bg": "--surface-muted",
|
|
19263
|
+
"backdrop": null,
|
|
19264
|
+
"kind": "text",
|
|
19265
|
+
"ground": "assumed",
|
|
19266
|
+
"mode": "Dark",
|
|
19267
|
+
"fgHex": "#f6f8f9",
|
|
19268
|
+
"bgHex": "#1d2735",
|
|
19269
|
+
"ratio": 14.14,
|
|
19270
|
+
"min": 4.5
|
|
19271
|
+
},
|
|
19168
19272
|
{
|
|
19169
19273
|
"component": "popover",
|
|
19170
19274
|
"context": "ion-popover ion-popover__title",
|
|
@@ -19554,7 +19658,7 @@
|
|
|
19554
19658
|
{
|
|
19555
19659
|
"component": "menu",
|
|
19556
19660
|
"context": "ion-menu ion-menu__item",
|
|
19557
|
-
"state": "
|
|
19661
|
+
"state": "focus",
|
|
19558
19662
|
"fg": "--text-secondary",
|
|
19559
19663
|
"bg": "--surface-hover",
|
|
19560
19664
|
"backdrop": "--surface-default",
|
|
@@ -19794,6 +19898,20 @@
|
|
|
19794
19898
|
"ratio": 15.07,
|
|
19795
19899
|
"min": 3
|
|
19796
19900
|
},
|
|
19901
|
+
{
|
|
19902
|
+
"component": "menu",
|
|
19903
|
+
"context": "ion-menu ion-menu__chevron",
|
|
19904
|
+
"state": "default",
|
|
19905
|
+
"fg": "--icon-default",
|
|
19906
|
+
"bg": "--surface-default",
|
|
19907
|
+
"backdrop": "--surface-default",
|
|
19908
|
+
"kind": "non-text",
|
|
19909
|
+
"mode": "Light",
|
|
19910
|
+
"fgHex": "#1d2735",
|
|
19911
|
+
"bgHex": "#ffffff",
|
|
19912
|
+
"ratio": 15.07,
|
|
19913
|
+
"min": 3
|
|
19914
|
+
},
|
|
19797
19915
|
{
|
|
19798
19916
|
"component": "table",
|
|
19799
19917
|
"context": "ion-table__sort--active ion-table__sort--active",
|
|
@@ -20060,6 +20178,21 @@
|
|
|
20060
20178
|
"ratio": 15.71,
|
|
20061
20179
|
"min": 3
|
|
20062
20180
|
},
|
|
20181
|
+
{
|
|
20182
|
+
"component": "page-header",
|
|
20183
|
+
"context": "ion-page-header ion-page-header__title",
|
|
20184
|
+
"state": "default",
|
|
20185
|
+
"fg": "--text-default",
|
|
20186
|
+
"bg": "--surface-muted",
|
|
20187
|
+
"backdrop": null,
|
|
20188
|
+
"kind": "text",
|
|
20189
|
+
"ground": "assumed",
|
|
20190
|
+
"mode": "Light",
|
|
20191
|
+
"fgHex": "#131923",
|
|
20192
|
+
"bgHex": "#f0f2f4",
|
|
20193
|
+
"ratio": 15.71,
|
|
20194
|
+
"min": 4.5
|
|
20195
|
+
},
|
|
20063
20196
|
{
|
|
20064
20197
|
"component": "progress-bar",
|
|
20065
20198
|
"context": "ion-progress-bar ion-progress-bar__label",
|
|
@@ -20901,20 +21034,6 @@
|
|
|
20901
21034
|
"ratio": 15.86,
|
|
20902
21035
|
"min": 4.5
|
|
20903
21036
|
},
|
|
20904
|
-
{
|
|
20905
|
-
"component": "menu",
|
|
20906
|
-
"context": "ion-menu ion-menu__item",
|
|
20907
|
-
"state": "focus",
|
|
20908
|
-
"fg": "--text-secondary",
|
|
20909
|
-
"bg": "--surface-default",
|
|
20910
|
-
"backdrop": "--surface-default",
|
|
20911
|
-
"kind": "text",
|
|
20912
|
-
"mode": "Dark",
|
|
20913
|
-
"fgHex": "#dde0e4",
|
|
20914
|
-
"bgHex": "#000000",
|
|
20915
|
-
"ratio": 15.86,
|
|
20916
|
-
"min": 4.5
|
|
20917
|
-
},
|
|
20918
21037
|
{
|
|
20919
21038
|
"component": "modal",
|
|
20920
21039
|
"context": "ion-modal ion-modal__description",
|
|
@@ -21029,6 +21148,21 @@
|
|
|
21029
21148
|
"ratio": 15.86,
|
|
21030
21149
|
"min": 3
|
|
21031
21150
|
},
|
|
21151
|
+
{
|
|
21152
|
+
"component": "page-header",
|
|
21153
|
+
"context": "ion-page-header ion-page-header__description",
|
|
21154
|
+
"state": "default",
|
|
21155
|
+
"fg": "--text-secondary",
|
|
21156
|
+
"bg": "--surface-default",
|
|
21157
|
+
"backdrop": null,
|
|
21158
|
+
"kind": "text",
|
|
21159
|
+
"ground": "assumed",
|
|
21160
|
+
"mode": "Dark",
|
|
21161
|
+
"fgHex": "#dde0e4",
|
|
21162
|
+
"bgHex": "#000000",
|
|
21163
|
+
"ratio": 15.86,
|
|
21164
|
+
"min": 4.5
|
|
21165
|
+
},
|
|
21032
21166
|
{
|
|
21033
21167
|
"component": "pagination",
|
|
21034
21168
|
"context": "ion-pagination ion-pagination__summary",
|
|
@@ -22161,6 +22295,36 @@
|
|
|
22161
22295
|
"ratio": 16.55,
|
|
22162
22296
|
"min": 3
|
|
22163
22297
|
},
|
|
22298
|
+
{
|
|
22299
|
+
"component": "page-header",
|
|
22300
|
+
"context": "ion-page-header ion-page-header__title",
|
|
22301
|
+
"state": "default",
|
|
22302
|
+
"fg": "--text-default",
|
|
22303
|
+
"bg": "--surface-page",
|
|
22304
|
+
"backdrop": null,
|
|
22305
|
+
"kind": "text",
|
|
22306
|
+
"ground": "assumed",
|
|
22307
|
+
"mode": "Light",
|
|
22308
|
+
"fgHex": "#131923",
|
|
22309
|
+
"bgHex": "#f6f8f9",
|
|
22310
|
+
"ratio": 16.55,
|
|
22311
|
+
"min": 4.5
|
|
22312
|
+
},
|
|
22313
|
+
{
|
|
22314
|
+
"component": "page-header",
|
|
22315
|
+
"context": "ion-page-header ion-page-header__title",
|
|
22316
|
+
"state": "default",
|
|
22317
|
+
"fg": "--text-default",
|
|
22318
|
+
"bg": "--surface-page",
|
|
22319
|
+
"backdrop": null,
|
|
22320
|
+
"kind": "text",
|
|
22321
|
+
"ground": "assumed",
|
|
22322
|
+
"mode": "Dark",
|
|
22323
|
+
"fgHex": "#f6f8f9",
|
|
22324
|
+
"bgHex": "#131923",
|
|
22325
|
+
"ratio": 16.55,
|
|
22326
|
+
"min": 4.5
|
|
22327
|
+
},
|
|
22164
22328
|
{
|
|
22165
22329
|
"component": "progress-bar",
|
|
22166
22330
|
"context": "ion-progress-bar ion-progress-bar__label",
|
|
@@ -22402,7 +22566,7 @@
|
|
|
22402
22566
|
{
|
|
22403
22567
|
"component": "menu",
|
|
22404
22568
|
"context": "ion-menu__item--selected ion-menu__item--selected",
|
|
22405
|
-
"state": "
|
|
22569
|
+
"state": "focus",
|
|
22406
22570
|
"fg": "--icon-default",
|
|
22407
22571
|
"bg": "--surface-hover",
|
|
22408
22572
|
"backdrop": "--surface-default",
|
|
@@ -23266,6 +23430,21 @@
|
|
|
23266
23430
|
"ratio": 17.63,
|
|
23267
23431
|
"min": 3
|
|
23268
23432
|
},
|
|
23433
|
+
{
|
|
23434
|
+
"component": "page-header",
|
|
23435
|
+
"context": "ion-page-header ion-page-header__title",
|
|
23436
|
+
"state": "default",
|
|
23437
|
+
"fg": "--text-default",
|
|
23438
|
+
"bg": "--surface-default",
|
|
23439
|
+
"backdrop": null,
|
|
23440
|
+
"kind": "text",
|
|
23441
|
+
"ground": "assumed",
|
|
23442
|
+
"mode": "Light",
|
|
23443
|
+
"fgHex": "#131923",
|
|
23444
|
+
"bgHex": "#ffffff",
|
|
23445
|
+
"ratio": 17.63,
|
|
23446
|
+
"min": 4.5
|
|
23447
|
+
},
|
|
23269
23448
|
{
|
|
23270
23449
|
"component": "popover",
|
|
23271
23450
|
"context": "ion-popover ion-popover__title",
|
|
@@ -23826,6 +24005,20 @@
|
|
|
23826
24005
|
"ratio": 18.71,
|
|
23827
24006
|
"min": 3
|
|
23828
24007
|
},
|
|
24008
|
+
{
|
|
24009
|
+
"component": "menu",
|
|
24010
|
+
"context": "ion-menu ion-menu__chevron",
|
|
24011
|
+
"state": "default",
|
|
24012
|
+
"fg": "--icon-default",
|
|
24013
|
+
"bg": "--surface-default",
|
|
24014
|
+
"backdrop": "--surface-default",
|
|
24015
|
+
"kind": "non-text",
|
|
24016
|
+
"mode": "Dark",
|
|
24017
|
+
"fgHex": "#f0f2f4",
|
|
24018
|
+
"bgHex": "#000000",
|
|
24019
|
+
"ratio": 18.71,
|
|
24020
|
+
"min": 3
|
|
24021
|
+
},
|
|
23829
24022
|
{
|
|
23830
24023
|
"component": "table",
|
|
23831
24024
|
"context": "ion-table__sort--active ion-table__sort--active",
|
|
@@ -24285,6 +24478,21 @@
|
|
|
24285
24478
|
"ratio": 19.71,
|
|
24286
24479
|
"min": 3
|
|
24287
24480
|
},
|
|
24481
|
+
{
|
|
24482
|
+
"component": "page-header",
|
|
24483
|
+
"context": "ion-page-header ion-page-header__title",
|
|
24484
|
+
"state": "default",
|
|
24485
|
+
"fg": "--text-default",
|
|
24486
|
+
"bg": "--surface-default",
|
|
24487
|
+
"backdrop": null,
|
|
24488
|
+
"kind": "text",
|
|
24489
|
+
"ground": "assumed",
|
|
24490
|
+
"mode": "Dark",
|
|
24491
|
+
"fgHex": "#f6f8f9",
|
|
24492
|
+
"bgHex": "#000000",
|
|
24493
|
+
"ratio": 19.71,
|
|
24494
|
+
"min": 4.5
|
|
24495
|
+
},
|
|
24288
24496
|
{
|
|
24289
24497
|
"component": "progress-bar",
|
|
24290
24498
|
"context": "ion-progress-bar ion-progress-bar__label",
|
package/dist/meta/index.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"package": "ionbase-ui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.84.0",
|
|
4
4
|
"usage": "Pick a component here, then read dist/meta/<Name>.json for its full contract.",
|
|
5
5
|
"hooks": [
|
|
6
6
|
"useAgentRun",
|
|
@@ -550,19 +550,40 @@
|
|
|
550
550
|
"hasIntent": true
|
|
551
551
|
},
|
|
552
552
|
"Menu": {
|
|
553
|
-
"summary": "
|
|
553
|
+
"summary": "An ARIA menu: one tab stop, arrow keys, typeahead, and optional single or multiple selection. Children are MenuItem and MenuSection. Inside a MenuTrigger it floats, opens and closes, and can open submenus; on its own it renders in flow.",
|
|
554
554
|
"status": "stable",
|
|
555
555
|
"variants": {},
|
|
556
556
|
"detail": "dist/meta/Menu.json",
|
|
557
557
|
"hasIntent": true
|
|
558
558
|
},
|
|
559
559
|
"MenuItem": {
|
|
560
|
-
"summary": "One row
|
|
560
|
+
"summary": "One row of a Menu. A collection element: Menu reads its props and draws the row as `menuitem`, `menuitemradio` or `menuitemcheckbox`.",
|
|
561
561
|
"status": "stable",
|
|
562
562
|
"variants": {},
|
|
563
563
|
"detail": "dist/meta/MenuItem.json",
|
|
564
564
|
"hasIntent": true
|
|
565
565
|
},
|
|
566
|
+
"MenuSection": {
|
|
567
|
+
"summary": "A named group of MenuItems. Re-exported from react-stately's collection Section — `title` is Figma's Menu Section Title.",
|
|
568
|
+
"status": "stable",
|
|
569
|
+
"variants": {},
|
|
570
|
+
"detail": "dist/meta/MenuSection.json",
|
|
571
|
+
"hasIntent": true
|
|
572
|
+
},
|
|
573
|
+
"MenuTrigger": {
|
|
574
|
+
"summary": "A Button that opens a Menu. The \"⋯\" overflow menu is this with an icon-only Button. Owns open state, positioning, focus, and the ARIA link between the two.",
|
|
575
|
+
"status": "stable",
|
|
576
|
+
"variants": {
|
|
577
|
+
"placement": [
|
|
578
|
+
"bottom start",
|
|
579
|
+
"bottom end",
|
|
580
|
+
"top start",
|
|
581
|
+
"top end"
|
|
582
|
+
]
|
|
583
|
+
},
|
|
584
|
+
"detail": "dist/meta/MenuTrigger.json",
|
|
585
|
+
"hasIntent": true
|
|
586
|
+
},
|
|
566
587
|
"Modal": {
|
|
567
588
|
"summary": "A focus-trapping dialog. Renders nothing when closed and portals when open.",
|
|
568
589
|
"status": "stable",
|
|
@@ -601,6 +622,13 @@
|
|
|
601
622
|
"detail": "dist/meta/NumberInput.json",
|
|
602
623
|
"hasIntent": true
|
|
603
624
|
},
|
|
625
|
+
"PageHeader": {
|
|
626
|
+
"summary": "The top of a page: breadcrumb, the page's h1, a description, the record's status, and the page's actions. Not a landmark — main is, named by this title.",
|
|
627
|
+
"status": "stable",
|
|
628
|
+
"variants": {},
|
|
629
|
+
"detail": "dist/meta/PageHeader.json",
|
|
630
|
+
"hasIntent": true
|
|
631
|
+
},
|
|
604
632
|
"Pagination": {
|
|
605
633
|
"summary": "Page navigation for a table or list. Renders prev/next arrows, a truncated run of page numbers, and an optional rows-per-page Select.",
|
|
606
634
|
"status": "stable",
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
"Logo",
|
|
15
15
|
"LogoMark",
|
|
16
16
|
"Avatar",
|
|
17
|
+
"PageHeader",
|
|
17
18
|
"Button",
|
|
18
19
|
"Divider",
|
|
19
20
|
"ToastProvider",
|
|
@@ -22,15 +23,15 @@
|
|
|
22
23
|
],
|
|
23
24
|
"structure": [
|
|
24
25
|
"Header at the top with the brand in `brand`, primary navigation in `center` and account actions in `end`.",
|
|
25
|
-
"One <main> content region, named
|
|
26
|
+
"One <main> content region, named by the page's PageHeader: pass PageHeader a `titleId` and point <main aria-labelledby> at it. The PageHeader's title is the page's h1.",
|
|
26
27
|
"ToastProvider mounted once around the whole shell, not per route.",
|
|
27
|
-
"Breadcrumbs, when present,
|
|
28
|
+
"Breadcrumbs, when present, go in PageHeader's `breadcrumb` slot, inside <main> above the h1 — they describe where the content is, not where the chrome is.",
|
|
28
29
|
"When navigation is hierarchical or longer than a header row holds, a Sidebar replaces the NavItems in Header's `center`: Header keeps the brand and account actions, and the Sidebar sits beside <main> as the primary navigation. Below the tablet breakpoint the same Sidebar moves into a Drawer opened by Header's own toggle with `menuType=\"dialog\"` — one copy, not two, and one menu button.",
|
|
29
30
|
"A CommandPalette, when the product has one, is mounted once inside the shell beside ToastProvider, not per route. Header's `end` carries a Search button showing <Kbd shortcut=\"mod+k\" /> — the visible door for anyone who does not know the shortcut, and the only one on a phone. Everything in the palette is also reachable from the navigation."
|
|
30
31
|
],
|
|
31
32
|
"states": {
|
|
32
33
|
"loading": {
|
|
33
|
-
"must": "Render the shell immediately and load only
|
|
34
|
+
"must": "Render the shell and the PageHeader immediately and load only what is beneath it. Never block the header on the page's data; when the title itself is data (a record's name), show the route's generic name until it arrives.",
|
|
34
35
|
"why": "the navigation is what a user reaches for when a page is slow; hiding it makes a slow page feel like a broken one"
|
|
35
36
|
},
|
|
36
37
|
"empty": {
|
|
@@ -38,7 +39,7 @@
|
|
|
38
39
|
"why": "a blank content region with working chrome reads as a failed load"
|
|
39
40
|
},
|
|
40
41
|
"error": {
|
|
41
|
-
"must": "Keep the shell. Put the error inside <main
|
|
42
|
+
"must": "Keep the shell and the PageHeader. Put the error beneath the header inside <main>, with a retry and a way back to somewhere that works.",
|
|
42
43
|
"why": "a full-page error strands the user with no navigation, so their only option is the browser's back button"
|
|
43
44
|
}
|
|
44
45
|
},
|
|
@@ -102,6 +103,14 @@
|
|
|
102
103
|
],
|
|
103
104
|
"Kbd": [
|
|
104
105
|
"shortcut"
|
|
106
|
+
],
|
|
107
|
+
"PageHeader": [
|
|
108
|
+
"title",
|
|
109
|
+
"titleId",
|
|
110
|
+
"description",
|
|
111
|
+
"breadcrumb",
|
|
112
|
+
"status",
|
|
113
|
+
"actions"
|
|
105
114
|
]
|
|
106
115
|
},
|
|
107
116
|
"variantsUsed": {
|
|
@@ -120,7 +129,7 @@
|
|
|
120
129
|
"requires": [
|
|
121
130
|
"`menuLabel` on Header — the mobile toggle is icon-only",
|
|
122
131
|
"a <nav> with its own accessible name wrapping the NavItems; Header supplies the banner landmark, not the navigation one",
|
|
123
|
-
"exactly one <main>, and exactly one h1 inside it",
|
|
132
|
+
"exactly one <main>, and exactly one h1 inside it — the PageHeader's title",
|
|
124
133
|
"`aria-current=\"page\"` on the NavItem for the current route — colour alone does not tell a screen-reader user where they are",
|
|
125
134
|
"with a Sidebar, `isCurrent` on the SidebarItem for the current route, and a Sidebar `label` distinct from any other nav on the page"
|
|
126
135
|
],
|
|
@@ -144,6 +153,10 @@
|
|
|
144
153
|
{
|
|
145
154
|
"dont": "rendering a second nav for mobile",
|
|
146
155
|
"why": "Header moves the one copy, and two copies duplicate every link in the accessibility tree"
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
"dont": "a hand-built title block instead of PageHeader",
|
|
159
|
+
"why": "the demo had five, in three shapes, with actions aligned three ways; PageHeader is the one shape, and the one place its gaps and alignment are decided"
|
|
147
160
|
}
|
|
148
161
|
]
|
|
149
162
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"package": "ionbase-ui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.84.0",
|
|
4
4
|
"usage": "A pattern is a documented composition of components, not a component. Read one here, then read the contracts of what it composes.",
|
|
5
5
|
"patterns": {
|
|
6
6
|
"AgentRun": {
|
|
@@ -137,6 +137,7 @@
|
|
|
137
137
|
"Logo",
|
|
138
138
|
"LogoMark",
|
|
139
139
|
"Avatar",
|
|
140
|
+
"PageHeader",
|
|
140
141
|
"Button",
|
|
141
142
|
"Divider",
|
|
142
143
|
"ToastProvider",
|
package/dist/styles/index.css
CHANGED