* chore: upgrade maintenance scripts to robust PyYAML parsing - Replaces fragile regex frontmatter parsing with PyYAML/yaml library - Ensures multi-line descriptions and complex characters are handled safely - Normalizes quoting and field ordering across all maintenance scripts - Updates validator to strictly enforce description quality * fix: restore and refine truncated skill descriptions - Recovered 223+ truncated descriptions from git history (6.5.0 regression) - Refined long descriptions into concise, complete sentences (<200 chars) - Added missing descriptions for brainstorming and orchestration skills - Manually fixed imagen skill description - Resolved dangling links in competitor-alternatives skill * chore: sync generated registry files and document fixes - Regenerated skills index with normalized forward-slash paths - Updated README and CATALOG to reflect restored descriptions - Documented restoration and script improvements in CHANGELOG.md * fix: restore missing skill and align metadata for full 955 count - Renamed SKILL.MD to SKILL.md in andruia-skill-smith to ensure indexing - Fixed risk level and missing section in andruia-skill-smith - Synchronized all registry files for final 955 skill count * chore(scripts): add cross-platform runners and hermetic test orchestration * fix(scripts): harden utf-8 output and clone target writeability * fix(skills): add missing date metadata for strict validation * chore(index): sync generated metadata dates * fix(catalog): normalize skill paths to prevent CI drift * chore: sync generated registry files * fix: enforce LF line endings for generated registry files
73 lines
3.8 KiB
Markdown
73 lines
3.8 KiB
Markdown
---
|
|
name: hig-components-dialogs
|
|
description: Apple HIG guidance for presentation components including alerts, action sheets, popovers, sheets, and digit entry views.
|
|
risk: unknown
|
|
source: community
|
|
date_added: '2026-02-27'
|
|
---
|
|
|
|
# Apple HIG: Presentation Components
|
|
|
|
Check for `.claude/apple-design-context.md` before asking questions. Use existing context and only ask for information not already covered.
|
|
|
|
## Key Principles
|
|
|
|
1. **Alerts: sparingly, for critical situations.** Errors needing attention, destructive action confirmations, or information requiring acknowledgment. They interrupt flow and demand a response.
|
|
|
|
2. **Sheets: focused tasks that maintain context.** Slides in from the edge (or attaches to a window on macOS). Use for creating items, editing settings, multi-step forms.
|
|
|
|
3. **Popovers: non-modal on iPad and Mac.** Appear next to the trigger element, dismissed by tapping outside. For additional information, options, or controls without taking over the screen.
|
|
|
|
4. **Action sheets: choosing among actions.** Present when picking from multiple actions, especially if one is destructive. iPhone: slide up from bottom. iPad: appear as popovers.
|
|
|
|
5. **Minimize interruptions.** Before reaching for a modal, consider inline presentation or making the action undoable instead.
|
|
|
|
6. **Concise, actionable alert text.** Short descriptive title. Brief message body if needed. Button labels should be specific verbs ("Delete", "Save"), not "OK".
|
|
|
|
7. **Mark destructive actions clearly.** Destructive button style (red text). Place destructive buttons where users are less likely to tap reflexively.
|
|
|
|
8. **Provide a cancel option** for alerts and action sheets with multiple actions. On action sheets, cancel appears at the bottom, separated.
|
|
|
|
9. **Digit entry: focused and accessible.** Appropriately sized input fields, automatic advancement between digits, support for paste and autofill.
|
|
|
|
10. **Adapt presentation to platform.** The same interaction may use different components on iPhone, iPad, Mac, and visionOS.
|
|
|
|
## Reference Index
|
|
|
|
| Reference | Topic | Key content |
|
|
|---|---|---|
|
|
| [alerts.md](references/alerts.md) | Alerts | Button ordering, title/message text, confirmation, destructive actions |
|
|
| [action-sheets.md](references/action-sheets.md) | Action sheets | Multiple actions, cancel option, destructive handling |
|
|
| [popovers.md](references/popovers.md) | Popovers | Non-modal, dismiss on tap outside, iPad/Mac |
|
|
| [sheets.md](references/sheets.md) | Sheets | Modal task, context preservation |
|
|
| [digit-entry-views.md](references/digit-entry-views.md) | Digit entry | PIN input, autofill, auto-advance |
|
|
|
|
## Output Format
|
|
|
|
1. **Recommended presentation type with rationale** and why alternatives are less suitable.
|
|
2. **Content guidelines** -- title, message, button labels per Apple's tone and brevity rules.
|
|
3. **Dismiss behavior** -- how the user dismisses and what happens (save, discard, cancel).
|
|
4. **Alternatives** -- when the scenario might not need a modal at all (inline feedback, undo, progressive disclosure).
|
|
|
|
## Questions to Ask
|
|
|
|
1. What information or action does the presentation need?
|
|
2. Blocking or non-blocking?
|
|
3. Which platforms?
|
|
4. How often does this appear?
|
|
|
|
## Related Skills
|
|
|
|
- **hig-components-menus** -- Buttons and toolbar items triggering presentations
|
|
- **hig-components-controls** -- Input controls within sheets and popovers
|
|
- **hig-components-search** -- Search and navigation within presented views
|
|
- **hig-patterns** -- Modality, interruptions, user flow management
|
|
- **hig-foundations** -- Color, typography, layout for presentation components
|
|
|
|
---
|
|
|
|
*Built by [Raintree Technology](https://raintree.technology) · [More developer tools](https://raintree.technology)*
|
|
|
|
## When to Use
|
|
This skill is applicable to execute the workflow or actions described in the overview.
|