<!-- 
RSS generated by JIRA (1001.0.0-SNAPSHOT#100246-sha1:7a5c50119eb0633d306e14180817ddef5e80c75d) at Thu Feb 08 23:05:03 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary add field=key&field=summary to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>FOLIO Jira</title>
    <link>https://folio-org.atlassian.net</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>1001.0.0-SNAPSHOT</version>
        <build-number>100246</build-number>
        <build-date>07-02-2024</build-date>
    </build-info>

<item>
            <title>[STRIPES-29] Establish Method(s) for handling CSS</title>
                <link>https://folio-org.atlassian.net/browse/STRIPES-29</link>
                <project id="10145" key="STRIPES">Stripes</project>
                    <description>&lt;p&gt;The base FOLIO/Stripes install will handle styles from a variety of sources:&lt;br/&gt;
System Styles for FOLIO header and associated UI Elements.&lt;br/&gt;
Styles for Stripes Components&lt;br/&gt;
Custom Styles for 3rd Party Modules (locally included stylesheet)&lt;br/&gt;
Styles for 3rd Party Components (&lt;a href=&quot;http://cloud/styles/styles.css&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://cloud/styles/styles.css&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;With the potential number of CSS classes that could be in use within the FOLIO SPA at a given moment, name-collision is a risk. &lt;/p&gt;

&lt;p&gt;A plan should be established for how our Stripes components and FOLIO System handle styles so that they are&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Not easily tread upon by css from 3rd parties.&lt;/li&gt;
	&lt;li&gt;Easily applied to components within the FOLIO system.&lt;/li&gt;
	&lt;li&gt;Easily maintained - eliminating risk of creating naming collisions within the system via local scoping.&lt;/li&gt;
	&lt;li&gt;Configurable via a set of variables (something similar to css4 spec custom properties or sass variables....possible javascript if the determined solution allows)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;&lt;b&gt;Plan&lt;/b&gt;: &lt;b&gt;We will use css modules via webpack/postcss to locally scope css classnames by default - this will help protect core folio styles from class collision from any 3rd party css. Keeping with a modular workflow, each component that requires styling should have its own stylesheet. Global styles should be rare in the system(purely a reset to start(normalize.css) at the top level of the web application) it&apos;s possible to promote classes to the global level using the :global keyword as well as importing the styles via a custom loader string. More information can be found here&lt;/b&gt;: &lt;a href=&quot;https://github.com/css-modules/postcss-modules&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;https://github.com/css-modules/postcss-modules&lt;/a&gt;&lt;/p&gt;</description>
                <environment></environment>
        <key id="60835">STRIPES-29</key>
            <summary>Establish Method(s) for handling CSS</summary>
                <type id="10003" iconUrl="https://folio-org.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10318?size=medium">Task</type>
                                            <priority id="10002" iconUrl="https://dev.folio.org/assets/jira-priority/jira-p3.svg">P3</priority>
                        <status id="6" iconUrl="https://folio-org.atlassian.net/images/icons/statuses/closed.png" description="The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.">Closed</status>
                    <statusCategory id="3" key="done" colorName="green"/>
                                    <resolution id="10003">Done</resolution>
                                                        <assignee accountid="5cd595118fa24d0dd2de1253">John Coburn</assignee>
                                                                <reporter accountid="5cd595118fa24d0dd2de1253">John Coburn</reporter>
                                    <labels>
                            <label>spike</label>
                            <label>sprint0</label>
                    </labels>
                <created>Thu, 29 Sep 2016 17:51:59 +0000</created>
                <updated>Mon, 31 Oct 2016 12:20:46 +0000</updated>
                            <resolved>Fri, 14 Oct 2016 13:15:58 +0000</resolved>
                                                                        <due></due>
                            <votes>0</votes>
                                    <watches>3</watches>
                                                    <timespent seconds="44100">1 day, 4 hours, 15 minutes</timespent>
                                <comments>
                                                            <comment id="147600" author="557058:b8e64633-1f7c-402d-9caf-9959a5ba5d0d" created="Fri, 14 Oct 2016 11:54:19 +0000"  >&lt;p&gt;John, I thin we have decided that we have enough for now. Can you put some (even if partial) conclusions in here and close this. We will re-open when this becomes active again.&lt;/p&gt;</comment>
                                                            <comment id="147601" author="5cd595118fa24d0dd2de1253" created="Fri, 14 Oct 2016 13:15:58 +0000"  >&lt;p&gt;We have enough to begin work on the application - nuances of the proposed plan may change as we move forward. Will re-open if there&apos;s a need to revisit.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10003">
                    <name>Relates</name>
                                                                <inwardlinks description="relates to">
                                        <issuelink>
            <issuekey id="60843">STRIPES-38</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10000" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummarycf">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10019" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|hzxgrb:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10020" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10024" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>[CHART] Date of First Response</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Fri, 14 Oct 2016 11:54:19 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10025" key="com.atlassian.jira.ext.charting:timeinstatus">
                        <customfieldname>[CHART] Time in Status</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                    </customfields>
    </item>
</channel>
</rss>