@umituz/web-dashboard 4.6.5 → 4.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/package.json +3 -10
  2. package/src/{domain/config → config}/DashboardConfig.ts +1 -1
  3. package/src/config/index.ts +1 -0
  4. package/src/{domain/config/CalendarConfig.ts → domains/calendar/config.ts} +1 -1
  5. package/src/domains/calendar/hooks/useCalendar.ts +1 -1
  6. package/src/domains/calendar/index.ts +1 -0
  7. package/src/domains/calendar/utils/index.ts +0 -6
  8. package/src/domains/layouts/components/DashboardHeader.tsx +21 -13
  9. package/src/domains/layouts/types/index.ts +1 -1
  10. package/src/domains/layouts/types/layout.ts +18 -0
  11. package/src/index.ts +2 -14
  12. package/src/styles/dashboard.css +1 -652
  13. package/src/domain/config/index.ts +0 -6
  14. package/src/domains/onboarding/components/AppFocusStep.tsx +0 -144
  15. package/src/domains/onboarding/components/OnboardingWizard.tsx +0 -188
  16. package/src/domains/onboarding/components/PlanStep.tsx +0 -241
  17. package/src/domains/onboarding/components/PlatformsStep.tsx +0 -129
  18. package/src/domains/onboarding/components/StepNavigation.tsx +0 -108
  19. package/src/domains/onboarding/components/StepProgress.tsx +0 -62
  20. package/src/domains/onboarding/components/UserTypeStep.tsx +0 -114
  21. package/src/domains/onboarding/components/index.ts +0 -13
  22. package/src/domains/onboarding/hooks/index.ts +0 -5
  23. package/src/domains/onboarding/hooks/useOnboarding.ts +0 -156
  24. package/src/domains/onboarding/index.ts +0 -36
  25. package/src/domains/onboarding/types/index.ts +0 -16
  26. package/src/domains/onboarding/types/onboarding.ts +0 -254
  27. package/src/domains/onboarding/utils/i18nKeys.ts +0 -72
  28. package/src/domains/onboarding/utils/index.ts +0 -17
  29. package/src/domains/onboarding/utils/onboarding.ts +0 -166
@@ -13,7 +13,7 @@
13
13
  * 1. Scope & reset 5. Header/menus 9. Settings
14
14
  * 2. Layout helpers 6. Auth 10. Analytics
15
15
  * 3. App shell 7. Forms (auth) 11. Shared blocks
16
- * 4. Sidebar 8. Onboarding
16
+ * 4. Sidebar
17
17
  */
18
18
 
19
19
  @import "@umituz/web-design-system/styles.css";
@@ -1361,657 +1361,6 @@
1361
1361
  height: 14px;
1362
1362
  }
1363
1363
 
