@pepperi-addons/ngx-composite-lib-react 0.0.4 → 0.5.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.
Files changed (61) hide show
  1. package/README.md +79 -0
  2. package/elements/3rdpartylicenses.txt +0 -26
  3. package/elements/971.js +1 -1
  4. package/elements/index.html +5 -5
  5. package/elements/main.js +1 -1
  6. package/elements/polyfills.js +1 -1
  7. package/elements/runtime.js +1 -1
  8. package/elements/styles.css +16 -1
  9. package/index.d.ts +10 -19
  10. package/index.js +10 -19
  11. package/package.json +24 -23
  12. package/pep-color-settings.d.ts +17 -4
  13. package/pep-color-settings.js +33 -2
  14. package/pep-file-status-panel.d.ts +18 -4
  15. package/pep-file-status-panel.js +28 -2
  16. package/pep-flow-picker-button.d.ts +13 -4
  17. package/pep-flow-picker-button.js +29 -2
  18. package/pep-generic-list.d.ts +70 -4
  19. package/pep-generic-list.js +126 -2
  20. package/pep-group-buttons-settings.d.ts +25 -4
  21. package/pep-group-buttons-settings.js +45 -2
  22. package/pep-icon-picker.d.ts +18 -4
  23. package/pep-icon-picker.js +39 -2
  24. package/pep-padding-settings.d.ts +12 -4
  25. package/pep-padding-settings.js +23 -2
  26. package/pep-rich-text.d.ts +47 -4
  27. package/pep-rich-text.js +76 -2
  28. package/pep-shadow-settings.d.ts +15 -4
  29. package/pep-shadow-settings.js +22 -2
  30. package/pep-show-if-badge.d.ts +10 -4
  31. package/pep-show-if-badge.js +16 -2
  32. package/components/PepGroupButtonsSettings.d.ts +0 -14
  33. package/components/PepGroupButtonsSettings.js +0 -19
  34. package/components/PepGroupButtonsSettingsReact.d.ts +0 -14
  35. package/components/PepGroupButtonsSettingsReact.js +0 -104
  36. package/elements/register.auto.d.ts +0 -1
  37. package/elements/register.auto.js +0 -1
  38. package/elements/register.d.ts +0 -1
  39. package/elements/register.js +0 -1
  40. package/elements/register.polyfills.js +0 -1
  41. package/elements/register.runtime.js +0 -1
  42. package/pep-data-view-builder.d.ts +0 -4
  43. package/pep-data-view-builder.js +0 -3
  44. package/pep-field-container.d.ts +0 -4
  45. package/pep-field-container.js +0 -3
  46. package/pep-generic-form.d.ts +0 -4
  47. package/pep-generic-form.js +0 -3
  48. package/pep-group-buttons-settings-react.d.ts +0 -14
  49. package/pep-group-buttons-settings-react.js +0 -62
  50. package/pep-layout-builder-editor.d.ts +0 -4
  51. package/pep-layout-builder-editor.js +0 -3
  52. package/pep-layout-builder.d.ts +0 -4
  53. package/pep-layout-builder.js +0 -3
  54. package/pep-layout.d.ts +0 -4
  55. package/pep-layout.js +0 -3
  56. package/pep-manage-parameters.d.ts +0 -4
  57. package/pep-manage-parameters.js +0 -3
  58. package/pep-mapping-parameters.d.ts +0 -4
  59. package/pep-mapping-parameters.js +0 -3
  60. package/utils/create-wrapper.d.ts +0 -7
  61. package/utils/create-wrapper.js +0 -46
