@cratis/components.primereact10 0.0.0 → 4.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/CONFORMANCE.md ADDED
@@ -0,0 +1,48 @@
1
+ <!-- Copyright (c) Cratis. All rights reserved. -->
2
+ <!-- Licensed under the MIT license. See LICENSE file in the project root for full license information. -->
3
+
4
+ # PrimeReact 10 adapter conformance
5
+
6
+ The adapter declares `stable-presentation/v1` at renderer ABI major 1. The repository gate runs
7
+ `@cratis/components.conformance` against all nine declared slots and requires every applicable check
8
+ to pass with zero failures and zero skips. The generated report is the authoritative check inventory.
9
+
10
+ The bounded checks cover:
11
+
12
+ - schema-valid package metadata and exact static/runtime consistency;
13
+ - every stable part, canonical state, and typed `pt` destination;
14
+ - exact native elements and native refs;
15
+ - native names, values, submit/reset, disabled/read-only, validation, and autofill-shaped props;
16
+ - one value-first `ChangeHandler` callback with `source: 'user'` and the originating native `Event`;
17
+ - current and deprecated Button appearance mapping and canonical data attributes;
18
+ - real PrimeReact 10.9.9 styled DOM identities for all nine slots;
19
+ - checked and unchecked indicator ownership, explicit switch semantics, indeterminate progress ARIA,
20
+ and a visible vendor loading indicator;
21
+ - deterministic SSR for all nine slots and mismatch-free representative Button hydration; and
22
+ - package peers, archive boundaries, runtime loading, declaration hygiene, major isolation, and
23
+ strict Bundler and NodeNext consumers with bounded upstream exceptions.
24
+
25
+ PrimeReact 10 is MIT licensed and has no key or setup attestation. The adapter preserves an outer
26
+ application-owned `PrimeReactProvider` when present and creates a default provider only when no
27
+ outer context exists.
28
+
29
+ The generic overlay absent/present check has no applicable slot in this nine-slot profile and
30
+ supplies no PrimeReact overlay evidence. Portable part names and typed `pt` destinations are
31
+ preserved, while PrimeReact may add wrappers or nest parts differently from the built-in renderer;
32
+ undocumented descendant order and sibling selectors are not portable contracts.
33
+
34
+ PrimeReact 10.9.9 still publishes an aggregate API declaration that imports unrelated components
35
+ whose `onToggle` declarations conflict with React 19, and other declarations still name global JSX.
36
+ Tracked compile-only shims constrain those exact upstream defects without suppressing library
37
+ checking. The packed adapter declaration is vendor-free; package verification ensures that no shim
38
+ or vendor declaration is emitted. Remove or narrow a shim when the pinned upstream behavior changes.
39
+
40
+ PrimeReact 10 predates modern package export maps. The adapter uses explicit legacy CommonJS entry
41
+ points so its packed ESM entry can load under native Node as well as application bundlers without
42
+ bundling PrimeReact. PrimeReact 10 and 11 are installed and verified as distinct incompatible
43
+ workspace resolutions.
44
+
45
+ This is automated jsdom/axe, SSR, and package evidence, not universal browser, visual, RTL,
46
+ forced-colors, reduced-motion, or assistive-technology certification. The application remains
47
+ responsible for its selected global PrimeReact 10 theme, optional provider configuration, CSP, and
48
+ host-specific style loading.
package/LICENSE ADDED
@@ -0,0 +1,24 @@
1
+ MIT License
2
+
3
+ Copyright (c) Cratis
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
22
+
23
+ PrimeReact 10 is peer-installed MIT-licensed software and is not covered by
24
+ this adapter license. See THIRD_PARTY_NOTICES.md.
package/README.md CHANGED
@@ -1,3 +1,90 @@
1
- # @cratis/components.primereact10
1
+ <!-- Copyright (c) Cratis. All rights reserved. -->
2
+ <!-- Licensed under the MIT license. See LICENSE file in the project root for full license information. -->
2
3
 
