@stackific/md3 0.1.1 → 0.1.2

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 (111) hide show
  1. package/README.md +0 -43
  2. package/package.json +1 -3
  3. package/src/main.js +0 -5
  4. package/src/runtime/elements/dialogs.js +0 -72
  5. package/src/runtime/elements/fields.js +0 -181
  6. package/src/runtime/elements/menus.js +0 -42
  7. package/src/runtime/elements/pages.js +0 -7
  8. package/src/runtime/elements/progress.js +0 -35
  9. package/src/runtime/elements/sliders.js +0 -78
  10. package/src/runtime/elements/snackbars.js +0 -27
  11. package/src/runtime/helpers/ripples.js +0 -46
  12. package/src/runtime/md3.js +0 -141
  13. package/src/runtime/palette.js +0 -64
  14. package/src/runtime/settings/theme.js +0 -194
  15. package/src/runtime/utils.js +0 -165
  16. package/src/styles/_config.scss +0 -142
  17. package/src/styles/_mixins.scss +0 -80
  18. package/src/styles/elements/_badges.scss +0 -65
  19. package/src/styles/elements/_bars.scss +0 -83
  20. package/src/styles/elements/_buttons.scss +0 -119
  21. package/src/styles/elements/_cards.scss +0 -32
  22. package/src/styles/elements/_chips.scss +0 -46
  23. package/src/styles/elements/_dialogs.scss +0 -143
  24. package/src/styles/elements/_dividers.scss +0 -46
  25. package/src/styles/elements/_expansions.scss +0 -19
  26. package/src/styles/elements/_fields.scss +0 -458
  27. package/src/styles/elements/_grids.scss +0 -35
  28. package/src/styles/elements/_icons.scss +0 -70
  29. package/src/styles/elements/_layouts.scss +0 -24
  30. package/src/styles/elements/_lists.scss +0 -76
  31. package/src/styles/elements/_main-layouts.scss +0 -45
  32. package/src/styles/elements/_media.scss +0 -104
  33. package/src/styles/elements/_menus.scss +0 -289
  34. package/src/styles/elements/_navigations.scss +0 -450
  35. package/src/styles/elements/_overlays.scss +0 -34
  36. package/src/styles/elements/_pages.scss +0 -28
  37. package/src/styles/elements/_progress.scss +0 -141
  38. package/src/styles/elements/_selections.scss +0 -248
  39. package/src/styles/elements/_shapes.scss +0 -153
  40. package/src/styles/elements/_sliders.scss +0 -336
  41. package/src/styles/elements/_snackbars.scss +0 -44
  42. package/src/styles/elements/_tables.scss +0 -67
  43. package/src/styles/elements/_tabs.scss +0 -49
  44. package/src/styles/elements/_tooltips.scss +0 -125
  45. package/src/styles/fonts/material-symbols-outlined.woff2 +0 -0
  46. package/src/styles/fonts/material-symbols-rounded.woff2 +0 -0
  47. package/src/styles/fonts/material-symbols-sharp.woff2 +0 -0
  48. package/src/styles/fonts/material-symbols-subset.woff2 +0 -0
  49. package/src/styles/helpers/_alignments.scss +0 -29
  50. package/src/styles/helpers/_blurs.scss +0 -26
  51. package/src/styles/helpers/_colors.scss +0 -39
  52. package/src/styles/helpers/_directions.scss +0 -30
  53. package/src/styles/helpers/_elevates.scss +0 -20
  54. package/src/styles/helpers/_forms.scss +0 -76
  55. package/src/styles/helpers/_margins.scss +0 -39
  56. package/src/styles/helpers/_opacities.scss +0 -18
  57. package/src/styles/helpers/_paddings.scss +0 -35
  58. package/src/styles/helpers/_positions.scss +0 -44
  59. package/src/styles/helpers/_responsive.scss +0 -24
  60. package/src/styles/helpers/_ripples.scss +0 -40
  61. package/src/styles/helpers/_scrolls.scss +0 -7
  62. package/src/styles/helpers/_shadows.scss +0 -22
  63. package/src/styles/helpers/_sizes.scss +0 -34
  64. package/src/styles/helpers/_spaces.scss +0 -22
  65. package/src/styles/helpers/_typography.scss +0 -132
  66. package/src/styles/helpers/_waves.scss +0 -52
  67. package/src/styles/helpers/_zoom.scss +0 -18
  68. package/src/styles/md3.scss +0 -61
  69. package/src/styles/settings/_fonts.scss +0 -41
  70. package/src/styles/settings/_globals.scss +0 -104
  71. package/src/styles/settings/_reset.scss +0 -82
  72. package/src/styles/settings/_theme.scss +0 -126
  73. package/src/styles/settings/_themes.scss +0 -1525
  74. package/src/styles/shapes/arch.svg +0 -1
  75. package/src/styles/shapes/arrow.svg +0 -1
  76. package/src/styles/shapes/boom.svg +0 -1
  77. package/src/styles/shapes/bun.svg +0 -1
  78. package/src/styles/shapes/burst.svg +0 -1
  79. package/src/styles/shapes/circle.svg +0 -1
  80. package/src/styles/shapes/clamshell.svg +0 -1
  81. package/src/styles/shapes/diamond.svg +0 -1
  82. package/src/styles/shapes/fan.svg +0 -1
  83. package/src/styles/shapes/flower.svg +0 -1
  84. package/src/styles/shapes/gem.svg +0 -1
  85. package/src/styles/shapes/ghost-ish.svg +0 -1
  86. package/src/styles/shapes/heart.svg +0 -1
  87. package/src/styles/shapes/leaf-clover4.svg +0 -1
  88. package/src/styles/shapes/leaf-clover8.svg +0 -1
  89. package/src/styles/shapes/loading-indicator.svg +0 -1
  90. package/src/styles/shapes/oval.svg +0 -1
  91. package/src/styles/shapes/pentagon.svg +0 -1
  92. package/src/styles/shapes/pill.svg +0 -1
  93. package/src/styles/shapes/pixel-circle.svg +0 -1
  94. package/src/styles/shapes/pixel-triangle.svg +0 -1
  95. package/src/styles/shapes/puffy-diamond.svg +0 -1
  96. package/src/styles/shapes/puffy.svg +0 -1
  97. package/src/styles/shapes/semicircle.svg +0 -1
  98. package/src/styles/shapes/sided-cookie12.svg +0 -1
  99. package/src/styles/shapes/sided-cookie4.svg +0 -1
  100. package/src/styles/shapes/sided-cookie6.svg +0 -1
  101. package/src/styles/shapes/sided-cookie7.svg +0 -1
  102. package/src/styles/shapes/sided-cookie9.svg +0 -1
  103. package/src/styles/shapes/slanted.svg +0 -1
  104. package/src/styles/shapes/soft-boom.svg +0 -1
  105. package/src/styles/shapes/soft-burst.svg +0 -1
  106. package/src/styles/shapes/square.svg +0 -1
  107. package/src/styles/shapes/sunny.svg +0 -1
  108. package/src/styles/shapes/triangle.svg +0 -1
  109. package/src/styles/shapes/very-sunny.svg +0 -1
  110. package/src/styles/shapes/wavy-circle.svg +0 -1
  111. package/src/styles/shapes/wavy.svg +0 -1
