@knockout-js/layout 0.1.1-beta.2 → 0.1.1-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/es2017/components/dictionary/index.d.ts +6 -0
  2. package/es2017/components/dictionary/index.js +64 -0
  3. package/es2017/components/dictionary/index.js.map +1 -0
  4. package/es2017/components/dictionary/index.module.css +4 -0
  5. package/es2017/components/dictionary/select.d.ts +19 -0
  6. package/es2017/components/dictionary/select.js +51 -0
  7. package/es2017/components/dictionary/select.js.map +1 -0
  8. package/es2017/components/dictionary/text.d.ts +23 -0
  9. package/es2017/components/dictionary/text.js +28 -0
  10. package/es2017/components/dictionary/text.js.map +1 -0
  11. package/es2017/components/icons/index.d.ts +2 -0
  12. package/es2017/components/icons/index.js +20 -0
  13. package/es2017/components/icons/index.js.map +1 -1
  14. package/es2017/components/index.d.ts +2 -0
  15. package/es2017/components/index.js +2 -0
  16. package/es2017/components/index.js.map +1 -1
  17. package/es2017/components/theme-switch/index.d.ts +0 -5
  18. package/es2017/components/theme-switch/index.js +16 -14
  19. package/es2017/components/theme-switch/index.js.map +1 -1
  20. package/es2017/components/theme-switch/index.module.css +14 -0
  21. package/esm/components/dictionary/index.d.ts +6 -0
  22. package/esm/components/dictionary/index.js +86 -0
  23. package/esm/components/dictionary/index.js.map +1 -0
  24. package/esm/components/dictionary/index.module.css +4 -0
  25. package/esm/components/dictionary/select.d.ts +19 -0
  26. package/esm/components/dictionary/select.js +71 -0
  27. package/esm/components/dictionary/select.js.map +1 -0
  28. package/esm/components/dictionary/text.d.ts +23 -0
  29. package/esm/components/dictionary/text.js +31 -0
  30. package/esm/components/dictionary/text.js.map +1 -0
  31. package/esm/components/icons/index.d.ts +2 -0
  32. package/esm/components/icons/index.js +24 -0
  33. package/esm/components/icons/index.js.map +1 -1
  34. package/esm/components/index.d.ts +2 -0
  35. package/esm/components/index.js +2 -0
  36. package/esm/components/index.js.map +1 -1
  37. package/esm/components/theme-switch/index.d.ts +0 -5
  38. package/esm/components/theme-switch/index.js +16 -14
  39. package/esm/components/theme-switch/index.js.map +1 -1
  40. package/esm/components/theme-switch/index.module.css +14 -0
  41. package/package.json +3 -3
