@odx/foundation 1.0.0-rc.2 → 1.0.0-rc.4

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/styles.css CHANGED
@@ -1 +1,908 @@
1
- @layer odx.reset{.odx-root{&,*,:before,:after{box-sizing:border-box}:not(:defined){visibility:hidden}& h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,code,img,svg,small,strike,strong,sub,sup,b,u,i,ol,ul,li,dl,dt,dd,form,label,table,caption,tbody,tfoot,thead,tr,th,td,main,article,aside,canvas,footer,header,nav,section,time,button,video,textarea,input{appearance:none;border:0;margin:0;padding:0}& h1,h2,h3,h4,h5,h6{text-wrap:balance}& h1,h2,h3,h4,h5,h6,p{overflow-wrap:break-word}& p{text-wrap:pretty}& img,picture,video,canvas,embed,iframe,object{max-width:100%;display:block}& button{font-family:inherit}& input,textarea,select{font-feature-settings:inherit;font-family:inherit;font-size:inherit}[popover]{border:none;outline:none}[hidden]{display:none!important}@media(prefers-reduced-motion:reduce){:before,*,:after{scroll-behavior:auto!important;transition-duration:0s!important;animation-duration:0s!important;animation-iteration-count:1!important}}}}@layer odx.base{.odx-slot-placeholder-sm,.odx-slot-placeholder{background-color:var(--odx-color-background-accent-subtle);padding:var(--odx-spacing-layout-sm) var(--odx-spacing-layout-lg);width:100%;height:100%;min-height:var(--odx-control-height-md);text-align:center;text-overflow:ellipsis;pointer-events:none;-webkit-user-select:none;user-select:none;flex:1;place-content:center;overflow:hidden;&:before,&:after{display:block}&:before{text-transform:capitalize;font-size:var(--odx-typography-font-size-text-sm);font-weight:var(--odx-typography-font-weight-medium);content:attr(slot,"default") " slot"}&:after{line-height:var(--odx-typography-line-height-text-xs);color:var(--odx-color-foreground-subtle);font-size:var(--odx-typography-font-size-text-xs);content:"This is a placeholder. A Replace with your own content"}}.odx-slot-placeholder-sm{padding:var(--odx-spacing-12) var(--odx-spacing-layout-sm);min-height:var(--odx-control-addon-size-md);font-size:var(--odx-typography-font-size-text-sm);&:after{display:none}}.odx-cluster,.odx-flank,.odx-stack{gap:var(--odx-spacing-layout-md);max-width:100%;text-align:inherit;flex-direction:column;justify-content:flex-start;align-items:center;display:flex}.odx-cluster{flex-flow:wrap;align-items:center}.odx-flank{flex-direction:row}.odx-stack{align-items:stretch}.odx-flank:not(.odx-justify-end)>:not(:first-child),.odx-flank.odx-justify-end>:not(:last-child),.odx-fill{flex:1}.odx-shrink{flex:none}.odx-align-baseline,.odx-align-start{align-items:flex-start}.odx-align-center{align-items:center}.odx-align-end{align-items:end}.odx-justify-start{justify-content:flex-start}.odx-justify-end{justify-content:flex-end}.odx-justify-center{justify-content:center}.odx-justify-space-between{justify-content:space-between}.odx-justify-space-around{justify-content:space-around}.odx-justify-space-evenly{justify-content:space-evenly}.odx-nowrap{flex-wrap:nowrap}[class*=odx-auto-grid]{--max-columns:6;--min-column-size:250px;--gap:var(--odx-spacing-layout-md);--_max-column-size:calc((100% - var(--gap) * (var(--max-columns) + 1)) / var(--max-columns));--_min-column-size:min(100%, max(var(--min-column-size), var(--_max-column-size)));--_column-size:minmax(var(--_min-column-size), 1fr);grid-template-columns:repeat(auto-fit,var(--_column-size));gap:var(--gap);place-content:center;display:grid}.odx-auto-grid-fill{grid-template-columns:repeat(auto-fill,var(--_column-size))}.odx-content :where(table),.odx-table{--cell-size:var(--odx-size-300);border-collapse:collapse;background-color:#0000;width:100%;max-width:100%;& caption{line-height:var(--odx-typography-line-height-text-sm);font-size:var(--odx-typography-font-size-text-sm);font-weight:var(--odx-typography-font-weight-semibold)}& thead{background-color:inherit}& tr{transition:var(--odx-motion-transition-reduced);background-color:var(--odx-color-background-transparent);transition-property:background-color,color}& tr:has(td):hover{background-color:var(--odx-color-background-transparent-hover)}& th,td{padding:var(--odx-control-spacing-md) var(--odx-control-spacing-inline-md);min-height:var(--odx-size-250);text-align:start;font-size:inherit}& th{border-bottom:var(--odx-border-width-thin) solid var(--odx-color-stroke-neutral-subtle);cursor:default;vertical-align:top;font-weight:var(--odx-typography-font-weight-medium);-webkit-user-select:none;user-select:none}& td{height:var(--cell-size);vertical-align:middle}& tr:not(:last-child) td{border-bottom:var(--odx-border-width-thin) solid var(--odx-color-stroke-neutral-subtle)}& th :is(odx-input,odx-select){margin-inline:var(--odx-spacing-negative-50)}}.odx-content{--_content-spacing-sm:var(--odx-spacing-layout-sm);--_content-spacing-md:var(--odx-spacing-layout-md);--_content-spacing-lg:var(--odx-spacing-layout-lg);line-height:var(--odx-typography-line-height-text-md);& table,ul,ol,dl,blockquote,pre,figure,video,embed,iframe{margin:var(--_content-spacing-md) 0}:is(odx-key-value-list,odx-list){margin-block:var(--_content-spacing-md);:is(odx-key-value-list,odx-list){margin-block:0}}>:is(odx-text,.odx-text),li>:is(ul,ol,dl),p,li{margin:var(--_content-spacing-sm) 0}:is(odx-text,.odx-text),p{&:first-child{margin-block-start:0}}>:is(odx-title,[class*=odx-title]),h1,h2,h3,h4,h5,h6{margin-block:var(--_content-spacing-lg) var(--_content-spacing-sm);&:first-child{margin-block-start:var(--_content-spacing-sm)}}& table,ul,ol,dl,blockquote{padding-inline-start:var(--odx-spacing-150)}& code,pre,mark{border-radius:var(--odx-border-radius-sm);padding:0 var(--odx-spacing-12)}& code,pre{background-color:var(--odx-color-background-control-rest);font-size:var(--odx-typography-font-size-text-sm)}& blockquote{padding-inline-end:var(--odx-spacing-150)}& dt{font-weight:var(--odx-typography-font-weight-medium)}& a{text-decoration:underline}& del{color:var(--odx-color-foreground-danger-rest)}& figure{flex-direction:column;display:flex}& figcaption{padding:var(--_content-spacing-sm);line-height:var(--odx-typography-line-height-text-sm);font-size:var(--odx-typography-font-size-text-sm)}& ins{color:var(--odx-color-foreground-success-rest);text-decoration:none}& mark{background-color:var(--odx-color-background-selection);color:var(--odx-color-foreground-rest)}& pre{padding:var(--odx-control-spacing-md) calc(2 * var(--odx-control-spacing-inline-md))}& small{font-size:var(--odx-typography-font-size-text-sm)}& var{font-weight:var(--odx-typography-font-weight-medium)}}.odx-content-sm{--_content-spacing-md:var(--odx-spacing-layout-sm);--_content-spacing-lg:var(--odx-spacing-layout-md);line-height:var(--odx-typography-line-height-text-sm);font-size:var(--odx-typography-font-size-text-sm)}.odx-content-box{background-color:var(--odx-color-background-level-1);padding:var(--odx-spacing-layout-lg);border-radius:0}.odx-link,.odx-root a{transition:var(--odx-motion-transition-reduced);cursor:pointer;overflow:inherit;vertical-align:baseline;text-align:start;-webkit-text-decoration:initial;text-decoration:initial;text-overflow:inherit;color:var(--odx-color-foreground-accent-rest);-webkit-user-select:text;user-select:text;border-radius:1px;outline:0;font-family:inherit;font-size:1em;transition-property:color;display:inline-block;&:active{color:var(--odx-color-foreground-accent-pressed)}&:focus-visible{outline:var(--odx-focus-ring-outer);outline-offset:var(--odx-focus-ring-offset-sm)}&[disabled]{color:var(--odx-color-foreground-disabled-rest);pointer-events:none;-webkit-user-select:none;user-select:none}@media(hover:hover){&:hover:not([disabled],:active,:focus-visible){color:var(--odx-color-foreground-accent-hover);text-decoration:underline}}}.odx-text{font-weight:var(--odx-typography-font-weight-normal);overflow-wrap:break-word;display:block}.odx-text-inline{display:inline-block}.odx-text-strong{font-weight:var(--odx-typography-font-weight-medium)}.odx-text-xs{line-height:var(--odx-typography-line-height-text-xs);font-size:var(--odx-typography-font-size-text-xs)}.odx-text-sm{line-height:var(--odx-typography-line-height-text-sm);font-size:var(--odx-typography-font-size-text-sm)}.odx-text-md{line-height:var(--odx-typography-line-height-text-md);font-size:var(--odx-typography-font-size-text-md)}.odx-text-lg{line-height:var(--odx-typography-line-height-text-lg);font-size:var(--odx-typography-font-size-text-lg)}.odx-text-neutral{color:var(--odx-color-foreground-rest)}.odx-text-accent{color:var(--odx-color-foreground-accent-rest)}.odx-text-success{color:var(--odx-color-foreground-success-rest)}.odx-text-danger{color:var(--odx-color-foreground-danger-rest)}.odx-text-subtle{color:var(--odx-color-foreground-subtle)}.odx-text-disabled{color:var(--odx-color-foreground-disabled-rest)}[class*=odx-title],.odx-root :is(h1,h2,h3,h4,h5,h6){font-weight:var(--odx-typography-font-weight-semibold);text-wrap:balance;overflow-wrap:break-word;display:block}.odx-title{line-height:inherit;font-size:inherit}.odx-title-xs,.odx-root h6{line-height:var(--odx-typography-line-height-heading-xs);font-size:var(--odx-typography-font-size-heading-xs)}.odx-title-sm,.odx-root h5{line-height:var(--odx-typography-line-height-heading-sm);font-size:var(--odx-typography-font-size-heading-sm)}.odx-title-md,.odx-root h4{line-height:var(--odx-typography-line-height-heading-md);font-size:var(--odx-typography-font-size-heading-md)}.odx-title-lg,.odx-root h3{line-height:var(--odx-typography-line-height-heading-lg);font-size:var(--odx-typography-font-size-heading-lg)}.odx-title-xl,.odx-root h2,.odx-title-xxl,.odx-root h1,[class*=odx-title-display-]{font-family:var(--odx-typography-font-family-brand);font-weight:var(--odx-typography-font-weight-medium)}.odx-title-xl,.odx-root h2{line-height:var(--odx-typography-line-height-heading-xl);font-size:var(--odx-typography-font-size-heading-xl)}.odx-title-xxl,.odx-root h1{line-height:var(--odx-typography-line-height-heading-xxl);font-size:var(--odx-typography-font-size-heading-xxl)}.odx-title-display-sm{line-height:var(--odx-typography-line-height-display-sm);font-size:var(--odx-typography-font-size-display-sm)}.odx-title-display-md{line-height:var(--odx-typography-line-height-display-md);font-size:var(--odx-typography-font-size-display-md)}.odx-title-display-lg{line-height:var(--odx-typography-line-height-display-lg);font-size:var(--odx-typography-font-size-display-lg)}.odx-title-display-xl{line-height:var(--odx-typography-line-height-display-xl);font-size:var(--odx-typography-font-size-display-xl)}:root{interpolate-size:allow-keywords}.odx-root{tab-size:4;line-height:var(--odx-typography-line-height-base);color:var(--odx-color-foreground-rest);font-family:var(--odx-typography-font-family-base),"Noto Sans",Kanit,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji";font-size:var(--odx-typography-font-size-base);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent;scrollbar-width:thin;::selection{background-color:var(--odx-color-background-selection);color:var(--odx-color-foreground-rest)}}html.odx-root{scroll-behavior:smooth;scrollbar-color:var(--odx-color-special-scrollbar) transparent;height:100%;&:not(:has(body.odx-light-mode),:has(body.odx-dark-mode)){background-color:var(--odx-color-background-base)}& body{margin:0;padding:0}}}@layer odx.overrides{.odx-no-overflow{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.odx-visually-hidden:not(:focus-within),.odx-visually-hidden-force{white-space:nowrap!important;width:1px!important;height:1px!important;clip-path:rect(0 0 0 0)!important;border:none!important;padding:0!important;position:absolute!important;overflow:hidden!important}.odx-w-xs{max-width:var(--odx-layout-width-xs)}.odx-w-sm{max-width:var(--odx-layout-width-sm)}.odx-w-md{max-width:var(--odx-layout-width-md)}.odx-w-lg{max-width:var(--odx-layout-width-lg)}.odx-w-xl{max-width:var(--odx-layout-width-xl)}.odx-g-0{--gap:0px;gap:0}.odx-gx-0{column-gap:0}.odx-gy-0{row-gap:0}.odx-g-sm{--gap:var(--odx-spacing-layout-sm);gap:var(--odx-spacing-layout-sm)}.odx-gx-sm{column-gap:var(--odx-spacing-layout-sm)}.odx-gy-sm{row-gap:var(--odx-spacing-layout-sm)}.odx-g-md{--gap:var(--odx-spacing-layout-md);gap:var(--odx-spacing-layout-md)}.odx-gx-md{column-gap:var(--odx-spacing-layout-md)}.odx-gy-md{row-gap:var(--odx-spacing-layout-md)}.odx-g-lg{--gap:var(--odx-spacing-layout-lg);gap:var(--odx-spacing-layout-lg)}.odx-gx-lg{column-gap:var(--odx-spacing-layout-lg)}.odx-gy-lg{row-gap:var(--odx-spacing-layout-lg)}.odx-p-0{padding:0}.odx-px-0{padding-inline:0}.odx-pl-0{padding-inline-start:0}.odx-pr-0{padding-inline-end:0}.odx-py-0{padding-block:0}.odx-pt-0{padding-block-start:0}.odx-pb-0{padding-block-end:0}.odx-p-sm{padding:var(--odx-spacing-layout-sm)}.odx-px-sm{padding-inline:var(--odx-spacing-layout-sm)}.odx-pl-sm{padding-inline-start:var(--odx-spacing-layout-sm)}.odx-pr-sm{padding-inline-end:var(--odx-spacing-layout-sm)}.odx-py-sm{padding-block:var(--odx-spacing-layout-sm)}.odx-pt-sm{padding-block-start:var(--odx-spacing-layout-sm)}.odx-pb-sm{padding-block-end:var(--odx-spacing-layout-sm)}.odx-p-md{padding:var(--odx-spacing-layout-md)}.odx-px-md{padding-inline:var(--odx-spacing-layout-md)}.odx-pl-md{padding-inline-start:var(--odx-spacing-layout-md)}.odx-pr-md{padding-inline-end:var(--odx-spacing-layout-md)}.odx-py-md{padding-block:var(--odx-spacing-layout-md)}.odx-pt-md{padding-block-start:var(--odx-spacing-layout-md)}.odx-pb-md{padding-block-end:var(--odx-spacing-layout-md)}.odx-p-lg{padding:var(--odx-spacing-layout-lg)}.odx-px-lg{padding-inline:var(--odx-spacing-layout-lg)}.odx-pl-lg{padding-inline-start:var(--odx-spacing-layout-lg)}.odx-pr-lg{padding-inline-end:var(--odx-spacing-layout-lg)}.odx-py-lg{padding-block:var(--odx-spacing-layout-lg)}.odx-pt-lg{padding-block-start:var(--odx-spacing-layout-lg)}.odx-pb-lg{padding-block-end:var(--odx-spacing-layout-lg)}.odx-m-auto{margin:auto}.odx-mx-auto{margin-inline:auto}.odx-ml-auto{margin-inline-start:auto}.odx-mr-auto{margin-inline-end:auto}.odx-my-auto{margin-block:auto}.odx-mt-auto{margin-block-start:auto}.odx-mb-auto{margin-block-end:auto}.odx-m-0{margin:0}.odx-mx-0{margin-inline:0}.odx-ml-0{margin-inline-start:0}.odx-mr-0{margin-inline-end:0}.odx-my-0{margin-block:0}.odx-mt-0{margin-block-start:0}.odx-mb-0{margin-block-end:0}.odx-m-sm{margin:var(--odx-spacing-layout-sm)}.odx-mx-sm{margin-inline:var(--odx-spacing-layout-sm)}.odx-ml-sm{margin-inline-start:var(--odx-spacing-layout-sm)}.odx-mr-sm{margin-inline-end:var(--odx-spacing-layout-sm)}.odx-my-sm{margin-block:var(--odx-spacing-layout-sm)}.odx-mt-sm{margin-block-start:var(--odx-spacing-layout-sm)}.odx-mb-sm{margin-block-end:var(--odx-spacing-layout-sm)}.odx-m-md{margin:var(--odx-spacing-layout-md)}.odx-mx-md{margin-inline:var(--odx-spacing-layout-md)}.odx-ml-md{margin-inline-start:var(--odx-spacing-layout-md)}.odx-mr-md{margin-inline-end:var(--odx-spacing-layout-md)}.odx-my-md{margin-block:var(--odx-spacing-layout-md)}.odx-mt-md{margin-block-start:var(--odx-spacing-layout-md)}.odx-mb-md{margin-block-end:var(--odx-spacing-layout-md)}.odx-m-lg{margin:var(--odx-spacing-layout-lg)}.odx-mx-lg{margin-inline:var(--odx-spacing-layout-lg)}.odx-ml-lg{margin-inline-start:var(--odx-spacing-layout-lg)}.odx-mr-lg{margin-inline-end:var(--odx-spacing-layout-lg)}.odx-my-lg{margin-block:var(--odx-spacing-layout-lg)}.odx-mt-lg{margin-block-start:var(--odx-spacing-layout-lg)}.odx-mb-lg{margin-block-end:var(--odx-spacing-layout-lg)}}
1
+ @layer odx.reset {
2
+ .odx-root {
3
+ &, & *, & :before, & :after {
4
+ box-sizing: border-box;
5
+ }
6
+
7
+ & :not(:defined) {
8
+ visibility: hidden;
9
+ }
10
+
11
+ & h1, & h2, & h3, & h4, & h5, & h6, & p, & blockquote, & pre, & a, & code, & img, & svg, & small, & strike, & strong, & sub, & sup, & b, & u, & i, & ol, & ul, & li, & dl, & dt, & dd, & form, & label, & table, & caption, & tbody, & tfoot, & thead, & tr, & th, & td, & main, & article, & aside, & canvas, & footer, & header, & nav, & section, & time, & button, & video, & textarea, & input {
12
+ appearance: none;
13
+ border: 0;
14
+ margin: 0;
15
+ padding: 0;
16
+ }
17
+
18
+ & h1, & h2, & h3, & h4, & h5, & h6 {
19
+ text-wrap: balance;
20
+ }
21
+
22
+ & h1, & h2, & h3, & h4, & h5, & h6, & p {
23
+ overflow-wrap: break-word;
24
+ }
25
+
26
+ & p {
27
+ text-wrap: pretty;
28
+ }
29
+
30
+ & img, & picture, & video, & canvas, & embed, & iframe, & object {
31
+ max-width: 100%;
32
+ display: block;
33
+ }
34
+
35
+ & button {
36
+ font-family: inherit;
37
+ }
38
+
39
+ & input, & textarea, & select {
40
+ font-feature-settings: inherit;
41
+ font-family: inherit;
42
+ font-size: inherit;
43
+ }
44
+
45
+ & [popover] {
46
+ border: none;
47
+ outline: none;
48
+ }
49
+
50
+ & [hidden] {
51
+ display: none !important;
52
+ }
53
+
54
+ @media (prefers-reduced-motion: reduce) {
55
+ & *, & :before, & :after {
56
+ scroll-behavior: auto !important;
57
+ transition-duration: 0s !important;
58
+ animation-duration: 0s !important;
59
+ animation-iteration-count: 1 !important;
60
+ }
61
+ }
62
+ }
63
+ }
64
+
65
+ @layer odx.base {
66
+ .odx-slot-placeholder-sm, .odx-slot-placeholder {
67
+ background-color: var(--odx-color-background-accent-subtle);
68
+ padding: var(--odx-spacing-layout-sm) var(--odx-spacing-layout-lg);
69
+ width: 100%;
70
+ height: 100%;
71
+ min-height: var(--odx-control-height-md);
72
+ text-align: center;
73
+ text-overflow: ellipsis;
74
+ pointer-events: none;
75
+ user-select: none;
76
+ flex: 1;
77
+ place-content: center;
78
+ overflow: hidden;
79
+
80
+ &:before, &:after {
81
+ display: block;
82
+ }
83
+
84
+ &:before {
85
+ text-transform: capitalize;
86
+ font-size: var(--odx-typography-font-size-text-sm);
87
+ font-weight: var(--odx-typography-font-weight-medium);
88
+ content: attr(slot, "default") " slot";
89
+ }
90
+
91
+ &:after {
92
+ line-height: var(--odx-typography-line-height-text-xs);
93
+ color: var(--odx-color-foreground-subtle);
94
+ font-size: var(--odx-typography-font-size-text-xs);
95
+ content: "This is a placeholder. A Replace with your own content";
96
+ }
97
+ }
98
+
99
+ .odx-slot-placeholder-sm {
100
+ padding: var(--odx-spacing-12) var(--odx-spacing-layout-sm);
101
+ min-height: var(--odx-control-addon-size-md);
102
+ font-size: var(--odx-typography-font-size-text-sm);
103
+
104
+ &:after {
105
+ display: none;
106
+ }
107
+ }
108
+
109
+ .odx-cluster, .odx-flank, .odx-stack {
110
+ gap: var(--odx-spacing-layout-md);
111
+ max-width: 100%;
112
+ text-align: inherit;
113
+ flex-direction: column;
114
+ justify-content: flex-start;
115
+ align-items: center;
116
+ display: flex;
117
+ }
118
+
119
+ .odx-cluster {
120
+ flex-flow: wrap;
121
+ align-items: center;
122
+ }
123
+
124
+ .odx-flank {
125
+ flex-direction: row;
126
+ }
127
+
128
+ .odx-stack {
129
+ align-items: stretch;
130
+ }
131
+
132
+ .odx-flank:not(.odx-justify-end) > :not(:first-child), .odx-flank.odx-justify-end > :not(:last-child), .odx-fill {
133
+ flex: 1;
134
+ }
135
+
136
+ .odx-shrink {
137
+ flex: none;
138
+ }
139
+
140
+ .odx-align-baseline, .odx-align-start {
141
+ align-items: flex-start;
142
+ }
143
+
144
+ .odx-align-center {
145
+ align-items: center;
146
+ }
147
+
148
+ .odx-align-end {
149
+ align-items: end;
150
+ }
151
+
152
+ .odx-justify-start {
153
+ justify-content: flex-start;
154
+ }
155
+
156
+ .odx-justify-end {
157
+ justify-content: flex-end;
158
+ }
159
+
160
+ .odx-justify-center {
161
+ justify-content: center;
162
+ }
163
+
164
+ .odx-justify-space-between {
165
+ justify-content: space-between;
166
+ }
167
+
168
+ .odx-justify-space-around {
169
+ justify-content: space-around;
170
+ }
171
+
172
+ .odx-justify-space-evenly {
173
+ justify-content: space-evenly;
174
+ }
175
+
176
+ .odx-nowrap {
177
+ flex-wrap: nowrap;
178
+ }
179
+
180
+ [class*="odx-auto-grid"] {
181
+ --max-columns: 6;
182
+ --min-column-size: 250px;
183
+ --gap: var(--odx-spacing-layout-md);
184
+ --_max-column-size: calc((100% - var(--gap) * (var(--max-columns) + 1)) / var(--max-columns));
185
+ --_min-column-size: min(100%, max(var(--min-column-size), var(--_max-column-size)));
186
+ --_column-size: minmax(var(--_min-column-size), 1fr);
187
+ grid-template-columns: repeat(auto-fit, var(--_column-size));
188
+ gap: var(--gap);
189
+ place-content: center;
190
+ display: grid;
191
+ }
192
+
193
+ .odx-auto-grid-fill {
194
+ grid-template-columns: repeat(auto-fill, var(--_column-size));
195
+ }
196
+
197
+ .odx-content :where(table), .odx-table {
198
+ --cell-size: var(--odx-size-300);
199
+ border-collapse: collapse;
200
+ background-color: #0000;
201
+ width: 100%;
202
+ max-width: 100%;
203
+
204
+ & caption {
205
+ line-height: var(--odx-typography-line-height-text-sm);
206
+ font-size: var(--odx-typography-font-size-text-sm);
207
+ font-weight: var(--odx-typography-font-weight-semibold);
208
+ }
209
+
210
+ & thead {
211
+ background-color: inherit;
212
+ }
213
+
214
+ & tr {
215
+ transition: var(--odx-motion-transition-reduced);
216
+ background-color: var(--odx-color-background-transparent);
217
+ transition-property: background-color, color;
218
+ }
219
+
220
+ & tr:has(td):hover {
221
+ background-color: var(--odx-color-background-transparent-hover);
222
+ }
223
+
224
+ & th, & td {
225
+ padding: var(--odx-control-spacing-md) var(--odx-control-spacing-inline-md);
226
+ min-height: var(--odx-size-250);
227
+ text-align: start;
228
+ font-size: inherit;
229
+ }
230
+
231
+ & th {
232
+ border-bottom: var(--odx-border-width-thin) solid var(--odx-color-stroke-neutral-subtle);
233
+ vertical-align: top;
234
+ font-weight: var(--odx-typography-font-weight-medium);
235
+ cursor: default;
236
+ user-select: none;
237
+ }
238
+
239
+ & td {
240
+ height: var(--cell-size);
241
+ vertical-align: middle;
242
+ }
243
+
244
+ & tr:not(:last-child) td {
245
+ border-bottom: var(--odx-border-width-thin) solid var(--odx-color-stroke-neutral-subtle);
246
+ }
247
+
248
+ & th :is(odx-input, odx-select) {
249
+ margin-inline: var(--odx-spacing-negative-50);
250
+ }
251
+ }
252
+
253
+ .odx-content {
254
+ --_content-spacing-sm: var(--odx-spacing-layout-sm);
255
+ --_content-spacing-md: var(--odx-spacing-layout-md);
256
+ --_content-spacing-lg: var(--odx-spacing-layout-lg);
257
+ line-height: var(--odx-typography-line-height-text-md);
258
+
259
+ & table, & ul, & ol, & dl, & blockquote, & pre, & figure, & video, & embed, & iframe {
260
+ margin: var(--_content-spacing-md) 0;
261
+ }
262
+
263
+ & :is(odx-key-value-list, odx-list) {
264
+ margin-block: var(--_content-spacing-md);
265
+
266
+ & :is(odx-key-value-list, odx-list) {
267
+ margin-block: 0;
268
+ }
269
+ }
270
+
271
+ & > :is(odx-text, .odx-text), & li > :is(ul, ol, dl), & p, & li {
272
+ margin: var(--_content-spacing-sm) 0;
273
+ }
274
+
275
+ & :is(odx-text, .odx-text), & p {
276
+ &:first-child {
277
+ margin-block-start: 0;
278
+ }
279
+ }
280
+
281
+ & > :is(odx-title, [class*="odx-title"]), & h1, & h2, & h3, & h4, & h5, & h6 {
282
+ margin-block: var(--_content-spacing-lg) var(--_content-spacing-sm);
283
+
284
+ &:first-child {
285
+ margin-block-start: var(--_content-spacing-sm);
286
+ }
287
+ }
288
+
289
+ & table, & ul, & ol, & dl, & blockquote {
290
+ padding-inline-start: var(--odx-spacing-150);
291
+ }
292
+
293
+ & code, & pre, & mark {
294
+ border-radius: var(--odx-border-radius-sm);
295
+ padding: 0 var(--odx-spacing-12);
296
+ }
297
+
298
+ & code, & pre {
299
+ background-color: var(--odx-color-background-control-rest);
300
+ font-size: var(--odx-typography-font-size-text-sm);
301
+ }
302
+
303
+ & blockquote {
304
+ padding-inline-end: var(--odx-spacing-150);
305
+ }
306
+
307
+ & dt {
308
+ font-weight: var(--odx-typography-font-weight-medium);
309
+ }
310
+
311
+ & a {
312
+ text-decoration: underline;
313
+ }
314
+
315
+ & del {
316
+ color: var(--odx-color-foreground-danger-rest);
317
+ }
318
+
319
+ & figure {
320
+ flex-direction: column;
321
+ display: flex;
322
+ }
323
+
324
+ & figcaption {
325
+ padding: var(--_content-spacing-sm);
326
+ line-height: var(--odx-typography-line-height-text-sm);
327
+ font-size: var(--odx-typography-font-size-text-sm);
328
+ }
329
+
330
+ & ins {
331
+ color: var(--odx-color-foreground-success-rest);
332
+ text-decoration: none;
333
+ }
334
+
335
+ & mark {
336
+ background-color: var(--odx-color-background-selection);
337
+ color: var(--odx-color-foreground-rest);
338
+ }
339
+
340
+ & pre {
341
+ padding: var(--odx-control-spacing-md) calc(2 * var(--odx-control-spacing-inline-md));
342
+ }
343
+
344
+ & small {
345
+ font-size: var(--odx-typography-font-size-text-sm);
346
+ }
347
+
348
+ & var {
349
+ font-weight: var(--odx-typography-font-weight-medium);
350
+ }
351
+ }
352
+
353
+ .odx-content-sm {
354
+ --_content-spacing-md: var(--odx-spacing-layout-sm);
355
+ --_content-spacing-lg: var(--odx-spacing-layout-md);
356
+ line-height: var(--odx-typography-line-height-text-sm);
357
+ font-size: var(--odx-typography-font-size-text-sm);
358
+ }
359
+
360
+ .odx-content-box {
361
+ background-color: var(--odx-color-background-level-1);
362
+ padding: var(--odx-spacing-layout-lg);
363
+ border-radius: 0;
364
+ }
365
+
366
+ .odx-link, .odx-root a {
367
+ transition: var(--odx-motion-transition-reduced);
368
+ overflow: inherit;
369
+ vertical-align: baseline;
370
+ text-align: start;
371
+ text-decoration: initial;
372
+ text-overflow: inherit;
373
+ color: var(--odx-color-foreground-accent-rest);
374
+ cursor: pointer;
375
+ user-select: text;
376
+ border-radius: 1px;
377
+ outline: 0;
378
+ font-family: inherit;
379
+ font-size: 1em;
380
+ transition-property: color;
381
+ display: inline-block;
382
+
383
+ &:active {
384
+ color: var(--odx-color-foreground-accent-pressed);
385
+ }
386
+
387
+ &:focus-visible {
388
+ outline: var(--odx-focus-ring-outer);
389
+ outline-offset: var(--odx-focus-ring-offset-sm);
390
+ }
391
+
392
+ &[disabled] {
393
+ color: var(--odx-color-foreground-disabled-rest);
394
+ pointer-events: none;
395
+ user-select: none;
396
+ }
397
+
398
+ @media (hover: hover) {
399
+ &:hover:not([disabled], :active, :focus-visible) {
400
+ color: var(--odx-color-foreground-accent-hover);
401
+ text-decoration: underline;
402
+ }
403
+ }
404
+ }
405
+
406
+ .odx-text {
407
+ overflow-wrap: break-word;
408
+ font-weight: var(--odx-typography-font-weight-normal);
409
+ display: block;
410
+ }
411
+
412
+ .odx-text-inline {
413
+ display: inline-block;
414
+ }
415
+
416
+ .odx-text-strong {
417
+ font-weight: var(--odx-typography-font-weight-medium);
418
+ }
419
+
420
+ .odx-text-xs {
421
+ line-height: var(--odx-typography-line-height-text-xs);
422
+ font-size: var(--odx-typography-font-size-text-xs);
423
+ }
424
+
425
+ .odx-text-sm {
426
+ line-height: var(--odx-typography-line-height-text-sm);
427
+ font-size: var(--odx-typography-font-size-text-sm);
428
+ }
429
+
430
+ .odx-text-md {
431
+ line-height: var(--odx-typography-line-height-text-md);
432
+ font-size: var(--odx-typography-font-size-text-md);
433
+ }
434
+
435
+ .odx-text-lg {
436
+ line-height: var(--odx-typography-line-height-text-lg);
437
+ font-size: var(--odx-typography-font-size-text-lg);
438
+ }
439
+
440
+ .odx-text-neutral {
441
+ color: var(--odx-color-foreground-rest);
442
+ }
443
+
444
+ .odx-text-accent {
445
+ color: var(--odx-color-foreground-accent-rest);
446
+ }
447
+
448
+ .odx-text-success {
449
+ color: var(--odx-color-foreground-success-rest);
450
+ }
451
+
452
+ .odx-text-danger {
453
+ color: var(--odx-color-foreground-danger-rest);
454
+ }
455
+
456
+ .odx-text-subtle {
457
+ color: var(--odx-color-foreground-subtle);
458
+ }
459
+
460
+ .odx-text-disabled {
461
+ color: var(--odx-color-foreground-disabled-rest);
462
+ }
463
+
464
+ [class*="odx-title"], .odx-root :is(h1, h2, h3, h4, h5, h6) {
465
+ text-wrap: balance;
466
+ overflow-wrap: break-word;
467
+ font-weight: var(--odx-typography-font-weight-semibold);
468
+ display: block;
469
+ }
470
+
471
+ .odx-title {
472
+ line-height: inherit;
473
+ font-size: inherit;
474
+ }
475
+
476
+ .odx-title-xs, .odx-root h6 {
477
+ line-height: var(--odx-typography-line-height-heading-xs);
478
+ font-size: var(--odx-typography-font-size-heading-xs);
479
+ }
480
+
481
+ .odx-title-sm, .odx-root h5 {
482
+ line-height: var(--odx-typography-line-height-heading-sm);
483
+ font-size: var(--odx-typography-font-size-heading-sm);
484
+ }
485
+
486
+ .odx-title-md, .odx-root h4 {
487
+ line-height: var(--odx-typography-line-height-heading-md);
488
+ font-size: var(--odx-typography-font-size-heading-md);
489
+ }
490
+
491
+ .odx-title-lg, .odx-root h3 {
492
+ line-height: var(--odx-typography-line-height-heading-lg);
493
+ font-size: var(--odx-typography-font-size-heading-lg);
494
+ }
495
+
496
+ .odx-title-xl, .odx-root h2, .odx-title-xxl, .odx-root h1, [class*="odx-title-display-"] {
497
+ font-family: var(--odx-typography-font-family-brand);
498
+ font-weight: var(--odx-typography-font-weight-medium);
499
+ }
500
+
501
+ .odx-title-xl, .odx-root h2 {
502
+ line-height: var(--odx-typography-line-height-heading-xl);
503
+ font-size: var(--odx-typography-font-size-heading-xl);
504
+ }
505
+
506
+ .odx-title-xxl, .odx-root h1 {
507
+ line-height: var(--odx-typography-line-height-heading-xxl);
508
+ font-size: var(--odx-typography-font-size-heading-xxl);
509
+ }
510
+
511
+ .odx-title-display-sm {
512
+ line-height: var(--odx-typography-line-height-display-sm);
513
+ font-size: var(--odx-typography-font-size-display-sm);
514
+ }
515
+
516
+ .odx-title-display-md {
517
+ line-height: var(--odx-typography-line-height-display-md);
518
+ font-size: var(--odx-typography-font-size-display-md);
519
+ }
520
+
521
+ .odx-title-display-lg {
522
+ line-height: var(--odx-typography-line-height-display-lg);
523
+ font-size: var(--odx-typography-font-size-display-lg);
524
+ }
525
+
526
+ .odx-title-display-xl {
527
+ line-height: var(--odx-typography-line-height-display-xl);
528
+ font-size: var(--odx-typography-font-size-display-xl);
529
+ }
530
+
531
+ :root {
532
+ interpolate-size: allow-keywords;
533
+ }
534
+
535
+ .odx-root {
536
+ tab-size: 4;
537
+ line-height: var(--odx-typography-line-height-base);
538
+ color: var(--odx-color-foreground-rest);
539
+ font-family: var(--odx-typography-font-family-base), "Noto Sans", Kanit, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji";
540
+ font-size: var(--odx-typography-font-size-base);
541
+ text-size-adjust: 100%;
542
+ -webkit-tap-highlight-color: transparent;
543
+ scrollbar-width: thin;
544
+
545
+ & ::selection {
546
+ background-color: var(--odx-color-background-selection);
547
+ color: var(--odx-color-foreground-rest);
548
+ }
549
+ }
550
+
551
+ html.odx-root {
552
+ scroll-behavior: smooth;
553
+ scrollbar-color: var(--odx-color-special-scrollbar) transparent;
554
+ height: 100%;
555
+
556
+ &:not(:has(body.odx-light-mode), :has(body.odx-dark-mode)) {
557
+ background-color: var(--odx-color-background-base);
558
+ }
559
+
560
+ & body {
561
+ margin: 0;
562
+ padding: 0;
563
+ }
564
+ }
565
+ }
566
+
567
+ @layer odx.overrides {
568
+ .odx-no-overflow {
569
+ text-overflow: ellipsis;
570
+ white-space: nowrap;
571
+ overflow: hidden;
572
+ }
573
+
574
+ .odx-visually-hidden:not(:focus-within), .odx-visually-hidden-force {
575
+ clip-path: rect(0 0 0 0) !important;
576
+ white-space: nowrap !important;
577
+ border: none !important;
578
+ width: 1px !important;
579
+ height: 1px !important;
580
+ padding: 0 !important;
581
+ position: absolute !important;
582
+ overflow: hidden !important;
583
+ }
584
+
585
+ .odx-w-xs {
586
+ max-width: var(--odx-layout-width-xs);
587
+ }
588
+
589
+ .odx-w-sm {
590
+ max-width: var(--odx-layout-width-sm);
591
+ }
592
+
593
+ .odx-w-md {
594
+ max-width: var(--odx-layout-width-md);
595
+ }
596
+
597
+ .odx-w-lg {
598
+ max-width: var(--odx-layout-width-lg);
599
+ }
600
+
601
+ .odx-w-xl {
602
+ max-width: var(--odx-layout-width-xl);
603
+ }
604
+
605
+ .odx-g-0 {
606
+ --gap: 0px;
607
+ gap: 0;
608
+ }
609
+
610
+ .odx-gx-0 {
611
+ column-gap: 0;
612
+ }
613
+
614
+ .odx-gy-0 {
615
+ row-gap: 0;
616
+ }
617
+
618
+ .odx-g-sm {
619
+ --gap: var(--odx-spacing-layout-sm);
620
+ gap: var(--odx-spacing-layout-sm);
621
+ }
622
+
623
+ .odx-gx-sm {
624
+ column-gap: var(--odx-spacing-layout-sm);
625
+ }
626
+
627
+ .odx-gy-sm {
628
+ row-gap: var(--odx-spacing-layout-sm);
629
+ }
630
+
631
+ .odx-g-md {
632
+ --gap: var(--odx-spacing-layout-md);
633
+ gap: var(--odx-spacing-layout-md);
634
+ }
635
+
636
+ .odx-gx-md {
637
+ column-gap: var(--odx-spacing-layout-md);
638
+ }
639
+
640
+ .odx-gy-md {
641
+ row-gap: var(--odx-spacing-layout-md);
642
+ }
643
+
644
+ .odx-g-lg {
645
+ --gap: var(--odx-spacing-layout-lg);
646
+ gap: var(--odx-spacing-layout-lg);
647
+ }
648
+
649
+ .odx-gx-lg {
650
+ column-gap: var(--odx-spacing-layout-lg);
651
+ }
652
+
653
+ .odx-gy-lg {
654
+ row-gap: var(--odx-spacing-layout-lg);
655
+ }
656
+
657
+ .odx-p-0 {
658
+ padding: 0;
659
+ }
660
+
661
+ .odx-px-0 {
662
+ padding-inline: 0;
663
+ }
664
+
665
+ .odx-pl-0 {
666
+ padding-inline-start: 0;
667
+ }
668
+
669
+ .odx-pr-0 {
670
+ padding-inline-end: 0;
671
+ }
672
+
673
+ .odx-py-0 {
674
+ padding-block: 0;
675
+ }
676
+
677
+ .odx-pt-0 {
678
+ padding-block-start: 0;
679
+ }
680
+
681
+ .odx-pb-0 {
682
+ padding-block-end: 0;
683
+ }
684
+
685
+ .odx-p-sm {
686
+ padding: var(--odx-spacing-layout-sm);
687
+ }
688
+
689
+ .odx-px-sm {
690
+ padding-inline: var(--odx-spacing-layout-sm);
691
+ }
692
+
693
+ .odx-pl-sm {
694
+ padding-inline-start: var(--odx-spacing-layout-sm);
695
+ }
696
+
697
+ .odx-pr-sm {
698
+ padding-inline-end: var(--odx-spacing-layout-sm);
699
+ }
700
+
701
+ .odx-py-sm {
702
+ padding-block: var(--odx-spacing-layout-sm);
703
+ }
704
+
705
+ .odx-pt-sm {
706
+ padding-block-start: var(--odx-spacing-layout-sm);
707
+ }
708
+
709
+ .odx-pb-sm {
710
+ padding-block-end: var(--odx-spacing-layout-sm);
711
+ }
712
+
713
+ .odx-p-md {
714
+ padding: var(--odx-spacing-layout-md);
715
+ }
716
+
717
+ .odx-px-md {
718
+ padding-inline: var(--odx-spacing-layout-md);
719
+ }
720
+
721
+ .odx-pl-md {
722
+ padding-inline-start: var(--odx-spacing-layout-md);
723
+ }
724
+
725
+ .odx-pr-md {
726
+ padding-inline-end: var(--odx-spacing-layout-md);
727
+ }
728
+
729
+ .odx-py-md {
730
+ padding-block: var(--odx-spacing-layout-md);
731
+ }
732
+
733
+ .odx-pt-md {
734
+ padding-block-start: var(--odx-spacing-layout-md);
735
+ }
736
+
737
+ .odx-pb-md {
738
+ padding-block-end: var(--odx-spacing-layout-md);
739
+ }
740
+
741
+ .odx-p-lg {
742
+ padding: var(--odx-spacing-layout-lg);
743
+ }
744
+
745
+ .odx-px-lg {
746
+ padding-inline: var(--odx-spacing-layout-lg);
747
+ }
748
+
749
+ .odx-pl-lg {
750
+ padding-inline-start: var(--odx-spacing-layout-lg);
751
+ }
752
+
753
+ .odx-pr-lg {
754
+ padding-inline-end: var(--odx-spacing-layout-lg);
755
+ }
756
+
757
+ .odx-py-lg {
758
+ padding-block: var(--odx-spacing-layout-lg);
759
+ }
760
+
761
+ .odx-pt-lg {
762
+ padding-block-start: var(--odx-spacing-layout-lg);
763
+ }
764
+
765
+ .odx-pb-lg {
766
+ padding-block-end: var(--odx-spacing-layout-lg);
767
+ }
768
+
769
+ .odx-m-auto {
770
+ margin: auto;
771
+ }
772
+
773
+ .odx-mx-auto {
774
+ margin-inline: auto;
775
+ }
776
+
777
+ .odx-ml-auto {
778
+ margin-inline-start: auto;
779
+ }
780
+
781
+ .odx-mr-auto {
782
+ margin-inline-end: auto;
783
+ }
784
+
785
+ .odx-my-auto {
786
+ margin-block: auto;
787
+ }
788
+
789
+ .odx-mt-auto {
790
+ margin-block-start: auto;
791
+ }
792
+
793
+ .odx-mb-auto {
794
+ margin-block-end: auto;
795
+ }
796
+
797
+ .odx-m-0 {
798
+ margin: 0;
799
+ }
800
+
801
+ .odx-mx-0 {
802
+ margin-inline: 0;
803
+ }
804
+
805
+ .odx-ml-0 {
806
+ margin-inline-start: 0;
807
+ }
808
+
809
+ .odx-mr-0 {
810
+ margin-inline-end: 0;
811
+ }
812
+
813
+ .odx-my-0 {
814
+ margin-block: 0;
815
+ }
816
+
817
+ .odx-mt-0 {
818
+ margin-block-start: 0;
819
+ }
820
+
821
+ .odx-mb-0 {
822
+ margin-block-end: 0;
823
+ }
824
+
825
+ .odx-m-sm {
826
+ margin: var(--odx-spacing-layout-sm);
827
+ }
828
+
829
+ .odx-mx-sm {
830
+ margin-inline: var(--odx-spacing-layout-sm);
831
+ }
832
+
833
+ .odx-ml-sm {
834
+ margin-inline-start: var(--odx-spacing-layout-sm);
835
+ }
836
+
837
+ .odx-mr-sm {
838
+ margin-inline-end: var(--odx-spacing-layout-sm);
839
+ }
840
+
841
+ .odx-my-sm {
842
+ margin-block: var(--odx-spacing-layout-sm);
843
+ }
844
+
845
+ .odx-mt-sm {
846
+ margin-block-start: var(--odx-spacing-layout-sm);
847
+ }
848
+
849
+ .odx-mb-sm {
850
+ margin-block-end: var(--odx-spacing-layout-sm);
851
+ }
852
+
853
+ .odx-m-md {
854
+ margin: var(--odx-spacing-layout-md);
855
+ }
856
+
857
+ .odx-mx-md {
858
+ margin-inline: var(--odx-spacing-layout-md);
859
+ }
860
+
861
+ .odx-ml-md {
862
+ margin-inline-start: var(--odx-spacing-layout-md);
863
+ }
864
+
865
+ .odx-mr-md {
866
+ margin-inline-end: var(--odx-spacing-layout-md);
867
+ }
868
+
869
+ .odx-my-md {
870
+ margin-block: var(--odx-spacing-layout-md);
871
+ }
872
+
873
+ .odx-mt-md {
874
+ margin-block-start: var(--odx-spacing-layout-md);
875
+ }
876
+
877
+ .odx-mb-md {
878
+ margin-block-end: var(--odx-spacing-layout-md);
879
+ }
880
+
881
+ .odx-m-lg {
882
+ margin: var(--odx-spacing-layout-lg);
883
+ }
884
+
885
+ .odx-mx-lg {
886
+ margin-inline: var(--odx-spacing-layout-lg);
887
+ }
888
+
889
+ .odx-ml-lg {
890
+ margin-inline-start: var(--odx-spacing-layout-lg);
891
+ }
892
+
893
+ .odx-mr-lg {
894
+ margin-inline-end: var(--odx-spacing-layout-lg);
895
+ }
896
+
897
+ .odx-my-lg {
898
+ margin-block: var(--odx-spacing-layout-lg);
899
+ }
900
+
901
+ .odx-mt-lg {
902
+ margin-block-start: var(--odx-spacing-layout-lg);
903
+ }
904
+
905
+ .odx-mb-lg {
906
+ margin-block-end: var(--odx-spacing-layout-lg);
907
+ }
908
+ }