3
- Reserved for the Cratis Components release workflow.
4
+ # `@cratis/components.primereact10`
5
+
6
+ PrimeReact 10 adapter for the nine stable presentation slots in the Cratis Components renderer ABI
7
+ v1. The package shares the Components repository release version while the renderer ABI remains
8
+ versioned separately. It exports one stable `CratisPresentationUiLibrary` manifest,
9
+ `primeReact10UiLibrary`. This certifies nine-slot primitive
10
+ adaptation, never full-catalog replacement.
11
+
12
+ PrimeReact 11 uses a different package architecture and license boundary. It is supported separately
13
+ by `@cratis/components.primereact`; the two adapters must use isolated upstream dependency graphs.
14
+
15
+ > **Publication status:** The install example targets the owner-authorized 4.0.0 npm release. When
16
+ > reading this README from repository source before that release, verify availability with
17
+ > `npm view @cratis/components.primereact10@4.0.0 version`; source contributors use the workspace in
18
+ > this checkout.
19
+
20
+ ## Install
21
+
22
+ ```sh
23
+ npm install @cratis/components.primereact10@^4 @cratis/components@^4 \
24
+ primereact@^10.9.9 react@^19 react-dom@^19
25
+ ```
26
+
27
+ Node-based build, test, and server-rendering environments require Node.js 23 or newer.
28
+
29
+ The adapter covers Button, IconButton, TextInput, TextArea, Checkbox, Radio, Switch, ProgressBar,
30
+ and Surface. The five atomic interaction slots are not part of this profile and continue through the
31
+ Components built-in fallback.
32
+
33
+ PrimeReact 10 is MIT licensed and requires no PrimeUI key or Components renderer setup attestation.
34
+ Version 10.9.9 is the minimum supported upstream because it fixes the prototype-pollution advisory
35
+ that affects PrimeReact releases through 10.9.8.
36
+
37
+ ## Theme and global configuration
38
+
39
+ PrimeReact 10 styled components require one application-selected theme stylesheet. Import it once in
40
+ the application entry point before application overrides:
41
+
42
+ ```ts
43
+ import 'primereact/resources/themes/lara-light-cyan/theme.css';
44
+ ```
45
+
46
+ The distributed theme is precompiled CSS and does not require Sass. Sass is needed only when an
47
+ application chooses to compile a custom PrimeReact 10 theme. PrimeIcons is optional; install and
48
+ import `primeicons/primeicons.css` only if the application uses PrimeIcons directly.
49
+
50
+ An outer `PrimeReactProvider` is optional. The adapter creates a default provider only when the
51
+ application has not supplied one. An application can own global PrimeReact 10 options such as ripple,
52
+ locale, CSP nonce, style container, pass-through defaults, or z-index configuration:
53
+
54
+ ```tsx
55
+ import { PrimeReactProvider } from 'primereact/api';
56
+ import { CratisComponentsProvider } from '@cratis/components';
57
+ import { primeReact10UiLibrary } from '@cratis/components.primereact10';
58
+
59
+ export const Application = () => (
60
+ <PrimeReactProvider value={{ ripple: true }}>
61
+ <CratisComponentsProvider
62
+ value={{ locale: 'en-US' }}
63
+ library={primeReact10UiLibrary}
64
+ >
65
+ <main>Application content</main>
66
+ </CratisComponentsProvider>
67
+ </PrimeReactProvider>
68
+ );
69
+ ```
70
+
71
+ The application owns theme imports and any outer provider configuration. Components does not
72
+ configure an application's direct PrimeReact usage.
73
+
74
+ ## SSR and package boundaries
75
+
76
+ All nine slots are required to produce deterministic static markup, and the representative Button
77
+ fixture must hydrate without a mismatch. PrimeReact 10 predates modern package export maps, so the
78
+ adapter's packed runtime gate verifies the exact legacy module interop used by the published build.
79
+ Hosts remain responsible for loading global theme CSS in the framework-prescribed location and for
80
+ CSP or style-container configuration.
81
+
82
+ PrimeReact is a bounded peer and is never bundled. The exact repository proof uses PrimeReact
83
+ 10.9.9 and React 19. PrimeReact 10 and 11 cannot satisfy one another's peer range and must not share
84
+ one Storybook preview or application dependency resolution.
85
+
86
+ The adapter requires `@cratis/components >=4 <5`. This range is intentionally bounded to the
87
+ Components major whose renderer ABI and stable presentation profile it implements.
88
+
89
+ See [CONFORMANCE.md](./CONFORMANCE.md) for bounded evidence and
90
+ [THIRD_PARTY_NOTICES.md](./THIRD_PARTY_NOTICES.md) for upstream licensing.
@@ -0,0 +1,28 @@
1
+ <!-- Copyright (c) Cratis. All rights reserved. -->
2
+ <!-- Licensed under the MIT license. See LICENSE file in the project root for full license information. -->
3
+
4
+ # Third-party notices
5
+
6
+ This MIT-licensed adapter interoperates with peer-installed PrimeReact software. It does not bundle
7
+ or redistribute PrimeReact or its transitive dependencies.
8
+
9
+ ## PrimeReact 10
10
+
11
+ The proof matrix uses `primereact` 10.9.9. Its package metadata and supplied `LICENSE.md` identify
12
+ PrimeReact 10 as MIT-licensed software:
13
+
14
+ - package: <https://www.npmjs.com/package/primereact/v/10.9.9>
15
+ - source tag: <https://github.com/primefaces/primereact/tree/10.9.9>
16
+ - license: <https://github.com/primefaces/primereact/blob/10.9.9/LICENSE.md>
17
+
18
+ PrimeReact installs `react-transition-group` and its React type package as its own transitive
19
+ dependencies. They are not dependencies or bundled contents of this adapter. Applications should
20
+ review the notices and licenses shipped with their complete installed dependency graph.
21
+
22
+ PrimeIcons is not required by this adapter and is not bundled. An application that independently
23
+ uses PrimeIcons must install it and comply with the license supplied by that package.
24
+
25
+ PrimeReact 11 and PrimeUX themes are not part of this adapter. They have a separate package and
26
+ license boundary under `@cratis/components.primereact`.
27
+
28
+ This notice records package facts for transparency and is not legal advice.
@@ -0,0 +1,4 @@
1
+ import { type CratisPresentationUiLibrary } from '@cratis/components/renderer';
2
+ /** PrimeReact 10 implementation of the stable Cratis presentation profile. */
3
+ export declare const primeReact10UiLibrary: CratisPresentationUiLibrary;
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAoDA,OAAO,EAQH,KAAK,2BAA2B,EAEnC,MAAM,6BAA6B,CAAC;AAgxBrC,8EAA8E;AAC9E,eAAO,MAAM,qBAAqB,EAAE,2BAW9B,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,361 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ // Copyright (c) Cratis. All rights reserved.
3
+ // Licensed under the MIT license. See LICENSE file in the project root for full license information.
4
+ import { forwardRef, useCallback, useContext, useEffect, useRef, useState, } from 'react';
5
+ // PrimeReact 10's ESM files use directory imports that native Node rejects. Explicit legacy
6
+ // CommonJS entries preserve one peer-hosted runtime across Node SSR and application bundlers.
7
+ import { PrimeReactContext, PrimeReactProvider } from 'primereact/api/api.cjs.js';
8
+ import { Button as PrimeButton, } from 'primereact/button/button.cjs.js';
9
+ import { Card as PrimeCard } from 'primereact/card/card.cjs.js';
10
+ import { Checkbox as PrimeCheckbox, } from 'primereact/checkbox/checkbox.cjs.js';
11
+ import { InputSwitch as PrimeInputSwitch } from 'primereact/inputswitch/inputswitch.cjs.js';
12
+ import { InputText as PrimeInputText } from 'primereact/inputtext/inputtext.cjs.js';
13
+ import { InputTextarea as PrimeInputTextarea } from 'primereact/inputtextarea/inputtextarea.cjs.js';
14
+ import { ProgressBar as PrimeProgressBar } from 'primereact/progressbar/progressbar.cjs.js';
15
+ import { RadioButton as PrimeRadioButton, } from 'primereact/radiobutton/radiobutton.cjs.js';
16
+ import { CRATIS_PRESENTATION_ABI_VERSION, CRATIS_PRESENTATION_PROFILE, cratisPresentationSlotIds, definePresentationUiLibrary, } from '@cratis/components/renderer';
17
+ const capabilities = Object.freeze([
18
+ 'slot.render',
19
+ 'parts.passthrough',
20
+ 'ssr.staticRender',
21
+ ]);
22
+ const PrimeReact10AdapterProvider = ({ children, }) => {
23
+ const applicationConfiguration = useContext(PrimeReactContext);
24
+ if (applicationConfiguration !== undefined)
25
+ return children;
26
+ return _jsx(PrimeReactProvider, { children: children });
27
+ };
28
+ const classNames = (...values) => values.filter(Boolean).join(' ');
29
+ const toneForSeverity = {
30
+ secondary: 'neutral',
31
+ info: 'accent',
32
+ help: 'accent',
33
+ success: 'positive',
34
+ warn: 'caution',
35
+ danger: 'critical',
36
+ contrast: 'neutral',
37
+ };
38
+ const severityForTone = {
39
+ neutral: 'secondary',
40
+ accent: 'info',
41
+ positive: 'success',
42
+ caution: 'warn',
43
+ critical: 'danger',
44
+ };
45
+ const warnedDeprecatedProps = new Set();
46
+ const warnForDeprecatedProp = (prop) => {
47
+ const environment = globalThis.process?.env?.NODE_ENV;
48
+ if (environment === 'production' || warnedDeprecatedProps.has(prop))
49
+ return;
50
+ warnedDeprecatedProps.add(prop);
51
+ console.warn(`Button prop "${prop}" is deprecated and will be removed in 5.0. Use variant, tone, or shape instead.`);
52
+ };
53
+ const resolveButtonVariant = ({ variant, link, text, outlined, }) => {
54
+ if (variant)
55
+ return variant;
56
+ if (link)
57
+ return 'link';
58
+ if (text)
59
+ return 'ghost';
60
+ if (outlined)
61
+ return 'outline';
62
+ return 'solid';
63
+ };
64
+ const resolveButtonAppearance = (options) => {
65
+ const { tone, shape, text, link, outlined, rounded, severity } = options;
66
+ if (text !== undefined)
67
+ warnForDeprecatedProp('text');
68
+ if (link !== undefined)
69
+ warnForDeprecatedProp('link');
70
+ if (outlined !== undefined)
71
+ warnForDeprecatedProp('outlined');
72
+ if (rounded !== undefined)
73
+ warnForDeprecatedProp('rounded');
74
+ if (severity !== undefined)
75
+ warnForDeprecatedProp('severity');
76
+ return {
77
+ variant: resolveButtonVariant(options),
78
+ tone: tone ?? (severity ? toneForSeverity[severity] : undefined),
79
+ shape: shape ?? (rounded ? 'pill' : 'default'),
80
+ severity: tone ? severityForTone[tone] : severity,
81
+ };
82
+ };
83
+ const primeSeverity = (severity) => severity === 'warn' ? 'warning' : severity;
84
+ const renderIcon = (icon) => typeof icon === 'string' ? _jsx("i", { className: icon, "aria-hidden": 'true' }) : icon;
85
+ const PrimeButtonSlot = forwardRef(function PrimeButtonSlot({ label, icon, loading = false, tooltip, tooltipOptions: _tooltipOptions, pt, variant, tone, shape, text, link, outlined, rounded, severity, size = 'normal', disabled, type = 'button', title, className, style, children, ...nativeProps }, ref) {
86
+ const appearance = resolveButtonAppearance({
87
+ variant,
88
+ tone,
89
+ shape,
90
+ text,
91
+ link,
92
+ outlined,
93
+ rounded,
94
+ severity,
95
+ });
96
+ const effectiveDisabled = Boolean(disabled || loading);
97
+ const iconOnly = Boolean(icon) && label === undefined && !children;
98
+ const nativeButtonRef = useCallback((value) => {
99
+ // SAFETY: PrimeReact 10.9.9's Button runtime forwards its ref to the native
100
+ // button although its legacy declaration still describes a class component.
101
+ // Only that verified native node crosses the Cratis ref boundary.
102
+ const button = typeof HTMLButtonElement !== 'undefined' &&
103
+ value instanceof HTMLButtonElement
104
+ ? value
105
+ : null;
106
+ assignRef(ref, button);
107
+ }, [ref]);
108
+ // SAFETY: PrimeReact accepts either span or SVG attributes for its loading icon. The
109
+ // portable spinner part contains only attributes valid on both verified destinations.
110
+ const buttonPassThrough = {
111
+ loadingIcon: {
112
+ ...pt?.spinner,
113
+ className: classNames('cratis-primereact10-button__spinner', pt?.spinner?.className),
114
+ 'data-cratis-part': 'spinner',
115
+ 'aria-hidden': true,
116
+ },
117
+ };
118
+ return (_jsxs(PrimeButton, { ...pt?.root, ...nativeProps, ref: nativeButtonRef, type: type, title: title ?? tooltip, disabled: effectiveDisabled, loading: loading, text: appearance.variant === 'ghost', link: appearance.variant === 'link', outlined: appearance.variant === 'outline', severity: primeSeverity(appearance.severity), rounded: appearance.shape === 'pill', size: size === 'normal' ? undefined : size, className: classNames('cratis-primereact10-button', pt?.root?.className, className), style: { ...pt?.root?.style, ...style }, "aria-busy": loading || undefined, "data-cratis-part": 'root', "data-variant": appearance.variant, "data-tone": appearance.tone, "data-severity": appearance.severity, "data-shape": appearance.shape, "data-size": size, "data-disabled": effectiveDisabled || undefined, "data-loading": loading || undefined, "data-icon-only": iconOnly || undefined, pt: buttonPassThrough, children: [!loading && icon ? (_jsx("span", { ...pt?.icon, className: classNames('cratis-primereact10-button__icon', pt?.icon?.className), "data-cratis-part": 'icon', "aria-hidden": pt?.icon?.['aria-hidden'] ?? true, children: renderIcon(icon) })) : null, label !== undefined || children !== undefined ? (_jsxs("span", { ...pt?.label, className: classNames('cratis-primereact10-button__label', pt?.label?.className), "data-cratis-part": 'label', children: [label, children] })) : null] }));
119
+ });
120
+ const PrimeIconButtonSlot = forwardRef(function PrimeIconButtonSlot(props, ref) {
121
+ return (_jsx(PrimeButtonSlot, { ...props, ref: ref, shape: props.shape ?? 'pill', label: undefined }));
122
+ });
123
+ const PrimeTextInputSlot = forwardRef(function PrimeTextInputSlot({ type = 'text', invalid = false, onChange, pt, className, style, disabled, readOnly, size: nativeSize, value, 'aria-invalid': ariaInvalid, ...nativeProps }, ref) {
124
+ const { size: partSize, ...rootPart } = pt?.root ?? {};
125
+ const effectiveDisabled = disabled ?? rootPart.disabled;
126
+ const effectiveReadOnly = readOnly ?? rootPart.readOnly;
127
+ const effectiveAriaInvalid = ariaInvalid ?? rootPart['aria-invalid'] ?? (invalid || undefined);
128
+ const effectiveInvalid = invalid || effectiveAriaInvalid === true || effectiveAriaInvalid === 'true';
129
+ return (_jsx(PrimeInputText, { ...rootPart, ...nativeProps, ref: ref, type: type, value: value === undefined
130
+ ? undefined
131
+ : Array.isArray(value)
132
+ ? value.join(',')
133
+ : String(value), disabled: effectiveDisabled, readOnly: effectiveReadOnly, invalid: effectiveInvalid, "aria-invalid": effectiveAriaInvalid, size: nativeSize ?? partSize, onChange: (event) => {
134
+ rootPart.onChange?.(event);
135
+ onChange?.(event.currentTarget.value, {
136
+ source: 'user',
137
+ nativeEvent: event.nativeEvent,
138
+ });
139
+ }, className: classNames('cratis-primereact10-text-input', rootPart.className, className), style: { ...rootPart.style, ...style }, "data-cratis-part": 'root', "data-disabled": effectiveDisabled || undefined, "data-invalid": effectiveInvalid || undefined, "data-readonly": effectiveReadOnly || undefined }));
140
+ });
141
+ const PrimeTextAreaSlot = forwardRef(function PrimeTextAreaSlot({ invalid = false, onChange, pt, className, style, disabled, readOnly, value, 'aria-invalid': ariaInvalid, ...nativeProps }, ref) {
142
+ const effectiveDisabled = disabled ?? pt?.root?.disabled;
143
+ const effectiveReadOnly = readOnly ?? pt?.root?.readOnly;
144
+ const effectiveAriaInvalid = ariaInvalid ?? pt?.root?.['aria-invalid'] ?? (invalid || undefined);
145
+ const effectiveInvalid = invalid || effectiveAriaInvalid === true || effectiveAriaInvalid === 'true';
146
+ return (_jsx(PrimeInputTextarea, { ...pt?.root, ...nativeProps, ref: ref, value: value === undefined
147
+ ? undefined
148
+ : Array.isArray(value)
149
+ ? value.join(',')
150
+ : String(value), disabled: effectiveDisabled, readOnly: effectiveReadOnly, invalid: effectiveInvalid, "aria-invalid": effectiveAriaInvalid, onChange: (event) => {
151
+ pt?.root?.onChange?.(event);
152
+ onChange?.(event.currentTarget.value, {
153
+ source: 'user',
154
+ nativeEvent: event.nativeEvent,
155
+ });
156
+ }, className: classNames('cratis-primereact10-text-area', pt?.root?.className, className), style: { ...pt?.root?.style, ...style }, "data-cratis-part": 'root', "data-disabled": effectiveDisabled || undefined, "data-invalid": effectiveInvalid || undefined, "data-readonly": effectiveReadOnly || undefined }));
157
+ });
158
+ const assignRef = (ref, value) => {
159
+ if (typeof ref === 'function')
160
+ ref(value);
161
+ else if (ref)
162
+ ref.current = value;
163
+ };
164
+ const useNativeCheckedState = (checked, defaultChecked, forwardedRef, observeRadioGroup = false) => {
165
+ const inputRef = useRef(null);
166
+ const [selected, setSelected] = useState(Boolean(defaultChecked));
167
+ const controlled = checked !== undefined;
168
+ const ref = useCallback((input) => {
169
+ inputRef.current = input;
170
+ assignRef(forwardedRef, input);
171
+ }, [forwardedRef]);
172
+ useEffect(() => {
173
+ const input = inputRef.current;
174
+ if (!input || controlled)
175
+ return;
176
+ const synchronize = () => queueMicrotask(() => setSelected(input.checked));
177
+ input.form?.addEventListener('reset', synchronize);
178
+ if (observeRadioGroup)
179
+ input.ownerDocument.addEventListener('change', synchronize);
180
+ return () => {
181
+ input.form?.removeEventListener('reset', synchronize);
182
+ if (observeRadioGroup)
183
+ input.ownerDocument.removeEventListener('change', synchronize);
184
+ };
185
+ }, [controlled, observeRadioGroup]);
186
+ return {
187
+ ref,
188
+ selected: checked ?? selected,
189
+ synchronize: (next) => {
190
+ if (!controlled)
191
+ setSelected(next);
192
+ },
193
+ };
194
+ };
195
+ const stateAttributes = (disabled, invalid, readOnly, selected) => ({
196
+ 'data-disabled': disabled || undefined,
197
+ 'data-invalid': invalid || undefined,
198
+ 'data-readonly': readOnly || undefined,
199
+ 'data-selected': selected || undefined,
200
+ });
201
+ const PrimeChoice = ({ kind, props, forwardedRef, }) => {
202
+ const parts = props.pt;
203
+ const inputPart = parts?.input;
204
+ const checked = props.checked ?? inputPart?.checked;
205
+ const defaultChecked = props.defaultChecked ?? inputPart?.defaultChecked;
206
+ const disabled = props.disabled ?? inputPart?.disabled;
207
+ const readOnly = props.readOnly ?? inputPart?.readOnly;
208
+ const ariaInvalid = props['aria-invalid'] ??
209
+ inputPart?.['aria-invalid'] ??
210
+ (props.invalid || undefined);
211
+ const invalid = Boolean(props.invalid) || ariaInvalid === true || ariaInvalid === 'true';
212
+ const state = useNativeCheckedState(checked, defaultChecked, forwardedRef, kind === 'radio');
213
+ const attributes = stateAttributes(disabled, invalid, readOnly, state.selected);
214
+ const { label, readOnly: _readOnly, invalid: _invalid, onChange, className, style, pt: _parts, checked: _checked, defaultChecked: _defaultChecked, disabled: _disabled, onClick, id, 'aria-invalid': _ariaInvalid, ...nativeProps } = props;
215
+ const { onClick: partOnClick, onChange: partOnChange, className: inputClassName, style: inputStyle, checked: _partChecked, defaultChecked: _partDefaultChecked, disabled: _partDisabled, readOnly: _partReadOnly, id: partId, ...inputPartRest } = inputPart ?? {};
216
+ const radio = props;
217
+ const inputId = id ?? partId;
218
+ const input = {
219
+ ...inputPartRest,
220
+ ...nativeProps,
221
+ id: inputId,
222
+ name: kind === 'radio' ? radio.name : nativeProps.name,
223
+ value: kind === 'radio' ? radio.value : nativeProps.value,
224
+ defaultChecked: kind === 'radio' ? defaultChecked : undefined,
225
+ 'aria-invalid': ariaInvalid,
226
+ 'aria-readonly': kind === 'radio' ? undefined : readOnly || undefined,
227
+ role: kind === 'switch' ? 'switch' : nativeProps.role,
228
+ className: classNames('cratis-primereact10-choice__input', inputClassName),
229
+ style: inputStyle,
230
+ 'data-cratis-part': 'input',
231
+ ...attributes,
232
+ onClick: (event) => {
233
+ partOnClick?.(event);
234
+ onClick?.(event);
235
+ if (readOnly)
236
+ event.preventDefault();
237
+ },
238
+ };
239
+ const changed = (event) => {
240
+ const originalEvent = event.originalEvent;
241
+ if (originalEvent) {
242
+ // SAFETY: PrimeReact 10 boolean controls originate this callback from the native
243
+ // input change event; its public legacy type erases the specific ChangeEvent subtype.
244
+ partOnChange?.(originalEvent);
245
+ }
246
+ const nextChecked = Boolean(kind === 'switch' ? event.value : event.checked);
247
+ if (readOnly || (kind === 'radio' && !nextChecked))
248
+ return;
249
+ state.synchronize(nextChecked);
250
+ onChange?.(nextChecked, {
251
+ source: 'user',
252
+ nativeEvent: originalEvent?.nativeEvent,
253
+ });
254
+ };
255
+ const checkboxParts = parts;
256
+ const radioParts = parts;
257
+ const switchParts = parts;
258
+ // SAFETY: PrimeReact 10 renders the verified checkbox box and indicator destinations as
259
+ // native div/SVG elements. Portable part values contain only shared DOM attributes.
260
+ const checkboxPassThrough = {
261
+ input,
262
+ box: {
263
+ ...checkboxParts?.box,
264
+ 'data-cratis-part': 'box',
265
+ ...attributes,
266
+ },
267
+ };
268
+ const checkboxIndicator = (_jsx("span", { ...checkboxParts?.indicator, className: classNames('p-checkbox-icon', checkboxParts?.indicator?.className), "data-cratis-part": 'indicator', "aria-hidden": 'true', hidden: !state.selected, ...attributes, children: "\u2713" }));
269
+ // SAFETY: PrimeReact 10 renders the verified radio box and indicator destinations as native
270
+ // div elements. Portable part values contain only attributes valid on those destinations.
271
+ const radioPassThrough = {
272
+ input,
273
+ box: {
274
+ ...radioParts?.box,
275
+ 'data-cratis-part': 'box',
276
+ ...attributes,
277
+ },
278
+ icon: {
279
+ ...radioParts?.indicator,
280
+ 'data-cratis-part': 'indicator',
281
+ 'aria-hidden': true,
282
+ ...attributes,
283
+ },
284
+ };
285
+ return (_jsxs("label", { ...parts?.root, className: classNames('cratis-primereact10-choice', parts?.root?.className, className), style: { ...parts?.root?.style, ...style }, "data-cratis-part": 'root', ...attributes, children: [kind === 'checkbox' ? (_jsxs(_Fragment, { children: [_jsx(PrimeCheckbox, { checked: state.selected, disabled: disabled, readOnly: readOnly, required: nativeProps.required, invalid: invalid, name: nativeProps.name, value: nativeProps.value, inputId: inputId, inputRef: state.ref, "aria-label": nativeProps['aria-label'], "aria-labelledby": nativeProps['aria-labelledby'], onChange: changed, icon: checkboxIndicator, pt: checkboxPassThrough }), state.selected ? null : checkboxIndicator] })) : kind === 'radio' ? (_jsx(PrimeRadioButton, { checked: state.selected, disabled: disabled, readOnly: readOnly, required: nativeProps.required, invalid: invalid, name: radio.name, value: radio.value, inputId: inputId, inputRef: state.ref, "aria-label": nativeProps['aria-label'], "aria-labelledby": nativeProps['aria-labelledby'], onChange: changed, pt: radioPassThrough })) : (_jsx(PrimeInputSwitch, { checked: state.selected, disabled: disabled, name: nativeProps.name, inputId: inputId, inputRef: state.ref, "aria-label": nativeProps['aria-label'], "aria-labelledby": nativeProps['aria-labelledby'], onChange: changed, pt: {
286
+ root: {
287
+ role: 'presentation',
288
+ 'aria-checked': undefined,
289
+ 'aria-label': undefined,
290
+ 'aria-labelledby': undefined,
291
+ },
292
+ input,
293
+ slider: {
294
+ ...switchParts?.control,
295
+ 'data-cratis-part': 'control',
296
+ ...attributes,
297
+ children: (_jsx("span", { ...switchParts?.handle, "data-cratis-part": 'handle', "aria-hidden": 'true', ...attributes })),
298
+ },
299
+ } })), label === undefined ? null : (_jsx("span", { ...parts?.label, className: classNames('cratis-primereact10-choice__label', parts?.label?.className), "data-cratis-part": 'label', ...attributes, children: label }))] }));
300
+ };
301
+ const PrimeCheckboxSlot = forwardRef(function PrimeCheckboxSlot(props, ref) {
302
+ return _jsx(PrimeChoice, { kind: 'checkbox', props: props, forwardedRef: ref });
303
+ });
304
+ const PrimeRadioSlot = forwardRef(function PrimeRadioSlot(props, ref) {
305
+ return _jsx(PrimeChoice, { kind: 'radio', props: props, forwardedRef: ref });
306
+ });
307
+ const PrimeSwitchSlot = forwardRef(function PrimeSwitchSlot(props, ref) {
308
+ return _jsx(PrimeChoice, { kind: 'switch', props: props, forwardedRef: ref });
309
+ });
310
+ const PrimeProgressSlot = ({ value = 0, mode = 'determinate', showValue = true, 'aria-label': ariaLabel = 'Progress', 'aria-labelledby': ariaLabelledBy, className, }) => {
311
+ const boundedValue = Math.min(100, Math.max(0, value));
312
+ const determinate = mode === 'determinate';
313
+ const busy = !determinate || boundedValue < 100;
314
+ return (_jsx(PrimeProgressBar, { value: determinate ? boundedValue : null, mode: mode, showValue: showValue, className: classNames('cratis-primereact10-progress', className), "aria-label": ariaLabelledBy ? undefined : ariaLabel, "aria-labelledby": ariaLabelledBy, "data-cratis-part": 'root', "data-mode": mode, "data-busy": busy || undefined, "data-loading": !determinate || undefined, pt: {
315
+ root: determinate
316
+ ? undefined
317
+ : {
318
+ 'aria-valuemin': undefined,
319
+ 'aria-valuenow': undefined,
320
+ 'aria-valuemax': undefined,
321
+ },
322
+ value: { 'data-cratis-part': 'indicator' },
323
+ label: {
324
+ 'data-cratis-part': 'label',
325
+ 'aria-hidden': true,
326
+ },
327
+ } }));
328
+ };
329
+ const PrimeSurfaceSlot = forwardRef(function PrimeSurfaceSlot({ as: Element = 'div', pt, className, style, children, ...nativeProps }, ref) {
330
+ const surfaceRef = useCallback((element) => assignRef(ref, element), [ref]);
331
+ return (_jsx(Element, { ...pt?.root, ...nativeProps, ref: surfaceRef, className: classNames('cratis-primereact10-surface', pt?.root?.className, className), style: { ...pt?.root?.style, ...style }, "data-cratis-part": 'root', children: _jsx(PrimeCard, { children: children }) }));
332
+ });
333
+ const declaration = (render) => Object.freeze({
334
+ mode: 'presentation',
335
+ fidelity: 'native',
336
+ render,
337
+ });
338
+ const slots = Object.freeze({
339
+ 'common.button': declaration(PrimeButtonSlot),
340
+ 'common.iconButton': declaration(PrimeIconButtonSlot),
341
+ 'common.textInput': declaration(PrimeTextInputSlot),
342
+ 'common.textArea': declaration(PrimeTextAreaSlot),
343
+ 'common.checkbox': declaration(PrimeCheckboxSlot),
344
+ 'common.radio': declaration(PrimeRadioSlot),
345
+ 'common.switch': declaration(PrimeSwitchSlot),
346
+ 'common.progress': declaration(PrimeProgressSlot),
347
+ 'common.surface': declaration(PrimeSurfaceSlot),
348
+ });
349
+ /** PrimeReact 10 implementation of the stable Cratis presentation profile. */
350
+ export const primeReact10UiLibrary = definePresentationUiLibrary({
351
+ id: 'cratis-primereact10',
352
+ displayName: 'Cratis PrimeReact 10 renderer',
353
+ abi: CRATIS_PRESENTATION_ABI_VERSION,
354
+ level: 'primitive',
355
+ profile: CRATIS_PRESENTATION_PROFILE,
356
+ profileSlots: cratisPresentationSlotIds,
357
+ capabilities,
358
+ slots,
359
+ Provider: PrimeReact10AdapterProvider,
360
+ });
361
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,13 +1,119 @@
1
1
  {
2
2
  "name": "@cratis/components.primereact10",
3
- "version": "0.0.0",
4
- "description": "Reserved package record for the Cratis Components release workflow.",
3
+ "version": "4.0.0",
4
+ "description": "PrimeReact 10 presentation adapter for Cratis Components renderer ABI v1.",
5
+ "author": "Cratis",
5
6
  "license": "MIT",
6
7
  "type": "module",
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "https://github.com/Cratis/Components"
11
+ },
7
12
  "publishConfig": {
8
13
  "access": "public"
9
14
  },
