uomtiles 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.output/nitro.json +15 -0
- package/.output/public/_nuxt/1d1PDhA4.js +1 -0
- package/.output/public/_nuxt/3B2XYGg4.js +1 -0
- package/.output/public/_nuxt/981KwFWf.js +1 -0
- package/.output/public/_nuxt/B30dSvM4.js +1 -0
- package/.output/public/_nuxt/BN1Gp4Dm.js +1 -0
- package/.output/public/_nuxt/BQlj8Xoe.js +6 -0
- package/.output/public/_nuxt/BRkljK8J.js +1 -0
- package/.output/public/_nuxt/BSdHYVlE2.js +1 -0
- package/.output/public/_nuxt/B_MqTg2k2.js +1 -0
- package/.output/public/_nuxt/BiWblTbb2.js +64 -0
- package/.output/public/_nuxt/BrPwntMr.js +1 -0
- package/.output/public/_nuxt/BskybydR.js +1 -0
- package/.output/public/_nuxt/ByRlKR9F.js +1 -0
- package/.output/public/_nuxt/C0Zdl2EE2.js +1 -0
- package/.output/public/_nuxt/C4qlzA4o.js +1 -0
- package/.output/public/_nuxt/C7HxHbxA.js +1 -0
- package/.output/public/_nuxt/C97TfNgP.js +3 -0
- package/.output/public/_nuxt/CNs_Ozdc.js +1 -0
- package/.output/public/_nuxt/CPuhwLY1.js +1 -0
- package/.output/public/_nuxt/CVE291Pi.js +1 -0
- package/.output/public/_nuxt/C_0VY3Cv2.js +4 -0
- package/.output/public/_nuxt/Ce26t8_Y.js +1 -0
- package/.output/public/_nuxt/CfW544W5.js +1 -0
- package/.output/public/_nuxt/CgMd2Y5s.js +2 -0
- package/.output/public/_nuxt/CgdzV712.js +1 -0
- package/.output/public/_nuxt/D1wVNWS0.js +1 -0
- package/.output/public/_nuxt/DC3bhq63.js +1 -0
- package/.output/public/_nuxt/DK3Fl9T5.js +1 -0
- package/.output/public/_nuxt/DL1MZZLI.js +1 -0
- package/.output/public/_nuxt/DXm-42Fi.js +1 -0
- package/.output/public/_nuxt/Djg3Kzfv.js +1 -0
- package/.output/public/_nuxt/DkcySee1.js +1 -0
- package/.output/public/_nuxt/DmN-PKW1.js +1 -0
- package/.output/public/_nuxt/DtFVCXI9.js +1 -0
- package/.output/public/_nuxt/Dz7VMlHR.js +1 -0
- package/.output/public/_nuxt/NL65vbjG2.js +1 -0
- package/.output/public/_nuxt/Oxy7pKSk.js +3 -0
- package/.output/public/_nuxt/Pik8or8N2.js +1 -0
- package/.output/public/_nuxt/XZ59tThl.js +1 -0
- package/.output/public/_nuxt/ZpWjFsgV.js +1 -0
- package/.output/public/_nuxt/builds/latest.json +1 -0
- package/.output/public/_nuxt/builds/meta/9f85104e-738d-4a74-8daa-40b136ce17d5.json +1 -0
- package/.output/public/_nuxt/dXz6dFgW2.js +1 -0
- package/.output/public/_nuxt/entry.P6tFNE31.css +1 -0
- package/.output/public/_nuxt/error-404.Biv0P6cJ.css +1 -0
- package/.output/public/_nuxt/error-500.8ok468rV.css +1 -0
- package/.output/public/_nuxt/j0MRD-c3.js +1 -0
- package/.output/public/_nuxt/local-pixel-diff.worker-C6RdZoCq.js +2 -0
- package/.output/public/_nuxt/maplibre-gl-worker.nfnkSQvL.mjs +6 -0
- package/.output/public/_nuxt/nearest-area.worker-iSLH0Y_s.js +2 -0
- package/.output/public/_nuxt/q7DkoVkj.js +828 -0
- package/.output/public/_nuxt/raster-tile.worker-BFlOgJig.js +2 -0
- package/.output/public/_nuxt/services._3nQizF8.css +1 -0
- package/.output/public/_nuxt/sql-wasm.DfANybxk.wasm +0 -0
- package/.output/public/_nuxt/tile-diff.worker-CvWWI_eu.js +1 -0
- package/.output/public/_nuxt/zZ1EGR7Y.js +1 -0
- package/.output/public/apple-touch-icon.png +0 -0
- package/.output/public/favicon.ico +0 -0
- package/.output/public/favicon.svg +8 -0
- package/.output/public/icon-192.png +0 -0
- package/.output/public/icon-512.png +0 -0
- package/.output/public/site.webmanifest +11 -0
- package/.output/server/chunks/_/config.mjs +208 -0
- package/.output/server/chunks/_/config.mjs.map +1 -0
- package/.output/server/chunks/_/data-directory.mjs +24 -0
- package/.output/server/chunks/_/data-directory.mjs.map +1 -0
- package/.output/server/chunks/_/error-500.mjs +20 -0
- package/.output/server/chunks/_/error-500.mjs.map +1 -0
- package/.output/server/chunks/_/file-workspace.mjs +910 -0
- package/.output/server/chunks/_/file-workspace.mjs.map +1 -0
- package/.output/server/chunks/_/icons.mjs +6269 -0
- package/.output/server/chunks/_/icons.mjs.map +1 -0
- package/.output/server/chunks/_/map-service.mjs +233 -0
- package/.output/server/chunks/_/map-service.mjs.map +1 -0
- package/.output/server/chunks/_/missing-tile.mjs +104 -0
- package/.output/server/chunks/_/missing-tile.mjs.map +1 -0
- package/.output/server/chunks/_/pixel-diff.mjs +78 -0
- package/.output/server/chunks/_/pixel-diff.mjs.map +1 -0
- package/.output/server/chunks/_/uom-auth.mjs +334 -0
- package/.output/server/chunks/_/uom-auth.mjs.map +1 -0
- package/.output/server/chunks/_/uom-map.mjs +265 -0
- package/.output/server/chunks/_/uom-map.mjs.map +1 -0
- package/.output/server/chunks/build/Alert-0ngTJXxP.mjs +5076 -0
- package/.output/server/chunks/build/Alert-0ngTJXxP.mjs.map +1 -0
- package/.output/server/chunks/build/DashboardSidebarToggle-pncTaIJq.mjs +569 -0
- package/.output/server/chunks/build/DashboardSidebarToggle-pncTaIJq.mjs.map +1 -0
- package/.output/server/chunks/build/Empty-CkW3mADt.mjs +359 -0
- package/.output/server/chunks/build/Empty-CkW3mADt.mjs.map +1 -0
- package/.output/server/chunks/build/FocusScope-Cf0lg0zt.mjs +207 -0
- package/.output/server/chunks/build/FocusScope-Cf0lg0zt.mjs.map +1 -0
- package/.output/server/chunks/build/FormField-CEUZHcv7.mjs +278 -0
- package/.output/server/chunks/build/FormField-CEUZHcv7.mjs.map +1 -0
- package/.output/server/chunks/build/Input-BeNavYXb.mjs +592 -0
- package/.output/server/chunks/build/Input-BeNavYXb.mjs.map +1 -0
- package/.output/server/chunks/build/MapBaseLayerTabs-4445J6yh.mjs +2003 -0
- package/.output/server/chunks/build/MapBaseLayerTabs-4445J6yh.mjs.map +1 -0
- package/.output/server/chunks/build/Modal-DNZtVxca.mjs +1326 -0
- package/.output/server/chunks/build/Modal-DNZtVxca.mjs.map +1 -0
- package/.output/server/chunks/build/OnlineMap-CKwiuqUY.mjs +146 -0
- package/.output/server/chunks/build/OnlineMap-CKwiuqUY.mjs.map +1 -0
- package/.output/server/chunks/build/Pagination-CDHx4HTZ.mjs +1025 -0
- package/.output/server/chunks/build/Pagination-CDHx4HTZ.mjs.map +1 -0
- package/.output/server/chunks/build/PopperArrow-Bqfdf2Et.mjs +2066 -0
- package/.output/server/chunks/build/PopperArrow-Bqfdf2Et.mjs.map +1 -0
- package/.output/server/chunks/build/ScrollArea-BQK3em8b.mjs +379 -0
- package/.output/server/chunks/build/ScrollArea-BQK3em8b.mjs.map +1 -0
- package/.output/server/chunks/build/Slider-D-n8Y0CX.mjs +1087 -0
- package/.output/server/chunks/build/Slider-D-n8Y0CX.mjs.map +1 -0
- package/.output/server/chunks/build/Tooltip-CkpSktvJ.mjs +1345 -0
- package/.output/server/chunks/build/Tooltip-CkpSktvJ.mjs.map +1 -0
- package/.output/server/chunks/build/_virtual_public-CeOptKUP.mjs +7 -0
- package/.output/server/chunks/build/_virtual_public-CeOptKUP.mjs.map +1 -0
- package/.output/server/chunks/build/advanced-D1onodoF.mjs +1430 -0
- package/.output/server/chunks/build/advanced-D1onodoF.mjs.map +1 -0
- package/.output/server/chunks/build/compare-DmSAW8oA.mjs +1093 -0
- package/.output/server/chunks/build/compare-DmSAW8oA.mjs.map +1 -0
- package/.output/server/chunks/build/dashboard-BJxrZ19n.mjs +3217 -0
- package/.output/server/chunks/build/dashboard-BJxrZ19n.mjs.map +1 -0
- package/.output/server/chunks/build/details-CBMqXYyo.mjs +3714 -0
- package/.output/server/chunks/build/details-CBMqXYyo.mjs.map +1 -0
- package/.output/server/chunks/build/error-404-D9aQjJRn.mjs +86 -0
- package/.output/server/chunks/build/error-404-D9aQjJRn.mjs.map +1 -0
- package/.output/server/chunks/build/error-404-styles.DciiguV6.mjs +9 -0
- package/.output/server/chunks/build/error-404-styles.DciiguV6.mjs.map +1 -0
- package/.output/server/chunks/build/error-500-BNyA3wrb.mjs +74 -0
- package/.output/server/chunks/build/error-500-BNyA3wrb.mjs.map +1 -0
- package/.output/server/chunks/build/error-500-styles.C562DYMR.mjs +9 -0
- package/.output/server/chunks/build/error-500-styles.C562DYMR.mjs.map +1 -0
- package/.output/server/chunks/build/esm-Dp2lJXbp.mjs +1121 -0
- package/.output/server/chunks/build/esm-Dp2lJXbp.mjs.map +1 -0
- package/.output/server/chunks/build/interval-BxUMpo78.mjs +411 -0
- package/.output/server/chunks/build/interval-BxUMpo78.mjs.map +1 -0
- package/.output/server/chunks/build/login-lbtjN0MV.mjs +642 -0
- package/.output/server/chunks/build/login-lbtjN0MV.mjs.map +1 -0
- package/.output/server/chunks/build/pages-Ba0Eixbd.mjs +220 -0
- package/.output/server/chunks/build/pages-Ba0Eixbd.mjs.map +1 -0
- package/.output/server/chunks/build/services-DuJwjAB8.mjs +3005 -0
- package/.output/server/chunks/build/services-DuJwjAB8.mjs.map +1 -0
- package/.output/server/chunks/build/services-styles.eoO16BY9.mjs +9 -0
- package/.output/server/chunks/build/services-styles.eoO16BY9.mjs.map +1 -0
- package/.output/server/chunks/build/tasks-CyN9x492.mjs +915 -0
- package/.output/server/chunks/build/tasks-CyN9x492.mjs.map +1 -0
- package/.output/server/chunks/build/tasks-D_Q5EDnn.mjs +87 -0
- package/.output/server/chunks/build/tasks-D_Q5EDnn.mjs.map +1 -0
- package/.output/server/chunks/nitro/nitro.mjs +6215 -0
- package/.output/server/chunks/nitro/nitro.mjs.map +1 -0
- package/.output/server/chunks/routes/api/auth/captcha.post.mjs +21 -0
- package/.output/server/chunks/routes/api/auth/captcha.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/auth/login.post.mjs +27 -0
- package/.output/server/chunks/routes/api/auth/login.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/auth/logout.post.mjs +22 -0
- package/.output/server/chunks/routes/api/auth/logout.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/auth/map-token.post.mjs +22 -0
- package/.output/server/chunks/routes/api/auth/map-token.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/auth/send-sms.post.mjs +31 -0
- package/.output/server/chunks/routes/api/auth/send-sms.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/auth/status.get.mjs +21 -0
- package/.output/server/chunks/routes/api/auth/status.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/map/base/_baseLayer/_zoom/_tileX/_tileY_.get.mjs +44 -0
- package/.output/server/chunks/routes/api/map/base/_baseLayer/_zoom/_tileX/_tileY_.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/map/live/status.get.mjs +32 -0
- package/.output/server/chunks/routes/api/map/live/status.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/map/online/_layerGroup/_zoom/_tileX/_tileY_.get.mjs +48 -0
- package/.output/server/chunks/routes/api/map/online/_layerGroup/_zoom/_tileX/_tileY_.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/map/online-root/_layerGroup/_rootX/_rootY_.get.mjs +46 -0
- package/.output/server/chunks/routes/api/map/online-root/_layerGroup/_rootX/_rootY_.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/map-service/config.post.mjs +38 -0
- package/.output/server/chunks/routes/api/map-service/config.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/map-service/file.post.mjs +41 -0
- package/.output/server/chunks/routes/api/map-service/file.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/map-service/source.post.mjs +35 -0
- package/.output/server/chunks/routes/api/map-service/source.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/map-service/status.get.mjs +32 -0
- package/.output/server/chunks/routes/api/map-service/status.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workspace/_filename/analysis.get.mjs +47 -0
- package/.output/server/chunks/routes/api/workspace/_filename/analysis.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workspace/_filename/download.get.mjs +38 -0
- package/.output/server/chunks/routes/api/workspace/_filename/download.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workspace/_filename/export/_format_.get.mjs +42 -0
- package/.output/server/chunks/routes/api/workspace/_filename/export/_format_.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workspace/_filename/tile.get.mjs +48 -0
- package/.output/server/chunks/routes/api/workspace/_filename/tile.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workspace/_filename/tiles.get.mjs +45 -0
- package/.output/server/chunks/routes/api/workspace/_filename/tiles.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workspace/_filename_.delete.mjs +32 -0
- package/.output/server/chunks/routes/api/workspace/_filename_.delete.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workspace/compare/batch.get.mjs +38 -0
- package/.output/server/chunks/routes/api/workspace/compare/batch.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workspace/compare.post.mjs +33 -0
- package/.output/server/chunks/routes/api/workspace/compare.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workspace/fetch.post.mjs +33 -0
- package/.output/server/chunks/routes/api/workspace/fetch.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workspace/files.get.mjs +27 -0
- package/.output/server/chunks/routes/api/workspace/files.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workspace/files.post.mjs +38 -0
- package/.output/server/chunks/routes/api/workspace/files.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workspace/stop.post.mjs +32 -0
- package/.output/server/chunks/routes/api/workspace/stop.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workspace/tasks.post.mjs +36 -0
- package/.output/server/chunks/routes/api/workspace/tasks.post.mjs.map +1 -0
- package/.output/server/chunks/routes/renderer.mjs +422 -0
- package/.output/server/chunks/routes/renderer.mjs.map +1 -0
- package/.output/server/chunks/routes/services/wms.get.mjs +54 -0
- package/.output/server/chunks/routes/services/wms.get.mjs.map +1 -0
- package/.output/server/chunks/routes/services/wmts.get.mjs +54 -0
- package/.output/server/chunks/routes/services/wmts.get.mjs.map +1 -0
- package/.output/server/chunks/virtual/_virtual_spa-template.mjs +4 -0
- package/.output/server/chunks/virtual/_virtual_spa-template.mjs.map +1 -0
- package/.output/server/chunks/virtual/entry.mjs +18545 -0
- package/.output/server/chunks/virtual/entry.mjs.map +1 -0
- package/.output/server/chunks/virtual/precomputed.mjs +4 -0
- package/.output/server/chunks/virtual/precomputed.mjs.map +1 -0
- package/.output/server/chunks/virtual/styles.mjs +10 -0
- package/.output/server/chunks/virtual/styles.mjs.map +1 -0
- package/.output/server/index.mjs +12 -0
- package/.output/server/index.mjs.map +1 -0
- package/.output/server/node_modules/@babel/parser/lib/index.js +14611 -0
- package/.output/server/node_modules/@babel/parser/package.json +50 -0
- package/.output/server/node_modules/@iconify/utils/lib/colors/index.js +295 -0
- package/.output/server/node_modules/@iconify/utils/lib/colors/keywords.js +701 -0
- package/.output/server/node_modules/@iconify/utils/lib/css/common.js +75 -0
- package/.output/server/node_modules/@iconify/utils/lib/css/format.js +39 -0
- package/.output/server/node_modules/@iconify/utils/lib/css/icon.js +47 -0
- package/.output/server/node_modules/@iconify/utils/lib/css/icons.js +128 -0
- package/.output/server/node_modules/@iconify/utils/lib/customisations/bool.js +19 -0
- package/.output/server/node_modules/@iconify/utils/lib/customisations/defaults.js +13 -0
- package/.output/server/node_modules/@iconify/utils/lib/customisations/flip.js +17 -0
- package/.output/server/node_modules/@iconify/utils/lib/customisations/merge.js +16 -0
- package/.output/server/node_modules/@iconify/utils/lib/customisations/rotate.js +30 -0
- package/.output/server/node_modules/@iconify/utils/lib/emoji/cleanup.js +78 -0
- package/.output/server/node_modules/@iconify/utils/lib/emoji/convert.js +100 -0
- package/.output/server/node_modules/@iconify/utils/lib/emoji/data.js +28 -0
- package/.output/server/node_modules/@iconify/utils/lib/emoji/format.js +58 -0
- package/.output/server/node_modules/@iconify/utils/lib/emoji/parse.js +48 -0
- package/.output/server/node_modules/@iconify/utils/lib/emoji/regex/base.js +203 -0
- package/.output/server/node_modules/@iconify/utils/lib/emoji/regex/create.js +33 -0
- package/.output/server/node_modules/@iconify/utils/lib/emoji/regex/numbers.js +132 -0
- package/.output/server/node_modules/@iconify/utils/lib/emoji/regex/similar.js +165 -0
- package/.output/server/node_modules/@iconify/utils/lib/emoji/regex/tree.js +79 -0
- package/.output/server/node_modules/@iconify/utils/lib/emoji/replace/find.js +92 -0
- package/.output/server/node_modules/@iconify/utils/lib/emoji/replace/replace.js +26 -0
- package/.output/server/node_modules/@iconify/utils/lib/emoji/test/components.js +76 -0
- package/.output/server/node_modules/@iconify/utils/lib/emoji/test/missing.js +66 -0
- package/.output/server/node_modules/@iconify/utils/lib/emoji/test/name.js +45 -0
- package/.output/server/node_modules/@iconify/utils/lib/emoji/test/parse.js +103 -0
- package/.output/server/node_modules/@iconify/utils/lib/emoji/test/similar.js +36 -0
- package/.output/server/node_modules/@iconify/utils/lib/emoji/test/tree.js +92 -0
- package/.output/server/node_modules/@iconify/utils/lib/emoji/test/variations.js +62 -0
- package/.output/server/node_modules/@iconify/utils/lib/icon/defaults.js +25 -0
- package/.output/server/node_modules/@iconify/utils/lib/icon/merge.js +16 -0
- package/.output/server/node_modules/@iconify/utils/lib/icon/name.js +57 -0
- package/.output/server/node_modules/@iconify/utils/lib/icon/square.js +33 -0
- package/.output/server/node_modules/@iconify/utils/lib/icon/transformations.js +12 -0
- package/.output/server/node_modules/@iconify/utils/lib/icon-set/convert-info.js +125 -0
- package/.output/server/node_modules/@iconify/utils/lib/icon-set/expand.js +19 -0
- package/.output/server/node_modules/@iconify/utils/lib/icon-set/get-icon.js +25 -0
- package/.output/server/node_modules/@iconify/utils/lib/icon-set/get-icons.js +36 -0
- package/.output/server/node_modules/@iconify/utils/lib/icon-set/minify.js +91 -0
- package/.output/server/node_modules/@iconify/utils/lib/icon-set/parse.js +46 -0
- package/.output/server/node_modules/@iconify/utils/lib/icon-set/tree.js +23 -0
- package/.output/server/node_modules/@iconify/utils/lib/icon-set/validate-basic.js +42 -0
- package/.output/server/node_modules/@iconify/utils/lib/icon-set/validate.js +123 -0
- package/.output/server/node_modules/@iconify/utils/lib/index.js +52 -0
- package/.output/server/node_modules/@iconify/utils/lib/loader/custom.js +30 -0
- package/.output/server/node_modules/@iconify/utils/lib/loader/loader.js +26 -0
- package/.output/server/node_modules/@iconify/utils/lib/loader/modern.js +27 -0
- package/.output/server/node_modules/@iconify/utils/lib/loader/utils.js +105 -0
- package/.output/server/node_modules/@iconify/utils/lib/misc/objects.js +26 -0
- package/.output/server/node_modules/@iconify/utils/lib/misc/strings.js +26 -0
- package/.output/server/node_modules/@iconify/utils/lib/misc/title.js +9 -0
- package/.output/server/node_modules/@iconify/utils/lib/svg/build.js +113 -0
- package/.output/server/node_modules/@iconify/utils/lib/svg/defs.js +31 -0
- package/.output/server/node_modules/@iconify/utils/lib/svg/encode-svg-for-css.js +13 -0
- package/.output/server/node_modules/@iconify/utils/lib/svg/html.js +9 -0
- package/.output/server/node_modules/@iconify/utils/lib/svg/id.js +41 -0
- package/.output/server/node_modules/@iconify/utils/lib/svg/inner-html.js +22 -0
- package/.output/server/node_modules/@iconify/utils/lib/svg/parse.js +67 -0
- package/.output/server/node_modules/@iconify/utils/lib/svg/pretty.js +54 -0
- package/.output/server/node_modules/@iconify/utils/lib/svg/size.js +27 -0
- package/.output/server/node_modules/@iconify/utils/lib/svg/trim.js +7 -0
- package/.output/server/node_modules/@iconify/utils/lib/svg/url.js +22 -0
- package/.output/server/node_modules/@iconify/utils/lib/svg/viewbox.js +8 -0
- package/.output/server/node_modules/@iconify/utils/package.json +119 -0
- package/.output/server/node_modules/@vue/compiler-core/dist/compiler-core.cjs.prod.js +6801 -0
- package/.output/server/node_modules/@vue/compiler-core/package.json +58 -0
- package/.output/server/node_modules/@vue/compiler-dom/dist/compiler-dom.cjs.prod.js +692 -0
- package/.output/server/node_modules/@vue/compiler-dom/package.json +57 -0
- package/.output/server/node_modules/@vue/compiler-ssr/dist/compiler-ssr.cjs.js +1420 -0
- package/.output/server/node_modules/@vue/compiler-ssr/package.json +34 -0
- package/.output/server/node_modules/@vue/reactivity/dist/reactivity.cjs.prod.js +1903 -0
- package/.output/server/node_modules/@vue/reactivity/package.json +55 -0
- package/.output/server/node_modules/@vue/runtime-core/dist/runtime-core.cjs.prod.js +6976 -0
- package/.output/server/node_modules/@vue/runtime-core/package.json +52 -0
- package/.output/server/node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.prod.js +1841 -0
- package/.output/server/node_modules/@vue/runtime-dom/package.json +60 -0
- package/.output/server/node_modules/@vue/server-renderer/dist/server-renderer.cjs.prod.js +904 -0
- package/.output/server/node_modules/@vue/server-renderer/package.json +53 -0
- package/.output/server/node_modules/@vue/shared/dist/shared.cjs.prod.js +609 -0
- package/.output/server/node_modules/@vue/shared/package.json +47 -0
- package/.output/server/node_modules/consola/dist/chunks/prompt.mjs +280 -0
- package/.output/server/node_modules/consola/dist/core.mjs +512 -0
- package/.output/server/node_modules/consola/dist/index.mjs +651 -0
- package/.output/server/node_modules/consola/dist/shared/consola.DRwqZj3T.mjs +72 -0
- package/.output/server/node_modules/consola/dist/shared/consola.DXBYu-KD.mjs +288 -0
- package/.output/server/node_modules/consola/package.json +136 -0
- package/.output/server/node_modules/devalue/index.js +17 -0
- package/.output/server/node_modules/devalue/package.json +39 -0
- package/.output/server/node_modules/devalue/src/base64.js +60 -0
- package/.output/server/node_modules/devalue/src/constants.js +12 -0
- package/.output/server/node_modules/devalue/src/operations.js +193 -0
- package/.output/server/node_modules/devalue/src/parse.js +270 -0
- package/.output/server/node_modules/devalue/src/stringify.js +428 -0
- package/.output/server/node_modules/devalue/src/uneval.js +582 -0
- package/.output/server/node_modules/devalue/src/utils.js +185 -0
- package/.output/server/node_modules/entities/dist/commonjs/decode-codepoint.js +77 -0
- package/.output/server/node_modules/entities/dist/commonjs/decode.js +568 -0
- package/.output/server/node_modules/entities/dist/commonjs/generated/decode-data-html.js +7 -0
- package/.output/server/node_modules/entities/dist/commonjs/generated/decode-data-xml.js +7 -0
- package/.output/server/node_modules/entities/dist/commonjs/internal/bin-trie-flags.js +21 -0
- package/.output/server/node_modules/entities/dist/commonjs/internal/decode-shared.js +31 -0
- package/.output/server/node_modules/entities/dist/commonjs/package.json +3 -0
- package/.output/server/node_modules/entities/package.json +120 -0
- package/.output/server/node_modules/estree-walker/dist/umd/estree-walker.js +344 -0
- package/.output/server/node_modules/estree-walker/package.json +37 -0
- package/.output/server/node_modules/fflate/esm/index.mjs +2710 -0
- package/.output/server/node_modules/fflate/package.json +128 -0
- package/.output/server/node_modules/fnv1a-64/dist/index.mjs +95 -0
- package/.output/server/node_modules/fnv1a-64/package.json +75 -0
- package/.output/server/node_modules/hookable/dist/index.mjs +257 -0
- package/.output/server/node_modules/hookable/package.json +53 -0
- package/.output/server/node_modules/nostics/dist/formatters/ansi.mjs +19 -0
- package/.output/server/node_modules/nostics/dist/index.mjs +187 -0
- package/.output/server/node_modules/nostics/package.json +125 -0
- package/.output/server/node_modules/object-identity/index.js +60 -0
- package/.output/server/node_modules/object-identity/package.json +40 -0
- package/.output/server/node_modules/p-limit/index.js +104 -0
- package/.output/server/node_modules/p-limit/package.json +58 -0
- package/.output/server/node_modules/pmtiles/dist/esm/index.js +2 -0
- package/.output/server/node_modules/pmtiles/package.json +50 -0
- package/.output/server/node_modules/source-map-js/lib/array-set.js +121 -0
- package/.output/server/node_modules/source-map-js/lib/base64-vlq.js +140 -0
- package/.output/server/node_modules/source-map-js/lib/base64.js +67 -0
- package/.output/server/node_modules/source-map-js/lib/binary-search.js +111 -0
- package/.output/server/node_modules/source-map-js/lib/mapping-list.js +79 -0
- package/.output/server/node_modules/source-map-js/lib/quick-sort.js +132 -0
- package/.output/server/node_modules/source-map-js/lib/source-map-consumer.js +1188 -0
- package/.output/server/node_modules/source-map-js/lib/source-map-generator.js +444 -0
- package/.output/server/node_modules/source-map-js/lib/source-node.js +413 -0
- package/.output/server/node_modules/source-map-js/lib/util.js +594 -0
- package/.output/server/node_modules/source-map-js/package.json +71 -0
- package/.output/server/node_modules/source-map-js/source-map.js +8 -0
- package/.output/server/node_modules/tailwindcss/dist/chunk-DCG7AFIE.mjs +1 -0
- package/.output/server/node_modules/tailwindcss/dist/colors.mjs +1 -0
- package/.output/server/node_modules/tailwindcss/package.json +89 -0
- package/.output/server/node_modules/ufo/dist/index.mjs +645 -0
- package/.output/server/node_modules/ufo/package.json +48 -0
- package/.output/server/node_modules/unhead/dist/client.mjs +22 -0
- package/.output/server/node_modules/unhead/dist/index.mjs +52 -0
- package/.output/server/node_modules/unhead/dist/legacy.mjs +33 -0
- package/.output/server/node_modules/unhead/dist/minify.mjs +183 -0
- package/.output/server/node_modules/unhead/dist/parser.mjs +518 -0
- package/.output/server/node_modules/unhead/dist/plugins.mjs +631 -0
- package/.output/server/node_modules/unhead/dist/scripts.node.mjs +6 -0
- package/.output/server/node_modules/unhead/dist/server.mjs +99 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.BEmVMkeA.mjs +673 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.BGFxPGPQ.mjs +47 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.BQWSw36o.mjs +192 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.Bb4d5b9h.mjs +67 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.BdK3SLPN.mjs +585 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.Bf_fPVYA.mjs +6 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.Bm4Y6XQI.mjs +17 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.C3b2Ipoj.mjs +223 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.CGPOfp5O.mjs +32 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.CHEy9ana.mjs +7 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.CTjuIdzk.mjs +27 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.CfKy3Kuq.mjs +196 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.D7HkBzZn.mjs +59 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.DNKiVLV7.mjs +400 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.MC5RsXLj.mjs +19 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.jEy9BmRq.mjs +264 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.tQnRaXfX.mjs +240 -0
- package/.output/server/node_modules/unhead/dist/stream/client.mjs +28 -0
- package/.output/server/node_modules/unhead/dist/stream/iife.mjs +2 -0
- package/.output/server/node_modules/unhead/dist/stream/server.mjs +264 -0
- package/.output/server/node_modules/unhead/dist/utils.mjs +7 -0
- package/.output/server/node_modules/unhead/package.json +179 -0
- package/.output/server/node_modules/vue/dist/vue.cjs.js +80 -0
- package/.output/server/node_modules/vue/dist/vue.cjs.prod.js +66 -0
- package/.output/server/node_modules/vue/index.js +7 -0
- package/.output/server/node_modules/vue/index.mjs +1 -0
- package/.output/server/node_modules/vue/package.json +112 -0
- package/.output/server/node_modules/vue/server-renderer/index.mjs +1 -0
- package/.output/server/node_modules/vue-bundle-renderer/dist/runtime.mjs +278 -0
- package/.output/server/node_modules/vue-bundle-renderer/package.json +54 -0
- package/.output/server/node_modules/yocto-queue/index.js +90 -0
- package/.output/server/node_modules/yocto-queue/package.json +48 -0
- package/.output/server/node_modules/zod/index.js +4 -0
- package/.output/server/node_modules/zod/package.json +135 -0
- package/.output/server/node_modules/zod/v4/classic/checks.js +1 -0
- package/.output/server/node_modules/zod/v4/classic/coerce.js +17 -0
- package/.output/server/node_modules/zod/v4/classic/compat.js +31 -0
- package/.output/server/node_modules/zod/v4/classic/errors.js +48 -0
- package/.output/server/node_modules/zod/v4/classic/external.js +20 -0
- package/.output/server/node_modules/zod/v4/classic/from-json-schema.js +599 -0
- package/.output/server/node_modules/zod/v4/classic/iso.js +30 -0
- package/.output/server/node_modules/zod/v4/classic/package.json +7 -0
- package/.output/server/node_modules/zod/v4/classic/parse.js +15 -0
- package/.output/server/node_modules/zod/v4/classic/schemas.js +1395 -0
- package/.output/server/node_modules/zod/v4/core/api.js +1087 -0
- package/.output/server/node_modules/zod/v4/core/checks.js +575 -0
- package/.output/server/node_modules/zod/v4/core/core.js +78 -0
- package/.output/server/node_modules/zod/v4/core/doc.js +35 -0
- package/.output/server/node_modules/zod/v4/core/errors.js +185 -0
- package/.output/server/node_modules/zod/v4/core/index.js +16 -0
- package/.output/server/node_modules/zod/v4/core/json-schema-generator.js +95 -0
- package/.output/server/node_modules/zod/v4/core/json-schema-processors.js +601 -0
- package/.output/server/node_modules/zod/v4/core/json-schema.js +1 -0
- package/.output/server/node_modules/zod/v4/core/package.json +7 -0
- package/.output/server/node_modules/zod/v4/core/parse.js +93 -0
- package/.output/server/node_modules/zod/v4/core/regexes.js +139 -0
- package/.output/server/node_modules/zod/v4/core/registries.js +51 -0
- package/.output/server/node_modules/zod/v4/core/schemas.js +2239 -0
- package/.output/server/node_modules/zod/v4/core/to-json-schema.js +448 -0
- package/.output/server/node_modules/zod/v4/core/util.js +674 -0
- package/.output/server/node_modules/zod/v4/core/versions.js +5 -0
- package/.output/server/node_modules/zod/v4/locales/ar.js +106 -0
- package/.output/server/node_modules/zod/v4/locales/az.js +105 -0
- package/.output/server/node_modules/zod/v4/locales/be.js +156 -0
- package/.output/server/node_modules/zod/v4/locales/bg.js +120 -0
- package/.output/server/node_modules/zod/v4/locales/ca.js +107 -0
- package/.output/server/node_modules/zod/v4/locales/cs.js +111 -0
- package/.output/server/node_modules/zod/v4/locales/da.js +115 -0
- package/.output/server/node_modules/zod/v4/locales/de.js +108 -0
- package/.output/server/node_modules/zod/v4/locales/el.js +109 -0
- package/.output/server/node_modules/zod/v4/locales/en.js +113 -0
- package/.output/server/node_modules/zod/v4/locales/eo.js +109 -0
- package/.output/server/node_modules/zod/v4/locales/es.js +132 -0
- package/.output/server/node_modules/zod/v4/locales/fa.js +114 -0
- package/.output/server/node_modules/zod/v4/locales/fi.js +112 -0
- package/.output/server/node_modules/zod/v4/locales/fr-CA.js +107 -0
- package/.output/server/node_modules/zod/v4/locales/fr.js +125 -0
- package/.output/server/node_modules/zod/v4/locales/he.js +214 -0
- package/.output/server/node_modules/zod/v4/locales/hr.js +122 -0
- package/.output/server/node_modules/zod/v4/locales/hu.js +108 -0
- package/.output/server/node_modules/zod/v4/locales/hy.js +147 -0
- package/.output/server/node_modules/zod/v4/locales/id.js +106 -0
- package/.output/server/node_modules/zod/v4/locales/index.js +52 -0
- package/.output/server/node_modules/zod/v4/locales/is.js +109 -0
- package/.output/server/node_modules/zod/v4/locales/it.js +108 -0
- package/.output/server/node_modules/zod/v4/locales/ja.js +107 -0
- package/.output/server/node_modules/zod/v4/locales/ka.js +112 -0
- package/.output/server/node_modules/zod/v4/locales/kh.js +5 -0
- package/.output/server/node_modules/zod/v4/locales/km.js +110 -0
- package/.output/server/node_modules/zod/v4/locales/ko.js +111 -0
- package/.output/server/node_modules/zod/v4/locales/lt.js +203 -0
- package/.output/server/node_modules/zod/v4/locales/mk.js +109 -0
- package/.output/server/node_modules/zod/v4/locales/ms.js +107 -0
- package/.output/server/node_modules/zod/v4/locales/nl.js +110 -0
- package/.output/server/node_modules/zod/v4/locales/no.js +108 -0
- package/.output/server/node_modules/zod/v4/locales/ota.js +109 -0
- package/.output/server/node_modules/zod/v4/locales/package.json +7 -0
- package/.output/server/node_modules/zod/v4/locales/pl.js +109 -0
- package/.output/server/node_modules/zod/v4/locales/ps.js +114 -0
- package/.output/server/node_modules/zod/v4/locales/pt.js +108 -0
- package/.output/server/node_modules/zod/v4/locales/ro.js +119 -0
- package/.output/server/node_modules/zod/v4/locales/ru.js +156 -0
- package/.output/server/node_modules/zod/v4/locales/sl.js +109 -0
- package/.output/server/node_modules/zod/v4/locales/sv.js +110 -0
- package/.output/server/node_modules/zod/v4/locales/ta.js +110 -0
- package/.output/server/node_modules/zod/v4/locales/th.js +110 -0
- package/.output/server/node_modules/zod/v4/locales/tr.js +105 -0
- package/.output/server/node_modules/zod/v4/locales/ua.js +5 -0
- package/.output/server/node_modules/zod/v4/locales/uk.js +108 -0
- package/.output/server/node_modules/zod/v4/locales/ur.js +110 -0
- package/.output/server/node_modules/zod/v4/locales/uz.js +110 -0
- package/.output/server/node_modules/zod/v4/locales/vi.js +108 -0
- package/.output/server/node_modules/zod/v4/locales/yo.js +107 -0
- package/.output/server/node_modules/zod/v4/locales/zh-CN.js +109 -0
- package/.output/server/node_modules/zod/v4/locales/zh-TW.js +107 -0
- package/.output/server/package.json +37 -0
- package/LICENSE +3 -0
- package/README.md +125 -0
- package/dist/src/bbox.js +55 -0
- package/dist/src/cli.js +255 -0
- package/dist/src/config.js +56 -0
- package/dist/src/core/fetch-process.js +19 -0
- package/dist/src/core/grid-renderer.js +149 -0
- package/dist/src/core/lease.js +103 -0
- package/dist/src/core/paths.js +13 -0
- package/dist/src/core/png.js +192 -0
- package/dist/src/core/raster-style.js +33 -0
- package/dist/src/core/uomtiles.js +307 -0
- package/dist/src/fetcher.js +208 -0
- package/dist/src/geographic-grid.js +162 -0
- package/dist/src/grid-crawl.js +478 -0
- package/dist/src/mask-image.js +16 -0
- package/dist/src/official-grid.js +51 -0
- package/dist/src/quality.js +30 -0
- package/dist/src/token.js +206 -0
- package/package.json +68 -0
- package/public/apple-touch-icon.png +0 -0
- package/public/favicon.ico +0 -0
- package/public/favicon.svg +8 -0
- package/public/icon-192.png +0 -0
- package/public/icon-512.png +0 -0
- package/public/site.webmanifest +11 -0
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { makeViewBoxSquare } from "../icon/square.js";
|
|
2
|
+
import { calculateSize } from "../svg/size.js";
|
|
3
|
+
import { iconToSVG } from "../svg/build.js";
|
|
4
|
+
import { svgToURL } from "../svg/url.js";
|
|
5
|
+
import { iconToHTML } from "../svg/html.js";
|
|
6
|
+
/**
|
|
7
|
+
* Generates common CSS rules for multiple icons, rendered as background/mask
|
|
8
|
+
*/
|
|
9
|
+
function getCommonCSSRules(options) {
|
|
10
|
+
const result = Object.create(null);
|
|
11
|
+
Object.assign(result, {
|
|
12
|
+
display: "inline-block",
|
|
13
|
+
width: "1em",
|
|
14
|
+
height: "1em"
|
|
15
|
+
});
|
|
16
|
+
const varName = options.varName;
|
|
17
|
+
if (options.pseudoSelector) result["content"] = "''";
|
|
18
|
+
switch (options.mode) {
|
|
19
|
+
case "background":
|
|
20
|
+
if (varName) result["background-image"] = "var(--" + varName + ")";
|
|
21
|
+
result["background-repeat"] = "no-repeat";
|
|
22
|
+
result["background-size"] = "100% 100%";
|
|
23
|
+
break;
|
|
24
|
+
case "mask":
|
|
25
|
+
result["background-color"] = "currentColor";
|
|
26
|
+
if (varName) result["mask-image"] = result["-webkit-mask-image"] = "var(--" + varName + ")";
|
|
27
|
+
result["mask-repeat"] = result["-webkit-mask-repeat"] = "no-repeat";
|
|
28
|
+
result["mask-size"] = result["-webkit-mask-size"] = "100% 100%";
|
|
29
|
+
break;
|
|
30
|
+
}
|
|
31
|
+
return result;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Generate CSS rules for one icon, rendered as background/mask
|
|
35
|
+
*
|
|
36
|
+
* This function excludes common rules
|
|
37
|
+
*/
|
|
38
|
+
function generateItemCSSRules(icon, options) {
|
|
39
|
+
const result = Object.create(null);
|
|
40
|
+
const varName = options.varName;
|
|
41
|
+
const buildResult = iconToSVG(icon);
|
|
42
|
+
let viewBox = buildResult.viewBox;
|
|
43
|
+
if (viewBox[2] !== viewBox[3]) if (options.forceSquare) viewBox = makeViewBoxSquare(viewBox);
|
|
44
|
+
else result["width"] = calculateSize("1em", viewBox[2] / viewBox[3]);
|
|
45
|
+
const url = svgToURL(iconToHTML(buildResult.body.replace(/currentColor/g, options.color || "black"), {
|
|
46
|
+
viewBox: `${viewBox[0]} ${viewBox[1]} ${viewBox[2]} ${viewBox[3]}`,
|
|
47
|
+
width: `${viewBox[2]}`,
|
|
48
|
+
height: `${viewBox[3]}`
|
|
49
|
+
}));
|
|
50
|
+
if (varName) result["--" + varName] = url;
|
|
51
|
+
else switch (options.mode) {
|
|
52
|
+
case "background":
|
|
53
|
+
result["background-image"] = url;
|
|
54
|
+
break;
|
|
55
|
+
case "mask":
|
|
56
|
+
result["mask-image"] = result["-webkit-mask-image"] = url;
|
|
57
|
+
break;
|
|
58
|
+
}
|
|
59
|
+
return result;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Generate content for one icon, rendered as content of pseudo-selector
|
|
63
|
+
*/
|
|
64
|
+
function generateItemContent(icon, options) {
|
|
65
|
+
const buildResult = iconToSVG(icon);
|
|
66
|
+
const viewBox = buildResult.viewBox;
|
|
67
|
+
const height = options.height;
|
|
68
|
+
const width = options.width ?? calculateSize(height, viewBox[2] / viewBox[3]);
|
|
69
|
+
return svgToURL(iconToHTML(buildResult.body.replace(/currentColor/g, options.color || "black"), {
|
|
70
|
+
viewBox: `${viewBox[0]} ${viewBox[1]} ${viewBox[2]} ${viewBox[3]}`,
|
|
71
|
+
width: width.toString(),
|
|
72
|
+
height: height.toString()
|
|
73
|
+
}));
|
|
74
|
+
}
|
|
75
|
+
export { generateItemCSSRules, generateItemContent, getCommonCSSRules };
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
const format = {
|
|
2
|
+
selectorStart: {
|
|
3
|
+
compressed: "{",
|
|
4
|
+
compact: " {",
|
|
5
|
+
expanded: " {"
|
|
6
|
+
},
|
|
7
|
+
selectorEnd: {
|
|
8
|
+
compressed: "}",
|
|
9
|
+
compact: "; }\n",
|
|
10
|
+
expanded: ";\n}\n"
|
|
11
|
+
},
|
|
12
|
+
rule: {
|
|
13
|
+
compressed: "{key}:",
|
|
14
|
+
compact: " {key}: ",
|
|
15
|
+
expanded: "\n {key}: "
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* Format data
|
|
20
|
+
*
|
|
21
|
+
* Key is selector, value is list of rules
|
|
22
|
+
*/
|
|
23
|
+
function formatCSS(data, mode = "expanded") {
|
|
24
|
+
const results = [];
|
|
25
|
+
for (let i = 0; i < data.length; i++) {
|
|
26
|
+
const { selector, rules } = data[i];
|
|
27
|
+
let entry = (selector instanceof Array ? selector.join(mode === "compressed" ? "," : ", ") : selector) + format.selectorStart[mode];
|
|
28
|
+
let firstRule = true;
|
|
29
|
+
for (const key in rules) {
|
|
30
|
+
if (!firstRule) entry += ";";
|
|
31
|
+
entry += format.rule[mode].replace("{key}", key) + rules[key];
|
|
32
|
+
firstRule = false;
|
|
33
|
+
}
|
|
34
|
+
entry += format.selectorEnd[mode];
|
|
35
|
+
results.push(entry);
|
|
36
|
+
}
|
|
37
|
+
return results.join(mode === "compressed" ? "" : "\n");
|
|
38
|
+
}
|
|
39
|
+
export { formatCSS };
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { defaultIconProps } from "../icon/defaults.js";
|
|
2
|
+
import { generateItemCSSRules, generateItemContent, getCommonCSSRules } from "./common.js";
|
|
3
|
+
import { formatCSS } from "./format.js";
|
|
4
|
+
/**
|
|
5
|
+
* Get CSS for icon, rendered as background or mask
|
|
6
|
+
*/
|
|
7
|
+
function getIconCSS(icon, options = {}) {
|
|
8
|
+
const body = options.customise ? options.customise(icon.body) : icon.body;
|
|
9
|
+
const mode = options.mode || (options.color || !body.includes("currentColor") ? "background" : "mask");
|
|
10
|
+
let varName = options.varName;
|
|
11
|
+
if (varName === void 0 && mode === "mask") varName = "svg";
|
|
12
|
+
const newOptions = {
|
|
13
|
+
...options,
|
|
14
|
+
mode,
|
|
15
|
+
varName
|
|
16
|
+
};
|
|
17
|
+
if (mode === "background") delete newOptions.varName;
|
|
18
|
+
const rules = Object.create(null);
|
|
19
|
+
Object.assign(rules, options.rules, getCommonCSSRules(newOptions), generateItemCSSRules({
|
|
20
|
+
...defaultIconProps,
|
|
21
|
+
...icon,
|
|
22
|
+
body
|
|
23
|
+
}, newOptions));
|
|
24
|
+
return formatCSS([{
|
|
25
|
+
selector: options.iconSelector || ".icon",
|
|
26
|
+
rules
|
|
27
|
+
}], newOptions.format);
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Get CSS for icon, rendered as content
|
|
31
|
+
*/
|
|
32
|
+
function getIconContentCSS(icon, options) {
|
|
33
|
+
const body = options.customise ? options.customise(icon.body) : icon.body;
|
|
34
|
+
const content = generateItemContent({
|
|
35
|
+
...defaultIconProps,
|
|
36
|
+
...icon,
|
|
37
|
+
body
|
|
38
|
+
}, options);
|
|
39
|
+
return formatCSS([{
|
|
40
|
+
selector: options.iconSelector || ".icon::after",
|
|
41
|
+
rules: {
|
|
42
|
+
...options.rules,
|
|
43
|
+
content
|
|
44
|
+
}
|
|
45
|
+
}], options.format);
|
|
46
|
+
}
|
|
47
|
+
export { getIconCSS, getIconContentCSS };
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import { defaultIconProps } from "../icon/defaults.js";
|
|
2
|
+
import { getIconData } from "../icon-set/get-icon.js";
|
|
3
|
+
import { generateItemCSSRules, generateItemContent, getCommonCSSRules } from "./common.js";
|
|
4
|
+
import { formatCSS } from "./format.js";
|
|
5
|
+
const commonSelector = ".icon--{prefix}";
|
|
6
|
+
const iconSelector = ".icon--{prefix}--{name}";
|
|
7
|
+
const contentSelector = ".icon--{prefix}--{name}::after";
|
|
8
|
+
const defaultSelectors = {
|
|
9
|
+
commonSelector,
|
|
10
|
+
iconSelector,
|
|
11
|
+
overrideSelector: commonSelector + iconSelector
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* Get data for getIconsCSS()
|
|
15
|
+
*/
|
|
16
|
+
function getIconsCSSData(iconSet, names, options = {}) {
|
|
17
|
+
const css = [];
|
|
18
|
+
const errors = [];
|
|
19
|
+
const palette = options.color ? true : void 0;
|
|
20
|
+
let mode = options.mode || typeof palette === "boolean" && (palette ? "background" : "mask");
|
|
21
|
+
if (!mode) {
|
|
22
|
+
for (let i = 0; i < names.length; i++) {
|
|
23
|
+
const name = names[i];
|
|
24
|
+
const icon = getIconData(iconSet, name);
|
|
25
|
+
if (icon) {
|
|
26
|
+
mode = (options.customise ? options.customise(icon.body, name) : icon.body).includes("currentColor") ? "mask" : "background";
|
|
27
|
+
break;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
if (!mode) {
|
|
31
|
+
mode = "mask";
|
|
32
|
+
errors.push("/* cannot detect icon mode: not set in options and icon set is missing info, rendering as " + mode + " */");
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
let varName = options.varName;
|
|
36
|
+
if (varName === void 0 && mode === "mask") varName = "svg";
|
|
37
|
+
const newOptions = {
|
|
38
|
+
...options,
|
|
39
|
+
mode,
|
|
40
|
+
varName
|
|
41
|
+
};
|
|
42
|
+
const { commonSelector, iconSelector, overrideSelector } = newOptions.iconSelector ? newOptions : defaultSelectors;
|
|
43
|
+
const iconSelectorWithPrefix = iconSelector.replace(/{prefix}/g, iconSet.prefix);
|
|
44
|
+
const commonRules = Object.assign(Object.create(null), options.rules, getCommonCSSRules(newOptions));
|
|
45
|
+
const hasCommonRules = commonSelector && commonSelector !== iconSelector;
|
|
46
|
+
const commonSelectors = /* @__PURE__ */ new Set();
|
|
47
|
+
if (hasCommonRules) css.push({
|
|
48
|
+
selector: commonSelector.replace(/{prefix}/g, iconSet.prefix),
|
|
49
|
+
rules: commonRules
|
|
50
|
+
});
|
|
51
|
+
for (let i = 0; i < names.length; i++) {
|
|
52
|
+
const name = names[i];
|
|
53
|
+
const iconData = getIconData(iconSet, name);
|
|
54
|
+
if (!iconData) {
|
|
55
|
+
errors.push("/* Could not find icon: " + name + " */");
|
|
56
|
+
continue;
|
|
57
|
+
}
|
|
58
|
+
const body = options.customise ? options.customise(iconData.body, name) : iconData.body;
|
|
59
|
+
const rules = generateItemCSSRules({
|
|
60
|
+
...defaultIconProps,
|
|
61
|
+
...iconData,
|
|
62
|
+
body
|
|
63
|
+
}, newOptions);
|
|
64
|
+
let requiresOverride = false;
|
|
65
|
+
if (hasCommonRules && overrideSelector) {
|
|
66
|
+
for (const key in rules) if (key in commonRules) requiresOverride = true;
|
|
67
|
+
}
|
|
68
|
+
const selector = (requiresOverride && overrideSelector ? overrideSelector.replace(/{prefix}/g, iconSet.prefix) : iconSelectorWithPrefix).replace(/{name}/g, name);
|
|
69
|
+
css.push({
|
|
70
|
+
selector,
|
|
71
|
+
rules
|
|
72
|
+
});
|
|
73
|
+
if (!hasCommonRules) commonSelectors.add(selector);
|
|
74
|
+
}
|
|
75
|
+
const result = {
|
|
76
|
+
css,
|
|
77
|
+
errors
|
|
78
|
+
};
|
|
79
|
+
if (!hasCommonRules && commonSelectors.size) result.common = {
|
|
80
|
+
selector: Array.from(commonSelectors).join(newOptions.format === "compressed" ? "," : ", "),
|
|
81
|
+
rules: commonRules
|
|
82
|
+
};
|
|
83
|
+
return result;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Get CSS for icons as background/mask
|
|
87
|
+
*/
|
|
88
|
+
function getIconsCSS(iconSet, names, options = {}) {
|
|
89
|
+
const { css, errors, common } = getIconsCSSData(iconSet, names, options);
|
|
90
|
+
if (common) if (css.length === 1 && css[0].selector === common.selector) css[0].rules = {
|
|
91
|
+
...common.rules,
|
|
92
|
+
...css[0].rules
|
|
93
|
+
};
|
|
94
|
+
else css.unshift(common);
|
|
95
|
+
return formatCSS(css, options.format) + (errors.length ? "\n" + errors.join("\n") + "\n" : "");
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Get CSS for icons as content
|
|
99
|
+
*/
|
|
100
|
+
function getIconsContentCSS(iconSet, names, options) {
|
|
101
|
+
const errors = [];
|
|
102
|
+
const css = [];
|
|
103
|
+
const iconSelectorWithPrefix = (options.iconSelector ?? contentSelector).replace(/{prefix}/g, iconSet.prefix);
|
|
104
|
+
for (let i = 0; i < names.length; i++) {
|
|
105
|
+
const name = names[i];
|
|
106
|
+
const iconData = getIconData(iconSet, name);
|
|
107
|
+
if (!iconData) {
|
|
108
|
+
errors.push("/* Could not find icon: " + name + " */");
|
|
109
|
+
continue;
|
|
110
|
+
}
|
|
111
|
+
const body = options.customise ? options.customise(iconData.body, name) : iconData.body;
|
|
112
|
+
const content = generateItemContent({
|
|
113
|
+
...defaultIconProps,
|
|
114
|
+
...iconData,
|
|
115
|
+
body
|
|
116
|
+
}, options);
|
|
117
|
+
const selector = iconSelectorWithPrefix.replace(/{name}/g, name);
|
|
118
|
+
css.push({
|
|
119
|
+
selector,
|
|
120
|
+
rules: {
|
|
121
|
+
...options.rules,
|
|
122
|
+
content
|
|
123
|
+
}
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
return formatCSS(css, options.format) + (errors.length ? "\n" + errors.join("\n") + "\n" : "");
|
|
127
|
+
}
|
|
128
|
+
export { getIconsCSS, getIconsCSSData, getIconsContentCSS };
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Get boolean customisation value from attribute
|
|
3
|
+
*/
|
|
4
|
+
function toBoolean(name, value, defaultValue) {
|
|
5
|
+
switch (typeof value) {
|
|
6
|
+
case "boolean": return value;
|
|
7
|
+
case "number": return !!value;
|
|
8
|
+
case "string": switch (value.toLowerCase()) {
|
|
9
|
+
case "1":
|
|
10
|
+
case "true":
|
|
11
|
+
case name.toLowerCase(): return true;
|
|
12
|
+
case "0":
|
|
13
|
+
case "false":
|
|
14
|
+
case "": return false;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
return defaultValue;
|
|
18
|
+
}
|
|
19
|
+
export { toBoolean };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { defaultIconTransformations } from "../icon/defaults.js";
|
|
2
|
+
/**
|
|
3
|
+
* Default icon customisations values
|
|
4
|
+
*/
|
|
5
|
+
const defaultIconSizeCustomisations = Object.freeze({
|
|
6
|
+
width: null,
|
|
7
|
+
height: null
|
|
8
|
+
});
|
|
9
|
+
const defaultIconCustomisations = Object.freeze({
|
|
10
|
+
...defaultIconSizeCustomisations,
|
|
11
|
+
...defaultIconTransformations
|
|
12
|
+
});
|
|
13
|
+
export { defaultIconCustomisations, defaultIconSizeCustomisations };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
const separator = /[\s,]+/;
|
|
2
|
+
/**
|
|
3
|
+
* Apply "flip" string to icon customisations
|
|
4
|
+
*/
|
|
5
|
+
function flipFromString(custom, flip) {
|
|
6
|
+
flip.split(separator).forEach((str) => {
|
|
7
|
+
switch (str.trim()) {
|
|
8
|
+
case "horizontal":
|
|
9
|
+
custom.hFlip = true;
|
|
10
|
+
break;
|
|
11
|
+
case "vertical":
|
|
12
|
+
custom.vFlip = true;
|
|
13
|
+
break;
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
export { flipFromString };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { defaultIconSizeCustomisations } from "./defaults.js";
|
|
2
|
+
/**
|
|
3
|
+
* Convert IconifyIconCustomisations to FullIconCustomisations, checking value types
|
|
4
|
+
*/
|
|
5
|
+
function mergeCustomisations(defaults, item) {
|
|
6
|
+
const result = { ...defaults };
|
|
7
|
+
for (const key in item) {
|
|
8
|
+
const value = item[key];
|
|
9
|
+
const valueType = typeof value;
|
|
10
|
+
if (key in defaultIconSizeCustomisations) {
|
|
11
|
+
if (value === null || value && (valueType === "string" || valueType === "number")) result[key] = value;
|
|
12
|
+
} else if (valueType === typeof result[key]) result[key] = key === "rotate" ? value % 4 : value;
|
|
13
|
+
}
|
|
14
|
+
return result;
|
|
15
|
+
}
|
|
16
|
+
export { mergeCustomisations };
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Get rotation value
|
|
3
|
+
*/
|
|
4
|
+
function rotateFromString(value, defaultValue = 0) {
|
|
5
|
+
const units = value.replace(/^-?[0-9.]*/, "");
|
|
6
|
+
function cleanup(value) {
|
|
7
|
+
while (value < 0) value += 4;
|
|
8
|
+
return value % 4;
|
|
9
|
+
}
|
|
10
|
+
if (units === "") {
|
|
11
|
+
const num = parseInt(value);
|
|
12
|
+
return isNaN(num) ? 0 : cleanup(num);
|
|
13
|
+
} else if (units !== value) {
|
|
14
|
+
let split = 0;
|
|
15
|
+
switch (units) {
|
|
16
|
+
case "%":
|
|
17
|
+
split = 25;
|
|
18
|
+
break;
|
|
19
|
+
case "deg": split = 90;
|
|
20
|
+
}
|
|
21
|
+
if (split) {
|
|
22
|
+
let num = parseFloat(value.slice(0, value.length - units.length));
|
|
23
|
+
if (isNaN(num)) return 0;
|
|
24
|
+
num = num / split;
|
|
25
|
+
return num % 1 === 0 ? cleanup(num) : 0;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return defaultValue;
|
|
29
|
+
}
|
|
30
|
+
export { rotateFromString };
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { joinerEmoji, vs16Emoji } from "./data.js";
|
|
2
|
+
import { getEmojiCodePoint } from "./convert.js";
|
|
3
|
+
/**
|
|
4
|
+
* Get emoji sequence from string
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* // shows same emoji sequence formatted differently
|
|
8
|
+
* - '1F441 FE0F 200D 1F5E8 FE0F' => [0x1f441, 0xfe0f, 0x200d, 0x1f5e8, 0xfe0f]
|
|
9
|
+
* - '1f441-fe0f-200d-1f5e8-fe0f' => [0x1f441, 0xfe0f, 0x200d, 0x1f5e8, 0xfe0f]
|
|
10
|
+
* - '\\uD83D\\uDC41\\uFE0F\\u200D\\uD83D\\uDDE8\\uFE0F' => [0x1f441, 0xfe0f, 0x200d, 0x1f5e8, 0xfe0f]
|
|
11
|
+
*/
|
|
12
|
+
function getEmojiSequenceFromString(value) {
|
|
13
|
+
return value.trim().split(/[^0-9A-F]+/i).filter((item) => item.length > 0).map(getEmojiCodePoint);
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Convert emoji sequence or keyword
|
|
17
|
+
*
|
|
18
|
+
* If sequence is characters list, like '1f441-fe0f', it will be converted to [0x1f441, 0xfe0f]
|
|
19
|
+
* If sequence contains anything other than [0-9A-F-\s], it will be converted character by character
|
|
20
|
+
*
|
|
21
|
+
* This is used to treat keywords, like ':cat:' differently when converting strings to sequences
|
|
22
|
+
*/
|
|
23
|
+
function getSequenceFromEmojiStringOrKeyword(value) {
|
|
24
|
+
if (!value.match(/^[0-9a-fA-F-\s]+$/)) {
|
|
25
|
+
const results = [];
|
|
26
|
+
for (const codePoint of value) {
|
|
27
|
+
const code = codePoint.codePointAt(0);
|
|
28
|
+
if (code) results.push(code);
|
|
29
|
+
else return getEmojiSequenceFromString(value);
|
|
30
|
+
}
|
|
31
|
+
return results;
|
|
32
|
+
}
|
|
33
|
+
return getEmojiSequenceFromString(value);
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Split emoji sequence by joiner
|
|
37
|
+
*
|
|
38
|
+
* Result represents one emoji, split in smaller sequences separated by 0x200D
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* [0x1FAF1, 0x1F3FB, 0x200D, 0x1FAF2, 0x1F3FC] => [[0x1FAF1, 0x1F3FB], [0x1FAF2, 0x1F3FC]]
|
|
42
|
+
*/
|
|
43
|
+
function splitEmojiSequences(sequence, separator = joinerEmoji) {
|
|
44
|
+
const results = [];
|
|
45
|
+
let queue = [];
|
|
46
|
+
for (let i = 0; i < sequence.length; i++) {
|
|
47
|
+
const code = sequence[i];
|
|
48
|
+
if (code === separator) {
|
|
49
|
+
results.push(queue);
|
|
50
|
+
queue = [];
|
|
51
|
+
} else queue.push(code);
|
|
52
|
+
}
|
|
53
|
+
results.push(queue);
|
|
54
|
+
return results;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Join emoji sequences
|
|
58
|
+
*
|
|
59
|
+
* Parameter represents one emoji, split in smaller sequences
|
|
60
|
+
*
|
|
61
|
+
* @example
|
|
62
|
+
* [[0x1FAF1, 0x1F3FB], [0x1FAF2, 0x1F3FC]] => [0x1FAF1, 0x1F3FB, 0x200D, 0x1FAF2, 0x1F3FC]
|
|
63
|
+
*/
|
|
64
|
+
function joinEmojiSequences(sequences, separator = joinerEmoji) {
|
|
65
|
+
let results = [];
|
|
66
|
+
for (let i = 0; i < sequences.length; i++) {
|
|
67
|
+
if (i > 0) results.push(separator);
|
|
68
|
+
results = results.concat(sequences[i]);
|
|
69
|
+
}
|
|
70
|
+
return results;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Get unqualified sequence
|
|
74
|
+
*/
|
|
75
|
+
function getUnqualifiedEmojiSequence(sequence) {
|
|
76
|
+
return sequence.filter((num) => num !== vs16Emoji);
|
|
77
|
+
}
|
|
78
|
+
export { getEmojiSequenceFromString, getSequenceFromEmojiStringOrKeyword, getUnqualifiedEmojiSequence, joinEmojiSequences, splitEmojiSequences };
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { minUTF32, startUTF32Pair1, startUTF32Pair2 } from "./data.js";
|
|
2
|
+
/**
|
|
3
|
+
* Convert string to number
|
|
4
|
+
*/
|
|
5
|
+
function getEmojiCodePoint(code) {
|
|
6
|
+
return parseInt(code, 16);
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* First part of UTF-32 to UTF-16
|
|
10
|
+
*/
|
|
11
|
+
function utf32FirstNum(code) {
|
|
12
|
+
return (code - minUTF32 >> 10 | 0) + startUTF32Pair1;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* First part of UTF-32 to UTF-16
|
|
16
|
+
*/
|
|
17
|
+
function utf32SecondNum(code) {
|
|
18
|
+
return (code - minUTF32 & 1023) + startUTF32Pair2;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Get UTF-32 as UTF-16 sequence
|
|
22
|
+
*/
|
|
23
|
+
function splitUTF32Number(code) {
|
|
24
|
+
if (code >= 65536) return [utf32FirstNum(code), utf32SecondNum(code)];
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Check if number is UTF-32 split as UTF-16
|
|
28
|
+
*
|
|
29
|
+
* @returns
|
|
30
|
+
* - 1 if number fits first number in sequence
|
|
31
|
+
* - 2 if number fits second number in sequence
|
|
32
|
+
* - false on failure
|
|
33
|
+
*/
|
|
34
|
+
function isUTF32SplitNumber(value) {
|
|
35
|
+
if (value >= 55296) {
|
|
36
|
+
if (value < 56320) return 1;
|
|
37
|
+
if (value < 57344) return 2;
|
|
38
|
+
}
|
|
39
|
+
return false;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Get UTF-16 sequence as UTF-32
|
|
43
|
+
*/
|
|
44
|
+
function mergeUTF32Numbers(part1, part2) {
|
|
45
|
+
if (part1 < 55296 || part1 >= 56320 || part2 < 56320 || part2 >= 57344) return;
|
|
46
|
+
return (part1 - startUTF32Pair1 << 10) + (part2 - startUTF32Pair2) + minUTF32;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Convert hexadecimal string or number to unicode
|
|
50
|
+
*/
|
|
51
|
+
function getEmojiUnicode(code) {
|
|
52
|
+
return String.fromCodePoint(typeof code === "number" ? code : getEmojiCodePoint(code));
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Convert sequence to UTF-16
|
|
56
|
+
*/
|
|
57
|
+
function convertEmojiSequenceToUTF16(numbers) {
|
|
58
|
+
const results = [];
|
|
59
|
+
for (let i = 0; i < numbers.length; i++) {
|
|
60
|
+
const code = numbers[i];
|
|
61
|
+
if (code >= 65536) {
|
|
62
|
+
results.push(utf32FirstNum(code));
|
|
63
|
+
results.push(utf32SecondNum(code));
|
|
64
|
+
} else results.push(code);
|
|
65
|
+
}
|
|
66
|
+
return results;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Convert sequence to UTF-32
|
|
70
|
+
*/
|
|
71
|
+
function convertEmojiSequenceToUTF32(numbers, throwOnError = true) {
|
|
72
|
+
const results = [];
|
|
73
|
+
for (let i = 0; i < numbers.length; i++) {
|
|
74
|
+
const code = numbers[i];
|
|
75
|
+
if (code >= 65536) {
|
|
76
|
+
results.push(code);
|
|
77
|
+
continue;
|
|
78
|
+
}
|
|
79
|
+
const part = isUTF32SplitNumber(code);
|
|
80
|
+
if (!part) {
|
|
81
|
+
results.push(code);
|
|
82
|
+
continue;
|
|
83
|
+
}
|
|
84
|
+
if (part === 1 && numbers.length > i + 1) {
|
|
85
|
+
const merged = mergeUTF32Numbers(code, numbers[i + 1]);
|
|
86
|
+
if (merged) {
|
|
87
|
+
i++;
|
|
88
|
+
results.push(merged);
|
|
89
|
+
continue;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
if (throwOnError) {
|
|
93
|
+
const nextCode = numbers[i + 1];
|
|
94
|
+
throw new Error(`Invalid UTF-16 sequence: ${code.toString(16)}-${nextCode ? nextCode.toString(16) : "undefined"}`);
|
|
95
|
+
}
|
|
96
|
+
results.push(code);
|
|
97
|
+
}
|
|
98
|
+
return results;
|
|
99
|
+
}
|
|
100
|
+
export { convertEmojiSequenceToUTF16, convertEmojiSequenceToUTF32, getEmojiCodePoint, getEmojiUnicode, isUTF32SplitNumber, mergeUTF32Numbers, splitUTF32Number };
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/** Joiner in emoji sequences */
|
|
2
|
+
const joinerEmoji = 8205;
|
|
3
|
+
/** Emoji as icon */
|
|
4
|
+
const vs16Emoji = 65039;
|
|
5
|
+
/** Keycap, preceeded by mandatory VS16 for full emoji */
|
|
6
|
+
const keycapEmoji = 8419;
|
|
7
|
+
const emojiComponents = {
|
|
8
|
+
"hair-style": [129456, 129460],
|
|
9
|
+
"skin-tone": [127995, 128e3]
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* Minimum UTF-32 number
|
|
13
|
+
*/
|
|
14
|
+
const minUTF32 = 65536;
|
|
15
|
+
/**
|
|
16
|
+
* Codes for UTF-32 characters presented as UTF-16
|
|
17
|
+
*
|
|
18
|
+
* startUTF32Pair1 <= code < startUTF32Pair2 -> code for first character in pair
|
|
19
|
+
* startUTF32Pair2 <= code < endUTF32Pair -> code for second character in pair
|
|
20
|
+
*/
|
|
21
|
+
const startUTF32Pair1 = 55296;
|
|
22
|
+
const startUTF32Pair2 = 56320;
|
|
23
|
+
const endUTF32Pair = 57344;
|
|
24
|
+
/**
|
|
25
|
+
* Emoji version as string
|
|
26
|
+
*/
|
|
27
|
+
const emojiVersion = "17.0";
|
|
28
|
+
export { emojiComponents, emojiVersion, endUTF32Pair, joinerEmoji, keycapEmoji, minUTF32, startUTF32Pair1, startUTF32Pair2, vs16Emoji };
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { convertEmojiSequenceToUTF16, convertEmojiSequenceToUTF32 } from "./convert.js";
|
|
2
|
+
const defaultUnicodeOptions = {
|
|
3
|
+
prefix: "",
|
|
4
|
+
separator: "",
|
|
5
|
+
case: "lower",
|
|
6
|
+
format: "utf-32",
|
|
7
|
+
add0: false,
|
|
8
|
+
throwOnError: true
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* Convert number to string
|
|
12
|
+
*/
|
|
13
|
+
function convert(sequence, options) {
|
|
14
|
+
const prefix = options.prefix;
|
|
15
|
+
const func = options.case === "upper" ? "toUpperCase" : "toLowerCase";
|
|
16
|
+
return (options.format === "utf-16" ? convertEmojiSequenceToUTF16(sequence) : convertEmojiSequenceToUTF32(sequence, options.throwOnError)).map((code) => {
|
|
17
|
+
let str = code.toString(16);
|
|
18
|
+
if (options.add0 && str.length < 4) str = "0".repeat(4 - str.length) + str;
|
|
19
|
+
return prefix + str[func]();
|
|
20
|
+
}).join(options.separator);
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Convert unicode number to string
|
|
24
|
+
*
|
|
25
|
+
* Example:
|
|
26
|
+
* 0x1F600 => '1F600'
|
|
27
|
+
*/
|
|
28
|
+
function getEmojiUnicodeString(code, options = {}) {
|
|
29
|
+
return convert([code], {
|
|
30
|
+
...defaultUnicodeOptions,
|
|
31
|
+
...options
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
const defaultSequenceOptions = {
|
|
35
|
+
...defaultUnicodeOptions,
|
|
36
|
+
separator: "-"
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* Convert unicode numbers sequence to string
|
|
40
|
+
*
|
|
41
|
+
* Example:
|
|
42
|
+
* [0x1f441, 0xfe0f] => '1f441-fe0f'
|
|
43
|
+
*/
|
|
44
|
+
function getEmojiSequenceString(sequence, options = {}) {
|
|
45
|
+
return convert(sequence, {
|
|
46
|
+
...defaultSequenceOptions,
|
|
47
|
+
...options
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Convert unicode numbers sequence to string
|
|
52
|
+
*
|
|
53
|
+
* Simple version of `getEmojiSequenceString()` without options that otherwise add to bundle
|
|
54
|
+
*/
|
|
55
|
+
function getEmojiSequenceKeyword(sequence) {
|
|
56
|
+
return sequence.map((code) => code.toString(16)).join("-");
|
|
57
|
+
}
|
|
58
|
+
export { getEmojiSequenceKeyword, getEmojiSequenceString, getEmojiUnicodeString };
|