@univers42/ui-collection 1.0.1 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/README.md +131 -9
  2. package/dist/library/components/react/asset-picker/AssetPickerBoard.d.ts +16 -4
  3. package/dist/library/components/react/asset-picker/AssetPickerBoard.d.ts.map +1 -1
  4. package/dist/library/components/react/asset-picker/AssetPickerBoard.js +285 -68
  5. package/dist/library/components/react/asset-picker/AssetPickerBoard.js.map +1 -1
  6. package/dist/library/components/react/asset-picker/AssetRenderer.d.ts +13 -0
  7. package/dist/library/components/react/asset-picker/AssetRenderer.d.ts.map +1 -0
  8. package/dist/library/components/react/asset-picker/AssetRenderer.js +68 -0
  9. package/dist/library/components/react/asset-picker/AssetRenderer.js.map +1 -0
  10. package/dist/library/components/react/asset-picker/assetValues.d.ts +36 -0
  11. package/dist/library/components/react/asset-picker/assetValues.d.ts.map +1 -0
  12. package/dist/library/components/react/asset-picker/assetValues.js +192 -0
  13. package/dist/library/components/react/asset-picker/assetValues.js.map +1 -0
  14. package/dist/library/components/react/asset-picker/defaultTabs.d.ts +11 -1
  15. package/dist/library/components/react/asset-picker/defaultTabs.d.ts.map +1 -1
  16. package/dist/library/components/react/asset-picker/defaultTabs.js +35 -8
  17. package/dist/library/components/react/asset-picker/defaultTabs.js.map +1 -1
  18. package/dist/library/components/react/asset-picker/index.d.ts +2 -0
  19. package/dist/library/components/react/asset-picker/index.d.ts.map +1 -1
  20. package/dist/library/components/react/asset-picker/index.js +2 -0
  21. package/dist/library/components/react/asset-picker/index.js.map +1 -1
  22. package/dist/library/components/react/asset-picker/types.d.ts +35 -1
  23. package/dist/library/components/react/asset-picker/types.d.ts.map +1 -1
  24. package/dist/library/components/react/asset-picker/types.js +21 -1
  25. package/dist/library/components/react/asset-picker/types.js.map +1 -1
  26. package/dist/library/components/react/emoji-picker/EmojiPickerBoard.d.ts +6 -1
  27. package/dist/library/components/react/emoji-picker/EmojiPickerBoard.d.ts.map +1 -1
  28. package/dist/library/components/react/emoji-picker/EmojiPickerBoard.js +87 -19
  29. package/dist/library/components/react/emoji-picker/EmojiPickerBoard.js.map +1 -1
  30. package/dist/library/components/react/emoji-picker/emojiPickerData.d.ts +6 -1
  31. package/dist/library/components/react/emoji-picker/emojiPickerData.d.ts.map +1 -1
  32. package/dist/library/components/react/emoji-picker/emojiPickerData.js +227 -24
  33. package/dist/library/components/react/emoji-picker/emojiPickerData.js.map +1 -1
  34. package/dist/library/components/react/icon-picker/IconPickerBoard.d.ts +4 -1
  35. package/dist/library/components/react/icon-picker/IconPickerBoard.d.ts.map +1 -1
  36. package/dist/library/components/react/icon-picker/IconPickerBoard.js +10 -18
  37. package/dist/library/components/react/icon-picker/IconPickerBoard.js.map +1 -1
  38. package/dist/library/index.d.ts +1 -4
  39. package/dist/library/index.d.ts.map +1 -1
  40. package/dist/library/index.js +1 -2
  41. package/dist/library/index.js.map +1 -1
  42. package/dist/library/media/collections/svg.d.ts.map +1 -1
  43. package/dist/library/media/collections/svg.js +253 -2
  44. package/dist/library/media/collections/svg.js.map +1 -1
  45. package/package.json +4 -2
