@amelharrak/eldo-ui 1.0.8 → 1.1.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 (152) hide show
  1. package/README.md +12 -12
  2. package/dist/css/{eldo.css → eldora.css} +487 -1
  3. package/dist/css/eldora.css.map +1 -0
  4. package/dist/css/eldora.min.css +1 -0
  5. package/dist/eldo-ui.css +1 -0
  6. package/dist/index.cjs +1 -1
  7. package/dist/index.cjs.map +1 -1
  8. package/dist/index.mjs +69 -83
  9. package/dist/index.mjs.map +1 -1
  10. package/dist/index.umd.js +1 -1
  11. package/dist/index.umd.js.map +1 -1
  12. package/dist/types/__tests__/Accordion.test.d.ts +1 -0
  13. package/dist/types/__tests__/Avatar.test.d.ts +1 -0
  14. package/dist/types/__tests__/Badge.test.d.ts +1 -0
  15. package/dist/types/__tests__/Blockquote.test.d.ts +1 -0
  16. package/dist/types/__tests__/Box.test.d.ts +1 -0
  17. package/dist/types/__tests__/Breadcrumb.test.d.ts +1 -0
  18. package/dist/types/__tests__/ButtonGroup.test.d.ts +1 -0
  19. package/dist/types/__tests__/Calendar.test.d.ts +1 -0
  20. package/dist/types/__tests__/Callout.test.d.ts +1 -0
  21. package/dist/types/__tests__/Card.test.d.ts +1 -0
  22. package/dist/types/__tests__/Carousel.test.d.ts +1 -0
  23. package/dist/types/__tests__/Checkbox.test.d.ts +1 -0
  24. package/dist/types/__tests__/CheckboxGroup.test.d.ts +1 -0
  25. package/dist/types/__tests__/CloseButton.test.d.ts +1 -0
  26. package/dist/types/__tests__/Col.test.d.ts +1 -0
  27. package/dist/types/__tests__/Collapse.test.d.ts +1 -0
  28. package/dist/types/__tests__/Combobox.test.d.ts +1 -0
  29. package/dist/types/__tests__/Container.test.d.ts +1 -0
  30. package/dist/types/__tests__/Divider.test.d.ts +1 -0
  31. package/dist/types/__tests__/Dropdown.test.d.ts +1 -0
  32. package/dist/types/__tests__/FileUpload.test.d.ts +1 -0
  33. package/dist/types/__tests__/FloatingLabel.test.d.ts +1 -0
  34. package/dist/types/__tests__/Footer.test.d.ts +1 -0
  35. package/dist/types/__tests__/Form.test.d.ts +1 -0
  36. package/dist/types/__tests__/Header.test.d.ts +1 -0
  37. package/dist/types/__tests__/Image.test.d.ts +1 -0
  38. package/dist/types/__tests__/Input.test.d.ts +1 -0
  39. package/dist/types/__tests__/InputGroup.test.d.ts +1 -0
  40. package/dist/types/__tests__/InputOTP.test.d.ts +1 -0
  41. package/dist/types/__tests__/ListGroup.test.d.ts +1 -0
  42. package/dist/types/__tests__/Nav.test.d.ts +1 -0
  43. package/dist/types/__tests__/Navbar.test.d.ts +1 -0
  44. package/dist/types/__tests__/NumberInput.test.d.ts +1 -0
  45. package/dist/types/__tests__/Offcanvas.test.d.ts +1 -0
  46. package/dist/types/__tests__/Pagination.test.d.ts +1 -0
  47. package/dist/types/__tests__/Placeholder.test.d.ts +1 -0
  48. package/dist/types/__tests__/Popover.test.d.ts +1 -0
  49. package/dist/types/__tests__/Progress.test.d.ts +1 -0
  50. package/dist/types/__tests__/Radio.test.d.ts +1 -0
  51. package/dist/types/__tests__/RadioGroup.test.d.ts +1 -0
  52. package/dist/types/__tests__/Row.test.d.ts +1 -0
  53. package/dist/types/__tests__/Scrollspy.test.d.ts +1 -0
  54. package/dist/types/__tests__/Select.test.d.ts +1 -0
  55. package/dist/types/__tests__/Sidebar.test.d.ts +1 -0
  56. package/dist/types/__tests__/Slider.test.d.ts +1 -0
  57. package/dist/types/__tests__/Snippet.test.d.ts +1 -0
  58. package/dist/types/__tests__/Sonner.test.d.ts +1 -0
  59. package/dist/types/__tests__/Sparkline.test.d.ts +1 -0
  60. package/dist/types/__tests__/Spinner.test.d.ts +1 -0
  61. package/dist/types/__tests__/Stat.test.d.ts +1 -0
  62. package/dist/types/__tests__/StatWidget.test.d.ts +1 -0
  63. package/dist/types/__tests__/Switch.test.d.ts +1 -0
  64. package/dist/types/__tests__/Table.test.d.ts +1 -0
  65. package/dist/types/__tests__/Tabs.test.d.ts +1 -0
  66. package/dist/types/__tests__/Tag.test.d.ts +1 -0
  67. package/dist/types/__tests__/TagsInput.test.d.ts +1 -0
  68. package/dist/types/__tests__/Text.test.d.ts +1 -0
  69. package/dist/types/__tests__/Timeline.test.d.ts +1 -0
  70. package/dist/types/__tests__/Toast.test.d.ts +1 -0
  71. package/dist/types/__tests__/Toaster.test.d.ts +1 -0
  72. package/dist/types/__tests__/Tooltip.test.d.ts +1 -0
  73. package/dist/types/__tests__/TreeView.test.d.ts +1 -0
  74. package/dist/types/__tests__/User.test.d.ts +1 -0
  75. package/dist/types/components/Accordion.d.ts +21 -11
  76. package/dist/types/components/Alert.d.ts +9 -14
  77. package/dist/types/components/Avatar.d.ts +49 -8
  78. package/dist/types/components/Badge.d.ts +5 -5
  79. package/dist/types/components/Blockquote.d.ts +18 -0
  80. package/dist/types/components/Box.d.ts +55 -25
  81. package/dist/types/components/Breadcrumb.d.ts +13 -1
  82. package/dist/types/components/Button.d.ts +16 -10
  83. package/dist/types/components/ButtonGroup.d.ts +6 -1
  84. package/dist/types/components/Calendar.d.ts +12 -0
  85. package/dist/types/components/Callout.d.ts +19 -0
  86. package/dist/types/components/Card.d.ts +44 -19
  87. package/dist/types/components/Carousel.d.ts +17 -18
  88. package/dist/types/components/Checkbox.d.ts +49 -2
  89. package/dist/types/components/CheckboxGroup.d.ts +17 -15
  90. package/dist/types/components/CloseButton.d.ts +18 -0
  91. package/dist/types/components/Collapse.d.ts +6 -11
  92. package/dist/types/components/Combobox.d.ts +33 -10
  93. package/dist/types/components/Divider.d.ts +16 -0
  94. package/dist/types/components/FileUpload.d.ts +14 -9
  95. package/dist/types/components/FloatingLabel.d.ts +8 -0
  96. package/dist/types/components/Footer.d.ts +29 -0
  97. package/dist/types/components/Form.d.ts +93 -0
  98. package/dist/types/components/Grid.d.ts +30 -0
  99. package/dist/types/components/Header.d.ts +22 -0
  100. package/dist/types/components/Image.d.ts +9 -0
  101. package/dist/types/components/Input.d.ts +11 -21
  102. package/dist/types/components/InputGroup.d.ts +18 -15
  103. package/dist/types/components/InputOTP.d.ts +6 -13
  104. package/dist/types/components/ListGroup.d.ts +23 -1
  105. package/dist/types/components/Modal.d.ts +31 -6
  106. package/dist/types/components/Nav.d.ts +48 -0
  107. package/dist/types/components/NumberInput.d.ts +9 -15
  108. package/dist/types/components/Offcanvas.d.ts +10 -14
  109. package/dist/types/components/Pagination.d.ts +9 -14
  110. package/dist/types/components/Placeholder.d.ts +19 -0
  111. package/dist/types/components/Popover.d.ts +9 -13
  112. package/dist/types/components/Progress.d.ts +21 -5
  113. package/dist/types/components/Radio.d.ts +28 -15
  114. package/dist/types/components/RadioGroup.d.ts +17 -16
  115. package/dist/types/components/Scrollspy.d.ts +6 -12
  116. package/dist/types/components/Select.d.ts +21 -15
  117. package/dist/types/components/Sidebar.d.ts +1 -1
  118. package/dist/types/components/Slider.d.ts +21 -16
  119. package/dist/types/components/Snippet.d.ts +6 -0
  120. package/dist/types/components/Sparkline.d.ts +17 -0
  121. package/dist/types/components/Spinner.d.ts +7 -14
  122. package/dist/types/components/Stat.d.ts +19 -24
  123. package/dist/types/components/StatWidget.d.ts +8 -0
  124. package/dist/types/components/Switch.d.ts +13 -13
  125. package/dist/types/components/Table.d.ts +20 -19
  126. package/dist/types/components/TableComponents.d.ts +3 -3
  127. package/dist/types/components/Tabs.d.ts +17 -18
  128. package/dist/types/components/Tag.d.ts +9 -14
  129. package/dist/types/components/TagsInput.d.ts +4 -0
  130. package/dist/types/components/Text.d.ts +28 -11
  131. package/dist/types/components/Timeline.d.ts +35 -40
  132. package/dist/types/components/Toast.d.ts +30 -16
  133. package/dist/types/components/ToastComponents.d.ts +4 -4
  134. package/dist/types/components/Toaster.d.ts +13 -0
  135. package/dist/types/components/Tooltip.d.ts +11 -11
  136. package/dist/types/components/TreeView.d.ts +7 -0
  137. package/dist/types/components/User.d.ts +6 -11
  138. package/dist/types/index.d.ts +9 -9
  139. package/package.json +5 -5
  140. package/setup.js +8 -8
  141. package/src/scss/abstracts/_variables.scss +18 -0
  142. package/src/scss/components/_button-group.scss +53 -0
  143. package/src/scss/components/_close-button.scss +37 -0
  144. package/src/scss/components/_collapse.scss +1 -0
  145. package/src/scss/components/_footer.scss +116 -0
  146. package/src/scss/components/_header.scss +65 -0
  147. package/src/scss/components/_image.scss +21 -0
  148. package/src/scss/components/_input-group.scss +87 -0
  149. package/src/scss/components/_list-group.scss +20 -0
  150. package/src/scss/{eldo.scss → eldora.scss} +5 -0
  151. package/dist/css/eldo.css.map +0 -1
  152. package/dist/css/eldo.min.css +0 -1
