@semanticus/semanticus-css 0.8.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 (73) hide show
  1. package/dist/semanticus-semantics.css +1 -1
  2. package/dist/semanticus.css +2 -2
  3. package/dist/semanticus.size.pico.css +1 -1
  4. package/package.json +11 -8
  5. package/src/semantics/_misc.css +3 -0
  6. package/src/semantics/attributes/_popover.css +13 -0
  7. package/src/semantics/attributes/_role-group-search.css +140 -0
  8. package/src/semantics/elements/_abbr.css +5 -0
  9. package/src/semantics/elements/_address.css +7 -0
  10. package/src/semantics/elements/_article.css +6 -0
  11. package/src/semantics/{_aside.css → elements/_aside.css} +1 -1
  12. package/src/semantics/elements/_blockquote.css +18 -0
  13. package/src/semantics/{_button.css → elements/_button.css} +2 -2
  14. package/src/semantics/{_code.css → elements/_code.css} +10 -7
  15. package/src/semantics/elements/_del.css +3 -0
  16. package/src/semantics/{_details.css → elements/_details.css} +9 -9
  17. package/src/semantics/elements/_dialog.css +117 -0
  18. package/src/semantics/elements/_footer.css +13 -0
  19. package/src/semantics/elements/_header.css +13 -0
  20. package/src/semantics/elements/_headings.css +34 -0
  21. package/src/semantics/elements/_hgroup.css +14 -0
  22. package/src/semantics/{_hr.css → elements/_hr.css} +1 -1
  23. package/src/semantics/{_input.css → elements/_input.css} +1 -2
  24. package/src/semantics/elements/_ins.css +4 -0
  25. package/src/semantics/{_links.css → elements/_links.css} +11 -4
  26. package/src/semantics/elements/_lists.css +22 -0
  27. package/src/semantics/elements/_main.css +7 -0
  28. package/src/semantics/elements/_mark.css +6 -0
  29. package/src/semantics/{_nav.css → elements/_nav.css} +4 -4
  30. package/src/semantics/elements/_p.css +11 -0
  31. package/src/semantics/elements/_section.css +7 -0
  32. package/src/semantics/elements/_strong.css +4 -0
  33. package/src/semantics/elements/_sub.css +7 -0
  34. package/src/semantics/elements/_sup.css +7 -0
  35. package/src/semantics/{_table.css → elements/_table.css} +7 -2
  36. package/src/semantics/modules.css +47 -32
  37. package/src/sizes/pico.css +14 -9
  38. package/src/variables/_colors.css +11 -22
  39. package/src/variables/_components.css +59 -47
  40. package/src/variables/_elements.css +0 -5
  41. package/src/variables/_icons.css +12 -0
  42. package/src/variables/_layout.css +18 -23
  43. package/src/variants/_contrast.css +27 -13
  44. package/src/variants/_ghost.css +35 -28
  45. package/src/variants/_pane-panel-card.css +54 -0
  46. package/src/variants/_secondary.css +24 -11
  47. package/src/variants/_sidebar.css +49 -9
  48. package/src/variants/modules.css +4 -5
  49. package/src/semantics/_article.css +0 -12
  50. package/src/semantics/_dialog.css +0 -157
  51. package/src/semantics/_footer.css +0 -12
  52. package/src/semantics/_header.css +0 -12
  53. package/src/semantics/_main.css +0 -10
  54. package/src/semantics/_role-group-search.css +0 -129
  55. package/src/semantics/_section.css +0 -9
  56. package/src/semantics/_typography.css +0 -146
  57. package/src/variants/_card.css +0 -45
  58. package/src/variants/_panel.css +0 -18
  59. /package/src/semantics/{_aria-busy.css → attributes/_aria-busy.css} +0 -0
  60. /package/src/semantics/{_hidden.css → attributes/_hidden.css} +0 -0
  61. /package/src/semantics/{_role-toolbar.css → attributes/_role-toolbar.css} +0 -0
  62. /package/src/semantics/{_role-tooltip.css → attributes/_role-tooltip.css} +0 -0
  63. /package/src/semantics/{_body.css → elements/_body.css} +0 -0
  64. /package/src/semantics/{_document.css → elements/_document.css} +0 -0
  65. /package/src/semantics/{_embedded.css → elements/_embedded.css} +0 -0
  66. /package/src/semantics/{_figure.css → elements/_figure.css} +0 -0
  67. /package/src/semantics/{_progress.css → elements/_progress.css} +0 -0
  68. /package/src/semantics/{_type-checkbox-radio.css → elements/_type-checkbox-radio.css} +0 -0
  69. /package/src/semantics/{_type-color.css → elements/_type-color.css} +0 -0
  70. /package/src/semantics/{_type-date.css → elements/_type-date.css} +0 -0
  71. /package/src/semantics/{_type-file.css → elements/_type-file.css} +0 -0
  72. /package/src/semantics/{_type-range.css → elements/_type-range.css} +0 -0
  73. /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: color-mix(in srgb, var(--color-text), rgb(128, 128, 128) 70%);
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(--color-success-rgb));
137
- text-decoration: none;
138
- }
139
-
140
- del {
141
- color: rgb(var(--color-danger-rgb));
142
- }
143
-
144
- ::selection {
145
- background-color: var(--color-text-selection);
146
- }
@@ -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,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
- }
File without changes