@@ -0,0 +1,6 @@
1
+ import { AppDictItem } from "@knockout-js/api/ucenter";
2
+ /**
3
+ * 用来处理缓存字典项列表
4
+ * @returns
5
+ */
6
+ export declare const useDistItems: (dictCode: string, dataSource?: AppDictItem[]) => [AppDictItem[], () => Promise<void>];
@@ -0,0 +1,64 @@
1
+ import { getDictItems } from "@knockout-js/api";
2
+ import { useEffect, useState } from "react";
3
+ let distItemList = [], timeoutFn = undefined;
4
+ const collectCode = [];
5
+ /**
6
+ * 用来处理缓存字典项列表
7
+ * @returns
8
+ */ export const useDistItems = (dictCode, dataSource)=>{
9
+ const [items, setItems] = useState([]);
10
+ /**
11
+ * 通过列表设置存储
12
+ * @param list
13
+ */ const setDistItems = (list)=>{
14
+ const dictCodes = [
15
+ ...new Set(list.map((item)=>{
16
+ var _item_dict;
17
+ return (_item_dict = item.dict) === null || _item_dict === void 0 ? void 0 : _item_dict.code;
18
+ }))
19
+ ];
20
+ // 清理掉旧数据
21
+ const newDistItems = distItemList.filter((item)=>{
22
+ var _item_dict;
23
+ return !dictCodes.includes((_item_dict = item.dict) === null || _item_dict === void 0 ? void 0 : _item_dict.code);
24
+ });
25
+ newDistItems.push(...list);
26
+ distItemList = newDistItems;
27
+ };
28
+ /**
29
+ * 刷新列表接口
30
+ */ const reloadDistItems = async ()=>{
31
+ const result = await getDictItems(dictCode, true);
32
+ if (result.length) setDistItems(result);
33
+ };
34
+ useEffect(()=>{
35
+ if (dataSource === null || dataSource === void 0 ? void 0 : dataSource.length) setDistItems(dataSource);
36
+ else {
37
+ if (!collectCode.includes(dictCode)) collectCode.push(dictCode);
38
+ clearTimeout(timeoutFn);
39
+ // 设置收集时间毫秒内收集需要请求的数据
40
+ timeoutFn = setTimeout(()=>{
41
+ getDictItems(collectCode).then((result)=>{
42
+ if (result.length) setDistItems(result);
43
+ });
44
+ }, 100);
45
+ }
46
+ }, [
47
+ dictCode,
48
+ dataSource
49
+ ]);
50
+ useEffect(()=>{
51
+ setItems(distItemList.filter((item)=>{
52
+ var _item_dict;
53
+ return ((_item_dict = item.dict) === null || _item_dict === void 0 ? void 0 : _item_dict.code) === dictCode;
54
+ }));
55
+ }, [
56
+ distItemList
57
+ ]);
58
+ return [
59
+ items,
60
+ reloadDistItems
61
+ ];
62
+ };
63
+
64
+ //# sourceMappingURL=D:\codeing\git\github\knockout-js\packages\layout\es2017\components\dictionary\index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["D:\\codeing\\git\\github\\knockout-js\\packages\\layout\\src\\components\\dictionary\\index.ts"],"sourcesContent":["import { getDictItems } from \"@knockout-js/api\";\r\nimport { AppDictItem } from \"@knockout-js/api/ucenter\";\r\nimport { useEffect, useState } from \"react\";\r\n\r\nlet distItemList: AppDictItem[] = [],\r\n timeoutFn: NodeJS.Timeout | undefined = undefined;\r\nconst collectCode: string[] = [];\r\n\r\n/**\r\n * 用来处理缓存字典项列表\r\n * @returns\r\n */\r\nexport const useDistItems = (dictCode: string, dataSource?: AppDictItem[]): [AppDictItem[], () => Promise<void>] => {\r\n\r\n const [items, setItems] = useState<AppDictItem[]>([]);\r\n\r\n /**\r\n * 通过列表设置存储\r\n * @param list\r\n */\r\n const setDistItems = (list: AppDictItem[]) => {\r\n const dictCodes = [...new Set(list.map(item => item.dict?.code))];\r\n // 清理掉旧数据\r\n const newDistItems = distItemList.filter(item => !dictCodes.includes(item.dict?.code));\r\n newDistItems.push(...list);\r\n distItemList = newDistItems;\r\n }\r\n\r\n /**\r\n * 刷新列表接口\r\n */\r\n const reloadDistItems = async () => {\r\n const result = await getDictItems(dictCode, true);\r\n if (result.length) {\r\n setDistItems(result);\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (dataSource?.length) {\r\n setDistItems(dataSource);\r\n } else {\r\n if (!collectCode.includes(dictCode)) {\r\n collectCode.push(dictCode);\r\n }\r\n clearTimeout(timeoutFn)\r\n // 设置收集时间毫秒内收集需要请求的数据\r\n timeoutFn = setTimeout(() => {\r\n getDictItems(collectCode).then(result => {\r\n if (result.length) {\r\n setDistItems(result);\r\n }\r\n });\r\n }, 100);\r\n }\r\n }, [dictCode, dataSource]);\r\n\r\n useEffect(() => {\r\n setItems(distItemList.filter(item => item.dict?.code === dictCode))\r\n }, [distItemList])\r\n\r\n\r\n return [items, reloadDistItems];\r\n}\r\n"],"names":["getDictItems","useEffect","useState","distItemList","timeoutFn","undefined","collectCode","useDistItems","dictCode","dataSource","items","setItems","setDistItems","list","dictCodes","Set","map","item","dict","code","newDistItems","filter","includes","push","reloadDistItems","result","length","clearTimeout","setTimeout","then"],"mappings":"AAAA,SAASA,YAAY,QAAQ,mBAAmB;AAEhD,SAASC,SAAS,EAAEC,QAAQ,QAAQ,QAAQ;AAE5C,IAAIC,eAA8B,EAAE,EAClCC,YAAwCC;AAC1C,MAAMC,cAAwB,EAAE;AAEhC;;;CAGC,GACD,OAAO,MAAMC,eAAe,CAACC,UAAkBC,aAAqE;IAElH,MAAM,CAACC,OAAOC,SAAS,GAAGT,SAAwB,EAAE;IAEpD;;;GAGC,GACD,MAAMU,eAAe,CAACC,OAAwB;QAC5C,MAAMC,YAAY;eAAI,IAAIC,IAAIF,KAAKG,GAAG,CAACC,CAAAA;oBAAQA;gBAAAA,OAAAA,CAAAA,aAAAA,KAAKC,IAAI,cAATD,wBAAAA,KAAAA,IAAAA,WAAWE,IAAI;;SAAG;QACjE,SAAS;QACT,MAAMC,eAAejB,aAAakB,MAAM,CAACJ,CAAAA;gBAA4BA;YAApB,OAAA,CAACH,UAAUQ,QAAQ,CAACL,CAAAA,aAAAA,KAAKC,IAAI,cAATD,wBAAAA,KAAAA,IAAAA,WAAWE,IAAI;;QACpFC,aAAaG,IAAI,IAAIV;QACrBV,eAAeiB;IACjB;IAEA;;GAEC,GACD,MAAMI,kBAAkB,UAAY;QAClC,MAAMC,SAAS,MAAMzB,aAAaQ,UAAU,IAAI;QAChD,IAAIiB,OAAOC,MAAM,EACfd,aAAaa;IAEjB;IAEAxB,UAAU,IAAM;QACd,IAAIQ,uBAAAA,wBAAAA,KAAAA,IAAAA,WAAYiB,MAAM,EACpBd,aAAaH;aACR;YACL,IAAI,CAACH,YAAYgB,QAAQ,CAACd,WACxBF,YAAYiB,IAAI,CAACf;YAEnBmB,aAAavB;YACb,qBAAqB;YACrBA,YAAYwB,WAAW,IAAM;gBAC3B5B,aAAaM,aAAauB,IAAI,CAACJ,CAAAA,SAAU;oBACvC,IAAIA,OAAOC,MAAM,EACfd,aAAaa;gBAEjB;YACF,GAAG;QACL,CAAC;IACH,GAAG;QAACjB;QAAUC;KAAW;IAEzBR,UAAU,IAAM;QACdU,SAASR,aAAakB,MAAM,CAACJ,CAAAA;gBAAQA;YAAAA,OAAAA,CAAAA,CAAAA,aAAAA,KAAKC,IAAI,cAATD,wBAAAA,KAAAA,IAAAA,WAAWE,IAAI,AAAD,MAAMX;;IAC3D,GAAG;QAACL;KAAa;IAGjB,OAAO;QAACO;QAAOc;KAAgB;AACjC,EAAC"}
@@ -0,0 +1,4 @@
1
+ .selectActions {
2
+ text-align: right;
3
+ padding: 2px 8px;
4
+ }
@@ -0,0 +1,19 @@
1
+ /// <reference types="react" />
2
+ import { AppDictItem } from "@knockout-js/api/ucenter";
3
+ import { SelectProps } from "antd";
4
+ export interface DictionarySelectProps extends SelectProps {
5
+ /**
6
+ * 字典code
7
+ */
8
+ dictCode: string;
9
+ /**
10
+ * 外部提供数据源
11
+ */
12
+ dataSource?: AppDictItem[];
13
+ /**
14
+ * changeValue=id: onChange的第一个参数值就为code
15
+ */
16
+ changeValue?: "id" | "code";
17
+ }
18
+ declare const _default: (props: DictionarySelectProps) => JSX.Element;
19
+ export default _default;
@@ -0,0 +1,51 @@
1
+ import _object_spread from "@swc/helpers/src/_object_spread.mjs";
2
+ import _object_spread_props from "@swc/helpers/src/_object_spread_props.mjs";
3
+ import _object_without_properties from "@swc/helpers/src/_object_without_properties.mjs";
4
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "@ice/jsx-runtime/jsx-runtime";
5
+ import { ReloadOutlined } from "@ant-design/icons";
6
+ import { Select } from "antd";
7
+ import { useEffect, useState } from "react";
8
+ import styles from "./index.module.css";
9
+ import { useDistItems } from "./index";
10
+ export default ((props)=>{
11
+ const { dictCode , dataSource , changeValue } = props, restProps = _object_without_properties(props, [
12
+ "dictCode",
13
+ "dataSource",
14
+ "changeValue"
15
+ ]), [items, itemsReload] = useDistItems(dictCode, dataSource), [loading, setLoading] = useState(false), [options, setOptions] = useState([]);
16
+ useEffect(()=>{
17
+ setOptions(items.map((item)=>({
18
+ label: item.name,
19
+ value: item[changeValue !== null && changeValue !== void 0 ? changeValue : 'code'],
20
+ data: item
21
+ })));
22
+ }, [
23
+ items
24
+ ]);
25
+ return /*#__PURE__*/ _jsx(Select, _object_spread_props(_object_spread({
26
+ style: {
27
+ width: '100%'
28
+ }
29
+ }, restProps), {
30
+ loading: loading,
31
+ options: options,
32
+ dropdownRender: (menu)=>/*#__PURE__*/ _jsxs(_Fragment, {
33
+ children: [
34
+ menu,
35
+ /*#__PURE__*/ _jsx("div", {
36
+ className: styles.selectActions,
37
+ children: /*#__PURE__*/ _jsx(ReloadOutlined, {
38
+ rev: undefined,
39
+ onClick: async ()=>{
40
+ setLoading(true);
41
+ await itemsReload();
42
+ setLoading(false);
43
+ }
44
+ })
45
+ })
46
+ ]
47
+ })
48
+ }));
49
+ });
50
+
51
+ //# sourceMappingURL=D:\codeing\git\github\knockout-js\packages\layout\es2017\components\dictionary\select.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["D:\\codeing\\git\\github\\knockout-js\\packages\\layout\\src\\components\\dictionary\\select.tsx"],"sourcesContent":["import { ReloadOutlined } from \"@ant-design/icons\";\r\nimport { AppDictItem } from \"@knockout-js/api/ucenter\";\r\nimport { Select, SelectProps } from \"antd\";\r\nimport { useEffect, useState } from \"react\";\r\nimport styles from \"./index.module.css\";\r\nimport { useDistItems } from \".\";\r\n\r\nexport interface DictionarySelectProps extends SelectProps {\r\n /**\r\n * 字典code\r\n */\r\n dictCode: string;\r\n /**\r\n * 外部提供数据源\r\n */\r\n dataSource?: AppDictItem[];\r\n /**\r\n * changeValue=id: onChange的第一个参数值就为code\r\n */\r\n changeValue?: \"id\" | \"code\";\r\n}\r\n\r\ntype DictionarySelectOption = {\r\n label: string;\r\n value: string;\r\n data: AppDictItem;\r\n}\r\n\r\nexport default (props: DictionarySelectProps) => {\r\n const { dictCode, dataSource, changeValue, ...restProps } = props,\r\n [items, itemsReload] = useDistItems(dictCode, dataSource),\r\n [loading, setLoading] = useState(false),\r\n [options, setOptions] = useState<DictionarySelectOption[]>([]);\r\n\r\n useEffect(() => {\r\n setOptions(items\r\n .map(item => ({\r\n label: item.name,\r\n value: item[changeValue ?? 'code'],\r\n data: item,\r\n }))\r\n );\r\n }, [items])\r\n\r\n return <Select\r\n style={{ width: '100%' }}\r\n {...restProps}\r\n loading={loading}\r\n options={options}\r\n dropdownRender={(menu) => <>\r\n {menu}\r\n <div className={styles.selectActions}>\r\n <ReloadOutlined rev={undefined} onClick={async () => {\r\n setLoading(true);\r\n await itemsReload();\r\n setLoading(false);\r\n }} />\r\n </div>\r\n </>\r\n }\r\n />\r\n}\r\n"],"names":["ReloadOutlined","Select","useEffect","useState","styles","useDistItems","props","dictCode","dataSource","changeValue","restProps","items","itemsReload","loading","setLoading","options","setOptions","map","item","label","name","value","data","style","width","dropdownRender","menu","div","className","selectActions","rev","undefined","onClick"],"mappings":";;;;AAAA,SAASA,cAAc,QAAQ,oBAAoB;AAEnD,SAASC,MAAM,QAAqB,OAAO;AAC3C,SAASC,SAAS,EAAEC,QAAQ,QAAQ,QAAQ;AAC5C,OAAOC,YAAY,qBAAqB;AACxC,SAASC,YAAY,QAAQ,UAAI;AAuBjC,eAAe,CAAA,CAACC,QAAiC;IAC/C,MAAM,EAAEC,SAAQ,EAAEC,WAAU,EAAEC,YAAW,EAAgB,GAAGH,OAAdI,uCAAcJ;QAApDC;QAAUC;QAAYC;QAC5B,CAACE,OAAOC,YAAY,GAAGP,aAAaE,UAAUC,aAC9C,CAACK,SAASC,WAAW,GAAGX,SAAS,KAAK,GACtC,CAACY,SAASC,WAAW,GAAGb,SAAmC,EAAE;IAE/DD,UAAU,IAAM;QACdc,WAAWL,MACRM,GAAG,CAACC,CAAAA,OAAS,CAAA;gBACZC,OAAOD,KAAKE,IAAI;gBAChBC,OAAOH,IAAI,CAACT,wBAAAA,yBAAAA,cAAe,MAAM,CAAC;gBAClCa,MAAMJ;YACR,CAAA;IAEJ,GAAG;QAACP;KAAM;IAEV,qBAAO,KAACV;QACNsB,OAAO;YAAEC,OAAO;QAAO;OACnBd;QACJG,SAASA;QACTE,SAASA;QACTU,gBAAgB,CAACC,qBAAS;;oBACvBA;kCACD,KAACC;wBAAIC,WAAWxB,OAAOyB,aAAa;kCAClC,cAAA,KAAC7B;4BAAe8B,KAAKC;4BAAWC,SAAS,UAAY;gCACnDlB,WAAW,IAAI;gCACf,MAAMF;gCACNE,WAAW,KAAK;4BAClB;;;;;;AAKR,CAAA,EAAC"}
@@ -0,0 +1,23 @@
1
+ /// <reference types="react" />
2
+ import { AppDictItem } from "@knockout-js/api/ucenter";
3
+ import { TextProps } from "antd/es/typography/Text";
4
+ export interface DictionaryTextProps extends TextProps {
5
+ /**
6
+ * 值
7
+ */
8
+ value?: string;
9
+ /**
10
+ * 字典code
11
+ */
12
+ dictCode: string;
13
+ /**
14
+ * 外部提供数据源
15
+ */
16
+ dataSource?: AppDictItem[];
17
+ /**
18
+ * 默认使用code来匹配value
19
+ */
20
+ valueKey?: "id" | "code";
21
+ }
22
+ declare const _default: (props: DictionaryTextProps) => JSX.Element;
23
+ export default _default;
@@ -0,0 +1,28 @@
1
+ import _object_spread from "@swc/helpers/src/_object_spread.mjs";
2
+ import _object_spread_props from "@swc/helpers/src/_object_spread_props.mjs";
3
+ import _object_without_properties from "@swc/helpers/src/_object_without_properties.mjs";
4
+ import { jsx as _jsx } from "@ice/jsx-runtime/jsx-runtime";
5
+ import { Typography } from "antd";
6
+ import { useEffect, useState } from "react";
7
+ import { useDistItems } from "./index";
8
+ export default ((props)=>{
9
+ const { value , dataSource , dictCode , valueKey } = props, restProps = _object_without_properties(props, [
10
+ "value",
11
+ "dataSource",
12
+ "dictCode",
13
+ "valueKey"
14
+ ]), [items] = useDistItems(dictCode, dataSource), [dictItem, setDictItem] = useState();
15
+ useEffect(()=>{
16
+ setDictItem(items.find((item)=>item[valueKey !== null && valueKey !== void 0 ? valueKey : 'code'] === value));
17
+ }, [
18
+ value,
19
+ valueKey,
20
+ items
21
+ ]);
22
+ var _dictItem_name, _ref;
23
+ return /*#__PURE__*/ _jsx(Typography.Text, _object_spread_props(_object_spread({}, restProps), {
24
+ children: (_ref = (_dictItem_name = dictItem === null || dictItem === void 0 ? void 0 : dictItem.name) !== null && _dictItem_name !== void 0 ? _dictItem_name : props.value) !== null && _ref !== void 0 ? _ref : ''
25
+ }));
26
+ });
27
+
28
+ //# sourceMappingURL=D:\codeing\git\github\knockout-js\packages\layout\es2017\components\dictionary\text.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["D:\\codeing\\git\\github\\knockout-js\\packages\\layout\\src\\components\\dictionary\\text.tsx"],"sourcesContent":["import { AppDictItem } from \"@knockout-js/api/ucenter\";\r\nimport { Typography } from \"antd\"\r\nimport { TextProps } from \"antd/es/typography/Text\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { useDistItems } from \".\";\r\n\r\nexport interface DictionaryTextProps extends TextProps {\r\n /**\r\n * 值\r\n */\r\n value?: string;\r\n /**\r\n * 字典code\r\n */\r\n dictCode: string;\r\n /**\r\n * 外部提供数据源\r\n */\r\n dataSource?: AppDictItem[];\r\n /**\r\n * 默认使用code来匹配value\r\n */\r\n valueKey?: \"id\" | \"code\";\r\n}\r\n\r\n\r\nexport default (props: DictionaryTextProps) => {\r\n const { value, dataSource, dictCode, valueKey, ...restProps } = props,\r\n [items] = useDistItems(dictCode, dataSource),\r\n [dictItem, setDictItem] = useState<AppDictItem>();\r\n\r\n\r\n useEffect(() => {\r\n setDictItem(items.find(item => item[valueKey ?? 'code'] === value));\r\n }, [value, valueKey, items]);\r\n\r\n return <Typography.Text {...restProps}>\r\n {dictItem?.name ?? props.value ?? ''}\r\n </Typography.Text>\r\n}\r\n"],"names":["Typography","useEffect","useState","useDistItems","props","value","dataSource","dictCode","valueKey","restProps","items","dictItem","setDictItem","find","item","Text","name"],"mappings":";;;;AACA,SAASA,UAAU,QAAQ,OAAM;AAEjC,SAASC,SAAS,EAAEC,QAAQ,QAAQ,QAAQ;AAC5C,SAASC,YAAY,QAAQ,UAAI;AAsBjC,eAAe,CAAA,CAACC,QAA+B;IAC7C,MAAM,EAAEC,MAAK,EAAEC,WAAU,EAAEC,SAAQ,EAAEC,SAAQ,EAAgB,GAAGJ,OAAdK,uCAAcL;QAAxDC;QAAOC;QAAYC;QAAUC;QACnC,CAACE,MAAM,GAAGP,aAAaI,UAAUD,aACjC,CAACK,UAAUC,YAAY,GAAGV;IAG5BD,UAAU,IAAM;QACdW,YAAYF,MAAMG,IAAI,CAACC,CAAAA,OAAQA,IAAI,CAACN,qBAAAA,sBAAAA,WAAY,MAAM,CAAC,KAAKH;IAC9D,GAAG;QAACA;QAAOG;QAAUE;KAAM;QAGxBC,gBAAAA;IADH,qBAAO,KAACX,WAAWe,IAAI,0CAAKN;kBACzBE,CAAAA,OAAAA,CAAAA,iBAAAA,qBAAAA,sBAAAA,KAAAA,IAAAA,SAAUK,IAAI,cAAdL,4BAAAA,iBAAkBP,MAAMC,KAAK,cAA7BM,kBAAAA,OAAiC,EAAE;;AAExC,CAAA,EAAC"}
@@ -1,2 +1,4 @@
1
1
  import { SVGProps } from "react";