1364
- /* ============================================================
1365
- * 8. Onboarding wizard
1366
- * ============================================================ */
1367
-
1368
- .udb-onboarding {
1369
- display: flex;
1370
- flex-direction: column;
1371
- min-height: 100dvh;
1372
- background: var(--u-color-bg);
1373
- }
1374
-
1375
- .udb-onboarding__header {
1376
- display: flex;
1377
- align-items: center;
1378
- justify-content: space-between;
1379
- gap: var(--u-space-3);
1380
- padding: var(--u-space-3) var(--u-space-5);
1381
- border-bottom: 1px solid var(--u-color-border);
1382
- background: var(--u-color-surface);
1383
- }
1384
-
1385
- .udb-onboarding__brand {
1386
- display: flex;
1387
- align-items: center;
1388
- gap: var(--u-space-2);
1389
- }
1390
-
1391
- .udb-onboarding__brand-name {
1392
- font-size: var(--u-font-size-lg);
1393
- font-weight: var(--u-font-weight-bold);
1394
- letter-spacing: -0.02em;
1395
- color: var(--u-color-text);
1396
- }
1397
-
1398
- .udb-onboarding__header-actions {
1399
- display: flex;
1400
- align-items: center;
1401
- gap: var(--u-space-2);
1402
- }
1403
-
1404
- .udb-onboarding__main {
1405
- display: flex;
1406
- flex: 1;
1407
- justify-content: center;
1408
- align-items: flex-start;
1409
- overflow-y: auto;
1410
- padding: var(--u-space-6) var(--u-space-4);
1411
- }
1412
-
1413
- .udb-onboarding__content {
1414
- display: flex;
1415
- flex-direction: column;
1416
- gap: var(--u-space-6);
1417
- width: 100%;
1418
- }
1419
-
1420
- .udb-onboarding__error {
1421
- display: flex;
1422
- align-items: flex-start;
1423
- gap: var(--u-space-2);
1424
- padding: 10px var(--u-space-3);
1425
- border-radius: var(--u-radius-md);
1426
- background: var(--u-color-danger-soft);
1427
- color: var(--u-color-danger);
1428
- font-size: var(--u-font-size-md);
1429
- }
1430
-
1431
- .udb-onboarding__error svg {
1432
- width: 16px;
1433
- height: 16px;
1434
- flex-shrink: 0;
1435
- margin-top: 2px;
1436
- }
1437
-
1438
- .udb-onboarding__empty {
1439
- padding: var(--u-space-8) var(--u-space-6);
1440
- text-align: center;
1441
- color: var(--u-color-muted);
1442
- }
1443
-
1444
- .udb-onboarding__footer {
1445
- display: flex;
1446
- align-items: center;
1447
- justify-content: space-between;
1448
- gap: var(--u-space-3);
1449
- padding: var(--u-space-4) var(--u-space-5);
1450
- border-top: 1px solid var(--u-color-border);
1451
- background: var(--u-color-surface);
1452
- }
1453
-
1454
- .udb-onboarding__footer-actions {
1455
- display: flex;
1456
- align-items: center;
1457
- gap: var(--u-space-2);
1458
- }
1459
-
1460
- .udb-onboarding__footer-icon {
1461
- width: 16px;
1462
- height: 16px;
1463
- }
1464
-
1465
- .udb-onboarding__footer-btn,
1466
- .udb-onboarding__footer-next {
1467
- min-width: 96px;
1468
- }
1469
-
1470
- /* Step progress rail (node + connector per segment). */
1471
- .udb-progress {
1472
- display: flex;
1473
- align-items: center;
1474
- width: 100%;
1475
- max-width: 420px;
1476
- margin: 0 auto;
1477
- }
1478
-
1479
- .udb-progress__segment {
1480
- display: flex;
1481
- align-items: center;
1482
- flex: 1;
1483
- min-width: 0;
1484
- }
1485
-
1486
- .udb-progress__segment:last-child {
1487
- flex: 0;
1488
- }
1489
-
1490
- .udb-progress__node {
1491
- display: flex;
1492
- align-items: center;
1493
- justify-content: center;
1494
- width: 28px;
1495
- height: 28px;
1496
- flex-shrink: 0;
1497
- border: 2px solid var(--u-color-border-strong);
1498
- border-radius: 50%;
1499
- background: var(--u-color-surface);
1500
- color: var(--u-color-muted);
1501
- font-size: var(--u-font-size-sm);
1502
- font-weight: var(--u-font-weight-bold);
1503
- transition: background-color 0.2s ease, border-color 0.2s ease,
1504
- color 0.2s ease;
1505
- }
1506
-
1507
- .udb-progress__node--on {
1508
- border-color: var(--u-color-primary);
1509
- background: var(--u-color-primary);
1510
- color: var(--u-color-primary-contrast);
1511
- }
1512
-
1513
- .udb-progress__check {
1514
- width: 14px;
1515
- height: 14px;
1516
- }
1517
-
1518
- .udb-progress__connector {
1519
- flex: 1;
1520
- height: 2px;
1521
- min-width: 12px;
1522
- margin: 0 var(--u-space-2);
1523
- border-radius: var(--u-radius-pill);
1524
- background: var(--u-color-border-strong);
1525
- transition: background-color 0.2s ease;
1526
- }
1527
-
1528
- .udb-progress__connector--on {
1529
- background: var(--u-color-primary);
1530
- }
1531
-
1532
- /* Single step card. Width modifiers keep wide option grids readable. */
1533
- .udb-step {
1534
- display: flex;
1535
- flex-direction: column;
1536
- gap: var(--u-space-5);
1537
- width: 100%;
1538
- max-width: 560px;
1539
- margin: 0 auto;
1540
- }
1541
-
1542
- .udb-step--wide {
1543
- max-width: 720px;
1544
- }
1545
-
1546
- .udb-step--widest {
1547
- max-width: 840px;
1548
- }
1549
-
1550
- .udb-step__header {
1551
- display: flex;
1552
- flex-direction: column;
1553
- gap: 6px;
1554
- text-align: center;
1555
- }
1556
-
1557
- .udb-step__title {
1558
- margin: 0;
1559
- font-size: var(--u-font-size-3xl);
1560
- font-weight: var(--u-font-weight-bold);
1561
- letter-spacing: -0.02em;
1562
- line-height: 1.2;
1563
- color: var(--u-color-text);
1564
- }
1565
-
1566
- .udb-step__description {
1567
- margin: 0;
1568
- font-size: var(--u-font-size-md);
1569
- color: var(--u-color-muted);
1570
- }
1571
-
1572
- .udb-step__description--lg {
1573
- font-size: var(--u-font-size-lg);
1574
- }
1575
-
1576
- .udb-step__options {
1577
- display: grid;
1578
- grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
1579
- gap: var(--u-space-3);
1580
- }
1581
-
1582
- .udb-step__options--list {
1583
- grid-template-columns: 1fr;
1584
- }
1585
-
1586
- .udb-step__hint {
1587
- display: flex;
1588
- align-items: flex-start;
1589
- gap: var(--u-space-2);
1590
- margin-top: var(--u-space-1);
1591
- font-size: var(--u-font-size-sm);
1592
- color: var(--u-color-muted);
1593
- }
1594
-
1595
- .udb-step__hint-icon {
1596
- width: 16px;
1597
- height: 16px;
1598
- flex-shrink: 0;
1599
- margin-top: 2px;
1600
- }
1601
-
1602
- /* Selectable option card (user type, focus area...). */
1603
- .udb-choice {
1604
- position: relative;
1605
- display: flex;
1606
- align-items: flex-start;
1607
- gap: var(--u-space-3);
1608
- padding: var(--u-space-4);
1609
- border: 1px solid var(--u-color-border-strong);
1610
- border-radius: var(--u-radius-lg);
1611
- background: var(--u-color-surface);
1612
- font-family: inherit;
1613
- text-align: left;
1614
- cursor: pointer;
1615
- transition: border-color 0.15s ease, background-color 0.15s ease,
1616
- box-shadow 0.15s ease;
1617
- }
1618
-
1619
- .udb-choice:hover {
1620
- border-color: var(--u-color-primary);
1621
- }
1622
-
1623
- .udb-choice--selected {
1624
- border-color: var(--u-color-primary);
1625
- background: var(--u-color-primary-soft);
1626
- box-shadow: inset 0 0 0 1px var(--u-color-primary);
1627
- }
1628
-
1629
- .udb-choice__check {
1630
- position: absolute;
1631
- top: var(--u-space-3);
1632
- right: var(--u-space-3);
1633
- display: flex;
1634
- align-items: center;
1635
- justify-content: center;
1636
- width: 20px;
1637
- height: 20px;
1638
- border: 1px solid var(--u-color-border-strong);
1639
- border-radius: 50%;
1640
- background: var(--u-color-surface);
1641
- transition: background-color 0.15s ease, border-color 0.15s ease;
1642
- }
1643
-
1644
- .udb-choice__check--on {
1645
- border-color: var(--u-color-primary);
1646
- background: var(--u-color-primary);
1647
- }
1648
-
1649
- .udb-choice__check-icon {
1650
- width: 12px;
1651
- height: 12px;
1652
- color: var(--u-color-primary-contrast);
1653
- }
1654
-
1655
- .udb-choice__icon-box {
1656
- display: flex;
1657
- align-items: center;
1658
- justify-content: center;
1659
- width: 40px;
1660
- height: 40px;
1661
- flex-shrink: 0;
1662
- border-radius: var(--u-radius-md);
1663
- background: var(--u-color-surface-muted);
1664
- }
1665
-
1666
- .udb-choice__icon-box--lg {
1667
- width: 48px;
1668
- height: 48px;
1669
- }
1670
-
1671
- .udb-choice__icon-box--on {
1672
- background: var(--u-color-primary-soft);
1673
- }
1674
-
1675
- .udb-choice__icon {
1676
- width: 20px;
1677
- height: 20px;
1678
- color: var(--u-color-text);
1679
- }
1680
-
1681
- .udb-choice__icon--lg {
1682
- width: 24px;
1683
- height: 24px;
1684
- }
1685
-
1686
- .udb-choice__body {
1687
- display: flex;
1688
- flex-direction: column;
1689
- gap: 4px;
1690
- flex: 1;
1691
- min-width: 0;
1692
- }
1693
-
1694
- .udb-choice__label-row {
1695
- display: flex;
1696
- align-items: center;
1697
- justify-content: space-between;
1698
- gap: var(--u-space-2);
1699
- }
1700
-
1701
- .udb-choice__label {
1702
- font-size: var(--u-font-size-md);
1703
- font-weight: var(--u-font-weight-medium);
1704
- color: var(--u-color-text);
1705
- }
1706
-
1707
- .udb-choice__label--lg {
1708
- font-size: var(--u-font-size-lg);
1709
- font-weight: 600;
1710
- }
1711
-
1712
- .udb-choice__badge {
1713
- padding: 2px var(--u-space-2);
1714
- border-radius: var(--u-radius-pill);
1715
- background: var(--u-color-surface-muted);
1716
- font-size: var(--u-font-size-xs);
1717
- font-weight: var(--u-font-weight-medium);
1718
- color: var(--u-color-muted);
1719
- white-space: nowrap;
1720
- }
1721
-
1722
- .udb-choice__description {
1723
- margin: 0;
1724
- font-size: var(--u-font-size-sm);
1725
- color: var(--u-color-muted);
1726
- }
1727
-
1728
- /* Platform connection grid. */
1729
- .udb-platforms {
1730
- display: grid;
1731
- grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
1732
- gap: var(--u-space-3);
1733
- }
1734
-
1735
- .udb-platform {
1736
- display: flex;
1737
- align-items: center;
1738
- gap: var(--u-space-3);
1739
- padding: var(--u-space-3);
1740
- border: 1px solid var(--u-color-border-strong);
1741
- border-radius: var(--u-radius-lg);
1742
- background: var(--u-color-surface);
1743
- font-family: inherit;
1744
- text-align: left;
1745
- cursor: pointer;
1746
- transition: border-color 0.15s ease, background-color 0.15s ease;
1747
- }
1748
-
1749
- .udb-platform:hover {
1750
- border-color: var(--u-color-primary);
1751
- }
1752
-
1753
- .udb-platform--connected {
1754
- border-color: var(--u-color-primary);
1755
- background: var(--u-color-primary-soft);
1756
- }
1757
-
1758
- .udb-platform__icon-box {
1759
- display: flex;
1760
- align-items: center;
1761
- justify-content: center;
1762
- width: 40px;
1763
- height: 40px;
1764
- flex-shrink: 0;
1765
- border-radius: 50%;
1766
- background: var(--u-color-surface-muted);
1767
- }
1768
-
1769
- .udb-platform__icon {
1770
- width: 20px;
1771
- height: 20px;
1772
- }
1773
-
1774
- .udb-platform__meta {
1775
- display: flex;
1776
- flex-direction: column;
1777
- gap: 2px;
1778
- flex: 1;
1779
- min-width: 0;
1780
- }
1781
-
1782
- .udb-platform__name {
1783
- font-size: var(--u-font-size-md);
1784
- font-weight: var(--u-font-weight-medium);
1785
- color: var(--u-color-text);
1786
- }
1787
-
1788
- .udb-platform__state {
1789
- font-size: var(--u-font-size-xs);
1790
- color: var(--u-color-muted);
1791
- }
1792
-
1793
- .udb-platform__state--on {
1794
- color: var(--u-color-success);
1795
- font-weight: var(--u-font-weight-medium);
1796
- }
1797
-
1798
- /* Billing cycle switch (monthly / yearly + save badge). */
1799
- .udb-cycle-toggle-row {
1800
- display: flex;
1801
- align-items: center;
1802
- justify-content: space-between;
1803
- flex-wrap: wrap;
1804
- gap: var(--u-space-2);
1805
- }
1806
-
1807
- .udb-cycle-toggle {
1808
- display: inline-flex;
1809
- align-items: center;
1810
- gap: 2px;
1811
- padding: 3px;
1812
- border: 1px solid var(--u-color-border);
1813
- border-radius: var(--u-radius-pill);
1814
- background: var(--u-color-surface-muted);
1815
- }
1816
-
1817
- .udb-cycle-toggle__pill {
1818
- display: inline-flex;
1819
- align-items: center;
1820
- gap: var(--u-space-1);
1821
- border: none;
1822
- padding: 6px var(--u-space-4);
1823
- border-radius: var(--u-radius-pill);
1824
- background: transparent;
1825
- font-family: inherit;
1826
- font-size: var(--u-font-size-sm);
1827
- font-weight: var(--u-font-weight-medium);
1828
- color: var(--u-color-muted);
1829
- cursor: pointer;
1830
- transition: background-color 0.15s ease, color 0.15s ease,
1831
- box-shadow 0.15s ease;
1832
- }
1833
-
1834
- .udb-cycle-toggle__pill--on {
1835
- background: var(--u-color-surface);
1836
- color: var(--u-color-text);
1837
- box-shadow: var(--u-shadow-sm);
1838
- }
1839
-
1840
- /* Yearly pill hosts the save badge; keep it on one line when it appears. */
1841
- .udb-cycle-toggle__pill--with-badge {
1842
- white-space: nowrap;
1843
- }
1844
-
1845
- .udb-cycle-toggle__save {
1846
- display: none;
1847
- font-size: 10px;
1848
- font-weight: var(--u-font-weight-bold);
1849
- color: var(--u-color-success);
1850
- }
1851
-
1852
- .udb-cycle-toggle__save--on {
1853
- display: inline;
1854
- }
1855
-
1856
- /* Plan cards. */
1857
- .udb-plans {
1858
- display: grid;
1859
- grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
1860
- gap: var(--u-space-4);
1861
- align-items: stretch;
1862
- }
1863
-
1864
- .udb-plan {
1865
- position: relative;
1866
- display: flex;
1867
- flex-direction: column;
1868
- gap: var(--u-space-3);
1869
- padding: var(--u-space-5);
1870
- border: 1px solid var(--u-color-border-strong);
1871
- border-radius: var(--u-radius-lg);
1872
- background: var(--u-color-surface);
1873
- font-family: inherit;
1874
- text-align: left;
1875
- cursor: pointer;
1876
- transition: border-color 0.15s ease, background-color 0.15s ease,
1877
- box-shadow 0.15s ease;
1878
- }
1879
-
1880
- .udb-plan:hover {
1881
- border-color: var(--u-color-primary);
1882
- }
1883
-
1884
- .udb-plan--selected {
1885
- border-color: var(--u-color-primary);
1886
- background: var(--u-color-primary-soft);
1887
- box-shadow: inset 0 0 0 1px var(--u-color-primary);
1888
- }
1889
-
1890
- .udb-plan--highlight {
1891
- border-color: var(--u-color-primary);
1892
- box-shadow: var(--u-shadow-md);
1893
- }
1894
-
1895
- .udb-plan__recommended {
1896
- position: absolute;
1897
- top: calc(-1 * var(--u-space-3));
1898
- left: 50%;
1899
- transform: translateX(-50%);
1900
- padding: 2px var(--u-space-3);
1901
- border-radius: var(--u-radius-pill);
1902
- background: var(--u-color-primary);
1903
- color: var(--u-color-primary-contrast);
1904
- font-size: 10px;
1905
- font-weight: var(--u-font-weight-bold);
1906
- text-transform: uppercase;
1907
- letter-spacing: 0.06em;
1908
- white-space: nowrap;
1909
- }
1910
-
1911
- .udb-plan__heading {
1912
- display: flex;
1913
- align-items: center;
1914
- justify-content: space-between;
1915
- gap: var(--u-space-2);
1916
- }
1917
-
1918
- .udb-plan__name {
1919
- margin: 0;
1920
- font-size: var(--u-font-size-lg);
1921
- font-weight: var(--u-font-weight-bold);
1922
- color: var(--u-color-text);
1923
- }
1924
-
1925
- .udb-plan__badge {
1926
- padding: 2px var(--u-space-2);
1927
- border-radius: var(--u-radius-pill);
1928
- font-size: var(--u-font-size-xs);
1929
- font-weight: var(--u-font-weight-medium);
1930
- white-space: nowrap;
1931
- }
1932
-
1933
- .udb-plan__badge--muted {
1934
- background: var(--u-color-surface-muted);
1935
- color: var(--u-color-muted);
1936
- }
1937
-
1938
- .udb-plan__badge--primary {
1939
- background: var(--u-color-primary-soft);
1940
- color: var(--u-color-primary);
1941
- }
1942
-
1943
- .udb-plan__badge--accent {
1944
- background: var(--u-color-success-soft);
1945
- color: var(--u-color-success);
1946
- }
1947
-
1948
- .udb-plan__description {
1949
- margin: 0;
1950
- font-size: var(--u-font-size-sm);
1951
- color: var(--u-color-muted);
1952
- }
1953
-
1954
- .udb-plan__price-row {
1955
- display: flex;
1956
- align-items: baseline;
1957
- gap: var(--u-space-1);
1958
- }
1959
-
1960
- .udb-plan__price {
1961
- font-size: var(--u-font-size-3xl);
1962
- font-weight: var(--u-font-weight-bold);
1963
- letter-spacing: -0.02em;
1964
- color: var(--u-color-text);
1965
- }
1966
-
1967
- .udb-plan__price-unit {
1968
- font-size: var(--u-font-size-sm);
1969
- color: var(--u-color-muted);
1970
- }
1971
-
1972
- .udb-plan__features {
1973
- display: flex;
1974
- flex-direction: column;
1975
- gap: var(--u-space-2);
1976
- margin: 0;
1977
- padding: 0;
1978
- list-style: none;
1979
- }
1980
-
1981
- .udb-plan__feature {
1982
- display: flex;
1983
- align-items: flex-start;
1984
- gap: var(--u-space-2);
1985
- font-size: var(--u-font-size-sm);
1986
- color: var(--u-color-text);
1987
- }
1988
-
1989
- .udb-plan__feature-check {
1990
- display: flex;
1991
- align-items: center;
1992
- justify-content: center;
1993
- width: 16px;
1994
- height: 16px;
1995
- flex-shrink: 0;
1996
- margin-top: 2px;
1997
- border-radius: 50%;
1998
- background: var(--u-color-success-soft);
1999
- }
2000
-
2001
- .udb-plan__feature-check-icon {
2002
- width: 10px;
2003
- height: 10px;
2004
- color: var(--u-color-success);
2005
- }
2006
-
2007
- .udb-plan__feature-text {
2008
- line-height: 1.4;
2009
- }
2010
-
2011
- .udb-plan__feature-text--bold {
2012
- font-weight: var(--u-font-weight-medium);
2013
- }
2014
-
2015
1364
  /* ============================================================
2016
1365
  * 9. Settings
2017
1366
  * ============================================================ */
@@ -1,6 +0,0 @@
1
- /**
2
- * Domain Config Index
3
- */
4
-
5
- export * from './DashboardConfig';
6
- export * from './CalendarConfig';