@lssm/lib.design-system 0.0.0-canary-20251220041653 → 0.0.0-canary-20251221132705
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/components/molecules/SkeletonCircle/index.web.d.ts +2 -2
- package/dist/components/molecules/SkeletonList/index.web.d.ts +2 -2
- package/dist/contracts/dist/_virtual/rolldown_runtime.js +6 -0
- package/dist/contracts/dist/_virtual/rolldown_runtime.js.map +1 -0
- package/dist/contracts/dist/forms.js +2 -0
- package/dist/contracts/dist/forms.js.map +1 -1
- package/dist/contracts/dist/registry-utils.js +23 -0
- package/dist/contracts/dist/registry-utils.js.map +1 -0
- package/package.json +7 -7
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { SkeletonCircleProps } from "./types.js";
|
|
2
|
-
import * as
|
|
2
|
+
import * as react_jsx_runtime112 from "react/jsx-runtime";
|
|
3
3
|
|
|
4
4
|
//#region src/components/molecules/SkeletonCircle/index.web.d.ts
|
|
5
5
|
declare function SkeletonCircle({
|
|
6
6
|
size,
|
|
7
7
|
sizeClass,
|
|
8
8
|
className
|
|
9
|
-
}: SkeletonCircleProps):
|
|
9
|
+
}: SkeletonCircleProps): react_jsx_runtime112.JSX.Element;
|
|
10
10
|
//#endregion
|
|
11
11
|
export { SkeletonCircle };
|
|
12
12
|
//# sourceMappingURL=index.web.d.ts.map
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { SkeletonListProps } from "./types.js";
|
|
2
|
-
import * as
|
|
2
|
+
import * as react_jsx_runtime113 from "react/jsx-runtime";
|
|
3
3
|
|
|
4
4
|
//#region src/components/molecules/SkeletonList/index.web.d.ts
|
|
5
5
|
declare function SkeletonList({
|
|
6
6
|
count,
|
|
7
7
|
className
|
|
8
|
-
}: SkeletonListProps):
|
|
8
|
+
}: SkeletonListProps): react_jsx_runtime113.JSX.Element;
|
|
9
9
|
//#endregion
|
|
10
10
|
export { SkeletonList };
|
|
11
11
|
//# sourceMappingURL=index.web.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rolldown_runtime.js","names":[],"sources":["../../../../../contracts/dist/_virtual/rolldown_runtime.js"],"sourcesContent":["//#region rolldown:runtime\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __esmMin = (fn, res) => () => (fn && (res = fn(fn = 0)), res);\nvar __export = (all, symbols) => {\n\tlet target = {};\n\tfor (var name in all) {\n\t\t__defProp(target, name, {\n\t\t\tget: all[name],\n\t\t\tenumerable: true\n\t\t});\n\t}\n\tif (symbols) {\n\t\t__defProp(target, Symbol.toStringTag, { value: \"Module\" });\n\t}\n\treturn target;\n};\nvar __copyProps = (to, from, except, desc) => {\n\tif (from && typeof from === \"object\" || typeof from === \"function\") {\n\t\tfor (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {\n\t\t\tkey = keys[i];\n\t\t\tif (!__hasOwnProp.call(to, key) && key !== except) {\n\t\t\t\t__defProp(to, key, {\n\t\t\t\t\tget: ((k) => from[k]).bind(null, key),\n\t\t\t\t\tenumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\treturn to;\n};\nvar __toCommonJS = (mod) => __hasOwnProp.call(mod, \"module.exports\") ? mod[\"module.exports\"] : __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n//#endregion\nexport { __esmMin, __export, __toCommonJS };"],"mappings":";AAKA,IAAI,YAAY,IAAI,eAAe,OAAO,MAAM,GAAG,KAAK,EAAE,GAAG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"forms.js","names":[],"sources":["../../../../contracts/dist/forms.js"],"sourcesContent":["//#region src/forms.ts\nfunction formKey(meta) {\n\treturn `${meta.key}.v${meta.version}`;\n}\nvar FormRegistry = class {\n\titems = /* @__PURE__ */ new Map();\n\tregister(spec) {\n\t\tconst key = formKey(spec.meta);\n\t\tif (this.items.has(key)) throw new Error(`Duplicate form ${key}`);\n\t\tthis.items.set(key, spec);\n\t\treturn this;\n\t}\n\tlist() {\n\t\treturn [...this.items.values()];\n\t}\n\tget(key, version) {\n\t\tif (version != null) return this.items.get(`${key}.v${version}`);\n\t\tlet candidate;\n\t\tlet max = -Infinity;\n\t\tfor (const [k, v] of this.items.entries()) {\n\t\t\tif (!k.startsWith(`${key}.v`)) continue;\n\t\t\tif (v.meta.version > max) {\n\t\t\t\tmax = v.meta.version;\n\t\t\t\tcandidate = v;\n\t\t\t}\n\t\t}\n\t\treturn candidate;\n\t}\n};\nfunction getAtPath(values, path) {\n\tif (!path) return void 0;\n\tconst segs = path.replace(/\\[(\\d+)\\]/g, \".$1\").split(\".\").filter(Boolean);\n\tlet cur = values;\n\tfor (const s of segs) {\n\t\tif (cur == null) return void 0;\n\t\tif (cur && typeof cur === \"object\" && s in cur) cur = cur[s];\n\t\telse return;\n\t}\n\treturn cur;\n}\nfunction evalPredicate(values, pred) {\n\tif (!pred) return true;\n\tif (pred.not) return !evalPredicate(values, pred.not);\n\tif (pred.all && pred.all.length) return pred.all.every((p) => evalPredicate(values, p));\n\tif (pred.anyOf && pred.anyOf.length) return pred.anyOf.some((p) => evalPredicate(values, p));\n\tif (pred.when) {\n\t\tconst { path, op = \"truthy\", value } = pred.when;\n\t\tconst v = getAtPath(values, path);\n\t\tswitch (op) {\n\t\t\tcase \"equals\": return v === value;\n\t\t\tcase \"notEquals\": return v !== value;\n\t\t\tcase \"in\": return Array.isArray(value) && value.includes(v);\n\t\t\tcase \"notIn\": return Array.isArray(value) && !value.includes(v);\n\t\t\tcase \"gt\": return Number(v) > Number(value);\n\t\t\tcase \"gte\": return Number(v) >= Number(value);\n\t\t\tcase \"lt\": return Number(v) < Number(value);\n\t\t\tcase \"lte\": return Number(v) <= Number(value);\n\t\t\tcase \"empty\": return v == null || (Array.isArray(v) ? v.length === 0 : String(v).length === 0);\n\t\t\tcase \"lengthGt\": return (Array.isArray(v) || typeof v === \"string\") && v.length > Number(value ?? 0);\n\t\t\tcase \"lengthGte\": return (Array.isArray(v) || typeof v === \"string\") && v.length >= Number(value ?? 0);\n\t\t\tcase \"lengthLt\": return (Array.isArray(v) || typeof v === \"string\") && v.length < Number(value ?? 0);\n\t\t\tcase \"lengthLte\": return (Array.isArray(v) || typeof v === \"string\") && v.length <= Number(value ?? 0);\n\t\t\tcase \"truthy\":\n\t\t\tdefault: return Boolean(v);\n\t\t}\n\t}\n\treturn true;\n}\n/**\n* Wrap the base zod schema with relation-driven refinements (requiredWhen, array min/max)\n* and optional custom constraints. Call this when wiring RHF resolver.\n*/\nfunction buildZodWithRelations(spec, handlers) {\n\treturn spec.model.getZod().superRefine((values, ctx) => {\n\t\tconst visit = (field, parentPath) => {\n\t\t\tconst path = field.name ? parentPath ? `${parentPath}.${field.name}` : field.name : parentPath ?? \"\";\n\t\t\tif (field.requiredWhen) {\n\t\t\t\tif (evalPredicate(values, field.requiredWhen)) {\n\t\t\t\t\tconst v = getAtPath(values, path);\n\t\t\t\t\tif (v == null || typeof v === \"string\" && v.trim().length === 0 || Array.isArray(v) && v.length === 0) ctx.addIssue({\n\t\t\t\t\t\tcode: \"custom\",\n\t\t\t\t\t\tpath: path.split(\".\"),\n\t\t\t\t\t\tmessage: \"required\"\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (field.kind === \"array\") {\n\t\t\t\tconst arr = getAtPath(values, path);\n\t\t\t\tif (field.min != null && Array.isArray(arr) && arr.length < field.min) ctx.addIssue({\n\t\t\t\t\tcode: \"custom\",\n\t\t\t\t\tpath: path.split(\".\"),\n\t\t\t\t\tmessage: `min:${field.min}`\n\t\t\t\t});\n\t\t\t\tif (field.max != null && Array.isArray(arr) && arr.length > field.max) ctx.addIssue({\n\t\t\t\t\tcode: \"custom\",\n\t\t\t\t\tpath: path.split(\".\"),\n\t\t\t\t\tmessage: `max:${field.max}`\n\t\t\t\t});\n\t\t\t\tvisit(field.of, path);\n\t\t\t} else if (field.kind === \"group\") for (const child of field.fields) visit(child, path);\n\t\t};\n\t\tfor (const f of spec.fields) visit(f);\n\t\tif (spec.constraints && handlers) for (const c of spec.constraints) {\n\t\t\tconst fn = handlers[c.key];\n\t\t\tif (!fn) continue;\n\t\t\tconst res = fn(values, c.paths, c.args);\n\t\t\tif (!res.ok) ctx.addIssue({\n\t\t\t\tcode: \"custom\",\n\t\t\t\tpath: (res.path ?? c.paths[0] ?? \"\").split(\".\").filter(Boolean),\n\t\t\t\tmessage: res.message ?? c.messageI18n\n\t\t\t});\n\t\t}\n\t});\n}\nfunction defineFormSpec(spec) {\n\treturn spec;\n}\n\n//#endregion\nexport { FormRegistry, buildZodWithRelations, defineFormSpec, evalPredicate };"],"mappings":"
|
|
1
|
+
{"version":3,"file":"forms.js","names":[],"sources":["../../../../contracts/dist/forms.js"],"sourcesContent":["import { __toCommonJS } from \"./_virtual/rolldown_runtime.js\";\nimport { init_registry_utils, registry_utils_exports } from \"./registry-utils.js\";\n\n//#region src/forms.ts\nfunction formKey(meta) {\n\treturn `${meta.key}.v${meta.version}`;\n}\nvar FormRegistry = class {\n\titems = /* @__PURE__ */ new Map();\n\tregister(spec) {\n\t\tconst key = formKey(spec.meta);\n\t\tif (this.items.has(key)) throw new Error(`Duplicate form ${key}`);\n\t\tthis.items.set(key, spec);\n\t\treturn this;\n\t}\n\tlist() {\n\t\treturn [...this.items.values()];\n\t}\n\tget(key, version) {\n\t\tif (version != null) return this.items.get(`${key}.v${version}`);\n\t\tlet candidate;\n\t\tlet max = -Infinity;\n\t\tfor (const [k, v] of this.items.entries()) {\n\t\t\tif (!k.startsWith(`${key}.v`)) continue;\n\t\t\tif (v.meta.version > max) {\n\t\t\t\tmax = v.meta.version;\n\t\t\t\tcandidate = v;\n\t\t\t}\n\t\t}\n\t\treturn candidate;\n\t}\n\t/** Filter forms by criteria. */\n\tfilter(criteria) {\n\t\tconst { filterBy } = (init_registry_utils(), __toCommonJS(registry_utils_exports));\n\t\treturn filterBy(this.list(), criteria);\n\t}\n\t/** List forms with specific tag. */\n\tlistByTag(tag) {\n\t\treturn this.list().filter((f) => f.meta.tags?.includes(tag));\n\t}\n\t/** List forms by owner. */\n\tlistByOwner(owner) {\n\t\treturn this.list().filter((f) => f.meta.owners?.includes(owner));\n\t}\n\t/** Group forms by key function. */\n\tgroupBy(keyFn) {\n\t\tconst { groupBy } = (init_registry_utils(), __toCommonJS(registry_utils_exports));\n\t\treturn groupBy(this.list(), keyFn);\n\t}\n\t/** Get unique tags from all forms. */\n\tgetUniqueTags() {\n\t\tconst { getUniqueTags } = (init_registry_utils(), __toCommonJS(registry_utils_exports));\n\t\treturn getUniqueTags(this.list());\n\t}\n};\nfunction getAtPath(values, path) {\n\tif (!path) return void 0;\n\tconst segs = path.replace(/\\[(\\d+)\\]/g, \".$1\").split(\".\").filter(Boolean);\n\tlet cur = values;\n\tfor (const s of segs) {\n\t\tif (cur == null) return void 0;\n\t\tif (cur && typeof cur === \"object\" && s in cur) cur = cur[s];\n\t\telse return;\n\t}\n\treturn cur;\n}\nfunction evalPredicate(values, pred) {\n\tif (!pred) return true;\n\tif (pred.not) return !evalPredicate(values, pred.not);\n\tif (pred.all && pred.all.length) return pred.all.every((p) => evalPredicate(values, p));\n\tif (pred.anyOf && pred.anyOf.length) return pred.anyOf.some((p) => evalPredicate(values, p));\n\tif (pred.when) {\n\t\tconst { path, op = \"truthy\", value } = pred.when;\n\t\tconst v = getAtPath(values, path);\n\t\tswitch (op) {\n\t\t\tcase \"equals\": return v === value;\n\t\t\tcase \"notEquals\": return v !== value;\n\t\t\tcase \"in\": return Array.isArray(value) && value.includes(v);\n\t\t\tcase \"notIn\": return Array.isArray(value) && !value.includes(v);\n\t\t\tcase \"gt\": return Number(v) > Number(value);\n\t\t\tcase \"gte\": return Number(v) >= Number(value);\n\t\t\tcase \"lt\": return Number(v) < Number(value);\n\t\t\tcase \"lte\": return Number(v) <= Number(value);\n\t\t\tcase \"empty\": return v == null || (Array.isArray(v) ? v.length === 0 : String(v).length === 0);\n\t\t\tcase \"lengthGt\": return (Array.isArray(v) || typeof v === \"string\") && v.length > Number(value ?? 0);\n\t\t\tcase \"lengthGte\": return (Array.isArray(v) || typeof v === \"string\") && v.length >= Number(value ?? 0);\n\t\t\tcase \"lengthLt\": return (Array.isArray(v) || typeof v === \"string\") && v.length < Number(value ?? 0);\n\t\t\tcase \"lengthLte\": return (Array.isArray(v) || typeof v === \"string\") && v.length <= Number(value ?? 0);\n\t\t\tcase \"truthy\":\n\t\t\tdefault: return Boolean(v);\n\t\t}\n\t}\n\treturn true;\n}\n/**\n* Wrap the base zod schema with relation-driven refinements (requiredWhen, array min/max)\n* and optional custom constraints. Call this when wiring RHF resolver.\n*/\nfunction buildZodWithRelations(spec, handlers) {\n\treturn spec.model.getZod().superRefine((values, ctx) => {\n\t\tconst visit = (field, parentPath) => {\n\t\t\tconst path = field.name ? parentPath ? `${parentPath}.${field.name}` : field.name : parentPath ?? \"\";\n\t\t\tif (field.requiredWhen) {\n\t\t\t\tif (evalPredicate(values, field.requiredWhen)) {\n\t\t\t\t\tconst v = getAtPath(values, path);\n\t\t\t\t\tif (v == null || typeof v === \"string\" && v.trim().length === 0 || Array.isArray(v) && v.length === 0) ctx.addIssue({\n\t\t\t\t\t\tcode: \"custom\",\n\t\t\t\t\t\tpath: path.split(\".\"),\n\t\t\t\t\t\tmessage: \"required\"\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (field.kind === \"array\") {\n\t\t\t\tconst arr = getAtPath(values, path);\n\t\t\t\tif (field.min != null && Array.isArray(arr) && arr.length < field.min) ctx.addIssue({\n\t\t\t\t\tcode: \"custom\",\n\t\t\t\t\tpath: path.split(\".\"),\n\t\t\t\t\tmessage: `min:${field.min}`\n\t\t\t\t});\n\t\t\t\tif (field.max != null && Array.isArray(arr) && arr.length > field.max) ctx.addIssue({\n\t\t\t\t\tcode: \"custom\",\n\t\t\t\t\tpath: path.split(\".\"),\n\t\t\t\t\tmessage: `max:${field.max}`\n\t\t\t\t});\n\t\t\t\tvisit(field.of, path);\n\t\t\t} else if (field.kind === \"group\") for (const child of field.fields) visit(child, path);\n\t\t};\n\t\tfor (const f of spec.fields) visit(f);\n\t\tif (spec.constraints && handlers) for (const c of spec.constraints) {\n\t\t\tconst fn = handlers[c.key];\n\t\t\tif (!fn) continue;\n\t\t\tconst res = fn(values, c.paths, c.args);\n\t\t\tif (!res.ok) ctx.addIssue({\n\t\t\t\tcode: \"custom\",\n\t\t\t\tpath: (res.path ?? c.paths[0] ?? \"\").split(\".\").filter(Boolean),\n\t\t\t\tmessage: res.message ?? c.messageI18n\n\t\t\t});\n\t\t}\n\t});\n}\nfunction defineFormSpec(spec) {\n\treturn spec;\n}\n\n//#endregion\nexport { FormRegistry, buildZodWithRelations, defineFormSpec, evalPredicate };"],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { __esmMin } from "./_virtual/rolldown_runtime.js";
|
|
2
|
+
|
|
3
|
+
//#region ../contracts/dist/registry-utils.js
|
|
4
|
+
var GroupingStrategies;
|
|
5
|
+
var init_registry_utils = __esmMin(() => {
|
|
6
|
+
GroupingStrategies = {
|
|
7
|
+
byTag: (item) => item.meta.tags?.[0] ?? "untagged",
|
|
8
|
+
byAllTags: (item) => item.meta.tags?.length ? item.meta.tags : ["untagged"],
|
|
9
|
+
byOwner: (item) => item.meta.owners?.[0] ?? "unowned",
|
|
10
|
+
byDomain: (item) => {
|
|
11
|
+
return (item.meta.name ?? item.meta.key ?? "").split(".")[0] ?? "default";
|
|
12
|
+
},
|
|
13
|
+
byStability: (item) => item.meta.stability ?? "stable",
|
|
14
|
+
byUrlPath: (level) => (item) => {
|
|
15
|
+
if (!item.path) return "root";
|
|
16
|
+
return item.path.split("/").filter(Boolean).slice(0, level).join("/") || "root";
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
});
|
|
20
|
+
init_registry_utils();
|
|
21
|
+
|
|
22
|
+
//#endregion
|
|
23
|
+
//# sourceMappingURL=registry-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry-utils.js","names":[],"sources":["../../../../contracts/dist/registry-utils.js"],"sourcesContent":["import { __esmMin, __export } from \"./_virtual/rolldown_runtime.js\";\n\n//#region src/registry-utils.ts\nvar registry_utils_exports = /* @__PURE__ */ __export({\n\tGroupingStrategies: () => GroupingStrategies,\n\tfilterBy: () => filterBy,\n\tgetUniqueDomains: () => getUniqueDomains,\n\tgetUniqueOwners: () => getUniqueOwners,\n\tgetUniqueTags: () => getUniqueTags,\n\tgroupBy: () => groupBy,\n\tgroupByMultiple: () => groupByMultiple,\n\tgroupByToArray: () => groupByToArray\n});\n/**\n* Filter items by criteria.\n* All criteria are combined with AND logic.\n*/\nfunction filterBy(items, filter) {\n\treturn items.filter((item) => {\n\t\tif (filter.tags?.length) {\n\t\t\tif (!filter.tags.some((tag) => item.meta.tags?.includes(tag))) return false;\n\t\t}\n\t\tif (filter.owners?.length) {\n\t\t\tif (!filter.owners.some((owner) => item.meta.owners?.includes(owner))) return false;\n\t\t}\n\t\tif (filter.stability?.length) {\n\t\t\tif (!filter.stability.includes(item.meta.stability ?? \"stable\")) return false;\n\t\t}\n\t\tif (filter.domain) {\n\t\t\tif (GroupingStrategies.byDomain(item) !== filter.domain) return false;\n\t\t}\n\t\tif (filter.namePattern) {\n\t\t\tconst name = item.meta.name ?? item.meta.key ?? \"\";\n\t\t\tconst pattern = filter.namePattern.replace(/\\*/g, \".*\").replace(/\\?/g, \".\");\n\t\t\tif (!new RegExp(`^${pattern}$`, \"i\").test(name)) return false;\n\t\t}\n\t\treturn true;\n\t});\n}\n/**\n* Group items by key function.\n*/\nfunction groupBy(items, keyFn) {\n\tconst groups = /* @__PURE__ */ new Map();\n\tfor (const item of items) {\n\t\tconst key = keyFn(item);\n\t\tconst existing = groups.get(key);\n\t\tif (existing) existing.push(item);\n\t\telse groups.set(key, [item]);\n\t}\n\treturn groups;\n}\n/**\n* Group items by key function, returning array format.\n*/\nfunction groupByToArray(items, keyFn) {\n\tconst map = groupBy(items, keyFn);\n\treturn Array.from(map.entries()).map(([key, items$1]) => ({\n\t\tkey,\n\t\titems: items$1\n\t}));\n}\n/**\n* Group items where one item can belong to multiple groups.\n* Useful for byAllTags grouping.\n*/\nfunction groupByMultiple(items, keysFn) {\n\tconst groups = /* @__PURE__ */ new Map();\n\tfor (const item of items) {\n\t\tconst keys = keysFn(item);\n\t\tfor (const key of keys) {\n\t\t\tconst existing = groups.get(key);\n\t\t\tif (existing) existing.push(item);\n\t\t\telse groups.set(key, [item]);\n\t\t}\n\t}\n\treturn groups;\n}\n/**\n* Get unique tags from a collection of items.\n*/\nfunction getUniqueTags(items) {\n\tconst tags = /* @__PURE__ */ new Set();\n\tfor (const item of items) for (const tag of item.meta.tags ?? []) tags.add(tag);\n\treturn Array.from(tags).sort();\n}\n/**\n* Get unique owners from a collection of items.\n*/\nfunction getUniqueOwners(items) {\n\tconst owners = /* @__PURE__ */ new Set();\n\tfor (const item of items) for (const owner of item.meta.owners ?? []) owners.add(owner);\n\treturn Array.from(owners).sort();\n}\n/**\n* Get unique domains from a collection of items.\n*/\nfunction getUniqueDomains(items) {\n\tconst domains = /* @__PURE__ */ new Set();\n\tfor (const item of items) domains.add(GroupingStrategies.byDomain(item));\n\treturn Array.from(domains).sort();\n}\nvar GroupingStrategies;\nvar init_registry_utils = __esmMin(() => {\n\tGroupingStrategies = {\n\t\tbyTag: (item) => item.meta.tags?.[0] ?? \"untagged\",\n\t\tbyAllTags: (item) => item.meta.tags?.length ? item.meta.tags : [\"untagged\"],\n\t\tbyOwner: (item) => item.meta.owners?.[0] ?? \"unowned\",\n\t\tbyDomain: (item) => {\n\t\t\treturn (item.meta.name ?? item.meta.key ?? \"\").split(\".\")[0] ?? \"default\";\n\t\t},\n\t\tbyStability: (item) => item.meta.stability ?? \"stable\",\n\t\tbyUrlPath: (level) => (item) => {\n\t\t\tif (!item.path) return \"root\";\n\t\t\treturn item.path.split(\"/\").filter(Boolean).slice(0, level).join(\"/\") || \"root\";\n\t\t}\n\t};\n});\n\n//#endregion\ninit_registry_utils();\nexport { GroupingStrategies, filterBy, getUniqueDomains, getUniqueOwners, getUniqueTags, groupBy, groupByMultiple, groupByToArray, init_registry_utils, registry_utils_exports };"],"mappings":";;;AAsGA,IAAI;AACJ,IAAI,sBAAsB,eAAe;AACxC,sBAAqB;EACpB,QAAQ,SAAS,KAAK,KAAK,OAAO,MAAM;EACxC,YAAY,SAAS,KAAK,KAAK,MAAM,SAAS,KAAK,KAAK,OAAO,CAAC,WAAW;EAC3E,UAAU,SAAS,KAAK,KAAK,SAAS,MAAM;EAC5C,WAAW,SAAS;AACnB,WAAQ,KAAK,KAAK,QAAQ,KAAK,KAAK,OAAO,IAAI,MAAM,IAAI,CAAC,MAAM;;EAEjE,cAAc,SAAS,KAAK,KAAK,aAAa;EAC9C,YAAY,WAAW,SAAS;AAC/B,OAAI,CAAC,KAAK,KAAM,QAAO;AACvB,UAAO,KAAK,KAAK,MAAM,IAAI,CAAC,OAAO,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,IAAI,IAAI;;EAE1E;EACA;AAGF,qBAAqB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lssm/lib.design-system",
|
|
3
|
-
"version": "0.0.0-canary-
|
|
3
|
+
"version": "0.0.0-canary-20251221132705",
|
|
4
4
|
"scripts": {
|
|
5
5
|
"publish:pkg": "bun publish --tolerate-republish --ignore-scripts --verbose",
|
|
6
6
|
"publish:pkg:canary": "bun publish:pkg --tag canary",
|
|
@@ -21,10 +21,10 @@
|
|
|
21
21
|
"tree-shake": true,
|
|
22
22
|
"dependencies": {
|
|
23
23
|
"@hookform/resolvers": "5.2.2",
|
|
24
|
-
"@lssm/lib.ai-agent": "0.0.0-canary-
|
|
25
|
-
"@lssm/lib.contracts": "0.0.0-canary-
|
|
26
|
-
"@lssm/lib.ui-kit": "0.0.0-canary-
|
|
27
|
-
"@lssm/lib.ui-kit-web": "0.0.0-canary-
|
|
24
|
+
"@lssm/lib.ai-agent": "0.0.0-canary-20251221132705",
|
|
25
|
+
"@lssm/lib.contracts": "0.0.0-canary-20251221132705",
|
|
26
|
+
"@lssm/lib.ui-kit": "0.0.0-canary-20251221132705",
|
|
27
|
+
"@lssm/lib.ui-kit-web": "0.0.0-canary-20251221132705",
|
|
28
28
|
"class-variance-authority": "^0.7.1",
|
|
29
29
|
"clsx": "^2.1.1",
|
|
30
30
|
"lucide-react": "^0.535.0",
|
|
@@ -36,8 +36,8 @@
|
|
|
36
36
|
"next": "16.1.0"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
39
|
-
"@lssm/tool.typescript": "0.0.0-canary-
|
|
40
|
-
"@lssm/tool.tsdown": "0.0.0-canary-
|
|
39
|
+
"@lssm/tool.typescript": "0.0.0-canary-20251221132705",
|
|
40
|
+
"@lssm/tool.tsdown": "0.0.0-canary-20251221132705",
|
|
41
41
|
"@types/node": "^24.9.0",
|
|
42
42
|
"@types/react-dom": "^19.0.14",
|
|
43
43
|
"postcss": "^8.5",
|