@oscarpalmer/atoms 0.77.2 → 0.78.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 (175) hide show
  1. package/README.md +2 -2
  2. package/package.json +39 -78
  3. package/src/{js/array → array}/group-by.ts +10 -9
  4. package/src/{js/array → array}/to-map.ts +20 -20
  5. package/src/{js/array → array}/to-record.ts +59 -58
  6. package/types/array/group-by.d.cts +69 -9
  7. package/types/array/group-by.d.ts +10 -9
  8. package/types/array/index.d.cts +87 -27
  9. package/types/array/to-map.d.cts +10 -11
  10. package/types/array/to-map.d.ts +11 -11
  11. package/types/array/to-record.d.cts +68 -8
  12. package/types/array/to-record.d.ts +9 -8
  13. package/types/index.d.cts +41 -39
  14. package/dist/css/a11y.css +0 -13
  15. package/dist/css/flex.css +0 -150
  16. package/dist/css/reset.css +0 -316
  17. package/src/css/a11y.scss +0 -16
  18. package/src/css/flex.scss +0 -104
  19. package/src/css/reset.scss +0 -323
  20. /package/dist/{js/array → array}/chunk.cjs +0 -0
  21. /package/dist/{js/array → array}/chunk.js +0 -0
  22. /package/dist/{js/array → array}/compact.cjs +0 -0
  23. /package/dist/{js/array → array}/compact.js +0 -0
  24. /package/dist/{js/array → array}/count.cjs +0 -0
  25. /package/dist/{js/array → array}/count.js +0 -0
  26. /package/dist/{js/array → array}/exists.cjs +0 -0
  27. /package/dist/{js/array → array}/exists.js +0 -0
  28. /package/dist/{js/array → array}/filter.cjs +0 -0
  29. /package/dist/{js/array → array}/filter.js +0 -0
  30. /package/dist/{js/array → array}/find.cjs +0 -0
  31. /package/dist/{js/array → array}/find.js +0 -0
  32. /package/dist/{js/array → array}/group-by.cjs +0 -0
  33. /package/dist/{js/array → array}/group-by.js +0 -0
  34. /package/dist/{js/array → array}/index-of.cjs +0 -0
  35. /package/dist/{js/array → array}/index-of.js +0 -0
  36. /package/dist/{js/array → array}/index.cjs +0 -0
  37. /package/dist/{js/array → array}/index.js +0 -0
  38. /package/dist/{js/array → array}/insert.cjs +0 -0
  39. /package/dist/{js/array → array}/insert.js +0 -0
  40. /package/dist/{js/array → array}/models.cjs +0 -0
  41. /package/dist/{js/array → array}/models.js +0 -0
  42. /package/dist/{js/array → array}/shuffle.cjs +0 -0
  43. /package/dist/{js/array → array}/shuffle.js +0 -0
  44. /package/dist/{js/array → array}/sort.cjs +0 -0
  45. /package/dist/{js/array → array}/sort.js +0 -0
  46. /package/dist/{js/array → array}/splice.cjs +0 -0
  47. /package/dist/{js/array → array}/splice.js +0 -0
  48. /package/dist/{js/array → array}/to-map.cjs +0 -0
  49. /package/dist/{js/array → array}/to-map.js +0 -0
  50. /package/dist/{js/array → array}/to-record.cjs +0 -0
  51. /package/dist/{js/array → array}/to-record.js +0 -0
  52. /package/dist/{js/array → array}/unique.cjs +0 -0
  53. /package/dist/{js/array → array}/unique.js +0 -0
  54. /package/dist/{js/colour → colour}/base.cjs +0 -0
  55. /package/dist/{js/colour → colour}/base.js +0 -0
  56. /package/dist/{js/colour → colour}/functions.cjs +0 -0
  57. /package/dist/{js/colour → colour}/functions.js +0 -0
  58. /package/dist/{js/colour → colour}/hex.cjs +0 -0
  59. /package/dist/{js/colour → colour}/hex.js +0 -0
  60. /package/dist/{js/colour → colour}/hsl.cjs +0 -0
  61. /package/dist/{js/colour → colour}/hsl.js +0 -0
  62. /package/dist/{js/colour → colour}/index.cjs +0 -0
  63. /package/dist/{js/colour → colour}/index.js +0 -0
  64. /package/dist/{js/colour → colour}/is.cjs +0 -0
  65. /package/dist/{js/colour → colour}/is.js +0 -0
  66. /package/dist/{js/colour → colour}/rgb.cjs +0 -0
  67. /package/dist/{js/colour → colour}/rgb.js +0 -0
  68. /package/dist/{js/emitter.cjs → emitter.cjs} +0 -0
  69. /package/dist/{js/emitter.js → emitter.js} +0 -0
  70. /package/dist/{js/function.cjs → function.cjs} +0 -0
  71. /package/dist/{js/function.js → function.js} +0 -0
  72. /package/dist/{js/index.cjs → index.cjs} +0 -0
  73. /package/dist/{js/index.js → index.js} +0 -0
  74. /package/dist/{js/internal → internal}/array/callbacks.cjs +0 -0
  75. /package/dist/{js/internal → internal}/array/callbacks.js +0 -0
  76. /package/dist/{js/internal → internal}/array/find.cjs +0 -0
  77. /package/dist/{js/internal → internal}/array/find.js +0 -0
  78. /package/dist/{js/internal → internal}/value/handle.cjs +0 -0
  79. /package/dist/{js/internal → internal}/value/handle.js +0 -0
  80. /package/dist/{js/is.cjs → is.cjs} +0 -0
  81. /package/dist/{js/is.js → is.js} +0 -0
  82. /package/dist/{js/logger.cjs → logger.cjs} +0 -0
  83. /package/dist/{js/logger.js → logger.js} +0 -0
  84. /package/dist/{js/math.cjs → math.cjs} +0 -0
  85. /package/dist/{js/math.js → math.js} +0 -0
  86. /package/dist/{js/models.cjs → models.cjs} +0 -0
  87. /package/dist/{js/models.js → models.js} +0 -0
  88. /package/dist/{js/number.cjs → number.cjs} +0 -0
  89. /package/dist/{js/number.js → number.js} +0 -0
  90. /package/dist/{js/query.cjs → query.cjs} +0 -0
  91. /package/dist/{js/query.js → query.js} +0 -0
  92. /package/dist/{js/queue.cjs → queue.cjs} +0 -0
  93. /package/dist/{js/queue.js → queue.js} +0 -0
  94. /package/dist/{js/random.cjs → random.cjs} +0 -0
  95. /package/dist/{js/random.js → random.js} +0 -0
  96. /package/dist/{js/sized.cjs → sized.cjs} +0 -0
  97. /package/dist/{js/sized.js → sized.js} +0 -0
  98. /package/dist/{js/string → string}/case.cjs +0 -0
  99. /package/dist/{js/string → string}/case.js +0 -0
  100. /package/dist/{js/string → string}/index.cjs +0 -0
  101. /package/dist/{js/string → string}/index.js +0 -0
  102. /package/dist/{js/string → string}/template.cjs +0 -0
  103. /package/dist/{js/string → string}/template.js +0 -0
  104. /package/dist/{js/touch.cjs → touch.cjs} +0 -0
  105. /package/dist/{js/touch.js → touch.js} +0 -0
  106. /package/dist/{js/value → value}/clone.cjs +0 -0
  107. /package/dist/{js/value → value}/clone.js +0 -0
  108. /package/dist/{js/value → value}/compare.cjs +0 -0
  109. /package/dist/{js/value → value}/compare.js +0 -0
  110. /package/dist/{js/value → value}/diff.cjs +0 -0
  111. /package/dist/{js/value → value}/diff.js +0 -0
  112. /package/dist/{js/value → value}/equal.cjs +0 -0
  113. /package/dist/{js/value → value}/equal.js +0 -0
  114. /package/dist/{js/value → value}/get.cjs +0 -0
  115. /package/dist/{js/value → value}/get.js +0 -0
  116. /package/dist/{js/value → value}/index.cjs +0 -0
  117. /package/dist/{js/value → value}/index.js +0 -0
  118. /package/dist/{js/value → value}/merge.cjs +0 -0
  119. /package/dist/{js/value → value}/merge.js +0 -0
  120. /package/dist/{js/value → value}/set.cjs +0 -0
  121. /package/dist/{js/value → value}/set.js +0 -0
  122. /package/dist/{js/value → value}/smush.cjs +0 -0
  123. /package/dist/{js/value → value}/smush.js +0 -0
  124. /package/dist/{js/value → value}/unsmush.cjs +0 -0
  125. /package/dist/{js/value → value}/unsmush.js +0 -0
  126. /package/src/{js/array → array}/chunk.ts +0 -0
  127. /package/src/{js/array → array}/compact.ts +0 -0
  128. /package/src/{js/array → array}/count.ts +0 -0
  129. /package/src/{js/array → array}/exists.ts +0 -0
  130. /package/src/{js/array → array}/filter.ts +0 -0
  131. /package/src/{js/array → array}/find.ts +0 -0
  132. /package/src/{js/array → array}/index-of.ts +0 -0
  133. /package/src/{js/array → array}/index.ts +0 -0
  134. /package/src/{js/array → array}/insert.ts +0 -0
  135. /package/src/{js/array → array}/models.ts +0 -0
  136. /package/src/{js/array → array}/shuffle.ts +0 -0
  137. /package/src/{js/array → array}/sort.ts +0 -0
  138. /package/src/{js/array → array}/splice.ts +0 -0
  139. /package/src/{js/array → array}/unique.ts +0 -0
  140. /package/src/{js/colour → colour}/base.ts +0 -0
  141. /package/src/{js/colour → colour}/functions.ts +0 -0
  142. /package/src/{js/colour → colour}/hex.ts +0 -0
  143. /package/src/{js/colour → colour}/hsl.ts +0 -0
  144. /package/src/{js/colour → colour}/index.ts +0 -0
  145. /package/src/{js/colour → colour}/is.ts +0 -0
  146. /package/src/{js/colour → colour}/rgb.ts +0 -0
  147. /package/src/{js/emitter.ts → emitter.ts} +0 -0
  148. /package/src/{js/function.ts → function.ts} +0 -0
  149. /package/src/{js/index.ts → index.ts} +0 -0
  150. /package/src/{js/internal → internal}/array/callbacks.ts +0 -0
  151. /package/src/{js/internal → internal}/array/find.ts +0 -0
  152. /package/src/{js/internal → internal}/value/handle.ts +0 -0
  153. /package/src/{js/is.ts → is.ts} +0 -0
  154. /package/src/{js/logger.ts → logger.ts} +0 -0
  155. /package/src/{js/math.ts → math.ts} +0 -0
  156. /package/src/{js/models.ts → models.ts} +0 -0
  157. /package/src/{js/number.ts → number.ts} +0 -0
  158. /package/src/{js/query.ts → query.ts} +0 -0
  159. /package/src/{js/queue.ts → queue.ts} +0 -0
  160. /package/src/{js/random.ts → random.ts} +0 -0
  161. /package/src/{js/sized.ts → sized.ts} +0 -0
  162. /package/src/{js/string → string}/case.ts +0 -0
  163. /package/src/{js/string → string}/index.ts +0 -0
  164. /package/src/{js/string → string}/template.ts +0 -0
  165. /package/src/{js/touch.ts → touch.ts} +0 -0
  166. /package/src/{js/value → value}/clone.ts +0 -0
  167. /package/src/{js/value → value}/compare.ts +0 -0
  168. /package/src/{js/value → value}/diff.ts +0 -0
  169. /package/src/{js/value → value}/equal.ts +0 -0
  170. /package/src/{js/value → value}/get.ts +0 -0
  171. /package/src/{js/value → value}/index.ts +0 -0
  172. /package/src/{js/value → value}/merge.ts +0 -0
  173. /package/src/{js/value → value}/set.ts +0 -0
  174. /package/src/{js/value → value}/smush.ts +0 -0
  175. /package/src/{js/value → value}/unsmush.ts +0 -0
