@scaloster_971/scaleadjus 1.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 (52) hide show
  1. package/LICENSE +0 -0
  2. package/README.md +215 -0
  3. package/dist/adapters/angular.d.ts +19 -0
  4. package/dist/adapters/angular.d.ts.map +1 -0
  5. package/dist/adapters/react.d.ts +11 -0
  6. package/dist/adapters/react.d.ts.map +1 -0
  7. package/dist/adapters/vanilla.d.ts +3 -0
  8. package/dist/adapters/vanilla.d.ts.map +1 -0
  9. package/dist/adapters/vue.d.ts +11 -0
  10. package/dist/adapters/vue.d.ts.map +1 -0
  11. package/dist/angular.js +535 -0
  12. package/dist/angular.js.map +1 -0
  13. package/dist/angular.mjs +533 -0
  14. package/dist/angular.mjs.map +1 -0
  15. package/dist/core/ScaleAdjus.d.ts +42 -0
  16. package/dist/core/ScaleAdjus.d.ts.map +1 -0
  17. package/dist/core/constants.d.ts +47 -0
  18. package/dist/core/constants.d.ts.map +1 -0
  19. package/dist/core/types.d.ts +80 -0
  20. package/dist/core/types.d.ts.map +1 -0
  21. package/dist/index.d.ts +11 -0
  22. package/dist/index.d.ts.map +1 -0
  23. package/dist/index.js +590 -0
  24. package/dist/index.js.map +1 -0
  25. package/dist/index.min.js +2 -0
  26. package/dist/index.min.js.map +1 -0
  27. package/dist/index.mjs +582 -0
  28. package/dist/index.mjs.map +1 -0
  29. package/dist/index.umd.js +596 -0
  30. package/dist/index.umd.js.map +1 -0
  31. package/dist/plugins/css.d.ts +3 -0
  32. package/dist/plugins/css.d.ts.map +1 -0
  33. package/dist/plugins/tailwind.d.ts +3 -0
  34. package/dist/plugins/tailwind.d.ts.map +1 -0
  35. package/dist/react.js +454 -0
  36. package/dist/react.js.map +1 -0
  37. package/dist/react.mjs +452 -0
  38. package/dist/react.mjs.map +1 -0
  39. package/dist/styles.css +1 -0
  40. package/dist/utils/debounce.d.ts +3 -0
  41. package/dist/utils/debounce.d.ts.map +1 -0
  42. package/dist/utils/device.d.ts +12 -0
  43. package/dist/utils/device.d.ts.map +1 -0
  44. package/dist/utils/dom.d.ts +13 -0
  45. package/dist/utils/dom.d.ts.map +1 -0
  46. package/dist/utils/events.d.ts +12 -0
  47. package/dist/utils/events.d.ts.map +1 -0
  48. package/dist/vue.js +452 -0
  49. package/dist/vue.js.map +1 -0
  50. package/dist/vue.mjs +450 -0
  51. package/dist/vue.mjs.map +1 -0
  52. package/package.json +116 -0
