@mrts/soltw 0.3.5 → 0.3.6
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/dist/cjs/index.js +51 -67
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/index.js +51 -67
- package/dist/esm/index.js.map +1 -1
- package/package.json +3 -2
package/dist/cjs/index.js
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
var web = require('solid-js/web');
|
|
4
4
|
var solidJs = require('solid-js');
|
|
5
5
|
var tailwindMerge = require('tailwind-merge');
|
|
6
|
+
var common = require('@mrts/common');
|
|
6
7
|
|
|
7
8
|
function buildIdLabel(arg) {
|
|
8
9
|
if (typeof arg == "string") {
|
|
@@ -24,67 +25,6 @@ function buildIdLabel(arg) {
|
|
|
24
25
|
}
|
|
25
26
|
}
|
|
26
27
|
|
|
27
|
-
function buildTokenizeFuncUsingSplitters(splitters) {
|
|
28
|
-
splitters = Array.isArray(splitters) ? splitters : [splitters];
|
|
29
|
-
const tokenize = s => {
|
|
30
|
-
let r = s.split(splitters[0]).filter(t => t != "" && t != undefined);
|
|
31
|
-
for (const splitter of splitters.slice(1)) {
|
|
32
|
-
const r0 = [...r];
|
|
33
|
-
r = [];
|
|
34
|
-
for (const s of r0) {
|
|
35
|
-
r.push(...tokenizeFilterString(s, {
|
|
36
|
-
splitter,
|
|
37
|
-
filter: t => t != "" && t != undefined
|
|
38
|
-
}));
|
|
39
|
-
//r.push(...s.split(splitter).filter((t) => t != "" && t != undefined));
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
return r;
|
|
43
|
-
};
|
|
44
|
-
return tokenize;
|
|
45
|
-
}
|
|
46
|
-
function buildArgTokenizeFunc(tokenize) {
|
|
47
|
-
const argTokenize = arg => {
|
|
48
|
-
if (arg == undefined) {
|
|
49
|
-
return [];
|
|
50
|
-
} else if (Array.isArray(arg)) {
|
|
51
|
-
const r = [];
|
|
52
|
-
for (const a of arg) {
|
|
53
|
-
r.push(...argTokenize(a));
|
|
54
|
-
}
|
|
55
|
-
return r;
|
|
56
|
-
} else {
|
|
57
|
-
return tokenize(arg);
|
|
58
|
-
}
|
|
59
|
-
};
|
|
60
|
-
return argTokenize;
|
|
61
|
-
}
|
|
62
|
-
const tokenizeBySpaces = buildTokenizeFuncUsingSplitters(/\s+/);
|
|
63
|
-
const argTokenizeBySpaces = buildArgTokenizeFunc(tokenizeBySpaces);
|
|
64
|
-
function tokenizeFilterString(s, options = {}) {
|
|
65
|
-
const separator = options.splitter ?? /\s+/;
|
|
66
|
-
const filter = options.filter ?? (s => s.length > 0);
|
|
67
|
-
const r = s.split(separator).filter(filter);
|
|
68
|
-
return r;
|
|
69
|
-
}
|
|
70
|
-
function deduplicate(items) {
|
|
71
|
-
const r = [];
|
|
72
|
-
const itemSet = new Set();
|
|
73
|
-
for (const item of items) {
|
|
74
|
-
if (!itemSet.has(item)) {
|
|
75
|
-
r.push(item);
|
|
76
|
-
itemSet.add(item);
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
return r;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
const LogLevels = ["ERROR", "WARNING", "INFO", "DEBUG"];
|
|
83
|
-
const LogLevelsMap = new Map();
|
|
84
|
-
LogLevels.forEach((level, i) => {
|
|
85
|
-
LogLevelsMap.set(level, LogLevels.length - i);
|
|
86
|
-
});
|
|
87
|
-
|
|
88
28
|
class SVTStylerNormalizer {
|
|
89
29
|
constructor(styler) {
|
|
90
30
|
this.styler = styler;
|
|
@@ -95,7 +35,7 @@ class SVTStylerNormalizer {
|
|
|
95
35
|
}
|
|
96
36
|
}
|
|
97
37
|
function twMergeNormalize(raw) {
|
|
98
|
-
return tokenizeFilterString(tailwindMerge.twMerge(...raw));
|
|
38
|
+
return common.tokenizeFilterString(tailwindMerge.twMerge(...raw));
|
|
99
39
|
}
|
|
100
40
|
function mainTagNormalize(rawTags, defaultTag) {
|
|
101
41
|
const rhead = [];
|
|
@@ -199,8 +139,8 @@ class SVTStyler {
|
|
|
199
139
|
}
|
|
200
140
|
classes(stags, vtags) {
|
|
201
141
|
const r = [];
|
|
202
|
-
let stagsNormalized = argTokenizeBySpaces(stags);
|
|
203
|
-
let vtagsNormalized = argTokenizeBySpaces(vtags);
|
|
142
|
+
let stagsNormalized = common.argTokenizeBySpaces(stags);
|
|
143
|
+
let vtagsNormalized = common.argTokenizeBySpaces(vtags);
|
|
204
144
|
if (this.options.stagsNormaliser) {
|
|
205
145
|
stagsNormalized = this.options.stagsNormaliser(stagsNormalized);
|
|
206
146
|
}
|
|
@@ -217,9 +157,9 @@ class SVTStyler {
|
|
|
217
157
|
static normalizeRule(rule) {
|
|
218
158
|
let stagMode = rule.stagMode ?? "or";
|
|
219
159
|
let vtagMode = rule.vtagMode ?? "or";
|
|
220
|
-
let stags = deduplicate(argTokenizeBySpaces(rule.stags));
|
|
221
|
-
let vtags = deduplicate(argTokenizeBySpaces(rule.vtags));
|
|
222
|
-
let classes = deduplicate(argTokenizeBySpaces(rule.classes));
|
|
160
|
+
let stags = common.deduplicate(common.argTokenizeBySpaces(rule.stags));
|
|
161
|
+
let vtags = common.deduplicate(common.argTokenizeBySpaces(rule.vtags));
|
|
162
|
+
let classes = common.deduplicate(common.argTokenizeBySpaces(rule.classes));
|
|
223
163
|
if (rule.stags == undefined && rule.stagMode == undefined) {
|
|
224
164
|
stagMode = "any";
|
|
225
165
|
}
|
|
@@ -434,6 +374,50 @@ const Block = props => {
|
|
|
434
374
|
});
|
|
435
375
|
};
|
|
436
376
|
|
|
377
|
+
function buildTokenizeFuncUsingSplitters(splitters) {
|
|
378
|
+
splitters = Array.isArray(splitters) ? splitters : [splitters];
|
|
379
|
+
const tokenize = s => {
|
|
380
|
+
let r = s.split(splitters[0]).filter(t => t != "" && t != undefined);
|
|
381
|
+
for (const splitter of splitters.slice(1)) {
|
|
382
|
+
const r0 = [...r];
|
|
383
|
+
r = [];
|
|
384
|
+
for (const s of r0) {
|
|
385
|
+
r.push(...tokenizeFilterString(s, {
|
|
386
|
+
splitter,
|
|
387
|
+
filter: t => t != "" && t != undefined
|
|
388
|
+
}));
|
|
389
|
+
//r.push(...s.split(splitter).filter((t) => t != "" && t != undefined));
|
|
390
|
+
}
|
|
391
|
+
}
|
|
392
|
+
return r;
|
|
393
|
+
};
|
|
394
|
+
return tokenize;
|
|
395
|
+
}
|
|
396
|
+
function buildArgTokenizeFunc(tokenize) {
|
|
397
|
+
const argTokenize = arg => {
|
|
398
|
+
if (arg == undefined) {
|
|
399
|
+
return [];
|
|
400
|
+
} else if (Array.isArray(arg)) {
|
|
401
|
+
const r = [];
|
|
402
|
+
for (const a of arg) {
|
|
403
|
+
r.push(...argTokenize(a));
|
|
404
|
+
}
|
|
405
|
+
return r;
|
|
406
|
+
} else {
|
|
407
|
+
return tokenize(arg);
|
|
408
|
+
}
|
|
409
|
+
};
|
|
410
|
+
return argTokenize;
|
|
411
|
+
}
|
|
412
|
+
const tokenizeBySpaces = buildTokenizeFuncUsingSplitters(/\s+/);
|
|
413
|
+
const argTokenizeBySpaces = buildArgTokenizeFunc(tokenizeBySpaces);
|
|
414
|
+
function tokenizeFilterString(s, options = {}) {
|
|
415
|
+
const separator = options.splitter ?? /\s+/;
|
|
416
|
+
const filter = options.filter ?? (s => s.length > 0);
|
|
417
|
+
const r = s.split(separator).filter(filter);
|
|
418
|
+
return r;
|
|
419
|
+
}
|
|
420
|
+
|
|
437
421
|
const ItemGroup = props => {
|
|
438
422
|
const items = () => props.items.map(buildIdLabel);
|
|
439
423
|
const currentVTags = solidJs.createMemo(() => {
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/items/IdLabel.ts","../../../common/dist/strings/tokenize.js","../../../common/dist/messages/logMessages.js","../../src/stylers/stylersUtils.ts","../../src/stylers/tagRules.ts","../../src/stylers/SVTStyler.ts","../../src/stylers/base.styler.ts","../../src/stylers/Stylers.ts","../../src/items/Item.tsx","../../src/Block.tsx","../../src/items/ItemGroup.tsx","../../src/soltw.tsx"],"sourcesContent":["export interface IdLabel {\n id: string;\n label: string;\n [x: string | symbol]: unknown;\n}\n\nexport type IdLabelDef = {\n id: string;\n label?: string;\n [x: string | symbol]: unknown;\n};\n\nexport type IdLabelArg = IdLabelDef | [string, string] | string;\n\nexport function buildIdLabel(arg: IdLabelArg): IdLabel {\n if (typeof arg == \"string\") {\n return { id: arg, label: arg };\n } else if (Array.isArray(arg)) {\n return { id: arg[0], label: arg[1] };\n } else {\n const r = Object.assign({}, arg);\n if (r.label == undefined) {\n r[\"label\"] = r.id;\n }\n return r as IdLabel;\n }\n}\n\n","export function buildTokenizeFuncUsingSplitters(splitters) {\n splitters = Array.isArray(splitters) ? splitters : [splitters];\n const tokenize = (s) => {\n let r = s.split(splitters[0]).filter((t) => t != \"\" && t != undefined);\n for (const splitter of splitters.slice(1)) {\n const r0 = [...r];\n r = [];\n for (const s of r0) {\n r.push(...tokenizeFilterString(s, {\n splitter,\n filter: (t) => t != \"\" && t != undefined,\n }));\n //r.push(...s.split(splitter).filter((t) => t != \"\" && t != undefined));\n }\n }\n return r;\n };\n return tokenize;\n}\nexport function buildArgTokenizeFunc(tokenize) {\n const argTokenize = (arg) => {\n if (arg == undefined) {\n return [];\n }\n else if (Array.isArray(arg)) {\n const r = [];\n for (const a of arg) {\n r.push(...argTokenize(a));\n }\n return r;\n }\n else {\n return tokenize(arg);\n }\n };\n return argTokenize;\n}\nexport const tokenizeBySpaces = buildTokenizeFuncUsingSplitters(/\\s+/);\nexport const argTokenizeBySpaces = buildArgTokenizeFunc(tokenizeBySpaces);\nexport function tokenizeFilterString(s, options = {}) {\n const separator = options.splitter ?? /\\s+/;\n const filter = options.filter ?? ((s) => s.length > 0);\n const r = s.split(separator).filter(filter);\n return r;\n}\nexport function deduplicate(items) {\n const r = [];\n const itemSet = new Set();\n for (const item of items) {\n if (!itemSet.has(item)) {\n r.push(item);\n itemSet.add(item);\n }\n }\n return r;\n}\n//# sourceMappingURL=tokenize.js.map","export const LogLevels = [\"ERROR\", \"WARNING\", \"INFO\", \"DEBUG\"];\nconst LogLevelsMap = new Map();\nLogLevels.forEach((level, i) => {\n LogLevelsMap.set(level, LogLevels.length - i);\n});\nexport function logMessage(level, message, data = {}) {\n return { type: `log.${level}`, level, message, ...data };\n}\nexport function error(message, data = {}) {\n return logMessage(\"ERROR\", message, data);\n}\nexport function warning(message, data = {}) {\n return logMessage(\"WARNING\", message, data);\n}\nexport function info(message, data = {}) {\n return logMessage(\"INFO\", message, data);\n}\nexport function debug(message, data = {}) {\n return logMessage(\"DEBUG\", message, data);\n}\nexport function compareLevel(a, b) {\n return Math.sign(LogLevelsMap.get(a) - LogLevelsMap.get(b));\n}\n//# sourceMappingURL=logMessages.js.map","import { twMerge } from \"tailwind-merge\";\nimport type { ISVTStyler, TagListArgument } from \"./types.js\";\nimport { tokenizeFilterString } from \"@mrts/common\";\n\nexport class SVTStylerNormalizer implements ISVTStyler {\n constructor(private readonly styler: ISVTStyler) {}\n\n classes(stags: TagListArgument, vtags: TagListArgument): string[] {\n const r = this.styler.classes(stags, vtags);\n return r ?? [];\n }\n}\n\nexport function twMergeNormalize(raw: string[]): string[] {\n return tokenizeFilterString(twMerge(...raw));\n}\n\nexport function mainTagNormalize(\n rawTags: string[],\n defaultTag?: string\n): string[] {\n const rhead = [] as string[];\n const rtail = [] as string[];\n let rtag: string | undefined = undefined;\n for (const tag of rawTags) {\n if (tag.length == 1 && tag.toUpperCase() == tag) {\n rtag = tag;\n rhead.push(...rtail);\n rtail.length = 0;\n } else {\n if (rtag == undefined) {\n rhead.push(tag);\n } else {\n rtail.push(tag);\n }\n }\n }\n rtag = rtag ?? defaultTag;\n const r =\n rtag == undefined ? [...rhead, ...rtail] : [...rhead, rtag, ...rtail];\n // console.log(\"MAIN TAGS NORM:\", rawTags, r);\n return r;\n}\n\nexport function exlusiveTagNormalize(\n rawTags: string[],\n tagSet: Set<String>,\n defaultTag?: string\n): string[] {\n const rhead = [] as string[];\n const rtail = [] as string[];\n let rtag: string | undefined = undefined;\n for (const tag of rawTags) {\n if (tagSet.has(tag)) {\n rtag = tag;\n rhead.push(...rtail);\n rtail.length = 0;\n } else {\n if (rtag == undefined) {\n rhead.push(tag);\n } else {\n rtail.push(tag);\n }\n }\n }\n rtag = rtag ?? defaultTag;\n const r =\n rtag == undefined ? [...rhead, ...rtail] : [...rhead, rtag, ...rtail];\n //console.log(\"EXCLU TAGS NORM:\", rawTags, r);\n return r;\n}\n","import type { TagListArgument, TagRule } from \"./types.js\";\nimport { tokenizeFilterString } from \"@mrts/common\";\n\n\n\n// export function normalizeTagListArgument(arg: TagListArgument): string[] {\n// if (typeof arg == \"string\") {\n// return splitCleanString(arg);\n// } else if (Array.isArray(arg)) {\n// const r = [];\n// for (const a of arg) {\n// r.push(...normalizeTagListArgument(a));\n// }\n// return r;\n// }\n// return [];\n// }\n\n\nexport function tagRuleMatches(\n rule:TagRule,\n candidateTags: string[]\n) {\n if (rule.mode == \"any\") {\n return true;\n } else if (rule.mode == \"or\") {\n for (const ctag of candidateTags) {\n if (rule.tags.indexOf(ctag) >= 0) {\n return true;\n }\n }\n return false;\n } else if (rule.mode == \"and\") {\n for (const rtag of rule.tags) {\n if (candidateTags.indexOf(rtag) < 0) {\n return false;\n }\n }\n return true;\n }\n return false;\n}\n","import { argTokenizeBySpaces, deduplicate } from \"@mrts/common\";\nimport { tagRuleMatches } from \"./tagRules.js\";\nimport type {\n ISVTStyler,\n TagListArgument,\n TagRule,\n TagRuleMode,\n} from \"./types.js\";\n\nexport type SVTRule = {\n stagRule: TagRule;\n vtagRule: TagRule;\n classes: string[];\n};\n\nexport type SVTRuleDef = {\n stagMode?: TagRuleMode;\n vtagMode?: TagRuleMode;\n stags?: TagListArgument;\n vtags?: TagListArgument;\n classes?: TagListArgument;\n};\n\ntype SVTStylerOptions = {\n normalizer?: (rawClasses: string[]) => string[];\n stagsNormaliser?: (rawTags: string[]) => string[];\n vtagsNormaliser?: (rawTags: string[]) => string[];\n};\n\nexport class SVTStyler implements ISVTStyler {\n readonly _rules: SVTRule[] = [];\n readonly options: SVTStylerOptions;\n\n constructor(rules: SVTRuleDef[], options: SVTStylerOptions = {}) {\n for (const r of rules) {\n this._rules.push(SVTStyler.normalizeRule(r));\n }\n this.options = { ...options };\n }\n\n with(rules: SVTRuleDef[], options: SVTStylerOptions = {}): SVTStyler {\n const addedRules: SVTRule[] = [];\n for (const r of rules) {\n addedRules.push(SVTStyler.normalizeRule(r));\n }\n\n const styler = new SVTStyler([], { ...this.options });\n styler._rules.push(...this._rules, ...addedRules);\n return styler;\n }\n\n classes(stags: TagListArgument, vtags: TagListArgument): string[] {\n const r = [] as string[];\n\n let stagsNormalized = argTokenizeBySpaces(stags);\n let vtagsNormalized = argTokenizeBySpaces(vtags);\n\n if (this.options.stagsNormaliser) {\n stagsNormalized = this.options.stagsNormaliser(stagsNormalized);\n }\n if (this.options.vtagsNormaliser) {\n vtagsNormalized = this.options.vtagsNormaliser(vtagsNormalized);\n }\n\n for (const rule of this._rules) {\n if (this.ruleMatches(rule, stagsNormalized, vtagsNormalized)) {\n r.push(...rule.classes);\n }\n }\n\n return this.options.normalizer ? this.options.normalizer(r) : r;\n }\n\n static normalizeRule(rule: SVTRuleDef): SVTRule {\n let stagMode: TagRuleMode = rule.stagMode ?? \"or\";\n let vtagMode: TagRuleMode = rule.vtagMode ?? \"or\";\n let stags: string[] = deduplicate(argTokenizeBySpaces(rule.stags));\n let vtags: string[] = deduplicate(argTokenizeBySpaces(rule.vtags));\n let classes: string[] = deduplicate(argTokenizeBySpaces(rule.classes));\n\n if (rule.stags == undefined && rule.stagMode == undefined) {\n stagMode = \"any\";\n }\n if (rule.vtags == undefined && rule.vtagMode == undefined) {\n vtagMode = \"any\";\n }\n\n return {\n stagRule: { mode: stagMode, tags: stags },\n vtagRule: { mode: vtagMode, tags: vtags },\n classes,\n };\n }\n\n ruleMatches(rule: SVTRule, stags: string[], vtags: string[]) {\n return (\n tagRuleMatches(rule.stagRule, stags) &&\n tagRuleMatches(rule.vtagRule, vtags)\n );\n }\n}\n","import {\n mainTagNormalize,\n twMergeNormalize,\n exlusiveTagNormalize,\n} from \"./stylersUtils.js\";\nimport { SVTStyler } from \"./SVTStyler.js\";\n\n\nexport const baseStyler = new SVTStyler(\n [\n {\n vtags: \"A\",\n classes: \"bg-slate-100 text-slate-800\",\n },\n {\n vtags: \"B\",\n classes: \"bg-slate-800 text-slate-100\",\n },\n {\n vtags: \"C\",\n classes: \"bg-stone-300 text-orange-950\",\n },\n { \n vtags: \"D\",\n classes: \"bg-orange-900 text-stone-100\",\n },\n {\n vtags: \"LG\",\n classes: \"text-xl p-2\",\n },\n {\n vtags: \"BASE\",\n classes: \"text-base p-1\",\n },\n {\n vtags: \"SM\",\n classes: \"text-sm p-0.5\",\n },\n {\n vtags: \"LG\",\n stags: \"item\",\n classes: \"text-xl px-2 py-1\",\n },\n {\n vtags: \"BASE\",\n stags: \"item\",\n classes: \"text-base px-1 py-0.5\",\n },\n {\n vtags: \"SM\",\n stags: \"item\",\n classes: \"text-sm p-0.5\",\n },\n {\n stags: \"item:selected\",\n classes: \"underline font-bold\",\n },\n {\n stags: \"item:disabled\",\n classes: \"blur-[1px]\",\n },\n {\n stags: \"item/disabler\",\n classes: \"bg-slate-300/85 cursor-not-allowed\",\n },\n ],\n {\n normalizer: twMergeNormalize,\n vtagsNormaliser: (tags) =>\n exlusiveTagNormalize(\n mainTagNormalize(tags, \"A\"),\n new Set([\"SM\", \"BASE\", \"LG\"]),\n \"BASE\"\n ),\n }\n);\n","import type { ISVTStyler } from \"./types.js\";\nimport {baseStyler} from \"./base.styler.js\";\n\nexport class Stylers {\n private static _base: ISVTStyler | undefined;\n private static _stylersMap = new Map<string, ISVTStyler>();\n\n static get base(): ISVTStyler | undefined {\n return this._base;\n }\n static setBase(base: ISVTStyler | undefined) {\n return (this._base = base);\n }\n static {\n this._stylersMap.set(\"default\", baseStyler)\n this.setBase(baseStyler);\n }\n\n static get(name: string): ISVTStyler | undefined {\n return this._stylersMap.get(name);\n }\n}\n","import { type Component, createMemo, Show } from \"solid-js\";\nimport { twMerge } from \"tailwind-merge\";\nimport { type ISVTStyler, type TagListArgument } from \"../stylers/index.js\";\nimport { Stylers } from \"../stylers/Stylers.js\";\nimport { buildIdLabel, type IdLabel, type IdLabelArg } from \"./IdLabel.js\";\n\nexport type TItemClass = {\n item?: string;\n selected?: string;\n disabled?: string;\n disabler?: string;\n};\nexport type TItemClassArg = TItemClass|string;\n\nexport type TItemProps = {\n idLabel: IdLabelArg;\n callback?: (item: IdLabel) => void;\n selected?: boolean;\n disabled?: boolean;\n clickableWhendisabled?: boolean;\n styler?: ISVTStyler;\n vtags?: TagListArgument;\n class?: TItemClassArg;\n};\n\nexport const Item: Component<TItemProps> = (props) => {\n const itemData = () => buildIdLabel(props.idLabel);\n\n const currentSTags = () => {\n const r = [] as string[];\n r.push(\"item\");\n if (props.selected) {\n r.push(\"item:selected\");\n }\n if (props.disabled) {\n r.push(\"item:disabled\");\n }\n return r;\n };\n\n const currentStyler = () => {\n if (props.styler) {\n return props.styler;\n } else {\n return Stylers.base;\n }\n };\n\n const classProp = createMemo<TItemClass>(() => {\n if (props.class == undefined) {\n return {};\n } else if (typeof props.class == \"string\") {\n return { item: props.class };\n } else {\n return props.class;\n }\n });\n\n const itemClasses = createMemo(() => {\n const stags = currentSTags();\n\n const styler = currentStyler();\n\n const rawClasses = [] as (string | undefined)[];\n\n const stylerClasses = styler\n ? styler.classes(stags, props.vtags)\n : undefined;\n rawClasses.push(...(stylerClasses ?? []));\n\n if (props.callback) {\n rawClasses.push(\"select-none cursor-pointer\");\n }\n\n const customClasses = classProp();\n if (customClasses.item) {\n rawClasses.push(customClasses.item);\n }\n if (props.selected && customClasses.selected) {\n rawClasses.push(customClasses.selected);\n }\n if (props.disabled && customClasses.disabled) {\n rawClasses.push(customClasses.disabled);\n }\n\n rawClasses.push(\"relative\");\n const r = twMerge(rawClasses);\n return r;\n });\n\n const disablerClasses = createMemo(() => {\n const rawClasses = [] as string[];\n if (currentStyler()) {\n rawClasses.push(\n ...currentStyler()!.classes(\"item/disabler\", props.vtags)!\n );\n }\n if (classProp().disabler) {\n rawClasses.push(classProp().disabler!);\n }\n rawClasses.push(\"absolute inset-0\");\n const r = twMerge(rawClasses);\n return r;\n });\n\n function handleClick() {\n if (props.callback != undefined) {\n props.callback(itemData());\n }\n }\n\n return (\n <div onClick={handleClick} class={itemClasses()}>\n {itemData().label}\n <Show when={props.disabled}>\n <div\n class={disablerClasses()}\n onClick={(e) => {\n if (!props.clickableWhendisabled) {\n e.stopPropagation();\n }\n }}\n ></div>\n </Show>\n </div>\n );\n};\n","import type { Component, ParentProps } from \"solid-js\";\nimport { Dynamic } from \"solid-js/web\";\nimport { type ISVTStyler, Stylers, type TagListArgument } from \"./stylers/index.js\";\nimport { twMerge } from \"tailwind-merge\";\n\ntype TProps = ParentProps & {\n vtags?: TagListArgument;\n styler?: ISVTStyler;\n class?: string;\n element?: string;\n};\n\n\nexport const Block: Component<TProps> = (props) => {\n const elementTag = () => props.element ?? \"div\";\n const currentStyler = () => {\n if (props.styler) {\n return props.styler;\n } else {\n return Stylers.base;\n }\n };\n\n function blockClasses() {\n const stags = \"block\";\n const classes = currentStyler()!.classes(stags, props.vtags) ?? [];\n if (props.class) {\n classes.push(props.class);\n }\n return twMerge(classes);\n }\n\n return (\n <Dynamic component={elementTag()} class={blockClasses()}>\n {props.children}\n </Dynamic>\n );\n};\n","import { twMerge } from \"tailwind-merge\";\nimport { Block } from \"../Block.jsx\";\nimport { Item, type TItemClassArg } from \"./Item.js\";\nimport { buildIdLabel, type IdLabel, type IdLabelArg } from \"./IdLabel.js\";\nimport { type Component, createMemo, For } from \"solid-js\";\nimport { type TagListArgument } from \"../stylers/types.js\";\nimport { argTokenizeBySpaces } from \"../../../common/dist/strings/tokenize.js\";\n\ntype TProps = {\n items: IdLabelArg[];\n callback?: (item: IdLabel) => void;\n class?: string | { group?: string; item?: TItemClassArg };\n selection?: string | { [id: string]: boolean };\n vtags?: TagListArgument | { group?: TagListArgument; item?: TagListArgument };\n};\n\nexport const ItemGroup: Component<TProps> = (props) => {\n const items = () => props.items.map(buildIdLabel);\n\n const currentVTags = createMemo<{ group: string[]; item?: string[] }>(() => {\n const item = [] as string[];\n const group = [] as string[];\n const _vtags = props.vtags;\n if (Array.isArray(_vtags) || typeof _vtags == \"string\") {\n group.push(...argTokenizeBySpaces(_vtags));\n } else if (typeof _vtags == \"object\" && _vtags != null) {\n group.push(...argTokenizeBySpaces(_vtags.group));\n item.push(...argTokenizeBySpaces(_vtags.item));\n }\n return { group, item };\n });\n\n const classes = createMemo(() => {\n let group = \"\";\n let item: TItemClassArg = \"\";\n if (typeof props.class == \"string\") {\n group = props.class;\n } else if (props.class != undefined) {\n props.class;\n group = props.class.group ?? \"\";\n item = props.class.item ?? \"\";\n }\n\n return { group, item };\n });\n\n const blockClasses = () => {\n return twMerge(\"flex flex-row gap-1\", classes().group);\n };\n\n const itemClasses = () => {\n return classes().item;\n };\n\n const callCallback = (item: IdLabel) => {\n if (props.callback) {\n props.callback(item);\n }\n };\n\n const itemSelected = (id: string) => {\n if (typeof props.selection == \"string\") {\n return id == props.selection;\n } else if (typeof props.selection == \"object\") {\n return !!props.selection[id];\n }\n return false;\n };\n\n return (\n <Block class={blockClasses()} vtags={currentVTags().group}>\n <For each={items()}>\n {(item) => {\n return (\n <Item\n idLabel={item}\n selected={itemSelected(item.id)}\n callback={() => callCallback(item)}\n class={itemClasses()}\n vtags={currentVTags().item}\n ></Item>\n );\n }}\n </For>\n </Block>\n );\n};\n","import type { Component } from \"solid-js\";\n\ntype TProps = {}\n\nexport const SolTw : Component<TProps> = (props) =>{\n return <div class=\"bg-red-600\">- - S O L T W - -</div>\n}\n\n\n"],"names":["buildIdLabel","arg","id","label","Array","isArray","r","Object","assign","undefined","buildTokenizeFuncUsingSplitters","splitters","tokenize","s","split","filter","t","splitter","slice","r0","push","tokenizeFilterString","buildArgTokenizeFunc","argTokenize","a","tokenizeBySpaces","argTokenizeBySpaces","options","separator","length","deduplicate","items","itemSet","Set","item","has","add","LogLevels","LogLevelsMap","Map","forEach","level","i","set","SVTStylerNormalizer","constructor","styler","classes","stags","vtags","twMergeNormalize","raw","twMerge","mainTagNormalize","rawTags","defaultTag","rhead","rtail","rtag","tag","toUpperCase","exlusiveTagNormalize","tagSet","tagRuleMatches","rule","candidateTags","mode","ctag","tags","indexOf","SVTStyler","_rules","rules","normalizeRule","with","addedRules","stagsNormalized","vtagsNormalized","stagsNormaliser","vtagsNormaliser","ruleMatches","normalizer","stagMode","vtagMode","stagRule","vtagRule","baseStyler","Stylers","_stylersMap","base","_base","setBase","get","name","Item","props","itemData","idLabel","currentSTags","selected","disabled","currentStyler","classProp","createMemo","class","itemClasses","rawClasses","stylerClasses","callback","customClasses","disablerClasses","disabler","handleClick","_el$","_tmpl$","$$click","_$insert","_$createComponent","Show","when","children","_el$2","e","clickableWhendisabled","stopPropagation","_$effect","_$className","_$delegateEvents","Block","elementTag","element","blockClasses","Dynamic","component","ItemGroup","map","currentVTags","group","_vtags","callCallback","itemSelected","selection","For","each","SolTw"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/items/IdLabel.ts","../../src/stylers/stylersUtils.ts","../../src/stylers/tagRules.ts","../../src/stylers/SVTStyler.ts","../../src/stylers/base.styler.ts","../../src/stylers/Stylers.ts","../../src/items/Item.tsx","../../src/Block.tsx","../../../common/dist/strings/tokenize.js","../../src/items/ItemGroup.tsx","../../src/soltw.tsx"],"sourcesContent":["export interface IdLabel {\n id: string;\n label: string;\n [x: string | symbol]: unknown;\n}\n\nexport type IdLabelDef = {\n id: string;\n label?: string;\n [x: string | symbol]: unknown;\n};\n\nexport type IdLabelArg = IdLabelDef | [string, string] | string;\n\nexport function buildIdLabel(arg: IdLabelArg): IdLabel {\n if (typeof arg == \"string\") {\n return { id: arg, label: arg };\n } else if (Array.isArray(arg)) {\n return { id: arg[0], label: arg[1] };\n } else {\n const r = Object.assign({}, arg);\n if (r.label == undefined) {\n r[\"label\"] = r.id;\n }\n return r as IdLabel;\n }\n}\n\n","import { twMerge } from \"tailwind-merge\";\nimport type { ISVTStyler, TagListArgument } from \"./types.js\";\nimport { tokenizeFilterString } from \"@mrts/common\";\n\nexport class SVTStylerNormalizer implements ISVTStyler {\n constructor(private readonly styler: ISVTStyler) {}\n\n classes(stags: TagListArgument, vtags: TagListArgument): string[] {\n const r = this.styler.classes(stags, vtags);\n return r ?? [];\n }\n}\n\nexport function twMergeNormalize(raw: string[]): string[] {\n return tokenizeFilterString(twMerge(...raw));\n}\n\nexport function mainTagNormalize(\n rawTags: string[],\n defaultTag?: string\n): string[] {\n const rhead = [] as string[];\n const rtail = [] as string[];\n let rtag: string | undefined = undefined;\n for (const tag of rawTags) {\n if (tag.length == 1 && tag.toUpperCase() == tag) {\n rtag = tag;\n rhead.push(...rtail);\n rtail.length = 0;\n } else {\n if (rtag == undefined) {\n rhead.push(tag);\n } else {\n rtail.push(tag);\n }\n }\n }\n rtag = rtag ?? defaultTag;\n const r =\n rtag == undefined ? [...rhead, ...rtail] : [...rhead, rtag, ...rtail];\n // console.log(\"MAIN TAGS NORM:\", rawTags, r);\n return r;\n}\n\nexport function exlusiveTagNormalize(\n rawTags: string[],\n tagSet: Set<String>,\n defaultTag?: string\n): string[] {\n const rhead = [] as string[];\n const rtail = [] as string[];\n let rtag: string | undefined = undefined;\n for (const tag of rawTags) {\n if (tagSet.has(tag)) {\n rtag = tag;\n rhead.push(...rtail);\n rtail.length = 0;\n } else {\n if (rtag == undefined) {\n rhead.push(tag);\n } else {\n rtail.push(tag);\n }\n }\n }\n rtag = rtag ?? defaultTag;\n const r =\n rtag == undefined ? [...rhead, ...rtail] : [...rhead, rtag, ...rtail];\n //console.log(\"EXCLU TAGS NORM:\", rawTags, r);\n return r;\n}\n","import type { TagListArgument, TagRule } from \"./types.js\";\nimport { tokenizeFilterString } from \"@mrts/common\";\n\n\n\n// export function normalizeTagListArgument(arg: TagListArgument): string[] {\n// if (typeof arg == \"string\") {\n// return splitCleanString(arg);\n// } else if (Array.isArray(arg)) {\n// const r = [];\n// for (const a of arg) {\n// r.push(...normalizeTagListArgument(a));\n// }\n// return r;\n// }\n// return [];\n// }\n\n\nexport function tagRuleMatches(\n rule:TagRule,\n candidateTags: string[]\n) {\n if (rule.mode == \"any\") {\n return true;\n } else if (rule.mode == \"or\") {\n for (const ctag of candidateTags) {\n if (rule.tags.indexOf(ctag) >= 0) {\n return true;\n }\n }\n return false;\n } else if (rule.mode == \"and\") {\n for (const rtag of rule.tags) {\n if (candidateTags.indexOf(rtag) < 0) {\n return false;\n }\n }\n return true;\n }\n return false;\n}\n","import { argTokenizeBySpaces, deduplicate } from \"@mrts/common\";\nimport { tagRuleMatches } from \"./tagRules.js\";\nimport type {\n ISVTStyler,\n TagListArgument,\n TagRule,\n TagRuleMode,\n} from \"./types.js\";\n\nexport type SVTRule = {\n stagRule: TagRule;\n vtagRule: TagRule;\n classes: string[];\n};\n\nexport type SVTRuleDef = {\n stagMode?: TagRuleMode;\n vtagMode?: TagRuleMode;\n stags?: TagListArgument;\n vtags?: TagListArgument;\n classes?: TagListArgument;\n};\n\ntype SVTStylerOptions = {\n normalizer?: (rawClasses: string[]) => string[];\n stagsNormaliser?: (rawTags: string[]) => string[];\n vtagsNormaliser?: (rawTags: string[]) => string[];\n};\n\nexport class SVTStyler implements ISVTStyler {\n readonly _rules: SVTRule[] = [];\n readonly options: SVTStylerOptions;\n\n constructor(rules: SVTRuleDef[], options: SVTStylerOptions = {}) {\n for (const r of rules) {\n this._rules.push(SVTStyler.normalizeRule(r));\n }\n this.options = { ...options };\n }\n\n with(rules: SVTRuleDef[], options: SVTStylerOptions = {}): SVTStyler {\n const addedRules: SVTRule[] = [];\n for (const r of rules) {\n addedRules.push(SVTStyler.normalizeRule(r));\n }\n\n const styler = new SVTStyler([], { ...this.options });\n styler._rules.push(...this._rules, ...addedRules);\n return styler;\n }\n\n classes(stags: TagListArgument, vtags: TagListArgument): string[] {\n const r = [] as string[];\n\n let stagsNormalized = argTokenizeBySpaces(stags);\n let vtagsNormalized = argTokenizeBySpaces(vtags);\n\n if (this.options.stagsNormaliser) {\n stagsNormalized = this.options.stagsNormaliser(stagsNormalized);\n }\n if (this.options.vtagsNormaliser) {\n vtagsNormalized = this.options.vtagsNormaliser(vtagsNormalized);\n }\n\n for (const rule of this._rules) {\n if (this.ruleMatches(rule, stagsNormalized, vtagsNormalized)) {\n r.push(...rule.classes);\n }\n }\n\n return this.options.normalizer ? this.options.normalizer(r) : r;\n }\n\n static normalizeRule(rule: SVTRuleDef): SVTRule {\n let stagMode: TagRuleMode = rule.stagMode ?? \"or\";\n let vtagMode: TagRuleMode = rule.vtagMode ?? \"or\";\n let stags: string[] = deduplicate(argTokenizeBySpaces(rule.stags));\n let vtags: string[] = deduplicate(argTokenizeBySpaces(rule.vtags));\n let classes: string[] = deduplicate(argTokenizeBySpaces(rule.classes));\n\n if (rule.stags == undefined && rule.stagMode == undefined) {\n stagMode = \"any\";\n }\n if (rule.vtags == undefined && rule.vtagMode == undefined) {\n vtagMode = \"any\";\n }\n\n return {\n stagRule: { mode: stagMode, tags: stags },\n vtagRule: { mode: vtagMode, tags: vtags },\n classes,\n };\n }\n\n ruleMatches(rule: SVTRule, stags: string[], vtags: string[]) {\n return (\n tagRuleMatches(rule.stagRule, stags) &&\n tagRuleMatches(rule.vtagRule, vtags)\n );\n }\n}\n","import {\n mainTagNormalize,\n twMergeNormalize,\n exlusiveTagNormalize,\n} from \"./stylersUtils.js\";\nimport { SVTStyler } from \"./SVTStyler.js\";\n\n\nexport const baseStyler = new SVTStyler(\n [\n {\n vtags: \"A\",\n classes: \"bg-slate-100 text-slate-800\",\n },\n {\n vtags: \"B\",\n classes: \"bg-slate-800 text-slate-100\",\n },\n {\n vtags: \"C\",\n classes: \"bg-stone-300 text-orange-950\",\n },\n { \n vtags: \"D\",\n classes: \"bg-orange-900 text-stone-100\",\n },\n {\n vtags: \"LG\",\n classes: \"text-xl p-2\",\n },\n {\n vtags: \"BASE\",\n classes: \"text-base p-1\",\n },\n {\n vtags: \"SM\",\n classes: \"text-sm p-0.5\",\n },\n {\n vtags: \"LG\",\n stags: \"item\",\n classes: \"text-xl px-2 py-1\",\n },\n {\n vtags: \"BASE\",\n stags: \"item\",\n classes: \"text-base px-1 py-0.5\",\n },\n {\n vtags: \"SM\",\n stags: \"item\",\n classes: \"text-sm p-0.5\",\n },\n {\n stags: \"item:selected\",\n classes: \"underline font-bold\",\n },\n {\n stags: \"item:disabled\",\n classes: \"blur-[1px]\",\n },\n {\n stags: \"item/disabler\",\n classes: \"bg-slate-300/85 cursor-not-allowed\",\n },\n ],\n {\n normalizer: twMergeNormalize,\n vtagsNormaliser: (tags) =>\n exlusiveTagNormalize(\n mainTagNormalize(tags, \"A\"),\n new Set([\"SM\", \"BASE\", \"LG\"]),\n \"BASE\"\n ),\n }\n);\n","import type { ISVTStyler } from \"./types.js\";\nimport {baseStyler} from \"./base.styler.js\";\n\nexport class Stylers {\n private static _base: ISVTStyler | undefined;\n private static _stylersMap = new Map<string, ISVTStyler>();\n\n static get base(): ISVTStyler | undefined {\n return this._base;\n }\n static setBase(base: ISVTStyler | undefined) {\n return (this._base = base);\n }\n static {\n this._stylersMap.set(\"default\", baseStyler)\n this.setBase(baseStyler);\n }\n\n static get(name: string): ISVTStyler | undefined {\n return this._stylersMap.get(name);\n }\n}\n","import { type Component, createMemo, Show } from \"solid-js\";\nimport { twMerge } from \"tailwind-merge\";\nimport { type ISVTStyler, type TagListArgument } from \"../stylers/index.js\";\nimport { Stylers } from \"../stylers/Stylers.js\";\nimport { buildIdLabel, type IdLabel, type IdLabelArg } from \"./IdLabel.js\";\n\nexport type TItemClass = {\n item?: string;\n selected?: string;\n disabled?: string;\n disabler?: string;\n};\nexport type TItemClassArg = TItemClass|string;\n\nexport type TItemProps = {\n idLabel: IdLabelArg;\n callback?: (item: IdLabel) => void;\n selected?: boolean;\n disabled?: boolean;\n clickableWhendisabled?: boolean;\n styler?: ISVTStyler;\n vtags?: TagListArgument;\n class?: TItemClassArg;\n};\n\nexport const Item: Component<TItemProps> = (props) => {\n const itemData = () => buildIdLabel(props.idLabel);\n\n const currentSTags = () => {\n const r = [] as string[];\n r.push(\"item\");\n if (props.selected) {\n r.push(\"item:selected\");\n }\n if (props.disabled) {\n r.push(\"item:disabled\");\n }\n return r;\n };\n\n const currentStyler = () => {\n if (props.styler) {\n return props.styler;\n } else {\n return Stylers.base;\n }\n };\n\n const classProp = createMemo<TItemClass>(() => {\n if (props.class == undefined) {\n return {};\n } else if (typeof props.class == \"string\") {\n return { item: props.class };\n } else {\n return props.class;\n }\n });\n\n const itemClasses = createMemo(() => {\n const stags = currentSTags();\n\n const styler = currentStyler();\n\n const rawClasses = [] as (string | undefined)[];\n\n const stylerClasses = styler\n ? styler.classes(stags, props.vtags)\n : undefined;\n rawClasses.push(...(stylerClasses ?? []));\n\n if (props.callback) {\n rawClasses.push(\"select-none cursor-pointer\");\n }\n\n const customClasses = classProp();\n if (customClasses.item) {\n rawClasses.push(customClasses.item);\n }\n if (props.selected && customClasses.selected) {\n rawClasses.push(customClasses.selected);\n }\n if (props.disabled && customClasses.disabled) {\n rawClasses.push(customClasses.disabled);\n }\n\n rawClasses.push(\"relative\");\n const r = twMerge(rawClasses);\n return r;\n });\n\n const disablerClasses = createMemo(() => {\n const rawClasses = [] as string[];\n if (currentStyler()) {\n rawClasses.push(\n ...currentStyler()!.classes(\"item/disabler\", props.vtags)!\n );\n }\n if (classProp().disabler) {\n rawClasses.push(classProp().disabler!);\n }\n rawClasses.push(\"absolute inset-0\");\n const r = twMerge(rawClasses);\n return r;\n });\n\n function handleClick() {\n if (props.callback != undefined) {\n props.callback(itemData());\n }\n }\n\n return (\n <div onClick={handleClick} class={itemClasses()}>\n {itemData().label}\n <Show when={props.disabled}>\n <div\n class={disablerClasses()}\n onClick={(e) => {\n if (!props.clickableWhendisabled) {\n e.stopPropagation();\n }\n }}\n ></div>\n </Show>\n </div>\n );\n};\n","import type { Component, ParentProps } from \"solid-js\";\nimport { Dynamic } from \"solid-js/web\";\nimport { type ISVTStyler, Stylers, type TagListArgument } from \"./stylers/index.js\";\nimport { twMerge } from \"tailwind-merge\";\n\ntype TProps = ParentProps & {\n vtags?: TagListArgument;\n styler?: ISVTStyler;\n class?: string;\n element?: string;\n};\n\n\nexport const Block: Component<TProps> = (props) => {\n const elementTag = () => props.element ?? \"div\";\n const currentStyler = () => {\n if (props.styler) {\n return props.styler;\n } else {\n return Stylers.base;\n }\n };\n\n function blockClasses() {\n const stags = \"block\";\n const classes = currentStyler()!.classes(stags, props.vtags) ?? [];\n if (props.class) {\n classes.push(props.class);\n }\n return twMerge(classes);\n }\n\n return (\n <Dynamic component={elementTag()} class={blockClasses()}>\n {props.children}\n </Dynamic>\n );\n};\n","export function buildTokenizeFuncUsingSplitters(splitters) {\n splitters = Array.isArray(splitters) ? splitters : [splitters];\n const tokenize = (s) => {\n let r = s.split(splitters[0]).filter((t) => t != \"\" && t != undefined);\n for (const splitter of splitters.slice(1)) {\n const r0 = [...r];\n r = [];\n for (const s of r0) {\n r.push(...tokenizeFilterString(s, {\n splitter,\n filter: (t) => t != \"\" && t != undefined,\n }));\n //r.push(...s.split(splitter).filter((t) => t != \"\" && t != undefined));\n }\n }\n return r;\n };\n return tokenize;\n}\nexport function buildArgTokenizeFunc(tokenize) {\n const argTokenize = (arg) => {\n if (arg == undefined) {\n return [];\n }\n else if (Array.isArray(arg)) {\n const r = [];\n for (const a of arg) {\n r.push(...argTokenize(a));\n }\n return r;\n }\n else {\n return tokenize(arg);\n }\n };\n return argTokenize;\n}\nexport const tokenizeBySpaces = buildTokenizeFuncUsingSplitters(/\\s+/);\nexport const argTokenizeBySpaces = buildArgTokenizeFunc(tokenizeBySpaces);\nexport function tokenizeFilterString(s, options = {}) {\n const separator = options.splitter ?? /\\s+/;\n const filter = options.filter ?? ((s) => s.length > 0);\n const r = s.split(separator).filter(filter);\n return r;\n}\nexport function deduplicate(items) {\n const r = [];\n const itemSet = new Set();\n for (const item of items) {\n if (!itemSet.has(item)) {\n r.push(item);\n itemSet.add(item);\n }\n }\n return r;\n}\n//# sourceMappingURL=tokenize.js.map","import { twMerge } from \"tailwind-merge\";\nimport { Block } from \"../Block.jsx\";\nimport { Item, type TItemClassArg } from \"./Item.js\";\nimport { buildIdLabel, type IdLabel, type IdLabelArg } from \"./IdLabel.js\";\nimport { type Component, createMemo, For } from \"solid-js\";\nimport { type TagListArgument } from \"../stylers/types.js\";\nimport { argTokenizeBySpaces } from \"../../../common/dist/strings/tokenize.js\";\n\ntype TProps = {\n items: IdLabelArg[];\n callback?: (item: IdLabel) => void;\n class?: string | { group?: string; item?: TItemClassArg };\n selection?: string | { [id: string]: boolean };\n vtags?: TagListArgument | { group?: TagListArgument; item?: TagListArgument };\n};\n\nexport const ItemGroup: Component<TProps> = (props) => {\n const items = () => props.items.map(buildIdLabel);\n\n const currentVTags = createMemo<{ group: string[]; item?: string[] }>(() => {\n const item = [] as string[];\n const group = [] as string[];\n const _vtags = props.vtags;\n if (Array.isArray(_vtags) || typeof _vtags == \"string\") {\n group.push(...argTokenizeBySpaces(_vtags));\n } else if (typeof _vtags == \"object\" && _vtags != null) {\n group.push(...argTokenizeBySpaces(_vtags.group));\n item.push(...argTokenizeBySpaces(_vtags.item));\n }\n return { group, item };\n });\n\n const classes = createMemo(() => {\n let group = \"\";\n let item: TItemClassArg = \"\";\n if (typeof props.class == \"string\") {\n group = props.class;\n } else if (props.class != undefined) {\n props.class;\n group = props.class.group ?? \"\";\n item = props.class.item ?? \"\";\n }\n\n return { group, item };\n });\n\n const blockClasses = () => {\n return twMerge(\"flex flex-row gap-1\", classes().group);\n };\n\n const itemClasses = () => {\n return classes().item;\n };\n\n const callCallback = (item: IdLabel) => {\n if (props.callback) {\n props.callback(item);\n }\n };\n\n const itemSelected = (id: string) => {\n if (typeof props.selection == \"string\") {\n return id == props.selection;\n } else if (typeof props.selection == \"object\") {\n return !!props.selection[id];\n }\n return false;\n };\n\n return (\n <Block class={blockClasses()} vtags={currentVTags().group}>\n <For each={items()}>\n {(item) => {\n return (\n <Item\n idLabel={item}\n selected={itemSelected(item.id)}\n callback={() => callCallback(item)}\n class={itemClasses()}\n vtags={currentVTags().item}\n ></Item>\n );\n }}\n </For>\n </Block>\n );\n};\n","import type { Component } from \"solid-js\";\n\ntype TProps = {}\n\nexport const SolTw : Component<TProps> = (props) =>{\n return <div class=\"bg-red-600\">- - S O L T W - -</div>\n}\n\n\n"],"names":["buildIdLabel","arg","id","label","Array","isArray","r","Object","assign","undefined","SVTStylerNormalizer","constructor","styler","classes","stags","vtags","twMergeNormalize","raw","tokenizeFilterString","twMerge","mainTagNormalize","rawTags","defaultTag","rhead","rtail","rtag","tag","length","toUpperCase","push","exlusiveTagNormalize","tagSet","has","tagRuleMatches","rule","candidateTags","mode","ctag","tags","indexOf","SVTStyler","_rules","rules","options","normalizeRule","with","addedRules","stagsNormalized","argTokenizeBySpaces","vtagsNormalized","stagsNormaliser","vtagsNormaliser","ruleMatches","normalizer","stagMode","vtagMode","deduplicate","stagRule","vtagRule","baseStyler","Set","Stylers","_stylersMap","Map","base","_base","setBase","set","get","name","Item","props","itemData","idLabel","currentSTags","selected","disabled","currentStyler","classProp","createMemo","class","item","itemClasses","rawClasses","stylerClasses","callback","customClasses","disablerClasses","disabler","handleClick","_el$","_tmpl$","$$click","_$insert","_$createComponent","Show","when","children","_el$2","e","clickableWhendisabled","stopPropagation","_$effect","_$className","_$delegateEvents","Block","elementTag","element","blockClasses","Dynamic","component","buildTokenizeFuncUsingSplitters","splitters","tokenize","s","split","filter","t","splitter","slice","r0","buildArgTokenizeFunc","argTokenize","a","tokenizeBySpaces","separator","ItemGroup","items","map","currentVTags","group","_vtags","callCallback","itemSelected","selection","For","each","SolTw"],"mappings":"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"}
|
package/dist/esm/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { delegateEvents, template, insert, createComponent, effect, className, Dynamic } from 'solid-js/web';
|
|
2
2
|
import { createMemo, Show, For } from 'solid-js';
|
|
3
3
|
import { twMerge } from 'tailwind-merge';
|
|
4
|
+
import { tokenizeFilterString as tokenizeFilterString$1, argTokenizeBySpaces as argTokenizeBySpaces$1, deduplicate } from '@mrts/common';
|
|
4
5
|
|
|
5
6
|
function buildIdLabel(arg) {
|
|
6
7
|
if (typeof arg == "string") {
|
|
@@ -22,67 +23,6 @@ function buildIdLabel(arg) {
|
|
|
22
23
|
}
|
|
23
24
|
}
|
|
24
25
|
|
|
25
|
-
function buildTokenizeFuncUsingSplitters(splitters) {
|
|
26
|
-
splitters = Array.isArray(splitters) ? splitters : [splitters];
|
|
27
|
-
const tokenize = s => {
|
|
28
|
-
let r = s.split(splitters[0]).filter(t => t != "" && t != undefined);
|
|
29
|
-
for (const splitter of splitters.slice(1)) {
|
|
30
|
-
const r0 = [...r];
|
|
31
|
-
r = [];
|
|
32
|
-
for (const s of r0) {
|
|
33
|
-
r.push(...tokenizeFilterString(s, {
|
|
34
|
-
splitter,
|
|
35
|
-
filter: t => t != "" && t != undefined
|
|
36
|
-
}));
|
|
37
|
-
//r.push(...s.split(splitter).filter((t) => t != "" && t != undefined));
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
return r;
|
|
41
|
-
};
|
|
42
|
-
return tokenize;
|
|
43
|
-
}
|
|
44
|
-
function buildArgTokenizeFunc(tokenize) {
|
|
45
|
-
const argTokenize = arg => {
|
|
46
|
-
if (arg == undefined) {
|
|
47
|
-
return [];
|
|
48
|
-
} else if (Array.isArray(arg)) {
|
|
49
|
-
const r = [];
|
|
50
|
-
for (const a of arg) {
|
|
51
|
-
r.push(...argTokenize(a));
|
|
52
|
-
}
|
|
53
|
-
return r;
|
|
54
|
-
} else {
|
|
55
|
-
return tokenize(arg);
|
|
56
|
-
}
|
|
57
|
-
};
|
|
58
|
-
return argTokenize;
|
|
59
|
-
}
|
|
60
|
-
const tokenizeBySpaces = buildTokenizeFuncUsingSplitters(/\s+/);
|
|
61
|
-
const argTokenizeBySpaces = buildArgTokenizeFunc(tokenizeBySpaces);
|
|
62
|
-
function tokenizeFilterString(s, options = {}) {
|
|
63
|
-
const separator = options.splitter ?? /\s+/;
|
|
64
|
-
const filter = options.filter ?? (s => s.length > 0);
|
|
65
|
-
const r = s.split(separator).filter(filter);
|
|
66
|
-
return r;
|
|
67
|
-
}
|
|
68
|
-
function deduplicate(items) {
|
|
69
|
-
const r = [];
|
|
70
|
-
const itemSet = new Set();
|
|
71
|
-
for (const item of items) {
|
|
72
|
-
if (!itemSet.has(item)) {
|
|
73
|
-
r.push(item);
|
|
74
|
-
itemSet.add(item);
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
return r;
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
const LogLevels = ["ERROR", "WARNING", "INFO", "DEBUG"];
|
|
81
|
-
const LogLevelsMap = new Map();
|
|
82
|
-
LogLevels.forEach((level, i) => {
|
|
83
|
-
LogLevelsMap.set(level, LogLevels.length - i);
|
|
84
|
-
});
|
|
85
|
-
|
|
86
26
|
class SVTStylerNormalizer {
|
|
87
27
|
constructor(styler) {
|
|
88
28
|
this.styler = styler;
|
|
@@ -93,7 +33,7 @@ class SVTStylerNormalizer {
|
|
|
93
33
|
}
|
|
94
34
|
}
|
|
95
35
|
function twMergeNormalize(raw) {
|
|
96
|
-
return tokenizeFilterString(twMerge(...raw));
|
|
36
|
+
return tokenizeFilterString$1(twMerge(...raw));
|
|
97
37
|
}
|
|
98
38
|
function mainTagNormalize(rawTags, defaultTag) {
|
|
99
39
|
const rhead = [];
|
|
@@ -197,8 +137,8 @@ class SVTStyler {
|
|
|
197
137
|
}
|
|
198
138
|
classes(stags, vtags) {
|
|
199
139
|
const r = [];
|
|
200
|
-
let stagsNormalized = argTokenizeBySpaces(stags);
|
|
201
|
-
let vtagsNormalized = argTokenizeBySpaces(vtags);
|
|
140
|
+
let stagsNormalized = argTokenizeBySpaces$1(stags);
|
|
141
|
+
let vtagsNormalized = argTokenizeBySpaces$1(vtags);
|
|
202
142
|
if (this.options.stagsNormaliser) {
|
|
203
143
|
stagsNormalized = this.options.stagsNormaliser(stagsNormalized);
|
|
204
144
|
}
|
|
@@ -215,9 +155,9 @@ class SVTStyler {
|
|
|
215
155
|
static normalizeRule(rule) {
|
|
216
156
|
let stagMode = rule.stagMode ?? "or";
|
|
217
157
|
let vtagMode = rule.vtagMode ?? "or";
|
|
218
|
-
let stags = deduplicate(argTokenizeBySpaces(rule.stags));
|
|
219
|
-
let vtags = deduplicate(argTokenizeBySpaces(rule.vtags));
|
|
220
|
-
let classes = deduplicate(argTokenizeBySpaces(rule.classes));
|
|
158
|
+
let stags = deduplicate(argTokenizeBySpaces$1(rule.stags));
|
|
159
|
+
let vtags = deduplicate(argTokenizeBySpaces$1(rule.vtags));
|
|
160
|
+
let classes = deduplicate(argTokenizeBySpaces$1(rule.classes));
|
|
221
161
|
if (rule.stags == undefined && rule.stagMode == undefined) {
|
|
222
162
|
stagMode = "any";
|
|
223
163
|
}
|
|
@@ -432,6 +372,50 @@ const Block = props => {
|
|
|
432
372
|
});
|
|
433
373
|
};
|
|
434
374
|
|
|
375
|
+
function buildTokenizeFuncUsingSplitters(splitters) {
|
|
376
|
+
splitters = Array.isArray(splitters) ? splitters : [splitters];
|
|
377
|
+
const tokenize = s => {
|
|
378
|
+
let r = s.split(splitters[0]).filter(t => t != "" && t != undefined);
|
|
379
|
+
for (const splitter of splitters.slice(1)) {
|
|
380
|
+
const r0 = [...r];
|
|
381
|
+
r = [];
|
|
382
|
+
for (const s of r0) {
|
|
383
|
+
r.push(...tokenizeFilterString(s, {
|
|
384
|
+
splitter,
|
|
385
|
+
filter: t => t != "" && t != undefined
|
|
386
|
+
}));
|
|
387
|
+
//r.push(...s.split(splitter).filter((t) => t != "" && t != undefined));
|
|
388
|
+
}
|
|
389
|
+
}
|
|
390
|
+
return r;
|
|
391
|
+
};
|
|
392
|
+
return tokenize;
|
|
393
|
+
}
|
|
394
|
+
function buildArgTokenizeFunc(tokenize) {
|
|
395
|
+
const argTokenize = arg => {
|
|
396
|
+
if (arg == undefined) {
|
|
397
|
+
return [];
|
|
398
|
+
} else if (Array.isArray(arg)) {
|
|
399
|
+
const r = [];
|
|
400
|
+
for (const a of arg) {
|
|
401
|
+
r.push(...argTokenize(a));
|
|
402
|
+
}
|
|
403
|
+
return r;
|
|
404
|
+
} else {
|
|
405
|
+
return tokenize(arg);
|
|
406
|
+
}
|
|
407
|
+
};
|
|
408
|
+
return argTokenize;
|
|
409
|
+
}
|
|
410
|
+
const tokenizeBySpaces = buildTokenizeFuncUsingSplitters(/\s+/);
|
|
411
|
+
const argTokenizeBySpaces = buildArgTokenizeFunc(tokenizeBySpaces);
|
|
412
|
+
function tokenizeFilterString(s, options = {}) {
|
|
413
|
+
const separator = options.splitter ?? /\s+/;
|
|
414
|
+
const filter = options.filter ?? (s => s.length > 0);
|
|
415
|
+
const r = s.split(separator).filter(filter);
|
|
416
|
+
return r;
|
|
417
|
+
}
|
|
418
|
+
|
|
435
419
|
const ItemGroup = props => {
|
|
436
420
|
const items = () => props.items.map(buildIdLabel);
|
|
437
421
|
const currentVTags = createMemo(() => {
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/items/IdLabel.ts","../../../common/dist/strings/tokenize.js","../../../common/dist/messages/logMessages.js","../../src/stylers/stylersUtils.ts","../../src/stylers/tagRules.ts","../../src/stylers/SVTStyler.ts","../../src/stylers/base.styler.ts","../../src/stylers/Stylers.ts","../../src/items/Item.tsx","../../src/Block.tsx","../../src/items/ItemGroup.tsx","../../src/soltw.tsx"],"sourcesContent":["export interface IdLabel {\n id: string;\n label: string;\n [x: string | symbol]: unknown;\n}\n\nexport type IdLabelDef = {\n id: string;\n label?: string;\n [x: string | symbol]: unknown;\n};\n\nexport type IdLabelArg = IdLabelDef | [string, string] | string;\n\nexport function buildIdLabel(arg: IdLabelArg): IdLabel {\n if (typeof arg == \"string\") {\n return { id: arg, label: arg };\n } else if (Array.isArray(arg)) {\n return { id: arg[0], label: arg[1] };\n } else {\n const r = Object.assign({}, arg);\n if (r.label == undefined) {\n r[\"label\"] = r.id;\n }\n return r as IdLabel;\n }\n}\n\n","export function buildTokenizeFuncUsingSplitters(splitters) {\n splitters = Array.isArray(splitters) ? splitters : [splitters];\n const tokenize = (s) => {\n let r = s.split(splitters[0]).filter((t) => t != \"\" && t != undefined);\n for (const splitter of splitters.slice(1)) {\n const r0 = [...r];\n r = [];\n for (const s of r0) {\n r.push(...tokenizeFilterString(s, {\n splitter,\n filter: (t) => t != \"\" && t != undefined,\n }));\n //r.push(...s.split(splitter).filter((t) => t != \"\" && t != undefined));\n }\n }\n return r;\n };\n return tokenize;\n}\nexport function buildArgTokenizeFunc(tokenize) {\n const argTokenize = (arg) => {\n if (arg == undefined) {\n return [];\n }\n else if (Array.isArray(arg)) {\n const r = [];\n for (const a of arg) {\n r.push(...argTokenize(a));\n }\n return r;\n }\n else {\n return tokenize(arg);\n }\n };\n return argTokenize;\n}\nexport const tokenizeBySpaces = buildTokenizeFuncUsingSplitters(/\\s+/);\nexport const argTokenizeBySpaces = buildArgTokenizeFunc(tokenizeBySpaces);\nexport function tokenizeFilterString(s, options = {}) {\n const separator = options.splitter ?? /\\s+/;\n const filter = options.filter ?? ((s) => s.length > 0);\n const r = s.split(separator).filter(filter);\n return r;\n}\nexport function deduplicate(items) {\n const r = [];\n const itemSet = new Set();\n for (const item of items) {\n if (!itemSet.has(item)) {\n r.push(item);\n itemSet.add(item);\n }\n }\n return r;\n}\n//# sourceMappingURL=tokenize.js.map","export const LogLevels = [\"ERROR\", \"WARNING\", \"INFO\", \"DEBUG\"];\nconst LogLevelsMap = new Map();\nLogLevels.forEach((level, i) => {\n LogLevelsMap.set(level, LogLevels.length - i);\n});\nexport function logMessage(level, message, data = {}) {\n return { type: `log.${level}`, level, message, ...data };\n}\nexport function error(message, data = {}) {\n return logMessage(\"ERROR\", message, data);\n}\nexport function warning(message, data = {}) {\n return logMessage(\"WARNING\", message, data);\n}\nexport function info(message, data = {}) {\n return logMessage(\"INFO\", message, data);\n}\nexport function debug(message, data = {}) {\n return logMessage(\"DEBUG\", message, data);\n}\nexport function compareLevel(a, b) {\n return Math.sign(LogLevelsMap.get(a) - LogLevelsMap.get(b));\n}\n//# sourceMappingURL=logMessages.js.map","import { twMerge } from \"tailwind-merge\";\nimport type { ISVTStyler, TagListArgument } from \"./types.js\";\nimport { tokenizeFilterString } from \"@mrts/common\";\n\nexport class SVTStylerNormalizer implements ISVTStyler {\n constructor(private readonly styler: ISVTStyler) {}\n\n classes(stags: TagListArgument, vtags: TagListArgument): string[] {\n const r = this.styler.classes(stags, vtags);\n return r ?? [];\n }\n}\n\nexport function twMergeNormalize(raw: string[]): string[] {\n return tokenizeFilterString(twMerge(...raw));\n}\n\nexport function mainTagNormalize(\n rawTags: string[],\n defaultTag?: string\n): string[] {\n const rhead = [] as string[];\n const rtail = [] as string[];\n let rtag: string | undefined = undefined;\n for (const tag of rawTags) {\n if (tag.length == 1 && tag.toUpperCase() == tag) {\n rtag = tag;\n rhead.push(...rtail);\n rtail.length = 0;\n } else {\n if (rtag == undefined) {\n rhead.push(tag);\n } else {\n rtail.push(tag);\n }\n }\n }\n rtag = rtag ?? defaultTag;\n const r =\n rtag == undefined ? [...rhead, ...rtail] : [...rhead, rtag, ...rtail];\n // console.log(\"MAIN TAGS NORM:\", rawTags, r);\n return r;\n}\n\nexport function exlusiveTagNormalize(\n rawTags: string[],\n tagSet: Set<String>,\n defaultTag?: string\n): string[] {\n const rhead = [] as string[];\n const rtail = [] as string[];\n let rtag: string | undefined = undefined;\n for (const tag of rawTags) {\n if (tagSet.has(tag)) {\n rtag = tag;\n rhead.push(...rtail);\n rtail.length = 0;\n } else {\n if (rtag == undefined) {\n rhead.push(tag);\n } else {\n rtail.push(tag);\n }\n }\n }\n rtag = rtag ?? defaultTag;\n const r =\n rtag == undefined ? [...rhead, ...rtail] : [...rhead, rtag, ...rtail];\n //console.log(\"EXCLU TAGS NORM:\", rawTags, r);\n return r;\n}\n","import type { TagListArgument, TagRule } from \"./types.js\";\nimport { tokenizeFilterString } from \"@mrts/common\";\n\n\n\n// export function normalizeTagListArgument(arg: TagListArgument): string[] {\n// if (typeof arg == \"string\") {\n// return splitCleanString(arg);\n// } else if (Array.isArray(arg)) {\n// const r = [];\n// for (const a of arg) {\n// r.push(...normalizeTagListArgument(a));\n// }\n// return r;\n// }\n// return [];\n// }\n\n\nexport function tagRuleMatches(\n rule:TagRule,\n candidateTags: string[]\n) {\n if (rule.mode == \"any\") {\n return true;\n } else if (rule.mode == \"or\") {\n for (const ctag of candidateTags) {\n if (rule.tags.indexOf(ctag) >= 0) {\n return true;\n }\n }\n return false;\n } else if (rule.mode == \"and\") {\n for (const rtag of rule.tags) {\n if (candidateTags.indexOf(rtag) < 0) {\n return false;\n }\n }\n return true;\n }\n return false;\n}\n","import { argTokenizeBySpaces, deduplicate } from \"@mrts/common\";\nimport { tagRuleMatches } from \"./tagRules.js\";\nimport type {\n ISVTStyler,\n TagListArgument,\n TagRule,\n TagRuleMode,\n} from \"./types.js\";\n\nexport type SVTRule = {\n stagRule: TagRule;\n vtagRule: TagRule;\n classes: string[];\n};\n\nexport type SVTRuleDef = {\n stagMode?: TagRuleMode;\n vtagMode?: TagRuleMode;\n stags?: TagListArgument;\n vtags?: TagListArgument;\n classes?: TagListArgument;\n};\n\ntype SVTStylerOptions = {\n normalizer?: (rawClasses: string[]) => string[];\n stagsNormaliser?: (rawTags: string[]) => string[];\n vtagsNormaliser?: (rawTags: string[]) => string[];\n};\n\nexport class SVTStyler implements ISVTStyler {\n readonly _rules: SVTRule[] = [];\n readonly options: SVTStylerOptions;\n\n constructor(rules: SVTRuleDef[], options: SVTStylerOptions = {}) {\n for (const r of rules) {\n this._rules.push(SVTStyler.normalizeRule(r));\n }\n this.options = { ...options };\n }\n\n with(rules: SVTRuleDef[], options: SVTStylerOptions = {}): SVTStyler {\n const addedRules: SVTRule[] = [];\n for (const r of rules) {\n addedRules.push(SVTStyler.normalizeRule(r));\n }\n\n const styler = new SVTStyler([], { ...this.options });\n styler._rules.push(...this._rules, ...addedRules);\n return styler;\n }\n\n classes(stags: TagListArgument, vtags: TagListArgument): string[] {\n const r = [] as string[];\n\n let stagsNormalized = argTokenizeBySpaces(stags);\n let vtagsNormalized = argTokenizeBySpaces(vtags);\n\n if (this.options.stagsNormaliser) {\n stagsNormalized = this.options.stagsNormaliser(stagsNormalized);\n }\n if (this.options.vtagsNormaliser) {\n vtagsNormalized = this.options.vtagsNormaliser(vtagsNormalized);\n }\n\n for (const rule of this._rules) {\n if (this.ruleMatches(rule, stagsNormalized, vtagsNormalized)) {\n r.push(...rule.classes);\n }\n }\n\n return this.options.normalizer ? this.options.normalizer(r) : r;\n }\n\n static normalizeRule(rule: SVTRuleDef): SVTRule {\n let stagMode: TagRuleMode = rule.stagMode ?? \"or\";\n let vtagMode: TagRuleMode = rule.vtagMode ?? \"or\";\n let stags: string[] = deduplicate(argTokenizeBySpaces(rule.stags));\n let vtags: string[] = deduplicate(argTokenizeBySpaces(rule.vtags));\n let classes: string[] = deduplicate(argTokenizeBySpaces(rule.classes));\n\n if (rule.stags == undefined && rule.stagMode == undefined) {\n stagMode = \"any\";\n }\n if (rule.vtags == undefined && rule.vtagMode == undefined) {\n vtagMode = \"any\";\n }\n\n return {\n stagRule: { mode: stagMode, tags: stags },\n vtagRule: { mode: vtagMode, tags: vtags },\n classes,\n };\n }\n\n ruleMatches(rule: SVTRule, stags: string[], vtags: string[]) {\n return (\n tagRuleMatches(rule.stagRule, stags) &&\n tagRuleMatches(rule.vtagRule, vtags)\n );\n }\n}\n","import {\n mainTagNormalize,\n twMergeNormalize,\n exlusiveTagNormalize,\n} from \"./stylersUtils.js\";\nimport { SVTStyler } from \"./SVTStyler.js\";\n\n\nexport const baseStyler = new SVTStyler(\n [\n {\n vtags: \"A\",\n classes: \"bg-slate-100 text-slate-800\",\n },\n {\n vtags: \"B\",\n classes: \"bg-slate-800 text-slate-100\",\n },\n {\n vtags: \"C\",\n classes: \"bg-stone-300 text-orange-950\",\n },\n { \n vtags: \"D\",\n classes: \"bg-orange-900 text-stone-100\",\n },\n {\n vtags: \"LG\",\n classes: \"text-xl p-2\",\n },\n {\n vtags: \"BASE\",\n classes: \"text-base p-1\",\n },\n {\n vtags: \"SM\",\n classes: \"text-sm p-0.5\",\n },\n {\n vtags: \"LG\",\n stags: \"item\",\n classes: \"text-xl px-2 py-1\",\n },\n {\n vtags: \"BASE\",\n stags: \"item\",\n classes: \"text-base px-1 py-0.5\",\n },\n {\n vtags: \"SM\",\n stags: \"item\",\n classes: \"text-sm p-0.5\",\n },\n {\n stags: \"item:selected\",\n classes: \"underline font-bold\",\n },\n {\n stags: \"item:disabled\",\n classes: \"blur-[1px]\",\n },\n {\n stags: \"item/disabler\",\n classes: \"bg-slate-300/85 cursor-not-allowed\",\n },\n ],\n {\n normalizer: twMergeNormalize,\n vtagsNormaliser: (tags) =>\n exlusiveTagNormalize(\n mainTagNormalize(tags, \"A\"),\n new Set([\"SM\", \"BASE\", \"LG\"]),\n \"BASE\"\n ),\n }\n);\n","import type { ISVTStyler } from \"./types.js\";\nimport {baseStyler} from \"./base.styler.js\";\n\nexport class Stylers {\n private static _base: ISVTStyler | undefined;\n private static _stylersMap = new Map<string, ISVTStyler>();\n\n static get base(): ISVTStyler | undefined {\n return this._base;\n }\n static setBase(base: ISVTStyler | undefined) {\n return (this._base = base);\n }\n static {\n this._stylersMap.set(\"default\", baseStyler)\n this.setBase(baseStyler);\n }\n\n static get(name: string): ISVTStyler | undefined {\n return this._stylersMap.get(name);\n }\n}\n","import { type Component, createMemo, Show } from \"solid-js\";\nimport { twMerge } from \"tailwind-merge\";\nimport { type ISVTStyler, type TagListArgument } from \"../stylers/index.js\";\nimport { Stylers } from \"../stylers/Stylers.js\";\nimport { buildIdLabel, type IdLabel, type IdLabelArg } from \"./IdLabel.js\";\n\nexport type TItemClass = {\n item?: string;\n selected?: string;\n disabled?: string;\n disabler?: string;\n};\nexport type TItemClassArg = TItemClass|string;\n\nexport type TItemProps = {\n idLabel: IdLabelArg;\n callback?: (item: IdLabel) => void;\n selected?: boolean;\n disabled?: boolean;\n clickableWhendisabled?: boolean;\n styler?: ISVTStyler;\n vtags?: TagListArgument;\n class?: TItemClassArg;\n};\n\nexport const Item: Component<TItemProps> = (props) => {\n const itemData = () => buildIdLabel(props.idLabel);\n\n const currentSTags = () => {\n const r = [] as string[];\n r.push(\"item\");\n if (props.selected) {\n r.push(\"item:selected\");\n }\n if (props.disabled) {\n r.push(\"item:disabled\");\n }\n return r;\n };\n\n const currentStyler = () => {\n if (props.styler) {\n return props.styler;\n } else {\n return Stylers.base;\n }\n };\n\n const classProp = createMemo<TItemClass>(() => {\n if (props.class == undefined) {\n return {};\n } else if (typeof props.class == \"string\") {\n return { item: props.class };\n } else {\n return props.class;\n }\n });\n\n const itemClasses = createMemo(() => {\n const stags = currentSTags();\n\n const styler = currentStyler();\n\n const rawClasses = [] as (string | undefined)[];\n\n const stylerClasses = styler\n ? styler.classes(stags, props.vtags)\n : undefined;\n rawClasses.push(...(stylerClasses ?? []));\n\n if (props.callback) {\n rawClasses.push(\"select-none cursor-pointer\");\n }\n\n const customClasses = classProp();\n if (customClasses.item) {\n rawClasses.push(customClasses.item);\n }\n if (props.selected && customClasses.selected) {\n rawClasses.push(customClasses.selected);\n }\n if (props.disabled && customClasses.disabled) {\n rawClasses.push(customClasses.disabled);\n }\n\n rawClasses.push(\"relative\");\n const r = twMerge(rawClasses);\n return r;\n });\n\n const disablerClasses = createMemo(() => {\n const rawClasses = [] as string[];\n if (currentStyler()) {\n rawClasses.push(\n ...currentStyler()!.classes(\"item/disabler\", props.vtags)!\n );\n }\n if (classProp().disabler) {\n rawClasses.push(classProp().disabler!);\n }\n rawClasses.push(\"absolute inset-0\");\n const r = twMerge(rawClasses);\n return r;\n });\n\n function handleClick() {\n if (props.callback != undefined) {\n props.callback(itemData());\n }\n }\n\n return (\n <div onClick={handleClick} class={itemClasses()}>\n {itemData().label}\n <Show when={props.disabled}>\n <div\n class={disablerClasses()}\n onClick={(e) => {\n if (!props.clickableWhendisabled) {\n e.stopPropagation();\n }\n }}\n ></div>\n </Show>\n </div>\n );\n};\n","import type { Component, ParentProps } from \"solid-js\";\nimport { Dynamic } from \"solid-js/web\";\nimport { type ISVTStyler, Stylers, type TagListArgument } from \"./stylers/index.js\";\nimport { twMerge } from \"tailwind-merge\";\n\ntype TProps = ParentProps & {\n vtags?: TagListArgument;\n styler?: ISVTStyler;\n class?: string;\n element?: string;\n};\n\n\nexport const Block: Component<TProps> = (props) => {\n const elementTag = () => props.element ?? \"div\";\n const currentStyler = () => {\n if (props.styler) {\n return props.styler;\n } else {\n return Stylers.base;\n }\n };\n\n function blockClasses() {\n const stags = \"block\";\n const classes = currentStyler()!.classes(stags, props.vtags) ?? [];\n if (props.class) {\n classes.push(props.class);\n }\n return twMerge(classes);\n }\n\n return (\n <Dynamic component={elementTag()} class={blockClasses()}>\n {props.children}\n </Dynamic>\n );\n};\n","import { twMerge } from \"tailwind-merge\";\nimport { Block } from \"../Block.jsx\";\nimport { Item, type TItemClassArg } from \"./Item.js\";\nimport { buildIdLabel, type IdLabel, type IdLabelArg } from \"./IdLabel.js\";\nimport { type Component, createMemo, For } from \"solid-js\";\nimport { type TagListArgument } from \"../stylers/types.js\";\nimport { argTokenizeBySpaces } from \"../../../common/dist/strings/tokenize.js\";\n\ntype TProps = {\n items: IdLabelArg[];\n callback?: (item: IdLabel) => void;\n class?: string | { group?: string; item?: TItemClassArg };\n selection?: string | { [id: string]: boolean };\n vtags?: TagListArgument | { group?: TagListArgument; item?: TagListArgument };\n};\n\nexport const ItemGroup: Component<TProps> = (props) => {\n const items = () => props.items.map(buildIdLabel);\n\n const currentVTags = createMemo<{ group: string[]; item?: string[] }>(() => {\n const item = [] as string[];\n const group = [] as string[];\n const _vtags = props.vtags;\n if (Array.isArray(_vtags) || typeof _vtags == \"string\") {\n group.push(...argTokenizeBySpaces(_vtags));\n } else if (typeof _vtags == \"object\" && _vtags != null) {\n group.push(...argTokenizeBySpaces(_vtags.group));\n item.push(...argTokenizeBySpaces(_vtags.item));\n }\n return { group, item };\n });\n\n const classes = createMemo(() => {\n let group = \"\";\n let item: TItemClassArg = \"\";\n if (typeof props.class == \"string\") {\n group = props.class;\n } else if (props.class != undefined) {\n props.class;\n group = props.class.group ?? \"\";\n item = props.class.item ?? \"\";\n }\n\n return { group, item };\n });\n\n const blockClasses = () => {\n return twMerge(\"flex flex-row gap-1\", classes().group);\n };\n\n const itemClasses = () => {\n return classes().item;\n };\n\n const callCallback = (item: IdLabel) => {\n if (props.callback) {\n props.callback(item);\n }\n };\n\n const itemSelected = (id: string) => {\n if (typeof props.selection == \"string\") {\n return id == props.selection;\n } else if (typeof props.selection == \"object\") {\n return !!props.selection[id];\n }\n return false;\n };\n\n return (\n <Block class={blockClasses()} vtags={currentVTags().group}>\n <For each={items()}>\n {(item) => {\n return (\n <Item\n idLabel={item}\n selected={itemSelected(item.id)}\n callback={() => callCallback(item)}\n class={itemClasses()}\n vtags={currentVTags().item}\n ></Item>\n );\n }}\n </For>\n </Block>\n );\n};\n","import type { Component } from \"solid-js\";\n\ntype TProps = {}\n\nexport const SolTw : Component<TProps> = (props) =>{\n return <div class=\"bg-red-600\">- - S O L T W - -</div>\n}\n\n\n"],"names":["buildIdLabel","arg","id","label","Array","isArray","r","Object","assign","undefined","buildTokenizeFuncUsingSplitters","splitters","tokenize","s","split","filter","t","splitter","slice","r0","push","tokenizeFilterString","buildArgTokenizeFunc","argTokenize","a","tokenizeBySpaces","argTokenizeBySpaces","options","separator","length","deduplicate","items","itemSet","Set","item","has","add","LogLevels","LogLevelsMap","Map","forEach","level","i","set","SVTStylerNormalizer","constructor","styler","classes","stags","vtags","twMergeNormalize","raw","twMerge","mainTagNormalize","rawTags","defaultTag","rhead","rtail","rtag","tag","toUpperCase","exlusiveTagNormalize","tagSet","tagRuleMatches","rule","candidateTags","mode","ctag","tags","indexOf","SVTStyler","_rules","rules","normalizeRule","with","addedRules","stagsNormalized","vtagsNormalized","stagsNormaliser","vtagsNormaliser","ruleMatches","normalizer","stagMode","vtagMode","stagRule","vtagRule","baseStyler","Stylers","_stylersMap","base","_base","setBase","get","name","Item","props","itemData","idLabel","currentSTags","selected","disabled","currentStyler","classProp","createMemo","class","itemClasses","rawClasses","stylerClasses","callback","customClasses","disablerClasses","disabler","handleClick","_el$","_tmpl$","$$click","_$insert","_$createComponent","Show","when","children","_el$2","e","clickableWhendisabled","stopPropagation","_$effect","_$className","_$delegateEvents","Block","elementTag","element","blockClasses","Dynamic","component","ItemGroup","map","currentVTags","group","_vtags","callCallback","itemSelected","selection","For","each","SolTw"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/items/IdLabel.ts","../../src/stylers/stylersUtils.ts","../../src/stylers/tagRules.ts","../../src/stylers/SVTStyler.ts","../../src/stylers/base.styler.ts","../../src/stylers/Stylers.ts","../../src/items/Item.tsx","../../src/Block.tsx","../../../common/dist/strings/tokenize.js","../../src/items/ItemGroup.tsx","../../src/soltw.tsx"],"sourcesContent":["export interface IdLabel {\n id: string;\n label: string;\n [x: string | symbol]: unknown;\n}\n\nexport type IdLabelDef = {\n id: string;\n label?: string;\n [x: string | symbol]: unknown;\n};\n\nexport type IdLabelArg = IdLabelDef | [string, string] | string;\n\nexport function buildIdLabel(arg: IdLabelArg): IdLabel {\n if (typeof arg == \"string\") {\n return { id: arg, label: arg };\n } else if (Array.isArray(arg)) {\n return { id: arg[0], label: arg[1] };\n } else {\n const r = Object.assign({}, arg);\n if (r.label == undefined) {\n r[\"label\"] = r.id;\n }\n return r as IdLabel;\n }\n}\n\n","import { twMerge } from \"tailwind-merge\";\nimport type { ISVTStyler, TagListArgument } from \"./types.js\";\nimport { tokenizeFilterString } from \"@mrts/common\";\n\nexport class SVTStylerNormalizer implements ISVTStyler {\n constructor(private readonly styler: ISVTStyler) {}\n\n classes(stags: TagListArgument, vtags: TagListArgument): string[] {\n const r = this.styler.classes(stags, vtags);\n return r ?? [];\n }\n}\n\nexport function twMergeNormalize(raw: string[]): string[] {\n return tokenizeFilterString(twMerge(...raw));\n}\n\nexport function mainTagNormalize(\n rawTags: string[],\n defaultTag?: string\n): string[] {\n const rhead = [] as string[];\n const rtail = [] as string[];\n let rtag: string | undefined = undefined;\n for (const tag of rawTags) {\n if (tag.length == 1 && tag.toUpperCase() == tag) {\n rtag = tag;\n rhead.push(...rtail);\n rtail.length = 0;\n } else {\n if (rtag == undefined) {\n rhead.push(tag);\n } else {\n rtail.push(tag);\n }\n }\n }\n rtag = rtag ?? defaultTag;\n const r =\n rtag == undefined ? [...rhead, ...rtail] : [...rhead, rtag, ...rtail];\n // console.log(\"MAIN TAGS NORM:\", rawTags, r);\n return r;\n}\n\nexport function exlusiveTagNormalize(\n rawTags: string[],\n tagSet: Set<String>,\n defaultTag?: string\n): string[] {\n const rhead = [] as string[];\n const rtail = [] as string[];\n let rtag: string | undefined = undefined;\n for (const tag of rawTags) {\n if (tagSet.has(tag)) {\n rtag = tag;\n rhead.push(...rtail);\n rtail.length = 0;\n } else {\n if (rtag == undefined) {\n rhead.push(tag);\n } else {\n rtail.push(tag);\n }\n }\n }\n rtag = rtag ?? defaultTag;\n const r =\n rtag == undefined ? [...rhead, ...rtail] : [...rhead, rtag, ...rtail];\n //console.log(\"EXCLU TAGS NORM:\", rawTags, r);\n return r;\n}\n","import type { TagListArgument, TagRule } from \"./types.js\";\nimport { tokenizeFilterString } from \"@mrts/common\";\n\n\n\n// export function normalizeTagListArgument(arg: TagListArgument): string[] {\n// if (typeof arg == \"string\") {\n// return splitCleanString(arg);\n// } else if (Array.isArray(arg)) {\n// const r = [];\n// for (const a of arg) {\n// r.push(...normalizeTagListArgument(a));\n// }\n// return r;\n// }\n// return [];\n// }\n\n\nexport function tagRuleMatches(\n rule:TagRule,\n candidateTags: string[]\n) {\n if (rule.mode == \"any\") {\n return true;\n } else if (rule.mode == \"or\") {\n for (const ctag of candidateTags) {\n if (rule.tags.indexOf(ctag) >= 0) {\n return true;\n }\n }\n return false;\n } else if (rule.mode == \"and\") {\n for (const rtag of rule.tags) {\n if (candidateTags.indexOf(rtag) < 0) {\n return false;\n }\n }\n return true;\n }\n return false;\n}\n","import { argTokenizeBySpaces, deduplicate } from \"@mrts/common\";\nimport { tagRuleMatches } from \"./tagRules.js\";\nimport type {\n ISVTStyler,\n TagListArgument,\n TagRule,\n TagRuleMode,\n} from \"./types.js\";\n\nexport type SVTRule = {\n stagRule: TagRule;\n vtagRule: TagRule;\n classes: string[];\n};\n\nexport type SVTRuleDef = {\n stagMode?: TagRuleMode;\n vtagMode?: TagRuleMode;\n stags?: TagListArgument;\n vtags?: TagListArgument;\n classes?: TagListArgument;\n};\n\ntype SVTStylerOptions = {\n normalizer?: (rawClasses: string[]) => string[];\n stagsNormaliser?: (rawTags: string[]) => string[];\n vtagsNormaliser?: (rawTags: string[]) => string[];\n};\n\nexport class SVTStyler implements ISVTStyler {\n readonly _rules: SVTRule[] = [];\n readonly options: SVTStylerOptions;\n\n constructor(rules: SVTRuleDef[], options: SVTStylerOptions = {}) {\n for (const r of rules) {\n this._rules.push(SVTStyler.normalizeRule(r));\n }\n this.options = { ...options };\n }\n\n with(rules: SVTRuleDef[], options: SVTStylerOptions = {}): SVTStyler {\n const addedRules: SVTRule[] = [];\n for (const r of rules) {\n addedRules.push(SVTStyler.normalizeRule(r));\n }\n\n const styler = new SVTStyler([], { ...this.options });\n styler._rules.push(...this._rules, ...addedRules);\n return styler;\n }\n\n classes(stags: TagListArgument, vtags: TagListArgument): string[] {\n const r = [] as string[];\n\n let stagsNormalized = argTokenizeBySpaces(stags);\n let vtagsNormalized = argTokenizeBySpaces(vtags);\n\n if (this.options.stagsNormaliser) {\n stagsNormalized = this.options.stagsNormaliser(stagsNormalized);\n }\n if (this.options.vtagsNormaliser) {\n vtagsNormalized = this.options.vtagsNormaliser(vtagsNormalized);\n }\n\n for (const rule of this._rules) {\n if (this.ruleMatches(rule, stagsNormalized, vtagsNormalized)) {\n r.push(...rule.classes);\n }\n }\n\n return this.options.normalizer ? this.options.normalizer(r) : r;\n }\n\n static normalizeRule(rule: SVTRuleDef): SVTRule {\n let stagMode: TagRuleMode = rule.stagMode ?? \"or\";\n let vtagMode: TagRuleMode = rule.vtagMode ?? \"or\";\n let stags: string[] = deduplicate(argTokenizeBySpaces(rule.stags));\n let vtags: string[] = deduplicate(argTokenizeBySpaces(rule.vtags));\n let classes: string[] = deduplicate(argTokenizeBySpaces(rule.classes));\n\n if (rule.stags == undefined && rule.stagMode == undefined) {\n stagMode = \"any\";\n }\n if (rule.vtags == undefined && rule.vtagMode == undefined) {\n vtagMode = \"any\";\n }\n\n return {\n stagRule: { mode: stagMode, tags: stags },\n vtagRule: { mode: vtagMode, tags: vtags },\n classes,\n };\n }\n\n ruleMatches(rule: SVTRule, stags: string[], vtags: string[]) {\n return (\n tagRuleMatches(rule.stagRule, stags) &&\n tagRuleMatches(rule.vtagRule, vtags)\n );\n }\n}\n","import {\n mainTagNormalize,\n twMergeNormalize,\n exlusiveTagNormalize,\n} from \"./stylersUtils.js\";\nimport { SVTStyler } from \"./SVTStyler.js\";\n\n\nexport const baseStyler = new SVTStyler(\n [\n {\n vtags: \"A\",\n classes: \"bg-slate-100 text-slate-800\",\n },\n {\n vtags: \"B\",\n classes: \"bg-slate-800 text-slate-100\",\n },\n {\n vtags: \"C\",\n classes: \"bg-stone-300 text-orange-950\",\n },\n { \n vtags: \"D\",\n classes: \"bg-orange-900 text-stone-100\",\n },\n {\n vtags: \"LG\",\n classes: \"text-xl p-2\",\n },\n {\n vtags: \"BASE\",\n classes: \"text-base p-1\",\n },\n {\n vtags: \"SM\",\n classes: \"text-sm p-0.5\",\n },\n {\n vtags: \"LG\",\n stags: \"item\",\n classes: \"text-xl px-2 py-1\",\n },\n {\n vtags: \"BASE\",\n stags: \"item\",\n classes: \"text-base px-1 py-0.5\",\n },\n {\n vtags: \"SM\",\n stags: \"item\",\n classes: \"text-sm p-0.5\",\n },\n {\n stags: \"item:selected\",\n classes: \"underline font-bold\",\n },\n {\n stags: \"item:disabled\",\n classes: \"blur-[1px]\",\n },\n {\n stags: \"item/disabler\",\n classes: \"bg-slate-300/85 cursor-not-allowed\",\n },\n ],\n {\n normalizer: twMergeNormalize,\n vtagsNormaliser: (tags) =>\n exlusiveTagNormalize(\n mainTagNormalize(tags, \"A\"),\n new Set([\"SM\", \"BASE\", \"LG\"]),\n \"BASE\"\n ),\n }\n);\n","import type { ISVTStyler } from \"./types.js\";\nimport {baseStyler} from \"./base.styler.js\";\n\nexport class Stylers {\n private static _base: ISVTStyler | undefined;\n private static _stylersMap = new Map<string, ISVTStyler>();\n\n static get base(): ISVTStyler | undefined {\n return this._base;\n }\n static setBase(base: ISVTStyler | undefined) {\n return (this._base = base);\n }\n static {\n this._stylersMap.set(\"default\", baseStyler)\n this.setBase(baseStyler);\n }\n\n static get(name: string): ISVTStyler | undefined {\n return this._stylersMap.get(name);\n }\n}\n","import { type Component, createMemo, Show } from \"solid-js\";\nimport { twMerge } from \"tailwind-merge\";\nimport { type ISVTStyler, type TagListArgument } from \"../stylers/index.js\";\nimport { Stylers } from \"../stylers/Stylers.js\";\nimport { buildIdLabel, type IdLabel, type IdLabelArg } from \"./IdLabel.js\";\n\nexport type TItemClass = {\n item?: string;\n selected?: string;\n disabled?: string;\n disabler?: string;\n};\nexport type TItemClassArg = TItemClass|string;\n\nexport type TItemProps = {\n idLabel: IdLabelArg;\n callback?: (item: IdLabel) => void;\n selected?: boolean;\n disabled?: boolean;\n clickableWhendisabled?: boolean;\n styler?: ISVTStyler;\n vtags?: TagListArgument;\n class?: TItemClassArg;\n};\n\nexport const Item: Component<TItemProps> = (props) => {\n const itemData = () => buildIdLabel(props.idLabel);\n\n const currentSTags = () => {\n const r = [] as string[];\n r.push(\"item\");\n if (props.selected) {\n r.push(\"item:selected\");\n }\n if (props.disabled) {\n r.push(\"item:disabled\");\n }\n return r;\n };\n\n const currentStyler = () => {\n if (props.styler) {\n return props.styler;\n } else {\n return Stylers.base;\n }\n };\n\n const classProp = createMemo<TItemClass>(() => {\n if (props.class == undefined) {\n return {};\n } else if (typeof props.class == \"string\") {\n return { item: props.class };\n } else {\n return props.class;\n }\n });\n\n const itemClasses = createMemo(() => {\n const stags = currentSTags();\n\n const styler = currentStyler();\n\n const rawClasses = [] as (string | undefined)[];\n\n const stylerClasses = styler\n ? styler.classes(stags, props.vtags)\n : undefined;\n rawClasses.push(...(stylerClasses ?? []));\n\n if (props.callback) {\n rawClasses.push(\"select-none cursor-pointer\");\n }\n\n const customClasses = classProp();\n if (customClasses.item) {\n rawClasses.push(customClasses.item);\n }\n if (props.selected && customClasses.selected) {\n rawClasses.push(customClasses.selected);\n }\n if (props.disabled && customClasses.disabled) {\n rawClasses.push(customClasses.disabled);\n }\n\n rawClasses.push(\"relative\");\n const r = twMerge(rawClasses);\n return r;\n });\n\n const disablerClasses = createMemo(() => {\n const rawClasses = [] as string[];\n if (currentStyler()) {\n rawClasses.push(\n ...currentStyler()!.classes(\"item/disabler\", props.vtags)!\n );\n }\n if (classProp().disabler) {\n rawClasses.push(classProp().disabler!);\n }\n rawClasses.push(\"absolute inset-0\");\n const r = twMerge(rawClasses);\n return r;\n });\n\n function handleClick() {\n if (props.callback != undefined) {\n props.callback(itemData());\n }\n }\n\n return (\n <div onClick={handleClick} class={itemClasses()}>\n {itemData().label}\n <Show when={props.disabled}>\n <div\n class={disablerClasses()}\n onClick={(e) => {\n if (!props.clickableWhendisabled) {\n e.stopPropagation();\n }\n }}\n ></div>\n </Show>\n </div>\n );\n};\n","import type { Component, ParentProps } from \"solid-js\";\nimport { Dynamic } from \"solid-js/web\";\nimport { type ISVTStyler, Stylers, type TagListArgument } from \"./stylers/index.js\";\nimport { twMerge } from \"tailwind-merge\";\n\ntype TProps = ParentProps & {\n vtags?: TagListArgument;\n styler?: ISVTStyler;\n class?: string;\n element?: string;\n};\n\n\nexport const Block: Component<TProps> = (props) => {\n const elementTag = () => props.element ?? \"div\";\n const currentStyler = () => {\n if (props.styler) {\n return props.styler;\n } else {\n return Stylers.base;\n }\n };\n\n function blockClasses() {\n const stags = \"block\";\n const classes = currentStyler()!.classes(stags, props.vtags) ?? [];\n if (props.class) {\n classes.push(props.class);\n }\n return twMerge(classes);\n }\n\n return (\n <Dynamic component={elementTag()} class={blockClasses()}>\n {props.children}\n </Dynamic>\n );\n};\n","export function buildTokenizeFuncUsingSplitters(splitters) {\n splitters = Array.isArray(splitters) ? splitters : [splitters];\n const tokenize = (s) => {\n let r = s.split(splitters[0]).filter((t) => t != \"\" && t != undefined);\n for (const splitter of splitters.slice(1)) {\n const r0 = [...r];\n r = [];\n for (const s of r0) {\n r.push(...tokenizeFilterString(s, {\n splitter,\n filter: (t) => t != \"\" && t != undefined,\n }));\n //r.push(...s.split(splitter).filter((t) => t != \"\" && t != undefined));\n }\n }\n return r;\n };\n return tokenize;\n}\nexport function buildArgTokenizeFunc(tokenize) {\n const argTokenize = (arg) => {\n if (arg == undefined) {\n return [];\n }\n else if (Array.isArray(arg)) {\n const r = [];\n for (const a of arg) {\n r.push(...argTokenize(a));\n }\n return r;\n }\n else {\n return tokenize(arg);\n }\n };\n return argTokenize;\n}\nexport const tokenizeBySpaces = buildTokenizeFuncUsingSplitters(/\\s+/);\nexport const argTokenizeBySpaces = buildArgTokenizeFunc(tokenizeBySpaces);\nexport function tokenizeFilterString(s, options = {}) {\n const separator = options.splitter ?? /\\s+/;\n const filter = options.filter ?? ((s) => s.length > 0);\n const r = s.split(separator).filter(filter);\n return r;\n}\nexport function deduplicate(items) {\n const r = [];\n const itemSet = new Set();\n for (const item of items) {\n if (!itemSet.has(item)) {\n r.push(item);\n itemSet.add(item);\n }\n }\n return r;\n}\n//# sourceMappingURL=tokenize.js.map","import { twMerge } from \"tailwind-merge\";\nimport { Block } from \"../Block.jsx\";\nimport { Item, type TItemClassArg } from \"./Item.js\";\nimport { buildIdLabel, type IdLabel, type IdLabelArg } from \"./IdLabel.js\";\nimport { type Component, createMemo, For } from \"solid-js\";\nimport { type TagListArgument } from \"../stylers/types.js\";\nimport { argTokenizeBySpaces } from \"../../../common/dist/strings/tokenize.js\";\n\ntype TProps = {\n items: IdLabelArg[];\n callback?: (item: IdLabel) => void;\n class?: string | { group?: string; item?: TItemClassArg };\n selection?: string | { [id: string]: boolean };\n vtags?: TagListArgument | { group?: TagListArgument; item?: TagListArgument };\n};\n\nexport const ItemGroup: Component<TProps> = (props) => {\n const items = () => props.items.map(buildIdLabel);\n\n const currentVTags = createMemo<{ group: string[]; item?: string[] }>(() => {\n const item = [] as string[];\n const group = [] as string[];\n const _vtags = props.vtags;\n if (Array.isArray(_vtags) || typeof _vtags == \"string\") {\n group.push(...argTokenizeBySpaces(_vtags));\n } else if (typeof _vtags == \"object\" && _vtags != null) {\n group.push(...argTokenizeBySpaces(_vtags.group));\n item.push(...argTokenizeBySpaces(_vtags.item));\n }\n return { group, item };\n });\n\n const classes = createMemo(() => {\n let group = \"\";\n let item: TItemClassArg = \"\";\n if (typeof props.class == \"string\") {\n group = props.class;\n } else if (props.class != undefined) {\n props.class;\n group = props.class.group ?? \"\";\n item = props.class.item ?? \"\";\n }\n\n return { group, item };\n });\n\n const blockClasses = () => {\n return twMerge(\"flex flex-row gap-1\", classes().group);\n };\n\n const itemClasses = () => {\n return classes().item;\n };\n\n const callCallback = (item: IdLabel) => {\n if (props.callback) {\n props.callback(item);\n }\n };\n\n const itemSelected = (id: string) => {\n if (typeof props.selection == \"string\") {\n return id == props.selection;\n } else if (typeof props.selection == \"object\") {\n return !!props.selection[id];\n }\n return false;\n };\n\n return (\n <Block class={blockClasses()} vtags={currentVTags().group}>\n <For each={items()}>\n {(item) => {\n return (\n <Item\n idLabel={item}\n selected={itemSelected(item.id)}\n callback={() => callCallback(item)}\n class={itemClasses()}\n vtags={currentVTags().item}\n ></Item>\n );\n }}\n </For>\n </Block>\n );\n};\n","import type { Component } from \"solid-js\";\n\ntype TProps = {}\n\nexport const SolTw : Component<TProps> = (props) =>{\n return <div class=\"bg-red-600\">- - S O L T W - -</div>\n}\n\n\n"],"names":["buildIdLabel","arg","id","label","Array","isArray","r","Object","assign","undefined","SVTStylerNormalizer","constructor","styler","classes","stags","vtags","twMergeNormalize","raw","tokenizeFilterString","twMerge","mainTagNormalize","rawTags","defaultTag","rhead","rtail","rtag","tag","length","toUpperCase","push","exlusiveTagNormalize","tagSet","has","tagRuleMatches","rule","candidateTags","mode","ctag","tags","indexOf","SVTStyler","_rules","rules","options","normalizeRule","with","addedRules","stagsNormalized","argTokenizeBySpaces","vtagsNormalized","stagsNormaliser","vtagsNormaliser","ruleMatches","normalizer","stagMode","vtagMode","deduplicate","stagRule","vtagRule","baseStyler","Set","Stylers","_stylersMap","Map","base","_base","setBase","set","get","name","Item","props","itemData","idLabel","currentSTags","selected","disabled","currentStyler","classProp","createMemo","class","item","itemClasses","rawClasses","stylerClasses","callback","customClasses","disablerClasses","disabler","handleClick","_el$","_tmpl$","$$click","_$insert","_$createComponent","Show","when","children","_el$2","e","clickableWhendisabled","stopPropagation","_$effect","_$className","_$delegateEvents","Block","elementTag","element","blockClasses","Dynamic","component","buildTokenizeFuncUsingSplitters","splitters","tokenize","s","split","filter","t","splitter","slice","r0","buildArgTokenizeFunc","argTokenize","a","tokenizeBySpaces","separator","ItemGroup","items","map","currentVTags","group","_vtags","callCallback","itemSelected","selection","For","each","SolTw"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mrts/soltw",
|
|
3
3
|
"description": "S O L T W : SolidJS + tailwindcss ui components",
|
|
4
|
-
"version": "0.3.
|
|
4
|
+
"version": "0.3.6",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/cjs/index.js",
|
|
7
7
|
"module": "dist/esm/index.js",
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
"author": "microu",
|
|
15
15
|
"license": "MIT",
|
|
16
16
|
"dependencies": {
|
|
17
|
+
"@mrts/common": "^0.3.5",
|
|
17
18
|
"solid-js": "^1.9.4",
|
|
18
19
|
"tailwind-merge": "^3.0.1"
|
|
19
20
|
},
|
|
@@ -34,5 +35,5 @@
|
|
|
34
35
|
"publishConfig": {
|
|
35
36
|
"access": "public"
|
|
36
37
|
},
|
|
37
|
-
"gitHead": "
|
|
38
|
+
"gitHead": "c4bd1c99bbde06225bb6721c8c4204424959e6c0"
|
|
38
39
|
}
|