15
+ "engines": {
16
+ "node": ">=23.0.0"
17
+ },
10
18
  "files": [
11
- "README.md"
12
- ]
19
+ "dist",
20
+ "README.md",
21
+ "CONFORMANCE.md",
22
+ "THIRD_PARTY_NOTICES.md",
23
+ "LICENSE"
24
+ ],
25
+ "main": "./dist/index.js",
26
+ "module": "./dist/index.js",
27
+ "types": "./dist/index.d.ts",
28
+ "exports": {
29
+ "./package.json": "./package.json",
30
+ ".": {
31
+ "types": "./dist/index.d.ts",
32
+ "import": "./dist/index.js"
33
+ }
34
+ },
35
+ "sideEffects": false,
36
+ "cratisUiAbi": 1,
37
+ "cratis": {
38
+ "kind": "ui-adapter",
39
+ "id": "cratis-primereact10",
40
+ "displayName": "Cratis PrimeReact 10 renderer",
41
+ "abi": "^1",
42
+ "level": "primitive",
43
+ "profile": "stable-presentation/v1",
44
+ "category": "primereact10",
45
+ "entry": "./dist/index.js",
46
+ "export": "primeReact10UiLibrary",
47
+ "slots": [
48
+ "common.button",
49
+ "common.iconButton",
50
+ "common.textInput",
51
+ "common.textArea",
52
+ "common.checkbox",
53
+ "common.radio",
54
+ "common.switch",
55
+ "common.progress",
56
+ "common.surface"
57
+ ],
58
+ "modes": {
59
+ "common.button": "presentation",
60
+ "common.iconButton": "presentation",
61
+ "common.textInput": "presentation",
62
+ "common.textArea": "presentation",
63
+ "common.checkbox": "presentation",
64
+ "common.radio": "presentation",
65
+ "common.switch": "presentation",
66
+ "common.progress": "presentation",
67
+ "common.surface": "presentation"
68
+ },
69
+ "capabilities": [
70
+ "slot.render",
71
+ "parts.passthrough",
72
+ "ssr.staticRender"
73
+ ],
74
+ "ssr": "safe",
75
+ "a11y": {
76
+ "axeProfile": "wcag22aa",
77
+ "evidence": "./CONFORMANCE.md"
78
+ },
79
+ "license": {
80
+ "spdx": "MIT",
81
+ "requiresKey": false
82
+ },
83
+ "upstream": {
84
+ "primereact": ">=10.9.9 <11",
85
+ "react": "^19.0.0",
86
+ "react-dom": "^19.0.0"
87
+ }
88
+ },
89
+ "scripts": {
90
+ "clean": "rm -rf dist",
91
+ "build": "node ../../node_modules/typescript/bin/tsc -p tsconfig.build.json",
92
+ "typecheck-specs": "yarn workspace @cratis/components prepare && yarn workspace @cratis/components.conformance build && node ../../node_modules/typescript/bin/tsc -p tsconfig.json",
93
+ "lint": "node ../../node_modules/eslint/bin/eslint.js . --quiet",
94
+ "test": "node ../../node_modules/vitest/vitest.mjs run --config vitest.config.ts",
95
+ "verify-upstream-shim": "node ./scripts/verify-upstream-shim.mjs",
96
+ "verify-isolation": "node ./scripts/verify-workspace-isolation.mjs",
97
+ "verify-package": "node ./scripts/verify-packed-package.mjs",
98
+ "ci": "yarn clean && yarn lint && yarn build && yarn verify-upstream-shim && yarn typecheck-specs && yarn test && yarn verify-isolation && yarn verify-package"
99
+ },
100
+ "peerDependencies": {
101
+ "@cratis/components": "4.0.0",
102
+ "primereact": ">=10.9.9 <11",
103
+ "react": "^19.0.0",
104
+ "react-dom": "^19.0.0"
105
+ },
106
+ "devDependencies": {
107
+ "@cratis/arc": "22.6.2",
108
+ "@cratis/arc.react": "22.6.2",
109
+ "@cratis/components": "4.0.0",
110
+ "@cratis/components.conformance": "4.0.0",
111
+ "@cratis/fundamentals": "^7.10.3",
112
+ "@types/react": "19.2.18",
113
+ "primereact": "10.9.9",
114
+ "react": "19.2.8",
115
+ "react-dom": "19.2.8",
116
+ "reflect-metadata": "0.2.2",
117
+ "tsyringe": "4.10.0"
118
+ }
13
119
  }