hasting-swatchcart-module 0.0.2 → 0.0.4

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 (341) hide show
  1. package/dist/_virtual/_commonjsHelpers.js +6 -0
  2. package/dist/_virtual/index.js +7 -0
  3. package/dist/_virtual/index2.js +7 -0
  4. package/dist/_virtual/index3.js +4 -0
  5. package/dist/_virtual/use-sync-external-store-with-selector.development.js +4 -0
  6. package/dist/_virtual/use-sync-external-store-with-selector.production.js +4 -0
  7. package/dist/_virtual/utilities.js +4 -0
  8. package/dist/_virtual/with-selector.js +5 -0
  9. package/dist/_virtual/with-selector2.js +4 -0
  10. package/dist/assets/src/shared/ui/CustomSidebar/CustomSidebar.module.css +1 -0
  11. package/dist/assets/src/shared/ui/Markdown/MDWithAccordion.module.css +1 -0
  12. package/dist/assets/src/shared/ui/PopoverTooltip/PopoverTooltip.module.css +0 -0
  13. package/dist/components/SwatchesModule.js +23 -38896
  14. package/dist/node_modules/@floating-ui/core/dist/floating-ui.core.js +527 -0
  15. package/dist/node_modules/@floating-ui/dom/dist/floating-ui.dom.js +402 -0
  16. package/dist/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.js +208 -0
  17. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js +136 -0
  18. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.js +130 -0
  19. package/dist/node_modules/@radix-ui/primitive/dist/index.js +9 -0
  20. package/dist/node_modules/@radix-ui/react-arrow/dist/index.js +24 -0
  21. package/dist/node_modules/@radix-ui/react-checkbox/dist/index.js +251 -0
  22. package/dist/node_modules/@radix-ui/react-compose-refs/dist/index.js +29 -0
  23. package/dist/node_modules/@radix-ui/react-context/dist/index.js +68 -0
  24. package/dist/node_modules/@radix-ui/react-dialog/dist/index.js +256 -0
  25. package/dist/node_modules/@radix-ui/react-dismissable-layer/dist/index.js +127 -0
  26. package/dist/node_modules/@radix-ui/react-focus-guards/dist/index.js +17 -0
  27. package/dist/node_modules/@radix-ui/react-focus-scope/dist/index.js +136 -0
  28. package/dist/node_modules/@radix-ui/react-id/dist/index.js +13 -0
  29. package/dist/node_modules/@radix-ui/react-popover/dist/index.js +231 -0
  30. package/dist/node_modules/@radix-ui/react-popper/dist/index.js +219 -0
  31. package/dist/node_modules/@radix-ui/react-portal/dist/index.js +15 -0
  32. package/dist/node_modules/@radix-ui/react-presence/dist/index.js +70 -0
  33. package/dist/node_modules/@radix-ui/react-primitive/dist/index.js +36 -0
  34. package/dist/node_modules/@radix-ui/react-slot/dist/index.js +49 -0
  35. package/dist/node_modules/@radix-ui/react-use-callback-ref/dist/index.js +10 -0
  36. package/dist/node_modules/@radix-ui/react-use-controllable-state/dist/index.js +52 -0
  37. package/dist/node_modules/@radix-ui/react-use-escape-keydown/dist/index.js +14 -0
  38. package/dist/node_modules/@radix-ui/react-use-layout-effect/dist/index.js +6 -0
  39. package/dist/node_modules/@radix-ui/react-use-previous/dist/index.js +8 -0
  40. package/dist/node_modules/@radix-ui/react-use-size/dist/index.js +27 -0
  41. package/dist/node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.js +877 -0
  42. package/dist/node_modules/@tanstack/react-virtual/dist/esm/index.js +35 -0
  43. package/dist/node_modules/@tanstack/virtual-core/dist/esm/index.js +497 -0
  44. package/dist/node_modules/@tanstack/virtual-core/dist/esm/utils.js +52 -0
  45. package/dist/node_modules/@ungap/structured-clone/esm/deserialize.js +62 -0
  46. package/dist/node_modules/@ungap/structured-clone/esm/index.js +11 -0
  47. package/dist/node_modules/@ungap/structured-clone/esm/serialize.js +106 -0
  48. package/dist/node_modules/@ungap/structured-clone/esm/types.js +13 -0
  49. package/dist/node_modules/aria-hidden/dist/es2015/index.js +52 -0
  50. package/dist/node_modules/bail/index.js +7 -0
  51. package/dist/node_modules/clsx/dist/clsx.js +17 -0
  52. package/dist/node_modules/comma-separated-tokens/index.js +20 -0
  53. package/dist/node_modules/decode-named-character-reference/index.dom.js +14 -0
  54. package/dist/node_modules/devlop/lib/default.js +8 -0
  55. package/dist/node_modules/estree-util-is-identifier-name/lib/index.js +7 -0
  56. package/dist/node_modules/extend/index.js +43 -0
  57. package/dist/node_modules/get-nonce/dist/es2015/index.js +7 -0
  58. package/dist/node_modules/hast-util-from-parse5/lib/index.js +145 -0
  59. package/dist/node_modules/hast-util-parse-selector/lib/index.js +20 -0
  60. package/dist/node_modules/hast-util-raw/lib/index.js +217 -0
  61. package/dist/node_modules/hast-util-to-jsx-runtime/lib/index.js +302 -0
  62. package/dist/node_modules/hast-util-to-parse5/lib/index.js +118 -0
  63. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/index.js +12 -0
  64. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/aria.js +61 -0
  65. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/find.js +33 -0
  66. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/html.js +368 -0
  67. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/normalize.js +6 -0
  68. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/svg.js +566 -0
  69. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/case-insensitive-transform.js +7 -0
  70. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/case-sensitive-transform.js +6 -0
  71. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/create.js +22 -0
  72. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/defined-info.js +27 -0
  73. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/info.js +23 -0
  74. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/merge.js +11 -0
  75. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/schema.js +17 -0
  76. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/util/types.js +14 -0
  77. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/xlink.js +19 -0
  78. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/xml.js +11 -0
  79. package/dist/node_modules/hast-util-to-parse5/node_modules/property-information/lib/xmlns.js +11 -0
  80. package/dist/node_modules/hast-util-whitespace/lib/index.js +10 -0
  81. package/dist/node_modules/hastscript/lib/create-h.js +112 -0
  82. package/dist/node_modules/hastscript/lib/index.js +8 -0
  83. package/dist/node_modules/hastscript/lib/svg-case-sensitive-tag-names.js +44 -0
  84. package/dist/node_modules/html-url-attributes/lib/index.js +26 -0
  85. package/dist/node_modules/html-void-elements/index.js +25 -0
  86. package/dist/node_modules/immer/dist/immer.js +467 -0
  87. package/dist/node_modules/inline-style-parser/index.js +93 -0
  88. package/dist/node_modules/is-plain-obj/index.js +9 -0
  89. package/dist/node_modules/lucide-react/dist/esm/Icon.js +40 -0
  90. package/dist/node_modules/lucide-react/dist/esm/createLucideIcon.js +27 -0
  91. package/dist/node_modules/lucide-react/dist/esm/defaultAttributes.js +20 -0
  92. package/dist/node_modules/lucide-react/dist/esm/icons/check.js +12 -0
  93. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-down.js +12 -0
  94. package/dist/node_modules/lucide-react/dist/esm/icons/x.js +15 -0
  95. package/dist/node_modules/lucide-react/dist/esm/shared/src/utils.js +19 -0
  96. package/dist/node_modules/mdast-util-from-markdown/lib/index.js +581 -0
  97. package/dist/node_modules/mdast-util-to-hast/lib/footer.js +90 -0
  98. package/dist/node_modules/mdast-util-to-hast/lib/handlers/blockquote.js +12 -0
  99. package/dist/node_modules/mdast-util-to-hast/lib/handlers/break.js +8 -0
  100. package/dist/node_modules/mdast-util-to-hast/lib/handlers/code.js +15 -0
  101. package/dist/node_modules/mdast-util-to-hast/lib/handlers/delete.js +12 -0
  102. package/dist/node_modules/mdast-util-to-hast/lib/handlers/emphasis.js +12 -0
  103. package/dist/node_modules/mdast-util-to-hast/lib/handlers/footnote-reference.js +28 -0
  104. package/dist/node_modules/mdast-util-to-hast/lib/handlers/heading.js +12 -0
  105. package/dist/node_modules/mdast-util-to-hast/lib/handlers/html.js +9 -0
  106. package/dist/node_modules/mdast-util-to-hast/lib/handlers/image-reference.js +14 -0
  107. package/dist/node_modules/mdast-util-to-hast/lib/handlers/image.js +10 -0
  108. package/dist/node_modules/mdast-util-to-hast/lib/handlers/index.js +58 -0
  109. package/dist/node_modules/mdast-util-to-hast/lib/handlers/inline-code.js +14 -0
  110. package/dist/node_modules/mdast-util-to-hast/lib/handlers/link-reference.js +19 -0
  111. package/dist/node_modules/mdast-util-to-hast/lib/handlers/link.js +15 -0
  112. package/dist/node_modules/mdast-util-to-hast/lib/handlers/list-item.js +42 -0
  113. package/dist/node_modules/mdast-util-to-hast/lib/handlers/list.js +21 -0
  114. package/dist/node_modules/mdast-util-to-hast/lib/handlers/paragraph.js +12 -0
  115. package/dist/node_modules/mdast-util-to-hast/lib/handlers/root.js +7 -0
  116. package/dist/node_modules/mdast-util-to-hast/lib/handlers/strong.js +12 -0
  117. package/dist/node_modules/mdast-util-to-hast/lib/handlers/table-cell.js +13 -0
  118. package/dist/node_modules/mdast-util-to-hast/lib/handlers/table-row.js +21 -0
  119. package/dist/node_modules/mdast-util-to-hast/lib/handlers/table.js +32 -0
  120. package/dist/node_modules/mdast-util-to-hast/lib/handlers/text.js +8 -0
  121. package/dist/node_modules/mdast-util-to-hast/lib/handlers/thematic-break.js +12 -0
  122. package/dist/node_modules/mdast-util-to-hast/lib/index.js +10 -0
  123. package/dist/node_modules/mdast-util-to-hast/lib/revert.js +13 -0
  124. package/dist/node_modules/mdast-util-to-hast/lib/state.js +104 -0
  125. package/dist/node_modules/mdast-util-to-string/lib/index.js +29 -0
  126. package/dist/node_modules/micromark/lib/constructs.js +85 -0
  127. package/dist/node_modules/micromark/lib/create-tokenizer.js +223 -0
  128. package/dist/node_modules/micromark/lib/initialize/content.js +37 -0
  129. package/dist/node_modules/micromark/lib/initialize/document.js +126 -0
  130. package/dist/node_modules/micromark/lib/initialize/flow.js +33 -0
  131. package/dist/node_modules/micromark/lib/initialize/text.js +95 -0
  132. package/dist/node_modules/micromark/lib/parse.js +32 -0
  133. package/dist/node_modules/micromark/lib/postprocess.js +9 -0
  134. package/dist/node_modules/micromark/lib/preprocess.js +39 -0
  135. package/dist/node_modules/micromark-core-commonmark/lib/attention.js +83 -0
  136. package/dist/node_modules/micromark-core-commonmark/lib/autolink.js +43 -0
  137. package/dist/node_modules/micromark-core-commonmark/lib/blank-line.js +18 -0
  138. package/dist/node_modules/micromark-core-commonmark/lib/block-quote.js +42 -0
  139. package/dist/node_modules/micromark-core-commonmark/lib/character-escape.js +17 -0
  140. package/dist/node_modules/micromark-core-commonmark/lib/character-reference.js +30 -0
  141. package/dist/node_modules/micromark-core-commonmark/lib/code-fenced.js +94 -0
  142. package/dist/node_modules/micromark-core-commonmark/lib/code-indented.js +43 -0
  143. package/dist/node_modules/micromark-core-commonmark/lib/code-text.js +45 -0
  144. package/dist/node_modules/micromark-core-commonmark/lib/content.js +50 -0
  145. package/dist/node_modules/micromark-core-commonmark/lib/definition.js +80 -0
  146. package/dist/node_modules/micromark-core-commonmark/lib/hard-break-escape.js +17 -0
  147. package/dist/node_modules/micromark-core-commonmark/lib/heading-atx.js +46 -0
  148. package/dist/node_modules/micromark-core-commonmark/lib/html-flow.js +144 -0
  149. package/dist/node_modules/micromark-core-commonmark/lib/html-text.js +102 -0
  150. package/dist/node_modules/micromark-core-commonmark/lib/label-end.js +152 -0
  151. package/dist/node_modules/micromark-core-commonmark/lib/label-start-image.js +22 -0
  152. package/dist/node_modules/micromark-core-commonmark/lib/label-start-link.js +19 -0
  153. package/dist/node_modules/micromark-core-commonmark/lib/line-ending.js +14 -0
  154. package/dist/node_modules/micromark-core-commonmark/lib/list.js +90 -0
  155. package/dist/node_modules/micromark-core-commonmark/lib/setext-underline.js +57 -0
  156. package/dist/node_modules/micromark-core-commonmark/lib/thematic-break.js +25 -0
  157. package/dist/node_modules/micromark-factory-destination/index.js +31 -0
  158. package/dist/node_modules/micromark-factory-label/index.js +28 -0
  159. package/dist/node_modules/micromark-factory-space/index.js +15 -0
  160. package/dist/node_modules/micromark-factory-title/index.js +26 -0
  161. package/dist/node_modules/micromark-factory-whitespace/index.js +12 -0
  162. package/dist/node_modules/micromark-util-character/index.js +39 -0
  163. package/dist/node_modules/micromark-util-chunked/index.js +16 -0
  164. package/dist/node_modules/micromark-util-classify-character/index.js +10 -0
  165. package/dist/node_modules/micromark-util-combine-extensions/index.js +36 -0
  166. package/dist/node_modules/micromark-util-decode-numeric-character-reference/index.js +16 -0
  167. package/dist/node_modules/micromark-util-decode-string/index.js +18 -0
  168. package/dist/node_modules/micromark-util-html-tag-name/index.js +68 -0
  169. package/dist/node_modules/micromark-util-normalize-identifier/index.js +6 -0
  170. package/dist/node_modules/micromark-util-resolve-all/index.js +12 -0
  171. package/dist/node_modules/micromark-util-sanitize-uri/index.js +23 -0
  172. package/dist/node_modules/micromark-util-subtokenize/index.js +55 -0
  173. package/dist/node_modules/micromark-util-subtokenize/lib/splice-buffer.js +175 -0
  174. package/dist/node_modules/parse5/dist/common/doctype.js +98 -0
  175. package/dist/node_modules/parse5/dist/common/error-codes.js +7 -0
  176. package/dist/node_modules/parse5/dist/common/foreign-content.js +210 -0
  177. package/dist/node_modules/parse5/dist/common/html.js +250 -0
  178. package/dist/node_modules/parse5/dist/common/token.js +14 -0
  179. package/dist/node_modules/parse5/dist/common/unicode.js +73 -0
  180. package/dist/node_modules/parse5/dist/parser/formatting-element-list.js +84 -0
  181. package/dist/node_modules/parse5/dist/parser/index.js +2271 -0
  182. package/dist/node_modules/parse5/dist/parser/open-element-stack.js +240 -0
  183. package/dist/node_modules/parse5/dist/serializer/index.js +2 -0
  184. package/dist/node_modules/parse5/dist/tokenizer/index.js +1940 -0
  185. package/dist/node_modules/parse5/dist/tokenizer/preprocessor.js +88 -0
  186. package/dist/node_modules/parse5/dist/tree-adapters/default.js +162 -0
  187. package/dist/node_modules/parse5/node_modules/entities/dist/esm/decode-codepoint.js +38 -0
  188. package/dist/node_modules/parse5/node_modules/entities/dist/esm/decode.js +245 -0
  189. package/dist/node_modules/parse5/node_modules/entities/dist/esm/generated/decode-data-html.js +7 -0
  190. package/dist/node_modules/property-information/index.js +12 -0
  191. package/dist/node_modules/property-information/lib/aria.js +61 -0
  192. package/dist/node_modules/property-information/lib/find.js +33 -0
  193. package/dist/node_modules/property-information/lib/hast-to-react.js +22 -0
  194. package/dist/node_modules/property-information/lib/html.js +368 -0
  195. package/dist/node_modules/property-information/lib/normalize.js +6 -0
  196. package/dist/node_modules/property-information/lib/svg.js +566 -0
  197. package/dist/node_modules/property-information/lib/util/case-insensitive-transform.js +7 -0
  198. package/dist/node_modules/property-information/lib/util/case-sensitive-transform.js +6 -0
  199. package/dist/node_modules/property-information/lib/util/create.js +19 -0
  200. package/dist/node_modules/property-information/lib/util/defined-info.js +36 -0
  201. package/dist/node_modules/property-information/lib/util/info.js +28 -0
  202. package/dist/node_modules/property-information/lib/util/merge.js +10 -0
  203. package/dist/node_modules/property-information/lib/util/schema.js +21 -0
  204. package/dist/node_modules/property-information/lib/util/types.js +14 -0
  205. package/dist/node_modules/property-information/lib/xlink.js +19 -0
  206. package/dist/node_modules/property-information/lib/xml.js +11 -0
  207. package/dist/node_modules/property-information/lib/xmlns.js +11 -0
  208. package/dist/node_modules/react-markdown/lib/index.js +102 -0
  209. package/dist/node_modules/react-redux/dist/react-redux.js +246 -0
  210. package/dist/node_modules/react-remove-scroll/dist/es2015/Combination.js +11 -0
  211. package/dist/node_modules/react-remove-scroll/dist/es2015/SideEffect.js +112 -0
  212. package/dist/node_modules/react-remove-scroll/dist/es2015/UI.js +31 -0
  213. package/dist/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js +16 -0
  214. package/dist/node_modules/react-remove-scroll/dist/es2015/handleScroll.js +68 -0
  215. package/dist/node_modules/react-remove-scroll/dist/es2015/medium.js +5 -0
  216. package/dist/node_modules/react-remove-scroll/dist/es2015/sidecar.js +7 -0
  217. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/component.js +71 -0
  218. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/constants.js +7 -0
  219. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/utils.js +25 -0
  220. package/dist/node_modules/react-style-singleton/dist/es2015/component.js +11 -0
  221. package/dist/node_modules/react-style-singleton/dist/es2015/hook.js +15 -0
  222. package/dist/node_modules/react-style-singleton/dist/es2015/singleton.js +30 -0
  223. package/dist/node_modules/redux/dist/redux.js +258 -0
  224. package/dist/node_modules/redux-thunk/dist/redux-thunk.js +8 -0
  225. package/dist/node_modules/rehype-raw/lib/index.js +12 -0
  226. package/dist/node_modules/remark-parse/lib/index.js +19 -0
  227. package/dist/node_modules/remark-rehype/lib/index.js +18 -0
  228. package/dist/node_modules/reselect/dist/reselect.js +244 -0
  229. package/dist/node_modules/space-separated-tokens/index.js +11 -0
  230. package/dist/node_modules/style-to-js/cjs/index.js +20 -0
  231. package/dist/node_modules/style-to-js/cjs/utilities.js +19 -0
  232. package/dist/node_modules/style-to-object/cjs/index.js +28 -0
  233. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js +2731 -0
  234. package/dist/node_modules/trim-lines/index.js +28 -0
  235. package/dist/node_modules/trough/lib/index.js +60 -0
  236. package/dist/node_modules/tslib/tslib.es6.js +27 -0
  237. package/dist/node_modules/unified/lib/callable-instance.js +25 -0
  238. package/dist/node_modules/unified/lib/index.js +529 -0
  239. package/dist/node_modules/unist-util-is/lib/index.js +84 -0
  240. package/dist/node_modules/unist-util-position/lib/index.js +23 -0
  241. package/dist/node_modules/unist-util-stringify-position/lib/index.js +15 -0
  242. package/dist/node_modules/unist-util-visit/lib/index.js +16 -0
  243. package/dist/node_modules/unist-util-visit-parents/lib/color.js +6 -0
  244. package/dist/node_modules/unist-util-visit-parents/lib/index.js +56 -0
  245. package/dist/node_modules/use-callback-ref/dist/es2015/assignRef.js +6 -0
  246. package/dist/node_modules/use-callback-ref/dist/es2015/useMergeRef.js +26 -0
  247. package/dist/node_modules/use-callback-ref/dist/es2015/useRef.js +25 -0
  248. package/dist/node_modules/use-sidecar/dist/es2015/exports.js +18 -0
  249. package/dist/node_modules/use-sidecar/dist/es2015/medium.js +67 -0
  250. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-with-selector.development.js +66 -0
  251. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-with-selector.production.js +65 -0
  252. package/dist/node_modules/use-sync-external-store/with-selector.js +10 -0
  253. package/dist/node_modules/vfile/lib/index.js +406 -0
  254. package/dist/node_modules/vfile/lib/minpath.browser.js +112 -0
  255. package/dist/node_modules/vfile/lib/minproc.browser.js +7 -0
  256. package/dist/node_modules/vfile/lib/minurl.browser.js +41 -0
  257. package/dist/node_modules/vfile/lib/minurl.shared.js +7 -0
  258. package/dist/node_modules/vfile-location/lib/index.js +42 -0
  259. package/dist/node_modules/vfile-message/lib/index.js +91 -0
  260. package/dist/node_modules/web-namespaces/index.js +11 -0
  261. package/dist/node_modules/zwitch/index.js +18 -0
  262. package/dist/src/app/assets/images/product_thumb.png.js +4 -0
  263. package/dist/src/app/assets/svg/ArrowIconSVG.js +25 -0
  264. package/dist/src/app/assets/svg/CheckMarkIconSVG.js +25 -0
  265. package/dist/src/app/assets/svg/CloseIconSVG.js +25 -0
  266. package/dist/src/app/assets/svg/MinusIconSVG.js +24 -0
  267. package/dist/src/app/assets/svg/PlusIconSVG.js +24 -0
  268. package/dist/src/app/assets/svg/SearchIconSVG.js +37 -0
  269. package/dist/src/app/assets/svg/TrashIconSVG.js +24 -0
  270. package/dist/src/app/providers/StoreProvider.js +7 -0
  271. package/dist/src/app/store/rootReducer.js +12 -0
  272. package/dist/src/app/store/store.js +14 -0
  273. package/dist/src/features/Cart/lib/CartCervices.js +8 -0
  274. package/dist/src/features/Cart/model/cartSlice.js +58 -0
  275. package/dist/src/features/Cart/model/selectors.js +18 -0
  276. package/dist/src/features/Cart/ui/CartHeader/CartHeader.js +53 -0
  277. package/dist/src/features/Cart/ui/CartList/CartList.js +29 -0
  278. package/dist/src/features/Cart/ui/CartListItem/CartListItem.js +41 -0
  279. package/dist/src/features/Cart/ui/CartPrice/CartPrice.js +23 -0
  280. package/dist/src/features/Cart/ui/CartWrapper/CartWrapper.js +38 -0
  281. package/dist/src/features/Cart/ui/Counter/Counter.js +46 -0
  282. package/dist/src/features/DataAdapter/lib/DataAdapterServices.js +102 -0
  283. package/dist/src/features/DataAdapter/utils/types.js +8 -0
  284. package/dist/src/features/MultiProduct/lib/MultiProductCartServices.js +34 -0
  285. package/dist/src/features/MultiProduct/model/API/api.js +18 -0
  286. package/dist/src/features/MultiProduct/model/multiProductCartSlice.js +83 -0
  287. package/dist/src/features/MultiProduct/model/selectors.js +7 -0
  288. package/dist/src/features/MultiProduct/ui/CartSelectedProductList/CartSelectedProductList.js +21 -0
  289. package/dist/src/features/MultiProduct/ui/CustomModal/CustomModal.js +28 -0
  290. package/dist/src/features/MultiProduct/ui/FiltersSelectedProductItem/FiltersSelectedProductItem.js +27 -0
  291. package/dist/src/features/MultiProduct/ui/MultiProductCartHeader/MultiProductCartHeader.js +60 -0
  292. package/dist/src/features/MultiProduct/ui/MultiProductItemCart/MultiProductItemCart.js +71 -0
  293. package/dist/src/features/MultiProduct/ui/MultiProductWrapper/MultiProductWrapper.js +19 -0
  294. package/dist/src/features/MultiProduct/ui/ProductList/ProductList.js +138 -0
  295. package/dist/src/features/MultiProduct/ui/ProductListItem/ProductListItem.js +51 -0
  296. package/dist/src/features/MultiProduct/ui/SelectedProductItem/SelectedProductItem.js +55 -0
  297. package/dist/src/features/MultiProduct/ui/SwatchContentContainer/SwatchContentContainer.js +46 -0
  298. package/dist/src/features/MultiProduct/utils/constants.js +16 -0
  299. package/dist/src/features/MultiProduct/utils/randomList.js +41 -0
  300. package/dist/src/features/swatches/lib/AttributeHelper.js +21 -0
  301. package/dist/src/features/swatches/lib/SwatchesServices.js +54 -0
  302. package/dist/src/features/swatches/model/selectors.js +12 -0
  303. package/dist/src/features/swatches/model/swatchesSlice.js +108 -0
  304. package/dist/src/features/swatches/model/thunks.js +22 -0
  305. package/dist/src/features/swatches/model/types.js +6 -0
  306. package/dist/src/features/swatches/ui/Filters/ColorsFilter.js +45 -0
  307. package/dist/src/features/swatches/ui/Filters/LooksFilter.js +45 -0
  308. package/dist/src/features/swatches/ui/Filters/MaterialsFilter.js +47 -0
  309. package/dist/src/features/swatches/ui/Filters/index.js +12 -0
  310. package/dist/src/features/swatches/ui/HexGridZoom/HexGridZoom.js +50 -0
  311. package/dist/src/features/swatches/ui/ImageGridZoom/ImageGridZoom.js +45 -0
  312. package/dist/src/features/swatches/ui/MaterialList/index.js +39 -0
  313. package/dist/src/features/swatches/ui/MaterialListItem/MaterialListItem.js +51 -0
  314. package/dist/src/features/swatches/ui/ProductElement/index.js +65 -0
  315. package/dist/src/features/swatches/ui/SwatchWrapper/SwatchWrapper.js +62 -0
  316. package/dist/src/features/swatches/ui/Swatches.js +51 -0
  317. package/dist/src/features/swatches/ui/SwatchesList/SwatchesList.js +67 -0
  318. package/dist/src/features/swatches/utils/constants.js +8 -0
  319. package/dist/src/shared/constants/props.js +13337 -0
  320. package/dist/src/shared/constants/selectedMaterials.js +4 -0
  321. package/dist/src/shared/types/activeTab.js +7 -0
  322. package/dist/src/shared/ui/Checkbox/Checkbox.js +31 -0
  323. package/dist/src/shared/ui/CustomButton/CustomButton.js +16 -0
  324. package/dist/src/shared/ui/CustomSidebar/CustomSidebar.js +59 -0
  325. package/dist/src/shared/ui/CustomSidebar/CustomSidebar.module.scss.js +13 -0
  326. package/dist/src/shared/ui/Dialog/Dialog.js +81 -0
  327. package/dist/src/shared/ui/Label/Label.js +27 -0
  328. package/dist/src/shared/ui/Markdown/MDWithAccordion.js +36 -0
  329. package/dist/src/shared/ui/Markdown/MDWithAccordion.module.scss.js +9 -0
  330. package/dist/src/shared/ui/MaterialItem/MaterialItem.js +36 -0
  331. package/dist/src/shared/ui/MultiSelect/MultiSelect.js +150 -0
  332. package/dist/src/shared/ui/PopoverTooltip/InfoIcon.js +35 -0
  333. package/dist/src/shared/ui/PopoverTooltip/PopoverTooltip.js +37 -0
  334. package/dist/src/shared/ui/PopoverTooltip/PopoverTooltip.module.scss.js +4 -0
  335. package/dist/src/shared/ui/Slider/Slider.js +117 -0
  336. package/dist/src/shared/utils/cn.js +8 -0
  337. package/dist/src/shared/utils/uniqueList.js +4 -0
  338. package/package.json +12 -2
  339. package/dist/assets/SwatchesModule.css +0 -1
  340. /package/dist/{lib/components → components}/SwatchesModule.d.ts +0 -0
  341. /package/dist/{lib/main.d.ts → main.d.ts} +0 -0
