@cratis/components.primereact 0.0.0 → 4.1.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 +45 -0
- package/LICENSE +24 -0
- package/README.md +91 -2
- package/THIRD_PARTY_NOTICES.md +29 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +297 -0
- package/dist/index.js.map +1 -0
- package/package.json +119 -4
package/CONFORMANCE.md
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
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 11 adapter conformance
|
|
5
|
+
|
|
6
|
+
The adapter declares `stable-presentation/v1` at renderer ABI major 1. Repository evidence 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 11 styled DOM identities for all nine slots;
|
|
19
|
+
- explicit switch semantics and hidden visual indicators;
|
|
20
|
+
- deterministic SSR for all nine slots and mismatch-free representative Button hydration under an
|
|
21
|
+
application-owned outer provider; and
|
|
22
|
+
- package peers, archive boundaries, runtime loading, declaration hygiene, and strict Bundler and
|
|
23
|
+
NodeNext consumers with bounded upstream exceptions.
|
|
24
|
+
|
|
25
|
+
The setup gate separately proves `CRATIS-UI-1005` when the outer `PrimeReactProvider` context or
|
|
26
|
+
the non-secret license attestation is missing. Automated component tests assemble PrimeReact's
|
|
27
|
+
public configuration/theme contexts directly so the real license manager never runs; they contain
|
|
28
|
+
and validate no key.
|
|
29
|
+
|
|
30
|
+
The generic overlay absent/present check has no applicable slot in this nine-slot profile and
|
|
31
|
+
supplies no PrimeReact overlay evidence. Portable part names and typed `pt` destinations are
|
|
32
|
+
preserved, while PrimeReact may add wrappers or nest parts differently from the built-in renderer;
|
|
33
|
+
undocumented descendant order and sibling selectors are not portable contracts.
|
|
34
|
+
|
|
35
|
+
PrimeReact 11.1.0 currently publishes malformed generic declaration aliases. A compile-only,
|
|
36
|
+
non-emitted shim keeps this adapter's own strict build enabled; the packed adapter declaration is
|
|
37
|
+
vendor-free and the package verifier ensures no shim or vendor declaration leaks into it. Its
|
|
38
|
+
strict external fixtures also use the declaration-only React JSX bridge required by the exact Arc
|
|
39
|
+
React 22.5 upstream exception, while Core's stale-exception gate must still reproduce that issue.
|
|
40
|
+
Remove each bridge when its allowed upstream release fixes the corresponding declarations.
|
|
41
|
+
|
|
42
|
+
This is automated jsdom/axe and package evidence, not universal browser, visual, RTL, forced-colors,
|
|
43
|
+
reduced-motion, license-validity, or assistive-technology certification. The application remains
|
|
44
|
+
responsible for a valid PrimeUI license, provider/theme configuration, CSP, and any host-specific
|
|
45
|
+
SSR style collection. PrimeReact 10 is not included or exercised.
|
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 and PrimeUX are peer-installed commercial software and are not
|
|
24
|
+
covered by this MIT license. See THIRD_PARTY_NOTICES.md.
|
package/README.md
CHANGED
|
@@ -1,3 +1,92 @@
|
|
|
1
|
-
|
|
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
|
-
|
|
4
|
+
# `@cratis/components.primereact`
|
|
5
|
+
|
|
6
|
+
PrimeReact 11 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
|
+
`primeReactUiLibrary`. This certifies nine-slot primitive
|
|
10
|
+
adaptation, never full-catalog replacement. PrimeReact 10 is supported separately by
|
|
11
|
+
`@cratis/components.primereact10`.
|
|
12
|
+
|
|
13
|
+
> **Publication status:** The install example targets the owner-authorized 4.0.0 npm release. When
|
|
14
|
+
> reading this README from repository source before that release, verify availability with
|
|
15
|
+
> `npm view @cratis/components.primereact@4.0.0 version`; source contributors use the workspace in
|
|
16
|
+
> this checkout.
|
|
17
|
+
|
|
18
|
+
## Install
|
|
19
|
+
|
|
20
|
+
```sh
|
|
21
|
+
npm install @cratis/components.primereact@^4 @cratis/components@^4 \
|
|
22
|
+
@primereact/core@^11 @primereact/ui@^11 primereact@^11 \
|
|
23
|
+
@primeuix/themes@^3 react@^19 react-dom@^19
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Node-based build, test, and server-rendering environments require Node.js 23 or newer.
|
|
27
|
+
|
|
28
|
+
The adapter uses PrimeReact 11 styled components. It covers Button, IconButton, TextInput,
|
|
29
|
+
TextArea, Checkbox, Radio, Switch, ProgressBar, and Surface. The five atomic interaction slots are
|
|
30
|
+
not part of this profile.
|
|
31
|
+
|
|
32
|
+
## Application-owned provider and license
|
|
33
|
+
|
|
34
|
+
PrimeReact 11 requires a license key. The application owns that key and passes it directly to its
|
|
35
|
+
outer `PrimeReactProvider`; Components never receives, stores, copies, logs, serializes, or proxies
|
|
36
|
+
it. PrimeReact's runtime context deliberately omits the key, so the application also passes one
|
|
37
|
+
non-secret boolean attestation to `CratisComponentsProvider`.
|
|
38
|
+
|
|
39
|
+
```tsx
|
|
40
|
+
import { PrimeReactProvider } from '@primereact/core/config';
|
|
41
|
+
import Aura from '@primeuix/themes/aura';
|
|
42
|
+
import { CratisComponentsProvider } from '@cratis/components';
|
|
43
|
+
import { primeReactUiLibrary } from '@cratis/components.primereact';
|
|
44
|
+
|
|
45
|
+
const primeUiLicenseKey = import.meta.env.VITE_PRIMEUI_LICENSE_KEY;
|
|
46
|
+
|
|
47
|
+
export const Application = () => (
|
|
48
|
+
<PrimeReactProvider license={primeUiLicenseKey} theme={{ preset: Aura }}>
|
|
49
|
+
<CratisComponentsProvider
|
|
50
|
+
value={{ locale: 'en-US' }}
|
|
51
|
+
library={primeReactUiLibrary}
|
|
52
|
+
rendererSetup={{
|
|
53
|
+
'cratis-primereact.license-configured': Boolean(primeUiLicenseKey),
|
|
54
|
+
}}
|
|
55
|
+
>
|
|
56
|
+
<main>Application content</main>
|
|
57
|
+
</CratisComponentsProvider>
|
|
58
|
+
</PrimeReactProvider>
|
|
59
|
+
);
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
The adapter throws `CRATIS-UI-1005` synchronously when either the outer provider or the attestation
|
|
63
|
+
is absent. Setting the attestation to `true` is an application assertion that the key was actually
|
|
64
|
+
supplied; it is not a substitute for doing so. This prevents Components from creating a second
|
|
65
|
+
provider and fails before adapter content when setup was not attested. The adapter does not validate
|
|
66
|
+
the key and cannot guarantee that PrimeUI will accept it or omit its own license notice.
|
|
67
|
+
|
|
68
|
+
Obtain a key from [PrimeUI](https://primeui.store/primeui). For Vite, expose the application-owned
|
|
69
|
+
key as `VITE_PRIMEUI_LICENSE_KEY` only in the client build that mounts PrimeReact. In CI or a
|
|
70
|
+
publishing pipeline, map a protected `PRIMEUI_LICENSE_KEY` secret into that build variable without
|
|
71
|
+
echoing it or writing it to package artifacts. The adapter package itself reads no license
|
|
72
|
+
environment variable and includes no key.
|
|
73
|
+
|
|
74
|
+
## Styling and SSR
|
|
75
|
+
|
|
76
|
+
The application chooses the PrimeReact theme on its outer provider. The package's static metadata
|
|
77
|
+
uses `VITE_PRIMEUI_LICENSE_KEY` only as documentation/discovery metadata; no runtime lookup occurs.
|
|
78
|
+
All nine slots produce deterministic SSR output, and the representative Button fixture hydrates
|
|
79
|
+
without a mismatch. The host remains responsible for PrimeReact's provider, theme, CSP, and style
|
|
80
|
+
collection/injection requirements.
|
|
81
|
+
|
|
82
|
+
## Peer policy
|
|
83
|
+
|
|
84
|
+
PrimeReact packages are bounded to `>=11 <12`, PrimeUX themes to `>=3 <4`, and React/ReactDOM to
|
|
85
|
+
React 19. Vendor packages are peers and are never bundled. Exact repository proof uses 11.1.0 and
|
|
86
|
+
`@primeuix/themes` 3.0.0.
|
|
87
|
+
|
|
88
|
+
The adapter requires `@cratis/components >=4 <5`. This range is intentionally bounded to the
|
|
89
|
+
Components major whose renderer ABI and stable presentation profile it implements.
|
|
90
|
+
|
|
91
|
+
See [CONFORMANCE.md](./CONFORMANCE.md) for bounded evidence and
|
|
92
|
+
[THIRD_PARTY_NOTICES.md](./THIRD_PARTY_NOTICES.md) for upstream licensing.
|
|
@@ -0,0 +1,29 @@
|
|
|
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 PrimeUI software. It does not bundle or
|
|
7
|
+
redistribute the vendor packages listed below.
|
|
8
|
+
|
|
9
|
+
## PrimeReact 11 and PrimeUX themes
|
|
10
|
+
|
|
11
|
+
The proof matrix uses these peer packages:
|
|
12
|
+
|
|
13
|
+
- `@primereact/core` 11.1.0
|
|
14
|
+
- `@primereact/ui` 11.1.0
|
|
15
|
+
- `primereact` 11.1.0
|
|
16
|
+
- `@primeuix/themes` 3.0.0
|
|
17
|
+
|
|
18
|
+
Their package metadata states `SEE LICENSE IN LICENSE.md`. The supplied license describes PrimeUI
|
|
19
|
+
as commercial software, requires a valid application-owned key, and provides separate Community
|
|
20
|
+
and Commercial terms. Consult the terms shipped with the exact installed versions and the official
|
|
21
|
+
pages:
|
|
22
|
+
|
|
23
|
+
- Community terms: <https://primeui.dev/licenses/community>
|
|
24
|
+
- Commercial terms: <https://primeui.dev/licenses/commercial>
|
|
25
|
+
- Key purchase/account page: <https://primeui.store/primeui>
|
|
26
|
+
|
|
27
|
+
PrimeReact 10 is not part of this adapter. The application is responsible for license eligibility,
|
|
28
|
+
key configuration, renewals, and determining whether its distribution model needs additional
|
|
29
|
+
permission. This notice records package facts for transparency and is not legal advice.
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type CratisPresentationUiLibrary } from '@cratis/components/renderer';
|
|
2
|
+
declare module '@cratis/components/renderer' {
|
|
3
|
+
interface CratisRendererSetupExtensions {
|
|
4
|
+
/** Application attests that its outer PrimeReactProvider received a license key. */
|
|
5
|
+
'cratis-primereact.license-configured': boolean;
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
/** PrimeReact 11 implementation of the stable Cratis presentation profile. */
|
|
9
|
+
export declare const primeReactUiLibrary: CratisPresentationUiLibrary;
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAwCA,OAAO,EAUH,KAAK,2BAA2B,EAEnC,MAAM,6BAA6B,CAAC;AAErC,OAAO,QAAQ,6BAA6B,CAAC;IACzC,UAAU,6BAA6B;QACnC,oFAAoF;QACpF,sCAAsC,EAAE,OAAO,CAAC;KACnD;CACJ;AAiuBD,8EAA8E;AAC9E,eAAO,MAAM,mBAAmB,EAAE,2BAW5B,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,297 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } 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
|
+
import { PrimeReactContext } from '@primereact/core/config';
|
|
6
|
+
import { Button as PrimeButton } from '@primereact/ui/button';
|
|
7
|
+
import { Card as PrimeCard } from '@primereact/ui/card';
|
|
8
|
+
import { Checkbox as PrimeCheckbox } from '@primereact/ui/checkbox';
|
|
9
|
+
import { InputText as PrimeInputText } from '@primereact/ui/inputtext';
|
|
10
|
+
import { ProgressBar as PrimeProgressBar } from '@primereact/ui/progressbar';
|
|
11
|
+
import { RadioButton as PrimeRadioButton } from '@primereact/ui/radiobutton';
|
|
12
|
+
import { Textarea as PrimeTextarea } from '@primereact/ui/textarea';
|
|
13
|
+
import { ToggleSwitch as PrimeToggleSwitch } from '@primereact/ui/toggleswitch';
|
|
14
|
+
import { CRATIS_PRESENTATION_ABI_VERSION, CRATIS_PRESENTATION_PROFILE, cratisPresentationSlotIds, definePresentationUiLibrary, unstable_AdapterError, unstable_adapterErrorCodes, } from '@cratis/components/renderer';
|
|
15
|
+
const capabilities = Object.freeze([
|
|
16
|
+
'slot.render',
|
|
17
|
+
'parts.passthrough',
|
|
18
|
+
'ssr.staticRender',
|
|
19
|
+
]);
|
|
20
|
+
const licenseConfiguredAttestation = 'cratis-primereact.license-configured';
|
|
21
|
+
const PrimeReactAdapterProvider = ({ children, setup, }) => {
|
|
22
|
+
const primeReact = useContext(PrimeReactContext);
|
|
23
|
+
if (!primeReact || setup[licenseConfiguredAttestation] !== true) {
|
|
24
|
+
throw new unstable_AdapterError({
|
|
25
|
+
code: unstable_adapterErrorCodes.missingLicenseKey,
|
|
26
|
+
adapterId: 'cratis-primereact',
|
|
27
|
+
message: 'PrimeReact 11 requires an application-owned outer PrimeReactProvider and a non-secret license-configuration attestation.',
|
|
28
|
+
remedy: "Mount PrimeReactProvider outside CratisComponentsProvider with its license prop, then set rendererSetup['cratis-primereact.license-configured'] to true only when the application supplied the key.",
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
return children;
|
|
32
|
+
};
|
|
33
|
+
const classNames = (...values) => values.filter(Boolean).join(' ');
|
|
34
|
+
const toneForSeverity = {
|
|
35
|
+
secondary: 'neutral',
|
|
36
|
+
info: 'accent',
|
|
37
|
+
help: 'accent',
|
|
38
|
+
success: 'positive',
|
|
39
|
+
warn: 'caution',
|
|
40
|
+
danger: 'critical',
|
|
41
|
+
contrast: 'neutral',
|
|
42
|
+
};
|
|
43
|
+
const severityForTone = {
|
|
44
|
+
neutral: 'secondary',
|
|
45
|
+
accent: 'info',
|
|
46
|
+
positive: 'success',
|
|
47
|
+
caution: 'warn',
|
|
48
|
+
critical: 'danger',
|
|
49
|
+
};
|
|
50
|
+
const warnedDeprecatedProps = new Set();
|
|
51
|
+
const warnForDeprecatedProp = (prop) => {
|
|
52
|
+
const environment = globalThis.process?.env?.NODE_ENV;
|
|
53
|
+
if (environment === 'production' || warnedDeprecatedProps.has(prop))
|
|
54
|
+
return;
|
|
55
|
+
warnedDeprecatedProps.add(prop);
|
|
56
|
+
console.warn(`Button prop "${prop}" is deprecated and will be removed in 5.0. Use variant, tone, or shape instead.`);
|
|
57
|
+
};
|
|
58
|
+
const resolveButtonVariant = ({ variant, link, text, outlined, }) => {
|
|
59
|
+
if (variant)
|
|
60
|
+
return variant;
|
|
61
|
+
if (link)
|
|
62
|
+
return 'link';
|
|
63
|
+
if (text)
|
|
64
|
+
return 'ghost';
|
|
65
|
+
if (outlined)
|
|
66
|
+
return 'outline';
|
|
67
|
+
return 'solid';
|
|
68
|
+
};
|
|
69
|
+
const resolveButtonAppearance = (options) => {
|
|
70
|
+
const { tone, shape, text, link, outlined, rounded, severity } = options;
|
|
71
|
+
if (text !== undefined)
|
|
72
|
+
warnForDeprecatedProp('text');
|
|
73
|
+
if (link !== undefined)
|
|
74
|
+
warnForDeprecatedProp('link');
|
|
75
|
+
if (outlined !== undefined)
|
|
76
|
+
warnForDeprecatedProp('outlined');
|
|
77
|
+
if (rounded !== undefined)
|
|
78
|
+
warnForDeprecatedProp('rounded');
|
|
79
|
+
if (severity !== undefined)
|
|
80
|
+
warnForDeprecatedProp('severity');
|
|
81
|
+
return {
|
|
82
|
+
variant: resolveButtonVariant(options),
|
|
83
|
+
tone: tone ?? (severity ? toneForSeverity[severity] : undefined),
|
|
84
|
+
shape: shape ?? (rounded ? 'pill' : 'default'),
|
|
85
|
+
severity: tone ? severityForTone[tone] : severity,
|
|
86
|
+
};
|
|
87
|
+
};
|
|
88
|
+
const primeVariant = (variant) => {
|
|
89
|
+
switch (variant) {
|
|
90
|
+
case 'outline':
|
|
91
|
+
return 'outlined';
|
|
92
|
+
case 'ghost':
|
|
93
|
+
return 'text';
|
|
94
|
+
case 'link':
|
|
95
|
+
return 'link';
|
|
96
|
+
case 'solid':
|
|
97
|
+
return undefined;
|
|
98
|
+
default:
|
|
99
|
+
throw new Error(`Unsupported Button variant '${String(variant)}'.`);
|
|
100
|
+
}
|
|
101
|
+
};
|
|
102
|
+
const renderIcon = (icon) => typeof icon === 'string' ? _jsx("i", { className: icon, "aria-hidden": 'true' }) : icon;
|
|
103
|
+
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) {
|
|
104
|
+
const appearance = resolveButtonAppearance({
|
|
105
|
+
variant,
|
|
106
|
+
tone,
|
|
107
|
+
shape,
|
|
108
|
+
text,
|
|
109
|
+
link,
|
|
110
|
+
outlined,
|
|
111
|
+
rounded,
|
|
112
|
+
severity,
|
|
113
|
+
});
|
|
114
|
+
const effectiveDisabled = Boolean(disabled || loading);
|
|
115
|
+
const iconOnly = Boolean(icon) && label === undefined && !children;
|
|
116
|
+
return (_jsxs(PrimeButton, { ...pt?.root, ...nativeProps, as: 'button', ref: ref, type: type, title: title ?? tooltip, disabled: effectiveDisabled, className: classNames('cratis-primereact-button', pt?.root?.className, className), style: { ...pt?.root?.style, ...style }, variant: primeVariant(appearance.variant), severity: appearance.severity, rounded: appearance.shape === 'pill', size: size, iconOnly: iconOnly, "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, children: [loading ? (_jsx("span", { ...pt?.spinner, className: classNames('cratis-primereact-button__spinner', pt?.spinner?.className), "data-cratis-part": 'spinner', "aria-hidden": 'true' })) : icon ? (_jsx("span", { ...pt?.icon, className: classNames('cratis-primereact-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-primereact-button__label', pt?.label?.className), "data-cratis-part": 'label', children: [label, children] })) : null] }));
|
|
117
|
+
});
|
|
118
|
+
const PrimeIconButtonSlot = forwardRef(function PrimeIconButtonSlot(props, ref) {
|
|
119
|
+
return (_jsx(PrimeButtonSlot, { ...props, ref: ref, shape: props.shape ?? 'pill', label: undefined }));
|
|
120
|
+
});
|
|
121
|
+
const PrimeTextInputSlot = forwardRef(function PrimeTextInputSlot({ type = 'text', invalid = false, onChange, pt, className, style, disabled, readOnly, size: nativeSize, 'aria-invalid': ariaInvalid, ...nativeProps }, ref) {
|
|
122
|
+
const { size: partSize, ...rootPart } = pt?.root ?? {};
|
|
123
|
+
const effectiveDisabled = disabled ?? rootPart.disabled;
|
|
124
|
+
const effectiveReadOnly = readOnly ?? rootPart.readOnly;
|
|
125
|
+
const effectiveAriaInvalid = ariaInvalid ?? rootPart['aria-invalid'] ?? (invalid || undefined);
|
|
126
|
+
const effectiveInvalid = invalid || effectiveAriaInvalid === true || effectiveAriaInvalid === 'true';
|
|
127
|
+
return (_jsx(PrimeInputText, { ...rootPart, ...nativeProps, as: 'input', ref: ref, type: type, disabled: effectiveDisabled, readOnly: effectiveReadOnly, invalid: effectiveInvalid, "aria-invalid": effectiveAriaInvalid, pt: { root: { size: nativeSize ?? partSize } }, onChange: (event) => {
|
|
128
|
+
rootPart.onChange?.(event);
|
|
129
|
+
onChange?.(event.currentTarget.value, {
|
|
130
|
+
source: 'user',
|
|
131
|
+
nativeEvent: event.nativeEvent,
|
|
132
|
+
});
|
|
133
|
+
}, className: classNames('cratis-primereact-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 }));
|
|
134
|
+
});
|
|
135
|
+
const PrimeTextAreaSlot = forwardRef(function PrimeTextAreaSlot({ invalid = false, onChange, pt, className, style, disabled, readOnly, 'aria-invalid': ariaInvalid, ...nativeProps }, ref) {
|
|
136
|
+
const effectiveDisabled = disabled ?? pt?.root?.disabled;
|
|
137
|
+
const effectiveReadOnly = readOnly ?? pt?.root?.readOnly;
|
|
138
|
+
const effectiveAriaInvalid = ariaInvalid ?? pt?.root?.['aria-invalid'] ?? (invalid || undefined);
|
|
139
|
+
const effectiveInvalid = invalid || effectiveAriaInvalid === true || effectiveAriaInvalid === 'true';
|
|
140
|
+
return (_jsx(PrimeTextarea, { ...pt?.root, ...nativeProps, as: 'textarea', ref: ref, disabled: effectiveDisabled, readOnly: effectiveReadOnly, invalid: effectiveInvalid, "aria-invalid": effectiveAriaInvalid, onChange: (event) => {
|
|
141
|
+
pt?.root?.onChange?.(event);
|
|
142
|
+
onChange?.(event.currentTarget.value, {
|
|
143
|
+
source: 'user',
|
|
144
|
+
nativeEvent: event.nativeEvent,
|
|
145
|
+
});
|
|
146
|
+
}, className: classNames('cratis-primereact-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 }));
|
|
147
|
+
});
|
|
148
|
+
const assignRef = (ref, value) => {
|
|
149
|
+
if (typeof ref === 'function')
|
|
150
|
+
ref(value);
|
|
151
|
+
else if (ref)
|
|
152
|
+
ref.current = value;
|
|
153
|
+
};
|
|
154
|
+
const useNativeCheckedState = (checked, defaultChecked, forwardedRef, observeRadioGroup = false) => {
|
|
155
|
+
const inputRef = useRef(null);
|
|
156
|
+
const [selected, setSelected] = useState(Boolean(defaultChecked));
|
|
157
|
+
const controlled = checked !== undefined;
|
|
158
|
+
const ref = useCallback((input) => {
|
|
159
|
+
inputRef.current = input;
|
|
160
|
+
assignRef(forwardedRef, input);
|
|
161
|
+
}, [forwardedRef]);
|
|
162
|
+
useEffect(() => {
|
|
163
|
+
const input = inputRef.current;
|
|
164
|
+
if (!input || controlled)
|
|
165
|
+
return;
|
|
166
|
+
const synchronize = () => queueMicrotask(() => setSelected(input.checked));
|
|
167
|
+
input.form?.addEventListener('reset', synchronize);
|
|
168
|
+
if (observeRadioGroup)
|
|
169
|
+
input.ownerDocument.addEventListener('change', synchronize);
|
|
170
|
+
return () => {
|
|
171
|
+
input.form?.removeEventListener('reset', synchronize);
|
|
172
|
+
if (observeRadioGroup)
|
|
173
|
+
input.ownerDocument.removeEventListener('change', synchronize);
|
|
174
|
+
};
|
|
175
|
+
}, [controlled, observeRadioGroup]);
|
|
176
|
+
return {
|
|
177
|
+
ref,
|
|
178
|
+
selected: checked ?? selected,
|
|
179
|
+
synchronize: (next) => {
|
|
180
|
+
if (!controlled)
|
|
181
|
+
setSelected(next);
|
|
182
|
+
},
|
|
183
|
+
};
|
|
184
|
+
};
|
|
185
|
+
const stateAttributes = (disabled, invalid, readOnly, selected) => ({
|
|
186
|
+
'data-disabled': disabled || undefined,
|
|
187
|
+
'data-invalid': invalid || undefined,
|
|
188
|
+
'data-readonly': readOnly || undefined,
|
|
189
|
+
'data-selected': selected || undefined,
|
|
190
|
+
});
|
|
191
|
+
const PrimeChoice = ({ kind, props, forwardedRef, }) => {
|
|
192
|
+
const parts = props.pt;
|
|
193
|
+
const inputPart = parts?.input;
|
|
194
|
+
const checked = props.checked ?? inputPart?.checked;
|
|
195
|
+
const defaultChecked = props.defaultChecked ?? inputPart?.defaultChecked;
|
|
196
|
+
const disabled = props.disabled ?? inputPart?.disabled;
|
|
197
|
+
const readOnly = props.readOnly ?? inputPart?.readOnly;
|
|
198
|
+
const ariaInvalid = props['aria-invalid'] ??
|
|
199
|
+
inputPart?.['aria-invalid'] ??
|
|
200
|
+
(props.invalid || undefined);
|
|
201
|
+
const invalid = Boolean(props.invalid) || ariaInvalid === true || ariaInvalid === 'true';
|
|
202
|
+
const state = useNativeCheckedState(checked, defaultChecked, forwardedRef, kind === 'radio');
|
|
203
|
+
const attributes = stateAttributes(disabled, invalid, readOnly, state.selected);
|
|
204
|
+
const { label, readOnly: _readOnly, invalid: _invalid, onChange, className, style, pt: _parts, checked: _checked, defaultChecked: _defaultChecked, disabled: _disabled, onClick, 'aria-invalid': _ariaInvalid, ...nativeProps } = props;
|
|
205
|
+
const { onClick: partOnClick, onChange: _partOnChange, className: inputClassName, style: inputStyle, ...inputPartRest } = inputPart ?? {};
|
|
206
|
+
const radio = props;
|
|
207
|
+
const input = {
|
|
208
|
+
...inputPartRest,
|
|
209
|
+
...nativeProps,
|
|
210
|
+
ref: state.ref,
|
|
211
|
+
name: kind === 'radio' ? radio.name : nativeProps.name,
|
|
212
|
+
value: kind === 'radio' ? radio.value : nativeProps.value,
|
|
213
|
+
'aria-invalid': ariaInvalid,
|
|
214
|
+
'aria-readonly': kind === 'radio' ? undefined : readOnly || undefined,
|
|
215
|
+
role: kind === 'switch' ? 'switch' : nativeProps.role,
|
|
216
|
+
className: classNames('cratis-primereact-choice__input', inputClassName),
|
|
217
|
+
style: inputStyle,
|
|
218
|
+
'data-cratis-part': 'input',
|
|
219
|
+
...attributes,
|
|
220
|
+
onClick: (event) => {
|
|
221
|
+
partOnClick?.(event);
|
|
222
|
+
onClick?.(event);
|
|
223
|
+
if (readOnly)
|
|
224
|
+
event.preventDefault();
|
|
225
|
+
},
|
|
226
|
+
};
|
|
227
|
+
const changed = (event) => {
|
|
228
|
+
if (readOnly || (kind === 'radio' && !event.checked))
|
|
229
|
+
return;
|
|
230
|
+
state.synchronize(event.checked);
|
|
231
|
+
onChange?.(event.checked, {
|
|
232
|
+
source: 'user',
|
|
233
|
+
nativeEvent: event.originalEvent.nativeEvent,
|
|
234
|
+
});
|
|
235
|
+
};
|
|
236
|
+
const root = (_jsxs("label", { ...parts?.root, className: classNames('cratis-primereact-choice', parts?.root?.className, className), style: { ...parts?.root?.style, ...style }, "data-cratis-part": 'root', ...attributes, children: [kind === 'checkbox' ? (_jsx(PrimeCheckbox.Root, { checked: state.selected, disabled: disabled, readOnly: readOnly, required: nativeProps.required, invalid: invalid, name: nativeProps.name, value: nativeProps.value, ariaLabel: nativeProps['aria-label'], ariaLabelledby: nativeProps['aria-labelledby'], onCheckedChange: changed, pt: { input }, children: _jsx(PrimeCheckbox.Box, { ...parts?.box, as: 'span', "data-cratis-part": 'box', ...attributes, children: _jsx(PrimeCheckbox.Indicator, { ...parts?.indicator, "data-cratis-part": 'indicator', "aria-hidden": 'true', ...attributes, children: "\u2713" }) }) })) : kind === 'radio' ? (_jsx(PrimeRadioButton.Root, { checked: state.selected, disabled: disabled, readOnly: readOnly, required: nativeProps.required, invalid: invalid, name: radio.name, value: radio.value, ariaLabel: nativeProps['aria-label'], ariaLabelledby: nativeProps['aria-labelledby'], onCheckedChange: changed, pt: { input }, children: _jsx(PrimeRadioButton.Box, { ...parts?.box, as: 'span', "data-cratis-part": 'box', ...attributes, children: _jsx(PrimeRadioButton.Indicator, { ...parts?.indicator, as: 'span', "data-cratis-part": 'indicator', "aria-hidden": 'true', ...attributes }) }) })) : (_jsx(PrimeToggleSwitch.Root, { checked: state.selected, disabled: disabled, required: nativeProps.required, invalid: invalid, ariaLabel: nativeProps['aria-label'], ariaLabelledby: nativeProps['aria-labelledby'], onCheckedChange: changed, pt: { input }, children: _jsx(PrimeToggleSwitch.Control, { ...parts?.control, as: 'span', "data-cratis-part": 'control', ...attributes, children: _jsx(PrimeToggleSwitch.Handle, { ...parts?.handle, as: 'span', "data-cratis-part": 'handle', "aria-hidden": 'true', ...attributes }) }) })), label === undefined ? null : (_jsx("span", { ...parts?.label, className: classNames('cratis-primereact-choice__label', parts?.label?.className), "data-cratis-part": 'label', ...attributes, children: label }))] }));
|
|
237
|
+
return root;
|
|
238
|
+
};
|
|
239
|
+
const PrimeCheckboxSlot = forwardRef(function PrimeCheckboxSlot(props, ref) {
|
|
240
|
+
return _jsx(PrimeChoice, { kind: 'checkbox', props: props, forwardedRef: ref });
|
|
241
|
+
});
|
|
242
|
+
const PrimeRadioSlot = forwardRef(function PrimeRadioSlot(props, ref) {
|
|
243
|
+
return _jsx(PrimeChoice, { kind: 'radio', props: props, forwardedRef: ref });
|
|
244
|
+
});
|
|
245
|
+
const PrimeSwitchSlot = forwardRef(function PrimeSwitchSlot(props, ref) {
|
|
246
|
+
return _jsx(PrimeChoice, { kind: 'switch', props: props, forwardedRef: ref });
|
|
247
|
+
});
|
|
248
|
+
const PrimeProgressSlot = ({ value = 0, mode = 'determinate', showValue = true, 'aria-label': ariaLabel = 'Progress', 'aria-labelledby': ariaLabelledBy, className, }) => {
|
|
249
|
+
const boundedValue = Math.min(100, Math.max(0, value));
|
|
250
|
+
const determinate = mode === 'determinate';
|
|
251
|
+
const busy = !determinate || boundedValue < 100;
|
|
252
|
+
return (_jsx("div", { className: classNames('cratis-primereact-progress', className), "data-cratis-part": 'root', "data-mode": mode, "data-busy": busy || undefined, "data-loading": !determinate || undefined, children: _jsxs(PrimeProgressBar.Root, { as: 'div', value: determinate ? boundedValue : undefined, mode: mode, pt: {
|
|
253
|
+
root: {
|
|
254
|
+
'aria-label': ariaLabelledBy ? undefined : ariaLabel,
|
|
255
|
+
'aria-labelledby': ariaLabelledBy,
|
|
256
|
+
...(determinate
|
|
257
|
+
? {}
|
|
258
|
+
: {
|
|
259
|
+
'aria-valuemin': undefined,
|
|
260
|
+
'aria-valuenow': undefined,
|
|
261
|
+
'aria-valuemax': undefined,
|
|
262
|
+
}),
|
|
263
|
+
},
|
|
264
|
+
}, children: [_jsx(PrimeProgressBar.Track, { "data-cratis-part": 'indicator', children: _jsx(PrimeProgressBar.Indicator, {}) }), determinate && showValue ? (_jsxs(PrimeProgressBar.Label, { "data-cratis-part": 'label', children: [boundedValue, "%"] })) : null] }) }));
|
|
265
|
+
};
|
|
266
|
+
const PrimeSurfaceSlot = forwardRef(function PrimeSurfaceSlot({ as: Element = 'div', pt, className, style, ...nativeProps }, ref) {
|
|
267
|
+
return (_jsx(PrimeCard.Root, { ...pt?.root, ...nativeProps, as: Element, ref: ref, className: classNames('cratis-primereact-surface', pt?.root?.className, className), style: { ...pt?.root?.style, ...style }, "data-cratis-part": 'root' }));
|
|
268
|
+
});
|
|
269
|
+
const declaration = (render) => Object.freeze({
|
|
270
|
+
mode: 'presentation',
|
|
271
|
+
fidelity: 'native',
|
|
272
|
+
render,
|
|
273
|
+
});
|
|
274
|
+
const slots = Object.freeze({
|
|
275
|
+
'common.button': declaration(PrimeButtonSlot),
|
|
276
|
+
'common.iconButton': declaration(PrimeIconButtonSlot),
|
|
277
|
+
'common.textInput': declaration(PrimeTextInputSlot),
|
|
278
|
+
'common.textArea': declaration(PrimeTextAreaSlot),
|
|
279
|
+
'common.checkbox': declaration(PrimeCheckboxSlot),
|
|
280
|
+
'common.radio': declaration(PrimeRadioSlot),
|
|
281
|
+
'common.switch': declaration(PrimeSwitchSlot),
|
|
282
|
+
'common.progress': declaration(PrimeProgressSlot),
|
|
283
|
+
'common.surface': declaration(PrimeSurfaceSlot),
|
|
284
|
+
});
|
|
285
|
+
/** PrimeReact 11 implementation of the stable Cratis presentation profile. */
|
|
286
|
+
export const primeReactUiLibrary = definePresentationUiLibrary({
|
|
287
|
+
id: 'cratis-primereact',
|
|
288
|
+
displayName: 'Cratis PrimeReact renderer',
|
|
289
|
+
abi: CRATIS_PRESENTATION_ABI_VERSION,
|
|
290
|
+
level: 'primitive',
|
|
291
|
+
profile: CRATIS_PRESENTATION_PROFILE,
|
|
292
|
+
profileSlots: cratisPresentationSlotIds,
|
|
293
|
+
capabilities,
|
|
294
|
+
slots,
|
|
295
|
+
Provider: PrimeReactAdapterProvider,
|
|
296
|
+
});
|
|
297
|
+
//# 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,128 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cratis/components.primereact",
|
|
3
|
-
"version": "
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "4.1.0",
|
|
4
|
+
"description": "PrimeReact 11 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
|
-
"
|
|
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-primereact",
|
|
40
|
+
"displayName": "Cratis PrimeReact renderer",
|
|
41
|
+
"abi": "^1",
|
|
42
|
+
"level": "primitive",
|
|
43
|
+
"profile": "stable-presentation/v1",
|
|
44
|
+
"category": "primereact",
|
|
45
|
+
"entry": "./dist/index.js",
|
|
46
|
+
"export": "primeReactUiLibrary",
|
|
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": "LicenseRef-PrimeUI",
|
|
81
|
+
"requiresKey": true,
|
|
82
|
+
"keyEnv": "VITE_PRIMEUI_LICENSE_KEY",
|
|
83
|
+
"url": "https://primeui.store/primeui"
|
|
84
|
+
},
|
|
85
|
+
"upstream": {
|
|
86
|
+
"@primereact/core": ">=11 <12",
|
|
87
|
+
"@primereact/ui": ">=11 <12",
|
|
88
|
+
"@primeuix/themes": ">=3 <4",
|
|
89
|
+
"primereact": ">=11 <12",
|
|
90
|
+
"react": "^19.0.0",
|
|
91
|
+
"react-dom": "^19.0.0"
|
|
92
|
+
}
|
|
93
|
+
},
|
|
94
|
+
"scripts": {
|
|
95
|
+
"clean": "rm -rf dist",
|
|
96
|
+
"build": "node ../../node_modules/typescript/bin/tsc -p tsconfig.build.json",
|
|
97
|
+
"typecheck-specs": "yarn workspace @cratis/components prepare && yarn workspace @cratis/components.conformance build && node ../../node_modules/typescript/bin/tsc -p tsconfig.json",
|
|
98
|
+
"lint": "node ../../node_modules/eslint/bin/eslint.js . --quiet",
|
|
99
|
+
"test": "node ../../node_modules/vitest/vitest.mjs run --config vitest.config.ts",
|
|
100
|
+
"verify-package": "node ./scripts/verify-packed-package.mjs",
|
|
101
|
+
"ci": "yarn clean && yarn lint && yarn build && yarn typecheck-specs && yarn test && yarn verify-package"
|
|
102
|
+
},
|
|
103
|
+
"peerDependencies": {
|
|
104
|
+
"@cratis/components": "4.1.0",
|
|
105
|
+
"@primereact/core": ">=11 <12",
|
|
106
|
+
"@primereact/ui": ">=11 <12",
|
|
107
|
+
"@primeuix/themes": ">=3 <4",
|
|
108
|
+
"primereact": ">=11 <12",
|
|
109
|
+
"react": "^19.0.0",
|
|
110
|
+
"react-dom": "^19.0.0"
|
|
111
|
+
},
|
|
112
|
+
"devDependencies": {
|
|
113
|
+
"@cratis/arc": "22.6.2",
|
|
114
|
+
"@cratis/arc.react": "22.6.2",
|
|
115
|
+
"@cratis/components": "4.1.0",
|
|
116
|
+
"@cratis/components.conformance": "4.1.0",
|
|
117
|
+
"@cratis/fundamentals": "^7.10.3",
|
|
118
|
+
"@primereact/core": "11.1.0",
|
|
119
|
+
"@primereact/ui": "11.1.0",
|
|
120
|
+
"@primeuix/themes": "3.0.0",
|
|
121
|
+
"@types/react": "^19.2.18",
|
|
122
|
+
"primereact": "11.1.0",
|
|
123
|
+
"react": "^19.0.0",
|
|
124
|
+
"react-dom": "^19.0.0",
|
|
125
|
+
"reflect-metadata": "0.2.2",
|
|
126
|
+
"tsyringe": "4.10.0"
|
|
127
|
+
}
|
|
13
128
|
}
|