@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 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
- # @cratis/components.primereact
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.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.
@@ -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":";AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,EACH,UAAU,EACV,WAAW,EACX,UAAU,EACV,SAAS,EACT,MAAM,EACN,QAAQ,GAKX,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,QAAQ,IAAI,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,SAAS,IAAI,cAAc,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAE,WAAW,IAAI,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC7E,OAAO,EAAE,WAAW,IAAI,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC7E,OAAO,EAAE,QAAQ,IAAI,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,YAAY,IAAI,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAiBhF,OAAO,EACH,+BAA+B,EAC/B,2BAA2B,EAC3B,yBAAyB,EACzB,2BAA2B,EAC3B,qBAAqB,EACrB,0BAA0B,GAM7B,MAAM,6BAA6B,CAAC;AASrC,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;IAC/B,aAAa;IACb,mBAAmB;IACnB,kBAAkB;CACoB,CAAC,CAAC;AAE5C,MAAM,4BAA4B,GAAG,sCAAsC,CAAC;AAE5E,MAAM,yBAAyB,GAAG,CAAC,EAC/B,QAAQ,EACR,KAAK,GACkC,EAAE,EAAE;IAC3C,MAAM,UAAU,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAAC;IACjD,IAAI,CAAC,UAAU,IAAI,KAAK,CAAC,4BAA4B,CAAC,KAAK,IAAI,EAAE,CAAC;QAC9D,MAAM,IAAI,qBAAqB,CAAC;YAC5B,IAAI,EAAE,0BAA0B,CAAC,iBAAiB;YAClD,SAAS,EAAE,mBAAmB;YAC9B,OAAO,EACH,0HAA0H;YAC9H,MAAM,EAAE,qMAAqM;SAChN,CAAC,CAAC;IACP,CAAC;IACD,OAAO,QAAQ,CAAC;AACpB,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,GAAG,MAAuC,EAAE,EAAE,CAC9D,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAErC,MAAM,eAAe,GAAiD;IAClE,SAAS,EAAE,SAAS;IACpB,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE,UAAU;IACnB,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,UAAU;IAClB,QAAQ,EAAE,SAAS;CACtB,CAAC;AAEF,MAAM,eAAe,GAAiD;IAClE,OAAO,EAAE,WAAW;IACpB,MAAM,EAAE,MAAM;IACd,QAAQ,EAAE,SAAS;IACnB,OAAO,EAAE,MAAM;IACf,QAAQ,EAAE,QAAQ;CACrB,CAAC;AAGF,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAAwB,CAAC;AAE9D,MAAM,qBAAqB,GAAG,CAAC,IAA0B,EAAE,EAAE;IACzD,MAAM,WAAW,GACb,UAGH,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,CAAC;IACzB,IAAI,WAAW,KAAK,YAAY,IAAI,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO;IAC5E,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChC,OAAO,CAAC,IAAI,CACR,gBAAgB,IAAI,kFAAkF,CACzG,CAAC;AACN,CAAC,CAAC;AAoBF,MAAM,oBAAoB,GAAG,CAAC,EAC1B,OAAO,EACP,IAAI,EACJ,IAAI,EACJ,QAAQ,GACc,EAAuC,EAAE;IAC/D,IAAI,OAAO;QAAE,OAAO,OAAO,CAAC;IAC5B,IAAI,IAAI;QAAE,OAAO,MAAM,CAAC;IACxB,IAAI,IAAI;QAAE,OAAO,OAAO,CAAC;IACzB,IAAI,QAAQ;QAAE,OAAO,SAAS,CAAC;IAC/B,OAAO,OAAO,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,CAC5B,OAAgC,EACR,EAAE;IAC1B,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IACzE,IAAI,IAAI,KAAK,SAAS;QAAE,qBAAqB,CAAC,MAAM,CAAC,CAAC;IACtD,IAAI,IAAI,KAAK,SAAS;QAAE,qBAAqB,CAAC,MAAM,CAAC,CAAC;IACtD,IAAI,QAAQ,KAAK,SAAS;QAAE,qBAAqB,CAAC,UAAU,CAAC,CAAC;IAC9D,IAAI,OAAO,KAAK,SAAS;QAAE,qBAAqB,CAAC,SAAS,CAAC,CAAC;IAC5D,IAAI,QAAQ,KAAK,SAAS;QAAE,qBAAqB,CAAC,UAAU,CAAC,CAAC;IAC9D,OAAO;QACH,OAAO,EAAE,oBAAoB,CAAC,OAAO,CAAC;QACtC,IAAI,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAChE,KAAK,EAAE,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9C,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ;KACpD,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,OAA4C,EAAE,EAAE;IAClE,QAAQ,OAAO,EAAE,CAAC;QACd,KAAK,SAAS;YACV,OAAO,UAAU,CAAC;QACtB,KAAK,OAAO;YACR,OAAO,MAAM,CAAC;QAClB,KAAK,MAAM;YACP,OAAO,MAAM,CAAC;QAClB,KAAK,OAAO;YACR,OAAO,SAAS,CAAC;QACrB;YACI,MAAM,IAAI,KAAK,CAAC,+BAA+B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5E,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,IAAe,EAAE,EAAE,CACnC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAG,SAAS,EAAE,IAAI,iBAAc,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AAEhF,MAAM,eAAe,GAAG,UAAU,CAC9B,SAAS,eAAe,CACpB,EACI,KAAK,EACL,IAAI,EACJ,OAAO,GAAG,KAAK,EACf,OAAO,EACP,cAAc,EAAE,eAAe,EAC/B,EAAE,EACF,OAAO,EACP,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,IAAI,GAAG,QAAQ,EACf,QAAQ,EACR,IAAI,GAAG,QAAQ,EACf,KAAK,EACL,SAAS,EACT,KAAK,EACL,QAAQ,EACR,GAAG,WAAW,EACjB,EACD,GAAG;IAEH,MAAM,UAAU,GAAG,uBAAuB,CAAC;QACvC,OAAO;QACP,IAAI;QACJ,KAAK;QACL,IAAI;QACJ,IAAI;QACJ,QAAQ;QACR,OAAO;QACP,QAAQ;KACX,CAAC,CAAC;IACH,MAAM,iBAAiB,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,QAAQ,CAAC;IACnE,OAAO,CACH,MAAC,WAAW,OACJ,EAAE,EAAE,IAAI,KACR,WAAW,EACf,EAAE,EAAC,QAAQ,EACX,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,IAAI,OAAO,EACvB,QAAQ,EAAE,iBAAiB,EAC3B,SAAS,EAAE,UAAU,CACjB,0BAA0B,EAC1B,EAAE,EAAE,IAAI,EAAE,SAAS,EACnB,SAAS,CACZ,EACD,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EACvC,OAAO,EAAE,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,EACzC,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAC7B,OAAO,EAAE,UAAU,CAAC,KAAK,KAAK,MAAM,EACpC,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,QAAQ,eACP,OAAO,IAAI,SAAS,sBACd,MAAM,kBACT,UAAU,CAAC,OAAO,eACrB,UAAU,CAAC,IAAI,mBACX,UAAU,CAAC,QAAQ,gBACtB,UAAU,CAAC,KAAK,eACjB,IAAI,mBACA,iBAAiB,IAAI,SAAS,kBAC/B,OAAO,IAAI,SAAS,oBAClB,QAAQ,IAAI,SAAS,aAEpC,OAAO,CAAC,CAAC,CAAC,CACP,kBACQ,EAAE,EAAE,OAAO,EACf,SAAS,EAAE,UAAU,CACjB,mCAAmC,EACnC,EAAE,EAAE,OAAO,EAAE,SAAS,CACzB,sBACgB,SAAS,iBACd,MAAM,GACpB,CACL,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACP,kBACQ,EAAE,EAAE,IAAI,EACZ,SAAS,EAAE,UAAU,CACjB,gCAAgC,EAChC,EAAE,EAAE,IAAI,EAAE,SAAS,CACtB,sBACgB,MAAM,iBACV,EAAE,EAAE,IAAI,EAAE,CAAC,aAAa,CAAC,IAAI,IAAI,YAE7C,UAAU,CAAC,IAAI,CAAC,GACd,CACV,CAAC,CAAC,CAAC,IAAI,EACP,KAAK,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,CAC7C,mBACQ,EAAE,EAAE,KAAK,EACb,SAAS,EAAE,UAAU,CACjB,iCAAiC,EACjC,EAAE,EAAE,KAAK,EAAE,SAAS,CACvB,sBACgB,OAAO,aAEvB,KAAK,EACL,QAAQ,IACN,CACV,CAAC,CAAC,CAAC,IAAI,IACE,CACjB,CAAC;AACN,CAAC,CACJ,CAAC;AAEF,MAAM,mBAAmB,GAAG,UAAU,CAClC,SAAS,mBAAmB,CAAC,KAAK,EAAE,GAAG;IACnC,OAAO,CACH,KAAC,eAAe,OACR,KAAK,EACT,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,MAAM,EAC5B,KAAK,EAAE,SAAS,GAClB,CACL,CAAC;AACN,CAAC,CACJ,CAAC;AAEF,MAAM,kBAAkB,GAAG,UAAU,CACjC,SAAS,kBAAkB,CACvB,EACI,IAAI,GAAG,MAAM,EACb,OAAO,GAAG,KAAK,EACf,QAAQ,EACR,EAAE,EACF,SAAS,EACT,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,IAAI,EAAE,UAAU,EAChB,cAAc,EAAE,WAAW,EAC3B,GAAG,WAAW,EACjB,EACD,GAAG;IAEH,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,QAAQ,EAAE,GAAG,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC;IACvD,MAAM,iBAAiB,GAAG,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC;IACxD,MAAM,iBAAiB,GAAG,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC;IACxD,MAAM,oBAAoB,GACtB,WAAW,IAAI,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,IAAI,SAAS,CAAC,CAAC;IACtE,MAAM,gBAAgB,GAClB,OAAO,IAAI,oBAAoB,KAAK,IAAI,IAAI,oBAAoB,KAAK,MAAM,CAAC;IAChF,OAAO,CACH,KAAC,cAAc,OACP,QAAQ,KACR,WAAW,EACf,EAAE,EAAC,OAAO,EACV,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,iBAAiB,EAC3B,QAAQ,EAAE,iBAAiB,EAC3B,OAAO,EAAE,gBAAgB,kBACX,oBAAoB,EAClC,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,UAAU,IAAI,QAAQ,EAAE,EAAE,EAC9C,QAAQ,EAAE,CAAC,KAAoC,EAAE,EAAE;YAC/C,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC;YAC3B,QAAQ,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;gBAClC,MAAM,EAAE,MAAM;gBACd,WAAW,EAAE,KAAK,CAAC,WAAW;aACjC,CAAC,CAAC;QACP,CAAC,EACD,SAAS,EAAE,UAAU,CACjB,8BAA8B,EAC9B,QAAQ,CAAC,SAAS,EAClB,SAAS,CACZ,EACD,KAAK,EAAE,EAAE,GAAG,QAAQ,CAAC,KAAK,EAAE,GAAG,KAAK,EAAE,sBACrB,MAAM,mBACR,iBAAiB,IAAI,SAAS,kBAC/B,gBAAgB,IAAI,SAAS,mBAC5B,iBAAiB,IAAI,SAAS,GAC/C,CACL,CAAC;AACN,CAAC,CACJ,CAAC;AAEF,MAAM,iBAAiB,GAAG,UAAU,CAChC,SAAS,iBAAiB,CACtB,EACI,OAAO,GAAG,KAAK,EACf,QAAQ,EACR,EAAE,EACF,SAAS,EACT,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,cAAc,EAAE,WAAW,EAC3B,GAAG,WAAW,EACjB,EACD,GAAG;IAEH,MAAM,iBAAiB,GAAG,QAAQ,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC;IACzD,MAAM,iBAAiB,GAAG,QAAQ,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC;IACzD,MAAM,oBAAoB,GACtB,WAAW,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,IAAI,SAAS,CAAC,CAAC;IACxE,MAAM,gBAAgB,GAClB,OAAO,IAAI,oBAAoB,KAAK,IAAI,IAAI,oBAAoB,KAAK,MAAM,CAAC;IAChF,OAAO,CACH,KAAC,aAAa,OACN,EAAE,EAAE,IAAI,KACR,WAAW,EACf,EAAE,EAAC,UAAU,EACb,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,iBAAiB,EAC3B,QAAQ,EAAE,iBAAiB,EAC3B,OAAO,EAAE,gBAAgB,kBACX,oBAAoB,EAClC,QAAQ,EAAE,CAAC,KAAuC,EAAE,EAAE;YAClD,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC;YAC5B,QAAQ,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;gBAClC,MAAM,EAAE,MAAM;gBACd,WAAW,EAAE,KAAK,CAAC,WAAW;aACjC,CAAC,CAAC;QACP,CAAC,EACD,SAAS,EAAE,UAAU,CACjB,6BAA6B,EAC7B,EAAE,EAAE,IAAI,EAAE,SAAS,EACnB,SAAS,CACZ,EACD,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,sBACtB,MAAM,mBACR,iBAAiB,IAAI,SAAS,kBAC/B,gBAAgB,IAAI,SAAS,mBAC5B,iBAAiB,IAAI,SAAS,GAC/C,CACL,CAAC;AACN,CAAC,CACJ,CAAC;AAEF,MAAM,SAAS,GAAG,CAAK,GAAoB,EAAE,KAAe,EAAE,EAAE;IAC5D,IAAI,OAAO,GAAG,KAAK,UAAU;QAAE,GAAG,CAAC,KAAK,CAAC,CAAC;SACrC,IAAI,GAAG;QAAE,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC;AACtC,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAC1B,OAA4B,EAC5B,cAAmC,EACnC,YAA4C,EAC5C,iBAAiB,GAAG,KAAK,EAC3B,EAAE;IACA,MAAM,QAAQ,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAC;IAChD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;IAClE,MAAM,UAAU,GAAG,OAAO,KAAK,SAAS,CAAC;IACzC,MAAM,GAAG,GAAG,WAAW,CACnB,CAAC,KAA8B,EAAE,EAAE;QAC/B,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC;QACzB,SAAS,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IACnC,CAAC,EACD,CAAC,YAAY,CAAC,CACjB,CAAC;IACF,SAAS,CAAC,GAAG,EAAE;QACX,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,KAAK,IAAI,UAAU;YAAE,OAAO;QACjC,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC3E,KAAK,CAAC,IAAI,EAAE,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QACnD,IAAI,iBAAiB;YACjB,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAChE,OAAO,GAAG,EAAE;YACR,KAAK,CAAC,IAAI,EAAE,mBAAmB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YACtD,IAAI,iBAAiB;gBACjB,KAAK,CAAC,aAAa,CAAC,mBAAmB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QACvE,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC,CAAC;IACpC,OAAO;QACH,GAAG;QACH,QAAQ,EAAE,OAAO,IAAI,QAAQ;QAC7B,WAAW,EAAE,CAAC,IAAa,EAAE,EAAE;YAC3B,IAAI,CAAC,UAAU;gBAAE,WAAW,CAAC,IAAI,CAAC,CAAC;QACvC,CAAC;KACJ,CAAC;AACN,CAAC,CAAC;AAWF,MAAM,eAAe,GAAG,CACpB,QAA6B,EAC7B,OAAgB,EAChB,QAA6B,EAC7B,QAAiB,EACnB,EAAE,CAAC,CAAC;IACF,eAAe,EAAE,QAAQ,IAAI,SAAS;IACtC,cAAc,EAAE,OAAO,IAAI,SAAS;IACpC,eAAe,EAAE,QAAQ,IAAI,SAAS;IACtC,eAAe,EAAE,QAAQ,IAAI,SAAS;CACzC,CAAC,CAAC;AAEH,MAAM,WAAW,GAAG,CAAC,EACjB,IAAI,EACJ,KAAK,EACL,YAAY,GAKf,EAAE,EAAE;IACD,MAAM,KAAK,GAAG,KAAK,CAAC,EAA6B,CAAC;IAClD,MAAM,SAAS,GAAG,KAAK,EAAE,KAA0D,CAAC;IACpF,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,SAAS,EAAE,OAAO,CAAC;IACpD,MAAM,cAAc,GAAG,KAAK,CAAC,cAAc,IAAI,SAAS,EAAE,cAAc,CAAC;IACzE,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,SAAS,EAAE,QAAQ,CAAC;IACvD,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,SAAS,EAAE,QAAQ,CAAC;IACvD,MAAM,WAAW,GACb,KAAK,CAAC,cAAc,CAAC;QACrB,SAAS,EAAE,CAAC,cAAc,CAAC;QAC3B,CAAC,KAAK,CAAC,OAAO,IAAI,SAAS,CAAC,CAAC;IACjC,MAAM,OAAO,GACT,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,WAAW,KAAK,IAAI,IAAI,WAAW,KAAK,MAAM,CAAC;IAC7E,MAAM,KAAK,GAAG,qBAAqB,CAC/B,OAAO,EACP,cAAc,EACd,YAAY,EACZ,IAAI,KAAK,OAAO,CACnB,CAAC;IACF,MAAM,UAAU,GAAG,eAAe,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IAChF,MAAM,EACF,KAAK,EACL,QAAQ,EAAE,SAAS,EACnB,OAAO,EAAE,QAAQ,EACjB,QAAQ,EACR,SAAS,EACT,KAAK,EACL,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,QAAQ,EACjB,cAAc,EAAE,eAAe,EAC/B,QAAQ,EAAE,SAAS,EACnB,OAAO,EACP,cAAc,EAAE,YAAY,EAC5B,GAAG,WAAW,EACjB,GAAG,KAAK,CAAC;IACV,MAAM,EACF,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,aAAa,EACvB,SAAS,EAAE,cAAc,EACzB,KAAK,EAAE,UAAU,EACjB,GAAG,aAAa,EACnB,GAAG,SAAS,IAAI,EAAE,CAAC;IACpB,MAAM,KAAK,GAAG,KAAmB,CAAC;IAClC,MAAM,KAAK,GAAqB;QAC5B,GAAG,aAAa;QAChB,GAAG,WAAW;QACd,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI;QACtD,KAAK,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK;QACzD,cAAc,EAAE,WAAW;QAC3B,eAAe,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,IAAI,SAAS;QACrE,IAAI,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI;QACrD,SAAS,EAAE,UAAU,CAAC,iCAAiC,EAAE,cAAc,CAAC;QACxE,KAAK,EAAE,UAAU;QACjB,kBAAkB,EAAE,OAAO;QAC3B,GAAG,UAAU;QACb,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACf,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC;YACrB,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;YACjB,IAAI,QAAQ;gBAAE,KAAK,CAAC,cAAc,EAAE,CAAC;QACzC,CAAC;KACJ,CAAC;IACF,MAAM,OAAO,GAAG,CAAC,KAGhB,EAAE,EAAE;QACD,IAAI,QAAQ,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;YAAE,OAAO;QAC7D,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACjC,QAAQ,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE;YACtB,MAAM,EAAE,MAAM;YACd,WAAW,EAAE,KAAK,CAAC,aAAa,CAAC,WAAW;SAC/C,CAAC,CAAC;IACP,CAAC,CAAC;IACF,MAAM,IAAI,GAAG,CACT,oBACQ,KAAK,EAAE,IAAI,EACf,SAAS,EAAE,UAAU,CACjB,0BAA0B,EAC1B,KAAK,EAAE,IAAI,EAAE,SAAS,EACtB,SAAS,CACZ,EACD,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,sBACzB,MAAM,KACnB,UAAU,aAEb,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,CACnB,KAAC,aAAa,CAAC,IAAI,IACf,OAAO,EAAE,KAAK,CAAC,QAAQ,EACvB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAC9B,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,WAAW,CAAC,IAAI,EACtB,KAAK,EAAE,WAAW,CAAC,KAAK,EACxB,SAAS,EAAE,WAAW,CAAC,YAAY,CAAC,EACpC,cAAc,EAAE,WAAW,CAAC,iBAAiB,CAAC,EAC9C,eAAe,EAAE,OAAO,EACxB,EAAE,EAAE,EAAE,KAAK,EAAE,YAEb,KAAC,aAAa,CAAC,GAAG,OACT,KAAmC,EAAE,GAAG,EAC7C,EAAE,EAAC,MAAM,sBACQ,KAAK,KAClB,UAAU,YAEd,KAAC,aAAa,CAAC,SAAS,OACf,KAAmC,EAAE,SAAS,sBAClC,WAAW,iBAChB,MAAM,KACd,UAAU,uBAGQ,GACV,GACH,CACxB,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CACnB,KAAC,gBAAgB,CAAC,IAAI,IAClB,OAAO,EAAE,KAAK,CAAC,QAAQ,EACvB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAC9B,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,SAAS,EAAE,WAAW,CAAC,YAAY,CAAC,EACpC,cAAc,EAAE,WAAW,CAAC,iBAAiB,CAAC,EAC9C,eAAe,EAAE,OAAO,EACxB,EAAE,EAAE,EAAE,KAAK,EAAE,YAEb,KAAC,gBAAgB,CAAC,GAAG,OACZ,KAAgC,EAAE,GAAG,EAC1C,EAAE,EAAC,MAAM,sBACQ,KAAK,KAClB,UAAU,YAEd,KAAC,gBAAgB,CAAC,SAAS,OAClB,KAAgC,EAAE,SAAS,EAChD,EAAE,EAAC,MAAM,sBACQ,WAAW,iBAChB,MAAM,KACd,UAAU,GAChB,GACiB,GACH,CAC3B,CAAC,CAAC,CAAC,CACA,KAAC,iBAAiB,CAAC,IAAI,IACnB,OAAO,EAAE,KAAK,CAAC,QAAQ,EACvB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAC9B,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,WAAW,CAAC,YAAY,CAAC,EACpC,cAAc,EAAE,WAAW,CAAC,iBAAiB,CAAC,EAC9C,eAAe,EAAE,OAAO,EACxB,EAAE,EAAE,EAAE,KAAK,EAAE,YAEb,KAAC,iBAAiB,CAAC,OAAO,OACjB,KAAiC,EAAE,OAAO,EAC/C,EAAE,EAAC,MAAM,sBACQ,SAAS,KACtB,UAAU,YAEd,KAAC,iBAAiB,CAAC,MAAM,OAChB,KAAiC,EAAE,MAAM,EAC9C,EAAE,EAAC,MAAM,sBACQ,QAAQ,iBACb,MAAM,KACd,UAAU,GAChB,GACsB,GACP,CAC5B,EACA,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAC1B,kBACQ,KAAK,EAAE,KAAK,EAChB,SAAS,EAAE,UAAU,CACjB,iCAAiC,EACjC,KAAK,EAAE,KAAK,EAAE,SAAS,CAC1B,sBACgB,OAAO,KACpB,UAAU,YAEb,KAAK,GACH,CACV,IACG,CACX,CAAC;IACF,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,UAAU,CAChC,SAAS,iBAAiB,CAAC,KAAK,EAAE,GAAG;IACjC,OAAO,KAAC,WAAW,IAAC,IAAI,EAAC,UAAU,EAAC,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,GAAI,CAAC;AAC5E,CAAC,CACJ,CAAC;AAEF,MAAM,cAAc,GAAG,UAAU,CAC7B,SAAS,cAAc,CAAC,KAAK,EAAE,GAAG;IAC9B,OAAO,KAAC,WAAW,IAAC,IAAI,EAAC,OAAO,EAAC,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,GAAI,CAAC;AACzE,CAAC,CACJ,CAAC;AAEF,MAAM,eAAe,GAAG,UAAU,CAC9B,SAAS,eAAe,CAAC,KAAK,EAAE,GAAG;IAC/B,OAAO,KAAC,WAAW,IAAC,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,GAAI,CAAC;AAC1E,CAAC,CACJ,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,EACvB,KAAK,GAAG,CAAC,EACT,IAAI,GAAG,aAAa,EACpB,SAAS,GAAG,IAAI,EAChB,YAAY,EAAE,SAAS,GAAG,UAAU,EACpC,iBAAiB,EAAE,cAAc,EACjC,SAAS,GACM,EAAE,EAAE;IACnB,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IACvD,MAAM,WAAW,GAAG,IAAI,KAAK,aAAa,CAAC;IAC3C,MAAM,IAAI,GAAG,CAAC,WAAW,IAAI,YAAY,GAAG,GAAG,CAAC;IAChD,OAAO,CACH,cACI,SAAS,EAAE,UAAU,CAAC,4BAA4B,EAAE,SAAS,CAAC,sBAC7C,MAAM,eACZ,IAAI,eACJ,IAAI,IAAI,SAAS,kBACd,CAAC,WAAW,IAAI,SAAS,YAEvC,MAAC,gBAAgB,CAAC,IAAI,IAClB,EAAE,EAAC,KAAK,EACR,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,EAC7C,IAAI,EAAE,IAAI,EACV,EAAE,EAAE;gBACA,IAAI,EAAE;oBACF,YAAY,EAAE,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;oBACpD,iBAAiB,EAAE,cAAc;oBACjC,GAAG,CAAC,WAAW;wBACX,CAAC,CAAC,EAAE;wBACJ,CAAC,CAAC;4BACI,eAAe,EAAE,SAAS;4BAC1B,eAAe,EAAE,SAAS;4BAC1B,eAAe,EAAE,SAAS;yBAC7B,CAAC;iBACX;aACJ,aAED,KAAC,gBAAgB,CAAC,KAAK,wBAAkB,WAAW,YAChD,KAAC,gBAAgB,CAAC,SAAS,KAAG,GACT,EACxB,WAAW,IAAI,SAAS,CAAC,CAAC,CAAC,CACxB,MAAC,gBAAgB,CAAC,KAAK,wBAAkB,OAAO,aAC3C,YAAY,SACQ,CAC5B,CAAC,CAAC,CAAC,IAAI,IACY,GACtB,CACT,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,UAAU,CAA4B,SAAS,gBAAgB,CACpF,EAAE,EAAE,EAAE,OAAO,GAAG,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,WAAW,EAAE,EAC7D,GAAG;IAEH,OAAO,CACH,KAAC,SAAS,CAAC,IAAI,OACP,EAAE,EAAE,IAAI,KACR,WAAW,EACf,EAAE,EAAE,OAAO,EACX,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,UAAU,CACjB,2BAA2B,EAC3B,EAAE,EAAE,IAAI,EAAE,SAAS,EACnB,SAAS,CACZ,EACD,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,sBACtB,MAAM,GACzB,CACL,CAAC;AACN,CAAC,CAAC,CAAC;AAEH,MAAM,WAAW,GAAG,CAChB,MAA2D,EAC7D,EAAE,CACA,MAAM,CAAC,MAAM,CAAC;IACV,IAAI,EAAE,cAAc;IACpB,QAAQ,EAAE,QAAQ;IAClB,MAAM;CACT,CAAqD,CAAC;AAE3D,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;IACxB,eAAe,EAAE,WAAW,CAAkB,eAAe,CAAC;IAC9D,mBAAmB,EAAE,WAAW,CAAsB,mBAAmB,CAAC;IAC1E,kBAAkB,EAAE,WAAW,CAAqB,kBAAkB,CAAC;IACvE,iBAAiB,EAAE,WAAW,CAAoB,iBAAiB,CAAC;IACpE,iBAAiB,EAAE,WAAW,CAAoB,iBAAiB,CAAC;IACpE,cAAc,EAAE,WAAW,CAAiB,cAAc,CAAC;IAC3D,eAAe,EAAE,WAAW,CAAkB,eAAe,CAAC;IAC9D,iBAAiB,EAAE,WAAW,CAAoB,iBAAiB,CAAC;IACpE,gBAAgB,EAAE,WAAW,CAAmB,gBAAgB,CAAC;CACpE,CAAC,CAAC;AAEH,8EAA8E;AAC9E,MAAM,CAAC,MAAM,mBAAmB,GAC5B,2BAA2B,CAAC;IACxB,EAAE,EAAE,mBAAmB;IACvB,WAAW,EAAE,4BAA4B;IACzC,GAAG,EAAE,+BAA+B;IACpC,KAAK,EAAE,WAAW;IAClB,OAAO,EAAE,2BAA2B;IACpC,YAAY,EAAE,yBAAyB;IACvC,YAAY;IACZ,KAAK;IACL,QAAQ,EAAE,yBAAyB;CACtC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,13 +1,128 @@
1
1
  {
2
2
  "name": "@cratis/components.primereact",
3
- "version": "0.0.0",
4
- "description": "Reserved package record for the Cratis Components release workflow.",
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
- "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-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
  }