HEX
Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/7.2.34
System: Linux atalantini.com 3.10.0-1127.13.1.el7.x86_64 #1 SMP Tue Jun 23 15:46:38 UTC 2020 x86_64
User: root (0)
PHP: 7.2.34
Disabled: NONE
Upload Files
File: /var/www/html/maisonimmobiliare/wp-content/plugins/3d-viewer-block/dist/editor.js.map
{"version":3,"file":"editor.js","mappings":"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","sources":["webpack://3d-viewer-block/external var [\"wp\",\"blocks\"]","webpack://3d-viewer-block/external var \"React\"","webpack://3d-viewer-block/external var [\"wp\",\"i18n\"]","webpack://3d-viewer-block/../Components/utils/functions.js","webpack://3d-viewer-block/external var [\"wp\",\"blockEditor\"]","webpack://3d-viewer-block/external var [\"wp\",\"components\"]","webpack://3d-viewer-block/../Components/Label/Label.js","webpack://3d-viewer-block/../Components/utils/options.js","webpack://3d-viewer-block/../Components/Background/Background.js","webpack://3d-viewer-block/../Components/BColor/BColor.js","webpack://3d-viewer-block/../Components/utils/icons.js","webpack://3d-viewer-block/../Components/ColorsControl/ColorsControl.js","webpack://3d-viewer-block/../Components/HelpPanel/HelpPanel.js","webpack://3d-viewer-block/../Components/IconControl/IconControl.js","webpack://3d-viewer-block/external var [\"wp\",\"data\"]","webpack://3d-viewer-block/external var [\"wp\",\"blob\"]","webpack://3d-viewer-block/../Components/ImageControl/ImageControl.js","webpack://3d-viewer-block/../Components/MediaControl/MediaControl.js","webpack://3d-viewer-block/./src/hooks/useWPAjaxQuery.js","webpack://3d-viewer-block/./src/utils/options.js","webpack://3d-viewer-block/./src/Settings.js","webpack://3d-viewer-block/./src/Style.js","webpack://3d-viewer-block/./src/TDViewer.js","webpack://3d-viewer-block/./src/Edit.js","webpack://3d-viewer-block/./src/utils/icons.js","webpack://3d-viewer-block/./src/editor.js"],"sourcesContent":["var __WEBPACK_NAMESPACE_OBJECT__ = wp.blocks;","var __WEBPACK_NAMESPACE_OBJECT__ = React;","var __WEBPACK_NAMESPACE_OBJECT__ = wp.i18n;","export const getBoxValue = object => Object.values(object).join(' ');\r\n\r\nexport const getImageSizes = (image, imageSizes) => {\r\n\tif (!image) return [];\r\n\tlet options = [];\r\n\tconst sizes = image.media_details.sizes;\r\n\r\n\tfor (const key in sizes) {\r\n\t\tconst imageSize = imageSizes.find(s => s.slug === key);\r\n\t\tif (imageSize) {\r\n\t\t\toptions.push({ label: imageSize.name, value: sizes[key].source_url });\r\n\t\t}\r\n\t}\r\n\treturn options;\r\n}\r\n\r\nexport const tabController = () => {\r\n\tsetTimeout(() => {\r\n\t\tconst panelBodies = document.querySelectorAll('.components-panel__body-title button');\r\n\t\tpanelBodies.forEach(item => {\r\n\t\t\titem.addEventListener('click', clickEveryItem);\r\n\t\t});\r\n\r\n\t\tfunction clickEveryItem() {\r\n\t\t\tthis.removeEventListener('click', clickEveryItem);\r\n\t\t\tpanelBodies.forEach(item => {\r\n\t\t\t\tif (item.getAttribute('aria-expanded') === 'true' && !item.isEqualNode(this)) {\r\n\t\t\t\t\titem.click();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\tthis.addEventListener('click', clickEveryItem);\r\n\t\t\t}, 500);\r\n\t\t}\r\n\t}, 500);\r\n};","var __WEBPACK_NAMESPACE_OBJECT__ = wp.blockEditor;","var __WEBPACK_NAMESPACE_OBJECT__ = wp.components;","const Label = props => {\r\n\tconst { className = 'mt20 mb5', htmlFor, children } = props;\r\n\r\n\treturn <label className={`bPlLabel ${className}`} htmlFor={htmlFor}>{children}</label>\r\n};\r\nexport default Label;","export const borderStyles = [\r\n\t{ label: 'Solid', value: 'solid' },\r\n\t{ label: 'Dashed', value: 'dashed' },\r\n\t{ label: 'Dotted', value: 'dotted' },\r\n\t{ label: 'Double', value: 'double' },\r\n\t{ label: 'Groove', value: 'groove' },\r\n\t{ label: 'Inset', value: 'inset' },\r\n\t{ label: 'Outset', value: 'outset' },\r\n\t{ label: 'Ridge', value: 'ridge' }\r\n];\r\n\r\nexport const pxUnit = (def = 0) => ({ value: 'px', label: 'px', default: def });\r\nexport const perUnit = (def = 0) => ({ value: '%', label: '%', default: def });\r\nexport const emUnit = (def = 0) => ({ value: 'em', label: 'em', default: def });\r\nexport const remUnit = (def = 0) => ({ value: 'rem', label: 'rem', default: def });\r\nexport const vwUnit = (def = 0) => ({ value: 'vw', label: 'vw', default: def });\r\nexport const vhUnit = (def = 0) => ({ value: 'vh', label: 'vh', default: def });\r\n\r\nexport const sides = [\r\n\t{ value: 'all', label: 'All Sides' },\r\n\t{ value: 'top', label: 'Top' },\r\n\t{ value: 'right', label: 'Right' },\r\n\t{ value: 'bottom', label: 'Bottom' },\r\n\t{ value: 'left', label: 'Left' },\r\n\t{ value: 'topRight', label: 'Top Right' },\r\n\t{ value: 'topBottom', label: 'Top Bottom' },\r\n\t{ value: 'topLeft', label: 'Top Left' },\r\n\t{ value: 'topRightBottom', label: 'Top Right Bottom' },\r\n\t{ value: 'topRightLeft', label: 'Top Right Left' },\r\n\t{ value: 'topBottomLeft', label: 'Top Bottom Left' },\r\n\t{ value: 'rightBottom', label: 'Right Bottom' },\r\n\t{ value: 'rightLeft', label: 'Right Left' },\r\n\t{ value: 'rightBottomLeft', label: 'Right Bottom Left' },\r\n\t{ value: 'bottomLeft', label: 'Bottom Left' }\r\n];\r\n\r\nexport const gradients = [\r\n\t{ name: 'Daisy Bush to Fuchsia Blue', gradient: 'linear-gradient(135deg, #4527a4, #8344c5)', slug: 'daisy-bush-to-fuchsia-blue' },\r\n\t{ name: 'Reddish Orange to Yellowish Orange', gradient: 'linear-gradient(135deg, #fe6601, #fbb040)', slug: 'reddish-orange-to-yellowish-orange' },\r\n\t{ name: 'Tuft Bush to Carnation Pink', gradient: 'linear-gradient(135deg, #fed1c7, #fe8dc6)', slug: 'tuft-bush-to-carnation-pink' },\r\n\t{ name: 'Golden Fizz to Yellow Orange', gradient: 'linear-gradient(135deg, #f9ed32, #fbb040)', slug: 'golden-fizz-to-yellow-orange' },\r\n\t{ name: 'Light Electric Violet to Electric Violet', gradient: 'linear-gradient(135deg, #e100ff, #7f00ff)', slug: 'light-electric-violet-to-electric-violet' },\r\n\t{ name: 'Hot Pink to Violet Red', gradient: 'linear-gradient(135deg, #ff7db8, #ee2a7b)', slug: 'hot-pink-to-violet-red' },\r\n\t{ name: 'Spring Green to Azure Radiance', gradient: 'linear-gradient(135deg, #00ff8f, #00a1ff)', slug: 'spring-green-to-azure-radiance' }\r\n];\r\nexport const bgTypes = [\r\n\t{ label: 'Solid', value: 'solid' },\r\n\t{ label: 'Gradient', value: 'gradient' }\r\n];","/**\r\n * @props className (optional): 'mt20' (String)\r\n * @props label (optional): 'Background' (String)\r\n * @props background (required): { type, color, gradient, image, position, attachment, repeat, size, overlayColor } (Object)\r\n * @props onChange (required): (Function)\r\n * @props defaults (optional): { type, color, gradient, image, position, attachment, repeat, size, overlayColor } (Object)\r\n */\r\n\r\nimport { __ } from '@wordpress/i18n';\r\nimport { Button, PanelRow, Dropdown, __experimentalGradientPicker, GradientPicker, __experimentalAlignmentMatrixControl as AlignmentMatrixControl, SelectControl } from '@wordpress/components';\r\nconst Gradient = __experimentalGradientPicker || GradientPicker;\r\n\r\nimport { Label, BColor, BtnGroup, InlineDetailMediaUpload } from '../index';\r\nimport { gradients } from '../utils/options';\r\nimport { bgTypes, attachments, repeats, sizes } from './options';\r\n\r\nconst Background = props => {\r\n\tconst { className = '', label = __('Background', 'bplugins'), value = {}, onChange, defaults = {}, isSolid = true, isGradient = true, isImage = true } = props;\r\n\r\n\tconst defaultVal = { type: 'solid', color: '#000000b3', gradient: 'linear-gradient(135deg, #4527a4, #8344c5)', image: {}, position: 'center center', attachment: 'initial', repeat: 'no-repeat', size: 'cover', overlayColor: '#000000b3' }\r\n\r\n\tconst getDefault = property => defaults?.[property] || defaultVal[property];\r\n\tconst setDefault = property => onChange({ ...value, [property]: getDefault(property) });\r\n\r\n\tconst getValue = property => value?.[property] || getDefault(property);\r\n\tconst setValue = (property, val) => onChange({ ...value, [property]: val });\r\n\tconst resetValue = property => <Button icon='image-rotate' className='bPlResetVal' onClick={() => setDefault(property)} />\r\n\r\n\treturn <PanelRow className={`bPlDropdown ${className}`}>\r\n\t\t<Label className='mb5'>{label}</Label>\r\n\r\n\t\t<Dropdown className='bPlDropdownContainer' contentClassName='bPlDropdownPopover' position='bottom right'\r\n\t\t\trenderToggle={({ isOpen, onToggle }) => <Button icon='edit' onClick={onToggle} aria-expanded={isOpen} />}\r\n\t\t\trenderContent={() => <>\r\n\t\t\t\t{/* Type */}\r\n\t\t\t\t<PanelRow>\r\n\t\t\t\t\t<Label className=''>{__('Type:', 'bplugins')}</Label>\r\n\t\t\t\t\t<BtnGroup value={getValue('type')} onChange={val => setValue('type', val)} options={false === isSolid ? bgTypes.filter(b => b.value !== 'solid') : false === isGradient ? bgTypes.filter(b => b.value !== 'gradient') : false === isImage ? bgTypes.filter(b => b.value !== 'image') : bgTypes} />\r\n\t\t\t\t</PanelRow>\r\n\r\n\t\t\t\t{'solid' === getValue('type') && isSolid && <BColor className='mt20' label={__('Color:', 'bplugins')} value={getValue('color')} onChange={val => setValue('color', val)} defaultColor={getDefault('color')} />}\r\n\r\n\t\t\t\t{'gradient' === getValue('type') && isGradient && <Gradient className='mt20' value={getValue('gradient')} onChange={val => setValue('gradient', val)} gradients={gradients} />}\r\n\r\n\t\t\t\t{'image' === getValue('type') && isImage && <>\r\n\t\t\t\t\t<Label className='mb5'>{__('Image', 'bplugins')}</Label>\r\n\t\t\t\t\t<InlineDetailMediaUpload types={['image']} value={getValue('image')} onChange={val => setValue('image', val)} />\r\n\r\n\t\t\t\t\t<PanelRow>\r\n\t\t\t\t\t\t<Label className=''>{__('Position', 'bplugins')}</Label>\r\n\t\t\t\t\t\t<AlignmentMatrixControl value={getValue('position')} onChange={val => setValue('position', val)} />\r\n\t\t\t\t\t\t{value?.position && value?.position !== getDefault('position') && resetValue('position')}\r\n\t\t\t\t\t</PanelRow>\r\n\r\n\t\t\t\t\t<PanelRow>\r\n\t\t\t\t\t\t<Label className=''>{__('Attachment:', 'bplugins')}</Label>\r\n\t\t\t\t\t\t<SelectControl value={getValue('attachment')} onChange={val => setValue('attachment', val)} options={attachments} />\r\n\t\t\t\t\t\t{value?.attachments && value?.attachments !== getDefault('attachments') && resetValue('attachments')}\r\n\t\t\t\t\t</PanelRow>\r\n\r\n\t\t\t\t\t<PanelRow>\r\n\t\t\t\t\t\t<Label className=''>{__('Repeat:', 'bplugins')}</Label>\r\n\t\t\t\t\t\t<SelectControl value={getValue('repeat')} onChange={val => setValue('repeat', val)} options={repeats} />\r\n\t\t\t\t\t\t{value?.repeat && value?.repeat !== getDefault('repeat') && resetValue('repeat')}\r\n\t\t\t\t\t</PanelRow>\r\n\r\n\t\t\t\t\t<PanelRow>\r\n\t\t\t\t\t\t<Label className=''>{__('Size:', 'bplugins')}</Label>\r\n\t\t\t\t\t\t<SelectControl value={getValue('size')} onChange={val => setValue('size', val)} options={sizes} />\r\n\t\t\t\t\t\t{value?.size && value?.size !== getDefault('size') && resetValue('size')}\r\n\t\t\t\t\t</PanelRow>\r\n\r\n\t\t\t\t\t<BColor className='mt20' label={__('Overlay Color:', 'bplugins')} value={getValue('overlayColor')} onChange={val => setValue('overlayColor', val)} defaultColor={getDefault('overlayColor')} />\r\n\t\t\t\t</>}\r\n\t\t\t</>}\r\n\t\t/>\r\n\t</PanelRow>\r\n};\r\nexport default Background;","/**\r\n * @props className (optional): 'mt20' (String)\r\n * @props label: 'Color' (String)\r\n * @props value: value of color (String)\r\n * @props defaultColor: default color for reset color\r\n * @props onChange: (Function)\r\n * @props disableAlpha: Disable alpha of color (Boolean)\r\n * @return color (String)\r\n */\r\n\r\nimport { useState } from 'react';\r\nimport { __ } from '@wordpress/i18n';\r\nimport { Dropdown, ColorPicker, Button, PanelRow } from '@wordpress/components';\r\n\r\nimport './BColor.scss';\r\nimport { Label } from '../index';\r\n\r\nconst BColor = props => {\r\n\tconst { className = '', label = __('Color:', 'bplugins'), value, onChange, defaultColor, disableAlpha = false } = props;\r\n\tconst [state, setState] = useState(value);\r\n\r\n\tconst themeColors = wp.data.select('core/block-editor').getSettings().colors;\r\n\r\n\treturn <PanelRow className={className}>\r\n\t\t<Label className=''>{label}</Label>\r\n\r\n\t\t<Dropdown className='bPlDropdownContainer bColor' contentClassName='bPlDropdownPopover bColorDropdownPopover' position='top right'\r\n\t\t\trenderToggle={({ isOpen, onToggle }) => {\r\n\t\t\t\treturn <>\r\n\t\t\t\t\t<div className='bColorButtonContainer'>\r\n\t\t\t\t\t\t<button className='bColorButton' isPrimary onClick={onToggle} aria-expanded={isOpen} style={{ backgroundColor: value || 'transparent' }} />\r\n\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t{defaultColor && defaultColor != state && <Button className='bPlResetVal' icon='image-rotate' label={__('Reset', 'bplugins')} onClick={() => {\r\n\t\t\t\t\t\tonChange(defaultColor);\r\n\t\t\t\t\t\tsetState(defaultColor);\r\n\t\t\t\t\t}} />}\r\n\t\t\t\t</>;\r\n\t\t\t}}\r\n\r\n\t\t\trenderContent={({ isOpen, onClose }) => <>\r\n\t\t\t\t<ColorPicker color={value || ''} disableAlpha={disableAlpha} onChangeComplete={(c) => {\r\n\t\t\t\t\tonChange(`rgba(${c.rgb.r}, ${c.rgb.g}, ${c.rgb.b}, ${c.rgb.a})`);\r\n\t\t\t\t\tsetState(c.hex);\r\n\t\t\t\t}} />\r\n\r\n\t\t\t\t{themeColors.length && <div className='themeColors'>\r\n\t\t\t\t\t{themeColors.map(({ color }) => <div className='bColorButtonContainer'>\r\n\t\t\t\t\t\t<button\r\n\t\t\t\t\t\t\tclassName='bColorButton'\r\n\t\t\t\t\t\t\tonClick={() => {\r\n\t\t\t\t\t\t\t\tonChange(color);\r\n\t\t\t\t\t\t\t\tsetState(color);\r\n\t\t\t\t\t\t\t\tonClose;\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\taria-expanded={isOpen}\r\n\t\t\t\t\t\t\tstyle={{ backgroundColor: value ? color : 'transparent' }}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</div>)}\r\n\t\t\t\t</div>}\r\n\t\t\t</>}\r\n\t\t/>\r\n\t</PanelRow>\r\n};\r\nexport default BColor;","const color = '#4527a4';\r\n\r\nexport const desktopIcon = <svg xmlns='https://www.w3.org/2000/svg' width={15} height={15} viewBox='0 0 548.172 548.172'>\r\n\t<path fill={color} d='M534.75 49.965c-8.945-8.945-19.694-13.422-32.261-13.422H45.681c-12.562 0-23.313 4.477-32.264 13.422C4.471 58.913 0 69.663 0 82.226v310.633c0 12.566 4.471 23.315 13.417 32.265 8.951 8.945 19.702 13.414 32.264 13.414h155.318c0 7.231-1.524 14.661-4.57 22.269-3.044 7.614-6.09 14.273-9.136 19.981-3.042 5.715-4.565 9.897-4.565 12.56 0 4.948 1.807 9.24 5.424 12.847 3.615 3.621 7.898 5.435 12.847 5.435h146.179c4.949 0 9.233-1.813 12.848-5.435 3.62-3.606 5.427-7.898 5.427-12.847 0-2.468-1.526-6.611-4.571-12.415-3.046-5.801-6.092-12.566-9.134-20.267-3.046-7.71-4.569-15.085-4.569-22.128h155.318c12.56 0 23.309-4.469 32.254-13.414 8.949-8.949 13.422-19.698 13.422-32.265V82.226c.003-12.563-4.474-23.313-13.423-32.261zm-23.123 269.803c0 2.475-.903 4.613-2.711 6.424-1.81 1.804-3.952 2.707-6.427 2.707H45.681c-2.473 0-4.615-.903-6.423-2.707-1.807-1.817-2.712-3.949-2.712-6.424V82.226c0-2.475.902-4.615 2.712-6.423 1.809-1.805 3.951-2.712 6.423-2.712h456.815c2.471 0 4.617.904 6.42 2.712 1.808 1.809 2.711 3.949 2.711 6.423v237.542z' />\r\n</svg>;\r\n\r\nexport const tabletIcon = <svg xmlns='https://www.w3.org/2000/svg' width={15} height={15} viewBox='0 0 512 512'>\r\n\t<path fill={color} d='M394.667 0H117.333C87.936 0 64 23.936 64 53.333v405.333C64 488.064 87.936 512 117.333 512h277.333C424.064 512 448 488.064 448 458.667V53.333C448 23.936 424.064 0 394.667 0zM256 480c-11.755 0-21.333-9.579-21.333-21.333s9.579-21.333 21.333-21.333 21.333 9.579 21.333 21.333S267.755 480 256 480zm149.333-64c0 5.888-4.779 10.667-10.667 10.667H117.333c-5.888 0-10.667-4.779-10.667-10.667V53.333c0-5.888 4.779-10.667 10.667-10.667h277.333c5.888 0 10.667 4.779 10.667 10.667V416z' />\r\n</svg>;\r\n\r\nexport const mobileIcon = <svg xmlns='https://www.w3.org/2000/svg' width={15} height={15} viewBox='0 0 503.604 503.604'>\r\n\t<path fill={color} d='M337.324 0H167.192c-28.924 0-53.5 23.584-53.5 52.5v398.664c0 28.916 24.056 52.44 52.98 52.44l170.412-.184c28.92 0 52.58-23.528 52.58-52.448l.248-398.5C389.908 23.452 366.364 0 337.324 0zM227.68 31.476h49.36c4.336 0 7.868 3.52 7.868 7.868 0 4.348-3.532 7.868-7.868 7.868h-49.36a7.865 7.865 0 01-7.868-7.868 7.865 7.865 0 017.868-7.868zm-29.66 2.504c2.916-2.912 8.224-2.952 11.136 0a7.973 7.973 0 012.324 5.588c0 2.048-.864 4.088-2.324 5.548-1.452 1.46-3.504 2.32-5.548 2.32-2.084 0-4.088-.86-5.588-2.32-1.452-1.456-2.28-3.5-2.28-5.548-.004-2.088.828-4.132 2.28-5.588zm52.752 454.028c-12.984 0-23.544-10.568-23.544-23.548 0-12.984 10.56-23.548 23.544-23.548s23.544 10.564 23.544 23.548c0 12.98-10.564 23.548-23.544 23.548zm114.716-63.1H141.232V74.756h224.256v350.152z'></path>\r\n</svg>;\r\n\r\nexport const scrollIcon = <svg xmlns='https://www.w3.org/2000/svg' width={14} height={14} viewBox='0 0 330 330' >\r\n\t<path d='M100.606 229.393c-5.857-5.857-15.355-5.857-21.213 0-5.858 5.857-5.858 15.355 0 21.213l75 75A14.954 14.954 0 00165 330a14.95 14.95 0 0010.606-4.394l75-75c5.858-5.857 5.858-15.355 0-21.213-5.857-5.857-15.355-5.857-21.213 0L180 278.787V51.212l49.394 49.394A14.95 14.95 0 00240 105a14.95 14.95 0 0010.606-4.394c5.858-5.857 5.858-15.355 0-21.213l-75-75c-5.857-5.858-15.355-5.858-21.213 0l-75 75c-5.858 5.857-5.858 15.355 0 21.213 5.857 5.857 15.355 5.857 21.213 0L150 51.212v227.574l-49.394-49.393z' />\r\n</svg>;\r\n\r\nexport const gearIcon = <svg xmlns='http://www.w3.org/2000/svg' width={16} height={16} viewBox='0 0 430.848 430.848'>\r\n\t<path d='M286.244,249.537l10.992-45.639c0.035-0.143,0.071-0.285,0.109-0.428c2.909-10.867,11.469-19.426,22.339-22.338 l33.347-8.936c-5.472-6.525-13.678-10.682-22.839-10.682h-9.837c-2.511-7.895-5.7-15.59-9.515-22.957l6.96-6.959 c11.622-11.623,11.622-30.535,0-42.156L296.76,68.4c-5.631-5.629-13.117-8.73-21.079-8.73c-7.961,0-15.447,3.102-21.078,8.732 l-6.96,6.959c-7.369-3.814-15.064-7.004-22.956-9.516V56.01c0-16.436-13.372-29.807-29.808-29.807h-29.758 c-16.436,0-29.808,13.371-29.808,29.807v9.836c-7.893,2.512-15.588,5.701-22.957,9.516l-6.96-6.961 c-5.631-5.629-13.117-8.73-21.078-8.73c-7.961,0-15.447,3.102-21.079,8.732L42.2,89.443c-11.622,11.621-11.622,30.533,0,42.156 l6.959,6.959c-3.815,7.367-7.004,15.063-9.515,22.957h-9.837C13.372,161.516,0,174.887,0,191.324v29.758 c0,16.436,13.372,29.807,29.808,29.807h9.837c2.511,7.895,5.7,15.588,9.515,22.957l-6.96,6.959 c-11.623,11.623-11.623,30.533,0,42.158l21.041,21.039c5.632,5.631,13.118,8.732,21.079,8.732s15.447-3.102,21.077-8.732 l6.96-6.959c7.366,3.815,15.061,7.002,22.957,9.514v9.838c0,16.436,13.372,29.809,29.808,29.809h25.809 c-2.388-5.691-3.644-11.852-3.645-18.209c-0.002-12.572,4.892-24.391,13.781-33.279L286.244,249.537z M180,286.201 c-44.112,0-80-35.887-80-79.998c0-44.113,35.888-80.002,80-80.002s80,35.889,80,80.002C260,250.314,224.112,286.201,180,286.201z' />\r\n\t<path d='M425.267,218.734l-0.319-0.32c-0.939-0.941-2.189-1.428-3.541-1.469c-1.326,0-2.598,0.525-3.536,1.465l-21.596,21.596 c-3.304,3.305-7.699,5.125-12.375,5.125c-4.676,0-9.072-1.82-12.379-5.129c-3.307-3.305-5.128-7.701-5.128-12.377 c0.001-4.676,1.821-9.072,5.126-12.377l21.596-21.596c0.939-0.939,1.465-2.213,1.464-3.539c-0.001-1.328-0.53-2.6-1.47-3.537 l-0.314-0.313c-3.605-3.605-8.399-5.592-13.499-5.592c-1.665,0-3.325,0.219-4.936,0.65l-44.348,11.885 c-6.568,1.76-11.741,6.932-13.498,13.496c-0.011,0.041-0.021,0.08-0.031,0.121l-11.817,49.063l-87.667,87.666 c-6.528,6.527-10.122,15.207-10.121,24.44c0.002,9.232,3.598,17.91,10.126,24.439l2.088,2.088 c6.528,6.529,15.209,10.125,24.443,10.125h0c9.231,0,17.909-3.594,24.437-10.121l87.667-87.666l49.061-11.816 c0.041-0.01,0.082-0.022,0.122-0.031c6.563-1.758,11.735-6.928,13.497-13.496l11.883-44.352 C431.959,230.598,430.066,223.535,425.267,218.734z M257.26,368.406c-1.888,1.889-4.399,2.93-7.071,2.93 c-2.671,0-5.183-1.041-7.072-2.932c-1.887-1.885-2.928-4.397-2.928-7.068c-0.001-2.672,1.041-5.185,2.931-7.072 c1.886-1.887,4.398-2.928,7.069-2.928c2.672,0,5.184,1.041,7.072,2.93c1.887,1.885,2.928,4.396,2.928,7.068 C260.189,364.006,259.148,366.518,257.26,368.406z M316.194,305.935L274.82,347.31c-1.416,1.416-3.3,2.197-5.303,2.197 c-2.003,0-3.887-0.781-5.303-2.197c-1.417-1.416-2.197-3.299-2.197-5.303s0.78-3.887,2.197-5.303l41.374-41.375 c1.417-1.418,3.3-2.197,5.303-2.197s3.887,0.779,5.303,2.197c1.417,1.416,2.197,3.299,2.197,5.303S317.611,304.519,316.194,305.935 z' />\r\n</svg>\r\n\r\nexport const bookIcon = <svg xmlns='http://www.w3.org/2000/svg' width={30} height={30} viewBox='0 0 448 512'>\r\n\t<path d='M96 0C43 0 0 43 0 96V416c0 53 43 96 96 96H384h32c17.7 0 32-14.3 32-32s-14.3-32-32-32V384c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32H384 96zm0 384H352v64H96c-17.7 0-32-14.3-32-32s14.3-32 32-32zm32-240c0-8.8 7.2-16 16-16H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16zm16 48H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16s7.2-16 16-16z' />\r\n</svg>\r\n\r\nexport const headsetIcon = <svg xmlns='http://www.w3.org/2000/svg' width={30} height={30} viewBox='0 0 512 512'>\r\n\t<path d='M256 48C141.1 48 48 141.1 48 256v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V256C0 114.6 114.6 0 256 0S512 114.6 512 256V400.1c0 48.6-39.4 88-88.1 88L313.6 488c-8.3 14.3-23.8 24-41.6 24H240c-26.5 0-48-21.5-48-48s21.5-48 48-48h32c17.8 0 33.3 9.7 41.6 24l110.4 .1c22.1 0 40-17.9 40-40V256c0-114.9-93.1-208-208-208zM144 208h16c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32H144c-35.3 0-64-28.7-64-64V272c0-35.3 28.7-64 64-64zm224 0c35.3 0 64 28.7 64 64v48c0 35.3-28.7 64-64 64H352c-17.7 0-32-14.3-32-32V240c0-17.7 14.3-32 32-32h16z' />\r\n</svg>\r\n\r\nexport const starIcon = <svg xmlns='http://www.w3.org/2000/svg' width={30} height={30} viewBox='0 0 576 512'>\r\n\t<path d='M316.9 18C311.6 7 300.4 0 288.1 0s-23.4 7-28.8 18L195 150.3 51.4 171.5c-12 1.8-22 10.2-25.7 21.7s-.7 24.2 7.9 32.7L137.8 329 113.2 474.7c-2 12 3 24.2 12.9 31.3s23 8 33.8 2.3l128.3-68.5 128.3 68.5c10.8 5.7 23.9 4.9 33.8-2.3s14.9-19.3 12.9-31.3L438.5 329 542.7 225.9c8.6-8.5 11.7-21.2 7.9-32.7s-13.7-19.9-25.7-21.7L381.2 150.3 316.9 18z' />\r\n</svg>\r\n\r\nexport const rightArrowIcon = <svg xmlns='http://www.w3.org/2000/svg' width={30} height={30} viewBox='0 0 448 512'>\r\n\t<path d='M438.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.8 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l306.7 0L233.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z' />\r\n</svg>","/**\r\n * @props className (optional): 'mt20' (String)\r\n * @props label (optional): 'Typography' (String)\r\n * @props colors (required): { color, bgType, bg, gradient } (Object)\r\n * @props onChange (required): (Function)\r\n * @props defaults (optional): { color, bgType, bg, gradient } (Object)\r\n */\r\n\r\nimport { __ } from '@wordpress/i18n';\r\nimport { Button, PanelRow, Dropdown, __experimentalGradientPicker, GradientPicker, ColorIndicator } from '@wordpress/components';\r\nconst Gradient = __experimentalGradientPicker || GradientPicker;\r\n\r\n// Variables\r\nimport { Label, BtnGroup, BColor } from '../index';\r\nimport { gradients, bgTypes } from '../utils/options';\r\n\r\nconst ColorsControl = props => {\r\n\tconst { className = '', label = __('Colors:', 'bplugins'), value, onChange, defaults = {} } = props;\r\n\r\n\tconst defaultVal = { color: '#333', bgType: 'solid', bg: '#0000', gradient: 'linear-gradient(135deg, #4527a4, #8344c5)' }\r\n\r\n\tconst getDefault = property => defaults?.[property] || defaultVal[property];\r\n\r\n\tconst getValue = property => value?.[property] || getDefault(property);\r\n\tconst setValue = (property, val) => onChange({ ...value, [property]: val });\r\n\r\n\treturn <PanelRow className={`bPlDropdown ${className}`}>\r\n\t\t<Label className=''>{label} <ColorIndicator colorValue={getValue('color')} /> <ColorIndicator colorValue={getValue('gradient' === getValue('bgType') ? 'gradient' : 'bg')} /></Label>\r\n\r\n\t\t<Dropdown className='bPlDropdownContainer' contentClassName='bPlDropdownPopover' position='bottom right'\r\n\t\t\trenderToggle={({ isOpen, onToggle }) => <Button icon='edit' onClick={onToggle} aria-expanded={isOpen} />}\r\n\t\t\trenderContent={() => <>\r\n\t\t\t\t<BColor label={__('Color:', 'bplugins')} value={getValue('color')} onChange={val => setValue('color', val)} defaultColor={getDefault('color')} />\r\n\r\n\t\t\t\t<PanelRow className='mt20'>\r\n\t\t\t\t\t<Label className=''>{__('Background:', 'bplugins')}</Label>\r\n\t\t\t\t\t<BtnGroup value={getValue('bgType')} onChange={val => setValue('bgType', val)} options={bgTypes} size='small' />\r\n\t\t\t\t</PanelRow>\r\n\r\n\t\t\t\t{'gradient' === getValue('bgType') ? <Gradient value={getValue('gradient')} onChange={val => setValue('gradient', val)} gradients={gradients} /> : <BColor label={__('Background Color:', 'bplugins')} value={getValue('bg')} onChange={val => setValue('bg', val)} defaultColor={getDefault('bg')} />}\r\n\t\t\t</>}\r\n\t\t/>\r\n\t</PanelRow>\r\n};\r\nexport default ColorsControl;","import { __ } from '@wordpress/i18n';\r\nimport { PanelBody } from '@wordpress/components';\r\n\r\nimport { bookIcon, headsetIcon, starIcon, rightArrowIcon } from '../utils/icons';\r\nimport './HelpPanel.scss';\r\n\r\nconst HelpPanel = ({ slug, docsLink }) => {\r\n\treturn <PanelBody className='bPlPanelBody bPlHelpPanel' title={__('Help', 'bplugins')} initialOpen={false}>\r\n\r\n\t\t<div className='helpItems'>\r\n\t\t\t{docsLink && <a href={docsLink} target='_blank' rel='noreferrer'>\r\n\t\t\t\t{bookIcon}\r\n\t\t\t\t<p>{__('Read Documentation', 'bplugins')}</p>\r\n\t\t\t</a>}\r\n\r\n\t\t\t<a href='https://bplugins.com/support' target='_blank' rel='noreferrer'>\r\n\t\t\t\t{headsetIcon}\r\n\t\t\t\t<p>{__('Contact Support', 'bplugins')}</p>\r\n\t\t\t</a>\r\n\r\n\t\t\t{slug && <a href={`https://wordpress.org/support/plugin/${slug}/reviews/#new-post`} target='_blank' rel='noreferrer'>\r\n\t\t\t\t{starIcon}\r\n\t\t\t\t<p>{__('Rate Plugin', 'bplugins')}</p>\r\n\t\t\t</a>}\r\n\r\n\t\t\t<a href='https://bplugins.com/products' target='_blank' rel='noreferrer'>\r\n\t\t\t\t{rightArrowIcon}\r\n\t\t\t\t<p>{__('Other Plugins', 'bplugins')}</p>\r\n\t\t\t</a>\r\n\t\t</div>\r\n\t</PanelBody>\r\n}\r\nexport default HelpPanel;","/**\r\n * @props className (optional): 'mt20' (String)\r\n * @props label (optional): 'Select Icon' (String)\r\n * @props icon (required): { class, fontSize, color } (Object)\r\n * @props onChange (required): (Function)\r\n * @props defaults (optional): { class, fontSize, color } (Object)\r\n */\r\n\r\nimport { useState } from 'react';\r\nimport { __ } from '@wordpress/i18n';\r\nimport { PanelRow, RangeControl, Tooltip, __experimentalGradientPicker, GradientPicker } from '@wordpress/components';\r\nconst Gradient = __experimentalGradientPicker || GradientPicker;\r\n\r\nimport './IconControl.scss';\r\n\r\nimport { Label, BtnGroup, BColor } from '../index';\r\nimport { gradients, bgTypes } from '../utils/options';\r\nimport iconLists5 from './iconLists5';\r\nimport iconLists6 from './iconLists6';\r\n\r\nconst IconControl = props => {\r\n\tconst { className = '', label = __('Select Icon:', 'bplugins'), value = {}, onChange, defaults = {}, isSize = true, isColor = true, version = 5 } = props;\r\n\r\n\tconst iconLists = 6 === version ? iconLists6 : iconLists5;\r\n\r\n\tconst defaultVal = { class: '', name: '', fontSize: 16, colorType: 'solid', color: 'inherit', gradient: 'linear-gradient(135deg, #4527a4, #8344c5)' }\r\n\r\n\tconst getDefault = property => defaults?.[property] || defaultVal[property];\r\n\r\n\tconst getValue = property => value?.[property] || getDefault(property);\r\n\tconst setValue = (property, val) => onChange({ ...value, [property]: val });\r\n\r\n\t// Font family searching\r\n\tconst [query, setQuery] = useState('');\r\n\tconst [isSearching, setIsSearching] = useState(false);\r\n\tconst searchIcons = iconLists.filter(({ name }) => name.replace(/-/g, ' ').toLowerCase().includes(query.toLowerCase()));\r\n\r\n\treturn <>\r\n\t\t<PanelRow className={`bPlIconTitle ${className}`}>\r\n\t\t\t<Label className='mt0 mb0'>{label}</Label>\r\n\t\t\t<i className={value?.class}></i>\r\n\t\t</PanelRow>\r\n\r\n\t\t<div className='bPlIconSelect'>\r\n\t\t\t<input type='search' value={query} onClick={() => setIsSearching(!isSearching)} placeholder={getValue('name')?.replace(/-/g, ' ') || 'Search & Select Icon'} onChange={e => setQuery(e.target.value)} />\r\n\r\n\t\t\t<span className={`dashicon dashicons dashicons-${isSearching ? 'arrow-up' : 'arrow-down'}`} onClick={() => setIsSearching(!isSearching)}></span>\r\n\r\n\t\t\t{isSearching && <div className='bPlIconLists'>\r\n\t\t\t\t{searchIcons?.map(item => <Tooltip key={item?.class} text={item?.name?.replace(/-/g, ' ')} position='top'><i onClick={() => {\r\n\t\t\t\t\tonChange({ ...value, ['class']: item?.class, ['name']: item?.name });\r\n\t\t\t\t\tsetQuery('');\r\n\t\t\t\t\tsetIsSearching(false);\r\n\t\t\t\t}} className={item?.class}></i></Tooltip>)}\r\n\t\t\t</div>}\r\n\t\t</div>\r\n\r\n\t\t{isSize && <>\r\n\t\t\t<Label>{__('Icon Size:', 'bplugins')}</Label>\r\n\t\t\t<RangeControl value={getValue('fontSize')} onChange={val => setValue('fontSize', val)} min={0} max={400} step={1} allowReset={true} resetFallbackValue={getDefault('fontSize')} initialPosition={getDefault('fontSize')} />\r\n\t\t</>}\r\n\r\n\t\t{isColor && <>\r\n\t\t\t<PanelRow className='mt20'>\r\n\t\t\t\t<Label className=''>{__('Icon Color Type:', 'bplugins')}</Label>\r\n\t\t\t\t<BtnGroup value={getValue('colorType')} onChange={val => setValue('colorType', val)} options={bgTypes} size='small' />\r\n\t\t\t</PanelRow>\r\n\r\n\t\t\t{'gradient' === getValue('colorType') ? <Gradient value={getValue('gradient')} onChange={val => setValue('gradient', val)} gradients={gradients} /> : <BColor label={__('Icon Color:', 'bplugins')} value={getValue('color')} onChange={val => setValue('color', val)} defaultColor={getDefault('color')} />}\r\n\t\t</>}\r\n\t</>\r\n};\r\nexport default IconControl;","var __WEBPACK_NAMESPACE_OBJECT__ = wp.data;","var __WEBPACK_NAMESPACE_OBJECT__ = wp.blob;","import { __ } from '@wordpress/i18n';\r\nimport { withSelect } from '@wordpress/data';\r\nimport { MediaUpload, MediaUploadCheck, MediaPlaceholder } from '@wordpress/block-editor';\r\nimport { Button, withNotices, TextControl, SelectControl, PanelRow, ToolbarGroup, ToolbarButton } from '@wordpress/components';\r\nimport { isBlobURL } from '@wordpress/blob';\r\n\r\nimport './ImageControl.scss';\r\nimport { Label } from '../index';\r\nimport { getImageSizes } from '../utils/functions';\r\n\r\n\r\nexport const ImageHolderControl = props => {\r\n\tconst { className, label = __('Image:', 'bplugins'), value = {}, onChange } = props;\r\n\r\n\tconst onImageSelect = ({ id, url, alt, title }) => onChange({ ...value, id, url, alt, title });\r\n\r\n\treturn <div className={className}>\r\n\t\t<Label className='mb5'>{label}</Label>\r\n\r\n\t\t<div className='editImageHolder'>\r\n\t\t\t<div className='mediaControl'>\r\n\t\t\t\t<MediaUpload allowedTypes={['image']} value={value?.id} onSelect={onImageSelect} render={({ open }) =>\r\n\t\t\t\t\t!value.url ? <div className='btnControl'>\r\n\t\t\t\t\t\t<Button icon='upload' onClick={open}>{__('Upload', 'bplugins')}</Button>\r\n\t\t\t\t\t</div> : <div className='btnControl'>\r\n\t\t\t\t\t\t<Button icon='controls-repeat' onClick={open}>{__('Replace', 'bplugins')}</Button>\r\n\t\t\t\t\t\t<Button icon='exit' onClick={() => onChange({})} className='btnRed'>{__('Remove', 'bplugins')}</Button>\r\n\t\t\t\t\t</div>} />\r\n\t\t\t</div>\r\n\r\n\t\t\t<img src={value?.url} alt={value?.alt || value?.title} />\r\n\t\t</div>\r\n\t</div>\r\n};\r\n\r\n\r\nexport const ChangeImageData = withSelect((select, props) => {\r\n\tconst { value } = props;\r\n\r\n\treturn {\r\n\t\timage: value?.id ? select('core').getMedia(value?.id) : null,\r\n\t\timageSizes: select('core/block-editor').getSettings().imageSizes\r\n\t}\r\n})(props => {\r\n\tconst { className, value = {}, onChange, image, imageSizes } = props;\r\n\r\n\tconst setValue = (property, val) => onChange({ ...value, [property]: val });\r\n\r\n\treturn <div className={className}>\r\n\t\t{value?.url && !isBlobURL(value?.url) && <>\r\n\t\t\t<Label className='mb5'>{__('Alt Text (Alternative Text):', 'bplugins')}</Label>\r\n\t\t\t<TextControl value={value?.alt} onChange={val => setValue('alt', val)} />\r\n\t\t</>}\r\n\r\n\t\t{value?.id && 0 !== getImageSizes(image, imageSizes)?.length && <PanelRow>\r\n\t\t\t<Label className=''>{__('Select Size:', 'bplugins')}</Label>\r\n\t\t\t<SelectControl value={value?.url} onChange={val => setValue('url', val)} options={getImageSizes(image, imageSizes)} />\r\n\t\t</PanelRow>}\r\n\t</div>\r\n});\r\n\r\n\r\nexport const ImageEditControl = props => {\r\n\tconst { label = __('Edit Image:', 'bplugins'), value = {}, onChange } = props;\r\n\r\n\tconst onImageSelect = ({ id, url, alt, title }) => onChange({ ...value, id, url, alt, title });\r\n\r\n\treturn value?.url && <ToolbarGroup className='bPlToolbar'>\r\n\t\t<MediaUploadCheck>\r\n\t\t\t<MediaUpload allowedTypes={['image']} value={value?.id} onSelect={onImageSelect} render={({ open }) => <ToolbarButton label={label} icon='format-image' onClick={open} />} />\r\n\t\t</MediaUploadCheck>\r\n\t</ToolbarGroup>\r\n};\r\n\r\n\r\nexport const ImagePlaceholder = withNotices(props => {\r\n\tconst { label = __(' Image:', 'bplugins'), icon = 'format-image', value = {}, onChange, noticeOperations, noticeUI } = props;\r\n\r\n\tconst onImageSelect = ({ id, url, alt, title }) => onChange({ ...value, id, url, alt, title });\r\n\r\n\treturn <MediaPlaceholder labels={{ title: label }} icon={icon} allowedTypes={['image']} accept='image/*' onSelect={onImageSelect} onSelectURL={val => onChange({ ...value, id: null, url: val, alt: '', title: '' })} onError={val => noticeOperations.createErrorNotice(val)} notices={noticeUI} />\r\n});","import { useState } from 'react';\r\nimport { __ } from '@wordpress/i18n';\r\nimport { MediaUpload, MediaUploadCheck } from '@wordpress/block-editor';\r\nimport { PanelRow, TextControl, Button, Placeholder, ToolbarGroup, ToolbarButton } from '@wordpress/components';\r\n\r\nimport { Label } from '../index';\r\nimport './MediaControl.scss';\r\n\r\n\r\nexport const InlineMediaUpload = props => {\r\n\tconst { className, label = '', value, types = ['image'], onChange, placeholder = __('Enter URL', 'bplugins') } = props;\r\n\r\n\treturn <div className={className}>\r\n\t\t{label && <Label className='mb5'>{label}</Label>}\r\n\r\n\t\t<PanelRow className={`bplInlineMediaUpload`}>\r\n\t\t\t<TextControl value={value} onChange={val => onChange(val)} placeholder={placeholder} />\r\n\r\n\t\t\t<MediaUploadCheck>\r\n\t\t\t\t<MediaUpload\r\n\t\t\t\t\tallowedTypes={types}\r\n\t\t\t\t\tonSelect={val => onChange(val.url)}\r\n\t\t\t\t\trender={({ open }) => <Button className='button button-primary' onClick={open} icon={'upload'}></Button>}\r\n\t\t\t\t/>\r\n\t\t\t</MediaUploadCheck>\r\n\t\t</PanelRow>\r\n\t</div>\r\n}\r\n\r\n\r\nexport const InlineDetailMediaUpload = props => {\r\n\tconst { className, label = '', value = {}, types = ['image'], onChange, placeholder = __('Enter URL', 'bplugins') } = props;\r\n\r\n\treturn <div className={className}>\r\n\t\t{label && <Label className='mb5'>{label}</Label>}\r\n\r\n\t\t<PanelRow className={`bplInlineMediaUpload`}>\r\n\t\t\t<TextControl value={value?.url} onChange={url => onChange({ id: null, url, alt: '', title: '' })} placeholder={placeholder} />\r\n\r\n\t\t\t<MediaUploadCheck>\r\n\t\t\t\t<MediaUpload\r\n\t\t\t\t\tallowedTypes={types}\r\n\t\t\t\t\tonSelect={({ id, url, alt, title }) => onChange({ id, url, alt, title })}\r\n\t\t\t\t\trender={({ open }) => <Button className='button button-primary' onClick={open} icon={'upload'}></Button>}\r\n\t\t\t\t/>\r\n\t\t\t</MediaUploadCheck>\r\n\t\t</PanelRow>\r\n\t</div>\r\n}\r\n\r\n\r\nexport const BplMediaPlaceholder = props => {\r\n\tconst { onChange, icon = 'format-image', type = 'image', typeName = '', placeholder = __('Paste or type a video URL', 'bplugins') } = props;\r\n\r\n\tconst [mediaSource, setMediaSource] = useState();\r\n\r\n\treturn <Placeholder className='bplMediaPlaceholder' label={__(`Upload ${typeName || type}`, 'bplugins')}\r\n\t\tinstructions={__(`Upload a ${typeName || type} or paste/write ${typeName || type} url to get started.`, 'bplugins')}\r\n\t\ticon={icon}>\r\n\t\t<MediaUploadCheck>\r\n\t\t\t<MediaUpload\r\n\t\t\t\tallowedTypes={[type]}\r\n\t\t\t\tonSelect={val => onChange(val)}\r\n\t\t\t\trender={({ open }) => <Button isPrimary onClick={open}> {__('Upload', 'bplugins')} </Button>}\r\n\t\t\t/>\r\n\t\t</MediaUploadCheck>\r\n\r\n\t\t<PanelRow className='bplUrlInput'>\r\n\t\t\t<h3> {__('Or', 'bplugins')} </h3>\r\n\t\t\t<input\r\n\t\t\t\ttype='url'\r\n\t\t\t\taria-label={__('URL', 'bplugins')}\r\n\t\t\t\tplaceholder={placeholder}\r\n\t\t\t\tonChange={src => setMediaSource(src.target.value)}\r\n\t\t\t\tvalue={mediaSource}\r\n\t\t\t/>\r\n\t\t\t<Button label={__('Apply', 'bplugins')} type='submit' onClick={e => {\r\n\t\t\t\te.preventDefault();\r\n\t\t\t\tonChange({ id: null, url: mediaSource, alt: '', title: '' });\r\n\t\t\t\tsetMediaSource('');\r\n\t\t\t}} isPrimary>{__('Apply', 'bplugins')}</Button>\r\n\t\t</PanelRow>\r\n\t</Placeholder>\r\n}\r\n\r\n\r\nexport const MediaEditControl = props => {\r\n\tconst { label = __('Edit Image:', 'bplugins'), icon = 'format-image', types = ['image'], value = {}, onChange } = props;\r\n\r\n\tconst onFileSelect = ({ id, url, alt, title }) => onChange({ id, url, alt, title });\r\n\r\n\treturn value?.url && <ToolbarGroup className='bPlToolbar'>\r\n\t\t<MediaUploadCheck>\r\n\t\t\t<MediaUpload allowedTypes={types} value={value?.id} onSelect={onFileSelect} render={({ open }) => <ToolbarButton label={label} icon={icon} onClick={open} />} />\r\n\t\t</MediaUploadCheck>\r\n\t</ToolbarGroup>\r\n};","import { useState, useEffect } from 'react';\r\n\r\nconst useWPAjaxQuery = (ajaxUrl, params) => {\r\n\tconst [isLoading, setIsLoading] = useState(true);\r\n\tconst [isLoaded, setIsLoaded] = useState(false);\r\n\tconst [isError, setIsError] = useState(false);\r\n\tconst [error, setError] = useState(null);\r\n\tconst [data, setData] = useState(null);\r\n\r\n\tuseEffect(() => {\r\n\t\tfetchData();\r\n\t}, []);\r\n\r\n\tconst fetchData = async () => {\r\n\t\tsetIsLoaded(true);\r\n\t\tconst URLParams = Object.keys(params)\r\n\t\t\t.map((key) => `${key}=${params[key]}`)\r\n\t\t\t.join(\"&\");\r\n\t\ttry {\r\n\t\t\tconst request = await fetch(`${ajaxUrl}?${URLParams}`);\r\n\t\t\tconst response = await request.json();\r\n\t\t\ttry {\r\n\t\t\t\tsetData(JSON.parse(response?.data));\r\n\t\t\t} catch (error) {\r\n\t\t\t\tsetData(response?.data);\r\n\t\t\t}\r\n\t\t\tsetIsLoading(false);\r\n\t\t} catch (error) {\r\n\t\t\tsetIsError(true);\r\n\t\t\tsetError(error.message);\r\n\t\t\tsetIsLoading(false);\r\n\t\t}\r\n\t};\r\n\r\n\treturn { data, isLoading, isLoaded, isError, error };\r\n};\r\nexport default useWPAjaxQuery;","import { __ } from '@wordpress/i18n';\r\n\r\nexport const sourceTypes = [\r\n\t{ label: __('Upload', 'model-viewer'), value: 'upload' },\r\n\t{ label: __('Link', 'model-viewer'), value: 'link' }\r\n];\r\n\r\nexport const loadingTypes = [\r\n\t{ label: __('Auto', 'model-viewer'), value: 'auto' },\r\n\t{ label: __('Lazy', 'model-viewer'), value: 'lazy' },\r\n\t{ label: __('Eager', 'model-viewer'), value: 'eager' }\r\n];","import { __ } from '@wordpress/i18n';\r\nimport { InspectorControls, BlockControls, AlignmentToolbar, MediaUpload, MediaUploadCheck } from '@wordpress/block-editor';\r\nimport { PanelBody, PanelRow, ToggleControl, SelectControl, __experimentalUnitControl as UnitControl, ToolbarGroup, ToolbarButton, Notice } from '@wordpress/components';\r\n\r\n// Settings Components\r\nimport { Label, HelpPanel, InlineDetailMediaUpload } from '../../Components';\r\nimport { pxUnit, perUnit, emUnit } from '../../Components/utils/options';\r\n\r\nimport useWPAjaxQuery from './hooks/useWPAjaxQuery';\r\nimport { loadingTypes } from './utils/options';\r\n\r\nconst Settings = ({ attributes, setAttributes }) => {\r\n\tconst { alignment, model, width, height, isTouchMove, isZoom, loadingType } = attributes;\r\n\r\n\tconst { data, isLoading } = useWPAjaxQuery(bp3dBlock?.ajaxURL, { action: 'bp3d_pipe_checker', _wpnonce: bp3dBlock?.nonce });\r\n\tconst isPremium = !isLoading && data?.isPipe;\r\n\r\n\tconst onModelSelect = ({ id, url, title }) => setAttributes({ model: { ...model, id, url, title } });\r\n\r\n\treturn <>\r\n\t\t<InspectorControls>\r\n\t\t\t{!isPremium && <div className='tdvbInspectorInfo'>\r\n\t\t\t\tUpgrade to pro version to get more options ➡ <a href='https://bplugins.com/products/3d-viewer' target='_blank' rel='noopener noreferrer'>Upgrade Now</a>\r\n\t\t\t</div>}\r\n\r\n\t\t\t<HelpPanel slug='3d-viewer-block' docsLink='https://bblockswp.com/docs/3d-viewer-block' />\r\n\r\n\r\n\t\t\t<PanelBody className='bPlPanelBody' title={__('3D Model Settings', 'model-viewer')}>\r\n\t\t\t\t<Label className=''>{__('Model Source (.glb or .gltf)', 'b-blocks')}</Label>\r\n\t\t\t\t<InlineDetailMediaUpload types={['model/gltf-binary']} value={model} onChange={val => setAttributes({ model: val })} placeholder={__('Enter Model URL', 'b-blocks')} />\r\n\r\n\t\t\t\t<Notice className='mt10' status='warning' isDismissible={false}>{__('File upload issue? Please refresh this page once, if you just install the plugin from Gutenberg editor.')}</Notice>\r\n\r\n\t\t\t\t<UnitControl className='mt20' label={__('Width:', 'model-viewer')} labelPosition='left' value={width} onChange={val => setAttributes({ width: val })} units={[pxUnit(), perUnit(), emUnit()]} />\r\n\t\t\t\t<small>{__('Keep width 0, to auto width.', 'model-viewer')}</small>\r\n\r\n\t\t\t\t<UnitControl className='mt20' label={__('Height:', 'model-viewer')} labelPosition='left' value={height} onChange={val => setAttributes({ height: val })} units={[pxUnit(), perUnit(), emUnit()]} />\r\n\t\t\t\t<small>{__('Keep height 0, to 350px height.', 'model-viewer')}</small>\r\n\r\n\t\t\t\t<ToggleControl className='mt20' label={__('Controls via mouse/touch', 'model-viewer')} checked={isTouchMove} onChange={val => setAttributes({ isTouchMove: val })} />\r\n\r\n\t\t\t\t{isTouchMove && <>\r\n\t\t\t\t\t<ToggleControl className='mt20' label={__('Zoom', 'model-viewer')} checked={isZoom} onChange={val => setAttributes({ isZoom: val })} />\r\n\t\t\t\t\t<small>{__(`Enable 'Controls via mouse/touch' to work Zoom!`, 'model-viewer')}</small>\r\n\t\t\t\t</>}\r\n\r\n\t\t\t\t<PanelRow className='mt20'>\r\n\t\t\t\t\t<Label className=''>{__('Loading Type:', 'model-viewer')}</Label>\r\n\t\t\t\t\t<SelectControl value={loadingType} onChange={val => setAttributes({ loadingType: val })} options={loadingTypes} />\r\n\t\t\t\t</PanelRow>\r\n\t\t\t</PanelBody>\r\n\t\t</InspectorControls>\r\n\r\n\r\n\t\t<BlockControls>\r\n\t\t\t{model?.url && <ToolbarGroup className='bPlToolbar'>\r\n\t\t\t\t<MediaUploadCheck>\r\n\t\t\t\t\t<MediaUpload allowedTypes={['model/gltf-binary']} value={model?.id} onSelect={onModelSelect} render={({ open }) => <ToolbarButton label={__('Edit 3D Model:', 'model-viewer')} icon='edit' onClick={open} />} />\r\n\t\t\t\t</MediaUploadCheck>\r\n\t\t\t</ToolbarGroup>}\r\n\r\n\t\t\t<AlignmentToolbar value={alignment} onChange={val => setAttributes({ alignment: val })} describedBy={__('3D Model Alignment')} alignmentControls={[\r\n\t\t\t\t{ title: __('3D Model in left', 'model-viewer'), align: 'left', icon: 'align-left' },\r\n\t\t\t\t{ title: __('3D Model in center', 'model-viewer'), align: 'center', icon: 'align-center' },\r\n\t\t\t\t{ title: __('3D Model in right', 'model-viewer'), align: 'right', icon: 'align-right' }\r\n\t\t\t]} />\r\n\t\t</BlockControls>\r\n\t</>;\r\n};\r\nexport default Settings;","const Style = ({ attributes, clientId }) => {\r\n\tconst { alignment, width, height } = attributes;\r\n\r\n\treturn <style dangerouslySetInnerHTML={{\r\n\t\t__html: `\r\n\t\t#tdvb3DViewerBlock-${clientId} .tdvb3DViewerBlock{\r\n\t\t\ttext-align: ${alignment};\r\n\t\t}\r\n\t\t#tdvb3DViewerBlock-${clientId} .tdvb3DViewerBlock model-viewer{\r\n\t\t\twidth: ${['0px', '0%', '0em'].includes(width) ? 'auto' : width};\r\n\t\t\theight: ${'0px' === height || '0%' === height || '0em' === height ? '350px' : height};\r\n\t\t}\r\n\t\t`.replace(/\\s+/g, ' ')\r\n\t}} />\r\n}\r\nexport default Style;","import { forwardRef } from 'react';\r\n\r\nconst TDViewer = ({ attributes }, ref) => {\r\n\tconst { sourceType, model, modelLink, loadingType } = attributes;\r\n\r\n\treturn <div className='tdvb3DViewerBlock' ref={ref}>\r\n\t\t<model-viewer\r\n\t\t\tsrc={'upload' === sourceType ? model?.url : modelLink}\r\n\t\t\talt={'upload' === sourceType ? model?.title : ''}\r\n\t\t\tcamera-controls\r\n\t\t\tloading={loadingType}\r\n\t\t\tauto-rotate\r\n\t\t></model-viewer>\r\n\t</div>\r\n}\r\nexport default forwardRef(TDViewer);","import { useEffect, useRef } from 'react';\r\nimport { __ } from '@wordpress/i18n';\r\n\r\nimport { tabController } from '../../Components/utils/functions';\r\n\r\nimport Settings from './Settings';\r\nimport Style from './Style';\r\nimport TDViewer from './TDViewer';\r\n\r\nconst Edit = props => {\r\n\tconst { className, attributes, setAttributes, clientId, isSelected } = props;\r\n\tconst { sourceType, model, modelLink, isTouchMove, isZoom, loadingType } = attributes;\r\n\r\n\tuseEffect(() => { clientId && setAttributes({ cId: clientId.substring(0, 10) }); }, [clientId]); // Set & Update clientId to cId\r\n\r\n\tuseEffect(() => tabController(), [isSelected]);\r\n\r\n\tconst tdvb3DViewerBlock = useRef(null);\r\n\r\n\tconst toggleAttr = (selector, condition, attribute, value) => {\r\n\t\tcondition && selector?.setAttribute(attribute, value);\r\n\t\t!condition && selector?.removeAttribute(attribute, value);\r\n\t}\r\n\r\n\tuseEffect(() => {\r\n\t\ttdvb3DViewerBlock.current.innerHTML = '';\r\n\r\n\t\tconst reInitModel = document.createElement('model-viewer');\r\n\t\ttoggleAttr(reInitModel, true, 'class', 'tdvbModel');\r\n\t\ttoggleAttr(reInitModel, true, 'src', 'upload' === sourceType ? model?.url : modelLink);\r\n\t\ttoggleAttr(reInitModel, true, 'alt', 'upload' === sourceType ? model?.title : '');\r\n\t\ttoggleAttr(reInitModel, isTouchMove, 'camera-controls', '');\r\n\t\ttoggleAttr(reInitModel, !isZoom, 'disable-zoom', '');\r\n\t\ttoggleAttr(reInitModel, true, 'loading', loadingType);\r\n\t\ttoggleAttr(reInitModel, true, 'auto-rotate', '');\r\n\r\n\t\ttdvb3DViewerBlock.current.appendChild(reInitModel);\r\n\t}, [sourceType, model, modelLink, isTouchMove, isZoom, loadingType]);\r\n\r\n\treturn <>\r\n\t\t<Settings attributes={attributes} setAttributes={setAttributes} clientId={clientId} />\r\n\r\n\t\t<div className={className} id={`tdvb3DViewerBlock-${clientId}`}>\r\n\t\t\t<Style attributes={attributes} clientId={clientId} />\r\n\r\n\t\t\t{'upload' === sourceType && !model.url ? <p className='noModel'>{__('Please, upload Model or enter Model Link first!', 'model-viewer')}</p> : ''}\r\n\r\n\t\t\t<TDViewer attributes={attributes} ref={tdvb3DViewerBlock} />\r\n\t\t</div >\r\n\t</>;\r\n};\r\nexport default Edit;","const iconColor = '#4527a4';\r\n\r\nexport const tDViewerIcon = <svg xmlns='http://www.w3.org/2000/svg' width={24} height={24} viewBox='0 0 512 512'>\r\n\t<path fill={iconColor} d='M68.983,382.642l171.35,98.928a32.082,32.082,0,0,0,32,0l171.352-98.929a32.093,32.093,0,0,0,16-27.713V157.071a32.092,32.092,0,0,0-16-27.713L272.334,30.429a32.086,32.086,0,0,0-32,0L68.983,129.358a32.09,32.09,0,0,0-16,27.713V354.929A32.09,32.09,0,0,0,68.983,382.642ZM272.333,67.38l155.351,89.691V334.449L272.333,246.642ZM256.282,274.327l157.155,88.828-157.1,90.7L99.179,363.125ZM84.983,157.071,240.333,67.38v179.2L84.983,334.39Z' />\r\n</svg>;","import { registerBlockType } from '@wordpress/blocks';\r\n\r\nimport metadata from '../inc/block.json';\r\nimport Edit from './Edit';\r\nimport './editor.scss';\r\nimport { tDViewerIcon } from './utils/icons';\r\n\r\nregisterBlockType(metadata, {\r\n\ticon: tDViewerIcon,\r\n\r\n\t// Build in Functions\r\n\tedit: Edit,\r\n\r\n\tsave: () => null\r\n});"],"names":["wp","blocks","React","i18n","getImageSizes","image","imageSizes","options","sizes","media_details","key","imageSize","find","s","slug","push","label","name","value","source_url","blockEditor","components","props","className","htmlFor","children","pxUnit","def","default","perUnit","emUnit","__experimentalGradientPicker","GradientPicker","bookIcon","xmlns","width","height","viewBox","d","headsetIcon","starIcon","rightArrowIcon","docsLink","PanelBody","title","__","initialOpen","href","target","rel","data","blob","withSelect","select","id","getMedia","getSettings","onChange","setValue","property","val","url","isBlobURL","TextControl","alt","length","PanelRow","SelectControl","withNotices","icon","noticeOperations","noticeUI","MediaPlaceholder","labels","allowedTypes","accept","onSelect","onSelectURL","onError","createErrorNotice","notices","InlineDetailMediaUpload","types","placeholder","MediaUploadCheck","MediaUpload","render","open","Button","onClick","ajaxUrl","params","useState","isLoading","setIsLoading","isLoaded","setIsLoaded","isError","setIsError","error","setError","setData","useEffect","fetchData","URLParams","Object","keys","map","join","fetch","request","json","response","JSON","parse","message","loadingTypes","attributes","setAttributes","alignment","model","isTouchMove","isZoom","loadingType","useWPAjaxQuery","bp3dBlock","ajaxURL","action","_wpnonce","nonce","isPremium","isPipe","InspectorControls","Notice","status","isDismissible","labelPosition","units","ToggleControl","checked","BlockControls","ToolbarGroup","ToolbarButton","AlignmentToolbar","describedBy","alignmentControls","align","clientId","dangerouslySetInnerHTML","__html","includes","replace","TDViewer","ref","sourceType","modelLink","src","loading","forwardRef","isSelected","cId","substring","setTimeout","panelBodies","document","querySelectorAll","clickEveryItem","this","removeEventListener","forEach","item","getAttribute","isEqualNode","click","addEventListener","tdvb3DViewerBlock","useRef","toggleAttr","selector","condition","attribute","setAttribute","removeAttribute","current","innerHTML","reInitModel","createElement","appendChild","tDViewerIcon","fill","registerBlockType","metadata","edit","Edit","save"],"sourceRoot":""}