@birdycom/omniacss 0.11.0 → 0.11.2
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 -21
- package/README.md +44 -44
- package/dist/oc-theme.css +1 -1
- package/dist/omnia.css +2 -1
- package/dist/omnia.min.css +1 -1
- package/dist/omnia.starter.css +2 -0
- package/dist/omnia.starter.min.css +1 -1
- package/dist/tokens/omnia.dtcg.json +2 -2
- package/dist/tokens/omnia.tokens.json +1 -1
- package/dist/tokens/omnia_tokens.py +2 -2
- package/package.json +63 -63
- package/scss/utilities/_anchor_positioning.scss +65 -65
- package/scss/utilities/_animation_properties.scss +143 -143
- package/scss/utilities/_borders_extended.scss +97 -97
- package/scss/utilities/_borders_outlines.scss +161 -161
- package/scss/utilities/_containment.scss +82 -82
- package/scss/utilities/_css_functions.scss +34 -34
- package/scss/utilities/_dark_mode.scss +117 -117
- package/scss/utilities/_drop_shadow_colors.scss +26 -26
- package/scss/utilities/_experimental_css.scss +149 -149
- package/scss/utilities/_flexbox.scss +317 -317
- package/scss/utilities/_font_variants.scss +139 -139
- package/scss/utilities/_gap.scss +103 -103
- package/scss/utilities/_gradient_stops.scss +48 -48
- package/scss/utilities/_grid.scss +672 -672
- package/scss/utilities/_layout_extras.scss +171 -171
- package/scss/utilities/_layout_flow.scss +210 -210
- package/scss/utilities/_mask_extras.scss +62 -62
- package/scss/utilities/_motion_transforms.scss +167 -167
- package/scss/utilities/_scroll_animations.scss +80 -80
- package/scss/utilities/_scrollbar.scss +2 -1
- package/scss/utilities/_shadow_tokens.scss +21 -21
- package/scss/utilities/_shapes.scss +72 -72
- package/scss/utilities/_sizing_logical.scss +99 -99
- package/scss/utilities/_starting_style.scss +53 -53
- package/scss/utilities/_state_variants.scss +196 -196
- package/scss/utilities/_svg.scss +100 -100
- package/scss/utilities/_table_advanced.scss +19 -19
- package/scss/utilities/_typography_advanced.scss +124 -124
- package/scss/utilities/_typography_modern.scss +83 -83
- package/scss/utilities/_view_transitions.scss +64 -64
- package/scss/utilities/_writing_modes.scss +72 -72
- package/scss/variables/_hulp.scss +107 -107
- package/scss/variables/_variables_effects.scss +108 -108
- package/src/postcss.mjs +43 -43
- package/src/tokens.mjs +377 -377
- package/src/variants.mjs +278 -278
- package/tokens/semantic.json +80 -80
|
@@ -1,149 +1,149 @@
|
|
|
1
|
-
// SCSS Document
|
|
2
|
-
// File: src/scss/utilities/_experimental_css.scss
|
|
3
|
-
// Description: Newest CSS features that are (still) implemented in one browser engine: gap decorations,
|
|
4
|
-
// caret shape/animation, interactivity, interest invokers, scroll targets, reading-order, overlay,
|
|
5
|
-
// text-size-adjust, object-view-box, text-decoration-inset, view-transition-group and per-corner shapes.
|
|
6
|
-
// Copyright: 2021-2026 Birdycom
|
|
7
|
-
// Author: Serge Cools
|
|
8
|
-
// Version: 0.3.0
|
|
9
|
-
// Framework: OmniaCSS
|
|
10
|
-
// Purpose: Progressive enhancement only — every class is ignored by browsers without support.
|
|
11
|
-
// Reference: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_gaps
|
|
12
|
-
// Map: gap decorations -> caret -> interactivity -> interest delay -> scroll targets -> reading-order -> overlay
|
|
13
|
-
// -> text-size-adjust -> object-view-box -> text-decoration-inset -> view-transition-group -> per-corner shapes
|
|
14
|
-
// -> intrinsic sizes -> mask border -> shape-image-threshold -> font-width
|
|
15
|
-
|
|
16
|
-
/* Gap decorations — lines drawn in the gaps of grid, flex and multi-column layouts */
|
|
17
|
-
.rule-solid { rule-style: solid; }
|
|
18
|
-
.rule-dashed { rule-style: dashed; }
|
|
19
|
-
.rule-dotted { rule-style: dotted; }
|
|
20
|
-
.rule-1 { rule-width: 1px; }
|
|
21
|
-
.rule-2 { rule-width: 2px; }
|
|
22
|
-
.rule-current { rule-color: currentcolor; }
|
|
23
|
-
.row-rule-solid { row-rule-style: solid; }
|
|
24
|
-
.row-rule-1 { row-rule-width: 1px; }
|
|
25
|
-
.row-rule-current { row-rule-color: currentcolor; }
|
|
26
|
-
.rule-break-none { rule-break: none; }
|
|
27
|
-
.rule-break-spanning-item { rule-break: spanning-item; }
|
|
28
|
-
.rule-break-intersection { rule-break: intersection; }
|
|
29
|
-
.rule-inset-0 { rule-inset: 0; }
|
|
30
|
-
.rule-inset-2 { rule-inset: 0.5rem; }
|
|
31
|
-
.column-rule-solid-1 { column-rule: 1px solid currentcolor; }
|
|
32
|
-
|
|
33
|
-
/* Caret shape and animation (text input cursor) */
|
|
34
|
-
.caret-shape-auto { caret-shape: auto; }
|
|
35
|
-
.caret-shape-bar { caret-shape: bar; }
|
|
36
|
-
.caret-shape-block { caret-shape: block; }
|
|
37
|
-
.caret-shape-underscore { caret-shape: underscore; }
|
|
38
|
-
.caret-animation-auto { caret-animation: auto; }
|
|
39
|
-
.caret-animation-manual { caret-animation: manual; }
|
|
40
|
-
|
|
41
|
-
/* Interactivity — make a subtree inert from CSS */
|
|
42
|
-
.interactivity-auto { interactivity: auto; }
|
|
43
|
-
.interactivity-inert { interactivity: inert; }
|
|
44
|
-
|
|
45
|
-
/* Interest invokers (hover/focus to show a popover) */
|
|
46
|
-
.interest-delay-0 { interest-delay: 0s; }
|
|
47
|
-
.interest-delay-short { interest-delay: 0.2s 0.1s; }
|
|
48
|
-
.interest-delay-normal { interest-delay: normal; }
|
|
49
|
-
|
|
50
|
-
/* Scroll targets — initial scroll position and scroll-spy groups */
|
|
51
|
-
.scroll-initial-target-nearest { scroll-initial-target: nearest; }
|
|
52
|
-
.scroll-initial-target-none { scroll-initial-target: none; }
|
|
53
|
-
.scroll-target-group-auto { scroll-target-group: auto; }
|
|
54
|
-
.scroll-target-group-none { scroll-target-group: none; }
|
|
55
|
-
|
|
56
|
-
/* Reading order of individual items (works with reading-flow on the parent) */
|
|
57
|
-
.reading-order-first { reading-order: -1; }
|
|
58
|
-
.reading-order-0 { reading-order: 0; }
|
|
59
|
-
.reading-order-last { reading-order: 1; }
|
|
60
|
-
|
|
61
|
-
/* Overlay (top layer) — transition it with .transition-discrete for exit animations */
|
|
62
|
-
.overlay-auto { overlay: auto; }
|
|
63
|
-
.overlay-none { overlay: none; }
|
|
64
|
-
|
|
65
|
-
/* Text size adjust (mobile text inflation) */
|
|
66
|
-
.text-size-adjust-none { -webkit-text-size-adjust: none; text-size-adjust: none; }
|
|
67
|
-
.text-size-adjust-auto { -webkit-text-size-adjust: auto; text-size-adjust: auto; }
|
|
68
|
-
.text-size-adjust-100 { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
|
|
69
|
-
|
|
70
|
-
/* Object view box — crop/zoom a replaced element */
|
|
71
|
-
.object-view-box-none { object-view-box: none; }
|
|
72
|
-
.object-view-box-center { object-view-box: inset(25%); }
|
|
73
|
-
|
|
74
|
-
/* Text decoration inset — shorten underlines at both ends */
|
|
75
|
-
.decoration-inset-0 { text-decoration-inset: 0; }
|
|
76
|
-
.decoration-inset-auto { text-decoration-inset: auto; }
|
|
77
|
-
.decoration-inset-2 { text-decoration-inset: 0.125em; }
|
|
78
|
-
|
|
79
|
-
/* View transition group */
|
|
80
|
-
.vt-group-normal { view-transition-group: normal; }
|
|
81
|
-
.vt-group-contain { view-transition-group: contain; }
|
|
82
|
-
.vt-group-nearest { view-transition-group: nearest; }
|
|
83
|
-
|
|
84
|
-
/* Per-corner shapes (combine with .round-*) */
|
|
85
|
-
.corner-t-bevel { corner-top-shape: bevel; }
|
|
86
|
-
.corner-b-bevel { corner-bottom-shape: bevel; }
|
|
87
|
-
.corner-l-scoop { corner-left-shape: scoop; }
|
|
88
|
-
.corner-r-scoop { corner-right-shape: scoop; }
|
|
89
|
-
.corner-tl-notch { corner-top-left-shape: notch; }
|
|
90
|
-
.corner-tr-notch { corner-top-right-shape: notch; }
|
|
91
|
-
.corner-bl-squircle { corner-bottom-left-shape: squircle; }
|
|
92
|
-
.corner-br-squircle { corner-bottom-right-shape: squircle; }
|
|
93
|
-
|
|
94
|
-
/* Intrinsic sizes per axis (with content-visibility: auto) */
|
|
95
|
-
.contain-intrinsic-w-auto-md { contain-intrinsic-width: auto 300px; }
|
|
96
|
-
.contain-intrinsic-h-auto-md { contain-intrinsic-height: auto 500px; }
|
|
97
|
-
.contain-intrinsic-inline-auto-md { contain-intrinsic-inline-size: auto 300px; }
|
|
98
|
-
.contain-intrinsic-block-auto-md { contain-intrinsic-block-size: auto 500px; }
|
|
99
|
-
|
|
100
|
-
/* Mask border and shape image threshold */
|
|
101
|
-
.mask-border-none { mask-border: none; }
|
|
102
|
-
.mask-border-gradient {
|
|
103
|
-
mask-border-source: linear-gradient(#000, transparent);
|
|
104
|
-
mask-border-slice: 30 fill;
|
|
105
|
-
mask-border-width: 30px;
|
|
106
|
-
mask-border-repeat: stretch;
|
|
107
|
-
mask-border-outset: 0;
|
|
108
|
-
}
|
|
109
|
-
.shape-image-threshold-0 { shape-image-threshold: 0; }
|
|
110
|
-
.shape-image-threshold-50 { shape-image-threshold: 0.5; }
|
|
111
|
-
|
|
112
|
-
/* Font width (new name of font-stretch) */
|
|
113
|
-
.font-width-condensed { font-width: condensed; }
|
|
114
|
-
.font-width-normal { font-width: normal; }
|
|
115
|
-
.font-width-expanded { font-width: expanded; }
|
|
116
|
-
|
|
117
|
-
/* Gap decoration shorthands and longhands */
|
|
118
|
-
.rule-line { rule: 1px solid currentcolor; }
|
|
119
|
-
.row-rule-line { row-rule: 1px solid currentcolor; }
|
|
120
|
-
.column-rule-break-intersection { column-rule-break: intersection; }
|
|
121
|
-
.row-rule-break-intersection { row-rule-break: intersection; }
|
|
122
|
-
.column-rule-inset-2 { column-rule-inset: 0.5rem; }
|
|
123
|
-
.row-rule-inset-2 { row-rule-inset: 0.5rem; }
|
|
124
|
-
.rule-overlap-row { rule-overlap: row-over-column; }
|
|
125
|
-
.rule-overlap-column { rule-overlap: column-over-row; }
|
|
126
|
-
.rule-visibility-around { rule-visibility-items: around; }
|
|
127
|
-
|
|
128
|
-
/* Multi-column wrapping into rows */
|
|
129
|
-
.column-wrap-wrap { column-wrap: wrap; }
|
|
130
|
-
.column-height-sm { column-height: 10rem; }
|
|
131
|
-
|
|
132
|
-
/* Logical per-corner shapes */
|
|
133
|
-
.corner-ss-bevel { corner-start-start-shape: bevel; }
|
|
134
|
-
.corner-ee-bevel { corner-end-end-shape: bevel; }
|
|
135
|
-
.corner-inline-start-scoop { corner-inline-start-shape: scoop; }
|
|
136
|
-
.corner-block-end-notch { corner-block-end-shape: notch; }
|
|
137
|
-
|
|
138
|
-
/* Misc newest */
|
|
139
|
-
.font-synthesis-position-none { font-synthesis-position: none; }
|
|
140
|
-
.decoration-skip-spaces-all { text-decoration-skip-spaces: all; }
|
|
141
|
-
.decoration-skip-spaces-none { text-decoration-skip-spaces: none; }
|
|
142
|
-
.text-fit-grow { text-fit: grow; }
|
|
143
|
-
.text-fit-shrink { text-fit: shrink; }
|
|
144
|
-
.vt-scope-all { view-transition-scope: all; }
|
|
145
|
-
.interest-delay-start-0 { interest-delay-start: 0s; }
|
|
146
|
-
.interest-delay-end-0 { interest-delay-end: 0s; }
|
|
147
|
-
.stroke-color-current { stroke-color: currentcolor; }
|
|
148
|
-
.speak-as-spell-out { speak-as: spell-out; }
|
|
149
|
-
.speak-as-digits { speak-as: digits; }
|
|
1
|
+
// SCSS Document
|
|
2
|
+
// File: src/scss/utilities/_experimental_css.scss
|
|
3
|
+
// Description: Newest CSS features that are (still) implemented in one browser engine: gap decorations,
|
|
4
|
+
// caret shape/animation, interactivity, interest invokers, scroll targets, reading-order, overlay,
|
|
5
|
+
// text-size-adjust, object-view-box, text-decoration-inset, view-transition-group and per-corner shapes.
|
|
6
|
+
// Copyright: 2021-2026 Birdycom
|
|
7
|
+
// Author: Serge Cools
|
|
8
|
+
// Version: 0.3.0
|
|
9
|
+
// Framework: OmniaCSS
|
|
10
|
+
// Purpose: Progressive enhancement only — every class is ignored by browsers without support.
|
|
11
|
+
// Reference: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_gaps
|
|
12
|
+
// Map: gap decorations -> caret -> interactivity -> interest delay -> scroll targets -> reading-order -> overlay
|
|
13
|
+
// -> text-size-adjust -> object-view-box -> text-decoration-inset -> view-transition-group -> per-corner shapes
|
|
14
|
+
// -> intrinsic sizes -> mask border -> shape-image-threshold -> font-width
|
|
15
|
+
|
|
16
|
+
/* Gap decorations — lines drawn in the gaps of grid, flex and multi-column layouts */
|
|
17
|
+
.rule-solid { rule-style: solid; }
|
|
18
|
+
.rule-dashed { rule-style: dashed; }
|
|
19
|
+
.rule-dotted { rule-style: dotted; }
|
|
20
|
+
.rule-1 { rule-width: 1px; }
|
|
21
|
+
.rule-2 { rule-width: 2px; }
|
|
22
|
+
.rule-current { rule-color: currentcolor; }
|
|
23
|
+
.row-rule-solid { row-rule-style: solid; }
|
|
24
|
+
.row-rule-1 { row-rule-width: 1px; }
|
|
25
|
+
.row-rule-current { row-rule-color: currentcolor; }
|
|
26
|
+
.rule-break-none { rule-break: none; }
|
|
27
|
+
.rule-break-spanning-item { rule-break: spanning-item; }
|
|
28
|
+
.rule-break-intersection { rule-break: intersection; }
|
|
29
|
+
.rule-inset-0 { rule-inset: 0; }
|
|
30
|
+
.rule-inset-2 { rule-inset: 0.5rem; }
|
|
31
|
+
.column-rule-solid-1 { column-rule: 1px solid currentcolor; }
|
|
32
|
+
|
|
33
|
+
/* Caret shape and animation (text input cursor) */
|
|
34
|
+
.caret-shape-auto { caret-shape: auto; }
|
|
35
|
+
.caret-shape-bar { caret-shape: bar; }
|
|
36
|
+
.caret-shape-block { caret-shape: block; }
|
|
37
|
+
.caret-shape-underscore { caret-shape: underscore; }
|
|
38
|
+
.caret-animation-auto { caret-animation: auto; }
|
|
39
|
+
.caret-animation-manual { caret-animation: manual; }
|
|
40
|
+
|
|
41
|
+
/* Interactivity — make a subtree inert from CSS */
|
|
42
|
+
.interactivity-auto { interactivity: auto; }
|
|
43
|
+
.interactivity-inert { interactivity: inert; }
|
|
44
|
+
|
|
45
|
+
/* Interest invokers (hover/focus to show a popover) */
|
|
46
|
+
.interest-delay-0 { interest-delay: 0s; }
|
|
47
|
+
.interest-delay-short { interest-delay: 0.2s 0.1s; }
|
|
48
|
+
.interest-delay-normal { interest-delay: normal; }
|
|
49
|
+
|
|
50
|
+
/* Scroll targets — initial scroll position and scroll-spy groups */
|
|
51
|
+
.scroll-initial-target-nearest { scroll-initial-target: nearest; }
|
|
52
|
+
.scroll-initial-target-none { scroll-initial-target: none; }
|
|
53
|
+
.scroll-target-group-auto { scroll-target-group: auto; }
|
|
54
|
+
.scroll-target-group-none { scroll-target-group: none; }
|
|
55
|
+
|
|
56
|
+
/* Reading order of individual items (works with reading-flow on the parent) */
|
|
57
|
+
.reading-order-first { reading-order: -1; }
|
|
58
|
+
.reading-order-0 { reading-order: 0; }
|
|
59
|
+
.reading-order-last { reading-order: 1; }
|
|
60
|
+
|
|
61
|
+
/* Overlay (top layer) — transition it with .transition-discrete for exit animations */
|
|
62
|
+
.overlay-auto { overlay: auto; }
|
|
63
|
+
.overlay-none { overlay: none; }
|
|
64
|
+
|
|
65
|
+
/* Text size adjust (mobile text inflation) */
|
|
66
|
+
.text-size-adjust-none { -webkit-text-size-adjust: none; text-size-adjust: none; }
|
|
67
|
+
.text-size-adjust-auto { -webkit-text-size-adjust: auto; text-size-adjust: auto; }
|
|
68
|
+
.text-size-adjust-100 { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
|
|
69
|
+
|
|
70
|
+
/* Object view box — crop/zoom a replaced element */
|
|
71
|
+
.object-view-box-none { object-view-box: none; }
|
|
72
|
+
.object-view-box-center { object-view-box: inset(25%); }
|
|
73
|
+
|
|
74
|
+
/* Text decoration inset — shorten underlines at both ends */
|
|
75
|
+
.decoration-inset-0 { text-decoration-inset: 0; }
|
|
76
|
+
.decoration-inset-auto { text-decoration-inset: auto; }
|
|
77
|
+
.decoration-inset-2 { text-decoration-inset: 0.125em; }
|
|
78
|
+
|
|
79
|
+
/* View transition group */
|
|
80
|
+
.vt-group-normal { view-transition-group: normal; }
|
|
81
|
+
.vt-group-contain { view-transition-group: contain; }
|
|
82
|
+
.vt-group-nearest { view-transition-group: nearest; }
|
|
83
|
+
|
|
84
|
+
/* Per-corner shapes (combine with .round-*) */
|
|
85
|
+
.corner-t-bevel { corner-top-shape: bevel; }
|
|
86
|
+
.corner-b-bevel { corner-bottom-shape: bevel; }
|
|
87
|
+
.corner-l-scoop { corner-left-shape: scoop; }
|
|
88
|
+
.corner-r-scoop { corner-right-shape: scoop; }
|
|
89
|
+
.corner-tl-notch { corner-top-left-shape: notch; }
|
|
90
|
+
.corner-tr-notch { corner-top-right-shape: notch; }
|
|
91
|
+
.corner-bl-squircle { corner-bottom-left-shape: squircle; }
|
|
92
|
+
.corner-br-squircle { corner-bottom-right-shape: squircle; }
|
|
93
|
+
|
|
94
|
+
/* Intrinsic sizes per axis (with content-visibility: auto) */
|
|
95
|
+
.contain-intrinsic-w-auto-md { contain-intrinsic-width: auto 300px; }
|
|
96
|
+
.contain-intrinsic-h-auto-md { contain-intrinsic-height: auto 500px; }
|
|
97
|
+
.contain-intrinsic-inline-auto-md { contain-intrinsic-inline-size: auto 300px; }
|
|
98
|
+
.contain-intrinsic-block-auto-md { contain-intrinsic-block-size: auto 500px; }
|
|
99
|
+
|
|
100
|
+
/* Mask border and shape image threshold */
|
|
101
|
+
.mask-border-none { mask-border: none; }
|
|
102
|
+
.mask-border-gradient {
|
|
103
|
+
mask-border-source: linear-gradient(#000, transparent);
|
|
104
|
+
mask-border-slice: 30 fill;
|
|
105
|
+
mask-border-width: 30px;
|
|
106
|
+
mask-border-repeat: stretch;
|
|
107
|
+
mask-border-outset: 0;
|
|
108
|
+
}
|
|
109
|
+
.shape-image-threshold-0 { shape-image-threshold: 0; }
|
|
110
|
+
.shape-image-threshold-50 { shape-image-threshold: 0.5; }
|
|
111
|
+
|
|
112
|
+
/* Font width (new name of font-stretch) */
|
|
113
|
+
.font-width-condensed { font-width: condensed; }
|
|
114
|
+
.font-width-normal { font-width: normal; }
|
|
115
|
+
.font-width-expanded { font-width: expanded; }
|
|
116
|
+
|
|
117
|
+
/* Gap decoration shorthands and longhands */
|
|
118
|
+
.rule-line { rule: 1px solid currentcolor; }
|
|
119
|
+
.row-rule-line { row-rule: 1px solid currentcolor; }
|
|
120
|
+
.column-rule-break-intersection { column-rule-break: intersection; }
|
|
121
|
+
.row-rule-break-intersection { row-rule-break: intersection; }
|
|
122
|
+
.column-rule-inset-2 { column-rule-inset: 0.5rem; }
|
|
123
|
+
.row-rule-inset-2 { row-rule-inset: 0.5rem; }
|
|
124
|
+
.rule-overlap-row { rule-overlap: row-over-column; }
|
|
125
|
+
.rule-overlap-column { rule-overlap: column-over-row; }
|
|
126
|
+
.rule-visibility-around { rule-visibility-items: around; }
|
|
127
|
+
|
|
128
|
+
/* Multi-column wrapping into rows */
|
|
129
|
+
.column-wrap-wrap { column-wrap: wrap; }
|
|
130
|
+
.column-height-sm { column-height: 10rem; }
|
|
131
|
+
|
|
132
|
+
/* Logical per-corner shapes */
|
|
133
|
+
.corner-ss-bevel { corner-start-start-shape: bevel; }
|
|
134
|
+
.corner-ee-bevel { corner-end-end-shape: bevel; }
|
|
135
|
+
.corner-inline-start-scoop { corner-inline-start-shape: scoop; }
|
|
136
|
+
.corner-block-end-notch { corner-block-end-shape: notch; }
|
|
137
|
+
|
|
138
|
+
/* Misc newest */
|
|
139
|
+
.font-synthesis-position-none { font-synthesis-position: none; }
|
|
140
|
+
.decoration-skip-spaces-all { text-decoration-skip-spaces: all; }
|
|
141
|
+
.decoration-skip-spaces-none { text-decoration-skip-spaces: none; }
|
|
142
|
+
.text-fit-grow { text-fit: grow; }
|
|
143
|
+
.text-fit-shrink { text-fit: shrink; }
|
|
144
|
+
.vt-scope-all { view-transition-scope: all; }
|
|
145
|
+
.interest-delay-start-0 { interest-delay-start: 0s; }
|
|
146
|
+
.interest-delay-end-0 { interest-delay-end: 0s; }
|
|
147
|
+
.stroke-color-current { stroke-color: currentcolor; }
|
|
148
|
+
.speak-as-spell-out { speak-as: spell-out; }
|
|
149
|
+
.speak-as-digits { speak-as: digits; }
|