@dscout/particle 1.0.0-alpha.51 → 1.0.0-alpha.53

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.
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dscout/particle",
3
- "version": "1.0.0-alpha.51",
3
+ "version": "1.0.0-alpha.53",
4
4
  "description": "A pattern library for building dscout user interfaces",
5
5
  "main": "lib/cjs/index.js",
6
6
  "module": "lib/esm/index.js",
@@ -65,7 +65,6 @@
65
65
  "@testing-library/react": "^16.0.1",
66
66
  "@testing-library/user-event": "^14.0.0",
67
67
  "@types/chai-dom": "^0.0.13",
68
- "@types/lodash": "^4.14.181",
69
68
  "@types/react": "18.3.18",
70
69
  "@types/react-dom": "^18.0.0",
71
70
  "@types/react-router": "^3.0.28",
@@ -88,7 +87,6 @@
88
87
  "eslint-plugin-react-hooks": "^5.1.0",
89
88
  "husky": "^1.3.1",
90
89
  "lint-staged": "^8.0.1",
91
- "lodash": "^4.17.21",
92
90
  "playwright": "^1.53.1",
93
91
  "postcss": "^8.4.8",
94
92
  "postcss-cli": "^9.1.0",
@@ -104,21 +102,14 @@
104
102
  "vite": "^5.4.8",
105
103
  "vitest": "^3.2.3"
106
104
  },
105
+ "dependencies": {
106
+ "@floating-ui/dom": "1.4.2"
107
+ },
107
108
  "peerDependencies": {
108
- "@floating-ui/dom": "1.4.2",
109
- "lodash": "^4.17.21",
110
109
  "react": "^18.0.0 || ^19.0.0",
111
110
  "react-dom": "^18.0.0 || ^19.0.0",
112
111
  "react-router-dom": "^6.0.0 || ^7.0.0"
113
112
  },
