@shopify/shop-minis-react 0.0.21 → 0.0.23
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.
- package/dist/_virtual/___vite-browser-external.js +7 -0
- package/dist/_virtual/___vite-browser-external.js.map +1 -0
- package/dist/_virtual/__vite-browser-external.js +5 -0
- package/dist/_virtual/__vite-browser-external.js.map +1 -0
- package/dist/_virtual/_commonjsHelpers.js +24 -4
- package/dist/_virtual/_commonjsHelpers.js.map +1 -1
- package/dist/_virtual/browser-index.js +8 -0
- package/dist/_virtual/browser-index.js.map +1 -0
- package/dist/_virtual/browser-index2.js +5 -0
- package/dist/_virtual/browser-index2.js.map +1 -0
- package/dist/_virtual/clock.js +6 -0
- package/dist/_virtual/clock.js.map +1 -0
- package/dist/_virtual/conventions.js +5 -0
- package/dist/_virtual/conventions.js.map +1 -0
- package/dist/_virtual/document.js +8 -0
- package/dist/_virtual/document.js.map +1 -0
- package/dist/_virtual/dom-parser.js +5 -0
- package/dist/_virtual/dom-parser.js.map +1 -0
- package/dist/_virtual/dom.js +5 -0
- package/dist/_virtual/dom.js.map +1 -0
- package/dist/_virtual/entities.js +5 -0
- package/dist/_virtual/entities.js.map +1 -0
- package/dist/_virtual/extends.js +5 -0
- package/dist/_virtual/extends.js.map +1 -0
- package/dist/_virtual/index10.js +5 -0
- package/dist/_virtual/index10.js.map +1 -0
- package/dist/_virtual/index11.js +5 -0
- package/dist/_virtual/index11.js.map +1 -0
- package/dist/_virtual/index2.js +5 -2
- package/dist/_virtual/index2.js.map +1 -1
- package/dist/_virtual/index3.js +5 -3
- package/dist/_virtual/index3.js.map +1 -1
- package/dist/_virtual/index4.js +2 -2
- package/dist/_virtual/index5.js +5 -0
- package/dist/_virtual/index5.js.map +1 -0
- package/dist/_virtual/index6.js +6 -0
- package/dist/_virtual/index6.js.map +1 -0
- package/dist/_virtual/index7.js +6 -0
- package/dist/_virtual/index7.js.map +1 -0
- package/dist/_virtual/index8.js +5 -0
- package/dist/_virtual/index8.js.map +1 -0
- package/dist/_virtual/index9.js +5 -0
- package/dist/_virtual/index9.js.map +1 -0
- package/dist/_virtual/parse-sidx.js +8 -0
- package/dist/_virtual/parse-sidx.js.map +1 -0
- package/dist/_virtual/sax.js +5 -0
- package/dist/_virtual/sax.js.map +1 -0
- package/dist/_virtual/window.js +8 -0
- package/dist/_virtual/window.js.map +1 -0
- package/dist/components/atoms/video-player.js +121 -0
- package/dist/components/atoms/video-player.js.map +1 -0
- package/dist/components/commerce/merchant-card.js +236 -106
- package/dist/components/commerce/merchant-card.js.map +1 -1
- package/dist/components/commerce/quantity-selector.js +80 -0
- package/dist/components/commerce/quantity-selector.js.map +1 -0
- package/dist/index.js +213 -204
- package/dist/index.js.map +1 -1
- package/dist/mocks.js +114 -87
- package/dist/mocks.js.map +1 -1
- package/dist/shop-minis-react/node_modules/.pnpm/@babel_runtime@7.27.6/node_modules/@babel/runtime/helpers/extends.js +20 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@babel_runtime@7.27.6/node_modules/@babel/runtime/helpers/extends.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@radix-ui_react-use-is-hydrated@0.1.0_@types_react@19.1.6_react@19.1.0/node_modules/@radix-ui/react-use-is-hydrated/dist/index.js +1 -1
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_vhs-utils@4.1.1/node_modules/@videojs/vhs-utils/es/byte-helpers.js +79 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_vhs-utils@4.1.1/node_modules/@videojs/vhs-utils/es/byte-helpers.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_vhs-utils@4.1.1/node_modules/@videojs/vhs-utils/es/codecs.js +102 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_vhs-utils@4.1.1/node_modules/@videojs/vhs-utils/es/codecs.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_vhs-utils@4.1.1/node_modules/@videojs/vhs-utils/es/containers.js +149 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_vhs-utils@4.1.1/node_modules/@videojs/vhs-utils/es/containers.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_vhs-utils@4.1.1/node_modules/@videojs/vhs-utils/es/decode-b64-to-uint8-array.js +13 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_vhs-utils@4.1.1/node_modules/@videojs/vhs-utils/es/decode-b64-to-uint8-array.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_vhs-utils@4.1.1/node_modules/@videojs/vhs-utils/es/ebml-helpers.js +77 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_vhs-utils@4.1.1/node_modules/@videojs/vhs-utils/es/ebml-helpers.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_vhs-utils@4.1.1/node_modules/@videojs/vhs-utils/es/id3-helpers.js +15 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_vhs-utils@4.1.1/node_modules/@videojs/vhs-utils/es/id3-helpers.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_vhs-utils@4.1.1/node_modules/@videojs/vhs-utils/es/media-groups.js +13 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_vhs-utils@4.1.1/node_modules/@videojs/vhs-utils/es/media-groups.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_vhs-utils@4.1.1/node_modules/@videojs/vhs-utils/es/media-types.js +7 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_vhs-utils@4.1.1/node_modules/@videojs/vhs-utils/es/media-types.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_vhs-utils@4.1.1/node_modules/@videojs/vhs-utils/es/mp4-helpers.js +31 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_vhs-utils@4.1.1/node_modules/@videojs/vhs-utils/es/mp4-helpers.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_vhs-utils@4.1.1/node_modules/@videojs/vhs-utils/es/nal-helpers.js +39 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_vhs-utils@4.1.1/node_modules/@videojs/vhs-utils/es/nal-helpers.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_vhs-utils@4.1.1/node_modules/@videojs/vhs-utils/es/resolve-url.js +14 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_vhs-utils@4.1.1/node_modules/@videojs/vhs-utils/es/resolve-url.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_vhs-utils@4.1.1/node_modules/@videojs/vhs-utils/es/stream.js +33 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_vhs-utils@4.1.1/node_modules/@videojs/vhs-utils/es/stream.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_xhr@2.7.0/node_modules/@videojs/xhr/lib/http-handler.js +42 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_xhr@2.7.0/node_modules/@videojs/xhr/lib/http-handler.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_xhr@2.7.0/node_modules/@videojs/xhr/lib/index.js +169 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_xhr@2.7.0/node_modules/@videojs/xhr/lib/index.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_xhr@2.7.0/node_modules/@videojs/xhr/lib/interceptors.js +75 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_xhr@2.7.0/node_modules/@videojs/xhr/lib/interceptors.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_xhr@2.7.0/node_modules/@videojs/xhr/lib/retry.js +70 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@videojs_xhr@2.7.0/node_modules/@videojs/xhr/lib/retry.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@xmldom_xmldom@0.8.10/node_modules/@xmldom/xmldom/lib/conventions.js +124 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@xmldom_xmldom@0.8.10/node_modules/@xmldom/xmldom/lib/conventions.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@xmldom_xmldom@0.8.10/node_modules/@xmldom/xmldom/lib/dom-parser.js +151 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@xmldom_xmldom@0.8.10/node_modules/@xmldom/xmldom/lib/dom-parser.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@xmldom_xmldom@0.8.10/node_modules/@xmldom/xmldom/lib/dom.js +993 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@xmldom_xmldom@0.8.10/node_modules/@xmldom/xmldom/lib/dom.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@xmldom_xmldom@0.8.10/node_modules/@xmldom/xmldom/lib/entities.js +2146 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@xmldom_xmldom@0.8.10/node_modules/@xmldom/xmldom/lib/entities.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@xmldom_xmldom@0.8.10/node_modules/@xmldom/xmldom/lib/index.js +14 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@xmldom_xmldom@0.8.10/node_modules/@xmldom/xmldom/lib/index.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@xmldom_xmldom@0.8.10/node_modules/@xmldom/xmldom/lib/sax.js +346 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@xmldom_xmldom@0.8.10/node_modules/@xmldom/xmldom/lib/sax.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/color-convert@2.0.1/node_modules/color-convert/conversions.js +308 -0
- package/dist/shop-minis-react/node_modules/.pnpm/color-convert@2.0.1/node_modules/color-convert/conversions.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/color-convert@2.0.1/node_modules/color-convert/index.js +41 -0
- package/dist/shop-minis-react/node_modules/.pnpm/color-convert@2.0.1/node_modules/color-convert/index.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/color-convert@2.0.1/node_modules/color-convert/route.js +53 -0
- package/dist/shop-minis-react/node_modules/.pnpm/color-convert@2.0.1/node_modules/color-convert/route.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/color-name@1.1.4/node_modules/color-name/index.js +157 -0
- package/dist/shop-minis-react/node_modules/.pnpm/color-name@1.1.4/node_modules/color-name/index.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/color-string@1.9.1/node_modules/color-string/index.js +103 -0
- package/dist/shop-minis-react/node_modules/.pnpm/color-string@1.9.1/node_modules/color-string/index.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/color@4.2.3/node_modules/color/index.js +269 -0
- package/dist/shop-minis-react/node_modules/.pnpm/color@4.2.3/node_modules/color/index.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/global@4.4.0/node_modules/global/document.js +13 -0
- package/dist/shop-minis-react/node_modules/.pnpm/global@4.4.0/node_modules/global/document.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/global@4.4.0/node_modules/global/window.js +12 -0
- package/dist/shop-minis-react/node_modules/.pnpm/global@4.4.0/node_modules/global/window.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/is-arrayish@0.3.2/node_modules/is-arrayish/index.js +10 -0
- package/dist/shop-minis-react/node_modules/.pnpm/is-arrayish@0.3.2/node_modules/is-arrayish/index.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/is-function@1.0.2/node_modules/is-function/index.js +18 -0
- package/dist/shop-minis-react/node_modules/.pnpm/is-function@1.0.2/node_modules/is-function/index.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/lucide-react@0.513.0_react@19.1.0/node_modules/lucide-react/dist/esm/icons/minus.js +13 -0
- package/dist/shop-minis-react/node_modules/.pnpm/lucide-react@0.513.0_react@19.1.0/node_modules/lucide-react/dist/esm/icons/minus.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/lucide-react@0.513.0_react@19.1.0/node_modules/lucide-react/dist/esm/icons/plus.js +16 -0
- package/dist/shop-minis-react/node_modules/.pnpm/lucide-react@0.513.0_react@19.1.0/node_modules/lucide-react/dist/esm/icons/plus.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/m3u8-parser@7.2.0/node_modules/m3u8-parser/dist/m3u8-parser.es.js +855 -0
- package/dist/shop-minis-react/node_modules/.pnpm/m3u8-parser@7.2.0/node_modules/m3u8-parser/dist/m3u8-parser.es.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/mpd-parser@1.3.1/node_modules/mpd-parser/dist/mpd-parser.es.js +1102 -0
- package/dist/shop-minis-react/node_modules/.pnpm/mpd-parser@1.3.1/node_modules/mpd-parser/dist/mpd-parser.es.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/mux.js@7.1.0/node_modules/mux.js/lib/tools/parse-sidx.js +32 -0
- package/dist/shop-minis-react/node_modules/.pnpm/mux.js@7.1.0/node_modules/mux.js/lib/tools/parse-sidx.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/mux.js@7.1.0/node_modules/mux.js/lib/utils/clock.js +34 -0
- package/dist/shop-minis-react/node_modules/.pnpm/mux.js@7.1.0/node_modules/mux.js/lib/utils/clock.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/mux.js@7.1.0/node_modules/mux.js/lib/utils/numbers.js +17 -0
- package/dist/shop-minis-react/node_modules/.pnpm/mux.js@7.1.0/node_modules/mux.js/lib/utils/numbers.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/querystringify@2.2.0/node_modules/querystringify/index.js +1 -1
- package/dist/shop-minis-react/node_modules/.pnpm/simple-swizzle@0.2.2/node_modules/simple-swizzle/index.js +23 -0
- package/dist/shop-minis-react/node_modules/.pnpm/simple-swizzle@0.2.2/node_modules/simple-swizzle/index.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/use-sync-external-store@1.5.0_react@19.1.0/node_modules/use-sync-external-store/shim/index.js +1 -1
- package/dist/shop-minis-react/node_modules/.pnpm/video.js@8.23.3/node_modules/video.js/dist/video.es.js +27824 -0
- package/dist/shop-minis-react/node_modules/.pnpm/video.js@8.23.3/node_modules/video.js/dist/video.es.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/videojs-vtt.js@0.15.5/node_modules/videojs-vtt.js/lib/browser-index.js +26 -0
- package/dist/shop-minis-react/node_modules/.pnpm/videojs-vtt.js@0.15.5/node_modules/videojs-vtt.js/lib/browser-index.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/videojs-vtt.js@0.15.5/node_modules/videojs-vtt.js/lib/vtt.js +802 -0
- package/dist/shop-minis-react/node_modules/.pnpm/videojs-vtt.js@0.15.5/node_modules/videojs-vtt.js/lib/vtt.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/videojs-vtt.js@0.15.5/node_modules/videojs-vtt.js/lib/vttcue.js +188 -0
- package/dist/shop-minis-react/node_modules/.pnpm/videojs-vtt.js@0.15.5/node_modules/videojs-vtt.js/lib/vttcue.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/videojs-vtt.js@0.15.5/node_modules/videojs-vtt.js/lib/vttregion.js +104 -0
- package/dist/shop-minis-react/node_modules/.pnpm/videojs-vtt.js@0.15.5/node_modules/videojs-vtt.js/lib/vttregion.js.map +1 -0
- package/dist/shop-minis-react.css +1 -1
- package/dist/utils/colors.js +6 -0
- package/dist/utils/colors.js.map +1 -0
- package/dist/utils/merchant-card.js +44 -0
- package/dist/utils/merchant-card.js.map +1 -0
- package/package.json +5 -1
- package/src/components/atoms/video-player.tsx +213 -0
- package/src/components/commerce/merchant-card.tsx +219 -49
- package/src/components/commerce/quantity-selector.tsx +92 -0
- package/src/components/index.ts +2 -0
- package/src/mocks.ts +148 -16
- package/src/stories/MerchantCard.stories.tsx +63 -9
- package/src/utils/colors.ts +5 -0
- package/src/utils/index.ts +1 -0
- package/src/utils/merchant-card.ts +99 -0
- package/src/hooks/navigation/useCloseMini.doc.ts +0 -32
- package/src/hooks/navigation/useCloseMini.example.tsx +0 -7
- package/src/hooks/navigation/useDeeplink.doc.ts +0 -32
- package/src/hooks/navigation/useDeeplink.example.tsx +0 -7
- package/src/hooks/navigation/useShopNavigation.doc.ts +0 -32
- package/src/hooks/navigation/useShopNavigation.example.tsx +0 -32
- package/src/hooks/product/useCuratedProducts.doc.ts +0 -32
- package/src/hooks/product/useCuratedProducts.example.tsx +0 -10
- package/src/hooks/product/useProductList.doc.ts +0 -32
- package/src/hooks/product/useProductList.example.tsx +0 -9
- package/src/hooks/product/useProductListActions.doc.ts +0 -32
- package/src/hooks/product/useProductListActions.example.tsx +0 -60
- package/src/hooks/product/useProductLists.doc.ts +0 -32
- package/src/hooks/product/useProductLists.example.tsx +0 -9
- package/src/hooks/product/useProductSearch.doc.ts +0 -32
- package/src/hooks/product/useProductSearch.example.tsx +0 -13
- package/src/hooks/product/useRecommendedProducts.doc.ts +0 -32
- package/src/hooks/product/useRecommendedProducts.example.tsx +0 -7
- package/src/hooks/shop/useRecommendedShops.doc.ts +0 -32
- package/src/hooks/shop/useRecommendedShops.example.tsx +0 -7
- package/src/hooks/shop/useShop.doc.ts +0 -31
- package/src/hooks/shop/useShop.example.tsx +0 -7
- package/src/hooks/shop/useShopCartActions.doc.ts +0 -32
- package/src/hooks/shop/useShopCartActions.example.tsx +0 -28
- package/src/hooks/storage/useAsyncStorage.doc.ts +0 -32
- package/src/hooks/storage/useAsyncStorage.example.tsx +0 -30
- package/src/hooks/storage/useImageUpload.doc.ts +0 -32
- package/src/hooks/storage/useImageUpload.example.tsx +0 -20
- package/src/hooks/storage/useSecureStorage.doc.ts +0 -32
- package/src/hooks/storage/useSecureStorage.example.tsx +0 -23
- package/src/hooks/user/useBuyerAttributes.doc.ts +0 -32
- package/src/hooks/user/useBuyerAttributes.example.tsx +0 -14
- package/src/hooks/user/useCurrentUser.doc.ts +0 -31
- package/src/hooks/user/useCurrentUser.example.tsx +0 -7
- package/src/hooks/user/useFollowedShopsActions.doc.ts +0 -32
- package/src/hooks/user/useFollowedShopsActions.example.tsx +0 -16
- package/src/hooks/user/useOrders.doc.ts +0 -32
- package/src/hooks/user/useOrders.example.tsx +0 -7
- package/src/hooks/user/useRecentProducts.doc.ts +0 -32
- package/src/hooks/user/useRecentProducts.example.tsx +0 -13
- package/src/hooks/user/useSavedProducts.doc.ts +0 -32
- package/src/hooks/user/useSavedProducts.example.tsx +0 -13
- package/src/hooks/user/useSavedProductsActions.doc.ts +0 -32
- package/src/hooks/user/useSavedProductsActions.example.tsx +0 -32
- package/src/hooks/util/useErrorScreen.doc.ts +0 -32
- package/src/hooks/util/useErrorScreen.example.tsx +0 -15
- package/src/hooks/util/useErrorToast.doc.ts +0 -32
- package/src/hooks/util/useErrorToast.example.tsx +0 -15
- package/src/hooks/util/useImagePicker.example.tsx +0 -77
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sax.js","sources":["../../../../../../../../../node_modules/.pnpm/@xmldom+xmldom@0.8.10/node_modules/@xmldom/xmldom/lib/sax.js"],"sourcesContent":["var NAMESPACE = require(\"./conventions\").NAMESPACE;\n\n//[4] \tNameStartChar\t ::= \t\":\" | [A-Z] | \"_\" | [a-z] | [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x2FF] | [#x370-#x37D] | [#x37F-#x1FFF] | [#x200C-#x200D] | [#x2070-#x218F] | [#x2C00-#x2FEF] | [#x3001-#xD7FF] | [#xF900-#xFDCF] | [#xFDF0-#xFFFD] | [#x10000-#xEFFFF]\n//[4a] \tNameChar\t ::= \tNameStartChar | \"-\" | \".\" | [0-9] | #xB7 | [#x0300-#x036F] | [#x203F-#x2040]\n//[5] \tName\t ::= \tNameStartChar (NameChar)*\nvar nameStartChar = /[A-Z_a-z\\xC0-\\xD6\\xD8-\\xF6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]///\\u10000-\\uEFFFF\nvar nameChar = new RegExp(\"[\\\\-\\\\.0-9\"+nameStartChar.source.slice(1,-1)+\"\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040]\");\nvar tagNamePattern = new RegExp('^'+nameStartChar.source+nameChar.source+'*(?:\\:'+nameStartChar.source+nameChar.source+'*)?$');\n//var tagNamePattern = /^[a-zA-Z_][\\w\\-\\.]*(?:\\:[a-zA-Z_][\\w\\-\\.]*)?$/\n//var handlers = 'resolveEntity,getExternalSubset,characters,endDocument,endElement,endPrefixMapping,ignorableWhitespace,processingInstruction,setDocumentLocator,skippedEntity,startDocument,startElement,startPrefixMapping,notationDecl,unparsedEntityDecl,error,fatalError,warning,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,comment,endCDATA,endDTD,endEntity,startCDATA,startDTD,startEntity'.split(',')\n\n//S_TAG,\tS_ATTR,\tS_EQ,\tS_ATTR_NOQUOT_VALUE\n//S_ATTR_SPACE,\tS_ATTR_END,\tS_TAG_SPACE, S_TAG_CLOSE\nvar S_TAG = 0;//tag name offerring\nvar S_ATTR = 1;//attr name offerring\nvar S_ATTR_SPACE=2;//attr name end and space offer\nvar S_EQ = 3;//=space?\nvar S_ATTR_NOQUOT_VALUE = 4;//attr value(no quot value only)\nvar S_ATTR_END = 5;//attr value end and no space(quot end)\nvar S_TAG_SPACE = 6;//(attr value end || tag end ) && (space offer)\nvar S_TAG_CLOSE = 7;//closed el<el />\n\n/**\n * Creates an error that will not be caught by XMLReader aka the SAX parser.\n *\n * @param {string} message\n * @param {any?} locator Optional, can provide details about the location in the source\n * @constructor\n */\nfunction ParseError(message, locator) {\n\tthis.message = message\n\tthis.locator = locator\n\tif(Error.captureStackTrace) Error.captureStackTrace(this, ParseError);\n}\nParseError.prototype = new Error();\nParseError.prototype.name = ParseError.name\n\nfunction XMLReader(){\n\n}\n\nXMLReader.prototype = {\n\tparse:function(source,defaultNSMap,entityMap){\n\t\tvar domBuilder = this.domBuilder;\n\t\tdomBuilder.startDocument();\n\t\t_copy(defaultNSMap ,defaultNSMap = {})\n\t\tparse(source,defaultNSMap,entityMap,\n\t\t\t\tdomBuilder,this.errorHandler);\n\t\tdomBuilder.endDocument();\n\t}\n}\nfunction parse(source,defaultNSMapCopy,entityMap,domBuilder,errorHandler){\n\tfunction fixedFromCharCode(code) {\n\t\t// String.prototype.fromCharCode does not supports\n\t\t// > 2 bytes unicode chars directly\n\t\tif (code > 0xffff) {\n\t\t\tcode -= 0x10000;\n\t\t\tvar surrogate1 = 0xd800 + (code >> 10)\n\t\t\t\t, surrogate2 = 0xdc00 + (code & 0x3ff);\n\n\t\t\treturn String.fromCharCode(surrogate1, surrogate2);\n\t\t} else {\n\t\t\treturn String.fromCharCode(code);\n\t\t}\n\t}\n\tfunction entityReplacer(a){\n\t\tvar k = a.slice(1,-1);\n\t\tif (Object.hasOwnProperty.call(entityMap, k)) {\n\t\t\treturn entityMap[k];\n\t\t}else if(k.charAt(0) === '#'){\n\t\t\treturn fixedFromCharCode(parseInt(k.substr(1).replace('x','0x')))\n\t\t}else{\n\t\t\terrorHandler.error('entity not found:'+a);\n\t\t\treturn a;\n\t\t}\n\t}\n\tfunction appendText(end){//has some bugs\n\t\tif(end>start){\n\t\t\tvar xt = source.substring(start,end).replace(/&#?\\w+;/g,entityReplacer);\n\t\t\tlocator&&position(start);\n\t\t\tdomBuilder.characters(xt,0,end-start);\n\t\t\tstart = end\n\t\t}\n\t}\n\tfunction position(p,m){\n\t\twhile(p>=lineEnd && (m = linePattern.exec(source))){\n\t\t\tlineStart = m.index;\n\t\t\tlineEnd = lineStart + m[0].length;\n\t\t\tlocator.lineNumber++;\n\t\t\t//console.log('line++:',locator,startPos,endPos)\n\t\t}\n\t\tlocator.columnNumber = p-lineStart+1;\n\t}\n\tvar lineStart = 0;\n\tvar lineEnd = 0;\n\tvar linePattern = /.*(?:\\r\\n?|\\n)|.*$/g\n\tvar locator = domBuilder.locator;\n\n\tvar parseStack = [{currentNSMap:defaultNSMapCopy}]\n\tvar closeMap = {};\n\tvar start = 0;\n\twhile(true){\n\t\ttry{\n\t\t\tvar tagStart = source.indexOf('<',start);\n\t\t\tif(tagStart<0){\n\t\t\t\tif(!source.substr(start).match(/^\\s*$/)){\n\t\t\t\t\tvar doc = domBuilder.doc;\n\t \t\t\tvar text = doc.createTextNode(source.substr(start));\n\t \t\t\tdoc.appendChild(text);\n\t \t\t\tdomBuilder.currentElement = text;\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif(tagStart>start){\n\t\t\t\tappendText(tagStart);\n\t\t\t}\n\t\t\tswitch(source.charAt(tagStart+1)){\n\t\t\tcase '/':\n\t\t\t\tvar end = source.indexOf('>',tagStart+3);\n\t\t\t\tvar tagName = source.substring(tagStart + 2, end).replace(/[ \\t\\n\\r]+$/g, '');\n\t\t\t\tvar config = parseStack.pop();\n\t\t\t\tif(end<0){\n\n\t \t\ttagName = source.substring(tagStart+2).replace(/[\\s<].*/,'');\n\t \t\terrorHandler.error(\"end tag name: \"+tagName+' is not complete:'+config.tagName);\n\t \t\tend = tagStart+1+tagName.length;\n\t \t}else if(tagName.match(/\\s</)){\n\t \t\ttagName = tagName.replace(/[\\s<].*/,'');\n\t \t\terrorHandler.error(\"end tag name: \"+tagName+' maybe not complete');\n\t \t\tend = tagStart+1+tagName.length;\n\t\t\t\t}\n\t\t\t\tvar localNSMap = config.localNSMap;\n\t\t\t\tvar endMatch = config.tagName == tagName;\n\t\t\t\tvar endIgnoreCaseMach = endMatch || config.tagName&&config.tagName.toLowerCase() == tagName.toLowerCase()\n\t\t if(endIgnoreCaseMach){\n\t\t \tdomBuilder.endElement(config.uri,config.localName,tagName);\n\t\t\t\t\tif(localNSMap){\n\t\t\t\t\t\tfor (var prefix in localNSMap) {\n\t\t\t\t\t\t\tif (Object.prototype.hasOwnProperty.call(localNSMap, prefix)) {\n\t\t\t\t\t\t\t\tdomBuilder.endPrefixMapping(prefix);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif(!endMatch){\n\t\t \terrorHandler.fatalError(\"end tag name: \"+tagName+' is not match the current start tagName:'+config.tagName ); // No known test case\n\t\t\t\t\t}\n\t\t }else{\n\t\t \tparseStack.push(config)\n\t\t }\n\n\t\t\t\tend++;\n\t\t\t\tbreak;\n\t\t\t\t// end elment\n\t\t\tcase '?':// <?...?>\n\t\t\t\tlocator&&position(tagStart);\n\t\t\t\tend = parseInstruction(source,tagStart,domBuilder);\n\t\t\t\tbreak;\n\t\t\tcase '!':// <!doctype,<![CDATA,<!--\n\t\t\t\tlocator&&position(tagStart);\n\t\t\t\tend = parseDCC(source,tagStart,domBuilder,errorHandler);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tlocator&&position(tagStart);\n\t\t\t\tvar el = new ElementAttributes();\n\t\t\t\tvar currentNSMap = parseStack[parseStack.length-1].currentNSMap;\n\t\t\t\t//elStartEnd\n\t\t\t\tvar end = parseElementStartPart(source,tagStart,el,currentNSMap,entityReplacer,errorHandler);\n\t\t\t\tvar len = el.length;\n\n\n\t\t\t\tif(!el.closed && fixSelfClosed(source,end,el.tagName,closeMap)){\n\t\t\t\t\tel.closed = true;\n\t\t\t\t\tif(!entityMap.nbsp){\n\t\t\t\t\t\terrorHandler.warning('unclosed xml attribute');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(locator && len){\n\t\t\t\t\tvar locator2 = copyLocator(locator,{});\n\t\t\t\t\t//try{//attribute position fixed\n\t\t\t\t\tfor(var i = 0;i<len;i++){\n\t\t\t\t\t\tvar a = el[i];\n\t\t\t\t\t\tposition(a.offset);\n\t\t\t\t\t\ta.locator = copyLocator(locator,{});\n\t\t\t\t\t}\n\t\t\t\t\tdomBuilder.locator = locator2\n\t\t\t\t\tif(appendElement(el,domBuilder,currentNSMap)){\n\t\t\t\t\t\tparseStack.push(el)\n\t\t\t\t\t}\n\t\t\t\t\tdomBuilder.locator = locator;\n\t\t\t\t}else{\n\t\t\t\t\tif(appendElement(el,domBuilder,currentNSMap)){\n\t\t\t\t\t\tparseStack.push(el)\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (NAMESPACE.isHTML(el.uri) && !el.closed) {\n\t\t\t\t\tend = parseHtmlSpecialContent(source,end,el.tagName,entityReplacer,domBuilder)\n\t\t\t\t} else {\n\t\t\t\t\tend++;\n\t\t\t\t}\n\t\t\t}\n\t\t}catch(e){\n\t\t\tif (e instanceof ParseError) {\n\t\t\t\tthrow e;\n\t\t\t}\n\t\t\terrorHandler.error('element parse error: '+e)\n\t\t\tend = -1;\n\t\t}\n\t\tif(end>start){\n\t\t\tstart = end;\n\t\t}else{\n\t\t\t//TODO: 这里有可能sax回退,有位置错误风险\n\t\t\tappendText(Math.max(tagStart,start)+1);\n\t\t}\n\t}\n}\nfunction copyLocator(f,t){\n\tt.lineNumber = f.lineNumber;\n\tt.columnNumber = f.columnNumber;\n\treturn t;\n}\n\n/**\n * @see #appendElement(source,elStartEnd,el,selfClosed,entityReplacer,domBuilder,parseStack);\n * @return end of the elementStartPart(end of elementEndPart for selfClosed el)\n */\nfunction parseElementStartPart(source,start,el,currentNSMap,entityReplacer,errorHandler){\n\n\t/**\n\t * @param {string} qname\n\t * @param {string} value\n\t * @param {number} startIndex\n\t */\n\tfunction addAttribute(qname, value, startIndex) {\n\t\tif (el.attributeNames.hasOwnProperty(qname)) {\n\t\t\terrorHandler.fatalError('Attribute ' + qname + ' redefined')\n\t\t}\n\t\tel.addValue(\n\t\t\tqname,\n\t\t\t// @see https://www.w3.org/TR/xml/#AVNormalize\n\t\t\t// since the xmldom sax parser does not \"interpret\" DTD the following is not implemented:\n\t\t\t// - recursive replacement of (DTD) entity references\n\t\t\t// - trimming and collapsing multiple spaces into a single one for attributes that are not of type CDATA\n\t\t\tvalue.replace(/[\\t\\n\\r]/g, ' ').replace(/&#?\\w+;/g, entityReplacer),\n\t\t\tstartIndex\n\t\t)\n\t}\n\tvar attrName;\n\tvar value;\n\tvar p = ++start;\n\tvar s = S_TAG;//status\n\twhile(true){\n\t\tvar c = source.charAt(p);\n\t\tswitch(c){\n\t\tcase '=':\n\t\t\tif(s === S_ATTR){//attrName\n\t\t\t\tattrName = source.slice(start,p);\n\t\t\t\ts = S_EQ;\n\t\t\t}else if(s === S_ATTR_SPACE){\n\t\t\t\ts = S_EQ;\n\t\t\t}else{\n\t\t\t\t//fatalError: equal must after attrName or space after attrName\n\t\t\t\tthrow new Error('attribute equal must after attrName'); // No known test case\n\t\t\t}\n\t\t\tbreak;\n\t\tcase '\\'':\n\t\tcase '\"':\n\t\t\tif(s === S_EQ || s === S_ATTR //|| s == S_ATTR_SPACE\n\t\t\t\t){//equal\n\t\t\t\tif(s === S_ATTR){\n\t\t\t\t\terrorHandler.warning('attribute value must after \"=\"')\n\t\t\t\t\tattrName = source.slice(start,p)\n\t\t\t\t}\n\t\t\t\tstart = p+1;\n\t\t\t\tp = source.indexOf(c,start)\n\t\t\t\tif(p>0){\n\t\t\t\t\tvalue = source.slice(start, p);\n\t\t\t\t\taddAttribute(attrName, value, start-1);\n\t\t\t\t\ts = S_ATTR_END;\n\t\t\t\t}else{\n\t\t\t\t\t//fatalError: no end quot match\n\t\t\t\t\tthrow new Error('attribute value no end \\''+c+'\\' match');\n\t\t\t\t}\n\t\t\t}else if(s == S_ATTR_NOQUOT_VALUE){\n\t\t\t\tvalue = source.slice(start, p);\n\t\t\t\taddAttribute(attrName, value, start);\n\t\t\t\terrorHandler.warning('attribute \"'+attrName+'\" missed start quot('+c+')!!');\n\t\t\t\tstart = p+1;\n\t\t\t\ts = S_ATTR_END\n\t\t\t}else{\n\t\t\t\t//fatalError: no equal before\n\t\t\t\tthrow new Error('attribute value must after \"=\"'); // No known test case\n\t\t\t}\n\t\t\tbreak;\n\t\tcase '/':\n\t\t\tswitch(s){\n\t\t\tcase S_TAG:\n\t\t\t\tel.setTagName(source.slice(start,p));\n\t\t\tcase S_ATTR_END:\n\t\t\tcase S_TAG_SPACE:\n\t\t\tcase S_TAG_CLOSE:\n\t\t\t\ts =S_TAG_CLOSE;\n\t\t\t\tel.closed = true;\n\t\t\tcase S_ATTR_NOQUOT_VALUE:\n\t\t\tcase S_ATTR:\n\t\t\t\tbreak;\n\t\t\t\tcase S_ATTR_SPACE:\n\t\t\t\t\tel.closed = true;\n\t\t\t\tbreak;\n\t\t\t//case S_EQ:\n\t\t\tdefault:\n\t\t\t\tthrow new Error(\"attribute invalid close char('/')\") // No known test case\n\t\t\t}\n\t\t\tbreak;\n\t\tcase ''://end document\n\t\t\terrorHandler.error('unexpected end of input');\n\t\t\tif(s == S_TAG){\n\t\t\t\tel.setTagName(source.slice(start,p));\n\t\t\t}\n\t\t\treturn p;\n\t\tcase '>':\n\t\t\tswitch(s){\n\t\t\tcase S_TAG:\n\t\t\t\tel.setTagName(source.slice(start,p));\n\t\t\tcase S_ATTR_END:\n\t\t\tcase S_TAG_SPACE:\n\t\t\tcase S_TAG_CLOSE:\n\t\t\t\tbreak;//normal\n\t\t\tcase S_ATTR_NOQUOT_VALUE://Compatible state\n\t\t\tcase S_ATTR:\n\t\t\t\tvalue = source.slice(start,p);\n\t\t\t\tif(value.slice(-1) === '/'){\n\t\t\t\t\tel.closed = true;\n\t\t\t\t\tvalue = value.slice(0,-1)\n\t\t\t\t}\n\t\t\tcase S_ATTR_SPACE:\n\t\t\t\tif(s === S_ATTR_SPACE){\n\t\t\t\t\tvalue = attrName;\n\t\t\t\t}\n\t\t\t\tif(s == S_ATTR_NOQUOT_VALUE){\n\t\t\t\t\terrorHandler.warning('attribute \"'+value+'\" missed quot(\")!');\n\t\t\t\t\taddAttribute(attrName, value, start)\n\t\t\t\t}else{\n\t\t\t\t\tif(!NAMESPACE.isHTML(currentNSMap['']) || !value.match(/^(?:disabled|checked|selected)$/i)){\n\t\t\t\t\t\terrorHandler.warning('attribute \"'+value+'\" missed value!! \"'+value+'\" instead!!')\n\t\t\t\t\t}\n\t\t\t\t\taddAttribute(value, value, start)\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase S_EQ:\n\t\t\t\tthrow new Error('attribute value missed!!');\n\t\t\t}\n//\t\t\tconsole.log(tagName,tagNamePattern,tagNamePattern.test(tagName))\n\t\t\treturn p;\n\t\t/*xml space '\\x20' | #x9 | #xD | #xA; */\n\t\tcase '\\u0080':\n\t\t\tc = ' ';\n\t\tdefault:\n\t\t\tif(c<= ' '){//space\n\t\t\t\tswitch(s){\n\t\t\t\tcase S_TAG:\n\t\t\t\t\tel.setTagName(source.slice(start,p));//tagName\n\t\t\t\t\ts = S_TAG_SPACE;\n\t\t\t\t\tbreak;\n\t\t\t\tcase S_ATTR:\n\t\t\t\t\tattrName = source.slice(start,p)\n\t\t\t\t\ts = S_ATTR_SPACE;\n\t\t\t\t\tbreak;\n\t\t\t\tcase S_ATTR_NOQUOT_VALUE:\n\t\t\t\t\tvar value = source.slice(start, p);\n\t\t\t\t\terrorHandler.warning('attribute \"'+value+'\" missed quot(\")!!');\n\t\t\t\t\taddAttribute(attrName, value, start)\n\t\t\t\tcase S_ATTR_END:\n\t\t\t\t\ts = S_TAG_SPACE;\n\t\t\t\t\tbreak;\n\t\t\t\t//case S_TAG_SPACE:\n\t\t\t\t//case S_EQ:\n\t\t\t\t//case S_ATTR_SPACE:\n\t\t\t\t//\tvoid();break;\n\t\t\t\t//case S_TAG_CLOSE:\n\t\t\t\t\t//ignore warning\n\t\t\t\t}\n\t\t\t}else{//not space\n//S_TAG,\tS_ATTR,\tS_EQ,\tS_ATTR_NOQUOT_VALUE\n//S_ATTR_SPACE,\tS_ATTR_END,\tS_TAG_SPACE, S_TAG_CLOSE\n\t\t\t\tswitch(s){\n\t\t\t\t//case S_TAG:void();break;\n\t\t\t\t//case S_ATTR:void();break;\n\t\t\t\t//case S_ATTR_NOQUOT_VALUE:void();break;\n\t\t\t\tcase S_ATTR_SPACE:\n\t\t\t\t\tvar tagName = el.tagName;\n\t\t\t\t\tif (!NAMESPACE.isHTML(currentNSMap['']) || !attrName.match(/^(?:disabled|checked|selected)$/i)) {\n\t\t\t\t\t\terrorHandler.warning('attribute \"'+attrName+'\" missed value!! \"'+attrName+'\" instead2!!')\n\t\t\t\t\t}\n\t\t\t\t\taddAttribute(attrName, attrName, start);\n\t\t\t\t\tstart = p;\n\t\t\t\t\ts = S_ATTR;\n\t\t\t\t\tbreak;\n\t\t\t\tcase S_ATTR_END:\n\t\t\t\t\terrorHandler.warning('attribute space is required\"'+attrName+'\"!!')\n\t\t\t\tcase S_TAG_SPACE:\n\t\t\t\t\ts = S_ATTR;\n\t\t\t\t\tstart = p;\n\t\t\t\t\tbreak;\n\t\t\t\tcase S_EQ:\n\t\t\t\t\ts = S_ATTR_NOQUOT_VALUE;\n\t\t\t\t\tstart = p;\n\t\t\t\t\tbreak;\n\t\t\t\tcase S_TAG_CLOSE:\n\t\t\t\t\tthrow new Error(\"elements closed character '/' and '>' must be connected to\");\n\t\t\t\t}\n\t\t\t}\n\t\t}//end outer switch\n\t\t//console.log('p++',p)\n\t\tp++;\n\t}\n}\n/**\n * @return true if has new namespace define\n */\nfunction appendElement(el,domBuilder,currentNSMap){\n\tvar tagName = el.tagName;\n\tvar localNSMap = null;\n\t//var currentNSMap = parseStack[parseStack.length-1].currentNSMap;\n\tvar i = el.length;\n\twhile(i--){\n\t\tvar a = el[i];\n\t\tvar qName = a.qName;\n\t\tvar value = a.value;\n\t\tvar nsp = qName.indexOf(':');\n\t\tif(nsp>0){\n\t\t\tvar prefix = a.prefix = qName.slice(0,nsp);\n\t\t\tvar localName = qName.slice(nsp+1);\n\t\t\tvar nsPrefix = prefix === 'xmlns' && localName\n\t\t}else{\n\t\t\tlocalName = qName;\n\t\t\tprefix = null\n\t\t\tnsPrefix = qName === 'xmlns' && ''\n\t\t}\n\t\t//can not set prefix,because prefix !== ''\n\t\ta.localName = localName ;\n\t\t//prefix == null for no ns prefix attribute\n\t\tif(nsPrefix !== false){//hack!!\n\t\t\tif(localNSMap == null){\n\t\t\t\tlocalNSMap = {}\n\t\t\t\t//console.log(currentNSMap,0)\n\t\t\t\t_copy(currentNSMap,currentNSMap={})\n\t\t\t\t//console.log(currentNSMap,1)\n\t\t\t}\n\t\t\tcurrentNSMap[nsPrefix] = localNSMap[nsPrefix] = value;\n\t\t\ta.uri = NAMESPACE.XMLNS\n\t\t\tdomBuilder.startPrefixMapping(nsPrefix, value)\n\t\t}\n\t}\n\tvar i = el.length;\n\twhile(i--){\n\t\ta = el[i];\n\t\tvar prefix = a.prefix;\n\t\tif(prefix){//no prefix attribute has no namespace\n\t\t\tif(prefix === 'xml'){\n\t\t\t\ta.uri = NAMESPACE.XML;\n\t\t\t}if(prefix !== 'xmlns'){\n\t\t\t\ta.uri = currentNSMap[prefix || '']\n\n\t\t\t\t//{console.log('###'+a.qName,domBuilder.locator.systemId+'',currentNSMap,a.uri)}\n\t\t\t}\n\t\t}\n\t}\n\tvar nsp = tagName.indexOf(':');\n\tif(nsp>0){\n\t\tprefix = el.prefix = tagName.slice(0,nsp);\n\t\tlocalName = el.localName = tagName.slice(nsp+1);\n\t}else{\n\t\tprefix = null;//important!!\n\t\tlocalName = el.localName = tagName;\n\t}\n\t//no prefix element has default namespace\n\tvar ns = el.uri = currentNSMap[prefix || ''];\n\tdomBuilder.startElement(ns,localName,tagName,el);\n\t//endPrefixMapping and startPrefixMapping have not any help for dom builder\n\t//localNSMap = null\n\tif(el.closed){\n\t\tdomBuilder.endElement(ns,localName,tagName);\n\t\tif(localNSMap){\n\t\t\tfor (prefix in localNSMap) {\n\t\t\t\tif (Object.prototype.hasOwnProperty.call(localNSMap, prefix)) {\n\t\t\t\t\tdomBuilder.endPrefixMapping(prefix);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}else{\n\t\tel.currentNSMap = currentNSMap;\n\t\tel.localNSMap = localNSMap;\n\t\t//parseStack.push(el);\n\t\treturn true;\n\t}\n}\nfunction parseHtmlSpecialContent(source,elStartEnd,tagName,entityReplacer,domBuilder){\n\tif(/^(?:script|textarea)$/i.test(tagName)){\n\t\tvar elEndStart = source.indexOf('</'+tagName+'>',elStartEnd);\n\t\tvar text = source.substring(elStartEnd+1,elEndStart);\n\t\tif(/[&<]/.test(text)){\n\t\t\tif(/^script$/i.test(tagName)){\n\t\t\t\t//if(!/\\]\\]>/.test(text)){\n\t\t\t\t\t//lexHandler.startCDATA();\n\t\t\t\t\tdomBuilder.characters(text,0,text.length);\n\t\t\t\t\t//lexHandler.endCDATA();\n\t\t\t\t\treturn elEndStart;\n\t\t\t\t//}\n\t\t\t}//}else{//text area\n\t\t\t\ttext = text.replace(/&#?\\w+;/g,entityReplacer);\n\t\t\t\tdomBuilder.characters(text,0,text.length);\n\t\t\t\treturn elEndStart;\n\t\t\t//}\n\n\t\t}\n\t}\n\treturn elStartEnd+1;\n}\nfunction fixSelfClosed(source,elStartEnd,tagName,closeMap){\n\t//if(tagName in closeMap){\n\tvar pos = closeMap[tagName];\n\tif(pos == null){\n\t\t//console.log(tagName)\n\t\tpos = source.lastIndexOf('</'+tagName+'>')\n\t\tif(pos<elStartEnd){//忘记闭合\n\t\t\tpos = source.lastIndexOf('</'+tagName)\n\t\t}\n\t\tcloseMap[tagName] =pos\n\t}\n\treturn pos<elStartEnd;\n\t//}\n}\n\nfunction _copy (source, target) {\n\tfor (var n in source) {\n\t\tif (Object.prototype.hasOwnProperty.call(source, n)) {\n\t\t\ttarget[n] = source[n];\n\t\t}\n\t}\n}\n\nfunction parseDCC(source,start,domBuilder,errorHandler){//sure start with '<!'\n\tvar next= source.charAt(start+2)\n\tswitch(next){\n\tcase '-':\n\t\tif(source.charAt(start + 3) === '-'){\n\t\t\tvar end = source.indexOf('-->',start+4);\n\t\t\t//append comment source.substring(4,end)//<!--\n\t\t\tif(end>start){\n\t\t\t\tdomBuilder.comment(source,start+4,end-start-4);\n\t\t\t\treturn end+3;\n\t\t\t}else{\n\t\t\t\terrorHandler.error(\"Unclosed comment\");\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t}else{\n\t\t\t//error\n\t\t\treturn -1;\n\t\t}\n\tdefault:\n\t\tif(source.substr(start+3,6) == 'CDATA['){\n\t\t\tvar end = source.indexOf(']]>',start+9);\n\t\t\tdomBuilder.startCDATA();\n\t\t\tdomBuilder.characters(source,start+9,end-start-9);\n\t\t\tdomBuilder.endCDATA()\n\t\t\treturn end+3;\n\t\t}\n\t\t//<!DOCTYPE\n\t\t//startDTD(java.lang.String name, java.lang.String publicId, java.lang.String systemId)\n\t\tvar matchs = split(source,start);\n\t\tvar len = matchs.length;\n\t\tif(len>1 && /!doctype/i.test(matchs[0][0])){\n\t\t\tvar name = matchs[1][0];\n\t\t\tvar pubid = false;\n\t\t\tvar sysid = false;\n\t\t\tif(len>3){\n\t\t\t\tif(/^public$/i.test(matchs[2][0])){\n\t\t\t\t\tpubid = matchs[3][0];\n\t\t\t\t\tsysid = len>4 && matchs[4][0];\n\t\t\t\t}else if(/^system$/i.test(matchs[2][0])){\n\t\t\t\t\tsysid = matchs[3][0];\n\t\t\t\t}\n\t\t\t}\n\t\t\tvar lastMatch = matchs[len-1]\n\t\t\tdomBuilder.startDTD(name, pubid, sysid);\n\t\t\tdomBuilder.endDTD();\n\n\t\t\treturn lastMatch.index+lastMatch[0].length\n\t\t}\n\t}\n\treturn -1;\n}\n\n\n\nfunction parseInstruction(source,start,domBuilder){\n\tvar end = source.indexOf('?>',start);\n\tif(end){\n\t\tvar match = source.substring(start,end).match(/^<\\?(\\S*)\\s*([\\s\\S]*?)\\s*$/);\n\t\tif(match){\n\t\t\tvar len = match[0].length;\n\t\t\tdomBuilder.processingInstruction(match[1], match[2]) ;\n\t\t\treturn end+2;\n\t\t}else{//error\n\t\t\treturn -1;\n\t\t}\n\t}\n\treturn -1;\n}\n\nfunction ElementAttributes(){\n\tthis.attributeNames = {}\n}\nElementAttributes.prototype = {\n\tsetTagName:function(tagName){\n\t\tif(!tagNamePattern.test(tagName)){\n\t\t\tthrow new Error('invalid tagName:'+tagName)\n\t\t}\n\t\tthis.tagName = tagName\n\t},\n\taddValue:function(qName, value, offset) {\n\t\tif(!tagNamePattern.test(qName)){\n\t\t\tthrow new Error('invalid attribute:'+qName)\n\t\t}\n\t\tthis.attributeNames[qName] = this.length;\n\t\tthis[this.length++] = {qName:qName,value:value,offset:offset}\n\t},\n\tlength:0,\n\tgetLocalName:function(i){return this[i].localName},\n\tgetLocator:function(i){return this[i].locator},\n\tgetQName:function(i){return this[i].qName},\n\tgetURI:function(i){return this[i].uri},\n\tgetValue:function(i){return this[i].value}\n//\t,getIndex:function(uri, localName)){\n//\t\tif(localName){\n//\n//\t\t}else{\n//\t\t\tvar qName = uri\n//\t\t}\n//\t},\n//\tgetValue:function(){return this.getValue(this.getIndex.apply(this,arguments))},\n//\tgetType:function(uri,localName){}\n//\tgetType:function(i){},\n}\n\n\n\nfunction split(source,start){\n\tvar match;\n\tvar buf = [];\n\tvar reg = /'[^']+'|\"[^\"]+\"|[^\\s<>\\/=]+=?|(\\/?\\s*>|<)/g;\n\treg.lastIndex = start;\n\treg.exec(source);//skip <\n\twhile(match = reg.exec(source)){\n\t\tbuf.push(match);\n\t\tif(match[1])return buf;\n\t}\n}\n\nexports.XMLReader = XMLReader;\nexports.ParseError = ParseError;\n"],"names":["NAMESPACE","require$$0","nameStartChar","nameChar","tagNamePattern","S_TAG","S_ATTR","S_ATTR_SPACE","S_EQ","S_ATTR_NOQUOT_VALUE","S_ATTR_END","S_TAG_SPACE","S_TAG_CLOSE","ParseError","message","locator","XMLReader","source","defaultNSMap","entityMap","domBuilder","_copy","parse","defaultNSMapCopy","errorHandler","fixedFromCharCode","code","surrogate1","surrogate2","entityReplacer","a","k","appendText","end","start","xt","position","p","m","lineEnd","linePattern","lineStart","parseStack","closeMap","tagStart","doc","text","tagName","config","localNSMap","endMatch","endIgnoreCaseMach","prefix","parseInstruction","parseDCC","el","ElementAttributes","currentNSMap","parseElementStartPart","len","fixSelfClosed","locator2","copyLocator","i","appendElement","parseHtmlSpecialContent","e","f","t","addAttribute","qname","value","startIndex","attrName","s","c","qName","nsp","localName","nsPrefix","ns","elStartEnd","elEndStart","pos","target","n","next","matchs","split","name","pubid","sysid","lastMatch","match","offset","buf","reg","sax"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,308 @@
|
|
|
1
|
+
import { __require as v } from "../../../color-name@1.1.4/node_modules/color-name/index.js";
|
|
2
|
+
var g, M;
|
|
3
|
+
function k() {
|
|
4
|
+
if (M) return g;
|
|
5
|
+
M = 1;
|
|
6
|
+
const b = v(), m = {};
|
|
7
|
+
for (const n of Object.keys(b))
|
|
8
|
+
m[b[n]] = n;
|
|
9
|
+
const l = {
|
|
10
|
+
rgb: { channels: 3, labels: "rgb" },
|
|
11
|
+
hsl: { channels: 3, labels: "hsl" },
|
|
12
|
+
hsv: { channels: 3, labels: "hsv" },
|
|
13
|
+
hwb: { channels: 3, labels: "hwb" },
|
|
14
|
+
cmyk: { channels: 4, labels: "cmyk" },
|
|
15
|
+
xyz: { channels: 3, labels: "xyz" },
|
|
16
|
+
lab: { channels: 3, labels: "lab" },
|
|
17
|
+
lch: { channels: 3, labels: "lch" },
|
|
18
|
+
hex: { channels: 1, labels: ["hex"] },
|
|
19
|
+
keyword: { channels: 1, labels: ["keyword"] },
|
|
20
|
+
ansi16: { channels: 1, labels: ["ansi16"] },
|
|
21
|
+
ansi256: { channels: 1, labels: ["ansi256"] },
|
|
22
|
+
hcg: { channels: 3, labels: ["h", "c", "g"] },
|
|
23
|
+
apple: { channels: 3, labels: ["r16", "g16", "b16"] },
|
|
24
|
+
gray: { channels: 1, labels: ["gray"] }
|
|
25
|
+
};
|
|
26
|
+
g = l;
|
|
27
|
+
for (const n of Object.keys(l)) {
|
|
28
|
+
if (!("channels" in l[n]))
|
|
29
|
+
throw new Error("missing channels property: " + n);
|
|
30
|
+
if (!("labels" in l[n]))
|
|
31
|
+
throw new Error("missing channel labels property: " + n);
|
|
32
|
+
if (l[n].labels.length !== l[n].channels)
|
|
33
|
+
throw new Error("channel and label counts mismatch: " + n);
|
|
34
|
+
const { channels: c, labels: s } = l[n];
|
|
35
|
+
delete l[n].channels, delete l[n].labels, Object.defineProperty(l[n], "channels", { value: c }), Object.defineProperty(l[n], "labels", { value: s });
|
|
36
|
+
}
|
|
37
|
+
l.rgb.hsl = function(n) {
|
|
38
|
+
const c = n[0] / 255, s = n[1] / 255, t = n[2] / 255, e = Math.min(c, s, t), o = Math.max(c, s, t), r = o - e;
|
|
39
|
+
let a, i;
|
|
40
|
+
o === e ? a = 0 : c === o ? a = (s - t) / r : s === o ? a = 2 + (t - c) / r : t === o && (a = 4 + (c - s) / r), a = Math.min(a * 60, 360), a < 0 && (a += 360);
|
|
41
|
+
const u = (e + o) / 2;
|
|
42
|
+
return o === e ? i = 0 : u <= 0.5 ? i = r / (o + e) : i = r / (2 - o - e), [a, i * 100, u * 100];
|
|
43
|
+
}, l.rgb.hsv = function(n) {
|
|
44
|
+
let c, s, t, e, o;
|
|
45
|
+
const r = n[0] / 255, a = n[1] / 255, i = n[2] / 255, u = Math.max(r, a, i), f = u - Math.min(r, a, i), h = function(d) {
|
|
46
|
+
return (u - d) / 6 / f + 1 / 2;
|
|
47
|
+
};
|
|
48
|
+
return f === 0 ? (e = 0, o = 0) : (o = f / u, c = h(r), s = h(a), t = h(i), r === u ? e = t - s : a === u ? e = 1 / 3 + c - t : i === u && (e = 2 / 3 + s - c), e < 0 ? e += 1 : e > 1 && (e -= 1)), [
|
|
49
|
+
e * 360,
|
|
50
|
+
o * 100,
|
|
51
|
+
u * 100
|
|
52
|
+
];
|
|
53
|
+
}, l.rgb.hwb = function(n) {
|
|
54
|
+
const c = n[0], s = n[1];
|
|
55
|
+
let t = n[2];
|
|
56
|
+
const e = l.rgb.hsl(n)[0], o = 1 / 255 * Math.min(c, Math.min(s, t));
|
|
57
|
+
return t = 1 - 1 / 255 * Math.max(c, Math.max(s, t)), [e, o * 100, t * 100];
|
|
58
|
+
}, l.rgb.cmyk = function(n) {
|
|
59
|
+
const c = n[0] / 255, s = n[1] / 255, t = n[2] / 255, e = Math.min(1 - c, 1 - s, 1 - t), o = (1 - c - e) / (1 - e) || 0, r = (1 - s - e) / (1 - e) || 0, a = (1 - t - e) / (1 - e) || 0;
|
|
60
|
+
return [o * 100, r * 100, a * 100, e * 100];
|
|
61
|
+
};
|
|
62
|
+
function y(n, c) {
|
|
63
|
+
return (n[0] - c[0]) ** 2 + (n[1] - c[1]) ** 2 + (n[2] - c[2]) ** 2;
|
|
64
|
+
}
|
|
65
|
+
return l.rgb.keyword = function(n) {
|
|
66
|
+
const c = m[n];
|
|
67
|
+
if (c)
|
|
68
|
+
return c;
|
|
69
|
+
let s = 1 / 0, t;
|
|
70
|
+
for (const e of Object.keys(b)) {
|
|
71
|
+
const o = b[e], r = y(n, o);
|
|
72
|
+
r < s && (s = r, t = e);
|
|
73
|
+
}
|
|
74
|
+
return t;
|
|
75
|
+
}, l.keyword.rgb = function(n) {
|
|
76
|
+
return b[n];
|
|
77
|
+
}, l.rgb.xyz = function(n) {
|
|
78
|
+
let c = n[0] / 255, s = n[1] / 255, t = n[2] / 255;
|
|
79
|
+
c = c > 0.04045 ? ((c + 0.055) / 1.055) ** 2.4 : c / 12.92, s = s > 0.04045 ? ((s + 0.055) / 1.055) ** 2.4 : s / 12.92, t = t > 0.04045 ? ((t + 0.055) / 1.055) ** 2.4 : t / 12.92;
|
|
80
|
+
const e = c * 0.4124 + s * 0.3576 + t * 0.1805, o = c * 0.2126 + s * 0.7152 + t * 0.0722, r = c * 0.0193 + s * 0.1192 + t * 0.9505;
|
|
81
|
+
return [e * 100, o * 100, r * 100];
|
|
82
|
+
}, l.rgb.lab = function(n) {
|
|
83
|
+
const c = l.rgb.xyz(n);
|
|
84
|
+
let s = c[0], t = c[1], e = c[2];
|
|
85
|
+
s /= 95.047, t /= 100, e /= 108.883, s = s > 8856e-6 ? s ** (1 / 3) : 7.787 * s + 16 / 116, t = t > 8856e-6 ? t ** (1 / 3) : 7.787 * t + 16 / 116, e = e > 8856e-6 ? e ** (1 / 3) : 7.787 * e + 16 / 116;
|
|
86
|
+
const o = 116 * t - 16, r = 500 * (s - t), a = 200 * (t - e);
|
|
87
|
+
return [o, r, a];
|
|
88
|
+
}, l.hsl.rgb = function(n) {
|
|
89
|
+
const c = n[0] / 360, s = n[1] / 100, t = n[2] / 100;
|
|
90
|
+
let e, o, r;
|
|
91
|
+
if (s === 0)
|
|
92
|
+
return r = t * 255, [r, r, r];
|
|
93
|
+
t < 0.5 ? e = t * (1 + s) : e = t + s - t * s;
|
|
94
|
+
const a = 2 * t - e, i = [0, 0, 0];
|
|
95
|
+
for (let u = 0; u < 3; u++)
|
|
96
|
+
o = c + 1 / 3 * -(u - 1), o < 0 && o++, o > 1 && o--, 6 * o < 1 ? r = a + (e - a) * 6 * o : 2 * o < 1 ? r = e : 3 * o < 2 ? r = a + (e - a) * (2 / 3 - o) * 6 : r = a, i[u] = r * 255;
|
|
97
|
+
return i;
|
|
98
|
+
}, l.hsl.hsv = function(n) {
|
|
99
|
+
const c = n[0];
|
|
100
|
+
let s = n[1] / 100, t = n[2] / 100, e = s;
|
|
101
|
+
const o = Math.max(t, 0.01);
|
|
102
|
+
t *= 2, s *= t <= 1 ? t : 2 - t, e *= o <= 1 ? o : 2 - o;
|
|
103
|
+
const r = (t + s) / 2, a = t === 0 ? 2 * e / (o + e) : 2 * s / (t + s);
|
|
104
|
+
return [c, a * 100, r * 100];
|
|
105
|
+
}, l.hsv.rgb = function(n) {
|
|
106
|
+
const c = n[0] / 60, s = n[1] / 100;
|
|
107
|
+
let t = n[2] / 100;
|
|
108
|
+
const e = Math.floor(c) % 6, o = c - Math.floor(c), r = 255 * t * (1 - s), a = 255 * t * (1 - s * o), i = 255 * t * (1 - s * (1 - o));
|
|
109
|
+
switch (t *= 255, e) {
|
|
110
|
+
case 0:
|
|
111
|
+
return [t, i, r];
|
|
112
|
+
case 1:
|
|
113
|
+
return [a, t, r];
|
|
114
|
+
case 2:
|
|
115
|
+
return [r, t, i];
|
|
116
|
+
case 3:
|
|
117
|
+
return [r, a, t];
|
|
118
|
+
case 4:
|
|
119
|
+
return [i, r, t];
|
|
120
|
+
case 5:
|
|
121
|
+
return [t, r, a];
|
|
122
|
+
}
|
|
123
|
+
}, l.hsv.hsl = function(n) {
|
|
124
|
+
const c = n[0], s = n[1] / 100, t = n[2] / 100, e = Math.max(t, 0.01);
|
|
125
|
+
let o, r;
|
|
126
|
+
r = (2 - s) * t;
|
|
127
|
+
const a = (2 - s) * e;
|
|
128
|
+
return o = s * e, o /= a <= 1 ? a : 2 - a, o = o || 0, r /= 2, [c, o * 100, r * 100];
|
|
129
|
+
}, l.hwb.rgb = function(n) {
|
|
130
|
+
const c = n[0] / 360;
|
|
131
|
+
let s = n[1] / 100, t = n[2] / 100;
|
|
132
|
+
const e = s + t;
|
|
133
|
+
let o;
|
|
134
|
+
e > 1 && (s /= e, t /= e);
|
|
135
|
+
const r = Math.floor(6 * c), a = 1 - t;
|
|
136
|
+
o = 6 * c - r, (r & 1) !== 0 && (o = 1 - o);
|
|
137
|
+
const i = s + o * (a - s);
|
|
138
|
+
let u, f, h;
|
|
139
|
+
switch (r) {
|
|
140
|
+
default:
|
|
141
|
+
case 6:
|
|
142
|
+
case 0:
|
|
143
|
+
u = a, f = i, h = s;
|
|
144
|
+
break;
|
|
145
|
+
case 1:
|
|
146
|
+
u = i, f = a, h = s;
|
|
147
|
+
break;
|
|
148
|
+
case 2:
|
|
149
|
+
u = s, f = a, h = i;
|
|
150
|
+
break;
|
|
151
|
+
case 3:
|
|
152
|
+
u = s, f = i, h = a;
|
|
153
|
+
break;
|
|
154
|
+
case 4:
|
|
155
|
+
u = i, f = s, h = a;
|
|
156
|
+
break;
|
|
157
|
+
case 5:
|
|
158
|
+
u = a, f = s, h = i;
|
|
159
|
+
break;
|
|
160
|
+
}
|
|
161
|
+
return [u * 255, f * 255, h * 255];
|
|
162
|
+
}, l.cmyk.rgb = function(n) {
|
|
163
|
+
const c = n[0] / 100, s = n[1] / 100, t = n[2] / 100, e = n[3] / 100, o = 1 - Math.min(1, c * (1 - e) + e), r = 1 - Math.min(1, s * (1 - e) + e), a = 1 - Math.min(1, t * (1 - e) + e);
|
|
164
|
+
return [o * 255, r * 255, a * 255];
|
|
165
|
+
}, l.xyz.rgb = function(n) {
|
|
166
|
+
const c = n[0] / 100, s = n[1] / 100, t = n[2] / 100;
|
|
167
|
+
let e, o, r;
|
|
168
|
+
return e = c * 3.2406 + s * -1.5372 + t * -0.4986, o = c * -0.9689 + s * 1.8758 + t * 0.0415, r = c * 0.0557 + s * -0.204 + t * 1.057, e = e > 31308e-7 ? 1.055 * e ** (1 / 2.4) - 0.055 : e * 12.92, o = o > 31308e-7 ? 1.055 * o ** (1 / 2.4) - 0.055 : o * 12.92, r = r > 31308e-7 ? 1.055 * r ** (1 / 2.4) - 0.055 : r * 12.92, e = Math.min(Math.max(0, e), 1), o = Math.min(Math.max(0, o), 1), r = Math.min(Math.max(0, r), 1), [e * 255, o * 255, r * 255];
|
|
169
|
+
}, l.xyz.lab = function(n) {
|
|
170
|
+
let c = n[0], s = n[1], t = n[2];
|
|
171
|
+
c /= 95.047, s /= 100, t /= 108.883, c = c > 8856e-6 ? c ** (1 / 3) : 7.787 * c + 16 / 116, s = s > 8856e-6 ? s ** (1 / 3) : 7.787 * s + 16 / 116, t = t > 8856e-6 ? t ** (1 / 3) : 7.787 * t + 16 / 116;
|
|
172
|
+
const e = 116 * s - 16, o = 500 * (c - s), r = 200 * (s - t);
|
|
173
|
+
return [e, o, r];
|
|
174
|
+
}, l.lab.xyz = function(n) {
|
|
175
|
+
const c = n[0], s = n[1], t = n[2];
|
|
176
|
+
let e, o, r;
|
|
177
|
+
o = (c + 16) / 116, e = s / 500 + o, r = o - t / 200;
|
|
178
|
+
const a = o ** 3, i = e ** 3, u = r ** 3;
|
|
179
|
+
return o = a > 8856e-6 ? a : (o - 16 / 116) / 7.787, e = i > 8856e-6 ? i : (e - 16 / 116) / 7.787, r = u > 8856e-6 ? u : (r - 16 / 116) / 7.787, e *= 95.047, o *= 100, r *= 108.883, [e, o, r];
|
|
180
|
+
}, l.lab.lch = function(n) {
|
|
181
|
+
const c = n[0], s = n[1], t = n[2];
|
|
182
|
+
let e;
|
|
183
|
+
e = Math.atan2(t, s) * 360 / 2 / Math.PI, e < 0 && (e += 360);
|
|
184
|
+
const r = Math.sqrt(s * s + t * t);
|
|
185
|
+
return [c, r, e];
|
|
186
|
+
}, l.lch.lab = function(n) {
|
|
187
|
+
const c = n[0], s = n[1], e = n[2] / 360 * 2 * Math.PI, o = s * Math.cos(e), r = s * Math.sin(e);
|
|
188
|
+
return [c, o, r];
|
|
189
|
+
}, l.rgb.ansi16 = function(n, c = null) {
|
|
190
|
+
const [s, t, e] = n;
|
|
191
|
+
let o = c === null ? l.rgb.hsv(n)[2] : c;
|
|
192
|
+
if (o = Math.round(o / 50), o === 0)
|
|
193
|
+
return 30;
|
|
194
|
+
let r = 30 + (Math.round(e / 255) << 2 | Math.round(t / 255) << 1 | Math.round(s / 255));
|
|
195
|
+
return o === 2 && (r += 60), r;
|
|
196
|
+
}, l.hsv.ansi16 = function(n) {
|
|
197
|
+
return l.rgb.ansi16(l.hsv.rgb(n), n[2]);
|
|
198
|
+
}, l.rgb.ansi256 = function(n) {
|
|
199
|
+
const c = n[0], s = n[1], t = n[2];
|
|
200
|
+
return c === s && s === t ? c < 8 ? 16 : c > 248 ? 231 : Math.round((c - 8) / 247 * 24) + 232 : 16 + 36 * Math.round(c / 255 * 5) + 6 * Math.round(s / 255 * 5) + Math.round(t / 255 * 5);
|
|
201
|
+
}, l.ansi16.rgb = function(n) {
|
|
202
|
+
let c = n % 10;
|
|
203
|
+
if (c === 0 || c === 7)
|
|
204
|
+
return n > 50 && (c += 3.5), c = c / 10.5 * 255, [c, c, c];
|
|
205
|
+
const s = (~~(n > 50) + 1) * 0.5, t = (c & 1) * s * 255, e = (c >> 1 & 1) * s * 255, o = (c >> 2 & 1) * s * 255;
|
|
206
|
+
return [t, e, o];
|
|
207
|
+
}, l.ansi256.rgb = function(n) {
|
|
208
|
+
if (n >= 232) {
|
|
209
|
+
const o = (n - 232) * 10 + 8;
|
|
210
|
+
return [o, o, o];
|
|
211
|
+
}
|
|
212
|
+
n -= 16;
|
|
213
|
+
let c;
|
|
214
|
+
const s = Math.floor(n / 36) / 5 * 255, t = Math.floor((c = n % 36) / 6) / 5 * 255, e = c % 6 / 5 * 255;
|
|
215
|
+
return [s, t, e];
|
|
216
|
+
}, l.rgb.hex = function(n) {
|
|
217
|
+
const s = (((Math.round(n[0]) & 255) << 16) + ((Math.round(n[1]) & 255) << 8) + (Math.round(n[2]) & 255)).toString(16).toUpperCase();
|
|
218
|
+
return "000000".substring(s.length) + s;
|
|
219
|
+
}, l.hex.rgb = function(n) {
|
|
220
|
+
const c = n.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);
|
|
221
|
+
if (!c)
|
|
222
|
+
return [0, 0, 0];
|
|
223
|
+
let s = c[0];
|
|
224
|
+
c[0].length === 3 && (s = s.split("").map((a) => a + a).join(""));
|
|
225
|
+
const t = parseInt(s, 16), e = t >> 16 & 255, o = t >> 8 & 255, r = t & 255;
|
|
226
|
+
return [e, o, r];
|
|
227
|
+
}, l.rgb.hcg = function(n) {
|
|
228
|
+
const c = n[0] / 255, s = n[1] / 255, t = n[2] / 255, e = Math.max(Math.max(c, s), t), o = Math.min(Math.min(c, s), t), r = e - o;
|
|
229
|
+
let a, i;
|
|
230
|
+
return r < 1 ? a = o / (1 - r) : a = 0, r <= 0 ? i = 0 : e === c ? i = (s - t) / r % 6 : e === s ? i = 2 + (t - c) / r : i = 4 + (c - s) / r, i /= 6, i %= 1, [i * 360, r * 100, a * 100];
|
|
231
|
+
}, l.hsl.hcg = function(n) {
|
|
232
|
+
const c = n[1] / 100, s = n[2] / 100, t = s < 0.5 ? 2 * c * s : 2 * c * (1 - s);
|
|
233
|
+
let e = 0;
|
|
234
|
+
return t < 1 && (e = (s - 0.5 * t) / (1 - t)), [n[0], t * 100, e * 100];
|
|
235
|
+
}, l.hsv.hcg = function(n) {
|
|
236
|
+
const c = n[1] / 100, s = n[2] / 100, t = c * s;
|
|
237
|
+
let e = 0;
|
|
238
|
+
return t < 1 && (e = (s - t) / (1 - t)), [n[0], t * 100, e * 100];
|
|
239
|
+
}, l.hcg.rgb = function(n) {
|
|
240
|
+
const c = n[0] / 360, s = n[1] / 100, t = n[2] / 100;
|
|
241
|
+
if (s === 0)
|
|
242
|
+
return [t * 255, t * 255, t * 255];
|
|
243
|
+
const e = [0, 0, 0], o = c % 1 * 6, r = o % 1, a = 1 - r;
|
|
244
|
+
let i = 0;
|
|
245
|
+
switch (Math.floor(o)) {
|
|
246
|
+
case 0:
|
|
247
|
+
e[0] = 1, e[1] = r, e[2] = 0;
|
|
248
|
+
break;
|
|
249
|
+
case 1:
|
|
250
|
+
e[0] = a, e[1] = 1, e[2] = 0;
|
|
251
|
+
break;
|
|
252
|
+
case 2:
|
|
253
|
+
e[0] = 0, e[1] = 1, e[2] = r;
|
|
254
|
+
break;
|
|
255
|
+
case 3:
|
|
256
|
+
e[0] = 0, e[1] = a, e[2] = 1;
|
|
257
|
+
break;
|
|
258
|
+
case 4:
|
|
259
|
+
e[0] = r, e[1] = 0, e[2] = 1;
|
|
260
|
+
break;
|
|
261
|
+
default:
|
|
262
|
+
e[0] = 1, e[1] = 0, e[2] = a;
|
|
263
|
+
}
|
|
264
|
+
return i = (1 - s) * t, [
|
|
265
|
+
(s * e[0] + i) * 255,
|
|
266
|
+
(s * e[1] + i) * 255,
|
|
267
|
+
(s * e[2] + i) * 255
|
|
268
|
+
];
|
|
269
|
+
}, l.hcg.hsv = function(n) {
|
|
270
|
+
const c = n[1] / 100, s = n[2] / 100, t = c + s * (1 - c);
|
|
271
|
+
let e = 0;
|
|
272
|
+
return t > 0 && (e = c / t), [n[0], e * 100, t * 100];
|
|
273
|
+
}, l.hcg.hsl = function(n) {
|
|
274
|
+
const c = n[1] / 100, t = n[2] / 100 * (1 - c) + 0.5 * c;
|
|
275
|
+
let e = 0;
|
|
276
|
+
return t > 0 && t < 0.5 ? e = c / (2 * t) : t >= 0.5 && t < 1 && (e = c / (2 * (1 - t))), [n[0], e * 100, t * 100];
|
|
277
|
+
}, l.hcg.hwb = function(n) {
|
|
278
|
+
const c = n[1] / 100, s = n[2] / 100, t = c + s * (1 - c);
|
|
279
|
+
return [n[0], (t - c) * 100, (1 - t) * 100];
|
|
280
|
+
}, l.hwb.hcg = function(n) {
|
|
281
|
+
const c = n[1] / 100, t = 1 - n[2] / 100, e = t - c;
|
|
282
|
+
let o = 0;
|
|
283
|
+
return e < 1 && (o = (t - e) / (1 - e)), [n[0], e * 100, o * 100];
|
|
284
|
+
}, l.apple.rgb = function(n) {
|
|
285
|
+
return [n[0] / 65535 * 255, n[1] / 65535 * 255, n[2] / 65535 * 255];
|
|
286
|
+
}, l.rgb.apple = function(n) {
|
|
287
|
+
return [n[0] / 255 * 65535, n[1] / 255 * 65535, n[2] / 255 * 65535];
|
|
288
|
+
}, l.gray.rgb = function(n) {
|
|
289
|
+
return [n[0] / 100 * 255, n[0] / 100 * 255, n[0] / 100 * 255];
|
|
290
|
+
}, l.gray.hsl = function(n) {
|
|
291
|
+
return [0, 0, n[0]];
|
|
292
|
+
}, l.gray.hsv = l.gray.hsl, l.gray.hwb = function(n) {
|
|
293
|
+
return [0, 100, n[0]];
|
|
294
|
+
}, l.gray.cmyk = function(n) {
|
|
295
|
+
return [0, 0, 0, n[0]];
|
|
296
|
+
}, l.gray.lab = function(n) {
|
|
297
|
+
return [n[0], 0, 0];
|
|
298
|
+
}, l.gray.hex = function(n) {
|
|
299
|
+
const c = Math.round(n[0] / 100 * 255) & 255, t = ((c << 16) + (c << 8) + c).toString(16).toUpperCase();
|
|
300
|
+
return "000000".substring(t.length) + t;
|
|
301
|
+
}, l.rgb.gray = function(n) {
|
|
302
|
+
return [(n[0] + n[1] + n[2]) / 3 / 255 * 100];
|
|
303
|
+
}, g;
|
|
304
|
+
}
|
|
305
|
+
export {
|
|
306
|
+
k as __require
|
|
307
|
+
};
|
|
308
|
+
//# sourceMappingURL=conversions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conversions.js","sources":["../../../../../../../node_modules/.pnpm/color-convert@2.0.1/node_modules/color-convert/conversions.js"],"sourcesContent":["/* MIT license */\n/* eslint-disable no-mixed-operators */\nconst cssKeywords = require('color-name');\n\n// NOTE: conversions should only return primitive values (i.e. arrays, or\n// values that give correct `typeof` results).\n// do not use box values types (i.e. Number(), String(), etc.)\n\nconst reverseKeywords = {};\nfor (const key of Object.keys(cssKeywords)) {\n\treverseKeywords[cssKeywords[key]] = key;\n}\n\nconst convert = {\n\trgb: {channels: 3, labels: 'rgb'},\n\thsl: {channels: 3, labels: 'hsl'},\n\thsv: {channels: 3, labels: 'hsv'},\n\thwb: {channels: 3, labels: 'hwb'},\n\tcmyk: {channels: 4, labels: 'cmyk'},\n\txyz: {channels: 3, labels: 'xyz'},\n\tlab: {channels: 3, labels: 'lab'},\n\tlch: {channels: 3, labels: 'lch'},\n\thex: {channels: 1, labels: ['hex']},\n\tkeyword: {channels: 1, labels: ['keyword']},\n\tansi16: {channels: 1, labels: ['ansi16']},\n\tansi256: {channels: 1, labels: ['ansi256']},\n\thcg: {channels: 3, labels: ['h', 'c', 'g']},\n\tapple: {channels: 3, labels: ['r16', 'g16', 'b16']},\n\tgray: {channels: 1, labels: ['gray']}\n};\n\nmodule.exports = convert;\n\n// Hide .channels and .labels properties\nfor (const model of Object.keys(convert)) {\n\tif (!('channels' in convert[model])) {\n\t\tthrow new Error('missing channels property: ' + model);\n\t}\n\n\tif (!('labels' in convert[model])) {\n\t\tthrow new Error('missing channel labels property: ' + model);\n\t}\n\n\tif (convert[model].labels.length !== convert[model].channels) {\n\t\tthrow new Error('channel and label counts mismatch: ' + model);\n\t}\n\n\tconst {channels, labels} = convert[model];\n\tdelete convert[model].channels;\n\tdelete convert[model].labels;\n\tObject.defineProperty(convert[model], 'channels', {value: channels});\n\tObject.defineProperty(convert[model], 'labels', {value: labels});\n}\n\nconvert.rgb.hsl = function (rgb) {\n\tconst r = rgb[0] / 255;\n\tconst g = rgb[1] / 255;\n\tconst b = rgb[2] / 255;\n\tconst min = Math.min(r, g, b);\n\tconst max = Math.max(r, g, b);\n\tconst delta = max - min;\n\tlet h;\n\tlet s;\n\n\tif (max === min) {\n\t\th = 0;\n\t} else if (r === max) {\n\t\th = (g - b) / delta;\n\t} else if (g === max) {\n\t\th = 2 + (b - r) / delta;\n\t} else if (b === max) {\n\t\th = 4 + (r - g) / delta;\n\t}\n\n\th = Math.min(h * 60, 360);\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tconst l = (min + max) / 2;\n\n\tif (max === min) {\n\t\ts = 0;\n\t} else if (l <= 0.5) {\n\t\ts = delta / (max + min);\n\t} else {\n\t\ts = delta / (2 - max - min);\n\t}\n\n\treturn [h, s * 100, l * 100];\n};\n\nconvert.rgb.hsv = function (rgb) {\n\tlet rdif;\n\tlet gdif;\n\tlet bdif;\n\tlet h;\n\tlet s;\n\n\tconst r = rgb[0] / 255;\n\tconst g = rgb[1] / 255;\n\tconst b = rgb[2] / 255;\n\tconst v = Math.max(r, g, b);\n\tconst diff = v - Math.min(r, g, b);\n\tconst diffc = function (c) {\n\t\treturn (v - c) / 6 / diff + 1 / 2;\n\t};\n\n\tif (diff === 0) {\n\t\th = 0;\n\t\ts = 0;\n\t} else {\n\t\ts = diff / v;\n\t\trdif = diffc(r);\n\t\tgdif = diffc(g);\n\t\tbdif = diffc(b);\n\n\t\tif (r === v) {\n\t\t\th = bdif - gdif;\n\t\t} else if (g === v) {\n\t\t\th = (1 / 3) + rdif - bdif;\n\t\t} else if (b === v) {\n\t\t\th = (2 / 3) + gdif - rdif;\n\t\t}\n\n\t\tif (h < 0) {\n\t\t\th += 1;\n\t\t} else if (h > 1) {\n\t\t\th -= 1;\n\t\t}\n\t}\n\n\treturn [\n\t\th * 360,\n\t\ts * 100,\n\t\tv * 100\n\t];\n};\n\nconvert.rgb.hwb = function (rgb) {\n\tconst r = rgb[0];\n\tconst g = rgb[1];\n\tlet b = rgb[2];\n\tconst h = convert.rgb.hsl(rgb)[0];\n\tconst w = 1 / 255 * Math.min(r, Math.min(g, b));\n\n\tb = 1 - 1 / 255 * Math.max(r, Math.max(g, b));\n\n\treturn [h, w * 100, b * 100];\n};\n\nconvert.rgb.cmyk = function (rgb) {\n\tconst r = rgb[0] / 255;\n\tconst g = rgb[1] / 255;\n\tconst b = rgb[2] / 255;\n\n\tconst k = Math.min(1 - r, 1 - g, 1 - b);\n\tconst c = (1 - r - k) / (1 - k) || 0;\n\tconst m = (1 - g - k) / (1 - k) || 0;\n\tconst y = (1 - b - k) / (1 - k) || 0;\n\n\treturn [c * 100, m * 100, y * 100, k * 100];\n};\n\nfunction comparativeDistance(x, y) {\n\t/*\n\t\tSee https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance\n\t*/\n\treturn (\n\t\t((x[0] - y[0]) ** 2) +\n\t\t((x[1] - y[1]) ** 2) +\n\t\t((x[2] - y[2]) ** 2)\n\t);\n}\n\nconvert.rgb.keyword = function (rgb) {\n\tconst reversed = reverseKeywords[rgb];\n\tif (reversed) {\n\t\treturn reversed;\n\t}\n\n\tlet currentClosestDistance = Infinity;\n\tlet currentClosestKeyword;\n\n\tfor (const keyword of Object.keys(cssKeywords)) {\n\t\tconst value = cssKeywords[keyword];\n\n\t\t// Compute comparative distance\n\t\tconst distance = comparativeDistance(rgb, value);\n\n\t\t// Check if its less, if so set as closest\n\t\tif (distance < currentClosestDistance) {\n\t\t\tcurrentClosestDistance = distance;\n\t\t\tcurrentClosestKeyword = keyword;\n\t\t}\n\t}\n\n\treturn currentClosestKeyword;\n};\n\nconvert.keyword.rgb = function (keyword) {\n\treturn cssKeywords[keyword];\n};\n\nconvert.rgb.xyz = function (rgb) {\n\tlet r = rgb[0] / 255;\n\tlet g = rgb[1] / 255;\n\tlet b = rgb[2] / 255;\n\n\t// Assume sRGB\n\tr = r > 0.04045 ? (((r + 0.055) / 1.055) ** 2.4) : (r / 12.92);\n\tg = g > 0.04045 ? (((g + 0.055) / 1.055) ** 2.4) : (g / 12.92);\n\tb = b > 0.04045 ? (((b + 0.055) / 1.055) ** 2.4) : (b / 12.92);\n\n\tconst x = (r * 0.4124) + (g * 0.3576) + (b * 0.1805);\n\tconst y = (r * 0.2126) + (g * 0.7152) + (b * 0.0722);\n\tconst z = (r * 0.0193) + (g * 0.1192) + (b * 0.9505);\n\n\treturn [x * 100, y * 100, z * 100];\n};\n\nconvert.rgb.lab = function (rgb) {\n\tconst xyz = convert.rgb.xyz(rgb);\n\tlet x = xyz[0];\n\tlet y = xyz[1];\n\tlet z = xyz[2];\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? (x ** (1 / 3)) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? (y ** (1 / 3)) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? (z ** (1 / 3)) : (7.787 * z) + (16 / 116);\n\n\tconst l = (116 * y) - 16;\n\tconst a = 500 * (x - y);\n\tconst b = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.hsl.rgb = function (hsl) {\n\tconst h = hsl[0] / 360;\n\tconst s = hsl[1] / 100;\n\tconst l = hsl[2] / 100;\n\tlet t2;\n\tlet t3;\n\tlet val;\n\n\tif (s === 0) {\n\t\tval = l * 255;\n\t\treturn [val, val, val];\n\t}\n\n\tif (l < 0.5) {\n\t\tt2 = l * (1 + s);\n\t} else {\n\t\tt2 = l + s - l * s;\n\t}\n\n\tconst t1 = 2 * l - t2;\n\n\tconst rgb = [0, 0, 0];\n\tfor (let i = 0; i < 3; i++) {\n\t\tt3 = h + 1 / 3 * -(i - 1);\n\t\tif (t3 < 0) {\n\t\t\tt3++;\n\t\t}\n\n\t\tif (t3 > 1) {\n\t\t\tt3--;\n\t\t}\n\n\t\tif (6 * t3 < 1) {\n\t\t\tval = t1 + (t2 - t1) * 6 * t3;\n\t\t} else if (2 * t3 < 1) {\n\t\t\tval = t2;\n\t\t} else if (3 * t3 < 2) {\n\t\t\tval = t1 + (t2 - t1) * (2 / 3 - t3) * 6;\n\t\t} else {\n\t\t\tval = t1;\n\t\t}\n\n\t\trgb[i] = val * 255;\n\t}\n\n\treturn rgb;\n};\n\nconvert.hsl.hsv = function (hsl) {\n\tconst h = hsl[0];\n\tlet s = hsl[1] / 100;\n\tlet l = hsl[2] / 100;\n\tlet smin = s;\n\tconst lmin = Math.max(l, 0.01);\n\n\tl *= 2;\n\ts *= (l <= 1) ? l : 2 - l;\n\tsmin *= lmin <= 1 ? lmin : 2 - lmin;\n\tconst v = (l + s) / 2;\n\tconst sv = l === 0 ? (2 * smin) / (lmin + smin) : (2 * s) / (l + s);\n\n\treturn [h, sv * 100, v * 100];\n};\n\nconvert.hsv.rgb = function (hsv) {\n\tconst h = hsv[0] / 60;\n\tconst s = hsv[1] / 100;\n\tlet v = hsv[2] / 100;\n\tconst hi = Math.floor(h) % 6;\n\n\tconst f = h - Math.floor(h);\n\tconst p = 255 * v * (1 - s);\n\tconst q = 255 * v * (1 - (s * f));\n\tconst t = 255 * v * (1 - (s * (1 - f)));\n\tv *= 255;\n\n\tswitch (hi) {\n\t\tcase 0:\n\t\t\treturn [v, t, p];\n\t\tcase 1:\n\t\t\treturn [q, v, p];\n\t\tcase 2:\n\t\t\treturn [p, v, t];\n\t\tcase 3:\n\t\t\treturn [p, q, v];\n\t\tcase 4:\n\t\t\treturn [t, p, v];\n\t\tcase 5:\n\t\t\treturn [v, p, q];\n\t}\n};\n\nconvert.hsv.hsl = function (hsv) {\n\tconst h = hsv[0];\n\tconst s = hsv[1] / 100;\n\tconst v = hsv[2] / 100;\n\tconst vmin = Math.max(v, 0.01);\n\tlet sl;\n\tlet l;\n\n\tl = (2 - s) * v;\n\tconst lmin = (2 - s) * vmin;\n\tsl = s * vmin;\n\tsl /= (lmin <= 1) ? lmin : 2 - lmin;\n\tsl = sl || 0;\n\tl /= 2;\n\n\treturn [h, sl * 100, l * 100];\n};\n\n// http://dev.w3.org/csswg/css-color/#hwb-to-rgb\nconvert.hwb.rgb = function (hwb) {\n\tconst h = hwb[0] / 360;\n\tlet wh = hwb[1] / 100;\n\tlet bl = hwb[2] / 100;\n\tconst ratio = wh + bl;\n\tlet f;\n\n\t// Wh + bl cant be > 1\n\tif (ratio > 1) {\n\t\twh /= ratio;\n\t\tbl /= ratio;\n\t}\n\n\tconst i = Math.floor(6 * h);\n\tconst v = 1 - bl;\n\tf = 6 * h - i;\n\n\tif ((i & 0x01) !== 0) {\n\t\tf = 1 - f;\n\t}\n\n\tconst n = wh + f * (v - wh); // Linear interpolation\n\n\tlet r;\n\tlet g;\n\tlet b;\n\t/* eslint-disable max-statements-per-line,no-multi-spaces */\n\tswitch (i) {\n\t\tdefault:\n\t\tcase 6:\n\t\tcase 0: r = v; g = n; b = wh; break;\n\t\tcase 1: r = n; g = v; b = wh; break;\n\t\tcase 2: r = wh; g = v; b = n; break;\n\t\tcase 3: r = wh; g = n; b = v; break;\n\t\tcase 4: r = n; g = wh; b = v; break;\n\t\tcase 5: r = v; g = wh; b = n; break;\n\t}\n\t/* eslint-enable max-statements-per-line,no-multi-spaces */\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.cmyk.rgb = function (cmyk) {\n\tconst c = cmyk[0] / 100;\n\tconst m = cmyk[1] / 100;\n\tconst y = cmyk[2] / 100;\n\tconst k = cmyk[3] / 100;\n\n\tconst r = 1 - Math.min(1, c * (1 - k) + k);\n\tconst g = 1 - Math.min(1, m * (1 - k) + k);\n\tconst b = 1 - Math.min(1, y * (1 - k) + k);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.rgb = function (xyz) {\n\tconst x = xyz[0] / 100;\n\tconst y = xyz[1] / 100;\n\tconst z = xyz[2] / 100;\n\tlet r;\n\tlet g;\n\tlet b;\n\n\tr = (x * 3.2406) + (y * -1.5372) + (z * -0.4986);\n\tg = (x * -0.9689) + (y * 1.8758) + (z * 0.0415);\n\tb = (x * 0.0557) + (y * -0.2040) + (z * 1.0570);\n\n\t// Assume sRGB\n\tr = r > 0.0031308\n\t\t? ((1.055 * (r ** (1.0 / 2.4))) - 0.055)\n\t\t: r * 12.92;\n\n\tg = g > 0.0031308\n\t\t? ((1.055 * (g ** (1.0 / 2.4))) - 0.055)\n\t\t: g * 12.92;\n\n\tb = b > 0.0031308\n\t\t? ((1.055 * (b ** (1.0 / 2.4))) - 0.055)\n\t\t: b * 12.92;\n\n\tr = Math.min(Math.max(0, r), 1);\n\tg = Math.min(Math.max(0, g), 1);\n\tb = Math.min(Math.max(0, b), 1);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.lab = function (xyz) {\n\tlet x = xyz[0];\n\tlet y = xyz[1];\n\tlet z = xyz[2];\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? (x ** (1 / 3)) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? (y ** (1 / 3)) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? (z ** (1 / 3)) : (7.787 * z) + (16 / 116);\n\n\tconst l = (116 * y) - 16;\n\tconst a = 500 * (x - y);\n\tconst b = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.lab.xyz = function (lab) {\n\tconst l = lab[0];\n\tconst a = lab[1];\n\tconst b = lab[2];\n\tlet x;\n\tlet y;\n\tlet z;\n\n\ty = (l + 16) / 116;\n\tx = a / 500 + y;\n\tz = y - b / 200;\n\n\tconst y2 = y ** 3;\n\tconst x2 = x ** 3;\n\tconst z2 = z ** 3;\n\ty = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787;\n\tx = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787;\n\tz = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787;\n\n\tx *= 95.047;\n\ty *= 100;\n\tz *= 108.883;\n\n\treturn [x, y, z];\n};\n\nconvert.lab.lch = function (lab) {\n\tconst l = lab[0];\n\tconst a = lab[1];\n\tconst b = lab[2];\n\tlet h;\n\n\tconst hr = Math.atan2(b, a);\n\th = hr * 360 / 2 / Math.PI;\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tconst c = Math.sqrt(a * a + b * b);\n\n\treturn [l, c, h];\n};\n\nconvert.lch.lab = function (lch) {\n\tconst l = lch[0];\n\tconst c = lch[1];\n\tconst h = lch[2];\n\n\tconst hr = h / 360 * 2 * Math.PI;\n\tconst a = c * Math.cos(hr);\n\tconst b = c * Math.sin(hr);\n\n\treturn [l, a, b];\n};\n\nconvert.rgb.ansi16 = function (args, saturation = null) {\n\tconst [r, g, b] = args;\n\tlet value = saturation === null ? convert.rgb.hsv(args)[2] : saturation; // Hsv -> ansi16 optimization\n\n\tvalue = Math.round(value / 50);\n\n\tif (value === 0) {\n\t\treturn 30;\n\t}\n\n\tlet ansi = 30\n\t\t+ ((Math.round(b / 255) << 2)\n\t\t| (Math.round(g / 255) << 1)\n\t\t| Math.round(r / 255));\n\n\tif (value === 2) {\n\t\tansi += 60;\n\t}\n\n\treturn ansi;\n};\n\nconvert.hsv.ansi16 = function (args) {\n\t// Optimization here; we already know the value and don't need to get\n\t// it converted for us.\n\treturn convert.rgb.ansi16(convert.hsv.rgb(args), args[2]);\n};\n\nconvert.rgb.ansi256 = function (args) {\n\tconst r = args[0];\n\tconst g = args[1];\n\tconst b = args[2];\n\n\t// We use the extended greyscale palette here, with the exception of\n\t// black and white. normal palette only has 4 greyscale shades.\n\tif (r === g && g === b) {\n\t\tif (r < 8) {\n\t\t\treturn 16;\n\t\t}\n\n\t\tif (r > 248) {\n\t\t\treturn 231;\n\t\t}\n\n\t\treturn Math.round(((r - 8) / 247) * 24) + 232;\n\t}\n\n\tconst ansi = 16\n\t\t+ (36 * Math.round(r / 255 * 5))\n\t\t+ (6 * Math.round(g / 255 * 5))\n\t\t+ Math.round(b / 255 * 5);\n\n\treturn ansi;\n};\n\nconvert.ansi16.rgb = function (args) {\n\tlet color = args % 10;\n\n\t// Handle greyscale\n\tif (color === 0 || color === 7) {\n\t\tif (args > 50) {\n\t\t\tcolor += 3.5;\n\t\t}\n\n\t\tcolor = color / 10.5 * 255;\n\n\t\treturn [color, color, color];\n\t}\n\n\tconst mult = (~~(args > 50) + 1) * 0.5;\n\tconst r = ((color & 1) * mult) * 255;\n\tconst g = (((color >> 1) & 1) * mult) * 255;\n\tconst b = (((color >> 2) & 1) * mult) * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.ansi256.rgb = function (args) {\n\t// Handle greyscale\n\tif (args >= 232) {\n\t\tconst c = (args - 232) * 10 + 8;\n\t\treturn [c, c, c];\n\t}\n\n\targs -= 16;\n\n\tlet rem;\n\tconst r = Math.floor(args / 36) / 5 * 255;\n\tconst g = Math.floor((rem = args % 36) / 6) / 5 * 255;\n\tconst b = (rem % 6) / 5 * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hex = function (args) {\n\tconst integer = ((Math.round(args[0]) & 0xFF) << 16)\n\t\t+ ((Math.round(args[1]) & 0xFF) << 8)\n\t\t+ (Math.round(args[2]) & 0xFF);\n\n\tconst string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.hex.rgb = function (args) {\n\tconst match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);\n\tif (!match) {\n\t\treturn [0, 0, 0];\n\t}\n\n\tlet colorString = match[0];\n\n\tif (match[0].length === 3) {\n\t\tcolorString = colorString.split('').map(char => {\n\t\t\treturn char + char;\n\t\t}).join('');\n\t}\n\n\tconst integer = parseInt(colorString, 16);\n\tconst r = (integer >> 16) & 0xFF;\n\tconst g = (integer >> 8) & 0xFF;\n\tconst b = integer & 0xFF;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hcg = function (rgb) {\n\tconst r = rgb[0] / 255;\n\tconst g = rgb[1] / 255;\n\tconst b = rgb[2] / 255;\n\tconst max = Math.max(Math.max(r, g), b);\n\tconst min = Math.min(Math.min(r, g), b);\n\tconst chroma = (max - min);\n\tlet grayscale;\n\tlet hue;\n\n\tif (chroma < 1) {\n\t\tgrayscale = min / (1 - chroma);\n\t} else {\n\t\tgrayscale = 0;\n\t}\n\n\tif (chroma <= 0) {\n\t\thue = 0;\n\t} else\n\tif (max === r) {\n\t\thue = ((g - b) / chroma) % 6;\n\t} else\n\tif (max === g) {\n\t\thue = 2 + (b - r) / chroma;\n\t} else {\n\t\thue = 4 + (r - g) / chroma;\n\t}\n\n\thue /= 6;\n\thue %= 1;\n\n\treturn [hue * 360, chroma * 100, grayscale * 100];\n};\n\nconvert.hsl.hcg = function (hsl) {\n\tconst s = hsl[1] / 100;\n\tconst l = hsl[2] / 100;\n\n\tconst c = l < 0.5 ? (2.0 * s * l) : (2.0 * s * (1.0 - l));\n\n\tlet f = 0;\n\tif (c < 1.0) {\n\t\tf = (l - 0.5 * c) / (1.0 - c);\n\t}\n\n\treturn [hsl[0], c * 100, f * 100];\n};\n\nconvert.hsv.hcg = function (hsv) {\n\tconst s = hsv[1] / 100;\n\tconst v = hsv[2] / 100;\n\n\tconst c = s * v;\n\tlet f = 0;\n\n\tif (c < 1.0) {\n\t\tf = (v - c) / (1 - c);\n\t}\n\n\treturn [hsv[0], c * 100, f * 100];\n};\n\nconvert.hcg.rgb = function (hcg) {\n\tconst h = hcg[0] / 360;\n\tconst c = hcg[1] / 100;\n\tconst g = hcg[2] / 100;\n\n\tif (c === 0.0) {\n\t\treturn [g * 255, g * 255, g * 255];\n\t}\n\n\tconst pure = [0, 0, 0];\n\tconst hi = (h % 1) * 6;\n\tconst v = hi % 1;\n\tconst w = 1 - v;\n\tlet mg = 0;\n\n\t/* eslint-disable max-statements-per-line */\n\tswitch (Math.floor(hi)) {\n\t\tcase 0:\n\t\t\tpure[0] = 1; pure[1] = v; pure[2] = 0; break;\n\t\tcase 1:\n\t\t\tpure[0] = w; pure[1] = 1; pure[2] = 0; break;\n\t\tcase 2:\n\t\t\tpure[0] = 0; pure[1] = 1; pure[2] = v; break;\n\t\tcase 3:\n\t\t\tpure[0] = 0; pure[1] = w; pure[2] = 1; break;\n\t\tcase 4:\n\t\t\tpure[0] = v; pure[1] = 0; pure[2] = 1; break;\n\t\tdefault:\n\t\t\tpure[0] = 1; pure[1] = 0; pure[2] = w;\n\t}\n\t/* eslint-enable max-statements-per-line */\n\n\tmg = (1.0 - c) * g;\n\n\treturn [\n\t\t(c * pure[0] + mg) * 255,\n\t\t(c * pure[1] + mg) * 255,\n\t\t(c * pure[2] + mg) * 255\n\t];\n};\n\nconvert.hcg.hsv = function (hcg) {\n\tconst c = hcg[1] / 100;\n\tconst g = hcg[2] / 100;\n\n\tconst v = c + g * (1.0 - c);\n\tlet f = 0;\n\n\tif (v > 0.0) {\n\t\tf = c / v;\n\t}\n\n\treturn [hcg[0], f * 100, v * 100];\n};\n\nconvert.hcg.hsl = function (hcg) {\n\tconst c = hcg[1] / 100;\n\tconst g = hcg[2] / 100;\n\n\tconst l = g * (1.0 - c) + 0.5 * c;\n\tlet s = 0;\n\n\tif (l > 0.0 && l < 0.5) {\n\t\ts = c / (2 * l);\n\t} else\n\tif (l >= 0.5 && l < 1.0) {\n\t\ts = c / (2 * (1 - l));\n\t}\n\n\treturn [hcg[0], s * 100, l * 100];\n};\n\nconvert.hcg.hwb = function (hcg) {\n\tconst c = hcg[1] / 100;\n\tconst g = hcg[2] / 100;\n\tconst v = c + g * (1.0 - c);\n\treturn [hcg[0], (v - c) * 100, (1 - v) * 100];\n};\n\nconvert.hwb.hcg = function (hwb) {\n\tconst w = hwb[1] / 100;\n\tconst b = hwb[2] / 100;\n\tconst v = 1 - b;\n\tconst c = v - w;\n\tlet g = 0;\n\n\tif (c < 1) {\n\t\tg = (v - c) / (1 - c);\n\t}\n\n\treturn [hwb[0], c * 100, g * 100];\n};\n\nconvert.apple.rgb = function (apple) {\n\treturn [(apple[0] / 65535) * 255, (apple[1] / 65535) * 255, (apple[2] / 65535) * 255];\n};\n\nconvert.rgb.apple = function (rgb) {\n\treturn [(rgb[0] / 255) * 65535, (rgb[1] / 255) * 65535, (rgb[2] / 255) * 65535];\n};\n\nconvert.gray.rgb = function (args) {\n\treturn [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255];\n};\n\nconvert.gray.hsl = function (args) {\n\treturn [0, 0, args[0]];\n};\n\nconvert.gray.hsv = convert.gray.hsl;\n\nconvert.gray.hwb = function (gray) {\n\treturn [0, 100, gray[0]];\n};\n\nconvert.gray.cmyk = function (gray) {\n\treturn [0, 0, 0, gray[0]];\n};\n\nconvert.gray.lab = function (gray) {\n\treturn [gray[0], 0, 0];\n};\n\nconvert.gray.hex = function (gray) {\n\tconst val = Math.round(gray[0] / 100 * 255) & 0xFF;\n\tconst integer = (val << 16) + (val << 8) + val;\n\n\tconst string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.rgb.gray = function (rgb) {\n\tconst val = (rgb[0] + rgb[1] + rgb[2]) / 3;\n\treturn [val / 255 * 100];\n};\n"],"names":["cssKeywords","require$$0","reverseKeywords","key","convert","conversions","model","channels","labels","rgb","r","g","b","min","max","delta","h","s","l","rdif","gdif","bdif","v","diff","diffc","c","w","k","m","y","comparativeDistance","x","reversed","currentClosestDistance","currentClosestKeyword","keyword","value","distance","z","xyz","a","hsl","t2","t3","val","t1","i","smin","lmin","sv","hsv","hi","f","p","q","t","vmin","sl","hwb","wh","bl","ratio","n","cmyk","lab","y2","x2","z2","lch","hr","args","saturation","ansi","color","mult","rem","string","match","colorString","char","integer","chroma","grayscale","hue","hcg","pure","mg","apple","gray"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { __require as b } from "./conversions.js";
|
|
2
|
+
import { __require as q } from "./route.js";
|
|
3
|
+
var s, a;
|
|
4
|
+
function C() {
|
|
5
|
+
if (a) return s;
|
|
6
|
+
a = 1;
|
|
7
|
+
const u = b(), v = q(), i = {}, l = Object.keys(u);
|
|
8
|
+
function f(n) {
|
|
9
|
+
const r = function(...t) {
|
|
10
|
+
const e = t[0];
|
|
11
|
+
return e == null ? e : (e.length > 1 && (t = e), n(t));
|
|
12
|
+
};
|
|
13
|
+
return "conversion" in n && (r.conversion = n.conversion), r;
|
|
14
|
+
}
|
|
15
|
+
function p(n) {
|
|
16
|
+
const r = function(...t) {
|
|
17
|
+
const e = t[0];
|
|
18
|
+
if (e == null)
|
|
19
|
+
return e;
|
|
20
|
+
e.length > 1 && (t = e);
|
|
21
|
+
const o = n(t);
|
|
22
|
+
if (typeof o == "object")
|
|
23
|
+
for (let h = o.length, c = 0; c < h; c++)
|
|
24
|
+
o[c] = Math.round(o[c]);
|
|
25
|
+
return o;
|
|
26
|
+
};
|
|
27
|
+
return "conversion" in n && (r.conversion = n.conversion), r;
|
|
28
|
+
}
|
|
29
|
+
return l.forEach((n) => {
|
|
30
|
+
i[n] = {}, Object.defineProperty(i[n], "channels", { value: u[n].channels }), Object.defineProperty(i[n], "labels", { value: u[n].labels });
|
|
31
|
+
const r = v(n);
|
|
32
|
+
Object.keys(r).forEach((e) => {
|
|
33
|
+
const o = r[e];
|
|
34
|
+
i[n][e] = p(o), i[n][e].raw = f(o);
|
|
35
|
+
});
|
|
36
|
+
}), s = i, s;
|
|
37
|
+
}
|
|
38
|
+
export {
|
|
39
|
+
C as __require
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../../node_modules/.pnpm/color-convert@2.0.1/node_modules/color-convert/index.js"],"sourcesContent":["const conversions = require('./conversions');\nconst route = require('./route');\n\nconst convert = {};\n\nconst models = Object.keys(conversions);\n\nfunction wrapRaw(fn) {\n\tconst wrappedFn = function (...args) {\n\t\tconst arg0 = args[0];\n\t\tif (arg0 === undefined || arg0 === null) {\n\t\t\treturn arg0;\n\t\t}\n\n\t\tif (arg0.length > 1) {\n\t\t\targs = arg0;\n\t\t}\n\n\t\treturn fn(args);\n\t};\n\n\t// Preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nfunction wrapRounded(fn) {\n\tconst wrappedFn = function (...args) {\n\t\tconst arg0 = args[0];\n\n\t\tif (arg0 === undefined || arg0 === null) {\n\t\t\treturn arg0;\n\t\t}\n\n\t\tif (arg0.length > 1) {\n\t\t\targs = arg0;\n\t\t}\n\n\t\tconst result = fn(args);\n\n\t\t// We're assuming the result is an array here.\n\t\t// see notice in conversions.js; don't use box types\n\t\t// in conversion functions.\n\t\tif (typeof result === 'object') {\n\t\t\tfor (let len = result.length, i = 0; i < len; i++) {\n\t\t\t\tresult[i] = Math.round(result[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t};\n\n\t// Preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nmodels.forEach(fromModel => {\n\tconvert[fromModel] = {};\n\n\tObject.defineProperty(convert[fromModel], 'channels', {value: conversions[fromModel].channels});\n\tObject.defineProperty(convert[fromModel], 'labels', {value: conversions[fromModel].labels});\n\n\tconst routes = route(fromModel);\n\tconst routeModels = Object.keys(routes);\n\n\trouteModels.forEach(toModel => {\n\t\tconst fn = routes[toModel];\n\n\t\tconvert[fromModel][toModel] = wrapRounded(fn);\n\t\tconvert[fromModel][toModel].raw = wrapRaw(fn);\n\t});\n});\n\nmodule.exports = convert;\n"],"names":["conversions","require$$0","route","require$$1","convert","models","wrapRaw","fn","wrappedFn","args","arg0","wrapRounded","result","len","i","fromModel","routes","toModel","colorConvert"],"mappings":";;;;;;AAAA,QAAMA,IAAcC,EAAwB,GACtCC,IAAQC,EAAkB,GAE1BC,IAAU,CAAE,GAEZC,IAAS,OAAO,KAAKL,CAAW;AAEtC,WAASM,EAAQC,GAAI;AACpB,UAAMC,IAAY,YAAaC,GAAM;AACpC,YAAMC,IAAOD,EAAK,CAAC;AACnB,aAA0BC,KAAS,OAC3BA,KAGJA,EAAK,SAAS,MACjBD,IAAOC,IAGDH,EAAGE,CAAI;AAAA,IACd;AAGD,WAAI,gBAAgBF,MACnBC,EAAU,aAAaD,EAAG,aAGpBC;AAAA,EACR;AAEA,WAASG,EAAYJ,GAAI;AACxB,UAAMC,IAAY,YAAaC,GAAM;AACpC,YAAMC,IAAOD,EAAK,CAAC;AAEnB,UAA0BC,KAAS;AAClC,eAAOA;AAGR,MAAIA,EAAK,SAAS,MACjBD,IAAOC;AAGR,YAAME,IAASL,EAAGE,CAAI;AAKtB,UAAI,OAAOG,KAAW;AACrB,iBAASC,IAAMD,EAAO,QAAQE,IAAI,GAAGA,IAAID,GAAKC;AAC7C,UAAAF,EAAOE,CAAC,IAAI,KAAK,MAAMF,EAAOE,CAAC,CAAC;AAIlC,aAAOF;AAAA,IACP;AAGD,WAAI,gBAAgBL,MACnBC,EAAU,aAAaD,EAAG,aAGpBC;AAAA,EACR;AAEA,SAAAH,EAAO,QAAQ,CAAAU,MAAa;AAC3B,IAAAX,EAAQW,CAAS,IAAI,CAAE,GAEvB,OAAO,eAAeX,EAAQW,CAAS,GAAG,YAAY,EAAC,OAAOf,EAAYe,CAAS,EAAE,SAAQ,CAAC,GAC9F,OAAO,eAAeX,EAAQW,CAAS,GAAG,UAAU,EAAC,OAAOf,EAAYe,CAAS,EAAE,OAAM,CAAC;AAE1F,UAAMC,IAASd,EAAMa,CAAS;AAG9B,IAFoB,OAAO,KAAKC,CAAM,EAE1B,QAAQ,CAAAC,MAAW;AAC9B,YAAMV,IAAKS,EAAOC,CAAO;AAEzB,MAAAb,EAAQW,CAAS,EAAEE,CAAO,IAAIN,EAAYJ,CAAE,GAC5CH,EAAQW,CAAS,EAAEE,CAAO,EAAE,MAAMX,EAAQC,CAAE;AAAA,IAC9C,CAAE;AAAA,EACF,CAAC,GAEDW,IAAiBd;;","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { __require as q } from "./conversions.js";
|
|
2
|
+
var l, f;
|
|
3
|
+
function b() {
|
|
4
|
+
if (f) return l;
|
|
5
|
+
f = 1;
|
|
6
|
+
const i = q();
|
|
7
|
+
function p() {
|
|
8
|
+
const e = {}, n = Object.keys(i);
|
|
9
|
+
for (let r = n.length, t = 0; t < r; t++)
|
|
10
|
+
e[n[t]] = {
|
|
11
|
+
// http://jsperf.com/1-vs-infinity
|
|
12
|
+
// micro-opt, but this is simple.
|
|
13
|
+
distance: -1,
|
|
14
|
+
parent: null
|
|
15
|
+
};
|
|
16
|
+
return e;
|
|
17
|
+
}
|
|
18
|
+
function d(e) {
|
|
19
|
+
const n = p(), r = [e];
|
|
20
|
+
for (n[e].distance = 0; r.length; ) {
|
|
21
|
+
const t = r.pop(), o = Object.keys(i[t]);
|
|
22
|
+
for (let s = o.length, c = 0; c < s; c++) {
|
|
23
|
+
const u = o[c], a = n[u];
|
|
24
|
+
a.distance === -1 && (a.distance = n[t].distance + 1, a.parent = t, r.unshift(u));
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return n;
|
|
28
|
+
}
|
|
29
|
+
function h(e, n) {
|
|
30
|
+
return function(r) {
|
|
31
|
+
return n(e(r));
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
function v(e, n) {
|
|
35
|
+
const r = [n[e].parent, e];
|
|
36
|
+
let t = i[n[e].parent][e], o = n[e].parent;
|
|
37
|
+
for (; n[o].parent; )
|
|
38
|
+
r.unshift(n[o].parent), t = h(i[n[o].parent][o], t), o = n[o].parent;
|
|
39
|
+
return t.conversion = r, t;
|
|
40
|
+
}
|
|
41
|
+
return l = function(e) {
|
|
42
|
+
const n = d(e), r = {}, t = Object.keys(n);
|
|
43
|
+
for (let o = t.length, s = 0; s < o; s++) {
|
|
44
|
+
const c = t[s];
|
|
45
|
+
n[c].parent !== null && (r[c] = v(c, n));
|
|
46
|
+
}
|
|
47
|
+
return r;
|
|
48
|
+
}, l;
|
|
49
|
+
}
|
|
50
|
+
export {
|
|
51
|
+
b as __require
|
|
52
|
+
};
|
|
53
|
+
//# sourceMappingURL=route.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"route.js","sources":["../../../../../../../node_modules/.pnpm/color-convert@2.0.1/node_modules/color-convert/route.js"],"sourcesContent":["const conversions = require('./conversions');\n\n/*\n\tThis function routes a model to all other models.\n\n\tall functions that are routed have a property `.conversion` attached\n\tto the returned synthetic function. This property is an array\n\tof strings, each with the steps in between the 'from' and 'to'\n\tcolor models (inclusive).\n\n\tconversions that are not possible simply are not included.\n*/\n\nfunction buildGraph() {\n\tconst graph = {};\n\t// https://jsperf.com/object-keys-vs-for-in-with-closure/3\n\tconst models = Object.keys(conversions);\n\n\tfor (let len = models.length, i = 0; i < len; i++) {\n\t\tgraph[models[i]] = {\n\t\t\t// http://jsperf.com/1-vs-infinity\n\t\t\t// micro-opt, but this is simple.\n\t\t\tdistance: -1,\n\t\t\tparent: null\n\t\t};\n\t}\n\n\treturn graph;\n}\n\n// https://en.wikipedia.org/wiki/Breadth-first_search\nfunction deriveBFS(fromModel) {\n\tconst graph = buildGraph();\n\tconst queue = [fromModel]; // Unshift -> queue -> pop\n\n\tgraph[fromModel].distance = 0;\n\n\twhile (queue.length) {\n\t\tconst current = queue.pop();\n\t\tconst adjacents = Object.keys(conversions[current]);\n\n\t\tfor (let len = adjacents.length, i = 0; i < len; i++) {\n\t\t\tconst adjacent = adjacents[i];\n\t\t\tconst node = graph[adjacent];\n\n\t\t\tif (node.distance === -1) {\n\t\t\t\tnode.distance = graph[current].distance + 1;\n\t\t\t\tnode.parent = current;\n\t\t\t\tqueue.unshift(adjacent);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn graph;\n}\n\nfunction link(from, to) {\n\treturn function (args) {\n\t\treturn to(from(args));\n\t};\n}\n\nfunction wrapConversion(toModel, graph) {\n\tconst path = [graph[toModel].parent, toModel];\n\tlet fn = conversions[graph[toModel].parent][toModel];\n\n\tlet cur = graph[toModel].parent;\n\twhile (graph[cur].parent) {\n\t\tpath.unshift(graph[cur].parent);\n\t\tfn = link(conversions[graph[cur].parent][cur], fn);\n\t\tcur = graph[cur].parent;\n\t}\n\n\tfn.conversion = path;\n\treturn fn;\n}\n\nmodule.exports = function (fromModel) {\n\tconst graph = deriveBFS(fromModel);\n\tconst conversion = {};\n\n\tconst models = Object.keys(graph);\n\tfor (let len = models.length, i = 0; i < len; i++) {\n\t\tconst toModel = models[i];\n\t\tconst node = graph[toModel];\n\n\t\tif (node.parent === null) {\n\t\t\t// No possible conversion, or this node is the source model.\n\t\t\tcontinue;\n\t\t}\n\n\t\tconversion[toModel] = wrapConversion(toModel, graph);\n\t}\n\n\treturn conversion;\n};\n\n"],"names":["conversions","require$$0","buildGraph","graph","models","len","i","deriveBFS","fromModel","queue","current","adjacents","adjacent","node","link","from","to","args","wrapConversion","toModel","path","fn","cur","route","conversion"],"mappings":";;;;;AAAA,QAAMA,IAAcC,EAAwB;AAa5C,WAASC,IAAa;AACrB,UAAMC,IAAQ,CAAE,GAEVC,IAAS,OAAO,KAAKJ,CAAW;AAEtC,aAASK,IAAMD,EAAO,QAAQE,IAAI,GAAGA,IAAID,GAAKC;AAC7C,MAAAH,EAAMC,EAAOE,CAAC,CAAC,IAAI;AAAA;AAAA;AAAA,QAGlB,UAAU;AAAA,QACV,QAAQ;AAAA,MACR;AAGF,WAAOH;AAAA,EACR;AAGA,WAASI,EAAUC,GAAW;AAC7B,UAAML,IAAQD,EAAY,GACpBO,IAAQ,CAACD,CAAS;AAIxB,SAFAL,EAAMK,CAAS,EAAE,WAAW,GAErBC,EAAM,UAAQ;AACpB,YAAMC,IAAUD,EAAM,IAAK,GACrBE,IAAY,OAAO,KAAKX,EAAYU,CAAO,CAAC;AAElD,eAASL,IAAMM,EAAU,QAAQL,IAAI,GAAGA,IAAID,GAAKC,KAAK;AACrD,cAAMM,IAAWD,EAAUL,CAAC,GACtBO,IAAOV,EAAMS,CAAQ;AAE3B,QAAIC,EAAK,aAAa,OACrBA,EAAK,WAAWV,EAAMO,CAAO,EAAE,WAAW,GAC1CG,EAAK,SAASH,GACdD,EAAM,QAAQG,CAAQ;AAAA,MAE1B;AAAA,IACA;AAEC,WAAOT;AAAA,EACR;AAEA,WAASW,EAAKC,GAAMC,GAAI;AACvB,WAAO,SAAUC,GAAM;AACtB,aAAOD,EAAGD,EAAKE,CAAI,CAAC;AAAA,IACpB;AAAA,EACF;AAEA,WAASC,EAAeC,GAAShB,GAAO;AACvC,UAAMiB,IAAO,CAACjB,EAAMgB,CAAO,EAAE,QAAQA,CAAO;AAC5C,QAAIE,IAAKrB,EAAYG,EAAMgB,CAAO,EAAE,MAAM,EAAEA,CAAO,GAE/CG,IAAMnB,EAAMgB,CAAO,EAAE;AACzB,WAAOhB,EAAMmB,CAAG,EAAE;AACjB,MAAAF,EAAK,QAAQjB,EAAMmB,CAAG,EAAE,MAAM,GAC9BD,IAAKP,EAAKd,EAAYG,EAAMmB,CAAG,EAAE,MAAM,EAAEA,CAAG,GAAGD,CAAE,GACjDC,IAAMnB,EAAMmB,CAAG,EAAE;AAGlB,WAAAD,EAAG,aAAaD,GACTC;AAAA,EACR;AAEc,SAAAE,IAAG,SAAUf,GAAW;AACrC,UAAML,IAAQI,EAAUC,CAAS,GAC3BgB,IAAa,CAAE,GAEfpB,IAAS,OAAO,KAAKD,CAAK;AAChC,aAASE,IAAMD,EAAO,QAAQE,IAAI,GAAGA,IAAID,GAAKC,KAAK;AAClD,YAAMa,IAAUf,EAAOE,CAAC;AAGxB,MAFaH,EAAMgB,CAAO,EAEjB,WAAW,SAKpBK,EAAWL,CAAO,IAAID,EAAeC,GAAShB,CAAK;AAAA,IACrD;AAEC,WAAOqB;AAAA,EACP;;","x_google_ignoreList":[0]}
|