@@ -1,61 +0,0 @@
1
- // Single entry point. Order: settings → reset → helpers → elements →
2
- // theme overlays → colors.
3
- //
4
- // Use @forward for any consumer that wants to re-export; @use is sufficient
5
- // for the bundle since side-effect rules are emitted once per file.
6
-
7
- @use "settings/globals";
8
- @use "settings/themes";
9
- @use "settings/fonts";
10
-
11
- @use "settings/reset";
12
-
13
- @use "helpers/alignments";
14
- @use "helpers/blurs";
15
- @use "helpers/directions";
16
- @use "helpers/elevates";
17
- @use "helpers/forms";
18
- @use "helpers/margins";
19
- @use "helpers/opacities";
20
- @use "helpers/paddings";
21
- @use "helpers/positions";
22
- @use "helpers/ripples";
23
- @use "helpers/scrolls";
24
- @use "helpers/shadows";
25
- @use "helpers/sizes";
26
- @use "helpers/spaces";
27
- @use "helpers/responsive";
28
- @use "helpers/typography";
29
- @use "helpers/waves";
30
- @use "helpers/zoom";
31
-
32
- @use "elements/badges";
33
- @use "elements/bars";
34
- @use "elements/buttons";
35
- @use "elements/cards";
36
- @use "elements/chips";
37
- @use "elements/dialogs";
38
- @use "elements/dividers";
39
- @use "elements/expansions";
40
- @use "elements/fields";
41
- @use "elements/grids";
42
- @use "elements/icons";
43
- @use "elements/layouts";
44
- @use "elements/lists";
45
- @use "elements/main-layouts";
46
- @use "elements/media";
47
- @use "elements/menus";
48
- @use "elements/navigations";
49
- @use "elements/overlays";
50
- @use "elements/pages";
51
- @use "elements/progress";
52
- @use "elements/shapes";
53
- @use "elements/selections";
54
- @use "elements/sliders";
55
- @use "elements/snackbars";
56
- @use "elements/tables";
57
- @use "elements/tabs";
58
- @use "elements/tooltips";
59
-
60
- @use "settings/theme";
61
- @use "helpers/colors";
@@ -1,41 +0,0 @@
1
- // Material Symbols font faces. Each declaration ships the local copy first
2
- // (bundlers resolve the relative URL and fingerprint the woff2 into their own
3
- // assets pipeline), then falls back to a public CDN.
4
-
5
- $-cdn: "https://cdn.jsdelivr.net/npm/beercss@4.0.21/dist/cdn";
6
-
7
- @font-face {
8
- font-family: "Material Symbols Outlined";
9
- font-style: normal;
10
- font-weight: 400;
11
- font-display: swap;
12
- src: url("./fonts/material-symbols-outlined.woff2") format("woff2"),
13
- url("#{$-cdn}/material-symbols-outlined.woff2") format("woff2");
14
- }
15
-
16
- @font-face {
17
- font-family: "Material Symbols Rounded";
18
- font-style: normal;
19
- font-weight: 400;
20
- font-display: swap;
21
- src: url("./fonts/material-symbols-rounded.woff2") format("woff2"),
22
- url("#{$-cdn}/material-symbols-rounded.woff2") format("woff2");
23
- }
24
-
25
- @font-face {
26
- font-family: "Material Symbols Sharp";
27
- font-style: normal;
28
- font-weight: 400;
29
- font-display: swap;
30
- src: url("./fonts/material-symbols-sharp.woff2") format("woff2"),
31
- url("#{$-cdn}/material-symbols-sharp.woff2") format("woff2");
32
- }
33
-
34
- @font-face {
35
- font-family: "Material Symbols Subset";
36
- font-style: normal;
37
- font-weight: 400;
38
- font-display: swap;
39
- src: url("./fonts/material-symbols-subset.woff2") format("woff2"),
40
- url("#{$-cdn}/material-symbols-subset.woff2") format("woff2");
41
- }
@@ -1,104 +0,0 @@
1
- // Root custom-properties, base typography, scrollbar, keyframes.
2
-
3
- :root {
4
- --size: 1rem;
5
- --font: Inter, Roboto, "Helvetica Neue", "Arial Nova", "Nimbus Sans", "Noto Sans", Arial, sans-serif;
6
- --font-icon: "Material Symbols Outlined";
7
- --speed1: 0.1s;
8
- --speed2: 0.2s;
9
- --speed3: 0.3s;
10
- --speed4: 0.4s;
11
- --active: rgb(128 128 128 / 0.192);
12
- --overlay: rgb(0 0 0 / 0.5);
13
- --elevate1: 0 0.125rem 0.125rem 0 rgb(0 0 0 / 0.32);
14
- --elevate2: 0 0.25rem 0.5rem 0 rgb(0 0 0 / 0.4);
15
- --elevate3: 0 0.375rem 0.75rem 0 rgb(0 0 0 / 0.48);
16
- --top: env(safe-area-inset-top);
17
- --bottom: env(safe-area-inset-bottom);
18
- --left: env(safe-area-inset-left);
19
- --right: env(safe-area-inset-right);
20
- --image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR4AWJiYGAQBgAAAP//ZyYa+wAAAAZJREFUAwAAIgAWeX9MsQAAAABJRU5ErkJggg==);
21
- }
22
-
23
- :root[data-mode="dark"] {
24
- --image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR4AWL6//+/FAAAAP//qSv5QwAAAAZJREFUAwAJIAMaJWjIvQAAAABJRU5ErkJggg==);
25
- }
26
-
27
- @media (prefers-color-scheme: dark) {
28
- :root[data-mode="auto"] {
29
- --image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR4AWL6//+/FAAAAP//qSv5QwAAAAZJREFUAwAJIAMaJWjIvQAAAABJRU5ErkJggg==);
30
- }
31
- }
32
-
33
- html {
34
- font-size: var(--size);
35
- }
36
-
37
- body {
38
- color: var(--on-surface);
39
- background-color: var(--surface);
40
- overflow-x: hidden;
41
- font-family: var(--font);
42
- font-size: 0.875rem;
43
- line-height: 1.5rem;
44
- letter-spacing: 0.0313rem;
45
- }
46
-
47
- @media (pointer: fine) {
48
- body ::-webkit-scrollbar,
49
- body ::-webkit-scrollbar-thumb,
50
- body ::-webkit-scrollbar-button {
51
- background: none;
52
- inline-size: 0.4rem;
53
- block-size: 0.4rem;
54
- }
55
-
56
- body :is(:focus, :hover)::-webkit-scrollbar-thumb,
57
- body :has(:focus, :hover)::-webkit-scrollbar-thumb {
58
- background: var(--outline);
59
- border-radius: 1rem;
60
- }
61
- }
62
-
63
- @media (pointer: coarse) {
64
- body:has(dialog[open], dialog.active),
65
- body:has(input[type="range"]:focus) {
66
- overflow: hidden;
67
- }
68
- }
69
-
70
- @keyframes to-page {
71
- from {
72
- opacity: 0;
73
- transform: var(--_transform);
74
- }
75
-
76
- to {
77
- opacity: 1;
78
- transform: translate(0, 0);
79
- }
80
- }
81
-
82
- @keyframes to-linear-progress {
83
- 0% { margin: 0 0 0 -100%; }
84
- 50% { margin: 0 0 0 0; }
85
- 100% { margin: 0 0 0 100%; }
86
- }
87
-
88
- @keyframes to-indeterminate-progress {
89
- 0% { padding: 0 100% 0 0; }
90
- 50% { padding: 0 0 0 0; }
91
- 100% { padding: 0 0 0 100%; }
92
- }
93
-
94
- @keyframes to-rotate {
95
- from { transform: rotate(0deg); }
96
- to { transform: rotate(360deg); }
97
- }
98
-
99
- @keyframes to-ripple {
100
- to {
101
- transform: scale(4);
102
- opacity: 0;
103
- }
104
- }
@@ -1,82 +0,0 @@
1
- // Tag-level resets and shared focus / cursor behavior.
2
-
3
- * {
4
- -webkit-tap-highlight-color: transparent;
5
- position: relative;
6
- vertical-align: middle;
7
- color: inherit;
8
- margin: 0;
9
- padding: 0;
10
- border-radius: inherit;
11
- box-sizing: border-box;
12
- }
13
-
14
- *::after,
15
- *::before {
16
- all: unset;
17
- }
18
-
19
- label {
20
- font-size: 0.75rem;
21
- vertical-align: baseline;
22
- }
23
-
24
- a,
25
- b,
26
- i,
27
- span,
28
- strong,
29
- em,
30
- code {
31
- vertical-align: baseline;
32
- }
33
-
34
- a,
35
- button,
36
- .button {
37
- cursor: pointer;
38
- text-decoration: none;
39
- display: inline-flex;
40
- align-items: center;
41
- border: none;
42
- font-family: inherit;
43
- outline: inherit;
44
- justify-content: center;
45
- }
46
-
47
- :is(nav, .tabs, .field) > a,
48
- button,
49
- .button,
50
- .chip,
51
- i,
52
- label {
53
- user-select: none;
54
- }
55
-
56
- :not(.grid, nav, .row) > :not(progress.max) + :is(
57
- address, article, blockquote, code, .field, fieldset, form, .grid,
58
- h1, h2, h3, h4, h5, h6, nav, ol, p, pre, .row, section, aside, table, .tabs, ul
59
- ):not([class*="margin"], .right, .left, .top, .bottom) {
60
- margin-block-start: 1rem;
61
- }
62
-
63
- :has(> [class*="margin"]) {
64
- padding: 0.1px;
65
- }
66
-
67
- :is(a, button, .button, .chip, summary):focus-visible {
68
- outline: 0.125rem solid var(--primary);
69
- outline-offset: 0.25rem;
70
- }
71
-
72
- :is(nav, .row, li).group > :focus-visible {
73
- z-index: 1;
74
- }
75
-
76
- :is(button, .button, .chip) > :is(span, i, img, svg) {
77
- pointer-events: none;
78
- }
79
-
80
- :is(div:not([class]), div[class="active"]):has(> :not(.responsive) ~ :is(menu, .tooltip, input)) {
81
- display: inline-flex;
82
- }
@@ -1,126 +0,0 @@
1
- // Semantic colour utilities driven by M3 roles. Looped so the
2
- // six paired roles, four container variants, and seven surface tonal
3
- // stops share one definition each.
4
-
5
- @use "sass:list";
6
- @use "../config" as *;
7
-
8
- .transparent {
9
- background-color: transparent !important;
10
- box-shadow: none !important;
11
- color: inherit !important;
12
- }
13
-
14
- // .primary, .secondary, .tertiary, .error, .background → bg + on-bg text
15
- @each $role in $theme-roles-paired {
16
- .#{$role} { @include paired-color($role); }
17
- }
18
-
19
- // -text and -border emitted only for primary/secondary/tertiary/error
20
- // (upstream omits .background-text / .background-border).
21
- @each $role in $theme-roles-with-edges {
22
- .#{$role}-text { @include text-color($role); }
23
- .#{$role}-border { @include border-color($role); }
24
- }
25
-
26
- // .primary-container, .secondary-container, .tertiary-container, .error-container
27
- @each $role in $theme-roles-container {
28
- .#{$role}-container {
29
- background-color: var(--#{$role}-container) !important;
30
- color: var(--on-#{$role}-container) !important;
31
- }
32
- }
33
-
34
- // Surface umbrella — every tonal stop falls back to surface/on-surface text.
35
- $-surface-umbrella: ".surface";
36
- @each $stop in $surface-stops {
37
- $-surface-umbrella: "#{$-surface-umbrella}, .#{$stop}" !global;
38
- }
39
-
40
- #{$-surface-umbrella} {
41
- background-color: var(--surface) !important;
42
- color: var(--on-surface) !important;
43
- }
44
-
45
- .surface-variant {
46
- background-color: var(--surface-variant) !important;
47
- color: var(--on-surface-variant) !important;
48
- }
49
-
50
- .inverse-surface {
51
- background-color: var(--inverse-surface);
52
- color: var(--inverse-on-surface);
53
- }
54
-
55
- .inverse-primary {
56
- background-color: var(--inverse-primary);
57
- color: var(--primary);
58
- }
59
-
60
- .inverse-primary-text {
61
- color: var(--inverse-primary) !important;
62
- }
63
-
64
- .inverse-primary-border {
65
- border-color: var(--inverse-primary) !important;
66
- }
67
-
68
- // Tonal stops re-bind background (text stays on-surface from the umbrella above).
69
- @each $stop in $surface-stops {
70
- .#{$stop} {
71
- background-color: var(--#{$stop}) !important;
72
- }
73
- }
74
-
75
- .black {
76
- background-color: #000 !important;
77
- }
78
-
79
- .black-border {
80
- border-color: #000 !important;
81
- }
82
-
83
- .black-text {
84
- color: #000 !important;
85
- }
86
-
87
- .white {
88
- background-color: #fff !important;
89
- }
90
-
91
- .white-border {
92
- border-color: #fff !important;
93
- }
94
-
95
- .white-text {
96
- color: #fff !important;
97
- }
98
-
99
- .transparent-border {
100
- border-color: transparent !important;
101
- }
102
-
103
- .transparent-text {
104
- color: transparent !important;
105
- }
106
-
107
- .fill:not(i) {
108
- background-color: var(--surface-variant) !important;
109
- color: var(--on-surface-variant) !important;
110
- }
111
-
112
- // nav/menu active-state recoloring per container/base role.
113
- // Upstream emits these only for primary/secondary/tertiary (no error).
114
- @each $role in $theme-roles-nav-active {
115
- nav.#{$role}-container > button,
116
- :is(nav, menu).#{$role} > :is(button, a, li).active {
117
- background-color: var(--#{$role}-container) !important;
118
- color: var(--on-#{$role}-container) !important;
119
- }
120
-
121
- nav.#{$role} > button,
122
- :is(nav, menu).#{$role}-container > :is(button, a, li).active {
123
- background-color: var(--#{$role}) !important;
124
- color: var(--on-#{$role}) !important;
125
- }
126
- }