package/dist/vue.mjs ADDED
@@ -0,0 +1,450 @@
1
+ import { ref, onMounted, onUnmounted } from 'vue';
2
+
3
+ const DEFAULT_OPTIONS = {
4
+ baseScale: 1,
5
+ minScale: 0.5,
6
+ maxScale: 1.5,
7
+ enableMobile: true,
8
+ enableTablet: true,
9
+ enableDesktop: true,
10
+ enableLargeMonitor: true,
11
+ smoothTransition: true,
12
+ transitionDuration: 300,
13
+ debug: false,
14
+ autoInit: true,
15
+ breakpoints: {
16
+ mobile: 768,
17
+ tablet: 1024,
18
+ desktop: 1200,
19
+ largeMonitor: 1600,
20
+ },
21
+ scaleFactors: {
22
+ mobile: 0.8,
23
+ tablet: 0.9,
24
+ desktop: 1,
25
+ largeMonitor: 1.1,
26
+ },
27
+ excludeSelectors: [],
28
+ includeSelectors: ['*'],
29
+ customCSS: '',
30
+ };
31
+ const CSS_PREFIX = 'sa';
32
+ const EVENTS = {
33
+ INIT: 'scaleadjus:init',
34
+ SCALE: 'scaleadjus:scale',
35
+ RESET: 'scaleadjus:reset',
36
+ DESTROY: 'scaleadjus:destroy',
37
+ UPDATE: 'scaleadjus:update',
38
+ DEVICE_CHANGE: 'scaleadjus:device-change'};
39
+ const TRANSFORM_ORIGIN = 'top left';
40
+
41
+ function debounce(func, wait) {
42
+ let timeout = null;
43
+ return function executedFunction(...args) {
44
+ const later = () => {
45
+ timeout = null;
46
+ func(...args);
47
+ };
48
+ if (timeout)
49
+ clearTimeout(timeout);
50
+ timeout = setTimeout(later, wait);
51
+ };
52
+ }
53
+ function throttle(func, limit) {
54
+ let inThrottle = false;
55
+ return function executedFunction(...args) {
56
+ if (!inThrottle) {
57
+ func(...args);
58
+ inThrottle = true;
59
+ setTimeout(() => {
60
+ inThrottle = false;
61
+ }, limit);
62
+ }
63
+ };
64
+ }
65
+
66
+ function getDeviceType(width, breakpoints = DEFAULT_OPTIONS.breakpoints) {
67
+ if (width <= breakpoints.mobile)
68
+ return 'mobile';
69
+ if (width <= breakpoints.tablet)
70
+ return 'tablet';
71
+ if (breakpoints.largeMonitor && width <= breakpoints.largeMonitor)
72
+ return 'desktop';
73
+ if (breakpoints.largeMonitor && width > breakpoints.largeMonitor)
74
+ return 'large-monitor';
75
+ return 'desktop';
76
+ }
77
+
78
+ class EventEmitter {
79
+ constructor() {
80
+ this.events = new Map();
81
+ }
82
+ on(event, callback) {
83
+ if (!this.events.has(event)) {
84
+ this.events.set(event, []);
85
+ }
86
+ this.events.get(event)?.push(callback);
87
+ }
88
+ off(event, callback) {
89
+ if (!this.events.has(event))
90
+ return;
91
+ const callbacks = this.events.get(event) || [];
92
+ const index = callbacks.indexOf(callback);
93
+ if (index !== -1) {
94
+ callbacks.splice(index, 1);
95
+ }
96
+ if (callbacks.length === 0) {
97
+ this.events.delete(event);
98
+ }
99
+ }
100
+ emit(event, data) {
101
+ const callbacks = this.events.get(event) || [];
102
+ callbacks.forEach(callback => {
103
+ try {
104
+ callback(data);
105
+ }
106
+ catch (error) {
107
+ console.error(`Error in event handler for ${event}:`, error);
108
+ }
109
+ });
110
+ }
111
+ removeAllListeners() {
112
+ this.events.clear();
113
+ }
114
+ listenerCount(event) {
115
+ return this.events.get(event)?.length || 0;
116
+ }
117
+ eventNames() {
118
+ return Array.from(this.events.keys());
119
+ }
120
+ }
121
+
122
+ class ScaleAdjus {
123
+ constructor(options = {}) {
124
+ this.initialized = false;
125
+ this.styleElement = null;
126
+ this.resizeObserver = null;
127
+ this.mutationObserver = null;
128
+ this.cleanupFunctions = [];
129
+ this.options = { ...DEFAULT_OPTIONS, ...options };
130
+ this.currentScale = this.options.baseScale || 1;
131
+ this.deviceInfo = this.getDeviceInfo();
132
+ this.eventEmitter = new EventEmitter();
133
+ if (this.options.autoInit) {
134
+ this.init();
135
+ }
136
+ }
137
+ init() {
138
+ if (this.initialized)
139
+ return;
140
+ this.injectStyles();
141
+ this.applyScale();
142
+ this.setupResizeListener();
143
+ this.setupMutationObserver();
144
+ this.setupDeviceChangeListener();
145
+ this.initialized = true;
146
+ this.emitEvent(EVENTS.INIT, this.createEventData());
147
+ }
148
+ destroy() {
149
+ if (!this.initialized)
150
+ return;
151
+ this.removeInjectedStyles();
152
+ this.removeEventListeners();
153
+ this.resetAllElements();
154
+ this.initialized = false;
155
+ this.emitEvent(EVENTS.DESTROY, this.createEventData());
156
+ this.eventEmitter.removeAllListeners();
157
+ }
158
+ setScale(scale) {
159
+ const clampedScale = this.clampScale(scale);
160
+ this.currentScale = clampedScale;
161
+ this.applyScale();
162
+ this.emitEvent(EVENTS.SCALE, this.createEventData());
163
+ }
164
+ resetScale() {
165
+ this.currentScale = this.options.baseScale || 1;
166
+ this.applyScale();
167
+ this.emitEvent(EVENTS.RESET, this.createEventData());
168
+ }
169
+ updateOptions(options) {
170
+ this.options = { ...this.options, ...options };
171
+ this.deviceInfo = this.getDeviceInfo();
172
+ this.applyScale();
173
+ this.emitEvent(EVENTS.UPDATE, this.createEventData());
174
+ }
175
+ getCurrentScale() {
176
+ return this.currentScale;
177
+ }
178
+ getDeviceInfo() {
179
+ const width = window.innerWidth;
180
+ const height = window.innerHeight;
181
+ const deviceType = getDeviceType(width, this.options.breakpoints);
182
+ const scale = this.calculateScale(width);
183
+ return {
184
+ type: deviceType,
185
+ width,
186
+ height,
187
+ scale,
188
+ isMobile: deviceType === 'mobile',
189
+ isTablet: deviceType === 'tablet',
190
+ isDesktop: deviceType === 'desktop',
191
+ isLargeMonitor: deviceType === 'large-monitor',
192
+ };
193
+ }
194
+ getElementScale(element) {
195
+ const computedStyle = getComputedStyle(element);
196
+ const transform = computedStyle.transform;
197
+ if (transform && transform !== 'none') {
198
+ const match = transform.match(/scale\(([^)]+)\)/);
199
+ if (match) {
200
+ return parseFloat(match[1]);
201
+ }
202
+ }
203
+ return this.currentScale;
204
+ }
205
+ setElementScale(element, scale) {
206
+ const clampedScale = this.clampScale(scale);
207
+ element.style.transform = `scale(${clampedScale})`;
208
+ element.style.transformOrigin = TRANSFORM_ORIGIN;
209
+ }
210
+ resetElementScale(element) {
211
+ element.style.transform = '';
212
+ element.style.transformOrigin = '';
213
+ }
214
+ addEventListener(event, callback) {
215
+ this.eventEmitter.on(event, callback);
216
+ }
217
+ removeEventListener(event, callback) {
218
+ this.eventEmitter.off(event, callback);
219
+ }
220
+ injectStyles() {
221
+ if (this.styleElement)
222
+ return;
223
+ this.styleElement = document.createElement('style');
224
+ this.styleElement.id = `${CSS_PREFIX}-styles`;
225
+ this.styleElement.textContent = this.generateCSS();
226
+ document.head.appendChild(this.styleElement);
227
+ }
228
+ removeInjectedStyles() {
229
+ if (this.styleElement) {
230
+ this.styleElement.remove();
231
+ this.styleElement = null;
232
+ }
233
+ }
234
+ generateCSS() {
235
+ const prefix = CSS_PREFIX;
236
+ const duration = this.options.smoothTransition ? this.options.transitionDuration : 0;
237
+ return `
238
+ [data-${prefix}] {
239
+ transition: all ${duration}ms cubic-bezier(0.4, 0, 0.2, 1);
240
+ transform-origin: ${TRANSFORM_ORIGIN};
241
+ }
242
+
243
+ .${prefix}-scaled {
244
+ transition: all ${duration}ms cubic-bezier(0.4, 0, 0.2, 1);
245
+ }
246
+
247
+ .${prefix}-container {
248
+ width: 100%;
249
+ max-width: 100%;
250
+ box-sizing: border-box;
251
+ }
252
+
253
+ .${prefix}-no-scale {
254
+ transform: none !important;
255
+ transition: none !important;
256
+ }
257
+
258
+ .${prefix}-responsive {
259
+ font-size: calc(1rem * var(--${prefix}-scale, 1));
260
+ }
261
+
262
+ ${this.options.customCSS || ''}
263
+ `;
264
+ }
265
+ applyScale() {
266
+ const elements = this.getTargetElements();
267
+ const scale = this.currentScale;
268
+ elements.forEach(element => {
269
+ if (this.shouldExcludeElement(element))
270
+ return;
271
+ if (element === document.body || element === document.documentElement) {
272
+ element.style.transform = `scale(${scale})`;
273
+ element.style.transformOrigin = TRANSFORM_ORIGIN;
274
+ element.style.width = `${100 / scale}%`;
275
+ element.style.minHeight = '100vh';
276
+ }
277
+ else {
278
+ element.setAttribute(`data-${CSS_PREFIX}`, '');
279
+ element.style.transform = `scale(${scale})`;
280
+ element.style.transformOrigin = TRANSFORM_ORIGIN;
281
+ }
282
+ });
283
+ this.updateCSSVariables();
284
+ }
285
+ resetAllElements() {
286
+ const elements = this.getTargetElements();
287
+ elements.forEach(element => {
288
+ element.style.transform = '';
289
+ element.style.transformOrigin = '';
290
+ element.style.width = '';
291
+ element.style.minHeight = '';
292
+ element.removeAttribute(`data-${CSS_PREFIX}`);
293
+ });
294
+ }
295
+ getTargetElements() {
296
+ const selectors = this.options.includeSelectors || ['*'];
297
+ const elements = [];
298
+ if (selectors.includes('*')) {
299
+ elements.push(document.body);
300
+ const allElements = document.body.querySelectorAll('*');
301
+ elements.push(...Array.from(allElements));
302
+ }
303
+ else {
304
+ selectors.forEach(selector => {
305
+ const found = document.querySelectorAll(selector);
306
+ elements.push(...Array.from(found));
307
+ });
308
+ }
309
+ return [...new Set(elements)];
310
+ }
311
+ shouldExcludeElement(element) {
312
+ const excludeSelectors = this.options.excludeSelectors || [];
313
+ return excludeSelectors.some(selector => element.matches(selector) || element.closest(selector) !== null);
314
+ }
315
+ calculateScale(width) {
316
+ const deviceType = getDeviceType(width, this.options.breakpoints);
317
+ const factors = this.options.scaleFactors || DEFAULT_OPTIONS.scaleFactors;
318
+ const factor = factors[deviceType] || 1;
319
+ const baseScale = this.options.baseScale || 1;
320
+ const scale = factor * baseScale;
321
+ return this.clampScale(scale);
322
+ }
323
+ clampScale(scale) {
324
+ const min = this.options.minScale || 0.5;
325
+ const max = this.options.maxScale || 1.5;
326
+ return Math.max(min, Math.min(max, scale));
327
+ }
328
+ updateCSSVariables() {
329
+ const prefix = CSS_PREFIX;
330
+ const root = document.documentElement;
331
+ root.style.setProperty(`--${prefix}-scale`, String(this.currentScale));
332
+ root.style.setProperty(`--${prefix}-device`, this.deviceInfo.type);
333
+ root.setAttribute(`data-${prefix}-device`, this.deviceInfo.type);
334
+ }
335
+ setupResizeListener() {
336
+ const handleResize = debounce(() => {
337
+ this.deviceInfo = this.getDeviceInfo();
338
+ const newScale = this.calculateScale(window.innerWidth);
339
+ if (newScale !== this.currentScale) {
340
+ this.currentScale = newScale;
341
+ this.applyScale();
342
+ this.emitEvent(EVENTS.SCALE, this.createEventData());
343
+ }
344
+ }, 250);
345
+ window.addEventListener('resize', handleResize);
346
+ this.cleanupFunctions.push(() => window.removeEventListener('resize', handleResize));
347
+ if (window.ResizeObserver) {
348
+ this.resizeObserver = new ResizeObserver(throttle(handleResize, 100));
349
+ this.resizeObserver.observe(document.body);
350
+ this.cleanupFunctions.push(() => this.resizeObserver?.disconnect());
351
+ }
352
+ }
353
+ setupMutationObserver() {
354
+ if (!window.MutationObserver)
355
+ return;
356
+ const handleMutation = debounce(() => {
357
+ this.applyScale();
358
+ }, 100);
359
+ this.mutationObserver = new MutationObserver(handleMutation);
360
+ this.mutationObserver.observe(document.body, {
361
+ childList: true,
362
+ subtree: true,
363
+ attributes: false,
364
+ });
365
+ this.cleanupFunctions.push(() => this.mutationObserver?.disconnect());
366
+ }
367
+ setupDeviceChangeListener() {
368
+ const handleOrientationChange = () => {
369
+ setTimeout(() => {
370
+ this.deviceInfo = this.getDeviceInfo();
371
+ const newScale = this.calculateScale(window.innerWidth);
372
+ if (newScale !== this.currentScale) {
373
+ this.currentScale = newScale;
374
+ this.applyScale();
375
+ this.emitEvent(EVENTS.DEVICE_CHANGE, this.createEventData());
376
+ }
377
+ }, 300);
378
+ };
379
+ if (window.screen?.orientation) {
380
+ window.screen.orientation.addEventListener('change', handleOrientationChange);
381
+ this.cleanupFunctions.push(() => window.screen?.orientation?.removeEventListener('change', handleOrientationChange));
382
+ }
383
+ window.addEventListener('orientationchange', handleOrientationChange);
384
+ this.cleanupFunctions.push(() => window.removeEventListener('orientationchange', handleOrientationChange));
385
+ }
386
+ removeEventListeners() {
387
+ this.cleanupFunctions.forEach(cleanup => cleanup());
388
+ this.cleanupFunctions = [];
389
+ }
390
+ createEventData() {
391
+ return {
392
+ device: this.deviceInfo.type,
393
+ scale: this.currentScale,
394
+ width: this.deviceInfo.width,
395
+ height: this.deviceInfo.height,
396
+ timestamp: Date.now(),
397
+ };
398
+ }
399
+ emitEvent(event, data) {
400
+ this.eventEmitter.emit(event, data);
401
+ const customEvent = new CustomEvent(event, {
402
+ detail: data,
403
+ bubbles: true,
404
+ cancelable: true,
405
+ });
406
+ document.dispatchEvent(customEvent);
407
+ }
408
+ }
409
+
410
+ function createVuePlugin(options = {}) {
411
+ const instance = ref(null);
412
+ const scale = ref(1);
413
+ const deviceInfo = ref(null);
414
+ onMounted(() => {
415
+ instance.value = new ScaleAdjus({
416
+ ...options,
417
+ autoInit: true,
418
+ });
419
+ instance.value.addEventListener('scaleadjus:scale', (data) => {
420
+ scale.value = data.scale;
421
+ deviceInfo.value = instance.value?.getDeviceInfo() || null;
422
+ });
423
+ scale.value = instance.value.getCurrentScale();
424
+ deviceInfo.value = instance.value.getDeviceInfo();
425
+ });
426
+ onUnmounted(() => {
427
+ instance.value?.destroy();
428
+ instance.value = null;
429
+ });
430
+ const setScale = (newScale) => {
431
+ instance.value?.setScale(newScale);
432
+ };
433
+ const resetScale = () => {
434
+ instance.value?.resetScale();
435
+ };
436
+ const updateOptions = (newOptions) => {
437
+ instance.value?.updateOptions(newOptions);
438
+ };
439
+ return {
440
+ instance,
441
+ scale,
442
+ deviceInfo,
443
+ setScale,
444
+ resetScale,
445
+ updateOptions,
446
+ };
447
+ }
448
+
449
+ export { createVuePlugin };
450
+ //# sourceMappingURL=vue.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vue.mjs","sources":["../src/core/constants.ts","../src/utils/debounce.ts","../src/utils/device.ts","../src/utils/events.ts","../src/core/ScaleAdjus.ts","../src/adapters/vue.ts"],"sourcesContent":[null,null,null,null,null,null],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,116 @@
1
+ {
2
+ "name": "@scaloster_971/scaleadjus",
3
+ "version": "1.0.0",
4
+ "description": "Universal responsive scaling for websites and applications across all devices",
5
+ "main": "dist/index.js",
6
+ "module": "dist/index.mjs",
7
+ "browser": "dist/index.umd.js",
8
+ "types": "dist/index.d.ts",
9
+ "style": "dist/styles.css",
10
+ "unpkg": "dist/index.umd.js",
11
+ "jsdelivr": "dist/index.umd.js",
12
+ "exports": {
13
+ ".": {
14
+ "types": "./dist/index.d.ts",
15
+ "import": "./dist/index.mjs",
16
+ "require": "./dist/index.js",
17
+ "browser": "./dist/index.umd.js"
18
+ },
19
+ "./react": {
20
+ "types": "./dist/adapters/react.d.ts",
21
+ "import": "./dist/react.mjs",
22
+ "require": "./dist/react.js"
23
+ },
24
+ "./vue": {
25
+ "types": "./dist/adapters/vue.d.ts",
26
+ "import": "./dist/vue.mjs",
27
+ "require": "./dist/vue.js"
28
+ },
29
+ "./angular": {
30
+ "types": "./dist/adapters/angular.d.ts",
31
+ "import": "./dist/angular.mjs",
32
+ "require": "./dist/angular.js"
33
+ },
34
+ "./styles.css": "./dist/styles.css"
35
+ },
36
+ "files": [
37
+ "dist",
38
+ "README.md",
39
+ "LICENSE"
40
+ ],
41
+ "scripts": {
42
+ "build": "npm run build:clean && npm run build:types && npm run build:js && npm run build:css",
43
+ "build:clean": "rimraf dist",
44
+ "build:types": "tsc --emitDeclarationOnly --declaration --outDir dist",
45
+ "build:js": "rollup -c",
46
+ "build:css": "postcss src/styles/index.css --output dist/styles.css",
47
+ "dev": "rollup -c -w",
48
+ "test": "jest",
49
+ "test:coverage": "jest --coverage",
50
+ "lint": "eslint src/**/*.ts",
51
+ "format": "prettier --write src/**/*.ts",
52
+ "prepublishOnly": "npm run build && npm run test"
53
+ },
54
+ "keywords": [
55
+ "responsive",
56
+ "scaling",
57
+ "adaptive",
58
+ "mobile",
59
+ "tablet",
60
+ "desktop",
61
+ "react",
62
+ "vue",
63
+ "angular",
64
+ "tailwind",
65
+ "css",
66
+ "javascript",
67
+ "typescript"
68
+ ],
69
+ "author": "",
70
+ "license": "MIT",
71
+ "peerDependencies": {
72
+ "@angular/core": ">=16",
73
+ "react": ">=18",
74
+ "rxjs": ">=7",
75
+ "vue": ">=3"
76
+ },
77
+ "peerDependenciesMeta": {
78
+ "@angular/core": {
79
+ "optional": true
80
+ },
81
+ "react": {
82
+ "optional": true
83
+ },
84
+ "rxjs": {
85
+ "optional": true
86
+ },
87
+ "vue": {
88
+ "optional": true
89
+ }
90
+ },
91
+ "devDependencies": {
92
+ "@rollup/plugin-commonjs": "^25.0.7",
93
+ "@rollup/plugin-node-resolve": "^15.2.3",
94
+ "@rollup/plugin-terser": "^1.0.0",
95
+ "@rollup/plugin-typescript": "^11.1.5",
96
+ "@types/jest": "^29.5.8",
97
+ "@types/node": "^20.10.0",
98
+ "@typescript-eslint/eslint-plugin": "^7.18.0",
99
+ "@typescript-eslint/parser": "^7.18.0",
100
+ "autoprefixer": "^10.4.16",
101
+ "cssnano": "^6.0.1",
102
+ "eslint": "^8.54.0",
103
+ "jest": "^29.7.0",
104
+ "postcss": "^8.4.31",
105
+ "postcss-cli": "^10.1.0",
106
+ "postcss-import": "^15.1.0",
107
+ "postcss-preset-env": "^9.3.0",
108
+ "prettier": "^3.1.0",
109
+ "rimraf": "^5.0.5",
110
+ "rollup": "^4.5.0",
111
+ "ts-jest": "^29.1.1",
112
+ "tslib": "^2.6.2",
113
+ "typescript": "^5.2.2",
114
+ "uglify-js": "^3.17.4"
115
+ }
116
+ }