@ultimat3/ui 1.1.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CATALOG.md +107 -1
- package/CLAUDE.md +68 -0
- package/README.md +110 -10
- package/package.json +10 -7
- package/src/a11y.ts +10 -2
- package/src/components/Accordion.module.scss +59 -0
- package/src/components/Accordion.tsx +63 -0
- package/src/components/Avatar.tsx +9 -1
- package/src/components/Breadcrumb.tsx +2 -1
- package/src/components/Combobox.module.scss +62 -0
- package/src/components/Combobox.tsx +111 -0
- package/src/components/Dropzone.module.scss +73 -0
- package/src/components/Dropzone.tsx +108 -0
- package/src/components/ErrorState.tsx +10 -3
- package/src/components/FileInput.module.scss +91 -0
- package/src/components/FileInput.tsx +82 -0
- package/src/components/Icon.module.scss +29 -0
- package/src/components/Icon.tsx +72 -0
- package/src/components/InfiniteScroll.module.scss +43 -0
- package/src/components/InfiniteScroll.tsx +92 -0
- package/src/components/Link.tsx +8 -2
- package/src/components/Select.tsx +14 -3
- package/src/components/Textarea.tsx +10 -2
- package/src/components/accordion-view.ts +32 -0
- package/src/components/combobox-filter.ts +50 -0
- package/src/components/date-time-view.ts +11 -0
- package/src/components/file-input-view.ts +102 -0
- package/src/components/icon-glyph.ts +74 -0
- package/src/components/infinite-scroll-view.ts +30 -0
- package/src/components/link-target.ts +23 -0
- package/src/debounce.ts +55 -0
- package/src/errors.ts +36 -4
- package/src/global.scss +2 -0
- package/src/i18n-keys.ts +13 -2
- package/src/icons/LICENSE.lucide +43 -0
- package/src/icons/build-icons.ts +126 -0
- package/src/icons/glyphs/a-arrow-down.ts +11 -0
- package/src/icons/glyphs/a-arrow-up.ts +11 -0
- package/src/icons/glyphs/a-large-small.ts +11 -0
- package/src/icons/glyphs/accessibility.ts +12 -0
- package/src/icons/glyphs/activity.ts +13 -0
- package/src/icons/glyphs/ad.ts +16 -0
- package/src/icons/glyphs/air-vent.ts +11 -0
- package/src/icons/glyphs/airplay.ts +9 -0
- package/src/icons/glyphs/alarm-clock-check.ts +13 -0
- package/src/icons/glyphs/alarm-clock-minus.ts +13 -0
- package/src/icons/glyphs/alarm-clock-off.ts +13 -0
- package/src/icons/glyphs/alarm-clock-plus.ts +14 -0
- package/src/icons/glyphs/alarm-clock.ts +13 -0
- package/src/icons/glyphs/alarm-smoke.ts +12 -0
- package/src/icons/glyphs/album.ts +9 -0
- package/src/icons/glyphs/align-center-horizontal.ts +12 -0
- package/src/icons/glyphs/align-center-vertical.ts +12 -0
- package/src/icons/glyphs/align-end-horizontal.ts +10 -0
- package/src/icons/glyphs/align-end-vertical.ts +10 -0
- package/src/icons/glyphs/align-horizontal-distribute-center.ts +13 -0
- package/src/icons/glyphs/align-horizontal-distribute-end.ts +11 -0
- package/src/icons/glyphs/align-horizontal-distribute-start.ts +11 -0
- package/src/icons/glyphs/align-horizontal-justify-center.ts +10 -0
- package/src/icons/glyphs/align-horizontal-justify-end.ts +10 -0
- package/src/icons/glyphs/align-horizontal-justify-start.ts +10 -0
- package/src/icons/glyphs/align-horizontal-space-around.ts +10 -0
- package/src/icons/glyphs/align-horizontal-space-between.ts +11 -0
- package/src/icons/glyphs/align-start-horizontal.ts +10 -0
- package/src/icons/glyphs/align-start-vertical.ts +10 -0
- package/src/icons/glyphs/align-vertical-distribute-center.ts +13 -0
- package/src/icons/glyphs/align-vertical-distribute-end.ts +11 -0
- package/src/icons/glyphs/align-vertical-distribute-start.ts +11 -0
- package/src/icons/glyphs/align-vertical-justify-center.ts +10 -0
- package/src/icons/glyphs/align-vertical-justify-end.ts +10 -0
- package/src/icons/glyphs/align-vertical-justify-start.ts +10 -0
- package/src/icons/glyphs/align-vertical-space-around.ts +10 -0
- package/src/icons/glyphs/align-vertical-space-between.ts +11 -0
- package/src/icons/glyphs/ambulance.ts +19 -0
- package/src/icons/glyphs/ampersand.ts +14 -0
- package/src/icons/glyphs/ampersands.ts +15 -0
- package/src/icons/glyphs/amphora.ts +13 -0
- package/src/icons/glyphs/anchor.ts +11 -0
- package/src/icons/glyphs/angle.ts +9 -0
- package/src/icons/glyphs/antenna.ts +13 -0
- package/src/icons/glyphs/anvil.ts +12 -0
- package/src/icons/glyphs/aperture.ts +14 -0
- package/src/icons/glyphs/app-window-mac.ts +11 -0
- package/src/icons/glyphs/app-window.ts +11 -0
- package/src/icons/glyphs/apple.ts +14 -0
- package/src/icons/glyphs/archive-restore.ts +12 -0
- package/src/icons/glyphs/archive-x.ts +11 -0
- package/src/icons/glyphs/archive.ts +10 -0
- package/src/icons/glyphs/armchair.ts +16 -0
- package/src/icons/glyphs/arrow-big-down-dash.ts +14 -0
- package/src/icons/glyphs/arrow-big-down.ts +13 -0
- package/src/icons/glyphs/arrow-big-left-dash.ts +14 -0
- package/src/icons/glyphs/arrow-big-left.ts +13 -0
- package/src/icons/glyphs/arrow-big-right-dash.ts +14 -0
- package/src/icons/glyphs/arrow-big-right.ts +13 -0
- package/src/icons/glyphs/arrow-big-up-dash.ts +14 -0
- package/src/icons/glyphs/arrow-big-up.ts +13 -0
- package/src/icons/glyphs/arrow-down-0-1.ts +12 -0
- package/src/icons/glyphs/arrow-down-1-0.ts +12 -0
- package/src/icons/glyphs/arrow-down-a-z.ts +12 -0
- package/src/icons/glyphs/arrow-down-from-line.ts +10 -0
- package/src/icons/glyphs/arrow-down-left.ts +9 -0
- package/src/icons/glyphs/arrow-down-narrow-wide.ts +12 -0
- package/src/icons/glyphs/arrow-down-right.ts +9 -0
- package/src/icons/glyphs/arrow-down-to-dot.ts +10 -0
- package/src/icons/glyphs/arrow-down-to-line.ts +10 -0
- package/src/icons/glyphs/arrow-down-up.ts +11 -0
- package/src/icons/glyphs/arrow-down-wide-narrow.ts +12 -0
- package/src/icons/glyphs/arrow-down-z-a.ts +12 -0
- package/src/icons/glyphs/arrow-down.ts +9 -0
- package/src/icons/glyphs/arrow-left-from-line.ts +10 -0
- package/src/icons/glyphs/arrow-left-right.ts +11 -0
- package/src/icons/glyphs/arrow-left-to-line.ts +10 -0
- package/src/icons/glyphs/arrow-left.ts +9 -0
- package/src/icons/glyphs/arrow-right-from-line.ts +10 -0
- package/src/icons/glyphs/arrow-right-left.ts +11 -0
- package/src/icons/glyphs/arrow-right-to-line.ts +10 -0
- package/src/icons/glyphs/arrow-right.ts +9 -0
- package/src/icons/glyphs/arrow-up-0-1.ts +12 -0
- package/src/icons/glyphs/arrow-up-1-0.ts +12 -0
- package/src/icons/glyphs/arrow-up-a-z.ts +12 -0
- package/src/icons/glyphs/arrow-up-down.ts +11 -0
- package/src/icons/glyphs/arrow-up-from-dot.ts +10 -0
- package/src/icons/glyphs/arrow-up-from-line.ts +10 -0
- package/src/icons/glyphs/arrow-up-left.ts +9 -0
- package/src/icons/glyphs/arrow-up-narrow-wide.ts +12 -0
- package/src/icons/glyphs/arrow-up-right.ts +9 -0
- package/src/icons/glyphs/arrow-up-to-line.ts +10 -0
- package/src/icons/glyphs/arrow-up-wide-narrow.ts +12 -0
- package/src/icons/glyphs/arrow-up-z-a.ts +12 -0
- package/src/icons/glyphs/arrow-up.ts +9 -0
- package/src/icons/glyphs/arrows-up-from-line.ts +12 -0
- package/src/icons/glyphs/asterisk.ts +10 -0
- package/src/icons/glyphs/astroid.ts +13 -0
- package/src/icons/glyphs/at-sign.ts +9 -0
- package/src/icons/glyphs/atom.ts +20 -0
- package/src/icons/glyphs/audio-lines-x.ts +15 -0
- package/src/icons/glyphs/audio-lines.ts +13 -0
- package/src/icons/glyphs/audio-waveform.ts +13 -0
- package/src/icons/glyphs/award.ts +14 -0
- package/src/icons/glyphs/axe.ts +14 -0
- package/src/icons/glyphs/axis-3d.ts +11 -0
- package/src/icons/glyphs/baby.ts +16 -0
- package/src/icons/glyphs/backpack.ts +12 -0
- package/src/icons/glyphs/badge-alert.ts +15 -0
- package/src/icons/glyphs/badge-cent.ts +15 -0
- package/src/icons/glyphs/badge-check.ts +14 -0
- package/src/icons/glyphs/badge-dollar-sign.ts +15 -0
- package/src/icons/glyphs/badge-euro.ts +15 -0
- package/src/icons/glyphs/badge-indian-rupee.ts +16 -0
- package/src/icons/glyphs/badge-info.ts +15 -0
- package/src/icons/glyphs/badge-japanese-yen.ts +17 -0
- package/src/icons/glyphs/badge-minus.ts +14 -0
- package/src/icons/glyphs/badge-percent.ts +16 -0
- package/src/icons/glyphs/badge-plus.ts +15 -0
- package/src/icons/glyphs/badge-pound-sterling.ts +16 -0
- package/src/icons/glyphs/badge-question-mark.ts +15 -0
- package/src/icons/glyphs/badge-russian-ruble.ts +15 -0
- package/src/icons/glyphs/badge-swiss-franc.ts +16 -0
- package/src/icons/glyphs/badge-turkish-lira.ts +15 -0
- package/src/icons/glyphs/badge-x.ts +15 -0
- package/src/icons/glyphs/badge.ts +13 -0
- package/src/icons/glyphs/baggage-claim.ts +12 -0
- package/src/icons/glyphs/balloon.ts +10 -0
- package/src/icons/glyphs/ban.ts +9 -0
- package/src/icons/glyphs/banana.ts +14 -0
- package/src/icons/glyphs/bandage.ts +14 -0
- package/src/icons/glyphs/banknote-arrow-down.ts +13 -0
- package/src/icons/glyphs/banknote-arrow-up.ts +13 -0
- package/src/icons/glyphs/banknote-check.ts +12 -0
- package/src/icons/glyphs/banknote-x.ts +13 -0
- package/src/icons/glyphs/banknote.ts +10 -0
- package/src/icons/glyphs/barcode.ts +12 -0
- package/src/icons/glyphs/barrel.ts +17 -0
- package/src/icons/glyphs/baseline.ts +10 -0
- package/src/icons/glyphs/bath.ts +12 -0
- package/src/icons/glyphs/battery-charging.ts +11 -0
- package/src/icons/glyphs/battery-full.ts +12 -0
- package/src/icons/glyphs/battery-low.ts +10 -0
- package/src/icons/glyphs/battery-medium.ts +11 -0
- package/src/icons/glyphs/battery-plus.ts +12 -0
- package/src/icons/glyphs/battery-warning.ts +12 -0
- package/src/icons/glyphs/battery.ts +9 -0
- package/src/icons/glyphs/beaker.ts +10 -0
- package/src/icons/glyphs/bean-off.ts +11 -0
- package/src/icons/glyphs/bean.ts +14 -0
- package/src/icons/glyphs/bed-double.ts +11 -0
- package/src/icons/glyphs/bed-single.ts +10 -0
- package/src/icons/glyphs/bed.ts +11 -0
- package/src/icons/glyphs/beef-off.ts +18 -0
- package/src/icons/glyphs/beef.ts +20 -0
- package/src/icons/glyphs/beer-off.ts +20 -0
- package/src/icons/glyphs/beer.ts +17 -0
- package/src/icons/glyphs/bell-check.ts +16 -0
- package/src/icons/glyphs/bell-dot.ts +15 -0
- package/src/icons/glyphs/bell-electric.ts +13 -0
- package/src/icons/glyphs/bell-minus.ts +15 -0
- package/src/icons/glyphs/bell-off.ts +11 -0
- package/src/icons/glyphs/bell-plus.ts +16 -0
- package/src/icons/glyphs/bell-ring.ts +16 -0
- package/src/icons/glyphs/bell.ts +14 -0
- package/src/icons/glyphs/between-horizontal-end.ts +10 -0
- package/src/icons/glyphs/between-horizontal-start.ts +10 -0
- package/src/icons/glyphs/between-vertical-end.ts +10 -0
- package/src/icons/glyphs/between-vertical-start.ts +10 -0
- package/src/icons/glyphs/biceps-flexed.ts +15 -0
- package/src/icons/glyphs/bike.ts +11 -0
- package/src/icons/glyphs/binary.ts +13 -0
- package/src/icons/glyphs/binoculars.ts +23 -0
- package/src/icons/glyphs/biohazard.ts +17 -0
- package/src/icons/glyphs/bird.ts +13 -0
- package/src/icons/glyphs/birdhouse.ts +13 -0
- package/src/icons/glyphs/bitcoin.ts +13 -0
- package/src/icons/glyphs/blend.ts +9 -0
- package/src/icons/glyphs/blender.ts +18 -0
- package/src/icons/glyphs/blinds.ts +14 -0
- package/src/icons/glyphs/blocks.ts +14 -0
- package/src/icons/glyphs/bluetooth-connected.ts +10 -0
- package/src/icons/glyphs/bluetooth-off.ts +10 -0
- package/src/icons/glyphs/bluetooth-searching.ts +10 -0
- package/src/icons/glyphs/bluetooth.ts +6 -0
- package/src/icons/glyphs/bold.ts +8 -0
- package/src/icons/glyphs/bolt.ts +14 -0
- package/src/icons/glyphs/bomb.ts +13 -0
- package/src/icons/glyphs/bone-fracture.ts +23 -0
- package/src/icons/glyphs/bone.ts +13 -0
- package/src/icons/glyphs/book-a.ts +13 -0
- package/src/icons/glyphs/book-alert.ts +13 -0
- package/src/icons/glyphs/book-audio.ts +14 -0
- package/src/icons/glyphs/book-check.ts +12 -0
- package/src/icons/glyphs/book-copy.ts +13 -0
- package/src/icons/glyphs/book-dashed.ts +18 -0
- package/src/icons/glyphs/book-down.ts +13 -0
- package/src/icons/glyphs/book-headphones.ts +14 -0
- package/src/icons/glyphs/book-heart.ts +17 -0
- package/src/icons/glyphs/book-image.ts +13 -0
- package/src/icons/glyphs/book-key.ts +12 -0
- package/src/icons/glyphs/book-lock.ts +11 -0
- package/src/icons/glyphs/book-marked.ts +12 -0
- package/src/icons/glyphs/book-minus.ts +12 -0
- package/src/icons/glyphs/book-open-check.ts +15 -0
- package/src/icons/glyphs/book-open-text.ts +18 -0
- package/src/icons/glyphs/book-open.ts +14 -0
- package/src/icons/glyphs/book-plus.ts +13 -0
- package/src/icons/glyphs/book-search.ts +11 -0
- package/src/icons/glyphs/book-text.ts +13 -0
- package/src/icons/glyphs/book-type.ts +14 -0
- package/src/icons/glyphs/book-up-2.ts +12 -0
- package/src/icons/glyphs/book-up.ts +13 -0
- package/src/icons/glyphs/book-user.ts +13 -0
- package/src/icons/glyphs/book-x.ts +13 -0
- package/src/icons/glyphs/book.ts +11 -0
- package/src/icons/glyphs/bookmark-check.ts +14 -0
- package/src/icons/glyphs/bookmark-minus.ts +14 -0
- package/src/icons/glyphs/bookmark-off.ts +15 -0
- package/src/icons/glyphs/bookmark-plus.ts +15 -0
- package/src/icons/glyphs/bookmark-x.ts +15 -0
- package/src/icons/glyphs/bookmark.ts +13 -0
- package/src/icons/glyphs/boom-box.ts +14 -0
- package/src/icons/glyphs/bot-message-square.ts +18 -0
- package/src/icons/glyphs/bot-off.ts +14 -0
- package/src/icons/glyphs/bot.ts +13 -0
- package/src/icons/glyphs/bottle-wine.ts +14 -0
- package/src/icons/glyphs/bow-arrow.ts +17 -0
- package/src/icons/glyphs/box.ts +15 -0
- package/src/icons/glyphs/boxes.ts +34 -0
- package/src/icons/glyphs/braces.ts +9 -0
- package/src/icons/glyphs/brackets.ts +9 -0
- package/src/icons/glyphs/brain-circuit.ts +23 -0
- package/src/icons/glyphs/brain-cog.ts +30 -0
- package/src/icons/glyphs/brain.ts +15 -0
- package/src/icons/glyphs/brick-wall-fire.ts +19 -0
- package/src/icons/glyphs/brick-wall-shield.ts +20 -0
- package/src/icons/glyphs/brick-wall.ts +15 -0
- package/src/icons/glyphs/briefcase-business.ts +11 -0
- package/src/icons/glyphs/briefcase-conveyor-belt.ts +14 -0
- package/src/icons/glyphs/briefcase-medical.ts +13 -0
- package/src/icons/glyphs/briefcase.ts +9 -0
- package/src/icons/glyphs/bring-to-front.ts +10 -0
- package/src/icons/glyphs/broccoli.ts +21 -0
- package/src/icons/glyphs/broom-sparkles.ts +22 -0
- package/src/icons/glyphs/broom.ts +16 -0
- package/src/icons/glyphs/brush-cleaning.ts +16 -0
- package/src/icons/glyphs/brush.ts +10 -0
- package/src/icons/glyphs/bubbles.ts +11 -0
- package/src/icons/glyphs/bug-off.ts +19 -0
- package/src/icons/glyphs/bug-play.ts +21 -0
- package/src/icons/glyphs/bug.ts +18 -0
- package/src/icons/glyphs/building-2.ts +12 -0
- package/src/icons/glyphs/building.ts +18 -0
- package/src/icons/glyphs/bus-front.ts +16 -0
- package/src/icons/glyphs/bus.ts +19 -0
- package/src/icons/glyphs/cable-car.ts +15 -0
- package/src/icons/glyphs/cable.ts +14 -0
- package/src/icons/glyphs/cake-slice.ts +16 -0
- package/src/icons/glyphs/cake.ts +16 -0
- package/src/icons/glyphs/calculator.ts +17 -0
- package/src/icons/glyphs/calendar-1.ts +12 -0
- package/src/icons/glyphs/calendar-arrow-down.ts +13 -0
- package/src/icons/glyphs/calendar-arrow-up.ts +13 -0
- package/src/icons/glyphs/calendar-check-2.ts +18 -0
- package/src/icons/glyphs/calendar-check.ts +12 -0
- package/src/icons/glyphs/calendar-clock.ts +13 -0
- package/src/icons/glyphs/calendar-cog.ts +20 -0
- package/src/icons/glyphs/calendar-days.ts +17 -0
- package/src/icons/glyphs/calendar-fold.ts +16 -0
- package/src/icons/glyphs/calendar-heart.ts +17 -0
- package/src/icons/glyphs/calendar-minus-2.ts +12 -0
- package/src/icons/glyphs/calendar-minus.ts +12 -0
- package/src/icons/glyphs/calendar-off.ts +13 -0
- package/src/icons/glyphs/calendar-plus-2.ts +13 -0
- package/src/icons/glyphs/calendar-plus.ts +13 -0
- package/src/icons/glyphs/calendar-range.ts +15 -0
- package/src/icons/glyphs/calendar-search.ts +13 -0
- package/src/icons/glyphs/calendar-sync.ts +15 -0
- package/src/icons/glyphs/calendar-x-2.ts +13 -0
- package/src/icons/glyphs/calendar-x.ts +13 -0
- package/src/icons/glyphs/calendar.ts +11 -0
- package/src/icons/glyphs/calendars.ts +13 -0
- package/src/icons/glyphs/camera-off.ts +16 -0
- package/src/icons/glyphs/camera.ts +14 -0
- package/src/icons/glyphs/candy-cane.ts +15 -0
- package/src/icons/glyphs/candy-off.ts +24 -0
- package/src/icons/glyphs/candy.ts +27 -0
- package/src/icons/glyphs/cannabis-off.ts +18 -0
- package/src/icons/glyphs/cannabis.ts +14 -0
- package/src/icons/glyphs/captions-off.ts +13 -0
- package/src/icons/glyphs/captions.ts +9 -0
- package/src/icons/glyphs/car-front.ts +13 -0
- package/src/icons/glyphs/car-taxi-front.ts +14 -0
- package/src/icons/glyphs/car.ts +16 -0
- package/src/icons/glyphs/caravan.ts +11 -0
- package/src/icons/glyphs/card-sim.ts +16 -0
- package/src/icons/glyphs/carrot.ts +10 -0
- package/src/icons/glyphs/case-lower.ts +11 -0
- package/src/icons/glyphs/case-sensitive.ts +11 -0
- package/src/icons/glyphs/case-upper.ts +13 -0
- package/src/icons/glyphs/cassette-tape.ts +12 -0
- package/src/icons/glyphs/cast.ts +11 -0
- package/src/icons/glyphs/castle.ts +15 -0
- package/src/icons/glyphs/cat.ts +16 -0
- package/src/icons/glyphs/cctv-off.ts +23 -0
- package/src/icons/glyphs/cctv.ts +20 -0
- package/src/icons/glyphs/chart-area.ts +14 -0
- package/src/icons/glyphs/chart-bar-big.ts +10 -0
- package/src/icons/glyphs/chart-bar-decreasing.ts +11 -0
- package/src/icons/glyphs/chart-bar-increasing.ts +11 -0
- package/src/icons/glyphs/chart-bar-stacked.ts +12 -0
- package/src/icons/glyphs/chart-bar.ts +11 -0
- package/src/icons/glyphs/chart-candlestick.ts +14 -0
- package/src/icons/glyphs/chart-column-big.ts +10 -0
- package/src/icons/glyphs/chart-column-decreasing.ts +11 -0
- package/src/icons/glyphs/chart-column-increasing.ts +11 -0
- package/src/icons/glyphs/chart-column-stacked.ts +12 -0
- package/src/icons/glyphs/chart-column.ts +11 -0
- package/src/icons/glyphs/chart-gantt.ts +11 -0
- package/src/icons/glyphs/chart-line.ts +9 -0
- package/src/icons/glyphs/chart-network.ts +14 -0
- package/src/icons/glyphs/chart-no-axes-column-decreasing.ts +10 -0
- package/src/icons/glyphs/chart-no-axes-column-increasing.ts +10 -0
- package/src/icons/glyphs/chart-no-axes-column.ts +10 -0
- package/src/icons/glyphs/chart-no-axes-combined.ts +13 -0
- package/src/icons/glyphs/chart-no-axes-gantt.ts +10 -0
- package/src/icons/glyphs/chart-pie.ts +14 -0
- package/src/icons/glyphs/chart-scatter.ts +13 -0
- package/src/icons/glyphs/chart-spline.ts +9 -0
- package/src/icons/glyphs/check-check.ts +9 -0
- package/src/icons/glyphs/check-line.ts +10 -0
- package/src/icons/glyphs/check.ts +6 -0
- package/src/icons/glyphs/chef-hat.ts +14 -0
- package/src/icons/glyphs/cherry.ts +11 -0
- package/src/icons/glyphs/chess-bishop.ts +16 -0
- package/src/icons/glyphs/chess-king.ts +16 -0
- package/src/icons/glyphs/chess-knight.ts +17 -0
- package/src/icons/glyphs/chess-pawn.ts +12 -0
- package/src/icons/glyphs/chess-queen.ts +15 -0
- package/src/icons/glyphs/chess-rook.ts +14 -0
- package/src/icons/glyphs/chevron-down.ts +6 -0
- package/src/icons/glyphs/chevron-first.ts +9 -0
- package/src/icons/glyphs/chevron-last.ts +9 -0
- package/src/icons/glyphs/chevron-left.ts +6 -0
- package/src/icons/glyphs/chevron-right.ts +6 -0
- package/src/icons/glyphs/chevron-up.ts +6 -0
- package/src/icons/glyphs/chevrons-down-up.ts +9 -0
- package/src/icons/glyphs/chevrons-down.ts +9 -0
- package/src/icons/glyphs/chevrons-left-right-ellipsis.ts +12 -0
- package/src/icons/glyphs/chevrons-left-right.ts +9 -0
- package/src/icons/glyphs/chevrons-left.ts +9 -0
- package/src/icons/glyphs/chevrons-right-left.ts +9 -0
- package/src/icons/glyphs/chevrons-right.ts +9 -0
- package/src/icons/glyphs/chevrons-up-down.ts +9 -0
- package/src/icons/glyphs/chevrons-up.ts +9 -0
- package/src/icons/glyphs/church.ts +17 -0
- package/src/icons/glyphs/cigarette-off.ts +13 -0
- package/src/icons/glyphs/cigarette.ts +12 -0
- package/src/icons/glyphs/circle-alert.ts +10 -0
- package/src/icons/glyphs/circle-arrow-down.ts +10 -0
- package/src/icons/glyphs/circle-arrow-left.ts +10 -0
- package/src/icons/glyphs/circle-arrow-out-down-left.ts +10 -0
- package/src/icons/glyphs/circle-arrow-out-down-right.ts +10 -0
- package/src/icons/glyphs/circle-arrow-out-up-left.ts +10 -0
- package/src/icons/glyphs/circle-arrow-out-up-right.ts +10 -0
- package/src/icons/glyphs/circle-arrow-right.ts +10 -0
- package/src/icons/glyphs/circle-arrow-up.ts +10 -0
- package/src/icons/glyphs/circle-check-big.ts +9 -0
- package/src/icons/glyphs/circle-check.ts +9 -0
- package/src/icons/glyphs/circle-chevron-down.ts +9 -0
- package/src/icons/glyphs/circle-chevron-left.ts +9 -0
- package/src/icons/glyphs/circle-chevron-right.ts +9 -0
- package/src/icons/glyphs/circle-chevron-up.ts +9 -0
- package/src/icons/glyphs/circle-dashed.ts +15 -0
- package/src/icons/glyphs/circle-divide.ts +11 -0
- package/src/icons/glyphs/circle-dollar-sign.ts +10 -0
- package/src/icons/glyphs/circle-dot-dashed.ts +16 -0
- package/src/icons/glyphs/circle-dot.ts +9 -0
- package/src/icons/glyphs/circle-ellipsis.ts +11 -0
- package/src/icons/glyphs/circle-equal.ts +10 -0
- package/src/icons/glyphs/circle-euro.ts +10 -0
- package/src/icons/glyphs/circle-fading-arrow-up.ts +14 -0
- package/src/icons/glyphs/circle-fading-plus.ts +14 -0
- package/src/icons/glyphs/circle-gauge.ts +10 -0
- package/src/icons/glyphs/circle-minus.ts +9 -0
- package/src/icons/glyphs/circle-off.ts +10 -0
- package/src/icons/glyphs/circle-parking-off.ts +13 -0
- package/src/icons/glyphs/circle-parking.ts +9 -0
- package/src/icons/glyphs/circle-pause.ts +10 -0
- package/src/icons/glyphs/circle-percent.ts +11 -0
- package/src/icons/glyphs/circle-pile.ts +13 -0
- package/src/icons/glyphs/circle-play.ts +14 -0
- package/src/icons/glyphs/circle-plus.ts +10 -0
- package/src/icons/glyphs/circle-pound-sterling.ts +11 -0
- package/src/icons/glyphs/circle-power.ts +10 -0
- package/src/icons/glyphs/circle-question-mark.ts +10 -0
- package/src/icons/glyphs/circle-slash-2.ts +9 -0
- package/src/icons/glyphs/circle-slash.ts +9 -0
- package/src/icons/glyphs/circle-small.ts +6 -0
- package/src/icons/glyphs/circle-star.ts +14 -0
- package/src/icons/glyphs/circle-stop.ts +9 -0
- package/src/icons/glyphs/circle-user-round.ts +10 -0
- package/src/icons/glyphs/circle-user.ts +10 -0
- package/src/icons/glyphs/circle-x.ts +10 -0
- package/src/icons/glyphs/circle.ts +6 -0
- package/src/icons/glyphs/circuit-board.ts +12 -0
- package/src/icons/glyphs/citrus.ts +14 -0
- package/src/icons/glyphs/clapperboard.ts +11 -0
- package/src/icons/glyphs/clipboard-check.ts +10 -0
- package/src/icons/glyphs/clipboard-clock.ts +12 -0
- package/src/icons/glyphs/clipboard-copy.ts +12 -0
- package/src/icons/glyphs/clipboard-list.ts +13 -0
- package/src/icons/glyphs/clipboard-minus.ts +10 -0
- package/src/icons/glyphs/clipboard-paste.ts +12 -0
- package/src/icons/glyphs/clipboard-pen-line.ts +17 -0
- package/src/icons/glyphs/clipboard-pen.ts +16 -0
- package/src/icons/glyphs/clipboard-plus.ts +11 -0
- package/src/icons/glyphs/clipboard-type.ts +12 -0
- package/src/icons/glyphs/clipboard-x.ts +11 -0
- package/src/icons/glyphs/clipboard.ts +9 -0
- package/src/icons/glyphs/clock-1.ts +9 -0
- package/src/icons/glyphs/clock-10.ts +9 -0
- package/src/icons/glyphs/clock-11.ts +9 -0
- package/src/icons/glyphs/clock-12.ts +9 -0
- package/src/icons/glyphs/clock-2.ts +9 -0
- package/src/icons/glyphs/clock-3.ts +9 -0
- package/src/icons/glyphs/clock-4.ts +9 -0
- package/src/icons/glyphs/clock-5.ts +9 -0
- package/src/icons/glyphs/clock-6.ts +9 -0
- package/src/icons/glyphs/clock-7.ts +9 -0
- package/src/icons/glyphs/clock-8.ts +9 -0
- package/src/icons/glyphs/clock-9.ts +9 -0
- package/src/icons/glyphs/clock-alert.ts +11 -0
- package/src/icons/glyphs/clock-arrow-down.ts +11 -0
- package/src/icons/glyphs/clock-arrow-left.ts +11 -0
- package/src/icons/glyphs/clock-arrow-right.ts +11 -0
- package/src/icons/glyphs/clock-arrow-up.ts +11 -0
- package/src/icons/glyphs/clock-check.ts +10 -0
- package/src/icons/glyphs/clock-fading.ts +13 -0
- package/src/icons/glyphs/clock-plus.ts +11 -0
- package/src/icons/glyphs/clock.ts +9 -0
- package/src/icons/glyphs/closed-caption.ts +10 -0
- package/src/icons/glyphs/cloud-alert.ts +10 -0
- package/src/icons/glyphs/cloud-backup.ts +10 -0
- package/src/icons/glyphs/cloud-check.ts +9 -0
- package/src/icons/glyphs/cloud-cog.ts +16 -0
- package/src/icons/glyphs/cloud-download.ts +10 -0
- package/src/icons/glyphs/cloud-drizzle.ts +14 -0
- package/src/icons/glyphs/cloud-fog.ts +10 -0
- package/src/icons/glyphs/cloud-hail.ts +14 -0
- package/src/icons/glyphs/cloud-lightning.ts +9 -0
- package/src/icons/glyphs/cloud-moon-rain.ts +16 -0
- package/src/icons/glyphs/cloud-moon.ts +14 -0
- package/src/icons/glyphs/cloud-off.ts +10 -0
- package/src/icons/glyphs/cloud-rain-wind.ts +11 -0
- package/src/icons/glyphs/cloud-rain.ts +11 -0
- package/src/icons/glyphs/cloud-snow.ts +14 -0
- package/src/icons/glyphs/cloud-sun-rain.ts +15 -0
- package/src/icons/glyphs/cloud-sun.ts +13 -0
- package/src/icons/glyphs/cloud-sync.ts +12 -0
- package/src/icons/glyphs/cloud-upload.ts +10 -0
- package/src/icons/glyphs/cloud.ts +8 -0
- package/src/icons/glyphs/cloudy.ts +9 -0
- package/src/icons/glyphs/clover.ts +15 -0
- package/src/icons/glyphs/club.ts +12 -0
- package/src/icons/glyphs/code-xml.ts +10 -0
- package/src/icons/glyphs/code.ts +9 -0
- package/src/icons/glyphs/coffee.ts +16 -0
- package/src/icons/glyphs/cog.ts +21 -0
- package/src/icons/glyphs/coins.ts +11 -0
- package/src/icons/glyphs/columns-2.ts +9 -0
- package/src/icons/glyphs/columns-3-cog.ts +19 -0
- package/src/icons/glyphs/columns-3.ts +10 -0
- package/src/icons/glyphs/columns-4.ts +11 -0
- package/src/icons/glyphs/combine.ts +13 -0
- package/src/icons/glyphs/command.ts +8 -0
- package/src/icons/glyphs/compass.ts +14 -0
- package/src/icons/glyphs/component.ts +31 -0
- package/src/icons/glyphs/computer.ts +11 -0
- package/src/icons/glyphs/concierge-bell.ts +11 -0
- package/src/icons/glyphs/cone.ts +9 -0
- package/src/icons/glyphs/construction.ts +15 -0
- package/src/icons/glyphs/contact-round.ts +12 -0
- package/src/icons/glyphs/contact.ts +12 -0
- package/src/icons/glyphs/container.ts +17 -0
- package/src/icons/glyphs/contrast.ts +9 -0
- package/src/icons/glyphs/cookie.ts +13 -0
- package/src/icons/glyphs/cooking-pot.ts +11 -0
- package/src/icons/glyphs/copy-check.ts +10 -0
- package/src/icons/glyphs/copy-minus.ts +10 -0
- package/src/icons/glyphs/copy-plus.ts +11 -0
- package/src/icons/glyphs/copy-slash.ts +10 -0
- package/src/icons/glyphs/copy-x.ts +11 -0
- package/src/icons/glyphs/copy.ts +9 -0
- package/src/icons/glyphs/copyleft.ts +9 -0
- package/src/icons/glyphs/copyright.ts +9 -0
- package/src/icons/glyphs/corner-down-left.ts +9 -0
- package/src/icons/glyphs/corner-down-right.ts +9 -0
- package/src/icons/glyphs/corner-left-down.ts +9 -0
- package/src/icons/glyphs/corner-left-up.ts +9 -0
- package/src/icons/glyphs/corner-right-down.ts +9 -0
- package/src/icons/glyphs/corner-right-up.ts +9 -0
- package/src/icons/glyphs/corner-up-left.ts +9 -0
- package/src/icons/glyphs/corner-up-right.ts +9 -0
- package/src/icons/glyphs/cpu.ts +21 -0
- package/src/icons/glyphs/creative-commons.ts +10 -0
- package/src/icons/glyphs/credit-card.ts +9 -0
- package/src/icons/glyphs/croissant.ts +17 -0
- package/src/icons/glyphs/crop.ts +9 -0
- package/src/icons/glyphs/cross.ts +13 -0
- package/src/icons/glyphs/crosshair.ts +12 -0
- package/src/icons/glyphs/crown.ts +14 -0
- package/src/icons/glyphs/cuboid.ts +15 -0
- package/src/icons/glyphs/cup-soda.ts +11 -0
- package/src/icons/glyphs/currency.ts +12 -0
- package/src/icons/glyphs/cylinder.ts +9 -0
- package/src/icons/glyphs/dam.ts +14 -0
- package/src/icons/glyphs/database-arrow-down.ts +13 -0
- package/src/icons/glyphs/database-arrow-up.ts +13 -0
- package/src/icons/glyphs/database-backup.ts +13 -0
- package/src/icons/glyphs/database-check.ts +12 -0
- package/src/icons/glyphs/database-minus.ts +12 -0
- package/src/icons/glyphs/database-plus.ts +13 -0
- package/src/icons/glyphs/database-search.ts +13 -0
- package/src/icons/glyphs/database-x.ts +14 -0
- package/src/icons/glyphs/database-zap.ts +12 -0
- package/src/icons/glyphs/database.ts +10 -0
- package/src/icons/glyphs/decimals-arrow-left.ts +11 -0
- package/src/icons/glyphs/decimals-arrow-right.ts +12 -0
- package/src/icons/glyphs/delete.ts +15 -0
- package/src/icons/glyphs/dessert.ts +15 -0
- package/src/icons/glyphs/diameter.ts +12 -0
- package/src/icons/glyphs/diamond-minus.ts +14 -0
- package/src/icons/glyphs/diamond-percent.ts +16 -0
- package/src/icons/glyphs/diamond-plus.ts +15 -0
- package/src/icons/glyphs/diamond.ts +13 -0
- package/src/icons/glyphs/dice-1.ts +9 -0
- package/src/icons/glyphs/dice-2.ts +10 -0
- package/src/icons/glyphs/dice-3.ts +11 -0
- package/src/icons/glyphs/dice-4.ts +12 -0
- package/src/icons/glyphs/dice-5.ts +13 -0
- package/src/icons/glyphs/dice-6.ts +14 -0
- package/src/icons/glyphs/dices.ts +13 -0
- package/src/icons/glyphs/diff.ts +10 -0
- package/src/icons/glyphs/disc-2.ts +10 -0
- package/src/icons/glyphs/disc-3.ts +11 -0
- package/src/icons/glyphs/disc-album.ts +10 -0
- package/src/icons/glyphs/disc.ts +9 -0
- package/src/icons/glyphs/divide.ts +10 -0
- package/src/icons/glyphs/dna-off.ts +17 -0
- package/src/icons/glyphs/dna.ts +18 -0
- package/src/icons/glyphs/dock.ts +10 -0
- package/src/icons/glyphs/dog.ts +22 -0
- package/src/icons/glyphs/dollar-sign.ts +9 -0
- package/src/icons/glyphs/donut.ts +14 -0
- package/src/icons/glyphs/door-closed-locked.ts +12 -0
- package/src/icons/glyphs/door-closed.ts +10 -0
- package/src/icons/glyphs/door-open.ts +17 -0
- package/src/icons/glyphs/dot.ts +6 -0
- package/src/icons/glyphs/download.ts +10 -0
- package/src/icons/glyphs/drafting-compass.ts +12 -0
- package/src/icons/glyphs/drama.ts +20 -0
- package/src/icons/glyphs/drill.ts +18 -0
- package/src/icons/glyphs/drone.ts +16 -0
- package/src/icons/glyphs/droplet-off.ts +15 -0
- package/src/icons/glyphs/droplet.ts +13 -0
- package/src/icons/glyphs/droplets.ts +19 -0
- package/src/icons/glyphs/drum.ts +14 -0
- package/src/icons/glyphs/drumstick.ts +9 -0
- package/src/icons/glyphs/dumbbell.ts +22 -0
- package/src/icons/glyphs/ear-off.ts +12 -0
- package/src/icons/glyphs/ear.ts +9 -0
- package/src/icons/glyphs/earth-lock.ts +13 -0
- package/src/icons/glyphs/earth.ts +14 -0
- package/src/icons/glyphs/eclipse.ts +9 -0
- package/src/icons/glyphs/egg-fried.ts +14 -0
- package/src/icons/glyphs/egg-off.ts +10 -0
- package/src/icons/glyphs/egg.ts +8 -0
- package/src/icons/glyphs/eject.ts +12 -0
- package/src/icons/glyphs/ellipse.ts +6 -0
- package/src/icons/glyphs/ellipsis-vertical.ts +10 -0
- package/src/icons/glyphs/ellipsis.ts +10 -0
- package/src/icons/glyphs/equal-approximately.ts +9 -0
- package/src/icons/glyphs/equal-not.ts +10 -0
- package/src/icons/glyphs/equal.ts +9 -0
- package/src/icons/glyphs/eraser.ts +14 -0
- package/src/icons/glyphs/ethernet-port.ts +17 -0
- package/src/icons/glyphs/euro.ts +13 -0
- package/src/icons/glyphs/ev-charger.ts +12 -0
- package/src/icons/glyphs/expand.ts +15 -0
- package/src/icons/glyphs/external-link.ts +10 -0
- package/src/icons/glyphs/eye-closed.ts +12 -0
- package/src/icons/glyphs/eye-dashed.ts +16 -0
- package/src/icons/glyphs/eye-off.ts +21 -0
- package/src/icons/glyphs/eye.ts +14 -0
- package/src/icons/glyphs/face-angry.ts +13 -0
- package/src/icons/glyphs/face-expressionless.ts +11 -0
- package/src/icons/glyphs/face-grinning.ts +14 -0
- package/src/icons/glyphs/face-neutral.ts +11 -0
- package/src/icons/glyphs/face-slightly-frowning.ts +11 -0
- package/src/icons/glyphs/face-slightly-smiling-plus.ts +13 -0
- package/src/icons/glyphs/face-slightly-smiling.ts +11 -0
- package/src/icons/glyphs/factory.ts +16 -0
- package/src/icons/glyphs/fan.ts +14 -0
- package/src/icons/glyphs/fast-forward.ts +9 -0
- package/src/icons/glyphs/feather.ts +15 -0
- package/src/icons/glyphs/fence.ts +14 -0
- package/src/icons/glyphs/ferris-wheel.ts +16 -0
- package/src/icons/glyphs/file-archive.ts +18 -0
- package/src/icons/glyphs/file-axis-3d.ts +16 -0
- package/src/icons/glyphs/file-badge.ts +21 -0
- package/src/icons/glyphs/file-box.ts +22 -0
- package/src/icons/glyphs/file-braces-corner.ts +16 -0
- package/src/icons/glyphs/file-braces.ts +16 -0
- package/src/icons/glyphs/file-chart-column-increasing.ts +17 -0
- package/src/icons/glyphs/file-chart-column.ts +17 -0
- package/src/icons/glyphs/file-chart-line.ts +15 -0
- package/src/icons/glyphs/file-chart-pie.ts +21 -0
- package/src/icons/glyphs/file-check-corner.ts +15 -0
- package/src/icons/glyphs/file-check.ts +15 -0
- package/src/icons/glyphs/file-clock.ts +16 -0
- package/src/icons/glyphs/file-code-corner.ts +16 -0
- package/src/icons/glyphs/file-code.ts +16 -0
- package/src/icons/glyphs/file-cog.ts +19 -0
- package/src/icons/glyphs/file-diff.ts +16 -0
- package/src/icons/glyphs/file-digit.ts +17 -0
- package/src/icons/glyphs/file-down.ts +16 -0
- package/src/icons/glyphs/file-exclamation-point.ts +15 -0
- package/src/icons/glyphs/file-headphone.ts +18 -0
- package/src/icons/glyphs/file-heart.ts +20 -0
- package/src/icons/glyphs/file-image.ts +16 -0
- package/src/icons/glyphs/file-input.ts +16 -0
- package/src/icons/glyphs/file-key.ts +17 -0
- package/src/icons/glyphs/file-lock.ts +16 -0
- package/src/icons/glyphs/file-minus-corner.ts +15 -0
- package/src/icons/glyphs/file-minus.ts +15 -0
- package/src/icons/glyphs/file-music.ts +16 -0
- package/src/icons/glyphs/file-output.ts +16 -0
- package/src/icons/glyphs/file-pen-line.ts +21 -0
- package/src/icons/glyphs/file-pen.ts +20 -0
- package/src/icons/glyphs/file-play.ts +20 -0
- package/src/icons/glyphs/file-plus-corner.ts +16 -0
- package/src/icons/glyphs/file-plus.ts +16 -0
- package/src/icons/glyphs/file-question-mark.ts +15 -0
- package/src/icons/glyphs/file-scan.ts +18 -0
- package/src/icons/glyphs/file-search-corner.ts +16 -0
- package/src/icons/glyphs/file-search.ts +16 -0
- package/src/icons/glyphs/file-signal.ts +17 -0
- package/src/icons/glyphs/file-sliders.ts +18 -0
- package/src/icons/glyphs/file-spreadsheet.ts +18 -0
- package/src/icons/glyphs/file-stack.ts +15 -0
- package/src/icons/glyphs/file-symlink.ts +15 -0
- package/src/icons/glyphs/file-terminal.ts +16 -0
- package/src/icons/glyphs/file-text.ts +17 -0
- package/src/icons/glyphs/file-type-corner.ts +17 -0
- package/src/icons/glyphs/file-type.ts +17 -0
- package/src/icons/glyphs/file-up.ts +16 -0
- package/src/icons/glyphs/file-user.ts +16 -0
- package/src/icons/glyphs/file-video-camera.ts +19 -0
- package/src/icons/glyphs/file-volume.ts +21 -0
- package/src/icons/glyphs/file-x-corner.ts +16 -0
- package/src/icons/glyphs/file-x.ts +16 -0
- package/src/icons/glyphs/file.ts +14 -0
- package/src/icons/glyphs/files.ts +10 -0
- package/src/icons/glyphs/film.ts +15 -0
- package/src/icons/glyphs/fingerprint-pattern.ts +16 -0
- package/src/icons/glyphs/fire-extinguisher.ts +13 -0
- package/src/icons/glyphs/fish-off.ts +25 -0
- package/src/icons/glyphs/fish-symbol.ts +6 -0
- package/src/icons/glyphs/fish.ts +23 -0
- package/src/icons/glyphs/fishing-hook.ts +10 -0
- package/src/icons/glyphs/fishing-rod.ts +10 -0
- package/src/icons/glyphs/flag-off.ts +11 -0
- package/src/icons/glyphs/flag-triangle-left.ts +8 -0
- package/src/icons/glyphs/flag-triangle-right.ts +8 -0
- package/src/icons/glyphs/flag.ts +13 -0
- package/src/icons/glyphs/flame-kindling.ts +15 -0
- package/src/icons/glyphs/flame.ts +13 -0
- package/src/icons/glyphs/flashlight-off.ts +15 -0
- package/src/icons/glyphs/flashlight.ts +15 -0
- package/src/icons/glyphs/flask-conical-off.ts +13 -0
- package/src/icons/glyphs/flask-conical.ts +15 -0
- package/src/icons/glyphs/flask-round.ts +10 -0
- package/src/icons/glyphs/flip-horizontal-2.ts +13 -0
- package/src/icons/glyphs/flip-vertical-2.ts +13 -0
- package/src/icons/glyphs/flower-2.ts +17 -0
- package/src/icons/glyphs/flower.ts +22 -0
- package/src/icons/glyphs/focus.ts +12 -0
- package/src/icons/glyphs/fold-horizontal.ts +15 -0
- package/src/icons/glyphs/fold-vertical.ts +15 -0
- package/src/icons/glyphs/folder-archive.ts +16 -0
- package/src/icons/glyphs/folder-bookmark.ts +14 -0
- package/src/icons/glyphs/folder-check.ts +14 -0
- package/src/icons/glyphs/folder-clock.ts +15 -0
- package/src/icons/glyphs/folder-closed.ts +14 -0
- package/src/icons/glyphs/folder-code.ts +15 -0
- package/src/icons/glyphs/folder-cog.ts +22 -0
- package/src/icons/glyphs/folder-dot.ts +14 -0
- package/src/icons/glyphs/folder-down.ts +15 -0
- package/src/icons/glyphs/folder-git-2.ts +16 -0
- package/src/icons/glyphs/folder-git.ts +16 -0
- package/src/icons/glyphs/folder-heart.ts +19 -0
- package/src/icons/glyphs/folder-input.ts +15 -0
- package/src/icons/glyphs/folder-kanban.ts +16 -0
- package/src/icons/glyphs/folder-key.ts +16 -0
- package/src/icons/glyphs/folder-lock.ts +15 -0
- package/src/icons/glyphs/folder-minus.ts +14 -0
- package/src/icons/glyphs/folder-open-dot.ts +14 -0
- package/src/icons/glyphs/folder-open.ts +13 -0
- package/src/icons/glyphs/folder-output.ts +15 -0
- package/src/icons/glyphs/folder-pen.ts +19 -0
- package/src/icons/glyphs/folder-plus.ts +15 -0
- package/src/icons/glyphs/folder-root.ts +15 -0
- package/src/icons/glyphs/folder-search-2.ts +15 -0
- package/src/icons/glyphs/folder-search.ts +15 -0
- package/src/icons/glyphs/folder-symlink.ts +14 -0
- package/src/icons/glyphs/folder-sync.ts +17 -0
- package/src/icons/glyphs/folder-tree.ts +21 -0
- package/src/icons/glyphs/folder-up.ts +15 -0
- package/src/icons/glyphs/folder-x.ts +15 -0
- package/src/icons/glyphs/folder.ts +13 -0
- package/src/icons/glyphs/folders.ts +14 -0
- package/src/icons/glyphs/footprints.ts +21 -0
- package/src/icons/glyphs/forklift.ts +17 -0
- package/src/icons/glyphs/form.ts +11 -0
- package/src/icons/glyphs/forward.ts +9 -0
- package/src/icons/glyphs/frame.ts +11 -0
- package/src/icons/glyphs/fuel.ts +11 -0
- package/src/icons/glyphs/fullscreen.ts +12 -0
- package/src/icons/glyphs/funnel-plus.ts +15 -0
- package/src/icons/glyphs/funnel-x.ts +15 -0
- package/src/icons/glyphs/funnel.ts +13 -0
- package/src/icons/glyphs/gallery-horizontal-end.ts +10 -0
- package/src/icons/glyphs/gallery-horizontal.ts +10 -0
- package/src/icons/glyphs/gallery-thumbnails.ts +12 -0
- package/src/icons/glyphs/gallery-vertical-end.ts +10 -0
- package/src/icons/glyphs/gallery-vertical.ts +10 -0
- package/src/icons/glyphs/gamepad-2.ts +17 -0
- package/src/icons/glyphs/gamepad-directional.ts +31 -0
- package/src/icons/glyphs/gamepad.ts +12 -0
- package/src/icons/glyphs/gauge.ts +9 -0
- package/src/icons/glyphs/gavel.ts +12 -0
- package/src/icons/glyphs/gem.ts +15 -0
- package/src/icons/glyphs/georgian-lari.ts +11 -0
- package/src/icons/glyphs/ghost.ts +10 -0
- package/src/icons/glyphs/gift.ts +11 -0
- package/src/icons/glyphs/git-branch-minus.ts +11 -0
- package/src/icons/glyphs/git-branch-plus.ts +13 -0
- package/src/icons/glyphs/git-branch.ts +10 -0
- package/src/icons/glyphs/git-commit-horizontal.ts +10 -0
- package/src/icons/glyphs/git-commit-vertical.ts +10 -0
- package/src/icons/glyphs/git-compare-arrows.ts +13 -0
- package/src/icons/glyphs/git-compare.ts +11 -0
- package/src/icons/glyphs/git-fork.ts +12 -0
- package/src/icons/glyphs/git-graph.ts +13 -0
- package/src/icons/glyphs/git-merge-conflict.ts +12 -0
- package/src/icons/glyphs/git-merge.ts +10 -0
- package/src/icons/glyphs/git-pull-request-arrow.ts +12 -0
- package/src/icons/glyphs/git-pull-request-closed.ts +13 -0
- package/src/icons/glyphs/git-pull-request-create-arrow.ts +13 -0
- package/src/icons/glyphs/git-pull-request-create.ts +12 -0
- package/src/icons/glyphs/git-pull-request-draft.ts +12 -0
- package/src/icons/glyphs/git-pull-request.ts +11 -0
- package/src/icons/glyphs/glass-water.ts +14 -0
- package/src/icons/glyphs/glasses.ts +12 -0
- package/src/icons/glyphs/globe-check.ts +9 -0
- package/src/icons/glyphs/globe-lock.ts +11 -0
- package/src/icons/glyphs/globe-off.ts +14 -0
- package/src/icons/glyphs/globe-x.ts +10 -0
- package/src/icons/glyphs/globe.ts +10 -0
- package/src/icons/glyphs/goal.ts +10 -0
- package/src/icons/glyphs/gpu.ts +12 -0
- package/src/icons/glyphs/graduation-cap.ts +15 -0
- package/src/icons/glyphs/grape.ts +16 -0
- package/src/icons/glyphs/grid-2x2-check.ts +14 -0
- package/src/icons/glyphs/grid-2x2-plus.ts +15 -0
- package/src/icons/glyphs/grid-2x2-x.ts +15 -0
- package/src/icons/glyphs/grid-2x2.ts +10 -0
- package/src/icons/glyphs/grid-3x2.ts +11 -0
- package/src/icons/glyphs/grid-3x3.ts +12 -0
- package/src/icons/glyphs/grip-horizontal.ts +13 -0
- package/src/icons/glyphs/grip-vertical.ts +13 -0
- package/src/icons/glyphs/grip.ts +16 -0
- package/src/icons/glyphs/group.ts +13 -0
- package/src/icons/glyphs/guitar.ts +21 -0
- package/src/icons/glyphs/ham.ts +19 -0
- package/src/icons/glyphs/hamburger.ts +11 -0
- package/src/icons/glyphs/hammer.ts +15 -0
- package/src/icons/glyphs/hand-coins.ts +17 -0
- package/src/icons/glyphs/hand-fist.ts +16 -0
- package/src/icons/glyphs/hand-grab.ts +12 -0
- package/src/icons/glyphs/hand-heart.ts +19 -0
- package/src/icons/glyphs/hand-helping.ts +15 -0
- package/src/icons/glyphs/hand-metal.ts +16 -0
- package/src/icons/glyphs/hand-platter.ts +18 -0
- package/src/icons/glyphs/hand.ts +16 -0
- package/src/icons/glyphs/handbag.ts +14 -0
- package/src/icons/glyphs/handshake.ts +17 -0
- package/src/icons/glyphs/hard-drive-download.ts +12 -0
- package/src/icons/glyphs/hard-drive-upload.ts +12 -0
- package/src/icons/glyphs/hard-drive.ts +16 -0
- package/src/icons/glyphs/hard-hat.ts +11 -0
- package/src/icons/glyphs/hash.ts +11 -0
- package/src/icons/glyphs/hat-glasses.ts +17 -0
- package/src/icons/glyphs/haze.ts +15 -0
- package/src/icons/glyphs/hd.ts +17 -0
- package/src/icons/glyphs/hdmi-port.ts +14 -0
- package/src/icons/glyphs/heading-1.ts +11 -0
- package/src/icons/glyphs/heading-2.ts +11 -0
- package/src/icons/glyphs/heading-3.ts +12 -0
- package/src/icons/glyphs/heading-4.ts +12 -0
- package/src/icons/glyphs/heading-5.ts +12 -0
- package/src/icons/glyphs/heading-6.ts +12 -0
- package/src/icons/glyphs/heading.ts +10 -0
- package/src/icons/glyphs/headphone-off.ts +12 -0
- package/src/icons/glyphs/headphones.ts +13 -0
- package/src/icons/glyphs/headset.ts +14 -0
- package/src/icons/glyphs/heart-crack.ts +19 -0
- package/src/icons/glyphs/heart-handshake.ts +13 -0
- package/src/icons/glyphs/heart-minus.ts +14 -0
- package/src/icons/glyphs/heart-off.ts +20 -0
- package/src/icons/glyphs/heart-plus.ts +15 -0
- package/src/icons/glyphs/heart-pulse.ts +14 -0
- package/src/icons/glyphs/heart-x.ts +15 -0
- package/src/icons/glyphs/heart.ts +13 -0
- package/src/icons/glyphs/heater.ts +17 -0
- package/src/icons/glyphs/helicopter.ts +15 -0
- package/src/icons/glyphs/hexagon.ts +13 -0
- package/src/icons/glyphs/highlighter.ts +9 -0
- package/src/icons/glyphs/hop-off.ts +30 -0
- package/src/icons/glyphs/hop.ts +40 -0
- package/src/icons/glyphs/hospital.ts +12 -0
- package/src/icons/glyphs/hotel.ts +17 -0
- package/src/icons/glyphs/hourglass.ts +11 -0
- package/src/icons/glyphs/house-heart.ts +19 -0
- package/src/icons/glyphs/house-plug.ts +16 -0
- package/src/icons/glyphs/house-plus.ts +16 -0
- package/src/icons/glyphs/house-wifi.ts +16 -0
- package/src/icons/glyphs/house.ts +14 -0
- package/src/icons/glyphs/ice-cream-bowl.ts +13 -0
- package/src/icons/glyphs/ice-cream-cone.ts +10 -0
- package/src/icons/glyphs/id-card-lanyard.ts +12 -0
- package/src/icons/glyphs/id-card.ts +12 -0
- package/src/icons/glyphs/image-down.ts +16 -0
- package/src/icons/glyphs/image-minus.ts +11 -0
- package/src/icons/glyphs/image-off.ts +13 -0
- package/src/icons/glyphs/image-play.ts +16 -0
- package/src/icons/glyphs/image-plus.ts +12 -0
- package/src/icons/glyphs/image-up.ts +16 -0
- package/src/icons/glyphs/image-upscale.ts +15 -0
- package/src/icons/glyphs/image.ts +10 -0
- package/src/icons/glyphs/images.ts +11 -0
- package/src/icons/glyphs/import.ts +10 -0
- package/src/icons/glyphs/inbox.ts +14 -0
- package/src/icons/glyphs/indian-rupee.ts +12 -0
- package/src/icons/glyphs/infinity.ts +8 -0
- package/src/icons/glyphs/info.ts +10 -0
- package/src/icons/glyphs/inspection-panel.ts +12 -0
- package/src/icons/glyphs/italic.ts +10 -0
- package/src/icons/glyphs/iteration-ccw.ts +9 -0
- package/src/icons/glyphs/iteration-cw.ts +9 -0
- package/src/icons/glyphs/japanese-yen.ts +10 -0
- package/src/icons/glyphs/joystick.ts +11 -0
- package/src/icons/glyphs/kanban.ts +10 -0
- package/src/icons/glyphs/kayak.ts +16 -0
- package/src/icons/glyphs/key-round.ts +14 -0
- package/src/icons/glyphs/key-square.ts +20 -0
- package/src/icons/glyphs/key.ts +10 -0
- package/src/icons/glyphs/keyboard-music.ts +16 -0
- package/src/icons/glyphs/keyboard-off.ts +17 -0
- package/src/icons/glyphs/keyboard.ts +16 -0
- package/src/icons/glyphs/lamp-ceiling.ts +15 -0
- package/src/icons/glyphs/lamp-desk.ts +16 -0
- package/src/icons/glyphs/lamp-floor.ts +15 -0
- package/src/icons/glyphs/lamp-wall-down.ts +15 -0
- package/src/icons/glyphs/lamp-wall-up.ts +15 -0
- package/src/icons/glyphs/lamp.ts +15 -0
- package/src/icons/glyphs/land-plot.ts +16 -0
- package/src/icons/glyphs/landmark.ts +16 -0
- package/src/icons/glyphs/languages.ts +13 -0
- package/src/icons/glyphs/laptop-minimal-check.ts +10 -0
- package/src/icons/glyphs/laptop-minimal.ts +9 -0
- package/src/icons/glyphs/laptop.ts +14 -0
- package/src/icons/glyphs/lasso-select.ts +20 -0
- package/src/icons/glyphs/lasso.ts +10 -0
- package/src/icons/glyphs/layer-arrow-down.ts +16 -0
- package/src/icons/glyphs/layer-arrow-up.ts +15 -0
- package/src/icons/glyphs/layers-2.ts +19 -0
- package/src/icons/glyphs/layers-arrow-down.ts +17 -0
- package/src/icons/glyphs/layers-arrow-up.ts +16 -0
- package/src/icons/glyphs/layers-minus.ts +20 -0
- package/src/icons/glyphs/layers-plus.ts +17 -0
- package/src/icons/glyphs/layers.ts +15 -0
- package/src/icons/glyphs/layout-dashboard.ts +11 -0
- package/src/icons/glyphs/layout-freeform.ts +10 -0
- package/src/icons/glyphs/layout-grid.ts +11 -0
- package/src/icons/glyphs/layout-list.ts +13 -0
- package/src/icons/glyphs/layout-panel-left.ts +10 -0
- package/src/icons/glyphs/layout-panel-top.ts +10 -0
- package/src/icons/glyphs/layout-template.ts +10 -0
- package/src/icons/glyphs/leaf.ts +12 -0
- package/src/icons/glyphs/leafy-green.ts +14 -0
- package/src/icons/glyphs/lectern.ts +15 -0
- package/src/icons/glyphs/lens-concave.ts +13 -0
- package/src/icons/glyphs/lens-convex.ts +13 -0
- package/src/icons/glyphs/library-big.ts +15 -0
- package/src/icons/glyphs/library.ts +11 -0
- package/src/icons/glyphs/life-buoy.ts +13 -0
- package/src/icons/glyphs/ligature.ts +12 -0
- package/src/icons/glyphs/lightbulb-off.ts +12 -0
- package/src/icons/glyphs/lightbulb.ts +15 -0
- package/src/icons/glyphs/line-dot-right-horizontal.ts +9 -0
- package/src/icons/glyphs/line-squiggle.ts +11 -0
- package/src/icons/glyphs/line-style.ts +13 -0
- package/src/icons/glyphs/link-2-off.ts +11 -0
- package/src/icons/glyphs/link-2.ts +10 -0
- package/src/icons/glyphs/link.ts +9 -0
- package/src/icons/glyphs/list-check.ts +11 -0
- package/src/icons/glyphs/list-checks.ts +12 -0
- package/src/icons/glyphs/list-chevrons-down-up.ts +12 -0
- package/src/icons/glyphs/list-chevrons-up-down.ts +12 -0
- package/src/icons/glyphs/list-collapse.ts +12 -0
- package/src/icons/glyphs/list-end.ts +12 -0
- package/src/icons/glyphs/list-filter-plus.ts +12 -0
- package/src/icons/glyphs/list-filter.ts +10 -0
- package/src/icons/glyphs/list-indent-decrease.ts +11 -0
- package/src/icons/glyphs/list-indent-increase.ts +11 -0
- package/src/icons/glyphs/list-minus.ts +11 -0
- package/src/icons/glyphs/list-music.ts +12 -0
- package/src/icons/glyphs/list-ordered.ts +13 -0
- package/src/icons/glyphs/list-plus.ts +12 -0
- package/src/icons/glyphs/list-restart.ts +12 -0
- package/src/icons/glyphs/list-sort-ascending.ts +10 -0
- package/src/icons/glyphs/list-sort-descending.ts +10 -0
- package/src/icons/glyphs/list-start.ts +12 -0
- package/src/icons/glyphs/list-todo.ts +12 -0
- package/src/icons/glyphs/list-tree.ts +12 -0
- package/src/icons/glyphs/list-video.ts +16 -0
- package/src/icons/glyphs/list-x.ts +12 -0
- package/src/icons/glyphs/list.ts +13 -0
- package/src/icons/glyphs/loader-circle.ts +6 -0
- package/src/icons/glyphs/loader-pinwheel.ts +11 -0
- package/src/icons/glyphs/loader.ts +15 -0
- package/src/icons/glyphs/locate-fixed.ts +13 -0
- package/src/icons/glyphs/locate-off.ts +14 -0
- package/src/icons/glyphs/locate.ts +12 -0
- package/src/icons/glyphs/lock-keyhole-open.ts +10 -0
- package/src/icons/glyphs/lock-keyhole.ts +10 -0
- package/src/icons/glyphs/lock-open.ts +9 -0
- package/src/icons/glyphs/lock.ts +9 -0
- package/src/icons/glyphs/log-in.ts +10 -0
- package/src/icons/glyphs/log-out.ts +10 -0
- package/src/icons/glyphs/logs.ts +16 -0
- package/src/icons/glyphs/lollipop.ts +10 -0
- package/src/icons/glyphs/luggage.ts +12 -0
- package/src/icons/glyphs/magnet.ts +15 -0
- package/src/icons/glyphs/mail-badge.ts +16 -0
- package/src/icons/glyphs/mail-check.ts +10 -0
- package/src/icons/glyphs/mail-minus.ts +10 -0
- package/src/icons/glyphs/mail-open.ts +14 -0
- package/src/icons/glyphs/mail-plus.ts +11 -0
- package/src/icons/glyphs/mail-question-mark.ts +11 -0
- package/src/icons/glyphs/mail-search.ts +12 -0
- package/src/icons/glyphs/mail-warning.ts +11 -0
- package/src/icons/glyphs/mail-x.ts +11 -0
- package/src/icons/glyphs/mail.ts +9 -0
- package/src/icons/glyphs/mailbox.ts +11 -0
- package/src/icons/glyphs/mails.ts +10 -0
- package/src/icons/glyphs/map-minus.ts +16 -0
- package/src/icons/glyphs/map-pin-check-inside.ts +14 -0
- package/src/icons/glyphs/map-pin-check.ts +15 -0
- package/src/icons/glyphs/map-pin-house.ts +16 -0
- package/src/icons/glyphs/map-pin-minus-inside.ts +14 -0
- package/src/icons/glyphs/map-pin-minus.ts +15 -0
- package/src/icons/glyphs/map-pin-off.ts +17 -0
- package/src/icons/glyphs/map-pin-pen.ts +15 -0
- package/src/icons/glyphs/map-pin-plus-inside.ts +15 -0
- package/src/icons/glyphs/map-pin-plus.ts +16 -0
- package/src/icons/glyphs/map-pin-search.ts +16 -0
- package/src/icons/glyphs/map-pin-x-inside.ts +15 -0
- package/src/icons/glyphs/map-pin-x.ts +16 -0
- package/src/icons/glyphs/map-pin.ts +14 -0
- package/src/icons/glyphs/map-pinned.ts +20 -0
- package/src/icons/glyphs/map-plus.ts +17 -0
- package/src/icons/glyphs/map.ts +15 -0
- package/src/icons/glyphs/mars-stroke.ts +11 -0
- package/src/icons/glyphs/mars.ts +10 -0
- package/src/icons/glyphs/martini.ts +10 -0
- package/src/icons/glyphs/maximize-2.ts +11 -0
- package/src/icons/glyphs/maximize.ts +11 -0
- package/src/icons/glyphs/medal.ts +18 -0
- package/src/icons/glyphs/megaphone-off.ts +12 -0
- package/src/icons/glyphs/megaphone.ts +15 -0
- package/src/icons/glyphs/memory-stick.ts +18 -0
- package/src/icons/glyphs/menu.ts +10 -0
- package/src/icons/glyphs/merge.ts +10 -0
- package/src/icons/glyphs/message-circle-check.ts +14 -0
- package/src/icons/glyphs/message-circle-code.ts +15 -0
- package/src/icons/glyphs/message-circle-dashed.ts +15 -0
- package/src/icons/glyphs/message-circle-heart.ts +19 -0
- package/src/icons/glyphs/message-circle-more.ts +16 -0
- package/src/icons/glyphs/message-circle-off.ts +15 -0
- package/src/icons/glyphs/message-circle-plus.ts +15 -0
- package/src/icons/glyphs/message-circle-question-mark.ts +15 -0
- package/src/icons/glyphs/message-circle-reply.ts +15 -0
- package/src/icons/glyphs/message-circle-warning.ts +15 -0
- package/src/icons/glyphs/message-circle-x.ts +15 -0
- package/src/icons/glyphs/message-circle.ts +13 -0
- package/src/icons/glyphs/message-square-check.ts +14 -0
- package/src/icons/glyphs/message-square-code.ts +15 -0
- package/src/icons/glyphs/message-square-dashed.ts +17 -0
- package/src/icons/glyphs/message-square-diff.ts +16 -0
- package/src/icons/glyphs/message-square-dot.ts +14 -0
- package/src/icons/glyphs/message-square-heart.ts +19 -0
- package/src/icons/glyphs/message-square-lock.ts +15 -0
- package/src/icons/glyphs/message-square-more.ts +16 -0
- package/src/icons/glyphs/message-square-off.ts +15 -0
- package/src/icons/glyphs/message-square-plus.ts +15 -0
- package/src/icons/glyphs/message-square-quote.ts +15 -0
- package/src/icons/glyphs/message-square-reply.ts +15 -0
- package/src/icons/glyphs/message-square-share.ts +15 -0
- package/src/icons/glyphs/message-square-text.ts +16 -0
- package/src/icons/glyphs/message-square-warning.ts +15 -0
- package/src/icons/glyphs/message-square-x.ts +15 -0
- package/src/icons/glyphs/message-square.ts +13 -0
- package/src/icons/glyphs/messages-square.ts +19 -0
- package/src/icons/glyphs/metronome.ts +16 -0
- package/src/icons/glyphs/mic-audio-lines.ts +16 -0
- package/src/icons/glyphs/mic-off.ts +13 -0
- package/src/icons/glyphs/mic-signal.ts +14 -0
- package/src/icons/glyphs/mic-vocal.ts +15 -0
- package/src/icons/glyphs/mic.ts +10 -0
- package/src/icons/glyphs/microchip.ts +17 -0
- package/src/icons/glyphs/microscope.ts +13 -0
- package/src/icons/glyphs/microwave.ts +12 -0
- package/src/icons/glyphs/milestone.ts +15 -0
- package/src/icons/glyphs/milk-off.ts +16 -0
- package/src/icons/glyphs/milk.ts +15 -0
- package/src/icons/glyphs/minimize-2.ts +11 -0
- package/src/icons/glyphs/minimize.ts +11 -0
- package/src/icons/glyphs/minus.ts +6 -0
- package/src/icons/glyphs/mirror-rectangular.ts +10 -0
- package/src/icons/glyphs/mirror-round.ts +12 -0
- package/src/icons/glyphs/monitor-check.ts +11 -0
- package/src/icons/glyphs/monitor-cloud.ts +11 -0
- package/src/icons/glyphs/monitor-cog.ts +19 -0
- package/src/icons/glyphs/monitor-dot.ts +11 -0
- package/src/icons/glyphs/monitor-down.ts +12 -0
- package/src/icons/glyphs/monitor-off.ts +12 -0
- package/src/icons/glyphs/monitor-pause.ts +12 -0
- package/src/icons/glyphs/monitor-play.ts +16 -0
- package/src/icons/glyphs/monitor-smartphone.ts +11 -0
- package/src/icons/glyphs/monitor-speaker.ts +12 -0
- package/src/icons/glyphs/monitor-stop.ts +11 -0
- package/src/icons/glyphs/monitor-up.ts +12 -0
- package/src/icons/glyphs/monitor-x.ts +12 -0
- package/src/icons/glyphs/monitor.ts +10 -0
- package/src/icons/glyphs/moon-star.ts +15 -0
- package/src/icons/glyphs/moon.ts +13 -0
- package/src/icons/glyphs/mosque.ts +18 -0
- package/src/icons/glyphs/motorbike.ts +12 -0
- package/src/icons/glyphs/mountain-snow.ts +9 -0
- package/src/icons/glyphs/mountain.ts +6 -0
- package/src/icons/glyphs/mouse-left.ts +10 -0
- package/src/icons/glyphs/mouse-off.ts +11 -0
- package/src/icons/glyphs/mouse-pointer-2-off.ts +15 -0
- package/src/icons/glyphs/mouse-pointer-2.ts +13 -0
- package/src/icons/glyphs/mouse-pointer-ban.ts +15 -0
- package/src/icons/glyphs/mouse-pointer-click.ts +17 -0
- package/src/icons/glyphs/mouse-pointer.ts +14 -0
- package/src/icons/glyphs/mouse-right.ts +10 -0
- package/src/icons/glyphs/mouse.ts +9 -0
- package/src/icons/glyphs/move-3d.ts +11 -0
- package/src/icons/glyphs/move-diagonal-2.ts +10 -0
- package/src/icons/glyphs/move-diagonal.ts +10 -0
- package/src/icons/glyphs/move-down-left.ts +9 -0
- package/src/icons/glyphs/move-down-right.ts +9 -0
- package/src/icons/glyphs/move-down.ts +9 -0
- package/src/icons/glyphs/move-horizontal.ts +10 -0
- package/src/icons/glyphs/move-left.ts +9 -0
- package/src/icons/glyphs/move-right.ts +9 -0
- package/src/icons/glyphs/move-up-left.ts +9 -0
- package/src/icons/glyphs/move-up-right.ts +9 -0
- package/src/icons/glyphs/move-up.ts +9 -0
- package/src/icons/glyphs/move-vertical.ts +10 -0
- package/src/icons/glyphs/move.ts +13 -0
- package/src/icons/glyphs/music-2.ts +9 -0
- package/src/icons/glyphs/music-3.ts +9 -0
- package/src/icons/glyphs/music-4.ts +11 -0
- package/src/icons/glyphs/music.ts +10 -0
- package/src/icons/glyphs/navigation-2-off.ts +10 -0
- package/src/icons/glyphs/navigation-2.ts +6 -0
- package/src/icons/glyphs/navigation-off.ts +10 -0
- package/src/icons/glyphs/navigation.ts +6 -0
- package/src/icons/glyphs/network.ts +12 -0
- package/src/icons/glyphs/newspaper.ts +16 -0
- package/src/icons/glyphs/nfc.ts +11 -0
- package/src/icons/glyphs/non-binary.ts +11 -0
- package/src/icons/glyphs/notebook-pen.ts +18 -0
- package/src/icons/glyphs/notebook-tabs.ts +16 -0
- package/src/icons/glyphs/notebook-text.ts +15 -0
- package/src/icons/glyphs/notebook.ts +13 -0
- package/src/icons/glyphs/notepad-text-dashed.ts +20 -0
- package/src/icons/glyphs/notepad-text.ts +14 -0
- package/src/icons/glyphs/nut-off.ts +22 -0
- package/src/icons/glyphs/nut.ts +20 -0
- package/src/icons/glyphs/octagon-alert.ts +15 -0
- package/src/icons/glyphs/octagon-minus.ts +14 -0
- package/src/icons/glyphs/octagon-pause.ts +15 -0
- package/src/icons/glyphs/octagon-x.ts +15 -0
- package/src/icons/glyphs/octagon.ts +13 -0
- package/src/icons/glyphs/omega.ts +13 -0
- package/src/icons/glyphs/option.ts +9 -0
- package/src/icons/glyphs/orbit.ts +12 -0
- package/src/icons/glyphs/origami.ts +18 -0
- package/src/icons/glyphs/package-2.ts +15 -0
- package/src/icons/glyphs/package-check.ts +17 -0
- package/src/icons/glyphs/package-minus.ts +17 -0
- package/src/icons/glyphs/package-open.ts +26 -0
- package/src/icons/glyphs/package-plus.ts +18 -0
- package/src/icons/glyphs/package-search.ts +18 -0
- package/src/icons/glyphs/package-x.ts +18 -0
- package/src/icons/glyphs/package.ts +16 -0
- package/src/icons/glyphs/paint-bucket.ts +21 -0
- package/src/icons/glyphs/paint-roller.ts +10 -0
- package/src/icons/glyphs/paintbrush-vertical.ts +16 -0
- package/src/icons/glyphs/paintbrush.ts +20 -0
- package/src/icons/glyphs/palette.ts +17 -0
- package/src/icons/glyphs/panda.ts +18 -0
- package/src/icons/glyphs/panel-bottom-close.ts +10 -0
- package/src/icons/glyphs/panel-bottom-dashed.ts +12 -0
- package/src/icons/glyphs/panel-bottom-open.ts +10 -0
- package/src/icons/glyphs/panel-bottom.ts +9 -0
- package/src/icons/glyphs/panel-left-close.ts +10 -0
- package/src/icons/glyphs/panel-left-dashed.ts +12 -0
- package/src/icons/glyphs/panel-left-open.ts +10 -0
- package/src/icons/glyphs/panel-left-right-dashed.ts +16 -0
- package/src/icons/glyphs/panel-left.ts +9 -0
- package/src/icons/glyphs/panel-right-close.ts +10 -0
- package/src/icons/glyphs/panel-right-dashed.ts +12 -0
- package/src/icons/glyphs/panel-right-open.ts +10 -0
- package/src/icons/glyphs/panel-right.ts +9 -0
- package/src/icons/glyphs/panel-top-bottom-dashed.ts +16 -0
- package/src/icons/glyphs/panel-top-close.ts +10 -0
- package/src/icons/glyphs/panel-top-dashed.ts +12 -0
- package/src/icons/glyphs/panel-top-open.ts +10 -0
- package/src/icons/glyphs/panel-top.ts +9 -0
- package/src/icons/glyphs/panels-left-bottom.ts +10 -0
- package/src/icons/glyphs/panels-right-bottom.ts +10 -0
- package/src/icons/glyphs/panels-top-left.ts +10 -0
- package/src/icons/glyphs/paper-bag.ts +19 -0
- package/src/icons/glyphs/paperclip.ts +13 -0
- package/src/icons/glyphs/parasol.ts +15 -0
- package/src/icons/glyphs/parentheses.ts +9 -0
- package/src/icons/glyphs/parking-meter.ts +17 -0
- package/src/icons/glyphs/party-popper.ts +26 -0
- package/src/icons/glyphs/pause.ts +9 -0
- package/src/icons/glyphs/paw-print.ts +16 -0
- package/src/icons/glyphs/pc-case.ts +11 -0
- package/src/icons/glyphs/pen-line.ts +14 -0
- package/src/icons/glyphs/pen-off.ts +15 -0
- package/src/icons/glyphs/pen-tool.ts +21 -0
- package/src/icons/glyphs/pen.ts +13 -0
- package/src/icons/glyphs/pencil-line.ts +15 -0
- package/src/icons/glyphs/pencil-off.ts +16 -0
- package/src/icons/glyphs/pencil-ruler.ts +18 -0
- package/src/icons/glyphs/pencil-sparkles.ts +20 -0
- package/src/icons/glyphs/pencil.ts +14 -0
- package/src/icons/glyphs/pentagon.ts +13 -0
- package/src/icons/glyphs/percent.ts +10 -0
- package/src/icons/glyphs/person-standing.ts +11 -0
- package/src/icons/glyphs/phi.ts +9 -0
- package/src/icons/glyphs/philippine-peso.ts +10 -0
- package/src/icons/glyphs/phone-call.ts +15 -0
- package/src/icons/glyphs/phone-forwarded.ts +15 -0
- package/src/icons/glyphs/phone-incoming.ts +15 -0
- package/src/icons/glyphs/phone-missed.ts +15 -0
- package/src/icons/glyphs/phone-off.ts +20 -0
- package/src/icons/glyphs/phone-outgoing.ts +15 -0
- package/src/icons/glyphs/phone.ts +13 -0
- package/src/icons/glyphs/pi.ts +10 -0
- package/src/icons/glyphs/piano.ts +18 -0
- package/src/icons/glyphs/pickaxe.ts +26 -0
- package/src/icons/glyphs/picture-in-picture-2.ts +9 -0
- package/src/icons/glyphs/picture-in-picture.ts +12 -0
- package/src/icons/glyphs/piggy-bank.ts +15 -0
- package/src/icons/glyphs/pilcrow-left.ts +12 -0
- package/src/icons/glyphs/pilcrow-right.ts +12 -0
- package/src/icons/glyphs/pilcrow.ts +10 -0
- package/src/icons/glyphs/pill-bottle.ts +10 -0
- package/src/icons/glyphs/pill.ts +9 -0
- package/src/icons/glyphs/pin-off.ts +11 -0
- package/src/icons/glyphs/pin.ts +14 -0
- package/src/icons/glyphs/pipette.ts +15 -0
- package/src/icons/glyphs/pizza.ts +17 -0
- package/src/icons/glyphs/plane-landing.ts +14 -0
- package/src/icons/glyphs/plane-takeoff.ts +14 -0
- package/src/icons/glyphs/plane.ts +13 -0
- package/src/icons/glyphs/play-off.ts +10 -0
- package/src/icons/glyphs/play.ts +11 -0
- package/src/icons/glyphs/plug-2.ts +12 -0
- package/src/icons/glyphs/plug-zap.ts +12 -0
- package/src/icons/glyphs/plug.ts +11 -0
- package/src/icons/glyphs/plus.ts +9 -0
- package/src/icons/glyphs/pocket-knife.ts +12 -0
- package/src/icons/glyphs/podium.ts +15 -0
- package/src/icons/glyphs/pointer-off.ts +16 -0
- package/src/icons/glyphs/pointer.ts +17 -0
- package/src/icons/glyphs/popcorn.ts +16 -0
- package/src/icons/glyphs/popsicle.ts +12 -0
- package/src/icons/glyphs/pound-sterling.ts +11 -0
- package/src/icons/glyphs/power-off.ts +11 -0
- package/src/icons/glyphs/power.ts +9 -0
- package/src/icons/glyphs/presentation.ts +10 -0
- package/src/icons/glyphs/printer-check.ts +11 -0
- package/src/icons/glyphs/printer-x.ts +12 -0
- package/src/icons/glyphs/printer.ts +10 -0
- package/src/icons/glyphs/projector.ts +16 -0
- package/src/icons/glyphs/proportions.ts +10 -0
- package/src/icons/glyphs/puzzle.ts +13 -0
- package/src/icons/glyphs/pyramid.ts +14 -0
- package/src/icons/glyphs/qr-code.ts +19 -0
- package/src/icons/glyphs/quote.ts +19 -0
- package/src/icons/glyphs/rabbit.ts +17 -0
- package/src/icons/glyphs/radar.ts +15 -0
- package/src/icons/glyphs/radiation.ts +26 -0
- package/src/icons/glyphs/radical.ts +13 -0
- package/src/icons/glyphs/radio-off.ts +13 -0
- package/src/icons/glyphs/radio-receiver.ts +11 -0
- package/src/icons/glyphs/radio-tower.ts +14 -0
- package/src/icons/glyphs/radio.ts +12 -0
- package/src/icons/glyphs/radius.ts +11 -0
- package/src/icons/glyphs/rainbow.ts +10 -0
- package/src/icons/glyphs/rat.ts +17 -0
- package/src/icons/glyphs/ratio.ts +9 -0
- package/src/icons/glyphs/receipt-cent.ts +15 -0
- package/src/icons/glyphs/receipt-euro.ts +15 -0
- package/src/icons/glyphs/receipt-indian-rupee.ts +16 -0
- package/src/icons/glyphs/receipt-japanese-yen.ts +17 -0
- package/src/icons/glyphs/receipt-pound-sterling.ts +16 -0
- package/src/icons/glyphs/receipt-russian-ruble.ts +15 -0
- package/src/icons/glyphs/receipt-swiss-franc.ts +16 -0
- package/src/icons/glyphs/receipt-text.ts +16 -0
- package/src/icons/glyphs/receipt-turkish-lira.ts +15 -0
- package/src/icons/glyphs/receipt.ts +15 -0
- package/src/icons/glyphs/rectangle-circle.ts +9 -0
- package/src/icons/glyphs/rectangle-ellipsis.ts +11 -0
- package/src/icons/glyphs/rectangle-goggles.ts +13 -0
- package/src/icons/glyphs/rectangle-horizontal.ts +8 -0
- package/src/icons/glyphs/rectangle-vertical.ts +8 -0
- package/src/icons/glyphs/recycle.ts +18 -0
- package/src/icons/glyphs/redo-2.ts +9 -0
- package/src/icons/glyphs/redo-dot.ts +10 -0
- package/src/icons/glyphs/redo.ts +9 -0
- package/src/icons/glyphs/refresh-ccw-dot.ts +12 -0
- package/src/icons/glyphs/refresh-ccw.ts +11 -0
- package/src/icons/glyphs/refresh-cw-off.ts +14 -0
- package/src/icons/glyphs/refresh-cw.ts +11 -0
- package/src/icons/glyphs/refrigerator.ts +10 -0
- package/src/icons/glyphs/regex.ts +11 -0
- package/src/icons/glyphs/remove-formatting.ts +12 -0
- package/src/icons/glyphs/repeat-1.ts +12 -0
- package/src/icons/glyphs/repeat-2.ts +11 -0
- package/src/icons/glyphs/repeat-off.ts +14 -0
- package/src/icons/glyphs/repeat.ts +11 -0
- package/src/icons/glyphs/replace-all.ts +16 -0
- package/src/icons/glyphs/replace.ts +14 -0
- package/src/icons/glyphs/reply-all.ts +10 -0
- package/src/icons/glyphs/reply.ts +9 -0
- package/src/icons/glyphs/rewind.ts +9 -0
- package/src/icons/glyphs/ribbon.ts +17 -0
- package/src/icons/glyphs/road.ts +16 -0
- package/src/icons/glyphs/rocket.ts +21 -0
- package/src/icons/glyphs/rocking-chair.ts +11 -0
- package/src/icons/glyphs/roller-coaster.ts +14 -0
- package/src/icons/glyphs/rose.ts +15 -0
- package/src/icons/glyphs/rotate-3d.ts +10 -0
- package/src/icons/glyphs/rotate-ccw-clock.ts +10 -0
- package/src/icons/glyphs/rotate-ccw-key.ts +12 -0
- package/src/icons/glyphs/rotate-ccw-square.ts +10 -0
- package/src/icons/glyphs/rotate-ccw.ts +9 -0
- package/src/icons/glyphs/rotate-cw-fading-clock.ts +17 -0
- package/src/icons/glyphs/rotate-cw-square.ts +10 -0
- package/src/icons/glyphs/rotate-cw.ts +9 -0
- package/src/icons/glyphs/route-off.ts +14 -0
- package/src/icons/glyphs/route.ts +10 -0
- package/src/icons/glyphs/router.ts +13 -0
- package/src/icons/glyphs/rows-2.ts +9 -0
- package/src/icons/glyphs/rows-3.ts +10 -0
- package/src/icons/glyphs/rows-4.ts +11 -0
- package/src/icons/glyphs/rss.ts +10 -0
- package/src/icons/glyphs/ruler-dimension-line.ts +15 -0
- package/src/icons/glyphs/ruler.ts +17 -0
- package/src/icons/glyphs/russian-ruble.ts +9 -0
- package/src/icons/glyphs/sailboat.ts +13 -0
- package/src/icons/glyphs/salad.ts +17 -0
- package/src/icons/glyphs/sandwich.ts +12 -0
- package/src/icons/glyphs/satellite-dish.ts +11 -0
- package/src/icons/glyphs/satellite.ts +27 -0
- package/src/icons/glyphs/saudi-riyal.ts +11 -0
- package/src/icons/glyphs/save-all.ts +16 -0
- package/src/icons/glyphs/save-check.ts +16 -0
- package/src/icons/glyphs/save-off.ts +14 -0
- package/src/icons/glyphs/save-pen.ts +19 -0
- package/src/icons/glyphs/save-plus.ts +17 -0
- package/src/icons/glyphs/save.ts +15 -0
- package/src/icons/glyphs/scale-3d.ts +11 -0
- package/src/icons/glyphs/scale.ts +12 -0
- package/src/icons/glyphs/scaling.ts +11 -0
- package/src/icons/glyphs/scan-barcode.ts +14 -0
- package/src/icons/glyphs/scan-box.ts +19 -0
- package/src/icons/glyphs/scan-eye.ts +18 -0
- package/src/icons/glyphs/scan-face.ts +14 -0
- package/src/icons/glyphs/scan-heart.ts +15 -0
- package/src/icons/glyphs/scan-line.ts +12 -0
- package/src/icons/glyphs/scan-qr-code.ts +15 -0
- package/src/icons/glyphs/scan-search.ts +13 -0
- package/src/icons/glyphs/scan-square.ts +12 -0
- package/src/icons/glyphs/scan-text.ts +14 -0
- package/src/icons/glyphs/scan.ts +11 -0
- package/src/icons/glyphs/school.ts +18 -0
- package/src/icons/glyphs/scissors-line-dashed.ts +14 -0
- package/src/icons/glyphs/scissors.ts +12 -0
- package/src/icons/glyphs/scooter.ts +11 -0
- package/src/icons/glyphs/screen-share-off.ts +12 -0
- package/src/icons/glyphs/screen-share.ts +12 -0
- package/src/icons/glyphs/scroll-text.ts +16 -0
- package/src/icons/glyphs/scroll.ts +14 -0
- package/src/icons/glyphs/search-alert.ts +11 -0
- package/src/icons/glyphs/search-check.ts +10 -0
- package/src/icons/glyphs/search-code.ts +11 -0
- package/src/icons/glyphs/search-slash.ts +10 -0
- package/src/icons/glyphs/search-x.ts +11 -0
- package/src/icons/glyphs/search.ts +9 -0
- package/src/icons/glyphs/section.ts +9 -0
- package/src/icons/glyphs/send-horizontal.ts +14 -0
- package/src/icons/glyphs/send-to-back.ts +11 -0
- package/src/icons/glyphs/send.ts +14 -0
- package/src/icons/glyphs/separator-horizontal.ts +10 -0
- package/src/icons/glyphs/separator-vertical.ts +10 -0
- package/src/icons/glyphs/server-cog.ts +19 -0
- package/src/icons/glyphs/server-crash.ts +12 -0
- package/src/icons/glyphs/server-off.ts +13 -0
- package/src/icons/glyphs/server-plus.ts +13 -0
- package/src/icons/glyphs/server.ts +11 -0
- package/src/icons/glyphs/settings-2.ts +11 -0
- package/src/icons/glyphs/settings.ts +14 -0
- package/src/icons/glyphs/shapes.ts +15 -0
- package/src/icons/glyphs/share-2.ts +12 -0
- package/src/icons/glyphs/share.ts +10 -0
- package/src/icons/glyphs/sheet.ts +12 -0
- package/src/icons/glyphs/shell.ts +13 -0
- package/src/icons/glyphs/shelving-unit.ts +14 -0
- package/src/icons/glyphs/shield-alert.ts +15 -0
- package/src/icons/glyphs/shield-ban.ts +14 -0
- package/src/icons/glyphs/shield-check.ts +14 -0
- package/src/icons/glyphs/shield-cog-corner.ts +22 -0
- package/src/icons/glyphs/shield-cog.ts +22 -0
- package/src/icons/glyphs/shield-ellipsis.ts +16 -0
- package/src/icons/glyphs/shield-half.ts +14 -0
- package/src/icons/glyphs/shield-keyhole.ts +15 -0
- package/src/icons/glyphs/shield-lock.ts +15 -0
- package/src/icons/glyphs/shield-minus.ts +14 -0
- package/src/icons/glyphs/shield-off.ts +20 -0
- package/src/icons/glyphs/shield-plus.ts +15 -0
- package/src/icons/glyphs/shield-question-mark.ts +15 -0
- package/src/icons/glyphs/shield-user.ts +15 -0
- package/src/icons/glyphs/shield-x.ts +15 -0
- package/src/icons/glyphs/shield.ts +13 -0
- package/src/icons/glyphs/ship-wheel.ts +17 -0
- package/src/icons/glyphs/ship.ts +22 -0
- package/src/icons/glyphs/shirt.ts +13 -0
- package/src/icons/glyphs/shopping-bag.ts +15 -0
- package/src/icons/glyphs/shopping-basket.ts +14 -0
- package/src/icons/glyphs/shopping-cart.ts +13 -0
- package/src/icons/glyphs/shovel.ts +20 -0
- package/src/icons/glyphs/shower-head.ts +17 -0
- package/src/icons/glyphs/shredder.ts +17 -0
- package/src/icons/glyphs/shrimp.ts +17 -0
- package/src/icons/glyphs/shrink.ts +11 -0
- package/src/icons/glyphs/shrub.ts +10 -0
- package/src/icons/glyphs/shuffle.ts +12 -0
- package/src/icons/glyphs/sigma.ts +13 -0
- package/src/icons/glyphs/signal-high.ts +11 -0
- package/src/icons/glyphs/signal-low.ts +9 -0
- package/src/icons/glyphs/signal-medium.ts +10 -0
- package/src/icons/glyphs/signal-zero.ts +6 -0
- package/src/icons/glyphs/signal.ts +12 -0
- package/src/icons/glyphs/signature.ts +14 -0
- package/src/icons/glyphs/signpost-big.ts +11 -0
- package/src/icons/glyphs/signpost.ts +15 -0
- package/src/icons/glyphs/siren.ts +15 -0
- package/src/icons/glyphs/skip-back.ts +14 -0
- package/src/icons/glyphs/skip-forward.ts +12 -0
- package/src/icons/glyphs/skull.ts +16 -0
- package/src/icons/glyphs/slash.ts +6 -0
- package/src/icons/glyphs/slice.ts +13 -0
- package/src/icons/glyphs/sliders-horizontal.ts +16 -0
- package/src/icons/glyphs/sliders-vertical.ts +16 -0
- package/src/icons/glyphs/smartphone-charging.ts +9 -0
- package/src/icons/glyphs/smartphone-nfc.ts +11 -0
- package/src/icons/glyphs/smartphone.ts +9 -0
- package/src/icons/glyphs/snail.ts +12 -0
- package/src/icons/glyphs/snowflake.ts +19 -0
- package/src/icons/glyphs/soap-dispenser-droplet.ts +16 -0
- package/src/icons/glyphs/sofa.ts +17 -0
- package/src/icons/glyphs/solar-panel.ts +19 -0
- package/src/icons/glyphs/soup.ts +13 -0
- package/src/icons/glyphs/space.ts +6 -0
- package/src/icons/glyphs/spade.ts +14 -0
- package/src/icons/glyphs/sparkle.ts +13 -0
- package/src/icons/glyphs/sparkles.ts +16 -0
- package/src/icons/glyphs/speaker.ts +11 -0
- package/src/icons/glyphs/speech.ts +15 -0
- package/src/icons/glyphs/spell-check-2.ts +15 -0
- package/src/icons/glyphs/spell-check.ts +10 -0
- package/src/icons/glyphs/spline-pointer.ts +16 -0
- package/src/icons/glyphs/spline.ts +10 -0
- package/src/icons/glyphs/split.ts +11 -0
- package/src/icons/glyphs/spool.ts +19 -0
- package/src/icons/glyphs/sport-shoe.ts +15 -0
- package/src/icons/glyphs/spotlight.ts +17 -0
- package/src/icons/glyphs/spray-can.ts +17 -0
- package/src/icons/glyphs/sprout.ts +15 -0
- package/src/icons/glyphs/square-activity.ts +9 -0
- package/src/icons/glyphs/square-arrow-down-left.ts +10 -0
- package/src/icons/glyphs/square-arrow-down-right.ts +10 -0
- package/src/icons/glyphs/square-arrow-down.ts +10 -0
- package/src/icons/glyphs/square-arrow-left.ts +10 -0
- package/src/icons/glyphs/square-arrow-out-down-left.ts +10 -0
- package/src/icons/glyphs/square-arrow-out-down-right.ts +10 -0
- package/src/icons/glyphs/square-arrow-out-up-left.ts +10 -0
- package/src/icons/glyphs/square-arrow-out-up-right.ts +10 -0
- package/src/icons/glyphs/square-arrow-right-enter.ts +10 -0
- package/src/icons/glyphs/square-arrow-right-exit.ts +13 -0
- package/src/icons/glyphs/square-arrow-right.ts +10 -0
- package/src/icons/glyphs/square-arrow-up-left.ts +10 -0
- package/src/icons/glyphs/square-arrow-up-right.ts +10 -0
- package/src/icons/glyphs/square-arrow-up.ts +10 -0
- package/src/icons/glyphs/square-asterisk.ts +11 -0
- package/src/icons/glyphs/square-bottom-dashed-scissors.ts +15 -0
- package/src/icons/glyphs/square-centerline-dashed-horizontal.ts +13 -0
- package/src/icons/glyphs/square-centerline-dashed-vertical.ts +13 -0
- package/src/icons/glyphs/square-chart-gantt.ts +11 -0
- package/src/icons/glyphs/square-check-big.ts +9 -0
- package/src/icons/glyphs/square-check.ts +9 -0
- package/src/icons/glyphs/square-chevron-down.ts +9 -0
- package/src/icons/glyphs/square-chevron-left.ts +9 -0
- package/src/icons/glyphs/square-chevron-right.ts +9 -0
- package/src/icons/glyphs/square-chevron-up.ts +9 -0
- package/src/icons/glyphs/square-code.ts +10 -0
- package/src/icons/glyphs/square-dashed-bottom-code.ts +12 -0
- package/src/icons/glyphs/square-dashed-bottom.ts +10 -0
- package/src/icons/glyphs/square-dashed-kanban.ts +22 -0
- package/src/icons/glyphs/square-dashed-mouse-pointer.ts +22 -0
- package/src/icons/glyphs/square-dashed-text.ts +22 -0
- package/src/icons/glyphs/square-dashed-top-solid.ts +16 -0
- package/src/icons/glyphs/square-dashed.ts +19 -0
- package/src/icons/glyphs/square-divide.ts +11 -0
- package/src/icons/glyphs/square-dot.ts +9 -0
- package/src/icons/glyphs/square-equal.ts +10 -0
- package/src/icons/glyphs/square-function.ts +10 -0
- package/src/icons/glyphs/square-kanban.ts +11 -0
- package/src/icons/glyphs/square-library.ts +11 -0
- package/src/icons/glyphs/square-m.ts +12 -0
- package/src/icons/glyphs/square-menu.ts +11 -0
- package/src/icons/glyphs/square-minus.ts +9 -0
- package/src/icons/glyphs/square-mouse-pointer.ts +14 -0
- package/src/icons/glyphs/square-off.ts +10 -0
- package/src/icons/glyphs/square-parking-off.ts +12 -0
- package/src/icons/glyphs/square-parking.ts +9 -0
- package/src/icons/glyphs/square-pause.ts +10 -0
- package/src/icons/glyphs/square-pen.ts +14 -0
- package/src/icons/glyphs/square-percent.ts +11 -0
- package/src/icons/glyphs/square-pi.ts +11 -0
- package/src/icons/glyphs/square-pilcrow.ts +11 -0
- package/src/icons/glyphs/square-play.ts +14 -0
- package/src/icons/glyphs/square-plus.ts +10 -0
- package/src/icons/glyphs/square-power.ts +10 -0
- package/src/icons/glyphs/square-radical.ts +9 -0
- package/src/icons/glyphs/square-round-corner.ts +9 -0
- package/src/icons/glyphs/square-scissors.ts +13 -0
- package/src/icons/glyphs/square-sigma.ts +9 -0
- package/src/icons/glyphs/square-slash.ts +9 -0
- package/src/icons/glyphs/square-split-horizontal.ts +10 -0
- package/src/icons/glyphs/square-split-vertical.ts +10 -0
- package/src/icons/glyphs/square-square.ts +9 -0
- package/src/icons/glyphs/square-stack.ts +10 -0
- package/src/icons/glyphs/square-star.ts +14 -0
- package/src/icons/glyphs/square-stop.ts +9 -0
- package/src/icons/glyphs/square-terminal.ts +10 -0
- package/src/icons/glyphs/square-user-round.ts +10 -0
- package/src/icons/glyphs/square-user.ts +10 -0
- package/src/icons/glyphs/square-x.ts +10 -0
- package/src/icons/glyphs/square.ts +8 -0
- package/src/icons/glyphs/squares-exclude.ts +19 -0
- package/src/icons/glyphs/squares-intersect.ts +18 -0
- package/src/icons/glyphs/squares-subtract.ts +18 -0
- package/src/icons/glyphs/squares-unite.ts +13 -0
- package/src/icons/glyphs/squircle-dashed.ts +15 -0
- package/src/icons/glyphs/squircle.ts +8 -0
- package/src/icons/glyphs/squirrel.ts +16 -0
- package/src/icons/glyphs/stamp.ts +15 -0
- package/src/icons/glyphs/star-check.ts +14 -0
- package/src/icons/glyphs/star-half.ts +13 -0
- package/src/icons/glyphs/star-minus.ts +14 -0
- package/src/icons/glyphs/star-off.ts +20 -0
- package/src/icons/glyphs/star-plus.ts +15 -0
- package/src/icons/glyphs/star-x.ts +15 -0
- package/src/icons/glyphs/star.ts +13 -0
- package/src/icons/glyphs/step-back.ts +14 -0
- package/src/icons/glyphs/step-forward.ts +12 -0
- package/src/icons/glyphs/stethoscope.ts +12 -0
- package/src/icons/glyphs/sticker.ts +17 -0
- package/src/icons/glyphs/sticky-note-check.ts +15 -0
- package/src/icons/glyphs/sticky-note-minus.ts +15 -0
- package/src/icons/glyphs/sticky-note-off.ts +11 -0
- package/src/icons/glyphs/sticky-note-plus.ts +16 -0
- package/src/icons/glyphs/sticky-note-x.ts +16 -0
- package/src/icons/glyphs/sticky-note.ts +14 -0
- package/src/icons/glyphs/sticky-notes.ts +21 -0
- package/src/icons/glyphs/stone.ts +15 -0
- package/src/icons/glyphs/store.ts +15 -0
- package/src/icons/glyphs/stretch-horizontal.ts +9 -0
- package/src/icons/glyphs/stretch-vertical.ts +9 -0
- package/src/icons/glyphs/strikethrough.ts +10 -0
- package/src/icons/glyphs/subscript.ts +15 -0
- package/src/icons/glyphs/summary.ts +12 -0
- package/src/icons/glyphs/sun-dim.ts +16 -0
- package/src/icons/glyphs/sun-medium.ts +16 -0
- package/src/icons/glyphs/sun-moon.ts +17 -0
- package/src/icons/glyphs/sun-snow.ts +18 -0
- package/src/icons/glyphs/sun.ts +16 -0
- package/src/icons/glyphs/sunrise.ts +15 -0
- package/src/icons/glyphs/sunset.ts +15 -0
- package/src/icons/glyphs/superscript.ts +15 -0
- package/src/icons/glyphs/swatch-book.ts +14 -0
- package/src/icons/glyphs/swiss-franc.ts +10 -0
- package/src/icons/glyphs/switch-camera.ts +12 -0
- package/src/icons/glyphs/sword.ts +11 -0
- package/src/icons/glyphs/swords.ts +15 -0
- package/src/icons/glyphs/syringe.ts +13 -0
- package/src/icons/glyphs/table-2.ts +13 -0
- package/src/icons/glyphs/table-cells-merge.ts +12 -0
- package/src/icons/glyphs/table-cells-split.ts +11 -0
- package/src/icons/glyphs/table-columns-split.ts +18 -0
- package/src/icons/glyphs/table-of-contents.ts +13 -0
- package/src/icons/glyphs/table-properties.ts +11 -0
- package/src/icons/glyphs/table-rows-split.ts +18 -0
- package/src/icons/glyphs/table.ts +11 -0
- package/src/icons/glyphs/tablet-smartphone.ts +10 -0
- package/src/icons/glyphs/tablet.ts +9 -0
- package/src/icons/glyphs/tablets.ts +11 -0
- package/src/icons/glyphs/tag-plus.ts +16 -0
- package/src/icons/glyphs/tag-x.ts +16 -0
- package/src/icons/glyphs/tag.ts +14 -0
- package/src/icons/glyphs/tags.ts +15 -0
- package/src/icons/glyphs/tally-1.ts +6 -0
- package/src/icons/glyphs/tally-2.ts +9 -0
- package/src/icons/glyphs/tally-3.ts +10 -0
- package/src/icons/glyphs/tally-4.ts +11 -0
- package/src/icons/glyphs/tally-5.ts +12 -0
- package/src/icons/glyphs/tangent.ts +11 -0
- package/src/icons/glyphs/target.ts +10 -0
- package/src/icons/glyphs/telescope.ts +24 -0
- package/src/icons/glyphs/tent-tree.ts +14 -0
- package/src/icons/glyphs/tent.ts +11 -0
- package/src/icons/glyphs/terminal.ts +9 -0
- package/src/icons/glyphs/test-tube-diagonal.ts +10 -0
- package/src/icons/glyphs/test-tube.ts +10 -0
- package/src/icons/glyphs/test-tubes.ts +13 -0
- package/src/icons/glyphs/text-align-center.ts +10 -0
- package/src/icons/glyphs/text-align-end.ts +10 -0
- package/src/icons/glyphs/text-align-justify.ts +10 -0
- package/src/icons/glyphs/text-align-start.ts +10 -0
- package/src/icons/glyphs/text-cursor-input.ts +12 -0
- package/src/icons/glyphs/text-cursor.ts +10 -0
- package/src/icons/glyphs/text-initial.ts +12 -0
- package/src/icons/glyphs/text-quote.ts +11 -0
- package/src/icons/glyphs/text-search.ts +12 -0
- package/src/icons/glyphs/text-wrap.ts +11 -0
- package/src/icons/glyphs/theater.ts +16 -0
- package/src/icons/glyphs/thermometer-snowflake.ts +15 -0
- package/src/icons/glyphs/thermometer-sun.ts +13 -0
- package/src/icons/glyphs/thermometer.ts +8 -0
- package/src/icons/glyphs/thumbs-down.ts +14 -0
- package/src/icons/glyphs/thumbs-up.ts +14 -0
- package/src/icons/glyphs/ticket-check.ts +14 -0
- package/src/icons/glyphs/ticket-minus.ts +14 -0
- package/src/icons/glyphs/ticket-percent.ts +16 -0
- package/src/icons/glyphs/ticket-plus.ts +15 -0
- package/src/icons/glyphs/ticket-slash.ts +14 -0
- package/src/icons/glyphs/ticket-x.ts +15 -0
- package/src/icons/glyphs/ticket.ts +16 -0
- package/src/icons/glyphs/tickets-plane.ts +14 -0
- package/src/icons/glyphs/tickets.ts +12 -0
- package/src/icons/glyphs/timeline.ts +30 -0
- package/src/icons/glyphs/timer-off.ts +12 -0
- package/src/icons/glyphs/timer-reset.ts +11 -0
- package/src/icons/glyphs/timer.ts +10 -0
- package/src/icons/glyphs/toggle-left.ts +9 -0
- package/src/icons/glyphs/toggle-right.ts +9 -0
- package/src/icons/glyphs/toilet.ts +14 -0
- package/src/icons/glyphs/tool-case.ts +21 -0
- package/src/icons/glyphs/toolbox.ts +17 -0
- package/src/icons/glyphs/tornado.ts +12 -0
- package/src/icons/glyphs/torus.ts +9 -0
- package/src/icons/glyphs/touchpad-off.ts +13 -0
- package/src/icons/glyphs/touchpad.ts +10 -0
- package/src/icons/glyphs/towel-rack.ts +15 -0
- package/src/icons/glyphs/tower-control.ts +14 -0
- package/src/icons/glyphs/toy-brick.ts +10 -0
- package/src/icons/glyphs/tractor.ts +16 -0
- package/src/icons/glyphs/traffic-cone.ts +16 -0
- package/src/icons/glyphs/train-front-tunnel.ts +14 -0
- package/src/icons/glyphs/train-front.ts +13 -0
- package/src/icons/glyphs/train-track.ts +14 -0
- package/src/icons/glyphs/tram-front.ts +14 -0
- package/src/icons/glyphs/transgender.ts +15 -0
- package/src/icons/glyphs/trash-2.ts +12 -0
- package/src/icons/glyphs/trash.ts +10 -0
- package/src/icons/glyphs/tree-deciduous.ts +14 -0
- package/src/icons/glyphs/tree-palm.ts +16 -0
- package/src/icons/glyphs/tree-pine.ts +14 -0
- package/src/icons/glyphs/trees.ts +16 -0
- package/src/icons/glyphs/trending-down.ts +9 -0
- package/src/icons/glyphs/trending-up-down.ts +11 -0
- package/src/icons/glyphs/trending-up.ts +9 -0
- package/src/icons/glyphs/triangle-alert.ts +10 -0
- package/src/icons/glyphs/triangle-dashed.ts +16 -0
- package/src/icons/glyphs/triangle-right.ts +8 -0
- package/src/icons/glyphs/triangle.ts +8 -0
- package/src/icons/glyphs/trophy.ts +13 -0
- package/src/icons/glyphs/truck-electric.ts +14 -0
- package/src/icons/glyphs/truck.ts +15 -0
- package/src/icons/glyphs/turkish-lira.ts +10 -0
- package/src/icons/glyphs/turntable.ts +11 -0
- package/src/icons/glyphs/turtle.ts +16 -0
- package/src/icons/glyphs/tv-minimal-play.ts +15 -0
- package/src/icons/glyphs/tv-minimal.ts +9 -0
- package/src/icons/glyphs/tv.ts +9 -0
- package/src/icons/glyphs/type-outline.ts +13 -0
- package/src/icons/glyphs/type.ts +10 -0
- package/src/icons/glyphs/umbrella-off.ts +12 -0
- package/src/icons/glyphs/umbrella.ts +10 -0
- package/src/icons/glyphs/underline.ts +9 -0
- package/src/icons/glyphs/undo-2.ts +9 -0
- package/src/icons/glyphs/undo-dot.ts +10 -0
- package/src/icons/glyphs/undo.ts +9 -0
- package/src/icons/glyphs/unfold-horizontal.ts +15 -0
- package/src/icons/glyphs/unfold-vertical.ts +15 -0
- package/src/icons/glyphs/ungroup.ts +9 -0
- package/src/icons/glyphs/university.ts +19 -0
- package/src/icons/glyphs/unlink-2.ts +8 -0
- package/src/icons/glyphs/unlink.ts +21 -0
- package/src/icons/glyphs/unplug.ts +13 -0
- package/src/icons/glyphs/upload.ts +10 -0
- package/src/icons/glyphs/usb.ts +14 -0
- package/src/icons/glyphs/user-check.ts +10 -0
- package/src/icons/glyphs/user-cog.ts +18 -0
- package/src/icons/glyphs/user-key.ts +12 -0
- package/src/icons/glyphs/user-lock.ts +11 -0
- package/src/icons/glyphs/user-minus.ts +10 -0
- package/src/icons/glyphs/user-pen.ts +15 -0
- package/src/icons/glyphs/user-plus.ts +11 -0
- package/src/icons/glyphs/user-round-arrow-left.ts +11 -0
- package/src/icons/glyphs/user-round-check.ts +10 -0
- package/src/icons/glyphs/user-round-cog.ts +18 -0
- package/src/icons/glyphs/user-round-key.ts +12 -0
- package/src/icons/glyphs/user-round-minus.ts +10 -0
- package/src/icons/glyphs/user-round-pen.ts +15 -0
- package/src/icons/glyphs/user-round-plus.ts +11 -0
- package/src/icons/glyphs/user-round-search.ts +11 -0
- package/src/icons/glyphs/user-round-x.ts +11 -0
- package/src/icons/glyphs/user-round.ts +9 -0
- package/src/icons/glyphs/user-search.ts +11 -0
- package/src/icons/glyphs/user-shield.ts +15 -0
- package/src/icons/glyphs/user-star.ts +15 -0
- package/src/icons/glyphs/user-x.ts +11 -0
- package/src/icons/glyphs/user.ts +9 -0
- package/src/icons/glyphs/users-round.ts +10 -0
- package/src/icons/glyphs/users.ts +11 -0
- package/src/icons/glyphs/utensils-crossed.ts +11 -0
- package/src/icons/glyphs/utensils.ts +10 -0
- package/src/icons/glyphs/utility-pole.ts +14 -0
- package/src/icons/glyphs/van.ts +17 -0
- package/src/icons/glyphs/variable.ts +11 -0
- package/src/icons/glyphs/vault.ts +17 -0
- package/src/icons/glyphs/vector-square.ts +15 -0
- package/src/icons/glyphs/vegan.ts +10 -0
- package/src/icons/glyphs/venetian-mask.ts +15 -0
- package/src/icons/glyphs/venus-and-mars.ts +12 -0
- package/src/icons/glyphs/venus.ts +10 -0
- package/src/icons/glyphs/vibrate-off.ts +12 -0
- package/src/icons/glyphs/vibrate.ts +10 -0
- package/src/icons/glyphs/video-off.ts +10 -0
- package/src/icons/glyphs/video.ts +9 -0
- package/src/icons/glyphs/videotape.ts +12 -0
- package/src/icons/glyphs/view.ts +16 -0
- package/src/icons/glyphs/voicemail.ts +10 -0
- package/src/icons/glyphs/volleyball.ts +13 -0
- package/src/icons/glyphs/volume-1.ts +14 -0
- package/src/icons/glyphs/volume-2.ts +15 -0
- package/src/icons/glyphs/volume-off.ts +17 -0
- package/src/icons/glyphs/volume-x.ts +15 -0
- package/src/icons/glyphs/volume.ts +13 -0
- package/src/icons/glyphs/vote.ts +10 -0
- package/src/icons/glyphs/wallet-cards.ts +10 -0
- package/src/icons/glyphs/wallet-minimal.ts +9 -0
- package/src/icons/glyphs/wallet.ts +14 -0
- package/src/icons/glyphs/wallpaper.ts +12 -0
- package/src/icons/glyphs/wand-sparkles.ts +20 -0
- package/src/icons/glyphs/wand.ts +16 -0
- package/src/icons/glyphs/warehouse.ts +16 -0
- package/src/icons/glyphs/washing-machine.ts +12 -0
- package/src/icons/glyphs/watch.ts +11 -0
- package/src/icons/glyphs/waves-arrow-down.ts +21 -0
- package/src/icons/glyphs/waves-arrow-up.ts +21 -0
- package/src/icons/glyphs/waves-horizontal.ts +10 -0
- package/src/icons/glyphs/waves-ladder.ts +17 -0
- package/src/icons/glyphs/waves-vertical.ts +10 -0
- package/src/icons/glyphs/waypoints.ts +14 -0
- package/src/icons/glyphs/webcam-off.ts +14 -0
- package/src/icons/glyphs/webcam.ts +11 -0
- package/src/icons/glyphs/webhook-off.ts +14 -0
- package/src/icons/glyphs/webhook.ts +10 -0
- package/src/icons/glyphs/weight-tilde.ts +15 -0
- package/src/icons/glyphs/weight.ts +14 -0
- package/src/icons/glyphs/wheat-off.ts +25 -0
- package/src/icons/glyphs/wheat.ts +39 -0
- package/src/icons/glyphs/whole-word.ts +12 -0
- package/src/icons/glyphs/wifi-cog.ts +19 -0
- package/src/icons/glyphs/wifi-high.ts +10 -0
- package/src/icons/glyphs/wifi-low.ts +9 -0
- package/src/icons/glyphs/wifi-off.ts +14 -0
- package/src/icons/glyphs/wifi-pen.ts +16 -0
- package/src/icons/glyphs/wifi-sync.ts +14 -0
- package/src/icons/glyphs/wifi-zero.ts +6 -0
- package/src/icons/glyphs/wifi.ts +11 -0
- package/src/icons/glyphs/wind-arrow-down.ts +11 -0
- package/src/icons/glyphs/wind.ts +10 -0
- package/src/icons/glyphs/wine-off.ts +17 -0
- package/src/icons/glyphs/wine.ts +11 -0
- package/src/icons/glyphs/workflow.ts +10 -0
- package/src/icons/glyphs/worm.ts +15 -0
- package/src/icons/glyphs/wrench-off.ts +15 -0
- package/src/icons/glyphs/wrench.ts +13 -0
- package/src/icons/glyphs/x-line-top.ts +10 -0
- package/src/icons/glyphs/x.ts +9 -0
- package/src/icons/glyphs/zap-off.ts +16 -0
- package/src/icons/glyphs/zap.ts +13 -0
- package/src/icons/glyphs/zodiac-aquarius.ts +19 -0
- package/src/icons/glyphs/zodiac-aries.ts +9 -0
- package/src/icons/glyphs/zodiac-cancer.ts +11 -0
- package/src/icons/glyphs/zodiac-capricorn.ts +10 -0
- package/src/icons/glyphs/zodiac-gemini.ts +11 -0
- package/src/icons/glyphs/zodiac-leo.ts +9 -0
- package/src/icons/glyphs/zodiac-libra.ts +12 -0
- package/src/icons/glyphs/zodiac-ophiuchus.ts +9 -0
- package/src/icons/glyphs/zodiac-pisces.ts +10 -0
- package/src/icons/glyphs/zodiac-sagittarius.ts +10 -0
- package/src/icons/glyphs/zodiac-scorpio.ts +11 -0
- package/src/icons/glyphs/zodiac-taurus.ts +9 -0
- package/src/icons/glyphs/zodiac-virgo.ts +11 -0
- package/src/icons/glyphs/zoom-in.ts +11 -0
- package/src/icons/glyphs/zoom-out.ts +10 -0
- package/src/index.ts +44 -2
- package/src/theme/brand.ts +16 -1
- package/src/theme/context.ts +47 -7
- package/src/theme/inert-runtime.ts +48 -0
- package/src/theme/provider.tsx +7 -1
- package/src/theme/solid-adapter.ts +18 -4
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
@use '../tokens' as t;
|
|
2
|
+
|
|
3
|
+
.combobox {
|
|
4
|
+
@include t.column(t.space(1));
|
|
5
|
+
inline-size: 100%;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
.control {
|
|
9
|
+
@include t.control;
|
|
10
|
+
display: inline-flex;
|
|
11
|
+
align-items: center;
|
|
12
|
+
gap: t.space(2);
|
|
13
|
+
|
|
14
|
+
&:focus-within {
|
|
15
|
+
border-color: t.role('accent');
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.icon {
|
|
20
|
+
color: t.role('fg-muted');
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.input {
|
|
24
|
+
flex: 1;
|
|
25
|
+
min-inline-size: 0;
|
|
26
|
+
border: 0;
|
|
27
|
+
background: none;
|
|
28
|
+
color: inherit;
|
|
29
|
+
font: inherit;
|
|
30
|
+
outline: none;
|
|
31
|
+
|
|
32
|
+
// The engine's own picker button duplicates an affordance the field already has.
|
|
33
|
+
&::-webkit-calendar-picker-indicator {
|
|
34
|
+
display: none;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// The count is for assistive tech only; the suggestion list is the sighted answer.
|
|
39
|
+
.status {
|
|
40
|
+
@include t.visually-hidden;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
// …except "nothing matched", which a sighted user has no other way to learn.
|
|
44
|
+
.empty {
|
|
45
|
+
margin: 0;
|
|
46
|
+
color: t.role('fg-muted');
|
|
47
|
+
font-size: t.text(sm);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.size-sm {
|
|
51
|
+
padding-block: t.space(1);
|
|
52
|
+
font-size: t.text(sm);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.size-md {
|
|
56
|
+
padding-block: t.space(2);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.size-lg {
|
|
60
|
+
padding-block: t.space(3);
|
|
61
|
+
font-size: t.text(lg);
|
|
62
|
+
}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
// A searchable text field with suggestions: one `<input list>` plus a `<datalist>`, which is a
|
|
2
|
+
// real combobox in every engine — typing, filtering, keyboard and mobile are the platform's, and
|
|
3
|
+
// the field still works with scripting off. `onFilter` is the debounced enhancement on top.
|
|
4
|
+
|
|
5
|
+
import type { JSX } from 'solid-js';
|
|
6
|
+
import { ariaBool, useId } from '../a11y';
|
|
7
|
+
import { cx } from '../cx';
|
|
8
|
+
import { DEBOUNCE_DEFAULT_MS, debounce } from '../debounce';
|
|
9
|
+
import { UI_KEYS } from '../i18n-keys';
|
|
10
|
+
import { iconSearch } from '../icons/glyphs/search';
|
|
11
|
+
import { useUi } from '../theme/context';
|
|
12
|
+
import { solid } from '../theme/solid-adapter';
|
|
13
|
+
import styles from './Combobox.module.scss';
|
|
14
|
+
import type { ComboboxOption } from './combobox-filter';
|
|
15
|
+
import { filterOptions } from './combobox-filter';
|
|
16
|
+
import { Icon } from './Icon';
|
|
17
|
+
import type { Size } from './variants';
|
|
18
|
+
|
|
19
|
+
export interface ComboboxProps {
|
|
20
|
+
options: readonly ComboboxOption[];
|
|
21
|
+
/** The current query. Suggestions are filtered to it before they are rendered. */
|
|
22
|
+
value?: string | undefined;
|
|
23
|
+
/**
|
|
24
|
+
* Fires `debounceMs` after typing stops, and immediately when a suggestion is picked. Left out,
|
|
25
|
+
* the field is a plain filtered datalist — still correct, just not live.
|
|
26
|
+
*/
|
|
27
|
+
onFilter?: ((query: string) => void) | undefined;
|
|
28
|
+
/** Debounce window in ms. Read once, when the field mounts. */
|
|
29
|
+
debounceMs?: number | undefined;
|
|
30
|
+
/** Cap on rendered suggestions. */
|
|
31
|
+
limit?: number | undefined;
|
|
32
|
+
id?: string | undefined;
|
|
33
|
+
name?: string | undefined;
|
|
34
|
+
/** Already-translated placeholder. */
|
|
35
|
+
placeholder?: string | undefined;
|
|
36
|
+
size?: Size | undefined;
|
|
37
|
+
required?: boolean | undefined;
|
|
38
|
+
disabled?: boolean | undefined;
|
|
39
|
+
class?: string | undefined;
|
|
40
|
+
'aria-label'?: string | undefined;
|
|
41
|
+
'aria-describedby'?: string | undefined;
|
|
42
|
+
'aria-invalid'?: boolean | undefined;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
export function Combobox(props: ComboboxProps): JSX.Element {
|
|
46
|
+
const ui = useUi();
|
|
47
|
+
const rt = solid();
|
|
48
|
+
const base = useId('combobox');
|
|
49
|
+
const listId = `${base}-list`;
|
|
50
|
+
const statusId = `${base}-status`;
|
|
51
|
+
|
|
52
|
+
// Reads `props.onFilter` at call time, so a caller may swap the handler without rebuilding
|
|
53
|
+
// the timer — and the timer is cancelled on cleanup rather than firing into a dead tree.
|
|
54
|
+
const notify = debounce(
|
|
55
|
+
(query: string) => props.onFilter?.(query),
|
|
56
|
+
props.debounceMs ?? DEBOUNCE_DEFAULT_MS,
|
|
57
|
+
);
|
|
58
|
+
rt.createEffect(() => {
|
|
59
|
+
rt.onCleanup(() => notify.cancel());
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
const matches = (): readonly ComboboxOption[] =>
|
|
63
|
+
filterOptions(props.options, props.value ?? '', props.limit);
|
|
64
|
+
|
|
65
|
+
const describedBy = (): string =>
|
|
66
|
+
[props['aria-describedby'], statusId].filter((id) => id !== undefined).join(' ');
|
|
67
|
+
|
|
68
|
+
return (
|
|
69
|
+
<span class={cx(styles['combobox'], props.class)}>
|
|
70
|
+
<span class={cx(styles['control'], styles[`size-${props.size ?? 'md'}`])}>
|
|
71
|
+
<Icon glyph={iconSearch} class={styles['icon']} size={props.size ?? 'md'} />
|
|
72
|
+
<input
|
|
73
|
+
class={styles['input']}
|
|
74
|
+
type="text"
|
|
75
|
+
list={listId}
|
|
76
|
+
id={props.id}
|
|
77
|
+
name={props.name}
|
|
78
|
+
value={props.value ?? ''}
|
|
79
|
+
placeholder={props.placeholder}
|
|
80
|
+
required={props.required === true}
|
|
81
|
+
disabled={props.disabled === true}
|
|
82
|
+
// The browser's own history dropdown would cover the suggestion list.
|
|
83
|
+
autocomplete="off"
|
|
84
|
+
aria-label={props['aria-label']}
|
|
85
|
+
aria-describedby={describedBy()}
|
|
86
|
+
aria-invalid={ariaBool(props['aria-invalid'])}
|
|
87
|
+
onInput={(event) => notify(event.currentTarget.value)}
|
|
88
|
+
onChange={(event) => {
|
|
89
|
+
// Picking a suggestion is a decision, not a keystroke: it must not wait out the window.
|
|
90
|
+
notify.cancel();
|
|
91
|
+
props.onFilter?.(event.currentTarget.value);
|
|
92
|
+
}}
|
|
93
|
+
/>
|
|
94
|
+
<datalist id={listId}>
|
|
95
|
+
{matches().map((option) => (
|
|
96
|
+
<option value={option.value} label={option.hint} />
|
|
97
|
+
))}
|
|
98
|
+
</datalist>
|
|
99
|
+
</span>
|
|
100
|
+
<p
|
|
101
|
+
id={statusId}
|
|
102
|
+
role="status"
|
|
103
|
+
class={matches().length === 0 ? styles['empty'] : styles['status']}
|
|
104
|
+
>
|
|
105
|
+
{matches().length === 0
|
|
106
|
+
? ui.t(UI_KEYS.noResults)
|
|
107
|
+
: ui.t(UI_KEYS.suggestions, { count: matches().length })}
|
|
108
|
+
</p>
|
|
109
|
+
</span>
|
|
110
|
+
);
|
|
111
|
+
}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
@use '../tokens' as t;
|
|
2
|
+
|
|
3
|
+
.zone {
|
|
4
|
+
@include t.column(t.space(2), center);
|
|
5
|
+
@include t.transition(background-color, border-color);
|
|
6
|
+
position: relative;
|
|
7
|
+
border: 2px dashed t.role('line');
|
|
8
|
+
border-radius: t.radius(lg);
|
|
9
|
+
background: t.role('surface');
|
|
10
|
+
padding-block: t.space(8);
|
|
11
|
+
padding-inline: t.space(6);
|
|
12
|
+
text-align: center;
|
|
13
|
+
cursor: pointer;
|
|
14
|
+
|
|
15
|
+
// The hidden input keeps the focus, so the ring has to be drawn on the surface around it.
|
|
16
|
+
&:focus-within {
|
|
17
|
+
border-color: t.role('accent');
|
|
18
|
+
outline: 2px solid t.role('accent');
|
|
19
|
+
outline-offset: 2px;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
&[data-over='true'] {
|
|
23
|
+
border-color: t.role('accent');
|
|
24
|
+
border-style: solid;
|
|
25
|
+
background: t.role('bg-soft');
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
&[data-disabled='true'] {
|
|
29
|
+
@include t.disabled;
|
|
30
|
+
background: t.role('bg-soft');
|
|
31
|
+
cursor: not-allowed;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
&:has([aria-invalid='true']) {
|
|
35
|
+
border-color: t.role('danger');
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.label {
|
|
40
|
+
color: t.role('fg-strong');
|
|
41
|
+
font-weight: t.weight(medium);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.hint {
|
|
45
|
+
color: t.role('fg-muted');
|
|
46
|
+
font-size: t.text(sm);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
// Hidden, never `display: none` — a display-none input is unfocusable, and the keyboard path
|
|
50
|
+
// through this control is the input itself.
|
|
51
|
+
.input {
|
|
52
|
+
@include t.visually-hidden;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.progress {
|
|
56
|
+
display: block;
|
|
57
|
+
inline-size: 100%;
|
|
58
|
+
block-size: 0.375rem;
|
|
59
|
+
border-radius: t.radius(pill);
|
|
60
|
+
background: t.role('bg-soft');
|
|
61
|
+
overflow: hidden;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
// Inline-start, not `left`: the bar has to fill from the reading edge under `dir="rtl"` too.
|
|
65
|
+
.bar {
|
|
66
|
+
display: block;
|
|
67
|
+
block-size: 100%;
|
|
68
|
+
inline-size: var(--file-progress, 0%);
|
|
69
|
+
border-start-start-radius: t.radius(pill);
|
|
70
|
+
border-end-start-radius: t.radius(pill);
|
|
71
|
+
background: t.role('accent');
|
|
72
|
+
@include t.transition(inline-size);
|
|
73
|
+
}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
// A drop surface that is a real `<label>` around a real, visually-hidden `<input type="file">`.
|
|
2
|
+
// That shape is what makes it usable without a mouse: click, Enter and Space already open the
|
|
3
|
+
// picker, focus already lands somewhere, and the accessible name is the instruction the label
|
|
4
|
+
// renders. A `<div onClick>` with `tabindex` would reimplement all four and get one of them wrong.
|
|
5
|
+
// Dragging is the enhancement on top, never the only way in.
|
|
6
|
+
|
|
7
|
+
import type { JSX } from 'solid-js';
|
|
8
|
+
import { ariaBool, useId } from '../a11y';
|
|
9
|
+
import { cx } from '../cx';
|
|
10
|
+
import { UI_KEYS } from '../i18n-keys';
|
|
11
|
+
import { useUi } from '../theme/context';
|
|
12
|
+
import { solid } from '../theme/solid-adapter';
|
|
13
|
+
import styles from './Dropzone.module.scss';
|
|
14
|
+
import type { FileSelection } from './file-input-view';
|
|
15
|
+
import { progressPercent, selectFiles } from './file-input-view';
|
|
16
|
+
|
|
17
|
+
export interface DropzoneProps {
|
|
18
|
+
/** Already-translated instruction. Required — it is the control's accessible name. */
|
|
19
|
+
label: string;
|
|
20
|
+
/** Already-translated secondary line: the accepted types, the size ceiling. */
|
|
21
|
+
hint?: string | undefined;
|
|
22
|
+
id?: string | undefined;
|
|
23
|
+
name?: string | undefined;
|
|
24
|
+
/** The `accept` attribute, and the same list a dropped file is partitioned against. */
|
|
25
|
+
accept?: string | undefined;
|
|
26
|
+
multiple?: boolean | undefined;
|
|
27
|
+
required?: boolean | undefined;
|
|
28
|
+
disabled?: boolean | undefined;
|
|
29
|
+
/** Client-side ceiling. The server enforces its own; this only spares a doomed transfer. */
|
|
30
|
+
maxBytes?: number | undefined;
|
|
31
|
+
maxFiles?: number | undefined;
|
|
32
|
+
/** 0..1 while an upload runs. Absent renders no bar at all — never one stuck at zero. */
|
|
33
|
+
progress?: number | undefined;
|
|
34
|
+
/** Already-translated accessible name for the progress bar. */
|
|
35
|
+
progressLabel?: string | undefined;
|
|
36
|
+
class?: string | undefined;
|
|
37
|
+
'aria-describedby'?: string | undefined;
|
|
38
|
+
'aria-invalid'?: boolean | undefined;
|
|
39
|
+
/** Every file offered, partitioned into accepted and refused-with-a-reason. */
|
|
40
|
+
onSelect: (selection: FileSelection<File>) => void;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export function Dropzone(props: DropzoneProps): JSX.Element {
|
|
44
|
+
const ui = useUi();
|
|
45
|
+
const rt = solid();
|
|
46
|
+
const [over, setOver] = rt.createSignal(false);
|
|
47
|
+
const fallbackId = useId('dropzone');
|
|
48
|
+
const inputId = (): string => props.id ?? fallbackId;
|
|
49
|
+
const percent = (): number => progressPercent(props.progress ?? 0);
|
|
50
|
+
|
|
51
|
+
const offer = (files: FileList | null | undefined): void => {
|
|
52
|
+
props.onSelect(selectFiles([...(files ?? [])], props));
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
// `dragover` must be cancelled on every tick or the browser refuses the drop and navigates to
|
|
56
|
+
// the file instead — the failure mode where the whole app disappears mid-upload.
|
|
57
|
+
const allowDrop = (event: DragEvent): void => {
|
|
58
|
+
if (props.disabled === true) return;
|
|
59
|
+
event.preventDefault();
|
|
60
|
+
setOver(true);
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
return (
|
|
64
|
+
<label
|
|
65
|
+
class={cx(styles['zone'], props.class)}
|
|
66
|
+
for={inputId()}
|
|
67
|
+
data-over={over() ? 'true' : undefined}
|
|
68
|
+
data-disabled={props.disabled === true ? 'true' : undefined}
|
|
69
|
+
onDragEnter={allowDrop}
|
|
70
|
+
onDragOver={allowDrop}
|
|
71
|
+
onDragLeave={() => setOver(false)}
|
|
72
|
+
onDrop={(event: DragEvent) => {
|
|
73
|
+
event.preventDefault();
|
|
74
|
+
setOver(false);
|
|
75
|
+
if (props.disabled !== true) offer(event.dataTransfer?.files);
|
|
76
|
+
}}
|
|
77
|
+
>
|
|
78
|
+
<span class={styles['label']}>{props.label}</span>
|
|
79
|
+
{props.hint === undefined ? null : <span class={styles['hint']}>{props.hint}</span>}
|
|
80
|
+
<input
|
|
81
|
+
class={styles['input']}
|
|
82
|
+
type="file"
|
|
83
|
+
id={inputId()}
|
|
84
|
+
name={props.name}
|
|
85
|
+
accept={props.accept}
|
|
86
|
+
multiple={props.multiple === true}
|
|
87
|
+
required={props.required === true}
|
|
88
|
+
disabled={props.disabled === true}
|
|
89
|
+
aria-describedby={props['aria-describedby']}
|
|
90
|
+
aria-invalid={ariaBool(props['aria-invalid'])}
|
|
91
|
+
onChange={(event) => offer(event.currentTarget.files)}
|
|
92
|
+
/>
|
|
93
|
+
{props.progress === undefined ? null : (
|
|
94
|
+
<span
|
|
95
|
+
class={styles['progress']}
|
|
96
|
+
role="progressbar"
|
|
97
|
+
aria-label={props.progressLabel ?? ui.t(UI_KEYS.loading)}
|
|
98
|
+
aria-valuemin={0}
|
|
99
|
+
aria-valuemax={100}
|
|
100
|
+
aria-valuenow={percent()}
|
|
101
|
+
style={{ '--file-progress': `${percent()}%` }}
|
|
102
|
+
>
|
|
103
|
+
<span class={styles['bar']} />
|
|
104
|
+
</span>
|
|
105
|
+
)}
|
|
106
|
+
</label>
|
|
107
|
+
);
|
|
108
|
+
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// code, cause, fix. Identical text in the CLI, the overlay, and `--json` is the
|
|
3
3
|
// whole point of the error contract — this component must not paraphrase.
|
|
4
4
|
|
|
5
|
-
import { isUltimateError } from '@ultimat3/core';
|
|
5
|
+
import { isUltimateError, renderCauseValue } from '@ultimat3/core';
|
|
6
6
|
import type { JSX } from 'solid-js';
|
|
7
7
|
import { cx } from '../cx';
|
|
8
8
|
import { UI_KEYS } from '../i18n-keys';
|
|
@@ -39,12 +39,19 @@ export function errorParts(error: unknown): ErrorParts {
|
|
|
39
39
|
docs: error.docs,
|
|
40
40
|
};
|
|
41
41
|
}
|
|
42
|
-
|
|
42
|
+
// `props.error` is any thrown value, so `String()` ran the app's own `toString` — and this is the
|
|
43
|
+
// component that RENDERS an error, so its throw replaced the screen that was reporting one with a
|
|
44
|
+
// blank tree. Laundering it through a local `message` is exactly what `scripts/error-render.ts`
|
|
45
|
+
// says it cannot see, which is why this one shipped.
|
|
46
|
+
const message = error instanceof Error ? error.message : renderCauseValue(error);
|
|
43
47
|
return {
|
|
44
48
|
code: 'X_INTERNAL',
|
|
45
49
|
title: 'unexpected internal framework error',
|
|
46
50
|
cause: message,
|
|
47
|
-
|
|
51
|
+
// No command can name a throw site the framework never saw typed. The one repair is at the
|
|
52
|
+
// throw itself, which is also the repo's own rule — never a bare Error — so the fix says that
|
|
53
|
+
// rather than sending the reader to a log that holds the same message this screen already has.
|
|
54
|
+
fix: 'throw an UltimateError subclass where this failed — new UltimateError({ code, cause, fix }) — so this screen renders that code and its fix instead of X_INTERNAL',
|
|
48
55
|
docs: 'https://ultimate.dev/errors/X_INTERNAL',
|
|
49
56
|
};
|
|
50
57
|
}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
@use '../tokens' as t;
|
|
2
|
+
|
|
3
|
+
.wrap {
|
|
4
|
+
@include t.control;
|
|
5
|
+
display: flex;
|
|
6
|
+
flex-direction: column;
|
|
7
|
+
gap: t.space(2);
|
|
8
|
+
|
|
9
|
+
&:focus-within {
|
|
10
|
+
border-color: t.role('accent');
|
|
11
|
+
outline: 2px solid t.role('accent');
|
|
12
|
+
outline-offset: 1px;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
&[data-disabled='true'] {
|
|
16
|
+
background: t.role('bg-soft');
|
|
17
|
+
color: t.role('fg-muted');
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
&:has([aria-invalid='true']) {
|
|
21
|
+
border-color: t.role('danger');
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
// The wrapper owns the box; the native control is transparent inside it. Its own button is
|
|
26
|
+
// styled rather than replaced — it is already focusable, keyboard-driven and localised.
|
|
27
|
+
.input {
|
|
28
|
+
min-inline-size: 0;
|
|
29
|
+
border: 0;
|
|
30
|
+
background: none;
|
|
31
|
+
color: inherit;
|
|
32
|
+
font: inherit;
|
|
33
|
+
outline: none;
|
|
34
|
+
|
|
35
|
+
&::file-selector-button {
|
|
36
|
+
@include t.transition(background-color, border-color);
|
|
37
|
+
margin-inline-end: t.space(3);
|
|
38
|
+
border: 1px solid t.role('line');
|
|
39
|
+
border-radius: t.radius(md);
|
|
40
|
+
background: t.role('surface');
|
|
41
|
+
color: t.role('fg-strong');
|
|
42
|
+
font: inherit;
|
|
43
|
+
font-weight: t.weight(medium);
|
|
44
|
+
padding-block: t.space(1);
|
|
45
|
+
padding-inline: t.space(3);
|
|
46
|
+
cursor: pointer;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
&::file-selector-button:hover {
|
|
50
|
+
background: t.role('bg-soft');
|
|
51
|
+
border-color: t.role('accent');
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
&:disabled::file-selector-button {
|
|
55
|
+
@include t.disabled;
|
|
56
|
+
cursor: not-allowed;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
.progress {
|
|
61
|
+
display: block;
|
|
62
|
+
block-size: 0.375rem;
|
|
63
|
+
border-radius: t.radius(pill);
|
|
64
|
+
background: t.role('bg-soft');
|
|
65
|
+
overflow: hidden;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
// Inline-start, not `left`: the bar has to fill from the reading edge under `dir="rtl"` too.
|
|
69
|
+
.bar {
|
|
70
|
+
display: block;
|
|
71
|
+
block-size: 100%;
|
|
72
|
+
inline-size: var(--file-progress, 0%);
|
|
73
|
+
border-start-start-radius: t.radius(pill);
|
|
74
|
+
border-end-start-radius: t.radius(pill);
|
|
75
|
+
background: t.role('accent');
|
|
76
|
+
@include t.transition(inline-size);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
.size-sm {
|
|
80
|
+
padding-block: t.space(1);
|
|
81
|
+
font-size: t.text(sm);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
.size-md {
|
|
85
|
+
padding-block: t.space(2);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
.size-lg {
|
|
89
|
+
padding-block: t.space(3);
|
|
90
|
+
font-size: t.text(lg);
|
|
91
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
// A file picker that keeps the platform control and dresses it. The native button and the
|
|
2
|
+
// browser's own "no file chosen" summary are already localised, focusable and keyboard-driven,
|
|
3
|
+
// so replacing them with a div buys nothing and costs an accessible name. What the platform has
|
|
4
|
+
// no opinion about is added here: a determinate progress bar, and a partition of what it refused.
|
|
5
|
+
|
|
6
|
+
import type { JSX } from 'solid-js';
|
|
7
|
+
import { ariaBool } from '../a11y';
|
|
8
|
+
import { cx } from '../cx';
|
|
9
|
+
import { UI_KEYS } from '../i18n-keys';
|
|
10
|
+
import { useUi } from '../theme/context';
|
|
11
|
+
import styles from './FileInput.module.scss';
|
|
12
|
+
import type { FileSelection } from './file-input-view';
|
|
13
|
+
import { progressPercent, selectFiles } from './file-input-view';
|
|
14
|
+
import type { Size } from './variants';
|
|
15
|
+
|
|
16
|
+
export interface FileInputProps {
|
|
17
|
+
id?: string | undefined;
|
|
18
|
+
name?: string | undefined;
|
|
19
|
+
/** The `accept` attribute, and the same list the refusal partition is computed against. */
|
|
20
|
+
accept?: string | undefined;
|
|
21
|
+
multiple?: boolean | undefined;
|
|
22
|
+
size?: Size | undefined;
|
|
23
|
+
required?: boolean | undefined;
|
|
24
|
+
disabled?: boolean | undefined;
|
|
25
|
+
/** Client-side ceiling. The server enforces its own; this only spares a doomed transfer. */
|
|
26
|
+
maxBytes?: number | undefined;
|
|
27
|
+
maxFiles?: number | undefined;
|
|
28
|
+
/** 0..1 while an upload runs. Absent renders no bar at all — never one stuck at zero. */
|
|
29
|
+
progress?: number | undefined;
|
|
30
|
+
/** Already-translated accessible name for the progress bar. */
|
|
31
|
+
progressLabel?: string | undefined;
|
|
32
|
+
class?: string | undefined;
|
|
33
|
+
'aria-label'?: string | undefined;
|
|
34
|
+
'aria-describedby'?: string | undefined;
|
|
35
|
+
'aria-invalid'?: boolean | undefined;
|
|
36
|
+
/** Every chosen file, partitioned into accepted and refused-with-a-reason. */
|
|
37
|
+
onSelect?: ((selection: FileSelection<File>) => void) | undefined;
|
|
38
|
+
onBlur?: JSX.EventHandlerUnion<HTMLInputElement, FocusEvent> | undefined;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export function FileInput(props: FileInputProps): JSX.Element {
|
|
42
|
+
const ui = useUi();
|
|
43
|
+
const percent = (): number => progressPercent(props.progress ?? 0);
|
|
44
|
+
|
|
45
|
+
return (
|
|
46
|
+
<span
|
|
47
|
+
class={cx(styles['wrap'], styles[`size-${props.size ?? 'md'}`], props.class)}
|
|
48
|
+
data-disabled={props.disabled === true ? 'true' : undefined}
|
|
49
|
+
>
|
|
50
|
+
<input
|
|
51
|
+
class={styles['input']}
|
|
52
|
+
type="file"
|
|
53
|
+
id={props.id}
|
|
54
|
+
name={props.name}
|
|
55
|
+
accept={props.accept}
|
|
56
|
+
multiple={props.multiple === true}
|
|
57
|
+
required={props.required === true}
|
|
58
|
+
disabled={props.disabled === true}
|
|
59
|
+
aria-label={props['aria-label']}
|
|
60
|
+
aria-describedby={props['aria-describedby']}
|
|
61
|
+
aria-invalid={ariaBool(props['aria-invalid'])}
|
|
62
|
+
onBlur={props.onBlur}
|
|
63
|
+
onChange={(event) => {
|
|
64
|
+
props.onSelect?.(selectFiles([...(event.currentTarget.files ?? [])], props));
|
|
65
|
+
}}
|
|
66
|
+
/>
|
|
67
|
+
{props.progress === undefined ? null : (
|
|
68
|
+
<span
|
|
69
|
+
class={styles['progress']}
|
|
70
|
+
role="progressbar"
|
|
71
|
+
aria-label={props.progressLabel ?? ui.t(UI_KEYS.loading)}
|
|
72
|
+
aria-valuemin={0}
|
|
73
|
+
aria-valuemax={100}
|
|
74
|
+
aria-valuenow={percent()}
|
|
75
|
+
style={{ '--file-progress': `${percent()}%` }}
|
|
76
|
+
>
|
|
77
|
+
<span class={styles['bar']} />
|
|
78
|
+
</span>
|
|
79
|
+
)}
|
|
80
|
+
</span>
|
|
81
|
+
);
|
|
82
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
@use '../tokens' as t;
|
|
2
|
+
|
|
3
|
+
// Lucide's stroke geometry, stated once here instead of on every generated glyph: presentation
|
|
4
|
+
// attributes would repeat 1767 times and could not be themed.
|
|
5
|
+
.icon {
|
|
6
|
+
display: inline-block;
|
|
7
|
+
flex: none;
|
|
8
|
+
inline-size: 1em;
|
|
9
|
+
block-size: 1em;
|
|
10
|
+
fill: none;
|
|
11
|
+
stroke: currentcolor;
|
|
12
|
+
stroke-width: 2;
|
|
13
|
+
stroke-linecap: round;
|
|
14
|
+
stroke-linejoin: round;
|
|
15
|
+
vertical-align: text-bottom;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
// The box is one `em`, so sizing is a type step — no icon carries a pixel literal.
|
|
19
|
+
.size-sm {
|
|
20
|
+
font-size: t.text(sm);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.size-md {
|
|
24
|
+
font-size: t.text(md);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.size-lg {
|
|
28
|
+
font-size: t.text(lg);
|
|
29
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
// Inline SVG from one Lucide glyph. Decorative by default (`aria-hidden`); a `label`
|
|
2
|
+
// promotes it to `role="img"` with a name. Paint is `currentColor` and the box is one
|
|
3
|
+
// `em`, so an icon takes the tone and the type step of whatever it sits inside.
|
|
4
|
+
|
|
5
|
+
import type { JSX } from 'solid-js';
|
|
6
|
+
import { cx } from '../cx';
|
|
7
|
+
import styles from './Icon.module.scss';
|
|
8
|
+
import type { IconElement, IconGlyph } from './icon-glyph';
|
|
9
|
+
import { iconElements } from './icon-glyph';
|
|
10
|
+
import type { Size } from './variants';
|
|
11
|
+
|
|
12
|
+
/** Every Lucide glyph is drawn on this grid; the box is sized in CSS, never here. */
|
|
13
|
+
const VIEW_BOX = '0 0 24 24';
|
|
14
|
+
|
|
15
|
+
export interface IconProps {
|
|
16
|
+
/** One glyph module: `import { iconSearch } from '@ultimat3/ui/icons/search'`. */
|
|
17
|
+
glyph: IconGlyph;
|
|
18
|
+
/**
|
|
19
|
+
* Already-translated accessible name. Omitted means decorative, and a decorative icon is hidden
|
|
20
|
+
* from assistive tech rather than read as a nameless image.
|
|
21
|
+
*/
|
|
22
|
+
label?: string | undefined;
|
|
23
|
+
size?: Size | undefined;
|
|
24
|
+
class?: string | undefined;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export function Icon(props: IconProps): JSX.Element {
|
|
28
|
+
return (
|
|
29
|
+
<svg
|
|
30
|
+
class={cx(styles['icon'], styles[`size-${props.size ?? 'md'}`], props.class)}
|
|
31
|
+
viewBox={VIEW_BOX}
|
|
32
|
+
role={props.label === undefined ? undefined : 'img'}
|
|
33
|
+
aria-hidden={props.label === undefined ? 'true' : undefined}
|
|
34
|
+
aria-label={props.label}
|
|
35
|
+
>
|
|
36
|
+
{iconElements(props.glyph).map((element) => glyphNode(element))}
|
|
37
|
+
</svg>
|
|
38
|
+
);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* One element per tag, written out. A `<Dynamic>` would need solid-js as a value import (this
|
|
43
|
+
* package only ever types against it), and a spread would put unchecked keys on an attribute sink.
|
|
44
|
+
*/
|
|
45
|
+
function glyphNode(element: IconElement): JSX.Element {
|
|
46
|
+
const attrs = element.attrs;
|
|
47
|
+
switch (element.tag) {
|
|
48
|
+
case 'circle':
|
|
49
|
+
return <circle cx={attrs['cx']} cy={attrs['cy']} r={attrs['r']} fill={attrs['fill']} />;
|
|
50
|
+
case 'ellipse':
|
|
51
|
+
return <ellipse cx={attrs['cx']} cy={attrs['cy']} rx={attrs['rx']} ry={attrs['ry']} />;
|
|
52
|
+
case 'line':
|
|
53
|
+
return <line x1={attrs['x1']} x2={attrs['x2']} y1={attrs['y1']} y2={attrs['y2']} />;
|
|
54
|
+
case 'path':
|
|
55
|
+
return <path d={attrs['d']} />;
|
|
56
|
+
case 'polygon':
|
|
57
|
+
return <polygon points={attrs['points']} />;
|
|
58
|
+
case 'polyline':
|
|
59
|
+
return <polyline points={attrs['points']} />;
|
|
60
|
+
case 'rect':
|
|
61
|
+
return (
|
|
62
|
+
<rect
|
|
63
|
+
x={attrs['x']}
|
|
64
|
+
y={attrs['y']}
|
|
65
|
+
width={attrs['width']}
|
|
66
|
+
height={attrs['height']}
|
|
67
|
+
rx={attrs['rx']}
|
|
68
|
+
ry={attrs['ry']}
|
|
69
|
+
/>
|
|
70
|
+
);
|
|
71
|
+
}
|
|
72
|
+
}
|