From 5ca5b4a58cb1c05b3fa370b601551851d2439410 Mon Sep 17 00:00:00 2001 From: Kevin Hamer Date: Wed, 4 Feb 2026 16:27:53 -0500 Subject: [PATCH 01/11] prettier formatting --- package.json | 6 + resources/Overview.md | 28 +- resources/index.md | 1 + resources/js/components/PAccordion.vue | 4 +- resources/js/components/PLazy.vue | 86 ++-- resources/js/components/POpenable.vue | 24 +- resources/js/components/PSlider.vue | 20 +- resources/js/components/PTabs.vue | 75 ++- resources/js/components/PWistia.vue | 33 +- resources/js/components/PYouTube.vue | 70 +-- resources/js/components/PYouTubePlaylist.vue | 21 +- .../js/composables/UseDirectionalKeys.js | 4 +- resources/js/composables/focusWithArrows.js | 12 +- resources/js/directives/vDirectionals.js | 4 +- resources/styles/atoms/breadcrumbs/index.scss | 10 +- .../styles/atoms/button/button--icon.html | 16 +- .../atoms/button/button--messaging.html | 1 - .../atoms/button/button-on-primary.html | 2 +- resources/styles/atoms/button/button.html | 16 +- resources/styles/atoms/button/index.scss | 8 +- resources/styles/atoms/checkbox/checkbox.html | 9 +- resources/styles/atoms/checkbox/index.scss | 6 +- resources/styles/atoms/dropdown/dropdown.html | 17 +- resources/styles/atoms/dropdown/index.scss | 10 +- resources/styles/atoms/eyebrow/index.scss | 6 +- resources/styles/atoms/heading/index.scss | 20 +- resources/styles/atoms/icon/icon.html | 163 +++--- resources/styles/atoms/icon/index.scss | 4 +- resources/styles/atoms/index.scss | 30 +- resources/styles/atoms/input/index.scss | 13 +- resources/styles/atoms/input/input.html | 16 +- resources/styles/atoms/link/link.html | 10 +- resources/styles/atoms/media/index.scss | 13 +- .../styles/atoms/media/media-PWistia.html | 13 +- .../styles/atoms/media/media-PYouTube.html | 12 +- .../atoms/media/media-PYouTubePlaylist.html | 9 +- resources/styles/atoms/radio/index.scss | 14 +- resources/styles/atoms/radio/radio.html | 14 +- resources/styles/atoms/search/index.scss | 5 +- resources/styles/atoms/search/search.html | 4 +- resources/styles/atoms/select/index.scss | 6 +- .../styles/atoms/select/multiselect.scss | 2 +- resources/styles/atoms/select/select.html | 4 +- resources/styles/atoms/switch/index.scss | 6 +- resources/styles/atoms/switch/switch.html | 18 +- resources/styles/atoms/tag/index.scss | 181 +++---- resources/styles/config/index.scss | 39 +- resources/styles/core/Fluid-Typgraphy.md | 17 +- resources/styles/core/Properties.md | 15 +- resources/styles/core/accentColors.scss | 12 +- resources/styles/core/base.scss | 5 +- resources/styles/core/dev.scss | 8 +- resources/styles/core/functions/fluid.scss | 2 +- resources/styles/core/index.scss | 18 +- resources/styles/core/mixins/breakpoints.scss | 10 +- resources/styles/core/properties.scss | 84 ++-- .../core/utilities/container/container.html | 10 +- .../core/utilities/container/index.scss | 9 +- .../styles/core/utilities/grid/cell.scss | 1 - .../styles/core/utilities/grid/grid.html | 33 +- .../styles/core/utilities/grid/index.scss | 2 +- resources/styles/core/utilities/index.scss | 6 +- .../styles/core/utilities/srOnly/index.scss | 18 +- .../styles/core/utilities/srOnly/srOnly.html | 4 +- resources/styles/index.scss | 14 +- .../styles/molecules/accordion/accordion.html | 160 +++--- .../styles/molecules/accordion/index.scss | 134 ++--- resources/styles/molecules/banner/banner.html | 16 +- .../molecules/card/card--condensed.html | 66 ++- .../styles/molecules/card/card--flipped.html | 34 +- .../styles/molecules/card/card--icon.html | 26 +- resources/styles/molecules/card/card.html | 32 +- resources/styles/molecules/card/index.scss | 6 +- .../styles/molecules/checklist/checklist.html | 43 +- .../molecules/featureVideo/featureVideo.html | 62 +-- .../styles/molecules/featureVideo/index.scss | 6 +- resources/styles/molecules/field/field.html | 20 +- resources/styles/molecules/field/index.scss | 4 +- resources/styles/molecules/index.scss | 30 +- resources/styles/molecules/list/index.scss | 12 +- resources/styles/molecules/list/list.html | 64 +-- .../styles/molecules/logoGrid/index.scss | 56 +-- .../styles/molecules/logoGrid/logoGrid.html | 72 +-- .../molecules/mobileNavigation/index.scss | 11 +- .../mobileNavigation/mobileNavigation.html | 7 +- .../styles/molecules/navigation/index.scss | 7 +- .../navigation/navigation-hoverable.html | 122 +++-- .../molecules/navigation/navigation.html | 65 +-- .../styles/molecules/pagination/index.scss | 11 +- .../molecules/pagination/pagination.html | 130 ++--- resources/styles/molecules/tabs/index.scss | 18 +- .../styles/molecules/tabs/tabs--solid.html | 3 - .../styles/molecules/tabs/tabs--vertical.html | 2 - resources/styles/molecules/tabs/tabs.html | 3 - .../styles/molecules/testimonial/index.scss | 212 ++++---- .../testimonial/testimonial--aside.html | 26 +- .../testimonial/testimonial--featured.html | 30 +- .../molecules/testimonial/testimonial.html | 30 +- .../organisms/basicSection/basicSection.html | 92 ++-- .../styles/organisms/basicSection/index.scss | 9 +- .../organisms/basicSection/oneColumn.html | 22 +- .../organisms/callout/callout--split.html | 24 +- .../styles/organisms/callout/callout.html | 64 +-- resources/styles/organisms/dialog/dialog.html | 4 +- resources/styles/organisms/dialog/index.scss | 4 +- .../featuredTestimonials.html | 104 ++-- .../organisms/featuredTestimonials/index.scss | 38 +- resources/styles/organisms/form/form.html | 14 +- .../organisms/hero/hero--gradients.html | 15 +- resources/styles/organisms/hero/hero.html | 6 +- resources/styles/organisms/hero/index.scss | 32 +- resources/styles/organisms/index.scss | 30 +- .../styles/organisms/logoCloud/index.scss | 36 +- .../styles/organisms/logoCloud/logoCloud.html | 307 ++++++------ .../styles/organisms/mediaBanner/index.scss | 30 +- .../organisms/mediaBanner/mediaBanner.html | 200 +++----- resources/styles/organisms/message/index.scss | 11 +- .../organisms/message/message--dark.html | 24 +- .../styles/organisms/message/message.html | 24 +- .../styles/organisms/richText/index.scss | 7 +- .../styles/organisms/richText/richText.html | 35 +- .../styles/organisms/section/section.html | 12 +- .../styles/organisms/siteFooter/index.scss | 33 +- .../organisms/siteFooter/siteFooter.html | 24 +- .../styles/organisms/siteHeader/index.scss | 24 +- .../organisms/siteHeader/siteHeader.html | 474 ++++++++++-------- resources/styles/organisms/slider/index.scss | 2 +- resources/styles/organisms/slider/slider.html | 7 +- resources/styles/organisms/stats/index.scss | 2 +- resources/styles/organisms/stats/stats.html | 9 +- resources/styles/organisms/table/index.scss | 7 +- .../organisms/table/table--scrollable.html | 6 +- .../testimonialSlider/testimonialSlider.html | 76 +-- resources/styles/utilities/colors/colors.html | 1 - resources/styles/utilities/colors/index.scss | 24 +- resources/styles/utilities/index.scss | 2 +- 136 files changed, 2228 insertions(+), 2480 deletions(-) diff --git a/package.json b/package.json index 0521ab4..03ac182 100644 --- a/package.json +++ b/package.json @@ -36,6 +36,12 @@ "browserslist": [ "defaults" ], + "prettier": { + "arrowParens": "avoid", + "printWidth": 999, + "semi": false, + "singleQuote": true + }, "eslintConfig": { "env": { "browser": true, diff --git a/resources/Overview.md b/resources/Overview.md index 3db1c4b..1bbc06e 100644 --- a/resources/Overview.md +++ b/resources/Overview.md @@ -1,25 +1,24 @@ # Overview + ##### Pronto is Imarc's front-end framework for websites and web applications. It is open source, opinionated, and is built to be changed over configured, with an emphasis on the code being simple to read, maintain, and adapt to individual project needs. Pronto uses [Vite](https://vite.dev/) and [Vitrine](https://github.com/imarc/vitrine) to provide this library of its components, that becomes part of your project. See [Pronto's own site](https://imarc-pronto.netlify.app/components/) to see the latest components. - ## Organization Pronto's components are organized following [Atomic Design](https://atomicdesign.bradfrost.com/): -* **Atoms** are the smallest components, and should not contain any other components. *Examples: buttons, inputs, tags, headings.* -* **Molecules** are the next smallest, and should only depend on atoms. *Examples: banners, accordions, lists, pagination.* -* **Organisms** can depend on both atoms and molecules. These often represent a full slice across the page. *Examples: hero, section, site header, site footer.* -* Pronto currently doesn't ship with any **Templates** or **Pages**, but these groups should be created as appropriate. -* **Utilities** are components that are meant to be used with other components and primarily provide functionality. -* **Imported** components are not copied into your project by default. They are meant to be consistent across projects. +- **Atoms** are the smallest components, and should not contain any other components. _Examples: buttons, inputs, tags, headings._ +- **Molecules** are the next smallest, and should only depend on atoms. _Examples: banners, accordions, lists, pagination._ +- **Organisms** can depend on both atoms and molecules. These often represent a full slice across the page. _Examples: hero, section, site header, site footer._ +- Pronto currently doesn't ship with any **Templates** or **Pages**, but these groups should be created as appropriate. +- **Utilities** are components that are meant to be used with other components and primarily provide functionality. +- **Imported** components are not copied into your project by default. They are meant to be consistent across projects. Every visual component should have its folder. Vue components, composables and directives have folders within resources/js/. The folder name for a component should match the blockName, in lowerCamelCase, as should the naming of example HTML files. - ### Naming Conventions Pronto uses SCSS for all styles, and uses ABEM for class naming: @@ -34,13 +33,14 @@ Pronto uses SCSS for all styles, and uses ABEM for class naming: #### Custom Properties Custom property names should use the following naming convention: + ``` --prefix-property-name-suffix ``` -* Root level custom properties are prefixed with `--root-` and are not meant to overridden by components. -* Properties that are meant to be overridden should be unprefixed (like `--accent-color`, `--gap`, `--size`) -* Private, component specific properties should be prefixed with the component name in kebab-case (`--cell-span`) +- Root level custom properties are prefixed with `--root-` and are not meant to overridden by components. +- Properties that are meant to be overridden should be unprefixed (like `--accent-color`, `--gap`, `--size`) +- Private, component specific properties should be prefixed with the component name in kebab-case (`--cell-span`) #### Vue files @@ -50,9 +50,9 @@ PComponentName.vue useComposableName.js ``` -* Vue directive files should be named in UpperCamelCase and prefixed with 'v'. *Example: vDirectionals.js.* -* Pronto's Vue components should be prefixed with P and follow Vue naming conventions. Other components do not need to use the P prefix. *Example: PAccordion.vue.* -* Vue composables only need to follow Vue naming conventions. +- Vue directive files should be named in UpperCamelCase and prefixed with 'v'. _Example: vDirectionals.js._ +- Pronto's Vue components should be prefixed with P and follow Vue naming conventions. Other components do not need to use the P prefix. _Example: PAccordion.vue._ +- Vue composables only need to follow Vue naming conventions. ## Goals diff --git a/resources/index.md b/resources/index.md index c631282..7e76668 100644 --- a/resources/index.md +++ b/resources/index.md @@ -1,4 +1,5 @@ # Great! + ## Let's Get Started. ##### You're running Pronto, Imarc's front-end framework. diff --git a/resources/js/components/PAccordion.vue b/resources/js/components/PAccordion.vue index e443a7e..7d54eed 100644 --- a/resources/js/components/PAccordion.vue +++ b/resources/js/components/PAccordion.vue @@ -5,12 +5,12 @@ import { useTemplateRef } from 'vue' * PAccordion is a vue component for the
element. It uses the native
element * state to determine whether it's open or closed, and merely handles updating CSS properties * to allow the element to use transitions between dynamic closed and [open] heights. - * + * * @param {string} summary - selector for the summary element. * Default: 'summary:first-of-type' */ const props = defineProps({ - summary: { type: String, default: 'summary:first-of-type' } + summary: { type: String, default: 'summary:first-of-type' }, }) const details = useTemplateRef('details') diff --git a/resources/js/components/PLazy.vue b/resources/js/components/PLazy.vue index 222ce5c..4e5661f 100644 --- a/resources/js/components/PLazy.vue +++ b/resources/js/components/PLazy.vue @@ -1,57 +1,57 @@