@anyblades/blades 3.1.0-beta.7 → 3.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 (74) hide show
  1. package/README.md +173 -140
  2. package/css/blades.css +6 -6
  3. package/css/blades.min.css +6 -6
  4. package/css/blades.ninja.css +6 -6
  5. package/css/blades.ninja.min.css +6 -6
  6. package/css/float-label.css +1 -1
  7. package/css/float-label.min.css +1 -1
  8. package/css/layered/README.md +164 -0
  9. package/css/layered/_compact.css +30 -0
  10. package/css/layered/_utilities.css +23 -0
  11. package/css/layered/_variables-blades.css +8 -0
  12. package/css/layered/_variables.css +258 -0
  13. package/css/layered/blades.layered.css +6 -6
  14. package/css/layered/blades.layered.min.css +6 -6
  15. package/css/layered/components/_accordion.css +93 -0
  16. package/css/layered/components/_card.css +37 -0
  17. package/css/layered/components/_dropdown-popover.css +89 -0
  18. package/css/layered/components/_dropdown.css +188 -0
  19. package/css/layered/components/_group.css +89 -0
  20. package/css/layered/components/_index.css +950 -0
  21. package/css/layered/components/_loading.css +51 -0
  22. package/css/layered/components/_modal-modern.css +17 -0
  23. package/css/layered/components/_modal.css +144 -0
  24. package/css/layered/components/_nav.css +114 -0
  25. package/css/layered/components/_progress.css +68 -0
  26. package/css/layered/components/_timeline.css +7 -0
  27. package/css/layered/components/_tooltip.css +158 -0
  28. package/css/layered/content/_button.css +125 -0
  29. package/css/layered/content/_code-block.css +17 -0
  30. package/css/layered/content/_code.css +46 -0
  31. package/css/layered/content/_embedded-content.css +33 -0
  32. package/css/layered/content/_figure.css +10 -0
  33. package/css/layered/content/_icon.css +30 -0
  34. package/css/layered/content/_index.css +456 -0
  35. package/css/layered/content/_link.css +59 -0
  36. package/css/layered/content/_misc.css +15 -0
  37. package/css/layered/content/_table.css +24 -0
  38. package/css/layered/content/_typography.css +137 -0
  39. package/css/layered/forms/_basics.css +257 -0
  40. package/css/layered/forms/_checkbox-radio-switch.css +132 -0
  41. package/css/layered/forms/_index.css +617 -0
  42. package/css/layered/forms/_input-color.css +17 -0
  43. package/css/layered/forms/_input-datetime.css +37 -0
  44. package/css/layered/forms/_input-file.css +25 -0
  45. package/css/layered/forms/_input-range.css +111 -0
  46. package/css/layered/forms/_input-search.css +32 -0
  47. package/css/layered/forms/float-label/_core.css +28 -0
  48. package/css/layered/forms/float-label/_index.css +54 -0
  49. package/css/layered/forms/float-label/_theme.css +25 -0
  50. package/css/layered/forms/float-label/core.css +1 -1
  51. package/css/layered/forms/float-label.css +1 -1
  52. package/css/layered/layout/_columns.css +7 -0
  53. package/css/layered/layout/_container.css +39 -0
  54. package/css/layered/layout/_document.css +37 -0
  55. package/css/layered/layout/_grid.css +17 -0
  56. package/css/layered/layout/_index.css +103 -0
  57. package/css/layered/layout/_landmarks.css +3 -0
  58. package/css/layered/layout/_overflow-auto.css +3 -0
  59. package/css/layered/layout/_section.css +3 -0
  60. package/css/pico.canonical.css +2512 -0
  61. package/css/pico.canonical.min.css +1 -0
  62. package/css/pico.canonical.unmin.css +2512 -0
  63. package/css/pico.canonical.unmin.min.css +1 -0
  64. package/css/pico.conditional.css +2 -2
  65. package/css/pico.conditional.min.css +2 -2
  66. package/css/pico.css +2 -2
  67. package/css/pico.min.css +2 -2
  68. package/css/pico.unmin.css +2365 -0
  69. package/css/pico.unmin.min.css +7 -0
  70. package/package.json +12 -9
  71. package/src/blades/_index.css +1 -1
  72. package/src/blades/forms/float-label/_core.css +1 -1
  73. package/src/blades.css +2 -2
  74. package/src/pico/_index.css +2 -2