2
2
  export declare const OpenWin: (props: JSX.IntrinsicAttributes & SVGProps<SVGSVGElement>) => JSX.Element;
3
+ export declare const Sun: (props: JSX.IntrinsicAttributes & SVGProps<SVGSVGElement>) => JSX.Element;
4
+ export declare const Moon: (props: JSX.IntrinsicAttributes & SVGProps<SVGSVGElement>) => JSX.Element;
@@ -15,5 +15,25 @@ export const OpenWin = (props)=>{
15
15
  })
16
16
  }));
17
17
  };
18
+ export const Sun = (props)=>/*#__PURE__*/ _jsx("svg", _object_spread_props(_object_spread({
19
+ fill: "currentColor",
20
+ viewBox: "0 0 24 24",
21
+ width: "24",
22
+ height: "24"
23
+ }, props), {
24
+ children: /*#__PURE__*/ _jsx("path", {
25
+ d: "M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"
26
+ })
27
+ }));
28
+ export const Moon = (props)=>/*#__PURE__*/ _jsx("svg", _object_spread_props(_object_spread({
29
+ viewBox: "0 0 24 24",
30
+ width: "28",
31
+ height: "28",
32
+ fill: "currentColor"
33
+ }, props), {
34
+ children: /*#__PURE__*/ _jsx("path", {
35
+ d: "M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"
36
+ })
37
+ }));
18
38
 
19
39
  //# sourceMappingURL=D:\codeing\git\github\knockout-js\packages\layout\es2017\components\icons\index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["D:\\codeing\\git\\github\\knockout-js\\packages\\layout\\src\\components\\icons\\index.tsx"],"sourcesContent":["import { SVGProps } from \"react\"\r\n\r\nexport const OpenWin = (props: JSX.IntrinsicAttributes & SVGProps<SVGSVGElement>) => {\r\n return <svg\r\n fill=\"currentColor\"\r\n viewBox=\"0 0 1024 1024\"\r\n p-id=\"19410\"\r\n width=\"12\"\r\n height=\"12\"\r\n {...props}\r\n >\r\n <path d=\"M398.506667 960H160q-39.765333 0-67.882667-28.117333-28.117333-28.117333-28.117333-67.882667V160q0-39.765333 28.117333-67.882667Q120.234667 64 160 64h704q39.765333 0 67.882667 28.117333 28.117333 28.117333 28.117333 67.882667v149.333333a32 32 0 0 1-32 32H128v522.666667q0 13.226667 9.386667 22.613333 9.386667 9.386667 22.613333 9.386667h238.506667a32 32 0 0 1 0 64zM128 160V277.333333h768V160q0-13.226667-9.386667-22.613333-9.386667-9.386667-22.613333-9.386667H160q-13.226667 0-22.613333 9.386667-9.386667 9.386667-9.386667 22.613333z m800.512 341.333333H672a32 32 0 0 0 0 64h178.773333l-340.053333 340.053334a32 32 0 0 0 45.226667 45.226666L896 610.602667v178.773333a32 32 0 0 0 64 0v-255.573333a31.914667 31.914667 0 0 0-31.488-32.426667z\" p-id=\"19411\"></path>\r\n </svg>\r\n}\r\n"],"names":["OpenWin","props","svg","fill","viewBox","p-id","width","height","path","d"],"mappings":";;;AAEA,OAAO,MAAMA,UAAU,CAACC,QAA6D;IACnF,qBAAO,KAACC;QACNC,MAAK;QACLC,SAAQ;QACRC,QAAK;QACLC,OAAM;QACNC,QAAO;OACHN;kBAEJ,cAAA,KAACO;YAAKC,GAAE;YAAwuBJ,QAAK;;;AAEzvB,EAAC"}
1
+ {"version":3,"sources":["D:\\codeing\\git\\github\\knockout-js\\packages\\layout\\src\\components\\icons\\index.tsx"],"sourcesContent":["import { SVGProps } from \"react\"\r\n\r\nexport const OpenWin = (props: JSX.IntrinsicAttributes & SVGProps<SVGSVGElement>) => {\r\n return <svg\r\n fill=\"currentColor\"\r\n viewBox=\"0 0 1024 1024\"\r\n p-id=\"19410\"\r\n width=\"12\"\r\n height=\"12\"\r\n {...props}\r\n >\r\n <path d=\"M398.506667 960H160q-39.765333 0-67.882667-28.117333-28.117333-28.117333-28.117333-67.882667V160q0-39.765333 28.117333-67.882667Q120.234667 64 160 64h704q39.765333 0 67.882667 28.117333 28.117333 28.117333 28.117333 67.882667v149.333333a32 32 0 0 1-32 32H128v522.666667q0 13.226667 9.386667 22.613333 9.386667 9.386667 22.613333 9.386667h238.506667a32 32 0 0 1 0 64zM128 160V277.333333h768V160q0-13.226667-9.386667-22.613333-9.386667-9.386667-22.613333-9.386667H160q-13.226667 0-22.613333 9.386667-9.386667 9.386667-9.386667 22.613333z m800.512 341.333333H672a32 32 0 0 0 0 64h178.773333l-340.053333 340.053334a32 32 0 0 0 45.226667 45.226666L896 610.602667v178.773333a32 32 0 0 0 64 0v-255.573333a31.914667 31.914667 0 0 0-31.488-32.426667z\" p-id=\"19411\"></path>\r\n </svg>\r\n}\r\n\r\nexport const Sun = (props: JSX.IntrinsicAttributes & SVGProps<SVGSVGElement>) => <svg fill=\"currentColor\" viewBox=\"0 0 24 24\" width=\"24\" height=\"24\" {...props}>\r\n <path d=\"M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z\"></path>\r\n</svg>\r\n\r\nexport const Moon = (props: JSX.IntrinsicAttributes & SVGProps<SVGSVGElement>) => <svg viewBox=\"0 0 24 24\" width=\"28\" height=\"28\" fill=\"currentColor\" {...props}>\r\n <path d=\"M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z\"></path>\r\n</svg>\r\n"],"names":["OpenWin","props","svg","fill","viewBox","p-id","width","height","path","d","Sun","Moon"],"mappings":";;;AAEA,OAAO,MAAMA,UAAU,CAACC,QAA6D;IACnF,qBAAO,KAACC;QACNC,MAAK;QACLC,SAAQ;QACRC,QAAK;QACLC,OAAM;QACNC,QAAO;OACHN;kBAEJ,cAAA,KAACO;YAAKC,GAAE;YAAwuBJ,QAAK;;;AAEzvB,EAAC;AAED,OAAO,MAAMK,MAAM,CAACT,sBAA6D,KAACC;QAAIC,MAAK;QAAeC,SAAQ;QAAYE,OAAM;QAAKC,QAAO;OAAUN;kBACxJ,cAAA,KAACO;YAAKC,GAAE;;QACJ;AAEN,OAAO,MAAME,OAAO,CAACV,sBAA6D,KAACC;QAAIE,SAAQ;QAAYE,OAAM;QAAKC,QAAO;QAAKJ,MAAK;OAAmBF;kBACxJ,cAAA,KAACO;YAAKC,GAAE;;QACJ"}
@@ -2,6 +2,8 @@ export { default as Provider, Context, type ProviderProps, } from './provider';
2
2
  export { default as ThemeSwitch } from './theme-switch';
3
3
  export { default as AvatarDropdown } from './avatar-dropdown';
4
4
  export { default as KeepAlive } from './keep-alive';
5
+ export { default as DictText } from './dictionary/text';
6
+ export { default as DictSelect } from './dictionary/select';
5
7
  export { default as TenantDropdown } from './tenant-dropdown';
6
8
  export { default as MsgDropdown } from './msg-dropdown';
7
9
  export { default as LeavePrompt, useLeavePrompt } from './leave-prompt';
@@ -2,6 +2,8 @@ export { default as Provider, Context } from "./provider/index";
2
2
  export { default as ThemeSwitch } from "./theme-switch/index";
3
3
  export { default as AvatarDropdown } from "./avatar-dropdown/index";
4
4
  export { default as KeepAlive } from "./keep-alive/index";
5
+ export { default as DictText } from "./dictionary/text";
6
+ export { default as DictSelect } from "./dictionary/select";
5
7
  export { default as TenantDropdown } from "./tenant-dropdown/index";
6
8
  export { default as MsgDropdown } from "./msg-dropdown/index";
7
9
  export { default as LeavePrompt, useLeavePrompt } from "./leave-prompt/index";
