@anyblades/blades 3.1.0-beta.4 → 3.1.0-beta.6

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 (90) hide show
  1. package/.prettierrc.json +0 -7
  2. package/README.md +20 -10
  3. package/_includes/.prettierrc.json +12 -0
  4. package/_includes/package.json +10 -0
  5. package/css/blades.css +942 -1805
  6. package/css/blades.min.css +11 -1
  7. package/css/blades.ninja.css +1124 -2265
  8. package/css/blades.ninja.min.css +16 -1
  9. package/css/float-label.css +34 -187
  10. package/css/float-label.min.css +1 -1
  11. package/css/layered/blades.layered.css +942 -1805
  12. package/css/layered/blades.layered.min.css +11 -1
  13. package/css/layered/compact.css +10 -31
  14. package/css/layered/components/accordion.css +32 -21
  15. package/css/layered/components/card.css +8 -16
  16. package/css/layered/components/dropdown-popover.css +92 -0
  17. package/css/layered/components/dropdown.css +61 -61
  18. package/css/layered/components/group.css +40 -156
  19. package/css/layered/components/loading.css +28 -35
  20. package/css/layered/components/modal-modern.css +20 -0
  21. package/css/layered/components/modal.css +54 -65
  22. package/css/layered/components/nav.css +36 -36
  23. package/css/layered/components/progress.css +18 -23
  24. package/css/layered/components/timeline.css +10 -0
  25. package/css/layered/components/tooltip.css +88 -103
  26. package/css/layered/components.css +371 -517
  27. package/css/layered/content/button.css +37 -117
  28. package/css/layered/content/code-block.css +20 -0
  29. package/css/layered/content/code.css +11 -26
  30. package/css/layered/content/embedded-content.css +5 -10
  31. package/css/layered/content/figure.css +3 -5
  32. package/css/layered/content/icon.css +33 -0
  33. package/css/layered/content/link.css +18 -40
  34. package/css/layered/content/misc.css +1 -5
  35. package/css/layered/content/table.css +4 -10
  36. package/css/layered/content/typography.css +22 -41
  37. package/css/layered/content.css +102 -254
  38. package/css/layered/forms/basics.css +64 -142
  39. package/css/layered/forms/checkbox-radio-switch.css +46 -75
  40. package/css/layered/forms/float-label/core.css +31 -0
  41. package/css/layered/forms/float-label/theme.css +28 -0
  42. package/css/layered/forms/float-label.css +57 -0
  43. package/css/layered/forms/input-color.css +5 -5
  44. package/css/layered/forms/input-datetime.css +9 -26
  45. package/css/layered/forms/input-file.css +7 -8
  46. package/css/layered/forms/input-range.css +43 -50
  47. package/css/layered/forms/input-search.css +16 -47
  48. package/css/layered/forms.css +197 -355
  49. package/css/layered/layout/columns.css +10 -0
  50. package/css/layered/layout/container.css +13 -13
  51. package/css/layered/layout/document.css +4 -12
  52. package/css/layered/layout/grid.css +6 -8
  53. package/css/layered/layout/landmarks.css +1 -7
  54. package/css/layered/layout/overflow-auto.css +0 -3
  55. package/css/layered/layout/section.css +0 -3
  56. package/css/layered/layout.css +26 -39
  57. package/css/layered/utilities.css +6 -15
  58. package/css/layered/variables-blades.css +11 -0
  59. package/css/layered/variables.css +77 -181
  60. package/css/pico.conditional.css +785 -1368
  61. package/css/pico.conditional.min.css +1 -1
  62. package/css/pico.css +785 -1368
  63. package/css/pico.min.css +1 -1
  64. package/package.json +13 -26
  65. package/src/blades/_index.css +9 -9
  66. package/src/blades/{_dropdown-popover.css → components/_dropdown-popover.css} +3 -3
  67. package/src/blades/forms/float-label/_index.css +2 -0
  68. package/src/blades.css +2 -2
  69. package/src/blades.ninja.css +3 -3
  70. package/src/float-label.css +1 -1
  71. package/src/ninja/_index.css +7 -8
  72. package/src/pico/_index.css +6 -6
  73. package/src/pico/components/_index.css +9 -9
  74. package/src/pico/content/_index.css +8 -8
  75. package/src/pico/forms/_index.css +7 -7
  76. package/src/pico/layout/_index.css +5 -5
  77. package/src/pico.css +2 -2
  78. package/_includes/blades/links.liquid +0 -21
  79. package/_includes/blades/links.njk +0 -9
  80. package/_includes/blades/links.twig +0 -18
  81. package/src/blades/float-label/_index.css +0 -2
  82. package/src/ninja/_page-anchors.css +0 -10
  83. /package/src/blades/{_variables.css → _variables-blades.css} +0 -0
  84. /package/src/blades/{_modal.css → components/_modal-modern.css} +0 -0
  85. /package/src/blades/{_timeline.css → components/_timeline.css} +0 -0
  86. /package/src/blades/{_code.css → content/_code-block.css} +0 -0
  87. /package/src/blades/{_icon.css → content/_icon.css} +0 -0
  88. /package/src/blades/{float-label → forms/float-label}/_core.css +0 -0
  89. /package/src/blades/{float-label → forms/float-label}/_theme.css +0 -0
  90. /package/src/blades/{_columns.css → layout/_columns.css} +0 -0
