@slotted/styles 0.0.0-stage → 0.1.0-beta.1
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/LICENSE +21 -0
- package/README.md +10 -2
- package/package.json +276 -3
- package/src/accordion/accordion.css +96 -0
- package/src/accordion/accordion.tokens.json +14 -0
- package/src/action-bar/action-bar.css +455 -0
- package/src/action-bar/action-bar.tokens.json +50 -0
- package/src/action-sheet/action-sheet.css +462 -0
- package/src/action-sheet/action-sheet.tokens.json +59 -0
- package/src/alert/alert.css +764 -0
- package/src/alert/alert.tokens.json +77 -0
- package/src/app-shell/app-shell.css +1899 -0
- package/src/app-shell/app-shell.tokens.json +88 -0
- package/src/aspect-ratio/aspect-ratio.css +131 -0
- package/src/aspect-ratio/aspect-ratio.tokens.json +1 -0
- package/src/attachment/attachment.css +906 -0
- package/src/attachment/attachment.tokens.json +85 -0
- package/src/avatar/avatar.css +598 -0
- package/src/avatar/avatar.tokens.json +64 -0
- package/src/avatar-group/avatar-group.css +268 -0
- package/src/avatar-group/avatar-group.tokens.json +16 -0
- package/src/badge/badge.css +462 -0
- package/src/badge/badge.tokens.json +58 -0
- package/src/breadcrumb/breadcrumb.css +441 -0
- package/src/breadcrumb/breadcrumb.tokens.json +50 -0
- package/src/button/button.css +754 -0
- package/src/button/button.tokens.json +72 -0
- package/src/button-group/button-group.css +455 -0
- package/src/button-group/button-group.tokens.json +11 -0
- package/src/calendar/calendar.css +846 -0
- package/src/calendar/calendar.tokens.json +67 -0
- package/src/card/card.css +602 -0
- package/src/card/card.tokens.json +68 -0
- package/src/carousel/carousel.css +860 -0
- package/src/carousel/carousel.tokens.json +62 -0
- package/src/cascader/cascader.css +1320 -0
- package/src/cascader/cascader.tokens.json +103 -0
- package/src/chart/chart.css +1473 -0
- package/src/chart/chart.tokens.json +107 -0
- package/src/checkbox/checkbox.css +1011 -0
- package/src/checkbox/checkbox.tokens.json +102 -0
- package/src/checkbox-group/checkbox-group.css +70 -0
- package/src/checkbox-group/checkbox-group.tokens.json +6 -0
- package/src/code-block/code-block.css +555 -0
- package/src/code-block/code-block.tokens.json +69 -0
- package/src/collapsible/collapsible.css +546 -0
- package/src/collapsible/collapsible.tokens.json +55 -0
- package/src/color-picker/color-picker.css +607 -0
- package/src/color-picker/color-picker.tokens.json +58 -0
- package/src/column-manager/column-manager.css +452 -0
- package/src/column-manager/column-manager.tokens.json +43 -0
- package/src/combobox/combobox.css +1048 -0
- package/src/combobox/combobox.tokens.json +112 -0
- package/src/command-palette/command-palette.css +1000 -0
- package/src/command-palette/command-palette.tokens.json +75 -0
- package/src/container/container.css +198 -0
- package/src/container/container.tokens.json +18 -0
- package/src/context-menu/context-menu.css +104 -0
- package/src/context-menu/context-menu.tokens.json +11 -0
- package/src/currency-field/currency-field.css +787 -0
- package/src/currency-field/currency-field.tokens.json +80 -0
- package/src/dashboard-grid/dashboard-grid.css +748 -0
- package/src/dashboard-grid/dashboard-grid.tokens.json +67 -0
- package/src/data-grid/data-grid.css +2484 -0
- package/src/data-grid/data-grid.tokens.json +100 -0
- package/src/data-list/data-list.css +455 -0
- package/src/data-list/data-list.tokens.json +35 -0
- package/src/date-field/date-field.css +560 -0
- package/src/date-field/date-field.tokens.json +80 -0
- package/src/date-picker/date-picker.css +420 -0
- package/src/date-picker/date-picker.tokens.json +49 -0
- package/src/date-range-picker/date-range-picker.css +983 -0
- package/src/date-range-picker/date-range-picker.tokens.json +109 -0
- package/src/datetime-field/datetime-field.css +850 -0
- package/src/datetime-field/datetime-field.tokens.json +91 -0
- package/src/datetime-picker/datetime-picker.css +843 -0
- package/src/datetime-picker/datetime-picker.tokens.json +78 -0
- package/src/datetime-range-picker/datetime-range-picker.css +1375 -0
- package/src/datetime-range-picker/datetime-range-picker.tokens.json +135 -0
- package/src/description-list/description-list.css +675 -0
- package/src/description-list/description-list.tokens.json +66 -0
- package/src/detail-panel/detail-panel.css +329 -0
- package/src/detail-panel/detail-panel.tokens.json +33 -0
- package/src/dialog/dialog.css +968 -0
- package/src/dialog/dialog.tokens.json +66 -0
- package/src/divider/divider.css +131 -0
- package/src/divider/divider.tokens.json +18 -0
- package/src/drawer/drawer.css +1303 -0
- package/src/drawer/drawer.tokens.json +75 -0
- package/src/entity-picker/entity-picker.css +1367 -0
- package/src/entity-picker/entity-picker.tokens.json +118 -0
- package/src/event-calendar/event-calendar.css +2148 -0
- package/src/event-calendar/event-calendar.tokens.json +87 -0
- package/src/field/field.css +707 -0
- package/src/field/field.tokens.json +58 -0
- package/src/field-group/field-group.css +226 -0
- package/src/field-group/field-group.tokens.json +33 -0
- package/src/filter-bar/filter-bar.css +1306 -0
- package/src/filter-bar/filter-bar.tokens.json +78 -0
- package/src/form/form.css +218 -0
- package/src/form/form.tokens.json +32 -0
- package/src/fullscreen/fullscreen.css +376 -0
- package/src/fullscreen/fullscreen.tokens.json +50 -0
- package/src/grid/grid.css +173 -0
- package/src/grid/grid.tokens.json +20 -0
- package/src/highlight/highlight.css +135 -0
- package/src/highlight/highlight.tokens.json +16 -0
- package/src/hover-card/hover-card.css +93 -0
- package/src/hover-card/hover-card.tokens.json +17 -0
- package/src/icon/icon.css +136 -0
- package/src/icon/icon.tokens.json +14 -0
- package/src/image/image.css +449 -0
- package/src/image/image.tokens.json +27 -0
- package/src/import-export-center/import-export-center.css +1175 -0
- package/src/import-export-center/import-export-center.tokens.json +84 -0
- package/src/inline/inline.css +149 -0
- package/src/inline/inline.tokens.json +14 -0
- package/src/inline-message/inline-message.css +396 -0
- package/src/inline-message/inline-message.tokens.json +19 -0
- package/src/kbd/kbd.css +490 -0
- package/src/kbd/kbd.tokens.json +40 -0
- package/src/link/link.css +237 -0
- package/src/link/link.tokens.json +25 -0
- package/src/list/list.css +240 -0
- package/src/list/list.tokens.json +42 -0
- package/src/list-item/list-item.css +937 -0
- package/src/list-item/list-item.tokens.json +114 -0
- package/src/listbox/listbox.css +674 -0
- package/src/listbox/listbox.tokens.json +72 -0
- package/src/loading-overlay/loading-overlay.css +730 -0
- package/src/loading-overlay/loading-overlay.tokens.json +48 -0
- package/src/markdown/markdown.css +168 -0
- package/src/markdown/markdown.tokens.json +18 -0
- package/src/menu/menu.css +817 -0
- package/src/menu/menu.tokens.json +78 -0
- package/src/menubar/menubar.css +170 -0
- package/src/menubar/menubar.tokens.json +32 -0
- package/src/message/message.css +1453 -0
- package/src/message/message.tokens.json +85 -0
- package/src/message-scroller/message-scroller.css +371 -0
- package/src/message-scroller/message-scroller.tokens.json +47 -0
- package/src/multi-select/multi-select.css +1427 -0
- package/src/multi-select/multi-select.tokens.json +114 -0
- package/src/navigation-menu/navigation-menu.css +1029 -0
- package/src/navigation-menu/navigation-menu.tokens.json +70 -0
- package/src/notification-center/notification-center.css +856 -0
- package/src/notification-center/notification-center.tokens.json +84 -0
- package/src/number-field/number-field.css +794 -0
- package/src/number-field/number-field.tokens.json +80 -0
- package/src/otp-input/otp-input.css +525 -0
- package/src/otp-input/otp-input.tokens.json +69 -0
- package/src/page/page.css +179 -0
- package/src/page/page.tokens.json +20 -0
- package/src/page-header/page-header.css +1181 -0
- package/src/page-header/page-header.tokens.json +71 -0
- package/src/pagination/pagination.css +500 -0
- package/src/pagination/pagination.tokens.json +56 -0
- package/src/popover/popover.css +526 -0
- package/src/popover/popover.tokens.json +60 -0
- package/src/progress-indicator/progress-indicator.css +1584 -0
- package/src/progress-indicator/progress-indicator.tokens.json +50 -0
- package/src/prompt-composer/prompt-composer.css +680 -0
- package/src/prompt-composer/prompt-composer.tokens.json +99 -0
- package/src/prose/prose.css +733 -0
- package/src/prose/prose.tokens.json +79 -0
- package/src/radio-group/radio-group.css +778 -0
- package/src/radio-group/radio-group.tokens.json +103 -0
- package/src/rating/rating.css +1071 -0
- package/src/rating/rating.tokens.json +88 -0
- package/src/result-state/result-state.css +980 -0
- package/src/result-state/result-state.tokens.json +63 -0
- package/src/runtime-properties.mjs +321 -0
- package/src/saved-views/saved-views.css +394 -0
- package/src/saved-views/saved-views.tokens.json +41 -0
- package/src/scroll-area/scroll-area.css +481 -0
- package/src/scroll-area/scroll-area.tokens.json +15 -0
- package/src/section/section.css +177 -0
- package/src/section/section.tokens.json +39 -0
- package/src/segmented-control/segmented-control.css +564 -0
- package/src/segmented-control/segmented-control.tokens.json +67 -0
- package/src/select/select.css +1593 -0
- package/src/select/select.tokens.json +110 -0
- package/src/side-navigation/side-navigation.css +1096 -0
- package/src/side-navigation/side-navigation.tokens.json +87 -0
- package/src/skeleton/skeleton.css +431 -0
- package/src/skeleton/skeleton.tokens.json +29 -0
- package/src/slider/slider.css +792 -0
- package/src/slider/slider.tokens.json +75 -0
- package/src/sparkline/sparkline.css +282 -0
- package/src/sparkline/sparkline.tokens.json +45 -0
- package/src/spinner/spinner.css +224 -0
- package/src/spinner/spinner.tokens.json +8 -0
- package/src/split-button/split-button.css +253 -0
- package/src/split-button/split-button.tokens.json +12 -0
- package/src/splitter/splitter.css +336 -0
- package/src/splitter/splitter.tokens.json +24 -0
- package/src/stack/stack.css +128 -0
- package/src/stack/stack.tokens.json +14 -0
- package/src/stat-card/stat-card.css +641 -0
- package/src/stat-card/stat-card.tokens.json +95 -0
- package/src/status-indicator/status-indicator.css +481 -0
- package/src/status-indicator/status-indicator.tokens.json +38 -0
- package/src/stepper/stepper.css +629 -0
- package/src/stepper/stepper.tokens.json +72 -0
- package/src/switch/switch.css +703 -0
- package/src/switch/switch.tokens.json +75 -0
- package/src/table/table.css +1482 -0
- package/src/table/table.tokens.json +69 -0
- package/src/table-of-contents/table-of-contents.css +533 -0
- package/src/table-of-contents/table-of-contents.tokens.json +53 -0
- package/src/tabs/tabs.css +998 -0
- package/src/tabs/tabs.tokens.json +82 -0
- package/src/tag/tag.css +768 -0
- package/src/tag/tag.tokens.json +85 -0
- package/src/tags-input/tags-input.css +757 -0
- package/src/tags-input/tags-input.tokens.json +84 -0
- package/src/text-field/text-field.css +900 -0
- package/src/text-field/text-field.tokens.json +87 -0
- package/src/textarea/textarea.css +365 -0
- package/src/textarea/textarea.tokens.json +59 -0
- package/src/time-field/time-field.css +719 -0
- package/src/time-field/time-field.tokens.json +86 -0
- package/src/time-picker/time-picker.css +665 -0
- package/src/time-picker/time-picker.tokens.json +66 -0
- package/src/time-range-picker/time-range-picker.css +1287 -0
- package/src/time-range-picker/time-range-picker.tokens.json +134 -0
- package/src/timeline/timeline.css +1596 -0
- package/src/timeline/timeline.tokens.json +96 -0
- package/src/toast/toast.css +943 -0
- package/src/toast/toast.tokens.json +90 -0
- package/src/toggle/toggle.css +290 -0
- package/src/toggle/toggle.tokens.json +54 -0
- package/src/toggle-group/toggle-group.css +463 -0
- package/src/toggle-group/toggle-group.tokens.json +54 -0
- package/src/toolbar/toolbar.css +434 -0
- package/src/toolbar/toolbar.tokens.json +49 -0
- package/src/tooltip/tooltip.css +368 -0
- package/src/tooltip/tooltip.tokens.json +39 -0
- package/src/top-navigation/top-navigation.css +1287 -0
- package/src/top-navigation/top-navigation.tokens.json +91 -0
- package/src/tour/tour.css +680 -0
- package/src/tour/tour.tokens.json +67 -0
- package/src/transfer/transfer.css +571 -0
- package/src/transfer/transfer.tokens.json +49 -0
- package/src/tree/tree.css +1000 -0
- package/src/tree/tree.tokens.json +80 -0
- package/src/typography/typography.css +211 -0
- package/src/typography/typography.tokens.json +31 -0
- package/src/upload/upload.css +1706 -0
- package/src/upload/upload.tokens.json +123 -0
- package/src/visually-hidden/visually-hidden.css +52 -0
- package/src/visually-hidden/visually-hidden.tokens.json +1 -0
- package/src/wizard/wizard.css +740 -0
- package/src/wizard/wizard.tokens.json +63 -0
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
[
|
|
2
|
+
"--slotted-border-strong",
|
|
3
|
+
"--slotted-border-subtle",
|
|
4
|
+
"--slotted-border-width-thin",
|
|
5
|
+
"--slotted-control-height-lg",
|
|
6
|
+
"--slotted-control-height-md",
|
|
7
|
+
"--slotted-control-height-sm",
|
|
8
|
+
"--slotted-control-icon-size-lg",
|
|
9
|
+
"--slotted-control-icon-size-md",
|
|
10
|
+
"--slotted-duration-long",
|
|
11
|
+
"--slotted-duration-medium",
|
|
12
|
+
"--slotted-duration-short",
|
|
13
|
+
"--slotted-easing-enter",
|
|
14
|
+
"--slotted-easing-exit",
|
|
15
|
+
"--slotted-focus-ring-color",
|
|
16
|
+
"--slotted-focus-ring-offset",
|
|
17
|
+
"--slotted-focus-ring-width",
|
|
18
|
+
"--slotted-font-family-heading",
|
|
19
|
+
"--slotted-font-family-sans",
|
|
20
|
+
"--slotted-font-size-3xl",
|
|
21
|
+
"--slotted-font-size-lg",
|
|
22
|
+
"--slotted-font-size-md",
|
|
23
|
+
"--slotted-font-size-sm",
|
|
24
|
+
"--slotted-font-size-xl",
|
|
25
|
+
"--slotted-font-size-xs",
|
|
26
|
+
"--slotted-font-weight-semibold",
|
|
27
|
+
"--slotted-line-height-3xl",
|
|
28
|
+
"--slotted-line-height-md",
|
|
29
|
+
"--slotted-line-height-sm",
|
|
30
|
+
"--slotted-line-height-xl",
|
|
31
|
+
"--slotted-radius-lg",
|
|
32
|
+
"--slotted-radius-sm",
|
|
33
|
+
"--slotted-result-state-actions-block-gap",
|
|
34
|
+
"--slotted-result-state-actions-gap",
|
|
35
|
+
"--slotted-result-state-column-gap",
|
|
36
|
+
"--slotted-result-state-description-font-size",
|
|
37
|
+
"--slotted-result-state-font-family",
|
|
38
|
+
"--slotted-result-state-media",
|
|
39
|
+
"--slotted-result-state-media-size",
|
|
40
|
+
"--slotted-result-state-padding-block",
|
|
41
|
+
"--slotted-result-state-padding-inline",
|
|
42
|
+
"--slotted-result-state-row-gap",
|
|
43
|
+
"--slotted-result-state-text-gap",
|
|
44
|
+
"--slotted-result-state-title-font-family",
|
|
45
|
+
"--slotted-result-state-title-font-size",
|
|
46
|
+
"--slotted-result-state-title-font-weight",
|
|
47
|
+
"--slotted-result-state-title-letter-spacing",
|
|
48
|
+
"--slotted-shadow-sm",
|
|
49
|
+
"--slotted-shadow-xs",
|
|
50
|
+
"--slotted-space-11",
|
|
51
|
+
"--slotted-space-12",
|
|
52
|
+
"--slotted-space-2",
|
|
53
|
+
"--slotted-space-3",
|
|
54
|
+
"--slotted-space-4",
|
|
55
|
+
"--slotted-space-5",
|
|
56
|
+
"--slotted-space-6",
|
|
57
|
+
"--slotted-space-8",
|
|
58
|
+
"--slotted-space-9",
|
|
59
|
+
"--slotted-surface-raised",
|
|
60
|
+
"--slotted-surface-sunken",
|
|
61
|
+
"--slotted-text",
|
|
62
|
+
"--slotted-text-muted"
|
|
63
|
+
]
|
|
@@ -0,0 +1,321 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Custom properties a stylesheet reads and no theme writes.
|
|
3
|
+
*
|
|
4
|
+
* `docs/build-briefing.md` records the decision under _Decisions already
|
|
5
|
+
* taken_: "A value a stylesheet needs and only script can measure is a custom
|
|
6
|
+
* property under the name that says so." The overlay infrastructure writes
|
|
7
|
+
* these from `packages/core` at runtime — where the anchor is, how much room is
|
|
8
|
+
* left, where the arrow ended up, how deep in the layer stack a layer sits.
|
|
9
|
+
*
|
|
10
|
+
* They are not design tokens. They are absent from
|
|
11
|
+
* `packages/theme/src/contract.json`, they have no foundation fallback because
|
|
12
|
+
* no foundation value could answer "where is the arrow", and a reference page
|
|
13
|
+
* that printed them under "Theme-owned decisions" would be telling a consumer
|
|
14
|
+
* to retune something no theme can reach.
|
|
15
|
+
*
|
|
16
|
+
* `tokens.test.mjs` subtracts them before comparing a stylesheet to its
|
|
17
|
+
* `tokens.json`, which is the whole reason this list is shared rather than
|
|
18
|
+
* inlined there: the next family that meets one should find the reason written.
|
|
19
|
+
*/
|
|
20
|
+
export const RUNTIME_PROPERTY_PREFIXES = [
|
|
21
|
+
/** `packages/core/src/positioner` — the anchor's size, the space left, the transform origin, the arrow. */
|
|
22
|
+
'--slotted-positioner-',
|
|
23
|
+
/** `packages/core/src/dismissable-layer` — this layer's position in the single stack. */
|
|
24
|
+
'--slotted-layer-depth',
|
|
25
|
+
/**
|
|
26
|
+
* `packages/core/src/toast` — how far a message is from the front of the
|
|
27
|
+
* stack, how many are visible, how tall each one is and how much room the
|
|
28
|
+
* ones in front of it take, how long this one was given, whether the timers
|
|
29
|
+
* are running, and how far the pointer has taken a message it is dragging
|
|
30
|
+
* away.
|
|
31
|
+
*
|
|
32
|
+
* Two of them are the ones that look like something else and are not.
|
|
33
|
+
* `--slotted-toast-duration` looks like a motion token: it is the time *this
|
|
34
|
+
* message* was given, stated per message, which no theme can know, and the
|
|
35
|
+
* remaining-time bar reads it so the picture and the timer are one number.
|
|
36
|
+
* `--slotted-toast-height` looks like a size token: it is the height this
|
|
37
|
+
* message turned out to be, measured, and it is what lets a collapsed pile
|
|
38
|
+
* open into a readable column instead of snapping into one.
|
|
39
|
+
*
|
|
40
|
+
* They are named one by one rather than by a `--slotted-toast-` prefix,
|
|
41
|
+
* because the family also owns theme tokens under that prefix — its measure,
|
|
42
|
+
* its offset, its gap — and a prefix would file every one of them as a value
|
|
43
|
+
* no theme can retune.
|
|
44
|
+
*/
|
|
45
|
+
'--slotted-toast-count',
|
|
46
|
+
'--slotted-toast-duration',
|
|
47
|
+
'--slotted-toast-front-height',
|
|
48
|
+
'--slotted-toast-height',
|
|
49
|
+
'--slotted-toast-index',
|
|
50
|
+
'--slotted-toast-play-state',
|
|
51
|
+
'--slotted-toast-stack-height',
|
|
52
|
+
'--slotted-toast-stack-offset',
|
|
53
|
+
'--slotted-toast-swipe-x',
|
|
54
|
+
'--slotted-toast-swipe-y',
|
|
55
|
+
/**
|
|
56
|
+
* `page-header` and `page` — the geometry of the chrome that stays while the
|
|
57
|
+
* page scrolls. `--slotted-page-header-collapse` is the measured height of
|
|
58
|
+
* the header area, which is the root's negative sticky offset: the first
|
|
59
|
+
* that many pixels leave the scrollport and the title area stays.
|
|
60
|
+
* `--slotted-page-sticky-top` is the height of everything that stays at the
|
|
61
|
+
* top, and `--slotted-page-sticky-bottom` the height of the footer, both
|
|
62
|
+
* written on the scroll container so a section's sticky header, a table's
|
|
63
|
+
* sticky column header and a consumer's own sticky element inside the page
|
|
64
|
+
* can stop under the chrome rather than behind it. No
|
|
65
|
+
* theme can know any of the three: they are what the header turned out to
|
|
66
|
+
* be, measured.
|
|
67
|
+
*/
|
|
68
|
+
'--slotted-page-header-collapse',
|
|
69
|
+
'--slotted-page-sticky-top',
|
|
70
|
+
'--slotted-page-sticky-bottom',
|
|
71
|
+
/**
|
|
72
|
+
* `section` — the measured height of a sticky section's header, written on
|
|
73
|
+
* the section's root so the body can republish `--slotted-page-sticky-top`
|
|
74
|
+
* as page plus header for everything under it.
|
|
75
|
+
*/
|
|
76
|
+
'--slotted-section-header-size',
|
|
77
|
+
/**
|
|
78
|
+
* `tree` — how deep in the hierarchy one node sits. The stylesheet multiplies
|
|
79
|
+
* it by the indent step to inset the row, and no theme can know it: it is a
|
|
80
|
+
* fact about the consumer's data, stated per node, in the same category as
|
|
81
|
+
* the measured values above rather than in the category of a value a theme
|
|
82
|
+
* retunes. The step itself is `--slotted-tree-indent`, which is a token and
|
|
83
|
+
* is in the contract.
|
|
84
|
+
*
|
|
85
|
+
* It is named on its own rather than by a `--slotted-tree-` prefix, because
|
|
86
|
+
* the family owns fifteen theme tokens under that prefix and a prefix would
|
|
87
|
+
* file every one of them as unreachable by a theme.
|
|
88
|
+
*/
|
|
89
|
+
'--slotted-tree-depth',
|
|
90
|
+
/**
|
|
91
|
+
* `tree` — where one row sits on a windowed canvas, in pixels. It is written
|
|
92
|
+
* only on a row the window does not cover and the family renders anyway: the
|
|
93
|
+
* active node, and the anchor a range is measured from. The number is the
|
|
94
|
+
* product of a measured viewport and a scroll position, so no theme can hold
|
|
95
|
+
* it, and a row without it is a row in flow that does not read it.
|
|
96
|
+
*/
|
|
97
|
+
'--slotted-tree-row-offset',
|
|
98
|
+
/**
|
|
99
|
+
* `segmented-control` — how many segments the track holds, and which of them
|
|
100
|
+
* is checked. The thumb is one column wide and moves by its own width times
|
|
101
|
+
* the index, so the two numbers are the whole of its geometry and no theme
|
|
102
|
+
* can hold either: they are facts about this consumer's options, stated per
|
|
103
|
+
* instance.
|
|
104
|
+
*
|
|
105
|
+
* They are the first runtime properties in the library that are not
|
|
106
|
+
* measured. An index and a count are known while the markup is being
|
|
107
|
+
* written, which is the point of them — Mantine and Ark both measure the
|
|
108
|
+
* checked node instead, and paint the thumb in the wrong place until
|
|
109
|
+
* hydration.
|
|
110
|
+
*
|
|
111
|
+
* Named one by one rather than by a `--slotted-segmented-control-` prefix,
|
|
112
|
+
* because the family owns theme tokens under that prefix — its inset, its
|
|
113
|
+
* radius, its grounds — and a prefix would file every one of them as a value
|
|
114
|
+
* no theme can retune.
|
|
115
|
+
*/
|
|
116
|
+
'--slotted-segmented-control-count',
|
|
117
|
+
'--slotted-segmented-control-index',
|
|
118
|
+
/**
|
|
119
|
+
* `data-grid` — the geometry only the binding knows. The template is one
|
|
120
|
+
* track per visible column in the state's order, at the widths the reader
|
|
121
|
+
* left them; the column index places a cell in it explicitly, because with
|
|
122
|
+
* column virtualisation the cells that are not there would move the ones
|
|
123
|
+
* that are; the pin offset is the summed width of the pinned columns
|
|
124
|
+
* before this one; the level is how deep a group row sits; the drop
|
|
125
|
+
* offset is where the reorder indicator stands; the window start and total
|
|
126
|
+
* are the virtualiser's offset of the first mounted row and the height of
|
|
127
|
+
* every row; the leading width is the gutters' sum, where a row's pop-in
|
|
128
|
+
* starts. None of them is a value a theme can hold.
|
|
129
|
+
*
|
|
130
|
+
* Named one by one rather than by a `--slotted-data-grid-` prefix, because
|
|
131
|
+
* the family owns theme tokens under that prefix — its row height, its
|
|
132
|
+
* grounds, its radius — and a prefix would file every one of them as a
|
|
133
|
+
* value no theme can retune.
|
|
134
|
+
*/
|
|
135
|
+
'--slotted-data-grid-template',
|
|
136
|
+
'--slotted-data-grid-column',
|
|
137
|
+
'--slotted-data-grid-pin-offset',
|
|
138
|
+
'--slotted-data-grid-level',
|
|
139
|
+
'--slotted-data-grid-drop-offset',
|
|
140
|
+
'--slotted-data-grid-drop-scroll',
|
|
141
|
+
'--slotted-data-grid-changed-duration',
|
|
142
|
+
'--slotted-data-grid-pinned-top-offset',
|
|
143
|
+
'--slotted-data-grid-pinned-bottom-offset',
|
|
144
|
+
'--slotted-data-grid-window-start',
|
|
145
|
+
'--slotted-data-grid-window-total',
|
|
146
|
+
/** The measured body row height, which the skeleton rows take while the rows load. */
|
|
147
|
+
'--slotted-data-grid-loader-row-size',
|
|
148
|
+
'--slotted-data-grid-leading',
|
|
149
|
+
/**
|
|
150
|
+
* `upload` — how many rows of the file list are shown before the rest is
|
|
151
|
+
* scrolled to. It is `maxRows`, stated per instance, and no theme can hold
|
|
152
|
+
* it: a form that takes one avatar and a page that takes a folder of four
|
|
153
|
+
* hundred invoices want different numbers from the same theme: it is a fact
|
|
154
|
+
* about this consumer's data rather than a value a theme retunes.
|
|
155
|
+
*
|
|
156
|
+
* `maxRows: 0` means no bound, and the binding says so by writing the file
|
|
157
|
+
* count rather than a second property: a cap that is the content's own
|
|
158
|
+
* height is a cap nothing reaches.
|
|
159
|
+
*
|
|
160
|
+
* Named on its own rather than by a `--slotted-upload-` prefix, because the
|
|
161
|
+
* family owns thirty-three theme tokens under that prefix and a prefix would
|
|
162
|
+
* file every one of them as unreachable by a theme.
|
|
163
|
+
*/
|
|
164
|
+
'--slotted-upload-visible-rows',
|
|
165
|
+
/**
|
|
166
|
+
* `code-block` — four facts about the content, written by the binding: how
|
|
167
|
+
* many digits the last line number has, so the gutter is measured in
|
|
168
|
+
* characters; the leading whitespace of a line, so a wrapped continuation
|
|
169
|
+
* keeps the code's own indent; the line the block collapses after; and the
|
|
170
|
+
* line it scrolls past. No theme can know any of them. Named one by one
|
|
171
|
+
* rather than by a prefix, for the reason `tree-depth` is: the family owns
|
|
172
|
+
* theme tokens under `--slotted-code-block-`.
|
|
173
|
+
*/
|
|
174
|
+
'--slotted-code-block-digits',
|
|
175
|
+
'--slotted-code-block-indent',
|
|
176
|
+
'--slotted-code-block-collapse',
|
|
177
|
+
'--slotted-code-block-max-lines',
|
|
178
|
+
/**
|
|
179
|
+
* `chart` — where the point the reader is on sits, in the engine's pixels,
|
|
180
|
+
* and the band of its category. The crosshair, the marker and the tooltip
|
|
181
|
+
* are the family's HTML drawn over the engine's drawing, and only the engine
|
|
182
|
+
* knows where a mark landed. Named one by one because the family owns theme
|
|
183
|
+
* tokens under `--slotted-chart-`.
|
|
184
|
+
*/
|
|
185
|
+
'--slotted-chart-x',
|
|
186
|
+
'--slotted-chart-y',
|
|
187
|
+
'--slotted-chart-band-start',
|
|
188
|
+
'--slotted-chart-band-size',
|
|
189
|
+
'--slotted-chart-frame-start',
|
|
190
|
+
'--slotted-chart-frame-size',
|
|
191
|
+
/**
|
|
192
|
+
* `event-calendar` — where an event is drawn, computed by
|
|
193
|
+
* `@slotted/core/event-calendar` from the consumer's events: its lane in a
|
|
194
|
+
* row of days and how many days its bar covers; its minute and length in a
|
|
195
|
+
* column of hours, its column in a cluster of overlapping events and how many
|
|
196
|
+
* columns the cluster has; and, on the grid, how many days the grid draws and
|
|
197
|
+
* how many lanes each row reserves. They are facts about this consumer's data
|
|
198
|
+
* and this instance's `maxEvents`, which no theme can hold.
|
|
199
|
+
*
|
|
200
|
+
* Named one by one rather than by a prefix: the family owns theme tokens
|
|
201
|
+
* under `--slotted-event-calendar-`, and `--slotted-event-` would file them.
|
|
202
|
+
*/
|
|
203
|
+
'--slotted-event-lane',
|
|
204
|
+
'--slotted-event-span',
|
|
205
|
+
'--slotted-event-start',
|
|
206
|
+
'--slotted-event-length',
|
|
207
|
+
'--slotted-event-column',
|
|
208
|
+
'--slotted-event-columns',
|
|
209
|
+
'--slotted-event-calendar-days',
|
|
210
|
+
'--slotted-event-calendar-lanes',
|
|
211
|
+
'--slotted-event-calendar-slot',
|
|
212
|
+
/**
|
|
213
|
+
* `tour` — the rectangle of the current step's target, in viewport pixels,
|
|
214
|
+
* read from `getBoundingClientRect()` and kept current while the page
|
|
215
|
+
* scrolls. It is a fact about the page the tour stands over.
|
|
216
|
+
*/
|
|
217
|
+
'--slotted-tour-target-',
|
|
218
|
+
/**
|
|
219
|
+
* `observeKeyboardInset` in `@slotted/core/measure` — how much of the layout viewport the
|
|
220
|
+
* virtual keyboard covers, read from `visualViewport`. An open overlay layer
|
|
221
|
+
* writes it on its own root so what it holds lands above the keys. It is a
|
|
222
|
+
* fact about the device at this moment, which no theme can hold.
|
|
223
|
+
*/
|
|
224
|
+
'--slotted-keyboard-inset',
|
|
225
|
+
/**
|
|
226
|
+
* `rating` — how much of one symbol of the display member is lit, from 0 to
|
|
227
|
+
* 1, written on each item by the binding from the value it reports. A 4.6 of
|
|
228
|
+
* five is four items at 1 and one at 0.6; the share is a fact about this
|
|
229
|
+
* instance's value, which no theme can hold. The input member derives the
|
|
230
|
+
* same share in its stylesheet from the checked radio and never writes it.
|
|
231
|
+
*/
|
|
232
|
+
'--slotted-rating-fill',
|
|
233
|
+
/**
|
|
234
|
+
* `rating` — one level's share of all the ratings a summary counts, from 0
|
|
235
|
+
* to 1, written on the level's bar by the binding from the counts it is
|
|
236
|
+
* given.
|
|
237
|
+
*/
|
|
238
|
+
'--slotted-rating-share',
|
|
239
|
+
/**
|
|
240
|
+
* `rating` — where the spectrum places the mean and the two ends of its 95%
|
|
241
|
+
* interval on the scale, from 1 to the maximum, written on the summary's
|
|
242
|
+
* root from `summariseRatings`.
|
|
243
|
+
*/
|
|
244
|
+
'--slotted-rating-mean',
|
|
245
|
+
'--slotted-rating-low',
|
|
246
|
+
'--slotted-rating-high',
|
|
247
|
+
/**
|
|
248
|
+
* `message` — how many lines a bubble shows before it is clamped, written on
|
|
249
|
+
* the bubble by the binding from `maxLines`. It is a fact about this
|
|
250
|
+
* instance's content, stated per bubble, which no theme can hold.
|
|
251
|
+
*/
|
|
252
|
+
'--slotted-message-max-lines',
|
|
253
|
+
/**
|
|
254
|
+
* `message-scroller` — the room the engine keeps below the last row so an
|
|
255
|
+
* anchored turn can stand at the top of the viewport while its reply is still
|
|
256
|
+
* short. It is the viewport's height less what follows the anchor, measured,
|
|
257
|
+
* and it shrinks to nothing as the reply grows.
|
|
258
|
+
*/
|
|
259
|
+
'--slotted-message-scroller-room',
|
|
260
|
+
/**
|
|
261
|
+
* `cascader` — how deep a node sits under `layout="tree"`, counted from 0 at
|
|
262
|
+
* the roots, written on each node by the binding from the collection. The
|
|
263
|
+
* tree layout renders the visible nodes as one flat run with `aria-level`,
|
|
264
|
+
* so the indent is this number times `--slotted-cascader-indent`, the token.
|
|
265
|
+
* Named on its own for the reason `tree-depth` is.
|
|
266
|
+
*/
|
|
267
|
+
'--slotted-cascader-depth',
|
|
268
|
+
/**
|
|
269
|
+
* `carousel` — how many slides one view holds, written on the root by the
|
|
270
|
+
* binding from `slidesPerView`, and how long the rotation waits on a page,
|
|
271
|
+
* written from `autoplay`. The first is read by the track sizing and the
|
|
272
|
+
* second by the fill of the current indicator, so the picture and the timer
|
|
273
|
+
* are one number. A consumer may still write the first in its own container
|
|
274
|
+
* query when it passes no prop; neither is a value a theme can hold.
|
|
275
|
+
*/
|
|
276
|
+
'--slotted-carousel-slides-per-view',
|
|
277
|
+
'--slotted-carousel-autoplay-delay',
|
|
278
|
+
/**
|
|
279
|
+
* `carousel` — how far a drag has pulled the slides past an end, written on
|
|
280
|
+
* the viewport by `@slotted/core/carousel` frame by frame as a translate
|
|
281
|
+
* value, and sprung back to nothing on release. A scroller cannot draw past
|
|
282
|
+
* its ends, so the pull is the slides' own `translate`.
|
|
283
|
+
*/
|
|
284
|
+
'--slotted-carousel-overscroll',
|
|
285
|
+
/**
|
|
286
|
+
* `color-picker` — the colour this instance holds, with and without its
|
|
287
|
+
* alpha, the hue it remembers when the colour has none, where the area's
|
|
288
|
+
* thumb stands (saturation and brightness, 0 to 1), how opaque the colour
|
|
289
|
+
* is (0 to 1), and the colour the panel opened with. Each is written on the
|
|
290
|
+
* root by the binding from the value `@slotted/core/color` parsed; a colour
|
|
291
|
+
* the reader picked is a fact about this instance, which no theme can hold.
|
|
292
|
+
*/
|
|
293
|
+
'--slotted-color-picker-color',
|
|
294
|
+
'--slotted-color-picker-opaque',
|
|
295
|
+
'--slotted-color-picker-hue',
|
|
296
|
+
'--slotted-color-picker-x',
|
|
297
|
+
'--slotted-color-picker-y',
|
|
298
|
+
'--slotted-color-picker-alpha',
|
|
299
|
+
'--slotted-color-picker-previous',
|
|
300
|
+
'--slotted-color-picker-preset',
|
|
301
|
+
'--slotted-color-picker-contrast-with',
|
|
302
|
+
/**
|
|
303
|
+
* `navigation-menu` — the open panel's measured size, where the shared
|
|
304
|
+
* surface stands under the row (or beside the column), where the arrow
|
|
305
|
+
* points from, and how much room is left before the window's edge. Written
|
|
306
|
+
* on the root by `@slotted/core/navigation-menu` from the open content and
|
|
307
|
+
* its trigger; the family also owns theme tokens under the same prefix — its
|
|
308
|
+
* column size, its offset, its radius — so each is named one by one.
|
|
309
|
+
*/
|
|
310
|
+
'--slotted-navigation-menu-viewport-inline-size',
|
|
311
|
+
'--slotted-navigation-menu-viewport-block-size',
|
|
312
|
+
'--slotted-navigation-menu-viewport-inline-start',
|
|
313
|
+
'--slotted-navigation-menu-viewport-block-start',
|
|
314
|
+
'--slotted-navigation-menu-arrow-offset',
|
|
315
|
+
'--slotted-navigation-menu-available-inline-size',
|
|
316
|
+
];
|
|
317
|
+
|
|
318
|
+
/** Whether a custom property is written by script rather than by a theme. */
|
|
319
|
+
export function isRuntimeProperty(name) {
|
|
320
|
+
return RUNTIME_PROPERTY_PREFIXES.some((prefix) => name.startsWith(prefix));
|
|
321
|
+
}
|