acrylblends 0.6.2 → 0.6.3
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/README.md +4 -1
- package/docs/framework/README.md +3 -2
- package/docs/framework/UPSTREAM.md +1 -1
- package/docs/framework/cordis/acryl-in-a-cordis-app.md +6 -0
- package/docs/framework/getting-started/basic.md +1 -0
- package/docs/framework/getting-started/desktop.md +41 -0
- package/docs/framework/guides/jsx-dom.md +0 -3
- package/docs/framework/guides/jsx.md +0 -3
- package/docs/framework/helpers/css.md +0 -3
- package/docs/framework/upstream.json +3 -3
- package/lib/accepts.d.ts +1 -1
- package/lib/acryl-base.d.ts +1 -1
- package/lib/adapter.d.ts +1 -1
- package/lib/{app-BdrVHBlJ.d.ts → app-wFwpg-bt.d.ts} +1 -1
- package/lib/base-BpQy2Rk7.d.ts +783 -0
- package/lib/base-ddiVmiE7.js +721 -0
- package/lib/basic-auth.d.ts +1 -1
- package/lib/bearer-auth.d.ts +1 -1
- package/lib/body-limit.d.ts +1 -1
- package/lib/cache.d.ts +1 -1
- package/lib/client.d.ts +2 -2
- package/lib/combine.d.ts +1 -1
- package/lib/common-D8Z4JRCw.d.ts +46 -0
- package/lib/components-Ce5FRyHU.js +268 -0
- package/lib/components-DYZdxJIJ.js +24 -0
- package/lib/compress.d.ts +1 -1
- package/lib/conninfo.d.ts +2 -2
- package/lib/constants-BR9jM9BC.js +9 -0
- package/lib/{context-B5Y1lLha.d.ts → context-DVQBjuns.d.ts} +1 -1
- package/lib/context-DxFdY_un.d.ts +250 -0
- package/lib/context-storage.d.ts +1 -1
- package/lib/{cookie-D9_nQbsM.d.ts → cookie-CCelEqky.d.ts} +1 -1
- package/lib/cookie.d.ts +3 -3
- package/lib/cors.d.ts +1 -1
- package/lib/csrf.d.ts +1 -1
- package/lib/css-D2jb7X8b.js +320 -0
- package/lib/css.d.ts +82 -0
- package/lib/css.js +134 -0
- package/lib/dev.d.ts +2 -2
- package/lib/etag.d.ts +1 -1
- package/lib/factory.d.ts +2 -2
- package/lib/hooks-Bq5q9IMl.js +762 -0
- package/lib/html-SllAe0YT.d.ts +46 -0
- package/lib/html.d.ts +1 -1
- package/lib/index-C850MeBA.d.ts +94 -0
- package/lib/{index-m12zcmph.d.ts → index-CUTfU69R.d.ts} +3 -3
- package/lib/{index-DtEoak1i.d.ts → index-Cqcdluyn.d.ts} +2 -2
- package/lib/{index-Kqou8Fjh.d.ts → index-CsvB-F9j.d.ts} +2 -2
- package/lib/index.d.ts +4 -4
- package/lib/ip-restriction.d.ts +2 -2
- package/lib/jsx/dom/client.d.ts +30 -0
- package/lib/jsx/dom/client.js +49 -0
- package/lib/jsx/dom/css.d.ts +84 -0
- package/lib/jsx/dom/css.js +2 -0
- package/lib/jsx/dom/jsx-dev-runtime.d.ts +3 -0
- package/lib/jsx/dom/jsx-dev-runtime.js +2 -0
- package/lib/jsx/dom/jsx-runtime.d.ts +3 -0
- package/lib/jsx/dom/jsx-runtime.js +2 -0
- package/lib/jsx/dom/server.d.ts +105 -0
- package/lib/jsx/dom/server.js +37 -0
- package/lib/jsx/dom.d.ts +5 -0
- package/lib/jsx/dom.js +74 -0
- package/lib/jsx/jsx-dev-runtime.d.ts +6 -0
- package/lib/jsx/jsx-dev-runtime.js +14 -0
- package/lib/jsx/jsx-runtime.d.ts +10 -0
- package/lib/jsx/jsx-runtime.js +30 -0
- package/lib/jsx/streaming.d.ts +2 -0
- package/lib/jsx/streaming.js +2 -0
- package/lib/jsx-dev-runtime-B22O-Npk.d.ts +7 -0
- package/lib/jsx-dev-runtime-kAhR_4C7.js +354 -0
- package/lib/jsx-runtime-BVVgDSdq.d.ts +1 -0
- package/lib/jsx.d.ts +3 -0
- package/lib/jsx.js +47 -0
- package/lib/jwk.d.ts +4 -4
- package/lib/{jwt-BA65QhnJ.d.ts → jwt-BARhotDz.d.ts} +1 -1
- package/lib/jwt.d.ts +4 -4
- package/lib/language.d.ts +1 -1
- package/lib/logger.d.ts +1 -1
- package/lib/loopback-only.d.ts +1 -1
- package/lib/method-not-allowed.d.ts +2 -2
- package/lib/method-override.d.ts +2 -2
- package/lib/mount.d.ts +1 -1
- package/lib/node-server/conninfo.d.ts +1 -1
- package/lib/node-server/serve-static.d.ts +1 -1
- package/lib/node-server/serve-static.js +1 -1
- package/lib/node-server.d.ts +1 -1
- package/lib/node-server.js +1 -1
- package/lib/powered-by.d.ts +1 -1
- package/lib/pretty-json.d.ts +1 -1
- package/lib/proxy.d.ts +1 -1
- package/lib/quick.d.ts +1 -1
- package/lib/request-id.d.ts +1 -1
- package/lib/request.d.ts +1 -1
- package/lib/route.d.ts +1 -1
- package/lib/schema-validator.d.ts +1 -1
- package/lib/secure-headers.d.ts +1 -1
- package/lib/{serve-static-Dw_m6KxR.js → serve-static-Cw23shXv.js} +1 -0
- package/lib/serve-static.d.ts +1 -1
- package/lib/streaming.d.ts +1 -1
- package/lib/testing.d.ts +4 -4
- package/lib/timeout.d.ts +1 -1
- package/lib/timing.d.ts +1 -1
- package/lib/tiny.d.ts +1 -1
- package/lib/trailing-slash.d.ts +1 -1
- package/lib/{types-Bd29gh2o.d.ts → types-CQiGmsWW.d.ts} +3 -3
- package/lib/{types-D9DEXMjE.d.ts → types-Lqx5BxQF.d.ts} +8 -1
- package/lib/{types-ZM9gIiKh.d.ts → types-nEL8VPDC.d.ts} +1 -1
- package/lib/types.d.ts +1 -1
- package/lib/utils/body.d.ts +1 -1
- package/lib/utils/cookie.d.ts +1 -1
- package/lib/utils/crypto.d.ts +1 -1
- package/lib/utils/html.d.ts +1 -45
- package/lib/utils/ipaddr.d.ts +1 -1
- package/lib/utils/jwt.d.ts +1 -1
- package/lib/utils/types.d.ts +2 -2
- package/lib/validator.d.ts +2 -2
- package/lib/ws.d.ts +1 -1
- package/package.json +45 -1
- package/plugins/acryl-inspect/upstream.json +1 -1
- package/plugins/acryl-node-server/upstream.json +1 -1
- package/plugins/acryl-router/src/core/helper/css/common.case.test.tsx +506 -0
- package/plugins/acryl-router/src/core/helper/css/common.ts +337 -0
- package/plugins/acryl-router/src/core/helper/css/index.test.tsx +678 -0
- package/plugins/acryl-router/src/core/helper/css/index.ts +262 -0
- package/plugins/acryl-router/src/core/helper/streaming/sse.test.tsx +557 -0
- package/plugins/acryl-router/src/core/jsx/base.test.tsx +97 -0
- package/plugins/acryl-router/src/core/jsx/base.ts +490 -0
- package/plugins/acryl-router/src/core/jsx/children.test.ts +52 -0
- package/plugins/acryl-router/src/core/jsx/children.ts +20 -0
- package/plugins/acryl-router/src/core/jsx/components.test.tsx +936 -0
- package/plugins/acryl-router/src/core/jsx/components.ts +257 -0
- package/plugins/acryl-router/src/core/jsx/constants.ts +6 -0
- package/plugins/acryl-router/src/core/jsx/context-isolation.test.ts +655 -0
- package/plugins/acryl-router/src/core/jsx/context.ts +266 -0
- package/plugins/acryl-router/src/core/jsx/dom/client.test.tsx +128 -0
- package/plugins/acryl-router/src/core/jsx/dom/client.ts +89 -0
- package/plugins/acryl-router/src/core/jsx/dom/components.test.tsx +330 -0
- package/plugins/acryl-router/src/core/jsx/dom/components.ts +39 -0
- package/plugins/acryl-router/src/core/jsx/dom/context.test.tsx +184 -0
- package/plugins/acryl-router/src/core/jsx/dom/context.ts +52 -0
- package/plugins/acryl-router/src/core/jsx/dom/css.test.tsx +149 -0
- package/plugins/acryl-router/src/core/jsx/dom/css.ts +263 -0
- package/plugins/acryl-router/src/core/jsx/dom/hooks/index.test.tsx +172 -0
- package/plugins/acryl-router/src/core/jsx/dom/hooks/index.ts +91 -0
- package/plugins/acryl-router/src/core/jsx/dom/index.test.tsx +3681 -0
- package/plugins/acryl-router/src/core/jsx/dom/index.ts +170 -0
- package/plugins/acryl-router/src/core/jsx/dom/intrinsic-element/components.test.tsx +1344 -0
- package/plugins/acryl-router/src/core/jsx/dom/intrinsic-element/components.ts +438 -0
- package/plugins/acryl-router/src/core/jsx/dom/jsx-dev-runtime.ts +23 -0
- package/plugins/acryl-router/src/core/jsx/dom/jsx-runtime.ts +8 -0
- package/plugins/acryl-router/src/core/jsx/dom/render.ts +879 -0
- package/plugins/acryl-router/src/core/jsx/dom/server.test.tsx +199 -0
- package/plugins/acryl-router/src/core/jsx/dom/server.ts +76 -0
- package/plugins/acryl-router/src/core/jsx/dom/utils.ts +7 -0
- package/plugins/acryl-router/src/core/jsx/hooks/dom.test.tsx +859 -0
- package/plugins/acryl-router/src/core/jsx/hooks/index.ts +437 -0
- package/plugins/acryl-router/src/core/jsx/hooks/string.test.tsx +40 -0
- package/plugins/acryl-router/src/core/jsx/index.test.tsx +1744 -0
- package/plugins/acryl-router/src/core/jsx/index.ts +115 -0
- package/plugins/acryl-router/src/core/jsx/intrinsic-element/common.ts +23 -0
- package/plugins/acryl-router/src/core/jsx/intrinsic-element/components.test.tsx +666 -0
- package/plugins/acryl-router/src/core/jsx/intrinsic-element/components.ts +210 -0
- package/plugins/acryl-router/src/core/jsx/intrinsic-elements.ts +938 -0
- package/plugins/acryl-router/src/core/jsx/jsx-dev-runtime.ts +26 -0
- package/plugins/acryl-router/src/core/jsx/jsx-runtime.test.tsx +85 -0
- package/plugins/acryl-router/src/core/jsx/jsx-runtime.ts +51 -0
- package/plugins/acryl-router/src/core/jsx/streaming.test.tsx +1281 -0
- package/plugins/acryl-router/src/core/jsx/streaming.ts +231 -0
- package/plugins/acryl-router/src/core/jsx/types.ts +41 -0
- package/plugins/acryl-router/src/core/jsx/utils.test.ts +366 -0
- package/plugins/acryl-router/src/core/jsx/utils.ts +202 -0
- package/plugins/acryl-router/src/core/utils/types.ts +6 -0
- package/plugins/acryl-router/src/helpers/index.ts +1 -0
- package/plugins/acryl-router/tests/jsx.spec.tsx +63 -0
- package/plugins/acryl-router/upstream.json +3 -3
- package/plugins/acryl-router-http/upstream.json +1 -1
- package/plugins/acryl-state/upstream.json +1 -1
- package/plugins/desktop/upstream.json +1 -1
- package/plugins/desktop-web/upstream.json +1 -1
- package/plugins/save/plugin.json +1 -1
- package/templates/todo/upstream.json +1 -1
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module
|
|
3
|
+
* css Helper for Acryl.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import { raw } from '../html/index.ts'
|
|
7
|
+
import { DOM_RENDERER } from '../../jsx/constants.ts'
|
|
8
|
+
import { createCssJsxDomObjects } from '../../jsx/dom/css.ts'
|
|
9
|
+
import { escapeToBuffer } from '../../utils/html.ts'
|
|
10
|
+
import type { HtmlEscapedCallback, HtmlEscapedString } from '../../utils/html.ts'
|
|
11
|
+
import type {
|
|
12
|
+
ClassNameSlug,
|
|
13
|
+
CssClassName as CssClassNameCommon,
|
|
14
|
+
CssVariableType,
|
|
15
|
+
OnInvalidSlug,
|
|
16
|
+
} from './common.ts'
|
|
17
|
+
import {
|
|
18
|
+
CLASS_NAME,
|
|
19
|
+
DEFAULT_STYLE_ID,
|
|
20
|
+
PSEUDO_GLOBAL_SELECTOR,
|
|
21
|
+
SELECTOR,
|
|
22
|
+
SELECTORS,
|
|
23
|
+
STYLE_STRING,
|
|
24
|
+
cssCommon,
|
|
25
|
+
cxCommon,
|
|
26
|
+
keyframesCommon,
|
|
27
|
+
viewTransitionCommon,
|
|
28
|
+
} from './common.ts'
|
|
29
|
+
export { rawCssString } from './common.ts'
|
|
30
|
+
export type { ClassNameSlug, OnInvalidSlug } from './common.ts'
|
|
31
|
+
|
|
32
|
+
type CssClassName = HtmlEscapedString & CssClassNameCommon
|
|
33
|
+
|
|
34
|
+
type usedClassNameData = [
|
|
35
|
+
Record<string, string>, // class name to add
|
|
36
|
+
Record<string, true>, // class name already added
|
|
37
|
+
]
|
|
38
|
+
|
|
39
|
+
interface CssType {
|
|
40
|
+
(strings: TemplateStringsArray, ...values: CssVariableType[]): Promise<string>
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
interface CxType {
|
|
44
|
+
(
|
|
45
|
+
...args: (CssClassName | Promise<string> | string | boolean | null | undefined)[]
|
|
46
|
+
): Promise<string>
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
interface KeyframesType {
|
|
50
|
+
(strings: TemplateStringsArray, ...values: CssVariableType[]): CssClassNameCommon
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
interface ViewTransitionType {
|
|
54
|
+
(strings: TemplateStringsArray, ...values: CssVariableType[]): Promise<string>
|
|
55
|
+
(content: Promise<string>): Promise<string>
|
|
56
|
+
(): Promise<string>
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
interface StyleType {
|
|
60
|
+
(args?: { children?: Promise<string>; nonce?: string }): HtmlEscapedString
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* @experimental
|
|
65
|
+
* `createCssContext` is an experimental feature.
|
|
66
|
+
* The API might be changed.
|
|
67
|
+
*
|
|
68
|
+
* @param options.id - The ID for the style element
|
|
69
|
+
* @param options.classNameSlug - Optional function to customize generated CSS class names
|
|
70
|
+
* @param options.onInvalidSlug - Optional callback function called when an invalid slug is returned from ClassNameSlug
|
|
71
|
+
*/
|
|
72
|
+
export const createCssContext = ({
|
|
73
|
+
id,
|
|
74
|
+
classNameSlug,
|
|
75
|
+
onInvalidSlug,
|
|
76
|
+
}: {
|
|
77
|
+
id: Readonly<string>
|
|
78
|
+
classNameSlug?: ClassNameSlug
|
|
79
|
+
onInvalidSlug?: OnInvalidSlug
|
|
80
|
+
}): DefaultContextType => {
|
|
81
|
+
const [cssJsxDomObject, StyleRenderToDom] = createCssJsxDomObjects({ id })
|
|
82
|
+
|
|
83
|
+
const contextMap: WeakMap<object, usedClassNameData> = new WeakMap()
|
|
84
|
+
const nonceMap: WeakMap<object, string | undefined> = new WeakMap()
|
|
85
|
+
|
|
86
|
+
const replaceStyleRe = new RegExp(`(<style id="${id}"(?: nonce="[^"]*")?>.*?)(</style>)`, 's')
|
|
87
|
+
|
|
88
|
+
const newCssClassNameObject = (cssClassName: CssClassNameCommon): Promise<string> => {
|
|
89
|
+
const appendStyle: HtmlEscapedCallback = ({ buffer, context }): Promise<string> | undefined => {
|
|
90
|
+
const [toAdd, added] = contextMap.get(context) as usedClassNameData
|
|
91
|
+
const names = Object.keys(toAdd)
|
|
92
|
+
|
|
93
|
+
if (!names.length) {
|
|
94
|
+
return
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
let stylesStr = ''
|
|
98
|
+
names.forEach((className) => {
|
|
99
|
+
added[className] = true
|
|
100
|
+
stylesStr += className.startsWith(PSEUDO_GLOBAL_SELECTOR)
|
|
101
|
+
? toAdd[className]
|
|
102
|
+
: `${className[0] === '@' ? '' : '.'}${className}{${toAdd[className]}}`
|
|
103
|
+
})
|
|
104
|
+
contextMap.set(context, [{}, added])
|
|
105
|
+
|
|
106
|
+
if (buffer && replaceStyleRe.test(buffer[0])) {
|
|
107
|
+
buffer[0] = buffer[0].replace(replaceStyleRe, (_, pre, post) => `${pre}${stylesStr}${post}`)
|
|
108
|
+
return
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
const nonce = nonceMap.get(context)
|
|
112
|
+
const appendStyleScript = `<script${
|
|
113
|
+
nonce ? ` nonce="${nonce}"` : ''
|
|
114
|
+
}>document.querySelector('#${id}').textContent+=${JSON.stringify(stylesStr)}</script>`
|
|
115
|
+
|
|
116
|
+
if (buffer) {
|
|
117
|
+
buffer[0] = `${appendStyleScript}${buffer[0]}`
|
|
118
|
+
return
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
return Promise.resolve(appendStyleScript)
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
const addClassNameToContext: HtmlEscapedCallback = ({ context }) => {
|
|
125
|
+
if (!contextMap.has(context)) {
|
|
126
|
+
contextMap.set(context, [{}, {}])
|
|
127
|
+
}
|
|
128
|
+
const [toAdd, added] = contextMap.get(context) as usedClassNameData
|
|
129
|
+
let allAdded = true
|
|
130
|
+
if (!added[cssClassName[SELECTOR]]) {
|
|
131
|
+
allAdded = false
|
|
132
|
+
toAdd[cssClassName[SELECTOR]] = cssClassName[STYLE_STRING]
|
|
133
|
+
}
|
|
134
|
+
cssClassName[SELECTORS].forEach(
|
|
135
|
+
({ [CLASS_NAME]: className, [STYLE_STRING]: styleString }) => {
|
|
136
|
+
if (!added[className]) {
|
|
137
|
+
allAdded = false
|
|
138
|
+
toAdd[className] = styleString
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
)
|
|
142
|
+
if (allAdded) {
|
|
143
|
+
return
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
return Promise.resolve(raw('', [appendStyle]))
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
// external class names from cx() are untrusted but the result is marked isEscaped,
|
|
150
|
+
// so escape it here. skip the buffer when there is nothing to escape.
|
|
151
|
+
const rawClassName = cssClassName[CLASS_NAME]
|
|
152
|
+
let escapedClassName = rawClassName
|
|
153
|
+
if (/[&<>'"]/.test(rawClassName)) {
|
|
154
|
+
const escapedBuffer: [string] = ['']
|
|
155
|
+
escapeToBuffer(rawClassName, escapedBuffer)
|
|
156
|
+
escapedClassName = escapedBuffer[0]
|
|
157
|
+
}
|
|
158
|
+
const className = new String(escapedClassName) as CssClassName
|
|
159
|
+
Object.assign(className, cssClassName)
|
|
160
|
+
;(className as HtmlEscapedString).isEscaped = true
|
|
161
|
+
;(className as HtmlEscapedString).callbacks = [addClassNameToContext]
|
|
162
|
+
const promise = Promise.resolve(className)
|
|
163
|
+
Object.assign(promise, cssClassName)
|
|
164
|
+
|
|
165
|
+
promise.toString = cssJsxDomObject.toString
|
|
166
|
+
return promise
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
const css: CssType = (strings, ...values) => {
|
|
170
|
+
return newCssClassNameObject(cssCommon(strings, values, classNameSlug, onInvalidSlug))
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
const cx: CxType = (...args) => {
|
|
174
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
175
|
+
args = cxCommon(args as any) as any
|
|
176
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
177
|
+
return css(Array(args.length).fill('') as any, ...args)
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
const keyframes: KeyframesType = (strings, ...values) =>
|
|
181
|
+
keyframesCommon(strings, values, classNameSlug, onInvalidSlug)
|
|
182
|
+
|
|
183
|
+
const viewTransition: ViewTransitionType = ((
|
|
184
|
+
strings: TemplateStringsArray | Promise<string> | undefined,
|
|
185
|
+
...values: CssVariableType[]
|
|
186
|
+
) => {
|
|
187
|
+
return newCssClassNameObject(
|
|
188
|
+
viewTransitionCommon(strings as any, values, classNameSlug, onInvalidSlug) // eslint-disable-line @typescript-eslint/no-explicit-any
|
|
189
|
+
)
|
|
190
|
+
}) as ViewTransitionType
|
|
191
|
+
|
|
192
|
+
const Style: StyleType = ({ children, nonce } = {}) =>
|
|
193
|
+
raw(
|
|
194
|
+
`<style id="${id}"${nonce ? ` nonce="${nonce}"` : ''}>${
|
|
195
|
+
children ? (children as unknown as CssClassName)[STYLE_STRING] : ''
|
|
196
|
+
}</style>`,
|
|
197
|
+
[
|
|
198
|
+
({ context }) => {
|
|
199
|
+
nonceMap.set(context, nonce)
|
|
200
|
+
return undefined
|
|
201
|
+
},
|
|
202
|
+
]
|
|
203
|
+
)
|
|
204
|
+
|
|
205
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
206
|
+
;(Style as any)[DOM_RENDERER] = StyleRenderToDom
|
|
207
|
+
|
|
208
|
+
return {
|
|
209
|
+
css,
|
|
210
|
+
cx,
|
|
211
|
+
keyframes,
|
|
212
|
+
viewTransition: viewTransition as ViewTransitionType,
|
|
213
|
+
Style,
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
interface DefaultContextType {
|
|
218
|
+
css: CssType
|
|
219
|
+
cx: CxType
|
|
220
|
+
keyframes: KeyframesType
|
|
221
|
+
viewTransition: ViewTransitionType
|
|
222
|
+
Style: StyleType
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
const defaultContext: DefaultContextType = createCssContext({
|
|
226
|
+
id: DEFAULT_STYLE_ID,
|
|
227
|
+
})
|
|
228
|
+
|
|
229
|
+
/**
|
|
230
|
+
* @experimental
|
|
231
|
+
* `css` is an experimental feature.
|
|
232
|
+
* The API might be changed.
|
|
233
|
+
*/
|
|
234
|
+
export const css = defaultContext.css
|
|
235
|
+
|
|
236
|
+
/**
|
|
237
|
+
* @experimental
|
|
238
|
+
* `cx` is an experimental feature.
|
|
239
|
+
* The API might be changed.
|
|
240
|
+
*/
|
|
241
|
+
export const cx = defaultContext.cx
|
|
242
|
+
|
|
243
|
+
/**
|
|
244
|
+
* @experimental
|
|
245
|
+
* `keyframes` is an experimental feature.
|
|
246
|
+
* The API might be changed.
|
|
247
|
+
*/
|
|
248
|
+
export const keyframes = defaultContext.keyframes
|
|
249
|
+
|
|
250
|
+
/**
|
|
251
|
+
* @experimental
|
|
252
|
+
* `viewTransition` is an experimental feature.
|
|
253
|
+
* The API might be changed.
|
|
254
|
+
*/
|
|
255
|
+
export const viewTransition = defaultContext.viewTransition
|
|
256
|
+
|
|
257
|
+
/**
|
|
258
|
+
* @experimental
|
|
259
|
+
* `Style` is an experimental feature.
|
|
260
|
+
* The API might be changed.
|
|
261
|
+
*/
|
|
262
|
+
export const Style = defaultContext.Style
|