@seniorsistemas/data-seniorx-core 1.5.0 → 1.6.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 (52) hide show
  1. package/core/types/lists.type.d.ts +7 -2
  2. package/core/types/searchbox.type.d.ts +1 -0
  3. package/core/types/semantics.type.d.ts +4 -2
  4. package/core/types/table.types.d.ts +58 -0
  5. package/core/types/toast.type.d.ts +16 -0
  6. package/core/utils/layout.util.d.ts +3 -0
  7. package/esm2022/core/types/lists.type.mjs +1 -1
  8. package/esm2022/core/types/searchbox.type.mjs +2 -0
  9. package/esm2022/core/types/semantics.type.mjs +11 -9
  10. package/esm2022/core/types/table.types.mjs +26 -0
  11. package/esm2022/core/types/toast.type.mjs +2 -0
  12. package/esm2022/core/utils/layout.util.mjs +10 -0
  13. package/esm2022/features/button/button.component.mjs +12 -10
  14. package/esm2022/features/checkbox/checkbox.component.mjs +80 -0
  15. package/esm2022/features/combobox/combobox.component.mjs +30 -12
  16. package/esm2022/features/inputs.mjs +1 -12
  17. package/esm2022/features/list/list.component.mjs +55 -32
  18. package/esm2022/features/modalc/modalc.component.mjs +49 -26
  19. package/esm2022/features/panel/panel.component.mjs +6 -5
  20. package/esm2022/features/scaffold/scaffold.component.mjs +34 -0
  21. package/esm2022/features/searchbox/searchbox.component.mjs +26 -20
  22. package/esm2022/features/sidebar/sidebar.component.mjs +59 -0
  23. package/esm2022/features/spinner/spinner.component.mjs +15 -8
  24. package/esm2022/features/tab/tab-item.component.mjs +29 -0
  25. package/esm2022/features/tab/tab.component.mjs +159 -0
  26. package/esm2022/features/table/table.component.mjs +263 -0
  27. package/esm2022/features/textbox/textbox.component.mjs +3 -3
  28. package/esm2022/features/toast/toast.component.mjs +35 -27
  29. package/esm2022/features/toast/toast.service.mjs +60 -35
  30. package/esm2022/providers/primeng-config.provider.mjs +10 -8
  31. package/esm2022/public-api.mjs +7 -1
  32. package/features/button/button.component.d.ts +5 -4
  33. package/features/checkbox/checkbox.component.d.ts +23 -0
  34. package/features/combobox/combobox.component.d.ts +8 -5
  35. package/features/inputs.d.ts +0 -4
  36. package/features/list/list.component.d.ts +10 -4
  37. package/features/modalc/modalc.component.d.ts +16 -8
  38. package/features/scaffold/scaffold.component.d.ts +11 -0
  39. package/features/searchbox/searchbox.component.d.ts +7 -7
  40. package/features/sidebar/sidebar.component.d.ts +18 -0
  41. package/features/spinner/spinner.component.d.ts +3 -2
  42. package/features/tab/tab-item.component.d.ts +11 -0
  43. package/features/tab/tab.component.d.ts +38 -0
  44. package/features/table/table.component.d.ts +60 -0
  45. package/features/toast/toast.component.d.ts +10 -10
  46. package/features/toast/toast.service.d.ts +10 -10
  47. package/fesm2022/seniorsistemas-data-seniorx-core.mjs +930 -223
  48. package/fesm2022/seniorsistemas-data-seniorx-core.mjs.map +1 -1
  49. package/package.json +1 -1
  50. package/public-api.d.ts +6 -0
  51. package/styles.css +50 -0
  52. package/styles.css.map +1 -1
@@ -1,14 +1,19 @@
1
- import { Severity } from './semantics.type';
1
+ import { Priority } from './semantics.type';
2
2
  export type ListItemAction = {
3
3
  name: string;
4
4
  label?: string;
5
+ text?: string;
5
6
  tooltip?: string;
6
- severity?: Severity;
7
+ priority?: Priority;
7
8
  icon?: string;
9
+ iconClass?: string;
10
+ leftIcon?: string;
8
11
  disabled?: boolean;
9
12
  action?: (name: string, id: string) => void;
10
13
  };
11
14
  export type ListItem = {
12
15
  id: string;
13
16
  content: string;
17
+ title?: string;
18
+ subtitle?: string;
14
19
  };
@@ -0,0 +1 @@
1
+ export type SearchTriggerMode = 'auto' | 'submit';
@@ -1,15 +1,17 @@
1
1
  export type StringBoolean = string | boolean;
2
2
  export type Dimension = boolean | number | string | 'w-fill';
3
- export type Size = undefined | 'small' | 'large';
3
+ export type Size = undefined | 'default' | 'small';
4
4
  export type Button = 'button' | 'menu' | 'reset' | 'submit';
5
5
  export type OptionValue = string | null;
6
6
  export type OptionItem = {
7
7
  value: OptionValue;
8
8
  text: string;
9
+ icon?: string;
9
10
  };
10
11
  export type Options = OptionItem[] | string;
11
12
  export type Severity = 'primary' | 'secondary' | 'success' | 'info' | 'warn' | 'help' | 'danger' | 'contrast';
12
- export type SeverityToast = 'success' | 'info' | 'warn' | 'error';
13
+ export type Priority = 'primary' | 'secondary' | 'default' | 'link' | 'danger';
14
+ export type SeverityToast = 'success' | 'info' | 'warning' | 'error';
13
15
  export type SeverityConfirm = 'question' | 'remove';
