tungsten 0.3.3 → 0.3.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/.build-complete +1 -1
- package/dist/Components.d.ts +6 -1
- package/dist/Components.d.ts.map +1 -1
- package/dist/Components.js +103 -40
- package/dist/DomPointer.d.ts +11 -0
- package/dist/DomPointer.d.ts.map +1 -1
- package/dist/DomPointer.js +15 -0
- package/dist/DomRegion.d.ts +2 -0
- package/dist/DomRegion.d.ts.map +1 -1
- package/dist/DomRegion.js +23 -3
- package/dist/Framework.d.ts.map +1 -1
- package/dist/Framework.js +27 -5
- package/dist/FrameworkConfig.d.ts +2 -0
- package/dist/FrameworkConfig.d.ts.map +1 -1
- package/dist/Instance/Instance.d.ts +1 -1
- package/dist/Instance/Instance.d.ts.map +1 -1
- package/dist/Servers/DevServer.d.ts.map +1 -1
- package/dist/Servers/DevServer.js +3 -3
- package/dist/Servers/ProdServer.d.ts +1 -1
- package/dist/Servers/ProdServer.d.ts.map +1 -1
- package/dist/Servers/ProdServer.js +13 -3
- package/dist/Servers/loadEnvsDev.d.ts.map +1 -1
- package/dist/Servers/loadEnvsDev.js +16 -5
- package/dist/babelPlugins/BabelExtractComponentStylesheet.d.ts +13 -0
- package/dist/babelPlugins/BabelExtractComponentStylesheet.d.ts.map +1 -0
- package/dist/babelPlugins/BabelExtractComponentStylesheet.js +24 -0
- package/dist/babelPlugins/BabelTransformComponentStyles.d.ts +2 -0
- package/dist/babelPlugins/BabelTransformComponentStyles.d.ts.map +1 -1
- package/dist/babelPlugins/BabelTransformComponentStyles.js +21 -5
- package/dist/babelPlugins/BabelTransformPackageImports.d.ts +1 -0
- package/dist/babelPlugins/BabelTransformPackageImports.d.ts.map +1 -1
- package/dist/babelPlugins/BabelTransformPackageImports.js +21 -9
- package/dist/bin/commands/build.d.ts.map +1 -1
- package/dist/bin/commands/build.js +9 -2
- package/dist/bin/commands/compile.d.ts.map +1 -1
- package/dist/bin/commands/compile.js +7 -2
- package/dist/build/CompilationInfo.d.ts +1 -0
- package/dist/build/CompilationInfo.d.ts.map +1 -1
- package/dist/build/combineComponentCss.d.ts +1 -1
- package/dist/build/combineComponentCss.d.ts.map +1 -1
- package/dist/build/combineComponentCss.js +3 -3
- package/dist/build/compileJavascript.d.ts.map +1 -1
- package/dist/build/compileJavascript.js +2 -2
- package/dist/build/compileUserApp.d.ts.map +1 -1
- package/dist/build/compileUserApp.js +14 -5
- package/dist/build/frameworkStylesheets.d.ts +5 -0
- package/dist/build/frameworkStylesheets.d.ts.map +1 -0
- package/dist/build/frameworkStylesheets.js +49 -0
- package/dist/build/getPackageDirForFile.d.ts +2 -0
- package/dist/build/getPackageDirForFile.d.ts.map +1 -0
- package/dist/build/getPackageDirForFile.js +11 -0
- package/dist/build/getSxyClientPackageAliases.d.ts.map +1 -1
- package/dist/build/getSxyClientPackageAliases.js +3 -1
- package/dist/build/makeBabelUserDevConfig.d.ts +1 -1
- package/dist/build/makeBabelUserDevConfig.d.ts.map +1 -1
- package/dist/build/makeBabelUserDevConfig.js +3 -2
- package/dist/build/makeBabelUserProdConfig.d.ts +1 -1
- package/dist/build/makeBabelUserProdConfig.d.ts.map +1 -1
- package/dist/build/makeBabelUserProdConfig.js +4 -2
- package/dist/build/rollup.user.prod.config.d.ts.map +1 -1
- package/dist/build/rollup.user.prod.config.js +4 -1
- package/dist/build/rollupExtractComponentStylesheets.d.ts +12 -0
- package/dist/build/rollupExtractComponentStylesheets.d.ts.map +1 -0
- package/dist/build/rollupExtractComponentStylesheets.js +35 -0
- package/dist/compat/context.d.ts +1 -1
- package/dist/compat/context.d.ts.map +1 -1
- package/dist/componentCss/i/T-components-library-RichTextEditor-RichTextEditor.css +115 -0
- package/dist/componentCss/i/T-components-library-__StatefulMessage-StatefulMessage.css +25 -0
- package/dist/componentCss/tungsten.css +2 -0
- package/dist/componentProxyHandlers.d.ts +2 -1
- package/dist/componentProxyHandlers.d.ts.map +1 -1
- package/dist/componentProxyHandlers.js +45 -9
- package/dist/components/GoToComponent.d.ts +1 -1
- package/dist/components/GoToComponent.d.ts.map +1 -1
- package/dist/components/_GoToComponent.d.ts +10 -0
- package/dist/components/_GoToComponent.d.ts.map +1 -0
- package/dist/components/_GoToComponent.js +13 -0
- package/dist/components/library/RichTextEditor/RichTextEditor.d.ts +50 -0
- package/dist/components/library/RichTextEditor/RichTextEditor.d.ts.map +1 -0
- package/dist/components/library/RichTextEditor/RichTextEditor.js +458 -0
- package/dist/components/library/RichTextEditor/StoredContentNode.d.ts +5 -0
- package/dist/components/library/RichTextEditor/StoredContentNode.d.ts.map +1 -0
- package/dist/components/library/RichTextEditor/StoredContentNode.js +1 -0
- package/dist/components/library/RichTextEditor/activeFormats.d.ts +20 -0
- package/dist/components/library/RichTextEditor/activeFormats.d.ts.map +1 -0
- package/dist/components/library/RichTextEditor/activeFormats.js +48 -0
- package/dist/components/library/RichTextEditor/contentTree.d.ts +30 -0
- package/dist/components/library/RichTextEditor/contentTree.d.ts.map +1 -0
- package/dist/components/library/RichTextEditor/contentTree.js +81 -0
- package/dist/components/library/RichTextEditor/sanitizeAuthoredHtml.d.ts +30 -0
- package/dist/components/library/RichTextEditor/sanitizeAuthoredHtml.d.ts.map +1 -0
- package/dist/components/library/RichTextEditor/sanitizeAuthoredHtml.js +97 -0
- package/dist/components/library/__StatefulMessage/MessageData.d.ts +7 -0
- package/dist/components/library/__StatefulMessage/MessageData.d.ts.map +1 -0
- package/dist/components/library/__StatefulMessage/MessageData.js +1 -0
- package/dist/components/library/__StatefulMessage/StatefulMessage.d.ts +22 -0
- package/dist/components/library/__StatefulMessage/StatefulMessage.d.ts.map +1 -0
- package/dist/components/library/__StatefulMessage/StatefulMessage.js +88 -0
- package/dist/components/library/index.d.ts +5 -0
- package/dist/components/library/index.d.ts.map +1 -0
- package/dist/components/library/index.js +7 -0
- package/dist/defaultConfig.d.ts +1 -0
- package/dist/defaultConfig.d.ts.map +1 -1
- package/dist/defaultConfig.js +1 -0
- package/dist/env/injectEnv.d.ts +1 -1
- package/dist/env/injectEnv.d.ts.map +1 -1
- package/dist/env/injectEnv.js +16 -6
- package/dist/findUserConfig.d.ts +1 -1
- package/dist/indexInner.d.ts +5 -5
- package/dist/indexInner.d.ts.map +1 -1
- package/dist/indexInner.js +2 -1
- package/dist/postcssPlugins/TransformCssNames.d.ts.map +1 -1
- package/dist/postcssPlugins/TransformCssNames.js +10 -2
- package/dist/propsAreEqual.d.ts +8 -0
- package/dist/propsAreEqual.d.ts.map +1 -0
- package/dist/propsAreEqual.js +97 -0
- package/dist/render/HeadData.d.ts +1 -0
- package/dist/render/HeadData.d.ts.map +1 -1
- package/dist/render/contentToHtml.d.ts.map +1 -1
- package/dist/render/contentToHtml.js +1 -0
- package/dist/render/instantiateClassComponent.d.ts.map +1 -1
- package/dist/render/instantiateClassComponent.js +4 -0
- package/dist/render/processHead.d.ts.map +1 -1
- package/dist/render/processHead.js +14 -1
- package/dist/settings.d.ts +2 -0
- package/dist/settings.d.ts.map +1 -1
- package/dist/settings.js +3 -0
- package/dist/stateTracking.d.ts +47 -0
- package/dist/stateTracking.d.ts.map +1 -0
- package/dist/stateTracking.js +83 -0
- package/dist/staticGen/staticGen.d.ts.map +1 -1
- package/dist/staticGen/staticGen.js +117 -107
- package/dist/testing/installTestStyleProcessors.d.ts +2 -0
- package/dist/testing/installTestStyleProcessors.d.ts.map +1 -0
- package/dist/testing/installTestStyleProcessors.js +21 -0
- package/dist/testing/temp/componentPackageMock.d.ts +18 -0
- package/dist/testing/temp/componentPackageMock.d.ts.map +1 -0
- package/dist/testing/temp/componentPackageMock.js +37 -0
- package/dist/testing/temp/contentHtmlElements.d.ts +3 -0
- package/dist/testing/temp/contentHtmlElements.d.ts.map +1 -0
- package/dist/testing/temp/contentHtmlElements.js +12 -0
- package/dist/update/integrateUpdateVdom.d.ts.map +1 -1
- package/dist/update/integrateUpdateVdom.js +160 -51
- package/dist/update/pendingMounts.d.ts +25 -0
- package/dist/update/pendingMounts.d.ts.map +1 -0
- package/dist/update/pendingMounts.js +55 -0
- package/package.json +4 -2
- package/dist/env/parseEnv.d.ts +0 -2
- package/dist/env/parseEnv.d.ts.map +0 -1
- package/dist/env/parseEnv.js +0 -14
|
@@ -3,8 +3,9 @@ import { compileJavascript } from "./compileJavascript.js";
|
|
|
3
3
|
import { compileStyles } from "./compileStyles.js";
|
|
4
4
|
import { copyAssets } from "./copyAssets.js";
|
|
5
5
|
import { copyPublicFiles } from "./copyPublicFiles.js";
|
|
6
|
-
import { buildCodeSubPath, bundleFolder, devBuildOuterFolder, prodBuildFolder } from "../settings.js";
|
|
6
|
+
import { buildCodeSubPath, bundleFolder, devBuildOuterFolder, frameworkCssFile, frameworkCssFolder, prodBuildFolder } from "../settings.js";
|
|
7
7
|
import { combineComponentCss } from "./combineComponentCss.js";
|
|
8
|
+
import { writeFrameworkCss } from "./frameworkStylesheets.js";
|
|
8
9
|
import { emitReloadEvent } from "../hmr/liveReloadHub.js";
|
|
9
10
|
import { createTimeProfiler } from "../timeProfiler.js";
|
|
10
11
|
//import { compileEnv } from './compileEnv.js'
|
|
@@ -16,15 +17,18 @@ export async function compileUserApp(projectDir, appConfig, mode, profiler = cre
|
|
|
16
17
|
const buildLocation = mode === 'dev' ? join(projectDir, devBuildOuterFolder) : join(projectDir, prodBuildFolder);
|
|
17
18
|
const codeSubPath = buildCodeSubPath;
|
|
18
19
|
const buildCodeLocation = join(buildLocation, codeSubPath);
|
|
19
|
-
|
|
20
|
+
// a prod build is one-shot: watching would leave chokidar handles holding the event loop
|
|
21
|
+
// open, so the command could only ever end by hard-exiting
|
|
22
|
+
const watch = mode === 'dev';
|
|
23
|
+
const compileJavascriptPromise = profiler.timeProfileAsync('compile javascript', () => compileJavascript(projectDir, appConfig, codeLocation, sourceLocation, styleImportBase, buildLocation, buildCodeLocation, mode, watch, mode === 'dev' ? {
|
|
20
24
|
onCycleComplete: cycle => {
|
|
21
25
|
if (cycle.success) emitReloadEvent('js', cycle.file);
|
|
22
26
|
}
|
|
23
27
|
} : {}));
|
|
24
28
|
//const compileEnvPromise = compileEnv(projectDir, appConfig, codeLocation, buildLocation, mode)
|
|
25
|
-
const compileStylesPromise = profiler.timeProfileAsync('compile styles', () => compileStyles(projectDir, appConfig, styleImportBase, buildLocation,
|
|
26
|
-
const copyAssetsPromise = profiler.timeProfileAsync('copy assets', () => copyAssets(projectDir, appConfig, buildLocation));
|
|
27
|
-
const copyPublicFilesPromise = profiler.timeProfileAsync('copy public files', () => copyPublicFiles(projectDir, appConfig, buildLocation));
|
|
29
|
+
const compileStylesPromise = profiler.timeProfileAsync('compile styles', () => compileStyles(projectDir, appConfig, styleImportBase, buildLocation, watch, mode === 'dev' ? () => emitReloadEvent('css') : undefined));
|
|
30
|
+
const copyAssetsPromise = profiler.timeProfileAsync('copy assets', () => copyAssets(projectDir, appConfig, buildLocation, watch));
|
|
31
|
+
const copyPublicFilesPromise = profiler.timeProfileAsync('copy public files', () => copyPublicFiles(projectDir, appConfig, buildLocation, watch));
|
|
28
32
|
const {
|
|
29
33
|
importAliases
|
|
30
34
|
} = await compileJavascriptPromise;
|
|
@@ -33,6 +37,10 @@ export async function compileUserApp(projectDir, appConfig, mode, profiler = cre
|
|
|
33
37
|
await copyAssetsPromise;
|
|
34
38
|
await copyPublicFilesPromise;
|
|
35
39
|
if (mode === 'prod') await profiler.timeProfileAsync('combine component css', () => combineComponentCss(buildLocation));
|
|
40
|
+
const frameworkCss = await profiler.timeProfileAsync('write framework css', () => writeFrameworkCss(buildLocation));
|
|
41
|
+
if (mode === 'prod' && frameworkCss !== undefined) {
|
|
42
|
+
await profiler.timeProfileAsync('combine framework css', () => combineComponentCss(buildLocation, frameworkCssFolder, frameworkCssFile));
|
|
43
|
+
}
|
|
36
44
|
const compilationInfo = {
|
|
37
45
|
type: 'success',
|
|
38
46
|
projectDir,
|
|
@@ -43,6 +51,7 @@ export async function compileUserApp(projectDir, appConfig, mode, profiler = cre
|
|
|
43
51
|
location: buildLocation,
|
|
44
52
|
importAliases
|
|
45
53
|
};
|
|
54
|
+
if (frameworkCss !== undefined) compilationInfo.frameworkCss = frameworkCss;
|
|
46
55
|
if (mode === 'prod') compilationInfo.bundleLocation = join(projectDir, bundleFolder);
|
|
47
56
|
return compilationInfo;
|
|
48
57
|
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare function recordFrameworkStylesheet(packageDir: string, rel: string): void;
|
|
2
|
+
export declare function clearFrameworkStylesheets(): void;
|
|
3
|
+
export declare function frameworkCssPath(buildLocation: string): string | undefined;
|
|
4
|
+
export declare function writeFrameworkCss(buildLocation: string): Promise<string | undefined>;
|
|
5
|
+
//# sourceMappingURL=frameworkStylesheets.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"frameworkStylesheets.d.ts","sourceRoot":"","sources":["../../src/build/frameworkStylesheets.ts"],"names":[],"mappings":"AAqBA,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAE/E;AAED,wBAAgB,yBAAyB,IAAI,IAAI,CAEhD;AAGD,wBAAgB,gBAAgB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAI1E;AAID,wBAAsB,iBAAiB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAqB1F"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { existsSync, promises as fsPromises } from 'fs';
|
|
2
|
+
import { dirname, join } from 'path';
|
|
3
|
+
import slash from 'slash';
|
|
4
|
+
import { frameworkCssFile, frameworkCssFolder, frameworkDistFolder } from "../settings.js";
|
|
5
|
+
// Component stylesheets named by a `$stylesheet` static on a package component, collected while
|
|
6
|
+
// the package import tree is walked so only components the app actually imports contribute.
|
|
7
|
+
// Held on globalThis because moduleReloader busts the ES module cache in dev, so the collector
|
|
8
|
+
// and the writer can otherwise end up with separate module instances.
|
|
9
|
+
const $collected = Symbol.for('tungsten.frameworkStylesheets');
|
|
10
|
+
function getCollected() {
|
|
11
|
+
const existing = Reflect.get(globalThis, $collected);
|
|
12
|
+
if (existing instanceof Map) return existing;
|
|
13
|
+
const created = new Map();
|
|
14
|
+
Reflect.set(globalThis, $collected, created);
|
|
15
|
+
return created;
|
|
16
|
+
}
|
|
17
|
+
export function recordFrameworkStylesheet(packageDir, rel) {
|
|
18
|
+
getCollected().set(join(packageDir, frameworkDistFolder, 'componentCss', rel), rel);
|
|
19
|
+
}
|
|
20
|
+
export function clearFrameworkStylesheets() {
|
|
21
|
+
getCollected().clear();
|
|
22
|
+
}
|
|
23
|
+
// Web path of an already-written manifest, for a process serving a build it did not produce.
|
|
24
|
+
export function frameworkCssPath(buildLocation) {
|
|
25
|
+
return existsSync(join(buildLocation, frameworkCssFolder, frameworkCssFile)) ? `/${frameworkCssFolder}/${frameworkCssFile}` : undefined;
|
|
26
|
+
}
|
|
27
|
+
// Copies the collected stylesheets into the build and writes their manifest.
|
|
28
|
+
// Returns the manifest's web path, or undefined when nothing contributed.
|
|
29
|
+
export async function writeFrameworkCss(buildLocation) {
|
|
30
|
+
const collected = getCollected();
|
|
31
|
+
if (collected.size === 0) return undefined;
|
|
32
|
+
const target = join(buildLocation, frameworkCssFolder);
|
|
33
|
+
const imports = [];
|
|
34
|
+
for (const [source, rel] of collected) {
|
|
35
|
+
if (!existsSync(source)) continue;
|
|
36
|
+
const dest = join(target, rel);
|
|
37
|
+
await fsPromises.mkdir(dirname(dest), {
|
|
38
|
+
recursive: true
|
|
39
|
+
});
|
|
40
|
+
await fsPromises.copyFile(source, dest);
|
|
41
|
+
imports.push(`@import "${slash(rel)}";`);
|
|
42
|
+
}
|
|
43
|
+
if (imports.length === 0) return undefined;
|
|
44
|
+
await fsPromises.mkdir(target, {
|
|
45
|
+
recursive: true
|
|
46
|
+
});
|
|
47
|
+
await fsPromises.writeFile(join(target, frameworkCssFile), imports.join('\n') + '\n');
|
|
48
|
+
return `/${frameworkCssFolder}/${frameworkCssFile}`;
|
|
49
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getPackageDirForFile.d.ts","sourceRoot":"","sources":["../../src/build/getPackageDirForFile.ts"],"names":[],"mappings":"AAQA,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAIrE"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { dirname } from 'path';
|
|
2
|
+
import { findProjectDir } from "../findProjectDir.js";
|
|
3
|
+
const cache = {};
|
|
4
|
+
// Package boundary for a file. Nameless package.json files are not boundaries — see findProjectDir.
|
|
5
|
+
export function getPackageDirForFile(file) {
|
|
6
|
+
const dir = dirname(file);
|
|
7
|
+
if (dir in cache) return cache[dir];
|
|
8
|
+
return cache[dir] = findProjectDir(dir, {
|
|
9
|
+
requireName: true
|
|
10
|
+
});
|
|
11
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getSxyClientPackageAliases.d.ts","sourceRoot":"","sources":["../../src/build/getSxyClientPackageAliases.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAQvD,wBAAgB,+BAA+B,IAAI,aAAa,
|
|
1
|
+
{"version":3,"file":"getSxyClientPackageAliases.d.ts","sourceRoot":"","sources":["../../src/build/getSxyClientPackageAliases.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAQvD,wBAAgB,+BAA+B,IAAI,aAAa,CAgC/D"}
|
|
@@ -10,7 +10,9 @@ export function getTungstenClientPackageAliases() {
|
|
|
10
10
|
// I think these are only used in dev
|
|
11
11
|
const importAliases = {
|
|
12
12
|
'tungsten': `${frameworkDestLocation}/index.js`,
|
|
13
|
-
'tungsten/jsxRuntime.js': `${frameworkDestLocation}/jsxRuntime.js
|
|
13
|
+
'tungsten/jsxRuntime.js': `${frameworkDestLocation}/jsxRuntime.js`,
|
|
14
|
+
// The component library, mirroring the `./library` subpath in exports.
|
|
15
|
+
'tungsten/library': `${frameworkDestLocation}/components/library/index.js`
|
|
14
16
|
//'tungsten': `${frameworkDestLocation}/indexBundle.js`,
|
|
15
17
|
//'tungsten/jsxRuntime.js': `${frameworkDestLocation}/indexBundle.js`,
|
|
16
18
|
//'tungsten/TungstenError.js': `${frameworkDestLocation}/TungstenError.js`,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { TransformOptions } from '@babel/core';
|
|
2
2
|
import type { ImportAliases } from './ImportAliases.js';
|
|
3
3
|
import { DependencyGraph } from '../babelPlugins/BabelTransformPackageImports.js';
|
|
4
|
-
export declare function makeBabelUserDevConfig(projectDir: string, absCodeDir: string, absSourceDir: string, absStyleImportBase: string, buildLocation: string, buildCodeLocation: string, packagesCacheLocation: string, skipPackageCompilationFiles: ReadonlySet<string>, oldDependencyGraph: DependencyGraph, dependencyGraph: DependencyGraph, importAliases: ImportAliases, promises: Promise<any>[]): TransformOptions;
|
|
4
|
+
export declare function makeBabelUserDevConfig(projectDir: string, absCodeDir: string, absSourceDir: string, absStyleImportBase: string, buildLocation: string, buildCodeLocation: string, packagesCacheLocation: string, skipPackageCompilationFiles: ReadonlySet<string>, oldDependencyGraph: DependencyGraph, dependencyGraph: DependencyGraph, importAliases: ImportAliases, promises: Promise<any>[], watchStyles?: boolean): TransformOptions;
|
|
5
5
|
//# sourceMappingURL=makeBabelUserDevConfig.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"makeBabelUserDevConfig.d.ts","sourceRoot":"","sources":["../../src/build/makeBabelUserDevConfig.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAKnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAEvD,OAAO,EAAoC,eAAe,EAAE,MAAM,iDAAiD,CAAA;AAOnH,wBAAgB,sBAAsB,CAClC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,kBAAkB,EAAE,MAAM,EAC1B,aAAa,EAAE,MAAM,EACrB,iBAAiB,EAAE,MAAM,EACzB,qBAAqB,EAAE,MAAM,EAC7B,2BAA2B,EAAE,WAAW,CAAC,MAAM,CAAC,EAChD,kBAAkB,EAAE,eAAe,EACnC,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"makeBabelUserDevConfig.d.ts","sourceRoot":"","sources":["../../src/build/makeBabelUserDevConfig.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAKnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAEvD,OAAO,EAAoC,eAAe,EAAE,MAAM,iDAAiD,CAAA;AAOnH,wBAAgB,sBAAsB,CAClC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,kBAAkB,EAAE,MAAM,EAC1B,aAAa,EAAE,MAAM,EACrB,iBAAiB,EAAE,MAAM,EACzB,qBAAqB,EAAE,MAAM,EAC7B,2BAA2B,EAAE,WAAW,CAAC,MAAM,CAAC,EAChD,kBAAkB,EAAE,eAAe,EACnC,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,EACxB,WAAW,UAAO,GACnB,gBAAgB,CAgClB"}
|
|
@@ -7,7 +7,7 @@ import { componentCssFolder, componentCssFile } from "../settings.js";
|
|
|
7
7
|
import userCommonConfig from "./babel.user.common.config.js";
|
|
8
8
|
import { MakeBabelTransformCssImports } from "../babelPlugins/BabelTransformCssImports.js";
|
|
9
9
|
import { MakeBabelAddDevCacheBust } from "../babelPlugins/BabelAddDevCacheBust.js";
|
|
10
|
-
export function makeBabelUserDevConfig(projectDir, absCodeDir, absSourceDir, absStyleImportBase, buildLocation, buildCodeLocation, packagesCacheLocation, skipPackageCompilationFiles, oldDependencyGraph, dependencyGraph, importAliases, promises) {
|
|
10
|
+
export function makeBabelUserDevConfig(projectDir, absCodeDir, absSourceDir, absStyleImportBase, buildLocation, buildCodeLocation, packagesCacheLocation, skipPackageCompilationFiles, oldDependencyGraph, dependencyGraph, importAliases, promises, watchStyles = true) {
|
|
11
11
|
const userDevConfig = objectCopy(userCommonConfig);
|
|
12
12
|
userDevConfig.plugins.push(MakeBabelTransformPackageImports({
|
|
13
13
|
projectDir: projectDir,
|
|
@@ -29,7 +29,8 @@ export function makeBabelUserDevConfig(projectDir, absCodeDir, absSourceDir, abs
|
|
|
29
29
|
projectAbsSourceDir: absSourceDir,
|
|
30
30
|
projectAbsStyleImportDir: absStyleImportBase,
|
|
31
31
|
classNameFormat: '[folder]-[name]_[local]',
|
|
32
|
-
cssOutputFile: join(buildLocation, componentCssFolder, componentCssFile)
|
|
32
|
+
cssOutputFile: join(buildLocation, componentCssFolder, componentCssFile),
|
|
33
|
+
watch: watchStyles
|
|
33
34
|
}),
|
|
34
35
|
// Dev-only: keeps every relative import's browser-cached URL in sync with the
|
|
35
36
|
// imported file's own on-disk mtime - see BabelAddDevCacheBust.ts and
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { TransformOptions } from '@babel/core';
|
|
2
|
-
export declare function makeBabelUserProdConfig(projectDir: string, absCodeDir: string, absSourceDir: string, absStyleImportBase: string): TransformOptions;
|
|
2
|
+
export declare function makeBabelUserProdConfig(projectDir: string, absCodeDir: string, absSourceDir: string, absStyleImportBase: string, watchStyles?: boolean): TransformOptions;
|
|
3
3
|
//# sourceMappingURL=makeBabelUserProdConfig.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"makeBabelUserProdConfig.d.ts","sourceRoot":"","sources":["../../src/build/makeBabelUserProdConfig.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAMnD,wBAAgB,uBAAuB,CACnC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,kBAAkB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"makeBabelUserProdConfig.d.ts","sourceRoot":"","sources":["../../src/build/makeBabelUserProdConfig.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAMnD,wBAAgB,uBAAuB,CACnC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,kBAAkB,EAAE,MAAM,EAC1B,WAAW,UAAO,GACnB,gBAAgB,CAgBlB"}
|
|
@@ -5,7 +5,7 @@ import { MakeBabelTransformComponentStyles } from "../babelPlugins/BabelTransfor
|
|
|
5
5
|
import { prodBuildFolder, componentCssFolder, componentCssFile } from "../settings.js";
|
|
6
6
|
import userCommonConfig from "./babel.user.common.config.js";
|
|
7
7
|
import { MakeBabelTransformCssImports } from "../babelPlugins/BabelTransformCssImports.js";
|
|
8
|
-
export function makeBabelUserProdConfig(projectDir, absCodeDir, absSourceDir, absStyleImportBase) {
|
|
8
|
+
export function makeBabelUserProdConfig(projectDir, absCodeDir, absSourceDir, absStyleImportBase, watchStyles = true) {
|
|
9
9
|
const userProdConfig = objectCopy(userCommonConfig);
|
|
10
10
|
userProdConfig.plugins.push(
|
|
11
11
|
// eslint-disable-line @typescript-eslint/no-non-null-assertion
|
|
@@ -18,7 +18,9 @@ export function makeBabelUserProdConfig(projectDir, absCodeDir, absSourceDir, ab
|
|
|
18
18
|
projectAbsSourceDir: absSourceDir,
|
|
19
19
|
projectAbsStyleImportDir: absStyleImportBase,
|
|
20
20
|
classNameFormat: '[folder]-[name]_[local]',
|
|
21
|
-
cssOutputFile: join(projectDir, prodBuildFolder, componentCssFolder, componentCssFile)
|
|
21
|
+
cssOutputFile: join(projectDir, prodBuildFolder, componentCssFolder, componentCssFile),
|
|
22
|
+
// should only need to pass one
|
|
23
|
+
watch: watchStyles
|
|
22
24
|
}));
|
|
23
25
|
return userProdConfig;
|
|
24
26
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rollup.user.prod.config.d.ts","sourceRoot":"","sources":["../../src/build/rollup.user.prod.config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"rollup.user.prod.config.d.ts","sourceRoot":"","sources":["../../src/build/rollup.user.prod.config.ts"],"names":[],"mappings":"AAcA,KAAK,YAAY,GAAG;IAChB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACrB,CAAA;AAeD,QAAA,MAAM,YAAY,EAAE,YAoBnB,CAAA;AAED,eAAe,YAAY,CAAA"}
|
|
@@ -6,6 +6,7 @@ import terser from "@rollup/plugin-terser";
|
|
|
6
6
|
import jsonModule from "@rollup/plugin-json";
|
|
7
7
|
import { MakeBabelTransformRemoveServerBlocks } from "../babelPlugins/BabelTransformRemoveServerBlocks.js";
|
|
8
8
|
import { MakeBabelTransformRemoveDevBlocks } from "../babelPlugins/BabelTransformRemoveDevBlocks.js";
|
|
9
|
+
import { rollupExtractComponentStylesheets } from "./rollupExtractComponentStylesheets.js";
|
|
9
10
|
const json = typeof jsonModule === "function" ? jsonModule : jsonModule.default;
|
|
10
11
|
function replaceProductionNodeEnv() {
|
|
11
12
|
return {
|
|
@@ -22,7 +23,9 @@ function replaceProductionNodeEnv() {
|
|
|
22
23
|
const rollupConfig = {
|
|
23
24
|
plugins: [json(), nodeResolve(), commonjs(),
|
|
24
25
|
// must be before babel
|
|
25
|
-
replaceProductionNodeEnv(),
|
|
26
|
+
replaceProductionNodeEnv(),
|
|
27
|
+
// before babel, which excludes node_modules and so never sees framework components
|
|
28
|
+
rollupExtractComponentStylesheets(), babel({
|
|
26
29
|
babelHelpers: 'bundled',
|
|
27
30
|
exclude: '**/node_modules/**',
|
|
28
31
|
plugins: [MakeBabelTransformRemoveServerBlocks(), MakeBabelTransformRemoveDevBlocks()]
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare function rollupExtractComponentStylesheets(): {
|
|
2
|
+
name: string;
|
|
3
|
+
transform(code: string, id: string): {
|
|
4
|
+
code: string;
|
|
5
|
+
map: null;
|
|
6
|
+
} | null;
|
|
7
|
+
writeBundle(outputOptions: {
|
|
8
|
+
file?: string;
|
|
9
|
+
dir?: string;
|
|
10
|
+
}): Promise<void>;
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=rollupExtractComponentStylesheets.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rollupExtractComponentStylesheets.d.ts","sourceRoot":"","sources":["../../src/build/rollupExtractComponentStylesheets.ts"],"names":[],"mappings":"AAYA,wBAAgB,iCAAiC;;oBAIzB,MAAM,MAAM,MAAM;;;;+BAgBD;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE;EAOvE"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { dirname } from 'path';
|
|
2
|
+
import { recordFrameworkStylesheet, writeFrameworkCss } from "./frameworkStylesheets.js";
|
|
3
|
+
import { getPackageDirForFile } from "./getPackageDirForFile.js";
|
|
4
|
+
// `static $stylesheet = "i/….css"` as emitted by BabelTransformComponentStyles.
|
|
5
|
+
const markerPattern = /static\s+\$stylesheet\s*=\s*(["'])([^"']+)\1\s*;?/g;
|
|
6
|
+
// Prod bundles rather than walking packages, so the package-walk extraction never runs. This is
|
|
7
|
+
// its bundler-side counterpart: same read-and-erase, driven by rollup's module ids so a
|
|
8
|
+
// component's owning package is still known once everything is in one file.
|
|
9
|
+
export function rollupExtractComponentStylesheets() {
|
|
10
|
+
return {
|
|
11
|
+
name: 'tungsten-extract-component-stylesheets',
|
|
12
|
+
transform(code, id) {
|
|
13
|
+
if (!code.includes('$stylesheet')) return null;
|
|
14
|
+
let found = false;
|
|
15
|
+
const stripped = code.replace(markerPattern, (_match, _quote, rel) => {
|
|
16
|
+
const packageDir = getPackageDirForFile(id);
|
|
17
|
+
if (packageDir === undefined) return '';
|
|
18
|
+
recordFrameworkStylesheet(packageDir, rel);
|
|
19
|
+
found = true;
|
|
20
|
+
return '';
|
|
21
|
+
});
|
|
22
|
+
return found ? {
|
|
23
|
+
code: stripped,
|
|
24
|
+
map: null
|
|
25
|
+
} : null;
|
|
26
|
+
},
|
|
27
|
+
// The bundle is written to <build>/.bundle/<file>, so the build root is two up.
|
|
28
|
+
async writeBundle(outputOptions) {
|
|
29
|
+
const target = outputOptions.file ?? outputOptions.dir;
|
|
30
|
+
if (target === undefined) return;
|
|
31
|
+
const buildLocation = dirname(dirname(target));
|
|
32
|
+
await writeFrameworkCss(buildLocation);
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
}
|
package/dist/compat/context.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ReactNode } from './types.js';
|
|
2
|
-
import { ConstructPackage, TungstenSimpleComponent } from '../Components.
|
|
2
|
+
import { ConstructPackage, TungstenSimpleComponent } from '../Components.jsx';
|
|
3
3
|
interface Context<T> {
|
|
4
4
|
Provider: typeof Provider<T>;
|
|
5
5
|
Consumer: typeof Consumer<T>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/compat/context.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,SAAS,EAAE,MAAM,YAAY,CAAA;AACpD,OAAO,EAA6B,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/compat/context.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,SAAS,EAAE,MAAM,YAAY,CAAA;AACpD,OAAO,EAA6B,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AAwCxG,UAAU,OAAO,CAAC,CAAC;IACf,QAAQ,EAAE,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC7B,QAAQ,EAAE,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACpC;AAED,wBAAgB,aAAa,CAAC,CAAC,EAG3B,YAAY,EAAE,CAAC,GAChB,OAAO,CAAC,CAAC,CAAC,CAKZ;AAED,KAAK,aAAa,CAAC,CAAC,IAAI;IACpB,KAAK,EAAE,CAAC,CAAA;IACR,QAAQ,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;CACpC,CAAA;AAID,cAAM,QAAQ,CAAC,CAAC,CAAE,SAAQ,uBAAuB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAI/D,OAAO,kBAA4B;CACtC;AAGD,KAAK,aAAa,CAAC,CAAC,IAAI;IACpB,QAAQ,EAAE,CAAC,YAAY,EAAE,CAAC,KAAK,SAAS,CAAC;CAC5C,CAAA;AAID,cAAM,QAAQ,CAAC,CAAC,CAAE,SAAQ,uBAAuB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAC/D,YAAY,EAAE,CAAC,CAAA;gBACH,GAAG,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC;IAI9D,OAAO,kBAA+C;CACzD"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
.T\0023-components-library-RichTextEditor-RichTextEditor_editor {
|
|
2
|
+
border: 1px solid var(--color-border-mid);
|
|
3
|
+
border-radius: 0.35rem;
|
|
4
|
+
background: white;
|
|
5
|
+
}
|
|
6
|
+
.T\0023-components-library-RichTextEditor-RichTextEditor_editor .T\0023-components-library-RichTextEditor-RichTextEditor_toolbar {
|
|
7
|
+
display: flex;
|
|
8
|
+
flex-wrap: wrap;
|
|
9
|
+
align-items: center;
|
|
10
|
+
gap: 0.35rem;
|
|
11
|
+
padding: 0.5rem;
|
|
12
|
+
border-bottom: 1px solid var(--color-border-soft);
|
|
13
|
+
background: var(--color-surface);
|
|
14
|
+
border-radius: 0.35rem 0.35rem 0 0;
|
|
15
|
+
}
|
|
16
|
+
.T\0023-components-library-RichTextEditor-RichTextEditor_editor .T\0023-components-library-RichTextEditor-RichTextEditor_group {
|
|
17
|
+
display: flex;
|
|
18
|
+
gap: 0.15rem;
|
|
19
|
+
padding: 0 0.35rem;
|
|
20
|
+
border-right: 1px solid var(--color-border-mid);
|
|
21
|
+
}
|
|
22
|
+
.T\0023-components-library-RichTextEditor-RichTextEditor_editor .T\0023-components-library-RichTextEditor-RichTextEditor_group:last-child {
|
|
23
|
+
border-right: 0;
|
|
24
|
+
}
|
|
25
|
+
.T\0023-components-library-RichTextEditor-RichTextEditor_editor .T\0023-components-library-RichTextEditor-RichTextEditor_\0023_select.T\0023-components-library-RichTextEditor-RichTextEditor_format-block {
|
|
26
|
+
border: 1px solid var(--color-border-mid);
|
|
27
|
+
border-radius: 0.25rem;
|
|
28
|
+
padding: 0.3rem 0.4rem;
|
|
29
|
+
background: white;
|
|
30
|
+
font-size: 0.85rem;
|
|
31
|
+
}
|
|
32
|
+
.T\0023-components-library-RichTextEditor-RichTextEditor_editor .T\0023-components-library-RichTextEditor-RichTextEditor_tool {
|
|
33
|
+
min-width: 1.9rem;
|
|
34
|
+
height: 1.9rem;
|
|
35
|
+
padding: 0 0.4rem;
|
|
36
|
+
border: 1px solid transparent;
|
|
37
|
+
border-radius: 0.25rem;
|
|
38
|
+
background: transparent;
|
|
39
|
+
color: var(--color-text);
|
|
40
|
+
font-size: 0.85rem;
|
|
41
|
+
cursor: pointer;
|
|
42
|
+
}
|
|
43
|
+
.T\0023-components-library-RichTextEditor-RichTextEditor_editor .T\0023-components-library-RichTextEditor-RichTextEditor_tool:hover {
|
|
44
|
+
background: var(--bg-tint);
|
|
45
|
+
}
|
|
46
|
+
.T\0023-components-library-RichTextEditor-RichTextEditor_editor .T\0023-components-library-RichTextEditor-RichTextEditor_tool.T\0023-components-library-RichTextEditor-RichTextEditor_active {
|
|
47
|
+
background: var(--bg-tint);
|
|
48
|
+
border-color: var(--color-highlight);
|
|
49
|
+
color: var(--color-highlight);
|
|
50
|
+
}
|
|
51
|
+
.T\0023-components-library-RichTextEditor-RichTextEditor_editor .T\0023-components-library-RichTextEditor-RichTextEditor_tool:disabled {
|
|
52
|
+
opacity: 0.4;
|
|
53
|
+
cursor: default;
|
|
54
|
+
background: transparent;
|
|
55
|
+
}
|
|
56
|
+
.T\0023-components-library-RichTextEditor-RichTextEditor_editor .T\0023-components-library-RichTextEditor-RichTextEditor_tool.T\0023-components-library-RichTextEditor-RichTextEditor_bold {
|
|
57
|
+
font-weight: 700;
|
|
58
|
+
}
|
|
59
|
+
.T\0023-components-library-RichTextEditor-RichTextEditor_editor .T\0023-components-library-RichTextEditor-RichTextEditor_tool.T\0023-components-library-RichTextEditor-RichTextEditor_italic {
|
|
60
|
+
font-style: italic;
|
|
61
|
+
font-family: Georgia, serif;
|
|
62
|
+
}
|
|
63
|
+
.T\0023-components-library-RichTextEditor-RichTextEditor_editor .T\0023-components-library-RichTextEditor-RichTextEditor_tool.T\0023-components-library-RichTextEditor-RichTextEditor_underline {
|
|
64
|
+
text-decoration: underline;
|
|
65
|
+
}
|
|
66
|
+
.T\0023-components-library-RichTextEditor-RichTextEditor_editor .T\0023-components-library-RichTextEditor-RichTextEditor_tool.T\0023-components-library-RichTextEditor-RichTextEditor_strike {
|
|
67
|
+
text-decoration: line-through;
|
|
68
|
+
}
|
|
69
|
+
.T\0023-components-library-RichTextEditor-RichTextEditor_editor .T\0023-components-library-RichTextEditor-RichTextEditor_tool.T\0023-components-library-RichTextEditor-RichTextEditor_bold, .T\0023-components-library-RichTextEditor-RichTextEditor_editor .T\0023-components-library-RichTextEditor-RichTextEditor_tool.T\0023-components-library-RichTextEditor-RichTextEditor_italic, .T\0023-components-library-RichTextEditor-RichTextEditor_editor .T\0023-components-library-RichTextEditor-RichTextEditor_tool.T\0023-components-library-RichTextEditor-RichTextEditor_underline, .T\0023-components-library-RichTextEditor-RichTextEditor_editor .T\0023-components-library-RichTextEditor-RichTextEditor_tool.T\0023-components-library-RichTextEditor-RichTextEditor_strike {
|
|
70
|
+
font-size: 0.95rem;
|
|
71
|
+
}
|
|
72
|
+
.T\0023-components-library-RichTextEditor-RichTextEditor_editor .T\0023-components-library-RichTextEditor-RichTextEditor_source-toggle {
|
|
73
|
+
margin-left: auto;
|
|
74
|
+
font-weight: 600;
|
|
75
|
+
}
|
|
76
|
+
.T\0023-components-library-RichTextEditor-RichTextEditor_editor .T\0023-components-library-RichTextEditor-RichTextEditor_surface {
|
|
77
|
+
min-height: 10rem;
|
|
78
|
+
padding: 0.75rem 1rem;
|
|
79
|
+
outline: none;
|
|
80
|
+
line-height: 1.5;
|
|
81
|
+
}
|
|
82
|
+
.T\0023-components-library-RichTextEditor-RichTextEditor_editor .T\0023-components-library-RichTextEditor-RichTextEditor_surface:empty:before {
|
|
83
|
+
content: attr(data-placeholder);
|
|
84
|
+
color: var(--color-text-faint);
|
|
85
|
+
}
|
|
86
|
+
.T\0023-components-library-RichTextEditor-RichTextEditor_editor .T\0023-components-library-RichTextEditor-RichTextEditor_surface p {
|
|
87
|
+
margin: 0 0 0.6rem;
|
|
88
|
+
}
|
|
89
|
+
.T\0023-components-library-RichTextEditor-RichTextEditor_editor .T\0023-components-library-RichTextEditor-RichTextEditor_surface p:last-child {
|
|
90
|
+
margin-bottom: 0;
|
|
91
|
+
}
|
|
92
|
+
.T\0023-components-library-RichTextEditor-RichTextEditor_editor .T\0023-components-library-RichTextEditor-RichTextEditor_surface ul, .T\0023-components-library-RichTextEditor-RichTextEditor_editor .T\0023-components-library-RichTextEditor-RichTextEditor_surface ol {
|
|
93
|
+
margin: 0 0 0.6rem;
|
|
94
|
+
padding-left: 1.4rem;
|
|
95
|
+
}
|
|
96
|
+
.T\0023-components-library-RichTextEditor-RichTextEditor_editor .T\0023-components-library-RichTextEditor-RichTextEditor_surface h2, .T\0023-components-library-RichTextEditor-RichTextEditor_editor .T\0023-components-library-RichTextEditor-RichTextEditor_surface h3, .T\0023-components-library-RichTextEditor-RichTextEditor_editor .T\0023-components-library-RichTextEditor-RichTextEditor_surface h4 {
|
|
97
|
+
margin: 0.8rem 0 0.4rem;
|
|
98
|
+
}
|
|
99
|
+
.T\0023-components-library-RichTextEditor-RichTextEditor_editor .T\0023-components-library-RichTextEditor-RichTextEditor_surface blockquote {
|
|
100
|
+
margin: 0 0 0.6rem;
|
|
101
|
+
padding-left: 0.85rem;
|
|
102
|
+
border-left: 3px solid var(--color-border-mid);
|
|
103
|
+
color: var(--color-text-body);
|
|
104
|
+
}
|
|
105
|
+
.T\0023-components-library-RichTextEditor-RichTextEditor_editor .T\0023-components-library-RichTextEditor-RichTextEditor_source {
|
|
106
|
+
box-sizing: border-box;
|
|
107
|
+
width: 100%;
|
|
108
|
+
min-height: 10rem;
|
|
109
|
+
padding: 0.75rem 1rem;
|
|
110
|
+
border: 0;
|
|
111
|
+
outline: none;
|
|
112
|
+
font-family: "Courier New", monospace;
|
|
113
|
+
font-size: 0.85rem;
|
|
114
|
+
resize: vertical;
|
|
115
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
.T\0023-components-library-__StatefulMessage-StatefulMessage_message {
|
|
2
|
+
margin: 0 0 1rem;
|
|
3
|
+
padding: 0.5rem 0.85rem;
|
|
4
|
+
border-radius: 0.25rem;
|
|
5
|
+
white-space: pre-line;
|
|
6
|
+
}
|
|
7
|
+
.T\0023-components-library-__StatefulMessage-StatefulMessage_message.T\0023-components-library-__StatefulMessage-StatefulMessage_hidden {
|
|
8
|
+
visibility: hidden;
|
|
9
|
+
}
|
|
10
|
+
.T\0023-components-library-__StatefulMessage-StatefulMessage_message.T\0023-components-library-__StatefulMessage-StatefulMessage_success {
|
|
11
|
+
background: var(--color-success-bg);
|
|
12
|
+
color: var(--color-success-text);
|
|
13
|
+
}
|
|
14
|
+
.T\0023-components-library-__StatefulMessage-StatefulMessage_message.T\0023-components-library-__StatefulMessage-StatefulMessage_info {
|
|
15
|
+
background: var(--bg-tint);
|
|
16
|
+
color: var(--color-accent-deep);
|
|
17
|
+
}
|
|
18
|
+
.T\0023-components-library-__StatefulMessage-StatefulMessage_message.T\0023-components-library-__StatefulMessage-StatefulMessage_warning {
|
|
19
|
+
background: var(--color-warning-bg);
|
|
20
|
+
color: var(--color-warning-text);
|
|
21
|
+
}
|
|
22
|
+
.T\0023-components-library-__StatefulMessage-StatefulMessage_message.T\0023-components-library-__StatefulMessage-StatefulMessage_error, .T\0023-components-library-__StatefulMessage-StatefulMessage_message.T\0023-components-library-__StatefulMessage-StatefulMessage_exception {
|
|
23
|
+
background: var(--color-danger-bg);
|
|
24
|
+
color: var(--color-danger);
|
|
25
|
+
}
|
|
@@ -9,12 +9,13 @@ export declare const getStateProxyHandler: <State extends object>(element: State
|
|
|
9
9
|
deleteProperty: (obj: State, key: string | symbol) => boolean;
|
|
10
10
|
has(obj: State, key: string | symbol): boolean;
|
|
11
11
|
};
|
|
12
|
-
|
|
12
|
+
declare const makeStateObjectProxyHandler: <O extends object>(element: StatefulComponentAny) => {
|
|
13
13
|
get: (obj: O, key: string | symbol) => unknown;
|
|
14
14
|
set: (obj: O, key: string | symbol, value: unknown) => boolean;
|
|
15
15
|
deleteProperty: (obj: O, key: string | symbol) => boolean;
|
|
16
16
|
has(obj: O, key: string | symbol): boolean;
|
|
17
17
|
};
|
|
18
|
+
export declare const getStateObjectProxyHandler: <O extends object>(element: StatefulComponentAny) => ReturnType<typeof makeStateObjectProxyHandler<O>>;
|
|
18
19
|
export declare const getStateArrayProxyHandler: (element: StatefulComponentAny) => {
|
|
19
20
|
get: (arr: unknown[], key: string | symbol) => any;
|
|
20
21
|
set: (arr: unknown[], key: string | symbol, value: unknown) => boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"componentProxyHandlers.d.ts","sourceRoot":"","sources":["../src/componentProxyHandlers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"componentProxyHandlers.d.ts","sourceRoot":"","sources":["../src/componentProxyHandlers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAO/E,KAAK,0BAA0B,CAAC,KAAK,SAAS,MAAM,IAC9C,yBAAyB,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,GAC1C,iBAAiB,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;AAExC,KAAK,oBAAoB,GAAG,yBAAyB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;AAEvG,eAAO,MAAM,SAAS,eAAqB,CAAA;AAC3C,eAAO,MAAM,UAAU,eAAsB,CAAA;AAE7C,eAAO,MAAM,oBAAoB,GAAI,KAAK,SAAS,MAAM,EACxD,SAAS,0BAA0B,CAAC,KAAK,CAAC;eAC5B,KAAK,OAAO,MAAM,GAAG,MAAM;eAQ3B,KAAK,OAAO,MAAM,GAAG,MAAM,SAAS,OAAO;0BAoChC,KAAK,OAAO,MAAM,GAAG,MAAM;aAQxC,KAAK,OAAO,MAAM,GAAG,MAAM;CAItC,CAAA;AAGF,QAAA,MAAM,2BAA2B,GAAI,CAAC,SAAS,MAAM,EAAE,SAAS,oBAAoB;eACrE,CAAC,OAAO,MAAM,GAAG,MAAM;eAQvB,CAAC,OAAO,MAAM,GAAG,MAAM,SAAS,OAAO;0BAmC5B,CAAC,OAAO,MAAM,GAAG,MAAM;aAQpC,CAAC,OAAO,MAAM,GAAG,MAAM;CAIlC,CAAA;AAuBF,eAAO,MAAM,0BAA0B,GAAI,CAAC,SAAS,MAAM,EAAE,SAAS,oBAAoB,KACzC,UAAU,CAAC,OAAO,2BAA2B,CAAC,CAAC,CAAC,CAAC,CAAA;AAwFlG,eAAO,MAAM,yBAAyB,YArGyC,oBAAoB;eA+ChF,OAAO,EAAE,OAAO,MAAM,GAAG,MAAM;eA9B5B,OAAO,EAAE,OAAO,MAAM,GAAG,MAAM,SAAS,OAAO;aAkEpD,OAAO,EAAE,OAAO,MAAM,GAAG,MAAM;wBAIpB,OAAO,EAAE,OAAO,MAAM,GAAG,MAAM;CAcoB,CAAA;AA4D/E,eAAO,MAAM,uBAAuB,YAjK2C,oBAAoB;eAyGpF,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,MAAM,GAAG,MAAM;aAiD7C,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,MAAM,GAAG,MAAM;CAOmB,CAAA;AAsD3E,eAAO,MAAM,uBAAuB,YAvN2C,oBAAoB;eAqKpF,GAAG,CAAC,OAAO,CAAC,OAAO,MAAM,GAAG,MAAM;aA4CpC,GAAG,CAAC,OAAO,CAAC,OAAO,MAAM,GAAG,MAAM;CAM4B,CAAA;AAgC3E,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,MAAM,EAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,GAAE,OAAO,CAAC,MAAM,EAAE,MAAM,CAAiB,GAC3F,IAAI,CAiCN;AAED,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,OAAO,EAAE,EACjD,OAAO,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,GAAE,OAAO,CAAC,MAAM,EAAE,MAAM,CAAiB,GAC1F,IAAI,CAkCN"}
|