smoothly 0.1.101 → 0.1.104

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/dist/cjs/{App-ffc56e72.js → App-08e717a8.js} +2 -2
  2. package/dist/cjs/{Notice-9120d311.js → Notice-2496bc28.js} +2 -2
  3. package/dist/cjs/index.cjs.js +1 -1
  4. package/dist/cjs/loader.cjs.js +1 -1
  5. package/dist/cjs/smoothly-accordion_48.cjs.entry.js +14 -9
  6. package/dist/cjs/smoothly-app-demo.cjs.entry.js +3 -3
  7. package/dist/cjs/smoothly-app.cjs.entry.js +1 -1
  8. package/dist/cjs/smoothly-display-demo.cjs.entry.js +1 -1
  9. package/dist/cjs/smoothly-input.cjs.entry.js +1 -1
  10. package/dist/cjs/smoothly-picker.cjs.entry.js +1 -1
  11. package/dist/cjs/smoothly-spinner.cjs.entry.js +7 -2
  12. package/dist/cjs/smoothly.cjs.js +1 -1
  13. package/dist/collection/components/App.js +2 -2
  14. package/dist/collection/components/app/style.css +111 -41
  15. package/dist/collection/components/app-demo/index.js +17 -17
  16. package/dist/collection/components/display-demo/index.js +10 -1
  17. package/dist/collection/components/input/style.css +4 -6
  18. package/dist/collection/components/picker/style.css +4 -2
  19. package/dist/collection/components/spinner/index.js +30 -3
  20. package/dist/collection/components/spinner/style.css +48 -60
  21. package/dist/custom-elements/index.js +16 -11
  22. package/dist/{smoothly/App-c5f6000f.js → esm/App-33847333.js} +2 -2
  23. package/dist/esm/{Notice-d87d90f7.js → Notice-819c6f49.js} +2 -2
  24. package/dist/esm/index.js +1 -1
  25. package/dist/esm/loader.js +1 -1
  26. package/dist/esm/smoothly-accordion_48.entry.js +14 -9
  27. package/dist/esm/smoothly-app-demo.entry.js +3 -3
  28. package/dist/esm/smoothly-app.entry.js +1 -1
  29. package/dist/esm/smoothly-display-demo.entry.js +1 -1
  30. package/dist/esm/smoothly-input.entry.js +1 -1
  31. package/dist/esm/smoothly-picker.entry.js +1 -1
  32. package/dist/esm/smoothly-spinner.entry.js +8 -3
  33. package/dist/esm/smoothly.js +1 -1
  34. package/dist/{esm/App-c5f6000f.js → smoothly/App-33847333.js} +2 -2
  35. package/dist/smoothly/index.esm.js +1 -1
  36. package/dist/smoothly/{p-1e768876.js → p-14c6de14.js} +1 -1
  37. package/dist/smoothly/p-9603922d.entry.js +1 -0
  38. package/dist/smoothly/smoothly-app-demo.entry.js +3 -3
  39. package/dist/smoothly/smoothly-app.entry.js +1 -1
  40. package/dist/smoothly/smoothly-display-demo.entry.js +1 -1
  41. package/dist/smoothly/smoothly-input.entry.js +1 -1
  42. package/dist/smoothly/smoothly-picker.entry.js +1 -1
  43. package/dist/smoothly/smoothly-spinner.entry.js +8 -3
  44. package/dist/smoothly/smoothly.esm.js +1 -1
  45. package/dist/types/components/spinner/index.d.ts +1 -0
  46. package/dist/types/components.d.ts +2 -0
  47. package/package.json +1 -1
  48. package/dist/smoothly/p-1f7da568.entry.js +0 -1
@@ -2,17 +2,20 @@ smoothly-app {
2
2
  display: block;
3
3
  scrollbar-width: none;
4
4
  }
5
+
5
6
  smoothly-app[hidden] {
6
7
  display: none;
7
8
  }
9
+
8
10
  smoothly-app[color=default],
