@shohojdhara/atomix 0.5.1 → 0.5.2
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/atomix.config.ts +12 -0
- package/build-tools/webpack-loader.js +5 -4
- package/dist/atomix.css +138 -17
- package/dist/atomix.css.map +1 -1
- package/dist/atomix.min.css +1 -1
- package/dist/atomix.min.css.map +1 -1
- package/dist/build-tools/webpack-loader.js +5 -4
- package/dist/charts.d.ts +23 -23
- package/dist/charts.js +40 -37
- package/dist/charts.js.map +1 -1
- package/dist/config.d.ts +624 -0
- package/dist/config.js +59 -0
- package/dist/config.js.map +1 -0
- package/dist/core.d.ts +2 -2
- package/dist/core.js +111 -50
- package/dist/core.js.map +1 -1
- package/dist/forms.d.ts +3 -6
- package/dist/forms.js +2 -2
- package/dist/forms.js.map +1 -1
- package/dist/heavy.d.ts +1 -1
- package/dist/heavy.js +173 -111
- package/dist/heavy.js.map +1 -1
- package/dist/index.d.ts +98 -65
- package/dist/index.esm.js +427 -422
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +394 -391
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +1 -1
- package/dist/layout.js +59 -60
- package/dist/layout.js.map +1 -1
- package/dist/theme.js +4 -4
- package/dist/theme.js.map +1 -1
- package/package.json +14 -9
- package/scripts/atomix-cli.js +15 -1
- package/scripts/cli/__tests__/complexity-utils.test.js +24 -0
- package/scripts/cli/__tests__/detector.test.js +50 -0
- package/scripts/cli/__tests__/template-engine.test.js +23 -0
- package/scripts/cli/__tests__/test-setup.js +3 -0
- package/scripts/cli/commands/doctor.js +15 -3
- package/scripts/cli/commands/generate.js +113 -51
- package/scripts/cli/internal/ai-engine.js +30 -10
- package/scripts/cli/internal/complexity-utils.js +60 -0
- package/scripts/cli/internal/component-validator.js +49 -16
- package/scripts/cli/internal/generator.js +89 -36
- package/scripts/cli/internal/hook-generator.js +5 -2
- package/scripts/cli/internal/itcss-generator.js +16 -12
- package/scripts/cli/templates/next-templates.js +81 -30
- package/scripts/cli/templates/storybook-templates.js +12 -2
- package/scripts/cli/utils/detector.js +45 -7
- package/scripts/cli/utils/diagnostics.js +78 -0
- package/scripts/cli/utils/telemetry.js +13 -0
- package/src/components/Accordion/Accordion.stories.tsx +4 -0
- package/src/components/AtomixGlass/AtomixGlassContainer.tsx +1 -1
- package/src/components/AtomixGlass/__snapshots__/AtomixGlass.test.tsx.snap +219 -0
- package/src/components/AtomixGlass/glass-utils.ts +1 -1
- package/src/components/Button/Button.tsx +114 -57
- package/src/components/Callout/Callout.tsx +4 -4
- package/src/components/Chart/ChartRenderer.tsx +1 -1
- package/src/components/Chart/DonutChart.tsx +11 -8
- package/src/components/EdgePanel/EdgePanel.tsx +119 -115
- package/src/components/Form/Select.tsx +4 -4
- package/src/components/List/List.tsx +4 -4
- package/src/components/Navigation/SideMenu/SideMenu.tsx +6 -6
- package/src/components/PhotoViewer/PhotoViewerImage.tsx +1 -1
- package/src/components/ProductReview/ProductReview.tsx +4 -2
- package/src/components/Rating/Rating.tsx +4 -2
- package/src/components/SectionIntro/SectionIntro.tsx +4 -2
- package/src/components/Steps/Steps.tsx +1 -1
- package/src/components/Tabs/Tabs.tsx +5 -5
- package/src/components/Testimonial/Testimonial.tsx +4 -2
- package/src/components/VideoPlayer/VideoPlayer.tsx +4 -2
- package/src/layouts/CssGrid/CssGrid.stories.tsx +464 -0
- package/src/layouts/CssGrid/CssGrid.tsx +215 -0
- package/src/layouts/CssGrid/index.ts +8 -0
- package/src/layouts/CssGrid/scripts/CssGrid.js +284 -0
- package/src/layouts/CssGrid/scripts/index.js +43 -0
- package/src/layouts/Grid/scripts/Container.js +139 -0
- package/src/layouts/Grid/scripts/Grid.js +184 -0
- package/src/layouts/Grid/scripts/GridCol.js +273 -0
- package/src/layouts/Grid/scripts/Row.js +154 -0
- package/src/layouts/Grid/scripts/index.js +48 -0
- package/src/layouts/MasonryGrid/MasonryGrid.tsx +71 -59
- package/src/lib/composables/atomix-glass/useGlassSize.ts +1 -1
- package/src/lib/composables/useAccordion.ts +5 -5
- package/src/lib/composables/useAtomixGlass.ts +3 -3
- package/src/lib/composables/useBarChart.ts +2 -2
- package/src/lib/composables/useChart.ts +3 -2
- package/src/lib/composables/useChartToolbar.ts +48 -66
- package/src/lib/composables/useDataTable.ts +1 -1
- package/src/lib/composables/useDatePicker.ts +2 -2
- package/src/lib/composables/useEdgePanel.ts +45 -54
- package/src/lib/composables/useHeroBackgroundSlider.ts +5 -5
- package/src/lib/composables/usePhotoViewer.ts +2 -3
- package/src/lib/composables/usePieChart.ts +1 -1
- package/src/lib/composables/usePopover.ts +151 -139
- package/src/lib/composables/useSideMenu.ts +28 -41
- package/src/lib/composables/useSlider.ts +2 -6
- package/src/lib/composables/useTooltip.ts +2 -2
- package/src/lib/config/index.ts +39 -0
- package/src/lib/theme/devtools/Comparator.tsx +1 -1
- package/src/lib/theme/devtools/Inspector.tsx +1 -1
- package/src/lib/theme/devtools/LiveEditor.tsx +1 -1
- package/src/lib/theme/runtime/ThemeProvider.tsx +1 -1
- package/src/styles/01-settings/_index.scss +1 -0
- package/src/styles/01-settings/_settings.atomix-glass.scss +174 -0
- package/src/styles/01-settings/_settings.masonry-grid.scss +42 -6
- package/src/styles/02-tools/_tools.glass.scss +6 -0
- package/src/styles/05-objects/_objects.masonry-grid.scss +162 -24
- package/src/styles/06-components/_components.atomix-glass.scss +4 -4
- package/src/lib/composables/useBreadcrumb.ts +0 -81
- package/src/lib/composables/useChartInteractions.ts +0 -123
- package/src/lib/composables/useChartPerformance.ts +0 -347
- package/src/lib/composables/useDropdown.ts +0 -338
- package/src/lib/composables/useModal.ts +0 -110
- package/src/lib/hooks/usePerformanceMonitor.ts +0 -148
- package/src/lib/utils/displacement-generator.ts +0 -92
- package/src/lib/utils/memoryMonitor.ts +0 -191
- package/src/styles/01-settings/_settings.testtypecheck.scss +0 -53
- package/src/styles/01-settings/_settings.typedbutton.scss +0 -53
- package/src/styles/06-components/_components.testbutton.scss +0 -212
- package/src/styles/06-components/_components.testtypecheck.scss +0 -212
- package/src/styles/06-components/_components.typedbutton.scss +0 -212
package/atomix.config.ts
CHANGED
|
@@ -109,6 +109,18 @@ export default defineConfig({
|
|
|
109
109
|
anonymize: true
|
|
110
110
|
},
|
|
111
111
|
|
|
112
|
+
/**
|
|
113
|
+
* CLI component generator defaults (`atomix generate component`).
|
|
114
|
+
* CLI flags override these values.
|
|
115
|
+
*/
|
|
116
|
+
// generator: {
|
|
117
|
+
// outputPath: './src/components',
|
|
118
|
+
// framework: 'react',
|
|
119
|
+
// features: { storybook: true, hook: true, styles: true, tests: false },
|
|
120
|
+
// hookOutputDir: 'src/lib/composables',
|
|
121
|
+
// storybookCssImport: '@shohojdhara/atomix/scss',
|
|
122
|
+
// },
|
|
123
|
+
|
|
112
124
|
/**
|
|
113
125
|
* Theme Customization
|
|
114
126
|
*
|
|
@@ -110,11 +110,12 @@ export function getAtomixConfig(context) {
|
|
|
110
110
|
|
|
111
111
|
return require(configPath);
|
|
112
112
|
} catch {
|
|
113
|
+
// Return default config matching AtomixConfig interface
|
|
113
114
|
return {
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
115
|
+
prefix: 'atomix',
|
|
116
|
+
theme: {
|
|
117
|
+
extend: {}
|
|
118
|
+
}
|
|
118
119
|
};
|
|
119
120
|
}
|
|
120
121
|
}
|
package/dist/atomix.css
CHANGED
|
@@ -1409,22 +1409,85 @@ a, a:hover {
|
|
|
1409
1409
|
margin-left: 91.6666666667%;
|
|
1410
1410
|
}
|
|
1411
1411
|
}
|
|
1412
|
+
.o-masonry-grid--css-fallback {
|
|
1413
|
+
display: grid;
|
|
1414
|
+
grid-gap: var(--atomix-spacing-16);
|
|
1415
|
+
gap: var(--atomix-spacing-16);
|
|
1416
|
+
grid-template-columns: repeat(auto-fit, minmax(var(--atomix-masonry-min-column-width, 250px), 1fr));
|
|
1417
|
+
}
|
|
1418
|
+
@media (min-width: 576px) {
|
|
1419
|
+
.o-masonry-grid--css-fallback {
|
|
1420
|
+
gap: var(--atomix-spacing-8);
|
|
1421
|
+
}
|
|
1422
|
+
}
|
|
1423
|
+
@media (min-width: 768px) {
|
|
1424
|
+
.o-masonry-grid--css-fallback {
|
|
1425
|
+
gap: var(--atomix-spacing-16);
|
|
1426
|
+
}
|
|
1427
|
+
}
|
|
1428
|
+
@media (min-width: 992px) {
|
|
1429
|
+
.o-masonry-grid--css-fallback {
|
|
1430
|
+
gap: var(--atomix-spacing-24);
|
|
1431
|
+
}
|
|
1432
|
+
}
|
|
1433
|
+
.o-masonry-grid--css-fallback .o-masonry-grid__item {
|
|
1434
|
+
position: static;
|
|
1435
|
+
opacity: 1;
|
|
1436
|
+
visibility: visible;
|
|
1437
|
+
width: 100%;
|
|
1438
|
+
}
|
|
1439
|
+
.o-masonry-grid--css-fallback .o-masonry-grid__item:focus {
|
|
1440
|
+
outline: var(--atomix-focus-ring-width) solid var(--atomix-focus-ring-color);
|
|
1441
|
+
outline-offset: var(--atomix-focus-ring-offset);
|
|
1442
|
+
z-index: var(--atomix-z-index-5);
|
|
1443
|
+
}
|
|
1412
1444
|
.o-masonry-grid {
|
|
1413
1445
|
position: relative;
|
|
1414
1446
|
width: 100%;
|
|
1415
|
-
min-height:
|
|
1447
|
+
min-height: var(--atomix-spacing-200);
|
|
1448
|
+
}
|
|
1449
|
+
.o-masonry-grid:focus-within .o-masonry-grid__item:focus {
|
|
1450
|
+
outline: var(--atomix-focus-ring-width) solid var(--atomix-focus-ring-color);
|
|
1451
|
+
outline-offset: var(--atomix-focus-ring-offset);
|
|
1452
|
+
z-index: var(--atomix-z-index-5);
|
|
1416
1453
|
}
|
|
1417
1454
|
.o-masonry-grid--animate .o-masonry-grid__item {
|
|
1418
|
-
transition: opacity
|
|
1455
|
+
transition: opacity var(--atomix-transition-duration-base) var(--atomix-transition-timing-base), top var(--atomix-transition-duration-base) var(--atomix-transition-timing-base), left var(--atomix-transition-duration-base) var(--atomix-transition-timing-base);
|
|
1456
|
+
}
|
|
1457
|
+
@supports (transition-behavior: allow-discrete) {
|
|
1458
|
+
.o-masonry-grid--animate .o-masonry-grid__item {
|
|
1459
|
+
transition-behavior: allow-discrete;
|
|
1460
|
+
}
|
|
1419
1461
|
}
|
|
1420
1462
|
.o-masonry-grid__item {
|
|
1421
1463
|
box-sizing: border-box;
|
|
1422
1464
|
width: 100%;
|
|
1465
|
+
background-color: var(--atomix-body-bg);
|
|
1466
|
+
}
|
|
1467
|
+
.o-masonry-grid__item:focus {
|
|
1468
|
+
outline: var(--atomix-focus-ring-width) solid var(--atomix-focus-ring-color);
|
|
1469
|
+
outline-offset: var(--atomix-focus-ring-offset);
|
|
1470
|
+
z-index: var(--atomix-z-index-5);
|
|
1471
|
+
transform: scale(1.02);
|
|
1472
|
+
transition: transform var(--atomix-transition-duration-fast) var(--atomix-transition-timing-base);
|
|
1473
|
+
}
|
|
1474
|
+
@media (prefers-contrast: high) {
|
|
1475
|
+
.o-masonry-grid__item:focus {
|
|
1476
|
+
outline-width: calc(var(--atomix-focus-ring-width) * 2);
|
|
1477
|
+
}
|
|
1423
1478
|
}
|
|
1424
1479
|
.o-masonry-grid__item:not([style*="position: absolute"]) {
|
|
1425
1480
|
opacity: 0;
|
|
1426
1481
|
visibility: hidden;
|
|
1427
1482
|
}
|
|
1483
|
+
@supports (view-transition-name: masonry-item) {
|
|
1484
|
+
.o-masonry-grid__item:not([style*="position: absolute"]) {
|
|
1485
|
+
view-transition-name: masonry-item;
|
|
1486
|
+
}
|
|
1487
|
+
}
|
|
1488
|
+
.o-masonry-grid__item-loading {
|
|
1489
|
+
position: relative;
|
|
1490
|
+
}
|
|
1428
1491
|
.o-masonry-grid__item-loading::before {
|
|
1429
1492
|
content: "";
|
|
1430
1493
|
position: absolute;
|
|
@@ -1432,15 +1495,41 @@ a, a:hover {
|
|
|
1432
1495
|
left: 0;
|
|
1433
1496
|
width: 100%;
|
|
1434
1497
|
height: 100%;
|
|
1435
|
-
background
|
|
1436
|
-
z-index:
|
|
1437
|
-
border-radius:
|
|
1498
|
+
background: var(--atomix-gray-10);
|
|
1499
|
+
z-index: var(--atomix-z-index-10);
|
|
1500
|
+
border-radius: var(--atomix-border-radius-sm);
|
|
1501
|
+
animation: masonry-loading-fade-in 0.5s ease-out forwards;
|
|
1438
1502
|
}
|
|
1439
1503
|
.o-masonry-grid__item-loading img {
|
|
1440
1504
|
opacity: 0;
|
|
1441
1505
|
}
|
|
1506
|
+
@supports (property: opacity) and (animation-timeline: view()) {
|
|
1507
|
+
.o-masonry-grid__item-loading img {
|
|
1508
|
+
opacity: var(--masonry-img-opacity);
|
|
1509
|
+
}
|
|
1510
|
+
@property --masonry-img-opacity {
|
|
1511
|
+
.o-masonry-grid__item-loading img {
|
|
1512
|
+
syntax: "<number>";
|
|
1513
|
+
inherits: false;
|
|
1514
|
+
initial-value: 0;
|
|
1515
|
+
}
|
|
1516
|
+
}
|
|
1517
|
+
}
|
|
1442
1518
|
.o-masonry-grid__item-loaded img {
|
|
1443
|
-
animation: masonry-item-fade-in
|
|
1519
|
+
animation: masonry-item-fade-in var(--atomix-transition-duration-base) var(--atomix-transition-timing-base) forwards;
|
|
1520
|
+
}
|
|
1521
|
+
@supports (property: opacity) and (animation-timeline: view()) {
|
|
1522
|
+
.o-masonry-grid__item-loaded img {
|
|
1523
|
+
opacity: var(--masonry-img-opacity);
|
|
1524
|
+
animation: masonry-item-fade-in-advanced var(--atomix-transition-duration-base) var(--atomix-transition-timing-base) forwards;
|
|
1525
|
+
}
|
|
1526
|
+
@property --masonry-img-opacity {
|
|
1527
|
+
.o-masonry-grid__item-loaded img {
|
|
1528
|
+
syntax: "<number>";
|
|
1529
|
+
inherits: false;
|
|
1530
|
+
initial-value: 0;
|
|
1531
|
+
}
|
|
1532
|
+
}
|
|
1444
1533
|
}
|
|
1445
1534
|
.o-masonry-grid--loading-images {
|
|
1446
1535
|
position: relative;
|
|
@@ -1448,28 +1537,61 @@ a, a:hover {
|
|
|
1448
1537
|
.o-masonry-grid--loading-images::after {
|
|
1449
1538
|
content: "";
|
|
1450
1539
|
position: absolute;
|
|
1451
|
-
bottom:
|
|
1452
|
-
right:
|
|
1453
|
-
width:
|
|
1454
|
-
height:
|
|
1455
|
-
border:
|
|
1540
|
+
bottom: var(--atomix-spacing-16);
|
|
1541
|
+
right: var(--atomix-spacing-16);
|
|
1542
|
+
width: var(--atomix-spacing-24);
|
|
1543
|
+
height: var(--atomix-spacing-24);
|
|
1544
|
+
border: var(--atomix-border-width-2) solid rgba(0, 0, 0, 0.1);
|
|
1456
1545
|
border-radius: 50%;
|
|
1457
1546
|
border-top-color: var(--atomix-brand-border-subtle);
|
|
1458
1547
|
animation: masonry-spinner 0.8s linear infinite;
|
|
1459
|
-
z-index:
|
|
1548
|
+
z-index: var(--atomix-z-index-10);
|
|
1460
1549
|
pointer-events: none;
|
|
1461
1550
|
}
|
|
1551
|
+
@media (prefers-color-scheme: dark) {
|
|
1552
|
+
.o-masonry-grid--loading-images::after {
|
|
1553
|
+
border-color: rgba(255, 255, 255, 0.1);
|
|
1554
|
+
border-top-color: var(--atomix-brand-border-subtle-dark);
|
|
1555
|
+
}
|
|
1556
|
+
}
|
|
1557
|
+
@media (min-width: 768px) {
|
|
1558
|
+
.o-masonry-grid {
|
|
1559
|
+
min-height: var(--atomix-spacing-100);
|
|
1560
|
+
}
|
|
1561
|
+
}
|
|
1462
1562
|
@keyframes masonry-spinner {
|
|
1463
1563
|
to {
|
|
1464
1564
|
transform: rotate(360deg);
|
|
1465
1565
|
}
|
|
1466
1566
|
}
|
|
1567
|
+
@keyframes masonry-loading-fade-in {
|
|
1568
|
+
from {
|
|
1569
|
+
opacity: 0;
|
|
1570
|
+
transform: scale(0.95);
|
|
1571
|
+
}
|
|
1572
|
+
to {
|
|
1573
|
+
opacity: 1;
|
|
1574
|
+
transform: scale(1);
|
|
1575
|
+
}
|
|
1576
|
+
}
|
|
1467
1577
|
@keyframes masonry-item-fade-in {
|
|
1468
1578
|
from {
|
|
1469
1579
|
opacity: 0;
|
|
1580
|
+
transform: translateY(20px);
|
|
1470
1581
|
}
|
|
1471
1582
|
to {
|
|
1472
1583
|
opacity: 1;
|
|
1584
|
+
transform: translateY(0);
|
|
1585
|
+
}
|
|
1586
|
+
}
|
|
1587
|
+
@keyframes masonry-item-fade-in-advanced {
|
|
1588
|
+
from {
|
|
1589
|
+
--masonry-img-opacity: 0;
|
|
1590
|
+
transform: translateY(20px) scale(0.95);
|
|
1591
|
+
}
|
|
1592
|
+
to {
|
|
1593
|
+
--masonry-img-opacity: 1;
|
|
1594
|
+
transform: translateY(0) scale(1);
|
|
1473
1595
|
}
|
|
1474
1596
|
}
|
|
1475
1597
|
.o-block {
|
|
@@ -1898,7 +2020,6 @@ a, a:hover {
|
|
|
1898
2020
|
position: relative;
|
|
1899
2021
|
--_glass-radius: var(--atomix-glass-radius, var(--atomix-radius-md, 0.75rem));
|
|
1900
2022
|
--_glass-transform: var(--atomix-glass-transform, translateZ(0));
|
|
1901
|
-
--_glass-backdrop: var(--atomix-glass-border-backdrop, blur(14px) saturate(140%));
|
|
1902
2023
|
--atomix-glass-position: absolute;
|
|
1903
2024
|
--atomix-glass-border-width: var(--atomix-spacing-0-5, 0.125rem);
|
|
1904
2025
|
--atomix-glass-top: 0;
|
|
@@ -2012,8 +2133,8 @@ a, a:hover {
|
|
|
2012
2133
|
.c-atomix-glass__border-backdrop {
|
|
2013
2134
|
mix-blend-mode: overlay;
|
|
2014
2135
|
z-index: var(--_glass-z-border-1);
|
|
2015
|
-
-webkit-backdrop-filter:
|
|
2016
|
-
backdrop-filter:
|
|
2136
|
+
-webkit-backdrop-filter: blur(30px) saturate(140%) brightness(110%);
|
|
2137
|
+
backdrop-filter: blur(30px) saturate(140%) brightness(110%);
|
|
2017
2138
|
box-shadow: var(--atomix-glass-border-shadow);
|
|
2018
2139
|
}
|
|
2019
2140
|
.c-atomix-glass__border-1 {
|
|
@@ -2075,8 +2196,8 @@ a, a:hover {
|
|
|
2075
2196
|
}
|
|
2076
2197
|
.c-atomix-glass__content {
|
|
2077
2198
|
position: relative;
|
|
2078
|
-
width: var(--atomix-glass-
|
|
2079
|
-
height: var(--atomix-glass-
|
|
2199
|
+
width: var(--atomix-glass-width);
|
|
2200
|
+
height: var(--atomix-glass-height);
|
|
2080
2201
|
border-radius: var(--_glass-radius);
|
|
2081
2202
|
z-index: var(--_glass-z-content);
|
|
2082
2203
|
text-shadow: var(--atomix-glass-container-text-shadow);
|