@@ -1,316 +0,0 @@
1
- @charset "UTF-8";
2
- /*! https://github.com/oscarpalmer/atoms */
3
- /**
4
- * Reset
5
- * ========================
6
- *
7
- * A reset I use for a lot of personal stuff, and elsewhere, of course.
8
- * It's a mix of a few different resets mixed together with some of my own ideas.
9
- *
10
- * When rules are explained, such comments will be suffixed with one ore more square brackets
11
- * with a two-letter code, all of which are listed below. My own code is "OP", which are my initials.
12
- *
13
- * - Andy Bell's "A (more) Modern CSS Reset" [AB]
14
- * https://andy-bell.co.uk/a-more-modern-css-reset/
15
- *
16
- * - CSS Remedy [CR]
17
- * https://github.com/jensimmons/cssremedy
18
- *
19
- * - RESS [RS]
20
- * https://github.com/filipelinhares/ress
21
- *
22
- * - Sanitize.css [SE]
23
- * https://github.com/csstools/sanitize.css
24
- */
25
- /**
26
- * Catch-alls
27
- */
28
- * {
29
- padding: 0;
30
- margin: 0;
31
- background-repeat: no-repeat;
32
- }
33
-
34
- *,
35
- *::after,
36
- *::before {
37
- box-sizing: border-box;
38
- }
39
-
40
- ::before,
41
- ::after {
42
- text-decoration: inherit;
43
- vertical-align: inherit;
44
- }
45
-
46
- /**
47
- * Document
48
- */
49
- :where(:root) {
50
- font-family: system-ui, sans-serif;
51
- font-size: 100%;
52
- line-height: 1.5;
53
- -moz-text-size-adjust: none;
54
- -webkit-text-size-adjust: none;
55
- text-size-adjust: none;
56
- -moz-tab-size: 4;
57
- tab-size: 4;
58
- -webkit-tap-highlight-color: transparent;
59
- }
60
-
61
- :where(body) {
62
- min-height: 100vh;
63
- font-size: 1rem;
64
- }
65
-
66
- /**
67
- * General
68
- */
69
- :where(a) {
70
- background-color: transparent;
71
- text-decoration-skip-ink: auto;
72
- text-underline-offset: 0.125em;
73
- }
74
-
75
- :where(abbr[title]) {
76
- border-bottom: none;
77
- text-decoration: underline;
78
- text-decoration: underline dotted;
79
- }
80
-
81
- :where(b, strong) {
82
- font-weight: bolder;
83
- }
84
-
85
- :where(button, h1, h2, h3, h4, h5, h6, input, label, legend) {
86
- line-height: 1.125;
87
- }
88
-
89
- :where(button, [type=button i], [type=reset i], [type=submit i]) {
90
- -webkit-appearance: button;
91
- cursor: pointer;
92
- }
93
-
94
- :where(button, select) {
95
- text-transform: none;
96
- }
97
-
98
- :where(button) {
99
- overflow: visible;
100
- }
101
-
102
- :where(code, kbd, pre, samp) {
103
- font-family: monospace, monospace;
104
- font-size: 1em;
105
- }
106
-
107
- :where(details > summary:first-of-type) {
108
- display: list-item;
109
- }
110
-
111
- :where(dl, ol, ul) :where(dl, ol, ul) {
112
- margin: 0;
113
- }
114
-
115
- :where(h1, h2, h3, h4, h5, h6) {
116
- text-wrap: balance;
117
- }
118
-
119
- :where(hr) {
120
- height: 0;
121
- overflow: visible;
122
- border-style: solid;
123
- border-width: 1px 0 0;
124
- color: inherit;
125
- }
126
-
127
- :where(nav) :where(ol, ul),
128
- :where(ul[class]) {
129
- list-style-type: none;
130
- padding: 0;
131
- }
132
-
133
- :where(nav li)::before {
134
- content: "​";
135
- float: left;
136
- }
137
-
138
- :where(pre) {
139
- overflow: auto;
140
- white-space: pre-wrap;
141
- }
142
-
143
- :where(small) {
144
- font-size: 0.875rem;
145
- }
146
-
147
- :where(sub, sup) {
148
- vertical-align: baseline;
149
- font-size: 0.75rem;
150
- line-height: 0;
151
- position: relative;
152
- }
153
-
154
- :where(sub) {
155
- bottom: -0.25em;
156
- }
157
-
158
- :where(sup) {
159
- top: -0.5em;
160
- }
161
-
162
- :where(table) {
163
- border-collapse: collapse;
164
- border-color: currentColor;
165
- text-indent: 0;
166
- }
167
-
168
- /**
169
- * Form-related
170
- */
171
- :where(button, input, optgroup, select, textarea) {
172
- font: inherit;
173
- }
174
-
175
- :where(button, input, select, textarea) {
176
- padding: 0.25em 0.5em;
177
- background-color: transparent;
178
- border: 1px solid WindowFrame;
179
- color: inherit;
180
- letter-spacing: inherit;
181
- }
182
-
183
- :where(fieldset) {
184
- border: 1px solid darkgrey;
185
- }
186
-
187
- :where(optgroup) {
188
- font-weight: bold;
189
- }
190
-
191
- :where(progress) {
192
- vertical-align: baseline;
193
- }
194
-
195
- :where(select) {
196
- -webkit-appearance: none;
197
- appearance: none;
198
- padding-right: 1em;
199
- background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='4'%3E%3Cpath d='M4 0h6L7 4'/%3E%3C/svg%3E") no-repeat right center/1em;
200
- border-radius: 0;
201
- }
202
-
203
- :where(select[multiple]) {
204
- background-image: none;
205
- }
206
-
207
- select::-ms-expand {
208
- display: none;
209
- }
210
-
211
- select::-ms-value {
212
- color: currentColor;
213
- }
214
-
215
- :where(textarea) {
216
- overflow: auto;
217
- resize: vertical;
218
- }
219
-
220
- :where([type=color i], [type=range i]) {
221
- border-width: 0;
222
- padding: 0;
223
- }
224
-
225
- :where([type=search i]) {
226
- -webkit-appearance: textfield;
227
- outline-offset: -2px;
228
- }
229
-
230
- ::-webkit-file-upload-button {
231
- -webkit-appearance: button;
232
- color: inherit;
233
- font: inherit;
234
- line-height: 1.25;
235
- }
236
-
237
- ::-webkit-inner-spin-button,
238
- ::-webkit-outer-spin-button {
239
- height: auto;
240
- }
241
-
242
- ::-webkit-input-placeholder {
243
- color: inherit;
244
- opacity: 0.54;
245
- }
246
-
247
- ::-webkit-search-decoration {
248
- -webkit-appearance: none;
249
- }
250
-
251
- /**
252
- * Media-related
253
- */
254
- :where(audio, canvas, embed, iframe, img, object, picture, svg, video) {
255
- max-width: 100%;
256
- vertical-align: middle;
257
- }
258
-
259
- :where(audio, canvas, embed, iframe, img, object, svg, video) {
260
- display: block;
261
- }
262
-
263
- :where(audio) {
264
- width: 100%;
265
- }
266
-
267
- :where(audio:not([controls])) {
268
- display: none;
269
- }
270
-
271
- :where(canvas, img, svg, video) {
272
- height: auto;
273
- }
274
-
275
- :where(iframe) {
276
- border-style: none;
277
- }
278
-
279
- :where(img) {
280
- border-style: none;
281
- }
282
-
283
- :where(picture) {
284
- display: contents;
285
- }
286
-
287
- :where(source) {
288
- display: none;
289
- }
290
-
291
- :where(svg) {
292
- overflow: hidden;
293
- }
294
-
295
- :where(svg:not([fill])) {
296
- fill: currentColor;
297
- }
298
-
299
- /**
300
- * Attributes
301
- */
302
- :where([disabled], [aria-disabled=true i]) {
303
- cursor: default;
304
- }
305
-
306
- [hidden] {
307
- display: none !important;
308
- }
309
-
310
- :where([aria-busy=true i]) {
311
- cursor: progress;
312
- }
313
-
314
- :where([aria-controls]) {
315
- cursor: pointer;
316
- }
package/src/css/a11y.scss DELETED
@@ -1,16 +0,0 @@
1
- .visually-hidden {
2
- :where(&) {
3
- position: absolute !important;
4
- }
5
-
6
- :where(&:not(:active):not(:focus):not(:focus-within)) {
7
- width: 1px !important;
8
- height: 1px !important;
9
- padding: 0 !important;
10
- clip: rect(1px, 1px 1px, 1px) !important;
11
- clip-path: inset(50%) !important;
12
- overflow: hidden !important;
13
- border: 0 !important;
14
- white-space: nowrap !important;
15
- }
16
- }
package/src/css/flex.scss DELETED
@@ -1,104 +0,0 @@
1
- :where(.fill) {
2
- flex: 1;
3
- }
4
-
5
- :where(.flow, .stack) {
6
- display: flex;
7
- }
8
-
9
- :where(.flow) {
10
- flex-flow: row wrap;
11
- align-items: center;
12
- gap: var(--flow-gap, 1rem);
13
- }
14
-
15
- .flow {
16
- :where(&-large) {
17
- gap: var(--flow-gap-large, calc(2 * var(--flow-gap, 1rem)));
18
- }
19
-
20
- :where(&-nowrap) {
21
- flex-wrap: nowrap;
22
- }
23
-
24
- :where(&-small) {
25
- gap: var(--flow-gap-small, calc(0.5 * var(--flow-gap, 1rem)));
26
- }
27
-
28
- :where(&-text) {
29
- gap: var(--flow-gap-text, 1em);
30
- }
31
- }
32
-
33
- :where(.stack) {
34
- flex-flow: column nowrap;
35
- gap: var(--stack-gap, 1rem);
36
- }
37
-
38
- .stack {
39
- :where(&-large) {
40
- gap: var(--stack-gap-large, calc(2 * var(--stack-gap, 1rem)));
41
- }
42
-
43
- :where(&-small) {
44
- gap: var(--stack-gap-small, calc(0.5 * var(--stack-gap, 1rem)));
45
- }
46
-
47
- :where(&-text) {
48
- gap: var(--stack-gap-text, 1em);
49
- }
50
- }
51
-
52
- .flex {
53
- &-reverse {
54
- :where(&[class^='flow' i], &[class*=' flow' i]) {
55
- flex-direction: row-reverse;
56
- }
57
-
58
- :where(&[class^='stack' i], &[class*=' stack' i]) {
59
- flex-direction: column-reverse;
60
- }
61
- }
62
- }
63
-
64
- $alignmentOrigins: (
65
- c: 'content',
66
- i: 'items',
67
- s: 'self',
68
- );
69
-
70
- $alignmentValues: (
71
- c: 'center',
72
- fe: 'flex-end',
73
- fs: 'flex-start',
74
- s: 'stretch',
75
- );
76
-
77
- $justificationValues: (
78
- sa: 'space-around',
79
- sb: 'space-between',
80
- se: 'space-evenly',
81
- );
82
-
83
- $types: (
84
- a: 'align',
85
- j: 'justify',
86
- );
87
-
88
- @each $typeKey, $typeValue in $types {
89
- @each $alignmentOriginKey, $alignmentOriginValue in $alignmentOrigins {
90
- .flex-#{$typeKey}#{$alignmentOriginKey} {
91
- @each $alignmentValueKey, $alignmentValueValue in $alignmentValues {
92
- :where(&-#{$alignmentValueKey}) {
93
- #{$typeValue}-#{$alignmentOriginValue}: #{$alignmentValueValue};
94
- }
95
- }
96
- }
97
- }
98
-
99
- @each $justificationKey, $justificationValue in $justificationValues {
100
- :where(.flex-#{$typeKey}c-#{$justificationKey}) {
101
- #{$typeValue}-content: #{$justificationValue};
102
- }
103
- }
104
- }