@@ -1 +1 @@
1
- {"version":3,"sources":["D:\\codeing\\git\\github\\knockout-js\\packages\\layout\\src\\components\\index.ts"],"sourcesContent":["export { default as Provider, Context, type ProviderProps, } from './provider';\r\nexport { default as ThemeSwitch } from './theme-switch';\r\nexport { default as AvatarDropdown } from './avatar-dropdown';\r\nexport { default as KeepAlive } from './keep-alive';\r\nexport { default as TenantDropdown } from './tenant-dropdown';\r\nexport { default as MsgDropdown } from './msg-dropdown';\r\nexport { default as LeavePrompt, useLeavePrompt } from './leave-prompt';\r\nexport { default as I18nDropdown } from './i18n-dropdown';\r\nexport { default as CollectProviders } from './collect-providers';\r\nexport { LocaleType } from './provider';\r\nexport { default as Layout } from './layout';\r\nexport { default as Modal, type ModalProps } from './modal';\r\nexport { default as AggregateMenu, type AggregateMenuDataSource } from './aggregate-menu';\r\nexport { default as UploadAvatar } from './upload-file/uploadAvatar';\r\nexport { default as UploadMultiple } from './upload-file/uploadMultiple';\r\nexport { default as UploadTemp } from './upload-file/uploadTemp';\r\n\r\nexport * as util from './_util';\r\n"],"names":["default","Provider","Context","ThemeSwitch","AvatarDropdown","KeepAlive","TenantDropdown","MsgDropdown","LeavePrompt","useLeavePrompt","I18nDropdown","CollectProviders","LocaleType","Layout","Modal","AggregateMenu","UploadAvatar","UploadMultiple","UploadTemp","util"],"mappings":"AAAA,SAASA,WAAWC,QAAQ,EAAEC,OAAO,QAA6B,mBAAa;AAC/E,SAASF,WAAWG,WAAW,QAAQ,uBAAiB;AACxD,SAASH,WAAWI,cAAc,QAAQ,0BAAoB;AAC9D,SAASJ,WAAWK,SAAS,QAAQ,qBAAe;AACpD,SAASL,WAAWM,cAAc,QAAQ,0BAAoB;AAC9D,SAASN,WAAWO,WAAW,QAAQ,uBAAiB;AACxD,SAASP,WAAWQ,WAAW,EAAEC,cAAc,QAAQ,uBAAiB;AACxE,SAAST,WAAWU,YAAY,QAAQ,wBAAkB;AAC1D,SAASV,WAAWW,gBAAgB,QAAQ,4BAAsB;AAClE,SAASC,UAAU,QAAQ,mBAAa;AACxC,SAASZ,WAAWa,MAAM,QAAQ,iBAAW;AAC7C,SAASb,WAAWc,KAAK,QAAyB,gBAAU;AAC5D,SAASd,WAAWe,aAAa,QAAsC,yBAAmB;AAC1F,SAASf,WAAWgB,YAAY,QAAQ,6BAA6B;AACrE,SAAShB,WAAWiB,cAAc,QAAQ,+BAA+B;AACzE,SAASjB,WAAWkB,UAAU,QAAQ,2BAA2B;AAEjE,uBAAsB,gBAAU;AAAhC,SAAO,SAAKC,IAAI,GAAgB"}
1
+ {"version":3,"sources":["D:\\codeing\\git\\github\\knockout-js\\packages\\layout\\src\\components\\index.ts"],"sourcesContent":["export { default as Provider, Context, type ProviderProps, } from './provider';\r\nexport { default as ThemeSwitch } from './theme-switch';\r\nexport { default as AvatarDropdown } from './avatar-dropdown';\r\nexport { default as KeepAlive } from './keep-alive';\r\nexport { default as DictText } from './dictionary/text';\r\nexport { default as DictSelect } from './dictionary/select';\r\nexport { default as TenantDropdown } from './tenant-dropdown';\r\nexport { default as MsgDropdown } from './msg-dropdown';\r\nexport { default as LeavePrompt, useLeavePrompt } from './leave-prompt';\r\nexport { default as I18nDropdown } from './i18n-dropdown';\r\nexport { default as CollectProviders } from './collect-providers';\r\nexport { LocaleType } from './provider';\r\nexport { default as Layout } from './layout';\r\nexport { default as Modal, type ModalProps } from './modal';\r\nexport { default as AggregateMenu, type AggregateMenuDataSource } from './aggregate-menu';\r\nexport { default as UploadAvatar } from './upload-file/uploadAvatar';\r\nexport { default as UploadMultiple } from './upload-file/uploadMultiple';\r\nexport { default as UploadTemp } from './upload-file/uploadTemp';\r\n\r\nexport * as util from './_util';\r\n"],"names":["default","Provider","Context","ThemeSwitch","AvatarDropdown","KeepAlive","DictText","DictSelect","TenantDropdown","MsgDropdown","LeavePrompt","useLeavePrompt","I18nDropdown","CollectProviders","LocaleType","Layout","Modal","AggregateMenu","UploadAvatar","UploadMultiple","UploadTemp","util"],"mappings":"AAAA,SAASA,WAAWC,QAAQ,EAAEC,OAAO,QAA6B,mBAAa;AAC/E,SAASF,WAAWG,WAAW,QAAQ,uBAAiB;AACxD,SAASH,WAAWI,cAAc,QAAQ,0BAAoB;AAC9D,SAASJ,WAAWK,SAAS,QAAQ,qBAAe;AACpD,SAASL,WAAWM,QAAQ,QAAQ,oBAAoB;AACxD,SAASN,WAAWO,UAAU,QAAQ,sBAAsB;AAC5D,SAASP,WAAWQ,cAAc,QAAQ,0BAAoB;AAC9D,SAASR,WAAWS,WAAW,QAAQ,uBAAiB;AACxD,SAAST,WAAWU,WAAW,EAAEC,cAAc,QAAQ,uBAAiB;AACxE,SAASX,WAAWY,YAAY,QAAQ,wBAAkB;AAC1D,SAASZ,WAAWa,gBAAgB,QAAQ,4BAAsB;AAClE,SAASC,UAAU,QAAQ,mBAAa;AACxC,SAASd,WAAWe,MAAM,QAAQ,iBAAW;AAC7C,SAASf,WAAWgB,KAAK,QAAyB,gBAAU;AAC5D,SAAShB,WAAWiB,aAAa,QAAsC,yBAAmB;AAC1F,SAASjB,WAAWkB,YAAY,QAAQ,6BAA6B;AACrE,SAASlB,WAAWmB,cAAc,QAAQ,+BAA+B;AACzE,SAASnB,WAAWoB,UAAU,QAAQ,2BAA2B;AAEjE,uBAAsB,gBAAU;AAAhC,SAAO,SAAKC,IAAI,GAAgB"}
@@ -1,5 +1,4 @@
1
1
  import React from 'react';