@@ -0,0 +1,36 @@
1
+ import { getMediaCollection, mediaLibrary } from '../../../media/index.js';
2
+ import { type EmojiPickerItem } from '../emoji-picker/emojiPickerData.js';
3
+ import { type IconPickerItem } from '../icon-picker/iconPickerData.js';
4
+ import type { AssetPickerBoardItem, AssetPickerBoardSelection, AssetPickerBoardTab, AssetPickerBoardValue } from './types.js';
5
+ export type AssetValueKind = 'icon' | 'emoji' | 'media' | 'unknown';
6
+ export interface ParsedAssetValue {
7
+ kind: AssetValueKind;
8
+ serializedValue: string;
9
+ raw: string;
10
+ iconId?: string;
11
+ emoji?: string;
12
+ mediaRef?: string;
13
+ }
14
+ export interface AssetValueInput {
15
+ kind: Exclude<AssetValueKind, 'unknown'>;
16
+ value: string;
17
+ }
18
+ export interface ResolvedAssetValue {
19
+ kind: AssetValueKind;
20
+ serializedValue: string;
21
+ label: string;
22
+ item?: AssetPickerBoardItem;
23
+ tab?: AssetPickerBoardTab;
24
+ iconItem?: IconPickerItem;
25
+ emojiItem?: EmojiPickerItem;
26
+ mediaItem?: (typeof mediaLibrary.all)[number];
27
+ preview?: AssetPickerBoardItem['preview'];
28
+ }
29
+ export declare function serializeAssetValue(input: AssetValueInput | string): string;
30
+ export declare function serializeAssetSelection(selection: Pick<AssetPickerBoardSelection, 'serializedValue'> | string): string;
31
+ export declare function parseAssetValue(value: string): ParsedAssetValue;
32
+ export declare function assetValueToBoardValue(value: string | undefined, tabs?: AssetPickerBoardTab[]): AssetPickerBoardValue | undefined;
33
+ export declare function resolveAssetValue(value: string, tabs?: AssetPickerBoardTab[]): ResolvedAssetValue | undefined;
34
+ export declare function getEmojiPickerRecentItems(ids: string[], items?: EmojiPickerItem[]): EmojiPickerItem[];
35
+ export declare function getDefaultMediaItems(collection?: string): ReturnType<typeof getMediaCollection>;
36
+ //# sourceMappingURL=assetValues.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assetValues.d.ts","sourceRoot":"","sources":["../../../../../library/components/react/asset-picker/assetValues.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,YAAY,EAEb,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAEL,KAAK,eAAe,EACrB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAEL,KAAK,cAAc,EACpB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,KAAK,EACV,oBAAoB,EACpB,yBAAyB,EACzB,mBAAmB,EACnB,qBAAqB,EACtB,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC;AAEpE,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,cAAc,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,OAAO,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;IACzC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,cAAc,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,oBAAoB,CAAC;IAC5B,GAAG,CAAC,EAAE,mBAAmB,CAAC;IAC1B,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,SAAS,CAAC,EAAE,CAAC,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;IAC9C,OAAO,CAAC,EAAE,oBAAoB,CAAC,SAAS,CAAC,CAAC;CAC3C;AAgED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,GAAG,MAAM,CAe3E;AAED,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,IAAI,CAAC,yBAAyB,EAAE,iBAAiB,CAAC,GAAG,MAAM,GACrE,MAAM,CAMR;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,gBAAgB,CA4C/D;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,IAAI,GAAE,mBAAmB,EAA8B,GACtD,qBAAqB,GAAG,SAAS,CAgBnC;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,MAAM,EACb,IAAI,GAAE,mBAAmB,EAA8B,GACtD,kBAAkB,GAAG,SAAS,CA0EhC;AAED,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,MAAM,EAAE,EACb,KAAK,GAAE,eAAe,EAA+B,GACpD,eAAe,EAAE,CASnB;AAED,wBAAgB,oBAAoB,CAAC,UAAU,SAAQ,GAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAE9F"}
@@ -0,0 +1,192 @@
1
+ import { getMediaCollection, mediaLibrary, resolveMediaUrl, } from '../../../media/index.js';
2
+ import { DEFAULT_EMOJI_PICKER_ITEMS, } from '../emoji-picker/emojiPickerData.js';
3
+ import { DEFAULT_ICON_PICKER_ITEMS, } from '../icon-picker/iconPickerData.js';
4
+ import { DEFAULT_ASSET_PICKER_TABS } from './defaultTabs.js';
5
+ const iconItemsById = DEFAULT_ICON_PICKER_ITEMS.reduce((acc, item) => {
6
+ acc[item.id] = item;
7
+ return acc;
8
+ }, {});
9
+ const emojiItemsByValue = DEFAULT_EMOJI_PICKER_ITEMS.reduce((acc, item) => {
10
+ acc[item.value] = item;
11
+ return acc;
12
+ }, {});
13
+ const emojiItemsById = DEFAULT_EMOJI_PICKER_ITEMS.reduce((acc, item) => {
14
+ acc[item.id] = item;
15
+ return acc;
16
+ }, {});
17
+ const mediaItemsByRef = mediaLibrary.all.reduce((acc, item) => {
18
+ acc[item.ref] = item;
19
+ return acc;
20
+ }, {});
21
+ function isMediaRefCandidate(value) {
22
+ return /^[a-z0-9-]+:.+/i.test(value) && !value.startsWith('icon:') && !value.startsWith('emoji:');
23
+ }
24
+ function findBoardItemBySerializedValue(serializedValue, tabs) {
25
+ for (const tab of tabs) {
26
+ const item = tab.items.find((entry) => entry.value === serializedValue);
27
+ if (item) {
28
+ return { tab, item };
29
+ }
30
+ }
31
+ return undefined;
32
+ }
33
+ function normalizeLegacyIconValue(value) {
34
+ if (value.startsWith('icon:')) {
35
+ return value;
36
+ }
37
+ if (iconItemsById[value]) {
38
+ return `icon:${value}`;
39
+ }
40
+ return value;
41
+ }
42
+ export function serializeAssetValue(input) {
43
+ if (typeof input === 'string') {
44
+ const parsed = parseAssetValue(input);
45
+ return parsed.serializedValue;
46
+ }
47
+ if (input.kind === 'icon') {
48
+ return `icon:${input.value}`;
49
+ }
50
+ if (input.kind === 'emoji') {
51
+ return input.value;
52
+ }
53
+ return input.value;
54
+ }
55
+ export function serializeAssetSelection(selection) {
56
+ if (typeof selection === 'string') {
57
+ return serializeAssetValue(selection);
58
+ }
59
+ return selection.serializedValue;
60
+ }
61
+ export function parseAssetValue(value) {
62
+ const normalizedValue = normalizeLegacyIconValue(value);
63
+ if (normalizedValue.startsWith('icon:')) {
64
+ return {
65
+ kind: 'icon',
66
+ serializedValue: normalizedValue,
67
+ raw: value,
68
+ iconId: normalizedValue.slice('icon:'.length),
69
+ };
70
+ }
71
+ if (normalizedValue.startsWith('emoji:')) {
72
+ return {
73
+ kind: 'emoji',
74
+ serializedValue: normalizedValue.slice('emoji:'.length),
75
+ raw: value,
76
+ emoji: normalizedValue.slice('emoji:'.length),
77
+ };
78
+ }
79
+ if (emojiItemsByValue[normalizedValue]) {
80
+ return {
81
+ kind: 'emoji',
82
+ serializedValue: normalizedValue,
83
+ raw: value,
84
+ emoji: normalizedValue,
85
+ };
86
+ }
87
+ if (isMediaRefCandidate(normalizedValue)) {
88
+ return {
89
+ kind: 'media',
90
+ serializedValue: normalizedValue,
91
+ raw: value,
92
+ mediaRef: normalizedValue,
93
+ };
94
+ }
95
+ return {
96
+ kind: 'unknown',
97
+ serializedValue: normalizedValue,
98
+ raw: value,
99
+ };
100
+ }
101
+ export function assetValueToBoardValue(value, tabs = DEFAULT_ASSET_PICKER_TABS) {
102
+ if (!value) {
103
+ return undefined;
104
+ }
105
+ const parsed = parseAssetValue(value);
106
+ const match = findBoardItemBySerializedValue(parsed.serializedValue, tabs);
107
+ if (!match) {
108
+ return undefined;
109
+ }
110
+ return {
111
+ tabId: match.tab.id,
112
+ itemId: match.item.id,
113
+ };
114
+ }
115
+ export function resolveAssetValue(value, tabs = DEFAULT_ASSET_PICKER_TABS) {
116
+ const parsed = parseAssetValue(value);
117
+ const boardMatch = findBoardItemBySerializedValue(parsed.serializedValue, tabs);
118
+ if (boardMatch) {
119
+ return {
120
+ kind: parsed.kind,
121
+ serializedValue: parsed.serializedValue,
122
+ label: boardMatch.item.label,
123
+ item: boardMatch.item,
124
+ tab: boardMatch.tab,
125
+ preview: boardMatch.item.preview,
126
+ };
127
+ }
128
+ if (parsed.kind === 'icon' && parsed.iconId) {
129
+ const iconItem = iconItemsById[parsed.iconId];
130
+ if (!iconItem) {
131
+ return undefined;
132
+ }
133
+ return {
134
+ kind: 'icon',
135
+ serializedValue: parsed.serializedValue,
136
+ label: iconItem.label,
137
+ iconItem,
138
+ };
139
+ }
140
+ if (parsed.kind === 'emoji' && parsed.emoji) {
141
+ const emojiItem = emojiItemsByValue[parsed.emoji] ?? emojiItemsById[parsed.emoji];
142
+ if (!emojiItem) {
143
+ return {
144
+ kind: 'emoji',
145
+ serializedValue: parsed.serializedValue,
146
+ label: parsed.emoji,
147
+ preview: {
148
+ kind: 'emoji',
149
+ value: parsed.emoji,
150
+ },
151
+ };
152
+ }
153
+ return {
154
+ kind: 'emoji',
155
+ serializedValue: parsed.serializedValue,
156
+ label: emojiItem.label,
157
+ emojiItem,
158
+ preview: {
159
+ kind: 'emoji',
160
+ value: emojiItem.value,
161
+ },
162
+ };
163
+ }
164
+ if (parsed.kind === 'media' && parsed.mediaRef) {
165
+ const mediaItem = mediaItemsByRef[parsed.mediaRef];
166
+ return {
167
+ kind: 'media',
168
+ serializedValue: parsed.serializedValue,
169
+ label: mediaItem?.label ?? parsed.mediaRef,
170
+ mediaItem,
171
+ preview: {
172
+ kind: 'image',
173
+ src: resolveMediaUrl(mediaItem?.thumbnailRef ?? parsed.mediaRef),
174
+ alt: mediaItem?.alt ?? mediaItem?.label ?? parsed.mediaRef,
175
+ },
176
+ };
177
+ }
178
+ return undefined;
179
+ }
180
+ export function getEmojiPickerRecentItems(ids, items = DEFAULT_EMOJI_PICKER_ITEMS) {
181
+ const itemsById = items.reduce((acc, item) => {
182
+ acc[item.id] = item;
183
+ return acc;
184
+ }, {});
185
+ return ids
186
+ .map((id) => itemsById[id])
187
+ .filter((item) => Boolean(item));
188
+ }
189
+ export function getDefaultMediaItems(collection = 'svg') {
190
+ return getMediaCollection(collection);
191
+ }
192
+ //# sourceMappingURL=assetValues.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assetValues.js","sourceRoot":"","sources":["../../../../../library/components/react/asset-picker/assetValues.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  import { type MediaCollectionName, type MediaItem } from '../../../media/index.js';
2
2
  import { type EmojiPickerItem } from '../emoji-picker/emojiPickerData.js';
