@solidxai/core-ui 0.1.16-beta.1 → 0.1.17-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/dist/components/auth/AuthLayout.d.ts.map +1 -1
  2. package/dist/components/auth/AuthLayout.js +15 -14
  3. package/dist/components/auth/AuthLayout.js.map +1 -1
  4. package/dist/components/auth/AuthLayout.tsx +35 -34
  5. package/dist/components/common/SettingsComponent.module.css +89 -0
  6. package/dist/components/common/SolidAdmin.js +2 -2
  7. package/dist/components/common/SolidAdmin.js.map +1 -1
  8. package/dist/components/common/SolidAdmin.tsx +2 -2
  9. package/dist/components/common/SolidSettings/LlmSettings/AiModelConfigTab.js +1 -1
  10. package/dist/components/common/SolidSettings/LlmSettings/AiModelConfigTab.js.map +1 -1
  11. package/dist/components/common/SolidSettings/LlmSettings/AiModelConfigTab.tsx +2 -2
  12. package/dist/components/core/card/CardItem.d.ts.map +1 -1
  13. package/dist/components/core/card/CardItem.js +1 -1
  14. package/dist/components/core/card/CardItem.js.map +1 -1
  15. package/dist/components/core/card/CardItem.tsx +4 -1
  16. package/dist/components/core/card/SolidCardView.js +1 -1
  17. package/dist/components/core/card/SolidCardView.js.map +1 -1
  18. package/dist/components/core/card/SolidCardView.tsx +1 -1
  19. package/dist/components/core/card/SolidCardViewConfigure.js +1 -1
  20. package/dist/components/core/card/SolidCardViewConfigure.js.map +1 -1
  21. package/dist/components/core/card/SolidCardViewConfigure.tsx +1 -1
  22. package/dist/components/core/kanban/KanbanCard.d.ts.map +1 -1
  23. package/dist/components/core/kanban/KanbanCard.js +2 -2
  24. package/dist/components/core/kanban/KanbanCard.js.map +1 -1
  25. package/dist/components/core/kanban/KanbanCard.tsx +5 -2
  26. package/dist/components/core/kanban/SolidKanbanView.js +1 -1
  27. package/dist/components/core/kanban/SolidKanbanView.js.map +1 -1
  28. package/dist/components/core/kanban/SolidKanbanView.tsx +1 -1
  29. package/dist/components/core/kanban/SolidKanbanViewConfigure.js +1 -1
  30. package/dist/components/core/kanban/SolidKanbanViewConfigure.js.map +1 -1
  31. package/dist/components/core/kanban/SolidKanbanViewConfigure.tsx +1 -1
  32. package/dist/components/core/list/SolidListView.js +6 -6
  33. package/dist/components/core/list/SolidListView.js.map +1 -1
  34. package/dist/components/core/list/SolidListView.tsx +4 -4
  35. package/dist/components/core/list/SolidListViewConfigure.js +1 -1
  36. package/dist/components/core/list/SolidListViewConfigure.js.map +1 -1
  37. package/dist/components/core/list/SolidListViewConfigure.tsx +1 -1
  38. package/dist/components/core/locales/SolidLocale.d.ts.map +1 -1
  39. package/dist/components/core/locales/SolidLocale.js +1 -1
  40. package/dist/components/core/locales/SolidLocale.js.map +1 -1
  41. package/dist/components/core/locales/SolidLocale.tsx +1 -0
  42. package/dist/components/core/locales/solid-locale.css +9 -0
  43. package/dist/components/core/model/FieldMetaData.js +1 -1
  44. package/dist/components/core/model/FieldMetaData.js.map +1 -1
  45. package/dist/components/core/model/FieldMetaData.tsx +1 -1
  46. package/dist/components/core/model/FieldMetaDataForm.css +60 -0
  47. package/dist/components/core/model/FieldMetaDataForm.d.ts.map +1 -1
  48. package/dist/components/core/model/FieldMetaDataForm.js +47 -36
  49. package/dist/components/core/model/FieldMetaDataForm.js.map +1 -1
  50. package/dist/components/core/model/FieldMetaDataForm.tsx +59 -40
  51. package/dist/components/core/model/ModelMetaData.js +1 -1
  52. package/dist/components/core/model/ModelMetaData.js.map +1 -1
  53. package/dist/components/core/model/ModelMetaData.tsx +1 -1
  54. package/dist/components/core/module/CreateModule.d.ts.map +1 -1
  55. package/dist/components/core/module/CreateModule.js +34 -21
  56. package/dist/components/core/module/CreateModule.js.map +1 -1
  57. package/dist/components/core/module/CreateModule.tsx +59 -21
  58. package/dist/components/core/module/ModuleMetadataExplorer.css +72 -2
  59. package/dist/components/core/tree/SolidTreeView.js +2 -2
  60. package/dist/components/core/tree/SolidTreeView.js.map +1 -1
  61. package/dist/components/core/tree/SolidTreeView.tsx +2 -2
  62. package/dist/components/core/users/CreateUserRole.js +1 -1
  63. package/dist/components/core/users/CreateUserRole.js.map +1 -1
  64. package/dist/components/core/users/CreateUserRole.tsx +1 -1
  65. package/dist/components/layout/AdminTopHeader.d.ts.map +1 -1
  66. package/dist/components/layout/AdminTopHeader.js +2 -1
  67. package/dist/components/layout/AdminTopHeader.js.map +1 -1
  68. package/dist/components/layout/AdminTopHeader.tsx +2 -1
  69. package/dist/components/layout/AppSidebar.d.ts.map +1 -1
  70. package/dist/components/layout/AppSidebar.js +16 -1
  71. package/dist/components/layout/AppSidebar.js.map +1 -1
  72. package/dist/components/layout/AppSidebar.tsx +37 -9
  73. package/dist/resources/images/solidx-logo/solidx-logo-dark.png +0 -0
  74. package/dist/resources/images/solidx-logo/solidx-logo-light.png +0 -0
  75. package/dist/resources/solid-custom.css +67 -40
  76. package/dist/resources/solid-tailwind-generated.css +1 -1
  77. package/dist/resources/themes/solid-dark-enterprise/theme.css +2 -2
  78. package/dist/resources/themes/solid-dark-modern/theme.css +2 -2
  79. package/dist/resources/themes/solid-light-enterprise/theme.css +2 -2
  80. package/dist/resources/themes/solid-light-modern/theme.css +2 -2
  81. package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.css +289 -0
  82. package/package.json +1 -1
