@skyservice-developers/vue-dev-kit 1.5.11 → 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.
Files changed (57) hide show
  1. package/README.md +96 -15
  2. package/dist/api-BOvdjB3h.js +266 -0
  3. package/dist/api-D5C6FvTr.cjs +1 -0
  4. package/dist/components/BaseTeleport.vue.d.ts +14 -0
  5. package/dist/components/Dialog.vue.d.ts +28 -0
  6. package/dist/components/DialogModal.vue.d.ts +28 -0
  7. package/dist/components/DialogNext.vue.d.ts +28 -0
  8. package/dist/components/Header.vue.d.ts +37 -0
  9. package/dist/components/Modal.vue.d.ts +30 -0
  10. package/dist/components/SkyButton.vue.d.ts +22 -0
  11. package/dist/components/SkySelect.vue.d.ts +16 -0
  12. package/dist/components/index.d.ts +8 -0
  13. package/dist/index.d.ts +3 -0
  14. package/dist/sdk/api.d.ts +54 -0
  15. package/dist/sdk/bridge.d.ts +43 -0
  16. package/dist/sdk/index.d.ts +6 -0
  17. package/dist/sdk/types.d.ts +73 -0
  18. package/dist/sdk/webview.d.ts +16 -0
  19. package/dist/sdk.cjs +1 -0
  20. package/dist/sdk.js +33 -0
  21. package/dist/style.css +1 -0
  22. package/dist/vue-dev-kit.cjs +1 -0
  23. package/dist/vue-dev-kit.js +903 -0
  24. package/package.json +32 -43
  25. package/dist/vue2/style.css +0 -1
  26. package/dist/vue2/vue-dev-kit.cjs +0 -1
  27. package/dist/vue2/vue-dev-kit.js +0 -2622
  28. package/dist/vue3/style.css +0 -1
  29. package/dist/vue3/vue-dev-kit.cjs +0 -1
  30. package/dist/vue3/vue-dev-kit.js +0 -2338
  31. package/src/index.js +0 -9
  32. package/src/shared/index.js +0 -1
  33. package/src/shared/types/index.d.ts +0 -72
  34. package/src/shared/utils/index.js +0 -2
  35. package/src/shared/utils/parentBridge.js +0 -84
  36. package/src/shared/utils/webviewCheck.js +0 -54
  37. package/src/styles/scrollbar.css +0 -17
  38. package/src/vue2/components/BaseTeleport.vue +0 -16
  39. package/src/vue2/components/Dialog.vue +0 -106
  40. package/src/vue2/components/DialogModal.vue +0 -439
  41. package/src/vue2/components/DialogNext.vue +0 -379
  42. package/src/vue2/components/Header.vue +0 -466
  43. package/src/vue2/components/Modal.vue +0 -252
  44. package/src/vue2/components/SkyButton.vue +0 -144
  45. package/src/vue2/components/SkySelect.vue +0 -327
  46. package/src/vue2/components/index.js +0 -6
  47. package/src/vue2/index.js +0 -2
  48. package/src/vue3/components/BaseTeleport.vue +0 -16
  49. package/src/vue3/components/Dialog.vue +0 -97
  50. package/src/vue3/components/DialogModal.vue +0 -458
  51. package/src/vue3/components/DialogNext.vue +0 -427
  52. package/src/vue3/components/Header.vue +0 -505
  53. package/src/vue3/components/Modal.vue +0 -253
  54. package/src/vue3/components/SkyButton.vue +0 -140
  55. package/src/vue3/components/SkySelect.vue +0 -379
  56. package/src/vue3/components/index.js +0 -8
  57. package/src/vue3/index.js +0 -2