@@ -1,4 +1,12 @@
1
- /// <reference types="react" resolution-mode="require"/>
2
- export declare const PepPaddingSettings: import("react").ForwardRefExoticComponent<Pick<Record<string, any> & {
3
- children?: import("react").ReactNode;
4
- }, string> & import("react").RefAttributes<HTMLElement & Record<string, any>>>;
1
+ import React from 'react';
2
+ export interface PepPaddingSettings {
3
+ IsUniform?: boolean;
4
+ PaddingValue?: string;
5
+ }
6
+ export interface PepPaddingSettingsProps {
7
+ padding?: PepPaddingSettings;
8
+ onPaddingChange?: (value: PepPaddingSettings) => void;
9
+ className?: string;
10
+ style?: React.CSSProperties;
11
+ }
12
+ export declare const PepPaddingSettings: React.FC<PepPaddingSettingsProps>;
@@ -1,3 +1,24 @@
1
- import { createPepWrapper } from './utils/create-wrapper.js';
2
- export const PepPaddingSettings = createPepWrapper('pep-padding-settings', 'PepPaddingSettings');
1
+ import React, { useEffect, useRef } from 'react';
2
+ export const PepPaddingSettings = ({ padding, onPaddingChange, className, style, }) => {
3
+ const ref = useRef(null);
4
+ useEffect(() => {
5
+ const el = ref.current;
6
+ if (!el)
7
+ return;
8
+ if (padding !== undefined)
9
+ el.padding = padding;
10
+ }, [padding]);
11
+ useEffect(() => {
12
+ const el = ref.current;
13
+ if (!el)
14
+ return;
15
+ const handler = (e) => {
16
+ const ce = e;
17
+ onPaddingChange?.(ce.detail ?? ref.current?.padding);
18
+ };
19
+ el.addEventListener('paddingChange', handler);
20
+ return () => el.removeEventListener('paddingChange', handler);
21
+ }, [onPaddingChange]);
22
+ return React.createElement('pep-padding-settings-element', { ref, class: className, style });
23
+ };
3
24
  //# sourceMappingURL=pep-padding-settings.js.map
