diff --git a/services/ui-src/package.json b/services/ui-src/package.json index f9674f17b..b364b1fe8 100644 --- a/services/ui-src/package.json +++ b/services/ui-src/package.json @@ -17,12 +17,12 @@ "@testing-library/user-event": "^14.5.1", "@vitejs/plugin-react": "^4.2.1", "aws-amplify": "^6.6.4", - "date-fns": "^3.6.0", + "date-fns": "^4.1.0", "font-awesome": "^4.7.0", - "jsonpath": "^1.0.2", - "launchdarkly-react-client-sdk": "^3.3.2", - "mathjs": "^7.5.0", - "prop-types": "^15.7.2", + "jsonpath": "^1.1.1", + "launchdarkly-react-client-sdk": "^3.6.0", + "mathjs": "^13.2.1", + "prop-types": "^15.8.1", "react": "^16.13.1", "react-data-table-component": "^6.11.6", "react-data-table-component-extensions": "^1.5.0", @@ -35,8 +35,8 @@ "redux": "4.2.1", "redux-logger": "^3.0.6", "redux-thunk": "^2.3.0", - "sass": "^1.77.1", - "vite": "^5.4.6", + "sass": "^1.80.6", + "vite": "^5.4.11", "vite-tsconfig-paths": "^4.3.2" }, "scripts": { diff --git a/services/ui-src/src/styles/_actionCard.scss b/services/ui-src/src/styles/_actionCard.scss index d390773e5..996104bb7 100644 --- a/services/ui-src/src/styles/_actionCard.scss +++ b/services/ui-src/src/styles/_actionCard.scss @@ -1,21 +1,26 @@ +@use "variables"; + /********************** Action Card **********************/ .action-card { + + + display: flex; + flex-direction: column; + padding: variables.$padding * 3 variables.$padding * 4; + margin-top: variables.$margin * 4; + margin-bottom: variables.$margin * 8; + box-shadow: rgba(50, 50, 105, 0.15) 0px 2px 5px 0px, - rgba(0, 0, 0, 0.05) 0px 1px 1px 0px; + rgba(0, 0, 0, 0.05) 0px 1px 1px 0px; + @media screen and (min-width: 768px) { box-shadow: rgba(14, 30, 37, 0.08) 0px 2px 4px 0px, - rgba(14, 30, 37, 0.18) 0px 2px 8px 0px; + rgba(14, 30, 37, 0.18) 0px 2px 8px 0px; } - display: flex; - flex-direction: column; - padding: $padding * 3 $padding * 4; - margin-top: $margin * 4; - margin-bottom: $margin * 8; - @media only screen and (min-width: 768px) { flex-direction: row; } @@ -26,17 +31,17 @@ &-container { text-align: center; @media only screen and (min-width: 768px) { - margin-right: $margin * 2; + margin-right: variables.$margin * 2; text-align: left; } } } &-info { - margin-left: $margin * 2; + margin-left: variables.$margin * 2; p:first-child { - margin-top: $margin; + margin-top: variables.$margin; } p:last-child { diff --git a/services/ui-src/src/styles/_footer.scss b/services/ui-src/src/styles/_footer.scss index 075d215bb..64bdf3987 100644 --- a/services/ui-src/src/styles/_footer.scss +++ b/services/ui-src/src/styles/_footer.scss @@ -1,10 +1,13 @@ +@use "sass:color"; +@use "variables"; + /********************** FOOTER **********************/ .footer { - background: $color-gray-lightest; + background: variables.$color-gray-lightest; font-size: 0.85rem; - color: $color-gray; + color: variables.$color-gray; margin-top: 2rem; text-align: center; flex-shrink: 0; @@ -14,10 +17,10 @@ } .adverts { - padding: ($padding * 4) $padding * 2; + padding: (variables.$padding * 4) variables.$padding * 2; @media only screen and (min-width: 544px) { - padding: ($padding * 4) 0; + padding: (variables.$padding * 4) 0; } } @@ -33,14 +36,14 @@ font-size: 14px; line-height: 21px; color: #212121; - margin-top: $margin * 2; + margin-top: variables.$margin * 2; @media only screen and (min-width: 768px) { margin-top: 0; } } .chip-info { - margin-bottom: $margin * 2; + margin-bottom: variables.$margin * 2; @media (min-width: 768px) { margin-bottom: 0; @@ -95,22 +98,22 @@ } .info { - background-color: $brand-tertiary; - color: $white; - padding: ($padding * 2) $padding * 2; + background-color: variables.$brand-tertiary; + color: variables.$white; + padding: (variables.$padding * 2) variables.$padding * 2; @media only screen and (min-width: 544px) { - padding: ($padding * 2) 0; + padding: (variables.$padding * 2) 0; } a, a:visited { - color: $white; + color: variables.$white; text-decoration: none; &:hover, &:active { - color: darken($lily-white, 20); + color: color.adjust(variables.$lily-white, $lightness: -20%); } } @@ -127,27 +130,27 @@ } &:first-child { - padding-right: $padding; + padding-right: variables.$padding; border-right: 0; @media only screen and (min-width: 768px) { - border-right: 1px solid $white; + border-right: 1px solid variables.$white; } } &:last-child { - margin-top: $margin; + margin-top: variables.$margin; @media only screen and (min-width: 768px) { - padding-left: $padding; + padding-left: variables.$padding; margin-top: 0; } } } .address { - margin-top: $margin * 4; - font-weight: $font-weight-bold; + margin-top: variables.$margin * 4; + font-weight: variables.$font-weight-bold; text-align: left; @media only screen and (min-width: 768px) { diff --git a/services/ui-src/src/styles/_form.scss b/services/ui-src/src/styles/_form.scss index cfccbc530..3790c4c52 100644 --- a/services/ui-src/src/styles/_form.scss +++ b/services/ui-src/src/styles/_form.scss @@ -1,3 +1,5 @@ +@use "variables"; + /********************** FORM **********************/ @@ -80,10 +82,10 @@ } .form-options { - margin: ($padding * 3) 0; + margin: (variables.$padding * 3) 0; button { - margin-right: ($padding * 3); + margin-right: (variables.$padding * 3); } } @@ -116,21 +118,21 @@ } .ds-c-accordion__heading:not(:first-child) { - margin-top: $margin * 3; + margin-top: variables.$margin * 3; } .radio-container .radio-children { - margin-left: ($margin * 8); + margin-left: (variables.$margin * 8); } .question-container { - margin-bottom: ($padding * 4); - padding-right: ($padding * 3); + margin-bottom: (variables.$padding * 4); + padding-right: (variables.$padding * 3); position: relative; .fill-form { - border: 2px solid $color-gray-lightest; - border-radius: $border-radius; + border: 2px solid variables.$color-gray-lightest; + border-radius: variables.$border-radius; float: right; height: 30px; overflow: hidden; @@ -151,7 +153,7 @@ background-position: center; background-repeat: no-repeat; background-size: 85%; - color: $black; + color: variables.$black; content: ""; font-family: "FontAwesome"; height: 24px; @@ -173,7 +175,7 @@ a.active { &:after { background: none; - color: $color-icon; + color: variables.$color-icon; content: "\f0e2"; font-family: "FontAwesome"; height: 24px; @@ -227,25 +229,25 @@ } .question { - font-weight: $font-weight-bold; - margin-top: ($margin * 2); + font-weight: variables.$font-weight-bold; + margin-top: (variables.$margin * 2); } .date-range { - border-left: 4px solid $brand-primary; - padding-left: ($padding * 2); + border-left: 4px solid variables.$brand-primary; + padding-left: (variables.$padding * 2); } .question-outer-header { margin-bottom: 0; - margin-top: ($margin * 4); + margin-top: (variables.$margin * 4); } } .question-inner-header { margin-bottom: 0; padding-bottom: 0; - margin-top: ($margin * 2); + margin-top: (variables.$margin * 2); } .sub-questions { margin-left: 16px; @@ -255,14 +257,14 @@ display: none; } .conditional { - border-left: $border-width solid $brand-primary; - margin-left: ($margin * 2); - padding-left: ($padding * 2); + border-left: variables.$border-width solid variables.$brand-primary; + margin-left: (variables.$margin * 2); + padding-left: (variables.$padding * 2); } .fpl { h3 { - margin: ($margin * 4) 0 0 0; + margin: (variables.$margin * 4) 0 0 0; } } @@ -333,7 +335,7 @@ .nav-buttons { float: right; - margin: ($margin * 8) 0 ($margin * 2); + margin: (variables.$margin * 8) 0 (variables.$margin * 2); text-align: center; width: 48%; @@ -342,11 +344,11 @@ text-align: right; } .form-button { - margin: $margin 0; + margin: variables.$margin 0; @media only screen and (min-width: 767px) { display: inline-block; - margin: $margin; + margin: variables.$margin; } } } @@ -357,7 +359,7 @@ .print-dialogue { border: 1px solid #aaa; - border-radius: $border-radius; + border-radius: variables.$border-radius; box-shadow: 2px 3px 4px #aaa; clear: both; display: block; @@ -377,9 +379,9 @@ top: 2px; right: 0; svg { - color: $color-gray-light; + color: variables.$color-gray-light; &:hover { - color: $color-gray; + color: variables.$color-gray; } } } @@ -439,7 +441,7 @@ } .ds-c-datefield__separator { - margin: 0 ($margin * 2); + margin: 0 (variables.$margin * 2); } .ds-c-label { @@ -452,25 +454,25 @@ .review-view { h4 { - color: $black; + color: variables.$black; } .ds-c-choice:disabled + label:before { - background: $white; + background: variables.$white; } .ds-c-choice:checked + label:before { - background-color: $white; + background-color: variables.$white; background-image: url('data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22gray%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M20.285%202l-11.285%2011.567-5.286-5.011-3.714%203.716%209%208.728%2015-15.285z%22%2F%3E%3C%2Fsvg%3E'); background-position: 50%; background-repeat: no-repeat; background-size: 24px; - border-color: $color-gray-light; + border-color: variables.$color-gray-light; } .ds-c-field:disabled { - background: $white; + background: variables.$white; } .ds-c-alert { - background: $color-gray-lightest; - border-left: 8px solid $color-gray-light; + background: variables.$color-gray-lightest; + border-left: 8px solid variables.$color-gray-light; } .nav-buttons, @@ -484,25 +486,25 @@ .review-view { h4 { - color: $black; + color: variables.$black; } .ds-c-choice:disabled + label:before { - background: $white; + background: variables.$white; } .ds-c-choice:checked + label:before { - background-color: $white; + background-color: variables.$white; background-image: url('data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22gray%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M20.285%202l-11.285%2011.567-5.286-5.011-3.714%203.716%209%208.728%2015-15.285z%22%2F%3E%3C%2Fsvg%3E'); background-position: 50%; background-repeat: no-repeat; background-size: 24px; - border-color: $color-gray-light; + border-color: variables.$color-gray-light; } .ds-c-field:disabled { - background: $white; + background: variables.$white; } .ds-c-alert { - background: $color-gray-lightest; - border-left: 8px solid $color-gray-light; + background: variables.$color-gray-lightest; + border-left: 8px solid variables.$color-gray-light; } .nav-buttons, @@ -514,13 +516,13 @@ } } .accordion-header h3 button { - background: $white; - border-top: 6px solid $color-gray; + background: variables.$white; + border-top: 6px solid variables.$color-gray; } .objective-body, .objective-footer { - background: $white; + background: variables.$white; } .objective-accordion div[hidden] { diff --git a/services/ui-src/src/styles/_globals.scss b/services/ui-src/src/styles/_globals.scss index fc623f31a..b68a58a5b 100644 --- a/services/ui-src/src/styles/_globals.scss +++ b/services/ui-src/src/styles/_globals.scss @@ -1,3 +1,5 @@ +@use "variables"; + /********************** GLOBALS **********************/ @@ -6,11 +8,11 @@ } h1 { - font-weight: $font-weight-normal; + font-weight: variables.$font-weight-normal; } h4 { - color: $brand-primary; + color: variables.$brand-primary; } img { diff --git a/services/ui-src/src/styles/_header.scss b/services/ui-src/src/styles/_header.scss index cbe63cd5c..717f4db39 100644 --- a/services/ui-src/src/styles/_header.scss +++ b/services/ui-src/src/styles/_header.scss @@ -1,3 +1,6 @@ +@use "sass:color"; +@use "variables"; + /********************** HEADER **********************/ @@ -6,12 +9,12 @@ position: sticky; top: 0; z-index: 1; - background-color: $color-gray-lightest; + background-color: variables.$color-gray-lightest; } .header { - background: $brand-tertiary; - color: $white; + background: variables.$brand-tertiary; + color: variables.$white; @media only screen and (max-width: 767px) { text-align: center; @@ -20,12 +23,12 @@ a, a:visited { - color: $white; + color: variables.$white; text-decoration: none; &:hover, &:active { - color: darken($lily-white, 20); + color: color.adjust(variables.$lily-white, $lightness: -20%); } } @@ -36,7 +39,7 @@ } .site-title { - font-weight: $font-weight-bold; + font-weight: variables.$font-weight-bold; text-transform: uppercase; font-size: 1rem; @@ -51,10 +54,10 @@ #carts-logo { width: 100%; max-width: 300px; + padding-top: .5rem; @media only screen and (min-width: 767px) { width: 300px; } - padding-top: .5rem; } .user-details { @@ -83,7 +86,7 @@ flex-direction: row; align-items: center; width: 50%; - font-weight: $font-weight-bold; + font-weight: variables.$font-weight-bold; @media only screen and (min-width: 768px) { width: auto; @@ -91,7 +94,7 @@ a { svg { - padding-right: $padding; + padding-right: variables.$padding; } } } @@ -111,7 +114,7 @@ margin: 0; &.user-email-button { - font-weight: $font-weight-bold; + font-weight: variables.$font-weight-bold; margin: 0; position: relative; height: 100%; @@ -137,7 +140,7 @@ align-items: center; svg { - padding-right: $padding; + padding-right: variables.$padding; } &:focus { @@ -145,7 +148,7 @@ } i { - padding-left: $padding; + padding-left: variables.$padding; } } } @@ -157,14 +160,14 @@ transition: all 2s; &.open { - background: $brand-tertiary; + background: variables.$brand-tertiary; display: flex; flex-direction: column; align-items: baseline; - padding: $padding; + padding: variables.$padding; position: absolute; right: 0; - top: ($padding * 6.25); + top: (variables.$padding * 6.25); transition: all 2s; } a, @@ -174,32 +177,32 @@ } } .contact-us { - padding: ($padding * 2) 0 ($padding * 1.5); + padding: (variables.$padding * 2) 0 (variables.$padding * 1.5); position: relative; width: 100%; a { - padding: ($padding * 2) ($padding * 9.75) ($padding * 1.5) $padding; + padding: (variables.$padding * 2) (variables.$padding * 9.75) (variables.$padding * 1.5) variables.$padding; &:before { content: "\f05a"; font-family: "FontAwesome"; display: inline-block; width: 16px; - padding-right: ($padding * 2); + padding-right: (variables.$padding * 2); } } } .manage-account { - padding: ($padding * 2) 0 ($padding * 1.5); + padding: (variables.$padding * 2) 0 (variables.$padding * 1.5); position: relative; width: 100%; a { - padding: ($padding * 2) ($padding * 4) ($padding * 1.5) $padding; + padding: (variables.$padding * 2) (variables.$padding * 4) (variables.$padding * 1.5) variables.$padding; &:before { content: "\f044"; font-family: "FontAwesome"; display: inline-block; width: 16px; - padding-right: ($padding * 2); + padding-right: (variables.$padding * 2); } } } @@ -219,7 +222,7 @@ text-decoration: none; font-weight: normal; color: #fff; - padding: ($padding * 2) ($padding * 12.25) ($padding * 1.5) $padding; + padding: (variables.$padding * 2) (variables.$padding * 12.25) (variables.$padding * 1.5) variables.$padding; &:hover { color: #8ed2e5; } @@ -228,7 +231,7 @@ font-family: "FontAwesome"; display: inline-block; width: 16px; - padding-right: ($padding * 2); + padding-right: (variables.$padding * 2); } } } @@ -246,7 +249,7 @@ .usabanner-section-layout { margin-left: auto; margin-right: auto; - background-color: $color-gray-lightest; + background-color: variables.$color-gray-lightest; max-width: 1040px; padding-left: 16px; } @@ -256,7 +259,7 @@ **********************/ .save { &-container { - background: $lily-white; + background: variables.$lily-white; box-shadow: rgba(0, 0, 0, 0.45) 0px 0px 10px; @media print { @@ -266,7 +269,7 @@ &-status { font-size: 0.95rem; font-style: italic; - font-weight: $font-weight-bold; + font-weight: variables.$font-weight-bold; padding-top: 0.1rem; text-align: right; width: auto; diff --git a/services/ui-src/src/styles/_icons.scss b/services/ui-src/src/styles/_icons.scss index 7d4df8ac5..c409ee300 100644 --- a/services/ui-src/src/styles/_icons.scss +++ b/services/ui-src/src/styles/_icons.scss @@ -1,11 +1,13 @@ +@use "variables"; + /********************** Icons **********************/ .fa-plus { - border: 2px solid $white; + border: 2px solid variables.$white; border-radius: 50%; box-sizing: initial; - margin-left: ($margin * 2); - padding: ($padding * 0.5); + margin-left: (variables.$margin * 2); + padding: (variables.$padding * 0.5); } diff --git a/services/ui-src/src/styles/_layout.scss b/services/ui-src/src/styles/_layout.scss index b4b49bccf..8b11b3cb4 100644 --- a/services/ui-src/src/styles/_layout.scss +++ b/services/ui-src/src/styles/_layout.scss @@ -1,3 +1,5 @@ +@use "variables"; + /********************** Layout **********************/ @@ -19,7 +21,7 @@ div[hidden] { @media only screen and (max-width: 767px) { div[class*="ds-l-col--"] { max-width: 100%; - padding: 0 ($margin * 2); + padding: 0 (variables.$margin * 2); min-width: 100%; width: 100%; } diff --git a/services/ui-src/src/styles/_main.scss b/services/ui-src/src/styles/_main.scss index ea29fe05d..b8f99f21f 100644 --- a/services/ui-src/src/styles/_main.scss +++ b/services/ui-src/src/styles/_main.scss @@ -1,3 +1,5 @@ +@use "variables"; + /********************** GLOBALS **********************/ @@ -40,7 +42,7 @@ img { **********************/ .main { - padding: ($padding * 2) 0; + padding: (variables.$padding * 2) 0; } .preloader { @@ -61,14 +63,14 @@ img { } .page-info { - margin-top: ($margin * 8); + margin-top: (variables.$margin * 8); @media only screen and (min-width: 768px) { - margin-top: ($margin * 2); + margin-top: (variables.$margin * 2); } .edit-info { - color: $color-gray-light; + color: variables.$color-gray-light; padding-left: 20px; position: relative; text-transform: uppercase; @@ -87,7 +89,7 @@ img { } .h1-title-report { - margin-top: $padding * 2; + margin-top: variables.$padding * 2; margin-left: 0px; h1 { @@ -102,45 +104,45 @@ img { } .h1-title-report { - margin-top: $padding * 2; - margin-left: $padding * 2; + margin-top: variables.$padding * 2; + margin-left: variables.$padding * 2; h1 { - font-weight: $font-weight-bold; + font-weight: variables.$font-weight-bold; margin-top: 0; } } .omb-info { - color: $color-hint-dark; + color: variables.$color-hint-dark; font-size: 0.85rem; line-height: 1.6rem; margin: 1rem 0; } .reports { - color: $color-hint-light; + color: variables.$color-hint-light; width: 100%; h3 { - color: $black; + color: variables.$black; } .report-header { - color: $black; + color: variables.$black; font-size: 0.8rem; - margin-bottom: ($margin * 2); + margin-bottom: (variables.$margin * 2); text-transform: uppercase; width: 100%; } .report-item { - padding: ($padding * 2) 0; + padding: (variables.$padding * 2) 0; width: 100%; .name { - color: $black; - font-weight: $font-weight-bold; + color: variables.$black; + font-weight: variables.$font-weight-bold; } .link { @@ -192,13 +194,13 @@ img { } .reports-footer { - color: $color-hint; - margin-top: ($margin * 3); + color: variables.$color-hint; + margin-top: (variables.$margin * 3); width: 100%; .displaying { text-align: center; - margin-bottom: $margin; + margin-bottom: variables.$margin; @media only screen and (min-width: 768px) { margin-bottom: 0; @@ -213,12 +215,12 @@ img { } } .count { - color: $color-gray; - font-weight: $font-weight-semi-bold; + color: variables.$color-gray; + font-weight: variables.$font-weight-semi-bold; } [class^="number-"] { - border-radius: $border-radius; + border-radius: variables.$border-radius; display: inline-block; padding: 0.1rem 0.4rem; text-align: center; @@ -233,12 +235,12 @@ img { } .number-primary { - background: $brand-primary; - color: $white; + background: variables.$brand-primary; + color: variables.$white; } .number-outline { - border: 1px solid $color-hint; + border: 1px solid variables.$color-hint; } .homepage { @@ -251,12 +253,12 @@ img { } .page-title { - margin-top: ($margin * 4); - margin-bottom: $margin; + margin-top: (variables.$margin * 4); + margin-bottom: variables.$margin; } .report-section-title { - margin-left: ($margin * 2); + margin-left: (variables.$margin * 2); } .preamble { @@ -267,21 +269,21 @@ img { .update-title { font-size: 1.25rem; font-weight: 700; - color: $brand-primary; + color: variables.$brand-primary; margin-top: 1.5rem; margin-bottom: 2rem; } .update-date { - color: $color-hint-dark; + color: variables.$color-hint-dark; font-size:1.1rem; font-weight: bold; } .updates { h3 { - color: $black; - font-weight: $font-weight-normal; + color: variables.$black; + font-weight: variables.$font-weight-normal; font-size: 1.4rem; margin-top: 0; } @@ -292,7 +294,7 @@ img { } .update { - border: 2px solid $color-gray-lightest; + border: 2px solid variables.$color-gray-lightest; border-left: none; border-right: none; padding: 2rem 0; @@ -313,13 +315,13 @@ img { .icon { .icon-inner { - background: $lily-white; - border-radius: $border-radius; - color: $brand-primary; + background: variables.$lily-white; + border-radius: variables.$border-radius; + color: variables.$brand-primary; display: inline-block; font-size: 100px; height: auto; - padding: ($padding * 2) ($padding * 5); + padding: (variables.$padding * 2) (variables.$padding * 5); text-align: center; width: auto; @media only screen and (min-width: 768px) { @@ -329,11 +331,11 @@ img { } .button-display { - padding-right: ($padding) - 2; // offset for icons shifted right 2 + padding-right: (variables.$padding) - 2; // offset for icons shifted right 2 } .title { - margin-top: ($margin * 2); + margin-top: (variables.$margin * 2); text-align: center; @media only screen and (min-width: 768px) { @@ -343,12 +345,12 @@ img { } .update-contents { - @media only screen and (min-width: 768px) { - padding-left: ($padding * 6); - } display: flex; flex-direction: column; justify-content: space-between; + @media only screen and (min-width: 768px) { + padding-left: (variables.$padding * 6); + } } } } @@ -363,14 +365,14 @@ img { margin-bottom: 0; button { - background: $lily-white; + background: variables.$lily-white; border: none; - border-top: 6px solid $brand-primary; - border-bottom: 1px solid $color-gray-light; + border-top: 6px solid variables.$brand-primary; + border-bottom: 1px solid variables.$color-gray-light; cursor: pointer; font-size: 1.6rem; font-weight: bold; - padding: ($padding * 4) ($padding * 2); + padding: (variables.$padding * 4) (variables.$padding * 2); position: relative; text-align: left; width: 100%; @@ -385,7 +387,7 @@ img { font-family: "FontAwesome"; position: absolute; right: 0; - top: ($margin * 2); + top: (variables.$margin * 2); transform: rotate(180deg); } } @@ -399,18 +401,18 @@ div[data-state="open"] .accordion-header .arrow:before { .objective-body, .objective-footer { - background: $color-gray-lightest; - padding: ($padding * 2); + background: variables.$color-gray-lightest; + padding: (variables.$padding * 2); // margin-left: ($margin * 10); .add-goal { - margin-top: ($margin * 4); - margin-bottom: ($margin * 4); + margin-top: (variables.$margin * 4); + margin-bottom: (variables.$margin * 4); } } .objective-footer { - padding-left: ($padding * 2); + padding-left: (variables.$padding * 2); } .objective-body { @@ -418,28 +420,28 @@ div[data-state="open"] .accordion-header .arrow:before { background: none; border: none; font-size: 1.5rem; - font-weight: $font-weight-bold; + font-weight: variables.$font-weight-bold; } .goals { - padding-left: ($padding * 2); + padding-left: (variables.$padding * 2); border-bottom: 6px solid black; } } .objective-body .percentages-info { - padding: 0 ($padding * 2); + padding: 0 (variables.$padding * 2); } .percentages-info { - padding: 0 ($padding * 2); + padding: 0 (variables.$padding * 2); h4 { margin-bottom: 0; } } .percentages { - padding: ($padding * 2); + padding: (variables.$padding * 2); } .percentages { & > div { @@ -458,7 +460,7 @@ div[data-state="open"] .accordion-header .arrow:before { } .divide { - margin: ($margin * 2); + margin: (variables.$margin * 2); } } @@ -470,14 +472,14 @@ div[data-state="open"] .accordion-header .arrow:before { } & > div { display: block; - margin: ($margin * 2) $margin; + margin: (variables.$margin * 2) variables.$margin; } .share-container { - background: $white; - box-shadow: 0px 0px 8px $color-gray; + background: variables.$white; + box-shadow: 0px 0px 8px variables.$color-gray; display: none; - padding: $padding * 2; + padding: variables.$padding * 2; position: absolute; right: 0; text-align: left; @@ -497,9 +499,9 @@ div[data-state="open"] .accordion-header .arrow:before { top: 2px; right: 0; svg { - color: $color-gray-light; + color: variables.$color-gray-light; &:hover { - color: $color-gray; + color: variables.$color-gray; } } } @@ -511,14 +513,14 @@ div[data-state="open"] .accordion-header .arrow:before { .copy { svg { - color: $color-gray-light; + color: variables.$color-gray-light; } } } } .add-objective { - margin-top: ($margin * 4); + margin-top: (variables.$margin * 4); } .comingsoon { @@ -526,8 +528,8 @@ div[data-state="open"] .accordion-header .arrow:before { h1, h4 { - color: $brand-primary; - font-weight: $font-weight-bold; + color: variables.$brand-primary; + font-weight: variables.$font-weight-bold; text-align: center; width: 100%; } @@ -592,19 +594,19 @@ div[data-state="open"] .accordion-header .arrow:before { width: 100%; .ds-c-label { - margin-left: $margin * 2; + margin-left: variables.$margin * 2; } } .help-page { - margin-top: $margin * 2; - margin-bottom: $margin * 8; + margin-top: variables.$margin * 2; + margin-bottom: variables.$margin * 8; &-container { max-width: 700px; } &-title { - margin-top: $margin * 8; + margin-top: variables.$margin * 8; } } diff --git a/services/ui-src/src/styles/_print.scss b/services/ui-src/src/styles/_print.scss index e92e8a143..4685bb83e 100644 --- a/services/ui-src/src/styles/_print.scss +++ b/services/ui-src/src/styles/_print.scss @@ -1,3 +1,5 @@ +@use "variables"; + /** * Contains Print media query AND print page */ @@ -28,7 +30,7 @@ .print-directions { border: 1px solid #aaa; - border-radius: $border-radius; + border-radius: variables.$border-radius; box-shadow: 2px 3px 4px #aaa; margin: 2.2rem auto; max-width: 90%; @@ -82,7 +84,7 @@ } .ds-c-choice:checked + label:before { - background-color: $brand-primary; + background-color: variables.$brand-primary; -webkit-print-color-adjust: exact; } @@ -94,7 +96,7 @@ .section-content { .ds-c-tabs__panel[aria-hidden="true"] { display: block !important; - border-top: 8px solid $alto; + border-top: 8px solid variables.$alto; } .ds-c-tabs__item[aria-selected="false"] { display: none; @@ -118,7 +120,7 @@ } .ly_header { - margin-bottom: ($margin * 8); + margin-bottom: (variables.$margin * 8); } .question { break-inside: avoid; diff --git a/services/ui-src/src/styles/_sidebar.scss b/services/ui-src/src/styles/_sidebar.scss index b30be3c43..ec127a73a 100644 --- a/services/ui-src/src/styles/_sidebar.scss +++ b/services/ui-src/src/styles/_sidebar.scss @@ -1,16 +1,18 @@ +@use "variables"; + /********************** SIDEBAR **********************/ .sidebar { - margin: ($margin * 3) 0; + margin: (variables.$margin * 3) 0; .skip-content { - margin-bottom: ($margin * 3); + margin-bottom: (variables.$margin * 3); } .state-header { - margin-bottom: ($margin * 3); + margin-bottom: (variables.$margin * 3); position: relative; display: flex; flex-flow: row wrap; @@ -23,7 +25,7 @@ .state-name { font-size: 1.6rem; - font-weight: $font-weight-semi-bold; + font-weight: variables.$font-weight-semi-bold; overflow-wrap: anywhere; } } diff --git a/services/ui-src/src/styles/app.scss b/services/ui-src/src/styles/app.scss index 22c91961a..78b0cf819 100644 --- a/services/ui-src/src/styles/app.scss +++ b/services/ui-src/src/styles/app.scss @@ -1,16 +1,16 @@ -@import "@cmsgov/design-system/dist/css/index"; +@use "@cmsgov/design-system/dist/css/index"; -@import "./variables"; -@import "./alerts"; -@import "./fonts"; -@import "./footer"; -@import "./form"; -@import "./globals"; -@import "./header"; -@import "./icons"; -@import "./layout"; -@import "./main"; -@import "./sidebar"; -@import "./print"; -@import "./localLogin"; -@import "./actionCard"; +@use "variables"; +@use "alerts"; +@use "fonts"; +@use "footer"; +@use "form"; +@use "globals"; +@use "header"; +@use "icons"; +@use "layout"; +@use "main"; +@use "sidebar"; +@use "print"; +@use "localLogin"; +@use "actionCard"; diff --git a/services/ui-src/vite.config.ts b/services/ui-src/vite.config.mts similarity index 56% rename from services/ui-src/vite.config.ts rename to services/ui-src/vite.config.mts index 5dd933caa..7fea376b7 100644 --- a/services/ui-src/vite.config.ts +++ b/services/ui-src/vite.config.mts @@ -1,10 +1,10 @@ import { defineConfig } from "vite"; import react from "@vitejs/plugin-react"; -import viteTsconfigPaths from "vite-tsconfig-paths"; +import tsconfigPaths from 'vite-tsconfig-paths' export default defineConfig({ base: "/", - plugins: [react(), viteTsconfigPaths()], + plugins: [react(), tsconfigPaths()], server: { open: true, port: 3000, @@ -15,4 +15,11 @@ export default defineConfig({ build: { outDir: "./build", }, + css: { + preprocessorOptions: { + scss: { + api: 'modern-compiler' // or "modern" + } + } + } }); diff --git a/services/ui-src/yarn.lock b/services/ui-src/yarn.lock index fe82d427b..3c75df868 100644 --- a/services/ui-src/yarn.lock +++ b/services/ui-src/yarn.lock @@ -1868,6 +1868,13 @@ dependencies: regenerator-runtime "^0.14.0" +"@babel/runtime@^7.25.7": + version "7.26.0" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.26.0.tgz#8600c2f595f277c60815256418b85356a65173c1" + integrity sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw== + dependencies: + regenerator-runtime "^0.14.0" + "@babel/template@^7.16.7", "@babel/template@^7.3.3", "@babel/template@^7.4.0": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.7.tgz#8d126c8701fde4d66b264b3eba3d96f07666d155" @@ -2552,6 +2559,95 @@ prop-types "^15.7.2" react-is "^16.8.0 || ^17.0.0" +"@parcel/watcher-android-arm64@2.5.0": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.0.tgz#e32d3dda6647791ee930556aee206fcd5ea0fb7a" + integrity sha512-qlX4eS28bUcQCdribHkg/herLe+0A9RyYC+mm2PXpncit8z5b3nSqGVzMNR3CmtAOgRutiZ02eIJJgP/b1iEFQ== + +"@parcel/watcher-darwin-arm64@2.5.0": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.0.tgz#0d9e680b7e9ec1c8f54944f1b945aa8755afb12f" + integrity sha512-hyZ3TANnzGfLpRA2s/4U1kbw2ZI4qGxaRJbBH2DCSREFfubMswheh8TeiC1sGZ3z2jUf3s37P0BBlrD3sjVTUw== + +"@parcel/watcher-darwin-x64@2.5.0": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.0.tgz#f9f1d5ce9d5878d344f14ef1856b7a830c59d1bb" + integrity sha512-9rhlwd78saKf18fT869/poydQK8YqlU26TMiNg7AIu7eBp9adqbJZqmdFOsbZ5cnLp5XvRo9wcFmNHgHdWaGYA== + +"@parcel/watcher-freebsd-x64@2.5.0": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.0.tgz#2b77f0c82d19e84ff4c21de6da7f7d096b1a7e82" + integrity sha512-syvfhZzyM8kErg3VF0xpV8dixJ+RzbUaaGaeb7uDuz0D3FK97/mZ5AJQ3XNnDsXX7KkFNtyQyFrXZzQIcN49Tw== + +"@parcel/watcher-linux-arm-glibc@2.5.0": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.0.tgz#92ed322c56dbafa3d2545dcf2803334aee131e42" + integrity sha512-0VQY1K35DQET3dVYWpOaPFecqOT9dbuCfzjxoQyif1Wc574t3kOSkKevULddcR9znz1TcklCE7Ht6NIxjvTqLA== + +"@parcel/watcher-linux-arm-musl@2.5.0": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.0.tgz#cd48e9bfde0cdbbd2ecd9accfc52967e22f849a4" + integrity sha512-6uHywSIzz8+vi2lAzFeltnYbdHsDm3iIB57d4g5oaB9vKwjb6N6dRIgZMujw4nm5r6v9/BQH0noq6DzHrqr2pA== + +"@parcel/watcher-linux-arm64-glibc@2.5.0": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.0.tgz#7b81f6d5a442bb89fbabaf6c13573e94a46feb03" + integrity sha512-BfNjXwZKxBy4WibDb/LDCriWSKLz+jJRL3cM/DllnHH5QUyoiUNEp3GmL80ZqxeumoADfCCP19+qiYiC8gUBjA== + +"@parcel/watcher-linux-arm64-musl@2.5.0": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.0.tgz#dcb8ff01077cdf59a18d9e0a4dff7a0cfe5fd732" + integrity sha512-S1qARKOphxfiBEkwLUbHjCY9BWPdWnW9j7f7Hb2jPplu8UZ3nes7zpPOW9bkLbHRvWM0WDTsjdOTUgW0xLBN1Q== + +"@parcel/watcher-linux-x64-glibc@2.5.0": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.0.tgz#2e254600fda4e32d83942384d1106e1eed84494d" + integrity sha512-d9AOkusyXARkFD66S6zlGXyzx5RvY+chTP9Jp0ypSTC9d4lzyRs9ovGf/80VCxjKddcUvnsGwCHWuF2EoPgWjw== + +"@parcel/watcher-linux-x64-musl@2.5.0": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.0.tgz#01fcea60fedbb3225af808d3f0a7b11229792eef" + integrity sha512-iqOC+GoTDoFyk/VYSFHwjHhYrk8bljW6zOhPuhi5t9ulqiYq1togGJB5e3PwYVFFfeVgc6pbz3JdQyDoBszVaA== + +"@parcel/watcher-win32-arm64@2.5.0": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.0.tgz#87cdb16e0783e770197e52fb1dc027bb0c847154" + integrity sha512-twtft1d+JRNkM5YbmexfcH/N4znDtjgysFaV9zvZmmJezQsKpkfLYJ+JFV3uygugK6AtIM2oADPkB2AdhBrNig== + +"@parcel/watcher-win32-ia32@2.5.0": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.0.tgz#778c39b56da33e045ba21c678c31a9f9d7c6b220" + integrity sha512-+rgpsNRKwo8A53elqbbHXdOMtY/tAtTzManTWShB5Kk54N8Q9mzNWV7tV+IbGueCbcj826MfWGU3mprWtuf1TA== + +"@parcel/watcher-win32-x64@2.5.0": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.0.tgz#33873876d0bbc588aacce38e90d1d7480ce81cb7" + integrity sha512-lPrxve92zEHdgeff3aiu4gDOIt4u7sJYha6wbdEZDCDUhtjTsOMiaJzG5lMY4GkWH8p0fMmO2Ppq5G5XXG+DQw== + +"@parcel/watcher@^2.4.1": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher/-/watcher-2.5.0.tgz#5c88818b12b8de4307a9d3e6dc3e28eba0dfbd10" + integrity sha512-i0GV1yJnm2n3Yq1qw6QrUrd/LI9bE8WEBOTtOkpCXHHdyN3TAGgqAK/DAT05z4fq2x04cARXt2pDmjWjL92iTQ== + dependencies: + detect-libc "^1.0.3" + is-glob "^4.0.3" + micromatch "^4.0.5" + node-addon-api "^7.0.0" + optionalDependencies: + "@parcel/watcher-android-arm64" "2.5.0" + "@parcel/watcher-darwin-arm64" "2.5.0" + "@parcel/watcher-darwin-x64" "2.5.0" + "@parcel/watcher-freebsd-x64" "2.5.0" + "@parcel/watcher-linux-arm-glibc" "2.5.0" + "@parcel/watcher-linux-arm-musl" "2.5.0" + "@parcel/watcher-linux-arm64-glibc" "2.5.0" + "@parcel/watcher-linux-arm64-musl" "2.5.0" + "@parcel/watcher-linux-x64-glibc" "2.5.0" + "@parcel/watcher-linux-x64-musl" "2.5.0" + "@parcel/watcher-win32-arm64" "2.5.0" + "@parcel/watcher-win32-ia32" "2.5.0" + "@parcel/watcher-win32-x64" "2.5.0" + "@popperjs/core@^2.4.4": version "2.11.5" resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.5.tgz#db5a11bf66bdab39569719555b0f76e138d7bd64" @@ -3695,7 +3791,7 @@ anymatch@^2.0.0: micromatch "^3.1.4" normalize-path "^2.1.1" -anymatch@^3.0.3, anymatch@~3.1.2: +anymatch@^3.0.3: version "3.1.2" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== @@ -4526,11 +4622,6 @@ big.js@^5.2.2: resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== -binary-extensions@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" - integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== - bindings@^1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" @@ -4586,7 +4677,7 @@ braces@^2.3.1: split-string "^3.0.2" to-regex "^3.0.1" -braces@^3.0.2, braces@~3.0.2: +braces@^3.0.2, braces@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== @@ -4820,20 +4911,12 @@ cheerio@^1.0.0-rc.3: parse5-htmlparser2-tree-adapter "^6.0.1" tslib "^2.2.0" -"chokidar@>=3.0.0 <4.0.0": - version "3.5.3" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" - integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== - dependencies: - anymatch "~3.1.2" - braces "~3.0.2" - glob-parent "~5.1.2" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.6.0" - optionalDependencies: - fsevents "~2.3.2" +chokidar@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-4.0.1.tgz#4a6dff66798fb0f72a94f616abbd7e1a19f31d41" + integrity sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA== + dependencies: + readdirp "^4.0.1" chownr@^1.1.1: version "1.1.4" @@ -4948,10 +5031,10 @@ commander@~8.0.0: resolved "https://registry.yarnpkg.com/commander/-/commander-8.0.0.tgz#1da2139548caef59bd23e66d18908dfb54b02258" integrity sha512-Xvf85aAtu6v22+E5hfVoLHqyul/jyxh91zvqk/ioJTQuJR7Z78n7H558vMPKanPSRgIEeZemT92I2g9Y8LPbSQ== -complex.js@^2.0.11: - version "2.1.0" - resolved "https://registry.yarnpkg.com/complex.js/-/complex.js-2.1.0.tgz#211258e271345213c6f004c0ea90a34eb1e0c753" - integrity sha512-RdcrDz7YynXp/YXGwXIZ4MtmxXXniT5WmLFRX93cuXUX+0geWAqB8l1BoLXF+3BkzviVzHlpw27P9ow7MvlcmA== +complex.js@^2.2.5: + version "2.4.2" + resolved "https://registry.yarnpkg.com/complex.js/-/complex.js-2.4.2.tgz#76f260a9e7e232d8ad26348484a9b128c13fcc9a" + integrity sha512-qtx7HRhPGSCBtGiST4/WGHuW+zeaND/6Ld+db6PbrulIB1i2Ev/2UPiqcmpQNPSyfBKraC0EOvOKCB5dGZKt3g== component-emitter@^1.2.1: version "1.3.0" @@ -5136,10 +5219,10 @@ date-fns@^2.28.0: resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.29.1.tgz#9667c2615525e552b5135a3116b95b1961456e60" integrity sha512-dlLD5rKaKxpFdnjrs+5azHDFOPEu4ANy/LTh04A1DTzMM7qoajmKCBc8pkKRFT41CNzw+4gQh79X5C+Jq27HAw== -date-fns@^3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-3.6.0.tgz#f20ca4fe94f8b754951b24240676e8618c0206bf" - integrity sha512-fRHTG8g/Gif+kSh50gaGEdToemgfj74aRX3swtiouboip5JDLAyDE9F11nHMIcvOaXeOC6D7SpNhi7uFyB7Uww== +date-fns@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-4.1.0.tgz#64b3d83fff5aa80438f5b1a633c2e83b8a1c2d14" + integrity sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg== debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1: version "4.3.4" @@ -5160,6 +5243,11 @@ decimal.js@^10.2.1: resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.3.1.tgz#d8c3a444a9c6774ba60ca6ad7261c3a94fd5e783" integrity sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ== +decimal.js@^10.4.3: + version "10.4.3" + resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.4.3.tgz#1044092884d245d1b7f65725fa4ad4c6f781cc23" + integrity sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA== + decode-uri-component@^0.2.0: version "0.2.2" resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz#e69dbe25d37941171dd540e024c444cd5188e1e9" @@ -5275,6 +5363,11 @@ detect-indent@^4.0.0: dependencies: repeating "^2.0.0" +detect-libc@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" + integrity sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg== + detect-newline@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" @@ -5943,10 +6036,10 @@ form-data@~2.3.2: combined-stream "^1.0.6" mime-types "^2.1.12" -fraction.js@^4.0.12: - version "4.2.0" - resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.2.0.tgz#448e5109a313a3527f5a3ab2119ec4cf0e0e2950" - integrity sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA== +fraction.js@^4.3.7: + version "4.3.7" + resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.3.7.tgz#06ca0085157e42fda7f9e726e79fefc4068840f7" + integrity sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew== fragment-cache@^0.2.1: version "0.2.1" @@ -6086,13 +6179,6 @@ getpass@^0.1.1: dependencies: assert-plus "^1.0.0" -glob-parent@~5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4: version "7.2.0" resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" @@ -6487,13 +6573,6 @@ is-bigint@^1.0.1: dependencies: has-bigints "^1.0.1" -is-binary-path@~2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" - integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== - dependencies: - binary-extensions "^2.0.0" - is-boolean-object@^1.0.1, is-boolean-object@^1.1.0: version "1.1.2" resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" @@ -6597,7 +6676,7 @@ is-generator-fn@^2.0.0: resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== -is-glob@^4.0.1, is-glob@~4.0.1: +is-glob@^4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== @@ -7545,7 +7624,7 @@ json5@^2.2.3: resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== -jsonpath@^1.0.2: +jsonpath@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/jsonpath/-/jsonpath-1.1.1.tgz#0ca1ed8fb65bb3309248cc9d5466d12d5b0b9901" integrity sha512-l6Cg7jRpixfbgoWgkrl77dgEj8RPvND0wMH6TwQmi9Qs4TFfS9u5cUFnbeKTwj5ga5Y3BTGGNI28k117LJ009w== @@ -7668,30 +7747,30 @@ kleur@~4.1.4: resolved "https://registry.yarnpkg.com/kleur/-/kleur-4.1.4.tgz#8c202987d7e577766d039a8cd461934c01cda04d" integrity sha512-8QADVssbrFjivHWQU7KkMgptGTl6WAcSdlbBPY4uNF+mWr6DGcKrvY2w4FQJoXch7+fKMjj0dRrL75vk3k23OA== -launchdarkly-js-client-sdk@^3.3.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/launchdarkly-js-client-sdk/-/launchdarkly-js-client-sdk-3.4.0.tgz#5b5959b548edac8a0f368eb40b079d942573d37b" - integrity sha512-3v1jKy1RECT0SG/3SGlyRO32vweoNxvWiJuIChRh/Zhk98cHpANuwameXVhwJ4WEDNZJTur73baaKAyatSP46A== +launchdarkly-js-client-sdk@^3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/launchdarkly-js-client-sdk/-/launchdarkly-js-client-sdk-3.5.0.tgz#cb0e3d6fc21e56750aa86fcaf75733d7f510946f" + integrity sha512-3dgxC9S8K2ix6qjdArjZGOJPtAytgfQTuE+vWgjWJK7725rpYbuqbHghIFr5B0+WyWyVBYANldjWd1JdtYLwsw== dependencies: escape-string-regexp "^4.0.0" - launchdarkly-js-sdk-common "5.3.0" + launchdarkly-js-sdk-common "5.4.0" -launchdarkly-js-sdk-common@5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/launchdarkly-js-sdk-common/-/launchdarkly-js-sdk-common-5.3.0.tgz#336a54843f5ba3541632e10014e49dff45d41674" - integrity sha512-NI5wFF8qhjtpRb4KelGdnwNIOf/boLlbLiseV7uf1jxSeoM/L30DAz87RT8VhYCSGCo4LedGILQFednI/MKFkA== +launchdarkly-js-sdk-common@5.4.0: + version "5.4.0" + resolved "https://registry.yarnpkg.com/launchdarkly-js-sdk-common/-/launchdarkly-js-sdk-common-5.4.0.tgz#c9787daebe0b583b01d2334218524ea142c85001" + integrity sha512-Kb3SDcB6S0HUpFNBZgtEt0YUV/fVkyg+gODfaOCJQ0Y0ApxLKNmmJBZOrPE2qIdzw536u4BqEjtaJdqJWCEElg== dependencies: base64-js "^1.3.0" fast-deep-equal "^2.0.1" uuid "^8.0.0" -launchdarkly-react-client-sdk@^3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/launchdarkly-react-client-sdk/-/launchdarkly-react-client-sdk-3.3.2.tgz#b934f556d85ab9c6457744ddeb2ba581b440342c" - integrity sha512-Cusw0aB+L65FceGQQ77IFhKZT+J+NezDtmahhI/LtK/Da2YhlbSmxhInSLdf325e3Umj0+foDIOkFt/OOFmQsQ== +launchdarkly-react-client-sdk@^3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/launchdarkly-react-client-sdk/-/launchdarkly-react-client-sdk-3.6.0.tgz#be825d2423ee6a80bd37a29bc9b523ec2e0d190f" + integrity sha512-tGXc7CNngfwElsoLmvpt81NO+v5gH9xuCdIjYSi9BHlL4wk6mpJpuEJn0Kx8Q3D1mnNzAhX3YdJNXc1pk3fXbg== dependencies: hoist-non-react-statics "^3.3.2" - launchdarkly-js-client-sdk "^3.3.0" + launchdarkly-js-client-sdk "^3.5.0" lodash.camelcase "^4.3.0" left-pad@^1.3.0: @@ -7919,19 +7998,20 @@ map-visit@^1.0.0: dependencies: object-visit "^1.0.0" -mathjs@^7.5.0: - version "7.6.0" - resolved "https://registry.yarnpkg.com/mathjs/-/mathjs-7.6.0.tgz#f0b7579e0756b13422995d0c4f29bd17d65d4dcc" - integrity sha512-abywR28hUpKF4at5jE8Ys+Kigk40eKMT5mcBLD0/dtsqjfOLbtzd3WjlRqIopNo7oQ6FME51qph6lb8h/bhpUg== +mathjs@^13.2.1: + version "13.2.1" + resolved "https://registry.yarnpkg.com/mathjs/-/mathjs-13.2.1.tgz#4c675de0d4a54095adad1075ac621ca323e3d009" + integrity sha512-HEKNV0hckO5Y4uY/KHucmQMMiXgdNUXfJ+SkExRJHLlD3f7mt4DZMJzndQOoTp/dX8ROwk4zl2xO+iq49OEliQ== dependencies: - complex.js "^2.0.11" - decimal.js "^10.2.1" + "@babel/runtime" "^7.25.7" + complex.js "^2.2.5" + decimal.js "^10.4.3" escape-latex "^1.2.0" - fraction.js "^4.0.12" + fraction.js "^4.3.7" javascript-natural-sort "^0.7.1" - seed-random "^2.2.0" + seedrandom "^3.0.5" tiny-emitter "^2.1.0" - typed-function "^2.0.0" + typed-function "^4.2.1" merge-stream@^2.0.0: version "2.0.0" @@ -7965,6 +8045,14 @@ micromatch@^4.0.4: braces "^3.0.2" picomatch "^2.3.1" +micromatch@^4.0.5: + version "4.0.8" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" + integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== + dependencies: + braces "^3.0.3" + picomatch "^2.3.1" + mime-db@1.52.0: version "1.52.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" @@ -8104,6 +8192,11 @@ no-scroll@^2.0.0: resolved "https://registry.yarnpkg.com/no-scroll/-/no-scroll-2.1.1.tgz#f37e08cb159b75a5bdbfc0a87cd9223e120e6e27" integrity sha512-YTzGAJOo/B6hkodeT5SKKHpOhAzjMfkUCCXjLJwjWk2F4/InIg+HbdH9kmT7bKpleDuqLZDTRy2OdNtAj0IVyQ== +node-addon-api@^7.0.0: + version "7.1.1" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-7.1.1.tgz#1aba6693b0f255258a049d621329329322aad558" + integrity sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ== + node-fetch@^2.6.1: version "2.6.7" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" @@ -8151,7 +8244,7 @@ normalize-path@^2.1.1: dependencies: remove-trailing-separator "^1.0.1" -normalize-path@^3.0.0, normalize-path@~3.0.0: +normalize-path@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== @@ -8489,7 +8582,7 @@ picocolors@^1.1.0: resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.0.tgz#5358b76a78cde483ba5cef6a9dc9671440b27d59" integrity sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw== -picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.1: +picomatch@^2.0.4, picomatch@^2.2.3, picomatch@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== @@ -8886,12 +8979,10 @@ readable-stream@^3.1.1, readable-stream@^3.4.0: string_decoder "^1.1.1" util-deprecate "^1.0.1" -readdirp@~3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" - integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== - dependencies: - picomatch "^2.2.1" +readdirp@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-4.0.2.tgz#388fccb8b75665da3abffe2d8f8ed59fe74c230a" + integrity sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA== realpath-native@^1.1.0: version "1.1.0" @@ -9248,14 +9339,16 @@ sane@^4.0.3: minimist "^1.1.1" walker "~1.0.5" -sass@^1.77.1: - version "1.77.4" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.77.4.tgz#92059c7bfc56b827c56eb116778d157ec017a5cd" - integrity sha512-vcF3Ckow6g939GMA4PeU7b2K/9FALXk2KF9J87txdHzXbUF9XRQRwSxcAs/fGaTnJeBFd7UoV22j3lzMLdM0Pw== +sass@^1.80.6: + version "1.80.6" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.80.6.tgz#5d0aa55763984effe41e40019c9571ab73e6851f" + integrity sha512-ccZgdHNiBF1NHBsWvacvT5rju3y1d/Eu+8Ex6c21nHp2lZGLBEtuwc415QfiI1PJa1TpCo3iXwwSRjRpn2Ckjg== dependencies: - chokidar ">=3.0.0 <4.0.0" + chokidar "^4.0.0" immutable "^4.0.0" source-map-js ">=0.6.2 <2.0.0" + optionalDependencies: + "@parcel/watcher" "^2.4.1" sax@^1.2.4: version "1.2.4" @@ -9284,10 +9377,10 @@ scheduler@^0.22.0: dependencies: loose-envify "^1.1.0" -seed-random@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/seed-random/-/seed-random-2.2.0.tgz#2a9b19e250a817099231a5b99a4daf80b7fbed54" - integrity sha1-KpsZ4lCoFwmSMaW5mk2vgLf77VQ= +seedrandom@^3.0.5: + version "3.0.5" + resolved "https://registry.yarnpkg.com/seedrandom/-/seedrandom-3.0.5.tgz#54edc85c95222525b0c7a6f6b3543d8e0b3aa0a7" + integrity sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg== "semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.5.0, semver@^5.7.0, semver@^5.7.1: version "5.7.2" @@ -9977,10 +10070,10 @@ type-fest@^0.21.3: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== -typed-function@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/typed-function/-/typed-function-2.1.0.tgz#ded6f8a442ba8749ff3fe75bc41419c8d46ccc3f" - integrity sha512-bctQIOqx2iVbWGDGPWwIm18QScpu2XRmkC19D8rQGFsjKSgteq/o1hTZvIG/wuDq8fanpBDrLkLq+aEN/6y5XQ== +typed-function@^4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/typed-function/-/typed-function-4.2.1.tgz#19aa51847aa2dea9ef5e7fb7641c060179a74426" + integrity sha512-EGjWssW7Tsk4DGfE+5yluuljS1OGYWiI1J6e8puZz9nTMM51Oug8CD5Zo4gWMsOhq5BI+1bF+rWTm4Vbj3ivRA== typedarray-to-buffer@^3.1.5: version "3.1.5" @@ -10164,10 +10257,10 @@ vite-tsconfig-paths@^4.3.2: globrex "^0.1.2" tsconfck "^3.0.3" -vite@^5.4.6: - version "5.4.6" - resolved "https://registry.yarnpkg.com/vite/-/vite-5.4.6.tgz#85a93a1228a7fb5a723ca1743e337a2588ed008f" - integrity sha512-IeL5f8OO5nylsgzd9tq4qD2QqI0k2CQLGrWD0rCN0EQJZpBK5vJAx0I+GDkMOXxQX/OfFHMuLIx6ddAxGX/k+Q== +vite@^5.4.11: + version "5.4.11" + resolved "https://registry.yarnpkg.com/vite/-/vite-5.4.11.tgz#3b415cd4aed781a356c1de5a9ebafb837715f6e5" + integrity sha512-c7jFQRklXua0mTzneGW9QVyxFjUgwcihC4bXEtujIo2ouWCe1Ajt/amn2PCxYnhYfd5k09JX3SB7OYWFKYqj8Q== dependencies: esbuild "^0.21.3" postcss "^8.4.43"