@@ -0,0 +1,25 @@
1
+ [type="file"] {
2
+ --pico-color: var(--pico-muted-color);
3
+ margin-left: calc(var(--pico-outline-width) * -1);
4
+ padding: calc(var(--pico-form-element-spacing-vertical) * .5) 0;
5
+ padding-left: var(--pico-outline-width);
6
+ background: none;
7
+ border: 0;
8
+ border-radius: 0;
9
+ }
10
+
11
+ [type="file"]::file-selector-button {
12
+ margin-right: calc(var(--pico-spacing) / 2);
13
+ padding: calc(var(--pico-form-element-spacing-vertical) * .5)
14
+ var(--pico-form-element-spacing-horizontal);
15
+ }
16
+
17
+ [type="file"]:is(:hover, :active, :focus)::file-selector-button {
18
+ --pico-background-color: var(--pico-secondary-hover-background);
19
+ --pico-border-color: var(--pico-secondary-hover-border);
20
+ }
21
+
22
+ [type="file"]:focus::file-selector-button {
23
+ --pico-box-shadow: var(--pico-button-hover-box-shadow, 0 0 0 #0000),
24
+ 0 0 0 var(--pico-outline-width) var(--pico-secondary-focus);
25
+ }
@@ -0,0 +1,111 @@
1
+ :where(:scope, [data-theme="light"], [data-theme="dark"]), :host {
2
+ --pico-range-border-color: light-dark(#dfe3eb, #202632);
3
+ --pico-range-active-border-color: light-dark(#bfc7d9, #2a3140);
4
+ --pico-range-thumb-border-color: var(--pico-background-color);
5
+ --pico-range-thumb-color: var(--pico-secondary-background);
6
+ --pico-range-thumb-active-color: var(--pico-primary-background);
7
+ }
8
+
9
+ [type="range"] {
10
+ -webkit-appearance: none;
11
+ -moz-appearance: none;
12
+ appearance: none;
13
+ background: none;
14
+ width: 100%;
15
+ height: 1.25rem;
16
+ }
17
+
18
+ [type="range"]::-webkit-slider-runnable-track {
19
+ border-radius: var(--pico-border-radius);
20
+ background-color: var(--pico-range-border-color);
21
+ width: 100%;
22
+ height: .375rem;
23
+ -webkit-transition: background-color var(--pico-transition),
24
+ box-shadow var(--pico-transition);
25
+ transition: background-color var(--pico-transition),
26
+ box-shadow var(--pico-transition);
27
+ }
28
+
29
+ [type="range"]::-moz-range-track {
30
+ border-radius: var(--pico-border-radius);
31
+ background-color: var(--pico-range-border-color);
32
+ width: 100%;
33
+ height: .375rem;
34
+ -moz-transition: background-color var(--pico-transition),
35
+ box-shadow var(--pico-transition);
36
+ transition: background-color var(--pico-transition),
37
+ box-shadow var(--pico-transition);
38
+ }
39
+
40
+ [type="range"]::-ms-track {
41
+ border-radius: var(--pico-border-radius);
42
+ background-color: var(--pico-range-border-color);
43
+ width: 100%;
44
+ height: .375rem;
45
+ -ms-transition: background-color var(--pico-transition),
46
+ box-shadow var(--pico-transition);
47
+ transition: background-color var(--pico-transition),
48
+ box-shadow var(--pico-transition);
49
+ }
50
+
51
+ [type="range"]::-webkit-slider-thumb {
52
+ -webkit-appearance: none;
53
+ border: 2px solid var(--pico-range-thumb-border-color);
54
+ background-color: var(--pico-range-thumb-color);
55
+ cursor: pointer;
56
+ width: 1.25rem;
57
+ height: 1.25rem;
58
+ -webkit-transition: background-color var(--pico-transition),
59
+ transform var(--pico-transition);
60
+ transition: background-color var(--pico-transition),
61
+ transform var(--pico-transition);
62
+ border-radius: 50%;
63
+ margin-top: -.4375rem;
64
+ }
65
+
66
+ [type="range"]::-moz-range-thumb {
67
+ -webkit-appearance: none;
68
+ border: 2px solid var(--pico-range-thumb-border-color);
69
+ background-color: var(--pico-range-thumb-color);
70
+ cursor: pointer;
71
+ width: 1.25rem;
72
+ height: 1.25rem;
73
+ -moz-transition: background-color var(--pico-transition),
74
+ transform var(--pico-transition);
75
+ transition: background-color var(--pico-transition),
76
+ transform var(--pico-transition);
77
+ border-radius: 50%;
78
+ margin-top: -.4375rem;
79
+ }
80
+
81
+ [type="range"]::-ms-thumb {
82
+ -webkit-appearance: none;
83
+ border: 2px solid var(--pico-range-thumb-border-color);
84
+ background-color: var(--pico-range-thumb-color);
85
+ cursor: pointer;
86
+ width: 1.25rem;
87
+ height: 1.25rem;
88
+ -ms-transition: background-color var(--pico-transition),
89
+ transform var(--pico-transition);
90
+ transition: background-color var(--pico-transition),
91
+ transform var(--pico-transition);
92
+ border-radius: 50%;
93
+ margin-top: -.4375rem;
94
+ }
95
+
96
+ [type="range"]:active, [type="range"]:focus-within {
97
+ --pico-range-border-color: var(--pico-range-active-border-color);
98
+ --pico-range-thumb-color: var(--pico-range-thumb-active-color);
99
+ }
100
+
101
+ [type="range"]:active::-webkit-slider-thumb {
102
+ transform: scale(1.25);
103
+ }
104
+
105
+ [type="range"]:active::-moz-range-thumb {
106
+ transform: scale(1.25);
107
+ }
108
+
109
+ [type="range"]:active::-ms-thumb {
110
+ transform: scale(1.25);
111
+ }
@@ -0,0 +1,32 @@
1
+ :where(:scope), :host {
2
+ --pico-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");
3
+ }
4
+
5
+ input:not([type="checkbox"], [type="radio"], [type="range"], [type="file"])[type="search"] {
6
+ background-image: var(--pico-icon-search);
7
+ background-position: center left calc(var(--pico-form-element-spacing-horizontal) + .125rem);
8
+ background-repeat: no-repeat;
9
+ background-size: 1rem;
10
+ padding-inline-start: calc(var(--pico-form-element-spacing-horizontal) + 1.75rem);
11
+ }
12
+
13
+ input:not([type="checkbox"], [type="radio"], [type="range"], [type="file"])[type="search"][aria-invalid] {
14
+ background-position: 1.125rem, right .75rem center;
15
+ padding-inline-start: calc(var(--pico-form-element-spacing-horizontal) + 1.75rem) !important;
16
+ }
17
+
18
+ input:not([type="checkbox"], [type="radio"], [type="range"], [type="file"])[type="search"][aria-invalid="false"] {
19
+ background-image: var(--pico-icon-search), var(--pico-icon-valid);
20
+ }
21
+
22
+ input:not([type="checkbox"], [type="radio"], [type="range"], [type="file"])[type="search"][aria-invalid="true"] {
23
+ background-image: var(--pico-icon-search), var(--pico-icon-invalid);
24
+ }
25
+
26
+ [dir="rtl"] :where(input):not([type="checkbox"], [type="radio"], [type="range"], [type="file"])[type="search"] {
27
+ background-position: right 1.125rem center;
28
+ }
29
+
30
+ [dir="rtl"] :where(input):not([type="checkbox"], [type="radio"], [type="range"], [type="file"])[type="search"][aria-invalid] {
31
+ background-position: right 1.125rem center, .75rem;
32
+ }
@@ -0,0 +1,28 @@
1
+ /*!
2
+ * Float Label CSS v2 by Blades CSS 🥷🏷️
3
+ * Copyright 2016–2026 (https://blades.dev/css/float-label/)
4
+ * Licensed under MIT
5
+ */
6
+ label:has( > span):has(input:not([type="checkbox"], [type="radio"], [type="range"]), textarea, select), .has-float-label {
7
+ display: block;
8
+ position: relative;
9
+
10
+ & > span, & label {
11
+ cursor: text;
12
+ font-size: 75%;
13
+ position: absolute;
14
+ top: 0;
15
+ left: 0;
16
+ }
17
+
18
+ & :placeholder-shown:not(:focus)::placeholder {
19
+ opacity: 0;
20
+ }
21
+
22
+ &:has(:placeholder-shown:not(:focus)) {
23
+ & > span, & label {
24
+ font-size: inherit;
25
+ opacity: .5;
26
+ }
27
+ }
28
+ }
@@ -0,0 +1,54 @@
1
+ /*!
2
+ * Float Label CSS v2 by Blades CSS 🥷🏷️
3
+ * Copyright 2016–2026 (https://blades.dev/css/float-label/)
4
+ * Licensed under MIT
5
+ */
6
+ label:has( > span):has(input:not([type="checkbox"], [type="radio"], [type="range"]), textarea, select), .has-float-label {
7
+ display: block;
8
+ position: relative;
9
+
10
+ & > span, & label {
11
+ cursor: text;
12
+ font-size: 75%;
13
+ position: absolute;
14
+ top: 0;
15
+ left: 0;
16
+ }
17
+
18
+ & :placeholder-shown:not(:focus)::placeholder {
19
+ opacity: 0;
20
+ }
21
+
22
+ &:has(:placeholder-shown:not(:focus)) {
23
+ & > span, & label {
24
+ font-size: inherit;
25
+ opacity: .5;
26
+ }
27
+ }
28
+ }
29
+
30
+ label:has( > span):has(input:not([type="checkbox"], [type="radio"], [type="range"]), textarea, select), .has-float-label {
31
+ & > span, & label {
32
+ opacity: .75;
33
+ padding-block-start: .25rem;
34
+ padding-inline-start: calc(1rem + 1px);
35
+ transition: all .25s;
36
+ }
37
+
38
+ & input, & textarea, & select {
39
+ margin-block-start: 0;
40
+ padding-block: 1.125rem .375rem;
41
+ padding-inline-start: 1rem;
42
+
43
+ &::placeholder {
44
+ opacity: 1;
45
+ transition: all .25s;
46
+ }
47
+ }
48
+
49
+ &:has(:placeholder-shown:not(:focus)) {
50
+ & > span, & label {
51
+ padding-block: .75rem;
52
+ }
53
+ }
54
+ }
@@ -0,0 +1,25 @@
1
+ label:has( > span):has(input:not([type="checkbox"], [type="radio"], [type="range"]), textarea, select), .has-float-label {
2
+ & > span, & label {
3
+ opacity: .75;
4
+ padding-block-start: .25rem;
5
+ padding-inline-start: calc(1rem + 1px);
6
+ transition: all .25s;
7
+ }
8
+
9
+ & input, & textarea, & select {
10
+ margin-block-start: 0;
11
+ padding-block: 1.125rem .375rem;
12
+ padding-inline-start: 1rem;
13
+
14
+ &::placeholder {
15
+ opacity: 1;
16
+ transition: all .25s;
17
+ }
18
+ }
19
+
20
+ &:has(:placeholder-shown:not(:focus)) {
21
+ & > span, & label {
22
+ padding-block: .75rem;
23
+ }
24
+ }
25
+ }
@@ -1,7 +1,7 @@
1
1
  @layer blades {
2
2
  /*!
3
3
  * Float Label CSS v2 by Blades CSS 🥷🏷️
4
- * Copyright 2016–2026 (https://blades.ninja/css/float-label/)
4
+ * Copyright 2016–2026 (https://blades.dev/css/float-label/)
5
5
  * Licensed under MIT
6
6
  */
7
7
  label:has( > span):has(input:not([type="checkbox"], [type="radio"], [type="range"]), textarea, select), .has-float-label {
@@ -1,7 +1,7 @@
1
1
  @layer blades {
2
2
  /*!
3
3
  * Float Label CSS v2 by Blades CSS 🥷🏷️
4
- * Copyright 2016–2026 (https://blades.ninja/css/float-label/)
4
+ * Copyright 2016–2026 (https://blades.dev/css/float-label/)
5
5
  * Licensed under MIT
6
6
  */
7
7
  label:has( > span):has(input:not([type="checkbox"], [type="radio"], [type="range"]), textarea, select), .has-float-label {
@@ -0,0 +1,7 @@
1
+ .columns {
2
+ columns: 25ch auto;
3
+
4
+ & > * {
5
+ break-inside: avoid;
6
+ }
7
+ }
@@ -0,0 +1,39 @@
1
+ .container, .container-fluid {
2
+ width: 100%;
3
+ padding-right: var(--pico-spacing);
4
+ padding-left: var(--pico-spacing);
5
+ margin-left: auto;
6
+ margin-right: auto;
7
+ }
8
+
9
+ @media (width >= 576px) {
10
+ .container {
11
+ max-width: 510px;
12
+ padding-left: 0;
13
+ padding-right: 0;
14
+ }
15
+ }
16
+
17
+ @media (width >= 768px) {
18
+ .container {
19
+ max-width: 700px;
20
+ }
21
+ }
22
+
23
+ @media (width >= 1024px) {
24
+ .container {
25
+ max-width: 950px;
26
+ }
27
+ }
28
+
29
+ @media (width >= 1280px) {
30
+ .container {
31
+ max-width: 1200px;
32
+ }
33
+ }
34
+
35
+ @media (width >= 1536px) {
36
+ .container {
37
+ max-width: 1450px;
38
+ }
39
+ }
@@ -0,0 +1,37 @@
1
+ *, :before, :after {
2
+ box-sizing: border-box;
3
+ background-repeat: no-repeat;
4
+ }
5
+
6
+ :before, :after {
7
+ text-decoration: inherit;
8
+ vertical-align: inherit;
9
+ }
10
+
11
+ :where(:scope), :where(:host) {
12
+ -webkit-tap-highlight-color: transparent;
13
+ -webkit-text-size-adjust: 100%;
14
+ -moz-text-size-adjust: 100%;
15
+ text-size-adjust: 100%;
16
+ background-color: var(--pico-background-color);
17
+ color: var(--pico-color);
18
+ font-weight: var(--pico-font-weight);
19
+ font-size: var(--pico-font-size);
20
+ line-height: var(--pico-line-height);
21
+ font-family: var(--pico-font-family);
22
+ text-underline-offset: var(--pico-text-underline-offset);
23
+ text-rendering: optimizelegibility;
24
+ overflow-wrap: break-word;
25
+ -moz-tab-size: 4;
26
+ -o-tab-size: 4;
27
+ tab-size: 4;
28
+ }
29
+
30
+ body {
31
+ width: 100%;
32
+ margin: 0;
33
+ }
34
+
35
+ main {
36
+ display: block;
37
+ }
@@ -0,0 +1,17 @@
1
+ .grid {
2
+ grid-column-gap: var(--pico-grid-column-gap);
3
+ grid-row-gap: var(--pico-grid-row-gap);
4
+ grid-template-columns: 1fr;
5
+ display: grid;
6
+ }
7
+
8
+ @media (width >= 768px) {
9
+ .grid {
10
+ grid-template-columns: repeat(auto-fit, minmax(0%, 1fr));
11
+ }
12
+ }
13
+
14
+ .grid > :not(.does-not-exist) {
15
+ min-width: 0;
16
+ margin-bottom: 0;
17
+ }
@@ -0,0 +1,103 @@
1
+ *, :before, :after {
2
+ box-sizing: border-box;
3
+ background-repeat: no-repeat;
4
+ }
5
+
6
+ :before, :after {
7
+ text-decoration: inherit;
8
+ vertical-align: inherit;
9
+ }
10
+
11
+ :where(:scope), :where(:host) {
12
+ -webkit-tap-highlight-color: transparent;
13
+ -webkit-text-size-adjust: 100%;
14
+ -moz-text-size-adjust: 100%;
15
+ text-size-adjust: 100%;
16
+ background-color: var(--pico-background-color);
17
+ color: var(--pico-color);
18
+ font-weight: var(--pico-font-weight);
19
+ font-size: var(--pico-font-size);
20
+ line-height: var(--pico-line-height);
21
+ font-family: var(--pico-font-family);
22
+ text-underline-offset: var(--pico-text-underline-offset);
23
+ text-rendering: optimizelegibility;
24
+ overflow-wrap: break-word;
25
+ -moz-tab-size: 4;
26
+ -o-tab-size: 4;
27
+ tab-size: 4;
28
+ }
29
+
30
+ body {
31
+ width: 100%;
32
+ margin: 0;
33
+ }
34
+
35
+ main {
36
+ display: block;
37
+ }
38
+
39
+ section {
40
+ margin-bottom: var(--pico-block-spacing-vertical);
41
+ }
42
+
43
+ .container, .container-fluid {
44
+ width: 100%;
45
+ padding-right: var(--pico-spacing);
46
+ padding-left: var(--pico-spacing);
47
+ margin-left: auto;
48
+ margin-right: auto;
49
+ }
50
+
51
+ @media (width >= 576px) {
52
+ .container {
53
+ max-width: 510px;
54
+ padding-left: 0;
55
+ padding-right: 0;
56
+ }
57
+ }
58
+
59
+ @media (width >= 768px) {
60
+ .container {
61
+ max-width: 700px;
62
+ }
63
+ }
64
+
65
+ @media (width >= 1024px) {
66
+ .container {
67
+ max-width: 950px;
68
+ }
69
+ }
70
+
71
+ @media (width >= 1280px) {
72
+ .container {
73
+ max-width: 1200px;
74
+ }
75
+ }
76
+
77
+ @media (width >= 1536px) {
78
+ .container {
79
+ max-width: 1450px;
80
+ }
81
+ }
82
+
83
+ .grid {
84
+ grid-column-gap: var(--pico-grid-column-gap);
85
+ grid-row-gap: var(--pico-grid-row-gap);
86
+ grid-template-columns: 1fr;
87
+ display: grid;
88
+ }
89
+
90
+ @media (width >= 768px) {
91
+ .grid {
92
+ grid-template-columns: repeat(auto-fit, minmax(0%, 1fr));
93
+ }
94
+ }
95
+
96
+ .grid > :not(.does-not-exist) {
97
+ min-width: 0;
98
+ margin-bottom: 0;
99
+ }
100
+
101
+ .overflow-auto {
102
+ overflow: auto;
103
+ }
@@ -0,0 +1,3 @@
1
+ body > header, body > main, body > footer {
2
+ padding-block: var(--pico-block-spacing-vertical);
3
+ }
@@ -0,0 +1,3 @@
1
+ .overflow-auto {
2
+ overflow: auto;
3
+ }
@@ -0,0 +1,3 @@
1
+ section {
2
+ margin-bottom: var(--pico-block-spacing-vertical);
3
+ }