2
- import { SwitchProps } from 'antd';
3
2
  export interface ThemeSwitchLocale {
4
3
  bright: string;
5
4
  dark: string;
@@ -9,10 +8,6 @@ export interface ThemeSwitchProps {
9
8
  * 值
10
9
  */
11
10
  value: boolean;
12
- /**
13
- * switch的设置
14
- */
15
- switchProps?: SwitchProps;
16
11
  /**
17
12
  * 值变更事件 (value: boolean) => void;
18
13
  */
@@ -1,20 +1,22 @@
1
- import _object_spread from "@swc/helpers/src/_object_spread.mjs";
2
- import _object_spread_props from "@swc/helpers/src/_object_spread_props.mjs";
3
1
  import { jsx as _jsx } from "@ice/jsx-runtime/jsx-runtime";
4
2
  import React from "react";
5
- import { Switch } from "antd";
6
- import { useLocale } from "../locale/index";
3
+ import { Moon, Sun } from "../icons/index";
4
+ import styles from "./index.module.css";
7
5
  const ThemeSwitch = (props)=>{
8
- const locale = useLocale('ThemeSwitch');
9
- return /*#__PURE__*/ _jsx(Switch, _object_spread_props(_object_spread({
10
- checkedChildren: locale.bright,
11
- unCheckedChildren: locale.dark
12
- }, props.switchProps), {
13
- checked: props.value,
14
- onChange: (checked)=>{
15
- props.onChange(checked);
16
- }
17
- }));
6
+ return /*#__PURE__*/ _jsx("span", {
7
+ className: styles.action,
8
+ children: /*#__PURE__*/ _jsx("span", {
9
+ children: props.value ? /*#__PURE__*/ _jsx(Moon, {
10
+ onClick: ()=>{
11
+ props.onChange(false);
12
+ }
13
+ }) : /*#__PURE__*/ _jsx(Sun, {
14
+ onClick: ()=>{
15
+ props.onChange(true);
16
+ }
17
+ })
18
+ })
19
+ });
18
20
  };
19
21
  export default ThemeSwitch;
20
22
 
@@ -1 +1 @@
1
- {"version":3,"sources":["D:\\codeing\\git\\github\\knockout-js\\packages\\layout\\src\\components\\theme-switch\\index.tsx"],"sourcesContent":["import React from 'react';\r\nimport { Switch, SwitchProps } from 'antd';\r\nimport { useLocale } from '../locale';\r\n\r\nexport interface ThemeSwitchLocale {\r\n bright: string;\r\n dark: string;\r\n}\r\n\r\nexport interface ThemeSwitchProps {\r\n /**\r\n * 值\r\n */\r\n value: boolean;\r\n /**\r\n * switch的设置\r\n */\r\n switchProps?: SwitchProps;\r\n /**\r\n * 值变更事件 (value: boolean) => void;\r\n */\r\n onChange: (value: boolean) => void;\r\n}\r\n\r\nconst ThemeSwitch: React.FC<ThemeSwitchProps> = (props: ThemeSwitchProps) => {\r\n const locale = useLocale('ThemeSwitch')\r\n return (\r\n <Switch\r\n checkedChildren={locale.bright}\r\n unCheckedChildren={locale.dark}\r\n {...props.switchProps}\r\n checked={props.value}\r\n onChange={(checked) => {\r\n props.onChange(checked)\r\n }}\r\n />\r\n );\r\n};\r\n\r\nexport default ThemeSwitch;\r\n"],"names":["React","Switch","useLocale","ThemeSwitch","props","locale","checkedChildren","bright","unCheckedChildren","dark","switchProps","checked","value","onChange"],"mappings":";;;AAAA,OAAOA,WAAW,QAAQ;AAC1B,SAASC,MAAM,QAAqB,OAAO;AAC3C,SAASC,SAAS,QAAQ,kBAAY;AAsBtC,MAAMC,cAA0C,CAACC,QAA4B;IAC3E,MAAMC,SAASH,UAAU;IACzB,qBACE,KAACD;QACCK,iBAAiBD,OAAOE,MAAM;QAC9BC,mBAAmBH,OAAOI,IAAI;OAC1BL,MAAMM,WAAW;QACrBC,SAASP,MAAMQ,KAAK;QACpBC,UAAU,CAACF,UAAY;YACrBP,MAAMS,QAAQ,CAACF;QACjB;;AAGN;AAEA,eAAeR,YAAY"}
1
+ {"version":3,"sources":["D:\\codeing\\git\\github\\knockout-js\\packages\\layout\\src\\components\\theme-switch\\index.tsx"],"sourcesContent":["import React from 'react';\r\nimport { Moon, Sun } from '../icons';\r\nimport styles from './index.module.css';\r\n\r\nexport interface ThemeSwitchLocale {\r\n bright: string;\r\n dark: string;\r\n}\r\n\r\nexport interface ThemeSwitchProps {\r\n /**\r\n * 值\r\n */\r\n value: boolean;\r\n /**\r\n * 值变更事件 (value: boolean) => void;\r\n */\r\n onChange: (value: boolean) => void;\r\n}\r\n\r\nconst ThemeSwitch: React.FC<ThemeSwitchProps> = (props: ThemeSwitchProps) => {\r\n return <span className={styles.action}>\r\n <span>{\r\n props.value ? <Moon onClick={() => {\r\n props.onChange(false)\r\n\r\n }} /> : <Sun onClick={() => {\r\n props.onChange(true)\r\n\r\n }} />}\r\n </span>\r\n </span>\r\n};\r\n\r\nexport default ThemeSwitch;\r\n"],"names":["React","Moon","Sun","styles","ThemeSwitch","props","span","className","action","value","onClick","onChange"],"mappings":";AAAA,OAAOA,WAAW,QAAQ;AAC1B,SAASC,IAAI,EAAEC,GAAG,QAAQ,iBAAW;AACrC,OAAOC,YAAY,qBAAqB;AAkBxC,MAAMC,cAA0C,CAACC,QAA4B;IAC3E,qBAAO,KAACC;QAAKC,WAAWJ,OAAOK,MAAM;kBACnC,cAAA,KAACF;sBACCD,MAAMI,KAAK,iBAAG,KAACR;gBAAKS,SAAS,IAAM;oBACjCL,MAAMM,QAAQ,CAAC,KAAK;gBAEtB;+BAAQ,KAACT;gBAAIQ,SAAS,IAAM;oBAC1BL,MAAMM,QAAQ,CAAC,IAAI;gBAErB;cAAK;;;AAGX;AAEA,eAAeP,YAAY"}
@@ -0,0 +1,14 @@
1
+ .action {
2
+ display: flex;
3
+ align-items: center;
4
+ height: 42px;
5
+ padding: 0 12px;
6
+ cursor: pointer;
7
+ transition: all 0.3s;
8
+ }
9
+
10
+ .action svg {
11
+ vertical-align: middle;
12
+ width: 18px;
13
+ height: 18px;
14
+ }
@@ -0,0 +1,6 @@
1
+ import { AppDictItem } from "@knockout-js/api/ucenter";
2
+ /**
3
+ * 用来处理缓存字典项列表
4
+ * @returns
5
+ */
6
+ export declare const useDistItems: (dictCode: string, dataSource?: AppDictItem[]) => [AppDictItem[], () => Promise<void>];
@@ -0,0 +1,86 @@
1
+ import _async_to_generator from "@swc/helpers/src/_async_to_generator.mjs";
2
+ import _sliced_to_array from "@swc/helpers/src/_sliced_to_array.mjs";
3
+ import _to_consumable_array from "@swc/helpers/src/_to_consumable_array.mjs";
4
+ import _ts_generator from "@swc/helpers/src/_ts_generator.mjs";
5
+ import { getDictItems } from "@knockout-js/api";
6
+ import { useEffect, useState } from "react";
7
+ var distItemList = [], timeoutFn = undefined;
8
+ var collectCode = [];
9
+ /**
10
+ * 用来处理缓存字典项列表
11
+ * @returns
12
+ */ export var useDistItems = function(dictCode, dataSource) {
13
+ var _useState = _sliced_to_array(useState([]), 2), items = _useState[0], setItems = _useState[1];
14
+ /**
15
+ * 通过列表设置存储
16
+ * @param list
17
+ */ var setDistItems = function(list) {
18
+ var _newDistItems;
19
+ var dictCodes = _to_consumable_array(new Set(list.map(function(item) {
20
+ var _item_dict;
21
+ return (_item_dict = item.dict) === null || _item_dict === void 0 ? void 0 : _item_dict.code;
22
+ })));
23
+ // 清理掉旧数据
24
+ var newDistItems = distItemList.filter(function(item) {
25
+ var _item_dict;
26
+ return !dictCodes.includes((_item_dict = item.dict) === null || _item_dict === void 0 ? void 0 : _item_dict.code);
27
+ });
28
+ (_newDistItems = newDistItems).push.apply(_newDistItems, _to_consumable_array(list));
29
+ distItemList = newDistItems;
30
+ };
31
+ /**
32
+ * 刷新列表接口
33
+ */ var reloadDistItems = function() {
34
+ var _ref = _async_to_generator(function() {
35
+ var result;
36
+ return _ts_generator(this, function(_state) {
37
+ switch(_state.label){
38
+ case 0:
39
+ return [
40
+ 4,
41
+ getDictItems(dictCode, true)
42
+ ];
43
+ case 1:
44
+ result = _state.sent();
45
+ if (result.length) setDistItems(result);
46
+ return [
47
+ 2
48
+ ];
49
+ }
50
+ });
51
+ });
52
+ return function reloadDistItems() {
53
+ return _ref.apply(this, arguments);
54
+ };
55
+ }();
56
+ useEffect(function() {
57
+ if (dataSource === null || dataSource === void 0 ? void 0 : dataSource.length) setDistItems(dataSource);
58
+ else {
59
+ if (!collectCode.includes(dictCode)) collectCode.push(dictCode);
60
+ clearTimeout(timeoutFn);
61
+ // 设置收集时间毫秒内收集需要请求的数据
62
+ timeoutFn = setTimeout(function() {
63
+ getDictItems(collectCode).then(function(result) {
64
+ if (result.length) setDistItems(result);
65
+ });
66
+ }, 100);
67
+ }
68
+ }, [
69
+ dictCode,
70
+ dataSource
71
+ ]);
72
+ useEffect(function() {
73
+ setItems(distItemList.filter(function(item) {
74
+ var _item_dict;
75
+ return ((_item_dict = item.dict) === null || _item_dict === void 0 ? void 0 : _item_dict.code) === dictCode;
76
+ }));
77
+ }, [
78
+ distItemList
79
+ ]);
80
+ return [
81
+ items,
82
+ reloadDistItems
83
+ ];
84
+ };
85
+
86
+ //# sourceMappingURL=D:\codeing\git\github\knockout-js\packages\layout\esm\components\dictionary\index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["D:\\codeing\\git\\github\\knockout-js\\packages\\layout\\src\\components\\dictionary\\index.ts"],"sourcesContent":["import { getDictItems } from \"@knockout-js/api\";\r\nimport { AppDictItem } from \"@knockout-js/api/ucenter\";\r\nimport { useEffect, useState } from \"react\";\r\n\r\nlet distItemList: AppDictItem[] = [],\r\n timeoutFn: NodeJS.Timeout | undefined = undefined;\r\nconst collectCode: string[] = [];\r\n\r\n/**\r\n * 用来处理缓存字典项列表\r\n * @returns\r\n */\r\nexport const useDistItems = (dictCode: string, dataSource?: AppDictItem[]): [AppDictItem[], () => Promise<void>] => {\r\n\r\n const [items, setItems] = useState<AppDictItem[]>([]);\r\n\r\n /**\r\n * 通过列表设置存储\r\n * @param list\r\n */\r\n const setDistItems = (list: AppDictItem[]) => {\r\n const dictCodes = [...new Set(list.map(item => item.dict?.code))];\r\n // 清理掉旧数据\r\n const newDistItems = distItemList.filter(item => !dictCodes.includes(item.dict?.code));\r\n newDistItems.push(...list);\r\n distItemList = newDistItems;\r\n }\r\n\r\n /**\r\n * 刷新列表接口\r\n */\r\n const reloadDistItems = async () => {\r\n const result = await getDictItems(dictCode, true);\r\n if (result.length) {\r\n setDistItems(result);\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (dataSource?.length) {\r\n setDistItems(dataSource);\r\n } else {\r\n if (!collectCode.includes(dictCode)) {\r\n collectCode.push(dictCode);\r\n }\r\n clearTimeout(timeoutFn)\r\n // 设置收集时间毫秒内收集需要请求的数据\r\n timeoutFn = setTimeout(() => {\r\n getDictItems(collectCode).then(result => {\r\n if (result.length) {\r\n setDistItems(result);\r\n }\r\n });\r\n }, 100);\r\n }\r\n }, [dictCode, dataSource]);\r\n\r\n useEffect(() => {\r\n setItems(distItemList.filter(item => item.dict?.code === dictCode))\r\n }, [distItemList])\r\n\r\n\r\n return [items, reloadDistItems];\r\n}\r\n"],"names":["getDictItems","useEffect","useState","distItemList","timeoutFn","undefined","collectCode","useDistItems","dictCode","dataSource","items","setItems","setDistItems","list","newDistItems","dictCodes","Set","map","item","dict","code","filter","includes","push","reloadDistItems","result","length","clearTimeout","setTimeout","then"],"mappings":";;;;AAAA,SAASA,YAAY,QAAQ,mBAAmB;AAEhD,SAASC,SAAS,EAAEC,QAAQ,QAAQ,QAAQ;AAE5C,IAAIC,eAA8B,EAAE,EAClCC,YAAwCC;AAC1C,IAAMC,cAAwB,EAAE;AAEhC;;;CAGC,GACD,OAAO,IAAMC,eAAe,SAACC,UAAkBC,YAAqE;IAElH,IAA0BP,6BAAAA,SAAwB,EAAE,OAA7CQ,QAAmBR,cAAZS,WAAYT;IAE1B;;;GAGC,GACD,IAAMU,eAAe,SAACC,MAAwB;YAI5CC;QAHA,IAAMC,YAAa,qBAAG,IAAIC,IAAIH,KAAKI,GAAG,CAACC,SAAAA;gBAAQA;YAAAA,OAAAA,CAAAA,aAAAA,KAAKC,IAAI,cAATD,wBAAAA,KAAAA,IAAAA,WAAWE,IAAI;;QAC9D,SAAS;QACT,IAAMN,eAAeX,aAAakB,MAAM,CAACH,SAAAA;gBAA4BA;YAApB,OAAA,CAACH,UAAUO,QAAQ,CAACJ,CAAAA,aAAAA,KAAKC,IAAI,cAATD,wBAAAA,KAAAA,IAAAA,WAAWE,IAAI;;QACpFN,CAAAA,gBAAAA,cAAaS,IAAI,CAAjBT,MAAAA,eAAkB,qBAAGD;QACrBV,eAAeW;IACjB;IAEA;;GAEC,GACD,IAAMU;mBAAkB,oBAAA,WAAY;gBAC5BC;;;;wBAAS;;4BAAMzB,aAAaQ,UAAU,IAAI;;;wBAA1CiB,SAAS;wBACf,IAAIA,OAAOC,MAAM,EACfd,aAAaa;;;;;;QAEjB;wBALMD;;;;IAONvB,UAAU,WAAM;QACd,IAAIQ,uBAAAA,wBAAAA,KAAAA,IAAAA,WAAYiB,MAAM,EACpBd,aAAaH;aACR;YACL,IAAI,CAACH,YAAYgB,QAAQ,CAACd,WACxBF,YAAYiB,IAAI,CAACf;YAEnBmB,aAAavB;YACb,qBAAqB;YACrBA,YAAYwB,WAAW,WAAM;gBAC3B5B,aAAaM,aAAauB,IAAI,CAACJ,SAAAA,QAAU;oBACvC,IAAIA,OAAOC,MAAM,EACfd,aAAaa;gBAEjB;YACF,GAAG;QACL,CAAC;IACH,GAAG;QAACjB;QAAUC;KAAW;IAEzBR,UAAU,WAAM;QACdU,SAASR,aAAakB,MAAM,CAACH,SAAAA;gBAAQA;YAAAA,OAAAA,CAAAA,CAAAA,aAAAA,KAAKC,IAAI,cAATD,wBAAAA,KAAAA,IAAAA,WAAWE,IAAI,AAAD,MAAMZ;;IAC3D,GAAG;QAACL;KAAa;IAGjB,OAAO;QAACO;QAAOc;KAAgB;AACjC,EAAC"}
@@ -0,0 +1,4 @@
1
+ .selectActions {
2
+ text-align: right;
3
+ padding: 2px 8px;
4
+ }
@@ -0,0 +1,19 @@
1
+ /// <reference types="react" />
2
+ import { AppDictItem } from "@knockout-js/api/ucenter";
3
+ import { SelectProps } from "antd";
4
+ export interface DictionarySelectProps extends SelectProps {
5
+ /**
6
+ * 字典code
7
+ */
8
+ dictCode: string;
9
+ /**
10
+ * 外部提供数据源
11
+ */
12
+ dataSource?: AppDictItem[];
13
+ /**
14
+ * changeValue=id: onChange的第一个参数值就为code
15
+ */
16
+ changeValue?: "id" | "code";
17
+ }
18
+ declare const _default: (props: DictionarySelectProps) => JSX.Element;
19
+ export default _default;
@@ -0,0 +1,71 @@
1
+ import _async_to_generator from "@swc/helpers/src/_async_to_generator.mjs";
2
+ import _object_spread from "@swc/helpers/src/_object_spread.mjs";
3
+ import _object_spread_props from "@swc/helpers/src/_object_spread_props.mjs";
4
+ import _object_without_properties from "@swc/helpers/src/_object_without_properties.mjs";
5
+ import _sliced_to_array from "@swc/helpers/src/_sliced_to_array.mjs";
6
+ import _ts_generator from "@swc/helpers/src/_ts_generator.mjs";
7
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "@ice/jsx-runtime/jsx-runtime";
8
+ import { ReloadOutlined } from "@ant-design/icons";
9
+ import { Select } from "antd";
10
+ import { useEffect, useState } from "react";
11
+ import styles from "./index.module.css";
12
+ import { useDistItems } from "./index";
13
+ export default function(props) {
14
+ var dictCode = props.dictCode, dataSource = props.dataSource, changeValue = props.changeValue, restProps = _object_without_properties(props, [
15
+ "dictCode",
16
+ "dataSource",
17
+ "changeValue"
18
+ ]), _useDistItems = _sliced_to_array(useDistItems(dictCode, dataSource), 2), items = _useDistItems[0], itemsReload = _useDistItems[1], _useState = _sliced_to_array(useState(false), 2), loading = _useState[0], setLoading = _useState[1], _useState1 = _sliced_to_array(useState([]), 2), options = _useState1[0], setOptions = _useState1[1];
19
+ useEffect(function() {
20
+ setOptions(items.map(function(item) {
21
+ return {
22
+ label: item.name,
23
+ value: item[changeValue !== null && changeValue !== void 0 ? changeValue : "code"],
24
+ data: item
25
+ };
26
+ }));
27
+ }, [
28
+ items
29
+ ]);
30
+ return /*#__PURE__*/ _jsx(Select, _object_spread_props(_object_spread({
31
+ style: {
32
+ width: "100%"
33
+ }
34
+ }, restProps), {
35
+ loading: loading,
36
+ options: options,
37
+ dropdownRender: function(menu) {
38
+ return /*#__PURE__*/ _jsxs(_Fragment, {
39
+ children: [
40
+ menu,
41
+ /*#__PURE__*/ _jsx("div", {
42
+ className: styles.selectActions,
43
+ children: /*#__PURE__*/ _jsx(ReloadOutlined, {
44
+ rev: undefined,
45
+ onClick: /*#__PURE__*/ _async_to_generator(function() {
46
+ return _ts_generator(this, function(_state) {
47
+ switch(_state.label){
48
+ case 0:
49
+ setLoading(true);
50
+ return [
51
+ 4,
52
+ itemsReload()
53
+ ];
54
+ case 1:
55
+ _state.sent();
56
+ setLoading(false);
57
+ return [
58
+ 2
59
+ ];
60
+ }
61
+ });
62
+ })
63
+ })
64
+ })
65
+ ]
66
+ });
67
+ }
68
+ }));
69
+ };
70
+
71
+ //# sourceMappingURL=D:\codeing\git\github\knockout-js\packages\layout\esm\components\dictionary\select.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["D:\\codeing\\git\\github\\knockout-js\\packages\\layout\\src\\components\\dictionary\\select.tsx"],"sourcesContent":["import { ReloadOutlined } from \"@ant-design/icons\";\r\nimport { AppDictItem } from \"@knockout-js/api/ucenter\";\r\nimport { Select, SelectProps } from \"antd\";\r\nimport { useEffect, useState } from \"react\";\r\nimport styles from \"./index.module.css\";\r\nimport { useDistItems } from \".\";\r\n\r\nexport interface DictionarySelectProps extends SelectProps {\r\n /**\r\n * 字典code\r\n */\r\n dictCode: string;\r\n /**\r\n * 外部提供数据源\r\n */\r\n dataSource?: AppDictItem[];\r\n /**\r\n * changeValue=id: onChange的第一个参数值就为code\r\n */\r\n changeValue?: \"id\" | \"code\";\r\n}\r\n\r\ntype DictionarySelectOption = {\r\n label: string;\r\n value: string;\r\n data: AppDictItem;\r\n}\r\n\r\nexport default (props: DictionarySelectProps) => {\r\n const { dictCode, dataSource, changeValue, ...restProps } = props,\r\n [items, itemsReload] = useDistItems(dictCode, dataSource),\r\n [loading, setLoading] = useState(false),\r\n [options, setOptions] = useState<DictionarySelectOption[]>([]);\r\n\r\n useEffect(() => {\r\n setOptions(items\r\n .map(item => ({\r\n label: item.name,\r\n value: item[changeValue ?? 'code'],\r\n data: item,\r\n }))\r\n );\r\n }, [items])\r\n\r\n return <Select\r\n style={{ width: '100%' }}\r\n {...restProps}\r\n loading={loading}\r\n options={options}\r\n dropdownRender={(menu) => <>\r\n {menu}\r\n <div className={styles.selectActions}>\r\n <ReloadOutlined rev={undefined} onClick={async () => {\r\n setLoading(true);\r\n await itemsReload();\r\n setLoading(false);\r\n }} />\r\n </div>\r\n </>\r\n }\r\n />\r\n}\r\n"],"names":["ReloadOutlined","Select","useEffect","useState","styles","useDistItems","props","dictCode","dataSource","changeValue","restProps","items","itemsReload","loading","setLoading","options","setOptions","map","item","label","name","value","data","style","width","dropdownRender","menu","div","className","selectActions","rev","undefined","onClick"],"mappings":";;;;;;;AAAA,SAASA,cAAc,QAAQ,oBAAoB;AAEnD,SAASC,MAAM,QAAqB,OAAO;AAC3C,SAASC,SAAS,EAAEC,QAAQ,QAAQ,QAAQ;AAC5C,OAAOC,YAAY,qBAAqB;AACxC,SAASC,YAAY,QAAQ,UAAI;AAuBjC,eAAe,SAACC,OAAiC;IAC/C,IAAQC,WAAoDD,MAApDC,UAAUC,aAA0CF,MAA1CE,YAAYC,cAA8BH,MAA9BG,aAAgBC,uCAAcJ;QAApDC;QAAUC;QAAYC;QACLJ,iCAAAA,aAAaE,UAAUC,iBAA7CG,QAAsBN,kBAAfO,cAAeP,kBACCF,6BAAAA,SAAS,KAAK,OAArCU,UAAuBV,cAAdW,aAAcX,cACAA,8BAAAA,SAAmC,EAAE,OAA5DY,UAAuBZ,eAAda,aAAcb;IAE1BD,UAAU,WAAM;QACdc,WAAWL,MACRM,GAAG,CAACC,SAAAA;mBAAS;gBACZC,OAAOD,KAAKE,IAAI;gBAChBC,OAAOH,IAAI,CAACT,wBAAAA,yBAAAA,cAAe,MAAM,CAAC;gBAClCa,MAAMJ;YACR;;IAEJ,GAAG;QAACP;KAAM;IAEV,qBAAO,KAACV;QACNsB,OAAO;YAAEC,OAAO;QAAO;OACnBd;QACJG,SAASA;QACTE,SAASA;QACTU,gBAAgB,SAACC;iCAAS;;oBACvBA;kCACD,KAACC;wBAAIC,WAAWxB,OAAOyB,aAAa;kCAClC,cAAA,KAAC7B;4BAAe8B,KAAKC;4BAAWC,uBAAS,oBAAA,WAAY;;;;4CACnDlB,WAAW,IAAI;4CACf;;gDAAMF;;;4CAAN;4CACAE,WAAW,KAAK;;;;;;4BAClB;;;;;;;AAKR,EAAC"}
@@ -0,0 +1,23 @@
1
+ /// <reference types="react" />
2
+ import { AppDictItem } from "@knockout-js/api/ucenter";
3
+ import { TextProps } from "antd/es/typography/Text";
4
+ export interface DictionaryTextProps extends TextProps {
5
+ /**
6
+ * 值
7
+ */
8
+ value?: string;
9
+ /**
10
+ * 字典code
11
+ */
12
+ dictCode: string;
13
+ /**
14
+ * 外部提供数据源
15
+ */
16
+ dataSource?: AppDictItem[];
17
+ /**
18
+ * 默认使用code来匹配value
19
+ */
20
+ valueKey?: "id" | "code";
21
+ }
22
+ declare const _default: (props: DictionaryTextProps) => JSX.Element;
23
+ export default _default;
@@ -0,0 +1,31 @@
1
+ import _object_spread from "@swc/helpers/src/_object_spread.mjs";
2
+ import _object_spread_props from "@swc/helpers/src/_object_spread_props.mjs";
3
+ import _object_without_properties from "@swc/helpers/src/_object_without_properties.mjs";
4
+ import _sliced_to_array from "@swc/helpers/src/_sliced_to_array.mjs";
5
+ import { jsx as _jsx } from "@ice/jsx-runtime/jsx-runtime";
6
+ import { Typography } from "antd";
7
+ import { useEffect, useState } from "react";
8
+ import { useDistItems } from "./index";
9
+ export default function(props) {
10
+ var value = props.value, dataSource = props.dataSource, dictCode = props.dictCode, valueKey = props.valueKey, restProps = _object_without_properties(props, [
11
+ "value",
12
+ "dataSource",
13
+ "dictCode",
14
+ "valueKey"
15
+ ]), _useDistItems = _sliced_to_array(useDistItems(dictCode, dataSource), 1), items = _useDistItems[0], _useState = _sliced_to_array(useState(), 2), dictItem = _useState[0], setDictItem = _useState[1];
16
+ useEffect(function() {
17
+ setDictItem(items.find(function(item) {
18
+ return item[valueKey !== null && valueKey !== void 0 ? valueKey : "code"] === value;
19
+ }));
20
+ }, [
21
+ value,
22
+ valueKey,
23
+ items
24
+ ]);
25
+ var _dictItem_name, _ref;
26
+ return /*#__PURE__*/ _jsx(Typography.Text, _object_spread_props(_object_spread({}, restProps), {
27
+ children: (_ref = (_dictItem_name = dictItem === null || dictItem === void 0 ? void 0 : dictItem.name) !== null && _dictItem_name !== void 0 ? _dictItem_name : props.value) !== null && _ref !== void 0 ? _ref : ""
28
+ }));
29
+ };
30
+
31
+ //# sourceMappingURL=D:\codeing\git\github\knockout-js\packages\layout\esm\components\dictionary\text.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["D:\\codeing\\git\\github\\knockout-js\\packages\\layout\\src\\components\\dictionary\\text.tsx"],"sourcesContent":["import { AppDictItem } from \"@knockout-js/api/ucenter\";\r\nimport { Typography } from \"antd\"\r\nimport { TextProps } from \"antd/es/typography/Text\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { useDistItems } from \".\";\r\n\r\nexport interface DictionaryTextProps extends TextProps {\r\n /**\r\n * 值\r\n */\r\n value?: string;\r\n /**\r\n * 字典code\r\n */\r\n dictCode: string;\r\n /**\r\n * 外部提供数据源\r\n */\r\n dataSource?: AppDictItem[];\r\n /**\r\n * 默认使用code来匹配value\r\n */\r\n valueKey?: \"id\" | \"code\";\r\n}\r\n\r\n\r\nexport default (props: DictionaryTextProps) => {\r\n const { value, dataSource, dictCode, valueKey, ...restProps } = props,\r\n [items] = useDistItems(dictCode, dataSource),\r\n [dictItem, setDictItem] = useState<AppDictItem>();\r\n\r\n\r\n useEffect(() => {\r\n setDictItem(items.find(item => item[valueKey ?? 'code'] === value));\r\n }, [value, valueKey, items]);\r\n\r\n return <Typography.Text {...restProps}>\r\n {dictItem?.name ?? props.value ?? ''}\r\n </Typography.Text>\r\n}\r\n"],"names":["Typography","useEffect","useState","useDistItems","props","value","dataSource","dictCode","valueKey","restProps","items","dictItem","setDictItem","find","item","Text","name"],"mappings":";;;;;AACA,SAASA,UAAU,QAAQ,OAAM;AAEjC,SAASC,SAAS,EAAEC,QAAQ,QAAQ,QAAQ;AAC5C,SAASC,YAAY,QAAQ,UAAI;AAsBjC,eAAe,SAACC,OAA+B;IAC7C,IAAQC,QAAwDD,MAAxDC,OAAOC,aAAiDF,MAAjDE,YAAYC,WAAqCH,MAArCG,UAAUC,WAA2BJ,MAA3BI,UAAaC,uCAAcL;QAAxDC;QAAOC;QAAYC;QAAUC;QACzBL,iCAAAA,aAAaI,UAAUD,iBAAhCI,QAASP,kBACgBD,6BAAAA,gBAAzBS,WAAyBT,cAAfU,cAAeV;IAG5BD,UAAU,WAAM;QACdW,YAAYF,MAAMG,IAAI,CAACC,SAAAA;mBAAQA,IAAI,CAACN,qBAAAA,sBAAAA,WAAY,MAAM,CAAC,KAAKH;;IAC9D,GAAG;QAACA;QAAOG;QAAUE;KAAM;QAGxBC,gBAAAA;IADH,qBAAO,KAACX,WAAWe,IAAI,0CAAKN;kBACzBE,CAAAA,OAAAA,CAAAA,iBAAAA,qBAAAA,sBAAAA,KAAAA,IAAAA,SAAUK,IAAI,cAAdL,4BAAAA,iBAAkBP,MAAMC,KAAK,cAA7BM,kBAAAA,OAAiC,EAAE;;AAExC,EAAC"}
@@ -1,2 +1,4 @@
1
1
  import { SVGProps } from "react";
2
2
  export declare const OpenWin: (props: JSX.IntrinsicAttributes & SVGProps<SVGSVGElement>) => JSX.Element;
3
+ export declare const Sun: (props: JSX.IntrinsicAttributes & SVGProps<SVGSVGElement>) => JSX.Element;
4
+ export declare const Moon: (props: JSX.IntrinsicAttributes & SVGProps<SVGSVGElement>) => JSX.Element;
@@ -15,5 +15,29 @@ export var OpenWin = function(props) {
15
15
  })
16
16
  }));
