@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
package/CHANGELOG.md ADDED
@@ -0,0 +1,53 @@
1
+ # Changelog
2
+
3
+ All notable changes to `@scaleflex/asset-picker` will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [Unreleased]
9
+
10
+ ### Added
11
+
12
+ - Select-all functionality for asset selection
13
+ - Stats endpoint integration
14
+ - Tags filter with suggested and other tags from API
15
+ - GitHub Pages demo
16
+
17
+ ### Changed
18
+
19
+ - Improved filter UX: temporary chips, search focus, "Clear all" placement, and outside click handling
20
+ - Improved sort system
21
+ - Filter validation and debounced filter application
22
+ - SVG preview rendering
23
+
24
+ ### Fixed
25
+
26
+ - Filter popover overflowing right edge of widget
27
+ - Filter popover not closing on filters-bar empty area click
28
+ - Approval filter and filter constants
29
+ - Date presets and serialization
30
+ - Filter component UX issues
31
+
32
+ ## [0.1.0] - 2026-03-10
33
+
34
+ Initial release.
35
+
36
+ ### Added
37
+
38
+ - `<asset-picker>` web component built with Lit 3 and Shadow DOM
39
+ - Reactive store-based state management with `StoreController`
40
+ - Asset browsing with grid and list view modes
41
+ - Folder navigation with breadcrumb trail
42
+ - Multi-select with checkbox, marquee, and keyboard shortcuts
43
+ - Infinite scroll pagination
44
+ - Advanced filtering system (format, date, resolution, orientation, labels, approval status, tags)
45
+ - Sort by name, date, size, format, resolution
46
+ - Search with debounced input
47
+ - Asset preview with metadata display
48
+ - Collection support
49
+ - Session-based and security-template authentication
50
+ - Tailwind CSS v4 theming with `--ap-*` CSS custom properties (oklch color space)
51
+ - React wrapper with `forwardRef` support
52
+ - Vite 6 library build (ESM + CJS)
53
+ - Package exports: `.`, `./react`, `./define`
package/LICENSE ADDED
@@ -0,0 +1,50 @@
1
+ PROPRIETARY SOFTWARE LICENSE
2
+
3
+ Copyright (c) 2025 Scaleflex SAS. All Rights Reserved.
4
+
5
+ NOTICE: This software and associated documentation files (the "Software") are
6
+ the exclusive property of Scaleflex SAS. The Software is protected by copyright
7
+ laws, international treaties, and other intellectual property laws.
8
+
9
+ RESTRICTIONS
10
+
11
+ You may NOT, without prior written permission from Scaleflex SAS:
12
+
13
+ 1. Copy, reproduce, or duplicate the Software, in whole or in part.
14
+ 2. Modify, adapt, translate, reverse engineer, decompile, or disassemble the
15
+ Software, or create derivative works based on the Software.
16
+ 3. Distribute, sublicense, lease, rent, loan, sell, or otherwise transfer the
17
+ Software or any rights therein to any third party.
18
+ 4. Remove, alter, or obscure any proprietary notices, labels, or marks on the
19
+ Software.
20
+ 5. Use the Software for any purpose other than as expressly authorised under
21
+ a separate written licence agreement with Scaleflex SAS.
22
+
23
+ GRANT OF LICENCE
24
+
25
+ Use of this Software is permitted only under a separate written licence
26
+ agreement between the licensee and Scaleflex SAS. Installing or downloading
27
+ this Software does not, by itself, grant any licence or right to use the
28
+ Software.
29
+
30
+ NO WARRANTY
31
+
32
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
33
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
34
+ FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT. IN NO EVENT SHALL
35
+ SCALEFLEX SAS BE LIABLE FOR ANY CLAIM, DAMAGES, OR OTHER LIABILITY, WHETHER IN
36
+ AN ACTION OF CONTRACT, TORT, OR OTHERWISE, ARISING FROM, OUT OF, OR IN
37
+ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
38
+
39
+ ENFORCEMENT
40
+
41
+ Unauthorised use, reproduction, or distribution of this Software, or any
42
+ portion thereof, may result in severe civil and criminal penalties and will be
43
+ prosecuted to the maximum extent permitted by applicable law.
44
+
45
+ CONTACT
46
+
47
+ For licensing enquiries:
48
+ Scaleflex SAS
49
+ Email: sales@scaleflex.com
50
+ Web: https://www.scaleflex.com