@@ -1,4 +1,47 @@
1
- /// <reference types="react" resolution-mode="require"/>
2
- export declare const PepRichText: import("react").ForwardRefExoticComponent<Pick<Record<string, any> & {
3
- children?: import("react").ReactNode;
4
- }, string> & import("react").RefAttributes<HTMLElement & Record<string, any>>>;
1
+ import React from 'react';
2
+ export declare type PepHorizontalAlignment = 'start' | 'center' | 'end' | 'space-between' | string;
3
+ export declare type PepLayoutType = 'form' | 'card' | 'table' | string;
4
+ export interface PepToolbarImageOptions {
5
+ useAssetsABI?: boolean;
6
+ }
7
+ export interface IPepRichHtmlTextareaToolbarOptions {
8
+ font?: boolean;
9
+ size?: boolean;
10
+ header?: boolean;
11
+ bold?: boolean;
12
+ italic?: boolean;
13
+ underline?: boolean;
14
+ strike?: boolean;
15
+ link?: boolean;
16
+ image?: boolean | PepToolbarImageOptions;
17
+ ordered?: boolean;
18
+ bullet?: boolean;
19
+ color?: boolean;
20
+ background?: boolean;
21
+ align?: boolean;
22
+ }
23
+ export interface PepRichTextProps {
24
+ keyProp?: string;
25
+ value?: string;
26
+ label?: string;
27
+ mandatory?: boolean;
28
+ disabled?: boolean;
29
+ readonly?: boolean;
30
+ maxFieldCharacters?: number;
31
+ xAlignment?: PepHorizontalAlignment;
32
+ sanitize?: boolean;
33
+ rowSpan?: number;
34
+ visible?: boolean;
35
+ isActive?: boolean;
36
+ showTitle?: boolean;
37
+ renderTitle?: boolean;
38
+ renderEnlargeButton?: boolean;
39
+ layoutType?: PepLayoutType;
40
+ inlineMode?: boolean;
41
+ useAssetsForImages?: boolean;
42
+ toolbarOptions?: IPepRichHtmlTextareaToolbarOptions;
43
+ onValueChange?: (val: any) => void;
44
+ className?: string;
45
+ style?: React.CSSProperties;
46
+ }
47
+ export declare const PepRichText: React.FC<PepRichTextProps>;
package/pep-rich-text.js CHANGED
@@ -1,3 +1,77 @@
1
- import { createPepWrapper } from './utils/create-wrapper.js';
2
- export const PepRichText = createPepWrapper('pep-rich-text', 'PepRichText');
1
+ import React, { useEffect, useRef } from 'react';
2
+ export const PepRichText = ({ keyProp, value, label, mandatory, disabled, readonly, maxFieldCharacters, xAlignment, sanitize, rowSpan, visible, isActive, showTitle, renderTitle, renderEnlargeButton, layoutType, inlineMode, useAssetsForImages, toolbarOptions, onValueChange, className, style, }) => {
3
+ const ref = useRef(null);
4
+ useEffect(() => {
5
+ const el = ref.current;
6
+ if (!el)
7
+ return;
8
+ if (keyProp !== undefined)
9
+ el.key = keyProp;
10
+ if (value !== undefined)
11
+ el.value = value;
12
+ if (label !== undefined)
13
+ el.label = label;
14
+ if (mandatory !== undefined)
15
+ el.mandatory = mandatory;
16
+ if (disabled !== undefined)
17
+ el.disabled = disabled;
18
+ if (readonly !== undefined)
19
+ el.readonly = readonly;
20
+ if (maxFieldCharacters !== undefined)
21
+ el.maxFieldCharacters = maxFieldCharacters;
22
+ if (xAlignment !== undefined)
23
+ el.xAlignment = xAlignment;
24
+ if (sanitize !== undefined)
25
+ el.sanitize = sanitize;
26
+ if (rowSpan !== undefined)
27
+ el.rowSpan = rowSpan;
28
+ if (visible !== undefined)
29
+ el.visible = visible;
30
+ if (isActive !== undefined)
31
+ el.isActive = isActive;
32
+ if (showTitle !== undefined)
33
+ el.showTitle = showTitle;
34
+ if (renderTitle !== undefined)
35
+ el.renderTitle = renderTitle;
36
+ if (renderEnlargeButton !== undefined)
37
+ el.renderEnlargeButton = renderEnlargeButton;
38
+ if (layoutType !== undefined)
39
+ el.layoutType = layoutType;
40
+ if (inlineMode !== undefined)
41
+ el.inlineMode = inlineMode;
42
+ if (useAssetsForImages !== undefined)
43
+ el.useAssetsForImages = useAssetsForImages;
44
+ if (toolbarOptions !== undefined)
45
+ el.toolbarOptions = toolbarOptions;
46
+ }, [
47
+ keyProp,
48
+ value,
49
+ label,
50
+ mandatory,
51
+ disabled,
52
+ readonly,
53
+ maxFieldCharacters,
54
+ xAlignment,
55
+ sanitize,
56
+ rowSpan,
57
+ visible,
58
+ isActive,
59
+ showTitle,
60
+ renderTitle,
61
+ renderEnlargeButton,
62
+ layoutType,
63
+ inlineMode,
64
+ useAssetsForImages,
65
+ toolbarOptions,
66
+ ]);
67
+ useEffect(() => {
68
+ const el = ref.current;
69
+ if (!el)
70
+ return;
71
+ const handler = (e) => onValueChange?.(e.detail ?? ref.current?.value);
72
+ el.addEventListener('valueChange', handler);
73
+ return () => el.removeEventListener('valueChange', handler);
74
+ }, [onValueChange]);
75
+ return React.createElement('pep-rich-text-element', { ref, class: className, style });
76
+ };
3
77
  //# sourceMappingURL=pep-rich-text.js.map
