@purpurds/icon 6.0.2 → 6.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/dist/dynamic-icon.cjs.js +6 -0
- package/dist/dynamic-icon.cjs.js.map +1 -0
- package/dist/dynamic-icon.d.ts +11 -0
- package/dist/dynamic-icon.d.ts.map +1 -0
- package/dist/dynamic-icon.es.js +193 -0
- package/dist/dynamic-icon.es.js.map +1 -0
- package/package.json +12 -7
- package/src/dynamic-icon.tsx +47 -0
- package/src/icon.stories.tsx +54 -7
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const q=require("react/jsx-runtime"),m=require("react"),b=(s,e,t)=>{const i=s[e];return i?typeof i=="function"?i():Promise.resolve(i):new Promise((n,r)=>{(typeof queueMicrotask=="function"?queueMicrotask:setTimeout)(r.bind(null,new Error("Unknown variable dynamic import: "+e+(e.split("/").length!==t?". Note that variables only represent file names one level deep.":""))))})},y=new RegExp("([\\p{Ll}\\d])(\\p{Lu})","gu"),w=new RegExp("(\\p{Lu})([\\p{Lu}][\\p{Ll}])","gu"),k=new RegExp("(\\d)\\p{Ll}|(\\p{L})\\d","u"),_=/[^\p{L}\d]+/giu,h="$1\0$2",v="";function c(s){let e=s.trim();e=e.replace(y,h).replace(w,h),e=e.replace(_,"\0");let t=0,i=e.length;for(;e.charAt(t)==="\0";)t++;if(t===i)return[];for(;e.charAt(i-1)==="\0";)i--;return e.slice(t,i).split(/\0/g)}function x(s){const e=c(s);for(let t=0;t<e.length;t++){const i=e[t],n=k.exec(i);if(n){const r=n.index+(n[1]??n[2]).length;e.splice(t,1,i.slice(0,r),i.slice(r))}}return e}function E(s,e){const[t,i,n]=I(s,e),r=S(e==null?void 0:e.locale),o=L(e==null?void 0:e.locale),a=e!=null&&e.mergeAmbiguousCharacters?A(r,o):C(r,o);return t+i.map((u,l)=>l===0?r(u):a(u,l)).join((e==null?void 0:e.delimiter)??"")+n}function S(s){return s===!1?e=>e.toLowerCase():e=>e.toLocaleLowerCase(s)}function L(s){return s===!1?e=>e.toUpperCase():e=>e.toLocaleUpperCase(s)}function A(s,e){return t=>`${e(t[0])}${s(t.slice(1))}`}function C(s,e){return(t,i)=>{const n=t[0];return(i>0&&n>="0"&&n<="9"?"_"+n:e(n))+s(t.slice(1))}}function I(s,e={}){const t=e.split??(e.separateNumbers?x:c),i=e.prefixCharacters??v,n=e.suffixCharacters??v;let r=0,o=s.length;for(;r<s.length;){const a=s.charAt(r);if(!i.includes(a))break;r++}for(;o>r;){const a=o-1,u=s.charAt(a);if(!n.includes(u))break;o=a}return[s.slice(0,r),t(s.slice(r,o)),s.slice(o)]}function R(s){return s&&s.__esModule&&Object.prototype.hasOwnProperty.call(s,"default")?s.default:s}var p={exports:{}};/*!
|
|
2
|
+
Copyright (c) 2018 Jed Watson.
|
|
3
|
+
Licensed under the MIT License (MIT), see
|
|
4
|
+
http://jedwatson.github.io/classnames
|
|
5
|
+
*/(function(s){(function(){var e={}.hasOwnProperty;function t(){for(var r="",o=0;o<arguments.length;o++){var a=arguments[o];a&&(r=n(r,i.call(this,a)))}return r}function i(r){if(typeof r=="string"||typeof r=="number")return this&&this[r]||r;if(typeof r!="object")return"";if(Array.isArray(r))return t.apply(this,r);if(r.toString!==Object.prototype.toString&&!r.toString.toString().includes("[native code]"))return r.toString();var o="";for(var a in r)e.call(r,a)&&r[a]&&(o=n(o,this&&this[a]||a));return o}function n(r,o){return o?r?r+" "+o:r+o:r}s.exports?(t.default=t,s.exports=t):window.classNames=t})()})(p);var T=p.exports;const $=R(T),j={"purpur-icon":"_purpur-icon_8u1lq_1","purpur-icon--xxs":"_purpur-icon--xxs_8u1lq_4","purpur-icon--xs":"_purpur-icon--xs_8u1lq_8","purpur-icon--sm":"_purpur-icon--sm_8u1lq_12","purpur-icon--md":"_purpur-icon--md_8u1lq_16","purpur-icon--lg":"_purpur-icon--lg_8u1lq_20","purpur-icon--xl":"_purpur-icon--xl_8u1lq_24"},F=$.bind(j),P="purpur-icon",d="md",U=s=>s.filter(e=>Object.keys(e).length>=1).map(e=>`${e.name}="${e.value}"`).join(" "),N=({content:s="",title:e}={})=>{const t=[{name:"xmlns",value:"http://www.w3.org/2000/svg"},{name:"fill",value:"currentColor"},{name:"viewBox",value:"0 0 24 24"},e?{name:"role",value:"img"}:{name:"aria-hidden",value:"true"}],i=e?`<title>${e}</title>`:"";return`<svg ${U(t)}>${i}${s}</svg>`},O=s=>s.replace(/<(\/?)svg([^>]*)>/g,"").trim(),f=({["data-testid"]:s,svg:e,allyTitle:t,className:i,size:n=d,...r})=>{const o=N({content:O(e.svg),title:t}),a=F(i,P,`${P}--${n}`);return q.jsx("span",{"aria-label":t,className:a,"data-testid":s,dangerouslySetInnerHTML:{__html:o},...r})};f.displayName="Icon";const g=({["data-testid"]:s,name:e,className:t,allyTitle:i,size:n=d,...r})=>{const[o,a]=m.useState();return m.useEffect(()=>{(async()=>{try{const l=await b(Object.assign({"./assets/activity-level.ts":()=>Promise.resolve().then(()=>require("./assets/activity-level.cjs.js")),"./assets/add.ts":()=>Promise.resolve().then(()=>require("./assets/add.cjs.js")),"./assets/address-book.ts":()=>Promise.resolve().then(()=>require("./assets/address-book.cjs.js")),"./assets/ai-robot.ts":()=>Promise.resolve().then(()=>require("./assets/ai-robot.cjs.js")),"./assets/airplay.ts":()=>Promise.resolve().then(()=>require("./assets/airplay.cjs.js")),"./assets/alarm-off.ts":()=>Promise.resolve().then(()=>require("./assets/alarm-off.cjs.js")),"./assets/alarm-on.ts":()=>Promise.resolve().then(()=>require("./assets/alarm-on.cjs.js")),"./assets/alert-filled.ts":()=>Promise.resolve().then(()=>require("./assets/alert-filled.cjs.js")),"./assets/alert.ts":()=>Promise.resolve().then(()=>require("./assets/alert.cjs.js")),"./assets/android.ts":()=>Promise.resolve().then(()=>require("./assets/android.cjs.js")),"./assets/apple.ts":()=>Promise.resolve().then(()=>require("./assets/apple.cjs.js")),"./assets/arrow-down.ts":()=>Promise.resolve().then(()=>require("./assets/arrow-down.cjs.js")),"./assets/arrow-left.ts":()=>Promise.resolve().then(()=>require("./assets/arrow-left.cjs.js")),"./assets/arrow-right.ts":()=>Promise.resolve().then(()=>require("./assets/arrow-right.cjs.js")),"./assets/arrow-subdirectory.ts":()=>Promise.resolve().then(()=>require("./assets/arrow-subdirectory.cjs.js")),"./assets/arrow-up.ts":()=>Promise.resolve().then(()=>require("./assets/arrow-up.cjs.js")),"./assets/attachment.ts":()=>Promise.resolve().then(()=>require("./assets/attachment.cjs.js")),"./assets/b2b-customer.ts":()=>Promise.resolve().then(()=>require("./assets/b2b-customer.cjs.js")),"./assets/bag.ts":()=>Promise.resolve().then(()=>require("./assets/bag.cjs.js")),"./assets/bankid.ts":()=>Promise.resolve().then(()=>require("./assets/bankid.cjs.js")),"./assets/bar-chart.ts":()=>Promise.resolve().then(()=>require("./assets/bar-chart.cjs.js")),"./assets/basketball.ts":()=>Promise.resolve().then(()=>require("./assets/basketball.cjs.js")),"./assets/battery.ts":()=>Promise.resolve().then(()=>require("./assets/battery.cjs.js")),"./assets/blood-pressure.ts":()=>Promise.resolve().then(()=>require("./assets/blood-pressure.cjs.js")),"./assets/bluetooth.ts":()=>Promise.resolve().then(()=>require("./assets/bluetooth.cjs.js")),"./assets/bookmark-filled.ts":()=>Promise.resolve().then(()=>require("./assets/bookmark-filled.cjs.js")),"./assets/bookmark.ts":()=>Promise.resolve().then(()=>require("./assets/bookmark.cjs.js")),"./assets/broadband.ts":()=>Promise.resolve().then(()=>require("./assets/broadband.cjs.js")),"./assets/broken-phone.ts":()=>Promise.resolve().then(()=>require("./assets/broken-phone.cjs.js")),"./assets/bulb.ts":()=>Promise.resolve().then(()=>require("./assets/bulb.cjs.js")),"./assets/business-continuity.ts":()=>Promise.resolve().then(()=>require("./assets/business-continuity.cjs.js")),"./assets/business-intelligence.ts":()=>Promise.resolve().then(()=>require("./assets/business-intelligence.cjs.js")),"./assets/calendar.ts":()=>Promise.resolve().then(()=>require("./assets/calendar.cjs.js")),"./assets/camera.ts":()=>Promise.resolve().then(()=>require("./assets/camera.cjs.js")),"./assets/card-view.ts":()=>Promise.resolve().then(()=>require("./assets/card-view.cjs.js")),"./assets/care.ts":()=>Promise.resolve().then(()=>require("./assets/care.cjs.js")),"./assets/cart.ts":()=>Promise.resolve().then(()=>require("./assets/cart.cjs.js")),"./assets/cast.ts":()=>Promise.resolve().then(()=>require("./assets/cast.cjs.js")),"./assets/chat-filled.ts":()=>Promise.resolve().then(()=>require("./assets/chat-filled.cjs.js")),"./assets/chat-robot.ts":()=>Promise.resolve().then(()=>require("./assets/chat-robot.cjs.js")),"./assets/chat.ts":()=>Promise.resolve().then(()=>require("./assets/chat.cjs.js")),"./assets/check-circle-filled.ts":()=>Promise.resolve().then(()=>require("./assets/check-circle-filled.cjs.js")),"./assets/check-circle.ts":()=>Promise.resolve().then(()=>require("./assets/check-circle.cjs.js")),"./assets/checkmark-bold.ts":()=>Promise.resolve().then(()=>require("./assets/checkmark-bold.cjs.js")),"./assets/checkmark.ts":()=>Promise.resolve().then(()=>require("./assets/checkmark.cjs.js")),"./assets/chevron-down.ts":()=>Promise.resolve().then(()=>require("./assets/chevron-down.cjs.js")),"./assets/chevron-left.ts":()=>Promise.resolve().then(()=>require("./assets/chevron-left.cjs.js")),"./assets/chevron-right.ts":()=>Promise.resolve().then(()=>require("./assets/chevron-right.cjs.js")),"./assets/chevron-up.ts":()=>Promise.resolve().then(()=>require("./assets/chevron-up.cjs.js")),"./assets/child-1.ts":()=>Promise.resolve().then(()=>require("./assets/child-1.cjs.js")),"./assets/child-2.ts":()=>Promise.resolve().then(()=>require("./assets/child-2.cjs.js")),"./assets/close-circle.ts":()=>Promise.resolve().then(()=>require("./assets/close-circle.cjs.js")),"./assets/close.ts":()=>Promise.resolve().then(()=>require("./assets/close.cjs.js")),"./assets/cloud-connect.ts":()=>Promise.resolve().then(()=>require("./assets/cloud-connect.cjs.js")),"./assets/cloud.ts":()=>Promise.resolve().then(()=>require("./assets/cloud.cjs.js")),"./assets/coffee.ts":()=>Promise.resolve().then(()=>require("./assets/coffee.cjs.js")),"./assets/compass.ts":()=>Promise.resolve().then(()=>require("./assets/compass.cjs.js")),"./assets/connected-building.ts":()=>Promise.resolve().then(()=>require("./assets/connected-building.cjs.js")),"./assets/connected.ts":()=>Promise.resolve().then(()=>require("./assets/connected.cjs.js")),"./assets/construction.ts":()=>Promise.resolve().then(()=>require("./assets/construction.cjs.js")),"./assets/conversation.ts":()=>Promise.resolve().then(()=>require("./assets/conversation.cjs.js")),"./assets/cookie.ts":()=>Promise.resolve().then(()=>require("./assets/cookie.cjs.js")),"./assets/copy-filled.ts":()=>Promise.resolve().then(()=>require("./assets/copy-filled.cjs.js")),"./assets/copy.ts":()=>Promise.resolve().then(()=>require("./assets/copy.cjs.js")),"./assets/core-router.ts":()=>Promise.resolve().then(()=>require("./assets/core-router.cjs.js")),"./assets/credit-card.ts":()=>Promise.resolve().then(()=>require("./assets/credit-card.cjs.js")),"./assets/customer-dialogue.ts":()=>Promise.resolve().then(()=>require("./assets/customer-dialogue.cjs.js")),"./assets/daas-device.ts":()=>Promise.resolve().then(()=>require("./assets/daas-device.cjs.js")),"./assets/data-transfer.ts":()=>Promise.resolve().then(()=>require("./assets/data-transfer.cjs.js")),"./assets/delivery.ts":()=>Promise.resolve().then(()=>require("./assets/delivery.cjs.js")),"./assets/desktop.ts":()=>Promise.resolve().then(()=>require("./assets/desktop.cjs.js")),"./assets/devices.ts":()=>Promise.resolve().then(()=>require("./assets/devices.cjs.js")),"./assets/dislike.ts":()=>Promise.resolve().then(()=>require("./assets/dislike.cjs.js")),"./assets/doc.ts":()=>Promise.resolve().then(()=>require("./assets/doc.cjs.js")),"./assets/document-doc.ts":()=>Promise.resolve().then(()=>require("./assets/document-doc.cjs.js")),"./assets/document-edit.ts":()=>Promise.resolve().then(()=>require("./assets/document-edit.cjs.js")),"./assets/document-pdf.ts":()=>Promise.resolve().then(()=>require("./assets/document-pdf.cjs.js")),"./assets/document-ppt.ts":()=>Promise.resolve().then(()=>require("./assets/document-ppt.cjs.js")),"./assets/download.ts":()=>Promise.resolve().then(()=>require("./assets/download.cjs.js")),"./assets/drone.ts":()=>Promise.resolve().then(()=>require("./assets/drone.cjs.js")),"./assets/dsl-hub.ts":()=>Promise.resolve().then(()=>require("./assets/dsl-hub.cjs.js")),"./assets/edit.ts":()=>Promise.resolve().then(()=>require("./assets/edit.cjs.js")),"./assets/education.ts":()=>Promise.resolve().then(()=>require("./assets/education.cjs.js")),"./assets/efficiency.ts":()=>Promise.resolve().then(()=>require("./assets/efficiency.cjs.js")),"./assets/email.ts":()=>Promise.resolve().then(()=>require("./assets/email.cjs.js")),"./assets/end-user.ts":()=>Promise.resolve().then(()=>require("./assets/end-user.cjs.js")),"./assets/entertainment.ts":()=>Promise.resolve().then(()=>require("./assets/entertainment.cjs.js")),"./assets/environment.ts":()=>Promise.resolve().then(()=>require("./assets/environment.cjs.js")),"./assets/error-filled.ts":()=>Promise.resolve().then(()=>require("./assets/error-filled.cjs.js")),"./assets/error.ts":()=>Promise.resolve().then(()=>require("./assets/error.cjs.js")),"./assets/esim-simcard.ts":()=>Promise.resolve().then(()=>require("./assets/esim-simcard.cjs.js")),"./assets/esim.ts":()=>Promise.resolve().then(()=>require("./assets/esim.cjs.js")),"./assets/euro.ts":()=>Promise.resolve().then(()=>require("./assets/euro.cjs.js")),"./assets/excel.ts":()=>Promise.resolve().then(()=>require("./assets/excel.cjs.js")),"./assets/external.ts":()=>Promise.resolve().then(()=>require("./assets/external.cjs.js")),"./assets/face-id.ts":()=>Promise.resolve().then(()=>require("./assets/face-id.cjs.js")),"./assets/facebook.ts":()=>Promise.resolve().then(()=>require("./assets/facebook.cjs.js")),"./assets/facemask.ts":()=>Promise.resolve().then(()=>require("./assets/facemask.cjs.js")),"./assets/fiber.ts":()=>Promise.resolve().then(()=>require("./assets/fiber.cjs.js")),"./assets/film.ts":()=>Promise.resolve().then(()=>require("./assets/film.cjs.js")),"./assets/filter.ts":()=>Promise.resolve().then(()=>require("./assets/filter.cjs.js")),"./assets/fingerprint.ts":()=>Promise.resolve().then(()=>require("./assets/fingerprint.cjs.js")),"./assets/fiveg.ts":()=>Promise.resolve().then(()=>require("./assets/fiveg.cjs.js")),"./assets/flag.ts":()=>Promise.resolve().then(()=>require("./assets/flag.cjs.js")),"./assets/focus.ts":()=>Promise.resolve().then(()=>require("./assets/focus.cjs.js")),"./assets/folder-copy.ts":()=>Promise.resolve().then(()=>require("./assets/folder-copy.cjs.js")),"./assets/folder-new.ts":()=>Promise.resolve().then(()=>require("./assets/folder-new.cjs.js")),"./assets/folder.ts":()=>Promise.resolve().then(()=>require("./assets/folder.cjs.js")),"./assets/food.ts":()=>Promise.resolve().then(()=>require("./assets/food.cjs.js")),"./assets/fourg.ts":()=>Promise.resolve().then(()=>require("./assets/fourg.cjs.js")),"./assets/fraud.ts":()=>Promise.resolve().then(()=>require("./assets/fraud.cjs.js")),"./assets/games.ts":()=>Promise.resolve().then(()=>require("./assets/games.cjs.js")),"./assets/getting-started.ts":()=>Promise.resolve().then(()=>require("./assets/getting-started.cjs.js")),"./assets/gif.ts":()=>Promise.resolve().then(()=>require("./assets/gif.cjs.js")),"./assets/google.ts":()=>Promise.resolve().then(()=>require("./assets/google.cjs.js")),"./assets/graph.ts":()=>Promise.resolve().then(()=>require("./assets/graph.cjs.js")),"./assets/grid-view.ts":()=>Promise.resolve().then(()=>require("./assets/grid-view.cjs.js")),"./assets/handshake.ts":()=>Promise.resolve().then(()=>require("./assets/handshake.cjs.js")),"./assets/headphones.ts":()=>Promise.resolve().then(()=>require("./assets/headphones.cjs.js")),"./assets/heart-filled.ts":()=>Promise.resolve().then(()=>require("./assets/heart-filled.cjs.js")),"./assets/heart.ts":()=>Promise.resolve().then(()=>require("./assets/heart.cjs.js")),"./assets/help.ts":()=>Promise.resolve().then(()=>require("./assets/help.cjs.js")),"./assets/home-care.ts":()=>Promise.resolve().then(()=>require("./assets/home-care.cjs.js")),"./assets/home-filled.ts":()=>Promise.resolve().then(()=>require("./assets/home-filled.cjs.js")),"./assets/home-installation.ts":()=>Promise.resolve().then(()=>require("./assets/home-installation.cjs.js")),"./assets/home.ts":()=>Promise.resolve().then(()=>require("./assets/home.cjs.js")),"./assets/hospital.ts":()=>Promise.resolve().then(()=>require("./assets/hospital.cjs.js")),"./assets/image.ts":()=>Promise.resolve().then(()=>require("./assets/image.cjs.js")),"./assets/industrial-iot.ts":()=>Promise.resolve().then(()=>require("./assets/industrial-iot.cjs.js")),"./assets/industry.ts":()=>Promise.resolve().then(()=>require("./assets/industry.cjs.js")),"./assets/infinite.ts":()=>Promise.resolve().then(()=>require("./assets/infinite.cjs.js")),"./assets/info-filled.ts":()=>Promise.resolve().then(()=>require("./assets/info-filled.cjs.js")),"./assets/info.ts":()=>Promise.resolve().then(()=>require("./assets/info.cjs.js")),"./assets/instagram.ts":()=>Promise.resolve().then(()=>require("./assets/instagram.cjs.js")),"./assets/internet.ts":()=>Promise.resolve().then(()=>require("./assets/internet.cjs.js")),"./assets/invisible.ts":()=>Promise.resolve().then(()=>require("./assets/invisible.cjs.js")),"./assets/invoice-filled.ts":()=>Promise.resolve().then(()=>require("./assets/invoice-filled.cjs.js")),"./assets/invoice.ts":()=>Promise.resolve().then(()=>require("./assets/invoice.cjs.js")),"./assets/it-service.ts":()=>Promise.resolve().then(()=>require("./assets/it-service.cjs.js")),"./assets/job-search.ts":()=>Promise.resolve().then(()=>require("./assets/job-search.cjs.js")),"./assets/key.ts":()=>Promise.resolve().then(()=>require("./assets/key.cjs.js")),"./assets/kontantkort.ts":()=>Promise.resolve().then(()=>require("./assets/kontantkort.cjs.js")),"./assets/kr.ts":()=>Promise.resolve().then(()=>require("./assets/kr.cjs.js")),"./assets/laptop.ts":()=>Promise.resolve().then(()=>require("./assets/laptop.cjs.js")),"./assets/late-payment.ts":()=>Promise.resolve().then(()=>require("./assets/late-payment.cjs.js")),"./assets/layers.ts":()=>Promise.resolve().then(()=>require("./assets/layers.cjs.js")),"./assets/letter.ts":()=>Promise.resolve().then(()=>require("./assets/letter.cjs.js")),"./assets/like.ts":()=>Promise.resolve().then(()=>require("./assets/like.cjs.js")),"./assets/link.ts":()=>Promise.resolve().then(()=>require("./assets/link.cjs.js")),"./assets/linkedin.ts":()=>Promise.resolve().then(()=>require("./assets/linkedin.cjs.js")),"./assets/list-view.ts":()=>Promise.resolve().then(()=>require("./assets/list-view.cjs.js")),"./assets/lock-open.ts":()=>Promise.resolve().then(()=>require("./assets/lock-open.cjs.js")),"./assets/lock.ts":()=>Promise.resolve().then(()=>require("./assets/lock.cjs.js")),"./assets/login.ts":()=>Promise.resolve().then(()=>require("./assets/login.cjs.js")),"./assets/logout.ts":()=>Promise.resolve().then(()=>require("./assets/logout.cjs.js")),"./assets/map.ts":()=>Promise.resolve().then(()=>require("./assets/map.cjs.js")),"./assets/maximize.ts":()=>Promise.resolve().then(()=>require("./assets/maximize.cjs.js")),"./assets/measuring-health.ts":()=>Promise.resolve().then(()=>require("./assets/measuring-health.cjs.js")),"./assets/media-content.ts":()=>Promise.resolve().then(()=>require("./assets/media-content.cjs.js")),"./assets/megaphone.ts":()=>Promise.resolve().then(()=>require("./assets/megaphone.cjs.js")),"./assets/menu.ts":()=>Promise.resolve().then(()=>require("./assets/menu.cjs.js")),"./assets/microphone.ts":()=>Promise.resolve().then(()=>require("./assets/microphone.cjs.js")),"./assets/minimize.ts":()=>Promise.resolve().then(()=>require("./assets/minimize.cjs.js")),"./assets/minus-bold.ts":()=>Promise.resolve().then(()=>require("./assets/minus-bold.cjs.js")),"./assets/minus.ts":()=>Promise.resolve().then(()=>require("./assets/minus.cjs.js")),"./assets/mms.ts":()=>Promise.resolve().then(()=>require("./assets/mms.cjs.js")),"./assets/mobile-broadband.ts":()=>Promise.resolve().then(()=>require("./assets/mobile-broadband.cjs.js")),"./assets/moisture.ts":()=>Promise.resolve().then(()=>require("./assets/moisture.cjs.js")),"./assets/money-back-euro.ts":()=>Promise.resolve().then(()=>require("./assets/money-back-euro.cjs.js")),"./assets/money-back-kr.ts":()=>Promise.resolve().then(()=>require("./assets/money-back-kr.cjs.js")),"./assets/money-euro.ts":()=>Promise.resolve().then(()=>require("./assets/money-euro.cjs.js")),"./assets/money-kr.ts":()=>Promise.resolve().then(()=>require("./assets/money-kr.cjs.js")),"./assets/more-horizontal-filled.ts":()=>Promise.resolve().then(()=>require("./assets/more-horizontal-filled.cjs.js")),"./assets/more-horizontal.ts":()=>Promise.resolve().then(()=>require("./assets/more-horizontal.cjs.js")),"./assets/more-vertical.ts":()=>Promise.resolve().then(()=>require("./assets/more-vertical.cjs.js")),"./assets/music.ts":()=>Promise.resolve().then(()=>require("./assets/music.cjs.js")),"./assets/mute.ts":()=>Promise.resolve().then(()=>require("./assets/mute.cjs.js")),"./assets/network.ts":()=>Promise.resolve().then(()=>require("./assets/network.cjs.js")),"./assets/new-contact.ts":()=>Promise.resolve().then(()=>require("./assets/new-contact.cjs.js")),"./assets/new-group.ts":()=>Promise.resolve().then(()=>require("./assets/new-group.cjs.js")),"./assets/news.ts":()=>Promise.resolve().then(()=>require("./assets/news.cjs.js")),"./assets/offering.ts":()=>Promise.resolve().then(()=>require("./assets/offering.cjs.js")),"./assets/offshore.ts":()=>Promise.resolve().then(()=>require("./assets/offshore.cjs.js")),"./assets/oneplus.ts":()=>Promise.resolve().then(()=>require("./assets/oneplus.cjs.js")),"./assets/optimization.ts":()=>Promise.resolve().then(()=>require("./assets/optimization.cjs.js")),"./assets/org-chart.ts":()=>Promise.resolve().then(()=>require("./assets/org-chart.cjs.js")),"./assets/parental-guide.ts":()=>Promise.resolve().then(()=>require("./assets/parental-guide.cjs.js")),"./assets/password-invisible.ts":()=>Promise.resolve().then(()=>require("./assets/password-invisible.cjs.js")),"./assets/password-visible.ts":()=>Promise.resolve().then(()=>require("./assets/password-visible.cjs.js")),"./assets/pay-installments-euro.ts":()=>Promise.resolve().then(()=>require("./assets/pay-installments-euro.cjs.js")),"./assets/pay-installments-kr.ts":()=>Promise.resolve().then(()=>require("./assets/pay-installments-kr.cjs.js")),"./assets/pay-monthly-euro.ts":()=>Promise.resolve().then(()=>require("./assets/pay-monthly-euro.cjs.js")),"./assets/pay-monthly-kr.ts":()=>Promise.resolve().then(()=>require("./assets/pay-monthly-kr.cjs.js")),"./assets/pay-once-euro.ts":()=>Promise.resolve().then(()=>require("./assets/pay-once-euro.cjs.js")),"./assets/pay-once-kr.ts":()=>Promise.resolve().then(()=>require("./assets/pay-once-kr.cjs.js")),"./assets/payment-success.ts":()=>Promise.resolve().then(()=>require("./assets/payment-success.cjs.js")),"./assets/pebble.ts":()=>Promise.resolve().then(()=>require("./assets/pebble.cjs.js")),"./assets/people-hub.ts":()=>Promise.resolve().then(()=>require("./assets/people-hub.cjs.js")),"./assets/people.ts":()=>Promise.resolve().then(()=>require("./assets/people.cjs.js")),"./assets/pet-dog.ts":()=>Promise.resolve().then(()=>require("./assets/pet-dog.cjs.js")),"./assets/phone-recycling.ts":()=>Promise.resolve().then(()=>require("./assets/phone-recycling.cjs.js")),"./assets/phone-ringing.ts":()=>Promise.resolve().then(()=>require("./assets/phone-ringing.cjs.js")),"./assets/phone.ts":()=>Promise.resolve().then(()=>require("./assets/phone.cjs.js")),"./assets/pie-chart.ts":()=>Promise.resolve().then(()=>require("./assets/pie-chart.cjs.js")),"./assets/pin.ts":()=>Promise.resolve().then(()=>require("./assets/pin.cjs.js")),"./assets/plane.ts":()=>Promise.resolve().then(()=>require("./assets/plane.cjs.js")),"./assets/play-filled.ts":()=>Promise.resolve().then(()=>require("./assets/play-filled.cjs.js")),"./assets/play.ts":()=>Promise.resolve().then(()=>require("./assets/play.cjs.js")),"./assets/player-settings.ts":()=>Promise.resolve().then(()=>require("./assets/player-settings.cjs.js")),"./assets/plus-minus.ts":()=>Promise.resolve().then(()=>require("./assets/plus-minus.cjs.js")),"./assets/plus.ts":()=>Promise.resolve().then(()=>require("./assets/plus.cjs.js")),"./assets/police.ts":()=>Promise.resolve().then(()=>require("./assets/police.cjs.js")),"./assets/portal.ts":()=>Promise.resolve().then(()=>require("./assets/portal.cjs.js")),"./assets/power-grid.ts":()=>Promise.resolve().then(()=>require("./assets/power-grid.cjs.js")),"./assets/premises-datacenter.ts":()=>Promise.resolve().then(()=>require("./assets/premises-datacenter.cjs.js")),"./assets/premises-large.ts":()=>Promise.resolve().then(()=>require("./assets/premises-large.cjs.js")),"./assets/premises-medium.ts":()=>Promise.resolve().then(()=>require("./assets/premises-medium.cjs.js")),"./assets/premises-small.ts":()=>Promise.resolve().then(()=>require("./assets/premises-small.cjs.js")),"./assets/premises.ts":()=>Promise.resolve().then(()=>require("./assets/premises.cjs.js")),"./assets/present.ts":()=>Promise.resolve().then(()=>require("./assets/present.cjs.js")),"./assets/press-button.ts":()=>Promise.resolve().then(()=>require("./assets/press-button.cjs.js")),"./assets/price.ts":()=>Promise.resolve().then(()=>require("./assets/price.cjs.js")),"./assets/print.ts":()=>Promise.resolve().then(()=>require("./assets/print.cjs.js")),"./assets/pulse.ts":()=>Promise.resolve().then(()=>require("./assets/pulse.cjs.js")),"./assets/qr-code.ts":()=>Promise.resolve().then(()=>require("./assets/qr-code.cjs.js")),"./assets/question-filled.ts":()=>Promise.resolve().then(()=>require("./assets/question-filled.cjs.js")),"./assets/question.ts":()=>Promise.resolve().then(()=>require("./assets/question.cjs.js")),"./assets/rack.ts":()=>Promise.resolve().then(()=>require("./assets/rack.cjs.js")),"./assets/radio.ts":()=>Promise.resolve().then(()=>require("./assets/radio.cjs.js")),"./assets/record.ts":()=>Promise.resolve().then(()=>require("./assets/record.cjs.js")),"./assets/recycle.ts":()=>Promise.resolve().then(()=>require("./assets/recycle.cjs.js")),"./assets/refill-card.ts":()=>Promise.resolve().then(()=>require("./assets/refill-card.cjs.js")),"./assets/register.ts":()=>Promise.resolve().then(()=>require("./assets/register.cjs.js")),"./assets/remote-control.ts":()=>Promise.resolve().then(()=>require("./assets/remote-control.cjs.js")),"./assets/remove-filled.ts":()=>Promise.resolve().then(()=>require("./assets/remove-filled.cjs.js")),"./assets/remove.ts":()=>Promise.resolve().then(()=>require("./assets/remove.cjs.js")),"./assets/repair.ts":()=>Promise.resolve().then(()=>require("./assets/repair.cjs.js")),"./assets/report.ts":()=>Promise.resolve().then(()=>require("./assets/report.cjs.js")),"./assets/reservation.ts":()=>Promise.resolve().then(()=>require("./assets/reservation.cjs.js")),"./assets/reverse.ts":()=>Promise.resolve().then(()=>require("./assets/reverse.cjs.js")),"./assets/roaming.ts":()=>Promise.resolve().then(()=>require("./assets/roaming.cjs.js")),"./assets/route.ts":()=>Promise.resolve().then(()=>require("./assets/route.cjs.js")),"./assets/router.ts":()=>Promise.resolve().then(()=>require("./assets/router.cjs.js")),"./assets/ruler.ts":()=>Promise.resolve().then(()=>require("./assets/ruler.cjs.js")),"./assets/samsung.ts":()=>Promise.resolve().then(()=>require("./assets/samsung.cjs.js")),"./assets/satellite.ts":()=>Promise.resolve().then(()=>require("./assets/satellite.cjs.js")),"./assets/save.ts":()=>Promise.resolve().then(()=>require("./assets/save.cjs.js")),"./assets/savings.ts":()=>Promise.resolve().then(()=>require("./assets/savings.cjs.js")),"./assets/scan.ts":()=>Promise.resolve().then(()=>require("./assets/scan.cjs.js")),"./assets/search.ts":()=>Promise.resolve().then(()=>require("./assets/search.cjs.js")),"./assets/secure-device.ts":()=>Promise.resolve().then(()=>require("./assets/secure-device.cjs.js")),"./assets/secured-1.ts":()=>Promise.resolve().then(()=>require("./assets/secured-1.cjs.js")),"./assets/secured-2.ts":()=>Promise.resolve().then(()=>require("./assets/secured-2.cjs.js")),"./assets/security-camera.ts":()=>Promise.resolve().then(()=>require("./assets/security-camera.cjs.js")),"./assets/send.ts":()=>Promise.resolve().then(()=>require("./assets/send.cjs.js")),"./assets/sense-car.ts":()=>Promise.resolve().then(()=>require("./assets/sense-car.cjs.js")),"./assets/server.ts":()=>Promise.resolve().then(()=>require("./assets/server.cjs.js")),"./assets/service-device.ts":()=>Promise.resolve().then(()=>require("./assets/service-device.cjs.js")),"./assets/service-supervision.ts":()=>Promise.resolve().then(()=>require("./assets/service-supervision.cjs.js")),"./assets/services.ts":()=>Promise.resolve().then(()=>require("./assets/services.cjs.js")),"./assets/settings.ts":()=>Promise.resolve().then(()=>require("./assets/settings.cjs.js")),"./assets/share.ts":()=>Promise.resolve().then(()=>require("./assets/share.cjs.js")),"./assets/shopping.ts":()=>Promise.resolve().then(()=>require("./assets/shopping.cjs.js")),"./assets/shuffle.ts":()=>Promise.resolve().then(()=>require("./assets/shuffle.cjs.js")),"./assets/signature.ts":()=>Promise.resolve().then(()=>require("./assets/signature.cjs.js")),"./assets/simcard.ts":()=>Promise.resolve().then(()=>require("./assets/simcard.cjs.js")),"./assets/skip-back-10sec.ts":()=>Promise.resolve().then(()=>require("./assets/skip-back-10sec.cjs.js")),"./assets/skip-back-30sec.ts":()=>Promise.resolve().then(()=>require("./assets/skip-back-30sec.cjs.js")),"./assets/skip-forward-10sec.ts":()=>Promise.resolve().then(()=>require("./assets/skip-forward-10sec.cjs.js")),"./assets/skip-forward-30sec.ts":()=>Promise.resolve().then(()=>require("./assets/skip-forward-30sec.cjs.js")),"./assets/slow-wifi.ts":()=>Promise.resolve().then(()=>require("./assets/slow-wifi.cjs.js")),"./assets/smart-wifi.ts":()=>Promise.resolve().then(()=>require("./assets/smart-wifi.cjs.js")),"./assets/smartphone.ts":()=>Promise.resolve().then(()=>require("./assets/smartphone.cjs.js")),"./assets/smartwatch.ts":()=>Promise.resolve().then(()=>require("./assets/smartwatch.cjs.js")),"./assets/smiley-happy.ts":()=>Promise.resolve().then(()=>require("./assets/smiley-happy.cjs.js")),"./assets/smiley-sad.ts":()=>Promise.resolve().then(()=>require("./assets/smiley-sad.cjs.js")),"./assets/sms.ts":()=>Promise.resolve().then(()=>require("./assets/sms.cjs.js")),"./assets/snapchat.ts":()=>Promise.resolve().then(()=>require("./assets/snapchat.cjs.js")),"./assets/snowflake.ts":()=>Promise.resolve().then(()=>require("./assets/snowflake.cjs.js")),"./assets/sorter.ts":()=>Promise.resolve().then(()=>require("./assets/sorter.cjs.js")),"./assets/speedometer.ts":()=>Promise.resolve().then(()=>require("./assets/speedometer.cjs.js")),"./assets/spell-check.ts":()=>Promise.resolve().then(()=>require("./assets/spell-check.cjs.js")),"./assets/split.ts":()=>Promise.resolve().then(()=>require("./assets/split.cjs.js")),"./assets/spyware.ts":()=>Promise.resolve().then(()=>require("./assets/spyware.cjs.js")),"./assets/star-filled.ts":()=>Promise.resolve().then(()=>require("./assets/star-filled.cjs.js")),"./assets/star.ts":()=>Promise.resolve().then(()=>require("./assets/star.cjs.js")),"./assets/stop.ts":()=>Promise.resolve().then(()=>require("./assets/stop.cjs.js")),"./assets/store.ts":()=>Promise.resolve().then(()=>require("./assets/store.cjs.js")),"./assets/stream.ts":()=>Promise.resolve().then(()=>require("./assets/stream.cjs.js")),"./assets/suitcase.ts":()=>Promise.resolve().then(()=>require("./assets/suitcase.cjs.js")),"./assets/summary.ts":()=>Promise.resolve().then(()=>require("./assets/summary.cjs.js")),"./assets/support.ts":()=>Promise.resolve().then(()=>require("./assets/support.cjs.js")),"./assets/sustainability.ts":()=>Promise.resolve().then(()=>require("./assets/sustainability.cjs.js")),"./assets/switch-arrows.ts":()=>Promise.resolve().then(()=>require("./assets/switch-arrows.cjs.js")),"./assets/sync.ts":()=>Promise.resolve().then(()=>require("./assets/sync.cjs.js")),"./assets/table-view.ts":()=>Promise.resolve().then(()=>require("./assets/table-view.cjs.js")),"./assets/tablet.ts":()=>Promise.resolve().then(()=>require("./assets/tablet.cjs.js")),"./assets/tag.ts":()=>Promise.resolve().then(()=>require("./assets/tag.cjs.js")),"./assets/temperature.ts":()=>Promise.resolve().then(()=>require("./assets/temperature.cjs.js")),"./assets/thinking.ts":()=>Promise.resolve().then(()=>require("./assets/thinking.cjs.js")),"./assets/time.ts":()=>Promise.resolve().then(()=>require("./assets/time.cjs.js")),"./assets/trade-phone.ts":()=>Promise.resolve().then(()=>require("./assets/trade-phone.cjs.js")),"./assets/trailer.ts":()=>Promise.resolve().then(()=>require("./assets/trailer.cjs.js")),"./assets/train.ts":()=>Promise.resolve().then(()=>require("./assets/train.cjs.js")),"./assets/transfer.ts":()=>Promise.resolve().then(()=>require("./assets/transfer.cjs.js")),"./assets/troubleshoot.ts":()=>Promise.resolve().then(()=>require("./assets/troubleshoot.cjs.js")),"./assets/tv-next.ts":()=>Promise.resolve().then(()=>require("./assets/tv-next.cjs.js")),"./assets/tv-pause.ts":()=>Promise.resolve().then(()=>require("./assets/tv-pause.cjs.js")),"./assets/tv-previous.ts":()=>Promise.resolve().then(()=>require("./assets/tv-previous.cjs.js")),"./assets/tv-stop.ts":()=>Promise.resolve().then(()=>require("./assets/tv-stop.cjs.js")),"./assets/tv.ts":()=>Promise.resolve().then(()=>require("./assets/tv.cjs.js")),"./assets/undo.ts":()=>Promise.resolve().then(()=>require("./assets/undo.cjs.js")),"./assets/upload.ts":()=>Promise.resolve().then(()=>require("./assets/upload.cjs.js")),"./assets/usb.ts":()=>Promise.resolve().then(()=>require("./assets/usb.cjs.js")),"./assets/user-admin.ts":()=>Promise.resolve().then(()=>require("./assets/user-admin.cjs.js")),"./assets/vcard.ts":()=>Promise.resolve().then(()=>require("./assets/vcard.cjs.js")),"./assets/video-conference.ts":()=>Promise.resolve().then(()=>require("./assets/video-conference.cjs.js")),"./assets/video.ts":()=>Promise.resolve().then(()=>require("./assets/video.cjs.js")),"./assets/visible.ts":()=>Promise.resolve().then(()=>require("./assets/visible.cjs.js")),"./assets/voice-switch.ts":()=>Promise.resolve().then(()=>require("./assets/voice-switch.cjs.js")),"./assets/voicemail.ts":()=>Promise.resolve().then(()=>require("./assets/voicemail.cjs.js")),"./assets/volume.ts":()=>Promise.resolve().then(()=>require("./assets/volume.cjs.js")),"./assets/wallet.ts":()=>Promise.resolve().then(()=>require("./assets/wallet.cjs.js")),"./assets/wallplug.ts":()=>Promise.resolve().then(()=>require("./assets/wallplug.cjs.js")),"./assets/warning.ts":()=>Promise.resolve().then(()=>require("./assets/warning.cjs.js")),"./assets/wavelength.ts":()=>Promise.resolve().then(()=>require("./assets/wavelength.cjs.js")),"./assets/weather.ts":()=>Promise.resolve().then(()=>require("./assets/weather.cjs.js")),"./assets/whatsapp.ts":()=>Promise.resolve().then(()=>require("./assets/whatsapp.cjs.js")),"./assets/windows.ts":()=>Promise.resolve().then(()=>require("./assets/windows.cjs.js")),"./assets/wireless-off.ts":()=>Promise.resolve().then(()=>require("./assets/wireless-off.cjs.js")),"./assets/wireless-weak.ts":()=>Promise.resolve().then(()=>require("./assets/wireless-weak.cjs.js")),"./assets/wireless.ts":()=>Promise.resolve().then(()=>require("./assets/wireless.cjs.js")),"./assets/world-alert.ts":()=>Promise.resolve().then(()=>require("./assets/world-alert.cjs.js")),"./assets/world-off.ts":()=>Promise.resolve().then(()=>require("./assets/world-off.cjs.js")),"./assets/world-question.ts":()=>Promise.resolve().then(()=>require("./assets/world-question.cjs.js")),"./assets/world.ts":()=>Promise.resolve().then(()=>require("./assets/world.cjs.js")),"./assets/x.ts":()=>Promise.resolve().then(()=>require("./assets/x.cjs.js")),"./assets/xiaomi.ts":()=>Promise.resolve().then(()=>require("./assets/xiaomi.cjs.js")),"./assets/youtube.ts":()=>Promise.resolve().then(()=>require("./assets/youtube.cjs.js")),"./assets/zoom-out.ts":()=>Promise.resolve().then(()=>require("./assets/zoom-out.cjs.js")),"./assets/zoom.ts":()=>Promise.resolve().then(()=>require("./assets/zoom.cjs.js"))}),`./assets/${e}.ts`,3);a(l[E(e,{mergeAmbiguousCharacters:!0})])}catch(l){console.error(`Error importing asset "${e}":`,l)}})()},[e]),o?q.jsx(f,{allyTitle:i,className:t,size:n,"data-testid":s,svg:o,...r}):null};g.displayName="DynamicIcon";exports.DynamicIcon=g;
|
|
6
|
+
//# sourceMappingURL=dynamic-icon.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dynamic-icon.cjs.js","sources":["../../../common/temp/node_modules/.pnpm/change-case@5.4.4/node_modules/change-case/dist/index.js","../../../common/temp/node_modules/.pnpm/classnames@2.5.1/node_modules/classnames/bind.js","../src/icon.tsx","../src/dynamic-icon.tsx"],"sourcesContent":["// Regexps involved with splitting words in various case formats.\nconst SPLIT_LOWER_UPPER_RE = /([\\p{Ll}\\d])(\\p{Lu})/gu;\nconst SPLIT_UPPER_UPPER_RE = /(\\p{Lu})([\\p{Lu}][\\p{Ll}])/gu;\n// Used to iterate over the initial split result and separate numbers.\nconst SPLIT_SEPARATE_NUMBER_RE = /(\\d)\\p{Ll}|(\\p{L})\\d/u;\n// Regexp involved with stripping non-word characters from the result.\nconst DEFAULT_STRIP_REGEXP = /[^\\p{L}\\d]+/giu;\n// The replacement value for splits.\nconst SPLIT_REPLACE_VALUE = \"$1\\0$2\";\n// The default characters to keep after transforming case.\nconst DEFAULT_PREFIX_SUFFIX_CHARACTERS = \"\";\n/**\n * Split any cased input strings into an array of words.\n */\nexport function split(value) {\n let result = value.trim();\n result = result\n .replace(SPLIT_LOWER_UPPER_RE, SPLIT_REPLACE_VALUE)\n .replace(SPLIT_UPPER_UPPER_RE, SPLIT_REPLACE_VALUE);\n result = result.replace(DEFAULT_STRIP_REGEXP, \"\\0\");\n let start = 0;\n let end = result.length;\n // Trim the delimiter from around the output string.\n while (result.charAt(start) === \"\\0\")\n start++;\n if (start === end)\n return [];\n while (result.charAt(end - 1) === \"\\0\")\n end--;\n return result.slice(start, end).split(/\\0/g);\n}\n/**\n * Split the input string into an array of words, separating numbers.\n */\nexport function splitSeparateNumbers(value) {\n const words = split(value);\n for (let i = 0; i < words.length; i++) {\n const word = words[i];\n const match = SPLIT_SEPARATE_NUMBER_RE.exec(word);\n if (match) {\n const offset = match.index + (match[1] ?? match[2]).length;\n words.splice(i, 1, word.slice(0, offset), word.slice(offset));\n }\n }\n return words;\n}\n/**\n * Convert a string to space separated lower case (`foo bar`).\n */\nexport function noCase(input, options) {\n const [prefix, words, suffix] = splitPrefixSuffix(input, options);\n return (prefix +\n words.map(lowerFactory(options?.locale)).join(options?.delimiter ?? \" \") +\n suffix);\n}\n/**\n * Convert a string to camel case (`fooBar`).\n */\nexport function camelCase(input, options) {\n const [prefix, words, suffix] = splitPrefixSuffix(input, options);\n const lower = lowerFactory(options?.locale);\n const upper = upperFactory(options?.locale);\n const transform = options?.mergeAmbiguousCharacters\n ? capitalCaseTransformFactory(lower, upper)\n : pascalCaseTransformFactory(lower, upper);\n return (prefix +\n words\n .map((word, index) => {\n if (index === 0)\n return lower(word);\n return transform(word, index);\n })\n .join(options?.delimiter ?? \"\") +\n suffix);\n}\n/**\n * Convert a string to pascal case (`FooBar`).\n */\nexport function pascalCase(input, options) {\n const [prefix, words, suffix] = splitPrefixSuffix(input, options);\n const lower = lowerFactory(options?.locale);\n const upper = upperFactory(options?.locale);\n const transform = options?.mergeAmbiguousCharacters\n ? capitalCaseTransformFactory(lower, upper)\n : pascalCaseTransformFactory(lower, upper);\n return prefix + words.map(transform).join(options?.delimiter ?? \"\") + suffix;\n}\n/**\n * Convert a string to pascal snake case (`Foo_Bar`).\n */\nexport function pascalSnakeCase(input, options) {\n return capitalCase(input, { delimiter: \"_\", ...options });\n}\n/**\n * Convert a string to capital case (`Foo Bar`).\n */\nexport function capitalCase(input, options) {\n const [prefix, words, suffix] = splitPrefixSuffix(input, options);\n const lower = lowerFactory(options?.locale);\n const upper = upperFactory(options?.locale);\n return (prefix +\n words\n .map(capitalCaseTransformFactory(lower, upper))\n .join(options?.delimiter ?? \" \") +\n suffix);\n}\n/**\n * Convert a string to constant case (`FOO_BAR`).\n */\nexport function constantCase(input, options) {\n const [prefix, words, suffix] = splitPrefixSuffix(input, options);\n return (prefix +\n words.map(upperFactory(options?.locale)).join(options?.delimiter ?? \"_\") +\n suffix);\n}\n/**\n * Convert a string to dot case (`foo.bar`).\n */\nexport function dotCase(input, options) {\n return noCase(input, { delimiter: \".\", ...options });\n}\n/**\n * Convert a string to kebab case (`foo-bar`).\n */\nexport function kebabCase(input, options) {\n return noCase(input, { delimiter: \"-\", ...options });\n}\n/**\n * Convert a string to path case (`foo/bar`).\n */\nexport function pathCase(input, options) {\n return noCase(input, { delimiter: \"/\", ...options });\n}\n/**\n * Convert a string to path case (`Foo bar`).\n */\nexport function sentenceCase(input, options) {\n const [prefix, words, suffix] = splitPrefixSuffix(input, options);\n const lower = lowerFactory(options?.locale);\n const upper = upperFactory(options?.locale);\n const transform = capitalCaseTransformFactory(lower, upper);\n return (prefix +\n words\n .map((word, index) => {\n if (index === 0)\n return transform(word);\n return lower(word);\n })\n .join(options?.delimiter ?? \" \") +\n suffix);\n}\n/**\n * Convert a string to snake case (`foo_bar`).\n */\nexport function snakeCase(input, options) {\n return noCase(input, { delimiter: \"_\", ...options });\n}\n/**\n * Convert a string to header case (`Foo-Bar`).\n */\nexport function trainCase(input, options) {\n return capitalCase(input, { delimiter: \"-\", ...options });\n}\nfunction lowerFactory(locale) {\n return locale === false\n ? (input) => input.toLowerCase()\n : (input) => input.toLocaleLowerCase(locale);\n}\nfunction upperFactory(locale) {\n return locale === false\n ? (input) => input.toUpperCase()\n : (input) => input.toLocaleUpperCase(locale);\n}\nfunction capitalCaseTransformFactory(lower, upper) {\n return (word) => `${upper(word[0])}${lower(word.slice(1))}`;\n}\nfunction pascalCaseTransformFactory(lower, upper) {\n return (word, index) => {\n const char0 = word[0];\n const initial = index > 0 && char0 >= \"0\" && char0 <= \"9\" ? \"_\" + char0 : upper(char0);\n return initial + lower(word.slice(1));\n };\n}\nfunction splitPrefixSuffix(input, options = {}) {\n const splitFn = options.split ?? (options.separateNumbers ? splitSeparateNumbers : split);\n const prefixCharacters = options.prefixCharacters ?? DEFAULT_PREFIX_SUFFIX_CHARACTERS;\n const suffixCharacters = options.suffixCharacters ?? DEFAULT_PREFIX_SUFFIX_CHARACTERS;\n let prefixIndex = 0;\n let suffixIndex = input.length;\n while (prefixIndex < input.length) {\n const char = input.charAt(prefixIndex);\n if (!prefixCharacters.includes(char))\n break;\n prefixIndex++;\n }\n while (suffixIndex > prefixIndex) {\n const index = suffixIndex - 1;\n const char = input.charAt(index);\n if (!suffixCharacters.includes(char))\n break;\n suffixIndex = index;\n }\n return [\n input.slice(0, prefixIndex),\n splitFn(input.slice(prefixIndex, suffixIndex)),\n input.slice(suffixIndex),\n ];\n}\n//# sourceMappingURL=index.js.map","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue.call(this, arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn this && this[arg] || arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(this, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, this && this[key] || key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import React from \"react\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./icon.module.scss\";\nimport type { iconList } from \"./icon-imports\";\nexport declare type IconName = keyof typeof iconList;\n\nconst cx = c.bind(styles);\nconst rootClassName = \"purpur-icon\";\n\nexport const sizes = [\"xxs\", \"xs\", \"sm\", \"md\", \"lg\", \"xl\"] as const;\nexport const DEFAULT_SIZE = \"md\" as const;\n\nexport type Size = (typeof sizes)[number];\n\ntype CreateSvg = {\n content?: string;\n title?: string;\n ariaHidden?: boolean;\n};\n\nexport type IconBaseProps = {\n size?: Size;\n allyTitle?: string;\n [\"data-testid\"]?: string;\n className?: string;\n};\n\nexport type IconProps = {\n svg: { svg: string; name: string };\n} & IconBaseProps;\n\n// Create string from array of attributes\nconst getAttributesString = (attributeCollection: Record<string, unknown>[]) =>\n attributeCollection\n .filter((attr) => Object.keys(attr).length >= 1) // remove empty object\n .map((item) => `${item.name}=\"${item.value}\"`)\n .join(\" \");\n\nconst createSvg = ({ content = \"\", title }: CreateSvg = {}) => {\n const attributeCollection = [\n { name: \"xmlns\", value: \"http://www.w3.org/2000/svg\" },\n { name: \"fill\", value: \"currentColor\" },\n { name: \"viewBox\", value: \"0 0 24 24\" },\n title ? { name: \"role\", value: \"img\" } : { name: \"aria-hidden\", value: \"true\" },\n ];\n\n const titleElement = title ? `<title>${title}</title>` : \"\";\n return `<svg ${getAttributesString(attributeCollection)}>${titleElement}${content}</svg>`;\n};\n\n// Remove svg tags\nconst getSvgContent = (svg: string): string => svg.replace(/<(\\/?)svg([^>]*)>/g, \"\").trim();\n\nexport const Icon = ({\n [\"data-testid\"]: dataTestid,\n svg,\n allyTitle,\n className,\n size = DEFAULT_SIZE,\n ...props\n}: IconProps) => {\n const svgString = createSvg({\n content: getSvgContent(svg.svg),\n title: allyTitle,\n });\n\n const classes = cx(className, rootClassName, `${rootClassName}--${size}`);\n\n return (\n <span\n aria-label={allyTitle}\n className={classes}\n data-testid={dataTestid}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{ __html: svgString }}\n {...props}\n />\n );\n};\n\nIcon.displayName = \"Icon\";\n","import React, { useEffect, useState } from \"react\";\nimport { camelCase } from \"change-case\";\n\nimport { DEFAULT_SIZE, Icon, IconBaseProps, IconName, IconProps } from \"./icon\";\n\nexport type DynamicIconProps = {\n name: IconName;\n} & IconBaseProps;\n\nexport const DynamicIcon = ({\n [\"data-testid\"]: dataTestId,\n name,\n className,\n allyTitle,\n size = DEFAULT_SIZE,\n ...props\n}: DynamicIconProps) => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const [asset, setAsset] = useState<IconProps[\"svg\"]>();\n\n useEffect(() => {\n const importAsset = async () => {\n try {\n const module = await import(`./assets/${name}.ts`);\n setAsset(module[camelCase(name, { mergeAmbiguousCharacters: true })]);\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(`Error importing asset \"${name}\":`, error);\n }\n };\n\n importAsset();\n }, [name]);\n\n return asset ? (\n <Icon\n allyTitle={allyTitle}\n className={className}\n size={size}\n data-testid={dataTestId}\n svg={asset}\n {...props}\n />\n ) : null;\n};\n\nDynamicIcon.displayName = \"DynamicIcon\";\n"],"names":["SPLIT_LOWER_UPPER_RE","SPLIT_UPPER_UPPER_RE","SPLIT_SEPARATE_NUMBER_RE","DEFAULT_STRIP_REGEXP","SPLIT_REPLACE_VALUE","DEFAULT_PREFIX_SUFFIX_CHARACTERS","split","value","result","start","end","splitSeparateNumbers","words","i","word","match","offset","camelCase","input","options","prefix","suffix","splitPrefixSuffix","lower","lowerFactory","upper","upperFactory","transform","capitalCaseTransformFactory","pascalCaseTransformFactory","index","locale","char0","splitFn","prefixCharacters","suffixCharacters","prefixIndex","suffixIndex","char","hasOwn","classNames","classes","arg","appendClass","parseValue","key","newClass","module","cx","c","styles","rootClassName","DEFAULT_SIZE","getAttributesString","attributeCollection","attr","item","createSvg","content","title","titleElement","getSvgContent","svg","Icon","dataTestid","allyTitle","className","size","props","svgString","jsx","DynamicIcon","dataTestId","name","asset","setAsset","useState","useEffect","__variableDynamicImportRuntimeHelper","error"],"mappings":"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","x_google_ignoreList":[0,1]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { IconBaseProps, IconName } from './icon';
|
|
3
|
+
|
|
4
|
+
export type DynamicIconProps = {
|
|
5
|
+
name: IconName;
|
|
6
|
+
} & IconBaseProps;
|
|
7
|
+
export declare const DynamicIcon: {
|
|
8
|
+
({ ["data-testid"]: dataTestId, name, className, allyTitle, size, ...props }: DynamicIconProps): React.JSX.Element | null;
|
|
9
|
+
displayName: string;
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=dynamic-icon.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dynamic-icon.d.ts","sourceRoot":"","sources":["../src/dynamic-icon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAGnD,OAAO,EAAsB,aAAa,EAAE,QAAQ,EAAa,MAAM,QAAQ,CAAC;AAEhF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,QAAQ,CAAC;CAChB,GAAG,aAAa,CAAC;AAElB,eAAO,MAAM,WAAW;kFAOrB,gBAAgB;;CA4BlB,CAAC"}
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
import { jsx as d } from "react/jsx-runtime";
|
|
2
|
+
import { useState as b, useEffect as w } from "react";
|
|
3
|
+
const y = (t, s, r) => {
|
|
4
|
+
const i = t[s];
|
|
5
|
+
return i ? typeof i == "function" ? i() : Promise.resolve(i) : new Promise((a, e) => {
|
|
6
|
+
(typeof queueMicrotask == "function" ? queueMicrotask : setTimeout)(
|
|
7
|
+
e.bind(
|
|
8
|
+
null,
|
|
9
|
+
new Error(
|
|
10
|
+
"Unknown variable dynamic import: " + s + (s.split("/").length !== r ? ". Note that variables only represent file names one level deep." : "")
|
|
11
|
+
)
|
|
12
|
+
)
|
|
13
|
+
);
|
|
14
|
+
});
|
|
15
|
+
}, k = new RegExp("([\\p{Ll}\\d])(\\p{Lu})", "gu"), _ = new RegExp("(\\p{Lu})([\\p{Lu}][\\p{Ll}])", "gu"), x = new RegExp("(\\d)\\p{Ll}|(\\p{L})\\d", "u"), E = /[^\p{L}\d]+/giu, c = "$1\0$2", l = "";
|
|
16
|
+
function f(t) {
|
|
17
|
+
let s = t.trim();
|
|
18
|
+
s = s.replace(k, c).replace(_, c), s = s.replace(E, "\0");
|
|
19
|
+
let r = 0, i = s.length;
|
|
20
|
+
for (; s.charAt(r) === "\0"; )
|
|
21
|
+
r++;
|
|
22
|
+
if (r === i)
|
|
23
|
+
return [];
|
|
24
|
+
for (; s.charAt(i - 1) === "\0"; )
|
|
25
|
+
i--;
|
|
26
|
+
return s.slice(r, i).split(/\0/g);
|
|
27
|
+
}
|
|
28
|
+
function L(t) {
|
|
29
|
+
const s = f(t);
|
|
30
|
+
for (let r = 0; r < s.length; r++) {
|
|
31
|
+
const i = s[r], a = x.exec(i);
|
|
32
|
+
if (a) {
|
|
33
|
+
const e = a.index + (a[1] ?? a[2]).length;
|
|
34
|
+
s.splice(r, 1, i.slice(0, e), i.slice(e));
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return s;
|
|
38
|
+
}
|
|
39
|
+
function S(t, s) {
|
|
40
|
+
const [r, i, a] = R(t, s), e = A(s == null ? void 0 : s.locale), o = C(s == null ? void 0 : s.locale), p = s != null && s.mergeAmbiguousCharacters ? P(e, o) : I(e, o);
|
|
41
|
+
return r + i.map((n, m) => m === 0 ? e(n) : p(n, m)).join((s == null ? void 0 : s.delimiter) ?? "") + a;
|
|
42
|
+
}
|
|
43
|
+
function A(t) {
|
|
44
|
+
return t === !1 ? (s) => s.toLowerCase() : (s) => s.toLocaleLowerCase(t);
|
|
45
|
+
}
|
|
46
|
+
function C(t) {
|
|
47
|
+
return t === !1 ? (s) => s.toUpperCase() : (s) => s.toLocaleUpperCase(t);
|
|
48
|
+
}
|
|
49
|
+
function P(t, s) {
|
|
50
|
+
return (r) => `${s(r[0])}${t(r.slice(1))}`;
|
|
51
|
+
}
|
|
52
|
+
function I(t, s) {
|
|
53
|
+
return (r, i) => {
|
|
54
|
+
const a = r[0];
|
|
55
|
+
return (i > 0 && a >= "0" && a <= "9" ? "_" + a : s(a)) + t(r.slice(1));
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
function R(t, s = {}) {
|
|
59
|
+
const r = s.split ?? (s.separateNumbers ? L : f), i = s.prefixCharacters ?? l, a = s.suffixCharacters ?? l;
|
|
60
|
+
let e = 0, o = t.length;
|
|
61
|
+
for (; e < t.length; ) {
|
|
62
|
+
const p = t.charAt(e);
|
|
63
|
+
if (!i.includes(p))
|
|
64
|
+
break;
|
|
65
|
+
e++;
|
|
66
|
+
}
|
|
67
|
+
for (; o > e; ) {
|
|
68
|
+
const p = o - 1, n = t.charAt(p);
|
|
69
|
+
if (!a.includes(n))
|
|
70
|
+
break;
|
|
71
|
+
o = p;
|
|
72
|
+
}
|
|
73
|
+
return [
|
|
74
|
+
t.slice(0, e),
|
|
75
|
+
r(t.slice(e, o)),
|
|
76
|
+
t.slice(o)
|
|
77
|
+
];
|
|
78
|
+
}
|
|
79
|
+
function $(t) {
|
|
80
|
+
return t && t.__esModule && Object.prototype.hasOwnProperty.call(t, "default") ? t.default : t;
|
|
81
|
+
}
|
|
82
|
+
var h = { exports: {} };
|
|
83
|
+
/*!
|
|
84
|
+
Copyright (c) 2018 Jed Watson.
|
|
85
|
+
Licensed under the MIT License (MIT), see
|
|
86
|
+
http://jedwatson.github.io/classnames
|
|
87
|
+
*/
|
|
88
|
+
(function(t) {
|
|
89
|
+
(function() {
|
|
90
|
+
var s = {}.hasOwnProperty;
|
|
91
|
+
function r() {
|
|
92
|
+
for (var e = "", o = 0; o < arguments.length; o++) {
|
|
93
|
+
var p = arguments[o];
|
|
94
|
+
p && (e = a(e, i.call(this, p)));
|
|
95
|
+
}
|
|
96
|
+
return e;
|
|
97
|
+
}
|
|
98
|
+
function i(e) {
|
|
99
|
+
if (typeof e == "string" || typeof e == "number")
|
|
100
|
+
return this && this[e] || e;
|
|
101
|
+
if (typeof e != "object")
|
|
102
|
+
return "";
|
|
103
|
+
if (Array.isArray(e))
|
|
104
|
+
return r.apply(this, e);
|
|
105
|
+
if (e.toString !== Object.prototype.toString && !e.toString.toString().includes("[native code]"))
|
|
106
|
+
return e.toString();
|
|
107
|
+
var o = "";
|
|
108
|
+
for (var p in e)
|
|
109
|
+
s.call(e, p) && e[p] && (o = a(o, this && this[p] || p));
|
|
110
|
+
return o;
|
|
111
|
+
}
|
|
112
|
+
function a(e, o) {
|
|
113
|
+
return o ? e ? e + " " + o : e + o : e;
|
|
114
|
+
}
|
|
115
|
+
t.exports ? (r.default = r, t.exports = r) : window.classNames = r;
|
|
116
|
+
})();
|
|
117
|
+
})(h);
|
|
118
|
+
var q = h.exports;
|
|
119
|
+
const T = /* @__PURE__ */ $(q), F = {
|
|
120
|
+
"purpur-icon": "_purpur-icon_8u1lq_1",
|
|
121
|
+
"purpur-icon--xxs": "_purpur-icon--xxs_8u1lq_4",
|
|
122
|
+
"purpur-icon--xs": "_purpur-icon--xs_8u1lq_8",
|
|
123
|
+
"purpur-icon--sm": "_purpur-icon--sm_8u1lq_12",
|
|
124
|
+
"purpur-icon--md": "_purpur-icon--md_8u1lq_16",
|
|
125
|
+
"purpur-icon--lg": "_purpur-icon--lg_8u1lq_20",
|
|
126
|
+
"purpur-icon--xl": "_purpur-icon--xl_8u1lq_24"
|
|
127
|
+
}, U = T.bind(F), u = "purpur-icon", g = "md", j = (t) => t.filter((s) => Object.keys(s).length >= 1).map((s) => `${s.name}="${s.value}"`).join(" "), N = ({ content: t = "", title: s } = {}) => {
|
|
128
|
+
const r = [
|
|
129
|
+
{ name: "xmlns", value: "http://www.w3.org/2000/svg" },
|
|
130
|
+
{ name: "fill", value: "currentColor" },
|
|
131
|
+
{ name: "viewBox", value: "0 0 24 24" },
|
|
132
|
+
s ? { name: "role", value: "img" } : { name: "aria-hidden", value: "true" }
|
|
133
|
+
], i = s ? `<title>${s}</title>` : "";
|
|
134
|
+
return `<svg ${j(r)}>${i}${t}</svg>`;
|
|
135
|
+
}, O = (t) => t.replace(/<(\/?)svg([^>]*)>/g, "").trim(), v = ({
|
|
136
|
+
["data-testid"]: t,
|
|
137
|
+
svg: s,
|
|
138
|
+
allyTitle: r,
|
|
139
|
+
className: i,
|
|
140
|
+
size: a = g,
|
|
141
|
+
...e
|
|
142
|
+
}) => {
|
|
143
|
+
const o = N({
|
|
144
|
+
content: O(s.svg),
|
|
145
|
+
title: r
|
|
146
|
+
}), p = U(i, u, `${u}--${a}`);
|
|
147
|
+
return /* @__PURE__ */ d(
|
|
148
|
+
"span",
|
|
149
|
+
{
|
|
150
|
+
"aria-label": r,
|
|
151
|
+
className: p,
|
|
152
|
+
"data-testid": t,
|
|
153
|
+
dangerouslySetInnerHTML: { __html: o },
|
|
154
|
+
...e
|
|
155
|
+
}
|
|
156
|
+
);
|
|
157
|
+
};
|
|
158
|
+
v.displayName = "Icon";
|
|
159
|
+
const z = ({
|
|
160
|
+
["data-testid"]: t,
|
|
161
|
+
name: s,
|
|
162
|
+
className: r,
|
|
163
|
+
allyTitle: i,
|
|
164
|
+
size: a = g,
|
|
165
|
+
...e
|
|
166
|
+
}) => {
|
|
167
|
+
const [o, p] = b();
|
|
168
|
+
return w(() => {
|
|
169
|
+
(async () => {
|
|
170
|
+
try {
|
|
171
|
+
const m = await y(/* @__PURE__ */ Object.assign({ "./assets/activity-level.ts": () => import("./assets/activity-level.es.js"), "./assets/add.ts": () => import("./assets/add.es.js"), "./assets/address-book.ts": () => import("./assets/address-book.es.js"), "./assets/ai-robot.ts": () => import("./assets/ai-robot.es.js"), "./assets/airplay.ts": () => import("./assets/airplay.es.js"), "./assets/alarm-off.ts": () => import("./assets/alarm-off.es.js"), "./assets/alarm-on.ts": () => import("./assets/alarm-on.es.js"), "./assets/alert-filled.ts": () => import("./assets/alert-filled.es.js"), "./assets/alert.ts": () => import("./assets/alert.es.js"), "./assets/android.ts": () => import("./assets/android.es.js"), "./assets/apple.ts": () => import("./assets/apple.es.js"), "./assets/arrow-down.ts": () => import("./assets/arrow-down.es.js"), "./assets/arrow-left.ts": () => import("./assets/arrow-left.es.js"), "./assets/arrow-right.ts": () => import("./assets/arrow-right.es.js"), "./assets/arrow-subdirectory.ts": () => import("./assets/arrow-subdirectory.es.js"), "./assets/arrow-up.ts": () => import("./assets/arrow-up.es.js"), "./assets/attachment.ts": () => import("./assets/attachment.es.js"), "./assets/b2b-customer.ts": () => import("./assets/b2b-customer.es.js"), "./assets/bag.ts": () => import("./assets/bag.es.js"), "./assets/bankid.ts": () => import("./assets/bankid.es.js"), "./assets/bar-chart.ts": () => import("./assets/bar-chart.es.js"), "./assets/basketball.ts": () => import("./assets/basketball.es.js"), "./assets/battery.ts": () => import("./assets/battery.es.js"), "./assets/blood-pressure.ts": () => import("./assets/blood-pressure.es.js"), "./assets/bluetooth.ts": () => import("./assets/bluetooth.es.js"), "./assets/bookmark-filled.ts": () => import("./assets/bookmark-filled.es.js"), "./assets/bookmark.ts": () => import("./assets/bookmark.es.js"), "./assets/broadband.ts": () => import("./assets/broadband.es.js"), "./assets/broken-phone.ts": () => import("./assets/broken-phone.es.js"), "./assets/bulb.ts": () => import("./assets/bulb.es.js"), "./assets/business-continuity.ts": () => import("./assets/business-continuity.es.js"), "./assets/business-intelligence.ts": () => import("./assets/business-intelligence.es.js"), "./assets/calendar.ts": () => import("./assets/calendar.es.js"), "./assets/camera.ts": () => import("./assets/camera.es.js"), "./assets/card-view.ts": () => import("./assets/card-view.es.js"), "./assets/care.ts": () => import("./assets/care.es.js"), "./assets/cart.ts": () => import("./assets/cart.es.js"), "./assets/cast.ts": () => import("./assets/cast.es.js"), "./assets/chat-filled.ts": () => import("./assets/chat-filled.es.js"), "./assets/chat-robot.ts": () => import("./assets/chat-robot.es.js"), "./assets/chat.ts": () => import("./assets/chat.es.js"), "./assets/check-circle-filled.ts": () => import("./assets/check-circle-filled.es.js"), "./assets/check-circle.ts": () => import("./assets/check-circle.es.js"), "./assets/checkmark-bold.ts": () => import("./assets/checkmark-bold.es.js"), "./assets/checkmark.ts": () => import("./assets/checkmark.es.js"), "./assets/chevron-down.ts": () => import("./assets/chevron-down.es.js"), "./assets/chevron-left.ts": () => import("./assets/chevron-left.es.js"), "./assets/chevron-right.ts": () => import("./assets/chevron-right.es.js"), "./assets/chevron-up.ts": () => import("./assets/chevron-up.es.js"), "./assets/child-1.ts": () => import("./assets/child-1.es.js"), "./assets/child-2.ts": () => import("./assets/child-2.es.js"), "./assets/close-circle.ts": () => import("./assets/close-circle.es.js"), "./assets/close.ts": () => import("./assets/close.es.js"), "./assets/cloud-connect.ts": () => import("./assets/cloud-connect.es.js"), "./assets/cloud.ts": () => import("./assets/cloud.es.js"), "./assets/coffee.ts": () => import("./assets/coffee.es.js"), "./assets/compass.ts": () => import("./assets/compass.es.js"), "./assets/connected-building.ts": () => import("./assets/connected-building.es.js"), "./assets/connected.ts": () => import("./assets/connected.es.js"), "./assets/construction.ts": () => import("./assets/construction.es.js"), "./assets/conversation.ts": () => import("./assets/conversation.es.js"), "./assets/cookie.ts": () => import("./assets/cookie.es.js"), "./assets/copy-filled.ts": () => import("./assets/copy-filled.es.js"), "./assets/copy.ts": () => import("./assets/copy.es.js"), "./assets/core-router.ts": () => import("./assets/core-router.es.js"), "./assets/credit-card.ts": () => import("./assets/credit-card.es.js"), "./assets/customer-dialogue.ts": () => import("./assets/customer-dialogue.es.js"), "./assets/daas-device.ts": () => import("./assets/daas-device.es.js"), "./assets/data-transfer.ts": () => import("./assets/data-transfer.es.js"), "./assets/delivery.ts": () => import("./assets/delivery.es.js"), "./assets/desktop.ts": () => import("./assets/desktop.es.js"), "./assets/devices.ts": () => import("./assets/devices.es.js"), "./assets/dislike.ts": () => import("./assets/dislike.es.js"), "./assets/doc.ts": () => import("./assets/doc.es.js"), "./assets/document-doc.ts": () => import("./assets/document-doc.es.js"), "./assets/document-edit.ts": () => import("./assets/document-edit.es.js"), "./assets/document-pdf.ts": () => import("./assets/document-pdf.es.js"), "./assets/document-ppt.ts": () => import("./assets/document-ppt.es.js"), "./assets/download.ts": () => import("./assets/download.es.js"), "./assets/drone.ts": () => import("./assets/drone.es.js"), "./assets/dsl-hub.ts": () => import("./assets/dsl-hub.es.js"), "./assets/edit.ts": () => import("./assets/edit.es.js"), "./assets/education.ts": () => import("./assets/education.es.js"), "./assets/efficiency.ts": () => import("./assets/efficiency.es.js"), "./assets/email.ts": () => import("./assets/email.es.js"), "./assets/end-user.ts": () => import("./assets/end-user.es.js"), "./assets/entertainment.ts": () => import("./assets/entertainment.es.js"), "./assets/environment.ts": () => import("./assets/environment.es.js"), "./assets/error-filled.ts": () => import("./assets/error-filled.es.js"), "./assets/error.ts": () => import("./assets/error.es.js"), "./assets/esim-simcard.ts": () => import("./assets/esim-simcard.es.js"), "./assets/esim.ts": () => import("./assets/esim.es.js"), "./assets/euro.ts": () => import("./assets/euro.es.js"), "./assets/excel.ts": () => import("./assets/excel.es.js"), "./assets/external.ts": () => import("./assets/external.es.js"), "./assets/face-id.ts": () => import("./assets/face-id.es.js"), "./assets/facebook.ts": () => import("./assets/facebook.es.js"), "./assets/facemask.ts": () => import("./assets/facemask.es.js"), "./assets/fiber.ts": () => import("./assets/fiber.es.js"), "./assets/film.ts": () => import("./assets/film.es.js"), "./assets/filter.ts": () => import("./assets/filter.es.js"), "./assets/fingerprint.ts": () => import("./assets/fingerprint.es.js"), "./assets/fiveg.ts": () => import("./assets/fiveg.es.js"), "./assets/flag.ts": () => import("./assets/flag.es.js"), "./assets/focus.ts": () => import("./assets/focus.es.js"), "./assets/folder-copy.ts": () => import("./assets/folder-copy.es.js"), "./assets/folder-new.ts": () => import("./assets/folder-new.es.js"), "./assets/folder.ts": () => import("./assets/folder.es.js"), "./assets/food.ts": () => import("./assets/food.es.js"), "./assets/fourg.ts": () => import("./assets/fourg.es.js"), "./assets/fraud.ts": () => import("./assets/fraud.es.js"), "./assets/games.ts": () => import("./assets/games.es.js"), "./assets/getting-started.ts": () => import("./assets/getting-started.es.js"), "./assets/gif.ts": () => import("./assets/gif.es.js"), "./assets/google.ts": () => import("./assets/google.es.js"), "./assets/graph.ts": () => import("./assets/graph.es.js"), "./assets/grid-view.ts": () => import("./assets/grid-view.es.js"), "./assets/handshake.ts": () => import("./assets/handshake.es.js"), "./assets/headphones.ts": () => import("./assets/headphones.es.js"), "./assets/heart-filled.ts": () => import("./assets/heart-filled.es.js"), "./assets/heart.ts": () => import("./assets/heart.es.js"), "./assets/help.ts": () => import("./assets/help.es.js"), "./assets/home-care.ts": () => import("./assets/home-care.es.js"), "./assets/home-filled.ts": () => import("./assets/home-filled.es.js"), "./assets/home-installation.ts": () => import("./assets/home-installation.es.js"), "./assets/home.ts": () => import("./assets/home.es.js"), "./assets/hospital.ts": () => import("./assets/hospital.es.js"), "./assets/image.ts": () => import("./assets/image.es.js"), "./assets/industrial-iot.ts": () => import("./assets/industrial-iot.es.js"), "./assets/industry.ts": () => import("./assets/industry.es.js"), "./assets/infinite.ts": () => import("./assets/infinite.es.js"), "./assets/info-filled.ts": () => import("./assets/info-filled.es.js"), "./assets/info.ts": () => import("./assets/info.es.js"), "./assets/instagram.ts": () => import("./assets/instagram.es.js"), "./assets/internet.ts": () => import("./assets/internet.es.js"), "./assets/invisible.ts": () => import("./assets/invisible.es.js"), "./assets/invoice-filled.ts": () => import("./assets/invoice-filled.es.js"), "./assets/invoice.ts": () => import("./assets/invoice.es.js"), "./assets/it-service.ts": () => import("./assets/it-service.es.js"), "./assets/job-search.ts": () => import("./assets/job-search.es.js"), "./assets/key.ts": () => import("./assets/key.es.js"), "./assets/kontantkort.ts": () => import("./assets/kontantkort.es.js"), "./assets/kr.ts": () => import("./assets/kr.es.js"), "./assets/laptop.ts": () => import("./assets/laptop.es.js"), "./assets/late-payment.ts": () => import("./assets/late-payment.es.js"), "./assets/layers.ts": () => import("./assets/layers.es.js"), "./assets/letter.ts": () => import("./assets/letter.es.js"), "./assets/like.ts": () => import("./assets/like.es.js"), "./assets/link.ts": () => import("./assets/link.es.js"), "./assets/linkedin.ts": () => import("./assets/linkedin.es.js"), "./assets/list-view.ts": () => import("./assets/list-view.es.js"), "./assets/lock-open.ts": () => import("./assets/lock-open.es.js"), "./assets/lock.ts": () => import("./assets/lock.es.js"), "./assets/login.ts": () => import("./assets/login.es.js"), "./assets/logout.ts": () => import("./assets/logout.es.js"), "./assets/map.ts": () => import("./assets/map.es.js"), "./assets/maximize.ts": () => import("./assets/maximize.es.js"), "./assets/measuring-health.ts": () => import("./assets/measuring-health.es.js"), "./assets/media-content.ts": () => import("./assets/media-content.es.js"), "./assets/megaphone.ts": () => import("./assets/megaphone.es.js"), "./assets/menu.ts": () => import("./assets/menu.es.js"), "./assets/microphone.ts": () => import("./assets/microphone.es.js"), "./assets/minimize.ts": () => import("./assets/minimize.es.js"), "./assets/minus-bold.ts": () => import("./assets/minus-bold.es.js"), "./assets/minus.ts": () => import("./assets/minus.es.js"), "./assets/mms.ts": () => import("./assets/mms.es.js"), "./assets/mobile-broadband.ts": () => import("./assets/mobile-broadband.es.js"), "./assets/moisture.ts": () => import("./assets/moisture.es.js"), "./assets/money-back-euro.ts": () => import("./assets/money-back-euro.es.js"), "./assets/money-back-kr.ts": () => import("./assets/money-back-kr.es.js"), "./assets/money-euro.ts": () => import("./assets/money-euro.es.js"), "./assets/money-kr.ts": () => import("./assets/money-kr.es.js"), "./assets/more-horizontal-filled.ts": () => import("./assets/more-horizontal-filled.es.js"), "./assets/more-horizontal.ts": () => import("./assets/more-horizontal.es.js"), "./assets/more-vertical.ts": () => import("./assets/more-vertical.es.js"), "./assets/music.ts": () => import("./assets/music.es.js"), "./assets/mute.ts": () => import("./assets/mute.es.js"), "./assets/network.ts": () => import("./assets/network.es.js"), "./assets/new-contact.ts": () => import("./assets/new-contact.es.js"), "./assets/new-group.ts": () => import("./assets/new-group.es.js"), "./assets/news.ts": () => import("./assets/news.es.js"), "./assets/offering.ts": () => import("./assets/offering.es.js"), "./assets/offshore.ts": () => import("./assets/offshore.es.js"), "./assets/oneplus.ts": () => import("./assets/oneplus.es.js"), "./assets/optimization.ts": () => import("./assets/optimization.es.js"), "./assets/org-chart.ts": () => import("./assets/org-chart.es.js"), "./assets/parental-guide.ts": () => import("./assets/parental-guide.es.js"), "./assets/password-invisible.ts": () => import("./assets/password-invisible.es.js"), "./assets/password-visible.ts": () => import("./assets/password-visible.es.js"), "./assets/pay-installments-euro.ts": () => import("./assets/pay-installments-euro.es.js"), "./assets/pay-installments-kr.ts": () => import("./assets/pay-installments-kr.es.js"), "./assets/pay-monthly-euro.ts": () => import("./assets/pay-monthly-euro.es.js"), "./assets/pay-monthly-kr.ts": () => import("./assets/pay-monthly-kr.es.js"), "./assets/pay-once-euro.ts": () => import("./assets/pay-once-euro.es.js"), "./assets/pay-once-kr.ts": () => import("./assets/pay-once-kr.es.js"), "./assets/payment-success.ts": () => import("./assets/payment-success.es.js"), "./assets/pebble.ts": () => import("./assets/pebble.es.js"), "./assets/people-hub.ts": () => import("./assets/people-hub.es.js"), "./assets/people.ts": () => import("./assets/people.es.js"), "./assets/pet-dog.ts": () => import("./assets/pet-dog.es.js"), "./assets/phone-recycling.ts": () => import("./assets/phone-recycling.es.js"), "./assets/phone-ringing.ts": () => import("./assets/phone-ringing.es.js"), "./assets/phone.ts": () => import("./assets/phone.es.js"), "./assets/pie-chart.ts": () => import("./assets/pie-chart.es.js"), "./assets/pin.ts": () => import("./assets/pin.es.js"), "./assets/plane.ts": () => import("./assets/plane.es.js"), "./assets/play-filled.ts": () => import("./assets/play-filled.es.js"), "./assets/play.ts": () => import("./assets/play.es.js"), "./assets/player-settings.ts": () => import("./assets/player-settings.es.js"), "./assets/plus-minus.ts": () => import("./assets/plus-minus.es.js"), "./assets/plus.ts": () => import("./assets/plus.es.js"), "./assets/police.ts": () => import("./assets/police.es.js"), "./assets/portal.ts": () => import("./assets/portal.es.js"), "./assets/power-grid.ts": () => import("./assets/power-grid.es.js"), "./assets/premises-datacenter.ts": () => import("./assets/premises-datacenter.es.js"), "./assets/premises-large.ts": () => import("./assets/premises-large.es.js"), "./assets/premises-medium.ts": () => import("./assets/premises-medium.es.js"), "./assets/premises-small.ts": () => import("./assets/premises-small.es.js"), "./assets/premises.ts": () => import("./assets/premises.es.js"), "./assets/present.ts": () => import("./assets/present.es.js"), "./assets/press-button.ts": () => import("./assets/press-button.es.js"), "./assets/price.ts": () => import("./assets/price.es.js"), "./assets/print.ts": () => import("./assets/print.es.js"), "./assets/pulse.ts": () => import("./assets/pulse.es.js"), "./assets/qr-code.ts": () => import("./assets/qr-code.es.js"), "./assets/question-filled.ts": () => import("./assets/question-filled.es.js"), "./assets/question.ts": () => import("./assets/question.es.js"), "./assets/rack.ts": () => import("./assets/rack.es.js"), "./assets/radio.ts": () => import("./assets/radio.es.js"), "./assets/record.ts": () => import("./assets/record.es.js"), "./assets/recycle.ts": () => import("./assets/recycle.es.js"), "./assets/refill-card.ts": () => import("./assets/refill-card.es.js"), "./assets/register.ts": () => import("./assets/register.es.js"), "./assets/remote-control.ts": () => import("./assets/remote-control.es.js"), "./assets/remove-filled.ts": () => import("./assets/remove-filled.es.js"), "./assets/remove.ts": () => import("./assets/remove.es.js"), "./assets/repair.ts": () => import("./assets/repair.es.js"), "./assets/report.ts": () => import("./assets/report.es.js"), "./assets/reservation.ts": () => import("./assets/reservation.es.js"), "./assets/reverse.ts": () => import("./assets/reverse.es.js"), "./assets/roaming.ts": () => import("./assets/roaming.es.js"), "./assets/route.ts": () => import("./assets/route.es.js"), "./assets/router.ts": () => import("./assets/router.es.js"), "./assets/ruler.ts": () => import("./assets/ruler.es.js"), "./assets/samsung.ts": () => import("./assets/samsung.es.js"), "./assets/satellite.ts": () => import("./assets/satellite.es.js"), "./assets/save.ts": () => import("./assets/save.es.js"), "./assets/savings.ts": () => import("./assets/savings.es.js"), "./assets/scan.ts": () => import("./assets/scan.es.js"), "./assets/search.ts": () => import("./assets/search.es.js"), "./assets/secure-device.ts": () => import("./assets/secure-device.es.js"), "./assets/secured-1.ts": () => import("./assets/secured-1.es.js"), "./assets/secured-2.ts": () => import("./assets/secured-2.es.js"), "./assets/security-camera.ts": () => import("./assets/security-camera.es.js"), "./assets/send.ts": () => import("./assets/send.es.js"), "./assets/sense-car.ts": () => import("./assets/sense-car.es.js"), "./assets/server.ts": () => import("./assets/server.es.js"), "./assets/service-device.ts": () => import("./assets/service-device.es.js"), "./assets/service-supervision.ts": () => import("./assets/service-supervision.es.js"), "./assets/services.ts": () => import("./assets/services.es.js"), "./assets/settings.ts": () => import("./assets/settings.es.js"), "./assets/share.ts": () => import("./assets/share.es.js"), "./assets/shopping.ts": () => import("./assets/shopping.es.js"), "./assets/shuffle.ts": () => import("./assets/shuffle.es.js"), "./assets/signature.ts": () => import("./assets/signature.es.js"), "./assets/simcard.ts": () => import("./assets/simcard.es.js"), "./assets/skip-back-10sec.ts": () => import("./assets/skip-back-10sec.es.js"), "./assets/skip-back-30sec.ts": () => import("./assets/skip-back-30sec.es.js"), "./assets/skip-forward-10sec.ts": () => import("./assets/skip-forward-10sec.es.js"), "./assets/skip-forward-30sec.ts": () => import("./assets/skip-forward-30sec.es.js"), "./assets/slow-wifi.ts": () => import("./assets/slow-wifi.es.js"), "./assets/smart-wifi.ts": () => import("./assets/smart-wifi.es.js"), "./assets/smartphone.ts": () => import("./assets/smartphone.es.js"), "./assets/smartwatch.ts": () => import("./assets/smartwatch.es.js"), "./assets/smiley-happy.ts": () => import("./assets/smiley-happy.es.js"), "./assets/smiley-sad.ts": () => import("./assets/smiley-sad.es.js"), "./assets/sms.ts": () => import("./assets/sms.es.js"), "./assets/snapchat.ts": () => import("./assets/snapchat.es.js"), "./assets/snowflake.ts": () => import("./assets/snowflake.es.js"), "./assets/sorter.ts": () => import("./assets/sorter.es.js"), "./assets/speedometer.ts": () => import("./assets/speedometer.es.js"), "./assets/spell-check.ts": () => import("./assets/spell-check.es.js"), "./assets/split.ts": () => import("./assets/split.es.js"), "./assets/spyware.ts": () => import("./assets/spyware.es.js"), "./assets/star-filled.ts": () => import("./assets/star-filled.es.js"), "./assets/star.ts": () => import("./assets/star.es.js"), "./assets/stop.ts": () => import("./assets/stop.es.js"), "./assets/store.ts": () => import("./assets/store.es.js"), "./assets/stream.ts": () => import("./assets/stream.es.js"), "./assets/suitcase.ts": () => import("./assets/suitcase.es.js"), "./assets/summary.ts": () => import("./assets/summary.es.js"), "./assets/support.ts": () => import("./assets/support.es.js"), "./assets/sustainability.ts": () => import("./assets/sustainability.es.js"), "./assets/switch-arrows.ts": () => import("./assets/switch-arrows.es.js"), "./assets/sync.ts": () => import("./assets/sync.es.js"), "./assets/table-view.ts": () => import("./assets/table-view.es.js"), "./assets/tablet.ts": () => import("./assets/tablet.es.js"), "./assets/tag.ts": () => import("./assets/tag.es.js"), "./assets/temperature.ts": () => import("./assets/temperature.es.js"), "./assets/thinking.ts": () => import("./assets/thinking.es.js"), "./assets/time.ts": () => import("./assets/time.es.js"), "./assets/trade-phone.ts": () => import("./assets/trade-phone.es.js"), "./assets/trailer.ts": () => import("./assets/trailer.es.js"), "./assets/train.ts": () => import("./assets/train.es.js"), "./assets/transfer.ts": () => import("./assets/transfer.es.js"), "./assets/troubleshoot.ts": () => import("./assets/troubleshoot.es.js"), "./assets/tv-next.ts": () => import("./assets/tv-next.es.js"), "./assets/tv-pause.ts": () => import("./assets/tv-pause.es.js"), "./assets/tv-previous.ts": () => import("./assets/tv-previous.es.js"), "./assets/tv-stop.ts": () => import("./assets/tv-stop.es.js"), "./assets/tv.ts": () => import("./assets/tv.es.js"), "./assets/undo.ts": () => import("./assets/undo.es.js"), "./assets/upload.ts": () => import("./assets/upload.es.js"), "./assets/usb.ts": () => import("./assets/usb.es.js"), "./assets/user-admin.ts": () => import("./assets/user-admin.es.js"), "./assets/vcard.ts": () => import("./assets/vcard.es.js"), "./assets/video-conference.ts": () => import("./assets/video-conference.es.js"), "./assets/video.ts": () => import("./assets/video.es.js"), "./assets/visible.ts": () => import("./assets/visible.es.js"), "./assets/voice-switch.ts": () => import("./assets/voice-switch.es.js"), "./assets/voicemail.ts": () => import("./assets/voicemail.es.js"), "./assets/volume.ts": () => import("./assets/volume.es.js"), "./assets/wallet.ts": () => import("./assets/wallet.es.js"), "./assets/wallplug.ts": () => import("./assets/wallplug.es.js"), "./assets/warning.ts": () => import("./assets/warning.es.js"), "./assets/wavelength.ts": () => import("./assets/wavelength.es.js"), "./assets/weather.ts": () => import("./assets/weather.es.js"), "./assets/whatsapp.ts": () => import("./assets/whatsapp.es.js"), "./assets/windows.ts": () => import("./assets/windows.es.js"), "./assets/wireless-off.ts": () => import("./assets/wireless-off.es.js"), "./assets/wireless-weak.ts": () => import("./assets/wireless-weak.es.js"), "./assets/wireless.ts": () => import("./assets/wireless.es.js"), "./assets/world-alert.ts": () => import("./assets/world-alert.es.js"), "./assets/world-off.ts": () => import("./assets/world-off.es.js"), "./assets/world-question.ts": () => import("./assets/world-question.es.js"), "./assets/world.ts": () => import("./assets/world.es.js"), "./assets/x.ts": () => import("./assets/x.es.js"), "./assets/xiaomi.ts": () => import("./assets/xiaomi.es.js"), "./assets/youtube.ts": () => import("./assets/youtube.es.js"), "./assets/zoom-out.ts": () => import("./assets/zoom-out.es.js"), "./assets/zoom.ts": () => import("./assets/zoom.es.js") }), `./assets/${s}.ts`, 3);
|
|
172
|
+
p(m[S(s, { mergeAmbiguousCharacters: !0 })]);
|
|
173
|
+
} catch (m) {
|
|
174
|
+
console.error(`Error importing asset "${s}":`, m);
|
|
175
|
+
}
|
|
176
|
+
})();
|
|
177
|
+
}, [s]), o ? /* @__PURE__ */ d(
|
|
178
|
+
v,
|
|
179
|
+
{
|
|
180
|
+
allyTitle: i,
|
|
181
|
+
className: r,
|
|
182
|
+
size: a,
|
|
183
|
+
"data-testid": t,
|
|
184
|
+
svg: o,
|
|
185
|
+
...e
|
|
186
|
+
}
|
|
187
|
+
) : null;
|
|
188
|
+
};
|
|
189
|
+
z.displayName = "DynamicIcon";
|
|
190
|
+
export {
|
|
191
|
+
z as DynamicIcon
|
|
192
|
+
};
|
|
193
|
+
//# sourceMappingURL=dynamic-icon.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dynamic-icon.es.js","sources":["../../../common/temp/node_modules/.pnpm/change-case@5.4.4/node_modules/change-case/dist/index.js","../../../common/temp/node_modules/.pnpm/classnames@2.5.1/node_modules/classnames/bind.js","../src/icon.tsx","../src/dynamic-icon.tsx"],"sourcesContent":["// Regexps involved with splitting words in various case formats.\nconst SPLIT_LOWER_UPPER_RE = /([\\p{Ll}\\d])(\\p{Lu})/gu;\nconst SPLIT_UPPER_UPPER_RE = /(\\p{Lu})([\\p{Lu}][\\p{Ll}])/gu;\n// Used to iterate over the initial split result and separate numbers.\nconst SPLIT_SEPARATE_NUMBER_RE = /(\\d)\\p{Ll}|(\\p{L})\\d/u;\n// Regexp involved with stripping non-word characters from the result.\nconst DEFAULT_STRIP_REGEXP = /[^\\p{L}\\d]+/giu;\n// The replacement value for splits.\nconst SPLIT_REPLACE_VALUE = \"$1\\0$2\";\n// The default characters to keep after transforming case.\nconst DEFAULT_PREFIX_SUFFIX_CHARACTERS = \"\";\n/**\n * Split any cased input strings into an array of words.\n */\nexport function split(value) {\n let result = value.trim();\n result = result\n .replace(SPLIT_LOWER_UPPER_RE, SPLIT_REPLACE_VALUE)\n .replace(SPLIT_UPPER_UPPER_RE, SPLIT_REPLACE_VALUE);\n result = result.replace(DEFAULT_STRIP_REGEXP, \"\\0\");\n let start = 0;\n let end = result.length;\n // Trim the delimiter from around the output string.\n while (result.charAt(start) === \"\\0\")\n start++;\n if (start === end)\n return [];\n while (result.charAt(end - 1) === \"\\0\")\n end--;\n return result.slice(start, end).split(/\\0/g);\n}\n/**\n * Split the input string into an array of words, separating numbers.\n */\nexport function splitSeparateNumbers(value) {\n const words = split(value);\n for (let i = 0; i < words.length; i++) {\n const word = words[i];\n const match = SPLIT_SEPARATE_NUMBER_RE.exec(word);\n if (match) {\n const offset = match.index + (match[1] ?? match[2]).length;\n words.splice(i, 1, word.slice(0, offset), word.slice(offset));\n }\n }\n return words;\n}\n/**\n * Convert a string to space separated lower case (`foo bar`).\n */\nexport function noCase(input, options) {\n const [prefix, words, suffix] = splitPrefixSuffix(input, options);\n return (prefix +\n words.map(lowerFactory(options?.locale)).join(options?.delimiter ?? \" \") +\n suffix);\n}\n/**\n * Convert a string to camel case (`fooBar`).\n */\nexport function camelCase(input, options) {\n const [prefix, words, suffix] = splitPrefixSuffix(input, options);\n const lower = lowerFactory(options?.locale);\n const upper = upperFactory(options?.locale);\n const transform = options?.mergeAmbiguousCharacters\n ? capitalCaseTransformFactory(lower, upper)\n : pascalCaseTransformFactory(lower, upper);\n return (prefix +\n words\n .map((word, index) => {\n if (index === 0)\n return lower(word);\n return transform(word, index);\n })\n .join(options?.delimiter ?? \"\") +\n suffix);\n}\n/**\n * Convert a string to pascal case (`FooBar`).\n */\nexport function pascalCase(input, options) {\n const [prefix, words, suffix] = splitPrefixSuffix(input, options);\n const lower = lowerFactory(options?.locale);\n const upper = upperFactory(options?.locale);\n const transform = options?.mergeAmbiguousCharacters\n ? capitalCaseTransformFactory(lower, upper)\n : pascalCaseTransformFactory(lower, upper);\n return prefix + words.map(transform).join(options?.delimiter ?? \"\") + suffix;\n}\n/**\n * Convert a string to pascal snake case (`Foo_Bar`).\n */\nexport function pascalSnakeCase(input, options) {\n return capitalCase(input, { delimiter: \"_\", ...options });\n}\n/**\n * Convert a string to capital case (`Foo Bar`).\n */\nexport function capitalCase(input, options) {\n const [prefix, words, suffix] = splitPrefixSuffix(input, options);\n const lower = lowerFactory(options?.locale);\n const upper = upperFactory(options?.locale);\n return (prefix +\n words\n .map(capitalCaseTransformFactory(lower, upper))\n .join(options?.delimiter ?? \" \") +\n suffix);\n}\n/**\n * Convert a string to constant case (`FOO_BAR`).\n */\nexport function constantCase(input, options) {\n const [prefix, words, suffix] = splitPrefixSuffix(input, options);\n return (prefix +\n words.map(upperFactory(options?.locale)).join(options?.delimiter ?? \"_\") +\n suffix);\n}\n/**\n * Convert a string to dot case (`foo.bar`).\n */\nexport function dotCase(input, options) {\n return noCase(input, { delimiter: \".\", ...options });\n}\n/**\n * Convert a string to kebab case (`foo-bar`).\n */\nexport function kebabCase(input, options) {\n return noCase(input, { delimiter: \"-\", ...options });\n}\n/**\n * Convert a string to path case (`foo/bar`).\n */\nexport function pathCase(input, options) {\n return noCase(input, { delimiter: \"/\", ...options });\n}\n/**\n * Convert a string to path case (`Foo bar`).\n */\nexport function sentenceCase(input, options) {\n const [prefix, words, suffix] = splitPrefixSuffix(input, options);\n const lower = lowerFactory(options?.locale);\n const upper = upperFactory(options?.locale);\n const transform = capitalCaseTransformFactory(lower, upper);\n return (prefix +\n words\n .map((word, index) => {\n if (index === 0)\n return transform(word);\n return lower(word);\n })\n .join(options?.delimiter ?? \" \") +\n suffix);\n}\n/**\n * Convert a string to snake case (`foo_bar`).\n */\nexport function snakeCase(input, options) {\n return noCase(input, { delimiter: \"_\", ...options });\n}\n/**\n * Convert a string to header case (`Foo-Bar`).\n */\nexport function trainCase(input, options) {\n return capitalCase(input, { delimiter: \"-\", ...options });\n}\nfunction lowerFactory(locale) {\n return locale === false\n ? (input) => input.toLowerCase()\n : (input) => input.toLocaleLowerCase(locale);\n}\nfunction upperFactory(locale) {\n return locale === false\n ? (input) => input.toUpperCase()\n : (input) => input.toLocaleUpperCase(locale);\n}\nfunction capitalCaseTransformFactory(lower, upper) {\n return (word) => `${upper(word[0])}${lower(word.slice(1))}`;\n}\nfunction pascalCaseTransformFactory(lower, upper) {\n return (word, index) => {\n const char0 = word[0];\n const initial = index > 0 && char0 >= \"0\" && char0 <= \"9\" ? \"_\" + char0 : upper(char0);\n return initial + lower(word.slice(1));\n };\n}\nfunction splitPrefixSuffix(input, options = {}) {\n const splitFn = options.split ?? (options.separateNumbers ? splitSeparateNumbers : split);\n const prefixCharacters = options.prefixCharacters ?? DEFAULT_PREFIX_SUFFIX_CHARACTERS;\n const suffixCharacters = options.suffixCharacters ?? DEFAULT_PREFIX_SUFFIX_CHARACTERS;\n let prefixIndex = 0;\n let suffixIndex = input.length;\n while (prefixIndex < input.length) {\n const char = input.charAt(prefixIndex);\n if (!prefixCharacters.includes(char))\n break;\n prefixIndex++;\n }\n while (suffixIndex > prefixIndex) {\n const index = suffixIndex - 1;\n const char = input.charAt(index);\n if (!suffixCharacters.includes(char))\n break;\n suffixIndex = index;\n }\n return [\n input.slice(0, prefixIndex),\n splitFn(input.slice(prefixIndex, suffixIndex)),\n input.slice(suffixIndex),\n ];\n}\n//# sourceMappingURL=index.js.map","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue.call(this, arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn this && this[arg] || arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(this, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, this && this[key] || key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import React from \"react\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./icon.module.scss\";\nimport type { iconList } from \"./icon-imports\";\nexport declare type IconName = keyof typeof iconList;\n\nconst cx = c.bind(styles);\nconst rootClassName = \"purpur-icon\";\n\nexport const sizes = [\"xxs\", \"xs\", \"sm\", \"md\", \"lg\", \"xl\"] as const;\nexport const DEFAULT_SIZE = \"md\" as const;\n\nexport type Size = (typeof sizes)[number];\n\ntype CreateSvg = {\n content?: string;\n title?: string;\n ariaHidden?: boolean;\n};\n\nexport type IconBaseProps = {\n size?: Size;\n allyTitle?: string;\n [\"data-testid\"]?: string;\n className?: string;\n};\n\nexport type IconProps = {\n svg: { svg: string; name: string };\n} & IconBaseProps;\n\n// Create string from array of attributes\nconst getAttributesString = (attributeCollection: Record<string, unknown>[]) =>\n attributeCollection\n .filter((attr) => Object.keys(attr).length >= 1) // remove empty object\n .map((item) => `${item.name}=\"${item.value}\"`)\n .join(\" \");\n\nconst createSvg = ({ content = \"\", title }: CreateSvg = {}) => {\n const attributeCollection = [\n { name: \"xmlns\", value: \"http://www.w3.org/2000/svg\" },\n { name: \"fill\", value: \"currentColor\" },\n { name: \"viewBox\", value: \"0 0 24 24\" },\n title ? { name: \"role\", value: \"img\" } : { name: \"aria-hidden\", value: \"true\" },\n ];\n\n const titleElement = title ? `<title>${title}</title>` : \"\";\n return `<svg ${getAttributesString(attributeCollection)}>${titleElement}${content}</svg>`;\n};\n\n// Remove svg tags\nconst getSvgContent = (svg: string): string => svg.replace(/<(\\/?)svg([^>]*)>/g, \"\").trim();\n\nexport const Icon = ({\n [\"data-testid\"]: dataTestid,\n svg,\n allyTitle,\n className,\n size = DEFAULT_SIZE,\n ...props\n}: IconProps) => {\n const svgString = createSvg({\n content: getSvgContent(svg.svg),\n title: allyTitle,\n });\n\n const classes = cx(className, rootClassName, `${rootClassName}--${size}`);\n\n return (\n <span\n aria-label={allyTitle}\n className={classes}\n data-testid={dataTestid}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{ __html: svgString }}\n {...props}\n />\n );\n};\n\nIcon.displayName = \"Icon\";\n","import React, { useEffect, useState } from \"react\";\nimport { camelCase } from \"change-case\";\n\nimport { DEFAULT_SIZE, Icon, IconBaseProps, IconName, IconProps } from \"./icon\";\n\nexport type DynamicIconProps = {\n name: IconName;\n} & IconBaseProps;\n\nexport const DynamicIcon = ({\n [\"data-testid\"]: dataTestId,\n name,\n className,\n allyTitle,\n size = DEFAULT_SIZE,\n ...props\n}: DynamicIconProps) => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const [asset, setAsset] = useState<IconProps[\"svg\"]>();\n\n useEffect(() => {\n const importAsset = async () => {\n try {\n const module = await import(`./assets/${name}.ts`);\n setAsset(module[camelCase(name, { mergeAmbiguousCharacters: true })]);\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(`Error importing asset \"${name}\":`, error);\n }\n };\n\n importAsset();\n }, [name]);\n\n return asset ? (\n <Icon\n allyTitle={allyTitle}\n className={className}\n size={size}\n data-testid={dataTestId}\n svg={asset}\n {...props}\n />\n ) : null;\n};\n\nDynamicIcon.displayName = \"DynamicIcon\";\n"],"names":["SPLIT_LOWER_UPPER_RE","SPLIT_UPPER_UPPER_RE","SPLIT_SEPARATE_NUMBER_RE","DEFAULT_STRIP_REGEXP","SPLIT_REPLACE_VALUE","DEFAULT_PREFIX_SUFFIX_CHARACTERS","split","value","result","start","end","splitSeparateNumbers","words","i","word","match","offset","camelCase","input","options","prefix","suffix","splitPrefixSuffix","lower","lowerFactory","upper","upperFactory","transform","capitalCaseTransformFactory","pascalCaseTransformFactory","index","locale","char0","splitFn","prefixCharacters","suffixCharacters","prefixIndex","suffixIndex","char","hasOwn","classNames","classes","arg","appendClass","parseValue","key","newClass","module","cx","c","styles","rootClassName","DEFAULT_SIZE","getAttributesString","attributeCollection","attr","item","createSvg","content","title","titleElement","getSvgContent","svg","Icon","dataTestid","allyTitle","className","size","props","svgString","jsx","DynamicIcon","dataTestId","name","asset","setAsset","useState","useEffect","__variableDynamicImportRuntimeHelper","error"],"mappings":"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","x_google_ignoreList":[0,1]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@purpurds/icon",
|
|
3
|
-
"version": "6.0
|
|
3
|
+
"version": "6.1.0",
|
|
4
4
|
"license": "AGPL-3.0-only",
|
|
5
5
|
"main": "./dist/icon.cjs.js",
|
|
6
6
|
"types": "./dist/icon.d.ts",
|
|
@@ -10,6 +10,11 @@
|
|
|
10
10
|
"types": "./dist/icon.d.ts",
|
|
11
11
|
"default": "./dist/icon.es.js"
|
|
12
12
|
},
|
|
13
|
+
"./dynamic-icon": {
|
|
14
|
+
"require": "./dist/dynamic-icon.cjs.js",
|
|
15
|
+
"types": "./dist/dynamic-icon.d.ts",
|
|
16
|
+
"default": "./dist/dynamic-icon.es.js"
|
|
17
|
+
},
|
|
13
18
|
"./styles": "./dist/styles.css",
|
|
14
19
|
"./all": {
|
|
15
20
|
"require": "./dist/all-icons.cjs.js",
|
|
@@ -35,7 +40,7 @@
|
|
|
35
40
|
"source": "src/icon.tsx",
|
|
36
41
|
"dependencies": {
|
|
37
42
|
"classnames": "~2.5.0",
|
|
38
|
-
"@purpurds/tokens": "6.0
|
|
43
|
+
"@purpurds/tokens": "6.1.0"
|
|
39
44
|
},
|
|
40
45
|
"devDependencies": {
|
|
41
46
|
"@rushstack/eslint-patch": "~1.10.0",
|
|
@@ -71,12 +76,12 @@
|
|
|
71
76
|
"vitest-axe": "~0.1.0",
|
|
72
77
|
"vitest": "^2.1.2",
|
|
73
78
|
"vite-plugin-static-copy": "~2.2.0",
|
|
74
|
-
"@purpurds/
|
|
75
|
-
"@purpurds/autocomplete": "6.0
|
|
76
|
-
"@purpurds/listbox": "6.0.2",
|
|
77
|
-
"@purpurds/paragraph": "6.0.2",
|
|
79
|
+
"@purpurds/listbox": "6.1.0",
|
|
80
|
+
"@purpurds/autocomplete": "6.1.0",
|
|
78
81
|
"@purpurds/component-rig": "1.0.0",
|
|
79
|
-
"@purpurds/
|
|
82
|
+
"@purpurds/heading": "6.1.0",
|
|
83
|
+
"@purpurds/paragraph": "6.1.0",
|
|
84
|
+
"@purpurds/text-field": "6.1.0"
|
|
80
85
|
},
|
|
81
86
|
"scripts": {
|
|
82
87
|
"build:dev": "vite",
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import React, { useEffect, useState } from "react";
|
|
2
|
+
import { camelCase } from "change-case";
|
|
3
|
+
|
|
4
|
+
import { DEFAULT_SIZE, Icon, IconBaseProps, IconName, IconProps } from "./icon";
|
|
5
|
+
|
|
6
|
+
export type DynamicIconProps = {
|
|
7
|
+
name: IconName;
|
|
8
|
+
} & IconBaseProps;
|
|
9
|
+
|
|
10
|
+
export const DynamicIcon = ({
|
|
11
|
+
["data-testid"]: dataTestId,
|
|
12
|
+
name,
|
|
13
|
+
className,
|
|
14
|
+
allyTitle,
|
|
15
|
+
size = DEFAULT_SIZE,
|
|
16
|
+
...props
|
|
17
|
+
}: DynamicIconProps) => {
|
|
18
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
19
|
+
const [asset, setAsset] = useState<IconProps["svg"]>();
|
|
20
|
+
|
|
21
|
+
useEffect(() => {
|
|
22
|
+
const importAsset = async () => {
|
|
23
|
+
try {
|
|
24
|
+
const module = await import(`./assets/${name}.ts`);
|
|
25
|
+
setAsset(module[camelCase(name, { mergeAmbiguousCharacters: true })]);
|
|
26
|
+
} catch (error) {
|
|
27
|
+
// eslint-disable-next-line no-console
|
|
28
|
+
console.error(`Error importing asset "${name}":`, error);
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
importAsset();
|
|
33
|
+
}, [name]);
|
|
34
|
+
|
|
35
|
+
return asset ? (
|
|
36
|
+
<Icon
|
|
37
|
+
allyTitle={allyTitle}
|
|
38
|
+
className={className}
|
|
39
|
+
size={size}
|
|
40
|
+
data-testid={dataTestId}
|
|
41
|
+
svg={asset}
|
|
42
|
+
{...props}
|
|
43
|
+
/>
|
|
44
|
+
) : null;
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
DynamicIcon.displayName = "DynamicIcon";
|
package/src/icon.stories.tsx
CHANGED
|
@@ -12,6 +12,7 @@ import "@purpurds/heading/styles";
|
|
|
12
12
|
import "@purpurds/tokens";
|
|
13
13
|
import "./icon.stories.css";
|
|
14
14
|
import { IconHeart } from "./all-icon-components";
|
|
15
|
+
import { DynamicIcon as DynamicIconComponent } from "./dynamic-icon";
|
|
15
16
|
import { Icon, sizes } from "./icon";
|
|
16
17
|
import { iconList } from "./icon-imports";
|
|
17
18
|
|
|
@@ -30,6 +31,13 @@ const meta = {
|
|
|
30
31
|
},
|
|
31
32
|
],
|
|
32
33
|
},
|
|
34
|
+
} satisfies Meta<typeof Icon>;
|
|
35
|
+
|
|
36
|
+
export default meta;
|
|
37
|
+
|
|
38
|
+
type Story = StoryObj<typeof Icon>;
|
|
39
|
+
|
|
40
|
+
export const Showcase: Story = {
|
|
33
41
|
argTypes: {
|
|
34
42
|
allyTitle: { control: { type: "text" } },
|
|
35
43
|
["data-testid"]: { control: { type: "text" } },
|
|
@@ -51,13 +59,6 @@ const meta = {
|
|
|
51
59
|
},
|
|
52
60
|
},
|
|
53
61
|
},
|
|
54
|
-
} satisfies Meta<typeof Icon>;
|
|
55
|
-
|
|
56
|
-
export default meta;
|
|
57
|
-
|
|
58
|
-
type Story = StoryObj<typeof Icon>;
|
|
59
|
-
|
|
60
|
-
export const Showcase: Story = {
|
|
61
62
|
args: {
|
|
62
63
|
size: sizes[sizes.length - 1],
|
|
63
64
|
svg: Object.values(iconList)[3],
|
|
@@ -82,6 +83,52 @@ export const Showcase: Story = {
|
|
|
82
83
|
),
|
|
83
84
|
};
|
|
84
85
|
|
|
86
|
+
export const DynamicIcon: StoryObj<typeof DynamicIconComponent> = {
|
|
87
|
+
argTypes: {
|
|
88
|
+
allyTitle: { control: { type: "text" } },
|
|
89
|
+
["data-testid"]: { control: { type: "text" } },
|
|
90
|
+
className: { control: { type: "text" } },
|
|
91
|
+
size: {
|
|
92
|
+
table: {
|
|
93
|
+
type: {
|
|
94
|
+
summary: sizes.map((x) => `"${x}"`).join(" | "),
|
|
95
|
+
},
|
|
96
|
+
},
|
|
97
|
+
options: sizes,
|
|
98
|
+
control: { type: "select" },
|
|
99
|
+
},
|
|
100
|
+
name: {
|
|
101
|
+
options: Object.keys(iconList),
|
|
102
|
+
control: {
|
|
103
|
+
type: "select",
|
|
104
|
+
},
|
|
105
|
+
},
|
|
106
|
+
},
|
|
107
|
+
args: {
|
|
108
|
+
size: sizes[sizes.length - 1],
|
|
109
|
+
name: Object.values(iconList)[3].name,
|
|
110
|
+
},
|
|
111
|
+
tags: ["visual:check"],
|
|
112
|
+
render: (props) => (
|
|
113
|
+
<div style={{ display: "flex", gap: 12, flexDirection: "column" }}>
|
|
114
|
+
<div style={{ display: "flex", gap: 12, alignItems: "center" }}>
|
|
115
|
+
<DynamicIconComponent {...props} />
|
|
116
|
+
<Paragraph>
|
|
117
|
+
name: <b>{props.name}</b>
|
|
118
|
+
</Paragraph>
|
|
119
|
+
</div>
|
|
120
|
+
<Heading tag="h3" variant="subsection-100">
|
|
121
|
+
This component can be used to dynamically render an icon, based on an icon name. This is
|
|
122
|
+
useful e.g. when getting the icon name from an external API or similar.
|
|
123
|
+
</Heading>
|
|
124
|
+
<Paragraph>
|
|
125
|
+
<b>NOTE!</b> When using the Dynamic Icon component, all purpur icon assets will be bundled
|
|
126
|
+
to your code. Use responsibly!
|
|
127
|
+
</Paragraph>
|
|
128
|
+
</div>
|
|
129
|
+
),
|
|
130
|
+
};
|
|
131
|
+
|
|
85
132
|
type Acc = [
|
|
86
133
|
{ name: string; entries: [{ name: string; svg: string; keywords: string[]; category: string }] }
|
|
87
134
|
];
|