3
3
  import { type IconPickerItem } from '../icon-picker/iconPickerData.js';
4
- import type { AssetPickerBoardTab } from './types.js';
4
+ import type { AssetPickerBoardTab, AssetPickerItemLabelVisibility, AssetPickerTabLayout } from './types.js';
5
+ export type AssetPickerValueFormat = 'canonical' | 'legacy';
5
6
  export interface AssetPickerTabOptions {
6
7
  id?: string;
7
8
  label?: string;
@@ -11,6 +12,12 @@ export interface AssetPickerTabOptions {
11
12
  searchPlaceholder?: string;
12
13
  emptyStateLabel?: string;
13
14
  activeBackground?: string;
15
+ layout?: AssetPickerTabLayout;
16
+ itemLabelVisibility?: AssetPickerItemLabelVisibility;
17
+ showGroups?: boolean;
18
+ groupOrder?: string[];
19
+ groupLabels?: Record<string, string>;
20
+ valueFormat?: AssetPickerValueFormat;
14
21
  }
15
22
  export interface DefaultAssetPickerTabsOptions {
16
23
  iconItems?: IconPickerItem[];
@@ -19,6 +26,9 @@ export interface DefaultAssetPickerTabsOptions {
19
26
  includeIcons?: boolean;
20
27
  includeEmojis?: boolean;
21
28
  includeSvg?: boolean;
29
+ iconTabOptions?: AssetPickerTabOptions;
30
+ emojiTabOptions?: AssetPickerTabOptions;
31
+ svgTabOptions?: AssetPickerTabOptions;
22
32
  }
23
33
  export declare function createIconPickerTab(items?: IconPickerItem[], options?: AssetPickerTabOptions): AssetPickerBoardTab<IconPickerItem>;
24
34
  export declare function createEmojiPickerTab(items?: EmojiPickerItem[], options?: AssetPickerTabOptions): AssetPickerBoardTab<EmojiPickerItem>;
@@ -1 +1 @@
1
- {"version":3,"file":"defaultTabs.d.ts","sourceRoot":"","sources":["../../../../../library/components/react/asset-picker/defaultTabs.tsx"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,mBAAmB,EACxB,KAAK,SAAS,EACf,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAEL,KAAK,eAAe,EACrB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAMtD,MAAM,WAAW,qBAAqB;IACpC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,6BAA6B;IAC5C,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;IAC7B,UAAU,CAAC,EAAE,eAAe,EAAE,CAAC;IAC/B,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAMD,wBAAgB,mBAAmB,CACjC,KAAK,GAAE,cAAc,EAA8B,EACnD,OAAO,GAAE,qBAA0B,GAClC,mBAAmB,CAAC,cAAc,CAAC,CAuBrC;AAED,wBAAgB,oBAAoB,CAClC,KAAK,GAAE,eAAe,EAA+B,EACrD,OAAO,GAAE,qBAA0B,GAClC,mBAAmB,CAAC,eAAe,CAAC,CA6BtC;AAED,wBAAgB,8BAA8B,CAC5C,cAAc,EAAE,mBAAmB,EACnC,KAAK,GAAE,SAAS,EAAuC,EACvD,OAAO,GAAE,qBAA0B,GAClC,mBAAmB,CAAC,SAAS,CAAC,CA0BhC;AAED,wBAAgB,4BAA4B,CAC1C,OAAO,GAAE,6BAAkC,GAC1C,mBAAmB,EAAE,CAgBvB;AAED,eAAO,MAAM,yBAAyB,gCAAiC,CAAC"}
1
+ {"version":3,"file":"defaultTabs.d.ts","sourceRoot":"","sources":["../../../../../library/components/react/asset-picker/defaultTabs.tsx"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,mBAAmB,EACxB,KAAK,SAAS,EACf,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EACV,mBAAmB,EACnB,8BAA8B,EAC9B,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAMpB,MAAM,MAAM,sBAAsB,GAAG,WAAW,GAAG,QAAQ,CAAC;AAE5D,MAAM,WAAW,qBAAqB;IACpC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAC9B,mBAAmB,CAAC,EAAE,8BAA8B,CAAC;IACrD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,WAAW,CAAC,EAAE,sBAAsB,CAAC;CACtC;AAED,MAAM,WAAW,6BAA6B;IAC5C,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;IAC7B,UAAU,CAAC,EAAE,eAAe,EAAE,CAAC;IAC/B,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,qBAAqB,CAAC;IACvC,eAAe,CAAC,EAAE,qBAAqB,CAAC;IACxC,aAAa,CAAC,EAAE,qBAAqB,CAAC;CACvC;AAqBD,wBAAgB,mBAAmB,CACjC,KAAK,GAAE,cAAc,EAA8B,EACnD,OAAO,GAAE,qBAA0B,GAClC,mBAAmB,CAAC,cAAc,CAAC,CA6BrC;AAED,wBAAgB,oBAAoB,CAClC,KAAK,GAAE,eAAe,EAA+B,EACrD,OAAO,GAAE,qBAA0B,GAClC,mBAAmB,CAAC,eAAe,CAAC,CAoCtC;AAED,wBAAgB,8BAA8B,CAC5C,cAAc,EAAE,mBAAmB,EACnC,KAAK,GAAE,SAAS,EAAuC,EACvD,OAAO,GAAE,qBAA0B,GAClC,mBAAmB,CAAC,SAAS,CAAC,CAiChC;AAED,wBAAgB,4BAA4B,CAC1C,OAAO,GAAE,6BAAkC,GAC1C,mBAAmB,EAAE,CAsBvB;AAED,eAAO,MAAM,yBAAyB,gCAAiC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { getMediaCollection, mediaCollections, resolveMediaUrl, } from '../../../media/index.js';
2
- import { DEFAULT_EMOJI_PICKER_ITEMS, } from '../emoji-picker/emojiPickerData.js';
2
+ import { DEFAULT_EMOJI_PICKER_ITEMS, EMOJI_PICKER_GROUPS, } from '../emoji-picker/emojiPickerData.js';
3
3
  import { DEFAULT_ICON_PICKER_ITEMS, renderSizedIcon, } from '../icon-picker/iconPickerData.js';
4
4
  const ICON_ACTIVE_BACKGROUND = 'linear-gradient(180deg, rgba(79, 70, 229, 0.32) 0%, rgba(37, 99, 235, 0.18) 100%)';
5
5
  const EMOJI_ACTIVE_BACKGROUND = 'linear-gradient(180deg, rgba(16, 185, 129, 0.28) 0%, rgba(14, 165, 233, 0.16) 100%)';
@@ -7,6 +7,13 @@ const SVG_ACTIVE_BACKGROUND = 'linear-gradient(180deg, rgba(245, 158, 11, 0.28)
7
7
  function getCollectionLabel(collectionName) {
8
8
  return mediaCollections.find((collection) => collection.name === collectionName)?.label ?? collectionName;
9
9
  }
10
+ function getSerializedIconValue(item, valueFormat = 'canonical') {
11
+ return valueFormat === 'legacy' ? item.id : `icon:${item.id}`;
12
+ }
13
+ function getSerializedEmojiValue(item, valueFormat = 'canonical') {
14
+ void valueFormat;
15
+ return item.value;
16
+ }
10
17
  export function createIconPickerTab(items = DEFAULT_ICON_PICKER_ITEMS, options = {}) {
11
18
  return {
12
19
  id: options.id ?? 'icons',
@@ -17,11 +24,17 @@ export function createIconPickerTab(items = DEFAULT_ICON_PICKER_ITEMS, options =
17
24
  searchPlaceholder: options.searchPlaceholder ?? 'Search by name, group or keyword',
18
25
  emptyStateLabel: options.emptyStateLabel ?? 'No icons match the current search.',
19
26
  activeBackground: options.activeBackground ?? ICON_ACTIVE_BACKGROUND,
27
+ layout: options.layout ?? 'icon',
28
+ itemLabelVisibility: options.itemLabelVisibility,
29
+ showGroups: options.showGroups ?? false,
30
+ groupOrder: options.groupOrder,
31
+ groupLabels: options.groupLabels,
20
32
  items: items.map((item) => ({
21
33
  id: item.id,
22
- value: item.id,
34
+ value: getSerializedIconValue(item, options.valueFormat),
23
35
  label: item.label,
24
36
  group: item.group,
37
+ aliases: [item.id],
25
38
  keywords: item.keywords,
26
39
  preview: {
27
40
  kind: 'node',
@@ -35,18 +48,25 @@ export function createEmojiPickerTab(items = DEFAULT_EMOJI_PICKER_ITEMS, options
35
48
  return {
36
49
  id: options.id ?? 'emojis',
37
50
  label: options.label ?? 'Emojis',
38
- columns: options.columns ?? 6,
51
+ columns: options.columns ?? 8,
39
52
  countLabel: options.countLabel ?? 'emojis',
40
53
  searchLabel: options.searchLabel ?? 'Search emojis',
41
- searchPlaceholder: options.searchPlaceholder ?? 'Search by name, group or keyword',
54
+ searchPlaceholder: options.searchPlaceholder ?? 'Search by glyph, alias, group or keyword',
42
55
  emptyStateLabel: options.emptyStateLabel ?? 'No emojis match the current search.',
43
56
  activeBackground: options.activeBackground ?? EMOJI_ACTIVE_BACKGROUND,
57
+ layout: options.layout ?? 'emoji',
58
+ itemLabelVisibility: options.itemLabelVisibility,
59
+ showGroups: options.showGroups ?? true,
60
+ groupOrder: options.groupOrder ?? [...EMOJI_PICKER_GROUPS],
61
+ groupLabels: options.groupLabels,
44
62
  items: items.map((item) => ({
45
63
  id: item.id,
46
- value: item.value,
64
+ value: getSerializedEmojiValue(item, options.valueFormat),
47
65
  label: item.label,
66
+ aliases: [item.id, ...(item.aliases ?? [])],
48
67
  group: item.group,
49
68
  keywords: item.keywords,
69
+ localizedLabels: item.localizedLabels,
50
70
  preview: item.src
51
71
  ? {
52
72
  kind: 'image',
@@ -72,10 +92,16 @@ export function createMediaCollectionPickerTab(collectionName, items = getMediaC
72
92
  searchPlaceholder: options.searchPlaceholder ?? `Search ${collectionLabel.toLowerCase()} by name, category or tag`,
73
93
  emptyStateLabel: options.emptyStateLabel ?? `No ${collectionLabel.toLowerCase()} items match the current search.`,
74
94
  activeBackground: options.activeBackground ?? SVG_ACTIVE_BACKGROUND,
95
+ layout: options.layout ?? (collectionName === 'photos' ? 'cover' : 'media'),
96
+ itemLabelVisibility: options.itemLabelVisibility,
97
+ showGroups: options.showGroups ?? false,
98
+ groupOrder: options.groupOrder,
99
+ groupLabels: options.groupLabels,
75
100
  items: items.map((item) => ({
76
101
  id: item.id,
77
102
  value: item.ref,
78
103
  label: item.label,
104
+ aliases: [item.id],
79
105
  group: item.category,
80
106
  keywords: item.tags,
81
107
  preview: {
@@ -83,6 +109,7 @@ export function createMediaCollectionPickerTab(collectionName, items = getMediaC
83
109
  src: resolveMediaUrl(item.thumbnailRef ?? item.ref),
84
110
  alt: item.alt ?? item.label,
85
111
  },
112
+ previewAspectRatio: item.width && item.height ? item.width / item.height : undefined,
86
113
  data: item,
87
114
  })),
88
115
  };
@@ -90,13 +117,13 @@ export function createMediaCollectionPickerTab(collectionName, items = getMediaC
90
117
  export function createDefaultAssetPickerTabs(options = {}) {
91
118
  const tabs = [];
92
119
  if (options.includeEmojis !== false) {
93
- tabs.push(createEmojiPickerTab(options.emojiItems));
120
+ tabs.push(createEmojiPickerTab(options.emojiItems, options.emojiTabOptions));
94
121
  }
95
122
  if (options.includeSvg !== false) {
96
- tabs.push(createMediaCollectionPickerTab('svg', options.svgItems));
123
+ tabs.push(createMediaCollectionPickerTab('svg', options.svgItems, options.svgTabOptions));
97
124
  }
98
125
  if (options.includeIcons !== false) {
99
- tabs.push(createIconPickerTab(options.iconItems));
126
+ tabs.push(createIconPickerTab(options.iconItems, options.iconTabOptions));
100
127
  }
101
128
  return tabs;
102
129
  }
@@ -1 +1 @@
1
- {"version":3,"file":"defaultTabs.js","sourceRoot":"","sources":["../../../../../library/components/react/asset-picker/defaultTabs.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"defaultTabs.js","sourceRoot":"","sources":["../../../../../library/components/react/asset-picker/defaultTabs.tsx"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
1
  export * from './AssetPickerBoard.js';
2
+ export * from './AssetRenderer.js';
3
+ export * from './assetValues.js';
2
4
  export * from './defaultTabs.js';
3
5
  export * from './types.js';
4
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../library/components/react/asset-picker/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../library/components/react/asset-picker/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC"}
@@ -1,4 +1,6 @@
1
1
  export * from './AssetPickerBoard.js';
2
+ export * from './AssetRenderer.js';
3
+ export * from './assetValues.js';
2
4
  export * from './defaultTabs.js';
3
5
  export * from './types.js';
4
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../library/components/react/asset-picker/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../library/components/react/asset-picker/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC"}
@@ -1,4 +1,29 @@
1
- import type { ReactNode } from 'react';
1
+ import type { CSSProperties, ReactNode } from 'react';
2
+ export type AssetPickerBoardAppearance = 'default' | 'unstyled';
3
+ export type AssetPickerItemLabelVisibility = 'visible' | 'hidden' | 'sr-only';
4
+ export type AssetPickerLayoutPreset = 'grid' | 'emoji' | 'icon' | 'media' | 'cover';
5
+ export interface AssetPickerLayoutOptions {
6
+ type?: AssetPickerLayoutPreset;
7
+ columns?: number;
8
+ previewSize?: number;
9
+ cellSize?: number;
10
+ aspectRatio?: number;
11
+ objectFit?: CSSProperties['objectFit'];
12
+ gap?: number;
13
+ }
14
+ export type AssetPickerTabLayout = AssetPickerLayoutPreset | AssetPickerLayoutOptions;
15
+ export declare const ASSET_PICKER_BOARD_SLOTS: readonly ["root", "header", "headerText", "eyebrow", "title", "selectionPreview", "tabList", "tabButton", "searchField", "searchLabel", "searchInput", "statusBar", "groupSection", "groupLabel", "grid", "itemButton", "itemPreview", "itemLabel", "emptyState"];
16
+ export type AssetPickerBoardSlot = (typeof ASSET_PICKER_BOARD_SLOTS)[number];
17
+ export type AssetPickerBoardSlotClassNames = Partial<Record<AssetPickerBoardSlot, string>>;
18
+ export type AssetPickerBoardSlotStyles = Partial<Record<AssetPickerBoardSlot, CSSProperties>>;
19
+ export type AssetPickerBoardSlotProps = Partial<Record<AssetPickerBoardSlot, Record<string, unknown>>>;
20
+ export interface AssetPickerBoardMessages {
21
+ boardEyebrow?: string;
22
+ searchLabel?: string;
23
+ searchPlaceholder?: string;
24
+ emptyStateLabel?: string;
25
+ recentGroupLabel?: string;
26
+ }
2
27
  export type AssetPickerBoardItemPreview = {
3
28
  kind: 'emoji';
4
29
  value: string;
@@ -17,9 +42,12 @@ export interface AssetPickerBoardItem<TData = unknown> {
17
42
  id: string;
18
43
  value: string;
19
44
  label: string;
45
+ aliases?: string[];
20
46
  group?: string;
21
47
  keywords?: string[];
48
+ localizedLabels?: Record<string, string>;
22
49
  preview: AssetPickerBoardItemPreview;
50
+ previewAspectRatio?: number;
23
51
  data?: TData;
24
52
  }
25
53
  export interface AssetPickerBoardTab<TData = unknown> {
@@ -32,6 +60,11 @@ export interface AssetPickerBoardTab<TData = unknown> {
32
60
  searchPlaceholder?: string;
33
61
  emptyStateLabel?: string;
34
62
  activeBackground?: string;
63
+ layout?: AssetPickerTabLayout;
64
+ itemLabelVisibility?: AssetPickerItemLabelVisibility;
65
+ showGroups?: boolean;
66
+ groupOrder?: string[];
67
+ groupLabels?: Record<string, string>;
35
68
  }
36
69
  export interface AssetPickerBoardValue {
37
70
  tabId: string;
@@ -41,5 +74,6 @@ export interface AssetPickerBoardSelection<TData = unknown> {
41
74
  tab: AssetPickerBoardTab<TData>;
42
75
  item: AssetPickerBoardItem<TData>;
43
76
  value: AssetPickerBoardValue;
77
+ serializedValue: string;
44
78
  }
45
79
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../library/components/react/asset-picker/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,MAAM,MAAM,2BAA2B,GACnC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GAC5C;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC/B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,SAAS,CAAA;CAAE,CAAC;AAE1D,MAAM,WAAW,oBAAoB,CAAC,KAAK,GAAG,OAAO;IACnD,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,EAAE,2BAA2B,CAAC;IACrC,IAAI,CAAC,EAAE,KAAK,CAAC;CACd;AAED,MAAM,WAAW,mBAAmB,CAAC,KAAK,GAAG,OAAO;IAClD,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,yBAAyB,CAAC,KAAK,GAAG,OAAO;IACxD,GAAG,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAChC,IAAI,EAAE,oBAAoB,CAAC,KAAK,CAAC,CAAC;IAClC,KAAK,EAAE,qBAAqB,CAAC;CAC9B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../library/components/react/asset-picker/types.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,22 @@
1
- export {};
1
+ export const ASSET_PICKER_BOARD_SLOTS = [
2
+ 'root',
3
+ 'header',
4
+ 'headerText',
5
+ 'eyebrow',
6
+ 'title',
7
+ 'selectionPreview',
8
+ 'tabList',
9
+ 'tabButton',
10
+ 'searchField',
11
+ 'searchLabel',
12
+ 'searchInput',
13
+ 'statusBar',
14
+ 'groupSection',
15
+ 'groupLabel',
16
+ 'grid',
17
+ 'itemButton',
18
+ 'itemPreview',
19
+ 'itemLabel',
20
+ 'emptyState',
21
+ ];
2
22
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../library/components/react/asset-picker/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../library/components/react/asset-picker/types.ts"],"names":[],"mappings":"AAoBA,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,MAAM;IACN,QAAQ;IACR,YAAY;IACZ,SAAS;IACT,OAAO;IACP,kBAAkB;IAClB,SAAS;IACT,WAAW;IACX,aAAa;IACb,aAAa;IACb,aAAa;IACb,WAAW;IACX,cAAc;IACd,YAAY;IACZ,MAAM;IACN,YAAY;IACZ,aAAa;IACb,WAAW;IACX,YAAY;CACJ,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { type AssetPickerBoardProps, type AssetPickerValueFormat } from '../asset-picker/index.js';
1
2
  import { type EmojiPickerItem } from './emojiPickerData.js';
2
3
  export interface EmojiPickerBoardProps {
3
4
  value?: string;
@@ -9,6 +10,10 @@ export interface EmojiPickerBoardProps {
9
10
  showSearch?: boolean;
10
11
  columns?: number;
11
12
  className?: string;
13
+ valueFormat?: AssetPickerValueFormat;
14
+ recentStorageKey?: string;
15
+ recentLimit?: number;
16
+ boardProps?: Partial<Omit<AssetPickerBoardProps, 'tabs' | 'value' | 'defaultValue' | 'onChange' | 'onChangeComplete' | 'label' | 'showTabs' | 'showSearch' | 'className'>>;
12
17
  }
13
- export declare function EmojiPickerBoard({ value, defaultValue, onChange, onChangeComplete, items, label, showSearch, columns, className, }: Readonly<EmojiPickerBoardProps>): import("react/jsx-runtime").JSX.Element;
18
+ export declare function EmojiPickerBoard({ value, defaultValue, onChange, onChangeComplete, items, label, showSearch, columns, className, valueFormat, recentStorageKey, recentLimit, boardProps, }: Readonly<EmojiPickerBoardProps>): import("react/jsx-runtime").JSX.Element;
14
19
  //# sourceMappingURL=EmojiPickerBoard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EmojiPickerBoard.d.ts","sourceRoot":"","sources":["../../../../../library/components/react/emoji-picker/EmojiPickerBoard.tsx"],"names":[],"mappings":"AAMA,OAAO,EAEL,KAAK,eAAe,EACrB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,WAAW,qBAAqB;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,KAAK,CAAC,EAAE,eAAe,EAAE,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAoBD,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,EACL,YAAY,EACZ,QAAQ,EACR,gBAAgB,EAChB,KAAkC,EAClC,KAAsB,EACtB,UAAiB,EACjB,OAAW,EACX,SAAS,GACV,EAAE,QAAQ,CAAC,qBAAqB,CAAC,2CA0BjC"}
1
+ {"version":3,"file":"EmojiPickerBoard.d.ts","sourceRoot":"","sources":["../../../../../library/components/react/emoji-picker/EmojiPickerBoard.tsx"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,qBAAqB,EAG1B,KAAK,sBAAsB,EAC5B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,sBAAsB,CAAC;AAI9B,MAAM,WAAW,qBAAqB;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,KAAK,CAAC,EAAE,eAAe,EAAE,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,sBAAsB,CAAC;IACrC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAClB,IAAI,CACF,qBAAqB,EACrB,MAAM,GAAG,OAAO,GAAG,cAAc,GAAG,UAAU,GAAG,kBAAkB,GAAG,OAAO,GAAG,UAAU,GAAG,YAAY,GAAG,WAAW,CACxH,CACF,CAAC;CACH;AA4BD,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,EACL,YAAY,EACZ,QAAQ,EACR,gBAAgB,EAChB,KAAkC,EAClC,KAAsB,EACtB,UAAiB,EACjB,OAAW,EACX,SAAS,EACT,WAAyB,EACzB,gBAAgB,EAChB,WAAgB,EAChB,UAAU,GACX,EAAE,QAAQ,CAAC,qBAAqB,CAAC,2CAmGjC"}