@wordpress/block-editor
Version:
8 lines (7 loc) • 3.31 kB
Source Map (JSON)
{
"version": 3,
"sources": ["../../../src/components/global-styles/image-settings-panel.js"],
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\tToggleControl,\n} from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { useToolsPanelDropdownMenuProps } from './utils';\n\nexport function useHasImageSettingsPanel( name, value, inheritedValue ) {\n\t// Note: If lightbox `value` exists, that means it was\n\t// defined via the the Global Styles UI and will NOT\n\t// be a boolean value or contain the `allowEditing` property,\n\t// so we should show the settings panel in those cases.\n\treturn (\n\t\t( name === 'core/image' && inheritedValue?.lightbox?.allowEditing ) ||\n\t\t!! value?.lightbox\n\t);\n}\n\nexport default function ImageSettingsPanel( {\n\tonChange,\n\tvalue,\n\tinheritedValue,\n\tpanelId,\n} ) {\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\tconst resetLightbox = () => {\n\t\tonChange( undefined );\n\t};\n\n\tconst onChangeLightbox = ( newSetting ) => {\n\t\tonChange( {\n\t\t\tenabled: newSetting,\n\t\t} );\n\t};\n\n\tlet lightboxChecked = false;\n\n\tif ( inheritedValue?.lightbox?.enabled ) {\n\t\tlightboxChecked = inheritedValue.lightbox.enabled;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<ToolsPanel\n\t\t\t\tlabel={ _x( 'Settings', 'Image settings' ) }\n\t\t\t\tresetAll={ resetLightbox }\n\t\t\t\tpanelId={ panelId }\n\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t>\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t// We use the `userSettings` prop instead of `settings`, because `settings`\n\t\t\t\t\t// contains the core/theme values for the lightbox and we want to show the\n\t\t\t\t\t// \"RESET\" button ONLY when the user has explicitly set a value in the\n\t\t\t\t\t// Global Styles.\n\t\t\t\t\thasValue={ () => !! value?.lightbox }\n\t\t\t\t\tlabel={ __( 'Enlarge on click' ) }\n\t\t\t\t\tonDeselect={ resetLightbox }\n\t\t\t\t\tisShownByDefault\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Enlarge on click' ) }\n\t\t\t\t\t\tchecked={ lightboxChecked }\n\t\t\t\t\t\tonChange={ onChangeLightbox }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t</ToolsPanel>\n\t\t</>\n\t);\n}\n"],
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,wBAIO;AACP,kBAAuB;AAKvB,mBAA+C;AAqC7C;AAnCK,SAAS,yBAA0B,MAAM,OAAO,gBAAiB;AAKvE,SACG,SAAS,gBAAgB,gBAAgB,UAAU,gBACrD,CAAC,CAAE,OAAO;AAEZ;AAEe,SAAR,mBAAqC;AAAA,EAC3C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,GAAI;AACH,QAAM,wBAAoB,6CAA+B;AACzD,QAAM,gBAAgB,MAAM;AAC3B,aAAU,MAAU;AAAA,EACrB;AAEA,QAAM,mBAAmB,CAAE,eAAgB;AAC1C,aAAU;AAAA,MACT,SAAS;AAAA,IACV,CAAE;AAAA,EACH;AAEA,MAAI,kBAAkB;AAEtB,MAAK,gBAAgB,UAAU,SAAU;AACxC,sBAAkB,eAAe,SAAS;AAAA,EAC3C;AAEA,SACC,2EACC;AAAA,IAAC,kBAAAA;AAAA,IAAA;AAAA,MACA,WAAQ,gBAAI,YAAY,gBAAiB;AAAA,MACzC,UAAW;AAAA,MACX;AAAA,MACA;AAAA,MAEA;AAAA,QAAC,kBAAAC;AAAA,QAAA;AAAA,UAKA,UAAW,MAAM,CAAC,CAAE,OAAO;AAAA,UAC3B,WAAQ,gBAAI,kBAAmB;AAAA,UAC/B,YAAa;AAAA,UACb,kBAAgB;AAAA,UAChB;AAAA,UAEA;AAAA,YAAC;AAAA;AAAA,cACA,WAAQ,gBAAI,kBAAmB;AAAA,cAC/B,SAAU;AAAA,cACV,UAAW;AAAA;AAAA,UACZ;AAAA;AAAA,MACD;AAAA;AAAA,EACD,GACD;AAEF;",
"names": ["ToolsPanel", "ToolsPanelItem"]
}