17
17
  };
18
+ export var Sun = function(props) {
19
+ return /*#__PURE__*/ _jsx("svg", _object_spread_props(_object_spread({
20
+ fill: "currentColor",
21
+ viewBox: "0 0 24 24",
22
+ width: "24",
23
+ height: "24"
24
+ }, props), {
25
+ children: /*#__PURE__*/ _jsx("path", {
26
+ d: "M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"
27
+ })
28
+ }));
29
+ };
30
+ export var Moon = function(props) {
31
+ return /*#__PURE__*/ _jsx("svg", _object_spread_props(_object_spread({
32
+ viewBox: "0 0 24 24",
33
+ width: "28",
34
+ height: "28",
35
+ fill: "currentColor"
36
+ }, props), {
37
+ children: /*#__PURE__*/ _jsx("path", {
38
+ d: "M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"
39
+ })
40
+ }));
41
+ };
18
42
 
19
43
  //# sourceMappingURL=D:\codeing\git\github\knockout-js\packages\layout\esm\components\icons\index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["D:\\codeing\\git\\github\\knockout-js\\packages\\layout\\src\\components\\icons\\index.tsx"],"sourcesContent":["import { SVGProps } from \"react\"\r\n\r\nexport const OpenWin = (props: JSX.IntrinsicAttributes & SVGProps<SVGSVGElement>) => {\r\n return <svg\r\n fill=\"currentColor\"\r\n viewBox=\"0 0 1024 1024\"\r\n p-id=\"19410\"\r\n width=\"12\"\r\n height=\"12\"\r\n {...props}\r\n >\r\n <path d=\"M398.506667 960H160q-39.765333 0-67.882667-28.117333-28.117333-28.117333-28.117333-67.882667V160q0-39.765333 28.117333-67.882667Q120.234667 64 160 64h704q39.765333 0 67.882667 28.117333 28.117333 28.117333 28.117333 67.882667v149.333333a32 32 0 0 1-32 32H128v522.666667q0 13.226667 9.386667 22.613333 9.386667 9.386667 22.613333 9.386667h238.506667a32 32 0 0 1 0 64zM128 160V277.333333h768V160q0-13.226667-9.386667-22.613333-9.386667-9.386667-22.613333-9.386667H160q-13.226667 0-22.613333 9.386667-9.386667 9.386667-9.386667 22.613333z m800.512 341.333333H672a32 32 0 0 0 0 64h178.773333l-340.053333 340.053334a32 32 0 0 0 45.226667 45.226666L896 610.602667v178.773333a32 32 0 0 0 64 0v-255.573333a31.914667 31.914667 0 0 0-31.488-32.426667z\" p-id=\"19411\"></path>\r\n </svg>\r\n}\r\n"],"names":["OpenWin","props","svg","fill","viewBox","p-id","width","height","path","d"],"mappings":";;;AAEA,OAAO,IAAMA,UAAU,SAACC,OAA6D;IACnF,qBAAO,KAACC;QACNC,MAAK;QACLC,SAAQ;QACRC,QAAK;QACLC,OAAM;QACNC,QAAO;OACHN;kBAEJ,cAAA,KAACO;YAAKC,GAAE;YAAwuBJ,QAAK;;;AAEzvB,EAAC"}
