├── .deploy-ignore ├── .deploy └── config │ ├── nginx.conf │ └── php.ini ├── .editorconfig ├── .env.sample ├── .eslintignore ├── .eslintrc ├── .gitattributes ├── .github ├── PULL_REQUEST_TEMPLATE.md └── workflows │ ├── README.md │ ├── ci.yml │ ├── deploy-dev.yml │ ├── deploy-prod.yml │ ├── deploy-review-app.yml │ ├── deploy-stage.yml │ ├── deploy-test.yml │ ├── dokku-deploy.yml │ ├── eslint.yml │ └── phpcs.yml ├── .gitignore ├── .htaccess ├── .lefthook ├── pre-commit │ └── detect-merge-markers.sh └── prepare-commit-msg │ └── prefix-with-jira-ticket.php ├── .nvmrc ├── .stylelintignore ├── .stylelintrc.json ├── .vscode └── extensions.json ├── CONTRIBUTING.md ├── LICENSE.md ├── Procfile ├── README.md ├── auth-sample.json ├── babel.config.js ├── changelog.md ├── composer.json ├── composer.lock ├── dev ├── bin │ ├── convert-project-to-fork.sh │ └── init.sh ├── docker │ ├── .gitignore │ ├── .projectID │ ├── README.md │ ├── docker-compose.gh.yml │ ├── docker-compose.yml │ ├── nginx │ │ ├── fastcgi.conf │ │ └── nginx.conf │ ├── php │ │ ├── msmtp.conf │ │ └── php-ini-overrides.ini │ └── wp-cli.yml ├── patches │ └── wordpress-stubs.patch ├── stubs │ └── wordpress-overrides.stub └── tests │ ├── .env-dist │ ├── .gitignore │ ├── codeception.dist.yml │ └── tests │ ├── _bootstrap.php │ ├── _data │ ├── 1200x600.png │ ├── dump.sql │ └── test.gif │ ├── _output │ └── .gitignore │ ├── _support │ ├── .gitignore │ ├── AcceptanceTester.php │ ├── Classes │ │ ├── Fixtures │ │ │ ├── Description_Field_Middleware.php │ │ │ ├── Description_Model_Middleware.php │ │ │ ├── Repeater_Field_Middleware.php │ │ │ ├── Subtitle_Field_Middleware.php │ │ │ └── Subtitle_Model_Middleware.php │ │ ├── Test_Case.php │ │ └── Unit.php │ ├── Helper │ │ ├── Acceptance.php │ │ ├── Integration.php │ │ ├── Unit.php │ │ └── Webdriver.php │ ├── IntegrationTester.php │ ├── UnitTester.php │ └── WebDriverTester.php │ ├── acceptance.suite.yml │ ├── acceptance │ ├── SquareOneExampleCest.php │ ├── Tribe │ │ └── Project │ │ │ ├── Object_Meta │ │ │ ├── Post_Archive_SettingsCest.php │ │ │ └── Taxonomy_Archive_SettingsCest.php │ │ │ └── Theme │ │ │ └── Body_ClassesCest.php │ └── _bootstrap.php │ ├── integration.suite.yml │ ├── integration │ ├── Tribe │ │ └── Project │ │ │ ├── .gitignore │ │ │ ├── Block_Middleware │ │ │ ├── BlockFieldRegistrarTest.php │ │ │ └── Pipelines │ │ │ │ ├── AddFieldsPipelineTest.php │ │ │ │ └── AddModelDataPipelineTest.php │ │ │ ├── Blocks │ │ │ └── Middleware │ │ │ │ ├── Color_Theme │ │ │ │ ├── ClassManagerTest.php │ │ │ │ └── Model_Middleware │ │ │ │ │ └── ColorThemeModelMiddlewareTest.php │ │ │ │ └── Post_Loop │ │ │ │ ├── Field_Middleware │ │ │ │ └── PostLoopFieldMiddlewareTest.php │ │ │ │ ├── PostCacheManagerTest.php │ │ │ │ ├── PostLoopControllerFactoryTest.php │ │ │ │ ├── PostLoopControllerTest.php │ │ │ │ ├── PostLoopRepositoryTest.php │ │ │ │ └── TermManagerTest.php │ │ │ ├── Core_Test.php │ │ │ └── Templates │ │ │ └── Components │ │ │ ├── Abstract_ControllerTest.php │ │ │ └── image │ │ │ └── Image_ControllerTest.php │ └── _bootstrap.php │ ├── unit.suite.yml │ ├── unit │ ├── PrefixJiraTicketTest.php │ ├── Tribe │ │ └── Project │ │ │ ├── Block_Middleware │ │ │ └── Guards │ │ │ │ └── MiddlewareGuardTest.php │ │ │ └── Integrations │ │ │ └── ACF │ │ │ └── Max_Length_CounterTest.php │ └── _bootstrap.php │ ├── webdriver.suite.yml │ └── webdriver │ ├── Base_Webdriver_Cest.php │ ├── SquareOneChromeExampleCest.php │ └── _bootstrap.php ├── docs ├── README.md ├── basics │ ├── blocks.md │ ├── breadcrumbs.md │ ├── cli.md │ ├── components.md │ ├── database.md │ ├── forms.md │ ├── object-cache.md │ ├── object-meta.md │ ├── p2p.md │ ├── plugins.md │ ├── post-types.md │ ├── settings.md │ ├── taxonomies.md │ ├── templates.md │ └── theme-assets.md ├── concepts │ ├── accessibility.md │ ├── container.md │ ├── css-conventions.md │ ├── js-conventions.md │ ├── php-conventions.md │ ├── security.md │ └── subscribers.md ├── getting-started │ ├── 01_installation.md │ ├── 02_build.md │ ├── 03_structure.md │ └── 04_deployment.md ├── tests │ ├── README.md │ └── jest.md └── tooling │ ├── build-system.md │ ├── docker.md │ ├── git-hooks.md │ ├── img │ ├── phpstorm-setup-1.png │ ├── phpstorm-setup-2.png │ ├── phpstorm-setup-3.png │ └── phpstorm-setup-4.png │ ├── phpcs.md │ └── phpstan.md ├── gulp-tasks ├── clean.js ├── copy.js ├── cssnano.js ├── decompress.js ├── eslint.js ├── footer.js ├── header.js ├── lineending.js ├── postcss.js ├── replace.js ├── shell.js ├── stylelint.js └── watch.js ├── gulpfile.js ├── index.php ├── jest.config.json ├── jest.setup.js ├── lefthook.yml ├── local-config-sample.json ├── local-config-sample.php ├── logo.svg ├── package.json ├── phpcs.xml.dist ├── phpstan-baseline.neon ├── phpstan.neon.dist ├── postcss.config.js ├── squareone.yml ├── webpack.config.js ├── webpack ├── admindev.js ├── adminprod.js ├── after-emit │ ├── index.js │ ├── scripts.js │ ├── styles.js │ └── util.js ├── configs │ ├── app-base.js │ ├── base.js │ ├── dev-base.js │ ├── local.js │ └── prod-base.js ├── entry │ ├── admin.js │ └── theme.js ├── example.js ├── externals │ ├── admin │ │ ├── index.js │ │ ├── vendor.js │ │ └── wordpress.js │ └── theme │ │ └── index.js ├── optimization │ ├── minimizer.js │ └── split-chunks.js ├── plugins │ └── watch.js ├── rules │ ├── index.js │ ├── scripts.js │ ├── styles.js │ └── watch.js ├── themedev.js └── themeprod.js ├── wp-config-environment.php ├── wp-config.php ├── wp-content ├── index.php ├── memcached-object-cache.php ├── mu-plugins │ ├── README.md │ ├── do-not-cache.php │ ├── force-plugin-activation.php │ └── index.php ├── object-cache.php ├── plugins │ ├── core │ │ ├── .gitignore │ │ ├── README.md │ │ ├── core.php │ │ ├── functions │ │ │ ├── pluggable.php │ │ │ └── templates.php │ │ └── src │ │ │ ├── Admin │ │ │ ├── Admin_Subscriber.php │ │ │ └── Editor │ │ │ │ ├── Classic_Editor_Formats.php │ │ │ │ ├── Editor_Script_Loader.php │ │ │ │ └── Editor_Styles.php │ │ │ ├── Assets │ │ │ ├── Admin │ │ │ │ ├── Admin_Build_Parser.php │ │ │ │ ├── JS_Config.php │ │ │ │ ├── JS_Localization.php │ │ │ │ ├── Scripts.php │ │ │ │ └── Styles.php │ │ │ ├── Assets_Subscriber.php │ │ │ ├── Build_Parser.php │ │ │ └── Theme │ │ │ │ ├── JS_Config.php │ │ │ │ ├── JS_Localization.php │ │ │ │ ├── Scripts.php │ │ │ │ ├── Styles.php │ │ │ │ └── Theme_Build_Parser.php │ │ │ ├── Block_Middleware │ │ │ ├── Block_Field_Registrar.php │ │ │ ├── Block_Middleware_Definer.php │ │ │ ├── Contracts │ │ │ │ ├── Abstract_Field_Middleware.php │ │ │ │ ├── Abstract_Model_Middleware.php │ │ │ │ ├── Block_Pipeline.php │ │ │ │ ├── Field_Middleware.php │ │ │ │ ├── Has_Middleware_Params.php │ │ │ │ ├── Middleware.php │ │ │ │ └── Model_Middleware.php │ │ │ ├── Guards │ │ │ │ ├── Block_Field_Middleware_Guard.php │ │ │ │ ├── Block_Model_Middleware_Guard.php │ │ │ │ └── Middleware_Guard.php │ │ │ ├── Pipelines │ │ │ │ ├── Add_Fields_Pipeline.php │ │ │ │ └── Add_Model_Data_Pipeline.php │ │ │ └── README.md │ │ │ ├── Blocks │ │ │ ├── Block_Category.php │ │ │ ├── Block_Deny_List.php │ │ │ ├── Block_Style_Deny_List.php │ │ │ ├── Block_Style_Override.php │ │ │ ├── Blocks_Definer.php │ │ │ ├── Blocks_Subscriber.php │ │ │ ├── Contracts │ │ │ │ └── Model.php │ │ │ ├── Fields │ │ │ │ ├── Cta_Field.php │ │ │ │ └── Traits │ │ │ │ │ └── With_Cta_Field.php │ │ │ ├── Middleware │ │ │ │ ├── Color_Theme │ │ │ │ │ ├── Class_Manager.php │ │ │ │ │ ├── Color_Theme_Definer.php │ │ │ │ │ ├── Color_Theme_Field_Manager.php │ │ │ │ │ ├── Contracts │ │ │ │ │ │ ├── Appearance.php │ │ │ │ │ │ └── Color_Theme_Field.php │ │ │ │ │ ├── Field_Middleware │ │ │ │ │ │ ├── Color_Theme_Field_Middleware.php │ │ │ │ │ │ └── Color_Theme_Repeater_Field_Middleware.php │ │ │ │ │ ├── Model_Middleware │ │ │ │ │ │ └── Color_Theme_Field_Model_Middleware.php │ │ │ │ │ └── README.md │ │ │ │ └── Post_Loop │ │ │ │ │ ├── Config │ │ │ │ │ └── Post_Loop_Field_Config.php │ │ │ │ │ ├── Field_Middleware │ │ │ │ │ └── Post_Loop_Field_Middleware.php │ │ │ │ │ ├── Manual_Post_Manager.php │ │ │ │ │ ├── Models │ │ │ │ │ ├── Post_Loop_Model.php │ │ │ │ │ └── Query_Model.php │ │ │ │ │ ├── Post_Cache_Manager.php │ │ │ │ │ ├── Post_Loop_Controller.php │ │ │ │ │ ├── Post_Loop_Controller_Factory.php │ │ │ │ │ ├── Post_Loop_Definer.php │ │ │ │ │ ├── Post_Loop_Repository.php │ │ │ │ │ ├── Post_Loop_Subscriber.php │ │ │ │ │ └── Term_Manager.php │ │ │ ├── Theme_Support.php │ │ │ └── Types │ │ │ │ ├── Accordion │ │ │ │ ├── Accordion.php │ │ │ │ └── Accordion_Model.php │ │ │ │ ├── Base_Model.php │ │ │ │ ├── Buttons │ │ │ │ ├── Buttons.php │ │ │ │ └── Buttons_Model.php │ │ │ │ ├── Card_Grid │ │ │ │ ├── Card_Grid.php │ │ │ │ └── Card_Grid_Model.php │ │ │ │ ├── Content_Columns │ │ │ │ ├── Content_Columns.php │ │ │ │ └── Content_Columns_Model.php │ │ │ │ ├── Content_Loop │ │ │ │ ├── Content_Loop.php │ │ │ │ └── Content_Loop_Model.php │ │ │ │ ├── Gallery_Grid │ │ │ │ ├── Gallery_Grid.php │ │ │ │ └── Gallery_Grid_Model.php │ │ │ │ ├── Gallery_Slider │ │ │ │ ├── Gallery_Slider.php │ │ │ │ └── Gallery_Slider_Model.php │ │ │ │ ├── Hero │ │ │ │ ├── Hero.php │ │ │ │ └── Hero_Model.php │ │ │ │ ├── Icon_Grid │ │ │ │ ├── Icon_Grid.php │ │ │ │ └── Icon_Grid_Model.php │ │ │ │ ├── Interstitial │ │ │ │ ├── Interstitial.php │ │ │ │ └── Interstitial_Model.php │ │ │ │ ├── Lead_Form │ │ │ │ ├── Lead_Form.php │ │ │ │ └── Lead_Form_Model.php │ │ │ │ ├── Links │ │ │ │ ├── Links.php │ │ │ │ └── Links_Model.php │ │ │ │ ├── Logos │ │ │ │ ├── Logos.php │ │ │ │ └── Logos_Model.php │ │ │ │ ├── Media_Text │ │ │ │ ├── Media_Text.php │ │ │ │ └── Media_Text_Model.php │ │ │ │ ├── Quote │ │ │ │ ├── Quote.php │ │ │ │ └── Quote_Model.php │ │ │ │ ├── Section_Nav │ │ │ │ ├── Section_Nav.php │ │ │ │ └── Section_Nav_Model.php │ │ │ │ ├── Spacer │ │ │ │ ├── Spacer.php │ │ │ │ └── Spacer_Model.php │ │ │ │ ├── Stats │ │ │ │ ├── Stats.php │ │ │ │ └── Stats_Model.php │ │ │ │ └── Tabs │ │ │ │ ├── Tabs.php │ │ │ │ └── Tabs_Model.php │ │ │ ├── CLI │ │ │ └── CLI_Definer.php │ │ │ ├── Cache │ │ │ ├── Cache_Subscriber.php │ │ │ └── Listener.php │ │ │ ├── Core.php │ │ │ ├── Integrations │ │ │ ├── ACF │ │ │ │ ├── ACF_Subscriber.php │ │ │ │ └── Max_Length_Counter.php │ │ │ ├── Google_Tag_Manager │ │ │ │ ├── GTM_Scripts.php │ │ │ │ └── Google_Tag_Manager_Subscriber.php │ │ │ ├── Gravity_Forms │ │ │ │ ├── Form_Markup.php │ │ │ │ ├── Form_Styles.php │ │ │ │ └── Gravity_Forms_Subscriber.php │ │ │ └── Yoast_SEO │ │ │ │ ├── Open_Graph.php │ │ │ │ └── Yoast_SEO_Subscriber.php │ │ │ ├── Nav_Menus │ │ │ ├── Menu.php │ │ │ ├── Nav_Attribute_Filters.php │ │ │ ├── Nav_Menus_Definer.php │ │ │ ├── Nav_Menus_Subscriber.php │ │ │ └── Walker │ │ │ │ └── Walker_Nav_Menu_Primary.php │ │ │ ├── Object_Meta │ │ │ ├── Analytics_Settings.php │ │ │ ├── Contracts │ │ │ │ ├── Abstract_Settings_With_Tab.php │ │ │ │ ├── Abstract_Tab.php │ │ │ │ ├── With_Key.php │ │ │ │ └── With_Title.php │ │ │ ├── Footer_Settings.php │ │ │ ├── Masthead_Settings.php │ │ │ ├── Object_Meta_Definer.php │ │ │ ├── Post_Archive_Featured_Settings.php │ │ │ ├── Post_Archive_Settings.php │ │ │ ├── Social_Settings.php │ │ │ ├── Taxonomy_Archive_Settings.php │ │ │ └── Theme_Setting.php │ │ │ ├── P2P │ │ │ ├── P2P_Definer.php │ │ │ └── Relationships │ │ │ │ └── General_Relationship.php │ │ │ ├── Post_Types │ │ │ ├── Event │ │ │ │ └── Event.php │ │ │ ├── Organizer │ │ │ │ └── Organizer.php │ │ │ ├── Page │ │ │ │ └── Page.php │ │ │ ├── Post │ │ │ │ └── Post.php │ │ │ ├── Sample │ │ │ │ ├── Config.php │ │ │ │ ├── Sample.php │ │ │ │ └── Subscriber.php │ │ │ └── Venue │ │ │ │ └── Venue.php │ │ │ ├── Query │ │ │ ├── Featured_Posts.php │ │ │ ├── Query_Subscriber.php │ │ │ └── Search.php │ │ │ ├── Routes │ │ │ ├── Routes_Definer.php │ │ │ ├── Routes_Subscriber.php │ │ │ ├── Sample_REST_Route.php │ │ │ └── Sample_Route.php │ │ │ ├── Settings │ │ │ ├── Post_Settings.php │ │ │ ├── Settings_Definer.php │ │ │ └── Theme_Options.php │ │ │ ├── Shortcodes │ │ │ └── Shortcode.php │ │ │ ├── Taxonomies │ │ │ ├── Category │ │ │ │ └── Category.php │ │ │ ├── Example │ │ │ │ ├── Config.php │ │ │ │ ├── Example.php │ │ │ │ └── Subscriber.php │ │ │ └── Post_Tag │ │ │ │ └── Post_Tag.php │ │ │ ├── Templates │ │ │ ├── Components │ │ │ │ ├── Abstract_Controller.php │ │ │ │ ├── Deferred_Component.php │ │ │ │ └── Traits │ │ │ │ │ ├── Breadcrumbs.php │ │ │ │ │ ├── Copyright.php │ │ │ │ │ ├── Page_Title.php │ │ │ │ │ ├── Primary_Term.php │ │ │ │ │ └── With_Pagination_Helper.php │ │ │ └── Models │ │ │ │ ├── Accordion_Row.php │ │ │ │ ├── Breadcrumb.php │ │ │ │ ├── Button.php │ │ │ │ ├── Collections │ │ │ │ ├── Accordion_Row_Collection.php │ │ │ │ ├── Button_Collection.php │ │ │ │ ├── Content_Column_Collection.php │ │ │ │ ├── Icon_Collection.php │ │ │ │ ├── Link_Collection.php │ │ │ │ ├── Logo_Collection.php │ │ │ │ ├── Social_Link_Collection.php │ │ │ │ ├── Statistic_Collection.php │ │ │ │ └── Tab_Collection.php │ │ │ │ ├── Content_Column.php │ │ │ │ ├── Icon.php │ │ │ │ ├── Link.php │ │ │ │ ├── Logo.php │ │ │ │ ├── Quote.php │ │ │ │ ├── Social_Link.php │ │ │ │ ├── Statistic.php │ │ │ │ └── Tab.php │ │ │ ├── Theme │ │ │ ├── Body_Classes.php │ │ │ ├── Branding │ │ │ │ ├── Brand_Meta.php │ │ │ │ ├── Customizer_Settings.php │ │ │ │ └── Login_Screen.php │ │ │ ├── Config │ │ │ │ ├── Font_Sizes.php │ │ │ │ ├── Gradients.php │ │ │ │ ├── Image_Sizes.php │ │ │ │ ├── Supports.php │ │ │ │ └── Web_Fonts.php │ │ │ ├── Media │ │ │ │ ├── Image_Attributes.php │ │ │ │ └── Oembed_Filter.php │ │ │ ├── Pagination_Util.php │ │ │ ├── Theme_Definer.php │ │ │ └── Theme_Subscriber.php │ │ │ └── Theme_Customizer │ │ │ ├── Customizer_Loader.php │ │ │ └── Theme_Customizer_Subscriber.php │ ├── index.html │ ├── index.php │ ├── term-sorter │ │ ├── classes │ │ │ └── Term_Sorter.php │ │ ├── resources │ │ │ ├── css │ │ │ │ └── term-sorter.css │ │ │ └── js │ │ │ │ └── term-sorter.js │ │ └── term-sorter.php │ └── tribe-glomar │ │ ├── Tribe_Glomar.php │ │ ├── Tribe_Glomar_Admin.php │ │ ├── composer.json │ │ ├── tribe-glomar.php │ │ └── views │ │ └── settings-page-wrapper.php ├── sunrise.php └── themes │ ├── core │ ├── 404.php │ ├── README.md │ ├── archive.php │ ├── assets │ │ ├── css │ │ │ └── src │ │ │ │ ├── _mixins.pcss │ │ │ │ ├── _utilities.pcss │ │ │ │ ├── _variables.pcss │ │ │ │ ├── admin │ │ │ │ ├── _variables.pcss │ │ │ │ ├── block-editor.pcss │ │ │ │ ├── block-editor │ │ │ │ │ ├── acf-image-select.pcss │ │ │ │ │ ├── acf-image.pcss │ │ │ │ │ ├── acf-repeater.pcss │ │ │ │ │ ├── acf.pcss │ │ │ │ │ ├── all.pcss │ │ │ │ │ ├── blocks.pcss │ │ │ │ │ └── editor.pcss │ │ │ │ ├── login.pcss │ │ │ │ ├── master.pcss │ │ │ │ └── mce-editor.pcss │ │ │ │ └── theme │ │ │ │ ├── actions │ │ │ │ ├── _mixins.pcss │ │ │ │ ├── actions.pcss │ │ │ │ └── all.pcss │ │ │ │ ├── clearfix │ │ │ │ ├── _mixins.pcss │ │ │ │ └── _utilities.pcss │ │ │ │ ├── color │ │ │ │ ├── _utilities.pcss │ │ │ │ └── _variables.pcss │ │ │ │ ├── forms │ │ │ │ ├── _mixins.pcss │ │ │ │ ├── _variables.pcss │ │ │ │ ├── all.pcss │ │ │ │ ├── attributes.pcss │ │ │ │ ├── default.pcss │ │ │ │ ├── fieldset.pcss │ │ │ │ ├── file.pcss │ │ │ │ ├── label.pcss │ │ │ │ ├── legend.pcss │ │ │ │ ├── password.pcss │ │ │ │ ├── radio-checkbox.pcss │ │ │ │ ├── required.pcss │ │ │ │ ├── select.pcss │ │ │ │ └── textarea.pcss │ │ │ │ ├── global │ │ │ │ ├── _variables.pcss │ │ │ │ ├── all.pcss │ │ │ │ ├── globals.pcss │ │ │ │ └── reset.pcss │ │ │ │ ├── icons │ │ │ │ ├── _mixins.pcss │ │ │ │ ├── _variables.pcss │ │ │ │ ├── all.pcss │ │ │ │ ├── icons.pcss │ │ │ │ └── svg-icon.pcss │ │ │ │ ├── layouts │ │ │ │ ├── _variables.pcss │ │ │ │ ├── all.pcss │ │ │ │ ├── default.pcss │ │ │ │ └── grids.pcss │ │ │ │ ├── master.pcss │ │ │ │ ├── media-queries │ │ │ │ └── _variables.pcss │ │ │ │ ├── media │ │ │ │ ├── _mixins.pcss │ │ │ │ ├── _variables.pcss │ │ │ │ ├── alignment.pcss │ │ │ │ ├── all.pcss │ │ │ │ ├── block-editor.pcss │ │ │ │ ├── figcaption.pcss │ │ │ │ ├── images.pcss │ │ │ │ ├── wp-audio-video.pcss │ │ │ │ └── wp-playlist.pcss │ │ │ │ ├── print.pcss │ │ │ │ ├── separators │ │ │ │ └── _utilities.pcss │ │ │ │ ├── spacing │ │ │ │ ├── _utilities.pcss │ │ │ │ ├── _variables.pcss │ │ │ │ ├── all.pcss │ │ │ │ ├── aspect-ratios.pcss │ │ │ │ └── sink.pcss │ │ │ │ ├── transitions │ │ │ │ └── _variables.pcss │ │ │ │ ├── typography │ │ │ │ ├── _mixins.pcss │ │ │ │ ├── _utilities.pcss │ │ │ │ ├── _variables.pcss │ │ │ │ ├── all.pcss │ │ │ │ ├── anchors.pcss │ │ │ │ ├── block-editor.pcss │ │ │ │ ├── fonts.pcss │ │ │ │ ├── headings.pcss │ │ │ │ ├── hr.pcss │ │ │ │ ├── lists.pcss │ │ │ │ ├── mark.pcss │ │ │ │ ├── p.pcss │ │ │ │ ├── quotes.pcss │ │ │ │ ├── tables.pcss │ │ │ │ └── themes.pcss │ │ │ │ └── visibility │ │ │ │ ├── _mixins.pcss │ │ │ │ └── _utilities.pcss │ │ ├── fonts │ │ │ └── theme │ │ │ │ └── icons-core │ │ │ │ ├── core-icons.svg │ │ │ │ ├── core-icons.ttf │ │ │ │ ├── core-icons.woff │ │ │ │ └── core-icons.woff2 │ │ ├── img │ │ │ ├── admin │ │ │ │ └── panels │ │ │ │ │ ├── icons │ │ │ │ │ ├── standard │ │ │ │ │ │ ├── 2column.svg │ │ │ │ │ │ ├── accordion-center.svg │ │ │ │ │ │ ├── accordion-left.svg │ │ │ │ │ │ ├── accordion-right.svg │ │ │ │ │ │ ├── bleed-left.svg │ │ │ │ │ │ ├── bleed-right.svg │ │ │ │ │ │ ├── break-grid.svg │ │ │ │ │ │ ├── card-center.svg │ │ │ │ │ │ ├── card-left.svg │ │ │ │ │ │ ├── card-right.svg │ │ │ │ │ │ ├── card.svg │ │ │ │ │ │ ├── contact-card-left.svg │ │ │ │ │ │ ├── contact-card-right.svg │ │ │ │ │ │ ├── contact-standard-left.svg │ │ │ │ │ │ ├── contact-standard-right.svg │ │ │ │ │ │ ├── content-align-center.svg │ │ │ │ │ │ ├── content-align-left.svg │ │ │ │ │ │ ├── content-overlay-center.svg │ │ │ │ │ │ ├── content-overlay-left.svg │ │ │ │ │ │ ├── content-overlay-right.svg │ │ │ │ │ │ ├── display-cover.svg │ │ │ │ │ │ ├── display-fullwidth.svg │ │ │ │ │ │ ├── display-inherit.svg │ │ │ │ │ │ ├── gallery-carousel.svg │ │ │ │ │ │ ├── gallery-crop.svg │ │ │ │ │ │ ├── gallery-no-carousel.svg │ │ │ │ │ │ ├── gallery-no-crop.svg │ │ │ │ │ │ ├── height-content.svg │ │ │ │ │ │ ├── height-full.svg │ │ │ │ │ │ ├── image-cover.svg │ │ │ │ │ │ ├── image-full-width.svg │ │ │ │ │ │ ├── image-inherit.svg │ │ │ │ │ │ ├── imagetext-left.svg │ │ │ │ │ │ ├── imagetext-right.svg │ │ │ │ │ │ ├── in-grid.svg │ │ │ │ │ │ ├── layout-boxed.svg │ │ │ │ │ │ ├── layout-full-bleed.svg │ │ │ │ │ │ ├── layout-gutters.svg │ │ │ │ │ │ ├── layout-no-gutters.svg │ │ │ │ │ │ ├── module-hero-center.svg │ │ │ │ │ │ ├── module-hero-left.svg │ │ │ │ │ │ ├── module-micronav-icon.svg │ │ │ │ │ │ ├── module-micronav-standard.svg │ │ │ │ │ │ ├── quote-marks-center.svg │ │ │ │ │ │ ├── quote-marks-left.svg │ │ │ │ │ │ ├── quote-standard.svg │ │ │ │ │ │ ├── slider.svg │ │ │ │ │ │ ├── standard-center.svg │ │ │ │ │ │ ├── standard-left.svg │ │ │ │ │ │ ├── standard-right.svg │ │ │ │ │ │ ├── standard.svg │ │ │ │ │ │ ├── vertical-alignment-middle.svg │ │ │ │ │ │ └── vertical-alignment-top.svg │ │ │ │ │ └── swatches │ │ │ │ │ │ ├── black.png │ │ │ │ │ │ ├── blue.png │ │ │ │ │ │ ├── green.png │ │ │ │ │ │ ├── grey-warm.png │ │ │ │ │ │ ├── grey.png │ │ │ │ │ │ ├── module-imagetext-blue.png │ │ │ │ │ │ ├── module-imagetext-none.png │ │ │ │ │ │ ├── module-imagetext-orange.png │ │ │ │ │ │ ├── module-imagetext-tint.png │ │ │ │ │ │ ├── orange.png │ │ │ │ │ │ ├── red.png │ │ │ │ │ │ ├── sand.png │ │ │ │ │ │ ├── white.png │ │ │ │ │ │ └── yellow.png │ │ │ │ │ └── thumbnails │ │ │ │ │ ├── accordion.svg │ │ │ │ │ ├── card-grid.svg │ │ │ │ │ ├── gallery.svg │ │ │ │ │ ├── hero.svg │ │ │ │ │ ├── image-text.svg │ │ │ │ │ ├── interstitial.svg │ │ │ │ │ ├── logofarm.svg │ │ │ │ │ ├── micronav.svg │ │ │ │ │ ├── query.svg │ │ │ │ │ ├── slider.svg │ │ │ │ │ ├── tabs.svg │ │ │ │ │ ├── testimonial.svg │ │ │ │ │ ├── video-text.svg │ │ │ │ │ ├── video.svg │ │ │ │ │ └── wysiwyg.svg │ │ │ └── theme │ │ │ │ ├── branding-assets │ │ │ │ └── favicon.ico │ │ │ │ └── shims │ │ │ │ ├── 16x9.png │ │ │ │ ├── 1x1.png │ │ │ │ ├── four-three.png │ │ │ │ └── sixteen-nine.png │ │ ├── js │ │ │ ├── src │ │ │ │ ├── admin │ │ │ │ │ ├── config │ │ │ │ │ │ ├── i18n.js │ │ │ │ │ │ ├── options.js │ │ │ │ │ │ ├── state.js │ │ │ │ │ │ └── wp-settings.js │ │ │ │ │ ├── core │ │ │ │ │ │ ├── block-styles.js │ │ │ │ │ │ ├── plugins.js │ │ │ │ │ │ ├── ready.js │ │ │ │ │ │ ├── resize.js │ │ │ │ │ │ └── viewport-dims.js │ │ │ │ │ ├── editor │ │ │ │ │ │ ├── acf-gallery.js │ │ │ │ │ │ ├── components.js │ │ │ │ │ │ ├── deny-blocks.js │ │ │ │ │ │ ├── hooks.js │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── preview.js │ │ │ │ │ │ ├── register-block-filter.js │ │ │ │ │ │ ├── tribe-tinymce.js │ │ │ │ │ │ └── types.js │ │ │ │ │ └── index.js │ │ │ │ ├── apps │ │ │ │ │ ├── Example │ │ │ │ │ │ ├── Example │ │ │ │ │ │ │ ├── api.js │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ │ ├── containers │ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ │ ├── ducks.js │ │ │ │ │ │ │ └── sagas.js │ │ │ │ │ │ ├── app.js │ │ │ │ │ │ ├── app.pcss │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── reducers.js │ │ │ │ │ │ ├── sagas.js │ │ │ │ │ │ └── store.js │ │ │ │ │ └── common │ │ │ │ │ │ ├── Loading.js │ │ │ │ │ │ ├── Loading.pcss │ │ │ │ │ │ └── api.js │ │ │ │ ├── common │ │ │ │ │ └── index.js │ │ │ │ ├── theme │ │ │ │ │ ├── config │ │ │ │ │ │ ├── i18n.js │ │ │ │ │ │ ├── options.js │ │ │ │ │ │ ├── state.js │ │ │ │ │ │ └── wp-settings.js │ │ │ │ │ ├── core │ │ │ │ │ │ ├── components.js │ │ │ │ │ │ ├── integrations.js │ │ │ │ │ │ ├── plugins.js │ │ │ │ │ │ ├── ready.js │ │ │ │ │ │ ├── resize.js │ │ │ │ │ │ └── viewport-dims.js │ │ │ │ │ └── index.js │ │ │ │ └── utils │ │ │ │ │ ├── __mocks__ │ │ │ │ │ ├── localStorage.js │ │ │ │ │ └── wp.js │ │ │ │ │ ├── data │ │ │ │ │ ├── array-to-int.js │ │ │ │ │ ├── parse-url.js │ │ │ │ │ ├── query-to-json.js │ │ │ │ │ └── update-query-var.js │ │ │ │ │ ├── dom │ │ │ │ │ ├── accessibility.js │ │ │ │ │ ├── anchor-hash-focus.js │ │ │ │ │ ├── apply-browser-classes.js │ │ │ │ │ ├── body-lock.js │ │ │ │ │ ├── deepscroll.js │ │ │ │ │ ├── get-hidden-height.js │ │ │ │ │ ├── has-scrollbar.js │ │ │ │ │ ├── is-external-link.js │ │ │ │ │ ├── is-file-link.js │ │ │ │ │ ├── is-image-link.js │ │ │ │ │ ├── popup.js │ │ │ │ │ ├── scroll-horizontal.js │ │ │ │ │ ├── scroll-to.js │ │ │ │ │ ├── scrollspy.js │ │ │ │ │ ├── slide.js │ │ │ │ │ ├── smooth-anchors.js │ │ │ │ │ ├── video-bg.js │ │ │ │ │ └── win-position.js │ │ │ │ │ ├── events.js │ │ │ │ │ ├── redux-saga │ │ │ │ │ └── controller.js │ │ │ │ │ ├── storage │ │ │ │ │ ├── local.js │ │ │ │ │ └── session.js │ │ │ │ │ ├── tests.js │ │ │ │ │ ├── tools.js │ │ │ │ │ └── url.js │ │ │ └── test │ │ │ │ ├── setup.js │ │ │ │ └── tests │ │ │ │ ├── tests.test.js │ │ │ │ └── utils │ │ │ │ ├── data │ │ │ │ ├── array-to-int.test.js │ │ │ │ ├── parse-url.test.js │ │ │ │ ├── query-to-json.test.js │ │ │ │ └── update-query-var.test.js │ │ │ │ ├── dom │ │ │ │ ├── apply-browser-classes.test.js │ │ │ │ └── body-lock.test.js │ │ │ │ └── tools.test.js │ │ └── library │ │ │ └── theme │ │ │ ├── icons │ │ │ └── core │ │ │ │ ├── Read Me.txt │ │ │ │ ├── demo-files │ │ │ │ ├── demo.css │ │ │ │ └── demo.js │ │ │ │ ├── demo.html │ │ │ │ ├── fonts │ │ │ │ ├── core-icons.svg │ │ │ │ ├── core-icons.ttf │ │ │ │ ├── core-icons.woff │ │ │ │ └── core-icons.woff2 │ │ │ │ ├── selection.json │ │ │ │ ├── style.css │ │ │ │ ├── style.scss │ │ │ │ └── variables.scss │ │ │ └── pcss │ │ │ └── functions.js │ ├── blocks │ │ ├── accordion │ │ │ └── accordion.php │ │ ├── buttons │ │ │ └── buttons.php │ │ ├── cardgrid │ │ │ └── cardgrid.php │ │ ├── contentcolumns │ │ │ └── contentcolumns.php │ │ ├── contentloop │ │ │ └── contentloop.php │ │ ├── gallerygrid │ │ │ └── gallerygrid.php │ │ ├── galleryslider │ │ │ └── galleryslider.php │ │ ├── hero │ │ │ └── hero.php │ │ ├── icongrid │ │ │ └── icongrid.php │ │ ├── interstitial │ │ │ └── interstitial.php │ │ ├── leadform │ │ │ └── leadform.php │ │ ├── links │ │ │ └── links.php │ │ ├── logos │ │ │ └── logos.php │ │ ├── mediatext │ │ │ └── mediatext.php │ │ ├── quote │ │ │ └── quote.php │ │ ├── sectionnav │ │ │ └── sectionnav.php │ │ ├── spacer │ │ │ └── spacer.php │ │ ├── stats │ │ │ └── stats.php │ │ └── tabs │ │ │ └── tabs.php │ ├── comments.php │ ├── components │ │ ├── accordion │ │ │ ├── Accordion_Controller.php │ │ │ ├── accordion.php │ │ │ ├── css │ │ │ │ └── accordion.pcss │ │ │ ├── index.js │ │ │ ├── index.pcss │ │ │ └── js │ │ │ │ └── accordion.js │ │ ├── blocks │ │ │ ├── _css │ │ │ │ ├── _utilities.pcss │ │ │ │ ├── _variables.pcss │ │ │ │ ├── block-editor.pcss │ │ │ │ └── index.pcss │ │ │ ├── accordion │ │ │ │ ├── Accordion_Block_Controller.php │ │ │ │ ├── accordion.php │ │ │ │ ├── block-editor.pcss │ │ │ │ ├── css │ │ │ │ │ └── accordion.pcss │ │ │ │ └── index.pcss │ │ │ ├── buttons │ │ │ │ ├── Buttons_Block_Controller.php │ │ │ │ ├── block-editor.pcss │ │ │ │ ├── buttons.php │ │ │ │ ├── css │ │ │ │ │ └── buttons.pcss │ │ │ │ └── index.pcss │ │ │ ├── card_grid │ │ │ │ ├── Card_Grid_Controller.php │ │ │ │ ├── card_grid.php │ │ │ │ ├── css │ │ │ │ │ └── card_grid.pcss │ │ │ │ └── index.pcss │ │ │ ├── content_columns │ │ │ │ ├── Content_Columns_Block_Controller.php │ │ │ │ ├── content_columns.php │ │ │ │ ├── css │ │ │ │ │ └── content-columns.pcss │ │ │ │ └── index.pcss │ │ │ ├── content_loop │ │ │ │ ├── Content_Loop_Controller.php │ │ │ │ ├── content_loop.php │ │ │ │ ├── css │ │ │ │ │ └── content_loop.pcss │ │ │ │ └── index.pcss │ │ │ ├── core_columns │ │ │ │ ├── css │ │ │ │ │ └── columns.pcss │ │ │ │ └── index.pcss │ │ │ ├── gallery_grid │ │ │ │ ├── Gallery_Grid_Controller.php │ │ │ │ ├── css │ │ │ │ │ └── gallery_grid.pcss │ │ │ │ ├── gallery_grid.php │ │ │ │ └── index.pcss │ │ │ ├── gallery_slider │ │ │ │ ├── Gallery_Slider_Controller.php │ │ │ │ ├── css │ │ │ │ │ └── gallery_slider.pcss │ │ │ │ ├── gallery_slider.php │ │ │ │ ├── index.js │ │ │ │ ├── index.pcss │ │ │ │ └── js │ │ │ │ │ └── gallery-slider.js │ │ │ ├── hero │ │ │ │ ├── Hero_Block_Controller.php │ │ │ │ ├── css │ │ │ │ │ └── hero.pcss │ │ │ │ ├── hero.php │ │ │ │ └── index.pcss │ │ │ ├── icon_grid │ │ │ │ ├── Icon_Grid_Controller.php │ │ │ │ ├── css │ │ │ │ │ └── icon_grid.pcss │ │ │ │ ├── icon_grid.php │ │ │ │ └── index.pcss │ │ │ ├── interstitial │ │ │ │ ├── Interstitial_Block_Controller.php │ │ │ │ ├── css │ │ │ │ │ └── interstitial.pcss │ │ │ │ ├── index.pcss │ │ │ │ └── interstitial.php │ │ │ ├── lead_form │ │ │ │ ├── Lead_Form_Block_Controller.php │ │ │ │ ├── css │ │ │ │ │ └── lead-form.pcss │ │ │ │ ├── index.pcss │ │ │ │ └── lead_form.php │ │ │ ├── links │ │ │ │ ├── Links_Block_Controller.php │ │ │ │ ├── css │ │ │ │ │ └── links.pcss │ │ │ │ ├── index.pcss │ │ │ │ └── links.php │ │ │ ├── logos │ │ │ │ ├── Logos_Block_Controller.php │ │ │ │ ├── css │ │ │ │ │ └── logos.pcss │ │ │ │ ├── index.pcss │ │ │ │ └── logos.php │ │ │ ├── media_text │ │ │ │ ├── Media_Text_Block_Controller.php │ │ │ │ ├── css │ │ │ │ │ └── media-text.pcss │ │ │ │ ├── index.pcss │ │ │ │ └── media_text.php │ │ │ ├── quote │ │ │ │ ├── Quote_Block_Controller.php │ │ │ │ ├── css │ │ │ │ │ └── quote.pcss │ │ │ │ ├── index.pcss │ │ │ │ └── quote.php │ │ │ ├── section_nav │ │ │ │ ├── Section_Nav_Block_Controller.php │ │ │ │ ├── css │ │ │ │ │ └── section_nav.pcss │ │ │ │ ├── index.pcss │ │ │ │ └── section_nav.php │ │ │ ├── spacer │ │ │ │ ├── Spacer_Block_Controller.php │ │ │ │ ├── block-editor.pcss │ │ │ │ ├── css │ │ │ │ │ └── spacer.pcss │ │ │ │ ├── index.pcss │ │ │ │ └── spacer.php │ │ │ ├── stats │ │ │ │ ├── Stats_Block_Controller.php │ │ │ │ ├── css │ │ │ │ │ └── stats.pcss │ │ │ │ ├── index.pcss │ │ │ │ └── stats.php │ │ │ └── tabs │ │ │ │ ├── Tabs_Block_Controller.php │ │ │ │ ├── block-editor.pcss │ │ │ │ ├── css │ │ │ │ └── tabs.pcss │ │ │ │ ├── index.pcss │ │ │ │ └── tabs.php │ │ ├── breadcrumbs │ │ │ ├── Breadcrumbs_Controller.php │ │ │ ├── breadcrumbs.php │ │ │ ├── css │ │ │ │ └── breadcrumbs.pcss │ │ │ └── index.pcss │ │ ├── button │ │ │ ├── Button_Controller.php │ │ │ └── button.php │ │ ├── card │ │ │ ├── Card_Controller.php │ │ │ ├── card-search.php │ │ │ ├── card.php │ │ │ ├── css │ │ │ │ └── card.pcss │ │ │ ├── index.js │ │ │ ├── index.pcss │ │ │ └── js │ │ │ │ └── card.js │ │ ├── comments │ │ │ ├── Comment_Edit_Link.php │ │ │ ├── comment │ │ │ │ ├── Comment_Controller.php │ │ │ │ └── comment.php │ │ │ ├── comments_section │ │ │ │ ├── Comments_Section_Controller.php │ │ │ │ └── comments_section.php │ │ │ ├── index.js │ │ │ ├── js │ │ │ │ └── comments.js │ │ │ └── trackback │ │ │ │ ├── Trackback_Controller.php │ │ │ │ └── trackback.php │ │ ├── container │ │ │ ├── Container_Controller.php │ │ │ └── container.php │ │ ├── content_block │ │ │ ├── Content_Block_Controller.php │ │ │ ├── content_block.php │ │ │ ├── css │ │ │ │ └── content-block.pcss │ │ │ └── index.pcss │ │ ├── dialog │ │ │ ├── Dialog_Controller.php │ │ │ ├── css │ │ │ │ ├── _variables.pcss │ │ │ │ └── dialog.pcss │ │ │ ├── dialog.php │ │ │ ├── index.js │ │ │ ├── index.pcss │ │ │ └── js │ │ │ │ └── dialog.js │ │ ├── document │ │ │ ├── css │ │ │ │ └── header.pcss │ │ │ ├── footer │ │ │ │ └── footer.php │ │ │ ├── header │ │ │ │ ├── Header_Controller.php │ │ │ │ └── header.php │ │ │ └── index.pcss │ │ ├── follow │ │ │ ├── Follow_Controller.php │ │ │ ├── css │ │ │ │ └── follow.pcss │ │ │ ├── follow.php │ │ │ └── index.pcss │ │ ├── image │ │ │ ├── Image_Controller.php │ │ │ ├── css │ │ │ │ └── image.pcss │ │ │ ├── image.php │ │ │ ├── index.js │ │ │ ├── index.pcss │ │ │ └── js │ │ │ │ └── image.js │ │ ├── link │ │ │ ├── Link_Controller.php │ │ │ └── link.php │ │ ├── loop_items │ │ │ ├── index │ │ │ │ ├── Index_Controller.php │ │ │ │ └── index.php │ │ │ └── search │ │ │ │ ├── Search_Controller.php │ │ │ │ └── search.php │ │ ├── navigation │ │ │ ├── Navigation_Controller.php │ │ │ ├── css │ │ │ │ ├── legal.pcss │ │ │ │ ├── site-footer.pcss │ │ │ │ └── site-header.pcss │ │ │ ├── index.js │ │ │ ├── index.pcss │ │ │ ├── js │ │ │ │ └── site-header.js │ │ │ └── navigation.php │ │ ├── no_results │ │ │ ├── No_Results_Controller.php │ │ │ └── no_results.php │ │ ├── pagination │ │ │ ├── comments │ │ │ │ ├── Comments_Pagination_Controller.php │ │ │ │ └── comments.php │ │ │ ├── css │ │ │ │ └── pagination.pcss │ │ │ ├── index.pcss │ │ │ ├── loop │ │ │ │ ├── Loop_Pagination_Controller.php │ │ │ │ └── loop.php │ │ │ └── single │ │ │ │ ├── Single_Pagination_Controller.php │ │ │ │ └── single.php │ │ ├── quote │ │ │ ├── Quote_Controller.php │ │ │ ├── css │ │ │ │ └── quote.pcss │ │ │ ├── index.pcss │ │ │ └── quote.php │ │ ├── search_form │ │ │ ├── Search_Form_Controller.php │ │ │ ├── css │ │ │ │ └── search-form.pcss │ │ │ ├── index.pcss │ │ │ └── search_form.php │ │ ├── section_nav │ │ │ ├── Section_Nav_Controller.php │ │ │ ├── css │ │ │ │ └── section-nav.pcss │ │ │ ├── index.js │ │ │ ├── index.pcss │ │ │ ├── js │ │ │ │ └── section-nav.js │ │ │ └── section_nav.php │ │ ├── share │ │ │ ├── Share_Controller.php │ │ │ ├── css │ │ │ │ └── share.pcss │ │ │ ├── index.js │ │ │ ├── index.pcss │ │ │ ├── js │ │ │ │ └── share.js │ │ │ └── share.php │ │ ├── sidebar │ │ │ ├── Sidebar_Controller.php │ │ │ └── sidebar.php │ │ ├── site_footer │ │ │ ├── Site_Footer_Controller.php │ │ │ ├── css │ │ │ │ └── site-footer.pcss │ │ │ ├── index.pcss │ │ │ └── site_footer.php │ │ ├── site_header │ │ │ ├── Site_Header_Controller.php │ │ │ ├── css │ │ │ │ ├── site-header.pcss │ │ │ │ └── skip-link.pcss │ │ │ ├── index.js │ │ │ ├── index.pcss │ │ │ ├── js │ │ │ │ └── site-header.js │ │ │ └── site_header.php │ │ ├── slider │ │ │ ├── Slider_Controller.php │ │ │ ├── css │ │ │ │ └── slider.pcss │ │ │ ├── index.js │ │ │ ├── index.pcss │ │ │ ├── js │ │ │ │ └── slider.js │ │ │ └── slider.php │ │ ├── statistic │ │ │ ├── Statistic_Controller.php │ │ │ ├── css │ │ │ │ └── statistic.pcss │ │ │ ├── index.pcss │ │ │ └── statistic.php │ │ ├── subheader │ │ │ ├── Subheader_Controller.php │ │ │ ├── Subheader_Single_Controller.php │ │ │ ├── css │ │ │ │ └── subheader.pcss │ │ │ ├── index.pcss │ │ │ ├── subheader-single.php │ │ │ └── subheader.php │ │ ├── tabs │ │ │ ├── Tabs_Controller.php │ │ │ ├── css │ │ │ │ └── tabs.pcss │ │ │ ├── index.js │ │ │ ├── index.pcss │ │ │ ├── js │ │ │ │ └── tabs.js │ │ │ └── tabs.php │ │ ├── text │ │ │ ├── Text_Controller.php │ │ │ └── text.php │ │ └── video │ │ │ ├── Video_Controller.php │ │ │ ├── css │ │ │ ├── _variables.pcss │ │ │ └── video.pcss │ │ │ ├── index.js │ │ │ ├── index.pcss │ │ │ ├── js │ │ │ └── video.js │ │ │ └── video.php │ ├── footer.php │ ├── functions.php │ ├── header.php │ ├── index.php │ ├── integrations │ │ ├── chosen │ │ │ ├── css │ │ │ │ ├── _variables.pcss │ │ │ │ └── chosen.pcss │ │ │ └── index.pcss │ │ ├── gravity-forms │ │ │ ├── block-editor.pcss │ │ │ ├── css │ │ │ │ ├── _variables.pcss │ │ │ │ ├── complex-layouts.pcss │ │ │ │ ├── controls │ │ │ │ │ ├── consent.pcss │ │ │ │ │ ├── default.pcss │ │ │ │ │ ├── file.pcss │ │ │ │ │ ├── hidden.pcss │ │ │ │ │ ├── lists.pcss │ │ │ │ │ ├── radio-checkbox.pcss │ │ │ │ │ ├── select.pcss │ │ │ │ │ ├── textarea.pcss │ │ │ │ │ └── time-date.pcss │ │ │ │ ├── default.pcss │ │ │ │ ├── gf-classes.pcss │ │ │ │ ├── label.pcss │ │ │ │ ├── spinner.pcss │ │ │ │ └── validation │ │ │ │ │ ├── error.pcss │ │ │ │ │ ├── required.pcss │ │ │ │ │ └── success.pcss │ │ │ ├── index.js │ │ │ ├── index.pcss │ │ │ └── js │ │ │ │ └── gravity-forms.js │ │ ├── jquery-datepicker │ │ │ ├── css │ │ │ │ ├── _variables.pcss │ │ │ │ └── jquery-datepicker.pcss │ │ │ ├── img │ │ │ │ └── ui-icons_ffffff_256x240.png │ │ │ └── index.pcss │ │ ├── spinner │ │ │ ├── css │ │ │ │ └── default.pcss │ │ │ └── index.pcss │ │ └── swiper │ │ │ ├── css │ │ │ ├── _variables.pcss │ │ │ └── swiper.pcss │ │ │ └── index.pcss │ ├── page-templates │ │ ├── index.php │ │ └── page-example-app.php │ ├── page.php │ ├── routes │ │ ├── archive │ │ │ ├── Archive_Controller.php │ │ │ └── archive.php │ │ ├── example_app │ │ │ ├── Example_App_Controller.php │ │ │ └── example_app.php │ │ ├── index │ │ │ ├── Index_Controller.php │ │ │ └── index.php │ │ ├── not_found │ │ │ ├── Not_Found_Controller.php │ │ │ ├── css │ │ │ │ └── not_found.pcss │ │ │ ├── index.pcss │ │ │ └── not_found.php │ │ ├── page │ │ │ ├── Page_Controller.php │ │ │ └── page.php │ │ ├── sample │ │ │ └── sample.php │ │ ├── search │ │ │ ├── Search_Controller.php │ │ │ ├── css │ │ │ │ └── search.pcss │ │ │ ├── index.js │ │ │ ├── index.pcss │ │ │ ├── js │ │ │ │ └── search.js │ │ │ └── search.php │ │ └── single │ │ │ ├── Single_Controller.php │ │ │ ├── css │ │ │ └── single.pcss │ │ │ ├── index.pcss │ │ │ └── single.php │ ├── screenshot.png │ ├── search.php │ ├── single.php │ └── style.css │ └── index.php └── yarn.lock /.deploy/config/php.ini: -------------------------------------------------------------------------------- 1 | upload_max_filesize=50M 2 | post_max_size=58M 3 | -------------------------------------------------------------------------------- /.env.sample: -------------------------------------------------------------------------------- 1 | # Not currently used. 2 | # ACF Pro uses auth.json instead. 3 | # Gravity Forms does not support composer installations. The plugin files should be checked into the repo directly. 4 | -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- 1 | vendor/** 2 | wp-content/themes/core/pcss/**/*.pcss 3 | node_modules/** 4 | **/node_modules 5 | __snapshots__ 6 | __coverage__ 7 | __mocks__ 8 | __mockData__ 9 | webpack.config.js 10 | !.eslintrc -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | /composer.lock -merge 2 | -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | ## What does this do/fix? 2 | 3 | [ description ] 4 | 5 | 6 | ## QA 7 | 8 | Links to relevant issues 9 | - [Link to Issue](https://example.com) 10 | 11 | Links to deployed, scaffolded demo: 12 | - [Link to Demo](https://example.com) 13 | 14 | Screenshots/video: 15 | - [Link to Video](https://example.com) 16 | 17 | ## Tests 18 | 19 | Does this have tests? 20 | 21 | - [ ] Yes 22 | - [ ] No, this doesn't need tests because... 23 | - [ ] No, I need help figuring out how to write the tests. 24 | 25 | -------------------------------------------------------------------------------- /.github/workflows/deploy-test.yml: -------------------------------------------------------------------------------- 1 | name: Deploy Test 2 | 3 | on: 4 | workflow_dispatch: 5 | 6 | jobs: 7 | deploy_app: 8 | uses: moderntribe/square-one/.github/workflows/dokku-deploy.yml@main 9 | with: 10 | app_name: sq1 11 | branch: ${{ github.ref }} 12 | is_review_app: false 13 | secrets: 14 | github_pat_token: ${{ secrets.GH_BOT_TOKEN }} 15 | server: ${{ secrets.TEST_DOMAIN }} 16 | ssh_private_key: ${{ secrets.DOKKU_DEPLOY_KEY }} 17 | slack_webhook: ${{ secrets.SLACK_WEBHOOK }} 18 | -------------------------------------------------------------------------------- /.github/workflows/eslint.yml: -------------------------------------------------------------------------------- 1 | name: 'ESLint' 2 | on: 3 | push: 4 | branches: 5 | - main 6 | pull_request: 7 | 8 | jobs: 9 | eslint: 10 | runs-on: ubuntu-latest 11 | steps: 12 | - uses: actions/checkout@v3 13 | with: 14 | fetch-depth: 1 15 | - uses: actions/setup-node@v3 16 | with: 17 | node-version-file: '.nvmrc' 18 | cache: 'yarn' 19 | - run: yarn install --prefer-offline 20 | - uses: reviewdog/action-eslint@v1 21 | with: 22 | fail_on_error: true 23 | github_token: ${{ secrets.GITHUB_TOKEN }} 24 | eslint_flags: 'wp-content/{*themes,plugins*}/core/**/*.js' 25 | -------------------------------------------------------------------------------- /.lefthook/pre-commit/detect-merge-markers.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | if git rev-parse --verify HEAD >/dev/null 2>&1 4 | then 5 | against=HEAD 6 | else 7 | # Initial commit: diff against an empty tree object 8 | against=$(git hash-object -t tree /dev/null) 9 | fi 10 | 11 | # If there are whitespace errors, print the offending file names and fail. 12 | exec git diff-index --check --cached $against -- 13 | -------------------------------------------------------------------------------- /.nvmrc: -------------------------------------------------------------------------------- 1 | 16.13.1 2 | -------------------------------------------------------------------------------- /.stylelintignore: -------------------------------------------------------------------------------- 1 | vendor/** 2 | node_modules/** 3 | **/*.jsx 4 | **/*.js 5 | *.jsx 6 | *.js -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | // See https://go.microsoft.com/fwlink/?LinkId=827846 to learn about workspace recommendations. 3 | // Extension identifier format: ${publisher}.${name}. Example: vscode.csharp 4 | 5 | // List of extensions which should be recommended for users of this workspace. 6 | "recommendations": [ 7 | "EditorConfig.EditorConfig", 8 | "xdebug.php-debug", 9 | "valeryanm.vscode-phpsab", 10 | "bmewburn.vscode-intelephense-client" 11 | ], 12 | // List of extensions recommended by VS Code that should not be recommended for users of this workspace. 13 | "unwantedRecommendations": [ 14 | 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /Procfile: -------------------------------------------------------------------------------- 1 | web: vendor/bin/heroku-php-nginx -C .deploy/config/nginx.conf -i .deploy/config/php.ini wp/ -------------------------------------------------------------------------------- /auth-sample.json: -------------------------------------------------------------------------------- 1 | { 2 | "http-basic": { 3 | "connect.advancedcustomfields.com": { 4 | "username": "ACF License Key", 5 | "password": "https://square1.tribe" 6 | } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /dev/bin/init.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -e 4 | 5 | cd "$(dirname "$0")/../../" 6 | 7 | if [ -z "$1" ]; then 8 | echo "Please provide a new name for this project, like: init.sh new-project-name, it should match the project name on GitHub" 9 | exit 10 | fi 11 | 12 | git remote set-url origin "git@github.com:moderntribe/$1.git" 13 | git remote add upstream "git@github.com:moderntribe/square-one.git" 14 | 15 | # create necessary branches 16 | git branch develop 17 | git branch server/dev 18 | git branch server/production -------------------------------------------------------------------------------- /dev/docker/.gitignore: -------------------------------------------------------------------------------- 1 | docker-compose.override.yml 2 | acme.json 3 | /global 4 | .env 5 | -------------------------------------------------------------------------------- /dev/docker/.projectID: -------------------------------------------------------------------------------- 1 | square1 -------------------------------------------------------------------------------- /dev/docker/php/msmtp.conf: -------------------------------------------------------------------------------- 1 | account mailhog 2 | host mail 3 | port 1025 4 | from squareone@tribe 5 | 6 | account default : mailhog 7 | -------------------------------------------------------------------------------- /dev/docker/wp-cli.yml: -------------------------------------------------------------------------------- 1 | path: /application/www/wp 2 | url: square1.tribe -------------------------------------------------------------------------------- /dev/tests/.env-dist: -------------------------------------------------------------------------------- 1 | WP_ROOT_FOLDER="/application/www/wp" 2 | 3 | WP_DOMAIN="square1test.tribe" 4 | 5 | WP_ADMIN_PATH="/wp-admin" 6 | WP_ADMIN_USERNAME="admin" 7 | WP_ADMIN_PASSWORD="password" 8 | 9 | WP_URL="http://square1test.tribe" 10 | TEST_DB_HOST="mysql" 11 | TEST_DB_NAME="tribe_square1_tests" 12 | TEST_DB_USER="root" 13 | TEST_DB_PASSWORD="password" 14 | 15 | ACCEPTANCE_WP_URL="http://square1test.tribe" 16 | ACCEPTANCE_DB_NAME=tribe_square1_acceptance 17 | ACCEPTANCE_DB_HOST=mysql 18 | ACCEPTANCE_DB_USER=root 19 | ACCEPTANCE_DB_PASS=password 20 | 21 | CHROMEDRIVER_HOST=chrome 22 | CHROMEDRIVER_PORT=4444 23 | 24 | TABLE_PREFIX="tribe_" 25 | TRIBE_NO_ASYNC=1 26 | -------------------------------------------------------------------------------- /dev/tests/.gitignore: -------------------------------------------------------------------------------- 1 | /vendor 2 | codeception.yml 3 | .env -------------------------------------------------------------------------------- /dev/tests/tests/_bootstrap.php: -------------------------------------------------------------------------------- 1 | add_field( new Field( self::NAME . '_' . self::FIELD, [ 17 | 'name' => self::FIELD, 18 | 'type' => 'text', 19 | ] ) ); 20 | } 21 | 22 | } 23 | -------------------------------------------------------------------------------- /dev/tests/tests/_support/Classes/Fixtures/Description_Model_Middleware.php: -------------------------------------------------------------------------------- 1 | 'This is new data', 13 | ]; 14 | 15 | return $model->set_data( array_replace_recursive( $model->get_data(), $data ) ); 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /dev/tests/tests/_support/Classes/Fixtures/Subtitle_Field_Middleware.php: -------------------------------------------------------------------------------- 1 | add_field( new Field( self::NAME . '_' . self::FIELD, [ 17 | 'name' => self::FIELD, 18 | 'type' => 'text', 19 | ] ) ); 20 | } 21 | 22 | } 23 | -------------------------------------------------------------------------------- /dev/tests/tests/_support/Classes/Fixtures/Subtitle_Model_Middleware.php: -------------------------------------------------------------------------------- 1 | 'hello world again', 13 | ]; 14 | 15 | return $model->set_data( array_replace_recursive( $model->get_data(), $data ) ); 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /dev/tests/tests/_support/Classes/Test_Case.php: -------------------------------------------------------------------------------- 1 | container = tribe_project()->container(); 27 | } 28 | 29 | } 30 | -------------------------------------------------------------------------------- /dev/tests/tests/_support/Classes/Unit.php: -------------------------------------------------------------------------------- 1 | getModule( 'WPWebDriver' ); 12 | $xdebug_enabled = $webdriver->_getConfig( "xdebug_enabled" ); 13 | 14 | return (bool) $xdebug_enabled; 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /dev/tests/tests/_support/UnitTester.php: -------------------------------------------------------------------------------- 1 | loginAsAdmin(); 13 | $I->amOnAdminPage('edit.php?page=edit-php-settings'); 14 | $I->seeElement( '#acf-group_post_archive_settings' ); 15 | $I->seeElement( '#acf-group_post_archive_featured_settings' ); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /dev/tests/tests/acceptance/Tribe/Project/Object_Meta/Taxonomy_Archive_SettingsCest.php: -------------------------------------------------------------------------------- 1 | loginAsAdmin(); 13 | $I->amOnAdminPage('/term.php?taxonomy=category&tag_ID=1&post_type=post'); 14 | $I->seeElement( '.acf-field-taxonomy-archive-settings-hero-image' ); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /dev/tests/tests/acceptance/_bootstrap.php: -------------------------------------------------------------------------------- 1 | container->make( Post_Loop_Controller_Factory::class ); 11 | $controller = $factory->make( [] ); 12 | $this->assertInstanceOf( Post_Loop_Controller::class, $controller ); 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /dev/tests/tests/integration/Tribe/Project/Core_Test.php: -------------------------------------------------------------------------------- 1 | assertTrue( true ); 10 | $this->assertTrue( is_plugin_active( 'core/core.php' ) ); 11 | } 12 | } -------------------------------------------------------------------------------- /dev/tests/tests/integration/_bootstrap.php: -------------------------------------------------------------------------------- 1 | shouldUseXdebug() ) { 6 | // Webdriver must be on some page to be able to set cookies 7 | $I->amOnPage( '/' ); 8 | $I->setCookie( "XDEBUG_SESSION", "PHPSTORM" ); 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /dev/tests/tests/webdriver/_bootstrap.php: -------------------------------------------------------------------------------- 1 | Components](/docs/basics/components.md) 6 | -------------------------------------------------------------------------------- /docs/concepts/php-conventions.md: -------------------------------------------------------------------------------- 1 | # PHP Conventions 2 | 3 | 4 | ## Factory Method 5 | 6 | Many classes—including all post types classes (which extend `Post_Object`) and taxonomy classes 7 | (which extend `Term_Object` )—contain a static `factory()` method. This is used to retrieve 8 | a specific instance of a class. Typically, an id is passed to retrieve it. 9 | 10 | ```php 11 | $story = Feed_Story::factory( $post_id ); 12 | echo $story->get_source_name(); 13 | ``` 14 | -------------------------------------------------------------------------------- /docs/tooling/build-system.md: -------------------------------------------------------------------------------- 1 | # Build System 2 | 3 | TODO: Document the build system 4 | 5 | ## How the Build Works 6 | 7 | ## Asset Registration and Enqueues 8 | 9 | ## Adding New Assets 10 | -------------------------------------------------------------------------------- /docs/tooling/git-hooks.md: -------------------------------------------------------------------------------- 1 | # Automatic git hooks 2 | 3 | SquareOne uses [Lefthook](https://github.com/evilmartians/lefthook/blob/master/docs/full_guide.md) to automatically 4 | manage and install git hooks. 5 | 6 | The configuration file, [lefthook.yml](../../lefthook.yml) is available in the root of the project and custom script 7 | hooks in [.lefthook](../../.lefthook). 8 | 9 | ## Installation 10 | 11 | Running `nvm use && yarn install` should automatically activate the appropriate hooks. If it does not, 12 | you can do an aggressive install which removes all existing git hooks and re-installs the hooks 13 | from Lefthook: `yarn lefthook install -a`. 14 | -------------------------------------------------------------------------------- /docs/tooling/img/phpstorm-setup-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moderntribe/square-one/338ec59a8ad7e17e6e4af355f8196fef53f319e0/docs/tooling/img/phpstorm-setup-1.png -------------------------------------------------------------------------------- /docs/tooling/img/phpstorm-setup-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moderntribe/square-one/338ec59a8ad7e17e6e4af355f8196fef53f319e0/docs/tooling/img/phpstorm-setup-2.png -------------------------------------------------------------------------------- /docs/tooling/img/phpstorm-setup-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moderntribe/square-one/338ec59a8ad7e17e6e4af355f8196fef53f319e0/docs/tooling/img/phpstorm-setup-3.png -------------------------------------------------------------------------------- /docs/tooling/img/phpstorm-setup-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moderntribe/square-one/338ec59a8ad7e17e6e4af355f8196fef53f319e0/docs/tooling/img/phpstorm-setup-4.png -------------------------------------------------------------------------------- /gulp-tasks/decompress.js: -------------------------------------------------------------------------------- 1 | const gulp = require( 'gulp' ); 2 | const decompress = require( 'gulp-decompress' ); 3 | const pkg = require( '../package.json' ); 4 | 5 | module.exports = { 6 | coreIcons() { 7 | return gulp.src( [ 8 | `${ pkg.square1.paths.component }/core-icons.zip`, 9 | ] ) 10 | .pipe( decompress() ) 11 | .pipe( gulp.dest( `${ pkg.square1.paths.component }/theme/icons/core` ) ); 12 | }, 13 | }; 14 | -------------------------------------------------------------------------------- /gulp-tasks/footer.js: -------------------------------------------------------------------------------- 1 | const gulp = require( 'gulp' ); 2 | const footer = require( 'gulp-footer' ); 3 | const pkg = require( '../package.json' ); 4 | 5 | module.exports = { 6 | coreIconsVariables() { 7 | return gulp.src( `${ pkg.square1.paths.core_theme_pcss }icons/_variables.pcss` ) 8 | .pipe( footer( '}\n' ) ) 9 | .pipe( gulp.dest( `${ pkg.square1.paths.core_theme_pcss }icons/` ) ); 10 | }, 11 | }; 12 | -------------------------------------------------------------------------------- /gulp-tasks/lineending.js: -------------------------------------------------------------------------------- 1 | const gulp = require( 'gulp' ); 2 | const lec = require( 'gulp-line-ending-corrector' ); 3 | const pkg = require( '../package.json' ); 4 | 5 | module.exports = { 6 | win() { 7 | return gulp.src( [ 8 | `${ pkg.square1.paths.core_theme_js_vendor }**/*`, 9 | ] ) 10 | .pipe( lec( { verbose: true, eolc: 'CRLF' } ) ) 11 | .pipe( gulp.dest( pkg.square1.paths.core_theme_js_vendor ) ); 12 | }, 13 | }; 14 | -------------------------------------------------------------------------------- /index.php: -------------------------------------------------------------------------------- 1 | { 7 | compiler.hooks.afterEmit.tap( 'generate-css-asset-maps', async() => { 8 | const themeCss = resolve( `${ __dirname }/../../`, paths.core_theme_css_dist ); 9 | const adminCss = resolve( `${ __dirname }/../../`, paths.core_admin_css_dist ); 10 | await util.writeCSSData( themeCss ); 11 | await util.writeCSSData( adminCss, 'admin' ); 12 | } ); 13 | }, 14 | }; 15 | -------------------------------------------------------------------------------- /webpack/configs/base.js: -------------------------------------------------------------------------------- 1 | /** 2 | * External Dependencies 3 | */ 4 | const path = require( 'path' ); 5 | const webpack = require( 'webpack' ); 6 | 7 | /** 8 | * Internal Dependencies 9 | */ 10 | const rules = require( '../rules' ); 11 | 12 | module.exports = { 13 | resolve: { 14 | extensions: [ '.js', '.jsx', '.json', '.pcss' ], 15 | }, 16 | resolveLoader: { 17 | modules: [ 18 | path.resolve( `${ __dirname }/../../`, 'node_modules' ), 19 | ], 20 | }, 21 | module: { 22 | rules, 23 | }, 24 | plugins: [ 25 | new webpack.IgnorePlugin( { 26 | resourceRegExp: /^\.\/locale$/, 27 | contextRegExp: /moment$/, 28 | } ), 29 | ], 30 | }; 31 | -------------------------------------------------------------------------------- /webpack/configs/local.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Set up local-config values for use throughout the webpack configs 3 | */ 4 | 5 | function module_exists( name ) { 6 | try { 7 | return require.resolve( name ); 8 | } catch ( e ) { 9 | return false; 10 | } 11 | } 12 | 13 | const localConfig = module_exists( '../../local-config.json' ) ? require( '../../local-config.json' ) : { 14 | proxy: 'square1.tribe', 15 | certs_path: '', 16 | protocol: 'http', 17 | }; 18 | 19 | if ( localConfig.certs_path.length ) { 20 | localConfig.protocol = 'https'; 21 | } 22 | 23 | module.exports = localConfig; 24 | -------------------------------------------------------------------------------- /webpack/entry/admin.js: -------------------------------------------------------------------------------- 1 | const { square1: { paths } } = require( '../../package.json' ); 2 | 3 | module.exports = { 4 | scripts: [ 5 | `./${ paths.core_admin_js_src }index.js`, 6 | ], 7 | }; 8 | -------------------------------------------------------------------------------- /webpack/entry/theme.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Internal Dependencies 3 | */ 4 | const { square1: { paths } } = require( '../../package.json' ); 5 | 6 | module.exports = { 7 | scripts: [ 8 | `./${ paths.core_theme_js_src }index.js`, 9 | ], 10 | }; 11 | -------------------------------------------------------------------------------- /webpack/example.js: -------------------------------------------------------------------------------- 1 | /** 2 | * External Dependencies 3 | */ 4 | const { resolve } = require( 'path' ); 5 | 6 | /** 7 | * Internal Dependencies 8 | */ 9 | const pkg = require( '../package.json' ); 10 | const appBase = require( './configs/app-base.js' ); 11 | const localConfig = require( './configs/local' ); 12 | 13 | module.exports = { 14 | mode: 'development', 15 | entry: { 16 | scripts: `./${ pkg.square1.paths.core_apps_js_src }Example/index.js`, 17 | }, 18 | output: { 19 | filename: 'app.js', 20 | path: resolve( `${ __dirname }/../`, 'public/js/' ), 21 | publicPath: `${ localConfig.protocol }://${ localConfig.proxy }:9000/`, 22 | }, 23 | ...appBase, 24 | }; 25 | -------------------------------------------------------------------------------- /webpack/externals/admin/index.js: -------------------------------------------------------------------------------- 1 | const wordpress = require( './wordpress' ); 2 | const vendor = require( './vendor' ); 3 | 4 | module.exports = { 5 | ...wordpress, 6 | ...vendor, 7 | }; 8 | -------------------------------------------------------------------------------- /webpack/externals/admin/vendor.js: -------------------------------------------------------------------------------- 1 | const vendor = { 2 | 'react-dom': 'ReactDOM', 3 | 'react': 'React', 4 | }; 5 | 6 | module.exports = vendor; 7 | -------------------------------------------------------------------------------- /webpack/externals/theme/index.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | jquery: 'jQuery', 3 | }; 4 | -------------------------------------------------------------------------------- /webpack/optimization/minimizer.js: -------------------------------------------------------------------------------- 1 | const TerserPlugin = require( 'terser-webpack-plugin' ); 2 | const CssMinimizerPlugin = require( 'css-minimizer-webpack-plugin' ); 3 | 4 | module.exports = [ 5 | new TerserPlugin( { 6 | cache: true, 7 | parallel: true, 8 | sourceMap: false, // Must be set to true if using source-maps in production 9 | extractComments: false, 10 | terserOptions: { 11 | compress: { 12 | warnings: false, 13 | drop_console: true, 14 | }, 15 | output: { 16 | comments: false, 17 | }, 18 | }, 19 | } ), 20 | new CssMinimizerPlugin(), 21 | ]; 22 | -------------------------------------------------------------------------------- /webpack/optimization/split-chunks.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | minSize: 2000, 3 | cacheGroups: { 4 | vendor: { 5 | test: /[\\/]node_modules[\\/]/, 6 | name: 'vendor', 7 | chunks: 'all', 8 | }, 9 | }, 10 | }; 11 | -------------------------------------------------------------------------------- /webpack/rules/index.js: -------------------------------------------------------------------------------- 1 | const scripts = require( './scripts' ); 2 | const styles = require( './styles' ); 3 | 4 | module.exports = [ 5 | scripts, 6 | styles, 7 | ]; 8 | -------------------------------------------------------------------------------- /webpack/rules/scripts.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | test: /\.js$/, 3 | exclude: [ /node_modules\/(?!(swiper|dom7)\/).*/ ], 4 | use: [ 5 | { 6 | loader: 'babel-loader', 7 | }, 8 | ], 9 | }; 10 | -------------------------------------------------------------------------------- /webpack/rules/styles.js: -------------------------------------------------------------------------------- 1 | const MiniCssExtractPlugin = require( 'mini-css-extract-plugin' ); 2 | 3 | module.exports = { 4 | test: /\.p?css$/, 5 | use: [ 6 | MiniCssExtractPlugin.loader, 7 | { 8 | loader: 'css-loader', 9 | options: { 10 | modules: { 11 | localIdentName: '[name]__[local]___[hash:base64:5]', 12 | }, 13 | importLoaders: 1, 14 | sourceMap: true, 15 | }, 16 | }, 17 | { 18 | loader: 'postcss-loader', 19 | options: { 20 | sourceMap: true, 21 | }, 22 | }, 23 | ], 24 | }; 25 | -------------------------------------------------------------------------------- /webpack/rules/watch.js: -------------------------------------------------------------------------------- 1 | const scripts = require( './scripts' ); 2 | const styles = require( './styles' ); 3 | 4 | scripts.use.push( { 5 | loader: 'ifdef-loader', 6 | options: { 7 | 'INCLUDEREACT': false, 8 | 'version': 3, 9 | 'ifdef-verbose': true, 10 | 'ifdef-triple-slash': false, 11 | }, 12 | } ); 13 | 14 | module.exports = [ 15 | scripts, 16 | styles, 17 | ]; 18 | -------------------------------------------------------------------------------- /wp-config.php: -------------------------------------------------------------------------------- 1 | pipeline = $pipeline; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /wp-content/plugins/core/src/Block_Middleware/Contracts/Has_Middleware_Params.php: -------------------------------------------------------------------------------- 1 | >> 20 | */ 21 | public function get_middleware_params(): array; 22 | 23 | } 24 | -------------------------------------------------------------------------------- /wp-content/plugins/core/src/Block_Middleware/Contracts/Middleware.php: -------------------------------------------------------------------------------- 1 | pipeline->send( $model )->thenReturn(); 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /wp-content/plugins/core/src/Blocks/Contracts/Model.php: -------------------------------------------------------------------------------- 1 | container->get( Term_Manager::class )->get_terms( $terms, $args ); 12 | }, 10, 3 ); 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /wp-content/plugins/core/src/Blocks/Types/Buttons/Buttons_Model.php: -------------------------------------------------------------------------------- 1 | $this->get_attrs(), 14 | Buttons_Block_Controller::CLASSES => $this->get_classes(), 15 | Buttons_Block_Controller::BUTTONS => Button_Collection::create( $this->get( Buttons::BUTTONS, [] ) ), 16 | ]; 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /wp-content/plugins/core/src/CLI/CLI_Definer.php: -------------------------------------------------------------------------------- 1 | DI\add( [] ), 19 | ]; 20 | } 21 | 22 | } 23 | -------------------------------------------------------------------------------- /wp-content/plugins/core/src/Integrations/ACF/ACF_Subscriber.php: -------------------------------------------------------------------------------- 1 | container->get( Max_Length_Counter::class )->add_counter_div( (array) $field ); 12 | } ); 13 | 14 | add_action( 'acf/input/admin_footer', function (): void { 15 | $this->container->get( Max_Length_Counter::class )->add_counter_js(); 16 | } ); 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /wp-content/plugins/core/src/Integrations/Google_Tag_Manager/Google_Tag_Manager_Subscriber.php: -------------------------------------------------------------------------------- 1 | container->get( GTM_Scripts::class )->inject_google_tag_manager_head_tag(); 12 | } ); 13 | add_action( 'wp_body_open', function (): void { 14 | $this->container->get( GTM_Scripts::class )->inject_google_tag_manager_body_tag(); 15 | } ); 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /wp-content/plugins/core/src/Integrations/Yoast_SEO/Yoast_SEO_Subscriber.php: -------------------------------------------------------------------------------- 1 | container->get( Open_Graph::class )->customize_wpseo_opengraph_image_size( (string) $size ); 12 | }, 10, 1 ); 13 | 14 | add_filter( 'wpseo_twitter_image_size', function ( $size ) { 15 | return $this->container->get( Open_Graph::class )->customize_wpseo_twitter_image_size( (string) $size ); 16 | }, 10, 1 ); 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /wp-content/plugins/core/src/Object_Meta/Contracts/Abstract_Tab.php: -------------------------------------------------------------------------------- 1 | get_keys(), true ) ? get_field( $key, $post_id ) : null; 25 | } 26 | 27 | } 28 | -------------------------------------------------------------------------------- /wp-content/plugins/core/src/Object_Meta/Contracts/With_Key.php: -------------------------------------------------------------------------------- 1 | container->get( Search::class )->force_load_search_template( (string) $request, $wp_query ); 12 | }, 10, 2 ); 13 | 14 | add_action( 'pre_get_posts', function ( $query ) { 15 | return $this->container->get( Featured_Posts::class )->remove_featured_posts_from_main_query( $query ); 16 | }, 10, 1 ); 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /wp-content/plugins/core/src/Routes/Routes_Subscriber.php: -------------------------------------------------------------------------------- 1 | container->get( Sample_Route::class )->js_config( ...$args ); 22 | // }, 23 | // 10, 24 | // 1 25 | // ); 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /wp-content/plugins/core/src/Settings/Post_Settings.php: -------------------------------------------------------------------------------- 1 | DI\add( [ 14 | DI\get( Theme_Options::class ), 15 | DI\get( Post_Settings::class ), 16 | ] ), 17 | ]; 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /wp-content/plugins/core/src/Shortcodes/Shortcode.php: -------------------------------------------------------------------------------- 1 | get_current_page() <= 1; 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /wp-content/plugins/core/src/Templates/Models/Accordion_Row.php: -------------------------------------------------------------------------------- 1 | url = $url; 13 | $this->label = $label; 14 | } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /wp-content/plugins/core/src/Templates/Models/Button.php: -------------------------------------------------------------------------------- 1 | ', esc_attr( $theme_color ) ); 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /wp-content/plugins/core/src/Theme_Customizer/Customizer_Loader.php: -------------------------------------------------------------------------------- 1 | container->get( Customizer_Loader::class )->register_customizer_controls( $wp_customize ); 13 | }, 10, 1 ); 14 | } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /wp-content/plugins/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moderntribe/square-one/338ec59a8ad7e17e6e4af355f8196fef53f319e0/wp-content/plugins/index.html -------------------------------------------------------------------------------- /wp-content/plugins/index.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moderntribe/square-one/338ec59a8ad7e17e6e4af355f8196fef53f319e0/wp-content/plugins/index.php -------------------------------------------------------------------------------- /wp-content/plugins/term-sorter/term-sorter.php: -------------------------------------------------------------------------------- 1 | 8 |
9 |

