@pallasoft/ps-input-components 1.0.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/LICENSE ADDED
@@ -0,0 +1,32 @@
1
+ Pallasoft Proprietary License
2
+
3
+ Version 1.0, 23-Jan-2024
4
+
5
+ 1. Grant of License:
6
+ Pallasoft grants you a non-exclusive, non-transferable, revocable license to use the software, solely for internal business purposes.
7
+
8
+ 2. Restrictions:
9
+ You may not:
10
+ a. Distribute or sublicense the software to third parties.
11
+ b. Reverse engineer, decompile, or disassemble the software.
12
+ c. Remove or alter any proprietary notices or labels on the software.
13
+
14
+ 3. Ownership:
15
+ Pallasoft retains all right, title, and interest in and to the software, including all intellectual property rights.
16
+
17
+ 4. Confidentiality:
18
+ You agree to keep the software confidential and not disclose it to third parties.
19
+
20
+ 5. Support and Updates:
21
+ This license does not entitle you to support or updates. Pallasoft may, at its discretion, provide support and updates.
22
+
23
+ 6. Termination:
24
+ This license is effective until terminated. Pallasoft may terminate the license at any time if you breach any terms. Upon termination, you must cease using the software.
25
+
26
+ 7. Governing Law:
27
+ This license is governed by the Canadian Laws. Any disputes arising out of this license shall be resolved in the courts of Canada.
28
+
29
+ 8. Contact Information:
30
+ For inquiries regarding this license, contact operations@pallasoft.com.
31
+
32
+ [End of License]
package/README.md ADDED
@@ -0,0 +1,10 @@
1
+ # @pallasoft/ps-input-components
2
+
3
+ Shared Pallasoft input components package.
4
+
5
+ ## Scripts
6
+
7
+ - `npm run build` compiles the package into `dist`.
8
+ - `npm run lint` runs ESLint using the shared package baseline.
9
+ - `npm run format:check` checks Prettier formatting.
10
+ - `npm run release` publishes through semantic-release.
@@ -0,0 +1,14 @@
1
+ import type { ReactNode } from 'react';
2
+ export interface PsComboboxInputProps<T> {
3
+ className?: string;
4
+ getItemKey: (item: T) => string;
5
+ getItemLabel: (item: T) => string;
6
+ isLoading?: boolean;
7
+ items: T[];
8
+ label?: string;
9
+ onInputChange?: (value: string) => void;
10
+ onSelectionChange?: (item: T | null) => void;
11
+ placeholder?: string;
12
+ renderItem?: (item: T) => ReactNode;
13
+ }
14
+ export declare const PsComboboxInput: <T>({ className, getItemKey, getItemLabel, isLoading, items, label, onInputChange, onSelectionChange, placeholder, renderItem, }: PsComboboxInputProps<T>) => import("react").JSX.Element;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PsComboboxInput = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const ps_design_system_1 = require("@pallasoft/ps-design-system");
6
+ const ps_core_components_1 = require("@pallasoft/ps-core-components");
7
+ const react_aria_components_1 = require("react-aria-components");
8
+ const PsComboboxInput = ({ className, getItemKey, getItemLabel, isLoading = false, items, label, onInputChange, onSelectionChange, placeholder, renderItem, }) => {
9
+ const itemsByKey = new Map(items.map((item) => [getItemKey(item), item]));
10
+ return ((0, jsx_runtime_1.jsxs)(react_aria_components_1.ComboBox, { className: ps_design_system_1.PallasoftClassNameService.merge('block', className), defaultFilter: () => true, items: items, onInputChange: onInputChange, onSelectionChange: (key) => onSelectionChange?.(key === null ? null : (itemsByKey.get(String(key)) ?? null)), children: [label ? (0, jsx_runtime_1.jsx)(react_aria_components_1.Label, { className: 'ps-input-label', children: label }) : null, (0, jsx_runtime_1.jsx)("span", { className: 'relative mt-2 block', children: (0, jsx_runtime_1.jsx)(react_aria_components_1.Input, { className: 'ps-input-control ps-focus-ring min-h-11 w-full text-sm font-semibold', placeholder: placeholder }) }), (0, jsx_runtime_1.jsx)(react_aria_components_1.Popover, { className: 'w-[--trigger-width] rounded-2xl border border-line bg-white/95 p-1.5 shadow-lg dark:border-white/10 dark:bg-slate-900/95', children: isLoading ? ((0, jsx_runtime_1.jsx)("div", { className: 'flex items-center justify-center py-4', children: (0, jsx_runtime_1.jsx)(ps_core_components_1.PsSpinner, { label: 'Loading results', size: 'small' }) })) : ((0, jsx_runtime_1.jsx)(react_aria_components_1.ListBox, { className: 'max-h-72 overflow-y-auto outline-none', items: items, children: (item) => ((0, jsx_runtime_1.jsx)(react_aria_components_1.ListBoxItem, { className: 'ps-focus-ring cursor-pointer rounded-xl px-3 py-2 text-sm font-semibold text-ink selected:bg-primary-soft selected:text-primary hover:bg-slate-50 dark:hover:bg-white/6', id: getItemKey(item), textValue: getItemLabel(item), children: renderItem ? renderItem(item) : getItemLabel(item) })) })) })] }));
11
+ };
12
+ exports.PsComboboxInput = PsComboboxInput;
@@ -0,0 +1,12 @@
1
+ export interface PsDateInputProps {
2
+ className?: string;
3
+ defaultValue?: string;
4
+ disabled?: boolean;
5
+ helperText?: string;
6
+ label: string;
7
+ name?: string;
8
+ onChange?: (value: string) => void;
9
+ required?: boolean;
10
+ value?: string;
11
+ }
12
+ export declare const PsDateInput: ({ className, defaultValue, disabled, helperText, label, name, onChange, required, value, }: PsDateInputProps) => import("react").JSX.Element;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PsDateInput = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const ps_design_system_1 = require("@pallasoft/ps-design-system");
6
+ const PsDateInput = ({ className, defaultValue, disabled, helperText, label, name, onChange, required, value, }) => ((0, jsx_runtime_1.jsxs)("label", { className: ps_design_system_1.PallasoftClassNameService.merge('block', className), children: [(0, jsx_runtime_1.jsx)("span", { className: 'ps-input-label', children: label }), (0, jsx_runtime_1.jsx)("input", { className: 'ps-input-control ps-focus-ring mt-2 min-h-11 w-full text-sm font-semibold', defaultValue: value === undefined ? defaultValue : undefined, disabled: disabled, name: name, onChange: (event) => onChange?.(event.target.value), required: required, type: 'date', value: value }), helperText ? (0, jsx_runtime_1.jsx)("span", { className: 'ps-input-helper', children: helperText }) : null] }));
7
+ exports.PsDateInput = PsDateInput;
@@ -0,0 +1,15 @@
1
+ import { type PsSelectOption } from './ps-select-input';
2
+ export type PsDropdownOption = PsSelectOption;
3
+ export interface PsDropdownProps {
4
+ className?: string;
5
+ defaultValue?: string;
6
+ disabled?: boolean;
7
+ helperText?: string;
8
+ label: string;
9
+ name: string;
10
+ onChange?: (value: string) => void;
11
+ options: PsDropdownOption[];
12
+ placeholder?: string;
13
+ value?: string;
14
+ }
15
+ export declare const PsDropdown: ({ className, defaultValue, disabled, helperText, label, name, onChange, options, placeholder, value, }: PsDropdownProps) => import("react").JSX.Element;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PsDropdown = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const ps_select_input_1 = require("./ps-select-input");
6
+ const PsDropdown = ({ className, defaultValue, disabled = false, helperText, label, name, onChange, options, placeholder, value, }) => ((0, jsx_runtime_1.jsx)(ps_select_input_1.PsSelectInput, { className: className, defaultValue: defaultValue, disabled: disabled, helperText: helperText, label: label, name: name, onChange: onChange, options: options, placeholder: placeholder, value: value }));
7
+ exports.PsDropdown = PsDropdown;
@@ -0,0 +1,9 @@
1
+ import type { ReactNode } from 'react';
2
+ export interface PsFormControlProps {
3
+ children: ReactNode;
4
+ className?: string;
5
+ errorText?: string;
6
+ helperText?: string;
7
+ label?: string;
8
+ }
9
+ export declare const PsFormControl: ({ children, className, errorText, helperText, label, }: PsFormControlProps) => import("react").JSX.Element;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PsFormControl = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const ps_design_system_1 = require("@pallasoft/ps-design-system");
6
+ const PsFormControl = ({ children, className, errorText, helperText, label, }) => ((0, jsx_runtime_1.jsxs)("div", { className: ps_design_system_1.PallasoftClassNameService.merge('grid gap-2', className), children: [label ? (0, jsx_runtime_1.jsx)("span", { className: 'ps-input-label-compact', children: label }) : null, children, errorText ? ((0, jsx_runtime_1.jsx)("p", { className: 'text-xs font-semibold text-danger', children: errorText })) : helperText ? ((0, jsx_runtime_1.jsx)("p", { className: 'ps-input-helper', children: helperText })) : null] }));
7
+ exports.PsFormControl = PsFormControl;
@@ -0,0 +1,13 @@
1
+ import type { PsSelectOption } from './ps-select-input';
2
+ export interface PsMultiSelectInputProps {
3
+ className?: string;
4
+ defaultValue?: string[];
5
+ disabled?: boolean;
6
+ helperText?: string;
7
+ label: string;
8
+ name?: string;
9
+ onChange?: (value: string[]) => void;
10
+ options: PsSelectOption[];
11
+ value?: string[];
12
+ }
13
+ export declare const PsMultiSelectInput: ({ className, defaultValue, disabled, helperText, label, name, onChange, options, value, }: PsMultiSelectInputProps) => import("react").JSX.Element;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PsMultiSelectInput = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const ps_design_system_1 = require("@pallasoft/ps-design-system");
6
+ const react_aria_components_1 = require("react-aria-components");
7
+ const PsMultiSelectInput = ({ className, defaultValue, disabled, helperText, label, name, onChange, options, value, }) => {
8
+ const selectedProps = value === undefined ? { defaultValue } : { value };
9
+ return ((0, jsx_runtime_1.jsxs)(react_aria_components_1.CheckboxGroup, { ...selectedProps, className: ps_design_system_1.PallasoftClassNameService.merge('grid gap-2', className), isDisabled: disabled, onChange: onChange, children: [(0, jsx_runtime_1.jsx)(react_aria_components_1.Label, { className: 'ps-input-label', children: label }), (0, jsx_runtime_1.jsx)("div", { className: 'grid gap-2', children: options.map((option) => ((0, jsx_runtime_1.jsxs)(react_aria_components_1.Checkbox, { className: 'ps-focus-ring group flex cursor-pointer items-start gap-3 rounded-2xl border border-line bg-white/62 px-3.5 py-3 text-sm transition selected:border-primary/40 selected:bg-primary-soft/42 hover:border-primary/30 dark:border-white/10 dark:bg-white/6', name: name, value: option.value, children: [(0, jsx_runtime_1.jsx)("span", { className: 'mt-0.5 flex h-4 w-4 shrink-0 items-center justify-center rounded border border-line bg-white text-[0.65rem] font-black text-white group-selected:border-primary group-selected:bg-primary dark:border-white/20 dark:bg-white/8', children: "\u2713" }), (0, jsx_runtime_1.jsxs)("span", { className: 'min-w-0', children: [(0, jsx_runtime_1.jsx)("span", { className: 'block font-semibold text-ink', children: option.label }), option.description ? ((0, jsx_runtime_1.jsx)("span", { className: 'mt-1 block text-xs leading-5 text-slate-500', children: option.description })) : null] })] }, option.value))) }), helperText ? (0, jsx_runtime_1.jsx)("span", { className: 'ps-input-helper', children: helperText }) : null] }));
10
+ };
11
+ exports.PsMultiSelectInput = PsMultiSelectInput;
@@ -0,0 +1,19 @@
1
+ export interface PsSelectOption {
2
+ description?: string;
3
+ label: string;
4
+ value: string;
5
+ }
6
+ export interface PsSelectInputProps {
7
+ className?: string;
8
+ defaultValue?: string;
9
+ disabled?: boolean;
10
+ helperText?: string;
11
+ label: string;
12
+ name?: string;
13
+ onChange?: (value: string) => void;
14
+ options: PsSelectOption[];
15
+ placeholder?: string;
16
+ required?: boolean;
17
+ value?: string;
18
+ }
19
+ export declare const PsSelectInput: ({ className, defaultValue, disabled, helperText, label, name, onChange, options, placeholder, required, value, }: PsSelectInputProps) => import("react").JSX.Element;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PsSelectInput = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const ps_design_system_1 = require("@pallasoft/ps-design-system");
6
+ const PsSelectInput = ({ className, defaultValue, disabled, helperText, label, name, onChange, options, placeholder = 'Select an option', required, value, }) => ((0, jsx_runtime_1.jsxs)("label", { className: ps_design_system_1.PallasoftClassNameService.merge('block', className), children: [(0, jsx_runtime_1.jsx)("span", { className: 'ps-input-label', children: label }), (0, jsx_runtime_1.jsxs)("span", { className: 'relative mt-2 block', children: [(0, jsx_runtime_1.jsxs)("select", { className: 'ps-input-control ps-focus-ring min-h-11 w-full appearance-none pr-10 text-left font-semibold disabled:cursor-not-allowed disabled:opacity-60', defaultValue: value === undefined ? (defaultValue ?? options[0]?.value ?? '') : undefined, disabled: disabled, name: name, onChange: (event) => onChange?.(event.target.value), required: required, value: value, children: [options.length === 0 || !defaultValue ? ((0, jsx_runtime_1.jsx)("option", { disabled: true, value: '', children: placeholder })) : null, options.map((option) => ((0, jsx_runtime_1.jsx)("option", { value: option.value, children: option.label }, option.value)))] }), (0, jsx_runtime_1.jsx)("span", { "aria-hidden": 'true', className: 'pointer-events-none absolute right-3 top-1/2 -translate-y-1/2 text-primary', children: "\u2304" })] }), helperText ? (0, jsx_runtime_1.jsx)("span", { className: 'ps-input-helper', children: helperText }) : null] }));
7
+ exports.PsSelectInput = PsSelectInput;
@@ -0,0 +1,6 @@
1
+ import type { InputHTMLAttributes } from 'react';
2
+ export interface PsTextInputProps extends InputHTMLAttributes<HTMLInputElement> {
3
+ helperText?: string;
4
+ label: string;
5
+ }
6
+ export declare const PsTextInput: ({ className, defaultValue, disabled, helperText, label, name, onChange, required, type, value, ...props }: PsTextInputProps) => import("react").JSX.Element;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PsTextInput = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const ps_design_system_1 = require("@pallasoft/ps-design-system");
6
+ const ps_date_input_1 = require("./ps-date-input");
7
+ const PsTextInput = ({ className, defaultValue, disabled, helperText, label, name, onChange, required, type, value, ...props }) => {
8
+ if (type === 'date') {
9
+ return ((0, jsx_runtime_1.jsx)(ps_date_input_1.PsDateInput, { className: className, defaultValue: typeof defaultValue === 'string' ? defaultValue : undefined, disabled: disabled, helperText: helperText, label: label, name: name, onChange: (nextValue) => onChange?.({
10
+ target: { name, value: nextValue },
11
+ }), required: required, value: typeof value === 'string' ? value : undefined }));
12
+ }
13
+ return ((0, jsx_runtime_1.jsxs)("label", { className: 'block', children: [(0, jsx_runtime_1.jsx)("span", { className: 'ps-input-label', children: label }), (0, jsx_runtime_1.jsx)("input", { className: ps_design_system_1.PallasoftClassNameService.merge('ps-input-control mt-2', className), defaultValue: defaultValue, disabled: disabled, name: name, onChange: onChange, required: required, type: type, value: value, ...props }), helperText ? (0, jsx_runtime_1.jsx)("span", { className: 'ps-input-helper', children: helperText }) : null] }));
14
+ };
15
+ exports.PsTextInput = PsTextInput;
@@ -0,0 +1,8 @@
1
+ export interface PsToggleProps {
2
+ description?: string;
3
+ isChecked: boolean;
4
+ label: string;
5
+ name?: string;
6
+ onChange?: (isChecked: boolean) => void;
7
+ }
8
+ export declare const PsToggle: ({ description, isChecked, label, name, onChange }: PsToggleProps) => import("react").JSX.Element;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PsToggle = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const ps_design_system_1 = require("@pallasoft/ps-design-system");
6
+ const PsToggle = ({ description, isChecked, label, name, onChange }) => ((0, jsx_runtime_1.jsxs)("label", { className: 'ps-focus-ring flex cursor-pointer items-center justify-between gap-4 rounded-2xl border border-line bg-white/78 px-4 py-3 text-ink transition-colors hover:border-primary/35 dark:border-white/10 dark:bg-white/6 dark:text-white', children: [(0, jsx_runtime_1.jsxs)("span", { children: [(0, jsx_runtime_1.jsx)("span", { className: 'block text-sm font-semibold text-current', children: label }), description ? ((0, jsx_runtime_1.jsx)("span", { className: 'mt-1 block text-xs leading-5 text-slate-500 dark:text-slate-400', children: description })) : null] }), (0, jsx_runtime_1.jsx)("input", { checked: isChecked, className: 'sr-only', name: name, onChange: (event) => onChange?.(event.target.checked), type: 'checkbox' }), (0, jsx_runtime_1.jsx)("span", { className: ps_design_system_1.PallasoftClassNameService.merge('flex h-7 w-12 items-center rounded-full p-1 transition', isChecked ? 'bg-primary' : 'bg-slate-200 dark:bg-slate-700'), children: (0, jsx_runtime_1.jsx)("span", { className: ps_design_system_1.PallasoftClassNameService.merge('h-5 w-5 rounded-full bg-white ring-1 ring-black/5 transition dark:ring-white/10', isChecked && 'translate-x-5') }) })] }));
7
+ exports.PsToggle = PsToggle;
@@ -0,0 +1,8 @@
1
+ export * from './components/ps-combobox-input';
2
+ export * from './components/ps-date-input';
3
+ export * from './components/ps-dropdown';
4
+ export * from './components/ps-form-control';
5
+ export * from './components/ps-multi-select-input';
6
+ export * from './components/ps-select-input';
7
+ export * from './components/ps-text-input';
8
+ export * from './components/ps-toggle';
package/dist/index.js ADDED
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./components/ps-combobox-input"), exports);
18
+ __exportStar(require("./components/ps-date-input"), exports);
19
+ __exportStar(require("./components/ps-dropdown"), exports);
20
+ __exportStar(require("./components/ps-form-control"), exports);
21
+ __exportStar(require("./components/ps-multi-select-input"), exports);
22
+ __exportStar(require("./components/ps-select-input"), exports);
23
+ __exportStar(require("./components/ps-text-input"), exports);
24
+ __exportStar(require("./components/ps-toggle"), exports);
package/package.json ADDED
@@ -0,0 +1,76 @@
1
+ {
2
+ "name": "@pallasoft/ps-input-components",
3
+ "version": "1.0.0",
4
+ "private": false,
5
+ "main": "./dist/index.js",
6
+ "types": "./dist/index.d.ts",
7
+ "exports": {
8
+ ".": {
9
+ "types": "./dist/index.d.ts",
10
+ "require": "./dist/index.js",
11
+ "default": "./dist/index.js"
12
+ }
13
+ },
14
+ "files": [
15
+ "/dist"
16
+ ],
17
+ "scripts": {
18
+ "husky:prepare": "npx husky",
19
+ "build": "tsc",
20
+ "setup:graphify": "sh scripts/graphify-setup.sh",
21
+ "update:graphify": "sh scripts/graphify-update.sh",
22
+ "lint": "npm run lint:eslint",
23
+ "lint:fix": "npm run lint:eslint:fix",
24
+ "format:check": "npx prettier --check --ignore-unknown \"src/**/*.{ts,tsx,json,md}\"",
25
+ "format:prettier": "npx prettier --write \"src/**/*.{ts,tsx,json,md}\"",
26
+ "lint:eslint": "npx eslint \"src/**/*.{ts,tsx}\"",
27
+ "lint:eslint:fix": "npx eslint --fix \"src/**/*.{ts,tsx}\"",
28
+ "release": "semantic-release"
29
+ },
30
+ "dependencies": {
31
+ "@internationalized/date": "^3.12.2",
32
+ "@pallasoft/ps-core-components": "^1.0.0",
33
+ "@pallasoft/ps-design-system": "^1.0.0",
34
+ "react-aria-components": "^1.19.0"
35
+ },
36
+ "peerDependencies": {
37
+ "react": "^18 || ^19",
38
+ "react-dom": "^18 || ^19"
39
+ },
40
+ "devDependencies": {
41
+ "@commitlint/cli": "^20.1.0",
42
+ "@commitlint/config-conventional": "^20.0.0",
43
+ "@eslint/compat": "^2.0.0",
44
+ "@ianvs/prettier-plugin-sort-imports": "^4.7.0",
45
+ "@semantic-release/changelog": "^6.0.3",
46
+ "@semantic-release/commit-analyzer": "^13.0.0",
47
+ "@semantic-release/git": "^10.0.1",
48
+ "@semantic-release/github": "^11.0.1",
49
+ "@semantic-release/npm": "^12.0.0",
50
+ "@semantic-release/release-notes-generator": "^14.0.1",
51
+ "@types/react": "^18.3.28",
52
+ "@types/react-dom": "^18.3.7",
53
+ "@typescript-eslint/eslint-plugin": "^8.48.0",
54
+ "@typescript-eslint/parser": "^8.48.0",
55
+ "commitlint": "^20.1.0",
56
+ "conventional-changelog-conventionalcommits": "^7.0.2",
57
+ "eslint": "^9.39.1",
58
+ "eslint-config-prettier": "^10.1.8",
59
+ "eslint-plugin-import": "^2.32.0",
60
+ "eslint-plugin-prettier": "^5.5.4",
61
+ "husky": "^9.1.7",
62
+ "lint-staged": "^16.2.7",
63
+ "prettier": "^3.6.2",
64
+ "semantic-release": "^24.2.0",
65
+ "ts-node": "^10.9.2",
66
+ "typescript": "^5.9.3"
67
+ },
68
+ "publishConfig": {
69
+ "access": "public",
70
+ "registry": "https://registry.npmjs.org/"
71
+ },
72
+ "repository": {
73
+ "type": "git",
74
+ "url": "git+https://github.com/pallasoft/ps-input-components.git"
75
+ }
76
+ }