@flanksource/clicky-ui 0.3.6 → 0.3.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +42 -0
- package/dist/components/DateField.d.ts +1 -1
- package/dist/components/DatePicker.d.ts +1 -1
- package/dist/components/DateTimePicker.d.ts +1 -1
- package/dist/components/FormLookupProvider.cjs +12 -0
- package/dist/components/FormLookupProvider.cjs.map +1 -0
- package/dist/components/FormLookupProvider.d.ts +7 -0
- package/dist/components/FormLookupProvider.d.ts.map +1 -0
- package/dist/components/FormLookupProvider.js +12 -0
- package/dist/components/FormLookupProvider.js.map +1 -0
- package/dist/components/JsonSchemaForm.cjs +2 -2
- package/dist/components/JsonSchemaForm.cjs.map +1 -1
- package/dist/components/JsonSchemaForm.js +1 -1
- package/dist/components/JsonSchemaForm.js.map +1 -1
- package/dist/components/ListMenu.cjs +145 -0
- package/dist/components/ListMenu.cjs.map +1 -0
- package/dist/components/ListMenu.d.ts +54 -0
- package/dist/components/ListMenu.d.ts.map +1 -0
- package/dist/components/ListMenu.js +145 -0
- package/dist/components/ListMenu.js.map +1 -0
- package/dist/components/MdxEditorField.cjs +128 -0
- package/dist/components/MdxEditorField.cjs.map +1 -0
- package/dist/components/MdxEditorField.d.ts +4 -0
- package/dist/components/MdxEditorField.d.ts.map +1 -0
- package/dist/components/MdxEditorField.js +106 -0
- package/dist/components/MdxEditorField.js.map +1 -0
- package/dist/components/MdxEditorToolbar.cjs +76 -0
- package/dist/components/MdxEditorToolbar.cjs.map +1 -0
- package/dist/components/MdxEditorToolbar.d.ts +8 -0
- package/dist/components/MdxEditorToolbar.d.ts.map +1 -0
- package/dist/components/MdxEditorToolbar.js +76 -0
- package/dist/components/MdxEditorToolbar.js.map +1 -0
- package/dist/components/button-variants.d.ts +1 -1
- package/dist/components/button.d.ts +1 -1
- package/dist/components/form-lookup-context.cjs +1 -8
- package/dist/components/form-lookup-context.cjs.map +1 -1
- package/dist/components/form-lookup-context.d.ts +1 -5
- package/dist/components/form-lookup-context.d.ts.map +1 -1
- package/dist/components/form-lookup-context.js +1 -8
- package/dist/components/form-lookup-context.js.map +1 -1
- package/dist/components/jotai-bindings-core.cjs +197 -0
- package/dist/components/jotai-bindings-core.cjs.map +1 -0
- package/dist/components/jotai-bindings-core.d.ts +45 -0
- package/dist/components/jotai-bindings-core.d.ts.map +1 -0
- package/dist/components/jotai-bindings-core.js +197 -0
- package/dist/components/jotai-bindings-core.js.map +1 -0
- package/dist/components/jotai-bindings.cjs +17 -0
- package/dist/components/jotai-bindings.cjs.map +1 -0
- package/dist/components/jotai-bindings.d.ts +4 -0
- package/dist/components/jotai-bindings.d.ts.map +1 -0
- package/dist/components/jotai-bindings.js +17 -0
- package/dist/components/jotai-bindings.js.map +1 -0
- package/dist/components/json-schema-form-fields.cjs +37 -0
- package/dist/components/json-schema-form-fields.cjs.map +1 -1
- package/dist/components/json-schema-form-fields.d.ts +6 -0
- package/dist/components/json-schema-form-fields.d.ts.map +1 -1
- package/dist/components/json-schema-form-fields.js +38 -1
- package/dist/components/json-schema-form-fields.js.map +1 -1
- package/dist/components/json-schema-form-render.cjs +3 -1
- package/dist/components/json-schema-form-render.cjs.map +1 -1
- package/dist/components/json-schema-form-render.d.ts.map +1 -1
- package/dist/components/json-schema-form-render.js +4 -2
- package/dist/components/json-schema-form-render.js.map +1 -1
- package/dist/components/json-schema-form-resolve.cjs +9 -0
- package/dist/components/json-schema-form-resolve.cjs.map +1 -1
- package/dist/components/json-schema-form-resolve.d.ts.map +1 -1
- package/dist/components/json-schema-form-resolve.js +9 -0
- package/dist/components/json-schema-form-resolve.js.map +1 -1
- package/dist/components/json-schema-form-types.d.ts +4 -1
- package/dist/components/json-schema-form-types.d.ts.map +1 -1
- package/dist/components/mdx-editor-field-plugins.cjs +124 -0
- package/dist/components/mdx-editor-field-plugins.cjs.map +1 -0
- package/dist/components/mdx-editor-field-plugins.d.ts +6 -0
- package/dist/components/mdx-editor-field-plugins.d.ts.map +1 -0
- package/dist/components/mdx-editor-field-plugins.js +124 -0
- package/dist/components/mdx-editor-field-plugins.js.map +1 -0
- package/dist/components/mdx-editor-options.d.ts +77 -0
- package/dist/components/mdx-editor-options.d.ts.map +1 -0
- package/dist/components/use-list-menu-selection.cjs +77 -0
- package/dist/components/use-list-menu-selection.cjs.map +1 -0
- package/dist/components/use-list-menu-selection.d.ts +40 -0
- package/dist/components/use-list-menu-selection.d.ts.map +1 -0
- package/dist/components/use-list-menu-selection.js +77 -0
- package/dist/components/use-list-menu-selection.js.map +1 -0
- package/dist/components.cjs +10 -1
- package/dist/components.cjs.map +1 -1
- package/dist/components.d.ts +4 -1
- package/dist/components.d.ts.map +1 -1
- package/dist/components.js +10 -1
- package/dist/components.js.map +1 -1
- package/dist/data/MarkdownEditor.model.d.ts +1 -1
- package/dist/data/PromptBanner.cjs +199 -0
- package/dist/data/PromptBanner.cjs.map +1 -0
- package/dist/data/PromptBanner.d.ts +17 -0
- package/dist/data/PromptBanner.d.ts.map +1 -0
- package/dist/data/PromptBanner.js +199 -0
- package/dist/data/PromptBanner.js.map +1 -0
- package/dist/data/PromptBanner.model.cjs +132 -0
- package/dist/data/PromptBanner.model.cjs.map +1 -0
- package/dist/data/PromptBanner.model.d.ts +23 -0
- package/dist/data/PromptBanner.model.d.ts.map +1 -0
- package/dist/data/PromptBanner.model.js +132 -0
- package/dist/data/PromptBanner.model.js.map +1 -0
- package/dist/data/PromptDialog.cjs +43 -0
- package/dist/data/PromptDialog.cjs.map +1 -0
- package/dist/data/PromptDialog.d.ts +14 -0
- package/dist/data/PromptDialog.d.ts.map +1 -0
- package/dist/data/PromptDialog.js +43 -0
- package/dist/data/PromptDialog.js.map +1 -0
- package/dist/data/TaskManager.cjs +8 -1
- package/dist/data/TaskManager.cjs.map +1 -1
- package/dist/data/TaskManager.d.ts.map +1 -1
- package/dist/data/TaskManager.js +8 -1
- package/dist/data/TaskManager.js.map +1 -1
- package/dist/data/TaskProgress.cjs +15 -2
- package/dist/data/TaskProgress.cjs.map +1 -1
- package/dist/data/TaskProgress.d.ts +0 -10
- package/dist/data/TaskProgress.d.ts.map +1 -1
- package/dist/data/TaskProgress.js +15 -2
- package/dist/data/TaskProgress.js.map +1 -1
- package/dist/data/ai/ChatWindow.cjs +53 -9
- package/dist/data/ai/ChatWindow.cjs.map +1 -1
- package/dist/data/ai/ChatWindow.d.ts.map +1 -1
- package/dist/data/ai/ChatWindow.js +53 -9
- package/dist/data/ai/ChatWindow.js.map +1 -1
- package/dist/data/ai/ToolPreferences.cjs +232 -39
- package/dist/data/ai/ToolPreferences.cjs.map +1 -1
- package/dist/data/ai/ToolPreferences.d.ts +4 -7
- package/dist/data/ai/ToolPreferences.d.ts.map +1 -1
- package/dist/data/ai/ToolPreferences.js +234 -41
- package/dist/data/ai/ToolPreferences.js.map +1 -1
- package/dist/data/chat/clickyOperationsToTools.cjs +89 -3
- package/dist/data/chat/clickyOperationsToTools.cjs.map +1 -1
- package/dist/data/chat/clickyOperationsToTools.d.ts +1 -1
- package/dist/data/chat/clickyOperationsToTools.d.ts.map +1 -1
- package/dist/data/chat/clickyOperationsToTools.js +89 -3
- package/dist/data/chat/clickyOperationsToTools.js.map +1 -1
- package/dist/data/chat/types.cjs.map +1 -1
- package/dist/data/chat/types.d.ts +7 -1
- package/dist/data/chat/types.d.ts.map +1 -1
- package/dist/data/chat/types.js.map +1 -1
- package/dist/data/task-status.cjs +19 -12
- package/dist/data/task-status.cjs.map +1 -1
- package/dist/data/task-status.d.ts +2 -1
- package/dist/data/task-status.d.ts.map +1 -1
- package/dist/data/task-status.js +19 -12
- package/dist/data/task-status.js.map +1 -1
- package/dist/data/test-runner/TestRunner.fixtures.d.ts +11 -4
- package/dist/data/test-runner/TestRunner.fixtures.d.ts.map +1 -1
- package/dist/data/version-info.cjs +3 -3
- package/dist/data/version-info.js +3 -3
- package/dist/data.cjs +7 -0
- package/dist/data.cjs.map +1 -1
- package/dist/data.d.ts +3 -0
- package/dist/data.d.ts.map +1 -1
- package/dist/data.js +7 -0
- package/dist/data.js.map +1 -1
- package/dist/hooks/use-prompts.cjs +83 -0
- package/dist/hooks/use-prompts.cjs.map +1 -0
- package/dist/hooks/use-prompts.d.ts +43 -0
- package/dist/hooks/use-prompts.d.ts.map +1 -0
- package/dist/hooks/use-prompts.js +83 -0
- package/dist/hooks/use-prompts.js.map +1 -0
- package/dist/hooks.cjs +3 -0
- package/dist/hooks.cjs.map +1 -1
- package/dist/hooks.d.ts +1 -0
- package/dist/hooks.d.ts.map +1 -1
- package/dist/hooks.js +3 -0
- package/dist/hooks.js.map +1 -1
- package/dist/index.cjs +17 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +17 -1
- package/dist/index.js.map +1 -1
- package/dist/jotai.cjs +9 -0
- package/dist/jotai.cjs.map +1 -0
- package/dist/jotai.d.ts +4 -0
- package/dist/jotai.d.ts.map +1 -0
- package/dist/jotai.js +9 -0
- package/dist/jotai.js.map +1 -0
- package/dist/lib/utils.cjs +18 -1
- package/dist/lib/utils.cjs.map +1 -1
- package/dist/lib/utils.d.ts.map +1 -1
- package/dist/lib/utils.js +18 -1
- package/dist/lib/utils.js.map +1 -1
- package/dist/mdx-editor.cjs +5 -0
- package/dist/mdx-editor.cjs.map +1 -0
- package/dist/mdx-editor.css +2 -0
- package/dist/mdx-editor.d.ts +2 -0
- package/dist/mdx-editor.d.ts.map +1 -0
- package/dist/mdx-editor.js +5 -0
- package/dist/mdx-editor.js.map +1 -0
- package/dist/rpc/apiClient.cjs +1 -1
- package/dist/rpc/apiClient.cjs.map +1 -1
- package/dist/rpc/apiClient.js +1 -1
- package/dist/rpc/apiClient.js.map +1 -1
- package/dist/rpc/surfaceIconMap.cjs +12 -1
- package/dist/rpc/surfaceIconMap.cjs.map +1 -1
- package/dist/rpc/surfaceIconMap.d.ts.map +1 -1
- package/dist/rpc/surfaceIconMap.js +12 -1
- package/dist/rpc/surfaceIconMap.js.map +1 -1
- package/dist/rpc/types.cjs.map +1 -1
- package/dist/rpc/types.d.ts +1 -0
- package/dist/rpc/types.d.ts.map +1 -1
- package/dist/rpc/types.js.map +1 -1
- package/dist/styles.css +1 -1
- package/oxlint-plugins/README.md +148 -0
- package/oxlint-plugins/clicky-ui-no-adhoc-overlay.js +88 -0
- package/oxlint-plugins/clicky-ui-prefer-components.js +46 -0
- package/oxlint-plugins/clicky-ui-prefer-icons.js +121 -0
- package/oxlint-plugins/clicky-ui-prefer-tailwind.js +98 -0
- package/oxlint-plugins/clicky-ui-prefer-theme.js +134 -0
- package/oxlint-plugins/clicky-ui-shared.js +132 -0
- package/oxlint-plugins/clicky-ui.js +34 -0
- package/oxlint-plugins/no-iconify-names.js +37 -0
- package/package.json +24 -4
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
// Shared AST helpers for the `clicky-ui` oxlint plugin (see ./clicky-ui.js).
|
|
2
|
+
// Kept free of rule-specific logic so each predicate can be unit-tested in
|
|
3
|
+
// isolation (clicky-ui.test.ts).
|
|
4
|
+
|
|
5
|
+
/** Returns the string value of a string `Literal` node, else undefined. */
|
|
6
|
+
export function literalString(node) {
|
|
7
|
+
if (node && node.type === "Literal" && typeof node.value === "string") {
|
|
8
|
+
return node.value;
|
|
9
|
+
}
|
|
10
|
+
return undefined;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Returns the numeric value of a numeric `Literal` (incl. a unary `-` prefix,
|
|
15
|
+
* e.g. `-1`), else undefined. Used to detect hardcoded `zIndex`/spacing values.
|
|
16
|
+
*/
|
|
17
|
+
export function numericLiteral(node) {
|
|
18
|
+
if (node && node.type === "Literal" && typeof node.value === "number") {
|
|
19
|
+
return node.value;
|
|
20
|
+
}
|
|
21
|
+
if (
|
|
22
|
+
node &&
|
|
23
|
+
node.type === "UnaryExpression" &&
|
|
24
|
+
node.operator === "-" &&
|
|
25
|
+
node.argument?.type === "Literal" &&
|
|
26
|
+
typeof node.argument.value === "number"
|
|
27
|
+
) {
|
|
28
|
+
return -node.argument.value;
|
|
29
|
+
}
|
|
30
|
+
return undefined;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/** Name of a JSX attribute (`className`, `style`, `role`, …) or undefined. */
|
|
34
|
+
export function attributeName(node) {
|
|
35
|
+
return node?.name?.name;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/** Name of an intrinsic (lowercase) JSX element, else undefined. */
|
|
39
|
+
export function intrinsicElementName(opening) {
|
|
40
|
+
const name = opening?.name;
|
|
41
|
+
if (name?.type !== "JSXIdentifier") return undefined;
|
|
42
|
+
const text = name.name;
|
|
43
|
+
// Intrinsic DOM elements are lowercase; components are PascalCase.
|
|
44
|
+
return typeof text === "string" && /^[a-z]/.test(text) ? text : undefined;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Recursively collect every static string reachable from a JSX attribute value
|
|
49
|
+
* — handles `"a b"`, `{`a ${x}`}`, and `{cn("a", cond && "b")}` so className
|
|
50
|
+
* token rules see the same tokens regardless of how they are composed.
|
|
51
|
+
*/
|
|
52
|
+
export function collectStrings(node, out = []) {
|
|
53
|
+
if (!node) return out;
|
|
54
|
+
switch (node.type) {
|
|
55
|
+
case "Literal":
|
|
56
|
+
if (typeof node.value === "string") out.push(node.value);
|
|
57
|
+
break;
|
|
58
|
+
case "JSXExpressionContainer":
|
|
59
|
+
collectStrings(node.expression, out);
|
|
60
|
+
break;
|
|
61
|
+
case "TemplateLiteral":
|
|
62
|
+
for (const quasi of node.quasis) out.push(quasi.value.cooked ?? quasi.value.raw);
|
|
63
|
+
break;
|
|
64
|
+
case "CallExpression":
|
|
65
|
+
for (const arg of node.arguments) collectStrings(arg, out);
|
|
66
|
+
break;
|
|
67
|
+
case "ArrayExpression":
|
|
68
|
+
for (const el of node.elements) collectStrings(el, out);
|
|
69
|
+
break;
|
|
70
|
+
case "ObjectExpression":
|
|
71
|
+
// clsx/cn object form: keys are the class names.
|
|
72
|
+
for (const prop of node.properties) {
|
|
73
|
+
if (prop.type === "Property") {
|
|
74
|
+
if (prop.key?.type === "Literal") collectStrings(prop.key, out);
|
|
75
|
+
else if (prop.key?.type === "Identifier") out.push(prop.key.name);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
break;
|
|
79
|
+
case "LogicalExpression":
|
|
80
|
+
collectStrings(node.left, out);
|
|
81
|
+
collectStrings(node.right, out);
|
|
82
|
+
break;
|
|
83
|
+
case "ConditionalExpression":
|
|
84
|
+
collectStrings(node.consequent, out);
|
|
85
|
+
collectStrings(node.alternate, out);
|
|
86
|
+
break;
|
|
87
|
+
default:
|
|
88
|
+
break;
|
|
89
|
+
}
|
|
90
|
+
return out;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
/** Split collected className strings into individual class tokens. */
|
|
94
|
+
export function classTokens(strings) {
|
|
95
|
+
const tokens = [];
|
|
96
|
+
for (const str of strings) {
|
|
97
|
+
for (const token of str.split(/\s+/)) {
|
|
98
|
+
if (token) tokens.push(token);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
return tokens;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
/** The object literal passed to a `style={{…}}` attribute, else undefined. */
|
|
105
|
+
export function styleObject(attribute) {
|
|
106
|
+
const value = attribute?.value;
|
|
107
|
+
if (value?.type !== "JSXExpressionContainer") return undefined;
|
|
108
|
+
const expr = value.expression;
|
|
109
|
+
return expr?.type === "ObjectExpression" ? expr : undefined;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
/** Static property key (`color`, `zIndex`, …) of an object Property, else undefined. */
|
|
113
|
+
export function propertyKey(prop) {
|
|
114
|
+
if (prop?.type !== "Property" || prop.computed) return undefined;
|
|
115
|
+
if (prop.key?.type === "Identifier") return prop.key.name;
|
|
116
|
+
if (prop.key?.type === "Literal" && typeof prop.key.value === "string") return prop.key.value;
|
|
117
|
+
return undefined;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
// Known iconify icon-set prefixes used in this codebase. An allowlist (rather
|
|
121
|
+
// than a generic `a:b` match) so non-icon namespaced strings aren't flagged.
|
|
122
|
+
const ICON_SET_PREFIXES = ["ph", "lucide", "codicon", "tabler", "mdi", "svg-spinners"];
|
|
123
|
+
// `jb-expui-<category>` (nodes, general, actions, json, status, toolwindows,
|
|
124
|
+
// breakpoints, run, …) — JetBrains expui sets, whose prefix carries hyphens.
|
|
125
|
+
const ICONIFY_NAME = new RegExp(
|
|
126
|
+
`^(?:${ICON_SET_PREFIXES.join("|")}|jb-expui-[a-z]+):[a-z0-9][a-z0-9-]*$`,
|
|
127
|
+
);
|
|
128
|
+
|
|
129
|
+
/** True when a string is a known icon-set name (e.g. "codicon:clock"). */
|
|
130
|
+
export function isIconifyName(value) {
|
|
131
|
+
return typeof value === "string" && ICONIFY_NAME.test(value);
|
|
132
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
// The `clicky-ui` oxlint plugin — guardrails for projects that consume
|
|
2
|
+
// @flanksource/clicky-ui. Reference it from a downstream `.oxlintrc.json`:
|
|
3
|
+
//
|
|
4
|
+
// {
|
|
5
|
+
// "jsPlugins": [
|
|
6
|
+
// { "name": "clicky-ui", "specifier": "@flanksource/clicky-ui/oxlint-plugins" }
|
|
7
|
+
// ],
|
|
8
|
+
// "rules": {
|
|
9
|
+
// "clicky-ui/prefer-clicky-components": "warn",
|
|
10
|
+
// "clicky-ui/no-adhoc-overlay": "error",
|
|
11
|
+
// "clicky-ui/prefer-tailwind-classes": "warn",
|
|
12
|
+
// "clicky-ui/prefer-theme-tokens": "error",
|
|
13
|
+
// "clicky-ui/prefer-clicky-icons": "warn"
|
|
14
|
+
// }
|
|
15
|
+
// }
|
|
16
|
+
//
|
|
17
|
+
// See packages/ui/oxlint-plugins/README.md for the full guide.
|
|
18
|
+
|
|
19
|
+
import preferClickyComponents from "./clicky-ui-prefer-components.js";
|
|
20
|
+
import noAdhocOverlay from "./clicky-ui-no-adhoc-overlay.js";
|
|
21
|
+
import preferTailwindClasses from "./clicky-ui-prefer-tailwind.js";
|
|
22
|
+
import preferThemeTokens from "./clicky-ui-prefer-theme.js";
|
|
23
|
+
import preferClickyIcons from "./clicky-ui-prefer-icons.js";
|
|
24
|
+
|
|
25
|
+
export default {
|
|
26
|
+
meta: { name: "clicky-ui" },
|
|
27
|
+
rules: {
|
|
28
|
+
"prefer-clicky-components": preferClickyComponents,
|
|
29
|
+
"no-adhoc-overlay": noAdhocOverlay,
|
|
30
|
+
"prefer-tailwind-classes": preferTailwindClasses,
|
|
31
|
+
"prefer-theme-tokens": preferThemeTokens,
|
|
32
|
+
"prefer-clicky-icons": preferClickyIcons,
|
|
33
|
+
},
|
|
34
|
+
};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
// Custom OxLint rule: disallow iconify-style icon name strings (e.g. "lucide:maximize-2")
|
|
2
|
+
// anywhere in clicky-ui source — as a value, argument, or prop. Icons must be imported as
|
|
3
|
+
// generated components and passed via the `icon` prop. The `name` fallback prop on <Icon>
|
|
4
|
+
// exists only for external consumers of the published library. The generated icon pipeline
|
|
5
|
+
// (src/icons/components/** and scripts/build-icons.ts), which legitimately maps these names,
|
|
6
|
+
// is exempted via config; stories/tests are exempted via .oxlintrc overrides.
|
|
7
|
+
|
|
8
|
+
import { isIconifyName } from "./clicky-ui-shared.js";
|
|
9
|
+
|
|
10
|
+
function message(value) {
|
|
11
|
+
return (
|
|
12
|
+
`Iconify-style icon name "${value}" is not allowed in clicky-ui source. ` +
|
|
13
|
+
"Import the generated icon component from \"../icons\" (e.g. UiFullscreen) and pass it " +
|
|
14
|
+
"via the `icon` prop."
|
|
15
|
+
);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
const rule = {
|
|
19
|
+
meta: {
|
|
20
|
+
type: "problem",
|
|
21
|
+
docs: { description: "Disallow iconify-style icon name strings in clicky-ui source" },
|
|
22
|
+
},
|
|
23
|
+
create(context) {
|
|
24
|
+
return {
|
|
25
|
+
Literal(node) {
|
|
26
|
+
if (isIconifyName(node.value)) {
|
|
27
|
+
context.report({ message: message(node.value), node });
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
};
|
|
31
|
+
},
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
export default {
|
|
35
|
+
meta: { name: "clicky-icons" },
|
|
36
|
+
rules: { "no-iconify-names": rule },
|
|
37
|
+
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flanksource/clicky-ui",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.8",
|
|
4
4
|
"description": "Flanksource Clicky UI — React component library built on shadcn/ui with light/dark and density theming.",
|
|
5
5
|
"homepage": "https://github.com/flanksource/clicky-ui#readme",
|
|
6
6
|
"bugs": "https://github.com/flanksource/clicky-ui/issues",
|
|
@@ -12,6 +12,8 @@
|
|
|
12
12
|
},
|
|
13
13
|
"files": [
|
|
14
14
|
"dist",
|
|
15
|
+
"oxlint-plugins/**/*.js",
|
|
16
|
+
"oxlint-plugins/README.md",
|
|
15
17
|
"README.md",
|
|
16
18
|
"LICENSE",
|
|
17
19
|
"NOTICE.md"
|
|
@@ -40,6 +42,16 @@
|
|
|
40
42
|
"import": "./dist/hooks.js",
|
|
41
43
|
"require": "./dist/hooks.cjs"
|
|
42
44
|
},
|
|
45
|
+
"./mdx-editor": {
|
|
46
|
+
"types": "./dist/mdx-editor.d.ts",
|
|
47
|
+
"import": "./dist/mdx-editor.js",
|
|
48
|
+
"require": "./dist/mdx-editor.cjs"
|
|
49
|
+
},
|
|
50
|
+
"./jotai": {
|
|
51
|
+
"types": "./dist/jotai.d.ts",
|
|
52
|
+
"import": "./dist/jotai.js",
|
|
53
|
+
"require": "./dist/jotai.cjs"
|
|
54
|
+
},
|
|
43
55
|
"./components": {
|
|
44
56
|
"types": "./dist/components.d.ts",
|
|
45
57
|
"import": "./dist/components.js",
|
|
@@ -80,7 +92,9 @@
|
|
|
80
92
|
"import": "./dist/ai.js",
|
|
81
93
|
"require": "./dist/ai.cjs"
|
|
82
94
|
},
|
|
95
|
+
"./oxlint-plugins": "./oxlint-plugins/clicky-ui.js",
|
|
83
96
|
"./styles.css": "./dist/styles.css",
|
|
97
|
+
"./mdx-editor.css": "./dist/mdx-editor.css",
|
|
84
98
|
"./tailwind-preset": {
|
|
85
99
|
"types": "./dist/tailwind-preset.d.ts",
|
|
86
100
|
"import": "./dist/tailwind-preset.js",
|
|
@@ -99,11 +113,13 @@
|
|
|
99
113
|
"@tanstack/react-query": "^5.66.8",
|
|
100
114
|
"class-variance-authority": "^0.7.1",
|
|
101
115
|
"clsx": "^2.1.1",
|
|
102
|
-
"dompurify": "^3.4.
|
|
116
|
+
"dompurify": "^3.4.11",
|
|
117
|
+
"jotai": "^2.20.1",
|
|
103
118
|
"tailwind-merge": "^2.6.0"
|
|
104
119
|
},
|
|
105
120
|
"devDependencies": {
|
|
106
121
|
"@ai-sdk/react": "^3.0.201",
|
|
122
|
+
"@mdxeditor/editor": "^4.0.4",
|
|
107
123
|
"@oxlint/plugins": "^1.60.0",
|
|
108
124
|
"@storybook/react-vite": "10.3.5",
|
|
109
125
|
"@tailwindcss/cli": "^4.2.4",
|
|
@@ -122,12 +138,13 @@
|
|
|
122
138
|
"tailwindcss": "^4.2.4",
|
|
123
139
|
"tsx": "^4.7.0",
|
|
124
140
|
"typescript": "^5.7.2",
|
|
125
|
-
"vite": "^6.
|
|
141
|
+
"vite": "^6.4.3",
|
|
126
142
|
"vite-plugin-dts": "^4.3.0",
|
|
127
|
-
"vitest": "^3.
|
|
143
|
+
"vitest": "^3.2.6"
|
|
128
144
|
},
|
|
129
145
|
"peerDependencies": {
|
|
130
146
|
"@ai-sdk/react": "^3.0.0",
|
|
147
|
+
"@mdxeditor/editor": "^4.0.4",
|
|
131
148
|
"@shikijs/langs": "^1.24.0",
|
|
132
149
|
"@shikijs/themes": "^1.24.0",
|
|
133
150
|
"@shikijs/transformers": "^1.24.0",
|
|
@@ -151,6 +168,9 @@
|
|
|
151
168
|
"ai": {
|
|
152
169
|
"optional": true
|
|
153
170
|
},
|
|
171
|
+
"@mdxeditor/editor": {
|
|
172
|
+
"optional": true
|
|
173
|
+
},
|
|
154
174
|
"@shikijs/langs": {
|
|
155
175
|
"optional": true
|
|
156
176
|
},
|