├── .browserslistrc ├── .circleci └── config.yml ├── .codeclimate.yml ├── .eslintrc ├── .github ├── ISSUE_TEMPLATE │ ├── Bug_report.md │ └── Feature_request.md ├── auto-label.json ├── pull_request_template.md └── workflows │ ├── label.yml │ └── release.yml ├── .gitignore ├── .nvmrc ├── .sass-lint.yml ├── CHANGELOG.md ├── LICENSE.txt ├── README.md ├── TERMSOFUSE.txt ├── UPGRADE.md ├── _config.yml ├── composer.json ├── config ├── install │ └── stanford_basic.settings.yml ├── optional │ ├── block.block.stanford_basic_branding.yml │ ├── block.block.stanford_basic_content.yml │ ├── block.block.stanford_basic_footer.yml │ ├── block.block.stanford_basic_footer_menu.yml │ ├── block.block.stanford_basic_help.yml │ ├── block.block.stanford_basic_local_actions.yml │ ├── block.block.stanford_basic_local_tasks.yml │ ├── block.block.stanford_basic_main_menu.yml │ ├── block.block.stanford_basic_main_navigation.yml │ ├── block.block.stanford_basic_messages.yml │ ├── block.block.stanford_basic_page_title.yml │ └── block.block.stanford_basic_search.yml └── schema │ └── stanford_basic.schema.yml ├── dist ├── assets │ ├── fonts │ │ ├── fa-brands-400.eot │ │ ├── fa-brands-400.ttf │ │ ├── fa-brands-400.woff │ │ ├── fa-brands-400.woff2 │ │ ├── fa-regular-400.eot │ │ ├── fa-regular-400.ttf │ │ ├── fa-regular-400.woff │ │ ├── fa-regular-400.woff2 │ │ ├── fa-solid-900.eot │ │ ├── fa-solid-900.ttf │ │ ├── fa-solid-900.woff │ │ └── fa-solid-900.woff2 │ ├── img │ │ ├── arrow-down.png │ │ ├── header-stanford-logo@2x.png │ │ ├── lockup-example.png │ │ ├── login-page.jpg │ │ ├── logo-dark.png │ │ ├── logo-light.png │ │ ├── logo-white.png │ │ └── logo.png │ └── svg │ │ ├── arrow-down.svg │ │ ├── arrow-right.svg │ │ ├── arrow-up-right.svg │ │ ├── caret-down-black.svg │ │ ├── caret-down-red.svg │ │ ├── caret-down-white.svg │ │ ├── caret-down.svg │ │ ├── caret-right.svg │ │ ├── check.svg │ │ ├── close-black.svg │ │ ├── close-white.svg │ │ ├── download.svg │ │ ├── fa-brands-400.svg │ │ ├── fa-regular-400.svg │ │ ├── fa-solid-900.svg │ │ ├── hamburger-black.svg │ │ ├── hamburger-white.svg │ │ ├── icon-search.svg │ │ ├── lock-solid.svg │ │ ├── lock.svg │ │ ├── logo.svg │ │ ├── minus-black.svg │ │ ├── minus-white.svg │ │ ├── plus-black.svg │ │ ├── plus-white.svg │ │ ├── su_logo.svg │ │ ├── su_logo_linked.svg │ │ ├── su_sig_stack_linked.svg │ │ └── video.svg ├── css │ ├── admin.css │ ├── base.css │ ├── ckeditor.css │ ├── components.css │ ├── layout.css │ ├── print.css │ ├── search-page.css │ ├── state.css │ ├── theme.css │ └── user_login.css ├── js │ ├── base.js │ └── behaviors.js └── templates │ └── decanter │ ├── components │ ├── accordion │ │ └── accordion.twig │ ├── alert │ │ └── alert.twig │ ├── brand-bar │ │ └── brand-bar.twig │ ├── button │ │ └── button.twig │ ├── card │ │ └── card.twig │ ├── cta │ │ └── cta.twig │ ├── date-stacked │ │ └── date-stacked.twig │ ├── global-footer │ │ └── global-footer.twig │ ├── hero │ │ └── hero.twig │ ├── link │ │ └── link.twig │ ├── local-footer │ │ └── local-footer.twig │ ├── lockup │ │ └── lockup.twig │ ├── logo │ │ └── logo.twig │ ├── main-nav │ │ └── main-nav.twig │ ├── masthead │ │ └── masthead.twig │ ├── media │ │ └── media.twig │ ├── nav-toggle │ │ └── nav-toggle.twig │ ├── quote │ │ └── quote.twig │ ├── secondary-nav │ │ └── secondary-nav.twig │ ├── signup-form │ │ └── signup-form.twig │ ├── site-search │ │ └── site-search.twig │ └── skiplinks │ │ ├── link.twig │ │ ├── skiplinks.twig │ │ └── target.twig │ ├── core │ ├── flex-grid │ │ └── flex-grid.twig │ └── fonts │ │ └── fonts.twig │ ├── elements │ ├── embed │ │ └── embed.twig │ ├── input │ │ └── input.twig │ ├── link │ │ └── link.twig │ ├── list │ │ └── list.twig │ ├── table │ │ └── table.twig │ └── typography │ │ └── typography.twig │ ├── example │ └── aspect-ratio │ │ └── aspect-ratio.twig │ ├── layout │ └── flex │ │ ├── four-column │ │ └── molive │ │ │ └── molive.twig │ │ ├── full-width │ │ ├── bricks │ │ │ └── bricks.twig │ │ └── ibeam │ │ │ └── ibeam.twig │ │ ├── one-column │ │ ├── basic │ │ │ └── basic.twig │ │ └── centered-container │ │ │ └── centered-container.twig │ │ ├── three-column │ │ ├── bars │ │ │ └── bars.twig │ │ ├── battleship │ │ │ └── battleship.twig │ │ ├── blastila │ │ │ └── blastila.twig │ │ ├── chess │ │ │ └── chess.twig │ │ ├── cuttoner │ │ │ └── cuttoner.twig │ │ ├── percles │ │ │ └── percles.twig │ │ ├── robot │ │ │ └── robot.twig │ │ ├── space-invader │ │ │ └── space-invader.twig │ │ ├── sunset-delorean │ │ │ └── sunset-delorean.twig │ │ ├── thions │ │ │ └── thions.twig │ │ └── valmer │ │ │ └── valmer.twig │ │ └── two-column │ │ ├── donies │ │ └── donies.twig │ │ ├── frogger │ │ └── frogger.twig │ │ ├── pacman │ │ └── pacman.twig │ │ ├── plakes │ │ └── plakes.twig │ │ ├── toucan │ │ └── toucan.twig │ │ ├── trunks │ │ └── trunks.twig │ │ └── wedge │ │ └── wedge.twig │ └── utilities │ └── macros │ ├── link-list.twig │ └── menu-loop.twig ├── favicon.ico ├── package-lock.json ├── package.json ├── screenshot.png ├── src ├── assets │ ├── fonts │ │ └── .gitkeep │ ├── img │ │ ├── header-stanford-logo@2x.png │ │ ├── lockup-example.png │ │ ├── login-page.jpg │ │ ├── logo-dark.png │ │ ├── logo-light.png │ │ ├── logo-white.png │ │ └── logo.png │ └── svg │ │ ├── caret-down-red.svg │ │ ├── logo.svg │ │ ├── su_logo.svg │ │ ├── su_logo_linked.svg │ │ └── su_sig_stack_linked.svg ├── js │ ├── base.js │ ├── behaviors.js │ ├── components │ │ ├── index.js │ │ ├── multi-menu │ │ │ ├── buttons │ │ │ │ ├── MultiMenuButtons.js │ │ │ │ ├── MultiNavItem.js │ │ │ │ ├── MultiSubNavButtons.js │ │ │ │ └── events │ │ │ │ │ ├── MultiMenuEventAbstract.js │ │ │ │ │ ├── OnArrowDownToggleLV1.js │ │ │ │ │ ├── OnArrowLeftLV1.js │ │ │ │ │ ├── OnArrowRightLV1.js │ │ │ │ │ ├── OnArrowRightToggleLV1.js │ │ │ │ │ ├── OnArrowUpToggleLV1.js │ │ │ │ │ └── OnClickToggleLV1.js │ │ │ ├── common │ │ │ │ ├── MobileToggle.js │ │ │ │ └── globals.js │ │ │ ├── index.js │ │ │ └── multi-menu-buttons.js │ │ ├── nav │ │ │ ├── ActivePath.js │ │ │ ├── ElementFetcher.js │ │ │ └── EventHandlerDispatch.js │ │ └── secondary-nav │ │ │ ├── accordion │ │ │ ├── SecondaryNavAccordion.js │ │ │ ├── SecondarySubNavAccordion.js │ │ │ └── events │ │ │ │ ├── OnArrowLeft.js │ │ │ │ ├── OnArrowRight.js │ │ │ │ ├── OnClick.js │ │ │ │ └── OnSpace.js │ │ │ ├── buttons │ │ │ ├── SecondaryNavButtons.js │ │ │ ├── SecondarySubNavButtons.js │ │ │ ├── SubNavToggle.js │ │ │ └── events │ │ │ │ ├── OnArrowRight.js │ │ │ │ ├── SubNavToggleArrowDown.js │ │ │ │ ├── SubNavToggleArrowLeft.js │ │ │ │ ├── SubNavToggleArrowUp.js │ │ │ │ ├── SubNavToggleClick.js │ │ │ │ └── SubNavToggleSpace.js │ │ │ ├── common │ │ │ ├── SecondaryNavAbstract.js │ │ │ ├── SecondaryNavItem.js │ │ │ ├── SecondarySubNavItem.js │ │ │ ├── events │ │ │ │ ├── EventAbstract.js │ │ │ │ ├── OnArrowDown.js │ │ │ │ ├── OnArrowLeft.js │ │ │ │ ├── OnArrowRight.js │ │ │ │ ├── OnArrowUp.js │ │ │ │ ├── OnEnd.js │ │ │ │ ├── OnEnter.js │ │ │ │ ├── OnEsc.js │ │ │ │ ├── OnHome.js │ │ │ │ ├── OnSpace.js │ │ │ │ └── OnTab.js │ │ │ └── globals.js │ │ │ ├── index.js │ │ │ ├── secondary-nav-accordion.js │ │ │ ├── secondary-nav-buttons.js │ │ │ ├── secondary-nav-static.js │ │ │ └── static │ │ │ ├── SecondaryNavStatic.js │ │ │ ├── SecondarySubNavItemStatic.js │ │ │ └── events │ │ │ ├── OnArrowDownSubNav.js │ │ │ ├── OnArrowRightSubNav.js │ │ │ └── OnArrowUpSubNav.js │ ├── polyfills │ │ ├── createEvent.js │ │ ├── foreach.js │ │ ├── ie-edge.js │ │ └── index.js │ ├── stanford_basic.behavior.js │ ├── theme │ │ ├── index.js │ │ └── menu │ │ │ ├── StickyHeaderOnScroll.js │ │ │ └── index.js │ └── utilities │ │ └── keyboard.js └── scss │ ├── admin │ ├── _contextual_links.scss │ ├── _menu.scss │ ├── index.scss │ └── user_login.scss │ ├── base │ ├── _table.scss │ ├── _typography.scss │ └── index.scss │ ├── ckeditor.scss │ ├── components │ ├── alert │ │ ├── _alert--info.scss │ │ └── index.scss │ ├── all │ │ ├── _link--pager.scss │ │ ├── _vertical-spacing.scss │ │ └── index.scss │ ├── filter-menu │ │ ├── _filter-menu.scss │ │ └── index.scss │ ├── index.scss │ ├── link │ │ ├── _link--action.scss │ │ └── index.scss │ ├── lockup │ │ ├── _lockup.scss │ │ └── index.scss │ ├── masthead │ │ ├── _wrapper.scss │ │ └── index.scss │ ├── multi-menu │ │ ├── _animation.scss │ │ ├── _multi-menu.scss │ │ └── index.scss │ ├── paragraphs │ │ └── _paragraph--people.scss │ ├── secondary-nav │ │ ├── _secondary-nav--light.scss │ │ ├── _secondary-nav.scss │ │ └── index.scss │ ├── stanford-page │ │ ├── _page-title.scss │ │ └── index.scss │ └── wysiwyg │ │ ├── _line_length.scss │ │ ├── _media.scss │ │ └── index.scss │ ├── config │ └── index.scss │ ├── layout │ ├── _page.scss │ └── index.scss │ ├── pages │ └── search │ │ ├── _search-page.scss │ │ └── index.scss │ ├── print │ ├── _print.scss │ └── index.scss │ ├── state │ ├── _hidden.scss │ ├── _mobile-hidden.scss │ ├── _visually-hidden.scss │ └── index.scss │ ├── theme │ ├── _back_to_top.scss │ ├── index.scss │ └── menu │ │ ├── _local-tasks.scss │ │ └── index.scss │ └── utilities │ ├── functions │ └── index.scss │ ├── index.scss │ ├── mixins │ ├── index.scss │ └── typography │ │ ├── _type-a.scss │ │ └── index.scss │ └── variables │ ├── components │ ├── _multi-menu.scss │ ├── _secondary-nav.scss │ └── index.scss │ └── index.scss ├── stanford_basic.breakpoints.yml ├── stanford_basic.info.yml ├── stanford_basic.libraries.yml ├── stanford_basic.theme ├── templates ├── block │ ├── block--local-actions-block.html.twig │ ├── block--local-tasks-block.html.twig │ ├── block--search-form-block.html.twig │ ├── block--system-branding-block.html.twig │ ├── block--system-menu-block--filter-by.html.twig │ ├── block--system-menu-block--main.html.twig │ ├── block--system-menu-block.html.twig │ └── block.html.twig ├── content │ ├── ds-entity-view.html.twig │ ├── media.html.twig │ └── page-title.html.twig ├── contrib │ └── patterns-variant-meta-information.html.twig ├── core │ ├── breadcrumb.html.twig │ ├── comment.html.twig │ ├── field--comment.html.twig │ ├── field.html.twig │ ├── pager.html.twig │ ├── status-messages.html.twig │ └── views-mini-pager.html.twig ├── field │ └── field--node--title.html.twig ├── html.html.twig ├── layouts │ └── README.md ├── menus │ ├── macros │ │ ├── nav-menu.twig │ │ └── secondary-nav-menu.twig │ ├── menu--main.html.twig │ ├── menu--secondary-nav.html.twig │ ├── menu-local-task.html.twig │ ├── menu-local-tasks.html.twig │ └── menu.html.twig ├── navigation │ └── toolbar.html.twig ├── node.html.twig ├── page--user--login.html.twig ├── page.html.twig ├── rabbit-hole-message.html.twig ├── region.html.twig └── search │ ├── item-list--search-results.html.twig │ └── search-result--node-search.html.twig ├── tests └── behat │ └── features │ ├── brandbar.feature │ ├── globalfooter.feature │ └── lockup.feature ├── theme-settings.php ├── webpack.config.js └── yarn.lock /.browserslistrc: -------------------------------------------------------------------------------- 1 | last 2 versions 2 | ie 11 3 | -------------------------------------------------------------------------------- /.circleci/config.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | # CircleCI integration with Drupal 8. 3 | 4 | ## Defines images and working directory. 5 | defaults: &defaults 6 | docker: 7 | - image: pookmish/drupal8ci:php8 8 | - image: selenium/standalone-chrome:latest 9 | - image: circleci/mysql:5.7 10 | environment: 11 | MYSQL_DATABASE: drupal 12 | MYSQL_USER: drupal 13 | MYSQL_PASSWORD: drupal 14 | MYSQL_ALLOW_EMPTY_PASSWORD: 1 15 | working_directory: /var/www/html 16 | 17 | back_to_dev: &back_to_dev 18 | <<: *defaults 19 | steps: 20 | - checkout 21 | - run: 22 | name: Back to dev 23 | command: | 24 | composer global require su-sws/stanford-caravan:dev-8.x-2.x 25 | ~/.composer/vendor/bin/sws-caravan back-to-dev ${CIRCLE_TAG} ${CIRCLE_WORKING_DIRECTORY} 26 | 27 | # Declare all of the jobs we should run. 28 | jobs: 29 | run-back-to-dev: 30 | <<: *back_to_dev 31 | 32 | # Declare a workflow that runs all of our jobs in parallel. 33 | workflows: 34 | version: 2 35 | after_release: 36 | jobs: 37 | - run-back-to-dev: 38 | filters: 39 | tags: 40 | only: 41 | - /^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*).*?$/ 42 | branches: 43 | ignore: 44 | - /.*/ 45 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/Bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve 4 | 5 | --- 6 | 7 | **Describe the bug** 8 | A clear and concise description of what the bug is. 9 | 10 | **To Reproduce** 11 | Steps to reproduce the behavior: 12 | 1. Go to '...' 13 | 2. Click on '....' 14 | 3. Scroll down to '....' 15 | 4. See error 16 | 17 | **Expected behavior** 18 | A clear and concise description of what you expected to happen. 19 | 20 | **Screenshots** 21 | If applicable, add screenshots to help explain your problem. 22 | 23 | **Desktop (please complete the following information):** 24 | - OS: [e.g. iOS] 25 | - Browser [e.g. chrome, safari] 26 | - Version [e.g. 22] 27 | 28 | **Smartphone (please complete the following information):** 29 | - Device: [e.g. iPhone6] 30 | - OS: [e.g. iOS8.1] 31 | - Browser [e.g. stock browser, safari] 32 | - Version [e.g. 22] 33 | 34 | **Additional context** 35 | Add any other context about the problem here. 36 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/Feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | 5 | --- 6 | 7 | **Is your feature request related to a problem? Please describe.** 8 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 9 | 10 | **Describe the solution you'd like** 11 | A clear and concise description of what you want to happen. 12 | 13 | **Describe alternatives you've considered** 14 | A clear and concise description of any alternative solutions or features you've considered. 15 | 16 | **Additional context** 17 | Add any other context or screenshots about the feature request here. 18 | -------------------------------------------------------------------------------- /.github/auto-label.json: -------------------------------------------------------------------------------- 1 | { 2 | "rules": { 3 | "patch": ["*.info.yml"], 4 | "frontend": ["*.js", "*.scss", "*.css", "*.twig", ".theme"], 5 | "backend": ["*.php", "*.module"], 6 | "ci": [".circleci", "blt", ".github"] 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /.github/workflows/label.yml: -------------------------------------------------------------------------------- 1 | # This workflow will triage pull requests and apply a label based on the 2 | # paths that are modified in the pull request. 3 | # 4 | # To use this workflow, you will need to set up a .github/labeler.yml 5 | # file with configuration. For more information, see: 6 | # https://github.com/actions/labeler/blob/master/README.md 7 | 8 | name: PR Labeler 9 | on: 10 | pull_request: 11 | types: [opened, synchronize] 12 | jobs: 13 | pr-labeler: 14 | runs-on: ubuntu-latest 15 | steps: 16 | - uses: actions/checkout@v2 17 | - uses: codelytv/pr-size-labeler@v1 18 | with: 19 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 20 | xs_max_size: '100' 21 | s_max_size: '500' 22 | m_max_size: '1000' 23 | l_max_size: '3000' 24 | fail_if_xl: 'false' 25 | - uses: banyan/auto-label@1.2 26 | env: 27 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 28 | -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- 1 | # .github/workflows/release.yml 2 | name: Release 3 | 4 | on: 5 | pull_request: 6 | types: closed 7 | 8 | jobs: 9 | build: 10 | runs-on: ubuntu-latest 11 | steps: 12 | - name: Tag 13 | uses: K-Phoen/semver-release-action@master 14 | with: 15 | release_branch: master 16 | tag_format: "%major%.%minor%.%patch%" 17 | env: 18 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 19 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.scssc 2 | *.sassc 3 | .sass-cache 4 | *.map 5 | node_modules 6 | .DS_Store 7 | *.log 8 | -------------------------------------------------------------------------------- /.nvmrc: -------------------------------------------------------------------------------- 1 | 14.8.0 2 | -------------------------------------------------------------------------------- /.sass-lint.yml: -------------------------------------------------------------------------------- 1 | # Documentation on the rules: 2 | # https://github.com/sasstools/sass-lint/tree/master/docs/rules 3 | # 4 | files: 5 | ignore: 6 | - vendor/**/*.scss 7 | - node_modules/**/*.scss 8 | include: "**/*.s+(a|c)ss" 9 | rules: 10 | brace-style: 11 | - 1 12 | - 13 | style: stroustrup 14 | class-name-format: 15 | - 1 16 | - 17 | convention: hyphenatedbem 18 | empty-line-between-blocks: 1 19 | extends-before-declarations: 1 20 | extends-before-mixins: 1 21 | final-newline: 1 22 | force-attribute-nesting: 0 23 | force-pseudo-nesting: 0 24 | function-name-format: 25 | - 1 26 | - 27 | convention: hyphenatedlowercase 28 | hex-length: 0 29 | leading-zero: 30 | - 1 31 | - include: true 32 | mixins-before-declarations: 0 33 | name-format: 0 34 | nesting-depth: 35 | - 1 36 | - 37 | max-depth: 4 38 | no-color-literals: 0 39 | no-css-comments: 0 40 | no-empty-rulesets: 1 41 | no-ids: 1 42 | no-mergeable-selectors: 0 43 | no-misspelled-properties: 1 44 | no-vendor-prefixes: 0 45 | no-url-domains: 0 46 | no-warn: 0 47 | no-qualifying-elements: 48 | - 1 49 | - 50 | allow-element-with-attribute: 1 51 | one-declaration-per-line: 1 52 | placeholder-in-extend: 1 53 | property-sort-order: 0 54 | quotes: 0 55 | shorthand-values: 0 56 | single-line-per-selector: 1 57 | space-after-colon: 1 58 | space-after-comma: 1 59 | space-before-brace: 1 60 | space-before-colon: 1 61 | space-between-parens: 1 62 | trailing-semicolon: 1 63 | -------------------------------------------------------------------------------- /TERMSOFUSE.txt: -------------------------------------------------------------------------------- 1 | Terms of Use 2 | 3 | Stanford University owns all Stanford-branded themes and governs their use to benefit academic, research, communication and other University activities and interests. The University has the right to protect the use of these themes, the University name and University identity marks such as its seal, logos and symbols in all situations. 4 | 5 | Use of the Stanford-branded themes is limited to Stanford University academic and administrative activities. Use is granted solely to: 6 | 7 | * University academic departments, centers and research groups; 8 | * University administrative units; 9 | 10 | The Stanford brand bar and Stanford universal footer should not be edited or altered in any way, following the Identity toolkit guidelines at https://identity.stanford.edu/web-toolkit/ 11 | 12 | Permission to use the themes is on a per-site basis. You will need to make a separate request for each website on which you would like to use these themes. 13 | 14 | For more information about policies related to the Stanford University identity guidelines, please see http://identity.stanford.edu/policies/ 15 | -------------------------------------------------------------------------------- /UPGRADE.md: -------------------------------------------------------------------------------- 1 | 2 | INTRODUCTION 3 | ------------ 4 | This document describes how to update your theme when the theme changes. 5 | 6 | 8.x-4.x -> 8.x-5.x 7 | ---------------- 8 | 9 | For Drupal 9, the new base theme is `stable9` instead of `stable`. The site must enable `stable9` when upgrading the 10 | theme to 8.x-5.x versions. Unfortunately there is no way to provide an update hook in a theme. 11 | 12 | 8.x-4.13 -> 8.x-4.14 13 | ---------------- 14 | 15 | *Contextual links* 16 | This theme provided contextual links for ds entity view display modes. For Drupal 9, a `pre_render` call must be 17 | a method in a class that implements `\Drupal\Core\Security\TrustedCallbackInterface`. To allow this theme to be 18 | installed on Drupal 9 platform, the contextual links were removed. If it is desired to have those links, create a 19 | class that implements `TrustedCallbackInterface` and follow the documentation for that [on drupal.org](https://www.drupal.org/node/2966725). 20 | -------------------------------------------------------------------------------- /_config.yml: -------------------------------------------------------------------------------- 1 | theme: jekyll-theme-slate -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "su-sws/stanford_basic", 3 | "description": "Stanford Basic Branding Theme.", 4 | "type": "drupal-custom-theme", 5 | "homepage": "https://github.com/SU-SWS/stanford_basic", 6 | "authors": [], 7 | "license": "GPL-2.0-or-later", 8 | "minimum-stability": "dev", 9 | "require": { 10 | "drupal/core": "^9.4", 11 | "drupal/components": "^2.0" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /config/install/stanford_basic.settings.yml: -------------------------------------------------------------------------------- 1 | browser_sync: 2 | enabled: false 3 | host: localhost 4 | port: 3000 5 | clear_registry: false 6 | features: 7 | favicon: true 8 | favicon: 9 | use_default: true 10 | logo: 11 | use_default: true 12 | brand_bar_variant: default 13 | lockup: 14 | option: a 15 | line1: Jumpstart 16 | line2: '' 17 | line3: '' 18 | line4: '' 19 | line5: 'Welcome to your new website' 20 | -------------------------------------------------------------------------------- /config/optional/block.block.stanford_basic_branding.yml: -------------------------------------------------------------------------------- 1 | langcode: en 2 | status: true 3 | dependencies: 4 | module: 5 | - system 6 | theme: 7 | - stanford_basic 8 | _core: 9 | default_config_hash: ekY8V2Bx5M_hG2S83DIbMSAuRsdIcZqAWhr1Ypp27YA 10 | id: stanford_basic_branding 11 | theme: stanford_basic 12 | region: header 13 | weight: -5 14 | provider: null 15 | plugin: system_branding_block 16 | settings: 17 | id: system_branding_block 18 | label: 'Site branding' 19 | provider: system 20 | label_display: '0' 21 | use_site_logo: true 22 | use_site_name: true 23 | use_site_slogan: true 24 | visibility: { } 25 | -------------------------------------------------------------------------------- /config/optional/block.block.stanford_basic_content.yml: -------------------------------------------------------------------------------- 1 | langcode: en 2 | status: true 3 | dependencies: 4 | module: 5 | - system 6 | theme: 7 | - stanford_basic 8 | id: stanford_basic_content 9 | theme: stanford_basic 10 | region: content 11 | weight: -2 12 | provider: null 13 | plugin: system_main_block 14 | settings: 15 | id: system_main_block 16 | label: 'Main page content' 17 | provider: system 18 | label_display: '0' 19 | visibility: { } 20 | -------------------------------------------------------------------------------- /config/optional/block.block.stanford_basic_footer.yml: -------------------------------------------------------------------------------- 1 | langcode: en 2 | status: true 3 | dependencies: 4 | config: 5 | - system.menu.footer 6 | module: 7 | - system 8 | theme: 9 | - stanford_basic 10 | _core: 11 | default_config_hash: h1-Rq89z3Z_CowBfNaVQrZz913ZljYaEb4HKkpMA-jE 12 | id: stanford_basic_footer 13 | theme: stanford_basic 14 | region: footer 15 | weight: 0 16 | provider: null 17 | plugin: 'system_menu_block:footer' 18 | settings: 19 | id: 'system_menu_block:footer' 20 | label: 'Footer menu' 21 | provider: system 22 | label_display: '0' 23 | level: 1 24 | depth: 0 25 | visibility: { } 26 | -------------------------------------------------------------------------------- /config/optional/block.block.stanford_basic_footer_menu.yml: -------------------------------------------------------------------------------- 1 | langcode: en 2 | status: true 3 | dependencies: 4 | config: 5 | - system.menu.footer 6 | module: 7 | - system 8 | theme: 9 | - stanford_basic 10 | id: stanford_basic_footer_menu 11 | theme: stanford_basic 12 | region: footer 13 | weight: 0 14 | provider: null 15 | plugin: 'system_menu_block:footer' 16 | settings: 17 | id: 'system_menu_block:footer' 18 | label: Footer 19 | provider: system 20 | label_display: '0' 21 | level: 1 22 | depth: 0 23 | expand_all_items: false 24 | visibility: { } 25 | -------------------------------------------------------------------------------- /config/optional/block.block.stanford_basic_help.yml: -------------------------------------------------------------------------------- 1 | langcode: en 2 | status: true 3 | dependencies: 4 | module: 5 | - help 6 | theme: 7 | - stanford_basic 8 | id: stanford_basic_help 9 | theme: stanford_basic 10 | region: help 11 | weight: -4 12 | provider: null 13 | plugin: help_block 14 | settings: 15 | id: help_block 16 | label: Help 17 | provider: help 18 | label_display: '0' 19 | visibility: { } 20 | -------------------------------------------------------------------------------- /config/optional/block.block.stanford_basic_local_actions.yml: -------------------------------------------------------------------------------- 1 | langcode: en 2 | status: true 3 | dependencies: 4 | theme: 5 | - stanford_basic 6 | _core: 7 | default_config_hash: 50GsUiJMxlrdp_1drNJNV5wL_G5HNBtIaTK56K5YmUA 8 | id: stanford_basic_local_actions 9 | theme: stanford_basic 10 | region: help 11 | weight: -2 12 | provider: null 13 | plugin: local_actions_block 14 | settings: 15 | id: local_actions_block 16 | label: 'Primary admin actions' 17 | provider: core 18 | label_display: '0' 19 | visibility: { } 20 | -------------------------------------------------------------------------------- /config/optional/block.block.stanford_basic_local_tasks.yml: -------------------------------------------------------------------------------- 1 | langcode: en 2 | status: true 3 | dependencies: 4 | theme: 5 | - stanford_basic 6 | _core: 7 | default_config_hash: iBSQxLZp6g8gp9HB_Y8Od9GA77DE6KBY5s8rNke3XWM 8 | id: stanford_basic_local_tasks 9 | theme: stanford_basic 10 | region: help 11 | weight: -3 12 | provider: null 13 | plugin: local_tasks_block 14 | settings: 15 | id: local_tasks_block 16 | label: Tabs 17 | provider: core 18 | label_display: '0' 19 | primary: true 20 | secondary: true 21 | visibility: { } 22 | -------------------------------------------------------------------------------- /config/optional/block.block.stanford_basic_main_menu.yml: -------------------------------------------------------------------------------- 1 | langcode: en 2 | status: true 3 | dependencies: 4 | config: 5 | - system.menu.main 6 | module: 7 | - system 8 | theme: 9 | - stanford_basic 10 | id: stanford_basic_main_menu 11 | theme: stanford_basic 12 | region: menu 13 | weight: 1 14 | provider: null 15 | plugin: 'system_menu_block:main' 16 | settings: 17 | id: 'system_menu_block:main' 18 | label: 'Main navigation' 19 | provider: system 20 | label_display: '0' 21 | level: 1 22 | depth: 2 23 | visibility: { } 24 | -------------------------------------------------------------------------------- /config/optional/block.block.stanford_basic_main_navigation.yml: -------------------------------------------------------------------------------- 1 | langcode: en 2 | status: true 3 | dependencies: 4 | config: 5 | - system.menu.main 6 | module: 7 | - system 8 | theme: 9 | - stanford_basic 10 | id: stanford_basic_main_navigation 11 | theme: stanford_basic 12 | region: menu 13 | weight: 0 14 | provider: null 15 | plugin: 'system_menu_block:main' 16 | settings: 17 | id: 'system_menu_block:main' 18 | label: 'Main navigation' 19 | provider: system 20 | label_display: '0' 21 | level: 1 22 | depth: 3 23 | expand_all_items: true 24 | visibility: { } 25 | -------------------------------------------------------------------------------- /config/optional/block.block.stanford_basic_messages.yml: -------------------------------------------------------------------------------- 1 | langcode: en 2 | status: true 3 | dependencies: 4 | module: 5 | - system 6 | theme: 7 | - stanford_basic 8 | id: stanford_basic_messages 9 | theme: stanford_basic 10 | region: help 11 | weight: -2 12 | provider: null 13 | plugin: system_messages_block 14 | settings: 15 | id: system_messages_block 16 | label: Messages 17 | provider: system 18 | label_display: '0' 19 | visibility: { } 20 | -------------------------------------------------------------------------------- /config/optional/block.block.stanford_basic_page_title.yml: -------------------------------------------------------------------------------- 1 | langcode: en 2 | status: false 3 | dependencies: 4 | theme: 5 | - stanford_basic 6 | _core: 7 | default_config_hash: ze1YY1cYVpfOOeXxRTapOwBDP1z1d2M8AGLW70Vtzq0 8 | id: stanford_basic_page_title 9 | theme: stanford_basic 10 | region: content 11 | weight: -5 12 | provider: null 13 | plugin: page_title_block 14 | settings: 15 | id: page_title_block 16 | label: 'Page title' 17 | provider: core 18 | label_display: '0' 19 | visibility: { } 20 | -------------------------------------------------------------------------------- /config/optional/block.block.stanford_basic_search.yml: -------------------------------------------------------------------------------- 1 | langcode: en 2 | status: true 3 | dependencies: 4 | module: 5 | - search 6 | theme: 7 | - stanford_basic 8 | _core: 9 | default_config_hash: vhPsMWd6yz_azjomNpjIHdEceN_vufyctZrYrZ4bSQw 10 | id: stanford_basic_search 11 | theme: stanford_basic 12 | region: search 13 | weight: -1 14 | provider: null 15 | plugin: search_form_block 16 | settings: 17 | id: search_form_block 18 | label: Search 19 | provider: search 20 | label_display: visible 21 | visibility: { } 22 | -------------------------------------------------------------------------------- /config/schema/stanford_basic.schema.yml: -------------------------------------------------------------------------------- 1 | stanford_basic.settings: 2 | type: theme_settings 3 | label: 'Stanford Basic theme settings' 4 | mapping: 5 | browser_sync: 6 | type: mapping 7 | label: 'Enable Browser Sync' 8 | mapping: 9 | enabled: 10 | type: boolean 11 | label: 'Enable Browser Sync' 12 | host: 13 | type: string 14 | label: 'Host' 15 | port: 16 | type: integer 17 | label: 'Port' 18 | clear_registry: 19 | type: boolean 20 | label: 'Enable clear Registry' 21 | lockup: 22 | options: 23 | type: string 24 | label: 'Lockup Options' 25 | line1: 26 | type: text 27 | label: 'Line 1' 28 | line2: 29 | type: text 30 | label: 'Line 2' 31 | line3: 32 | type: text 33 | label: 'Line 3' 34 | line4: 35 | type: text 36 | label: 'Line 4' 37 | line5: 38 | type: text 39 | label: 'Line 5' 40 | -------------------------------------------------------------------------------- /dist/assets/fonts/fa-brands-400.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SU-SWS/stanford_basic/cfb677958c950e044a77eea1e6bacdceffa3c19a/dist/assets/fonts/fa-brands-400.eot -------------------------------------------------------------------------------- /dist/assets/fonts/fa-brands-400.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SU-SWS/stanford_basic/cfb677958c950e044a77eea1e6bacdceffa3c19a/dist/assets/fonts/fa-brands-400.ttf -------------------------------------------------------------------------------- /dist/assets/fonts/fa-brands-400.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SU-SWS/stanford_basic/cfb677958c950e044a77eea1e6bacdceffa3c19a/dist/assets/fonts/fa-brands-400.woff -------------------------------------------------------------------------------- /dist/assets/fonts/fa-brands-400.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SU-SWS/stanford_basic/cfb677958c950e044a77eea1e6bacdceffa3c19a/dist/assets/fonts/fa-brands-400.woff2 -------------------------------------------------------------------------------- /dist/assets/fonts/fa-regular-400.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SU-SWS/stanford_basic/cfb677958c950e044a77eea1e6bacdceffa3c19a/dist/assets/fonts/fa-regular-400.eot -------------------------------------------------------------------------------- /dist/assets/fonts/fa-regular-400.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SU-SWS/stanford_basic/cfb677958c950e044a77eea1e6bacdceffa3c19a/dist/assets/fonts/fa-regular-400.ttf -------------------------------------------------------------------------------- /dist/assets/fonts/fa-regular-400.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SU-SWS/stanford_basic/cfb677958c950e044a77eea1e6bacdceffa3c19a/dist/assets/fonts/fa-regular-400.woff -------------------------------------------------------------------------------- /dist/assets/fonts/fa-regular-400.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SU-SWS/stanford_basic/cfb677958c950e044a77eea1e6bacdceffa3c19a/dist/assets/fonts/fa-regular-400.woff2 -------------------------------------------------------------------------------- /dist/assets/fonts/fa-solid-900.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SU-SWS/stanford_basic/cfb677958c950e044a77eea1e6bacdceffa3c19a/dist/assets/fonts/fa-solid-900.eot -------------------------------------------------------------------------------- /dist/assets/fonts/fa-solid-900.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SU-SWS/stanford_basic/cfb677958c950e044a77eea1e6bacdceffa3c19a/dist/assets/fonts/fa-solid-900.ttf -------------------------------------------------------------------------------- /dist/assets/fonts/fa-solid-900.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SU-SWS/stanford_basic/cfb677958c950e044a77eea1e6bacdceffa3c19a/dist/assets/fonts/fa-solid-900.woff -------------------------------------------------------------------------------- /dist/assets/fonts/fa-solid-900.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SU-SWS/stanford_basic/cfb677958c950e044a77eea1e6bacdceffa3c19a/dist/assets/fonts/fa-solid-900.woff2 -------------------------------------------------------------------------------- /dist/assets/img/arrow-down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SU-SWS/stanford_basic/cfb677958c950e044a77eea1e6bacdceffa3c19a/dist/assets/img/arrow-down.png -------------------------------------------------------------------------------- /dist/assets/img/header-stanford-logo@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SU-SWS/stanford_basic/cfb677958c950e044a77eea1e6bacdceffa3c19a/dist/assets/img/header-stanford-logo@2x.png -------------------------------------------------------------------------------- /dist/assets/img/lockup-example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SU-SWS/stanford_basic/cfb677958c950e044a77eea1e6bacdceffa3c19a/dist/assets/img/lockup-example.png -------------------------------------------------------------------------------- /dist/assets/img/login-page.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SU-SWS/stanford_basic/cfb677958c950e044a77eea1e6bacdceffa3c19a/dist/assets/img/login-page.jpg -------------------------------------------------------------------------------- /dist/assets/img/logo-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SU-SWS/stanford_basic/cfb677958c950e044a77eea1e6bacdceffa3c19a/dist/assets/img/logo-dark.png -------------------------------------------------------------------------------- /dist/assets/img/logo-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SU-SWS/stanford_basic/cfb677958c950e044a77eea1e6bacdceffa3c19a/dist/assets/img/logo-light.png -------------------------------------------------------------------------------- /dist/assets/img/logo-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SU-SWS/stanford_basic/cfb677958c950e044a77eea1e6bacdceffa3c19a/dist/assets/img/logo-white.png -------------------------------------------------------------------------------- /dist/assets/img/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SU-SWS/stanford_basic/cfb677958c950e044a77eea1e6bacdceffa3c19a/dist/assets/img/logo.png -------------------------------------------------------------------------------- /dist/assets/svg/arrow-down.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /dist/assets/svg/arrow-right.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /dist/assets/svg/arrow-up-right.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /dist/assets/svg/caret-down-black.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /dist/assets/svg/caret-down-red.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /dist/assets/svg/caret-down-white.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /dist/assets/svg/caret-down.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /dist/assets/svg/caret-right.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /dist/assets/svg/check.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /dist/assets/svg/close-black.svg: -------------------------------------------------------------------------------- 1 | close-black -------------------------------------------------------------------------------- /dist/assets/svg/close-white.svg: -------------------------------------------------------------------------------- 1 | close-black -------------------------------------------------------------------------------- /dist/assets/svg/download.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /dist/assets/svg/hamburger-black.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /dist/assets/svg/hamburger-white.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /dist/assets/svg/icon-search.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /dist/assets/svg/lock-solid.svg: -------------------------------------------------------------------------------- 1 | lock-solid -------------------------------------------------------------------------------- /dist/assets/svg/lock.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /dist/assets/svg/minus-black.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /dist/assets/svg/minus-white.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /dist/assets/svg/plus-black.svg: -------------------------------------------------------------------------------- 1 | plus-black -------------------------------------------------------------------------------- /dist/assets/svg/plus-white.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /dist/assets/svg/video.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /dist/css/admin.css: -------------------------------------------------------------------------------- 1 | .contextual-region .contextual-region .contextual{right:0}.contextual-region .contextual-region .contextual-region .contextual{right:32px}.contextual-region .contextual-region .contextual-region .contextual-region .contextual{right:64px}.contextual-region .contextual-region .contextual-region .contextual-region .contextual-region .contextual{right:96px}.contextual-region .contextual-region .contextual-region .contextual-region .contextual-region .contextual-region .contextual{right:128px}@-webkit-keyframes fade{0%{opacity:0}20%{opacity:1}80%{opacity:1}to{opacity:0}}@keyframes fade{0%{opacity:0}20%{opacity:1}80%{opacity:1}to{opacity:0}}a:focus .unpublished-indicator,a:hover .unpublished-indicator{display:inline-block;opacity:1;-webkit-animation:fade 5s ease-in-out;animation:fade 5s ease-in-out}.unpublished-indicator{padding:4px 10px;opacity:0;-webkit-animation:fade 5s ease-in-out;animation:fade 5s ease-in-out;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;display:block;background:#00548f;color:#fff;font-size:11px;position:absolute;top:-15px;left:0;width:115px}.unpublished-indicator:after{content:"";width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;border-top:10px solid #00548f;position:absolute;bottom:-10px;right:90px}.su-secondary-nav .unpublished-indicator{left:25px;top:-25px} -------------------------------------------------------------------------------- /dist/css/layout.css: -------------------------------------------------------------------------------- 1 | .dialog-off-canvas-main-canvas,body{padding:0;margin:0;height:100%;min-height:100vh;width:100%}.dialog-off-canvas-main-canvas{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-preferred-size:100%;flex-basis:100%;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.dialog-off-canvas-main-canvas #footer{margin-top:auto}html{display:-webkit-box;display:-ms-flexbox;display:flex} -------------------------------------------------------------------------------- /dist/css/print.css: -------------------------------------------------------------------------------- 1 | *{background-color:transparent}#footer,#header-region,#navigation,.breadcrumb,.feed-icon,.links,.sidebar,.tabs{display:none}.layout-container{width:100%}#content,.title{margin:20px 0;width:auto}a:active,a:hover,a:link,a:visited{color:#2e2d29}#content a:link:after,#content a:visited:after{content:" (" attr(href) ") ";font-size:.8em;font-weight:400} -------------------------------------------------------------------------------- /dist/css/state.css: -------------------------------------------------------------------------------- 1 | @media (max-width:991px){.su-skipnav--secondary{display:none}}.hidden,.visually-hidden[aria-hidden=true]{display:none} -------------------------------------------------------------------------------- /dist/css/user_login.css: -------------------------------------------------------------------------------- 1 | .dialog-off-canvas-main-canvas{background:url(../assets/img/login-page.jpg) no-repeat;background-size:cover;background-position:50%;background-attachment:fixed}h1{border:0;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(100%);clip-path:inset(100%);height:1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.system-main-block{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding-top:100px;padding-bottom:100px}.system-main-block form{background:#2e2d29;color:#fff;text-align:center;max-width:300px;padding:40px 40px 60px}.system-main-block form input:focus{border:2px solid #e50808;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.25);box-shadow:0 1px 2px rgba(0,0,0,.25)}.system-main-block form .su-button:focus,.system-main-block form .su-button:hover,.system-main-block form input[type=submit]:focus,.system-main-block form input[type=submit]:hover{background-color:#e50808}.system-main-block form a:focus,.system-main-block form a:hover{color:#fff}.system-main-block form a:focus{border:1px solid #c6c6c6;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.25);box-shadow:0 1px 2px rgba(0,0,0,.25)} -------------------------------------------------------------------------------- /dist/templates/decanter/components/accordion/accordion.twig: -------------------------------------------------------------------------------- 1 | {# 2 | Accordion 3 | 4 | Template for an expandable/collapsable section. 5 | 6 | * Available variables: 7 | * - attributes: For additional HTML attributes not already provided. 8 | * - modifier_class: Additional CSS classes to change look and behavior. 9 | * - accordion_title: Optional title for the whole accordion component. 10 | * - cta_button: Optional call-to-action link button at the bototm of the accordion. 11 | * - title: 12 | * - content: 13 | #} 14 |
15 | {% if accordion_title is not empty %} 16 | {{ accordion_title }} 17 | {% endif %} 18 | {% if accordion_control %} 19 | 20 | 21 | {% endif %} 22 | {% if accordion_items is iterable %} 23 | 35 | {% endif %} 36 | {% if cta_button_text is not empty %} 37 | {{ cta_button_text }} 38 | {% endif %} 39 |
-------------------------------------------------------------------------------- /dist/templates/decanter/components/brand-bar/brand-bar.twig: -------------------------------------------------------------------------------- 1 | {# 2 | /** 3 | * @file 4 | * Brand Bar Component. 5 | * 6 | * Stanford brand bar with the wordmark logo with four variants: 7 | * - Default: White wordmark over cardinal red background 8 | * - Bright: White wordmark over bright red background 9 | * - Dark: White wordmark over dark grey background 10 | * - White: Cardinal red wordmark over white background 11 | * 12 | * Available variables: 13 | * - attributes: For additional HTML attributes not already provided. 14 | * - modifier_class: Additional css classes to change look and behaviour. 15 | */ 16 | #} 17 | {% if external_link_text is empty -%} 18 | {%- set external_link_text -%} 19 | (link is external) 20 | {% endset %} 21 | {%- endif %} 22 | 23 |
24 |
25 |
26 | -------------------------------------------------------------------------------- /dist/templates/decanter/components/button/button.twig: -------------------------------------------------------------------------------- 1 | {# 2 | /** 3 | * @file 4 | * Button Component 5 | * 6 | * A basic button element. 7 | * 8 | * Available variants: 9 | * 10 | * Available variables: 11 | * - attributes: A collection of html properties for button 12 | * - modifier_class: CSS class variants 13 | * - button_value: Button's value property 14 | * - button_name: Button's name property 15 | * - button_type: The type of button (submit | button | reset) 16 | * - button_label: The text to display as the button 17 | */ 18 | #} 19 | {{ button_label }} 20 | -------------------------------------------------------------------------------- /dist/templates/decanter/components/cta/cta.twig: -------------------------------------------------------------------------------- 1 | {# 2 | /** 3 | * @file 4 | * CTA Component. 5 | * 6 | * Call to action component with clickable image and button. 7 | * 8 | * Variants: 9 | * - .su-cta--button-bottom - Full-width button under the image 10 | * - .su-cta--button-center - Button at the center of the image 11 | * - .su-cta--button-bottom-icon - Full-width button under the image with an icon in the center of the image 12 | * 13 | * Available variables: 14 | * - attributes: For additional HTML attributes not already provided. 15 | * - modifier_class: Additional css classes to change look and behaviour. 16 | * - image_src: The href property of the image. 17 | * - image_alt: Alt text for the image. 18 | * - link: The href property of the CTA. 19 | * - button_text: The text label of the button. 20 | * - icon_src: The href property of the icon image. 21 | * - icon_alt: Alt text for the icon image. 22 | */ 23 | #} 24 | 25 | {{ image_alt|default( 26 | {# CTA icon #} 27 | {%- if icon_src is not empty -%} 28 | {{ icon_alt|default( 29 | {% endif -%} 30 |

{{ button_text|default("Button text") }}

31 |
32 | -------------------------------------------------------------------------------- /dist/templates/decanter/components/date-stacked/date-stacked.twig: -------------------------------------------------------------------------------- 1 | {# 2 | /** 3 | * @file 4 | * Date Stacked Component. 5 | * 6 | * Abbreviated month stacked on top of numerical day of the month. 7 | * 8 | * Available variables: 9 | * - attributes: For additional HTML attributes not already provided. 10 | * - modifier_class: Additional css classes to change look and behaviour. 11 | * - month_of_year: The abbreviated month of the year. 12 | * - day_of_month: The day of the month in digit form. 13 | */ 14 | #} 15 | 16 | 17 | {% if month_of_year is not empty %} 18 | {{ month_of_year }} 19 | {% endif %} 20 | 21 | {% if day_of_month is not empty %} 22 | {{ day_of_month }} 23 | {% endif %} 24 | 25 | 26 | -------------------------------------------------------------------------------- /dist/templates/decanter/components/link/link.twig: -------------------------------------------------------------------------------- 1 | {# 2 | /** 3 | * @filter 4 | * Link Component 5 | * 6 | * A default link component. 7 | * 8 | * Available variants: 9 | * - .su-link--more: More link 10 | * - .su-link--external: External site link 11 | * - .su-link--button: A button style link 12 | * - .su-link--action: A prompt to action 13 | * 14 | * Available variables: 15 | * - attributes: html properties 16 | * - modifier_class: Modifier css classes 17 | * - link_href: link uri 18 | * - link_content: The contents of the link 19 | * 20 | */ 21 | #} 22 | {{ link_content }} 23 | -------------------------------------------------------------------------------- /dist/templates/decanter/components/logo/logo.twig: -------------------------------------------------------------------------------- 1 | {# 2 | /** 3 | * @file 4 | * Logo Component 5 | * 6 | * The Stanford wordmark logo rendered with the custom Stanford ligature font. 7 | * 8 | * Available variables: 9 | * - attributes: For additional HTML attributes not already provided. 10 | * - modifier_class: Additional CSS classes to change look and behaviour. 11 | * - href: The URL that the logo links to. 12 | * - logo_text: The text for the ligature logo - either Stanford
University or Stanford. 13 | */ 14 | #} 15 | 16 | -------------------------------------------------------------------------------- /dist/templates/decanter/components/nav-toggle/nav-toggle.twig: -------------------------------------------------------------------------------- 1 | {# 2 | /** 3 | * @file 4 | * Nav Toggle 5 | * 6 | * A navigation button element. 7 | * 8 | * Available variants: 9 | * 10 | * Available variables: 11 | * - attributes: A collection of html properties for button 12 | * - modifier_class: CSS class variants 13 | * - aria_expanded: ToggleSubNavItem's state property 14 | * - aria_label: Toggle's name property 15 | * - toggle_label: The text to display as the button 16 | */ 17 | #} 18 | 19 | -------------------------------------------------------------------------------- /dist/templates/decanter/components/quote/quote.twig: -------------------------------------------------------------------------------- 1 | {# 2 | /** 3 | * @file 4 | * Quote Component. 5 | * 6 | * Available variables: 7 | * - attributes: For additional HTML attributes not already provided. 8 | * - modifier_class: Additional CSS classes to change look and behaviour. 9 | * - src: The source image path 10 | * - quote_media: An open variable for placing any type of media content. 11 | * - alt: The alt path 12 | * - name: The name of the source of the quote. 13 | * - bio: The bio text for the quote. 14 | * - text: The body text for the quote. 15 | * - content: An unopinionated open field for all types of content. 16 | */ 17 | #} 18 |
19 | {%- block block_quote_media -%} 20 | {%- if src is not empty -%} 21 | {{ alt }} 22 | {%- endif -%} 23 | {{ quote_media }} 24 | {%- endblock -%} 25 |
26 | {%- if name is not empty -%} 27 |

{{ name }}

28 | {%- endif -%} 29 | {%- if bio is not empty -%} 30 |

{{ bio }}

31 | {%- endif -%} 32 | {%- if text is not empty -%} 33 |
34 |

"{{ text }}"

35 |
36 | {%- endif -%} 37 | {{ content }} 38 |
39 |
40 | -------------------------------------------------------------------------------- /dist/templates/decanter/components/secondary-nav/secondary-nav.twig: -------------------------------------------------------------------------------- 1 | {# 2 | +/** 3 | + * @file 4 | + * Main Navigation Component 5 | + * 6 | + * A navigation menu for the website. 7 | + * 8 | + * Available variables: 9 | + * - attributes: For additional HTML attributes not already provided. 10 | + * - modifier_class: Additional css classes to change look and behaviour of the component. 11 | + * - toggle_modifier_class: Additional css classes to change look and behaviour of the toggle. 12 | + * - aria_label: Aria label for the