diff --git a/.github/labeler.yml b/.github/labeler.yml new file mode 100644 index 0000000000..e0994a9b6f --- /dev/null +++ b/.github/labeler.yml @@ -0,0 +1,2 @@ +mercury-rising: +- base-branch: ['mercury-rising'] diff --git a/.github/workflows/label.yml b/.github/workflows/label.yml new file mode 100644 index 0000000000..a680dde720 --- /dev/null +++ b/.github/workflows/label.yml @@ -0,0 +1,22 @@ +# Automatically label new pull requests based on the +# paths of files being changed. + +# To find out more about this workflow, see: +# https://github.com/actions/labeler + +name: "Pull Request Labeler" +on: + - pull_request_target + +jobs: + triage: + permissions: + contents: read + pull-requests: write + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + + - uses: actions/labeler@v5 + with: + repo-token: "${{ secrets.GITHUB_TOKEN }}" diff --git a/docs/app/views/examples/components/alert/_props.html.erb b/docs/app/views/examples/components/alert/_props.html.erb index 4ff08a4c1d..bc638ae914 100644 --- a/docs/app/views/examples/components/alert/_props.html.erb +++ b/docs/app/views/examples/components/alert/_props.html.erb @@ -20,7 +20,7 @@ <%= md('`icon_name`') %> <%= md('Icon defaults are provided. Icons can also be customized with this property.') %> <%= md('String') %> - <%= md('See Sage Icons.') %> + <%= md('See Icons.') %> <%= md('`primary_action`') %> diff --git a/docs/app/views/examples/components/form_input/_props.html.erb b/docs/app/views/examples/components/form_input/_props.html.erb index 00a527b853..7c461fc4a0 100644 --- a/docs/app/views/examples/components/form_input/_props.html.erb +++ b/docs/app/views/examples/components/form_input/_props.html.erb @@ -24,7 +24,7 @@ <%= md('`icon`') %> - <%= md('Adds a static icon for visual context. See Sage Icons under "Design."') %> + <%= md('Adds a static icon for visual context. See Icons under "Foundations."') %> <%= md('String') %> <%= md('`nil`') %> diff --git a/docs/app/views/examples/components/hint/_props.html.erb b/docs/app/views/examples/components/hint/_props.html.erb index 34031dcc79..bca4d76099 100644 --- a/docs/app/views/examples/components/hint/_props.html.erb +++ b/docs/app/views/examples/components/hint/_props.html.erb @@ -8,5 +8,5 @@ <%= md('`icon`') %> <%= md('Icon to be displayed before the text content.') %> <%= md('String') %> - <%= md('See Sage Icons.') %> + <%= md('See Icons.') %> diff --git a/docs/app/views/examples/components/icon/_props.html.erb b/docs/app/views/examples/components/icon/_props.html.erb index 61201212a4..436a217a82 100644 --- a/docs/app/views/examples/components/icon/_props.html.erb +++ b/docs/app/views/examples/components/icon/_props.html.erb @@ -30,14 +30,14 @@ <%= md('`color`') %> - <%= md('Which color to use to render the icon. See Sage Colors under "Design."') %> + <%= md('Which color to use to render the icon. See Sage Colors under "Foundations."') %> <%= md('Color slider values such as "primary", "prmary-100".') %> <%= md('`nil`') %> <%= md('`icon`') %><%= sage_component SageBadge, { color: "published", value: "required" } %> <%= md(' - Which icon to display. See Sage Icons under "Figma Design." + Which icon to display. See Icons under "Foundations." Note: `null` is also available to place an empty space icon ') %> <%= md('`String` for desired icon.') %> diff --git a/docs/app/views/examples/components/icon_card/_props.html.erb b/docs/app/views/examples/components/icon_card/_props.html.erb index 7573ee2974..86c3b0bb69 100644 --- a/docs/app/views/examples/components/icon_card/_props.html.erb +++ b/docs/app/views/examples/components/icon_card/_props.html.erb @@ -26,7 +26,7 @@ <%= md('`icon`') %><%= sage_component SageBadge, { color: "published", value: "required" } %> <%= md('The Sage icon to show inside the card.') %> <%= md('`String`') %> - <%= md('See Sage Icons.') %> + <%= md('See Icons.') %> <%= md('`label`') %> diff --git a/docs/app/views/examples/components/link/_preview.html.erb b/docs/app/views/examples/components/link/_preview.html.erb index 84b7740038..e5e67020b5 100644 --- a/docs/app/views/examples/components/link/_preview.html.erb +++ b/docs/app/views/examples/components/link/_preview.html.erb @@ -115,3 +115,22 @@ Neutral links live in items with non-white backgrounds, such as Banner and Toast } } } %> + +

