@semanticus/semanticus-css 0.7.0 → 0.9.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 (138) hide show
  1. package/README.md +8 -10
  2. package/dist/semanticus-semantics.css +11 -1
  3. package/dist/semanticus.css +13 -1
  4. package/dist/semanticus.palette.amber.css +1 -1
  5. package/dist/semanticus.palette.blue.css +1 -1
  6. package/dist/semanticus.palette.cyan.css +1 -1
  7. package/dist/semanticus.palette.fuchsia.css +1 -1
  8. package/dist/semanticus.palette.green.css +1 -1
  9. package/dist/semanticus.palette.grey.css +1 -1
  10. package/dist/semanticus.palette.indigo.css +1 -1
  11. package/dist/semanticus.palette.jade.css +1 -1
  12. package/dist/semanticus.palette.lime.css +1 -1
  13. package/dist/semanticus.palette.orange.css +1 -1
  14. package/dist/semanticus.palette.pink.css +1 -1
  15. package/dist/semanticus.palette.pumpkin.css +1 -1
  16. package/dist/semanticus.palette.purple.css +1 -1
  17. package/dist/semanticus.palette.red.css +1 -1
  18. package/dist/semanticus.palette.sand.css +1 -1
  19. package/dist/semanticus.palette.slate.css +1 -1
  20. package/dist/semanticus.palette.violet.css +1 -1
  21. package/dist/semanticus.palette.yellow.css +1 -1
  22. package/dist/semanticus.palette.zinc.css +1 -1
  23. package/dist/semanticus.size.pico.css +1 -0
  24. package/package.json +13 -14
  25. package/src/index.css +11 -4
  26. package/src/palettes/amber.css +3 -3
  27. package/src/palettes/blue.css +3 -3
  28. package/src/palettes/cyan.css +3 -3
  29. package/src/palettes/fuchsia.css +3 -3
  30. package/src/palettes/green.css +3 -3
  31. package/src/palettes/grey.css +3 -3
  32. package/src/palettes/indigo.css +3 -3
  33. package/src/palettes/jade.css +3 -3
  34. package/src/palettes/lime.css +3 -3
  35. package/src/palettes/orange.css +3 -3
  36. package/src/palettes/pink.css +3 -3
  37. package/src/palettes/pumpkin.css +3 -3
  38. package/src/palettes/purple.css +3 -3
  39. package/src/palettes/red.css +3 -3
  40. package/src/palettes/sand.css +3 -3
  41. package/src/palettes/slate.css +3 -3
  42. package/src/palettes/violet.css +3 -3
  43. package/src/palettes/yellow.css +3 -3
  44. package/src/palettes/zinc.css +3 -3
  45. package/src/semantics/_misc.css +3 -0
  46. package/src/semantics/attributes/_popover.css +13 -0
  47. package/src/semantics/attributes/_role-group-search.css +140 -0
  48. package/src/semantics/elements/_abbr.css +5 -0
  49. package/src/semantics/elements/_address.css +7 -0
  50. package/src/semantics/elements/_article.css +6 -0
  51. package/src/semantics/{_aside.css → elements/_aside.css} +3 -3
  52. package/src/semantics/elements/_blockquote.css +18 -0
  53. package/src/semantics/{_button.css → elements/_button.css} +2 -2
  54. package/src/semantics/{_code.css → elements/_code.css} +10 -7
  55. package/src/semantics/elements/_del.css +3 -0
  56. package/src/semantics/{_details.css → elements/_details.css} +10 -10
  57. package/src/semantics/elements/_dialog.css +117 -0
  58. package/src/semantics/elements/_footer.css +13 -0
  59. package/src/semantics/elements/_header.css +13 -0
  60. package/src/semantics/elements/_headings.css +34 -0
  61. package/src/semantics/elements/_hgroup.css +14 -0
  62. package/src/semantics/{_hr.css → elements/_hr.css} +1 -1
  63. package/src/semantics/{_input.css → elements/_input.css} +3 -4
  64. package/src/semantics/elements/_ins.css +4 -0
  65. package/src/semantics/{_links.css → elements/_links.css} +11 -4
  66. package/src/semantics/elements/_lists.css +22 -0
  67. package/src/semantics/elements/_main.css +7 -0
  68. package/src/semantics/elements/_mark.css +6 -0
  69. package/src/semantics/{_nav.css → elements/_nav.css} +4 -4
  70. package/src/semantics/elements/_p.css +11 -0
  71. package/src/semantics/{_progress.css → elements/_progress.css} +1 -1
  72. package/src/semantics/elements/_section.css +7 -0
  73. package/src/semantics/elements/_strong.css +4 -0
  74. package/src/semantics/elements/_sub.css +7 -0
  75. package/src/semantics/elements/_sup.css +7 -0
  76. package/src/semantics/{_table.css → elements/_table.css} +7 -2
  77. package/src/semantics/index.css +9 -4
  78. package/src/semantics/modules.css +47 -32
  79. package/src/sizes/pico.css +100 -0
  80. package/src/utilities/_variables.css +19 -214
  81. package/src/utilities/borders/_border-radius.css +24 -0
  82. package/src/utilities/borders/_border-width.css +8 -0
  83. package/src/utilities/colors/_background-colors.css +51 -44
  84. package/src/utilities/colors/_border-colors.css +14 -14
  85. package/src/utilities/colors/_text-colors.css +80 -80
  86. package/src/utilities/effects/_shadows.css +10 -10
  87. package/src/utilities/layout/_flexbox.css +16 -1
  88. package/src/utilities/layout/_misc.css +2 -2
  89. package/src/utilities/modules.css +6 -0
  90. package/src/utilities/spacing/_gap.css +63 -0
  91. package/src/utilities/spacing/_margin.css +145 -0
  92. package/src/utilities/spacing/_padding.css +145 -0
  93. package/src/utilities/typography/_font-sizes.css +0 -15
  94. package/src/variables/_all.css +15 -739
  95. package/src/variables/_breakpoints.css +10 -0
  96. package/src/variables/_colors.css +355 -0
  97. package/src/variables/_components.css +330 -0
  98. package/src/variables/_elements.css +194 -0
  99. package/src/variables/_icons.css +55 -0
  100. package/src/variables/_layout.css +123 -0
  101. package/src/variants/_contrast.css +28 -14
  102. package/src/variants/_ghost.css +36 -29
  103. package/src/variants/_pane-panel-card.css +54 -0
  104. package/src/variants/_secondary.css +25 -12
  105. package/src/variants/_sidebar.css +49 -9
  106. package/src/variants/modules.css +4 -6
  107. package/dist/semanticus-utilities.css +0 -7
  108. package/dist/semanticus-variants.css +0 -1
  109. package/dist/semanticus.size.slim.css +0 -1
  110. package/src/semantics/_article.css +0 -12
  111. package/src/semantics/_dialog.css +0 -157
  112. package/src/semantics/_footer.css +0 -12
  113. package/src/semantics/_header.css +0 -12
  114. package/src/semantics/_main.css +0 -10
  115. package/src/semantics/_role-group-search.css +0 -129
  116. package/src/semantics/_section.css +0 -9
  117. package/src/semantics/_typography.css +0 -146
  118. package/src/sizes/slim.css +0 -41
  119. package/src/utilities/index.css +0 -14
  120. package/src/variables/_shared.css +0 -121
  121. package/src/variants/_card.css +0 -45
  122. package/src/variants/_flow.css +0 -15
  123. package/src/variants/_panel.css +0 -18
  124. package/src/variants/index.css +0 -9
  125. /package/src/semantics/{_aria-busy.css → attributes/_aria-busy.css} +0 -0
  126. /package/src/semantics/{_hidden.css → attributes/_hidden.css} +0 -0
  127. /package/src/semantics/{_role-toolbar.css → attributes/_role-toolbar.css} +0 -0
  128. /package/src/semantics/{_role-tooltip.css → attributes/_role-tooltip.css} +0 -0
  129. /package/src/semantics/{_body.css → elements/_body.css} +0 -0
  130. /package/src/semantics/{_document.css → elements/_document.css} +0 -0
  131. /package/src/semantics/{_embedded.css → elements/_embedded.css} +0 -0
  132. /package/src/semantics/{_figure.css → elements/_figure.css} +0 -0
  133. /package/src/semantics/{_type-checkbox-radio.css → elements/_type-checkbox-radio.css} +0 -0
  134. /package/src/semantics/{_type-color.css → elements/_type-color.css} +0 -0
  135. /package/src/semantics/{_type-date.css → elements/_type-date.css} +0 -0
  136. /package/src/semantics/{_type-file.css → elements/_type-file.css} +0 -0
  137. /package/src/semantics/{_type-range.css → elements/_type-range.css} +0 -0
  138. /package/src/semantics/{_type-search.css → elements/_type-search.css} +0 -0
