@scaleflex/asset-picker 0.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 (180) hide show
  1. package/CHANGELOG.md +53 -0
  2. package/LICENSE +50 -0
  3. package/README.md +702 -0
  4. package/dist/asset-picker-BA876lMW.js +11444 -0
  5. package/dist/asset-picker-BbEOZw7O.cjs +5865 -0
  6. package/dist/asset-picker.d.ts +77 -0
  7. package/dist/asset-picker.d.ts.map +1 -0
  8. package/dist/components/filters/ap-filter-approval.d.ts +43 -0
  9. package/dist/components/filters/ap-filter-approval.d.ts.map +1 -0
  10. package/dist/components/filters/ap-filter-color.d.ts +31 -0
  11. package/dist/components/filters/ap-filter-color.d.ts.map +1 -0
  12. package/dist/components/filters/ap-filter-date.d.ts +32 -0
  13. package/dist/components/filters/ap-filter-date.d.ts.map +1 -0
  14. package/dist/components/filters/ap-filter-image.d.ts +21 -0
  15. package/dist/components/filters/ap-filter-image.d.ts.map +1 -0
  16. package/dist/components/filters/ap-filter-labels.d.ts +26 -0
  17. package/dist/components/filters/ap-filter-labels.d.ts.map +1 -0
  18. package/dist/components/filters/ap-filter-metadata.d.ts +93 -0
  19. package/dist/components/filters/ap-filter-metadata.d.ts.map +1 -0
  20. package/dist/components/filters/ap-filter-popover.d.ts +13 -0
  21. package/dist/components/filters/ap-filter-popover.d.ts.map +1 -0
  22. package/dist/components/filters/ap-filter-product-ref.d.ts +38 -0
  23. package/dist/components/filters/ap-filter-product-ref.d.ts.map +1 -0
  24. package/dist/components/filters/ap-filter-size.d.ts +24 -0
  25. package/dist/components/filters/ap-filter-size.d.ts.map +1 -0
  26. package/dist/components/filters/ap-filter-tags.d.ts +31 -0
  27. package/dist/components/filters/ap-filter-tags.d.ts.map +1 -0
  28. package/dist/components/filters/ap-filter-type.d.ts +13 -0
  29. package/dist/components/filters/ap-filter-type.d.ts.map +1 -0
  30. package/dist/components/filters/ap-filters-bar.d.ts +40 -0
  31. package/dist/components/filters/ap-filters-bar.d.ts.map +1 -0
  32. package/dist/components/filters/filters.constants.d.ts +189 -0
  33. package/dist/components/filters/filters.constants.d.ts.map +1 -0
  34. package/dist/components/filters/shared/filter-styles.d.ts +10 -0
  35. package/dist/components/filters/shared/filter-styles.d.ts.map +1 -0
  36. package/dist/components/header/ap-header.d.ts +30 -0
  37. package/dist/components/header/ap-header.d.ts.map +1 -0
  38. package/dist/components/header/ap-regional-settings.d.ts +19 -0
  39. package/dist/components/header/ap-regional-settings.d.ts.map +1 -0
  40. package/dist/components/modal/ap-modal.d.ts +17 -0
  41. package/dist/components/modal/ap-modal.d.ts.map +1 -0
  42. package/dist/components/navigation/ap-breadcrumb.d.ts +14 -0
  43. package/dist/components/navigation/ap-breadcrumb.d.ts.map +1 -0
  44. package/dist/components/preview/ap-preview-panel.d.ts +80 -0
  45. package/dist/components/preview/ap-preview-panel.d.ts.map +1 -0
  46. package/dist/components/selection/ap-marquee-overlay.d.ts +14 -0
  47. package/dist/components/selection/ap-marquee-overlay.d.ts.map +1 -0
  48. package/dist/components/selection/ap-selection-bar.d.ts +21 -0
  49. package/dist/components/selection/ap-selection-bar.d.ts.map +1 -0
  50. package/dist/components/shared/ap-badge.d.ts +12 -0
  51. package/dist/components/shared/ap-badge.d.ts.map +1 -0
  52. package/dist/components/shared/ap-checkbox.d.ts +17 -0
  53. package/dist/components/shared/ap-checkbox.d.ts.map +1 -0
  54. package/dist/components/shared/ap-dropdown.d.ts +37 -0
  55. package/dist/components/shared/ap-dropdown.d.ts.map +1 -0
  56. package/dist/components/shared/ap-icon.d.ts +13 -0
  57. package/dist/components/shared/ap-icon.d.ts.map +1 -0
  58. package/dist/components/shared/ap-popover.d.ts +15 -0
  59. package/dist/components/shared/ap-popover.d.ts.map +1 -0
  60. package/dist/components/shared/ap-radio-group.d.ts +30 -0
  61. package/dist/components/shared/ap-radio-group.d.ts.map +1 -0
  62. package/dist/components/shared/ap-spinner.d.ts +12 -0
  63. package/dist/components/shared/ap-spinner.d.ts.map +1 -0
  64. package/dist/components/shared/ap-tooltip.d.ts +12 -0
  65. package/dist/components/shared/ap-tooltip.d.ts.map +1 -0
  66. package/dist/components/toolbar/ap-content-toolbar.d.ts +64 -0
  67. package/dist/components/toolbar/ap-content-toolbar.d.ts.map +1 -0
  68. package/dist/components/toolbar/sort.constants.d.ts +9 -0
  69. package/dist/components/toolbar/sort.constants.d.ts.map +1 -0
  70. package/dist/components/views/ap-asset-card.d.ts +20 -0
  71. package/dist/components/views/ap-asset-card.d.ts.map +1 -0
  72. package/dist/components/views/ap-asset-row.d.ts +18 -0
  73. package/dist/components/views/ap-asset-row.d.ts.map +1 -0
  74. package/dist/components/views/ap-folder-card.d.ts +27 -0
  75. package/dist/components/views/ap-folder-card.d.ts.map +1 -0
  76. package/dist/components/views/ap-folder-row.d.ts +14 -0
  77. package/dist/components/views/ap-folder-row.d.ts.map +1 -0
  78. package/dist/components/views/ap-grid-view.d.ts +25 -0
  79. package/dist/components/views/ap-grid-view.d.ts.map +1 -0
  80. package/dist/components/views/ap-list-view.d.ts +22 -0
  81. package/dist/components/views/ap-list-view.d.ts.map +1 -0
  82. package/dist/components/views/ap-skeleton.d.ts +12 -0
  83. package/dist/components/views/ap-skeleton.d.ts.map +1 -0
  84. package/dist/controllers/infinite-scroll.controller.d.ts +13 -0
  85. package/dist/controllers/infinite-scroll.controller.d.ts.map +1 -0
  86. package/dist/controllers/keyboard.controller.d.ts +10 -0
  87. package/dist/controllers/keyboard.controller.d.ts.map +1 -0
  88. package/dist/controllers/marquee.controller.d.ts +43 -0
  89. package/dist/controllers/marquee.controller.d.ts.map +1 -0
  90. package/dist/controllers/selection.controller.d.ts +19 -0
  91. package/dist/controllers/selection.controller.d.ts.map +1 -0
  92. package/dist/controllers/store.controller.d.ts +14 -0
  93. package/dist/controllers/store.controller.d.ts.map +1 -0
  94. package/dist/define.cjs +1 -0
  95. package/dist/define.d.ts +2 -0
  96. package/dist/define.d.ts.map +1 -0
  97. package/dist/define.js +2 -0
  98. package/dist/hls.light-C3NKRmfw.cjs +27 -0
  99. package/dist/hls.light-DxDlt6yF.js +14441 -0
  100. package/dist/index.cjs +1 -0
  101. package/dist/index.d.ts +8 -0
  102. package/dist/index.d.ts.map +1 -0
  103. package/dist/index.js +4 -0
  104. package/dist/react.cjs +1 -0
  105. package/dist/react.d.ts +17 -0
  106. package/dist/react.d.ts.map +1 -0
  107. package/dist/react.js +46 -0
  108. package/dist/services/api-client.d.ts +12 -0
  109. package/dist/services/api-client.d.ts.map +1 -0
  110. package/dist/services/auth.service.d.ts +3 -0
  111. package/dist/services/auth.service.d.ts.map +1 -0
  112. package/dist/services/files.service.d.ts +21 -0
  113. package/dist/services/files.service.d.ts.map +1 -0
  114. package/dist/services/filters.service.d.ts +13 -0
  115. package/dist/services/filters.service.d.ts.map +1 -0
  116. package/dist/services/folders.service.d.ts +26 -0
  117. package/dist/services/folders.service.d.ts.map +1 -0
  118. package/dist/services/labels.service.d.ts +4 -0
  119. package/dist/services/labels.service.d.ts.map +1 -0
  120. package/dist/services/settings.service.d.ts +4 -0
  121. package/dist/services/settings.service.d.ts.map +1 -0
  122. package/dist/services/tags.service.d.ts +4 -0
  123. package/dist/services/tags.service.d.ts.map +1 -0
  124. package/dist/store/index.d.ts +6 -0
  125. package/dist/store/index.d.ts.map +1 -0
  126. package/dist/store/store.d.ts +14 -0
  127. package/dist/store/store.d.ts.map +1 -0
  128. package/dist/store/store.types.d.ts +49 -0
  129. package/dist/store/store.types.d.ts.map +1 -0
  130. package/dist/styles/shared-styles.d.ts +4 -0
  131. package/dist/styles/shared-styles.d.ts.map +1 -0
  132. package/dist/types/api.types.d.ts +82 -0
  133. package/dist/types/api.types.d.ts.map +1 -0
  134. package/dist/types/asset.types.d.ts +77 -0
  135. package/dist/types/asset.types.d.ts.map +1 -0
  136. package/dist/types/config.types.d.ts +51 -0
  137. package/dist/types/config.types.d.ts.map +1 -0
  138. package/dist/types/events.types.d.ts +23 -0
  139. package/dist/types/events.types.d.ts.map +1 -0
  140. package/dist/types/filter.types.d.ts +190 -0
  141. package/dist/types/filter.types.d.ts.map +1 -0
  142. package/dist/types/folder.types.d.ts +27 -0
  143. package/dist/types/folder.types.d.ts.map +1 -0
  144. package/dist/types/index.d.ts +8 -0
  145. package/dist/types/index.d.ts.map +1 -0
  146. package/dist/types/label.types.d.ts +9 -0
  147. package/dist/types/label.types.d.ts.map +1 -0
  148. package/dist/types/tag.types.d.ts +13 -0
  149. package/dist/types/tag.types.d.ts.map +1 -0
  150. package/dist/utils/brand-color.d.ts +12 -0
  151. package/dist/utils/brand-color.d.ts.map +1 -0
  152. package/dist/utils/css-helpers.d.ts +2 -0
  153. package/dist/utils/css-helpers.d.ts.map +1 -0
  154. package/dist/utils/debounce.d.ts +4 -0
  155. package/dist/utils/debounce.d.ts.map +1 -0
  156. package/dist/utils/file-type.d.ts +25 -0
  157. package/dist/utils/file-type.d.ts.map +1 -0
  158. package/dist/utils/filter-date.d.ts +9 -0
  159. package/dist/utils/filter-date.d.ts.map +1 -0
  160. package/dist/utils/filter-normalize.d.ts +7 -0
  161. package/dist/utils/filter-normalize.d.ts.map +1 -0
  162. package/dist/utils/filter-pin-storage.d.ts +8 -0
  163. package/dist/utils/filter-pin-storage.d.ts.map +1 -0
  164. package/dist/utils/filter-serialize.d.ts +3 -0
  165. package/dist/utils/filter-serialize.d.ts.map +1 -0
  166. package/dist/utils/filter-url.d.ts +8 -0
  167. package/dist/utils/filter-url.d.ts.map +1 -0
  168. package/dist/utils/filter-validate.d.ts +3 -0
  169. package/dist/utils/filter-validate.d.ts.map +1 -0
  170. package/dist/utils/format.d.ts +5 -0
  171. package/dist/utils/format.d.ts.map +1 -0
  172. package/dist/utils/preference-storage.d.ts +6 -0
  173. package/dist/utils/preference-storage.d.ts.map +1 -0
  174. package/dist/utils/sort-storage.d.ts +7 -0
  175. package/dist/utils/sort-storage.d.ts.map +1 -0
  176. package/dist/utils/thumbnail.d.ts +27 -0
  177. package/dist/utils/thumbnail.d.ts.map +1 -0
  178. package/dist/utils/video.d.ts +7 -0
  179. package/dist/utils/video.d.ts.map +1 -0
  180. package/package.json +67 -0
