From 96c7439dd732cc219b2f15834329c03604698315 Mon Sep 17 00:00:00 2001 From: devin Date: Fri, 16 Dec 2022 12:00:14 +0800 Subject: [PATCH 1/2] rm --- packages/opendesign/README.md | 18 ++++++++++++++++++ packages/opendesign/package.json | 3 ++- packages/scripts/src/build-style/index.ts | 1 - 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/packages/opendesign/README.md b/packages/opendesign/README.md index 7fe8d1c3..e47e7b78 100644 --- a/packages/opendesign/README.md +++ b/packages/opendesign/README.md @@ -1,3 +1,21 @@ # opendesign components - vue3 components + +# build + +1. generate icon component + ``` + pnpm gen:icon + ``` +2. build component + + ``` + pnpm build:component + ``` + +3. build style + + ``` + pnpm build:style + ``` diff --git a/packages/opendesign/package.json b/packages/opendesign/package.json index 01cc3986..7a42d889 100644 --- a/packages/opendesign/package.json +++ b/packages/opendesign/package.json @@ -18,7 +18,8 @@ "scripts": { "gen:icon": "opensig-scripts gen:icon", "build:component": "opensig-scripts build:component", - "build:style": "opensig-scripts build:style" + "build:style": "opensig-scripts build:style", + "build": "opensig-scripts gen:icon && opensig-scripts build:component && opensig-scripts build:style" }, "peerDependencies": { "vue": "^3.1.0" diff --git a/packages/scripts/src/build-style/index.ts b/packages/scripts/src/build-style/index.ts index 70ae244f..edc0f130 100644 --- a/packages/scripts/src/build-style/index.ts +++ b/packages/scripts/src/build-style/index.ts @@ -15,7 +15,6 @@ export default function main() { const files = glob.sync('**/*.{scss,css}', { cwd: input, }); - console.log(files); files.forEach(fl => { -- Gitee From 3efe266f74c0492ad621d10bc03fa0c117ff4ae4 Mon Sep 17 00:00:00 2001 From: devin Date: Fri, 23 Dec 2022 10:10:10 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=85=A8=E5=B1=80size?= =?UTF-8?q?=E3=80=81shap?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .eslintrc.js | 14 ++--- packages/docs/button.md | 12 ++--- packages/docs/select.md | 35 +++++++++++++ packages/docs/switch.md | 2 +- .../opendesign/src/components/_shared/dom.ts | 38 ++++++++++++++ .../src/components/_shared/global.ts | 18 ++++--- .../src/components/button/OButton.vue | 14 ++--- .../button/__demo__/BtnDisabled.vue | 10 ++-- .../components/button/__demo__/BtnIcon.vue | 52 +++++++++---------- .../components/button/__demo__/BtnShape.vue | 28 +++++----- .../components/button/__demo__/BtnSize.vue | 8 +-- .../components/button/__demo__/BtnType.vue | 10 ++-- .../opendesign/src/components/button/types.ts | 6 +-- packages/opendesign/src/components/config.ts | 4 +- packages/portal/src/main.ts | 4 +- packages/portal/src/pages/TheButton.vue | 2 +- packages/portal/src/style.scss | 3 ++ 17 files changed, 172 insertions(+), 88 deletions(-) create mode 100644 packages/docs/select.md create mode 100644 packages/opendesign/src/components/_shared/dom.ts diff --git a/.eslintrc.js b/.eslintrc.js index 34c68225..6b40df40 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -18,14 +18,13 @@ module.exports = { 'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off', quotes: ['error', 'single', { avoidEscape: true }], 'quote-props': ['warn', 'as-needed'], - 'comma-dangle': ['error', 'always-multiline'], + 'comma-dangle': ['error', 'only-multiline'], camelcase: ['error', { properties: 'never' }], 'array-bracket-spacing': 'warn', 'arrow-spacing': 'warn', 'block-spacing': 'warn', 'comma-spacing': 'warn', 'computed-property-spacing': 'warn', - 'func-call-spacing': 'warn', 'generator-star-spacing': 'warn', 'key-spacing': 'warn', 'keyword-spacing': 'warn', @@ -53,10 +52,11 @@ module.exports = { 'default-param-last': 'off', 'no-param-reassign': ['error', { props: false }], - 'vue/max-attributes-per-line': ['error', { - singleline: { max: 4 }, - multiline: { max: 2 }, - }], + // 'vue/max-attributes-per-line': ['error', { + // singleline: { max: 4 }, + // multiline: { max: 2 }, + // }], + 'vue/max-attributes-per-line': 'off', 'vue/html-self-closing': ['warn', { html: { void: 'always', @@ -82,6 +82,8 @@ module.exports = { '@typescript-eslint/no-useless-constructor': 'warn', 'no-use-before-define': 'off', '@typescript-eslint/no-use-before-define': 'warn', + 'func-call-spacing': 'off', + '@typescript-eslint/func-call-spacing': 'warn' // 'dot-notation': 'off', // '@typescript-eslint/dot-notation': 'warn', diff --git a/packages/docs/button.md b/packages/docs/button.md index 663e3e2c..3ec6b396 100644 --- a/packages/docs/button.md +++ b/packages/docs/button.md @@ -2,14 +2,14 @@ # props -| name | type | 说明 | -| :---- | :---------- | :--- | -| type | ButtonTypeT | 类型 | -| size | SizeT | 尺寸 | -| shape | ShapeT | 形状 | +| name | type | 说明 | +| :---- | :--------- | :--- | +| type | ButtonType | 类型 | +| size | SizeT | 尺寸 | +| shape | ShapeT | 形状 | ``` -enum ButtonTypeT { +enum ButtonType { PRIMARY = 'primary', OUTLINE = 'outline', TEXT = 'text', diff --git a/packages/docs/select.md b/packages/docs/select.md new file mode 100644 index 00000000..842df15a --- /dev/null +++ b/packages/docs/select.md @@ -0,0 +1,35 @@ +# Select 下拉选择器 + +# props + +| name | type | 默认值 | 说明 | +| :----------- | :------- | :------------ | ------------------------------------------------------------- | +| model:value | Boolean | false | 开关状态 | +| shape | ShapeT | ShapeT.NORMAL | 形状 | +| size | SizeT | SizeT.NORMAL | 形状 | +| disabled | Boolean | false | 形状 | +| loading | Boolean | false | 加载状态 | +| beforeChange | Function | ()=>true | return Promise. resolve(true)继续切换,resolve(false)阻止切换 | + +``` +enum SizeT { + LARGE = 'large', + NORMAL = 'normal', + SMALL = 'small' +} + +enum ShapeT { + ROUND = 'round', + NORMAL = 'normal' +} +``` + +# event + +| name | 参数 | 说明 | +| :----- | :------------------------ | :------------- | +| change | value: boolean; ev: Event | 选择切换后触发 | + +# expose + +# slot diff --git a/packages/docs/switch.md b/packages/docs/switch.md index ee3d32f6..2fea5b83 100644 --- a/packages/docs/switch.md +++ b/packages/docs/switch.md @@ -5,7 +5,7 @@ | name | type | 默认值 | 说明 | | :----------- | :------- | :------------ | ------------------------------------------------------------- | | model:value | Boolean | false | 开关状态 | -| type | ShapeT | ShapeT.NORMAL | 形状 | +| shape | ShapeT | ShapeT.NORMAL | 形状 | | size | SizeT | SizeT.NORMAL | 形状 | | disabled | Boolean | false | 形状 | | loading | Boolean | false | 加载状态 | diff --git a/packages/opendesign/src/components/_shared/dom.ts b/packages/opendesign/src/components/_shared/dom.ts new file mode 100644 index 00000000..4ecdbd95 --- /dev/null +++ b/packages/opendesign/src/components/_shared/dom.ts @@ -0,0 +1,38 @@ +export function isElement(el: any) { + return (typeof HTMLElement === 'object') + ? (el instanceof HTMLElement) + : !!(el && typeof el === 'object' && (el.nodeType === 1 || el.nodeType === 9) && typeof el.nodeName === 'string'); +} + +export function isRootEl(el: HTMLElement | Window) { + return el === window || ['BODY', 'HTML'].includes((el as HTMLElement).tagName); +} + +export function getScroll(el: HTMLElement | Window = window) { + if (!el) { + return { + left: 0, + top: 0 + }; + } + const isroot = isRootEl(el); + return { + left: isroot ? window.scrollX : (el as HTMLElement).scrollLeft, + top: isroot ? window.scrollY : (el as HTMLElement).scrollTop, + }; +} +export function getRelativeBounding(el: HTMLElement, c: DOMRect) { + const e = el.getBoundingClientRect(); + return { + top: e.top, + bottom: e.bottom, + left: e.left, + right: e.right, + width: e.width, + height: e.height, + offsetLeft: e.left - c.left, + offsetTop: e.top - c.top, + offsetRight: e.right - c.left, + offsetBottom: e.bottom - c.top, + }; +} \ No newline at end of file diff --git a/packages/opendesign/src/components/_shared/global.ts b/packages/opendesign/src/components/_shared/global.ts index 6d797244..05782af6 100644 --- a/packages/opendesign/src/components/_shared/global.ts +++ b/packages/opendesign/src/components/_shared/global.ts @@ -1,25 +1,31 @@ import { ref } from 'vue'; // 尺寸 -export enum SizeT { +export enum Size { LARGE = 'large', NORMAL = 'normal', SMALL = 'small' } -export const defaultSize = ref(SizeT.NORMAL); +export const defaultSize = ref(Size.NORMAL); -export function initSize(type: SizeT) { +export function initSize(type: Size) { defaultSize.value = type; } // 形状 -export enum ShapeT { +export enum Shape { ROUND = 'round', NORMAL = 'normal' } -export const defaultShape = ref(ShapeT.NORMAL); +export const defaultShape = ref(Shape.NORMAL); -export function initShape(shape: ShapeT) { +export function initShape(shape: Shape) { defaultShape.value = shape; +} + +export const OptionProvideKey = 'option-provide'; +export interface OptionValueT { + label: string; + value: string | number; } \ No newline at end of file diff --git a/packages/opendesign/src/components/button/OButton.vue b/packages/opendesign/src/components/button/OButton.vue index bcc5347a..cc9f1dd1 100644 --- a/packages/opendesign/src/components/button/OButton.vue +++ b/packages/opendesign/src/components/button/OButton.vue @@ -1,14 +1,14 @@ diff --git a/packages/opendesign/src/components/button/__demo__/BtnIcon.vue b/packages/opendesign/src/components/button/__demo__/BtnIcon.vue index 3bb97595..c56dce8a 100644 --- a/packages/opendesign/src/components/button/__demo__/BtnIcon.vue +++ b/packages/opendesign/src/components/button/__demo__/BtnIcon.vue @@ -1,45 +1,45 @@ diff --git a/packages/opendesign/src/components/button/__demo__/BtnShape.vue b/packages/opendesign/src/components/button/__demo__/BtnShape.vue index 30df340d..d72c066f 100644 --- a/packages/opendesign/src/components/button/__demo__/BtnShape.vue +++ b/packages/opendesign/src/components/button/__demo__/BtnShape.vue @@ -1,27 +1,27 @@ diff --git a/packages/opendesign/src/components/button/__demo__/BtnSize.vue b/packages/opendesign/src/components/button/__demo__/BtnSize.vue index ee444320..da1a553f 100644 --- a/packages/opendesign/src/components/button/__demo__/BtnSize.vue +++ b/packages/opendesign/src/components/button/__demo__/BtnSize.vue @@ -1,11 +1,11 @@ diff --git a/packages/opendesign/src/components/button/__demo__/BtnType.vue b/packages/opendesign/src/components/button/__demo__/BtnType.vue index c781fc92..0e81e350 100644 --- a/packages/opendesign/src/components/button/__demo__/BtnType.vue +++ b/packages/opendesign/src/components/button/__demo__/BtnType.vue @@ -1,12 +1,12 @@ diff --git a/packages/opendesign/src/components/button/types.ts b/packages/opendesign/src/components/button/types.ts index f98f0e15..e885ef92 100644 --- a/packages/opendesign/src/components/button/types.ts +++ b/packages/opendesign/src/components/button/types.ts @@ -1,8 +1,8 @@ -import { SizeT as ButtonSizeT, ShapeT as ButtonShapeT } from '../_shared/global'; +import { Size as ButtonSize, Shape as ButtonShape } from '../_shared/global'; -export { ButtonSizeT, ButtonShapeT }; +export { ButtonSize, ButtonShape }; -export enum ButtonTypeT { +export enum ButtonType { PRIMARY = 'primary', OUTLINE = 'outline', TEXT = 'text', diff --git a/packages/opendesign/src/components/config.ts b/packages/opendesign/src/components/config.ts index 1bb58256..0c017965 100644 --- a/packages/opendesign/src/components/config.ts +++ b/packages/opendesign/src/components/config.ts @@ -1,6 +1,6 @@ -import { initSize, SizeT } from './_shared/global'; +import { initSize, Size } from './_shared/global'; export { initSize, - SizeT, + Size, }; \ No newline at end of file diff --git a/packages/portal/src/main.ts b/packages/portal/src/main.ts index ed24dac2..aaa2a6d5 100644 --- a/packages/portal/src/main.ts +++ b/packages/portal/src/main.ts @@ -1,7 +1,7 @@ import { createApp } from 'vue'; import './style.scss'; -import '@opensig/opendesign/es/style/token.css'; -import '@opensig/opendesign/es/style'; +import '@opensig/opendesign/src/components/style/token.css'; +import '@opensig/opendesign/src/components/style'; // import { initSize, SizeT } from 'opendesign/config'; import { router } from '@/router'; diff --git a/packages/portal/src/pages/TheButton.vue b/packages/portal/src/pages/TheButton.vue index 2f67ada0..2a2f0c96 100644 --- a/packages/portal/src/pages/TheButton.vue +++ b/packages/portal/src/pages/TheButton.vue @@ -1,5 +1,5 @@