@@ -1,129 +0,0 @@
1
- /**
2
- * Group ([role="group"], [role="search"])
3
- */
4
- [role="search"],
5
- [role="group"] {
6
- display: inline-flex;
7
- position: relative;
8
- width: 100%;
9
- margin-bottom: var(--spacing);
10
- border-radius: var(--border-radius);
11
- box-shadow: var(--group-shadow, 0 0 0 rgba(0, 0, 0, 0));
12
- vertical-align: middle;
13
- transition: box-shadow var(--transition);
14
-
15
- & > *:not(details),
16
- & input:not([type="checkbox"], [type="radio"]),
17
- & select {
18
- position: relative;
19
- flex: 1 1 auto;
20
- margin-bottom: 0;
21
-
22
- &:not(:first-child) {
23
- margin-left: calc(var(--border-width) * -1);
24
- border-top-left-radius: 0;
25
- border-bottom-left-radius: 0;
26
- }
27
-
28
- &:not(:last-child) {
29
- border-top-right-radius: 0;
30
- border-bottom-right-radius: 0;
31
- }
32
-
33
- &:focus {
34
- z-index: 2;
35
- }
36
- }
37
-
38
- & button,
39
- & [type="submit"],
40
- & [type="reset"],
41
- & [type="button"],
42
- & [role="button"] {
43
- width: auto;
44
- }
45
-
46
- /* Details dropdown inside group */
47
- & > details {
48
- position: relative;
49
- margin-bottom: 0;
50
- /* Constrain details height to just the button, not the dropdown menu */
51
- height: calc(1rem * var(--line-height) + var(--form-element-spacing-vertical) * 2 + var(--border-width) * 2);
52
- overflow: visible;
53
-
54
- &:not(:first-child) {
55
- margin-left: calc(var(--border-width) * -1);
56
-
57
- & > summary {
58
- border-top-left-radius: 0;
59
- border-bottom-left-radius: 0;
60
- }
61
- }
62
-
63
- &:not(:last-child) > summary {
64
- border-top-right-radius: 0;
65
- border-bottom-right-radius: 0;
66
- }
67
-
68
- & > summary:focus {
69
- z-index: 2;
70
- }
71
-
72
- /* Ensure consistent height with other form elements in the group */
73
- & > summary[role="button"] {
74
- display: flex;
75
- align-items: center;
76
- height: 100%;
77
-
78
- &::after {
79
- height: calc(1rem * var(--line-height, 1.5));
80
- }
81
- }
82
- }
83
- }
84
-
85
- @supports selector(:has(*)) {
86
- [role="search"],
87
- [role="group"] {
88
- &:has(button:focus, [type="submit"]:focus, [type="button"]:focus, [role="button"]:focus) {
89
- --group-shadow: var(--group-shadow-focus-with-button);
90
-
91
- & input:not([type="checkbox"], [type="radio"]),
92
- & select {
93
- border-color: transparent;
94
- }
95
- }
96
-
97
- &:has(input:not([type="submit"], [type="button"]):focus, select:focus) {
98
- --group-shadow: var(--group-shadow-focus-with-input);
99
-
100
- & button,
101
- & [type="submit"],
102
- & [type="button"],
103
- & [role="button"] {
104
- --button-shadow: 0 0 0 var(--border-width) var(--color-primary-border);
105
- --button-shadow-hover: 0 0 0 var(--border-width) var(--color-primary-hover-border);
106
- }
107
- }
108
-
109
- & button:focus,
110
- & [type="submit"]:focus,
111
- & [type="reset"]:focus,
112
- & [type="button"]:focus,
113
- & [role="button"]:focus {
114
- box-shadow: none;
115
- }
116
- }
117
- }
118
-
119
- [role="search"] {
120
- & > :first-child {
121
- border-top-left-radius: 5rem;
122
- border-bottom-left-radius: 5rem;
123
- }
124
-
125
- & > :last-child {
126
- border-top-right-radius: 5rem;
127
- border-bottom-right-radius: 5rem;
128
- }
129
- }
@@ -1,9 +0,0 @@
1
- /**
2
- * Section
3
- */
4
- section {
5
- --block-spacing-vertical: calc(var(--spacing) * var(--responsive-multiplier));
6
- --block-spacing-horizontal: calc(var(--spacing) * var(--responsive-multiplier));
7
-
8
- margin-bottom: var(--block-spacing-vertical);
9
- }
@@ -1,146 +0,0 @@
1
- /**
2
- * Typography
3
- */
4
- b,
5
- strong {
6
- font-weight: bolder;
7
- }
8
-
9
- sub,
10
- sup {
11
- position: relative;
12
- font-size: 0.75em;
13
- line-height: 0;
14
- vertical-align: baseline;
15
- }
16
-
17
- sub {
18
- bottom: -0.25em;
19
- }
20
-
21
- sup {
22
- top: -0.5em;
23
- }
24
-
25
- address,
26
- blockquote,
27
- dl,
28
- ol,
29
- p,
30
- pre,
31
- table,
32
- ul {
33
- margin-top: 0;
34
- margin-bottom: var(--typography-spacing-vertical);
35
- color: var(--color-text);
36
- font-style: normal;
37
- font-weight: var(--font-weight);
38
- }
39
-
40
- h1,
41
- h2,
42
- h3,
43
- h4,
44
- h5,
45
- h6 {
46
- margin-top: 0;
47
- margin-bottom: var(--typography-spacing-vertical);
48
- color: var(--color-text);
49
- font-weight: var(--font-weight);
50
- font-size: var(--font-size);
51
- line-height: var(--line-height);
52
- font-family: var(--font-family);
53
- }
54
-
55
- /* Headings - progressive lightness using color-mix */
56
- h1 { --color-text: var(--color-heading-base); }
57
- h2 { --color-text: color-mix(in srgb, var(--color-heading-base), white 12%); }
58
- h3 { --color-text: color-mix(in srgb, var(--color-heading-base), white 22%); }
59
- h4 { --color-text: color-mix(in srgb, var(--color-heading-base), white 32%); }
60
- h5 { --color-text: color-mix(in srgb, var(--color-heading-base), white 45%); }
61
- h6 { --color-text: color-mix(in srgb, var(--color-heading-base), white 55%); }
62
-
63
- /* Dark mode headings - base is lightest, mix in black for lower levels */
64
- [data-theme="dark"] h1 { --color-text: var(--color-heading-base); }
65
- [data-theme="dark"] h2 { --color-text: color-mix(in srgb, var(--color-heading-base), black 8%); }
66
- [data-theme="dark"] h3 { --color-text: color-mix(in srgb, var(--color-heading-base), black 18%); }
67
- [data-theme="dark"] h4 { --color-text: color-mix(in srgb, var(--color-heading-base), black 28%); }
68
- [data-theme="dark"] h5 { --color-text: color-mix(in srgb, var(--color-heading-base), black 38%); }
69
- [data-theme="dark"] h6 { --color-text: color-mix(in srgb, var(--color-heading-base), black 48%); }
70
-
71
- :where(article, address, blockquote, dl, figure, form, ol, p, pre, table, ul, hr) ~ :is(h1, h2, h3, h4, h5, h6) {
72
- margin-top: var(--typography-spacing-top);
73
- }
74
-
75
- p {
76
- margin-bottom: var(--typography-spacing-vertical);
77
- }
78
-
79
- hgroup {
80
- margin-bottom: var(--typography-spacing-vertical);
81
-
82
- & > * {
83
- margin-top: 0;
84
- margin-bottom: 0;
85
-
86
- &:not(:first-child):last-child {
87
- --color-text: var(--color-text-muted);
88
- --font-weight: unset;
89
- font-size: 1rem;
90
- }
91
- }
92
- }
93
-
94
- :where(ol, ul) li {
95
- margin-bottom: calc(var(--typography-spacing-vertical) * 0.25);
96
- }
97
-
98
- :where(dl, ol, ul) :where(dl, ol, ul) {
99
- margin: 0;
100
- margin-top: calc(var(--typography-spacing-vertical) * 0.25);
101
- }
102
-
103
- ul li {
104
- list-style: square;
105
- }
106
-
107
- mark {
108
- padding: 0.125rem 0.25rem;
109
- background-color: var(--color-mark-bg);
110
- color: var(--color-mark-text);
111
- vertical-align: baseline;
112
- }
113
-
114
- blockquote {
115
- display: block;
116
- margin: var(--typography-spacing-vertical) 0;
117
- padding: var(--spacing);
118
- border-right: none;
119
- border-left: 0.25rem solid var(--blockquote-border-color);
120
- border-inline-start: 0.25rem solid var(--blockquote-border-color);
121
- border-inline-end: none;
122
-
123
- & footer {
124
- margin-top: calc(var(--typography-spacing-vertical) * 0.5);
125
- color: var(--blockquote-footer-color);
126
- }
127
- }
128
-
129
- abbr[title] {
130
- border-bottom: 1px dotted;
131
- text-decoration: none;
132
- cursor: help;
133
- }
134
-
135
- ins {
136
- color: rgb(var(--success-rgb));
137
- text-decoration: none;
138
- }
139
-
140
- del {
141
- color: rgb(var(--danger-rgb));
142
- }
143
-
144
- ::selection {
145
- background-color: var(--color-text-selection);
146
- }
@@ -1,41 +0,0 @@
1
- /*
2
- Semanticus CSS Size: Slim
3
- */
4
-
5
- /* Shared variables */
6
- @import '../variables/_shared.css';
7
-
8
- :root,
9
- :host {
10
- --font-size: 1rem;
11
- --spacing: 0.75rem;
12
- --block-spacing-vertical: 1.2rem;
13
- --block-spacing-horizontal: 1.2rem;
14
- --form-element-spacing-vertical: 0.5rem;
15
- --form-element-spacing-horizontal: 0.7rem;
16
- }
17
-
18
- @media (--breakpoint-xl) {
19
- :root,
20
- :host {
21
- --responsive-multiplier: 1.85;
22
- }
23
- }
24
-
25
- @media (--breakpoint-xxl) {
26
- :root,
27
- :host {
28
- --responsive-multiplier: 2;
29
- }
30
- }
31
-
32
- [role="search"] button,
33
- [role="search"] [type="submit"],
34
- [role="search"] [type="button"],
35
- [role="search"] [role="button"],
36
- [role="group"] button,
37
- [role="group"] [type="submit"],
38
- [role="group"] [type="button"],
39
- [role="group"] [role="button"] {
40
- --form-element-spacing-horizontal: 1rem;
41
- }
@@ -1,14 +0,0 @@
1
- /**
2
- * Semanticus CSS Utilities
3
- * Variables + Utility Classes
4
- * Perfect for utility-first development without semantic components
5
- */
6
-
7
- /* Variables */
8
- @import './_variables.css';
9
-
10
- /* Normalize */
11
- @import '../_normalize.css';
12
-
13
- /* Utility Modules */
14
- @import './modules.css';
@@ -1,121 +0,0 @@
1
- :root {
2
- --transparent: transparent;
3
- }
4
-
5
- /* ==========================================================================
6
- Responsive Breakpoints (custom media queries)
7
- Used consistently across semantics, variants, and utilities.
8
- ========================================================================== */
9
-
10
- @custom-media --breakpoint-sm (min-width: 576px);
11
- @custom-media --breakpoint-md (min-width: 768px);
12
- @custom-media --breakpoint-lg (min-width: 1024px);
13
- @custom-media --breakpoint-xl (min-width: 1280px);
14
- @custom-media --breakpoint-xxl (min-width: 1536px);
15
-
16
- /* ==========================================================================
17
- 2. Typography & Layout Variables (from Pico Theme)
18
- ========================================================================== */
19
-
20
- :root,
21
- :host {
22
- /* Font Families */
23
- --font-family-emoji: "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
24
- --font-family-sans-serif: system-ui, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, Helvetica, Arial, "Helvetica Neue", sans-serif, var(--font-family-emoji);
25
- --font-family-monospace: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace, var(--font-family-emoji);
26
- --font-family: var(--font-family-sans-serif);
27
-
28
- /* Typography – base defaults inherited by all elements */
29
- --line-height: 1.5;
30
- --font-weight: 400;
31
- --font-size: 100%; /* Root font-size; overridden per breakpoint below and per element in §6 */
32
- --text-underline-offset: 0.1rem;
33
-
34
- /* Borders & Effects – global defaults for border-radius, border-width, outline, and transition */
35
- --border-radius: 0.25rem;
36
- --border-width: 0.0625rem; /* 1px – base border width used by forms, tables, etc. */
37
- --outline-width: 0.125rem; /* 2px – focus-ring width */
38
- --transition: 0.2s ease-in-out; /* Default transition timing for interactive state changes */
39
-
40
- /* Spacing – shared base unit used for padding, margins, and gaps throughout the layout */
41
- --spacing: 1rem;
42
- --responsive-multiplier: 1; /* Multiplier applied to spacing for responsive adjustments at wider breakpoints */
43
- --typography-spacing-vertical: 1rem; /* Vertical margin below typographic elements (p, lists, etc.) */
44
- --block-spacing-vertical: var(--spacing); /* Vertical padding inside block-level components (cards, modals, etc.) */
45
- --block-spacing-horizontal: var(--spacing); /* Horizontal padding inside block-level components */
46
- --grid-column-gap: var(--spacing); /* Column gap in CSS Grid layouts */
47
- --grid-row-gap: var(--spacing); /* Row gap in CSS Grid layouts */
48
- --form-element-spacing-vertical: 0.75rem; /* Vertical padding inside form inputs, selects, and textareas */
49
- --form-element-spacing-horizontal: 1rem; /* Horizontal padding inside form inputs, selects, and textareas */
50
-
51
- /* Shadows – used by [role="group"] and [role="search"] button/input combos */
52
- --group-shadow: 0 0 0 rgba(0, 0, 0, 0); /* Default (no shadow) */
53
- --group-shadow-focus-with-button: 0 0 0 var(--outline-width) var(--color-primary-focus); /* Focus ring when a button inside the group is focused */
54
- --group-shadow-focus-with-input: 0 0 0 0.0625rem var(--form-border-color); /* Focus ring when an input inside the group is focused */
55
-
56
- /* Modal – backdrop overlay settings */
57
- --modal-overlay-backdrop-filter: blur(0.375rem); /* Applies a blur behind the modal overlay */
58
-
59
- /* Navigation – spacing and breadcrumb configuration */
60
- --nav-link-spacing-vertical: 0.5rem; /* Vertical padding inside nav links */
61
- --nav-link-spacing-horizontal: 0.5rem; /* Horizontal padding inside nav links */
62
- --nav-breadcrumb-divider: ">"; /* Character displayed between breadcrumb items */
63
-
64
- /* Icons – inline SVG data-URIs used by form elements and UI components */
65
- --icon-checkbox: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E"); /* Checkmark for checked checkboxes */
66
- --icon-minus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'%3E%3C/line%3E%3C/svg%3E"); /* Minus icon for indeterminate checkboxes */
67
- --icon-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 145, 164)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E"); /* Dropdown arrow for <select> elements */
68
- --icon-date: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 145, 164)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E"); /* Calendar icon for date inputs */
69
- --icon-time: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 145, 164)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cpolyline points='12 6 12 12 16 14'%3E%3C/polyline%3E%3C/svg%3E"); /* Clock icon for time inputs */
70
- --icon-search: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 145, 164)' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E"); /* Magnifying glass for search inputs */
71
- --icon-close: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 145, 164)' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E"); /* X icon for close/dismiss actions (e.g. modal close button) */
72
- --icon-loading: url("data:image/svg+xml,%3Csvg fill='none' height='24' width='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E g %7B animation: rotate 2s linear infinite; transform-origin: center center; %7D circle %7B stroke-dasharray: 75,100; stroke-dashoffset: -5; animation: dash 1.5s ease-in-out infinite; stroke-linecap: round; %7D @keyframes rotate %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D @keyframes dash %7B 0%25 %7B stroke-dasharray: 1,100; stroke-dashoffset: 0; %7D 50%25 %7B stroke-dasharray: 44.5,100; stroke-dashoffset: -17.5; %7D 100%25 %7B stroke-dasharray: 44.5,100; stroke-dashoffset: -62; %7D %7D %3C/style%3E%3Cg%3E%3Ccircle cx='12' cy='12' r='10' fill='none' stroke='rgb(136, 145, 164)' stroke-width='4' /%3E%3C/g%3E%3C/svg%3E"); /* Animated spinner for [aria-busy="true"] elements */
73
-
74
- --sidebar-width: 25%; /* Sidebar width */
75
- }
76
-
77
- /* Responsive Font Sizes – progressively increase root font-size at wider viewports */
78
- @media (--breakpoint-sm) {
79
- :root,
80
- :host {
81
- --font-size: 106.25%;
82
- --sidebar-width: max(25%, 150px);
83
- --responsive-multiplier: 1.25;
84
- }
85
- }
86
-
87
- @media (--breakpoint-md) {
88
- :root,
89
- :host {
90
- --font-size: 112.5%;
91
- --sidebar-width: max(22%, 180px);
92
- --responsive-multiplier: 1.5;
93
- }
94
- }
95
-
96
- @media (--breakpoint-lg) {
97
- :root,
98
- :host {
99
- --font-size: 118.75%;
100
- --sidebar-width: max(20%, 200px);
101
- --responsive-multiplier: 1.75;
102
- }
103
- }
104
-
105
- @media (--breakpoint-xl) {
106
- :root,
107
- :host {
108
- --font-size: 125%;
109
- --sidebar-width: max(18%, 220px);
110
- --responsive-multiplier: 2;
111
- }
112
- }
113
-
114
- @media (--breakpoint-xxl) {
115
- :root,
116
- :host {
117
- --font-size: 131.25%;
118
- --sidebar-width: clamp(240px, 16%, 300px);
119
- --responsive-multiplier: 2.25;
120
- }
121
- }
@@ -1,45 +0,0 @@
1
- /**
2
- * Card (.card)
3
- * A container component for grouped content with visual card styling
4
- * Can be applied to any element (article, div, section, etc.)
5
- */
6
- .card {
7
- --block-spacing-vertical: calc(var(--spacing) * var(--responsive-multiplier));
8
- --block-spacing-horizontal: calc(var(--spacing) * var(--responsive-multiplier));
9
-
10
- margin-bottom: var(--block-spacing-vertical);
11
- padding: var(--block-spacing-vertical) var(--block-spacing-horizontal);
12
- border-radius: var(--border-radius);
13
- background: var(--card-bg);
14
- box-shadow: var(--card-shadow);
15
-
16
- & > header,
17
- & > footer {
18
- width: calc(100% + var(--block-spacing-horizontal) * 2);
19
- margin-right: calc(var(--block-spacing-horizontal) * -1);
20
- margin-left: calc(var(--block-spacing-horizontal) * -1);
21
- padding: calc(var(--block-spacing-vertical) * 0.66) var(--block-spacing-horizontal);
22
- background-color: var(--card-section-bg);
23
- }
24
-
25
- & > header {
26
- margin-top: calc(var(--block-spacing-vertical) * -1);
27
- margin-bottom: var(--block-spacing-vertical);
28
- border-bottom: var(--border-width) solid var(--card-border);
29
- border-top-right-radius: var(--border-radius);
30
- border-top-left-radius: var(--border-radius);
31
- }
32
-
33
- & > footer {
34
- margin-top: var(--block-spacing-vertical);
35
- margin-bottom: calc(var(--block-spacing-vertical) * -1);
36
- border-top: var(--border-width) solid var(--card-border);
37
- border-bottom-right-radius: var(--border-radius);
38
- border-bottom-left-radius: var(--border-radius);
39
- }
40
-
41
- & > header > :last-child,
42
- & > footer > :last-child {
43
- margin-bottom: 0;
44
- }
45
- }
@@ -1,15 +0,0 @@
1
- .flow-h {
2
- align-items: flex-start;
3
- display: flex;
4
- flex-direction: row;
5
- flex-grow: 1;
6
- justify-content: stretch;
7
- }
8
-
9
- .flow-v {
10
- align-items: stretch;
11
- display: flex;
12
- flex-direction: column;
13
- width: 100%;
14
- justify-content: flex-start;
15
- }
@@ -1,18 +0,0 @@
1
- /**
2
- * Panel akin to a flat card.
3
- */
4
- .panel {
5
- --block-spacing-vertical: calc(var(--spacing) * var(--responsive-multiplier));
6
- --block-spacing-horizontal: calc(var(--spacing) * var(--responsive-multiplier));
7
-
8
- --color-background: var(--card-bg);
9
- --border-color: var(--card-border);
10
- --color-text: var(--color-text);
11
-
12
- background-color: var(--color-background);
13
- border-radius: var(--border-radius);
14
- border: var(--border-width) solid var(--border-color);
15
- color: var(--color-text);
16
- margin-bottom: var(--block-spacing-vertical);
17
- padding: var(--block-spacing-vertical) var(--block-spacing-horizontal);
18
- }
@@ -1,9 +0,0 @@
1
- /**
2
- * Semanticus CSS Variants
3
- * Class-based variant styles that extend semantic
4
- */
5
-
6
- /* Shared variables */
7
- @import '../variables/_shared.css';
8
-
9
- @import "./modules.css";
File without changes