amis 1.7.0 → 1.8.0-beta.0

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 (103) hide show
  1. package/lib/Schema.d.ts +3 -2
  2. package/lib/Schema.js +0 -1
  3. package/lib/Schema.js.map +2 -2
  4. package/lib/components/Alert2.js +4 -2
  5. package/lib/components/Alert2.js.map +2 -2
  6. package/lib/components/Avatar.d.ts +20 -20
  7. package/lib/components/Card.d.ts +20 -20
  8. package/lib/components/CityArea.js +3 -0
  9. package/lib/components/CityArea.js.map +2 -2
  10. package/lib/components/ListGroup.d.ts +21 -21
  11. package/lib/components/Tabs.d.ts +27 -23
  12. package/lib/components/Tabs.js +37 -22
  13. package/lib/components/Tabs.js.map +2 -2
  14. package/lib/components/TooltipWrapper.d.ts +21 -20
  15. package/lib/components/TooltipWrapper.js +2 -2
  16. package/lib/components/TooltipWrapper.js.map +2 -2
  17. package/lib/components/icons.js +2 -0
  18. package/lib/components/icons.js.map +2 -2
  19. package/lib/icons/trash.js +10 -0
  20. package/lib/index.d.ts +1 -0
  21. package/lib/index.js +2 -1
  22. package/lib/index.js.map +2 -2
  23. package/lib/renderers/Action.d.ts +1 -1
  24. package/lib/renderers/Action.js.map +2 -2
  25. package/lib/renderers/ButtonGroup.d.ts +2 -2
  26. package/lib/renderers/ButtonGroup.js.map +1 -1
  27. package/lib/renderers/Form/Combo.d.ts +4 -3
  28. package/lib/renderers/Form/Combo.js +81 -32
  29. package/lib/renderers/Form/Combo.js.map +2 -2
  30. package/lib/renderers/Form/InputCity.js +4 -1
  31. package/lib/renderers/Form/InputCity.js.map +2 -2
  32. package/lib/renderers/Form/InputRange.d.ts +2 -2
  33. package/lib/renderers/Form/InputRange.js.map +2 -2
  34. package/lib/renderers/Tabs.d.ts +10 -2
  35. package/lib/renderers/Tabs.js +2 -2
  36. package/lib/renderers/Tabs.js.map +2 -2
  37. package/lib/renderers/TooltipWrapper.d.ts +104 -0
  38. package/lib/renderers/TooltipWrapper.js +59 -0
  39. package/lib/renderers/TooltipWrapper.js.map +13 -0
  40. package/lib/themes/ang-ie11.css +192 -33
  41. package/lib/themes/ang.css +200 -28
  42. package/lib/themes/ang.css.map +1 -1
  43. package/lib/themes/antd-ie11.css +192 -33
  44. package/lib/themes/antd.css +200 -28
  45. package/lib/themes/antd.css.map +1 -1
  46. package/lib/themes/cxd-ie11.css +181 -22
  47. package/lib/themes/cxd.css +202 -29
  48. package/lib/themes/cxd.css.map +1 -1
  49. package/lib/themes/dark-ie11.css +192 -33
  50. package/lib/themes/dark.css +200 -28
  51. package/lib/themes/dark.css.map +1 -1
  52. package/lib/themes/default-ie11.css +181 -22
  53. package/lib/themes/default.css +202 -29
  54. package/lib/themes/default.css.map +1 -1
  55. package/package.json +1 -1
  56. package/schema.json +286 -52
  57. package/scss/_properties.scss +23 -12
  58. package/scss/components/_alert.scss +1 -1
  59. package/scss/components/_button-group.scss +15 -0
  60. package/scss/components/_tabs.scss +145 -13
  61. package/scss/components/_tooltip.scss +72 -0
  62. package/scss/components/form/_number.scss +2 -0
  63. package/scss/themes/_cxd-variables.scss +2 -1
  64. package/sdk/ang-ie11.css +229 -34
  65. package/sdk/ang.css +237 -29
  66. package/sdk/antd-ie11.css +229 -34
  67. package/sdk/antd.css +237 -29
  68. package/sdk/barcode.js +51 -51
  69. package/sdk/charts.js +14 -14
  70. package/sdk/codemirror.js +7 -7
  71. package/sdk/color-picker.js +65 -65
  72. package/sdk/cropperjs.js +2 -2
  73. package/sdk/cxd-ie11.css +218 -23
  74. package/sdk/cxd.css +239 -30
  75. package/sdk/dark-ie11.css +229 -34
  76. package/sdk/dark.css +237 -29
  77. package/sdk/exceljs.js +1 -1
  78. package/sdk/markdown.js +69 -69
  79. package/sdk/papaparse.js +1 -1
  80. package/sdk/renderers/Form/CityDB.js +1 -1
  81. package/sdk/rest.js +17 -17
  82. package/sdk/rich-text.js +62 -62
  83. package/sdk/sdk-ie11.css +218 -23
  84. package/sdk/sdk.css +239 -30
  85. package/sdk/sdk.js +1250 -1246
  86. package/sdk/thirds/hls.js/hls.js +1 -1
  87. package/sdk/thirds/mpegts.js/mpegts.js +1 -1
  88. package/sdk/tinymce.js +57 -57
  89. package/src/Schema.ts +5 -2
  90. package/src/components/Alert2.tsx +9 -3
  91. package/src/components/CityArea.tsx +3 -0
  92. package/src/components/Tabs.tsx +51 -21
  93. package/src/components/TooltipWrapper.tsx +4 -1
  94. package/src/components/icons.tsx +2 -0
  95. package/src/icons/trash.svg +8 -0
  96. package/src/index.tsx +1 -0
  97. package/src/renderers/Action.tsx +2 -1
  98. package/src/renderers/ButtonGroup.tsx +2 -2
  99. package/src/renderers/Form/Combo.tsx +84 -26
  100. package/src/renderers/Form/InputCity.tsx +13 -1
  101. package/src/renderers/Form/InputRange.tsx +2 -6
  102. package/src/renderers/Tabs.tsx +15 -3
  103. package/src/renderers/TooltipWrapper.tsx +219 -0
