@net-advantage/nabs-ui-radiobutton 0.69.0 → 0.71.0
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/nabs-ui-radiobutton.cjs +1 -1
- package/dist/nabs-ui-radiobutton.js +47 -17
- package/dist/radiobutton.model.d.ts +6 -0
- package/dist/radiobutton.model.test.d.ts +1 -0
- package/dist/radiobutton.utils.d.ts +1 -2
- package/dist/radiobutton.view-model.d.ts +11 -0
- package/dist/radiobutton.view-model.test.d.ts +1 -0
- package/package.json +8 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require("react"),t=require("react/jsx-runtime");var n={right:`nabs-ui-radiobutton--label-right`,left:`nabs-ui-radiobutton--label-left`,top:`nabs-ui-radiobutton--label-top`,bottom:`nabs-ui-radiobutton--label-bottom`};function
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require("react"),t=require("react/jsx-runtime");var n=[`right`,`left`,`top`,`bottom`],r=`right`,i={right:`nabs-ui-radiobutton--label-right`,left:`nabs-ui-radiobutton--label-left`,top:`nabs-ui-radiobutton--label-top`,bottom:`nabs-ui-radiobutton--label-bottom`};function a(e){return typeof e==`string`&&n.includes(e)}function o(e){return a(e)?e:r}function s(e,t){return e||`nabs-ui-radiobutton-${t.replace(/:/g,``)}`}function c({disabled:e=!1,labelPosition:t,className:n}){let r=o(t);return[`nabs-ui-radiobutton`,e?`nabs-ui-radiobutton--disabled`:``,i[r],n??``].filter(Boolean).join(` `)}function l(e){return[`nabs-ui-radiobutton__input`,e??``].filter(Boolean).join(` `)}function u(e){return[`nabs-ui-radiobutton__label`,e??``].filter(Boolean).join(` `)}function d({label:n=`Radio button`,labelPosition:r=`right`,className:i=``,inputClassName:a=``,labelClassName:o=``,id:d,...f}){let p=f.disabled===!0,m=s(d,(0,e.useId)()),h=c({disabled:p,labelPosition:r,className:i}),g=l(a),_=u(o);return(0,t.jsxs)(`label`,{className:h,htmlFor:m,children:[(0,t.jsx)(`input`,{id:m,className:g,type:`radio`,...f}),(0,t.jsx)(`span`,{className:_,children:n})]})}exports.RadioButton=d;
|
|
@@ -1,34 +1,64 @@
|
|
|
1
1
|
import { useId as e } from "react";
|
|
2
2
|
import { jsx as t, jsxs as n } from "react/jsx-runtime";
|
|
3
|
-
//#region src/radiobutton.
|
|
4
|
-
var r =
|
|
3
|
+
//#region src/radiobutton.model.ts
|
|
4
|
+
var r = [
|
|
5
|
+
"right",
|
|
6
|
+
"left",
|
|
7
|
+
"top",
|
|
8
|
+
"bottom"
|
|
9
|
+
], i = "right", a = {
|
|
5
10
|
right: "nabs-ui-radiobutton--label-right",
|
|
6
11
|
left: "nabs-ui-radiobutton--label-left",
|
|
7
12
|
top: "nabs-ui-radiobutton--label-top",
|
|
8
13
|
bottom: "nabs-ui-radiobutton--label-bottom"
|
|
9
14
|
};
|
|
15
|
+
function o(e) {
|
|
16
|
+
return typeof e == "string" && r.includes(e);
|
|
17
|
+
}
|
|
18
|
+
function s(e) {
|
|
19
|
+
return o(e) ? e : i;
|
|
20
|
+
}
|
|
10
21
|
//#endregion
|
|
11
|
-
//#region src/
|
|
12
|
-
function
|
|
13
|
-
|
|
22
|
+
//#region src/radiobutton.view-model.ts
|
|
23
|
+
function c(e, t) {
|
|
24
|
+
return e || `nabs-ui-radiobutton-${t.replace(/:/g, "")}`;
|
|
25
|
+
}
|
|
26
|
+
function l({ disabled: e = !1, labelPosition: t, className: n }) {
|
|
27
|
+
let r = s(t);
|
|
28
|
+
return [
|
|
14
29
|
"nabs-ui-radiobutton",
|
|
15
|
-
|
|
16
|
-
r
|
|
17
|
-
|
|
18
|
-
].filter(Boolean).join(" ")
|
|
30
|
+
e ? "nabs-ui-radiobutton--disabled" : "",
|
|
31
|
+
a[r],
|
|
32
|
+
n ?? ""
|
|
33
|
+
].filter(Boolean).join(" ");
|
|
34
|
+
}
|
|
35
|
+
function u(e) {
|
|
36
|
+
return ["nabs-ui-radiobutton__input", e ?? ""].filter(Boolean).join(" ");
|
|
37
|
+
}
|
|
38
|
+
function d(e) {
|
|
39
|
+
return ["nabs-ui-radiobutton__label", e ?? ""].filter(Boolean).join(" ");
|
|
40
|
+
}
|
|
41
|
+
//#endregion
|
|
42
|
+
//#region src/RadioButton.tsx
|
|
43
|
+
function f({ label: r = "Radio button", labelPosition: i = "right", className: a = "", inputClassName: o = "", labelClassName: s = "", id: f, ...p }) {
|
|
44
|
+
let m = p.disabled === !0, h = c(f, e()), g = l({
|
|
45
|
+
disabled: m,
|
|
46
|
+
labelPosition: i,
|
|
47
|
+
className: a
|
|
48
|
+
}), _ = u(o), v = d(s);
|
|
19
49
|
return /* @__PURE__ */ n("label", {
|
|
20
|
-
className:
|
|
21
|
-
htmlFor:
|
|
50
|
+
className: g,
|
|
51
|
+
htmlFor: h,
|
|
22
52
|
children: [/* @__PURE__ */ t("input", {
|
|
23
|
-
id:
|
|
24
|
-
className:
|
|
53
|
+
id: h,
|
|
54
|
+
className: _,
|
|
25
55
|
type: "radio",
|
|
26
|
-
...
|
|
56
|
+
...p
|
|
27
57
|
}), /* @__PURE__ */ t("span", {
|
|
28
|
-
className:
|
|
29
|
-
children:
|
|
58
|
+
className: v,
|
|
59
|
+
children: r
|
|
30
60
|
})]
|
|
31
61
|
});
|
|
32
62
|
}
|
|
33
63
|
//#endregion
|
|
34
|
-
export {
|
|
64
|
+
export { f as RadioButton };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { RadioButtonLabelPosition } from './RadioButton.types';
|
|
2
|
+
export declare const radioButtonLabelPositions: readonly ["right", "left", "top", "bottom"];
|
|
3
|
+
export declare const defaultRadioButtonLabelPosition: RadioButtonLabelPosition;
|
|
4
|
+
export declare const labelPositionClasses: Record<RadioButtonLabelPosition, string>;
|
|
5
|
+
export declare function isRadioButtonLabelPosition(value: unknown): value is RadioButtonLabelPosition;
|
|
6
|
+
export declare function normalizeRadioButtonLabelPosition(value: unknown): RadioButtonLabelPosition;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const labelPositionClasses: Record<RadioButtonLabelPosition, string>;
|
|
1
|
+
export { radioButtonLabelPositions, defaultRadioButtonLabelPosition, labelPositionClasses, isRadioButtonLabelPosition, normalizeRadioButtonLabelPosition, } from './radiobutton.model';
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { RadioButtonLabelPosition } from './RadioButton.types';
|
|
2
|
+
export interface BuildRadioButtonClassNameInput {
|
|
3
|
+
disabled?: boolean;
|
|
4
|
+
labelPosition?: RadioButtonLabelPosition | string | null;
|
|
5
|
+
className?: string | null;
|
|
6
|
+
}
|
|
7
|
+
export declare function buildRadioButtonId(id: string | undefined, generatedId: string): string;
|
|
8
|
+
export declare function buildRadioButtonClassName({ disabled, labelPosition, className, }: BuildRadioButtonClassNameInput): string;
|
|
9
|
+
export declare function buildRadioButtonInputClassName(inputClassName?: string | null): string;
|
|
10
|
+
export declare function buildRadioButtonLabelClassName(labelClassName?: string | null): string;
|
|
11
|
+
export declare function toRadioButtonStateLabel(selectedValue: string, labelPosition: RadioButtonLabelPosition | string | null | undefined): string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@net-advantage/nabs-ui-radiobutton",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.71.0",
|
|
4
4
|
"description": "Reusable React radio button control for the Nabs UI library.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/nabs-ui-radiobutton.cjs",
|
|
@@ -25,11 +25,16 @@
|
|
|
25
25
|
"@types/react": "^19.0.0",
|
|
26
26
|
"@types/react-dom": "^19.0.0",
|
|
27
27
|
"@vitejs/plugin-react": "^6.0.1",
|
|
28
|
+
"@vitest/coverage-v8": "^3.2.4",
|
|
28
29
|
"react-dom": "^19.2.6",
|
|
29
|
-
"vite": "^8.0.12"
|
|
30
|
+
"vite": "^8.0.12",
|
|
31
|
+
"vitest": "^3.2.4"
|
|
30
32
|
},
|
|
31
33
|
"scripts": {
|
|
32
34
|
"build": "vite build",
|
|
33
|
-
"dev": "vite"
|
|
35
|
+
"dev": "vite",
|
|
36
|
+
"test:unit": "vitest run",
|
|
37
|
+
"test:unit:watch": "vitest",
|
|
38
|
+
"test:unit:coverage": "vitest run --coverage --coverage.reporter=html --coverage.reporter=json-summary --coverage.reporter=text-summary"
|
|
34
39
|
}
|
|
35
40
|
}
|