@@ -0,0 +1,20 @@
1
+ @layer blades {
2
+ dialog:modal {
3
+ transition: opacity var(--pico-transition);
4
+
5
+ & > article {
6
+ transition: transform var(--pico-transition);
7
+ }
8
+ }
9
+
10
+ @starting-style {
11
+ dialog:modal {
12
+ opacity: 0;
13
+
14
+ & > article {
15
+ transform: scale(.96);
16
+ }
17
+ }
18
+ }
19
+
20
+ }
@@ -1,157 +1,146 @@
1
1
  @layer blades {
2
- /**
3
- * Modal (<dialog>)
4
- */
5
- :where(:scope),
6
- :host {
7
- --pico-modal-overlay-backdrop-filter: blur(0.375rem);
2
+ :where(:scope), :host {
3
+ --pico-modal-overlay-backdrop-filter: blur(.375rem);
8
4
  --pico-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");
9
5
  }
10
- :where(:scope, [data-theme="light"], [data-theme="dark"]),
11
- :host {
12
- --pico-modal-overlay-background-color: light-dark(
13
- rgba(232, 234, 237, 0.75),
14
- rgba(7.5, 8.5, 10, 0.75)
15
- );
6
+
7
+ :where(:scope, [data-theme="light"], [data-theme="dark"]), :host {
8
+ --pico-modal-overlay-background-color: light-dark(#e8eaedbf, #08090abf);
16
9
  }
17
10
 
18
- :scope,
19
- :host {
11
+ :scope, :host {
20
12
  --pico-scrollbar-width: 0px;
21
13
  }
22
14
 
23
15
  dialog {
24
- display: flex;
25
16
  z-index: 999;
26
- position: fixed;
27
- top: 0;
28
- right: 0;
29
- bottom: 0;
30
- left: 0;
31
- align-items: center;
32
- justify-content: center;
33
17
  width: inherit;
34
18
  min-width: 100%;
35
19
  height: inherit;
36
20
  min-height: 100%;
37
- padding: 0;
38
- border: 0;
39
21
  backdrop-filter: var(--pico-modal-overlay-backdrop-filter);
40
22
  background-color: var(--pico-modal-overlay-background-color);
41
23
  color: var(--pico-color);
24
+ border: 0;
25
+ justify-content: center;
26
+ align-items: center;
27
+ padding: 0;
28
+ display: flex;
29
+ position: fixed;
30
+ inset: 0;
42
31
  }
32
+
43
33
  dialog > article {
44
34
  width: 100%;
45
35
  max-height: calc(100vh - var(--pico-spacing) * 2);
46
36
  margin: var(--pico-spacing);
47
37
  overflow: auto;
48
38
  }
49
- @media (min-width: 576px) {
39
+
40
+ @media (width >= 576px) {
50
41
  dialog > article {
51
42
  max-width: 510px;
52
43
  }
53
44
  }
54
- @media (min-width: 768px) {
45
+
46
+ @media (width >= 768px) {
55
47
  dialog > article {
56
48
  max-width: 700px;
57
49
  }
58
50
  }
51
+
59
52
  dialog > article > header > * {
60
53
  margin-bottom: 0;
61
54
  }
62
- dialog > article > header .close,
63
- dialog > article > header :is(a, button)[rel="prev"] {
55
+
56
+ dialog > article > header .close, dialog > article > header :is(a, button)[rel="prev"] {
64
57
  margin: 0;
65
58
  margin-left: var(--pico-spacing);
66
- padding: 0;
67
59
  float: right;
60
+ padding: 0;
68
61
  }
62
+
69
63
  dialog > article > footer {
70
64
  text-align: end;
71
65
  }
72
- dialog > article > footer button,
73
- dialog > article > footer [role="button"] {
66
+
67
+ dialog > article > footer button, dialog > article > footer [role="button"] {
74
68
  margin-bottom: 0;
75
69
  }
76
- dialog > article > footer button:not(:first-of-type),
77
- dialog > article > footer [role="button"]:not(:first-of-type) {
78
- margin-left: calc(var(--pico-spacing) * 0.5);
70
+
71
+ dialog > article > footer button:not(:first-of-type), dialog > article > footer [role="button"]:not(:first-of-type) {
72
+ margin-left: calc(var(--pico-spacing) * .5);
79
73
  }
80
- dialog > article .close,
81
- dialog > article :is(a, button)[rel="prev"] {
82
- display: block;
74
+
75
+ dialog > article .close, dialog > article :is(a, button)[rel="prev"] {
83
76
  width: 1rem;
84
77
  height: 1rem;
85
78
  margin-top: calc(var(--pico-spacing) * -1);
86
79
  margin-bottom: var(--pico-spacing);
87
- margin-left: auto;
88
- border: none;
89
80
  background-image: var(--pico-icon-close);
81
+ opacity: .5;
82
+ transition: opacity var(--pico-transition);
83
+ background-color: #0000;
90
84
  background-position: center;
91
- background-size: auto 1rem;
92
85
  background-repeat: no-repeat;
93
- background-color: transparent;
94
- opacity: 0.5;
95
- transition: opacity var(--pico-transition);
86
+ background-size: auto 1rem;
87
+ border: none;
88
+ margin-left: auto;
89
+ display: block;
96
90
  }
97
- dialog > article .close:is([aria-current]:not([aria-current="false"]), :hover, :active, :focus),
98
- dialog
99
- > article
100
- :is(a, button)[rel="prev"]:is(
101
- [aria-current]:not([aria-current="false"]),
102
- :hover,
103
- :active,
104
- :focus
105
- ) {
91
+
92
+ dialog > article .close:is([aria-current]:not([aria-current="false"]), :hover, :active, :focus), dialog > article :is(a, button)[rel="prev"]:is([aria-current]:not([aria-current="false"]), :hover, :active, :focus) {
106
93
  opacity: 1;
107
94
  }
108
- dialog:not([open]),
109
- dialog[open="false"] {
95
+
96
+ dialog:not([open]), dialog[open="false"] {
110
97
  display: none;
111
98
  }
112
99
 
113
100
  .modal-is-open {
114
101
  padding-right: var(--pico-scrollbar-width, 0px);
115
- overflow: hidden;
116
102
  pointer-events: none;
117
103
  touch-action: none;
104
+ overflow: hidden;
118
105
  }
106
+
119
107
  .modal-is-open dialog {
120
108
  pointer-events: auto;
121
109
  touch-action: auto;
122
110
  }
123
111
 
124
- :where(.modal-is-opening, .modal-is-closing) dialog,
125
- :where(.modal-is-opening, .modal-is-closing) dialog > article {
126
- animation-duration: 0.2s;
112
+ :where(.modal-is-opening, .modal-is-closing) dialog, :where(.modal-is-opening, .modal-is-closing) dialog > article {
113
+ animation-duration: .2s;
127
114
  animation-timing-function: ease-in-out;
128
115
  animation-fill-mode: both;
129
116
  }
117
+
130
118
  :where(.modal-is-opening, .modal-is-closing) dialog {
131
- animation-duration: 0.8s;
132
119
  animation-name: modal-overlay;
120
+ animation-duration: .8s;
133
121
  }
122
+
134
123
  :where(.modal-is-opening, .modal-is-closing) dialog > article {
135
- animation-delay: 0.2s;
136
124
  animation-name: modal;
125
+ animation-delay: .2s;
137
126
  }
138
127
 
139
- .modal-is-closing dialog,
140
- .modal-is-closing dialog > article {
141
- animation-delay: 0s;
128
+ .modal-is-closing dialog, .modal-is-closing dialog > article {
142
129
  animation-direction: reverse;
130
+ animation-delay: 0s;
143
131
  }
144
132
 
145
133
  @keyframes modal-overlay {
146
134
  from {
147
135
  backdrop-filter: none;
148
- background-color: transparent;
136
+ background-color: #0000;
149
137
  }
150
138
  }
139
+
151
140
  @keyframes modal {
152
141
  from {
153
- transform: translateY(-100%);
154
142
  opacity: 0;
143
+ transform: translateY(-100%);
155
144
  }
156
145
  }
157
146
 
@@ -1,20 +1,15 @@
1
1
  @layer blades {
2
- /**
3
- * Nav
4
- */
5
- :where(:scope),
6
- :host {
7
- --pico-nav-element-spacing-horizontal: 0.5rem;
2
+ :where(:scope), :host {
3
+ --pico-nav-element-spacing-horizontal: .5rem;
8
4
  --pico-nav-breadcrumb-divider: ">";
9
5
  }
10
6
 
11
- :where(nav li)::before {
7
+ :where(nav li):before {
12
8
  float: left;
13
9
  content: "​";
14
10
  }
15
11
 
16
- nav,
17
- nav ul {
12
+ nav, nav ul {
18
13
  display: flex;
19
14
  }
20
15
 
@@ -22,41 +17,41 @@ nav {
22
17
  justify-content: space-between;
23
18
  overflow: visible;
24
19
  }
25
- nav ol,
26
- nav ul {
20
+
21
+ nav ol, nav ul {
27
22
  align-items: center;
28
23
  margin-bottom: 0;
29
24
  padding: 0;
30
25
  list-style: none;
31
26
  }
32
- nav ol:first-of-type,
33
- nav ul:first-of-type {
27
+
28
+ nav ol:first-of-type, nav ul:first-of-type {
34
29
  margin-left: calc(var(--pico-nav-element-spacing-horizontal) * -1);
35
30
  }
36
- nav ol:last-of-type,
37
- nav ul:last-of-type {
31
+
32
+ nav ol:last-of-type, nav ul:last-of-type {
38
33
  margin-right: calc(var(--pico-nav-element-spacing-horizontal) * -1);
39
34
  }
35
+
40
36
  nav li {
41
- display: inline-block;
42
- margin: 0;
43
37
  padding: var(--pico-nav-element-spacing-vertical) var(--pico-nav-element-spacing-horizontal);
38
+ margin: 0;
39
+ display: inline-block;
44
40
  }
41
+
45
42
  nav li :where(a, [role="link"]) {
46
- display: inline-block;
47
43
  margin: calc(var(--pico-nav-link-spacing-vertical) * -1)
48
44
  calc(var(--pico-nav-link-spacing-horizontal) * -1);
49
45
  padding: var(--pico-nav-link-spacing-vertical) var(--pico-nav-link-spacing-horizontal);
50
46
  border-radius: var(--pico-border-radius);
47
+ display: inline-block;
51
48
  }
49
+
52
50
  nav li :where(a, [role="link"]):not(:hover) {
53
51
  text-decoration: none;
54
52
  }
55
- nav li button,
56
- nav li [role="button"],
57
- nav li [type="button"],
58
- nav li input:not([type="checkbox"], [type="radio"], [type="range"], [type="file"]),
59
- nav li select {
53
+
54
+ nav li button, nav li [role="button"], nav li [type="button"], nav li input:not([type="checkbox"], [type="radio"], [type="range"], [type="file"]), nav li select {
60
55
  height: auto;
61
56
  margin-right: inherit;
62
57
  margin-bottom: 0;
@@ -64,53 +59,58 @@ nav li select {
64
59
  padding: calc(var(--pico-nav-link-spacing-vertical) - var(--pico-border-width) * 2)
65
60
  var(--pico-nav-link-spacing-horizontal);
66
61
  }
62
+
67
63
  nav[aria-label="breadcrumb"] {
68
- align-items: center;
69
64
  justify-content: start;
65
+ align-items: center;
70
66
  }
67
+
71
68
  nav[aria-label="breadcrumb"] ul li:not(:first-child) {
72
69
  margin-inline-start: var(--pico-nav-link-spacing-horizontal);
73
70
  }
71
+
74
72
  nav[aria-label="breadcrumb"] ul li a {
75
73
  margin: calc(var(--pico-nav-link-spacing-vertical) * -1) 0;
76
74
  margin-inline-start: calc(var(--pico-nav-link-spacing-horizontal) * -1);
77
75
  }
78
- nav[aria-label="breadcrumb"] ul li:not(:last-child)::after {
79
- display: inline-block;
80
- position: absolute;
76
+
77
+ nav[aria-label="breadcrumb"] ul li:not(:last-child):after {
81
78
  width: calc(var(--pico-nav-link-spacing-horizontal) * 4);
82
79
  margin: 0 calc(var(--pico-nav-link-spacing-horizontal) * -1);
83
80
  content: var(--pico-nav-breadcrumb-divider);
84
81
  color: var(--pico-muted-color);
85
82
  text-align: center;
86
- text-decoration: none;
87
83
  white-space: nowrap;
84
+ text-decoration: none;
85
+ display: inline-block;
86
+ position: absolute;
88
87
  }
88
+
89
89
  nav[aria-label="breadcrumb"] a[aria-current]:not([aria-current="false"]) {
90
- background-color: transparent;
91
90
  color: inherit;
92
- text-decoration: none;
93
91
  pointer-events: none;
92
+ background-color: #0000;
93
+ text-decoration: none;
94
94
  }
95
95
 
96
- aside nav,
97
- aside ol,
98
- aside ul,
99
- aside li {
96
+ aside nav, aside ol, aside ul, aside li {
100
97
  display: block;
101
98
  }
99
+
102
100
  aside li {
103
- padding: calc(var(--pico-nav-element-spacing-vertical) * 0.5)
101
+ padding: calc(var(--pico-nav-element-spacing-vertical) * .5)
104
102
  var(--pico-nav-element-spacing-horizontal);
105
103
  }
104
+
106
105
  aside li a {
107
106
  display: block;
108
107
  }
108
+
109
109
  aside li [role="button"] {
110
110
  margin: inherit;
111
111
  }
112
112
 
113
- [dir="rtl"] nav[aria-label="breadcrumb"] ul li:not(:last-child)::after {
113
+ [dir="rtl"] nav[aria-label="breadcrumb"] ul li:not(:last-child):after {
114
114
  content: "\\";
115
115
  }
116
116
 
@@ -1,64 +1,58 @@
1
1
  @layer blades {
2
- /**
3
- * Progress
4
- */
5
- :where(:scope, [data-theme="light"], [data-theme="dark"]),
6
- :host {
2
+ :where(:scope, [data-theme="light"], [data-theme="dark"]), :host {
7
3
  --pico-progress-background-color: light-dark(#dfe3eb, #202632);
8
4
  --pico-progress-color: var(--pico-primary-background);
9
5
  }
10
6
 
11
7
  progress {
12
- display: inline-block;
13
8
  vertical-align: baseline;
14
- }
15
-
16
- progress {
17
9
  -webkit-appearance: none;
18
10
  -moz-appearance: none;
19
- display: inline-block;
20
11
  appearance: none;
21
12
  width: 100%;
22
- height: 0.5rem;
23
- margin-bottom: calc(var(--pico-spacing) * 0.5);
24
- overflow: hidden;
25
- border: 0;
13
+ height: .5rem;
14
+ margin-bottom: calc(var(--pico-spacing) * .5);
26
15
  border-radius: var(--pico-border-radius);
27
16
  background-color: var(--pico-progress-background-color);
28
17
  color: var(--pico-progress-color);
18
+ border: 0;
19
+ display: inline-block;
20
+ overflow: hidden;
29
21
  }
22
+
30
23
  progress::-webkit-progress-bar {
31
24
  border-radius: var(--pico-border-radius);
32
25
  background: none;
33
26
  }
27
+
34
28
  progress[value]::-webkit-progress-value {
35
29
  background-color: var(--pico-progress-color);
36
30
  -webkit-transition: inline-size var(--pico-transition);
37
31
  transition: inline-size var(--pico-transition);
38
32
  }
33
+
39
34
  progress::-moz-progress-bar {
40
35
  background-color: var(--pico-progress-color);
41
36
  }
37
+
42
38
  @media (prefers-reduced-motion: no-preference) {
43
39
  progress:indeterminate {
44
40
  background: var(--pico-progress-background-color)
45
- linear-gradient(
46
- to right,
41
+ linear-gradient(to right,
47
42
  var(--pico-progress-color) 30%,
48
- var(--pico-progress-background-color) 30%
49
- )
43
+ var(--pico-progress-background-color) 30%)
50
44
  top left/150% 150% no-repeat;
51
- animation: progress-indeterminate 1s linear infinite;
45
+ animation: 1s linear infinite progress-indeterminate;
52
46
  }
47
+
53
48
  progress:indeterminate[value]::-webkit-progress-value {
54
- background-color: transparent;
49
+ background-color: #0000;
55
50
  }
51
+
56
52
  progress:indeterminate::-moz-progress-bar {
57
- background-color: transparent;
53
+ background-color: #0000;
58
54
  }
59
- }
60
55
 
61
- @media (prefers-reduced-motion: no-preference) {
62
56
  [dir="rtl"] progress:indeterminate {
63
57
  animation-direction: reverse;
64
58
  }
@@ -68,6 +62,7 @@ progress::-moz-progress-bar {
68
62
  0% {
69
63
  background-position: 200% 0;
70
64
  }
65
+
71
66
  100% {
72
67
  background-position: -200% 0;
73
68
  }
@@ -0,0 +1,10 @@
1
+ @layer blades {
2
+ dl.timeline, .has-timeline > dl {
3
+ & dd {
4
+ border-inline-start: .25rem solid var(--blades-timeline-border-color);
5
+ margin-block: 0;
6
+ padding: .25rem 0 .75rem 1rem;
7
+ }
8
+ }
9
+
10
+ }