@mrts/soltw 0.3.10 → 0.3.13

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 (51) hide show
  1. package/dist/Block.d.ts +13 -0
  2. package/dist/Block.js +33 -0
  3. package/dist/Block.jsx +24 -0
  4. package/dist/_tw_styles.ts +76 -0
  5. package/dist/index.d.ts +10 -125
  6. package/dist/index.js +10 -413
  7. package/dist/index.jsx +10 -367
  8. package/dist/items/IdLabel.d.ts +15 -0
  9. package/dist/items/IdLabel.js +19 -0
  10. package/dist/items/IdLabel.jsx +19 -0
  11. package/dist/items/Item.d.ts +25 -0
  12. package/dist/items/Item.js +75 -0
  13. package/dist/items/Item.jsx +60 -0
  14. package/dist/items/ItemGroup.d.ts +24 -0
  15. package/dist/items/ItemGroup.js +86 -0
  16. package/dist/items/ItemGroup.jsx +63 -0
  17. package/dist/node_modules/solid-js/dist/solid.js +677 -0
  18. package/dist/node_modules/solid-js/dist/solid.jsx +654 -0
  19. package/dist/node_modules/solid-js/web/dist/web.js +694 -0
  20. package/dist/node_modules/solid-js/web/dist/web.jsx +678 -0
  21. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js +1893 -0
  22. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.jsx +1893 -0
  23. package/dist/packages/common/dist/index.js +4 -0
  24. package/dist/packages/common/dist/index.jsx +4 -0
  25. package/dist/packages/common/dist/messages/index.js +1 -0
  26. package/dist/packages/common/dist/messages/index.jsx +1 -0
  27. package/dist/packages/common/dist/messages/logMessages.js +14 -0
  28. package/dist/packages/common/dist/messages/logMessages.jsx +14 -0
  29. package/dist/packages/common/dist/strings/index.js +1 -0
  30. package/dist/packages/common/dist/strings/index.jsx +1 -0
  31. package/dist/packages/common/dist/strings/tokenize.js +47 -0
  32. package/dist/packages/common/dist/strings/tokenize.jsx +47 -0
  33. package/dist/soltw.d.ts +7 -0
  34. package/dist/soltw.js +10 -0
  35. package/dist/soltw.jsx +7 -0
  36. package/dist/stylers/SVTStyler.d.ts +32 -0
  37. package/dist/stylers/SVTStyler.js +65 -0
  38. package/dist/stylers/SVTStyler.jsx +65 -0
  39. package/dist/stylers/Stylers.d.ts +12 -0
  40. package/dist/stylers/Stylers.js +23 -0
  41. package/dist/stylers/Stylers.jsx +23 -0
  42. package/dist/stylers/base.styler.d.ts +6 -0
  43. package/dist/stylers/base.styler.js +71 -0
  44. package/dist/stylers/base.styler.jsx +71 -0
  45. package/dist/stylers/index.js +4 -0
  46. package/dist/stylers/index.jsx +4 -0
  47. package/dist/stylers/normalizers.d.ts +6 -0
  48. package/dist/stylers/normalizers.js +32 -0
  49. package/dist/stylers/normalizers.jsx +32 -0
  50. package/dist/stylers/types.d.ts +14 -0
  51. package/package.json +6 -8
