@aloudata/aloudata-design 3.0.20 → 3.0.21
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 +145 -59
- package/dist/Alert/index.js +1 -1
- package/dist/Alert/index.js.map +1 -1
- package/dist/Avatar/component/Avatar/index.js +2 -2
- package/dist/Avatar/component/Avatar/index.js.map +1 -1
- package/dist/Avatar/component/Avatar/type.js +3 -3
- package/dist/Avatar/component/Avatar/type.js.map +1 -1
- package/dist/Badge/index.js +5 -5
- package/dist/Badge/index.js.map +1 -1
- package/dist/Breadcrumb/index.js +4 -4
- package/dist/Breadcrumb/index.js.map +1 -1
- package/dist/Button/index.js +8 -8
- package/dist/Button/index.js.map +1 -1
- package/dist/Card/index.js +1 -1
- package/dist/Card/index.js.map +1 -1
- package/dist/Checkbox/index.js +3 -3
- package/dist/Checkbox/index.js.map +1 -1
- package/dist/Collapse/index.js +1 -1
- package/dist/Collapse/index.js.map +1 -1
- package/dist/ColorPicker/ComplexColorPicker/ColorAlphaInput.js +1 -1
- package/dist/ColorPicker/ComplexColorPicker/ColorAlphaInput.js.map +1 -1
- package/dist/ColorPicker/ComplexColorPicker/ColorHsbInput.js +1 -1
- package/dist/ColorPicker/ComplexColorPicker/ColorHsbInput.js.map +1 -1
- package/dist/ColorPicker/ComplexColorPicker/ColorRgbInput.js +1 -1
- package/dist/ColorPicker/ComplexColorPicker/ColorRgbInput.js.map +1 -1
- package/dist/ColorPicker/ComplexColorPicker/index.js +2 -2
- package/dist/ColorPicker/ComplexColorPicker/index.js.map +1 -1
- package/dist/ColorPicker/index.js +11 -11
- package/dist/ColorPicker/index.js.map +1 -1
- package/dist/ColorPicker/util.d.ts +1 -1
- package/dist/ColorPicker/util.js.map +1 -1
- package/dist/DataPreviewTable/components/Body/Cell.js +2 -2
- package/dist/DataPreviewTable/components/Body/Cell.js.map +1 -1
- package/dist/DataPreviewTable/components/Body/index.js +1 -1
- package/dist/DataPreviewTable/components/Body/index.js.map +1 -1
- package/dist/DataPreviewTable/components/DragBar/index.js +1 -1
- package/dist/DataPreviewTable/components/DragBar/index.js.map +1 -1
- package/dist/DataPreviewTable/components/Header/index.js +3 -3
- package/dist/DataPreviewTable/components/Header/index.js.map +1 -1
- package/dist/DataPreviewTable/index.js +1 -1
- package/dist/DataPreviewTable/index.js.map +1 -1
- package/dist/Divider/index.js +1 -1
- package/dist/Divider/index.js.map +1 -1
- package/dist/Drawer/index.js +3 -3
- package/dist/Drawer/index.js.map +1 -1
- package/dist/Dropdown/index.d.ts +5 -0
- package/dist/Dropdown/index.js +3 -1
- package/dist/Dropdown/index.js.map +1 -1
- package/dist/Empty/image/Data.js +16 -16
- package/dist/Empty/image/Data.js.map +1 -1
- package/dist/Empty/image/User.js +16 -16
- package/dist/Empty/image/User.js.map +1 -1
- package/dist/Empty/image/WorkBook.js +17 -17
- package/dist/Empty/image/WorkBook.js.map +1 -1
- package/dist/Form/index.js +2 -2
- package/dist/Form/index.js.map +1 -1
- package/dist/Icon/components/SortAscendingOrderColor.js +1 -1
- package/dist/Icon/components/SortAscendingOrderColor.js.map +1 -1
- package/dist/Icon/components/SortDescendingOrderColor.js +1 -1
- package/dist/Icon/components/SortDescendingOrderColor.js.map +1 -1
- package/dist/Icon/components/User.js +2 -2
- package/dist/Icon/components/User.js.map +1 -1
- package/dist/Icon/components/UserGroup.js +2 -2
- package/dist/Icon/components/UserGroup.js.map +1 -1
- package/dist/Input/components/Input/index.js +3 -4
- package/dist/Input/components/Input/index.js.map +1 -1
- package/dist/Input/components/TextArea/index.js +3 -3
- package/dist/Input/components/TextArea/index.js.map +1 -1
- package/dist/InputNumber/index.js +4 -4
- package/dist/InputNumber/index.js.map +1 -1
- package/dist/LogicTree/components/LogicItem/index.js +2 -2
- package/dist/LogicTree/components/LogicItem/index.js.map +1 -1
- package/dist/MemberPicker/components/SelectedMemberTags.js +1 -1
- package/dist/MemberPicker/components/SelectedMemberTags.js.map +1 -1
- package/dist/Modal/index.js +8 -8
- package/dist/Modal/index.js.map +1 -1
- package/dist/Popconfirm/index.js +1 -1
- package/dist/Popconfirm/index.js.map +1 -1
- package/dist/Popover/index.js +2 -2
- package/dist/Popover/index.js.map +1 -1
- package/dist/Progress/index.js +1 -1
- package/dist/Progress/index.js.map +1 -1
- package/dist/RenameInput/index.js +4 -4
- package/dist/RenameInput/index.js.map +1 -1
- package/dist/Result/index.js +4 -4
- package/dist/Result/index.js.map +1 -1
- package/dist/Select/components/Suffix.js +3 -3
- package/dist/Select/components/Suffix.js.map +1 -1
- package/dist/Slider/index.js +4 -4
- package/dist/Slider/index.js.map +1 -1
- package/dist/Spin/CustomIcon/index.js +2 -2
- package/dist/Spin/CustomIcon/index.js.map +1 -1
- package/dist/StatusLight/index.js +15 -15
- package/dist/StatusLight/index.js.map +1 -1
- package/dist/Steps/index.js +6 -6
- package/dist/Steps/index.js.map +1 -1
- package/dist/Switch/index.js +3 -3
- package/dist/Switch/index.js.map +1 -1
- package/dist/Table/components/Header.js +3 -3
- package/dist/Table/components/Header.js.map +1 -1
- package/dist/Tabs/index.js +9 -9
- package/dist/Tabs/index.js.map +1 -1
- package/dist/Tag/index.js +11 -11
- package/dist/Tag/index.js.map +1 -1
- package/dist/TextLink/index.js +2 -2
- package/dist/TextLink/index.js.map +1 -1
- package/dist/Tooltip/index.js +3 -3
- package/dist/Tooltip/index.js.map +1 -1
- package/dist/Tour/index.js +1 -1
- package/dist/Tour/index.js.map +1 -1
- package/dist/Tree/Tree2.js +2 -2
- package/dist/Tree/Tree2.js.map +1 -1
- package/dist/Typography/index.js +1 -1
- package/dist/Typography/index.js.map +1 -1
- package/dist/User/index.js +1 -1
- package/dist/User/index.js.map +1 -1
- package/dist/Watermark/index.js +2 -1
- package/dist/Watermark/index.js.map +1 -1
- package/dist/aloudata-design.css +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +11 -5
- package/dist/message/index.js +1 -1
- package/dist/message/index.js.map +1 -1
- package/dist/notification/index.js +5 -5
- package/dist/notification/index.js.map +1 -1
- package/dist/theme/contract/shadowGeneratorSpecification.d.ts +37 -0
- package/dist/theme/contract/tokenCssBridge.d.ts +60 -0
- package/dist/theme/contract/tokenCssBridge.js +2 -0
- package/dist/theme/contract/tokenOutputContract.d.ts +35 -0
- package/dist/theme/contract/tokenOutputContract.js +198 -0
- package/dist/theme/contract/tokenOutputContract.js.map +1 -0
- package/dist/theme/generator/acceptedColorValues.d.ts +97 -0
- package/dist/theme/generator/acceptedColorValues.js +2 -0
- package/dist/theme/generator/cssArtifactEmitter.d.ts +62 -0
- package/dist/theme/generator/cssArtifactEmitter.js +2 -0
- package/dist/theme/generator/generator.d.ts +41 -0
- package/dist/theme/generator/generator.js +2 -0
- package/dist/theme/generator/generatorDiff.d.ts +53 -0
- package/dist/theme/generator/generatorDiff.js +2 -0
- package/dist/theme/generator/generatorEmitter.d.ts +73 -0
- package/dist/theme/generator/generatorEmitter.js +2 -0
- package/dist/theme/generator/generatorMappingStrategy.d.ts +43 -0
- package/dist/theme/generator/generatorMappingStrategy.js +2 -0
- package/dist/theme/generator/generatorOutputSchema.d.ts +80 -0
- package/dist/theme/generator/generatorOutputSchema.js +2 -0
- package/dist/theme/generator/minimalAcceptedColorValues.d.ts +27 -0
- package/dist/theme/generator/minimalAcceptedColorValues.js +2 -0
- package/dist/theme/generator/valueResolver.d.ts +64 -0
- package/dist/theme/generator/valueResolver.js +2 -0
- package/dist/theme/governance/migrationMappingRegistry.d.ts +22 -0
- package/dist/theme/governance/migrationMappingRegistry.js +459 -0
- package/dist/theme/governance/migrationMappingRegistry.js.map +1 -0
- package/dist/theme/governance/reviewGate.d.ts +33 -0
- package/dist/theme/governance/reviewGate.js +116 -0
- package/dist/theme/governance/reviewGate.js.map +1 -0
- package/dist/theme/governance/validateMigrationMapping.d.ts +50 -0
- package/dist/theme/governance/validateMigrationMapping.js +157 -0
- package/dist/theme/governance/validateMigrationMapping.js.map +1 -0
- package/dist/theme/index.d.ts +16 -5
- package/dist/theme/index.js +10 -4
- package/dist/theme/runtime/colorValueMode/index.d.ts +5 -0
- package/dist/theme/runtime/colorValueMode/index.js +49 -0
- package/dist/theme/runtime/colorValueMode/index.js.map +1 -0
- package/dist/theme/runtime/colorValueMode/registry.d.ts +29 -0
- package/dist/theme/runtime/colorValueMode/registry.js +39 -0
- package/dist/theme/runtime/colorValueMode/registry.js.map +1 -0
- package/dist/theme/runtime/colorValueMode/v3.d.ts +98 -0
- package/dist/theme/runtime/colorValueMode/v3.js +230 -0
- package/dist/theme/runtime/colorValueMode/v3.js.map +1 -0
- package/dist/theme/runtime/colorValueMode.d.ts +2 -0
- package/dist/theme/{createTheme.js → runtime/createTheme.js} +1 -1
- package/dist/theme/runtime/createTheme.js.map +1 -0
- package/dist/theme/{defaultTheme.js → runtime/defaultTheme.js} +1 -1
- package/dist/theme/runtime/defaultTheme.js.map +1 -0
- package/dist/theme/{initAldTheme.js → runtime/initAldTheme.js} +1 -1
- package/dist/theme/runtime/initAldTheme.js.map +1 -0
- package/dist/theme/runtime/integrationController.d.ts +26 -0
- package/dist/theme/runtime/integrationController.js +2 -0
- package/dist/theme/runtime/runtimeAdapter.d.ts +31 -0
- package/dist/theme/runtime/runtimeAdapter.js +2 -0
- package/dist/theme/{themeToCssVars.js → runtime/themeToCssVars.js} +1 -1
- package/dist/theme/runtime/themeToCssVars.js.map +1 -0
- package/dist/theme/{tokenMap.js → runtime/tokenMap.js} +1 -1
- package/dist/theme/runtime/tokenMap.js.map +1 -0
- package/dist/theme/runtime/types.js +2 -0
- package/package.json +15 -1
- package/dist/theme/createTheme.js.map +0 -1
- package/dist/theme/defaultTheme.js.map +0 -1
- package/dist/theme/initAldTheme.js.map +0 -1
- package/dist/theme/themeToCssVars.js.map +0 -1
- package/dist/theme/tokenMap.js.map +0 -1
- /package/dist/theme/{types.js → contract/shadowGeneratorSpecification.js} +0 -0
- /package/dist/theme/{createTheme.d.ts → runtime/createTheme.d.ts} +0 -0
- /package/dist/theme/{defaultTheme.d.ts → runtime/defaultTheme.d.ts} +0 -0
- /package/dist/theme/{initAldTheme.d.ts → runtime/initAldTheme.d.ts} +0 -0
- /package/dist/theme/{themeToCssVars.d.ts → runtime/themeToCssVars.d.ts} +0 -0
- /package/dist/theme/{tokenMap.d.ts → runtime/tokenMap.d.ts} +0 -0
- /package/dist/theme/{types.d.ts → runtime/types.d.ts} +0 -0
package/dist/index.d.ts
CHANGED
|
@@ -38,8 +38,8 @@ export { default as ConfigProvider } from './ConfigProvider.js';
|
|
|
38
38
|
export { EUserType } from './ConfigProvider/getUserList.js';
|
|
39
39
|
export type { IUserGroup } from './ConfigProvider/getUserList.js';
|
|
40
40
|
export type { SizeType } from './ConfigProvider/sizeContext.js';
|
|
41
|
-
export { createTheme, defaultTheme, initAldTheme, themeToCssVars, } from './theme.js';
|
|
42
|
-
export type { AldThemeConfig, AldThemeCssVars, AldThemeToken, ResolvedAldTheme, } from './theme.js';
|
|
41
|
+
export { aldColorValueModeDataAttribute, aldColorValueModes, aldColorValueModeStyleElementId, applyAldColorValueMode, assertOneWayMigrationMapping, buildAldColorValueModeCss, createTheme, createReviewGateDecision, createAldV3ColorValueModeVars, defaultTheme, getAldColorValueModeDefinition, getAldColorValueModeDefinitions, getMigrationMapping, getPublishedMigrationMappings, formatMigrationValidationReport, formatReviewGateDecision, initAldTheme, migrationMappingRegistry, migrationMappingTableByType, getCanonicalTokenOutputContractEntries, getCompatibilityTokenOutputContractEntries, getTokenOutputContractEntries, getTokenOutputContractEntriesByGroup, getTokenOutputContractEntry, runMigrationReviewGate, scanLegacyVariableUsages, themeToCssVars, tokenOutputContractEntries, isTokenOutputContractName, validateTokenOutputContract, validateMigrationMapping, } from './theme.js';
|
|
42
|
+
export type { AldColorValueMode, AldColorValueModeDefinition, AldColorValueModeLifecycle, AldThemeConfig, AldThemeCssVars, AldThemeToken, LegacyCssVariableName, LegacyVariableUsage, MigrationMappingEntry, MigrationMappingLifecycle, MigrationMappingStrategy, MigrationMappingType, MigrationValidationIssue, MigrationValidationIssueCode, MigrationValidationReport, MigrationValidationSeverity, MigrationValidationSource, MigrationValidationSummary, ResolvedAldTheme, ReplaceableMigrationUsage, ReviewGateDecision, ReviewGateDecisionIssue, ReviewGateDecisionReason, ReviewGateDecisionSummary, ReviewGateDecisionStatus, ReviewGateReasonCode, TokenOutputVariableName, TokenOutputContractCompatibility, TokenOutputContractDeliveryKind, TokenOutputContractEntry, TokenOutputContractGroup, TokenOutputContractLifecycle, TokenOutputContractValidationIssue, TokenOutputContractValidationIssueCode, TokenOutputContractValidationReport, } from './theme.js';
|
|
43
43
|
export { default as DataPreviewTable } from './DataPreviewTable.js';
|
|
44
44
|
export type { ITableProps as DataPreviewTableProps, DataPreviewTableRef, PreviewColumn, TValue as DataPreviewTableValue, } from './DataPreviewTable/interface.js';
|
|
45
45
|
export { default as DatePicker } from './DatePicker.js';
|
package/dist/index.js
CHANGED
|
@@ -28,10 +28,16 @@ import AldCustomConfigProvider from "./ConfigProvider/index.js";
|
|
|
28
28
|
import Select_default from "./Select/index.js";
|
|
29
29
|
import InputNumber from "./InputNumber/index.js";
|
|
30
30
|
import ColorPicker from "./ColorPicker/index.js";
|
|
31
|
-
import { defaultTheme } from "./theme/defaultTheme.js";
|
|
32
|
-
import { createTheme } from "./theme/createTheme.js";
|
|
33
|
-
import { themeToCssVars } from "./theme/themeToCssVars.js";
|
|
34
|
-
import { initAldTheme } from "./theme/initAldTheme.js";
|
|
31
|
+
import { defaultTheme } from "./theme/runtime/defaultTheme.js";
|
|
32
|
+
import { createTheme } from "./theme/runtime/createTheme.js";
|
|
33
|
+
import { themeToCssVars } from "./theme/runtime/themeToCssVars.js";
|
|
34
|
+
import { initAldTheme } from "./theme/runtime/initAldTheme.js";
|
|
35
|
+
import { aldColorValueModes, createAldV3ColorValueModeVars, getAldColorValueModeDefinition, getAldColorValueModeDefinitions } from "./theme/runtime/colorValueMode/registry.js";
|
|
36
|
+
import { aldColorValueModeDataAttribute, aldColorValueModeStyleElementId, applyAldColorValueMode, buildAldColorValueModeCss } from "./theme/runtime/colorValueMode/index.js";
|
|
37
|
+
import { assertOneWayMigrationMapping, getMigrationMapping, getPublishedMigrationMappings, migrationMappingRegistry, migrationMappingTableByType } from "./theme/governance/migrationMappingRegistry.js";
|
|
38
|
+
import { formatMigrationValidationReport, scanLegacyVariableUsages, validateMigrationMapping } from "./theme/governance/validateMigrationMapping.js";
|
|
39
|
+
import { createReviewGateDecision, formatReviewGateDecision, runMigrationReviewGate } from "./theme/governance/reviewGate.js";
|
|
40
|
+
import { getCanonicalTokenOutputContractEntries, getCompatibilityTokenOutputContractEntries, getTokenOutputContractEntries, getTokenOutputContractEntriesByGroup, getTokenOutputContractEntry, isTokenOutputContractName, tokenOutputContractEntries, validateTokenOutputContract } from "./theme/contract/tokenOutputContract.js";
|
|
35
41
|
import CustomSpin from "./Spin/index.js";
|
|
36
42
|
import Result from "./Result/index.js";
|
|
37
43
|
import DataPreviewTable_default from "./DataPreviewTable/index.js";
|
|
@@ -75,4 +81,4 @@ import notification from "./notification/index.js";
|
|
|
75
81
|
import AMenu from "./AMenu/index.js";
|
|
76
82
|
import Tour from "./Tour/index.js";
|
|
77
83
|
import datePickerLocaleZhCN from "rc-picker/es/locale/zh_CN";
|
|
78
|
-
export { AMenu, AProgress, Select_default as AldSelect, Alert, AldApp as App, Avatar, Badge, Breadcrumb, Button_default as Button, Card, Carousel, Checkbox, Col, Collapse, ColorPicker, AldCustomConfigProvider as ConfigProvider, DataPreviewTable_default as DataPreviewTable, DatePicker, DisplayLogicTree, Divider, Drawer, Dropdown, ELogicType, EMemberPicker, ENodeType, EUserType, Empty, Form, HighlightText, IconButton, Input, InputNumber, InputSearch, Layout, List, LogicTree, MemberSelector as MemberPicker, Menu, Modal, OverflowCount, Pagination, Popconfirm, Popover, Progress_default as Progress, Radio, RenameInput, Result, Row, ScrollArea_default as ScrollArea, Select_default as Select, Skeleton, Slider, Space, CustomSpin as Spin, StatusLight, Steps, Switch, Table_default as Table, Tabs, Tag, TextLink, Tooltip, Tour, Tree, Typography, Upload, User, Watermark, addLogicNode, addRecordNode, changeRecordData, createTheme, datePickerLocaleZhCN, defaultTheme, getInitialLogicNode, initAldTheme, localeValues as localeEnUS, localeValues$1 as localeZhCN, logicTreeIterator, message, notification, removeNode, themeToCssVars };
|
|
84
|
+
export { AMenu, AProgress, Select_default as AldSelect, Alert, AldApp as App, Avatar, Badge, Breadcrumb, Button_default as Button, Card, Carousel, Checkbox, Col, Collapse, ColorPicker, AldCustomConfigProvider as ConfigProvider, DataPreviewTable_default as DataPreviewTable, DatePicker, DisplayLogicTree, Divider, Drawer, Dropdown, ELogicType, EMemberPicker, ENodeType, EUserType, Empty, Form, HighlightText, IconButton, Input, InputNumber, InputSearch, Layout, List, LogicTree, MemberSelector as MemberPicker, Menu, Modal, OverflowCount, Pagination, Popconfirm, Popover, Progress_default as Progress, Radio, RenameInput, Result, Row, ScrollArea_default as ScrollArea, Select_default as Select, Skeleton, Slider, Space, CustomSpin as Spin, StatusLight, Steps, Switch, Table_default as Table, Tabs, Tag, TextLink, Tooltip, Tour, Tree, Typography, Upload, User, Watermark, addLogicNode, addRecordNode, aldColorValueModeDataAttribute, aldColorValueModeStyleElementId, aldColorValueModes, applyAldColorValueMode, assertOneWayMigrationMapping, buildAldColorValueModeCss, changeRecordData, createAldV3ColorValueModeVars, createReviewGateDecision, createTheme, datePickerLocaleZhCN, defaultTheme, formatMigrationValidationReport, formatReviewGateDecision, getAldColorValueModeDefinition, getAldColorValueModeDefinitions, getCanonicalTokenOutputContractEntries, getCompatibilityTokenOutputContractEntries, getInitialLogicNode, getMigrationMapping, getPublishedMigrationMappings, getTokenOutputContractEntries, getTokenOutputContractEntriesByGroup, getTokenOutputContractEntry, initAldTheme, isTokenOutputContractName, localeValues as localeEnUS, localeValues$1 as localeZhCN, logicTreeIterator, message, migrationMappingRegistry, migrationMappingTableByType, notification, removeNode, runMigrationReviewGate, scanLegacyVariableUsages, themeToCssVars, tokenOutputContractEntries, validateMigrationMapping, validateTokenOutputContract };
|
package/dist/message/index.js
CHANGED
|
@@ -11,7 +11,7 @@ import { Slide, toast } from "react-toastify";
|
|
|
11
11
|
//#region src/message/index.tsx
|
|
12
12
|
var closeX = /* @__PURE__ */ jsx(Memo$1, {
|
|
13
13
|
size: 20,
|
|
14
|
-
color: "var(--
|
|
14
|
+
color: "var(--content-secondary)"
|
|
15
15
|
});
|
|
16
16
|
var iconMap = {
|
|
17
17
|
info: /* @__PURE__ */ jsx(Memo$3, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../src/message/index.tsx"],"sourcesContent":["import { Timeout } from 'ahooks/es/useRequest/src/types';\nimport { cn } from '../lib/utils';\nimport React from 'react';\nimport { Slide, toast, ToastOptions } from 'react-toastify';\nimport '../style/components/toastify.css';\nimport './message.css';\nimport {\n CheckCircleFill,\n CloseLLine,\n DangerFill,\n InformationCircleFill,\n} from '../Icon';\nexport type NoticeType = 'info' | 'success' | 'error';\nconst closeX = (\n <CloseLLine size={20} color=\"var(--
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../src/message/index.tsx"],"sourcesContent":["import { Timeout } from 'ahooks/es/useRequest/src/types';\nimport { cn } from '../lib/utils';\nimport React from 'react';\nimport { Slide, toast, ToastOptions } from 'react-toastify';\nimport '../style/components/toastify.css';\nimport './message.css';\nimport {\n CheckCircleFill,\n CloseLLine,\n DangerFill,\n InformationCircleFill,\n} from '../Icon';\nexport type NoticeType = 'info' | 'success' | 'error';\nconst closeX = (\n <CloseLLine size={20} color=\"var(--content-secondary)\"></CloseLLine>\n);\ntype IconMapType = {\n [key in NoticeType]: React.ReactNode;\n};\n\nconst iconMap: IconMapType = {\n info: (\n <InformationCircleFill\n color=\"var(--content-inverted-primary)\"\n size={20}\n ></InformationCircleFill>\n ),\n success: (\n <CheckCircleFill\n color=\"var(--content-inverted-primary)\"\n size={20}\n ></CheckCircleFill>\n ),\n error: (\n <DangerFill color=\"var(--content-inverted-primary)\" size={20}></DangerFill>\n ),\n};\ninterface MessageOptions extends ToastOptions {\n className?: string;\n}\nconst defaultOptions: MessageOptions = {\n closeButton: false,\n pauseOnHover: true,\n transition: Slide,\n position: 'bottom-center',\n autoClose: 3000, //3000\n hideProgressBar: true,\n closeOnClick: true,\n draggable: false,\n progress: undefined,\n theme: 'light',\n containerId: 'message-container',\n icon: () => null,\n pauseOnFocusLoss: false, // 窗口失焦后不会暂停计时器\n};\n\nconst getMessage = (message: string, type: NoticeType) => {\n return (\n <div className=\"ald-message-content\">\n <div className=\"ald-message-icon-wrap\">{iconMap[type]}</div>\n <div className=\"ald-message-text\">\n {message} {closeX}\n </div>\n </div>\n );\n};\nlet toastId: Timeout | undefined;\nconst message = {\n success: (message?: string, options: MessageOptions = {}) => {\n toast.dismiss();\n clearTimeout(toastId);\n toastId = setTimeout(() => {\n toast.success(getMessage(message ?? '', 'success'), {\n ...defaultOptions,\n ...options,\n className: cn('ald-message ald-message-success', options.className),\n });\n }, 200);\n },\n error: (message?: string, options: MessageOptions = {}) => {\n toast.dismiss();\n clearTimeout(toastId);\n toastId = setTimeout(() => {\n toast.error(getMessage(message ?? '', 'error'), {\n ...defaultOptions,\n ...options,\n className: cn('ald-message ald-message-error', options.className),\n });\n }, 200);\n },\n info: (message?: string, options: MessageOptions = {}) => {\n toast.dismiss();\n clearTimeout(toastId);\n toastId = setTimeout(() => {\n toast.info(getMessage(message ?? '', 'info'), {\n ...defaultOptions,\n ...options,\n className: cn('ald-message ald-message-info', options.className),\n });\n }, 200);\n },\n};\nexport type { MessageOptions };\nexport default message;\n"],"mappings":";;;;;;;;;;;AAaA,IAAM,SACJ,oBAAC,QAAD;CAAY,MAAM;CAAI,OAAM;CAAwC,CAAA;AAMtE,IAAM,UAAuB;CAC3B,MACE,oBAAC,QAAD;EACE,OAAM;EACN,MAAM;EACiB,CAAA;CAE3B,SACE,oBAAC,MAAD;EACE,OAAM;EACN,MAAM;EACW,CAAA;CAErB,OACE,oBAAC,QAAD;EAAY,OAAM;EAAkC,MAAM;EAAiB,CAAA;CAE9E;AAID,IAAM,iBAAiC;CACrC,aAAa;CACb,cAAc;CACd,YAAY;CACZ,UAAU;CACV,WAAW;CACX,iBAAiB;CACjB,cAAc;CACd,WAAW;CACX,UAAU;CACV,OAAO;CACP,aAAa;CACb,YAAY;CACZ,kBAAkB;CACnB;AAED,IAAM,cAAc,SAAiB,SAAqB;AACxD,QACE,qBAAC,OAAD;EAAK,WAAU;YAAf,CACE,oBAAC,OAAD;GAAK,WAAU;aAAyB,QAAQ;GAAY,CAAA,EAC5D,qBAAC,OAAD;GAAK,WAAU;aAAf;IACG;IAAQ;IAAE;IACP;KACF;;;AAGV,IAAI;AACJ,IAAM,UAAU;CACd,UAAU,SAAkB,UAA0B,EAAE,KAAK;AAC3D,QAAM,SAAS;AACf,eAAa,QAAQ;AACrB,YAAU,iBAAiB;AACzB,SAAM,QAAQ,WAAW,WAAW,IAAI,UAAU,EAAE;IAClD,GAAG;IACH,GAAG;IACH,WAAW,GAAG,mCAAmC,QAAQ,UAAU;IACpE,CAAC;KACD,IAAI;;CAET,QAAQ,SAAkB,UAA0B,EAAE,KAAK;AACzD,QAAM,SAAS;AACf,eAAa,QAAQ;AACrB,YAAU,iBAAiB;AACzB,SAAM,MAAM,WAAW,WAAW,IAAI,QAAQ,EAAE;IAC9C,GAAG;IACH,GAAG;IACH,WAAW,GAAG,iCAAiC,QAAQ,UAAU;IAClE,CAAC;KACD,IAAI;;CAET,OAAO,SAAkB,UAA0B,EAAE,KAAK;AACxD,QAAM,SAAS;AACf,eAAa,QAAQ;AACrB,YAAU,iBAAiB;AACzB,SAAM,KAAK,WAAW,WAAW,IAAI,OAAO,EAAE;IAC5C,GAAG;IACH,GAAG;IACH,WAAW,GAAG,gCAAgC,QAAQ,UAAU;IACjE,CAAC;KACD,IAAI;;CAEV"}
|
|
@@ -12,7 +12,7 @@ import { Slide, toast } from "react-toastify";
|
|
|
12
12
|
//#region src/notification/index.tsx
|
|
13
13
|
var closeX = /* @__PURE__ */ jsx(Memo$2, {
|
|
14
14
|
size: 20,
|
|
15
|
-
color: "var(--
|
|
15
|
+
color: "var(--content-secondary)"
|
|
16
16
|
});
|
|
17
17
|
var DEFAULT_DURATION_TIME = 4500;
|
|
18
18
|
var defaultOptions = {
|
|
@@ -33,28 +33,28 @@ var iconMap = {
|
|
|
33
33
|
info: /* @__PURE__ */ jsx("div", {
|
|
34
34
|
className: "ald-notification-notice-icon",
|
|
35
35
|
children: /* @__PURE__ */ jsx(Memo$4, {
|
|
36
|
-
color: "var(--
|
|
36
|
+
color: "var(--content-informative-secondary)",
|
|
37
37
|
size: 24
|
|
38
38
|
})
|
|
39
39
|
}),
|
|
40
40
|
success: /* @__PURE__ */ jsx("div", {
|
|
41
41
|
className: "ald-notification-notice-icon",
|
|
42
42
|
children: /* @__PURE__ */ jsx(Memo$1, {
|
|
43
|
-
color: "var(--
|
|
43
|
+
color: "var(--content-positive-secondary)",
|
|
44
44
|
size: 24
|
|
45
45
|
})
|
|
46
46
|
}),
|
|
47
47
|
error: /* @__PURE__ */ jsx("div", {
|
|
48
48
|
className: "ald-notification-notice-icon",
|
|
49
49
|
children: /* @__PURE__ */ jsx(Memo$3, {
|
|
50
|
-
color: "var(--
|
|
50
|
+
color: "var(--content-negative-secondary)",
|
|
51
51
|
size: 24
|
|
52
52
|
})
|
|
53
53
|
}),
|
|
54
54
|
warning: /* @__PURE__ */ jsx("div", {
|
|
55
55
|
className: "ald-notification-notice-icon",
|
|
56
56
|
children: /* @__PURE__ */ jsx(Memo, {
|
|
57
|
-
color: "var(--
|
|
57
|
+
color: "var(--content-warning-secondary)",
|
|
58
58
|
size: 24
|
|
59
59
|
})
|
|
60
60
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../src/notification/index.tsx"],"sourcesContent":["import { Timeout } from 'ahooks/es/useRequest/src/types';\ntype IconType = 'success' | 'info' | 'warning' | 'error';\nimport { cn } from '../lib/utils';\nimport React from 'react';\nimport {\n ToastOptions as NotificationOptions,\n Slide,\n ToastPosition,\n toast,\n} from 'react-toastify';\nimport '../style/components/toastify.css';\nimport './notification.css';\nimport {\n AttentionTriangleFill,\n CheckCircleFill,\n CloseLLine,\n DangerFill,\n InformationCircleFill,\n} from '../Icon';\n\nconst closeX = (\n <CloseLLine size={20} color=\"var(--alias-colors-icon-subtle)\"></CloseLLine>\n);\n\nconst DEFAULT_DURATION_TIME = 4500;\n\nconst defaultOptions: NotificationOptions = {\n closeButton: closeX,\n pauseOnHover: true,\n transition: Slide,\n position: 'top-center',\n autoClose: DEFAULT_DURATION_TIME,\n hideProgressBar: true,\n closeOnClick: true,\n draggable: false,\n progress: undefined,\n theme: 'light',\n containerId: 'notification-container',\n pauseOnFocusLoss: false, // 窗口失焦后不会暂停计时器\n};\ntype PlacementPosition =\n | ToastPosition\n | 'topLeft'\n | 'topCenter'\n | 'topRight'\n | 'bottomCenter'\n | 'bottomLeft'\n | 'bottomRight';\n\ninterface IAldArgsProps extends NotificationOptions {\n placement?: PlacementPosition;\n message: React.ReactNode;\n description?: React.ReactNode;\n duration?: number;\n className?: string;\n style?: React.CSSProperties;\n footer?: React.ReactNode;\n}\ntype IconMapType = {\n [key in IconType]: React.ReactNode;\n};\n\nconst iconMap: IconMapType = {\n info: (\n <div className=\"ald-notification-notice-icon\">\n <InformationCircleFill\n color=\"var(--alias-colors-icon-information)\"\n size={24}\n ></InformationCircleFill>\n </div>\n ),\n\n success: (\n <div className=\"ald-notification-notice-icon\">\n <CheckCircleFill\n color=\"var(--alias-colors-icon-success)\"\n size={24}\n ></CheckCircleFill>\n </div>\n ),\n error: (\n <div className=\"ald-notification-notice-icon\">\n <DangerFill\n color=\"var(--alias-colors-icon-danger)\"\n size={24}\n ></DangerFill>\n </div>\n ),\n warning: (\n <div className=\"ald-notification-notice-icon\">\n <AttentionTriangleFill\n color=\"var(--alias-colors-icon-warning)\"\n size={24}\n ></AttentionTriangleFill>\n </div>\n ),\n};\nfunction getPosition(placement: PlacementPosition) {\n switch (placement) {\n case 'topLeft':\n return 'top-left';\n case 'topCenter':\n return 'top-center';\n case 'topRight':\n return 'top-right';\n case 'bottomCenter':\n return 'bottom-center';\n case 'bottomLeft':\n return 'bottom-left';\n case 'bottomRight':\n return 'bottom-right';\n default:\n return placement;\n }\n}\nlet toastId: Timeout;\nconst notification = {\n open: (config: IAldArgsProps) => {\n const {\n message,\n description,\n placement = 'topRight',\n className,\n duration,\n footer,\n ...restConfig\n } = config;\n clearTimeout(toastId);\n toastId = setTimeout(() => {\n toast(\n <div className=\"ald-notification-content\">\n <div className=\"ald-notification-message\">{message}</div>\n {description && (\n <div className={'ald-notification-desc'}>{description}</div>\n )}\n {footer && <>{footer}</>}\n </div>,\n {\n icon: false,\n ...defaultOptions,\n autoClose: duration ? duration * 1000 : DEFAULT_DURATION_TIME,\n position: getPosition(placement),\n className: cn('ald-notification', className),\n ...restConfig,\n },\n );\n }, 200);\n },\n success: (config: IAldArgsProps) => {\n const {\n message,\n description,\n placement = 'topRight',\n className,\n duration,\n footer,\n ...restConfig\n } = config;\n clearTimeout(toastId);\n toastId = setTimeout(() => {\n toast.success(\n <div className=\"ald-notification-content\">\n <div className=\"ald-notification-message\">{message}</div>\n {description && (\n <div className={'ald-notification-desc'}>{description}</div>\n )}\n {footer && <>{footer}</>}\n </div>,\n {\n icon: () => iconMap.success,\n ...defaultOptions,\n autoClose: duration ? duration * 1000 : DEFAULT_DURATION_TIME,\n position: getPosition(placement),\n className: cn('ald-notification', className),\n ...restConfig,\n },\n );\n }, 200);\n },\n error: (config: IAldArgsProps) => {\n const {\n message,\n description,\n placement = 'topRight',\n className,\n duration,\n footer,\n ...restConfig\n } = config;\n clearTimeout(toastId);\n toastId = setTimeout(() => {\n toast.error(\n <div className=\"ald-notification-content\">\n <div className=\"ald-notification-message\">{message}</div>\n {description && (\n <div className={'ald-notification-desc'}>{description}</div>\n )}\n {footer && <>{footer}</>}\n </div>,\n {\n icon: () => iconMap.error,\n ...defaultOptions,\n autoClose: duration ? duration * 1000 : DEFAULT_DURATION_TIME,\n position: getPosition(placement),\n className: cn('ald-notification', className),\n ...restConfig,\n },\n );\n }, 200);\n },\n info: (config: IAldArgsProps) => {\n const {\n message,\n description,\n placement = 'topRight',\n className,\n duration,\n footer,\n ...restConfig\n } = config;\n clearTimeout(toastId);\n toastId = setTimeout(() => {\n toast.info(\n <div className=\"ald-notification-content\">\n <div className=\"ald-notification-message\">{message}</div>\n {description && (\n <div className={'ald-notification-desc'}>{description}</div>\n )}\n {footer && <>{footer}</>}\n </div>,\n {\n icon: () => iconMap.info,\n ...defaultOptions,\n autoClose: duration ? duration * 1000 : DEFAULT_DURATION_TIME,\n position: getPosition(placement),\n className: cn('ald-notification', className),\n ...restConfig,\n },\n );\n }, 200);\n },\n warning: (config: IAldArgsProps) => {\n const {\n message,\n description,\n placement = 'topRight',\n className,\n duration,\n footer,\n ...restConfig\n } = config;\n clearTimeout(toastId);\n toastId = setTimeout(() => {\n toast.warn(\n <div className=\"ald-notification-content\">\n <div className=\"ald-notification-message\">{message}</div>\n {description && (\n <div className={'ald-notification-desc'}>{description}</div>\n )}\n {footer && <>{footer}</>}\n </div>,\n {\n icon: () => iconMap.warning,\n ...defaultOptions,\n autoClose: duration ? duration * 1000 : DEFAULT_DURATION_TIME,\n position: getPosition(placement),\n className: cn('ald-notification', className),\n ...restConfig,\n },\n );\n }, 200);\n },\n close: (id: number) => {\n toast.dismiss(id);\n },\n closeAll: () => {\n toast.dismiss();\n },\n};\nexport default notification;\n"],"mappings":";;;;;;;;;;;;AAoBA,IAAM,SACJ,oBAAC,QAAD;CAAY,MAAM;CAAI,OAAM;CAA+C,CAAA;AAG7E,IAAM,wBAAwB;AAE9B,IAAM,iBAAsC;CAC1C,aAAa;CACb,cAAc;CACd,YAAY;CACZ,UAAU;CACV,WAAW;CACX,iBAAiB;CACjB,cAAc;CACd,WAAW;CACX,UAAU;CACV,OAAO;CACP,aAAa;CACb,kBAAkB;CACnB;AAuBD,IAAM,UAAuB;CAC3B,MACE,oBAAC,OAAD;EAAK,WAAU;YACb,oBAAC,QAAD;GACE,OAAM;GACN,MAAM;GACiB,CAAA;EACrB,CAAA;CAGR,SACE,oBAAC,OAAD;EAAK,WAAU;YACb,oBAAC,QAAD;GACE,OAAM;GACN,MAAM;GACW,CAAA;EACf,CAAA;CAER,OACE,oBAAC,OAAD;EAAK,WAAU;YACb,oBAAC,QAAD;GACE,OAAM;GACN,MAAM;GACM,CAAA;EACV,CAAA;CAER,SACE,oBAAC,OAAD;EAAK,WAAU;YACb,oBAAC,MAAD;GACE,OAAM;GACN,MAAM;GACiB,CAAA;EACrB,CAAA;CAET;AACD,SAAS,YAAY,WAA8B;AACjD,SAAQ,WAAR;EACE,KAAK,UACH,QAAO;EACT,KAAK,YACH,QAAO;EACT,KAAK,WACH,QAAO;EACT,KAAK,eACH,QAAO;EACT,KAAK,aACH,QAAO;EACT,KAAK,cACH,QAAO;EACT,QACE,QAAO;;;AAGb,IAAI;AACJ,IAAM,eAAe;CACnB,OAAO,WAA0B;EAC/B,MAAM,EACJ,SACA,aACA,YAAY,YACZ,WACA,UACA,QACA,GAAG,eACD;AACJ,eAAa,QAAQ;AACrB,YAAU,iBAAiB;AACzB,SACE,qBAAC,OAAD;IAAK,WAAU;cAAf;KACE,oBAAC,OAAD;MAAK,WAAU;gBAA4B;MAAc,CAAA;KACxD,eACC,oBAAC,OAAD;MAAK,WAAW;gBAA0B;MAAkB,CAAA;KAE7D,UAAU,oBAAA,UAAA,EAAA,UAAG,QAAU,CAAA;KACpB;OACN;IACE,MAAM;IACN,GAAG;IACH,WAAW,WAAW,WAAW,MAAO;IACxC,UAAU,YAAY,UAAU;IAChC,WAAW,GAAG,oBAAoB,UAAU;IAC5C,GAAG;IACJ,CACF;KACA,IAAI;;CAET,UAAU,WAA0B;EAClC,MAAM,EACJ,SACA,aACA,YAAY,YACZ,WACA,UACA,QACA,GAAG,eACD;AACJ,eAAa,QAAQ;AACrB,YAAU,iBAAiB;AACzB,SAAM,QACJ,qBAAC,OAAD;IAAK,WAAU;cAAf;KACE,oBAAC,OAAD;MAAK,WAAU;gBAA4B;MAAc,CAAA;KACxD,eACC,oBAAC,OAAD;MAAK,WAAW;gBAA0B;MAAkB,CAAA;KAE7D,UAAU,oBAAA,UAAA,EAAA,UAAG,QAAU,CAAA;KACpB;OACN;IACE,YAAY,QAAQ;IACpB,GAAG;IACH,WAAW,WAAW,WAAW,MAAO;IACxC,UAAU,YAAY,UAAU;IAChC,WAAW,GAAG,oBAAoB,UAAU;IAC5C,GAAG;IACJ,CACF;KACA,IAAI;;CAET,QAAQ,WAA0B;EAChC,MAAM,EACJ,SACA,aACA,YAAY,YACZ,WACA,UACA,QACA,GAAG,eACD;AACJ,eAAa,QAAQ;AACrB,YAAU,iBAAiB;AACzB,SAAM,MACJ,qBAAC,OAAD;IAAK,WAAU;cAAf;KACE,oBAAC,OAAD;MAAK,WAAU;gBAA4B;MAAc,CAAA;KACxD,eACC,oBAAC,OAAD;MAAK,WAAW;gBAA0B;MAAkB,CAAA;KAE7D,UAAU,oBAAA,UAAA,EAAA,UAAG,QAAU,CAAA;KACpB;OACN;IACE,YAAY,QAAQ;IACpB,GAAG;IACH,WAAW,WAAW,WAAW,MAAO;IACxC,UAAU,YAAY,UAAU;IAChC,WAAW,GAAG,oBAAoB,UAAU;IAC5C,GAAG;IACJ,CACF;KACA,IAAI;;CAET,OAAO,WAA0B;EAC/B,MAAM,EACJ,SACA,aACA,YAAY,YACZ,WACA,UACA,QACA,GAAG,eACD;AACJ,eAAa,QAAQ;AACrB,YAAU,iBAAiB;AACzB,SAAM,KACJ,qBAAC,OAAD;IAAK,WAAU;cAAf;KACE,oBAAC,OAAD;MAAK,WAAU;gBAA4B;MAAc,CAAA;KACxD,eACC,oBAAC,OAAD;MAAK,WAAW;gBAA0B;MAAkB,CAAA;KAE7D,UAAU,oBAAA,UAAA,EAAA,UAAG,QAAU,CAAA;KACpB;OACN;IACE,YAAY,QAAQ;IACpB,GAAG;IACH,WAAW,WAAW,WAAW,MAAO;IACxC,UAAU,YAAY,UAAU;IAChC,WAAW,GAAG,oBAAoB,UAAU;IAC5C,GAAG;IACJ,CACF;KACA,IAAI;;CAET,UAAU,WAA0B;EAClC,MAAM,EACJ,SACA,aACA,YAAY,YACZ,WACA,UACA,QACA,GAAG,eACD;AACJ,eAAa,QAAQ;AACrB,YAAU,iBAAiB;AACzB,SAAM,KACJ,qBAAC,OAAD;IAAK,WAAU;cAAf;KACE,oBAAC,OAAD;MAAK,WAAU;gBAA4B;MAAc,CAAA;KACxD,eACC,oBAAC,OAAD;MAAK,WAAW;gBAA0B;MAAkB,CAAA;KAE7D,UAAU,oBAAA,UAAA,EAAA,UAAG,QAAU,CAAA;KACpB;OACN;IACE,YAAY,QAAQ;IACpB,GAAG;IACH,WAAW,WAAW,WAAW,MAAO;IACxC,UAAU,YAAY,UAAU;IAChC,WAAW,GAAG,oBAAoB,UAAU;IAC5C,GAAG;IACJ,CACF;KACA,IAAI;;CAET,QAAQ,OAAe;AACrB,QAAM,QAAQ,GAAG;;CAEnB,gBAAgB;AACd,QAAM,SAAS;;CAElB"}
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../src/notification/index.tsx"],"sourcesContent":["import { Timeout } from 'ahooks/es/useRequest/src/types';\ntype IconType = 'success' | 'info' | 'warning' | 'error';\nimport { cn } from '../lib/utils';\nimport React from 'react';\nimport {\n ToastOptions as NotificationOptions,\n Slide,\n ToastPosition,\n toast,\n} from 'react-toastify';\nimport '../style/components/toastify.css';\nimport './notification.css';\nimport {\n AttentionTriangleFill,\n CheckCircleFill,\n CloseLLine,\n DangerFill,\n InformationCircleFill,\n} from '../Icon';\n\nconst closeX = (\n <CloseLLine size={20} color=\"var(--content-secondary)\"></CloseLLine>\n);\n\nconst DEFAULT_DURATION_TIME = 4500;\n\nconst defaultOptions: NotificationOptions = {\n closeButton: closeX,\n pauseOnHover: true,\n transition: Slide,\n position: 'top-center',\n autoClose: DEFAULT_DURATION_TIME,\n hideProgressBar: true,\n closeOnClick: true,\n draggable: false,\n progress: undefined,\n theme: 'light',\n containerId: 'notification-container',\n pauseOnFocusLoss: false, // 窗口失焦后不会暂停计时器\n};\ntype PlacementPosition =\n | ToastPosition\n | 'topLeft'\n | 'topCenter'\n | 'topRight'\n | 'bottomCenter'\n | 'bottomLeft'\n | 'bottomRight';\n\ninterface IAldArgsProps extends NotificationOptions {\n placement?: PlacementPosition;\n message: React.ReactNode;\n description?: React.ReactNode;\n duration?: number;\n className?: string;\n style?: React.CSSProperties;\n footer?: React.ReactNode;\n}\ntype IconMapType = {\n [key in IconType]: React.ReactNode;\n};\n\nconst iconMap: IconMapType = {\n info: (\n <div className=\"ald-notification-notice-icon\">\n <InformationCircleFill\n color=\"var(--content-informative-secondary)\"\n size={24}\n ></InformationCircleFill>\n </div>\n ),\n\n success: (\n <div className=\"ald-notification-notice-icon\">\n <CheckCircleFill\n color=\"var(--content-positive-secondary)\"\n size={24}\n ></CheckCircleFill>\n </div>\n ),\n error: (\n <div className=\"ald-notification-notice-icon\">\n <DangerFill\n color=\"var(--content-negative-secondary)\"\n size={24}\n ></DangerFill>\n </div>\n ),\n warning: (\n <div className=\"ald-notification-notice-icon\">\n <AttentionTriangleFill\n color=\"var(--content-warning-secondary)\"\n size={24}\n ></AttentionTriangleFill>\n </div>\n ),\n};\nfunction getPosition(placement: PlacementPosition) {\n switch (placement) {\n case 'topLeft':\n return 'top-left';\n case 'topCenter':\n return 'top-center';\n case 'topRight':\n return 'top-right';\n case 'bottomCenter':\n return 'bottom-center';\n case 'bottomLeft':\n return 'bottom-left';\n case 'bottomRight':\n return 'bottom-right';\n default:\n return placement;\n }\n}\nlet toastId: Timeout;\nconst notification = {\n open: (config: IAldArgsProps) => {\n const {\n message,\n description,\n placement = 'topRight',\n className,\n duration,\n footer,\n ...restConfig\n } = config;\n clearTimeout(toastId);\n toastId = setTimeout(() => {\n toast(\n <div className=\"ald-notification-content\">\n <div className=\"ald-notification-message\">{message}</div>\n {description && (\n <div className={'ald-notification-desc'}>{description}</div>\n )}\n {footer && <>{footer}</>}\n </div>,\n {\n icon: false,\n ...defaultOptions,\n autoClose: duration ? duration * 1000 : DEFAULT_DURATION_TIME,\n position: getPosition(placement),\n className: cn('ald-notification', className),\n ...restConfig,\n },\n );\n }, 200);\n },\n success: (config: IAldArgsProps) => {\n const {\n message,\n description,\n placement = 'topRight',\n className,\n duration,\n footer,\n ...restConfig\n } = config;\n clearTimeout(toastId);\n toastId = setTimeout(() => {\n toast.success(\n <div className=\"ald-notification-content\">\n <div className=\"ald-notification-message\">{message}</div>\n {description && (\n <div className={'ald-notification-desc'}>{description}</div>\n )}\n {footer && <>{footer}</>}\n </div>,\n {\n icon: () => iconMap.success,\n ...defaultOptions,\n autoClose: duration ? duration * 1000 : DEFAULT_DURATION_TIME,\n position: getPosition(placement),\n className: cn('ald-notification', className),\n ...restConfig,\n },\n );\n }, 200);\n },\n error: (config: IAldArgsProps) => {\n const {\n message,\n description,\n placement = 'topRight',\n className,\n duration,\n footer,\n ...restConfig\n } = config;\n clearTimeout(toastId);\n toastId = setTimeout(() => {\n toast.error(\n <div className=\"ald-notification-content\">\n <div className=\"ald-notification-message\">{message}</div>\n {description && (\n <div className={'ald-notification-desc'}>{description}</div>\n )}\n {footer && <>{footer}</>}\n </div>,\n {\n icon: () => iconMap.error,\n ...defaultOptions,\n autoClose: duration ? duration * 1000 : DEFAULT_DURATION_TIME,\n position: getPosition(placement),\n className: cn('ald-notification', className),\n ...restConfig,\n },\n );\n }, 200);\n },\n info: (config: IAldArgsProps) => {\n const {\n message,\n description,\n placement = 'topRight',\n className,\n duration,\n footer,\n ...restConfig\n } = config;\n clearTimeout(toastId);\n toastId = setTimeout(() => {\n toast.info(\n <div className=\"ald-notification-content\">\n <div className=\"ald-notification-message\">{message}</div>\n {description && (\n <div className={'ald-notification-desc'}>{description}</div>\n )}\n {footer && <>{footer}</>}\n </div>,\n {\n icon: () => iconMap.info,\n ...defaultOptions,\n autoClose: duration ? duration * 1000 : DEFAULT_DURATION_TIME,\n position: getPosition(placement),\n className: cn('ald-notification', className),\n ...restConfig,\n },\n );\n }, 200);\n },\n warning: (config: IAldArgsProps) => {\n const {\n message,\n description,\n placement = 'topRight',\n className,\n duration,\n footer,\n ...restConfig\n } = config;\n clearTimeout(toastId);\n toastId = setTimeout(() => {\n toast.warn(\n <div className=\"ald-notification-content\">\n <div className=\"ald-notification-message\">{message}</div>\n {description && (\n <div className={'ald-notification-desc'}>{description}</div>\n )}\n {footer && <>{footer}</>}\n </div>,\n {\n icon: () => iconMap.warning,\n ...defaultOptions,\n autoClose: duration ? duration * 1000 : DEFAULT_DURATION_TIME,\n position: getPosition(placement),\n className: cn('ald-notification', className),\n ...restConfig,\n },\n );\n }, 200);\n },\n close: (id: number) => {\n toast.dismiss(id);\n },\n closeAll: () => {\n toast.dismiss();\n },\n};\nexport default notification;\n"],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { MigrationMappingEntry } from '../governance/migrationMappingRegistry';
|
|
2
|
+
import { CssVariablesInventory, TokenCssBridgeReport } from './tokenCssBridge.js';
|
|
3
|
+
import { TokenOutputContractEntry } from './tokenOutputContract.js';
|
|
4
|
+
export type ShadowSpecificationSource = 'token-output-contract' | 'css-inventory' | 'bridge-layer' | 'migration-registry';
|
|
5
|
+
export type ShadowClassification = 'matched' | 'missing' | 'extra' | 'legacy' | 'duplicate';
|
|
6
|
+
export interface ShadowSpecificationInputs {
|
|
7
|
+
tokenOutputContract: readonly TokenOutputContractEntry[];
|
|
8
|
+
cssInventory: CssVariablesInventory;
|
|
9
|
+
bridgeLayer: TokenCssBridgeReport;
|
|
10
|
+
migrationRegistry: readonly MigrationMappingEntry[];
|
|
11
|
+
}
|
|
12
|
+
export interface ShadowReport {
|
|
13
|
+
matched: string[];
|
|
14
|
+
missing: string[];
|
|
15
|
+
extra: string[];
|
|
16
|
+
legacy: string[];
|
|
17
|
+
duplicate: string[];
|
|
18
|
+
}
|
|
19
|
+
export interface ShadowClassificationDefinition {
|
|
20
|
+
classification: ShadowClassification;
|
|
21
|
+
conceptualRule: string;
|
|
22
|
+
sources: readonly ShadowSpecificationSource[];
|
|
23
|
+
}
|
|
24
|
+
export interface ShadowSpecification {
|
|
25
|
+
purpose: 'interpretation-only';
|
|
26
|
+
report: ShadowReport;
|
|
27
|
+
classifications: readonly ShadowClassificationDefinition[];
|
|
28
|
+
mustNot: readonly [
|
|
29
|
+
'perform-diff-computation',
|
|
30
|
+
'execute-mapping',
|
|
31
|
+
'generate-css',
|
|
32
|
+
'simulate-runtime',
|
|
33
|
+
'act-as-generator',
|
|
34
|
+
'act-as-validation-engine',
|
|
35
|
+
'produce-runtime-output'
|
|
36
|
+
];
|
|
37
|
+
}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { MigrationMappingEntry, TokenOutputVariableName } from '../governance/migrationMappingRegistry';
|
|
2
|
+
import { TokenOutputContractEntry } from './tokenOutputContract.js';
|
|
3
|
+
export type CssVariableInventoryCategory = 'alias' | 'interaction' | 'non-semantic' | 'semantic' | 'chart' | 'data' | 'other' | 'unknown-legacy';
|
|
4
|
+
export interface CssVariableDeclaration {
|
|
5
|
+
name: TokenOutputVariableName;
|
|
6
|
+
value: string;
|
|
7
|
+
line: number;
|
|
8
|
+
column: number;
|
|
9
|
+
index: number;
|
|
10
|
+
}
|
|
11
|
+
export interface CssVariableInventoryEntry {
|
|
12
|
+
name: TokenOutputVariableName;
|
|
13
|
+
category: CssVariableInventoryCategory;
|
|
14
|
+
occurrences: number;
|
|
15
|
+
coveredByTokenOutputContract: boolean;
|
|
16
|
+
declarations: CssVariableDeclaration[];
|
|
17
|
+
tokenOutputContractEntry?: TokenOutputContractEntry;
|
|
18
|
+
}
|
|
19
|
+
export interface CssVariableInventorySummary {
|
|
20
|
+
totalDeclarations: number;
|
|
21
|
+
totalUniqueVariables: number;
|
|
22
|
+
byCategory: Record<CssVariableInventoryCategory, number>;
|
|
23
|
+
}
|
|
24
|
+
export interface CssVariableDuplicateCandidate {
|
|
25
|
+
name: TokenOutputVariableName;
|
|
26
|
+
occurrences: number;
|
|
27
|
+
declarations: CssVariableDeclaration[];
|
|
28
|
+
}
|
|
29
|
+
export interface CssVariablesInventory {
|
|
30
|
+
entries: CssVariableInventoryEntry[];
|
|
31
|
+
groups: Record<CssVariableInventoryCategory, CssVariableInventoryEntry[]>;
|
|
32
|
+
summary: CssVariableInventorySummary;
|
|
33
|
+
duplicateCandidates: CssVariableDuplicateCandidate[];
|
|
34
|
+
}
|
|
35
|
+
export type TokenCssBridgeMappingStatus = 'matched' | 'missing';
|
|
36
|
+
export interface TokenCssBridgeMappingEntry {
|
|
37
|
+
token: TokenOutputContractEntry;
|
|
38
|
+
cssVariable?: CssVariableInventoryEntry;
|
|
39
|
+
status: TokenCssBridgeMappingStatus;
|
|
40
|
+
}
|
|
41
|
+
export interface MigrationRegistryCssConsistency {
|
|
42
|
+
consistent: boolean;
|
|
43
|
+
publishedTargetsChecked: number;
|
|
44
|
+
missingPublishedTargets: MigrationMappingEntry[];
|
|
45
|
+
blockedOrReviewRequiredWithTarget: MigrationMappingEntry[];
|
|
46
|
+
}
|
|
47
|
+
export interface TokenCssBridgeReport {
|
|
48
|
+
inventory: CssVariablesInventory;
|
|
49
|
+
mappings: TokenCssBridgeMappingEntry[];
|
|
50
|
+
matched: TokenCssBridgeMappingEntry[];
|
|
51
|
+
missing: TokenCssBridgeMappingEntry[];
|
|
52
|
+
extraCssVariables: CssVariableInventoryEntry[];
|
|
53
|
+
legacyOnlyVariables: CssVariableInventoryEntry[];
|
|
54
|
+
duplicateCandidates: CssVariableDuplicateCandidate[];
|
|
55
|
+
migrationRegistryConsistency: MigrationRegistryCssConsistency;
|
|
56
|
+
}
|
|
57
|
+
export declare function classifyCssVariableName(name: string, contractEntry?: TokenOutputContractEntry): CssVariableInventoryCategory;
|
|
58
|
+
export declare function extractCssVariableDeclarations(cssText: string): CssVariableDeclaration[];
|
|
59
|
+
export declare function createCssVariablesInventory(cssText: string, contractEntries?: readonly TokenOutputContractEntry[]): CssVariablesInventory;
|
|
60
|
+
export declare function createTokenCssBridgeReport(cssText: string, contractEntries?: readonly TokenOutputContractEntry[], registry?: readonly MigrationMappingEntry[]): TokenCssBridgeReport;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { LegacyCssVariableName, TokenOutputVariableName } from '../governance/migrationMappingRegistry';
|
|
2
|
+
export type TokenOutputContractGroup = 'action' | 'background' | 'border' | 'content' | 'dimension' | 'compatibility';
|
|
3
|
+
export type TokenOutputContractDeliveryKind = 'css-variable';
|
|
4
|
+
export type TokenOutputContractLifecycle = 'active' | 'deprecated' | 'compatibility';
|
|
5
|
+
export interface TokenOutputContractCompatibility {
|
|
6
|
+
source?: LegacyCssVariableName;
|
|
7
|
+
reason: string;
|
|
8
|
+
}
|
|
9
|
+
export interface TokenOutputContractEntry {
|
|
10
|
+
name: TokenOutputVariableName;
|
|
11
|
+
group: TokenOutputContractGroup;
|
|
12
|
+
delivery: TokenOutputContractDeliveryKind;
|
|
13
|
+
lifecycle: TokenOutputContractLifecycle;
|
|
14
|
+
compatibility?: TokenOutputContractCompatibility;
|
|
15
|
+
description?: string;
|
|
16
|
+
}
|
|
17
|
+
export type TokenOutputContractValidationIssueCode = 'duplicate-name' | 'invalid-name' | 'invalid-legacy-canonical-name' | 'invalid-compatibility-name' | 'missing-published-migration-target' | 'legacy-source-promoted-to-canonical-output';
|
|
18
|
+
export interface TokenOutputContractValidationIssue {
|
|
19
|
+
code: TokenOutputContractValidationIssueCode;
|
|
20
|
+
name: string;
|
|
21
|
+
message: string;
|
|
22
|
+
}
|
|
23
|
+
export interface TokenOutputContractValidationReport {
|
|
24
|
+
valid: boolean;
|
|
25
|
+
entriesChecked: number;
|
|
26
|
+
errors: TokenOutputContractValidationIssue[];
|
|
27
|
+
}
|
|
28
|
+
export declare const tokenOutputContractEntries: readonly TokenOutputContractEntry[];
|
|
29
|
+
export declare function getTokenOutputContractEntries(): TokenOutputContractEntry[];
|
|
30
|
+
export declare function getTokenOutputContractEntry(name: string): TokenOutputContractEntry | undefined;
|
|
31
|
+
export declare function isTokenOutputContractName(name: string): name is TokenOutputVariableName;
|
|
32
|
+
export declare function getTokenOutputContractEntriesByGroup(group: TokenOutputContractGroup): TokenOutputContractEntry[];
|
|
33
|
+
export declare function getCanonicalTokenOutputContractEntries(): TokenOutputContractEntry[];
|
|
34
|
+
export declare function getCompatibilityTokenOutputContractEntries(): TokenOutputContractEntry[];
|
|
35
|
+
export declare function validateTokenOutputContract(entries?: readonly TokenOutputContractEntry[]): TokenOutputContractValidationReport;
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
import { migrationMappingRegistry } from "../governance/migrationMappingRegistry.js";
|
|
2
|
+
//#region src/theme/contract/tokenOutputContract.ts
|
|
3
|
+
var legacySourcePrefixes = [
|
|
4
|
+
"--alias-",
|
|
5
|
+
"--interaction-",
|
|
6
|
+
"--non-semantic-"
|
|
7
|
+
];
|
|
8
|
+
function createEntries(group, names) {
|
|
9
|
+
return names.map((name) => ({
|
|
10
|
+
name,
|
|
11
|
+
group,
|
|
12
|
+
delivery: "css-variable",
|
|
13
|
+
lifecycle: "active",
|
|
14
|
+
compatibility: void 0
|
|
15
|
+
}));
|
|
16
|
+
}
|
|
17
|
+
function actionStates(family, states = [
|
|
18
|
+
"normal",
|
|
19
|
+
"hover",
|
|
20
|
+
"active",
|
|
21
|
+
"selected"
|
|
22
|
+
]) {
|
|
23
|
+
return states.map((state) => `--action-${family}-${state}`);
|
|
24
|
+
}
|
|
25
|
+
var actionOutputNames = [
|
|
26
|
+
...actionStates("primary"),
|
|
27
|
+
...actionStates("primary-subtle"),
|
|
28
|
+
...actionStates("neutral"),
|
|
29
|
+
...actionStates("neutral-subtle"),
|
|
30
|
+
...actionStates("destructive"),
|
|
31
|
+
...actionStates("destructive-subtle"),
|
|
32
|
+
...actionStates("ghost"),
|
|
33
|
+
...actionStates("ghost-inverted", [
|
|
34
|
+
"hover",
|
|
35
|
+
"active",
|
|
36
|
+
"selected"
|
|
37
|
+
]),
|
|
38
|
+
...actionStates("ghost-destructive", [
|
|
39
|
+
"hover",
|
|
40
|
+
"active",
|
|
41
|
+
"selected"
|
|
42
|
+
]),
|
|
43
|
+
...actionStates("inverted")
|
|
44
|
+
];
|
|
45
|
+
var backgroundOutputNames = [
|
|
46
|
+
"--background-default",
|
|
47
|
+
"--background-inverted",
|
|
48
|
+
"--background-brand-muted",
|
|
49
|
+
"--background-brand-on-subtle",
|
|
50
|
+
"--background-brand-strong",
|
|
51
|
+
"--background-neutral-hard",
|
|
52
|
+
"--background-neutral-muted",
|
|
53
|
+
"--background-neutral-on-subtle",
|
|
54
|
+
"--background-neutral-strong",
|
|
55
|
+
"--background-neutral-subtle",
|
|
56
|
+
"--background-neutral-surface",
|
|
57
|
+
"--background-informative-muted",
|
|
58
|
+
"--background-informative-on-subtle",
|
|
59
|
+
"--background-informative-strong",
|
|
60
|
+
"--background-informative-subtle",
|
|
61
|
+
"--background-informative-surface",
|
|
62
|
+
"--background-positive-muted",
|
|
63
|
+
"--background-positive-on-subtle",
|
|
64
|
+
"--background-positive-strong",
|
|
65
|
+
"--background-positive-subtle",
|
|
66
|
+
"--background-positive-surface",
|
|
67
|
+
"--background-warning-muted",
|
|
68
|
+
"--background-warning-on-subtle",
|
|
69
|
+
"--background-warning-strong",
|
|
70
|
+
"--background-warning-subtle",
|
|
71
|
+
"--background-warning-surface",
|
|
72
|
+
"--background-negative-muted",
|
|
73
|
+
"--background-negative-on-subtle",
|
|
74
|
+
"--background-negative-strong",
|
|
75
|
+
"--background-negative-subtle",
|
|
76
|
+
"--background-negative-surface"
|
|
77
|
+
];
|
|
78
|
+
var borderOutputNames = [
|
|
79
|
+
"--border-default",
|
|
80
|
+
"--border-default-alpha",
|
|
81
|
+
"--border-inverted",
|
|
82
|
+
"--border-brand-strong",
|
|
83
|
+
"--border-brand-subtle",
|
|
84
|
+
"--border-neutral-strong",
|
|
85
|
+
"--border-neutral-subtle",
|
|
86
|
+
"--border-informative-strong",
|
|
87
|
+
"--border-informative-subtle",
|
|
88
|
+
"--border-positive-strong",
|
|
89
|
+
"--border-positive-subtle",
|
|
90
|
+
"--border-warning-strong",
|
|
91
|
+
"--border-warning-subtle",
|
|
92
|
+
"--border-negative-strong",
|
|
93
|
+
"--border-negative-subtle"
|
|
94
|
+
];
|
|
95
|
+
var contentOutputNames = [
|
|
96
|
+
"--content-primary",
|
|
97
|
+
"--content-secondary",
|
|
98
|
+
"--content-tertiary",
|
|
99
|
+
"--content-disabled",
|
|
100
|
+
"--content-brand-primary",
|
|
101
|
+
"--content-brand-secondary",
|
|
102
|
+
"--content-inverted-primary",
|
|
103
|
+
"--content-inverted-secondary",
|
|
104
|
+
"--content-inverted-tertiary",
|
|
105
|
+
"--content-inverted-disabled",
|
|
106
|
+
"--content-informative-primary",
|
|
107
|
+
"--content-informative-secondary",
|
|
108
|
+
"--content-positive-primary",
|
|
109
|
+
"--content-positive-secondary",
|
|
110
|
+
"--content-warning-primary",
|
|
111
|
+
"--content-warning-secondary",
|
|
112
|
+
"--content-negative-primary",
|
|
113
|
+
"--content-negative-secondary"
|
|
114
|
+
];
|
|
115
|
+
var dimensionOutputNames = [
|
|
116
|
+
"--dimension-0",
|
|
117
|
+
"--dimension-0-5",
|
|
118
|
+
"--dimension-1",
|
|
119
|
+
"--dimension-1-5",
|
|
120
|
+
"--dimension-2",
|
|
121
|
+
"--dimension-3",
|
|
122
|
+
"--dimension-4",
|
|
123
|
+
"--dimension-5",
|
|
124
|
+
"--dimension-6",
|
|
125
|
+
"--dimension-8",
|
|
126
|
+
"--dimension-10",
|
|
127
|
+
"--dimension-12",
|
|
128
|
+
"--dimension-14",
|
|
129
|
+
"--dimension-16",
|
|
130
|
+
"--dimension-18",
|
|
131
|
+
"--dimension-20"
|
|
132
|
+
];
|
|
133
|
+
var tokenOutputContractEntries = [
|
|
134
|
+
...createEntries("action", actionOutputNames),
|
|
135
|
+
...createEntries("background", backgroundOutputNames),
|
|
136
|
+
...createEntries("border", borderOutputNames),
|
|
137
|
+
...createEntries("content", contentOutputNames),
|
|
138
|
+
...createEntries("dimension", dimensionOutputNames)
|
|
139
|
+
];
|
|
140
|
+
function isLegacySourceName(name) {
|
|
141
|
+
return legacySourcePrefixes.some((prefix) => name.startsWith(prefix));
|
|
142
|
+
}
|
|
143
|
+
function createEntryMap(entries = tokenOutputContractEntries) {
|
|
144
|
+
return new Map(entries.map((entry) => [entry.name, entry]));
|
|
145
|
+
}
|
|
146
|
+
function getTokenOutputContractEntries() {
|
|
147
|
+
return [...tokenOutputContractEntries];
|
|
148
|
+
}
|
|
149
|
+
function getTokenOutputContractEntry(name) {
|
|
150
|
+
return createEntryMap().get(name);
|
|
151
|
+
}
|
|
152
|
+
function isTokenOutputContractName(name) {
|
|
153
|
+
return createEntryMap().has(name);
|
|
154
|
+
}
|
|
155
|
+
function getTokenOutputContractEntriesByGroup(group) {
|
|
156
|
+
return tokenOutputContractEntries.filter((entry) => entry.group === group);
|
|
157
|
+
}
|
|
158
|
+
function getCanonicalTokenOutputContractEntries() {
|
|
159
|
+
return tokenOutputContractEntries.filter((entry) => entry.lifecycle === "active" && !entry.compatibility);
|
|
160
|
+
}
|
|
161
|
+
function getCompatibilityTokenOutputContractEntries() {
|
|
162
|
+
return tokenOutputContractEntries.filter((entry) => entry.lifecycle === "compatibility" || Boolean(entry.compatibility));
|
|
163
|
+
}
|
|
164
|
+
function createError(code, name, message) {
|
|
165
|
+
return {
|
|
166
|
+
code,
|
|
167
|
+
name,
|
|
168
|
+
message
|
|
169
|
+
};
|
|
170
|
+
}
|
|
171
|
+
function validateTokenOutputContract(entries = tokenOutputContractEntries) {
|
|
172
|
+
const errors = [];
|
|
173
|
+
const seen = /* @__PURE__ */ new Set();
|
|
174
|
+
const entryMap = createEntryMap(entries);
|
|
175
|
+
for (const entry of entries) {
|
|
176
|
+
if (seen.has(entry.name)) errors.push(createError("duplicate-name", entry.name, `${entry.name} is duplicated in Token Output Contract.`));
|
|
177
|
+
seen.add(entry.name);
|
|
178
|
+
if (!entry.name.startsWith("--")) errors.push(createError("invalid-name", entry.name, `${entry.name} must be a CSS custom property name.`));
|
|
179
|
+
if (entry.lifecycle === "active" && !entry.compatibility && isLegacySourceName(entry.name)) errors.push(createError("invalid-legacy-canonical-name", entry.name, `${entry.name} must not be promoted to active canonical output.`));
|
|
180
|
+
if (isLegacySourceName(entry.name) && (entry.lifecycle !== "compatibility" || !entry.compatibility)) errors.push(createError("invalid-compatibility-name", entry.name, `${entry.name} uses legacy naming and must be explicit compatibility output.`));
|
|
181
|
+
}
|
|
182
|
+
for (const mapping of migrationMappingRegistry) {
|
|
183
|
+
if (mapping.lifecycle === "published" && mapping.target) {
|
|
184
|
+
if (!entryMap.has(mapping.target)) errors.push(createError("missing-published-migration-target", mapping.target, `${mapping.target} is targeted by ${mapping.source} but is not in Token Output Contract.`));
|
|
185
|
+
}
|
|
186
|
+
const sourceEntry = entryMap.get(mapping.source);
|
|
187
|
+
if (sourceEntry && sourceEntry.lifecycle === "active" && !sourceEntry.compatibility) errors.push(createError("legacy-source-promoted-to-canonical-output", mapping.source, `${mapping.source} is a legacy source and must not be active canonical output.`));
|
|
188
|
+
}
|
|
189
|
+
return {
|
|
190
|
+
valid: errors.length === 0,
|
|
191
|
+
entriesChecked: entries.length,
|
|
192
|
+
errors
|
|
193
|
+
};
|
|
194
|
+
}
|
|
195
|
+
//#endregion
|
|
196
|
+
export { getCanonicalTokenOutputContractEntries, getCompatibilityTokenOutputContractEntries, getTokenOutputContractEntries, getTokenOutputContractEntriesByGroup, getTokenOutputContractEntry, isTokenOutputContractName, tokenOutputContractEntries, validateTokenOutputContract };
|
|
197
|
+
|
|
198
|
+
//# sourceMappingURL=tokenOutputContract.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokenOutputContract.js","names":[],"sources":["../../../src/theme/contract/tokenOutputContract.ts"],"sourcesContent":["import {\n migrationMappingRegistry,\n type LegacyCssVariableName,\n type TokenOutputVariableName,\n} from '../governance/migrationMappingRegistry';\n\nexport type TokenOutputContractGroup =\n | 'action'\n | 'background'\n | 'border'\n | 'content'\n | 'dimension'\n | 'compatibility';\n\nexport type TokenOutputContractDeliveryKind = 'css-variable';\n\nexport type TokenOutputContractLifecycle =\n | 'active'\n | 'deprecated'\n | 'compatibility';\n\nexport interface TokenOutputContractCompatibility {\n source?: LegacyCssVariableName;\n reason: string;\n}\n\nexport interface TokenOutputContractEntry {\n name: TokenOutputVariableName;\n group: TokenOutputContractGroup;\n delivery: TokenOutputContractDeliveryKind;\n lifecycle: TokenOutputContractLifecycle;\n compatibility?: TokenOutputContractCompatibility;\n description?: string;\n}\n\nexport type TokenOutputContractValidationIssueCode =\n | 'duplicate-name'\n | 'invalid-name'\n | 'invalid-legacy-canonical-name'\n | 'invalid-compatibility-name'\n | 'missing-published-migration-target'\n | 'legacy-source-promoted-to-canonical-output';\n\nexport interface TokenOutputContractValidationIssue {\n code: TokenOutputContractValidationIssueCode;\n name: string;\n message: string;\n}\n\nexport interface TokenOutputContractValidationReport {\n valid: boolean;\n entriesChecked: number;\n errors: TokenOutputContractValidationIssue[];\n}\n\nconst legacySourcePrefixes = [\n '--alias-',\n '--interaction-',\n '--non-semantic-',\n] as const;\n\nfunction createEntries(\n group: TokenOutputContractGroup,\n names: readonly TokenOutputVariableName[],\n): TokenOutputContractEntry[] {\n return names.map((name) => ({\n name,\n group,\n delivery: 'css-variable',\n lifecycle: 'active',\n compatibility: undefined,\n }));\n}\n\nfunction actionStates(\n family: string,\n states: readonly string[] = ['normal', 'hover', 'active', 'selected'],\n): TokenOutputVariableName[] {\n return states.map((state) => `--action-${family}-${state}` as const);\n}\n\nconst actionOutputNames: TokenOutputVariableName[] = [\n ...actionStates('primary'),\n ...actionStates('primary-subtle'),\n ...actionStates('neutral'),\n ...actionStates('neutral-subtle'),\n ...actionStates('destructive'),\n ...actionStates('destructive-subtle'),\n ...actionStates('ghost'),\n ...actionStates('ghost-inverted', ['hover', 'active', 'selected']),\n ...actionStates('ghost-destructive', ['hover', 'active', 'selected']),\n ...actionStates('inverted'),\n];\n\nconst backgroundOutputNames: TokenOutputVariableName[] = [\n '--background-default',\n '--background-inverted',\n '--background-brand-muted',\n '--background-brand-on-subtle',\n '--background-brand-strong',\n '--background-neutral-hard',\n '--background-neutral-muted',\n '--background-neutral-on-subtle',\n '--background-neutral-strong',\n '--background-neutral-subtle',\n '--background-neutral-surface',\n '--background-informative-muted',\n '--background-informative-on-subtle',\n '--background-informative-strong',\n '--background-informative-subtle',\n '--background-informative-surface',\n '--background-positive-muted',\n '--background-positive-on-subtle',\n '--background-positive-strong',\n '--background-positive-subtle',\n '--background-positive-surface',\n '--background-warning-muted',\n '--background-warning-on-subtle',\n '--background-warning-strong',\n '--background-warning-subtle',\n '--background-warning-surface',\n '--background-negative-muted',\n '--background-negative-on-subtle',\n '--background-negative-strong',\n '--background-negative-subtle',\n '--background-negative-surface',\n];\n\nconst borderOutputNames: TokenOutputVariableName[] = [\n '--border-default',\n '--border-default-alpha',\n '--border-inverted',\n '--border-brand-strong',\n '--border-brand-subtle',\n '--border-neutral-strong',\n '--border-neutral-subtle',\n '--border-informative-strong',\n '--border-informative-subtle',\n '--border-positive-strong',\n '--border-positive-subtle',\n '--border-warning-strong',\n '--border-warning-subtle',\n '--border-negative-strong',\n '--border-negative-subtle',\n];\n\nconst contentOutputNames: TokenOutputVariableName[] = [\n '--content-primary',\n '--content-secondary',\n '--content-tertiary',\n '--content-disabled',\n '--content-brand-primary',\n '--content-brand-secondary',\n '--content-inverted-primary',\n '--content-inverted-secondary',\n '--content-inverted-tertiary',\n '--content-inverted-disabled',\n '--content-informative-primary',\n '--content-informative-secondary',\n '--content-positive-primary',\n '--content-positive-secondary',\n '--content-warning-primary',\n '--content-warning-secondary',\n '--content-negative-primary',\n '--content-negative-secondary',\n];\n\nconst dimensionOutputNames: TokenOutputVariableName[] = [\n '--dimension-0',\n '--dimension-0-5',\n '--dimension-1',\n '--dimension-1-5',\n '--dimension-2',\n '--dimension-3',\n '--dimension-4',\n '--dimension-5',\n '--dimension-6',\n '--dimension-8',\n '--dimension-10',\n '--dimension-12',\n '--dimension-14',\n '--dimension-16',\n '--dimension-18',\n '--dimension-20',\n];\n\nexport const tokenOutputContractEntries = [\n ...createEntries('action', actionOutputNames),\n ...createEntries('background', backgroundOutputNames),\n ...createEntries('border', borderOutputNames),\n ...createEntries('content', contentOutputNames),\n ...createEntries('dimension', dimensionOutputNames),\n] as const satisfies readonly TokenOutputContractEntry[];\n\nfunction isLegacySourceName(name: string) {\n return legacySourcePrefixes.some((prefix) => name.startsWith(prefix));\n}\n\nfunction createEntryMap(entries = tokenOutputContractEntries) {\n return new Map(entries.map((entry) => [entry.name, entry]));\n}\n\nexport function getTokenOutputContractEntries(): TokenOutputContractEntry[] {\n return [...tokenOutputContractEntries];\n}\n\nexport function getTokenOutputContractEntry(\n name: string,\n): TokenOutputContractEntry | undefined {\n return createEntryMap().get(name as TokenOutputVariableName);\n}\n\nexport function isTokenOutputContractName(\n name: string,\n): name is TokenOutputVariableName {\n return createEntryMap().has(name as TokenOutputVariableName);\n}\n\nexport function getTokenOutputContractEntriesByGroup(\n group: TokenOutputContractGroup,\n): TokenOutputContractEntry[] {\n return tokenOutputContractEntries.filter((entry) => entry.group === group);\n}\n\nexport function getCanonicalTokenOutputContractEntries(): TokenOutputContractEntry[] {\n return tokenOutputContractEntries.filter(\n (entry) => entry.lifecycle === 'active' && !entry.compatibility,\n );\n}\n\nexport function getCompatibilityTokenOutputContractEntries(): TokenOutputContractEntry[] {\n return tokenOutputContractEntries.filter(\n (entry) =>\n entry.lifecycle === 'compatibility' || Boolean(entry.compatibility),\n );\n}\n\nfunction createError(\n code: TokenOutputContractValidationIssueCode,\n name: string,\n message: string,\n): TokenOutputContractValidationIssue {\n return { code, name, message };\n}\n\nexport function validateTokenOutputContract(\n entries: readonly TokenOutputContractEntry[] = tokenOutputContractEntries,\n): TokenOutputContractValidationReport {\n const errors: TokenOutputContractValidationIssue[] = [];\n const seen = new Set<string>();\n const entryMap = createEntryMap(entries);\n\n for (const entry of entries) {\n if (seen.has(entry.name)) {\n errors.push(\n createError(\n 'duplicate-name',\n entry.name,\n `${entry.name} is duplicated in Token Output Contract.`,\n ),\n );\n }\n seen.add(entry.name);\n\n if (!entry.name.startsWith('--')) {\n errors.push(\n createError(\n 'invalid-name',\n entry.name,\n `${entry.name} must be a CSS custom property name.`,\n ),\n );\n }\n\n if (\n entry.lifecycle === 'active' &&\n !entry.compatibility &&\n isLegacySourceName(entry.name)\n ) {\n errors.push(\n createError(\n 'invalid-legacy-canonical-name',\n entry.name,\n `${entry.name} must not be promoted to active canonical output.`,\n ),\n );\n }\n\n if (\n isLegacySourceName(entry.name) &&\n (entry.lifecycle !== 'compatibility' || !entry.compatibility)\n ) {\n errors.push(\n createError(\n 'invalid-compatibility-name',\n entry.name,\n `${entry.name} uses legacy naming and must be explicit compatibility output.`,\n ),\n );\n }\n }\n\n for (const mapping of migrationMappingRegistry) {\n if (mapping.lifecycle === 'published' && mapping.target) {\n if (!entryMap.has(mapping.target)) {\n errors.push(\n createError(\n 'missing-published-migration-target',\n mapping.target,\n `${mapping.target} is targeted by ${mapping.source} but is not in Token Output Contract.`,\n ),\n );\n }\n }\n\n const sourceEntry = entryMap.get(mapping.source);\n if (\n sourceEntry &&\n sourceEntry.lifecycle === 'active' &&\n !sourceEntry.compatibility\n ) {\n errors.push(\n createError(\n 'legacy-source-promoted-to-canonical-output',\n mapping.source,\n `${mapping.source} is a legacy source and must not be active canonical output.`,\n ),\n );\n }\n }\n\n return {\n valid: errors.length === 0,\n entriesChecked: entries.length,\n errors,\n };\n}\n"],"mappings":";;AAuDA,IAAM,uBAAuB;CAC3B;CACA;CACA;CACD;AAED,SAAS,cACP,OACA,OAC4B;AAC5B,QAAO,MAAM,KAAK,UAAU;EAC1B;EACA;EACA,UAAU;EACV,WAAW;EACX,eAAe;EAChB,EAAE;;AAGL,SAAS,aACP,QACA,SAA4B;CAAC;CAAU;CAAS;CAAU;CAAW,EAC1C;AAC3B,QAAO,OAAO,KAAK,UAAU,YAAY,OAAO,GAAG,QAAiB;;AAGtE,IAAM,oBAA+C;CACnD,GAAG,aAAa,UAAU;CAC1B,GAAG,aAAa,iBAAiB;CACjC,GAAG,aAAa,UAAU;CAC1B,GAAG,aAAa,iBAAiB;CACjC,GAAG,aAAa,cAAc;CAC9B,GAAG,aAAa,qBAAqB;CACrC,GAAG,aAAa,QAAQ;CACxB,GAAG,aAAa,kBAAkB;EAAC;EAAS;EAAU;EAAW,CAAC;CAClE,GAAG,aAAa,qBAAqB;EAAC;EAAS;EAAU;EAAW,CAAC;CACrE,GAAG,aAAa,WAAW;CAC5B;AAED,IAAM,wBAAmD;CACvD;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACD;AAED,IAAM,oBAA+C;CACnD;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACD;AAED,IAAM,qBAAgD;CACpD;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACD;AAED,IAAM,uBAAkD;CACtD;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACD;AAED,IAAa,6BAA6B;CACxC,GAAG,cAAc,UAAU,kBAAkB;CAC7C,GAAG,cAAc,cAAc,sBAAsB;CACrD,GAAG,cAAc,UAAU,kBAAkB;CAC7C,GAAG,cAAc,WAAW,mBAAmB;CAC/C,GAAG,cAAc,aAAa,qBAAqB;CACpD;AAED,SAAS,mBAAmB,MAAc;AACxC,QAAO,qBAAqB,MAAM,WAAW,KAAK,WAAW,OAAO,CAAC;;AAGvE,SAAS,eAAe,UAAU,4BAA4B;AAC5D,QAAO,IAAI,IAAI,QAAQ,KAAK,UAAU,CAAC,MAAM,MAAM,MAAM,CAAC,CAAC;;AAG7D,SAAgB,gCAA4D;AAC1E,QAAO,CAAC,GAAG,2BAA2B;;AAGxC,SAAgB,4BACd,MACsC;AACtC,QAAO,gBAAgB,CAAC,IAAI,KAAgC;;AAG9D,SAAgB,0BACd,MACiC;AACjC,QAAO,gBAAgB,CAAC,IAAI,KAAgC;;AAG9D,SAAgB,qCACd,OAC4B;AAC5B,QAAO,2BAA2B,QAAQ,UAAU,MAAM,UAAU,MAAM;;AAG5E,SAAgB,yCAAqE;AACnF,QAAO,2BAA2B,QAC/B,UAAU,MAAM,cAAc,YAAY,CAAC,MAAM,cACnD;;AAGH,SAAgB,6CAAyE;AACvF,QAAO,2BAA2B,QAC/B,UACC,MAAM,cAAc,mBAAmB,QAAQ,MAAM,cAAc,CACtE;;AAGH,SAAS,YACP,MACA,MACA,SACoC;AACpC,QAAO;EAAE;EAAM;EAAM;EAAS;;AAGhC,SAAgB,4BACd,UAA+C,4BACV;CACrC,MAAM,SAA+C,EAAE;CACvD,MAAM,uBAAO,IAAI,KAAa;CAC9B,MAAM,WAAW,eAAe,QAAQ;AAExC,MAAK,MAAM,SAAS,SAAS;AAC3B,MAAI,KAAK,IAAI,MAAM,KAAK,CACtB,QAAO,KACL,YACE,kBACA,MAAM,MACN,GAAG,MAAM,KAAK,0CACf,CACF;AAEH,OAAK,IAAI,MAAM,KAAK;AAEpB,MAAI,CAAC,MAAM,KAAK,WAAW,KAAK,CAC9B,QAAO,KACL,YACE,gBACA,MAAM,MACN,GAAG,MAAM,KAAK,sCACf,CACF;AAGH,MACE,MAAM,cAAc,YACpB,CAAC,MAAM,iBACP,mBAAmB,MAAM,KAAK,CAE9B,QAAO,KACL,YACE,iCACA,MAAM,MACN,GAAG,MAAM,KAAK,mDACf,CACF;AAGH,MACE,mBAAmB,MAAM,KAAK,KAC7B,MAAM,cAAc,mBAAmB,CAAC,MAAM,eAE/C,QAAO,KACL,YACE,8BACA,MAAM,MACN,GAAG,MAAM,KAAK,gEACf,CACF;;AAIL,MAAK,MAAM,WAAW,0BAA0B;AAC9C,MAAI,QAAQ,cAAc,eAAe,QAAQ,QAC/C;OAAI,CAAC,SAAS,IAAI,QAAQ,OAAO,CAC/B,QAAO,KACL,YACE,sCACA,QAAQ,QACR,GAAG,QAAQ,OAAO,kBAAkB,QAAQ,OAAO,uCACpD,CACF;;EAIL,MAAM,cAAc,SAAS,IAAI,QAAQ,OAAO;AAChD,MACE,eACA,YAAY,cAAc,YAC1B,CAAC,YAAY,cAEb,QAAO,KACL,YACE,8CACA,QAAQ,QACR,GAAG,QAAQ,OAAO,8DACnB,CACF;;AAIL,QAAO;EACL,OAAO,OAAO,WAAW;EACzB,gBAAgB,QAAQ;EACxB;EACD"}
|