@@ -0,0 +1,35 @@
1
+ import * as r from "react";
2
+ import { flushSync as c } from "react-dom";
3
+ import { Virtualizer as f, elementScroll as i, observeElementOffset as m, observeElementRect as d } from "../../../virtual-core/dist/esm/index.js";
4
+ import { defaultKeyExtractor as R, defaultRangeExtractor as g, measureElement as z } from "../../../virtual-core/dist/esm/index.js";
5
+ const a = typeof document < "u" ? r.useLayoutEffect : r.useEffect;
6
+ function p(e) {
7
+ const n = r.useReducer(() => ({}), {})[1], o = {
8
+ ...e,
9
+ onChange: (l, u) => {
10
+ var s;
11
+ u ? c(n) : n(), (s = e.onChange) == null || s.call(e, l, u);
12
+ }
13
+ }, [t] = r.useState(
14
+ () => new f(o)
15
+ );
16
+ return t.setOptions(o), a(() => t._didMount(), []), a(() => t._willUpdate()), t;
17
+ }
18
+ function h(e) {
19
+ return p({
20
+ observeElementRect: d,
21
+ observeElementOffset: m,
22
+ scrollToFn: i,
23
+ ...e
24
+ });
25
+ }
26
+ export {
27
+ f as Virtualizer,
28
+ R as defaultKeyExtractor,
29
+ g as defaultRangeExtractor,
30
+ i as elementScroll,
31
+ z as measureElement,
32
+ m as observeElementOffset,
33
+ d as observeElementRect,
34
+ h as useVirtualizer
35
+ };
@@ -0,0 +1,497 @@
1
+ import { memo as f, notUndefined as v, approxEqual as M, debounce as z } from "./utils.js";
2
+ const b = (r) => {
3
+ const { offsetWidth: a, offsetHeight: e } = r;
4
+ return { width: a, height: e };
5
+ }, w = (r) => r, I = (r) => {
6
+ const a = Math.max(r.startIndex - r.overscan, 0), e = Math.min(r.endIndex + r.overscan, r.count - 1), s = [];
7
+ for (let t = a; t <= e; t++)
8
+ s.push(t);
9
+ return s;
10
+ }, A = (r, a) => {
11
+ const e = r.scrollElement;
12
+ if (!e)
13
+ return;
14
+ const s = r.targetWindow;
15
+ if (!s)
16
+ return;
17
+ const t = (n) => {
18
+ const { width: o, height: h } = n;
19
+ a({ width: Math.round(o), height: Math.round(h) });
20
+ };
21
+ if (t(b(e)), !s.ResizeObserver)
22
+ return () => {
23
+ };
24
+ const i = new s.ResizeObserver((n) => {
25
+ const o = () => {
26
+ const h = n[0];
27
+ if (h?.borderBoxSize) {
28
+ const c = h.borderBoxSize[0];
29
+ if (c) {
30
+ t({ width: c.inlineSize, height: c.blockSize });
31
+ return;
32
+ }
33
+ }
34
+ t(b(e));
35
+ };
36
+ r.options.useAnimationFrameWithResizeObserver ? requestAnimationFrame(o) : o();
37
+ });
38
+ return i.observe(e, { box: "border-box" }), () => {
39
+ i.unobserve(e);
40
+ };
41
+ }, E = {
42
+ passive: !0
43
+ }, S = typeof window > "u" ? !0 : "onscrollend" in window, F = (r, a) => {
44
+ const e = r.scrollElement;
45
+ if (!e)
46
+ return;
47
+ const s = r.targetWindow;
48
+ if (!s)
49
+ return;
50
+ let t = 0;
51
+ const i = r.options.useScrollendEvent && S ? () => {
52
+ } : z(
53
+ s,
54
+ () => {
55
+ a(t, !1);
56
+ },
57
+ r.options.isScrollingResetDelay
58
+ ), n = (l) => () => {
59
+ const { horizontal: d, isRtl: u } = r.options;
60
+ t = d ? e.scrollLeft * (u && -1 || 1) : e.scrollTop, i(), a(t, l);
61
+ }, o = n(!0), h = n(!1);
62
+ h(), e.addEventListener("scroll", o, E);
63
+ const c = r.options.useScrollendEvent && S;
64
+ return c && e.addEventListener("scrollend", h, E), () => {
65
+ e.removeEventListener("scroll", o), c && e.removeEventListener("scrollend", h);
66
+ };
67
+ }, C = (r, a, e) => {
68
+ if (a?.borderBoxSize) {
69
+ const s = a.borderBoxSize[0];
70
+ if (s)
71
+ return Math.round(
72
+ s[e.options.horizontal ? "inlineSize" : "blockSize"]
73
+ );
74
+ }
75
+ return r[e.options.horizontal ? "offsetWidth" : "offsetHeight"];
76
+ }, N = (r, {
77
+ adjustments: a = 0,
78
+ behavior: e
79
+ }, s) => {
80
+ var t, i;
81
+ const n = r + a;
82
+ (i = (t = s.scrollElement) == null ? void 0 : t.scrollTo) == null || i.call(t, {
83
+ [s.options.horizontal ? "left" : "top"]: n,
84
+ behavior: e
85
+ });
86
+ };
87
+ class W {
88
+ constructor(a) {
89
+ this.unsubs = [], this.scrollElement = null, this.targetWindow = null, this.isScrolling = !1, this.measurementsCache = [], this.itemSizeCache = /* @__PURE__ */ new Map(), this.pendingMeasuredCacheIndexes = [], this.scrollRect = null, this.scrollOffset = null, this.scrollDirection = null, this.scrollAdjustments = 0, this.elementsCache = /* @__PURE__ */ new Map(), this.observer = /* @__PURE__ */ (() => {
90
+ let e = null;
91
+ const s = () => e || (!this.targetWindow || !this.targetWindow.ResizeObserver ? null : e = new this.targetWindow.ResizeObserver((t) => {
92
+ t.forEach((i) => {
93
+ const n = () => {
94
+ this._measureElement(i.target, i);
95
+ };
96
+ this.options.useAnimationFrameWithResizeObserver ? requestAnimationFrame(n) : n();
97
+ });
98
+ }));
99
+ return {
100
+ disconnect: () => {
101
+ var t;
102
+ (t = s()) == null || t.disconnect(), e = null;
103
+ },
104
+ observe: (t) => {
105
+ var i;
106
+ return (i = s()) == null ? void 0 : i.observe(t, { box: "border-box" });
107
+ },
108
+ unobserve: (t) => {
109
+ var i;
110
+ return (i = s()) == null ? void 0 : i.unobserve(t);
111
+ }
112
+ };
113
+ })(), this.range = null, this.setOptions = (e) => {
114
+ Object.entries(e).forEach(([s, t]) => {
115
+ typeof t > "u" && delete e[s];
116
+ }), this.options = {
117
+ debug: !1,
118
+ initialOffset: 0,
119
+ overscan: 1,
120
+ paddingStart: 0,
121
+ paddingEnd: 0,
122
+ scrollPaddingStart: 0,
123
+ scrollPaddingEnd: 0,
124
+ horizontal: !1,
125
+ getItemKey: w,
126
+ rangeExtractor: I,
127
+ onChange: () => {
128
+ },
129
+ measureElement: C,
130
+ initialRect: { width: 0, height: 0 },
131
+ scrollMargin: 0,
132
+ gap: 0,
133
+ indexAttribute: "data-index",
134
+ initialMeasurementsCache: [],
135
+ lanes: 1,
136
+ isScrollingResetDelay: 150,
137
+ enabled: !0,
138
+ isRtl: !1,
139
+ useScrollendEvent: !1,
140
+ useAnimationFrameWithResizeObserver: !1,
141
+ ...e
142
+ };
143
+ }, this.notify = (e) => {
144
+ var s, t;
145
+ (t = (s = this.options).onChange) == null || t.call(s, this, e);
146
+ }, this.maybeNotify = f(
147
+ () => (this.calculateRange(), [
148
+ this.isScrolling,
149
+ this.range ? this.range.startIndex : null,
150
+ this.range ? this.range.endIndex : null
151
+ ]),
152
+ (e) => {
153
+ this.notify(e);
154
+ },
155
+ {
156
+ key: process.env.NODE_ENV !== "production" && "maybeNotify",
157
+ debug: () => this.options.debug,
158
+ initialDeps: [
159
+ this.isScrolling,
160
+ this.range ? this.range.startIndex : null,
161
+ this.range ? this.range.endIndex : null
162
+ ]
163
+ }
164
+ ), this.cleanup = () => {
165
+ this.unsubs.filter(Boolean).forEach((e) => e()), this.unsubs = [], this.observer.disconnect(), this.scrollElement = null, this.targetWindow = null;
166
+ }, this._didMount = () => () => {
167
+ this.cleanup();
168
+ }, this._willUpdate = () => {
169
+ var e;
170
+ const s = this.options.enabled ? this.options.getScrollElement() : null;
171
+ if (this.scrollElement !== s) {
172
+ if (this.cleanup(), !s) {
173
+ this.maybeNotify();
174
+ return;
175
+ }
176
+ this.scrollElement = s, this.scrollElement && "ownerDocument" in this.scrollElement ? this.targetWindow = this.scrollElement.ownerDocument.defaultView : this.targetWindow = ((e = this.scrollElement) == null ? void 0 : e.window) ?? null, this.elementsCache.forEach((t) => {
177
+ this.observer.observe(t);
178
+ }), this._scrollToOffset(this.getScrollOffset(), {
179
+ adjustments: void 0,
180
+ behavior: void 0
181
+ }), this.unsubs.push(
182
+ this.options.observeElementRect(this, (t) => {
183
+ this.scrollRect = t, this.maybeNotify();
184
+ })
185
+ ), this.unsubs.push(
186
+ this.options.observeElementOffset(this, (t, i) => {
187
+ this.scrollAdjustments = 0, this.scrollDirection = i ? this.getScrollOffset() < t ? "forward" : "backward" : null, this.scrollOffset = t, this.isScrolling = i, this.maybeNotify();
188
+ })
189
+ );
190
+ }
191
+ }, this.getSize = () => this.options.enabled ? (this.scrollRect = this.scrollRect ?? this.options.initialRect, this.scrollRect[this.options.horizontal ? "width" : "height"]) : (this.scrollRect = null, 0), this.getScrollOffset = () => this.options.enabled ? (this.scrollOffset = this.scrollOffset ?? (typeof this.options.initialOffset == "function" ? this.options.initialOffset() : this.options.initialOffset), this.scrollOffset) : (this.scrollOffset = null, 0), this.getFurthestMeasurement = (e, s) => {
192
+ const t = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Map();
193
+ for (let n = s - 1; n >= 0; n--) {
194
+ const o = e[n];
195
+ if (t.has(o.lane))
196
+ continue;
197
+ const h = i.get(
198
+ o.lane
199
+ );
200
+ if (h == null || o.end > h.end ? i.set(o.lane, o) : o.end < h.end && t.set(o.lane, !0), t.size === this.options.lanes)
201
+ break;
202
+ }
203
+ return i.size === this.options.lanes ? Array.from(i.values()).sort((n, o) => n.end === o.end ? n.index - o.index : n.end - o.end)[0] : void 0;
204
+ }, this.getMeasurementOptions = f(
205
+ () => [
206
+ this.options.count,
207
+ this.options.paddingStart,
208
+ this.options.scrollMargin,
209
+ this.options.getItemKey,
210
+ this.options.enabled
211
+ ],
212
+ (e, s, t, i, n) => (this.pendingMeasuredCacheIndexes = [], {
213
+ count: e,
214
+ paddingStart: s,
215
+ scrollMargin: t,
216
+ getItemKey: i,
217
+ enabled: n
218
+ }),
219
+ {
220
+ key: !1
221
+ }
222
+ ), this.getMeasurements = f(
223
+ () => [this.getMeasurementOptions(), this.itemSizeCache],
224
+ ({ count: e, paddingStart: s, scrollMargin: t, getItemKey: i, enabled: n }, o) => {
225
+ if (!n)
226
+ return this.measurementsCache = [], this.itemSizeCache.clear(), [];
227
+ this.measurementsCache.length === 0 && (this.measurementsCache = this.options.initialMeasurementsCache, this.measurementsCache.forEach((l) => {
228
+ this.itemSizeCache.set(l.key, l.size);
229
+ }));
230
+ const h = this.pendingMeasuredCacheIndexes.length > 0 ? Math.min(...this.pendingMeasuredCacheIndexes) : 0;
231
+ this.pendingMeasuredCacheIndexes = [];
232
+ const c = this.measurementsCache.slice(0, h);
233
+ for (let l = h; l < e; l++) {
234
+ const d = i(l), u = this.options.lanes === 1 ? c[l - 1] : this.getFurthestMeasurement(c, l), g = u ? u.end + this.options.gap : s + t, m = o.get(d), p = typeof m == "number" ? m : this.options.estimateSize(l), O = g + p, y = u ? u.lane : l % this.options.lanes;
235
+ c[l] = {
236
+ index: l,
237
+ start: g,
238
+ size: p,
239
+ end: O,
240
+ key: d,
241
+ lane: y
242
+ };
243
+ }
244
+ return this.measurementsCache = c, c;
245
+ },
246
+ {
247
+ key: process.env.NODE_ENV !== "production" && "getMeasurements",
248
+ debug: () => this.options.debug
249
+ }
250
+ ), this.calculateRange = f(
251
+ () => [
252
+ this.getMeasurements(),
253
+ this.getSize(),
254
+ this.getScrollOffset(),
255
+ this.options.lanes
256
+ ],
257
+ (e, s, t, i) => this.range = e.length > 0 && s > 0 ? R({
258
+ measurements: e,
259
+ outerSize: s,
260
+ scrollOffset: t,
261
+ lanes: i
262
+ }) : null,
263
+ {
264
+ key: process.env.NODE_ENV !== "production" && "calculateRange",
265
+ debug: () => this.options.debug
266
+ }
267
+ ), this.getVirtualIndexes = f(
268
+ () => {
269
+ let e = null, s = null;
270
+ const t = this.calculateRange();
271
+ return t && (e = t.startIndex, s = t.endIndex), this.maybeNotify.updateDeps([this.isScrolling, e, s]), [
272
+ this.options.rangeExtractor,
273
+ this.options.overscan,
274
+ this.options.count,
275
+ e,
276
+ s
277
+ ];
278
+ },
279
+ (e, s, t, i, n) => i === null || n === null ? [] : e({
280
+ startIndex: i,
281
+ endIndex: n,
282
+ overscan: s,
283
+ count: t
284
+ }),
285
+ {
286
+ key: process.env.NODE_ENV !== "production" && "getVirtualIndexes",
287
+ debug: () => this.options.debug
288
+ }
289
+ ), this.indexFromElement = (e) => {
290
+ const s = this.options.indexAttribute, t = e.getAttribute(s);
291
+ return t ? parseInt(t, 10) : (console.warn(
292
+ `Missing attribute name '${s}={index}' on measured element.`
293
+ ), -1);
294
+ }, this._measureElement = (e, s) => {
295
+ const t = this.indexFromElement(e), i = this.measurementsCache[t];
296
+ if (!i)
297
+ return;
298
+ const n = i.key, o = this.elementsCache.get(n);
299
+ o !== e && (o && this.observer.unobserve(o), this.observer.observe(e), this.elementsCache.set(n, e)), e.isConnected && this.resizeItem(t, this.options.measureElement(e, s, this));
300
+ }, this.resizeItem = (e, s) => {
301
+ const t = this.measurementsCache[e];
302
+ if (!t)
303
+ return;
304
+ const i = this.itemSizeCache.get(t.key) ?? t.size, n = s - i;
305
+ n !== 0 && ((this.shouldAdjustScrollPositionOnItemSizeChange !== void 0 ? this.shouldAdjustScrollPositionOnItemSizeChange(t, n, this) : t.start < this.getScrollOffset() + this.scrollAdjustments) && (process.env.NODE_ENV !== "production" && this.options.debug && console.info("correction", n), this._scrollToOffset(this.getScrollOffset(), {
306
+ adjustments: this.scrollAdjustments += n,
307
+ behavior: void 0
308
+ })), this.pendingMeasuredCacheIndexes.push(t.index), this.itemSizeCache = new Map(this.itemSizeCache.set(t.key, s)), this.notify(!1));
309
+ }, this.measureElement = (e) => {
310
+ if (!e) {
311
+ this.elementsCache.forEach((s, t) => {
312
+ s.isConnected || (this.observer.unobserve(s), this.elementsCache.delete(t));
313
+ });
314
+ return;
315
+ }
316
+ this._measureElement(e, void 0);
317
+ }, this.getVirtualItems = f(
318
+ () => [this.getVirtualIndexes(), this.getMeasurements()],
319
+ (e, s) => {
320
+ const t = [];
321
+ for (let i = 0, n = e.length; i < n; i++) {
322
+ const o = e[i], h = s[o];
323
+ t.push(h);
324
+ }
325
+ return t;
326
+ },
327
+ {
328
+ key: process.env.NODE_ENV !== "production" && "getVirtualItems",
329
+ debug: () => this.options.debug
330
+ }
331
+ ), this.getVirtualItemForOffset = (e) => {
332
+ const s = this.getMeasurements();
333
+ if (s.length !== 0)
334
+ return v(
335
+ s[x(
336
+ 0,
337
+ s.length - 1,
338
+ (t) => v(s[t]).start,
339
+ e
340
+ )]
341
+ );
342
+ }, this.getOffsetForAlignment = (e, s, t = 0) => {
343
+ const i = this.getSize(), n = this.getScrollOffset();
344
+ s === "auto" && (s = e >= n + i ? "end" : "start"), s === "center" ? e += (t - i) / 2 : s === "end" && (e -= i);
345
+ const o = this.getTotalSize() + this.options.scrollMargin - i;
346
+ return Math.max(Math.min(o, e), 0);
347
+ }, this.getOffsetForIndex = (e, s = "auto") => {
348
+ e = Math.max(0, Math.min(e, this.options.count - 1));
349
+ const t = this.measurementsCache[e];
350
+ if (!t)
351
+ return;
352
+ const i = this.getSize(), n = this.getScrollOffset();
353
+ if (s === "auto")
354
+ if (t.end >= n + i - this.options.scrollPaddingEnd)
355
+ s = "end";
356
+ else if (t.start <= n + this.options.scrollPaddingStart)
357
+ s = "start";
358
+ else
359
+ return [n, s];
360
+ const o = s === "end" ? t.end + this.options.scrollPaddingEnd : t.start - this.options.scrollPaddingStart;
361
+ return [
362
+ this.getOffsetForAlignment(o, s, t.size),
363
+ s
364
+ ];
365
+ }, this.isDynamicMode = () => this.elementsCache.size > 0, this.scrollToOffset = (e, { align: s = "start", behavior: t } = {}) => {
366
+ t === "smooth" && this.isDynamicMode() && console.warn(
367
+ "The `smooth` scroll behavior is not fully supported with dynamic size."
368
+ ), this._scrollToOffset(this.getOffsetForAlignment(e, s), {
369
+ adjustments: void 0,
370
+ behavior: t
371
+ });
372
+ }, this.scrollToIndex = (e, { align: s = "auto", behavior: t } = {}) => {
373
+ t === "smooth" && this.isDynamicMode() && console.warn(
374
+ "The `smooth` scroll behavior is not fully supported with dynamic size."
375
+ ), e = Math.max(0, Math.min(e, this.options.count - 1));
376
+ let i = 0;
377
+ const n = 10, o = (c) => {
378
+ if (!this.targetWindow) return;
379
+ const l = this.getOffsetForIndex(e, c);
380
+ if (!l) {
381
+ console.warn("Failed to get offset for index:", e);
382
+ return;
383
+ }
384
+ const [d, u] = l;
385
+ this._scrollToOffset(d, { adjustments: void 0, behavior: t }), this.targetWindow.requestAnimationFrame(() => {
386
+ const g = this.getScrollOffset(), m = this.getOffsetForIndex(e, u);
387
+ if (!m) {
388
+ console.warn("Failed to get offset for index:", e);
389
+ return;
390
+ }
391
+ M(m[0], g) || h(u);
392
+ });
393
+ }, h = (c) => {
394
+ this.targetWindow && (i++, i < n ? (process.env.NODE_ENV !== "production" && this.options.debug && console.info("Schedule retry", i, n), this.targetWindow.requestAnimationFrame(() => o(c))) : console.warn(
395
+ `Failed to scroll to index ${e} after ${n} attempts.`
396
+ ));
397
+ };
398
+ o(s);
399
+ }, this.scrollBy = (e, { behavior: s } = {}) => {
400
+ s === "smooth" && this.isDynamicMode() && console.warn(
401
+ "The `smooth` scroll behavior is not fully supported with dynamic size."
402
+ ), this._scrollToOffset(this.getScrollOffset() + e, {
403
+ adjustments: void 0,
404
+ behavior: s
405
+ });
406
+ }, this.getTotalSize = () => {
407
+ var e;
408
+ const s = this.getMeasurements();
409
+ let t;
410
+ if (s.length === 0)
411
+ t = this.options.paddingStart;
412
+ else if (this.options.lanes === 1)
413
+ t = ((e = s[s.length - 1]) == null ? void 0 : e.end) ?? 0;
414
+ else {
415
+ const i = Array(this.options.lanes).fill(null);
416
+ let n = s.length - 1;
417
+ for (; n >= 0 && i.some((o) => o === null); ) {
418
+ const o = s[n];
419
+ i[o.lane] === null && (i[o.lane] = o.end), n--;
420
+ }
421
+ t = Math.max(...i.filter((o) => o !== null));
422
+ }
423
+ return Math.max(
424
+ t - this.options.scrollMargin + this.options.paddingEnd,
425
+ 0
426
+ );
427
+ }, this._scrollToOffset = (e, {
428
+ adjustments: s,
429
+ behavior: t
430
+ }) => {
431
+ this.options.scrollToFn(e, { behavior: t, adjustments: s }, this);
432
+ }, this.measure = () => {
433
+ this.itemSizeCache = /* @__PURE__ */ new Map(), this.notify(!1);
434
+ }, this.setOptions(a);
435
+ }
436
+ }
437
+ const x = (r, a, e, s) => {
438
+ for (; r <= a; ) {
439
+ const t = (r + a) / 2 | 0, i = e(t);
440
+ if (i < s)
441
+ r = t + 1;
442
+ else if (i > s)
443
+ a = t - 1;
444
+ else
445
+ return t;
446
+ }
447
+ return r > 0 ? r - 1 : 0;
448
+ };
449
+ function R({
450
+ measurements: r,
451
+ outerSize: a,
452
+ scrollOffset: e,
453
+ lanes: s
454
+ }) {
455
+ const t = r.length - 1, i = (h) => r[h].start;
456
+ if (r.length <= s)
457
+ return {
458
+ startIndex: 0,
459
+ endIndex: t
460
+ };
461
+ let n = x(
462
+ 0,
463
+ t,
464
+ i,
465
+ e
466
+ ), o = n;
467
+ if (s === 1)
468
+ for (; o < t && r[o].end < e + a; )
469
+ o++;
470
+ else if (s > 1) {
471
+ const h = Array(s).fill(0);
472
+ for (; o < t && h.some((l) => l < e + a); ) {
473
+ const l = r[o];
474
+ h[l.lane] = l.end, o++;
475
+ }
476
+ const c = Array(s).fill(e + a);
477
+ for (; n >= 0 && c.some((l) => l >= e); ) {
478
+ const l = r[n];
479
+ c[l.lane] = l.start, n--;
480
+ }
481
+ n = Math.max(0, n - n % s), o = Math.min(t, o + (s - 1 - o % s));
482
+ }
483
+ return { startIndex: n, endIndex: o };
484
+ }
485
+ export {
486
+ W as Virtualizer,
487
+ M as approxEqual,
488
+ z as debounce,
489
+ w as defaultKeyExtractor,
490
+ I as defaultRangeExtractor,
491
+ N as elementScroll,
492
+ C as measureElement,
493
+ f as memo,
494
+ v as notUndefined,
495
+ F as observeElementOffset,
496
+ A as observeElementRect
497
+ };
@@ -0,0 +1,52 @@
1
+ function T(n, i, e) {
2
+ let l = e.initialDeps ?? [], t;
3
+ function r() {
4
+ var o, m, h, f;
5
+ let g;
6
+ e.key && ((o = e.debug) != null && o.call(e)) && (g = Date.now());
7
+ const u = n();
8
+ if (!(u.length !== l.length || u.some((c, a) => l[a] !== c)))
9
+ return t;
10
+ l = u;
11
+ let s;
12
+ if (e.key && ((m = e.debug) != null && m.call(e)) && (s = Date.now()), t = i(...u), e.key && ((h = e.debug) != null && h.call(e))) {
13
+ const c = Math.round((Date.now() - g) * 100) / 100, a = Math.round((Date.now() - s) * 100) / 100, b = a / 16, w = (d, v) => {
14
+ for (d = String(d); d.length < v; )
15
+ d = " " + d;
16
+ return d;
17
+ };
18
+ console.info(
19
+ `%c⏱ ${w(a, 5)} /${w(c, 5)} ms`,
20
+ `
21
+ font-size: .6rem;
22
+ font-weight: bold;
23
+ color: hsl(${Math.max(
24
+ 0,
25
+ Math.min(120 - 120 * b, 120)
26
+ )}deg 100% 31%);`,
27
+ e?.key
28
+ );
29
+ }
30
+ return (f = e?.onChange) == null || f.call(e, t), t;
31
+ }
32
+ return r.updateDeps = (o) => {
33
+ l = o;
34
+ }, r;
35
+ }
36
+ function y(n, i) {
37
+ if (n === void 0)
38
+ throw new Error("Unexpected undefined");
39
+ return n;
40
+ }
41
+ const M = (n, i) => Math.abs(n - i) < 1.01, k = (n, i, e) => {
42
+ let l;
43
+ return function(...t) {
44
+ n.clearTimeout(l), l = n.setTimeout(() => i.apply(this, t), e);
45
+ };
46
+ };
47
+ export {
48
+ M as approxEqual,
49
+ k as debounce,
50
+ T as memo,
51
+ y as notUndefined
52
+ };
@@ -0,0 +1,62 @@
1
+ import { BIGINT as p, ERROR as I, SET as g, MAP as l, REGEXP as E, DATE as R, OBJECT as i, ARRAY as y, VOID as A, PRIMITIVE as b } from "./types.js";
2
+ const f = typeof self == "object" ? self : globalThis, B = (c, w) => {
3
+ const s = (e, o) => (c.set(o, e), e), a = (e) => {
4
+ if (c.has(e))
5
+ return c.get(e);
6
+ const [o, t] = w[e];
7
+ switch (o) {
8
+ case b:
9
+ case A:
10
+ return s(t, e);
11
+ case y: {
12
+ const r = s([], e);
13
+ for (const n of t)
14
+ r.push(a(n));
15
+ return r;
16
+ }
17
+ case i: {
18
+ const r = s({}, e);
19
+ for (const [n, u] of t)
20
+ r[a(n)] = a(u);
21
+ return r;
22
+ }
23
+ case R:
24
+ return s(new Date(t), e);
25
+ case E: {
26
+ const { source: r, flags: n } = t;
27
+ return s(new RegExp(r, n), e);
28
+ }
29
+ case l: {
30
+ const r = s(/* @__PURE__ */ new Map(), e);
31
+ for (const [n, u] of t)
32
+ r.set(a(n), a(u));
33
+ return r;
34
+ }
35
+ case g: {
36
+ const r = s(/* @__PURE__ */ new Set(), e);
37
+ for (const n of t)
38
+ r.add(a(n));
39
+ return r;
40
+ }
41
+ case I: {
42
+ const { name: r, message: n } = t;
43
+ return s(new f[r](n), e);
44
+ }
45
+ case p:
46
+ return s(BigInt(t), e);
47
+ case "BigInt":
48
+ return s(Object(BigInt(t)), e);
49
+ case "ArrayBuffer":
50
+ return s(new Uint8Array(t).buffer, t);
51
+ case "DataView": {
52
+ const { buffer: r } = new Uint8Array(t);
53
+ return s(new DataView(r), t);
54
+ }
55
+ }
56
+ return s(new f[o](t), e);
57
+ };
58
+ return a;
59
+ }, m = (c) => B(/* @__PURE__ */ new Map(), c)(0);
60
+ export {
61
+ m as deserialize
62
+ };
@@ -0,0 +1,11 @@
1
+ import { deserialize as t } from "./deserialize.js";
2
+ import { serialize as u } from "./serialize.js";
3
+ const s = typeof structuredClone == "function" ? (
4
+ /* c8 ignore start */
5
+ (r, e) => e && ("json" in e || "lossy" in e) ? t(u(r, e)) : structuredClone(r)
6
+ ) : (r, e) => t(u(r, e));
7
+ export {
8
+ s as default,
9
+ t as deserialize,
10
+ u as serialize
11
+ };