@@ -0,0 +1,86 @@
1
+ import { buildIdLabel } from "./IdLabel.js";
2
+ import { For, createComponent, createMemo } from "../node_modules/solid-js/dist/solid.js";
3
+ import { twMerge } from "../node_modules/tailwind-merge/dist/bundle-mjs.js";
4
+ import { argTokenizeBySpaces } from "../packages/common/dist/strings/tokenize.js";
5
+ import { Item } from "./Item.js";
6
+ import { Block } from "../Block.js";
7
+
8
+ //#region src/items/ItemGroup.tsx
9
+ const ItemGroup = (props) => {
10
+ const items = () => props.items.map(buildIdLabel);
11
+ const currentVTags = createMemo(() => {
12
+ const item = [];
13
+ const group = [];
14
+ const _vtags = props.vtags;
15
+ if (Array.isArray(_vtags) || typeof _vtags == "string") group.push(...argTokenizeBySpaces(_vtags));
16
+ else if (typeof _vtags == "object" && _vtags != null) {
17
+ group.push(...argTokenizeBySpaces(_vtags.group));
18
+ item.push(...argTokenizeBySpaces(_vtags.item));
19
+ }
20
+ return {
21
+ group,
22
+ item
23
+ };
24
+ });
25
+ const classes = createMemo(() => {
26
+ let group = "";
27
+ let item = "";
28
+ if (typeof props.class == "string") group = props.class;
29
+ else if (props.class != void 0) {
30
+ props.class;
31
+ group = props.class.group ?? "";
32
+ item = props.class.item ?? "";
33
+ }
34
+ return {
35
+ group,
36
+ item
37
+ };
38
+ });
39
+ const blockClasses = () => {
40
+ return twMerge("flex flex-row gap-1", classes().group);
41
+ };
42
+ const itemClasses = () => {
43
+ return classes().item;
44
+ };
45
+ const callCallback = (item) => {
46
+ if (props.callback) props.callback(item);
47
+ };
48
+ const itemSelected = (id) => {
49
+ if (typeof props.selection == "string") return id == props.selection;
50
+ else if (typeof props.selection == "object") return !!props.selection[id];
51
+ return false;
52
+ };
53
+ return createComponent(Block, {
54
+ get ["class"]() {
55
+ return blockClasses();
56
+ },
57
+ get vtags() {
58
+ return currentVTags().group;
59
+ },
60
+ get children() {
61
+ return createComponent(For, {
62
+ get each() {
63
+ return items();
64
+ },
65
+ children: (item) => {
66
+ return createComponent(Item, {
67
+ idLabel: item,
68
+ get selected() {
69
+ return itemSelected(item.id);
70
+ },
71
+ callback: () => callCallback(item),
72
+ get ["class"]() {
73
+ return itemClasses();
74
+ },
75
+ get vtags() {
76
+ return currentVTags().item;
77
+ }
78
+ });
79
+ }
80
+ });
81
+ }
82
+ });
83
+ };
84
+
85
+ //#endregion
86
+ export { ItemGroup };
@@ -0,0 +1,63 @@
1
+ import { buildIdLabel } from "./IdLabel.jsx";
2
+ import { For, createMemo } from "../node_modules/solid-js/dist/solid.jsx";
3
+ import { twMerge } from "../node_modules/tailwind-merge/dist/bundle-mjs.jsx";
4
+ import { argTokenizeBySpaces } from "../packages/common/dist/strings/tokenize.jsx";
5
+ import { Item } from "./Item.jsx";
6
+ import { Block } from "../Block.jsx";
7
+
8
+ //#region src/items/ItemGroup.tsx
9
+ const ItemGroup = (props) => {
10
+ const items = () => props.items.map(buildIdLabel);
11
+ const currentVTags = createMemo(() => {
12
+ const item = [];
13
+ const group = [];
14
+ const _vtags = props.vtags;
15
+ if (Array.isArray(_vtags) || typeof _vtags == "string") group.push(...argTokenizeBySpaces(_vtags));
16
+ else if (typeof _vtags == "object" && _vtags != null) {
17
+ group.push(...argTokenizeBySpaces(_vtags.group));
18
+ item.push(...argTokenizeBySpaces(_vtags.item));
19
+ }
20
+ return {
21
+ group,
22
+ item
23
+ };
24
+ });
25
+ const classes = createMemo(() => {
26
+ let group = "";
27
+ let item = "";
28
+ if (typeof props.class == "string") group = props.class;
29
+ else if (props.class != void 0) {
30
+ props.class;
31
+ group = props.class.group ?? "";
32
+ item = props.class.item ?? "";
33
+ }
34
+ return {
35
+ group,
36
+ item
37
+ };
38
+ });
39
+ const blockClasses = () => {
40
+ return twMerge("flex flex-row gap-1", classes().group);
41
+ };
42
+ const itemClasses = () => {
43
+ return classes().item;
44
+ };
45
+ const callCallback = (item) => {
46
+ if (props.callback) props.callback(item);
47
+ };
48
+ const itemSelected = (id) => {
49
+ if (typeof props.selection == "string") return id == props.selection;
50
+ else if (typeof props.selection == "object") return !!props.selection[id];
51
+ return false;
52
+ };
53
+ return <Block class={blockClasses()} vtags={currentVTags().group}>
54
+ <For each={items()}>
55
+ {(item) => {
56
+ return <Item idLabel={item} selected={itemSelected(item.id)} callback={() => callCallback(item)} class={itemClasses()} vtags={currentVTags().item}></Item>;
57
+ }}
58
+ </For>
59
+ </Block>;
60
+ };
61
+
62
+ //#endregion
63
+ export { ItemGroup };