1
+ {"version":3,"sources":["D:\\codeing\\git\\github\\knockout-js\\packages\\layout\\src\\components\\icons\\index.tsx"],"sourcesContent":["import { SVGProps } from \"react\"\r\n\r\nexport const OpenWin = (props: JSX.IntrinsicAttributes & SVGProps<SVGSVGElement>) => {\r\n return <svg\r\n fill=\"currentColor\"\r\n viewBox=\"0 0 1024 1024\"\r\n p-id=\"19410\"\r\n width=\"12\"\r\n height=\"12\"\r\n {...props}\r\n >\r\n <path d=\"M398.506667 960H160q-39.765333 0-67.882667-28.117333-28.117333-28.117333-28.117333-67.882667V160q0-39.765333 28.117333-67.882667Q120.234667 64 160 64h704q39.765333 0 67.882667 28.117333 28.117333 28.117333 28.117333 67.882667v149.333333a32 32 0 0 1-32 32H128v522.666667q0 13.226667 9.386667 22.613333 9.386667 9.386667 22.613333 9.386667h238.506667a32 32 0 0 1 0 64zM128 160V277.333333h768V160q0-13.226667-9.386667-22.613333-9.386667-9.386667-22.613333-9.386667H160q-13.226667 0-22.613333 9.386667-9.386667 9.386667-9.386667 22.613333z m800.512 341.333333H672a32 32 0 0 0 0 64h178.773333l-340.053333 340.053334a32 32 0 0 0 45.226667 45.226666L896 610.602667v178.773333a32 32 0 0 0 64 0v-255.573333a31.914667 31.914667 0 0 0-31.488-32.426667z\" p-id=\"19411\"></path>\r\n </svg>\r\n}\r\n\r\nexport const Sun = (props: JSX.IntrinsicAttributes & SVGProps<SVGSVGElement>) => <svg fill=\"currentColor\" viewBox=\"0 0 24 24\" width=\"24\" height=\"24\" {...props}>\r\n <path d=\"M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z\"></path>\r\n</svg>\r\n\r\nexport const Moon = (props: JSX.IntrinsicAttributes & SVGProps<SVGSVGElement>) => <svg viewBox=\"0 0 24 24\" width=\"28\" height=\"28\" fill=\"currentColor\" {...props}>\r\n <path d=\"M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z\"></path>\r\n</svg>\r\n"],"names":["OpenWin","props","svg","fill","viewBox","p-id","width","height","path","d","Sun","Moon"],"mappings":";;;AAEA,OAAO,IAAMA,UAAU,SAACC,OAA6D;IACnF,qBAAO,KAACC;QACNC,MAAK;QACLC,SAAQ;QACRC,QAAK;QACLC,OAAM;QACNC,QAAO;OACHN;kBAEJ,cAAA,KAACO;YAAKC,GAAE;YAAwuBJ,QAAK;;;AAEzvB,EAAC;AAED,OAAO,IAAMK,MAAM,SAACT;yBAA6D,KAACC;QAAIC,MAAK;QAAeC,SAAQ;QAAYE,OAAM;QAAKC,QAAO;OAAUN;kBACxJ,cAAA,KAACO;YAAKC,GAAE;;;EACJ;AAEN,OAAO,IAAME,OAAO,SAACV;yBAA6D,KAACC;QAAIE,SAAQ;QAAYE,OAAM;QAAKC,QAAO;QAAKJ,MAAK;OAAmBF;kBACxJ,cAAA,KAACO;YAAKC,GAAE;;;EACJ"}
@@ -2,6 +2,8 @@ export { default as Provider, Context, type ProviderProps, } from './provider';
2
2
  export { default as ThemeSwitch } from './theme-switch';
3
3
  export { default as AvatarDropdown } from './avatar-dropdown';
4
4
  export { default as KeepAlive } from './keep-alive';
5
+ export { default as DictText } from './dictionary/text';
6
+ export { default as DictSelect } from './dictionary/select';
5
7
  export { default as TenantDropdown } from './tenant-dropdown';
6
8
  export { default as MsgDropdown } from './msg-dropdown';
7
9
  export { default as LeavePrompt, useLeavePrompt } from './leave-prompt';
@@ -2,6 +2,8 @@ export { default as Provider, Context } from "./provider/index";
2
2
  export { default as ThemeSwitch } from "./theme-switch/index";
3
3
  export { default as AvatarDropdown } from "./avatar-dropdown/index";
4
4
  export { default as KeepAlive } from "./keep-alive/index";
5
+ export { default as DictText } from "./dictionary/text";
6
+ export { default as DictSelect } from "./dictionary/select";
5
7
  export { default as TenantDropdown } from "./tenant-dropdown/index";
6
8
  export { default as MsgDropdown } from "./msg-dropdown/index";
7
9
  export { default as LeavePrompt, useLeavePrompt } from "./leave-prompt/index";