package/README.md CHANGED
@@ -1,12 +1,12 @@
1
- # @amelharrak/eldo-ui
1
+ # @eldora/ui
2
2
 
3
3
  <div align="center">
4
4
 
5
5
  ![Eldo UI Banner](https://via.placeholder.com/1200x300?text=Eldo+UI+Library)
6
6
 
7
- [![NPM Version](https://img.shields.io/npm/v/@amelharrak/eldo-ui?style=flat-square&color=blue)](https://www.npmjs.com/package/@amelharrak/eldo-ui)
8
- [![License](https://img.shields.io/npm/l/@amelharrak/eldo-ui?style=flat-square)](LICENSE)
9
- [![Bundle Size](https://img.shields.io/bundlephobia/minzip/@amelharrak/eldo-ui?style=flat-square&color=green)](https://bundlephobia.com/package/@amelharrak/eldo-ui)
7
+ [![NPM Version](https://img.shields.io/npm/v/@eldora/ui?style=flat-square&color=blue)](https://www.npmjs.com/package/@eldora/ui)
8
+ [![License](https://img.shields.io/npm/l/@eldora/ui?style=flat-square)](LICENSE)
9
+ [![Bundle Size](https://img.shields.io/bundlephobia/minzip/@eldora/ui?style=flat-square&color=green)](https://bundlephobia.com/package/@eldora/ui)
10
10
  [![Accessibility](https://img.shields.io/badge/Accessibility-100%25-success?style=flat-square&logo=w3c)](README.md#accessibility)
11
11
  [![TypeScript](https://img.shields.io/badge/TypeScript-Included-blue?style=flat-square&logo=typescript)](https://www.typescriptlang.org/)
12
12
 
@@ -25,7 +25,7 @@ Eldo UI is designed to be the foundational layer for your next React application
25
25
 
26
26
  - **🧩 60+ Components**: Ready-to-use, fully typed, and tree-shakeable.
27
27
  - **♿ 100% Accessible**: Built with WAI-ARIA standards (WCAG 2.1) for inclusion.
28
- - **⚡ Lightweight**: <15kB gzipped (minimized bundle) with zero-bloat architecture.
28
+ - **⚡ Lightweight**: <15kB gzipped (minimized bundle) with **Zero Dependencies** (only React peer deps).
29
29
  - **🎨 Themeable**: Built on Sass & CSS Variables for effortless customization.
30
30
  - **🛠️ Developer First**: Type definitions, meaningful props, and consistent APIs.
31
31
  - **🔧 Framework Agnostic**: Works seamlessly with Next.js (App Router ready), Vite, Remix, and CRA.
@@ -35,11 +35,11 @@ Eldo UI is designed to be the foundational layer for your next React application
35
35
  Install the package via your preferred package manager:
36
36
 
37
37
  ```bash
38
- npm install @amelharrak/eldo-ui
38
+ npm install @eldora/ui
39
39
  # or
40
- yarn add @amelharrak/eldo-ui
40
+ yarn add @eldora/ui
41
41
  # or
42
- pnpm add @amelharrak/eldo-ui
42
+ pnpm add @eldora/ui
43
43
  ```
44
44
 
45
45
  ## 🛠️ Setup
@@ -49,7 +49,7 @@ pnpm add @amelharrak/eldo-ui
49
49
  Add the core styles to your application's entry point (`App.js`, `main.tsx`, or `layout.tsx`):
50
50
 
51
51
  ```javascript
52
- import '@amelharrak/eldo-ui/css/eldo.css';
52
+ import '@eldora/ui/css/eldo.css';
53
53
  ```
54
54
 
55
55
  ### 2. Usage Example
@@ -58,7 +58,7 @@ Everything is exported as named exports. Import what you need:
58
58
 
59
59
  ```tsx
60
60
  import { useState } from 'react';
61
- import { Button, Modal, Card, Input } from '@amelharrak/eldo-ui';
61
+ import { Button, Modal, Card, Input } from '@eldora/ui';
62
62
 
63
63
  function App() {
64
64
  const [isOpen, setIsOpen] = useState(false);
@@ -96,7 +96,7 @@ Eldo UI components are compatible with Next.js App Router. For interactive compo
96
96
 
97
97
  ```tsx
98
98
  // app/page.tsx
99
- import { Button } from '@amelharrak/eldo-ui';
99
+ import { Button } from '@eldora/ui';
100
100
 
101
101
  export default function Page() {
102
102
  return <Button>Click Me</Button>;
@@ -183,7 +183,7 @@ Import the abstract files to override defaults before compiling:
183
183
  $primary: #8b5cf6;
184
184
  $enable-rounded: true;
185
185
 
186
- @import "@amelharrak/eldo-ui/scss/eldo";
186
+ @import "@eldora/ui/scss/eldo";
187
187
  ```
188
188
 
189
189
  ## 🤝 Contributing
@@ -1475,6 +1475,132 @@ a:hover {
1475
1475
  background-color: var(--e-list-group-action-active-bg);
1476
1476
  }
1477
1477
 
1478
+ .list-group-item-default {
1479
+ color: hsl(240, 5%, 15.6%);
1480
+ background-color: hsl(240, 5%, 88.9%);
1481
+ }
1482
+ .list-group-item-default.list-group-item-action:hover, .list-group-item-default.list-group-item-action:focus {
1483
+ color: hsl(240, 5%, 13%);
1484
+ background-color: hsl(240, 5%, 81.5%);
1485
+ }
1486
+ .list-group-item-default.active {
1487
+ color: #fff;
1488
+ background-color: hsl(240, 5%, 26%);
1489
+ border-color: hsl(240, 5%, 26%);
1490
+ }
1491
+
1492
+ .list-group-item-primary {
1493
+ color: hsl(212, 100%, 28.2%);
1494
+ background-color: hsl(212, 100%, 92.05%);
1495
+ }
1496
+ .list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {
1497
+ color: hsl(212, 100%, 23.5%);
1498
+ background-color: hsl(212, 100%, 86.75%);
1499
+ }
1500
+ .list-group-item-primary.active {
1501
+ color: #fff;
1502
+ background-color: hsl(212, 100%, 47%);
1503
+ border-color: hsl(212, 100%, 47%);
1504
+ }
1505
+
1506
+ .list-group-item-secondary {
1507
+ color: hsl(270, 59%, 34.8%);
1508
+ background-color: hsl(270, 59%, 93.7%);
1509
+ }
1510
+ .list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {
1511
+ color: hsl(270, 59%, 29%);
1512
+ background-color: hsl(270, 59%, 89.5%);
1513
+ }
1514
+ .list-group-item-secondary.active {
1515
+ color: #fff;
1516
+ background-color: hsl(270, 59%, 58%);
1517
+ border-color: hsl(270, 59%, 58%);
1518
+ }
1519
+
1520
+ .list-group-item-success {
1521
+ color: hsl(152, 57%, 30%);
1522
+ background-color: hsl(152, 57%, 92.5%);
1523
+ }
1524
+ .list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {
1525
+ color: hsl(152, 57%, 25%);
1526
+ background-color: hsl(152, 57%, 87.5%);
1527
+ }
1528
+ .list-group-item-success.active {
1529
+ color: #fff;
1530
+ background-color: hsl(152, 57%, 50%);
1531
+ border-color: hsl(152, 57%, 50%);
1532
+ }
1533
+
1534
+ .list-group-item-info {
1535
+ color: hsl(190, 80%, 30%);
1536
+ background-color: hsl(190, 80%, 92.5%);
1537
+ }
1538
+ .list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {
1539
+ color: hsl(190, 80%, 25%);
1540
+ background-color: hsl(190, 80%, 87.5%);
1541
+ }
1542
+ .list-group-item-info.active {
1543
+ color: #fff;
1544
+ background-color: hsl(190, 80%, 50%);
1545
+ border-color: hsl(190, 80%, 50%);
1546
+ }
1547
+
1548
+ .list-group-item-warning {
1549
+ color: hsl(36, 100%, 30%);
1550
+ background-color: hsl(36, 100%, 92.5%);
1551
+ }
1552
+ .list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {
1553
+ color: hsl(36, 100%, 25%);
1554
+ background-color: hsl(36, 100%, 87.5%);
1555
+ }
1556
+ .list-group-item-warning.active {
1557
+ color: #fff;
1558
+ background-color: hsl(36, 100%, 50%);
1559
+ border-color: hsl(36, 100%, 50%);
1560
+ }
1561
+
1562
+ .list-group-item-danger {
1563
+ color: hsl(338, 70%, 30%);
1564
+ background-color: hsl(338, 70%, 92.5%);
1565
+ }
1566
+ .list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {
1567
+ color: hsl(338, 70%, 25%);
1568
+ background-color: hsl(338, 70%, 87.5%);
1569
+ }
1570
+ .list-group-item-danger.active {
1571
+ color: #fff;
1572
+ background-color: hsl(338, 70%, 50%);
1573
+ border-color: hsl(338, 70%, 50%);
1574
+ }
1575
+
1576
+ .list-group-item-light {
1577
+ color: hsl(210, 20%, 58.8%);
1578
+ background-color: hsl(210, 20%, 99.7%);
1579
+ }
1580
+ .list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {
1581
+ color: hsl(210, 20%, 49%);
1582
+ background-color: hsl(210, 20%, 99.5%);
1583
+ }
1584
+ .list-group-item-light.active {
1585
+ color: #fff;
1586
+ background-color: hsl(210, 20%, 98%);
1587
+ border-color: hsl(210, 20%, 98%);
1588
+ }
1589
+
1590
+ .list-group-item-dark {
1591
+ color: hsl(220, 30%, 9%);
1592
+ background-color: hsl(220, 30%, 87.25%);
1593
+ }
1594
+ .list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {
1595
+ color: hsl(220, 30%, 7.5%);
1596
+ background-color: hsl(220, 30%, 78.75%);
1597
+ }
1598
+ .list-group-item-dark.active {
1599
+ color: #fff;
1600
+ background-color: hsl(220, 30%, 15%);
1601
+ border-color: hsl(220, 30%, 15%);
1602
+ }
1603
+
1478
1604
  .btn {
1479
1605
  display: inline-block;
1480
1606
  font-weight: 400;
@@ -1722,6 +1848,86 @@ a:hover {
1722
1848
  border-bottom-left-radius: 0;
1723
1849
  }
1724
1850
 
1851
+ .btn-group-vertical {
1852
+ flex-direction: column;
1853
+ align-items: flex-start;
1854
+ justify-content: center;
1855
+ }
1856
+ .btn-group-vertical > .btn {
1857
+ width: 100%;
1858
+ }
1859
+ .btn-group-vertical > .btn:not(:first-child),
1860
+ .btn-group-vertical > .btn-group:not(:first-child) {
1861
+ margin-top: -1px;
1862
+ margin-left: 0;
1863
+ }
1864
+ .btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),
1865
+ .btn-group-vertical > .btn-group:not(:last-child) > .btn {
1866
+ border-bottom-right-radius: 0;
1867
+ border-bottom-left-radius: 0;
1868
+ }
1869
+ .btn-group-vertical > .btn:not(:first-child),
1870
+ .btn-group-vertical > .btn-group:not(:first-child) > .btn {
1871
+ border-top-left-radius: 0;
1872
+ border-top-right-radius: 0;
1873
+ }
1874
+
1875
+ .btn-group-sm > .btn {
1876
+ padding: 0.25rem 0.5rem;
1877
+ font-size: 0.875rem;
1878
+ border-radius: 0.25rem;
1879
+ }
1880
+
1881
+ .btn-group-lg > .btn {
1882
+ padding: 0.5rem 1rem;
1883
+ font-size: 1.25rem;
1884
+ border-radius: 0.5rem;
1885
+ }
1886
+
1887
+ .btn-group-sm > .btn {
1888
+ padding: 0.25rem 0.5rem;
1889
+ font-size: 0.875rem;
1890
+ border-radius: 0.25rem;
1891
+ }
1892
+
1893
+ .btn-group-lg > .btn {
1894
+ padding: 0.5rem 1rem;
1895
+ font-size: 1.25rem;
1896
+ border-radius: 0.5rem;
1897
+ }
1898
+
1899
+ .btn-close {
1900
+ box-sizing: content-box;
1901
+ width: 1em;
1902
+ height: 1em;
1903
+ padding: 0.25em 0.25em;
1904
+ color: #000;
1905
+ background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;
1906
+ border: 0;
1907
+ border-radius: 0.375rem;
1908
+ opacity: 0.5;
1909
+ cursor: pointer;
1910
+ }
1911
+ .btn-close:hover {
1912
+ color: #000;
1913
+ text-decoration: none;
1914
+ opacity: 0.75;
1915
+ }
1916
+ .btn-close:focus {
1917
+ outline: 0;
1918
+ box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
1919
+ opacity: 1;
1920
+ }
1921
+ .btn-close:disabled, .btn-close.disabled {
1922
+ pointer-events: none;
1923
+ user-select: none;
1924
+ opacity: 0.25;
1925
+ }
1926
+
1927
+ .btn-close-white {
1928
+ filter: invert(1) grayscale(100%) brightness(200%);
1929
+ }
1930
+
1725
1931
  .card {
1726
1932
  position: relative;
1727
1933
  display: flex;
@@ -2874,6 +3080,168 @@ pre code {
2874
3080
  width: 100%;
2875
3081
  }
2876
3082
 
3083
+ /* Header Styles */
3084
+ .header {
3085
+ width: 100%;
3086
+ background-color: #fff;
3087
+ box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
3088
+ padding: 1rem 1.5rem;
3089
+ }
3090
+
3091
+ .header-content {
3092
+ display: flex;
3093
+ align-items: center;
3094
+ justify-content: space-between;
3095
+ }
3096
+
3097
+ .header-brand {
3098
+ font-size: 1.25rem;
3099
+ font-weight: 700;
3100
+ color: #212529;
3101
+ text-decoration: none;
3102
+ margin-right: 2rem;
3103
+ }
3104
+
3105
+ .header-nav {
3106
+ display: flex;
3107
+ align-items: center;
3108
+ gap: 1.5rem;
3109
+ }
3110
+
3111
+ .header-link {
3112
+ color: #6c757d;
3113
+ text-decoration: none;
3114
+ font-weight: 500;
3115
+ transition: color 0.15s ease-in-out;
3116
+ }
3117
+
3118
+ .header-link:hover,
3119
+ .header-link.active {
3120
+ color: #0d6efd;
3121
+ }
3122
+
3123
+ .header-actions {
3124
+ display: flex;
3125
+ align-items: center;
3126
+ gap: 1rem;
3127
+ margin-left: auto;
3128
+ }
3129
+
3130
+ /* Dark Theme */
3131
+ .header-dark {
3132
+ background-color: #212529;
3133
+ color: #fff;
3134
+ }
3135
+
3136
+ .header-dark .header-brand {
3137
+ color: #fff;
3138
+ }
3139
+
3140
+ .header-dark .header-link {
3141
+ color: rgba(255, 255, 255, 0.55);
3142
+ }
3143
+
3144
+ .header-dark .header-link:hover,
3145
+ .header-dark .header-link.active {
3146
+ color: #fff;
3147
+ }
3148
+
3149
+ .img-fluid {
3150
+ max-width: 100%;
3151
+ height: auto;
3152
+ }
3153
+
3154
+ .img-thumbnail {
3155
+ padding: 0.25rem;
3156
+ background-color: #fff;
3157
+ border: 1px solid #dee2e6;
3158
+ border-radius: 0.375rem;
3159
+ max-width: 100%;
3160
+ height: auto;
3161
+ }
3162
+
3163
+ .rounded {
3164
+ border-radius: 0.375rem !important;
3165
+ }
3166
+
3167
+ .rounded-circle {
3168
+ border-radius: 50% !important;
3169
+ }
3170
+
3171
+ .input-group {
3172
+ position: relative;
3173
+ display: flex;
3174
+ flex-wrap: wrap;
3175
+ align-items: stretch;
3176
+ width: 100%;
3177
+ }
3178
+ .input-group > .form-control,
3179
+ .input-group > .form-select,
3180
+ .input-group > .form-floating {
3181
+ position: relative;
3182
+ flex: 1 1 auto;
3183
+ width: 1%;
3184
+ min-width: 0;
3185
+ }
3186
+ .input-group > .form-control:focus,
3187
+ .input-group > .form-select:focus,
3188
+ .input-group > .form-floating:focus-within {
3189
+ z-index: 5;
3190
+ }
3191
+ .input-group .btn {
3192
+ position: relative;
3193
+ z-index: 2;
3194
+ }
3195
+ .input-group .btn:focus {
3196
+ z-index: 5;
3197
+ }
3198
+ .input-group .input-group-text {
3199
+ display: flex;
3200
+ align-items: center;
3201
+ padding: 0.375rem 0.75rem;
3202
+ font-size: 1rem;
3203
+ font-weight: 400;
3204
+ line-height: 1.5;
3205
+ color: #18181b;
3206
+ text-align: center;
3207
+ white-space: nowrap;
3208
+ background-color: #e4e4e7;
3209
+ border: 1px solid #ced4da;
3210
+ border-radius: 0.5rem;
3211
+ }
3212
+ .input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),
3213
+ .input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3),
3214
+ .input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control,
3215
+ .input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select {
3216
+ border-top-right-radius: 0;
3217
+ border-bottom-right-radius: 0;
3218
+ }
3219
+ .input-group:not(.has-validation) > :not(:first-child):not(.dropdown-menu):not(.form-floating):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback),
3220
+ .input-group:not(.has-validation) > .form-floating:not(:first-child) > .form-control,
3221
+ .input-group:not(.has-validation) > .form-floating:not(:first-child) > .form-select {
3222
+ border-top-left-radius: 0;
3223
+ border-bottom-left-radius: 0;
3224
+ margin-left: -1px;
3225
+ }
3226
+
3227
+ .input-group-sm > .form-control,
3228
+ .input-group-sm > .form-select,
3229
+ .input-group-sm > .input-group-text,
3230
+ .input-group-sm > .btn {
3231
+ padding: 0.25rem 0.5rem;
3232
+ font-size: 0.875rem;
3233
+ border-radius: 0.375rem;
3234
+ }
3235
+
3236
+ .input-group-lg > .form-control,
3237
+ .input-group-lg > .form-select,
3238
+ .input-group-lg > .input-group-text,
3239
+ .input-group-lg > .btn {
3240
+ padding: 0.5rem 1rem;
3241
+ font-size: 1.25rem;
3242
+ border-radius: 0.75rem;
3243
+ }
3244
+
2877
3245
  .form-control[type=file]::file-selector-button {
2878
3246
  background-color: #e4e4e7;
2879
3247
  color: #18181b;
@@ -3342,6 +3710,123 @@ pre code {
3342
3710
  color: #71717a;
3343
3711
  }
3344
3712
 
3713
+ .footer {
3714
+ background-color: #f8f9fa;
3715
+ padding: 2rem 0;
3716
+ margin-top: 3rem;
3717
+ border-top: 1px solid #dee2e6;
3718
+ }
3719
+
3720
+ .footer-content {
3721
+ display: flex;
3722
+ justify-content: space-between;
3723
+ align-items: center;
3724
+ }
3725
+
3726
+ .footer-links {
3727
+ display: flex;
3728
+ gap: 1.5rem;
3729
+ list-style: none;
3730
+ padding: 0;
3731
+ margin: 0;
3732
+ }
3733
+
3734
+ .footer-links a {
3735
+ color: #6c757d;
3736
+ text-decoration: none;
3737
+ }
3738
+
3739
+ .footer-links a:hover {
3740
+ color: #0d6efd;
3741
+ font-weight: 500;
3742
+ }
3743
+
3744
+ .footer-text {
3745
+ color: #6c757d;
3746
+ margin: 0;
3747
+ }
3748
+
3749
+ .footer-dark {
3750
+ background-color: #212529;
3751
+ border-top: none;
3752
+ color: #f8f9fa;
3753
+ }
3754
+
3755
+ .footer-dark .footer-text {
3756
+ color: #adb5bd;
3757
+ }
3758
+
3759
+ .footer-dark .footer-links a {
3760
+ color: #adb5bd;
3761
+ }
3762
+
3763
+ .footer-dark .footer-links a:hover {
3764
+ color: #fff;
3765
+ }
3766
+
3767
+ .social-links {
3768
+ display: flex;
3769
+ gap: 1rem;
3770
+ list-style: none;
3771
+ padding: 0;
3772
+ margin: 0;
3773
+ }
3774
+
3775
+ .social-links a {
3776
+ color: inherit;
3777
+ opacity: 0.75;
3778
+ transition: opacity 0.2s;
3779
+ }
3780
+
3781
+ .social-links a:hover {
3782
+ opacity: 1;
3783
+ }
3784
+
3785
+ .footer-columns {
3786
+ display: grid;
3787
+ grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
3788
+ gap: 2rem;
3789
+ margin-bottom: 2rem;
3790
+ }
3791
+
3792
+ .footer-column h5 {
3793
+ font-weight: 600;
3794
+ margin-bottom: 1rem;
3795
+ color: #212529;
3796
+ }
3797
+
3798
+ .footer-dark .footer-column h5 {
3799
+ color: #fff;
3800
+ }
3801
+
3802
+ .footer-column ul {
3803
+ list-style: none;
3804
+ padding: 0;
3805
+ margin: 0;
3806
+ }
3807
+
3808
+ .footer-column ul li {
3809
+ margin-bottom: 0.5rem;
3810
+ }
3811
+
3812
+ .footer-column ul li a {
3813
+ color: #6c757d;
3814
+ text-decoration: none;
3815
+ }
3816
+
3817
+ .footer-dark .footer-column ul li a {
3818
+ color: #adb5bd;
3819
+ }
3820
+
3821
+ .footer-column ul li a:hover {
3822
+ color: #0d6efd;
3823
+ font-weight: 500;
3824
+ }
3825
+
3826
+ .footer-dark .footer-column ul li a:hover {
3827
+ color: #fff;
3828
+ }
3829
+
3345
3830
  .calendar {
3346
3831
  width: 300px;
3347
3832
  max-width: 100%;
@@ -4413,6 +4898,7 @@ pre code {
4413
4898
  height: 0;
4414
4899
  overflow: hidden;
4415
4900
  transition: height 0.35s ease;
4901
+ display: block;
4416
4902
  }
4417
4903
 
4418
4904
  .modal {
@@ -12217,4 +12703,4 @@ body.command-open {
12217
12703
  }
12218
12704
  }
12219
12705
 
12220
- /*# sourceMappingURL=eldo.css.map */
12706
+ /*# sourceMappingURL=eldora.css.map */