@@ -1,4 +1,15 @@
1
- /// <reference types="react" resolution-mode="require"/>
2
- export declare const PepShadowSettings: import("react").ForwardRefExoticComponent<Pick<Record<string, any> & {
3
- children?: import("react").ReactNode;
4
- }, string> & import("react").RefAttributes<HTMLElement & Record<string, any>>>;
1
+ import React from 'react';
2
+ export declare type PepSizeType = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | string;
3
+ export interface PepShadowSettings {
4
+ use?: boolean;
5
+ size?: PepSizeType;
6
+ intensity?: 'soft' | 'regular' | 'hard' | string;
7
+ }
8
+ export interface PepShadowSettingsProps {
9
+ titleSize?: PepSizeType;
10
+ shadow?: PepShadowSettings;
11
+ onShadowChange?: (value: PepShadowSettings) => void;
12
+ className?: string;
13
+ style?: React.CSSProperties;
14
+ }
15
+ export declare const PepShadowSettings: React.FC<PepShadowSettingsProps>;
@@ -1,3 +1,23 @@
1
- import { createPepWrapper } from './utils/create-wrapper.js';
2
- export const PepShadowSettings = createPepWrapper('pep-shadow-settings', 'PepShadowSettings');
1
+ import React, { useEffect, useRef } from 'react';
2
+ export const PepShadowSettings = ({ titleSize, shadow, onShadowChange, className, style, }) => {
3
+ const ref = useRef(null);
4
+ useEffect(() => {
5
+ const el = ref.current;
6
+ if (!el)
7
+ return;
8
+ if (titleSize !== undefined)
9
+ el.titleSize = titleSize;
10
+ if (shadow !== undefined)
11
+ el.shadow = shadow;
12
+ }, [titleSize, shadow]);
13
+ useEffect(() => {
14
+ const el = ref.current;
15
+ if (!el)
16
+ return;
17
+ const handler = (e) => onShadowChange?.(e.detail ?? ref.current?.shadow);
18
+ el.addEventListener('shadowChange', handler);
19
+ return () => el.removeEventListener('shadowChange', handler);
20
+ }, [onShadowChange]);
21
+ return React.createElement('pep-shadow-settings-element', { ref, class: className, style });
22
+ };
3
23
  //# sourceMappingURL=pep-shadow-settings.js.map
@@ -1,4 +1,10 @@
1
- /// <reference types="react" resolution-mode="require"/>
2
- export declare const PepShowIfBadge: import("react").ForwardRefExoticComponent<Pick<Record<string, any> & {
3
- children?: import("react").ReactNode;
4
- }, string> & import("react").RefAttributes<HTMLElement & Record<string, any>>>;
1
+ import React from 'react';
2
+ export declare type PepIconType = string;
3
+ export interface PepShowIfBadgeProps {
4
+ showIf?: boolean;
5
+ iconName?: PepIconType;
6
+ backgroundColor?: string;
7
+ className?: string;
8
+ style?: React.CSSProperties;
9
+ }
10
+ export declare const PepShowIfBadge: React.FC<PepShowIfBadgeProps>;
@@ -1,3 +1,17 @@
1
- import { createPepWrapper } from './utils/create-wrapper.js';
2
- export const PepShowIfBadge = createPepWrapper('pep-show-if-badge', 'PepShowIfBadge');
1
+ import React, { useEffect, useRef } from 'react';
2
+ export const PepShowIfBadge = ({ showIf, iconName, backgroundColor, className, style, }) => {
3
+ const ref = useRef(null);
4
+ useEffect(() => {
5
+ const el = ref.current;
6
+ if (!el)
7
+ return;
8
+ if (showIf !== undefined)
9
+ el.showIf = showIf;
10
+ if (iconName !== undefined)
11
+ el.iconName = iconName;
12
+ if (backgroundColor !== undefined)
13
+ el.backgroundColor = backgroundColor;
14
+ }, [showIf, iconName, backgroundColor]);
15
+ return React.createElement('pep-show-if-badge-element', { ref, class: className, style });
16
+ };
3
17
  //# sourceMappingURL=pep-show-if-badge.js.map