@@ -69,8 +69,8 @@
69
69
  border-color: rgba(110, 168, 254, 0.18) !important;
70
70
  }
71
71
 
72
- .solid-workspace-avatar,
73
- .solid-workspace-item-avatar,
72
+ .solid-workspace-avatar:not(.has-image),
73
+ .solid-workspace-item-avatar:not(.has-image),
74
74
  .solid-collapsed-item.is-active {
75
75
  background: #6ea8fe !important;
76
76
  color: #08111d !important;
@@ -71,8 +71,8 @@
71
71
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
72
72
  }
73
73
 
74
- .solid-workspace-avatar,
75
- .solid-workspace-item-avatar {
74
+ .solid-workspace-avatar:not(.has-image),
75
+ .solid-workspace-item-avatar:not(.has-image) {
76
76
  background: linear-gradient(135deg, #ffb56b, #f28c28) !important;
77
77
  color: #1a120d !important;
78
78
  }
@@ -69,8 +69,8 @@
69
69
  border-color: rgba(47, 111, 237, 0.12) !important;
70
70
  }
71
71
 
72
- .solid-workspace-avatar,
73
- .solid-workspace-item-avatar,
72
+ .solid-workspace-avatar:not(.has-image),
73
+ .solid-workspace-item-avatar:not(.has-image),
74
74
  .solid-collapsed-item.is-active {
75
75
  background: #2f6fed !important;
76
76
  color: #f8fbff !important;
@@ -110,8 +110,8 @@
110
110
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.55);
111
111
  }
112
112
 
113
- .solid-workspace-avatar,
114
- .solid-workspace-item-avatar {
113
+ .solid-workspace-avatar:not(.has-image),
114
+ .solid-workspace-item-avatar:not(.has-image) {
115
115
  background: linear-gradient(135deg, #575757, #2e2e2e) !important;
116
116
  color: #fffdf8 !important;
117
117
  }
@@ -1489,3 +1489,292 @@
1489
1489
  justify-content: flex-end;
1490
1490
  }
1491
1491
  }
