@filip.mazev/blocks-core 1.0.24 → 1.0.26
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/README.md +9 -9
- package/fesm2022/filip.mazev-blocks-core.mjs +37 -69
- package/fesm2022/filip.mazev-blocks-core.mjs.map +1 -1
- package/package.json +2 -2
- package/src/lib/styles/_index.scss +1 -1
- package/src/lib/styles/_palettes.scss +46 -46
- package/src/lib/styles/_theme-provider.scss +8 -8
- package/src/lib/styles/_utilities.scss +32 -32
- package/src/lib/styles/themes/_high-contrast-theme.scss +76 -114
- package/src/lib/styles/themes/_orange-theme.scss +85 -119
- package/src/lib/styles/themes/_purple-theme.scss +85 -119
- package/types/filip.mazev-blocks-core.d.ts +2 -2
package/README.md
CHANGED
|
@@ -38,7 +38,7 @@ body.dark-theme {
|
|
|
38
38
|
}
|
|
39
39
|
```
|
|
40
40
|
|
|
41
|
-
This generates CSS variables with the `--
|
|
41
|
+
This generates CSS variables with the `--bx-` prefix (e.g.,`--bx-primary`, `--bx-bg-surface`, `--bx-bg-element`).
|
|
42
42
|
|
|
43
43
|
### 2. Responsive Mixins
|
|
44
44
|
|
|
@@ -104,14 +104,14 @@ When writing custom component styles, use the provided SCSS functions to access
|
|
|
104
104
|
|
|
105
105
|
#### Using Utility Classes (Tailwind-Style)
|
|
106
106
|
|
|
107
|
-
For rapid UI development directly in your templates, Blocks Core automatically generates utility classes prefixed with `.
|
|
107
|
+
For rapid UI development directly in your templates, Blocks Core automatically generates utility classes prefixed with `.bx-`.
|
|
108
108
|
|
|
109
109
|
```html
|
|
110
|
-
<div class="
|
|
110
|
+
<div class="bx-p-4 bx-my-2 bx-px-6">...</div>
|
|
111
111
|
|
|
112
|
-
<div class="
|
|
112
|
+
<div class="bx-rounded-md bx-rounded-t-lg">...</div>
|
|
113
113
|
|
|
114
|
-
<div class="
|
|
114
|
+
<div class="bx-shadow-modal bx-z-fixed">...</div>
|
|
115
115
|
```
|
|
116
116
|
|
|
117
117
|
#### Using CSS Variables
|
|
@@ -120,10 +120,10 @@ If you need to access tokens inline or outside of SCSS compilation, they are exp
|
|
|
120
120
|
|
|
121
121
|
```scss
|
|
122
122
|
.dynamic-element {
|
|
123
|
-
padding: var(--
|
|
124
|
-
border-radius: var(--
|
|
125
|
-
box-shadow: var(--
|
|
126
|
-
z-index: var(--
|
|
123
|
+
padding: var(--bx-space-4);
|
|
124
|
+
border-radius: var(--bx-rounded-pill);
|
|
125
|
+
box-shadow: var(--bx-shadow-toast);
|
|
126
|
+
z-index: var(--bx-z-modal);
|
|
127
127
|
}
|
|
128
128
|
```
|
|
129
129
|
|
|
@@ -380,78 +380,46 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
|
|
|
380
380
|
|
|
381
381
|
const PALETTE_NAMES = ['orange', 'purple', 'error', 'success', 'information', 'neutral'];
|
|
382
382
|
const SHADE_NUMBERS = [50, 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000];
|
|
383
|
-
const TOKEN_PREFIX = '
|
|
383
|
+
const TOKEN_PREFIX = 'bx';
|
|
384
384
|
const TOKEN_COLOR_DELIMITER = 'color';
|
|
385
385
|
const FALLBACK_COLOR = '#000000';
|
|
386
386
|
const SEMANTIC_PAIRS = {
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
'
|
|
391
|
-
'
|
|
392
|
-
'
|
|
393
|
-
'
|
|
394
|
-
'
|
|
395
|
-
'
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
'
|
|
400
|
-
'
|
|
401
|
-
'
|
|
402
|
-
'
|
|
403
|
-
'
|
|
404
|
-
'
|
|
405
|
-
'
|
|
406
|
-
'
|
|
407
|
-
'
|
|
408
|
-
'text
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
'
|
|
413
|
-
'
|
|
414
|
-
'
|
|
415
|
-
'
|
|
416
|
-
'
|
|
417
|
-
'
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
'warn': 'surface',
|
|
422
|
-
'error': 'surface',
|
|
423
|
-
'info': 'surface',
|
|
424
|
-
'success': 'surface',
|
|
425
|
-
'status-warn': 'surface',
|
|
426
|
-
'status-error': 'surface',
|
|
427
|
-
'error-subtle': 'error',
|
|
428
|
-
// ----------------------------------------
|
|
429
|
-
// Feedback (Toasts/Alerts)
|
|
430
|
-
// ----------------------------------------
|
|
431
|
-
'feedback-info-accent': 'feedback-info-bg',
|
|
432
|
-
'feedback-info-border': 'feedback-info-bg',
|
|
433
|
-
'feedback-error-accent': 'feedback-error-bg',
|
|
434
|
-
'feedback-error-border': 'feedback-error-bg',
|
|
435
|
-
'feedback-success-accent': 'feedback-success-bg',
|
|
436
|
-
'feedback-success-border': 'feedback-success-bg',
|
|
437
|
-
'feedback-warn-accent': 'feedback-warn-bg',
|
|
438
|
-
'feedback-warn-border': 'feedback-warn-bg',
|
|
439
|
-
// ----------------------------------------
|
|
440
|
-
// Buttons
|
|
441
|
-
// ----------------------------------------
|
|
442
|
-
'button-primary': 'surface',
|
|
443
|
-
'button-confirm': 'surface',
|
|
444
|
-
'button-warn': 'surface',
|
|
445
|
-
'button-grayscale': 'surface',
|
|
446
|
-
// ----------------------------------------
|
|
447
|
-
// Sliders & Scrollbars
|
|
448
|
-
// ----------------------------------------
|
|
387
|
+
'bg-canvas': 'text-primary',
|
|
388
|
+
'bg-surface': 'text-primary',
|
|
389
|
+
'bg-surface-alt': 'text-primary',
|
|
390
|
+
'bg-element': 'text-primary',
|
|
391
|
+
'bg-element-hover': 'text-primary',
|
|
392
|
+
'text-heading': 'bg-surface',
|
|
393
|
+
'text-primary': 'bg-surface',
|
|
394
|
+
'text-secondary': 'bg-surface',
|
|
395
|
+
'text-brand': 'bg-surface',
|
|
396
|
+
'text-inverse': 'primary',
|
|
397
|
+
'on-primary': 'primary',
|
|
398
|
+
primary: 'on-primary',
|
|
399
|
+
'primary-hover': 'on-primary',
|
|
400
|
+
'primary-active': 'on-primary',
|
|
401
|
+
'primary-subtle': 'text-primary',
|
|
402
|
+
'border-subtle': 'bg-surface',
|
|
403
|
+
'border-default': 'bg-surface',
|
|
404
|
+
'border-strong': 'bg-surface',
|
|
405
|
+
'border-brand': 'bg-surface',
|
|
406
|
+
'info-bg': 'info-text',
|
|
407
|
+
'info-border': 'info-bg',
|
|
408
|
+
'info-text': 'info-bg',
|
|
409
|
+
'success-bg': 'success-text',
|
|
410
|
+
'success-border': 'success-bg',
|
|
411
|
+
'success-text': 'success-bg',
|
|
412
|
+
'success-subtle': 'bg-surface',
|
|
413
|
+
'warn-bg': 'warn-text',
|
|
414
|
+
'warn-border': 'warn-bg',
|
|
415
|
+
'warn-text': 'warn-bg',
|
|
416
|
+
'error-bg': 'error-text',
|
|
417
|
+
'error-border': 'error-bg',
|
|
418
|
+
'error-text': 'error-bg',
|
|
419
|
+
'error-subtle': 'bg-surface',
|
|
420
|
+
'scroll-bg': 'bg-surface',
|
|
449
421
|
'scroll-thumb': 'scroll-bg',
|
|
450
|
-
'scroll-thumb-
|
|
451
|
-
'scroll-bg': 'surface',
|
|
452
|
-
'slider-thumb': 'slider-track',
|
|
453
|
-
'slider-thumb-hover': 'slider-track',
|
|
454
|
-
'slider-track': 'surface'
|
|
422
|
+
'scroll-thumb-hover': 'scroll-bg'
|
|
455
423
|
};
|
|
456
424
|
|
|
457
425
|
const SCROLL_LOCK_INSTANCE_IDENTIFIER = 'scroll_lock_instance_';
|
|
@@ -460,7 +428,7 @@ const SCROLL_LOCK_INSTANCE_IDENTIFIER = 'scroll_lock_instance_';
|
|
|
460
428
|
* Type Guard: Detects if a token is a static palette shade (e.g., 'orange-500')
|
|
461
429
|
*/
|
|
462
430
|
function isPaletteToken(token) {
|
|
463
|
-
return
|
|
431
|
+
return /-\d+$/.test(token);
|
|
464
432
|
}
|
|
465
433
|
/**
|
|
466
434
|
* Returns the correct CSS variable string based on the token type.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filip.mazev-blocks-core.mjs","sources":["../../../projects/blocks-core/src/lib/enums/desktop-os.enum.ts","../../../projects/blocks-core/src/lib/enums/mobile-os.enum.ts","../../../projects/blocks-core/src/lib/services/device-type.service.ts","../../../projects/blocks-core/src/lib/constants/window-dimension.constants.ts","../../../projects/blocks-core/src/lib/services/window-dimension.service.ts","../../../projects/blocks-core/src/lib/services/scroll-lock.service.ts","../../../projects/blocks-core/src/lib/services/theming.service.ts","../../../projects/blocks-core/src/lib/constants/tokens.constants.ts","../../../projects/blocks-core/src/lib/constants/scroll-lock.constants.ts","../../../projects/blocks-core/src/lib/helpers/token-functions.ts","../../../projects/blocks-core/src/lib/helpers/uui4.ts","../../../projects/blocks-core/src/public-api.ts","../../../projects/blocks-core/src/filip.mazev-blocks-core.ts"],"sourcesContent":["export enum DesktopOS {\n Linux = 'linux',\n MacOS = 'mac_os',\n Unix = 'unix',\n Unknown = 'unknown',\n Windows = 'windows'\n}\n","export enum MobileOS {\n Android = 'android',\n iOS = 'ios',\n Unknown = 'unknown',\n WindowsPhone = 'Windows Phone'\n}\n","import { Injectable } from '@angular/core';\nimport { DesktopOS } from '../enums/desktop-os.enum';\nimport { MobileOS } from '../enums/mobile-os.enum';\nimport { DeviceState } from '../interfaces/device-state.interface';\nimport { DeviceOS, DeviceOrientationType, LegacyScreenOrientation, MSStreamWindow, OperaCapableWindow } from '../types/core.types';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DeviceTypeService {\n private readonly isDesktopDevice = !this.isMobileDevice() && !this.isTabletDevice();\n private userAgent?: string = navigator.userAgent || navigator.vendor || (window as OperaCapableWindow)?.opera || undefined;\n\n private supportedScreenOrientation =\n (screen?.orientation || {}).type ?? (screen as LegacyScreenOrientation).mozOrientation ?? (screen as LegacyScreenOrientation).msOrientation;\n\n private safariScreenOrientation: DeviceOrientationType =\n !screen?.orientation && matchMedia('(orientation: portrait)').matches ? 'portrait-primary' : 'landscape-primary';\n\n private initialScreenOrientation: DeviceOrientationType = this.supportedScreenOrientation ?? this.safariScreenOrientation ?? 'portrait-primary';\n private screenOrientation: DeviceOrientationType = this.initialScreenOrientation;\n\n constructor() {\n if (screen.orientation) {\n screen.orientation.addEventListener('change', (ev: Event) => {\n const orientation = ev.target as ScreenOrientation | null;\n if (orientation?.type) {\n this.screenOrientation = orientation.type;\n }\n });\n }\n }\n\n public isLandscapeOrientation(): boolean {\n return ['landscape-primary', 'landscape-secondary'].includes(this.screenOrientation);\n }\n\n public isPortraitOrientation(): boolean {\n return ['portrait-primary', 'portrait-secondary'].includes(this.screenOrientation);\n }\n\n public getDeviceState(): DeviceState {\n const isDesktop = this.isDesktopDevice;\n const isMobile = this.isMobileDevice();\n const isTablet = this.isTabletDevice();\n const mobileOS: MobileOS | undefined = this.getMobileOS();\n const isAndroidDevice = this.getDeviceOS() === MobileOS.Android;\n const isAppleDevice = this.getDeviceOS() === MobileOS.iOS || this.getDeviceOS() === DesktopOS.MacOS;\n const isUnknownMobileDevice = this.getDeviceOS() === MobileOS.Unknown;\n const desktopOS: DesktopOS | undefined = this.getDesktopOS();\n const isWindowsDesktop = this.getDeviceOS() === DesktopOS.Windows;\n const isLinuxOrUnixDesktop = this.getDeviceOS() === DesktopOS.Linux || this.getDeviceOS() === DesktopOS.Unix;\n\n return {\n isDesktop,\n desktopOS,\n isWindowsDesktop,\n isLinuxOrUnixDesktop,\n isMobile,\n mobileOS,\n isAndroidDevice,\n isAppleDevice,\n isUnknownMobileDevice,\n isTablet,\n isLandscapeOrientation: () => this.isLandscapeOrientation(),\n isPortraitOrientation: () => this.isPortraitOrientation()\n };\n }\n\n private isMobileDevice(): boolean {\n const regexs = [/(Android)(.+)(Mobile)/i, /BlackBerry/i, /iPhone|iPod/i, /Opera Mini/i, /IEMobile/i];\n return regexs.some((b) => this.userAgent?.match(b) !== null);\n }\n\n private isTabletDevice(): boolean {\n const regex = /(ipad|tablet|(android(?!.*mobile))|(windows(?!.*phone)(.*touch))|kindle|playbook|silk|(puffin(?!.*(IP|AP|WP))))/;\n return regex.test(this.userAgent?.toLowerCase() ?? '');\n }\n\n private getMobileOS(): MobileOS | undefined {\n if (this.isMobileDevice() && this.userAgent) {\n if (/windows phone/i.test(this.userAgent)) return MobileOS.WindowsPhone;\n else if (/android/i.test(this.userAgent)) return MobileOS.Android;\n else if (/iPad|iPhone|iPod/.test(this.userAgent) && !(window as MSStreamWindow).MSStream) return MobileOS.iOS;\n\n return MobileOS.Unknown;\n }\n return undefined;\n }\n\n private getDesktopOS(): DesktopOS | undefined {\n if (this.isDesktopDevice && this.userAgent) {\n if (this.userAgent.indexOf('Win') !== -1) return DesktopOS.Windows;\n else if (this.userAgent.indexOf('Mac') !== -1) return DesktopOS.MacOS;\n else if (this.userAgent.indexOf('X11') !== -1) return DesktopOS.Unix;\n else if (this.userAgent.indexOf('Linux') !== -1) return DesktopOS.Linux;\n\n return DesktopOS.Unknown;\n } else return undefined;\n }\n\n private getDeviceOS(): DeviceOS | undefined {\n return this.getMobileOS() ?? this.getDesktopOS();\n }\n}\n","export const BREAKPOINTS = {\n xs: 360,\n sm: 640,\n md: 768,\n lg: 1024,\n xl: 1280,\n '2xl': 1536,\n '3xl': 1920,\n '4xl': 2560\n} as const;\n","import { Injectable, inject, NgZone, PLATFORM_ID, signal, computed } from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\nimport { fromEvent } from 'rxjs';\nimport { debounceTime, distinctUntilChanged, map } from 'rxjs/operators';\nimport { BREAKPOINTS } from '../constants/window-dimension.constants';\nimport { WindowDimensions } from '../interfaces/window-dimensions.interface';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class WindowDimensionsService {\n public readonly ngZone = inject(NgZone);\n public readonly platformId = inject(PLATFORM_ID);\n\n public readonly isBrowser = isPlatformBrowser(this.platformId);\n\n public readonly _dimensions = signal<WindowDimensions>(this.getCurrentDimensions());\n\n public readonly dimensions = this._dimensions.asReadonly();\n\n public readonly isMobile = computed(() => this.dimensions().width < BREAKPOINTS.md);\n public readonly isTablet = computed(() => this.dimensions().width >= BREAKPOINTS.md && this.dimensions().width < BREAKPOINTS.lg);\n public readonly isDesktop = computed(() => this.dimensions().width >= BREAKPOINTS.lg);\n\n public readonly breakpoints = BREAKPOINTS;\n\n constructor() {\n this.initResizeListener();\n }\n\n private getCurrentDimensions(): WindowDimensions {\n if (!this.isBrowser) {\n return { width: 0, height: 0 };\n }\n return {\n width: window.innerWidth,\n height: window.innerHeight\n };\n }\n\n private initResizeListener(): void {\n if (!this.isBrowser) return;\n\n this.ngZone.runOutsideAngular(() => {\n fromEvent(window, 'resize')\n .pipe(\n debounceTime(150),\n map(() => this.getCurrentDimensions()),\n distinctUntilChanged((prev, curr) => prev.width === curr.width && prev.height === curr.height)\n )\n .subscribe((dims) => {\n this.ngZone.run(() => {\n this._dimensions.set(dims);\n });\n });\n });\n }\n}\n","import { Injectable, OnDestroy, inject, signal, PLATFORM_ID } from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\nimport { DeviceTypeService } from './device-type.service';\nimport { WindowDimensionsService } from './window-dimension.service';\nimport { IScrollLockConfig } from '../interfaces/scroll-lock-config.interface';\n\n@Injectable({ providedIn: 'root' })\nexport class ScrollLockService implements OnDestroy {\n private readonly platformId = inject(PLATFORM_ID);\n private readonly deviceTypeService = inject(DeviceTypeService);\n private readonly windowDimensionsService = inject(WindowDimensionsService);\n\n private readonly isBrowser = isPlatformBrowser(this.platformId);\n private readonly activeLocks = new Map<string, IScrollLockConfig>();\n private readonly boundHandleTouchMove = this.handleTouchMove.bind(this);\n private readonly boundPreventDefault = this.preventDefault.bind(this);\n\n public readonly _isScrollDisabled = signal(false);\n public readonly isScrollDisabled = this._isScrollDisabled.asReadonly();\n\n private previousBodyPadding: string | null = null;\n\n private pendingListenerTimeout: number | null = null;\n\n public ngOnDestroy(): void {\n if (!this.isBrowser) return;\n this.clearPendingTimeout();\n this.forceCleanupAll();\n }\n\n public disableScroll(usageId: string, config: IScrollLockConfig): void {\n if (!this.isBrowser) return;\n\n const wasDisabled = this._isScrollDisabled();\n\n this.activeLocks.set(usageId, config);\n this._isScrollDisabled.set(true);\n\n if (wasDisabled) return;\n\n const documentWidth = document.documentElement.clientWidth;\n const windowWidth = window.innerWidth;\n const scrollBarWidth = windowWidth - documentWidth;\n\n if (scrollBarWidth > 0) {\n this.previousBodyPadding = document.body.style.paddingRight;\n const computedPadding = parseInt(getComputedStyle(document.body).paddingRight, 10) || 0;\n\n document.body.style.setProperty('padding-right', `${computedPadding + scrollBarWidth}px`, 'important');\n }\n\n document.body.style.setProperty('overflow', 'hidden', 'important');\n\n if (config.handleTouchInput !== false) {\n document.body.style.setProperty('touch-action', 'none', 'important');\n }\n\n this.clearPendingTimeout();\n\n this.pendingListenerTimeout = window.setTimeout(\n () => {\n if (!this._isScrollDisabled()) return;\n\n if (config.handleTouchInput === true) {\n document.body.addEventListener('touchmove', this.boundHandleTouchMove, { passive: false });\n }\n\n if (config.handleExtremeOverflow === true) {\n const opt = { passive: false };\n window.addEventListener('wheel', this.boundPreventDefault, opt);\n window.addEventListener('mousewheel', this.boundPreventDefault, opt);\n window.addEventListener('scroll', this.boundPreventDefault, opt);\n window.addEventListener('DOMMouseScroll', this.boundPreventDefault, opt);\n }\n },\n (config.animationDuration ?? 0) + 10\n );\n }\n\n public enableScroll(usageId: string, extremeOverflow?: boolean): void {\n if (!this.isBrowser) return;\n\n if (!this.activeLocks.has(usageId)) return;\n\n this.activeLocks.delete(usageId);\n\n if (this.activeLocks.size > 0) return;\n\n this.updateStateAndCleanup(extremeOverflow);\n }\n\n private getActiveConfig(): IScrollLockConfig | null {\n if (this.activeLocks.size === 0) return null;\n const keys = Array.from(this.activeLocks.keys());\n return this.activeLocks.get(keys[keys.length - 1]) ?? null;\n }\n\n private updateStateAndCleanup(extremeOverflow?: boolean): void {\n if (!this.isBrowser) return;\n\n this.clearPendingTimeout();\n\n this._isScrollDisabled.set(false);\n\n document.body.style.removeProperty('overflow');\n\n if (this.previousBodyPadding !== null) {\n if (this.previousBodyPadding) {\n document.body.style.setProperty('padding-right', this.previousBodyPadding);\n } else {\n document.body.style.removeProperty('padding-right');\n }\n this.previousBodyPadding = null;\n }\n\n document.body.removeEventListener('touchmove', this.boundHandleTouchMove);\n document.body.style.removeProperty('touch-action');\n\n if (extremeOverflow !== false) {\n window.removeEventListener('wheel', this.boundPreventDefault);\n window.removeEventListener('mousewheel', this.boundPreventDefault);\n window.removeEventListener('scroll', this.boundPreventDefault);\n window.removeEventListener('DOMMouseScroll', this.boundPreventDefault);\n }\n }\n\n private forceCleanupAll(): void {\n this.activeLocks.clear();\n this.updateStateAndCleanup(true);\n }\n\n private clearPendingTimeout(): void {\n if (this.pendingListenerTimeout !== null) {\n clearTimeout(this.pendingListenerTimeout);\n this.pendingListenerTimeout = null;\n }\n }\n\n private handleTouchMove(event: Event): void {\n const targetNode = event.target as Node;\n const cfg = this.getActiveConfig();\n\n if (!this.isAllowedToScroll(targetNode) && (cfg === null || cfg.handleTouchInput !== false)) {\n if (\n cfg === null ||\n cfg.mobileOnlyTouchPrevention !== true ||\n (cfg.mobileOnlyTouchPrevention === true &&\n (!this.deviceTypeService.getDeviceState().isMobile || !this.deviceTypeService.getDeviceState().isTablet) &&\n this.windowDimensionsService.dimensions().width < this.windowDimensionsService.breakpoints.sm)\n ) {\n event.preventDefault();\n event.stopPropagation();\n }\n }\n }\n\n private isAllowedToScroll(targetNode: Node): boolean {\n const cfg = this.getActiveConfig();\n const allow = cfg?.allowTouchInputOn;\n\n if (!allow) return true;\n\n if (Array.isArray(allow)) {\n if (allow.length === 0) return true;\n return allow.some((el) => el.contains(targetNode));\n }\n\n return false;\n }\n\n private preventDefault(event: Event): void {\n event.preventDefault();\n event.stopPropagation();\n }\n}\n","import { Injectable, OnDestroy, inject, signal, PLATFORM_ID, computed } from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\nimport { DeviceTheme } from '@core/types/core.types';\nimport { toObservable } from '@angular/core/rxjs-interop';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ThemingService implements OnDestroy {\n private readonly platformId = inject(PLATFORM_ID);\n private readonly isBrowser = isPlatformBrowser(this.platformId);\n\n private readonly _systemTheme = signal<DeviceTheme>('light');\n private readonly _applicationTheme = signal<DeviceTheme | null>(null);\n\n public readonly systemTheme = this._systemTheme.asReadonly();\n public readonly applicationTheme = this._applicationTheme.asReadonly();\n public readonly activeTheme = computed(() => this.applicationTheme() ?? this.systemTheme());\n\n private readonly systemTheme$ = toObservable(this._systemTheme);\n private readonly applicationTheme$ = toObservable(this._applicationTheme);\n\n private mediaQueryList?: MediaQueryList;\n private mediaQueryListener?: (event: MediaQueryListEvent) => void;\n\n constructor() {\n if (this.isBrowser) {\n this._systemTheme.set(this.detectInitialSystemTheme());\n\n const storedTheme = localStorage.getItem('theme') as DeviceTheme | null;\n if (storedTheme === 'dark' || storedTheme === 'light') {\n this._applicationTheme.set(storedTheme);\n }\n\n this.initSystemThemeListener();\n }\n }\n\n public ngOnDestroy(): void {\n if (this.mediaQueryList && this.mediaQueryListener) {\n this.mediaQueryList.removeEventListener('change', this.mediaQueryListener);\n }\n }\n\n public setApplicationTheme(theme: DeviceTheme): void {\n this._applicationTheme.set(theme);\n if (this.isBrowser) {\n localStorage.setItem('theme', theme);\n }\n }\n\n public getSystemTheme$() {\n return this.systemTheme$;\n }\n\n public getApplicationTheme$() {\n return this.applicationTheme$;\n }\n\n private detectInitialSystemTheme(): DeviceTheme {\n if (!this.isBrowser) return 'light';\n return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';\n }\n\n private initSystemThemeListener(): void {\n this.mediaQueryList = window.matchMedia('(prefers-color-scheme: dark)');\n this.mediaQueryListener = (event: MediaQueryListEvent) => {\n this._systemTheme.set(event.matches ? 'dark' : 'light');\n };\n this.mediaQueryList.addEventListener('change', this.mediaQueryListener);\n }\n}\n","import { SemanticColorToken } from \"../../public-api\";\n\nexport const PALETTE_NAMES = ['orange', 'purple', 'error', 'success', 'information', 'neutral'] as const;\nexport const SHADE_NUMBERS = [50, 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000] as const;\n\nexport const TOKEN_PREFIX = 'fm';\nexport const TOKEN_COLOR_DELIMITER = 'color';\nexport const FALLBACK_COLOR = '#000000';\n\nexport const SEMANTIC_PAIRS: Partial<Record<SemanticColorToken, SemanticColorToken>> = {\n // ----------------------------------------\n // Structural & UI (Inverted lookups)\n // ----------------------------------------\n 'surface': 'text-primary',\n 'canvas': 'text-primary',\n 'element': 'text-primary',\n 'border': 'surface',\n 'border-grayscale-light': 'surface',\n 'bg-menu-item-hover': 'menu-item-text',\n\n // ----------------------------------------\n // Text Colors (Text typically sits on a surface)\n // ----------------------------------------\n 'text': 'surface',\n 'text-primary': 'surface',\n 'text-secondary': 'surface',\n 'text-tertiary': 'surface',\n 'text-grayscale': 'surface',\n 'text-warn': 'surface',\n 'text-confirm': 'surface',\n 'menu-item-text': 'bg-menu-item-hover',\n 'text-accent': 'primary', \n 'text-accent-alt': 'surface',\n\n // ----------------------------------------\n // Brand & General \n // ----------------------------------------\n 'primary': 'surface',\n 'secondary': 'surface',\n 'alt': 'text-primary',\n 'accent': 'surface',\n 'accent-alt': 'surface',\n 'accent-tertiary': 'surface',\n\n // ----------------------------------------\n // Status & Information\n // ----------------------------------------\n 'warn': 'surface',\n 'error': 'surface',\n 'info': 'surface',\n 'success': 'surface',\n 'status-warn': 'surface',\n 'status-error': 'surface',\n 'error-subtle': 'error',\n\n // ----------------------------------------\n // Feedback (Toasts/Alerts)\n // ----------------------------------------\n 'feedback-info-accent': 'feedback-info-bg',\n 'feedback-info-border': 'feedback-info-bg',\n 'feedback-error-accent': 'feedback-error-bg',\n 'feedback-error-border': 'feedback-error-bg',\n 'feedback-success-accent': 'feedback-success-bg',\n 'feedback-success-border': 'feedback-success-bg',\n 'feedback-warn-accent': 'feedback-warn-bg',\n 'feedback-warn-border': 'feedback-warn-bg',\n\n // ----------------------------------------\n // Buttons\n // ----------------------------------------\n 'button-primary': 'surface',\n 'button-confirm': 'surface',\n 'button-warn': 'surface',\n 'button-grayscale': 'surface',\n\n // ----------------------------------------\n // Sliders & Scrollbars\n // ----------------------------------------\n 'scroll-thumb': 'scroll-bg',\n 'scroll-thumb-highlighted': 'scroll-bg',\n 'scroll-bg': 'surface',\n 'slider-thumb': 'slider-track',\n 'slider-thumb-hover': 'slider-track',\n 'slider-track': 'surface'\n};","export const SCROLL_LOCK_INSTANCE_IDENTIFIER = 'scroll_lock_instance_';\n","import { Color, SemanticColorToken, ThemeColorToken, ThemePalette } from '../types/tokens.types';\nimport * as tokenConsts from '../constants/tokens.constants';\n\n/**\n * Type Guard: Detects if a token is a static palette shade (e.g., 'orange-500')\n */\nexport function isPaletteToken(token: Color): token is ThemeColorToken {\n return /\\-\\d+$/.test(token);\n}\n\n/**\n * Returns the correct CSS variable string based on the token type.\n */\nexport function resolveTokenToCssVar(token: Color): string {\n if (isPaletteToken(token)) {\n return `var(--${tokenConsts.TOKEN_PREFIX}-${tokenConsts.TOKEN_COLOR_DELIMITER}-${token})`; \n } else {\n return `var(--${tokenConsts.TOKEN_PREFIX}-${token})`;\n }\n}\n\n/**\n * Smartly resolves the complementary background token.\n */\nexport function getComplementaryToken(token: Color): Color {\n if (!isPaletteToken(token)) {\n console.log(tokenConsts.SEMANTIC_PAIRS[token as SemanticColorToken] as Color);\n return (tokenConsts.SEMANTIC_PAIRS[token as SemanticColorToken] as Color) || 'surface';\n }\n\n const parts = token.split('-');\n const shade = parts.pop();\n const palette = parts.join('-');\n \n const shadeNum = parseInt(shade || '500', 10);\n const bgShade = shadeNum > 400 ? 50 : 900;\n \n return `${palette}-${bgShade}` as Color;\n}","export function uuidv4() {\n return '10000000-1000-4000-8000-100000000000'.replace(/[018]/g, (c) => (+c ^ (crypto.getRandomValues(new Uint8Array(1))[0] & (15 >> (+c / 4)))).toString(16));\n}\n","/*\n * Public API Surface of blocks-core\n */\n\nexport * from './lib/services/device-type.service';\nexport * from './lib/services/scroll-lock.service';\nexport * from './lib/services/window-dimension.service';\nexport * from './lib/services/theming.service';\n\nexport * from './lib/enums/desktop-os.enum';\nexport * from './lib/enums/mobile-os.enum';\n\nexport * from './lib/interfaces/device-state.interface';\nexport * from './lib/interfaces/scroll-lock-config.interface';\nexport * from './lib/interfaces/window-dimensions.interface';\n\nexport * from './lib/constants/tokens.constants';\nexport * from './lib/constants/window-dimension.constants';\nexport * from './lib/constants/scroll-lock.constants';\n\nexport * from './lib/types/core.types';\nexport * from './lib/types/tokens.types';\n\nexport * from './lib/helpers/token-functions';\nexport * from './lib/helpers/uui4';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["tokenConsts.TOKEN_PREFIX","tokenConsts.TOKEN_COLOR_DELIMITER","tokenConsts.SEMANTIC_PAIRS"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"filip.mazev-blocks-core.mjs","sources":["../../../projects/blocks-core/src/lib/enums/desktop-os.enum.ts","../../../projects/blocks-core/src/lib/enums/mobile-os.enum.ts","../../../projects/blocks-core/src/lib/services/device-type.service.ts","../../../projects/blocks-core/src/lib/constants/window-dimension.constants.ts","../../../projects/blocks-core/src/lib/services/window-dimension.service.ts","../../../projects/blocks-core/src/lib/services/scroll-lock.service.ts","../../../projects/blocks-core/src/lib/services/theming.service.ts","../../../projects/blocks-core/src/lib/constants/tokens.constants.ts","../../../projects/blocks-core/src/lib/constants/scroll-lock.constants.ts","../../../projects/blocks-core/src/lib/helpers/token-functions.ts","../../../projects/blocks-core/src/lib/helpers/uui4.ts","../../../projects/blocks-core/src/public-api.ts","../../../projects/blocks-core/src/filip.mazev-blocks-core.ts"],"sourcesContent":["export enum DesktopOS {\n Linux = 'linux',\n MacOS = 'mac_os',\n Unix = 'unix',\n Unknown = 'unknown',\n Windows = 'windows'\n}\n","export enum MobileOS {\n Android = 'android',\n iOS = 'ios',\n Unknown = 'unknown',\n WindowsPhone = 'Windows Phone'\n}\n","import { Injectable } from '@angular/core';\nimport { DesktopOS } from '../enums/desktop-os.enum';\nimport { MobileOS } from '../enums/mobile-os.enum';\nimport { DeviceState } from '../interfaces/device-state.interface';\nimport { DeviceOS, DeviceOrientationType, LegacyScreenOrientation, MSStreamWindow, OperaCapableWindow } from '../types/core.types';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DeviceTypeService {\n private readonly isDesktopDevice = !this.isMobileDevice() && !this.isTabletDevice();\n private userAgent?: string = navigator.userAgent || navigator.vendor || (window as OperaCapableWindow)?.opera || undefined;\n\n private supportedScreenOrientation =\n (screen?.orientation || {}).type ?? (screen as LegacyScreenOrientation).mozOrientation ?? (screen as LegacyScreenOrientation).msOrientation;\n\n private safariScreenOrientation: DeviceOrientationType =\n !screen?.orientation && matchMedia('(orientation: portrait)').matches ? 'portrait-primary' : 'landscape-primary';\n\n private initialScreenOrientation: DeviceOrientationType = this.supportedScreenOrientation ?? this.safariScreenOrientation ?? 'portrait-primary';\n private screenOrientation: DeviceOrientationType = this.initialScreenOrientation;\n\n constructor() {\n if (screen.orientation) {\n screen.orientation.addEventListener('change', (ev: Event) => {\n const orientation = ev.target as ScreenOrientation | null;\n if (orientation?.type) {\n this.screenOrientation = orientation.type;\n }\n });\n }\n }\n\n public isLandscapeOrientation(): boolean {\n return ['landscape-primary', 'landscape-secondary'].includes(this.screenOrientation);\n }\n\n public isPortraitOrientation(): boolean {\n return ['portrait-primary', 'portrait-secondary'].includes(this.screenOrientation);\n }\n\n public getDeviceState(): DeviceState {\n const isDesktop = this.isDesktopDevice;\n const isMobile = this.isMobileDevice();\n const isTablet = this.isTabletDevice();\n const mobileOS: MobileOS | undefined = this.getMobileOS();\n const isAndroidDevice = this.getDeviceOS() === MobileOS.Android;\n const isAppleDevice = this.getDeviceOS() === MobileOS.iOS || this.getDeviceOS() === DesktopOS.MacOS;\n const isUnknownMobileDevice = this.getDeviceOS() === MobileOS.Unknown;\n const desktopOS: DesktopOS | undefined = this.getDesktopOS();\n const isWindowsDesktop = this.getDeviceOS() === DesktopOS.Windows;\n const isLinuxOrUnixDesktop = this.getDeviceOS() === DesktopOS.Linux || this.getDeviceOS() === DesktopOS.Unix;\n\n return {\n isDesktop,\n desktopOS,\n isWindowsDesktop,\n isLinuxOrUnixDesktop,\n isMobile,\n mobileOS,\n isAndroidDevice,\n isAppleDevice,\n isUnknownMobileDevice,\n isTablet,\n isLandscapeOrientation: () => this.isLandscapeOrientation(),\n isPortraitOrientation: () => this.isPortraitOrientation()\n };\n }\n\n private isMobileDevice(): boolean {\n const regexs = [/(Android)(.+)(Mobile)/i, /BlackBerry/i, /iPhone|iPod/i, /Opera Mini/i, /IEMobile/i];\n return regexs.some((b) => this.userAgent?.match(b) !== null);\n }\n\n private isTabletDevice(): boolean {\n const regex = /(ipad|tablet|(android(?!.*mobile))|(windows(?!.*phone)(.*touch))|kindle|playbook|silk|(puffin(?!.*(IP|AP|WP))))/;\n return regex.test(this.userAgent?.toLowerCase() ?? '');\n }\n\n private getMobileOS(): MobileOS | undefined {\n if (this.isMobileDevice() && this.userAgent) {\n if (/windows phone/i.test(this.userAgent)) return MobileOS.WindowsPhone;\n else if (/android/i.test(this.userAgent)) return MobileOS.Android;\n else if (/iPad|iPhone|iPod/.test(this.userAgent) && !(window as MSStreamWindow).MSStream) return MobileOS.iOS;\n\n return MobileOS.Unknown;\n }\n return undefined;\n }\n\n private getDesktopOS(): DesktopOS | undefined {\n if (this.isDesktopDevice && this.userAgent) {\n if (this.userAgent.indexOf('Win') !== -1) return DesktopOS.Windows;\n else if (this.userAgent.indexOf('Mac') !== -1) return DesktopOS.MacOS;\n else if (this.userAgent.indexOf('X11') !== -1) return DesktopOS.Unix;\n else if (this.userAgent.indexOf('Linux') !== -1) return DesktopOS.Linux;\n\n return DesktopOS.Unknown;\n } else return undefined;\n }\n\n private getDeviceOS(): DeviceOS | undefined {\n return this.getMobileOS() ?? this.getDesktopOS();\n }\n}\n","export const BREAKPOINTS = {\n xs: 360,\n sm: 640,\n md: 768,\n lg: 1024,\n xl: 1280,\n '2xl': 1536,\n '3xl': 1920,\n '4xl': 2560\n} as const;\n","import { Injectable, inject, NgZone, PLATFORM_ID, signal, computed } from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\nimport { fromEvent } from 'rxjs';\nimport { debounceTime, distinctUntilChanged, map } from 'rxjs/operators';\nimport { BREAKPOINTS } from '../constants/window-dimension.constants';\nimport { WindowDimensions } from '../interfaces/window-dimensions.interface';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class WindowDimensionsService {\n public readonly ngZone = inject(NgZone);\n public readonly platformId = inject(PLATFORM_ID);\n\n public readonly isBrowser = isPlatformBrowser(this.platformId);\n\n public readonly _dimensions = signal<WindowDimensions>(this.getCurrentDimensions());\n\n public readonly dimensions = this._dimensions.asReadonly();\n\n public readonly isMobile = computed(() => this.dimensions().width < BREAKPOINTS.md);\n public readonly isTablet = computed(() => this.dimensions().width >= BREAKPOINTS.md && this.dimensions().width < BREAKPOINTS.lg);\n public readonly isDesktop = computed(() => this.dimensions().width >= BREAKPOINTS.lg);\n\n public readonly breakpoints = BREAKPOINTS;\n\n constructor() {\n this.initResizeListener();\n }\n\n private getCurrentDimensions(): WindowDimensions {\n if (!this.isBrowser) {\n return { width: 0, height: 0 };\n }\n return {\n width: window.innerWidth,\n height: window.innerHeight\n };\n }\n\n private initResizeListener(): void {\n if (!this.isBrowser) return;\n\n this.ngZone.runOutsideAngular(() => {\n fromEvent(window, 'resize')\n .pipe(\n debounceTime(150),\n map(() => this.getCurrentDimensions()),\n distinctUntilChanged((prev, curr) => prev.width === curr.width && prev.height === curr.height)\n )\n .subscribe((dims) => {\n this.ngZone.run(() => {\n this._dimensions.set(dims);\n });\n });\n });\n }\n}\n","import { Injectable, OnDestroy, inject, signal, PLATFORM_ID } from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\nimport { DeviceTypeService } from './device-type.service';\nimport { WindowDimensionsService } from './window-dimension.service';\nimport { IScrollLockConfig } from '../interfaces/scroll-lock-config.interface';\n\n@Injectable({ providedIn: 'root' })\nexport class ScrollLockService implements OnDestroy {\n private readonly platformId = inject(PLATFORM_ID);\n private readonly deviceTypeService = inject(DeviceTypeService);\n private readonly windowDimensionsService = inject(WindowDimensionsService);\n\n private readonly isBrowser = isPlatformBrowser(this.platformId);\n private readonly activeLocks = new Map<string, IScrollLockConfig>();\n private readonly boundHandleTouchMove = this.handleTouchMove.bind(this);\n private readonly boundPreventDefault = this.preventDefault.bind(this);\n\n public readonly _isScrollDisabled = signal(false);\n public readonly isScrollDisabled = this._isScrollDisabled.asReadonly();\n\n private previousBodyPadding: string | null = null;\n\n private pendingListenerTimeout: number | null = null;\n\n public ngOnDestroy(): void {\n if (!this.isBrowser) return;\n this.clearPendingTimeout();\n this.forceCleanupAll();\n }\n\n public disableScroll(usageId: string, config: IScrollLockConfig): void {\n if (!this.isBrowser) return;\n\n const wasDisabled = this._isScrollDisabled();\n\n this.activeLocks.set(usageId, config);\n this._isScrollDisabled.set(true);\n\n if (wasDisabled) return;\n\n const documentWidth = document.documentElement.clientWidth;\n const windowWidth = window.innerWidth;\n const scrollBarWidth = windowWidth - documentWidth;\n\n if (scrollBarWidth > 0) {\n this.previousBodyPadding = document.body.style.paddingRight;\n const computedPadding = parseInt(getComputedStyle(document.body).paddingRight, 10) || 0;\n\n document.body.style.setProperty('padding-right', `${computedPadding + scrollBarWidth}px`, 'important');\n }\n\n document.body.style.setProperty('overflow', 'hidden', 'important');\n\n if (config.handleTouchInput !== false) {\n document.body.style.setProperty('touch-action', 'none', 'important');\n }\n\n this.clearPendingTimeout();\n\n this.pendingListenerTimeout = window.setTimeout(\n () => {\n if (!this._isScrollDisabled()) return;\n\n if (config.handleTouchInput === true) {\n document.body.addEventListener('touchmove', this.boundHandleTouchMove, { passive: false });\n }\n\n if (config.handleExtremeOverflow === true) {\n const opt = { passive: false };\n window.addEventListener('wheel', this.boundPreventDefault, opt);\n window.addEventListener('mousewheel', this.boundPreventDefault, opt);\n window.addEventListener('scroll', this.boundPreventDefault, opt);\n window.addEventListener('DOMMouseScroll', this.boundPreventDefault, opt);\n }\n },\n (config.animationDuration ?? 0) + 10\n );\n }\n\n public enableScroll(usageId: string, extremeOverflow?: boolean): void {\n if (!this.isBrowser) return;\n\n if (!this.activeLocks.has(usageId)) return;\n\n this.activeLocks.delete(usageId);\n\n if (this.activeLocks.size > 0) return;\n\n this.updateStateAndCleanup(extremeOverflow);\n }\n\n private getActiveConfig(): IScrollLockConfig | null {\n if (this.activeLocks.size === 0) return null;\n const keys = Array.from(this.activeLocks.keys());\n return this.activeLocks.get(keys[keys.length - 1]) ?? null;\n }\n\n private updateStateAndCleanup(extremeOverflow?: boolean): void {\n if (!this.isBrowser) return;\n\n this.clearPendingTimeout();\n\n this._isScrollDisabled.set(false);\n\n document.body.style.removeProperty('overflow');\n\n if (this.previousBodyPadding !== null) {\n if (this.previousBodyPadding) {\n document.body.style.setProperty('padding-right', this.previousBodyPadding);\n } else {\n document.body.style.removeProperty('padding-right');\n }\n this.previousBodyPadding = null;\n }\n\n document.body.removeEventListener('touchmove', this.boundHandleTouchMove);\n document.body.style.removeProperty('touch-action');\n\n if (extremeOverflow !== false) {\n window.removeEventListener('wheel', this.boundPreventDefault);\n window.removeEventListener('mousewheel', this.boundPreventDefault);\n window.removeEventListener('scroll', this.boundPreventDefault);\n window.removeEventListener('DOMMouseScroll', this.boundPreventDefault);\n }\n }\n\n private forceCleanupAll(): void {\n this.activeLocks.clear();\n this.updateStateAndCleanup(true);\n }\n\n private clearPendingTimeout(): void {\n if (this.pendingListenerTimeout !== null) {\n clearTimeout(this.pendingListenerTimeout);\n this.pendingListenerTimeout = null;\n }\n }\n\n private handleTouchMove(event: Event): void {\n const targetNode = event.target as Node;\n const cfg = this.getActiveConfig();\n\n if (!this.isAllowedToScroll(targetNode) && (cfg === null || cfg.handleTouchInput !== false)) {\n if (\n cfg === null ||\n cfg.mobileOnlyTouchPrevention !== true ||\n (cfg.mobileOnlyTouchPrevention === true &&\n (!this.deviceTypeService.getDeviceState().isMobile || !this.deviceTypeService.getDeviceState().isTablet) &&\n this.windowDimensionsService.dimensions().width < this.windowDimensionsService.breakpoints.sm)\n ) {\n event.preventDefault();\n event.stopPropagation();\n }\n }\n }\n\n private isAllowedToScroll(targetNode: Node): boolean {\n const cfg = this.getActiveConfig();\n const allow = cfg?.allowTouchInputOn;\n\n if (!allow) return true;\n\n if (Array.isArray(allow)) {\n if (allow.length === 0) return true;\n return allow.some((el) => el.contains(targetNode));\n }\n\n return false;\n }\n\n private preventDefault(event: Event): void {\n event.preventDefault();\n event.stopPropagation();\n }\n}\n","import { Injectable, OnDestroy, inject, signal, PLATFORM_ID, computed } from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\nimport { DeviceTheme } from '@core/types/core.types';\nimport { toObservable } from '@angular/core/rxjs-interop';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ThemingService implements OnDestroy {\n private readonly platformId = inject(PLATFORM_ID);\n private readonly isBrowser = isPlatformBrowser(this.platformId);\n\n private readonly _systemTheme = signal<DeviceTheme>('light');\n private readonly _applicationTheme = signal<DeviceTheme | null>(null);\n\n public readonly systemTheme = this._systemTheme.asReadonly();\n public readonly applicationTheme = this._applicationTheme.asReadonly();\n public readonly activeTheme = computed(() => this.applicationTheme() ?? this.systemTheme());\n\n private readonly systemTheme$ = toObservable(this._systemTheme);\n private readonly applicationTheme$ = toObservable(this._applicationTheme);\n\n private mediaQueryList?: MediaQueryList;\n private mediaQueryListener?: (event: MediaQueryListEvent) => void;\n\n constructor() {\n if (this.isBrowser) {\n this._systemTheme.set(this.detectInitialSystemTheme());\n\n const storedTheme = localStorage.getItem('theme') as DeviceTheme | null;\n if (storedTheme === 'dark' || storedTheme === 'light') {\n this._applicationTheme.set(storedTheme);\n }\n\n this.initSystemThemeListener();\n }\n }\n\n public ngOnDestroy(): void {\n if (this.mediaQueryList && this.mediaQueryListener) {\n this.mediaQueryList.removeEventListener('change', this.mediaQueryListener);\n }\n }\n\n public setApplicationTheme(theme: DeviceTheme): void {\n this._applicationTheme.set(theme);\n if (this.isBrowser) {\n localStorage.setItem('theme', theme);\n }\n }\n\n public getSystemTheme$() {\n return this.systemTheme$;\n }\n\n public getApplicationTheme$() {\n return this.applicationTheme$;\n }\n\n private detectInitialSystemTheme(): DeviceTheme {\n if (!this.isBrowser) return 'light';\n return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';\n }\n\n private initSystemThemeListener(): void {\n this.mediaQueryList = window.matchMedia('(prefers-color-scheme: dark)');\n this.mediaQueryListener = (event: MediaQueryListEvent) => {\n this._systemTheme.set(event.matches ? 'dark' : 'light');\n };\n this.mediaQueryList.addEventListener('change', this.mediaQueryListener);\n }\n}\n","import { SemanticColorToken } from '../../public-api';\n\nexport const PALETTE_NAMES = ['orange', 'purple', 'error', 'success', 'information', 'neutral'] as const;\nexport const SHADE_NUMBERS = [50, 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000] as const;\n\nexport const TOKEN_PREFIX = 'bx';\nexport const TOKEN_COLOR_DELIMITER = 'color';\nexport const FALLBACK_COLOR = '#000000';\n\nexport const SEMANTIC_PAIRS: Partial<Record<SemanticColorToken, SemanticColorToken>> = {\n 'bg-canvas': 'text-primary',\n 'bg-surface': 'text-primary',\n 'bg-surface-alt': 'text-primary',\n 'bg-element': 'text-primary',\n 'bg-element-hover': 'text-primary',\n\n 'text-heading': 'bg-surface',\n 'text-primary': 'bg-surface',\n 'text-secondary': 'bg-surface',\n 'text-brand': 'bg-surface',\n 'text-inverse': 'primary',\n 'on-primary': 'primary',\n\n primary: 'on-primary',\n 'primary-hover': 'on-primary',\n 'primary-active': 'on-primary',\n 'primary-subtle': 'text-primary',\n\n 'border-subtle': 'bg-surface',\n 'border-default': 'bg-surface',\n 'border-strong': 'bg-surface',\n 'border-brand': 'bg-surface',\n\n 'info-bg': 'info-text',\n 'info-border': 'info-bg',\n 'info-text': 'info-bg',\n\n 'success-bg': 'success-text',\n 'success-border': 'success-bg',\n 'success-text': 'success-bg',\n 'success-subtle': 'bg-surface',\n\n 'warn-bg': 'warn-text',\n 'warn-border': 'warn-bg',\n 'warn-text': 'warn-bg',\n\n 'error-bg': 'error-text',\n 'error-border': 'error-bg',\n 'error-text': 'error-bg',\n 'error-subtle': 'bg-surface',\n\n 'scroll-bg': 'bg-surface',\n 'scroll-thumb': 'scroll-bg',\n 'scroll-thumb-hover': 'scroll-bg'\n};\n","export const SCROLL_LOCK_INSTANCE_IDENTIFIER = 'scroll_lock_instance_';\n","import { Color, SemanticColorToken, ThemeColorToken } from '../types/tokens.types';\nimport * as tokenConsts from '../constants/tokens.constants';\n\n/**\n * Type Guard: Detects if a token is a static palette shade (e.g., 'orange-500')\n */\nexport function isPaletteToken(token: Color): token is ThemeColorToken {\n return /-\\d+$/.test(token);\n}\n\n/**\n * Returns the correct CSS variable string based on the token type.\n */\nexport function resolveTokenToCssVar(token: Color): string {\n if (isPaletteToken(token)) {\n return `var(--${tokenConsts.TOKEN_PREFIX}-${tokenConsts.TOKEN_COLOR_DELIMITER}-${token})`;\n } else {\n return `var(--${tokenConsts.TOKEN_PREFIX}-${token})`;\n }\n}\n\n/**\n * Smartly resolves the complementary background token.\n */\nexport function getComplementaryToken(token: Color): Color {\n if (!isPaletteToken(token)) {\n console.log(tokenConsts.SEMANTIC_PAIRS[token as SemanticColorToken] as Color);\n return (tokenConsts.SEMANTIC_PAIRS[token as SemanticColorToken] as Color) || 'surface';\n }\n\n const parts = token.split('-');\n const shade = parts.pop();\n const palette = parts.join('-');\n\n const shadeNum = parseInt(shade || '500', 10);\n const bgShade = shadeNum > 400 ? 50 : 900;\n\n return `${palette}-${bgShade}` as Color;\n}\n","export function uuidv4() {\n return '10000000-1000-4000-8000-100000000000'.replace(/[018]/g, (c) => (+c ^ (crypto.getRandomValues(new Uint8Array(1))[0] & (15 >> (+c / 4)))).toString(16));\n}\n","/*\n * Public API Surface of blocks-core\n */\n\nexport * from './lib/services/device-type.service';\nexport * from './lib/services/scroll-lock.service';\nexport * from './lib/services/window-dimension.service';\nexport * from './lib/services/theming.service';\n\nexport * from './lib/enums/desktop-os.enum';\nexport * from './lib/enums/mobile-os.enum';\n\nexport * from './lib/interfaces/device-state.interface';\nexport * from './lib/interfaces/scroll-lock-config.interface';\nexport * from './lib/interfaces/window-dimensions.interface';\n\nexport * from './lib/constants/tokens.constants';\nexport * from './lib/constants/window-dimension.constants';\nexport * from './lib/constants/scroll-lock.constants';\n\nexport * from './lib/types/core.types';\nexport * from './lib/types/tokens.types';\n\nexport * from './lib/helpers/token-functions';\nexport * from './lib/helpers/uui4';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["tokenConsts.TOKEN_PREFIX","tokenConsts.TOKEN_COLOR_DELIMITER","tokenConsts.SEMANTIC_PAIRS"],"mappings":";;;;;;;IAAY;AAAZ,CAAA,UAAY,SAAS,EAAA;AACnB,IAAA,SAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACf,IAAA,SAAA,CAAA,OAAA,CAAA,GAAA,QAAgB;AAChB,IAAA,SAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACb,IAAA,SAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,SAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACrB,CAAC,EANW,SAAS,KAAT,SAAS,GAAA,EAAA,CAAA,CAAA;;ICAT;AAAZ,CAAA,UAAY,QAAQ,EAAA;AAClB,IAAA,QAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,QAAA,CAAA,KAAA,CAAA,GAAA,KAAW;AACX,IAAA,QAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,QAAA,CAAA,cAAA,CAAA,GAAA,eAA8B;AAChC,CAAC,EALW,QAAQ,KAAR,QAAQ,GAAA,EAAA,CAAA,CAAA;;MCSP,iBAAiB,CAAA;AACX,IAAA,eAAe,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;AAC3E,IAAA,SAAS,GAAY,SAAS,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,IAAK,MAA6B,EAAE,KAAK,IAAI,SAAS;AAElH,IAAA,0BAA0B,GAChC,CAAC,MAAM,EAAE,WAAW,IAAI,EAAE,EAAE,IAAI,IAAK,MAAkC,CAAC,cAAc,IAAK,MAAkC,CAAC,aAAa;IAErI,uBAAuB,GAC7B,CAAC,MAAM,EAAE,WAAW,IAAI,UAAU,CAAC,yBAAyB,CAAC,CAAC,OAAO,GAAG,kBAAkB,GAAG,mBAAmB;IAE1G,wBAAwB,GAA0B,IAAI,CAAC,0BAA0B,IAAI,IAAI,CAAC,uBAAuB,IAAI,kBAAkB;AACvI,IAAA,iBAAiB,GAA0B,IAAI,CAAC,wBAAwB;AAEhF,IAAA,WAAA,GAAA;AACE,QAAA,IAAI,MAAM,CAAC,WAAW,EAAE;YACtB,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,EAAS,KAAI;AAC1D,gBAAA,MAAM,WAAW,GAAG,EAAE,CAAC,MAAkC;AACzD,gBAAA,IAAI,WAAW,EAAE,IAAI,EAAE;AACrB,oBAAA,IAAI,CAAC,iBAAiB,GAAG,WAAW,CAAC,IAAI;gBAC3C;AACF,YAAA,CAAC,CAAC;QACJ;IACF;IAEO,sBAAsB,GAAA;AAC3B,QAAA,OAAO,CAAC,mBAAmB,EAAE,qBAAqB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC;IACtF;IAEO,qBAAqB,GAAA;AAC1B,QAAA,OAAO,CAAC,kBAAkB,EAAE,oBAAoB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC;IACpF;IAEO,cAAc,GAAA;AACnB,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe;AACtC,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE;AACtC,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE;AACtC,QAAA,MAAM,QAAQ,GAAyB,IAAI,CAAC,WAAW,EAAE;QACzD,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,OAAO;AAC/D,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,GAAG,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,SAAS,CAAC,KAAK;QACnG,MAAM,qBAAqB,GAAG,IAAI,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,OAAO;AACrE,QAAA,MAAM,SAAS,GAA0B,IAAI,CAAC,YAAY,EAAE;QAC5D,MAAM,gBAAgB,GAAG,IAAI,CAAC,WAAW,EAAE,KAAK,SAAS,CAAC,OAAO;AACjE,QAAA,MAAM,oBAAoB,GAAG,IAAI,CAAC,WAAW,EAAE,KAAK,SAAS,CAAC,KAAK,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,SAAS,CAAC,IAAI;QAE5G,OAAO;YACL,SAAS;YACT,SAAS;YACT,gBAAgB;YAChB,oBAAoB;YACpB,QAAQ;YACR,QAAQ;YACR,eAAe;YACf,aAAa;YACb,qBAAqB;YACrB,QAAQ;AACR,YAAA,sBAAsB,EAAE,MAAM,IAAI,CAAC,sBAAsB,EAAE;AAC3D,YAAA,qBAAqB,EAAE,MAAM,IAAI,CAAC,qBAAqB;SACxD;IACH;IAEQ,cAAc,GAAA;AACpB,QAAA,MAAM,MAAM,GAAG,CAAC,wBAAwB,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,CAAC;QACpG,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IAC9D;IAEQ,cAAc,GAAA;QACpB,MAAM,KAAK,GAAG,iHAAiH;AAC/H,QAAA,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IACxD;IAEQ,WAAW,GAAA;QACjB,IAAI,IAAI,CAAC,cAAc,EAAE,IAAI,IAAI,CAAC,SAAS,EAAE;AAC3C,YAAA,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;gBAAE,OAAO,QAAQ,CAAC,YAAY;AAClE,iBAAA,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;gBAAE,OAAO,QAAQ,CAAC,OAAO;AAC5D,iBAAA,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAE,MAAyB,CAAC,QAAQ;gBAAE,OAAO,QAAQ,CAAC,GAAG;YAE7G,OAAO,QAAQ,CAAC,OAAO;QACzB;AACA,QAAA,OAAO,SAAS;IAClB;IAEQ,YAAY,GAAA;QAClB,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,SAAS,EAAE;YAC1C,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAAE,OAAO,SAAS,CAAC,OAAO;iBAC7D,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAAE,OAAO,SAAS,CAAC,KAAK;iBAChE,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAAE,OAAO,SAAS,CAAC,IAAI;iBAC/D,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAAE,OAAO,SAAS,CAAC,KAAK;YAEvE,OAAO,SAAS,CAAC,OAAO;QAC1B;;AAAO,YAAA,OAAO,SAAS;IACzB;IAEQ,WAAW,GAAA;QACjB,OAAO,IAAI,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,YAAY,EAAE;IAClD;uGA9FW,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAjB,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,cAFhB,MAAM,EAAA,CAAA;;2FAEP,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAH7B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE;AACb,iBAAA;;;ACRM,MAAM,WAAW,GAAG;AACzB,IAAA,EAAE,EAAE,GAAG;AACP,IAAA,EAAE,EAAE,GAAG;AACP,IAAA,EAAE,EAAE,GAAG;AACP,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,KAAK,EAAE,IAAI;AACX,IAAA,KAAK,EAAE,IAAI;AACX,IAAA,KAAK,EAAE;;;MCEI,uBAAuB,CAAA;AAClB,IAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;AACvB,IAAA,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC;AAEhC,IAAA,SAAS,GAAG,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC;IAE9C,WAAW,GAAG,MAAM,CAAmB,IAAI,CAAC,oBAAoB,EAAE,kFAAC;AAEnE,IAAA,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE;AAE1C,IAAA,QAAQ,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC,KAAK,GAAG,WAAW,CAAC,EAAE,+EAAC;AACnE,IAAA,QAAQ,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC,KAAK,IAAI,WAAW,CAAC,EAAE,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC,KAAK,GAAG,WAAW,CAAC,EAAE,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,UAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAC;AAChH,IAAA,SAAS,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC,KAAK,IAAI,WAAW,CAAC,EAAE,gFAAC;IAErE,WAAW,GAAG,WAAW;AAEzC,IAAA,WAAA,GAAA;QACE,IAAI,CAAC,kBAAkB,EAAE;IAC3B;IAEQ,oBAAoB,GAAA;AAC1B,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACnB,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;QAChC;QACA,OAAO;YACL,KAAK,EAAE,MAAM,CAAC,UAAU;YACxB,MAAM,EAAE,MAAM,CAAC;SAChB;IACH;IAEQ,kBAAkB,GAAA;QACxB,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE;AAErB,QAAA,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAK;AACjC,YAAA,SAAS,CAAC,MAAM,EAAE,QAAQ;AACvB,iBAAA,IAAI,CACH,YAAY,CAAC,GAAG,CAAC,EACjB,GAAG,CAAC,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC,EACtC,oBAAoB,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC;AAE/F,iBAAA,SAAS,CAAC,CAAC,IAAI,KAAI;AAClB,gBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAK;AACnB,oBAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC;AAC5B,gBAAA,CAAC,CAAC;AACJ,YAAA,CAAC,CAAC;AACN,QAAA,CAAC,CAAC;IACJ;uGA9CW,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAvB,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,cAFtB,MAAM,EAAA,CAAA;;2FAEP,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAHnC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE;AACb,iBAAA;;;MCFY,iBAAiB,CAAA;AACX,IAAA,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC;AAChC,IAAA,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAC7C,IAAA,uBAAuB,GAAG,MAAM,CAAC,uBAAuB,CAAC;AAEzD,IAAA,SAAS,GAAG,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC;AAC9C,IAAA,WAAW,GAAG,IAAI,GAAG,EAA6B;IAClD,oBAAoB,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;IACtD,mBAAmB,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;AAErD,IAAA,iBAAiB,GAAG,MAAM,CAAC,KAAK,wFAAC;AACjC,IAAA,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE;IAE9D,mBAAmB,GAAkB,IAAI;IAEzC,sBAAsB,GAAkB,IAAI;IAE7C,WAAW,GAAA;QAChB,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE;QACrB,IAAI,CAAC,mBAAmB,EAAE;QAC1B,IAAI,CAAC,eAAe,EAAE;IACxB;IAEO,aAAa,CAAC,OAAe,EAAE,MAAyB,EAAA;QAC7D,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE;AAErB,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,EAAE;QAE5C,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC;AACrC,QAAA,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC;AAEhC,QAAA,IAAI,WAAW;YAAE;AAEjB,QAAA,MAAM,aAAa,GAAG,QAAQ,CAAC,eAAe,CAAC,WAAW;AAC1D,QAAA,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU;AACrC,QAAA,MAAM,cAAc,GAAG,WAAW,GAAG,aAAa;AAElD,QAAA,IAAI,cAAc,GAAG,CAAC,EAAE;YACtB,IAAI,CAAC,mBAAmB,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY;AAC3D,YAAA,MAAM,eAAe,GAAG,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,IAAI,CAAC;AAEvF,YAAA,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,eAAe,EAAE,CAAA,EAAG,eAAe,GAAG,cAAc,IAAI,EAAE,WAAW,CAAC;QACxG;AAEA,QAAA,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,EAAE,QAAQ,EAAE,WAAW,CAAC;AAElE,QAAA,IAAI,MAAM,CAAC,gBAAgB,KAAK,KAAK,EAAE;AACrC,YAAA,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,cAAc,EAAE,MAAM,EAAE,WAAW,CAAC;QACtE;QAEA,IAAI,CAAC,mBAAmB,EAAE;QAE1B,IAAI,CAAC,sBAAsB,GAAG,MAAM,CAAC,UAAU,CAC7C,MAAK;AACH,YAAA,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;gBAAE;AAE/B,YAAA,IAAI,MAAM,CAAC,gBAAgB,KAAK,IAAI,EAAE;AACpC,gBAAA,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,oBAAoB,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;YAC5F;AAEA,YAAA,IAAI,MAAM,CAAC,qBAAqB,KAAK,IAAI,EAAE;AACzC,gBAAA,MAAM,GAAG,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE;gBAC9B,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,mBAAmB,EAAE,GAAG,CAAC;gBAC/D,MAAM,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,mBAAmB,EAAE,GAAG,CAAC;gBACpE,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,mBAAmB,EAAE,GAAG,CAAC;gBAChE,MAAM,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,IAAI,CAAC,mBAAmB,EAAE,GAAG,CAAC;YAC1E;QACF,CAAC,EACD,CAAC,MAAM,CAAC,iBAAiB,IAAI,CAAC,IAAI,EAAE,CACrC;IACH;IAEO,YAAY,CAAC,OAAe,EAAE,eAAyB,EAAA;QAC5D,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE;QAErB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC;YAAE;AAEpC,QAAA,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC;AAEhC,QAAA,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC;YAAE;AAE/B,QAAA,IAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC;IAC7C;IAEQ,eAAe,GAAA;AACrB,QAAA,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC;AAAE,YAAA,OAAO,IAAI;AAC5C,QAAA,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;AAChD,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI;IAC5D;AAEQ,IAAA,qBAAqB,CAAC,eAAyB,EAAA;QACrD,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE;QAErB,IAAI,CAAC,mBAAmB,EAAE;AAE1B,QAAA,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC;QAEjC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC;AAE9C,QAAA,IAAI,IAAI,CAAC,mBAAmB,KAAK,IAAI,EAAE;AACrC,YAAA,IAAI,IAAI,CAAC,mBAAmB,EAAE;AAC5B,gBAAA,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,eAAe,EAAE,IAAI,CAAC,mBAAmB,CAAC;YAC5E;iBAAO;gBACL,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC;YACrD;AACA,YAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI;QACjC;QAEA,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,oBAAoB,CAAC;QACzE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;AAElD,QAAA,IAAI,eAAe,KAAK,KAAK,EAAE;YAC7B,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC;YAC7D,MAAM,CAAC,mBAAmB,CAAC,YAAY,EAAE,IAAI,CAAC,mBAAmB,CAAC;YAClE,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,mBAAmB,CAAC;YAC9D,MAAM,CAAC,mBAAmB,CAAC,gBAAgB,EAAE,IAAI,CAAC,mBAAmB,CAAC;QACxE;IACF;IAEQ,eAAe,GAAA;AACrB,QAAA,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE;AACxB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC;IAClC;IAEQ,mBAAmB,GAAA;AACzB,QAAA,IAAI,IAAI,CAAC,sBAAsB,KAAK,IAAI,EAAE;AACxC,YAAA,YAAY,CAAC,IAAI,CAAC,sBAAsB,CAAC;AACzC,YAAA,IAAI,CAAC,sBAAsB,GAAG,IAAI;QACpC;IACF;AAEQ,IAAA,eAAe,CAAC,KAAY,EAAA;AAClC,QAAA,MAAM,UAAU,GAAG,KAAK,CAAC,MAAc;AACvC,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,EAAE;QAElC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,KAAK,GAAG,KAAK,IAAI,IAAI,GAAG,CAAC,gBAAgB,KAAK,KAAK,CAAC,EAAE;YAC3F,IACE,GAAG,KAAK,IAAI;gBACZ,GAAG,CAAC,yBAAyB,KAAK,IAAI;AACtC,iBAAC,GAAG,CAAC,yBAAyB,KAAK,IAAI;AACrC,qBAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,cAAc,EAAE,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,cAAc,EAAE,CAAC,QAAQ,CAAC;AACxG,oBAAA,IAAI,CAAC,uBAAuB,CAAC,UAAU,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,uBAAuB,CAAC,WAAW,CAAC,EAAE,CAAC,EAChG;gBACA,KAAK,CAAC,cAAc,EAAE;gBACtB,KAAK,CAAC,eAAe,EAAE;YACzB;QACF;IACF;AAEQ,IAAA,iBAAiB,CAAC,UAAgB,EAAA;AACxC,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,EAAE;AAClC,QAAA,MAAM,KAAK,GAAG,GAAG,EAAE,iBAAiB;AAEpC,QAAA,IAAI,CAAC,KAAK;AAAE,YAAA,OAAO,IAAI;AAEvB,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AACxB,YAAA,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;AAAE,gBAAA,OAAO,IAAI;AACnC,YAAA,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QACpD;AAEA,QAAA,OAAO,KAAK;IACd;AAEQ,IAAA,cAAc,CAAC,KAAY,EAAA;QACjC,KAAK,CAAC,cAAc,EAAE;QACtB,KAAK,CAAC,eAAe,EAAE;IACzB;uGAtKW,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAjB,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,cADJ,MAAM,EAAA,CAAA;;2FACnB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAD7B,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;MCErB,cAAc,CAAA;AACR,IAAA,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC;AAChC,IAAA,SAAS,GAAG,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC;AAE9C,IAAA,YAAY,GAAG,MAAM,CAAc,OAAO,mFAAC;AAC3C,IAAA,iBAAiB,GAAG,MAAM,CAAqB,IAAI,wFAAC;AAErD,IAAA,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE;AAC5C,IAAA,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE;AACtD,IAAA,WAAW,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,gBAAgB,EAAE,IAAI,IAAI,CAAC,WAAW,EAAE,kFAAC;AAE1E,IAAA,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC;AAC9C,IAAA,iBAAiB,GAAG,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC;AAEjE,IAAA,cAAc;AACd,IAAA,kBAAkB;AAE1B,IAAA,WAAA,GAAA;AACE,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAEtD,MAAM,WAAW,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,CAAuB;YACvE,IAAI,WAAW,KAAK,MAAM,IAAI,WAAW,KAAK,OAAO,EAAE;AACrD,gBAAA,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC;YACzC;YAEA,IAAI,CAAC,uBAAuB,EAAE;QAChC;IACF;IAEO,WAAW,GAAA;QAChB,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAClD,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,kBAAkB,CAAC;QAC5E;IACF;AAEO,IAAA,mBAAmB,CAAC,KAAkB,EAAA;AAC3C,QAAA,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC;AACjC,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,YAAA,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC;QACtC;IACF;IAEO,eAAe,GAAA;QACpB,OAAO,IAAI,CAAC,YAAY;IAC1B;IAEO,oBAAoB,GAAA;QACzB,OAAO,IAAI,CAAC,iBAAiB;IAC/B;IAEQ,wBAAwB,GAAA;QAC9B,IAAI,CAAC,IAAI,CAAC,SAAS;AAAE,YAAA,OAAO,OAAO;AACnC,QAAA,OAAO,MAAM,CAAC,UAAU,CAAC,8BAA8B,CAAC,CAAC,OAAO,GAAG,MAAM,GAAG,OAAO;IACrF;IAEQ,uBAAuB,GAAA;QAC7B,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC,8BAA8B,CAAC;AACvE,QAAA,IAAI,CAAC,kBAAkB,GAAG,CAAC,KAA0B,KAAI;AACvD,YAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;AACzD,QAAA,CAAC;QACD,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,kBAAkB,CAAC;IACzE;uGA9DW,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAd,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,cAFb,MAAM,EAAA,CAAA;;2FAEP,cAAc,EAAA,UAAA,EAAA,CAAA;kBAH1B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE;AACb,iBAAA;;;ACLM,MAAM,aAAa,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS;AACvF,MAAM,aAAa,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI;AAE5E,MAAM,YAAY,GAAG;AACrB,MAAM,qBAAqB,GAAG;AAC9B,MAAM,cAAc,GAAG;AAEvB,MAAM,cAAc,GAA4D;AACrF,IAAA,WAAW,EAAE,cAAc;AAC3B,IAAA,YAAY,EAAE,cAAc;AAC5B,IAAA,gBAAgB,EAAE,cAAc;AAChC,IAAA,YAAY,EAAE,cAAc;AAC5B,IAAA,kBAAkB,EAAE,cAAc;AAElC,IAAA,cAAc,EAAE,YAAY;AAC5B,IAAA,cAAc,EAAE,YAAY;AAC5B,IAAA,gBAAgB,EAAE,YAAY;AAC9B,IAAA,YAAY,EAAE,YAAY;AAC1B,IAAA,cAAc,EAAE,SAAS;AACzB,IAAA,YAAY,EAAE,SAAS;AAEvB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,eAAe,EAAE,YAAY;AAC7B,IAAA,gBAAgB,EAAE,YAAY;AAC9B,IAAA,gBAAgB,EAAE,cAAc;AAEhC,IAAA,eAAe,EAAE,YAAY;AAC7B,IAAA,gBAAgB,EAAE,YAAY;AAC9B,IAAA,eAAe,EAAE,YAAY;AAC7B,IAAA,cAAc,EAAE,YAAY;AAE5B,IAAA,SAAS,EAAE,WAAW;AACtB,IAAA,aAAa,EAAE,SAAS;AACxB,IAAA,WAAW,EAAE,SAAS;AAEtB,IAAA,YAAY,EAAE,cAAc;AAC5B,IAAA,gBAAgB,EAAE,YAAY;AAC9B,IAAA,cAAc,EAAE,YAAY;AAC5B,IAAA,gBAAgB,EAAE,YAAY;AAE9B,IAAA,SAAS,EAAE,WAAW;AACtB,IAAA,aAAa,EAAE,SAAS;AACxB,IAAA,WAAW,EAAE,SAAS;AAEtB,IAAA,UAAU,EAAE,YAAY;AACxB,IAAA,cAAc,EAAE,UAAU;AAC1B,IAAA,YAAY,EAAE,UAAU;AACxB,IAAA,cAAc,EAAE,YAAY;AAE5B,IAAA,WAAW,EAAE,YAAY;AACzB,IAAA,cAAc,EAAE,WAAW;AAC3B,IAAA,oBAAoB,EAAE;;;ACrDjB,MAAM,+BAA+B,GAAG;;ACG/C;;AAEG;AACG,SAAU,cAAc,CAAC,KAAY,EAAA;AACzC,IAAA,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;AAC5B;AAEA;;AAEG;AACG,SAAU,oBAAoB,CAAC,KAAY,EAAA;AAC/C,IAAA,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE;QACzB,OAAO,CAAA,MAAA,EAASA,YAAwB,CAAA,CAAA,EAAIC,qBAAiC,CAAA,CAAA,EAAI,KAAK,CAAA,CAAA,CAAG;IAC3F;SAAO;AACL,QAAA,OAAO,SAASD,YAAwB,CAAA,CAAA,EAAI,KAAK,GAAG;IACtD;AACF;AAEA;;AAEG;AACG,SAAU,qBAAqB,CAAC,KAAY,EAAA;AAChD,IAAA,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE;QAC1B,OAAO,CAAC,GAAG,CAACE,cAA0B,CAAC,KAA2B,CAAU,CAAC;QAC7E,OAAQA,cAA0B,CAAC,KAA2B,CAAW,IAAI,SAAS;IACxF;IAEA,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;AAC9B,IAAA,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,EAAE;IACzB,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;IAE/B,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,IAAI,KAAK,EAAE,EAAE,CAAC;AAC7C,IAAA,MAAM,OAAO,GAAG,QAAQ,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG;AAEzC,IAAA,OAAO,CAAA,EAAG,OAAO,CAAA,CAAA,EAAI,OAAO,EAAW;AACzC;;SCtCgB,MAAM,GAAA;IACpB,OAAO,sCAAsC,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,eAAe,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;AAC/J;;ACFA;;AAEG;;ACFH;;AAEG;;;;"}
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@filip.mazev/blocks-core",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.26",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"exports": {
|
|
6
6
|
"./mixins": "./lib/styles/_mixins.scss",
|
|
7
7
|
"./variables": "./lib/styles/_variables.scss",
|
|
8
8
|
"./theme-provider": "./lib/styles/_theme-provider.scss",
|
|
9
|
-
"./
|
|
9
|
+
"./purple-theme": "./lib/styles/themes/_purple-theme.scss",
|
|
10
10
|
"./orange-theme": "./lib/styles/themes/_orange-theme.scss",
|
|
11
11
|
"./high-contrast-theme": "./lib/styles/themes/_high-contrast-theme.scss",
|
|
12
12
|
"./index": "./lib/styles/_index.scss",
|
|
@@ -25,56 +25,56 @@ $purple-palette: (
|
|
|
25
25
|
1000: #0B001A) !default;
|
|
26
26
|
|
|
27
27
|
$error-palette: (
|
|
28
|
-
50: #
|
|
29
|
-
100: #
|
|
30
|
-
200: #
|
|
31
|
-
300: #
|
|
32
|
-
400: #
|
|
33
|
-
500: #
|
|
34
|
-
600: #
|
|
35
|
-
700: #
|
|
36
|
-
800: #
|
|
37
|
-
900: #
|
|
38
|
-
1000: #
|
|
28
|
+
50: #FFFCFC,
|
|
29
|
+
100: #F4E5E5,
|
|
30
|
+
200: #EAD0D0,
|
|
31
|
+
300: #DE9E9E,
|
|
32
|
+
400: #F76D6D,
|
|
33
|
+
500: #D94D4D,
|
|
34
|
+
600: #C93D3D,
|
|
35
|
+
700: #BA2E2E,
|
|
36
|
+
800: #722222,
|
|
37
|
+
900: #2B1717,
|
|
38
|
+
1000: #0E0C0C) !default;
|
|
39
39
|
|
|
40
40
|
$warn-palette: (
|
|
41
|
-
50: #
|
|
42
|
-
100: #
|
|
43
|
-
200: #
|
|
44
|
-
300: #
|
|
45
|
-
400: #
|
|
46
|
-
500: #
|
|
47
|
-
600: #
|
|
48
|
-
700: #
|
|
49
|
-
800: #
|
|
50
|
-
900: #
|
|
51
|
-
1000: #
|
|
41
|
+
50: #FFFEFB,
|
|
42
|
+
100: #F7F0E3,
|
|
43
|
+
200: #EAE3D0,
|
|
44
|
+
300: #E7C892,
|
|
45
|
+
400: #E4AD55,
|
|
46
|
+
500: #C68D36,
|
|
47
|
+
600: #B77D27,
|
|
48
|
+
700: #A96D18,
|
|
49
|
+
800: #6A4817,
|
|
50
|
+
900: #2B2317,
|
|
51
|
+
1000: #0E0D0C) !default;
|
|
52
52
|
|
|
53
53
|
$success-palette: (
|
|
54
|
-
50: #
|
|
55
|
-
100: #
|
|
56
|
-
200: #
|
|
57
|
-
300: #
|
|
58
|
-
400: #
|
|
59
|
-
500: #
|
|
60
|
-
600: #
|
|
61
|
-
700: #
|
|
62
|
-
800: #
|
|
63
|
-
900: #
|
|
64
|
-
1000: #
|
|
54
|
+
50: #FCFFFC,
|
|
55
|
+
100: #E6F4E6,
|
|
56
|
+
200: #D1EAD0,
|
|
57
|
+
300: #98D6A0,
|
|
58
|
+
400: #5FC370,
|
|
59
|
+
500: #3FA94E,
|
|
60
|
+
600: #2E9C3E,
|
|
61
|
+
700: #1E8F2D,
|
|
62
|
+
800: #1A5D22,
|
|
63
|
+
900: #172B18,
|
|
64
|
+
1000: #0C0E0C) !default;
|
|
65
65
|
|
|
66
66
|
$information-palette: (
|
|
67
|
-
50: #
|
|
68
|
-
100: #
|
|
69
|
-
200: #
|
|
70
|
-
300: #
|
|
71
|
-
400: #
|
|
72
|
-
500: #
|
|
73
|
-
600: #
|
|
74
|
-
700: #
|
|
75
|
-
800: #
|
|
76
|
-
900: #
|
|
77
|
-
1000: #
|
|
67
|
+
50: #FBFDFF,
|
|
68
|
+
100: #E5EEF7,
|
|
69
|
+
200: #D0DDEA,
|
|
70
|
+
300: #97CACE,
|
|
71
|
+
400: #5FB7C3,
|
|
72
|
+
500: #3E90B5,
|
|
73
|
+
600: #2E7CAE,
|
|
74
|
+
700: #1E69A7,
|
|
75
|
+
800: #1A4469,
|
|
76
|
+
900: #17202B,
|
|
77
|
+
1000: #0C0D0E) !default;
|
|
78
78
|
|
|
79
79
|
$neutral-palette: (
|
|
80
80
|
50: #FAFAFA,
|
|
@@ -91,8 +91,8 @@ $neutral-palette: (
|
|
|
91
91
|
|
|
92
92
|
$hc-black: #000000;
|
|
93
93
|
$hc-white: #ffffff;
|
|
94
|
-
$hc-yellow: #
|
|
95
|
-
$hc-cyan: #
|
|
94
|
+
$hc-yellow: #e4d500;
|
|
95
|
+
$hc-cyan: #00f3f3;
|
|
96
96
|
$hc-red: #ff0000;
|
|
97
97
|
$hc-green: #00ff00;
|
|
98
98
|
|
|
@@ -8,20 +8,20 @@ $semantic-keys: map-keys($orange-light-theme);
|
|
|
8
8
|
@each $key, $value in $config {
|
|
9
9
|
|
|
10
10
|
@if $key !='meta-brand-palette' {
|
|
11
|
-
--
|
|
11
|
+
--bx-#{$key}: #{$value};
|
|
12
12
|
|
|
13
|
-
.
|
|
14
|
-
background-color: var(--
|
|
13
|
+
.bx-bg-#{$key} {
|
|
14
|
+
background-color: var(--bx-#{$key});
|
|
15
15
|
transition: background-color 0.2s ease-in-out;
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
-
.
|
|
19
|
-
color: var(--
|
|
18
|
+
.bx-text-#{$key} {
|
|
19
|
+
color: var(--bx-#{$key});
|
|
20
20
|
transition: color 0.2s ease-in-out;
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
-
.
|
|
24
|
-
border-color: var(--
|
|
23
|
+
.bx-border-#{$key} {
|
|
24
|
+
border-color: var(--bx-#{$key});
|
|
25
25
|
transition: border-color 0.2s ease-in-out;
|
|
26
26
|
}
|
|
27
27
|
}
|
|
@@ -30,7 +30,7 @@ $semantic-keys: map-keys($orange-light-theme);
|
|
|
30
30
|
$brand-palette: get-palette($value);
|
|
31
31
|
|
|
32
32
|
@each $shade, $color in $brand-palette {
|
|
33
|
-
--
|
|
33
|
+
--bx-color-primary-#{$shade}: #{$color};
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
36
|
}
|