@@ -1,14 +0,0 @@
1
- /// <reference types="react" resolution-mode="require"/>
2
- export interface PepGroupButtonsSettingsProps {
3
- pepResetConfigurationField?: string;
4
- hideReset?: boolean;
5
- resetHostEvents?: (evt: any) => void;
6
- groupType: 'sizes' | 'custom' | 'vertical-align' | 'left-right-arrows' | 'horizontal-align' | 'font-weight' | 'width-sizes' | 'boolean';
7
- subHeader?: string;
8
- btnKey?: string;
9
- useNone?: boolean;
10
- excludeKeys?: string[];
11
- btnsArray?: any[];
12
- onBtnKeyChange?: (e: any) => void;
13
- }
14
- export declare function PepGroupButtonsSettings(props: PepGroupButtonsSettingsProps): JSX.Element;
@@ -1,19 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import React from 'react';
3
- // Runtime import; types are shimed locally to avoid adding a build-time dependency
4
- // Consumers must have '@pepperi-addons/ngx-lib-react' installed (peerDependency)
5
- import { PepGroupButtons } from '@pepperi-addons/ngx-lib-react';
6
- export function PepGroupButtonsSettings(props) {
7
- const { pepResetConfigurationField, hideReset, resetHostEvents, groupType, subHeader, btnKey, useNone, excludeKeys, btnsArray, onBtnKeyChange, } = props;
8
- const onReset = React.useCallback(() => {
9
- if (pepResetConfigurationField && typeof resetHostEvents === 'function') {
10
- resetHostEvents({
11
- action: 'set-configuration-field',
12
- key: pepResetConfigurationField,
13
- value: undefined,
14
- });
15
- }
16
- }, [pepResetConfigurationField, resetHostEvents]);
17
- return (_jsxs("div", { children: [subHeader ? _jsx("div", { className: "pep-subheader", children: subHeader }) : null, _jsx(PepGroupButtons, { ...{ groupType, btnKey, useNone, excludeKeys, btnsArray }, onBtnKeyChange: onBtnKeyChange }), !hideReset ? (_jsx("button", { type: "button", onClick: onReset, children: "Reset" })) : null] }));
18
- }
19
- //# sourceMappingURL=PepGroupButtonsSettings.js.map
@@ -1,14 +0,0 @@
1
- import React from 'react';
2
- export interface PepGroupButtonsSettingsReactProps {
3
- pepResetConfigurationField?: string;
4
- hideReset?: boolean;
5
- resetHostEvents?: (evt: any) => void;
6
- groupType: 'sizes' | 'custom' | 'vertical-align' | 'left-right-arrows' | 'horizontal-align' | 'font-weight' | 'width-sizes' | 'boolean';
7
- subHeader?: string;
8
- btnKey?: string;
9
- useNone?: boolean;
10
- excludeKeys?: string[];
11
- btnsArray?: any[];
12
- onBtnKeyChange?: (e: any) => void;
13
- }
14
- export declare function PepGroupButtonsSettingsReact(props: PepGroupButtonsSettingsReactProps): React.DetailedReactHTMLElement<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>;
@@ -1,104 +0,0 @@
1
- import React from 'react';
2
- export function PepGroupButtonsSettingsReact(props) {
3
- const { pepResetConfigurationField, hideReset, resetHostEvents, groupType, subHeader, btnKey, useNone, excludeKeys, btnsArray, onBtnKeyChange, } = props;
4
- const onReset = React.useCallback(() => {
5
- if (pepResetConfigurationField && typeof resetHostEvents === 'function') {
6
- resetHostEvents({
7
- action: 'set-configuration-field',
8
- key: pepResetConfigurationField,
9
- value: undefined,
10
- });
11
- }
12
- }, [pepResetConfigurationField, resetHostEvents]);
13
- // Build items for the settings element (we will pass as custom group)
14
- const computedItems = React.useMemo(() => {
15
- const arr = [];
16
- switch (groupType) {
17
- case 'custom':
18
- (btnsArray || []).forEach((b) => {
19
- if (!b)
20
- return;
21
- if (typeof b === 'string')
22
- arr.push({ key: b, value: b });
23
- else
24
- arr.push(b);
25
- });
26
- break;
27
- case 'sizes':
28
- arr.push({ key: 'xs', value: 'XS' }, { key: 'sm', value: 'SM' }, { key: 'md', value: 'MD' }, { key: 'lg', value: 'LG' }, { key: 'xl', value: 'XL' }, { key: '2xl', value: '2XL' });
29
- break;
30
- case 'vertical-align':
31
- arr.push({ key: 'start', value: 'Top' }, { key: 'middle', value: 'Middle' }, { key: 'end', value: 'Bottom' });
32
- break;
33
- case 'left-right-arrows':
34
- arr.push({ key: 'left', iconName: 'arrow_left_alt' }, { key: 'right', iconName: 'arrow_right_alt' });
35
- break;
36
- case 'horizontal-align':
37
- arr.push({ key: 'left', iconName: 'text_align_right' }, { key: 'center', iconName: 'text_align_center' }, { key: 'right', iconName: 'text_align_left' });
38
- break;
39
- case 'font-weight':
40
- arr.push({ key: 'regular', value: 'Regular' }, { key: 'bold', value: 'Bold' }, { key: 'bolder', value: 'Bolder' });
41
- break;
42
- case 'width-sizes':
43
- arr.push({ key: 'narrow', value: 'Narrow' }, { key: 'regular', value: 'Regular' }, { key: 'wide', value: 'Wide' });
44
- break;
45
- case 'boolean':
46
- arr.push({ key: 'true', value: 'True' }, { key: 'false', value: 'False' });
47
- break;
48
- default:
49
- break;
50
- }
51
- let filtered = Array.isArray(excludeKeys) && excludeKeys.length
52
- ? arr.filter((i) => !excludeKeys.includes(i.key))
53
- : arr;
54
- if (useNone) {
55
- filtered = [{ key: 'none', value: 'None' }, ...filtered];
56
- }
57
- return filtered;
58
- }, [groupType, btnsArray, excludeKeys, useNone]);
59
- const hostRef = React.useRef(null);
60
- const elRef = React.useRef(null);
61
- React.useLayoutEffect(() => {
62
- const host = hostRef.current;
63
- if (!host)
64
- return () => { };
65
- let el = elRef.current;
66
- if (!el) {
67
- el = document.createElement('pep-group-buttons-settings');
68
- elRef.current = el;
69
- }
70
- const listeners = [];
71
- // Set properties BEFORE connecting to the DOM
72
- const propsToSet = {
73
- pepResetConfigurationField,
74
- hideReset,
75
- resetHostEvents,
76
- groupType: 'custom',
77
- subHeader,
78
- btnKey,
79
- useNone,
80
- excludeKeys,
81
- btnsArray: computedItems,
82
- };
83
- Object.entries(propsToSet).forEach(([k, v]) => {
84
- if (typeof v === 'undefined')
85
- return;
86
- try {
87
- el[k] = v;
88
- }
89
- catch { }
90
- });
91
- if (typeof onBtnKeyChange === 'function') {
92
- const handler = (e) => onBtnKeyChange(e);
93
- el.addEventListener('btnkeyChange', handler);
94
- listeners.push(['btnkeyChange', handler]);
95
- }
96
- if (!el.isConnected)
97
- host.appendChild(el);
98
- return () => {
99
- listeners.forEach(([n, h]) => el.removeEventListener(n, h));
100
- };
101
- }, [pepResetConfigurationField, hideReset, resetHostEvents, subHeader, btnKey, useNone, excludeKeys, computedItems, onBtnKeyChange]);
102
- return React.createElement('div', { ref: hostRef });
103
- }
104
- //# sourceMappingURL=PepGroupButtonsSettingsReact.js.map
@@ -1 +0,0 @@
1
- // Side-effect module: registering elements automatically on import