-
Notifications
You must be signed in to change notification settings - Fork 26
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge remote-tracking branch 'origin/main' into ag-grid-33
* origin/main: feat(components/toast): add toast and toaster harness (#3141) (#3147) ci: workflow to keep automated-translations in sync (#3145) (#3148) chore: changelog for 11.41.0 (#3139) 🍒 (#3144) feat(components/popovers): add support for custom trigger buttons to dropdown harness (#3129) (#3137) feat(components/core): add SkyViewkeeper support for SkyAppViewportService properties (#3120) (#3143) feat(components/popovers): add custom trigger option to dropdown (#3118) (#3126) fix(components/datetime): address flaky display behavior of key date tooltips (#3128) (#3140) fix(components/router): skyHref should shut down when the application is destroyed (#3134) (#3136) chore: changelog for 11.40.0 (#3133) 🍒 (#3138) chore: add tokenization github copilot prompts (#3135) feat(components/pages): add `sky-modal-link-list` component (#3131) (#3132) chore: changelog for 11.39.0 (#3114) 🍒 (#3127) feat(components/manifest): add code example file contents (internal use only) (#3122) feat(components/layout): add harness for description list (#3124) (#3125) feat(components/split-view): tokenize split view styles (#3119) feat(components/errors): tokenize error styles (#3123) feat(components/inline-form): tokenize inline form styles (#3116) feat(components/pages): tokenize action hub styles (#3109) feat(components/layout): tokenize inline delete styles (#3111) feat(components/flyout): tokenize flyout styles (#3098)
- Loading branch information
Showing
156 changed files
with
5,472 additions
and
1,966 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
Add given css variable to either the `sky-default-overrides` mixin or the `sky-modern-overrides` mixin based on the input. | ||
|
||
If asked to add it to both, add it to both the `sky-default-overrides` mixin and the `sky-modern-overrides` mixin | ||
|
||
If the mixin that the variable is to be added to doesn't exist - add it to the top of the file after the imports. Do not add any other variable to the new mixin. | ||
|
||
If neither mixin exists - add the per #file:scss-override-mixins.prompt.md but only add the mixin that is required | ||
|
||
If asked to use it with the current value, find the place in the scss that matches the new variable name. | ||
Use the value in this current location and assign the new variable that value. | ||
Use the new variable in the current location with the given fallback. | ||
|
||
Do not add any comments in the code. | ||
Remove any `TODO:` comments added by #file:scss-override-mixins.prompt.md |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
Your goal is to have two empty mixins at the top of the scss file for the component. | ||
|
||
Add compat mixins: | ||
|
||
- Ensure that the import `@use 'libs/components/theme/src/lib/styles/compat-tokens-mixins' as compatMixins;` is within the imports of the scss file for the component. | ||
- Include the mixin `compatMixins.sky-default-overrides` outside of any selectors with a parameter of the wrapping css class from the HTML file or `TODO` if none is found. | ||
- Include the mixin `compatMixins.sky-modern-overrides` outside of any selectors with a parameter of the wrapping css class from the HTML file or `TODO` if none is found. | ||
- Make the mixins empty mixins with a comment of `\\ TODO: Add overrides here` inside. | ||
- Ensure both mixins are at the top of the file directly below the imports for the scss file and before any other selectors. | ||
- Add a single line break between the two mixins. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
Delete modern theme dark mode styles: | ||
|
||
- Delete all usages of `mixins.sky-theme-modern-dark` | ||
- Completely remove the code and do not just comment it out | ||
|
||
Add mixins: | ||
|
||
- Run #file:./scss-override-mixins.prompt.md |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,86 @@ | ||
# Developers commit changes to the LTS branch. This workflow keeps the `automated-translations` branch up to date | ||
# with the LTS branch. | ||
# | ||
# Lingoport will watch the automated-translations branch and automatically translate the resources_en_US.json | ||
# files to the target languages. The translated files will be committed back to the automated-translations branch. | ||
# | ||
# When the `automated-translations` branch has changes to merge back, this workflow creates a pull request. | ||
# | ||
# When the `automated-translations` branch is merged and deleted, this workflow recreates the branch. | ||
|
||
name: Automated Translations 11.x.x | ||
on: | ||
push: | ||
branches: | ||
- 11.x.x | ||
- automated-translations | ||
workflow_dispatch: | ||
env: | ||
LTS_BRANCH: '11.x.x' | ||
jobs: | ||
automated-translations: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
with: | ||
token: '${{ secrets.GH_PERSONAL_ACCESS_TOKEN }}' | ||
- uses: actions/setup-node@v4 | ||
id: setup-node | ||
with: | ||
node-version-file: '.nvmrc' | ||
- name: Ensure cache directory exists | ||
run: mkdir -p /home/runner/.npm | ||
continue-on-error: true | ||
- name: Sync Translation Branch | ||
id: sync | ||
run: | | ||
./scripts/automated-translations.ps1 \ | ||
-LtsBranchName $LTS_BRANCH \ | ||
-TempPath ${{ runner.temp }} | ||
env: | ||
GH_TOKEN: ${{ secrets.GH_PERSONAL_ACCESS_TOKEN }} | ||
|
||
- name: Notify Slack when a PR is created | ||
if: ${{ steps.sync.outputs.prCreated == 'true' && steps.sync.outputs.prTitle && steps.sync.outputs.prUrl }} | ||
uses: rtCamp/action-slack-notify@v2 | ||
env: | ||
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }} | ||
SLACK_TITLE: ':writing_hand: `automated-translations` PR created: ${{ steps.sync.outputs.prTitle }}' | ||
SLACK_MESSAGE: '${{ steps.sync.outputs.prUrl }}' | ||
SLACK_ICON_EMOJI: ':github:' | ||
SLACK_USERNAME: GitHub | ||
#cor-skyux-notifications | ||
SLACK_CHANNEL: C01GY7ZP4HM | ||
SLACK_COLOR: ${{ job.status }} | ||
SLACK_FOOTER: 'Blackbaud Sky Build User' | ||
MSG_MINIMAL: 'true' | ||
|
||
- name: Notify Slack when a PR is updated | ||
if: ${{ steps.sync.outputs.prCreated == 'false' && steps.sync.outputs.prTitle && steps.sync.outputs.prUrl }} | ||
uses: rtCamp/action-slack-notify@v2 | ||
env: | ||
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }} | ||
SLACK_TITLE: ':writing_hand: `automated-translations` PR updated: ${{ steps.sync.outputs.prTitle }}' | ||
SLACK_MESSAGE: '${{ steps.sync.outputs.prUrl }}' | ||
SLACK_ICON_EMOJI: ':github:' | ||
SLACK_USERNAME: GitHub | ||
#cor-skyux-notifications | ||
SLACK_CHANNEL: C01GY7ZP4HM | ||
SLACK_COLOR: ${{ job.status }} | ||
SLACK_FOOTER: 'Blackbaud Sky Build User' | ||
MSG_MINIMAL: 'true' | ||
|
||
- name: Notify Slack for fails | ||
if: ${{ failure() }} | ||
uses: rtCamp/action-slack-notify@v2 | ||
env: | ||
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }} | ||
SLACK_TITLE: ':writing_hand: :x: `automated-translations` sync failed' | ||
SLACK_MESSAGE: '${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}' | ||
SLACK_ICON_EMOJI: ':github:' | ||
SLACK_USERNAME: GitHub | ||
#cor-skyux-notifications | ||
SLACK_CHANNEL: C01GY7ZP4HM | ||
SLACK_COLOR: 'fail' | ||
SLACK_FOOTER: 'Blackbaud Sky Build User' | ||
MSG_MINIMAL: 'true' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
59 changes: 59 additions & 0 deletions
59
...de-examples/src/app/code-examples/layout/description-list/help-key/demo.component.spec.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
import { TestbedHarnessEnvironment } from '@angular/cdk/testing/testbed'; | ||
import { ComponentFixture, TestBed } from '@angular/core/testing'; | ||
import { NoopAnimationsModule } from '@angular/platform-browser/animations'; | ||
import { | ||
SkyHelpTestingController, | ||
SkyHelpTestingModule, | ||
} from '@skyux/core/testing'; | ||
import { SkyDescriptionListHarness } from '@skyux/layout/testing'; | ||
|
||
import { DemoComponent } from './demo.component'; | ||
|
||
describe('Help key description list', () => { | ||
async function setupTest( | ||
options: { | ||
dataSkyId?: string; | ||
} = {}, | ||
): Promise<{ | ||
descriptionListHarness: SkyDescriptionListHarness; | ||
fixture: ComponentFixture<DemoComponent>; | ||
helpController: SkyHelpTestingController; | ||
}> { | ||
await TestBed.configureTestingModule({ | ||
imports: [DemoComponent, SkyHelpTestingModule, NoopAnimationsModule], | ||
}).compileComponents(); | ||
|
||
const fixture = TestBed.createComponent(DemoComponent); | ||
const loader = TestbedHarnessEnvironment.documentRootLoader(fixture); | ||
const helpController = TestBed.inject(SkyHelpTestingController); | ||
|
||
const descriptionListHarness: SkyDescriptionListHarness = | ||
await loader.getHarness(SkyDescriptionListHarness); | ||
|
||
return { descriptionListHarness, fixture, helpController }; | ||
} | ||
|
||
it('should set up the component', async () => { | ||
const { descriptionListHarness, fixture, helpController } = | ||
await setupTest(); | ||
|
||
await expectAsync(descriptionListHarness.getMode()).toBeResolvedTo( | ||
'horizontal', | ||
); | ||
|
||
const content = await descriptionListHarness.getContent(); | ||
|
||
expect(content.length).toBe(4); | ||
|
||
await expectAsync(content[0].getTermText()).toBeResolvedTo('College'); | ||
await expectAsync(content[0].getDescriptionText()).toBeResolvedTo( | ||
'Humanities and Social Sciences', | ||
); | ||
|
||
await content[0].clickHelpInline(); | ||
fixture.detectChanges(); | ||
await fixture.whenStable(); | ||
|
||
helpController.expectCurrentHelpKey('college-help'); | ||
}); | ||
}); |
54 changes: 54 additions & 0 deletions
54
...-examples/src/app/code-examples/layout/description-list/horizontal/demo.component.spec.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
import { TestbedHarnessEnvironment } from '@angular/cdk/testing/testbed'; | ||
import { ComponentFixture, TestBed } from '@angular/core/testing'; | ||
import { NoopAnimationsModule } from '@angular/platform-browser/animations'; | ||
import { SkyHelpTestingModule } from '@skyux/core/testing'; | ||
import { SkyDescriptionListHarness } from '@skyux/layout/testing'; | ||
|
||
import { DemoComponent } from './demo.component'; | ||
|
||
describe('Horizontal description list', () => { | ||
async function setupTest( | ||
options: { | ||
dataSkyId?: string; | ||
} = {}, | ||
): Promise<{ | ||
descriptionListHarness: SkyDescriptionListHarness; | ||
fixture: ComponentFixture<DemoComponent>; | ||
}> { | ||
await TestBed.configureTestingModule({ | ||
imports: [DemoComponent, SkyHelpTestingModule, NoopAnimationsModule], | ||
}).compileComponents(); | ||
|
||
const fixture = TestBed.createComponent(DemoComponent); | ||
const loader = TestbedHarnessEnvironment.documentRootLoader(fixture); | ||
|
||
const descriptionListHarness: SkyDescriptionListHarness = | ||
await loader.getHarness(SkyDescriptionListHarness); | ||
|
||
return { descriptionListHarness, fixture }; | ||
} | ||
|
||
it('should set up the component', async () => { | ||
const { descriptionListHarness, fixture } = await setupTest(); | ||
|
||
await expectAsync(descriptionListHarness.getMode()).toBeResolvedTo( | ||
'horizontal', | ||
); | ||
|
||
const content = await descriptionListHarness.getContent(); | ||
|
||
expect(content.length).toBe(4); | ||
|
||
await expectAsync(content[0].getTermText()).toBeResolvedTo('College'); | ||
await expectAsync(content[0].getDescriptionText()).toBeResolvedTo( | ||
'Humanities and Social Sciences', | ||
); | ||
|
||
await content[2].clickHelpInline(); | ||
fixture.detectChanges(); | ||
await fixture.whenStable(); | ||
await expectAsync(content[2].getHelpPopoverContent()).toBeResolvedTo( | ||
'The faculty member who advises the student.', | ||
); | ||
}); | ||
}); |
54 changes: 54 additions & 0 deletions
54
...examples/src/app/code-examples/layout/description-list/inline-help/demo.component.spec.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
import { TestbedHarnessEnvironment } from '@angular/cdk/testing/testbed'; | ||
import { ComponentFixture, TestBed } from '@angular/core/testing'; | ||
import { NoopAnimationsModule } from '@angular/platform-browser/animations'; | ||
import { SkyHelpTestingModule } from '@skyux/core/testing'; | ||
import { SkyDescriptionListHarness } from '@skyux/layout/testing'; | ||
|
||
import { DemoComponent } from './demo.component'; | ||
|
||
describe('Horizontal description list', () => { | ||
async function setupTest( | ||
options: { | ||
dataSkyId?: string; | ||
} = {}, | ||
): Promise<{ | ||
descriptionListHarness: SkyDescriptionListHarness; | ||
fixture: ComponentFixture<DemoComponent>; | ||
}> { | ||
await TestBed.configureTestingModule({ | ||
imports: [DemoComponent, SkyHelpTestingModule, NoopAnimationsModule], | ||
}).compileComponents(); | ||
|
||
const fixture = TestBed.createComponent(DemoComponent); | ||
const loader = TestbedHarnessEnvironment.documentRootLoader(fixture); | ||
|
||
const descriptionListHarness: SkyDescriptionListHarness = | ||
await loader.getHarness(SkyDescriptionListHarness); | ||
|
||
return { descriptionListHarness, fixture }; | ||
} | ||
|
||
it('should set up the component', async () => { | ||
const { descriptionListHarness, fixture } = await setupTest(); | ||
|
||
await expectAsync(descriptionListHarness.getMode()).toBeResolvedTo( | ||
'horizontal', | ||
); | ||
|
||
const content = await descriptionListHarness.getContent(); | ||
|
||
expect(content.length).toBe(4); | ||
|
||
await expectAsync(content[0].getTermText()).toBeResolvedTo('College'); | ||
await expectAsync(content[0].getDescriptionText()).toBeResolvedTo( | ||
'Humanities and Social Sciences', | ||
); | ||
|
||
await content[2].clickHelpInline(); | ||
fixture.detectChanges(); | ||
await fixture.whenStable(); | ||
await expectAsync(content[2].getHelpPopoverContent()).toBeResolvedTo( | ||
'The faculty member who advises the student.', | ||
); | ||
}); | ||
}); |
Oops, something went wrong.