@@ -6,8 +6,8 @@
6
6
  "/src/components/CityArea.tsx"
7
7
  ],
8
8
  "names": [],
9
- "mappings": "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",
9
+ "mappings": "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",
10
10
  "sourcesContent": [
11
- "/**\n * @file 移动端城市选择器\n */\nimport React, {useEffect, useState, memo} from 'react';\n\nimport Picker from './Picker';\nimport ResultBox from './ResultBox';\nimport {useSetState, useUpdateEffect} from '../hooks';\nimport {localeable, LocaleProps} from '../locale';\nimport {themeable, ThemeProps} from '../theme';\nimport {uncontrollable} from 'uncontrollable';\nimport PopUp from './PopUp';\nimport {PickerObjectOption} from './PickerColumn';\n\nexport type AreaColumnOption = {\n text: string;\n value: number;\n};\n\nexport interface AreaProps extends LocaleProps, ThemeProps {\n value: any;\n /**\n * 允许选择城市?\n */\n allowCity?: boolean;\n /**\n * 允许选择地区?\n */\n allowDistrict?: boolean;\n /**\n * 允许选择街道?\n */\n allowStreet?: boolean;\n /**\n * 开启后只会存城市的 code 信息\n */\n extractValue?: boolean;\n /**\n * 是否将各个信息拼接成字符串。\n */\n joinValues?: boolean;\n /**\n * 拼接的符号是啥?\n */\n delimiter?: string;\n /**\n * 是否禁用\n */\n disabled?: boolean;\n useMobileUI?: boolean;\n onChange: (value: any) => void;\n /** 点击完成按钮时触发\t */\n onConfirm?: (result: AreaColumnOption[], index: number) => void;\n /** 点击取消按钮时触发\t */\n onCancel?: (...args: unknown[]) => void;\n\n popOverContainer?: any;\n}\n/**\n * 街道\n */\ntype district = {\n [propName: number]: {\n [propName: number]: Array<number>;\n };\n};\ninterface DbState {\n province: number[];\n district: district;\n [key: number]: string;\n city: {\n [key: number]: number[];\n };\n}\ninterface StateObj {\n columns: {options: Array<AreaColumnOption>}[];\n}\n\nconst CityArea = memo<AreaProps>(props => {\n const {\n joinValues = true,\n extractValue = true,\n delimiter = ',',\n allowCity = true,\n allowDistrict = true,\n allowStreet = false,\n // 默认北京东城区\n value = 110101,\n classnames: cx,\n translate: __,\n disabled = false,\n popOverContainer,\n useMobileUI\n } = props;\n\n const [values, setValues] = useState<Array<number>>([]);\n const [street, setStreet] = useState('');\n const [confirmValues, setConfirmValues] =\n useState<Array<PickerObjectOption>>();\n const [db, updateDb] = useSetState<DbState>();\n const [state, updateState] = useSetState<StateObj>({\n columns: []\n });\n const [isOpened, setIsOpened] = useState(false);\n\n const onChange = (columnValues: Array<number>, columnIndex: number) => {\n // 清空后面的值\n while (columnValues[columnIndex++]) {\n columnValues[columnIndex++] = -1;\n }\n let [provience, city, district] = columnValues;\n if (city === -1) {\n city = db.city?.[provience]?.[0];\n }\n if (district === -1) {\n district = db.district?.[provience]?.[city]?.[0];\n }\n let tempValues = [provience, city, district];\n if (!allowDistrict) {\n tempValues.splice(2, 1);\n }\n if (!allowCity) {\n tempValues.splice(1, 1);\n }\n setValues(tempValues);\n };\n\n const propsChange = () => {\n const {onChange} = props;\n const [province, city, district] = values;\n const code =\n allowDistrict && district\n ? district\n : allowCity && city\n ? city\n : province;\n if (typeof extractValue === 'undefined' ? joinValues : extractValue) {\n code\n ? onChange(\n allowStreet && street\n ? [code, street].join(delimiter)\n : String(code)\n )\n : onChange('');\n } else {\n onChange({\n code,\n province: db[province],\n city: db[city],\n district: db[district],\n street\n });\n }\n };\n\n const onConfirm = () => {\n const confirmValues = values.map((item: number) => ({\n text: db[item],\n value: item\n }));\n setConfirmValues(confirmValues);\n propsChange();\n setIsOpened(false);\n };\n\n const onCancel = () => {\n setIsOpened(false);\n if (props.onCancel) props.onCancel();\n };\n\n const getPropsValue = () => {\n // 最后一项的值\n let code =\n (value && value.code) ||\n (typeof value === 'number' && value) ||\n (typeof value === 'string' && /(\\d{6})/.test(value) && RegExp.$1);\n const values: Array<number> = [];\n if (code && db[code]) {\n code = parseInt(code, 10);\n let provinceCode = code - (code % 10000);\n let cityCode = code - (code % 100);\n if (db[provinceCode]) {\n values[0] = provinceCode;\n }\n if (db[cityCode] && allowCity) {\n values[1] = cityCode;\n } else if (~db.city[provinceCode]?.indexOf(code) && allowCity) {\n values[1] = code;\n }\n\n if (code % 100 && allowDistrict) {\n values[2] = code;\n }\n setValues(values);\n }\n };\n\n const updateColumns = () => {\n if (!db) {\n return;\n }\n let [provience, city, district] = values;\n const provienceColumn = db.province.map((code: number) => {\n return {text: db[code], value: code, disabled};\n });\n const cityColumn = city\n ? db.city[provience].map((code: number) => {\n return {text: db[code], value: code, disabled};\n })\n : [];\n const districtColumn =\n city && district\n ? db.district[provience][city].map((code: number) => {\n return {text: db[code], value: code, disabled};\n })\n : [];\n const columns = [\n {options: provienceColumn},\n {options: cityColumn},\n {options: districtColumn}\n ];\n if (!allowDistrict || !allowCity) {\n columns.splice(2, 1);\n }\n if (!allowCity) {\n columns.splice(1, 1);\n }\n updateState({columns});\n };\n\n const loadDb = () => {\n import('../renderers/Form/CityDB').then(db => {\n updateDb({\n ...db.default,\n province: db.province as any,\n city: db.city,\n district: db.district as district\n });\n });\n };\n\n useEffect(() => {\n loadDb();\n }, []);\n\n useEffect(() => {\n isOpened && db && getPropsValue();\n }, [db, isOpened]);\n\n useEffect(() => {\n street && propsChange();\n }, [street]);\n\n useUpdateEffect(() => {\n values.length && updateColumns();\n }, [values]);\n\n const result = confirmValues\n ?.filter(item => item?.value)\n ?.map(item => item.text)\n .join(delimiter);\n\n return (\n <div className={cx(`CityArea`)}>\n <ResultBox\n className={cx('CityArea-Input', isOpened ? 'is-active' : '')}\n allowInput={false}\n result={result}\n onResultChange={() => {}}\n onResultClick={() => setIsOpened(!isOpened)}\n placeholder={__('Condition.cond_placeholder')}\n useMobileUI={useMobileUI}\n ></ResultBox>\n {allowStreet && values[0] ? (\n <input\n className={cx('CityArea-Input')}\n value={street}\n onChange={(e: React.ChangeEvent<HTMLInputElement>) =>\n setStreet(e.currentTarget.value)\n }\n placeholder={__('City.street')}\n disabled={disabled}\n />\n ) : null}\n <PopUp\n className={cx(`CityArea-popup`)}\n container={popOverContainer}\n isShow={isOpened}\n showConfirm\n onConfirm={onConfirm}\n onHide={onCancel}\n >\n <Picker\n className={'CityArea-picker'}\n columns={state.columns}\n onChange={onChange as any}\n showToolbar={false}\n labelField=\"text\"\n itemHeight={40}\n value={values}\n classnames={props.classnames}\n classPrefix={props.classPrefix}\n />\n </PopUp>\n </div>\n );\n});\n\nexport default themeable(\n localeable(\n uncontrollable(CityArea, {\n value: 'onChange'\n })\n )\n);\n"
11
+ "/**\n * @file 移动端城市选择器\n */\nimport React, {useEffect, useState, memo} from 'react';\n\nimport Picker from './Picker';\nimport ResultBox from './ResultBox';\nimport {useSetState, useUpdateEffect} from '../hooks';\nimport {localeable, LocaleProps} from '../locale';\nimport {themeable, ThemeProps} from '../theme';\nimport {uncontrollable} from 'uncontrollable';\nimport PopUp from './PopUp';\nimport {PickerObjectOption} from './PickerColumn';\n\nexport type AreaColumnOption = {\n text: string;\n value: number;\n};\n\nexport interface AreaProps extends LocaleProps, ThemeProps {\n value: any;\n /**\n * 允许选择城市?\n */\n allowCity?: boolean;\n /**\n * 允许选择地区?\n */\n allowDistrict?: boolean;\n /**\n * 允许选择街道?\n */\n allowStreet?: boolean;\n /**\n * 开启后只会存城市的 code 信息\n */\n extractValue?: boolean;\n /**\n * 是否将各个信息拼接成字符串。\n */\n joinValues?: boolean;\n /**\n * 拼接的符号是啥?\n */\n delimiter?: string;\n /**\n * 是否禁用\n */\n disabled?: boolean;\n useMobileUI?: boolean;\n onChange: (value: any) => void;\n /** 点击完成按钮时触发\t */\n onConfirm?: (result: AreaColumnOption[], index: number) => void;\n /** 点击取消按钮时触发\t */\n onCancel?: (...args: unknown[]) => void;\n\n popOverContainer?: any;\n}\n/**\n * 街道\n */\ntype district = {\n [propName: number]: {\n [propName: number]: Array<number>;\n };\n};\ninterface DbState {\n province: number[];\n district: district;\n [key: number]: string;\n city: {\n [key: number]: number[];\n };\n}\ninterface StateObj {\n columns: {options: Array<AreaColumnOption>}[];\n}\n\nconst CityArea = memo<AreaProps>(props => {\n const {\n joinValues = true,\n extractValue = true,\n delimiter = ',',\n allowCity = true,\n allowDistrict = true,\n allowStreet = false,\n // 默认北京东城区\n value = 110101,\n classnames: cx,\n translate: __,\n disabled = false,\n popOverContainer,\n useMobileUI\n } = props;\n\n const [values, setValues] = useState<Array<number>>([]);\n const [street, setStreet] = useState('');\n const [confirmValues, setConfirmValues] =\n useState<Array<PickerObjectOption>>();\n const [db, updateDb] = useSetState<DbState>();\n const [state, updateState] = useSetState<StateObj>({\n columns: []\n });\n const [isOpened, setIsOpened] = useState(false);\n\n const onChange = (columnValues: Array<number>, columnIndex: number) => {\n // 清空后面的值\n while (columnValues[columnIndex++]) {\n columnValues[columnIndex++] = -1;\n }\n let [provience, city, district] = columnValues;\n if (city === -1) {\n city = db.city?.[provience]?.[0];\n }\n if (district === -1) {\n district = db.district?.[provience]?.[city]?.[0];\n }\n let tempValues = [provience, city, district];\n if (!allowDistrict) {\n tempValues.splice(2, 1);\n }\n if (!allowCity) {\n tempValues.splice(1, 1);\n }\n setValues(tempValues);\n };\n\n const propsChange = () => {\n const {onChange} = props;\n const [province, city, district] = values;\n const code =\n allowDistrict && district\n ? district\n : allowCity && city\n ? city\n : province;\n if (typeof extractValue === 'undefined' ? joinValues : extractValue) {\n code\n ? onChange(\n allowStreet && street\n ? [code, street].join(delimiter)\n : String(code)\n )\n : onChange('');\n } else {\n onChange({\n code,\n provinceCode: province,\n province: db[province],\n cityCode: city,\n city: db[city],\n districtCode: district,\n district: db[district],\n street\n });\n }\n };\n\n const onConfirm = () => {\n const confirmValues = values.map((item: number) => ({\n text: db[item],\n value: item\n }));\n setConfirmValues(confirmValues);\n propsChange();\n setIsOpened(false);\n };\n\n const onCancel = () => {\n setIsOpened(false);\n if (props.onCancel) props.onCancel();\n };\n\n const getPropsValue = () => {\n // 最后一项的值\n let code =\n (value && value.code) ||\n (typeof value === 'number' && value) ||\n (typeof value === 'string' && /(\\d{6})/.test(value) && RegExp.$1);\n const values: Array<number> = [];\n if (code && db[code]) {\n code = parseInt(code, 10);\n let provinceCode = code - (code % 10000);\n let cityCode = code - (code % 100);\n if (db[provinceCode]) {\n values[0] = provinceCode;\n }\n if (db[cityCode] && allowCity) {\n values[1] = cityCode;\n } else if (~db.city[provinceCode]?.indexOf(code) && allowCity) {\n values[1] = code;\n }\n\n if (code % 100 && allowDistrict) {\n values[2] = code;\n }\n setValues(values);\n }\n };\n\n const updateColumns = () => {\n if (!db) {\n return;\n }\n let [provience, city, district] = values;\n const provienceColumn = db.province.map((code: number) => {\n return {text: db[code], value: code, disabled};\n });\n const cityColumn = city\n ? db.city[provience].map((code: number) => {\n return {text: db[code], value: code, disabled};\n })\n : [];\n const districtColumn =\n city && district\n ? db.district[provience][city].map((code: number) => {\n return {text: db[code], value: code, disabled};\n })\n : [];\n const columns = [\n {options: provienceColumn},\n {options: cityColumn},\n {options: districtColumn}\n ];\n if (!allowDistrict || !allowCity) {\n columns.splice(2, 1);\n }\n if (!allowCity) {\n columns.splice(1, 1);\n }\n updateState({columns});\n };\n\n const loadDb = () => {\n import('../renderers/Form/CityDB').then(db => {\n updateDb({\n ...db.default,\n province: db.province as any,\n city: db.city,\n district: db.district as district\n });\n });\n };\n\n useEffect(() => {\n loadDb();\n }, []);\n\n useEffect(() => {\n isOpened && db && getPropsValue();\n }, [db, isOpened]);\n\n useEffect(() => {\n street && propsChange();\n }, [street]);\n\n useUpdateEffect(() => {\n values.length && updateColumns();\n }, [values]);\n\n const result = confirmValues\n ?.filter(item => item?.value)\n ?.map(item => item.text)\n .join(delimiter);\n\n return (\n <div className={cx(`CityArea`)}>\n <ResultBox\n className={cx('CityArea-Input', isOpened ? 'is-active' : '')}\n allowInput={false}\n result={result}\n onResultChange={() => {}}\n onResultClick={() => setIsOpened(!isOpened)}\n placeholder={__('Condition.cond_placeholder')}\n useMobileUI={useMobileUI}\n ></ResultBox>\n {allowStreet && values[0] ? (\n <input\n className={cx('CityArea-Input')}\n value={street}\n onChange={(e: React.ChangeEvent<HTMLInputElement>) =>\n setStreet(e.currentTarget.value)\n }\n placeholder={__('City.street')}\n disabled={disabled}\n />\n ) : null}\n <PopUp\n className={cx(`CityArea-popup`)}\n container={popOverContainer}\n isShow={isOpened}\n showConfirm\n onConfirm={onConfirm}\n onHide={onCancel}\n >\n <Picker\n className={'CityArea-picker'}\n columns={state.columns}\n onChange={onChange as any}\n showToolbar={false}\n labelField=\"text\"\n itemHeight={40}\n value={values}\n classnames={props.classnames}\n classPrefix={props.classPrefix}\n />\n </PopUp>\n </div>\n );\n});\n\nexport default themeable(\n localeable(\n uncontrollable(CityArea, {\n value: 'onChange'\n })\n )\n);\n"
12
12
  ]
13
13
  }