14
16
  export type Toast = {
15
17
  summary: string;
@@ -0,0 +1,58 @@
1
+ import { SearchTriggerMode } from "./searchbox.type";
2
+ import { Priority, Size } from "./semantics.type";
3
+ export type TableColumnType = 'checkbox' | 'button' | 'text' | 'number' | 'currency' | 'date' | 'checkbox-selection' | 'tag';
4
+ export interface TableColumn<T extends RowBase = RowBase> {
5
+ field?: string;
6
+ header: string;
7
+ type: TableColumnType;
8
+ actionField?: keyof T & string;
9
+ format?: string;
10
+ sortable?: boolean;
11
+ searchable?: boolean;
12
+ }
13
+ export type RowBase = Record<string, unknown>;
14
+ export interface CheckboxCellOptions {
15
+ selectAll?: boolean;
16
+ }
17
+ export interface ButtonCellOptions {
18
+ priority?: Priority;
19
+ label?: string;
20
+ icon?: string;
21
+ size?: Size;
22
+ tooltip?: string;
23
+ disabled?: boolean;
24
+ }
25
+ export interface TagCellOptions {
26
+ color?: string;
27
+ backgroundColor?: string;
28
+ icon?: string;
29
+ maxItems?: number;
30
+ tooltip?: string;
31
+ }
32
+ export interface TableOptions {
33
+ search?: {
34
+ type?: SearchTriggerMode;
35
+ show?: boolean;
36
+ placeholder?: string;
37
+ };
38
+ table?: {
39
+ totalRecordsLabel?: string;
40
+ };
41
+ empty?: {
42
+ show?: boolean;
43
+ title?: string;
44
+ text?: string;
45
+ };
46
+ pagination?: {
47
+ show?: boolean;
48
+ rowsPerPage?: number;
49
+ rowsPerPageOptions?: number[];
50
+ };
51
+ cells?: {
52
+ checkbox?: CheckboxCellOptions;
53
+ button?: ButtonCellOptions;
54
+ tag?: TagCellOptions;
55
+ };
56
+ }
57
+ export declare const DEFAULT_TABLE_OPTIONS: TableOptions;
58
+ export type SortOrder = 1 | -1 | 0;
@@ -0,0 +1,16 @@
1
+ type BaseToast = {
2
+ title?: string;
3
+ text?: string;
4
+ severity: "success" | "error" | "info" | "warning";
5
+ closable?: boolean;
6
+ };
7
+ type ToastWithDuration = BaseToast & {
8
+ sticky?: false;
9
+ duration?: number;
10
+ };
11
+ type ToastSticky = BaseToast & {
12
+ sticky: true;
13
+ duration?: never;
14
+ };
15
+ export type Toast = ToastWithDuration | ToastSticky;
16
+ export {};
@@ -0,0 +1,3 @@
1
+ export declare function isMobile(): boolean;
2
+ export declare function isTablet(): boolean;
3
+ export declare function isDesktop(): boolean;
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdHMudHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9zcmMvY29yZS90eXBlcy9saXN0cy50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZXZlcml0eSB9IGZyb20gJy4vc2VtYW50aWNzLnR5cGUnO1xuXG5leHBvcnQgdHlwZSBMaXN0SXRlbUFjdGlvbiA9IHtcbiAgbmFtZTogc3RyaW5nO1xuICBsYWJlbD86IHN0cmluZztcbiAgdG9vbHRpcD86IHN0cmluZztcbiAgc2V2ZXJpdHk/OiBTZXZlcml0eTtcbiAgaWNvbj86IHN0cmluZztcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICBhY3Rpb24/OiAobmFtZTogc3RyaW5nLCBpZDogc3RyaW5nKSA9PiB2b2lkO1xufTtcblxuZXhwb3J0IHR5cGUgTGlzdEl0ZW0gPSB7XG4gIGlkOiBzdHJpbmc7XG4gIGNvbnRlbnQ6IHN0cmluZztcbn07XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdHMudHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9zcmMvY29yZS90eXBlcy9saXN0cy50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcmlvcml0eSwgU2V2ZXJpdHkgfSBmcm9tICcuL3NlbWFudGljcy50eXBlJztcblxuZXhwb3J0IHR5cGUgTGlzdEl0ZW1BY3Rpb24gPSB7XG4gIG5hbWU6IHN0cmluZztcbiAgbGFiZWw/OiBzdHJpbmc7XG4gIHRleHQ/OiBzdHJpbmc7XG4gIHRvb2x0aXA/OiBzdHJpbmc7XG4gIHByaW9yaXR5PzogUHJpb3JpdHk7XG4gIGljb24/OiBzdHJpbmc7XG4gIGljb25DbGFzcz86IHN0cmluZztcbiAgbGVmdEljb24/OiBzdHJpbmc7XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgYWN0aW9uPzogKG5hbWU6IHN0cmluZywgaWQ6IHN0cmluZykgPT4gdm9pZDtcbn07XG5cbmV4cG9ydCB0eXBlIExpc3RJdGVtID0ge1xuICBpZDogc3RyaW5nO1xuICBjb250ZW50OiBzdHJpbmc7XG4gIHRpdGxlPzogc3RyaW5nO1xuICBzdWJ0aXRsZT86IHN0cmluZztcbn07XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoYm94LnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2NvcmUvdHlwZXMvc2VhcmNoYm94LnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIFNlYXJjaFRyaWdnZXJNb2RlID0gJ2F1dG8nIHwgJ3N1Ym1pdCc7XG4iXX0=
@@ -1,16 +1,18 @@
1
1
  export function getDimensionStyles(type, value) {
2
- if (typeof value === 'boolean' || !value) {
2
+ if (value === null || value === undefined || typeof value === 'boolean')
3
3
  return {};
4
- }
5
4
  return { [type]: dimensionFormat(value) };
6
5
  }
7
6
  const dimensionFormat = (value) => {
8
- if (value === 'w-fill') {
7
+ const raw = String(value).trim();
8
+ if (raw === '' || raw.toLowerCase() === 'auto')
9
+ return 'auto';
10
+ if (raw === 'w-fill')
9
11
  return '100%';
10
- }
11
- else if (typeof value === 'number') {
12
- return `${value}px`;
13
- }
14
- return value;
12
+ if (/^\d+(\.\d+)?(px|%|rem|em|vh|vw|ch)$/.test(raw))
13
+ return raw;
14
+ if (/^\d+(\.\d+)?$/.test(raw))
15
+ return `${raw}px`;
16
+ return raw;
15
17
  };
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VtYW50aWNzLnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2NvcmUvdHlwZXMvc2VtYW50aWNzLnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBd0NBLE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxJQUF3QixFQUFFLEtBQWdCO0lBQzNFLElBQUksT0FBTyxLQUFLLEtBQUssU0FBUyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDekMsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsT0FBTyxFQUFFLENBQUMsSUFBYyxDQUFDLEVBQUUsZUFBZSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7QUFDdEQsQ0FBQztBQUVELE1BQU0sZUFBZSxHQUFHLENBQUMsS0FBZ0IsRUFBVSxFQUFFO0lBQ25ELElBQUksS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQ3ZCLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7U0FBTSxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQ3JDLE9BQU8sR0FBRyxLQUFLLElBQUksQ0FBQztJQUN0QixDQUFDO0lBRUQsT0FBTyxLQUFlLENBQUM7QUFDekIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgU3RyaW5nQm9vbGVhbiA9IHN0cmluZyB8IGJvb2xlYW47XG5cbmV4cG9ydCB0eXBlIERpbWVuc2lvbiA9IGJvb2xlYW4gfCBudW1iZXIgfCBzdHJpbmcgfCAndy1maWxsJztcbmV4cG9ydCB0eXBlIFNpemUgPSB1bmRlZmluZWQgfCAnc21hbGwnIHwgJ2xhcmdlJztcblxuZXhwb3J0IHR5cGUgQnV0dG9uID0gJ2J1dHRvbicgfCAnbWVudScgfCAncmVzZXQnIHwgJ3N1Ym1pdCc7XG5cbmV4cG9ydCB0eXBlIE9wdGlvblZhbHVlID0gc3RyaW5nIHwgbnVsbDtcbmV4cG9ydCB0eXBlIE9wdGlvbkl0ZW0gPSB7IHZhbHVlOiBPcHRpb25WYWx1ZTsgdGV4dDogc3RyaW5nIH07XG5leHBvcnQgdHlwZSBPcHRpb25zID0gT3B0aW9uSXRlbVtdIHwgc3RyaW5nO1xuXG5leHBvcnQgdHlwZSBTZXZlcml0eSA9ICdwcmltYXJ5JyB8ICdzZWNvbmRhcnknIHwgJ3N1Y2Nlc3MnIHwgJ2luZm8nIHwgJ3dhcm4nIHwgJ2hlbHAnIHwgJ2RhbmdlcicgfCAnY29udHJhc3QnO1xuZXhwb3J0IHR5cGUgU2V2ZXJpdHlUb2FzdCA9ICdzdWNjZXNzJyB8ICdpbmZvJyB8ICd3YXJuJyB8ICdlcnJvcic7XG5leHBvcnQgdHlwZSBTZXZlcml0eUNvbmZpcm0gPSAncXVlc3Rpb24nIHwgJ3JlbW92ZSc7XG5cbmV4cG9ydCB0eXBlIFRvYXN0ID0ge1xuICBzdW1tYXJ5OiBzdHJpbmc7XG4gIGRldGFpbDogc3RyaW5nIHwgRXJyb3I7XG4gIGNsb3NhYmxlPzogYm9vbGVhbjtcbiAga2V5Pzogc3RyaW5nO1xuICBsaWZlPzogbnVtYmVyO1xuICBzdGlja3k/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IHR5cGUgQ29uZmlybSA9IHtcbiAgc2V2ZXJpdHk6IFNldmVyaXR5Q29uZmlybTtcbiAgdGl0bGU6IHN0cmluZztcbiAgbWVzc2FnZTogc3RyaW5nO1xuICBhY2NlcHQ6ICgpID0+IHZvaWQ7XG4gIHJlamVjdDogKCkgPT4gdm9pZDtcbn07XG5cbmV4cG9ydCB0eXBlIE1vZGFsQnV0dG9uID0ge1xuICBpZD86IHN0cmluZztcbiAgbGFiZWw6IHN0cmluZztcbiAgaWNvbj86IHN0cmluZztcbiAgc2V2ZXJpdHk/OiBTZXZlcml0eTtcbiAgYWN0aW9uOiAoKSA9PiB2b2lkO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldERpbWVuc2lvblN0eWxlcyh0eXBlOiAnaGVpZ2h0JyB8ICd3aWR0aCcsIHZhbHVlOiBEaW1lbnNpb24pIHtcbiAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ2Jvb2xlYW4nIHx8ICF2YWx1ZSkge1xuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIHJldHVybiB7IFt0eXBlIGFzIHN0cmluZ106IGRpbWVuc2lvbkZvcm1hdCh2YWx1ZSkgfTtcbn1cblxuY29uc3QgZGltZW5zaW9uRm9ybWF0ID0gKHZhbHVlOiBEaW1lbnNpb24pOiBzdHJpbmcgPT4ge1xuICBpZiAodmFsdWUgPT09ICd3LWZpbGwnKSB7XG4gICAgcmV0dXJuICcxMDAlJztcbiAgfSBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKSB7XG4gICAgcmV0dXJuIGAke3ZhbHVlfXB4YDtcbiAgfVxuXG4gIHJldHVybiB2YWx1ZSBhcyBzdHJpbmc7XG59O1xuIl19
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VtYW50aWNzLnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2NvcmUvdHlwZXMvc2VtYW50aWNzLnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBeUNBLE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxJQUF3QixFQUFFLEtBQWdCO0lBQzNFLElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLEtBQUssU0FBUyxJQUFJLE9BQU8sS0FBSyxLQUFLLFNBQVM7UUFBRSxPQUFPLEVBQUUsQ0FBQztJQUNuRixPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxlQUFlLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztBQUM1QyxDQUFDO0FBRUQsTUFBTSxlQUFlLEdBQUcsQ0FBQyxLQUFnQixFQUFVLEVBQUU7SUFDbkQsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2pDLElBQUksR0FBRyxLQUFLLEVBQUUsSUFBSSxHQUFHLENBQUMsV0FBVyxFQUFFLEtBQUssTUFBTTtRQUFFLE9BQU8sTUFBTSxDQUFDO0lBQzlELElBQUksR0FBRyxLQUFLLFFBQVE7UUFBRSxPQUFPLE1BQU0sQ0FBQztJQUNwQyxJQUFJLHFDQUFxQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7UUFBRSxPQUFPLEdBQUcsQ0FBQztJQUNoRSxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO1FBQUUsT0FBTyxHQUFHLEdBQUcsSUFBSSxDQUFDO0lBQ2pELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgU3RyaW5nQm9vbGVhbiA9IHN0cmluZyB8IGJvb2xlYW47XG5cbmV4cG9ydCB0eXBlIERpbWVuc2lvbiA9IGJvb2xlYW4gfCBudW1iZXIgfCBzdHJpbmcgfCAndy1maWxsJztcbmV4cG9ydCB0eXBlIFNpemUgPSB1bmRlZmluZWQgfCAnZGVmYXVsdCcgfCAnc21hbGwnO1xuXG5leHBvcnQgdHlwZSBCdXR0b24gPSAnYnV0dG9uJyB8ICdtZW51JyB8ICdyZXNldCcgfCAnc3VibWl0JztcblxuZXhwb3J0IHR5cGUgT3B0aW9uVmFsdWUgPSBzdHJpbmcgfCBudWxsO1xuZXhwb3J0IHR5cGUgT3B0aW9uSXRlbSA9IHsgdmFsdWU6IE9wdGlvblZhbHVlOyB0ZXh0OiBzdHJpbmcsIGljb24/OiBzdHJpbmc7IH07XG5leHBvcnQgdHlwZSBPcHRpb25zID0gT3B0aW9uSXRlbVtdIHwgc3RyaW5nO1xuXG5leHBvcnQgdHlwZSBTZXZlcml0eSA9ICdwcmltYXJ5JyB8ICdzZWNvbmRhcnknIHwgJ3N1Y2Nlc3MnIHwgJ2luZm8nIHwgJ3dhcm4nIHwgJ2hlbHAnIHwgJ2RhbmdlcicgfCAnY29udHJhc3QnOyAvLyByZW1vdmVyXG5leHBvcnQgdHlwZSBQcmlvcml0eSA9ICdwcmltYXJ5JyB8ICdzZWNvbmRhcnknIHwgJ2RlZmF1bHQnIHwgJ2xpbmsnIHwgJ2Rhbmdlcic7XG5leHBvcnQgdHlwZSBTZXZlcml0eVRvYXN0ID0gJ3N1Y2Nlc3MnIHwgJ2luZm8nIHwgJ3dhcm5pbmcnIHwgJ2Vycm9yJztcbmV4cG9ydCB0eXBlIFNldmVyaXR5Q29uZmlybSA9ICdxdWVzdGlvbicgfCAncmVtb3ZlJztcblxuZXhwb3J0IHR5cGUgVG9hc3QgPSB7XG4gIHN1bW1hcnk6IHN0cmluZztcbiAgZGV0YWlsOiBzdHJpbmcgfCBFcnJvcjtcbiAgY2xvc2FibGU/OiBib29sZWFuO1xuICBrZXk/OiBzdHJpbmc7XG4gIGxpZmU/OiBudW1iZXI7XG4gIHN0aWNreT86IGJvb2xlYW47XG59O1xuXG5leHBvcnQgdHlwZSBDb25maXJtID0ge1xuICBzZXZlcml0eTogU2V2ZXJpdHlDb25maXJtO1xuICB0aXRsZTogc3RyaW5nO1xuICBtZXNzYWdlOiBzdHJpbmc7XG4gIGFjY2VwdDogKCkgPT4gdm9pZDtcbiAgcmVqZWN0OiAoKSA9PiB2b2lkO1xufTtcblxuZXhwb3J0IHR5cGUgTW9kYWxCdXR0b24gPSB7XG4gIGlkPzogc3RyaW5nO1xuICBsYWJlbDogc3RyaW5nO1xuICBpY29uPzogc3RyaW5nO1xuICBzZXZlcml0eT86IFNldmVyaXR5O1xuICBhY3Rpb246ICgpID0+IHZvaWQ7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RGltZW5zaW9uU3R5bGVzKHR5cGU6ICdoZWlnaHQnIHwgJ3dpZHRoJywgdmFsdWU6IERpbWVuc2lvbikge1xuICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCB8fCB0eXBlb2YgdmFsdWUgPT09ICdib29sZWFuJykgcmV0dXJuIHt9O1xuICByZXR1cm4geyBbdHlwZV06IGRpbWVuc2lvbkZvcm1hdCh2YWx1ZSkgfTtcbn1cblxuY29uc3QgZGltZW5zaW9uRm9ybWF0ID0gKHZhbHVlOiBEaW1lbnNpb24pOiBzdHJpbmcgPT4ge1xuICBjb25zdCByYXcgPSBTdHJpbmcodmFsdWUpLnRyaW0oKTtcbiAgaWYgKHJhdyA9PT0gJycgfHwgcmF3LnRvTG93ZXJDYXNlKCkgPT09ICdhdXRvJykgcmV0dXJuICdhdXRvJztcbiAgaWYgKHJhdyA9PT0gJ3ctZmlsbCcpIHJldHVybiAnMTAwJSc7XG4gIGlmICgvXlxcZCsoXFwuXFxkKyk/KHB4fCV8cmVtfGVtfHZofHZ3fGNoKSQvLnRlc3QocmF3KSkgcmV0dXJuIHJhdztcbiAgaWYgKC9eXFxkKyhcXC5cXGQrKT8kLy50ZXN0KHJhdykpIHJldHVybiBgJHtyYXd9cHhgO1xuICByZXR1cm4gcmF3O1xufTsiXX0=
@@ -0,0 +1,26 @@
1
+ export const DEFAULT_TABLE_OPTIONS = {
2
+ search: { type: 'auto', show: true, placeholder: 'Buscar...' },
3
+ table: { totalRecordsLabel: 'Registros' },
4
+ empty: { show: true, title: 'Sem dados', text: 'Nada por aqui.' },
5
+ pagination: { show: true, rowsPerPage: 10, rowsPerPageOptions: [5, 10, 25] },
6
+ cells: {
7
+ tag: {
8
+ color: '#fff',
9
+ backgroundColor: 'rgb(155 213 255);',
10
+ maxItems: 3,
11
+ tooltip: 'Teste Tooltip',
12
+ icon: 'fas fa-eye'
13
+ },
14
+ button: {
15
+ priority: 'primary',
16
+ tooltip: 'Teste Tooltip',
17
+ icon: 'fas fa-eye',
18
+ label: 'TESTE LABEL',
19
+ disabled: true,
20
+ },
21
+ checkbox: {
22
+ selectAll: true,
23
+ }
24
+ }
25
+ };
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUudHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2NvcmUvdHlwZXMvdGFibGUudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBaUVBLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFpQjtJQUNqRCxNQUFNLEVBQUUsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRTtJQUM5RCxLQUFLLEVBQUUsRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUU7SUFDekMsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRTtJQUNqRSxVQUFVLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxFQUFFLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFO0lBQzVFLEtBQUssRUFBRTtRQUNMLEdBQUcsRUFBRTtZQUNILEtBQUssRUFBRSxNQUFNO1lBQ2IsZUFBZSxFQUFFLG1CQUFtQjtZQUNwQyxRQUFRLEVBQUUsQ0FBQztZQUNYLE9BQU8sRUFBRSxlQUFlO1lBQ3hCLElBQUksRUFBRSxZQUFZO1NBQ25CO1FBQ0QsTUFBTSxFQUFFO1lBQ04sUUFBUSxFQUFFLFNBQVM7WUFDbkIsT0FBTyxFQUFFLGVBQWU7WUFDeEIsSUFBSSxFQUFFLFlBQVk7WUFDbEIsS0FBSyxFQUFFLGFBQWE7WUFDcEIsUUFBUSxFQUFFLElBQUk7U0FDZjtRQUNELFFBQVEsRUFBRTtZQUNSLFNBQVMsRUFBRSxJQUFJO1NBQ2hCO0tBQ0Y7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2VhcmNoVHJpZ2dlck1vZGUgfSBmcm9tIFwiLi9zZWFyY2hib3gudHlwZVwiO1xuaW1wb3J0IHsgUHJpb3JpdHksIFNpemUgfSBmcm9tIFwiLi9zZW1hbnRpY3MudHlwZVwiO1xuXG5leHBvcnQgdHlwZSBUYWJsZUNvbHVtblR5cGUgPSAnY2hlY2tib3gnIHwgJ2J1dHRvbicgfCAndGV4dCcgfCAnbnVtYmVyJyB8ICdjdXJyZW5jeScgfCAnZGF0ZScgfCAnY2hlY2tib3gtc2VsZWN0aW9uJyB8ICd0YWcnXG5cbmV4cG9ydCBpbnRlcmZhY2UgVGFibGVDb2x1bW48VCBleHRlbmRzIFJvd0Jhc2UgPSBSb3dCYXNlPiB7XG4gIGZpZWxkPzogc3RyaW5nO1xuICBoZWFkZXI6IHN0cmluZztcbiAgdHlwZTogVGFibGVDb2x1bW5UeXBlO1xuICBhY3Rpb25GaWVsZD86IGtleW9mIFQgJiBzdHJpbmc7XG4gIGZvcm1hdD86IHN0cmluZztcbiAgc29ydGFibGU/OiBib29sZWFuO1xuICBzZWFyY2hhYmxlPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IHR5cGUgUm93QmFzZSA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuXG5leHBvcnQgaW50ZXJmYWNlIENoZWNrYm94Q2VsbE9wdGlvbnMge1xuICBzZWxlY3RBbGw/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJ1dHRvbkNlbGxPcHRpb25zIHtcbiAgcHJpb3JpdHk/OiBQcmlvcml0eTtcbiAgbGFiZWw/OiBzdHJpbmc7XG4gIGljb24/OiBzdHJpbmc7XG4gIHNpemU/OiBTaXplO1xuICB0b29sdGlwPzogc3RyaW5nO1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGFnQ2VsbE9wdGlvbnMge1xuICBjb2xvcj86IHN0cmluZztcbiAgYmFja2dyb3VuZENvbG9yPzogc3RyaW5nO1xuICBpY29uPzogc3RyaW5nO1xuICBtYXhJdGVtcz86IG51bWJlcjtcbiAgdG9vbHRpcD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUYWJsZU9wdGlvbnMge1xuICBzZWFyY2g/OiB7XG4gICAgdHlwZT86IFNlYXJjaFRyaWdnZXJNb2RlO1xuICAgIHNob3c/OiBib29sZWFuO1xuICAgIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICB9O1xuICB0YWJsZT86IHtcbiAgICB0b3RhbFJlY29yZHNMYWJlbD86IHN0cmluZztcbiAgfTtcbiAgZW1wdHk/OiB7XG4gICAgc2hvdz86IGJvb2xlYW47XG4gICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgdGV4dD86IHN0cmluZztcbiAgfTtcbiAgcGFnaW5hdGlvbj86IHtcbiAgICBzaG93PzogYm9vbGVhbjtcbiAgICByb3dzUGVyUGFnZT86IG51bWJlcjtcbiAgICByb3dzUGVyUGFnZU9wdGlvbnM/OiBudW1iZXJbXTtcbiAgfTtcblxuICBjZWxscz86IHtcbiAgICBjaGVja2JveD86IENoZWNrYm94Q2VsbE9wdGlvbnM7XG4gICAgYnV0dG9uPzogQnV0dG9uQ2VsbE9wdGlvbnM7XG4gICAgdGFnPzogVGFnQ2VsbE9wdGlvbnM7XG4gIH07XG59XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX1RBQkxFX09QVElPTlM6IFRhYmxlT3B0aW9ucyA9IHtcbiAgc2VhcmNoOiB7IHR5cGU6ICdhdXRvJywgc2hvdzogdHJ1ZSwgcGxhY2Vob2xkZXI6ICdCdXNjYXIuLi4nIH0sXG4gIHRhYmxlOiB7IHRvdGFsUmVjb3Jkc0xhYmVsOiAnUmVnaXN0cm9zJyB9LFxuICBlbXB0eTogeyBzaG93OiB0cnVlLCB0aXRsZTogJ1NlbSBkYWRvcycsIHRleHQ6ICdOYWRhIHBvciBhcXVpLicgfSxcbiAgcGFnaW5hdGlvbjogeyBzaG93OiB0cnVlLCByb3dzUGVyUGFnZTogMTAsIHJvd3NQZXJQYWdlT3B0aW9uczogWzUsIDEwLCAyNV0gfSxcbiAgY2VsbHM6IHtcbiAgICB0YWc6IHtcbiAgICAgIGNvbG9yOiAnI2ZmZicsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6ICdyZ2IoMTU1IDIxMyAyNTUpOycsXG4gICAgICBtYXhJdGVtczogMyxcbiAgICAgIHRvb2x0aXA6ICdUZXN0ZSBUb29sdGlwJyxcbiAgICAgIGljb246ICdmYXMgZmEtZXllJ1xuICAgIH0sXG4gICAgYnV0dG9uOiB7XG4gICAgICBwcmlvcml0eTogJ3ByaW1hcnknLFxuICAgICAgdG9vbHRpcDogJ1Rlc3RlIFRvb2x0aXAnLFxuICAgICAgaWNvbjogJ2ZhcyBmYS1leWUnLFxuICAgICAgbGFiZWw6ICdURVNURSBMQUJFTCcsXG4gICAgICBkaXNhYmxlZDogdHJ1ZSxcbiAgICB9LFxuICAgIGNoZWNrYm94OiB7XG4gICAgICBzZWxlY3RBbGw6IHRydWUsXG4gICAgfVxuICB9XG59O1xuXG5leHBvcnQgdHlwZSBTb3J0T3JkZXIgPSAxIHwgLTEgfCAwO1xuXG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QudHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9zcmMvY29yZS90eXBlcy90b2FzdC50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJ0eXBlIEJhc2VUb2FzdCA9IHtcbiAgICB0aXRsZT86IHN0cmluZztcbiAgICB0ZXh0Pzogc3RyaW5nO1xuICAgIHNldmVyaXR5OiBcInN1Y2Nlc3NcIiB8IFwiZXJyb3JcIiB8IFwiaW5mb1wiIHwgXCJ3YXJuaW5nXCI7XG4gICAgY2xvc2FibGU/OiBib29sZWFuO1xufTtcblxudHlwZSBUb2FzdFdpdGhEdXJhdGlvbiA9IEJhc2VUb2FzdCAmIHtcbiAgICBzdGlja3k/OiBmYWxzZTtcbiAgICBkdXJhdGlvbj86IG51bWJlcjtcbn07XG5cbnR5cGUgVG9hc3RTdGlja3kgPSBCYXNlVG9hc3QgJiB7XG4gICAgc3RpY2t5OiB0cnVlO1xuICAgIGR1cmF0aW9uPzogbmV2ZXI7XG59O1xuXG5leHBvcnQgdHlwZSBUb2FzdCA9IFRvYXN0V2l0aER1cmF0aW9uIHwgVG9hc3RTdGlja3k7XG4iXX0=
@@ -0,0 +1,10 @@
1
+ export function isMobile() {
2
+ return window.innerWidth <= 768;
3
+ }
4
+ export function isTablet() {
5
+ return window.innerWidth > 768 && window.innerWidth <= 1024;
6
+ }
7
+ export function isDesktop() {
8
+ return window.innerWidth > 1024;
9
+ }
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2NvcmUvdXRpbHMvbGF5b3V0LnV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLFFBQVE7SUFDdEIsT0FBTyxNQUFNLENBQUMsVUFBVSxJQUFJLEdBQUcsQ0FBQztBQUNsQyxDQUFDO0FBRUQsTUFBTSxVQUFVLFFBQVE7SUFDdEIsT0FBTyxNQUFNLENBQUMsVUFBVSxHQUFHLEdBQUcsSUFBSSxNQUFNLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQztBQUM5RCxDQUFDO0FBRUQsTUFBTSxVQUFVLFNBQVM7SUFDdkIsT0FBTyxNQUFNLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztBQUNsQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGlzTW9iaWxlKCk6IGJvb2xlYW4ge1xuICByZXR1cm4gd2luZG93LmlubmVyV2lkdGggPD0gNzY4O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNUYWJsZXQoKTogYm9vbGVhbiB7XG4gIHJldHVybiB3aW5kb3cuaW5uZXJXaWR0aCA+IDc2OCAmJiB3aW5kb3cuaW5uZXJXaWR0aCA8PSAxMDI0O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNEZXNrdG9wKCk6IGJvb2xlYW4ge1xuICByZXR1cm4gd2luZG93LmlubmVyV2lkdGggPiAxMDI0O1xufVxuIl19
@@ -1,33 +1,35 @@
1
- import { ButtonModule } from 'primeng/button';
2
1
  import { CommonModule } from '@angular/common';
3
2
  import { Component, EventEmitter, Input, Output } from '@angular/core';
3
+ import { ButtonModule } from "@seniorsistemas/angular-components/button";
4
4
  import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/common";
6
- import * as i2 from "primeng/button";
5
+ import * as i1 from "@seniorsistemas/angular-components/button";
7
6
  export class ButtonComponent {
8
7
  disabled = false;
9
- icon = false;
8
+ width = '10rem';
9
+ icon;
10
10
  id = 'button-id';
11
- label = 'Button';
12
- severity = 'primary';
11
+ label = '';
12
+ priority = 'primary';
13
13
  size = undefined;
14
14
  type = 'button';
15
15
  onClick = new EventEmitter();
16
16
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
17
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ButtonComponent, isStandalone: true, selector: "sdc-button", inputs: { disabled: "disabled", icon: "icon", id: "id", label: "label", severity: "severity", size: "size", type: "type" }, outputs: { onClick: "onClick" }, ngImport: i0, template: "<p-button\n (onClick)=\"onClick.emit($event)\"\n [disabled]=\"disabled\"\n [id]=\"id\"\n [severity]=\"severity\"\n [size]=\"size\"\n [type]=\"type\"\n>\n <i *ngIf=\"icon\" [class]=\"icon\"></i>\n <span>{{ label }}</span>\n</p-button>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i2.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "fluid", "buttonProps"], outputs: ["onClick", "onFocus", "onBlur"] }] });
17
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ButtonComponent, isStandalone: true, selector: "sdc-button", inputs: { disabled: "disabled", width: "width", icon: "icon", id: "id", label: "label", priority: "priority", size: "size", type: "type" }, outputs: { onClick: "onClick" }, ngImport: i0, template: "<div [style.width]=\"width\">\n <s-button\n class=\"sdc-button-el\"\n (clicked)=\"onClick.emit($event)\"\n [disabled]=\"disabled\"\n [id]=\"id\"\n [size]=\"size\"\n [type]=\"type\"\n [priority]=\"priority\"\n [iconClass]=\"icon\"\n [label]=\"label\">\n </s-button>\n</div>\n", styles: ["::ng-deep .s-button-priority-primary .s-button-icon{color:#fff!important}::ng-deep s-button button:disabled{pointer-events:none;cursor:not-allowed}::ng-deep s-button button{min-width:100%!important;width:100%!important;max-width:100%!important}::ng-deep s-button{min-width:100%!important;width:100%!important;max-width:100%!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1.ButtonComponent, selector: "s-button", inputs: ["id", "label", "tooltip", "tooltipPosition", "iconClass", "rightIconClass", "caret", "styleClass", "baseZIndex", "disabled", "auxiliary", "type", "priority", "menuOptions", "size", "slide", "animation", "badge", "iconColor"], outputs: ["clicked"] }] });
18
18
  }
19
19
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ButtonComponent, decorators: [{
20
20
  type: Component,
21
- args: [{ imports: [CommonModule, ButtonModule], standalone: true, selector: 'sdc-button', template: "<p-button\n (onClick)=\"onClick.emit($event)\"\n [disabled]=\"disabled\"\n [id]=\"id\"\n [severity]=\"severity\"\n [size]=\"size\"\n [type]=\"type\"\n>\n <i *ngIf=\"icon\" [class]=\"icon\"></i>\n <span>{{ label }}</span>\n</p-button>\n" }]
21
+ args: [{ imports: [CommonModule, ButtonModule], standalone: true, selector: 'sdc-button', template: "<div [style.width]=\"width\">\n <s-button\n class=\"sdc-button-el\"\n (clicked)=\"onClick.emit($event)\"\n [disabled]=\"disabled\"\n [id]=\"id\"\n [size]=\"size\"\n [type]=\"type\"\n [priority]=\"priority\"\n [iconClass]=\"icon\"\n [label]=\"label\">\n </s-button>\n</div>\n", styles: ["::ng-deep .s-button-priority-primary .s-button-icon{color:#fff!important}::ng-deep s-button button:disabled{pointer-events:none;cursor:not-allowed}::ng-deep s-button button{min-width:100%!important;width:100%!important;max-width:100%!important}::ng-deep s-button{min-width:100%!important;width:100%!important;max-width:100%!important}\n"] }]
22
22
  }], propDecorators: { disabled: [{
23
23
  type: Input
24
+ }], width: [{
25
+ type: Input
24
26
  }], icon: [{
25
27
  type: Input
26
28
  }], id: [{
27
29
  type: Input
28
30
  }], label: [{
29
31
  type: Input
30
- }], severity: [{
32
+ }], priority: [{
31
33
  type: Input
32
34
  }], size: [{
33
35
  type: Input
@@ -36,4 +38,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
36
38
  }], onClick: [{
37
39
  type: Output
38
40
  }] } });
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9zcmMvZmVhdHVyZXMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL2J1dHRvbi9idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTlDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBU3ZFLE1BQU0sT0FBTyxlQUFlO0lBQ2pCLFFBQVEsR0FBWSxLQUFLLENBQUM7SUFDMUIsSUFBSSxHQUFxQixLQUFLLENBQUM7SUFDL0IsRUFBRSxHQUFXLFdBQVcsQ0FBQztJQUN6QixLQUFLLEdBQVcsUUFBUSxDQUFDO0lBQ3pCLFFBQVEsR0FBYSxTQUFTLENBQUM7SUFDL0IsSUFBSSxHQUFTLFNBQVMsQ0FBQztJQUN2QixJQUFJLEdBQVcsUUFBUSxDQUFDO0lBQ3ZCLE9BQU8sR0FBd0IsSUFBSSxZQUFZLEVBQVMsQ0FBQzt3R0FSeEQsZUFBZTs0RkFBZixlQUFlLG1PQ1o1QixxUUFXQSx5RERMWSxZQUFZLGtJQUFFLFlBQVk7OzRGQU16QixlQUFlO2tCQVAzQixTQUFTOzhCQUNDLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQyxjQUN6QixJQUFJLFlBQ04sWUFBWTs4QkFLYixRQUFRO3NCQUFoQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDSSxPQUFPO3NCQUFoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQnV0dG9uTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9idXR0b24nO1xuaW1wb3J0IHsgQnV0dG9uLCBTZXZlcml0eSwgU2l6ZSB9IGZyb20gJy4uLy4uL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBCdXR0b25Nb2R1bGVdLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ3NkYy1idXR0b24nLFxuICB0ZW1wbGF0ZVVybDogJy4vYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2J1dHRvbi5jb21wb25lbnQuc2Nzcydcbn0pXG5leHBvcnQgY2xhc3MgQnV0dG9uQ29tcG9uZW50IHtcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgaWNvbjogc3RyaW5nIHwgYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBpZDogc3RyaW5nID0gJ2J1dHRvbi1pZCc7XG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmcgPSAnQnV0dG9uJztcbiAgQElucHV0KCkgc2V2ZXJpdHk6IFNldmVyaXR5ID0gJ3ByaW1hcnknO1xuICBASW5wdXQoKSBzaXplOiBTaXplID0gdW5kZWZpbmVkO1xuICBASW5wdXQoKSB0eXBlOiBCdXR0b24gPSAnYnV0dG9uJztcbiAgQE91dHB1dCgpIG9uQ2xpY2s6IEV2ZW50RW1pdHRlcjxFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xufVxuIiwiPHAtYnV0dG9uXG4gICAgKG9uQ2xpY2spPVwib25DbGljay5lbWl0KCRldmVudClcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW2lkXT1cImlkXCJcbiAgICBbc2V2ZXJpdHldPVwic2V2ZXJpdHlcIlxuICAgIFtzaXplXT1cInNpemVcIlxuICAgIFt0eXBlXT1cInR5cGVcIlxuPlxuICAgIDxpICpuZ0lmPVwiaWNvblwiIFtjbGFzc109XCJpY29uXCI+PC9pPlxuICAgIDxzcGFuPnt7IGxhYmVsIH19PC9zcGFuPlxuPC9wLWJ1dHRvbj5cbiJdfQ==
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9zcmMvZmVhdHVyZXMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL2J1dHRvbi9idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFlLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJDQUEyQyxDQUFDOzs7QUFVekUsTUFBTSxPQUFPLGVBQWU7SUFDakIsUUFBUSxHQUFZLEtBQUssQ0FBQztJQUMxQixLQUFLLEdBQWMsT0FBTyxDQUFDO0lBQzNCLElBQUksQ0FBcUI7SUFDekIsRUFBRSxHQUFXLFdBQVcsQ0FBQztJQUN6QixLQUFLLEdBQVcsRUFBRSxDQUFDO0lBQ25CLFFBQVEsR0FBYSxTQUFTLENBQUM7SUFDL0IsSUFBSSxHQUFTLFNBQVMsQ0FBQztJQUN2QixJQUFJLEdBQVcsUUFBUSxDQUFDO0lBQ3ZCLE9BQU8sR0FBRyxJQUFJLFlBQVksRUFBUyxDQUFDO3dHQVRuQyxlQUFlOzRGQUFmLGVBQWUsbVBDWjVCLGlUQWFBLHlZRFBZLFlBQVksOEJBQUUsWUFBWTs7NEZBTXpCLGVBQWU7a0JBUDNCLFNBQVM7OEJBQ0MsQ0FBQyxZQUFZLEVBQUUsWUFBWSxDQUFDLGNBQ3pCLElBQUksWUFDTixZQUFZOzhCQUtiLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDSSxPQUFPO3NCQUFoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQnV0dG9uTW9kdWxlIH0gZnJvbSBcIkBzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvYnV0dG9uXCI7XG5pbXBvcnQgeyBCdXR0b24sIERpbWVuc2lvbiwgZ2V0RGltZW5zaW9uU3R5bGVzLCBQcmlvcml0eSwgU2l6ZSB9IGZyb20gJy4uLy4uL3B1YmxpYy1hcGknO1xuXG5AQ29tcG9uZW50KHtcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgQnV0dG9uTW9kdWxlXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdzZGMtYnV0dG9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2J1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2J1dHRvbi5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEJ1dHRvbkNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHdpZHRoOiBEaW1lbnNpb24gPSAnMTByZW0nO1xuICBASW5wdXQoKSBpY29uOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIGlkOiBzdHJpbmcgPSAnYnV0dG9uLWlkJztcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBwcmlvcml0eTogUHJpb3JpdHkgPSAncHJpbWFyeSc7XG4gIEBJbnB1dCgpIHNpemU6IFNpemUgPSB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIHR5cGU6IEJ1dHRvbiA9ICdidXR0b24nO1xuICBAT3V0cHV0KCkgb25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XG59XG4iLCI8ZGl2IFtzdHlsZS53aWR0aF09XCJ3aWR0aFwiPlxuICA8cy1idXR0b25cbiAgICBjbGFzcz1cInNkYy1idXR0b24tZWxcIlxuICAgIChjbGlja2VkKT1cIm9uQ2xpY2suZW1pdCgkZXZlbnQpXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIFtpZF09XCJpZFwiXG4gICAgW3NpemVdPVwic2l6ZVwiXG4gICAgW3R5cGVdPVwidHlwZVwiXG4gICAgW3ByaW9yaXR5XT1cInByaW9yaXR5XCJcbiAgICBbaWNvbkNsYXNzXT1cImljb25cIlxuICAgIFtsYWJlbF09XCJsYWJlbFwiPlxuICA8L3MtYnV0dG9uPlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,80 @@
1
+ import { Component, Input, Output, EventEmitter, forwardRef } from "@angular/core";
2
+ import { CommonModule } from "@angular/common";
3
+ import { NG_VALUE_ACCESSOR } from "@angular/forms";
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common";
6
+ let nextId = 0;
7
+ export class CheckboxComponent {
8
+ label = "";
9
+ disabled = false;
10
+ commonCheckbox = false;
11
+ labelPosition = 'right';
12
+ size = 'medium';
13
+ checked = false;
14
+ checkedChange = new EventEmitter();
15
+ inputId = `sdc-checkbox-${++nextId}`;
16
+ onChange = () => { };
17
+ onTouched = () => { };
18
+ writeValue(value) {
19
+ this.checked = !!value;
20
+ }
21
+ registerOnChange(fn) {
22
+ this.onChange = fn;
23
+ }
24
+ registerOnTouched(fn) {
25
+ this.onTouched = fn;
26
+ }
27
+ setDisabledState(isDisabled) {
28
+ this.disabled = isDisabled;
29
+ }
30
+ toggleChecked() {
31
+ if (this.disabled)
32
+ return;
33
+ this.checked = !this.checked;
34
+ this.onChange(this.checked);
35
+ this.checkedChange.emit(this.checked);
36
+ this.onTouched();
37
+ }
38
+ onInputChange(ev) {
39
+ if (this.disabled)
40
+ return;
41
+ const el = ev.target;
42
+ this.checked = !!el.checked;
43
+ this.onChange(this.checked);
44
+ this.checkedChange.emit(this.checked);
45
+ this.onTouched();
46
+ }
47
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
48
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CheckboxComponent, isStandalone: true, selector: "sdc-checkbox", inputs: { label: "label", disabled: "disabled", commonCheckbox: "commonCheckbox", labelPosition: "labelPosition", size: "size", checked: "checked" }, outputs: { checkedChange: "checkedChange" }, providers: [
49
+ {
50
+ provide: NG_VALUE_ACCESSOR,
51
+ useExisting: forwardRef(() => CheckboxComponent),
52
+ multi: true
53
+ }
54
+ ], ngImport: i0, template: "<!-- Nativo -->\n<label\n *ngIf=\"commonCheckbox\"\n class=\"sdc-checkbox sdc-checkbox--native\"\n [class.sdc-checkbox--disabled]=\"disabled\"\n [class.sdc-checkbox--label-left]=\"labelPosition === 'left'\"\n [class.sdc-checkbox--small]=\"size === 'small'\"\n [class.sdc-checkbox--medium]=\"size === 'medium'\"\n [class.sdc-checkbox--large]=\"size === 'large'\"\n [attr.aria-disabled]=\"disabled\"\n>\n <input\n class=\"sdc-checkbox__input-native\"\n type=\"checkbox\"\n [id]=\"inputId\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n (change)=\"onInputChange($event)\"\n [attr.aria-checked]=\"checked\"\n [attr.role]=\"'checkbox'\"\n />\n <span *ngIf=\"label\" class=\"sdc-checkbox__label\">{{ label }}</span>\n</label>\n\n<!-- Custom -->\n<label\n *ngIf=\"!commonCheckbox\"\n class=\"sdc-checkbox\"\n [class.sdc-checkbox--disabled]=\"disabled\"\n [class.sdc-checkbox--label-left]=\"labelPosition === 'left'\"\n [class.sdc-checkbox--small]=\"size === 'small'\"\n [class.sdc-checkbox--medium]=\"size === 'medium'\"\n [class.sdc-checkbox--large]=\"size === 'large'\"\n [attr.aria-disabled]=\"disabled\"\n>\n <input\n class=\"sdc-checkbox__input\"\n type=\"checkbox\"\n [id]=\"inputId\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n (change)=\"onInputChange($event)\"\n [attr.aria-checked]=\"checked\"\n [attr.role]=\"'checkbox'\"\n />\n <span class=\"sdc-checkbox__box\" aria-hidden=\"true\"></span>\n <span *ngIf=\"label\" class=\"sdc-checkbox__label\">{{ label }}</span>\n</label>\n", styles: [":host{display:inline-flex}.sdc-checkbox{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.sdc-checkbox--disabled{cursor:not-allowed;opacity:.6}.sdc-checkbox--label-left{flex-direction:row-reverse}.sdc-checkbox--native .sdc-checkbox__input-native{width:var(--sdc-chk-size);height:var(--sdc-chk-size)}.sdc-checkbox--small{--sdc-chk-size: 14px}.sdc-checkbox--medium{--sdc-chk-size: 18px}.sdc-checkbox--large{--sdc-chk-size: 24px}.sdc-checkbox__input{position:absolute;opacity:0;width:0;height:0}.sdc-checkbox__box{width:var(--sdc-chk-size);height:var(--sdc-chk-size);border:2px solid var(--sdc-chk-border);border-radius:var(--sdc-chk-radius);display:inline-block;position:relative;transition:all .15s ease-in-out;flex:0 0 auto}.sdc-checkbox__input:focus-visible+.sdc-checkbox__box{outline:2px solid var(--sdc-chk-focus);outline-offset:2px}.sdc-checkbox__input:checked+.sdc-checkbox__box{background-color:var(--sdc-chk-color);border-color:var(--sdc-chk-color)}.sdc-checkbox__input:checked+.sdc-checkbox__box:after{content:\"\";position:absolute;left:calc(var(--sdc-chk-size) * .22);top:calc(var(--sdc-chk-size) * .02);width:calc(var(--sdc-chk-size) * .3);height:calc(var(--sdc-chk-size) * .6);border:solid #fff;border-width:0 max(2px,var(--sdc-chk-size) * .1) max(2px,var(--sdc-chk-size) * .1) 0;transform:rotate(45deg);box-sizing:border-box}.sdc-checkbox__label{font-size:14px;line-height:1;align-self:center}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
55
+ }
56
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CheckboxComponent, decorators: [{
57
+ type: Component,
58
+ args: [{ standalone: true, selector: "sdc-checkbox", imports: [CommonModule], providers: [
59
+ {
60
+ provide: NG_VALUE_ACCESSOR,
61
+ useExisting: forwardRef(() => CheckboxComponent),
62
+ multi: true
63
+ }
64
+ ], template: "<!-- Nativo -->\n<label\n *ngIf=\"commonCheckbox\"\n class=\"sdc-checkbox sdc-checkbox--native\"\n [class.sdc-checkbox--disabled]=\"disabled\"\n [class.sdc-checkbox--label-left]=\"labelPosition === 'left'\"\n [class.sdc-checkbox--small]=\"size === 'small'\"\n [class.sdc-checkbox--medium]=\"size === 'medium'\"\n [class.sdc-checkbox--large]=\"size === 'large'\"\n [attr.aria-disabled]=\"disabled\"\n>\n <input\n class=\"sdc-checkbox__input-native\"\n type=\"checkbox\"\n [id]=\"inputId\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n (change)=\"onInputChange($event)\"\n [attr.aria-checked]=\"checked\"\n [attr.role]=\"'checkbox'\"\n />\n <span *ngIf=\"label\" class=\"sdc-checkbox__label\">{{ label }}</span>\n</label>\n\n<!-- Custom -->\n<label\n *ngIf=\"!commonCheckbox\"\n class=\"sdc-checkbox\"\n [class.sdc-checkbox--disabled]=\"disabled\"\n [class.sdc-checkbox--label-left]=\"labelPosition === 'left'\"\n [class.sdc-checkbox--small]=\"size === 'small'\"\n [class.sdc-checkbox--medium]=\"size === 'medium'\"\n [class.sdc-checkbox--large]=\"size === 'large'\"\n [attr.aria-disabled]=\"disabled\"\n>\n <input\n class=\"sdc-checkbox__input\"\n type=\"checkbox\"\n [id]=\"inputId\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n (change)=\"onInputChange($event)\"\n [attr.aria-checked]=\"checked\"\n [attr.role]=\"'checkbox'\"\n />\n <span class=\"sdc-checkbox__box\" aria-hidden=\"true\"></span>\n <span *ngIf=\"label\" class=\"sdc-checkbox__label\">{{ label }}</span>\n</label>\n", styles: [":host{display:inline-flex}.sdc-checkbox{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.sdc-checkbox--disabled{cursor:not-allowed;opacity:.6}.sdc-checkbox--label-left{flex-direction:row-reverse}.sdc-checkbox--native .sdc-checkbox__input-native{width:var(--sdc-chk-size);height:var(--sdc-chk-size)}.sdc-checkbox--small{--sdc-chk-size: 14px}.sdc-checkbox--medium{--sdc-chk-size: 18px}.sdc-checkbox--large{--sdc-chk-size: 24px}.sdc-checkbox__input{position:absolute;opacity:0;width:0;height:0}.sdc-checkbox__box{width:var(--sdc-chk-size);height:var(--sdc-chk-size);border:2px solid var(--sdc-chk-border);border-radius:var(--sdc-chk-radius);display:inline-block;position:relative;transition:all .15s ease-in-out;flex:0 0 auto}.sdc-checkbox__input:focus-visible+.sdc-checkbox__box{outline:2px solid var(--sdc-chk-focus);outline-offset:2px}.sdc-checkbox__input:checked+.sdc-checkbox__box{background-color:var(--sdc-chk-color);border-color:var(--sdc-chk-color)}.sdc-checkbox__input:checked+.sdc-checkbox__box:after{content:\"\";position:absolute;left:calc(var(--sdc-chk-size) * .22);top:calc(var(--sdc-chk-size) * .02);width:calc(var(--sdc-chk-size) * .3);height:calc(var(--sdc-chk-size) * .6);border:solid #fff;border-width:0 max(2px,var(--sdc-chk-size) * .1) max(2px,var(--sdc-chk-size) * .1) 0;transform:rotate(45deg);box-sizing:border-box}.sdc-checkbox__label{font-size:14px;line-height:1;align-self:center}\n"] }]
65
+ }], propDecorators: { label: [{
66
+ type: Input
67
+ }], disabled: [{
68
+ type: Input
69
+ }], commonCheckbox: [{
70
+ type: Input
71
+ }], labelPosition: [{
72
+ type: Input
73
+ }], size: [{
74
+ type: Input
75
+ }], checked: [{
76
+ type: Input
77
+ }], checkedChange: [{
78
+ type: Output
79
+ }] } });
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL3NyYy9mZWF0dXJlcy9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUV6RSxJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUM7QUFnQmYsTUFBTSxPQUFPLGlCQUFpQjtJQUNuQixLQUFLLEdBQVcsRUFBRSxDQUFDO0lBQ25CLFFBQVEsR0FBWSxLQUFLLENBQUM7SUFDMUIsY0FBYyxHQUFZLEtBQUssQ0FBQztJQUNoQyxhQUFhLEdBQXFCLE9BQU8sQ0FBQztJQUMxQyxJQUFJLEdBQWlDLFFBQVEsQ0FBQztJQUU5QyxPQUFPLEdBQVksS0FBSyxDQUFDO0lBQ3hCLGFBQWEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0lBRXRELE9BQU8sR0FBRyxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUU3QixRQUFRLEdBQTJCLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztJQUM1QyxTQUFTLEdBQWUsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO0lBRXpDLFVBQVUsQ0FBQyxLQUFjO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUN6QixDQUFDO0lBQ0QsZ0JBQWdCLENBQUMsRUFBMEI7UUFDekMsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUNELGlCQUFpQixDQUFDLEVBQWM7UUFDOUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUNELGdCQUFnQixDQUFDLFVBQW1CO1FBQ2xDLElBQUksQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDO0lBQzdCLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxJQUFJLENBQUMsUUFBUTtZQUFFLE9BQU87UUFDMUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDN0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsYUFBYSxDQUFDLEVBQVM7UUFDckIsSUFBSSxJQUFJLENBQUMsUUFBUTtZQUFFLE9BQU87UUFDMUIsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLE1BQTBCLENBQUM7UUFDekMsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQztRQUM1QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM1QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7d0dBM0NVLGlCQUFpQjs0RkFBakIsaUJBQWlCLDhQQVJqQjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsaUJBQWlCLENBQUM7Z0JBQ2hELEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRiwwQkNsQkgsK2hEQWdEQSxnL0NEdkNZLFlBQVk7OzRGQVdYLGlCQUFpQjtrQkFkN0IsU0FBUztpQ0FDSSxJQUFJLFlBQ04sY0FBYyxXQUNmLENBQUMsWUFBWSxDQUFDLGFBR1o7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsa0JBQWtCLENBQUM7NEJBQ2hELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGOzhCQUdRLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsT0FBTztzQkFBZixLQUFLO2dCQUNJLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgZm9yd2FyZFJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcblxubGV0IG5leHRJZCA9IDA7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogXCJzZGMtY2hlY2tib3hcIixcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiBcIi4vY2hlY2tib3guY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuL2NoZWNrYm94LmNvbXBvbmVudC5zY3NzXCJdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IENoZWNrYm94Q29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIENoZWNrYm94Q29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nID0gXCJcIjtcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgY29tbW9uQ2hlY2tib3g6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgbGFiZWxQb3NpdGlvbjogJ3JpZ2h0JyB8ICdsZWZ0JyA9ICdyaWdodCc7XG4gIEBJbnB1dCgpIHNpemU6ICdzbWFsbCcgfCAnbWVkaXVtJyB8ICdsYXJnZScgPSAnbWVkaXVtJztcblxuICBASW5wdXQoKSBjaGVja2VkOiBib29sZWFuID0gZmFsc2U7XG4gIEBPdXRwdXQoKSBjaGVja2VkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIGlucHV0SWQgPSBgc2RjLWNoZWNrYm94LSR7KytuZXh0SWR9YDtcblxuICBwcml2YXRlIG9uQ2hhbmdlOiAodmFsOiBib29sZWFuKSA9PiB2b2lkID0gKCkgPT4ge307XG4gIHByaXZhdGUgb25Ub3VjaGVkOiAoKSA9PiB2b2lkID0gKCkgPT4ge307XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuY2hlY2tlZCA9ICEhdmFsdWU7XG4gIH1cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbDogYm9vbGVhbikgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gIH1cblxuICB0b2dnbGVDaGVja2VkKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSByZXR1cm47XG4gICAgdGhpcy5jaGVja2VkID0gIXRoaXMuY2hlY2tlZDtcbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuY2hlY2tlZCk7XG4gICAgdGhpcy5jaGVja2VkQ2hhbmdlLmVtaXQodGhpcy5jaGVja2VkKTtcbiAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICB9XG5cbiAgb25JbnB1dENoYW5nZShldjogRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkgcmV0dXJuO1xuICAgIGNvbnN0IGVsID0gZXYudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgdGhpcy5jaGVja2VkID0gISFlbC5jaGVja2VkO1xuICAgIHRoaXMub25DaGFuZ2UodGhpcy5jaGVja2VkKTtcbiAgICB0aGlzLmNoZWNrZWRDaGFuZ2UuZW1pdCh0aGlzLmNoZWNrZWQpO1xuICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gIH1cbn1cbiIsIjwhLS0gTmF0aXZvIC0tPlxuPGxhYmVsXG4gICpuZ0lmPVwiY29tbW9uQ2hlY2tib3hcIlxuICBjbGFzcz1cInNkYy1jaGVja2JveCBzZGMtY2hlY2tib3gtLW5hdGl2ZVwiXG4gIFtjbGFzcy5zZGMtY2hlY2tib3gtLWRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgW2NsYXNzLnNkYy1jaGVja2JveC0tbGFiZWwtbGVmdF09XCJsYWJlbFBvc2l0aW9uID09PSAnbGVmdCdcIlxuICBbY2xhc3Muc2RjLWNoZWNrYm94LS1zbWFsbF09XCJzaXplID09PSAnc21hbGwnXCJcbiAgW2NsYXNzLnNkYy1jaGVja2JveC0tbWVkaXVtXT1cInNpemUgPT09ICdtZWRpdW0nXCJcbiAgW2NsYXNzLnNkYy1jaGVja2JveC0tbGFyZ2VdPVwic2l6ZSA9PT0gJ2xhcmdlJ1wiXG4gIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuPlxuICA8aW5wdXRcbiAgICBjbGFzcz1cInNkYy1jaGVja2JveF9faW5wdXQtbmF0aXZlXCJcbiAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgIFtpZF09XCJpbnB1dElkXCJcbiAgICBbY2hlY2tlZF09XCJjaGVja2VkXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIChjaGFuZ2UpPVwib25JbnB1dENoYW5nZSgkZXZlbnQpXCJcbiAgICBbYXR0ci5hcmlhLWNoZWNrZWRdPVwiY2hlY2tlZFwiXG4gICAgW2F0dHIucm9sZV09XCInY2hlY2tib3gnXCJcbiAgLz5cbiAgPHNwYW4gKm5nSWY9XCJsYWJlbFwiIGNsYXNzPVwic2RjLWNoZWNrYm94X19sYWJlbFwiPnt7IGxhYmVsIH19PC9zcGFuPlxuPC9sYWJlbD5cblxuPCEtLSBDdXN0b20gLS0+XG48bGFiZWxcbiAgKm5nSWY9XCIhY29tbW9uQ2hlY2tib3hcIlxuICBjbGFzcz1cInNkYy1jaGVja2JveFwiXG4gIFtjbGFzcy5zZGMtY2hlY2tib3gtLWRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgW2NsYXNzLnNkYy1jaGVja2JveC0tbGFiZWwtbGVmdF09XCJsYWJlbFBvc2l0aW9uID09PSAnbGVmdCdcIlxuICBbY2xhc3Muc2RjLWNoZWNrYm94LS1zbWFsbF09XCJzaXplID09PSAnc21hbGwnXCJcbiAgW2NsYXNzLnNkYy1jaGVja2JveC0tbWVkaXVtXT1cInNpemUgPT09ICdtZWRpdW0nXCJcbiAgW2NsYXNzLnNkYy1jaGVja2JveC0tbGFyZ2VdPVwic2l6ZSA9PT0gJ2xhcmdlJ1wiXG4gIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuPlxuICA8aW5wdXRcbiAgICBjbGFzcz1cInNkYy1jaGVja2JveF9faW5wdXRcIlxuICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgW2lkXT1cImlucHV0SWRcIlxuICAgIFtjaGVja2VkXT1cImNoZWNrZWRcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgKGNoYW5nZSk9XCJvbklucHV0Q2hhbmdlKCRldmVudClcIlxuICAgIFthdHRyLmFyaWEtY2hlY2tlZF09XCJjaGVja2VkXCJcbiAgICBbYXR0ci5yb2xlXT1cIidjaGVja2JveCdcIlxuICAvPlxuICA8c3BhbiBjbGFzcz1cInNkYy1jaGVja2JveF9fYm94XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9zcGFuPlxuICA8c3BhbiAqbmdJZj1cImxhYmVsXCIgY2xhc3M9XCJzZGMtY2hlY2tib3hfX2xhYmVsXCI+e3sgbGFiZWwgfX08L3NwYW4+XG48L2xhYmVsPlxuIl19
@@ -6,40 +6,56 @@ import { FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/fo
6
6
  import { InputsComponent } from '../inputs';
7
7
  import * as i0 from "@angular/core";
8
8
  import * as i1 from "primeng/autocomplete";
9
- import * as i2 from "@angular/common";
10
- import * as i3 from "@angular/forms";
9
+ import * as i2 from "primeng/api";
10
+ import * as i3 from "@angular/common";
11
+ import * as i4 from "@angular/forms";
11
12
  export class ComboboxComponent extends InputsComponent {
12
13
  filteredItems = [];
13
14
  autocomplete;
15
+ appendTo;
14
16
  zIndex = 9999;
15
17
  options = [];
16
18
  selectedValueEvent = new EventEmitter();
17
19
  ngAfterViewInit() {
18
20
  fixComboBoxOverlay(this.autocomplete, this.zIndex);
19
21
  }
22
+ normalizeOptions() {
23
+ if (Array.isArray(this.options))
24
+ return this.options;
25
+ try {
26
+ const parsed = JSON.parse(this.options || '[]');
27
+ return Array.isArray(parsed) ? parsed : [];
28
+ }
29
+ catch {
30
+ return [];
31
+ }
32
+ }
20
33
  onSearch(event) {
21
- const query = event.query.toLowerCase();
22
- let arr = Array.isArray(this.options) ? this.options : JSON.parse(this.options);
23
- this.filteredItems = arr.filter(i => i.text.toLowerCase().includes(query));
24
- if (this.filteredItems.length === 0) {
25
- this.invalid = true;
34
+ const all = this.normalizeOptions();
35
+ const q = (event?.query ?? '').toString().trim().toLowerCase();
36
+ if (!q) {
37
+ this.filteredItems = all.slice();
38
+ this.invalid = this.filteredItems.length === 0;
39
+ return;
26
40
  }
41
+ this.filteredItems = all.filter(i => (i?.text ?? '').toLowerCase().includes(q));
42
+ this.invalid = this.filteredItems.length === 0;
27
43
  }
28
44
  onInput(event) {
29
45
  super.onInput(event);
30
46
  this.selectedValueEvent.emit(this.value);
31
- if (this.filteredItems.length > 0) {
47
+ if (this.filteredItems?.length > 0) {
32
48
  this.invalid = false;
33
49
  }
34
50
  }
35
51
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ComboboxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
36
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ComboboxComponent, isStandalone: true, selector: "sdc-combobox", inputs: { zIndex: "zIndex", options: "options" }, outputs: { selectedValueEvent: "onSelectedItem" }, providers: [
52
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ComboboxComponent, isStandalone: true, selector: "sdc-combobox", inputs: { appendTo: "appendTo", zIndex: "zIndex", options: "options" }, outputs: { selectedValueEvent: "onSelectedItem" }, providers: [
37
53
  {
38
54
  provide: NG_VALUE_ACCESSOR,
39
55
  useExisting: forwardRef(() => ComboboxComponent),
40
56
  multi: true
41
57
  }
42
- ], viewQueries: [{ propertyName: "autocomplete", first: true, predicate: ["autocomplete"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"field-box\">\n <label *ngIf=\"label\" [for]=\"identity.id\">\n <span>{{ label }}</span>\n <span class=\"required-field\" *ngIf=\"required\"> &bull;</span>\n </label>\n\n <p-autocomplete\n #autocomplete\n (completeMethod)=\"onSearch($event)\"\n (ngModelChange)=\"onInput($event)\"\n [(ngModel)]=\"value\"\n [autoHighlight]=\"true\"\n [disabled]=\"disabled\"\n [dropdown]=\"true\"\n [forceSelection]=\"true\"\n [id]=\"identity.id\"\n [name]=\"identity.name ?? ''\"\n [ngClass]=\"getInvalidClass()\"\n [placeholder]=\"placeholder\"\n [required]=\"required\"\n [showClear]=\"true\"\n [style]=\"getInputStyle()\"\n [suggestions]=\"filteredItems\"\n optionLabel=\"text\"\n optionValue=\"value\"\n />\n\n <small\n *ngIf=\"message\"\n [ngClass]=\"getInvalidMessageClass()\"\n >{{ message }}</small>\n</div>\n\n\n", styles: [""], dependencies: [{ kind: "ngmodule", type: AutoCompleteModule }, { kind: "component", type: i1.AutoComplete, selector: "p-autoComplete, p-autocomplete, p-auto-complete", inputs: ["minLength", "delay", "style", "panelStyle", "styleClass", "panelStyleClass", "inputStyle", "inputId", "inputStyleClass", "placeholder", "readonly", "disabled", "scrollHeight", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "maxlength", "name", "required", "size", "appendTo", "autoHighlight", "forceSelection", "type", "autoZIndex", "baseZIndex", "ariaLabel", "dropdownAriaLabel", "ariaLabelledBy", "dropdownIcon", "unique", "group", "completeOnFocus", "showClear", "field", "dropdown", "showEmptyMessage", "dropdownMode", "multiple", "tabindex", "dataKey", "emptyMessage", "showTransitionOptions", "hideTransitionOptions", "autofocus", "autocomplete", "optionGroupChildren", "optionGroupLabel", "overlayOptions", "suggestions", "itemSize", "optionLabel", "optionValue", "id", "searchMessage", "emptySelectionMessage", "selectionMessage", "autoOptionFocus", "selectOnFocus", "searchLocale", "optionDisabled", "focusOnHover", "typeahead", "variant", "fluid"], outputs: ["completeMethod", "onSelect", "onUnselect", "onFocus", "onBlur", "onDropdownClick", "onClear", "onKeyUp", "onShow", "onHide", "onLazyLoad"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }] });
58
+ ], viewQueries: [{ propertyName: "autocomplete", first: true, predicate: ["autocomplete"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"sdc-combobox\">\n <label *ngIf=\"label\" [for]=\"identity.id\">\n <span>{{ label }}</span>\n <span class=\"required-field\" *ngIf=\"required\"> &bull;</span>\n </label>\n\n <p-autocomplete\n #autocomplete\n dropdownIcon=\"fas fa-caret-down\"\n (completeMethod)=\"onSearch($event)\"\n (ngModelChange)=\"onInput($event)\"\n [(ngModel)]=\"value\"\n [autoHighlight]=\"true\"\n [disabled]=\"disabled\"\n [dropdown]=\"true\"\n [forceSelection]=\"true\"\n [id]=\"identity.id\"\n [name]=\"identity.name ?? ''\"\n [ngClass]=\"getInvalidClass()\"\n [placeholder]=\"placeholder\"\n [required]=\"required\"\n [showClear]=\"true\"\n [style]=\"getInputStyle()\"\n [suggestions]=\"filteredItems\"\n optionLabel=\"text\"\n optionValue=\"value\"\n [appendTo]=\"appendTo\">\n\n <ng-template pTemplate=\"item\" let-opt>\n <div class=\"flex align-items-center gap-2\">\n <i *ngIf=\"opt?.icon\" [class]=\"opt.icon\"></i>\n <span>{{ opt?.text }}</span>\n </div>\n </ng-template>\n\n <ng-template pTemplate=\"selectedItem\" let-opt>\n <div class=\"flex align-items-center gap-2\">\n <i *ngIf=\"opt?.icon\" [class]=\"opt.icon\"></i>\n <span>{{ opt?.text }}</span>\n </div>\n </ng-template>\n </p-autocomplete>\n\n <small *ngIf=\"message\" [ngClass]=\"getInvalidMessageClass()\">{{ message }}</small>\n</div>\n", styles: [".sdc-combobox ::ng-deep .p-inputtext{border:1px solid var(--sdc-formfield-default-border)!important;min-height:var(--sdc-formfield-default-height)!important;height:var(--sdc-formfield-default-height)!important;max-height:var(--sdc-formfield-default-height)!important;line-height:var(--sdc-formfield-default-line-height)!important}.sdc-combobox ::ng-deep .p-inputtext:disabled{background-color:var(--sdc-formfield-disabled-bg)!important}.sdc-combobox ::ng-deep .p-autocomplete-dropdown{border-start-end-radius:var(--sdc-formfield-border-radius)!important;border-end-end-radius:var(--sdc-formfield-border-radius)!important;background-color:var(--sdc-button-bg)!important;border:1px solid var(--sdc-formfield-default-border)!important;border-left:0!important;color:var(--sdc-button-icon-default)!important}.sdc-combobox ::ng-deep .p-autocomplete-dropdown .p-button-icon{color:var(--sdc-button-icon-default)!important}.sdc-combobox ::ng-deep .p-autocomplete-dropdown:hover{transition:var(--sdc-button-bg-hover-transition)!important;background-color:var(--sdc-button-bg-hover)!important}.sdc-combobox ::ng-deep .p-autocomplete input{border-start-start-radius:var(--sdc-formfield-border-radius)!important;border-end-start-radius:var(--sdc-formfield-border-radius)!important}\n"], dependencies: [{ kind: "ngmodule", type: AutoCompleteModule }, { kind: "component", type: i1.AutoComplete, selector: "p-autoComplete, p-autocomplete, p-auto-complete", inputs: ["minLength", "delay", "style", "panelStyle", "styleClass", "panelStyleClass", "inputStyle", "inputId", "inputStyleClass", "placeholder", "readonly", "disabled", "scrollHeight", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "maxlength", "name", "required", "size", "appendTo", "autoHighlight", "forceSelection", "type", "autoZIndex", "baseZIndex", "ariaLabel", "dropdownAriaLabel", "ariaLabelledBy", "dropdownIcon", "unique", "group", "completeOnFocus", "showClear", "field", "dropdown", "showEmptyMessage", "dropdownMode", "multiple", "tabindex", "dataKey", "emptyMessage", "showTransitionOptions", "hideTransitionOptions", "autofocus", "autocomplete", "optionGroupChildren", "optionGroupLabel", "overlayOptions", "suggestions", "itemSize", "optionLabel", "optionValue", "id", "searchMessage", "emptySelectionMessage", "selectionMessage", "autoOptionFocus", "selectOnFocus", "searchLocale", "optionDisabled", "focusOnHover", "typeahead", "variant", "fluid"], outputs: ["completeMethod", "onSelect", "onUnselect", "onFocus", "onBlur", "onDropdownClick", "onClear", "onKeyUp", "onShow", "onHide", "onLazyLoad"] }, { kind: "directive", type: i2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }] });
43
59
  }
44
60
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ComboboxComponent, decorators: [{
45
61
  type: Component,
@@ -49,10 +65,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
49
65
  useExisting: forwardRef(() => ComboboxComponent),
50
66
  multi: true
51
67
  }
52
- ], template: "<div class=\"field-box\">\n <label *ngIf=\"label\" [for]=\"identity.id\">\n <span>{{ label }}</span>\n <span class=\"required-field\" *ngIf=\"required\"> &bull;</span>\n </label>\n\n <p-autocomplete\n #autocomplete\n (completeMethod)=\"onSearch($event)\"\n (ngModelChange)=\"onInput($event)\"\n [(ngModel)]=\"value\"\n [autoHighlight]=\"true\"\n [disabled]=\"disabled\"\n [dropdown]=\"true\"\n [forceSelection]=\"true\"\n [id]=\"identity.id\"\n [name]=\"identity.name ?? ''\"\n [ngClass]=\"getInvalidClass()\"\n [placeholder]=\"placeholder\"\n [required]=\"required\"\n [showClear]=\"true\"\n [style]=\"getInputStyle()\"\n [suggestions]=\"filteredItems\"\n optionLabel=\"text\"\n optionValue=\"value\"\n />\n\n <small\n *ngIf=\"message\"\n [ngClass]=\"getInvalidMessageClass()\"\n >{{ message }}</small>\n</div>\n\n\n" }]
68
+ ], template: "<div class=\"sdc-combobox\">\n <label *ngIf=\"label\" [for]=\"identity.id\">\n <span>{{ label }}</span>\n <span class=\"required-field\" *ngIf=\"required\"> &bull;</span>\n </label>\n\n <p-autocomplete\n #autocomplete\n dropdownIcon=\"fas fa-caret-down\"\n (completeMethod)=\"onSearch($event)\"\n (ngModelChange)=\"onInput($event)\"\n [(ngModel)]=\"value\"\n [autoHighlight]=\"true\"\n [disabled]=\"disabled\"\n [dropdown]=\"true\"\n [forceSelection]=\"true\"\n [id]=\"identity.id\"\n [name]=\"identity.name ?? ''\"\n [ngClass]=\"getInvalidClass()\"\n [placeholder]=\"placeholder\"\n [required]=\"required\"\n [showClear]=\"true\"\n [style]=\"getInputStyle()\"\n [suggestions]=\"filteredItems\"\n optionLabel=\"text\"\n optionValue=\"value\"\n [appendTo]=\"appendTo\">\n\n <ng-template pTemplate=\"item\" let-opt>\n <div class=\"flex align-items-center gap-2\">\n <i *ngIf=\"opt?.icon\" [class]=\"opt.icon\"></i>\n <span>{{ opt?.text }}</span>\n </div>\n </ng-template>\n\n <ng-template pTemplate=\"selectedItem\" let-opt>\n <div class=\"flex align-items-center gap-2\">\n <i *ngIf=\"opt?.icon\" [class]=\"opt.icon\"></i>\n <span>{{ opt?.text }}</span>\n </div>\n </ng-template>\n </p-autocomplete>\n\n <small *ngIf=\"message\" [ngClass]=\"getInvalidMessageClass()\">{{ message }}</small>\n</div>\n", styles: [".sdc-combobox ::ng-deep .p-inputtext{border:1px solid var(--sdc-formfield-default-border)!important;min-height:var(--sdc-formfield-default-height)!important;height:var(--sdc-formfield-default-height)!important;max-height:var(--sdc-formfield-default-height)!important;line-height:var(--sdc-formfield-default-line-height)!important}.sdc-combobox ::ng-deep .p-inputtext:disabled{background-color:var(--sdc-formfield-disabled-bg)!important}.sdc-combobox ::ng-deep .p-autocomplete-dropdown{border-start-end-radius:var(--sdc-formfield-border-radius)!important;border-end-end-radius:var(--sdc-formfield-border-radius)!important;background-color:var(--sdc-button-bg)!important;border:1px solid var(--sdc-formfield-default-border)!important;border-left:0!important;color:var(--sdc-button-icon-default)!important}.sdc-combobox ::ng-deep .p-autocomplete-dropdown .p-button-icon{color:var(--sdc-button-icon-default)!important}.sdc-combobox ::ng-deep .p-autocomplete-dropdown:hover{transition:var(--sdc-button-bg-hover-transition)!important;background-color:var(--sdc-button-bg-hover)!important}.sdc-combobox ::ng-deep .p-autocomplete input{border-start-start-radius:var(--sdc-formfield-border-radius)!important;border-end-start-radius:var(--sdc-formfield-border-radius)!important}\n"] }]
53
69
  }], propDecorators: { autocomplete: [{
54
70
  type: ViewChild,
55
71
  args: ['autocomplete']
72
+ }], appendTo: [{
73
+ type: Input
56
74
  }], zIndex: [{
57
75
  type: Input
58
76
  }], options: [{
@@ -61,4 +79,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
61
79
  type: Output,
62
80
  args: ['onSelectedItem']
63
81
  }] } });
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tYm9ib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL3NyYy9mZWF0dXJlcy9jb21ib2JveC9jb21ib2JveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL2NvbWJvYm94L2NvbWJvYm94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0csT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBd0IsTUFBTSxrQkFBa0IsQ0FBQztBQUM1RSxPQUFPLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7Ozs7QUFnQjVDLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxlQUE0QjtJQUMxRCxhQUFhLEdBQVUsRUFBRSxDQUFDO0lBRU4sWUFBWSxDQUFNO0lBRXBDLE1BQU0sR0FBVyxJQUFJLENBQUM7SUFFdEIsT0FBTyxHQUFZLEVBQUUsQ0FBQztJQUVMLGtCQUFrQixHQUFHLElBQUksWUFBWSxFQUFlLENBQUM7SUFFL0UsZUFBZTtRQUNiLGtCQUFrQixDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxRQUFRLENBQUMsS0FBVTtRQUNqQixNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3hDLElBQUksR0FBRyxHQUFVLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN2RixJQUFJLENBQUMsYUFBYSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBRTNFLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDdEIsQ0FBQztJQUNILENBQUM7SUFFUSxPQUFPLENBQUMsS0FBMEI7UUFDekMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV6QyxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLENBQUM7SUFDSCxDQUFDO3dHQWhDVSxpQkFBaUI7NEZBQWpCLGlCQUFpQixnS0FSakI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGlCQUFpQixDQUFDO2dCQUNoRCxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsK0pDbkJILCs5QkFrQ0EseUREMUJZLGtCQUFrQixvd0NBQUUsWUFBWSxnT0FBRSxXQUFXLDJqQkFBRSxtQkFBbUI7OzRGQWFqRSxpQkFBaUI7a0JBZDdCLFNBQVM7OEJBQ0MsQ0FBQyxrQkFBa0IsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixDQUFDLGNBQ2pFLElBQUksWUFDTixjQUFjLGFBR2I7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsa0JBQWtCLENBQUM7NEJBQ2hELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGOzhCQUswQixZQUFZO3NCQUF0QyxTQUFTO3VCQUFDLGNBQWM7Z0JBRWhCLE1BQU07c0JBQWQsS0FBSztnQkFFRyxPQUFPO3NCQUFmLEtBQUs7Z0JBRW9CLGtCQUFrQjtzQkFBM0MsTUFBTTt1QkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgZm9yd2FyZFJlZiwgSW5wdXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBdXRvQ29tcGxldGVNb2R1bGUgfSBmcm9tICdwcmltZW5nL2F1dG9jb21wbGV0ZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgZml4Q29tYm9Cb3hPdmVybGF5LCBPcHRpb25zLCBPcHRpb25WYWx1ZSB9IGZyb20gJy4uLy4uL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIE5HX1ZBTFVFX0FDQ0VTU09SLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSW5wdXRzQ29tcG9uZW50IH0gZnJvbSAnLi4vaW5wdXRzJztcblxuQENvbXBvbmVudCh7XG4gIGltcG9ydHM6IFtBdXRvQ29tcGxldGVNb2R1bGUsIENvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGVdLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ3NkYy1jb21ib2JveCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb21ib2JveC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9jb21ib2JveC5jb21wb25lbnQuc2NzcycsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQ29tYm9ib3hDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQ29tYm9ib3hDb21wb25lbnQgZXh0ZW5kcyBJbnB1dHNDb21wb25lbnQ8T3B0aW9uVmFsdWU+IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIHB1YmxpYyBmaWx0ZXJlZEl0ZW1zOiBhbnlbXSA9IFtdO1xuXG4gIEBWaWV3Q2hpbGQoJ2F1dG9jb21wbGV0ZScpIGF1dG9jb21wbGV0ZTogYW55O1xuXG4gIEBJbnB1dCgpIHpJbmRleDogbnVtYmVyID0gOTk5OTtcblxuICBASW5wdXQoKSBvcHRpb25zOiBPcHRpb25zID0gW107XG5cbiAgQE91dHB1dCgnb25TZWxlY3RlZEl0ZW0nKSBzZWxlY3RlZFZhbHVlRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPE9wdGlvblZhbHVlPigpO1xuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBmaXhDb21ib0JveE92ZXJsYXkodGhpcy5hdXRvY29tcGxldGUsIHRoaXMuekluZGV4KTtcbiAgfVxuXG4gIG9uU2VhcmNoKGV2ZW50OiBhbnkpIHtcbiAgICBjb25zdCBxdWVyeSA9IGV2ZW50LnF1ZXJ5LnRvTG93ZXJDYXNlKCk7XG4gICAgbGV0IGFycjogYW55W10gPSBBcnJheS5pc0FycmF5KHRoaXMub3B0aW9ucykgPyB0aGlzLm9wdGlvbnMgOiBKU09OLnBhcnNlKHRoaXMub3B0aW9ucyk7XG4gICAgdGhpcy5maWx0ZXJlZEl0ZW1zID0gYXJyLmZpbHRlcihpID0+IGkudGV4dC50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHF1ZXJ5KSk7XG5cbiAgICBpZiAodGhpcy5maWx0ZXJlZEl0ZW1zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy5pbnZhbGlkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBvdmVycmlkZSBvbklucHV0KGV2ZW50OiBFdmVudCB8IE9wdGlvblZhbHVlKTogdm9pZCB7XG4gICAgc3VwZXIub25JbnB1dChldmVudCk7XG4gICAgdGhpcy5zZWxlY3RlZFZhbHVlRXZlbnQuZW1pdCh0aGlzLnZhbHVlKTtcblxuICAgIGlmICh0aGlzLmZpbHRlcmVkSXRlbXMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5pbnZhbGlkID0gZmFsc2U7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZmllbGQtYm94XCI+XG4gICAgPGxhYmVsICpuZ0lmPVwibGFiZWxcIiBbZm9yXT1cImlkZW50aXR5LmlkXCI+XG4gICAgICAgIDxzcGFuPnt7IGxhYmVsIH19PC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInJlcXVpcmVkLWZpZWxkXCIgKm5nSWY9XCJyZXF1aXJlZFwiPiAmYnVsbDs8L3NwYW4+XG4gICAgPC9sYWJlbD5cblxuICAgIDxwLWF1dG9jb21wbGV0ZVxuICAgICAgICAjYXV0b2NvbXBsZXRlXG4gICAgICAgIChjb21wbGV0ZU1ldGhvZCk9XCJvblNlYXJjaCgkZXZlbnQpXCJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25JbnB1dCgkZXZlbnQpXCJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXG4gICAgICAgIFthdXRvSGlnaGxpZ2h0XT1cInRydWVcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICBbZHJvcGRvd25dPVwidHJ1ZVwiXG4gICAgICAgIFtmb3JjZVNlbGVjdGlvbl09XCJ0cnVlXCJcbiAgICAgICAgW2lkXT1cImlkZW50aXR5LmlkXCJcbiAgICAgICAgW25hbWVdPVwiaWRlbnRpdHkubmFtZSA/PyAnJ1wiXG4gICAgICAgIFtuZ0NsYXNzXT1cImdldEludmFsaWRDbGFzcygpXCJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICAgICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICAgICAgW3Nob3dDbGVhcl09XCJ0cnVlXCJcbiAgICAgICAgW3N0eWxlXT1cImdldElucHV0U3R5bGUoKVwiXG4gICAgICAgIFtzdWdnZXN0aW9uc109XCJmaWx0ZXJlZEl0ZW1zXCJcbiAgICAgICAgb3B0aW9uTGFiZWw9XCJ0ZXh0XCJcbiAgICAgICAgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiXG4gICAgLz5cblxuICAgIDxzbWFsbFxuICAgICAgICAqbmdJZj1cIm1lc3NhZ2VcIlxuICAgICAgICBbbmdDbGFzc109XCJnZXRJbnZhbGlkTWVzc2FnZUNsYXNzKClcIlxuICAgID57eyBtZXNzYWdlIH19PC9zbWFsbD5cbjwvZGl2PlxuXG5cbiJdfQ==
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tYm9ib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL3NyYy9mZWF0dXJlcy9jb21ib2JveC9jb21ib2JveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL2NvbWJvYm94L2NvbWJvYm94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0csT0FBTyxFQUFFLGtCQUFrQixFQUE2QixNQUFNLHNCQUFzQixDQUFDO0FBQ3JGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsa0JBQWtCLEVBQW9DLE1BQU0sa0JBQWtCLENBQUM7QUFDeEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxXQUFXLENBQUM7Ozs7OztBQWdCNUMsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGVBQTRCO0lBQzFELGFBQWEsR0FBaUIsRUFBRSxDQUFDO0lBQ2IsWUFBWSxDQUFNO0lBRXBDLFFBQVEsQ0FBcUI7SUFDN0IsTUFBTSxHQUFXLElBQUksQ0FBQztJQUN0QixPQUFPLEdBQXFCLEVBQUUsQ0FBQztJQUVkLGtCQUFrQixHQUFHLElBQUksWUFBWSxFQUFlLENBQUM7SUFFL0UsZUFBZTtRQUNiLGtCQUFrQixDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFTyxnQkFBZ0I7UUFDdEIsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7WUFBRSxPQUFPLElBQUksQ0FBQyxPQUF1QixDQUFDO1FBQ3JFLElBQUksQ0FBQztZQUNILE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsQ0FBQztZQUNoRCxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFFLE1BQXVCLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUMvRCxDQUFDO1FBQUMsTUFBTSxDQUFDO1lBQ1AsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO0lBQ0gsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFnQztRQUN2QyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUNwQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFL0QsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ1AsSUFBSSxDQUFDLGFBQWEsR0FBRyxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDakMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUM7WUFDL0MsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLENBQUMsYUFBYSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDaEYsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVRLE9BQU8sQ0FBQyxLQUEwQjtRQUN6QyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXpDLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDbkMsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDdkIsQ0FBQztJQUNILENBQUM7d0dBN0NVLGlCQUFpQjs0RkFBakIsaUJBQWlCLHNMQVJqQjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsaUJBQWlCLENBQUM7Z0JBQ2hELEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRiwrSkNuQkgsdTVDQTZDQSwreUNEckNZLGtCQUFrQiwyMkNBQUUsWUFBWSxnT0FBRSxXQUFXLDJqQkFBRSxtQkFBbUI7OzRGQWFqRSxpQkFBaUI7a0JBZDdCLFNBQVM7OEJBQ0MsQ0FBQyxrQkFBa0IsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixDQUFDLGNBQ2pFLElBQUksWUFDTixjQUFjLGFBR2I7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsa0JBQWtCLENBQUM7NEJBQ2hELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGOzhCQUkwQixZQUFZO3NCQUF0QyxTQUFTO3VCQUFDLGNBQWM7Z0JBRWhCLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFFb0Isa0JBQWtCO3NCQUEzQyxNQUFNO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBmb3J3YXJkUmVmLCBJbnB1dCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEF1dG9Db21wbGV0ZU1vZHVsZSwgQXV0b0NvbXBsZXRlQ29tcGxldGVFdmVudCB9IGZyb20gJ3ByaW1lbmcvYXV0b2NvbXBsZXRlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBmaXhDb21ib0JveE92ZXJsYXksIE9wdGlvbkl0ZW0sIE9wdGlvbnMsIE9wdGlvblZhbHVlIH0gZnJvbSAnLi4vLi4vcHVibGljLWFwaSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgTkdfVkFMVUVfQUNDRVNTT1IsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBJbnB1dHNDb21wb25lbnQgfSBmcm9tICcuLi9pbnB1dHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgaW1wb3J0czogW0F1dG9Db21wbGV0ZU1vZHVsZSwgQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZV0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnc2RjLWNvbWJvYm94JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbWJvYm94LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2NvbWJvYm94LmNvbXBvbmVudC5zY3NzJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBDb21ib2JveENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBDb21ib2JveENvbXBvbmVudCBleHRlbmRzIElucHV0c0NvbXBvbmVudDxPcHRpb25WYWx1ZT4gaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgcHVibGljIGZpbHRlcmVkSXRlbXM6IE9wdGlvbkl0ZW1bXSA9IFtdO1xuICBAVmlld0NoaWxkKCdhdXRvY29tcGxldGUnKSBhdXRvY29tcGxldGU6IGFueTtcbiAgXG4gIEBJbnB1dCgpIGFwcGVuZFRvOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIHpJbmRleDogbnVtYmVyID0gOTk5OTtcbiAgQElucHV0KCkgb3B0aW9uczogT3B0aW9ucyB8IHN0cmluZyA9IFtdO1xuXG4gIEBPdXRwdXQoJ29uU2VsZWN0ZWRJdGVtJykgc2VsZWN0ZWRWYWx1ZUV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxPcHRpb25WYWx1ZT4oKTtcblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgZml4Q29tYm9Cb3hPdmVybGF5KHRoaXMuYXV0b2NvbXBsZXRlLCB0aGlzLnpJbmRleCk7XG4gIH1cblxuICBwcml2YXRlIG5vcm1hbGl6ZU9wdGlvbnMoKTogT3B0aW9uSXRlbVtdIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLm9wdGlvbnMpKSByZXR1cm4gdGhpcy5vcHRpb25zIGFzIE9wdGlvbkl0ZW1bXTtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcGFyc2VkID0gSlNPTi5wYXJzZSh0aGlzLm9wdGlvbnMgfHwgJ1tdJyk7XG4gICAgICByZXR1cm4gQXJyYXkuaXNBcnJheShwYXJzZWQpID8gKHBhcnNlZCBhcyBPcHRpb25JdGVtW10pIDogW107XG4gICAgfSBjYXRjaCB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuICB9XG5cbiAgb25TZWFyY2goZXZlbnQ6IEF1dG9Db21wbGV0ZUNvbXBsZXRlRXZlbnQpIHtcbiAgICBjb25zdCBhbGwgPSB0aGlzLm5vcm1hbGl6ZU9wdGlvbnMoKTtcbiAgICBjb25zdCBxID0gKGV2ZW50Py5xdWVyeSA/PyAnJykudG9TdHJpbmcoKS50cmltKCkudG9Mb3dlckNhc2UoKTtcblxuICAgIGlmICghcSkge1xuICAgICAgdGhpcy5maWx0ZXJlZEl0ZW1zID0gYWxsLnNsaWNlKCk7XG4gICAgICB0aGlzLmludmFsaWQgPSB0aGlzLmZpbHRlcmVkSXRlbXMubGVuZ3RoID09PSAwO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuZmlsdGVyZWRJdGVtcyA9IGFsbC5maWx0ZXIoaSA9PiAoaT8udGV4dCA/PyAnJykudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhxKSk7XG4gICAgdGhpcy5pbnZhbGlkID0gdGhpcy5maWx0ZXJlZEl0ZW1zLmxlbmd0aCA9PT0gMDtcbiAgfVxuXG4gIG92ZXJyaWRlIG9uSW5wdXQoZXZlbnQ6IEV2ZW50IHwgT3B0aW9uVmFsdWUpOiB2b2lkIHtcbiAgICBzdXBlci5vbklucHV0KGV2ZW50KTtcbiAgICB0aGlzLnNlbGVjdGVkVmFsdWVFdmVudC5lbWl0KHRoaXMudmFsdWUpO1xuXG4gICAgaWYgKHRoaXMuZmlsdGVyZWRJdGVtcz8ubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5pbnZhbGlkID0gZmFsc2U7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2RjLWNvbWJvYm94XCI+XG4gIDxsYWJlbCAqbmdJZj1cImxhYmVsXCIgW2Zvcl09XCJpZGVudGl0eS5pZFwiPlxuICAgIDxzcGFuPnt7IGxhYmVsIH19PC9zcGFuPlxuICAgIDxzcGFuIGNsYXNzPVwicmVxdWlyZWQtZmllbGRcIiAqbmdJZj1cInJlcXVpcmVkXCI+ICZidWxsOzwvc3Bhbj5cbiAgPC9sYWJlbD5cblxuICA8cC1hdXRvY29tcGxldGVcbiAgICAjYXV0b2NvbXBsZXRlXG4gICAgZHJvcGRvd25JY29uPVwiZmFzIGZhLWNhcmV0LWRvd25cIlxuICAgIChjb21wbGV0ZU1ldGhvZCk9XCJvblNlYXJjaCgkZXZlbnQpXCJcbiAgICAobmdNb2RlbENoYW5nZSk9XCJvbklucHV0KCRldmVudClcIlxuICAgIFsobmdNb2RlbCldPVwidmFsdWVcIlxuICAgIFthdXRvSGlnaGxpZ2h0XT1cInRydWVcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW2Ryb3Bkb3duXT1cInRydWVcIlxuICAgIFtmb3JjZVNlbGVjdGlvbl09XCJ0cnVlXCJcbiAgICBbaWRdPVwiaWRlbnRpdHkuaWRcIlxuICAgIFtuYW1lXT1cImlkZW50aXR5Lm5hbWUgPz8gJydcIlxuICAgIFtuZ0NsYXNzXT1cImdldEludmFsaWRDbGFzcygpXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgW3Nob3dDbGVhcl09XCJ0cnVlXCJcbiAgICBbc3R5bGVdPVwiZ2V0SW5wdXRTdHlsZSgpXCJcbiAgICBbc3VnZ2VzdGlvbnNdPVwiZmlsdGVyZWRJdGVtc1wiXG4gICAgb3B0aW9uTGFiZWw9XCJ0ZXh0XCJcbiAgICBvcHRpb25WYWx1ZT1cInZhbHVlXCJcbiAgICBbYXBwZW5kVG9dPVwiYXBwZW5kVG9cIj5cblxuICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJpdGVtXCIgbGV0LW9wdD5cbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMlwiPlxuICAgICAgICA8aSAqbmdJZj1cIm9wdD8uaWNvblwiIFtjbGFzc109XCJvcHQuaWNvblwiPjwvaT5cbiAgICAgICAgPHNwYW4+e3sgb3B0Py50ZXh0IH19PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJzZWxlY3RlZEl0ZW1cIiBsZXQtb3B0PlxuICAgICAgPGRpdiBjbGFzcz1cImZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yXCI+XG4gICAgICAgIDxpICpuZ0lmPVwib3B0Py5pY29uXCIgW2NsYXNzXT1cIm9wdC5pY29uXCI+PC9pPlxuICAgICAgICA8c3Bhbj57eyBvcHQ/LnRleHQgfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L3AtYXV0b2NvbXBsZXRlPlxuXG4gIDxzbWFsbCAqbmdJZj1cIm1lc3NhZ2VcIiBbbmdDbGFzc109XCJnZXRJbnZhbGlkTWVzc2FnZUNsYXNzKClcIj57eyBtZXNzYWdlIH19PC9zbWFsbD5cbjwvZGl2PlxuIl19