@@ -1,253 +0,0 @@
1
- <template>
2
- <BaseTeleport to="body">
3
- <div
4
- v-if="modelValue"
5
- class="sky-modal-overlay"
6
- @click.self="handleOverlayClick"
7
- >
8
- <div class="sky-modal" :style="modalStyle">
9
- <div class="sky-modal-header">
10
- <button class="sky-modal-back" @click="close" :title="closeTitle">
11
- <svg
12
- width="15"
13
- height="15"
14
- viewBox="0 0 451.847 451.847"
15
- style="transform: rotate(90deg)"
16
- >
17
- <path
18
- fill="currentColor"
19
- d="M225.923,354.706c-8.098,0-16.195-3.092-22.369-9.263L9.27,151.157c-12.359-12.359-12.359-32.397,0-44.751c12.354-12.354,32.388-12.354,44.748,0l171.905,171.915l171.906-171.909c12.359-12.354,32.391-12.354,44.744,0c12.365,12.354,12.365,32.392,0,44.751L248.292,345.449C242.115,351.621,234.018,354.706,225.923,354.706z"
20
- />
21
- </svg>
22
- </button>
23
- <div class="sky-modal-title-wrapper">
24
- <h4 class="sky-modal-title">{{ title }}</h4>
25
- <div v-if="subtitle" class="sky-modal-subtitle">
26
- {{ subtitle }}
27
- </div>
28
- </div>
29
- </div>
30
-
31
- <div class="sky-modal-body">
32
- <slot></slot>
33
- </div>
34
-
35
- <div v-if="$slots.footer" class="sky-modal-footer">
36
- <!-- Порожні блоки ремонтують відображення на windows в додатку, не видаляти! -->
37
- <div></div>
38
- <slot name="footer"></slot>
39
- <div></div>
40
- </div>
41
- </div>
42
- </div>
43
- </BaseTeleport>
44
- </template>
45
-
46
- <script setup>
47
- import { computed, watch, onMounted, onUnmounted } from "vue";
48
- import BaseTeleport from "./BaseTeleport.vue";
49
-
50
- const props = defineProps({
51
- modelValue: {
52
- type: Boolean,
53
- default: false,
54
- },
55
- title: {
56
- type: String,
57
- default: "",
58
- },
59
- subtitle: {
60
- type: String,
61
- default: "",
62
- },
63
- closeTitle: {
64
- type: String,
65
- default: "Закрити",
66
- },
67
- closeOnOverlay: {
68
- type: Boolean,
69
- default: true,
70
- },
71
- closeOnEsc: {
72
- type: Boolean,
73
- default: true,
74
- },
75
- width: {
76
- type: String,
77
- default: "100%",
78
- },
79
- height: {
80
- type: String,
81
- default: "100%",
82
- },
83
- });
84
-
85
- const emit = defineEmits(["update:modelValue", "close"]);
86
-
87
- const modalStyle = computed(() => ({
88
- width: props.width,
89
- height: props.height,
90
- }));
91
-
92
- const close = () => {
93
- emit("update:modelValue", false);
94
- emit("close");
95
- };
96
-
97
- const handleOverlayClick = () => {
98
- if (props.closeOnOverlay) {
99
- close();
100
- }
101
- };
102
-
103
- const handleKeydown = (e) => {
104
- if (e.key === "Escape" && props.closeOnEsc && props.modelValue) {
105
- close();
106
- }
107
- };
108
-
109
- watch(
110
- () => props.modelValue,
111
- (value) => {
112
- if (value) {
113
- document.body.style.overflow = "hidden";
114
- } else {
115
- document.body.style.overflow = "";
116
- }
117
- },
118
- );
119
-
120
- onMounted(() => {
121
- document.addEventListener("keydown", handleKeydown);
122
- });
123
-
124
- onUnmounted(() => {
125
- document.removeEventListener("keydown", handleKeydown);
126
- document.body.style.overflow = "";
127
- });
128
- </script>
129
-
130
- <style scoped>
131
- .sky-modal-overlay {
132
- position: fixed;
133
- top: 0;
134
- left: 0;
135
- width: 100%;
136
- height: 100%;
137
- background: rgba(0, 0, 0, 0.6);
138
- backdrop-filter: blur(2px);
139
- z-index: var(--sky-modal-z-index, 9998);
140
- display: flex;
141
- justify-content: center;
142
- align-items: center;
143
- }
144
-
145
- .sky-modal {
146
- background: var(--sky-modal-bg, white);
147
- border-radius: var(--sky-modal-radius, 0);
148
- box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3), 0 1px 2px rgba(0, 0, 0, 0.24);
149
- display: flex;
150
- flex-direction: column;
151
- max-width: 100%;
152
- max-height: 100%;
153
- }
154
-
155
- .sky-modal-header {
156
- display: flex;
157
- align-items: center;
158
- padding: var(--sky-modal-header-padding, 10px 14px);
159
- border-bottom: 1px solid var(--sky-modal-border-color, #dee2e6);
160
- flex-shrink: 0;
161
- }
162
-
163
- .sky-modal-back {
164
- display: flex;
165
- align-items: center;
166
- justify-content: center;
167
- width: 32px;
168
- height: 32px;
169
- padding: 0;
170
- background: transparent;
171
- border: none;
172
- cursor: pointer;
173
- border-radius: 6px;
174
- transition: background-color 0.2s;
175
- color: var(--sky-modal-back-color, #374151);
176
- margin-right: 12px;
177
- }
178
-
179
- .sky-modal-back svg {
180
- display: block;
181
- }
182
-
183
- .sky-modal-back:hover {
184
- background-color: var(--sky-modal-back-hover-bg, #f8f9fa);
185
- }
186
-
187
- .sky-modal-back:active {
188
- background-color: var(--sky-modal-back-active-bg, #e9ecef);
189
- }
190
-
191
- .sky-modal-title-wrapper {
192
- flex: 1;
193
- min-width: 0;
194
- }
195
-
196
- .sky-modal-title {
197
- margin: 0;
198
- font-size: var(--sky-modal-title-size, 18px);
199
- font-weight: var(--sky-modal-title-weight, 500);
200
- color: var(--sky-modal-title-color, #252525);
201
- line-height: 1.4;
202
- white-space: nowrap;
203
- overflow: hidden;
204
- text-overflow: ellipsis;
205
- }
206
-
207
- .sky-modal-subtitle {
208
- font-size: var(--sky-modal-subtitle-size, 14px);
209
- color: var(--sky-modal-subtitle-color, #6c757d);
210
- white-space: nowrap;
211
- overflow: hidden;
212
- text-overflow: ellipsis;
213
- }
214
-
215
- .sky-modal-body {
216
- flex: 1;
217
- overflow-y: auto;
218
- overflow-x: hidden;
219
- padding: var(--sky-modal-body-padding, 14px);
220
- }
221
-
222
- .sky-modal-footer {
223
- padding: var(--sky-modal-footer-padding, 10px 14px);
224
- border-top: 1px solid var(--sky-modal-border-color, #dee2e6);
225
- display: flex;
226
- justify-content: flex-end;
227
- flex-shrink: 0;
228
- }
229
-
230
- .sky-modal-footer > * + * {
231
- margin-left: 10px;
232
- }
233
-
234
- /* Responsive */
235
- @media (min-width: 768px) {
236
- .sky-modal {
237
- border-radius: var(--sky-modal-radius, 8px);
238
- }
239
- }
240
-
241
- /* iOS safe area */
242
- @supports (padding-top: env(safe-area-inset-top)) {
243
- .sky-modal-header {
244
- padding-top: calc(10px + env(safe-area-inset-top));
245
- }
246
- .sky-modal-footer {
247
- padding-bottom: calc(10px + env(safe-area-inset-bottom));
248
- }
249
- .sky-modal-body:last-child {
250
- padding-bottom: calc(14px + env(safe-area-inset-bottom));
251
- }
252
- }
253
- </style>
@@ -1,140 +0,0 @@
1
- <template>
2
- <button
3
- class="sky-btn"
4
- :class="[
5
- `sky-btn-${variant}`,
6
- {
7
- 'sky-btn-block': block,
8
- 'sky-btn-loading': loading,
9
- 'sky-btn-icon': icon,
10
- }
11
- ]"
12
- :disabled="disabled || loading"
13
- v-bind="$attrs"
14
- >
15
- <span v-if="loading" class="sky-btn-spinner"></span>
16
- <slot></slot>
17
- </button>
18
- </template>
19
-
20
- <script setup>
21
- defineProps({
22
- variant: {
23
- type: String,
24
- default: 'primary',
25
- validator: (v) => ['primary', 'danger', 'secondary', 'outline'].includes(v)
26
- },
27
- loading: {
28
- type: Boolean,
29
- default: false
30
- },
31
- disabled: {
32
- type: Boolean,
33
- default: false
34
- },
35
- block: {
36
- type: Boolean,
37
- default: false
38
- },
39
- icon: {
40
- type: Boolean,
41
- default: false
42
- }
43
- })
44
- </script>
45
-
46
- <style scoped>
47
- .sky-btn {
48
- display: inline-flex;
49
- align-items: center;
50
- justify-content: center;
51
- gap: 8px;
52
- padding: var(--sky-btn-padding, 16px 20px);
53
- border: var(--sky-btn-border, none);
54
- border-radius: var(--sky-btn-radius, 6px);
55
- font-size: var(--sky-btn-font-size, 14px);
56
- font-weight: var(--sky-btn-font-weight, 500);
57
- line-height: 1;
58
- cursor: pointer;
59
- white-space: nowrap;
60
- user-select: none;
61
- }
62
-
63
- .sky-btn-icon {
64
- padding: var(--sky-btn-icon-padding, 10px);
65
- border-radius: var(--sky-btn-icon-radius, 6px);
66
- }
67
-
68
- .sky-btn-block {
69
- width: 100%;
70
- }
71
-
72
- .sky-btn:disabled {
73
- opacity: 0.6;
74
- cursor: not-allowed;
75
- }
76
-
77
- /* Primary */
78
- .sky-btn-primary {
79
- background: var(--sky-btn-primary-bg, #24973f);
80
- color: var(--sky-btn-primary-color, #fff);
81
- }
82
- .sky-btn-primary:hover:not(:disabled) {
83
- background: var(--sky-btn-primary-hover-bg, #1e7a33);
84
- }
85
- .sky-btn-primary:active:not(:disabled) {
86
- background: var(--sky-btn-primary-active-bg, #196b2c);
87
- }
88
-
89
- /* Danger */
90
- .sky-btn-danger {
91
- background: var(--sky-btn-danger-bg, #dc2626);
92
- color: var(--sky-btn-danger-color, #fff);
93
- }
94
- .sky-btn-danger:hover:not(:disabled) {
95
- background: var(--sky-btn-danger-hover-bg, #b91c1c);
96
- }
97
- .sky-btn-danger:active:not(:disabled) {
98
- background: var(--sky-btn-danger-active-bg, #991b1b);
99
- }
100
-
101
- /* Secondary */
102
- .sky-btn-secondary {
103
- background: var(--sky-btn-secondary-bg, #f3f4f6);
104
- color: var(--sky-btn-secondary-color, #374151);
105
- }
106
- .sky-btn-secondary:hover:not(:disabled) {
107
- background: var(--sky-btn-secondary-hover-bg, #e5e7eb);
108
- }
109
- .sky-btn-secondary:active:not(:disabled) {
110
- background: var(--sky-btn-secondary-active-bg, #d1d5db);
111
- }
112
-
113
- /* Outline */
114
- .sky-btn-outline {
115
- background: var(--sky-btn-outline-bg, transparent);
116
- color: var(--sky-btn-outline-color, #374151);
117
- border: var(--sky-btn-border, 1px solid #d1d5db);
118
- }
119
- .sky-btn-outline:hover:not(:disabled) {
120
- background: var(--sky-btn-outline-hover-bg, #f3f4f6);
121
- }
122
- .sky-btn-outline:active:not(:disabled) {
123
- background: var(--sky-btn-outline-active-bg, #e5e7eb);
124
- }
125
-
126
- /* Loading spinner */
127
- .sky-btn-spinner {
128
- width: 14px;
129
- height: 14px;
130
- border: 2px solid currentColor;
131
- border-top-color: transparent;
132
- border-radius: 50%;
133
- animation: sky-btn-spin 0.6s linear infinite;
134
- flex-shrink: 0;
135
- }
136
-
137
- @keyframes sky-btn-spin {
138
- to { transform: rotate(360deg); }
139
- }
140
- </style>