@ultimat3/ui 1.2.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
package/CATALOG.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
Every component and every token, projected from source. Import all of it from `@ultimat3/ui`.
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
52 components: `Accordion` · `Alert` · `AppShell` · `Avatar` · `Badge` · `Breadcrumb` · `Button` · `Card` · `Checkbox` · `Combobox` · `Container` · `DataTable` · `DateTime` · `Dialog` · `Divider` · `Drawer` · `Dropzone` · `EmptyState` · `ErrorState` · `Field` · `FileInput` · `Form` · `Grid` · `Icon` · `IconButton` · `Image` · `InfiniteScroll` · `Input` · `Link` · `LocaleSwitcher` · `Menu` · `Money` · `PageHeader` · `Pagination` · `Popover` · `Radio` · `RelativeTime` · `Section` · `Select` · `Skeleton` · `Spinner` · `Stack` · `Switch` · `Table` · `Tabs` · `Text` · `Textarea` · `ThemeToggle` · `ToastRegion` · `Toast` · `Toolbar` · `Tooltip`
|
|
8
8
|
|
|
9
9
|
## Vocabulary
|
|
10
10
|
|
|
@@ -19,6 +19,18 @@ One size scale, one tone scale, one variant scale — shared by every component
|
|
|
19
19
|
|
|
20
20
|
## Components
|
|
21
21
|
|
|
22
|
+
### Accordion
|
|
23
|
+
|
|
24
|
+
Expandable sections built on `<details>`/`<summary>`: open/close, keyboard, focus and `aria-expanded` are the browser's, so the component works with JavaScript disabled and there is no open-state to hydrate. `exclusive` is the native `name` group, not a listener.
|
|
25
|
+
|
|
26
|
+
| Prop | Type | Required | Notes |
|
|
27
|
+
|---|---|---|---|
|
|
28
|
+
| `items` | `readonly AccordionItem[]` | yes | |
|
|
29
|
+
| `exclusive` | `boolean` | — | One section open at a time, through the native `<details name>` group. |
|
|
30
|
+
| `level` | `HeadingLevel` | — | Wraps each title in a heading of this level, putting the sections in the page outline. Left out, a title is plain text inside the disclosure button — which is what a screen reader announces either way. |
|
|
31
|
+
| `onToggle` | `((id: string, open: boolean) => void)` | — | Fires on every open and close, once the browser has already applied it. |
|
|
32
|
+
| `class` | `string` | — | |
|
|
33
|
+
|
|
22
34
|
### Alert
|
|
23
35
|
|
|
24
36
|
Inline message bound to the page, not the viewport. `danger`/`warning` use `role="alert"` (assertive); the rest use `role="status"`, so an informational banner never interrupts what a screen-reader user is doing.
|
|
@@ -143,6 +155,28 @@ Native checkbox with a token-drawn indicator. The label element wraps the input,
|
|
|
143
155
|
| `aria-invalid` | `boolean` | — | |
|
|
144
156
|
| `onChange` | `JSX.EventHandlerUnion<HTMLInputElement, Event>` | — | |
|
|
145
157
|
|
|
158
|
+
### Combobox
|
|
159
|
+
|
|
160
|
+
A searchable text field with suggestions: one `<input list>` plus a `<datalist>`, which is a real combobox in every engine — typing, filtering, keyboard and mobile are the platform's, and the field still works with scripting off. `onFilter` is the debounced enhancement on top.
|
|
161
|
+
|
|
162
|
+
| Prop | Type | Required | Notes |
|
|
163
|
+
|---|---|---|---|
|
|
164
|
+
| `options` | `readonly ComboboxOption[]` | yes | |
|
|
165
|
+
| `value` | `string` | — | The current query. Suggestions are filtered to it before they are rendered. |
|
|
166
|
+
| `onFilter` | `((query: string) => void)` | — | Fires `debounceMs` after typing stops, and immediately when a suggestion is picked. Left out, the field is a plain filtered datalist — still correct, just not live. |
|
|
167
|
+
| `debounceMs` | `number` | — | Debounce window in ms. Read once, when the field mounts. |
|
|
168
|
+
| `limit` | `number` | — | Cap on rendered suggestions. |
|
|
169
|
+
| `id` | `string` | — | |
|
|
170
|
+
| `name` | `string` | — | |
|
|
171
|
+
| `placeholder` | `string` | — | Already-translated placeholder. |
|
|
172
|
+
| `size` | `Size` | — | |
|
|
173
|
+
| `required` | `boolean` | — | |
|
|
174
|
+
| `disabled` | `boolean` | — | |
|
|
175
|
+
| `class` | `string` | — | |
|
|
176
|
+
| `aria-label` | `string` | — | |
|
|
177
|
+
| `aria-describedby` | `string` | — | |
|
|
178
|
+
| `aria-invalid` | `boolean` | — | |
|
|
179
|
+
|
|
146
180
|
### Container
|
|
147
181
|
|
|
148
182
|
Centred measure with a gutter. `margin-inline: auto` and `min()` mean one declaration covers every viewport and both writing directions.
|
|
@@ -234,6 +268,29 @@ Edge-anchored panel, also a native <dialog> so it inherits the top layer and ine
|
|
|
234
268
|
| `footer` | `JSX.Element` | — | |
|
|
235
269
|
| `class` | `string` | — | |
|
|
236
270
|
|
|
271
|
+
### Dropzone
|
|
272
|
+
|
|
273
|
+
A drop surface that is a real `<label>` around a real, visually-hidden `<input type="file">`. That shape is what makes it usable without a mouse: click, Enter and Space already open the picker, focus already lands somewhere, and the accessible name is the instruction the label renders. A `<div onClick>` with `tabindex` would reimplement all four and get one of them wrong. Dragging is the enhancement on top, never the only way in.
|
|
274
|
+
|
|
275
|
+
| Prop | Type | Required | Notes |
|
|
276
|
+
|---|---|---|---|
|
|
277
|
+
| `label` | `string` | yes | Already-translated instruction. Required — it is the control's accessible name. |
|
|
278
|
+
| `hint` | `string` | — | Already-translated secondary line: the accepted types, the size ceiling. |
|
|
279
|
+
| `id` | `string` | — | |
|
|
280
|
+
| `name` | `string` | — | |
|
|
281
|
+
| `accept` | `string` | — | The `accept` attribute, and the same list a dropped file is partitioned against. |
|
|
282
|
+
| `multiple` | `boolean` | — | |
|
|
283
|
+
| `required` | `boolean` | — | |
|
|
284
|
+
| `disabled` | `boolean` | — | |
|
|
285
|
+
| `maxBytes` | `number` | — | Client-side ceiling. The server enforces its own; this only spares a doomed transfer. |
|
|
286
|
+
| `maxFiles` | `number` | — | |
|
|
287
|
+
| `progress` | `number` | — | 0..1 while an upload runs. Absent renders no bar at all — never one stuck at zero. |
|
|
288
|
+
| `progressLabel` | `string` | — | Already-translated accessible name for the progress bar. |
|
|
289
|
+
| `class` | `string` | — | |
|
|
290
|
+
| `aria-describedby` | `string` | — | |
|
|
291
|
+
| `aria-invalid` | `boolean` | — | |
|
|
292
|
+
| `onSelect` | `(selection: FileSelection<File>) => void` | yes | Every file offered, partitioned into accepted and refused-with-a-reason. |
|
|
293
|
+
|
|
237
294
|
### EmptyState
|
|
238
295
|
|
|
239
296
|
The "nothing here yet" surface. Title and description arrive as already translated strings; the action slot takes a Button so there is one CTA shape.
|
|
@@ -272,6 +329,30 @@ Label + hint + error, wired for a11y. Field owns the ids and hands them to the c
|
|
|
272
329
|
| `markOptional` | `boolean` | — | Appends a translated "(optional)" marker instead of marking required. |
|
|
273
330
|
| `class` | `string` | — | |
|
|
274
331
|
|
|
332
|
+
### FileInput
|
|
333
|
+
|
|
334
|
+
A file picker that keeps the platform control and dresses it. The native button and the browser's own "no file chosen" summary are already localised, focusable and keyboard-driven, so replacing them with a div buys nothing and costs an accessible name. What the platform has no opinion about is added here: a determinate progress bar, and a partition of what it refused.
|
|
335
|
+
|
|
336
|
+
| Prop | Type | Required | Notes |
|
|
337
|
+
|---|---|---|---|
|
|
338
|
+
| `id` | `string` | — | |
|
|
339
|
+
| `name` | `string` | — | |
|
|
340
|
+
| `accept` | `string` | — | The `accept` attribute, and the same list the refusal partition is computed against. |
|
|
341
|
+
| `multiple` | `boolean` | — | |
|
|
342
|
+
| `size` | `Size` | — | |
|
|
343
|
+
| `required` | `boolean` | — | |
|
|
344
|
+
| `disabled` | `boolean` | — | |
|
|
345
|
+
| `maxBytes` | `number` | — | Client-side ceiling. The server enforces its own; this only spares a doomed transfer. |
|
|
346
|
+
| `maxFiles` | `number` | — | |
|
|
347
|
+
| `progress` | `number` | — | 0..1 while an upload runs. Absent renders no bar at all — never one stuck at zero. |
|
|
348
|
+
| `progressLabel` | `string` | — | Already-translated accessible name for the progress bar. |
|
|
349
|
+
| `class` | `string` | — | |
|
|
350
|
+
| `aria-label` | `string` | — | |
|
|
351
|
+
| `aria-describedby` | `string` | — | |
|
|
352
|
+
| `aria-invalid` | `boolean` | — | |
|
|
353
|
+
| `onSelect` | `((selection: FileSelection<File>) => void)` | — | Every chosen file, partitioned into accepted and refused-with-a-reason. |
|
|
354
|
+
| `onBlur` | `JSX.EventHandlerUnion<HTMLInputElement, FocusEvent>` | — | |
|
|
355
|
+
|
|
275
356
|
### Form
|
|
276
357
|
|
|
277
358
|
Form shell. Owns the one thing every form needs and always forgets: a top-of-form error summary that is focusable and announced on submit.
|
|
@@ -304,6 +385,17 @@ Grid layout primitive. The default is an intrinsic responsive grid (`auto-fit` +
|
|
|
304
385
|
| `as` | `'div' \| 'ul' \| 'ol' \| 'section'` | — | |
|
|
305
386
|
| `class` | `string` | — | |
|
|
306
387
|
|
|
388
|
+
### Icon
|
|
389
|
+
|
|
390
|
+
Inline SVG from one Lucide glyph. Decorative by default (`aria-hidden`); a `label` promotes it to `role="img"` with a name. Paint is `currentColor` and the box is one `em`, so an icon takes the tone and the type step of whatever it sits inside.
|
|
391
|
+
|
|
392
|
+
| Prop | Type | Required | Notes |
|
|
393
|
+
|---|---|---|---|
|
|
394
|
+
| `glyph` | `IconGlyph` | yes | One glyph module: `import { iconSearch } from '@ultimat3/ui/icons/search'`. |
|
|
395
|
+
| `label` | `string` | — | Already-translated accessible name. Omitted means decorative, and a decorative icon is hidden from assistive tech rather than read as a nameless image. |
|
|
396
|
+
| `size` | `Size` | — | |
|
|
397
|
+
| `class` | `string` | — | |
|
|
398
|
+
|
|
307
399
|
### IconButton
|
|
308
400
|
|
|
309
401
|
A button whose only content is an icon, so `label` is mandatory: it becomes the accessible name and the tooltip. There is no unlabelled icon button.
|
|
@@ -339,6 +431,20 @@ Zero-CLS image primitive: a plain <img>, no JS, no fetch, no client state. The
|
|
|
339
431
|
| `height` | `number` | — | |
|
|
340
432
|
| `class` | `string` | — | |
|
|
341
433
|
|
|
434
|
+
### InfiniteScroll
|
|
435
|
+
|
|
436
|
+
An endless list that degrades to pagination: the foot is always a real `rel="next"` link, so the next page is one navigation away with scripting off. With script, a sentinel below the list asks for that page before the reader reaches it, and the link's click is intercepted.
|
|
437
|
+
|
|
438
|
+
| Prop | Type | Required | Notes |
|
|
439
|
+
|---|---|---|---|
|
|
440
|
+
| `children` | `JSX.Element` | yes | The items rendered so far. This component owns the foot, never the list. |
|
|
441
|
+
| `hasMore` | `boolean` | yes | Another page exists. |
|
|
442
|
+
| `nextHref` | `string` | — | The next page's URL. Required whenever `hasMore` — it is the no-JS path. |
|
|
443
|
+
| `loading` | `boolean` | — | A page is in flight; the control stops inviting a second request. |
|
|
444
|
+
| `onLoadMore` | `(() => void)` | — | The enhancement: called when the sentinel appears, and in place of following the link. |
|
|
445
|
+
| `rootMargin` | `string` | — | How far below the fold loading starts. A CSS length, as IntersectionObserver takes it. |
|
|
446
|
+
| `class` | `string` | — | |
|
|
447
|
+
|
|
342
448
|
### Input
|
|
343
449
|
|
|
344
450
|
Single-line text control. No `type="number"` convenience wrapper: numeric input uses `inputmode` + a text type so locale decimal separators survive.
|
package/CLAUDE.md
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# @ultimat3/ui — agent notes
|
|
2
|
+
|
|
3
|
+
Tier 5. Imports `@ultimat3/core`, `schema`, `i18n`, `money`, `time`. Never `http`, `action`, `render`, `admin`.
|
|
4
|
+
|
|
5
|
+
## Boundary
|
|
6
|
+
|
|
7
|
+
| Owns | Does not own |
|
|
8
|
+
|---|---|
|
|
9
|
+
| design tokens, theme resolution, Solid primitives, a11y helpers, the Lucide icon wrapper | routing, data fetching, business logic, layout of a specific app, icon **artwork** |
|
|
10
|
+
|
|
11
|
+
## Hard rules
|
|
12
|
+
|
|
13
|
+
- **SCSS modules only.** `Foo.tsx` + `Foo.module.scss`, always paired. No Tailwind, no CSS-in-JS, no inline `style` except CSS custom properties.
|
|
14
|
+
- **No raw colours.** Only `t.role('<role>')` / `var(--color-*)`. Canonical roles live in `src/tokens/_colors.scss`; `tokens.ts` mirrors them and `tokens.test.ts` fails on drift.
|
|
15
|
+
- **Logical properties only.** `margin-inline`, `inset-inline-start`, `text-align: start`. A `left`/`right` in a stylesheet is a bug.
|
|
16
|
+
- **solid-js is a type-only import.** All reactive access goes through `src/theme/solid-adapter.ts`. Never `import { createSignal } from 'solid-js'`.
|
|
17
|
+
- **`solid()` always answers off-DOM.** No registered runtime and no DOM is a *server render*, and it gets `INERT_SOLID_RUNTIME` (`src/theme/inert-runtime.ts`) — signals hold, memos recompute on read, effects never run, `useContext` returns the default. No DOM means no reactivity to lose; a **DOM** with no runtime is still `X_UI_RUNTIME_MISSING`, because that one is the theme toggle that does nothing. Never widen this to "no runtime, never throw": that is the silent degradation the split exists to prevent.
|
|
18
|
+
- **`useUi()` reads the request on the server**, via `ambientUiContext()` — `currentLocale()`, `currentTimeZone()`, `useI18n()`. Those two read **core's own `Ctx.locale` / `Ctx.tz`**, which `@ultimat3/http`'s `locale` stage writes once per request; `@ultimat3/i18n` and `@ultimat3/time` publish no field of their own. Never add a second ambient store here or there — `time` kept a `ctx['timeZone']` nothing wrote until 2026-08, and the whole cost was invisible: every server-rendered date formatted in UTC under a doc comment saying it did not. `theme`/`currency` deliberately have no ambient source at all.
|
|
19
|
+
- **`UiProvider` is client-only and throws on the server** (`providerNeedsRuntimeError`, the same `X_UI_RUNTIME_MISSING`). A Provider in an inert tree reaches no descendant — the tree is built before the renderer walks it, so consumers are walked outside every owner and read the context default even with a real Solid runtime registered. Rendering the children anyway would drop its locale, zone, currency and translator silently. Making it work needs the *renderer* to scope a context around the walk; until then it refuses.
|
|
20
|
+
- **A component may call `solid()` freely.** Its effects must stay DOM-only work — they simply never run on the server.
|
|
21
|
+
- **No `{...rest}` prop spreading.** Splitting props reactively needs solid's `splitProps` (a value import), so components declare explicit props and read `props.x` inside JSX.
|
|
22
|
+
- **No hardcoded strings.** Label props, or `useUi().t(UI_KEYS.x)`. New built-in strings go in `src/i18n-keys.ts`.
|
|
23
|
+
- **Page layout is four composites**: `AppShell` (frame + skip link + landmarks), `PageHeader`, `Section`, `Toolbar`. A screen that hand-rolls a header grid is the bug they exist to prevent. `AppShell` holds no state — off-canvas is `Drawer`.
|
|
24
|
+
- **Restyling goes through `defineTheme()`**, never a forked stylesheet and never an SCSS `with ()` override. Its values are validated, not escaped: the output lands in a `<style>` element.
|
|
25
|
+
- **`@include t.tone-classes`** emits the `.tone-*` custom-property blocks. Never hand-write a seventh copy; `$tones` in `_colors.scss` mirrors `TONES` and `variants.test.ts` gates it.
|
|
26
|
+
- **Icons are generated, never authored.** `src/icons/glyphs/*.ts` is one module per Lucide icon, written by `bun run icons` from `lucide-static@LUCIDE_VERSION`. Never hand-edit a glyph, never add a hand-drawn one, never introduce a second icon source. An upstream fix is a version bump plus a re-run. `lucide` itself is NOT a dependency — the data is committed, so the package still installs, typechecks and renders offline with zero runtime deps.
|
|
27
|
+
- **One icon, one module.** The `Icon` component takes a `glyph`, not a name: a `name → glyph` map would be one module holding 1767 icons, and no bundler can split that. Per-icon imports are the whole point (1 icon = 104 B minified, 50 = 8.9 kB).
|
|
28
|
+
- **No client runtime exists yet.** A new interactive component must be correct server-rendered and usable with scripting off — `<details>` for disclosure, `<input list>`+`<datalist>` for suggestions, a real `rel="next"` link for paging — with listeners and observers as additive extras. A component that renders nothing until JS runs does not ship.
|
|
29
|
+
- **`inert-render.test.ts` must not assume which factory its `.tsx` compiled to.** `@ultimat3/render`'s `index.ts` installs a process-global `Bun.plugin` `onLoad` for `/\.tsx$/` at import, and `bun test` is one process — so any file in the run that imports render first makes every ui component after it compile to render's `h` instead of the file's own inert copy. The walker recognises both (`Symbol.for('ultimate.render.jsx')`, off the global registry, never an import), and the first test in the describe asserts a component returned a node it recognises. Without both halves the file silently rendered `"[object Object]"` and 26 assertions were decided by shard packing.
|
|
30
|
+
- **Components are not unit-tested through a renderer.** `.tsx` compiles to `@ultimat3/render`'s `h`, which this package may not import, so every rule lives in a pure module beside the component (`icon-glyph.ts`, `accordion-view.ts`, `combobox-filter.ts`, `infinite-scroll-view.ts`) and *that* is what the tests assert.
|
|
31
|
+
- Formatting logic lives in a pure `*-view.ts` next to the component (`money-view.ts`, `date-time-view.ts`) so it is testable with no renderer. Every other renderer-free core follows the same rule under its own name (`sort-state.ts`, `image-source.ts`) — the `.tsx` holds markup, never a rule.
|
|
32
|
+
|
|
33
|
+
## Files
|
|
34
|
+
|
|
35
|
+
| Path | Responsibility |
|
|
36
|
+
|---|---|
|
|
37
|
+
| `src/tokens/*.scss` | canonical token maps + `_mixins.scss` authoring helpers |
|
|
38
|
+
| `src/tokens/theme.scss` | the only stylesheet that emits global custom properties |
|
|
39
|
+
| `src/theme/solid-adapter.ts` | the runtime slot and the one rule that decides which runtime a render gets |
|
|
40
|
+
| `src/theme/inert-runtime.ts` | `INERT_SOLID_RUNTIME` — what a server render IS, not a stub of what it lacks |
|
|
41
|
+
| `src/theme/theme.ts` | resolution: stored choice → OS; all side effects via injected `ThemeEnv` |
|
|
42
|
+
| `src/theme/inline-script.ts` | anti-flash `<head>` snippet + its CSP sha256 |
|
|
43
|
+
| `src/components/` | 50 components, `PascalCase.tsx` (component convention overrides the repo's kebab-case) |
|
|
44
|
+
| `src/icons/glyphs/` | GENERATED: 1767 per-icon modules, `@ultimat3/ui/icons/<name>` → `icon<Name>` |
|
|
45
|
+
| `src/icons/build-icons.ts` | the generator + the pinned `LUCIDE_VERSION`; `LICENSE.lucide` is upstream's ISC text |
|
|
46
|
+
| `src/theme/brand.ts` | `defineTheme()` — the ONE brand-override seam; there is no SCSS `@use ... with ()` path |
|
|
47
|
+
| `src/tokens/contrast.ts` | WCAG ratios over the channel tokens; `contrast.test.ts` gates AA in both themes |
|
|
48
|
+
| `src/catalog/` | parses `components/*.tsx` into `CATALOG.md`; `bun run catalog` writes it, `catalog.test.ts` fails on drift |
|
|
49
|
+
|
|
50
|
+
## Assumed peer contracts
|
|
51
|
+
|
|
52
|
+
`@ultimat3/money` → `formatMoney(money, { locale })`; `@ultimat3/time` → `formatDateTime(date, { locale, timeZone, dateStyle?, timeStyle? })`. Both are injectable via a `format` prop, so a signature change touches one line.
|
|
53
|
+
|
|
54
|
+
## Commands
|
|
55
|
+
|
|
56
|
+
```
|
|
57
|
+
bun test # from the repo root
|
|
58
|
+
bun run --filter @ultimat3/ui typecheck
|
|
59
|
+
bun run --filter @ultimat3/ui catalog # after any prop change — CATALOG.md is gated
|
|
60
|
+
bun run --filter @ultimat3/ui icons # regenerate the glyph set (network; dev-only)
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## Deep import
|
|
64
|
+
|
|
65
|
+
`@ultimat3/ui/icons/*` resolves through the package's `exports` map. Inside this monorepo a
|
|
66
|
+
`tsconfig` that maps `@ultimat3/*` to `packages/*/src` needs the more specific entry
|
|
67
|
+
`"@ultimat3/ui/icons/*": ["./packages/ui/src/icons/glyphs/*"]` for TypeScript to follow it —
|
|
68
|
+
runtime resolution is the `exports` map either way.
|
package/README.md
CHANGED
|
@@ -82,6 +82,62 @@ never skips a level.
|
|
|
82
82
|
</AppShell>
|
|
83
83
|
```
|
|
84
84
|
|
|
85
|
+
## Icons
|
|
86
|
+
|
|
87
|
+
The set is [Lucide](https://lucide.dev) (ISC), wrapped — not redrawn. Every one of its
|
|
88
|
+
**1767 icons** is a module of its own, generated from upstream `lucide-static` node data
|
|
89
|
+
by `bun run icons`, so an import is one glyph and a bundler drops the rest.
|
|
90
|
+
|
|
91
|
+
```tsx
|
|
92
|
+
import { Icon } from '@ultimat3/ui';
|
|
93
|
+
import { iconSearch } from '@ultimat3/ui/icons/search'; // one module, one icon
|
|
94
|
+
import { iconCircleAlert } from '@ultimat3/ui/icons/circle-alert';
|
|
95
|
+
|
|
96
|
+
<Icon glyph={iconSearch} /> // decorative → aria-hidden
|
|
97
|
+
<Icon glyph={iconCircleAlert} label={t('form.invalid')} /> // meaningful → role="img"
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
| Rule | How |
|
|
101
|
+
|---|---|
|
|
102
|
+
| Module per icon | `@ultimat3/ui/icons/<kebab-name>`, exporting `icon<PascalName>` — `iconDelete`, not `delete`, so reserved words stay legal |
|
|
103
|
+
| Pay for what you use | one icon **104 B** minified, fifty **8.9 kB**, all 1767 **365 kB** — measured with `bun build --minify` |
|
|
104
|
+
| Colour | `currentColor` only; a glyph carrying a literal colour is refused with `X_UI_INVALID_VALUE` |
|
|
105
|
+
| Size | `sm` / `md` / `lg` map to `--text-*` and the box is `1em` — no icon carries a pixel literal |
|
|
106
|
+
| Accessible name | omitted `label` means `aria-hidden="true"`; a `label` promotes it to `role="img"` with that name |
|
|
107
|
+
| Attributes | only the tags and attributes in `ICON_TAGS` reach the DOM — glyph data never becomes an arbitrary attribute |
|
|
108
|
+
|
|
109
|
+
Upstream bump: raise `LUCIDE_VERSION` in `src/icons/build-icons.ts`, run `bun run icons`,
|
|
110
|
+
commit the diff. There is no hand-edited icon in the package.
|
|
111
|
+
|
|
112
|
+
## Works without JavaScript
|
|
113
|
+
|
|
114
|
+
Three components are interactive without a client runtime, because the platform already
|
|
115
|
+
has the behaviour. Each is correct server-rendered, and the script layer only adds.
|
|
116
|
+
|
|
117
|
+
| Component | Platform base | The enhancement |
|
|
118
|
+
|---|---|---|
|
|
119
|
+
| `Accordion` | `<details>` / `<summary>`; `exclusive` is the native `name` group | `onToggle` notification, after the browser has applied it |
|
|
120
|
+
| `Combobox` | `<input list>` + `<datalist>` — typing, filtering, keyboard, mobile | `onFilter`, debounced, for a live/server-side query |
|
|
121
|
+
| `InfiniteScroll` | a real `rel="next"` link to the next page | an `IntersectionObserver` sentinel that calls `onLoadMore` and intercepts the click |
|
|
122
|
+
|
|
123
|
+
```tsx
|
|
124
|
+
<Accordion level={3} exclusive items={[{ id: 'ship', title: t('faq.ship'), panel: <p>…</p> }]} />
|
|
125
|
+
|
|
126
|
+
<Combobox name="city" value={query()} options={cities} onFilter={setQuery} debounceMs={250} />
|
|
127
|
+
|
|
128
|
+
<InfiniteScroll hasMore={page.hasNext} nextHref={`?page=${page.next}`} onLoadMore={loadNext}>
|
|
129
|
+
{rows}
|
|
130
|
+
</InfiniteScroll>
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
`InfiniteScroll` refuses `hasMore` without a `nextHref` (`X_UI_INVALID_VALUE`): with
|
|
134
|
+
scripting off the control is a link, and a link needs somewhere to go. `Combobox` filters
|
|
135
|
+
what it is given by `value` (`filterOptions` — case- and accent-insensitive, prefix first),
|
|
136
|
+
so the list is right on the first paint and after a form round-trip, not only once JS runs.
|
|
137
|
+
|
|
138
|
+
`debounce(fn, ms)` is exported on its own: trailing edge, `cancel()`, `flush()`, `pending()`.
|
|
139
|
+
Components cancel theirs on cleanup, so a filter never fires into a tree that is gone.
|
|
140
|
+
|
|
85
141
|
## Branding
|
|
86
142
|
|
|
87
143
|
`defineTheme()` is the **only** seam for restyling. No SCSS `@use ... with ()`
|
|
@@ -89,7 +145,7 @@ override, no forked package, no second entry point — one call, validated, rend
|
|
|
89
145
|
as the custom properties that beat `theme.scss` at every specificity level it emits.
|
|
90
146
|
|
|
91
147
|
```ts
|
|
92
|
-
import { brandStyleTag, defineTheme } from '@ultimat3/ui';
|
|
148
|
+
import { brandStyleCspSource, brandStyleTag, defineTheme } from '@ultimat3/ui';
|
|
93
149
|
|
|
94
150
|
export const brand = defineTheme({
|
|
95
151
|
colors: {
|
|
@@ -102,6 +158,11 @@ export const brand = defineTheme({
|
|
|
102
158
|
|
|
103
159
|
// in <head>, AFTER global.scss
|
|
104
160
|
`${brandStyleTag(brand)}`;
|
|
161
|
+
|
|
162
|
+
// …and the one source that admits it under the framework's locked CSP. The baseline is
|
|
163
|
+
// `style-src 'self' 'sha256-…'` with no 'unsafe-inline', so a tag whose hash the header does
|
|
164
|
+
// not carry is a stylesheet the browser parses zero rules out of.
|
|
165
|
+
`Content-Security-Policy: style-src 'self' ${brandStyleCspSource(brand)}`;
|
|
105
166
|
```
|
|
106
167
|
|
|
107
168
|
| Slot | Accepts | Refused with |
|
|
@@ -115,19 +176,57 @@ anything carrying `;`, `}` or `</style>` is a refusal at the app's entry point r
|
|
|
115
176
|
than a CSS injection. Every component in the system follows the override — they only
|
|
116
177
|
ever read the roles, never a colour.
|
|
117
178
|
|
|
179
|
+
## The two render paths
|
|
180
|
+
|
|
181
|
+
Every component renders on the server. Half of them read the ambient presentation context —
|
|
182
|
+
locale, time zone, currency, direction, translator — and where that context comes from is the
|
|
183
|
+
only thing that differs between a server render and a hydrated one. **An app registers nothing
|
|
184
|
+
to render on the server.**
|
|
185
|
+
|
|
186
|
+
| | Server render | Client render |
|
|
187
|
+
|---|---|---|
|
|
188
|
+
| The renderer | `@ultimat3/render`'s inert JSX factory — a component is a plain function, called once | Solid, with a reactive graph |
|
|
189
|
+
| The runtime | `INERT_SOLID_RUNTIME`, handed out automatically: signals hold, memos recompute on read, effects never run | the real one, registered once: `setSolidRuntime(await import('solid-js'))` |
|
|
190
|
+
| Where `useUi()` reads | the request — `currentLocale()`, `currentTimeZone()`, `useI18n()` | `<UiProvider>`, through Solid's context |
|
|
191
|
+
| `<UiProvider>` | **throws** `X_UI_RUNTIME_MISSING` | the one injection point |
|
|
192
|
+
|
|
193
|
+
`<UiProvider>` is client-only on purpose. A Provider in an inert tree reaches no descendant —
|
|
194
|
+
the tree is already built when the renderer walks it, so every consumer is walked outside every
|
|
195
|
+
owner and sees the context default, with a real Solid runtime registered too. Rendering the
|
|
196
|
+
children anyway would drop the locale, zone, currency and translator it was handed while looking
|
|
197
|
+
like it worked, so it refuses instead and names the fix.
|
|
198
|
+
|
|
199
|
+
The mirror image is just as loud: a **DOM** with no registered runtime is the "my theme toggle
|
|
200
|
+
does nothing" bug, and `solid()` still throws there. No DOM, no reactivity to lose.
|
|
201
|
+
|
|
202
|
+
Server-side, the locale and zone are `ctx.locale` and `ctx.tz` — **core's own fields**, written
|
|
203
|
+
once per request by `@ultimat3/http`'s `locale` stage and read back by `currentLocale()` /
|
|
204
|
+
`currentTimeZone()`. `withChildContext({ locale, tz })` scopes a subtree. There is no second
|
|
205
|
+
ambient store, here or anywhere: `@ultimat3/time` used to keep its own `ctx['timeZone']` that
|
|
206
|
+
nothing ever wrote, so every server-rendered date was UTC however the request arrived.
|
|
207
|
+
|
|
118
208
|
## Example
|
|
119
209
|
|
|
120
210
|
```tsx
|
|
121
|
-
import { Button, Field, Input
|
|
122
|
-
import '@ultimat3/ui/global.scss'
|
|
211
|
+
import { Button, Field, Input } from '@ultimat3/ui';
|
|
212
|
+
import '../../shared/global'; // `shared/global.scss` is the app's one `@use '@ultimat3/ui/global.scss'`
|
|
213
|
+
|
|
214
|
+
// A server render. `useUi()` inside <Field> reads the request's locale, direction and zone —
|
|
215
|
+
// nothing to register, nothing to wrap.
|
|
216
|
+
<Field label={t('signup.email')} hint={t('signup.email.hint')} error={errors.email}>
|
|
217
|
+
{(control) => <Input {...control} type="email" autocomplete="email" />}
|
|
218
|
+
</Field>
|
|
219
|
+
<Button tone="accent">{t('signup.submit')}</Button>
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
```tsx
|
|
223
|
+
// A client entry — an island, or a hydrated app shell. Both lines, in this order, once.
|
|
224
|
+
import { setSolidRuntime, UiProvider } from '@ultimat3/ui';
|
|
123
225
|
|
|
124
|
-
setSolidRuntime(await import('solid-js'));
|
|
226
|
+
setSolidRuntime(await import('solid-js'));
|
|
125
227
|
|
|
126
228
|
<UiProvider locale="ar-EG" timeZone="Africa/Cairo" currency="EGP" t={t}>
|
|
127
|
-
|
|
128
|
-
{(control) => <Input {...control} type="email" autocomplete="email" />}
|
|
129
|
-
</Field>
|
|
130
|
-
<Button tone="accent" loading={pending()}>{t('signup.submit')}</Button>
|
|
229
|
+
{tree}
|
|
131
230
|
</UiProvider>
|
|
132
231
|
```
|
|
133
232
|
|
|
@@ -180,8 +279,8 @@ Content-Security-Policy: script-src 'self' 'sha256-…' # themeInlineScriptCsp
|
|
|
180
279
|
|---|---|
|
|
181
280
|
| `X_TOKEN_UNKNOWN` | a token role the SCSS source does not define — including a `defineTheme()` override of a role, radius or font slot that is not in the scale |
|
|
182
281
|
| `X_THEME_INVALID` | a theme other than `light` / `dark` |
|
|
183
|
-
| `X_UI_RUNTIME_MISSING` |
|
|
184
|
-
| `X_UI_INVALID_VALUE` | `<Money>` given a float, `<DateTime>` given an unparseable instant, `<Image>` given mixed `w`/`x` descriptors or one dimension without the other, a heading level off 1–6,
|
|
282
|
+
| `X_UI_RUNTIME_MISSING` | a DOM render with no registered Solid runtime, `<UiProvider>` on the server, or `browserThemeEnv()` off-DOM. A server render with no runtime is **not** one of them — it gets `INERT_SOLID_RUNTIME` |
|
|
283
|
+
| `X_UI_INVALID_VALUE` | `<Money>` given a float, `<DateTime>` given an unparseable instant, `<Image>` given mixed `w`/`x` descriptors or one dimension without the other, a heading level off 1–6, a `defineTheme()` value that is not a token value, an `<Icon>` glyph with a tag/attribute/colour outside `ICON_TAGS`, two `Accordion` items sharing an id, `InfiniteScroll` with `hasMore` and no `nextHref`, or a negative `debounce` window |
|
|
185
284
|
|
|
186
285
|
## Commands
|
|
187
286
|
|
|
@@ -189,4 +288,5 @@ Content-Security-Policy: script-src 'self' 'sha256-…' # themeInlineScriptCsp
|
|
|
189
288
|
bun test # token parity, contrast, theme resolution, brand, catalog drift, a11y
|
|
190
289
|
bun run typecheck
|
|
191
290
|
bun run catalog # regenerate CATALOG.md after changing a component's props
|
|
291
|
+
bun run icons # regenerate src/icons/glyphs/* from lucide-static (network, dev-only)
|
|
192
292
|
```
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ultimat3/ui",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"description": "SolidJS design system: semantic design tokens, dark/RTL-ready SCSS modules, a11y primitives",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
},
|
|
16
16
|
"exports": {
|
|
17
17
|
".": "./src/index.ts",
|
|
18
|
+
"./icons/*": "./src/icons/glyphs/*.ts",
|
|
18
19
|
"./tokens": "./src/tokens/_index.scss",
|
|
19
20
|
"./theme.scss": "./src/tokens/theme.scss",
|
|
20
21
|
"./reset.scss": "./src/tokens/reset.scss",
|
|
@@ -24,6 +25,7 @@
|
|
|
24
25
|
"src",
|
|
25
26
|
"!src/**/*.test.ts",
|
|
26
27
|
"CATALOG.md",
|
|
28
|
+
"CLAUDE.md",
|
|
27
29
|
"README.md",
|
|
28
30
|
"LICENSE"
|
|
29
31
|
],
|
|
@@ -33,15 +35,16 @@
|
|
|
33
35
|
"scripts": {
|
|
34
36
|
"typecheck": "tsc --noEmit -p tsconfig.json",
|
|
35
37
|
"test": "bun test",
|
|
36
|
-
"catalog": "bun run src/catalog/build-catalog.ts"
|
|
38
|
+
"catalog": "bun run src/catalog/build-catalog.ts",
|
|
39
|
+
"icons": "bun run src/icons/build-icons.ts"
|
|
37
40
|
},
|
|
38
41
|
"dependencies": {
|
|
39
|
-
"@ultimat3/core": "
|
|
40
|
-
"@ultimat3/i18n": "
|
|
41
|
-
"@ultimat3/money": "
|
|
42
|
-
"@ultimat3/time": "
|
|
42
|
+
"@ultimat3/core": "2.0.0",
|
|
43
|
+
"@ultimat3/i18n": "2.0.0",
|
|
44
|
+
"@ultimat3/money": "2.0.0",
|
|
45
|
+
"@ultimat3/time": "2.0.0"
|
|
43
46
|
},
|
|
44
47
|
"peerDependencies": {
|
|
45
|
-
"solid-js": "^
|
|
48
|
+
"solid-js": "^1.9.0"
|
|
46
49
|
}
|
|
47
50
|
}
|
package/src/a11y.ts
CHANGED
|
@@ -21,8 +21,16 @@ export const FOCUSABLE_SELECTOR = [
|
|
|
21
21
|
let idCounter = 0;
|
|
22
22
|
|
|
23
23
|
/**
|
|
24
|
-
*
|
|
25
|
-
*
|
|
24
|
+
* Unique id for label/description wiring, from a PROCESS-wide counter. Prefixed so a mismatch is
|
|
25
|
+
* obvious in the DOM rather than silent.
|
|
26
|
+
*
|
|
27
|
+
* Correct for the only render path that exists: a server render walks a tree once, so every id in
|
|
28
|
+
* one document is distinct, which is all `for`/`aria-describedby` need. It is NOT stable across two
|
|
29
|
+
* renders of the same tree — a second process, or a client re-render, starts its own count — so it
|
|
30
|
+
* cannot survive hydration. That is latent rather than broken: this package has no client runtime
|
|
31
|
+
* (see CLAUDE.md), so nothing re-renders a server tree yet. Making it survive needs a
|
|
32
|
+
* RENDER-SCOPED counter, which means a seam in `@ultimat3/render` (or a `SolidRuntime` member);
|
|
33
|
+
* resetting this one per request would only move the collision. Do not paper over it here.
|
|
26
34
|
*/
|
|
27
35
|
export function useId(prefix = 'u'): string {
|
|
28
36
|
idCounter += 1;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
@use '../tokens' as t;
|
|
2
|
+
|
|
3
|
+
.accordion {
|
|
4
|
+
@include t.column(0);
|
|
5
|
+
border: 1px solid t.role('line');
|
|
6
|
+
border-radius: t.radius(lg);
|
|
7
|
+
background: t.role('surface');
|
|
8
|
+
overflow: hidden;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.section + .section {
|
|
12
|
+
border-block-start: 1px solid t.role('line');
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.summary {
|
|
16
|
+
@include t.row(t.space(2));
|
|
17
|
+
@include t.focus-ring;
|
|
18
|
+
@include t.transition(background);
|
|
19
|
+
padding-block: t.space(3);
|
|
20
|
+
padding-inline: t.space(4);
|
|
21
|
+
color: t.role('fg-strong');
|
|
22
|
+
font-weight: t.weight(medium);
|
|
23
|
+
cursor: pointer;
|
|
24
|
+
|
|
25
|
+
// The default triangle is replaced by the chevron, in both engines.
|
|
26
|
+
list-style: none;
|
|
27
|
+
|
|
28
|
+
&::-webkit-details-marker {
|
|
29
|
+
display: none;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
&:hover {
|
|
33
|
+
background: t.role('bg-soft');
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
// A chevron on the block axis, not the inline one: down/up needs no RTL mirror, so there is
|
|
38
|
+
// no `[dir='rtl']` rule to keep in sync with the glyph.
|
|
39
|
+
.marker {
|
|
40
|
+
@include t.transition(rotate);
|
|
41
|
+
color: t.role('fg-muted');
|
|
42
|
+
rotate: 0deg;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
[open] > .summary > .marker {
|
|
46
|
+
rotate: 180deg;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.title {
|
|
50
|
+
margin: 0;
|
|
51
|
+
font: inherit;
|
|
52
|
+
color: inherit;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.panel {
|
|
56
|
+
padding-block-end: t.space(4);
|
|
57
|
+
padding-inline: t.space(4);
|
|
58
|
+
color: t.role('fg');
|
|
59
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
// Expandable sections built on `<details>`/`<summary>`: open/close, keyboard, focus and
|
|
2
|
+
// `aria-expanded` are the browser's, so the component works with JavaScript disabled and
|
|
3
|
+
// there is no open-state to hydrate. `exclusive` is the native `name` group, not a listener.
|
|
4
|
+
|
|
5
|
+
import type { JSX } from 'solid-js';
|
|
6
|
+
import { useId } from '../a11y';
|
|
7
|
+
import { cx } from '../cx';
|
|
8
|
+
import { iconChevronDown } from '../icons/glyphs/chevron-down';
|
|
9
|
+
import styles from './Accordion.module.scss';
|
|
10
|
+
import type { AccordionSection } from './accordion-view';
|
|
11
|
+
import { accordionOpenIds } from './accordion-view';
|
|
12
|
+
import type { HeadingLevel } from './heading-level';
|
|
13
|
+
import { headingTag } from './heading-level';
|
|
14
|
+
import { Icon } from './Icon';
|
|
15
|
+
|
|
16
|
+
export interface AccordionItem extends AccordionSection {
|
|
17
|
+
/** Already-translated section title. */
|
|
18
|
+
title: string;
|
|
19
|
+
panel: JSX.Element;
|
|
20
|
+
/** Expanded on first paint — a real `open` attribute, so no script has to run. */
|
|
21
|
+
defaultOpen?: boolean | undefined;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export interface AccordionProps {
|
|
25
|
+
items: readonly AccordionItem[];
|
|
26
|
+
/** One section open at a time, through the native `<details name>` group. */
|
|
27
|
+
exclusive?: boolean | undefined;
|
|
28
|
+
/**
|
|
29
|
+
* Wraps each title in a heading of this level, putting the sections in the page outline. Left
|
|
30
|
+
* out, a title is plain text inside the disclosure button — which is what a screen reader
|
|
31
|
+
* announces either way.
|
|
32
|
+
*/
|
|
33
|
+
level?: HeadingLevel | undefined;
|
|
34
|
+
/** Fires on every open and close, once the browser has already applied it. */
|
|
35
|
+
onToggle?: ((id: string, open: boolean) => void) | undefined;
|
|
36
|
+
class?: string | undefined;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export function Accordion(props: AccordionProps): JSX.Element {
|
|
40
|
+
const base = useId('accordion');
|
|
41
|
+
const open = accordionOpenIds(props.items, props.exclusive === true);
|
|
42
|
+
const Title = props.level === undefined ? 'span' : headingTag(props.level);
|
|
43
|
+
|
|
44
|
+
return (
|
|
45
|
+
<div class={cx(styles['accordion'], props.class)}>
|
|
46
|
+
{props.items.map((item) => (
|
|
47
|
+
<details
|
|
48
|
+
id={`${base}-${item.id}`}
|
|
49
|
+
class={styles['section']}
|
|
50
|
+
name={props.exclusive === true ? base : undefined}
|
|
51
|
+
open={open.has(item.id)}
|
|
52
|
+
onToggle={(event) => props.onToggle?.(item.id, event.currentTarget.open)}
|
|
53
|
+
>
|
|
54
|
+
<summary class={styles['summary']}>
|
|
55
|
+
<Icon glyph={iconChevronDown} class={styles['marker']} size="sm" />
|
|
56
|
+
<Title class={styles['title']}>{item.title}</Title>
|
|
57
|
+
</summary>
|
|
58
|
+
<div class={styles['panel']}>{item.panel}</div>
|
|
59
|
+
</details>
|
|
60
|
+
))}
|
|
61
|
+
</div>
|
|
62
|
+
);
|
|
63
|
+
}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
// empty alt (the name is rendered as text or the accessible label), so it can
|
|
3
3
|
// never shift layout or duplicate the name to a screen reader.
|
|
4
4
|
|
|
5
|
+
import { safeUrl } from '@ultimat3/core';
|
|
5
6
|
import type { JSX } from 'solid-js';
|
|
6
7
|
import { cx } from '../cx';
|
|
7
8
|
import styles from './Avatar.module.scss';
|
|
@@ -48,7 +49,14 @@ export function Avatar(props: AvatarProps): JSX.Element {
|
|
|
48
49
|
{initialsOf(props.name)}
|
|
49
50
|
</span>
|
|
50
51
|
) : (
|
|
51
|
-
<img
|
|
52
|
+
<img
|
|
53
|
+
src={safeUrl(props.src, 'src') ?? undefined}
|
|
54
|
+
alt=""
|
|
55
|
+
width={px()}
|
|
56
|
+
height={px()}
|
|
57
|
+
loading="lazy"
|
|
58
|
+
decoding="async"
|
|
59
|
+
/>
|
|
52
60
|
)}
|
|
53
61
|
<span class={styles['name']}>{props.name}</span>
|
|
54
62
|
</span>
|
|
@@ -6,6 +6,7 @@ import { cx } from '../cx';
|
|
|
6
6
|
import { UI_KEYS } from '../i18n-keys';
|
|
7
7
|
import { useUi } from '../theme/context';
|
|
8
8
|
import styles from './Breadcrumb.module.scss';
|
|
9
|
+
import { linkTarget } from './link-target';
|
|
9
10
|
|
|
10
11
|
export interface BreadcrumbItem {
|
|
11
12
|
/** Already-translated label. */
|
|
@@ -36,7 +37,7 @@ export function Breadcrumb(props: BreadcrumbProps): JSX.Element {
|
|
|
36
37
|
{item.label}
|
|
37
38
|
</span>
|
|
38
39
|
) : (
|
|
39
|
-
<a class={styles['link']} href={item.href}>
|
|
40
|
+
<a class={styles['link']} href={linkTarget(item.href).href}>
|
|
40
41
|
{item.label}
|
|
41
42
|
</a>
|
|
42
43
|
)}
|