Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
96 commits
Select commit Hold shift + click to select a range
f2e95a8
fix(unity-react-core): card carousel updates
spaceperson Jun 30, 2026
14e5150
refactor: changelog merge conflict resolved
spaceperson Jun 30, 2026
1e2881a
chore(release): 1.38.2 [skip ci]
semantic-release-bot May 21, 2026
ba77dd3
refactor: changelog merge conflict
spaceperson Jun 30, 2026
6ef46a3
fix(unity-react-core): carousel typescript bug fixes
spaceperson Jul 1, 2026
d8f3019
chore(release): 3.2.0 [skip ci]
semantic-release-bot May 21, 2026
86a0255
chore(release): 1.4.3 [skip ci]
semantic-release-bot May 28, 2026
c070277
feat(unity-bootstrap-theme): added new header styles and stories
davidornelas11 Mar 13, 2026
26e32d6
fix(unity-bootstrap-theme): update header styles and stories
davidornelas11 Apr 3, 2026
ce0b61f
chore(release): 1.39.0 [skip ci]
semantic-release-bot May 28, 2026
81b9c25
fix(unity-bootstrap-theme): hero small CTA overflow at <768px viewports
juanmitriatti May 1, 2026
746ca79
fix(unity-bootstrap-theme): add bottom margin to hero-sm CTA for QA p…
juanmitriatti May 8, 2026
5acc1d0
chore(release): 1.39.1 [skip ci]
semantic-release-bot Jun 5, 2026
31b2ed5
chore(release): 1.39.2 [skip ci]
semantic-release-bot Jun 5, 2026
f89b52e
chore(release): 1.39.3 [skip ci]
semantic-release-bot Jun 5, 2026
f097a0e
chore(release): 1.11.1 [skip ci]
semantic-release-bot Jun 5, 2026
1066ad8
feat(app-rfi): add all parameters to datalayer for RFI module
scott-williams-az May 14, 2026
892dcbf
chore(app-rfi): remove console log
scott-williams-az May 22, 2026
05bf24f
chore(release): 3.10.0 [skip ci]
semantic-release-bot Jun 9, 2026
1b12e27
fix(anchor-menu): constrain sticky menu height in mobile landscape (W…
juanmitriatti May 15, 2026
84cc268
fix(unity-bootstrap-theme): target the actual sticky class on anchor …
juanmitriatti May 15, 2026
7f04fe6
refactor(anchor-menu): move sticky height cap from styled-component t…
juanmitriatti Jun 9, 2026
36c316c
chore(release): 1.39.4 [skip ci]
semantic-release-bot Jun 12, 2026
059605c
chore(release): 1.11.2 [skip ci]
semantic-release-bot Jun 12, 2026
a449e29
build(deps-dev): bump @vitest/browser from 4.1.6 to 4.1.8
dependabot[bot] Jun 15, 2026
060662b
build(deps-dev): bump dompurify from 3.4.5 to 3.4.9
dependabot[bot] Jun 15, 2026
65e9b1c
fix(unity-react-core): bumps @vitest/browser from 4.1.6 to 4.1.9
scott-williams-az Jun 18, 2026
f7ff07c
chore(release): 1.11.3 [skip ci]
semantic-release-bot Jun 18, 2026
2be274b
chore(release): 3.2.1 [skip ci]
semantic-release-bot Jun 18, 2026
993b426
chore(release): 3.10.1 [skip ci]
semantic-release-bot Jun 18, 2026
0e18c18
fix(unity-react-core): typescript warning and fixed missing nav butto…
spaceperson Jul 1, 2026
40eb0b4
fix(unity-bootstrap-theme): linting error bug fix on card-bodies.js
spaceperson Jul 1, 2026
0d87d97
fix(unity-bootstrap-theme): linting error bug fix
spaceperson Jul 1, 2026
e5df7a9
fix(component-header-footer): adjust layout add dropdown examples
scott-williams-az Jun 16, 2026
afff022
fix(component-header-footer): col divider bg fix
scott-williams-az Jun 18, 2026
089046a
fix(component-header-footer): col divider bg fix
scott-williams-az Jun 19, 2026
75c54e8
fix(component-header-footer): col divider bg fix
scott-williams-az Jun 19, 2026
5768cc4
fix(component-header-footer): col divider bg fix
scott-williams-az Jun 19, 2026
90bfa43
chore: minor pr changes
scott-williams-az Jun 27, 2026
3ccf11f
chore(release): 1.4.4 [skip ci]
semantic-release-bot Jul 1, 2026
a90763f
fix(unity-react-core): update or remove pkg to support react 19
scott-williams-az May 29, 2026
10503ac
fix(app-rfi): remove pkg to support react 19
scott-williams-az May 29, 2026
dc572e3
chore: minor pr changes
scott-williams-az Jun 9, 2026
fd5f132
chore: minor pr changes
scott-williams-az Jun 27, 2026
012022c
chore(release): 1.11.4 [skip ci]
semantic-release-bot Jul 1, 2026
18aa6e8
chore(release): 3.10.2 [skip ci]
semantic-release-bot Jul 1, 2026
d6bd952
fix(app-webdir-ui): fix wrong search input size on search page
davidornelas11 May 19, 2026
da1513b
chore(release): 5.0.15 [skip ci]
semantic-release-bot Jul 6, 2026
dbbf7c2
fix(component-header-footer): fix arbitrary timeout in header submit …
davidornelas11 Jun 4, 2026
742dc23
Update comment for fallback submission in Search component
davidornelas11 Jun 26, 2026
57e1c60
chore: fix merge conflict
scott-williams-az Jul 6, 2026
73b466d
chore(release): 1.4.5 [skip ci]
semantic-release-bot Jul 6, 2026
cb47c27
build(deps-dev): bump vite from 6.4.2 to 6.4.3
dependabot[bot] Jun 25, 2026
e117027
fix(app-degree-pages): degree links point to degree search degree pages
oatkar Jul 1, 2026
7377514
fix(app-degree-pages): use DOMAIN_URL constant here
oatkar Jul 2, 2026
3e38302
fix(app-degree-pages): render plain text instead of empty link for ed…
oatkar Jul 2, 2026
8517fc6
chore(release): 3.2.2 [skip ci]
semantic-release-bot Jul 7, 2026
0c6e6cc
fix(anchor-menu): keep sticky menu keyboard-reachable at 200% zoom
juanmitriatti Jun 9, 2026
f97fb18
chore(release): 1.39.5 [skip ci]
semantic-release-bot Jul 7, 2026
5251238
chore(pipeline): add project-local adversarial coding pipeline (Stage…
mlsamuelson Jun 26, 2026
4e9a40e
fix(pipeline): make steering resource path agent-dir-relative
mlsamuelson Jun 29, 2026
2ea27e9
docs(pipeline): note JSDoc catharsis type syntax in unity-components …
mlsamuelson Jun 29, 2026
17316ca
chore(pipeline): use env-var references for Atlassian usernames
mlsamuelson Jun 29, 2026
b2f1b1e
feat(pipeline): retain .pipeline reports (archive + Jira) and add han…
mlsamuelson Jul 1, 2026
e143587
refactor: changelog merge conflict resolved
spaceperson Jun 30, 2026
42242bf
chore(release): 1.38.2 [skip ci]
semantic-release-bot May 21, 2026
f064e73
refactor: changelog merge conflict
spaceperson Jun 30, 2026
ddd34cd
chore(release): 1.4.3 [skip ci]
semantic-release-bot May 28, 2026
9b21d23
chore(release): 3.10.0 [skip ci]
semantic-release-bot Jun 9, 2026
f01b6d8
chore(release): 3.2.1 [skip ci]
semantic-release-bot Jun 18, 2026
6123881
Merge branch 'dev' into uds02-2144
spaceperson Jul 9, 2026
a8fe5aa
feat(component-events): expose configurable noFeedText prop
juanmitriatti Jun 16, 2026
6cc8fc9
chore(component-events): drop manual version bump and changelog entry
juanmitriatti Jul 8, 2026
4914bb3
fix(component-events): fall back to default noFeedText when blank
juanmitriatti Jul 8, 2026
33e81da
chore(release): 3.2.0 [skip ci]
semantic-release-bot Jul 14, 2026
8e0af5f
fix(unity-bootstrap-theme): keep hero CTA inside the hero box below m…
juanmitriatti Jul 10, 2026
7172fe7
chore(release): 1.39.6 [skip ci]
semantic-release-bot Jul 14, 2026
2fcb2ef
fix(unity-bootstrap-theme): add bottom spacing to hero-sm title when …
juanmitriatti Jul 12, 2026
06b537d
chore(release): 1.39.7 [skip ci]
semantic-release-bot Jul 14, 2026
1f1ce30
refactor: changelog merge conflict resolved
spaceperson Jun 30, 2026
696a334
chore(release): 1.38.2 [skip ci]
semantic-release-bot May 21, 2026
47be66b
chore(release): 3.2.0 [skip ci]
semantic-release-bot May 21, 2026
21cc3b3
chore(release): 3.2.1 [skip ci]
semantic-release-bot Jun 18, 2026
2458698
fix(component-header-footer): col divider bg fix
scott-williams-az Jun 18, 2026
0ef12ec
fix(component-header-footer): col divider bg fix
scott-williams-az Jun 19, 2026
9302d73
fix(component-header-footer): col divider bg fix
scott-williams-az Jun 19, 2026
b9aca72
fix(unity-react-core): update or remove pkg to support react 19
scott-williams-az May 29, 2026
034f716
chore: minor pr changes
scott-williams-az Jun 9, 2026
fec6118
fix(component-header-footer): fix arbitrary timeout in header submit …
davidornelas11 Jun 4, 2026
2d44f51
fix(app-degree-pages): degree links point to degree search degree pages
oatkar Jul 1, 2026
c5bb25c
fix(app-degree-pages): render plain text instead of empty link for ed…
oatkar Jul 2, 2026
9d0a7e7
chore(release): 3.2.2 [skip ci]
semantic-release-bot Jul 7, 2026
d5621a6
chore(pipeline): add project-local adversarial coding pipeline (Stage…
mlsamuelson Jun 26, 2026
9e22658
feat(pipeline): retain .pipeline reports (archive + Jira) and add han…
mlsamuelson Jul 1, 2026
39cb96f
chore(release): 3.2.1 [skip ci]
semantic-release-bot Jun 18, 2026
239833f
Merge branch 'dev' into uds02-2144
spaceperson Jul 17, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions .kiro/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,7 @@ stage. Seeded once from `ddt-agent-skills-library-foundry` and owned here.
```bash
export JIRA_API_TOKEN=... # Jira/Confluence API token
export CONFLUENCE_API_TOKEN=... # (same token is fine)
export JIRA_USERNAME="you@asu.edu" # Atlassian account; also used by the Jira v3 REST fallback
export CONFLUENCE_USERNAME="you@asu.edu" # usually the same as JIRA_USERNAME
export JIRA_USER="you@asu.edu" # used by the Jira v3 REST fallback
# Unity package install auth (one of):
export GITHUB_AUTH_TOKEN=... # GitHub Package Registry token for @asu packages
# …or create .env.yarn with GITHUB_AUTH_TOKEN=... (see .env.yarn.example)
Expand Down
2 changes: 1 addition & 1 deletion .kiro/agents/acp-architect.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
"tools": ["fs_read", "fs_write", "execute_bash", "grep", "glob", "code"],
"allowedTools": ["fs_read", "grep", "glob", "code"],
"resources": [
"file://../steering/**/*.md",
"file://.kiro/steering/**/*.md",
"skill://.kiro/skills/office-hours/SKILL.md",
"skill://.kiro/skills/architecture-lock/SKILL.md",
"skill://.kiro/skills/jira-figma-intake/SKILL.md",
Expand Down
2 changes: 1 addition & 1 deletion .kiro/agents/acp-coder.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
"tools": ["fs_read", "fs_write", "execute_bash", "grep", "glob", "code"],
"allowedTools": ["fs_read", "grep", "glob", "code", "execute_bash"],
"resources": [
"file://../steering/**/*.md",
"file://.kiro/steering/**/*.md",
"skill://.kiro/skills/tdd-red-green/SKILL.md",
"skill://.kiro/skills/review-fix-loop/SKILL.md",
"skill://.kiro/skills/unity-components/SKILL.md",
Expand Down
2 changes: 1 addition & 1 deletion .kiro/agents/acp-orchestrator.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
}
},
"resources": [
"file://../steering/**/*.md",
"file://.kiro/steering/**/*.md",
"skill://.kiro/skills/adversarial-coding-pipeline/SKILL.md",
"skill://.kiro/skills/jira-figma-intake/SKILL.md",
"skill://.kiro/skills/unity-handoff-out/SKILL.md"
Expand Down
2 changes: 1 addition & 1 deletion .kiro/agents/acp-reviewer.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
"tools": ["fs_read", "execute_bash", "grep", "glob", "code"],
"allowedTools": ["fs_read", "grep", "glob", "code", "execute_bash"],
"resources": [
"file://../steering/**/*.md",
"file://.kiro/steering/**/*.md",
"skill://.kiro/skills/spec-compliance/SKILL.md",
"skill://.kiro/skills/adversarial-review/SKILL.md",
"skill://.kiro/skills/code-quality/SKILL.md",
Expand Down
2 changes: 1 addition & 1 deletion .kiro/agents/acp-visual.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
}
},
"resources": [
"file://../steering/**/*.md",
"file://.kiro/steering/**/*.md",
"skill://.kiro/skills/visual-diff/SKILL.md",
"skill://.kiro/skills/asu-brand/SKILL.md",
"skill://.kiro/skills/unity-components/SKILL.md",
Expand Down
4 changes: 2 additions & 2 deletions .kiro/settings/mcp.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@
"args": ["mcp-atlassian", "--read-only"],
"env": {
"JIRA_URL": "https://asudev.jira.com",
"JIRA_USERNAME": "$JIRA_USERNAME",
"JIRA_USERNAME": "mlsamuel@asu.edu",
"JIRA_API_TOKEN": "$JIRA_API_TOKEN",
"CONFLUENCE_URL": "https://asudev.jira.com/wiki",
"CONFLUENCE_USERNAME": "$CONFLUENCE_USERNAME",
"CONFLUENCE_USERNAME": "mlsamuel@asu.edu",
"CONFLUENCE_API_TOKEN": "$CONFLUENCE_API_TOKEN",
"READ_ONLY_MODE": "true"
}
Expand Down
18 changes: 0 additions & 18 deletions .kiro/skills/architecture-lock/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,24 +52,6 @@ Auth/authz requirements, input validation boundaries, data exposure risks, trust
### 7. Performance Considerations
Expected load, bottleneck analysis, caching strategy, resource limits.

### 8. Behavioral Matrix (Interactive Components)

For components with user interaction (carousels, tabs, accordions, card stacks, etc.), define:

| User Action | Current State | Next State | Visual Change | Animation |
|-------------|---------------|------------|---------------|-----------||
| Click card N | Card M active | Card N active | Card N moves to front | translateX transitions |
| ArrowLeft | Card N active | Card N-1 active (clamped) | Previous card moves to front | 0.3s ease-out |
| ArrowRight | Card N active | Card N+1 active (clamped) | Next card moves to front | 0.3s ease-out |

**Positioning Formula** (for fanned/stacked layouts):
- `offset = index - activeIndex`
- `translateX = offset * spacing` (e.g., 60px)
- `rotation = offset * angle` (e.g., 8deg)
- `zIndex = totalCards - Math.abs(offset)`

This prevents ambiguity in implementation — the coder should not have to guess behavioral intent.

## Lock Protocol

1. Present design document to human for approval
Expand Down
27 changes: 0 additions & 27 deletions .kiro/skills/asu-design-a11y/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -78,33 +78,6 @@ Prefer native HTML over ARIA; add ARIA only when necessary.
People-first, respectful language in all user-facing text; follow ASU Inclusion
guidelines. No stereotypes about ability/cognition/experience.

## Accessibility Requirements Template (for Design Doc)

The architect MUST include this section in `.pipeline/design-doc.md` for any interactive component:

```markdown
## Accessibility Requirements

### Keyboard Navigation
- Tab order: [describe which elements receive focus in what order]
- Arrow keys: [what ArrowLeft/Right/Up/Down do when focused]
- Enter/Space: [activation behavior]
- Escape: [dismiss behavior if applicable]

### Focus Management
- Pattern: [roving tabindex / aria-activedescendant / standard]
- Focus moves to: [where focus goes after interaction]

### Screen Reader
- Live region: [what is announced on state change]
- Labels: [aria-label pattern for each interactive element]

### Motion
- Reduced motion: [how component adapts to prefers-reduced-motion]
```

Failure to specify these leads to implementation guesswork and review rework.

## Pre-delivery checklist (verify explicitly)

Landmarks + one `h1`; keyboard operable + visible focus + no traps + skip link;
Expand Down
20 changes: 0 additions & 20 deletions .kiro/skills/code-quality/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,26 +43,6 @@ Evaluate structural quality, maintainability, and engineering standards.
- Could a function parameter, adapter, fake, or temp resource be simpler than a new interface?
- Do tests verify observable behavior rather than implementation choreography?

### 8. CSS Invariants

For components with critical layout properties, verify:

- **Position dependencies documented**: If `position: absolute` is required for stacking, a comment explains why and warns against removal.
- **No conflicting properties**: Adding `display: flex` to an absolutely positioned element can break layout.
- **Invariant comments**: Critical CSS should have:
```css
/* INVARIANT: position: absolute required for z-index stacking.
Do not change to relative or remove without updating JS transforms. */
.card {
position: absolute;
}
```

### CSS Invariant Checklist
- [ ] Critical positioning properties have invariant comments
- [ ] No conflicting display/position combinations introduced
- [ ] Changes to layout CSS verified visually before commit

## Output Format

```
Expand Down
4 changes: 2 additions & 2 deletions .kiro/skills/jira-figma-intake/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,9 +35,9 @@ Fetch the **specific issue by key** — do not rely on search.
unreliable and can silently return empty — an empty result is NOT proof of
"no match". If a by-key fetch comes back empty or errors, fall back to the
Jira v3 REST API by key:
`curl -s -u "$JIRA_USERNAME:$JIRA_API_TOKEN" -H "Accept: application/json" \
`curl -s -u "$JIRA_USER:$JIRA_API_TOKEN" -H "Accept: application/json" \
"https://asudev.jira.com/rest/api/3/issue/<KEY>?fields=summary,description,issuetype,status,labels"`
(`JIRA_USERNAME` / `JIRA_API_TOKEN` come from the environment — never hardcode
(`JIRA_USER` / `JIRA_API_TOKEN` come from the environment — never hardcode
credentials in this repo.)

## Figma intake (Dev Mode MCP)
Expand Down
36 changes: 0 additions & 36 deletions .kiro/skills/qa-verification/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,42 +25,6 @@ If a full suite is too slow or unavailable, report: command not run, reason, ris
2. Did any previously passing tests break (regressions)?
3. Do error conditions produce correct results?

## Browser Interaction Testing (Interactive Components)

For components with user interaction, QA verification includes browser-based testing via Chrome DevTools MCP or agent-browser:

### Required Verifications

1. **Click Navigation**
- Click each interactive element
- Screenshot each resulting state
- Verify state matches Behavioral Matrix from design doc

2. **Keyboard Navigation**
- Tab into component, verify focus lands correctly
- ArrowLeft/Right through all items
- Verify focus ring visible on active element
- Tab out, verify exit to correct element

3. **Mobile/Touch**
- Resize to 375×667 (iPhone SE)
- Verify layout adapts (scroll vs stack)
- Test swipe gestures if applicable

4. **Accessibility Audit**
- Run `mcp_chrome_devtoo_lighthouse_audit` with mode="snapshot"
- Verify Accessibility score ≥ 95 (ideally 100)
- Document any issues

### Evidence Required
```
## Browser Interaction Results
- Click navigation: [PASS/FAIL with screenshot paths]
- Keyboard navigation: [PASS/FAIL with test sequence]
- Mobile layout: [PASS/FAIL at 375px]
- Lighthouse a11y: [score]
```

## Output

PASS or FAIL with specific test results and evidence.
Expand Down
14 changes: 1 addition & 13 deletions .kiro/skills/unity-components/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -80,21 +80,9 @@ present? Can interactive states be reproduced by toggling classes?"
- Preserve `trackGAEvent` / `GaEventWrapper` (push to `window.dataLayer`) when
editing existing components.

### JSDoc types must be catharsis-parseable (docs build gotcha)

`yarn build` runs a `docs` target (`jsdoc-to-markdown`) across packages. JSDoc
`@property`/`@param`/`@typedef` **type expressions** must use JSDoc/catharsis
syntax, NOT TypeScript arrow types. A TS callback type like
`{(index: number, paneData: Pane) => void}` fails the docs build with
`JSDOC_ERROR: Unable to parse a tag's type expression`. Use either:
- closure style: `{function(number, Pane): void}`, or
- a `@callback` typedef referenced by name.
This applies to shared `*-types.js` files even under `// @ts-check`.

## Validators (run before reporting done)

- `yarn build` — builds packages (also runs lint **and the `docs` target**).
`unity-react-core` builds first. Watch for `JSDOC_ERROR` from bad type syntax.
- `yarn build` — builds packages (also runs lint). `unity-react-core` builds first.
- `yarn eslint` / `yarn stylelint` for the package.
- `run-story-tests` (Storybook MCP) — interaction + a11y.
- HTML-parity: confirm the HTML-addon snapshot matches the React render.
13 changes: 0 additions & 13 deletions .kiro/skills/visual-diff/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,19 +15,6 @@ spec/QA (that is the structural reviewer's job).
(Figma Dev Mode MCP, if available).
- Intended tokens — `.pipeline/design-doc.md` + the `asu-brand` skill.

## Pre-Implementation Visual Analysis (Optional)

Before code is written, the visual agent can analyze `.intake/` references to extract positioning constraints for the architect:

1. **Identify layout pattern**: grid, flex, absolute positioning, stacking
2. **Measure spacing**: card gaps, offsets, rotations from reference
3. **Document states**: which visual states are shown (active, hover, stacked)
4. **Extract formulas**: "cards appear to fan with ~60px horizontal offset and ~8° rotation per index"

Output to `.pipeline/visual-analysis.md` for architect to incorporate into the Behavioral Matrix.

This reduces "it doesn't look like the design" rework after implementation.

## Capture the build (agent-browser)

`agent-browser` drives Chrome via CDP. Install: `npm i -g agent-browser` then
Expand Down
9 changes: 1 addition & 8 deletions packages/app-degree-pages/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,11 @@
# [@asu/app-degree-pages-v3.2.2](https://github.com/asu/asu-unity-stack/compare/@asu/app-degree-pages-v3.2.1...@asu/app-degree-pages-v3.2.2) (2026-07-07)

# [@asu/app-degree-pages-v3.2.1](https://github.com/asu/asu-unity-stack/compare/@asu/app-degree-pages-v3.2.0...@asu/app-degree-pages-v3.2.1) (2026-06-18)

### Bug Fixes

* **app-degree-pages:** degree links point to degree search degree pages ([dd2e9b6](https://github.com/asu/asu-unity-stack/commit/dd2e9b6348db4537584b30e744252186065d09bf))
* **app-degree-pages:** render plain text instead of empty link for edge case degrees ([944cd7b](https://github.com/asu/asu-unity-stack/commit/944cd7b6efad91da32ee11522083da8a1305c4af))
* **app-degree-pages:** use DOMAIN_URL constant here ([c158f99](https://github.com/asu/asu-unity-stack/commit/c158f999c48f515172aca150465e7abe3bbb4cf4))

# [@asu/app-degree-pages-v3.2.1](https://github.com/asu/asu-unity-stack/compare/@asu/app-degree-pages-v3.2.0...@asu/app-degree-pages-v3.2.1) (2026-06-18)


### Bug Fixes

* **app-degree-pages:** bumps @vitest/browser from 4.1.6 to 4.1.9 ([e3ae108](https://github.com/asu/asu-unity-stack/commit/e3ae1087d3edb84ee7451e74aab8845847700c84))

# [@asu/app-degree-pages-v3.2.0](https://github.com/asu/asu-unity-stack/compare/@asu/app-degree-pages-v3.1.5...@asu/app-degree-pages-v3.2.0) (2026-05-21)

Expand Down
26 changes: 0 additions & 26 deletions packages/component-header-footer/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,29 +1,3 @@
# [@asu/component-header-footer-v1.4.5](https://github.com/asu/asu-unity-stack/compare/@asu/component-header-footer-v1.4.4...@asu/component-header-footer-v1.4.5) (2026-07-06)


### Bug Fixes

* **component-header-footer:** fix arbitrary timeout in header submit function ([05367b9](https://github.com/asu/asu-unity-stack/commit/05367b98afaab13c8e88f460816f47c88071f962))

# [@asu/component-header-footer-v1.4.4](https://github.com/asu/asu-unity-stack/compare/@asu/component-header-footer-v1.4.3...@asu/component-header-footer-v1.4.4) (2026-07-01)


### Bug Fixes

* **component-header-footer:** adjust layout add dropdown examples ([07b980c](https://github.com/asu/asu-unity-stack/commit/07b980cdeef62e97669567b604960e06dffd6467))
* **component-header-footer:** col divider bg fix ([cbc8216](https://github.com/asu/asu-unity-stack/commit/cbc82164b8be4b7561f1c0eb5861040e23b4b6ea))
* **component-header-footer:** col divider bg fix ([85b69be](https://github.com/asu/asu-unity-stack/commit/85b69be51fec920106251dfc15d26a8ce20f53ba))
* **component-header-footer:** col divider bg fix ([4dbe1ac](https://github.com/asu/asu-unity-stack/commit/4dbe1ac1a3814be49187b87238e40e5b35b029b6))
* **component-header-footer:** col divider bg fix ([ffd1bef](https://github.com/asu/asu-unity-stack/commit/ffd1bef442043a6979b99e6d0ee32894c578a5c4))

# [@asu/component-header-footer-v1.4.3](https://github.com/asu/asu-unity-stack/compare/@asu/component-header-footer-v1.4.2...@asu/component-header-footer-v1.4.3) (2026-05-28)


### Bug Fixes

* **component-header-footer:** check undefined ([401b606](https://github.com/asu/asu-unity-stack/commit/401b606413eaf8f150cc4c0be7a0dae0f0d204e1))
* **component-header-footer:** fix animated header option ([267968e](https://github.com/asu/asu-unity-stack/commit/267968e21fed4285c455ec0ad7604f0b571bd72f))

# [@asu/component-header-footer-v1.4.2](https://github.com/asu/asu-unity-stack/compare/@asu/component-header-footer-v1.4.1...@asu/component-header-footer-v1.4.2) (2026-05-21)


Expand Down
2 changes: 1 addition & 1 deletion packages/component-header-footer/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@asu/component-header-footer",
"version": "1.4.5",
"version": "1.4.2",
"description": "ASU Global Header and Footer",
"main": "./dist/asuHeaderFooter.cjs.js",
"browser": "./dist/asuHeaderFooter.umd.js",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ const Search = () => {

// Fallback: always submit within 2s regardless of GTM state. Useful for
// cases where GTM fails to load or execute for any reason, or if the user
// has blocked GTM. This will only be called if there are any adblockers or analytics blockers.
// has blocked GTM.
setTimeout(submit, 2000);

trackGAEvent({
Expand Down

This file was deleted.

8 changes: 6 additions & 2 deletions packages/unity-bootstrap-theme/src/js/card-bodies.js
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ function initCardBodies() {

cardBodies.forEach((cardBody, index) => {
const paragraph = cardBody.querySelector("div p");
const originalText = paragraph.textContent;
const originalText = paragraph?.textContent ?? "";
const style = window.getComputedStyle(cardBody);

// Get the number of lines allowed (line clamp), usually set via CSS like -webkit-line-clamp
Expand All @@ -44,7 +44,11 @@ function initCardBodies() {
const maxHeight = lineClamp * actualLineHeight;

// Check if the paragraph exceeds the maximum allowed height
if (paragraph.offsetHeight >= maxHeight) {
if (
paragraph &&
paragraph.offsetHeight &&
paragraph.offsetHeight >= maxHeight
) {
let visibleText = "";
const words = originalText.split(" ");
let visibleWordCount = 0;
Expand Down
2 changes: 1 addition & 1 deletion packages/unity-react-core/.storybook/decorators.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ export const withContainer: Decorator = (
window.unloading = true; // variable to prevent calling mount function before the page is reloaded

// adding this timeout allows controls time to update
setTimeout(()=>{window.location.reload()}, 100);
setTimeout(()=>{window.location.reload()}, 500);
}
}

Expand Down
Loading