├── .editorconfig
├── .eslintrc.js
├── .gitignore
├── .npmignore
├── .storybook
├── main.js
└── preview.js
├── LICENSE
├── README-CN.md
├── README.md
├── dist
├── style.css
├── vue-loading-skeleton.cjs.js
├── vue-loading-skeleton.es.js
└── vue-loading-skeleton.umd.js
├── docs
├── 0.0a0da810.iframe.bundle.js
├── 0.0a0da810.iframe.bundle.js.LICENSE.txt
├── 0.0a0da810.iframe.bundle.js.map
├── 0.799c368cbe88266827ba.manager.bundle.js
├── 1.77eff89f.iframe.bundle.js
├── 1.77eff89f.iframe.bundle.js.LICENSE.txt
├── 1.77eff89f.iframe.bundle.js.map
├── 1.9ebd2fb519f6726108de.manager.bundle.js
├── 10.6dedbf62.iframe.bundle.js
├── 10.a85ea1a67689be8e19ff.manager.bundle.js
├── 11.f4e922583ae35da460f3.manager.bundle.js
├── 11.f4e922583ae35da460f3.manager.bundle.js.LICENSE.txt
├── 12.1415460941f0bdcb8fa8.manager.bundle.js
├── 2.8ee2e21f.iframe.bundle.js
├── 2.8ee2e21f.iframe.bundle.js.LICENSE.txt
├── 2.8ee2e21f.iframe.bundle.js.map
├── 3.d584082f.iframe.bundle.js
├── 4.f9fdbe4b.iframe.bundle.js
├── 5.f459d151315e6780c20f.manager.bundle.js
├── 5.f459d151315e6780c20f.manager.bundle.js.LICENSE.txt
├── 6.3bd64d820f3745f262ff.manager.bundle.js
├── 7.3d04765dbf3f1dcd706c.manager.bundle.js
├── 8.b541eadfcb9164835dfc.manager.bundle.js
├── 8.dc161eb8.iframe.bundle.js
├── 9.411ac8e451bbb10926c7.manager.bundle.js
├── 9.7709c9e9.iframe.bundle.js
├── 9.7709c9e9.iframe.bundle.js.LICENSE.txt
├── 9.7709c9e9.iframe.bundle.js.map
├── favicon.ico
├── iframe.html
├── index.html
├── main.e2663b1cf842947d1a59.manager.bundle.js
├── main.ec767765.iframe.bundle.js
├── runtime~main.91a0c7330ab317d35c4a.manager.bundle.js
├── runtime~main.cddebdd1.iframe.bundle.js
├── vendors~main.ebe7153f.iframe.bundle.js
├── vendors~main.ebe7153f.iframe.bundle.js.LICENSE.txt
├── vendors~main.ebe7153f.iframe.bundle.js.map
├── vendors~main.f7f16cebbf3aa96a4f89.manager.bundle.js
└── vendors~main.f7f16cebbf3aa96a4f89.manager.bundle.js.LICENSE.txt
├── jest.config.js
├── package.json
├── postcss.config.js
├── rollup.config.js
├── src
├── composition
│ └── theme.ts
├── env.d.ts
├── index.ts
├── skeleton-theme.vue
├── skeleton.vue
├── stories
│ ├── assets
│ │ ├── code-brackets.svg
│ │ ├── colors.svg
│ │ ├── comments.svg
│ │ ├── direction.svg
│ │ ├── flow.svg
│ │ ├── plugin.svg
│ │ ├── repo.svg
│ │ └── stackalt.svg
│ ├── index.stories.js
│ ├── item-with-if.vue
│ ├── item.vue
│ └── theme.stories.js
└── style.css
├── tests
└── unit
│ ├── .eslintrc.js
│ ├── __snapshots__
│ └── storybook.spec.js.snap
│ ├── register-context.js
│ └── storybook.spec.js
├── tsconfig.json
├── tsconfig.node.json
├── types
├── composition
│ └── theme.d.ts
├── index.d.ts
├── skeleton-theme.vue.d.ts
└── skeleton.vue.d.ts
├── vite.config.ts
└── yarn.lock
/.editorconfig:
--------------------------------------------------------------------------------
1 | [*.{js,jsx,ts,tsx,vue,md}]
2 | indent_style = space
3 | indent_size = 2
4 | end_of_line = lf
5 | trim_trailing_whitespace = true
6 | insert_final_newline = true
7 | max_line_length = 100
8 |
--------------------------------------------------------------------------------
/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | root: true,
3 | env: {
4 | node: true
5 | },
6 | "parserOptions": {
7 | "ecmaVersion": 8,
8 | "sourceType": "module"
9 | },
10 | extends: [
11 | "@vue/typescript/recommended",
12 | 'plugin:vue/vue3-recommended',
13 | "prettier"
14 | ],
15 | rules: {
16 | 'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off',
17 | 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off',
18 | '@typescript-eslint/no-explicit-any': 'off',
19 | 'comma-dangle': ['error', 'never']
20 | }
21 | };
22 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | node_modules
3 |
4 | # local env files
5 | .env.local
6 | .env.*.local
7 |
8 | # Log files
9 | npm-debug.log*
10 | yarn-debug.log*
11 | yarn-error.log*
12 |
13 | # Editor directories and files
14 | .idea
15 | .vscode
16 | *.suo
17 | *.ntvs*
18 | *.njsproj
19 | *.sln
20 | *.sw?
21 |
--------------------------------------------------------------------------------
/.npmignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 |
3 | #npm
4 | yarn.lock
5 | package-lock.json
6 | node_modules
7 |
8 | #doc
9 | docs
10 |
11 | #dev
12 | tests
13 |
14 | #storybook
15 | .storybook
16 | src/stories
17 |
18 | #other
19 | *.config.js
20 | .browserslistrc
21 | .editorconfig
22 | .eslintrc
--------------------------------------------------------------------------------
/.storybook/main.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | "stories": [
3 | "../src/**/*.stories.mdx",
4 | "../src/**/*.stories.@(js|jsx|ts|tsx)"
5 | ],
6 | "addons": [
7 | "@storybook/addon-links",
8 | "@storybook/addon-essentials",
9 | ],
10 | "framework": "@storybook/vue3"
11 | }
12 |
--------------------------------------------------------------------------------
/.storybook/preview.js:
--------------------------------------------------------------------------------
1 | export const parameters = {
2 | actions: { argTypesRegex: "^on[A-Z].*" },
3 | controls: {
4 | matchers: {
5 | color: /(background|color)$/i,
6 | date: /Date$/,
7 | },
8 | },
9 | }
10 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT LICENSE
2 |
3 | Copyright (c) 2019-present Kitwang Chen, https://blog.kiit.wang/blog
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining
6 | a copy of this software and associated documentation files (the
7 | "Software"), to deal in the Software without restriction, including
8 | without limitation the rights to use, copy, modify, merge, publish,
9 | distribute, sublicense, and/or sell copies of the Software, and to
10 | permit persons to whom the Software is furnished to do so, subject to
11 | the following conditions:
12 |
13 | The above copyright notice and this permission notice shall be
14 | included in all copies or substantial portions of the Software.
15 |
16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
--------------------------------------------------------------------------------
/README-CN.md:
--------------------------------------------------------------------------------
1 | # 💅🏻 Vue-loading-skeleton
2 |
3 | 能自动适应外层样式的vue骨架屏组件。
4 |
5 | [💡Demos of storybook](https://kitwon.github.io/vue-loading-skeleton/)
6 |
7 | ## 安装使用
8 | `npm install vue-loading-skeleton -S`
9 | or
10 | `yarn add vue-loading-skeleton`
11 |
12 | ```jsx
13 | import { Skeleton } from 'vue-loading-skeleton';
14 | import "vue-loading-skeleton/dist/style.css"
15 |
16 | // In jsx template
17 |
18 |
19 | ```
20 |
21 | 或者在全局中注册组件
22 |
23 | ```jsx
24 | import Vue from 'vue';
25 | import Skeleton from 'vue-loading-skeleton';
26 | import "vue-loading-skeleton/dist/style.css"
27 |
28 | Vue.use(Skeleton);
29 |
30 | // In jsx template
31 |
32 |
33 | ```
34 |
35 | ## 🌈 Introduction
36 |
37 | ### 自动适应你定义的样式
38 | ` `设计目的是能直接在你的vue组件中嵌套使用,组件能在加载时候自动用骨架填充空白的内容,所以你不用特别地设计字体大小、边距或其他样式与页面一样专用的骨架屏,因为组件会自动用合适的尺寸填充元素。
39 |
40 | 举个🌰:
41 | ```html
42 |
43 |
44 |
45 | {{ props.data.img }}
46 |
47 |
48 |
56 |
57 | ```
58 |
59 | ### ⚠️ 需要注意的地方
60 | 由于组件是使用子节点的`tag`和`text`判断内容是否为空,从而判断组件的加载状态。所以当组件表现异常时候,你可以用`v-if`或者用`loading props`去替代组件嵌套。并希望能把问题及时反馈给我。
61 |
62 | ## 📔Usage
63 |
64 | ### 一般使用
65 | ```html
66 |
67 |
68 | {{ content }}
69 |
70 |
71 | ```
72 |
73 | ### 结合v-if使用
74 | ```html
75 |
76 | {{ content }}
77 |
78 |
79 | ```
80 |
81 | ### 列表骨架
82 | 很多时候,骨架都会以列表的形式出现,所以你可以在循环的时候使用数字作为列表数据的默认值。
83 | ️⚠️但是要注意,因为使用数字去循环生成列表,所以要确保列表里的组件在绑定值的时候都有空值判断,避免出现`ReferenceError`。
84 |
85 | ```html
86 |
87 |
88 | {{ item.content }}
89 |
90 |
91 | ```
92 |
93 | ```javascript
94 | export default {
95 | data() {
96 | return {
97 | data: 10
98 | }
99 | },
100 | async created() {
101 | // some data fetch action
102 | const { data } = await fetchData();
103 | this.data = data;
104 | }
105 | }
106 | ```
107 |
108 | ### 改变全局样式
109 | 使用 ` ` 组件设置所有子组件的样式:
110 |
111 | ```jsx
112 | import { Skeleton, Skeleton } form 'vue-loading-skeleton';
113 |
114 |
115 |
116 |
117 |
118 | {{ props.data.img }}
119 |
120 |
121 |
129 |
130 |
131 | ```
132 |
133 | ### Skeleton props
134 | | props | description | type | default |
135 | | -------- | --------------------------------------------- | ------- | --------- |
136 | | count | 单个组件里面显示的数量 | number | 1 |
137 | | duration | 动画过渡时间,0的时候为关闭动画 | number | 1.5 |
138 | | width | 组件长度 | string | |
139 | | height | 组件高度 | string | |
140 | | circle | 设置为圆形 | boolean | false |
141 | | loading | 组件加载状态,使用这个props时候不会检测子节点 | boolean | undefined |
142 |
143 | ### SkeletonTheme props
144 | | props | description | type | default |
145 | | --------- | ------------------------------ | ------- | --------- |
146 | | color | 骨架的颜色 | string | #eeeeee |
147 | | highlight | 动画高亮颜色 | string | #f5f5f5 |
148 | | duration | 设置所有骨架组件的动画过渡时间 | number | 1.5 |
149 | | loading | 控制所有骨架组件加载状态 | boolean | undefined |
150 | | tag | 容器标签 | string | div |
151 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # 💅🏻 Vue-loading-skeleton
2 |
3 | Make beautiful loading skeleton that automatically adapt your vue app.
4 |
5 | [💡Demos of storybook](https://kitwon.github.io/vue-loading-skeleton/)
6 |
7 | [📕中文文档](https://github.com/kitwon/vue-loading-skeleton/blob/master/README-CN.md)
8 |
9 | ## Install
10 | yarn
11 | `yarn add vue-loading-skeleton@next`
12 | or npm
13 | `npm install vue-loading-skeleton@next`
14 |
15 | ## Base usage
16 | Install by `npm`/`yarn` with vue-loading-skeleton
17 |
18 | ```jsx
19 | import { Skeleton } from 'vue-loading-skeleton';
20 | import "vue-loading-skeleton/dist/style.css"
21 |
22 | // In jsx template
23 |
24 |
25 | ```
26 |
27 | Or register for global component
28 |
29 | ```jsx
30 | import Vue from 'vue';
31 | import Skeleton from 'vue-loading-skeleton';
32 | import "vue-loading-skeleton/dist/style.css"
33 |
34 | Vue.use(Skeleton)
35 |
36 | // In jsx template
37 |
38 |
39 | ```
40 |
41 | ## 🌈 Introduction
42 |
43 | ### Adapts to the styles you have defined
44 | The ` ` component is design to used directly in your vue component. It can replace the main content while page still in loading. So you don't need to prepare a skeleton screen meticulously to match the `font-size`, `margin` or another style your content takes on, wrap the content with the ` ` component, it will automatically fill the correct dimensions.
45 |
46 | For example:
47 | ```html
48 |
49 |
50 |
51 | {{ props.data.img }}
52 |
53 |
54 |
62 |
63 | ```
64 |
65 | ### ⚠️ Notice
66 | The skeleton component will check the `tag` and `text` in the first child node. If you find the component work is not in expect, you should use `v-if` or `loading props`, and report the issues to me.
67 |
68 | ## 📔Usage
69 |
70 | ### Base usage
71 | ```html
72 |
73 |
74 | {{ content }}
75 |
76 |
77 | ```
78 |
79 | ### Use v-if
80 | ```html
81 |
82 | {{ content }}
83 |
84 |
85 | ```
86 |
87 | ### List Skeleton
88 | In many cases, you need a skeleton list to fulfill a listing page. You can set the list data default to the number. Such as:
89 |
90 | ```html
91 |
92 |
93 | {{ item.content }}
94 |
95 |
96 | ```
97 |
98 | ```javascript
99 | export default {
100 | data() {
101 | return {
102 | data: 10
103 | }
104 | },
105 | async created() {
106 | // some data fetch action
107 | const { data } = await fetchData();
108 | this.data = data;
109 | }
110 | }
111 | ```
112 |
113 | ### Theming
114 | Using the ` ` component, you can change the color, duration of all skeleton components below it:
115 |
116 | ```jsx
117 | import { Skeleton, Skeleton } form 'vue-loading-skeleton';
118 |
119 |
120 |
121 |
122 |
123 | {{ props.data.img }}
124 |
125 |
126 |
134 |
135 |
136 | ```
137 |
138 | ### Skeleton props
139 | | props | description | type | default |
140 | | -------- | ------------------------------------ | ------- | --------- |
141 | | count | rows count of component | number | 1 |
142 | | duration | animation duration time, 0 as close | number | 1.5 |
143 | | width | component width | string | |
144 | | height | component height | string | |
145 | | circle | make the skeleton look like a circle | boolean | false |
146 | | loading | skeleton loading status | boolean | undefined |
147 |
148 | ### SkeletonTheme props
149 | | props | description | type | default |
150 | | --------- | --------------------------------------- | ------- | --------- |
151 | | color | skeleton background color | string | #eeeeee |
152 | | highlight | animation highlight color | string | #f5f5f5 |
153 | | duration | set duration of all skeleton | number | 1.5 |
154 | | loading | control loading status of all skeletons | boolean | undefined |
155 | | tag | theme container tag name | string | div |
156 |
--------------------------------------------------------------------------------
/dist/style.css:
--------------------------------------------------------------------------------
1 | .pu-skeleton{background-size:200px 100%;background-repeat:no-repeat;border-radius:3px;display:inline-block;line-height:1;width:100%;height:inherit}@-webkit-keyframes SkeletonLoading{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}@keyframes SkeletonLoading{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}
2 |
--------------------------------------------------------------------------------
/dist/vue-loading-skeleton.cjs.js:
--------------------------------------------------------------------------------
1 | "use strict";var _=Object.defineProperty;var S=Object.getOwnPropertySymbols;var $=Object.prototype.hasOwnProperty,L=Object.prototype.propertyIsEnumerable;var s=(e,t,n)=>t in e?_(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,l=(e,t)=>{for(var n in t||(t={}))$.call(t,n)&&s(e,n,t[n]);if(S)for(var n of S(t))L.call(t,n)&&s(e,n,t[n]);return e};Object.defineProperty(exports,"__esModule",{value:!0});exports[Symbol.toStringTag]="Module";var i=require("vue");const c="#eeeeee",v="#f5f5f5",k={animation:"",backgroundColor:c,backgroundImage:`linear-gradient(
2 | 90deg,
3 | ${c},
4 | ${v},
5 | ${c}
6 | )`},b=Symbol("_themeStyle"),N=Symbol("_theme");function P(){return N}const T=P(),w=i.defineComponent({name:"PuSkeletonTheme",props:{color:{type:String,default:c},highlight:{type:String,default:v},duration:{type:Number,default:1.5},tag:{type:String,default:"div"},loading:{type:Boolean,default:void 0}},setup(e,{slots:t}){const n=i.computed(()=>{const{color:a,highlight:u,duration:d}=e,r=l({},k);return r.backgroundColor=a,r.backgroundImage=`linear-gradient(
7 | 90deg,
8 | ${a},
9 | ${u},
10 | ${a}
11 | )`,d?r.animation=`SkeletonLoading ${d}s ease-in-out infinite`:(r.animation="",r.backgroundImage=""),r});return i.provide(b,n),i.provide(T,e),()=>{var a,u;return e.tag?i.h(e.tag,(a=t.default)==null?void 0:a.call(t)):(u=t.default)==null?void 0:u.call(t)[0]}}}),I=w;const j=e=>{if(!e)return!0;const[t]=e;let n=t.children;return!t.el&&!n},A=i.defineComponent({name:"PuSkeleton",props:{prefix:{type:String,default:"pu"},count:{type:Number,default:1},duration:{type:Number,default:1.5},tag:{type:String,default:"span"},width:{type:[String,Number],default:0},height:{type:[String,Number],default:0},circle:Boolean,loading:{type:[Boolean,Object,Array],default:void 0}},setup(e,{slots:t}){const n=i.inject(T,{}),a=i.inject(b,{value:l({},k)}),u=i.computed(()=>typeof(n==null?void 0:n.loading)!="undefined"?n.loading:e.loading),d=i.computed(()=>[`${e.prefix}-skeleton`]),r=i.computed(()=>{if(!a)return{};const o=l({},a==null?void 0:a.value);return e.duration?o.animation=`SkeletonLoading ${e.duration}s ease-in-out infinite`:o.backgroundImage="",e.width&&(o.width=e.width),e.height&&(o.height=e.height),e.circle&&(o.borderRadius="50%"),o});return()=>{var y;const o=(y=t.default)==null?void 0:y.call(t),g=typeof u.value!="undefined"?u.value:j(o),h=Array(g?e.count:0).fill(0).map((B,p)=>i.h("span",{key:p,class:d.value,style:r.value,innerHTML:""}));return e.tag?i.h(e.tag,g?h:o):g?i.h("span",h):o}}}),f=A,m=I;var C={install(e){e.component(f.name,f),e.component(m.name,m)}};exports.Skeleton=f;exports.SkeletonTheme=m;exports.default=C;
12 |
--------------------------------------------------------------------------------
/dist/vue-loading-skeleton.es.js:
--------------------------------------------------------------------------------
1 | var __defProp = Object.defineProperty;
2 | var __getOwnPropSymbols = Object.getOwnPropertySymbols;
3 | var __hasOwnProp = Object.prototype.hasOwnProperty;
4 | var __propIsEnum = Object.prototype.propertyIsEnumerable;
5 | var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
6 | var __spreadValues = (a, b) => {
7 | for (var prop in b || (b = {}))
8 | if (__hasOwnProp.call(b, prop))
9 | __defNormalProp(a, prop, b[prop]);
10 | if (__getOwnPropSymbols)
11 | for (var prop of __getOwnPropSymbols(b)) {
12 | if (__propIsEnum.call(b, prop))
13 | __defNormalProp(a, prop, b[prop]);
14 | }
15 | return a;
16 | };
17 | import { defineComponent, computed, provide, h, inject } from "vue";
18 | const DEFAULT_BACKGROUND = "#eeeeee";
19 | const DEFAULT_HIGHLIGHT = "#f5f5f5";
20 | const SkeletonStyle = {
21 | animation: "",
22 | backgroundColor: DEFAULT_BACKGROUND,
23 | backgroundImage: `linear-gradient(
24 | 90deg,
25 | ${DEFAULT_BACKGROUND},
26 | ${DEFAULT_HIGHLIGHT},
27 | ${DEFAULT_BACKGROUND}
28 | )`
29 | };
30 | const ThemeStyleProviderKey = Symbol("_themeStyle");
31 | const ThemeProviderKey = Symbol("_theme");
32 | function createThemeProvider() {
33 | return ThemeProviderKey;
34 | }
35 | const ThemeProvider = createThemeProvider();
36 | const SkeletonTheme$1 = defineComponent({
37 | name: "PuSkeletonTheme",
38 | props: {
39 | color: {
40 | type: String,
41 | default: DEFAULT_BACKGROUND
42 | },
43 | highlight: {
44 | type: String,
45 | default: DEFAULT_HIGHLIGHT
46 | },
47 | duration: {
48 | type: Number,
49 | default: 1.5
50 | },
51 | tag: {
52 | type: String,
53 | default: "div"
54 | },
55 | loading: {
56 | type: Boolean,
57 | default: void 0
58 | }
59 | },
60 | setup(props, { slots }) {
61 | const themeStyle = computed(() => {
62 | const { color, highlight, duration } = props;
63 | const style2 = __spreadValues({}, SkeletonStyle);
64 | style2.backgroundColor = color;
65 | style2.backgroundImage = `linear-gradient(
66 | 90deg,
67 | ${color},
68 | ${highlight},
69 | ${color}
70 | )`;
71 | if (duration) {
72 | style2.animation = `SkeletonLoading ${duration}s ease-in-out infinite`;
73 | } else {
74 | style2.animation = "";
75 | style2.backgroundImage = "";
76 | }
77 | return style2;
78 | });
79 | provide(ThemeStyleProviderKey, themeStyle);
80 | provide(ThemeProvider, props);
81 | return () => {
82 | var _a, _b;
83 | if (props.tag) {
84 | return h(props.tag, (_a = slots.default) == null ? void 0 : _a.call(slots));
85 | }
86 | return (_b = slots.default) == null ? void 0 : _b.call(slots)[0];
87 | };
88 | }
89 | });
90 | const _sfc_main$1 = SkeletonTheme$1;
91 | var style = "";
92 | const isEmptyVNode = (children) => {
93 | if (!children)
94 | return true;
95 | const [firstNode] = children;
96 | let str = firstNode.children;
97 | return !firstNode.el && !str;
98 | };
99 | const _sfc_main = defineComponent({
100 | name: "PuSkeleton",
101 | props: {
102 | prefix: {
103 | type: String,
104 | default: "pu"
105 | },
106 | count: {
107 | type: Number,
108 | default: 1
109 | },
110 | duration: {
111 | type: Number,
112 | default: 1.5
113 | },
114 | tag: {
115 | type: String,
116 | default: "span"
117 | },
118 | width: {
119 | type: [String, Number],
120 | default: 0
121 | },
122 | height: {
123 | type: [String, Number],
124 | default: 0
125 | },
126 | circle: Boolean,
127 | loading: {
128 | type: [Boolean, Object, Array],
129 | default: void 0
130 | }
131 | },
132 | setup(props, { slots }) {
133 | const theme = inject(ThemeProvider, {});
134 | const themeStyle = inject(ThemeStyleProviderKey, {
135 | value: __spreadValues({}, SkeletonStyle)
136 | });
137 | const isLoading = computed(() => {
138 | return typeof (theme == null ? void 0 : theme.loading) !== "undefined" ? theme.loading : props.loading;
139 | });
140 | const classes = computed(() => {
141 | return [`${props.prefix}-skeleton`];
142 | });
143 | const styles = computed(() => {
144 | if (!themeStyle)
145 | return {};
146 | const s = __spreadValues({}, themeStyle == null ? void 0 : themeStyle.value);
147 | if (props.duration) {
148 | s.animation = `SkeletonLoading ${props.duration}s ease-in-out infinite`;
149 | } else {
150 | s.backgroundImage = "";
151 | }
152 | if (props.width)
153 | s.width = props.width;
154 | if (props.height)
155 | s.height = props.height;
156 | if (props.circle)
157 | s.borderRadius = "50%";
158 | return s;
159 | });
160 | return () => {
161 | var _a;
162 | const defaultSlot = (_a = slots.default) == null ? void 0 : _a.call(slots);
163 | const showLoading = typeof isLoading.value !== "undefined" ? isLoading.value : isEmptyVNode(defaultSlot);
164 | const elements = Array(showLoading ? props.count : 0).fill(0).map((_, idx) => {
165 | return h("span", {
166 | key: idx,
167 | class: classes.value,
168 | style: styles.value,
169 | innerHTML: ""
170 | });
171 | });
172 | if (props.tag) {
173 | return h(props.tag, !showLoading ? defaultSlot : elements);
174 | }
175 | return !showLoading ? defaultSlot : h("span", elements);
176 | };
177 | }
178 | });
179 | const Skeleton = _sfc_main;
180 | const SkeletonTheme = _sfc_main$1;
181 | var index = {
182 | install(Vue) {
183 | Vue.component(Skeleton.name, Skeleton);
184 | Vue.component(SkeletonTheme.name, SkeletonTheme);
185 | }
186 | };
187 | export { Skeleton, SkeletonTheme, index as default };
188 |
--------------------------------------------------------------------------------
/dist/vue-loading-skeleton.umd.js:
--------------------------------------------------------------------------------
1 | var w=Object.defineProperty;var p=Object.getOwnPropertySymbols;var I=Object.prototype.hasOwnProperty,A=Object.prototype.propertyIsEnumerable;var _=(n,e,i)=>e in n?w(n,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):n[e]=i,f=(n,e)=>{for(var i in e||(e={}))I.call(e,i)&&_(n,i,e[i]);if(p)for(var i of p(e))A.call(e,i)&&_(n,i,e[i]);return n};(function(n,e){typeof exports=="object"&&typeof module!="undefined"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(n=typeof globalThis!="undefined"?globalThis:n||self,e(n["vue-loading-skeleton"]={},n.Vue))})(this,function(n,e){"use strict";const i="#eeeeee",y="#f5f5f5",s={animation:"",backgroundColor:i,backgroundImage:`linear-gradient(
2 | 90deg,
3 | ${i},
4 | ${y},
5 | ${i}
6 | )`},S=Symbol("_themeStyle"),$=Symbol("_theme");function v(){return $}const k=v(),L=e.defineComponent({name:"PuSkeletonTheme",props:{color:{type:String,default:i},highlight:{type:String,default:y},duration:{type:Number,default:1.5},tag:{type:String,default:"div"},loading:{type:Boolean,default:void 0}},setup(t,{slots:o}){const r=e.computed(()=>{const{color:a,highlight:l,duration:c}=t,u=f({},s);return u.backgroundColor=a,u.backgroundImage=`linear-gradient(
7 | 90deg,
8 | ${a},
9 | ${l},
10 | ${a}
11 | )`,c?u.animation=`SkeletonLoading ${c}s ease-in-out infinite`:(u.animation="",u.backgroundImage=""),u});return e.provide(S,r),e.provide(k,t),()=>{var a,l;return t.tag?e.h(t.tag,(a=o.default)==null?void 0:a.call(o)):(l=o.default)==null?void 0:l.call(o)[0]}}});var B="";const N=t=>{if(!t)return!0;const[o]=t;let r=o.children;return!o.el&&!r},g=e.defineComponent({name:"PuSkeleton",props:{prefix:{type:String,default:"pu"},count:{type:Number,default:1},duration:{type:Number,default:1.5},tag:{type:String,default:"span"},width:{type:[String,Number],default:0},height:{type:[String,Number],default:0},circle:Boolean,loading:{type:[Boolean,Object,Array],default:void 0}},setup(t,{slots:o}){const r=e.inject(k,{}),a=e.inject(S,{value:f({},s)}),l=e.computed(()=>typeof(r==null?void 0:r.loading)!="undefined"?r.loading:t.loading),c=e.computed(()=>[`${t.prefix}-skeleton`]),u=e.computed(()=>{if(!a)return{};const d=f({},a==null?void 0:a.value);return t.duration?d.animation=`SkeletonLoading ${t.duration}s ease-in-out infinite`:d.backgroundImage="",t.width&&(d.width=t.width),t.height&&(d.height=t.height),t.circle&&(d.borderRadius="50%"),d});return()=>{var T;const d=(T=o.default)==null?void 0:T.call(o),h=typeof l.value!="undefined"?l.value:N(d),b=Array(h?t.count:0).fill(0).map((D,j)=>e.h("span",{key:j,class:c.value,style:u.value,innerHTML:""}));return t.tag?e.h(t.tag,h?b:d):h?e.h("span",b):d}}}),m=L;var P={install(t){t.component(g.name,g),t.component(m.name,m)}};n.Skeleton=g,n.SkeletonTheme=m,n.default=P,Object.defineProperty(n,"__esModule",{value:!0}),n[Symbol.toStringTag]="Module"});
12 |
--------------------------------------------------------------------------------
/docs/0.0a0da810.iframe.bundle.js.LICENSE.txt:
--------------------------------------------------------------------------------
1 | /** @license React v0.19.1
2 | * scheduler.production.min.js
3 | *
4 | * Copyright (c) Facebook, Inc. and its affiliates.
5 | *
6 | * This source code is licensed under the MIT license found in the
7 | * LICENSE file in the root directory of this source tree.
8 | */
9 |
10 | /** @license React v16.14.0
11 | * react-dom.production.min.js
12 | *
13 | * Copyright (c) Facebook, Inc. and its affiliates.
14 | *
15 | * This source code is licensed under the MIT license found in the
16 | * LICENSE file in the root directory of this source tree.
17 | */
18 |
--------------------------------------------------------------------------------
/docs/0.0a0da810.iframe.bundle.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"0.0a0da810.iframe.bundle.js","sources":[],"mappings":";A","sourceRoot":""}
--------------------------------------------------------------------------------
/docs/1.77eff89f.iframe.bundle.js.LICENSE.txt:
--------------------------------------------------------------------------------
1 | /** @license React v16.13.1
2 | * react-is.production.min.js
3 | *
4 | * Copyright (c) Facebook, Inc. and its affiliates.
5 | *
6 | * This source code is licensed under the MIT license found in the
7 | * LICENSE file in the root directory of this source tree.
8 | */
9 |
--------------------------------------------------------------------------------
/docs/1.77eff89f.iframe.bundle.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"1.77eff89f.iframe.bundle.js","sources":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;A","sourceRoot":""}
--------------------------------------------------------------------------------
/docs/1.9ebd2fb519f6726108de.manager.bundle.js:
--------------------------------------------------------------------------------
1 | (window.webpackJsonp=window.webpackJsonp||[]).push([[1],{456:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,"WithTooltipPure",(function(){return WithTooltip_WithTooltipPure})),__webpack_require__.d(__webpack_exports__,"WithToolTipState",(function(){return WithTooltip_WithToolTipState})),__webpack_require__.d(__webpack_exports__,"WithTooltip",(function(){return WithTooltip_WithToolTipState}));__webpack_require__(16),__webpack_require__(52),__webpack_require__(23),__webpack_require__(4),__webpack_require__(15),__webpack_require__(10),__webpack_require__(5),__webpack_require__(13),__webpack_require__(9),__webpack_require__(12),__webpack_require__(14),__webpack_require__(17),__webpack_require__(8),__webpack_require__(39);var react=__webpack_require__(0),react_default=__webpack_require__.n(react),esm=__webpack_require__(1),global_window=__webpack_require__(6),window_default=__webpack_require__.n(global_window),react_popper_tooltip=__webpack_require__(942),memoizerific=(__webpack_require__(79),__webpack_require__(27),__webpack_require__(168),__webpack_require__(18),__webpack_require__(30)),memoizerific_default=__webpack_require__.n(memoizerific),utils=__webpack_require__(100);function _extends(){return(_extends=Object.assign||function(target){for(var i=1;i=0||(target[key]=source[key]);return target}(source,excluded);if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(source,key)&&(target[key]=source[key])}return target}var _templateObject,_templateObject2,match=memoizerific_default()(1e3)((function(requests,actual,value){var fallback=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;return actual.split("-")[0]===requests?value:fallback})),Arrow=esm.styled.div({position:"absolute",borderStyle:"solid"},(function(_ref){var placement=_ref.placement,x=0,y=0;switch(!0){case placement.startsWith("left")||placement.startsWith("right"):y=8;break;case placement.startsWith("top")||placement.startsWith("bottom"):x=8}return{transform:"translate3d(".concat(x,"px, ").concat(y,"px, 0px)")}}),(function(_ref2){var theme=_ref2.theme,color=_ref2.color,placement=_ref2.placement;return{bottom:"".concat(match("top",placement,-8,"auto"),"px"),top:"".concat(match("bottom",placement,-8,"auto"),"px"),right:"".concat(match("left",placement,-8,"auto"),"px"),left:"".concat(match("right",placement,-8,"auto"),"px"),borderBottomWidth:"".concat(match("top",placement,"0",8),"px"),borderTopWidth:"".concat(match("bottom",placement,"0",8),"px"),borderRightWidth:"".concat(match("left",placement,"0",8),"px"),borderLeftWidth:"".concat(match("right",placement,"0",8),"px"),borderTopColor:match("top",placement,theme.color[color]||color||"light"===theme.base?Object(utils.c)(theme.background.app):Object(utils.a)(theme.background.app),"transparent"),borderBottomColor:match("bottom",placement,theme.color[color]||color||"light"===theme.base?Object(utils.c)(theme.background.app):Object(utils.a)(theme.background.app),"transparent"),borderLeftColor:match("left",placement,theme.color[color]||color||"light"===theme.base?Object(utils.c)(theme.background.app):Object(utils.a)(theme.background.app),"transparent"),borderRightColor:match("right",placement,theme.color[color]||color||"light"===theme.base?Object(utils.c)(theme.background.app):Object(utils.a)(theme.background.app),"transparent")}})),Wrapper=esm.styled.div((function(_ref3){return{display:_ref3.hidden?"none":"inline-block",zIndex:2147483647}}),(function(_ref4){var theme=_ref4.theme,color=_ref4.color;return _ref4.hasChrome?{background:theme.color[color]||color||"light"===theme.base?Object(utils.c)(theme.background.app):Object(utils.a)(theme.background.app),filter:"\n drop-shadow(0px 5px 5px rgba(0,0,0,0.05))\n drop-shadow(0 1px 3px rgba(0,0,0,0.1))\n ",borderRadius:2*theme.appBorderRadius,fontSize:theme.typography.size.s1}:{}})),Tooltip_Tooltip=function Tooltip(_ref5){var placement=_ref5.placement,hasChrome=_ref5.hasChrome,children=_ref5.children,arrowProps=_ref5.arrowProps,tooltipRef=_ref5.tooltipRef,arrowRef=_ref5.arrowRef,color=_ref5.color,props=_objectWithoutProperties(_ref5,["placement","hasChrome","children","arrowProps","tooltipRef","arrowRef","color"]);return react_default.a.createElement(Wrapper,_extends({hasChrome:hasChrome,placement:placement,ref:tooltipRef},props,{color:color}),hasChrome&&react_default.a.createElement(Arrow,_extends({placement:placement,ref:arrowRef},arrowProps,{color:color})),children)};function _slicedToArray(arr,i){return function _arrayWithHoles(arr){if(Array.isArray(arr))return arr}(arr)||function _iterableToArrayLimit(arr,i){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(arr)))return;var _arr=[],_n=!0,_d=!1,_e=void 0;try{for(var _s,_i=arr[Symbol.iterator]();!(_n=(_s=_i.next()).done)&&(_arr.push(_s.value),!i||_arr.length!==i);_n=!0);}catch(err){_d=!0,_e=err}finally{try{_n||null==_i.return||_i.return()}finally{if(_d)throw _e}}return _arr}(arr,i)||function _unsupportedIterableToArray(o,minLen){if(!o)return;if("string"==typeof o)return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);"Object"===n&&o.constructor&&(n=o.constructor.name);if("Map"===n||"Set"===n)return Array.from(o);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}(arr,i)||function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function _arrayLikeToArray(arr,len){(null==len||len>arr.length)&&(len=arr.length);for(var i=0,arr2=new Array(len);i=0||(target[key]=source[key]);return target}(source,excluded);if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(source,key)&&(target[key]=source[key])}return target}function _taggedTemplateLiteral(strings,raw){return raw||(raw=strings.slice(0)),Object.freeze(Object.defineProperties(strings,{raw:{value:Object.freeze(raw)}}))}Tooltip_Tooltip.displayName="Tooltip",Tooltip_Tooltip.defaultProps={color:void 0,arrowRef:void 0,tooltipRef:void 0,hasChrome:!0,placement:"top",arrowProps:{}};var WithTooltip_document=window_default.a.document,TargetContainer=esm.styled.div(_templateObject||(_templateObject=_taggedTemplateLiteral(["\n display: inline-block;\n cursor: ",";\n"])),(function(props){return"hover"===props.mode?"default":"pointer"})),TargetSvgContainer=esm.styled.g(_templateObject2||(_templateObject2=_taggedTemplateLiteral(["\n cursor: ",";\n"])),(function(props){return"hover"===props.mode?"default":"pointer"})),WithTooltip_WithTooltipPure=function WithTooltipPure(_ref){var svg=_ref.svg,trigger=_ref.trigger,placement=(_ref.closeOnClick,_ref.placement),modifiers=_ref.modifiers,hasChrome=_ref.hasChrome,_tooltip=_ref.tooltip,children=_ref.children,tooltipShown=_ref.tooltipShown,onVisibilityChange=_ref.onVisibilityChange,props=WithTooltip_objectWithoutProperties(_ref,["svg","trigger","closeOnClick","placement","modifiers","hasChrome","tooltip","children","tooltipShown","onVisibilityChange"]),Container=svg?TargetSvgContainer:TargetContainer;return react_default.a.createElement(react_popper_tooltip.a,{placement:placement,trigger:trigger,modifiers:modifiers,tooltipShown:tooltipShown,onVisibilityChange:onVisibilityChange,tooltip:function tooltip(_ref2){var getTooltipProps=_ref2.getTooltipProps,getArrowProps=_ref2.getArrowProps,tooltipRef=_ref2.tooltipRef,arrowRef=_ref2.arrowRef,tooltipPlacement=_ref2.placement;return react_default.a.createElement(Tooltip_Tooltip,WithTooltip_extends({hasChrome:hasChrome,placement:tooltipPlacement,tooltipRef:tooltipRef,arrowRef:arrowRef,arrowProps:getArrowProps()},getTooltipProps()),"function"==typeof _tooltip?_tooltip({onHide:function onHide(){return onVisibilityChange(!1)}}):_tooltip)}},(function(_ref3){var getTriggerProps=_ref3.getTriggerProps,triggerRef=_ref3.triggerRef;return react_default.a.createElement(Container,WithTooltip_extends({ref:triggerRef},getTriggerProps(),props),children)}))};WithTooltip_WithTooltipPure.displayName="WithTooltipPure",WithTooltip_WithTooltipPure.defaultProps={svg:!1,trigger:"hover",closeOnClick:!1,placement:"top",modifiers:[{name:"preventOverflow",options:{padding:8}},{name:"offset",options:{offset:[8,8]}},{name:"arrow",options:{padding:8}}],hasChrome:!0,tooltipShown:!1};var WithTooltip_WithToolTipState=function WithToolTipState(_ref4){var startOpen=_ref4.startOpen,onChange=_ref4.onVisibilityChange,rest=WithTooltip_objectWithoutProperties(_ref4,["startOpen","onVisibilityChange"]),_useState2=_slicedToArray(Object(react.useState)(startOpen||!1),2),tooltipShown=_useState2[0],setTooltipShown=_useState2[1],onVisibilityChange=Object(react.useCallback)((function(visibility){onChange&&!1===onChange(visibility)||setTooltipShown(visibility)}),[onChange]);return Object(react.useEffect)((function(){var hide=function hide(){return onVisibilityChange(!1)};WithTooltip_document.addEventListener("keydown",hide,!1);var iframes=Array.from(WithTooltip_document.getElementsByTagName("iframe")),unbinders=[];return iframes.forEach((function(iframe){var bind=function bind(){try{iframe.contentWindow.document&&(iframe.contentWindow.document.addEventListener("click",hide),unbinders.push((function(){try{iframe.contentWindow.document.removeEventListener("click",hide)}catch(e){}})))}catch(e){}};bind(),iframe.addEventListener("load",bind),unbinders.push((function(){iframe.removeEventListener("load",bind)}))})),function(){WithTooltip_document.removeEventListener("keydown",hide),unbinders.forEach((function(unbind){unbind()}))}})),react_default.a.createElement(WithTooltip_WithTooltipPure,WithTooltip_extends({},rest,{tooltipShown:tooltipShown,onVisibilityChange:onVisibilityChange}))};WithTooltip_WithToolTipState.displayName="WithToolTipState"}}]);
--------------------------------------------------------------------------------
/docs/10.6dedbf62.iframe.bundle.js:
--------------------------------------------------------------------------------
1 | (window.webpackJsonp=window.webpackJsonp||[]).push([[10],{"./node_modules/@storybook/components/dist/modern/ScrollArea/GlobalScrollAreaStyles.js":function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,"getScrollAreaStyles",(function(){return getScrollAreaStyles}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/react/index.js"),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_storybook_theming__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/@emotion/core/dist/core.browser.esm.js");const hsResizeObserverDummyAnimation=_storybook_theming__WEBPACK_IMPORTED_MODULE_1__.d`0%{z-index:0}to{z-index:-1}`,getScrollAreaStyles=theme=>({"html.os-html, html.os-html>.os-host":{display:"block",overflow:"hidden",boxSizing:"border-box",height:"100%!important",width:"100%!important",minWidth:"100%!important",minHeight:"100%!important",margin:"0!important",position:"absolute!important"},"html.os-html>.os-host>.os-padding":{position:"absolute"},"body.os-dragging, body.os-dragging *":{cursor:"default"},".os-host, .os-host-textarea":{position:"relative",overflow:"visible!important",flexDirection:"column",flexWrap:"nowrap",justifyContent:"flex-start",alignContent:"flex-start",alignItems:"flex-start"},".os-host-flexbox":{overflow:"hidden!important",display:"flex"},".os-host-flexbox>.os-size-auto-observer":{height:"inherit!important"},".os-host-flexbox>.os-content-glue":{flexGrow:1,flexShrink:0},".os-host-flexbox>.os-size-auto-observer, .os-host-flexbox>.os-content-glue":{minHeight:0,minWidth:0,flexGrow:0,flexShrink:1,flexBasis:"auto"},"#os-dummy-scrollbar-size":{position:"fixed",opacity:0,visibility:"hidden",overflow:"scroll",height:500,width:500},"#os-dummy-scrollbar-size>div":{width:"200%",height:"200%",margin:10},"#os-dummy-scrollbar-size, .os-viewport":{},".os-viewport-native-scrollbars-invisible#os-dummy-scrollbar-size, .os-viewport-native-scrollbars-invisible.os-viewport":{scrollbarWidth:"none!important"},".os-viewport-native-scrollbars-invisible#os-dummy-scrollbar-size::-webkit-scrollbar, .os-viewport-native-scrollbars-invisible.os-viewport::-webkit-scrollbar, .os-viewport-native-scrollbars-invisible#os-dummy-scrollbar-size::-webkit-scrollbar-corner, .os-viewport-native-scrollbars-invisible.os-viewport::-webkit-scrollbar-corner":{display:"none!important",width:"0!important",height:"0!important",visibility:"hidden!important",background:"0 0!important"},".os-content-glue":{boxSizing:"inherit",maxHeight:"100%",maxWidth:"100%",width:"100%",pointerEvents:"none"},".os-padding":{boxSizing:"inherit",direction:"inherit",position:"absolute",overflow:"visible",padding:0,margin:0,left:0,top:0,bottom:0,right:0,width:"auto!important",height:"auto!important",zIndex:1},".os-host-overflow>.os-padding":{overflow:"hidden"},".os-viewport":{direction:"inherit!important",boxSizing:"inherit!important",resize:"none!important",outline:"0!important",position:"absolute",overflow:"hidden",top:0,left:0,bottom:0,right:0,padding:0,margin:0},".os-content-arrange":{position:"absolute",zIndex:-1,minHeight:1,minWidth:1,pointerEvents:"none"},".os-content":{direction:"inherit",boxSizing:"border-box!important",position:"relative",display:"block",height:"100%",width:"100%",visibility:"visible"},".os-content:before, .os-content:after":{content:"''",display:"table",width:0,height:0,lineHeight:0,fontSize:0},".os-content>.os-textarea":{boxSizing:"border-box!important",direction:"inherit!important",background:"0 0!important",outline:"0 transparent!important",overflow:"hidden!important",position:"absolute!important",display:"block!important",top:"0!important",left:"0!important",margin:"0!important",borderRadius:"0!important",float:"none!important",filter:"none!important",border:"0!important",resize:"none!important",transform:"none!important",maxWidth:"none!important",maxHeight:"none!important",boxShadow:"none!important",perspective:"none!important",opacity:"1!important",zIndex:"1!important",clip:"auto!important",verticalAlign:"baseline!important",padding:0},".os-host-rtl>.os-padding>.os-viewport>.os-content>.os-textarea":{right:"0!important"},".os-content>.os-textarea-cover":{zIndex:-1,pointerEvents:"none"},".os-content>.os-textarea[wrap=off]":{whiteSpace:"pre!important",margin:"0!important"},".os-text-inherit":{fontFamily:"inherit",fontSize:"inherit",fontWeight:"inherit",fontStyle:"inherit",fontVariant:"inherit",textTransform:"inherit",textDecoration:"inherit",textIndent:"inherit",textAlign:"inherit",textShadow:"inherit",textOverflow:"inherit",letterSpacing:"inherit",wordSpacing:"inherit",lineHeight:"inherit",unicodeBidi:"inherit",direction:"inherit",color:"inherit",cursor:"text"},".os-resize-observer, .os-resize-observer-host":{boxSizing:"inherit",display:"block",opacity:0,position:"absolute",top:0,left:0,height:"100%",width:"100%",overflow:"hidden",pointerEvents:"none",zIndex:-1},".os-resize-observer-host":{padding:"inherit",border:"inherit",borderColor:"transparent",borderStyle:"solid",boxSizing:"border-box"},".os-resize-observer-host:after":{content:"''"},".os-resize-observer-host>.os-resize-observer, .os-resize-observer-host:after":{height:"200%",width:"200%",padding:"inherit",border:"inherit",margin:0,display:"block",boxSizing:"content-box"},".os-resize-observer.observed, object.os-resize-observer":{boxSizing:"border-box!important"},".os-size-auto-observer":{boxSizing:"inherit!important",height:"100%",width:"inherit",maxWidth:1,position:"relative",float:"left",maxHeight:1,overflow:"hidden",zIndex:-1,padding:0,margin:0,pointerEvents:"none",flexGrow:"inherit",flexShrink:0,flexBasis:0},".os-size-auto-observer>.os-resize-observer":{width:"1000%",height:"1000%",minHeight:1,minWidth:1},".os-resize-observer-item":{position:"absolute",top:0,right:0,bottom:0,left:0,overflow:"hidden",zIndex:-1,opacity:0,direction:"ltr!important",flex:"none!important"},".os-resize-observer-item-final":{position:"absolute",left:0,top:0,transition:"none!important",flex:"none!important"},".os-resize-observer":{animationDuration:".001s",animationName:`${hsResizeObserverDummyAnimation}`},".os-host-transition>.os-scrollbar, .os-host-transition>.os-scrollbar-corner":{transition:"opacity .3s,visibility .3s,top .3s,right .3s,bottom .3s,left .3s"},"html.os-html>.os-host>.os-scrollbar":{position:"absolute",zIndex:999999},".os-scrollbar, .os-scrollbar-corner":{position:"absolute",opacity:1,zIndex:1},".os-scrollbar-corner":{bottom:0,right:0,height:10,width:10,backgroundColor:"transparent"},".os-scrollbar":{pointerEvents:"none",padding:2,boxSizing:"border-box",background:0},".os-scrollbar-track":{pointerEvents:"auto",position:"relative",height:"100%",width:"100%",padding:"0!important",border:"0!important"},".os-scrollbar-handle":{pointerEvents:"auto",position:"absolute",width:"100%",height:"100%"},".os-scrollbar-handle-off, .os-scrollbar-track-off":{pointerEvents:"none"},".os-scrollbar.os-scrollbar-unusable, .os-scrollbar.os-scrollbar-unusable *":{pointerEvents:"none!important"},".os-scrollbar.os-scrollbar-unusable .os-scrollbar-handle":{opacity:"0!important"},".os-scrollbar-horizontal":{bottom:0,left:0,right:10,height:10},".os-scrollbar-vertical":{top:0,right:0,bottom:10,width:10},".os-host-rtl>.os-scrollbar-horizontal":{right:0},".os-host-rtl>.os-scrollbar-vertical":{right:"auto",left:0},".os-host-rtl>.os-scrollbar-corner":{right:"auto",left:0},".os-scrollbar-auto-hidden, .os-padding+.os-scrollbar-corner, .os-host-resize-disabled.os-host-scrollbar-horizontal-hidden>.os-scrollbar-corner, .os-host-scrollbar-horizontal-hidden>.os-scrollbar-horizontal, .os-host-resize-disabled.os-host-scrollbar-vertical-hidden>.os-scrollbar-corner, .os-host-scrollbar-vertical-hidden>.os-scrollbar-vertical, .os-scrollbar-horizontal.os-scrollbar-auto-hidden+.os-scrollbar-vertical+.os-scrollbar-corner, .os-scrollbar-horizontal+.os-scrollbar-vertical.os-scrollbar-auto-hidden+.os-scrollbar-corner, .os-scrollbar-horizontal.os-scrollbar-auto-hidden+.os-scrollbar-vertical.os-scrollbar-auto-hidden+.os-scrollbar-corner":{opacity:0,visibility:"hidden",pointerEvents:"none"},".os-scrollbar-corner-resize-both":{cursor:"nwse-resize"},".os-host-rtl>.os-scrollbar-corner-resize-both":{cursor:"nesw-resize"},".os-scrollbar-corner-resize-horizontal":{cursor:"ew-resize"},".os-scrollbar-corner-resize-vertical":{cursor:"ns-resize"},".os-dragging .os-scrollbar-corner.os-scrollbar-corner-resize":{cursor:"default"},".os-host-resize-disabled.os-host-scrollbar-horizontal-hidden>.os-scrollbar-vertical":{top:0,bottom:0},".os-host-resize-disabled.os-host-scrollbar-vertical-hidden>.os-scrollbar-horizontal, .os-host-rtl.os-host-resize-disabled.os-host-scrollbar-vertical-hidden>.os-scrollbar-horizontal":{right:0,left:0},".os-scrollbar:hover, .os-scrollbar-corner.os-scrollbar-corner-resize":{opacity:"1!important",visibility:"visible!important"},".os-scrollbar-corner.os-scrollbar-corner-resize":{backgroundImage:"linear-gradient(135deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 50%, rgba(0,0,0,0.4) 50%, rgba(0,0,0,0.4) 100%)",backgroundRepeat:"no-repeat",backgroundPosition:"100% 100%",pointerEvents:"auto!important"},".os-host-rtl>.os-scrollbar-corner.os-scrollbar-corner-resize":{transform:"scale(-1,1)"},".os-host-overflow":{overflow:"hidden!important"},".os-theme-dark.os-host-rtl>.os-scrollbar-horizontal":{left:10,right:0},".os-scrollbar.os-scrollbar-unusable":{background:0},".os-scrollbar>.os-scrollbar-track":{background:0},".os-scrollbar-horizontal>.os-scrollbar-track>.os-scrollbar-handle":{minWidth:30},".os-scrollbar-vertical>.os-scrollbar-track>.os-scrollbar-handle":{minHeight:30},".os-theme-dark.os-host-transition>.os-scrollbar>.os-scrollbar-track>.os-scrollbar-handle":{transition:"background-color .3s"},".os-scrollbar>.os-scrollbar-track>.os-scrollbar-handle, .os-scrollbar>.os-scrollbar-track":{borderRadius:10},".os-scrollbar>.os-scrollbar-track>.os-scrollbar-handle":{background:theme.color.mediumdark,opacity:.5},".os-scrollbar:hover>.os-scrollbar-track>.os-scrollbar-handle":{opacity:.6},".os-scrollbar-horizontal .os-scrollbar-handle:before, .os-scrollbar-vertical .os-scrollbar-handle:before":{content:"''",position:"absolute",left:0,right:0,top:0,bottom:0,display:"block"},".os-theme-dark.os-host-scrollbar-horizontal-hidden>.os-scrollbar-horizontal .os-scrollbar-handle:before, .os-theme-dark.os-host-scrollbar-vertical-hidden>.os-scrollbar-vertical .os-scrollbar-handle:before":{display:"none"},".os-scrollbar-horizontal .os-scrollbar-handle:before":{top:-6,bottom:-2},".os-scrollbar-vertical .os-scrollbar-handle:before":{left:-6,right:-2},".os-host-rtl.os-scrollbar-vertical .os-scrollbar-handle:before":{right:-6,left:-2}}),GlobalScrollAreaStyles=()=>react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_storybook_theming__WEBPACK_IMPORTED_MODULE_1__.a,{styles:getScrollAreaStyles});GlobalScrollAreaStyles.displayName="GlobalScrollAreaStyles",__webpack_exports__.default=GlobalScrollAreaStyles}}]);
--------------------------------------------------------------------------------
/docs/10.a85ea1a67689be8e19ff.manager.bundle.js:
--------------------------------------------------------------------------------
1 | (window.webpackJsonp=window.webpackJsonp||[]).push([[10],{869:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,"createCopyToClipboardFunction",(function(){return createCopyToClipboardFunction})),__webpack_require__.d(__webpack_exports__,"SyntaxHighlighter",(function(){return syntaxhighlighter_SyntaxHighlighter}));__webpack_require__(90),__webpack_require__(40),__webpack_require__(15),__webpack_require__(109),__webpack_require__(5),__webpack_require__(88),__webpack_require__(4),__webpack_require__(10),__webpack_require__(13),__webpack_require__(8),__webpack_require__(9),__webpack_require__(12),__webpack_require__(16),__webpack_require__(14),__webpack_require__(17),__webpack_require__(43),__webpack_require__(23);var react=__webpack_require__(0),react_default=__webpack_require__.n(react),esm=__webpack_require__(25),dist_esm=__webpack_require__(1),global_window=__webpack_require__(6),window_default=__webpack_require__.n(global_window),memoizerific=__webpack_require__(30),memoizerific_default=__webpack_require__.n(memoizerific),jsx=__webpack_require__(922),bash=__webpack_require__(929),css=__webpack_require__(931),js_extras=__webpack_require__(920),json=__webpack_require__(923),graphql=__webpack_require__(936),markup=__webpack_require__(932),markdown=__webpack_require__(927),yaml=__webpack_require__(925),tsx=__webpack_require__(933),typescript=__webpack_require__(935),prism_light=__webpack_require__(943),ActionBar=__webpack_require__(866),ScrollArea=__webpack_require__(408),dist=__webpack_require__(34),dist_default=__webpack_require__.n(dist),formatter=memoizerific_default()(2)((function(code){return dist_default()(code)}));function _extends(){return(_extends=Object.assign||function(target){for(var i=1;i=0||(target[key]=source[key]);return target}(source,excluded);if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(source,key)&&(target[key]=source[key])}return target}function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg),value=info.value}catch(error){return void reject(error)}info.done?resolve(value):Promise.resolve(value).then(_next,_throw)}function _slicedToArray(arr,i){return function _arrayWithHoles(arr){if(Array.isArray(arr))return arr}(arr)||function _iterableToArrayLimit(arr,i){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(arr)))return;var _arr=[],_n=!0,_d=!1,_e=void 0;try{for(var _s,_i=arr[Symbol.iterator]();!(_n=(_s=_i.next()).done)&&(_arr.push(_s.value),!i||_arr.length!==i);_n=!0);}catch(err){_d=!0,_e=err}finally{try{_n||null==_i.return||_i.return()}finally{if(_d)throw _e}}return _arr}(arr,i)||function _unsupportedIterableToArray(o,minLen){if(!o)return;if("string"==typeof o)return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);"Object"===n&&o.constructor&&(n=o.constructor.name);if("Map"===n||"Set"===n)return Array.from(o);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}(arr,i)||function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function _arrayLikeToArray(arr,len){(null==len||len>arr.length)&&(len=arr.length);for(var i=0,arr2=new Array(len);i
5 | * @author Lea Verou
6 | * @namespace
7 | * @public
8 | */
9 |
--------------------------------------------------------------------------------
/docs/2.8ee2e21f.iframe.bundle.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"2.8ee2e21f.iframe.bundle.js","sources":[],"mappings":";A","sourceRoot":""}
--------------------------------------------------------------------------------
/docs/4.f9fdbe4b.iframe.bundle.js:
--------------------------------------------------------------------------------
1 | (window.webpackJsonp=window.webpackJsonp||[]).push([[4],{"./node_modules/@storybook/preview-web/dist/modern/renderDocs.js":function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,"renderDocs",(function(){return renderDocs})),__webpack_require__.d(__webpack_exports__,"unmountDocs",(function(){return unmountDocs}));var react=__webpack_require__("./node_modules/react/index.js"),react_default=__webpack_require__.n(react),react_dom=__webpack_require__("./node_modules/react-dom/index.js"),react_dom_default=__webpack_require__.n(react_dom);const wrapper={fontSize:"14px",letterSpacing:"0.2px",margin:"10px 0"},main={margin:"auto",padding:30,borderRadius:10,background:"rgba(0,0,0,0.03)"},heading={textAlign:"center"},NoDocs=()=>react_default.a.createElement("div",{style:wrapper,className:"sb-nodocs sb-wrapper"},react_default.a.createElement("div",{style:main},react_default.a.createElement("h1",{style:heading},"No Docs"),react_default.a.createElement("p",null,"Sorry, but there are no docs for the selected story. To add them, set the story's ",react_default.a.createElement("code",null,"docs")," parameter. If you think this is an error:"),react_default.a.createElement("ul",null,react_default.a.createElement("li",null,"Please check the story definition."),react_default.a.createElement("li",null,"Please check the Storybook config."),react_default.a.createElement("li",null,"Try reloading the page.")),react_default.a.createElement("p",null,"If the problem persists, check the browser console, or the terminal you've run Storybook from.")));function renderDocs(story,docsContext,element,callback){return async function renderDocsAsync(story,docsContext,element){var _docs$getContainer,_docs$getPage;const{docs:docs}=story.parameters;if((null!=docs&&docs.getPage||null!=docs&&docs.page)&&!(null!=docs&&docs.getContainer||null!=docs&&docs.container))throw new Error("No `docs.container` set, did you run `addon-docs/preset`?");const DocsContainer=docs.container||await(null===(_docs$getContainer=docs.getContainer)||void 0===_docs$getContainer?void 0:_docs$getContainer.call(docs))||(({children:children})=>react_default.a.createElement(react_default.a.Fragment,null,children)),Page=docs.page||await(null===(_docs$getPage=docs.getPage)||void 0===_docs$getPage?void 0:_docs$getPage.call(docs))||NoDocs,docsElement=react_default.a.createElement(DocsContainer,{key:story.componentId,context:docsContext},react_default.a.createElement(Page,null));await new Promise((resolve=>{react_dom_default.a.render(docsElement,element,resolve)}))}(story,docsContext,element).then(callback)}function unmountDocs(element){react_dom_default.a.unmountComponentAtNode(element)}NoDocs.displayName="NoDocs"}}]);
--------------------------------------------------------------------------------
/docs/5.f459d151315e6780c20f.manager.bundle.js.LICENSE.txt:
--------------------------------------------------------------------------------
1 | /**
2 | * Prism: Lightweight, robust, elegant syntax highlighting
3 | *
4 | * @license MIT
5 | * @author Lea Verou
6 | * @namespace
7 | * @public
8 | */
9 |
--------------------------------------------------------------------------------
/docs/6.3bd64d820f3745f262ff.manager.bundle.js:
--------------------------------------------------------------------------------
1 | (window.webpackJsonp=window.webpackJsonp||[]).push([[6],{886:function(module,exports,__webpack_require__){function _slicedToArray(arr,i){return function _arrayWithHoles(arr){if(Array.isArray(arr))return arr}(arr)||function _iterableToArrayLimit(arr,i){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(arr)))return;var _arr=[],_n=!0,_d=!1,_e=void 0;try{for(var _s,_i=arr[Symbol.iterator]();!(_n=(_s=_i.next()).done)&&(_arr.push(_s.value),!i||_arr.length!==i);_n=!0);}catch(err){_d=!0,_e=err}finally{try{_n||null==_i.return||_i.return()}finally{if(_d)throw _e}}return _arr}(arr,i)||function _unsupportedIterableToArray(o,minLen){if(!o)return;if("string"==typeof o)return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);"Object"===n&&o.constructor&&(n=o.constructor.name);if("Map"===n||"Set"===n)return Array.from(o);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}(arr,i)||function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function _arrayLikeToArray(arr,len){(null==len||len>arr.length)&&(len=arr.length);for(var i=0,arr2=new Array(len);i1&&(h-=1)),[360*h,100*s,100*v]},convert.rgb.hwb=function(rgb){var r=rgb[0],g=rgb[1],b=rgb[2];return[convert.rgb.hsl(rgb)[0],100*(1/255*Math.min(r,Math.min(g,b))),100*(b=1-1/255*Math.max(r,Math.max(g,b)))]},convert.rgb.cmyk=function(rgb){var r=rgb[0]/255,g=rgb[1]/255,b=rgb[2]/255,k=Math.min(1-r,1-g,1-b);return[100*((1-r-k)/(1-k)||0),100*((1-g-k)/(1-k)||0),100*((1-b-k)/(1-k)||0),100*k]},convert.rgb.keyword=function(rgb){var reversed=reverseKeywords[rgb];if(reversed)return reversed;for(var currentClosestKeyword,x,y,currentClosestDistance=1/0,_i3=0,_Object$keys3=Object.keys(cssKeywords);_i3<_Object$keys3.length;_i3++){var _keyword=_Object$keys3[_i3],_value=cssKeywords[_keyword],_distance=(x=rgb,y=_value,Math.pow(x[0]-y[0],2)+Math.pow(x[1]-y[1],2)+Math.pow(x[2]-y[2],2));_distance.04045?Math.pow((r+.055)/1.055,2.4):r/12.92)+.3576*(g=g>.04045?Math.pow((g+.055)/1.055,2.4):g/12.92)+.1805*(b=b>.04045?Math.pow((b+.055)/1.055,2.4):b/12.92)),100*(.2126*r+.7152*g+.0722*b),100*(.0193*r+.1192*g+.9505*b)]},convert.rgb.lab=function(rgb){var xyz=convert.rgb.xyz(rgb),x=xyz[0],y=xyz[1],z=xyz[2];return y/=100,z/=108.883,x=(x/=95.047)>.008856?Math.pow(x,1/3):7.787*x+16/116,[116*(y=y>.008856?Math.pow(y,1/3):7.787*y+16/116)-16,500*(x-y),200*(y-(z=z>.008856?Math.pow(z,1/3):7.787*z+16/116))]},convert.hsl.rgb=function(hsl){var t2,t3,val,h=hsl[0]/360,s=hsl[1]/100,l=hsl[2]/100;if(0===s)return[val=255*l,val,val];for(var t1=2*l-(t2=l<.5?l*(1+s):l+s-l*s),rgb=[0,0,0],i=0;i<3;i++)(t3=h+1/3*-(i-1))<0&&t3++,t3>1&&t3--,val=6*t3<1?t1+6*(t2-t1)*t3:2*t3<1?t2:3*t3<2?t1+(t2-t1)*(2/3-t3)*6:t1,rgb[i]=255*val;return rgb},convert.hsl.hsv=function(hsl){var h=hsl[0],s=hsl[1]/100,l=hsl[2]/100,smin=s,lmin=Math.max(l,.01);return s*=(l*=2)<=1?l:2-l,smin*=lmin<=1?lmin:2-lmin,[h,100*(0===l?2*smin/(lmin+smin):2*s/(l+s)),100*((l+s)/2)]},convert.hsv.rgb=function(hsv){var h=hsv[0]/60,s=hsv[1]/100,v=hsv[2]/100,hi=Math.floor(h)%6,f=h-Math.floor(h),p=255*v*(1-s),q=255*v*(1-s*f),t=255*v*(1-s*(1-f));switch(v*=255,hi){case 0:return[v,t,p];case 1:return[q,v,p];case 2:return[p,v,t];case 3:return[p,q,v];case 4:return[t,p,v];case 5:return[v,p,q]}},convert.hsv.hsl=function(hsv){var sl,l,h=hsv[0],s=hsv[1]/100,v=hsv[2]/100,vmin=Math.max(v,.01);l=(2-s)*v;var lmin=(2-s)*vmin;return sl=s*vmin,[h,100*(sl=(sl/=lmin<=1?lmin:2-lmin)||0),100*(l/=2)]},convert.hwb.rgb=function(hwb){var f,h=hwb[0]/360,wh=hwb[1]/100,bl=hwb[2]/100,ratio=wh+bl;ratio>1&&(wh/=ratio,bl/=ratio);var i=Math.floor(6*h),v=1-bl;f=6*h-i,0!=(1&i)&&(f=1-f);var r,g,b,n=wh+f*(v-wh);switch(i){default:case 6:case 0:r=v,g=n,b=wh;break;case 1:r=n,g=v,b=wh;break;case 2:r=wh,g=v,b=n;break;case 3:r=wh,g=n,b=v;break;case 4:r=n,g=wh,b=v;break;case 5:r=v,g=wh,b=n}return[255*r,255*g,255*b]},convert.cmyk.rgb=function(cmyk){var c=cmyk[0]/100,m=cmyk[1]/100,y=cmyk[2]/100,k=cmyk[3]/100;return[255*(1-Math.min(1,c*(1-k)+k)),255*(1-Math.min(1,m*(1-k)+k)),255*(1-Math.min(1,y*(1-k)+k))]},convert.xyz.rgb=function(xyz){var r,g,b,x=xyz[0]/100,y=xyz[1]/100,z=xyz[2]/100;return g=-.9689*x+1.8758*y+.0415*z,b=.0557*x+-.204*y+1.057*z,r=(r=3.2406*x+-1.5372*y+-.4986*z)>.0031308?1.055*Math.pow(r,1/2.4)-.055:12.92*r,g=g>.0031308?1.055*Math.pow(g,1/2.4)-.055:12.92*g,b=b>.0031308?1.055*Math.pow(b,1/2.4)-.055:12.92*b,[255*(r=Math.min(Math.max(0,r),1)),255*(g=Math.min(Math.max(0,g),1)),255*(b=Math.min(Math.max(0,b),1))]},convert.xyz.lab=function(xyz){var x=xyz[0],y=xyz[1],z=xyz[2];return y/=100,z/=108.883,x=(x/=95.047)>.008856?Math.pow(x,1/3):7.787*x+16/116,[116*(y=y>.008856?Math.pow(y,1/3):7.787*y+16/116)-16,500*(x-y),200*(y-(z=z>.008856?Math.pow(z,1/3):7.787*z+16/116))]},convert.lab.xyz=function(lab){var x,y,z,l=lab[0];x=lab[1]/500+(y=(l+16)/116),z=y-lab[2]/200;var y2=Math.pow(y,3),x2=Math.pow(x,3),z2=Math.pow(z,3);return y=y2>.008856?y2:(y-16/116)/7.787,x=x2>.008856?x2:(x-16/116)/7.787,z=z2>.008856?z2:(z-16/116)/7.787,[x*=95.047,y*=100,z*=108.883]},convert.lab.lch=function(lab){var h,l=lab[0],a=lab[1],b=lab[2];return(h=360*Math.atan2(b,a)/2/Math.PI)<0&&(h+=360),[l,Math.sqrt(a*a+b*b),h]},convert.lch.lab=function(lch){var l=lch[0],c=lch[1],hr=lch[2]/360*2*Math.PI;return[l,c*Math.cos(hr),c*Math.sin(hr)]},convert.rgb.ansi16=function(args){var saturation=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,_args=_slicedToArray(args,3),r=_args[0],g=_args[1],b=_args[2],value=null===saturation?convert.rgb.hsv(args)[2]:saturation;if(0===(value=Math.round(value/50)))return 30;var ansi=30+(Math.round(b/255)<<2|Math.round(g/255)<<1|Math.round(r/255));return 2===value&&(ansi+=60),ansi},convert.hsv.ansi16=function(args){return convert.rgb.ansi16(convert.hsv.rgb(args),args[2])},convert.rgb.ansi256=function(args){var r=args[0],g=args[1],b=args[2];return r===g&&g===b?r<8?16:r>248?231:Math.round((r-8)/247*24)+232:16+36*Math.round(r/255*5)+6*Math.round(g/255*5)+Math.round(b/255*5)},convert.ansi16.rgb=function(args){var color=args%10;if(0===color||7===color)return args>50&&(color+=3.5),[color=color/10.5*255,color,color];var mult=.5*(1+~~(args>50));return[(1&color)*mult*255,(color>>1&1)*mult*255,(color>>2&1)*mult*255]},convert.ansi256.rgb=function(args){if(args>=232){var c=10*(args-232)+8;return[c,c,c]}var rem;return args-=16,[Math.floor(args/36)/5*255,Math.floor((rem=args%36)/6)/5*255,rem%6/5*255]},convert.rgb.hex=function(args){var string=(((255&Math.round(args[0]))<<16)+((255&Math.round(args[1]))<<8)+(255&Math.round(args[2]))).toString(16).toUpperCase();return"000000".substring(string.length)+string},convert.hex.rgb=function(args){var match=args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!match)return[0,0,0];var colorString=match[0];3===match[0].length&&(colorString=colorString.split("").map((function(char){return char+char})).join(""));var integer=parseInt(colorString,16);return[integer>>16&255,integer>>8&255,255&integer]},convert.rgb.hcg=function(rgb){var hue,r=rgb[0]/255,g=rgb[1]/255,b=rgb[2]/255,max=Math.max(Math.max(r,g),b),min=Math.min(Math.min(r,g),b),chroma=max-min;return hue=chroma<=0?0:max===r?(g-b)/chroma%6:max===g?2+(b-r)/chroma:4+(r-g)/chroma,hue/=6,[360*(hue%=1),100*chroma,100*(chroma<1?min/(1-chroma):0)]},convert.hsl.hcg=function(hsl){var s=hsl[1]/100,l=hsl[2]/100,c=l<.5?2*s*l:2*s*(1-l),f=0;return c<1&&(f=(l-.5*c)/(1-c)),[hsl[0],100*c,100*f]},convert.hsv.hcg=function(hsv){var s=hsv[1]/100,v=hsv[2]/100,c=s*v,f=0;return c<1&&(f=(v-c)/(1-c)),[hsv[0],100*c,100*f]},convert.hcg.rgb=function(hcg){var h=hcg[0]/360,c=hcg[1]/100,g=hcg[2]/100;if(0===c)return[255*g,255*g,255*g];var mg,pure=[0,0,0],hi=h%1*6,v=hi%1,w=1-v;switch(Math.floor(hi)){case 0:pure[0]=1,pure[1]=v,pure[2]=0;break;case 1:pure[0]=w,pure[1]=1,pure[2]=0;break;case 2:pure[0]=0,pure[1]=1,pure[2]=v;break;case 3:pure[0]=0,pure[1]=w,pure[2]=1;break;case 4:pure[0]=v,pure[1]=0,pure[2]=1;break;default:pure[0]=1,pure[1]=0,pure[2]=w}return mg=(1-c)*g,[255*(c*pure[0]+mg),255*(c*pure[1]+mg),255*(c*pure[2]+mg)]},convert.hcg.hsv=function(hcg){var c=hcg[1]/100,v=c+hcg[2]/100*(1-c),f=0;return v>0&&(f=c/v),[hcg[0],100*f,100*v]},convert.hcg.hsl=function(hcg){var c=hcg[1]/100,l=hcg[2]/100*(1-c)+.5*c,s=0;return l>0&&l<.5?s=c/(2*l):l>=.5&&l<1&&(s=c/(2*(1-l))),[hcg[0],100*s,100*l]},convert.hcg.hwb=function(hcg){var c=hcg[1]/100,v=c+hcg[2]/100*(1-c);return[hcg[0],100*(v-c),100*(1-v)]},convert.hwb.hcg=function(hwb){var w=hwb[1]/100,v=1-hwb[2]/100,c=v-w,g=0;return c<1&&(g=(v-c)/(1-c)),[hwb[0],100*c,100*g]},convert.apple.rgb=function(apple){return[apple[0]/65535*255,apple[1]/65535*255,apple[2]/65535*255]},convert.rgb.apple=function(rgb){return[rgb[0]/255*65535,rgb[1]/255*65535,rgb[2]/255*65535]},convert.gray.rgb=function(args){return[args[0]/100*255,args[0]/100*255,args[0]/100*255]},convert.gray.hsl=function(args){return[0,0,args[0]]},convert.gray.hsv=convert.gray.hsl,convert.gray.hwb=function(gray){return[0,100,gray[0]]},convert.gray.cmyk=function(gray){return[0,0,0,gray[0]]},convert.gray.lab=function(gray){return[gray[0],0,0]},convert.gray.hex=function(gray){var val=255&Math.round(gray[0]/100*255),string=((val<<16)+(val<<8)+val).toString(16).toUpperCase();return"000000".substring(string.length)+string},convert.rgb.gray=function(rgb){return[(rgb[0]+rgb[1]+rgb[2])/3/255*100]}},938:function(module,exports,__webpack_require__){__webpack_require__(23),__webpack_require__(39);var conversions=__webpack_require__(886),route=__webpack_require__(940),convert={};Object.keys(conversions).forEach((function(fromModel){convert[fromModel]={},Object.defineProperty(convert[fromModel],"channels",{value:conversions[fromModel].channels}),Object.defineProperty(convert[fromModel],"labels",{value:conversions[fromModel].labels});var routes=route(fromModel);Object.keys(routes).forEach((function(toModel){var fn=routes[toModel];convert[fromModel][toModel]=function wrapRounded(fn){var wrappedFn=function wrappedFn(){for(var _len2=arguments.length,args=new Array(_len2),_key2=0;_key2<_len2;_key2++)args[_key2]=arguments[_key2];var arg0=args[0];if(null==arg0)return arg0;arg0.length>1&&(args=arg0);var result=fn(args);if("object"==typeof result)for(var len=result.length,i=0;i1&&(args=arg0),fn(args))};return"conversion"in fn&&(wrappedFn.conversion=fn.conversion),wrappedFn}(fn)}))})),module.exports=convert},939:function(module,exports,__webpack_require__){"use strict";module.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},940:function(module,exports,__webpack_require__){__webpack_require__(23);var conversions=__webpack_require__(886);function deriveBFS(fromModel){var graph=function buildGraph(){for(var graph={},models=Object.keys(conversions),len=models.length,i=0;i=0||(n[t]=e[t]);return n}var c="undefined"!=typeof window?react__WEBPACK_IMPORTED_MODULE_0__.useLayoutEffect:react__WEBPACK_IMPORTED_MODULE_0__.useEffect;function i(e){var r=Object(react__WEBPACK_IMPORTED_MODULE_0__.useRef)(e);return Object(react__WEBPACK_IMPORTED_MODULE_0__.useEffect)((function(){r.current=e})),Object(react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((function(e){return r.current&&r.current(e)}),[])}var s,f=function(e,r,t){return void 0===r&&(r=0),void 0===t&&(t=1),e>t?t:e0:e.buttons>0)&&h.current?_(d(h.current,e)):b(!1)}),[_]),x=Object(react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((function(e){var r=e.nativeEvent;r.preventDefault(),function(e){return!(m.current&&!v(e)||(m.current||(m.current=v(e)),0))}(r)&&(_(d(h.current,r)),b(!0))}),[_]),H=Object(react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((function(e){var r=e.which||e.keyCode;r<37||r>40||(e.preventDefault(),C({left:39===r?.05:37===r?-.05:0,top:40===r?.05:38===r?-.05:0}))}),[C]),N=Object(react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((function(){return b(!1)}),[]),w=Object(react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((function(e){var r=e?window.addEventListener:window.removeEventListener;r(m.current?"touchmove":"mousemove",E),r(m.current?"touchend":"mouseup",N)}),[E,N]);return c((function(){return w(p),function(){p&&w(!1)}}),[p,w]),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",l({},f,{className:"react-colorful__interactive",ref:h,onTouchStart:x,onMouseDown:x,onKeyDown:H,tabIndex:0,role:"slider"}))})),m=function(e){return e.filter(Boolean).join(" ")},g=function(r){var t=r.color,o=r.left,n=r.top,a=void 0===n?.5:n,l=m(["react-colorful__pointer",r.className]);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:l,style:{top:100*a+"%",left:100*o+"%"}},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"react-colorful__pointer-fill",style:{backgroundColor:t}}))},p=function(e,r,t){return void 0===r&&(r=0),void 0===t&&(t=Math.pow(10,r)),Math.round(t*e)/t},b=function(e){return"#"===e[0]&&(e=e.substr(1)),e.length<6?{r:parseInt(e[0]+e[0],16),g:parseInt(e[1]+e[1],16),b:parseInt(e[2]+e[2],16),a:1}:{r:parseInt(e.substr(0,2),16),g:parseInt(e.substr(2,2),16),b:parseInt(e.substr(4,2),16),a:1}},_=function(e){var r=/hsla?\((\d+\.?\d*),\s*(\d+\.?\d*)%?,\s*(\d+\.?\d*)%?,?\s*(\d+\.?\d*)?\)/.exec(e);return r?E({h:Number(r[1]),s:Number(r[2]),l:Number(r[3]),a:void 0===r[4]?1:Number(r[4])}):{h:0,s:0,v:0,a:1}},E=function(e){var r=e.s,t=e.l;return{h:e.h,s:(r*=(t<50?t:100-t)/100)>0?2*r/(t+r)*100:0,v:t+r,a:e.a}},x=function(e){var r=e.s,t=e.v,o=e.a,n=(200-r)*t/100;return{h:p(e.h),s:p(n>0&&n<200?r*t/100/(n<=100?n:200-n)*100:0),l:p(n/2),a:p(o,2)}},H=function(e){var r=x(e);return"hsl("+r.h+", "+r.s+"%, "+r.l+"%)"},N=function(e){var r=x(e);return"hsla("+r.h+", "+r.s+"%, "+r.l+"%, "+r.a+")"},w=function(e){var r=e.h,t=e.s,o=e.v,n=e.a;r=r/360*6,t/=100,o/=100;var a=Math.floor(r),l=o*(1-t),u=o*(1-(r-a)*t),c=o*(1-(1-r+a)*t),i=a%6;return{r:p(255*[o,u,l,l,c,o][i]),g:p(255*[c,o,o,u,l,l][i]),b:p(255*[l,l,c,o,o,u][i]),a:p(n,2)}},q=function(e){var r=/rgba?\((\d+),\s*(\d+),\s*(\d+),?\s*(\d+\.?\d*)?\)/.exec(e);return r?I({r:Number(r[1]),g:Number(r[2]),b:Number(r[3]),a:void 0===r[4]?1:Number(r[4])}):{h:0,s:0,v:0,a:1}},O=function(e){var r=e.toString(16);return r.length<2?"0"+r:r},I=function(e){var r=e.r,t=e.g,o=e.b,n=e.a,a=Math.max(r,t,o),l=a-Math.min(r,t,o),u=l?a===r?(t-o)/l:a===t?2+(o-r)/l:4+(r-t)/l:0;return{h:p(60*(u<0?u+6:u)),s:p(a?l/a*100:0),v:p(a/255*100),a:n}},z=react__WEBPACK_IMPORTED_MODULE_0___default.a.memo((function(r){var t=r.hue,o=r.onChange,n=m(["react-colorful__hue",r.className]);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:n},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(h,{onMove:function(e){o({h:360*e.left})},onKey:function(e){o({h:f(t+360*e.left,0,360)})},"aria-label":"Hue","aria-valuetext":p(t)},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(g,{className:"react-colorful__hue-pointer",left:t/360,color:H({h:t,s:100,v:100,a:1})})))})),B=react__WEBPACK_IMPORTED_MODULE_0___default.a.memo((function(r){var t=r.hsva,o=r.onChange,n={backgroundColor:H({h:t.h,s:100,v:100,a:1})};return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"react-colorful__saturation",style:n},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(h,{onMove:function(e){o({s:100*e.left,v:100-100*e.top})},onKey:function(e){o({s:f(t.s+100*e.left,0,100),v:f(t.v-100*e.top,0,100)})},"aria-label":"Color","aria-valuetext":"Saturation "+p(t.s)+"%, Brightness "+p(t.v)+"%"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(g,{className:"react-colorful__saturation-pointer",top:1-t.v/100,left:t.s/100,color:H(t)})))})),K=function(e,r){if(e===r)return!0;for(var t in e)if(e[t]!==r[t])return!1;return!0},A=function(e,r){return e.replace(/\s/g,"")===r.replace(/\s/g,"")};function D(e,r,l){var u=i(l),c=Object(react__WEBPACK_IMPORTED_MODULE_0__.useState)((function(){return e.toHsva(r)})),s=c[0],f=c[1],v=Object(react__WEBPACK_IMPORTED_MODULE_0__.useRef)({color:r,hsva:s});Object(react__WEBPACK_IMPORTED_MODULE_0__.useEffect)((function(){if(!e.equal(r,v.current.color)){var t=e.toHsva(r);v.current={hsva:t,color:r},f(t)}}),[r,e]),Object(react__WEBPACK_IMPORTED_MODULE_0__.useEffect)((function(){var r;K(s,v.current.hsva)||e.equal(r=e.fromHsva(s),v.current.color)||(v.current={hsva:s,color:r},u(r))}),[s,e,u]);var d=Object(react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((function(e){f((function(r){return Object.assign({},r,e)}))}),[]);return[s,d]}var L,T=function(){c((function(){if("undefined"!=typeof document&&!L){(L=document.createElement("style")).innerHTML='.react-colorful{position:relative;display:flex;flex-direction:column;width:200px;height:200px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.react-colorful__saturation{position:relative;flex-grow:1;border-bottom:12px solid #000;border-radius:8px 8px 0 0;background-image:linear-gradient(0deg,#000,transparent),linear-gradient(90deg,#fff,hsla(0,0%,100%,0))}.react-colorful__alpha-gradient,.react-colorful__pointer-fill{content:"";position:absolute;left:0;top:0;right:0;bottom:0;pointer-events:none;border-radius:inherit}.react-colorful__alpha-gradient,.react-colorful__saturation{box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}.react-colorful__alpha,.react-colorful__hue{position:relative;height:24px}.react-colorful__hue{background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.react-colorful__last-control{border-radius:0 0 8px 8px}.react-colorful__interactive{position:absolute;left:0;top:0;right:0;bottom:0;border-radius:inherit;outline:none;touch-action:none}.react-colorful__pointer{position:absolute;z-index:1;box-sizing:border-box;width:28px;height:28px;transform:translate(-50%,-50%);background-color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}.react-colorful__interactive:focus .react-colorful__pointer{transform:translate(-50%,-50%) scale(1.1)}.react-colorful__alpha,.react-colorful__alpha-pointer{background-color:#fff;background-image:url(\'data:image/svg+xml;charset=utf-8, \')}.react-colorful__saturation-pointer{z-index:3}.react-colorful__hue-pointer{z-index:2}';var e=s||__webpack_require__.nc;e&&L.setAttribute("nonce",e),document.head.appendChild(L)}}),[])},X=function(r){var t=r.className,o=r.colorModel,n=r.color,a=void 0===n?o.defaultColor:n,c=r.onChange,i=u(r,["className","colorModel","color","onChange"]);T();var s=D(o,a,c),f=s[0],v=s[1],d=m(["react-colorful",t]);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",l({},i,{className:d}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(B,{hsva:f,onChange:v}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(z,{hue:f.h,onChange:v,className:"react-colorful__last-control"}))},Y={defaultColor:"000",toHsva:function(e){return I(b(e))},fromHsva:function(e){return t=(r=w(e)).g,o=r.b,"#"+O(r.r)+O(t)+O(o);var r,t,o},equal:function(e,r){return e.toLowerCase()===r.toLowerCase()||K(b(e),b(r))}},$=function(r){return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(X,l({},r,{colorModel:Y}))},P=function(r){var t=r.className,o=r.hsva,n=r.onChange,a={backgroundImage:"linear-gradient(90deg, "+N(Object.assign({},o,{a:0}))+", "+N(Object.assign({},o,{a:1}))+")"},l=m(["react-colorful__alpha",t]);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:l},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"react-colorful__alpha-gradient",style:a}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(h,{onMove:function(e){n({a:e.left})},onKey:function(e){n({a:f(o.a+e.left)})},"aria-label":"Alpha","aria-valuetext":p(100*o.a)+"%"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(g,{className:"react-colorful__alpha-pointer",left:o.a,color:N(o)})))},R=function(r){var t=r.className,o=r.colorModel,n=r.color,a=void 0===n?o.defaultColor:n,c=r.onChange,i=u(r,["className","colorModel","color","onChange"]);T();var s=D(o,a,c),f=s[0],v=s[1],d=m(["react-colorful",t]);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",l({},i,{className:d}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(B,{hsva:f,onChange:v}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(z,{hue:f.h,onChange:v}),react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(P,{hsva:f,onChange:v,className:"react-colorful__last-control"}))},Q={defaultColor:"hsla(0, 0%, 0%, 1)",toHsva:_,fromHsva:N,equal:A},U=function(r){return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(R,l({},r,{colorModel:Q}))},fe={defaultColor:"rgba(0, 0, 0, 1)",toHsva:q,fromHsva:function(e){var r=w(e);return"rgba("+r.r+", "+r.g+", "+r.b+", "+r.a+")"},equal:A},ve=function(r){return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(R,l({},r,{colorModel:fe}))}}}]);
--------------------------------------------------------------------------------
/docs/7.3d04765dbf3f1dcd706c.manager.bundle.js:
--------------------------------------------------------------------------------
1 | (window.webpackJsonp=window.webpackJsonp||[]).push([[7],{867:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,"getScrollAreaStyles",(function(){return getScrollAreaStyles}));__webpack_require__(16),__webpack_require__(52);var _templateObject,react__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_2___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__),_storybook_theming__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(56);var hsResizeObserverDummyAnimation=Object(_storybook_theming__WEBPACK_IMPORTED_MODULE_3__.d)(_templateObject||(_templateObject=function _taggedTemplateLiteral(strings,raw){return raw||(raw=strings.slice(0)),Object.freeze(Object.defineProperties(strings,{raw:{value:Object.freeze(raw)}}))}(["0%{z-index:0}to{z-index:-1}"]))),getScrollAreaStyles=function getScrollAreaStyles(theme){return{"html.os-html, html.os-html>.os-host":{display:"block",overflow:"hidden",boxSizing:"border-box",height:"100%!important",width:"100%!important",minWidth:"100%!important",minHeight:"100%!important",margin:"0!important",position:"absolute!important"},"html.os-html>.os-host>.os-padding":{position:"absolute"},"body.os-dragging, body.os-dragging *":{cursor:"default"},".os-host, .os-host-textarea":{position:"relative",overflow:"visible!important",flexDirection:"column",flexWrap:"nowrap",justifyContent:"flex-start",alignContent:"flex-start",alignItems:"flex-start"},".os-host-flexbox":{overflow:"hidden!important",display:"flex"},".os-host-flexbox>.os-size-auto-observer":{height:"inherit!important"},".os-host-flexbox>.os-content-glue":{flexGrow:1,flexShrink:0},".os-host-flexbox>.os-size-auto-observer, .os-host-flexbox>.os-content-glue":{minHeight:0,minWidth:0,flexGrow:0,flexShrink:1,flexBasis:"auto"},"#os-dummy-scrollbar-size":{position:"fixed",opacity:0,visibility:"hidden",overflow:"scroll",height:500,width:500},"#os-dummy-scrollbar-size>div":{width:"200%",height:"200%",margin:10},"#os-dummy-scrollbar-size, .os-viewport":{},".os-viewport-native-scrollbars-invisible#os-dummy-scrollbar-size, .os-viewport-native-scrollbars-invisible.os-viewport":{scrollbarWidth:"none!important"},".os-viewport-native-scrollbars-invisible#os-dummy-scrollbar-size::-webkit-scrollbar, .os-viewport-native-scrollbars-invisible.os-viewport::-webkit-scrollbar, .os-viewport-native-scrollbars-invisible#os-dummy-scrollbar-size::-webkit-scrollbar-corner, .os-viewport-native-scrollbars-invisible.os-viewport::-webkit-scrollbar-corner":{display:"none!important",width:"0!important",height:"0!important",visibility:"hidden!important",background:"0 0!important"},".os-content-glue":{boxSizing:"inherit",maxHeight:"100%",maxWidth:"100%",width:"100%",pointerEvents:"none"},".os-padding":{boxSizing:"inherit",direction:"inherit",position:"absolute",overflow:"visible",padding:0,margin:0,left:0,top:0,bottom:0,right:0,width:"auto!important",height:"auto!important",zIndex:1},".os-host-overflow>.os-padding":{overflow:"hidden"},".os-viewport":{direction:"inherit!important",boxSizing:"inherit!important",resize:"none!important",outline:"0!important",position:"absolute",overflow:"hidden",top:0,left:0,bottom:0,right:0,padding:0,margin:0},".os-content-arrange":{position:"absolute",zIndex:-1,minHeight:1,minWidth:1,pointerEvents:"none"},".os-content":{direction:"inherit",boxSizing:"border-box!important",position:"relative",display:"block",height:"100%",width:"100%",visibility:"visible"},".os-content:before, .os-content:after":{content:"''",display:"table",width:0,height:0,lineHeight:0,fontSize:0},".os-content>.os-textarea":{boxSizing:"border-box!important",direction:"inherit!important",background:"0 0!important",outline:"0 transparent!important",overflow:"hidden!important",position:"absolute!important",display:"block!important",top:"0!important",left:"0!important",margin:"0!important",borderRadius:"0!important",float:"none!important",filter:"none!important",border:"0!important",resize:"none!important",transform:"none!important",maxWidth:"none!important",maxHeight:"none!important",boxShadow:"none!important",perspective:"none!important",opacity:"1!important",zIndex:"1!important",clip:"auto!important",verticalAlign:"baseline!important",padding:0},".os-host-rtl>.os-padding>.os-viewport>.os-content>.os-textarea":{right:"0!important"},".os-content>.os-textarea-cover":{zIndex:-1,pointerEvents:"none"},".os-content>.os-textarea[wrap=off]":{whiteSpace:"pre!important",margin:"0!important"},".os-text-inherit":{fontFamily:"inherit",fontSize:"inherit",fontWeight:"inherit",fontStyle:"inherit",fontVariant:"inherit",textTransform:"inherit",textDecoration:"inherit",textIndent:"inherit",textAlign:"inherit",textShadow:"inherit",textOverflow:"inherit",letterSpacing:"inherit",wordSpacing:"inherit",lineHeight:"inherit",unicodeBidi:"inherit",direction:"inherit",color:"inherit",cursor:"text"},".os-resize-observer, .os-resize-observer-host":{boxSizing:"inherit",display:"block",opacity:0,position:"absolute",top:0,left:0,height:"100%",width:"100%",overflow:"hidden",pointerEvents:"none",zIndex:-1},".os-resize-observer-host":{padding:"inherit",border:"inherit",borderColor:"transparent",borderStyle:"solid",boxSizing:"border-box"},".os-resize-observer-host:after":{content:"''"},".os-resize-observer-host>.os-resize-observer, .os-resize-observer-host:after":{height:"200%",width:"200%",padding:"inherit",border:"inherit",margin:0,display:"block",boxSizing:"content-box"},".os-resize-observer.observed, object.os-resize-observer":{boxSizing:"border-box!important"},".os-size-auto-observer":{boxSizing:"inherit!important",height:"100%",width:"inherit",maxWidth:1,position:"relative",float:"left",maxHeight:1,overflow:"hidden",zIndex:-1,padding:0,margin:0,pointerEvents:"none",flexGrow:"inherit",flexShrink:0,flexBasis:0},".os-size-auto-observer>.os-resize-observer":{width:"1000%",height:"1000%",minHeight:1,minWidth:1},".os-resize-observer-item":{position:"absolute",top:0,right:0,bottom:0,left:0,overflow:"hidden",zIndex:-1,opacity:0,direction:"ltr!important",flex:"none!important"},".os-resize-observer-item-final":{position:"absolute",left:0,top:0,transition:"none!important",flex:"none!important"},".os-resize-observer":{animationDuration:".001s",animationName:"".concat(hsResizeObserverDummyAnimation)},".os-host-transition>.os-scrollbar, .os-host-transition>.os-scrollbar-corner":{transition:"opacity .3s,visibility .3s,top .3s,right .3s,bottom .3s,left .3s"},"html.os-html>.os-host>.os-scrollbar":{position:"absolute",zIndex:999999},".os-scrollbar, .os-scrollbar-corner":{position:"absolute",opacity:1,zIndex:1},".os-scrollbar-corner":{bottom:0,right:0,height:10,width:10,backgroundColor:"transparent"},".os-scrollbar":{pointerEvents:"none",padding:2,boxSizing:"border-box",background:0},".os-scrollbar-track":{pointerEvents:"auto",position:"relative",height:"100%",width:"100%",padding:"0!important",border:"0!important"},".os-scrollbar-handle":{pointerEvents:"auto",position:"absolute",width:"100%",height:"100%"},".os-scrollbar-handle-off, .os-scrollbar-track-off":{pointerEvents:"none"},".os-scrollbar.os-scrollbar-unusable, .os-scrollbar.os-scrollbar-unusable *":{pointerEvents:"none!important"},".os-scrollbar.os-scrollbar-unusable .os-scrollbar-handle":{opacity:"0!important"},".os-scrollbar-horizontal":{bottom:0,left:0,right:10,height:10},".os-scrollbar-vertical":{top:0,right:0,bottom:10,width:10},".os-host-rtl>.os-scrollbar-horizontal":{right:0},".os-host-rtl>.os-scrollbar-vertical":{right:"auto",left:0},".os-host-rtl>.os-scrollbar-corner":{right:"auto",left:0},".os-scrollbar-auto-hidden, .os-padding+.os-scrollbar-corner, .os-host-resize-disabled.os-host-scrollbar-horizontal-hidden>.os-scrollbar-corner, .os-host-scrollbar-horizontal-hidden>.os-scrollbar-horizontal, .os-host-resize-disabled.os-host-scrollbar-vertical-hidden>.os-scrollbar-corner, .os-host-scrollbar-vertical-hidden>.os-scrollbar-vertical, .os-scrollbar-horizontal.os-scrollbar-auto-hidden+.os-scrollbar-vertical+.os-scrollbar-corner, .os-scrollbar-horizontal+.os-scrollbar-vertical.os-scrollbar-auto-hidden+.os-scrollbar-corner, .os-scrollbar-horizontal.os-scrollbar-auto-hidden+.os-scrollbar-vertical.os-scrollbar-auto-hidden+.os-scrollbar-corner":{opacity:0,visibility:"hidden",pointerEvents:"none"},".os-scrollbar-corner-resize-both":{cursor:"nwse-resize"},".os-host-rtl>.os-scrollbar-corner-resize-both":{cursor:"nesw-resize"},".os-scrollbar-corner-resize-horizontal":{cursor:"ew-resize"},".os-scrollbar-corner-resize-vertical":{cursor:"ns-resize"},".os-dragging .os-scrollbar-corner.os-scrollbar-corner-resize":{cursor:"default"},".os-host-resize-disabled.os-host-scrollbar-horizontal-hidden>.os-scrollbar-vertical":{top:0,bottom:0},".os-host-resize-disabled.os-host-scrollbar-vertical-hidden>.os-scrollbar-horizontal, .os-host-rtl.os-host-resize-disabled.os-host-scrollbar-vertical-hidden>.os-scrollbar-horizontal":{right:0,left:0},".os-scrollbar:hover, .os-scrollbar-corner.os-scrollbar-corner-resize":{opacity:"1!important",visibility:"visible!important"},".os-scrollbar-corner.os-scrollbar-corner-resize":{backgroundImage:"linear-gradient(135deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 50%, rgba(0,0,0,0.4) 50%, rgba(0,0,0,0.4) 100%)",backgroundRepeat:"no-repeat",backgroundPosition:"100% 100%",pointerEvents:"auto!important"},".os-host-rtl>.os-scrollbar-corner.os-scrollbar-corner-resize":{transform:"scale(-1,1)"},".os-host-overflow":{overflow:"hidden!important"},".os-theme-dark.os-host-rtl>.os-scrollbar-horizontal":{left:10,right:0},".os-scrollbar.os-scrollbar-unusable":{background:0},".os-scrollbar>.os-scrollbar-track":{background:0},".os-scrollbar-horizontal>.os-scrollbar-track>.os-scrollbar-handle":{minWidth:30},".os-scrollbar-vertical>.os-scrollbar-track>.os-scrollbar-handle":{minHeight:30},".os-theme-dark.os-host-transition>.os-scrollbar>.os-scrollbar-track>.os-scrollbar-handle":{transition:"background-color .3s"},".os-scrollbar>.os-scrollbar-track>.os-scrollbar-handle, .os-scrollbar>.os-scrollbar-track":{borderRadius:10},".os-scrollbar>.os-scrollbar-track>.os-scrollbar-handle":{background:theme.color.mediumdark,opacity:.5},".os-scrollbar:hover>.os-scrollbar-track>.os-scrollbar-handle":{opacity:.6},".os-scrollbar-horizontal .os-scrollbar-handle:before, .os-scrollbar-vertical .os-scrollbar-handle:before":{content:"''",position:"absolute",left:0,right:0,top:0,bottom:0,display:"block"},".os-theme-dark.os-host-scrollbar-horizontal-hidden>.os-scrollbar-horizontal .os-scrollbar-handle:before, .os-theme-dark.os-host-scrollbar-vertical-hidden>.os-scrollbar-vertical .os-scrollbar-handle:before":{display:"none"},".os-scrollbar-horizontal .os-scrollbar-handle:before":{top:-6,bottom:-2},".os-scrollbar-vertical .os-scrollbar-handle:before":{left:-6,right:-2},".os-host-rtl.os-scrollbar-vertical .os-scrollbar-handle:before":{right:-6,left:-2}}},GlobalScrollAreaStyles=function GlobalScrollAreaStyles(){return react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(_storybook_theming__WEBPACK_IMPORTED_MODULE_3__.a,{styles:getScrollAreaStyles})};GlobalScrollAreaStyles.displayName="GlobalScrollAreaStyles",__webpack_exports__.default=GlobalScrollAreaStyles}}]);
--------------------------------------------------------------------------------
/docs/8.b541eadfcb9164835dfc.manager.bundle.js:
--------------------------------------------------------------------------------
1 | (window.webpackJsonp=window.webpackJsonp||[]).push([[8],{868:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,"OverlayScrollbarsComponent",(function(){return OverlayScrollbarsComponent}));__webpack_require__(455),__webpack_require__(27),__webpack_require__(88),__webpack_require__(80),__webpack_require__(63),__webpack_require__(32),__webpack_require__(79),__webpack_require__(42),__webpack_require__(18),__webpack_require__(23),__webpack_require__(4),__webpack_require__(15);var react__WEBPACK_IMPORTED_MODULE_12__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_12___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_12__),overlayscrollbars__WEBPACK_IMPORTED_MODULE_13__=__webpack_require__(890),overlayscrollbars__WEBPACK_IMPORTED_MODULE_13___default=__webpack_require__.n(overlayscrollbars__WEBPACK_IMPORTED_MODULE_13__);function _extends(){return(_extends=Object.assign||function(target){for(var i=1;i=0||(target[key]=source[key]);return target}(source,excluded);if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(source,key)&&(target[key]=source[key])}return target}var OverlayScrollbarsComponent=function OverlayScrollbarsComponent(_ref){var _ref$options=_ref.options,options=void 0===_ref$options?{}:_ref$options,extensions=_ref.extensions,className=_ref.className,children=_ref.children,rest=_objectWithoutProperties(_ref,["options","extensions","className","children"]),osTargetRef=react__WEBPACK_IMPORTED_MODULE_12___default.a.useRef(),osInstance=react__WEBPACK_IMPORTED_MODULE_12___default.a.useRef();return react__WEBPACK_IMPORTED_MODULE_12___default.a.useEffect((function(){return osInstance.current=overlayscrollbars__WEBPACK_IMPORTED_MODULE_13___default()(osTargetRef.current,options,extensions),mergeHostClassNames(osInstance.current,className),function(){overlayscrollbars__WEBPACK_IMPORTED_MODULE_13___default.a.valid(osInstance.current)&&(osInstance.current.destroy(),osInstance.current=null)}}),[]),react__WEBPACK_IMPORTED_MODULE_12___default.a.useEffect((function(){overlayscrollbars__WEBPACK_IMPORTED_MODULE_13___default.a.valid(osInstance.current)&&osInstance.current.options(options)}),[options]),react__WEBPACK_IMPORTED_MODULE_12___default.a.useEffect((function(){overlayscrollbars__WEBPACK_IMPORTED_MODULE_13___default.a.valid(osInstance.current)&&mergeHostClassNames(osInstance.current,className)}),[className]),react__WEBPACK_IMPORTED_MODULE_12___default.a.createElement("div",_extends({className:"os-host"},rest,{ref:osTargetRef}),react__WEBPACK_IMPORTED_MODULE_12___default.a.createElement("div",{className:"os-resize-observer-host"}),react__WEBPACK_IMPORTED_MODULE_12___default.a.createElement("div",{className:"os-padding"},react__WEBPACK_IMPORTED_MODULE_12___default.a.createElement("div",{className:"os-viewport"},react__WEBPACK_IMPORTED_MODULE_12___default.a.createElement("div",{className:"os-content"},children))),react__WEBPACK_IMPORTED_MODULE_12___default.a.createElement("div",{className:"os-scrollbar os-scrollbar-horizontal "},react__WEBPACK_IMPORTED_MODULE_12___default.a.createElement("div",{className:"os-scrollbar-track"},react__WEBPACK_IMPORTED_MODULE_12___default.a.createElement("div",{className:"os-scrollbar-handle"}))),react__WEBPACK_IMPORTED_MODULE_12___default.a.createElement("div",{className:"os-scrollbar os-scrollbar-vertical"},react__WEBPACK_IMPORTED_MODULE_12___default.a.createElement("div",{className:"os-scrollbar-track"},react__WEBPACK_IMPORTED_MODULE_12___default.a.createElement("div",{className:"os-scrollbar-handle"}))),react__WEBPACK_IMPORTED_MODULE_12___default.a.createElement("div",{className:"os-scrollbar-corner"}))};function mergeHostClassNames(osInstance,className){if(overlayscrollbars__WEBPACK_IMPORTED_MODULE_13___default.a.valid(osInstance)){var host=osInstance.getElements().host,regex=new RegExp("(^os-host([-_].+|)$)|".concat(osInstance.options().className.replace(/\s/g,"$|"),"$"),"g"),osClassNames=host.className.split(" ").filter((function(name){return name.match(regex)})).join(" ");host.className="".concat(osClassNames," ").concat(className||"")}}OverlayScrollbarsComponent.displayName="OverlayScrollbarsComponent",__webpack_exports__.default=OverlayScrollbarsComponent}}]);
--------------------------------------------------------------------------------
/docs/9.411ac8e451bbb10926c7.manager.bundle.js:
--------------------------------------------------------------------------------
1 | (window.webpackJsonp=window.webpackJsonp||[]).push([[9],{870:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,"ColorControl",(function(){return Color_ColorControl}));__webpack_require__(23),__webpack_require__(4),__webpack_require__(10),__webpack_require__(5),__webpack_require__(13),__webpack_require__(8),__webpack_require__(9),__webpack_require__(12),__webpack_require__(17),__webpack_require__(18),__webpack_require__(15),__webpack_require__(67),__webpack_require__(42),__webpack_require__(27),__webpack_require__(21),__webpack_require__(118),__webpack_require__(80),__webpack_require__(168),__webpack_require__(79),__webpack_require__(16),__webpack_require__(32),__webpack_require__(14);var react=__webpack_require__(0),react_default=__webpack_require__.n(react),index_module=__webpack_require__(941),color_convert=__webpack_require__(938),color_convert_default=__webpack_require__.n(color_convert),throttle=__webpack_require__(410),throttle_default=__webpack_require__.n(throttle),esm=__webpack_require__(1);__webpack_require__(48);function _objectWithoutProperties(source,excluded){if(null==source)return{};var key,i,target=function _objectWithoutPropertiesLoose(source,excluded){if(null==source)return{};var key,i,target={},sourceKeys=Object.keys(source);for(i=0;i=0||(target[key]=source[key]);return target}(source,excluded);if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(source,key)&&(target[key]=source[key])}return target}var Note=esm.styled.div((function(_ref){var theme=_ref.theme;return{padding:"2px 6px",lineHeight:"16px",fontSize:10,fontWeight:theme.typography.weight.bold,color:theme.color.lightest,boxShadow:"0 0 5px 0 rgba(0, 0, 0, 0.3)",borderRadius:4,whiteSpace:"nowrap",pointerEvents:"none",zIndex:-1,background:"light"===theme.base?"rgba(60, 60, 60, 0.9)":"rgba(20, 20, 20, 0.85)",margin:6}})),TooltipNote_TooltipNote=function TooltipNote(_ref2){var note=_ref2.note,props=_objectWithoutProperties(_ref2,["note"]);return react_default.a.createElement(Note,props,note)};TooltipNote_TooltipNote.displayName="TooltipNote";var _ColorPicker,_fallbackColor,lazy_WithTooltip=__webpack_require__(407),esm_form=__webpack_require__(55),icon=__webpack_require__(60),helpers=__webpack_require__(37);function _slicedToArray(arr,i){return function _arrayWithHoles(arr){if(Array.isArray(arr))return arr}(arr)||function _iterableToArrayLimit(arr,i){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(arr)))return;var _arr=[],_n=!0,_d=!1,_e=void 0;try{for(var _s,_i=arr[Symbol.iterator]();!(_n=(_s=_i.next()).done)&&(_arr.push(_s.value),!i||_arr.length!==i);_n=!0);}catch(err){_d=!0,_e=err}finally{try{_n||null==_i.return||_i.return()}finally{if(_d)throw _e}}return _arr}(arr,i)||function _unsupportedIterableToArray(o,minLen){if(!o)return;if("string"==typeof o)return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);"Object"===n&&o.constructor&&(n=o.constructor.name);if("Map"===n||"Set"===n)return Array.from(o);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}(arr,i)||function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function _arrayLikeToArray(arr,len){(null==len||len>arr.length)&&(len=arr.length);for(var i=0,arr2=new Array(len);i=0||(target[key]=source[key]);return target}(source,excluded);if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(source,key)&&(target[key]=source[key])}return target}var Wrapper=esm.styled.div({position:"relative",maxWidth:250}),PickerTooltip=Object(esm.styled)(lazy_WithTooltip.a)({position:"absolute",zIndex:1,top:4,left:4}),TooltipContent=esm.styled.div({width:200,margin:5,".react-colorful__saturation":{borderRadius:"4px 4px 0 0"},".react-colorful__hue":{boxShadow:"inset 0 0 0 1px rgb(0 0 0 / 5%)"},".react-colorful__last-control":{borderRadius:"0 0 4px 4px"}}),Color_Note=Object(esm.styled)(TooltipNote_TooltipNote)((function(_ref){return{fontFamily:_ref.theme.typography.fonts.base}})),Swatches=esm.styled.div({display:"grid",gridTemplateColumns:"repeat(9, 16px)",gap:6,padding:3,marginTop:5,width:200}),SwatchColor=esm.styled.div((function(_ref2){var theme=_ref2.theme;return{width:16,height:16,boxShadow:_ref2.active?"".concat(theme.appBorderColor," 0 0 0 1px inset, ").concat(theme.color.mediumdark,"50 0 0 0 4px"):"".concat(theme.appBorderColor," 0 0 0 1px inset"),borderRadius:theme.appBorderRadius}})),Color_Swatch=function Swatch(_ref3){var value=_ref3.value,active=_ref3.active,onClick=_ref3.onClick,style=_ref3.style,props=Color_objectWithoutProperties(_ref3,["value","active","onClick","style"]),backgroundImage="linear-gradient(".concat(value,", ").concat(value,"), ").concat('url(\'data:image/svg+xml;charset=utf-8, \')',", linear-gradient(#fff, #fff)");return react_default.a.createElement(SwatchColor,_extends({},props,{active:active,onClick:onClick,style:Object.assign({},style,{backgroundImage:backgroundImage})}))};Color_Swatch.displayName="Swatch";var ColorSpace,Input=Object(esm.styled)(esm_form.a.Input)((function(_ref4){return{width:"100%",paddingLeft:30,paddingRight:30,boxSizing:"border-box",fontFamily:_ref4.theme.typography.fonts.base}})),ToggleIcon=Object(esm.styled)(icon.a)((function(_ref5){return{position:"absolute",zIndex:1,top:6,right:7,width:20,height:20,padding:4,boxSizing:"border-box",cursor:"pointer",color:_ref5.theme.input.color}}));!function(ColorSpace){ColorSpace.RGB="rgb",ColorSpace.HSL="hsl",ColorSpace.HEX="hex"}(ColorSpace||(ColorSpace={}));var COLOR_SPACES=Object.values(ColorSpace),COLOR_REGEXP=/\(([0-9]+),\s*([0-9]+)%?,\s*([0-9]+)%?,?\s*([0-9.]+)?\)/,RGB_REGEXP=/^\s*rgba?\(([0-9]+),\s*([0-9]+),\s*([0-9]+),?\s*([0-9.]+)?\)\s*$/i,HSL_REGEXP=/^\s*hsla?\(([0-9]+),\s*([0-9]+)%,\s*([0-9]+)%,?\s*([0-9.]+)?\)\s*$/i,HEX_REGEXP=/^\s*#?([0-9a-f]{3}|[0-9a-f]{6})\s*$/i,SHORTHEX_REGEXP=/^\s*#?([0-9a-f]{3})\s*$/i,ColorPicker=(_defineProperty(_ColorPicker={},ColorSpace.HEX,index_module.a),_defineProperty(_ColorPicker,ColorSpace.RGB,index_module.c),_defineProperty(_ColorPicker,ColorSpace.HSL,index_module.b),_ColorPicker),fallbackColor=(_defineProperty(_fallbackColor={},ColorSpace.HEX,"transparent"),_defineProperty(_fallbackColor,ColorSpace.RGB,"rgba(0, 0, 0, 0)"),_defineProperty(_fallbackColor,ColorSpace.HSL,"hsla(0, 0%, 0%, 0)"),_fallbackColor),stringToArgs=function stringToArgs(value){var match=null==value?void 0:value.match(COLOR_REGEXP);if(!match)return[0,0,0,1];var _match=_slicedToArray(match,5),x=_match[1],y=_match[2],z=_match[3],_match$=_match[4];return[x,y,z,void 0===_match$?1:_match$].map(Number)},Color_parseValue=function parseValue(value){var _ref12;if(value){var valid=!0;if(RGB_REGEXP.test(value)){var _ref8,_stringToArgs2=_slicedToArray(stringToArgs(value),4),r=_stringToArgs2[0],g=_stringToArgs2[1],b=_stringToArgs2[2],a=_stringToArgs2[3],_ref7=_slicedToArray(color_convert_default.a.rgb.hsl([r,g,b])||[0,0,0],3),h=_ref7[0],s=_ref7[1],l=_ref7[2];return _defineProperty(_ref8={valid:valid,value:value,keyword:color_convert_default.a.rgb.keyword([r,g,b]),colorSpace:ColorSpace.RGB},ColorSpace.RGB,value),_defineProperty(_ref8,ColorSpace.HSL,"hsla(".concat(h,", ").concat(s,"%, ").concat(l,"%, ").concat(a,")")),_defineProperty(_ref8,ColorSpace.HEX,"#".concat(color_convert_default.a.rgb.hex([r,g,b]).toLowerCase())),_ref8}if(HSL_REGEXP.test(value)){var _ref11,_stringToArgs4=_slicedToArray(stringToArgs(value),4),_h=_stringToArgs4[0],_s2=_stringToArgs4[1],_l=_stringToArgs4[2],_a=_stringToArgs4[3],_ref10=_slicedToArray(color_convert_default.a.hsl.rgb([_h,_s2,_l])||[0,0,0],3),_r=_ref10[0],_g=_ref10[1],_b=_ref10[2];return _defineProperty(_ref11={valid:valid,value:value,keyword:color_convert_default.a.hsl.keyword([_h,_s2,_l]),colorSpace:ColorSpace.HSL},ColorSpace.RGB,"rgba(".concat(_r,", ").concat(_g,", ").concat(_b,", ").concat(_a,")")),_defineProperty(_ref11,ColorSpace.HSL,value),_defineProperty(_ref11,ColorSpace.HEX,"#".concat(color_convert_default.a.hsl.hex([_h,_s2,_l]).toLowerCase())),_ref11}var plain=value.replace("#",""),rgb=color_convert_default.a.keyword.rgb(plain)||color_convert_default.a.hex.rgb(plain),hsl=color_convert_default.a.rgb.hsl(rgb),mapped=value;if(/[^#a-f0-9]/i.test(value)?mapped=plain:HEX_REGEXP.test(value)&&(mapped="#".concat(plain)),mapped.startsWith("#"))valid=HEX_REGEXP.test(mapped);else try{color_convert_default.a.keyword.hex(mapped)}catch(e){valid=!1}return _defineProperty(_ref12={valid:valid,value:mapped,keyword:color_convert_default.a.rgb.keyword(rgb),colorSpace:ColorSpace.HEX},ColorSpace.RGB,"rgba(".concat(rgb[0],", ").concat(rgb[1],", ").concat(rgb[2],", 1)")),_defineProperty(_ref12,ColorSpace.HSL,"hsla(".concat(hsl[0],", ").concat(hsl[1],"%, ").concat(hsl[2],"%, 1)")),_defineProperty(_ref12,ColorSpace.HEX,mapped),_ref12}},Color_useColorInput=function useColorInput(initialValue,onChange){var _useState2=_slicedToArray(Object(react.useState)(initialValue||""),2),value=_useState2[0],setValue=_useState2[1],_useState4=_slicedToArray(Object(react.useState)((function(){return Color_parseValue(value)})),2),color=_useState4[0],setColor=_useState4[1],_useState6=_slicedToArray(Object(react.useState)((null==color?void 0:color.colorSpace)||ColorSpace.HEX),2),colorSpace=_useState6[0],setColorSpace=_useState6[1];Object(react.useEffect)((function(){void 0===initialValue&&(setValue(""),setColor(void 0),setColorSpace(ColorSpace.HEX))}),[initialValue]);var realValue=Object(react.useMemo)((function(){return function getRealValue(value,color,colorSpace){if(!value||null==color||!color.valid)return fallbackColor[colorSpace];if(colorSpace!==ColorSpace.HEX)return(null==color?void 0:color[colorSpace])||fallbackColor[colorSpace];if(!color.hex.startsWith("#"))try{return"#".concat(color_convert_default.a.keyword.hex(color.hex))}catch(e){return fallbackColor.hex}var short=color.hex.match(SHORTHEX_REGEXP);if(!short)return HEX_REGEXP.test(color.hex)?color.hex:fallbackColor.hex;var _short$1$split2=_slicedToArray(short[1].split(""),3),r=_short$1$split2[0],g=_short$1$split2[1],b=_short$1$split2[2];return"#".concat(r).concat(r).concat(g).concat(g).concat(b).concat(b)}(value,color,colorSpace).toLowerCase()}),[value,color,colorSpace]),updateValue=Object(react.useCallback)((function(update){var parsed=Color_parseValue(update);setValue((null==parsed?void 0:parsed.value)||update||""),parsed&&(setColor(parsed),setColorSpace(parsed.colorSpace),onChange(parsed.value))}),[onChange]),cycleColorSpace=Object(react.useCallback)((function(){var next=COLOR_SPACES.indexOf(colorSpace)+1;next>=COLOR_SPACES.length&&(next=0),setColorSpace(COLOR_SPACES[next]);var update=(null==color?void 0:color[COLOR_SPACES[next]])||"";setValue(update),onChange(update)}),[color,colorSpace,onChange]);return{value:value,realValue:realValue,updateValue:updateValue,color:color,colorSpace:colorSpace,cycleColorSpace:cycleColorSpace}},id=function id(value){return value.replace(/\s*/,"").toLowerCase()},Color_ColorControl=function ColorControl(_ref13){var name=_ref13.name,initialValue=_ref13.value,onChange=_ref13.onChange,onFocus=_ref13.onFocus,onBlur=_ref13.onBlur,presetColors=_ref13.presetColors,startOpen=_ref13.startOpen,_useColorInput=Color_useColorInput(initialValue,throttle_default()(onChange,200)),value=_useColorInput.value,realValue=_useColorInput.realValue,updateValue=_useColorInput.updateValue,color=_useColorInput.color,colorSpace=_useColorInput.colorSpace,cycleColorSpace=_useColorInput.cycleColorSpace,_usePresets=function usePresets(presetColors,currentColor,colorSpace){var _useState8=_slicedToArray(Object(react.useState)(null!=currentColor&¤tColor.valid?[currentColor]:[]),2),selectedColors=_useState8[0],setSelectedColors=_useState8[1];Object(react.useEffect)((function(){void 0===currentColor&&setSelectedColors([])}),[currentColor]);var presets=Object(react.useMemo)((function(){return(presetColors||[]).map((function(preset){return"string"==typeof preset?Color_parseValue(preset):preset.title?Object.assign({},Color_parseValue(preset.color),{keyword:preset.title}):Color_parseValue(preset.color)})).concat(selectedColors).filter(Boolean).slice(-27)}),[presetColors,selectedColors]),addPreset=Object(react.useCallback)((function(color){null!=color&&color.valid&&(presets.some((function(preset){return id(preset[colorSpace])===id(color[colorSpace])}))||setSelectedColors((function(arr){return arr.concat(color)})))}),[colorSpace,presets]);return{presets:presets,addPreset:addPreset}}(presetColors,color,colorSpace),presets=_usePresets.presets,addPreset=_usePresets.addPreset,Picker=ColorPicker[colorSpace];return react_default.a.createElement(Wrapper,null,react_default.a.createElement(PickerTooltip,{trigger:"click",startOpen:startOpen,closeOnClick:!0,onVisibilityChange:function onVisibilityChange(){return addPreset(color)},tooltip:react_default.a.createElement(TooltipContent,null,react_default.a.createElement(Picker,{color:"transparent"===realValue?"#000000":realValue,onChange:updateValue,onFocus:onFocus,onBlur:onBlur}),presets.length>0&&react_default.a.createElement(Swatches,null,presets.map((function(preset,index){return react_default.a.createElement(lazy_WithTooltip.a,{key:"".concat(preset.value,"-").concat(index),hasChrome:!1,tooltip:react_default.a.createElement(Color_Note,{note:preset.keyword||preset.value})},react_default.a.createElement(Color_Swatch,{value:preset[colorSpace],active:color&&id(preset[colorSpace])===id(color[colorSpace]),onClick:function onClick(){return updateValue(preset.value)}}))}))))},react_default.a.createElement(Color_Swatch,{value:realValue,style:{margin:4}})),react_default.a.createElement(Input,{id:Object(helpers.a)(name),value:value,onChange:function onChange(e){return updateValue(e.target.value)},onFocus:function onFocus(e){return e.target.select()},placeholder:"Choose color..."}),value?react_default.a.createElement(ToggleIcon,{icon:"markup",onClick:cycleColorSpace}):null)};Color_ColorControl.displayName="ColorControl";__webpack_exports__.default=Color_ColorControl}}]);
--------------------------------------------------------------------------------
/docs/9.7709c9e9.iframe.bundle.js.LICENSE.txt:
--------------------------------------------------------------------------------
1 | /*!
2 | * OverlayScrollbars
3 | * https://github.com/KingSora/OverlayScrollbars
4 | *
5 | * Version: 1.13.0
6 | *
7 | * Copyright KingSora | Rene Haas.
8 | * https://github.com/KingSora
9 | *
10 | * Released under the MIT license.
11 | * Date: 02.08.2020
12 | */
13 |
--------------------------------------------------------------------------------
/docs/9.7709c9e9.iframe.bundle.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"9.7709c9e9.iframe.bundle.js","sources":[],"mappings":";A","sourceRoot":""}
--------------------------------------------------------------------------------
/docs/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kitwon/vue-loading-skeleton/8a429762316b10ceeb7cd67981028caf6235d431/docs/favicon.ico
--------------------------------------------------------------------------------
/docs/iframe.html:
--------------------------------------------------------------------------------
1 | Webpack App Name Description Default Control propertyName * This is a short description
defaultValue
Set string propertyName * This is a short description
defaultValue
Set string propertyName * This is a short description
defaultValue
Set string
No Preview Sorry, but you either have no stories or none are selected somehow.
Please check the Storybook config. Try reloading the page. If the problem persists, check the browser console, or the terminal you've run Storybook from.
--------------------------------------------------------------------------------
/docs/index.html:
--------------------------------------------------------------------------------
1 | Webpack App
--------------------------------------------------------------------------------
/docs/runtime~main.91a0c7330ab317d35c4a.manager.bundle.js:
--------------------------------------------------------------------------------
1 | !function(modules){function webpackJsonpCallback(data){for(var moduleId,chunkId,chunkIds=data[0],moreModules=data[1],executeModules=data[2],i=0,resolves=[];i
11 | * @license MIT
12 | */
13 |
14 | /*!
15 | * isobject
16 | *
17 | * Copyright (c) 2014-2017, Jon Schlinkert.
18 | * Released under the MIT License.
19 | */
20 |
21 | /** @license React v16.14.0
22 | * react.production.min.js
23 | *
24 | * Copyright (c) Facebook, Inc. and its affiliates.
25 | *
26 | * This source code is licensed under the MIT license found in the
27 | * LICENSE file in the root directory of this source tree.
28 | */
29 |
30 | //! stable.js 0.1.8, https://github.com/Two-Screen/stable
31 |
32 | //! © 2018 Angry Bytes and contributors. MIT licensed.
33 |
--------------------------------------------------------------------------------
/docs/vendors~main.ebe7153f.iframe.bundle.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"vendors~main.ebe7153f.iframe.bundle.js","sources":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;A","sourceRoot":""}
--------------------------------------------------------------------------------
/docs/vendors~main.f7f16cebbf3aa96a4f89.manager.bundle.js.LICENSE.txt:
--------------------------------------------------------------------------------
1 | /*
2 | object-assign
3 | (c) Sindre Sorhus
4 | @license MIT
5 | */
6 |
7 | /*!
8 | Copyright (c) 2017 Jed Watson.
9 | Licensed under the MIT License (MIT), see
10 | http://jedwatson.github.io/classnames
11 | */
12 |
13 | /*!
14 | * Fuse.js v3.6.1 - Lightweight fuzzy-search (http://fusejs.io)
15 | *
16 | * Copyright (c) 2012-2017 Kirollos Risk (http://kiro.me)
17 | * All Rights Reserved. Apache Software License 2.0
18 | *
19 | * http://www.apache.org/licenses/LICENSE-2.0
20 | */
21 |
22 | /*!
23 | * https://github.com/es-shims/es5-shim
24 | * @license es5-shim Copyright 2009-2020 by contributors, MIT License
25 | * see https://github.com/es-shims/es5-shim/blob/master/LICENSE
26 | */
27 |
28 | /*!
29 | * https://github.com/paulmillr/es6-shim
30 | * @license es6-shim Copyright 2013-2016 by Paul Miller (http://paulmillr.com)
31 | * and contributors, MIT License
32 | * es6-shim: v0.35.4
33 | * see https://github.com/paulmillr/es6-shim/blob/0.35.3/LICENSE
34 | * Details and documentation:
35 | * https://github.com/paulmillr/es6-shim/
36 | */
37 |
38 | /*!
39 | * isobject
40 | *
41 | * Copyright (c) 2014-2017, Jon Schlinkert.
42 | * Released under the MIT License.
43 | */
44 |
45 | /**
46 | * React Router DOM v6.0.2
47 | *
48 | * Copyright (c) Remix Software Inc.
49 | *
50 | * This source code is licensed under the MIT license found in the
51 | * LICENSE.md file in the root directory of this source tree.
52 | *
53 | * @license MIT
54 | */
55 |
56 | /**
57 | * React Router v6.0.2
58 | *
59 | * Copyright (c) Remix Software Inc.
60 | *
61 | * This source code is licensed under the MIT license found in the
62 | * LICENSE.md file in the root directory of this source tree.
63 | *
64 | * @license MIT
65 | */
66 |
67 | /** @license React v0.19.1
68 | * scheduler.production.min.js
69 | *
70 | * Copyright (c) Facebook, Inc. and its affiliates.
71 | *
72 | * This source code is licensed under the MIT license found in the
73 | * LICENSE file in the root directory of this source tree.
74 | */
75 |
76 | /** @license React v16.13.1
77 | * react-is.production.min.js
78 | *
79 | * Copyright (c) Facebook, Inc. and its affiliates.
80 | *
81 | * This source code is licensed under the MIT license found in the
82 | * LICENSE file in the root directory of this source tree.
83 | */
84 |
85 | /** @license React v16.14.0
86 | * react-dom.production.min.js
87 | *
88 | * Copyright (c) Facebook, Inc. and its affiliates.
89 | *
90 | * This source code is licensed under the MIT license found in the
91 | * LICENSE file in the root directory of this source tree.
92 | */
93 |
94 | /** @license React v16.14.0
95 | * react.production.min.js
96 | *
97 | * Copyright (c) Facebook, Inc. and its affiliates.
98 | *
99 | * This source code is licensed under the MIT license found in the
100 | * LICENSE file in the root directory of this source tree.
101 | */
102 |
103 | /** @license React v17.0.1
104 | * react-is.production.min.js
105 | *
106 | * Copyright (c) Facebook, Inc. and its affiliates.
107 | *
108 | * This source code is licensed under the MIT license found in the
109 | * LICENSE file in the root directory of this source tree.
110 | */
111 |
--------------------------------------------------------------------------------
/jest.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | setupFiles: ['/tests/unit/register-context.js'],
3 | moduleFileExtensions: [
4 | 'js',
5 | 'jsx',
6 | 'json',
7 | 'vue'
8 | ],
9 | transform: {
10 | '^.+\\.vue$': 'vue-jest',
11 | '.+\\.(css|styl|less|sass|scss|svg|png|jpg|ttf|woff|woff2)$': 'jest-transform-stub',
12 | '^.+\\.jsx?$': 'babel-jest'
13 | },
14 | transformIgnorePatterns: [
15 | '/node_modules/'
16 | ],
17 | moduleNameMapper: {
18 | '^@/(.*)$': '/src/$1'
19 | },
20 | snapshotSerializers: [
21 | 'jest-serializer-vue'
22 | ],
23 | testMatch: [
24 | '**/tests/unit/**/*.spec.(js|jsx|ts|tsx)|**/__tests__/*.(js|jsx|ts|tsx)'
25 | ],
26 | testURL: 'http://localhost/',
27 | watchPlugins: [
28 | 'jest-watch-typeahead/filename',
29 | 'jest-watch-typeahead/testname'
30 | ]
31 | };
32 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "vue-loading-skeleton",
3 | "version": "2.0.0-beta.1",
4 | "main": "dist/vue-loading-skeleton.cjs.js",
5 | "module": "dist/vue-loading-skeleton.es.js",
6 | "description": "Make beautiful loading skeleton that automatically adapt your vue app.",
7 | "keywords": [
8 | "vuejs",
9 | "vue",
10 | "skeleton"
11 | ],
12 | "types": "types/index.d.ts",
13 | "style": "dist/style.css",
14 | "license": "MIT",
15 | "scripts": {
16 | "build": "vite build",
17 | "deploy": "npm run lint && npm run test:unit && npm run build && npm run build-storybook",
18 | "lint": "vue-cli-service lint",
19 | "test:unit": "vue-cli-service test:unit",
20 | "storybook": "start-storybook -p 6006",
21 | "build:storybook": "build-storybook --modern -o ./docs"
22 | },
23 | "dependencies": {
24 | "@vue/compat": "^3.1.0",
25 | "core-js": "2",
26 | "vue": "^3.1.0"
27 | },
28 | "devDependencies": {
29 | "@babel/core": "^7.17.5",
30 | "@rollup/plugin-babel": "^5.3.0",
31 | "@rollup/plugin-node-resolve": "^13.1.3",
32 | "@storybook/addon-actions": "^6.4.19",
33 | "@storybook/addon-essentials": "^6.4.19",
34 | "@storybook/addon-links": "^6.4.19",
35 | "@storybook/vue3": "^6.4.19",
36 | "@typescript-eslint/eslint-plugin": "^5.12.0",
37 | "@typescript-eslint/parser": "^5.12.0",
38 | "@vitejs/plugin-vue": "^2.2.0",
39 | "@vue/cli-plugin-babel": "^5.0.1",
40 | "@vue/cli-plugin-eslint": "^5.0.1",
41 | "@vue/compiler-sfc": "^3.2.31",
42 | "@vue/eslint-config-typescript": "^10.0.0",
43 | "@vue/test-utils": "2.0.0-rc.18",
44 | "babel-loader": "^8.2.3",
45 | "eslint": "^8.9.0",
46 | "eslint-config-prettier": "^8.4.0",
47 | "eslint-plugin-vue": "^8.4.1",
48 | "prettier": "^2.5.1",
49 | "rollup": "^2.67.3",
50 | "rollup-plugin-css-only": "^3.1.0",
51 | "rollup-plugin-vue": "^6.0.0-beta.10",
52 | "typescript": "^4.5.5",
53 | "vite": "^2.8.4",
54 | "vue-loader": "^16.8.3",
55 | "vue-tsc": "^0.29.8"
56 | },
57 | "bowserslist": [
58 | "defaults"
59 | ]
60 | }
61 |
--------------------------------------------------------------------------------
/postcss.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | plugins: {
3 | autoprefixer: {}
4 | }
5 | };
6 |
--------------------------------------------------------------------------------
/rollup.config.js:
--------------------------------------------------------------------------------
1 | /* eslint import/no-extraneous-dependencies: off */
2 | import path from "path";
3 | import resolve from "@rollup/plugin-node-resolve";
4 | import babel from "@rollup/plugin-babel";
5 | import vue from "rollup-plugin-vue";
6 | import css from "rollup-plugin-css-only";
7 |
8 | const r = (p) => path.join(__dirname, ".", p);
9 |
10 | module.exports = {
11 | input: r("src/index.js"),
12 | output: [
13 | {
14 | file: r("dist/vue-loading-skeleton.esm.js"),
15 | format: "es",
16 | },
17 | {
18 | file: r("dist/vue-loading-skeleton.cjs.js"),
19 | format: "cjs",
20 | },
21 | {
22 | file: r("dist/vue-loading-skeleton.umd.js"),
23 | format: "umd",
24 | },
25 | ],
26 | plugins: [
27 | resolve({
28 | moduleDirectories: ["node_modules"],
29 | }),
30 | css(),
31 | vue({
32 | css: false,
33 | }),
34 | babel({ exclude: r("node_modules/**") }),
35 | ],
36 | };
37 |
--------------------------------------------------------------------------------
/src/composition/theme.ts:
--------------------------------------------------------------------------------
1 | import { InjectionKey, ComputedRef } from "vue";
2 |
3 | export const DEFAULT_BACKGROUND = '#eeeeee';
4 | export const DEFAULT_HIGHLIGHT = '#f5f5f5';
5 | export const SkeletonStyle = {
6 | animation: '',
7 | backgroundColor: DEFAULT_BACKGROUND,
8 | backgroundImage: `linear-gradient(
9 | 90deg,
10 | ${DEFAULT_BACKGROUND},
11 | ${DEFAULT_HIGHLIGHT},
12 | ${DEFAULT_BACKGROUND}
13 | )`
14 | };
15 |
16 | export const ThemeStyleProviderKey = Symbol('_themeStyle') as InjectionKey>
17 | export const ThemeProviderKey = Symbol('_theme')
18 | export function createThemeProvider() {
19 | return ThemeProviderKey as InjectionKey
20 | }
21 |
22 |
--------------------------------------------------------------------------------
/src/env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
3 | declare module '*.vue' {
4 | import type { DefineComponent } from 'vue'
5 | // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/ban-types
6 | const component: DefineComponent<{}, {}, any>
7 | export default component
8 | }
9 |
--------------------------------------------------------------------------------
/src/index.ts:
--------------------------------------------------------------------------------
1 | import PuSkeleton from './skeleton.vue';
2 | import PuSkeletonTheme from './skeleton-theme.vue';
3 | import { App } from 'vue';
4 |
5 | export const Skeleton = PuSkeleton;
6 | export const SkeletonTheme = PuSkeletonTheme;
7 |
8 | export default {
9 | install(Vue: App) {
10 | Vue.component(Skeleton.name, Skeleton);
11 | Vue.component(SkeletonTheme.name, SkeletonTheme);
12 | }
13 | };
14 |
--------------------------------------------------------------------------------
/src/skeleton-theme.vue:
--------------------------------------------------------------------------------
1 |
72 |
--------------------------------------------------------------------------------
/src/skeleton.vue:
--------------------------------------------------------------------------------
1 |
109 |
--------------------------------------------------------------------------------
/src/stories/assets/code-brackets.svg:
--------------------------------------------------------------------------------
1 | illustration/code-brackets
--------------------------------------------------------------------------------
/src/stories/assets/colors.svg:
--------------------------------------------------------------------------------
1 | illustration/colors
--------------------------------------------------------------------------------
/src/stories/assets/comments.svg:
--------------------------------------------------------------------------------
1 | illustration/comments
--------------------------------------------------------------------------------
/src/stories/assets/direction.svg:
--------------------------------------------------------------------------------
1 | illustration/direction
--------------------------------------------------------------------------------
/src/stories/assets/flow.svg:
--------------------------------------------------------------------------------
1 | illustration/flow
--------------------------------------------------------------------------------
/src/stories/assets/plugin.svg:
--------------------------------------------------------------------------------
1 | illustration/plugin
--------------------------------------------------------------------------------
/src/stories/assets/repo.svg:
--------------------------------------------------------------------------------
1 | illustration/repo
--------------------------------------------------------------------------------
/src/stories/assets/stackalt.svg:
--------------------------------------------------------------------------------
1 | illustration/stackalt
--------------------------------------------------------------------------------
/src/stories/index.stories.js:
--------------------------------------------------------------------------------
1 | import Item from "./item.vue";
2 | import ItemWithIf from './item-with-if.vue';
3 |
4 | export default {
5 | title: 'Skeleton'
6 | }
7 |
8 | export const Default = () => ({
9 | components: { Item },
10 | data() {
11 | return {
12 | itemData: {}
13 | };
14 | },
15 | mounted() {
16 | setTimeout(() => {
17 | this.itemData = {
18 | img: './image.png',
19 | title: 'Item Title',
20 | body: 'Make beautiful, animated loading skeletons that automatically adapt to your app.'
21 | };
22 | }, 1500);
23 | },
24 | template: ` `
25 | })
26 |
27 | export const UseWithVif = () => (
28 | {
29 | components: { ItemWithIf },
30 | data() {
31 | return {
32 | itemData: {}
33 | };
34 | },
35 | mounted() {
36 | setTimeout(() => {
37 | this.itemData = {
38 | img: './image.png',
39 | title: 'Item Title',
40 | body: 'Make beautiful, animated loading skeletons that automatically adapt to your app.'
41 | };
42 | }, 1500);
43 | },
44 | template: ` `
45 | }
46 | )
47 |
48 | export const UseWithList = () => (
49 | {
50 | components: {
51 | Item
52 | },
53 | template: `
54 |
55 |
56 |
57 | `,
58 | data() {
59 | return {
60 | itemData: 4
61 | };
62 | },
63 | mounted() {
64 | const tempArr = [1, 2, 3, 4];
65 |
66 | setTimeout(() => {
67 | this.itemData = tempArr.map(i => (
68 | {
69 | img: `./image${i}.png`,
70 | title: `Item Title ${i}`,
71 | body: `Make beautiful, animated loading skeletons that automatically adapt to your app ${i}.`
72 | }
73 | ));
74 | }, 1500);
75 | }
76 | }
77 | )
78 |
79 | export const DisableAnimation = () => {
80 | return {
81 | components: { Item },
82 | template: ` `
83 | }
84 | };
85 |
86 |
87 |
--------------------------------------------------------------------------------
/src/stories/item-with-if.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {{ data.img }}
6 |
7 |
8 |
9 |
19 |
20 |
21 |
22 |
38 |
39 |
78 |
--------------------------------------------------------------------------------
/src/stories/item.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {{ data.img }}
6 |
7 |
8 |
16 |
17 |
18 |
19 |
37 |
38 |
77 |
--------------------------------------------------------------------------------
/src/stories/theme.stories.js:
--------------------------------------------------------------------------------
1 | import Item from "./item.vue";
2 | import { SkeletonTheme } from "../../dist/vue-loading-skeleton.es";
3 |
4 | export default {
5 | title: "Skeleton Theme"
6 | };
7 |
8 | export const ChangeTheme = () => {
9 | return {
10 | components: { Item, SkeletonTheme },
11 | template: `
12 |
13 |
14 |
15 | `
16 | };
17 | };
18 |
19 | export const DisableAllAnimation = () => {
20 | return {
21 | components: { Item, SkeletonTheme },
22 | template: `
23 |
24 |
25 |
26 |
27 | `
28 | };
29 | };
30 |
31 | export const ControlAllLoadingStatus = () => {
32 | return {
33 | components: { SkeletonTheme, Item },
34 | data() {
35 | return {
36 | loading: true
37 | };
38 | },
39 | computed: {
40 | itemData() {
41 | return Array(4).fill(0).map((_, i) => ({
42 | img: `./image${i}.png`,
43 | title: `Item Title ${i}`,
44 | body: `Make beautiful, animated loading skeletons that automatically adapt to your app ${i}.`
45 | }))
46 | }
47 | },
48 | mounted() {
49 | setTimeout(() => {
50 | this.loading = false;
51 | }, 1500);
52 | },
53 | template: `
54 |
55 |
56 |
57 | `
58 | };
59 | };
60 |
--------------------------------------------------------------------------------
/src/style.css:
--------------------------------------------------------------------------------
1 | .pu-skeleton {
2 | background-size: 200px 100%;
3 | background-repeat: no-repeat;
4 | border-radius: 3px;
5 | display: inline-block;
6 | line-height: 1;
7 | width: 100%;
8 | height: inherit;
9 | }
10 |
11 | @keyframes SkeletonLoading {
12 | 0% {
13 | background-position: -200px 0;
14 | }
15 | 100% {
16 | background-position: calc(200px + 100%) 0;
17 | }
18 | }
--------------------------------------------------------------------------------
/tests/unit/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | env: {
3 | jest: true
4 | }
5 | };
6 |
--------------------------------------------------------------------------------
/tests/unit/__snapshots__/storybook.spec.js.snap:
--------------------------------------------------------------------------------
1 | // Jest Snapshot v1, https://goo.gl/fbAQLP
2 |
3 | exports[`Storyshots Skeleton Component Default 1`] = `
4 |
7 |
10 |
11 |
15 |
16 |
17 |
18 |
19 |
20 |
55 |
56 | `;
57 |
58 | exports[`Storyshots Skeleton Component Disable animation 1`] = `
59 |
63 |
66 |
67 |
71 |
72 |
73 |
74 |
75 |
76 |
111 |
112 | `;
113 |
114 | exports[`Storyshots Skeleton Component Use with list 1`] = `
115 |
119 |
122 |
125 |
126 |
130 |
131 |
132 |
133 |
134 |
135 |
170 |
171 |
174 |
177 |
178 |
182 |
183 |
184 |
185 |
186 |
187 |
222 |
223 |
226 |
229 |
230 |
234 |
235 |
236 |
237 |
238 |
239 |
274 |
275 |
278 |
281 |
282 |
286 |
287 |
288 |
289 |
290 |
291 |
326 |
327 |
328 | `;
329 |
330 | exports[`Storyshots Skeleton Component Use with v-if 1`] = `
331 |
334 |
337 |
338 |
342 |
343 |
344 |
345 |
346 |
347 |
382 |
383 | `;
384 |
385 | exports[`Storyshots Skeleton Theme Change Theme 1`] = `
386 |
387 |
390 |
393 |
394 |
398 |
399 |
400 |
401 |
402 |
403 |
438 |
439 |
440 | `;
441 |
442 | exports[`Storyshots Skeleton Theme Control all lodaing status 1`] = `
443 |
446 |
449 |
452 |
453 |
457 |
458 |
459 |
460 |
461 |
462 |
497 |
498 |
501 |
504 |
505 |
509 |
510 |
511 |
512 |
513 |
514 |
549 |
550 |
553 |
556 |
557 |
561 |
562 |
563 |
564 |
565 |
566 |
601 |
602 |
605 |
608 |
609 |
613 |
614 |
615 |
616 |
617 |
618 |
653 |
654 |
655 | `;
656 |
657 | exports[`Storyshots Skeleton Theme Disable all animation 1`] = `
658 |
659 |
662 |
665 |
666 |
670 |
671 |
672 |
673 |
674 |
675 |
710 |
711 |
714 |
717 |
718 |
722 |
723 |
724 |
725 |
726 |
727 |
762 |
763 |
764 | `;
765 |
--------------------------------------------------------------------------------
/tests/unit/register-context.js:
--------------------------------------------------------------------------------
1 | import registerRequireContextHook from 'babel-plugin-require-context-hook/register';
2 |
3 | registerRequireContextHook();
4 |
--------------------------------------------------------------------------------
/tests/unit/storybook.spec.js:
--------------------------------------------------------------------------------
1 | import initStoryshots from '@storybook/addon-storyshots';
2 |
3 | initStoryshots();
4 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "esnext",
4 | "useDefineForClassFields": true,
5 | "module": "esnext",
6 | "moduleResolution": "node",
7 | "strict": true,
8 | "jsx": "preserve",
9 | "sourceMap": true,
10 | "resolveJsonModule": true,
11 | "esModuleInterop": true,
12 | "lib": ["esnext", "dom"]
13 | },
14 | "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue", "types/index.d.ts", "types/skeleton-theme.vue.d.ts", "types/skeleton.vue.d.ts"],
15 | "references": [{ "path": "./tsconfig.node.json" }]
16 | }
17 |
--------------------------------------------------------------------------------
/tsconfig.node.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "composite": true,
4 | "module": "esnext",
5 | "moduleResolution": "node"
6 | },
7 | "include": ["vite.config.ts"]
8 | }
--------------------------------------------------------------------------------
/types/composition/theme.d.ts:
--------------------------------------------------------------------------------
1 | import { InjectionKey, ComputedRef } from "vue";
2 | export declare const DEFAULT_BACKGROUND = "#eeeeee";
3 | export declare const DEFAULT_HIGHLIGHT = "#f5f5f5";
4 | export declare const SkeletonStyle: {
5 | animation: string;
6 | backgroundColor: string;
7 | backgroundImage: string;
8 | };
9 | export declare const ThemeStyleProviderKey: InjectionKey>;
14 | export declare const ThemeProviderKey: unique symbol;
15 | export declare function createThemeProvider(): InjectionKey;
16 |
--------------------------------------------------------------------------------
/types/index.d.ts:
--------------------------------------------------------------------------------
1 | import { App } from 'vue';
2 | export declare const Skeleton: import("vue").DefineComponent<{
3 | prefix: {
4 | type: StringConstructor;
5 | default: string;
6 | };
7 | count: {
8 | type: NumberConstructor;
9 | default: number;
10 | };
11 | duration: {
12 | type: NumberConstructor;
13 | default: number;
14 | };
15 | tag: {
16 | type: StringConstructor;
17 | default: string;
18 | };
19 | width: {
20 | type: (StringConstructor | NumberConstructor)[];
21 | default: number;
22 | };
23 | height: {
24 | type: (StringConstructor | NumberConstructor)[];
25 | default: number;
26 | };
27 | circle: BooleanConstructor;
28 | loading: {
29 | type: import("vue").PropType;
30 | default: any;
31 | };
32 | }, () => import("vue").VNode | import("vue").VNode[], unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly;
64 | default: any;
65 | };
66 | }>>, {
67 | height: string | number;
68 | width: string | number;
69 | loading: any;
70 | circle: boolean;
71 | prefix: string;
72 | tag: string;
73 | duration: number;
74 | count: number;
75 | }>;
76 | export declare const SkeletonTheme: import("vue").DefineComponent<{
77 | color: {
78 | type: StringConstructor;
79 | default: string;
80 | };
81 | highlight: {
82 | type: StringConstructor;
83 | default: string;
84 | };
85 | duration: {
86 | type: NumberConstructor;
87 | default: number;
88 | };
89 | tag: {
90 | type: StringConstructor;
91 | default: string;
92 | };
93 | loading: {
94 | type: BooleanConstructor;
95 | default: any;
96 | };
97 | }, () => import("vue").VNode, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly>, {
121 | color: string;
122 | loading: boolean;
123 | tag: string;
124 | duration: number;
125 | highlight: string;
126 | }>;
127 | declare const _default: {
128 | install(Vue: App): void;
129 | };
130 | export default _default;
131 |
--------------------------------------------------------------------------------
/types/skeleton-theme.vue.d.ts:
--------------------------------------------------------------------------------
1 | export declare const ThemeProvider: import("vue").InjectionKey;
2 | declare const SkeletonTheme: import("vue").DefineComponent<{
3 | color: {
4 | type: StringConstructor;
5 | default: string;
6 | };
7 | highlight: {
8 | type: StringConstructor;
9 | default: string;
10 | };
11 | duration: {
12 | type: NumberConstructor;
13 | default: number;
14 | };
15 | tag: {
16 | type: StringConstructor;
17 | default: string;
18 | };
19 | loading: {
20 | type: BooleanConstructor;
21 | default: any;
22 | };
23 | }, () => import("vue").VNode, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly>, {
47 | color: string;
48 | loading: boolean;
49 | tag: string;
50 | duration: number;
51 | highlight: string;
52 | }>;
53 | export default SkeletonTheme;
54 |
--------------------------------------------------------------------------------
/types/skeleton.vue.d.ts:
--------------------------------------------------------------------------------
1 | import { PropType } from "vue";
2 | import "./style.css";
3 | declare const _default: import("vue").DefineComponent<{
4 | prefix: {
5 | type: StringConstructor;
6 | default: string;
7 | };
8 | count: {
9 | type: NumberConstructor;
10 | default: number;
11 | };
12 | duration: {
13 | type: NumberConstructor;
14 | default: number;
15 | };
16 | tag: {
17 | type: StringConstructor;
18 | default: string;
19 | };
20 | width: {
21 | type: (StringConstructor | NumberConstructor)[];
22 | default: number;
23 | };
24 | height: {
25 | type: (StringConstructor | NumberConstructor)[];
26 | default: number;
27 | };
28 | circle: BooleanConstructor;
29 | loading: {
30 | type: PropType;
31 | default: any;
32 | };
33 | }, () => import("vue").VNode | import("vue").VNode[], unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly;
65 | default: any;
66 | };
67 | }>>, {
68 | height: string | number;
69 | width: string | number;
70 | loading: any;
71 | circle: boolean;
72 | prefix: string;
73 | tag: string;
74 | duration: number;
75 | count: number;
76 | }>;
77 | export default _default;
78 |
--------------------------------------------------------------------------------
/vite.config.ts:
--------------------------------------------------------------------------------
1 | import { defineConfig } from 'vite'
2 | import vue from '@vitejs/plugin-vue'
3 |
4 | export default defineConfig({
5 | build: {
6 | lib: {
7 | entry: './src/index.ts',
8 | name: 'vue-loading-skeleton',
9 | fileName: 'vue-loading-skeleton',
10 | formats: ['es' , 'cjs' , 'umd']
11 | },
12 | rollupOptions: {
13 | external: ['vue'],
14 | output: {
15 | globals: {
16 | vue: 'Vue'
17 | }
18 | }
19 | }
20 | },
21 | plugins: [vue()]
22 | })
23 |
--------------------------------------------------------------------------------