@@ -1 +1 @@
1
- {"version":3,"sources":["D:\\codeing\\git\\github\\knockout-js\\packages\\layout\\src\\components\\index.ts"],"sourcesContent":["export { default as Provider, Context, type ProviderProps, } from './provider';\r\nexport { default as ThemeSwitch } from './theme-switch';\r\nexport { default as AvatarDropdown } from './avatar-dropdown';\r\nexport { default as KeepAlive } from './keep-alive';\r\nexport { default as TenantDropdown } from './tenant-dropdown';\r\nexport { default as MsgDropdown } from './msg-dropdown';\r\nexport { default as LeavePrompt, useLeavePrompt } from './leave-prompt';\r\nexport { default as I18nDropdown } from './i18n-dropdown';\r\nexport { default as CollectProviders } from './collect-providers';\r\nexport { LocaleType } from './provider';\r\nexport { default as Layout } from './layout';\r\nexport { default as Modal, type ModalProps } from './modal';\r\nexport { default as AggregateMenu, type AggregateMenuDataSource } from './aggregate-menu';\r\nexport { default as UploadAvatar } from './upload-file/uploadAvatar';\r\nexport { default as UploadMultiple } from './upload-file/uploadMultiple';\r\nexport { default as UploadTemp } from './upload-file/uploadTemp';\r\n\r\nexport * as util from './_util';\r\n"],"names":["default","Provider","Context","ThemeSwitch","AvatarDropdown","KeepAlive","TenantDropdown","MsgDropdown","LeavePrompt","useLeavePrompt","I18nDropdown","CollectProviders","LocaleType","Layout","Modal","AggregateMenu","UploadAvatar","UploadMultiple","UploadTemp","util"],"mappings":"AAAA,SAASA,WAAWC,QAAQ,EAAEC,OAAO,QAA6B,mBAAa;AAC/E,SAASF,WAAWG,WAAW,QAAQ,uBAAiB;AACxD,SAASH,WAAWI,cAAc,QAAQ,0BAAoB;AAC9D,SAASJ,WAAWK,SAAS,QAAQ,qBAAe;AACpD,SAASL,WAAWM,cAAc,QAAQ,0BAAoB;AAC9D,SAASN,WAAWO,WAAW,QAAQ,uBAAiB;AACxD,SAASP,WAAWQ,WAAW,EAAEC,cAAc,QAAQ,uBAAiB;AACxE,SAAST,WAAWU,YAAY,QAAQ,wBAAkB;AAC1D,SAASV,WAAWW,gBAAgB,QAAQ,4BAAsB;AAClE,SAASC,UAAU,QAAQ,mBAAa;AACxC,SAASZ,WAAWa,MAAM,QAAQ,iBAAW;AAC7C,SAASb,WAAWc,KAAK,QAAyB,gBAAU;AAC5D,SAASd,WAAWe,aAAa,QAAsC,yBAAmB;AAC1F,SAASf,WAAWgB,YAAY,QAAQ,6BAA6B;AACrE,SAAShB,WAAWiB,cAAc,QAAQ,+BAA+B;AACzE,SAASjB,WAAWkB,UAAU,QAAQ,2BAA2B;AAEjE,uBAAsB,gBAAU;AAAhC,SAAO,SAAKC,IAAI,GAAgB"}
1
+ {"version":3,"sources":["D:\\codeing\\git\\github\\knockout-js\\packages\\layout\\src\\components\\index.ts"],"sourcesContent":["export { default as Provider, Context, type ProviderProps, } from './provider';\r\nexport { default as ThemeSwitch } from './theme-switch';\r\nexport { default as AvatarDropdown } from './avatar-dropdown';\r\nexport { default as KeepAlive } from './keep-alive';\r\nexport { default as DictText } from './dictionary/text';\r\nexport { default as DictSelect } from './dictionary/select';\r\nexport { default as TenantDropdown } from './tenant-dropdown';\r\nexport { default as MsgDropdown } from './msg-dropdown';\r\nexport { default as LeavePrompt, useLeavePrompt } from './leave-prompt';\r\nexport { default as I18nDropdown } from './i18n-dropdown';\r\nexport { default as CollectProviders } from './collect-providers';\r\nexport { LocaleType } from './provider';\r\nexport { default as Layout } from './layout';\r\nexport { default as Modal, type ModalProps } from './modal';\r\nexport { default as AggregateMenu, type AggregateMenuDataSource } from './aggregate-menu';\r\nexport { default as UploadAvatar } from './upload-file/uploadAvatar';\r\nexport { default as UploadMultiple } from './upload-file/uploadMultiple';\r\nexport { default as UploadTemp } from './upload-file/uploadTemp';\r\n\r\nexport * as util from './_util';\r\n"],"names":["default","Provider","Context","ThemeSwitch","AvatarDropdown","KeepAlive","DictText","DictSelect","TenantDropdown","MsgDropdown","LeavePrompt","useLeavePrompt","I18nDropdown","CollectProviders","LocaleType","Layout","Modal","AggregateMenu","UploadAvatar","UploadMultiple","UploadTemp","util"],"mappings":"AAAA,SAASA,WAAWC,QAAQ,EAAEC,OAAO,QAA6B,mBAAa;AAC/E,SAASF,WAAWG,WAAW,QAAQ,uBAAiB;AACxD,SAASH,WAAWI,cAAc,QAAQ,0BAAoB;AAC9D,SAASJ,WAAWK,SAAS,QAAQ,qBAAe;AACpD,SAASL,WAAWM,QAAQ,QAAQ,oBAAoB;AACxD,SAASN,WAAWO,UAAU,QAAQ,sBAAsB;AAC5D,SAASP,WAAWQ,cAAc,QAAQ,0BAAoB;AAC9D,SAASR,WAAWS,WAAW,QAAQ,uBAAiB;AACxD,SAAST,WAAWU,WAAW,EAAEC,cAAc,QAAQ,uBAAiB;AACxE,SAASX,WAAWY,YAAY,QAAQ,wBAAkB;AAC1D,SAASZ,WAAWa,gBAAgB,QAAQ,4BAAsB;AAClE,SAASC,UAAU,QAAQ,mBAAa;AACxC,SAASd,WAAWe,MAAM,QAAQ,iBAAW;AAC7C,SAASf,WAAWgB,KAAK,QAAyB,gBAAU;AAC5D,SAAShB,WAAWiB,aAAa,QAAsC,yBAAmB;AAC1F,SAASjB,WAAWkB,YAAY,QAAQ,6BAA6B;AACrE,SAASlB,WAAWmB,cAAc,QAAQ,+BAA+B;AACzE,SAASnB,WAAWoB,UAAU,QAAQ,2BAA2B;AAEjE,uBAAsB,gBAAU;AAAhC,SAAO,SAAKC,IAAI,GAAgB"}
@@ -1,5 +1,4 @@
1
1
  import React from 'react';
2
- import { SwitchProps } from 'antd';
3
2
  export interface ThemeSwitchLocale {
4
3
  bright: string;
5
4
  dark: string;
@@ -9,10 +8,6 @@ export interface ThemeSwitchProps {
9
8
  * 值
10
9
  */
11
10
  value: boolean;
12
- /**
13
- * switch的设置
14
- */
15
- switchProps?: SwitchProps;
16
11
  /**
17
12
  * 值变更事件 (value: boolean) => void;
18
13
  */
@@ -1,20 +1,22 @@
1
- import _object_spread from "@swc/helpers/src/_object_spread.mjs";
2
- import _object_spread_props from "@swc/helpers/src/_object_spread_props.mjs";
3
1
  import { jsx as _jsx } from "@ice/jsx-runtime/jsx-runtime";
4
2
  import React from "react";
5
- import { Switch } from "antd";
6
- import { useLocale } from "../locale/index";
3
+ import { Moon, Sun } from "../icons/index";
4
+ import styles from "./index.module.css";
7
5
  var ThemeSwitch = function(props) {
8
- var locale = useLocale("ThemeSwitch");
9
- return /*#__PURE__*/ _jsx(Switch, _object_spread_props(_object_spread({
10
- checkedChildren: locale.bright,
11
- unCheckedChildren: locale.dark
12
- }, props.switchProps), {
13
- checked: props.value,
14
- onChange: function(checked) {
15
- props.onChange(checked);
16
- }
17
- }));
6
+ return /*#__PURE__*/ _jsx("span", {
7
+ className: styles.action,
8
+ children: /*#__PURE__*/ _jsx("span", {
9
+ children: props.value ? /*#__PURE__*/ _jsx(Moon, {
10
+ onClick: function() {
11
+ props.onChange(false);
12
+ }
13
+ }) : /*#__PURE__*/ _jsx(Sun, {
14
+ onClick: function() {
15
+ props.onChange(true);
16
+ }
17
+ })
18
+ })
19
+ });
18
20
  };
19
21
  export default ThemeSwitch;
20
22
 
@@ -1 +1 @@
1
- {"version":3,"sources":["D:\\codeing\\git\\github\\knockout-js\\packages\\layout\\src\\components\\theme-switch\\index.tsx"],"sourcesContent":["import React from 'react';\r\nimport { Switch, SwitchProps } from 'antd';\r\nimport { useLocale } from '../locale';\r\n\r\nexport interface ThemeSwitchLocale {\r\n bright: string;\r\n dark: string;\r\n}\r\n\r\nexport interface ThemeSwitchProps {\r\n /**\r\n * 值\r\n */\r\n value: boolean;\r\n /**\r\n * switch的设置\r\n */\r\n switchProps?: SwitchProps;\r\n /**\r\n * 值变更事件 (value: boolean) => void;\r\n */\r\n onChange: (value: boolean) => void;\r\n}\r\n\r\nconst ThemeSwitch: React.FC<ThemeSwitchProps> = (props: ThemeSwitchProps) => {\r\n const locale = useLocale('ThemeSwitch')\r\n return (\r\n <Switch\r\n checkedChildren={locale.bright}\r\n unCheckedChildren={locale.dark}\r\n {...props.switchProps}\r\n checked={props.value}\r\n onChange={(checked) => {\r\n props.onChange(checked)\r\n }}\r\n />\r\n );\r\n};\r\n\r\nexport default ThemeSwitch;\r\n"],"names":["React","Switch","useLocale","ThemeSwitch","props","locale","checkedChildren","bright","unCheckedChildren","dark","switchProps","checked","value","onChange"],"mappings":";;;AAAA,OAAOA,WAAW,QAAQ;AAC1B,SAASC,MAAM,QAAqB,OAAO;AAC3C,SAASC,SAAS,QAAQ,kBAAY;AAsBtC,IAAMC,cAA0C,SAACC,OAA4B;IAC3E,IAAMC,SAASH,UAAU;IACzB,qBACE,KAACD;QACCK,iBAAiBD,OAAOE,MAAM;QAC9BC,mBAAmBH,OAAOI,IAAI;OAC1BL,MAAMM,WAAW;QACrBC,SAASP,MAAMQ,KAAK;QACpBC,UAAU,SAACF,SAAY;YACrBP,MAAMS,QAAQ,CAACF;QACjB;;AAGN;AAEA,eAAeR,YAAY"}
1
+ {"version":3,"sources":["D:\\codeing\\git\\github\\knockout-js\\packages\\layout\\src\\components\\theme-switch\\index.tsx"],"sourcesContent":["import React from 'react';\r\nimport { Moon, Sun } from '../icons';\r\nimport styles from './index.module.css';\r\n\r\nexport interface ThemeSwitchLocale {\r\n bright: string;\r\n dark: string;\r\n}\r\n\r\nexport interface ThemeSwitchProps {\r\n /**\r\n * 值\r\n */\r\n value: boolean;\r\n /**\r\n * 值变更事件 (value: boolean) => void;\r\n */\r\n onChange: (value: boolean) => void;\r\n}\r\n\r\nconst ThemeSwitch: React.FC<ThemeSwitchProps> = (props: ThemeSwitchProps) => {\r\n return <span className={styles.action}>\r\n <span>{\r\n props.value ? <Moon onClick={() => {\r\n props.onChange(false)\r\n\r\n }} /> : <Sun onClick={() => {\r\n props.onChange(true)\r\n\r\n }} />}\r\n </span>\r\n </span>\r\n};\r\n\r\nexport default ThemeSwitch;\r\n"],"names":["React","Moon","Sun","styles","ThemeSwitch","props","span","className","action","value","onClick","onChange"],"mappings":";AAAA,OAAOA,WAAW,QAAQ;AAC1B,SAASC,IAAI,EAAEC,GAAG,QAAQ,iBAAW;AACrC,OAAOC,YAAY,qBAAqB;AAkBxC,IAAMC,cAA0C,SAACC,OAA4B;IAC3E,qBAAO,KAACC;QAAKC,WAAWJ,OAAOK,MAAM;kBACnC,cAAA,KAACF;sBACCD,MAAMI,KAAK,iBAAG,KAACR;gBAAKS,SAAS,WAAM;oBACjCL,MAAMM,QAAQ,CAAC,KAAK;gBAEtB;+BAAQ,KAACT;gBAAIQ,SAAS,WAAM;oBAC1BL,MAAMM,QAAQ,CAAC,IAAI;gBAErB;cAAK;;;AAGX;AAEA,eAAeP,YAAY"}
@@ -0,0 +1,14 @@
1
+ .action {
2
+ display: flex;
3
+ align-items: center;
4
+ height: 42px;
5
+ padding: 0 12px;
6
+ cursor: pointer;
7
+ transition: all 0.3s;
8
+ }
9
+
10
+ .action svg {
11
+ vertical-align: middle;
12
+ width: 18px;
13
+ height: 18px;
14
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@knockout-js/layout",
3
- "version": "0.1.1-beta.2",
3
+ "version": "0.1.1-beta.3",
4
4
  "description": "组件功能描述",
5
5
  "files": [
6
6
  "esm",
@@ -50,8 +50,8 @@
50
50
  "dayjs": "^1.11.9",
51
51
  "react-activation": "^0.12.4",
52
52
  "react-draggable": "^4.4.5",
53
- "@knockout-js/api": "^0.1.1-beta.3",
54
- "@knockout-js/ice-urql": "^0.1.1-beta.2"
53
+ "@knockout-js/api": "^0.1.1-beta.4",
54
+ "@knockout-js/ice-urql": "^0.1.1-beta.3"
55
55
  },
56
56
  "devDependencies": {
57
57
  "@ice/pkg": "^1.5.0",