ci eslint
This commit is contained in:
		
							parent
							
								
									6717dfead2
								
							
						
					
					
						commit
						93507d0165
					
				
							
								
								
									
										1
									
								
								.eslintcache
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								.eslintcache
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										79
									
								
								.eslintrc.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										79
									
								
								.eslintrc.js
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,79 @@
 | 
			
		||||
module.exports = {
 | 
			
		||||
    root: true,
 | 
			
		||||
    env: {
 | 
			
		||||
      browser: true,
 | 
			
		||||
      node: true,
 | 
			
		||||
      es6: true
 | 
			
		||||
    },
 | 
			
		||||
    parser: 'vue-eslint-parser',
 | 
			
		||||
    parserOptions: {
 | 
			
		||||
      parser: '@typescript-eslint/parser',
 | 
			
		||||
      ecmaVersion: 2020,
 | 
			
		||||
      sourceType: 'module',
 | 
			
		||||
      jsxPragma: 'React',
 | 
			
		||||
      ecmaFeatures: {
 | 
			
		||||
        jsx: true
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    globals: {
 | 
			
		||||
      AMap: false,
 | 
			
		||||
      AMapUI: false
 | 
			
		||||
    },
 | 
			
		||||
    extends: [
 | 
			
		||||
      'plugin:vue/vue3-recommended',
 | 
			
		||||
      'plugin:@typescript-eslint/recommended',
 | 
			
		||||
      'prettier',
 | 
			
		||||
      'plugin:prettier/recommended'
 | 
			
		||||
    ],
 | 
			
		||||
    rules: {
 | 
			
		||||
      '@typescript-eslint/ban-ts-ignore': 'off',
 | 
			
		||||
      '@typescript-eslint/explicit-function-return-type': 'off',
 | 
			
		||||
      '@typescript-eslint/no-explicit-any': 'off',
 | 
			
		||||
      '@typescript-eslint/no-var-requires': 'off',
 | 
			
		||||
      '@typescript-eslint/no-empty-function': 'off',
 | 
			
		||||
      'vue/custom-event-name-casing': 'off',
 | 
			
		||||
      'no-use-before-define': 'off',
 | 
			
		||||
      '@typescript-eslint/no-use-before-define': 'off',
 | 
			
		||||
      '@typescript-eslint/ban-ts-comment': 'off',
 | 
			
		||||
      '@typescript-eslint/ban-types': 'off',
 | 
			
		||||
      '@typescript-eslint/no-non-null-assertion': 'off',
 | 
			
		||||
      '@typescript-eslint/explicit-module-boundary-types': 'off',
 | 
			
		||||
      '@typescript-eslint/no-unused-vars': [
 | 
			
		||||
        'error',
 | 
			
		||||
        {
 | 
			
		||||
          argsIgnorePattern: '^_',
 | 
			
		||||
          varsIgnorePattern: '^_'
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
      'no-unused-vars': [
 | 
			
		||||
        'error',
 | 
			
		||||
        {
 | 
			
		||||
          argsIgnorePattern: '^_',
 | 
			
		||||
          varsIgnorePattern: '^_'
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
      'space-before-function-paren': 'off',
 | 
			
		||||
      'vue/name-property-casing': ['error', 'PascalCase'], // vue/component-definition-name-casing 对组件定义名称强制使用特定的大小
 | 
			
		||||
      'vue/attributes-order': 'off',
 | 
			
		||||
      'vue/one-component-per-file': 'off',
 | 
			
		||||
      'vue/html-closing-bracket-newline': 'off',
 | 
			
		||||
      'vue/max-attributes-per-line': 'off',
 | 
			
		||||
      'vue/multiline-html-element-content-newline': 'off',
 | 
			
		||||
      'vue/singleline-html-element-content-newline': 'off',
 | 
			
		||||
      'vue/attribute-hyphenation': 'off',
 | 
			
		||||
      'vue/require-default-prop': 'off',
 | 
			
		||||
      'vue/script-setup-uses-vars': 'off',
 | 
			
		||||
      'vue/html-self-closing': [
 | 
			
		||||
        'error',
 | 
			
		||||
        {
 | 
			
		||||
          html: {
 | 
			
		||||
            void: 'always',
 | 
			
		||||
            normal: 'never',
 | 
			
		||||
            component: 'always'
 | 
			
		||||
          },
 | 
			
		||||
          svg: 'always',
 | 
			
		||||
          math: 'always'
 | 
			
		||||
        }
 | 
			
		||||
      ]
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
							
								
								
									
										11
									
								
								package.json
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								package.json
									
									
									
									
									
								
							@ -26,6 +26,7 @@
 | 
			
		||||
    "build": "vite build --emptyOutDir && npm run build:types",
 | 
			
		||||
    "build:types": "rimraf types && tsc -d",
 | 
			
		||||
    "build:example": "vite build example",
 | 
			
		||||
    "lint:eslint": "eslint --cache --max-warnings 0  \"src/**/*.{vue,ts,tsx}\" --fix",
 | 
			
		||||
    "lint:prettier": "prettier --write  \"src/**/*.{js,json,tsx,css,less,scss,vue,html,md}\""
 | 
			
		||||
  },
 | 
			
		||||
  "peerDependencies": {
 | 
			
		||||
@ -33,12 +34,14 @@
 | 
			
		||||
    "vue-router": "^4.0.12"
 | 
			
		||||
  },
 | 
			
		||||
  "dependencies": {
 | 
			
		||||
    "vue": "^3.2.26",
 | 
			
		||||
    "@layui/hooks-vue": "^0.1.6",
 | 
			
		||||
    "@layui/icons-vue": "^1.0.1",
 | 
			
		||||
    "@layui/layer-vue": "^1.2.2",
 | 
			
		||||
    "async-validator": "^4.0.7",
 | 
			
		||||
    "evtd": "^0.2.3"
 | 
			
		||||
    "eslint-config-prettier": "^8.3.0",
 | 
			
		||||
    "eslint-plugin-prettier": "^4.0.0",
 | 
			
		||||
    "evtd": "^0.2.3",
 | 
			
		||||
    "vue": "^3.2.26"
 | 
			
		||||
  },
 | 
			
		||||
  "devDependencies": {
 | 
			
		||||
    "@babel/core": "^7.15.8",
 | 
			
		||||
@ -48,10 +51,14 @@
 | 
			
		||||
    "@types/markdown-it": "^12.2.3",
 | 
			
		||||
    "@types/markdown-it-container": "^2.0.4",
 | 
			
		||||
    "@types/node": "^16.11.9",
 | 
			
		||||
    "@typescript-eslint/eslint-plugin": "^5.8.0",
 | 
			
		||||
    "@typescript-eslint/parser": "^5.8.0",
 | 
			
		||||
    "@vitejs/plugin-vue": "^1.9.3",
 | 
			
		||||
    "@vue/compiler-sfc": "^3.2.26",
 | 
			
		||||
    "@vue/server-renderer": "^3.2.26",
 | 
			
		||||
    "escape-html": "^1.0.3",
 | 
			
		||||
    "eslint": "^8.5.0",
 | 
			
		||||
    "eslint-plugin-vue": "^8.2.0",
 | 
			
		||||
    "less": "^4.1.2",
 | 
			
		||||
    "markdown-it-container": "^3.0.0",
 | 
			
		||||
    "prettier": "^2.5.1",
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										142
									
								
								src/index.ts
									
									
									
									
									
								
							
							
						
						
									
										142
									
								
								src/index.ts
									
									
									
									
									
								
							@ -1,72 +1,72 @@
 | 
			
		||||
import type { App } from 'vue'
 | 
			
		||||
import type { IDefineComponent, InstallOptions } from './module/type/index'
 | 
			
		||||
import type { App } from "vue";
 | 
			
		||||
import type { IDefineComponent, InstallOptions } from "./module/type/index";
 | 
			
		||||
 | 
			
		||||
import './css/layui.css';
 | 
			
		||||
import '@layui/layer-vue/lib/index.css';
 | 
			
		||||
import '@layui/icons-vue/lib/index.css';
 | 
			
		||||
import "./css/layui.css";
 | 
			
		||||
import "@layui/layer-vue/lib/index.css";
 | 
			
		||||
import "@layui/icons-vue/lib/index.css";
 | 
			
		||||
 | 
			
		||||
import { layer } from '@layui/layer-vue'
 | 
			
		||||
import { layer } from "@layui/layer-vue";
 | 
			
		||||
 | 
			
		||||
import LayModal from './module/layer/modal/index'
 | 
			
		||||
import LayBacktop from './module/backTop/index'
 | 
			
		||||
import LayAvatar from './module/avatar/index'
 | 
			
		||||
import LayRadio from './module/radio/index'
 | 
			
		||||
import LayButton from './module/button/index'
 | 
			
		||||
import LayButtonContainer from './module/buttonContainer/index'
 | 
			
		||||
import LayButtonGroup from './module/buttonGroup/index'
 | 
			
		||||
import LayIcon from './module/icon/index'
 | 
			
		||||
import LayIconPicker from './module/iconPicker/index'
 | 
			
		||||
import LayCard from './module/card/index'
 | 
			
		||||
import LayLayout from './module/layout/index'
 | 
			
		||||
import LaySide from './module/side/index'
 | 
			
		||||
import LayBody from './module/body/index'
 | 
			
		||||
import LayHeader from './module/header/index'
 | 
			
		||||
import LayFooter from './module/footer/index'
 | 
			
		||||
import LayLogo from './module/logo/index'
 | 
			
		||||
import LayPanel from './module/panel/index'
 | 
			
		||||
import LayProgress from './module/progress/index'
 | 
			
		||||
import LayCol from './module/col/index'
 | 
			
		||||
import LayRow from './module/row/index'
 | 
			
		||||
import LayInput from './module/input/index'
 | 
			
		||||
import LayBadge from './module/badge/index'
 | 
			
		||||
import LayBlock from './module/block/index'
 | 
			
		||||
import LayLine from './module/line/index'
 | 
			
		||||
import LayTimeline from './module/timeline/index'
 | 
			
		||||
import LayTimelineItem from './module/timelineItem/index'
 | 
			
		||||
import LayTextarea from './module/textarea/index'
 | 
			
		||||
import LaySwitch from './module/switch/index'
 | 
			
		||||
import LayCollapse from './module/collapse/index'
 | 
			
		||||
import LayCollapseItem from './module/collapseItem/index'
 | 
			
		||||
import LayContainer from './module/container/index'
 | 
			
		||||
import LayMenu from './module/menu/index'
 | 
			
		||||
import LayMenuItem from './module/menuItem/index'
 | 
			
		||||
import LayMenuChildItem from './module/menuChildItem/index'
 | 
			
		||||
import LayCheckbox from './module/checkbox/index'
 | 
			
		||||
import LayCheckboxGroup from './module/checkboxGroup/index'
 | 
			
		||||
import LayForm from './module/form/index'
 | 
			
		||||
import LayBreadcrumb from './module/breadcrumb/index'
 | 
			
		||||
import LayBreadcrumbItem from './module/breadcrumbItem/index'
 | 
			
		||||
import LayField from './module/field/index'
 | 
			
		||||
import LaySelect from './module/select/index'
 | 
			
		||||
import LaySelectOption from './module/selectOption/index'
 | 
			
		||||
import LayScroll from './module/scroll/index'
 | 
			
		||||
import LayEmpty from './module/empty/index'
 | 
			
		||||
import LayFormItem from './module/formItem/index'
 | 
			
		||||
import LayRate from './module/rate/index'
 | 
			
		||||
import LayDropdown from './module/dropdown/index'
 | 
			
		||||
import LayDropdownItem from './module/dropdownItem/index'
 | 
			
		||||
import LayTab from './module/tab/index'
 | 
			
		||||
import LayTabItem from './module/tabItem/index'
 | 
			
		||||
import LayTree from './module/tree/index'
 | 
			
		||||
import LayTable from './module/table/index'
 | 
			
		||||
import LayPage from './module/page/index'
 | 
			
		||||
import LayTransfer from './module/transfer/index'
 | 
			
		||||
import LaySlider from './module/slider/index'
 | 
			
		||||
import LayCarousel from './module/carousel/index'
 | 
			
		||||
import LayCarouselItem from './module/carouselItem/index'
 | 
			
		||||
import LayColorPicker from './module/colorPicker/index'
 | 
			
		||||
import LayTooltip from './module/tooltip/index'
 | 
			
		||||
import LayInputNumber from './module/inputNumber/index'
 | 
			
		||||
import LayModal from "./module/layer/modal/index";
 | 
			
		||||
import LayBacktop from "./module/backTop/index";
 | 
			
		||||
import LayAvatar from "./module/avatar/index";
 | 
			
		||||
import LayRadio from "./module/radio/index";
 | 
			
		||||
import LayButton from "./module/button/index";
 | 
			
		||||
import LayButtonContainer from "./module/buttonContainer/index";
 | 
			
		||||
import LayButtonGroup from "./module/buttonGroup/index";
 | 
			
		||||
import LayIcon from "./module/icon/index";
 | 
			
		||||
import LayIconPicker from "./module/iconPicker/index";
 | 
			
		||||
import LayCard from "./module/card/index";
 | 
			
		||||
import LayLayout from "./module/layout/index";
 | 
			
		||||
import LaySide from "./module/side/index";
 | 
			
		||||
import LayBody from "./module/body/index";
 | 
			
		||||
import LayHeader from "./module/header/index";
 | 
			
		||||
import LayFooter from "./module/footer/index";
 | 
			
		||||
import LayLogo from "./module/logo/index";
 | 
			
		||||
import LayPanel from "./module/panel/index";
 | 
			
		||||
import LayProgress from "./module/progress/index";
 | 
			
		||||
import LayCol from "./module/col/index";
 | 
			
		||||
import LayRow from "./module/row/index";
 | 
			
		||||
import LayInput from "./module/input/index";
 | 
			
		||||
import LayBadge from "./module/badge/index";
 | 
			
		||||
import LayBlock from "./module/block/index";
 | 
			
		||||
import LayLine from "./module/line/index";
 | 
			
		||||
import LayTimeline from "./module/timeline/index";
 | 
			
		||||
import LayTimelineItem from "./module/timelineItem/index";
 | 
			
		||||
import LayTextarea from "./module/textarea/index";
 | 
			
		||||
import LaySwitch from "./module/switch/index";
 | 
			
		||||
import LayCollapse from "./module/collapse/index";
 | 
			
		||||
import LayCollapseItem from "./module/collapseItem/index";
 | 
			
		||||
import LayContainer from "./module/container/index";
 | 
			
		||||
import LayMenu from "./module/menu/index";
 | 
			
		||||
import LayMenuItem from "./module/menuItem/index";
 | 
			
		||||
import LayMenuChildItem from "./module/menuChildItem/index";
 | 
			
		||||
import LayCheckbox from "./module/checkbox/index";
 | 
			
		||||
import LayCheckboxGroup from "./module/checkboxGroup/index";
 | 
			
		||||
import LayForm from "./module/form/index";
 | 
			
		||||
import LayBreadcrumb from "./module/breadcrumb/index";
 | 
			
		||||
import LayBreadcrumbItem from "./module/breadcrumbItem/index";
 | 
			
		||||
import LayField from "./module/field/index";
 | 
			
		||||
import LaySelect from "./module/select/index";
 | 
			
		||||
import LaySelectOption from "./module/selectOption/index";
 | 
			
		||||
import LayScroll from "./module/scroll/index";
 | 
			
		||||
import LayEmpty from "./module/empty/index";
 | 
			
		||||
import LayFormItem from "./module/formItem/index";
 | 
			
		||||
import LayRate from "./module/rate/index";
 | 
			
		||||
import LayDropdown from "./module/dropdown/index";
 | 
			
		||||
import LayDropdownItem from "./module/dropdownItem/index";
 | 
			
		||||
import LayTab from "./module/tab/index";
 | 
			
		||||
import LayTabItem from "./module/tabItem/index";
 | 
			
		||||
import LayTree from "./module/tree/index";
 | 
			
		||||
import LayTable from "./module/table/index";
 | 
			
		||||
import LayPage from "./module/page/index";
 | 
			
		||||
import LayTransfer from "./module/transfer/index";
 | 
			
		||||
import LaySlider from "./module/slider/index";
 | 
			
		||||
import LayCarousel from "./module/carousel/index";
 | 
			
		||||
import LayCarouselItem from "./module/carouselItem/index";
 | 
			
		||||
import LayColorPicker from "./module/colorPicker/index";
 | 
			
		||||
import LayTooltip from "./module/tooltip/index";
 | 
			
		||||
import LayInputNumber from "./module/inputNumber/index";
 | 
			
		||||
 | 
			
		||||
const components: Record<string, IDefineComponent> = {
 | 
			
		||||
  LayRadio,
 | 
			
		||||
@ -129,7 +129,7 @@ const components: Record<string, IDefineComponent> = {
 | 
			
		||||
  LayModal,
 | 
			
		||||
  LayTooltip,
 | 
			
		||||
  LayInputNumber,
 | 
			
		||||
}
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
const install = (app: App, options?: InstallOptions): void => {
 | 
			
		||||
  const _options = options;
 | 
			
		||||
@ -138,7 +138,7 @@ const install = (app: App, options?: InstallOptions): void => {
 | 
			
		||||
    const item = components[key];
 | 
			
		||||
    app.component(item.name || key, item);
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export {
 | 
			
		||||
  LayRadio,
 | 
			
		||||
@ -200,7 +200,7 @@ export {
 | 
			
		||||
  LayColorPicker,
 | 
			
		||||
  LayModal,
 | 
			
		||||
  install,
 | 
			
		||||
  layer
 | 
			
		||||
}
 | 
			
		||||
  layer,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export default { install }
 | 
			
		||||
export default { install };
 | 
			
		||||
 | 
			
		||||
@ -1,9 +1,9 @@
 | 
			
		||||
import type { App } from 'vue'
 | 
			
		||||
import Component from './index.vue'
 | 
			
		||||
import type { IDefineComponent } from '../type/index'
 | 
			
		||||
import type { App } from "vue";
 | 
			
		||||
import Component from "./index.vue";
 | 
			
		||||
import type { IDefineComponent } from "../type/index";
 | 
			
		||||
 | 
			
		||||
Component.install = (app: App) => {
 | 
			
		||||
  app.component(Component.name || 'LayAvatar', Component)
 | 
			
		||||
}
 | 
			
		||||
  app.component(Component.name || "LayAvatar", Component);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export default Component as IDefineComponent
 | 
			
		||||
export default Component as IDefineComponent;
 | 
			
		||||
 | 
			
		||||
@ -1,9 +1,9 @@
 | 
			
		||||
import type { App } from 'vue'
 | 
			
		||||
import Component from './index.vue'
 | 
			
		||||
import type { IDefineComponent } from '../type/index'
 | 
			
		||||
import type { App } from "vue";
 | 
			
		||||
import Component from "./index.vue";
 | 
			
		||||
import type { IDefineComponent } from "../type/index";
 | 
			
		||||
 | 
			
		||||
Component.install = (app: App) => {
 | 
			
		||||
  app.component(Component.name || 'LayBacktop', Component)
 | 
			
		||||
}
 | 
			
		||||
  app.component(Component.name || "LayBacktop", Component);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export default Component as IDefineComponent
 | 
			
		||||
export default Component as IDefineComponent;
 | 
			
		||||
 | 
			
		||||
@ -14,7 +14,7 @@
 | 
			
		||||
        :size="`${props.iconSize}px`"
 | 
			
		||||
        :prefix="props.iconPrefix"
 | 
			
		||||
        :color="props.iconColor"
 | 
			
		||||
      ></lay-icon>
 | 
			
		||||
      />
 | 
			
		||||
    </slot>
 | 
			
		||||
  </div>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
@ -1,9 +1,9 @@
 | 
			
		||||
import type { App } from 'vue'
 | 
			
		||||
import Component from './index.vue'
 | 
			
		||||
import type { IDefineComponent } from '../type/index'
 | 
			
		||||
import type { App } from "vue";
 | 
			
		||||
import Component from "./index.vue";
 | 
			
		||||
import type { IDefineComponent } from "../type/index";
 | 
			
		||||
 | 
			
		||||
Component.install = (app: App) => {
 | 
			
		||||
  app.component(Component.name || 'LayBadge', Component)
 | 
			
		||||
}
 | 
			
		||||
  app.component(Component.name || "LayBadge", Component);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export default Component as IDefineComponent
 | 
			
		||||
export default Component as IDefineComponent;
 | 
			
		||||
 | 
			
		||||
@ -33,6 +33,6 @@ const styles = computed(() => {
 | 
			
		||||
 | 
			
		||||
<template>
 | 
			
		||||
  <span :class="classes" :style="styles">
 | 
			
		||||
    <slot v-if="type != 'dot'" />
 | 
			
		||||
    <slot v-if="type != 'dot'"></slot>
 | 
			
		||||
  </span>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
@ -1,9 +1,9 @@
 | 
			
		||||
import type { App } from 'vue'
 | 
			
		||||
import Component from './index.vue'
 | 
			
		||||
import type { IDefineComponent } from '../type/index'
 | 
			
		||||
import type { App } from "vue";
 | 
			
		||||
import Component from "./index.vue";
 | 
			
		||||
import type { IDefineComponent } from "../type/index";
 | 
			
		||||
 | 
			
		||||
Component.install = (app: App) => {
 | 
			
		||||
  app.component(Component.name || 'LayBlock', Component)
 | 
			
		||||
}
 | 
			
		||||
  app.component(Component.name || "LayBlock", Component);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export default Component as IDefineComponent
 | 
			
		||||
export default Component as IDefineComponent;
 | 
			
		||||
 | 
			
		||||
@ -15,6 +15,6 @@ const props = defineProps<{
 | 
			
		||||
 | 
			
		||||
<template>
 | 
			
		||||
  <blockquote class="layui-elem-quote" :class="{ 'layui-quote-nm': nm }">
 | 
			
		||||
    <slot />
 | 
			
		||||
    <slot></slot>
 | 
			
		||||
  </blockquote>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
@ -1,9 +1,9 @@
 | 
			
		||||
import type { App } from 'vue'
 | 
			
		||||
import Component from './index.vue'
 | 
			
		||||
import type { IDefineComponent } from '../type/index'
 | 
			
		||||
import type { App } from "vue";
 | 
			
		||||
import Component from "./index.vue";
 | 
			
		||||
import type { IDefineComponent } from "../type/index";
 | 
			
		||||
 | 
			
		||||
Component.install = (app: App) => {
 | 
			
		||||
  app.component(Component.name || 'LayBody', Component)
 | 
			
		||||
}
 | 
			
		||||
  app.component(Component.name || "LayBody", Component);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export default Component as IDefineComponent
 | 
			
		||||
export default Component as IDefineComponent;
 | 
			
		||||
 | 
			
		||||
@ -10,6 +10,6 @@ import "./index.less";
 | 
			
		||||
 | 
			
		||||
<template>
 | 
			
		||||
  <div class="layui-body">
 | 
			
		||||
    <slot />
 | 
			
		||||
    <slot></slot>
 | 
			
		||||
  </div>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
@ -1,9 +1,9 @@
 | 
			
		||||
import type { App } from 'vue'
 | 
			
		||||
import Component from './index.vue'
 | 
			
		||||
import type { IDefineComponent } from '../type/index'
 | 
			
		||||
import type { App } from "vue";
 | 
			
		||||
import Component from "./index.vue";
 | 
			
		||||
import type { IDefineComponent } from "../type/index";
 | 
			
		||||
 | 
			
		||||
Component.install = (app: App) => {
 | 
			
		||||
  app.component(Component.name || 'LayBreadcrumb', Component)
 | 
			
		||||
}
 | 
			
		||||
  app.component(Component.name || "LayBreadcrumb", Component);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export default Component as IDefineComponent
 | 
			
		||||
export default Component as IDefineComponent;
 | 
			
		||||
 | 
			
		||||
@ -1,9 +1,9 @@
 | 
			
		||||
import type { App } from 'vue'
 | 
			
		||||
import Component from './index.vue'
 | 
			
		||||
import type { IDefineComponent } from '../type/index'
 | 
			
		||||
import type { App } from "vue";
 | 
			
		||||
import Component from "./index.vue";
 | 
			
		||||
import type { IDefineComponent } from "../type/index";
 | 
			
		||||
 | 
			
		||||
Component.install = (app: App) => {
 | 
			
		||||
  app.component(Component.name || 'LayBreadcrumbItem', Component)
 | 
			
		||||
}
 | 
			
		||||
  app.component(Component.name || "LayBreadcrumbItem", Component);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export default Component as IDefineComponent
 | 
			
		||||
export default Component as IDefineComponent;
 | 
			
		||||
 | 
			
		||||
@ -1,10 +1,9 @@
 | 
			
		||||
import type { App } from 'vue'
 | 
			
		||||
import Component from './index.vue'
 | 
			
		||||
import type { IDefineComponent } from '../type/index'
 | 
			
		||||
import type { App } from "vue";
 | 
			
		||||
import Component from "./index.vue";
 | 
			
		||||
import type { IDefineComponent } from "../type/index";
 | 
			
		||||
 | 
			
		||||
Component.install = (app: App) => {
 | 
			
		||||
  app.component(Component.name || 'LayButton', Component)
 | 
			
		||||
}
 | 
			
		||||
  app.component(Component.name || "LayButton", Component);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
export default Component as IDefineComponent
 | 
			
		||||
export default Component as IDefineComponent;
 | 
			
		||||
 | 
			
		||||
@ -53,6 +53,6 @@ const classes = computed(() => {
 | 
			
		||||
      v-if="loading"
 | 
			
		||||
      class="layui-icon layui-icon-loading-one layui-anim layui-anim-rotate layui-anim-loop"
 | 
			
		||||
    ></i>
 | 
			
		||||
    <slot v-else />
 | 
			
		||||
    <slot v-else></slot>
 | 
			
		||||
  </button>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
@ -1,9 +1,9 @@
 | 
			
		||||
import type { App } from 'vue'
 | 
			
		||||
import Component from './index.vue'
 | 
			
		||||
import type { IDefineComponent } from '../type/index'
 | 
			
		||||
import type { App } from "vue";
 | 
			
		||||
import Component from "./index.vue";
 | 
			
		||||
import type { IDefineComponent } from "../type/index";
 | 
			
		||||
 | 
			
		||||
Component.install = (app: App) => {
 | 
			
		||||
  app.component(Component.name || 'LayButtonContainer', Component)
 | 
			
		||||
}
 | 
			
		||||
  app.component(Component.name || "LayButtonContainer", Component);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export default Component as IDefineComponent
 | 
			
		||||
export default Component as IDefineComponent;
 | 
			
		||||
 | 
			
		||||
@ -1,6 +1,6 @@
 | 
			
		||||
<template>
 | 
			
		||||
  <div class="layui-btn-container">
 | 
			
		||||
    <slot />
 | 
			
		||||
    <slot></slot>
 | 
			
		||||
  </div>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -1,9 +1,9 @@
 | 
			
		||||
import type { App } from 'vue'
 | 
			
		||||
import Component from './index.vue'
 | 
			
		||||
import type { IDefineComponent } from '../type/index'
 | 
			
		||||
import type { App } from "vue";
 | 
			
		||||
import Component from "./index.vue";
 | 
			
		||||
import type { IDefineComponent } from "../type/index";
 | 
			
		||||
 | 
			
		||||
Component.install = (app: App) => {
 | 
			
		||||
  app.component(Component.name || 'LayButtonGroup', Component)
 | 
			
		||||
}
 | 
			
		||||
  app.component(Component.name || "LayButtonGroup", Component);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export default Component as IDefineComponent
 | 
			
		||||
export default Component as IDefineComponent;
 | 
			
		||||
 | 
			
		||||
@ -10,6 +10,6 @@ import "./index.less";
 | 
			
		||||
 | 
			
		||||
<template>
 | 
			
		||||
  <div class="layui-btn-group">
 | 
			
		||||
    <slot />
 | 
			
		||||
    <slot></slot>
 | 
			
		||||
  </div>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
@ -1,9 +1,9 @@
 | 
			
		||||
import type { App } from 'vue'
 | 
			
		||||
import Component from './index.vue'
 | 
			
		||||
import type { IDefineComponent } from '../type/index'
 | 
			
		||||
import type { App } from "vue";
 | 
			
		||||
import Component from "./index.vue";
 | 
			
		||||
import type { IDefineComponent } from "../type/index";
 | 
			
		||||
 | 
			
		||||
Component.install = (app: App) => {
 | 
			
		||||
  app.component(Component.name || 'LayCard ', Component)
 | 
			
		||||
}
 | 
			
		||||
  app.component(Component.name || "LayCard ", Component);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export default Component as IDefineComponent
 | 
			
		||||
export default Component as IDefineComponent;
 | 
			
		||||
 | 
			
		||||
@ -1,11 +1,11 @@
 | 
			
		||||
<template>
 | 
			
		||||
  <div class="layui-card">
 | 
			
		||||
    <div class="layui-card-header" v-if="slot.header || title">
 | 
			
		||||
      <slot name="header" v-if="slot.header" />
 | 
			
		||||
      <slot name="header" v-if="slot.header"></slot>
 | 
			
		||||
      <span v-else>{{ title }}</span>
 | 
			
		||||
    </div>
 | 
			
		||||
    <div class="layui-card-body">
 | 
			
		||||
      <slot name="body" v-if="slot.body" />
 | 
			
		||||
      <slot name="body" v-if="slot.body"></slot>
 | 
			
		||||
      <slot v-else></slot>
 | 
			
		||||
    </div>
 | 
			
		||||
  </div>
 | 
			
		||||
 | 
			
		||||
@ -1,9 +1,9 @@
 | 
			
		||||
import type { App } from 'vue'
 | 
			
		||||
import Component from './index.vue'
 | 
			
		||||
import type { IDefineComponent } from '../type/index'
 | 
			
		||||
import type { App } from "vue";
 | 
			
		||||
import Component from "./index.vue";
 | 
			
		||||
import type { IDefineComponent } from "../type/index";
 | 
			
		||||
 | 
			
		||||
Component.install = (app: App) => {
 | 
			
		||||
  app.component(Component.name || 'LayCarousel', Component)
 | 
			
		||||
}
 | 
			
		||||
  app.component(Component.name || "LayCarousel", Component);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export default Component as IDefineComponent
 | 
			
		||||
export default Component as IDefineComponent;
 | 
			
		||||
 | 
			
		||||
@ -1,9 +1,9 @@
 | 
			
		||||
import type { App } from 'vue'
 | 
			
		||||
import Component from './index.vue'
 | 
			
		||||
import type { IDefineComponent } from '../type/index'
 | 
			
		||||
import type { App } from "vue";
 | 
			
		||||
import Component from "./index.vue";
 | 
			
		||||
import type { IDefineComponent } from "../type/index";
 | 
			
		||||
 | 
			
		||||
Component.install = (app: App) => {
 | 
			
		||||
  app.component(Component.name || 'LayCarouselItem', Component)
 | 
			
		||||
}
 | 
			
		||||
  app.component(Component.name || "LayCarouselItem", Component);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export default Component as IDefineComponent
 | 
			
		||||
export default Component as IDefineComponent;
 | 
			
		||||
 | 
			
		||||
@ -1,9 +1,9 @@
 | 
			
		||||
import type { App } from 'vue'
 | 
			
		||||
import Component from './index.vue'
 | 
			
		||||
import type { IDefineComponent } from '../type/index'
 | 
			
		||||
import type { App } from "vue";
 | 
			
		||||
import Component from "./index.vue";
 | 
			
		||||
import type { IDefineComponent } from "../type/index";
 | 
			
		||||
 | 
			
		||||
Component.install = (app: App) => {
 | 
			
		||||
  app.component(Component.name || 'LayCheckbox', Component)
 | 
			
		||||
}
 | 
			
		||||
  app.component(Component.name || "LayCheckbox", Component);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export default Component as IDefineComponent
 | 
			
		||||
export default Component as IDefineComponent;
 | 
			
		||||
 | 
			
		||||
@ -104,8 +104,8 @@ const handleClick = function () {
 | 
			
		||||
      }"
 | 
			
		||||
      :lay-skin="skin"
 | 
			
		||||
    >
 | 
			
		||||
      <span v-if="$slots?.default"><slot /></span>
 | 
			
		||||
      <i class="layui-icon layui-icon-ok" />
 | 
			
		||||
      <span v-if="$slots?.default"><slot></slot></span>
 | 
			
		||||
      <i class="layui-icon layui-icon-ok"></i>
 | 
			
		||||
    </div>
 | 
			
		||||
  </span>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
@ -1,9 +1,9 @@
 | 
			
		||||
import type { App } from 'vue'
 | 
			
		||||
import Component from './index.vue'
 | 
			
		||||
import type { IDefineComponent } from '../type/index'
 | 
			
		||||
import type { App } from "vue";
 | 
			
		||||
import Component from "./index.vue";
 | 
			
		||||
import type { IDefineComponent } from "../type/index";
 | 
			
		||||
 | 
			
		||||
Component.install = (app: App) => {
 | 
			
		||||
  app.component(Component.name || 'LayCheckboxGroup', Component)
 | 
			
		||||
}
 | 
			
		||||
  app.component(Component.name || "LayCheckboxGroup", Component);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export default Component as IDefineComponent
 | 
			
		||||
export default Component as IDefineComponent;
 | 
			
		||||
 | 
			
		||||
@ -1,9 +1,9 @@
 | 
			
		||||
import type { App } from 'vue'
 | 
			
		||||
import Component from './index.vue'
 | 
			
		||||
import type { IDefineComponent } from '../type/index'
 | 
			
		||||
import type { App } from "vue";
 | 
			
		||||
import Component from "./index.vue";
 | 
			
		||||
import type { IDefineComponent } from "../type/index";
 | 
			
		||||
 | 
			
		||||
Component.install = (app: App) => {
 | 
			
		||||
  app.component(Component.name || 'LayCol', Component)
 | 
			
		||||
}
 | 
			
		||||
  app.component(Component.name || "LayCol", Component);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export default Component as IDefineComponent
 | 
			
		||||
export default Component as IDefineComponent;
 | 
			
		||||
 | 
			
		||||
@ -34,6 +34,6 @@ const classes = computed(() => {
 | 
			
		||||
 | 
			
		||||
<template>
 | 
			
		||||
  <div class="layui-col" :class="classes">
 | 
			
		||||
    <slot />
 | 
			
		||||
    <slot></slot>
 | 
			
		||||
  </div>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
@ -1,9 +1,9 @@
 | 
			
		||||
import type { App } from 'vue'
 | 
			
		||||
import Component from './index.vue'
 | 
			
		||||
import type { IDefineComponent } from '../type/index'
 | 
			
		||||
import type { App } from "vue";
 | 
			
		||||
import Component from "./index.vue";
 | 
			
		||||
import type { IDefineComponent } from "../type/index";
 | 
			
		||||
 | 
			
		||||
Component.install = (app: App) => {
 | 
			
		||||
  app.component(Component.name || 'LayCollapse', Component)
 | 
			
		||||
}
 | 
			
		||||
  app.component(Component.name || "LayCollapse", Component);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export default Component as IDefineComponent
 | 
			
		||||
export default Component as IDefineComponent;
 | 
			
		||||
 | 
			
		||||
@ -1,6 +1,6 @@
 | 
			
		||||
<template>
 | 
			
		||||
  <div class="layui-collapse">
 | 
			
		||||
    <slot />
 | 
			
		||||
    <slot></slot>
 | 
			
		||||
  </div>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -1,9 +1,9 @@
 | 
			
		||||
import type { App } from 'vue'
 | 
			
		||||
import Component from './index.vue'
 | 
			
		||||
import type { IDefineComponent } from '../type/index'
 | 
			
		||||
import type { App } from "vue";
 | 
			
		||||
import Component from "./index.vue";
 | 
			
		||||
import type { IDefineComponent } from "../type/index";
 | 
			
		||||
 | 
			
		||||
Component.install = (app: App) => {
 | 
			
		||||
  app.component(Component.name || 'LayCollapseItem', Component)
 | 
			
		||||
}
 | 
			
		||||
  app.component(Component.name || "LayCollapseItem", Component);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export default Component as IDefineComponent
 | 
			
		||||
export default Component as IDefineComponent;
 | 
			
		||||
 | 
			
		||||
@ -9,7 +9,7 @@
 | 
			
		||||
    </h2>
 | 
			
		||||
    <div class="layui-colla-content" :class="isShow ? 'layui-show' : ''">
 | 
			
		||||
      <p>
 | 
			
		||||
        <slot :props="props" />
 | 
			
		||||
        <slot :props="props"></slot>
 | 
			
		||||
      </p>
 | 
			
		||||
    </div>
 | 
			
		||||
  </div>
 | 
			
		||||
 | 
			
		||||
@ -107,7 +107,7 @@ onMounted(() => {
 | 
			
		||||
      :visible="true"
 | 
			
		||||
      :alpha="alpha"
 | 
			
		||||
      :predefine="predefine"
 | 
			
		||||
    ></ColorPicker>
 | 
			
		||||
    />
 | 
			
		||||
  </div>
 | 
			
		||||
</template>
 | 
			
		||||
<style scoped lang="less"></style>
 | 
			
		||||
 | 
			
		||||
@ -3,32 +3,32 @@ export interface ColorPickerProps {
 | 
			
		||||
   * 默认颜色,不管你是使用 hex、rgb 还是 rgba 的格式输入,最终会以指定的格式显示。
 | 
			
		||||
   * v-model:color
 | 
			
		||||
   */
 | 
			
		||||
  color: string
 | 
			
		||||
  color: string;
 | 
			
		||||
  /**
 | 
			
		||||
   * 颜色显示/输入格式,可选值: hex、rgb
 | 
			
		||||
   * 若在 rgb 格式下开启了透明度,格式会自动变成 rgba。在没有输入颜色的前提下,组件会默认为 #000 也就是黑色。
 | 
			
		||||
   * default: hex(即 16 进制色值)
 | 
			
		||||
   */
 | 
			
		||||
  format: 'hex' | 'rgb'
 | 
			
		||||
  format: "hex" | "rgb";
 | 
			
		||||
  /**
 | 
			
		||||
   * 是否开启透明度,若不开启,则不会显示透明框。开启了透明度选项时,当你的默认颜色为 hex 或 rgb 格式,
 | 
			
		||||
   * 组件会默认加上值为 1 的透明度。相同的,当你没有开启透明度,却以 rgba 格式设置默认颜色时,组件会默认没有透明度。
 | 
			
		||||
   * 注意:该参数必须配合 rgba 颜色值使用
 | 
			
		||||
   * default: false
 | 
			
		||||
   */
 | 
			
		||||
  alpha: boolean
 | 
			
		||||
  alpha: boolean;
 | 
			
		||||
  /**
 | 
			
		||||
   * 预定义颜色是否开启
 | 
			
		||||
   * default: false
 | 
			
		||||
   */
 | 
			
		||||
  predefine: boolean
 | 
			
		||||
  predefine: boolean;
 | 
			
		||||
  /**
 | 
			
		||||
   * 预定义颜色,此参数需配合 predefine: true 使用。
 | 
			
		||||
   * 此处列举一部分:['#ff4500','#1e90ff','rgba(255, 69, 0, 0.68)','rgb(255, 120, 0)']
 | 
			
		||||
   */
 | 
			
		||||
  colors: string[]
 | 
			
		||||
  colors: string[];
 | 
			
		||||
  /**
 | 
			
		||||
   * 下拉框大小,可以选择:lg、sm、xs。
 | 
			
		||||
   */
 | 
			
		||||
  size: 'lg' | 'sm' | 'xs'
 | 
			
		||||
  size: "lg" | "sm" | "xs";
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -1,113 +1,113 @@
 | 
			
		||||
export interface RGB {
 | 
			
		||||
  h: number
 | 
			
		||||
  s: number
 | 
			
		||||
  b: number
 | 
			
		||||
  h: number;
 | 
			
		||||
  s: number;
 | 
			
		||||
  b: number;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// RGB转HSB
 | 
			
		||||
export function RGBToHSB(rgb: any) {
 | 
			
		||||
  const hsb = { h: 0, s: 0, b: 0 }
 | 
			
		||||
  const min = Math.min(rgb.r, rgb.g, rgb.b)
 | 
			
		||||
  const max = Math.max(rgb.r, rgb.g, rgb.b)
 | 
			
		||||
  const delta = max - min
 | 
			
		||||
  hsb.b = max
 | 
			
		||||
  hsb.s = max != 0 ? (255 * delta) / max : 0
 | 
			
		||||
  const hsb = { h: 0, s: 0, b: 0 };
 | 
			
		||||
  const min = Math.min(rgb.r, rgb.g, rgb.b);
 | 
			
		||||
  const max = Math.max(rgb.r, rgb.g, rgb.b);
 | 
			
		||||
  const delta = max - min;
 | 
			
		||||
  hsb.b = max;
 | 
			
		||||
  hsb.s = max != 0 ? (255 * delta) / max : 0;
 | 
			
		||||
  if (hsb.s != 0) {
 | 
			
		||||
    if (rgb.r == max) {
 | 
			
		||||
      hsb.h = (rgb.g - rgb.b) / delta
 | 
			
		||||
      hsb.h = (rgb.g - rgb.b) / delta;
 | 
			
		||||
    } else if (rgb.g == max) {
 | 
			
		||||
      hsb.h = 2 + (rgb.b - rgb.r) / delta
 | 
			
		||||
      hsb.h = 2 + (rgb.b - rgb.r) / delta;
 | 
			
		||||
    } else {
 | 
			
		||||
      hsb.h = 4 + (rgb.r - rgb.g) / delta
 | 
			
		||||
      hsb.h = 4 + (rgb.r - rgb.g) / delta;
 | 
			
		||||
    }
 | 
			
		||||
  } else {
 | 
			
		||||
    hsb.h = -1
 | 
			
		||||
    hsb.h = -1;
 | 
			
		||||
  }
 | 
			
		||||
  if (max == min) {
 | 
			
		||||
    hsb.h = 0
 | 
			
		||||
    hsb.h = 0;
 | 
			
		||||
  }
 | 
			
		||||
  hsb.h *= 60
 | 
			
		||||
  hsb.h *= 60;
 | 
			
		||||
  if (hsb.h < 0) {
 | 
			
		||||
    hsb.h += 360
 | 
			
		||||
    hsb.h += 360;
 | 
			
		||||
  }
 | 
			
		||||
  hsb.s *= 100 / 255
 | 
			
		||||
  hsb.b *= 100 / 255
 | 
			
		||||
  return hsb
 | 
			
		||||
  hsb.s *= 100 / 255;
 | 
			
		||||
  hsb.b *= 100 / 255;
 | 
			
		||||
  return hsb;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// HEX转HSB
 | 
			
		||||
export function HEXToHSB(hex: any) {
 | 
			
		||||
  hex = hex.indexOf('#') > -1 ? hex.substring(1) : hex
 | 
			
		||||
  hex = hex.indexOf("#") > -1 ? hex.substring(1) : hex;
 | 
			
		||||
  if (hex.length == 3) {
 | 
			
		||||
    const num = hex.split('')
 | 
			
		||||
    hex = num[0] + num[0] + num[1] + num[1] + num[2] + num[2]
 | 
			
		||||
    const num = hex.split("");
 | 
			
		||||
    hex = num[0] + num[0] + num[1] + num[1] + num[2] + num[2];
 | 
			
		||||
  }
 | 
			
		||||
  hex = parseInt(hex, 16)
 | 
			
		||||
  const rgb = { r: hex >> 16, g: (hex & 0x00ff00) >> 8, b: hex & 0x0000ff }
 | 
			
		||||
  return RGBToHSB(rgb)
 | 
			
		||||
  hex = parseInt(hex, 16);
 | 
			
		||||
  const rgb = { r: hex >> 16, g: (hex & 0x00ff00) >> 8, b: hex & 0x0000ff };
 | 
			
		||||
  return RGBToHSB(rgb);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// HSB转RGB
 | 
			
		||||
export function HSBToRGB(hsb: any) {
 | 
			
		||||
  const rgb: any = {}
 | 
			
		||||
  let h = hsb.h
 | 
			
		||||
  const s = (hsb.s * 255) / 100
 | 
			
		||||
  const b = (hsb.b * 255) / 100
 | 
			
		||||
  const rgb: any = {};
 | 
			
		||||
  let h = hsb.h;
 | 
			
		||||
  const s = (hsb.s * 255) / 100;
 | 
			
		||||
  const b = (hsb.b * 255) / 100;
 | 
			
		||||
  if (s == 0) {
 | 
			
		||||
    rgb.r = rgb.g = rgb.b = b
 | 
			
		||||
    rgb.r = rgb.g = rgb.b = b;
 | 
			
		||||
  } else {
 | 
			
		||||
    const t1 = b
 | 
			
		||||
    const t2 = ((255 - s) * b) / 255
 | 
			
		||||
    const t3 = ((t1 - t2) * (h % 60)) / 60
 | 
			
		||||
    if (h == 360) h = 0
 | 
			
		||||
    const t1 = b;
 | 
			
		||||
    const t2 = ((255 - s) * b) / 255;
 | 
			
		||||
    const t3 = ((t1 - t2) * (h % 60)) / 60;
 | 
			
		||||
    if (h == 360) h = 0;
 | 
			
		||||
    if (h < 60) {
 | 
			
		||||
      rgb.r = t1
 | 
			
		||||
      rgb.b = t2
 | 
			
		||||
      rgb.g = t2 + t3
 | 
			
		||||
      rgb.r = t1;
 | 
			
		||||
      rgb.b = t2;
 | 
			
		||||
      rgb.g = t2 + t3;
 | 
			
		||||
    } else if (h < 120) {
 | 
			
		||||
      rgb.g = t1
 | 
			
		||||
      rgb.b = t2
 | 
			
		||||
      rgb.r = t1 - t3
 | 
			
		||||
      rgb.g = t1;
 | 
			
		||||
      rgb.b = t2;
 | 
			
		||||
      rgb.r = t1 - t3;
 | 
			
		||||
    } else if (h < 180) {
 | 
			
		||||
      rgb.g = t1
 | 
			
		||||
      rgb.r = t2
 | 
			
		||||
      rgb.b = t2 + t3
 | 
			
		||||
      rgb.g = t1;
 | 
			
		||||
      rgb.r = t2;
 | 
			
		||||
      rgb.b = t2 + t3;
 | 
			
		||||
    } else if (h < 240) {
 | 
			
		||||
      rgb.b = t1
 | 
			
		||||
      rgb.r = t2
 | 
			
		||||
      rgb.g = t1 - t3
 | 
			
		||||
      rgb.b = t1;
 | 
			
		||||
      rgb.r = t2;
 | 
			
		||||
      rgb.g = t1 - t3;
 | 
			
		||||
    } else if (h < 300) {
 | 
			
		||||
      rgb.b = t1
 | 
			
		||||
      rgb.g = t2
 | 
			
		||||
      rgb.r = t2 + t3
 | 
			
		||||
      rgb.b = t1;
 | 
			
		||||
      rgb.g = t2;
 | 
			
		||||
      rgb.r = t2 + t3;
 | 
			
		||||
    } else if (h < 360) {
 | 
			
		||||
      rgb.r = t1
 | 
			
		||||
      rgb.g = t2
 | 
			
		||||
      rgb.b = t1 - t3
 | 
			
		||||
      rgb.r = t1;
 | 
			
		||||
      rgb.g = t2;
 | 
			
		||||
      rgb.b = t1 - t3;
 | 
			
		||||
    } else {
 | 
			
		||||
      rgb.r = 0
 | 
			
		||||
      rgb.g = 0
 | 
			
		||||
      rgb.b = 0
 | 
			
		||||
      rgb.r = 0;
 | 
			
		||||
      rgb.g = 0;
 | 
			
		||||
      rgb.b = 0;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  return { r: Math.round(rgb.r), g: Math.round(rgb.g), b: Math.round(rgb.b) }
 | 
			
		||||
  return { r: Math.round(rgb.r), g: Math.round(rgb.g), b: Math.round(rgb.b) };
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// HSB转HEX
 | 
			
		||||
export function HSBToHEX(hsb: any) {
 | 
			
		||||
  const rgb = HSBToRGB(hsb)
 | 
			
		||||
  const hex = [rgb.r.toString(16), rgb.g.toString(16), rgb.b.toString(16)]
 | 
			
		||||
  const rgb = HSBToRGB(hsb);
 | 
			
		||||
  const hex = [rgb.r.toString(16), rgb.g.toString(16), rgb.b.toString(16)];
 | 
			
		||||
  hex.forEach((val, nr) => {
 | 
			
		||||
    if (val.length == 1) {
 | 
			
		||||
      hex[nr] = '0' + val
 | 
			
		||||
      hex[nr] = "0" + val;
 | 
			
		||||
    }
 | 
			
		||||
  })
 | 
			
		||||
  return hex.join('')
 | 
			
		||||
  });
 | 
			
		||||
  return hex.join("");
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//转化成所需rgb格式
 | 
			
		||||
export function RGBSTo(rgbs: any) {
 | 
			
		||||
  const regexp = /[0-9]{1,3}/g
 | 
			
		||||
  const re = rgbs.match(regexp) || []
 | 
			
		||||
  return { r: re[0], g: re[1], b: re[2] }
 | 
			
		||||
  const regexp = /[0-9]{1,3}/g;
 | 
			
		||||
  const re = rgbs.match(regexp) || [];
 | 
			
		||||
  return { r: re[0], g: re[1], b: re[2] };
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -1,9 +1,9 @@
 | 
			
		||||
import type { App } from 'vue'
 | 
			
		||||
import Component from './index.vue'
 | 
			
		||||
import type { IDefineComponent } from '../type/index'
 | 
			
		||||
import type { App } from "vue";
 | 
			
		||||
import Component from "./index.vue";
 | 
			
		||||
import type { IDefineComponent } from "../type/index";
 | 
			
		||||
 | 
			
		||||
Component.install = (app: App) => {
 | 
			
		||||
  app.component(Component.name || 'LayColorPicker', Component)
 | 
			
		||||
}
 | 
			
		||||
  app.component(Component.name || "LayColorPicker", Component);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export default Component as IDefineComponent
 | 
			
		||||
export default Component as IDefineComponent;
 | 
			
		||||
 | 
			
		||||
@ -53,6 +53,6 @@ const colorPickerProps = withDefaults(defineProps<ColorPickerProps>(), {
 | 
			
		||||
 | 
			
		||||
<template>
 | 
			
		||||
  <div class="layui-inline'">
 | 
			
		||||
    <ColorBox></ColorBox>
 | 
			
		||||
    <ColorBox />
 | 
			
		||||
  </div>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
@ -1,9 +1,9 @@
 | 
			
		||||
import type { App } from 'vue'
 | 
			
		||||
import Component from './index.vue'
 | 
			
		||||
import type { IDefineComponent } from '../type/index'
 | 
			
		||||
import type { App } from "vue";
 | 
			
		||||
import Component from "./index.vue";
 | 
			
		||||
import type { IDefineComponent } from "../type/index";
 | 
			
		||||
 | 
			
		||||
Component.install = (app: App) => {
 | 
			
		||||
  app.component(Component.name || 'LayContainer', Component)
 | 
			
		||||
}
 | 
			
		||||
  app.component(Component.name || "LayContainer", Component);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export default Component as IDefineComponent
 | 
			
		||||
export default Component as IDefineComponent;
 | 
			
		||||
 | 
			
		||||
@ -23,6 +23,6 @@ const classes = computed(() =>
 | 
			
		||||
 | 
			
		||||
<template>
 | 
			
		||||
  <div :class="classes">
 | 
			
		||||
    <slot />
 | 
			
		||||
    <slot></slot>
 | 
			
		||||
  </div>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
@ -1,9 +1,9 @@
 | 
			
		||||
import type { App } from 'vue'
 | 
			
		||||
import Component from './index.vue'
 | 
			
		||||
import type { IDefineComponent } from '../type/index'
 | 
			
		||||
import type { App } from "vue";
 | 
			
		||||
import Component from "./index.vue";
 | 
			
		||||
import type { IDefineComponent } from "../type/index";
 | 
			
		||||
 | 
			
		||||
Component.install = (app: App) => {
 | 
			
		||||
  app.component(Component.name || 'LayCount', Component)
 | 
			
		||||
}
 | 
			
		||||
  app.component(Component.name || "LayCount", Component);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export default Component as IDefineComponent
 | 
			
		||||
export default Component as IDefineComponent;
 | 
			
		||||
 | 
			
		||||
@ -1,5 +1,5 @@
 | 
			
		||||
<template>
 | 
			
		||||
  <span class="layui-count" />
 | 
			
		||||
  <span class="layui-count"></span>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script setup name="LayCount" lang="ts"></script>
 | 
			
		||||
 | 
			
		||||
@ -1,9 +1,9 @@
 | 
			
		||||
import type { App } from 'vue'
 | 
			
		||||
import Component from './index.vue'
 | 
			
		||||
import type { IDefineComponent } from '../type/index'
 | 
			
		||||
import type { App } from "vue";
 | 
			
		||||
import Component from "./index.vue";
 | 
			
		||||
import type { IDefineComponent } from "../type/index";
 | 
			
		||||
 | 
			
		||||
Component.install = (app: App) => {
 | 
			
		||||
  app.component(Component.name || 'LayDropdown', Component)
 | 
			
		||||
}
 | 
			
		||||
  app.component(Component.name || "LayDropdown", Component);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export default Component as IDefineComponent
 | 
			
		||||
export default Component as IDefineComponent;
 | 
			
		||||
 | 
			
		||||
@ -52,11 +52,11 @@ defineExpose({ open, hide, toggle });
 | 
			
		||||
    :class="[openState ? 'layui-dropdown-up' : '']"
 | 
			
		||||
  >
 | 
			
		||||
    <div @click="toggle">
 | 
			
		||||
      <slot />
 | 
			
		||||
      <slot></slot>
 | 
			
		||||
    </div>
 | 
			
		||||
    <dl class="layui-anim layui-anim-upbit">
 | 
			
		||||
      <ul class="layui-menu layui-dropdown-menu">
 | 
			
		||||
        <slot name="content" />
 | 
			
		||||
        <slot name="content"></slot>
 | 
			
		||||
      </ul>
 | 
			
		||||
    </dl>
 | 
			
		||||
  </div>
 | 
			
		||||
@ -68,11 +68,11 @@ defineExpose({ open, hide, toggle });
 | 
			
		||||
    @mouseleave="hide"
 | 
			
		||||
  >
 | 
			
		||||
    <div>
 | 
			
		||||
      <slot />
 | 
			
		||||
      <slot></slot>
 | 
			
		||||
    </div>
 | 
			
		||||
    <dl class="layui-anim layui-anim-upbit">
 | 
			
		||||
      <ul class="layui-menu layui-dropdown-menu">
 | 
			
		||||
        <slot name="content" />
 | 
			
		||||
        <slot name="content"></slot>
 | 
			
		||||
      </ul>
 | 
			
		||||
    </dl>
 | 
			
		||||
  </div>
 | 
			
		||||
 | 
			
		||||
@ -1,9 +1,9 @@
 | 
			
		||||
import type { App } from 'vue'
 | 
			
		||||
import Component from './index.vue'
 | 
			
		||||
import type { IDefineComponent } from '../type/index'
 | 
			
		||||
import type { App } from "vue";
 | 
			
		||||
import Component from "./index.vue";
 | 
			
		||||
import type { IDefineComponent } from "../type/index";
 | 
			
		||||
 | 
			
		||||
Component.install = (app: App) => {
 | 
			
		||||
  app.component(Component.name || 'LayDropdownItem', Component)
 | 
			
		||||
}
 | 
			
		||||
  app.component(Component.name || "LayDropdownItem", Component);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export default Component as IDefineComponent
 | 
			
		||||
export default Component as IDefineComponent;
 | 
			
		||||
 | 
			
		||||
@ -1,7 +1,7 @@
 | 
			
		||||
<template>
 | 
			
		||||
  <li>
 | 
			
		||||
    <div class="layui-menu-body-title" @click="click">
 | 
			
		||||
      <slot />
 | 
			
		||||
      <slot></slot>
 | 
			
		||||
    </div>
 | 
			
		||||
  </li>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
@ -1,9 +1,9 @@
 | 
			
		||||
import type { App } from 'vue'
 | 
			
		||||
import Component from './index.vue'
 | 
			
		||||
import type { IDefineComponent } from '../type/index'
 | 
			
		||||
import type { App } from "vue";
 | 
			
		||||
import Component from "./index.vue";
 | 
			
		||||
import type { IDefineComponent } from "../type/index";
 | 
			
		||||
 | 
			
		||||
Component.install = (app: App) => {
 | 
			
		||||
  app.component(Component.name || 'LayEmpty', Component)
 | 
			
		||||
}
 | 
			
		||||
  app.component(Component.name || "LayEmpty", Component);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export default Component as IDefineComponent
 | 
			
		||||
export default Component as IDefineComponent;
 | 
			
		||||
 | 
			
		||||
@ -1,9 +1,9 @@
 | 
			
		||||
import type { App } from 'vue'
 | 
			
		||||
import Component from './index.vue'
 | 
			
		||||
import type { IDefineComponent } from '../type/index'
 | 
			
		||||
import type { App } from "vue";
 | 
			
		||||
import Component from "./index.vue";
 | 
			
		||||
import type { IDefineComponent } from "../type/index";
 | 
			
		||||
 | 
			
		||||
Component.install = (app: App) => {
 | 
			
		||||
  app.component(Component.name || 'LayField', Component)
 | 
			
		||||
}
 | 
			
		||||
  app.component(Component.name || "LayField", Component);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export default Component as IDefineComponent
 | 
			
		||||
export default Component as IDefineComponent;
 | 
			
		||||
 | 
			
		||||
@ -2,7 +2,7 @@
 | 
			
		||||
  <fieldset v-if="slot.default" class="layui-elem-field">
 | 
			
		||||
    <legend>{{ title }}</legend>
 | 
			
		||||
    <div class="layui-field-box">
 | 
			
		||||
      <slot />
 | 
			
		||||
      <slot></slot>
 | 
			
		||||
    </div>
 | 
			
		||||
  </fieldset>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -1,9 +1,9 @@
 | 
			
		||||
import type { App } from 'vue'
 | 
			
		||||
import Component from './index.vue'
 | 
			
		||||
import type { IDefineComponent } from '../type/index'
 | 
			
		||||
import type { App } from "vue";
 | 
			
		||||
import Component from "./index.vue";
 | 
			
		||||
import type { IDefineComponent } from "../type/index";
 | 
			
		||||
 | 
			
		||||
Component.install = (app: App) => {
 | 
			
		||||
  app.component(Component.name || 'LayFooter', Component)
 | 
			
		||||
}
 | 
			
		||||
  app.component(Component.name || "LayFooter", Component);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export default Component as IDefineComponent
 | 
			
		||||
export default Component as IDefineComponent;
 | 
			
		||||
 | 
			
		||||
@ -10,6 +10,6 @@ import "./index.less";
 | 
			
		||||
 | 
			
		||||
<template>
 | 
			
		||||
  <div class="layui-footer">
 | 
			
		||||
    <slot />
 | 
			
		||||
    <slot></slot>
 | 
			
		||||
  </div>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
@ -1,9 +1,9 @@
 | 
			
		||||
import type { App } from 'vue'
 | 
			
		||||
import Component from './index.vue'
 | 
			
		||||
import type { IDefineComponent } from '../type/index'
 | 
			
		||||
import type { App } from "vue";
 | 
			
		||||
import Component from "./index.vue";
 | 
			
		||||
import type { IDefineComponent } from "../type/index";
 | 
			
		||||
 | 
			
		||||
Component.install = (app: App) => {
 | 
			
		||||
  app.component(Component.name || 'LayForm', Component)
 | 
			
		||||
}
 | 
			
		||||
  app.component(Component.name || "LayForm", Component);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export default Component as IDefineComponent
 | 
			
		||||
export default Component as IDefineComponent;
 | 
			
		||||
 | 
			
		||||
@ -1,6 +1,6 @@
 | 
			
		||||
<template>
 | 
			
		||||
  <form class="layui-form" :onsubmit="submit">
 | 
			
		||||
    <slot />
 | 
			
		||||
    <slot></slot>
 | 
			
		||||
  </form>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -8,42 +8,42 @@ export default {
 | 
			
		||||
  date: {
 | 
			
		||||
    format: "%s日期%s不是一个有效格式的日期%s",
 | 
			
		||||
    parse: "%s无法解析为日期,%s是无效的",
 | 
			
		||||
        invalid: "%s日期%s是无效的"
 | 
			
		||||
    invalid: "%s日期%s是无效的",
 | 
			
		||||
  },
 | 
			
		||||
  types: {
 | 
			
		||||
        number: '%s不是一个有效的数字',
 | 
			
		||||
        boolean: '%s不是一个有效的布尔类型',
 | 
			
		||||
        method: '%s不是一个有效的方法',
 | 
			
		||||
        regexp: '%s不是一个有效的正则表达式',
 | 
			
		||||
        integer: '%s不是一个有效的整型数字',
 | 
			
		||||
        float: '%s不是一个有效的浮点小数',
 | 
			
		||||
        array: '%s不是一个有效的数组',
 | 
			
		||||
        object: '%s不是一个有效的对象',
 | 
			
		||||
        enum: '%s不是一个有效的枚举',
 | 
			
		||||
        date: '%s不是一个有效的日期',
 | 
			
		||||
        url: '%s不是一个有效的url',
 | 
			
		||||
        hex: '%s不是一个有效的十六进制',
 | 
			
		||||
        email: '%s不是一个有效的邮箱'
 | 
			
		||||
    number: "%s不是一个有效的数字",
 | 
			
		||||
    boolean: "%s不是一个有效的布尔类型",
 | 
			
		||||
    method: "%s不是一个有效的方法",
 | 
			
		||||
    regexp: "%s不是一个有效的正则表达式",
 | 
			
		||||
    integer: "%s不是一个有效的整型数字",
 | 
			
		||||
    float: "%s不是一个有效的浮点小数",
 | 
			
		||||
    array: "%s不是一个有效的数组",
 | 
			
		||||
    object: "%s不是一个有效的对象",
 | 
			
		||||
    enum: "%s不是一个有效的枚举",
 | 
			
		||||
    date: "%s不是一个有效的日期",
 | 
			
		||||
    url: "%s不是一个有效的url",
 | 
			
		||||
    hex: "%s不是一个有效的十六进制",
 | 
			
		||||
    email: "%s不是一个有效的邮箱",
 | 
			
		||||
  },
 | 
			
		||||
  string: {
 | 
			
		||||
    len: "%s必须是长度为%s个字符",
 | 
			
		||||
    min: "%s最小长度为%s个字符",
 | 
			
		||||
    max: "%s最长%s个字符",
 | 
			
		||||
        range: "%s字符长度需要在%s和%s直接"
 | 
			
		||||
    range: "%s字符长度需要在%s和%s直接",
 | 
			
		||||
  },
 | 
			
		||||
  number: {
 | 
			
		||||
    len: "%s长度必须为%s",
 | 
			
		||||
    min: "%s必须小于%s",
 | 
			
		||||
    max: "%s必须大于%s",
 | 
			
		||||
        range: "%s需要在%s和%s之间"
 | 
			
		||||
    range: "%s需要在%s和%s之间",
 | 
			
		||||
  },
 | 
			
		||||
  array: {
 | 
			
		||||
    len: "%s长度必须为%s",
 | 
			
		||||
    min: "%s长度必须小于%s",
 | 
			
		||||
    max: "%s长度必须大于%s",
 | 
			
		||||
        range: "%s长度需要在%s和%s之间"
 | 
			
		||||
    range: "%s长度需要在%s和%s之间",
 | 
			
		||||
  },
 | 
			
		||||
  pattern: {
 | 
			
		||||
        "mismatch": "%s值%s不能匹配%s"
 | 
			
		||||
    }
 | 
			
		||||
    mismatch: "%s值%s不能匹配%s",
 | 
			
		||||
  },
 | 
			
		||||
} as ValidateMessages;
 | 
			
		||||
@ -1,9 +1,9 @@
 | 
			
		||||
import type { App } from 'vue'
 | 
			
		||||
import Component from './index.vue'
 | 
			
		||||
import type { IDefineComponent } from '../type/index'
 | 
			
		||||
import type { App } from "vue";
 | 
			
		||||
import Component from "./index.vue";
 | 
			
		||||
import type { IDefineComponent } from "../type/index";
 | 
			
		||||
 | 
			
		||||
Component.install = (app: App) => {
 | 
			
		||||
  app.component(Component.name || 'LayFormItem', Component)
 | 
			
		||||
}
 | 
			
		||||
  app.component(Component.name || "LayFormItem", Component);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export default Component as IDefineComponent
 | 
			
		||||
export default Component as IDefineComponent;
 | 
			
		||||
 | 
			
		||||
@ -17,7 +17,7 @@
 | 
			
		||||
    </label>
 | 
			
		||||
    <div :class="[mode ? 'layui-input-' + mode : '']">
 | 
			
		||||
      <div ref="slotParent">
 | 
			
		||||
        <slot :props="{ ...props, model: layForm.model }" />
 | 
			
		||||
        <slot :props="{ ...props, model: layForm.model }"></slot>
 | 
			
		||||
      </div>
 | 
			
		||||
      <span
 | 
			
		||||
        v-if="errorStatus"
 | 
			
		||||
 | 
			
		||||
@ -1,9 +1,9 @@
 | 
			
		||||
import type { App } from 'vue'
 | 
			
		||||
import Component from './index.vue'
 | 
			
		||||
import type { IDefineComponent } from '../type/index'
 | 
			
		||||
import type { App } from "vue";
 | 
			
		||||
import Component from "./index.vue";
 | 
			
		||||
import type { IDefineComponent } from "../type/index";
 | 
			
		||||
 | 
			
		||||
Component.install = (app: App) => {
 | 
			
		||||
  app.component(Component.name || 'LayHeader', Component)
 | 
			
		||||
}
 | 
			
		||||
  app.component(Component.name || "LayHeader", Component);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export default Component as IDefineComponent
 | 
			
		||||
export default Component as IDefineComponent;
 | 
			
		||||
 | 
			
		||||
@ -10,6 +10,6 @@ import "./index.less";
 | 
			
		||||
 | 
			
		||||
<template>
 | 
			
		||||
  <div class="layui-header">
 | 
			
		||||
    <slot />
 | 
			
		||||
    <slot></slot>
 | 
			
		||||
  </div>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
@ -1,9 +1,9 @@
 | 
			
		||||
import type { App } from 'vue'
 | 
			
		||||
import { LayIcon as Component } from '@layui/icons-vue'
 | 
			
		||||
import type { IDefineComponent } from '../type/index'
 | 
			
		||||
import type { App } from "vue";
 | 
			
		||||
import { LayIcon as Component } from "@layui/icons-vue";
 | 
			
		||||
import type { IDefineComponent } from "../type/index";
 | 
			
		||||
 | 
			
		||||
Component.install = (app: App) => {
 | 
			
		||||
  app.component(Component.name || 'LayIcon', Component)
 | 
			
		||||
}
 | 
			
		||||
  app.component(Component.name || "LayIcon", Component);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export default Component as IDefineComponent
 | 
			
		||||
export default Component as IDefineComponent;
 | 
			
		||||
 | 
			
		||||
@ -1,9 +1,9 @@
 | 
			
		||||
import type { App } from 'vue'
 | 
			
		||||
import Component from './index.vue'
 | 
			
		||||
import type { IDefineComponent } from '../type/index'
 | 
			
		||||
import type { App } from "vue";
 | 
			
		||||
import Component from "./index.vue";
 | 
			
		||||
import type { IDefineComponent } from "../type/index";
 | 
			
		||||
 | 
			
		||||
Component.install = (app: App) => {
 | 
			
		||||
  app.component(Component.name || 'LayIconPicker', Component)
 | 
			
		||||
}
 | 
			
		||||
  app.component(Component.name || "LayIconPicker", Component);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export default Component as IDefineComponent
 | 
			
		||||
export default Component as IDefineComponent;
 | 
			
		||||
 | 
			
		||||
@ -4,18 +4,18 @@
 | 
			
		||||
      class="layui-inline layui-border-box layui-iconpicker layui-iconpicker-split"
 | 
			
		||||
    >
 | 
			
		||||
      <div class="layui-inline layui-iconpicker-main">
 | 
			
		||||
        <i class="layui-inline layui-icon" :class="[selectedIcon]" />
 | 
			
		||||
        <i class="layui-inline layui-icon" :class="[selectedIcon]"></i>
 | 
			
		||||
      </div>
 | 
			
		||||
      <span class="layui-inline layui-iconpicker-suffix"
 | 
			
		||||
        ><i class="layui-icon layui-icon-down layui-anim"
 | 
			
		||||
      /></span>
 | 
			
		||||
        ><i class="layui-icon layui-icon-down layui-anim"></i
 | 
			
		||||
      ></span>
 | 
			
		||||
    </div>
 | 
			
		||||
    <template #content>
 | 
			
		||||
      <div class="layui-iconpicker-view layui-iconpicker-scroll">
 | 
			
		||||
        <div v-if="showSearch" class="layui-iconpicker-search">
 | 
			
		||||
          <div class="layui-form layui-input-wrap layui-input-wrap-prefix">
 | 
			
		||||
            <div class="layui-input-prefix">
 | 
			
		||||
              <i class="layui-icon layui-icon-search" />
 | 
			
		||||
              <i class="layui-icon layui-icon-search"></i>
 | 
			
		||||
            </div>
 | 
			
		||||
            <input
 | 
			
		||||
              type="text"
 | 
			
		||||
@ -27,7 +27,7 @@
 | 
			
		||||
              @input="search"
 | 
			
		||||
            />
 | 
			
		||||
            <div class="layui-input-suffix layui-input-affix-event layui-hide">
 | 
			
		||||
              <i class="layui-icon layui-icon-clear" />
 | 
			
		||||
              <i class="layui-icon layui-icon-clear"></i>
 | 
			
		||||
            </div>
 | 
			
		||||
          </div>
 | 
			
		||||
        </div>
 | 
			
		||||
@ -39,7 +39,7 @@
 | 
			
		||||
              :class="[selectedIcon === icon.class ? 'layui-this' : '']"
 | 
			
		||||
              @click="selectIcon(icon.class)"
 | 
			
		||||
            >
 | 
			
		||||
              <i class="layui-icon" :class="[icon.class]" />
 | 
			
		||||
              <i class="layui-icon" :class="[icon.class]"></i>
 | 
			
		||||
              <p class="layui-elip">
 | 
			
		||||
                {{ icon.name }}
 | 
			
		||||
              </p>
 | 
			
		||||
@ -57,11 +57,10 @@
 | 
			
		||||
              class="layui-laypage-prev"
 | 
			
		||||
              :class="[currentPage === 1 ? 'layui-disabled' : '']"
 | 
			
		||||
              @click="prev()"
 | 
			
		||||
              ><i class="layui-icon layui-icon-left" /></a
 | 
			
		||||
              ><i class="layui-icon layui-icon-left"></i></a
 | 
			
		||||
            ><span class="layui-laypage-curr"
 | 
			
		||||
              ><em class="layui-laypage-em" /><em
 | 
			
		||||
                >{{ currentPage }} / {{ totalPage }}</em
 | 
			
		||||
              ></span
 | 
			
		||||
              ><em class="layui-laypage-em"></em
 | 
			
		||||
              ><em>{{ currentPage }} / {{ totalPage }}</em></span
 | 
			
		||||
            ><span class="layui-laypage-spr">…</span
 | 
			
		||||
            ><a href="javascript:;" class="layui-laypage-last" title="尾页"
 | 
			
		||||
              >14</a
 | 
			
		||||
@ -70,8 +69,8 @@
 | 
			
		||||
              :class="[currentPage === totalPage ? 'layui-disabled' : '']"
 | 
			
		||||
              class="layui-laypage-next"
 | 
			
		||||
              @click="next()"
 | 
			
		||||
              ><i class="layui-icon layui-icon-right"
 | 
			
		||||
            /></a>
 | 
			
		||||
              ><i class="layui-icon layui-icon-right"></i
 | 
			
		||||
            ></a>
 | 
			
		||||
          </div>
 | 
			
		||||
        </div>
 | 
			
		||||
      </div>
 | 
			
		||||
 | 
			
		||||
@ -1,9 +1,9 @@
 | 
			
		||||
import type { App } from 'vue'
 | 
			
		||||
import Component from './index.vue'
 | 
			
		||||
import type { IDefineComponent } from '../type/index'
 | 
			
		||||
import type { App } from "vue";
 | 
			
		||||
import Component from "./index.vue";
 | 
			
		||||
import type { IDefineComponent } from "../type/index";
 | 
			
		||||
 | 
			
		||||
Component.install = (app: App) => {
 | 
			
		||||
  app.component(Component.name || 'LayInput', Component)
 | 
			
		||||
}
 | 
			
		||||
  app.component(Component.name || "LayInput", Component);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export default Component as IDefineComponent
 | 
			
		||||
export default Component as IDefineComponent;
 | 
			
		||||
 | 
			
		||||
@ -1,9 +1,9 @@
 | 
			
		||||
import type { App } from 'vue'
 | 
			
		||||
import Component from './index.vue'
 | 
			
		||||
import type { IDefineComponent } from '../type/index'
 | 
			
		||||
import type { App } from "vue";
 | 
			
		||||
import Component from "./index.vue";
 | 
			
		||||
import type { IDefineComponent } from "../type/index";
 | 
			
		||||
 | 
			
		||||
Component.install = (app: App) => {
 | 
			
		||||
  app.component(Component.name || 'LayInputNumber', Component)
 | 
			
		||||
}
 | 
			
		||||
  app.component(Component.name || "LayInputNumber", Component);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export default Component as IDefineComponent
 | 
			
		||||
export default Component as IDefineComponent;
 | 
			
		||||
 | 
			
		||||
@ -13,7 +13,7 @@
 | 
			
		||||
        :type="
 | 
			
		||||
          position === 'right' ? 'layui-icon-down' : 'layui-icon-subtraction'
 | 
			
		||||
        "
 | 
			
		||||
      ></lay-icon>
 | 
			
		||||
      />
 | 
			
		||||
    </lay-button>
 | 
			
		||||
    <div class="layui-input-number-input">
 | 
			
		||||
      <lay-input
 | 
			
		||||
@ -22,7 +22,7 @@
 | 
			
		||||
        type="number"
 | 
			
		||||
        :name="name"
 | 
			
		||||
        @change="inputChange"
 | 
			
		||||
      ></lay-input>
 | 
			
		||||
      />
 | 
			
		||||
    </div>
 | 
			
		||||
    <lay-button
 | 
			
		||||
      type="primary"
 | 
			
		||||
@ -35,7 +35,7 @@
 | 
			
		||||
    >
 | 
			
		||||
      <lay-icon
 | 
			
		||||
        :type="position === 'right' ? 'layui-icon-up' : 'layui-icon-addition'"
 | 
			
		||||
      ></lay-icon>
 | 
			
		||||
      />
 | 
			
		||||
    </lay-button>
 | 
			
		||||
  </div>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
@ -1,9 +1,9 @@
 | 
			
		||||
import type { App } from 'vue'
 | 
			
		||||
import { LayModal } from '@layui/layer-vue';
 | 
			
		||||
import type { IDefineComponent } from '../../type/index'
 | 
			
		||||
import type { App } from "vue";
 | 
			
		||||
import { LayModal } from "@layui/layer-vue";
 | 
			
		||||
import type { IDefineComponent } from "../../type/index";
 | 
			
		||||
 | 
			
		||||
LayModal.install = (app: App) => {
 | 
			
		||||
  app.component(LayModal.name || 'LayModal', LayModal)
 | 
			
		||||
}
 | 
			
		||||
  app.component(LayModal.name || "LayModal", LayModal);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export default LayModal as IDefineComponent
 | 
			
		||||
export default LayModal as IDefineComponent;
 | 
			
		||||
 | 
			
		||||
@ -1,9 +1,9 @@
 | 
			
		||||
import type { App } from 'vue'
 | 
			
		||||
import Component from './index.vue'
 | 
			
		||||
import type { IDefineComponent } from '../type/index'
 | 
			
		||||
import type { App } from "vue";
 | 
			
		||||
import Component from "./index.vue";
 | 
			
		||||
import type { IDefineComponent } from "../type/index";
 | 
			
		||||
 | 
			
		||||
Component.install = (app: App) => {
 | 
			
		||||
  app.component(Component.name || 'LayLayout', Component)
 | 
			
		||||
}
 | 
			
		||||
  app.component(Component.name || "LayLayout", Component);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export default Component as IDefineComponent
 | 
			
		||||
export default Component as IDefineComponent;
 | 
			
		||||
 | 
			
		||||
@ -36,6 +36,6 @@ const classes = computed(() => {
 | 
			
		||||
 | 
			
		||||
<template>
 | 
			
		||||
  <section :class="classes">
 | 
			
		||||
    <slot />
 | 
			
		||||
    <slot></slot>
 | 
			
		||||
  </section>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
@ -1,9 +1,9 @@
 | 
			
		||||
import type { App } from 'vue'
 | 
			
		||||
import Component from './index.vue'
 | 
			
		||||
import type { IDefineComponent } from '../type/index'
 | 
			
		||||
import type { App } from "vue";
 | 
			
		||||
import Component from "./index.vue";
 | 
			
		||||
import type { IDefineComponent } from "../type/index";
 | 
			
		||||
 | 
			
		||||
Component.install = (app: App) => {
 | 
			
		||||
  app.component(Component.name || 'LayLine', Component)
 | 
			
		||||
}
 | 
			
		||||
  app.component(Component.name || "LayLine", Component);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export default Component as IDefineComponent
 | 
			
		||||
export default Component as IDefineComponent;
 | 
			
		||||
 | 
			
		||||
@ -1,9 +1,9 @@
 | 
			
		||||
import type { App } from 'vue'
 | 
			
		||||
import Component from './index.vue'
 | 
			
		||||
import type { IDefineComponent } from '../type/index'
 | 
			
		||||
import type { App } from "vue";
 | 
			
		||||
import Component from "./index.vue";
 | 
			
		||||
import type { IDefineComponent } from "../type/index";
 | 
			
		||||
 | 
			
		||||
Component.install = (app: App) => {
 | 
			
		||||
  app.component(Component.name || 'LayLogo', Component)
 | 
			
		||||
}
 | 
			
		||||
  app.component(Component.name || "LayLogo", Component);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export default Component as IDefineComponent
 | 
			
		||||
export default Component as IDefineComponent;
 | 
			
		||||
 | 
			
		||||
@ -1,6 +1,6 @@
 | 
			
		||||
<template>
 | 
			
		||||
  <div class="layui-logo">
 | 
			
		||||
    <slot />
 | 
			
		||||
    <slot></slot>
 | 
			
		||||
  </div>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -1,9 +1,9 @@
 | 
			
		||||
import type { App } from 'vue'
 | 
			
		||||
import Component from './index.vue'
 | 
			
		||||
import type { IDefineComponent } from '../type/index'
 | 
			
		||||
import type { App } from "vue";
 | 
			
		||||
import Component from "./index.vue";
 | 
			
		||||
import type { IDefineComponent } from "../type/index";
 | 
			
		||||
 | 
			
		||||
Component.install = (app: App) => {
 | 
			
		||||
  app.component(Component.name || 'LayMenu', Component)
 | 
			
		||||
}
 | 
			
		||||
  app.component(Component.name || "LayMenu", Component);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export default Component as IDefineComponent
 | 
			
		||||
export default Component as IDefineComponent;
 | 
			
		||||
 | 
			
		||||
@ -1,6 +1,6 @@
 | 
			
		||||
<template>
 | 
			
		||||
  <ul class="layui-nav" :class="[tree ? 'layui-nav-tree' : '']">
 | 
			
		||||
    <slot />
 | 
			
		||||
    <slot></slot>
 | 
			
		||||
  </ul>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -1,9 +1,9 @@
 | 
			
		||||
import type { App } from 'vue'
 | 
			
		||||
import Component from './index.vue'
 | 
			
		||||
import type { IDefineComponent } from '../type/index'
 | 
			
		||||
import type { App } from "vue";
 | 
			
		||||
import Component from "./index.vue";
 | 
			
		||||
import type { IDefineComponent } from "../type/index";
 | 
			
		||||
 | 
			
		||||
Component.install = (app: App) => {
 | 
			
		||||
  app.component(Component.name || 'LayMenuChildItem', Component)
 | 
			
		||||
}
 | 
			
		||||
  app.component(Component.name || "LayMenuChildItem", Component);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export default Component as IDefineComponent
 | 
			
		||||
export default Component as IDefineComponent;
 | 
			
		||||
 | 
			
		||||
@ -1,9 +1,9 @@
 | 
			
		||||
import type { App } from 'vue'
 | 
			
		||||
import Component from './index.vue'
 | 
			
		||||
import type { IDefineComponent } from '../type/index'
 | 
			
		||||
import type { App } from "vue";
 | 
			
		||||
import Component from "./index.vue";
 | 
			
		||||
import type { IDefineComponent } from "../type/index";
 | 
			
		||||
 | 
			
		||||
Component.install = (app: App) => {
 | 
			
		||||
  app.component(Component.name || 'LayMenuItem', Component)
 | 
			
		||||
}
 | 
			
		||||
  app.component(Component.name || "LayMenuItem", Component);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export default Component as IDefineComponent
 | 
			
		||||
export default Component as IDefineComponent;
 | 
			
		||||
 | 
			
		||||
@ -6,7 +6,7 @@
 | 
			
		||||
  >
 | 
			
		||||
    <a href="javascript:void(0)" @click="openHandle">
 | 
			
		||||
      {{ title }}
 | 
			
		||||
      <i class="layui-icon layui-icon-down layui-nav-more" />
 | 
			
		||||
      <i class="layui-icon layui-icon-down layui-nav-more"></i>
 | 
			
		||||
    </a>
 | 
			
		||||
    <dl
 | 
			
		||||
      class="layui-nav-child"
 | 
			
		||||
@ -15,7 +15,7 @@
 | 
			
		||||
        !isTree ? 'layui-anim layui-anim-upbit' : '',
 | 
			
		||||
      ]"
 | 
			
		||||
    >
 | 
			
		||||
      <slot />
 | 
			
		||||
      <slot></slot>
 | 
			
		||||
    </dl>
 | 
			
		||||
  </li>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -1,9 +1,9 @@
 | 
			
		||||
import type { App } from 'vue'
 | 
			
		||||
import Component from './index.vue'
 | 
			
		||||
import type { IDefineComponent } from '../type/index'
 | 
			
		||||
import type { App } from "vue";
 | 
			
		||||
import Component from "./index.vue";
 | 
			
		||||
import type { IDefineComponent } from "../type/index";
 | 
			
		||||
 | 
			
		||||
Component.install = (app: App) => {
 | 
			
		||||
  app.component(Component.name || 'LayPage', Component)
 | 
			
		||||
}
 | 
			
		||||
  app.component(Component.name || "LayPage", Component);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export default Component as IDefineComponent
 | 
			
		||||
export default Component as IDefineComponent;
 | 
			
		||||
 | 
			
		||||
@ -15,7 +15,8 @@
 | 
			
		||||
          ><em
 | 
			
		||||
            class="layui-laypage-em"
 | 
			
		||||
            :class="[theme ? 'layui-bg-' + theme : '']"
 | 
			
		||||
          /><em>{{ index }}</em></span
 | 
			
		||||
          ></em
 | 
			
		||||
          ><em>{{ index }}</em></span
 | 
			
		||||
        >
 | 
			
		||||
        <a v-else href="javascript:;" @click="jump(index)">
 | 
			
		||||
          {{ index }}
 | 
			
		||||
@ -39,7 +40,7 @@
 | 
			
		||||
        <option value="50">50 条/页</option>
 | 
			
		||||
      </select></span
 | 
			
		||||
    ><a v-if="showRefresh" href="javascript:;" class="layui-laypage-refresh"
 | 
			
		||||
      ><i class="layui-icon layui-icon-refresh" /></a
 | 
			
		||||
      ><i class="layui-icon layui-icon-refresh"></i></a
 | 
			
		||||
    ><span v-if="showSkip" class="layui-laypage-skip"
 | 
			
		||||
      >到第<input
 | 
			
		||||
        v-model="currentPageShow"
 | 
			
		||||
 | 
			
		||||
@ -1,9 +1,9 @@
 | 
			
		||||
import type { App } from 'vue'
 | 
			
		||||
import Component from './index.vue'
 | 
			
		||||
import type { IDefineComponent } from '../type/index'
 | 
			
		||||
import type { App } from "vue";
 | 
			
		||||
import Component from "./index.vue";
 | 
			
		||||
import type { IDefineComponent } from "../type/index";
 | 
			
		||||
 | 
			
		||||
Component.install = (app: App) => {
 | 
			
		||||
  app.component(Component.name || 'LayPanel', Component)
 | 
			
		||||
}
 | 
			
		||||
  app.component(Component.name || "LayPanel", Component);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export default Component as IDefineComponent
 | 
			
		||||
export default Component as IDefineComponent;
 | 
			
		||||
 | 
			
		||||
@ -10,6 +10,6 @@ import "./index.less";
 | 
			
		||||
 | 
			
		||||
<template>
 | 
			
		||||
  <div class="layui-panel">
 | 
			
		||||
    <slot />
 | 
			
		||||
    <slot></slot>
 | 
			
		||||
  </div>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
@ -1,50 +1,73 @@
 | 
			
		||||
import { Ref } from "vue";
 | 
			
		||||
// 计算各个方向位置
 | 
			
		||||
const postionFns: any = {
 | 
			
		||||
    top(el: HTMLElement, popper: HTMLElement, innnerPosition: Ref, called: boolean) {
 | 
			
		||||
        let {top, left, bottom} = el.getBoundingClientRect()
 | 
			
		||||
        if ((top = top - popper.offsetHeight - 6) < 0 && bottom > popper.offsetHeight) {
 | 
			
		||||
            innnerPosition.value = 'bottom';
 | 
			
		||||
  top(
 | 
			
		||||
    el: HTMLElement,
 | 
			
		||||
    popper: HTMLElement,
 | 
			
		||||
    innnerPosition: Ref,
 | 
			
		||||
    called: boolean
 | 
			
		||||
  ) {
 | 
			
		||||
    let { top, left, bottom } = el.getBoundingClientRect();
 | 
			
		||||
    if (
 | 
			
		||||
      (top = top - popper.offsetHeight - 6) < 0 &&
 | 
			
		||||
      bottom > popper.offsetHeight
 | 
			
		||||
    ) {
 | 
			
		||||
      innnerPosition.value = "bottom";
 | 
			
		||||
      top = bottom;
 | 
			
		||||
    }
 | 
			
		||||
    return {
 | 
			
		||||
      top: `${top}px`,
 | 
			
		||||
            left: `${left - (popper.offsetWidth - el.offsetWidth) / 2}px`
 | 
			
		||||
        }
 | 
			
		||||
      left: `${left - (popper.offsetWidth - el.offsetWidth) / 2}px`,
 | 
			
		||||
    };
 | 
			
		||||
  },
 | 
			
		||||
    bottom(el: HTMLElement, popper: HTMLElement, innnerPosition: Ref, called: boolean) {
 | 
			
		||||
        let { top, left, bottom } = el.getBoundingClientRect()
 | 
			
		||||
  bottom(
 | 
			
		||||
    el: HTMLElement,
 | 
			
		||||
    popper: HTMLElement,
 | 
			
		||||
    innnerPosition: Ref,
 | 
			
		||||
    called: boolean
 | 
			
		||||
  ) {
 | 
			
		||||
    let { top, left, bottom } = el.getBoundingClientRect();
 | 
			
		||||
    if (window.innerHeight - bottom < popper.offsetHeight + 6) {
 | 
			
		||||
            innnerPosition.value = 'top';
 | 
			
		||||
      innnerPosition.value = "top";
 | 
			
		||||
      bottom = top - popper.offsetHeight - 6;
 | 
			
		||||
    }
 | 
			
		||||
    return {
 | 
			
		||||
      top: `${bottom}px`,
 | 
			
		||||
            left: `${left - (popper.offsetWidth - el.offsetWidth) / 2}px`
 | 
			
		||||
        }
 | 
			
		||||
      left: `${left - (popper.offsetWidth - el.offsetWidth) / 2}px`,
 | 
			
		||||
    };
 | 
			
		||||
  },
 | 
			
		||||
    left(el: HTMLElement, popper: HTMLElement, innnerPosition: Ref, called : boolean) {
 | 
			
		||||
        let {top, left, right} = el.getBoundingClientRect()
 | 
			
		||||
  left(
 | 
			
		||||
    el: HTMLElement,
 | 
			
		||||
    popper: HTMLElement,
 | 
			
		||||
    innnerPosition: Ref,
 | 
			
		||||
    called: boolean
 | 
			
		||||
  ) {
 | 
			
		||||
    let { top, left, right } = el.getBoundingClientRect();
 | 
			
		||||
    left = left - popper.offsetWidth - 6;
 | 
			
		||||
    if (left < 0) {
 | 
			
		||||
            innnerPosition.value = 'right';
 | 
			
		||||
      innnerPosition.value = "right";
 | 
			
		||||
      left = right;
 | 
			
		||||
    }
 | 
			
		||||
    return {
 | 
			
		||||
      top: `${top - (popper.offsetHeight - el.offsetHeight) / 2}px`,
 | 
			
		||||
            left: `${left}px`
 | 
			
		||||
        }
 | 
			
		||||
      left: `${left}px`,
 | 
			
		||||
    };
 | 
			
		||||
  },
 | 
			
		||||
    right(el: HTMLElement, popper: HTMLElement, innnerPosition: Ref, called: boolean) {
 | 
			
		||||
        let { top, left, right } = el.getBoundingClientRect()
 | 
			
		||||
  right(
 | 
			
		||||
    el: HTMLElement,
 | 
			
		||||
    popper: HTMLElement,
 | 
			
		||||
    innnerPosition: Ref,
 | 
			
		||||
    called: boolean
 | 
			
		||||
  ) {
 | 
			
		||||
    let { top, left, right } = el.getBoundingClientRect();
 | 
			
		||||
    if (window.innerWidth < right + popper.offsetWidth + 6) {
 | 
			
		||||
            innnerPosition.value = 'left';
 | 
			
		||||
      innnerPosition.value = "left";
 | 
			
		||||
      right = left - popper.offsetWidth - 6;
 | 
			
		||||
    }
 | 
			
		||||
    return {
 | 
			
		||||
      top: `${top - (popper.offsetHeight - el.offsetHeight) / 2}px`,
 | 
			
		||||
            left: `${right}px`
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
      left: `${right}px`,
 | 
			
		||||
    };
 | 
			
		||||
  },
 | 
			
		||||
};
 | 
			
		||||
export default postionFns;
 | 
			
		||||
@ -2,9 +2,9 @@ import { h, ref, render, watchEffect, watch} from "vue";
 | 
			
		||||
import popper from "./index.vue";
 | 
			
		||||
import { once } from "../../tools/domUtil";
 | 
			
		||||
const EVENT_MAP: any = {
 | 
			
		||||
    'hover': 'mouseenter',
 | 
			
		||||
    'click': 'click'
 | 
			
		||||
}
 | 
			
		||||
  hover: "mouseenter",
 | 
			
		||||
  click: "click",
 | 
			
		||||
};
 | 
			
		||||
const usePopper = {
 | 
			
		||||
  createPopper(el: HTMLElement, props: any, trigger: string) {
 | 
			
		||||
    const _this = this;
 | 
			
		||||
@ -16,28 +16,32 @@ const usePopper = {
 | 
			
		||||
      }
 | 
			
		||||
      _props.updateVisible = function (val: boolean) {
 | 
			
		||||
        _props.visible && (_props.visible.value = val);
 | 
			
		||||
            }
 | 
			
		||||
      };
 | 
			
		||||
      _this.renderPopper(_props);
 | 
			
		||||
      watchEffect(() => {
 | 
			
		||||
        for (const key in _props) {
 | 
			
		||||
                    if (key === 'visible') {
 | 
			
		||||
          if (key === "visible") {
 | 
			
		||||
            continue;
 | 
			
		||||
          }
 | 
			
		||||
          _props[key].value = props[key];
 | 
			
		||||
        }
 | 
			
		||||
      });
 | 
			
		||||
            watch(() => props.visible, (val: boolean)=> {
 | 
			
		||||
      watch(
 | 
			
		||||
        () => props.visible,
 | 
			
		||||
        (val: boolean) => {
 | 
			
		||||
          _props.updateVisible(val);
 | 
			
		||||
            })
 | 
			
		||||
        })
 | 
			
		||||
        }
 | 
			
		||||
      );
 | 
			
		||||
    });
 | 
			
		||||
  },
 | 
			
		||||
  renderPopper(props: any) {
 | 
			
		||||
    const container: HTMLDivElement = document.createElement("div");
 | 
			
		||||
    // container.setAttribute("class", "lay-div");
 | 
			
		||||
    const node = h(popper, props);
 | 
			
		||||
    render(node, container);
 | 
			
		||||
        container.firstElementChild && document.body.appendChild(container.firstElementChild);
 | 
			
		||||
    container.firstElementChild &&
 | 
			
		||||
      document.body.appendChild(container.firstElementChild);
 | 
			
		||||
    return node;
 | 
			
		||||
    }
 | 
			
		||||
} 
 | 
			
		||||
  },
 | 
			
		||||
};
 | 
			
		||||
export default usePopper;
 | 
			
		||||
@ -1,9 +1,9 @@
 | 
			
		||||
import type { App } from 'vue'
 | 
			
		||||
import Component from './index.vue'
 | 
			
		||||
import type { IDefineComponent } from '../type/index'
 | 
			
		||||
import type { App } from "vue";
 | 
			
		||||
import Component from "./index.vue";
 | 
			
		||||
import type { IDefineComponent } from "../type/index";
 | 
			
		||||
 | 
			
		||||
Component.install = (app: App) => {
 | 
			
		||||
  app.component(Component.name || 'LayProgress', Component)
 | 
			
		||||
}
 | 
			
		||||
  app.component(Component.name || "LayProgress", Component);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export default Component as IDefineComponent
 | 
			
		||||
export default Component as IDefineComponent;
 | 
			
		||||
 | 
			
		||||
@ -1,9 +1,9 @@
 | 
			
		||||
import type { App } from 'vue'
 | 
			
		||||
import Component from './index.vue'
 | 
			
		||||
import type { IDefineComponent } from '../type/index'
 | 
			
		||||
import type { App } from "vue";
 | 
			
		||||
import Component from "./index.vue";
 | 
			
		||||
import type { IDefineComponent } from "../type/index";
 | 
			
		||||
 | 
			
		||||
Component.install = (app: App) => {
 | 
			
		||||
  app.component(Component.name || 'LayRadio ', Component)
 | 
			
		||||
}
 | 
			
		||||
  app.component(Component.name || "LayRadio ", Component);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export default Component as IDefineComponent
 | 
			
		||||
export default Component as IDefineComponent;
 | 
			
		||||
 | 
			
		||||
@ -19,7 +19,7 @@
 | 
			
		||||
        class="layui-anim layui-icon layui-anim-scaleSpring layui-form-radioed"
 | 
			
		||||
        ></i
 | 
			
		||||
      >
 | 
			
		||||
      <span><slot /></span>
 | 
			
		||||
      <span><slot></slot></span>
 | 
			
		||||
    </div>
 | 
			
		||||
  </span>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
@ -1,9 +1,9 @@
 | 
			
		||||
import type { App } from 'vue'
 | 
			
		||||
import Component from './index.vue'
 | 
			
		||||
import type { IDefineComponent } from '../type/index'
 | 
			
		||||
import type { App } from "vue";
 | 
			
		||||
import Component from "./index.vue";
 | 
			
		||||
import type { IDefineComponent } from "../type/index";
 | 
			
		||||
 | 
			
		||||
Component.install = (app: App) => {
 | 
			
		||||
  app.component(Component.name || 'LayRate', Component)
 | 
			
		||||
}
 | 
			
		||||
  app.component(Component.name || "LayRate", Component);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export default Component as IDefineComponent
 | 
			
		||||
export default Component as IDefineComponent;
 | 
			
		||||
 | 
			
		||||
@ -101,12 +101,12 @@ const action = function (index: number, event: any) {
 | 
			
		||||
            }`,
 | 
			
		||||
          ]"
 | 
			
		||||
          :style="{ color: theme }"
 | 
			
		||||
        />
 | 
			
		||||
        ></i>
 | 
			
		||||
        <i
 | 
			
		||||
          v-else
 | 
			
		||||
          :class="['layui-icon'].concat(icons[0])"
 | 
			
		||||
          :style="{ color: theme }"
 | 
			
		||||
        />
 | 
			
		||||
        ></i>
 | 
			
		||||
      </li>
 | 
			
		||||
    </ul>
 | 
			
		||||
    <template v-if="text">
 | 
			
		||||
 | 
			
		||||
@ -1,9 +1,9 @@
 | 
			
		||||
import type { App } from 'vue'
 | 
			
		||||
import Component from './index.vue'
 | 
			
		||||
import type { IDefineComponent } from '../type/index'
 | 
			
		||||
import type { App } from "vue";
 | 
			
		||||
import Component from "./index.vue";
 | 
			
		||||
import type { IDefineComponent } from "../type/index";
 | 
			
		||||
 | 
			
		||||
Component.install = (app: App) => {
 | 
			
		||||
  app.component(Component.name || 'LayRow', Component)
 | 
			
		||||
}
 | 
			
		||||
  app.component(Component.name || "LayRow", Component);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export default Component as IDefineComponent
 | 
			
		||||
export default Component as IDefineComponent;
 | 
			
		||||
 | 
			
		||||
@ -21,6 +21,6 @@ const classes = computed(() => {
 | 
			
		||||
 | 
			
		||||
<template>
 | 
			
		||||
  <div class="layui-row" :class="classes">
 | 
			
		||||
    <slot />
 | 
			
		||||
    <slot></slot>
 | 
			
		||||
  </div>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
@ -1,9 +1,9 @@
 | 
			
		||||
import type { App } from 'vue'
 | 
			
		||||
import Component from './index.vue'
 | 
			
		||||
import type { IDefineComponent } from '../type/index'
 | 
			
		||||
import type { App } from "vue";
 | 
			
		||||
import Component from "./index.vue";
 | 
			
		||||
import type { IDefineComponent } from "../type/index";
 | 
			
		||||
 | 
			
		||||
Component.install = (app: App) => {
 | 
			
		||||
  app.component(Component.name || 'LayScroll', Component)
 | 
			
		||||
}
 | 
			
		||||
  app.component(Component.name || "LayScroll", Component);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export default Component as IDefineComponent
 | 
			
		||||
export default Component as IDefineComponent;
 | 
			
		||||
 | 
			
		||||
@ -1,9 +1,9 @@
 | 
			
		||||
import type { App } from 'vue'
 | 
			
		||||
import Component from './index.vue'
 | 
			
		||||
import type { IDefineComponent } from '../type/index'
 | 
			
		||||
import type { App } from "vue";
 | 
			
		||||
import Component from "./index.vue";
 | 
			
		||||
import type { IDefineComponent } from "../type/index";
 | 
			
		||||
 | 
			
		||||
Component.install = (app: App) => {
 | 
			
		||||
  app.component(Component.name || 'LaySelect', Component)
 | 
			
		||||
}
 | 
			
		||||
  app.component(Component.name || "LaySelect", Component);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export default Component as IDefineComponent
 | 
			
		||||
export default Component as IDefineComponent;
 | 
			
		||||
 | 
			
		||||
@ -28,7 +28,7 @@
 | 
			
		||||
          { 'layui-disabled': disabled },
 | 
			
		||||
        ]"
 | 
			
		||||
      />
 | 
			
		||||
      <i :class="['layui-edge', { 'layui-disabled': disabled }]" />
 | 
			
		||||
      <i :class="['layui-edge', { 'layui-disabled': disabled }]"></i>
 | 
			
		||||
      <!-- 多选 -->
 | 
			
		||||
      <div
 | 
			
		||||
        v-if="selectItem.multiple && Array.isArray(selectItem.label)"
 | 
			
		||||
@ -66,12 +66,9 @@
 | 
			
		||||
    <dl class="layui-anim layui-anim-upbit">
 | 
			
		||||
      <!-- 多选不支持空提示 -->
 | 
			
		||||
      <template v-if="!multiple && showEmpty">
 | 
			
		||||
        <lay-select-option
 | 
			
		||||
          :value="null"
 | 
			
		||||
          :label="emptyMessage ?? placeholder"
 | 
			
		||||
        ></lay-select-option>
 | 
			
		||||
        <lay-select-option :value="null" :label="emptyMessage ?? placeholder" />
 | 
			
		||||
      </template>
 | 
			
		||||
      <slot />
 | 
			
		||||
      <slot></slot>
 | 
			
		||||
    </dl>
 | 
			
		||||
  </div>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
@ -1,9 +1,9 @@
 | 
			
		||||
import type { App } from 'vue'
 | 
			
		||||
import Component from './index.vue'
 | 
			
		||||
import type { IDefineComponent } from '../type/index'
 | 
			
		||||
import type { App } from "vue";
 | 
			
		||||
import Component from "./index.vue";
 | 
			
		||||
import type { IDefineComponent } from "../type/index";
 | 
			
		||||
 | 
			
		||||
Component.install = (app: App) => {
 | 
			
		||||
  app.component(Component.name || 'LaySelectOption', Component)
 | 
			
		||||
}
 | 
			
		||||
  app.component(Component.name || "LaySelectOption", Component);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export default Component as IDefineComponent
 | 
			
		||||
export default Component as IDefineComponent;
 | 
			
		||||
 | 
			
		||||
@ -10,7 +10,7 @@
 | 
			
		||||
        v-model="selected"
 | 
			
		||||
        @change="selectHandle"
 | 
			
		||||
        label=""
 | 
			
		||||
      ></lay-checkbox>
 | 
			
		||||
      />
 | 
			
		||||
    </template>
 | 
			
		||||
    <slot>{{ label }}</slot>
 | 
			
		||||
  </dd>
 | 
			
		||||
 | 
			
		||||
@ -1,9 +1,9 @@
 | 
			
		||||
import type { App } from 'vue'
 | 
			
		||||
import Component from './index.vue'
 | 
			
		||||
import type { IDefineComponent } from '../type/index'
 | 
			
		||||
import type { App } from "vue";
 | 
			
		||||
import Component from "./index.vue";
 | 
			
		||||
import type { IDefineComponent } from "../type/index";
 | 
			
		||||
 | 
			
		||||
Component.install = (app: App) => {
 | 
			
		||||
  app.component(Component.name || 'LaySide', Component)
 | 
			
		||||
}
 | 
			
		||||
  app.component(Component.name || "LaySide", Component);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export default Component as IDefineComponent
 | 
			
		||||
export default Component as IDefineComponent;
 | 
			
		||||
 | 
			
		||||
@ -25,6 +25,6 @@ const styles = computed<CSSProperties>(() => {
 | 
			
		||||
 | 
			
		||||
<template>
 | 
			
		||||
  <div class="layui-side" :style="styles">
 | 
			
		||||
    <slot />
 | 
			
		||||
    <slot></slot>
 | 
			
		||||
  </div>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
@ -1,9 +1,9 @@
 | 
			
		||||
import type { App } from 'vue'
 | 
			
		||||
import Component from './index.vue'
 | 
			
		||||
import type { IDefineComponent } from '../type/index'
 | 
			
		||||
import type { App } from "vue";
 | 
			
		||||
import Component from "./index.vue";
 | 
			
		||||
import type { IDefineComponent } from "../type/index";
 | 
			
		||||
 | 
			
		||||
Component.install = (app: App) => {
 | 
			
		||||
  app.component(Component.name || 'LaySlider', Component)
 | 
			
		||||
}
 | 
			
		||||
  app.component(Component.name || "LaySlider", Component);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export default Component as IDefineComponent
 | 
			
		||||
export default Component as IDefineComponent;
 | 
			
		||||
 | 
			
		||||
@ -1,9 +1,9 @@
 | 
			
		||||
import type { App } from 'vue'
 | 
			
		||||
import Component from './index.vue'
 | 
			
		||||
import type { IDefineComponent } from '../type/index'
 | 
			
		||||
import type { App } from "vue";
 | 
			
		||||
import Component from "./index.vue";
 | 
			
		||||
import type { IDefineComponent } from "../type/index";
 | 
			
		||||
 | 
			
		||||
Component.install = (app: App) => {
 | 
			
		||||
  app.component(Component.name || 'LaySwitch', Component)
 | 
			
		||||
}
 | 
			
		||||
  app.component(Component.name || "LaySwitch", Component);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export default Component as IDefineComponent
 | 
			
		||||
export default Component as IDefineComponent;
 | 
			
		||||
 | 
			
		||||
@ -51,7 +51,7 @@ const handleClick = function () {
 | 
			
		||||
      }"
 | 
			
		||||
    >
 | 
			
		||||
      <em>{{ isActive == true ? activeText : inactiveText }}</em>
 | 
			
		||||
      <i />
 | 
			
		||||
      <i></i>
 | 
			
		||||
    </div>
 | 
			
		||||
  </span>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
@ -1,9 +1,9 @@
 | 
			
		||||
import type { App } from 'vue'
 | 
			
		||||
import Component from './index.vue'
 | 
			
		||||
import type { IDefineComponent } from '../type/index'
 | 
			
		||||
import type { App } from "vue";
 | 
			
		||||
import Component from "./index.vue";
 | 
			
		||||
import type { IDefineComponent } from "../type/index";
 | 
			
		||||
 | 
			
		||||
Component.install = (app: App) => {
 | 
			
		||||
  app.component(Component.name || 'LayTab', Component)
 | 
			
		||||
}
 | 
			
		||||
  app.component(Component.name || "LayTab", Component);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export default Component as IDefineComponent
 | 
			
		||||
export default Component as IDefineComponent;
 | 
			
		||||
 | 
			
		||||
Some files were not shown because too many files have changed in this diff Show More
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user