Component Folder Structure

Created on 22 August 2024, about 1 year ago
Updated 17 September 2024, about 1 year ago

Problem/Motivation

We discussed revamping the component folder structure, this goal it to streamline some development and make it easier to understand component structure within Prototype.

Proposed resolution

Following a similar structure to this

/components
	/00-base // NO Selectors - loaded globally
    base.twig
		base.stories.twig
    base.md
    /src
	  base.scss
	  _breakpoints.scss
	  _colors.scss
      _layout.scss 
	  _typography.scss
	  _spacing.scss
	  _radius.scss
	/01-elements // HTML tag selectors - loaded globally
		elements.stories.twig
		/src
		  elements.scss
          _headings.scss // h1-h6
          _forms.scss // button, form, input, select
          _links.scss // a
		  _lists.scss // ul, ol, li, dl, dt, dd
		  _media.scss // audio, img, figure, video
		  _tables.scss // table, thead etc.
		  _text.scss // blockquote, p
	/02-components // Component loaded (SDC)
    /component-1
    /component-2
		/teaser
			/teaser-variant1
			/teaser-variant2
	/03-layouts // Structural components - Component loaded
		/column
		/grid
	/04-pages // Component loaded
		/403
		/404
		/basic
		/landing
		/login
		/homepage
		/search
	/05-regions // Component loaded
		/site-header
		/site-footer
	/06-utilities // Utility classes - loaded globally
		_stack.scss
	/07-overrides // Overrides - loaded in library.yml
		/flag
		/webform
		/views
/libraries // Flattened
  /global
  /partials
    _animations.scss
    _breakpoints.scss
    _calculations.scss
    _layout.scss
    _lists.scss
	_media.scss
	_partials.scss
    _spacing.scss
    _typography.scss
/vendor
πŸ“Œ Task
Status

Needs review

Version

5.0

Component

Code

Created by

πŸ‡ΊπŸ‡ΈUnited States jldust

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Merge Requests

Comments & Activities

Production build 0.71.5 2024