114
- "peerDependenciesMeta": {
115
- "lodash": {
116
- "optional": true
117
- },
118
- "@floating-ui/dom": {
119
- "optional": true
120
- }
121
- },
122
113
  "husky": {
123
114
  "hooks": {
124
115
  "pre-commit": "lint-staged"
package/styles/_base.scss CHANGED
@@ -22,29 +22,29 @@
22
22
  -moz-osx-font-smoothing: grayscale;
23
23
  }
24
24
 
25
- h1:where(:not(.particle-exclude *)),
26
- h2:where(:not(.particle-exclude *)),
27
- h3:where(:not(.particle-exclude *)),
28
- h4:where(:not(.particle-exclude *)),
29
- h5:where(:not(.particle-exclude *)),
30
- h6:where(:not(.particle-exclude *)),
31
- p:where(:not(.particle-exclude *)) {
25
+ h1:where(:not(.particle-exclude, .particle-exclude *)),
26
+ h2:where(:not(.particle-exclude, .particle-exclude *)),
27
+ h3:where(:not(.particle-exclude, .particle-exclude *)),
28
+ h4:where(:not(.particle-exclude, .particle-exclude *)),
29
+ h5:where(:not(.particle-exclude, .particle-exclude *)),
30
+ h6:where(:not(.particle-exclude, .particle-exclude *)),
31
+ p:where(:not(.particle-exclude, .particle-exclude *)) {
32
32
  font-size: var(--font-size--base);
33
33
  font-weight: normal;
34
34
  margin-bottom: 1em;
35
35
  }
36
36
 
37
- i:where(:not(.particle-exclude *)), em:where(:not(.particle-exclude *)) { font-style: italic; }
38
- b:where(:not(.particle-exclude *)), strong:where(:not(.particle-exclude *)) { font-weight: var(--font-weight--bold); }
39
- s:where(:not(.particle-exclude *)), strike:where(:not(.particle-exclude *)) { text-decoration: line-through; }
40
- u:where(:not(.particle-exclude *)) {
37
+ i:where(:not(.particle-exclude, .particle-exclude *)), em:where(:not(.particle-exclude, .particle-exclude *)) { font-style: italic; }
38
+ b:where(:not(.particle-exclude, .particle-exclude *)), strong:where(:not(.particle-exclude, .particle-exclude *)) { font-weight: var(--font-weight--bold); }
39
+ s:where(:not(.particle-exclude, .particle-exclude *)), strike:where(:not(.particle-exclude, .particle-exclude *)) { text-decoration: line-through; }
40
+ u:where(:not(.particle-exclude, .particle-exclude *)) {
41
41
  text-decoration: underline;
42
42
  text-decoration-skip: objects;
43
43
  }
44
- small:where(:not(.particle-exclude *)) { font-size: var(--font-size--s); }
45
- mark:where(:not(.particle-exclude *)) { background-color: var(--color--marker); }
44
+ small:where(:not(.particle-exclude, .particle-exclude *)) { font-size: var(--font-size--s); }
45
+ mark:where(:not(.particle-exclude, .particle-exclude *)) { background-color: var(--color--marker); }
46
46
 
47
- hr:where(:not(.particle-exclude *)) {
47
+ hr:where(:not(.particle-exclude, .particle-exclude *)) {
48
48
  border-style: solid;
49
49
  border-width: 0;
50
50
  border-top-width: 1px;
@@ -53,15 +53,15 @@ hr:where(:not(.particle-exclude *)) {
53
53
  margin-top: 2em;
54
54
  }
55
55
 
56
- label:where(:not(.particle-exclude *)) {
56
+ label:where(:not(.particle-exclude, .particle-exclude *)) {
57
57
  display: inline-block;
58
58
  }
59
59
 
60
- pre:where(:not(.particle-exclude *)) {
60
+ pre:where(:not(.particle-exclude, .particle-exclude *)) {
61
61
  display: block;
62
62
  white-space: pre-wrap;
63
63
  }
64
- code:where(:not(.particle-exclude *)) {
64
+ code:where(:not(.particle-exclude, .particle-exclude *)) {
65
65
  background-color: rgba(var(--color--main-rgb), .05);
66
66
  border: 1px solid transparent;
67
67
  border-radius: var(--radius--small);
@@ -70,7 +70,7 @@ code:where(:not(.particle-exclude *)) {
70
70
  padding: 0.2em 0.3em 0.1em;
71
71
  white-space: inherit;
72
72
  }
73
- pre:where(:not(.particle-exclude *)) code:where(:not(.particle-exclude *)) {
73
+ pre:where(:not(.particle-exclude, .particle-exclude *)) code:where(:not(.particle-exclude, .particle-exclude *)) {
74
74
  display: block;
75
75
  padding: .75em;
76
76
  }
@@ -9,39 +9,39 @@
9
9
  box-sizing: border-box;
10
10
  }
11
11
 
12
- div:where(:not(.particle-exclude *)),
13
- article:where(:not(.particle-exclude *)),
14
- section:where(:not(.particle-exclude *)),
15
- main:where(:not(.particle-exclude *)),
16
- footer:where(:not(.particle-exclude *)),
17
- header:where(:not(.particle-exclude *)),
18
- form:where(:not(.particle-exclude *)),
19
- fieldset:where(:not(.particle-exclude *)),
20
- pre:where(:not(.particle-exclude *)),
21
- code:where(:not(.particle-exclude *)),
22
- p:where(:not(.particle-exclude *)),
23
- ul:where(:not(.particle-exclude *)),
24
- ol:where(:not(.particle-exclude *)),
25
- li:where(:not(.particle-exclude *)),
26
- dl:where(:not(.particle-exclude *)),
27
- dt:where(:not(.particle-exclude *)),
28
- dd:where(:not(.particle-exclude *)),
29
- textarea:where(:not(.particle-exclude *)),
30
- input:where(:not(.particle-exclude *)),
31
- label:where(:not(.particle-exclude *)),
32
- select:where(:not(.particle-exclude *)) {
12
+ div:where(:not(.particle-exclude, .particle-exclude *)),
13
+ article:where(:not(.particle-exclude, .particle-exclude *)),
14
+ section:where(:not(.particle-exclude, .particle-exclude *)),
15
+ main:where(:not(.particle-exclude, .particle-exclude *)),
16
+ footer:where(:not(.particle-exclude, .particle-exclude *)),
17
+ header:where(:not(.particle-exclude, .particle-exclude *)),
18
+ form:where(:not(.particle-exclude, .particle-exclude *)),
19
+ fieldset:where(:not(.particle-exclude, .particle-exclude *)),
20
+ pre:where(:not(.particle-exclude, .particle-exclude *)),
21
+ code:where(:not(.particle-exclude, .particle-exclude *)),
22
+ p:where(:not(.particle-exclude, .particle-exclude *)),
23
+ ul:where(:not(.particle-exclude, .particle-exclude *)),
24
+ ol:where(:not(.particle-exclude, .particle-exclude *)),
25
+ li:where(:not(.particle-exclude, .particle-exclude *)),
26
+ dl:where(:not(.particle-exclude, .particle-exclude *)),
27
+ dt:where(:not(.particle-exclude, .particle-exclude *)),
28
+ dd:where(:not(.particle-exclude, .particle-exclude *)),
29
+ textarea:where(:not(.particle-exclude, .particle-exclude *)),
30
+ input:where(:not(.particle-exclude, .particle-exclude *)),
31
+ label:where(:not(.particle-exclude, .particle-exclude *)),
32
+ select:where(:not(.particle-exclude, .particle-exclude *)) {
33
33
  margin: 0 0 0.75em;
34
34
  }
35
35
 
36
- *:where(:not(.particle-exclude *)):first-child {
36
+ *:where(:not(.particle-exclude, .particle-exclude *)):first-child {
37
37
  margin-top: 0;
38
38
  }
39
39
 
40
- *:where(:not(.particle-exclude *)):last-child {
40
+ *:where(:not(.particle-exclude, .particle-exclude *)):last-child {
41
41
  margin-bottom: 0;
42
42
  }
43
43
 
44
- button:where(:not(.particle-exclude *)) {
44
+ button:where(:not(.particle-exclude, .particle-exclude *)) {
45
45
  background-color: inherit;
46
46
  border: inherit;
47
47
  color: inherit;
@@ -51,21 +51,21 @@ button:where(:not(.particle-exclude *)) {
51
51
  padding: 0;
52
52
  }
53
53
 
54
- legend:where(:not(.particle-exclude *)) {
54
+ legend:where(:not(.particle-exclude, .particle-exclude *)) {
55
55
  padding: 0;
56
56
  }
57
57
 
58
- fieldset:where(:not(.particle-exclude *)) {
58
+ fieldset:where(:not(.particle-exclude, .particle-exclude *)) {
59
59
  border: none;
60
60
  padding: 0;
61
61
  }
62
62
 
63
- a:where(:not(.particle-exclude *)) {
63
+ a:where(:not(.particle-exclude, .particle-exclude *)) {
64
64
  color: inherit;
65
65
  text-decoration: inherit;
66
66
  }
67
67
 
68
- *:where(:not(.particle-exclude *)):focus-visible {
68
+ *:where(:not(.particle-exclude, .particle-exclude *)):focus-visible {
69
69
  outline: var(--focus--color) var(--focus--style) var(--focus--width);
70
70
  outline-offset: var(--focus--offset);
71
71
  }
@@ -6,7 +6,7 @@
6
6
 
7
7
  /*=== Flex ===*/
8
8
 
9
- .flex:where(:not(.particle-exclude *)) {
9
+ .flex:where(:not(.particle-exclude, .particle-exclude *)) {
10
10
  align-items: center;
11
11
  display: flex;
12
12
 
@@ -16,7 +16,7 @@
16
16
  }
17
17
  }
18
18
 
19
- .inline-flex:where(:not(.particle-exclude *)) {
19
+ .inline-flex:where(:not(.particle-exclude, .particle-exclude *)) {
20
20
  align-items: center;
21
21
  display: inline-flex;
22
22
 
@@ -65,7 +65,7 @@
65
65
  .justify--end { justify-content: flex-end; }
66
66
  .justify--stretch { justify-content: stretch; }
67
67
 
68
- .wrap:where(:not(.particle-exclude *)) { flex-wrap: wrap; }
68
+ .wrap:where(:not(.particle-exclude, .particle-exclude *)) { flex-wrap: wrap; }
69
69
  .wrap--reverse { flex-wrap: wrap-reverse; }
70
70
 
71
71
 
@@ -1,4 +1,4 @@
1
- .border:where(:not(.particle-exclude *)) { border-style: solid; border-width: 1px; }
1
+ .border:where(:not(.particle-exclude, .particle-exclude *)) { border-style: solid; border-width: 1px; }
2
2
  .border--t { border-top-style: solid; border-top-width: 1px; }
3
3
  .border--r { border-right-style: solid; border-right-width: 1px; }
4
4
  .border--b { border-bottom-style: solid; border-bottom-width: 1px; }
@@ -90,7 +90,7 @@
90
90
  }
91
91
 
92
92
  /*=== Simple Truncate ===*/
93
- .truncate:where(:not(.particle-exclude *)) {
93
+ .truncate:where(:not(.particle-exclude, .particle-exclude *)) {
94
94
  overflow: hidden;
95
95
  text-overflow: ellipsis;
96
96
  white-space: nowrap;
@@ -22,8 +22,8 @@ the `visually-hidden` class, also available with the alias `.sr-only`.
22
22
  .visibility--hidden { visibility: hidden; }
23
23
  .visibility--visible { visibility: visible; }
24
24
 
25
- .sr-only:where(:not(.particle-exclude *)),
26
- .visually-hidden:where(:not(.particle-exclude *)) {
25
+ .sr-only:where(:not(.particle-exclude, .particle-exclude *)),
26
+ .visually-hidden:where(:not(.particle-exclude, .particle-exclude *)) {
27
27
  border: 0;
28
28
  clip: rect(0,0,0,0);
29
29
  height: 1px;