@nightshadeui/core 2.0.0-dev.3 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/src/Toggle.vue DELETED
@@ -1,228 +0,0 @@
1
- <template>
2
- <label
3
- class="Toggle InputElement"
4
- :class="[
5
- `Toggle-${effectiveStyle.kind}`,
6
- `input-kind-${effectiveStyle.kind}`,
7
- `Toggle-${effectiveStyle.size}`,
8
- {
9
- 'Toggle-active': !!modelValue,
10
- 'Toggle-outline': effectiveStyle.outline,
11
- 'Toggle-round': effectiveStyle.round,
12
- 'Toggle-flat': effectiveStyle.flat,
13
- 'Toggle-disabled': disabled,
14
- 'Toggle-force-focus': forceFocus,
15
- 'Toggle-force-hover': forceHover,
16
- }
17
- ]"
18
- tabindex="0"
19
- @mouseenter="hover = true"
20
- @mouseleave="hover = false"
21
- @focusin="focus = true"
22
- @focusout="focus = false">
23
- <input
24
- type="checkbox"
25
- :checked="modelValue"
26
- :disabled="disabled"
27
- @change="onChange" />
28
- </label>
29
- </template>
30
-
31
- <script>
32
- export default {
33
-
34
- props: {
35
- modelValue: { type: Boolean },
36
- disabled: { type: Boolean },
37
- kind: { type: String, default: 'base' },
38
- activeKind: { type: String },
39
- size: { type: String, default: 'normal' },
40
- round: { type: Boolean, default: false },
41
- flat: { type: Boolean, default: false },
42
- outline: { type: Boolean, default: false },
43
- forceFocus: { type: Boolean, default: false },
44
- forceHover: { type: Boolean, default: false },
45
- focusOverrides: { type: Object },
46
- hoverOverrides: { type: Object },
47
- },
48
-
49
- emits: [
50
- 'update:modelValue',
51
- ],
52
-
53
- data() {
54
- return {
55
- hover: false,
56
- focus: false,
57
- };
58
- },
59
-
60
- computed: {
61
-
62
- isActive() {
63
- return !!this.modelValue;
64
- },
65
-
66
- baseStyle() {
67
- return {
68
- kind: (this.isActive ? this.activeKind : this.kind) ?? this.kind,
69
- size: this.size,
70
- round: this.round,
71
- outline: this.outline,
72
- flat: this.flat,
73
- };
74
- },
75
-
76
- effectiveStyle() {
77
- const {
78
- baseStyle,
79
- hoverOverrides = {},
80
- focusOverrides = {},
81
- hover,
82
- focus,
83
- forceHover,
84
- forceFocus,
85
- } = this;
86
- const style = Object.assign({}, baseStyle);
87
- if (hover || forceHover) {
88
- Object.assign(style, hoverOverrides);
89
- }
90
- if (focus || forceFocus) {
91
- Object.assign(style, focusOverrides);
92
- }
93
- return style;
94
- },
95
-
96
- },
97
-
98
- methods: {
99
-
100
- onChange(ev) {
101
- this.$emit('update:modelValue', ev.target.checked);
102
- }
103
-
104
- }
105
-
106
- };
107
- </script>
108
-
109
- <style scoped>
110
- .Toggle {
111
- --Toggle-size: var(--input-size);
112
- --Toggle-width: calc(1.618 * var(--Toggle-size));
113
- --Toggle-knob-offset: 4px;
114
- --Toggle-knob-size: calc(var(--Toggle-size) - 2 * var(--Toggle-knob-offset));
115
- --Toggle-knob-outline-offset: -2px;
116
- --Toggle-knob-radius: calc(var(--Toggle-border-radius) - 0.5 * var(--Toggle-knob-offset));
117
-
118
- --Toggle-outline-color: transparent;
119
-
120
- --Toggle-surface: var(--color-base-200);
121
- --Toggle-knob-surface: var(--input-text-color);
122
- --Toggle-knob-surface: light-dark(var(--color-base-0), var(--color-base-800));
123
-
124
- --Toggle-border-size: 0px;
125
- --Toggle-border-color: transparent;
126
- --Toggle-border-radius: var(--border-radius);
127
-
128
- --Toggle-shadow-color: var(--shadow-color-light);
129
-
130
- display: block;
131
- position: relative;
132
- width: var(--Toggle-width);
133
- height: var(--Toggle-size);
134
-
135
- border: var(--Toggle-border-size) solid var(--Toggle-border-color);
136
- border-radius: var(--Toggle-border-radius);
137
-
138
- background: var(--Toggle-surface);
139
- outline: var(--input-outline-size) solid var(--Toggle-outline-color);
140
- outline-offset: var(--input-outline-offset);
141
- background-clip: border-box;
142
-
143
- cursor: pointer;
144
- user-select: none;
145
-
146
- box-shadow:
147
- 0 1px 3px var(--Toggle-shadow-color) inset,
148
- 0 0 5px -1px var(--Toggle-shadow-color) inset;
149
-
150
- transition: background-color .3s, border-radius .3s;
151
- }
152
-
153
- .Toggle input {
154
- display: none;
155
- }
156
-
157
- .Toggle::before {
158
- content: '';
159
- position: absolute;
160
- top: 50%;
161
- left: 0;
162
- width: var(--Toggle-knob-size);
163
- height: var(--Toggle-knob-size);
164
- border-radius: var(--Toggle-knob-radius);
165
- background: var(--Toggle-knob-surface);
166
- box-shadow: 0 1px 3px var(--Toggle-shadow-color);
167
-
168
- transform: translate(calc(var(--Toggle-knob-offset) - var(--Toggle-border-size)), -50%);
169
- transition: transform .3s, border-radius .3s;
170
- }
171
-
172
- .Toggle-knob-outline::before {
173
- outline: var(--input-outline-size) solid var(--Toggle-outline-color);
174
- outline-offset: var(--input-outline-offset);
175
- }
176
-
177
- /* States */
178
-
179
- .Toggle-disabled {
180
- cursor: not-allowed;
181
- opacity: .5;
182
- }
183
-
184
- .Toggle:not(:disabled):hover, .Toggle.Toggle-force-hover {
185
- filter: brightness(.96);
186
- }
187
-
188
- .Toggle:not(:disabled):focus, .Toggle.Toggle-force-focus {
189
- z-index: 10;
190
- --Toggle-outline-color: var(--input-focus-light-color);
191
- --Toggle-border-color: var(--input-focus-medium-color);
192
- }
193
-
194
- .Toggle-active {
195
- --Toggle-surface: var(--input-surface-color);
196
- --Toggle-knob-surface: var(--input-surface-color-text);
197
- }
198
-
199
- .Toggle-active::before {
200
- transform: translate(calc(var(--Toggle-width) - var(--Toggle-knob-size) - var(--Toggle-knob-offset) - var(--Toggle-border-size)), -50%);
201
- }
202
-
203
- /* Styles */
204
-
205
- .Toggle-round {
206
- --Toggle-border-radius: var(--border-radius-m);
207
- }
208
-
209
- .Toggle-outline {
210
- --Toggle-border-color: var(--input-border-color);
211
- --Toggle-border-size: var(--input-border-size);
212
- }
213
-
214
- .Toggle-flat {
215
- --Toggle-shadow-color: none;
216
- box-shadow: none;
217
- }
218
-
219
- /* Sizes */
220
-
221
- .Toggle-small {
222
- --Toggle-size: var(--input-size-s);
223
- }
224
-
225
- .Toggle-large {
226
- --Toggle-size: var(--input-size-l);
227
- }
228
- </style>
package/src/VGroup.vue DELETED
@@ -1,72 +0,0 @@
1
- <template>
2
- <component
3
- :is="tagName"
4
- class="VGroup"
5
- :class="[
6
- `VGroup-align-${align}`,
7
- `VGroup-justify-${justify}`,
8
- `VGroup-gap-${gap}`,
9
- ]">
10
- <slot />
11
- </component>
12
- </template>
13
-
14
- <script>
15
- export default {
16
-
17
- props: {
18
- tagName: { type: String, default: 'div' },
19
- align: { type: String, default: 'stretch' },
20
- justify: { type: String },
21
- gap: { type: String, default: 'm' },
22
- }
23
-
24
- };
25
- </script>
26
-
27
- <style scoped>
28
- .VGroup {
29
- display: flex;
30
- flex-flow: column nowrap;
31
- }
32
-
33
- .VGroup-align-stretch { align-items: stretch; }
34
- .VGroup-align-baseline { align-items: baseline; }
35
- .VGroup-align-center { align-items: center; }
36
- .VGroup-align-start { align-items: flex-start; }
37
- .VGroup-align-end { align-items: flex-end; }
38
-
39
- .VGroup-justify-center { justify-content: center; }
40
- .VGroup-justify-start { justify-content: flex-start; }
41
- .VGroup-justify-end { justify-content: flex-end; }
42
- .VGroup-justify-space-around { justify-content: space-around; }
43
- .VGroup-justify-space-between { justify-content: space-between; }
44
-
45
- .VGroup-gap-xxs { gap: var(--sp-xxs) }
46
- .VGroup-gap-xs { gap: var(--sp-xs) }
47
- .VGroup-gap-s { gap: var(--sp-s) }
48
- .VGroup-gap-m { gap: var(--sp-m) }
49
- .VGroup-gap-l { gap: var(--sp-l) }
50
- .VGroup-gap-xl { gap: var(--sp-xl) }
51
- .VGroup-gap-xxl { gap: var(--sp-xxl) }
52
-
53
- .VGroup-gap-0 { gap: 0 }
54
- .VGroup-gap-0-25 { gap: var(--sp0-25) }
55
- .VGroup-gap-0-5 { gap: var(--sp0-5) }
56
- .VGroup-gap-1 { gap: var(--sp1) }
57
- .VGroup-gap-1-5 { gap: var(--sp1-5) }
58
- .VGroup-gap-2 { gap: var(--sp2) }
59
- .VGroup-gap-2-5 { gap: var(--sp2-5) }
60
- .VGroup-gap-3 { gap: var(--sp3) }
61
- .VGroup-gap-4 { gap: var(--sp4) }
62
- .VGroup-gap-5 { gap: var(--sp5) }
63
- .VGroup-gap-6 { gap: var(--sp6) }
64
- .VGroup-gap-7 { gap: var(--sp7) }
65
- .VGroup-gap-8 { gap: var(--sp8) }
66
- .VGroup-gap-9 { gap: var(--sp9) }
67
- .VGroup-gap-10 { gap: var(--sp10) }
68
- .VGroup-gap-12 { gap: var(--sp12) }
69
- .VGroup-gap-16 { gap: var(--sp16) }
70
- .VGroup-gap-24 { gap: var(--sp24) }
71
- .VGroup-gap-32 { gap: var(--sp32) }
72
- </style>
package/src/index.ts DELETED
@@ -1,27 +0,0 @@
1
- import Btn from './Btn.vue';
2
- import HGroup from './HGroup.vue';
3
- import InputBase from './InputBase.vue';
4
- import InputGroup from './InputGroup.vue';
5
- import InputSelect from './InputSelect.vue';
6
- import InputText from './InputText.vue';
7
- import InputTextarea from './InputTextarea.vue';
8
- import Sizer from './Sizer.vue';
9
- import Tab from './Tab.vue';
10
- import TabCap from './TabCap.vue';
11
- import Toggle from './Toggle.vue';
12
- import VGroup from './VGroup.vue';
13
-
14
- export {
15
- Btn,
16
- HGroup,
17
- InputBase,
18
- InputGroup,
19
- InputSelect,
20
- InputText,
21
- InputTextarea,
22
- Sizer,
23
- Tab,
24
- TabCap,
25
- Toggle,
26
- VGroup,
27
- };
package/src/types.d.ts DELETED
@@ -1,6 +0,0 @@
1
- declare module '*.vue' {
2
- import type { DefineComponent } from 'vue';
3
-
4
- const component: DefineComponent<{}, {}, any>;
5
- export default component;
6
- }