@ultimat3/ui 1.2.0 → 3.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 +115 -8
- package/CLAUDE.md +77 -0
- package/README.md +131 -11
- package/package.json +10 -7
- package/src/a11y.ts +50 -11
- 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/Checkbox.tsx +7 -2
- package/src/components/Combobox.module.scss +62 -0
- package/src/components/Combobox.tsx +111 -0
- package/src/components/Dialog.tsx +4 -3
- package/src/components/Dropzone.module.scss +73 -0
- package/src/components/Dropzone.tsx +116 -0
- package/src/components/ErrorState.tsx +10 -3
- package/src/components/Field.tsx +1 -7
- package/src/components/FileInput.module.scss +91 -0
- package/src/components/FileInput.tsx +82 -0
- package/src/components/Form.tsx +22 -3
- 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/Menu.tsx +13 -3
- package/src/components/Pagination.tsx +8 -1
- package/src/components/Popover.tsx +11 -1
- package/src/components/Select.tsx +17 -3
- package/src/components/Switch.tsx +11 -4
- package/src/components/Table.tsx +5 -3
- package/src/components/Tabs.tsx +14 -4
- package/src/components/Textarea.tsx +10 -2
- package/src/components/Toast.tsx +22 -10
- package/src/components/Toolbar.tsx +6 -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 +127 -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 +51 -4
- package/src/fake-dom.ts +194 -0
- 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 +155 -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 +54 -2
- package/src/jsx-probe.ts +125 -0
- package/src/roving.ts +65 -0
- 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/src/tokens/reset.scss +7 -0
package/src/debounce.ts
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
// Trailing-edge debounce: the last call of a burst wins, `ms` after the burst stops.
|
|
2
|
+
// One timer, always cancellable — a component that unmounts mid-burst must not fire
|
|
3
|
+
// a filter into a tree that is gone, which is what a leaked timer does.
|
|
4
|
+
|
|
5
|
+
import { invalidValueError } from './errors';
|
|
6
|
+
|
|
7
|
+
export interface Debounced<A extends readonly unknown[]> {
|
|
8
|
+
(...args: A): void;
|
|
9
|
+
/** Drop the pending call. Wire it to the component's cleanup. */
|
|
10
|
+
cancel(): void;
|
|
11
|
+
/** Run the pending call now, if there is one. Blur and submit both need this. */
|
|
12
|
+
flush(): void;
|
|
13
|
+
/** True while a call is waiting. */
|
|
14
|
+
pending(): boolean;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export const DEBOUNCE_DEFAULT_MS = 250;
|
|
18
|
+
|
|
19
|
+
export function debounce<A extends readonly unknown[]>(
|
|
20
|
+
fn: (...args: A) => void,
|
|
21
|
+
ms: number = DEBOUNCE_DEFAULT_MS,
|
|
22
|
+
): Debounced<A> {
|
|
23
|
+
if (!Number.isFinite(ms) || ms < 0) {
|
|
24
|
+
throw invalidValueError('debounce', ms, 'a finite, non-negative delay in milliseconds');
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
let timer: ReturnType<typeof setTimeout> | undefined;
|
|
28
|
+
let queued: A | undefined;
|
|
29
|
+
|
|
30
|
+
const cancel = (): void => {
|
|
31
|
+
if (timer !== undefined) clearTimeout(timer);
|
|
32
|
+
timer = undefined;
|
|
33
|
+
queued = undefined;
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
const run = (): void => {
|
|
37
|
+
const args = queued;
|
|
38
|
+
// Cleared BEFORE the call: `fn` may schedule the next burst, and clearing after would
|
|
39
|
+
// discard the call it just queued.
|
|
40
|
+
cancel();
|
|
41
|
+
if (args !== undefined) fn(...args);
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
const debounced = (...args: A): void => {
|
|
45
|
+
queued = args;
|
|
46
|
+
if (timer !== undefined) clearTimeout(timer);
|
|
47
|
+
timer = setTimeout(run, ms);
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
return Object.assign(debounced, {
|
|
51
|
+
cancel,
|
|
52
|
+
flush: run,
|
|
53
|
+
pending: (): boolean => timer !== undefined,
|
|
54
|
+
});
|
|
55
|
+
}
|
package/src/errors.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// @ultimat3/ui error codes. Every throw carries a stable code, the cause, and
|
|
2
2
|
// the exact fix — identical in the terminal, the browser overlay, and `--json`.
|
|
3
3
|
|
|
4
|
-
import { registerErrorCodes, UltimateError } from '@ultimat3/core';
|
|
4
|
+
import { registerErrorCodes, renderCauseValue, UltimateError } from '@ultimat3/core';
|
|
5
5
|
|
|
6
6
|
export const UI_ERROR_CODES = {
|
|
7
7
|
tokenUnknown: 'X_TOKEN_UNKNOWN',
|
|
@@ -66,7 +66,8 @@ export function invalidBrandTokenError(
|
|
|
66
66
|
): UiError {
|
|
67
67
|
return new UiError({
|
|
68
68
|
code: UI_ERROR_CODES.invalidValue,
|
|
69
|
-
|
|
69
|
+
// The override is the app's own object, so the value is unparsed app data at this point.
|
|
70
|
+
cause: `defineTheme() override ${scope}.${name} is ${renderCauseValue(value)}, which is not ${expected}`,
|
|
70
71
|
fix: `pass ${expected} to defineTheme(), e.g. defineTheme({ colors: { light: { accent: '31 110 178' } } })`,
|
|
71
72
|
});
|
|
72
73
|
}
|
|
@@ -75,7 +76,7 @@ export function invalidBrandTokenError(
|
|
|
75
76
|
export function invalidThemeError(value: unknown): UiError {
|
|
76
77
|
return new UiError({
|
|
77
78
|
code: UI_ERROR_CODES.themeInvalid,
|
|
78
|
-
cause: `theme must be "light" or "dark", received ${
|
|
79
|
+
cause: `theme must be "light" or "dark", received ${renderCauseValue(value)}`,
|
|
79
80
|
fix: "call setTheme('light') or setTheme('dark'), or clearTheme() to follow the OS",
|
|
80
81
|
});
|
|
81
82
|
}
|
|
@@ -89,11 +90,57 @@ export function runtimeMissingError(api: string, fix: string): UiError {
|
|
|
89
90
|
});
|
|
90
91
|
}
|
|
91
92
|
|
|
93
|
+
/**
|
|
94
|
+
* `<UiProvider>` on a server render. No new code: a reactive runtime is absent, which is exactly
|
|
95
|
+
* what X_UI_RUNTIME_MISSING already names — and a code is stable forever once shipped. The throw
|
|
96
|
+
* is the point. A Provider in an inert tree reaches no descendant (they are walked outside every
|
|
97
|
+
* owner), so rendering the children anyway would drop the locale, zone, currency and translator it
|
|
98
|
+
* was handed while looking like it worked.
|
|
99
|
+
*/
|
|
100
|
+
export function providerNeedsRuntimeError(): UiError {
|
|
101
|
+
return new UiError({
|
|
102
|
+
code: UI_ERROR_CODES.runtimeMissing,
|
|
103
|
+
cause:
|
|
104
|
+
'<UiProvider> needs a registered Solid runtime; a server render has none, and its values would reach no component',
|
|
105
|
+
fix: 'delete <UiProvider> from the server tree — useUi() already reads the request locale and time zone; keep the provider in the client entry, after setSolidRuntime()',
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* `<Icon>` was handed glyph data it refuses to turn into markup. No new code: an unrenderable
|
|
111
|
+
* glyph is exactly what X_UI_INVALID_VALUE already names, and a code is stable forever once shipped
|
|
112
|
+
* — a second one for the same meaning is the thing the catalog exists to prevent.
|
|
113
|
+
*/
|
|
114
|
+
export function invalidGlyphError(found: string, expected: string): UiError {
|
|
115
|
+
return new UiError({
|
|
116
|
+
code: UI_ERROR_CODES.invalidValue,
|
|
117
|
+
cause: `<Icon> glyph carries ${found}, which is not renderable; expected ${expected}`,
|
|
118
|
+
// Command first, the alternative behind a `#`: the line runs verbatim and the shell drops the
|
|
119
|
+
// rest. A `fix:` that opens with `@ultimat3/ui/icons/<name>` is a redirect, not an instruction.
|
|
120
|
+
fix: 'bun run --filter @ultimat3/ui icons # or import the glyph from @ultimat3/ui/icons/<name>',
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
|
|
92
124
|
/** A formatting component was handed a value it cannot render. */
|
|
93
125
|
export function invalidValueError(kind: string, value: unknown, expected: string): UiError {
|
|
94
126
|
return new UiError({
|
|
95
127
|
code: UI_ERROR_CODES.invalidValue,
|
|
96
|
-
cause: `<${kind}> received ${
|
|
128
|
+
cause: `<${kind}> received ${renderCauseValue(value)}, which is not ${expected}`,
|
|
97
129
|
fix: `pass ${expected} — parse or validate the value in the loader, not in the component`,
|
|
98
130
|
});
|
|
99
131
|
}
|
|
132
|
+
|
|
133
|
+
/**
|
|
134
|
+
* The icon generator was handed upstream data it cannot turn into a glyph module. No new code:
|
|
135
|
+
* malformed data is exactly what X_UI_INVALID_VALUE already names, and a code is stable forever
|
|
136
|
+
* once shipped. It is NOT X_UI_RUNTIME_MISSING, which says a host capability is absent and sends
|
|
137
|
+
* an operator to audit their environment for a fault that is in the file they just downloaded.
|
|
138
|
+
* The generator's environment faults — no network, no biome binary — keep that code.
|
|
139
|
+
*/
|
|
140
|
+
export function invalidIconDataError(found: string, fix: string): UiError {
|
|
141
|
+
return new UiError({
|
|
142
|
+
code: UI_ERROR_CODES.invalidValue,
|
|
143
|
+
cause: `lucide icon data ${found}`,
|
|
144
|
+
fix,
|
|
145
|
+
});
|
|
146
|
+
}
|
package/src/fake-dom.ts
ADDED
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
// TEST-ONLY. A DOM small enough to read and real enough to run this package's keyboard code
|
|
2
|
+
// against: focus that a disabled control silently refuses, `document.activeElement`, `contains`,
|
|
3
|
+
// and `querySelectorAll` for the selector grammar these helpers actually pass. Not exported from
|
|
4
|
+
// `index.ts` — the alternative is a DOM dependency, and the bugs it catches are the ones that only
|
|
5
|
+
// exist because nothing ever called `createRovingTabindex` with elements attached.
|
|
6
|
+
|
|
7
|
+
/** The subset of a selector these helpers use: comma groups of tag + `[attr]` + `:not(...)`. */
|
|
8
|
+
const PART = /\[[^\]]*\]|:not\([^)]*\)/g;
|
|
9
|
+
|
|
10
|
+
function attrMatches(element: FakeElement, test: string): boolean {
|
|
11
|
+
const inner = test.slice(1, -1);
|
|
12
|
+
const eq = inner.indexOf('=');
|
|
13
|
+
if (eq === -1) return element.getAttribute(inner) !== null;
|
|
14
|
+
const name = inner.slice(0, eq);
|
|
15
|
+
const value = inner.slice(eq + 1).replace(/^["']|["']$/g, '');
|
|
16
|
+
return element.getAttribute(name) === value;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
function compoundMatches(element: FakeElement, compound: string): boolean {
|
|
20
|
+
const tag = compound.split(/[[:]/, 1)[0] ?? '';
|
|
21
|
+
if (tag !== '' && tag !== element.tagName.toLowerCase()) return false;
|
|
22
|
+
for (const part of compound.slice(tag.length).match(PART) ?? []) {
|
|
23
|
+
const ok = part.startsWith(':not(')
|
|
24
|
+
? !attrMatches(element, part.slice(5, -1))
|
|
25
|
+
: attrMatches(element, part);
|
|
26
|
+
if (!ok) return false;
|
|
27
|
+
}
|
|
28
|
+
return true;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/** Listener book shared by the element and the document: registration only, and NO bubbling — a
|
|
32
|
+
* listener on a node never sees an event dispatched somewhere else, which is the whole point of
|
|
33
|
+
* the question `createFocusTrap` gets wrong. */
|
|
34
|
+
class Listeners {
|
|
35
|
+
readonly listeners = new Map<string, Set<(event: unknown) => void>>();
|
|
36
|
+
|
|
37
|
+
addEventListener(type: string, handler: (event: unknown) => void): void {
|
|
38
|
+
const set = this.listeners.get(type) ?? new Set();
|
|
39
|
+
set.add(handler);
|
|
40
|
+
this.listeners.set(type, set);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
removeEventListener(type: string, handler: (event: unknown) => void): void {
|
|
44
|
+
this.listeners.get(type)?.delete(handler);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
dispatch(type: string, event: unknown): void {
|
|
48
|
+
for (const handler of [...(this.listeners.get(type) ?? [])]) handler(event);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
const NATIVELY_FOCUSABLE = new Set(['BUTTON', 'INPUT', 'SELECT', 'TEXTAREA', 'SUMMARY']);
|
|
53
|
+
const LINK_TAGS = new Set(['A', 'AREA']);
|
|
54
|
+
|
|
55
|
+
/** An element that behaves like the real thing in the two ways this package's bugs depend on. */
|
|
56
|
+
export class FakeElement extends Listeners {
|
|
57
|
+
readonly tagName: string;
|
|
58
|
+
readonly children: FakeElement[] = [];
|
|
59
|
+
parent: FakeElement | null = null;
|
|
60
|
+
readonly attrs: Record<string, string>;
|
|
61
|
+
/** Test assertion surface: how many times focus actually landed here. */
|
|
62
|
+
focusCount = 0;
|
|
63
|
+
owner: FakeDocument | null = null;
|
|
64
|
+
|
|
65
|
+
constructor(tagName: string, attrs: Record<string, string> = {}) {
|
|
66
|
+
super();
|
|
67
|
+
this.tagName = tagName.toUpperCase();
|
|
68
|
+
this.attrs = { ...attrs };
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
get tabIndex(): number {
|
|
72
|
+
return Number.parseInt(this.attrs['tabindex'] ?? '-1', 10);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
set tabIndex(value: number) {
|
|
76
|
+
this.attrs['tabindex'] = String(value);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
getAttribute(name: string): string | null {
|
|
80
|
+
return this.attrs[name] ?? null;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
append(...children: readonly FakeElement[]): FakeElement {
|
|
84
|
+
for (const child of children) {
|
|
85
|
+
child.parent = this;
|
|
86
|
+
this.children.push(child);
|
|
87
|
+
}
|
|
88
|
+
return this;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
/** The bug's mechanism, faithfully: focusing a disabled control does NOTHING and reports nothing.
|
|
92
|
+
* A tag that is not natively focusable and carries no `tabindex` refuses in exactly the same
|
|
93
|
+
* silence — `<div>.focus()` is the no-op behind the focus trap's empty-panel fallback. */
|
|
94
|
+
focus(): void {
|
|
95
|
+
if (this.getAttribute('disabled') !== null) return;
|
|
96
|
+
// `tabindex="-1"` IS focusable programmatically; it is only out of the TAB order.
|
|
97
|
+
const declared = this.getAttribute('tabindex') !== null;
|
|
98
|
+
if (!declared && !this.nativelyFocusable()) return;
|
|
99
|
+
this.focusCount += 1;
|
|
100
|
+
const doc = this.document();
|
|
101
|
+
if (doc !== null) doc.activeElement = this;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
contains(node: unknown): boolean {
|
|
105
|
+
for (let at = node as FakeElement | null; at !== null; at = at.parent) {
|
|
106
|
+
if (at === this) return true;
|
|
107
|
+
}
|
|
108
|
+
return false;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
descendants(): FakeElement[] {
|
|
112
|
+
return this.children.flatMap((child) => [child, ...child.descendants()]);
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
querySelectorAll(selector: string): FakeElement[] {
|
|
116
|
+
const groups = selector.split(',').map((one) => one.trim());
|
|
117
|
+
return this.descendants().filter((el) => groups.some((one) => compoundMatches(el, one)));
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
// `focusableWithin` filters on visibility; nothing in a fake tree is laid out, so everything is
|
|
121
|
+
// visible — a hidden-element rule would be this harness inventing a fact, not testing one.
|
|
122
|
+
readonly offsetParent: unknown = null;
|
|
123
|
+
|
|
124
|
+
getClientRects(): readonly unknown[] {
|
|
125
|
+
return [{}];
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
/** Focusable with no `tabindex` at all. `A`/`AREA` only with an `href` — the same condition
|
|
129
|
+
* `FOCUSABLE_SELECTOR` spells `a[href]`. */
|
|
130
|
+
private nativelyFocusable(): boolean {
|
|
131
|
+
if (NATIVELY_FOCUSABLE.has(this.tagName)) return true;
|
|
132
|
+
return LINK_TAGS.has(this.tagName) && this.getAttribute('href') !== null;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
private document(): FakeDocument | null {
|
|
136
|
+
for (let at: FakeElement | null = this; at !== null; at = at.parent) {
|
|
137
|
+
if (at.owner !== null) return at.owner;
|
|
138
|
+
}
|
|
139
|
+
return null;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
export interface FakeKeyboardEvent {
|
|
144
|
+
readonly key: string;
|
|
145
|
+
readonly shiftKey: boolean;
|
|
146
|
+
defaultPrevented: boolean;
|
|
147
|
+
preventDefault(): void;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
export function keydown(key: string, shiftKey = false): FakeKeyboardEvent {
|
|
151
|
+
return {
|
|
152
|
+
key,
|
|
153
|
+
shiftKey,
|
|
154
|
+
defaultPrevented: false,
|
|
155
|
+
preventDefault(): void {
|
|
156
|
+
this.defaultPrevented = true;
|
|
157
|
+
},
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
export class FakeDocument extends Listeners {
|
|
162
|
+
activeElement: FakeElement | null = null;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
export interface InstalledDom {
|
|
166
|
+
readonly document: FakeDocument;
|
|
167
|
+
readonly restore: () => void;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
/**
|
|
171
|
+
* Publish `document` and `HTMLElement` globally for the duration of one test. Both are needed:
|
|
172
|
+
* `createRovingTabindex` reads `document.activeElement` and narrows it with `instanceof
|
|
173
|
+
* HTMLElement`, so a fake that is not the global class is silently treated as "focus is nowhere".
|
|
174
|
+
* ALWAYS restored — `solid()` decides a render is a server render by `document` being absent, and
|
|
175
|
+
* a leaked one turns every later component test in the process into `X_UI_RUNTIME_MISSING`.
|
|
176
|
+
*/
|
|
177
|
+
export function installFakeDom(root: FakeElement): InstalledDom {
|
|
178
|
+
const document = new FakeDocument();
|
|
179
|
+
root.owner = document;
|
|
180
|
+
const hadDocument = 'document' in globalThis;
|
|
181
|
+
const hadElement = 'HTMLElement' in globalThis;
|
|
182
|
+
const previousDocument: unknown = Reflect.get(globalThis, 'document');
|
|
183
|
+
const previousElement: unknown = Reflect.get(globalThis, 'HTMLElement');
|
|
184
|
+
Object.assign(globalThis, { document, HTMLElement: FakeElement });
|
|
185
|
+
return {
|
|
186
|
+
document,
|
|
187
|
+
restore(): void {
|
|
188
|
+
if (hadDocument) Object.assign(globalThis, { document: previousDocument });
|
|
189
|
+
else Reflect.deleteProperty(globalThis, 'document');
|
|
190
|
+
if (hadElement) Object.assign(globalThis, { HTMLElement: previousElement });
|
|
191
|
+
else Reflect.deleteProperty(globalThis, 'HTMLElement');
|
|
192
|
+
},
|
|
193
|
+
};
|
|
194
|
+
}
|
package/src/global.scss
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
// One import for an app document shell: every custom property, then the reset.
|
|
2
2
|
// Component modules add nothing global — they only ever emit their own classes.
|
|
3
|
+
// Reach it from ONE file in the app (`apps/web/shared/global.scss`), imported for its side effect
|
|
4
|
+
// by `shared/global.ts` — every module is its own Sass compilation, so a second @use duplicates it.
|
|
3
5
|
|
|
4
6
|
@use 'tokens/theme';
|
|
5
7
|
@use 'tokens/reset';
|
package/src/i18n-keys.ts
CHANGED
|
@@ -9,7 +9,10 @@ export const UI_KEYS = {
|
|
|
9
9
|
dismiss: 'ui.dismiss',
|
|
10
10
|
loading: 'ui.loading',
|
|
11
11
|
empty: 'ui.empty',
|
|
12
|
-
error:
|
|
12
|
+
// `ui.error` cannot be a leaf: `ui.error.code|cause|fix` are branches under it, and a catalog is
|
|
13
|
+
// authored nested — `parseNestedCatalog` refuses a dot inside a key, so a name is a leaf or a
|
|
14
|
+
// branch, never both. Same reason `theme` is `ui.theme.label`.
|
|
15
|
+
error: 'ui.error.title',
|
|
13
16
|
retry: 'ui.retry',
|
|
14
17
|
next: 'ui.next',
|
|
15
18
|
previous: 'ui.previous',
|
|
@@ -25,11 +28,19 @@ export const UI_KEYS = {
|
|
|
25
28
|
more: 'ui.more',
|
|
26
29
|
required: 'ui.required',
|
|
27
30
|
optional: 'ui.optional',
|
|
28
|
-
theme: 'ui.theme',
|
|
31
|
+
theme: 'ui.theme.label',
|
|
29
32
|
themeLight: 'ui.theme.light',
|
|
30
33
|
themeDark: 'ui.theme.dark',
|
|
31
34
|
themeSystem: 'ui.theme.system',
|
|
32
35
|
language: 'ui.language',
|
|
36
|
+
/** Combobox: how many suggestions the datalist currently offers. Takes `{ count }`. */
|
|
37
|
+
suggestions: 'ui.suggestions',
|
|
38
|
+
/** Combobox: the query matched nothing. */
|
|
39
|
+
noResults: 'ui.results.empty',
|
|
40
|
+
/** InfiniteScroll: the label on the next-page control. */
|
|
41
|
+
loadMore: 'ui.load.more',
|
|
42
|
+
/** InfiniteScroll: announced when the last page has arrived. */
|
|
43
|
+
endOfList: 'ui.load.end',
|
|
33
44
|
errorCode: 'ui.error.code',
|
|
34
45
|
errorCause: 'ui.error.cause',
|
|
35
46
|
errorFix: 'ui.error.fix',
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
ISC License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Lucide Icons and Contributors
|
|
4
|
+
|
|
5
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
6
|
+
purpose with or without fee is hereby granted, provided that the above
|
|
7
|
+
copyright notice and this permission notice appear in all copies.
|
|
8
|
+
|
|
9
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|
10
|
+
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|
11
|
+
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
|
12
|
+
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
13
|
+
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
|
14
|
+
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
|
15
|
+
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
The following Lucide icons are derived from the Feather project:
|
|
20
|
+
|
|
21
|
+
airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out
|
|
22
|
+
|
|
23
|
+
The MIT License (MIT) (for the icons listed above)
|
|
24
|
+
|
|
25
|
+
Copyright (c) 2013-present Cole Bemis
|
|
26
|
+
|
|
27
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
28
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
29
|
+
in the Software without restriction, including without limitation the rights
|
|
30
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
31
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
32
|
+
furnished to do so, subject to the following conditions:
|
|
33
|
+
|
|
34
|
+
The above copyright notice and this permission notice shall be included in all
|
|
35
|
+
copies or substantial portions of the Software.
|
|
36
|
+
|
|
37
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
38
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
39
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
40
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
41
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
42
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
43
|
+
SOFTWARE.
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
// Generates `src/icons/glyphs/<name>.ts` — one module per Lucide icon — from upstream
|
|
2
|
+
// `lucide-static` data: `bun run --filter @ultimat3/ui icons`. We wrap Lucide, we do not draw
|
|
3
|
+
// icons, so an upstream fix is a version bump plus a re-run and never a hand edit.
|
|
4
|
+
|
|
5
|
+
import { rm } from 'node:fs/promises';
|
|
6
|
+
import { renderCauseValue } from '@ultimat3/core';
|
|
7
|
+
import type { IconGlyph } from '../components/icon-glyph';
|
|
8
|
+
import { iconElements } from '../components/icon-glyph';
|
|
9
|
+
import { invalidIconDataError, runtimeMissingError } from '../errors';
|
|
10
|
+
|
|
11
|
+
/** Pinned: a floating version would silently redraw icons under an app that never asked. */
|
|
12
|
+
export const LUCIDE_VERSION = '1.31.0';
|
|
13
|
+
|
|
14
|
+
export const LUCIDE_ICON_NODES_URL = `https://cdn.jsdelivr.net/npm/lucide-static@${LUCIDE_VERSION}/icon-nodes.json`;
|
|
15
|
+
|
|
16
|
+
export const GLYPHS_DIR = new URL('./glyphs/', import.meta.url).pathname;
|
|
17
|
+
|
|
18
|
+
/** `circle-alert` → `iconCircleAlert`. Prefixed because `delete`, `import` and `package` are icons
|
|
19
|
+
* and reserved words — one uniform rule beats three exceptions an agent has to remember. */
|
|
20
|
+
export function identifierFor(name: string): string {
|
|
21
|
+
const pascal = name.replace(/(^|-)(\w)/g, (_, __, letter: string) => letter.toUpperCase());
|
|
22
|
+
return `icon${pascal}`;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Upstream JSON in, validated glyphs out. `unknown` all the way down — the file is fetched over
|
|
27
|
+
* the network, so its shape is an assumption until it is checked.
|
|
28
|
+
*/
|
|
29
|
+
export function parseIconNodes(text: string): ReadonlyMap<string, IconGlyph> {
|
|
30
|
+
const parsed: unknown = JSON.parse(text);
|
|
31
|
+
// `typeof [] === 'object'`, and an array of icons is a different upstream format, not this one.
|
|
32
|
+
if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed)) {
|
|
33
|
+
throw invalidIconDataError(
|
|
34
|
+
`parsed as ${renderCauseValue(parsed)}, not the object of name to nodes that icon-nodes.json publishes; ${LUCIDE_ICON_NODES_URL} served something else`,
|
|
35
|
+
'bun run --filter @ultimat3/ui icons',
|
|
36
|
+
);
|
|
37
|
+
}
|
|
38
|
+
const out = new Map<string, IconGlyph>();
|
|
39
|
+
for (const [name, value] of Object.entries(parsed as Record<string, unknown>)) {
|
|
40
|
+
out.set(name, toGlyph(name, value));
|
|
41
|
+
}
|
|
42
|
+
return out;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Glyph geometry, as characters: digits, the path-command letters, `currentColor`/`none`, and the
|
|
47
|
+
* separators between them. Deliberately not "anything that is not a quote" — an allowlist over a
|
|
48
|
+
* value bound for a code sink is the only shape that stays correct when the sink changes.
|
|
49
|
+
*/
|
|
50
|
+
export const SAFE_ATTR_VALUE = /^[\w\s.,+-]*$/;
|
|
51
|
+
|
|
52
|
+
function toGlyph(name: string, value: unknown): IconGlyph {
|
|
53
|
+
const glyph: (readonly [string, Readonly<Record<string, string>>])[] = [];
|
|
54
|
+
for (const node of Array.isArray(value) ? (value as unknown[]) : []) {
|
|
55
|
+
if (!Array.isArray(node) || typeof node[0] !== 'string') continue;
|
|
56
|
+
const attrs: Record<string, string> = {};
|
|
57
|
+
for (const [key, item] of Object.entries((node[1] ?? {}) as Record<string, unknown>)) {
|
|
58
|
+
// Upstream keys an element for its diff tooling; it is not an SVG attribute.
|
|
59
|
+
if (key === 'key') continue;
|
|
60
|
+
const text = String(item);
|
|
61
|
+
// Defence in depth behind `moduleSource`'s escaping: geometry is digits, path commands and
|
|
62
|
+
// separators, so anything else in a value that is about to be written into a TYPESCRIPT
|
|
63
|
+
// module is refused here rather than escaped and shipped. Measured against the whole
|
|
64
|
+
// committed set — all 1767 glyphs pass (`build-icons.test.ts` asserts it), so this rejects
|
|
65
|
+
// no legitimate Lucide artwork.
|
|
66
|
+
if (!SAFE_ATTR_VALUE.test(text)) {
|
|
67
|
+
throw invalidIconDataError(
|
|
68
|
+
`for the icon "${name}" carries ${renderCauseValue(text)} as "${key}", which is not glyph geometry; lucide-static@${LUCIDE_VERSION} is the pin that published it, so a re-run against the same pin repeats this`,
|
|
69
|
+
'bun run --filter @ultimat3/ui icons # after raising LUCIDE_VERSION in packages/ui/src/icons/build-icons.ts',
|
|
70
|
+
);
|
|
71
|
+
}
|
|
72
|
+
attrs[key] = text;
|
|
73
|
+
}
|
|
74
|
+
glyph.push([node[0], attrs]);
|
|
75
|
+
}
|
|
76
|
+
// The same gate the component applies at render time, applied at generation time: a glyph that
|
|
77
|
+
// would throw in a page is a build failure here instead.
|
|
78
|
+
iconElements(glyph);
|
|
79
|
+
if (glyph.length === 0) {
|
|
80
|
+
throw invalidIconDataError(
|
|
81
|
+
`for the icon "${name}" carries no renderable node data; lucide-static@${LUCIDE_VERSION} is the pin that published it, so a re-run against the same pin repeats this`,
|
|
82
|
+
'bun run --filter @ultimat3/ui icons # after raising LUCIDE_VERSION in packages/ui/src/icons/build-icons.ts',
|
|
83
|
+
);
|
|
84
|
+
}
|
|
85
|
+
return glyph;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* `JSON.stringify`, never `'${value}'`. The value is network-fetched data on its way into a
|
|
90
|
+
* TypeScript module that every app importing that icon will EXECUTE at import — a code sink, not
|
|
91
|
+
* an attribute sink. A raw quote in the value ends the string literal, and `');` after it starts
|
|
92
|
+
* a statement. `JSON.stringify` escapes quotes, backslashes and control characters, and Biome
|
|
93
|
+
* rewrites the quote style afterwards (`format()` below), so the committed output is unchanged.
|
|
94
|
+
* The key needs no escaping: `iconElements` has already refused every name off the allowlist.
|
|
95
|
+
*/
|
|
96
|
+
const attrsSource = (attrs: Readonly<Record<string, string>>): string =>
|
|
97
|
+
Object.entries(attrs)
|
|
98
|
+
.map(([key, value]) => `${/^[a-z]+$/.test(key) ? key : `'${key}'`}: ${JSON.stringify(value)}`)
|
|
99
|
+
.join(', ');
|
|
100
|
+
|
|
101
|
+
/** One module's full text. Biome reformats it afterwards, so the layout here is only a seed. */
|
|
102
|
+
export function moduleSource(name: string, glyph: IconGlyph): string {
|
|
103
|
+
const nodes = glyph.map(([tag, attrs]) => ` ['${tag}', { ${attrsSource(attrs)} }],`).join('\n');
|
|
104
|
+
return [
|
|
105
|
+
`// The Lucide "${name}" glyph as data. GENERATED by src/icons/build-icons.ts — do not edit.`,
|
|
106
|
+
`// Icon artwork © Lucide contributors, ISC (see src/icons/LICENSE.lucide).`,
|
|
107
|
+
'',
|
|
108
|
+
"import type { IconGlyph } from '../../components/icon-glyph';",
|
|
109
|
+
'',
|
|
110
|
+
`export const ${identifierFor(name)}: IconGlyph = [`,
|
|
111
|
+
nodes,
|
|
112
|
+
'];',
|
|
113
|
+
'',
|
|
114
|
+
].join('\n');
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
/** Biome owns formatting in this repo, generated files included — so the generator asks it rather
|
|
118
|
+
* than imitating it, and a regenerated set never shows up as a lint diff. */
|
|
119
|
+
async function format(): Promise<void> {
|
|
120
|
+
const biome = new URL('../../../../node_modules/.bin/biome', import.meta.url).pathname;
|
|
121
|
+
if (!(await Bun.file(biome).exists())) {
|
|
122
|
+
throw runtimeMissingError('the biome binary', 'bun install, then re-run this generator');
|
|
123
|
+
}
|
|
124
|
+
const result = Bun.spawnSync([biome, 'format', '--write', GLYPHS_DIR]);
|
|
125
|
+
if (result.exitCode !== 0) {
|
|
126
|
+
throw runtimeMissingError(
|
|
127
|
+
'a successful `biome format` over the generated glyphs',
|
|
128
|
+
`run: ${biome} format --write ${GLYPHS_DIR}`,
|
|
129
|
+
);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
export async function buildIcons(): Promise<number> {
|
|
134
|
+
const response = await fetch(LUCIDE_ICON_NODES_URL);
|
|
135
|
+
if (!response.ok) {
|
|
136
|
+
throw runtimeMissingError(
|
|
137
|
+
`lucide-static@${LUCIDE_VERSION} icon data (HTTP ${response.status})`,
|
|
138
|
+
`check network access to ${LUCIDE_ICON_NODES_URL}, then re-run: bun run --filter @ultimat3/ui icons`,
|
|
139
|
+
);
|
|
140
|
+
}
|
|
141
|
+
const glyphs = parseIconNodes(await response.text());
|
|
142
|
+
// Cleared first: a renamed upstream icon must disappear, not linger as a second spelling.
|
|
143
|
+
await rm(GLYPHS_DIR, { recursive: true, force: true });
|
|
144
|
+
for (const [name, glyph] of [...glyphs].sort(([a], [b]) => a.localeCompare(b))) {
|
|
145
|
+
await Bun.write(`${GLYPHS_DIR}${name}.ts`, moduleSource(name, glyph));
|
|
146
|
+
}
|
|
147
|
+
await format();
|
|
148
|
+
return glyphs.size;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
if (import.meta.main) {
|
|
152
|
+
const count = await buildIcons();
|
|
153
|
+
const json = { ok: true, icons: count, lucide: LUCIDE_VERSION, dir: GLYPHS_DIR };
|
|
154
|
+
console.log(Bun.argv.includes('--json') ? JSON.stringify(json) : `${count} icon modules written`);
|
|
155
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// The Lucide "a-arrow-down" glyph as data. GENERATED by src/icons/build-icons.ts — do not edit.
|
|
2
|
+
// Icon artwork © Lucide contributors, ISC (see src/icons/LICENSE.lucide).
|
|
3
|
+
|
|
4
|
+
import type { IconGlyph } from '../../components/icon-glyph';
|
|
5
|
+
|
|
6
|
+
export const iconAArrowDown: IconGlyph = [
|
|
7
|
+
['path', { d: 'm14 12 4 4 4-4' }],
|
|
8
|
+
['path', { d: 'M18 16V7' }],
|
|
9
|
+
['path', { d: 'm2 16 4.039-9.69a.5.5 0 0 1 .923 0L11 16' }],
|
|
10
|
+
['path', { d: 'M3.304 13h6.392' }],
|
|
11
|
+
];
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// The Lucide "a-arrow-up" glyph as data. GENERATED by src/icons/build-icons.ts — do not edit.
|
|
2
|
+
// Icon artwork © Lucide contributors, ISC (see src/icons/LICENSE.lucide).
|
|
3
|
+
|
|
4
|
+
import type { IconGlyph } from '../../components/icon-glyph';
|
|
5
|
+
|
|
6
|
+
export const iconAArrowUp: IconGlyph = [
|
|
7
|
+
['path', { d: 'm14 11 4-4 4 4' }],
|
|
8
|
+
['path', { d: 'M18 16V7' }],
|
|
9
|
+
['path', { d: 'm2 16 4.039-9.69a.5.5 0 0 1 .923 0L11 16' }],
|
|
10
|
+
['path', { d: 'M3.304 13h6.392' }],
|
|
11
|
+
];
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// The Lucide "a-large-small" glyph as data. GENERATED by src/icons/build-icons.ts — do not edit.
|
|
2
|
+
// Icon artwork © Lucide contributors, ISC (see src/icons/LICENSE.lucide).
|
|
3
|
+
|
|
4
|
+
import type { IconGlyph } from '../../components/icon-glyph';
|
|
5
|
+
|
|
6
|
+
export const iconALargeSmall: IconGlyph = [
|
|
7
|
+
['path', { d: 'm15 16 2.536-7.328a1.02 1.02 1 0 1 1.928 0L22 16' }],
|
|
8
|
+
['path', { d: 'M15.697 14h5.606' }],
|
|
9
|
+
['path', { d: 'm2 16 4.039-9.69a.5.5 0 0 1 .923 0L11 16' }],
|
|
10
|
+
['path', { d: 'M3.304 13h6.392' }],
|
|
11
|
+
];
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// The Lucide "accessibility" glyph as data. GENERATED by src/icons/build-icons.ts — do not edit.
|
|
2
|
+
// Icon artwork © Lucide contributors, ISC (see src/icons/LICENSE.lucide).
|
|
3
|
+
|
|
4
|
+
import type { IconGlyph } from '../../components/icon-glyph';
|
|
5
|
+
|
|
6
|
+
export const iconAccessibility: IconGlyph = [
|
|
7
|
+
['circle', { cx: '16', cy: '4', r: '1' }],
|
|
8
|
+
['path', { d: 'm18 19 1-7-6 1' }],
|
|
9
|
+
['path', { d: 'm5 8 3-3 5.5 3-2.36 3.5' }],
|
|
10
|
+
['path', { d: 'M4.24 14.5a5 5 0 0 0 6.88 6' }],
|
|
11
|
+
['path', { d: 'M13.76 17.5a5 5 0 0 0-6.88-6' }],
|
|
12
|
+
];
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
// The Lucide "activity" glyph as data. GENERATED by src/icons/build-icons.ts — do not edit.
|
|
2
|
+
// Icon artwork © Lucide contributors, ISC (see src/icons/LICENSE.lucide).
|
|
3
|
+
|
|
4
|
+
import type { IconGlyph } from '../../components/icon-glyph';
|
|
5
|
+
|
|
6
|
+
export const iconActivity: IconGlyph = [
|
|
7
|
+
[
|
|
8
|
+
'path',
|
|
9
|
+
{
|
|
10
|
+
d: 'M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2',
|
|
11
|
+
},
|
|
12
|
+
],
|
|
13
|
+
];
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
// The Lucide "ad" glyph as data. GENERATED by src/icons/build-icons.ts — do not edit.
|
|
2
|
+
// Icon artwork © Lucide contributors, ISC (see src/icons/LICENSE.lucide).
|
|
3
|
+
|
|
4
|
+
import type { IconGlyph } from '../../components/icon-glyph';
|
|
5
|
+
|
|
6
|
+
export const iconAd: IconGlyph = [
|
|
7
|
+
['path', { d: 'M10 13H6' }],
|
|
8
|
+
['path', { d: 'M10 15v-4a2 2 0 0 0-4 0v4' }],
|
|
9
|
+
[
|
|
10
|
+
'path',
|
|
11
|
+
{
|
|
12
|
+
d: 'M14 14.5a.5.5 0 0 0 .5.5h1a2.5 2.5 0 0 0 2.5-2.5v-1A2.5 2.5 0 0 0 15.5 9h-1a.5.5 0 0 0-.5.5z',
|
|
13
|
+
},
|
|
14
|
+
],
|
|
15
|
+
['rect', { x: '2', y: '5', width: '20', height: '14', rx: '2' }],
|
|
16
|
+
];
|