* feat(icons): add aspect-ratio
Adds an aspect-ratio icon: a frame with two opposing corner brackets,
depicting the proportions of a frame rather than the frame itself.
Distinct from ratio, which is two overlapping rects showing portrait and
landscape orientation, and from the scan / minimize / maximize family,
which use four corner brackets rather than two.
* feat(icons): rename aspect-ratio to square-dimensions
Per review on #4547 (@karsa-mistmere, @ericfennis): the primary shape is
a square, so it takes the square-<x> name, and square-dimensions reads
more naturally for setting width/height than the ratio-specific
aspect-ratio. Retunes tags and use-cases toward size/dimensions.
* Update icons/square-dimensions.json
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* Update icons/square-dimensions.json
---------
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Karsa <contact@karsa.org>
* feat(icons): add square-text
Adds square-text: a solid square containing three ragged lines of text.
The set has square-dashed-text but no solid-border equivalent, which is
the same asymmetry solid/dashed pairs elsewhere avoid. This reuses
square-dashed-text's exact text glyph (M7 8h8 / M7 12h10 / M7 16h6) on the
standard 18x18 rx=2 square, so it reads as the solid twin.
Distinct from square-menu, whose lines are equal full-width (a menu, not
running text).
* chore(icons): expand square-text tags and fill use-cases
Applies the metadata bot's tag suggestions (curated) and fills the
use-cases field.
* chore(icons): promote lab/text-square to square-text
Per review on #4609: square-text is identical to lab/text-square, so
this removes the lab entry and merges its metadata (tags + development
category) into the promoted icon.
* chore(icons): credit danielbayley and expand square-text use-cases
Per review on #4609: adds @danielbayley (original author of lab/text-square)
to contributors, and expands use-cases per @ericfennis.
* feat(icons): add angle
Adds an angle icon: two rays meeting at a vertex with an arc marking the
angle between them. There is no icon for an angle or degree measurement
in the set today.
The arc is r=10 centred on the vertex at (3,21), so its endpoints land
exactly on the two rays rather than floating near them. The rays reuse
the 2px rounded corner used throughout the set.
* Apply suggestion from @github-actions[bot]
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* Apply suggestion from @github-actions[bot]
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
---------
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* feat(icons): add layout-freeform
Adds an icon for freeform layout: three blocks, no two sharing an edge.
It matches the "no auto layout" / free positioning mode found in design
tools, as the counterpart to constrained layout modes.
Design notes:
- Reuses the 7x7 rx=1 block already shared by layout-grid, layout-list
and layout-panel-*, rather than introducing a new base shape.
- Each block is offset so that no two share an edge, which is what
separates it from layout-grid.
- The offset is 1px: a 2px offset reads more clearly at 16px, but brings
the top-right and bottom-left blocks within 1.66px of each other
diagonally, under the 2px element spacing guideline. See the PR for the
alternatives.
* Update icons/layout-freeform.json
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
---------
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* feat(icons): replaces `podcast` icon with new `mic-*` icons
* fix(icons): change contributors, since these are now essentially brand new icons
* fix(prettier): remove path fill from allowed SVG element attributes
* feat(ci): added custom prettier plugin for icon SVG files
* feat(ci): added custom prettier plugin for icon SVG files
* feat(ci): replace prettier plugin implementation with one based on svgo
* fix(ci): fix linting issues in prettier plugin
* Allow fill in path to fix podcast icon
* Format code
---------
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
* feat(icons): add scan-square
Adds scan-square: a scanning frame with a square detected inside it.
The scan-* family covers what is being detected — scan-face, scan-heart,
scan-text, scan-eye, scan-barcode, scan-qr-code, scan-search, scan-line —
but has nothing for a plain shape or object.
Composed entirely from two existing icons rather than new geometry: the
four corner brackets are scan's, verbatim, and the inner block is
square-square's rect(8,8,8,8) rx=1, verbatim. Nothing here is drawn from
scratch, so it sits in the family without introducing a new vocabulary.
* chore(icons): fill scan-square use-cases and fix recognise/recognize tags
Addresses review on #4550: fills the use-cases field per @ericfennis, and
collapses the duplicate recognise/recognize tags into a single
recognition tag, matching scan-text's vocabulary per @Copilot.
* Update icons/scan-square.json
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* Update icons/scan-square.json
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
---------
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Karsa <contact@karsa.org>
* Remove toBeRemovedInVersion from icons and make optional in schema
* fix(build-icons): align alias deprecation type with schema optional removal version
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>