@babylonjs/inspector 5.0.0-beta.4 → 5.0.0-beta.8

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.
@@ -7,7 +7,7 @@
7
7
  exports["babylonjs-inspector"] = factory(require("@babylonjs/core"), require("@babylonjs/gui"), require("@babylonjs/loaders"), require("@babylonjs/materials"), require("@babylonjs/serializers"));
8
8
  else
9
9
  root["INSPECTOR"] = factory(root["BABYLON"], root["BABYLON"]["GUI"], root["BABYLON"], root["BABYLON"]["MATERIALS"], root["BABYLON"]);
10
- })((typeof self !== "undefined" ? self : typeof global !== "undefined" ? global : this), function(__WEBPACK_EXTERNAL_MODULE__babylonjs_core_Misc_observable__, __WEBPACK_EXTERNAL_MODULE__babylonjs_gui_2D_controls_control__, __WEBPACK_EXTERNAL_MODULE__babylonjs_loaders_glTF_index__, __WEBPACK_EXTERNAL_MODULE__babylonjs_materials_grid_gridMaterial__, __WEBPACK_EXTERNAL_MODULE__babylonjs_serializers_glTF_2_0_index__) {
10
+ })((typeof self !== "undefined" ? self : typeof global !== "undefined" ? global : this), function(__WEBPACK_EXTERNAL_MODULE__babylonjs_core_Misc_observable__, __WEBPACK_EXTERNAL_MODULE__babylonjs_gui_2D_controls_image__, __WEBPACK_EXTERNAL_MODULE__babylonjs_loaders_glTF_index__, __WEBPACK_EXTERNAL_MODULE__babylonjs_materials_grid_gridMaterial__, __WEBPACK_EXTERNAL_MODULE__babylonjs_serializers_glTF_2_0_index__) {
11
11
  return /******/ (function(modules) { // webpackBootstrap
12
12
  /******/ // The module cache
13
13
  /******/ var installedModules = {};
@@ -117,7 +117,7 @@ __webpack_require__.r(__webpack_exports__);
117
117
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "parse", function() { return parse; });
118
118
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "findIconDefinition", function() { return findIconDefinition; });
119
119
  /*!
120
- * Font Awesome Free 5.15.3 by @fontawesome - https://fontawesome.com
120
+ * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com
121
121
  * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
122
122
  */
123
123
  function _typeof(obj) {
@@ -314,7 +314,7 @@ var STYLE_TO_PREFIX = {
314
314
  'kit': 'fak'
315
315
  };
316
316
  var LAYERS_TEXT_CLASSNAME = 'fa-layers-text';
317
- var FONT_FAMILY_PATTERN = /Font Awesome ([5 ]*)(Solid|Regular|Light|Duotone|Brands|Free|Pro|Kit).*/; // TODO: do we need to handle font-weight for kit SVG pseudo-elements?
317
+ var FONT_FAMILY_PATTERN = /Font Awesome ([5 ]*)(Solid|Regular|Light|Duotone|Brands|Free|Pro|Kit).*/i; // TODO: do we need to handle font-weight for kit SVG pseudo-elements?
318
318
 
319
319
  var FONT_WEIGHT_TO_PREFIX = {
320
320
  '900': 'fas',
@@ -1214,7 +1214,7 @@ var p = config.measurePerformance && PERFORMANCE && PERFORMANCE.mark && PERFORMA
1214
1214
  mark: noop$1,
1215
1215
  measure: noop$1
1216
1216
  };
1217
- var preamble = "FA \"5.15.3\"";
1217
+ var preamble = "FA \"5.15.4\"";
1218
1218
 
1219
1219
  var begin = function begin(name) {
1220
1220
  p.mark("".concat(preamble, " ").concat(name, " begins"));
@@ -2719,6 +2719,10 @@ __webpack_require__.r(__webpack_exports__);
2719
2719
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "faWindowMaximize", function() { return faWindowMaximize; });
2720
2720
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "faWindowMinimize", function() { return faWindowMinimize; });
2721
2721
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "faWindowRestore", function() { return faWindowRestore; });
2722
+ /*!
2723
+ * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com
2724
+ * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
2725
+ */
2722
2726
  var prefix = "far";
2723
2727
  var faAddressBook = {
2724
2728
  prefix: 'far',
@@ -3644,7 +3648,7 @@ var _iconsCache = {
3644
3648
  /*!***************************************************************************************************************!*\
3645
3649
  !*** C:/Users/raweber/Documents/GitHub/Babylon.js/node_modules/@fortawesome/free-solid-svg-icons/index.es.js ***!
3646
3650
  \***************************************************************************************************************/
3647
- /*! exports provided: fas, prefix, faAd, faAddressBook, faAddressCard, faAdjust, faAirFreshener, faAlignCenter, faAlignJustify, faAlignLeft, faAlignRight, faAllergies, faAmbulance, faAmericanSignLanguageInterpreting, faAnchor, faAngleDoubleDown, faAngleDoubleLeft, faAngleDoubleRight, faAngleDoubleUp, faAngleDown, faAngleLeft, faAngleRight, faAngleUp, faAngry, faAnkh, faAppleAlt, faArchive, faArchway, faArrowAltCircleDown, faArrowAltCircleLeft, faArrowAltCircleRight, faArrowAltCircleUp, faArrowCircleDown, faArrowCircleLeft, faArrowCircleRight, faArrowCircleUp, faArrowDown, faArrowLeft, faArrowRight, faArrowUp, faArrowsAlt, faArrowsAltH, faArrowsAltV, faAssistiveListeningSystems, faAsterisk, faAt, faAtlas, faAtom, faAudioDescription, faAward, faBaby, faBabyCarriage, faBackspace, faBackward, faBacon, faBacteria, faBacterium, faBahai, faBalanceScale, faBalanceScaleLeft, faBalanceScaleRight, faBan, faBandAid, faBarcode, faBars, faBaseballBall, faBasketballBall, faBath, faBatteryEmpty, faBatteryFull, faBatteryHalf, faBatteryQuarter, faBatteryThreeQuarters, faBed, faBeer, faBell, faBellSlash, faBezierCurve, faBible, faBicycle, faBiking, faBinoculars, faBiohazard, faBirthdayCake, faBlender, faBlenderPhone, faBlind, faBlog, faBold, faBolt, faBomb, faBone, faBong, faBook, faBookDead, faBookMedical, faBookOpen, faBookReader, faBookmark, faBorderAll, faBorderNone, faBorderStyle, faBowlingBall, faBox, faBoxOpen, faBoxTissue, faBoxes, faBraille, faBrain, faBreadSlice, faBriefcase, faBriefcaseMedical, faBroadcastTower, faBroom, faBrush, faBug, faBuilding, faBullhorn, faBullseye, faBurn, faBus, faBusAlt, faBusinessTime, faCalculator, faCalendar, faCalendarAlt, faCalendarCheck, faCalendarDay, faCalendarMinus, faCalendarPlus, faCalendarTimes, faCalendarWeek, faCamera, faCameraRetro, faCampground, faCandyCane, faCannabis, faCapsules, faCar, faCarAlt, faCarBattery, faCarCrash, faCarSide, faCaravan, faCaretDown, faCaretLeft, faCaretRight, faCaretSquareDown, faCaretSquareLeft, faCaretSquareRight, faCaretSquareUp, faCaretUp, faCarrot, faCartArrowDown, faCartPlus, faCashRegister, faCat, faCertificate, faChair, faChalkboard, faChalkboardTeacher, faChargingStation, faChartArea, faChartBar, faChartLine, faChartPie, faCheck, faCheckCircle, faCheckDouble, faCheckSquare, faCheese, faChess, faChessBishop, faChessBoard, faChessKing, faChessKnight, faChessPawn, faChessQueen, faChessRook, faChevronCircleDown, faChevronCircleLeft, faChevronCircleRight, faChevronCircleUp, faChevronDown, faChevronLeft, faChevronRight, faChevronUp, faChild, faChurch, faCircle, faCircleNotch, faCity, faClinicMedical, faClipboard, faClipboardCheck, faClipboardList, faClock, faClone, faClosedCaptioning, faCloud, faCloudDownloadAlt, faCloudMeatball, faCloudMoon, faCloudMoonRain, faCloudRain, faCloudShowersHeavy, faCloudSun, faCloudSunRain, faCloudUploadAlt, faCocktail, faCode, faCodeBranch, faCoffee, faCog, faCogs, faCoins, faColumns, faComment, faCommentAlt, faCommentDollar, faCommentDots, faCommentMedical, faCommentSlash, faComments, faCommentsDollar, faCompactDisc, faCompass, faCompress, faCompressAlt, faCompressArrowsAlt, faConciergeBell, faCookie, faCookieBite, faCopy, faCopyright, faCouch, faCreditCard, faCrop, faCropAlt, faCross, faCrosshairs, faCrow, faCrown, faCrutch, faCube, faCubes, faCut, faDatabase, faDeaf, faDemocrat, faDesktop, faDharmachakra, faDiagnoses, faDice, faDiceD20, faDiceD6, faDiceFive, faDiceFour, faDiceOne, faDiceSix, faDiceThree, faDiceTwo, faDigitalTachograph, faDirections, faDisease, faDivide, faDizzy, faDna, faDog, faDollarSign, faDolly, faDollyFlatbed, faDonate, faDoorClosed, faDoorOpen, faDotCircle, faDove, faDownload, faDraftingCompass, faDragon, faDrawPolygon, faDrum, faDrumSteelpan, faDrumstickBite, faDumbbell, faDumpster, faDumpsterFire, faDungeon, faEdit, faEgg, faEject, faEllipsisH, faEllipsisV, faEnvelope, faEnvelopeOpen, faEnvelopeOpenText, faEnvelopeSquare, faEquals, faEraser, faEthernet, faEuroSign, faExchangeAlt, faExclamation, faExclamationCircle, faExclamationTriangle, faExpand, faExpandAlt, faExpandArrowsAlt, faExternalLinkAlt, faExternalLinkSquareAlt, faEye, faEyeDropper, faEyeSlash, faFan, faFastBackward, faFastForward, faFaucet, faFax, faFeather, faFeatherAlt, faFemale, faFighterJet, faFile, faFileAlt, faFileArchive, faFileAudio, faFileCode, faFileContract, faFileCsv, faFileDownload, faFileExcel, faFileExport, faFileImage, faFileImport, faFileInvoice, faFileInvoiceDollar, faFileMedical, faFileMedicalAlt, faFilePdf, faFilePowerpoint, faFilePrescription, faFileSignature, faFileUpload, faFileVideo, faFileWord, faFill, faFillDrip, faFilm, faFilter, faFingerprint, faFire, faFireAlt, faFireExtinguisher, faFirstAid, faFish, faFistRaised, faFlag, faFlagCheckered, faFlagUsa, faFlask, faFlushed, faFolder, faFolderMinus, faFolderOpen, faFolderPlus, faFont, faFontAwesomeLogoFull, faFootballBall, faForward, faFrog, faFrown, faFrownOpen, faFunnelDollar, faFutbol, faGamepad, faGasPump, faGavel, faGem, faGenderless, faGhost, faGift, faGifts, faGlassCheers, faGlassMartini, faGlassMartiniAlt, faGlassWhiskey, faGlasses, faGlobe, faGlobeAfrica, faGlobeAmericas, faGlobeAsia, faGlobeEurope, faGolfBall, faGopuram, faGraduationCap, faGreaterThan, faGreaterThanEqual, faGrimace, faGrin, faGrinAlt, faGrinBeam, faGrinBeamSweat, faGrinHearts, faGrinSquint, faGrinSquintTears, faGrinStars, faGrinTears, faGrinTongue, faGrinTongueSquint, faGrinTongueWink, faGrinWink, faGripHorizontal, faGripLines, faGripLinesVertical, faGripVertical, faGuitar, faHSquare, faHamburger, faHammer, faHamsa, faHandHolding, faHandHoldingHeart, faHandHoldingMedical, faHandHoldingUsd, faHandHoldingWater, faHandLizard, faHandMiddleFinger, faHandPaper, faHandPeace, faHandPointDown, faHandPointLeft, faHandPointRight, faHandPointUp, faHandPointer, faHandRock, faHandScissors, faHandSparkles, faHandSpock, faHands, faHandsHelping, faHandsWash, faHandshake, faHandshakeAltSlash, faHandshakeSlash, faHanukiah, faHardHat, faHashtag, faHatCowboy, faHatCowboySide, faHatWizard, faHdd, faHeadSideCough, faHeadSideCoughSlash, faHeadSideMask, faHeadSideVirus, faHeading, faHeadphones, faHeadphonesAlt, faHeadset, faHeart, faHeartBroken, faHeartbeat, faHelicopter, faHighlighter, faHiking, faHippo, faHistory, faHockeyPuck, faHollyBerry, faHome, faHorse, faHorseHead, faHospital, faHospitalAlt, faHospitalSymbol, faHospitalUser, faHotTub, faHotdog, faHotel, faHourglass, faHourglassEnd, faHourglassHalf, faHourglassStart, faHouseDamage, faHouseUser, faHryvnia, faICursor, faIceCream, faIcicles, faIcons, faIdBadge, faIdCard, faIdCardAlt, faIgloo, faImage, faImages, faInbox, faIndent, faIndustry, faInfinity, faInfo, faInfoCircle, faItalic, faJedi, faJoint, faJournalWhills, faKaaba, faKey, faKeyboard, faKhanda, faKiss, faKissBeam, faKissWinkHeart, faKiwiBird, faLandmark, faLanguage, faLaptop, faLaptopCode, faLaptopHouse, faLaptopMedical, faLaugh, faLaughBeam, faLaughSquint, faLaughWink, faLayerGroup, faLeaf, faLemon, faLessThan, faLessThanEqual, faLevelDownAlt, faLevelUpAlt, faLifeRing, faLightbulb, faLink, faLiraSign, faList, faListAlt, faListOl, faListUl, faLocationArrow, faLock, faLockOpen, faLongArrowAltDown, faLongArrowAltLeft, faLongArrowAltRight, faLongArrowAltUp, faLowVision, faLuggageCart, faLungs, faLungsVirus, faMagic, faMagnet, faMailBulk, faMale, faMap, faMapMarked, faMapMarkedAlt, faMapMarker, faMapMarkerAlt, faMapPin, faMapSigns, faMarker, faMars, faMarsDouble, faMarsStroke, faMarsStrokeH, faMarsStrokeV, faMask, faMedal, faMedkit, faMeh, faMehBlank, faMehRollingEyes, faMemory, faMenorah, faMercury, faMeteor, faMicrochip, faMicrophone, faMicrophoneAlt, faMicrophoneAltSlash, faMicrophoneSlash, faMicroscope, faMinus, faMinusCircle, faMinusSquare, faMitten, faMobile, faMobileAlt, faMoneyBill, faMoneyBillAlt, faMoneyBillWave, faMoneyBillWaveAlt, faMoneyCheck, faMoneyCheckAlt, faMonument, faMoon, faMortarPestle, faMosque, faMotorcycle, faMountain, faMouse, faMousePointer, faMugHot, faMusic, faNetworkWired, faNeuter, faNewspaper, faNotEqual, faNotesMedical, faObjectGroup, faObjectUngroup, faOilCan, faOm, faOtter, faOutdent, faPager, faPaintBrush, faPaintRoller, faPalette, faPallet, faPaperPlane, faPaperclip, faParachuteBox, faParagraph, faParking, faPassport, faPastafarianism, faPaste, faPause, faPauseCircle, faPaw, faPeace, faPen, faPenAlt, faPenFancy, faPenNib, faPenSquare, faPencilAlt, faPencilRuler, faPeopleArrows, faPeopleCarry, faPepperHot, faPercent, faPercentage, faPersonBooth, faPhone, faPhoneAlt, faPhoneSlash, faPhoneSquare, faPhoneSquareAlt, faPhoneVolume, faPhotoVideo, faPiggyBank, faPills, faPizzaSlice, faPlaceOfWorship, faPlane, faPlaneArrival, faPlaneDeparture, faPlaneSlash, faPlay, faPlayCircle, faPlug, faPlus, faPlusCircle, faPlusSquare, faPodcast, faPoll, faPollH, faPoo, faPooStorm, faPoop, faPortrait, faPoundSign, faPowerOff, faPray, faPrayingHands, faPrescription, faPrescriptionBottle, faPrescriptionBottleAlt, faPrint, faProcedures, faProjectDiagram, faPumpMedical, faPumpSoap, faPuzzlePiece, faQrcode, faQuestion, faQuestionCircle, faQuidditch, faQuoteLeft, faQuoteRight, faQuran, faRadiation, faRadiationAlt, faRainbow, faRandom, faReceipt, faRecordVinyl, faRecycle, faRedo, faRedoAlt, faRegistered, faRemoveFormat, faReply, faReplyAll, faRepublican, faRestroom, faRetweet, faRibbon, faRing, faRoad, faRobot, faRocket, faRoute, faRss, faRssSquare, faRubleSign, faRuler, faRulerCombined, faRulerHorizontal, faRulerVertical, faRunning, faRupeeSign, faSadCry, faSadTear, faSatellite, faSatelliteDish, faSave, faSchool, faScrewdriver, faScroll, faSdCard, faSearch, faSearchDollar, faSearchLocation, faSearchMinus, faSearchPlus, faSeedling, faServer, faShapes, faShare, faShareAlt, faShareAltSquare, faShareSquare, faShekelSign, faShieldAlt, faShieldVirus, faShip, faShippingFast, faShoePrints, faShoppingBag, faShoppingBasket, faShoppingCart, faShower, faShuttleVan, faSign, faSignInAlt, faSignLanguage, faSignOutAlt, faSignal, faSignature, faSimCard, faSink, faSitemap, faSkating, faSkiing, faSkiingNordic, faSkull, faSkullCrossbones, faSlash, faSleigh, faSlidersH, faSmile, faSmileBeam, faSmileWink, faSmog, faSmoking, faSmokingBan, faSms, faSnowboarding, faSnowflake, faSnowman, faSnowplow, faSoap, faSocks, faSolarPanel, faSort, faSortAlphaDown, faSortAlphaDownAlt, faSortAlphaUp, faSortAlphaUpAlt, faSortAmountDown, faSortAmountDownAlt, faSortAmountUp, faSortAmountUpAlt, faSortDown, faSortNumericDown, faSortNumericDownAlt, faSortNumericUp, faSortNumericUpAlt, faSortUp, faSpa, faSpaceShuttle, faSpellCheck, faSpider, faSpinner, faSplotch, faSprayCan, faSquare, faSquareFull, faSquareRootAlt, faStamp, faStar, faStarAndCrescent, faStarHalf, faStarHalfAlt, faStarOfDavid, faStarOfLife, faStepBackward, faStepForward, faStethoscope, faStickyNote, faStop, faStopCircle, faStopwatch, faStopwatch20, faStore, faStoreAlt, faStoreAltSlash, faStoreSlash, faStream, faStreetView, faStrikethrough, faStroopwafel, faSubscript, faSubway, faSuitcase, faSuitcaseRolling, faSun, faSuperscript, faSurprise, faSwatchbook, faSwimmer, faSwimmingPool, faSynagogue, faSync, faSyncAlt, faSyringe, faTable, faTableTennis, faTablet, faTabletAlt, faTablets, faTachometerAlt, faTag, faTags, faTape, faTasks, faTaxi, faTeeth, faTeethOpen, faTemperatureHigh, faTemperatureLow, faTenge, faTerminal, faTextHeight, faTextWidth, faTh, faThLarge, faThList, faTheaterMasks, faThermometer, faThermometerEmpty, faThermometerFull, faThermometerHalf, faThermometerQuarter, faThermometerThreeQuarters, faThumbsDown, faThumbsUp, faThumbtack, faTicketAlt, faTimes, faTimesCircle, faTint, faTintSlash, faTired, faToggleOff, faToggleOn, faToilet, faToiletPaper, faToiletPaperSlash, faToolbox, faTools, faTooth, faTorah, faToriiGate, faTractor, faTrademark, faTrafficLight, faTrailer, faTrain, faTram, faTransgender, faTransgenderAlt, faTrash, faTrashAlt, faTrashRestore, faTrashRestoreAlt, faTree, faTrophy, faTruck, faTruckLoading, faTruckMonster, faTruckMoving, faTruckPickup, faTshirt, faTty, faTv, faUmbrella, faUmbrellaBeach, faUnderline, faUndo, faUndoAlt, faUniversalAccess, faUniversity, faUnlink, faUnlock, faUnlockAlt, faUpload, faUser, faUserAlt, faUserAltSlash, faUserAstronaut, faUserCheck, faUserCircle, faUserClock, faUserCog, faUserEdit, faUserFriends, faUserGraduate, faUserInjured, faUserLock, faUserMd, faUserMinus, faUserNinja, faUserNurse, faUserPlus, faUserSecret, faUserShield, faUserSlash, faUserTag, faUserTie, faUserTimes, faUsers, faUsersCog, faUsersSlash, faUtensilSpoon, faUtensils, faVectorSquare, faVenus, faVenusDouble, faVenusMars, faVial, faVials, faVideo, faVideoSlash, faVihara, faVirus, faVirusSlash, faViruses, faVoicemail, faVolleyballBall, faVolumeDown, faVolumeMute, faVolumeOff, faVolumeUp, faVoteYea, faVrCardboard, faWalking, faWallet, faWarehouse, faWater, faWaveSquare, faWeight, faWeightHanging, faWheelchair, faWifi, faWind, faWindowClose, faWindowMaximize, faWindowMinimize, faWindowRestore, faWineBottle, faWineGlass, faWineGlassAlt, faWonSign, faWrench, faXRay, faYenSign, faYinYang */
3651
+ /*! exports provided: fas, prefix, faAd, faAddressBook, faAddressCard, faAdjust, faAirFreshener, faAlignCenter, faAlignJustify, faAlignLeft, faAlignRight, faAllergies, faAmbulance, faAmericanSignLanguageInterpreting, faAnchor, faAngleDoubleDown, faAngleDoubleLeft, faAngleDoubleRight, faAngleDoubleUp, faAngleDown, faAngleLeft, faAngleRight, faAngleUp, faAngry, faAnkh, faAppleAlt, faArchive, faArchway, faArrowAltCircleDown, faArrowAltCircleLeft, faArrowAltCircleRight, faArrowAltCircleUp, faArrowCircleDown, faArrowCircleLeft, faArrowCircleRight, faArrowCircleUp, faArrowDown, faArrowLeft, faArrowRight, faArrowUp, faArrowsAlt, faArrowsAltH, faArrowsAltV, faAssistiveListeningSystems, faAsterisk, faAt, faAtlas, faAtom, faAudioDescription, faAward, faBaby, faBabyCarriage, faBackspace, faBackward, faBacon, faBacteria, faBacterium, faBahai, faBalanceScale, faBalanceScaleLeft, faBalanceScaleRight, faBan, faBandAid, faBarcode, faBars, faBaseballBall, faBasketballBall, faBath, faBatteryEmpty, faBatteryFull, faBatteryHalf, faBatteryQuarter, faBatteryThreeQuarters, faBed, faBeer, faBell, faBellSlash, faBezierCurve, faBible, faBicycle, faBiking, faBinoculars, faBiohazard, faBirthdayCake, faBlender, faBlenderPhone, faBlind, faBlog, faBold, faBolt, faBomb, faBone, faBong, faBook, faBookDead, faBookMedical, faBookOpen, faBookReader, faBookmark, faBorderAll, faBorderNone, faBorderStyle, faBowlingBall, faBox, faBoxOpen, faBoxTissue, faBoxes, faBraille, faBrain, faBreadSlice, faBriefcase, faBriefcaseMedical, faBroadcastTower, faBroom, faBrush, faBug, faBuilding, faBullhorn, faBullseye, faBurn, faBus, faBusAlt, faBusinessTime, faCalculator, faCalendar, faCalendarAlt, faCalendarCheck, faCalendarDay, faCalendarMinus, faCalendarPlus, faCalendarTimes, faCalendarWeek, faCamera, faCameraRetro, faCampground, faCandyCane, faCannabis, faCapsules, faCar, faCarAlt, faCarBattery, faCarCrash, faCarSide, faCaravan, faCaretDown, faCaretLeft, faCaretRight, faCaretSquareDown, faCaretSquareLeft, faCaretSquareRight, faCaretSquareUp, faCaretUp, faCarrot, faCartArrowDown, faCartPlus, faCashRegister, faCat, faCertificate, faChair, faChalkboard, faChalkboardTeacher, faChargingStation, faChartArea, faChartBar, faChartLine, faChartPie, faCheck, faCheckCircle, faCheckDouble, faCheckSquare, faCheese, faChess, faChessBishop, faChessBoard, faChessKing, faChessKnight, faChessPawn, faChessQueen, faChessRook, faChevronCircleDown, faChevronCircleLeft, faChevronCircleRight, faChevronCircleUp, faChevronDown, faChevronLeft, faChevronRight, faChevronUp, faChild, faChurch, faCircle, faCircleNotch, faCity, faClinicMedical, faClipboard, faClipboardCheck, faClipboardList, faClock, faClone, faClosedCaptioning, faCloud, faCloudDownloadAlt, faCloudMeatball, faCloudMoon, faCloudMoonRain, faCloudRain, faCloudShowersHeavy, faCloudSun, faCloudSunRain, faCloudUploadAlt, faCocktail, faCode, faCodeBranch, faCoffee, faCog, faCogs, faCoins, faColumns, faComment, faCommentAlt, faCommentDollar, faCommentDots, faCommentMedical, faCommentSlash, faComments, faCommentsDollar, faCompactDisc, faCompass, faCompress, faCompressAlt, faCompressArrowsAlt, faConciergeBell, faCookie, faCookieBite, faCopy, faCopyright, faCouch, faCreditCard, faCrop, faCropAlt, faCross, faCrosshairs, faCrow, faCrown, faCrutch, faCube, faCubes, faCut, faDatabase, faDeaf, faDemocrat, faDesktop, faDharmachakra, faDiagnoses, faDice, faDiceD20, faDiceD6, faDiceFive, faDiceFour, faDiceOne, faDiceSix, faDiceThree, faDiceTwo, faDigitalTachograph, faDirections, faDisease, faDivide, faDizzy, faDna, faDog, faDollarSign, faDolly, faDollyFlatbed, faDonate, faDoorClosed, faDoorOpen, faDotCircle, faDove, faDownload, faDraftingCompass, faDragon, faDrawPolygon, faDrum, faDrumSteelpan, faDrumstickBite, faDumbbell, faDumpster, faDumpsterFire, faDungeon, faEdit, faEgg, faEject, faEllipsisH, faEllipsisV, faEnvelope, faEnvelopeOpen, faEnvelopeOpenText, faEnvelopeSquare, faEquals, faEraser, faEthernet, faEuroSign, faExchangeAlt, faExclamation, faExclamationCircle, faExclamationTriangle, faExpand, faExpandAlt, faExpandArrowsAlt, faExternalLinkAlt, faExternalLinkSquareAlt, faEye, faEyeDropper, faEyeSlash, faFan, faFastBackward, faFastForward, faFaucet, faFax, faFeather, faFeatherAlt, faFemale, faFighterJet, faFile, faFileAlt, faFileArchive, faFileAudio, faFileCode, faFileContract, faFileCsv, faFileDownload, faFileExcel, faFileExport, faFileImage, faFileImport, faFileInvoice, faFileInvoiceDollar, faFileMedical, faFileMedicalAlt, faFilePdf, faFilePowerpoint, faFilePrescription, faFileSignature, faFileUpload, faFileVideo, faFileWord, faFill, faFillDrip, faFilm, faFilter, faFingerprint, faFire, faFireAlt, faFireExtinguisher, faFirstAid, faFish, faFistRaised, faFlag, faFlagCheckered, faFlagUsa, faFlask, faFlushed, faFolder, faFolderMinus, faFolderOpen, faFolderPlus, faFont, faFontAwesomeLogoFull, faFootballBall, faForward, faFrog, faFrown, faFrownOpen, faFunnelDollar, faFutbol, faGamepad, faGasPump, faGavel, faGem, faGenderless, faGhost, faGift, faGifts, faGlassCheers, faGlassMartini, faGlassMartiniAlt, faGlassWhiskey, faGlasses, faGlobe, faGlobeAfrica, faGlobeAmericas, faGlobeAsia, faGlobeEurope, faGolfBall, faGopuram, faGraduationCap, faGreaterThan, faGreaterThanEqual, faGrimace, faGrin, faGrinAlt, faGrinBeam, faGrinBeamSweat, faGrinHearts, faGrinSquint, faGrinSquintTears, faGrinStars, faGrinTears, faGrinTongue, faGrinTongueSquint, faGrinTongueWink, faGrinWink, faGripHorizontal, faGripLines, faGripLinesVertical, faGripVertical, faGuitar, faHSquare, faHamburger, faHammer, faHamsa, faHandHolding, faHandHoldingHeart, faHandHoldingMedical, faHandHoldingUsd, faHandHoldingWater, faHandLizard, faHandMiddleFinger, faHandPaper, faHandPeace, faHandPointDown, faHandPointLeft, faHandPointRight, faHandPointUp, faHandPointer, faHandRock, faHandScissors, faHandSparkles, faHandSpock, faHands, faHandsHelping, faHandsWash, faHandshake, faHandshakeAltSlash, faHandshakeSlash, faHanukiah, faHardHat, faHashtag, faHatCowboy, faHatCowboySide, faHatWizard, faHdd, faHeadSideCough, faHeadSideCoughSlash, faHeadSideMask, faHeadSideVirus, faHeading, faHeadphones, faHeadphonesAlt, faHeadset, faHeart, faHeartBroken, faHeartbeat, faHelicopter, faHighlighter, faHiking, faHippo, faHistory, faHockeyPuck, faHollyBerry, faHome, faHorse, faHorseHead, faHospital, faHospitalAlt, faHospitalSymbol, faHospitalUser, faHotTub, faHotdog, faHotel, faHourglass, faHourglassEnd, faHourglassHalf, faHourglassStart, faHouseDamage, faHouseUser, faHryvnia, faICursor, faIceCream, faIcicles, faIcons, faIdBadge, faIdCard, faIdCardAlt, faIgloo, faImage, faImages, faInbox, faIndent, faIndustry, faInfinity, faInfo, faInfoCircle, faItalic, faJedi, faJoint, faJournalWhills, faKaaba, faKey, faKeyboard, faKhanda, faKiss, faKissBeam, faKissWinkHeart, faKiwiBird, faLandmark, faLanguage, faLaptop, faLaptopCode, faLaptopHouse, faLaptopMedical, faLaugh, faLaughBeam, faLaughSquint, faLaughWink, faLayerGroup, faLeaf, faLemon, faLessThan, faLessThanEqual, faLevelDownAlt, faLevelUpAlt, faLifeRing, faLightbulb, faLink, faLiraSign, faList, faListAlt, faListOl, faListUl, faLocationArrow, faLock, faLockOpen, faLongArrowAltDown, faLongArrowAltLeft, faLongArrowAltRight, faLongArrowAltUp, faLowVision, faLuggageCart, faLungs, faLungsVirus, faMagic, faMagnet, faMailBulk, faMale, faMap, faMapMarked, faMapMarkedAlt, faMapMarker, faMapMarkerAlt, faMapPin, faMapSigns, faMarker, faMars, faMarsDouble, faMarsStroke, faMarsStrokeH, faMarsStrokeV, faMask, faMedal, faMedkit, faMeh, faMehBlank, faMehRollingEyes, faMemory, faMenorah, faMercury, faMeteor, faMicrochip, faMicrophone, faMicrophoneAlt, faMicrophoneAltSlash, faMicrophoneSlash, faMicroscope, faMinus, faMinusCircle, faMinusSquare, faMitten, faMobile, faMobileAlt, faMoneyBill, faMoneyBillAlt, faMoneyBillWave, faMoneyBillWaveAlt, faMoneyCheck, faMoneyCheckAlt, faMonument, faMoon, faMortarPestle, faMosque, faMotorcycle, faMountain, faMouse, faMousePointer, faMugHot, faMusic, faNetworkWired, faNeuter, faNewspaper, faNotEqual, faNotesMedical, faObjectGroup, faObjectUngroup, faOilCan, faOm, faOtter, faOutdent, faPager, faPaintBrush, faPaintRoller, faPalette, faPallet, faPaperPlane, faPaperclip, faParachuteBox, faParagraph, faParking, faPassport, faPastafarianism, faPaste, faPause, faPauseCircle, faPaw, faPeace, faPen, faPenAlt, faPenFancy, faPenNib, faPenSquare, faPencilAlt, faPencilRuler, faPeopleArrows, faPeopleCarry, faPepperHot, faPercent, faPercentage, faPersonBooth, faPhone, faPhoneAlt, faPhoneSlash, faPhoneSquare, faPhoneSquareAlt, faPhoneVolume, faPhotoVideo, faPiggyBank, faPills, faPizzaSlice, faPlaceOfWorship, faPlane, faPlaneArrival, faPlaneDeparture, faPlaneSlash, faPlay, faPlayCircle, faPlug, faPlus, faPlusCircle, faPlusSquare, faPodcast, faPoll, faPollH, faPoo, faPooStorm, faPoop, faPortrait, faPoundSign, faPowerOff, faPray, faPrayingHands, faPrescription, faPrescriptionBottle, faPrescriptionBottleAlt, faPrint, faProcedures, faProjectDiagram, faPumpMedical, faPumpSoap, faPuzzlePiece, faQrcode, faQuestion, faQuestionCircle, faQuidditch, faQuoteLeft, faQuoteRight, faQuran, faRadiation, faRadiationAlt, faRainbow, faRandom, faReceipt, faRecordVinyl, faRecycle, faRedo, faRedoAlt, faRegistered, faRemoveFormat, faReply, faReplyAll, faRepublican, faRestroom, faRetweet, faRibbon, faRing, faRoad, faRobot, faRocket, faRoute, faRss, faRssSquare, faRubleSign, faRuler, faRulerCombined, faRulerHorizontal, faRulerVertical, faRunning, faRupeeSign, faSadCry, faSadTear, faSatellite, faSatelliteDish, faSave, faSchool, faScrewdriver, faScroll, faSdCard, faSearch, faSearchDollar, faSearchLocation, faSearchMinus, faSearchPlus, faSeedling, faServer, faShapes, faShare, faShareAlt, faShareAltSquare, faShareSquare, faShekelSign, faShieldAlt, faShieldVirus, faShip, faShippingFast, faShoePrints, faShoppingBag, faShoppingBasket, faShoppingCart, faShower, faShuttleVan, faSign, faSignInAlt, faSignLanguage, faSignOutAlt, faSignal, faSignature, faSimCard, faSink, faSitemap, faSkating, faSkiing, faSkiingNordic, faSkull, faSkullCrossbones, faSlash, faSleigh, faSlidersH, faSmile, faSmileBeam, faSmileWink, faSmog, faSmoking, faSmokingBan, faSms, faSnowboarding, faSnowflake, faSnowman, faSnowplow, faSoap, faSocks, faSolarPanel, faSort, faSortAlphaDown, faSortAlphaDownAlt, faSortAlphaUp, faSortAlphaUpAlt, faSortAmountDown, faSortAmountDownAlt, faSortAmountUp, faSortAmountUpAlt, faSortDown, faSortNumericDown, faSortNumericDownAlt, faSortNumericUp, faSortNumericUpAlt, faSortUp, faSpa, faSpaceShuttle, faSpellCheck, faSpider, faSpinner, faSplotch, faSprayCan, faSquare, faSquareFull, faSquareRootAlt, faStamp, faStar, faStarAndCrescent, faStarHalf, faStarHalfAlt, faStarOfDavid, faStarOfLife, faStepBackward, faStepForward, faStethoscope, faStickyNote, faStop, faStopCircle, faStopwatch, faStopwatch20, faStore, faStoreAlt, faStoreAltSlash, faStoreSlash, faStream, faStreetView, faStrikethrough, faStroopwafel, faSubscript, faSubway, faSuitcase, faSuitcaseRolling, faSun, faSuperscript, faSurprise, faSwatchbook, faSwimmer, faSwimmingPool, faSynagogue, faSync, faSyncAlt, faSyringe, faTable, faTableTennis, faTablet, faTabletAlt, faTablets, faTachometerAlt, faTag, faTags, faTape, faTasks, faTaxi, faTeeth, faTeethOpen, faTemperatureHigh, faTemperatureLow, faTenge, faTerminal, faTextHeight, faTextWidth, faTh, faThLarge, faThList, faTheaterMasks, faThermometer, faThermometerEmpty, faThermometerFull, faThermometerHalf, faThermometerQuarter, faThermometerThreeQuarters, faThumbsDown, faThumbsUp, faThumbtack, faTicketAlt, faTimes, faTimesCircle, faTint, faTintSlash, faTired, faToggleOff, faToggleOn, faToilet, faToiletPaper, faToiletPaperSlash, faToolbox, faTools, faTooth, faTorah, faToriiGate, faTractor, faTrademark, faTrafficLight, faTrailer, faTrain, faTram, faTransgender, faTransgenderAlt, faTrash, faTrashAlt, faTrashRestore, faTrashRestoreAlt, faTree, faTrophy, faTruck, faTruckLoading, faTruckMonster, faTruckMoving, faTruckPickup, faTshirt, faTty, faTv, faUmbrella, faUmbrellaBeach, faUnderline, faUndo, faUndoAlt, faUniversalAccess, faUniversity, faUnlink, faUnlock, faUnlockAlt, faUpload, faUser, faUserAlt, faUserAltSlash, faUserAstronaut, faUserCheck, faUserCircle, faUserClock, faUserCog, faUserEdit, faUserFriends, faUserGraduate, faUserInjured, faUserLock, faUserMd, faUserMinus, faUserNinja, faUserNurse, faUserPlus, faUserSecret, faUserShield, faUserSlash, faUserTag, faUserTie, faUserTimes, faUsers, faUsersCog, faUsersSlash, faUtensilSpoon, faUtensils, faVectorSquare, faVenus, faVenusDouble, faVenusMars, faVest, faVestPatches, faVial, faVials, faVideo, faVideoSlash, faVihara, faVirus, faVirusSlash, faViruses, faVoicemail, faVolleyballBall, faVolumeDown, faVolumeMute, faVolumeOff, faVolumeUp, faVoteYea, faVrCardboard, faWalking, faWallet, faWarehouse, faWater, faWaveSquare, faWeight, faWeightHanging, faWheelchair, faWifi, faWind, faWindowClose, faWindowMaximize, faWindowMinimize, faWindowRestore, faWineBottle, faWineGlass, faWineGlassAlt, faWonSign, faWrench, faXRay, faYenSign, faYinYang */
3648
3652
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
3649
3653
 
3650
3654
  "use strict";
@@ -4613,6 +4617,8 @@ __webpack_require__.r(__webpack_exports__);
4613
4617
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "faVenus", function() { return faVenus; });
4614
4618
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "faVenusDouble", function() { return faVenusDouble; });
4615
4619
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "faVenusMars", function() { return faVenusMars; });
4620
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "faVest", function() { return faVest; });
4621
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "faVestPatches", function() { return faVestPatches; });
4616
4622
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "faVial", function() { return faVial; });
4617
4623
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "faVials", function() { return faVials; });
4618
4624
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "faVideo", function() { return faVideo; });
@@ -4651,6 +4657,10 @@ __webpack_require__.r(__webpack_exports__);
4651
4657
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "faXRay", function() { return faXRay; });
4652
4658
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "faYenSign", function() { return faYenSign; });
4653
4659
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "faYinYang", function() { return faYinYang; });
4660
+ /*!
4661
+ * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com
4662
+ * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
4663
+ */
4654
4664
  var prefix = "fas";
4655
4665
  var faAd = {
4656
4666
  prefix: 'fas',
@@ -4675,7 +4685,7 @@ var faAdjust = {
4675
4685
  var faAirFreshener = {
4676
4686
  prefix: 'fas',
4677
4687
  iconName: 'air-freshener',
4678
- icon: [384, 512, [], "f5d0", "M378.94 321.41L284.7 224h49.22c15.3 0 23.66-16.6 13.86-27.53L234.45 69.96c3.43-6.61 5.55-14 5.55-21.96 0-26.51-21.49-48-48-48s-48 21.49-48 48c0 7.96 2.12 15.35 5.55 21.96L36.22 196.47C26.42 207.4 34.78 224 50.08 224H99.3L5.06 321.41C-6.69 333.56 3.34 352 21.7 352H160v32H48c-8.84 0-16 7.16-16 16v96c0 8.84 7.16 16 16 16h288c8.84 0 16-7.16 16-16v-96c0-8.84-7.16-16-16-16H224v-32h138.3c18.36 0 28.39-18.44 16.64-30.59zM192 31.98c8.85 0 16.02 7.17 16.02 16.02 0 8.84-7.17 16.02-16.02 16.02S175.98 56.84 175.98 48c0-8.85 7.17-16.02 16.02-16.02zM304 432v32H80v-32h224z"]
4688
+ icon: [512, 512, [], "f5d0", "M224 160H96C43 160 0 203 0 256V480C0 497.625 14.375 512 32 512H288C305.625 512 320 497.625 320 480V256C320 203 277 160 224 160ZM160 416C115.875 416 80 380.125 80 336S115.875 256 160 256S240 291.875 240 336S204.125 416 160 416ZM224 32C224 14.375 209.625 0 192 0H128C110.375 0 96 14.375 96 32V128H224V32ZM381.781 51.578C383 50.969 384 49.359 384 48C384 46.625 383 45.031 381.781 44.422L352 32L339.562 2.219C338.969 1 337.375 0 336 0S333.031 1 332.406 2.219L320 32L290.219 44.422C289 45.031 288 46.625 288 48C288 49.359 289 50.969 290.219 51.578L320 64L332.406 93.781C333.031 95 334.625 96 336 96S338.969 95 339.562 93.781L352 64L381.781 51.578ZM448 64L460.406 93.781C461.031 95 462.625 96 464 96S466.969 95 467.562 93.781L480 64L509.781 51.578C511 50.969 512 49.359 512 48C512 46.625 511 45.031 509.781 44.422L480 32L467.562 2.219C466.969 1 465.375 0 464 0S461.031 1 460.406 2.219L448 32L418.219 44.422C417 45.031 416 46.625 416 48C416 49.359 417 50.969 418.219 51.578L448 64ZM480 224L467.562 194.219C466.969 193 465.375 192 464 192S461.031 193 460.406 194.219L448 224L418.219 236.422C417 237.031 416 238.625 416 240C416 241.359 417 242.969 418.219 243.578L448 256L460.406 285.781C461.031 287 462.625 288 464 288S466.969 287 467.562 285.781L480 256L509.781 243.578C511 242.969 512 241.359 512 240C512 238.625 511 237.031 509.781 236.422L480 224ZM445.781 147.578C447 146.969 448 145.359 448 144C448 142.625 447 141.031 445.781 140.422L416 128L403.562 98.219C402.969 97 401.375 96 400 96S397.031 97 396.406 98.219L384 128L354.219 140.422C353 141.031 352 142.625 352 144C352 145.359 353 146.969 354.219 147.578L384 160L396.406 189.781C397.031 191 398.625 192 400 192S402.969 191 403.562 189.781L416 160L445.781 147.578Z"]
4679
4689
  };
4680
4690
  var faAlignCenter = {
4681
4691
  prefix: 'fas',
@@ -4920,12 +4930,12 @@ var faBacon = {
4920
4930
  var faBacteria = {
4921
4931
  prefix: 'fas',
4922
4932
  iconName: 'bacteria',
4923
- icon: [640, 512, [], "f959", "M272.35,226.4A17.71,17.71,0,0,0,281.46,203l-4-9.08a121.29,121.29,0,0,1,12.36-3.08A83.34,83.34,0,0,0,323.57,177l10,9a17.76,17.76,0,1,0,23.92-26.27l-9.72-8.76a83.12,83.12,0,0,0,11.65-48.18l11.85-3.51a17.73,17.73,0,1,0-10.15-34l-11.34,3.36a84,84,0,0,0-36.38-35.57l2.84-10.85a17.8,17.8,0,0,0-34.47-8.93l-2.82,10.78a83.25,83.25,0,0,0-16.74,1.1C250.83,27,240,30.22,229.1,33.39l-3.38-9.46a17.8,17.8,0,0,0-33.56,11.89l3.49,9.8a286.74,286.74,0,0,0-43.94,23.57l-6.32-8.43a17.9,17.9,0,0,0-24.94-3.6A17.69,17.69,0,0,0,116.84,82l6.45,8.61a286.59,286.59,0,0,0-34.95,35.33l-8.82-6.42a17.84,17.84,0,0,0-24.89,3.86,17.66,17.66,0,0,0,3.88,24.77l8.88,6.47a286.6,286.6,0,0,0-23,43.91l-10.48-3.59a17.73,17.73,0,1,0-11.59,33.52L32.67,232c-2.79,10-5.79,19.84-7.52,30.22a83.16,83.16,0,0,0-.82,19l-11.58,3.43a17.73,17.73,0,1,0,10.13,34l11.27-3.33a83.51,83.51,0,0,0,36.39,35.43l-2.88,11.06a17.81,17.81,0,0,0,34.48,8.92l2.87-11c1,0,2.07.26,3.1.26a83.39,83.39,0,0,0,45.65-13.88l8.59,8.8a17.77,17.77,0,0,0,25.56-24.7l-9.14-9.37a83.41,83.41,0,0,0,12.08-31.05,119.08,119.08,0,0,1,3.87-15.53l9,4.22a17.74,17.74,0,1,0,15.15-32.09l-8.8-4.11c.67-1,1.2-2.08,1.9-3.05a119.89,119.89,0,0,1,7.87-9.41,121.73,121.73,0,0,1,11.65-11.4,119.49,119.49,0,0,1,9.94-7.82c1.12-.77,2.32-1.42,3.47-2.15l3.92,8.85a17.86,17.86,0,0,0,16.32,10.58A18.14,18.14,0,0,0,272.35,226.4ZM128,256a32,32,0,1,1,32-32A32,32,0,0,1,128,256Zm80-96a16,16,0,1,1,16-16A16,16,0,0,1,208,160Zm431.26,45.3a17.79,17.79,0,0,0-17.06-12.69,17.55,17.55,0,0,0-5.08.74l-11.27,3.33a83.61,83.61,0,0,0-36.39-35.43l2.88-11.06a17.81,17.81,0,0,0-34.48-8.91l-2.87,11c-1,0-2.07-.26-3.1-.26a83.32,83.32,0,0,0-45.65,13.89l-8.59-8.81a17.77,17.77,0,0,0-25.56,24.7l9.14,9.37a83.28,83.28,0,0,0-12.08,31.06,119.34,119.34,0,0,1-3.87,15.52l-9-4.22a17.74,17.74,0,1,0-15.15,32.09l8.8,4.11c-.67,1-1.2,2.08-1.89,3.05a117.71,117.71,0,0,1-7.94,9.47,119,119,0,0,1-11.57,11.33,121.59,121.59,0,0,1-10,7.83c-1.12.77-2.32,1.42-3.47,2.15l-3.92-8.85a17.86,17.86,0,0,0-16.32-10.58,18.14,18.14,0,0,0-7.18,1.5A17.71,17.71,0,0,0,358.54,309l4,9.08a118.71,118.71,0,0,1-12.36,3.08,83.34,83.34,0,0,0-33.77,13.9l-10-9a17.77,17.77,0,1,0-23.92,26.28l9.72,8.75a83.12,83.12,0,0,0-11.65,48.18l-11.86,3.51a17.73,17.73,0,1,0,10.16,34l11.34-3.36A84,84,0,0,0,326.61,479l-2.84,10.85a17.8,17.8,0,0,0,34.47,8.93L361.06,488a83.3,83.3,0,0,0,16.74-1.1c11.37-1.89,22.24-5.07,33.1-8.24l3.38,9.46a17.8,17.8,0,0,0,33.56-11.89l-3.49-9.79a287.66,287.66,0,0,0,43.94-23.58l6.32,8.43a17.88,17.88,0,0,0,24.93,3.6A17.67,17.67,0,0,0,523.16,430l-6.45-8.61a287.37,287.37,0,0,0,34.95-35.34l8.82,6.42a17.76,17.76,0,1,0,21-28.63l-8.88-6.46a287.17,287.17,0,0,0,23-43.92l10.48,3.59a17.73,17.73,0,1,0,11.59-33.52L607.33,280c2.79-10,5.79-19.84,7.52-30.21a83.27,83.27,0,0,0,.82-19.05l11.58-3.43A17.7,17.7,0,0,0,639.26,205.3ZM416,416a32,32,0,1,1,32-32A32,32,0,0,1,416,416Z"]
4933
+ icon: [640, 512, [], "e059", "M272.35,226.4A17.71,17.71,0,0,0,281.46,203l-4-9.08a121.29,121.29,0,0,1,12.36-3.08A83.34,83.34,0,0,0,323.57,177l10,9a17.76,17.76,0,1,0,23.92-26.27l-9.72-8.76a83.12,83.12,0,0,0,11.65-48.18l11.85-3.51a17.73,17.73,0,1,0-10.15-34l-11.34,3.36a84,84,0,0,0-36.38-35.57l2.84-10.85a17.8,17.8,0,0,0-34.47-8.93l-2.82,10.78a83.25,83.25,0,0,0-16.74,1.1C250.83,27,240,30.22,229.1,33.39l-3.38-9.46a17.8,17.8,0,0,0-33.56,11.89l3.49,9.8a286.74,286.74,0,0,0-43.94,23.57l-6.32-8.43a17.9,17.9,0,0,0-24.94-3.6A17.69,17.69,0,0,0,116.84,82l6.45,8.61a286.59,286.59,0,0,0-34.95,35.33l-8.82-6.42a17.84,17.84,0,0,0-24.89,3.86,17.66,17.66,0,0,0,3.88,24.77l8.88,6.47a286.6,286.6,0,0,0-23,43.91l-10.48-3.59a17.73,17.73,0,1,0-11.59,33.52L32.67,232c-2.79,10-5.79,19.84-7.52,30.22a83.16,83.16,0,0,0-.82,19l-11.58,3.43a17.73,17.73,0,1,0,10.13,34l11.27-3.33a83.51,83.51,0,0,0,36.39,35.43l-2.88,11.06a17.81,17.81,0,0,0,34.48,8.92l2.87-11c1,0,2.07.26,3.1.26a83.39,83.39,0,0,0,45.65-13.88l8.59,8.8a17.77,17.77,0,0,0,25.56-24.7l-9.14-9.37a83.41,83.41,0,0,0,12.08-31.05,119.08,119.08,0,0,1,3.87-15.53l9,4.22a17.74,17.74,0,1,0,15.15-32.09l-8.8-4.11c.67-1,1.2-2.08,1.9-3.05a119.89,119.89,0,0,1,7.87-9.41,121.73,121.73,0,0,1,11.65-11.4,119.49,119.49,0,0,1,9.94-7.82c1.12-.77,2.32-1.42,3.47-2.15l3.92,8.85a17.86,17.86,0,0,0,16.32,10.58A18.14,18.14,0,0,0,272.35,226.4ZM128,256a32,32,0,1,1,32-32A32,32,0,0,1,128,256Zm80-96a16,16,0,1,1,16-16A16,16,0,0,1,208,160Zm431.26,45.3a17.79,17.79,0,0,0-17.06-12.69,17.55,17.55,0,0,0-5.08.74l-11.27,3.33a83.61,83.61,0,0,0-36.39-35.43l2.88-11.06a17.81,17.81,0,0,0-34.48-8.91l-2.87,11c-1,0-2.07-.26-3.1-.26a83.32,83.32,0,0,0-45.65,13.89l-8.59-8.81a17.77,17.77,0,0,0-25.56,24.7l9.14,9.37a83.28,83.28,0,0,0-12.08,31.06,119.34,119.34,0,0,1-3.87,15.52l-9-4.22a17.74,17.74,0,1,0-15.15,32.09l8.8,4.11c-.67,1-1.2,2.08-1.89,3.05a117.71,117.71,0,0,1-7.94,9.47,119,119,0,0,1-11.57,11.33,121.59,121.59,0,0,1-10,7.83c-1.12.77-2.32,1.42-3.47,2.15l-3.92-8.85a17.86,17.86,0,0,0-16.32-10.58,18.14,18.14,0,0,0-7.18,1.5A17.71,17.71,0,0,0,358.54,309l4,9.08a118.71,118.71,0,0,1-12.36,3.08,83.34,83.34,0,0,0-33.77,13.9l-10-9a17.77,17.77,0,1,0-23.92,26.28l9.72,8.75a83.12,83.12,0,0,0-11.65,48.18l-11.86,3.51a17.73,17.73,0,1,0,10.16,34l11.34-3.36A84,84,0,0,0,326.61,479l-2.84,10.85a17.8,17.8,0,0,0,34.47,8.93L361.06,488a83.3,83.3,0,0,0,16.74-1.1c11.37-1.89,22.24-5.07,33.1-8.24l3.38,9.46a17.8,17.8,0,0,0,33.56-11.89l-3.49-9.79a287.66,287.66,0,0,0,43.94-23.58l6.32,8.43a17.88,17.88,0,0,0,24.93,3.6A17.67,17.67,0,0,0,523.16,430l-6.45-8.61a287.37,287.37,0,0,0,34.95-35.34l8.82,6.42a17.76,17.76,0,1,0,21-28.63l-8.88-6.46a287.17,287.17,0,0,0,23-43.92l10.48,3.59a17.73,17.73,0,1,0,11.59-33.52L607.33,280c2.79-10,5.79-19.84,7.52-30.21a83.27,83.27,0,0,0,.82-19.05l11.58-3.43A17.7,17.7,0,0,0,639.26,205.3ZM416,416a32,32,0,1,1,32-32A32,32,0,0,1,416,416Z"]
4924
4934
  };
4925
4935
  var faBacterium = {
4926
4936
  prefix: 'fas',
4927
4937
  iconName: 'bacterium',
4928
- icon: [512, 512, [], "f95a", "M511,102.93A23.76,23.76,0,0,0,481.47,87l-15.12,4.48a111.85,111.85,0,0,0-48.5-47.42l3.79-14.47a23.74,23.74,0,0,0-46-11.91l-3.76,14.37a111.94,111.94,0,0,0-22.33,1.47,386.74,386.74,0,0,0-44.33,10.41l-4.3-12a23.74,23.74,0,0,0-44.75,15.85l4.3,12.05a383.4,383.4,0,0,0-58.69,31.83l-8-10.63a23.85,23.85,0,0,0-33.24-4.8,23.57,23.57,0,0,0-4.83,33.09l8,10.63a386.14,386.14,0,0,0-46.7,47.44l-11-8a23.68,23.68,0,1,0-28,38.17l11.09,8.06a383.45,383.45,0,0,0-30.92,58.75l-12.93-4.43a23.65,23.65,0,1,0-15.47,44.69l13,4.48a385.81,385.81,0,0,0-9.3,40.53A111.58,111.58,0,0,0,32.44,375L17,379.56a23.64,23.64,0,0,0,13.51,45.31l15-4.44a111.49,111.49,0,0,0,48.53,47.24l-3.85,14.75a23.66,23.66,0,0,0,17,28.83,24.7,24.7,0,0,0,6,.75,23.73,23.73,0,0,0,23-17.7L140,479.67c1.37.05,2.77.35,4.13.35A111.22,111.22,0,0,0,205,461.5l11.45,11.74a23.7,23.7,0,0,0,34.08-32.93l-12.19-12.5a111,111,0,0,0,16.11-41.4,158.69,158.69,0,0,1,5.16-20.71l12,5.64a23.66,23.66,0,1,0,20.19-42.79l-11.72-5.49c.89-1.32,1.59-2.77,2.52-4.06a157.86,157.86,0,0,1,10.46-12.49,159.5,159.5,0,0,1,15.59-15.28,162.18,162.18,0,0,1,13.23-10.4c1.5-1,3.1-1.89,4.63-2.87l5.23,11.8a23.74,23.74,0,0,0,43.48-19.08l-5.36-12.11a158.87,158.87,0,0,1,16.49-4.1,111,111,0,0,0,45-18.54l13.33,12a23.69,23.69,0,1,0,31.88-35l-12.94-11.67A110.83,110.83,0,0,0,479.21,137L495,132.32A23.61,23.61,0,0,0,511,102.93ZM160,368a48,48,0,1,1,48-48A48,48,0,0,1,160,368Zm80-136a24,24,0,1,1,24-24A24,24,0,0,1,240,232Z"]
4938
+ icon: [512, 512, [], "e05a", "M511,102.93A23.76,23.76,0,0,0,481.47,87l-15.12,4.48a111.85,111.85,0,0,0-48.5-47.42l3.79-14.47a23.74,23.74,0,0,0-46-11.91l-3.76,14.37a111.94,111.94,0,0,0-22.33,1.47,386.74,386.74,0,0,0-44.33,10.41l-4.3-12a23.74,23.74,0,0,0-44.75,15.85l4.3,12.05a383.4,383.4,0,0,0-58.69,31.83l-8-10.63a23.85,23.85,0,0,0-33.24-4.8,23.57,23.57,0,0,0-4.83,33.09l8,10.63a386.14,386.14,0,0,0-46.7,47.44l-11-8a23.68,23.68,0,1,0-28,38.17l11.09,8.06a383.45,383.45,0,0,0-30.92,58.75l-12.93-4.43a23.65,23.65,0,1,0-15.47,44.69l13,4.48a385.81,385.81,0,0,0-9.3,40.53A111.58,111.58,0,0,0,32.44,375L17,379.56a23.64,23.64,0,0,0,13.51,45.31l15-4.44a111.49,111.49,0,0,0,48.53,47.24l-3.85,14.75a23.66,23.66,0,0,0,17,28.83,24.7,24.7,0,0,0,6,.75,23.73,23.73,0,0,0,23-17.7L140,479.67c1.37.05,2.77.35,4.13.35A111.22,111.22,0,0,0,205,461.5l11.45,11.74a23.7,23.7,0,0,0,34.08-32.93l-12.19-12.5a111,111,0,0,0,16.11-41.4,158.69,158.69,0,0,1,5.16-20.71l12,5.64a23.66,23.66,0,1,0,20.19-42.79l-11.72-5.49c.89-1.32,1.59-2.77,2.52-4.06a157.86,157.86,0,0,1,10.46-12.49,159.5,159.5,0,0,1,15.59-15.28,162.18,162.18,0,0,1,13.23-10.4c1.5-1,3.1-1.89,4.63-2.87l5.23,11.8a23.74,23.74,0,0,0,43.48-19.08l-5.36-12.11a158.87,158.87,0,0,1,16.49-4.1,111,111,0,0,0,45-18.54l13.33,12a23.69,23.69,0,1,0,31.88-35l-12.94-11.67A110.83,110.83,0,0,0,479.21,137L495,132.32A23.61,23.61,0,0,0,511,102.93ZM160,368a48,48,0,1,1,48-48A48,48,0,0,1,160,368Zm80-136a24,24,0,1,1,24-24A24,24,0,0,1,240,232Z"]
4929
4939
  };
4930
4940
  var faBahai = {
4931
4941
  prefix: 'fas',
@@ -5170,7 +5180,7 @@ var faBoxOpen = {
5170
5180
  var faBoxTissue = {
5171
5181
  prefix: 'fas',
5172
5182
  iconName: 'box-tissue',
5173
- icon: [512, 512, [], "f95b", "M383.88,287.82l64-192H338.47a70.2,70.2,0,0,1-66.59-48,70.21,70.21,0,0,0-66.6-48H63.88l64,288Zm-384,192a32,32,0,0,0,32,32h448a32,32,0,0,0,32-32v-64H-.12Zm480-256H438.94l-21.33,64h14.27a16,16,0,0,1,0,32h-352a16,16,0,1,1,0-32H95.09l-14.22-64h-49a32,32,0,0,0-32,32v128h512v-128A32,32,0,0,0,479.88,223.82Z"]
5183
+ icon: [512, 512, [], "e05b", "M383.88,287.82l64-192H338.47a70.2,70.2,0,0,1-66.59-48,70.21,70.21,0,0,0-66.6-48H63.88l64,288Zm-384,192a32,32,0,0,0,32,32h448a32,32,0,0,0,32-32v-64H-.12Zm480-256H438.94l-21.33,64h14.27a16,16,0,0,1,0,32h-352a16,16,0,1,1,0-32H95.09l-14.22-64h-49a32,32,0,0,0-32,32v128h512v-128A32,32,0,0,0,479.88,223.82Z"]
5174
5184
  };
5175
5185
  var faBoxes = {
5176
5186
  prefix: 'fas',
@@ -6225,7 +6235,7 @@ var faFastForward = {
6225
6235
  var faFaucet = {
6226
6236
  prefix: 'fas',
6227
6237
  iconName: 'faucet',
6228
- icon: [512, 512, [], "f905", "M352,256H313.39c-15.71-13.44-35.46-23.07-57.39-28V180.44l-32-3.38-32,3.38V228c-21.93,5-41.68,14.6-57.39,28H16A16,16,0,0,0,0,272v96a16,16,0,0,0,16,16h92.79C129.38,421.73,173,448,224,448s94.62-26.27,115.21-64H352a32,32,0,0,1,32,32,32,32,0,0,0,32,32h64a32,32,0,0,0,32-32A160,160,0,0,0,352,256ZM81.59,159.91l142.41-15,142.41,15c9.42,1,17.59-6.81,17.59-16.8V112.89c0-10-8.17-17.8-17.59-16.81L256,107.74V80a16,16,0,0,0-16-16H208a16,16,0,0,0-16,16v27.74L81.59,96.08C72.17,95.09,64,102.9,64,112.89v30.22C64,153.1,72.17,160.91,81.59,159.91Z"]
6238
+ icon: [512, 512, [], "e005", "M352,256H313.39c-15.71-13.44-35.46-23.07-57.39-28V180.44l-32-3.38-32,3.38V228c-21.93,5-41.68,14.6-57.39,28H16A16,16,0,0,0,0,272v96a16,16,0,0,0,16,16h92.79C129.38,421.73,173,448,224,448s94.62-26.27,115.21-64H352a32,32,0,0,1,32,32,32,32,0,0,0,32,32h64a32,32,0,0,0,32-32A160,160,0,0,0,352,256ZM81.59,159.91l142.41-15,142.41,15c9.42,1,17.59-6.81,17.59-16.8V112.89c0-10-8.17-17.8-17.59-16.81L256,107.74V80a16,16,0,0,0-16-16H208a16,16,0,0,0-16,16v27.74L81.59,96.08C72.17,95.09,64,102.9,64,112.89v30.22C64,153.1,72.17,160.91,81.59,159.91Z"]
6229
6239
  };
6230
6240
  var faFax = {
6231
6241
  prefix: 'fas',
@@ -6755,7 +6765,7 @@ var faHandHoldingHeart = {
6755
6765
  var faHandHoldingMedical = {
6756
6766
  prefix: 'fas',
6757
6767
  iconName: 'hand-holding-medical',
6758
- icon: [576, 512, [], "f95c", "M159.88,175.82h64v64a16,16,0,0,0,16,16h64a16,16,0,0,0,16-16v-64h64a16,16,0,0,0,16-16v-64a16,16,0,0,0-16-16h-64v-64a16,16,0,0,0-16-16h-64a16,16,0,0,0-16,16v64h-64a16,16,0,0,0-16,16v64A16,16,0,0,0,159.88,175.82ZM568.07,336.13a39.91,39.91,0,0,0-55.93-8.47L392.47,415.84H271.86a16,16,0,0,1,0-32H350.1c16,0,30.75-10.87,33.37-26.61a32.06,32.06,0,0,0-31.62-37.38h-160a117.7,117.7,0,0,0-74.12,26.25l-46.5,37.74H15.87a16.11,16.11,0,0,0-16,16v96a16.11,16.11,0,0,0,16,16h347a104.8,104.8,0,0,0,61.7-20.27L559.6,392A40,40,0,0,0,568.07,336.13Z"]
6768
+ icon: [576, 512, [], "e05c", "M159.88,175.82h64v64a16,16,0,0,0,16,16h64a16,16,0,0,0,16-16v-64h64a16,16,0,0,0,16-16v-64a16,16,0,0,0-16-16h-64v-64a16,16,0,0,0-16-16h-64a16,16,0,0,0-16,16v64h-64a16,16,0,0,0-16,16v64A16,16,0,0,0,159.88,175.82ZM568.07,336.13a39.91,39.91,0,0,0-55.93-8.47L392.47,415.84H271.86a16,16,0,0,1,0-32H350.1c16,0,30.75-10.87,33.37-26.61a32.06,32.06,0,0,0-31.62-37.38h-160a117.7,117.7,0,0,0-74.12,26.25l-46.5,37.74H15.87a16.11,16.11,0,0,0-16,16v96a16.11,16.11,0,0,0,16,16h347a104.8,104.8,0,0,0,61.7-20.27L559.6,392A40,40,0,0,0,568.07,336.13Z"]
6759
6769
  };
6760
6770
  var faHandHoldingUsd = {
6761
6771
  prefix: 'fas',
@@ -6825,7 +6835,7 @@ var faHandScissors = {
6825
6835
  var faHandSparkles = {
6826
6836
  prefix: 'fas',
6827
6837
  iconName: 'hand-sparkles',
6828
- icon: [640, 512, [], "f95d", "M106.66,170.64l.09,0,49.55-20.65a7.32,7.32,0,0,0,3.68-6h0a7.29,7.29,0,0,0-3.68-6l-49.57-20.67-.07,0L86,67.68a6.66,6.66,0,0,0-11.92,0l-20.7,49.63-.05,0L3.7,138A7.29,7.29,0,0,0,0,144H0a7.32,7.32,0,0,0,3.68,6L53.27,170.6l.07,0L74,220.26a6.65,6.65,0,0,0,11.92,0l20.69-49.62ZM471.38,467.41l-1-.42-1-.5a38.67,38.67,0,0,1,0-69.14l1-.49,1-.43,37.49-15.63,15.63-37.48.41-1,.47-.95c3.85-7.74,10.58-13.63,18.35-17.34,0-1.33.25-2.69.27-4V144a32,32,0,0,0-64,0v72a8,8,0,0,1-8,8H456a8,8,0,0,1-8-8V64a32,32,0,0,0-64,0V216a8,8,0,0,1-8,8H360a8,8,0,0,1-8-8V32a32,32,0,0,0-64,0V216a8,8,0,0,1-8,8H264a8,8,0,0,1-8-8V64a32,32,0,0,0-64,0v241l-23.59-32.49a40,40,0,0,0-64.71,47.09L229.3,492.21A48.07,48.07,0,0,0,268.09,512H465.7c19.24,0,35.65-11.73,43.24-28.79l-.07-.17ZM349.79,339.52,320,351.93l-12.42,29.78a4,4,0,0,1-7.15,0L288,351.93l-29.79-12.41a4,4,0,0,1,0-7.16L288,319.94l12.42-29.78a4,4,0,0,1,7.15,0L320,319.94l29.79,12.42a4,4,0,0,1,0,7.16ZM640,431.91a7.28,7.28,0,0,0-3.68-6l-49.57-20.67-.07,0L566,355.63a6.66,6.66,0,0,0-11.92,0l-20.7,49.63-.05,0L483.7,426a7.28,7.28,0,0,0-3.68,6h0a7.29,7.29,0,0,0,3.68,5.95l49.57,20.67.07,0L554,508.21a6.65,6.65,0,0,0,11.92,0l20.69-49.62h0l.09,0,49.55-20.66a7.29,7.29,0,0,0,3.68-5.95h0Z"]
6838
+ icon: [640, 512, [], "e05d", "M106.66,170.64l.09,0,49.55-20.65a7.32,7.32,0,0,0,3.68-6h0a7.29,7.29,0,0,0-3.68-6l-49.57-20.67-.07,0L86,67.68a6.66,6.66,0,0,0-11.92,0l-20.7,49.63-.05,0L3.7,138A7.29,7.29,0,0,0,0,144H0a7.32,7.32,0,0,0,3.68,6L53.27,170.6l.07,0L74,220.26a6.65,6.65,0,0,0,11.92,0l20.69-49.62ZM471.38,467.41l-1-.42-1-.5a38.67,38.67,0,0,1,0-69.14l1-.49,1-.43,37.49-15.63,15.63-37.48.41-1,.47-.95c3.85-7.74,10.58-13.63,18.35-17.34,0-1.33.25-2.69.27-4V144a32,32,0,0,0-64,0v72a8,8,0,0,1-8,8H456a8,8,0,0,1-8-8V64a32,32,0,0,0-64,0V216a8,8,0,0,1-8,8H360a8,8,0,0,1-8-8V32a32,32,0,0,0-64,0V216a8,8,0,0,1-8,8H264a8,8,0,0,1-8-8V64a32,32,0,0,0-64,0v241l-23.59-32.49a40,40,0,0,0-64.71,47.09L229.3,492.21A48.07,48.07,0,0,0,268.09,512H465.7c19.24,0,35.65-11.73,43.24-28.79l-.07-.17ZM349.79,339.52,320,351.93l-12.42,29.78a4,4,0,0,1-7.15,0L288,351.93l-29.79-12.41a4,4,0,0,1,0-7.16L288,319.94l12.42-29.78a4,4,0,0,1,7.15,0L320,319.94l29.79,12.42a4,4,0,0,1,0,7.16ZM640,431.91a7.28,7.28,0,0,0-3.68-6l-49.57-20.67-.07,0L566,355.63a6.66,6.66,0,0,0-11.92,0l-20.7,49.63-.05,0L483.7,426a7.28,7.28,0,0,0-3.68,6h0a7.29,7.29,0,0,0,3.68,5.95l49.57,20.67.07,0L554,508.21a6.65,6.65,0,0,0,11.92,0l20.69-49.62h0l.09,0,49.55-20.66a7.29,7.29,0,0,0,3.68-5.95h0Z"]
6829
6839
  };
6830
6840
  var faHandSpock = {
6831
6841
  prefix: 'fas',
@@ -6845,7 +6855,7 @@ var faHandsHelping = {
6845
6855
  var faHandsWash = {
6846
6856
  prefix: 'fas',
6847
6857
  iconName: 'hands-wash',
6848
- icon: [576, 512, [], "f95e", "M496,224a48,48,0,1,0-48-48A48,48,0,0,0,496,224ZM311.47,178.45A56.77,56.77,0,0,1,328,176a56,56,0,0,1,19,3.49l15.35-48.61A24,24,0,0,0,342,99.74c-11.53-1.35-22.21,6.44-25.71,17.51l-20.9,66.17ZM93.65,386.33c.8-.19,1.54-.54,2.35-.71V359.93a156,156,0,0,1,107.06-148l73.7-22.76L310.92,81.05a24,24,0,0,0-20.33-31.11c-11.53-1.34-22.22,6.45-25.72,17.52L231.42,173.88a8,8,0,0,1-15.26-4.83L259.53,31.26A24,24,0,0,0,239.2.15C227.67-1.19,217,6.6,213.49,17.66L165.56,169.37a8,8,0,1,1-15.26-4.82l38.56-122a24,24,0,0,0-20.33-31.11C157,10,146.32,17.83,142.82,28.9l-60,189.85L80.76,168.7A24,24,0,0,0,56.9,144.55c-13.23-.05-24.72,10.54-24.9,23.86V281.14A123.69,123.69,0,0,0,93.65,386.33ZM519.1,336H360a8,8,0,0,1,0-16H488a24,24,0,0,0,23.54-28.76C509.35,279.84,498.71,272,487.1,272H288l47.09-17.06a24,24,0,0,0-14.18-45.88L213.19,242.31A123.88,123.88,0,0,0,128,360v25.65a79.78,79.78,0,0,1,58,108.63A118.9,118.9,0,0,0,248,512H456a24,24,0,0,0,23.54-28.76C477.35,471.84,466.71,464,455.1,464H360a8,8,0,0,1,0-16H488a24,24,0,0,0,23.54-28.76C509.35,407.84,498.71,400,487.1,400H360a8,8,0,0,1,0-16H520a24,24,0,0,0,23.54-28.76C541.35,343.84,530.71,336,519.1,336ZM416,64a32,32,0,1,0-32-32A32,32,0,0,0,416,64ZM112,416a48,48,0,1,0,48,48A48,48,0,0,0,112,416Z"]
6858
+ icon: [576, 512, [], "e05e", "M496,224a48,48,0,1,0-48-48A48,48,0,0,0,496,224ZM311.47,178.45A56.77,56.77,0,0,1,328,176a56,56,0,0,1,19,3.49l15.35-48.61A24,24,0,0,0,342,99.74c-11.53-1.35-22.21,6.44-25.71,17.51l-20.9,66.17ZM93.65,386.33c.8-.19,1.54-.54,2.35-.71V359.93a156,156,0,0,1,107.06-148l73.7-22.76L310.92,81.05a24,24,0,0,0-20.33-31.11c-11.53-1.34-22.22,6.45-25.72,17.52L231.42,173.88a8,8,0,0,1-15.26-4.83L259.53,31.26A24,24,0,0,0,239.2.15C227.67-1.19,217,6.6,213.49,17.66L165.56,169.37a8,8,0,1,1-15.26-4.82l38.56-122a24,24,0,0,0-20.33-31.11C157,10,146.32,17.83,142.82,28.9l-60,189.85L80.76,168.7A24,24,0,0,0,56.9,144.55c-13.23-.05-24.72,10.54-24.9,23.86V281.14A123.69,123.69,0,0,0,93.65,386.33ZM519.1,336H360a8,8,0,0,1,0-16H488a24,24,0,0,0,23.54-28.76C509.35,279.84,498.71,272,487.1,272H288l47.09-17.06a24,24,0,0,0-14.18-45.88L213.19,242.31A123.88,123.88,0,0,0,128,360v25.65a79.78,79.78,0,0,1,58,108.63A118.9,118.9,0,0,0,248,512H456a24,24,0,0,0,23.54-28.76C477.35,471.84,466.71,464,455.1,464H360a8,8,0,0,1,0-16H488a24,24,0,0,0,23.54-28.76C509.35,407.84,498.71,400,487.1,400H360a8,8,0,0,1,0-16H520a24,24,0,0,0,23.54-28.76C541.35,343.84,530.71,336,519.1,336ZM416,64a32,32,0,1,0-32-32A32,32,0,0,0,416,64ZM112,416a48,48,0,1,0,48,48A48,48,0,0,0,112,416Z"]
6849
6859
  };
6850
6860
  var faHandshake = {
6851
6861
  prefix: 'fas',
@@ -6855,12 +6865,12 @@ var faHandshake = {
6855
6865
  var faHandshakeAltSlash = {
6856
6866
  prefix: 'fas',
6857
6867
  iconName: 'handshake-alt-slash',
6858
- icon: [640, 512, [], "f95f", "M358.59,195.6,504.2,313.8a63.4,63.4,0,0,1,22.21,37.91H624a16.05,16.05,0,0,0,16-16V143.91A16,16,0,0,0,624,128H512L457.41,73.41A32,32,0,0,0,434.8,64H348.91a32,32,0,0,0-21.61,8.41l-88.12,80.68-25.69-19.85L289.09,64H205.3a32,32,0,0,0-22.6,9.41l-20.34,20.3L45.47,3.38A16,16,0,0,0,23,6.19L3.38,31.46A16,16,0,0,0,6.19,53.91L594.54,508.63A16,16,0,0,0,617,505.82l19.64-25.27a16,16,0,0,0-2.81-22.45L303.4,202.72l32.69-29.92,27-24.7a16,16,0,0,1,21.61,23.61ZM16,128A16.05,16.05,0,0,0,0,144V335.91a16,16,0,0,0,16,16H146.3l90.5,81.89a64,64,0,0,0,90-9.3l.2-.2,17.91,15.5a37.16,37.16,0,0,0,52.29-5.39l8.8-10.82L23.56,128Z"]
6868
+ icon: [640, 512, [], "e05f", "M358.59,195.6,504.2,313.8a63.4,63.4,0,0,1,22.21,37.91H624a16.05,16.05,0,0,0,16-16V143.91A16,16,0,0,0,624,128H512L457.41,73.41A32,32,0,0,0,434.8,64H348.91a32,32,0,0,0-21.61,8.41l-88.12,80.68-25.69-19.85L289.09,64H205.3a32,32,0,0,0-22.6,9.41l-20.34,20.3L45.47,3.38A16,16,0,0,0,23,6.19L3.38,31.46A16,16,0,0,0,6.19,53.91L594.54,508.63A16,16,0,0,0,617,505.82l19.64-25.27a16,16,0,0,0-2.81-22.45L303.4,202.72l32.69-29.92,27-24.7a16,16,0,0,1,21.61,23.61ZM16,128A16.05,16.05,0,0,0,0,144V335.91a16,16,0,0,0,16,16H146.3l90.5,81.89a64,64,0,0,0,90-9.3l.2-.2,17.91,15.5a37.16,37.16,0,0,0,52.29-5.39l8.8-10.82L23.56,128Z"]
6859
6869
  };
6860
6870
  var faHandshakeSlash = {
6861
6871
  prefix: 'fas',
6862
6872
  iconName: 'handshake-slash',
6863
- icon: [640, 512, [], "f960", "M0,128.21V384H64a32,32,0,0,0,32-32V184L23.83,128.21ZM48,320.1a16,16,0,1,1-16,16A16,16,0,0,1,48,320.1Zm80,31.81h18.3l90.5,81.89a64,64,0,0,0,90-9.3l.2-.2,17.91,15.5a37.16,37.16,0,0,0,52.29-5.39l8.8-10.82L128,208.72Zm416-223.7V352.1a32,32,0,0,0,32,32h64V128.21ZM592,352.1a16,16,0,1,1,16-16A16,16,0,0,1,592,352.1ZM303.33,202.67l59.58-54.57a16,16,0,0,1,21.59,23.61L358.41,195.6,504,313.8a73.08,73.08,0,0,1,7.91,7.7V128L457.3,73.41A31.76,31.76,0,0,0,434.7,64H348.8a31.93,31.93,0,0,0-21.6,8.41l-88.07,80.64-25.64-19.81L289.09,64H205.3a32,32,0,0,0-22.6,9.41L162.36,93.72,45.47,3.38A16,16,0,0,0,23,6.19L3.38,31.46A16,16,0,0,0,6.19,53.91L594.53,508.63A16,16,0,0,0,617,505.82l19.65-25.27a16,16,0,0,0-2.82-22.45Z"]
6873
+ icon: [640, 512, [], "e060", "M0,128.21V384H64a32,32,0,0,0,32-32V184L23.83,128.21ZM48,320.1a16,16,0,1,1-16,16A16,16,0,0,1,48,320.1Zm80,31.81h18.3l90.5,81.89a64,64,0,0,0,90-9.3l.2-.2,17.91,15.5a37.16,37.16,0,0,0,52.29-5.39l8.8-10.82L128,208.72Zm416-223.7V352.1a32,32,0,0,0,32,32h64V128.21ZM592,352.1a16,16,0,1,1,16-16A16,16,0,0,1,592,352.1ZM303.33,202.67l59.58-54.57a16,16,0,0,1,21.59,23.61L358.41,195.6,504,313.8a73.08,73.08,0,0,1,7.91,7.7V128L457.3,73.41A31.76,31.76,0,0,0,434.7,64H348.8a31.93,31.93,0,0,0-21.6,8.41l-88.07,80.64-25.64-19.81L289.09,64H205.3a32,32,0,0,0-22.6,9.41L162.36,93.72,45.47,3.38A16,16,0,0,0,23,6.19L3.38,31.46A16,16,0,0,0,6.19,53.91L594.53,508.63A16,16,0,0,0,617,505.82l19.65-25.27a16,16,0,0,0-2.82-22.45Z"]
6864
6874
  };
6865
6875
  var faHanukiah = {
6866
6876
  prefix: 'fas',
@@ -6900,22 +6910,22 @@ var faHdd = {
6900
6910
  var faHeadSideCough = {
6901
6911
  prefix: 'fas',
6902
6912
  iconName: 'head-side-cough',
6903
- icon: [640, 512, [], "f961", "M616,304a24,24,0,1,0-24-24A24,24,0,0,0,616,304ZM552,416a24,24,0,1,0,24,24A24,24,0,0,0,552,416Zm-64-56a24,24,0,1,0,24,24A24,24,0,0,0,488,360ZM616,464a24,24,0,1,0,24,24A24,24,0,0,0,616,464Zm0-104a24,24,0,1,0,24,24A24,24,0,0,0,616,360Zm-64-40a24,24,0,1,0,24,24A24,24,0,0,0,552,320Zm-74.78-45c-21-47.12-48.5-151.75-73.12-186.75A208.13,208.13,0,0,0,234.1,0H192C86,0,0,86,0,192c0,56.75,24.75,107.62,64,142.88V512H288V480h64a64,64,0,0,0,64-64H320a32,32,0,0,1,0-64h96V320h32A32,32,0,0,0,477.22,275ZM288,224a32,32,0,1,1,32-32A32.07,32.07,0,0,1,288,224Z"]
6913
+ icon: [640, 512, [], "e061", "M616,304a24,24,0,1,0-24-24A24,24,0,0,0,616,304ZM552,416a24,24,0,1,0,24,24A24,24,0,0,0,552,416Zm-64-56a24,24,0,1,0,24,24A24,24,0,0,0,488,360ZM616,464a24,24,0,1,0,24,24A24,24,0,0,0,616,464Zm0-104a24,24,0,1,0,24,24A24,24,0,0,0,616,360Zm-64-40a24,24,0,1,0,24,24A24,24,0,0,0,552,320Zm-74.78-45c-21-47.12-48.5-151.75-73.12-186.75A208.13,208.13,0,0,0,234.1,0H192C86,0,0,86,0,192c0,56.75,24.75,107.62,64,142.88V512H288V480h64a64,64,0,0,0,64-64H320a32,32,0,0,1,0-64h96V320h32A32,32,0,0,0,477.22,275ZM288,224a32,32,0,1,1,32-32A32.07,32.07,0,0,1,288,224Z"]
6904
6914
  };
6905
6915
  var faHeadSideCoughSlash = {
6906
6916
  prefix: 'fas',
6907
6917
  iconName: 'head-side-cough-slash',
6908
- icon: [640, 512, [], "f962", "M454.11,319.21c19.56-3.81,31.62-25,23.11-44.21-21-47.12-48.5-151.75-73.12-186.75A208.13,208.13,0,0,0,234.1,0H192A190.64,190.64,0,0,0,84.18,33.3L45.46,3.38A16,16,0,0,0,23,6.19L3.37,31.46A16,16,0,0,0,6.18,53.91L594.53,508.63A16,16,0,0,0,617,505.82l19.64-25.27a16,16,0,0,0-2.81-22.45ZM313.39,210.45,263.61,172c5.88-7.14,14.43-12,24.36-12a32.06,32.06,0,0,1,32,32C320,199,317.24,205.17,313.39,210.45ZM616,304a24,24,0,1,0-24-24A24,24,0,0,0,616,304Zm-64,64a24,24,0,1,0-24-24A24,24,0,0,0,552,368ZM288,384a32,32,0,0,1,32-32h19.54L20.73,105.59A190.86,190.86,0,0,0,0,192c0,56.75,24.75,107.62,64,142.88V512H288V480h64a64,64,0,0,0,64-64H320A32,32,0,0,1,288,384Zm328-24a24,24,0,1,0,24,24A24,24,0,0,0,616,360Z"]
6918
+ icon: [640, 512, [], "e062", "M454.11,319.21c19.56-3.81,31.62-25,23.11-44.21-21-47.12-48.5-151.75-73.12-186.75A208.13,208.13,0,0,0,234.1,0H192A190.64,190.64,0,0,0,84.18,33.3L45.46,3.38A16,16,0,0,0,23,6.19L3.37,31.46A16,16,0,0,0,6.18,53.91L594.53,508.63A16,16,0,0,0,617,505.82l19.64-25.27a16,16,0,0,0-2.81-22.45ZM313.39,210.45,263.61,172c5.88-7.14,14.43-12,24.36-12a32.06,32.06,0,0,1,32,32C320,199,317.24,205.17,313.39,210.45ZM616,304a24,24,0,1,0-24-24A24,24,0,0,0,616,304Zm-64,64a24,24,0,1,0-24-24A24,24,0,0,0,552,368ZM288,384a32,32,0,0,1,32-32h19.54L20.73,105.59A190.86,190.86,0,0,0,0,192c0,56.75,24.75,107.62,64,142.88V512H288V480h64a64,64,0,0,0,64-64H320A32,32,0,0,1,288,384Zm328-24a24,24,0,1,0,24,24A24,24,0,0,0,616,360Z"]
6909
6919
  };
6910
6920
  var faHeadSideMask = {
6911
6921
  prefix: 'fas',
6912
6922
  iconName: 'head-side-mask',
6913
- icon: [512, 512, [], "f963", "M.15,184.42C-2.17,244.21,23,298.06,64,334.88V512H224V316.51L3.67,156.25A182.28,182.28,0,0,0,.15,184.42ZM509.22,275c-21-47.12-48.5-151.75-73.12-186.75A208.11,208.11,0,0,0,266.11,0H200C117,0,42.48,50.57,13.25,123.65L239.21,288H511.76A31.35,31.35,0,0,0,509.22,275ZM320,224a32,32,0,1,1,32-32A32.07,32.07,0,0,1,320,224Zm16,144H496l16-48H256V512H401.88a64,64,0,0,0,60.71-43.76L464,464H336a16,16,0,0,1,0-32H474.67l10.67-32H336a16,16,0,0,1,0-32Z"]
6923
+ icon: [512, 512, [], "e063", "M.15,184.42C-2.17,244.21,23,298.06,64,334.88V512H224V316.51L3.67,156.25A182.28,182.28,0,0,0,.15,184.42ZM509.22,275c-21-47.12-48.5-151.75-73.12-186.75A208.11,208.11,0,0,0,266.11,0H200C117,0,42.48,50.57,13.25,123.65L239.21,288H511.76A31.35,31.35,0,0,0,509.22,275ZM320,224a32,32,0,1,1,32-32A32.07,32.07,0,0,1,320,224Zm16,144H496l16-48H256V512H401.88a64,64,0,0,0,60.71-43.76L464,464H336a16,16,0,0,1,0-32H474.67l10.67-32H336a16,16,0,0,1,0-32Z"]
6914
6924
  };
6915
6925
  var faHeadSideVirus = {
6916
6926
  prefix: 'fas',
6917
6927
  iconName: 'head-side-virus',
6918
- icon: [512, 512, [], "f964", "M272,240a16,16,0,1,0,16,16A16,16,0,0,0,272,240Zm-64-64a16,16,0,1,0,16,16A16,16,0,0,0,208,176Zm301.2,99c-20.93-47.12-48.43-151.73-73.07-186.75A207.9,207.9,0,0,0,266.09,0H192C86,0,0,86,0,192A191.23,191.23,0,0,0,64,334.81V512H320V448h64a64,64,0,0,0,64-64V320H480A32,32,0,0,0,509.2,275ZM368,240H355.88c-28.51,0-42.79,34.47-22.63,54.63l8.58,8.57a16,16,0,1,1-22.63,22.63l-8.57-8.58C290.47,297.09,256,311.37,256,339.88V352a16,16,0,0,1-32,0V339.88c0-28.51-34.47-42.79-54.63-22.63l-8.57,8.58a16,16,0,0,1-22.63-22.63l8.58-8.57c20.16-20.16,5.88-54.63-22.63-54.63H112a16,16,0,0,1,0-32h12.12c28.51,0,42.79-34.47,22.63-54.63l-8.58-8.57a16,16,0,0,1,22.63-22.63l8.57,8.58c20.16,20.16,54.63,5.88,54.63-22.63V96a16,16,0,0,1,32,0v12.12c0,28.51,34.47,42.79,54.63,22.63l8.57-8.58a16,16,0,0,1,22.63,22.63l-8.58,8.57C313.09,173.53,327.37,208,355.88,208H368a16,16,0,0,1,0,32Z"]
6928
+ icon: [512, 512, [], "e064", "M272,240a16,16,0,1,0,16,16A16,16,0,0,0,272,240Zm-64-64a16,16,0,1,0,16,16A16,16,0,0,0,208,176Zm301.2,99c-20.93-47.12-48.43-151.73-73.07-186.75A207.9,207.9,0,0,0,266.09,0H192C86,0,0,86,0,192A191.23,191.23,0,0,0,64,334.81V512H320V448h64a64,64,0,0,0,64-64V320H480A32,32,0,0,0,509.2,275ZM368,240H355.88c-28.51,0-42.79,34.47-22.63,54.63l8.58,8.57a16,16,0,1,1-22.63,22.63l-8.57-8.58C290.47,297.09,256,311.37,256,339.88V352a16,16,0,0,1-32,0V339.88c0-28.51-34.47-42.79-54.63-22.63l-8.57,8.58a16,16,0,0,1-22.63-22.63l8.58-8.57c20.16-20.16,5.88-54.63-22.63-54.63H112a16,16,0,0,1,0-32h12.12c28.51,0,42.79-34.47,22.63-54.63l-8.58-8.57a16,16,0,0,1,22.63-22.63l8.57,8.58c20.16,20.16,54.63,5.88,54.63-22.63V96a16,16,0,0,1,32,0v12.12c0,28.51,34.47,42.79,54.63,22.63l8.57-8.58a16,16,0,0,1,22.63,22.63l-8.58,8.57C313.09,173.53,327.37,208,355.88,208H368a16,16,0,0,1,0,32Z"]
6919
6929
  };
6920
6930
  var faHeading = {
6921
6931
  prefix: 'fas',
@@ -7065,7 +7075,7 @@ var faHouseDamage = {
7065
7075
  var faHouseUser = {
7066
7076
  prefix: 'fas',
7067
7077
  iconName: 'house-user',
7068
- icon: [576, 512, [], "f965", "M570.69,236.27,512,184.44V48a16,16,0,0,0-16-16H432a16,16,0,0,0-16,16V99.67L314.78,10.3C308.5,4.61,296.53,0,288,0s-20.46,4.61-26.74,10.3l-256,226A18.27,18.27,0,0,0,0,248.2a18.64,18.64,0,0,0,4.09,10.71L25.5,282.7a21.14,21.14,0,0,0,12,5.3,21.67,21.67,0,0,0,10.69-4.11l15.9-14V480a32,32,0,0,0,32,32H480a32,32,0,0,0,32-32V269.88l15.91,14A21.94,21.94,0,0,0,538.63,288a20.89,20.89,0,0,0,11.87-5.31l21.41-23.81A21.64,21.64,0,0,0,576,248.19,21,21,0,0,0,570.69,236.27ZM288,176a64,64,0,1,1-64,64A64,64,0,0,1,288,176ZM400,448H176a16,16,0,0,1-16-16,96,96,0,0,1,96-96h64a96,96,0,0,1,96,96A16,16,0,0,1,400,448Z"]
7078
+ icon: [576, 512, [], "e065", "M570.69,236.27,512,184.44V48a16,16,0,0,0-16-16H432a16,16,0,0,0-16,16V99.67L314.78,10.3C308.5,4.61,296.53,0,288,0s-20.46,4.61-26.74,10.3l-256,226A18.27,18.27,0,0,0,0,248.2a18.64,18.64,0,0,0,4.09,10.71L25.5,282.7a21.14,21.14,0,0,0,12,5.3,21.67,21.67,0,0,0,10.69-4.11l15.9-14V480a32,32,0,0,0,32,32H480a32,32,0,0,0,32-32V269.88l15.91,14A21.94,21.94,0,0,0,538.63,288a20.89,20.89,0,0,0,11.87-5.31l21.41-23.81A21.64,21.64,0,0,0,576,248.19,21,21,0,0,0,570.69,236.27ZM288,176a64,64,0,1,1-64,64A64,64,0,0,1,288,176ZM400,448H176a16,16,0,0,1-16-16,96,96,0,0,1,96-96h64a96,96,0,0,1,96,96A16,16,0,0,1,400,448Z"]
7069
7079
  };
7070
7080
  var faHryvnia = {
7071
7081
  prefix: 'fas',
@@ -7235,7 +7245,7 @@ var faLaptopCode = {
7235
7245
  var faLaptopHouse = {
7236
7246
  prefix: 'fas',
7237
7247
  iconName: 'laptop-house',
7238
- icon: [640, 512, [], "f966", "M272,288H208a16,16,0,0,1-16-16V208a16,16,0,0,1,16-16h64a16,16,0,0,1,16,16v37.12C299.11,232.24,315,224,332.8,224H469.74l6.65-7.53A16.51,16.51,0,0,0,480,207a16.31,16.31,0,0,0-4.75-10.61L416,144V48a16,16,0,0,0-16-16H368a16,16,0,0,0-16,16V87.3L263.5,8.92C258,4,247.45,0,240.05,0s-17.93,4-23.47,8.92L4.78,196.42A16.15,16.15,0,0,0,0,207a16.4,16.4,0,0,0,3.55,9.39L22.34,237.7A16.22,16.22,0,0,0,33,242.48,16.51,16.51,0,0,0,42.34,239L64,219.88V384a32,32,0,0,0,32,32H272ZM629.33,448H592V288c0-17.67-12.89-32-28.8-32H332.8c-15.91,0-28.8,14.33-28.8,32V448H266.67A10.67,10.67,0,0,0,256,458.67v10.66A42.82,42.82,0,0,0,298.6,512H597.4A42.82,42.82,0,0,0,640,469.33V458.67A10.67,10.67,0,0,0,629.33,448ZM544,448H352V304H544Z"]
7248
+ icon: [640, 512, [], "e066", "M272,288H208a16,16,0,0,1-16-16V208a16,16,0,0,1,16-16h64a16,16,0,0,1,16,16v37.12C299.11,232.24,315,224,332.8,224H469.74l6.65-7.53A16.51,16.51,0,0,0,480,207a16.31,16.31,0,0,0-4.75-10.61L416,144V48a16,16,0,0,0-16-16H368a16,16,0,0,0-16,16V87.3L263.5,8.92C258,4,247.45,0,240.05,0s-17.93,4-23.47,8.92L4.78,196.42A16.15,16.15,0,0,0,0,207a16.4,16.4,0,0,0,3.55,9.39L22.34,237.7A16.22,16.22,0,0,0,33,242.48,16.51,16.51,0,0,0,42.34,239L64,219.88V384a32,32,0,0,0,32,32H272ZM629.33,448H592V288c0-17.67-12.89-32-28.8-32H332.8c-15.91,0-28.8,14.33-28.8,32V448H266.67A10.67,10.67,0,0,0,256,458.67v10.66A42.82,42.82,0,0,0,298.6,512H597.4A42.82,42.82,0,0,0,640,469.33V458.67A10.67,10.67,0,0,0,629.33,448ZM544,448H352V304H544Z"]
7239
7249
  };
7240
7250
  var faLaptopMedical = {
7241
7251
  prefix: 'fas',
@@ -7390,7 +7400,7 @@ var faLungs = {
7390
7400
  var faLungsVirus = {
7391
7401
  prefix: 'fas',
7392
7402
  iconName: 'lungs-virus',
7393
- icon: [640, 512, [], "f967", "M344,150.68V16A16,16,0,0,0,328,0H312a16,16,0,0,0-16,16V150.68a46.45,46.45,0,0,1,48,0ZM195.54,444.46a48.06,48.06,0,0,1,0-67.88l8.58-8.58H192a48,48,0,0,1,0-96h12.12l-8.58-8.57a48,48,0,0,1,60.46-74V161.75C256,125.38,224.62,96,186,96c-44,0-58,28.5-80.12,63.13a819.52,819.52,0,0,0-102,231A113.16,113.16,0,0,0,0,419.75C0,481,62.5,525.26,125.25,508.38l59.5-15.87a98.51,98.51,0,0,0,52.5-34.75,46.49,46.49,0,0,1-41.71-13.3Zm226.29-22.63a16,16,0,0,0,0-22.62l-8.58-8.58C393.09,370.47,407.37,336,435.88,336H448a16,16,0,0,0,0-32H435.88c-28.51,0-42.79-34.47-22.63-54.62l8.58-8.58a16,16,0,0,0-22.63-22.63l-8.57,8.58C370.47,246.91,336,232.63,336,204.12V192a16,16,0,0,0-32,0v12.12c0,28.51-34.47,42.79-54.63,22.63l-8.57-8.58a16,16,0,0,0-22.63,22.63l8.58,8.58c20.16,20.15,5.88,54.62-22.63,54.62H192a16,16,0,0,0,0,32h12.12c28.51,0,42.79,34.47,22.63,54.63l-8.58,8.58a16,16,0,1,0,22.63,22.62l8.57-8.57C269.53,393.1,304,407.38,304,435.88V448a16,16,0,0,0,32,0V435.88c0-28.5,34.47-42.78,54.63-22.62l8.57,8.57a16,16,0,0,0,22.63,0ZM288,304a16,16,0,1,1,16-16A16,16,0,0,1,288,304Zm64,64a16,16,0,1,1,16-16A16,16,0,0,1,352,368Zm284.12,22.13a819.52,819.52,0,0,0-102-231C512,124.5,498,96,454,96c-38.62,0-70,29.38-70,65.75v27.72a48,48,0,0,1,60.46,74L435.88,272H448a48,48,0,0,1,0,96H435.88l8.58,8.58a47.7,47.7,0,0,1-41.71,81.18,98.51,98.51,0,0,0,52.5,34.75l59.5,15.87C577.5,525.26,640,481,640,419.75A113.16,113.16,0,0,0,636.12,390.13Z"]
7403
+ icon: [640, 512, [], "e067", "M344,150.68V16A16,16,0,0,0,328,0H312a16,16,0,0,0-16,16V150.68a46.45,46.45,0,0,1,48,0ZM195.54,444.46a48.06,48.06,0,0,1,0-67.88l8.58-8.58H192a48,48,0,0,1,0-96h12.12l-8.58-8.57a48,48,0,0,1,60.46-74V161.75C256,125.38,224.62,96,186,96c-44,0-58,28.5-80.12,63.13a819.52,819.52,0,0,0-102,231A113.16,113.16,0,0,0,0,419.75C0,481,62.5,525.26,125.25,508.38l59.5-15.87a98.51,98.51,0,0,0,52.5-34.75,46.49,46.49,0,0,1-41.71-13.3Zm226.29-22.63a16,16,0,0,0,0-22.62l-8.58-8.58C393.09,370.47,407.37,336,435.88,336H448a16,16,0,0,0,0-32H435.88c-28.51,0-42.79-34.47-22.63-54.62l8.58-8.58a16,16,0,0,0-22.63-22.63l-8.57,8.58C370.47,246.91,336,232.63,336,204.12V192a16,16,0,0,0-32,0v12.12c0,28.51-34.47,42.79-54.63,22.63l-8.57-8.58a16,16,0,0,0-22.63,22.63l8.58,8.58c20.16,20.15,5.88,54.62-22.63,54.62H192a16,16,0,0,0,0,32h12.12c28.51,0,42.79,34.47,22.63,54.63l-8.58,8.58a16,16,0,1,0,22.63,22.62l8.57-8.57C269.53,393.1,304,407.38,304,435.88V448a16,16,0,0,0,32,0V435.88c0-28.5,34.47-42.78,54.63-22.62l8.57,8.57a16,16,0,0,0,22.63,0ZM288,304a16,16,0,1,1,16-16A16,16,0,0,1,288,304Zm64,64a16,16,0,1,1,16-16A16,16,0,0,1,352,368Zm284.12,22.13a819.52,819.52,0,0,0-102-231C512,124.5,498,96,454,96c-38.62,0-70,29.38-70,65.75v27.72a48,48,0,0,1,60.46,74L435.88,272H448a48,48,0,0,1,0,96H435.88l8.58,8.58a47.7,47.7,0,0,1-41.71,81.18,98.51,98.51,0,0,0,52.5,34.75l59.5,15.87C577.5,525.26,640,481,640,419.75A113.16,113.16,0,0,0,636.12,390.13Z"]
7394
7404
  };
7395
7405
  var faMagic = {
7396
7406
  prefix: 'fas',
@@ -7845,7 +7855,7 @@ var faPencilRuler = {
7845
7855
  var faPeopleArrows = {
7846
7856
  prefix: 'fas',
7847
7857
  iconName: 'people-arrows',
7848
- icon: [576, 512, [], "f968", "M96,128A64,64,0,1,0,32,64,64,64,0,0,0,96,128Zm0,176.08a44.11,44.11,0,0,1,13.64-32L181.77,204c1.65-1.55,3.77-2.31,5.61-3.57A63.91,63.91,0,0,0,128,160H64A64,64,0,0,0,0,224v96a32,32,0,0,0,32,32V480a32,32,0,0,0,32,32h64a32,32,0,0,0,32-32V383.61l-50.36-47.53A44.08,44.08,0,0,1,96,304.08ZM480,128a64,64,0,1,0-64-64A64,64,0,0,0,480,128Zm32,32H448a63.91,63.91,0,0,0-59.38,40.42c1.84,1.27,4,2,5.62,3.59l72.12,68.06a44.37,44.37,0,0,1,0,64L416,383.62V480a32,32,0,0,0,32,32h64a32,32,0,0,0,32-32V352a32,32,0,0,0,32-32V224A64,64,0,0,0,512,160ZM444.4,295.34l-72.12-68.06A12,12,0,0,0,352,236v36H224V236a12,12,0,0,0-20.28-8.73L131.6,295.34a12.4,12.4,0,0,0,0,17.47l72.12,68.07A12,12,0,0,0,224,372.14V336H352v36.14a12,12,0,0,0,20.28,8.74l72.12-68.07A12.4,12.4,0,0,0,444.4,295.34Z"]
7858
+ icon: [576, 512, [], "e068", "M96,128A64,64,0,1,0,32,64,64,64,0,0,0,96,128Zm0,176.08a44.11,44.11,0,0,1,13.64-32L181.77,204c1.65-1.55,3.77-2.31,5.61-3.57A63.91,63.91,0,0,0,128,160H64A64,64,0,0,0,0,224v96a32,32,0,0,0,32,32V480a32,32,0,0,0,32,32h64a32,32,0,0,0,32-32V383.61l-50.36-47.53A44.08,44.08,0,0,1,96,304.08ZM480,128a64,64,0,1,0-64-64A64,64,0,0,0,480,128Zm32,32H448a63.91,63.91,0,0,0-59.38,40.42c1.84,1.27,4,2,5.62,3.59l72.12,68.06a44.37,44.37,0,0,1,0,64L416,383.62V480a32,32,0,0,0,32,32h64a32,32,0,0,0,32-32V352a32,32,0,0,0,32-32V224A64,64,0,0,0,512,160ZM444.4,295.34l-72.12-68.06A12,12,0,0,0,352,236v36H224V236a12,12,0,0,0-20.28-8.73L131.6,295.34a12.4,12.4,0,0,0,0,17.47l72.12,68.07A12,12,0,0,0,224,372.14V336H352v36.14a12,12,0,0,0,20.28,8.74l72.12-68.07A12.4,12.4,0,0,0,444.4,295.34Z"]
7849
7859
  };
7850
7860
  var faPeopleCarry = {
7851
7861
  prefix: 'fas',
@@ -7945,7 +7955,7 @@ var faPlaneDeparture = {
7945
7955
  var faPlaneSlash = {
7946
7956
  prefix: 'fas',
7947
7957
  iconName: 'plane-slash',
7948
- icon: [640, 512, [], "f969", "M32.48,147.88,64,256,32.48,364.13A16,16,0,0,0,48,384H88a16,16,0,0,0,12.8-6.41L144,320H246.85l-49,171.59A16,16,0,0,0,213.2,512h65.5a16,16,0,0,0,13.89-8.06l66.6-116.54L34.35,136.34A15.47,15.47,0,0,0,32.48,147.88ZM633.82,458.09,455.14,320H512c35.34,0,96-28.66,96-64s-60.66-64-96-64H397.7L292.61,8.06C290.06,3.61,283.84,0,278.71,0H213.2a16,16,0,0,0-15.38,20.39l36.94,129.29L45.46,3.38A16,16,0,0,0,23,6.19L3.37,31.45A16,16,0,0,0,6.18,53.91L594.54,508.63A16,16,0,0,0,617,505.81l19.64-25.26A16,16,0,0,0,633.82,458.09Z"]
7958
+ icon: [640, 512, [], "e069", "M32.48,147.88,64,256,32.48,364.13A16,16,0,0,0,48,384H88a16,16,0,0,0,12.8-6.41L144,320H246.85l-49,171.59A16,16,0,0,0,213.2,512h65.5a16,16,0,0,0,13.89-8.06l66.6-116.54L34.35,136.34A15.47,15.47,0,0,0,32.48,147.88ZM633.82,458.09,455.14,320H512c35.34,0,96-28.66,96-64s-60.66-64-96-64H397.7L292.61,8.06C290.06,3.61,283.84,0,278.71,0H213.2a16,16,0,0,0-15.38,20.39l36.94,129.29L45.46,3.38A16,16,0,0,0,23,6.19L3.37,31.45A16,16,0,0,0,6.18,53.91L594.54,508.63A16,16,0,0,0,617,505.81l19.64-25.26A16,16,0,0,0,633.82,458.09Z"]
7949
7959
  };
7950
7960
  var faPlay = {
7951
7961
  prefix: 'fas',
@@ -8065,12 +8075,12 @@ var faProjectDiagram = {
8065
8075
  var faPumpMedical = {
8066
8076
  prefix: 'fas',
8067
8077
  iconName: 'pump-medical',
8068
- icon: [384, 512, [], "f96a", "M235.51,159.82H84.24A64,64,0,0,0,20.51,218L.14,442a64,64,0,0,0,63.74,69.8h192A64,64,0,0,0,319.61,442L299.24,218A64,64,0,0,0,235.51,159.82Zm4.37,173.33a13.35,13.35,0,0,1-13.34,13.34h-40v40a13.33,13.33,0,0,1-13.33,13.33H146.54a13.33,13.33,0,0,1-13.33-13.33v-40h-40a13.34,13.34,0,0,1-13.33-13.34V306.49a13.33,13.33,0,0,1,13.33-13.34h40v-40a13.33,13.33,0,0,1,13.33-13.33h26.67a13.33,13.33,0,0,1,13.33,13.33v40h40a13.34,13.34,0,0,1,13.34,13.34ZM379.19,93.88,335.87,50.56a64,64,0,0,0-45.24-18.74H223.88a32,32,0,0,0-32-32h-64a32,32,0,0,0-32,32v96h128v-32h66.75l43.31,43.31a16,16,0,0,0,22.63,0l22.62-22.62A16,16,0,0,0,379.19,93.88Z"]
8078
+ icon: [384, 512, [], "e06a", "M235.51,159.82H84.24A64,64,0,0,0,20.51,218L.14,442a64,64,0,0,0,63.74,69.8h192A64,64,0,0,0,319.61,442L299.24,218A64,64,0,0,0,235.51,159.82Zm4.37,173.33a13.35,13.35,0,0,1-13.34,13.34h-40v40a13.33,13.33,0,0,1-13.33,13.33H146.54a13.33,13.33,0,0,1-13.33-13.33v-40h-40a13.34,13.34,0,0,1-13.33-13.34V306.49a13.33,13.33,0,0,1,13.33-13.34h40v-40a13.33,13.33,0,0,1,13.33-13.33h26.67a13.33,13.33,0,0,1,13.33,13.33v40h40a13.34,13.34,0,0,1,13.34,13.34ZM379.19,93.88,335.87,50.56a64,64,0,0,0-45.24-18.74H223.88a32,32,0,0,0-32-32h-64a32,32,0,0,0-32,32v96h128v-32h66.75l43.31,43.31a16,16,0,0,0,22.63,0l22.62-22.62A16,16,0,0,0,379.19,93.88Z"]
8069
8079
  };
8070
8080
  var faPumpSoap = {
8071
8081
  prefix: 'fas',
8072
8082
  iconName: 'pump-soap',
8073
- icon: [384, 512, [], "f96b", "M235.63,160H84.37a64,64,0,0,0-63.74,58.21L.27,442.21A64,64,0,0,0,64,512H256a64,64,0,0,0,63.74-69.79l-20.36-224A64,64,0,0,0,235.63,160ZM160,416c-33.12,0-60-26.33-60-58.75,0-25,35.7-75.47,52-97.27A10,10,0,0,1,168,260c16.33,21.8,52,72.27,52,97.27C220,389.67,193.12,416,160,416ZM379.31,94.06,336,50.74A64,64,0,0,0,290.75,32H224A32,32,0,0,0,192,0H128A32,32,0,0,0,96,32v96H224V96h66.75l43.31,43.31a16,16,0,0,0,22.63,0l22.62-22.62A16,16,0,0,0,379.31,94.06Z"]
8083
+ icon: [384, 512, [], "e06b", "M235.63,160H84.37a64,64,0,0,0-63.74,58.21L.27,442.21A64,64,0,0,0,64,512H256a64,64,0,0,0,63.74-69.79l-20.36-224A64,64,0,0,0,235.63,160ZM160,416c-33.12,0-60-26.33-60-58.75,0-25,35.7-75.47,52-97.27A10,10,0,0,1,168,260c16.33,21.8,52,72.27,52,97.27C220,389.67,193.12,416,160,416ZM379.31,94.06,336,50.74A64,64,0,0,0,290.75,32H224A32,32,0,0,0,192,0H128A32,32,0,0,0,96,32v96H224V96h66.75l43.31,43.31a16,16,0,0,0,22.63,0l22.62-22.62A16,16,0,0,0,379.31,94.06Z"]
8074
8084
  };
8075
8085
  var faPuzzlePiece = {
8076
8086
  prefix: 'fas',
@@ -8385,7 +8395,7 @@ var faShieldAlt = {
8385
8395
  var faShieldVirus = {
8386
8396
  prefix: 'fas',
8387
8397
  iconName: 'shield-virus',
8388
- icon: [512, 512, [], "f96c", "M224,192a16,16,0,1,0,16,16A16,16,0,0,0,224,192ZM466.5,83.68l-192-80A57.4,57.4,0,0,0,256.05,0a57.4,57.4,0,0,0-18.46,3.67l-192,80A47.93,47.93,0,0,0,16,128C16,326.5,130.5,463.72,237.5,508.32a48.09,48.09,0,0,0,36.91,0C360.09,472.61,496,349.3,496,128A48,48,0,0,0,466.5,83.68ZM384,256H371.88c-28.51,0-42.79,34.47-22.63,54.63l8.58,8.57a16,16,0,1,1-22.63,22.63l-8.57-8.58C306.47,313.09,272,327.37,272,355.88V368a16,16,0,0,1-32,0V355.88c0-28.51-34.47-42.79-54.63-22.63l-8.57,8.58a16,16,0,0,1-22.63-22.63l8.58-8.57c20.16-20.16,5.88-54.63-22.63-54.63H128a16,16,0,0,1,0-32h12.12c28.51,0,42.79-34.47,22.63-54.63l-8.58-8.57a16,16,0,0,1,22.63-22.63l8.57,8.58c20.16,20.16,54.63,5.88,54.63-22.63V112a16,16,0,0,1,32,0v12.12c0,28.51,34.47,42.79,54.63,22.63l8.57-8.58a16,16,0,0,1,22.63,22.63l-8.58,8.57C329.09,189.53,343.37,224,371.88,224H384a16,16,0,0,1,0,32Zm-96,0a16,16,0,1,0,16,16A16,16,0,0,0,288,256Z"]
8398
+ icon: [512, 512, [], "e06c", "M224,192a16,16,0,1,0,16,16A16,16,0,0,0,224,192ZM466.5,83.68l-192-80A57.4,57.4,0,0,0,256.05,0a57.4,57.4,0,0,0-18.46,3.67l-192,80A47.93,47.93,0,0,0,16,128C16,326.5,130.5,463.72,237.5,508.32a48.09,48.09,0,0,0,36.91,0C360.09,472.61,496,349.3,496,128A48,48,0,0,0,466.5,83.68ZM384,256H371.88c-28.51,0-42.79,34.47-22.63,54.63l8.58,8.57a16,16,0,1,1-22.63,22.63l-8.57-8.58C306.47,313.09,272,327.37,272,355.88V368a16,16,0,0,1-32,0V355.88c0-28.51-34.47-42.79-54.63-22.63l-8.57,8.58a16,16,0,0,1-22.63-22.63l8.58-8.57c20.16-20.16,5.88-54.63-22.63-54.63H128a16,16,0,0,1,0-32h12.12c28.51,0,42.79-34.47,22.63-54.63l-8.58-8.57a16,16,0,0,1,22.63-22.63l8.57,8.58c20.16,20.16,54.63,5.88,54.63-22.63V112a16,16,0,0,1,32,0v12.12c0,28.51,34.47,42.79,54.63,22.63l8.57-8.58a16,16,0,0,1,22.63,22.63l-8.58,8.57C329.09,189.53,343.37,224,371.88,224H384a16,16,0,0,1,0,32Zm-96,0a16,16,0,1,0,16,16A16,16,0,0,0,288,256Z"]
8389
8399
  };
8390
8400
  var faShip = {
8391
8401
  prefix: 'fas',
@@ -8465,7 +8475,7 @@ var faSimCard = {
8465
8475
  var faSink = {
8466
8476
  prefix: 'fas',
8467
8477
  iconName: 'sink',
8468
- icon: [512, 512, [], "f96d", "M32,416a96,96,0,0,0,96,96H384a96,96,0,0,0,96-96V384H32ZM496,288H400V256h64a16,16,0,0,0,16-16V224a16,16,0,0,0-16-16H384a32,32,0,0,0-32,32v48H288V96a32,32,0,0,1,64,0v16a16,16,0,0,0,16,16h32a16,16,0,0,0,16-16V96A96.16,96.16,0,0,0,300.87,1.86C255.29,10.71,224,53.36,224,99.79V288H160V240a32,32,0,0,0-32-32H48a16,16,0,0,0-16,16v16a16,16,0,0,0,16,16h64v32H16A16,16,0,0,0,0,304v32a16,16,0,0,0,16,16H496a16,16,0,0,0,16-16V304A16,16,0,0,0,496,288Z"]
8478
+ icon: [512, 512, [], "e06d", "M32,416a96,96,0,0,0,96,96H384a96,96,0,0,0,96-96V384H32ZM496,288H400V256h64a16,16,0,0,0,16-16V224a16,16,0,0,0-16-16H384a32,32,0,0,0-32,32v48H288V96a32,32,0,0,1,64,0v16a16,16,0,0,0,16,16h32a16,16,0,0,0,16-16V96A96.16,96.16,0,0,0,300.87,1.86C255.29,10.71,224,53.36,224,99.79V288H160V240a32,32,0,0,0-32-32H48a16,16,0,0,0-16,16v16a16,16,0,0,0,16,16h64v32H16A16,16,0,0,0,0,304v32a16,16,0,0,0,16,16H496a16,16,0,0,0,16-16V304A16,16,0,0,0,496,288Z"]
8469
8479
  };
8470
8480
  var faSitemap = {
8471
8481
  prefix: 'fas',
@@ -8570,7 +8580,7 @@ var faSnowplow = {
8570
8580
  var faSoap = {
8571
8581
  prefix: 'fas',
8572
8582
  iconName: 'soap',
8573
- icon: [512, 512, [], "f96e", "M416,192a95.42,95.42,0,0,1-30.94,70.21A95.8,95.8,0,0,1,352,448H160a96,96,0,0,1,0-192h88.91A95.3,95.3,0,0,1,224,192H96A96,96,0,0,0,0,288V416a96,96,0,0,0,96,96H416a96,96,0,0,0,96-96V288A96,96,0,0,0,416,192Zm-96,64a64,64,0,1,0-64-64A64,64,0,0,0,320,256ZM208,96a48,48,0,1,0-48-48A48,48,0,0,0,208,96ZM384,64a32,32,0,1,0-32-32A32,32,0,0,0,384,64ZM160,288a64,64,0,0,0,0,128H352a64,64,0,0,0,0-128Z"]
8583
+ icon: [512, 512, [], "e06e", "M416,192a95.42,95.42,0,0,1-30.94,70.21A95.8,95.8,0,0,1,352,448H160a96,96,0,0,1,0-192h88.91A95.3,95.3,0,0,1,224,192H96A96,96,0,0,0,0,288V416a96,96,0,0,0,96,96H416a96,96,0,0,0,96-96V288A96,96,0,0,0,416,192Zm-96,64a64,64,0,1,0-64-64A64,64,0,0,0,320,256ZM208,96a48,48,0,1,0-48-48A48,48,0,0,0,208,96ZM384,64a32,32,0,1,0-32-32A32,32,0,0,0,384,64ZM160,288a64,64,0,0,0,0,128H352a64,64,0,0,0,0-128Z"]
8574
8584
  };
8575
8585
  var faSocks = {
8576
8586
  prefix: 'fas',
@@ -8780,7 +8790,7 @@ var faStopwatch = {
8780
8790
  var faStopwatch20 = {
8781
8791
  prefix: 'fas',
8782
8792
  iconName: 'stopwatch-20',
8783
- icon: [448, 512, [], "f96f", "M398.5,190.91l.59-.61,26.59-26.58a16,16,0,0,0,0-22.63L403,118.41a16,16,0,0,0-22.63,0l-24.68,24.68A206.68,206.68,0,0,0,256,98.5V64h32a16,16,0,0,0,16-16V16A16,16,0,0,0,288,0H160a16.05,16.05,0,0,0-16,16V48a16.05,16.05,0,0,0,16,16h32V98.5A207.92,207.92,0,0,0,16.09,297.57C12.64,411.5,106.76,510.22,220.72,512,337.13,513.77,432,420,432,304A206,206,0,0,0,398.5,190.91ZM204.37,377.55a8.2,8.2,0,0,1,8.32,8.07v22.31a8.2,8.2,0,0,1-8.32,8.07H121.52a16.46,16.46,0,0,1-16.61-17.62c2.78-35.22,14.67-57.41,38.45-91.37,20.42-29.19,27.1-37.32,27.1-62.34,0-16.92-1.79-24.27-12.21-24.27-9.39,0-12.69,7.4-12.69,22.68v5.23a8.2,8.2,0,0,1-8.33,8.07h-24.9a8.2,8.2,0,0,1-8.33-8.07v-4.07c0-27.3,8.48-60.24,56.43-60.24,43,0,55.57,25.85,55.57,61,0,35.58-12.44,51.21-34.35,81.31-11.56,15-24.61,35.57-26.41,51.2ZM344,352.32c0,35.16-12.3,63.68-57.23,63.68C243.19,416,232,386.48,232,352.55V247.22c0-40.73,19.58-63.22,56.2-63.22C325,184,344,206.64,344,245.3ZM287.87,221.73c-9.41,0-13.23,7.5-13.23,20V357.68c0,13.11,3.59,20.59,13.23,20.59s13-8,13-21.27V241.06C300.89,229.79,297.88,221.73,287.87,221.73Z"]
8793
+ icon: [448, 512, [], "e06f", "M398.5,190.91l.59-.61,26.59-26.58a16,16,0,0,0,0-22.63L403,118.41a16,16,0,0,0-22.63,0l-24.68,24.68A206.68,206.68,0,0,0,256,98.5V64h32a16,16,0,0,0,16-16V16A16,16,0,0,0,288,0H160a16.05,16.05,0,0,0-16,16V48a16.05,16.05,0,0,0,16,16h32V98.5A207.92,207.92,0,0,0,16.09,297.57C12.64,411.5,106.76,510.22,220.72,512,337.13,513.77,432,420,432,304A206,206,0,0,0,398.5,190.91ZM204.37,377.55a8.2,8.2,0,0,1,8.32,8.07v22.31a8.2,8.2,0,0,1-8.32,8.07H121.52a16.46,16.46,0,0,1-16.61-17.62c2.78-35.22,14.67-57.41,38.45-91.37,20.42-29.19,27.1-37.32,27.1-62.34,0-16.92-1.79-24.27-12.21-24.27-9.39,0-12.69,7.4-12.69,22.68v5.23a8.2,8.2,0,0,1-8.33,8.07h-24.9a8.2,8.2,0,0,1-8.33-8.07v-4.07c0-27.3,8.48-60.24,56.43-60.24,43,0,55.57,25.85,55.57,61,0,35.58-12.44,51.21-34.35,81.31-11.56,15-24.61,35.57-26.41,51.2ZM344,352.32c0,35.16-12.3,63.68-57.23,63.68C243.19,416,232,386.48,232,352.55V247.22c0-40.73,19.58-63.22,56.2-63.22C325,184,344,206.64,344,245.3ZM287.87,221.73c-9.41,0-13.23,7.5-13.23,20V357.68c0,13.11,3.59,20.59,13.23,20.59s13-8,13-21.27V241.06C300.89,229.79,297.88,221.73,287.87,221.73Z"]
8784
8794
  };
8785
8795
  var faStore = {
8786
8796
  prefix: 'fas',
@@ -8795,12 +8805,12 @@ var faStoreAlt = {
8795
8805
  var faStoreAltSlash = {
8796
8806
  prefix: 'fas',
8797
8807
  iconName: 'store-alt-slash',
8798
- icon: [640, 512, [], "f970", "M17.89,123.62,5.51,142.2c-14.2,21.3,1,49.8,26.59,49.8h74.26ZM576,413.42V224H512V364L384,265V224H330.92l-41.4-32H608c25.5,0,40.7-28.5,26.59-49.8l-85.29-128A32.18,32.18,0,0,0,522.6,0H117.42A31.87,31.87,0,0,0,90.81,14.2l-10.66,16L45.46,3.38A16,16,0,0,0,23,6.19L3.37,31.46A16,16,0,0,0,6.18,53.91L594.53,508.63A16,16,0,0,0,617,505.81l19.64-25.26a16,16,0,0,0-2.81-22.45ZM320,384H128V224H64V480a32,32,0,0,0,32,32H352a32,32,0,0,0,32-32V406.59l-64-49.47Z"]
8808
+ icon: [640, 512, [], "e070", "M17.89,123.62,5.51,142.2c-14.2,21.3,1,49.8,26.59,49.8h74.26ZM576,413.42V224H512V364L384,265V224H330.92l-41.4-32H608c25.5,0,40.7-28.5,26.59-49.8l-85.29-128A32.18,32.18,0,0,0,522.6,0H117.42A31.87,31.87,0,0,0,90.81,14.2l-10.66,16L45.46,3.38A16,16,0,0,0,23,6.19L3.37,31.46A16,16,0,0,0,6.18,53.91L594.53,508.63A16,16,0,0,0,617,505.81l19.64-25.26a16,16,0,0,0-2.81-22.45ZM320,384H128V224H64V480a32,32,0,0,0,32,32H352a32,32,0,0,0,32-32V406.59l-64-49.47Z"]
8799
8809
  };
8800
8810
  var faStoreSlash = {
8801
8811
  prefix: 'fas',
8802
8812
  iconName: 'store-slash',
8803
- icon: [640, 512, [], "f971", "M121.51,384V284.2a119.43,119.43,0,0,1-28,3.8,123.46,123.46,0,0,1-17.1-1.2,114.88,114.88,0,0,1-15.58-3.6V480c0,17.7,13.59,32,30.4,32H505.75L348.42,384Zm-28-128.09c25.1,0,47.29-10.72,64-27.24L24,120.05c-30.52,53.39-2.45,126.53,56.49,135A95.68,95.68,0,0,0,93.48,255.91ZM602.13,458.09,547.2,413.41V283.2a93.5,93.5,0,0,1-15.57,3.6,127.31,127.31,0,0,1-17.29,1.2,114.89,114.89,0,0,1-28-3.8v79.68L348.52,251.77a88.06,88.06,0,0,0,25.41,4.14c28.11,0,53-13,70.11-33.11,17.19,20.11,42.08,33.11,70.11,33.11a94.31,94.31,0,0,0,13-.91c59.66-8.41,88-82.8,56.06-136.4L521.55,15A30.1,30.1,0,0,0,495.81,0H112A30.11,30.11,0,0,0,86.27,15L76.88,30.78,43.19,3.38A14.68,14.68,0,0,0,21.86,6.19L3.2,31.45A16.58,16.58,0,0,0,5.87,53.91L564.81,508.63a14.69,14.69,0,0,0,21.33-2.82l18.66-25.26A16.58,16.58,0,0,0,602.13,458.09Z"]
8813
+ icon: [640, 512, [], "e071", "M121.51,384V284.2a119.43,119.43,0,0,1-28,3.8,123.46,123.46,0,0,1-17.1-1.2,114.88,114.88,0,0,1-15.58-3.6V480c0,17.7,13.59,32,30.4,32H505.75L348.42,384Zm-28-128.09c25.1,0,47.29-10.72,64-27.24L24,120.05c-30.52,53.39-2.45,126.53,56.49,135A95.68,95.68,0,0,0,93.48,255.91ZM602.13,458.09,547.2,413.41V283.2a93.5,93.5,0,0,1-15.57,3.6,127.31,127.31,0,0,1-17.29,1.2,114.89,114.89,0,0,1-28-3.8v79.68L348.52,251.77a88.06,88.06,0,0,0,25.41,4.14c28.11,0,53-13,70.11-33.11,17.19,20.11,42.08,33.11,70.11,33.11a94.31,94.31,0,0,0,13-.91c59.66-8.41,88-82.8,56.06-136.4L521.55,15A30.1,30.1,0,0,0,495.81,0H112A30.11,30.11,0,0,0,86.27,15L76.88,30.78,43.19,3.38A14.68,14.68,0,0,0,21.86,6.19L3.2,31.45A16.58,16.58,0,0,0,5.87,53.91L564.81,508.63a14.69,14.69,0,0,0,21.33-2.82l18.66-25.26A16.58,16.58,0,0,0,602.13,458.09Z"]
8804
8814
  };
8805
8815
  var faStream = {
8806
8816
  prefix: 'fas',
@@ -9105,7 +9115,7 @@ var faToiletPaper = {
9105
9115
  var faToiletPaperSlash = {
9106
9116
  prefix: 'fas',
9107
9117
  iconName: 'toilet-paper-slash',
9108
- icon: [640, 512, [], "f972", "M64,192V364.13c0,41.12-9.75,62.75-31.12,126.87A16,16,0,0,0,48,512H328.86a31.87,31.87,0,0,0,30.38-21.87c9.31-27.83,18-53.35,22.18-85.55l-316-244.25C64.53,170.66,64,181.19,64,192ZM633.82,458.09l-102-78.81C575.28,360.91,608,284.32,608,192,608,86,565,0,512,0s-96,86-96,192c0,42,7,80.4,18.43,112L384,265V192c0-83.62,23.63-153.5,60.5-192H160c-23.33,0-44.63,16.83-61.26,44.53L45.46,3.38A16,16,0,0,0,23,6.19L3.37,31.45A16,16,0,0,0,6.18,53.91L594.54,508.63A16,16,0,0,0,617,505.81l19.64-25.26A16,16,0,0,0,633.82,458.09ZM512,256c-17.63,0-32-28.62-32-64s14.37-64,32-64,32,28.63,32,64S529.62,256,512,256Z"]
9118
+ icon: [640, 512, [], "e072", "M64,192V364.13c0,41.12-9.75,62.75-31.12,126.87A16,16,0,0,0,48,512H328.86a31.87,31.87,0,0,0,30.38-21.87c9.31-27.83,18-53.35,22.18-85.55l-316-244.25C64.53,170.66,64,181.19,64,192ZM633.82,458.09l-102-78.81C575.28,360.91,608,284.32,608,192,608,86,565,0,512,0s-96,86-96,192c0,42,7,80.4,18.43,112L384,265V192c0-83.62,23.63-153.5,60.5-192H160c-23.33,0-44.63,16.83-61.26,44.53L45.46,3.38A16,16,0,0,0,23,6.19L3.37,31.45A16,16,0,0,0,6.18,53.91L594.54,508.63A16,16,0,0,0,617,505.81l19.64-25.26A16,16,0,0,0,633.82,458.09ZM512,256c-17.63,0-32-28.62-32-64s14.37-64,32-64,32,28.63,32,64S529.62,256,512,256Z"]
9109
9119
  };
9110
9120
  var faToolbox = {
9111
9121
  prefix: 'fas',
@@ -9150,7 +9160,7 @@ var faTrafficLight = {
9150
9160
  var faTrailer = {
9151
9161
  prefix: 'fas',
9152
9162
  iconName: 'trailer',
9153
- icon: [640, 512, [], "f941", "M624,320H544V80a16,16,0,0,0-16-16H16A16,16,0,0,0,0,80V368a16,16,0,0,0,16,16H65.61c7.83-54.21,54-96,110.39-96s102.56,41.79,110.39,96H624a16,16,0,0,0,16-16V336A16,16,0,0,0,624,320ZM96,243.68a176.29,176.29,0,0,0-32,20.71V136a8,8,0,0,1,8-8H88a8,8,0,0,1,8,8Zm96-18.54c-5.31-.49-10.57-1.14-16-1.14s-10.69.65-16,1.14V136a8,8,0,0,1,8-8h16a8,8,0,0,1,8,8Zm96,39.25a176.29,176.29,0,0,0-32-20.71V136a8,8,0,0,1,8-8h16a8,8,0,0,1,8,8ZM384,320H352V136a8,8,0,0,1,8-8h16a8,8,0,0,1,8,8Zm96,0H448V136a8,8,0,0,1,8-8h16a8,8,0,0,1,8,8Zm-304,0a80,80,0,1,0,80,80A80,80,0,0,0,176,320Zm0,112a32,32,0,1,1,32-32A32,32,0,0,1,176,432Z"]
9163
+ icon: [640, 512, [], "e041", "M624,320H544V80a16,16,0,0,0-16-16H16A16,16,0,0,0,0,80V368a16,16,0,0,0,16,16H65.61c7.83-54.21,54-96,110.39-96s102.56,41.79,110.39,96H624a16,16,0,0,0,16-16V336A16,16,0,0,0,624,320ZM96,243.68a176.29,176.29,0,0,0-32,20.71V136a8,8,0,0,1,8-8H88a8,8,0,0,1,8,8Zm96-18.54c-5.31-.49-10.57-1.14-16-1.14s-10.69.65-16,1.14V136a8,8,0,0,1,8-8h16a8,8,0,0,1,8,8Zm96,39.25a176.29,176.29,0,0,0-32-20.71V136a8,8,0,0,1,8-8h16a8,8,0,0,1,8,8ZM384,320H352V136a8,8,0,0,1,8-8h16a8,8,0,0,1,8,8Zm96,0H448V136a8,8,0,0,1,8-8h16a8,8,0,0,1,8,8Zm-304,0a80,80,0,1,0,80,80A80,80,0,0,0,176,320Zm0,112a32,32,0,1,1,32-32A32,32,0,0,1,176,432Z"]
9154
9164
  };
9155
9165
  var faTrain = {
9156
9166
  prefix: 'fas',
@@ -9430,7 +9440,7 @@ var faUsersCog = {
9430
9440
  var faUsersSlash = {
9431
9441
  prefix: 'fas',
9432
9442
  iconName: 'users-slash',
9433
- icon: [640, 512, [], "f973", "M132.65,212.32,36.21,137.78A63.4,63.4,0,0,0,32,160a63.84,63.84,0,0,0,100.65,52.32Zm40.44,62.28A63.79,63.79,0,0,0,128,256H64A64.06,64.06,0,0,0,0,320v32a32,32,0,0,0,32,32H97.91A146.62,146.62,0,0,1,173.09,274.6ZM544,224a64,64,0,1,0-64-64A64.06,64.06,0,0,0,544,224ZM500.56,355.11a114.24,114.24,0,0,0-84.47-65.28L361,247.23c41.46-16.3,71-55.92,71-103.23A111.93,111.93,0,0,0,320,32c-57.14,0-103.69,42.83-110.6,98.08L45.46,3.38A16,16,0,0,0,23,6.19L3.37,31.46A16,16,0,0,0,6.18,53.91L594.53,508.63A16,16,0,0,0,617,505.82l19.64-25.27a16,16,0,0,0-2.81-22.45ZM128,403.21V432a48,48,0,0,0,48,48H464a47.45,47.45,0,0,0,12.57-1.87L232,289.13C173.74,294.83,128,343.42,128,403.21ZM576,256H512a63.79,63.79,0,0,0-45.09,18.6A146.29,146.29,0,0,1,542,384h66a32,32,0,0,0,32-32V320A64.06,64.06,0,0,0,576,256Z"]
9443
+ icon: [640, 512, [], "e073", "M132.65,212.32,36.21,137.78A63.4,63.4,0,0,0,32,160a63.84,63.84,0,0,0,100.65,52.32Zm40.44,62.28A63.79,63.79,0,0,0,128,256H64A64.06,64.06,0,0,0,0,320v32a32,32,0,0,0,32,32H97.91A146.62,146.62,0,0,1,173.09,274.6ZM544,224a64,64,0,1,0-64-64A64.06,64.06,0,0,0,544,224ZM500.56,355.11a114.24,114.24,0,0,0-84.47-65.28L361,247.23c41.46-16.3,71-55.92,71-103.23A111.93,111.93,0,0,0,320,32c-57.14,0-103.69,42.83-110.6,98.08L45.46,3.38A16,16,0,0,0,23,6.19L3.37,31.46A16,16,0,0,0,6.18,53.91L594.53,508.63A16,16,0,0,0,617,505.82l19.64-25.27a16,16,0,0,0-2.81-22.45ZM128,403.21V432a48,48,0,0,0,48,48H464a47.45,47.45,0,0,0,12.57-1.87L232,289.13C173.74,294.83,128,343.42,128,403.21ZM576,256H512a63.79,63.79,0,0,0-45.09,18.6A146.29,146.29,0,0,1,542,384h66a32,32,0,0,0,32-32V320A64.06,64.06,0,0,0,576,256Z"]
9434
9444
  };
9435
9445
  var faUtensilSpoon = {
9436
9446
  prefix: 'fas',
@@ -9462,6 +9472,16 @@ var faVenusMars = {
9462
9472
  iconName: 'venus-mars',
9463
9473
  icon: [576, 512, [], "f228", "M564 0h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-48.7 48.7C422.5 72.1 396.2 64 368 64c-33.7 0-64.6 11.6-89.2 30.9 14 16.7 25 36 32.1 57.1 14.5-14.8 34.7-24 57.1-24 44.1 0 80 35.9 80 80s-35.9 80-80 80c-22.3 0-42.6-9.2-57.1-24-7.1 21.1-18 40.4-32.1 57.1 24.5 19.4 55.5 30.9 89.2 30.9 79.5 0 144-64.5 144-144 0-28.2-8.1-54.5-22.1-76.7l48.7-48.7 16.9 16.9c2.4 2.4 5.4 3.5 8.4 3.5 6.2 0 12.1-4.8 12.1-12V12c0-6.6-5.4-12-12-12zM144 64C64.5 64 0 128.5 0 208c0 68.5 47.9 125.9 112 140.4V400H76c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v36c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-36h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-51.6c64.1-14.6 112-71.9 112-140.4 0-79.5-64.5-144-144-144zm0 224c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z"]
9464
9474
  };
9475
+ var faVest = {
9476
+ prefix: 'fas',
9477
+ iconName: 'vest',
9478
+ icon: [448, 512, [], "e085", "M437.252,239.877,384,160V32A32,32,0,0,0,352,0H320a24.021,24.021,0,0,0-13.312,4.031l-25,16.672a103.794,103.794,0,0,1-115.376,0l-25-16.672A24.021,24.021,0,0,0,128,0H96A32,32,0,0,0,64,32V160L10.748,239.877A64,64,0,0,0,0,275.377V480a32,32,0,0,0,32,32H192V288a31.987,31.987,0,0,1,1.643-10.119L207.135,237.4,150.188,66.564A151.518,151.518,0,0,0,224,86.234a151.55,151.55,0,0,0,73.812-19.672L224,288V512H416a32,32,0,0,0,32-32V275.377A64,64,0,0,0,437.252,239.877ZM131.312,371.312l-48,48a16,16,0,0,1-22.624-22.624l48-48a16,16,0,0,1,22.624,22.624Zm256,48a15.992,15.992,0,0,1-22.624,0l-48-48a16,16,0,0,1,22.624-22.624l48,48A15.993,15.993,0,0,1,387.312,419.312Z"]
9479
+ };
9480
+ var faVestPatches = {
9481
+ prefix: 'fas',
9482
+ iconName: 'vest-patches',
9483
+ icon: [448, 512, [], "e086", "M437.252,239.877,384,160V32A32,32,0,0,0,352,0H320a23.982,23.982,0,0,0-13.312,4.031l-25,16.672a103.794,103.794,0,0,1-115.376,0l-25-16.672A23.982,23.982,0,0,0,128,0H96A32,32,0,0,0,64,32V160L10.748,239.877A64,64,0,0,0,0,275.377V480a32,32,0,0,0,32,32H192V288a31.987,31.987,0,0,1,1.643-10.119L207.135,237.4,150.188,66.561A151.579,151.579,0,0,0,224,86.234a151.565,151.565,0,0,0,73.811-19.668L224,288V512H416a32,32,0,0,0,32-32V275.377A64,64,0,0,0,437.252,239.877ZM63.5,272.484a12.01,12.01,0,0,1,17-16.968l15.5,15.5,15.5-15.5a12.01,12.01,0,0,1,17,16.968L112.984,288,128.5,303.516a12.01,12.01,0,0,1-17,16.968L96,304.984l-15.5,15.5a12.01,12.01,0,0,1-17-16.968L79.016,288ZM96,456a40,40,0,1,1,40-40A40,40,0,0,1,96,456ZM359.227,335.785,310.7,336a6.671,6.671,0,0,1-6.7-6.7l.215-48.574A24.987,24.987,0,0,1,331.43,256.1c12.789,1.162,22.129,12.619,22.056,25.419l-.037,5.057,5.051-.037c12.826-.035,24.236,9.275,25.4,22.076A24.948,24.948,0,0,1,359.227,335.785Z"]
9484
+ };
9465
9485
  var faVial = {
9466
9486
  prefix: 'fas',
9467
9487
  iconName: 'vial',
@@ -9490,17 +9510,17 @@ var faVihara = {
9490
9510
  var faVirus = {
9491
9511
  prefix: 'fas',
9492
9512
  iconName: 'virus',
9493
- icon: [512, 512, [], "f974", "M483.55,227.55H462c-50.68,0-76.07-61.27-40.23-97.11L437,115.19A28.44,28.44,0,0,0,396.8,75L381.56,90.22c-35.84,35.83-97.11,10.45-97.11-40.23V28.44a28.45,28.45,0,0,0-56.9,0V50c0,50.68-61.27,76.06-97.11,40.23L115.2,75A28.44,28.44,0,0,0,75,115.19l15.25,15.25c35.84,35.84,10.45,97.11-40.23,97.11H28.45a28.45,28.45,0,1,0,0,56.89H50c50.68,0,76.07,61.28,40.23,97.12L75,396.8A28.45,28.45,0,0,0,115.2,437l15.24-15.25c35.84-35.84,97.11-10.45,97.11,40.23v21.54a28.45,28.45,0,0,0,56.9,0V462c0-50.68,61.27-76.07,97.11-40.23L396.8,437A28.45,28.45,0,0,0,437,396.8l-15.25-15.24c-35.84-35.84-10.45-97.12,40.23-97.12h21.54a28.45,28.45,0,1,0,0-56.89ZM224,272a48,48,0,1,1,48-48A48,48,0,0,1,224,272Zm80,56a24,24,0,1,1,24-24A24,24,0,0,1,304,328Z"]
9513
+ icon: [512, 512, [], "e074", "M483.55,227.55H462c-50.68,0-76.07-61.27-40.23-97.11L437,115.19A28.44,28.44,0,0,0,396.8,75L381.56,90.22c-35.84,35.83-97.11,10.45-97.11-40.23V28.44a28.45,28.45,0,0,0-56.9,0V50c0,50.68-61.27,76.06-97.11,40.23L115.2,75A28.44,28.44,0,0,0,75,115.19l15.25,15.25c35.84,35.84,10.45,97.11-40.23,97.11H28.45a28.45,28.45,0,1,0,0,56.89H50c50.68,0,76.07,61.28,40.23,97.12L75,396.8A28.45,28.45,0,0,0,115.2,437l15.24-15.25c35.84-35.84,97.11-10.45,97.11,40.23v21.54a28.45,28.45,0,0,0,56.9,0V462c0-50.68,61.27-76.07,97.11-40.23L396.8,437A28.45,28.45,0,0,0,437,396.8l-15.25-15.24c-35.84-35.84-10.45-97.12,40.23-97.12h21.54a28.45,28.45,0,1,0,0-56.89ZM224,272a48,48,0,1,1,48-48A48,48,0,0,1,224,272Zm80,56a24,24,0,1,1,24-24A24,24,0,0,1,304,328Z"]
9494
9514
  };
9495
9515
  var faVirusSlash = {
9496
9516
  prefix: 'fas',
9497
9517
  iconName: 'virus-slash',
9498
- icon: [640, 512, [], "f975", "M114,227.56H92.44a28.44,28.44,0,0,0,0,56.88H114c50.68,0,76.06,61.28,40.23,97.12L139,396.81A28.44,28.44,0,1,0,179.19,437l15.25-15.25c35.84-35.84,97.11-10.45,97.11,40.23v21.54a28.45,28.45,0,0,0,56.9,0V462c0-26.61,17-45.91,38.22-53.37l-244.5-189A55.58,55.58,0,0,1,114,227.56ZM633.82,458.09,470.62,332c4.17-25.39,24.91-47.52,55.39-47.52h21.55a28.44,28.44,0,1,0,0-56.88H526c-50.68,0-76.06-61.28-40.23-97.12L501,115.19A28.44,28.44,0,0,0,460.81,75L445.56,90.22c-35.84,35.84-97.11,10.46-97.11-40.23V28.45a28.45,28.45,0,0,0-56.9,0V50c0,50.69-61.27,76.07-97.11,40.23L179.19,75A28.43,28.43,0,0,0,139,75c-.13.14-.15.32-.28.46L45.46,3.38A16,16,0,0,0,23,6.19L3.37,31.45A16,16,0,0,0,6.18,53.91L594.54,508.63A16,16,0,0,0,617,505.81l19.64-25.26A16,16,0,0,0,633.82,458.09ZM335.43,227.48l-62.87-48.59A46.55,46.55,0,0,1,288,176a48,48,0,0,1,48,48C336,225.22,335.52,226.29,335.43,227.48Z"]
9518
+ icon: [640, 512, [], "e075", "M114,227.6H92.4C76.7,227.6,64,240.3,64,256s12.7,28.4,28.4,28.4H114c50.7,0,76.1,61.3,40.2,97.1L139,396.8 c-11.5,10.7-12.2,28.7-1.6,40.2s28.7,12.2,40.2,1.6c0.5-0.5,1.1-1,1.6-1.6l15.2-15.2c35.8-35.8,97.1-10.5,97.1,40.2v21.5 c0,15.7,12.8,28.4,28.5,28.4c15.7,0,28.4-12.7,28.4-28.4V462c0-26.6,17-45.9,38.2-53.4l-244.5-189 C133.7,224.7,123.9,227.5,114,227.6z M617,505.8l19.6-25.3c5.4-7,4.2-17-2.8-22.5L470.6,332c4.2-25.4,24.9-47.5,55.4-47.5h21.5 c15.7,0,28.4-12.7,28.4-28.4s-12.7-28.4-28.4-28.4H526c-50.7,0-76.1-61.3-40.2-97.1l15.2-15.3c10.7-11.5,10-29.5-1.6-40.2 c-10.9-10.1-27.7-10.1-38.6,0l-15.2,15.2c-35.8,35.8-97.1,10.5-97.1-40.2V28.5C348.4,12.7,335.7,0,320,0 c-15.7,0-28.4,12.7-28.4,28.4V50c0,50.7-61.3,76.1-97.1,40.2L179.2,75c-11.1-11.1-29.4-10.6-40.5,0.5L45.5,3.4 c-7-5.4-17-4.2-22.5,2.8L3.4,31.5c-5.4,7-4.2,17,2.8,22.5l588.4,454.7C601.5,514.1,611.6,512.8,617,505.8z M335.4,227.5l-62.9-48.6 c4.9-1.8,10.2-2.8,15.4-2.9c26.5,0,48,21.5,48,48C336,225.2,335.5,226.3,335.4,227.5z"]
9499
9519
  };
9500
9520
  var faViruses = {
9501
9521
  prefix: 'fas',
9502
9522
  iconName: 'viruses',
9503
- icon: [640, 512, [], "f976", "M624,352H611.88c-28.51,0-42.79-34.47-22.63-54.63l8.58-8.57a16,16,0,1,0-22.63-22.63l-8.57,8.58C546.47,294.91,512,280.63,512,252.12V240a16,16,0,0,0-32,0v12.12c0,28.51-34.47,42.79-54.63,22.63l-8.57-8.58a16,16,0,0,0-22.63,22.63l8.58,8.57c20.16,20.16,5.88,54.63-22.63,54.63H368a16,16,0,0,0,0,32h12.12c28.51,0,42.79,34.47,22.63,54.63l-8.58,8.57a16,16,0,1,0,22.63,22.63l8.57-8.58c20.16-20.16,54.63-5.88,54.63,22.63V496a16,16,0,0,0,32,0V483.88c0-28.51,34.47-42.79,54.63-22.63l8.57,8.58a16,16,0,1,0,22.63-22.63l-8.58-8.57C569.09,418.47,583.37,384,611.88,384H624a16,16,0,0,0,0-32ZM480,384a32,32,0,1,1,32-32A32,32,0,0,1,480,384ZM346.51,213.33h16.16a21.33,21.33,0,0,0,0-42.66H346.51c-38,0-57.05-46-30.17-72.84l11.43-11.44A21.33,21.33,0,0,0,297.6,56.23L286.17,67.66c-26.88,26.88-72.84,7.85-72.84-30.17V21.33a21.33,21.33,0,0,0-42.66,0V37.49c0,38-46,57.05-72.84,30.17L86.4,56.23A21.33,21.33,0,0,0,56.23,86.39L67.66,97.83c26.88,26.88,7.85,72.84-30.17,72.84H21.33a21.33,21.33,0,0,0,0,42.66H37.49c38,0,57.05,46,30.17,72.84L56.23,297.6A21.33,21.33,0,1,0,86.4,327.77l11.43-11.43c26.88-26.88,72.84-7.85,72.84,30.17v16.16a21.33,21.33,0,0,0,42.66,0V346.51c0-38,46-57.05,72.84-30.17l11.43,11.43a21.33,21.33,0,0,0,30.17-30.17l-11.43-11.43C289.46,259.29,308.49,213.33,346.51,213.33ZM160,192a32,32,0,1,1,32-32A32,32,0,0,1,160,192Zm80,32a16,16,0,1,1,16-16A16,16,0,0,1,240,224Z"]
9523
+ icon: [640, 512, [], "e076", "M624,352H611.88c-28.51,0-42.79-34.47-22.63-54.63l8.58-8.57a16,16,0,1,0-22.63-22.63l-8.57,8.58C546.47,294.91,512,280.63,512,252.12V240a16,16,0,0,0-32,0v12.12c0,28.51-34.47,42.79-54.63,22.63l-8.57-8.58a16,16,0,0,0-22.63,22.63l8.58,8.57c20.16,20.16,5.88,54.63-22.63,54.63H368a16,16,0,0,0,0,32h12.12c28.51,0,42.79,34.47,22.63,54.63l-8.58,8.57a16,16,0,1,0,22.63,22.63l8.57-8.58c20.16-20.16,54.63-5.88,54.63,22.63V496a16,16,0,0,0,32,0V483.88c0-28.51,34.47-42.79,54.63-22.63l8.57,8.58a16,16,0,1,0,22.63-22.63l-8.58-8.57C569.09,418.47,583.37,384,611.88,384H624a16,16,0,0,0,0-32ZM480,384a32,32,0,1,1,32-32A32,32,0,0,1,480,384ZM346.51,213.33h16.16a21.33,21.33,0,0,0,0-42.66H346.51c-38,0-57.05-46-30.17-72.84l11.43-11.44A21.33,21.33,0,0,0,297.6,56.23L286.17,67.66c-26.88,26.88-72.84,7.85-72.84-30.17V21.33a21.33,21.33,0,0,0-42.66,0V37.49c0,38-46,57.05-72.84,30.17L86.4,56.23A21.33,21.33,0,0,0,56.23,86.39L67.66,97.83c26.88,26.88,7.85,72.84-30.17,72.84H21.33a21.33,21.33,0,0,0,0,42.66H37.49c38,0,57.05,46,30.17,72.84L56.23,297.6A21.33,21.33,0,1,0,86.4,327.77l11.43-11.43c26.88-26.88,72.84-7.85,72.84,30.17v16.16a21.33,21.33,0,0,0,42.66,0V346.51c0-38,46-57.05,72.84-30.17l11.43,11.43a21.33,21.33,0,0,0,30.17-30.17l-11.43-11.43C289.46,259.29,308.49,213.33,346.51,213.33ZM160,192a32,32,0,1,1,32-32A32,32,0,0,1,160,192Zm80,32a16,16,0,1,1,16-16A16,16,0,0,1,240,224Z"]
9504
9524
  };
9505
9525
  var faVoicemail = {
9506
9526
  prefix: 'fas',
@@ -10615,6 +10635,8 @@ var _iconsCache = {
10615
10635
  faVenus: faVenus,
10616
10636
  faVenusDouble: faVenusDouble,
10617
10637
  faVenusMars: faVenusMars,
10638
+ faVest: faVest,
10639
+ faVestPatches: faVestPatches,
10618
10640
  faVial: faVial,
10619
10641
  faVials: faVials,
10620
10642
  faVideo: faVideo,
@@ -10937,6 +10959,12 @@ function log () {
10937
10959
  }
10938
10960
 
10939
10961
  function normalizeIconArgs(icon) {
10962
+ // this has everything that it needs to be rendered which means it was probably imported
10963
+ // directly from an icon svg package
10964
+ if (icon && _typeof(icon) === 'object' && icon.prefix && icon.iconName && icon.icon) {
10965
+ return icon;
10966
+ }
10967
+
10940
10968
  if (_fortawesome_fontawesome_svg_core__WEBPACK_IMPORTED_MODULE_0__["parse"].icon) {
10941
10969
  return _fortawesome_fontawesome_svg_core__WEBPACK_IMPORTED_MODULE_0__["parse"].icon(icon);
10942
10970
  } // if the icon is null, there's nothing to do
@@ -10947,7 +10975,7 @@ function normalizeIconArgs(icon) {
10947
10975
  } // if the icon is an object and has a prefix and an icon name, return it
10948
10976
 
10949
10977
 
10950
- if (_typeof(icon) === 'object' && icon.prefix && icon.iconName) {
10978
+ if (icon && _typeof(icon) === 'object' && icon.prefix && icon.iconName) {
10951
10979
  return icon;
10952
10980
  } // if it's an array with length of two
10953
10981
 
@@ -42991,16 +43019,19 @@ var Split = function (idsOption, options) {
42991
43019
  // Set default options.sizes to equal percentages of the parent element.
42992
43020
  var sizes = getOption(options, 'sizes') || ids.map(function () { return 100 / ids.length; });
42993
43021
 
42994
- // Standardize minSize to an array if it isn't already. This allows minSize
42995
- // to be passed as a number.
43022
+ // Standardize minSize and maxSize to an array if it isn't already.
43023
+ // This allows minSize and maxSize to be passed as a number.
42996
43024
  var minSize = getOption(options, 'minSize', 100);
42997
43025
  var minSizes = Array.isArray(minSize) ? minSize : ids.map(function () { return minSize; });
43026
+ var maxSize = getOption(options, 'maxSize', Infinity);
43027
+ var maxSizes = Array.isArray(maxSize) ? maxSize : ids.map(function () { return maxSize; });
42998
43028
 
42999
43029
  // Get other options
43000
43030
  var expandToMin = getOption(options, 'expandToMin', false);
43001
43031
  var gutterSize = getOption(options, 'gutterSize', 10);
43002
43032
  var gutterAlign = getOption(options, 'gutterAlign', 'center');
43003
43033
  var snapOffset = getOption(options, 'snapOffset', 30);
43034
+ var snapOffsets = Array.isArray(snapOffset) ? snapOffset : ids.map(function () { return snapOffset; });
43004
43035
  var dragInterval = getOption(options, 'dragInterval', 1);
43005
43036
  var direction = getOption(options, 'direction', HORIZONTAL);
43006
43037
  var cursor = getOption(
@@ -43131,15 +43162,24 @@ var Split = function (idsOption, options) {
43131
43162
  // If within snapOffset of min or max, set offset to min or max.
43132
43163
  // snapOffset buffers a.minSize and b.minSize, so logic is opposite for both.
43133
43164
  // Include the appropriate gutter sizes to prevent overflows.
43134
- if (offset <= a.minSize + snapOffset + this[aGutterSize]) {
43165
+ if (offset <= a.minSize + a.snapOffset + this[aGutterSize]) {
43135
43166
  offset = a.minSize + this[aGutterSize];
43136
43167
  } else if (
43137
43168
  offset >=
43138
- this.size - (b.minSize + snapOffset + this[bGutterSize])
43169
+ this.size - (b.minSize + b.snapOffset + this[bGutterSize])
43139
43170
  ) {
43140
43171
  offset = this.size - (b.minSize + this[bGutterSize]);
43141
43172
  }
43142
43173
 
43174
+ if (offset >= a.maxSize - a.snapOffset + this[aGutterSize]) {
43175
+ offset = a.maxSize + this[aGutterSize];
43176
+ } else if (
43177
+ offset <=
43178
+ this.size - (b.maxSize - b.snapOffset + this[bGutterSize])
43179
+ ) {
43180
+ offset = this.size - (b.maxSize + this[bGutterSize]);
43181
+ }
43182
+
43143
43183
  // Actually adjust the size.
43144
43184
  adjust.call(this, offset);
43145
43185
 
@@ -43413,6 +43453,8 @@ var Split = function (idsOption, options) {
43413
43453
  element: elementOrSelector(id),
43414
43454
  size: sizes[i],
43415
43455
  minSize: minSizes[i],
43456
+ maxSize: maxSizes[i],
43457
+ snapOffset: snapOffsets[i],
43416
43458
  i: i,
43417
43459
  };
43418
43460
 
@@ -45391,8 +45433,8 @@ var QuaternionLineComponent = /** @class */ (function (_super) {
45391
45433
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "firstLine", title: this.props.label + " (Using Quaternion)" },
45392
45434
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "label" }, this.props.label + " (Using Quaternion)"),
45393
45435
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "vector" },
45394
- !this.props.useEuler && "X: " + quat.x.toFixed(1) + ", Y: " + quat.y.toFixed(1) + ", Z: " + quat.z.toFixed(1) + ", W: " + quat.w.toFixed(1),
45395
- this.props.useEuler && "X: " + eulerDegrees.x.toFixed(2) + ", Y: " + eulerDegrees.y.toFixed(2) + ", Z: " + eulerDegrees.z.toFixed(2)),
45436
+ !this.props.useEuler && "X: ".concat(quat.x.toFixed(1), ", Y: ").concat(quat.y.toFixed(1), ", Z: ").concat(quat.z.toFixed(1), ", W: ").concat(quat.w.toFixed(1)),
45437
+ this.props.useEuler && "X: ".concat(eulerDegrees.x.toFixed(2), ", Y: ").concat(eulerDegrees.y.toFixed(2), ", Z: ").concat(eulerDegrees.z.toFixed(2))),
45396
45438
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "expand", onClick: function () { return _this.switchExpandState(); } }, chevron)),
45397
45439
  this.state.isExpanded && !this.props.useEuler && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "secondLine" },
45398
45440
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_numericInputComponent__WEBPACK_IMPORTED_MODULE_2__["NumericInputComponent"], { label: "x", value: quat.x, onChange: function (value) { return _this.updateStateX(value); } }),
@@ -45457,10 +45499,11 @@ var TextureLineComponent = /** @class */ (function (_super) {
45457
45499
  this.updatePreview();
45458
45500
  };
45459
45501
  TextureLineComponent.prototype.updatePreview = function () {
45502
+ var _a;
45460
45503
  return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__awaiter"])(this, void 0, void 0, function () {
45461
- var previewCanvas, texture, size, ratio, width, height, data, context, imageData, castData, e_1;
45462
- return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__generator"])(this, function (_a) {
45463
- switch (_a.label) {
45504
+ var previewCanvas, texture, size, ratio, width, height, engine, data, context, imageData, castData, e_1;
45505
+ return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__generator"])(this, function (_b) {
45506
+ switch (_b.label) {
45464
45507
  case 0:
45465
45508
  previewCanvas = this.canvasRef.current;
45466
45509
  texture = this.props.texture;
@@ -45468,12 +45511,18 @@ var TextureLineComponent = /** @class */ (function (_super) {
45468
45511
  ratio = size.width / size.height;
45469
45512
  width = this.props.width;
45470
45513
  height = (width / ratio) | 1;
45471
- _a.label = 1;
45514
+ engine = (_a = this.props.texture.getScene()) === null || _a === void 0 ? void 0 : _a.getEngine();
45515
+ if (engine && height > engine.getCaps().maxTextureSize) {
45516
+ // the texture.width/texture.height ratio is too small, so use the real width/height dimensions of the texture instead of the canvas width/computed height
45517
+ width = this.props.texture.getSize().width;
45518
+ height = this.props.texture.getSize().height;
45519
+ }
45520
+ _b.label = 1;
45472
45521
  case 1:
45473
- _a.trys.push([1, 3, , 4]);
45522
+ _b.trys.push([1, 3, , 4]);
45474
45523
  return [4 /*yield*/, _textureHelper__WEBPACK_IMPORTED_MODULE_3__["TextureHelper"].GetTextureDataAsync(texture, width, height, this.state.face, this.state.channels, this.props.globalState)];
45475
45524
  case 2:
45476
- data = _a.sent();
45525
+ data = _b.sent();
45477
45526
  previewCanvas.width = width;
45478
45527
  previewCanvas.height = height;
45479
45528
  context = previewCanvas.getContext("2d");
@@ -45486,7 +45535,7 @@ var TextureLineComponent = /** @class */ (function (_super) {
45486
45535
  previewCanvas.style.height = height + "px";
45487
45536
  return [3 /*break*/, 4];
45488
45537
  case 3:
45489
- e_1 = _a.sent();
45538
+ e_1 = _b.sent();
45490
45539
  previewCanvas.width = width;
45491
45540
  previewCanvas.height = height;
45492
45541
  previewCanvas.style.height = height + "px";
@@ -45688,7 +45737,7 @@ var TextureLinkLineComponent = /** @class */ (function (_super) {
45688
45737
  var texture = this.props.texture;
45689
45738
  if (!texture) {
45690
45739
  if (this.props.propertyName || this.props.onTextureCreated) {
45691
- return react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_fileButtonLineComponent__WEBPACK_IMPORTED_MODULE_6__["FileButtonLineComponent"], { label: "Add " + this.props.label + " texture", onClick: function (file) { return _this.updateTexture(file); }, accept: ".jpg, .png, .tga, .dds, .env" });
45740
+ return react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_fileButtonLineComponent__WEBPACK_IMPORTED_MODULE_6__["FileButtonLineComponent"], { label: "Add ".concat(this.props.label, " texture"), onClick: function (file) { return _this.updateTexture(file); }, accept: ".jpg, .png, .tga, .dds, .env" });
45692
45741
  }
45693
45742
  return null;
45694
45743
  }
@@ -45969,7 +46018,7 @@ var GradientStepComponent = /** @class */ (function (_super) {
45969
46018
  var _this = this;
45970
46019
  var step = this.props.step;
45971
46020
  return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "gradient-step" },
45972
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "step" }, "#" + this.props.lineIndex),
46021
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "step" }, "#".concat(this.props.lineIndex)),
45973
46022
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "color" },
45974
46023
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_colorPickerComponent__WEBPACK_IMPORTED_MODULE_3__["ColorPickerLineComponent"], { value: step.color, onColorChanged: function (color) {
45975
46024
  _this.updateColor(color);
@@ -46051,6 +46100,7 @@ __webpack_require__.r(__webpack_exports__);
46051
46100
  __webpack_require__(/*! ./scss/performanceViewer.scss */ "./components/actionTabs/tabs/performanceViewer/scss/performanceViewer.scss");
46052
46101
  // arbitrary window size
46053
46102
  var initialWindowSize = { width: 1024, height: 512 };
46103
+ var initialGraphSize = { width: 724, height: 512 };
46054
46104
  var IPerfMetadataCategory;
46055
46105
  (function (IPerfMetadataCategory) {
46056
46106
  IPerfMetadataCategory["Count"] = "Count";
@@ -46064,7 +46114,7 @@ var defaultStrategiesList = [
46064
46114
  { strategyCallback: _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["PerfCollectionStrategy"].ActiveIndicesStrategy(), category: IPerfMetadataCategory.Count, hidden: true },
46065
46115
  { strategyCallback: _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["PerfCollectionStrategy"].ActiveBonesStrategy(), category: IPerfMetadataCategory.Count, hidden: true },
46066
46116
  { strategyCallback: _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["PerfCollectionStrategy"].ActiveParticlesStrategy(), category: IPerfMetadataCategory.Count, hidden: true },
46067
- { strategyCallback: _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["PerfCollectionStrategy"].DrawCallsStrategy(), category: IPerfMetadataCategory.Count },
46117
+ { strategyCallback: _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["PerfCollectionStrategy"].DrawCallsStrategy(), category: IPerfMetadataCategory.Count, hidden: true },
46068
46118
  { strategyCallback: _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["PerfCollectionStrategy"].TotalLightsStrategy(), category: IPerfMetadataCategory.Count, hidden: true },
46069
46119
  { strategyCallback: _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["PerfCollectionStrategy"].TotalVerticesStrategy(), category: IPerfMetadataCategory.Count, hidden: true },
46070
46120
  { strategyCallback: _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["PerfCollectionStrategy"].TotalMaterialsStrategy(), category: IPerfMetadataCategory.Count, hidden: true },
@@ -46115,7 +46165,7 @@ var PerformanceViewerComponent = function (props) {
46115
46165
  onResize: onResize,
46116
46166
  size: initialWindowSize,
46117
46167
  },
46118
- children: (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_performanceViewerPopupComponent__WEBPACK_IMPORTED_MODULE_6__["PerformanceViewerPopupComponent"], { scene: scene, layoutObservable: layoutObservable, returnToLiveObservable: returnToLiveObservable, performanceCollector: performanceCollector })),
46168
+ children: (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_performanceViewerPopupComponent__WEBPACK_IMPORTED_MODULE_6__["PerformanceViewerPopupComponent"], { scene: scene, layoutObservable: layoutObservable, returnToLiveObservable: returnToLiveObservable, performanceCollector: performanceCollector, initialGraphSize: initialGraphSize })),
46119
46169
  }, document.body);
46120
46170
  }
46121
46171
  };
@@ -46164,6 +46214,7 @@ var PerformanceViewerComponent = function (props) {
46164
46214
  perfCollector.addCollectionStrategies({
46165
46215
  strategyCallback: _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["PerfCollectionStrategy"].CpuStrategy(),
46166
46216
  category: IPerfMetadataCategory.FrameSteps,
46217
+ hidden: true
46167
46218
  });
46168
46219
  }
46169
46220
  };
@@ -46206,12 +46257,12 @@ __webpack_require__.r(__webpack_exports__);
46206
46257
 
46207
46258
 
46208
46259
  var PerformanceViewerPopupComponent = function (props) {
46209
- var scene = props.scene, layoutObservable = props.layoutObservable, returnToLiveObservable = props.returnToLiveObservable, performanceCollector = props.performanceCollector;
46260
+ var scene = props.scene, layoutObservable = props.layoutObservable, returnToLiveObservable = props.returnToLiveObservable, performanceCollector = props.performanceCollector, initialGraphSize = props.initialGraphSize;
46210
46261
  var onVisibleRangeChangedObservable = Object(react__WEBPACK_IMPORTED_MODULE_0__["useState"])(new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["Observable"]())[0];
46211
46262
  return (react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", { id: "performance-viewer" },
46212
46263
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_performancePlayheadButtonComponent__WEBPACK_IMPORTED_MODULE_3__["PerformancePlayheadButtonComponent"], { returnToPlayhead: returnToLiveObservable }),
46213
46264
  react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_performanceViewerSidebarComponent__WEBPACK_IMPORTED_MODULE_2__["PerformanceViewerSidebarComponent"], { collector: performanceCollector, onVisibleRangeChangedObservable: onVisibleRangeChangedObservable }),
46214
- react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_graph_canvasGraphComponent__WEBPACK_IMPORTED_MODULE_4__["CanvasGraphComponent"], { id: "performance-viewer-graph", returnToPlayheadObservable: returnToLiveObservable, layoutObservable: layoutObservable, scene: scene, collector: performanceCollector, onVisibleRangeChangedObservable: onVisibleRangeChangedObservable })));
46265
+ react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_graph_canvasGraphComponent__WEBPACK_IMPORTED_MODULE_4__["CanvasGraphComponent"], { id: "performance-viewer-graph", returnToPlayheadObservable: returnToLiveObservable, layoutObservable: layoutObservable, scene: scene, collector: performanceCollector, onVisibleRangeChangedObservable: onVisibleRangeChangedObservable, initialGraphSize: initialGraphSize })));
46215
46266
  };
46216
46267
 
46217
46268
 
@@ -46307,9 +46358,9 @@ var PerformanceViewerSidebarComponent = function (props) {
46307
46358
  }; };
46308
46359
  return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { id: "performance-viewer-sidebar" }, metadataCategories && metadataCategories.map(function (category) {
46309
46360
  var _a;
46310
- return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { key: "category-" + (category || 'version') },
46361
+ return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { key: "category-".concat(category || 'version') },
46311
46362
  category
46312
- ? react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "category-header header sidebar-item", key: "header-" + category },
46363
+ ? react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "category-header header sidebar-item", key: "header-".concat(category) },
46313
46364
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("span", { className: "category" }, category),
46314
46365
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_4__["CheckBoxLineComponent"], { isSelected: function () { var _a; return (metadataCategoryChecked === null || metadataCategoryChecked === void 0 ? void 0 : metadataCategoryChecked.get(category)) === ((_a = metadataCategoryId === null || metadataCategoryId === void 0 ? void 0 : metadataCategoryId.get(category)) === null || _a === void 0 ? void 0 : _a.length); }, onSelect: onCheckAllChange(category), faIcons: { enabled: _fortawesome_free_solid_svg_icons__WEBPACK_IMPORTED_MODULE_3__["faCheckSquare"], disabled: _fortawesome_free_solid_svg_icons__WEBPACK_IMPORTED_MODULE_3__["faSquare"] } }))
46315
46366
  : react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "version-header sidebar-item", key: "header-version" },
@@ -46319,7 +46370,7 @@ var PerformanceViewerSidebarComponent = function (props) {
46319
46370
  var _a;
46320
46371
  var metadata = metadataMap === null || metadataMap === void 0 ? void 0 : metadataMap.get(id);
46321
46372
  var range = valueMap === null || valueMap === void 0 ? void 0 : valueMap.get(id);
46322
- return metadata && react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { key: "perf-sidebar-item-" + id, className: "sidebar-item measure" },
46373
+ return metadata && react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { key: "perf-sidebar-item-".concat(id), className: "sidebar-item measure" },
46323
46374
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "category" },
46324
46375
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_4__["CheckBoxLineComponent"], { isSelected: function () { return !metadata.hidden; }, onSelect: onCheckChange(id), faIcons: { enabled: _fortawesome_free_solid_svg_icons__WEBPACK_IMPORTED_MODULE_3__["faCheckSquare"], disabled: _fortawesome_free_solid_svg_icons__WEBPACK_IMPORTED_MODULE_3__["faSquare"] } }),
46325
46376
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_colorPickerComponent__WEBPACK_IMPORTED_MODULE_2__["ColorPickerLineComponent"], { value: _babylonjs_core_Maths_math_color__WEBPACK_IMPORTED_MODULE_0__["Color3"].FromHexString((_a = metadata.color) !== null && _a !== void 0 ? _a : "#000"), onColorChanged: onColorChange(id), shouldPopRight: true }),
@@ -46699,7 +46750,7 @@ var PropertyGridTabComponent = /** @class */ (function (_super) {
46699
46750
  }
46700
46751
  if (className === "RadioButton") {
46701
46752
  var radioButton = entity;
46702
- return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_tabs_propertyGrids_gui_radioButtonPropertyGridComponent__WEBPACK_IMPORTED_MODULE_27__["RadioButtonPropertyGridComponent"], { radioButton: radioButton, lockObject: this._lockObject, onPropertyChangedObservable: this.props.onPropertyChangedObservable }));
46753
+ return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_tabs_propertyGrids_gui_radioButtonPropertyGridComponent__WEBPACK_IMPORTED_MODULE_27__["RadioButtonPropertyGridComponent"], { radioButtons: [radioButton], lockObject: this._lockObject, onPropertyChangedObservable: this.props.onPropertyChangedObservable }));
46703
46754
  }
46704
46755
  if (className === "Line") {
46705
46756
  var line = entity;
@@ -46910,6 +46961,7 @@ var AnimationGridComponent = /** @class */ (function (_super) {
46910
46961
  from: 0,
46911
46962
  to: 0,
46912
46963
  loop: false,
46964
+ initialized: false
46913
46965
  };
46914
46966
  _this.state = { currentFrame: 0 };
46915
46967
  var animatableAsAny = _this.props.animatable;
@@ -47004,6 +47056,7 @@ var AnimationGridComponent = /** @class */ (function (_super) {
47004
47056
  this._animationControl.from = this._mainAnimatable.fromFrame;
47005
47057
  this._animationControl.to = this._mainAnimatable.toFrame;
47006
47058
  this._animationControl.loop = this._mainAnimatable.loopAnimation;
47059
+ this._animationControl.initialized = true;
47007
47060
  }
47008
47061
  }
47009
47062
  var animations = animatable.animations;
@@ -47013,6 +47066,9 @@ var AnimationGridComponent = /** @class */ (function (_super) {
47013
47066
  this._animationCurveEditorContext.animations = animations;
47014
47067
  this._animationCurveEditorContext.target = this.props.animatable;
47015
47068
  this._animationCurveEditorContext.scene = this.props.scene;
47069
+ this._animationCurveEditorContext.fromKey = this._animationControl.from;
47070
+ this._animationCurveEditorContext.toKey = this._animationControl.to;
47071
+ this._animationCurveEditorContext.useExistingPlayRange = this._animationControl.initialized;
47016
47072
  }
47017
47073
  return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", null,
47018
47074
  this._ranges.length > 0 && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_lineContainerComponent__WEBPACK_IMPORTED_MODULE_3__["LineContainerComponent"], { title: "ANIMATION RANGES", selection: this.props.globalState }, this._ranges.map(function (range, i) {
@@ -47102,7 +47158,7 @@ var AnimationCurveEditorComponent = /** @class */ (function (_super) {
47102
47158
  }
47103
47159
  this.setState({ isOpen: false });
47104
47160
  this.props.context.activeAnimations = [];
47105
- this.props.context.onActiveAnimationChanged.notifyObservers();
47161
+ this.props.context.onActiveAnimationChanged.notifyObservers({});
47106
47162
  };
47107
47163
  AnimationCurveEditorComponent.prototype.shouldComponentUpdate = function (newProps, newState) {
47108
47164
  var _this = this;
@@ -47114,7 +47170,7 @@ var AnimationCurveEditorComponent = /** @class */ (function (_super) {
47114
47170
  _this.props.context.activeAnimations.push(_this.props.context.useTargetAnimations
47115
47171
  ? _this.props.context.animations[0].animation
47116
47172
  : _this.props.context.animations[0]);
47117
- _this.props.context.onActiveAnimationChanged.notifyObservers();
47173
+ _this.props.context.onActiveAnimationChanged.notifyObservers({});
47118
47174
  });
47119
47175
  }
47120
47176
  }
@@ -47940,8 +47996,8 @@ var RangeSelectorComponent = /** @class */ (function (_super) {
47940
47996
  }
47941
47997
  return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { id: "range-selector", ref: this._rangeHost, onPointerDown: function (evt) { return _this._onPointerDown(evt); }, onPointerMove: function (evt) { return _this._onPointerMove(evt); }, onPointerUp: function (evt) { return _this._onPointerUp(evt); } },
47942
47998
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { id: "range-scrollbar", ref: this._rangeScrollbarHost, style: {
47943
- left: 2 + ((this.props.context.fromKey - this._minFrame) / ratio) * this._viewWidth + "px",
47944
- right: 2 + ((this._maxFrame - this.props.context.toKey) / ratio) * this._viewWidth + "px",
47999
+ left: "".concat(2 + ((this.props.context.fromKey - this._minFrame) / ratio) * this._viewWidth, "px"),
48000
+ right: "".concat(2 + ((this._maxFrame - this.props.context.toKey) / ratio) * this._viewWidth, "px"),
47945
48001
  } },
47946
48002
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { id: "left-handle", className: "handle" },
47947
48003
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("img", { src: handleIcon })),
@@ -47970,10 +48026,12 @@ __webpack_require__.r(__webpack_exports__);
47970
48026
  /* harmony import */ var _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babylonjs/core/Misc/observable */ "@babylonjs/core/Misc/observable");
47971
48027
  /* harmony import */ var _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__);
47972
48028
 
48029
+ ;
47973
48030
  var Context = /** @class */ (function () {
47974
48031
  function Context() {
47975
48032
  this.activeAnimations = [];
47976
48033
  this.activeChannels = {};
48034
+ this.useExistingPlayRange = false;
47977
48035
  this.forwardAnimation = true;
47978
48036
  this.referenceMinFrame = 0;
47979
48037
  this.referenceMaxFrame = 100;
@@ -48011,6 +48069,10 @@ var Context = /** @class */ (function () {
48011
48069
  this.onClipLengthDecreased = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48012
48070
  this.onInterpolationModeSet = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48013
48071
  this.onSelectToActivated = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48072
+ this.lockLastFrameValue = false;
48073
+ this.lockLastFrameFrame = false;
48074
+ // value frame inTangent outTangent
48075
+ this.onActiveKeyDataChanged = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48014
48076
  }
48015
48077
  Context.prototype.prepare = function () {
48016
48078
  this.isPlaying = false;
@@ -48019,10 +48081,12 @@ var Context = /** @class */ (function () {
48019
48081
  }
48020
48082
  var animation = this.useTargetAnimations ? this.animations[0].animation : this.animations[0];
48021
48083
  var keys = animation.getKeys();
48022
- this.fromKey = keys[0].frame;
48023
- this.toKey = keys[keys.length - 1].frame;
48024
48084
  this.referenceMinFrame = 0;
48025
- this.referenceMaxFrame = this.toKey;
48085
+ this.referenceMaxFrame = keys[keys.length - 1].frame;
48086
+ if (!this.useExistingPlayRange) {
48087
+ this.fromKey = this.referenceMinFrame;
48088
+ this.toKey = this.referenceMaxFrame;
48089
+ }
48026
48090
  this.snippetId = animation.snippetId;
48027
48091
  this.clipLength = this.referenceMaxFrame;
48028
48092
  if (!animation || !animation.hasRunningRuntimeAnimations) {
@@ -48447,7 +48511,7 @@ var Curve = /** @class */ (function () {
48447
48511
  if (keys.length < 2) {
48448
48512
  return "";
48449
48513
  }
48450
- var pathData = "M" + convertX(keys[0].frame) + " " + convertY(keys[0].value);
48514
+ var pathData = "M".concat(convertX(keys[0].frame), " ").concat(convertY(keys[0].value));
48451
48515
  for (var keyIndex = 1; keyIndex < keys.length; keyIndex++) {
48452
48516
  var outTangent = keys[keyIndex - 1].outTangent;
48453
48517
  var inTangent = keys[keyIndex].inTangent;
@@ -48458,21 +48522,21 @@ var Curve = /** @class */ (function () {
48458
48522
  var frameDist = currentFrame - prevFrame;
48459
48523
  var prevInterpolation = keys[keyIndex - 1].interpolation;
48460
48524
  if (prevInterpolation === _babylonjs_core_Animations_animationKey__WEBPACK_IMPORTED_MODULE_0__["AnimationKeyInterpolation"].STEP) { // Draw a stepped curve
48461
- pathData += "L " + convertX(currentFrame) + " " + convertY(prevValue);
48462
- pathData += "L " + convertX(currentFrame) + " " + convertY(currentValue);
48525
+ pathData += "L ".concat(convertX(currentFrame), " ").concat(convertY(prevValue));
48526
+ pathData += "L ".concat(convertX(currentFrame), " ").concat(convertY(currentValue));
48463
48527
  continue;
48464
48528
  }
48465
48529
  if (outTangent === undefined && inTangent === undefined) { // Draw a straight line
48466
- pathData += " L" + convertX(currentFrame) + " " + convertY(currentValue);
48530
+ pathData += " L".concat(convertX(currentFrame), " ").concat(convertY(currentValue));
48467
48531
  continue;
48468
48532
  }
48469
48533
  // Let's sample the curve else
48470
48534
  for (var frame = prevFrame; frame < currentFrame; frame += frameDist / Curve.SampleRate) {
48471
48535
  var keyValue = this.animation.evaluate(frame);
48472
48536
  var value = this.property ? keyValue[this.property] : keyValue;
48473
- pathData += " L" + convertX(frame) + " " + convertY(value);
48537
+ pathData += " L".concat(convertX(frame), " ").concat(convertY(value));
48474
48538
  }
48475
- pathData += " L" + convertX(currentFrame) + " " + convertY(currentValue);
48539
+ pathData += " L".concat(convertX(currentFrame), " ").concat(convertY(currentValue));
48476
48540
  }
48477
48541
  return pathData;
48478
48542
  };
@@ -48730,6 +48794,9 @@ __webpack_require__.r(__webpack_exports__);
48730
48794
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
48731
48795
 
48732
48796
 
48797
+ // x distance between consecutive ticks on the frame
48798
+ var baseTickDistance = 25;
48799
+ var minTickDistance = 35;
48733
48800
  var FrameBarComponent = /** @class */ (function (_super) {
48734
48801
  Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(FrameBarComponent, _super);
48735
48802
  function FrameBarComponent(props) {
@@ -48776,10 +48843,10 @@ var FrameBarComponent = /** @class */ (function (_super) {
48776
48843
  }
48777
48844
  var minFrame = this.props.context.referenceMinFrame;
48778
48845
  var maxFrame = this.props.context.referenceMaxFrame;
48779
- var stepCounts = 20;
48780
48846
  var range = maxFrame - minFrame;
48781
- var offset = (range / stepCounts) | 0;
48782
48847
  var convertRatio = range / this._GraphAbsoluteWidth;
48848
+ var dist = Math.max(baseTickDistance * this._viewScale, minTickDistance); // x distance between consecutive ticks
48849
+ var offset = Math.floor(dist * convertRatio);
48783
48850
  var steps = [];
48784
48851
  if (offset === 0) {
48785
48852
  offset = 1;
@@ -48793,20 +48860,20 @@ var FrameBarComponent = /** @class */ (function (_super) {
48793
48860
  return steps.map(function (s, i) {
48794
48861
  var x = (s - minFrame) / convertRatio;
48795
48862
  return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("g", { key: "axis" + s },
48796
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("line", { key: "line" + s, x1: x, y1: 5 * _this._viewScale + "px", x2: x, y2: 30 * _this._viewScale + "px", style: {
48863
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("line", { key: "line" + s, x1: x, y1: "".concat(5 * _this._viewScale, "px"), x2: x, y2: "".concat(30 * _this._viewScale, "px"), style: {
48797
48864
  stroke: "#333333",
48798
48865
  strokeWidth: 0.5,
48799
48866
  } }),
48800
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("text", { key: "label" + s, x: x, y: 0, dx: 7 * _this._viewScale + "px", textAnchor: "middle", dy: 15 * _this._viewScale + "px", style: {
48867
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("text", { key: "label" + s, x: x, y: 0, dx: "".concat(7 * _this._viewScale, "px"), textAnchor: "middle", dy: "".concat(15 * _this._viewScale, "px"), style: {
48801
48868
  fontFamily: "acumin-pro-condensed",
48802
- fontSize: 10 * _this._viewScale + "px",
48869
+ fontSize: "".concat(10 * _this._viewScale, "px"),
48803
48870
  fill: "#555555",
48804
48871
  textAlign: "center",
48805
48872
  } }, s.toFixed(0))));
48806
48873
  });
48807
48874
  };
48808
48875
  FrameBarComponent.prototype.render = function () {
48809
- var viewBox = -this._offsetX + " 0 " + Math.round(this._viewWidth * this._viewScale) + " " + Math.round(30 * this._viewScale);
48876
+ var viewBox = "".concat(-this._offsetX, " 0 ").concat(Math.round(this._viewWidth * this._viewScale), " ").concat(Math.round(30 * this._viewScale));
48810
48877
  return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { id: "frame-bar" },
48811
48878
  this.props.context.activeAnimations.length > 0 && react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { id: "angle-unit" }),
48812
48879
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { id: "frames" },
@@ -48851,7 +48918,7 @@ var GraphComponent = /** @class */ (function (_super) {
48851
48918
  function GraphComponent(props) {
48852
48919
  var _this = _super.call(this, props) || this;
48853
48920
  _this._MinScale = 0.5;
48854
- _this._MaxScale = 4;
48921
+ _this._MaxScale = 5;
48855
48922
  _this._GraphAbsoluteWidth = 788;
48856
48923
  _this._GraphAbsoluteHeight = 357;
48857
48924
  _this._viewWidth = 788;
@@ -48869,13 +48936,16 @@ var GraphComponent = /** @class */ (function (_super) {
48869
48936
  _this.props.context.onHostWindowResized.add(function () {
48870
48937
  _this._computeSizes();
48871
48938
  });
48872
- _this._onActiveAnimationChangedObserver = _this.props.context.onActiveAnimationChanged.add(function () {
48873
- _this._evaluateKeys();
48939
+ _this._onActiveAnimationChangedObserver = _this.props.context.onActiveAnimationChanged.add(function (_a) {
48940
+ var _b = _a.evaluateKeys, evaluateKeys = _b === void 0 ? true : _b, _c = _a.frame, frame = _c === void 0 ? true : _c, _d = _a.range, range = _d === void 0 ? true : _d;
48941
+ if (evaluateKeys) {
48942
+ _this._evaluateKeys(frame, range);
48943
+ }
48874
48944
  _this._computeSizes();
48875
48945
  _this.forceUpdate();
48876
48946
  });
48877
48947
  _this.props.context.onFrameRequired.add(function () {
48878
- _this._frame();
48948
+ _this._frameFromActiveKeys();
48879
48949
  _this.forceUpdate();
48880
48950
  });
48881
48951
  _this.props.context.onRangeUpdated.add(function () {
@@ -48911,9 +48981,12 @@ var GraphComponent = /** @class */ (function (_super) {
48911
48981
  if (deletedFrame !== null) {
48912
48982
  _this.props.context.moveToFrame(deletedFrame);
48913
48983
  }
48914
- _this.props.context.activeKeyPoints = [];
48915
48984
  }
48916
- _this.props.context.onActiveAnimationChanged.notifyObservers();
48985
+ _this._evaluateKeys(false, false);
48986
+ _this.props.context.activeKeyPoints = [];
48987
+ _this.props.context.onActiveKeyPointChanged.notifyObservers();
48988
+ _this.props.context.onActiveAnimationChanged.notifyObservers({ evaluateKeys: false });
48989
+ _this.forceUpdate();
48917
48990
  });
48918
48991
  // Create or Update keypoint
48919
48992
  _this.props.context.onCreateOrUpdateKeyPointRequired.add(function () {
@@ -48954,7 +49027,7 @@ var GraphComponent = /** @class */ (function (_super) {
48954
49027
  // Key already exists, update it
48955
49028
  leftKey.value = value;
48956
49029
  }
48957
- else if (Math.floor(rightKey.frame - currentFrame) === 0) {
49030
+ else if (Math.floor((rightKey === null || rightKey === void 0 ? void 0 : rightKey.frame) - currentFrame) === 0) {
48958
49031
  // Key already exists, update it
48959
49032
  rightKey.value = value;
48960
49033
  }
@@ -48964,8 +49037,9 @@ var GraphComponent = /** @class */ (function (_super) {
48964
49037
  var newKey = {
48965
49038
  frame: currentFrame,
48966
49039
  value: value,
49040
+ lockedTangent: true
48967
49041
  };
48968
- if (leftKey.outTangent !== undefined && rightKey.inTangent !== undefined) {
49042
+ if ((leftKey === null || leftKey === void 0 ? void 0 : leftKey.outTangent) !== undefined && (rightKey === null || rightKey === void 0 ? void 0 : rightKey.inTangent) !== undefined) {
48969
49043
  var derivative = null;
48970
49044
  var invFrameDelta = 1.0 / (rightKey.frame - leftKey.frame);
48971
49045
  var cutTime = (currentFrame - leftKey.frame) * invFrameDelta;
@@ -49005,7 +49079,7 @@ var GraphComponent = /** @class */ (function (_super) {
49005
49079
  _this._evaluateKeys(false, false);
49006
49080
  _this.props.context.activeKeyPoints = [];
49007
49081
  _this.props.context.onActiveKeyPointChanged.notifyObservers();
49008
- _this.props.context.onActiveAnimationChanged.notifyObservers();
49082
+ _this.props.context.onActiveAnimationChanged.notifyObservers({ evaluateKeys: false });
49009
49083
  _this.forceUpdate();
49010
49084
  });
49011
49085
  return _this;
@@ -49046,10 +49120,6 @@ var GraphComponent = /** @class */ (function (_super) {
49046
49120
  return;
49047
49121
  }
49048
49122
  this._curves = [];
49049
- this._minValue = Number.MAX_VALUE;
49050
- this._maxValue = -Number.MAX_VALUE;
49051
- this._minFrame = Number.MAX_VALUE;
49052
- this._maxFrame = -Number.MAX_VALUE;
49053
49123
  for (var _i = 0, _b = this.props.context.activeAnimations; _i < _b.length; _i++) {
49054
49124
  var animation = _b[_i];
49055
49125
  var keys = animation.getKeys();
@@ -49095,7 +49165,7 @@ var GraphComponent = /** @class */ (function (_super) {
49095
49165
  }
49096
49166
  }
49097
49167
  if (frame) {
49098
- this._frame();
49168
+ this._frameFromActiveKeys();
49099
49169
  }
49100
49170
  };
49101
49171
  GraphComponent.prototype._extractValuesFromKeys = function (keys, dataType, curvesToPushTo, propertyFilter) {
@@ -49436,24 +49506,25 @@ var GraphComponent = /** @class */ (function (_super) {
49436
49506
  stroke: isZero ? "#666666" : "#333333",
49437
49507
  strokeWidth: isZero ? 1.0 : 0.5,
49438
49508
  } }),
49439
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("text", { key: "label" + s, x: 0, y: y, dx: 15 * _this._viewScale + "px", textAnchor: "middle", dy: 3 * _this._viewScale + "px", style: {
49509
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("text", { key: "label" + s, x: 0, y: y, dx: "".concat(15 * _this._viewScale, "px"), textAnchor: "middle", dy: "".concat(3 * _this._viewScale, "px"), style: {
49440
49510
  fontFamily: "acumin-pro-condensed",
49441
- fontSize: 10 * _this._viewScale + "px",
49511
+ fontSize: "".concat(10 * _this._viewScale, "px"),
49442
49512
  fill: "#888888",
49443
49513
  textAlign: "center",
49444
49514
  } }, text)));
49445
49515
  });
49446
49516
  };
49447
- GraphComponent.prototype._frame = function () {
49517
+ GraphComponent.prototype._frameFromActiveKeys = function () {
49448
49518
  if (this.props.context.activeAnimations.length === 0) {
49449
49519
  return;
49450
49520
  }
49451
49521
  this._offsetX = 20;
49452
49522
  this._offsetY = 20;
49453
- this._minValue = Number.MAX_VALUE;
49454
- this._maxValue = -Number.MAX_VALUE;
49455
- this._minFrame = Number.MAX_VALUE;
49456
- this._maxFrame = -Number.MAX_VALUE;
49523
+ var minValue = Number.MAX_VALUE;
49524
+ var maxValue = -Number.MAX_VALUE;
49525
+ var minFrame = Number.MAX_VALUE;
49526
+ var maxFrame = -Number.MAX_VALUE;
49527
+ var hasRange = false;
49457
49528
  var _loop_1 = function (animation) {
49458
49529
  var propertyFilter = undefined;
49459
49530
  var activeChannel = this_1.props.context.getActiveChannel(animation);
@@ -49464,13 +49535,19 @@ var GraphComponent = /** @class */ (function (_super) {
49464
49535
  }
49465
49536
  }
49466
49537
  var keys = animation.getKeys();
49467
- // Only keep selected keys
49468
- if (this_1.props.context.activeKeyPoints && this_1.props.context.activeKeyPoints.length > 1) {
49538
+ // Only keep selected keys, the previous sibling to the first key, and the next sibling of the last key
49539
+ if (this_1.props.context.activeKeyPoints && this_1.props.context.activeKeyPoints.length > 0) {
49469
49540
  var newKeys = [];
49470
- for (var _b = 0, _c = this_1.props.context.activeKeyPoints; _b < _c.length; _b++) {
49471
- var keyPoint = _c[_b];
49541
+ for (var i = 0; i < this_1.props.context.activeKeyPoints.length; i++) {
49542
+ var keyPoint = this_1.props.context.activeKeyPoints[i];
49472
49543
  if (keyPoint.props.curve.animation === animation) {
49473
49544
  newKeys.push(keys[keyPoint.props.keyId]);
49545
+ if (i === 0 && keyPoint.props.keyId >= 1) {
49546
+ newKeys.unshift(keys[keyPoint.props.keyId - 1]);
49547
+ }
49548
+ if (i === this_1.props.context.activeKeyPoints.length - 1 && keyPoint.props.keyId < keys.length - 1) {
49549
+ newKeys.push(keys[keyPoint.props.keyId + 1]);
49550
+ }
49474
49551
  }
49475
49552
  }
49476
49553
  keys = newKeys;
@@ -49479,16 +49556,24 @@ var GraphComponent = /** @class */ (function (_super) {
49479
49556
  return "continue";
49480
49557
  }
49481
49558
  var values = this_1._extractValuesFromKeys(keys, animation.dataType, undefined, propertyFilter);
49482
- this_1._minValue = Math.min(this_1._minValue, values.min);
49483
- this_1._maxValue = Math.max(this_1._maxValue, values.max);
49484
- this_1._minFrame = Math.min(this_1._minFrame, keys[0].frame);
49485
- this_1._maxFrame = Math.max(this_1._maxFrame, keys[keys.length - 1].frame);
49559
+ minValue = Math.min(minValue, values.min);
49560
+ maxValue = Math.max(maxValue, values.max);
49561
+ minFrame = Math.min(minFrame, keys[0].frame);
49562
+ maxFrame = Math.max(maxFrame, keys[keys.length - 1].frame);
49563
+ hasRange = true;
49486
49564
  };
49487
49565
  var this_1 = this;
49488
49566
  for (var _i = 0, _a = this.props.context.activeAnimations; _i < _a.length; _i++) {
49489
49567
  var animation = _a[_i];
49490
49568
  _loop_1(animation);
49491
49569
  }
49570
+ if (!hasRange) {
49571
+ return;
49572
+ }
49573
+ this._minFrame = minFrame;
49574
+ this._maxFrame = maxFrame;
49575
+ this._minValue = minValue;
49576
+ this._maxValue = maxValue;
49492
49577
  this.props.context.referenceMinFrame = this._minFrame;
49493
49578
  this.props.context.referenceMaxFrame = this._maxFrame;
49494
49579
  var frameConvert = Math.abs(this._convertX(this._maxFrame) - this._convertX(this._minFrame)) + this._offsetX * 2;
@@ -49517,6 +49602,7 @@ var GraphComponent = /** @class */ (function (_super) {
49517
49602
  if (evt.nativeEvent.target.id !== "svg-graph-curves") {
49518
49603
  return;
49519
49604
  }
49605
+ evt.preventDefault();
49520
49606
  this._pointerIsDown = true;
49521
49607
  evt.currentTarget.setPointerCapture(evt.pointerId);
49522
49608
  this._sourcePointerX = evt.nativeEvent.offsetX;
@@ -49538,20 +49624,23 @@ var GraphComponent = /** @class */ (function (_super) {
49538
49624
  var localX = evt.nativeEvent.offsetX;
49539
49625
  var localY = evt.nativeEvent.offsetY;
49540
49626
  if (localX > this._selectionStartX) {
49541
- style.left = this._selectionStartX + "px";
49542
- style.width = localX - this._selectionStartX + "px";
49627
+ style.left = "".concat(this._selectionStartX, "px");
49628
+ style.width = "".concat(localX - this._selectionStartX, "px");
49543
49629
  }
49544
49630
  else {
49545
- style.left = localX + "px";
49546
- style.width = this._selectionStartX - localX + "px";
49631
+ style.left = "".concat(localX, "px");
49632
+ style.width = "".concat(this._selectionStartX - localX, "px");
49547
49633
  }
49548
49634
  if (localY > this._selectionStartY) {
49549
- style.top = this._selectionStartY + "px";
49550
- style.height = localY - this._selectionStartY + "px";
49635
+ style.top = "".concat(this._selectionStartY, "px");
49636
+ style.height = "".concat(localY - this._selectionStartY, "px");
49551
49637
  }
49552
49638
  else {
49553
- style.top = localY + "px";
49554
- style.height = this._selectionStartY - localY + "px";
49639
+ style.top = "".concat(localY, "px");
49640
+ style.height = "".concat(this._selectionStartY - localY, "px");
49641
+ }
49642
+ if (localX !== this._selectionStartX || localY !== this._selectionStartY) {
49643
+ this._selectionMade = true;
49555
49644
  }
49556
49645
  this.props.context.onSelectionRectangleMoved.notifyObservers(this._selectionRectangle.current.getBoundingClientRect());
49557
49646
  return;
@@ -49567,9 +49656,10 @@ var GraphComponent = /** @class */ (function (_super) {
49567
49656
  this._pointerIsDown = false;
49568
49657
  evt.currentTarget.releasePointerCapture(evt.pointerId);
49569
49658
  this._selectionRectangle.current.style.visibility = "hidden";
49570
- if (!this._inSelectionMode) {
49659
+ if (!this._inSelectionMode || !this._selectionMade) {
49571
49660
  this.props.context.clearSelection();
49572
49661
  }
49662
+ this._selectionMade = false;
49573
49663
  };
49574
49664
  GraphComponent.prototype._onWheel = function (evt) {
49575
49665
  var delta = evt.deltaY < 0 ? -0.05 : 0.05;
@@ -49589,9 +49679,9 @@ var GraphComponent = /** @class */ (function (_super) {
49589
49679
  GraphComponent.prototype.render = function () {
49590
49680
  var _this = this;
49591
49681
  var scale = this._viewScale;
49592
- var viewBoxScalingCurves = -this._offsetX + " " + -this._offsetY + " " + Math.round(scale * this._viewCurveWidth) + " " + Math.round(scale * this._viewHeight);
49593
- var viewBoxScalingGrid = "0 " + -this._offsetY + " " + Math.round(scale * this._viewWidth) + " " + Math.round(scale * this._viewHeight);
49594
- var viewBoxHorizontal = -this._offsetX + " 0 " + Math.round((this._viewWidth - 40) * this._viewScale) + " " + Math.round(scale * this._viewHeight);
49682
+ var viewBoxScalingCurves = "".concat(-this._offsetX, " ").concat(-this._offsetY, " ").concat(Math.round(scale * this._viewCurveWidth), " ").concat(Math.round(scale * this._viewHeight));
49683
+ var viewBoxScalingGrid = "0 ".concat(-this._offsetY, " ").concat(Math.round(scale * this._viewWidth), " ").concat(Math.round(scale * this._viewHeight));
49684
+ var viewBoxHorizontal = "".concat(-this._offsetX, " 0 ").concat(Math.round((this._viewWidth - 40) * this._viewScale), " ").concat(Math.round(scale * this._viewHeight));
49595
49685
  var activeBoxLeft = 0;
49596
49686
  var activeBoxRight = 0;
49597
49687
  if (this.props.context.activeAnimations.length !== 0) {
@@ -49722,10 +49812,10 @@ var KeyPointComponent = /** @class */ (function (_super) {
49722
49812
  _this._stepTangent();
49723
49813
  });
49724
49814
  _this._onSelectionRectangleMovedObserver = _this.props.context.onSelectionRectangleMoved.add(function (rect1) {
49725
- if (!_this._svgHost.current) {
49815
+ if (!_this._keyPointSVG.current) {
49726
49816
  return;
49727
49817
  }
49728
- var rect2 = _this._svgHost.current.getBoundingClientRect();
49818
+ var rect2 = _this._keyPointSVG.current.getBoundingClientRect();
49729
49819
  var overlap = !(rect1.right < rect2.left || rect1.left > rect2.right || rect1.bottom < rect2.top || rect1.top > rect2.bottom);
49730
49820
  if (!_this.props.context.activeKeyPoints) {
49731
49821
  _this.props.context.activeKeyPoints = [];
@@ -49959,6 +50049,7 @@ var KeyPointComponent = /** @class */ (function (_super) {
49959
50049
  if (!this.props.context.activeKeyPoints) {
49960
50050
  this.props.context.activeKeyPoints = [];
49961
50051
  }
50052
+ evt.preventDefault();
49962
50053
  this._select(evt.nativeEvent.ctrlKey);
49963
50054
  this.props.context.onActiveKeyPointChanged.notifyObservers();
49964
50055
  this._pointerIsDown = true;
@@ -50045,7 +50136,7 @@ var KeyPointComponent = /** @class */ (function (_super) {
50045
50136
  if (nextX !== null) {
50046
50137
  newX = Math.min(nextX - epsilon, newX);
50047
50138
  }
50048
- if (this.props.keyId !== 0) {
50139
+ if (this.props.keyId !== 0 && !(this.props.context.lockLastFrameFrame && this.props.keyId === this.props.curve.keys.length - 1)) {
50049
50140
  var frame = this.props.invertX(newX);
50050
50141
  this.props.onFrameValueChanged(frame);
50051
50142
  this.props.context.onFrameSet.notifyObservers(frame);
@@ -50056,6 +50147,9 @@ var KeyPointComponent = /** @class */ (function (_super) {
50056
50147
  else {
50057
50148
  newX = this.state.x;
50058
50149
  }
50150
+ if (this.props.context.lockLastFrameValue && this.props.keyId === this.props.curve.keys.length - 1) {
50151
+ newY = this.state.y;
50152
+ }
50059
50153
  var value = this.props.invertY(newY);
50060
50154
  this.props.onKeyValueChanged(value);
50061
50155
  this.props.context.onValueSet.notifyObservers(value);
@@ -50072,9 +50166,7 @@ var KeyPointComponent = /** @class */ (function (_super) {
50072
50166
  var keys = this.props.curve.keys;
50073
50167
  var isLockedTangent = keys[this.props.keyId].lockedTangent &&
50074
50168
  this.props.keyId !== 0 &&
50075
- this.props.keyId !== keys.length - 1 &&
50076
- keys[this.props.keyId].inTangent !== undefined &&
50077
- keys[this.props.keyId].outTangent !== undefined;
50169
+ this.props.keyId !== keys.length - 1;
50078
50170
  var angleDiff = 0;
50079
50171
  var tmpVector = _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_1__["TmpVectors"].Vector2[0];
50080
50172
  if (isLockedTangent) {
@@ -50107,6 +50199,7 @@ var KeyPointComponent = /** @class */ (function (_super) {
50107
50199
  this.props.context.refreshTarget();
50108
50200
  this.forceUpdate();
50109
50201
  }
50202
+ this.props.context.onActiveKeyDataChanged.notifyObservers(this.props.keyId);
50110
50203
  this._sourcePointerX = evt.nativeEvent.offsetX;
50111
50204
  this._sourcePointerY = evt.nativeEvent.offsetY;
50112
50205
  evt.stopPropagation();
@@ -50155,24 +50248,24 @@ var KeyPointComponent = /** @class */ (function (_super) {
50155
50248
  this._outVec.normalize();
50156
50249
  this._outVec.scaleInPlace(100 * this.props.scale);
50157
50250
  return (react__WEBPACK_IMPORTED_MODULE_2__["createElement"]("svg", { ref: this._svgHost, onPointerDown: function (evt) { return _this._onPointerDown(evt); }, onPointerMove: function (evt) { return _this._onPointerMove(evt); }, onPointerUp: function (evt) { return _this._onPointerUp(evt); }, x: this.state.x, y: this.state.y, style: { cursor: "pointer", overflow: "auto" } },
50158
- react__WEBPACK_IMPORTED_MODULE_2__["createElement"]("image", { x: "-" + 8 * this.props.scale, y: "-" + 8 * this.props.scale, width: "" + 16 * this.props.scale, height: "" + 16 * this.props.scale, ref: this._keyPointSVG, href: svgImageIcon }),
50251
+ react__WEBPACK_IMPORTED_MODULE_2__["createElement"]("image", { x: "-".concat(8 * this.props.scale), y: "-".concat(8 * this.props.scale), width: "".concat(16 * this.props.scale), height: "".concat(16 * this.props.scale), ref: this._keyPointSVG, href: svgImageIcon }),
50159
50252
  this.state.selectedState === SelectionState.Selected && (react__WEBPACK_IMPORTED_MODULE_2__["createElement"]("g", null,
50160
50253
  this.props.keyId !== 0 && !hasStepTangentIn && !isColorAnimation && hasDefinedInTangent && (react__WEBPACK_IMPORTED_MODULE_2__["createElement"](react__WEBPACK_IMPORTED_MODULE_2__["Fragment"], null,
50161
- react__WEBPACK_IMPORTED_MODULE_2__["createElement"]("line", { x1: 0, y1: 0, x2: this._inVec.x + "px", y2: this._inVec.y + "px", style: {
50254
+ react__WEBPACK_IMPORTED_MODULE_2__["createElement"]("line", { x1: 0, y1: 0, x2: "".concat(this._inVec.x, "px"), y2: "".concat(this._inVec.y, "px"), style: {
50162
50255
  stroke: this.state.tangentSelectedIndex === 0 || this.state.tangentSelectedIndex === -1 ? "#F9BF00" : "#AAAAAA",
50163
- strokeWidth: "" + 1 * this.props.scale,
50256
+ strokeWidth: "".concat(1 * this.props.scale),
50164
50257
  strokeDasharray: isLockedTangent ? "" : "2, 2",
50165
50258
  } }),
50166
- react__WEBPACK_IMPORTED_MODULE_2__["createElement"]("circle", { className: "left-tangent", cx: this._inVec.x + "px", cy: this._inVec.y + "px", r: "" + 4 * this.props.scale, style: {
50259
+ react__WEBPACK_IMPORTED_MODULE_2__["createElement"]("circle", { className: "left-tangent", cx: "".concat(this._inVec.x, "px"), cy: "".concat(this._inVec.y, "px"), r: "".concat(4 * this.props.scale), style: {
50167
50260
  fill: this.state.tangentSelectedIndex === 0 || this.state.tangentSelectedIndex === -1 ? "#F9BF00" : "#AAAAAA",
50168
50261
  } }))),
50169
50262
  this.props.keyId !== keys.length - 1 && !hasStepTangentOut && !isColorAnimation && hasDefinedOutTangent && (react__WEBPACK_IMPORTED_MODULE_2__["createElement"](react__WEBPACK_IMPORTED_MODULE_2__["Fragment"], null,
50170
- react__WEBPACK_IMPORTED_MODULE_2__["createElement"]("line", { x1: 0, y1: 0, x2: this._outVec.x + "px", y2: this._outVec.y + "px", style: {
50263
+ react__WEBPACK_IMPORTED_MODULE_2__["createElement"]("line", { x1: 0, y1: 0, x2: "".concat(this._outVec.x, "px"), y2: "".concat(this._outVec.y, "px"), style: {
50171
50264
  stroke: this.state.tangentSelectedIndex === 1 || this.state.tangentSelectedIndex === -1 ? "#F9BF00" : "#AAAAAA",
50172
- strokeWidth: "" + 1 * this.props.scale,
50265
+ strokeWidth: "".concat(1 * this.props.scale),
50173
50266
  strokeDasharray: isLockedTangent ? "" : "2, 2",
50174
50267
  } }),
50175
- react__WEBPACK_IMPORTED_MODULE_2__["createElement"]("circle", { className: "right-tangent", cx: this._outVec.x + "px", cy: this._outVec.y + "px", r: "" + 4 * this.props.scale, style: {
50268
+ react__WEBPACK_IMPORTED_MODULE_2__["createElement"]("circle", { className: "right-tangent", cx: "".concat(this._outVec.x, "px"), cy: "".concat(this._outVec.y, "px"), r: "".concat(4 * this.props.scale), style: {
50176
50269
  fill: this.state.tangentSelectedIndex === 1 || this.state.tangentSelectedIndex === -1 ? "#F9BF00" : "#AAAAAA",
50177
50270
  } })))))));
50178
50271
  };
@@ -50262,7 +50355,7 @@ var PlayHeadComponent = /** @class */ (function (_super) {
50262
50355
  var keys = animation.getKeys();
50263
50356
  var minFrame = this.props.context.referenceMinFrame;
50264
50357
  var maxFrame = this.props.context.referenceMaxFrame;
50265
- return Math.max(Math.min(keys[keys.length - 1].frame, ((pixel / this._viewScale - this._offsetX) / this._GraphAbsoluteWidth) * (maxFrame - minFrame) + minFrame), keys[0].frame);
50358
+ return Math.max(((pixel / this._viewScale - this._offsetX) / this._GraphAbsoluteWidth) * (maxFrame - minFrame) + minFrame, keys[0].frame);
50266
50359
  };
50267
50360
  PlayHeadComponent.prototype.componentWillUnmount = function () {
50268
50361
  if (this._onBeforeRenderObserver) {
@@ -50274,6 +50367,7 @@ var PlayHeadComponent = /** @class */ (function (_super) {
50274
50367
  }
50275
50368
  };
50276
50369
  PlayHeadComponent.prototype._onPointerDown = function (evt) {
50370
+ evt.preventDefault();
50277
50371
  this._pointerIsDown = true;
50278
50372
  evt.currentTarget.setPointerCapture(evt.pointerId);
50279
50373
  var frame = this._pixelToFrame(evt.nativeEvent.offsetX);
@@ -50325,6 +50419,7 @@ __webpack_require__.r(__webpack_exports__);
50325
50419
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
50326
50420
 
50327
50421
 
50422
+ var tickDistance = 25; // x distance between consecutive ticks
50328
50423
  var RangeFrameBarComponent = /** @class */ (function (_super) {
50329
50424
  Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(RangeFrameBarComponent, _super);
50330
50425
  function RangeFrameBarComponent(props) {
@@ -50395,9 +50490,9 @@ var RangeFrameBarComponent = /** @class */ (function (_super) {
50395
50490
  var from = this.props.context.fromKey;
50396
50491
  var to = this.props.context.toKey;
50397
50492
  var range = to - from;
50398
- var stepCounts = Math.min(20, to - from);
50399
- var offset = (range / stepCounts) | 0;
50400
50493
  var convertRatio = range / this._viewWidth;
50494
+ var dist = tickDistance;
50495
+ var offset = Math.max(Math.floor(dist * convertRatio), 1);
50401
50496
  var steps = [];
50402
50497
  var start = from;
50403
50498
  var end = start + range;
@@ -50424,7 +50519,7 @@ var RangeFrameBarComponent = /** @class */ (function (_super) {
50424
50519
  };
50425
50520
  RangeFrameBarComponent.prototype.render = function () {
50426
50521
  var _this = this;
50427
- var viewBox = -this._offsetX + " 0 " + (this._viewWidth + this._offsetX * 4) + " 40";
50522
+ var viewBox = "".concat(-this._offsetX, " 0 ").concat(this._viewWidth + this._offsetX * 4, " 40");
50428
50523
  return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { id: "range-frame-bar" },
50429
50524
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("svg", { id: "svg-range-frames", viewBox: viewBox, ref: this._svgHost },
50430
50525
  this._buildFrames(),
@@ -50637,45 +50732,83 @@ var AddAnimationComponent = /** @class */ (function (_super) {
50637
50732
  ? this.props.context.animations[0].animation.framePerSecond
50638
50733
  : this.props.context.animations[0].framePerSecond
50639
50734
  : 60;
50735
+ var minFrame = this.props.context.referenceMinFrame;
50736
+ var maxFrame = this.props.context.referenceMaxFrame;
50737
+ if (this.props.context.animations) {
50738
+ for (var _i = 0, _a = this.props.context.animations; _i < _a.length; _i++) {
50739
+ var anim = _a[_i];
50740
+ var innerAnim = this.props.context.useTargetAnimations ? anim.animation : anim;
50741
+ minFrame = Math.min(minFrame, innerAnim.getKeys()[0].frame);
50742
+ maxFrame = Math.max(maxFrame, innerAnim.getKeys()[innerAnim.getKeys().length - 1].frame);
50743
+ }
50744
+ }
50640
50745
  var dataType = 0;
50641
50746
  var loopMode = 0;
50642
50747
  var defaultValue0;
50643
50748
  var defaultValue1;
50749
+ var defaultInTangent0;
50750
+ var defaultOutTangent0;
50751
+ var defaultInTangent1;
50752
+ var defaultOutTangent1;
50644
50753
  switch (type) {
50645
50754
  case "Float": {
50646
50755
  dataType = _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_2__["Animation"].ANIMATIONTYPE_FLOAT;
50647
50756
  defaultValue0 = 0;
50648
50757
  defaultValue1 = 1;
50758
+ defaultInTangent0 = 0;
50759
+ defaultOutTangent0 = 0;
50760
+ defaultInTangent1 = 0;
50761
+ defaultOutTangent1 = 0;
50649
50762
  break;
50650
50763
  }
50651
50764
  case "Vector2": {
50652
50765
  dataType = _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_2__["Animation"].ANIMATIONTYPE_VECTOR2;
50653
50766
  defaultValue0 = _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_2__["Vector2"].Zero();
50654
50767
  defaultValue1 = new _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_2__["Vector2"](1, 1);
50768
+ defaultInTangent0 = new _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_2__["Vector2"](0, 0);
50769
+ defaultOutTangent0 = new _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_2__["Vector2"](0, 0);
50770
+ defaultInTangent1 = new _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_2__["Vector2"](0, 0);
50771
+ defaultOutTangent1 = new _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_2__["Vector2"](0, 0);
50655
50772
  break;
50656
50773
  }
50657
50774
  case "Vector3": {
50658
50775
  dataType = _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_2__["Animation"].ANIMATIONTYPE_VECTOR3;
50659
50776
  defaultValue0 = _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_2__["Vector3"].Zero();
50660
50777
  defaultValue1 = new _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_2__["Vector3"](1, 1, 1);
50778
+ defaultInTangent0 = new _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_2__["Vector3"](0, 0, 0);
50779
+ defaultOutTangent0 = new _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_2__["Vector3"](0, 0, 0);
50780
+ defaultInTangent1 = new _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_2__["Vector3"](0, 0, 0);
50781
+ defaultOutTangent1 = new _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_2__["Vector3"](0, 0, 0);
50661
50782
  break;
50662
50783
  }
50663
50784
  case "Quaternion": {
50664
50785
  dataType = _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_2__["Animation"].ANIMATIONTYPE_QUATERNION;
50665
50786
  defaultValue0 = _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_2__["Quaternion"].Zero();
50666
50787
  defaultValue1 = new _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_2__["Quaternion"](1, 1, 1, 0);
50788
+ defaultInTangent0 = new _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_2__["Quaternion"](0, 0, 0, 0);
50789
+ defaultOutTangent0 = new _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_2__["Quaternion"](0, 0, 0, 0);
50790
+ defaultInTangent1 = new _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_2__["Quaternion"](0, 0, 0, 0);
50791
+ defaultOutTangent1 = new _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_2__["Quaternion"](0, 0, 0, 0);
50667
50792
  break;
50668
50793
  }
50669
50794
  case "Color3": {
50670
50795
  dataType = _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_2__["Animation"].ANIMATIONTYPE_COLOR3;
50671
50796
  defaultValue0 = _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_2__["Color3"].Black();
50672
50797
  defaultValue1 = _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_2__["Color3"].White();
50798
+ defaultInTangent0 = new _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_2__["Color3"](0, 0, 0);
50799
+ defaultOutTangent0 = new _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_2__["Color3"](0, 0, 0);
50800
+ defaultInTangent1 = new _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_2__["Color3"](0, 0, 0);
50801
+ defaultOutTangent1 = new _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_2__["Color3"](0, 0, 0);
50673
50802
  break;
50674
50803
  }
50675
50804
  case "Color4": {
50676
50805
  dataType = _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_2__["Animation"].ANIMATIONTYPE_COLOR4;
50677
50806
  defaultValue0 = new _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_2__["Color4"](0, 0, 0, 0);
50678
50807
  defaultValue1 = new _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_2__["Color4"](1, 1, 1, 1);
50808
+ defaultInTangent0 = new _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_2__["Color4"](0, 0, 0, 0);
50809
+ defaultOutTangent0 = new _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_2__["Color4"](0, 0, 0, 0);
50810
+ defaultInTangent1 = new _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_2__["Color4"](0, 0, 0, 0);
50811
+ defaultOutTangent1 = new _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_2__["Color4"](0, 0, 0, 0);
50679
50812
  break;
50680
50813
  }
50681
50814
  }
@@ -50696,12 +50829,16 @@ var AddAnimationComponent = /** @class */ (function (_super) {
50696
50829
  var animation = new _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_2__["Animation"](displayName, property, fps, dataType, loopMode);
50697
50830
  var keys = [];
50698
50831
  keys.push({
50699
- frame: context.referenceMinFrame,
50832
+ frame: minFrame,
50700
50833
  value: defaultValue0,
50834
+ inTangent: defaultInTangent0,
50835
+ outTangent: defaultOutTangent0
50701
50836
  });
50702
50837
  keys.push({
50703
- frame: context.referenceMaxFrame,
50838
+ frame: maxFrame,
50704
50839
  value: defaultValue1,
50840
+ inTangent: defaultInTangent1,
50841
+ outTangent: defaultOutTangent1
50705
50842
  });
50706
50843
  animation.setKeys(keys);
50707
50844
  context.stop();
@@ -50716,7 +50853,7 @@ var AddAnimationComponent = /** @class */ (function (_super) {
50716
50853
  }
50717
50854
  context.activeAnimations.push(animation);
50718
50855
  context.prepare();
50719
- context.onActiveAnimationChanged.notifyObservers();
50856
+ context.onActiveAnimationChanged.notifyObservers({});
50720
50857
  context.onAnimationsLoaded.notifyObservers();
50721
50858
  };
50722
50859
  AddAnimationComponent.prototype.getInferredType = function (activeProperty) {
@@ -50915,7 +51052,7 @@ var AnimationEntryComponent = /** @class */ (function (_super) {
50915
51052
  to: this.props.context.getAnimationSortIndex(this.props.animation),
50916
51053
  };
50917
51054
  this.props.context.onSelectToActivated.notifyObservers(payload);
50918
- this.props.context.onActiveAnimationChanged.notifyObservers();
51055
+ this.props.context.onActiveAnimationChanged.notifyObservers({});
50919
51056
  }
50920
51057
  return;
50921
51058
  }
@@ -50933,7 +51070,7 @@ var AnimationEntryComponent = /** @class */ (function (_super) {
50933
51070
  }
50934
51071
  }
50935
51072
  this.props.context.disableChannel(this.props.animation);
50936
- this.props.context.onActiveAnimationChanged.notifyObservers();
51073
+ this.props.context.onActiveAnimationChanged.notifyObservers({});
50937
51074
  };
50938
51075
  AnimationEntryComponent.prototype._expandOrCollapse = function () {
50939
51076
  this.setState({ isExpanded: !this.state.isExpanded });
@@ -51068,7 +51205,7 @@ var AnimationSubEntryComponent = /** @class */ (function (_super) {
51068
51205
  }
51069
51206
  }
51070
51207
  _this.state = { isSelected: isSelected };
51071
- _this._onActiveAnimationChangedObserver = props.context.onActiveAnimationChanged.add(function (animation) {
51208
+ _this._onActiveAnimationChangedObserver = props.context.onActiveAnimationChanged.add(function () {
51072
51209
  _this.forceUpdate();
51073
51210
  });
51074
51211
  _this._onActiveKeyPointChangedObserver = _this.props.context.onActiveKeyPointChanged.add(function () {
@@ -51111,7 +51248,7 @@ var AnimationSubEntryComponent = /** @class */ (function (_super) {
51111
51248
  }
51112
51249
  }
51113
51250
  this.props.context.enableChannel(this.props.animation, this.props.color);
51114
- this.props.context.onActiveAnimationChanged.notifyObservers();
51251
+ this.props.context.onActiveAnimationChanged.notifyObservers({});
51115
51252
  };
51116
51253
  AnimationSubEntryComponent.prototype.render = function () {
51117
51254
  var _this = this;
@@ -51289,7 +51426,7 @@ var LoadAnimationComponent = /** @class */ (function (_super) {
51289
51426
  context.activeAnimations = animations.length ? animations : [];
51290
51427
  context.prepare();
51291
51428
  context.onAnimationsLoaded.notifyObservers();
51292
- context.onActiveAnimationChanged.notifyObservers();
51429
+ context.onActiveAnimationChanged.notifyObservers({});
51293
51430
  }, undefined, true);
51294
51431
  evt.target.value = "";
51295
51432
  };
@@ -51311,7 +51448,7 @@ var LoadAnimationComponent = /** @class */ (function (_super) {
51311
51448
  context.activeAnimations = context.animations.length ? context.animations : [];
51312
51449
  context.prepare();
51313
51450
  context.onAnimationsLoaded.notifyObservers();
51314
- context.onActiveAnimationChanged.notifyObservers();
51451
+ context.onActiveAnimationChanged.notifyObservers({});
51315
51452
  })
51316
51453
  .catch(function (err) {
51317
51454
  var _a;
@@ -51413,7 +51550,7 @@ var SaveAnimationComponent = /** @class */ (function (_super) {
51413
51550
  hostDocument.defaultView.alert("Animations saved with ID: " + _this.props.context.snippetId);
51414
51551
  }
51415
51552
  else {
51416
- hostDocument.defaultView.alert("Unable to save your animations. It may be too large (" + (dataToSend.payload.length / 1024).toFixed(2) + " KB). Please try reducing the number of animations or the number of keys per animation and try again.");
51553
+ hostDocument.defaultView.alert("Unable to save your animations. It may be too large (".concat((dataToSend.payload.length / 1024).toFixed(2), " KB). Please try reducing the number of animations or the number of keys per animation and try again."));
51417
51554
  }
51418
51555
  }
51419
51556
  };
@@ -51520,7 +51657,7 @@ var SideBarComponent = /** @class */ (function (_super) {
51520
51657
  var indexInActiveList = _this.props.context.activeAnimations.indexOf(animationToDelete);
51521
51658
  if (indexInActiveList !== -1) {
51522
51659
  _this.props.context.activeAnimations.splice(indexInActiveList, 1);
51523
- _this.props.context.onActiveAnimationChanged.notifyObservers();
51660
+ _this.props.context.onActiveAnimationChanged.notifyObservers({});
51524
51661
  }
51525
51662
  var index = -1;
51526
51663
  if (_this.props.context.useTargetAnimations) {
@@ -51641,7 +51778,7 @@ var TopBarComponent = /** @class */ (function (_super) {
51641
51778
  Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(TopBarComponent, _super);
51642
51779
  function TopBarComponent(props) {
51643
51780
  var _this = _super.call(this, props) || this;
51644
- _this.state = { keyFrameValue: "", keyValue: "", editControlsVisible: false };
51781
+ _this.state = { keyFrameValue: "", keyValue: "", frameControlEnabled: false, valueControlEnabled: false };
51645
51782
  _this._onFrameSetObserver = _this.props.context.onFrameSet.add(function (newFrameValue) {
51646
51783
  _this.setState({ keyFrameValue: newFrameValue.toFixed(0) });
51647
51784
  });
@@ -51652,8 +51789,12 @@ var TopBarComponent = /** @class */ (function (_super) {
51652
51789
  _this.setState({ keyFrameValue: "", keyValue: "" });
51653
51790
  });
51654
51791
  _this.onActiveKeyPointChanged = _this.props.context.onActiveKeyPointChanged.add(function () {
51655
- var _a;
51656
- _this.setState({ keyFrameValue: "", keyValue: "", editControlsVisible: ((_a = _this.props.context.activeKeyPoints) === null || _a === void 0 ? void 0 : _a.length) === 1 });
51792
+ var _a, _b;
51793
+ var numKeys = ((_a = _this.props.context.activeKeyPoints) === null || _a === void 0 ? void 0 : _a.length) || 0;
51794
+ var numAnims = new Set((_b = _this.props.context.activeKeyPoints) === null || _b === void 0 ? void 0 : _b.map(function (keyPointComponent) { return keyPointComponent.props.curve.animation.uniqueId; })).size;
51795
+ var frameControlEnabled = (numKeys === 1 && numAnims === 1) || (numKeys > 1 && numAnims > 1);
51796
+ var valueControlEnabled = numKeys > 0;
51797
+ _this.setState({ keyFrameValue: "", keyValue: "", frameControlEnabled: frameControlEnabled, valueControlEnabled: valueControlEnabled });
51657
51798
  });
51658
51799
  return _this;
51659
51800
  }
@@ -51677,8 +51818,8 @@ var TopBarComponent = /** @class */ (function (_super) {
51677
51818
  return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { id: "top-bar" },
51678
51819
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("img", { id: "top-bar-logo", src: logoIcon }),
51679
51820
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { id: "top-bar-parent-name" }, this.props.context.title),
51680
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_controls_textInputComponent__WEBPACK_IMPORTED_MODULE_3__["TextInputComponent"], { className: hasActiveAnimations && this.state.editControlsVisible ? "" : "disabled", isNumber: true, value: this.state.keyFrameValue, tooltip: "Frame", id: "key-frame", onValueAsNumberChanged: function (newValue) { return _this.props.context.onFrameManuallyEntered.notifyObservers(newValue); }, globalState: this.props.globalState, context: this.props.context }),
51681
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_controls_textInputComponent__WEBPACK_IMPORTED_MODULE_3__["TextInputComponent"], { className: hasActiveAnimations && this.state.editControlsVisible ? "" : "disabled", isNumber: true, value: this.state.keyValue, tooltip: "Value", id: "key-value", onValueAsNumberChanged: function (newValue) { return _this.props.context.onValueManuallyEntered.notifyObservers(newValue); }, globalState: this.props.globalState, context: this.props.context }),
51821
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_controls_textInputComponent__WEBPACK_IMPORTED_MODULE_3__["TextInputComponent"], { className: hasActiveAnimations && this.state.frameControlEnabled ? "" : "disabled", isNumber: true, value: this.state.keyFrameValue, tooltip: "Frame", id: "key-frame", onValueAsNumberChanged: function (newValue) { return _this.props.context.onFrameManuallyEntered.notifyObservers(newValue); }, globalState: this.props.globalState, context: this.props.context }),
51822
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_controls_textInputComponent__WEBPACK_IMPORTED_MODULE_3__["TextInputComponent"], { className: hasActiveAnimations && this.state.valueControlEnabled ? "" : "disabled", isNumber: true, value: this.state.keyValue, tooltip: "Value", id: "key-value", onValueAsNumberChanged: function (newValue) { return _this.props.context.onValueManuallyEntered.notifyObservers(newValue); }, globalState: this.props.globalState, context: this.props.context }),
51682
51823
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_controls_actionButtonComponent__WEBPACK_IMPORTED_MODULE_2__["ActionButtonComponent"], { className: hasActiveAnimations ? "" : "disabled", tooltip: "New key", id: "new-key", globalState: this.props.globalState, context: this.props.context, icon: newKeyIcon, onClick: function () { return _this.props.context.onCreateOrUpdateKeyPointRequired.notifyObservers(); } }),
51683
51824
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_controls_actionButtonComponent__WEBPACK_IMPORTED_MODULE_2__["ActionButtonComponent"], { tooltip: "Frame canvas", id: "frame-canvas", globalState: this.props.globalState, context: this.props.context, icon: frameIcon, onClick: function () { return _this.props.context.onFrameRequired.notifyObservers(); } }),
51684
51825
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_controls_actionButtonComponent__WEBPACK_IMPORTED_MODULE_2__["ActionButtonComponent"], { className: this.props.context.activeKeyPoints && this.props.context.activeKeyPoints.length > 0 ? "" : "disabled", tooltip: "Flatten tangent", id: "flatten-tangent", globalState: this.props.globalState, context: this.props.context, icon: flatTangentIcon, onClick: function () { return _this.props.context.onFlattenTangentRequired.notifyObservers(); } }),
@@ -52178,7 +52319,7 @@ var CustomPropertyGridComponent = /** @class */ (function (_super) {
52178
52319
  case _babylonjs_core_Misc_iInspectable__WEBPACK_IMPORTED_MODULE_3__["InspectableType"].Options:
52179
52320
  return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_optionsLineComponent__WEBPACK_IMPORTED_MODULE_11__["OptionsLineComponent"], { key: inspectable.label, label: inspectable.label, target: this.props.target, propertyName: inspectable.propertyName, options: inspectable.options || [], onSelect: inspectable.callback ||
52180
52321
  function (value) {
52181
- console.log("Option " + value + " is selected");
52322
+ console.log("Option ".concat(value, " is selected"));
52182
52323
  } }));
52183
52324
  case _babylonjs_core_Misc_iInspectable__WEBPACK_IMPORTED_MODULE_3__["InspectableType"].Tab:
52184
52325
  return react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_textLineComponent__WEBPACK_IMPORTED_MODULE_12__["TextLineComponent"], { key: inspectable.label, label: inspectable.label, value: " " });
@@ -53729,7 +53870,7 @@ __webpack_require__.r(__webpack_exports__);
53729
53870
  /* harmony import */ var _sharedUiComponents_lines_optionsLineComponent__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../../../../sharedUiComponents/lines/optionsLineComponent */ "./sharedUiComponents/lines/optionsLineComponent.tsx");
53730
53871
  /* harmony import */ var _sharedUiComponents_lines_fileButtonLineComponent__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../../../../sharedUiComponents/lines/fileButtonLineComponent */ "./sharedUiComponents/lines/fileButtonLineComponent.tsx");
53731
53872
  /* harmony import */ var _sharedUiComponents_lines_valueLineComponent__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../../../../sharedUiComponents/lines/valueLineComponent */ "./sharedUiComponents/lines/valueLineComponent.tsx");
53732
- /* harmony import */ var _babylonjs_gui_2D_adtInstrumentation__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @babylonjs/gui/2D/adtInstrumentation */ "@babylonjs/gui/2D/controls/control");
53873
+ /* harmony import */ var _babylonjs_gui_2D_adtInstrumentation__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @babylonjs/gui/2D/adtInstrumentation */ "@babylonjs/gui/2D/controls/image");
53733
53874
  /* harmony import */ var _babylonjs_gui_2D_adtInstrumentation__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(_babylonjs_gui_2D_adtInstrumentation__WEBPACK_IMPORTED_MODULE_12__);
53734
53875
  /* harmony import */ var _customPropertyGridComponent__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../customPropertyGridComponent */ "./components/actionTabs/tabs/propertyGrids/customPropertyGridComponent.tsx");
53735
53876
  /* harmony import */ var _sharedUiComponents_lines_buttonLineComponent__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../../../../sharedUiComponents/lines/buttonLineComponent */ "./sharedUiComponents/lines/buttonLineComponent.tsx");
@@ -54358,12 +54499,12 @@ var ChannelsBar = /** @class */ (function (_super) {
54358
54499
  var newChannels = _this.props.channels;
54359
54500
  newChannels[index].visible = !newChannels[index].visible;
54360
54501
  _this.props.setChannels(newChannels);
54361
- }, src: channel.visible ? eyeOpen : eyeClosed, title: visTip + " " + channel.name }),
54502
+ }, src: channel.visible ? eyeOpen : eyeClosed, title: "".concat(visTip, " ").concat(channel.name) }),
54362
54503
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("img", { className: "icon channel-name", onClick: function () {
54363
54504
  var newChannels = _this.props.channels;
54364
54505
  newChannels[index].editable = !newChannels[index].editable;
54365
54506
  _this.props.setChannels(newChannels);
54366
- }, src: channel.icon, title: editTip + " " + channel.name })));
54507
+ }, src: channel.icon, title: "".concat(editTip, " ").concat(channel.name) })));
54367
54508
  })));
54368
54509
  };
54369
54510
  return ChannelsBar;
@@ -55846,7 +55987,7 @@ var TextureEditorComponent = /** @class */ (function (_super) {
55846
55987
  cursor = "pointer";
55847
55988
  }
55848
55989
  else if (currentTool && currentTool.cursor) {
55849
- cursor = "url(data:image/png;base64," + currentTool.cursor + ") 10 10, auto";
55990
+ cursor = "url(data:image/png;base64,".concat(currentTool.cursor, ") 10 10, auto");
55850
55991
  }
55851
55992
  return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { id: "texture-editor", onPointerDown: this.onPointerDown, style: { cursor: cursor } },
55852
55993
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_propertiesBar__WEBPACK_IMPORTED_MODULE_4__["PropertiesBar"], { texture: this.props.texture, saveTexture: this.saveTexture, pixelData: this.state.pixelData, face: this.state.face, setFace: function (face) { return _this.setState({ face: face }); }, resetTexture: this.resetTexture, resizeTexture: this.resizeTexture, uploadTexture: this.uploadTexture, mipLevel: this.state.mipLevel, setMipLevel: function (mipLevel) { return _this.setState({ mipLevel: mipLevel }); }, size: ((_b = this._textureCanvasManager) === null || _b === void 0 ? void 0 : _b.size) || this.props.texture.getSize() }),
@@ -55899,7 +56040,7 @@ var ToolBar = /** @class */ (function (_super) {
55899
56040
  ToolBar.prototype.computeRGBAColor = function () {
55900
56041
  var opacityInt = Math.floor(this.props.metadata.alpha * 255);
55901
56042
  var opacityHex = opacityInt.toString(16).padStart(2, "0");
55902
- return _babylonjs_core_Maths_math_color__WEBPACK_IMPORTED_MODULE_2__["Color4"].FromHexString("" + this.props.metadata.color + opacityHex);
56043
+ return _babylonjs_core_Maths_math_color__WEBPACK_IMPORTED_MODULE_2__["Color4"].FromHexString("".concat(this.props.metadata.color).concat(opacityHex));
55903
56044
  };
55904
56045
  ToolBar.prototype.shouldComponentUpdate = function (nextProps) {
55905
56046
  return (nextProps.tools != this.props.tools ||
@@ -55911,7 +56052,7 @@ var ToolBar = /** @class */ (function (_super) {
55911
56052
  var _this = this;
55912
56053
  return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { id: "toolbar" },
55913
56054
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { id: "tools" }, this.props.tools.map(function (item, index) {
55914
- return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("img", { src: "data:image/svg+xml;base64," + item.icon, className: index === _this.props.activeToolIndex ? "icon button active" : "icon button", alt: item.name, title: item.name, onClick: function (evt) {
56055
+ return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("img", { src: "data:image/svg+xml;base64,".concat(item.icon), className: index === _this.props.activeToolIndex ? "icon button active" : "icon button", alt: item.name, title: item.name, onClick: function (evt) {
55915
56056
  if (evt.button === 0) {
55916
56057
  _this.props.changeTool(index);
55917
56058
  }
@@ -55920,7 +56061,7 @@ var ToolBar = /** @class */ (function (_super) {
55920
56061
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { id: "color", onClick: function () {
55921
56062
  if (!_this.props.pickerOpen)
55922
56063
  _this.props.setPickerOpen(true);
55923
- }, title: "Color", className: "icon button" + (this.props.pickerOpen ? " active" : "") },
56064
+ }, title: "Color", className: "icon button".concat(this.props.pickerOpen ? " active" : "") },
55924
56065
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { id: "active-color-bg" },
55925
56066
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { id: "active-color", style: { backgroundColor: this.props.metadata.color, opacity: this.props.metadata.alpha } }))),
55926
56067
  this.props.pickerOpen && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { id: "color-picker", ref: this.props.pickerRef },
@@ -56637,13 +56778,6 @@ var SkeletonPropertyGridComponent = /** @class */ (function (_super) {
56637
56778
  }
56638
56779
  return true;
56639
56780
  };
56640
- SkeletonPropertyGridComponent.prototype.onOverrideMeshLink = function () {
56641
- if (!this.props.globalState.onSelectionChangedObservable) {
56642
- return;
56643
- }
56644
- var skeleton = this.props.skeleton;
56645
- this.props.globalState.onSelectionChangedObservable.notifyObservers(skeleton.overrideMesh);
56646
- };
56647
56781
  SkeletonPropertyGridComponent.prototype.render = function () {
56648
56782
  var _this = this;
56649
56783
  var skeleton = this.props.skeleton;
@@ -56679,7 +56813,6 @@ var SkeletonPropertyGridComponent = /** @class */ (function (_super) {
56679
56813
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__["LineContainerComponent"], { title: "GENERAL", selection: this.props.globalState },
56680
56814
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_textLineComponent__WEBPACK_IMPORTED_MODULE_4__["TextLineComponent"], { label: "ID", value: skeleton.id }),
56681
56815
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_textLineComponent__WEBPACK_IMPORTED_MODULE_4__["TextLineComponent"], { label: "Bone count", value: skeleton.bones.length.toString() }),
56682
- skeleton.overrideMesh && react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_textLineComponent__WEBPACK_IMPORTED_MODULE_4__["TextLineComponent"], { label: "Override mesh", value: skeleton.overrideMesh.name, onLink: function () { return _this.onOverrideMeshLink(); } }),
56683
56816
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_3__["CheckBoxLineComponent"], { label: "Use texture to store matrices", target: skeleton, propertyName: "useTextureToStoreBoneMatrices", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
56684
56817
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_buttonLineComponent__WEBPACK_IMPORTED_MODULE_10__["ButtonLineComponent"], { label: "Return to rest", onClick: function () { return skeleton.returnToRest(); } })),
56685
56818
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__["LineContainerComponent"], { title: "DEBUG", selection: this.props.globalState },
@@ -56878,7 +57011,7 @@ var ColorGradientStepGridComponent = /** @class */ (function (_super) {
56878
57011
  var _this = this;
56879
57012
  var gradient = this.props.gradient;
56880
57013
  return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "gradient-step" },
56881
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "step" }, "#" + this.props.lineIndex),
57014
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "step" }, "#".concat(this.props.lineIndex)),
56882
57015
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "color1" },
56883
57016
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_colorPickerComponent__WEBPACK_IMPORTED_MODULE_5__["ColorPickerLineComponent"], { value: gradient instanceof _babylonjs_core_Misc_gradients__WEBPACK_IMPORTED_MODULE_4__["Color3Gradient"] ? gradient.color : gradient.color1, onColorChanged: function (color) {
56884
57017
  _this.updateColor1(color);
@@ -57065,7 +57198,7 @@ var FactorGradientStepGridComponent = /** @class */ (function (_super) {
57065
57198
  var _this = this;
57066
57199
  var gradient = this.props.gradient;
57067
57200
  return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "gradient-step" },
57068
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "step" }, "#" + this.props.lineIndex),
57201
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "step" }, "#".concat(this.props.lineIndex)),
57069
57202
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "factor1" },
57070
57203
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("input", { type: "number", step: "0.01", className: "numeric-input", value: this.state.factor1, onBlur: function () { return _this.unlock(); }, onFocus: function () { return _this.lock(); }, onChange: function (evt) { return _this.updateFactor1(evt.target.value); } })),
57071
57204
  this.props.host instanceof _babylonjs_core_Particles_particleSystem__WEBPACK_IMPORTED_MODULE_4__["ParticleSystem"] && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "factor2" },
@@ -57365,8 +57498,8 @@ var ParticleSystemPropertyGridComponent = /** @class */ (function (_super) {
57365
57498
  var windowAsAny = window;
57366
57499
  if (windowAsAny.Playground && oldId) {
57367
57500
  windowAsAny.Playground.onRequestCodeChangeObservable.notifyObservers({
57368
- regex: new RegExp("ParticleHelper.CreateFromSnippetAsync\\(\"" + oldId, "g"),
57369
- replace: "ParticleHelper.CreateFromSnippetAsync(\"" + system.snippetId,
57501
+ regex: new RegExp("ParticleHelper.CreateFromSnippetAsync\\(\"".concat(oldId), "g"),
57502
+ replace: "ParticleHelper.CreateFromSnippetAsync(\"".concat(system.snippetId),
57370
57503
  });
57371
57504
  }
57372
57505
  alert("Particle system saved with ID: " + system.snippetId + " (please note that the id was also saved to your clipboard)");
@@ -57777,7 +57910,7 @@ var ValueGradientGridComponent = /** @class */ (function (_super) {
57777
57910
  _this.updateAndSync();
57778
57911
  }, buttonLabel: "Add new step", onClick: function () { return _this.addNewStep(); } }),
57779
57912
  gradients.map(function (g, i) {
57780
- var codeRecorderPropertyName = _this.props.codeRecorderPropertyName + ("[" + i + "]");
57913
+ var codeRecorderPropertyName = _this.props.codeRecorderPropertyName + "[".concat(i, "]");
57781
57914
  switch (_this.props.mode) {
57782
57915
  case GradientGridMode.Factor:
57783
57916
  return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_factorGradientStepGridComponent__WEBPACK_IMPORTED_MODULE_4__["FactorGradientStepGridComponent"], { globalState: _this.props.globalState, lockObject: _this.props.lockObject, onCheckForReOrder: function () { return _this.checkForReOrder(); }, onUpdateGradient: function () { return _this.updateAndSync(); }, host: _this.props.host, codeRecorderPropertyName: codeRecorderPropertyName, key: "step-" + i, lineIndex: i, gradient: g, onDelete: function () { return _this.deleteStep(g); } }));
@@ -58679,8 +58812,8 @@ var SpriteManagerPropertyGridComponent = /** @class */ (function (_super) {
58679
58812
  var windowAsAny = window;
58680
58813
  if (windowAsAny.Playground && oldId) {
58681
58814
  windowAsAny.Playground.onRequestCodeChangeObservable.notifyObservers({
58682
- regex: new RegExp("SpriteManager.CreateFromSnippetAsync\\(\"" + oldId, "g"),
58683
- replace: "SpriteManager.CreateFromSnippetAsync(\"" + spriteManager.snippetId,
58815
+ regex: new RegExp("SpriteManager.CreateFromSnippetAsync\\(\"".concat(oldId), "g"),
58816
+ replace: "SpriteManager.CreateFromSnippetAsync(\"".concat(spriteManager.snippetId),
58684
58817
  });
58685
58818
  }
58686
58819
  alert("Sprite manager saved with ID: " + spriteManager.snippetId + " (please note that the id was also saved to your clipboard)");
@@ -59220,9 +59353,9 @@ var GLTFComponent = /** @class */ (function (_super) {
59220
59353
  };
59221
59354
  GLTFComponent.prototype.prepareText = function (singularForm, count) {
59222
59355
  if (count) {
59223
- return count + " " + singularForm + "s";
59356
+ return "".concat(count, " ").concat(singularForm, "s");
59224
59357
  }
59225
- return "" + singularForm;
59358
+ return "".concat(singularForm);
59226
59359
  };
59227
59360
  GLTFComponent.prototype.componentDidMount = function () {
59228
59361
  var _this = this;
@@ -59537,7 +59670,11 @@ var ToolsTabComponent = /** @class */ (function (_super) {
59537
59670
  filesInputAnimation.loadFiles(event);
59538
59671
  };
59539
59672
  ToolsTabComponent.prototype.shouldExport = function (node) {
59540
- // No skybox
59673
+ // Exclude disabled
59674
+ if (!node.isEnabled()) {
59675
+ return false;
59676
+ }
59677
+ // Exclude skybox
59541
59678
  if (node instanceof _babylonjs_core_Misc_videoRecorder__WEBPACK_IMPORTED_MODULE_5__["Mesh"]) {
59542
59679
  if (node.material) {
59543
59680
  var material = node.material;
@@ -60056,12 +60193,16 @@ __webpack_require__.r(__webpack_exports__);
60056
60193
 
60057
60194
 
60058
60195
  var CanvasGraphComponent = function (props) {
60059
- var id = props.id, collector = props.collector, scene = props.scene, layoutObservable = props.layoutObservable, returnToPlayheadObservable = props.returnToPlayheadObservable, onVisibleRangeChangedObservable = props.onVisibleRangeChangedObservable;
60196
+ var id = props.id, collector = props.collector, scene = props.scene, layoutObservable = props.layoutObservable, returnToPlayheadObservable = props.returnToPlayheadObservable, onVisibleRangeChangedObservable = props.onVisibleRangeChangedObservable, initialGraphSize = props.initialGraphSize;
60060
60197
  var canvasRef = Object(react__WEBPACK_IMPORTED_MODULE_0__["useRef"])(null);
60061
60198
  Object(react__WEBPACK_IMPORTED_MODULE_0__["useEffect"])(function () {
60062
60199
  if (!canvasRef.current) {
60063
60200
  return;
60064
60201
  }
60202
+ if (initialGraphSize) {
60203
+ canvasRef.current.width = initialGraphSize.width;
60204
+ canvasRef.current.height = initialGraphSize.height;
60205
+ }
60065
60206
  var cs;
60066
60207
  try {
60067
60208
  cs = new _canvasGraphService__WEBPACK_IMPORTED_MODULE_1__["CanvasGraphService"](canvasRef.current, { datasets: collector.datasets, onVisibleRangeChangedObservable: onVisibleRangeChangedObservable });
@@ -60174,9 +60315,11 @@ var tooltipDebounceTime = 32;
60174
60315
  // time in ms to wait between draws
60175
60316
  var drawThrottleTime = 15;
60176
60317
  // What distance percentage in the x axis between two points makes us break the line and draw a "no data" box instead
60177
- var maxXDistancePercBetweenLinePoints = 0.10;
60318
+ var maxXDistancePercBetweenLinePoints = 0.1;
60178
60319
  // Color used to draw the rectangle that indicates no collection of data
60179
60320
  var noDataRectangleColor = "#aaaaaa";
60321
+ var smoothingFactor = 0.2; // factor to smooth the graph with
60322
+ var rangeMargin = 0.1; // extra margin to expand the min/max range on the graph
60180
60323
  /**
60181
60324
  * This function will debounce calls to functions.
60182
60325
  *
@@ -60233,6 +60376,8 @@ var CanvasGraphService = /** @class */ (function () {
60233
60376
  * This method lets the service know it should get ready to update what it is displaying.
60234
60377
  */
60235
60378
  this.update = throttle(function () { return _this._draw(); }, drawThrottleTime);
60379
+ this._prevPointById = new Map();
60380
+ this._prevValueById = new Map();
60236
60381
  /**
60237
60382
  * Handles what to do when we are hovering over the canvas and not panning.
60238
60383
  *
@@ -60321,6 +60466,8 @@ var CanvasGraphService = /** @class */ (function () {
60321
60466
  _this._panPosition.delta = 0;
60322
60467
  }
60323
60468
  _this._panPosition.xPos = event.clientX;
60469
+ _this._prevPointById.clear();
60470
+ _this._prevValueById.clear();
60324
60471
  };
60325
60472
  /**
60326
60473
  * Clears the panning object and removes the appropriate listener.
@@ -60465,14 +60612,15 @@ var CanvasGraphService = /** @class */ (function () {
60465
60612
  this.datasets.ids.forEach(function (id, idOffset) {
60466
60613
  var _a, _b;
60467
60614
  var valueMinMax;
60468
- // we have already calculated the min and max while getting the tickers, so use those.
60615
+ var prevPoint = _this._prevPointById.get(id);
60616
+ var prevValue = _this._prevValueById.get(id);
60617
+ var ticker = false;
60469
60618
  for (var i = 0; i < _this._numberOfTickers; i++) {
60470
60619
  if (_this._tickerItems[i].id === id) {
60471
- valueMinMax = _this._tickerItems[i];
60620
+ ticker = true;
60472
60621
  }
60473
60622
  }
60474
- // if we could not find the min max object it must be hidden so we skip.
60475
- if (!valueMinMax) {
60623
+ if (!ticker) {
60476
60624
  return;
60477
60625
  }
60478
60626
  ctx.beginPath();
@@ -60484,19 +60632,42 @@ var CanvasGraphService = /** @class */ (function () {
60484
60632
  else if (_this._preprocessedTooltipInfo.focusedId !== "") {
60485
60633
  ctx.globalAlpha = backgroundLineAlpha;
60486
60634
  }
60487
- var prevPoint;
60635
+ var values = new Array(_this._datasetBounds.end - _this._datasetBounds.start);
60488
60636
  for (var pointIndex = _this._datasetBounds.start; pointIndex < _this._datasetBounds.end; pointIndex++) {
60489
60637
  var numPoints = _this.datasets.data.at(_this.datasets.startingIndices.at(pointIndex) + _babylonjs_core_Maths_math_scalar__WEBPACK_IMPORTED_MODULE_1__["PerformanceViewerCollector"].NumberOfPointsOffset);
60490
60638
  if (idOffset >= numPoints) {
60491
60639
  continue;
60492
60640
  }
60493
60641
  var valueIndex = _this.datasets.startingIndices.at(pointIndex) + _babylonjs_core_Maths_math_scalar__WEBPACK_IMPORTED_MODULE_1__["PerformanceViewerCollector"].SliceDataOffset + idOffset;
60494
- var timestamp = _this.datasets.data.at(_this.datasets.startingIndices.at(pointIndex));
60495
60642
  var value = _this.datasets.data.at(valueIndex);
60643
+ if (prevValue === undefined) {
60644
+ prevValue = value;
60645
+ _this._prevValueById.set(id, prevValue);
60646
+ }
60647
+ // perform smoothing
60648
+ var smoothedValue = smoothingFactor * value + (1 - smoothingFactor) * prevValue;
60649
+ values[pointIndex - _this._datasetBounds.start] = smoothedValue;
60650
+ if (!valueMinMax) {
60651
+ valueMinMax = {
60652
+ min: smoothedValue,
60653
+ max: smoothedValue
60654
+ };
60655
+ }
60656
+ _this._prevValueById.set(id, smoothedValue);
60657
+ valueMinMax.min = Math.min(valueMinMax.min, smoothedValue);
60658
+ valueMinMax.max = Math.max(valueMinMax.max, smoothedValue);
60659
+ }
60660
+ var delta = valueMinMax.max - valueMinMax.min;
60661
+ valueMinMax.min -= rangeMargin * delta;
60662
+ valueMinMax.max += rangeMargin * delta;
60663
+ for (var pointIndex = _this._datasetBounds.start; pointIndex < _this._datasetBounds.end; pointIndex++) {
60664
+ var timestamp = _this.datasets.data.at(_this.datasets.startingIndices.at(pointIndex));
60665
+ var smoothedValue = values[pointIndex - _this._datasetBounds.start];
60496
60666
  var drawableTime = _this._getPixelForNumber(timestamp, _this._globalTimeMinMax, left, right - left, false);
60497
- var drawableValue = _this._getPixelForNumber(value, valueMinMax, top, bottom - top, true);
60667
+ var drawableValue = _this._getPixelForNumber(smoothedValue, valueMinMax, top, bottom - top, true);
60498
60668
  if (prevPoint === undefined) {
60499
60669
  prevPoint = [drawableTime, drawableValue];
60670
+ _this._prevPointById.set(id, prevPoint);
60500
60671
  }
60501
60672
  var xDifference = drawableTime - prevPoint[0];
60502
60673
  var skipLine = xDifference > maxXDistancePercBetweenLinePoints * (right - left);
@@ -60505,8 +60676,10 @@ var CanvasGraphService = /** @class */ (function () {
60505
60676
  ctx.fillRect(prevPoint[0], top, xDifference, bottom - top);
60506
60677
  }
60507
60678
  else {
60508
- ctx.moveTo(prevPoint[0], prevPoint[1]);
60509
- ctx.lineTo(drawableTime, drawableValue);
60679
+ if (prevPoint[0] < drawableTime) {
60680
+ ctx.moveTo(prevPoint[0], prevPoint[1]);
60681
+ ctx.lineTo(drawableTime, drawableValue);
60682
+ }
60510
60683
  }
60511
60684
  prevPoint[0] = drawableTime;
60512
60685
  prevPoint[1] = drawableValue;
@@ -60535,11 +60708,11 @@ var CanvasGraphService = /** @class */ (function () {
60535
60708
  }
60536
60709
  var valueMinMax = _this._getMinMax(bounds, idOffset);
60537
60710
  var latestValue = _this.datasets.data.at(_this.datasets.startingIndices.at(bounds.end - 1) + _babylonjs_core_Maths_math_scalar__WEBPACK_IMPORTED_MODULE_1__["PerformanceViewerCollector"].SliceDataOffset + idOffset);
60538
- var text = id + ": " + latestValue.toFixed(2) + " (max: " + valueMinMax.max.toFixed(2) + ", min: " + valueMinMax.min.toFixed(2) + ")";
60711
+ var text = "".concat(id, ": ").concat(latestValue.toFixed(2), " (max: ").concat(valueMinMax.max.toFixed(2), ", min: ").concat(valueMinMax.min.toFixed(2), ")");
60539
60712
  valueMap.set(id, {
60540
60713
  min: valueMinMax.min,
60541
60714
  max: valueMinMax.max,
60542
- current: latestValue
60715
+ current: latestValue,
60543
60716
  });
60544
60717
  if (text.length > longestText.length) {
60545
60718
  longestText = text;
@@ -60676,12 +60849,12 @@ var CanvasGraphService = /** @class */ (function () {
60676
60849
  if (intervalUnit >= _graphSupportingTypes__WEBPACK_IMPORTED_MODULE_0__["TimestampUnit"].Hours) {
60677
60850
  var numHours = Math.floor(timestamp / msInHour);
60678
60851
  timestamp -= numHours * msInHour;
60679
- parsedTimestamp += numHours.toString().padStart(intervalUnit > _graphSupportingTypes__WEBPACK_IMPORTED_MODULE_0__["TimestampUnit"].Hours ? 2 : 1, "0") + ":";
60852
+ parsedTimestamp += "".concat(numHours.toString().padStart(intervalUnit > _graphSupportingTypes__WEBPACK_IMPORTED_MODULE_0__["TimestampUnit"].Hours ? 2 : 1, "0"), ":");
60680
60853
  }
60681
60854
  if (intervalUnit >= _graphSupportingTypes__WEBPACK_IMPORTED_MODULE_0__["TimestampUnit"].Minutes) {
60682
60855
  var numMinutes = Math.floor(timestamp / msInMinute);
60683
60856
  timestamp -= numMinutes * msInMinute;
60684
- parsedTimestamp += numMinutes.toString().padStart(intervalUnit > _graphSupportingTypes__WEBPACK_IMPORTED_MODULE_0__["TimestampUnit"].Minutes ? 2 : 1, "0") + ":";
60857
+ parsedTimestamp += "".concat(numMinutes.toString().padStart(intervalUnit > _graphSupportingTypes__WEBPACK_IMPORTED_MODULE_0__["TimestampUnit"].Minutes ? 2 : 1, "0"), ":");
60685
60858
  }
60686
60859
  var numSeconds = Math.floor(timestamp / msInSecond);
60687
60860
  timestamp -= numSeconds * msInSecond;
@@ -60795,7 +60968,7 @@ var CanvasGraphService = /** @class */ (function () {
60795
60968
  CanvasGraphService.prototype._getPixelForNumber = function (num, minMax, startingPixel, spaceAvailable, shouldFlipValue) {
60796
60969
  var min = minMax.min, max = minMax.max;
60797
60970
  // Perform a min-max normalization to rescale the value onto a [0, 1] scale given the min and max of the dataset.
60798
- var normalizedValue = max !== min ? (num - min) / (max - min) : 1;
60971
+ var normalizedValue = Math.abs(max - min) > 0.001 ? (num - min) / (max - min) : 0.5;
60799
60972
  // if we should make this a [1, 0] range instead (higher numbers = smaller pixel value)
60800
60973
  if (shouldFlipValue) {
60801
60974
  normalizedValue = 1 - normalizedValue;
@@ -60923,7 +61096,7 @@ var CanvasGraphService = /** @class */ (function () {
60923
61096
  actualTimestamp = _this.datasets.data.at(_this.datasets.startingIndices.at(closestIndex));
60924
61097
  var valueAtClosestPointYPos = _this._getPixelForNumber(valueAtClosestPoint, valueMinMax, drawableArea.top, drawableArea.bottom - drawableArea.top, true);
60925
61098
  var xForActualTimestamp = _this._getPixelForNumber(actualTimestamp, _this._globalTimeMinMax, drawableArea.left, drawableArea.right - drawableArea.left, false);
60926
- var text = id + ": " + valueAtClosestPoint.toFixed(2);
61099
+ var text = "".concat(id, ": ").concat(valueAtClosestPoint.toFixed(2));
60927
61100
  if (text.length > longestText.length) {
60928
61101
  longestText = text;
60929
61102
  }
@@ -60964,7 +61137,7 @@ var CanvasGraphService = /** @class */ (function () {
60964
61137
  if (closestLineDistance <= maxDistanceForHover && this._position) {
60965
61138
  this._preprocessedTooltipInfo.focusedId = closestLineId;
60966
61139
  var inferredValue = this._getNumberFromPixel(adjustedYPos, closestLineValueMinMax, drawableArea.top, drawableArea.bottom, true);
60967
- var closestLineText = closestLineId + ": " + inferredValue.toFixed(2);
61140
+ var closestLineText = "".concat(closestLineId, ": ").concat(inferredValue.toFixed(2));
60968
61141
  this._preprocessedTooltipInfo.longestText = closestLineText;
60969
61142
  this._preprocessedTooltipInfo.numberOfTooltipItems = 1;
60970
61143
  this._tooltipItems[0].text = closestLineText;
@@ -61296,7 +61469,7 @@ var PopupComponent = /** @class */ (function (_super) {
61296
61469
  PopupComponent.prototype.openPopup = function () {
61297
61470
  var _this = this;
61298
61471
  var _a = this.props, title = _a.title, size = _a.size, onClose = _a.onClose, onOpen = _a.onOpen;
61299
- var windowVariableName = "window_" + title;
61472
+ var windowVariableName = "window_".concat(title);
61300
61473
  this._container = _inspector__WEBPACK_IMPORTED_MODULE_3__["Inspector"]._CreatePopup(title, windowVariableName, size.width, size.height, true);
61301
61474
  if (this._container) {
61302
61475
  this._host = this._container.ownerDocument.createElement("div");
@@ -61758,7 +61931,7 @@ var ControlTreeItemComponent = /** @class */ (function (_super) {
61758
61931
  ControlTreeItemComponent.prototype.render = function () {
61759
61932
  var _this = this;
61760
61933
  var control = this.props.control;
61761
- var name = (control.name || "No name") + (" [" + control.getClassName() + "]");
61934
+ var name = (control.name || "No name") + " [".concat(control.getClassName(), "]");
61762
61935
  var isActiveElement = this.state.isActive ? react__WEBPACK_IMPORTED_MODULE_4__["createElement"](_fortawesome_react_fontawesome__WEBPACK_IMPORTED_MODULE_5__["FontAwesomeIcon"], { icon: _fortawesome_free_solid_svg_icons__WEBPACK_IMPORTED_MODULE_1__["faHighlighter"] }) : react__WEBPACK_IMPORTED_MODULE_4__["createElement"](_fortawesome_react_fontawesome__WEBPACK_IMPORTED_MODULE_5__["FontAwesomeIcon"], { icon: _fortawesome_free_solid_svg_icons__WEBPACK_IMPORTED_MODULE_1__["faHighlighter"], className: "isNotActive" });
61763
61936
  var visibilityElement = this.state.isVisible ? react__WEBPACK_IMPORTED_MODULE_4__["createElement"](_fortawesome_react_fontawesome__WEBPACK_IMPORTED_MODULE_5__["FontAwesomeIcon"], { icon: _fortawesome_free_solid_svg_icons__WEBPACK_IMPORTED_MODULE_1__["faEye"] }) : react__WEBPACK_IMPORTED_MODULE_4__["createElement"](_fortawesome_react_fontawesome__WEBPACK_IMPORTED_MODULE_5__["FontAwesomeIcon"], { icon: _fortawesome_free_solid_svg_icons__WEBPACK_IMPORTED_MODULE_1__["faEyeSlash"], className: "isNotActive" });
61764
61937
  return (react__WEBPACK_IMPORTED_MODULE_4__["createElement"]("div", { className: "controlTools" },
@@ -61792,7 +61965,7 @@ __webpack_require__.r(__webpack_exports__);
61792
61965
 
61793
61966
 
61794
61967
 
61795
- var editorUrl = "https://unpkg.com/babylonjs-gui-editor@" + _babylonjs_core_Engines_engine__WEBPACK_IMPORTED_MODULE_1__["Engine"].Version + "/babylon.guiEditor.js";
61968
+ var editorUrl = "https://unpkg.com/babylonjs-gui-editor@".concat(_babylonjs_core_Engines_engine__WEBPACK_IMPORTED_MODULE_1__["Engine"].Version, "/babylon.guiEditor.js");
61796
61969
  var guiEditor = null;
61797
61970
  /** Get the inspector from bundle or global */
61798
61971
  function _getGlobalGUIEditor() {
@@ -61840,7 +62013,7 @@ function EditAdvancedDynamicTexture(adt) {
61840
62013
  return [3 /*break*/, 4];
61841
62014
  case 3:
61842
62015
  _a = _b.sent();
61843
- throw "Failed to load GUI editor from " + editorUrl;
62016
+ throw "Failed to load GUI editor from ".concat(editorUrl);
61844
62017
  case 4: return [3 /*break*/, 6];
61845
62018
  case 5:
61846
62019
  // we are in ES6 environment
@@ -62201,6 +62374,8 @@ var SceneTreeItemComponent = /** @class */ (function (_super) {
62201
62374
  else if (manager.boundingBoxGizmoEnabled) {
62202
62375
  gizmoMode = 4;
62203
62376
  }
62377
+ // autopicking is disable by default
62378
+ manager.enableAutoPicking = false;
62204
62379
  }
62205
62380
  _this.state = { isSelected: false, isInPickingMode: false, gizmoMode: gizmoMode };
62206
62381
  return _this;
@@ -62215,8 +62390,16 @@ var SceneTreeItemComponent = /** @class */ (function (_super) {
62215
62390
  nextState.isSelected = false;
62216
62391
  }
62217
62392
  }
62393
+ this.updateGizmoAutoPicking(nextState.isInPickingMode);
62218
62394
  return true;
62219
62395
  };
62396
+ SceneTreeItemComponent.prototype.updateGizmoAutoPicking = function (isInPickingMode) {
62397
+ var scene = this.props.scene;
62398
+ if (scene.reservedDataStore && scene.reservedDataStore.gizmoManager) {
62399
+ var manager = scene.reservedDataStore.gizmoManager;
62400
+ manager.enableAutoPicking = isInPickingMode;
62401
+ }
62402
+ };
62220
62403
  SceneTreeItemComponent.prototype.componentDidMount = function () {
62221
62404
  var _this = this;
62222
62405
  if (!this.props.onSelectionChangedObservable) {
@@ -64617,6 +64800,9 @@ var ColorPicker = /** @class */ (function (_super) {
64617
64800
  }
64618
64801
  var hsv = this.state.color.toHSV();
64619
64802
  _babylonjs_core_Maths_math_color__WEBPACK_IMPORTED_MODULE_2__["Color3"].HSVtoRGBToRef(hsv.r, saturation, value, this.state.color);
64803
+ if (this.state.alpha === 0) {
64804
+ this.setState({ alpha: 1 });
64805
+ }
64620
64806
  this.setState({ color: this.state.color });
64621
64807
  };
64622
64808
  ColorPicker.prototype._evaluateHue = function (evt) {
@@ -64658,8 +64844,8 @@ var ColorPicker = /** @class */ (function (_super) {
64658
64844
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "color-picker-saturation-white" }),
64659
64845
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "color-picker-saturation-black" }),
64660
64846
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "color-picker-saturation-cursor", style: {
64661
- top: -(hsv.b * 100) + 100 + "%",
64662
- left: hsv.g * 100 + "%",
64847
+ top: "".concat(-(hsv.b * 100) + 100, "%"),
64848
+ left: "".concat(hsv.g * 100, "%"),
64663
64849
  } })),
64664
64850
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "color-picker-hue" },
64665
64851
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "color-picker-hue-color", style: {
@@ -64667,9 +64853,10 @@ var ColorPicker = /** @class */ (function (_super) {
64667
64853
  } }),
64668
64854
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "color-picker-hue-slider", ref: this._hueRef, onPointerMove: function (e) { return _this.onHuePointerMove(e); }, onPointerDown: function (e) { return _this.onHuePointerDown(e); }, onPointerUp: function (e) { return _this.onHuePointerUp(e); } },
64669
64855
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "color-picker-hue-cursor", style: {
64670
- left: (hsv.r / 360.0) * 100 + "%",
64856
+ left: "".concat((hsv.r / 360.0) * 100, "%"),
64671
64857
  border: "1px solid " + colorHexRef,
64672
64858
  } }))),
64859
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "color-picker-alpha" }),
64673
64860
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "color-picker-rgb" },
64674
64861
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "red" },
64675
64862
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_colorComponentEntry__WEBPACK_IMPORTED_MODULE_3__["ColorComponentEntry"], { label: "R", min: 0, max: 255, value: Math.round(this.state.color.r * 255), onChange: function (value) {
@@ -64841,6 +65028,8 @@ __webpack_require__.r(__webpack_exports__);
64841
65028
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "../../../../node_modules/react/index.js");
64842
65029
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
64843
65030
  /* harmony import */ var _fortawesome_react_fontawesome__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @fortawesome/react-fontawesome */ "../../../../node_modules/@fortawesome/react-fontawesome/index.es.js");
65031
+ /* harmony import */ var _targetsProxy__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./targetsProxy */ "./sharedUiComponents/lines/targetsProxy.tsx");
65032
+
64844
65033
 
64845
65034
 
64846
65035
 
@@ -64851,10 +65040,10 @@ var CheckBoxLineComponent = /** @class */ (function (_super) {
64851
65040
  _this._localChange = false;
64852
65041
  _this._uniqueId = CheckBoxLineComponent._UniqueIdSeed++;
64853
65042
  if (_this.props.isSelected) {
64854
- _this.state = { isSelected: _this.props.isSelected() };
65043
+ _this.state = { isSelected: _this.props.isSelected(), isConflict: false };
64855
65044
  }
64856
65045
  else {
64857
- _this.state = { isSelected: _this.props.target[_this.props.propertyName] == true };
65046
+ _this.state = { isSelected: _this.props.target[_this.props.propertyName] === true, isConflict: _this.props.target[_this.props.propertyName] === _targetsProxy__WEBPACK_IMPORTED_MODULE_3__["conflictingValuesPlaceholder"] };
64858
65047
  }
64859
65048
  if (_this.props.disabled) {
64860
65049
  _this.state = Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__assign"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__assign"])({}, _this.state), { isDisabled: _this.props.disabled });
@@ -64867,7 +65056,10 @@ var CheckBoxLineComponent = /** @class */ (function (_super) {
64867
65056
  currentState = nextProps.isSelected();
64868
65057
  }
64869
65058
  else {
64870
- currentState = nextProps.target[nextProps.propertyName] == true;
65059
+ currentState = nextProps.target[nextProps.propertyName] === true;
65060
+ if (nextProps.target[nextProps.propertyName] === _targetsProxy__WEBPACK_IMPORTED_MODULE_3__["conflictingValuesPlaceholder"]) {
65061
+ nextState.isConflict = true;
65062
+ }
64871
65063
  }
64872
65064
  if (currentState !== nextState.isSelected || this._localChange) {
64873
65065
  nextState.isSelected = currentState;
@@ -64877,7 +65069,7 @@ var CheckBoxLineComponent = /** @class */ (function (_super) {
64877
65069
  if (nextProps.disabled !== nextState.isDisabled) {
64878
65070
  return true;
64879
65071
  }
64880
- return nextProps.label !== this.props.label || nextProps.target !== this.props.target;
65072
+ return nextProps.label !== this.props.label || nextProps.target !== this.props.target || nextState.isConflict !== this.state.isConflict;
64881
65073
  };
64882
65074
  CheckBoxLineComponent.prototype.onChange = function () {
64883
65075
  this._localChange = true;
@@ -64893,12 +65085,14 @@ var CheckBoxLineComponent = /** @class */ (function (_super) {
64893
65085
  initialValue: this.state.isSelected,
64894
65086
  });
64895
65087
  }
64896
- this.props.target[this.props.propertyName] = !this.state.isSelected;
65088
+ if (this.props.target && this.props.propertyName) {
65089
+ this.props.target[this.props.propertyName] = !this.state.isSelected;
65090
+ }
64897
65091
  }
64898
65092
  if (this.props.onValueChanged) {
64899
65093
  this.props.onValueChanged();
64900
65094
  }
64901
- this.setState({ isSelected: !this.state.isSelected });
65095
+ this.setState({ isSelected: !this.state.isSelected, isConflict: false });
64902
65096
  };
64903
65097
  CheckBoxLineComponent.prototype.render = function () {
64904
65098
  var _this = this;
@@ -64906,10 +65100,10 @@ var CheckBoxLineComponent = /** @class */ (function (_super) {
64906
65100
  this.props.icon && react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("img", { src: this.props.icon, title: this.props.iconLabel, alt: this.props.iconLabel, className: "icon" }),
64907
65101
  this.props.label &&
64908
65102
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "label", title: this.props.iconLabel }, this.props.label),
64909
- this.props.faIcons && react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_fortawesome_react_fontawesome__WEBPACK_IMPORTED_MODULE_2__["FontAwesomeIcon"], { className: "cbx " + (this.props.disabled ? "disabled" : ""), icon: this.state.isSelected ? this.props.faIcons.enabled : this.props.faIcons.disabled, onClick: function () { return !_this.props.disabled && _this.onChange(); } }),
65103
+ this.props.faIcons && react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_fortawesome_react_fontawesome__WEBPACK_IMPORTED_MODULE_2__["FontAwesomeIcon"], { className: "cbx ".concat(this.props.disabled ? "disabled" : ""), icon: this.state.isSelected ? this.props.faIcons.enabled : this.props.faIcons.disabled, onClick: function () { return !_this.props.disabled && _this.onChange(); } }),
64910
65104
  !this.props.faIcons && react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "checkBox" },
64911
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("input", { type: "checkbox", id: "checkbox" + this._uniqueId, className: "cbx hidden", checked: this.state.isSelected, onChange: function () { return _this.onChange(); }, disabled: !!this.props.disabled }),
64912
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("label", { htmlFor: "checkbox" + this._uniqueId, className: "lbl" + (!!this.props.disabled ? " disabled" : "") }))));
65105
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("input", { type: "checkbox", id: "checkbox" + this._uniqueId, className: "cbx hidden ".concat(this.state.isConflict ? "conflict" : ""), checked: this.state.isSelected, onChange: function () { return _this.onChange(); }, disabled: !!this.props.disabled }),
65106
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("label", { htmlFor: "checkbox" + this._uniqueId, className: "lbl".concat(!!this.props.disabled ? " disabled" : "") }))));
64913
65107
  };
64914
65108
  CheckBoxLineComponent._UniqueIdSeed = 0;
64915
65109
  return CheckBoxLineComponent;
@@ -64932,195 +65126,18 @@ __webpack_require__.r(__webpack_exports__);
64932
65126
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../../../node_modules/tslib/tslib.es6.js");
64933
65127
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "../../../../node_modules/react/index.js");
64934
65128
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
64935
- /* harmony import */ var _numericInputComponent__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./numericInputComponent */ "./sharedUiComponents/lines/numericInputComponent.tsx");
64936
- /* harmony import */ var _fortawesome_react_fontawesome__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @fortawesome/react-fontawesome */ "../../../../node_modules/@fortawesome/react-fontawesome/index.es.js");
64937
- /* harmony import */ var _fortawesome_free_solid_svg_icons__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @fortawesome/free-solid-svg-icons */ "../../../../node_modules/@fortawesome/free-solid-svg-icons/index.es.js");
64938
- /* harmony import */ var _babylonjs_core_Maths_math_color__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babylonjs/core/Maths/math.color */ "@babylonjs/core/Misc/observable");
64939
- /* harmony import */ var _babylonjs_core_Maths_math_color__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babylonjs_core_Maths_math_color__WEBPACK_IMPORTED_MODULE_5__);
64940
- /* harmony import */ var _colorPickerComponent__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./colorPickerComponent */ "./sharedUiComponents/lines/colorPickerComponent.tsx");
64941
- /* harmony import */ var _textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./textInputLineComponent */ "./sharedUiComponents/lines/textInputLineComponent.tsx");
64942
-
64943
-
64944
-
65129
+ /* harmony import */ var _colorLineComponent__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./colorLineComponent */ "./sharedUiComponents/lines/colorLineComponent.tsx");
64945
65130
 
64946
65131
 
64947
65132
 
64948
-
64949
-
64950
- var copyIcon = __webpack_require__(/*! ./copy.svg */ "./sharedUiComponents/lines/copy.svg");
64951
65133
  var Color3LineComponent = /** @class */ (function (_super) {
64952
65134
  Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(Color3LineComponent, _super);
64953
- function Color3LineComponent(props) {
64954
- var _this = _super.call(this, props) || this;
64955
- _this._localChange = false;
64956
- var typeName = typeof _this.props.target[_this.props.propertyName];
64957
- if (typeName === "string") {
64958
- var colorConverted = _this.convertToColor3(_this.props.target[_this.props.propertyName]);
64959
- _this.state = { isExpanded: false, color: colorConverted, colorText: _this.props.target[_this.props.propertyName] };
64960
- }
64961
- else {
64962
- _this.state = { isExpanded: false, color: _this.props.target[_this.props.propertyName].clone(), colorText: _this.props.target[_this.props.propertyName].toHexString() };
64963
- }
64964
- if (props.isLinear) {
64965
- _this.state.color.toGammaSpaceToRef(_this.state.color);
64966
- }
64967
- props.target._isLinearColor = props.isLinear; // so that replayRecorder can append toLinearSpace() as appropriate
64968
- _this._colorPickerOpen = false;
64969
- return _this;
65135
+ function Color3LineComponent() {
65136
+ return _super !== null && _super.apply(this, arguments) || this;
64970
65137
  }
64971
- Color3LineComponent.prototype.convertToColor3 = function (color) {
64972
- if (color === "" || color === "transparent") {
64973
- return new _babylonjs_core_Maths_math_color__WEBPACK_IMPORTED_MODULE_5__["Color4"](0, 0, 0, 0);
64974
- }
64975
- if (color.substring(0, 1) !== "#" || color.length !== 7) {
64976
- var d = document.createElement("div");
64977
- d.style.color = color;
64978
- document.body.append(d);
64979
- var rgb = window.getComputedStyle(d).color;
64980
- document.body.removeChild(d);
64981
- var rgbArray = rgb
64982
- .substring(4, rgb.length - 1)
64983
- .replace(/ /g, "")
64984
- .split(",");
64985
- return new _babylonjs_core_Maths_math_color__WEBPACK_IMPORTED_MODULE_5__["Color3"](parseInt(rgbArray[0]) / 255, parseInt(rgbArray[1]) / 255, parseInt(rgbArray[2]) / 255);
64986
- }
64987
- return _babylonjs_core_Maths_math_color__WEBPACK_IMPORTED_MODULE_5__["Color3"].FromHexString(color);
64988
- };
64989
- Color3LineComponent.prototype.shouldComponentUpdate = function (nextProps, nextState) {
64990
- var isString = typeof this.props.target[this.props.propertyName] === "string";
64991
- var currentState = isString
64992
- ? this.convertToColor3(nextProps.target[nextProps.propertyName])
64993
- : this.props.isLinear
64994
- ? nextProps.target[nextProps.propertyName].toGammaSpace()
64995
- : nextProps.target[nextProps.propertyName];
64996
- if (!currentState.equals(nextState.color) || this._localChange) {
64997
- nextState.color = currentState.clone();
64998
- nextState.colorText = isString ? nextProps.target[nextProps.propertyName] : nextProps.target[nextProps.propertyName].toHexString();
64999
- this._localChange = false;
65000
- return true;
65001
- }
65002
- return false;
65003
- };
65004
- Color3LineComponent.prototype.setPropertyValue = function (newColor, newColorText) {
65005
- var isString = typeof this.props.target[this.props.propertyName] === "string";
65006
- if (isString) {
65007
- this.props.target[this.props.propertyName] = newColorText;
65008
- }
65009
- else {
65010
- this.props.target[this.props.propertyName] = newColor;
65011
- if (this.props.isLinear) {
65012
- this.props.target[this.props.propertyName] = newColor.toLinearSpace();
65013
- }
65014
- }
65015
- };
65016
- Color3LineComponent.prototype.onChange = function (newValue) {
65017
- this._localChange = true;
65018
- var newColor = this.convertToColor3(newValue);
65019
- if (this._colorPickerOpen && this.props.icon) {
65020
- var savedColor = this.convertToColor3(this._colorStringSaved);
65021
- if (savedColor.equals(newColor)) {
65022
- newValue = this._colorStringSaved;
65023
- }
65024
- }
65025
- if (this.props.onPropertyChangedObservable) {
65026
- this.props.onPropertyChangedObservable.notifyObservers({
65027
- object: this.props.target,
65028
- property: this.props.propertyName,
65029
- value: newColor,
65030
- initialValue: this.state.color,
65031
- });
65032
- }
65033
- this.setPropertyValue(newColor, newValue);
65034
- this.setState({ color: newColor, colorText: newValue });
65035
- if (this.props.onValueChange) {
65036
- this.props.onValueChange(newValue);
65037
- }
65038
- };
65039
- Color3LineComponent.prototype.switchExpandState = function () {
65040
- this._localChange = true;
65041
- this.setState({ isExpanded: !this.state.isExpanded });
65042
- };
65043
- Color3LineComponent.prototype.raiseOnPropertyChanged = function (previousValue) {
65044
- if (!this.props.onPropertyChangedObservable) {
65045
- return;
65046
- }
65047
- this.props.onPropertyChangedObservable.notifyObservers({
65048
- object: this.props.target,
65049
- property: this.props.propertyName,
65050
- value: this.state.color,
65051
- initialValue: previousValue,
65052
- });
65053
- };
65054
- Color3LineComponent.prototype.updateStateR = function (value) {
65055
- this._localChange = true;
65056
- var store = this.state.color.clone();
65057
- this.state.color.r = value;
65058
- var hex = this.state.color.toHexString();
65059
- this.setPropertyValue(this.state.color, hex);
65060
- this.setState({ color: this.state.color, colorText: hex });
65061
- this.raiseOnPropertyChanged(store);
65062
- };
65063
- Color3LineComponent.prototype.updateStateG = function (value) {
65064
- this._localChange = true;
65065
- var store = this.state.color.clone();
65066
- this.state.color.g = value;
65067
- var hex = this.state.color.toHexString();
65068
- this.setPropertyValue(this.state.color, hex);
65069
- this.setState({ color: this.state.color, colorText: hex });
65070
- this.raiseOnPropertyChanged(store);
65071
- };
65072
- Color3LineComponent.prototype.updateStateB = function (value) {
65073
- this._localChange = true;
65074
- var store = this.state.color.clone();
65075
- this.state.color.b = value;
65076
- var hex = this.state.color.toHexString();
65077
- this.setPropertyValue(this.state.color, hex);
65078
- this.setState({ color: this.state.color, colorText: hex });
65079
- this.raiseOnPropertyChanged(store);
65080
- };
65081
- Color3LineComponent.prototype.copyToClipboard = function () {
65082
- var element = document.createElement("div");
65083
- element.textContent = this.state.color.toHexString();
65084
- document.body.appendChild(element);
65085
- if (window.getSelection) {
65086
- var range = document.createRange();
65087
- range.selectNode(element);
65088
- window.getSelection().removeAllRanges();
65089
- window.getSelection().addRange(range);
65090
- }
65091
- document.execCommand("copy");
65092
- element.remove();
65093
- };
65094
- Color3LineComponent.prototype.convert = function (colorString) {
65095
- this.onChange(this._colorString);
65096
- };
65097
65138
  Color3LineComponent.prototype.render = function () {
65098
- var _this = this;
65099
- var chevron = this.state.isExpanded ? react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_fortawesome_react_fontawesome__WEBPACK_IMPORTED_MODULE_3__["FontAwesomeIcon"], { icon: _fortawesome_free_solid_svg_icons__WEBPACK_IMPORTED_MODULE_4__["faMinus"] }) : react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_fortawesome_react_fontawesome__WEBPACK_IMPORTED_MODULE_3__["FontAwesomeIcon"], { icon: _fortawesome_free_solid_svg_icons__WEBPACK_IMPORTED_MODULE_4__["faPlus"] });
65100
- this._colorString = this.state.colorText;
65101
- return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "color3Line" },
65102
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "firstLine", title: this.props.label },
65103
- this.props.icon && react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("img", { src: this.props.icon, title: this.props.iconLabel, alt: this.props.iconLabel, className: "icon" }),
65104
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "label" }, this.props.label),
65105
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "color3" },
65106
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_colorPickerComponent__WEBPACK_IMPORTED_MODULE_6__["ColorPickerLineComponent"], { linearHint: this.props.isLinear, value: this.state.color, onColorChanged: function (color) {
65107
- if (!_this._colorPickerOpen) {
65108
- _this._colorStringSaved = _this._colorString;
65109
- }
65110
- _this._colorPickerOpen = true;
65111
- _this.onChange(color);
65112
- } })),
65113
- this.props.icon && this.props.lockObject && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "", target: this, propertyName: "_colorString", onChange: function (newValue) {
65114
- _this._colorPickerOpen = false;
65115
- _this.convert(newValue);
65116
- }, onPropertyChangedObservable: this.props.onPropertyChangedObservable })),
65117
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "copy hoverIcon", onClick: function () { return _this.copyToClipboard(); }, title: "Copy to clipboard" },
65118
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("img", { src: copyIcon, alt: "" })),
65119
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "expand hoverIcon", onClick: function () { return _this.switchExpandState(); }, title: "Expand" }, chevron)),
65120
- this.state.isExpanded && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "secondLine" },
65121
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_numericInputComponent__WEBPACK_IMPORTED_MODULE_2__["NumericInputComponent"], { label: "r", value: this.state.color.r, onChange: function (value) { return _this.updateStateR(value); } }),
65122
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_numericInputComponent__WEBPACK_IMPORTED_MODULE_2__["NumericInputComponent"], { label: "g", value: this.state.color.g, onChange: function (value) { return _this.updateStateG(value); } }),
65123
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_numericInputComponent__WEBPACK_IMPORTED_MODULE_2__["NumericInputComponent"], { label: "b", value: this.state.color.b, onChange: function (value) { return _this.updateStateB(value); } })))));
65139
+ var props = this.props;
65140
+ return react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_colorLineComponent__WEBPACK_IMPORTED_MODULE_2__["ColorLineComponent"], Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__assign"])({ disableAlpha: true }, props));
65124
65141
  };
65125
65142
  return Color3LineComponent;
65126
65143
  }(react__WEBPACK_IMPORTED_MODULE_1__["Component"]));
@@ -65142,12 +65159,49 @@ __webpack_require__.r(__webpack_exports__);
65142
65159
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../../../node_modules/tslib/tslib.es6.js");
65143
65160
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "../../../../node_modules/react/index.js");
65144
65161
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
65162
+ /* harmony import */ var _colorLineComponent__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./colorLineComponent */ "./sharedUiComponents/lines/colorLineComponent.tsx");
65163
+
65164
+
65165
+
65166
+ var Color4LineComponent = /** @class */ (function (_super) {
65167
+ Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(Color4LineComponent, _super);
65168
+ function Color4LineComponent() {
65169
+ return _super !== null && _super.apply(this, arguments) || this;
65170
+ }
65171
+ Color4LineComponent.prototype.render = function () {
65172
+ var props = this.props;
65173
+ return react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_colorLineComponent__WEBPACK_IMPORTED_MODULE_2__["ColorLineComponent"], Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__assign"])({}, props));
65174
+ };
65175
+ return Color4LineComponent;
65176
+ }(react__WEBPACK_IMPORTED_MODULE_1__["Component"]));
65177
+
65178
+
65179
+
65180
+ /***/ }),
65181
+
65182
+ /***/ "./sharedUiComponents/lines/colorLineComponent.tsx":
65183
+ /*!*********************************************************!*\
65184
+ !*** ./sharedUiComponents/lines/colorLineComponent.tsx ***!
65185
+ \*********************************************************/
65186
+ /*! exports provided: ColorLineComponent */
65187
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
65188
+
65189
+ "use strict";
65190
+ __webpack_require__.r(__webpack_exports__);
65191
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ColorLineComponent", function() { return ColorLineComponent; });
65192
+ /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../../../node_modules/tslib/tslib.es6.js");
65193
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "../../../../node_modules/react/index.js");
65194
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
65145
65195
  /* harmony import */ var _babylonjs_core_Maths_math_color__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babylonjs/core/Maths/math.color */ "@babylonjs/core/Misc/observable");
65146
65196
  /* harmony import */ var _babylonjs_core_Maths_math_color__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babylonjs_core_Maths_math_color__WEBPACK_IMPORTED_MODULE_2__);
65147
- /* harmony import */ var _lines_numericInputComponent__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../lines/numericInputComponent */ "./sharedUiComponents/lines/numericInputComponent.tsx");
65197
+ /* harmony import */ var _numericInputComponent__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./numericInputComponent */ "./sharedUiComponents/lines/numericInputComponent.tsx");
65148
65198
  /* harmony import */ var _fortawesome_react_fontawesome__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @fortawesome/react-fontawesome */ "../../../../node_modules/@fortawesome/react-fontawesome/index.es.js");
65149
65199
  /* harmony import */ var _fortawesome_free_solid_svg_icons__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @fortawesome/free-solid-svg-icons */ "../../../../node_modules/@fortawesome/free-solid-svg-icons/index.es.js");
65150
65200
  /* harmony import */ var _colorPickerComponent__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./colorPickerComponent */ "./sharedUiComponents/lines/colorPickerComponent.tsx");
65201
+ /* harmony import */ var _textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./textInputLineComponent */ "./sharedUiComponents/lines/textInputLineComponent.tsx");
65202
+ /* harmony import */ var _targetsProxy__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./targetsProxy */ "./sharedUiComponents/lines/targetsProxy.tsx");
65203
+
65204
+
65151
65205
 
65152
65206
 
65153
65207
 
@@ -65156,105 +65210,128 @@ __webpack_require__.r(__webpack_exports__);
65156
65210
 
65157
65211
 
65158
65212
  var copyIcon = __webpack_require__(/*! ./copy.svg */ "./sharedUiComponents/lines/copy.svg");
65159
- var Color4LineComponent = /** @class */ (function (_super) {
65160
- Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(Color4LineComponent, _super);
65161
- function Color4LineComponent(props) {
65213
+ var emptyColor = new _babylonjs_core_Maths_math_color__WEBPACK_IMPORTED_MODULE_2__["Color4"](0, 0, 0, 0);
65214
+ var ColorLineComponent = /** @class */ (function (_super) {
65215
+ Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(ColorLineComponent, _super);
65216
+ function ColorLineComponent(props) {
65162
65217
  var _this = _super.call(this, props) || this;
65163
- _this._localChange = false;
65164
- var value = _this.props.target[_this.props.propertyName];
65165
- var currentColor = value.getClassName() === "Color4" ? value.clone() : new _babylonjs_core_Maths_math_color__WEBPACK_IMPORTED_MODULE_2__["Color4"](value.r, value.g, value.b, 1.0);
65166
- _this.state = { isExpanded: false, color: currentColor };
65218
+ var colorString = _this.getValueAsString();
65219
+ var color = _this.getValue();
65220
+ _this.state = { isExpanded: false, color: color, colorString: colorString };
65167
65221
  if (props.isLinear) {
65168
65222
  _this.state.color.toGammaSpaceToRef(_this.state.color);
65169
65223
  }
65170
- props.target._isLinearColor = props.isLinear; // so that replayRecorder can append toLinearSpace() as appropriate
65224
+ var target = _this.props.target;
65225
+ target._isLinearColor = props.isLinear; // so that replayRecorder can append toLinearSpace() as appropriate
65171
65226
  return _this;
65172
65227
  }
65173
- Color4LineComponent.prototype.shouldComponentUpdate = function (nextProps, nextState) {
65174
- var value = this.props.target[this.props.propertyName];
65175
- var currentColor = value.getClassName() === "Color4" ? value : new _babylonjs_core_Maths_math_color__WEBPACK_IMPORTED_MODULE_2__["Color4"](value.r, value.g, value.b, 1.0);
65176
- if (this.props.isLinear) {
65177
- currentColor.toGammaSpaceRef(currentColor);
65228
+ ColorLineComponent.prototype.shouldComponentUpdate = function (nextProps, nextState) {
65229
+ var stateString = nextState.colorString;
65230
+ var stateColor = nextState.color;
65231
+ var propsString = this.getValueAsString(nextProps);
65232
+ var propsColor = this.getValue(nextProps);
65233
+ if (stateString !== this.state.colorString || stateColor !== this.state.color) {
65234
+ nextState.colorString = stateString;
65235
+ nextState.color = stateColor;
65236
+ return true;
65178
65237
  }
65179
- if (!currentColor.equals(nextState.color) || this._localChange) {
65180
- nextState.color = currentColor.clone();
65181
- this._localChange = false;
65238
+ if (propsString !== this.state.colorString || propsColor !== this.state.color) {
65239
+ nextState.colorString = propsString;
65240
+ nextState.color = propsColor;
65241
+ return true;
65242
+ }
65243
+ if (nextState.isExpanded !== this.state.isExpanded) {
65182
65244
  return true;
65183
65245
  }
65184
65246
  return false;
65185
65247
  };
65186
- Color4LineComponent.prototype.setPropertyValue = function (newColor) {
65187
- this.props.target[this.props.propertyName] = newColor;
65248
+ ColorLineComponent.prototype.getValue = function (props) {
65249
+ if (props === void 0) { props = this.props; }
65250
+ var target = props.target;
65251
+ var property = target[props.propertyName];
65252
+ if (!property)
65253
+ return emptyColor;
65254
+ if (typeof property === "string") {
65255
+ if (property === _targetsProxy__WEBPACK_IMPORTED_MODULE_8__["conflictingValuesPlaceholder"]) {
65256
+ return emptyColor;
65257
+ }
65258
+ return this.convertToColor(property);
65259
+ }
65260
+ else {
65261
+ return property;
65262
+ }
65263
+ };
65264
+ ColorLineComponent.prototype.getValueAsString = function (props) {
65265
+ if (props === void 0) { props = this.props; }
65266
+ var target = props.target;
65267
+ var property = target[props.propertyName];
65268
+ if (!property)
65269
+ return "";
65270
+ if (typeof property === "string") {
65271
+ return property;
65272
+ }
65273
+ else {
65274
+ return property.toHexString();
65275
+ }
65276
+ };
65277
+ ColorLineComponent.prototype.setColorFromString = function (colorString) {
65278
+ if (colorString === _targetsProxy__WEBPACK_IMPORTED_MODULE_8__["conflictingValuesPlaceholder"])
65279
+ return;
65280
+ var color = this.convertToColor(colorString);
65188
65281
  if (this.props.isLinear) {
65189
- this.props.target[this.props.propertyName] = newColor.toLinearSpace();
65282
+ color = color.toLinearSpace();
65190
65283
  }
65284
+ this.updateColor(color);
65285
+ this.setState({ color: color, colorString: colorString });
65191
65286
  };
65192
- Color4LineComponent.prototype.onChange = function (newValue) {
65193
- this._localChange = true;
65194
- var newColor = _babylonjs_core_Maths_math_color__WEBPACK_IMPORTED_MODULE_2__["Color4"].FromHexString(newValue);
65287
+ ColorLineComponent.prototype.setColor = function (color) {
65288
+ if (this.props.isLinear) {
65289
+ color = color.toLinearSpace();
65290
+ }
65291
+ this.updateColor(color);
65292
+ var colorString = this.props.disableAlpha ? this.toColor3(color).toHexString() : color.toHexString();
65293
+ this.setState({ color: color, colorString: colorString });
65294
+ };
65295
+ ColorLineComponent.prototype.updateColor = function (newColor) {
65296
+ // whether to set properties to color3 or color4
65297
+ var setColor = this.props.disableAlpha ? this.toColor3(newColor) : newColor;
65298
+ var target = this.props.target;
65299
+ var initialValue = target[this.props.propertyName];
65300
+ var value = typeof target[this.props.propertyName] === "string" ? setColor.toHexString() : setColor;
65301
+ // make the change
65302
+ target[this.props.propertyName] = value;
65303
+ // notify observers
65195
65304
  if (this.props.onPropertyChangedObservable) {
65196
65305
  this.props.onPropertyChangedObservable.notifyObservers({
65197
- object: this.props.target,
65306
+ object: target,
65198
65307
  property: this.props.propertyName,
65199
- value: newColor,
65200
- initialValue: this.state.color,
65308
+ value: value,
65309
+ initialValue: initialValue
65201
65310
  });
65202
65311
  }
65203
- this.setPropertyValue(newColor);
65204
- this.setState({ color: newColor });
65205
65312
  if (this.props.onChange) {
65206
65313
  this.props.onChange();
65207
65314
  }
65208
65315
  };
65209
- Color4LineComponent.prototype.switchExpandState = function () {
65210
- this._localChange = true;
65316
+ ColorLineComponent.prototype.switchExpandState = function () {
65211
65317
  this.setState({ isExpanded: !this.state.isExpanded });
65212
65318
  };
65213
- Color4LineComponent.prototype.raiseOnPropertyChanged = function (previousValue) {
65214
- if (!this.props.onPropertyChangedObservable) {
65215
- return;
65216
- }
65217
- this.props.onPropertyChangedObservable.notifyObservers({
65218
- object: this.props.target,
65219
- property: this.props.propertyName,
65220
- value: this.state.color,
65221
- initialValue: previousValue,
65222
- });
65319
+ ColorLineComponent.prototype.updateStateR = function (value) {
65320
+ this.setColor(new _babylonjs_core_Maths_math_color__WEBPACK_IMPORTED_MODULE_2__["Color4"](value, this.state.color.g, this.state.color.b, this.state.color.a));
65223
65321
  };
65224
- Color4LineComponent.prototype.updateStateR = function (value) {
65225
- this._localChange = true;
65226
- var store = this.state.color.clone();
65227
- this.state.color.r = value;
65228
- this.setPropertyValue(this.state.color);
65229
- this.setState({ color: this.state.color });
65230
- this.raiseOnPropertyChanged(store);
65231
- };
65232
- Color4LineComponent.prototype.updateStateG = function (value) {
65233
- this._localChange = true;
65234
- var store = this.state.color.clone();
65235
- this.state.color.g = value;
65236
- this.setPropertyValue(this.state.color);
65237
- this.setState({ color: this.state.color });
65238
- this.raiseOnPropertyChanged(store);
65322
+ ColorLineComponent.prototype.updateStateG = function (value) {
65323
+ this.setColor(new _babylonjs_core_Maths_math_color__WEBPACK_IMPORTED_MODULE_2__["Color4"](this.state.color.r, value, this.state.color.b, this.state.color.a));
65239
65324
  };
65240
- Color4LineComponent.prototype.updateStateB = function (value) {
65241
- this._localChange = true;
65242
- var store = this.state.color.clone();
65243
- this.state.color.b = value;
65244
- this.setPropertyValue(this.state.color);
65245
- this.setState({ color: this.state.color });
65246
- this.raiseOnPropertyChanged(store);
65325
+ ColorLineComponent.prototype.updateStateB = function (value) {
65326
+ this.setColor(new _babylonjs_core_Maths_math_color__WEBPACK_IMPORTED_MODULE_2__["Color4"](this.state.color.r, this.state.color.g, value, this.state.color.a));
65247
65327
  };
65248
- Color4LineComponent.prototype.updateStateA = function (value) {
65249
- this._localChange = true;
65250
- var store = this.state.color.clone();
65251
- this.props.target[this.props.propertyName].a = value;
65252
- this.state.color.a = value;
65253
- this.props.target[this.props.propertyName] = this.state.color;
65254
- this.setState({ color: this.state.color });
65255
- this.raiseOnPropertyChanged(store);
65328
+ ColorLineComponent.prototype.updateStateA = function (value) {
65329
+ if (this.props.disableAlpha) {
65330
+ return;
65331
+ }
65332
+ this.setColor(new _babylonjs_core_Maths_math_color__WEBPACK_IMPORTED_MODULE_2__["Color4"](this.state.color.r, this.state.color.g, this.state.color.b, value));
65256
65333
  };
65257
- Color4LineComponent.prototype.copyToClipboard = function () {
65334
+ ColorLineComponent.prototype.copyToClipboard = function () {
65258
65335
  var element = document.createElement("div");
65259
65336
  element.textContent = this.state.color.toHexString();
65260
65337
  document.body.appendChild(element);
@@ -65267,7 +65344,41 @@ var Color4LineComponent = /** @class */ (function (_super) {
65267
65344
  document.execCommand("copy");
65268
65345
  element.remove();
65269
65346
  };
65270
- Color4LineComponent.prototype.render = function () {
65347
+ Object.defineProperty(ColorLineComponent.prototype, "colorString", {
65348
+ get: function () {
65349
+ return this.state.colorString;
65350
+ },
65351
+ set: function (_) { },
65352
+ enumerable: false,
65353
+ configurable: true
65354
+ });
65355
+ ColorLineComponent.prototype.convertToColor = function (color) {
65356
+ if (color === "" || color === "transparent") {
65357
+ return emptyColor;
65358
+ }
65359
+ if (color.substring(0, 1) !== "#" || (color.length !== 7 && color.length !== 9)) {
65360
+ var d = document.createElement("div");
65361
+ d.style.color = color;
65362
+ document.body.append(d);
65363
+ var rgb = window.getComputedStyle(d).color;
65364
+ document.body.removeChild(d);
65365
+ var rgbArray = rgb
65366
+ .substring(4, rgb.length - 1)
65367
+ .replace(/ /g, "")
65368
+ .split(",");
65369
+ var alpha = rgbArray.length > 3 ? parseInt(rgbArray[3]) / 255 : 1.0;
65370
+ return new _babylonjs_core_Maths_math_color__WEBPACK_IMPORTED_MODULE_2__["Color4"](parseInt(rgbArray[0]) / 255, parseInt(rgbArray[1]) / 255, parseInt(rgbArray[2]) / 255, alpha);
65371
+ }
65372
+ if (this.props.disableAlpha) {
65373
+ var color3 = _babylonjs_core_Maths_math_color__WEBPACK_IMPORTED_MODULE_2__["Color3"].FromHexString(color);
65374
+ return new _babylonjs_core_Maths_math_color__WEBPACK_IMPORTED_MODULE_2__["Color4"](color3.r, color3.g, color3.b, 1.0);
65375
+ }
65376
+ return _babylonjs_core_Maths_math_color__WEBPACK_IMPORTED_MODULE_2__["Color4"].FromHexString(color);
65377
+ };
65378
+ ColorLineComponent.prototype.toColor3 = function (color) {
65379
+ return new _babylonjs_core_Maths_math_color__WEBPACK_IMPORTED_MODULE_2__["Color3"](color.r, color.g, color.b);
65380
+ };
65381
+ ColorLineComponent.prototype.render = function () {
65271
65382
  var _this = this;
65272
65383
  var chevron = this.state.isExpanded ? react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_fortawesome_react_fontawesome__WEBPACK_IMPORTED_MODULE_4__["FontAwesomeIcon"], { icon: _fortawesome_free_solid_svg_icons__WEBPACK_IMPORTED_MODULE_5__["faMinus"] }) : react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_fortawesome_react_fontawesome__WEBPACK_IMPORTED_MODULE_4__["FontAwesomeIcon"], { icon: _fortawesome_free_solid_svg_icons__WEBPACK_IMPORTED_MODULE_5__["faPlus"] });
65273
65384
  return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "color3Line" },
@@ -65275,19 +65386,22 @@ var Color4LineComponent = /** @class */ (function (_super) {
65275
65386
  this.props.icon && react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("img", { src: this.props.icon, title: this.props.iconLabel, alt: this.props.iconLabel, className: "icon" }),
65276
65387
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "label", title: this.props.label }, this.props.label),
65277
65388
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "color3" },
65278
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_colorPickerComponent__WEBPACK_IMPORTED_MODULE_6__["ColorPickerLineComponent"], { value: this.state.color, onColorChanged: function (color) {
65279
- _this.onChange(color);
65389
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_colorPickerComponent__WEBPACK_IMPORTED_MODULE_6__["ColorPickerLineComponent"], { linearHint: this.props.isLinear, value: this.props.disableAlpha ? this.toColor3(this.state.color) : this.state.color, onColorChanged: function (color) {
65390
+ _this.setColor(_this.convertToColor(color));
65280
65391
  } })),
65392
+ this.props.icon && this.props.lockObject && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "", target: this, propertyName: "colorString", onChange: function (newValue) {
65393
+ _this.setColorFromString(newValue);
65394
+ }, onPropertyChangedObservable: this.props.onPropertyChangedObservable })),
65281
65395
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "copy hoverIcon", onClick: function () { return _this.copyToClipboard(); }, title: "Copy to clipboard" },
65282
65396
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("img", { src: copyIcon, alt: "" })),
65283
65397
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "expand hoverIcon", onClick: function () { return _this.switchExpandState(); }, title: "Expand" }, chevron)),
65284
65398
  this.state.isExpanded && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "secondLine" },
65285
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_numericInputComponent__WEBPACK_IMPORTED_MODULE_3__["NumericInputComponent"], { label: "r", value: this.state.color.r, onChange: function (value) { return _this.updateStateR(value); } }),
65286
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_numericInputComponent__WEBPACK_IMPORTED_MODULE_3__["NumericInputComponent"], { label: "g", value: this.state.color.g, onChange: function (value) { return _this.updateStateG(value); } }),
65287
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_numericInputComponent__WEBPACK_IMPORTED_MODULE_3__["NumericInputComponent"], { label: "b", value: this.state.color.b, onChange: function (value) { return _this.updateStateB(value); } }),
65288
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_numericInputComponent__WEBPACK_IMPORTED_MODULE_3__["NumericInputComponent"], { label: "a", value: this.state.color.a, onChange: function (value) { return _this.updateStateA(value); } })))));
65399
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_numericInputComponent__WEBPACK_IMPORTED_MODULE_3__["NumericInputComponent"], { label: "r", value: this.state.color.r, onChange: function (value) { return _this.updateStateR(value); } }),
65400
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_numericInputComponent__WEBPACK_IMPORTED_MODULE_3__["NumericInputComponent"], { label: "g", value: this.state.color.g, onChange: function (value) { return _this.updateStateG(value); } }),
65401
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_numericInputComponent__WEBPACK_IMPORTED_MODULE_3__["NumericInputComponent"], { label: "b", value: this.state.color.b, onChange: function (value) { return _this.updateStateB(value); } }),
65402
+ this.props.disableAlpha || react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_numericInputComponent__WEBPACK_IMPORTED_MODULE_3__["NumericInputComponent"], { label: "a", value: this.state.color.a, onChange: function (value) { return _this.updateStateA(value); } })))));
65289
65403
  };
65290
- return Color4LineComponent;
65404
+ return ColorLineComponent;
65291
65405
  }(react__WEBPACK_IMPORTED_MODULE_1__["Component"]));
65292
65406
 
65293
65407
 
@@ -65315,7 +65429,7 @@ var ColorPickerLineComponent = /** @class */ (function (_super) {
65315
65429
  Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(ColorPickerLineComponent, _super);
65316
65430
  function ColorPickerLineComponent(props) {
65317
65431
  var _this = _super.call(this, props) || this;
65318
- _this.state = { pickerEnabled: false, color: _this.props.value, hex: _this.props.value.toHexString() };
65432
+ _this.state = { pickerEnabled: false, color: _this.props.value, hex: _this.getHexString(props) };
65319
65433
  _this._floatRef = react__WEBPACK_IMPORTED_MODULE_1__["createRef"]();
65320
65434
  _this._floatHostRef = react__WEBPACK_IMPORTED_MODULE_1__["createRef"]();
65321
65435
  return _this;
@@ -65340,13 +65454,17 @@ var ColorPickerLineComponent = /** @class */ (function (_super) {
65340
65454
  }
65341
65455
  };
65342
65456
  ColorPickerLineComponent.prototype.shouldComponentUpdate = function (nextProps, nextState) {
65343
- var diffProps = nextProps.value.toHexString() !== this.props.value.toHexString();
65457
+ var diffProps = this.getHexString(nextProps) !== this.getHexString();
65344
65458
  if (diffProps) {
65345
65459
  nextState.color = nextProps.value;
65346
- nextState.hex = nextProps.value.toHexString();
65460
+ nextState.hex = this.getHexString(nextProps);
65347
65461
  }
65348
65462
  return diffProps || nextState.hex !== this.state.hex || nextState.pickerEnabled !== this.state.pickerEnabled;
65349
65463
  };
65464
+ ColorPickerLineComponent.prototype.getHexString = function (props) {
65465
+ if (props === void 0) { props = this.props; }
65466
+ return props.value.toHexString();
65467
+ };
65350
65468
  ColorPickerLineComponent.prototype.componentDidUpdate = function () {
65351
65469
  this.syncPositions();
65352
65470
  };
@@ -65355,10 +65473,10 @@ var ColorPickerLineComponent = /** @class */ (function (_super) {
65355
65473
  };
65356
65474
  ColorPickerLineComponent.prototype.render = function () {
65357
65475
  var _this = this;
65358
- var color = this.state.color;
65359
65476
  return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "color-picker" },
65360
65477
  this.props.icon && react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("img", { src: this.props.icon, title: this.props.iconLabel, alt: this.props.iconLabel, className: "icon" }),
65361
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "color-rect", ref: this._floatHostRef, style: { background: this.state.hex }, onClick: function () { return _this.setState({ pickerEnabled: true }); } }),
65478
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "color-rect-background", ref: this._floatHostRef, onClick: function () { return _this.setState({ pickerEnabled: true }); } },
65479
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "color-rect", style: { background: this.state.hex } })),
65362
65480
  this.state.pickerEnabled && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](react__WEBPACK_IMPORTED_MODULE_1__["Fragment"], null,
65363
65481
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "color-picker-cover", onClick: function (evt) {
65364
65482
  var _a, _b;
@@ -65368,7 +65486,7 @@ var ColorPickerLineComponent = /** @class */ (function (_super) {
65368
65486
  _this.setState({ pickerEnabled: false });
65369
65487
  } },
65370
65488
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "color-picker-float", ref: this._floatRef },
65371
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_colorPicker_colorPicker__WEBPACK_IMPORTED_MODULE_2__["ColorPicker"], { color: color, linearhint: this.props.linearHint, onColorChanged: function (color) {
65489
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_colorPicker_colorPicker__WEBPACK_IMPORTED_MODULE_2__["ColorPicker"], { color: this.state.color, linearhint: this.props.linearHint, onColorChanged: function (color) {
65372
65490
  var hex = color.toHexString();
65373
65491
  _this.setState({ hex: hex, color: color });
65374
65492
  _this.props.onColorChanged(hex);
@@ -65509,6 +65627,8 @@ __webpack_require__.r(__webpack_exports__);
65509
65627
  /* harmony import */ var _sliderLineComponent__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./sliderLineComponent */ "./sharedUiComponents/lines/sliderLineComponent.tsx");
65510
65628
  /* harmony import */ var _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babylonjs/core/Misc/tools */ "@babylonjs/core/Misc/observable");
65511
65629
  /* harmony import */ var _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__);
65630
+ /* harmony import */ var _targetsProxy__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./targetsProxy */ "./sharedUiComponents/lines/targetsProxy.tsx");
65631
+
65512
65632
 
65513
65633
 
65514
65634
 
@@ -65519,20 +65639,34 @@ var FloatLineComponent = /** @class */ (function (_super) {
65519
65639
  var _this = _super.call(this, props) || this;
65520
65640
  _this._localChange = false;
65521
65641
  var currentValue = _this.props.target[_this.props.propertyName];
65522
- _this.state = { value: currentValue ? (_this.props.isInteger ? currentValue.toFixed(0) : currentValue.toFixed(_this.props.digits || 4)) : "0" };
65642
+ _this.state = { value: _this.getValueString(currentValue) };
65523
65643
  _this._store = currentValue;
65524
65644
  return _this;
65525
65645
  }
65526
65646
  FloatLineComponent.prototype.componentWillUnmount = function () {
65527
65647
  this.unlock();
65528
65648
  };
65649
+ FloatLineComponent.prototype.getValueString = function (value) {
65650
+ if (value) {
65651
+ if (value === _targetsProxy__WEBPACK_IMPORTED_MODULE_4__["conflictingValuesPlaceholder"]) {
65652
+ return _targetsProxy__WEBPACK_IMPORTED_MODULE_4__["conflictingValuesPlaceholder"];
65653
+ }
65654
+ else if (this.props.isInteger) {
65655
+ return value.toFixed(0);
65656
+ }
65657
+ else {
65658
+ return value.toFixed(this.props.digits || 4);
65659
+ }
65660
+ }
65661
+ return "0";
65662
+ };
65529
65663
  FloatLineComponent.prototype.shouldComponentUpdate = function (nextProps, nextState) {
65530
65664
  if (this._localChange) {
65531
65665
  this._localChange = false;
65532
65666
  return true;
65533
65667
  }
65534
65668
  var newValue = nextProps.target[nextProps.propertyName];
65535
- var newValueString = newValue ? (this.props.isInteger ? newValue.toFixed(0) : newValue.toFixed(this.props.digits || 4)) : "0";
65669
+ var newValueString = this.getValueString(newValue);
65536
65670
  if (newValueString !== nextState.value) {
65537
65671
  nextState.value = newValueString;
65538
65672
  return true;
@@ -65610,6 +65744,8 @@ var FloatLineComponent = /** @class */ (function (_super) {
65610
65744
  valueAsNumber = parseFloat(this.state.value);
65611
65745
  }
65612
65746
  var className = this.props.smallUI ? "short" : "value";
65747
+ var value = this.state.value === _targetsProxy__WEBPACK_IMPORTED_MODULE_4__["conflictingValuesPlaceholder"] ? "" : this.state.value;
65748
+ var placeholder = this.state.value === _targetsProxy__WEBPACK_IMPORTED_MODULE_4__["conflictingValuesPlaceholder"] ? _targetsProxy__WEBPACK_IMPORTED_MODULE_4__["conflictingValuesPlaceholder"] : "";
65613
65749
  return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](react__WEBPACK_IMPORTED_MODULE_1__["Fragment"], null,
65614
65750
  !this.props.useEuler && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: this.props.additionalClass ? this.props.additionalClass + " floatLine" : "floatLine" },
65615
65751
  this.props.icon && react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("img", { src: this.props.icon, title: this.props.iconLabel, alt: this.props.iconLabel, className: "icon" }),
@@ -65622,12 +65758,14 @@ var FloatLineComponent = /** @class */ (function (_super) {
65622
65758
  if (_this.props.onEnter) {
65623
65759
  _this.props.onEnter(_this._store);
65624
65760
  }
65625
- }, value: this.state.value, onBlur: function () {
65761
+ }, value: value, onBlur: function () {
65626
65762
  _this.unlock();
65627
65763
  if (_this.props.onEnter) {
65628
65764
  _this.props.onEnter(_this._store);
65629
65765
  }
65630
- }, onFocus: function () { return _this.lock(); }, onChange: function (evt) { return _this.updateValue(evt.target.value); } })))),
65766
+ }, placeholder: placeholder, onFocus: function () { return _this.lock(); }, onChange: function (evt) { return _this.updateValue(evt.target.value); } })),
65767
+ this.props.unit && react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("button", { className: this.props.unitLocked ? "unit disabled" : "unit", onClick: function () { if (_this.props.onUnitClicked && !_this.props.unitLocked)
65768
+ _this.props.onUnitClicked(); } }, this.props.unit))),
65631
65769
  this.props.useEuler && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sliderLineComponent__WEBPACK_IMPORTED_MODULE_2__["SliderLineComponent"], { label: this.props.label, minimum: 0, maximum: 360, step: 0.1, directValue: _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__["Tools"].ToDegrees(valueAsNumber), onChange: function (value) { return _this.updateValue(_babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__["Tools"].ToRadians(value).toString()); } }))));
65632
65770
  };
65633
65771
  return FloatLineComponent;
@@ -66058,7 +66196,7 @@ var NumericInputComponent = /** @class */ (function (_super) {
66058
66196
  var _this = this;
66059
66197
  return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "numeric" },
66060
66198
  this.props.icon && react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("img", { src: this.props.icon, title: this.props.iconLabel, alt: this.props.iconLabel, className: "icon" }),
66061
- this.props.label && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "numeric-label", title: this.props.label }, this.props.label + ": ")),
66199
+ this.props.label && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "numeric-label", title: this.props.label }, "".concat(this.props.label, ": "))),
66062
66200
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("input", { type: "number", step: this.props.step, className: "numeric-input", value: this.state.value, onChange: function (evt) { return _this.updateValue(evt); }, onBlur: function () { return _this.onBlur(); } })));
66063
66201
  };
66064
66202
  NumericInputComponent.defaultProps = {
@@ -66268,6 +66406,8 @@ var SliderLineComponent = /** @class */ (function (_super) {
66268
66406
  return false;
66269
66407
  };
66270
66408
  SliderLineComponent.prototype.onChange = function (newValueString) {
66409
+ if (newValueString === "—")
66410
+ return;
66271
66411
  this._localChange = true;
66272
66412
  var newValue = parseFloat(newValueString);
66273
66413
  if (this.props.useEuler) {
@@ -66324,6 +66464,67 @@ var SliderLineComponent = /** @class */ (function (_super) {
66324
66464
 
66325
66465
 
66326
66466
 
66467
+ /***/ }),
66468
+
66469
+ /***/ "./sharedUiComponents/lines/targetsProxy.tsx":
66470
+ /*!***************************************************!*\
66471
+ !*** ./sharedUiComponents/lines/targetsProxy.tsx ***!
66472
+ \***************************************************/
66473
+ /*! exports provided: conflictingValuesPlaceholder, makeTargetsProxy */
66474
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
66475
+
66476
+ "use strict";
66477
+ __webpack_require__.r(__webpack_exports__);
66478
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "conflictingValuesPlaceholder", function() { return conflictingValuesPlaceholder; });
66479
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "makeTargetsProxy", function() { return makeTargetsProxy; });
66480
+ var conflictingValuesPlaceholder = "—";
66481
+ /**
66482
+ *
66483
+ * @param propertyName the property that the input changes
66484
+ * @param targets a list of selected targets
66485
+ * @param defaultValue the value that should be returned when two targets have conflicting values
66486
+ * @param setter an optional setter function to override the default setter behavior
66487
+ * @returns a proxy object that can be passed as a target into the input
66488
+ */
66489
+ function makeTargetsProxy(targets, onPropertyChangedObservable, getProperty) {
66490
+ if (getProperty === void 0) { getProperty = function (target, property) { return target[property]; }; }
66491
+ return new Proxy({}, {
66492
+ get: function (_, name) {
66493
+ var property = name;
66494
+ if (targets.length === 0)
66495
+ return conflictingValuesPlaceholder;
66496
+ var firstValue = getProperty(targets[0], property);
66497
+ for (var _i = 0, targets_1 = targets; _i < targets_1.length; _i++) {
66498
+ var target = targets_1[_i];
66499
+ if (getProperty(target, property) !== firstValue) {
66500
+ return conflictingValuesPlaceholder;
66501
+ }
66502
+ }
66503
+ return firstValue;
66504
+ },
66505
+ set: function (_, name, value) {
66506
+ if (value === "—")
66507
+ return true;
66508
+ var property = name;
66509
+ for (var _i = 0, targets_2 = targets; _i < targets_2.length; _i++) {
66510
+ var target = targets_2[_i];
66511
+ var initialValue = target[property];
66512
+ target[property] = value;
66513
+ if (onPropertyChangedObservable) {
66514
+ onPropertyChangedObservable.notifyObservers({
66515
+ object: target,
66516
+ property: name,
66517
+ value: target[property],
66518
+ initialValue: initialValue
66519
+ });
66520
+ }
66521
+ }
66522
+ return true;
66523
+ }
66524
+ });
66525
+ }
66526
+
66527
+
66327
66528
  /***/ }),
66328
66529
 
66329
66530
  /***/ "./sharedUiComponents/lines/textInputLineComponent.tsx":
@@ -66339,6 +66540,8 @@ __webpack_require__.r(__webpack_exports__);
66339
66540
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../../../node_modules/tslib/tslib.es6.js");
66340
66541
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "../../../../node_modules/react/index.js");
66341
66542
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
66543
+ /* harmony import */ var _targetsProxy__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./targetsProxy */ "./sharedUiComponents/lines/targetsProxy.tsx");
66544
+
66342
66545
 
66343
66546
 
66344
66547
  var TextInputLineComponent = /** @class */ (function (_super) {
@@ -66402,14 +66605,18 @@ var TextInputLineComponent = /** @class */ (function (_super) {
66402
66605
  };
66403
66606
  TextInputLineComponent.prototype.render = function () {
66404
66607
  var _this = this;
66405
- return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "textInputLine" },
66608
+ var value = this.state.value === _targetsProxy__WEBPACK_IMPORTED_MODULE_2__["conflictingValuesPlaceholder"] ? "" : this.state.value;
66609
+ var placeholder = this.state.value === _targetsProxy__WEBPACK_IMPORTED_MODULE_2__["conflictingValuesPlaceholder"] ? _targetsProxy__WEBPACK_IMPORTED_MODULE_2__["conflictingValuesPlaceholder"] : "";
66610
+ return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: this.props.unit !== undefined ? "textInputLine withUnits" : "textInputLine" },
66406
66611
  this.props.icon && react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("img", { src: this.props.icon, title: this.props.iconLabel, alt: this.props.iconLabel, color: "black", className: "icon" }),
66407
66612
  (!this.props.icon || (this.props.icon && this.props.label != "")) && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "label", title: this.props.label }, this.props.label)),
66408
66613
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "value" + (this.props.noUnderline === true ? " noUnderline" : "") },
66409
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("input", { value: this.state.value, onBlur: function () {
66614
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("input", { value: value, onBlur: function () {
66410
66615
  _this.props.lockObject.lock = false;
66411
66616
  _this.updateValue((_this.props.value !== undefined ? _this.props.value : _this.props.target[_this.props.propertyName]) || "");
66412
- }, onFocus: function () { return (_this.props.lockObject.lock = true); }, onChange: function (evt) { return _this.updateValue(evt.target.value); } }))));
66617
+ }, onFocus: function () { return (_this.props.lockObject.lock = true); }, onChange: function (evt) { return _this.updateValue(evt.target.value); }, placeholder: placeholder })),
66618
+ this.props.unit !== undefined && react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("button", { className: this.props.unitLocked ? "unit disabled" : "unit", onClick: function () { if (_this.props.onUnitClicked && !_this.props.unitLocked)
66619
+ _this.props.onUnitClicked(_this.props.unit || ""); } }, this.props.unit)));
66413
66620
  };
66414
66621
  return TextInputLineComponent;
66415
66622
  }(react__WEBPACK_IMPORTED_MODULE_1__["Component"]));
@@ -66586,7 +66793,7 @@ var Vector2LineComponent = /** @class */ (function (_super) {
66586
66793
  this.props.icon && react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("img", { src: this.props.icon, title: this.props.iconLabel, alt: this.props.iconLabel, className: "icon" }),
66587
66794
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "firstLine", title: this.props.label },
66588
66795
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "label" }, this.props.label),
66589
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "vector" }, "X: " + this.state.value.x.toFixed(2) + ", Y: " + this.state.value.y.toFixed(2)),
66796
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "vector" }, "X: ".concat(this.state.value.x.toFixed(2), ", Y: ").concat(this.state.value.y.toFixed(2))),
66590
66797
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "expand hoverIcon", onClick: function () { return _this.switchExpandState(); }, title: "Expand" }, chevron)),
66591
66798
  this.state.isExpanded && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "secondLine" },
66592
66799
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_numericInputComponent__WEBPACK_IMPORTED_MODULE_2__["NumericInputComponent"], { label: "x", step: this.props.step, value: this.state.value.x, onChange: function (value) { return _this.updateStateX(value); } }),
@@ -66695,9 +66902,9 @@ var Vector3LineComponent = /** @class */ (function (_super) {
66695
66902
  this.props.icon && react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("img", { src: this.props.icon, title: this.props.iconLabel, alt: this.props.iconLabel, className: "icon" }),
66696
66903
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "label", title: this.props.label }, this.props.label),
66697
66904
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "vector" },
66698
- !this.props.useEuler && "X: " + this.state.value.x.toFixed(2) + ", Y: " + this.state.value.y.toFixed(2) + ", Z: " + this.state.value.z.toFixed(2),
66905
+ !this.props.useEuler && "X: ".concat(this.state.value.x.toFixed(2), ", Y: ").concat(this.state.value.y.toFixed(2), ", Z: ").concat(this.state.value.z.toFixed(2)),
66699
66906
  this.props.useEuler &&
66700
- "X: " + _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_6__["Tools"].ToDegrees(this.state.value.x).toFixed(2) + ", Y: " + _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_6__["Tools"].ToDegrees(this.state.value.y).toFixed(2) + ", Z: " + _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_6__["Tools"].ToDegrees(this.state.value.z).toFixed(2)),
66907
+ "X: ".concat(_babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_6__["Tools"].ToDegrees(this.state.value.x).toFixed(2), ", Y: ").concat(_babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_6__["Tools"].ToDegrees(this.state.value.y).toFixed(2), ", Z: ").concat(_babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_6__["Tools"].ToDegrees(this.state.value.z).toFixed(2))),
66701
66908
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "expand hoverIcon", onClick: function () { return _this.switchExpandState(); }, title: "Expand" }, chevron)),
66702
66909
  this.state.isExpanded && !this.props.useEuler && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "secondLine" },
66703
66910
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_numericInputComponent__WEBPACK_IMPORTED_MODULE_2__["NumericInputComponent"], { label: "x", step: this.props.step, value: this.state.value.x, onChange: function (value) { return _this.updateStateX(value); } }),
@@ -66814,7 +67021,7 @@ var Vector4LineComponent = /** @class */ (function (_super) {
66814
67021
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "firstLine" },
66815
67022
  this.props.icon && react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("img", { src: this.props.icon, title: this.props.iconLabel, alt: this.props.iconLabel, className: "icon" }),
66816
67023
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "label", title: this.props.label }, this.props.label),
66817
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "vector" }, "X: " + this.state.value.x.toFixed(2) + ", Y: " + this.state.value.y.toFixed(2) + ", Z: " + this.state.value.z.toFixed(2) + ", W: " + this.state.value.w.toFixed(2)),
67024
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "vector" }, "X: ".concat(this.state.value.x.toFixed(2), ", Y: ").concat(this.state.value.y.toFixed(2), ", Z: ").concat(this.state.value.z.toFixed(2), ", W: ").concat(this.state.value.w.toFixed(2))),
66818
67025
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "expand hoverIcon", onClick: function () { return _this.switchExpandState(); }, title: "Expand" }, chevron)),
66819
67026
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "secondLine" },
66820
67027
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_numericInputComponent__WEBPACK_IMPORTED_MODULE_2__["NumericInputComponent"], { label: "x", step: this.props.step, value: this.state.value.x, onChange: function (value) { return _this.updateStateX(value); } }),
@@ -67029,12 +67236,14 @@ __webpack_require__.r(__webpack_exports__);
67029
67236
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
67030
67237
  /* harmony import */ var _lines_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../lines/lineContainerComponent */ "./sharedUiComponents/lines/lineContainerComponent.tsx");
67031
67238
  /* harmony import */ var _lines_textLineComponent__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../lines/textLineComponent */ "./sharedUiComponents/lines/textLineComponent.tsx");
67032
- /* harmony import */ var _babylonjs_gui_2D_controls_control__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babylonjs/gui/2D/controls/control */ "@babylonjs/gui/2D/controls/control");
67239
+ /* harmony import */ var _babylonjs_gui_2D_controls_control__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babylonjs/gui/2D/controls/control */ "@babylonjs/gui/2D/controls/image");
67033
67240
  /* harmony import */ var _babylonjs_gui_2D_controls_control__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babylonjs_gui_2D_controls_control__WEBPACK_IMPORTED_MODULE_4__);
67034
67241
  /* harmony import */ var _lines_sliderLineComponent__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../lines/sliderLineComponent */ "./sharedUiComponents/lines/sliderLineComponent.tsx");
67035
67242
  /* harmony import */ var _lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../lines/floatLineComponent */ "./sharedUiComponents/lines/floatLineComponent.tsx");
67036
67243
  /* harmony import */ var _lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../lines/textInputLineComponent */ "./sharedUiComponents/lines/textInputLineComponent.tsx");
67037
67244
  /* harmony import */ var _lines_optionsLineComponent__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../lines/optionsLineComponent */ "./sharedUiComponents/lines/optionsLineComponent.tsx");
67245
+ /* harmony import */ var _lines_targetsProxy__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../../lines/targetsProxy */ "./sharedUiComponents/lines/targetsProxy.tsx");
67246
+
67038
67247
 
67039
67248
 
67040
67249
 
@@ -67049,8 +67258,7 @@ var CommonControlPropertyGridComponent = /** @class */ (function (_super) {
67049
67258
  function CommonControlPropertyGridComponent(props) {
67050
67259
  return _super.call(this, props) || this;
67051
67260
  }
67052
- CommonControlPropertyGridComponent.prototype.renderGridInformation = function () {
67053
- var control = this.props.control;
67261
+ CommonControlPropertyGridComponent.prototype.renderGridInformation = function (control) {
67054
67262
  if (!control.parent) {
67055
67263
  return null;
67056
67264
  }
@@ -67069,7 +67277,17 @@ var CommonControlPropertyGridComponent = /** @class */ (function (_super) {
67069
67277
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textLineComponent__WEBPACK_IMPORTED_MODULE_3__["TextLineComponent"], { label: "Column", value: cellInfos[1] })));
67070
67278
  };
67071
67279
  CommonControlPropertyGridComponent.prototype.render = function () {
67072
- var control = this.props.control;
67280
+ var controls;
67281
+ if (this.props.controls) {
67282
+ controls = this.props.controls;
67283
+ }
67284
+ else if (this.props.control) {
67285
+ controls = [this.props.control];
67286
+ }
67287
+ else {
67288
+ return;
67289
+ }
67290
+ var control = controls[0];
67073
67291
  var horizontalOptions = [
67074
67292
  { label: "Left", value: _babylonjs_gui_2D_controls_control__WEBPACK_IMPORTED_MODULE_4__["Control"].HORIZONTAL_ALIGNMENT_LEFT },
67075
67293
  { label: "Right", value: _babylonjs_gui_2D_controls_control__WEBPACK_IMPORTED_MODULE_4__["Control"].HORIZONTAL_ALIGNMENT_RIGHT },
@@ -67083,41 +67301,41 @@ var CommonControlPropertyGridComponent = /** @class */ (function (_super) {
67083
67301
  return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", null,
67084
67302
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__["LineContainerComponent"], { title: "GENERAL" },
67085
67303
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textLineComponent__WEBPACK_IMPORTED_MODULE_3__["TextLineComponent"], { label: "Class", value: control.getClassName() }),
67086
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "Name", target: control, propertyName: "name", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67304
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "Name", target: Object(_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_9__["makeTargetsProxy"])(controls, this.props.onPropertyChangedObservable), propertyName: "name", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67087
67305
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textLineComponent__WEBPACK_IMPORTED_MODULE_3__["TextLineComponent"], { label: "Unique ID", value: control.uniqueId.toString() }),
67088
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_sliderLineComponent__WEBPACK_IMPORTED_MODULE_5__["SliderLineComponent"], { label: "Alpha", target: control, propertyName: "alpha", minimum: 0, maximum: 1, step: 0.01, onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67089
- control.color !== undefined && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "Color", target: control, propertyName: "color", onPropertyChangedObservable: this.props.onPropertyChangedObservable })),
67090
- control.background !== undefined && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "Background", target: control, propertyName: "background", onPropertyChangedObservable: this.props.onPropertyChangedObservable })),
67091
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_6__["FloatLineComponent"], { lockObject: this.props.lockObject, label: "ZIndex", target: control, propertyName: "zIndex", onPropertyChangedObservable: this.props.onPropertyChangedObservable })),
67092
- this.renderGridInformation(),
67306
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_sliderLineComponent__WEBPACK_IMPORTED_MODULE_5__["SliderLineComponent"], { label: "Alpha", target: Object(_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_9__["makeTargetsProxy"])(controls, this.props.onPropertyChangedObservable), propertyName: "alpha", minimum: 0, maximum: 1, step: 0.01, onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67307
+ control.color !== undefined && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "Color", target: Object(_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_9__["makeTargetsProxy"])(controls, this.props.onPropertyChangedObservable), propertyName: "color", onPropertyChangedObservable: this.props.onPropertyChangedObservable })),
67308
+ control.background !== undefined && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "Background", target: Object(_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_9__["makeTargetsProxy"])(controls, this.props.onPropertyChangedObservable), propertyName: "background", onPropertyChangedObservable: this.props.onPropertyChangedObservable })),
67309
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_6__["FloatLineComponent"], { lockObject: this.props.lockObject, label: "ZIndex", target: Object(_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_9__["makeTargetsProxy"])(controls, this.props.onPropertyChangedObservable), propertyName: "zIndex", onPropertyChangedObservable: this.props.onPropertyChangedObservable })),
67310
+ this.renderGridInformation(control),
67093
67311
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__["LineContainerComponent"], { title: "ALIGNMENT" },
67094
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_optionsLineComponent__WEBPACK_IMPORTED_MODULE_8__["OptionsLineComponent"], { label: "Horizontal", options: horizontalOptions, target: control, propertyName: "horizontalAlignment", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67095
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_optionsLineComponent__WEBPACK_IMPORTED_MODULE_8__["OptionsLineComponent"], { label: "Vertical", options: verticalOptions, target: control, propertyName: "verticalAlignment", onPropertyChangedObservable: this.props.onPropertyChangedObservable })),
67312
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_optionsLineComponent__WEBPACK_IMPORTED_MODULE_8__["OptionsLineComponent"], { label: "Horizontal", options: horizontalOptions, target: Object(_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_9__["makeTargetsProxy"])(controls, this.props.onPropertyChangedObservable), propertyName: "horizontalAlignment", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67313
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_optionsLineComponent__WEBPACK_IMPORTED_MODULE_8__["OptionsLineComponent"], { label: "Vertical", options: verticalOptions, target: Object(_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_9__["makeTargetsProxy"])(controls, this.props.onPropertyChangedObservable), propertyName: "verticalAlignment", onPropertyChangedObservable: this.props.onPropertyChangedObservable })),
67096
67314
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__["LineContainerComponent"], { title: "POSITION" },
67097
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "Left", target: control, propertyName: "left", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67098
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "Top", target: control, propertyName: "top", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67099
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "Width", target: control, propertyName: "width", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67100
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "Height", target: control, propertyName: "height", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67101
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "Padding left", target: control, propertyName: "paddingLeft", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67102
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "Padding top", target: control, propertyName: "paddingTop", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67103
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "Padding right", target: control, propertyName: "paddingRight", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67104
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "Padding bottom", target: control, propertyName: "paddingBottom", onPropertyChangedObservable: this.props.onPropertyChangedObservable })),
67315
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "Left", target: Object(_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_9__["makeTargetsProxy"])(controls, this.props.onPropertyChangedObservable), propertyName: "left", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67316
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "Top", target: Object(_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_9__["makeTargetsProxy"])(controls, this.props.onPropertyChangedObservable), propertyName: "top", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67317
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "Width", target: Object(_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_9__["makeTargetsProxy"])(controls, this.props.onPropertyChangedObservable), propertyName: "width", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67318
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "Height", target: Object(_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_9__["makeTargetsProxy"])(controls, this.props.onPropertyChangedObservable), propertyName: "height", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67319
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "Padding left", target: Object(_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_9__["makeTargetsProxy"])(controls, this.props.onPropertyChangedObservable), propertyName: "paddingLeft", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67320
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "Padding top", target: Object(_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_9__["makeTargetsProxy"])(controls, this.props.onPropertyChangedObservable), propertyName: "paddingTop", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67321
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "Padding right", target: Object(_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_9__["makeTargetsProxy"])(controls, this.props.onPropertyChangedObservable), propertyName: "paddingRight", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67322
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "Padding bottom", target: Object(_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_9__["makeTargetsProxy"])(controls, this.props.onPropertyChangedObservable), propertyName: "paddingBottom", onPropertyChangedObservable: this.props.onPropertyChangedObservable })),
67105
67323
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__["LineContainerComponent"], { title: "TRANSFORMATION", closed: true },
67106
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_6__["FloatLineComponent"], { lockObject: this.props.lockObject, label: "ScaleX", target: control, propertyName: "scaleX", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67107
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_6__["FloatLineComponent"], { lockObject: this.props.lockObject, label: "ScaleY", target: control, propertyName: "scaleY", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67108
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_sliderLineComponent__WEBPACK_IMPORTED_MODULE_5__["SliderLineComponent"], { label: "Rotation", target: control, propertyName: "rotation", minimum: 0, maximum: 2 * Math.PI, step: 0.01, onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67109
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_6__["FloatLineComponent"], { lockObject: this.props.lockObject, label: "Transform center X", target: control, propertyName: "transformCenterX", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67110
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_6__["FloatLineComponent"], { lockObject: this.props.lockObject, label: "Transform center Y", target: control, propertyName: "transformCenterY", onPropertyChangedObservable: this.props.onPropertyChangedObservable })),
67324
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_6__["FloatLineComponent"], { lockObject: this.props.lockObject, label: "ScaleX", target: Object(_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_9__["makeTargetsProxy"])(controls, this.props.onPropertyChangedObservable), propertyName: "scaleX", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67325
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_6__["FloatLineComponent"], { lockObject: this.props.lockObject, label: "ScaleY", target: Object(_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_9__["makeTargetsProxy"])(controls, this.props.onPropertyChangedObservable), propertyName: "scaleY", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67326
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_sliderLineComponent__WEBPACK_IMPORTED_MODULE_5__["SliderLineComponent"], { label: "Rotation", target: Object(_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_9__["makeTargetsProxy"])(controls, this.props.onPropertyChangedObservable), propertyName: "rotation", minimum: 0, maximum: 2 * Math.PI, step: 0.01, onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67327
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_6__["FloatLineComponent"], { lockObject: this.props.lockObject, label: "Transform center X", target: Object(_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_9__["makeTargetsProxy"])(controls, this.props.onPropertyChangedObservable), propertyName: "transformCenterX", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67328
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_6__["FloatLineComponent"], { lockObject: this.props.lockObject, label: "Transform center Y", target: Object(_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_9__["makeTargetsProxy"])(controls, this.props.onPropertyChangedObservable), propertyName: "transformCenterY", onPropertyChangedObservable: this.props.onPropertyChangedObservable })),
67111
67329
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__["LineContainerComponent"], { title: "FONT", closed: true },
67112
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "Family", target: control, propertyName: "fontFamily", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67113
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "Size", target: control, propertyName: "fontSize", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67114
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "Weight", target: control, propertyName: "fontWeight", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67115
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "Style", target: control, propertyName: "fontStyle", onPropertyChangedObservable: this.props.onPropertyChangedObservable })),
67330
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "Family", target: Object(_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_9__["makeTargetsProxy"])(controls, this.props.onPropertyChangedObservable), propertyName: "fontFamily", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67331
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "Size", target: Object(_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_9__["makeTargetsProxy"])(controls, this.props.onPropertyChangedObservable), propertyName: "fontSize", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67332
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "Weight", target: Object(_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_9__["makeTargetsProxy"])(controls, this.props.onPropertyChangedObservable), propertyName: "fontWeight", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67333
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "Style", target: Object(_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_9__["makeTargetsProxy"])(controls, this.props.onPropertyChangedObservable), propertyName: "fontStyle", onPropertyChangedObservable: this.props.onPropertyChangedObservable })),
67116
67334
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__["LineContainerComponent"], { title: "SHADOWS", closed: true },
67117
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "Color", target: control, propertyName: "shadowColor", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67118
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_6__["FloatLineComponent"], { lockObject: this.props.lockObject, label: "Offset X", target: control, propertyName: "shadowOffsetX", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67119
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_6__["FloatLineComponent"], { lockObject: this.props.lockObject, label: "Offset Y", target: control, propertyName: "shadowOffsetY", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67120
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_6__["FloatLineComponent"], { lockObject: this.props.lockObject, label: "Blur", target: control, propertyName: "shadowBlur", onPropertyChangedObservable: this.props.onPropertyChangedObservable }))));
67335
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "Color", target: Object(_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_9__["makeTargetsProxy"])(controls, this.props.onPropertyChangedObservable), propertyName: "shadowColor", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67336
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_6__["FloatLineComponent"], { lockObject: this.props.lockObject, label: "Offset X", target: Object(_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_9__["makeTargetsProxy"])(controls, this.props.onPropertyChangedObservable), propertyName: "shadowOffsetX", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67337
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_6__["FloatLineComponent"], { lockObject: this.props.lockObject, label: "Offset Y", target: Object(_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_9__["makeTargetsProxy"])(controls, this.props.onPropertyChangedObservable), propertyName: "shadowOffsetY", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67338
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_6__["FloatLineComponent"], { lockObject: this.props.lockObject, label: "Blur", target: Object(_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_9__["makeTargetsProxy"])(controls, this.props.onPropertyChangedObservable), propertyName: "shadowBlur", onPropertyChangedObservable: this.props.onPropertyChangedObservable }))));
67121
67339
  };
67122
67340
  return CommonControlPropertyGridComponent;
67123
67341
  }(react__WEBPACK_IMPORTED_MODULE_1__["Component"]));
@@ -67236,7 +67454,7 @@ var GridPropertyGridComponent = /** @class */ (function (_super) {
67236
67454
  rows.push(grid.getRowDefinition(index));
67237
67455
  }
67238
67456
  return rows.map(function (rd, i) {
67239
- return react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textLineComponent__WEBPACK_IMPORTED_MODULE_4__["TextLineComponent"], { key: "r" + i, label: "Row " + i, value: rd.toString(grid.host, 2), underline: i === grid.rowCount - 1 });
67457
+ return react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textLineComponent__WEBPACK_IMPORTED_MODULE_4__["TextLineComponent"], { key: "r".concat(i), label: "Row ".concat(i), value: rd.toString(grid.host, 2), underline: i === grid.rowCount - 1 });
67240
67458
  });
67241
67459
  };
67242
67460
  GridPropertyGridComponent.prototype.renderColumns = function () {
@@ -67246,7 +67464,7 @@ var GridPropertyGridComponent = /** @class */ (function (_super) {
67246
67464
  cols.push(grid.getColumnDefinition(index));
67247
67465
  }
67248
67466
  return cols.map(function (cd, i) {
67249
- return react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textLineComponent__WEBPACK_IMPORTED_MODULE_4__["TextLineComponent"], { key: "c" + i, label: "Column " + i, value: cd.toString(grid.host, 2) });
67467
+ return react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textLineComponent__WEBPACK_IMPORTED_MODULE_4__["TextLineComponent"], { key: "c".concat(i), label: "Column ".concat(i), value: cd.toString(grid.host, 2) });
67250
67468
  });
67251
67469
  };
67252
67470
  GridPropertyGridComponent.prototype.render = function () {
@@ -67334,7 +67552,7 @@ __webpack_require__.r(__webpack_exports__);
67334
67552
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
67335
67553
  /* harmony import */ var _tabs_propertyGrids_gui_commonControlPropertyGridComponent__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../tabs/propertyGrids/gui/commonControlPropertyGridComponent */ "./sharedUiComponents/tabs/propertyGrids/gui/commonControlPropertyGridComponent.tsx");
67336
67554
  /* harmony import */ var _lines_lineContainerComponent__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../lines/lineContainerComponent */ "./sharedUiComponents/lines/lineContainerComponent.tsx");
67337
- /* harmony import */ var _babylonjs_gui_2D_controls_image__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babylonjs/gui/2D/controls/image */ "@babylonjs/gui/2D/controls/control");
67555
+ /* harmony import */ var _babylonjs_gui_2D_controls_image__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babylonjs/gui/2D/controls/image */ "@babylonjs/gui/2D/controls/image");
67338
67556
  /* harmony import */ var _babylonjs_gui_2D_controls_image__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babylonjs_gui_2D_controls_image__WEBPACK_IMPORTED_MODULE_4__);
67339
67557
  /* harmony import */ var _lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../lines/floatLineComponent */ "./sharedUiComponents/lines/floatLineComponent.tsx");
67340
67558
  /* harmony import */ var _lines_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../lines/checkBoxLineComponent */ "./sharedUiComponents/lines/checkBoxLineComponent.tsx");
@@ -67522,6 +67740,8 @@ __webpack_require__.r(__webpack_exports__);
67522
67740
  /* harmony import */ var _lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../lines/floatLineComponent */ "./sharedUiComponents/lines/floatLineComponent.tsx");
67523
67741
  /* harmony import */ var _lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../lines/textInputLineComponent */ "./sharedUiComponents/lines/textInputLineComponent.tsx");
67524
67742
  /* harmony import */ var _lines_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../lines/checkBoxLineComponent */ "./sharedUiComponents/lines/checkBoxLineComponent.tsx");
67743
+ /* harmony import */ var _lines_targetsProxy__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../lines/targetsProxy */ "./sharedUiComponents/lines/targetsProxy.tsx");
67744
+
67525
67745
 
67526
67746
 
67527
67747
 
@@ -67535,14 +67755,14 @@ var RadioButtonPropertyGridComponent = /** @class */ (function (_super) {
67535
67755
  return _super.call(this, props) || this;
67536
67756
  }
67537
67757
  RadioButtonPropertyGridComponent.prototype.render = function () {
67538
- var radioButton = this.props.radioButton;
67758
+ var radioButtons = this.props.radioButtons;
67539
67759
  return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "pane" },
67540
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_tabs_propertyGrids_gui_commonControlPropertyGridComponent__WEBPACK_IMPORTED_MODULE_2__["CommonControlPropertyGridComponent"], { lockObject: this.props.lockObject, control: radioButton, onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67760
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_tabs_propertyGrids_gui_commonControlPropertyGridComponent__WEBPACK_IMPORTED_MODULE_2__["CommonControlPropertyGridComponent"], { lockObject: this.props.lockObject, controls: radioButtons, onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67541
67761
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_lineContainerComponent__WEBPACK_IMPORTED_MODULE_3__["LineContainerComponent"], { title: "RADIO BUTTON" },
67542
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_4__["FloatLineComponent"], { lockObject: this.props.lockObject, label: "Thickness", target: radioButton, propertyName: "thickness", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67543
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_4__["FloatLineComponent"], { lockObject: this.props.lockObject, label: "Check size ratio", target: radioButton, propertyName: "checkSizeRatio", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67544
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_5__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "Group", target: radioButton, propertyName: "group", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67545
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_6__["CheckBoxLineComponent"], { label: "Checked", target: radioButton, propertyName: "isChecked", onPropertyChangedObservable: this.props.onPropertyChangedObservable }))));
67762
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_4__["FloatLineComponent"], { lockObject: this.props.lockObject, label: "Thickness", target: Object(_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_7__["makeTargetsProxy"])(radioButtons, this.props.onPropertyChangedObservable), propertyName: "thickness", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67763
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_4__["FloatLineComponent"], { lockObject: this.props.lockObject, label: "Check size ratio", target: Object(_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_7__["makeTargetsProxy"])(radioButtons, this.props.onPropertyChangedObservable), propertyName: "checkSizeRatio", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67764
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_5__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "Group", target: Object(_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_7__["makeTargetsProxy"])(radioButtons, this.props.onPropertyChangedObservable), propertyName: "group", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67765
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_6__["CheckBoxLineComponent"], { label: "Checked", target: Object(_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_7__["makeTargetsProxy"])(radioButtons, this.props.onPropertyChangedObservable), propertyName: "isChecked", onPropertyChangedObservable: this.props.onPropertyChangedObservable }))));
67546
67766
  };
67547
67767
  return RadioButtonPropertyGridComponent;
67548
67768
  }(react__WEBPACK_IMPORTED_MODULE_1__["Component"]));
@@ -67751,7 +67971,7 @@ __webpack_require__.r(__webpack_exports__);
67751
67971
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "../../../../node_modules/react/index.js");
67752
67972
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
67753
67973
  /* harmony import */ var _tabs_propertyGrids_gui_commonControlPropertyGridComponent__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../tabs/propertyGrids/gui/commonControlPropertyGridComponent */ "./sharedUiComponents/tabs/propertyGrids/gui/commonControlPropertyGridComponent.tsx");
67754
- /* harmony import */ var _babylonjs_gui_2D_controls_textBlock__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babylonjs/gui/2D/controls/textBlock */ "@babylonjs/gui/2D/controls/control");
67974
+ /* harmony import */ var _babylonjs_gui_2D_controls_textBlock__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babylonjs/gui/2D/controls/textBlock */ "@babylonjs/gui/2D/controls/image");
67755
67975
  /* harmony import */ var _babylonjs_gui_2D_controls_textBlock__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babylonjs_gui_2D_controls_textBlock__WEBPACK_IMPORTED_MODULE_3__);
67756
67976
  /* harmony import */ var _lines_lineContainerComponent__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../lines/lineContainerComponent */ "./sharedUiComponents/lines/lineContainerComponent.tsx");
67757
67977
  /* harmony import */ var _lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../lines/textInputLineComponent */ "./sharedUiComponents/lines/textInputLineComponent.tsx");
@@ -68100,14 +68320,14 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__babylonjs_core_Misc_observable__;
68100
68320
 
68101
68321
  /***/ }),
68102
68322
 
68103
- /***/ "@babylonjs/gui/2D/controls/control":
68323
+ /***/ "@babylonjs/gui/2D/controls/image":
68104
68324
  /*!***************************************************************************************************************************!*\
68105
68325
  !*** external {"root":["BABYLON","GUI"],"commonjs":"@babylonjs/gui","commonjs2":"@babylonjs/gui","amd":"@babylonjs/gui"} ***!
68106
68326
  \***************************************************************************************************************************/
68107
68327
  /*! no static exports found */
68108
68328
  /***/ (function(module, exports) {
68109
68329
 
68110
- module.exports = __WEBPACK_EXTERNAL_MODULE__babylonjs_gui_2D_controls_control__;
68330
+ module.exports = __WEBPACK_EXTERNAL_MODULE__babylonjs_gui_2D_controls_image__;
68111
68331
 
68112
68332
  /***/ }),
68113
68333