svelte-common 4.19.0 → 4.19.3
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.
- package/README.md +13 -0
- package/package.json +3 -3
- package/src/components/Tab.svelte +9 -0
- package/src/components/Tabs.svelte +9 -0
- package/src/index.svelte +6 -2
- package/src/sorting.mjs +12 -5
package/README.md
CHANGED
|
@@ -34,6 +34,8 @@ or the [live example](https://arlac77.github.io/components/svelte-common/example
|
|
|
34
34
|
* [Parameters](#parameters-2)
|
|
35
35
|
* [sorter](#sorter)
|
|
36
36
|
* [Parameters](#parameters-3)
|
|
37
|
+
* [keyPrefixStore](#keyprefixstore)
|
|
38
|
+
* [Parameters](#parameters-4)
|
|
37
39
|
|
|
38
40
|
## initializeServiceWorker
|
|
39
41
|
|
|
@@ -79,6 +81,17 @@ Generate a sort function for a given sort-by set.
|
|
|
79
81
|
|
|
80
82
|
Returns **[Function](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function)** sorter
|
|
81
83
|
|
|
84
|
+
## keyPrefixStore
|
|
85
|
+
|
|
86
|
+
Create a store where all the object keys are prefixed.
|
|
87
|
+
|
|
88
|
+
### Parameters
|
|
89
|
+
|
|
90
|
+
* `store` **WriteableStore** 
|
|
91
|
+
* `prefix` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** 
|
|
92
|
+
|
|
93
|
+
Returns **WriteableStore** 
|
|
94
|
+
|
|
82
95
|
# install
|
|
83
96
|
|
|
84
97
|
With [npm](http://npmjs.org) do:
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "svelte-common",
|
|
3
|
-
"version": "4.19.
|
|
3
|
+
"version": "4.19.3",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -39,10 +39,10 @@
|
|
|
39
39
|
"@semantic-release/commit-analyzer": "^9.0.2",
|
|
40
40
|
"@semantic-release/exec": "^6.0.3",
|
|
41
41
|
"@semantic-release/release-notes-generator": "^10.0.3",
|
|
42
|
-
"@sveltejs/vite-plugin-svelte": "^1.0.
|
|
42
|
+
"@sveltejs/vite-plugin-svelte": "^1.0.4",
|
|
43
43
|
"ava": "^4.3.3",
|
|
44
44
|
"documentation": "^14.0.0",
|
|
45
|
-
"mf-styling": "^1.7.
|
|
45
|
+
"mf-styling": "^1.7.8",
|
|
46
46
|
"npm-pkgbuild": "^10.14.8",
|
|
47
47
|
"semantic-release": "^19.0.5",
|
|
48
48
|
"stylelint": "^14.11.0",
|
package/src/index.svelte
CHANGED
|
@@ -14,6 +14,8 @@
|
|
|
14
14
|
import Collapse from "./components/Collapse.svelte";
|
|
15
15
|
import Modal from "./components/Modal.svelte";
|
|
16
16
|
import Peer from "./components/Peer.svelte";
|
|
17
|
+
import Tabs from "./components/Tabs.svelte";
|
|
18
|
+
import Tab from "./components/Tab.svelte";
|
|
17
19
|
|
|
18
20
|
export {
|
|
19
21
|
Bytes,
|
|
@@ -30,7 +32,9 @@
|
|
|
30
32
|
SessionDetails,
|
|
31
33
|
ServerDetails,
|
|
32
34
|
ServiceWorkerDetails,
|
|
33
|
-
ServiceWorkerRegistrationDetails
|
|
35
|
+
ServiceWorkerRegistrationDetails,
|
|
36
|
+
Tabs,
|
|
37
|
+
Tab
|
|
34
38
|
};
|
|
35
39
|
|
|
36
40
|
export {
|
|
@@ -50,6 +54,6 @@
|
|
|
50
54
|
SORT_ASCENDING,
|
|
51
55
|
SORT_DESCENDING
|
|
52
56
|
} from "./sorting.mjs";
|
|
53
|
-
export { filter } from "./filter.mjs";
|
|
57
|
+
export { filter } from "./filter.mjs";
|
|
54
58
|
export { initializeServiceWorker } from "./service-worker.mjs";
|
|
55
59
|
</script>
|
package/src/sorting.mjs
CHANGED
|
@@ -22,7 +22,7 @@ export function toggleOrderBy(orderBy) {
|
|
|
22
22
|
/**
|
|
23
23
|
* Add sortable toggle button with img element to a node.
|
|
24
24
|
* Synchronizes store value with node "aria-sort" attribute.
|
|
25
|
-
* @param {Node}
|
|
25
|
+
* @param {Node} the header node
|
|
26
26
|
* @param {WritableStore} to keep in sync with sorting properties
|
|
27
27
|
*/
|
|
28
28
|
export function sortable(th, store) {
|
|
@@ -31,9 +31,9 @@ export function sortable(th, store) {
|
|
|
31
31
|
);
|
|
32
32
|
|
|
33
33
|
const button = document.createElement("button");
|
|
34
|
-
button.setAttribute("aria-label", `
|
|
34
|
+
button.setAttribute("aria-label", `toggle sort of ${th.id}`);
|
|
35
35
|
const img = document.createElement("img");
|
|
36
|
-
img.setAttribute("alt", "sorting order indicator");
|
|
36
|
+
//img.setAttribute("alt", "sorting order indicator");
|
|
37
37
|
|
|
38
38
|
button.appendChild(img);
|
|
39
39
|
|
|
@@ -53,7 +53,7 @@ export function sortable(th, store) {
|
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
55
|
|
|
56
|
-
if (sort
|
|
56
|
+
if (sort === SORT_NONE) {
|
|
57
57
|
delete orderBy[peer.id];
|
|
58
58
|
} else {
|
|
59
59
|
orderBy[peer.id] = sort;
|
|
@@ -87,6 +87,7 @@ export function sorter(sortBy, getters = {}) {
|
|
|
87
87
|
return (a, b) => {
|
|
88
88
|
let av = getter(a);
|
|
89
89
|
let bv = getter(b);
|
|
90
|
+
|
|
90
91
|
if (av === undefined) {
|
|
91
92
|
return -rev;
|
|
92
93
|
}
|
|
@@ -96,11 +97,17 @@ export function sorter(sortBy, getters = {}) {
|
|
|
96
97
|
|
|
97
98
|
switch (typeof av) {
|
|
98
99
|
case "string":
|
|
99
|
-
|
|
100
|
+
switch (typeof bv) {
|
|
101
|
+
case "number":
|
|
102
|
+
case "string":
|
|
103
|
+
return av.localeCompare(bv);
|
|
104
|
+
}
|
|
100
105
|
}
|
|
101
106
|
|
|
102
107
|
if (av instanceof Date) {
|
|
103
108
|
av = av.getTime();
|
|
109
|
+
}
|
|
110
|
+
if (bv instanceof Date) {
|
|
104
111
|
bv = bv.getTime();
|
|
105
112
|
}
|
|
106
113
|
|