9
11
  smoothly-app:not([color]) {
10
- --smoothly-app-background: var(--smoothly-default-shade);
12
+ --smoothly-app-background: var(--smoothly-default-color);
11
13
  --smoothly-app-color: var(--smoothly-default-contrast);
12
14
  --smoothly-app-hover-background: var(--smoothly-primary-color);
13
15
  --smoothly-app-hover-color: var(--smoothly-primary-contrast);
14
16
  --smoothly-app-shadow: var(--smoothly-default-shadow);
15
17
  }
18
+
16
19
  smoothly-app[color=primary] {
17
20
  --smoothly-app-background: var(--smoothly-primary-shade);
18
21
  --smoothly-app-color: var(--smoothly-primary-contrast);
@@ -20,6 +23,7 @@ smoothly-app[color=primary] {
20
23
  --smoothly-app-hover-color: var(--smoothly-secondary-contrast);
21
24
  --smoothly-app-shadow: var(--smoothly-primary-shadow);
22
25
  }
26
+
23
27
  smoothly-app[color=secondary] {
24
28
  --smoothly-app-background: var(--smoothly-secondary-shade);
25
29
  --smoothly-app-color: var(--smoothly-secondary-contrast);
@@ -27,6 +31,7 @@ smoothly-app[color=secondary] {
27
31
  --smoothly-app-hover-color: var(--smoothly-primary-contrast);
28
32
  --smoothly-app-shadow: var(--smoothly-secondary-shadow);
29
33
  }
34
+
30
35
  smoothly-app[color=tertiary],
31
36
  smoothly-app[color=success],
32
37
  smoothly-app[color=warning],
@@ -37,72 +42,137 @@ smoothly-app[color=danger] {
37
42
  --smoothly-app-hover-color: var(--smoothly-default-contrast);
38
43
  --smoothly-app-shadow: var(--smoothly-color-shadow);
39
44
  }
40
- smoothly-app > smoothly-notifier > header {
45
+
46
+ smoothly-app>smoothly-notifier>header {
41
47
  position: fixed;
42
48
  top: 0;
43
49
  left: 0;
44
50
  width: 100%;
45
51
  z-index: 5;
46
- height: 1.6cm;
52
+ height: 90px;
47
53
  background-color: rgb(var(--smoothly-app-background));
48
- color: rgb(var(--smoothly-app-color));
49
- fill: rgb(var(--smoothly-app-color));
50
- stroke: rgb(var(--smoothly-app-color));
54
+ color: rgba(var(--smoothly-medium-color));
55
+ fill: rgb(var(--smoothly-medium-color));
56
+ stroke: rgb(var(--smoothly-medium-color));
51
57
  display: flex;
58
+ font-size: 18px;
52
59
  justify-content: space-between;
53
60
  align-items: center;
54
61
  box-shadow: 0 2px 5px 0 rgba(var(--smoothly-app-shadow));
62
+ border-bottom: 1px solid rgba(var(--smoothly-dark-color))
55
63
  }
56
- smoothly-app > smoothly-notifier > header a {
64
+
65
+ smoothly-app>smoothly-notifier>header a {
57
66
  color: inherit;
58
67
  text-decoration: inherit;
59
68
  }
60
- smoothly-app > smoothly-notifier > header > nav {
69
+
70
+ smoothly-app>smoothly-notifier>header>nav {
61
71
  flex-shrink: 0;
62
- }
63
- smoothly-app > smoothly-notifier > header > h1,
64
- smoothly-app > smoothly-notifier > header > nav,
65
- smoothly-app > smoothly-notifier > header > nav > ul,
66
- smoothly-app > smoothly-notifier > header > nav > ul > li,
67
- smoothly-app > smoothly-notifier > header > nav > ul > li > *:not(a) {
68
- display: inline-block;
72
+ width: 100%;
73
+ flex-shrink: 2;
74
+ }
75
+
76
+ smoothly-app>smoothly-notifier>header>h1,
77
+ smoothly-app>smoothly-notifier>header>nav,
78
+ smoothly-app>smoothly-notifier>header>nav>ul,
79
+ smoothly-app>smoothly-notifier>header>nav>ul>li,
80
+ smoothly-app>smoothly-notifier>header>nav>ul>li>*:not(a) {
81
+ display: flex;
69
82
  height: 100%;
70
83
  margin: 0;
71
84
  }
72
- smoothly-app > smoothly-notifier > header > h1 a {
85
+
86
+ smoothly-app>smoothly-notifier>header>h1 {
87
+ margin-left: 60px;
88
+ }
89
+
90
+ smoothly-app>smoothly-notifier>header>h1>a {
73
91
  overflow: hidden;
74
92
  user-select: none;
93
+ height: 200%;
94
+ display: flex;
95
+ align-self: center;
96
+ size: 100%;
97
+ background-position-y: center;
75
98
  }
76
- smoothly-app > smoothly-notifier > header > nav > ul > li a {
99
+
100
+ smoothly-app>smoothly-notifier>header>nav>ul>li a {
77
101
  line-height: 1.6cm;
78
102
  }
79
- smoothly-app > smoothly-notifier > header > h1 a,
80
- smoothly-app > smoothly-notifier > header > nav > ul > li a {
81
- display: inline-block;
82
- height: 100%;
83
- padding: 0 0.4cm;
103
+
104
+ smoothly-app>smoothly-notifier>header>nav>ul {
105
+ width: 100%;
106
+ }
107
+
108
+ smoothly-app>smoothly-notifier>header>[slot="header"] {
109
+ display: flex;
110
+ margin-right: 34.25px;
111
+ justify-content: flex-end;
112
+ border: 0;
113
+ }
114
+
115
+ smoothly-app>smoothly-notifier>header>[slot="header"]>a {
116
+ display: flex;
117
+ align-self: center;
118
+ border-width: 0;
119
+ align-items: center;
120
+ margin-right: 62.25px;
121
+ }
122
+
123
+ smoothly-app>smoothly-notifier>header>[slot="header"]>a>smoothly-icon {
124
+ fill: rgb(var(--smoothly-primary-shade));
125
+ stroke: rgb(var(--smoothly-primary-shade));
126
+ color: rgb(var(--smoothly-primary-shade));
127
+
128
+ }
129
+
130
+ smoothly-app>smoothly-notifier>header>nav>ul>li a {
131
+ display: flex;
132
+ height: 36px;
133
+ margin: 0 0.4cm;
84
134
  text-decoration: none;
85
- font-weight: bold;
86
135
  }
87
- smoothly-app > smoothly-notifier > header > nav > ul > li smoothly-trigger.sc-smoothly-trigger-h {
136
+
137
+ smoothly-app>smoothly-notifier>header>nav>ul>li>a {
138
+ display: flex;
139
+ align-items: center;
140
+ align-self: center;
141
+ margin-bottom: 2px;
142
+ }
143
+
144
+ smoothly-app>smoothly-notifier>header>nav>ul>li smoothly-trigger.sc-smoothly-trigger-h {
88
145
  border: 0;
89
146
  }
90
- smoothly-app > smoothly-notifier > header > nav > ul > li a > smoothly-icon {
91
- position: relative;
92
- top: 0.2cm;
93
- }
94
- smoothly-app > smoothly-notifier > header > nav > ul > li > a:hover > smoothly-icon,
95
- smoothly-app > smoothly-notifier > header > nav > ul > li > a.active > smoothly-icon,
96
- smoothly-app > smoothly-notifier > header > nav > ul > li > smoothly-trigger.active a > smoothly-icon,
97
- smoothly-app > smoothly-notifier > header > nav > ul > li > smoothly-trigger:hover a > smoothly-icon,
98
- smoothly-app > smoothly-notifier > header > nav > ul > li a:hover,
99
- smoothly-app > smoothly-notifier > header > nav > ul > li a.active {
100
- background-color: rgb(var(--smoothly-app-hover-background));
101
- color: rgb(var(--smoothly-app-hover-color));
102
- stroke: rgb(var(--smoothly-app-hover-color));
103
- fill: rgb(var(--smoothly-app-hover-color));
104
- }
105
- smoothly-app > smoothly-notifier > content {
147
+
148
+ smoothly-app>smoothly-notifier>header>nav>ul>li>a>smoothly-icon>svg {
149
+ fill: rgb(var(--smoothly-medium-color));
150
+ stroke: rgb(var(--smoothly-medium-color));
151
+ color: rgb(var(--smoothly-medium-color));
152
+ align-items: center;
153
+ display: flex;
154
+ }
155
+
156
+ smoothly-app>smoothly-notifier>header>nav>ul>li>a:hover>smoothly-icon>svg,
157
+ smoothly-app>smoothly-notifier>header>nav>ul>li>a.active>smoothly-icon>svg {
158
+ color: rgb(var(--smoothly-app-color));
159
+ stroke: rgb(var(--smoothly-app-color));
160
+ fill: rgb(var(--smoothly-app-color));
161
+ }
162
+
163
+ smoothly-app>smoothly-notifier>header>nav>ul>li>smoothly-trigger.active a>smoothly-icon,
164
+ smoothly-app>smoothly-notifier>header>nav>ul>li>smoothly-trigger:hover a>smoothly-icon,
165
+ smoothly-app>smoothly-notifier>header>nav>ul>li a:hover,
166
+ smoothly-app>smoothly-notifier>header>nav>ul>li a.active {
167
+ border-bottom: 2px solid rgb(var(--smoothly-app-color));
168
+ margin-bottom: 0px;
169
+ border-bottom-width: 2px;
170
+ color: rgb(var(--smoothly-app-color));
171
+ stroke: rgb(var(--smoothly-app-color));
172
+ fill: rgb(var(--smoothly-app-color));
173
+ }
174
+
175
+ smoothly-app>smoothly-notifier>content {
106
176
  position: relative;
107
- top: 1.6cm;
177
+ top: 90px;
108
178
  }
@@ -5,22 +5,6 @@ export class SmoothlyAppDemo {
5
5
  return (h(App, { label: "Smoothly Demo" },
6
6
  h("a", { slot: "nav-start", href: "display" }, "Display"),
7
7
  h("a", { slot: "nav-start", href: "https://google.com" }, "External"),
8
- h("span", { slot: "header", style: { width: "100%", maxWidth: "500px" } },
9
- h("smoothly-picker", { label: "All Animals Selected", style: { minWidth: "100px" }, labelSetting: "hide", "empty-menu-label": "Sorry, we're out of options.", "max-height": "58px", multiple: true, "select-none-name": "Select All", options: [
10
- { name: "Big Dog", value: "dog", aliases: ["WOFF"] },
11
- { name: "Cat Stevens", value: "cat", aliases: ["moew"] },
12
- { name: "Noble Pig", value: "pig" },
13
- { name: "Turtle Wax", value: "turtle" },
14
- { name: "Spider Man", value: "spider" },
15
- { name: "Phoenix Order Long Wooord", value: "phoenix" },
16
- { name: "Horse Back", value: "horse" },
17
- { name: "Unicorn Horn", value: "unicorn" },
18
- { name: "Talking Parrot Parrot", value: "parrot" },
19
- { name: "Hidden Dragon", value: "dragon" },
20
- { name: "Scary Kraken", value: "kraken" },
21
- ] })),
22
- h("smoothly-trigger", { slot: "nav-end", type: "link", name: "logout" },
23
- h("smoothly-icon", { toolTip: "Log out", name: "log-out", size: "medium" })),
24
8
  h("smoothly-room", { path: "" },
25
9
  h("smoothly-input", { type: "text" }, "Default")),
26
10
  h("smoothly-room", { path: "input", label: "Input" },
@@ -35,7 +19,23 @@ export class SmoothlyAppDemo {
35
19
  h("smoothly-select-demo", null)),
36
20
  h("smoothly-room", { path: "icon", label: "Icon" },
37
21
  h("smoothly-icon-demo", null)),
38
- h("smoothly-room", { path: "old", label: "Old", to: "select" })));
22
+ h("smoothly-room", { path: "old", label: "Old", to: "select" }),
23
+ h("span", { slot: "header", style: { width: "100%", maxWidth: "500px" } },
24
+ h("smoothly-picker", { label: "All Animals Selected", style: { minWidth: "100px" }, labelSetting: "hide", "empty-menu-label": "Sorry, we're out of options.", "max-height": "58px", multiple: true, "select-none-name": "Select All", options: [
25
+ { name: "Big Dog", value: "dog", aliases: ["WOFF"] },
26
+ { name: "Cat Stevens", value: "cat", aliases: ["moew"] },
27
+ { name: "Noble Pig", value: "pig" },
28
+ { name: "Turtle Wax", value: "turtle" },
29
+ { name: "Spider Man", value: "spider" },
30
+ { name: "Phoenix Order Long Wooord", value: "phoenix" },
31
+ { name: "Horse Back", value: "horse" },
32
+ { name: "Unicorn Horn", value: "unicorn" },
33
+ { name: "Talking Parrot Parrot", value: "parrot" },
34
+ { name: "Hidden Dragon", value: "dragon" },
35
+ { name: "Scary Kraken", value: "kraken" },
36
+ ] })),
37
+ h("smoothly-trigger", { slot: "header", type: "link", name: "logout" },
38
+ h("smoothly-icon", { toolTip: "Log out", name: "log-out", size: "medium" }))));
39
39
  }
40
40
  static get is() { return "smoothly-app-demo"; }
41
41
  static get properties() { return {
@@ -59,7 +59,16 @@ export class SmoothlyDisplayDemo {
59
59
  h("button", { onClick: () => this.noticeWarning(Notice.succeded("This is a test success notice.")) }, "success"),
60
60
  h("button", { onClick: () => this.noticeWarning(Notice.failed("This is a test danger notice.")) }, "danger"),
61
61
  h("button", { onClick: () => this.noticeWarning(Notice.execute("This is a test execute notice.", () => new Promise(resolve => window.setTimeout(() => resolve([true, "This went great"]), 3000)))) }, "execute"),
62
- h("button", { onClick: () => this.noticeWarning(Notice.delay("This is a test delay notice.", () => new Promise(resolve => window.setTimeout(() => resolve([true, "This went great"]), 3000)))) }, "delay")),
62
+ h("button", { onClick: () => this.noticeWarning(Notice.delay("This is a test delay notice.", () => new Promise(resolve => window.setTimeout(() => resolve([true, "This went great"]), 3000)))) }, "delay"),
63
+ h("div", { style: { position: "relative", height: "10em" } },
64
+ "Large Spinner",
65
+ h("smoothly-spinner", { active: true, size: "large", style: { "--background-color": "255,255,255", "--background-opacity": "0.2", "--spinner-color": "0,130,0", } })),
66
+ h("div", { style: { position: "relative", height: "10em" } },
67
+ "Medium Spinner",
68
+ h("smoothly-spinner", { active: true, size: "medium" })),
69
+ h("div", { style: { position: "relative", height: "10em" } },
70
+ "Small Spinner",
71
+ h("smoothly-spinner", { active: true, size: "small" }))),
63
72
  ];
64
73
  }
65
74
  static get is() { return "smoothly-display-demo"; }
@@ -23,7 +23,8 @@ label {
23
23
  opacity: 0.8;
24
24
  user-select: none;
25
25
  cursor: inherit;
26
- transition: font-size 0.1s;
26
+ transition: transform 0.1s;
27
+ transform-origin: top left;
27
28
  transition-timing-function: ease;
28
29
  }
29
30
  :host:not([show-label]) label {
@@ -58,13 +59,10 @@ input:invalid + label + smoothly-icon {
58
59
  z-index: 1;
59
60
  pointer-events: none;
60
61
  }
61
- :host.has-value > div > label {
62
- top: 0.4em;
63
- font-size: 60%;
64
- }
62
+ :host.has-value > div > label,
65
63
  :host:focus-within > div > label {
66
64
  top: 0.4em;
67
- font-size: 60%;
65
+ transform: scale(0.6);
68
66
  }
69
67
  input:focus {
70
68
  outline: none;
@@ -1,7 +1,7 @@
1
1
  :host {
2
- --background-color: var(--smoothly-secondary-tint), 1;
2
+ --background-color: var(--smoothly-default-color), 1;
3
3
  --color: var(--smoothly-secondary-contrast);
4
- --border-color: var(--smoothly-secondary-contrast), 1;
4
+ --border-color: var(--smoothly-default-shade), 1;
5
5
  --border-highlight-color: var(--smoothly-secondary-contrast), 1;
6
6
  --label-color: var(--smoothly-secondary-contrast), 0.8;
7
7
  --selected-item-border-radius: 0.25rem;
@@ -16,9 +16,11 @@
16
16
  cursor: pointer;
17
17
  --intergiro-transition: all 200ms cubic-bezier(0.645, 0.045, 0.355, 1);
18
18
  transition: var(--intergiro-transition);
19
+ border: 1px solid rgba(var(--border-color));
19
20
  }
20
21
 
21
22
  :host > div {
23
+ border-radius: 0.25rem;
22
24
  display: flex;
23
25
  min-height: 3em;
24
26
  background-color: rgba(var(--background-color));
@@ -1,12 +1,21 @@
1
- import { Component, h, Prop } from "@stencil/core";
1
+ import { Component, h, Host, Prop } from "@stencil/core";
2
2
  export class SmoothlySpinner {
3
+ constructor() {
4
+ this.size = "large";
5
+ }
3
6
  render() {
4
- return h("div", null, "Loading...");
7
+ const strokeWidth = this.size == "large" ? 6 : this.size == "medium" ? 8 : 12;
8
+ return (h(Host, { style: {
9
+ "--color": `var(--spinner-color)`,
10
+ "--size": this.size == "large" ? "5em" : this.size == "medium" ? "3em" : "1.2em",
11
+ } },
12
+ h("svg", { class: "spinner", viewBox: `0 0 ${60 + strokeWidth} ${60 + strokeWidth}`, xmlns: "http://www.w3.org/2000/svg" },
13
+ h("circle", { class: "path", fill: "none", "stroke-width": strokeWidth, "stroke-linecap": "round", cx: `${30 + strokeWidth / 2}`, cy: `${30 + strokeWidth / 2}`, r: "30" }))));
5
14
  }
6
15
  static get is() { return "smoothly-spinner"; }
7
16
  static get encapsulation() { return "scoped"; }
8
17
  static get originalStyleUrls() { return {
9
- "$": ["style.css"]
18
+ "$": ["style.scss"]
10
19
  }; }
11
20
  static get styleUrls() { return {
12
21
  "$": ["style.css"]
@@ -28,6 +37,24 @@ export class SmoothlySpinner {
28
37
  },
29
38
  "attribute": "active",
30
39
  "reflect": true
40
+ },
41
+ "size": {
42
+ "type": "string",
43
+ "mutable": false,
44
+ "complexType": {
45
+ "original": "\"small\" | \"medium\" | \"large\"",
46
+ "resolved": "\"large\" | \"medium\" | \"small\"",
47
+ "references": {}
48
+ },
49
+ "required": false,
50
+ "optional": false,
51
+ "docs": {
52
+ "tags": [],
53
+ "text": ""
54
+ },
55
+ "attribute": "size",
56
+ "reflect": true,
57
+ "defaultValue": "\"large\""
31
58
  }
32
59
  }; }
33
60
  }
@@ -1,64 +1,52 @@
1
- :host {
2
- display: block;
3
- position: relative;
1
+ :host:not([active]) {
2
+ display: none;
4
3
  }
4
+
5
5
  :host[hidden] {
6
- display: none;
7
- }
8
- :host:not([active]) {
9
- display: none;
6
+ display: none;
10
7
  }
8
+
11
9
  :host {
12
- position: absolute;
13
- left: 0;
14
- top: 0;
15
- width: 100%;
16
- height: 100%;
17
- background: rgba(var(--smoothly-default-color), var(--smoothly-semitransparent));
18
- }
19
- :host > div {
20
- opacity: 1;
21
- position: absolute;
22
- left: calc(50% - 5em + 1.1em);
23
- top: calc(50% - 5em + 1.1em);
24
- }
25
- :host > div,
26
- :host > div::after {
27
- border-radius: 50%;
28
- width: 5em;
29
- height: 5em;
30
- }
31
- :host > div {
32
- content: "";
33
- color: transparent;
34
- position: relative;
35
- border-top: 1.1em solid rgb(var(--smoothly-primary-tint));
36
- border-right: 1.1em solid rgb(var(--smoothly-primary-tint));
37
- border-bottom: 1.1em solid rgb(var(--smoothly-primary-tint));
38
- border-left: 1.1em solid rgb(var(--smoothly-primary-color));
39
- -webkit-transform: translateZ(0);
40
- -ms-transform: translateZ(0);
41
- transform: translateZ(0);
42
- -webkit-animation: load8 1.1s infinite linear;
43
- animation: load8 1.1s infinite linear;
44
- }
45
- @-webkit-keyframes load8 {
46
- 0% {
47
- -webkit-transform: rotate(0deg);
48
- transform: rotate(0deg);
49
- }
50
- 100% {
51
- -webkit-transform: rotate(360deg);
52
- transform: rotate(360deg);
53
- }
54
- }
55
- @keyframes load8 {
56
- 0% {
57
- -webkit-transform: rotate(0deg);
58
- transform: rotate(0deg);
59
- }
60
- 100% {
61
- -webkit-transform: rotate(360deg);
62
- transform: rotate(360deg);
63
- }
64
- }
10
+ display: block;
11
+ stroke: rgb(var(--spinner-color, var(--smoothly-primary-tint)));
12
+ position: absolute;
13
+ inset: 0;
14
+ width: 100%;
15
+ height: 100%;
16
+ background-color: rgba(var(--background-color, var(--smoothly-default-color)), var(--background-opacity, var(--smoothly-semitransparent, 0.8)));
17
+ }
18
+ :host svg {
19
+ position: absolute;
20
+ left: calc(50% - var(--size) / 2);
21
+ top: calc(50% - var(--size) / 2);
22
+ width: var(--size);
23
+ animation: SPIN-SVG 1.4s linear infinite;
24
+ }
25
+ :host svg circle {
26
+ transform-origin: center;
27
+ animation: SPIN-CIRCLE 1.4s ease-in-out infinite;
28
+ stroke-dasharray: 187;
29
+ stroke-dashoffset: 0;
30
+ }
31
+
32
+ @keyframes SPIN-SVG {
33
+ 0% {
34
+ transform: rotate(0deg);
35
+ }
36
+ 100% {
37
+ transform: rotate(270deg);
38
+ }
39
+ }
40
+ @keyframes SPIN-CIRCLE {
41
+ 0% {
42
+ stroke-dashoffset: 187;
43
+ }
44
+ 50% {
45
+ stroke-dashoffset: 46.75;
46
+ transform: rotate(135deg);
47
+ }
48
+ 100% {
49
+ stroke-dashoffset: 187;
50
+ transform: rotate(450deg);
51
+ }
52
+ }