10 | 11 |
12 | -------------------------------------------------------------------------------- /wp-content/sunrise.php: -------------------------------------------------------------------------------- 1 | thumb -------------------------------------------------------------------------------- /wp-content/themes/core/assets/img/admin/panels/icons/standard/display-cover.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 7 | 8 | -------------------------------------------------------------------------------- /wp-content/themes/core/assets/img/admin/panels/icons/standard/display-fullwidth.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 7 | 8 | -------------------------------------------------------------------------------- /wp-content/themes/core/assets/img/admin/panels/icons/standard/display-inherit.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /wp-content/themes/core/assets/img/admin/panels/icons/standard/gallery-crop.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /wp-content/themes/core/assets/img/admin/panels/icons/standard/gallery-no-carousel.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /wp-content/themes/core/assets/img/admin/panels/icons/standard/height-full.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /wp-content/themes/core/assets/img/admin/panels/icons/standard/image-cover.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 7 | 8 | -------------------------------------------------------------------------------- /wp-content/themes/core/assets/img/admin/panels/icons/standard/image-full-width.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 7 | 8 | -------------------------------------------------------------------------------- /wp-content/themes/core/assets/img/admin/panels/icons/standard/image-inherit.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /wp-content/themes/core/assets/img/admin/panels/icons/standard/in-grid.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /wp-content/themes/core/assets/img/admin/panels/icons/standard/layout-boxed.svg: -------------------------------------------------------------------------------- 1 | layout-boxed -------------------------------------------------------------------------------- /wp-content/themes/core/assets/img/admin/panels/icons/standard/layout-full-bleed.svg: -------------------------------------------------------------------------------- 1 | layout-full-bleed -------------------------------------------------------------------------------- /wp-content/themes/core/assets/img/admin/panels/icons/standard/layout-gutters.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /wp-content/themes/core/assets/img/admin/panels/icons/standard/layout-no-gutters.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 7 | 8 | -------------------------------------------------------------------------------- /wp-content/themes/core/assets/img/admin/panels/icons/standard/module-hero-center.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 8 | 9 | -------------------------------------------------------------------------------- /wp-content/themes/core/assets/img/admin/panels/icons/standard/module-hero-left.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 8 | 9 | -------------------------------------------------------------------------------- /wp-content/themes/core/assets/img/admin/panels/icons/standard/vertical-alignment-middle.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 7 | 8 | -------------------------------------------------------------------------------- /wp-content/themes/core/assets/img/admin/panels/icons/standard/vertical-alignment-top.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /wp-content/themes/core/assets/img/admin/panels/icons/swatches/black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moderntribe/square-one/338ec59a8ad7e17e6e4af355f8196fef53f319e0/wp-content/themes/core/assets/img/admin/panels/icons/swatches/black.png -------------------------------------------------------------------------------- /wp-content/themes/core/assets/img/admin/panels/icons/swatches/blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moderntribe/square-one/338ec59a8ad7e17e6e4af355f8196fef53f319e0/wp-content/themes/core/assets/img/admin/panels/icons/swatches/blue.png -------------------------------------------------------------------------------- /wp-content/themes/core/assets/img/admin/panels/icons/swatches/green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moderntribe/square-one/338ec59a8ad7e17e6e4af355f8196fef53f319e0/wp-content/themes/core/assets/img/admin/panels/icons/swatches/green.png -------------------------------------------------------------------------------- /wp-content/themes/core/assets/img/admin/panels/icons/swatches/grey-warm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moderntribe/square-one/338ec59a8ad7e17e6e4af355f8196fef53f319e0/wp-content/themes/core/assets/img/admin/panels/icons/swatches/grey-warm.png -------------------------------------------------------------------------------- /wp-content/themes/core/assets/img/admin/panels/icons/swatches/grey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moderntribe/square-one/338ec59a8ad7e17e6e4af355f8196fef53f319e0/wp-content/themes/core/assets/img/admin/panels/icons/swatches/grey.png -------------------------------------------------------------------------------- /wp-content/themes/core/assets/img/admin/panels/icons/swatches/module-imagetext-blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moderntribe/square-one/338ec59a8ad7e17e6e4af355f8196fef53f319e0/wp-content/themes/core/assets/img/admin/panels/icons/swatches/module-imagetext-blue.png -------------------------------------------------------------------------------- /wp-content/themes/core/assets/img/admin/panels/icons/swatches/module-imagetext-none.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moderntribe/square-one/338ec59a8ad7e17e6e4af355f8196fef53f319e0/wp-content/themes/core/assets/img/admin/panels/icons/swatches/module-imagetext-none.png -------------------------------------------------------------------------------- /wp-content/themes/core/assets/img/admin/panels/icons/swatches/module-imagetext-orange.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moderntribe/square-one/338ec59a8ad7e17e6e4af355f8196fef53f319e0/wp-content/themes/core/assets/img/admin/panels/icons/swatches/module-imagetext-orange.png -------------------------------------------------------------------------------- /wp-content/themes/core/assets/img/admin/panels/icons/swatches/module-imagetext-tint.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moderntribe/square-one/338ec59a8ad7e17e6e4af355f8196fef53f319e0/wp-content/themes/core/assets/img/admin/panels/icons/swatches/module-imagetext-tint.png -------------------------------------------------------------------------------- /wp-content/themes/core/assets/img/admin/panels/icons/swatches/orange.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moderntribe/square-one/338ec59a8ad7e17e6e4af355f8196fef53f319e0/wp-content/themes/core/assets/img/admin/panels/icons/swatches/orange.png -------------------------------------------------------------------------------- /wp-content/themes/core/assets/img/admin/panels/icons/swatches/red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moderntribe/square-one/338ec59a8ad7e17e6e4af355f8196fef53f319e0/wp-content/themes/core/assets/img/admin/panels/icons/swatches/red.png -------------------------------------------------------------------------------- /wp-content/themes/core/assets/img/admin/panels/icons/swatches/sand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moderntribe/square-one/338ec59a8ad7e17e6e4af355f8196fef53f319e0/wp-content/themes/core/assets/img/admin/panels/icons/swatches/sand.png -------------------------------------------------------------------------------- /wp-content/themes/core/assets/img/admin/panels/icons/swatches/white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moderntribe/square-one/338ec59a8ad7e17e6e4af355f8196fef53f319e0/wp-content/themes/core/assets/img/admin/panels/icons/swatches/white.png -------------------------------------------------------------------------------- /wp-content/themes/core/assets/img/admin/panels/icons/swatches/yellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moderntribe/square-one/338ec59a8ad7e17e6e4af355f8196fef53f319e0/wp-content/themes/core/assets/img/admin/panels/icons/swatches/yellow.png -------------------------------------------------------------------------------- /wp-content/themes/core/assets/img/theme/branding-assets/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moderntribe/square-one/338ec59a8ad7e17e6e4af355f8196fef53f319e0/wp-content/themes/core/assets/img/theme/branding-assets/favicon.ico -------------------------------------------------------------------------------- /wp-content/themes/core/assets/img/theme/shims/16x9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moderntribe/square-one/338ec59a8ad7e17e6e4af355f8196fef53f319e0/wp-content/themes/core/assets/img/theme/shims/16x9.png -------------------------------------------------------------------------------- /wp-content/themes/core/assets/img/theme/shims/1x1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moderntribe/square-one/338ec59a8ad7e17e6e4af355f8196fef53f319e0/wp-content/themes/core/assets/img/theme/shims/1x1.png -------------------------------------------------------------------------------- /wp-content/themes/core/assets/img/theme/shims/four-three.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moderntribe/square-one/338ec59a8ad7e17e6e4af355f8196fef53f319e0/wp-content/themes/core/assets/img/theme/shims/four-three.png -------------------------------------------------------------------------------- /wp-content/themes/core/assets/img/theme/shims/sixteen-nine.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moderntribe/square-one/338ec59a8ad7e17e6e4af355f8196fef53f319e0/wp-content/themes/core/assets/img/theme/shims/sixteen-nine.png -------------------------------------------------------------------------------- /wp-content/themes/core/assets/js/src/admin/config/i18n.js: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /wp-content/themes/core/assets/js/src/admin/config/options.js: -------------------------------------------------------------------------------- 1 | 2 | // breakpoint settings 3 | 4 | export const MOBILE_BREAKPOINT = 768; 5 | -------------------------------------------------------------------------------- /wp-content/themes/core/assets/js/src/admin/config/state.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | desktop_initialized: false, 4 | is_desktop: false, 5 | is_mobile: false, 6 | mobile_initialized: false, 7 | v_height: 0, 8 | v_width: 0, 9 | }; 10 | -------------------------------------------------------------------------------- /wp-content/themes/core/assets/js/src/admin/config/wp-settings.js: -------------------------------------------------------------------------------- 1 | const wp = window.modern_tribe_admin_config || {}; 2 | 3 | export const HMR_DEV = wp.hmr_dev || 0; 4 | export const BLOCK_DENYLIST = wp.block_denylist || []; 5 | export const BLOCK_STYLE_DENYLIST = wp.block_style_denylist || []; 6 | -------------------------------------------------------------------------------- /wp-content/themes/core/assets/js/src/admin/core/plugins.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @module 3 | * @exports plugins 4 | * @description Kicks in any third party plugins that operate on 5 | * a sitewide basis. 6 | */ 7 | 8 | const plugins = () => { 9 | // initialize global external plugins here 10 | }; 11 | 12 | export default plugins; 13 | -------------------------------------------------------------------------------- /wp-content/themes/core/assets/js/src/admin/core/resize.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @module 3 | * @exports resize 4 | * @description Kicks in any third party plugins that operate on a sitewide basis. 5 | */ 6 | 7 | import { trigger } from 'utils/events'; 8 | import viewportDims from './viewport-dims'; 9 | 10 | const resize = () => { 11 | // code for resize events can go here 12 | 13 | viewportDims(); 14 | 15 | trigger( { event: 'modern_tribe/resize_executed', native: false } ); 16 | }; 17 | 18 | export default resize; 19 | -------------------------------------------------------------------------------- /wp-content/themes/core/assets/js/src/admin/core/viewport-dims.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @module 3 | * @exports viewportDims 4 | * @description Sets viewport dimensions using verge on shared state 5 | * and detects mobile or desktop state. 6 | */ 7 | 8 | import verge from 'verge'; 9 | import state from '../config/state'; 10 | import { MOBILE_BREAKPOINT } from '../config/options'; 11 | 12 | const viewportDims = () => { 13 | state.v_height = verge.viewportH(); 14 | state.v_width = verge.viewportW(); 15 | 16 | if ( state.v_width >= MOBILE_BREAKPOINT ) { 17 | state.is_desktop = true; 18 | state.is_mobile = false; 19 | } else { 20 | state.is_desktop = false; 21 | state.is_mobile = true; 22 | } 23 | }; 24 | 25 | export default viewportDims; 26 | -------------------------------------------------------------------------------- /wp-content/themes/core/assets/js/src/admin/editor/components.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @module 3 | * @exports init 4 | * @description Initializes theme component JS in the block editor context. 5 | */ 6 | 7 | import sectionNav from 'components/section_nav'; 8 | import slider from 'components/slider'; 9 | 10 | const initComponents = () => { 11 | sectionNav(); 12 | slider(); 13 | }; 14 | 15 | const bindEvents = () => { 16 | if ( window.acf ) { 17 | window.acf.addAction( 'render_block_preview', initComponents ); 18 | } 19 | }; 20 | 21 | const init = () => { 22 | bindEvents(); 23 | initComponents(); 24 | console.info( 'SquareOne Admin: Initialized all components.' ); 25 | }; 26 | 27 | export default init; 28 | -------------------------------------------------------------------------------- /wp-content/themes/core/assets/js/src/admin/editor/index.js: -------------------------------------------------------------------------------- 1 | import hooks from './hooks'; 2 | import types from './types'; 3 | import * as tools from 'utils/tools'; 4 | import denyBlocks from './deny-blocks'; 5 | 6 | /** 7 | * @function init 8 | * @description Initialize module 9 | */ 10 | 11 | const init = () => { 12 | hooks(); 13 | types(); 14 | denyBlocks(); 15 | 16 | if ( tools.getNodes( '#editor.block-editor__container', false, document, true )[ 0 ] ) { 17 | import( './preview' /* webpackChunkName:"editor-preview" */ ).then( ( module ) => { 18 | module.default(); 19 | } ); 20 | } 21 | }; 22 | 23 | export default init; 24 | -------------------------------------------------------------------------------- /wp-content/themes/core/assets/js/src/admin/editor/types.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @function init 3 | * @description Initialize module 4 | */ 5 | 6 | const init = () => {}; 7 | 8 | export default init; 9 | -------------------------------------------------------------------------------- /wp-content/themes/core/assets/js/src/admin/index.js: -------------------------------------------------------------------------------- 1 | 2 | import ready from './core/ready'; 3 | 4 | ready(); 5 | -------------------------------------------------------------------------------- /wp-content/themes/core/assets/js/src/apps/Example/Example/api.js: -------------------------------------------------------------------------------- 1 | import { retrieve } from 'common/api'; 2 | 3 | export function fetchExample() { 4 | return retrieve( 'https://jsonplaceholder.typicode.com', 'example', { 5 | method: 'GET', 6 | } ); 7 | } 8 | -------------------------------------------------------------------------------- /wp-content/themes/core/assets/js/src/apps/Example/Example/containers/index.js: -------------------------------------------------------------------------------- 1 | import { bindActionCreators } from 'redux'; 2 | import { connect } from 'react-redux'; 3 | import { reqExample } from '../ducks'; 4 | import Example from '../components'; 5 | 6 | export function mapStateToProps( { example } ) { 7 | return { 8 | ...example, 9 | }; 10 | } 11 | 12 | export function mapDispatchToProps( dispatch ) { 13 | return bindActionCreators( { 14 | reqExample, 15 | }, dispatch ); 16 | } 17 | 18 | export default connect( mapStateToProps, mapDispatchToProps )( Example ); 19 | -------------------------------------------------------------------------------- /wp-content/themes/core/assets/js/src/apps/Example/app.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { hot } from 'react-hot-loader'; 3 | import Example from './Example/containers'; 4 | 5 | import styles from './app.pcss'; 6 | 7 | const App = () => ( 8 |
9 | 10 |
11 | ); 12 | 13 | export default hot( module )( App ); 14 | -------------------------------------------------------------------------------- /wp-content/themes/core/assets/js/src/apps/Example/app.pcss: -------------------------------------------------------------------------------- 1 | @import "assets/css/src/theme/color/_variables.pcss"; 2 | 3 | .main { 4 | align-items: center; 5 | background: var(--color-primary); 6 | color: #fff; 7 | display: flex; 8 | height: 400px; 9 | justify-content: center; 10 | width: 100%; 11 | } 12 | -------------------------------------------------------------------------------- /wp-content/themes/core/assets/js/src/apps/Example/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { render } from 'react-dom'; 3 | import { Provider } from 'react-redux'; 4 | 5 | import App from './app'; 6 | import * as tools from 'utils/tools'; 7 | import configureStore from './store'; 8 | import reducers from './reducers'; 9 | import { mainSaga, childSagas } from './sagas'; 10 | 11 | // @EXAMPLE_REACT_APP 12 | 13 | const store = configureStore( reducers, mainSaga, childSagas ); 14 | 15 | render( 16 | 17 | 18 | , tools.getNodes( 'example-app' )[ 0 ] ); 19 | 20 | console.info( 'Promoter FE: Rendered example app.' ); 21 | -------------------------------------------------------------------------------- /wp-content/themes/core/assets/js/src/apps/Example/reducers.js: -------------------------------------------------------------------------------- 1 | import { combineReducers } from 'redux'; 2 | import example from './Example/ducks'; 3 | 4 | const rootReducer = combineReducers( { 5 | example, 6 | } ); 7 | 8 | export default rootReducer; 9 | -------------------------------------------------------------------------------- /wp-content/themes/core/assets/js/src/apps/Example/sagas.js: -------------------------------------------------------------------------------- 1 | import map from 'lodash/map'; 2 | import { fork, all } from 'redux-saga/effects'; 3 | import example from './Example/sagas'; 4 | 5 | export const childSagas = [ 6 | example, 7 | ]; 8 | 9 | export function* mainSaga( childrenSagas ) { 10 | yield all( [ 11 | ...map( childrenSagas, childSaga => ( fork( childSaga ) ) ), 12 | ] ); 13 | } 14 | -------------------------------------------------------------------------------- /wp-content/themes/core/assets/js/src/apps/Example/store.js: -------------------------------------------------------------------------------- 1 | import { createStore, applyMiddleware } from 'redux'; 2 | import createSagaMiddleware from 'redux-saga'; 3 | 4 | export default function configureStore( reducer, mainSaga, childrenSagas ) { 5 | const sagaMiddleware = createSagaMiddleware(); 6 | 7 | const store = createStore( 8 | reducer, 9 | applyMiddleware( 10 | sagaMiddleware, 11 | ), 12 | ); 13 | 14 | sagaMiddleware.run( mainSaga, childrenSagas ); 15 | 16 | return store; 17 | } 18 | -------------------------------------------------------------------------------- /wp-content/themes/core/assets/js/src/apps/common/Loading.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | import styles from './Loading.pcss'; 4 | 5 | const Loader = () => ( 6 |
7 | Loading... 8 |
9 | ); 10 | 11 | export default Loader; 12 | -------------------------------------------------------------------------------- /wp-content/themes/core/assets/js/src/apps/common/Loading.pcss: -------------------------------------------------------------------------------- 1 | .wrap { 2 | color: #111; 3 | } 4 | -------------------------------------------------------------------------------- /wp-content/themes/core/assets/js/src/common/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Common 3 | * 4 | * Code shared between the theme and admin bundles. 5 | */ 6 | 7 | /** 8 | * @function init 9 | * @description Initialize the module 10 | */ 11 | 12 | const init = () => { 13 | console.info( 'SquareOne Common: Initialized all common scripts.' ); 14 | }; 15 | 16 | export default init; 17 | -------------------------------------------------------------------------------- /wp-content/themes/core/assets/js/src/theme/config/i18n.js: -------------------------------------------------------------------------------- 1 | export const NLS = window.modern_tribe_i18n; 2 | -------------------------------------------------------------------------------- /wp-content/themes/core/assets/js/src/theme/config/options.js: -------------------------------------------------------------------------------- 1 | 2 | // breakpoint settings 3 | 4 | export const MEDIUM_BREAKPOINT = 768; 5 | export const FULL_BREAKPOINT = 960; 6 | -------------------------------------------------------------------------------- /wp-content/themes/core/assets/js/src/theme/config/state.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | desktop_initialized: false, 4 | is_desktop: false, 5 | is_tablet: false, 6 | is_mobile: false, 7 | mobile_initialized: false, 8 | v_height: 0, 9 | v_width: 0, 10 | }; 11 | -------------------------------------------------------------------------------- /wp-content/themes/core/assets/js/src/theme/config/wp-settings.js: -------------------------------------------------------------------------------- 1 | // It's possible our context is the block editor in the admin theme, so fall 2 | // back to that config. 3 | const wp = window.modern_tribe_config || window.modern_tribe_admin_config || {}; 4 | 5 | export const IMAGES_URL = wp.images_url; 6 | export const TEMPLATE_URL = wp.template_url; 7 | export const HMR_DEV = wp.hmr_dev || 0; 8 | export const SCRIPT_DEBUG = wp.script_debug || 0; 9 | -------------------------------------------------------------------------------- /wp-content/themes/core/assets/js/src/theme/core/integrations.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @module 3 | * @exports init 4 | * @description Initializes all integrations found in the components directory of the theme that you select here 5 | */ 6 | 7 | import gravityForms from 'integrations/gravity-forms'; 8 | 9 | const init = () => { 10 | gravityForms(); 11 | 12 | console.info( 'SquareOne Theme: Initialized all integrations.' ); 13 | }; 14 | 15 | export default init; 16 | -------------------------------------------------------------------------------- /wp-content/themes/core/assets/js/src/theme/core/plugins.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @module 3 | * @exports plugins 4 | * @description Kicks in any third party plugins that operate on 5 | * a sitewide basis. 6 | */ 7 | 8 | // import gsap from 'gsap'; // uncomment to import gsap globally 9 | import 'lazysizes'; 10 | import 'lazysizes/plugins/object-fit/ls.object-fit'; 11 | import 'lazysizes/plugins/parent-fit/ls.parent-fit'; 12 | import 'lazysizes/plugins/respimg/ls.respimg'; 13 | import 'lazysizes/plugins/bgset/ls.bgset'; 14 | 15 | const plugins = () => { 16 | // initialize global external plugins here 17 | }; 18 | 19 | export default plugins; 20 | -------------------------------------------------------------------------------- /wp-content/themes/core/assets/js/src/theme/core/resize.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @module 3 | * @exports resize 4 | * @description Kicks in any third party plugins that operate on a sitewide basis. 5 | */ 6 | 7 | import { trigger } from 'utils/events'; 8 | import viewportDims from './viewport-dims'; 9 | 10 | const resize = () => { 11 | // code for resize events can go here 12 | 13 | viewportDims(); 14 | 15 | trigger( { event: 'modern_tribe/resize_executed', native: false } ); 16 | }; 17 | 18 | export default resize; 19 | -------------------------------------------------------------------------------- /wp-content/themes/core/assets/js/src/theme/index.js: -------------------------------------------------------------------------------- 1 | 2 | import ready from './core/ready'; 3 | 4 | ready(); 5 | -------------------------------------------------------------------------------- /wp-content/themes/core/assets/js/src/utils/__mocks__/localStorage.js: -------------------------------------------------------------------------------- 1 | let mockStorage = {}; 2 | 3 | const localStorageMock = { 4 | setItem: (key, val) => { 5 | Object.assign(mockStorage, { 6 | [key]: val, 7 | }); 8 | }, 9 | getItem: (key) => { 10 | return mockStorage[key] || null; 11 | }, 12 | removeItem: (key) => { 13 | delete mockStorage[key]; 14 | }, 15 | clear: () => { 16 | mockStorage = {}; 17 | }, 18 | }; 19 | 20 | Object.defineProperty(window, 'localStorage', { 21 | value: localStorageMock, 22 | }); 23 | 24 | module.export = localStorageMock; 25 | -------------------------------------------------------------------------------- /wp-content/themes/core/assets/js/src/utils/__mocks__/wp.js: -------------------------------------------------------------------------------- 1 | const wpSettingsMock = {}; 2 | 3 | Object.defineProperty(window, 'modern_tribe_config', { 4 | value: wpSettingsMock, 5 | }); 6 | 7 | module.export = wpSettingsMock; 8 | -------------------------------------------------------------------------------- /wp-content/themes/core/assets/js/src/utils/data/array-to-int.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @function arrayToInt 3 | * @description Converts all array values to int. 4 | */ 5 | 6 | const arrayToInt = ( arr = [] ) => arr.map( x => parseInt( x, 10 ) ); 7 | 8 | export default arrayToInt; 9 | -------------------------------------------------------------------------------- /wp-content/themes/core/assets/js/src/utils/data/query-to-json.js: -------------------------------------------------------------------------------- 1 | const queryToJson = ( params = '' ) => { 2 | const query = params.length ? params : location.search.slice( 1 ); 3 | const pairs = query.length ? query.split( '&' ) : []; 4 | const result = {}; 5 | let pairArray = []; 6 | 7 | pairs.forEach( ( pair ) => { 8 | pairArray = pair.split( '=' ); 9 | result[ pairArray[ 0 ] ] = decodeURIComponent( pairArray[ 1 ] || '' ); 10 | } ); 11 | 12 | return JSON.parse( JSON.stringify( result ) ); 13 | }; 14 | 15 | export default queryToJson; 16 | -------------------------------------------------------------------------------- /wp-content/themes/core/assets/js/src/utils/dom/has-scrollbar.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @function hasScrollbar 3 | * @desc test if an el has scrollbars 4 | */ 5 | 6 | const hasScrollbar = el => ( { 7 | vertical: el.scrollHeight > el.clientHeight, 8 | horizontal: el.scrollWidth > el.clientWidth, 9 | } ); 10 | 11 | export default hasScrollbar; 12 | -------------------------------------------------------------------------------- /wp-content/themes/core/assets/js/src/utils/dom/is-file-link.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @function 3 | * @description Check if a url is to a file 4 | */ 5 | 6 | const isFileUrl = ( url = '' ) => { 7 | const ext = url.split( '/' ).pop(); 8 | return ext.indexOf( '.' ) !== -1; 9 | }; 10 | 11 | export default isFileUrl; 12 | -------------------------------------------------------------------------------- /wp-content/themes/core/assets/js/src/utils/dom/is-image-link.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @function 3 | * @description Check is a url string passed in is an image link 4 | */ 5 | 6 | const isImageUrl = ( url = '' ) => { 7 | const ext = url.split( '.' ).pop(); 8 | const test = ext.toLowerCase().match( /(jpg|jpeg|png|gif)/g ); 9 | return test && test.length > 0; 10 | }; 11 | 12 | export default isImageUrl; 13 | -------------------------------------------------------------------------------- /wp-content/themes/core/assets/js/src/utils/dom/scroll-horizontal.js: -------------------------------------------------------------------------------- 1 | const scrollHorizontal = ( e, target = null ) => { 2 | if ( ! target ) { 3 | return; 4 | } 5 | 6 | if ( target.scrollWidth <= target.clientWidth ) { 7 | return; 8 | } 9 | 10 | const event = window.event || e; 11 | const delta = Math.max( -1, Math.min( 1, ( event.wheelDelta || -event.detail ) ) ); 12 | target.scrollLeft -= (delta * 40); //eslint-disable-line 13 | e.preventDefault(); 14 | }; 15 | 16 | export default scrollHorizontal; 17 | -------------------------------------------------------------------------------- /wp-content/themes/core/assets/js/src/utils/dom/win-position.js: -------------------------------------------------------------------------------- 1 | export const top = () => window.pageYOffset || document.documentElement.scrollTop; 2 | export const left = () => window.pageXOffset || document.documentElement.scrollLeft; 3 | -------------------------------------------------------------------------------- /wp-content/themes/core/assets/js/src/utils/redux-saga/controller.js: -------------------------------------------------------------------------------- 1 | import { takeEvery } from 'redux-saga/effects'; 2 | 3 | function createActionHandler( map ) { 4 | return function actionHandler( action ) { 5 | const handler = map[ action.type ]; 6 | 7 | if ( typeof handler === 'function' ) { 8 | return handler( action ); 9 | } 10 | 11 | return handler; 12 | }; 13 | } 14 | 15 | // keys must be unique, and values should be a single action handler 16 | export default function* controller( map ) { 17 | yield takeEvery( Object.keys( map ), createActionHandler( map ) ); 18 | } 19 | -------------------------------------------------------------------------------- /wp-content/themes/core/assets/js/src/utils/storage/local.js: -------------------------------------------------------------------------------- 1 | const put = ( key, value ) => { 2 | window.localStorage.setItem( key, value ); 3 | }; 4 | 5 | const get = key => window.localStorage.getItem( key ); 6 | 7 | const remove = key => window.localStorage.removeItem( key ); 8 | 9 | const clear = () => { 10 | window.localStorage.clear(); 11 | }; 12 | 13 | export { put, get, remove, clear }; 14 | -------------------------------------------------------------------------------- /wp-content/themes/core/assets/js/src/utils/storage/session.js: -------------------------------------------------------------------------------- 1 | const put = ( key, value ) => { 2 | window.sessionStorage.setItem( key, value ); 3 | }; 4 | 5 | const get = key => window.sessionStorage.getItem( key ); 6 | 7 | const remove = key => window.sessionStorage.removeItem( key ); 8 | 9 | const clear = () => { 10 | window.sessionStorage.clear(); 11 | }; 12 | 13 | export { put, get, remove, clear }; 14 | -------------------------------------------------------------------------------- /wp-content/themes/core/assets/js/test/setup.js: -------------------------------------------------------------------------------- 1 | // Mock envs 2 | global.__DEV__ = false; 3 | global.__TEST__ = true; 4 | -------------------------------------------------------------------------------- /wp-content/themes/core/assets/js/test/tests/utils/data/array-to-int.test.js: -------------------------------------------------------------------------------- 1 | import arrayToInt from 'utils/data/array-to-int'; 2 | 3 | describe( 'arrayToInt', () => { 4 | it( 'converts all string type integers into true integers in an array', () => { 5 | const arr = [ '9', 11, '15' ]; 6 | const parsed = arrayToInt( arr ); 7 | expect( Number.isInteger( parsed[ 0 ] ) ).toBe( true ); 8 | expect( Number.isInteger( parsed[ 1 ] ) ).toBe( true ); 9 | expect( Number.isInteger( parsed[ 2 ] ) ).toBe( true ); 10 | } ); 11 | } ); 12 | -------------------------------------------------------------------------------- /wp-content/themes/core/assets/js/test/tests/utils/dom/body-lock.test.js: -------------------------------------------------------------------------------- 1 | import 'utils/__mocks__/wp'; 2 | 3 | import * as bodyLock from 'utils/dom/body-lock'; 4 | 5 | describe('bodyLock', () => { 6 | it('lock the body scroll', () => { 7 | bodyLock.lock(); 8 | 9 | const style = document.body.style; 10 | 11 | expect(style.position).toBe('fixed'); 12 | expect(style.marginTop).toBe('-0px'); // weird thing jest's browser has it as -0px 13 | }); 14 | }); 15 | 16 | describe('bodyUnlock', () => { 17 | it('unlock the body scroll', () => { 18 | bodyLock.unlock(); 19 | 20 | const style = document.body.style; 21 | 22 | expect(style.position).toBe('static'); 23 | expect(style.marginTop).toBe('0px'); 24 | }); 25 | }); 26 | 27 | -------------------------------------------------------------------------------- /wp-content/themes/core/assets/library/theme/icons/core/fonts/core-icons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moderntribe/square-one/338ec59a8ad7e17e6e4af355f8196fef53f319e0/wp-content/themes/core/assets/library/theme/icons/core/fonts/core-icons.ttf -------------------------------------------------------------------------------- /wp-content/themes/core/assets/library/theme/icons/core/fonts/core-icons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moderntribe/square-one/338ec59a8ad7e17e6e4af355f8196fef53f319e0/wp-content/themes/core/assets/library/theme/icons/core/fonts/core-icons.woff -------------------------------------------------------------------------------- /wp-content/themes/core/assets/library/theme/icons/core/fonts/core-icons.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moderntribe/square-one/338ec59a8ad7e17e6e4af355f8196fef53f319e0/wp-content/themes/core/assets/library/theme/icons/core/fonts/core-icons.woff2 -------------------------------------------------------------------------------- /wp-content/themes/core/blocks/accordion/accordion.php: -------------------------------------------------------------------------------- 1 | container()->make( Accordion_Model::class, $args ); 9 | 10 | get_template_part( 11 | 'components/blocks/accordion/accordion', 12 | '', 13 | $model->get_data() 14 | ); 15 | -------------------------------------------------------------------------------- /wp-content/themes/core/blocks/buttons/buttons.php: -------------------------------------------------------------------------------- 1 | container()->make( Buttons_Model::class, $args ); 9 | 10 | get_template_part( 11 | 'components/blocks/buttons/buttons', 12 | '', 13 | $model->get_data() 14 | ); 15 | -------------------------------------------------------------------------------- /wp-content/themes/core/blocks/cardgrid/cardgrid.php: -------------------------------------------------------------------------------- 1 | container()->make( Card_Grid_Model::class, $args ); 9 | 10 | get_template_part( 11 | 'components/blocks/card_grid/card_grid', 12 | '', 13 | $model->get_data() 14 | ); 15 | -------------------------------------------------------------------------------- /wp-content/themes/core/blocks/contentcolumns/contentcolumns.php: -------------------------------------------------------------------------------- 1 | container()->make( Content_Columns_Model::class, $args ); 9 | 10 | get_template_part( 11 | 'components/blocks/content_columns/content_columns', 12 | '', 13 | $model->get_data() 14 | ); 15 | -------------------------------------------------------------------------------- /wp-content/themes/core/blocks/contentloop/contentloop.php: -------------------------------------------------------------------------------- 1 | container()->make( Content_Loop_Model::class, $args ); 9 | 10 | get_template_part( 11 | 'components/blocks/content_loop/content_loop', 12 | '', 13 | $model->get_data() 14 | ); 15 | -------------------------------------------------------------------------------- /wp-content/themes/core/blocks/gallerygrid/gallerygrid.php: -------------------------------------------------------------------------------- 1 | container()->make( Gallery_Grid_Model::class, $args ); 9 | 10 | get_template_part( 11 | 'components/blocks/gallery_grid/gallery_grid', 12 | '', 13 | $model->get_data() 14 | ); 15 | -------------------------------------------------------------------------------- /wp-content/themes/core/blocks/galleryslider/galleryslider.php: -------------------------------------------------------------------------------- 1 | container()->make( Gallery_Slider_Model::class, $args ); 9 | 10 | get_template_part( 11 | 'components/blocks/gallery_slider/gallery_slider', 12 | '', 13 | $model->get_data() 14 | ); 15 | -------------------------------------------------------------------------------- /wp-content/themes/core/blocks/hero/hero.php: -------------------------------------------------------------------------------- 1 | container()->make( Hero_Model::class, $args ); 9 | 10 | get_template_part( 11 | 'components/blocks/hero/hero', 12 | '', 13 | $model->get_data() 14 | ); 15 | -------------------------------------------------------------------------------- /wp-content/themes/core/blocks/icongrid/icongrid.php: -------------------------------------------------------------------------------- 1 | container()->make( Icon_Grid_Model::class, $args ); 9 | 10 | get_template_part( 11 | 'components/blocks/icon_grid/icon_grid', 12 | '', 13 | $model->get_data() 14 | ); 15 | -------------------------------------------------------------------------------- /wp-content/themes/core/blocks/interstitial/interstitial.php: -------------------------------------------------------------------------------- 1 | container()->make( Interstitial_Model::class, $args ); 9 | 10 | get_template_part( 11 | 'components/blocks/interstitial/interstitial', 12 | '', 13 | $model->get_data() 14 | ); 15 | -------------------------------------------------------------------------------- /wp-content/themes/core/blocks/leadform/leadform.php: -------------------------------------------------------------------------------- 1 | container()->make( Lead_Form_Model::class, $args ); 9 | 10 | get_template_part( 11 | 'components/blocks/lead_form/lead_form', 12 | '', 13 | $model->get_data() 14 | ); 15 | -------------------------------------------------------------------------------- /wp-content/themes/core/blocks/links/links.php: -------------------------------------------------------------------------------- 1 | container()->make( Links_Model::class, $args ); 9 | 10 | get_template_part( 11 | 'components/blocks/links/links', 12 | '', 13 | $model->get_data() 14 | ); 15 | -------------------------------------------------------------------------------- /wp-content/themes/core/blocks/logos/logos.php: -------------------------------------------------------------------------------- 1 | container()->make( Logos_Model::class, $args ); 9 | 10 | get_template_part( 11 | 'components/blocks/logos/logos', 12 | '', 13 | $model->get_data() 14 | ); 15 | -------------------------------------------------------------------------------- /wp-content/themes/core/blocks/mediatext/mediatext.php: -------------------------------------------------------------------------------- 1 | container()->make( Media_Text_Model::class, $args ); 9 | 10 | get_template_part( 11 | 'components/blocks/media_text/media_text', 12 | null, 13 | $model->get_data() 14 | ); 15 | -------------------------------------------------------------------------------- /wp-content/themes/core/blocks/quote/quote.php: -------------------------------------------------------------------------------- 1 | container()->make( Quote_Model::class, $args ); 9 | 10 | get_template_part( 11 | 'components/blocks/quote/quote', 12 | '', 13 | $model->get_data() 14 | ); 15 | -------------------------------------------------------------------------------- /wp-content/themes/core/blocks/sectionnav/sectionnav.php: -------------------------------------------------------------------------------- 1 | container()->make( Section_Nav_Model::class, $args ); 9 | 10 | get_template_part( 11 | 'components/blocks/section_nav/section_nav', 12 | '', 13 | $model->get_data() 14 | ); 15 | -------------------------------------------------------------------------------- /wp-content/themes/core/blocks/spacer/spacer.php: -------------------------------------------------------------------------------- 1 | container()->make( Spacer_Model::class, $args ); 9 | 10 | get_template_part( 11 | 'components/blocks/spacer/spacer', 12 | '', 13 | $model->get_data() 14 | ); 15 | -------------------------------------------------------------------------------- /wp-content/themes/core/blocks/stats/stats.php: -------------------------------------------------------------------------------- 1 | container()->make( Stats_Model::class, $args ); 9 | 10 | get_template_part( 11 | 'components/blocks/stats/stats', 12 | '', 13 | $model->get_data() 14 | ); 15 | -------------------------------------------------------------------------------- /wp-content/themes/core/blocks/tabs/tabs.php: -------------------------------------------------------------------------------- 1 | container()->make( Tabs_Model::class, $args ); 9 | 10 | get_template_part( 11 | 'components/blocks/tabs/tabs', 12 | '', 13 | $model->get_data() 14 | ); 15 | -------------------------------------------------------------------------------- /wp-content/themes/core/comments.php: -------------------------------------------------------------------------------- 1 | { 13 | accordion(); 14 | }; 15 | 16 | export default init; 17 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/accordion/index.pcss: -------------------------------------------------------------------------------- 1 | /* ----------------------------------------------------------------------------- 2 | * 3 | * Component: Accordion 4 | * 5 | * This file is just a clearing-house, see the css directory 6 | * and edit the source files found there. 7 | * 8 | * ----------------------------------------------------------------------------- */ 9 | 10 | @import "css/accordion.pcss"; 11 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/blocks/_css/_utilities.pcss: -------------------------------------------------------------------------------- 1 | /* ----------------------------------------------------------------------------- 2 | * 3 | * Utility Classes: Blocks / Blocks 4 | * 5 | * ----------------------------------------------------------------------------- */ 6 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/blocks/_css/_variables.pcss: -------------------------------------------------------------------------------- 1 | :root { 2 | 3 | } 4 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/blocks/accordion/block-editor.pcss: -------------------------------------------------------------------------------- 1 | 2 | /* ----------------------------------------------------------------------------- 3 | * 4 | * Block Editor 5 | * Accordion Block Styles & Overrides 6 | * 7 | * Styles applicable to this block in the block editor. 8 | * 9 | * ----------------------------------------------------------------------------- */ 10 | 11 | .wp-block[data-type^="acf/accordion"] { 12 | 13 | .c-accordion__content { 14 | display: block; 15 | max-height: none; 16 | overflow: visible; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/blocks/accordion/index.pcss: -------------------------------------------------------------------------------- 1 | /* ----------------------------------------------------------------------------- 2 | * 3 | * Component: Accordion 4 | * 5 | * This file is just a clearing-house, see the css directory 6 | * and edit the source files found there. 7 | * 8 | * ----------------------------------------------------------------------------- */ 9 | 10 | @import "css/accordion.pcss"; 11 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/blocks/buttons/block-editor.pcss: -------------------------------------------------------------------------------- 1 | 2 | /* ----------------------------------------------------------------------------- 3 | * 4 | * Block Editor 5 | * Buttons Block Styles & Overrides 6 | * 7 | * Styles applicable to this block in the block editor. 8 | * 9 | * ----------------------------------------------------------------------------- */ 10 | 11 | .wp-block[data-type^="acf/buttons"] { 12 | max-width: var(--grid-width-staggered-double); 13 | width: calc(100% - 2 * var(--grid-gutter-small)); 14 | 15 | @media (--viewport-medium) { 16 | width: calc(100% - 2 * var(--grid-gutter)); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/blocks/buttons/index.pcss: -------------------------------------------------------------------------------- 1 | /* ----------------------------------------------------------------------------- 2 | * 3 | * Component: Buttons 4 | * 5 | * This file is just a clearing-house, see the css directory 6 | * and edit the source files found there. 7 | * 8 | * ----------------------------------------------------------------------------- */ 9 | 10 | @import "css/buttons.pcss"; 11 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/blocks/card_grid/index.pcss: -------------------------------------------------------------------------------- 1 | /* ----------------------------------------------------------------------------- 2 | * 3 | * Component: Card Grid 4 | * 5 | * This file is just a clearing-house, see the css directory 6 | * and edit the source files found there. 7 | * 8 | * ----------------------------------------------------------------------------- */ 9 | @import "css/card_grid.pcss"; 10 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/blocks/content_columns/index.pcss: -------------------------------------------------------------------------------- 1 | /* ----------------------------------------------------------------------------- 2 | * 3 | * Component: Content Columns 4 | * 5 | * This file is just a clearing-house, see the css directory 6 | * and edit the source files found there. 7 | * 8 | * ----------------------------------------------------------------------------- */ 9 | 10 | @import "css/content-columns.pcss"; 11 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/blocks/content_loop/index.pcss: -------------------------------------------------------------------------------- 1 | /* ----------------------------------------------------------------------------- 2 | * 3 | * Component: Content Loop 4 | * 5 | * This file is just a clearing-house, see the css directory 6 | * and edit the source files found there. 7 | * 8 | * ----------------------------------------------------------------------------- */ 9 | 10 | @import "css/content_loop.pcss"; 11 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/blocks/core_columns/index.pcss: -------------------------------------------------------------------------------- 1 | /* ----------------------------------------------------------------------------- 2 | * 3 | * Component: Core Columns Block 4 | * 5 | * This file is just a clearing-house, see the css directory 6 | * and edit the source files found there. 7 | * 8 | * ----------------------------------------------------------------------------- */ 9 | @import "./css/columns.pcss"; 10 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/blocks/gallery_grid/index.pcss: -------------------------------------------------------------------------------- 1 | /* ----------------------------------------------------------------------------- 2 | * 3 | * Component: Gallery Grid 4 | * 5 | * This file is just a clearing-house, see the css directory 6 | * and edit the source files found there. 7 | * 8 | * ----------------------------------------------------------------------------- */ 9 | 10 | @import "css/gallery_grid.pcss"; 11 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/blocks/gallery_slider/index.js: -------------------------------------------------------------------------------- 1 | /* ----------------------------------------------------------------------------- 2 | * 3 | * Component: Gallery Slider 4 | * 5 | * This file is just a clearing-house, see the css directory 6 | * and edit the source files found there. 7 | * 8 | * ----------------------------------------------------------------------------- */ 9 | 10 | import gallerySlider from './js/gallery-slider'; 11 | 12 | const init = () => { 13 | gallerySlider(); 14 | }; 15 | 16 | export default init; 17 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/blocks/gallery_slider/index.pcss: -------------------------------------------------------------------------------- 1 | /* ----------------------------------------------------------------------------- 2 | * 3 | * Component: Gallery Slider 4 | * 5 | * This file is just a clearing-house, see the css directory 6 | * and edit the source files found there. 7 | * 8 | * ----------------------------------------------------------------------------- */ 9 | 10 | @import "css/gallery_slider.pcss"; 11 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/blocks/hero/index.pcss: -------------------------------------------------------------------------------- 1 | /* ----------------------------------------------------------------------------- 2 | * 3 | * Component: Hero 4 | * 5 | * This file is just a clearing-house, see the css directory 6 | * and edit the source files found there. 7 | * 8 | * ----------------------------------------------------------------------------- */ 9 | 10 | @import "css/hero.pcss"; 11 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/blocks/icon_grid/css/icon_grid.pcss: -------------------------------------------------------------------------------- 1 | /* ----------------------------------------------------------------------------- 2 | * 3 | * Component: Icon Grid 4 | * 5 | * ----------------------------------------------------------------------------- */ 6 | 7 | .b-icon-grid__header { 8 | margin-bottom: var(--spacer-60); 9 | } 10 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/blocks/icon_grid/index.pcss: -------------------------------------------------------------------------------- 1 | /* ----------------------------------------------------------------------------- 2 | * 3 | * Component: Icon Grid 4 | * 5 | * This file is just a clearing-house, see the css directory 6 | * and edit the source files found there. 7 | * 8 | * ----------------------------------------------------------------------------- */ 9 | 10 | @import "css/icon_grid.pcss"; 11 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/blocks/interstitial/index.pcss: -------------------------------------------------------------------------------- 1 | /* ----------------------------------------------------------------------------- 2 | * 3 | * Component: Interstitial 4 | * 5 | * This file is just a clearing-house, see the css directory 6 | * and edit the source files found there. 7 | * 8 | * ----------------------------------------------------------------------------- */ 9 | 10 | @import "css/interstitial.pcss"; 11 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/blocks/lead_form/index.pcss: -------------------------------------------------------------------------------- 1 | /* ----------------------------------------------------------------------------- 2 | * 3 | * Component: Form 4 | * 5 | * This file is just a clearing-house, see the css directory 6 | * and edit the source files found there. 7 | * 8 | * ----------------------------------------------------------------------------- */ 9 | 10 | @import "css/lead-form.pcss"; 11 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/blocks/links/index.pcss: -------------------------------------------------------------------------------- 1 | /* ----------------------------------------------------------------------------- 2 | * 3 | * Component: Links 4 | * 5 | * This file is just a clearing-house, see the css directory 6 | * and edit the source files found there. 7 | * 8 | * ----------------------------------------------------------------------------- */ 9 | 10 | @import "css/links.pcss"; 11 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/blocks/logos/index.pcss: -------------------------------------------------------------------------------- 1 | /* ----------------------------------------------------------------------------- 2 | * 3 | * Component: Logos 4 | * 5 | * This file is just a clearing-house, see the css directory 6 | * and edit the source files found there. 7 | * 8 | * ----------------------------------------------------------------------------- */ 9 | 10 | @import "css/logos.pcss"; 11 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/blocks/media_text/index.pcss: -------------------------------------------------------------------------------- 1 | /* ----------------------------------------------------------------------------- 2 | * 3 | * Component: Block: Media + Text 4 | * 5 | * This file is just a clearing-house, see the css directory 6 | * and edit the source files found there. 7 | * 8 | * ----------------------------------------------------------------------------- */ 9 | 10 | @import "css/media-text.pcss"; 11 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/blocks/quote/index.pcss: -------------------------------------------------------------------------------- 1 | /* ----------------------------------------------------------------------------- 2 | * 3 | * Component: Quote 4 | * 5 | * This file is just a clearing-house, see the css directory 6 | * and edit the source files found there. 7 | * 8 | * ----------------------------------------------------------------------------- */ 9 | 10 | @import "css/quote.pcss"; 11 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/blocks/section_nav/css/section_nav.pcss: -------------------------------------------------------------------------------- 1 | /* ----------------------------------------------------------------------------- 2 | * 3 | * Component: Section Nav 4 | * 5 | * ----------------------------------------------------------------------------- */ 6 | 7 | .b-section-nav { 8 | /** Dupes the width values from `l-sink`. 9 | * This is b/c the section nav is both an block and sticky element. 10 | */ 11 | width: calc(100% - 2 * var(--grid-gutter-small)); 12 | margin: var(--spacer-40) auto; 13 | 14 | @media (--viewport-medium) { 15 | width: calc(100% - 2 * var(--grid-gutter)); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/blocks/section_nav/index.pcss: -------------------------------------------------------------------------------- 1 | /* ----------------------------------------------------------------------------- 2 | * 3 | * Component: Section Nav 4 | * 5 | * This file is just a clearing-house, see the css directory 6 | * and edit the source files found there. 7 | * 8 | * ----------------------------------------------------------------------------- */ 9 | 10 | @import "css/section_nav.pcss"; 11 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/blocks/spacer/index.pcss: -------------------------------------------------------------------------------- 1 | /* ----------------------------------------------------------------------------- 2 | * 3 | * Component: Spacer 4 | * 5 | * This file is just a clearing-house, see the css directory 6 | * and edit the source files found there. 7 | * 8 | * ----------------------------------------------------------------------------- */ 9 | 10 | @import "css/spacer.pcss"; 11 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/blocks/spacer/spacer.php: -------------------------------------------------------------------------------- 1 | 9 | 10 |
get_classes(); ?> get_attrs(); ?>>
11 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/blocks/stats/index.pcss: -------------------------------------------------------------------------------- 1 | /* ----------------------------------------------------------------------------- 2 | * 3 | * Component: Stats 4 | * 5 | * This file is just a clearing-house, see the css directory 6 | * and edit the source files found there. 7 | * 8 | * ----------------------------------------------------------------------------- */ 9 | 10 | @import "css/stats.pcss"; 11 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/blocks/tabs/css/tabs.pcss: -------------------------------------------------------------------------------- 1 | /* ----------------------------------------------------------------------------- 2 | * 3 | * Component: Block: Tabs 4 | * 5 | * ----------------------------------------------------------------------------- */ 6 | 7 | .b-tabs {} 8 | 9 | /* ----------------------------------------------------------------------------- 10 | * Tabs: Header 11 | * ----------------------------------------------------------------------------- */ 12 | 13 | .b-tabs__header { 14 | margin-bottom: var(--spacer-40); 15 | 16 | /* CASE: Vertical */ 17 | .c-block--layout-vertical & { 18 | margin-bottom: var(--spacer-70); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/blocks/tabs/index.pcss: -------------------------------------------------------------------------------- 1 | /* ----------------------------------------------------------------------------- 2 | * 3 | * Component: Tabs 4 | * 5 | * This file is just a clearing-house, see the css directory 6 | * and edit the source files found there. 7 | * 8 | * ----------------------------------------------------------------------------- */ 9 | 10 | @import "css/tabs.pcss"; 11 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/blocks/tabs/tabs.php: -------------------------------------------------------------------------------- 1 | 10 | 11 |
get_classes(); ?> get_attrs(); ?>> 12 |
get_container_classes(); ?>> 13 | get_header_args() 18 | ); 19 | get_template_part( 20 | 'components/tabs/tabs', 21 | null, 22 | $c->get_tabs_args() 23 | ); 24 | ?> 25 |
26 |
27 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/breadcrumbs/index.pcss: -------------------------------------------------------------------------------- 1 | /* ----------------------------------------------------------------------------- 2 | * 3 | * Component: Breadcrumbs 4 | * 5 | * This file is just a clearing-house, see the css directory 6 | * and edit the source files found there. 7 | * 8 | * ----------------------------------------------------------------------------- */ 9 | 10 | @import "css/breadcrumbs.pcss"; 11 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/button/button.php: -------------------------------------------------------------------------------- 1 | has_content() ) { 11 | return; 12 | } 13 | ?> 14 | 17 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/card/index.js: -------------------------------------------------------------------------------- 1 | /* ----------------------------------------------------------------------------- 2 | * 3 | * Component: Card 4 | * 5 | * This file is just a clearing-house, see the js directory 6 | * and edit the source files found there. 7 | * 8 | * ----------------------------------------------------------------------------- */ 9 | 10 | import card from './js/card'; 11 | 12 | const init = () => { 13 | card(); 14 | }; 15 | 16 | export default init; 17 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/card/index.pcss: -------------------------------------------------------------------------------- 1 | /* ----------------------------------------------------------------------------- 2 | * 3 | * Component: Card 4 | * 5 | * This file is just a clearing-house, see the css directory 6 | * and edit the source files found there. 7 | * 8 | * ----------------------------------------------------------------------------- */ 9 | 10 | @import "css/card.pcss"; 11 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/comments/Comment_Edit_Link.php: -------------------------------------------------------------------------------- 1 | ', '

' ); 10 | 11 | return ob_get_clean(); 12 | } 13 | 14 | } 15 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/comments/index.js: -------------------------------------------------------------------------------- 1 | /* ----------------------------------------------------------------------------- 2 | * 3 | * Component: Comments 4 | * 5 | * This file is just a clearing-house, see the css directory 6 | * and edit the source files found there. 7 | * 8 | * ----------------------------------------------------------------------------- */ 9 | 10 | import comments from './js/comments'; 11 | 12 | const init = () => { 13 | comments(); 14 | }; 15 | 16 | export default init; 17 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/comments/trackback/trackback.php: -------------------------------------------------------------------------------- 1 | 10 | 11 |
  • get_classes(); ?>get_attrs(); ?>> 12 |

    13 | get_label() ); ?> 14 | 15 | get_trackback_link(); ?> 16 | 17 | get_edit_link(); ?> 18 |

    19 |
  • 20 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/container/container.php: -------------------------------------------------------------------------------- 1 | get_content(); 10 | if ( empty( $content ) ) { 11 | return; 12 | } 13 | ?> 14 | <get_tag(); ?> 15 | get_classes(); ?> 16 | get_attrs(); ?> 17 | > 18 | 19 | get_tag(); ?>> 20 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/content_block/index.pcss: -------------------------------------------------------------------------------- 1 | /* ----------------------------------------------------------------------------- 2 | * 3 | * Component: Content Block 4 | * 5 | * This file is just a clearing-house, see the css directory 6 | * and edit the source files found there. 7 | * 8 | * ----------------------------------------------------------------------------- */ 9 | 10 | @import "css/content-block.pcss"; 11 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/dialog/css/_variables.pcss: -------------------------------------------------------------------------------- 1 | /* ----------------------------------------------------------------------------- 2 | * 3 | * Component: Dialog Variables 4 | * 5 | * ----------------------------------------------------------------------------- */ 6 | 7 | :root { 8 | --dialog-header-height: 68px; 9 | } 10 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/dialog/index.js: -------------------------------------------------------------------------------- 1 | /* ----------------------------------------------------------------------------- 2 | * 3 | * Component: Dialog 4 | * 5 | * This file is just a clearing-house, see the css directory 6 | * and edit the source files found there. 7 | * 8 | * ----------------------------------------------------------------------------- */ 9 | 10 | import dialog from './js/dialog'; 11 | 12 | const init = () => { 13 | dialog(); 14 | }; 15 | 16 | export default init; 17 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/dialog/index.pcss: -------------------------------------------------------------------------------- 1 | /* ----------------------------------------------------------------------------- 2 | * 3 | * Component: Dialog 4 | * 5 | * This file is just a clearing-house, see the css directory 6 | * and edit the source files found there. 7 | * 8 | * ----------------------------------------------------------------------------- */ 9 | 10 | @import "css/_variables.pcss"; 11 | @import "css/dialog.pcss"; 12 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/document/css/header.pcss: -------------------------------------------------------------------------------- 1 | /* ----------------------------------------------------------------------------- 2 | * 3 | * Component: Document Header 4 | * 5 | * ----------------------------------------------------------------------------- */ 6 | 7 | /* WP Admin Bar */ 8 | #wpadminbar { 9 | position: fixed !important; 10 | } 11 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/document/footer/footer.php: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/document/header/Header_Controller.php: -------------------------------------------------------------------------------- 1 | { 13 | image(); 14 | }; 15 | 16 | export default init; 17 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/image/index.pcss: -------------------------------------------------------------------------------- 1 | /* ----------------------------------------------------------------------------- 2 | * 3 | * Component: Image 4 | * 5 | * This file is just a clearing-house, see the css directory 6 | * and edit the source files found there. 7 | * 8 | * ----------------------------------------------------------------------------- */ 9 | 10 | @import "css/image.pcss"; 11 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/link/link.php: -------------------------------------------------------------------------------- 1 | 10 | get_link_header_args() 14 | ); ?> 15 | 16 | get_classes(); ?> get_attrs(); ?>> 17 | 18 | get_content(); ?> 19 | 20 | 21 | 22 | get_link_description_args() 26 | ); ?> 27 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/loop_items/index/Index_Controller.php: -------------------------------------------------------------------------------- 1 | (int) get_post_thumbnail_id(), 17 | ]; 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/loop_items/search/Search_Controller.php: -------------------------------------------------------------------------------- 1 | (int) get_post_thumbnail_id(), 17 | ]; 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/navigation/index.js: -------------------------------------------------------------------------------- 1 | /* ----------------------------------------------------------------------------- 2 | * 3 | * Component: Navigation Menu 4 | * 5 | * This file is just a clearing-house, see the css directory 6 | * and edit the source files found there. 7 | * 8 | * ----------------------------------------------------------------------------- */ 9 | 10 | import siteHeader from './js/site-header'; 11 | 12 | const el = { 13 | container: document.querySelector( '[data-js="c-site-header"]' ), 14 | }; 15 | 16 | const init = () => { 17 | if ( ! el.container ) { 18 | return; 19 | } 20 | 21 | siteHeader( el.container ); 22 | }; 23 | 24 | export default init; 25 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/navigation/index.pcss: -------------------------------------------------------------------------------- 1 | /* ----------------------------------------------------------------------------- 2 | * 3 | * Component: Navigation Menus 4 | * 5 | * This file is just a clearing-house, see the css directory 6 | * and edit the source files found there. 7 | * 8 | * ----------------------------------------------------------------------------- */ 9 | @import 'css/site-header.pcss'; 10 | @import 'css/site-footer.pcss'; 11 | @import 'css/legal.pcss'; 12 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/navigation/navigation.php: -------------------------------------------------------------------------------- 1 | has_menu() ) { 11 | return; 12 | } 13 | 14 | ?> 15 | 20 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/no_results/no_results.php: -------------------------------------------------------------------------------- 1 | 10 | 11 |
    get_classes(); ?>> 12 | 13 |

    14 | get_title(); ?> 15 |

    16 | 17 |

    18 | get_content(); ?> 19 |

    20 | 21 |
    22 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/pagination/comments/comments.php: -------------------------------------------------------------------------------- 1 | is_paged() ) { 11 | return; 12 | } 13 | ?> 14 | 15 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/pagination/index.pcss: -------------------------------------------------------------------------------- 1 | /* ----------------------------------------------------------------------------- 2 | * 3 | * Component: Pagination 4 | * 5 | * This file is just a clearing-house, see the css directory 6 | * and edit the source files found there. 7 | * 8 | * ----------------------------------------------------------------------------- */ 9 | 10 | @import "css/pagination.pcss"; 11 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/quote/css/quote.pcss: -------------------------------------------------------------------------------- 1 | /* ----------------------------------------------------------------------------- 2 | * 3 | * Component: Quote 4 | * 5 | * ----------------------------------------------------------------------------- */ 6 | 7 | .c-quote { 8 | 9 | } 10 | 11 | .c-quote__text { 12 | 13 | } 14 | 15 | .c-quote__cite { 16 | 17 | } 18 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/quote/index.pcss: -------------------------------------------------------------------------------- 1 | /* ----------------------------------------------------------------------------- 2 | * 3 | * Component: Quote 4 | * 5 | * This file is just a clearing-house, see the css directory 6 | * and edit the source files found there. 7 | * 8 | * ----------------------------------------------------------------------------- */ 9 | 10 | @import "css/quote.pcss"; 11 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/search_form/index.pcss: -------------------------------------------------------------------------------- 1 | /* ----------------------------------------------------------------------------- 2 | * 3 | * Component: Search 4 | * 5 | * This file is just a clearing-house, see the css directory 6 | * and edit the source files found there. 7 | * 8 | * ----------------------------------------------------------------------------- */ 9 | 10 | @import "css/search-form.pcss"; 11 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/section_nav/index.js: -------------------------------------------------------------------------------- 1 | /* ----------------------------------------------------------------------------- 2 | * 3 | * Component: Section Nav 4 | * 5 | * This file is just a clearing-house, see the css directory 6 | * and edit the source files found there. 7 | * 8 | * ----------------------------------------------------------------------------- */ 9 | 10 | const init = () => { 11 | const sectionNavs = document.querySelectorAll( '[data-js="c-section-nav"]' ); 12 | 13 | if ( sectionNavs.length ) { 14 | import( './js/section-nav' /* webpackChunkName:"sectionNav" */ ).then( ( module ) => { 15 | module.default( sectionNavs ); 16 | } ); 17 | } 18 | }; 19 | 20 | export default init; 21 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/section_nav/index.pcss: -------------------------------------------------------------------------------- 1 | /* ----------------------------------------------------------------------------- 2 | * 3 | * Component: Section Nav 4 | * 5 | * This file is just a clearing-house, see the css directory 6 | * and edit the source files found there. 7 | * 8 | * ----------------------------------------------------------------------------- */ 9 | 10 | @import "css/section-nav.pcss"; 11 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/share/css/share.pcss: -------------------------------------------------------------------------------- 1 | /* ----------------------------------------------------------------------------- 2 | * 3 | * Component: Social Share 4 | * 5 | * ----------------------------------------------------------------------------- */ 6 | 7 | .social-share { 8 | 9 | } 10 | 11 | .social-share__title { 12 | 13 | } 14 | 15 | .social-share-networks { 16 | display: flex; 17 | flex-flow: row nowrap; 18 | margin-top: var(--spacer-30); 19 | 20 | @media (--viewport-medium) { 21 | margin-top: 0; 22 | } 23 | } 24 | 25 | .social-share-networks__item { 26 | margin-left: var(--spacer-30); 27 | } 28 | 29 | .social-share-networks__anchor { 30 | font-size: 24px; 31 | } 32 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/share/index.js: -------------------------------------------------------------------------------- 1 | /* ----------------------------------------------------------------------------- 2 | * 3 | * Component: Social Share 4 | * 5 | * This file is just a clearing-house, see the css directory 6 | * and edit the source files found there. 7 | * 8 | * ----------------------------------------------------------------------------- */ 9 | 10 | import socialShare from './js/share'; 11 | 12 | const init = () => { 13 | socialShare(); 14 | }; 15 | 16 | export default init; 17 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/share/index.pcss: -------------------------------------------------------------------------------- 1 | /* ----------------------------------------------------------------------------- 2 | * 3 | * Component: Social Share 4 | * 5 | * This file is just a clearing-house, see the css directory 6 | * and edit the source files found there. 7 | * 8 | * ----------------------------------------------------------------------------- */ 9 | 10 | @import "css/share.pcss"; 11 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/share/share.php: -------------------------------------------------------------------------------- 1 | 10 | 22 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/sidebar/sidebar.php: -------------------------------------------------------------------------------- 1 | is_active() ) { 11 | return; 12 | } 13 | ?> 14 |
    get_classes(); ?> get_attrs(); ?>> 15 | get_sidebar_id() ); ?> 16 |
    17 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/site_footer/index.pcss: -------------------------------------------------------------------------------- 1 | /* ----------------------------------------------------------------------------- 2 | * 3 | * Component: Site Footer 4 | * 5 | * This file is just a clearing-house, see the css directory 6 | * and edit the source files found there. 7 | * 8 | * ----------------------------------------------------------------------------- */ 9 | 10 | @import "css/site-footer.pcss"; 11 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/site_header/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Masthead Scripts 3 | */ 4 | 5 | import siteHeader from './js/site-header'; 6 | 7 | const el = { 8 | container: document.querySelector( '[data-js="c-site-header"]' ), 9 | }; 10 | 11 | /** 12 | * @function init 13 | * @description Kick off this module's functions 14 | */ 15 | 16 | const init = () => { 17 | if ( ! el.container ) { 18 | return; 19 | } 20 | 21 | siteHeader( el.container ); 22 | }; 23 | 24 | export default init; 25 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/site_header/index.pcss: -------------------------------------------------------------------------------- 1 | /* ----------------------------------------------------------------------------- 2 | * 3 | * Component: Site Header 4 | * 5 | * This file is just a clearing-house, see the css directory 6 | * and edit the source files found there. 7 | * 8 | * ----------------------------------------------------------------------------- */ 9 | 10 | @import "css/site-header.pcss"; 11 | @import "css/skip-link.pcss"; 12 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/slider/index.js: -------------------------------------------------------------------------------- 1 | /* ----------------------------------------------------------------------------- 2 | * 3 | * Component: Slider 4 | * 5 | * This file is just a clearing-house, see the js directory 6 | * and edit the source files found there. 7 | * 8 | * ----------------------------------------------------------------------------- */ 9 | 10 | const init = () => { 11 | if ( document.querySelector( '[data-js="c-slider"]' ) ) { 12 | import( './js/slider' /* webpackChunkName:"slider" */ ).then( ( module ) => { 13 | module.default(); 14 | } ); 15 | } 16 | }; 17 | 18 | export default init; 19 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/slider/index.pcss: -------------------------------------------------------------------------------- 1 | /* ----------------------------------------------------------------------------- 2 | * 3 | * Component: Slider 4 | * 5 | * This file is just a clearing-house, see the css directory 6 | * and edit the source files found there. 7 | * 8 | * ----------------------------------------------------------------------------- */ 9 | 10 | @import "css/slider.pcss"; 11 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/statistic/index.pcss: -------------------------------------------------------------------------------- 1 | /* ----------------------------------------------------------------------------- 2 | * 3 | * Component: Statistic 4 | * 5 | * This file is just a clearing-house, see the css directory 6 | * and edit the source files found there. 7 | * 8 | * ----------------------------------------------------------------------------- */ 9 | 10 | @import "css/statistic.pcss"; 11 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/statistic/statistic.php: -------------------------------------------------------------------------------- 1 | 10 | 11 | <get_tag(); ?> 12 | get_classes(); ?> 13 | get_attrs(); ?> 14 | > 15 | 16 | get_value(); ?> 17 | 18 | get_label(); ?> 19 | 20 | get_tag(); ?>> 21 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/subheader/index.pcss: -------------------------------------------------------------------------------- 1 | /* ----------------------------------------------------------------------------- 2 | * 3 | * Component: Subheader 4 | * 5 | * This file is just a clearing-house, see the css directory 6 | * and edit the source files found there. 7 | * 8 | * ----------------------------------------------------------------------------- */ 9 | 10 | @import "css/subheader.pcss"; 11 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/tabs/index.js: -------------------------------------------------------------------------------- 1 | /* ----------------------------------------------------------------------------- 2 | * 3 | * Component: Tabs 4 | * 5 | * This file is just a clearing-house, see the css directory 6 | * and edit the source files found there. 7 | * 8 | * ----------------------------------------------------------------------------- */ 9 | 10 | import tabs from './js/tabs'; 11 | 12 | const init = () => { 13 | tabs(); 14 | }; 15 | 16 | export default init; 17 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/tabs/index.pcss: -------------------------------------------------------------------------------- 1 | /* ----------------------------------------------------------------------------- 2 | * 3 | * Component: Tabs 4 | * 5 | * This file is just a clearing-house, see the css directory 6 | * and edit the source files found there. 7 | * 8 | * ----------------------------------------------------------------------------- */ 9 | 10 | @import "css/tabs.pcss"; 11 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/text/text.php: -------------------------------------------------------------------------------- 1 | get_content() ) && $c->get_content() !== '0' ) { 11 | return; 12 | } 13 | ?> 14 | 15 | <get_tag(); ?> get_classes(); ?> get_attrs(); ?>> 16 | get_content(); ?> 17 | get_tag(); ?>> 18 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/video/css/_variables.pcss: -------------------------------------------------------------------------------- 1 | /* ----------------------------------------------------------------------------- 2 | * 3 | * Component: Video Variables 4 | * 5 | * ----------------------------------------------------------------------------- */ 6 | 7 | :root { 8 | --transition-embed-icon: opacity 0.15s ease-in-out, background-color 0.2s, transform 0.2s ease; 9 | --gradient-video-trigger-overlay: linear-gradient(360deg, #222 0%, rgba(34, 34, 34, 0.1) 54.52%, rgba(34, 34, 34, 0) 100%); 10 | } 11 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/video/index.js: -------------------------------------------------------------------------------- 1 | /* ----------------------------------------------------------------------------- 2 | * 3 | * Component: Video 4 | * 5 | * This file is just a clearing-house, see the css directory 6 | * and edit the source files found there. 7 | * 8 | * ----------------------------------------------------------------------------- */ 9 | 10 | import videoEmbeds from './js/video'; 11 | 12 | const init = () => { 13 | videoEmbeds(); 14 | }; 15 | 16 | export default init; 17 | -------------------------------------------------------------------------------- /wp-content/themes/core/components/video/index.pcss: -------------------------------------------------------------------------------- 1 | /* ----------------------------------------------------------------------------- 2 | * 3 | * Component: Video 4 | * 5 | * This file is just a clearing-house, see the css directory 6 | * and edit the source files found there. 7 | * 8 | * ----------------------------------------------------------------------------- */ 9 | 10 | @import "css/_variables.pcss"; 11 | @import "css/video.pcss"; 12 | -------------------------------------------------------------------------------- /wp-content/themes/core/footer.php: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /wp-content/themes/core/functions.php: -------------------------------------------------------------------------------- 1 | form { 19 | position: relative; 20 | 21 | ul { 22 | margin: 0; 23 | padding: 0; 24 | font-size: 16px; 25 | } 26 | } 27 | 28 | /* Inputs: Honeypot */ 29 | .gform_validation_container { 30 | @mixin visually-hide; 31 | } 32 | 33 | /* Input: Submit & Buttons */ 34 | .gform_button, 35 | .gform_next_button, 36 | .gform_previous_button { 37 | @mixin a-btn-submit; 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /wp-content/themes/core/integrations/gravity-forms/css/validation/required.pcss: -------------------------------------------------------------------------------- 1 | .gfield_required { 2 | @mixin required; 3 | } 4 | -------------------------------------------------------------------------------- /wp-content/themes/core/integrations/gravity-forms/index.js: -------------------------------------------------------------------------------- 1 | /* ----------------------------------------------------------------------------- 2 | * 3 | * Integration: Gravity Forms 4 | * 5 | * This file is just a clearing-house, see the css directory 6 | * and edit the source files found there. 7 | * 8 | * ----------------------------------------------------------------------------- */ 9 | 10 | import gravityForms from './js/gravity-forms'; 11 | 12 | const init = () => { 13 | gravityForms(); 14 | }; 15 | 16 | export default init; 17 | -------------------------------------------------------------------------------- /wp-content/themes/core/integrations/jquery-datepicker/css/_variables.pcss: -------------------------------------------------------------------------------- 1 | :root { 2 | --jquery-datepicker-bgd-color: var(--color-white); 3 | --jquery-datepicker-color: var(--color-text); 4 | --jquery-datepicker-color-disabled: var(--color-neutral-90); 5 | --jquery-datepicker-font-family: var(--form-font-family); 6 | --jquery-datepicker-font-size: var(--form-font-size-secondary); 7 | --jquery-datepicker-font-style: var(--form-control-font-style); 8 | --jquery-datepicker-line-height: var(--form-control-height); 9 | } 10 | -------------------------------------------------------------------------------- /wp-content/themes/core/integrations/jquery-datepicker/img/ui-icons_ffffff_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moderntribe/square-one/338ec59a8ad7e17e6e4af355f8196fef53f319e0/wp-content/themes/core/integrations/jquery-datepicker/img/ui-icons_ffffff_256x240.png -------------------------------------------------------------------------------- /wp-content/themes/core/integrations/jquery-datepicker/index.pcss: -------------------------------------------------------------------------------- 1 | /* ----------------------------------------------------------------------------- 2 | * 3 | * jQuery Datepicker 4 | * 5 | * Note: For now we're primarily using this as part of Gravity Forms fields 6 | * 7 | * https://plugins.jquery.com/ui.datepicker/ 8 | * 9 | * This file is just a clearing-house. 10 | * Make partials (start with an underscore) for any actual css code. 11 | * 12 | * ----------------------------------------------------------------------------- */ 13 | 14 | @import "css/_variables.pcss"; 15 | @import "css/jquery-datepicker.pcss"; 16 | -------------------------------------------------------------------------------- /wp-content/themes/core/integrations/spinner/css/default.pcss: -------------------------------------------------------------------------------- 1 | @keyframes spinner-line-fade-more { 2 | 3 | 0%, 4 | 100% { 5 | opacity: 0; 6 | } 7 | 8 | 1% { 9 | opacity: 1; 10 | } 11 | } 12 | 13 | @keyframes spinner-line-fade-quick { 14 | 15 | 0%, 16 | 39%, 17 | 100% { 18 | opacity: 0.25; 19 | } 20 | 21 | 40% { 22 | opacity: 1; 23 | } 24 | } 25 | 26 | @keyframes spinner-line-fade-default { 27 | 28 | 0%, 29 | 100% { 30 | opacity: 0.22; 31 | } 32 | 33 | 1% { 34 | opacity: 1; 35 | } 36 | } 37 | 38 | @keyframes spinner-line-shrink { 39 | 40 | 0%, 41 | 25%, 42 | 100% { 43 | transform: scale(0.5); 44 | opacity: 0.25; 45 | } 46 | 47 | 26% { 48 | transform: scale(1); 49 | opacity: 1; 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /wp-content/themes/core/integrations/spinner/index.pcss: -------------------------------------------------------------------------------- 1 | /* ----------------------------------------------------------------------------- 2 | * 3 | * Integration: Spin.js 4 | * 5 | * https://spin.js.org/ 6 | * 7 | * This file is just a clearing-house. 8 | * Make partials (start with an underscore) for any actual css code. 9 | * 10 | * ----------------------------------------------------------------------------- */ 11 | 12 | @import "css/default.pcss"; 13 | -------------------------------------------------------------------------------- /wp-content/themes/core/integrations/swiper/css/_variables.pcss: -------------------------------------------------------------------------------- 1 | :root { 2 | --swiper-theme-color: var(--color-primary); 3 | --swiper-navigation-size: 44px; 4 | --swiper-navigation-color: var(--swiper-theme-color); 5 | --swiper-pagination-color: var(--swiper-theme-color); 6 | --swiper-pagination-bullet-size: 8px; 7 | --swiper-pagination-bullet-width: 8px; 8 | --swiper-pagination-bullet-height: 8px; 9 | --swiper-pagination-bullet-inactive-color: var(--color-black); 10 | --swiper-pagination-bullet-inactive-opacity: 0.2; 11 | --swiper-pagination-bullet-opacity: 1; 12 | --swiper-pagination-bullet-horizontal-gap: 4px; 13 | --swiper-pagination-bullet-vertical-gap: 6px; 14 | --swiper-preloader-color: var(--swiper-theme-color); 15 | } 16 | -------------------------------------------------------------------------------- /wp-content/themes/core/integrations/swiper/index.pcss: -------------------------------------------------------------------------------- 1 | /* ----------------------------------------------------------------------------- 2 | * 3 | * Integration: Swiper 4 | * 5 | * https://github.com/nolimits4web/Swiper 6 | * 7 | * This file is just a clearing-house. 8 | * Make partials for any actual css code. 9 | * 10 | * ----------------------------------------------------------------------------- */ 11 | 12 | @import "css/_variables.pcss"; 13 | @import "css/swiper.pcss"; 14 | -------------------------------------------------------------------------------- /wp-content/themes/core/page-templates/index.php: -------------------------------------------------------------------------------- 1 | 10 | 11 |
    12 | 13 | 11 |

    12 |

    13 | 14 | { 13 | search(); 14 | }; 15 | 16 | export default init; 17 | -------------------------------------------------------------------------------- /wp-content/themes/core/routes/search/index.pcss: -------------------------------------------------------------------------------- 1 | /* ----------------------------------------------------------------------------- 2 | * 3 | * Component: Search 4 | * 5 | * This file is just a clearing-house, see the css directory 6 | * and edit the source files found there. 7 | * 8 | * ----------------------------------------------------------------------------- */ 9 | 10 | @import "css/search.pcss"; 11 | -------------------------------------------------------------------------------- /wp-content/themes/core/routes/single/index.pcss: -------------------------------------------------------------------------------- 1 | /* ----------------------------------------------------------------------------- 2 | * 3 | * Component: Single 4 | * 5 | * This file is just a clearing-house, see the css directory 6 | * and edit the source files found there. 7 | * 8 | * ----------------------------------------------------------------------------- */ 9 | 10 | @import "css/single.pcss"; 11 | -------------------------------------------------------------------------------- /wp-content/themes/core/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moderntribe/square-one/338ec59a8ad7e17e6e4af355f8196fef53f319e0/wp-content/themes/core/screenshot.png -------------------------------------------------------------------------------- /wp-content/themes/core/search.php: -------------------------------------------------------------------------------- 1 |