Help Link

+ +
+ <%= sage_component SageLink, { + url: "https://example.com", + label: "External link", + help_link: true, + show_label: false + } %> +
+
+ <%= sage_component SageLink, { + url: "https://example.com", + label: "Help link label", + help_link: true, + show_label: true, + } %> +
diff --git a/docs/app/views/examples/components/property/_props.html.erb b/docs/app/views/examples/components/property/_props.html.erb index a251e0e84a..676de56b58 100644 --- a/docs/app/views/examples/components/property/_props.html.erb +++ b/docs/app/views/examples/components/property/_props.html.erb @@ -1,8 +1,8 @@ <%= md('`icon`') %> - <%= md('The Sage icon to show in the property.') %> + <%= md('The icon to show in the property.') %> <%= md('String') %> - <%= md('See Sage Icons.') %> + <%= md('See Icons.') %> <%= md('`value`') %> diff --git a/docs/app/views/examples/components/status_icon/_props.html.erb b/docs/app/views/examples/components/status_icon/_props.html.erb index ba28f874ba..2a70909183 100644 --- a/docs/app/views/examples/components/status_icon/_props.html.erb +++ b/docs/app/views/examples/components/status_icon/_props.html.erb @@ -2,7 +2,7 @@ <%= md('`icon`') %><%= sage_component SageBadge, { color: "published", value: "required" } %> <%= md('The icon to be display.') %> <%= md('String') %> - <%= md('See Sage Icons.') %> + <%= md('See Icons.') %> <%= md('`value`') %><%= sage_component SageBadge, { color: "published", value: "required" } %> diff --git a/docs/app/views/pages/grid_templates.html.erb b/docs/app/views/pages/grid_templates.html.erb index 2ec731e84d..bacaad9af5 100644 --- a/docs/app/views/pages/grid_templates.html.erb +++ b/docs/app/views/pages/grid_templates.html.erb @@ -101,12 +101,12 @@ dashes = [ ] dots = [ - %().html_safe, + %().html_safe, sage_component(SageBadge, { value: "In progress", color: "warning" }).html_safe, - %().html_safe, + %().html_safe, sage_component(SageBadge, { value: "Verified", color: "published" }).html_safe, %($5.99).html_safe, - %().html_safe + %().html_safe ] %> diff --git a/docs/lib/sage_rails/app/views/sage_components/_sage_link.html.erb b/docs/lib/sage_rails/app/views/sage_components/_sage_link.html.erb index bfb936972c..e7c364bf4b 100644 --- a/docs/lib/sage_rails/app/views/sage_components/_sage_link.html.erb +++ b/docs/lib/sage_rails/app/views/sage_components/_sage_link.html.erb @@ -52,8 +52,11 @@ html_attributes[:class] = css_classes .squish %> <%= link_to component.url, html_attributes do %> - <% if component.icon %> + <% if component.icon && !component.help_link %> <% end %> + <% if component.help_link && !component.icon %> + + <% end %> <%= label %> <% end %> diff --git a/packages/sage-assets/lib/stylesheets/components/_expandable_card.scss b/packages/sage-assets/lib/stylesheets/components/_expandable_card.scss index d96c0789fe..8b36a80038 100644 --- a/packages/sage-assets/lib/stylesheets/components/_expandable_card.scss +++ b/packages/sage-assets/lib/stylesheets/components/_expandable_card.scss @@ -100,7 +100,7 @@ $-expandable-card-padding-xs: sage-spacing(xs); .sage-expandable-card--expanded { .sage-expandable-card__trigger::before, - pds-icon { + pds-icon[name="caret-right"] { transform: rotateZ(-90deg); } } @@ -114,7 +114,7 @@ $-expandable-card-padding-xs: sage-spacing(xs); align-items: center; gap: $-expandable-card-padding; .sage-expandable-card__trigger::before, - pds-icon { + pds-icon[name="caret-right"] { margin: 0; } } diff --git a/packages/sage-assets/lib/stylesheets/components/_link.scss b/packages/sage-assets/lib/stylesheets/components/_link.scss index 92a79b2bb4..71735e36cb 100644 --- a/packages/sage-assets/lib/stylesheets/components/_link.scss +++ b/packages/sage-assets/lib/stylesheets/components/_link.scss @@ -167,6 +167,7 @@ $-link-base-styles: ( .sage-link--help-icon-only { position: relative; text-decoration: none; + color: inherit; &::before, pds-icon { @@ -178,6 +179,7 @@ $-link-base-styles: ( &:hover, &:active, &:focus { + color: inherit; outline: 0; pds-icon { diff --git a/packages/sage-assets/lib/stylesheets/components/_radio.scss b/packages/sage-assets/lib/stylesheets/components/_radio.scss index 16e1debc04..6f41a66e8c 100644 --- a/packages/sage-assets/lib/stylesheets/components/_radio.scss +++ b/packages/sage-assets/lib/stylesheets/components/_radio.scss @@ -22,7 +22,7 @@ $-radio-color-focus-outline-error: sage-color(red, 200); $-radio-button-size: $sage-radio-size; $-radio-gap-spacing: rem(12px); $-radio-transition: 0.15s ease-in-out; -$-radio-selected-indicator-size: rem(7px); +$-radio-selected-indicator-size: rem(6px); // Focus state $-radio-focus-outline-size: rem(3px); @@ -228,10 +228,6 @@ $-radio-focus-outline-color: currentColor; } } - .sage-radio & { - margin-top: rem(4px); - } - .sage-sortable & { margin-top: 0; } diff --git a/packages/sage-react/package.json b/packages/sage-react/package.json index 5f3a5e44fc..513571f703 100644 --- a/packages/sage-react/package.json +++ b/packages/sage-react/package.json @@ -60,7 +60,7 @@ "@testing-library/jest-dom": "^5.16.4", "@testing-library/react": "12.1.5", "@testing-library/user-event": "^14.2.0", - "axios": "^0.21.0", + "axios": "^1.6.0", "babel-loader": "^8.1.0", "browser-sync": "^2.26.14", "css-loader": "^4.3.0", diff --git a/yarn.lock b/yarn.lock index 76dee3637f..6ed97cdb1e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -11,9 +11,9 @@ typical "^7.1.1" "@adobe/css-tools@^4.0.1": - version "4.0.1" - resolved "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.0.1.tgz" - integrity sha512-+u76oB43nOHrF4DDWRLWDCtci7f3QJoEBigemIdIeTi1ODqjx6Tad9NCVnPRwewWlKkVab5PlK8DCtPTyX7S8g== + version "4.3.2" + resolved "https://registry.yarnpkg.com/@adobe/css-tools/-/css-tools-4.3.2.tgz#a6abc715fb6884851fca9dad37fc34739a04fd11" + integrity sha512-DA5a1C0gD/pLOvhv33YMrbf2FK3oUzwNl9oOJqE4XVjuEtt6XIakRcsd7eLiOSPkp1kTRQGICTA8cKra/vFbjw== "@ampproject/remapping@^2.1.0": version "2.2.0" @@ -2849,9 +2849,9 @@ "@octokit/openapi-types" "^12.11.0" "@pine-ds/icons@^7.4.3": - version "7.4.3" - resolved "https://registry.yarnpkg.com/@pine-ds/icons/-/icons-7.4.3.tgz#4d334e890e84e4b8252e2d4bade8458dc07de089" - integrity sha512-D+TvRSFQFBxuShWSckZPs8E64bXEqumtQ1ev36HFDEb/RqMapqSsqY0eUy+JYHFvJ3Q51HaMg1V8Zc10+sXGog== + version "7.5.0" + resolved "https://registry.yarnpkg.com/@pine-ds/icons/-/icons-7.5.0.tgz#b0e0c2c93cdb34584b1dc790f8361d466a0090f7" + integrity sha512-KMad/tqJ+6eerNs/MXojxdjGQ7ePzD4n95qkL1uNIDBpBUbOF+lmqEJEolfuZpiMMVGMhmw1HNtEXzpGQDoj9Q== dependencies: "@stencil/core" "^4.20.0" @@ -5336,13 +5336,22 @@ axe-core@^4.2.0, axe-core@^4.4.3: resolved "https://registry.npmjs.org/axe-core/-/axe-core-4.4.3.tgz" integrity sha512-32+ub6kkdhhWick/UjvEwRchgoetXqTK14INLqbGm5U2TzBkBNF3nQtLYm8ovxSkQWArjEQvftCKryjZaATu3w== -axios@0.21.4, axios@^0.21.0: +axios@0.21.4: version "0.21.4" resolved "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz" integrity sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg== dependencies: follow-redirects "^1.14.0" +axios@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.6.0.tgz#f1e5292f26b2fd5c2e66876adc5b06cdbd7d2102" + integrity sha512-EZ1DYihju9pwVB+jg67ogm+Tmqc6JmhamRN6I4Zt8DfZu5lbcQGw3ozH9lFejSJgs/ibaef3A9PMXPLeefFGJg== + dependencies: + follow-redirects "^1.15.0" + form-data "^4.0.0" + proxy-from-env "^1.1.0" + axobject-query@^2.2.0: version "2.2.0" resolved "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz" @@ -9525,10 +9534,10 @@ focus-trap@^6.2.2: dependencies: tabbable "^5.3.3" -follow-redirects@^1.0.0, follow-redirects@^1.14.0: - version "1.15.1" - resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz" - integrity sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA== +follow-redirects@^1.0.0, follow-redirects@^1.14.0, follow-redirects@^1.15.0: + version "1.15.3" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.3.tgz#fe2f3ef2690afce7e82ed0b44db08165b207123a" + integrity sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q== for-each@^0.3.3: version "0.3.3" @@ -13656,7 +13665,7 @@ min-indent@^1.0.0: mini-create-react-context@^0.4.0: version "0.4.1" - resolved "https://registry.npmjs.org/mini-create-react-context/-/mini-create-react-context-0.4.1.tgz" + resolved "https://registry.yarnpkg.com/mini-create-react-context/-/mini-create-react-context-0.4.1.tgz#072171561bfdc922da08a60c2197a497cc2d1d5e" integrity sha512-YWCYEmd5CQeHGSAKrYvXgmzzkrvssZcuuQDDeqkT+PziKGMgE+0MCCtcKbROzocGBG1meBLl2FotlRwf4gAzbQ== dependencies: "@babel/runtime" "^7.12.1" @@ -16194,6 +16203,11 @@ proxy-addr@~2.0.7: forwarded "0.2.0" ipaddr.js "1.9.1" +proxy-from-env@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" + integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== + prr@~1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz" @@ -16498,7 +16512,7 @@ react-resize-detector@^7.1.2: react-router-dom@5.2.0: version "5.2.0" - resolved "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.2.0.tgz" + resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-5.2.0.tgz#9e65a4d0c45e13289e66c7b17c7e175d0ea15662" integrity sha512-gxAmfylo2QUjcwxI63RhQ5G85Qqt4voZpUXSEqCwykV0baaOTQDR1f0PmY8AELqIyVc0NEZUj0Gov5lNGcXgsA== dependencies: "@babel/runtime" "^7.1.2" @@ -16511,7 +16525,7 @@ react-router-dom@5.2.0: react-router@5.2.0: version "5.2.0" - resolved "https://registry.npmjs.org/react-router/-/react-router-5.2.0.tgz" + resolved "https://registry.yarnpkg.com/react-router/-/react-router-5.2.0.tgz#424e75641ca8747fbf76e5ecca69781aa37ea293" integrity sha512-smz1DUuFHRKdcJC0jobGo8cVbhO3x50tCL4icacOlcwDOEQPq4TMqwx3sY1TP+DvtTgz4nm3thuo7A+BK2U0Dw== dependencies: "@babel/runtime" "^7.1.2"