@shohojdhara/atomix 0.2.3 → 0.2.5
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 +19 -0
- package/dist/atomix.css +1703 -1544
- package/dist/atomix.min.css +4 -4
- package/dist/index.d.ts +1465 -963
- package/dist/index.esm.js +16289 -25908
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +15650 -21780
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +1 -1
- package/dist/themes/applemix.css +15008 -0
- package/dist/themes/applemix.min.css +72 -0
- package/dist/themes/boomdevs.css +1608 -1450
- package/dist/themes/boomdevs.min.css +5 -5
- package/dist/themes/esrar.css +1702 -1543
- package/dist/themes/esrar.min.css +4 -4
- package/dist/themes/flashtrade.css +15159 -0
- package/dist/themes/flashtrade.min.css +86 -0
- package/dist/themes/mashroom.css +1699 -1540
- package/dist/themes/mashroom.min.css +7 -7
- package/dist/themes/shaj-default.css +1693 -1534
- package/dist/themes/shaj-default.min.css +4 -4
- package/package.json +6 -17
- package/src/components/Accordion/Accordion.stories.tsx +662 -21
- package/src/components/Accordion/Accordion.tsx +21 -14
- package/src/components/AtomixGlass/AtomixGlass.test.tsx +106 -72
- package/src/components/AtomixGlass/AtomixGlass.tsx +529 -1195
- package/src/components/AtomixGlass/AtomixGlassContainer.tsx +400 -0
- package/src/components/AtomixGlass/GlassFilter.tsx +156 -0
- package/src/components/AtomixGlass/README.md +124 -2
- package/src/components/AtomixGlass/atomixGLass.old.tsx +1266 -0
- package/src/components/AtomixGlass/glass-utils.ts +263 -0
- package/src/components/AtomixGlass/shader-utils.ts +792 -68
- package/src/components/AtomixGlass/stories/AtomixGlass.stories.tsx +1250 -0
- package/src/components/AtomixGlass/stories/Examples.stories.tsx +5768 -0
- package/src/components/AtomixGlass/stories/Modes.stories.tsx +1065 -0
- package/src/components/AtomixGlass/stories/Playground.stories.tsx +1129 -0
- package/src/components/AtomixGlass/stories/ShaderVariants.stories.tsx +395 -0
- package/src/components/AtomixGlass/stories/shared-components.tsx +301 -0
- package/src/components/AtomixGlass/utils.ts +3 -3
- package/src/components/Avatar/Avatar.tsx +3 -0
- package/src/components/Avatar/AvatarGroup.tsx +2 -1
- package/src/components/Badge/Badge.stories.tsx +76 -55
- package/src/components/Badge/Badge.tsx +12 -14
- package/src/components/Breadcrumb/Breadcrumb.tsx +23 -4
- package/src/components/Button/Button.stories.tsx +501 -20
- package/src/components/Button/Button.tsx +5 -8
- package/src/components/Callout/Callout.stories.tsx +86 -35
- package/src/components/Callout/Callout.tsx +31 -9
- package/src/components/Card/Card.stories.tsx +565 -2
- package/src/components/Card/Card.tsx +15 -4
- package/src/components/Card/ElevationCard.tsx +2 -0
- package/src/components/Chart/AnimatedChart.tsx +179 -156
- package/src/components/Chart/AreaChart.tsx +123 -12
- package/src/components/Chart/BarChart.tsx +91 -100
- package/src/components/Chart/BaseChart.tsx +80 -0
- package/src/components/Chart/BubbleChart.tsx +114 -290
- package/src/components/Chart/CandlestickChart.tsx +282 -622
- package/src/components/Chart/Chart.stories.tsx +576 -179
- package/src/components/Chart/Chart.tsx +374 -75
- package/src/components/Chart/ChartRenderer.tsx +371 -220
- package/src/components/Chart/ChartToolbar.tsx +372 -61
- package/src/components/Chart/ChartTooltip.tsx +33 -18
- package/src/components/Chart/DonutChart.tsx +172 -254
- package/src/components/Chart/FunnelChart.tsx +169 -240
- package/src/components/Chart/GaugeChart.tsx +224 -392
- package/src/components/Chart/HeatmapChart.tsx +302 -440
- package/src/components/Chart/LineChart.tsx +148 -103
- package/src/components/Chart/MultiAxisChart.tsx +267 -395
- package/src/components/Chart/PieChart.tsx +114 -64
- package/src/components/Chart/RadarChart.tsx +202 -218
- package/src/components/Chart/ScatterChart.tsx +111 -97
- package/src/components/Chart/TreemapChart.tsx +147 -222
- package/src/components/Chart/WaterfallChart.tsx +253 -291
- package/src/components/Chart/index.ts +11 -9
- package/src/components/Chart/types.ts +85 -9
- package/src/components/Chart/utils.ts +66 -0
- package/src/components/ColorModeToggle/ColorModeToggle.tsx +6 -3
- package/src/components/Countdown/Countdown.tsx +4 -0
- package/src/components/DataTable/DataTable.tsx +2 -1
- package/src/components/DatePicker/DatePicker.stories.tsx +689 -12
- package/src/components/DatePicker/DatePicker.tsx +3 -9
- package/src/components/DatePicker/types.ts +5 -0
- package/src/components/Dropdown/Dropdown.stories.tsx +32 -25
- package/src/components/Dropdown/Dropdown.tsx +26 -28
- package/src/components/EdgePanel/EdgePanel.stories.tsx +473 -2
- package/src/components/EdgePanel/EdgePanel.tsx +101 -13
- package/src/components/Footer/Footer.stories.tsx +187 -60
- package/src/components/Footer/Footer.test.tsx +134 -0
- package/src/components/Footer/Footer.tsx +133 -34
- package/src/components/Footer/FooterLink.tsx +1 -1
- package/src/components/Footer/FooterSection.tsx +53 -36
- package/src/components/Footer/FooterSocialLink.tsx +32 -29
- package/src/components/Footer/README.md +82 -3
- package/src/components/Footer/index.ts +1 -1
- package/src/components/Form/Checkbox.stories.tsx +13 -5
- package/src/components/Form/Checkbox.tsx +3 -6
- package/src/components/Form/Form.stories.tsx +10 -3
- package/src/components/Form/Form.tsx +2 -0
- package/src/components/Form/FormGroup.tsx +2 -1
- package/src/components/Form/Input.stories.tsx +12 -11
- package/src/components/Form/Input.tsx +97 -95
- package/src/components/Form/Radio.stories.tsx +22 -7
- package/src/components/Form/Radio.tsx +3 -6
- package/src/components/Form/Select.stories.tsx +21 -6
- package/src/components/Form/Select.tsx +3 -5
- package/src/components/Form/Textarea.stories.tsx +13 -11
- package/src/components/Form/Textarea.tsx +88 -86
- package/src/components/Hero/Hero.stories.tsx +2 -3
- package/src/components/Hero/Hero.tsx +5 -6
- package/src/components/Icon/Icon.tsx +12 -1
- package/src/components/List/List.tsx +2 -1
- package/src/components/List/ListGroup.tsx +2 -1
- package/src/components/Messages/Messages.stories.tsx +113 -0
- package/src/components/Messages/Messages.tsx +52 -9
- package/src/components/Modal/Modal.stories.tsx +48 -32
- package/src/components/Modal/Modal.tsx +19 -24
- package/src/components/Navigation/Menu/MegaMenu.tsx +2 -2
- package/src/components/Navigation/Menu/Menu.tsx +2 -2
- package/src/components/Navigation/Nav/Nav.stories.tsx +469 -0
- package/src/components/Navigation/Nav/Nav.tsx +22 -4
- package/src/components/Navigation/Nav/NavDropdown.tsx +10 -1
- package/src/components/Navigation/Navbar/Navbar.stories.tsx +413 -0
- package/src/components/Navigation/Navbar/Navbar.tsx +70 -29
- package/src/components/Navigation/SideMenu/SideMenu.stories.tsx +340 -0
- package/src/components/Navigation/SideMenu/SideMenu.tsx +29 -2
- package/src/components/Pagination/Pagination.stories.tsx +13 -6
- package/src/components/Pagination/Pagination.tsx +7 -6
- package/src/components/PhotoViewer/PhotoViewer.tsx +2 -1
- package/src/components/Popover/Popover.stories.tsx +32 -24
- package/src/components/Popover/Popover.tsx +4 -1
- package/src/components/ProductReview/ProductReview.tsx +8 -2
- package/src/components/Progress/Progress.tsx +19 -3
- package/src/components/Rating/Rating.stories.tsx +11 -6
- package/src/components/Rating/Rating.tsx +3 -5
- package/src/components/River/River.tsx +5 -5
- package/src/components/SectionIntro/SectionIntro.tsx +8 -2
- package/src/components/Slider/Slider.stories.tsx +4 -4
- package/src/components/Slider/Slider.tsx +4 -3
- package/src/components/Spinner/Spinner.tsx +19 -3
- package/src/components/Steps/Steps.stories.tsx +5 -4
- package/src/components/Steps/Steps.tsx +8 -5
- package/src/components/Tab/Tab.stories.tsx +4 -3
- package/src/components/Tab/Tab.tsx +8 -6
- package/src/components/Testimonial/Testimonial.tsx +8 -2
- package/src/components/Todo/Todo.tsx +2 -1
- package/src/components/Toggle/Toggle.stories.tsx +5 -4
- package/src/components/Toggle/Toggle.tsx +8 -5
- package/src/components/Tooltip/Tooltip.stories.tsx +40 -30
- package/src/components/Tooltip/Tooltip.tsx +9 -2
- package/src/components/Upload/Upload.stories.tsx +252 -0
- package/src/components/Upload/Upload.tsx +92 -53
- package/src/components/VideoPlayer/VideoPlayer.tsx +3 -1
- package/src/components/index.ts +0 -4
- package/src/layouts/Grid/Grid.stories.tsx +10 -23
- package/src/layouts/Grid/Grid.tsx +20 -1
- package/src/layouts/Grid/GridCol.tsx +76 -48
- package/src/lib/composables/useAtomixGlass.ts +861 -44
- package/src/lib/composables/useBarChart.ts +21 -4
- package/src/lib/composables/useChart.ts +227 -370
- package/src/lib/composables/useChartExport.ts +19 -78
- package/src/lib/composables/useChartToolbar.ts +11 -21
- package/src/lib/composables/useEdgePanel.ts +125 -71
- package/src/lib/composables/useFooter.ts +3 -3
- package/src/lib/composables/useGlassContainer.ts +16 -7
- package/src/lib/composables/useLineChart.ts +11 -2
- package/src/lib/composables/usePieChart.ts +4 -14
- package/src/lib/composables/useRiver.ts +5 -0
- package/src/lib/composables/useSlider.ts +62 -24
- package/src/lib/composables/useVideoPlayer.ts +60 -63
- package/src/lib/constants/components.ts +147 -32
- package/src/lib/types/components.ts +355 -25
- package/src/lib/utils/displacement-generator.ts +55 -49
- package/src/lib/utils/icons.ts +1 -1
- package/src/lib/utils/index.ts +16 -10
- package/src/styles/01-settings/_settings.accordion.scss +19 -19
- package/src/styles/01-settings/_settings.animations.scss +5 -5
- package/src/styles/01-settings/_settings.avatar-group.scss +1 -1
- package/src/styles/01-settings/_settings.avatar.scss +17 -17
- package/src/styles/01-settings/_settings.background.scss +0 -3
- package/src/styles/01-settings/_settings.badge.scss +1 -1
- package/src/styles/01-settings/_settings.breadcrumb.scss +1 -1
- package/src/styles/01-settings/_settings.card.scss +1 -1
- package/src/styles/01-settings/_settings.chart.scss +65 -2
- package/src/styles/01-settings/_settings.dropdown.scss +1 -1
- package/src/styles/01-settings/_settings.edge-panel.scss +1 -1
- package/src/styles/01-settings/_settings.footer.scss +35 -42
- package/src/styles/01-settings/_settings.input.scss +1 -1
- package/src/styles/01-settings/_settings.list.scss +1 -1
- package/src/styles/01-settings/_settings.rating.scss +1 -1
- package/src/styles/01-settings/_settings.tabs.scss +1 -1
- package/src/styles/01-settings/_settings.upload.scss +6 -5
- package/src/styles/02-tools/_tools.animations.scss +4 -5
- package/src/styles/02-tools/_tools.background.scss +1 -13
- package/src/styles/02-tools/_tools.glass.scss +0 -1
- package/src/styles/02-tools/_tools.utility-api.scss +91 -48
- package/src/styles/03-generic/_generic.root.scss +1 -4
- package/src/styles/04-elements/_elements.body.scss +0 -1
- package/src/styles/06-components/_components.atomix-glass.scss +249 -0
- package/src/styles/06-components/_components.badge.scss +8 -23
- package/src/styles/06-components/_components.button.scss +8 -3
- package/src/styles/06-components/_components.callout.scss +10 -5
- package/src/styles/06-components/_components.card.scss +2 -14
- package/src/styles/06-components/_components.chart.scss +969 -1449
- package/src/styles/06-components/_components.dropdown.scss +19 -7
- package/src/styles/06-components/_components.edge-panel.scss +103 -0
- package/src/styles/06-components/_components.footer.scss +166 -85
- package/src/styles/06-components/_components.input.scss +8 -9
- package/src/styles/06-components/_components.list.scss +1 -0
- package/src/styles/06-components/_components.messages.scss +176 -0
- package/src/styles/06-components/_components.modal.scss +16 -4
- package/src/styles/06-components/_components.navbar.scss +12 -1
- package/src/styles/06-components/_components.side-menu.scss +5 -0
- package/src/styles/06-components/_components.skeleton.scss +8 -6
- package/src/styles/06-components/_components.upload.scss +219 -4
- package/src/styles/06-components/old.chart.styles.scss +1 -30
- package/src/styles/99-utilities/_index.scss +1 -0
- package/src/styles/99-utilities/_utilities.glass-fixes.scss +1 -0
- package/src/styles/99-utilities/_utilities.scss +1 -1
- package/src/components/AtomixGlass/AtomixGlass.stories.tsx +0 -3011
- package/src/components/AtomixGlass/AtomixGlassComprehensivePreview.stories.tsx +0 -1369
- package/src/components/Chart/AdvancedChart.tsx +0 -624
- package/src/components/Chart/LineChartNew.tsx +0 -167
- package/src/components/Chart/RealTimeChart.tsx +0 -436
- package/src/components/DatePicker/DatePicker copy.tsx +0 -551
|
@@ -1,86 +1,92 @@
|
|
|
1
1
|
export interface Vec2 {
|
|
2
|
-
x: number
|
|
3
|
-
y: number
|
|
2
|
+
x: number;
|
|
3
|
+
y: number;
|
|
4
4
|
}
|
|
5
5
|
|
|
6
6
|
export interface ShaderOptions {
|
|
7
|
-
width: number
|
|
8
|
-
height: number
|
|
9
|
-
fragment: (uv: Vec2) => Vec2
|
|
7
|
+
width: number;
|
|
8
|
+
height: number;
|
|
9
|
+
fragment: (uv: Vec2) => Vec2;
|
|
10
10
|
}
|
|
11
11
|
|
|
12
12
|
function smoothStep(a: number, b: number, t: number): number {
|
|
13
|
-
t = Math.max(0, Math.min(1, (t - a) / (b - a)))
|
|
14
|
-
return t * t * (3 - 2 * t)
|
|
13
|
+
t = Math.max(0, Math.min(1, (t - a) / (b - a)));
|
|
14
|
+
return t * t * (3 - 2 * t);
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
function length(x: number, y: number): number {
|
|
18
|
-
return Math.sqrt(x * x + y * y)
|
|
18
|
+
return Math.sqrt(x * x + y * y);
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
-
function roundedRectSDF(
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
21
|
+
function roundedRectSDF(
|
|
22
|
+
x: number,
|
|
23
|
+
y: number,
|
|
24
|
+
width: number,
|
|
25
|
+
height: number,
|
|
26
|
+
radius: number
|
|
27
|
+
): number {
|
|
28
|
+
const qx = Math.abs(x) - width + radius;
|
|
29
|
+
const qy = Math.abs(y) - height + radius;
|
|
30
|
+
return Math.min(Math.max(qx, qy), 0) + length(Math.max(qx, 0), Math.max(qy, 0)) - radius;
|
|
25
31
|
}
|
|
26
32
|
|
|
27
33
|
export const fragmentShaders = {
|
|
28
34
|
liquidGlass: (uv: Vec2): Vec2 => {
|
|
29
|
-
const ix = uv.x - 0.5
|
|
30
|
-
const iy = uv.y - 0.5
|
|
31
|
-
const distanceToEdge = roundedRectSDF(ix, iy, 0.3, 0.2, 0.6)
|
|
32
|
-
const displacement = smoothStep(0.8, 0, distanceToEdge - 0.15)
|
|
33
|
-
const scaled = smoothStep(0, 1, displacement)
|
|
34
|
-
return { x: ix * scaled + 0.5, y: iy * scaled + 0.5 }
|
|
35
|
+
const ix = uv.x - 0.5;
|
|
36
|
+
const iy = uv.y - 0.5;
|
|
37
|
+
const distanceToEdge = roundedRectSDF(ix, iy, 0.3, 0.2, 0.6);
|
|
38
|
+
const displacement = smoothStep(0.8, 0, distanceToEdge - 0.15);
|
|
39
|
+
const scaled = smoothStep(0, 1, displacement);
|
|
40
|
+
return { x: ix * scaled + 0.5, y: iy * scaled + 0.5 };
|
|
35
41
|
},
|
|
36
|
-
}
|
|
42
|
+
};
|
|
37
43
|
|
|
38
44
|
export class ShaderDisplacementGenerator {
|
|
39
|
-
private canvas: HTMLCanvasElement
|
|
40
|
-
private context: CanvasRenderingContext2D
|
|
45
|
+
private canvas: HTMLCanvasElement;
|
|
46
|
+
private context: CanvasRenderingContext2D;
|
|
41
47
|
|
|
42
48
|
constructor(private options: ShaderOptions) {
|
|
43
|
-
this.canvas = document.createElement(
|
|
44
|
-
this.canvas.width = options.width
|
|
45
|
-
this.canvas.height = options.height
|
|
46
|
-
this.canvas.style.display =
|
|
49
|
+
this.canvas = document.createElement('canvas');
|
|
50
|
+
this.canvas.width = options.width;
|
|
51
|
+
this.canvas.height = options.height;
|
|
52
|
+
this.canvas.style.display = 'none';
|
|
47
53
|
|
|
48
|
-
const context = this.canvas.getContext(
|
|
54
|
+
const context = this.canvas.getContext('2d');
|
|
49
55
|
if (!context) {
|
|
50
|
-
throw new Error(
|
|
56
|
+
throw new Error('Could not get 2D context');
|
|
51
57
|
}
|
|
52
|
-
this.context = context
|
|
58
|
+
this.context = context;
|
|
53
59
|
}
|
|
54
60
|
|
|
55
61
|
updateShader(): string {
|
|
56
|
-
const { width, height } = this.options
|
|
57
|
-
const imageData = this.context.createImageData(width, height)
|
|
58
|
-
const data = imageData.data
|
|
62
|
+
const { width, height } = this.options;
|
|
63
|
+
const imageData = this.context.createImageData(width, height);
|
|
64
|
+
const data = imageData.data;
|
|
59
65
|
|
|
60
66
|
for (let y = 0; y < height; y++) {
|
|
61
67
|
for (let x = 0; x < width; x++) {
|
|
62
|
-
const uv: Vec2 = { x: x / width, y: y / height }
|
|
63
|
-
const pos = this.options.fragment(uv)
|
|
64
|
-
|
|
65
|
-
const dx = pos.x * width - x
|
|
66
|
-
const dy = pos.y * height - y
|
|
67
|
-
|
|
68
|
-
const r =
|
|
69
|
-
const g =
|
|
70
|
-
|
|
71
|
-
const pixelIndex = (y * width + x) * 4
|
|
72
|
-
data[pixelIndex] = Math.max(0, Math.min(255, r * 255))
|
|
73
|
-
data[pixelIndex + 1] = Math.max(0, Math.min(255, g * 255))
|
|
74
|
-
data[pixelIndex + 2] = Math.max(0, Math.min(255, g * 255))
|
|
75
|
-
data[pixelIndex + 3] = 255
|
|
68
|
+
const uv: Vec2 = { x: x / width, y: y / height };
|
|
69
|
+
const pos = this.options.fragment(uv);
|
|
70
|
+
|
|
71
|
+
const dx = pos.x * width - x;
|
|
72
|
+
const dy = pos.y * height - y;
|
|
73
|
+
|
|
74
|
+
const r = dx / 10 + 0.5;
|
|
75
|
+
const g = dy / 10 + 0.5;
|
|
76
|
+
|
|
77
|
+
const pixelIndex = (y * width + x) * 4;
|
|
78
|
+
data[pixelIndex] = Math.max(0, Math.min(255, r * 255));
|
|
79
|
+
data[pixelIndex + 1] = Math.max(0, Math.min(255, g * 255));
|
|
80
|
+
data[pixelIndex + 2] = Math.max(0, Math.min(255, g * 255));
|
|
81
|
+
data[pixelIndex + 3] = 255;
|
|
76
82
|
}
|
|
77
83
|
}
|
|
78
84
|
|
|
79
|
-
this.context.putImageData(imageData, 0, 0)
|
|
80
|
-
return this.canvas.toDataURL()
|
|
85
|
+
this.context.putImageData(imageData, 0, 0);
|
|
86
|
+
return this.canvas.toDataURL();
|
|
81
87
|
}
|
|
82
88
|
|
|
83
89
|
destroy(): void {
|
|
84
|
-
this.canvas.remove()
|
|
90
|
+
this.canvas.remove();
|
|
85
91
|
}
|
|
86
|
-
}
|
|
92
|
+
}
|
package/src/lib/utils/icons.ts
CHANGED
|
@@ -35,7 +35,7 @@ export function createPhosphorIcon(name: string, size: number = 16): string {
|
|
|
35
35
|
const path = ICON_PATHS[name] || '';
|
|
36
36
|
|
|
37
37
|
if (!path) {
|
|
38
|
-
console.warn(
|
|
38
|
+
console.warn('Icon not found in icon library:', typeof name === 'string' ? name.replace(/[^a-zA-Z0-9_-]/g, '_') : 'invalid_name');
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
return `<svg xmlns="http://www.w3.org/2000/svg" width="${size}" height="${size}" fill="currentColor" viewBox="0 0 256 256">
|
package/src/lib/utils/index.ts
CHANGED
|
@@ -6,18 +6,24 @@ export * from './dom';
|
|
|
6
6
|
// Export icon utilities
|
|
7
7
|
export * from './icons';
|
|
8
8
|
|
|
9
|
+
import classNames from 'classnames';
|
|
10
|
+
|
|
9
11
|
/**
|
|
10
|
-
* Class name utility function to conditionally join classNames together
|
|
11
|
-
*
|
|
12
|
-
*
|
|
12
|
+
* Class name utility function to conditionally join classNames together.
|
|
13
|
+
* This is a wrapper around the 'classnames' library and supports all its features:
|
|
14
|
+
* - Strings and numbers
|
|
15
|
+
* - Arrays (including nested arrays)
|
|
16
|
+
* - Objects (keys are class names, values are truthy/falsy conditions)
|
|
17
|
+
* - Mixed types
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* cn('foo', 'bar'); // 'foo bar'
|
|
21
|
+
* cn('foo', { bar: true }); // 'foo bar'
|
|
22
|
+
* cn({ 'foo-bar': true }); // 'foo-bar'
|
|
23
|
+
* cn(['foo', { bar: true }]); // 'foo bar'
|
|
13
24
|
*/
|
|
14
25
|
export function cn(...args: any[]): string {
|
|
15
|
-
return args
|
|
16
|
-
.filter(Boolean)
|
|
17
|
-
.flat()
|
|
18
|
-
.map(arg => String(arg).trim())
|
|
19
|
-
.filter(Boolean)
|
|
20
|
-
.join(' ');
|
|
26
|
+
return classNames(...args);
|
|
21
27
|
}
|
|
22
28
|
|
|
23
29
|
/**
|
|
@@ -26,7 +32,7 @@ export function cn(...args: any[]): string {
|
|
|
26
32
|
* @returns A UUID v4 compatible string
|
|
27
33
|
*/
|
|
28
34
|
export function generateUUID(): string {
|
|
29
|
-
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g,
|
|
35
|
+
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {
|
|
30
36
|
const r = (Math.random() * 16) | 0;
|
|
31
37
|
const v = c === 'x' ? r : (r & 0x3) | 0x8;
|
|
32
38
|
return v.toString(16);
|
|
@@ -4,29 +4,29 @@
|
|
|
4
4
|
@use './settings.spacing' as *;
|
|
5
5
|
@use './settings.colors' as *;
|
|
6
6
|
|
|
7
|
-
$accordion-width:
|
|
8
|
-
$accordion-padding-x:
|
|
9
|
-
$accordion-padding-y:
|
|
7
|
+
$accordion-width: 100% !default;
|
|
8
|
+
$accordion-padding-x: map.get($spacing-sizes, 5) !default;
|
|
9
|
+
$accordion-padding-y: map.get($spacing-sizes, 4) !default;
|
|
10
10
|
|
|
11
|
-
$accordion-border-width:
|
|
12
|
-
$accordion-border-color:
|
|
13
|
-
$accordion-border-radius:
|
|
11
|
+
$accordion-border-width: calc(var(--#{config.$prefix}border-width) * 2) !default;
|
|
12
|
+
$accordion-border-color: transparent !default;
|
|
13
|
+
$accordion-border-radius: radius.$border-radius-sm !default;
|
|
14
14
|
|
|
15
|
-
$accordion-body-padding-x:
|
|
16
|
-
$accordion-body-padding-y:
|
|
17
|
-
$accordion-body-color:
|
|
18
|
-
$accordion-body-bg:
|
|
15
|
+
$accordion-body-padding-x: $accordion-padding-x !default;
|
|
16
|
+
$accordion-body-padding-y: map.get($spacing-sizes, 2) !default;
|
|
17
|
+
$accordion-body-color: var(--#{config.$prefix}body-color) !default;
|
|
18
|
+
$accordion-body-bg: var(--#{config.$prefix}body-bg) !default;
|
|
19
19
|
|
|
20
|
-
$accordion-header-padding-x:
|
|
21
|
-
$accordion-header-padding-y:
|
|
22
|
-
$accordion-header-color:
|
|
23
|
-
$accordion-header-bg:
|
|
20
|
+
$accordion-header-padding-x: $accordion-padding-x !default;
|
|
21
|
+
$accordion-header-padding-y: $accordion-padding-y !default;
|
|
22
|
+
$accordion-header-color: var(--#{config.$prefix}body-color) !default;
|
|
23
|
+
$accordion-header-bg: var(--#{config.$prefix}body-bg) !default;
|
|
24
24
|
|
|
25
|
-
$accordion-header-bg-hover:
|
|
25
|
+
$accordion-header-bg-hover: var(--#{config.$prefix}body-bg) !default;
|
|
26
26
|
|
|
27
|
-
$accordion-icon-size:
|
|
28
|
-
$accordion-icon-color:
|
|
27
|
+
$accordion-icon-size: map.get($spacing-sizes, 5) !default;
|
|
28
|
+
$accordion-icon-color: var(--#{config.$prefix}body-color) !default;
|
|
29
29
|
|
|
30
|
-
$accordion-icon-transform:
|
|
30
|
+
$accordion-icon-transform: 180deg !default;
|
|
31
31
|
|
|
32
|
-
$accordion-disable-color:
|
|
32
|
+
$accordion-disable-color: var(--#{config.$prefix}tertiary-text-emphasis) !default;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
$transition-duration:
|
|
2
|
-
$easing:
|
|
1
|
+
$transition-duration: 0.3s !default;
|
|
2
|
+
$easing: cubic-bezier(0.23, 1, 0.32, 1) !default;
|
|
3
3
|
|
|
4
4
|
// Transition variables
|
|
5
|
-
$transition-base:
|
|
6
|
-
$transition-fast:
|
|
7
|
-
$transition-slow:
|
|
5
|
+
$transition-base: all $transition-duration $easing !default;
|
|
6
|
+
$transition-fast: all 0.15s $easing !default;
|
|
7
|
+
$transition-slow: all 0.5s $easing !default;
|
|
@@ -20,4 +20,4 @@ $avatar-group-more-border-color: var(--#{config.$prefix}primary-border-subtle) !
|
|
|
20
20
|
|
|
21
21
|
// Avatar group transitions
|
|
22
22
|
$avatar-group-transition-duration: 0.2s !default;
|
|
23
|
-
$avatar-group-transition-timing: ease-in-out !default;
|
|
23
|
+
$avatar-group-transition-timing: ease-in-out !default;
|
|
@@ -4,21 +4,21 @@
|
|
|
4
4
|
|
|
5
5
|
// Avatar sizes
|
|
6
6
|
$avatar-size: (
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
7
|
+
xs: 24px,
|
|
8
|
+
sm: 32px,
|
|
9
|
+
md: 40px,
|
|
10
|
+
lg: 48px,
|
|
11
|
+
xl: 56px,
|
|
12
12
|
) !default;
|
|
13
13
|
|
|
14
14
|
// Avatar border radius
|
|
15
15
|
$avatar-border-radius: (
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
16
|
+
xs: radius.$border-radius-sm,
|
|
17
|
+
sm: radius.$border-radius-sm,
|
|
18
|
+
md: radius.$border-radius,
|
|
19
|
+
lg: radius.$border-radius,
|
|
20
|
+
xl: radius.$border-radius,
|
|
21
|
+
circle: 50%,
|
|
22
22
|
) !default;
|
|
23
23
|
|
|
24
24
|
// Avatar colors
|
|
@@ -31,15 +31,15 @@ $avatar-border-color: var(--#{config.$prefix}primary-border-subtle) !default;
|
|
|
31
31
|
$avatar-fit: cover !default;
|
|
32
32
|
$avatar-initials-font-weight: fonts.$font-weight-medium !default;
|
|
33
33
|
$avatar-initials-font-size: (
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
34
|
+
xs: fonts.$font-size-xs,
|
|
35
|
+
sm: fonts.$font-size-xs,
|
|
36
|
+
md: fonts.$font-size-sm,
|
|
37
|
+
lg: fonts.$font-size-base,
|
|
38
|
+
xl: fonts.$font-size-base,
|
|
39
39
|
) !default;
|
|
40
40
|
|
|
41
41
|
// Interactive states
|
|
42
42
|
$avatar-hover-opacity: 0.8 !default;
|
|
43
43
|
$avatar-focus-ring-width: calc(var(--#{config.$prefix}border-width) * 2) !default;
|
|
44
44
|
$avatar-focus-ring-color: var(--#{config.$prefix}primary-border-subtle) !default;
|
|
45
|
-
$avatar-disabled-opacity: 0.5 !default;
|
|
45
|
+
$avatar-disabled-opacity: 0.5 !default;
|
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
// Global effect toggles
|
|
2
|
-
$background-enable-backdrop-filter: false !default;
|
|
3
2
|
$background-enable-gradient-overlay: false !default;
|
|
4
3
|
$background-transparency-enable: false !default;
|
|
5
4
|
$background-enable-with-shadow: false !default;
|
|
6
5
|
|
|
7
6
|
// Core transparency levels (used in dynamic-background-core defaults)
|
|
8
7
|
$background-transparency: 0.5 !default;
|
|
9
|
-
// Core blur levels (used in dynamic-background-core defaults)
|
|
10
|
-
$background-blur: 2 !default;
|
|
@@ -15,4 +15,4 @@ $badge-border-radius: radius.$border-radius-pill !default;
|
|
|
15
15
|
|
|
16
16
|
$badge-icon-size: map.get($spacing-sizes, 4) !default; //16px
|
|
17
17
|
|
|
18
|
-
$badge-inner-items-gap: map.get($spacing-sizes, 1.5) !default; //6px
|
|
18
|
+
$badge-inner-items-gap: map.get($spacing-sizes, 1.5) !default; //6px
|
|
@@ -23,4 +23,4 @@ $breadcrumb-divider-color: var(--#{config.$prefix}tertiary-text-emphasis) !defau
|
|
|
23
23
|
$breadcrumb-divider-active-color: var(--#{config.$prefix}tertiary-text-emphasis) !default;
|
|
24
24
|
$breadcrumb-divider: '\203A' !default; // Unicode character for '›'
|
|
25
25
|
$breadcrumb-divider-size: map.get(spacing.$spacing-sizes, 4) !default;
|
|
26
|
-
$breadcrumb-divider-gap: map.get(spacing.$spacing-sizes, 3) !default;
|
|
26
|
+
$breadcrumb-divider-gap: map.get(spacing.$spacing-sizes, 3) !default;
|
|
@@ -164,8 +164,71 @@ $chart-bar-opacity-hover: 0.85 !default;
|
|
|
164
164
|
// Chart Candlestick
|
|
165
165
|
$chart-candlestick-wick-stroke-width: 1 !default;
|
|
166
166
|
$chart-candlestick-wick-opacity: 0.8 !default;
|
|
167
|
+
$chart-candlestick-wick-color: var(--atomix-tertiary-text-emphasis) !default;
|
|
168
|
+
$chart-candlestick-candle-border-width: 1 !default;
|
|
169
|
+
$chart-candlestick-candle-border-color: var(--atomix-border-color) !default;
|
|
170
|
+
$chart-candlestick-candle-border-radius: $border-radius-sm !default;
|
|
171
|
+
$chart-candlestick-transition-duration: $chart-transition-duration !default;
|
|
167
172
|
$chart-volume-bar-opacity: 0.3 !default;
|
|
168
173
|
$chart-volume-bar-opacity-hover: 0.6 !default;
|
|
174
|
+
$chart-volume-bar-spacing: map.get($spacing-sizes, 1) !default;
|
|
175
|
+
|
|
176
|
+
// Chart Treemap
|
|
177
|
+
$chart-treemap-node-border-width: 1 !default;
|
|
178
|
+
$chart-treemap-node-border-color: var(--atomix-border-color) !default;
|
|
179
|
+
$chart-treemap-node-border-radius: $border-radius-sm !default;
|
|
180
|
+
$chart-treemap-node-transition-duration: $chart-transition-duration !default;
|
|
181
|
+
$chart-treemap-node-hover-scale: 1.02 !default;
|
|
182
|
+
$chart-treemap-node-hover-shadow: $box-shadow-md !default;
|
|
183
|
+
$chart-treemap-node-selected-border-width: 2 !default;
|
|
184
|
+
$chart-treemap-node-selected-border-color: var(--atomix-primary-border-subtle) !default;
|
|
185
|
+
$chart-treemap-node-selected-shadow: $box-shadow-lg !default;
|
|
186
|
+
$chart-treemap-label-font-size: $font-size-sm !default;
|
|
187
|
+
$chart-treemap-label-font-weight: $font-weight-medium !default;
|
|
188
|
+
$chart-treemap-label-color: var(--atomix-text-primary) !default;
|
|
189
|
+
$chart-treemap-label-padding: map.get($spacing-sizes, 2) !default;
|
|
190
|
+
$chart-treemap-label-min-size: 1000 !default; // Minimum area to show label
|
|
191
|
+
|
|
192
|
+
// Chart Funnel
|
|
193
|
+
$chart-funnel-segment-border-width: 1 !default;
|
|
194
|
+
$chart-funnel-segment-border-color: var(--atomix-border-color) !default;
|
|
195
|
+
$chart-funnel-segment-border-radius: $border-radius-sm !default;
|
|
196
|
+
$chart-funnel-segment-transition-duration: $chart-transition-duration !default;
|
|
197
|
+
$chart-funnel-segment-gap: map.get($spacing-sizes, 1) !default;
|
|
198
|
+
$chart-funnel-segment-hover-opacity: 0.9 !default;
|
|
199
|
+
$chart-funnel-segment-hover-shadow: $box-shadow-sm !default;
|
|
200
|
+
$chart-funnel-label-font-size: $font-size-sm !default;
|
|
201
|
+
$chart-funnel-label-font-weight: $font-weight-medium !default;
|
|
202
|
+
$chart-funnel-label-color: var(--atomix-text-primary) !default;
|
|
203
|
+
$chart-funnel-label-padding: map.get($spacing-sizes, 2) !default;
|
|
204
|
+
$chart-funnel-conversion-font-size: $font-size-xs !default;
|
|
205
|
+
$chart-funnel-conversion-font-weight: $font-weight-semibold !default;
|
|
206
|
+
$chart-funnel-conversion-color: var(--atomix-secondary-text-emphasis) !default;
|
|
207
|
+
$chart-funnel-conversion-spacing: map.get($spacing-sizes, 1) !default;
|
|
208
|
+
|
|
209
|
+
// Chart Heatmap
|
|
210
|
+
$chart-heatmap-cell-border-width: 1 !default;
|
|
211
|
+
$chart-heatmap-cell-border-color: var(--atomix-border-color) !default;
|
|
212
|
+
$chart-heatmap-cell-border-radius: $border-radius-sm !default;
|
|
213
|
+
$chart-heatmap-cell-transition-duration: $chart-transition-duration !default;
|
|
214
|
+
$chart-heatmap-cell-hover-scale: 1.05 !default;
|
|
215
|
+
$chart-heatmap-cell-hover-shadow: $box-shadow-sm !default;
|
|
216
|
+
$chart-heatmap-cell-hover-border-width: 2 !default;
|
|
217
|
+
$chart-heatmap-cell-spacing: map.get($spacing-sizes, 1) !default;
|
|
218
|
+
$chart-heatmap-label-font-size: $font-size-xs !default;
|
|
219
|
+
$chart-heatmap-label-font-weight: $font-weight-normal !default;
|
|
220
|
+
$chart-heatmap-label-color: var(--atomix-text-primary) !default;
|
|
221
|
+
$chart-heatmap-axis-label-font-size: $font-size-xs !default;
|
|
222
|
+
$chart-heatmap-axis-label-font-weight: $font-weight-medium !default;
|
|
223
|
+
$chart-heatmap-axis-label-color: var(--atomix-secondary-text-emphasis) !default;
|
|
224
|
+
$chart-heatmap-axis-label-spacing: map.get($spacing-sizes, 2) !default;
|
|
225
|
+
$chart-heatmap-legend-title-font-size: $font-size-sm !default;
|
|
226
|
+
$chart-heatmap-legend-title-font-weight: $font-weight-semibold !default;
|
|
227
|
+
$chart-heatmap-legend-title-color: var(--atomix-text-primary) !default;
|
|
228
|
+
$chart-heatmap-legend-label-font-size: $font-size-xs !default;
|
|
229
|
+
$chart-heatmap-legend-label-font-weight: $font-weight-normal !default;
|
|
230
|
+
$chart-heatmap-legend-label-color: var(--atomix-secondary-text-emphasis) !default;
|
|
231
|
+
$chart-heatmap-legend-spacing: map.get($spacing-sizes, 3) !default;
|
|
169
232
|
|
|
170
233
|
// Chart Scatter
|
|
171
234
|
$chart-scatter-point-radius: 4 !default;
|
|
@@ -180,7 +243,7 @@ $chart-brush-selection-opacity: 0.3 !default;
|
|
|
180
243
|
|
|
181
244
|
// Chart Animations
|
|
182
245
|
$chart-animation-duration: 1s !default;
|
|
183
|
-
$chart-animation-delay:
|
|
246
|
+
$chart-animation-delay: 1s !default;
|
|
184
247
|
$chart-animation-easing: ease-out !default;
|
|
185
248
|
$chart-real-time-pulse-duration: 2s !default;
|
|
186
249
|
|
|
@@ -190,7 +253,7 @@ $chart-max-data-points: 500 !default;
|
|
|
190
253
|
$chart-debounce-delay: 100ms !default;
|
|
191
254
|
|
|
192
255
|
// Chart Accessibility
|
|
193
|
-
$chart-focus-outline-width: calc(var(--#{$prefix}border-width) * 2) !default;
|
|
256
|
+
$chart-focus-outline-width: calc(var(--#{$prefix}border-width) * 2) !default; //2px
|
|
194
257
|
$chart-focus-outline-color: var(--atomix-focus-border-color) !default;
|
|
195
258
|
$chart-keyboard-nav-highlight: var(--atomix-primary-bg-subtle) !default;
|
|
196
259
|
|
|
@@ -36,5 +36,5 @@ $dropdown-link-border-radius: border-radius.$border-radius !default;
|
|
|
36
36
|
$dropdown-header-color: var(--#{config.$prefix}tertiary-text-emphasis) !default;
|
|
37
37
|
$dropdown-header-padding: $dropdown-item-padding-y $dropdown-item-padding-x !default;
|
|
38
38
|
|
|
39
|
-
$dropdown-divider-margin-y:
|
|
39
|
+
$dropdown-divider-margin-y: map.get($spacing-sizes, 2) !default; //8px
|
|
40
40
|
$dropdown-divider-bg: var(--#{config.$prefix}primary-border-subtle) !default;
|
|
@@ -11,7 +11,7 @@ $edge-panel-padding-y: map.get($spacing-sizes, 4) !default; //16px
|
|
|
11
11
|
$edge-panel-bg: var(--#{config.$prefix}body-bg) !default;
|
|
12
12
|
$edge-panel-color: var(--#{config.$prefix}body-color) !default;
|
|
13
13
|
$edge-panel-shadow: var(--#{config.$prefix}box-shadow) !default;
|
|
14
|
-
$edge-panel-backdrop-bg: var(--#{config.$prefix}
|
|
14
|
+
$edge-panel-backdrop-bg: var(--#{config.$prefix}dark-bg-subtle) !default;
|
|
15
15
|
$edge-panel-backdrop-opacity: 0.5 !default;
|
|
16
16
|
$edge-panel-backdrop-blur: 10px !default;
|
|
17
17
|
$edge-panel-animation-duration: 300 !default;
|
|
@@ -8,10 +8,10 @@
|
|
|
8
8
|
$footer-padding-y: 3rem !default;
|
|
9
9
|
$footer-padding-x: 1rem !default;
|
|
10
10
|
$footer-container-max-width: 1200px !default;
|
|
11
|
-
$footer-bg: var(--#{$prefix}
|
|
12
|
-
$footer-color: var(--#{$prefix}text) !default;
|
|
11
|
+
$footer-bg: var(--#{$prefix}primary-bg) !default;
|
|
12
|
+
$footer-color: var(--#{$prefix}primary-text-emphasis) !default;
|
|
13
13
|
$footer-border-width: 1px !default;
|
|
14
|
-
$footer-border-color: var(--#{$prefix}border) !default;
|
|
14
|
+
$footer-border-color: var(--#{$prefix}primary-border-subtle) !default;
|
|
15
15
|
|
|
16
16
|
// 2. Footer Brand Settings
|
|
17
17
|
$footer-brand-margin-bottom: 1.5rem !default;
|
|
@@ -19,28 +19,32 @@ $footer-brand-logo-max-width: 200px !default;
|
|
|
19
19
|
$footer-brand-logo-max-height: 60px !default;
|
|
20
20
|
$footer-brand-name-font-size: 1.5rem !default;
|
|
21
21
|
$footer-brand-name-font-weight: 600 !default;
|
|
22
|
-
$footer-brand-name-color: var(--#{$prefix}text-emphasis) !default;
|
|
22
|
+
$footer-brand-name-color: var(--#{$prefix}primary-text-emphasis) !default;
|
|
23
23
|
$footer-brand-description-font-size: 0.875rem !default;
|
|
24
|
-
$footer-brand-description-color: var(--#{$prefix}text-
|
|
24
|
+
$footer-brand-description-color: var(--#{$prefix}secondary-text-emphasis) !default;
|
|
25
25
|
$footer-brand-description-margin-top: 0.5rem !default;
|
|
26
|
+
$footer-brand-logo-margin-bottom: 1rem !default;
|
|
27
|
+
$footer-brand-logo-hover-opacity: 0.8 !default;
|
|
26
28
|
|
|
27
29
|
// 3. Footer Section Settings
|
|
28
30
|
$footer-section-margin-bottom: 2rem !default;
|
|
29
31
|
$footer-section-title-font-size: 1.125rem !default;
|
|
30
32
|
$footer-section-title-font-weight: 600 !default;
|
|
31
|
-
$footer-section-title-color: var(--#{$prefix}text-emphasis) !default;
|
|
33
|
+
$footer-section-title-color: var(--#{$prefix}primary-text-emphasis) !default;
|
|
32
34
|
$footer-section-title-margin-bottom: 1rem !default;
|
|
33
35
|
$footer-section-content-gap: 0.5rem !default;
|
|
36
|
+
$footer-section-header-gap: 0.5rem !default;
|
|
37
|
+
$footer-section-toggle-padding: 0.75rem 0 !default;
|
|
34
38
|
|
|
35
39
|
// 4. Footer Link Settings
|
|
36
|
-
$footer-link-color: var(--#{$prefix}text) !default;
|
|
40
|
+
$footer-link-color: var(--#{$prefix}primary-text-emphasis) !default;
|
|
37
41
|
$footer-link-hover-color: var(--#{$prefix}primary) !default;
|
|
38
42
|
$footer-link-active-color: var(--#{$prefix}primary) !default;
|
|
39
|
-
$footer-link-disabled-color: var(--#{$prefix}text-
|
|
43
|
+
$footer-link-disabled-color: var(--#{$prefix}disabled-text-emphasis) !default;
|
|
40
44
|
$footer-link-text-decoration: none !default;
|
|
41
|
-
$footer-link-hover-text-decoration:
|
|
45
|
+
$footer-link-hover-text-decoration: none !default;
|
|
42
46
|
$footer-link-padding: 0.25rem 0 !default;
|
|
43
|
-
$footer-link-transition:
|
|
47
|
+
$footer-link-transition: all 0.15s ease-in-out !default;
|
|
44
48
|
|
|
45
49
|
// 5. Footer Social Settings
|
|
46
50
|
$footer-social-gap: 0.75rem !default;
|
|
@@ -48,55 +52,55 @@ $footer-social-margin-top: 1rem !default;
|
|
|
48
52
|
$footer-social-link-size: 2.5rem !default;
|
|
49
53
|
$footer-social-link-size-sm: 2rem !default;
|
|
50
54
|
$footer-social-link-size-lg: 3rem !default;
|
|
51
|
-
$footer-social-link-bg: var(--#{$prefix}
|
|
52
|
-
$footer-social-link-color: var(--#{$prefix}text) !default;
|
|
55
|
+
$footer-social-link-bg: var(--#{$prefix}secondary-bg-subtle) !default;
|
|
56
|
+
$footer-social-link-color: var(--#{$prefix}primary-text-emphasis) !default;
|
|
53
57
|
$footer-social-link-hover-bg: var(--#{$prefix}primary) !default;
|
|
54
|
-
$footer-social-link-hover-color: var(--#{$prefix}
|
|
58
|
+
$footer-social-link-hover-color: var(--#{$prefix}component-active-color) !default;
|
|
55
59
|
$footer-social-link-border-radius: 50% !default;
|
|
56
|
-
$footer-social-link-transition: all 0.
|
|
60
|
+
$footer-social-link-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !default;
|
|
57
61
|
|
|
58
62
|
// 6. Footer Newsletter Settings
|
|
59
|
-
$footer-newsletter-bg: var(--#{$prefix}
|
|
63
|
+
$footer-newsletter-bg: var(--#{$prefix}secondary-bg-subtle) !default;
|
|
60
64
|
$footer-newsletter-padding: 1.5rem !default;
|
|
61
65
|
$footer-newsletter-border-radius: 0.5rem !default;
|
|
62
66
|
$footer-newsletter-title-font-size: 1.125rem !default;
|
|
63
67
|
$footer-newsletter-title-font-weight: 600 !default;
|
|
64
|
-
$footer-newsletter-title-color: var(--#{$prefix}text-emphasis) !default;
|
|
68
|
+
$footer-newsletter-title-color: var(--#{$prefix}primary-text-emphasis) !default;
|
|
65
69
|
$footer-newsletter-title-margin-bottom: 0.5rem !default;
|
|
66
70
|
$footer-newsletter-description-font-size: 0.875rem !default;
|
|
67
|
-
$footer-newsletter-description-color: var(--#{$prefix}text-
|
|
71
|
+
$footer-newsletter-description-color: var(--#{$prefix}secondary-text-emphasis) !default;
|
|
68
72
|
$footer-newsletter-description-margin-bottom: 1rem !default;
|
|
69
|
-
$footer-newsletter-input-border: 1px solid var(--#{$prefix}border) !default;
|
|
73
|
+
$footer-newsletter-input-border: 1px solid var(--#{$prefix}primary-border) !default;
|
|
70
74
|
$footer-newsletter-input-border-radius: 0.375rem !default;
|
|
71
75
|
$footer-newsletter-input-padding: 0.75rem 1rem !default;
|
|
72
76
|
$footer-newsletter-input-font-size: 0.875rem !default;
|
|
73
|
-
$footer-newsletter-input-bg: var(--#{$prefix}
|
|
74
|
-
$footer-newsletter-input-color: var(--#{$prefix}text) !default;
|
|
77
|
+
$footer-newsletter-input-bg: var(--#{$prefix}primary-bg-subtle) !default;
|
|
78
|
+
$footer-newsletter-input-color: var(--#{$prefix}primary-text-emphasis) !default;
|
|
75
79
|
$footer-newsletter-input-focus-border-color: var(--#{$prefix}primary) !default;
|
|
76
80
|
$footer-newsletter-input-focus-box-shadow: 0 0 0 0.125rem rgba(var(--#{$prefix}primary-rgb), 0.25) !default;
|
|
77
|
-
$footer-newsletter-button-bg: var(--#{$prefix}
|
|
78
|
-
$footer-newsletter-button-color: var(--#{$prefix}
|
|
79
|
-
$footer-newsletter-button-hover-bg: var(--#{$prefix}
|
|
81
|
+
$footer-newsletter-button-bg: var(--#{$prefix}brand-bg-subtle) !default;
|
|
82
|
+
$footer-newsletter-button-color: var(--#{$prefix}brand-text-emphasis) !default;
|
|
83
|
+
$footer-newsletter-button-hover-bg: var(--#{$prefix}secondary-bg-subtle) !default;
|
|
80
84
|
$footer-newsletter-button-padding: 0.75rem 1.5rem !default;
|
|
81
85
|
$footer-newsletter-button-border-radius: 0.375rem !default;
|
|
82
86
|
$footer-newsletter-button-font-weight: 500 !default;
|
|
83
|
-
$footer-newsletter-button-transition:
|
|
87
|
+
$footer-newsletter-button-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !default;
|
|
84
88
|
|
|
85
89
|
// 7. Footer Bottom Settings
|
|
86
90
|
$footer-bottom-padding-top: 1.5rem !default;
|
|
87
91
|
$footer-bottom-margin-top: 2rem !default;
|
|
88
|
-
$footer-bottom-border-top: 1px solid var(--#{$prefix}border) !default;
|
|
92
|
+
$footer-bottom-border-top: 1px solid var(--#{$prefix}primary-border-subtle) !default;
|
|
89
93
|
$footer-copyright-font-size: 0.875rem !default;
|
|
90
|
-
$footer-copyright-color: var(--#{$prefix}text-
|
|
91
|
-
$footer-back-to-top-color: var(--#{$prefix}text) !default;
|
|
92
|
-
$footer-back-to-top-hover-color: var(--#{$prefix}
|
|
94
|
+
$footer-copyright-color: var(--#{$prefix}tertiary-text-emphasis) !default;
|
|
95
|
+
$footer-back-to-top-color: var(--#{$prefix}primary-text-emphasis) !default;
|
|
96
|
+
$footer-back-to-top-hover-color: var(--#{$prefix}secondary-text-emphasis) !default;
|
|
93
97
|
$footer-back-to-top-font-size: 0.875rem !default;
|
|
94
98
|
$footer-back-to-top-font-weight: 500 !default;
|
|
95
|
-
$footer-back-to-top-transition:
|
|
99
|
+
$footer-back-to-top-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !default;
|
|
96
100
|
|
|
97
101
|
// 8. Footer Divider Settings
|
|
98
102
|
$footer-divider-margin: 2rem 0 !default;
|
|
99
|
-
$footer-divider-border: 1px solid var(--#{$prefix}border) !default;
|
|
103
|
+
$footer-divider-border: 1px solid var(--#{$prefix}primary-border-subtle) !default;
|
|
100
104
|
$footer-divider-opacity: 0.5 !default;
|
|
101
105
|
|
|
102
106
|
// 9. Footer Size Variants
|
|
@@ -110,16 +114,5 @@ $footer-mobile-section-margin-bottom: 1.5rem !default;
|
|
|
110
114
|
$footer-mobile-brand-margin-bottom: 1rem !default;
|
|
111
115
|
|
|
112
116
|
// 11. Footer Sticky Settings
|
|
113
|
-
$footer-sticky-z-index:
|
|
117
|
+
$footer-sticky-z-index: 100 !default;
|
|
114
118
|
$footer-sticky-box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.1) !default;
|
|
115
|
-
|
|
116
|
-
// 12. Dark Mode Settings
|
|
117
|
-
$footer-bg-dark: var(--#{$prefix}surface-dark) !default;
|
|
118
|
-
$footer-color-dark: var(--#{$prefix}text-dark) !default;
|
|
119
|
-
$footer-border-color-dark: var(--#{$prefix}border-dark) !default;
|
|
120
|
-
$footer-brand-name-color-dark: var(--#{$prefix}text-emphasis-dark) !default;
|
|
121
|
-
$footer-brand-description-color-dark: var(--#{$prefix}text-muted-dark) !default;
|
|
122
|
-
$footer-section-title-color-dark: var(--#{$prefix}text-emphasis-dark) !default;
|
|
123
|
-
$footer-link-color-dark: var(--#{$prefix}text-dark) !default;
|
|
124
|
-
$footer-link-hover-color-dark: var(--#{$prefix}primary-dark) !default;
|
|
125
|
-
$footer-copyright-color-dark: var(--#{$prefix}text-muted-dark) !default;
|
|
@@ -24,7 +24,7 @@ $input-padding-y-lg: map.get($spacing-sizes, 3) !default; //12px
|
|
|
24
24
|
|
|
25
25
|
$input-border-width: var(--#{$prefix}border-width) !default;
|
|
26
26
|
$input-border-color: var(--#{$prefix}primary-border-subtle) !default;
|
|
27
|
-
$input-hover-border-color:
|
|
27
|
+
$input-hover-border-color: $input-border-color !default;
|
|
28
28
|
$input-focus-border-color: $input-hover-border-color !default;
|
|
29
29
|
|
|
30
30
|
$input-invalid-border-color: var(--#{$prefix}error) !default;
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
@use 'settings.config' as config;
|
|
4
4
|
|
|
5
5
|
$rating-star-size: map.get($spacing-sizes, 8) !default; //32px
|
|
6
|
-
$rating-star-size-sm:map.get($spacing-sizes, 4) !default; //16px
|
|
6
|
+
$rating-star-size-sm: map.get($spacing-sizes, 4) !default; //16px
|
|
7
7
|
$rating-star-size-lg: map.get($spacing-sizes, 12) !default; //48px
|
|
8
8
|
$rating-star-bg: var(--#{config.$prefix}primary) !default;
|
|
9
9
|
$rating-star-half-bg: $rating-star-bg !default;
|