@pairbo/ui-kit 0.3.29 → 0.3.31
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/dist/src/components/editor/editor.component.d.ts +2 -0
- package/dist/src/components/editor-card-slider/editor-card-slider.component.d.ts +6 -1
- package/dist/src/components/handwritten-form/handwritten-form.component.d.ts +3 -2
- package/dist/src/components/page-manager/page-manager.component.d.ts +2 -0
- package/dist/src/components/textarea/textarea.component.d.ts +2 -0
- package/dist/src/components/type-form/type-form.component.d.ts +12 -12
- package/dist/src/components/zoomed-preview/zoomed-preview.component.d.ts +4 -0
- package/dist/src/events/events.d.ts +3 -0
- package/dist/src/events/pbo-after-drawer-closed.d.ts +6 -0
- package/dist/src/events/pbo-blur.d.ts +6 -0
- package/dist/src/events/pbo-change.d.ts +6 -0
- package/dist/src/events/pbo-close-drawer.d.ts +6 -0
- package/dist/src/events/pbo-editor-selector-change.d.ts +8 -0
- package/dist/src/events/pbo-focus.d.ts +6 -0
- package/dist/src/events/pbo-font-change.d.ts +8 -0
- package/dist/src/events/pbo-handwritten-form-change.d.ts +9 -0
- package/dist/src/events/pbo-handwritten-form-submitted.d.ts +6 -0
- package/dist/src/events/pbo-input.d.ts +6 -0
- package/dist/src/events/pbo-open-drawer.d.ts +6 -0
- package/dist/src/events/pbo-switch-editor.d.ts +9 -0
- package/dist/src/events/pbo-type-form-change.d.ts +6 -0
- package/dist/src/events/pbo-type-form-submitted.d.ts +6 -0
- package/dist/src/events/pbo_close_live_preview.d.ts +8 -0
- package/dist/src/events/pbo_edit_handwritten_form.d.ts +8 -0
- package/dist/src/events/pbo_edit_type_form.d.ts +8 -0
- package/dist/src/events/pbo_open_live_preview.d.ts +8 -0
- package/dist/src/events/pbo_toggle_free_message.d.ts +8 -0
- package/dist/src/events/pbo_toggle_is_gift.d.ts +8 -0
- package/dist/src/events/pbo_toggle_is_premium_card.d.ts +8 -0
- package/dist/src/internal/pairbo-element.d.ts +19 -1
- package/dist/src/themes/default-rem.css +4 -3
- package/dist/src/themes/default.css +4 -3
- package/dist/src/utilities/index.d.ts +7 -0
- package/dist/ui-kit.js +216 -164
- package/package.json +8 -3
|
@@ -14,6 +14,8 @@ export default class PboEditor extends PairboElement {
|
|
|
14
14
|
submitHandwrittenForm: SubmitHandwrittenForm | undefined;
|
|
15
15
|
getProcessedImg: GetProcessedImg | undefined;
|
|
16
16
|
onClose: () => void;
|
|
17
|
+
typeFormCtaLabel: string;
|
|
18
|
+
handwrittenFormCtaLabel: string;
|
|
17
19
|
typeForm: PboTypeForm;
|
|
18
20
|
handwrittenForm: PboHandwrittenForm;
|
|
19
21
|
slider: PboEditorCardSlider;
|
|
@@ -34,7 +34,9 @@ export default class PboEditorCardSlider extends PairboElement {
|
|
|
34
34
|
isLoading: boolean;
|
|
35
35
|
processedFileUrl: string | null;
|
|
36
36
|
};
|
|
37
|
-
type:
|
|
37
|
+
type: EditorType;
|
|
38
|
+
allowPinchToToggle: boolean;
|
|
39
|
+
distance: null | number;
|
|
38
40
|
thumbnailCarousel: HTMLDivElement;
|
|
39
41
|
mainCarousel: HTMLDivElement;
|
|
40
42
|
zoomedPreview: PboDrawer;
|
|
@@ -46,6 +48,7 @@ export default class PboEditorCardSlider extends PairboElement {
|
|
|
46
48
|
mainImageTemplates: TemplateResult[];
|
|
47
49
|
handleCardChange(_: Card | null, newValue: Card | null): void;
|
|
48
50
|
handleFocusIndexChange(oldValue: number, newValue: number): void;
|
|
51
|
+
handleAllowPinchToToggle(): void;
|
|
49
52
|
/**
|
|
50
53
|
* Focus on a specific card.
|
|
51
54
|
*
|
|
@@ -56,6 +59,8 @@ export default class PboEditorCardSlider extends PairboElement {
|
|
|
56
59
|
closeZoomedPreview: () => void;
|
|
57
60
|
openZoomedPreview: () => void;
|
|
58
61
|
handleOpenZoomedClick: (event: Event) => void;
|
|
62
|
+
handleTouchMove: (e: TouchEvent) => void;
|
|
63
|
+
handleTouchEnd: () => void;
|
|
59
64
|
get mainSlides(): TemplateResult<1> | never[];
|
|
60
65
|
render(): TemplateResult<1>;
|
|
61
66
|
}
|
|
@@ -39,6 +39,7 @@ export default class PboHandwrittenForm extends PairboElement {
|
|
|
39
39
|
onClose: () => void;
|
|
40
40
|
/** The loading state when submitting the form */
|
|
41
41
|
isSubmitLoading: boolean;
|
|
42
|
+
ctaPrimaryLabel: string;
|
|
42
43
|
/** The disabled state when submitting the form */
|
|
43
44
|
isSubmitDisabled: boolean;
|
|
44
45
|
imageInput: HTMLInputElement;
|
|
@@ -121,9 +122,9 @@ export default class PboHandwrittenForm extends PairboElement {
|
|
|
121
122
|
handleProcessingErrorChange(): void;
|
|
122
123
|
/**
|
|
123
124
|
* When the source image changes, reset the processed file URL,
|
|
124
|
-
* and emit `pbo-change` event with loading state.
|
|
125
|
+
* and emit `pbo-handwritten-form-change` event with loading state.
|
|
125
126
|
*
|
|
126
|
-
* The `pbo-change` event is for:
|
|
127
|
+
* The `pbo-handwritten-form-change-change` event is for:
|
|
127
128
|
* - Indicating that the image is being processed
|
|
128
129
|
* - Focusing the main image to the preview image in the `handwritten-canvas` component
|
|
129
130
|
*/
|
|
@@ -41,6 +41,8 @@ export default class PboPageManager extends PairboElement {
|
|
|
41
41
|
errorMessage: string;
|
|
42
42
|
selectionTitle: string;
|
|
43
43
|
editorTitle: string;
|
|
44
|
+
typeFormCtaLabel: string;
|
|
45
|
+
handwrittenFormCtaLabel: string;
|
|
44
46
|
selectedCard: Card | null;
|
|
45
47
|
selectedCardId: string | null;
|
|
46
48
|
selectedCardDetails: {
|
|
@@ -32,6 +32,7 @@ export default class PboTextarea extends PairboElement implements PairboFormCont
|
|
|
32
32
|
value: string;
|
|
33
33
|
size: "small" | "medium" | "large";
|
|
34
34
|
filled: boolean;
|
|
35
|
+
title: string;
|
|
35
36
|
placeholder: string;
|
|
36
37
|
rows: number;
|
|
37
38
|
resize: "none" | "vertical" | "auto";
|
|
@@ -68,6 +69,7 @@ export default class PboTextarea extends PairboElement implements PairboFormCont
|
|
|
68
69
|
setSelectionRange(selectionStart: number, selectionEnd: number, selectionDirection?: "forward" | "backward" | "none"): void;
|
|
69
70
|
/** Replaces a range of text with a new string. */
|
|
70
71
|
setRangeText(replacement: string, start?: number, end?: number, selectMode?: "select" | "start" | "end" | "preserve"): void;
|
|
72
|
+
private removeEmojis;
|
|
71
73
|
/** Checks for validity but does not show a validation message. Returns `true` when valid and `false` when invalid. */
|
|
72
74
|
checkValidity(): boolean;
|
|
73
75
|
/** Gets the associated form, if one exists. */
|
|
@@ -29,16 +29,6 @@ export default class PboTypeForm extends PairboElement {
|
|
|
29
29
|
"pbo-radio-button": typeof PboRadioGroup;
|
|
30
30
|
"pbo-button": typeof PboButton;
|
|
31
31
|
};
|
|
32
|
-
static readonly CTA_STATES: {
|
|
33
|
-
danger: {
|
|
34
|
-
type: string;
|
|
35
|
-
message: string;
|
|
36
|
-
};
|
|
37
|
-
primary: {
|
|
38
|
-
type: string;
|
|
39
|
-
message: string;
|
|
40
|
-
};
|
|
41
|
-
};
|
|
42
32
|
private resizeTimeout;
|
|
43
33
|
cardInnerImageUrl: string;
|
|
44
34
|
card: Card | null;
|
|
@@ -46,13 +36,23 @@ export default class PboTypeForm extends PairboElement {
|
|
|
46
36
|
loading: boolean;
|
|
47
37
|
disabled: boolean;
|
|
48
38
|
onClose: () => void;
|
|
49
|
-
|
|
39
|
+
ctaButtonPrimaryLabel: string;
|
|
40
|
+
textarea: PboTextarea;
|
|
50
41
|
fontSelector: PboFontSelector;
|
|
51
42
|
textColor: PboRadioGroup;
|
|
52
43
|
textAlignment: PboRadioGroup;
|
|
53
44
|
typingForm: HTMLFormElement;
|
|
54
|
-
textArea: PboTextarea;
|
|
55
45
|
ctaButtons: NodeListOf<PboButton>;
|
|
46
|
+
CTA_STATES: {
|
|
47
|
+
danger: {
|
|
48
|
+
type: string;
|
|
49
|
+
message: string;
|
|
50
|
+
};
|
|
51
|
+
primary: {
|
|
52
|
+
type: string;
|
|
53
|
+
message: string;
|
|
54
|
+
};
|
|
55
|
+
};
|
|
56
56
|
windowHeight: number;
|
|
57
57
|
charsNum: number;
|
|
58
58
|
ctaButtonState: {
|
|
@@ -29,5 +29,9 @@ export default class PboZoomedPreview extends PairboElement {
|
|
|
29
29
|
isLoading: boolean;
|
|
30
30
|
url: string | null;
|
|
31
31
|
};
|
|
32
|
+
pinchToCloseDisabled: boolean;
|
|
33
|
+
distance: number | null;
|
|
34
|
+
handleTouchMove: (event: TouchEvent) => void;
|
|
35
|
+
handleTouchEnd: () => void;
|
|
32
36
|
render(): import('lit-html').TemplateResult<1>;
|
|
33
37
|
}
|
|
@@ -1,2 +1,5 @@
|
|
|
1
1
|
export type { PboCategoryCardSelectEvent } from './pbo-category-card-select.js';
|
|
2
2
|
export type { HandwrittenImageDimensionsChangedEvent } from './handwritten-image-dimensions-changed.js';
|
|
3
|
+
export type { PboBlurEvent } from './pbo-blur.js';
|
|
4
|
+
export type { PboFocusEvent } from './pbo-focus.js';
|
|
5
|
+
export type { PboSwitchEditorEvent } from './pbo-switch-editor.js';
|
|
@@ -55,6 +55,24 @@ export interface PairboFormControl extends LitElement {
|
|
|
55
55
|
reportValidity: () => boolean;
|
|
56
56
|
setCustomValidity: (error: string) => void;
|
|
57
57
|
}
|
|
58
|
+
type IsCustomEvent<T> = T extends CustomEvent<Record<PropertyKey, unknown>> ? true : false;
|
|
59
|
+
type IsEmptyDetail<T> = T extends CustomEvent<Record<PropertyKey, never>> ? true : false;
|
|
60
|
+
type HasOptionalDetail<T> = T extends CustomEvent<infer Detail> ? Partial<Detail> extends Detail ? true : false : false;
|
|
61
|
+
type EventTypeRequiresDetail<T> = T extends keyof GlobalEventHandlersEventMap ? IsCustomEvent<GlobalEventHandlersEventMap[T]> extends true ? IsEmptyDetail<GlobalEventHandlersEventMap[T]> extends true ? never : HasOptionalDetail<GlobalEventHandlersEventMap[T]> extends true ? never : T : never : never;
|
|
62
|
+
type EventTypeDoesNotRequireDetail<T> = T extends keyof GlobalEventHandlersEventMap ? IsCustomEvent<GlobalEventHandlersEventMap[T]> extends true ? IsEmptyDetail<GlobalEventHandlersEventMap[T]> extends false ? HasOptionalDetail<GlobalEventHandlersEventMap[T]> extends true ? T : never : T : T : never;
|
|
63
|
+
type EventTypesWithRequiredDetail = {
|
|
64
|
+
[EventType in keyof GlobalEventHandlersEventMap as EventTypeRequiresDetail<EventType>]: true;
|
|
65
|
+
};
|
|
66
|
+
type EventTypesWithoutRequiredDetail = {
|
|
67
|
+
[EventType in keyof GlobalEventHandlersEventMap as EventTypeDoesNotRequireDetail<EventType>]: true;
|
|
68
|
+
};
|
|
69
|
+
type WithRequired<T, K extends keyof T> = T & {
|
|
70
|
+
[P in K]-?: T[P];
|
|
71
|
+
};
|
|
72
|
+
type PboEventInit<T> = T extends keyof GlobalEventHandlersEventMap ? GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, unknown>> ? GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, never>> ? CustomEventInit<GlobalEventHandlersEventMap[T]["detail"]> : Partial<GlobalEventHandlersEventMap[T]["detail"]> extends GlobalEventHandlersEventMap[T]["detail"] ? CustomEventInit<GlobalEventHandlersEventMap[T]["detail"]> : WithRequired<CustomEventInit<GlobalEventHandlersEventMap[T]["detail"]>, "detail"> : CustomEventInit : CustomEventInit;
|
|
73
|
+
type GetCustomEventType<T> = T extends keyof GlobalEventHandlersEventMap ? GlobalEventHandlersEventMap[T] extends CustomEvent<unknown> ? GlobalEventHandlersEventMap[T] : CustomEvent<unknown> : CustomEvent<unknown>;
|
|
58
74
|
export default class PairboElement extends LitElement {
|
|
59
|
-
emit(name:
|
|
75
|
+
emit<T extends keyof EventTypesWithoutRequiredDetail>(name: EventTypeDoesNotRequireDetail<T>, options?: PboEventInit<T> | undefined): GetCustomEventType<T>;
|
|
76
|
+
emit<T extends keyof EventTypesWithRequiredDetail>(name: EventTypeRequiresDetail<T>, options: PboEventInit<T>): GetCustomEventType<T>;
|
|
60
77
|
}
|
|
78
|
+
export {};
|
|
@@ -361,8 +361,8 @@
|
|
|
361
361
|
/* Fonts */
|
|
362
362
|
--pbo-font-mono: SFMono-Regular, Consolas, "Liberation Mono", Menlo, monospace;
|
|
363
363
|
--pbo-font-sans:
|
|
364
|
-
-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif,
|
|
365
|
-
"Segoe UI Emoji", "Segoe UI Symbol";
|
|
364
|
+
-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif,
|
|
365
|
+
"Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
|
|
366
366
|
--pbo-font-serif: Georgia, "Times New Roman", serif;
|
|
367
367
|
|
|
368
368
|
/* Font sizes */
|
|
@@ -400,7 +400,8 @@
|
|
|
400
400
|
--pbo-focus-ring-color: var(--pbo-color-primary-600);
|
|
401
401
|
--pbo-focus-ring-style: solid;
|
|
402
402
|
--pbo-focus-ring-width: 3px;
|
|
403
|
-
--pbo-focus-ring: var(--pbo-focus-ring-style) var(--pbo-focus-ring-width)
|
|
403
|
+
--pbo-focus-ring: var(--pbo-focus-ring-style) var(--pbo-focus-ring-width)
|
|
404
|
+
var(--pbo-focus-ring-color);
|
|
404
405
|
--pbo-focus-ring-offset: 1px;
|
|
405
406
|
|
|
406
407
|
/*
|
|
@@ -362,8 +362,8 @@
|
|
|
362
362
|
--pbo-font-family: inherit;
|
|
363
363
|
--pbo-font-mono: SFMono-Regular, Consolas, "Liberation Mono", Menlo, monospace;
|
|
364
364
|
--pbo-font-sans:
|
|
365
|
-
-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif,
|
|
366
|
-
"Segoe UI Emoji", "Segoe UI Symbol";
|
|
365
|
+
-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif,
|
|
366
|
+
"Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
|
|
367
367
|
--pbo-font-serif: Georgia, "Times New Roman", serif;
|
|
368
368
|
|
|
369
369
|
/* Font sizes */
|
|
@@ -401,7 +401,8 @@
|
|
|
401
401
|
--pbo-focus-ring-color: var(--pbo-color-primary-600);
|
|
402
402
|
--pbo-focus-ring-style: solid;
|
|
403
403
|
--pbo-focus-ring-width: 3px;
|
|
404
|
-
--pbo-focus-ring: var(--pbo-focus-ring-style) var(--pbo-focus-ring-width)
|
|
404
|
+
--pbo-focus-ring: var(--pbo-focus-ring-style) var(--pbo-focus-ring-width)
|
|
405
|
+
var(--pbo-focus-ring-color);
|
|
405
406
|
--pbo-focus-ring-offset: 1px;
|
|
406
407
|
|
|
407
408
|
/*
|
|
@@ -3,3 +3,10 @@ export declare const isNullOrUndefined: (...values: any[]) => boolean;
|
|
|
3
3
|
export declare const isValid: <T>(value: T) => value is NonNullable<T>;
|
|
4
4
|
export declare const removeNullUndefined: <T extends Object>(obj: T) => Partial<T>;
|
|
5
5
|
export declare function debounce<T extends (...args: any[]) => void>(fn: T, wait: number): (this: any, ...args: Parameters<T>) => void;
|
|
6
|
+
export declare const getDistance: (point1: {
|
|
7
|
+
x: number;
|
|
8
|
+
y: number;
|
|
9
|
+
}, point2: {
|
|
10
|
+
x: number;
|
|
11
|
+
y: number;
|
|
12
|
+
}) => number;
|