1492
+
1493
+ /* Datasource introspection uses a large set of bespoke surfaces. Keep all of
1494
+ them on the active application theme instead of the light-mode literals above. */
1495
+ html.dark .sdix-page,
1496
+ [data-theme="dark"] .sdix-page {
1497
+ background: var(--background);
1498
+ color: var(--foreground);
1499
+ }
1500
+
1501
+ html.dark .sdix-toolbar-search,
1502
+ html.dark .sdix-workspace-loading,
1503
+ html.dark .sdix-workspace-rail,
1504
+ html.dark .sdix-workspace-rail__item,
1505
+ html.dark .sdix-wizard-stepper-item,
1506
+ html.dark .sdix-wizard-panel,
1507
+ html.dark .sdix-wizard-footer,
1508
+ html.dark .sdix-drawer-footer,
1509
+ html.dark .sdix-table-shell,
1510
+ html.dark .sdix-settings-row,
1511
+ html.dark .sdix-preview-card,
1512
+ html.dark .sdix-metadata-preview > div,
1513
+ html.dark .sdix-drawer-section,
1514
+ html.dark .sdix-column-table,
1515
+ html.dark .sdix-stage-panel__card,
1516
+ html.dark .sdix-review-meta,
1517
+ html.dark .sdix-ddl-code,
1518
+ [data-theme="dark"] .sdix-toolbar-search,
1519
+ [data-theme="dark"] .sdix-workspace-loading,
1520
+ [data-theme="dark"] .sdix-workspace-rail,
1521
+ [data-theme="dark"] .sdix-workspace-rail__item,
1522
+ [data-theme="dark"] .sdix-wizard-stepper-item,
1523
+ [data-theme="dark"] .sdix-wizard-panel,
1524
+ [data-theme="dark"] .sdix-wizard-footer,
1525
+ [data-theme="dark"] .sdix-drawer-footer,
1526
+ [data-theme="dark"] .sdix-table-shell,
1527
+ [data-theme="dark"] .sdix-settings-row,
1528
+ [data-theme="dark"] .sdix-preview-card,
1529
+ [data-theme="dark"] .sdix-metadata-preview > div,
1530
+ [data-theme="dark"] .sdix-drawer-section,
1531
+ [data-theme="dark"] .sdix-column-table,
1532
+ [data-theme="dark"] .sdix-stage-panel__card,
1533
+ [data-theme="dark"] .sdix-review-meta,
1534
+ [data-theme="dark"] .sdix-ddl-code {
1535
+ background: var(--card);
1536
+ border-color: var(--border);
1537
+ color: var(--foreground);
1538
+ }
1539
+
1540
+ html.dark .sdix-workspace-rail__header,
1541
+ html.dark .sdix-wizard-footer,
1542
+ html.dark .sdix-drawer-footer,
1543
+ html.dark .sdix-column-row,
1544
+ [data-theme="dark"] .sdix-workspace-rail__header,
1545
+ [data-theme="dark"] .sdix-wizard-footer,
1546
+ [data-theme="dark"] .sdix-drawer-footer,
1547
+ [data-theme="dark"] .sdix-column-row {
1548
+ border-color: var(--border);
1549
+ }
1550
+
1551
+ html.dark .sdix-workspace-header__identity h2,
1552
+ html.dark .sdix-workspace-rail__header strong,
1553
+ html.dark .sdix-workspace-rail__item-main strong,
1554
+ html.dark .sdix-wizard-stepper-item,
1555
+ html.dark .sdix-table-primary-cell strong,
1556
+ html.dark .sdix-settings-static strong,
1557
+ html.dark .sdix-preview-card strong,
1558
+ html.dark .sdix-metadata-preview strong,
1559
+ html.dark .sdix-settings-row label,
1560
+ html.dark .sdix-drawer-header__identity .solid-radix-dialog-title,
1561
+ html.dark .sdix-columns__header h4,
1562
+ html.dark .sdix-column-meta strong,
1563
+ html.dark .sdix-stage-panel__header h3,
1564
+ html.dark .sdix-stage-panel__card-title,
1565
+ html.dark .sdix-workspace-summary__item strong,
1566
+ html.dark .sdix-review-meta strong,
1567
+ html.dark .sdix-stage-progress h3,
1568
+ [data-theme="dark"] .sdix-workspace-header__identity h2,
1569
+ [data-theme="dark"] .sdix-workspace-rail__header strong,
1570
+ [data-theme="dark"] .sdix-workspace-rail__item-main strong,
1571
+ [data-theme="dark"] .sdix-wizard-stepper-item,
1572
+ [data-theme="dark"] .sdix-table-primary-cell strong,
1573
+ [data-theme="dark"] .sdix-settings-static strong,
1574
+ [data-theme="dark"] .sdix-preview-card strong,
1575
+ [data-theme="dark"] .sdix-metadata-preview strong,
1576
+ [data-theme="dark"] .sdix-settings-row label,
1577
+ [data-theme="dark"] .sdix-drawer-header__identity .solid-radix-dialog-title,
1578
+ [data-theme="dark"] .sdix-columns__header h4,
1579
+ [data-theme="dark"] .sdix-column-meta strong,
1580
+ [data-theme="dark"] .sdix-stage-panel__header h3,
1581
+ [data-theme="dark"] .sdix-stage-panel__card-title,
1582
+ [data-theme="dark"] .sdix-workspace-summary__item strong,
1583
+ [data-theme="dark"] .sdix-review-meta strong,
1584
+ [data-theme="dark"] .sdix-stage-progress h3 {
1585
+ color: var(--foreground);
1586
+ }
1587
+
1588
+ html.dark .sdix-workspace-header__identity p,
1589
+ html.dark .sdix-workspace-rail__item-main span,
1590
+ html.dark .sdix-wizard-footer__meta,
1591
+ html.dark .sdix-drawer-footer__meta,
1592
+ html.dark .sdix-table-primary-cell span,
1593
+ html.dark .sdix-muted-cell,
1594
+ html.dark .sdix-settings-static span,
1595
+ html.dark .sdix-preview-card span,
1596
+ html.dark .sdix-metadata-preview span,
1597
+ html.dark .sdix-form-row label,
1598
+ html.dark .sdix-settings-row p,
1599
+ html.dark .sdix-drawer-header__meta,
1600
+ html.dark .sdix-form-field label,
1601
+ html.dark .sdix-columns__header p,
1602
+ html.dark .sdix-column-meta small,
1603
+ html.dark .sdix-inline-note,
1604
+ html.dark .sdix-stage-panel__header p,
1605
+ html.dark .sdix-workspace-summary__item span,
1606
+ html.dark .sdix-stage-panel__list,
1607
+ html.dark .sdix-review-meta span,
1608
+ html.dark .sdix-review-note,
1609
+ html.dark .sdix-stage-progress p,
1610
+ html.dark .sdix-column-placeholder,
1611
+ html.dark .sdix-loading,
1612
+ html.dark .sdix-empty-state,
1613
+ [data-theme="dark"] .sdix-workspace-header__identity p,
1614
+ [data-theme="dark"] .sdix-workspace-rail__item-main span,
1615
+ [data-theme="dark"] .sdix-wizard-footer__meta,
1616
+ [data-theme="dark"] .sdix-drawer-footer__meta,
1617
+ [data-theme="dark"] .sdix-table-primary-cell span,
1618
+ [data-theme="dark"] .sdix-muted-cell,
1619
+ [data-theme="dark"] .sdix-settings-static span,
1620
+ [data-theme="dark"] .sdix-preview-card span,
1621
+ [data-theme="dark"] .sdix-metadata-preview span,
1622
+ [data-theme="dark"] .sdix-form-row label,
1623
+ [data-theme="dark"] .sdix-settings-row p,
1624
+ [data-theme="dark"] .sdix-drawer-header__meta,
1625
+ [data-theme="dark"] .sdix-form-field label,
1626
+ [data-theme="dark"] .sdix-columns__header p,
1627
+ [data-theme="dark"] .sdix-column-meta small,
1628
+ [data-theme="dark"] .sdix-inline-note,
1629
+ [data-theme="dark"] .sdix-stage-panel__header p,
1630
+ [data-theme="dark"] .sdix-workspace-summary__item span,
1631
+ [data-theme="dark"] .sdix-stage-panel__list,
1632
+ [data-theme="dark"] .sdix-review-meta span,
1633
+ [data-theme="dark"] .sdix-review-note,
1634
+ [data-theme="dark"] .sdix-stage-progress p,
1635
+ [data-theme="dark"] .sdix-column-placeholder,
1636
+ [data-theme="dark"] .sdix-loading,
1637
+ [data-theme="dark"] .sdix-empty-state {
1638
+ color: var(--muted-foreground);
1639
+ }
1640
+
1641
+ html.dark .sdix-workspace-rail__item:hover,
1642
+ html.dark .sdix-wizard-stepper-item:hover,
1643
+ html.dark .sdix-settings-row:hover,
1644
+ [data-theme="dark"] .sdix-workspace-rail__item:hover,
1645
+ [data-theme="dark"] .sdix-wizard-stepper-item:hover,
1646
+ [data-theme="dark"] .sdix-settings-row:hover {
1647
+ background: var(--surface-hover);
1648
+ border-color: var(--primary);
1649
+ }
1650
+
1651
+ html.dark .sdix-workspace-rail__item.is-active,
1652
+ html.dark .sdix-wizard-stepper-item.is-active,
1653
+ [data-theme="dark"] .sdix-workspace-rail__item.is-active,
1654
+ [data-theme="dark"] .sdix-wizard-stepper-item.is-active {
1655
+ background: color-mix(in srgb, var(--primary) 16%, var(--card));
1656
+ border-color: var(--primary);
1657
+ box-shadow: none;
1658
+ }
1659
+
1660
+ html.dark .sdix-workspace-rail__header span,
1661
+ html.dark .sdix-inline-status,
1662
+ html.dark .sdix-settings-static,
1663
+ html.dark .sdix-workspace-summary__item,
1664
+ [data-theme="dark"] .sdix-workspace-rail__header span,
1665
+ [data-theme="dark"] .sdix-inline-status,
1666
+ [data-theme="dark"] .sdix-settings-static,
1667
+ [data-theme="dark"] .sdix-workspace-summary__item {
1668
+ background: var(--surface-ground);
1669
+ border-color: var(--border);
1670
+ color: var(--muted-foreground);
1671
+ }
1672
+
1673
+ html.dark .sdix-wizard-stepper-item.is-complete,
1674
+ [data-theme="dark"] .sdix-wizard-stepper-item.is-complete {
1675
+ background: color-mix(in srgb, var(--primary) 14%, var(--card));
1676
+ border-color: color-mix(in srgb, var(--primary) 52%, var(--border));
1677
+ }
1678
+
1679
+ html.dark .sdix-wizard-stepper-badge,
1680
+ [data-theme="dark"] .sdix-wizard-stepper-badge {
1681
+ background: var(--surface-ground);
1682
+ border-color: var(--border);
1683
+ color: var(--muted-foreground);
1684
+ }
1685
+
1686
+ html.dark .sdix-wizard-stepper-item.is-active .sdix-wizard-stepper-badge,
1687
+ [data-theme="dark"] .sdix-wizard-stepper-item.is-active .sdix-wizard-stepper-badge {
1688
+ background: var(--primary);
1689
+ border-color: var(--primary);
1690
+ color: var(--primary-foreground);
1691
+ }
1692
+
1693
+ html.dark .sdix-table-primary-cell,
1694
+ html.dark .sdix-column-row,
1695
+ html.dark .sdix-ddl-code,
1696
+ [data-theme="dark"] .sdix-table-primary-cell,
1697
+ [data-theme="dark"] .sdix-column-row,
1698
+ [data-theme="dark"] .sdix-ddl-code {
1699
+ color: var(--foreground);
1700
+ }
1701
+
1702
+ html.dark .sdix-column-row--head,
1703
+ [data-theme="dark"] .sdix-column-row--head {
1704
+ background: var(--sidebar-accent);
1705
+ color: var(--muted-foreground);
1706
+ }
1707
+
1708
+ html.dark .sdix-status-badge,
1709
+ [data-theme="dark"] .sdix-status-badge {
1710
+ border: 1px solid var(--border);
1711
+ }
1712
+
1713
+ html.dark .sdix-status-badge.is-mapped,
1714
+ html.dark .sdix-status-badge.is-unmapped,
1715
+ html.dark .sdix-status-badge.is-superclass,
1716
+ html.dark .sdix-status-badge.is-muted,
1717
+ [data-theme="dark"] .sdix-status-badge.is-mapped,
1718
+ [data-theme="dark"] .sdix-status-badge.is-unmapped,
1719
+ [data-theme="dark"] .sdix-status-badge.is-superclass,
1720
+ [data-theme="dark"] .sdix-status-badge.is-muted {
1721
+ background: color-mix(in srgb, var(--primary) 14%, var(--card));
1722
+ color: var(--primary);
1723
+ }
1724
+
1725
+ html.dark .sdix-status-badge.is-blocked,
1726
+ html.dark .sdix-json-validation-error,
1727
+ [data-theme="dark"] .sdix-status-badge.is-blocked,
1728
+ [data-theme="dark"] .sdix-json-validation-error {
1729
+ background: color-mix(in srgb, var(--destructive) 14%, var(--card));
1730
+ border-color: color-mix(in srgb, var(--destructive) 42%, var(--border));
1731
+ color: var(--destructive);
1732
+ }
1733
+
1734
+ html.dark .sdix-drawer.solid-radix-dialog-content,
1735
+ html.dark .sdix-field-config-dialog,
1736
+ [data-theme="dark"] .sdix-drawer.solid-radix-dialog-content,
1737
+ [data-theme="dark"] .sdix-field-config-dialog {
1738
+ background: var(--card);
1739
+ border-color: var(--border);
1740
+ color: var(--foreground);
1741
+ }
1742
+
1743
+ html.dark .sdix-drawer-overlay,
1744
+ [data-theme="dark"] .sdix-drawer-overlay {
1745
+ background: color-mix(in srgb, var(--background) 78%, transparent);
1746
+ }
1747
+
1748
+ html.dark .sdix-blocker,
1749
+ html.dark .sdix-blocker-panel,
1750
+ html.dark .sdix-blocker-panel__body,
1751
+ [data-theme="dark"] .sdix-blocker,
1752
+ [data-theme="dark"] .sdix-blocker-panel,
1753
+ [data-theme="dark"] .sdix-blocker-panel__body {
1754
+ background: color-mix(in srgb, var(--card) 92%, var(--destructive) 8%);
1755
+ border-color: color-mix(in srgb, var(--destructive) 42%, var(--border));
1756
+ color: var(--destructive);
1757
+ box-shadow: none;
1758
+ }
1759
+
1760
+ html.dark .sdix-blocker__content h3,
1761
+ html.dark .sdix-blocker__content p,
1762
+ html.dark .sdix-blocker__note,
1763
+ html.dark .sdix-blocker__eyebrow,
1764
+ [data-theme="dark"] .sdix-blocker__content h3,
1765
+ [data-theme="dark"] .sdix-blocker__content p,
1766
+ [data-theme="dark"] .sdix-blocker__note,
1767
+ [data-theme="dark"] .sdix-blocker__eyebrow {
1768
+ color: var(--destructive);
1769
+ }
1770
+
1771
+ html.dark .sdix-stage-progress--success,
1772
+ [data-theme="dark"] .sdix-stage-progress--success {
1773
+ background: color-mix(in srgb, var(--card) 88%, var(--primary) 12%);
1774
+ border-color: color-mix(in srgb, var(--primary) 46%, var(--border));
1775
+ }
1776
+
1777
+ html.dark .sdix-stage-panel__eyebrow,
1778
+ [data-theme="dark"] .sdix-stage-panel__eyebrow {
1779
+ color: var(--primary);
1780
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@solidxai/core-ui",
3
- "version": "0.1.16-beta.1",
3
+ "version": "0.1.17-beta.0",
4
4
  "scripts": {
5
5
  "build:tailwind": "tailwindcss -i ./src/resources/solid-tailwind.css -o ./src/resources/solid-tailwind-generated.css -c ./tailwind.config.js --minify",
6
6
  "prebuild": "npm run build:tailwind && npm run copy-resources && npm run copy-styles",