highsoft-ui 1.0.149 → 1.0.151
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/CLAUDE.md +2 -2
- package/dist/{CodeBlock-BeseY88j.js → CodeBlock-BKiZQpA5.js} +1 -1
- package/dist/{FrameworkIcon-Ds6WrxO0.js → FrameworkIcon-D7N3PjYr.js} +3 -1
- package/dist/components/CodeBlock/index.js +1 -1
- package/dist/components/FrameworkIcon/icons/monochrome/Figma.js +20 -0
- package/dist/components/FrameworkIcon/icons/monochrome/Flutter.js +18 -0
- package/dist/components/FrameworkIcon/icons/monochrome/index.js +20 -16
- package/dist/components/FrameworkIcon/icons/multi/Figma.js +36 -0
- package/dist/components/FrameworkIcon/icons/multi/Flutter.js +50 -0
- package/dist/components/FrameworkIcon/icons/multi/index.js +20 -16
- package/dist/components/FrameworkIcon/index.js +1 -1
- package/dist/highsoft-ui.css +1 -1
- package/dist/lib/components/FrameworkIcon/icons/monochrome/Figma.d.ts +2 -0
- package/dist/lib/components/FrameworkIcon/icons/monochrome/Flutter.d.ts +2 -0
- package/dist/lib/components/FrameworkIcon/icons/monochrome/index.d.ts +2 -0
- package/dist/lib/components/FrameworkIcon/icons/multi/Figma.d.ts +2 -0
- package/dist/lib/components/FrameworkIcon/icons/multi/Flutter.d.ts +2 -0
- package/dist/lib/components/FrameworkIcon/icons/multi/index.d.ts +2 -0
- package/dist/lib/components/FrameworkIcon/index.d.ts +1 -1
- package/dist/main.js +2 -2
- package/package.json +1 -1
package/CLAUDE.md
CHANGED
|
@@ -216,7 +216,7 @@ Language, framework and platform brand icons in two themes.
|
|
|
216
216
|
<FrameworkIcon icon="html" theme="monochrome" size={24} /> // follows text color
|
|
217
217
|
<FrameworkIcon icon="react" size={32} box /> // layered box tile
|
|
218
218
|
```
|
|
219
|
-
- **`icon`:** `javascript`, `typescript`, `react`, `vue`, `angular`, `python`, `swift`, `android`, `html`, `css`, `dotnet`
|
|
219
|
+
- **`icon`:** `javascript`, `typescript`, `react`, `vue`, `angular`, `python`, `swift`, `android`, `html`, `css`, `dotnet`, `figma`, `flutter`
|
|
220
220
|
- **`theme`:** `multi` (default, full brand color) | `monochrome` (single tone via `currentColor`)
|
|
221
221
|
- **`size`:** `12` | `16` | `20` | `24` (default) | `32` | `40` | `52` | `64` | `72`
|
|
222
222
|
- **`box`:** wraps the icon in a shell + inner tile with a hover lift; the shell background reads `--hsui-icon-box-bg` so a parent (e.g. a selected `RadioBox`) can retint it without a prop
|
|
@@ -229,7 +229,7 @@ The `.tsx` icons are **generated** — edit the Figma exports in `lib/components
|
|
|
229
229
|
- Icons are **decorative by default** — they render as an inline `<svg>` with no `<title>` and carry no accessible name, so they add no noise to the AT tree. When an icon is the *only* content of a control, give it a name at the call site: pass `role="img"` + `aria-label` (props spread onto the `<svg>`), or label the wrapping button — never rely on the icon alone to name the control.
|
|
230
230
|
- **Contrast:** monochrome inherits `currentColor` from its container, so it meets the same contrast as adjacent text. The single-knockout path above is what keeps the glyph legible against any surface (WCAG 1.4.11 non-text contrast) rather than depending on a white backdrop.
|
|
231
231
|
- **Keyboard/focus:** the icon is a non-interactive `<span>` — it takes no focus and adds nothing to the tab order. `box` is purely presentational; focus styling belongs to the interactive ancestor.
|
|
232
|
-
- **Reduced motion:** the `box` hover lift
|
|
232
|
+
- **Reduced motion:** under `prefers-reduced-motion: reduce` the `box` tile drops the hover lift — the `translateY` is cancelled and the transition removed — while the `box-shadow` step stays, so the affordance survives as an instant depth change rather than a movement. The outer shell keeps its `background-color` fade: that's a colour change, not motion.
|
|
233
233
|
|
|
234
234
|
### InputSolo
|
|
235
235
|
Standalone, self-bordered text field with a floating label, help text, and error/success states.
|
|
@@ -2,7 +2,7 @@ import { r as e, s as t } from "./utils-K9S_6_Eq.js";
|
|
|
2
2
|
import { t as n } from "./clsx-BWCAbrjV.js";
|
|
3
3
|
import { H as r, K as i } from "./esm-BnxclXHW.js";
|
|
4
4
|
import { t as a } from "./Button-BGsqFCRW.js";
|
|
5
|
-
import { t as o } from "./FrameworkIcon-
|
|
5
|
+
import { t as o } from "./FrameworkIcon-D7N3PjYr.js";
|
|
6
6
|
import { Fragment as s, forwardRef as c, useCallback as l, useEffect as u, useMemo as d, useState as f } from "react";
|
|
7
7
|
import { jsx as p, jsxs as m } from "react/jsx-runtime";
|
|
8
8
|
var h = {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as e } from "../../CodeBlock-
|
|
1
|
+
import { t as e } from "../../CodeBlock-BKiZQpA5.js";
|
|
2
2
|
export { e as CodeBlock };
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { jsx as e } from "react/jsx-runtime";
|
|
2
|
+
//#region lib/components/FrameworkIcon/icons/monochrome/Figma.tsx
|
|
3
|
+
function t(t) {
|
|
4
|
+
return /* @__PURE__ */ e("svg", {
|
|
5
|
+
width: "16",
|
|
6
|
+
height: "16",
|
|
7
|
+
viewBox: "0 0 20 20",
|
|
8
|
+
fill: "none",
|
|
9
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
10
|
+
...t,
|
|
11
|
+
children: /* @__PURE__ */ e("path", {
|
|
12
|
+
fill: "currentColor",
|
|
13
|
+
fillRule: "evenodd",
|
|
14
|
+
clipRule: "evenodd",
|
|
15
|
+
d: "M4.763 6.868A3.736 3.736 0 0 1 6.8 0h6.4a3.736 3.736 0 0 1 2.037 6.868 3.736 3.736 0 0 1-2.037 6.868h-.068a3.72 3.72 0 0 1-2.528-.986v3.48c0 2.087-1.71 3.77-3.787 3.77-2.06 0-3.753-1.668-3.753-3.736 0-1.311.676-2.465 1.699-3.132A3.73 3.73 0 0 1 3.064 10c0-1.312.676-2.466 1.699-3.132M10.603 10a2.53 2.53 0 0 0 2.53 2.529h.067a2.529 2.529 0 0 0 0-5.058h-.068A2.53 2.53 0 0 0 10.604 10M9.397 7.471H6.8a2.529 2.529 0 0 0-.009 5.058h2.605zM6.8 13.736H6.79a2.53 2.53 0 0 0-2.52 2.528c0 1.393 1.145 2.529 2.546 2.529 1.42 0 2.58-1.152 2.58-2.563v-2.494zm2.596-7.472H6.8a2.529 2.529 0 1 1 0-5.057h2.596zm3.804 0h-2.596V1.207H13.2a2.528 2.528 0 1 1 0 5.057"
|
|
16
|
+
})
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
//#endregion
|
|
20
|
+
export { t as default };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { jsx as e } from "react/jsx-runtime";
|
|
2
|
+
//#region lib/components/FrameworkIcon/icons/monochrome/Flutter.tsx
|
|
3
|
+
function t(t) {
|
|
4
|
+
return /* @__PURE__ */ e("svg", {
|
|
5
|
+
width: "16",
|
|
6
|
+
height: "16",
|
|
7
|
+
viewBox: "0 0 20 20",
|
|
8
|
+
fill: "none",
|
|
9
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
10
|
+
...t,
|
|
11
|
+
children: /* @__PURE__ */ e("path", {
|
|
12
|
+
fill: "currentColor",
|
|
13
|
+
d: "M5.27201 12.6573L2.59601 9.98133L11.296 1.28H16.6507L5.27201 12.6573ZM11.9653 14L16.6493 18.6813H11.296L8.95331 16.3387L11.9653 14ZM11.9653 14L8.95331 11.6533L11.296 9.312H16.6506L11.9653 14ZM6.61066 14L9.28799 11.32L11.9653 14L9.28799 16.6733L6.61066 14ZM9.28802 16.6733L11.9654 13.996L13.304 15.3347L9.28802 16.6733Z"
|
|
14
|
+
})
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
//#endregion
|
|
18
|
+
export { t as default };
|
|
@@ -3,26 +3,30 @@ import t from "./Android.js";
|
|
|
3
3
|
import n from "./Angular.js";
|
|
4
4
|
import r from "./Css.js";
|
|
5
5
|
import i from "./Dotnet.js";
|
|
6
|
-
import a from "./
|
|
7
|
-
import o from "./
|
|
8
|
-
import s from "./
|
|
9
|
-
import c from "./
|
|
10
|
-
import l from "./
|
|
11
|
-
import u from "./
|
|
12
|
-
import d from "./
|
|
6
|
+
import a from "./Figma.js";
|
|
7
|
+
import o from "./Flutter.js";
|
|
8
|
+
import s from "./Html.js";
|
|
9
|
+
import c from "./Javascript.js";
|
|
10
|
+
import l from "./Python.js";
|
|
11
|
+
import u from "./React.js";
|
|
12
|
+
import d from "./Swift.js";
|
|
13
|
+
import f from "./Typescript.js";
|
|
14
|
+
import p from "./Vue.js";
|
|
13
15
|
//#region lib/components/FrameworkIcon/icons/monochrome/index.ts
|
|
14
|
-
var
|
|
16
|
+
var m = /* @__PURE__ */ e({
|
|
15
17
|
Android: () => t,
|
|
16
18
|
Angular: () => n,
|
|
17
19
|
Css: () => r,
|
|
18
20
|
Dotnet: () => i,
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
21
|
+
Figma: () => a,
|
|
22
|
+
Flutter: () => o,
|
|
23
|
+
Html: () => s,
|
|
24
|
+
Javascript: () => c,
|
|
25
|
+
Python: () => l,
|
|
26
|
+
React: () => u,
|
|
27
|
+
Swift: () => d,
|
|
28
|
+
Typescript: () => f,
|
|
29
|
+
Vue: () => p
|
|
26
30
|
});
|
|
27
31
|
//#endregion
|
|
28
|
-
export { t as Android, n as Angular, r as Css, i as Dotnet, a as
|
|
32
|
+
export { t as Android, n as Angular, r as Css, i as Dotnet, a as Figma, o as Flutter, s as Html, c as Javascript, l as Python, u as React, d as Swift, f as Typescript, p as Vue, m as t };
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { jsx as e, jsxs as t } from "react/jsx-runtime";
|
|
2
|
+
//#region lib/components/FrameworkIcon/icons/multi/Figma.tsx
|
|
3
|
+
function n(n) {
|
|
4
|
+
return /* @__PURE__ */ t("svg", {
|
|
5
|
+
width: "16",
|
|
6
|
+
height: "16",
|
|
7
|
+
viewBox: "0 0 20 20",
|
|
8
|
+
fill: "none",
|
|
9
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
10
|
+
...n,
|
|
11
|
+
children: [
|
|
12
|
+
/* @__PURE__ */ e("path", {
|
|
13
|
+
fill: "#24cb71",
|
|
14
|
+
d: "M3.333 16.667a3.333 3.333 0 0 1 3.334-3.334H10v3.334a3.333 3.333 0 1 1-6.667 0"
|
|
15
|
+
}),
|
|
16
|
+
/* @__PURE__ */ e("path", {
|
|
17
|
+
fill: "#ff7237",
|
|
18
|
+
d: "M10 0v6.667h3.333a3.333 3.333 0 1 0 0-6.667z"
|
|
19
|
+
}),
|
|
20
|
+
/* @__PURE__ */ e("path", {
|
|
21
|
+
fill: "#00b6ff",
|
|
22
|
+
d: "M13.306 13.333a3.333 3.333 0 1 0 0-6.666 3.333 3.333 0 0 0 0 6.666"
|
|
23
|
+
}),
|
|
24
|
+
/* @__PURE__ */ e("path", {
|
|
25
|
+
fill: "#ff3737",
|
|
26
|
+
d: "M3.333 3.333a3.333 3.333 0 0 0 3.334 3.334H10V0H6.667a3.333 3.333 0 0 0-3.334 3.333"
|
|
27
|
+
}),
|
|
28
|
+
/* @__PURE__ */ e("path", {
|
|
29
|
+
fill: "#874fff",
|
|
30
|
+
d: "M3.333 10a3.333 3.333 0 0 0 3.334 3.333H10V6.667H6.667A3.333 3.333 0 0 0 3.333 10"
|
|
31
|
+
})
|
|
32
|
+
]
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
//#endregion
|
|
36
|
+
export { n as default };
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { jsx as e, jsxs as t } from "react/jsx-runtime";
|
|
2
|
+
//#region lib/components/FrameworkIcon/icons/multi/Flutter.tsx
|
|
3
|
+
function n(n) {
|
|
4
|
+
return /* @__PURE__ */ t("svg", {
|
|
5
|
+
width: "16",
|
|
6
|
+
height: "16",
|
|
7
|
+
viewBox: "0 0 20 20",
|
|
8
|
+
fill: "none",
|
|
9
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
10
|
+
...n,
|
|
11
|
+
children: [
|
|
12
|
+
/* @__PURE__ */ e("path", {
|
|
13
|
+
fill: "#54C5F8",
|
|
14
|
+
d: "M5.27201 12.6573L2.59601 9.98133L11.296 1.28H16.6507L5.27201 12.6573Z"
|
|
15
|
+
}),
|
|
16
|
+
/* @__PURE__ */ e("path", {
|
|
17
|
+
fill: "#01579B",
|
|
18
|
+
d: "M8.95331 16.3387L11.296 18.6813H16.6493L11.9653 14L8.95331 16.3387Z"
|
|
19
|
+
}),
|
|
20
|
+
/* @__PURE__ */ e("path", {
|
|
21
|
+
fill: "#54C5F8",
|
|
22
|
+
d: "M16.6506 9.312H11.296L8.95331 11.6533L11.9653 14L16.6506 9.312Z"
|
|
23
|
+
}),
|
|
24
|
+
/* @__PURE__ */ e("path", {
|
|
25
|
+
fill: "#29B6F6",
|
|
26
|
+
fillRule: "evenodd",
|
|
27
|
+
clipRule: "evenodd",
|
|
28
|
+
d: "M6.61066 14L9.28799 11.32L11.9653 14L9.28799 16.6733L6.61066 14Z"
|
|
29
|
+
}),
|
|
30
|
+
/* @__PURE__ */ e("path", {
|
|
31
|
+
fill: "url(#hs-flutter-shade)",
|
|
32
|
+
d: "M9.28802 16.6733L11.9654 13.996L13.304 15.3347L9.28802 16.6733Z"
|
|
33
|
+
}),
|
|
34
|
+
/* @__PURE__ */ e("defs", { children: /* @__PURE__ */ t("linearGradient", {
|
|
35
|
+
id: "hs-flutter-shade",
|
|
36
|
+
x1: "12.4534",
|
|
37
|
+
y1: "14.776",
|
|
38
|
+
x2: "9.84136",
|
|
39
|
+
y2: "16.3573",
|
|
40
|
+
gradientUnits: "userSpaceOnUse",
|
|
41
|
+
children: [/* @__PURE__ */ e("stop", { stopColor: "#01579B" }), /* @__PURE__ */ e("stop", {
|
|
42
|
+
offset: "1",
|
|
43
|
+
stopColor: "#002B4B"
|
|
44
|
+
})]
|
|
45
|
+
}) })
|
|
46
|
+
]
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
//#endregion
|
|
50
|
+
export { n as default };
|
|
@@ -3,26 +3,30 @@ import t from "./Android.js";
|
|
|
3
3
|
import n from "./Angular.js";
|
|
4
4
|
import r from "./Css.js";
|
|
5
5
|
import i from "./Dotnet.js";
|
|
6
|
-
import a from "./
|
|
7
|
-
import o from "./
|
|
8
|
-
import s from "./
|
|
9
|
-
import c from "./
|
|
10
|
-
import l from "./
|
|
11
|
-
import u from "./
|
|
12
|
-
import d from "./
|
|
6
|
+
import a from "./Figma.js";
|
|
7
|
+
import o from "./Flutter.js";
|
|
8
|
+
import s from "./Html.js";
|
|
9
|
+
import c from "./Javascript.js";
|
|
10
|
+
import l from "./Python.js";
|
|
11
|
+
import u from "./React.js";
|
|
12
|
+
import d from "./Swift.js";
|
|
13
|
+
import f from "./Typescript.js";
|
|
14
|
+
import p from "./Vue.js";
|
|
13
15
|
//#region lib/components/FrameworkIcon/icons/multi/index.ts
|
|
14
|
-
var
|
|
16
|
+
var m = /* @__PURE__ */ e({
|
|
15
17
|
Android: () => t,
|
|
16
18
|
Angular: () => n,
|
|
17
19
|
Css: () => r,
|
|
18
20
|
Dotnet: () => i,
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
21
|
+
Figma: () => a,
|
|
22
|
+
Flutter: () => o,
|
|
23
|
+
Html: () => s,
|
|
24
|
+
Javascript: () => c,
|
|
25
|
+
Python: () => l,
|
|
26
|
+
React: () => u,
|
|
27
|
+
Swift: () => d,
|
|
28
|
+
Typescript: () => f,
|
|
29
|
+
Vue: () => p
|
|
26
30
|
});
|
|
27
31
|
//#endregion
|
|
28
|
-
export { t as Android, n as Angular, r as Css, i as Dotnet, a as
|
|
32
|
+
export { t as Android, n as Angular, r as Css, i as Dotnet, a as Figma, o as Flutter, s as Html, c as Javascript, l as Python, u as React, d as Swift, f as Typescript, p as Vue, m as t };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as e } from "../../FrameworkIcon-
|
|
1
|
+
import { t as e } from "../../FrameworkIcon-D7N3PjYr.js";
|
|
2
2
|
export { e as FrameworkIcon };
|