├── .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 |
8 |
--------------------------------------------------------------------------------
/wp-content/themes/core/assets/img/admin/panels/icons/standard/display-fullwidth.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
--------------------------------------------------------------------------------
/wp-content/themes/core/assets/img/admin/panels/icons/standard/display-inherit.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
--------------------------------------------------------------------------------
/wp-content/themes/core/assets/img/admin/panels/icons/standard/gallery-crop.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
12 |
--------------------------------------------------------------------------------
/wp-content/themes/core/assets/img/admin/panels/icons/standard/gallery-no-carousel.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
12 |
--------------------------------------------------------------------------------
/wp-content/themes/core/assets/img/admin/panels/icons/standard/height-full.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
12 |
--------------------------------------------------------------------------------
/wp-content/themes/core/assets/img/admin/panels/icons/standard/image-cover.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
--------------------------------------------------------------------------------
/wp-content/themes/core/assets/img/admin/panels/icons/standard/image-full-width.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
--------------------------------------------------------------------------------
/wp-content/themes/core/assets/img/admin/panels/icons/standard/image-inherit.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
--------------------------------------------------------------------------------
/wp-content/themes/core/assets/img/admin/panels/icons/standard/in-grid.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
9 |
--------------------------------------------------------------------------------
/wp-content/themes/core/assets/img/admin/panels/icons/standard/layout-boxed.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/wp-content/themes/core/assets/img/admin/panels/icons/standard/layout-full-bleed.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/wp-content/themes/core/assets/img/admin/panels/icons/standard/layout-gutters.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
9 |
--------------------------------------------------------------------------------
/wp-content/themes/core/assets/img/admin/panels/icons/standard/layout-no-gutters.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
--------------------------------------------------------------------------------
/wp-content/themes/core/assets/img/admin/panels/icons/standard/module-hero-center.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
9 |
--------------------------------------------------------------------------------
/wp-content/themes/core/assets/img/admin/panels/icons/standard/module-hero-left.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
9 |
--------------------------------------------------------------------------------
/wp-content/themes/core/assets/img/admin/panels/icons/standard/vertical-alignment-middle.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
--------------------------------------------------------------------------------
/wp-content/themes/core/assets/img/admin/panels/icons/standard/vertical-alignment-top.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
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 |