@@ -0,0 +1,190 @@
1
+ export declare const FILTER_KEYS: {
2
+ readonly TYPE: "type";
3
+ readonly MIME_TYPE: "mimetype";
4
+ readonly METADATA: "metadata";
5
+ readonly DATE: "date";
6
+ readonly APPROVAL: "approval";
7
+ readonly SIZE: "size";
8
+ readonly LICENSE_EXPIRY: "asset_expiration";
9
+ readonly TAGS: "tags";
10
+ readonly FOLDERS: "folders";
11
+ readonly IMAGE: "image";
12
+ readonly LABELS: "labels";
13
+ readonly PRODUCT_REF: "product_ref";
14
+ readonly RESOLUTION: "resolution";
15
+ readonly PRODUCTS: "products";
16
+ readonly FACES: "faces";
17
+ readonly ORIENTATION: "orientation";
18
+ readonly COLOR: "color";
19
+ };
20
+ export type FilterKey = (typeof FILTER_KEYS)[keyof typeof FILTER_KEYS];
21
+ export declare const APPROVAL_FILTER_KEYS: {
22
+ readonly STATUS: "approval_status";
23
+ readonly APPROVER: "task_approver";
24
+ readonly REQUESTOR: "task_requester";
25
+ readonly DUE_DATE: "task_duedate";
26
+ };
27
+ export type ApprovalFilterKey = (typeof APPROVAL_FILTER_KEYS)[keyof typeof APPROVAL_FILTER_KEYS];
28
+ export type AnyFilterKey = FilterKey | ApprovalFilterKey;
29
+ export declare const FILTER_OPERATORS: {
30
+ readonly IS: ":";
31
+ readonly EQUAL: "=";
32
+ readonly NOT_EQUAL: "!=";
33
+ readonly RANGE: "..";
34
+ readonly IS_NOT: ":-";
35
+ readonly IS_EXACT: ":=";
36
+ readonly CONTAINS: "~";
37
+ readonly CONTAINS_IN_TEXT: "~~~";
38
+ readonly STARTS_WITH: "~^";
39
+ readonly GREATER_THAN: ">";
40
+ readonly LESS_THAN: "<";
41
+ readonly GREATER_THAN_OR_EQUAL: ">=";
42
+ readonly LESS_THAN_OR_EQUAL: "<=";
43
+ readonly SIMILAR_TO: "~~";
44
+ };
45
+ export type FilterOperator = (typeof FILTER_OPERATORS)[keyof typeof FILTER_OPERATORS];
46
+ export declare const FILTER_LOGIC: {
47
+ readonly OR: "OR";
48
+ readonly AND: "AND";
49
+ };
50
+ export type FilterLogic = (typeof FILTER_LOGIC)[keyof typeof FILTER_LOGIC];
51
+ export declare const METADATA_FIELD_TYPES: {
52
+ readonly NUMERIC: "numeric";
53
+ readonly SELECT_ONE: "select-one";
54
+ readonly MULTI_SELECT: "multi-select";
55
+ readonly TEXT_AREA: "textarea";
56
+ readonly TEXT: "text";
57
+ readonly SUPERTAGS: "tags";
58
+ readonly DATE: "date";
59
+ readonly BOOLEAN: "boolean";
60
+ readonly ATTACHMENTS_ASSETS: "attachments-assets";
61
+ readonly ATTACHMENT_URI: "attachment-uri";
62
+ readonly GEO_POINT: "geopoint";
63
+ readonly DECIMAL2: "decimal2";
64
+ readonly INTEGER_LIST: "integer-list";
65
+ };
66
+ export type MetadataFieldType = (typeof METADATA_FIELD_TYPES)[keyof typeof METADATA_FIELD_TYPES];
67
+ export declare const METADATA_PREFIX_BY_TYPE: Record<MetadataFieldType, string>;
68
+ export declare const METADATA_TYPE_BY_PREFIX: Record<string, MetadataFieldType>;
69
+ export declare const METADATA_PREFIXES: string[];
70
+ export declare const DATE_KINDS: {
71
+ readonly PRESET: "preset";
72
+ readonly AFTER: "after";
73
+ readonly BEFORE: "before";
74
+ readonly BETWEEN: "between";
75
+ readonly SPECIFIC: "specific";
76
+ };
77
+ export type DateKind = (typeof DATE_KINDS)[keyof typeof DATE_KINDS];
78
+ export declare const DATE_PRESETS: {
79
+ readonly TODAY: "today";
80
+ readonly LAST_WEEK: "last_week";
81
+ readonly WITHIN_WEEK: "within_week";
82
+ readonly LAST_MONTH: "last_month";
83
+ readonly WITHIN_MONTH: "within_month";
84
+ readonly LAST_YEAR: "last_year";
85
+ readonly WITHIN_YEAR: "within_year";
86
+ readonly EMPTY: "empty";
87
+ readonly NOT_EMPTY: "non-empty";
88
+ };
89
+ export type DatePreset = (typeof DATE_PRESETS)[keyof typeof DATE_PRESETS];
90
+ export declare const DATE_FIELDS: {
91
+ readonly CREATED: "created";
92
+ readonly UPDATED: "updated";
93
+ };
94
+ export type DateField = (typeof DATE_FIELDS)[keyof typeof DATE_FIELDS];
95
+ export interface BaseFilter {
96
+ metadataType?: MetadataFieldType;
97
+ operator?: string;
98
+ logic?: FilterLogic;
99
+ values?: string[];
100
+ }
101
+ export type StringFilter = BaseFilter & {
102
+ type: 'string';
103
+ values: string[];
104
+ };
105
+ export type DateFilter = BaseFilter & {
106
+ type: 'date';
107
+ field: DateField;
108
+ kind: DateKind | null;
109
+ preset: DatePreset | null;
110
+ from: string | null;
111
+ to: string | null;
112
+ };
113
+ export type AnyFilter = StringFilter | DateFilter;
114
+ export type Filters = Partial<Record<AnyFilterKey, AnyFilter>>;
115
+ export type MetadataFilters = Record<string, AnyFilter>;
116
+ /** Simplified string filter input — `type` is inferred, operator/logic have defaults */
117
+ export interface StringFilterInput {
118
+ values: string[];
119
+ operator?: string;
120
+ logic?: FilterLogic;
121
+ }
122
+ /** Simplified date filter input — `type` is inferred, unused fields default to null */
123
+ export interface DateFilterInput {
124
+ field?: DateField;
125
+ kind: DateKind;
126
+ preset?: DatePreset | null;
127
+ from?: string | null;
128
+ to?: string | null;
129
+ }
130
+ export type FilterInput = StringFilterInput | DateFilterInput;
131
+ /** User-facing filters config type — accepts both simplified and full forms */
132
+ export type FiltersInput = Partial<Record<AnyFilterKey, FilterInput | AnyFilter>>;
133
+ export interface FiltersState {
134
+ metadata: {
135
+ pinned: string[];
136
+ visible: string[];
137
+ applied: MetadataFilters;
138
+ };
139
+ pinned: AnyFilterKey[];
140
+ visible: AnyFilterKey[];
141
+ applied: Filters;
142
+ }
143
+ export interface FilterItemConfig {
144
+ key: FilterKey;
145
+ label: string;
146
+ icon: string;
147
+ type: 'string' | 'date';
148
+ }
149
+ export interface MetadataPossibleValue {
150
+ api_value: string;
151
+ internal_unique_value: string;
152
+ label: string;
153
+ }
154
+ export interface MetadataModelField {
155
+ key: string;
156
+ label: string;
157
+ type: MetadataFieldType;
158
+ slug?: string;
159
+ ckey?: string;
160
+ possible_values?: MetadataPossibleValue[];
161
+ group?: 'root' | 'product';
162
+ /** UUID of the regional variant group this field belongs to (if regional). */
163
+ regionalVariantsGroupUuid?: string;
164
+ }
165
+ export interface RegionalVariant {
166
+ api_value: string;
167
+ internal_unique_value: string;
168
+ label: string;
169
+ }
170
+ export interface RegionalVariantGroup {
171
+ uuid: string;
172
+ label: string;
173
+ variants: RegionalVariant[];
174
+ }
175
+ /** Maps group UUID → selected variant api_value */
176
+ export type RegionalFilters = Record<string, string>;
177
+ export interface FilterFileType {
178
+ name: string;
179
+ value: string;
180
+ count: number;
181
+ category?: string;
182
+ label?: string;
183
+ }
184
+ export interface FiltersConfig {
185
+ fileTypes: FilterFileType[];
186
+ }
187
+ export declare const EMPTY_VALUE = "empty";
188
+ export declare const NOT_EMPTY_VALUE = "non-empty";
189
+ export declare const SPECIFIC_VALUE = "specific";
190
+ //# sourceMappingURL=filter.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter.types.d.ts","sourceRoot":"","sources":["../../src/types/filter.types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ export interface Folder {
2
+ uuid: string;
3
+ name: string;
4
+ path: string;
5
+ owner?: string;
6
+ size?: {
7
+ total_recursive_bytes?: number;
8
+ };
9
+ count?: {
10
+ files_recursive?: number;
11
+ files_direct?: number;
12
+ };
13
+ created_at: string;
14
+ modified_at?: string;
15
+ updated_at?: string;
16
+ visibility?: {
17
+ in_cdn?: {
18
+ actual: string;
19
+ set: string;
20
+ };
21
+ in_dam?: {
22
+ actual: string;
23
+ set: string;
24
+ };
25
+ };
26
+ }
27
+ //# sourceMappingURL=folder.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"folder.types.d.ts","sourceRoot":"","sources":["../../src/types/folder.types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE;QACL,qBAAqB,CAAC,EAAE,MAAM,CAAC;KAChC,CAAC;IACF,KAAK,CAAC,EAAE;QACN,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE;QACX,MAAM,CAAC,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,GAAG,EAAE,MAAM,CAAA;SAAE,CAAC;QACzC,MAAM,CAAC,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,GAAG,EAAE,MAAM,CAAA;SAAE,CAAC;KAC1C,CAAC;CACH"}
@@ -0,0 +1,8 @@
1
+ export * from './asset.types';
2
+ export * from './folder.types';
3
+ export * from './label.types';
4
+ export * from './filter.types';
5
+ export * from './config.types';
6
+ export * from './events.types';
7
+ export * from './api.types';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC"}
@@ -0,0 +1,9 @@
1
+ export interface Label {
2
+ uuid: string;
3
+ sid: string;
4
+ name: string;
5
+ color: string;
6
+ shape: string;
7
+ assetsCount: number;
8
+ }
9
+ //# sourceMappingURL=label.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"label.types.d.ts","sourceRoot":"","sources":["../../src/types/label.types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB"}
@@ -0,0 +1,13 @@
1
+ export interface Tag {
2
+ uuid: string;
3
+ sid: string;
4
+ slug: string;
5
+ names: Record<string, string>;
6
+ primary: boolean;
7
+ created_at: string;
8
+ updated_at: string | null;
9
+ }
10
+ export interface TagWithLabel extends Tag {
11
+ label: string;
12
+ }
13
+ //# sourceMappingURL=tag.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tag.types.d.ts","sourceRoot":"","sources":["../../src/types/tag.types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,GAAG;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,YAAa,SAAQ,GAAG;IACvC,KAAK,EAAE,MAAM,CAAC;CACf"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Parses a hex color and generates CSS custom property overrides
3
+ * for all accent/primary variables used in the theme.
4
+ *
5
+ * Uses oklch color space so opacity-based tones are derived naturally.
6
+ */
7
+ /**
8
+ * Apply brand color CSS custom properties on an element.
9
+ * Call with empty string to clear overrides.
10
+ */
11
+ export declare function applyBrandColor(el: HTMLElement, hex: string): void;
12
+ //# sourceMappingURL=brand-color.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"brand-color.d.ts","sourceRoot":"","sources":["../../src/utils/brand-color.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAkDH;;;GAGG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CA6BlE"}
@@ -0,0 +1,2 @@
1
+ export declare function createAdoptedSheet(css: string): CSSStyleSheet;
2
+ //# sourceMappingURL=css-helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"css-helpers.d.ts","sourceRoot":"","sources":["../../src/utils/css-helpers.ts"],"names":[],"mappings":"AAAA,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAI7D"}
@@ -0,0 +1,4 @@
1
+ export declare function debounce<T extends (...args: any[]) => void>(fn: T, delay: number): T & {
2
+ cancel(): void;
3
+ };
4
+ //# sourceMappingURL=debounce.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debounce.d.ts","sourceRoot":"","sources":["../../src/utils/debounce.ts"],"names":[],"mappings":"AACA,wBAAgB,QAAQ,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,GAAG;IAAE,MAAM,IAAI,IAAI,CAAA;CAAE,CASzG"}
@@ -0,0 +1,25 @@
1
+ import { AssetType } from '../types/asset.types';
2
+ export declare function getFileType(extension: string): AssetType;
3
+ export declare function getFileTypeFromMime(typeOrMime: string): AssetType;
4
+ export declare function getFileTypeIcon(type: AssetType): string;
5
+ export declare function isPreviewable(type: AssetType): boolean;
6
+ /** Check if an extension supports thumbnail generation (image rendering via CDN/Cloudimage). */
7
+ export declare function hasThumbnailSupport(extension: string): boolean;
8
+ /**
9
+ * Get the CDN-hosted file type icon URL for a given extension.
10
+ * Matches portals-fe FILE_TYPES_AND_ICONS mapping.
11
+ */
12
+ export declare function getFileTypeIconUrl(extension: string): string;
13
+ export declare function getDefaultFileTypeIconUrl(): string;
14
+ /**
15
+ * Detect file type from MIME type string (e.g. "image/jpeg")
16
+ * or short API type (e.g. "image", "video").
17
+ * Returns the extension part for icon lookup.
18
+ */
19
+ export declare function getExtensionFromType(fileType: string): string;
20
+ /**
21
+ * Check if a URL is a low-quality file type icon (from Scaleflex CDN).
22
+ */
23
+ export declare function isFileTypeIcon(url: string): boolean;
24
+ export declare function hasTransparencySupport(extension: string): boolean;
25
+ //# sourceMappingURL=file-type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-type.d.ts","sourceRoot":"","sources":["../../src/utils/file-type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAgBtD,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CASxD;AAED,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAoBjE;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CAWvD;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAEtD;AAED,gGAAgG;AAChG,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAG9D;AAqBD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAI5D;AAED,wBAAgB,yBAAyB,IAAI,MAAM,CAElD;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAI7D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEnD;AAKD,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAGjE"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Date resolution utilities for date filter presets.
3
+ * Converts preset strings (e.g. 'today', 'last_week') into date ranges.
4
+ */
5
+ export declare function resolvePresetToRange(preset: string): {
6
+ from: string;
7
+ to: string | null;
8
+ } | null;
9
+ //# sourceMappingURL=filter-date.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter-date.d.ts","sourceRoot":"","sources":["../../src/utils/filter-date.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAWH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,GACb;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG,IAAI,CAkD5C"}
@@ -0,0 +1,7 @@
1
+ import { FiltersInput, Filters } from '../types/filter.types';
2
+ /**
3
+ * Normalize user-facing `FiltersInput` (simplified or full) into
4
+ * the internal `Filters` shape required by the rest of the codebase.
5
+ */
6
+ export declare function normalizeFilters(input: FiltersInput | undefined): Filters;
7
+ //# sourceMappingURL=filter-normalize.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter-normalize.d.ts","sourceRoot":"","sources":["../../src/utils/filter-normalize.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,YAAY,EACjB,KAAK,OAAO,EACb,MAAM,uBAAuB,CAAC;AAS/B;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,GAAG,SAAS,GAAG,OAAO,CAWzE"}
@@ -0,0 +1,8 @@
1
+ import { AnyFilterKey } from '../types/filter.types';
2
+ export declare function loadPinnedFilters(projectId: string | null): {
3
+ pinnedFilters: AnyFilterKey[];
4
+ pinnedMetadata: string[];
5
+ };
6
+ export declare function savePinnedFilters(projectId: string | null, pinned: AnyFilterKey[]): void;
7
+ export declare function savePinnedMetadata(projectId: string | null, pinned: string[]): void;
8
+ //# sourceMappingURL=filter-pin-storage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter-pin-storage.d.ts","sourceRoot":"","sources":["../../src/utils/filter-pin-storage.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAU1D,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,MAAM,GAAG,IAAI,GACvB;IAAE,aAAa,EAAE,YAAY,EAAE,CAAC;IAAC,cAAc,EAAE,MAAM,EAAE,CAAA;CAAE,CAmB7D;AAED,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,MAAM,EAAE,YAAY,EAAE,GACrB,IAAI,CAEN;AAED,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,MAAM,EAAE,MAAM,EAAE,GACf,IAAI,CAEN"}
@@ -0,0 +1,3 @@
1
+ import { Filters, MetadataFilters } from '../types/filter.types';
2
+ export declare function serializeFilters(filters: Filters, metadataFilters?: MetadataFilters): string[];
3
+ //# sourceMappingURL=filter-serialize.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter-serialize.d.ts","sourceRoot":"","sources":["../../src/utils/filter-serialize.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAaL,KAAK,OAAO,EACZ,KAAK,eAAe,EACrB,MAAM,uBAAuB,CAAC;AAY/B,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,OAAO,EAChB,eAAe,GAAE,eAAoB,GACpC,MAAM,EAAE,CAmBV"}
@@ -0,0 +1,8 @@
1
+ import { AnyFilter, Filters, MetadataFilters } from '../types/filter.types';
2
+ export declare function getFiltersFromUrl(url?: URL): {
3
+ filters: Filters;
4
+ metadataFields: MetadataFilters;
5
+ };
6
+ export declare function prepareFilterForUrl(key: string, filter: AnyFilter): string;
7
+ export declare function setFiltersToUrl(filters: Filters, metadataFilters: MetadataFilters, url?: URL): URL;
8
+ //# sourceMappingURL=filter-url.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter-url.d.ts","sourceRoot":"","sources":["../../src/utils/filter-url.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAML,KAAK,SAAS,EAGd,KAAK,OAAO,EACZ,KAAK,eAAe,EAGrB,MAAM,uBAAuB,CAAC;AA6F/B,wBAAgB,iBAAiB,CAC/B,GAAG,GAAE,GAAmC,GACvC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,cAAc,EAAE,eAAe,CAAA;CAAE,CAiEvD;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,GAAG,MAAM,CAQ1E;AAED,wBAAgB,eAAe,CAC7B,OAAO,EAAE,OAAO,EAChB,eAAe,EAAE,eAAe,EAChC,GAAG,GAAE,GAAmC,GACvC,GAAG,CA2BL"}
@@ -0,0 +1,3 @@
1
+ import { AnyFilter } from '../types/filter.types';
2
+ export declare function validateFilter(_key: string, filter: AnyFilter): boolean;
3
+ //# sourceMappingURL=filter-validate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter-validate.d.ts","sourceRoot":"","sources":["../../src/utils/filter-validate.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAA4B,MAAM,uBAAuB,CAAC;AAEjF,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,GAAG,OAAO,CAYvE"}
@@ -0,0 +1,5 @@
1
+ export declare function formatFileSize(bytes: number): string;
2
+ export declare function formatDate(dateString: string): string;
3
+ export declare function formatDateTime(dateString: string): string;
4
+ export declare function formatDimensions(width?: number, height?: number): string;
5
+ //# sourceMappingURL=format.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../src/utils/format.ts"],"names":[],"mappings":"AAAA,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAOpD;AAED,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CASrD;AAED,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAWzD;AAED,wBAAgB,gBAAgB,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAGxE"}
@@ -0,0 +1,6 @@
1
+ import { ViewMode } from '../types/config.types';
2
+ export declare function saveLastFolder(path: string): void;
3
+ export declare function loadLastFolder(): string | null;
4
+ export declare function saveLastView(mode: ViewMode): void;
5
+ export declare function loadLastView(): ViewMode | null;
6
+ //# sourceMappingURL=preference-storage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preference-storage.d.ts","sourceRoot":"","sources":["../../src/utils/preference-storage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAKtD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAIjD;AAED,wBAAgB,cAAc,IAAI,MAAM,GAAG,IAAI,CAM9C;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,CAIjD;AAED,wBAAgB,YAAY,IAAI,QAAQ,GAAG,IAAI,CAM9C"}
@@ -0,0 +1,7 @@
1
+ import { SortBy, SortDirection } from '../types/config.types';
2
+ export declare function saveSortPreference(sortBy: SortBy, sortDirection: SortDirection): void;
3
+ export declare function loadSortPreference(): {
4
+ sortBy: SortBy | null;
5
+ sortDirection: SortDirection | null;
6
+ };
7
+ //# sourceMappingURL=sort-storage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sort-storage.d.ts","sourceRoot":"","sources":["../../src/utils/sort-storage.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAKnE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,GAAG,IAAI,CAOrF;AAED,wBAAgB,kBAAkB,IAAI;IAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,aAAa,EAAE,aAAa,GAAG,IAAI,CAAA;CAAE,CAQnG"}
@@ -0,0 +1,27 @@
1
+ import { Asset } from '../types/asset.types';
2
+ /**
3
+ * Get the best thumbnail URL for an asset.
4
+ * Priority matches portals-fe getItemIcon():
5
+ * video: video_thumbnail > image_thumbnail > thumbnail > url.cdn
6
+ * other: image_thumbnail > thumbnail > preview > url.cdn
7
+ */
8
+ export declare function getAssetThumbnailUrl(asset: Asset): string;
9
+ /**
10
+ * Get video thumbnail URL. Prefers video_thumbnail from API info.
11
+ */
12
+ export declare function getVideoThumbnailUrl(asset: Asset): string;
13
+ /**
14
+ * Get PDF thumbnail URL by transforming CDN URL to render first page as image.
15
+ * Matches portals-fe getItemIcon() PDF path: uses CDN link + doc_page=1.
16
+ */
17
+ export declare function getPdfPreviewUrl(asset: Asset): string;
18
+ /**
19
+ * Add query parameters to a CDN URL.
20
+ */
21
+ export declare function addCdnParams(url: string, params: Record<string, string>): string;
22
+ export declare function getFormattedPreviewUrl(cdnUrl: string, containerToken?: string): string;
23
+ /**
24
+ * Get preview URL for full preview display.
25
+ */
26
+ export declare function getPreviewUrl(cdnUrl: string): string;
27
+ //# sourceMappingURL=thumbnail.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thumbnail.d.ts","sourceRoot":"","sources":["../../src/utils/thumbnail.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAElD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CASzD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAOzD;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAarD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAUhF;AASD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,CAsBtF;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEpD"}
@@ -0,0 +1,7 @@
1
+ import { Asset } from '../types/asset.types';
2
+ /**
3
+ * Extract HLS manifest URL from asset's playlists info.
4
+ * The HLS URL lives at info.playlists[0].playlists[0].
5
+ */
6
+ export declare function getHlsUrl(asset: Asset): string | null;
7
+ //# sourceMappingURL=video.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"video.d.ts","sourceRoot":"","sources":["../../src/utils/video.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAElD;;;GAGG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,GAAG,IAAI,CAOrD"}
package/package.json ADDED
@@ -0,0 +1,67 @@
1
+ {
2
+ "name": "@scaleflex/asset-picker",
3
+ "version": "0.1.0",
4
+ "description": "Framework-agnostic Asset Picker for Scaleflex VXP DAM",
5
+ "type": "module",
6
+ "main": "dist/index.cjs",
7
+ "module": "dist/index.js",
8
+ "types": "dist/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "types": "./dist/index.d.ts",
12
+ "import": "./dist/index.js",
13
+ "require": "./dist/index.cjs"
14
+ },
15
+ "./react": {
16
+ "types": "./dist/react.d.ts",
17
+ "import": "./dist/react.js",
18
+ "require": "./dist/react.cjs"
19
+ },
20
+ "./define": {
21
+ "types": "./dist/define.d.ts",
22
+ "import": "./dist/define.js",
23
+ "require": "./dist/define.cjs"
24
+ }
25
+ },
26
+ "files": [
27
+ "dist",
28
+ "README.md",
29
+ "LICENSE",
30
+ "CHANGELOG.md"
31
+ ],
32
+ "scripts": {
33
+ "dev": "vite serve dev",
34
+ "dev:demo": "vite serve --config vite.demo.config.ts",
35
+ "build": "vite build",
36
+ "typecheck": "tsc --noEmit",
37
+ "build:demo": "vite build --config vite.demo.config.ts",
38
+ "publish:github": "./scripts/publish-github.sh",
39
+ "push:source": "git push gitlab main"
40
+ },
41
+ "dependencies": {
42
+ "hls.js": "^1.6.15",
43
+ "lit": "^3.2.0"
44
+ },
45
+ "devDependencies": {
46
+ "@tailwindcss/vite": "^4.0.0",
47
+ "@types/react": "^19.2.14",
48
+ "@types/react-dom": "^19.2.3",
49
+ "tailwindcss": "^4.0.0",
50
+ "typescript": "^5.5.3",
51
+ "vite": "^6.0.0",
52
+ "vite-plugin-dts": "^4.0.0"
53
+ },
54
+ "peerDependencies": {
55
+ "react": ">=18",
56
+ "react-dom": ">=18"
57
+ },
58
+ "peerDependenciesMeta": {
59
+ "react": {
60
+ "optional": true
61
+ },
62
+ "react-dom": {
63
+ "optional": true
64
+ }
65
+ },
66
+ "license": "SEE LICENSE IN LICENSE"
67
+ }