@work-graph/cli 0.2.5 → 0.2.6
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/README.md +12 -0
- package/package.json +1 -1
- package/vendor/packages/design-tokens/generated/workgraph-dark.css +29 -29
- package/vendor/packages/workgraph-mcp/README.md +14 -0
- package/vendor/packages/workgraph-mcp/src/handlers.mjs +110 -6
- package/vendor/packages/workgraph-mcp/src/index.mjs +77 -2
- package/vendor/public/assets/avatars/avatar-01.svg +1 -0
- package/vendor/public/assets/avatars/avatar-02.svg +1 -0
- package/vendor/public/assets/avatars/avatar-03.svg +1 -0
- package/vendor/public/assets/avatars/avatar-04.svg +1 -0
- package/vendor/public/assets/avatars/avatar-05.svg +1 -0
- package/vendor/public/assets/avatars/avatar-06.svg +1 -0
- package/vendor/public/assets/avatars/avatar-07.svg +1 -0
- package/vendor/public/assets/avatars/avatar-08.svg +1 -0
- package/vendor/public/assets/avatars/avatar-09.svg +1 -0
- package/vendor/public/assets/avatars/avatar-10.svg +1 -0
- package/vendor/public/assets/favicon.svg +4 -0
- package/vendor/public/assets/icons/bold/acorn-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/address-book-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/address-book-tabs-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/air-traffic-control-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/airplane-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/airplane-in-flight-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/airplane-landing-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/airplane-takeoff-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/airplane-taxiing-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/airplane-tilt-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/airplay-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/alarm-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/alien-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/align-bottom-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/align-bottom-simple-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/align-center-horizontal-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/align-center-horizontal-simple-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/align-center-vertical-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/align-center-vertical-simple-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/align-left-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/align-left-simple-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/align-right-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/align-right-simple-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/align-top-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/align-top-simple-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/amazon-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/ambulance-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/anchor-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/anchor-simple-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/android-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/angle-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/angular-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/aperture-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/app-store-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/app-window-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/apple-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/apple-podcasts-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/approximate-equals-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/archive-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/armchair-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-arc-left-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-arc-right-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-bend-double-up-left-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-bend-double-up-right-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-bend-down-left-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-bend-down-right-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-bend-left-down-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-bend-left-up-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-bend-right-down-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-bend-right-up-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-bend-up-left-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-bend-up-right-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-circle-down-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-circle-down-left-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-circle-down-right-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-circle-left-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-circle-right-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-circle-up-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-circle-up-left-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-circle-up-right-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-clockwise-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-counter-clockwise-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-down-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-down-left-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-down-right-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-elbow-down-left-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-elbow-down-right-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-elbow-left-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-elbow-left-down-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-elbow-left-up-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-elbow-right-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-elbow-right-down-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-elbow-right-up-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-elbow-up-left-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-elbow-up-right-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-fat-down-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-fat-left-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-fat-line-down-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-fat-line-left-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-fat-line-right-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-fat-line-up-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-fat-lines-down-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-fat-lines-left-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-fat-lines-right-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-fat-lines-up-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-fat-right-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-fat-up-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-left-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-line-down-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-line-down-left-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-line-down-right-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-line-left-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-line-right-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-line-up-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-line-up-left-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-line-up-right-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-right-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-square-down-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-square-down-left-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-square-down-right-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-square-in-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-square-left-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-square-out-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-square-right-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-square-up-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-square-up-left-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-square-up-right-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-u-down-left-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-u-down-right-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-u-left-down-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-u-left-up-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-u-right-down-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-u-right-up-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-u-up-left-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-u-up-right-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-up-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-up-left-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrow-up-right-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrows-clockwise-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrows-counter-clockwise-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrows-down-up-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrows-horizontal-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrows-in-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrows-in-cardinal-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrows-in-line-horizontal-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrows-in-line-vertical-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrows-in-simple-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrows-left-right-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrows-merge-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrows-out-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrows-out-cardinal-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrows-out-line-horizontal-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrows-out-line-vertical-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrows-out-simple-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrows-split-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/arrows-vertical-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/article-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/article-medium-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/article-ny-times-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/asclepius-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/asterisk-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/asterisk-simple-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/at-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/atom-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/avocado-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/axe-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/baby-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/baby-carriage-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/backpack-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/backspace-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/bag-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/bag-simple-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/balloon-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/bandaids-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/bank-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/barbell-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/barcode-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/barn-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/barricade-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/baseball-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/baseball-cap-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/baseball-helmet-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/basket-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/basketball-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/bathtub-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/battery-charging-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/battery-charging-vertical-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/battery-empty-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/battery-full-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/battery-high-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/battery-low-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/battery-medium-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/battery-plus-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/battery-plus-vertical-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/battery-vertical-empty-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/battery-vertical-full-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/battery-vertical-high-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/battery-vertical-low-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/battery-vertical-medium-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/battery-warning-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/battery-warning-vertical-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/beach-ball-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/beanie-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/bed-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/beer-bottle-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/beer-stein-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/behance-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/bell-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/bell-ringing-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/bell-simple-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/bell-simple-ringing-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/bell-simple-slash-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/bell-simple-z-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/bell-slash-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/bell-z-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/belt-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/bezier-curve-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/bicycle-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/binary-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/binoculars-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/biohazard-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/bird-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/blueprint-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/bluetooth-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/bluetooth-connected-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/bluetooth-slash-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/bluetooth-x-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/boat-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/bomb-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/bone-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/book-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/book-bookmark-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/book-open-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/book-open-text-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/book-open-user-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/bookmark-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/bookmark-simple-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/bookmarks-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/bookmarks-simple-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/books-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/boot-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/boules-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/bounding-box-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/bowl-food-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/bowl-steam-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/bowling-ball-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/box-arrow-down-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/box-arrow-up-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/boxing-glove-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/brackets-angle-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/brackets-curly-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/brackets-round-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/brackets-square-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/brain-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/brandy-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/bread-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/bridge-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/briefcase-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/briefcase-metal-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/broadcast-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/broom-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/browser-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/browsers-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/bug-beetle-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/bug-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/bug-droid-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/building-apartment-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/building-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/building-office-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/buildings-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/bulldozer-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/bus-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/butterfly-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/cable-car-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/cactus-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/cake-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/calculator-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/calendar-blank-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/calendar-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/calendar-check-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/calendar-dot-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/calendar-dots-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/calendar-heart-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/calendar-minus-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/calendar-plus-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/calendar-slash-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/calendar-star-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/calendar-x-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/call-bell-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/camera-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/camera-plus-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/camera-rotate-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/camera-slash-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/campfire-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/car-battery-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/car-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/car-profile-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/car-simple-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/cardholder-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/cards-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/cards-three-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/caret-circle-double-down-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/caret-circle-double-left-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/caret-circle-double-right-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/caret-circle-double-up-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/caret-circle-down-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/caret-circle-left-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/caret-circle-right-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/caret-circle-up-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/caret-circle-up-down-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/caret-double-down-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/caret-double-left-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/caret-double-right-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/caret-double-up-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/caret-down-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/caret-left-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/caret-line-down-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/caret-line-left-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/caret-line-right-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/caret-line-up-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/caret-right-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/caret-up-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/caret-up-down-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/carrot-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/cash-register-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/cassette-tape-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/castle-turret-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/cat-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/cell-signal-full-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/cell-signal-high-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/cell-signal-low-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/cell-signal-medium-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/cell-signal-none-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/cell-signal-slash-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/cell-signal-x-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/cell-tower-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/certificate-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/chair-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/chalkboard-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/chalkboard-simple-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/chalkboard-teacher-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/champagne-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/charging-station-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/chart-bar-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/chart-bar-horizontal-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/chart-donut-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/chart-line-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/chart-line-down-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/chart-line-up-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/chart-pie-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/chart-pie-slice-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/chart-polar-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/chart-scatter-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/chat-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/chat-centered-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/chat-centered-dots-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/chat-centered-slash-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/chat-centered-text-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/chat-circle-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/chat-circle-dots-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/chat-circle-slash-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/chat-circle-text-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/chat-dots-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/chat-slash-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/chat-teardrop-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/chat-teardrop-dots-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/chat-teardrop-slash-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/chat-teardrop-text-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/chat-text-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/chats-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/chats-circle-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/chats-teardrop-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/check-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/check-circle-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/check-fat-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/check-square-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/check-square-offset-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/checkerboard-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/checks-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/cheers-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/cheese-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/chef-hat-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/cherries-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/church-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/cigarette-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/cigarette-slash-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/circle-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/circle-dashed-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/circle-half-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/circle-half-tilt-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/circle-notch-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/circles-four-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/circles-three-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/circles-three-plus-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/circuitry-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/city-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/clipboard-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/clipboard-text-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/clock-afternoon-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/clock-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/clock-clockwise-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/clock-countdown-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/clock-counter-clockwise-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/clock-user-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/closed-captioning-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/cloud-arrow-down-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/cloud-arrow-up-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/cloud-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/cloud-check-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/cloud-fog-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/cloud-lightning-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/cloud-moon-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/cloud-rain-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/cloud-slash-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/cloud-snow-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/cloud-sun-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/cloud-warning-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/cloud-x-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/clover-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/club-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/coat-hanger-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/coda-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/code-block-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/code-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/code-simple-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/codepen-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/codesandbox-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/coffee-bean-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/coffee-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/coin-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/coin-vertical-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/coins-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/columns-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/columns-plus-left-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/columns-plus-right-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/command-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/compass-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/compass-rose-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/compass-tool-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/computer-tower-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/confetti-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/contactless-payment-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/control-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/cookie-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/cooking-pot-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/copy-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/copy-simple-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/copyleft-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/copyright-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/corners-in-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/corners-out-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/couch-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/court-basketball-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/cow-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/cowboy-hat-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/cpu-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/crane-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/crane-tower-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/credit-card-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/cricket-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/crop-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/cross-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/crosshair-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/crosshair-simple-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/crown-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/crown-cross-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/crown-simple-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/cube-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/cube-focus-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/cube-transparent-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/currency-btc-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/currency-circle-dollar-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/currency-cny-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/currency-dollar-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/currency-dollar-simple-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/currency-eth-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/currency-eur-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/currency-gbp-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/currency-inr-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/currency-jpy-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/currency-krw-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/currency-kzt-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/currency-ngn-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/currency-rub-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/cursor-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/cursor-click-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/cursor-text-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/cylinder-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/database-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/desk-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/desktop-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/desktop-tower-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/detective-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/dev-to-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/device-mobile-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/device-mobile-camera-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/device-mobile-slash-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/device-mobile-speaker-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/device-rotate-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/device-tablet-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/device-tablet-camera-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/device-tablet-speaker-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/devices-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/diamond-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/diamonds-four-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/dice-five-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/dice-four-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/dice-one-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/dice-six-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/dice-three-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/dice-two-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/disc-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/disco-ball-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/discord-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/divide-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/dna-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/dog-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/door-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/door-open-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/dot-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/dot-outline-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/dots-nine-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/dots-six-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/dots-six-vertical-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/dots-three-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/dots-three-circle-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/dots-three-circle-vertical-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/dots-three-outline-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/dots-three-outline-vertical-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/dots-three-vertical-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/download-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/download-simple-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/dress-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/dresser-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/dribbble-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/drone-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/drop-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/drop-half-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/drop-half-bottom-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/drop-simple-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/drop-slash-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/dropbox-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/ear-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/ear-slash-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/egg-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/egg-crack-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/eject-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/eject-simple-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/elevator-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/empty-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/engine-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/envelope-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/envelope-open-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/envelope-simple-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/envelope-simple-open-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/equalizer-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/equals-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/eraser-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/escalator-down-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/escalator-up-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/exam-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/exclamation-mark-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/exclude-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/exclude-square-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/export-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/eye-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/eye-closed-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/eye-slash-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/eyedropper-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/eyedropper-sample-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/eyeglasses-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/eyes-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/face-mask-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/facebook-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/factory-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/faders-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/faders-horizontal-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/fallout-shelter-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/fan-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/farm-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/fast-forward-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/fast-forward-circle-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/feather-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/fediverse-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/figma-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/file-archive-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/file-arrow-down-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/file-arrow-up-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/file-audio-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/file-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/file-c-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/file-c-sharp-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/file-cloud-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/file-code-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/file-cpp-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/file-css-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/file-csv-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/file-dashed-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/file-doc-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/file-html-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/file-image-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/file-ini-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/file-jpg-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/file-js-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/file-jsx-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/file-lock-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/file-magnifying-glass-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/file-md-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/file-minus-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/file-pdf-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/file-plus-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/file-png-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/file-ppt-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/file-py-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/file-rs-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/file-sql-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/file-svg-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/file-text-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/file-ts-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/file-tsx-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/file-txt-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/file-video-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/file-vue-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/file-x-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/file-xls-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/file-zip-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/files-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/film-reel-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/film-script-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/film-slate-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/film-strip-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/fingerprint-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/fingerprint-simple-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/finn-the-human-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/fire-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/fire-extinguisher-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/fire-simple-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/fire-truck-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/first-aid-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/first-aid-kit-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/fish-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/fish-simple-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/flag-banner-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/flag-banner-fold-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/flag-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/flag-checkered-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/flag-pennant-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/flame-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/flashlight-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/flask-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/flip-horizontal-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/flip-vertical-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/floppy-disk-back-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/floppy-disk-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/flow-arrow-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/flower-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/flower-lotus-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/flower-tulip-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/flying-saucer-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/folder-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/folder-dashed-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/folder-lock-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/folder-minus-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/folder-open-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/folder-plus-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/folder-simple-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/folder-simple-dashed-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/folder-simple-lock-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/folder-simple-minus-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/folder-simple-plus-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/folder-simple-star-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/folder-simple-user-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/folder-star-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/folder-user-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/folders-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/football-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/football-helmet-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/footprints-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/fork-knife-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/four-k-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/frame-corners-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/framer-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/function-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/funnel-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/funnel-simple-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/funnel-simple-x-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/funnel-x-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/game-controller-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/garage-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/gas-can-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/gas-pump-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/gauge-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/gavel-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/gear-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/gear-fine-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/gear-six-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/gender-female-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/gender-intersex-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/gender-male-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/gender-neuter-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/gender-nonbinary-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/gender-transgender-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/ghost-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/gif-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/gift-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/git-branch-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/git-commit-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/git-diff-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/git-fork-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/git-merge-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/git-pull-request-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/github-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/gitlab-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/gitlab-logo-simple-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/globe-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/globe-hemisphere-east-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/globe-hemisphere-west-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/globe-simple-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/globe-simple-x-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/globe-stand-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/globe-x-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/goggles-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/golf-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/goodreads-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/google-cardboard-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/google-chrome-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/google-drive-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/google-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/google-photos-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/google-play-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/google-podcasts-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/gps-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/gps-fix-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/gps-slash-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/gradient-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/graduation-cap-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/grains-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/grains-slash-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/graph-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/graphics-card-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/greater-than-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/greater-than-or-equal-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/grid-four-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/grid-nine-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/guitar-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/hair-dryer-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/hamburger-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/hammer-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/hand-arrow-down-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/hand-arrow-up-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/hand-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/hand-coins-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/hand-deposit-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/hand-eye-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/hand-fist-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/hand-grabbing-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/hand-heart-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/hand-palm-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/hand-peace-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/hand-pointing-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/hand-soap-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/hand-swipe-left-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/hand-swipe-right-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/hand-tap-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/hand-waving-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/hand-withdraw-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/handbag-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/handbag-simple-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/hands-clapping-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/hands-praying-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/handshake-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/hard-drive-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/hard-drives-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/hard-hat-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/hash-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/hash-straight-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/head-circuit-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/headlights-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/headphones-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/headset-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/heart-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/heart-break-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/heart-half-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/heart-straight-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/heart-straight-break-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/heartbeat-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/hexagon-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/high-definition-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/high-heel-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/highlighter-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/highlighter-circle-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/hockey-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/hoodie-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/horse-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/hospital-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/hourglass-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/hourglass-high-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/hourglass-low-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/hourglass-medium-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/hourglass-simple-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/hourglass-simple-high-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/hourglass-simple-low-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/hourglass-simple-medium-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/house-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/house-line-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/house-simple-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/hurricane-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/ice-cream-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/identification-badge-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/identification-card-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/image-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/image-broken-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/image-square-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/images-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/images-square-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/infinity-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/info-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/instagram-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/intersect-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/intersect-square-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/intersect-three-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/intersection-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/invoice-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/island-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/jar-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/jar-label-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/jeep-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/joystick-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/kanban-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/key-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/key-return-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/keyboard-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/keyhole-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/knife-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/ladder-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/ladder-simple-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/lamp-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/lamp-pendant-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/laptop-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/lasso-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/lastfm-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/layout-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/leaf-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/lectern-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/lego-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/lego-smiley-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/less-than-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/less-than-or-equal-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/letter-circle-h-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/letter-circle-p-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/letter-circle-v-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/lifebuoy-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/lightbulb-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/lightbulb-filament-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/lighthouse-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/lightning-a-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/lightning-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/lightning-slash-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/line-segment-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/line-segments-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/line-vertical-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/link-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/link-break-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/link-simple-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/link-simple-break-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/link-simple-horizontal-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/link-simple-horizontal-break-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/linkedin-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/linktree-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/linux-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/list-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/list-bullets-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/list-checks-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/list-dashes-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/list-heart-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/list-magnifying-glass-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/list-numbers-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/list-plus-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/list-star-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/lock-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/lock-key-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/lock-key-open-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/lock-laminated-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/lock-laminated-open-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/lock-open-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/lock-simple-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/lock-simple-open-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/lockers-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/log-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/magic-wand-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/magnet-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/magnet-straight-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/magnifying-glass-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/magnifying-glass-minus-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/magnifying-glass-plus-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/mailbox-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/map-pin-area-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/map-pin-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/map-pin-line-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/map-pin-plus-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/map-pin-simple-area-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/map-pin-simple-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/map-pin-simple-line-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/map-trifold-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/markdown-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/marker-circle-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/martini-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/mask-happy-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/mask-sad-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/mastodon-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/math-operations-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/matrix-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/medal-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/medal-military-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/medium-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/megaphone-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/megaphone-simple-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/member-of-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/memory-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/messenger-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/meta-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/meteor-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/metronome-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/microphone-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/microphone-slash-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/microphone-stage-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/microscope-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/microsoft-excel-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/microsoft-outlook-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/microsoft-powerpoint-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/microsoft-teams-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/microsoft-word-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/minus-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/minus-circle-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/minus-square-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/money-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/money-wavy-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/monitor-arrow-up-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/monitor-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/monitor-play-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/moon-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/moon-stars-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/moped-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/moped-front-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/mosque-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/motorcycle-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/mountains-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/mouse-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/mouse-left-click-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/mouse-middle-click-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/mouse-right-click-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/mouse-scroll-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/mouse-simple-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/music-note-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/music-note-simple-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/music-notes-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/music-notes-minus-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/music-notes-plus-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/music-notes-simple-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/navigation-arrow-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/needle-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/network-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/network-slash-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/network-x-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/newspaper-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/newspaper-clipping-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/not-equals-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/not-member-of-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/not-subset-of-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/not-superset-of-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/notches-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/note-blank-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/note-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/note-pencil-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/notebook-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/notepad-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/notification-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/notion-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/nuclear-plant-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/number-circle-eight-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/number-circle-five-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/number-circle-four-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/number-circle-nine-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/number-circle-one-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/number-circle-seven-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/number-circle-six-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/number-circle-three-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/number-circle-two-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/number-circle-zero-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/number-eight-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/number-five-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/number-four-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/number-nine-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/number-one-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/number-seven-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/number-six-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/number-square-eight-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/number-square-five-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/number-square-four-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/number-square-nine-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/number-square-one-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/number-square-seven-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/number-square-six-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/number-square-three-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/number-square-two-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/number-square-zero-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/number-three-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/number-two-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/number-zero-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/numpad-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/nut-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/ny-times-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/octagon-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/office-chair-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/onigiri-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/open-ai-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/option-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/orange-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/orange-slice-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/oven-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/package-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/paint-brush-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/paint-brush-broad-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/paint-brush-household-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/paint-bucket-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/paint-roller-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/palette-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/panorama-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/pants-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/paper-plane-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/paper-plane-right-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/paper-plane-tilt-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/paperclip-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/paperclip-horizontal-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/parachute-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/paragraph-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/parallelogram-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/park-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/password-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/path-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/patreon-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/pause-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/pause-circle-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/paw-print-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/paypal-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/peace-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/pen-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/pen-nib-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/pen-nib-straight-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/pencil-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/pencil-circle-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/pencil-line-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/pencil-ruler-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/pencil-simple-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/pencil-simple-line-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/pencil-simple-slash-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/pencil-slash-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/pentagon-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/pentagram-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/pepper-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/percent-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/person-arms-spread-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/person-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/person-simple-bike-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/person-simple-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/person-simple-circle-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/person-simple-hike-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/person-simple-run-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/person-simple-ski-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/person-simple-snowboard-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/person-simple-swim-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/person-simple-tai-chi-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/person-simple-throw-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/person-simple-walk-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/perspective-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/phone-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/phone-call-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/phone-disconnect-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/phone-incoming-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/phone-list-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/phone-outgoing-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/phone-pause-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/phone-plus-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/phone-slash-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/phone-transfer-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/phone-x-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/phosphor-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/pi-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/piano-keys-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/picnic-table-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/picture-in-picture-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/piggy-bank-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/pill-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/ping-pong-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/pint-glass-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/pinterest-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/pinwheel-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/pipe-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/pipe-wrench-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/pix-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/pizza-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/placeholder-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/planet-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/plant-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/play-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/play-circle-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/play-pause-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/playlist-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/plug-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/plug-charging-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/plugs-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/plugs-connected-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/plus-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/plus-circle-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/plus-minus-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/plus-square-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/poker-chip-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/police-car-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/polygon-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/popcorn-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/popsicle-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/potted-plant-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/power-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/prescription-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/presentation-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/presentation-chart-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/printer-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/prohibit-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/prohibit-inset-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/projector-screen-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/projector-screen-chart-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/pulse-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/push-pin-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/push-pin-simple-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/push-pin-simple-slash-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/push-pin-slash-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/puzzle-piece-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/qr-code-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/question-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/question-mark-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/queue-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/quotes-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/rabbit-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/racquet-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/radical-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/radio-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/radio-button-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/radioactive-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/rainbow-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/rainbow-cloud-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/ranking-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/read-cv-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/receipt-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/receipt-x-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/record-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/rectangle-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/rectangle-dashed-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/recycle-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/reddit-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/repeat-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/repeat-once-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/replit-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/resize-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/rewind-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/rewind-circle-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/road-horizon-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/robot-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/rocket-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/rocket-launch-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/rows-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/rows-plus-bottom-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/rows-plus-top-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/rss-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/rss-simple-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/rug-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/ruler-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/sailboat-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/scales-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/scan-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/scan-smiley-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/scissors-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/scooter-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/screencast-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/screwdriver-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/scribble-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/scribble-loop-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/scroll-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/seal-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/seal-check-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/seal-percent-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/seal-question-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/seal-warning-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/seat-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/seatbelt-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/security-camera-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/selection-all-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/selection-background-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/selection-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/selection-foreground-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/selection-inverse-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/selection-plus-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/selection-slash-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/shapes-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/share-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/share-fat-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/share-network-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/shield-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/shield-check-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/shield-checkered-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/shield-chevron-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/shield-plus-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/shield-slash-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/shield-star-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/shield-warning-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/shipping-container-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/shirt-folded-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/shooting-star-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/shopping-bag-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/shopping-bag-open-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/shopping-cart-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/shopping-cart-simple-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/shovel-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/shower-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/shrimp-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/shuffle-angular-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/shuffle-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/shuffle-simple-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/sidebar-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/sidebar-simple-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/sigma-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/sign-in-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/sign-out-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/signature-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/signpost-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/sim-card-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/siren-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/sketch-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/skip-back-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/skip-back-circle-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/skip-forward-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/skip-forward-circle-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/skull-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/skype-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/slack-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/sliders-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/sliders-horizontal-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/slideshow-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/smiley-angry-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/smiley-blank-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/smiley-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/smiley-meh-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/smiley-melting-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/smiley-nervous-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/smiley-sad-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/smiley-sticker-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/smiley-wink-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/smiley-x-eyes-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/snapchat-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/sneaker-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/sneaker-move-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/snowflake-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/soccer-ball-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/sock-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/solar-panel-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/solar-roof-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/sort-ascending-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/sort-descending-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/soundcloud-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/spade-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/sparkle-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/speaker-hifi-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/speaker-high-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/speaker-low-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/speaker-none-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/speaker-simple-high-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/speaker-simple-low-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/speaker-simple-none-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/speaker-simple-slash-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/speaker-simple-x-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/speaker-slash-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/speaker-x-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/speedometer-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/sphere-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/spinner-ball-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/spinner-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/spinner-gap-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/spiral-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/split-horizontal-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/split-vertical-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/spotify-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/spray-bottle-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/square-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/square-half-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/square-half-bottom-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/square-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/square-split-horizontal-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/square-split-vertical-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/squares-four-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/stack-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/stack-minus-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/stack-overflow-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/stack-plus-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/stack-simple-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/stairs-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/stamp-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/standard-definition-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/star-and-crescent-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/star-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/star-four-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/star-half-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/star-of-david-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/steam-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/steering-wheel-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/steps-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/stethoscope-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/sticker-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/stool-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/stop-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/stop-circle-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/storefront-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/strategy-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/stripe-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/student-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/subset-of-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/subset-proper-of-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/subtitles-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/subtitles-slash-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/subtract-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/subtract-square-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/subway-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/suitcase-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/suitcase-rolling-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/suitcase-simple-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/sun-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/sun-dim-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/sun-horizon-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/sunglasses-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/superset-of-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/superset-proper-of-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/swap-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/swatches-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/swimming-pool-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/sword-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/synagogue-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/syringe-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/t-shirt-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/table-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/tabs-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/tag-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/tag-chevron-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/tag-simple-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/target-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/taxi-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/tea-bag-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/telegram-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/television-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/television-simple-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/tennis-ball-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/tent-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/terminal-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/terminal-window-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/test-tube-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/text-a-underline-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/text-aa-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/text-align-center-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/text-align-justify-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/text-align-left-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/text-align-right-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/text-b-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/text-columns-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/text-h-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/text-h-five-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/text-h-four-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/text-h-one-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/text-h-six-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/text-h-three-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/text-h-two-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/text-indent-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/text-italic-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/text-outdent-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/text-strikethrough-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/text-subscript-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/text-superscript-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/text-t-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/text-t-slash-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/text-underline-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/textbox-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/thermometer-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/thermometer-cold-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/thermometer-hot-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/thermometer-simple-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/threads-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/three-d-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/thumbs-down-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/thumbs-up-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/ticket-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/tidal-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/tiktok-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/tilde-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/timer-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/tip-jar-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/tipi-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/tire-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/toggle-left-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/toggle-right-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/toilet-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/toilet-paper-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/toolbox-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/tooth-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/tornado-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/tote-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/tote-simple-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/towel-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/tractor-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/trademark-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/trademark-registered-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/traffic-cone-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/traffic-sign-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/traffic-signal-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/train-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/train-regional-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/train-simple-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/tram-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/translate-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/trash-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/trash-simple-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/tray-arrow-down-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/tray-arrow-up-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/tray-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/treasure-chest-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/tree-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/tree-evergreen-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/tree-palm-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/tree-structure-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/tree-view-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/trend-down-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/trend-up-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/triangle-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/triangle-dashed-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/trolley-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/trolley-suitcase-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/trophy-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/truck-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/truck-trailer-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/tumblr-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/twitch-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/twitter-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/umbrella-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/umbrella-simple-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/union-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/unite-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/unite-square-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/upload-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/upload-simple-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/usb-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/user-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/user-check-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/user-circle-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/user-circle-check-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/user-circle-dashed-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/user-circle-gear-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/user-circle-minus-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/user-circle-plus-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/user-focus-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/user-gear-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/user-list-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/user-minus-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/user-plus-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/user-rectangle-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/user-sound-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/user-square-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/user-switch-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/users-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/users-four-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/users-three-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/van-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/vault-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/vector-three-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/vector-two-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/vibrate-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/video-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/video-camera-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/video-camera-slash-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/video-conference-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/vignette-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/vinyl-record-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/virtual-reality-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/virus-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/visor-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/voicemail-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/volleyball-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/wall-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/wallet-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/warehouse-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/warning-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/warning-circle-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/warning-diamond-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/warning-octagon-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/washing-machine-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/watch-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/wave-sawtooth-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/wave-sine-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/wave-square-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/wave-triangle-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/waveform-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/waveform-slash-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/waves-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/webcam-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/webcam-slash-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/webhooks-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/wechat-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/whatsapp-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/wheelchair-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/wheelchair-motion-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/wifi-high-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/wifi-low-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/wifi-medium-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/wifi-none-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/wifi-slash-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/wifi-x-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/wind-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/windmill-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/windows-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/wine-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/wrench-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/x-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/x-circle-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/x-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/x-square-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/yarn-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/yin-yang-bold.svg +1 -0
- package/vendor/public/assets/icons/bold/youtube-logo-bold.svg +1 -0
- package/vendor/public/assets/icons/fill/acorn-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/address-book-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/address-book-tabs-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/air-traffic-control-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/airplane-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/airplane-in-flight-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/airplane-landing-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/airplane-takeoff-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/airplane-taxiing-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/airplane-tilt-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/airplay-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/alarm-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/alien-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/align-bottom-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/align-bottom-simple-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/align-center-horizontal-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/align-center-horizontal-simple-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/align-center-vertical-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/align-center-vertical-simple-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/align-left-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/align-left-simple-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/align-right-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/align-right-simple-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/align-top-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/align-top-simple-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/amazon-logo-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/ambulance-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/anchor-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/anchor-simple-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/android-logo-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/angle-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/angular-logo-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/aperture-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/app-store-logo-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/app-window-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/apple-logo-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/apple-podcasts-logo-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/approximate-equals-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/archive-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/armchair-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-arc-left-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-arc-right-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-bend-double-up-left-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-bend-double-up-right-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-bend-down-left-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-bend-down-right-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-bend-left-down-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-bend-left-up-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-bend-right-down-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-bend-right-up-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-bend-up-left-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-bend-up-right-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-circle-down-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-circle-down-left-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-circle-down-right-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-circle-left-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-circle-right-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-circle-up-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-circle-up-left-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-circle-up-right-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-clockwise-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-counter-clockwise-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-down-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-down-left-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-down-right-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-elbow-down-left-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-elbow-down-right-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-elbow-left-down-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-elbow-left-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-elbow-left-up-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-elbow-right-down-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-elbow-right-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-elbow-right-up-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-elbow-up-left-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-elbow-up-right-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-fat-down-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-fat-left-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-fat-line-down-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-fat-line-left-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-fat-line-right-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-fat-line-up-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-fat-lines-down-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-fat-lines-left-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-fat-lines-right-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-fat-lines-up-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-fat-right-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-fat-up-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-left-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-line-down-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-line-down-left-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-line-down-right-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-line-left-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-line-right-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-line-up-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-line-up-left-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-line-up-right-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-right-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-square-down-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-square-down-left-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-square-down-right-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-square-in-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-square-left-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-square-out-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-square-right-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-square-up-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-square-up-left-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-square-up-right-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-u-down-left-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-u-down-right-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-u-left-down-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-u-left-up-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-u-right-down-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-u-right-up-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-u-up-left-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-u-up-right-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-up-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-up-left-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrow-up-right-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrows-clockwise-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrows-counter-clockwise-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrows-down-up-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrows-horizontal-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrows-in-cardinal-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrows-in-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrows-in-line-horizontal-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrows-in-line-vertical-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrows-in-simple-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrows-left-right-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrows-merge-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrows-out-cardinal-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrows-out-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrows-out-line-horizontal-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrows-out-line-vertical-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrows-out-simple-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrows-split-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/arrows-vertical-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/article-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/article-medium-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/article-ny-times-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/asclepius-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/asterisk-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/asterisk-simple-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/at-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/atom-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/avocado-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/axe-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/baby-carriage-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/baby-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/backpack-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/backspace-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/bag-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/bag-simple-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/balloon-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/bandaids-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/bank-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/barbell-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/barcode-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/barn-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/barricade-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/baseball-cap-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/baseball-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/baseball-helmet-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/basket-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/basketball-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/bathtub-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/battery-charging-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/battery-charging-vertical-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/battery-empty-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/battery-full-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/battery-high-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/battery-low-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/battery-medium-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/battery-plus-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/battery-plus-vertical-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/battery-vertical-empty-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/battery-vertical-full-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/battery-vertical-high-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/battery-vertical-low-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/battery-vertical-medium-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/battery-warning-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/battery-warning-vertical-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/beach-ball-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/beanie-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/bed-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/beer-bottle-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/beer-stein-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/behance-logo-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/bell-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/bell-ringing-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/bell-simple-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/bell-simple-ringing-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/bell-simple-slash-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/bell-simple-z-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/bell-slash-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/bell-z-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/belt-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/bezier-curve-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/bicycle-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/binary-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/binoculars-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/biohazard-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/bird-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/blueprint-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/bluetooth-connected-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/bluetooth-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/bluetooth-slash-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/bluetooth-x-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/boat-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/bomb-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/bone-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/book-bookmark-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/book-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/book-open-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/book-open-text-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/book-open-user-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/bookmark-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/bookmark-simple-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/bookmarks-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/bookmarks-simple-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/books-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/boot-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/boules-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/bounding-box-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/bowl-food-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/bowl-steam-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/bowling-ball-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/box-arrow-down-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/box-arrow-up-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/boxing-glove-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/brackets-angle-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/brackets-curly-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/brackets-round-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/brackets-square-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/brain-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/brandy-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/bread-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/bridge-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/briefcase-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/briefcase-metal-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/broadcast-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/broom-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/browser-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/browsers-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/bug-beetle-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/bug-droid-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/bug-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/building-apartment-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/building-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/building-office-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/buildings-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/bulldozer-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/bus-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/butterfly-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/cable-car-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/cactus-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/cake-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/calculator-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/calendar-blank-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/calendar-check-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/calendar-dot-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/calendar-dots-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/calendar-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/calendar-heart-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/calendar-minus-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/calendar-plus-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/calendar-slash-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/calendar-star-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/calendar-x-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/call-bell-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/camera-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/camera-plus-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/camera-rotate-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/camera-slash-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/campfire-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/car-battery-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/car-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/car-profile-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/car-simple-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/card.svg +5 -0
- package/vendor/public/assets/icons/fill/cardholder-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/cards-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/cards-three-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/caret-circle-double-down-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/caret-circle-double-left-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/caret-circle-double-right-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/caret-circle-double-up-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/caret-circle-down-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/caret-circle-left-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/caret-circle-right-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/caret-circle-up-down-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/caret-circle-up-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/caret-double-down-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/caret-double-left-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/caret-double-right-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/caret-double-up-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/caret-down-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/caret-left-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/caret-line-down-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/caret-line-left-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/caret-line-right-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/caret-line-up-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/caret-right-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/caret-up-down-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/caret-up-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/carrot-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/cash-register-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/cassette-tape-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/castle-turret-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/cat-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/cell-signal-full-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/cell-signal-high-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/cell-signal-low-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/cell-signal-medium-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/cell-signal-none-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/cell-signal-slash-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/cell-signal-x-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/cell-tower-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/certificate-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/chair-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/chalkboard-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/chalkboard-simple-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/chalkboard-teacher-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/champagne-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/charging-station-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/chart-bar-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/chart-bar-horizontal-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/chart-donut-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/chart-line-down-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/chart-line-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/chart-line-up-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/chart-pie-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/chart-pie-slice-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/chart-polar-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/chart-scatter-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/chat-centered-dots-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/chat-centered-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/chat-centered-slash-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/chat-centered-text-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/chat-circle-dots-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/chat-circle-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/chat-circle-slash-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/chat-circle-text-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/chat-dots-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/chat-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/chat-slash-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/chat-teardrop-dots-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/chat-teardrop-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/chat-teardrop-slash-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/chat-teardrop-text-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/chat-text-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/chats-circle-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/chats-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/chats-teardrop-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/check-circle-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/check-fat-fill.svg +3 -0
- package/vendor/public/assets/icons/fill/check-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/check-square-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/check-square-offset-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/checkerboard-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/checks-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/cheers-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/cheese-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/chef-hat-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/cherries-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/church-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/cigarette-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/cigarette-slash-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/circle-dashed-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/circle-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/circle-half-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/circle-half-tilt-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/circle-notch-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/circles-four-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/circles-three-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/circles-three-plus-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/circuitry-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/city-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/clipboard-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/clipboard-text-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/clock-afternoon-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/clock-clockwise-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/clock-countdown-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/clock-counter-clockwise-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/clock-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/clock-user-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/closed-captioning-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/cloud-arrow-down-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/cloud-arrow-up-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/cloud-check-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/cloud-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/cloud-fog-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/cloud-lightning-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/cloud-moon-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/cloud-rain-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/cloud-slash-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/cloud-snow-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/cloud-sun-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/cloud-warning-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/cloud-x-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/clover-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/club-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/coat-hanger-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/coda-logo-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/code-block-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/code-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/code-simple-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/codepen-logo-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/codesandbox-logo-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/coffee-bean-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/coffee-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/coin-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/coin-vertical-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/coins-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/columns-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/columns-plus-left-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/columns-plus-right-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/command-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/compass-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/compass-rose-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/compass-tool-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/computer-tower-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/confetti-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/contactless-payment-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/control-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/cookie-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/cooking-pot-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/copy-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/copy-simple-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/copyleft-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/copyright-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/corners-in-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/corners-out-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/couch-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/court-basketball-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/cow-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/cowboy-hat-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/cpu-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/crane-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/crane-tower-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/credit-card-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/cricket-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/crop-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/cross-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/crosshair-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/crosshair-simple-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/crown-cross-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/crown-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/crown-simple-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/cube-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/cube-focus-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/cube-transparent-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/currency-btc-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/currency-circle-dollar-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/currency-cny-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/currency-dollar-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/currency-dollar-simple-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/currency-eth-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/currency-eur-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/currency-gbp-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/currency-inr-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/currency-jpy-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/currency-krw-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/currency-kzt-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/currency-ngn-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/currency-rub-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/cursor-click-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/cursor-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/cursor-text-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/cylinder-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/database-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/desk-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/desktop-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/desktop-tower-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/detective-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/dev-to-logo-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/device-mobile-camera-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/device-mobile-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/device-mobile-slash-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/device-mobile-speaker-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/device-rotate-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/device-tablet-camera-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/device-tablet-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/device-tablet-speaker-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/devices-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/diamond-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/diamonds-four-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/dice-five-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/dice-four-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/dice-one-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/dice-six-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/dice-three-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/dice-two-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/disc-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/disco-ball-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/discord-logo-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/divide-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/dna-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/dog-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/door-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/door-open-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/dot-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/dot-outline-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/dots-nine-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/dots-six-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/dots-six-vertical-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/dots-three-circle-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/dots-three-circle-vertical-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/dots-three-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/dots-three-outline-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/dots-three-outline-vertical-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/dots-three-vertical-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/download-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/download-simple-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/dress-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/dresser-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/dribbble-logo-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/drone-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/drop-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/drop-half-bottom-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/drop-half-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/drop-simple-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/drop-slash-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/dropbox-logo-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/ear-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/ear-slash-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/egg-crack-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/egg-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/eject-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/eject-simple-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/elevator-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/empty-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/engine-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/envelope-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/envelope-open-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/envelope-simple-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/envelope-simple-open-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/equalizer-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/equals-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/eraser-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/escalator-down-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/escalator-up-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/exam-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/exclamation-mark-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/exclude-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/exclude-square-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/export-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/eye-closed-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/eye-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/eye-slash-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/eyedropper-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/eyedropper-sample-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/eyeglasses-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/eyes-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/face-mask-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/facebook-logo-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/factory-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/faders-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/faders-horizontal-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/fallout-shelter-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/fan-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/farm-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/fast-forward-circle-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/fast-forward-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/feather-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/fediverse-logo-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/figma-logo-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/file-archive-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/file-arrow-down-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/file-arrow-up-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/file-audio-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/file-c-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/file-c-sharp-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/file-cloud-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/file-code-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/file-cpp-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/file-css-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/file-csv-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/file-dashed-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/file-doc-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/file-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/file-html-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/file-image-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/file-ini-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/file-jpg-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/file-js-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/file-jsx-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/file-lock-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/file-magnifying-glass-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/file-md-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/file-minus-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/file-pdf-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/file-plus-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/file-png-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/file-ppt-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/file-py-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/file-rs-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/file-sql-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/file-svg-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/file-text-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/file-ts-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/file-tsx-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/file-txt-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/file-video-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/file-vue-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/file-x-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/file-xls-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/file-zip-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/files-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/film-reel-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/film-script-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/film-slate-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/film-strip-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/fingerprint-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/fingerprint-simple-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/finn-the-human-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/fire-extinguisher-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/fire-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/fire-simple-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/fire-truck-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/first-aid-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/first-aid-kit-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/fish-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/fish-simple-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/flag-banner-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/flag-banner-fold-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/flag-checkered-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/flag-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/flag-pennant-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/flame-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/flashlight-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/flask-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/flip-horizontal-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/flip-vertical-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/floppy-disk-back-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/floppy-disk-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/flow-arrow-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/flower-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/flower-lotus-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/flower-tulip-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/flying-saucer-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/folder-dashed-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/folder-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/folder-lock-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/folder-minus-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/folder-open-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/folder-plus-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/folder-simple-dashed-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/folder-simple-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/folder-simple-lock-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/folder-simple-minus-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/folder-simple-plus-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/folder-simple-star-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/folder-simple-user-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/folder-star-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/folder-user-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/folders-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/football-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/football-helmet-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/footprints-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/fork-knife-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/four-k-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/frame-corners-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/framer-logo-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/function-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/funnel-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/funnel-simple-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/funnel-simple-x-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/funnel-x-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/game-controller-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/garage-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/gas-can-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/gas-pump-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/gauge-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/gavel-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/gear-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/gear-fine-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/gear-six-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/gender-female-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/gender-intersex-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/gender-male-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/gender-neuter-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/gender-nonbinary-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/gender-transgender-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/ghost-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/gif-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/gift-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/git-branch-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/git-commit-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/git-diff-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/git-fork-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/git-merge-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/git-pull-request-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/github-logo-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/gitlab-logo-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/gitlab-logo-simple-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/globe-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/globe-hemisphere-east-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/globe-hemisphere-west-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/globe-simple-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/globe-simple-x-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/globe-stand-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/globe-x-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/goggles-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/golf-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/goodreads-logo-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/google-cardboard-logo-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/google-chrome-logo-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/google-drive-logo-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/google-logo-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/google-photos-logo-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/google-play-logo-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/google-podcasts-logo-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/gps-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/gps-fix-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/gps-slash-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/gradient-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/graduation-cap-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/grains-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/grains-slash-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/graph-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/graphics-card-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/greater-than-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/greater-than-or-equal-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/grid-four-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/grid-nine-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/guitar-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/hair-dryer-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/hamburger-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/hammer-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/hand-arrow-down-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/hand-arrow-up-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/hand-coins-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/hand-deposit-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/hand-eye-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/hand-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/hand-fist-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/hand-grabbing-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/hand-heart-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/hand-palm-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/hand-peace-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/hand-pointing-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/hand-soap-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/hand-swipe-left-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/hand-swipe-right-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/hand-tap-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/hand-waving-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/hand-withdraw-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/handbag-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/handbag-simple-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/hands-clapping-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/hands-praying-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/handshake-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/hard-drive-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/hard-drives-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/hard-hat-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/hash-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/hash-straight-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/head-circuit-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/headlights-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/headphones-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/headset-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/heart-break-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/heart-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/heart-half-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/heart-straight-break-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/heart-straight-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/heartbeat-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/hexagon-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/high-definition-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/high-heel-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/highlighter-circle-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/highlighter-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/hockey-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/hoodie-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/horse-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/hospital-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/hourglass-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/hourglass-high-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/hourglass-low-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/hourglass-medium-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/hourglass-simple-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/hourglass-simple-high-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/hourglass-simple-low-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/hourglass-simple-medium-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/house-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/house-line-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/house-simple-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/hurricane-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/ice-cream-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/identification-badge-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/identification-card-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/image-broken-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/image-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/image-square-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/images-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/images-square-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/infinity-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/info-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/instagram-logo-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/intersect-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/intersect-square-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/intersect-three-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/intersection-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/invoice-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/island-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/jar-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/jar-label-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/jeep-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/joystick-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/kanban-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/key-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/key-return-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/keyboard-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/keyhole-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/knife-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/ladder-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/ladder-simple-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/lamp-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/lamp-pendant-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/laptop-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/lasso-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/lastfm-logo-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/layout-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/leaf-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/lectern-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/lego-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/lego-smiley-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/less-than-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/less-than-or-equal-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/letter-circle-h-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/letter-circle-p-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/letter-circle-v-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/lifebuoy-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/lightbulb-filament-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/lightbulb-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/lighthouse-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/lightning-a-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/lightning-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/lightning-slash-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/line-segment-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/line-segments-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/line-vertical-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/link-break-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/link-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/link-simple-break-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/link-simple-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/link-simple-horizontal-break-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/link-simple-horizontal-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/linkedin-logo-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/linktree-logo-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/linux-logo-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/list-bullets-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/list-checks-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/list-dashes-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/list-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/list-heart-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/list-magnifying-glass-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/list-numbers-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/list-plus-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/list-star-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/lock-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/lock-key-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/lock-key-open-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/lock-laminated-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/lock-laminated-open-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/lock-open-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/lock-simple-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/lock-simple-open-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/lockers-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/log-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/magic-wand-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/magnet-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/magnet-straight-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/magnifying-glass-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/magnifying-glass-minus-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/magnifying-glass-plus-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/mailbox-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/map-pin-area-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/map-pin-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/map-pin-line-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/map-pin-plus-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/map-pin-simple-area-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/map-pin-simple-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/map-pin-simple-line-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/map-trifold-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/markdown-logo-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/marker-circle-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/martini-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/mask-happy-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/mask-sad-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/mastodon-logo-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/math-operations-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/matrix-logo-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/medal-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/medal-military-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/medium-logo-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/megaphone-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/megaphone-simple-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/member-of-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/memory-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/menu-close-grab-fill.svg +10 -0
- package/vendor/public/assets/icons/fill/menu-open-grab-fill.svg +13 -0
- package/vendor/public/assets/icons/fill/messenger-logo-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/meta-logo-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/meteor-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/metronome-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/microphone-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/microphone-slash-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/microphone-stage-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/microscope-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/microsoft-excel-logo-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/microsoft-outlook-logo-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/microsoft-powerpoint-logo-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/microsoft-teams-logo-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/microsoft-word-logo-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/minus-circle-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/minus-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/minus-square-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/money-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/money-wavy-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/monitor-arrow-up-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/monitor-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/monitor-play-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/moon-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/moon-stars-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/moped-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/moped-front-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/mosque-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/motorcycle-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/mountains-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/mouse-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/mouse-left-click-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/mouse-middle-click-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/mouse-right-click-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/mouse-scroll-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/mouse-simple-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/music-note-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/music-note-simple-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/music-notes-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/music-notes-minus-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/music-notes-plus-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/music-notes-simple-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/navigation-arrow-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/navigation-arrow-left.svg +3 -0
- package/vendor/public/assets/icons/fill/needle-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/network-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/network-slash-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/network-x-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/newspaper-clipping-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/newspaper-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/not-equals-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/not-member-of-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/not-subset-of-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/not-superset-of-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/notches-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/note-blank-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/note-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/note-pencil-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/notebook-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/notepad-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/notification-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/notion-logo-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/nuclear-plant-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/number-circle-eight-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/number-circle-five-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/number-circle-four-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/number-circle-nine-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/number-circle-one-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/number-circle-seven-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/number-circle-six-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/number-circle-three-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/number-circle-two-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/number-circle-zero-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/number-eight-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/number-five-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/number-four-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/number-nine-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/number-one-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/number-seven-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/number-six-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/number-square-eight-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/number-square-five-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/number-square-four-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/number-square-nine-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/number-square-one-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/number-square-seven-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/number-square-six-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/number-square-three-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/number-square-two-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/number-square-zero-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/number-three-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/number-two-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/number-zero-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/numpad-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/nut-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/ny-times-logo-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/octagon-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/office-chair-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/onigiri-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/open-ai-logo-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/option-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/orange-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/orange-slice-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/oven-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/package-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/paint-brush-broad-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/paint-brush-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/paint-brush-household-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/paint-bucket-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/paint-roller-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/palette-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/panorama-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/pants-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/paper-plane-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/paper-plane-right-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/paper-plane-tilt-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/paperclip-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/paperclip-horizontal-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/parachute-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/paragraph-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/parallelogram-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/park-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/password-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/path-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/patreon-logo-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/pause-circle-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/pause-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/paw-print-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/paypal-logo-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/peace-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/pen-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/pen-nib-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/pen-nib-straight-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/pencil-circle-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/pencil-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/pencil-line-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/pencil-ruler-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/pencil-simple-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/pencil-simple-line-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/pencil-simple-slash-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/pencil-slash-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/pentagon-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/pentagram-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/pepper-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/percent-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/person-arms-spread-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/person-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/person-simple-bike-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/person-simple-circle-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/person-simple-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/person-simple-hike-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/person-simple-run-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/person-simple-ski-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/person-simple-snowboard-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/person-simple-swim-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/person-simple-tai-chi-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/person-simple-throw-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/person-simple-walk-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/perspective-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/phone-call-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/phone-disconnect-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/phone-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/phone-incoming-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/phone-list-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/phone-outgoing-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/phone-pause-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/phone-plus-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/phone-slash-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/phone-transfer-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/phone-x-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/phosphor-logo-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/pi-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/piano-keys-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/picnic-table-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/picture-in-picture-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/piggy-bank-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/pill-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/ping-pong-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/pint-glass-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/pinterest-logo-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/pinwheel-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/pipe-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/pipe-wrench-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/pix-logo-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/pizza-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/placeholder-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/planet-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/plant-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/play-circle-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/play-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/play-pause-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/playlist-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/plug-charging-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/plug-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/plugs-connected-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/plugs-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/plus-circle-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/plus-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/plus-minus-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/plus-square-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/poker-chip-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/police-car-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/polygon-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/popcorn-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/popsicle-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/potted-plant-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/power-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/prescription-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/presentation-chart-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/presentation-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/printer-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/prohibit-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/prohibit-inset-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/projector-screen-chart-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/projector-screen-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/pulse-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/push-pin-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/push-pin-simple-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/push-pin-simple-slash-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/push-pin-slash-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/puzzle-piece-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/qr-code-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/question-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/question-mark-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/queue-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/quotes-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/rabbit-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/racquet-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/radical-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/radio-button-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/radio-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/radioactive-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/rainbow-cloud-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/rainbow-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/ranking-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/read-cv-logo-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/receipt-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/receipt-x-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/record-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/rectangle-dashed-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/rectangle-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/recycle-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/reddit-logo-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/repeat-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/repeat-once-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/replit-logo-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/resize-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/rewind-circle-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/rewind-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/road-horizon-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/robot-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/rocket-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/rocket-launch-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/rows-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/rows-plus-bottom-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/rows-plus-top-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/rss-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/rss-simple-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/rug-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/ruler-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/sailboat-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/scales-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/scan-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/scan-smiley-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/scissors-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/scooter-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/screencast-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/screwdriver-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/scribble-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/scribble-loop-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/scroll-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/seal-check-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/seal-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/seal-percent-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/seal-question-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/seal-warning-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/seat-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/seatbelt-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/security-camera-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/selection-all-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/selection-background-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/selection-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/selection-foreground-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/selection-inverse-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/selection-plus-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/selection-slash-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/shapes-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/share-fat-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/share-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/share-network-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/shield-check-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/shield-checkered-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/shield-chevron-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/shield-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/shield-plus-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/shield-slash-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/shield-star-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/shield-warning-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/shipping-container-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/shirt-folded-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/shooting-star-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/shopping-bag-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/shopping-bag-open-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/shopping-cart-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/shopping-cart-simple-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/shovel-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/shower-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/shrimp-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/shuffle-angular-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/shuffle-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/shuffle-simple-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/sidebar-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/sidebar-simple-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/sigma-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/sign-in-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/sign-out-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/signature-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/signpost-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/sim-card-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/siren-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/sketch-logo-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/skip-back-circle-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/skip-back-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/skip-forward-circle-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/skip-forward-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/skull-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/skype-logo-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/slack-logo-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/sliders-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/sliders-horizontal-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/slideshow-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/smiley-angry-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/smiley-blank-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/smiley-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/smiley-meh-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/smiley-melting-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/smiley-nervous-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/smiley-sad-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/smiley-sticker-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/smiley-wink-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/smiley-x-eyes-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/snapchat-logo-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/sneaker-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/sneaker-move-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/snowflake-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/soccer-ball-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/sock-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/solar-panel-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/solar-roof-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/sort-ascending-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/sort-descending-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/soundcloud-logo-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/spade-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/sparkle-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/speaker-hifi-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/speaker-high-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/speaker-low-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/speaker-none-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/speaker-simple-high-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/speaker-simple-low-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/speaker-simple-none-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/speaker-simple-slash-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/speaker-simple-x-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/speaker-slash-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/speaker-x-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/speedometer-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/sphere-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/spinner-ball-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/spinner-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/spinner-gap-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/spiral-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/split-horizontal-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/split-vertical-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/spotify-logo-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/spray-bottle-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/square-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/square-half-bottom-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/square-half-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/square-logo-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/square-split-horizontal-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/square-split-vertical-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/squares-four-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/stack-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/stack-minus-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/stack-overflow-logo-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/stack-plus-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/stack-simple-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/stairs-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/stamp-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/standard-definition-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/star-and-crescent-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/star-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/star-four-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/star-four-plus.svg +4 -0
- package/vendor/public/assets/icons/fill/star-half-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/star-of-david-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/steam-logo-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/steering-wheel-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/steps-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/stethoscope-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/sticker-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/stool-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/stop-circle-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/stop-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/storefront-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/strategy-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/stripe-logo-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/student-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/subset-of-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/subset-proper-of-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/subtitles-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/subtitles-slash-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/subtract-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/subtract-square-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/subway-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/suitcase-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/suitcase-rolling-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/suitcase-simple-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/sun-dim-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/sun-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/sun-horizon-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/sunglasses-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/superset-of-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/superset-proper-of-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/swap-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/swatches-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/swimming-pool-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/sword-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/synagogue-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/syringe-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/t-shirt-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/table-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/tabs-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/tag-chevron-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/tag-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/tag-simple-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/target-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/taxi-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/tea-bag-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/telegram-logo-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/television-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/television-simple-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/tennis-ball-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/tent-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/terminal-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/terminal-window-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/test-tube-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/text-a-underline-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/text-aa-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/text-align-center-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/text-align-justify-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/text-align-left-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/text-align-right-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/text-b-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/text-columns-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/text-h-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/text-h-five-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/text-h-four-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/text-h-one-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/text-h-six-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/text-h-three-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/text-h-two-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/text-indent-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/text-italic-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/text-outdent-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/text-strikethrough-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/text-subscript-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/text-superscript-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/text-t-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/text-t-slash-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/text-underline-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/textbox-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/thermometer-cold-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/thermometer-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/thermometer-hot-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/thermometer-simple-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/threads-logo-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/three-d-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/thumbs-down-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/thumbs-up-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/ticket-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/tidal-logo-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/tiktok-logo-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/tilde-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/timer-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/tip-jar-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/tipi-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/tire-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/toggle-left-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/toggle-right-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/toilet-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/toilet-paper-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/toolbox-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/tooth-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/tornado-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/tote-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/tote-simple-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/towel-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/tractor-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/trademark-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/trademark-registered-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/traffic-cone-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/traffic-sign-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/traffic-signal-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/train-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/train-regional-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/train-simple-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/tram-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/translate-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/trash-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/trash-simple-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/tray-arrow-down-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/tray-arrow-up-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/tray-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/treasure-chest-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/tree-evergreen-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/tree-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/tree-palm-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/tree-structure-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/tree-view-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/trend-down-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/trend-up-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/triangle-dashed-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/triangle-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/trolley-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/trolley-suitcase-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/trophy-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/truck-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/truck-trailer-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/tumblr-logo-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/twitch-logo-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/twitter-logo-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/umbrella-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/umbrella-simple-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/union-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/unite-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/unite-square-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/upload-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/upload-simple-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/usb-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/user-check-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/user-circle-check-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/user-circle-dashed-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/user-circle-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/user-circle-gear-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/user-circle-minus-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/user-circle-plus-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/user-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/user-focus-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/user-gear-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/user-list-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/user-minus-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/user-plus-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/user-rectangle-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/user-sound-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/user-square-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/user-switch-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/users-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/users-four-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/users-three-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/van-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/vault-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/vector-three-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/vector-two-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/vibrate-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/video-camera-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/video-camera-slash-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/video-conference-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/video-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/vignette-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/vinyl-record-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/virtual-reality-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/virus-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/visor-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/voicemail-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/volleyball-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/wall-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/wallet-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/warehouse-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/warning-circle-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/warning-diamond-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/warning-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/warning-octagon-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/washing-machine-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/watch-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/wave-sawtooth-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/wave-sine-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/wave-square-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/wave-triangle-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/waveform-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/waveform-slash-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/waves-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/webcam-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/webcam-slash-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/webhooks-logo-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/wechat-logo-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/whatsapp-logo-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/wheelchair-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/wheelchair-motion-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/wifi-high-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/wifi-low-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/wifi-medium-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/wifi-none-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/wifi-slash-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/wifi-x-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/wind-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/windmill-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/windows-logo-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/wine-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/wrench-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/x-circle-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/x-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/x-logo-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/x-square-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/yarn-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/yin-yang-fill.svg +1 -0
- package/vendor/public/assets/icons/fill/youtube-logo-fill.svg +1 -0
- package/vendor/public/assets/workgraph-emblem.svg +3 -0
- package/vendor/public/assets/workgraph-logo.svg +11 -10
- package/vendor/src/analyticsLineageProjection.mjs +221 -0
- package/vendor/src/analyticsPanelProjection.mjs +3 -1
- package/vendor/src/analyticsRecordStore.mjs +8 -0
- package/vendor/src/appVersionApi.mjs +62 -0
- package/vendor/src/architectureSnapshot.mjs +2 -73
- package/vendor/src/backlogFileWatch.mjs +68 -0
- package/vendor/src/backlogRevision.mjs +46 -0
- package/vendor/src/backlogSchemaLint.mjs +40 -0
- package/vendor/src/backlogUiEventsHub.mjs +157 -0
- package/vendor/src/codeSyntaxHighlight.mjs +2 -1
- package/vendor/src/detailDrawerStack.mjs +136 -0
- package/vendor/src/kanbanBoardDelta.mjs +64 -0
- package/vendor/src/missionControlUiClient.mjs +1 -1
- package/vendor/src/publicSiteContent.mjs +543 -0
- package/vendor/src/publicSiteServer.mjs +799 -0
- package/vendor/src/stepAtomFormatter.mjs +2 -0
- package/vendor/src/structuredEvidenceV1.mjs +271 -0
- package/vendor/src/ui/atoms/badge.mjs +75 -12
- package/vendor/src/ui/atoms/badgeClient.mjs +1 -0
- package/vendor/src/ui/backlogShellButtons.mjs +60 -8
- package/vendor/src/ui/i18n/resolveUiLocale.mjs +60 -0
- package/vendor/src/ui/i18n/uiCatalog.mjs +58 -0
- package/vendor/src/ui/iconAssets.mjs +98 -0
- package/vendor/src/ui/kanbanBoardPatcher.mjs +97 -0
- package/vendor/src/ui/liveSyncCoordinator.mjs +126 -0
- package/vendor/src/ui/liveSyncSseAdapter.mjs +60 -0
- package/vendor/src/ui/pages/uiKitPage.mjs +2 -1
- package/vendor/src/ui/panelSearchQuery.mjs +21 -0
- package/vendor/src/ui/userAvatars.mjs +59 -0
- package/vendor/src/ui/workItemClassifierBadge.mjs +92 -0
- package/vendor/src/ui/workItemIssueType.mjs +65 -0
- package/vendor/src/ui/workItemStatusTone.mjs +9 -2
- package/vendor/src/verificationLoop.mjs +24 -0
- package/vendor/src/workGraphBacklogUiServer.mjs +1993 -321
- package/vendor/src/workGraphRuntime.mjs +13 -1
- package/vendor/src/workGraphToolSurfaceAudit.mjs +8 -0
- package/vendor/src/workItemBlockClassifier.mjs +72 -0
- package/vendor/src/workItemContractProjection.mjs +164 -0
- package/vendor/src/workItemReadyForDone.mjs +296 -0
- package/vendor/src/workItemTextRusify.mjs +848 -15
- package/vendor/src/workItemTitleRuCatalog.mjs +485 -0
|
@@ -18,12 +18,14 @@ import {
|
|
|
18
18
|
import { buildCodeGapOperatorProjection } from './codeGapOperatorProjection.mjs';
|
|
19
19
|
import { buildEpicWorkScopeSlice } from './epicWorkScope.mjs';
|
|
20
20
|
import { renderUiKitPageHtml } from './ui/pages/uiKitPage.mjs';
|
|
21
|
+
import { handlePublicSiteRequest } from './publicSiteServer.mjs';
|
|
21
22
|
import { UI_BUTTON_CSS } from './ui/atoms/button.mjs';
|
|
22
23
|
import { UI_BADGE_CSS } from './ui/atoms/badge.mjs';
|
|
23
24
|
import { UI_SELECT_CSS } from './ui/atoms/select.mjs';
|
|
24
25
|
import {
|
|
25
26
|
renderNavTab,
|
|
26
|
-
|
|
27
|
+
renderHeaderThemeToggleButton,
|
|
28
|
+
renderSettingsNavTab,
|
|
27
29
|
renderDetailCloseButton,
|
|
28
30
|
renderDetailSubCloseButton,
|
|
29
31
|
renderAgentRunDockCloseButton,
|
|
@@ -37,7 +39,14 @@ import {
|
|
|
37
39
|
renderWorkflowSubtabsShell,
|
|
38
40
|
renderArchitectureSubtabsShell,
|
|
39
41
|
renderWorkflowDisplayModeSelect,
|
|
42
|
+
renderSettingsLocaleOptions,
|
|
40
43
|
} from './ui/backlogShellButtons.mjs';
|
|
44
|
+
import { renderThemeIcon } from './ui/iconAssets.mjs';
|
|
45
|
+
import { buildAppVersionResponse } from './appVersionApi.mjs';
|
|
46
|
+
import { computeBacklogRevision } from './backlogRevision.mjs';
|
|
47
|
+
import { createBacklogUiEventsHub } from './backlogUiEventsHub.mjs';
|
|
48
|
+
import { createUiTranslator, loadUiCatalogSync } from './ui/i18n/uiCatalog.mjs';
|
|
49
|
+
import { resolveUiLocale, UI_LOCALE_COOKIE } from './ui/i18n/resolveUiLocale.mjs';
|
|
41
50
|
import { UI_TABS_CSS } from './ui/molecules/tabs.mjs';
|
|
42
51
|
import { buildPvrgTaskScopeSlice } from './pvrgTaskScope.mjs';
|
|
43
52
|
import { buildWorkItemLinkageDrilldown } from './unifiedLinkageProjection.mjs';
|
|
@@ -73,6 +82,7 @@ import {
|
|
|
73
82
|
executeIntentComposerProposal,
|
|
74
83
|
} from './intentComposerApi.mjs';
|
|
75
84
|
import { buildWorkItemPipelineView } from './workItemDecisionPipeline.mjs';
|
|
85
|
+
import { getFieldSectionsForDialect } from './bvcDialectRegistry.mjs';
|
|
76
86
|
import {
|
|
77
87
|
attachUiReference,
|
|
78
88
|
listUiReferences,
|
|
@@ -116,6 +126,48 @@ function contentTypeForPublicFont(filePath) {
|
|
|
116
126
|
return 'application/octet-stream';
|
|
117
127
|
}
|
|
118
128
|
|
|
129
|
+
function tryServePublicIconsAsset(url, response) {
|
|
130
|
+
if (!url.pathname.startsWith('/assets/icons/')) {
|
|
131
|
+
return false;
|
|
132
|
+
}
|
|
133
|
+
return tryServePublicAssetDir(url, response, join(PUBLIC_ROOT, 'assets', 'icons'), '/assets/icons/');
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
function tryServePublicAvatarsAsset(url, response) {
|
|
137
|
+
if (!url.pathname.startsWith('/assets/avatars/')) {
|
|
138
|
+
return false;
|
|
139
|
+
}
|
|
140
|
+
return tryServePublicAssetDir(url, response, join(PUBLIC_ROOT, 'assets', 'avatars'), '/assets/avatars/');
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
function tryServePublicAssetDir(url, response, rootDir, urlPrefix) {
|
|
144
|
+
const relativePath = decodeURIComponent(url.pathname.slice(urlPrefix.length));
|
|
145
|
+
if (!relativePath || relativePath.includes('..')) {
|
|
146
|
+
sendText(response, 403, 'forbidden');
|
|
147
|
+
return true;
|
|
148
|
+
}
|
|
149
|
+
const filePath = join(rootDir, relativePath);
|
|
150
|
+
if (!filePath.startsWith(rootDir)) {
|
|
151
|
+
sendText(response, 403, 'forbidden');
|
|
152
|
+
return true;
|
|
153
|
+
}
|
|
154
|
+
try {
|
|
155
|
+
const source = readFileSync(filePath);
|
|
156
|
+
const contentType = filePath.endsWith('.svg')
|
|
157
|
+
? 'image/svg+xml; charset=utf-8'
|
|
158
|
+
: 'application/octet-stream';
|
|
159
|
+
response.writeHead(200, {
|
|
160
|
+
'content-type': contentType,
|
|
161
|
+
'cache-control': 'public, max-age=3600',
|
|
162
|
+
});
|
|
163
|
+
response.end(source);
|
|
164
|
+
return true;
|
|
165
|
+
} catch {
|
|
166
|
+
sendText(response, 404, 'not_found');
|
|
167
|
+
return true;
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
|
|
119
171
|
function tryServePublicFontsAsset(url, response) {
|
|
120
172
|
if (!url.pathname.startsWith('/assets/fonts/')) {
|
|
121
173
|
return false;
|
|
@@ -144,6 +196,17 @@ function tryServePublicFontsAsset(url, response) {
|
|
|
144
196
|
}
|
|
145
197
|
}
|
|
146
198
|
|
|
199
|
+
function stripBrowserInlineLocalFunctions(source, names) {
|
|
200
|
+
let result = source;
|
|
201
|
+
for (const name of names) {
|
|
202
|
+
result = result.replace(
|
|
203
|
+
new RegExp(`\\nfunction ${name}\\([^)]*\\) \\{[\\s\\S]*?\\n\\}\\n`, 'g'),
|
|
204
|
+
'\n',
|
|
205
|
+
);
|
|
206
|
+
}
|
|
207
|
+
return result;
|
|
208
|
+
}
|
|
209
|
+
|
|
147
210
|
function stripModuleForBrowserInline(source) {
|
|
148
211
|
return source
|
|
149
212
|
.replace(/^import\s[\s\S]*?from\s+['"][^'"]+['"];?\s*$/gm, '')
|
|
@@ -168,23 +231,33 @@ function loadBrowserArchitectureLayoutSource() {
|
|
|
168
231
|
}
|
|
169
232
|
|
|
170
233
|
function loadBrowserMarkdownDocumentRenderSource() {
|
|
171
|
-
|
|
172
|
-
readFileSync(join(__dirname, 'codeSyntaxHighlight.mjs'), 'utf8'),
|
|
173
|
-
readFileSync(join(__dirname, 'markdownDocumentRender.mjs'), 'utf8'),
|
|
174
|
-
].join('\n')
|
|
234
|
+
const codeSyntaxHighlight = readFileSync(join(__dirname, 'codeSyntaxHighlight.mjs'), 'utf8')
|
|
175
235
|
.replace(/^import\s.+$/gm, '')
|
|
176
236
|
.replace(/^export /gm, '');
|
|
237
|
+
const markdownDocumentRender = stripBrowserInlineLocalFunctions(
|
|
238
|
+
readFileSync(join(__dirname, 'markdownDocumentRender.mjs'), 'utf8')
|
|
239
|
+
.replace(/^import\s.+$/gm, '')
|
|
240
|
+
.replace(/^export /gm, ''),
|
|
241
|
+
['escapeHtml'],
|
|
242
|
+
);
|
|
243
|
+
return `${codeSyntaxHighlight}\n${markdownDocumentRender}`;
|
|
177
244
|
}
|
|
178
245
|
|
|
179
246
|
function loadBrowserPipelineProseRenderSource() {
|
|
180
|
-
return
|
|
181
|
-
|
|
182
|
-
|
|
247
|
+
return stripBrowserInlineLocalFunctions(
|
|
248
|
+
readFileSync(join(__dirname, 'pipelineProseRender.mjs'), 'utf8')
|
|
249
|
+
.replace(/^import\s.+$/gm, '')
|
|
250
|
+
.replace(/^export /gm, ''),
|
|
251
|
+
['escapeHtml'],
|
|
252
|
+
);
|
|
183
253
|
}
|
|
184
254
|
|
|
185
255
|
function loadBrowserMissionControlClientSource() {
|
|
186
|
-
return
|
|
187
|
-
|
|
256
|
+
return stripBrowserInlineLocalFunctions(
|
|
257
|
+
stripModuleForBrowserInline(
|
|
258
|
+
readFileSync(join(__dirname, 'missionControlUiClient.mjs'), 'utf8'),
|
|
259
|
+
),
|
|
260
|
+
['escapeHtml'],
|
|
188
261
|
);
|
|
189
262
|
}
|
|
190
263
|
|
|
@@ -224,6 +297,55 @@ function loadBrowserWorkItemStatusToneSource() {
|
|
|
224
297
|
);
|
|
225
298
|
}
|
|
226
299
|
|
|
300
|
+
function loadBrowserKanbanBoardDeltaSource() {
|
|
301
|
+
return stripModuleForBrowserInline(
|
|
302
|
+
readFileSync(join(__dirname, 'kanbanBoardDelta.mjs'), 'utf8'),
|
|
303
|
+
);
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
function loadBrowserKanbanBoardPatcherSource() {
|
|
307
|
+
return stripModuleForBrowserInline(
|
|
308
|
+
readFileSync(join(__dirname, 'ui/kanbanBoardPatcher.mjs'), 'utf8'),
|
|
309
|
+
);
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
function loadBrowserUserAvatarsSource() {
|
|
313
|
+
return stripModuleForBrowserInline(
|
|
314
|
+
readFileSync(join(__dirname, 'ui/userAvatars.mjs'), 'utf8'),
|
|
315
|
+
);
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
function loadBrowserWorkItemIssueTypeSource() {
|
|
319
|
+
return stripModuleForBrowserInline(
|
|
320
|
+
readFileSync(join(__dirname, 'ui/workItemIssueType.mjs'), 'utf8'),
|
|
321
|
+
);
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
function loadBrowserWorkItemClassifierSource() {
|
|
325
|
+
return [
|
|
326
|
+
stripModuleForBrowserInline(readFileSync(join(__dirname, 'workItemBlockClassifier.mjs'), 'utf8')),
|
|
327
|
+
stripModuleForBrowserInline(readFileSync(join(__dirname, 'ui/workItemClassifierBadge.mjs'), 'utf8')),
|
|
328
|
+
].join('\n');
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
function loadBrowserDetailDrawerStackSource() {
|
|
332
|
+
return stripModuleForBrowserInline(
|
|
333
|
+
readFileSync(join(__dirname, 'detailDrawerStack.mjs'), 'utf8'),
|
|
334
|
+
);
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
function loadBrowserLiveSyncCoordinatorSource() {
|
|
338
|
+
return stripModuleForBrowserInline(
|
|
339
|
+
readFileSync(join(__dirname, 'ui/liveSyncCoordinator.mjs'), 'utf8'),
|
|
340
|
+
);
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
function loadBrowserLiveSyncSseAdapterSource() {
|
|
344
|
+
return stripModuleForBrowserInline(
|
|
345
|
+
readFileSync(join(__dirname, 'ui/liveSyncSseAdapter.mjs'), 'utf8'),
|
|
346
|
+
);
|
|
347
|
+
}
|
|
348
|
+
|
|
227
349
|
const DEFAULT_HOST = '127.0.0.1';
|
|
228
350
|
const DEFAULT_PORT = 4177;
|
|
229
351
|
|
|
@@ -334,7 +456,10 @@ export async function readArchitectureSnapshot(options = {}) {
|
|
|
334
456
|
});
|
|
335
457
|
}
|
|
336
458
|
|
|
337
|
-
export function renderBacklogHtml() {
|
|
459
|
+
export function renderBacklogHtml(options = {}) {
|
|
460
|
+
const catalog = options.catalog ?? loadUiCatalogSync(options.locale ?? 'ru', options);
|
|
461
|
+
const { locale, t, messages } = createUiTranslator(catalog);
|
|
462
|
+
const i18nBootstrapScript = JSON.stringify({ locale, messages });
|
|
338
463
|
const schematicModelFull = buildSchematicViewModel({ viewMode: GRAPH_CANVAS_VIEW_FULL });
|
|
339
464
|
const schematicModelPipeline = buildSchematicViewModel({ viewMode: GRAPH_CANVAS_VIEW_PIPELINE });
|
|
340
465
|
const architectureLayoutSource = loadBrowserArchitectureLayoutSource();
|
|
@@ -348,15 +473,27 @@ export function renderBacklogHtml() {
|
|
|
348
473
|
const uiButtonClientSource = loadBrowserUiButtonClientSource();
|
|
349
474
|
const uiBadgeClientSource = loadBrowserUiBadgeClientSource();
|
|
350
475
|
const workItemStatusToneSource = loadBrowserWorkItemStatusToneSource();
|
|
351
|
-
const
|
|
352
|
-
const
|
|
353
|
-
const
|
|
354
|
-
const
|
|
355
|
-
const
|
|
356
|
-
const
|
|
357
|
-
const
|
|
358
|
-
const
|
|
359
|
-
const
|
|
476
|
+
const kanbanBoardDeltaSource = loadBrowserKanbanBoardDeltaSource();
|
|
477
|
+
const kanbanBoardPatcherSource = loadBrowserKanbanBoardPatcherSource();
|
|
478
|
+
const userAvatarsSource = loadBrowserUserAvatarsSource();
|
|
479
|
+
const workItemIssueTypeSource = loadBrowserWorkItemIssueTypeSource();
|
|
480
|
+
const workItemClassifierSource = loadBrowserWorkItemClassifierSource();
|
|
481
|
+
const detailDrawerStackSource = loadBrowserDetailDrawerStackSource();
|
|
482
|
+
const liveSyncCoordinatorSource = loadBrowserLiveSyncCoordinatorSource();
|
|
483
|
+
const liveSyncSseAdapterSource = loadBrowserLiveSyncSseAdapterSource();
|
|
484
|
+
const bvcDialectSectionTitles = Object.fromEntries(
|
|
485
|
+
['en', 'ru'].map((lang) => [lang, Object.fromEntries(getFieldSectionsForDialect(lang))]),
|
|
486
|
+
);
|
|
487
|
+
const shellNavAnalytics = renderNavTab({ view: 'analytics', label: t('nav.analytics'), selected: true });
|
|
488
|
+
const shellNavWorkflow = renderNavTab({ view: 'workflow', label: t('nav.workflow'), selected: false });
|
|
489
|
+
const shellNavBoard = renderNavTab({ view: 'board', label: t('nav.board'), selected: false });
|
|
490
|
+
const shellNavVerification = renderNavTab({ view: 'verification', label: t('nav.verification'), selected: false });
|
|
491
|
+
const shellNavMemory = renderNavTab({ view: 'memory', label: t('nav.memory'), selected: false });
|
|
492
|
+
const shellNavArchitecture = renderNavTab({ view: 'architecture', label: t('nav.architecture'), selected: false });
|
|
493
|
+
const shellNavPrompts = renderNavTab({ view: 'prompts', label: t('nav.prompts'), selected: false });
|
|
494
|
+
const shellSettingsNav = renderSettingsNavTab({ label: t('nav.settings') });
|
|
495
|
+
const shellHeaderThemeToggle = renderHeaderThemeToggleButton({ ariaLabel: t('theme.toggleAria') });
|
|
496
|
+
const shellSettingsLocaleOptions = renderSettingsLocaleOptions({ locale, t });
|
|
360
497
|
const shellDetailClose = renderDetailCloseButton();
|
|
361
498
|
const shellDetailSubClose = renderDetailSubCloseButton();
|
|
362
499
|
const shellAgentDockClose = renderAgentRunDockCloseButton();
|
|
@@ -367,14 +504,34 @@ export function renderBacklogHtml() {
|
|
|
367
504
|
const shellCycleFilterSelect = renderCycleFilterSelect();
|
|
368
505
|
const shellIntentDomainFilterSelect = renderIntentDomainFilterSelect();
|
|
369
506
|
const shellAnalyticsSubtabs = renderAnalyticsSubtabsShell();
|
|
370
|
-
const shellWorkflowSubtabs = renderWorkflowSubtabsShell(
|
|
507
|
+
const shellWorkflowSubtabs = renderWorkflowSubtabsShell({
|
|
508
|
+
backlog: t('workflow.tab.backlog'),
|
|
509
|
+
archive: t('workflow.tab.archive'),
|
|
510
|
+
});
|
|
371
511
|
const shellArchitectureSubtabs = renderArchitectureSubtabsShell();
|
|
372
512
|
const shellWorkflowDisplayModeSelect = renderWorkflowDisplayModeSelect();
|
|
513
|
+
const themeIconMoonHtml = renderThemeIcon('moon');
|
|
514
|
+
const themeIconSunHtml = renderThemeIcon('sun');
|
|
373
515
|
return `<!doctype html>
|
|
374
|
-
<html lang="
|
|
516
|
+
<html lang="${locale}" data-iohasc-theme="workgraph-dark">
|
|
375
517
|
<head>
|
|
376
518
|
<meta charset="utf-8">
|
|
377
519
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
520
|
+
<script id="sidebar-width-bootstrap">
|
|
521
|
+
(function () {
|
|
522
|
+
var key = 'workGraphSidebarWidth';
|
|
523
|
+
var min = 56;
|
|
524
|
+
var max = 360;
|
|
525
|
+
var fallback = 252;
|
|
526
|
+
var compactMax = 80;
|
|
527
|
+
var raw = Number(localStorage.getItem(key));
|
|
528
|
+
var width = Number.isFinite(raw) ? Math.max(min, Math.min(max, raw)) : fallback;
|
|
529
|
+
document.documentElement.style.setProperty('--sidebar-width', width + 'px');
|
|
530
|
+
if (width <= compactMax) {
|
|
531
|
+
document.documentElement.classList.add('is-sidebar-compact');
|
|
532
|
+
}
|
|
533
|
+
})();
|
|
534
|
+
</script>
|
|
378
535
|
<title>Work Graph: атомы задач</title>
|
|
379
536
|
<link rel="stylesheet" href="/assets/fonts/GraphikLCG/stylesheet.css">
|
|
380
537
|
<link rel="stylesheet" href="/assets/graph-canvas-lit-flow.css">
|
|
@@ -402,31 +559,37 @@ export function renderBacklogHtml() {
|
|
|
402
559
|
--scrollbar-thumb: rgba(9, 30, 66, 0.28);
|
|
403
560
|
--scrollbar-thumb-hover: rgba(9, 30, 66, 0.42);
|
|
404
561
|
--scrollbar-thumb-active: var(--accent);
|
|
405
|
-
--sidebar-width:
|
|
562
|
+
--sidebar-width: 252px;
|
|
563
|
+
--sidebar-width-compact: 56px;
|
|
564
|
+
--sidebar-width-min: 56px;
|
|
565
|
+
--sidebar-width-max: 360px;
|
|
566
|
+
--sidebar-width-default: 252px;
|
|
567
|
+
--sidebar-compact-ui-max: 80px;
|
|
406
568
|
}
|
|
407
569
|
|
|
408
570
|
body[data-theme="dark"] {
|
|
409
571
|
color-scheme: dark;
|
|
410
|
-
--bg: rgb(var(--brand-bg-rgb,
|
|
411
|
-
--header-bg: rgb(
|
|
412
|
-
--panel: rgb(var(--ui-surface-rgb,
|
|
413
|
-
--panel-2: rgb(var(--ui-surface-muted-rgb,
|
|
414
|
-
--
|
|
415
|
-
--
|
|
416
|
-
--
|
|
417
|
-
--
|
|
418
|
-
--
|
|
419
|
-
--accent
|
|
420
|
-
--
|
|
421
|
-
--
|
|
422
|
-
--
|
|
423
|
-
--
|
|
572
|
+
--bg: rgb(var(--brand-bg-rgb, 29 33 37));
|
|
573
|
+
--header-bg: rgb(22 26 29);
|
|
574
|
+
--panel: rgb(var(--ui-surface-rgb, 44 51 56));
|
|
575
|
+
--panel-2: rgb(var(--ui-surface-muted-rgb, 56 65 74));
|
|
576
|
+
--column-bg: rgb(22 26 29);
|
|
577
|
+
--card: rgb(40 46 51);
|
|
578
|
+
--border: rgb(var(--brand-border-rgb, 61 71 77));
|
|
579
|
+
--text: rgb(var(--ui-text-rgb, 199 209 219));
|
|
580
|
+
--muted: rgb(var(--ui-muted-rgb, 159 173 188));
|
|
581
|
+
--accent: rgb(var(--ui-accent-rgb, 133 184 255));
|
|
582
|
+
--accent-soft: rgba(9, 41, 87, 0.72);
|
|
583
|
+
--warn: #e2b203;
|
|
584
|
+
--danger: rgb(var(--ui-danger-rgb, 255 156 143));
|
|
585
|
+
--ok: #4bce97;
|
|
586
|
+
--shadow-card: 0 1px 1px rgba(0, 0, 0, .32);
|
|
424
587
|
--scrollbar-track: var(--bg);
|
|
425
|
-
--scrollbar-thumb: rgba(
|
|
426
|
-
--scrollbar-thumb-hover: rgba(
|
|
588
|
+
--scrollbar-thumb: rgba(161, 189, 217, 0.22);
|
|
589
|
+
--scrollbar-thumb-hover: rgba(161, 189, 217, 0.34);
|
|
427
590
|
--scrollbar-thumb-active: var(--accent);
|
|
428
|
-
--cursor-accent: rgb(var(--ui-accent-rgb,
|
|
429
|
-
--cursor-accent-hover: rgb(var(--ui-accent-hover-rgb,
|
|
591
|
+
--cursor-accent: rgb(var(--ui-accent-rgb, 133 184 255));
|
|
592
|
+
--cursor-accent-hover: rgb(var(--ui-accent-hover-rgb, 87 157 255));
|
|
430
593
|
}
|
|
431
594
|
|
|
432
595
|
* { box-sizing: border-box; }
|
|
@@ -517,9 +680,40 @@ export function renderBacklogHtml() {
|
|
|
517
680
|
overflow-x: hidden;
|
|
518
681
|
overflow-y: auto;
|
|
519
682
|
padding: 16px 0 12px;
|
|
683
|
+
position: relative;
|
|
520
684
|
width: var(--sidebar-width);
|
|
521
685
|
}
|
|
522
686
|
|
|
687
|
+
.sidebar-resize-handle {
|
|
688
|
+
bottom: 0;
|
|
689
|
+
cursor: col-resize;
|
|
690
|
+
position: absolute;
|
|
691
|
+
right: -6px;
|
|
692
|
+
top: 0;
|
|
693
|
+
width: 12px;
|
|
694
|
+
z-index: 3;
|
|
695
|
+
}
|
|
696
|
+
|
|
697
|
+
.sidebar-resize-handle::after {
|
|
698
|
+
background: transparent;
|
|
699
|
+
bottom: 0;
|
|
700
|
+
content: "";
|
|
701
|
+
position: absolute;
|
|
702
|
+
right: 5px;
|
|
703
|
+
top: 0;
|
|
704
|
+
width: 2px;
|
|
705
|
+
}
|
|
706
|
+
|
|
707
|
+
.sidebar-resize-handle:hover::after,
|
|
708
|
+
body.is-resizing-sidebar .sidebar-resize-handle::after {
|
|
709
|
+
background: var(--accent);
|
|
710
|
+
}
|
|
711
|
+
|
|
712
|
+
body.is-resizing-sidebar {
|
|
713
|
+
cursor: col-resize;
|
|
714
|
+
user-select: none;
|
|
715
|
+
}
|
|
716
|
+
|
|
523
717
|
.sidebar-footer {
|
|
524
718
|
border-top: 1px solid var(--border);
|
|
525
719
|
margin-top: auto;
|
|
@@ -550,25 +744,28 @@ export function renderBacklogHtml() {
|
|
|
550
744
|
}
|
|
551
745
|
|
|
552
746
|
.sidebar-nav-advanced {
|
|
747
|
+
border-top: 1px solid var(--border);
|
|
553
748
|
margin-top: 8px;
|
|
749
|
+
padding-top: 8px;
|
|
554
750
|
}
|
|
555
751
|
|
|
556
752
|
.nav-tab {
|
|
557
753
|
align-items: center;
|
|
558
754
|
background: transparent;
|
|
559
755
|
border: 0;
|
|
560
|
-
border-
|
|
561
|
-
border-radius: 0 3px 3px 0;
|
|
756
|
+
border-radius: 10px;
|
|
562
757
|
box-sizing: border-box;
|
|
563
758
|
color: var(--text);
|
|
564
759
|
cursor: pointer;
|
|
565
760
|
display: flex;
|
|
566
761
|
font: inherit;
|
|
567
|
-
font-size: var(--text-
|
|
568
|
-
gap:
|
|
762
|
+
font-size: var(--text-base);
|
|
763
|
+
gap: 10px;
|
|
569
764
|
justify-content: flex-start;
|
|
765
|
+
line-height: var(--text-base-line-height, 1.5rem);
|
|
570
766
|
min-width: 0;
|
|
571
|
-
padding:
|
|
767
|
+
padding: 9px 12px;
|
|
768
|
+
position: relative;
|
|
572
769
|
text-align: left;
|
|
573
770
|
width: 100%;
|
|
574
771
|
}
|
|
@@ -579,15 +776,13 @@ export function renderBacklogHtml() {
|
|
|
579
776
|
|
|
580
777
|
.nav-tab[aria-selected="true"] {
|
|
581
778
|
background: #ebecf0;
|
|
582
|
-
border-left-color: var(--accent);
|
|
583
779
|
color: var(--accent);
|
|
584
780
|
font-weight: 600;
|
|
585
781
|
}
|
|
586
782
|
|
|
587
783
|
body[data-theme="dark"] .nav-tab[aria-selected="true"] {
|
|
588
|
-
background: #
|
|
589
|
-
|
|
590
|
-
color: #cce0ff;
|
|
784
|
+
background: #092957;
|
|
785
|
+
color: #85b8ff;
|
|
591
786
|
}
|
|
592
787
|
|
|
593
788
|
.nav-tab[disabled] {
|
|
@@ -596,6 +791,20 @@ export function renderBacklogHtml() {
|
|
|
596
791
|
opacity: .62;
|
|
597
792
|
}
|
|
598
793
|
|
|
794
|
+
.nav-tab-icon {
|
|
795
|
+
display: block;
|
|
796
|
+
flex-shrink: 0;
|
|
797
|
+
height: 22px;
|
|
798
|
+
width: 22px;
|
|
799
|
+
}
|
|
800
|
+
|
|
801
|
+
.nav-tab-label {
|
|
802
|
+
min-width: 0;
|
|
803
|
+
overflow: hidden;
|
|
804
|
+
text-overflow: ellipsis;
|
|
805
|
+
white-space: nowrap;
|
|
806
|
+
}
|
|
807
|
+
|
|
599
808
|
.badge {
|
|
600
809
|
background: #ebecf0;
|
|
601
810
|
border: 0;
|
|
@@ -733,9 +942,25 @@ export function renderBacklogHtml() {
|
|
|
733
942
|
}
|
|
734
943
|
|
|
735
944
|
.page-header {
|
|
945
|
+
align-items: flex-start;
|
|
946
|
+
display: flex;
|
|
947
|
+
gap: 12px;
|
|
948
|
+
justify-content: space-between;
|
|
736
949
|
margin-bottom: 16px;
|
|
737
950
|
}
|
|
738
951
|
|
|
952
|
+
.page-header-main {
|
|
953
|
+
min-width: 0;
|
|
954
|
+
}
|
|
955
|
+
|
|
956
|
+
.page-header-actions {
|
|
957
|
+
align-items: center;
|
|
958
|
+
display: flex;
|
|
959
|
+
flex-shrink: 0;
|
|
960
|
+
gap: 8px;
|
|
961
|
+
margin-top: 2px;
|
|
962
|
+
}
|
|
963
|
+
|
|
739
964
|
.breadcrumbs {
|
|
740
965
|
align-items: center;
|
|
741
966
|
color: var(--muted);
|
|
@@ -760,11 +985,12 @@ export function renderBacklogHtml() {
|
|
|
760
985
|
font-weight: 500;
|
|
761
986
|
}
|
|
762
987
|
|
|
763
|
-
.page-header h1
|
|
764
|
-
|
|
988
|
+
.page-header h1,
|
|
989
|
+
#view-title {
|
|
990
|
+
font-size: 2rem;
|
|
765
991
|
font-weight: var(--font-weight-strong, 600);
|
|
766
992
|
letter-spacing: var(--text-heading-letter-spacing, 0.01em);
|
|
767
|
-
line-height:
|
|
993
|
+
line-height: 2.5rem;
|
|
768
994
|
margin: 0;
|
|
769
995
|
}
|
|
770
996
|
|
|
@@ -800,7 +1026,9 @@ export function renderBacklogHtml() {
|
|
|
800
1026
|
|
|
801
1027
|
body[data-theme="dark"] .workflow-subtab.is-active,
|
|
802
1028
|
body[data-theme="dark"] .workflow-subtab[aria-selected="true"] {
|
|
803
|
-
background:
|
|
1029
|
+
background: #092957;
|
|
1030
|
+
border-color: #388bff;
|
|
1031
|
+
color: #85b8ff;
|
|
804
1032
|
}
|
|
805
1033
|
|
|
806
1034
|
.workflow-panel[hidden] {
|
|
@@ -876,8 +1104,9 @@ export function renderBacklogHtml() {
|
|
|
876
1104
|
}
|
|
877
1105
|
|
|
878
1106
|
body[data-theme="dark"] .board-tab.is-active {
|
|
879
|
-
background: #
|
|
880
|
-
color: #
|
|
1107
|
+
background: #092957;
|
|
1108
|
+
border-color: #388bff;
|
|
1109
|
+
color: #85b8ff;
|
|
881
1110
|
}
|
|
882
1111
|
|
|
883
1112
|
.toolbar {
|
|
@@ -943,6 +1172,114 @@ export function renderBacklogHtml() {
|
|
|
943
1172
|
width: 100%;
|
|
944
1173
|
}
|
|
945
1174
|
|
|
1175
|
+
.header-theme-toggle {
|
|
1176
|
+
align-items: center;
|
|
1177
|
+
background: var(--panel);
|
|
1178
|
+
border: 1px solid var(--border);
|
|
1179
|
+
border-radius: 8px;
|
|
1180
|
+
color: var(--text);
|
|
1181
|
+
cursor: pointer;
|
|
1182
|
+
display: inline-flex;
|
|
1183
|
+
height: 36px;
|
|
1184
|
+
justify-content: center;
|
|
1185
|
+
padding: 0;
|
|
1186
|
+
width: 36px;
|
|
1187
|
+
}
|
|
1188
|
+
|
|
1189
|
+
.header-theme-toggle:hover {
|
|
1190
|
+
border-color: var(--accent);
|
|
1191
|
+
color: var(--accent);
|
|
1192
|
+
}
|
|
1193
|
+
|
|
1194
|
+
.header-theme-toggle-icon {
|
|
1195
|
+
display: block;
|
|
1196
|
+
}
|
|
1197
|
+
|
|
1198
|
+
.settings-panel {
|
|
1199
|
+
display: grid;
|
|
1200
|
+
gap: 12px;
|
|
1201
|
+
max-width: 720px;
|
|
1202
|
+
}
|
|
1203
|
+
|
|
1204
|
+
.settings-section {
|
|
1205
|
+
background: var(--panel);
|
|
1206
|
+
border: 1px solid var(--border);
|
|
1207
|
+
border-radius: 8px;
|
|
1208
|
+
box-shadow: var(--shadow-card);
|
|
1209
|
+
display: grid;
|
|
1210
|
+
gap: 12px;
|
|
1211
|
+
padding: 14px 16px;
|
|
1212
|
+
}
|
|
1213
|
+
|
|
1214
|
+
.settings-section h2 {
|
|
1215
|
+
font-size: var(--text-lg);
|
|
1216
|
+
margin: 0;
|
|
1217
|
+
}
|
|
1218
|
+
|
|
1219
|
+
.settings-row {
|
|
1220
|
+
align-items: center;
|
|
1221
|
+
display: flex;
|
|
1222
|
+
flex-wrap: wrap;
|
|
1223
|
+
gap: 10px 16px;
|
|
1224
|
+
justify-content: space-between;
|
|
1225
|
+
}
|
|
1226
|
+
|
|
1227
|
+
.settings-row label,
|
|
1228
|
+
.settings-row > span:first-child {
|
|
1229
|
+
color: var(--text);
|
|
1230
|
+
font-size: var(--text-sm);
|
|
1231
|
+
font-weight: 500;
|
|
1232
|
+
}
|
|
1233
|
+
|
|
1234
|
+
.settings-theme-options,
|
|
1235
|
+
.settings-locale-options {
|
|
1236
|
+
display: inline-flex;
|
|
1237
|
+
gap: 8px;
|
|
1238
|
+
}
|
|
1239
|
+
|
|
1240
|
+
.settings-theme-options .wg-btn.is-active,
|
|
1241
|
+
.settings-locale-options .wg-btn.is-active {
|
|
1242
|
+
border-color: var(--accent);
|
|
1243
|
+
}
|
|
1244
|
+
|
|
1245
|
+
body:not([data-theme="dark"]) .settings-theme-options .wg-btn--secondary.is-active,
|
|
1246
|
+
body:not([data-theme="dark"]) .settings-locale-options .wg-btn--secondary.is-active {
|
|
1247
|
+
background: var(--accent-soft);
|
|
1248
|
+
color: var(--accent);
|
|
1249
|
+
}
|
|
1250
|
+
|
|
1251
|
+
body[data-theme="dark"] .settings-theme-options .wg-btn--secondary.is-active,
|
|
1252
|
+
body[data-theme="dark"] .settings-locale-options .wg-btn--secondary.is-active {
|
|
1253
|
+
background: #092957;
|
|
1254
|
+
border-color: #388bff;
|
|
1255
|
+
color: #85b8ff;
|
|
1256
|
+
}
|
|
1257
|
+
|
|
1258
|
+
.settings-version-value {
|
|
1259
|
+
font-family: var(--brand-font-mono, monospace);
|
|
1260
|
+
font-size: var(--text-sm);
|
|
1261
|
+
}
|
|
1262
|
+
|
|
1263
|
+
.settings-update-status {
|
|
1264
|
+
color: var(--muted);
|
|
1265
|
+
font-size: var(--text-sm);
|
|
1266
|
+
margin: 0;
|
|
1267
|
+
}
|
|
1268
|
+
|
|
1269
|
+
.settings-install-command {
|
|
1270
|
+
background: var(--panel-2);
|
|
1271
|
+
border: 1px solid var(--border);
|
|
1272
|
+
border-radius: 6px;
|
|
1273
|
+
font-family: var(--brand-font-mono, monospace);
|
|
1274
|
+
font-size: 12px;
|
|
1275
|
+
padding: 8px 10px;
|
|
1276
|
+
word-break: break-all;
|
|
1277
|
+
}
|
|
1278
|
+
|
|
1279
|
+
.nav-tab-settings {
|
|
1280
|
+
margin-top: 2px;
|
|
1281
|
+
}
|
|
1282
|
+
|
|
946
1283
|
.theme-toggle:hover {
|
|
947
1284
|
border-color: var(--accent);
|
|
948
1285
|
}
|
|
@@ -1080,7 +1417,7 @@ export function renderBacklogHtml() {
|
|
|
1080
1417
|
|
|
1081
1418
|
.code-gap-intake-preview,
|
|
1082
1419
|
.code-gap-intake-errors {
|
|
1083
|
-
background:
|
|
1420
|
+
background: var(--panel);
|
|
1084
1421
|
border: 1px solid var(--border);
|
|
1085
1422
|
border-radius: 6px;
|
|
1086
1423
|
color: var(--text);
|
|
@@ -1270,10 +1607,6 @@ export function renderBacklogHtml() {
|
|
|
1270
1607
|
padding: 8px 8px 12px;
|
|
1271
1608
|
}
|
|
1272
1609
|
|
|
1273
|
-
body[data-theme="dark"] .column {
|
|
1274
|
-
background: var(--panel-2);
|
|
1275
|
-
}
|
|
1276
|
-
|
|
1277
1610
|
.column h2 {
|
|
1278
1611
|
align-items: center;
|
|
1279
1612
|
display: flex;
|
|
@@ -1302,7 +1635,7 @@ export function renderBacklogHtml() {
|
|
|
1302
1635
|
}
|
|
1303
1636
|
|
|
1304
1637
|
body[data-theme="dark"] .count {
|
|
1305
|
-
background: var(--
|
|
1638
|
+
background: rgb(var(--ui-surface-rgb, 44 51 56));
|
|
1306
1639
|
color: var(--muted);
|
|
1307
1640
|
}
|
|
1308
1641
|
|
|
@@ -1328,8 +1661,28 @@ export function renderBacklogHtml() {
|
|
|
1328
1661
|
}
|
|
1329
1662
|
|
|
1330
1663
|
body[data-theme="dark"] .task-atom:hover {
|
|
1331
|
-
background: var(--
|
|
1332
|
-
border-color:
|
|
1664
|
+
background: rgb(var(--ui-surface-hover-rgb, 56 65 74));
|
|
1665
|
+
border-color: rgb(var(--brand-border-rgb, 61 71 77));
|
|
1666
|
+
}
|
|
1667
|
+
|
|
1668
|
+
.task-atom.kanban-card.is-new {
|
|
1669
|
+
animation: kanban-card-new 1.2s ease-out;
|
|
1670
|
+
box-shadow: 0 0 0 2px var(--accent-soft);
|
|
1671
|
+
}
|
|
1672
|
+
|
|
1673
|
+
@keyframes kanban-card-new {
|
|
1674
|
+
0% { background: var(--accent-soft); }
|
|
1675
|
+
100% { background: var(--card); }
|
|
1676
|
+
}
|
|
1677
|
+
|
|
1678
|
+
.detail-remote-update-banner {
|
|
1679
|
+
background: var(--accent-soft);
|
|
1680
|
+
border: 1px solid var(--accent);
|
|
1681
|
+
border-radius: 4px;
|
|
1682
|
+
color: var(--accent);
|
|
1683
|
+
font-size: 13px;
|
|
1684
|
+
margin-bottom: 10px;
|
|
1685
|
+
padding: 8px 10px;
|
|
1333
1686
|
}
|
|
1334
1687
|
|
|
1335
1688
|
.task-atom h3 {
|
|
@@ -1376,23 +1729,91 @@ export function renderBacklogHtml() {
|
|
|
1376
1729
|
min-width: 0;
|
|
1377
1730
|
}
|
|
1378
1731
|
|
|
1379
|
-
.
|
|
1732
|
+
.issue-key-chip {
|
|
1380
1733
|
align-items: center;
|
|
1381
|
-
|
|
1734
|
+
display: inline-flex;
|
|
1735
|
+
flex: 0 1 auto;
|
|
1736
|
+
gap: 6px;
|
|
1737
|
+
min-width: 0;
|
|
1738
|
+
}
|
|
1739
|
+
|
|
1740
|
+
.issue-type-icon {
|
|
1741
|
+
align-items: center;
|
|
1742
|
+
border-radius: 2px;
|
|
1743
|
+
display: inline-flex;
|
|
1744
|
+
flex-shrink: 0;
|
|
1745
|
+
height: 16px;
|
|
1746
|
+
justify-content: center;
|
|
1747
|
+
width: 16px;
|
|
1748
|
+
}
|
|
1749
|
+
|
|
1750
|
+
.issue-type-icon svg {
|
|
1751
|
+
display: block;
|
|
1752
|
+
}
|
|
1753
|
+
|
|
1754
|
+
.issue-type-icon.is-task {
|
|
1755
|
+
background: #2684ff;
|
|
1756
|
+
}
|
|
1757
|
+
|
|
1758
|
+
.issue-type-icon.is-story {
|
|
1759
|
+
background: #36b37e;
|
|
1760
|
+
}
|
|
1761
|
+
|
|
1762
|
+
.issue-type-icon.is-epic {
|
|
1763
|
+
background: #6554c0;
|
|
1764
|
+
}
|
|
1765
|
+
|
|
1766
|
+
.issue-type-icon.is-subtask {
|
|
1767
|
+
background: #0065ff;
|
|
1768
|
+
}
|
|
1769
|
+
|
|
1770
|
+
.issue-type-icon.is-bug {
|
|
1771
|
+
background: #ff5630;
|
|
1772
|
+
}
|
|
1773
|
+
|
|
1774
|
+
.issue-key-text {
|
|
1775
|
+
color: var(--muted);
|
|
1776
|
+
font-family: inherit;
|
|
1777
|
+
font-size: var(--text-sm);
|
|
1778
|
+
font-weight: 500;
|
|
1779
|
+
letter-spacing: 0;
|
|
1780
|
+
line-height: 1.2;
|
|
1781
|
+
min-width: 0;
|
|
1782
|
+
overflow: hidden;
|
|
1783
|
+
text-overflow: ellipsis;
|
|
1784
|
+
text-transform: none;
|
|
1785
|
+
white-space: nowrap;
|
|
1786
|
+
}
|
|
1787
|
+
|
|
1788
|
+
.owner-avatar {
|
|
1382
1789
|
border-radius: 50%;
|
|
1383
|
-
color: #0747a6;
|
|
1384
1790
|
display: inline-flex;
|
|
1385
1791
|
flex: 0 0 auto;
|
|
1386
|
-
font-size: var(--text-sm);
|
|
1387
|
-
font-weight: 700;
|
|
1388
1792
|
height: 28px;
|
|
1389
|
-
|
|
1793
|
+
overflow: hidden;
|
|
1390
1794
|
width: 28px;
|
|
1391
1795
|
}
|
|
1392
1796
|
|
|
1393
|
-
|
|
1394
|
-
|
|
1395
|
-
|
|
1797
|
+
.owner-avatar img {
|
|
1798
|
+
display: block;
|
|
1799
|
+
height: 100%;
|
|
1800
|
+
object-fit: cover;
|
|
1801
|
+
width: 100%;
|
|
1802
|
+
}
|
|
1803
|
+
|
|
1804
|
+
.owner-avatar-stack {
|
|
1805
|
+
align-items: center;
|
|
1806
|
+
display: inline-flex;
|
|
1807
|
+
flex: 0 0 auto;
|
|
1808
|
+
}
|
|
1809
|
+
|
|
1810
|
+
.owner-avatar-stack .owner-avatar {
|
|
1811
|
+
box-shadow: 0 0 0 2px var(--bg);
|
|
1812
|
+
margin-left: -8px;
|
|
1813
|
+
}
|
|
1814
|
+
|
|
1815
|
+
.owner-avatar-stack .owner-avatar:first-child {
|
|
1816
|
+
margin-left: 0;
|
|
1396
1817
|
}
|
|
1397
1818
|
|
|
1398
1819
|
.semantic-core {
|
|
@@ -1403,7 +1824,8 @@ export function renderBacklogHtml() {
|
|
|
1403
1824
|
color: #5e6c84;
|
|
1404
1825
|
font-size: var(--text-base);
|
|
1405
1826
|
line-height: 1.35;
|
|
1406
|
-
overflow-wrap:
|
|
1827
|
+
overflow-wrap: break-word;
|
|
1828
|
+
word-break: normal;
|
|
1407
1829
|
}
|
|
1408
1830
|
|
|
1409
1831
|
body[data-theme="dark"] .semantic-line {
|
|
@@ -1851,7 +2273,7 @@ export function renderBacklogHtml() {
|
|
|
1851
2273
|
|
|
1852
2274
|
body[data-theme="dark"] .list-row.is-selected,
|
|
1853
2275
|
body[data-theme="dark"] .list-row.is-highlighted {
|
|
1854
|
-
background:
|
|
2276
|
+
background: rgb(var(--ui-surface-rgb, 44 51 56));
|
|
1855
2277
|
}
|
|
1856
2278
|
|
|
1857
2279
|
.list-row.is-selected {
|
|
@@ -2324,6 +2746,42 @@ export function renderBacklogHtml() {
|
|
|
2324
2746
|
transform: translateX(0);
|
|
2325
2747
|
}
|
|
2326
2748
|
|
|
2749
|
+
.detail-stack-breadcrumb {
|
|
2750
|
+
color: var(--muted);
|
|
2751
|
+
font-size: 12px;
|
|
2752
|
+
line-height: 1.35;
|
|
2753
|
+
margin-top: 4px;
|
|
2754
|
+
}
|
|
2755
|
+
|
|
2756
|
+
.detail-stack-crumb-sep {
|
|
2757
|
+
margin: 0 4px;
|
|
2758
|
+
opacity: .65;
|
|
2759
|
+
}
|
|
2760
|
+
|
|
2761
|
+
.detail-stack-crumb.is-current {
|
|
2762
|
+
color: var(--text);
|
|
2763
|
+
}
|
|
2764
|
+
|
|
2765
|
+
.atom-inspector-lang-badge {
|
|
2766
|
+
display: inline-block;
|
|
2767
|
+
font-size: 11px;
|
|
2768
|
+
font-weight: 600;
|
|
2769
|
+
letter-spacing: .04em;
|
|
2770
|
+
margin-left: 8px;
|
|
2771
|
+
opacity: .75;
|
|
2772
|
+
text-transform: uppercase;
|
|
2773
|
+
}
|
|
2774
|
+
|
|
2775
|
+
.atom-inspector-warnings {
|
|
2776
|
+
background: rgba(255, 171, 0, .12);
|
|
2777
|
+
border: 1px solid rgba(255, 171, 0, .35);
|
|
2778
|
+
border-radius: 6px;
|
|
2779
|
+
color: var(--text);
|
|
2780
|
+
font-size: 12px;
|
|
2781
|
+
margin: 8px 0 12px;
|
|
2782
|
+
padding: 8px 10px;
|
|
2783
|
+
}
|
|
2784
|
+
|
|
2327
2785
|
.detail-resize-handle {
|
|
2328
2786
|
bottom: 0;
|
|
2329
2787
|
cursor: col-resize;
|
|
@@ -2887,6 +3345,19 @@ export function renderBacklogHtml() {
|
|
|
2887
3345
|
text-transform: uppercase;
|
|
2888
3346
|
}
|
|
2889
3347
|
|
|
3348
|
+
.analytics-section-header {
|
|
3349
|
+
align-items: center;
|
|
3350
|
+
display: flex;
|
|
3351
|
+
flex-wrap: wrap;
|
|
3352
|
+
gap: 8px 12px;
|
|
3353
|
+
justify-content: space-between;
|
|
3354
|
+
margin-bottom: 8px;
|
|
3355
|
+
}
|
|
3356
|
+
|
|
3357
|
+
.analytics-section-header .analytics-section-title {
|
|
3358
|
+
margin: 0;
|
|
3359
|
+
}
|
|
3360
|
+
|
|
2890
3361
|
.analytics-query-section {
|
|
2891
3362
|
margin-bottom: 14px;
|
|
2892
3363
|
}
|
|
@@ -2947,6 +3418,40 @@ export function renderBacklogHtml() {
|
|
|
2947
3418
|
white-space: nowrap;
|
|
2948
3419
|
}
|
|
2949
3420
|
|
|
3421
|
+
.analytics-lineage-badge {
|
|
3422
|
+
color: var(--muted);
|
|
3423
|
+
font-size: var(--font-size-sm);
|
|
3424
|
+
}
|
|
3425
|
+
|
|
3426
|
+
.analytics-lineage-section {
|
|
3427
|
+
margin-top: 16px;
|
|
3428
|
+
}
|
|
3429
|
+
|
|
3430
|
+
.analytics-lineage-list {
|
|
3431
|
+
display: grid;
|
|
3432
|
+
gap: 8px;
|
|
3433
|
+
list-style: none;
|
|
3434
|
+
margin: 0;
|
|
3435
|
+
padding: 0;
|
|
3436
|
+
}
|
|
3437
|
+
|
|
3438
|
+
.analytics-lineage-nav-btn {
|
|
3439
|
+
background: var(--panel-2);
|
|
3440
|
+
border: 1px solid var(--border);
|
|
3441
|
+
border-radius: 6px;
|
|
3442
|
+
color: var(--accent);
|
|
3443
|
+
cursor: pointer;
|
|
3444
|
+
display: block;
|
|
3445
|
+
font: inherit;
|
|
3446
|
+
padding: 10px 12px;
|
|
3447
|
+
text-align: left;
|
|
3448
|
+
width: 100%;
|
|
3449
|
+
}
|
|
3450
|
+
|
|
3451
|
+
.analytics-lineage-nav-btn:hover {
|
|
3452
|
+
border-color: var(--accent);
|
|
3453
|
+
}
|
|
3454
|
+
|
|
2950
3455
|
.analytics-intent-options,
|
|
2951
3456
|
.analytics-intent-decision,
|
|
2952
3457
|
.intent-graph-drilldown {
|
|
@@ -3507,21 +4012,68 @@ export function renderBacklogHtml() {
|
|
|
3507
4012
|
margin-top: 0;
|
|
3508
4013
|
}
|
|
3509
4014
|
|
|
4015
|
+
html.is-sidebar-compact .sidebar {
|
|
4016
|
+
padding: 8px 0;
|
|
4017
|
+
}
|
|
4018
|
+
|
|
4019
|
+
html.is-sidebar-compact .project-title {
|
|
4020
|
+
display: none;
|
|
4021
|
+
}
|
|
4022
|
+
|
|
4023
|
+
html.is-sidebar-compact .sidebar-nav,
|
|
4024
|
+
html.is-sidebar-compact .sidebar-nav-advanced {
|
|
4025
|
+
grid-template-columns: 1fr;
|
|
4026
|
+
padding: 4px 6px 0;
|
|
4027
|
+
}
|
|
4028
|
+
|
|
4029
|
+
html.is-sidebar-compact .sidebar-nav-advanced {
|
|
4030
|
+
margin-top: 4px;
|
|
4031
|
+
padding-top: 4px;
|
|
4032
|
+
}
|
|
4033
|
+
|
|
4034
|
+
html.is-sidebar-compact .sidebar-footer {
|
|
4035
|
+
padding: 8px 6px 0;
|
|
4036
|
+
}
|
|
4037
|
+
|
|
4038
|
+
html.is-sidebar-compact .nav-tab {
|
|
4039
|
+
gap: 0;
|
|
4040
|
+
justify-content: center;
|
|
4041
|
+
padding: 10px 8px;
|
|
4042
|
+
}
|
|
4043
|
+
|
|
4044
|
+
html.is-sidebar-compact .nav-tab-label {
|
|
4045
|
+
border: 0;
|
|
4046
|
+
clip: rect(0 0 0 0);
|
|
4047
|
+
height: 1px;
|
|
4048
|
+
margin: -1px;
|
|
4049
|
+
overflow: hidden;
|
|
4050
|
+
padding: 0;
|
|
4051
|
+
position: absolute;
|
|
4052
|
+
white-space: nowrap;
|
|
4053
|
+
width: 1px;
|
|
4054
|
+
}
|
|
4055
|
+
|
|
3510
4056
|
@media (max-width: 900px) {
|
|
3511
|
-
.app-shell { grid-template-columns: 1fr; }
|
|
3512
|
-
.sidebar {
|
|
3513
|
-
border-bottom: 1px solid var(--border);
|
|
3514
|
-
border-right: 0;
|
|
3515
|
-
max-width: none;
|
|
3516
|
-
min-width: 0;
|
|
3517
|
-
width: 100%;
|
|
3518
|
-
}
|
|
3519
|
-
.sidebar-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
|
|
3520
4057
|
.board { grid-template-columns: minmax(260px, 1fr); }
|
|
3521
4058
|
.detail-drawer { width: 100vw; }
|
|
3522
4059
|
}
|
|
3523
|
-
${MISSION_CONTROL_CSS}
|
|
3524
|
-
${UI_BUTTON_CSS}
|
|
4060
|
+
${MISSION_CONTROL_CSS}
|
|
4061
|
+
${UI_BUTTON_CSS}
|
|
4062
|
+
body:not([data-theme="dark"]) .wg-btn--secondary {
|
|
4063
|
+
background: var(--panel-2);
|
|
4064
|
+
color: var(--text);
|
|
4065
|
+
border-color: var(--border);
|
|
4066
|
+
}
|
|
4067
|
+
body:not([data-theme="dark"]) .wg-btn--secondary:hover:not(:disabled) {
|
|
4068
|
+
background: #ebecf0;
|
|
4069
|
+
color: var(--text);
|
|
4070
|
+
border-color: #c1c7d0;
|
|
4071
|
+
}
|
|
4072
|
+
body:not([data-theme="dark"]) .wg-btn--inverse {
|
|
4073
|
+
background: var(--panel);
|
|
4074
|
+
color: var(--text);
|
|
4075
|
+
border-color: var(--border);
|
|
4076
|
+
}
|
|
3525
4077
|
${UI_BADGE_CSS}
|
|
3526
4078
|
${UI_SELECT_CSS}
|
|
3527
4079
|
${UI_TABS_CSS}
|
|
@@ -3669,32 +4221,46 @@ export function renderBacklogHtml() {
|
|
|
3669
4221
|
data-testid="workgraph-logo"
|
|
3670
4222
|
>
|
|
3671
4223
|
</div>
|
|
3672
|
-
<nav class="sidebar-nav" aria-label="
|
|
3673
|
-
${
|
|
3674
|
-
${shellNavBoard}
|
|
4224
|
+
<nav class="sidebar-nav" aria-label="Канон Work Graph">
|
|
4225
|
+
${shellNavAnalytics}
|
|
3675
4226
|
${shellNavWorkflow}
|
|
4227
|
+
${shellNavBoard}
|
|
3676
4228
|
${shellNavVerification}
|
|
4229
|
+
${shellNavMemory}
|
|
4230
|
+
</nav>
|
|
4231
|
+
<nav class="sidebar-nav sidebar-nav-advanced" aria-label="Дополнительно">
|
|
3677
4232
|
${shellNavArchitecture}
|
|
3678
4233
|
${shellNavPrompts}
|
|
3679
|
-
${shellNavMemory}
|
|
3680
|
-
${shellNavAnalytics}
|
|
3681
4234
|
</nav>
|
|
3682
4235
|
<div class="sidebar-footer">
|
|
3683
|
-
${
|
|
4236
|
+
${shellSettingsNav}
|
|
3684
4237
|
</div>
|
|
4238
|
+
<div
|
|
4239
|
+
id="sidebar-resize-handle"
|
|
4240
|
+
class="sidebar-resize-handle"
|
|
4241
|
+
role="separator"
|
|
4242
|
+
tabindex="0"
|
|
4243
|
+
aria-orientation="vertical"
|
|
4244
|
+
aria-label="Изменить ширину боковой панели"
|
|
4245
|
+
aria-valuemin="56"
|
|
4246
|
+
aria-valuemax="360"
|
|
4247
|
+
data-testid="sidebar-resize-handle"
|
|
4248
|
+
></div>
|
|
3685
4249
|
</aside>
|
|
3686
4250
|
<main class="content">
|
|
3687
4251
|
<header class="page-header">
|
|
3688
|
-
<
|
|
3689
|
-
<
|
|
3690
|
-
|
|
3691
|
-
|
|
4252
|
+
<div class="page-header-main">
|
|
4253
|
+
<nav class="breadcrumbs" aria-label="Хлебные крошки">
|
|
4254
|
+
<span class="breadcrumb-current" id="breadcrumb-project">Work Graph</span>
|
|
4255
|
+
</nav>
|
|
4256
|
+
<h1 id="view-title">${t('view.analytics')}</h1>
|
|
4257
|
+
</div>
|
|
4258
|
+
<div class="page-header-actions">
|
|
4259
|
+
${shellHeaderThemeToggle}
|
|
4260
|
+
</div>
|
|
3692
4261
|
</header>
|
|
3693
|
-
<section id="home-view" class="view" data-testid="home-view" aria-live="polite">
|
|
3694
|
-
<article id="home-mission-control-root" class="home-mission-control"></article>
|
|
3695
|
-
</section>
|
|
3696
4262
|
<section id="view-toolbar" class="toolbar" hidden>
|
|
3697
|
-
<input id="search" class="search" type="search" placeholder="
|
|
4263
|
+
<input id="search" class="search" type="search" placeholder="${t('search.placeholder')}" autocomplete="off">
|
|
3698
4264
|
${shellSearchModeSelect}
|
|
3699
4265
|
<div id="workflow-filters" class="workflow-filters" aria-label="Фильтры потока">
|
|
3700
4266
|
${shellCycleFilterSelect}
|
|
@@ -3707,12 +4273,18 @@ export function renderBacklogHtml() {
|
|
|
3707
4273
|
<article id="verification-panel" class="verification-panel">
|
|
3708
4274
|
<header class="verification-panel-header">
|
|
3709
4275
|
<div>
|
|
3710
|
-
<h2
|
|
3711
|
-
<p
|
|
4276
|
+
<h2>${t('verification.title')}</h2>
|
|
4277
|
+
<p>${t('verification.subtitle')}</p>
|
|
3712
4278
|
</div>
|
|
3713
4279
|
<div id="verification-tier-badges" class="verification-tier-badges"></div>
|
|
3714
4280
|
</header>
|
|
3715
4281
|
<div id="verification-matrix-wrap"></div>
|
|
4282
|
+
<div>
|
|
4283
|
+
<h3 style="font-size:14px;margin:0 0 6px">Контракт gate-задач <span id="verification-contract-count" class="badge">0</span></h3>
|
|
4284
|
+
<p class="empty" style="margin:0 0 8px">Projection work-item-contract.v1 и readiness (violations[]) для задач из VERIFICATION_MATRIX.</p>
|
|
4285
|
+
<div id="verification-contract-health" class="prompts-summary" data-testid="verification-contract-health"></div>
|
|
4286
|
+
<ul id="verification-contract-list" class="verification-evidence-list" data-testid="verification-contract-list"></ul>
|
|
4287
|
+
</div>
|
|
3716
4288
|
<div>
|
|
3717
4289
|
<h3 style="font-size:14px;margin:0 0 6px">Гейт codegen <span id="codegen-gate-count" class="badge">0</span></h3>
|
|
3718
4290
|
<p class="empty" style="margin:0 0 8px">Успех или провал проверки codegen для WorkItems с меткой trace.codegen (целостность, roundtrip, bracket IR).</p>
|
|
@@ -3812,6 +4384,41 @@ export function renderBacklogHtml() {
|
|
|
3812
4384
|
<div id="architecture-blocks-list" class="backlog-list list-rows" data-testid="architecture-blocks-list"></div>
|
|
3813
4385
|
</article>
|
|
3814
4386
|
</section>
|
|
4387
|
+
<section id="settings-view" class="view" aria-live="polite" hidden>
|
|
4388
|
+
<div class="settings-panel" data-testid="settings-panel">
|
|
4389
|
+
<article class="settings-section" aria-labelledby="settings-appearance-title">
|
|
4390
|
+
<h2 id="settings-appearance-title">${t('settings.appearance.title')}</h2>
|
|
4391
|
+
<div class="settings-row">
|
|
4392
|
+
<label for="settings-theme-light">${t('settings.appearance.theme')}</label>
|
|
4393
|
+
<div class="settings-theme-options" role="group" aria-label="${t('settings.appearance.theme')}">
|
|
4394
|
+
<button type="button" class="wg-btn wg-btn--secondary wg-btn--sm" id="settings-theme-light" data-settings-theme="light">${t('settings.appearance.themeLight')}</button>
|
|
4395
|
+
<button type="button" class="wg-btn wg-btn--secondary wg-btn--sm" id="settings-theme-dark" data-settings-theme="dark">${t('settings.appearance.themeDark')}</button>
|
|
4396
|
+
</div>
|
|
4397
|
+
</div>
|
|
4398
|
+
</article>
|
|
4399
|
+
<article class="settings-section" aria-labelledby="settings-language-title">
|
|
4400
|
+
<h2 id="settings-language-title">${t('settings.language.title')}</h2>
|
|
4401
|
+
<div class="settings-row">
|
|
4402
|
+
<span id="settings-language-label">${t('settings.language.label')}</span>
|
|
4403
|
+
<div class="settings-locale-options" role="group" aria-labelledby="settings-language-label" data-testid="settings-locale-options">
|
|
4404
|
+
${shellSettingsLocaleOptions}
|
|
4405
|
+
</div>
|
|
4406
|
+
</div>
|
|
4407
|
+
</article>
|
|
4408
|
+
<article class="settings-section" aria-labelledby="settings-about-title">
|
|
4409
|
+
<h2 id="settings-about-title">${t('settings.about.title')}</h2>
|
|
4410
|
+
<div class="settings-row">
|
|
4411
|
+
<label>${t('settings.about.version')}</label>
|
|
4412
|
+
<span id="settings-version-value" class="settings-version-value" data-testid="settings-version-value">—</span>
|
|
4413
|
+
</div>
|
|
4414
|
+
<div class="settings-row">
|
|
4415
|
+
<button type="button" class="wg-btn wg-btn--secondary wg-btn--sm" id="settings-check-update" data-testid="settings-check-update">${t('settings.about.checkUpdate')}</button>
|
|
4416
|
+
</div>
|
|
4417
|
+
<p id="settings-update-status" class="settings-update-status" data-testid="settings-update-status" hidden></p>
|
|
4418
|
+
<code id="settings-install-command" class="settings-install-command" data-testid="settings-install-command" hidden></code>
|
|
4419
|
+
</article>
|
|
4420
|
+
</div>
|
|
4421
|
+
</section>
|
|
3815
4422
|
<section id="board-view" class="view" aria-live="polite" hidden>
|
|
3816
4423
|
<div id="kanban-board" class="board kanban-board" data-testid="kanban-board-panel" aria-label="Kanban planning columns"></div>
|
|
3817
4424
|
<div id="board" class="board"></div>
|
|
@@ -3820,7 +4427,7 @@ export function renderBacklogHtml() {
|
|
|
3820
4427
|
${shellWorkflowSubtabs}
|
|
3821
4428
|
<article id="workflow-backlog-panel" class="list-panel backlog-panel workflow-panel" role="tabpanel" aria-labelledby="workflow-tab-backlog">
|
|
3822
4429
|
<header class="list-panel-header backlog-panel-header">
|
|
3823
|
-
<h2
|
|
4430
|
+
<h2>${t('workflow.panel.backlog')}</h2>
|
|
3824
4431
|
<span id="backlog-panel-count" class="count">0</span>
|
|
3825
4432
|
</header>
|
|
3826
4433
|
<div id="backlog-list" class="backlog-list list-rows"></div>
|
|
@@ -3828,7 +4435,7 @@ export function renderBacklogHtml() {
|
|
|
3828
4435
|
</article>
|
|
3829
4436
|
<article id="workflow-archive-panel" class="list-panel backlog-panel workflow-panel" role="tabpanel" aria-labelledby="workflow-tab-archive" hidden>
|
|
3830
4437
|
<header class="list-panel-header backlog-panel-header">
|
|
3831
|
-
<h2
|
|
4438
|
+
<h2>${t('workflow.panel.archive')}</h2>
|
|
3832
4439
|
<span id="archive-panel-count" class="count">0</span>
|
|
3833
4440
|
</header>
|
|
3834
4441
|
<div id="archive-list" class="backlog-list list-rows"></div>
|
|
@@ -3885,10 +4492,31 @@ export function renderBacklogHtml() {
|
|
|
3885
4492
|
</div>
|
|
3886
4493
|
<script src="/vendor/mermaid.min.js"></script>
|
|
3887
4494
|
<script src="/assets/graph-canvas-lit-flow.js" defer></script>
|
|
3888
|
-
<script>
|
|
4495
|
+
<script id="workgraph-app">
|
|
3889
4496
|
${uiButtonClientSource}
|
|
3890
4497
|
${uiBadgeClientSource}
|
|
3891
4498
|
${workItemStatusToneSource}
|
|
4499
|
+
${kanbanBoardDeltaSource}
|
|
4500
|
+
${kanbanBoardPatcherSource}
|
|
4501
|
+
${userAvatarsSource}
|
|
4502
|
+
${workItemIssueTypeSource}
|
|
4503
|
+
${workItemClassifierSource}
|
|
4504
|
+
${detailDrawerStackSource}
|
|
4505
|
+
${liveSyncCoordinatorSource}
|
|
4506
|
+
${liveSyncSseAdapterSource}
|
|
4507
|
+
const detailStack = createDetailDrawerStack();
|
|
4508
|
+
const BVC_DIALECT_SECTION_TITLES = ${JSON.stringify(bvcDialectSectionTitles)};
|
|
4509
|
+
function resolveAtomInspectorLang(draft) {
|
|
4510
|
+
const fromDraft = String(draft?.lang ?? '').trim().toLowerCase();
|
|
4511
|
+
if (fromDraft === 'en' || fromDraft === 'ru') return fromDraft;
|
|
4512
|
+
const fromLabels = String(draft?.labels?.lang ?? '').trim().toLowerCase();
|
|
4513
|
+
if (fromLabels === 'en' || fromLabels === 'ru') return fromLabels;
|
|
4514
|
+
return 'ru';
|
|
4515
|
+
}
|
|
4516
|
+
function atomSectionTitle(lang, field) {
|
|
4517
|
+
const dialect = BVC_DIALECT_SECTION_TITLES[lang] || BVC_DIALECT_SECTION_TITLES.ru;
|
|
4518
|
+
return dialect[field] || field;
|
|
4519
|
+
}
|
|
3892
4520
|
const statusGroups = ${JSON.stringify(STATUS_GROUPS)};
|
|
3893
4521
|
const operationalBoardGroups = ${JSON.stringify(OPERATIONAL_BOARD_GROUPS)};
|
|
3894
4522
|
const doneArchiveGroup = ${JSON.stringify(DONE_ARCHIVE_GROUP)};
|
|
@@ -3908,6 +4536,30 @@ export function renderBacklogHtml() {
|
|
|
3908
4536
|
${workflowTreeProjectionSource}
|
|
3909
4537
|
${missionControlClientSource}
|
|
3910
4538
|
const themeStorageKey = 'workGraphBacklogTheme';
|
|
4539
|
+
const i18nBootstrap = ${i18nBootstrapScript};
|
|
4540
|
+
window.__WG_LOCALE__ = i18nBootstrap.locale;
|
|
4541
|
+
window.__WG_I18N__ = i18nBootstrap.messages;
|
|
4542
|
+
function t(key, params) {
|
|
4543
|
+
let text = (window.__WG_I18N__ && window.__WG_I18N__[key]) || key;
|
|
4544
|
+
if (params) {
|
|
4545
|
+
for (const [paramKey, paramValue] of Object.entries(params)) {
|
|
4546
|
+
text = text.split('{' + paramKey + '}').join(String(paramValue));
|
|
4547
|
+
}
|
|
4548
|
+
}
|
|
4549
|
+
return text;
|
|
4550
|
+
}
|
|
4551
|
+
function localizedKanbanColumnTitle(columnId, fallback) {
|
|
4552
|
+
const key = 'kanban.col.' + columnId;
|
|
4553
|
+
const value = t(key);
|
|
4554
|
+
return value === key ? (fallback || columnId) : value;
|
|
4555
|
+
}
|
|
4556
|
+
function localizedBoardGroupTitle(groupId, fallback) {
|
|
4557
|
+
const key = 'board.group.' + groupId;
|
|
4558
|
+
const value = t(key);
|
|
4559
|
+
return value === key ? (fallback || groupId) : value;
|
|
4560
|
+
}
|
|
4561
|
+
const THEME_ICON_MOON = ${JSON.stringify(themeIconMoonHtml)};
|
|
4562
|
+
const THEME_ICON_SUN = ${JSON.stringify(themeIconSunHtml)};
|
|
3911
4563
|
const viewStorageKey = 'workGraphBacklogView';
|
|
3912
4564
|
const workflowTabStorageKey = 'workGraphWorkflowTab';
|
|
3913
4565
|
const analyticsTabStorageKey = 'workGraphAnalyticsTab';
|
|
@@ -3920,12 +4572,20 @@ export function renderBacklogHtml() {
|
|
|
3920
4572
|
const intentDomainFilterStorageKey = 'workGraphIntentDomainFilter';
|
|
3921
4573
|
const detailDrawerWidthStorageKey = 'workGraphDetailDrawerWidth';
|
|
3922
4574
|
const detailSubDrawerWidthStorageKey = 'workGraphDetailSubDrawerWidth';
|
|
4575
|
+
const sidebarWidthStorageKey = 'workGraphSidebarWidth';
|
|
4576
|
+
const SIDEBAR_WIDTH_MIN = 56;
|
|
4577
|
+
const SIDEBAR_WIDTH_MAX = 360;
|
|
4578
|
+
const SIDEBAR_WIDTH_DEFAULT = 252;
|
|
4579
|
+
const SIDEBAR_COMPACT_UI_MAX = 80;
|
|
3923
4580
|
const graphCanvasModeStorageKey = 'workGraphGraphCanvasMode';
|
|
3924
4581
|
const workflowDisplayModeStorageKey = 'workGraphWorkflowDisplayMode';
|
|
3925
4582
|
const collapsedWorkflowTreeIdsStorageKey = 'workGraphWorkflowTreeCollapsed.v1';
|
|
3926
4583
|
localStorage.removeItem('workGraphArchitectureMatrixFilter');
|
|
3927
4584
|
|
|
3928
4585
|
let graphCanvasViewMode = localStorage.getItem(graphCanvasModeStorageKey) === 'full' ? 'full' : 'pipeline';
|
|
4586
|
+
let backlogRevision = null;
|
|
4587
|
+
const liveSyncViews = new Set(['board', 'workflow']);
|
|
4588
|
+
const liveSyncIntervalMs = 3000;
|
|
3929
4589
|
let snapshot = null;
|
|
3930
4590
|
let architectureSnapshot = null;
|
|
3931
4591
|
let architectureLoaded = false;
|
|
@@ -3963,13 +4623,9 @@ export function renderBacklogHtml() {
|
|
|
3963
4623
|
let semanticSearchWorkIds = null;
|
|
3964
4624
|
let semanticSearchTimer = null;
|
|
3965
4625
|
let homeSnapshot = null;
|
|
3966
|
-
let homePanelLoaded = false;
|
|
3967
4626
|
let cmdKRows = [];
|
|
3968
4627
|
let cmdKActiveIndex = 0;
|
|
3969
4628
|
let lastAgentRunTaskId = null;
|
|
3970
|
-
let homePollTimer = null;
|
|
3971
|
-
let agentDockPollTimer = null;
|
|
3972
|
-
let agentScopePollTimer = null;
|
|
3973
4629
|
const agentScopePollMs = 20000;
|
|
3974
4630
|
const ownerRoleStorageKey = 'workGraphOwnerRoleFilter';
|
|
3975
4631
|
const agentDockOpenStorageKey = 'workGraphAgentDockOpen';
|
|
@@ -4007,8 +4663,6 @@ export function renderBacklogHtml() {
|
|
|
4007
4663
|
const board = document.querySelector('#board');
|
|
4008
4664
|
const kanbanBoard = document.querySelector('#kanban-board');
|
|
4009
4665
|
const boardView = document.querySelector('#board-view');
|
|
4010
|
-
const homeView = document.querySelector('#home-view');
|
|
4011
|
-
const homeMissionControlRoot = document.querySelector('#home-mission-control-root');
|
|
4012
4666
|
const layoutRoot = document.querySelector('#layout-root');
|
|
4013
4667
|
const agentRunDock = document.querySelector('#agent-run-dock');
|
|
4014
4668
|
const agentRunDockBody = document.querySelector('#agent-run-dock-body');
|
|
@@ -4040,6 +4694,7 @@ export function renderBacklogHtml() {
|
|
|
4040
4694
|
const detailSubTitle = document.querySelector('#detail-sub-title');
|
|
4041
4695
|
const detailResizeHandle = document.querySelector('#detail-resize-handle');
|
|
4042
4696
|
const detailSubResizeHandle = document.querySelector('#detail-sub-resize-handle');
|
|
4697
|
+
const sidebarResizeHandle = document.querySelector('#sidebar-resize-handle');
|
|
4043
4698
|
const detailTitle = document.querySelector('#detail-title');
|
|
4044
4699
|
const navTabs = [...document.querySelectorAll('.nav-tab[data-view]')];
|
|
4045
4700
|
const search = document.querySelector('#search');
|
|
@@ -4050,11 +4705,22 @@ export function renderBacklogHtml() {
|
|
|
4050
4705
|
const daemonAuditList = document.querySelector('#daemon-audit-list');
|
|
4051
4706
|
const daemonAuditCount = document.querySelector('#daemon-audit-count');
|
|
4052
4707
|
const verificationMatrixWrap = document.querySelector('#verification-matrix-wrap');
|
|
4708
|
+
const verificationContractCount = document.querySelector('#verification-contract-count');
|
|
4709
|
+
const verificationContractHealth = document.querySelector('#verification-contract-health');
|
|
4710
|
+
const verificationContractList = document.querySelector('#verification-contract-list');
|
|
4053
4711
|
const codegenGateList = document.querySelector('#codegen-gate-list');
|
|
4054
4712
|
const codegenGateSummary = document.querySelector('#codegen-gate-summary');
|
|
4055
4713
|
const codegenGateCount = document.querySelector('#codegen-gate-count');
|
|
4056
4714
|
const verificationTierBadges = document.querySelector('#verification-tier-badges');
|
|
4057
4715
|
const verificationView = document.querySelector('#verification-view');
|
|
4716
|
+
const settingsView = document.querySelector('#settings-view');
|
|
4717
|
+
const settingsThemeLight = document.querySelector('#settings-theme-light');
|
|
4718
|
+
const settingsThemeDark = document.querySelector('#settings-theme-dark');
|
|
4719
|
+
const settingsLocaleButtons = [...document.querySelectorAll('[data-settings-locale]')];
|
|
4720
|
+
const settingsVersionValue = document.querySelector('#settings-version-value');
|
|
4721
|
+
const settingsCheckUpdate = document.querySelector('#settings-check-update');
|
|
4722
|
+
const settingsUpdateStatus = document.querySelector('#settings-update-status');
|
|
4723
|
+
const settingsInstallCommand = document.querySelector('#settings-install-command');
|
|
4058
4724
|
const codeGapSummary = document.querySelector('#code-gap-summary');
|
|
4059
4725
|
const codeGapList = document.querySelector('#code-gap-list');
|
|
4060
4726
|
const codeGapCount = document.querySelector('#code-gap-count');
|
|
@@ -4089,8 +4755,39 @@ export function renderBacklogHtml() {
|
|
|
4089
4755
|
const intentDomainClear = document.querySelector('#intent-domain-clear');
|
|
4090
4756
|
|
|
4091
4757
|
applyTheme(readStoredTheme());
|
|
4758
|
+
applyStoredSidebarWidth();
|
|
4092
4759
|
applyStoredDetailDrawerWidth();
|
|
4093
4760
|
applyStoredDetailSubDrawerWidth();
|
|
4761
|
+
|
|
4762
|
+
const liveSync = createLiveSyncCoordinator({
|
|
4763
|
+
tickMs: 1000,
|
|
4764
|
+
isDocumentHidden: () => document.hidden,
|
|
4765
|
+
setTimer: (fn, ms) => window.setTimeout(fn, ms),
|
|
4766
|
+
clearTimer: (id) => window.clearTimeout(id),
|
|
4767
|
+
});
|
|
4768
|
+
liveSync.registerScope('backlog-revision', {
|
|
4769
|
+
intervalMs: liveSyncIntervalMs,
|
|
4770
|
+
enabled: () => liveSyncViews.has(activeView),
|
|
4771
|
+
onTick: () => { pollBacklogRevision().catch(() => undefined); },
|
|
4772
|
+
});
|
|
4773
|
+
liveSync.registerScope('home', {
|
|
4774
|
+
intervalMs: 30000,
|
|
4775
|
+
enabled: () => true,
|
|
4776
|
+
onTick: () => { refreshHomeSnapshot().catch(() => undefined); },
|
|
4777
|
+
});
|
|
4778
|
+
liveSync.registerScope('agent-dock', {
|
|
4779
|
+
intervalMs: 5000,
|
|
4780
|
+
enabled: () => agentRunDock?.classList.contains('is-open'),
|
|
4781
|
+
onTick: () => { refreshAgentRunDock().catch(() => undefined); },
|
|
4782
|
+
});
|
|
4783
|
+
liveSync.registerScope('agent-scope', {
|
|
4784
|
+
intervalMs: agentScopePollMs,
|
|
4785
|
+
enabled: () => agentRunDock?.classList.contains('is-open'),
|
|
4786
|
+
onTick: () => { refreshAgentScopePanel().catch(() => undefined); },
|
|
4787
|
+
});
|
|
4788
|
+
document.addEventListener('visibilitychange', () => liveSync.sync());
|
|
4789
|
+
connectLiveSyncRevisionSse(liveSync);
|
|
4790
|
+
|
|
4094
4791
|
applyView(activeView);
|
|
4095
4792
|
applyWorkflowTab(activeWorkflowTab);
|
|
4096
4793
|
applyAnalyticsTab(activeAnalyticsTab);
|
|
@@ -4098,6 +4795,7 @@ export function renderBacklogHtml() {
|
|
|
4098
4795
|
workflowDisplayModeSelect.value = workflowDisplayMode;
|
|
4099
4796
|
}
|
|
4100
4797
|
initMissionControlUi();
|
|
4798
|
+
liveSync.forceTick('home');
|
|
4101
4799
|
|
|
4102
4800
|
fetch('/api/snapshot')
|
|
4103
4801
|
.then((response) => {
|
|
@@ -4121,7 +4819,16 @@ export function renderBacklogHtml() {
|
|
|
4121
4819
|
.then((data) => {
|
|
4122
4820
|
operatorShellSnapshot = data;
|
|
4123
4821
|
populateCycleFilterOptions();
|
|
4124
|
-
return
|
|
4822
|
+
return fetch('/api/backlog-revision').then((response) => {
|
|
4823
|
+
if (!response.ok) return null;
|
|
4824
|
+
return response.json();
|
|
4825
|
+
}).catch(() => null);
|
|
4826
|
+
})
|
|
4827
|
+
.then((revisionPayload) => {
|
|
4828
|
+
if (revisionPayload?.revision) {
|
|
4829
|
+
backlogRevision = revisionPayload.revision;
|
|
4830
|
+
}
|
|
4831
|
+
return refreshHomeSnapshot().catch(() => undefined).then(() => ensureLazyViewData(activeView).then(() => {
|
|
4125
4832
|
if (activeView === 'architecture') {
|
|
4126
4833
|
renderArchitecturePanels();
|
|
4127
4834
|
}
|
|
@@ -4131,7 +4838,7 @@ export function renderBacklogHtml() {
|
|
|
4131
4838
|
renderArchitecturePanels();
|
|
4132
4839
|
}
|
|
4133
4840
|
render();
|
|
4134
|
-
});
|
|
4841
|
+
}));
|
|
4135
4842
|
})
|
|
4136
4843
|
.catch((error) => {
|
|
4137
4844
|
const message = '<div class="error">Не удалось загрузить срез backlog: ' + escapeHtml(error.message) + '</div>';
|
|
@@ -4192,11 +4899,16 @@ export function renderBacklogHtml() {
|
|
|
4192
4899
|
syncGraphCanvasModeUi();
|
|
4193
4900
|
detailClose.addEventListener('click', closeTaskDetails);
|
|
4194
4901
|
detailOverlay.addEventListener('click', closeTaskDetails);
|
|
4195
|
-
if (detailSubClose) detailSubClose.addEventListener('click',
|
|
4196
|
-
if (detailSubOverlay) detailSubOverlay.addEventListener('click',
|
|
4902
|
+
if (detailSubClose) detailSubClose.addEventListener('click', () => popDetailStackNavigation());
|
|
4903
|
+
if (detailSubOverlay) detailSubOverlay.addEventListener('click', () => closeDetailStackFully());
|
|
4197
4904
|
if (detailSubBody) detailSubBody.addEventListener('click', handleBoardClick);
|
|
4198
4905
|
detailResizeHandle.addEventListener('pointerdown', startDetailDrawerResize);
|
|
4199
4906
|
detailResizeHandle.addEventListener('keydown', handleDetailDrawerResizeKeydown);
|
|
4907
|
+
if (sidebarResizeHandle) {
|
|
4908
|
+
sidebarResizeHandle.addEventListener('pointerdown', startSidebarResize);
|
|
4909
|
+
sidebarResizeHandle.addEventListener('keydown', handleSidebarResizeKeydown);
|
|
4910
|
+
}
|
|
4911
|
+
window.addEventListener('resize', handleSidebarViewportResize);
|
|
4200
4912
|
if (detailSubResizeHandle) {
|
|
4201
4913
|
detailSubResizeHandle.addEventListener('pointerdown', startDetailSubDrawerResize);
|
|
4202
4914
|
detailSubResizeHandle.addEventListener('keydown', handleDetailSubDrawerResizeKeydown);
|
|
@@ -4208,10 +4920,11 @@ export function renderBacklogHtml() {
|
|
|
4208
4920
|
document.addEventListener('keydown', (event) => {
|
|
4209
4921
|
if (event.key !== 'Escape') return;
|
|
4210
4922
|
if (detailSubDrawer?.classList.contains('is-open')) {
|
|
4211
|
-
|
|
4923
|
+
popDetailStackNavigation();
|
|
4212
4924
|
return;
|
|
4213
4925
|
}
|
|
4214
4926
|
if (!detailDrawer.classList.contains('is-open')) return;
|
|
4927
|
+
closeDetailStackFully();
|
|
4215
4928
|
const backButton = document.querySelector('#detail-nav-back');
|
|
4216
4929
|
if (backButton) backButton.click();
|
|
4217
4930
|
else closeTaskDetails();
|
|
@@ -4223,9 +4936,9 @@ export function renderBacklogHtml() {
|
|
|
4223
4936
|
codeGapList.addEventListener('click', handleCodeGapIntakeClick);
|
|
4224
4937
|
navTabs.forEach((tab) => {
|
|
4225
4938
|
tab.addEventListener('click', () => {
|
|
4226
|
-
activeView = ['
|
|
4939
|
+
activeView = ['workflow', 'verification', 'prompts', 'memory', 'analytics', 'board', 'architecture', 'settings'].includes(tab.dataset.view)
|
|
4227
4940
|
? tab.dataset.view
|
|
4228
|
-
: '
|
|
4941
|
+
: 'analytics';
|
|
4229
4942
|
localStorage.setItem(viewStorageKey, activeView);
|
|
4230
4943
|
applyView(activeView);
|
|
4231
4944
|
ensureLazyViewData(activeView).then(() => {
|
|
@@ -4275,11 +4988,68 @@ export function renderBacklogHtml() {
|
|
|
4275
4988
|
renderAnalyticsPanel();
|
|
4276
4989
|
});
|
|
4277
4990
|
});
|
|
4278
|
-
|
|
4279
|
-
|
|
4280
|
-
|
|
4281
|
-
|
|
4282
|
-
|
|
4991
|
+
if (themeToggle) {
|
|
4992
|
+
themeToggle.addEventListener('click', () => {
|
|
4993
|
+
const nextTheme = document.body.dataset.theme === 'light' ? 'dark' : 'light';
|
|
4994
|
+
applyTheme(nextTheme);
|
|
4995
|
+
localStorage.setItem(themeStorageKey, nextTheme);
|
|
4996
|
+
});
|
|
4997
|
+
}
|
|
4998
|
+
|
|
4999
|
+
if (settingsThemeLight) {
|
|
5000
|
+
settingsThemeLight.addEventListener('click', () => {
|
|
5001
|
+
applyTheme('light');
|
|
5002
|
+
localStorage.setItem(themeStorageKey, 'light');
|
|
5003
|
+
});
|
|
5004
|
+
}
|
|
5005
|
+
if (settingsThemeDark) {
|
|
5006
|
+
settingsThemeDark.addEventListener('click', () => {
|
|
5007
|
+
applyTheme('dark');
|
|
5008
|
+
localStorage.setItem(themeStorageKey, 'dark');
|
|
5009
|
+
});
|
|
5010
|
+
}
|
|
5011
|
+
if (settingsLocaleButtons.length) {
|
|
5012
|
+
function applySettingsLocaleUi(nextLocale) {
|
|
5013
|
+
settingsLocaleButtons.forEach((button) => {
|
|
5014
|
+
const isActive = button.dataset.settingsLocale === nextLocale;
|
|
5015
|
+
button.classList.toggle('is-active', isActive);
|
|
5016
|
+
button.setAttribute('aria-pressed', String(isActive));
|
|
5017
|
+
});
|
|
5018
|
+
}
|
|
5019
|
+
|
|
5020
|
+
function setUiLocale(nextLocale) {
|
|
5021
|
+
if (!nextLocale || nextLocale === window.__WG_LOCALE__) return;
|
|
5022
|
+
fetch('/api/ui-locale', {
|
|
5023
|
+
method: 'POST',
|
|
5024
|
+
headers: { 'content-type': 'application/json' },
|
|
5025
|
+
body: JSON.stringify({ locale: nextLocale }),
|
|
5026
|
+
}).then((response) => {
|
|
5027
|
+
if (!response.ok) throw new Error('locale ' + response.status);
|
|
5028
|
+
window.location.reload();
|
|
5029
|
+
}).catch(() => {
|
|
5030
|
+
window.alert(t('settings.language.changeFailed'));
|
|
5031
|
+
});
|
|
5032
|
+
}
|
|
5033
|
+
|
|
5034
|
+
settingsLocaleButtons.forEach((button) => {
|
|
5035
|
+
button.addEventListener('click', () => {
|
|
5036
|
+
setUiLocale(button.dataset.settingsLocale);
|
|
5037
|
+
});
|
|
5038
|
+
});
|
|
5039
|
+
applySettingsLocaleUi(window.__WG_LOCALE__);
|
|
5040
|
+
}
|
|
5041
|
+
if (settingsCheckUpdate) {
|
|
5042
|
+
settingsCheckUpdate.addEventListener('click', () => {
|
|
5043
|
+
settingsCheckUpdate.disabled = true;
|
|
5044
|
+
if (settingsUpdateStatus) {
|
|
5045
|
+
settingsUpdateStatus.hidden = false;
|
|
5046
|
+
settingsUpdateStatus.textContent = t('settings.about.checking');
|
|
5047
|
+
}
|
|
5048
|
+
renderSettingsPanel({ checkUpdate: true }).finally(() => {
|
|
5049
|
+
settingsCheckUpdate.disabled = false;
|
|
5050
|
+
});
|
|
5051
|
+
});
|
|
5052
|
+
}
|
|
4283
5053
|
|
|
4284
5054
|
function readStoredTheme() {
|
|
4285
5055
|
return localStorage.getItem(themeStorageKey) === 'dark' ? 'dark' : 'light';
|
|
@@ -4294,12 +5064,12 @@ export function renderBacklogHtml() {
|
|
|
4294
5064
|
return storedView === 'architecture' ? 'architecture' : 'workflow';
|
|
4295
5065
|
}
|
|
4296
5066
|
if (storedView === 'home') {
|
|
4297
|
-
return '
|
|
5067
|
+
return 'analytics';
|
|
4298
5068
|
}
|
|
4299
|
-
if (['workflow', 'verification', 'prompts', 'memory', 'analytics', 'board', 'architecture'].includes(storedView)) {
|
|
5069
|
+
if (['workflow', 'verification', 'prompts', 'memory', 'analytics', 'board', 'architecture', 'settings'].includes(storedView)) {
|
|
4300
5070
|
return storedView;
|
|
4301
5071
|
}
|
|
4302
|
-
return '
|
|
5072
|
+
return 'analytics';
|
|
4303
5073
|
}
|
|
4304
5074
|
|
|
4305
5075
|
function readStoredWorkflowTab() {
|
|
@@ -4378,12 +5148,30 @@ export function renderBacklogHtml() {
|
|
|
4378
5148
|
return 'intake';
|
|
4379
5149
|
}
|
|
4380
5150
|
|
|
5151
|
+
function getPanelSearchQuery() {
|
|
5152
|
+
const raw = search.value.trim();
|
|
5153
|
+
if (!raw) {
|
|
5154
|
+
return '';
|
|
5155
|
+
}
|
|
5156
|
+
|
|
5157
|
+
const normalized = raw.toLowerCase();
|
|
5158
|
+
if (activeView === 'memory' && normalized.startsWith('work:')) {
|
|
5159
|
+
return normalized;
|
|
5160
|
+
}
|
|
5161
|
+
|
|
5162
|
+
if (activeView === 'board' || activeView === 'workflow') {
|
|
5163
|
+
return normalized;
|
|
5164
|
+
}
|
|
5165
|
+
|
|
5166
|
+
return '';
|
|
5167
|
+
}
|
|
5168
|
+
|
|
4381
5169
|
function getFilteredItems() {
|
|
4382
5170
|
if (!snapshot) {
|
|
4383
5171
|
return [];
|
|
4384
5172
|
}
|
|
4385
5173
|
|
|
4386
|
-
const query =
|
|
5174
|
+
const query = getPanelSearchQuery();
|
|
4387
5175
|
let items = snapshot.items.filter((item) => matchesQuery(item, query));
|
|
4388
5176
|
if (semanticSearchWorkIds && semanticSearchWorkIds.size > 0) {
|
|
4389
5177
|
items = items.filter((item) => semanticSearchWorkIds.has(item.id));
|
|
@@ -4426,6 +5214,77 @@ export function renderBacklogHtml() {
|
|
|
4426
5214
|
}, 250);
|
|
4427
5215
|
}
|
|
4428
5216
|
|
|
5217
|
+
function maxSidebarWidth() {
|
|
5218
|
+
return Math.max(SIDEBAR_WIDTH_MIN, Math.min(SIDEBAR_WIDTH_MAX, window.innerWidth - 160));
|
|
5219
|
+
}
|
|
5220
|
+
|
|
5221
|
+
function clampSidebarWidth(width) {
|
|
5222
|
+
return Math.max(SIDEBAR_WIDTH_MIN, Math.min(maxSidebarWidth(), Number(width) || SIDEBAR_WIDTH_DEFAULT));
|
|
5223
|
+
}
|
|
5224
|
+
|
|
5225
|
+
function readStoredSidebarWidth() {
|
|
5226
|
+
const raw = Number(localStorage.getItem(sidebarWidthStorageKey));
|
|
5227
|
+
return Number.isFinite(raw) ? raw : SIDEBAR_WIDTH_DEFAULT;
|
|
5228
|
+
}
|
|
5229
|
+
|
|
5230
|
+
function getSidebarWidth() {
|
|
5231
|
+
const raw = getComputedStyle(document.documentElement).getPropertyValue('--sidebar-width').trim();
|
|
5232
|
+
const parsed = Number.parseFloat(raw);
|
|
5233
|
+
return Number.isFinite(parsed) && parsed > 0 ? parsed : readStoredSidebarWidth();
|
|
5234
|
+
}
|
|
5235
|
+
|
|
5236
|
+
function applySidebarWidth(width, { persist = true } = {}) {
|
|
5237
|
+
const clamped = clampSidebarWidth(width);
|
|
5238
|
+
document.documentElement.style.setProperty('--sidebar-width', clamped + 'px');
|
|
5239
|
+
document.documentElement.classList.toggle('is-sidebar-compact', clamped <= SIDEBAR_COMPACT_UI_MAX);
|
|
5240
|
+
if (sidebarResizeHandle) {
|
|
5241
|
+
sidebarResizeHandle.setAttribute('aria-valuenow', String(Math.round(clamped)));
|
|
5242
|
+
}
|
|
5243
|
+
if (persist) {
|
|
5244
|
+
localStorage.setItem(sidebarWidthStorageKey, String(Math.round(clamped)));
|
|
5245
|
+
}
|
|
5246
|
+
}
|
|
5247
|
+
|
|
5248
|
+
function applyStoredSidebarWidth() {
|
|
5249
|
+
applySidebarWidth(readStoredSidebarWidth(), { persist: false });
|
|
5250
|
+
}
|
|
5251
|
+
|
|
5252
|
+
function handleSidebarViewportResize() {
|
|
5253
|
+
applySidebarWidth(getSidebarWidth(), { persist: true });
|
|
5254
|
+
}
|
|
5255
|
+
|
|
5256
|
+
function startSidebarResize(event) {
|
|
5257
|
+
if (!sidebarResizeHandle) return;
|
|
5258
|
+
event.preventDefault();
|
|
5259
|
+
sidebarResizeHandle.setPointerCapture?.(event.pointerId);
|
|
5260
|
+
document.body.classList.add('is-resizing-sidebar');
|
|
5261
|
+
const onPointerMove = (moveEvent) => {
|
|
5262
|
+
applySidebarWidth(moveEvent.clientX, { persist: false });
|
|
5263
|
+
};
|
|
5264
|
+
const onPointerUp = (upEvent) => {
|
|
5265
|
+
document.body.classList.remove('is-resizing-sidebar');
|
|
5266
|
+
applySidebarWidth(upEvent.clientX, { persist: true });
|
|
5267
|
+
sidebarResizeHandle.releasePointerCapture?.(event.pointerId);
|
|
5268
|
+
window.removeEventListener('pointermove', onPointerMove);
|
|
5269
|
+
window.removeEventListener('pointerup', onPointerUp);
|
|
5270
|
+
window.removeEventListener('pointercancel', onPointerUp);
|
|
5271
|
+
};
|
|
5272
|
+
window.addEventListener('pointermove', onPointerMove);
|
|
5273
|
+
window.addEventListener('pointerup', onPointerUp);
|
|
5274
|
+
window.addEventListener('pointercancel', onPointerUp);
|
|
5275
|
+
}
|
|
5276
|
+
|
|
5277
|
+
function handleSidebarResizeKeydown(event) {
|
|
5278
|
+
if (!sidebarResizeHandle || !['ArrowLeft', 'ArrowRight', 'Home', 'End'].includes(event.key)) return;
|
|
5279
|
+
event.preventDefault();
|
|
5280
|
+
const step = event.shiftKey ? 48 : 16;
|
|
5281
|
+
const current = getSidebarWidth();
|
|
5282
|
+
if (event.key === 'ArrowLeft') applySidebarWidth(current + step);
|
|
5283
|
+
if (event.key === 'ArrowRight') applySidebarWidth(current - step);
|
|
5284
|
+
if (event.key === 'Home') applySidebarWidth(SIDEBAR_WIDTH_MIN);
|
|
5285
|
+
if (event.key === 'End') applySidebarWidth(maxSidebarWidth());
|
|
5286
|
+
}
|
|
5287
|
+
|
|
4429
5288
|
function readStoredDetailDrawerWidth() {
|
|
4430
5289
|
const raw = Number(localStorage.getItem(detailDrawerWidthStorageKey));
|
|
4431
5290
|
return Number.isFinite(raw) ? raw : 720;
|
|
@@ -4561,9 +5420,66 @@ export function renderBacklogHtml() {
|
|
|
4561
5420
|
document.documentElement.dataset.iohascTheme = 'workgraph-dark';
|
|
4562
5421
|
document.body.dataset.theme = theme;
|
|
4563
5422
|
const isDark = theme === 'dark';
|
|
4564
|
-
themeToggle
|
|
4565
|
-
|
|
4566
|
-
|
|
5423
|
+
if (themeToggle) {
|
|
5424
|
+
const inner = themeToggle.querySelector('.header-theme-toggle-inner');
|
|
5425
|
+
if (inner) {
|
|
5426
|
+
inner.innerHTML = isDark ? THEME_ICON_SUN : THEME_ICON_MOON;
|
|
5427
|
+
}
|
|
5428
|
+
themeToggle.setAttribute('aria-pressed', String(isDark));
|
|
5429
|
+
themeToggle.setAttribute('aria-label', t(isDark ? 'theme.light' : 'theme.dark'));
|
|
5430
|
+
}
|
|
5431
|
+
if (settingsThemeLight) {
|
|
5432
|
+
settingsThemeLight.classList.toggle('is-active', theme === 'light');
|
|
5433
|
+
}
|
|
5434
|
+
if (settingsThemeDark) {
|
|
5435
|
+
settingsThemeDark.classList.toggle('is-active', theme === 'dark');
|
|
5436
|
+
}
|
|
5437
|
+
}
|
|
5438
|
+
|
|
5439
|
+
async function loadSettingsVersionInfo(checkUpdate) {
|
|
5440
|
+
const query = checkUpdate ? '?checkUpdate=1' : '';
|
|
5441
|
+
const response = await fetch('/api/app-version' + query);
|
|
5442
|
+
if (!response.ok) {
|
|
5443
|
+
throw new Error('app-version ' + response.status);
|
|
5444
|
+
}
|
|
5445
|
+
return response.json();
|
|
5446
|
+
}
|
|
5447
|
+
|
|
5448
|
+
async function renderSettingsPanel(options = {}) {
|
|
5449
|
+
if (!settingsView) return;
|
|
5450
|
+
try {
|
|
5451
|
+
const info = await loadSettingsVersionInfo(options.checkUpdate === true);
|
|
5452
|
+
if (settingsVersionValue) {
|
|
5453
|
+
settingsVersionValue.textContent = info.version + ' · ' + info.npmPackage;
|
|
5454
|
+
}
|
|
5455
|
+
if (!settingsUpdateStatus) return;
|
|
5456
|
+
if (options.checkUpdate !== true) {
|
|
5457
|
+
settingsUpdateStatus.hidden = true;
|
|
5458
|
+
if (settingsInstallCommand) settingsInstallCommand.hidden = true;
|
|
5459
|
+
return;
|
|
5460
|
+
}
|
|
5461
|
+
settingsUpdateStatus.hidden = false;
|
|
5462
|
+
if (info.checkError) {
|
|
5463
|
+
settingsUpdateStatus.textContent = t('settings.about.checkFailed');
|
|
5464
|
+
if (settingsInstallCommand) settingsInstallCommand.hidden = true;
|
|
5465
|
+
return;
|
|
5466
|
+
}
|
|
5467
|
+
if (info.updateAvailable) {
|
|
5468
|
+
settingsUpdateStatus.textContent = t('settings.about.updateAvailable', { latest: info.latestVersion });
|
|
5469
|
+
if (settingsInstallCommand) {
|
|
5470
|
+
settingsInstallCommand.hidden = false;
|
|
5471
|
+
settingsInstallCommand.textContent = t('settings.about.installHint') + ' ' + info.installCommand;
|
|
5472
|
+
}
|
|
5473
|
+
return;
|
|
5474
|
+
}
|
|
5475
|
+
settingsUpdateStatus.textContent = t('settings.about.upToDate');
|
|
5476
|
+
if (settingsInstallCommand) settingsInstallCommand.hidden = true;
|
|
5477
|
+
} catch (error) {
|
|
5478
|
+
if (settingsUpdateStatus && options.checkUpdate === true) {
|
|
5479
|
+
settingsUpdateStatus.hidden = false;
|
|
5480
|
+
settingsUpdateStatus.textContent = t('settings.about.checkFailed');
|
|
5481
|
+
}
|
|
5482
|
+
}
|
|
4567
5483
|
}
|
|
4568
5484
|
|
|
4569
5485
|
function remountActiveGraphWorkspace() {
|
|
@@ -4581,9 +5497,6 @@ export function renderBacklogHtml() {
|
|
|
4581
5497
|
const response = await fetch('/api/home-snapshot' + query);
|
|
4582
5498
|
if (!response.ok) throw new Error('home snapshot ' + response.status);
|
|
4583
5499
|
homeSnapshot = await response.json();
|
|
4584
|
-
if (activeView === 'home' && homeMissionControlRoot) {
|
|
4585
|
-
renderHomeMissionControl(homeMissionControlRoot, homeSnapshot);
|
|
4586
|
-
}
|
|
4587
5500
|
cmdKRows = buildCommandPaletteIndex(snapshot, analyticsProjection);
|
|
4588
5501
|
return homeSnapshot;
|
|
4589
5502
|
}
|
|
@@ -4629,18 +5542,14 @@ export function renderBacklogHtml() {
|
|
|
4629
5542
|
}
|
|
4630
5543
|
|
|
4631
5544
|
function stopAgentScopePoll() {
|
|
4632
|
-
|
|
4633
|
-
window.clearInterval(agentScopePollTimer);
|
|
4634
|
-
agentScopePollTimer = null;
|
|
4635
|
-
}
|
|
5545
|
+
liveSync.sync();
|
|
4636
5546
|
}
|
|
4637
5547
|
|
|
4638
5548
|
function startAgentScopePoll() {
|
|
4639
|
-
|
|
4640
|
-
|
|
4641
|
-
|
|
4642
|
-
|
|
4643
|
-
);
|
|
5549
|
+
liveSync.sync();
|
|
5550
|
+
if (agentRunDock?.classList.contains('is-open')) {
|
|
5551
|
+
liveSync.forceTick('agent-scope');
|
|
5552
|
+
}
|
|
4644
5553
|
}
|
|
4645
5554
|
|
|
4646
5555
|
function setAgentDockOpen(open) {
|
|
@@ -4650,16 +5559,11 @@ export function renderBacklogHtml() {
|
|
|
4650
5559
|
localStorage.setItem(agentDockOpenStorageKey, open ? '1' : '0');
|
|
4651
5560
|
if (open) {
|
|
4652
5561
|
refreshAgentRunDock().catch(() => undefined);
|
|
4653
|
-
|
|
4654
|
-
|
|
4655
|
-
|
|
4656
|
-
startAgentScopePoll();
|
|
5562
|
+
liveSync.sync();
|
|
5563
|
+
liveSync.forceTick('agent-dock');
|
|
5564
|
+
liveSync.forceTick('agent-scope');
|
|
4657
5565
|
} else {
|
|
4658
|
-
|
|
4659
|
-
window.clearInterval(agentDockPollTimer);
|
|
4660
|
-
agentDockPollTimer = null;
|
|
4661
|
-
}
|
|
4662
|
-
stopAgentScopePoll();
|
|
5566
|
+
liveSync.sync();
|
|
4663
5567
|
}
|
|
4664
5568
|
}
|
|
4665
5569
|
|
|
@@ -4777,19 +5681,6 @@ export function renderBacklogHtml() {
|
|
|
4777
5681
|
if (localStorage.getItem(agentDockOpenStorageKey) === '1') {
|
|
4778
5682
|
setAgentDockOpen(true);
|
|
4779
5683
|
}
|
|
4780
|
-
if (homeMissionControlRoot) {
|
|
4781
|
-
homeMissionControlRoot.addEventListener('click', (event) => {
|
|
4782
|
-
const row = event.target.closest('[data-work-id], [data-analytics-key]');
|
|
4783
|
-
if (!row) return;
|
|
4784
|
-
const analyticsKey = row.getAttribute('data-analytics-key');
|
|
4785
|
-
if (analyticsKey) {
|
|
4786
|
-
handleHomeAnalyticsClick(analyticsKey).catch(() => undefined);
|
|
4787
|
-
return;
|
|
4788
|
-
}
|
|
4789
|
-
const workId = row.getAttribute('data-work-id');
|
|
4790
|
-
if (workId) handleHomeWorkItemClick(workId).catch(() => undefined);
|
|
4791
|
-
});
|
|
4792
|
-
}
|
|
4793
5684
|
if (agentRunDockClose) {
|
|
4794
5685
|
agentRunDockClose.addEventListener('click', () => setAgentDockOpen(false));
|
|
4795
5686
|
}
|
|
@@ -4862,15 +5753,9 @@ export function renderBacklogHtml() {
|
|
|
4862
5753
|
openCommandPalette();
|
|
4863
5754
|
}
|
|
4864
5755
|
});
|
|
4865
|
-
if (!homePollTimer) {
|
|
4866
|
-
homePollTimer = window.setInterval(() => {
|
|
4867
|
-
if (activeView === 'home') refreshHomeSnapshot().catch(() => undefined);
|
|
4868
|
-
}, 30000);
|
|
4869
|
-
}
|
|
4870
5756
|
}
|
|
4871
5757
|
|
|
4872
5758
|
function applyView(view) {
|
|
4873
|
-
const isHome = view === 'home';
|
|
4874
5759
|
const isWorkflow = view === 'workflow';
|
|
4875
5760
|
const isVerification = view === 'verification';
|
|
4876
5761
|
const isArchitecture = view === 'architecture';
|
|
@@ -4878,6 +5763,7 @@ export function renderBacklogHtml() {
|
|
|
4878
5763
|
const isPrompts = view === 'prompts';
|
|
4879
5764
|
const isMemory = view === 'memory';
|
|
4880
5765
|
const isAnalytics = view === 'analytics';
|
|
5766
|
+
const isSettings = view === 'settings';
|
|
4881
5767
|
if (contentRoot) {
|
|
4882
5768
|
contentRoot.classList.remove('is-graph-workspace');
|
|
4883
5769
|
}
|
|
@@ -4885,9 +5771,8 @@ export function renderBacklogHtml() {
|
|
|
4885
5771
|
if (workflowDisplayModeSelect) {
|
|
4886
5772
|
workflowDisplayModeSelect.hidden = !isWorkflow;
|
|
4887
5773
|
}
|
|
4888
|
-
if (viewToolbar) viewToolbar.hidden =
|
|
4889
|
-
|
|
4890
|
-
boardView.hidden = isHome || isWorkflow || isVerification || isIntent || isPrompts || isMemory || isAnalytics || isArchitecture;
|
|
5774
|
+
if (viewToolbar) viewToolbar.hidden = !(view === 'board' || isWorkflow);
|
|
5775
|
+
boardView.hidden = isWorkflow || isVerification || isIntent || isPrompts || isMemory || isAnalytics || isArchitecture || isSettings;
|
|
4891
5776
|
workflowView.hidden = !isWorkflow;
|
|
4892
5777
|
if (isWorkflow) {
|
|
4893
5778
|
applyWorkflowTab(activeWorkflowTab);
|
|
@@ -4897,6 +5782,7 @@ export function renderBacklogHtml() {
|
|
|
4897
5782
|
promptsView.hidden = !isPrompts;
|
|
4898
5783
|
memoryView.hidden = !isMemory;
|
|
4899
5784
|
analyticsView.hidden = !isAnalytics;
|
|
5785
|
+
if (settingsView) settingsView.hidden = !isSettings;
|
|
4900
5786
|
if (architectureView) architectureView.hidden = !isArchitecture;
|
|
4901
5787
|
if (isArchitecture) {
|
|
4902
5788
|
renderArchitecturePanels();
|
|
@@ -4904,17 +5790,20 @@ export function renderBacklogHtml() {
|
|
|
4904
5790
|
if (isAnalytics) {
|
|
4905
5791
|
applyAnalyticsTab(activeAnalyticsTab);
|
|
4906
5792
|
}
|
|
5793
|
+
if (isSettings) {
|
|
5794
|
+
renderSettingsPanel().catch(() => undefined);
|
|
5795
|
+
}
|
|
4907
5796
|
const viewCopy = {
|
|
4908
|
-
|
|
4909
|
-
|
|
4910
|
-
|
|
4911
|
-
|
|
4912
|
-
|
|
4913
|
-
|
|
4914
|
-
|
|
4915
|
-
|
|
5797
|
+
board: t('view.board'),
|
|
5798
|
+
workflow: t('view.workflow'),
|
|
5799
|
+
architecture: t('view.architecture'),
|
|
5800
|
+
verification: t('view.verification'),
|
|
5801
|
+
prompts: t('view.prompts'),
|
|
5802
|
+
memory: t('view.memory'),
|
|
5803
|
+
analytics: t('view.analytics'),
|
|
5804
|
+
settings: t('view.settings'),
|
|
4916
5805
|
};
|
|
4917
|
-
const title = viewCopy[view] ?? viewCopy.
|
|
5806
|
+
const title = viewCopy[view] ?? viewCopy.analytics;
|
|
4918
5807
|
viewTitle.textContent = title;
|
|
4919
5808
|
if (breadcrumbProject) {
|
|
4920
5809
|
breadcrumbProject.textContent = 'Work Graph';
|
|
@@ -4922,13 +5811,110 @@ export function renderBacklogHtml() {
|
|
|
4922
5811
|
navTabs.forEach((tab) => {
|
|
4923
5812
|
tab.setAttribute('aria-selected', String(tab.dataset.view === view));
|
|
4924
5813
|
});
|
|
5814
|
+
syncLivePollInterval();
|
|
5815
|
+
}
|
|
5816
|
+
|
|
5817
|
+
async function pollBacklogRevision() {
|
|
5818
|
+
if (!liveSyncViews.has(activeView)) {
|
|
5819
|
+
return;
|
|
5820
|
+
}
|
|
5821
|
+
try {
|
|
5822
|
+
const response = await fetch('/api/backlog-revision');
|
|
5823
|
+
if (!response.ok) return;
|
|
5824
|
+
const payload = await response.json();
|
|
5825
|
+
if (backlogRevision && payload.revision !== backlogRevision) {
|
|
5826
|
+
const prevKanbanProjection = operatorShellSnapshot?.kanbanBoard ?? null;
|
|
5827
|
+
await reloadOperatorSnapshots();
|
|
5828
|
+
let patched = false;
|
|
5829
|
+
if (activeView === 'board' && prevKanbanProjection) {
|
|
5830
|
+
patched = patchKanbanBoardIncremental(prevKanbanProjection);
|
|
5831
|
+
}
|
|
5832
|
+
if (!patched) {
|
|
5833
|
+
render();
|
|
5834
|
+
} else {
|
|
5835
|
+
const items = getFilteredItems();
|
|
5836
|
+
renderIntentDomainFilter();
|
|
5837
|
+
renderNavigationCounts(items);
|
|
5838
|
+
renderBoard(items);
|
|
5839
|
+
}
|
|
5840
|
+
await reconcileDetailDrawerOnRemotePatch();
|
|
5841
|
+
}
|
|
5842
|
+
backlogRevision = payload.revision;
|
|
5843
|
+
} catch {
|
|
5844
|
+
// ignore transient poll errors
|
|
5845
|
+
}
|
|
5846
|
+
}
|
|
5847
|
+
|
|
5848
|
+
function patchKanbanBoardIncremental(prevProjection) {
|
|
5849
|
+
if (!kanbanBoard || !prevProjection) {
|
|
5850
|
+
return false;
|
|
5851
|
+
}
|
|
5852
|
+
const nextProjection = operatorShellSnapshot?.kanbanBoard ?? null;
|
|
5853
|
+
if (!nextProjection) {
|
|
5854
|
+
return false;
|
|
5855
|
+
}
|
|
5856
|
+
const delta = computeKanbanBoardDelta(prevProjection, nextProjection);
|
|
5857
|
+
if (delta.fullRender) {
|
|
5858
|
+
return false;
|
|
5859
|
+
}
|
|
5860
|
+
const itemsById = new Map((snapshot?.items ?? []).map((item) => [item.id, item]));
|
|
5861
|
+
const result = applyKanbanBoardPatch(kanbanBoard, delta, {
|
|
5862
|
+
renderCard: (item, options) => renderTaskAtomCard(item, 'kanban-card', options),
|
|
5863
|
+
emptyColumnHtml: '<div class="empty">' + escapeHtml(t('empty.noTasks')) + '</div>',
|
|
5864
|
+
itemsById,
|
|
5865
|
+
});
|
|
5866
|
+
return result.ok === true;
|
|
5867
|
+
}
|
|
5868
|
+
|
|
5869
|
+
async function reconcileDetailDrawerOnRemotePatch() {
|
|
5870
|
+
const l1Open = detailDrawer.classList.contains('is-open');
|
|
5871
|
+
const l2Open = detailSubDrawer?.classList.contains('is-open');
|
|
5872
|
+
if (!l1Open && !l2Open) {
|
|
5873
|
+
return;
|
|
5874
|
+
}
|
|
5875
|
+
|
|
5876
|
+
async function refreshTaskDrawerBody(body, workId, mode) {
|
|
5877
|
+
const item = snapshot?.items?.find((candidate) => candidate.id === workId);
|
|
5878
|
+
if (!item || mode === 'edit') {
|
|
5879
|
+
return;
|
|
5880
|
+
}
|
|
5881
|
+
const storedStatus = body.dataset.remoteStatus ?? '';
|
|
5882
|
+
if (storedStatus && storedStatus !== item.status) {
|
|
5883
|
+
await renderTaskDetailContent(item, {
|
|
5884
|
+
parentContext: detailContext?.parent ?? null,
|
|
5885
|
+
mode: 'view',
|
|
5886
|
+
targetBody: body,
|
|
5887
|
+
subDrawer: body !== detailBody,
|
|
5888
|
+
});
|
|
5889
|
+
const banner = '<div class="detail-remote-update-banner" data-testid="detail-remote-update-banner">' +
|
|
5890
|
+
escapeHtml(t('drawer.remoteUpdate')) + '</div>';
|
|
5891
|
+
if (!body.querySelector('[data-testid="detail-remote-update-banner"]')) {
|
|
5892
|
+
body.insertAdjacentHTML('afterbegin', banner);
|
|
5893
|
+
}
|
|
5894
|
+
}
|
|
5895
|
+
body.dataset.remoteStatus = item.status;
|
|
5896
|
+
}
|
|
5897
|
+
|
|
5898
|
+
if (l1Open && detailContext?.type === 'task' && detailContext.taskId) {
|
|
5899
|
+
await refreshTaskDrawerBody(detailBody, detailContext.taskId, detailInspectorState?.mode ?? 'view');
|
|
5900
|
+
}
|
|
5901
|
+
if (l2Open && detailStack.depth() > 0) {
|
|
5902
|
+
const top = detailStack.peek();
|
|
5903
|
+
if (top?.type === 'task' && top.payload?.workId && detailSubBody) {
|
|
5904
|
+
await refreshTaskDrawerBody(detailSubBody, top.payload.workId, 'view');
|
|
5905
|
+
}
|
|
5906
|
+
}
|
|
5907
|
+
}
|
|
5908
|
+
|
|
5909
|
+
function syncLivePollInterval() {
|
|
5910
|
+
liveSync.sync();
|
|
5911
|
+
if (liveSyncViews.has(activeView)) {
|
|
5912
|
+
liveSync.forceTick('backlog-revision');
|
|
5913
|
+
}
|
|
4925
5914
|
}
|
|
4926
5915
|
|
|
4927
5916
|
function render() {
|
|
4928
5917
|
if (!snapshot) return;
|
|
4929
|
-
if (activeView === 'home' && homeMissionControlRoot && homeSnapshot) {
|
|
4930
|
-
renderHomeMissionControl(homeMissionControlRoot, homeSnapshot);
|
|
4931
|
-
}
|
|
4932
5918
|
const items = getFilteredItems();
|
|
4933
5919
|
renderIntentDomainFilter();
|
|
4934
5920
|
renderNavigationCounts(items);
|
|
@@ -4944,12 +5930,6 @@ export function renderBacklogHtml() {
|
|
|
4944
5930
|
}
|
|
4945
5931
|
|
|
4946
5932
|
function ensureLazyViewData(view) {
|
|
4947
|
-
if (view === 'home' && !homePanelLoaded) {
|
|
4948
|
-
return refreshHomeSnapshot().then(() => {
|
|
4949
|
-
homePanelLoaded = true;
|
|
4950
|
-
});
|
|
4951
|
-
}
|
|
4952
|
-
|
|
4953
5933
|
if (view === 'prompts' && !promptsPanelLoaded) {
|
|
4954
5934
|
return fetch('/api/prompt-rules-projection').then((response) => {
|
|
4955
5935
|
if (!response.ok) throw new Error('запрос prompt rules projection завершился с кодом ' + response.status);
|
|
@@ -5303,7 +6283,7 @@ export function renderBacklogHtml() {
|
|
|
5303
6283
|
return;
|
|
5304
6284
|
}
|
|
5305
6285
|
|
|
5306
|
-
const query =
|
|
6286
|
+
const query = getPanelSearchQuery();
|
|
5307
6287
|
const rules = (promptsProjection.rules ?? []).filter((rule) => matchesPromptRuleQuery(rule, query));
|
|
5308
6288
|
const summary = promptsProjection.summary ?? { total: 0, valid: 0, invalid: 0 };
|
|
5309
6289
|
|
|
@@ -5370,7 +6350,7 @@ export function renderBacklogHtml() {
|
|
|
5370
6350
|
return;
|
|
5371
6351
|
}
|
|
5372
6352
|
|
|
5373
|
-
const query =
|
|
6353
|
+
const query = getPanelSearchQuery();
|
|
5374
6354
|
const records = (memoryProjection.records ?? []).filter((record) => matchesMemoryRecordQuery(record, query));
|
|
5375
6355
|
const summary = memoryProjection.summary ?? { total: 0, reviewRequired: 0 };
|
|
5376
6356
|
|
|
@@ -5391,7 +6371,7 @@ export function renderBacklogHtml() {
|
|
|
5391
6371
|
escapeHtml((record.relatedFiles ?? []).join(', ') || 'no related files'),
|
|
5392
6372
|
],
|
|
5393
6373
|
footerLeft: '<span class="id">' + escapeHtml(record.id) + '</span>',
|
|
5394
|
-
footerRight:
|
|
6374
|
+
footerRight: renderOwnerAvatar(owner, { title: owner }),
|
|
5395
6375
|
selected: selectedMemoryRecordId === record.id,
|
|
5396
6376
|
attrs: { 'data-memory-record-id': record.id },
|
|
5397
6377
|
});
|
|
@@ -5474,7 +6454,7 @@ export function renderBacklogHtml() {
|
|
|
5474
6454
|
return;
|
|
5475
6455
|
}
|
|
5476
6456
|
|
|
5477
|
-
const query =
|
|
6457
|
+
const query = getPanelSearchQuery();
|
|
5478
6458
|
const queryMatched = (analyticsProjection.records ?? []).filter((record) => matchesAnalyticsRecordQuery(record, query));
|
|
5479
6459
|
const intakeRecords = queryMatched.filter((record) => readAnalyticsRecordKind(record) === 'intake');
|
|
5480
6460
|
const closingRecords = queryMatched.filter((record) => readAnalyticsRecordKind(record) === 'closing');
|
|
@@ -5508,14 +6488,15 @@ export function renderBacklogHtml() {
|
|
|
5508
6488
|
const kindLine = isClosing
|
|
5509
6489
|
? 'closing · post-mortem' + epicNote
|
|
5510
6490
|
: escapeHtml(record.topic) + ' · ' + escapeHtml(record.status);
|
|
6491
|
+
const lineageBadge = buildAnalyticsLineageListBadge(record);
|
|
5511
6492
|
return renderListRow({
|
|
5512
6493
|
title: record.title,
|
|
5513
6494
|
lines: [
|
|
5514
6495
|
kindLine + ' · ' + escapeHtml((record.tags ?? []).filter((tag) => tag !== 'closing-analysis').join(', ') || 'no tags'),
|
|
5515
6496
|
escapeHtml(queryPreview + (String(record.query ?? '').length > 120 ? '…' : '')),
|
|
5516
6497
|
],
|
|
5517
|
-
footerLeft: '<span class="id">' + escapeHtml(record.key || record.id) + relatedNote + '</span>',
|
|
5518
|
-
footerRight:
|
|
6498
|
+
footerLeft: '<span class="id">' + escapeHtml(record.key || record.id) + relatedNote + lineageBadge + '</span>',
|
|
6499
|
+
footerRight: renderOwnerAvatar(record.author || 'operator', { title: record.author || 'operator' }),
|
|
5519
6500
|
selected: selectedAnalyticsRecordId === record.id,
|
|
5520
6501
|
attrs: { 'data-analytics-record-id': record.id },
|
|
5521
6502
|
});
|
|
@@ -5540,6 +6521,84 @@ export function renderBacklogHtml() {
|
|
|
5540
6521
|
openAnalyticsRecordDetails(record);
|
|
5541
6522
|
}
|
|
5542
6523
|
|
|
6524
|
+
function buildAnalyticsLineageListBadge(record) {
|
|
6525
|
+
const lineage = record.analyticsLineage;
|
|
6526
|
+
if (!lineage) {
|
|
6527
|
+
return '';
|
|
6528
|
+
}
|
|
6529
|
+
|
|
6530
|
+
const parts = [];
|
|
6531
|
+
if (lineage.parent && lineage.parent.key) {
|
|
6532
|
+
parts.push('↳ ' + escapeHtml(lineage.parent.key));
|
|
6533
|
+
}
|
|
6534
|
+
|
|
6535
|
+
const continuationCount = Array.isArray(lineage.continuations) ? lineage.continuations.length : 0;
|
|
6536
|
+
if (continuationCount > 0) {
|
|
6537
|
+
const suffix = continuationCount === 1
|
|
6538
|
+
? 'продолжение'
|
|
6539
|
+
: (continuationCount < 5 ? 'продолжения' : 'продолжений');
|
|
6540
|
+
parts.push(continuationCount + ' ' + suffix);
|
|
6541
|
+
}
|
|
6542
|
+
|
|
6543
|
+
if (parts.length === 0) {
|
|
6544
|
+
return '';
|
|
6545
|
+
}
|
|
6546
|
+
|
|
6547
|
+
return ' · <span class="analytics-lineage-badge" data-testid="analytics-lineage-badge">' + parts.join(' · ') + '</span>';
|
|
6548
|
+
}
|
|
6549
|
+
|
|
6550
|
+
function renderAnalyticsLineageSections(record) {
|
|
6551
|
+
const lineage = record.analyticsLineage;
|
|
6552
|
+
if (!lineage) {
|
|
6553
|
+
return '';
|
|
6554
|
+
}
|
|
6555
|
+
|
|
6556
|
+
const hasParent = Boolean(lineage.parent);
|
|
6557
|
+
const continuations = Array.isArray(lineage.continuations) ? lineage.continuations : [];
|
|
6558
|
+
const related = Array.isArray(lineage.related) ? lineage.related : [];
|
|
6559
|
+
if (!hasParent && continuations.length === 0 && related.length === 0) {
|
|
6560
|
+
return '';
|
|
6561
|
+
}
|
|
6562
|
+
|
|
6563
|
+
function renderLineageNavItem(entry) {
|
|
6564
|
+
const label = (entry.key ? entry.key + ': ' : '') + (entry.title || entry.id);
|
|
6565
|
+
return '<li><button type="button" class="analytics-lineage-nav-btn" data-analytics-record-id="' + escapeHtml(entry.id) + '" data-testid="analytics-lineage-nav">' +
|
|
6566
|
+
escapeHtml(label) +
|
|
6567
|
+
'</button></li>';
|
|
6568
|
+
}
|
|
6569
|
+
|
|
6570
|
+
let html = '<section class="detail-section analytics-lineage-section" data-testid="analytics-lineage-section">';
|
|
6571
|
+
|
|
6572
|
+
if (hasParent) {
|
|
6573
|
+
html += '<h3 class="analytics-section-title">Родительский разбор</h3>' +
|
|
6574
|
+
'<ul class="analytics-lineage-list">' + renderLineageNavItem(lineage.parent) + '</ul>';
|
|
6575
|
+
}
|
|
6576
|
+
|
|
6577
|
+
if (continuations.length > 0) {
|
|
6578
|
+
html += '<h3 class="analytics-section-title">Продолжения</h3>' +
|
|
6579
|
+
'<ul class="analytics-lineage-list">' + continuations.map(renderLineageNavItem).join('') + '</ul>';
|
|
6580
|
+
}
|
|
6581
|
+
|
|
6582
|
+
if (related.length > 0) {
|
|
6583
|
+
html += '<h3 class="analytics-section-title">Связанные разборы</h3>' +
|
|
6584
|
+
'<ul class="analytics-lineage-list">' + related.map(renderLineageNavItem).join('') + '</ul>';
|
|
6585
|
+
}
|
|
6586
|
+
|
|
6587
|
+
html += '</section>';
|
|
6588
|
+
return html;
|
|
6589
|
+
}
|
|
6590
|
+
|
|
6591
|
+
function openAnalyticsRecordById(recordId) {
|
|
6592
|
+
const record = (analyticsProjection?.records ?? []).find((entry) => entry.id === recordId);
|
|
6593
|
+
if (!record) {
|
|
6594
|
+
return;
|
|
6595
|
+
}
|
|
6596
|
+
|
|
6597
|
+
selectedAnalyticsRecordId = record.id;
|
|
6598
|
+
renderAnalyticsPanel();
|
|
6599
|
+
openAnalyticsRecordDetails(record);
|
|
6600
|
+
}
|
|
6601
|
+
|
|
5543
6602
|
function renderAnalyticsIntentGraphSections(record) {
|
|
5544
6603
|
const graph = record.intentGraph;
|
|
5545
6604
|
if (!graph || !graph.question) {
|
|
@@ -5614,11 +6673,86 @@ export function renderBacklogHtml() {
|
|
|
5614
6673
|
'</section>';
|
|
5615
6674
|
}
|
|
5616
6675
|
|
|
6676
|
+
function buildAnalyticsMarkdownForLlm(record) {
|
|
6677
|
+
const rawBody = String(record?.body ?? '').trim();
|
|
6678
|
+
if (rawBody) {
|
|
6679
|
+
return rawBody;
|
|
6680
|
+
}
|
|
6681
|
+
|
|
6682
|
+
const lines = [];
|
|
6683
|
+
const title = String(record?.title ?? '').trim();
|
|
6684
|
+
const query = String(record?.query ?? '').trim();
|
|
6685
|
+
const topic = String(record?.topic ?? '').trim();
|
|
6686
|
+
const key = String(record?.key ?? record?.id ?? '').trim();
|
|
6687
|
+
|
|
6688
|
+
if (title) {
|
|
6689
|
+
lines.push('# ' + title, '');
|
|
6690
|
+
}
|
|
6691
|
+
if (key) {
|
|
6692
|
+
lines.push('**Ключ:** ' + key, '');
|
|
6693
|
+
}
|
|
6694
|
+
if (query) {
|
|
6695
|
+
lines.push('**Запрос:** ' + query, '');
|
|
6696
|
+
}
|
|
6697
|
+
if (topic) {
|
|
6698
|
+
lines.push('**Тема:** ' + topic, '');
|
|
6699
|
+
}
|
|
6700
|
+
|
|
6701
|
+
return lines.join('\\n').trim() || '—';
|
|
6702
|
+
}
|
|
6703
|
+
|
|
6704
|
+
async function copyTextToClipboard(text) {
|
|
6705
|
+
if (navigator.clipboard && typeof navigator.clipboard.writeText === 'function') {
|
|
6706
|
+
await navigator.clipboard.writeText(text);
|
|
6707
|
+
return;
|
|
6708
|
+
}
|
|
6709
|
+
|
|
6710
|
+
const textarea = document.createElement('textarea');
|
|
6711
|
+
textarea.value = text;
|
|
6712
|
+
textarea.setAttribute('readonly', 'readonly');
|
|
6713
|
+
textarea.style.position = 'fixed';
|
|
6714
|
+
textarea.style.left = '-9999px';
|
|
6715
|
+
document.body.appendChild(textarea);
|
|
6716
|
+
textarea.select();
|
|
6717
|
+
document.execCommand('copy');
|
|
6718
|
+
document.body.removeChild(textarea);
|
|
6719
|
+
}
|
|
6720
|
+
|
|
6721
|
+
let analyticsCopyMdFeedbackTimer = null;
|
|
6722
|
+
|
|
6723
|
+
async function copyAnalyticsMarkdownForLlm(record, button) {
|
|
6724
|
+
const markdown = buildAnalyticsMarkdownForLlm(record);
|
|
6725
|
+
await copyTextToClipboard(markdown);
|
|
6726
|
+
|
|
6727
|
+
if (!button) {
|
|
6728
|
+
return;
|
|
6729
|
+
}
|
|
6730
|
+
|
|
6731
|
+
const previousLabel = button.textContent;
|
|
6732
|
+
button.textContent = 'Скопировано';
|
|
6733
|
+
button.disabled = true;
|
|
6734
|
+
if (analyticsCopyMdFeedbackTimer) {
|
|
6735
|
+
clearTimeout(analyticsCopyMdFeedbackTimer);
|
|
6736
|
+
}
|
|
6737
|
+
analyticsCopyMdFeedbackTimer = setTimeout(function() {
|
|
6738
|
+
button.textContent = previousLabel;
|
|
6739
|
+
button.disabled = false;
|
|
6740
|
+
analyticsCopyMdFeedbackTimer = null;
|
|
6741
|
+
}, 1600);
|
|
6742
|
+
}
|
|
6743
|
+
|
|
5617
6744
|
function openAnalyticsRecordDetails(record) {
|
|
5618
6745
|
const isClosing = readAnalyticsRecordKind(record) === 'closing';
|
|
5619
6746
|
detailContext = { type: 'analytics', recordId: record.id, recordKey: record.key || record.id, recordKind: isClosing ? 'closing' : 'intake' };
|
|
5620
6747
|
detailTitle.textContent = record.title;
|
|
5621
6748
|
detailId.textContent = record.key || record.id;
|
|
6749
|
+
detailStack.reset();
|
|
6750
|
+
detailStack.push({
|
|
6751
|
+
type: 'analytics',
|
|
6752
|
+
key: record.id,
|
|
6753
|
+
title: record.title || record.key || record.id,
|
|
6754
|
+
payload: { recordId: record.id, recordKey: record.key || record.id },
|
|
6755
|
+
});
|
|
5622
6756
|
const answerBody = stripAnalyticsBodyPreamble(record.body || '');
|
|
5623
6757
|
const feedsEpics = Array.isArray(record.feeds_epics) ? record.feeds_epics : [];
|
|
5624
6758
|
const metadataHtml =
|
|
@@ -5646,17 +6780,31 @@ export function renderBacklogHtml() {
|
|
|
5646
6780
|
'</section>';
|
|
5647
6781
|
|
|
5648
6782
|
const bodySectionTitle = isClosing ? 'Итоги эпика' : 'Ответ';
|
|
6783
|
+
const copyMdButton = renderClientUiButton({
|
|
6784
|
+
label: 'Копировать MD',
|
|
6785
|
+
variant: 'secondary',
|
|
6786
|
+
size: 'xs',
|
|
6787
|
+
testId: 'analytics-copy-md',
|
|
6788
|
+
attrs: {
|
|
6789
|
+
'data-action': 'copy-analytics-md',
|
|
6790
|
+
'aria-label': 'Копировать markdown разбора для LLM',
|
|
6791
|
+
},
|
|
6792
|
+
});
|
|
5649
6793
|
|
|
5650
6794
|
detailBody.innerHTML =
|
|
5651
6795
|
renderDetailBackButton('← К аналитике') +
|
|
5652
6796
|
'<div class="analytics-qna" data-testid="analytics-qna">' +
|
|
5653
6797
|
querySection +
|
|
5654
6798
|
'<section class="detail-section analytics-record-body" data-testid="analytics-record-body">' +
|
|
5655
|
-
'<
|
|
6799
|
+
'<div class="analytics-section-header">' +
|
|
6800
|
+
'<h3 class="analytics-section-title">' + bodySectionTitle + '</h3>' +
|
|
6801
|
+
copyMdButton +
|
|
6802
|
+
'</div>' +
|
|
5656
6803
|
renderMarkdownDocument(answerBody || '—') +
|
|
5657
6804
|
'</section>' +
|
|
5658
6805
|
'</div>' +
|
|
5659
6806
|
(isClosing ? '' : renderAnalyticsIntentGraphSections(record)) +
|
|
6807
|
+
renderAnalyticsLineageSections(record) +
|
|
5660
6808
|
renderAnalyticsRelatedWorkItemsSection(record) +
|
|
5661
6809
|
wrapDetailAccordion('Метаданные', metadataHtml, { testid: 'analytics-record-meta' });
|
|
5662
6810
|
openDetailDrawer();
|
|
@@ -5947,24 +7095,22 @@ export function renderBacklogHtml() {
|
|
|
5947
7095
|
}
|
|
5948
7096
|
}
|
|
5949
7097
|
|
|
5950
|
-
function formatVerificationStatusLabel(status) {
|
|
5951
|
-
const
|
|
5952
|
-
|
|
5953
|
-
|
|
5954
|
-
|
|
5955
|
-
|
|
5956
|
-
|
|
5957
|
-
};
|
|
5958
|
-
return labels[status] || status || 'ожидает';
|
|
7098
|
+
function formatVerificationStatusLabel(status) {
|
|
7099
|
+
const key = 'verification.status.' + String(status ?? 'pending');
|
|
7100
|
+
const localized = t(key);
|
|
7101
|
+
if (localized !== key) {
|
|
7102
|
+
return localized;
|
|
7103
|
+
}
|
|
7104
|
+
return status || t('verification.status.pending');
|
|
5959
7105
|
}
|
|
5960
7106
|
|
|
5961
7107
|
function formatVerificationTierLabel(tier) {
|
|
5962
|
-
const
|
|
5963
|
-
|
|
5964
|
-
|
|
5965
|
-
|
|
5966
|
-
}
|
|
5967
|
-
return
|
|
7108
|
+
const key = 'verification.tierLabel.' + String(tier ?? '');
|
|
7109
|
+
const localized = t(key);
|
|
7110
|
+
if (localized !== key) {
|
|
7111
|
+
return localized;
|
|
7112
|
+
}
|
|
7113
|
+
return tier;
|
|
5968
7114
|
}
|
|
5969
7115
|
|
|
5970
7116
|
function renderVerificationPanel() {
|
|
@@ -5973,6 +7119,9 @@ export function renderBacklogHtml() {
|
|
|
5973
7119
|
verificationMatrixWrap.innerHTML = '<div class="empty">Сводка проверок не загружена</div>';
|
|
5974
7120
|
verificationEvidenceList.innerHTML = '';
|
|
5975
7121
|
verificationWorkerRuns.innerHTML = '';
|
|
7122
|
+
if (verificationContractList) verificationContractList.innerHTML = '';
|
|
7123
|
+
if (verificationContractHealth) verificationContractHealth.innerHTML = '';
|
|
7124
|
+
if (verificationContractCount) verificationContractCount.textContent = '0';
|
|
5976
7125
|
renderCodegenGatePanel();
|
|
5977
7126
|
renderDaemonAuditPanel();
|
|
5978
7127
|
renderCodeGapPanel();
|
|
@@ -5982,12 +7131,12 @@ export function renderBacklogHtml() {
|
|
|
5982
7131
|
const verification = dashboardSnapshot.verification;
|
|
5983
7132
|
const counts = verification.tierCounts;
|
|
5984
7133
|
verificationTierBadges.innerHTML =
|
|
5985
|
-
renderVerificationTierBadge('
|
|
5986
|
-
renderVerificationTierBadge('
|
|
5987
|
-
renderVerificationTierBadge('
|
|
7134
|
+
renderVerificationTierBadge(t('verification.tier.a'), counts.deterministic) +
|
|
7135
|
+
renderVerificationTierBadge(t('verification.tier.onebase'), counts.optionalEnv) +
|
|
7136
|
+
renderVerificationTierBadge(t('verification.tier.llm'), counts.optionalLlm);
|
|
5988
7137
|
|
|
5989
7138
|
verificationMatrixWrap.innerHTML =
|
|
5990
|
-
'<table class="verification-matrix"><thead><tr><th
|
|
7139
|
+
'<table class="verification-matrix"><thead><tr><th>' + escapeHtml(t('verification.matrix.check')) + '</th><th>' + escapeHtml(t('verification.matrix.tier')) + '</th><th>' + escapeHtml(t('verification.matrix.command')) + '</th><th>' + escapeHtml(t('verification.matrix.status')) + '</th></tr></thead><tbody>' +
|
|
5991
7140
|
verification.matrix.map((row) =>
|
|
5992
7141
|
'<tr><td>' + escapeHtml(row.title) + '</td><td>' + escapeHtml(formatVerificationTierLabel(row.tier)) + '</td><td><code>' + escapeHtml(row.command) + '</code></td><td>' +
|
|
5993
7142
|
renderVerificationStatus(row.status) + '</td></tr>'
|
|
@@ -5997,6 +7146,8 @@ export function renderBacklogHtml() {
|
|
|
5997
7146
|
? '<p class="empty">Гейт OneBase заблокирован' + (verification.onebaseGate.blockedTaskId ? ': ' + escapeHtml(verification.onebaseGate.blockedTaskId) : '') + '. Установите Go и запустите npm run test:optional:onebase.</p>'
|
|
5998
7147
|
: '');
|
|
5999
7148
|
|
|
7149
|
+
renderVerificationContractPanel();
|
|
7150
|
+
|
|
6000
7151
|
const evidenceRows = dashboardSnapshot.recentEvidence || [];
|
|
6001
7152
|
renderCodegenGatePanel();
|
|
6002
7153
|
verificationEvidenceList.innerHTML = evidenceRows.length
|
|
@@ -6021,6 +7172,40 @@ export function renderBacklogHtml() {
|
|
|
6021
7172
|
renderCodeGapPanel();
|
|
6022
7173
|
}
|
|
6023
7174
|
|
|
7175
|
+
function renderVerificationContractPanel() {
|
|
7176
|
+
if (!verificationContractList || !verificationContractHealth || !verificationContractCount) {
|
|
7177
|
+
return;
|
|
7178
|
+
}
|
|
7179
|
+
|
|
7180
|
+
const summaries = dashboardSnapshot?.verification?.contractSummaries ?? [];
|
|
7181
|
+
const health = dashboardSnapshot?.verification?.contractHealth;
|
|
7182
|
+
|
|
7183
|
+
verificationContractCount.textContent = String(summaries.length);
|
|
7184
|
+
verificationContractHealth.innerHTML = health
|
|
7185
|
+
? '<span class="pill">Structured evidence: <strong>' + escapeHtml(String(health.structuredEvidencePct ?? 0)) + '%</strong></span>' +
|
|
7186
|
+
'<span class="pill">Contract ready: <strong>' + escapeHtml(String(health.contractReadyPct ?? 0)) + '%</strong></span>' +
|
|
7187
|
+
'<span class="pill">Gate tasks: <strong>' + escapeHtml(String(health.gateTaskCount ?? 0)) + '</strong></span>'
|
|
7188
|
+
: '';
|
|
7189
|
+
|
|
7190
|
+
verificationContractList.innerHTML = summaries.length
|
|
7191
|
+
? summaries.map((entry) => {
|
|
7192
|
+
const tier = entry.contract?.verification?.tier ?? '—';
|
|
7193
|
+
const matrixRowId = entry.contract?.verification?.matrixRowId ?? '—';
|
|
7194
|
+
const violationLines = (entry.readiness?.violations ?? []).map((violation) =>
|
|
7195
|
+
'<li><strong>' + escapeHtml(violation.code) + '</strong>: ' + escapeHtml(violation.message) +
|
|
7196
|
+
(violation.fix ? ' · ' + escapeHtml(violation.fix) : '') + '</li>',
|
|
7197
|
+
).join('');
|
|
7198
|
+
return '<li data-work-id="' + escapeHtml(entry.workId) + '">' +
|
|
7199
|
+
'<h3>' + escapeHtml(entry.title || entry.workId) + '</h3>' +
|
|
7200
|
+
'<p class="list-row-line">Контракт · Tier ' + escapeHtml(String(tier)) + ' · ' + escapeHtml(String(matrixRowId)) +
|
|
7201
|
+
' · ' + renderVerificationStatus(entry.readiness?.ok ? 'passed' : 'failed') +
|
|
7202
|
+
' · нарушений: ' + escapeHtml(String(entry.readiness?.violationCount ?? 0)) + '</p>' +
|
|
7203
|
+
(violationLines ? '<ul>' + violationLines + '</ul>' : '') +
|
|
7204
|
+
'</li>';
|
|
7205
|
+
}).join('')
|
|
7206
|
+
: '<li class="empty">Нет gate-задач в текущем snapshot</li>';
|
|
7207
|
+
}
|
|
7208
|
+
|
|
6024
7209
|
function renderCodegenGatePanel() {
|
|
6025
7210
|
if (!codegenGateList || !codegenGateSummary || !codegenGateCount) {
|
|
6026
7211
|
return;
|
|
@@ -6101,7 +7286,7 @@ export function renderBacklogHtml() {
|
|
|
6101
7286
|
}
|
|
6102
7287
|
|
|
6103
7288
|
const suggestions = codeGapProjection.suggestions ?? [];
|
|
6104
|
-
const query =
|
|
7289
|
+
const query = getPanelSearchQuery();
|
|
6105
7290
|
const filtered = suggestions.filter((entry) => {
|
|
6106
7291
|
if (!query) {
|
|
6107
7292
|
return true;
|
|
@@ -6355,9 +7540,15 @@ export function renderBacklogHtml() {
|
|
|
6355
7540
|
const prevDisabled = pagination.page <= 1;
|
|
6356
7541
|
const nextDisabled = pagination.page >= pagination.totalPages;
|
|
6357
7542
|
container.innerHTML =
|
|
6358
|
-
renderClientUiButton({ label: '
|
|
6359
|
-
'<span class="workflow-page-meta"
|
|
6360
|
-
|
|
7543
|
+
renderClientUiButton({ label: t('pagination.prev'), variant: 'secondary', className: 'workflow-page-btn', disabled: prevDisabled, attrs: { 'data-workflow-page': kind, 'data-page-action': 'prev' } }) +
|
|
7544
|
+
'<span class="workflow-page-meta">' + escapeHtml(t('pagination.meta', {
|
|
7545
|
+
page: pagination.page,
|
|
7546
|
+
totalPages: pagination.totalPages,
|
|
7547
|
+
from: pagination.from,
|
|
7548
|
+
to: pagination.to,
|
|
7549
|
+
total: pagination.total,
|
|
7550
|
+
})) + '</span>' +
|
|
7551
|
+
renderClientUiButton({ label: t('pagination.next'), variant: 'secondary', className: 'workflow-page-btn', disabled: nextDisabled, attrs: { 'data-workflow-page': kind, 'data-page-action': 'next' } });
|
|
6361
7552
|
}
|
|
6362
7553
|
|
|
6363
7554
|
function handleWorkflowPaginationClick(event) {
|
|
@@ -6407,7 +7598,7 @@ export function renderBacklogHtml() {
|
|
|
6407
7598
|
?? null;
|
|
6408
7599
|
|
|
6409
7600
|
if (!projection) {
|
|
6410
|
-
kanbanBoard.innerHTML = '<div class="empty">
|
|
7601
|
+
kanbanBoard.innerHTML = '<div class="empty">' + escapeHtml(t('empty.kanbanNotLoaded')) + '</div>';
|
|
6411
7602
|
return;
|
|
6412
7603
|
}
|
|
6413
7604
|
|
|
@@ -6419,8 +7610,8 @@ export function renderBacklogHtml() {
|
|
|
6419
7610
|
.join('');
|
|
6420
7611
|
|
|
6421
7612
|
return '<article class="column" data-kanban-column="' + escapeHtml(column.id) + '">' +
|
|
6422
|
-
'<h2>' + escapeHtml(column.title) + renderClientUiBadge({ label: String(column.count), tone: '
|
|
6423
|
-
(cards || '<div class="empty"
|
|
7613
|
+
'<h2>' + escapeHtml(localizedKanbanColumnTitle(column.id, column.title)) + renderClientUiBadge({ label: String(column.count), tone: 'default', testId: 'kanban-col-count-' + column.id }) + '</h2>' +
|
|
7614
|
+
(cards || '<div class="empty">' + escapeHtml(t('empty.noTasks')) + '</div>') +
|
|
6424
7615
|
'</article>';
|
|
6425
7616
|
}).join('');
|
|
6426
7617
|
}
|
|
@@ -6437,13 +7628,13 @@ export function renderBacklogHtml() {
|
|
|
6437
7628
|
.map((item) => ({ item, queueKind: null }));
|
|
6438
7629
|
|
|
6439
7630
|
return '<article class="column">' +
|
|
6440
|
-
'<h2>' + escapeHtml(group.title) + renderClientUiBadge({ label: String(groupEntries.length), tone: '
|
|
7631
|
+
'<h2>' + escapeHtml(localizedBoardGroupTitle(group.id, group.title)) + renderClientUiBadge({ label: String(groupEntries.length), tone: 'default', testId: 'board-col-count-' + group.id }) + '</h2>' +
|
|
6441
7632
|
(groupEntries.length
|
|
6442
7633
|
? groupEntries.map((entry) => renderTaskAtomCard(entry.item, '', {
|
|
6443
7634
|
queueKind: entry.queueKind,
|
|
6444
7635
|
promoteEligible: entry.queueKind === 'planned',
|
|
6445
7636
|
})).join('')
|
|
6446
|
-
: '<div class="empty"
|
|
7637
|
+
: '<div class="empty">' + escapeHtml(t('empty.noTaskAtoms')) + '</div>') +
|
|
6447
7638
|
'</article>';
|
|
6448
7639
|
}).join('');
|
|
6449
7640
|
}
|
|
@@ -6454,15 +7645,15 @@ export function renderBacklogHtml() {
|
|
|
6454
7645
|
const progress = group.childCount > 0
|
|
6455
7646
|
? group.doneChildCount + '/' + group.childCount
|
|
6456
7647
|
: '0';
|
|
6457
|
-
const toggleLabel = collapsed ? '
|
|
7648
|
+
const toggleLabel = collapsed ? t('workflow.epic.expand') : t('workflow.epic.collapse');
|
|
6458
7649
|
const childrenHtml = group.children.length
|
|
6459
7650
|
? group.children.map((child) => renderTaskAtom(child, 'list-row')).join('')
|
|
6460
|
-
: '<div class="empty"
|
|
7651
|
+
: '<div class="empty">' + escapeHtml(t('empty.noSubtasks')) + '</div>';
|
|
6461
7652
|
|
|
6462
7653
|
return '<article class="workflow-epic-group" data-testid="workflow-epic-' + escapeHtml(epic.id) + '">' +
|
|
6463
7654
|
'<div class="workflow-epic-header">' +
|
|
6464
7655
|
'<button class="task-atom list-row" type="button" data-task-id="' + escapeHtml(epic.id) + '">' +
|
|
6465
|
-
'<h3><span class="workflow-epic-badge"
|
|
7656
|
+
'<h3><span class="workflow-epic-badge">' + escapeHtml(t('workflow.epic.badge')) + '</span>' + escapeHtml(epic.title || epic.id) +
|
|
6466
7657
|
'<span class="workflow-epic-meta">' + escapeHtml(progress) + '</span></h3>' +
|
|
6467
7658
|
renderSemanticCore(epic) +
|
|
6468
7659
|
renderIssueFooter(epic) +
|
|
@@ -7194,12 +8385,14 @@ export function renderBacklogHtml() {
|
|
|
7194
8385
|
|
|
7195
8386
|
function renderTaskAtom(item, extraClass = '', options = {}) {
|
|
7196
8387
|
const queueKind = options.queueKind ?? null;
|
|
8388
|
+
const surface = extraClass.includes('kanban-card') ? 'board' : 'default';
|
|
7197
8389
|
const targets = highlightTaskId ? crossHighlightTargets(highlightTaskId) : { peerIds: [] };
|
|
7198
8390
|
const highlightClass = item.id === highlightTaskId || targets.peerIds.includes(item.id) ? ' is-highlighted' : '';
|
|
7199
|
-
|
|
8391
|
+
const newClass = options.isNew ? ' is-new' : '';
|
|
8392
|
+
return '<button class="task-atom' + highlightClass + newClass + (extraClass ? ' ' + extraClass : '') + '" type="button" data-task-id="' + escapeHtml(item.id) + '" data-work-id="' + escapeHtml(item.id) + '">' +
|
|
7200
8393
|
'<h3>' + escapeHtml(item.title || item.id) + '</h3>' +
|
|
7201
8394
|
renderSemanticCore(item) +
|
|
7202
|
-
renderIssueFooter(item, { queueKind }) +
|
|
8395
|
+
renderIssueFooter(item, { queueKind, surface }) +
|
|
7203
8396
|
'</button>';
|
|
7204
8397
|
}
|
|
7205
8398
|
|
|
@@ -7214,6 +8407,36 @@ export function renderBacklogHtml() {
|
|
|
7214
8407
|
}
|
|
7215
8408
|
|
|
7216
8409
|
function handleBoardClick(event) {
|
|
8410
|
+
const copyAnalyticsBtn = event.target.closest('[data-action="copy-analytics-md"]');
|
|
8411
|
+
if (copyAnalyticsBtn) {
|
|
8412
|
+
event.preventDefault();
|
|
8413
|
+
event.stopPropagation();
|
|
8414
|
+
const recordId = detailContext?.type === 'analytics'
|
|
8415
|
+
? detailContext.recordId
|
|
8416
|
+
: selectedAnalyticsRecordId;
|
|
8417
|
+
const record = (analyticsProjection?.records ?? []).find((entry) => entry.id === recordId);
|
|
8418
|
+
if (record) {
|
|
8419
|
+
copyAnalyticsMarkdownForLlm(record, copyAnalyticsBtn).catch(() => undefined);
|
|
8420
|
+
}
|
|
8421
|
+
return;
|
|
8422
|
+
}
|
|
8423
|
+
|
|
8424
|
+
const lineageNavBtn = event.target.closest('.analytics-lineage-nav-btn[data-analytics-record-id]');
|
|
8425
|
+
if (lineageNavBtn) {
|
|
8426
|
+
event.preventDefault();
|
|
8427
|
+
event.stopPropagation();
|
|
8428
|
+
const fromDrawer = Boolean(lineageNavBtn.closest('#detail-body, #detail-sub-body'));
|
|
8429
|
+
if (fromDrawer && detailDrawer.classList.contains('is-open')) {
|
|
8430
|
+
const record = (analyticsProjection?.records ?? []).find((entry) => entry.id === lineageNavBtn.dataset.analyticsRecordId);
|
|
8431
|
+
if (record) {
|
|
8432
|
+
openAnalyticsLineageStackDrawer(record);
|
|
8433
|
+
return;
|
|
8434
|
+
}
|
|
8435
|
+
}
|
|
8436
|
+
openAnalyticsRecordById(lineageNavBtn.dataset.analyticsRecordId);
|
|
8437
|
+
return;
|
|
8438
|
+
}
|
|
8439
|
+
|
|
7217
8440
|
const epicToggle = event.target.closest('[data-workflow-epic-toggle]');
|
|
7218
8441
|
if (epicToggle) {
|
|
7219
8442
|
event.preventDefault();
|
|
@@ -7318,7 +8541,38 @@ export function renderBacklogHtml() {
|
|
|
7318
8541
|
const item = snapshot.items.find((candidate) => candidate.id === card.dataset.taskId);
|
|
7319
8542
|
if (!item) return;
|
|
7320
8543
|
applyCrossHighlight(item.id);
|
|
7321
|
-
|
|
8544
|
+
|
|
8545
|
+
const fromAnalyticsRelated = card.classList.contains('analytics-related-task-btn')
|
|
8546
|
+
&& detailDrawer.classList.contains('is-open')
|
|
8547
|
+
&& Boolean(card.closest('#detail-body, #detail-sub-body'));
|
|
8548
|
+
if (fromAnalyticsRelated) {
|
|
8549
|
+
let recordId = selectedAnalyticsRecordId || detailContext?.recordId;
|
|
8550
|
+
if (card.closest('#detail-sub-body')) {
|
|
8551
|
+
const top = detailStack.peek();
|
|
8552
|
+
if (top?.type === 'analytics') {
|
|
8553
|
+
recordId = top.payload?.recordId ?? top.key ?? recordId;
|
|
8554
|
+
}
|
|
8555
|
+
}
|
|
8556
|
+
const record = (analyticsProjection?.records ?? []).find((entry) => entry.id === recordId);
|
|
8557
|
+
if (record) {
|
|
8558
|
+
openAnalyticsRelatedTaskSubDrawer(item, record);
|
|
8559
|
+
return;
|
|
8560
|
+
}
|
|
8561
|
+
}
|
|
8562
|
+
|
|
8563
|
+
const fromHierarchy = Boolean(card.closest('[data-testid="hierarchy-parent"], [data-testid="hierarchy-children"]'));
|
|
8564
|
+
const fromDrawerBody = Boolean(card.closest('#detail-body'));
|
|
8565
|
+
const fromSubDrawerBody = Boolean(card.closest('#detail-sub-body'));
|
|
8566
|
+
const fromDrawer = detailDrawer.classList.contains('is-open') && fromDrawerBody;
|
|
8567
|
+
const fromSubDrawer = detailSubDrawer?.classList.contains('is-open') && fromSubDrawerBody;
|
|
8568
|
+
|
|
8569
|
+
if (fromHierarchy && (fromDrawer || fromSubDrawer)) {
|
|
8570
|
+
event.preventDefault();
|
|
8571
|
+
event.stopPropagation();
|
|
8572
|
+
openTaskHierarchyStackDrawer(item);
|
|
8573
|
+
return;
|
|
8574
|
+
}
|
|
8575
|
+
|
|
7322
8576
|
const analyticsParent = card.classList.contains('analytics-related-task-btn') && selectedAnalyticsRecordId
|
|
7323
8577
|
? { type: 'analytics', recordId: selectedAnalyticsRecordId }
|
|
7324
8578
|
: detailContext;
|
|
@@ -7366,6 +8620,228 @@ export function renderBacklogHtml() {
|
|
|
7366
8620
|
if (button && handler) button.addEventListener('click', handler, { once: true });
|
|
7367
8621
|
}
|
|
7368
8622
|
|
|
8623
|
+
function renderDetailStackBreadcrumb() {
|
|
8624
|
+
const frames = detailStack.getFrames();
|
|
8625
|
+
if (frames.length <= 1) {
|
|
8626
|
+
return '';
|
|
8627
|
+
}
|
|
8628
|
+
const crumbs = frames.map((frame, index) => {
|
|
8629
|
+
const label = frame.title || frame.key || frame.type;
|
|
8630
|
+
const isCurrent = index === frames.length - 1;
|
|
8631
|
+
return '<span class="detail-stack-crumb' + (isCurrent ? ' is-current' : '') + '">' + escapeHtml(label) + '</span>';
|
|
8632
|
+
});
|
|
8633
|
+
return '<nav class="detail-stack-breadcrumb" data-testid="detail-stack-breadcrumb" aria-label="Navigation trail">' +
|
|
8634
|
+
crumbs.join('<span class="detail-stack-crumb-sep">›</span>') + '</nav>';
|
|
8635
|
+
}
|
|
8636
|
+
|
|
8637
|
+
function syncDetailSubHeaderFromStack() {
|
|
8638
|
+
const top = detailStack.peek();
|
|
8639
|
+
if (!top || !detailSubTitle || !detailSubId) {
|
|
8640
|
+
return;
|
|
8641
|
+
}
|
|
8642
|
+
detailSubTitle.textContent = top.title || top.key || top.type;
|
|
8643
|
+
if (top.type === 'task') {
|
|
8644
|
+
detailSubId.textContent = top.payload?.workId || top.key || '';
|
|
8645
|
+
} else if (top.type === 'analytics') {
|
|
8646
|
+
detailSubId.textContent = top.payload?.recordKey || top.payload?.recordId || top.key || '';
|
|
8647
|
+
} else if (top.type === 'architecture-l2') {
|
|
8648
|
+
detailSubId.textContent = top.payload?.nodePath || top.payload?.nodeId || top.key || '';
|
|
8649
|
+
} else {
|
|
8650
|
+
detailSubId.textContent = top.key || '';
|
|
8651
|
+
}
|
|
8652
|
+
const headerWrap = detailSubTitle.closest('.detail-header > div');
|
|
8653
|
+
if (!headerWrap) {
|
|
8654
|
+
return;
|
|
8655
|
+
}
|
|
8656
|
+
const existing = headerWrap.querySelector('[data-testid="detail-stack-breadcrumb"]');
|
|
8657
|
+
const breadcrumbHtml = renderDetailStackBreadcrumb();
|
|
8658
|
+
if (breadcrumbHtml) {
|
|
8659
|
+
if (existing) {
|
|
8660
|
+
existing.outerHTML = breadcrumbHtml;
|
|
8661
|
+
} else {
|
|
8662
|
+
detailSubId.insertAdjacentHTML('afterend', breadcrumbHtml);
|
|
8663
|
+
}
|
|
8664
|
+
} else if (existing) {
|
|
8665
|
+
existing.remove();
|
|
8666
|
+
}
|
|
8667
|
+
}
|
|
8668
|
+
|
|
8669
|
+
function closeDetailStackFully() {
|
|
8670
|
+
detailStack.reset();
|
|
8671
|
+
closeL2NodeDetails();
|
|
8672
|
+
}
|
|
8673
|
+
|
|
8674
|
+
function popDetailStackNavigation() {
|
|
8675
|
+
if (!detailSubDrawer?.classList.contains('is-open')) {
|
|
8676
|
+
return false;
|
|
8677
|
+
}
|
|
8678
|
+
if (detailStack.depth() > 1) {
|
|
8679
|
+
detailStack.pop();
|
|
8680
|
+
renderTopDetailStackFrame().catch(() => undefined);
|
|
8681
|
+
return true;
|
|
8682
|
+
}
|
|
8683
|
+
closeDetailStackFully();
|
|
8684
|
+
detailClose?.focus();
|
|
8685
|
+
return true;
|
|
8686
|
+
}
|
|
8687
|
+
|
|
8688
|
+
function resolveStackParentContext(parentFrame) {
|
|
8689
|
+
if (!parentFrame) {
|
|
8690
|
+
return null;
|
|
8691
|
+
}
|
|
8692
|
+
if (parentFrame.type === 'task') {
|
|
8693
|
+
return {
|
|
8694
|
+
type: 'task',
|
|
8695
|
+
taskId: parentFrame.payload?.workId ?? parentFrame.key,
|
|
8696
|
+
title: parentFrame.title || parentFrame.key,
|
|
8697
|
+
};
|
|
8698
|
+
}
|
|
8699
|
+
if (parentFrame.type === 'analytics') {
|
|
8700
|
+
return {
|
|
8701
|
+
type: 'analytics',
|
|
8702
|
+
recordId: parentFrame.payload?.recordId ?? parentFrame.key,
|
|
8703
|
+
};
|
|
8704
|
+
}
|
|
8705
|
+
if (parentFrame.type === 'architecture-block') {
|
|
8706
|
+
return {
|
|
8707
|
+
type: 'block',
|
|
8708
|
+
blockId: parentFrame.payload?.blockId ?? parentFrame.key,
|
|
8709
|
+
};
|
|
8710
|
+
}
|
|
8711
|
+
return null;
|
|
8712
|
+
}
|
|
8713
|
+
|
|
8714
|
+
async function renderDetailStackFrame(frame, parentFrame) {
|
|
8715
|
+
if (frame.type === 'task') {
|
|
8716
|
+
const item = snapshot?.items?.find((candidate) => candidate.id === (frame.payload?.workId || frame.key));
|
|
8717
|
+
if (!item || !detailSubBody) {
|
|
8718
|
+
return;
|
|
8719
|
+
}
|
|
8720
|
+
detailSubBody.setAttribute(
|
|
8721
|
+
'data-testid',
|
|
8722
|
+
parentFrame?.type === 'analytics' ? 'analytics-related-task-sub-drawer' : 'task-hierarchy-sub-drawer',
|
|
8723
|
+
);
|
|
8724
|
+
detailSubBody.dataset.remoteStatus = item.status ?? '';
|
|
8725
|
+
await renderTaskDetailContent(item, {
|
|
8726
|
+
parentContext: resolveStackParentContext(parentFrame),
|
|
8727
|
+
mode: 'view',
|
|
8728
|
+
targetBody: detailSubBody,
|
|
8729
|
+
subDrawer: true,
|
|
8730
|
+
});
|
|
8731
|
+
bindDetailSubNavBack(() => popDetailStackNavigation());
|
|
8732
|
+
return;
|
|
8733
|
+
}
|
|
8734
|
+
if (frame.type === 'analytics') {
|
|
8735
|
+
const record = (analyticsProjection?.records ?? []).find((entry) => entry.id === (frame.payload?.recordId || frame.key));
|
|
8736
|
+
if (!record || !detailSubBody) {
|
|
8737
|
+
return;
|
|
8738
|
+
}
|
|
8739
|
+
detailSubBody.setAttribute('data-testid', 'analytics-lineage-sub-drawer');
|
|
8740
|
+
renderAnalyticsRecordStackBody(record, parentFrame);
|
|
8741
|
+
bindDetailSubNavBack(() => popDetailStackNavigation());
|
|
8742
|
+
return;
|
|
8743
|
+
}
|
|
8744
|
+
if (frame.type === 'architecture-l2') {
|
|
8745
|
+
const block = architectureSnapshot?.blocks?.find((candidate) => candidate.id === frame.payload?.blockId);
|
|
8746
|
+
if (!block || !detailSubBody) {
|
|
8747
|
+
return;
|
|
8748
|
+
}
|
|
8749
|
+
const l2Graph = block.l2Graph;
|
|
8750
|
+
const nodes = l2Graph?.layoutNodes || l2Graph?.nodes || [];
|
|
8751
|
+
const node = nodes.find((candidate) => candidate.id === frame.payload?.nodeId);
|
|
8752
|
+
if (!node) {
|
|
8753
|
+
return;
|
|
8754
|
+
}
|
|
8755
|
+
detailSubBody.setAttribute('data-testid', 'architecture-l2-sub-drawer');
|
|
8756
|
+
const backLabel = parentFrame?.type === 'architecture-block'
|
|
8757
|
+
? '← ' + (parentFrame.title || parentFrame.key)
|
|
8758
|
+
: '← ' + (block.title || block.id);
|
|
8759
|
+
detailSubBody.innerHTML = renderDetailSubBackButton(backLabel) + buildL2NodeDetailSections(node, l2Graph, block);
|
|
8760
|
+
bindDetailSubNavBack(() => popDetailStackNavigation());
|
|
8761
|
+
}
|
|
8762
|
+
}
|
|
8763
|
+
|
|
8764
|
+
async function renderTopDetailStackFrame() {
|
|
8765
|
+
const top = detailStack.peek();
|
|
8766
|
+
const below = detailStack.peekBelow();
|
|
8767
|
+
if (!top || detailStack.depth() <= 1) {
|
|
8768
|
+
closeDetailStackFully();
|
|
8769
|
+
return;
|
|
8770
|
+
}
|
|
8771
|
+
await renderDetailStackFrame(top, below);
|
|
8772
|
+
syncDetailSubHeaderFromStack();
|
|
8773
|
+
openL2SubDrawer();
|
|
8774
|
+
}
|
|
8775
|
+
|
|
8776
|
+
function renderAnalyticsRecordStackBody(record, parentFrame) {
|
|
8777
|
+
const parentContext = resolveStackParentContext(parentFrame);
|
|
8778
|
+
const backLabel = parentContext?.type === 'analytics'
|
|
8779
|
+
? '← ' + ((analyticsProjection?.records ?? []).find((entry) => entry.id === parentContext.recordId)?.key || 'Аналитика')
|
|
8780
|
+
: '← ' + (record.key || record.title || 'Аналитика');
|
|
8781
|
+
detailSubBody.innerHTML = renderDetailSubBackButton(backLabel) + buildAnalyticsRecordDetailInnerHtml(record);
|
|
8782
|
+
queueMicrotask(function() {
|
|
8783
|
+
mountMarkdownMermaidDiagrams(detailSubBody.querySelector('.analytics-record-body'));
|
|
8784
|
+
});
|
|
8785
|
+
}
|
|
8786
|
+
|
|
8787
|
+
function buildAnalyticsRecordDetailInnerHtml(record) {
|
|
8788
|
+
const isClosing = readAnalyticsRecordKind(record) === 'closing';
|
|
8789
|
+
const answerBody = stripAnalyticsBodyPreamble(record.body || '');
|
|
8790
|
+
const querySection = isClosing
|
|
8791
|
+
? (String(record.query ?? '').trim() !== ''
|
|
8792
|
+
? '<section class="detail-section analytics-query-section" data-testid="analytics-query-section">' +
|
|
8793
|
+
'<h3 class="analytics-section-title">Контекст</h3>' +
|
|
8794
|
+
'<p class="analytics-query-text">' + escapeHtml(record.query) + '</p>' +
|
|
8795
|
+
'</section>'
|
|
8796
|
+
: '')
|
|
8797
|
+
: '<section class="detail-section analytics-query-section" data-testid="analytics-query-section">' +
|
|
8798
|
+
'<h3 class="analytics-section-title">Запрос</h3>' +
|
|
8799
|
+
'<p class="analytics-query-text">' + escapeHtml(record.query || '—') + '</p>' +
|
|
8800
|
+
'</section>';
|
|
8801
|
+
const bodySectionTitle = isClosing ? 'Итоги эпика' : 'Ответ';
|
|
8802
|
+
return '<div class="analytics-qna" data-testid="analytics-qna">' +
|
|
8803
|
+
querySection +
|
|
8804
|
+
'<section class="detail-section analytics-record-body" data-testid="analytics-record-body">' +
|
|
8805
|
+
'<h3 class="analytics-section-title">' + bodySectionTitle + '</h3>' +
|
|
8806
|
+
renderMarkdownDocument(answerBody || '—') +
|
|
8807
|
+
'</section>' +
|
|
8808
|
+
'</div>' +
|
|
8809
|
+
(isClosing ? '' : renderAnalyticsIntentGraphSections(record)) +
|
|
8810
|
+
renderAnalyticsLineageSections(record) +
|
|
8811
|
+
renderAnalyticsRelatedWorkItemsSection(record);
|
|
8812
|
+
}
|
|
8813
|
+
|
|
8814
|
+
function openAnalyticsLineageStackDrawer(record) {
|
|
8815
|
+
if (!record?.id) {
|
|
8816
|
+
return;
|
|
8817
|
+
}
|
|
8818
|
+
const currentRecordId = detailContext?.recordId || selectedAnalyticsRecordId;
|
|
8819
|
+
const currentRecord = currentRecordId
|
|
8820
|
+
? (analyticsProjection?.records ?? []).find((entry) => entry.id === currentRecordId)
|
|
8821
|
+
: null;
|
|
8822
|
+
|
|
8823
|
+
if (currentRecord && detailStack.depth() === 0) {
|
|
8824
|
+
detailStack.push({
|
|
8825
|
+
type: 'analytics',
|
|
8826
|
+
key: currentRecord.id,
|
|
8827
|
+
title: currentRecord.title || currentRecord.key || currentRecord.id,
|
|
8828
|
+
payload: { recordId: currentRecord.id, recordKey: currentRecord.key || currentRecord.id },
|
|
8829
|
+
});
|
|
8830
|
+
}
|
|
8831
|
+
|
|
8832
|
+
detailStack.push({
|
|
8833
|
+
type: 'analytics',
|
|
8834
|
+
key: record.id,
|
|
8835
|
+
title: record.title || record.key || record.id,
|
|
8836
|
+
payload: { recordId: record.id, recordKey: record.key || record.id },
|
|
8837
|
+
});
|
|
8838
|
+
|
|
8839
|
+
selectedAnalyticsRecordId = record.id;
|
|
8840
|
+
renderAnalyticsPanel();
|
|
8841
|
+
renderTopDetailStackFrame().catch(() => undefined);
|
|
8842
|
+
detailSubClose?.focus();
|
|
8843
|
+
}
|
|
8844
|
+
|
|
7369
8845
|
function resolveL2NodeLabel(nodeRef, l2Graph) {
|
|
7370
8846
|
const id = typeof nodeRef === 'string' ? nodeRef : nodeRef?.id;
|
|
7371
8847
|
const nodes = l2Graph.layoutNodes || l2Graph.nodes || [];
|
|
@@ -7466,25 +8942,117 @@ export function renderBacklogHtml() {
|
|
|
7466
8942
|
const node = nodes.find((candidate) => candidate.id === nodeId);
|
|
7467
8943
|
if (!node || !detailSubBody || !detailSubTitle || !detailSubId) return;
|
|
7468
8944
|
|
|
7469
|
-
|
|
7470
|
-
|
|
7471
|
-
|
|
7472
|
-
|
|
7473
|
-
|
|
7474
|
-
|
|
7475
|
-
|
|
7476
|
-
|
|
7477
|
-
|
|
7478
|
-
|
|
7479
|
-
|
|
7480
|
-
|
|
8945
|
+
if (fromBlockDrawer && detailContext?.type === 'block' && detailStack.depth() === 0) {
|
|
8946
|
+
detailStack.push({
|
|
8947
|
+
type: 'architecture-block',
|
|
8948
|
+
key: block.id,
|
|
8949
|
+
title: block.title || block.id,
|
|
8950
|
+
payload: { blockId: block.id },
|
|
8951
|
+
});
|
|
8952
|
+
}
|
|
8953
|
+
|
|
8954
|
+
detailStack.push({
|
|
8955
|
+
type: 'architecture-l2',
|
|
8956
|
+
key: block.id + ':' + nodeId,
|
|
8957
|
+
title: node.kind === 'file' ? (node.title || node.path || node.id) : (node.title || node.id),
|
|
8958
|
+
payload: {
|
|
8959
|
+
blockId: block.id,
|
|
8960
|
+
nodeId: node.id,
|
|
8961
|
+
nodePath: node.path || node.id,
|
|
8962
|
+
},
|
|
8963
|
+
});
|
|
8964
|
+
|
|
8965
|
+
renderTopDetailStackFrame().catch(() => undefined);
|
|
8966
|
+
detailSubClose?.focus();
|
|
8967
|
+
}
|
|
8968
|
+
|
|
8969
|
+
function openTaskHierarchyStackDrawer(item) {
|
|
8970
|
+
if (!item?.id) {
|
|
8971
|
+
return;
|
|
8972
|
+
}
|
|
8973
|
+
|
|
8974
|
+
const currentWorkId = detailContext?.taskId ?? detailInspectorState?.workId;
|
|
8975
|
+
const currentItem = currentWorkId
|
|
8976
|
+
? snapshot?.items?.find((candidate) => candidate.id === currentWorkId)
|
|
8977
|
+
: null;
|
|
8978
|
+
|
|
8979
|
+
if (currentItem && detailStack.depth() === 0) {
|
|
8980
|
+
detailStack.push({
|
|
8981
|
+
type: 'task',
|
|
8982
|
+
key: currentItem.id,
|
|
8983
|
+
title: currentItem.title || currentItem.id,
|
|
8984
|
+
payload: { workId: currentItem.id },
|
|
8985
|
+
});
|
|
8986
|
+
}
|
|
8987
|
+
|
|
8988
|
+
detailStack.push({
|
|
8989
|
+
type: 'task',
|
|
8990
|
+
key: item.id,
|
|
8991
|
+
title: item.title || item.id,
|
|
8992
|
+
payload: { workId: item.id },
|
|
8993
|
+
});
|
|
8994
|
+
|
|
8995
|
+
renderTopDetailStackFrame().catch(() => undefined);
|
|
8996
|
+
detailSubClose?.focus();
|
|
8997
|
+
}
|
|
8998
|
+
|
|
8999
|
+
function openTaskStackSubDrawer(item, previousFrame) {
|
|
9000
|
+
if (!item || !detailSubBody || !detailSubTitle || !detailSubId) {
|
|
9001
|
+
return;
|
|
9002
|
+
}
|
|
9003
|
+
|
|
9004
|
+
detailSubTitle.textContent = item.title || item.id;
|
|
9005
|
+
detailSubId.textContent = item.id;
|
|
9006
|
+
detailSubBody.setAttribute('data-testid', 'task-hierarchy-sub-drawer');
|
|
9007
|
+
detailSubBody.dataset.remoteStatus = item.status ?? '';
|
|
9008
|
+
|
|
9009
|
+
const parentContext = previousFrame?.type === 'task'
|
|
9010
|
+
? {
|
|
9011
|
+
type: 'task',
|
|
9012
|
+
taskId: previousFrame.payload?.workId ?? previousFrame.key,
|
|
9013
|
+
title: previousFrame.title || previousFrame.key,
|
|
9014
|
+
}
|
|
9015
|
+
: null;
|
|
9016
|
+
|
|
9017
|
+
renderTaskDetailContent(item, {
|
|
9018
|
+
parentContext,
|
|
9019
|
+
mode: 'view',
|
|
9020
|
+
targetBody: detailSubBody,
|
|
9021
|
+
subDrawer: true,
|
|
9022
|
+
}).catch((error) => {
|
|
9023
|
+
detailSubBody.innerHTML = '<div class="error">' + escapeHtml(error.message) + '</div>';
|
|
9024
|
+
});
|
|
9025
|
+
|
|
7481
9026
|
openL2SubDrawer();
|
|
7482
|
-
|
|
7483
|
-
|
|
7484
|
-
|
|
7485
|
-
|
|
9027
|
+
detailSubClose?.focus();
|
|
9028
|
+
}
|
|
9029
|
+
|
|
9030
|
+
function openAnalyticsRelatedTaskSubDrawer(item, record) {
|
|
9031
|
+
if (!item || !record) {
|
|
9032
|
+
return;
|
|
9033
|
+
}
|
|
9034
|
+
|
|
9035
|
+
const top = detailStack.peek();
|
|
9036
|
+
if (!top || top.type !== 'analytics' || top.payload?.recordId !== record.id) {
|
|
9037
|
+
if (detailStack.depth() > 0) {
|
|
9038
|
+
detailStack.reset();
|
|
7486
9039
|
}
|
|
9040
|
+
detailStack.push({
|
|
9041
|
+
type: 'analytics',
|
|
9042
|
+
key: record.id,
|
|
9043
|
+
title: record.title || record.key || record.id,
|
|
9044
|
+
payload: { recordId: record.id, recordKey: record.key || record.id },
|
|
9045
|
+
});
|
|
9046
|
+
}
|
|
9047
|
+
|
|
9048
|
+
detailStack.push({
|
|
9049
|
+
type: 'task',
|
|
9050
|
+
key: item.id,
|
|
9051
|
+
title: item.title || item.id,
|
|
9052
|
+
payload: { workId: item.id },
|
|
7487
9053
|
});
|
|
9054
|
+
|
|
9055
|
+
renderTopDetailStackFrame().catch(() => undefined);
|
|
7488
9056
|
detailSubClose?.focus();
|
|
7489
9057
|
}
|
|
7490
9058
|
|
|
@@ -7521,7 +9089,7 @@ export function renderBacklogHtml() {
|
|
|
7521
9089
|
if (parentId !== '') {
|
|
7522
9090
|
const parent = snapshot?.items?.find((candidate) => candidate.id === parentId);
|
|
7523
9091
|
parts.push('<div class="detail-section hierarchy-parent" data-testid="hierarchy-parent">' +
|
|
7524
|
-
'<h3
|
|
9092
|
+
'<h3>' + escapeHtml(t('drawer.section.parent')) + '</h3>' +
|
|
7525
9093
|
'<div class="hierarchy-panel">' +
|
|
7526
9094
|
'<button type="button" class="task-atom list-row" data-task-id="' + escapeHtml(parentId) + '">' +
|
|
7527
9095
|
'<h3>' + escapeHtml(parent?.title ?? parentId) + '</h3>' +
|
|
@@ -7544,9 +9112,9 @@ export function renderBacklogHtml() {
|
|
|
7544
9112
|
}).join('');
|
|
7545
9113
|
|
|
7546
9114
|
parts.push('<div class="detail-section hierarchy-children" data-testid="hierarchy-children">' +
|
|
7547
|
-
'<h3
|
|
9115
|
+
'<h3>' + escapeHtml(t('drawer.section.children')) + ' <span class="count">' + doneCount + '/' + childIds.length + '</span></h3>' +
|
|
7548
9116
|
(closeBlocked
|
|
7549
|
-
? '<p class="hierarchy-close-gate"
|
|
9117
|
+
? '<p class="hierarchy-close-gate">' + escapeHtml(t('drawer.section.closeBlocked')) + '</p>'
|
|
7550
9118
|
: '') +
|
|
7551
9119
|
'<div class="hierarchy-panel">' + childButtons + '</div></div>');
|
|
7552
9120
|
}
|
|
@@ -7557,18 +9125,18 @@ export function renderBacklogHtml() {
|
|
|
7557
9125
|
function buildTaskDetailSections(item) {
|
|
7558
9126
|
return '<div class="meta">' + renderTags(item).join('') + '</div>' +
|
|
7559
9127
|
renderParentChildHierarchy(item) +
|
|
7560
|
-
renderDetailText('
|
|
7561
|
-
renderDetailText('
|
|
7562
|
-
renderDetailText('
|
|
9128
|
+
renderDetailText(t('drawer.section.basis'), item.basis) +
|
|
9129
|
+
renderDetailText(t('drawer.section.vector'), item.vector) +
|
|
9130
|
+
renderDetailText(t('drawer.section.goal'), item.goal) +
|
|
7563
9131
|
renderPipelineReadOnly(item) +
|
|
7564
|
-
renderOptionalDetailAccordion('
|
|
7565
|
-
renderOptionalDetailAccordion('
|
|
7566
|
-
renderOptionalDetailAccordion('
|
|
7567
|
-
renderOptionalDetailAccordion('
|
|
7568
|
-
renderOptionalDetailAccordion('
|
|
7569
|
-
renderOptionalDetailAccordion('
|
|
7570
|
-
wrapDetailAccordion('
|
|
7571
|
-
'<button type="button" class="detail-link-btn" data-action="open-memory-for-task" data-work-id="' + escapeHtml(item.id) + '" data-testid="open-memory-for-task"
|
|
9132
|
+
renderOptionalDetailAccordion(t('drawer.section.dependencies'), item.dependsOn, 'list') +
|
|
9133
|
+
renderOptionalDetailAccordion(t('drawer.section.checks'), item.checks, 'list') +
|
|
9134
|
+
renderOptionalDetailAccordion(t('drawer.section.evidence'), item.evidence, 'list') +
|
|
9135
|
+
renderOptionalDetailAccordion(t('drawer.section.nextAction'), item.nextAction, 'text') +
|
|
9136
|
+
renderOptionalDetailAccordion(t('drawer.section.blocker'), item.blocker, 'text') +
|
|
9137
|
+
renderOptionalDetailAccordion(t('drawer.section.targetFiles'), item.targetFiles, 'list') +
|
|
9138
|
+
wrapDetailAccordion(t('drawer.section.memory'),
|
|
9139
|
+
'<button type="button" class="detail-link-btn" data-action="open-memory-for-task" data-work-id="' + escapeHtml(item.id) + '" data-testid="open-memory-for-task">' + escapeHtml(t('drawer.section.memoryLink')) + '</button>',
|
|
7572
9140
|
{ required: true });
|
|
7573
9141
|
}
|
|
7574
9142
|
|
|
@@ -7596,7 +9164,7 @@ export function renderBacklogHtml() {
|
|
|
7596
9164
|
parts.push(renderPipelineProse(decision));
|
|
7597
9165
|
}
|
|
7598
9166
|
|
|
7599
|
-
return wrapDetailAccordion('
|
|
9167
|
+
return wrapDetailAccordion(t('drawer.section.analysisDecision'), parts.join(''), {
|
|
7600
9168
|
testid: options.testid ?? 'work-pipeline-panel',
|
|
7601
9169
|
dataWorkId: options.dataWorkId ?? source.id,
|
|
7602
9170
|
className: 'pipeline-readonly',
|
|
@@ -7639,8 +9207,9 @@ export function renderBacklogHtml() {
|
|
|
7639
9207
|
return renderUiReferencesPanel(payload);
|
|
7640
9208
|
}
|
|
7641
9209
|
|
|
7642
|
-
function bindUiReferenceActions(item) {
|
|
7643
|
-
const
|
|
9210
|
+
function bindUiReferenceActions(item, options = {}) {
|
|
9211
|
+
const root = options.root ?? detailBody;
|
|
9212
|
+
const panel = root.querySelector('[data-testid="ui-refs-panel"]');
|
|
7644
9213
|
if (!panel) return;
|
|
7645
9214
|
|
|
7646
9215
|
const fileInput = panel.querySelector('[data-testid="ui-ref-file-input"]');
|
|
@@ -7694,13 +9263,14 @@ export function renderBacklogHtml() {
|
|
|
7694
9263
|
}
|
|
7695
9264
|
|
|
7696
9265
|
activeView = 'memory';
|
|
7697
|
-
localStorage.setItem(
|
|
9266
|
+
localStorage.setItem(viewStorageKey, activeView);
|
|
7698
9267
|
search.value = 'work:' + normalizedWorkId;
|
|
7699
|
-
|
|
7700
|
-
|
|
7701
|
-
|
|
9268
|
+
applyView(activeView);
|
|
9269
|
+
ensureLazyViewData('memory').then(() => {
|
|
9270
|
+
render();
|
|
7702
9271
|
}).catch((error) => {
|
|
7703
9272
|
console.error(error);
|
|
9273
|
+
render();
|
|
7704
9274
|
});
|
|
7705
9275
|
}
|
|
7706
9276
|
|
|
@@ -7751,6 +9321,14 @@ export function renderBacklogHtml() {
|
|
|
7751
9321
|
detailTitle.textContent = item.title || item.id;
|
|
7752
9322
|
detailId.textContent = item.id;
|
|
7753
9323
|
detailInspectorState = { workId: item.id, draft: null, mode };
|
|
9324
|
+
detailBody.dataset.remoteStatus = item.status ?? '';
|
|
9325
|
+
detailStack.reset();
|
|
9326
|
+
detailStack.push({
|
|
9327
|
+
type: 'task',
|
|
9328
|
+
key: item.id,
|
|
9329
|
+
title: item.title || item.id,
|
|
9330
|
+
payload: { workId: item.id },
|
|
9331
|
+
});
|
|
7754
9332
|
renderTaskDetailContent(item, { parentContext, mode }).catch((error) => {
|
|
7755
9333
|
detailBody.innerHTML = '<div class="error">' + escapeHtml(error.message) + '</div>';
|
|
7756
9334
|
});
|
|
@@ -7758,31 +9336,54 @@ export function renderBacklogHtml() {
|
|
|
7758
9336
|
detailClose.focus();
|
|
7759
9337
|
}
|
|
7760
9338
|
|
|
7761
|
-
async function renderTaskDetailContent(item, { parentContext = null, mode = 'view' } = {}) {
|
|
9339
|
+
async function renderTaskDetailContent(item, { parentContext = null, mode = 'view', targetBody = null, subDrawer = false } = {}) {
|
|
9340
|
+
const body = targetBody ?? detailBody;
|
|
9341
|
+
const renderBackButton = subDrawer ? renderDetailSubBackButton : renderDetailBackButton;
|
|
9342
|
+
const bindBack = subDrawer ? bindDetailSubNavBack : bindDetailNavBack;
|
|
9343
|
+
const effectiveMode = subDrawer ? 'view' : mode;
|
|
9344
|
+
|
|
7762
9345
|
let backRow = '';
|
|
7763
9346
|
let backHandler = null;
|
|
7764
9347
|
if (parentContext?.type === 'block') {
|
|
7765
9348
|
const block = architectureSnapshot?.blocks?.find((candidate) => candidate.id === parentContext.blockId);
|
|
7766
|
-
backRow =
|
|
9349
|
+
backRow = renderBackButton('← ' + (block?.title || block?.id || 'Блок'));
|
|
7767
9350
|
backHandler = () => {
|
|
9351
|
+
if (subDrawer) {
|
|
9352
|
+
popDetailStackNavigation();
|
|
9353
|
+
if (block) openBlockDetails(block, { resetNav: false });
|
|
9354
|
+
return;
|
|
9355
|
+
}
|
|
7768
9356
|
if (block) openBlockDetails(block, { resetNav: false });
|
|
7769
9357
|
};
|
|
7770
9358
|
} else if (parentContext?.type === 'analytics') {
|
|
7771
9359
|
const record = (analyticsProjection?.records ?? []).find((candidate) => candidate.id === parentContext.recordId);
|
|
7772
|
-
backRow =
|
|
9360
|
+
backRow = renderBackButton('← ' + (record?.key || record?.title || 'Аналитика'));
|
|
7773
9361
|
backHandler = () => {
|
|
9362
|
+
if (subDrawer) {
|
|
9363
|
+
popDetailStackNavigation();
|
|
9364
|
+
return;
|
|
9365
|
+
}
|
|
7774
9366
|
if (record) openAnalyticsRecordDetails(record);
|
|
7775
9367
|
};
|
|
9368
|
+
} else if (parentContext?.type === 'task') {
|
|
9369
|
+
backRow = renderBackButton('← ' + (parentContext.title || parentContext.taskId || t('drawer.back.task')));
|
|
9370
|
+
backHandler = () => {
|
|
9371
|
+
if (subDrawer) {
|
|
9372
|
+
popDetailStackNavigation();
|
|
9373
|
+
return;
|
|
9374
|
+
}
|
|
9375
|
+
detailClose?.focus();
|
|
9376
|
+
};
|
|
7776
9377
|
}
|
|
7777
9378
|
|
|
7778
|
-
if (
|
|
9379
|
+
if (effectiveMode === 'edit') {
|
|
7779
9380
|
const response = await fetch('/api/atom-inspector/draft?workId=' + encodeURIComponent(item.id));
|
|
7780
9381
|
const payload = await response.json();
|
|
7781
9382
|
if (!response.ok) {
|
|
7782
9383
|
throw new Error(payload.message || payload.error || ('HTTP ' + response.status));
|
|
7783
9384
|
}
|
|
7784
9385
|
detailInspectorState.draft = payload.draft;
|
|
7785
|
-
|
|
9386
|
+
body.innerHTML = backRow +
|
|
7786
9387
|
renderDetailToolbar('edit') +
|
|
7787
9388
|
renderAtomInspectorForm(payload) +
|
|
7788
9389
|
'<pre id="atom-inspector-preview" class="atom-inspector-preview" data-testid="atom-inspector-preview"></pre>' +
|
|
@@ -7808,20 +9409,24 @@ export function renderBacklogHtml() {
|
|
|
7808
9409
|
),
|
|
7809
9410
|
]);
|
|
7810
9411
|
|
|
7811
|
-
|
|
7812
|
-
renderDetailToolbar('view') +
|
|
9412
|
+
body.innerHTML = backRow +
|
|
9413
|
+
(subDrawer ? '' : renderDetailToolbar('view')) +
|
|
7813
9414
|
buildTaskDetailSections(item) +
|
|
7814
9415
|
wrapDetailAccordion('UI-референсы', uiRefsSection, { testid: 'ui-refs-accordion' }) +
|
|
7815
9416
|
wrapDetailAccordion('Evidence timeline', timelineSection, { testid: 'evidence-timeline-accordion' }) +
|
|
7816
9417
|
wrapDetailAccordion('Trace связи', linkageSection, { testid: 'linkage-drilldown-accordion' }) +
|
|
7817
9418
|
wrapDetailAccordion('PVRG область', pvrgSection, { testid: 'pvrg-task-scope-accordion' }) +
|
|
7818
|
-
renderDetailPromoteRow(item);
|
|
9419
|
+
(subDrawer ? '' : renderDetailPromoteRow(item));
|
|
7819
9420
|
}
|
|
7820
9421
|
|
|
7821
|
-
if (backHandler)
|
|
7822
|
-
|
|
7823
|
-
|
|
7824
|
-
|
|
9422
|
+
if (backHandler) bindBack(backHandler);
|
|
9423
|
+
if (!subDrawer) {
|
|
9424
|
+
bindDetailToolbar(item);
|
|
9425
|
+
bindUiReferenceActions(item);
|
|
9426
|
+
} else {
|
|
9427
|
+
bindUiReferenceActions(item, { root: body });
|
|
9428
|
+
}
|
|
9429
|
+
body.querySelectorAll('[data-action="open-memory-for-task"]').forEach((button) => {
|
|
7825
9430
|
button.addEventListener('click', () => {
|
|
7826
9431
|
openMemoryPanelForTask(button.dataset.workId);
|
|
7827
9432
|
});
|
|
@@ -7871,15 +9476,23 @@ export function renderBacklogHtml() {
|
|
|
7871
9476
|
function renderAtomInspectorForm(payload) {
|
|
7872
9477
|
const draft = payload.draft ?? {};
|
|
7873
9478
|
const labels = draft.labels ?? {};
|
|
9479
|
+
const lang = resolveAtomInspectorLang(draft);
|
|
9480
|
+
const warnings = Array.isArray(payload.warnings) ? payload.warnings : [];
|
|
9481
|
+
const warningHtml = warnings.length > 0
|
|
9482
|
+
? '<div class="atom-inspector-warnings" data-testid="atom-inspector-warnings">' +
|
|
9483
|
+
warnings.map((entry) => '<div>' + escapeHtml(typeof entry === 'string' ? entry : (entry.message || String(entry))) + '</div>').join('') +
|
|
9484
|
+
'</div>'
|
|
9485
|
+
: '';
|
|
7874
9486
|
const statusOptions = workItemStatusOptions.map((status) =>
|
|
7875
9487
|
'<option value="' + escapeHtml(status) + '"' + (labels['work.status'] === status ? ' selected' : '') + '>' + escapeHtml(status) + '</option>'
|
|
7876
9488
|
).join('');
|
|
7877
9489
|
|
|
7878
9490
|
return '<form id="atom-inspector-form" class="atom-inspector-form" data-testid="atom-inspector-form">' +
|
|
7879
|
-
|
|
7880
|
-
'<div class="atom-inspector-field"><label
|
|
7881
|
-
'<div class="atom-inspector-field"><label
|
|
7882
|
-
'<div class="atom-inspector-field"><label
|
|
9491
|
+
warningHtml +
|
|
9492
|
+
'<div class="atom-inspector-field"><label>Atom name<span class="atom-inspector-lang-badge" data-testid="atom-inspector-lang-badge">' + escapeHtml(lang) + '</span></label><input name="name" value="' + escapeHtml(draft.name ?? '') + '" readonly></div>' +
|
|
9493
|
+
'<div class="atom-inspector-field"><label>' + escapeHtml(atomSectionTitle(lang, 'basis')) + '</label><textarea name="basis">' + escapeHtml((draft.basis ?? []).join('\\n')) + '</textarea></div>' +
|
|
9494
|
+
'<div class="atom-inspector-field"><label>' + escapeHtml(atomSectionTitle(lang, 'vector')) + '</label><textarea name="vector">' + escapeHtml((draft.vector ?? []).join('\\n')) + '</textarea></div>' +
|
|
9495
|
+
'<div class="atom-inspector-field"><label>' + escapeHtml(atomSectionTitle(lang, 'goal')) + '</label><textarea name="goal">' + escapeHtml((draft.goal ?? []).join('\\n')) + '</textarea></div>' +
|
|
7883
9496
|
'<div class="atom-inspector-field"><label>work.status</label><select name="work.status">' + statusOptions + '</select></div>' +
|
|
7884
9497
|
'<div class="atom-inspector-field"><label>work.owner_role</label><input name="work.owner_role" value="' + escapeHtml(labels['work.owner_role'] ?? '') + '"></div>' +
|
|
7885
9498
|
'<div class="atom-inspector-field"><label>work.department</label><input name="work.department" value="' + escapeHtml(labels['work.department'] ?? '') + '"></div>' +
|
|
@@ -7889,8 +9502,8 @@ export function renderBacklogHtml() {
|
|
|
7889
9502
|
'<div class="atom-inspector-field"><label>work.blocker</label><input name="work.blocker" value="' + escapeHtml(labels['work.blocker'] ?? '') + '"></div>' +
|
|
7890
9503
|
'<div class="atom-inspector-field"><label>work.depends_on</label><input name="work.depends_on" value="' + escapeHtml(labels['work.depends_on'] ?? '') + '"></div>' +
|
|
7891
9504
|
'<div class="atom-inspector-field"><label>work.target_files</label><input name="work.target_files" value="' + escapeHtml(labels['work.target_files'] ?? '') + '"></div>' +
|
|
7892
|
-
'<div class="atom-inspector-field"><label
|
|
7893
|
-
'<div class="atom-inspector-field"><label
|
|
9505
|
+
'<div class="atom-inspector-field"><label>' + escapeHtml(atomSectionTitle(lang, 'checks')) + '</label><textarea name="checks">' + escapeHtml((draft.checks ?? []).join('\\n')) + '</textarea></div>' +
|
|
9506
|
+
'<div class="atom-inspector-field"><label>' + escapeHtml(atomSectionTitle(lang, 'evidence')) + '</label><textarea name="evidence">' + escapeHtml((draft.evidence ?? []).join('\\n')) + '</textarea></div>' +
|
|
7894
9507
|
'<div class="atom-inspector-actions">' +
|
|
7895
9508
|
'<button type="button" data-action="proposal" data-testid="atom-inspector-propose">Preview proposal</button>' +
|
|
7896
9509
|
'<button type="button" data-action="apply" data-testid="atom-inspector-apply">Apply to backlog</button>' +
|
|
@@ -7997,7 +9610,7 @@ export function renderBacklogHtml() {
|
|
|
7997
9610
|
}
|
|
7998
9611
|
|
|
7999
9612
|
function closeTaskDetails() {
|
|
8000
|
-
|
|
9613
|
+
closeDetailStackFully();
|
|
8001
9614
|
detailDrawer.classList.remove('is-open');
|
|
8002
9615
|
detailOverlay.classList.remove('is-open');
|
|
8003
9616
|
detailDrawer.setAttribute('aria-hidden', 'true');
|
|
@@ -8109,10 +9722,10 @@ export function renderBacklogHtml() {
|
|
|
8109
9722
|
}
|
|
8110
9723
|
|
|
8111
9724
|
function renderSemanticCore(item) {
|
|
8112
|
-
if (!item.
|
|
9725
|
+
if (!item.goal) return '';
|
|
8113
9726
|
|
|
8114
|
-
return '<section class="semantic-core" aria-label="
|
|
8115
|
-
'<div class="semantic-line">' + escapeHtml(preview(item.
|
|
9727
|
+
return '<section class="semantic-core" aria-label="Цель задачи">' +
|
|
9728
|
+
'<div class="semantic-line">' + escapeHtml(preview(item.goal)) + '</div>' +
|
|
8116
9729
|
'</section>';
|
|
8117
9730
|
}
|
|
8118
9731
|
|
|
@@ -8148,22 +9761,22 @@ export function renderBacklogHtml() {
|
|
|
8148
9761
|
'</div>';
|
|
8149
9762
|
}
|
|
8150
9763
|
|
|
8151
|
-
function renderIssueFooter(item, { queueKind = null } = {}) {
|
|
8152
|
-
const
|
|
8153
|
-
?
|
|
8154
|
-
: '';
|
|
8155
|
-
const leftTags =
|
|
9764
|
+
function renderIssueFooter(item, { queueKind = null, surface = 'default' } = {}) {
|
|
9765
|
+
const secondaryBadge = surface === 'board'
|
|
9766
|
+
? renderWorkItemClassifierBadge(item)
|
|
9767
|
+
: ((item.status || queueKind) ? renderStatusBadge(item.status, queueKind) : '');
|
|
9768
|
+
const leftTags = renderWorkItemIssueKeyChip(item) + secondaryBadge;
|
|
8156
9769
|
const owner = item.ownerRole || item.department || 'WG';
|
|
8157
9770
|
return '<div class="issue-footer">' +
|
|
8158
9771
|
'<div class="issue-footer-left">' + leftTags + '</div>' +
|
|
8159
|
-
'<div class="issue-footer-right"
|
|
9772
|
+
'<div class="issue-footer-right">' + renderOwnerAvatar(owner, { title: owner }) + '</div>' +
|
|
8160
9773
|
'</div>';
|
|
8161
9774
|
}
|
|
8162
9775
|
|
|
8163
9776
|
function renderStatusBadge(status, queueKind = null) {
|
|
8164
9777
|
if (queueKind === 'planned') {
|
|
8165
9778
|
return renderClientUiBadge({
|
|
8166
|
-
label: '
|
|
9779
|
+
label: t('status.planned'),
|
|
8167
9780
|
tone: 'accent',
|
|
8168
9781
|
title: 'backlog, зависимости выполнены',
|
|
8169
9782
|
testId: 'status-planned',
|
|
@@ -8231,17 +9844,6 @@ export function renderBacklogHtml() {
|
|
|
8231
9844
|
return normalized.length > 110 ? normalized.slice(0, 107) + '...' : normalized;
|
|
8232
9845
|
}
|
|
8233
9846
|
|
|
8234
|
-
function issueKey(id) {
|
|
8235
|
-
const normalized = String(id || '').replace(/[^a-zA-Z0-9]+/g, '-').replace(/^-|-$/g, '').toUpperCase();
|
|
8236
|
-
return normalized || 'WG';
|
|
8237
|
-
}
|
|
8238
|
-
|
|
8239
|
-
function ownerInitials(value) {
|
|
8240
|
-
const words = String(value || 'WG').split(/[^a-zA-Zа-яА-Я0-9]+/).filter(Boolean);
|
|
8241
|
-
const initials = words.slice(0, 2).map((word) => word[0]).join('').toUpperCase();
|
|
8242
|
-
return initials || 'WG';
|
|
8243
|
-
}
|
|
8244
|
-
|
|
8245
9847
|
function countByStatus(items) {
|
|
8246
9848
|
return items.reduce((counts, item) => {
|
|
8247
9849
|
counts[item.status] = (counts[item.status] || 0) + 1;
|
|
@@ -8252,15 +9854,6 @@ export function renderBacklogHtml() {
|
|
|
8252
9854
|
function countGroupItems(counts, group) {
|
|
8253
9855
|
return group.statuses.reduce((sum, status) => sum + (counts[status] || 0), 0);
|
|
8254
9856
|
}
|
|
8255
|
-
|
|
8256
|
-
function escapeHtml(value) {
|
|
8257
|
-
return String(value)
|
|
8258
|
-
.replace(/&/g, '&')
|
|
8259
|
-
.replace(/</g, '<')
|
|
8260
|
-
.replace(/>/g, '>')
|
|
8261
|
-
.replace(/"/g, '"')
|
|
8262
|
-
.replace(/'/g, ''');
|
|
8263
|
-
}
|
|
8264
9857
|
</script>
|
|
8265
9858
|
</body>
|
|
8266
9859
|
</html>`;
|
|
@@ -8272,6 +9865,7 @@ export function createBacklogUiServer(options = {}) {
|
|
|
8272
9865
|
const journalPath = options.journalPath ?? 'work/worker-runs.jsonl';
|
|
8273
9866
|
const auditPath = options.auditPath ?? 'work/daemon-audit.jsonl';
|
|
8274
9867
|
const pathOptions = { backlogPath, journalPath, auditPath };
|
|
9868
|
+
const uiEventsHub = createBacklogUiEventsHub();
|
|
8275
9869
|
let hostReady = ensureHostStateInitialized(hostState, {
|
|
8276
9870
|
hostLabel: options.hostLabel ?? 'Work Graph',
|
|
8277
9871
|
});
|
|
@@ -8284,6 +9878,10 @@ export function createBacklogUiServer(options = {}) {
|
|
|
8284
9878
|
const cwd = requestCtx.repoRoot;
|
|
8285
9879
|
const serverOptions = { cwd, backlogPath, journalPath, auditPath };
|
|
8286
9880
|
|
|
9881
|
+
if (handlePublicSiteRequest(request, response, url)) {
|
|
9882
|
+
return;
|
|
9883
|
+
}
|
|
9884
|
+
|
|
8287
9885
|
if (url.pathname === '/api/prompt-rules-projection' && method === 'GET') {
|
|
8288
9886
|
try {
|
|
8289
9887
|
const ruleId = url.searchParams.get('ruleId') ?? url.searchParams.get('id') ?? undefined;
|
|
@@ -8815,6 +10413,23 @@ export function createBacklogUiServer(options = {}) {
|
|
|
8815
10413
|
return;
|
|
8816
10414
|
}
|
|
8817
10415
|
|
|
10416
|
+
if (url.pathname === '/api/ui-locale' && method === 'POST') {
|
|
10417
|
+
try {
|
|
10418
|
+
const rawBody = await readRequestBody(request);
|
|
10419
|
+
const body = rawBody ? JSON.parse(rawBody) : {};
|
|
10420
|
+
const locale = resolveUiLocale({ queryLocale: body.locale });
|
|
10421
|
+
sendJson(response, 200, { ok: true, locale }, {
|
|
10422
|
+
'Set-Cookie': `${UI_LOCALE_COOKIE}=${encodeURIComponent(locale)}; Path=/; Max-Age=31536000; SameSite=Lax`,
|
|
10423
|
+
});
|
|
10424
|
+
} catch (error) {
|
|
10425
|
+
sendJson(response, 422, {
|
|
10426
|
+
error: 'failed_to_set_ui_locale',
|
|
10427
|
+
message: error instanceof Error ? error.message : String(error),
|
|
10428
|
+
});
|
|
10429
|
+
}
|
|
10430
|
+
return;
|
|
10431
|
+
}
|
|
10432
|
+
|
|
8818
10433
|
if (method !== 'GET') {
|
|
8819
10434
|
sendText(response, 405, 'Method Not Allowed');
|
|
8820
10435
|
return;
|
|
@@ -8850,6 +10465,50 @@ export function createBacklogUiServer(options = {}) {
|
|
|
8850
10465
|
return;
|
|
8851
10466
|
}
|
|
8852
10467
|
|
|
10468
|
+
if (url.pathname === '/api/backlog-revision' && method === 'GET') {
|
|
10469
|
+
try {
|
|
10470
|
+
const items = await readWorkItemsFromRepo({ cwd, backlogPath });
|
|
10471
|
+
sendJson(response, 200, computeBacklogRevision(items));
|
|
10472
|
+
} catch (error) {
|
|
10473
|
+
sendJson(response, 500, {
|
|
10474
|
+
error: 'failed_to_compute_backlog_revision',
|
|
10475
|
+
message: error instanceof Error ? error.message : String(error),
|
|
10476
|
+
});
|
|
10477
|
+
}
|
|
10478
|
+
return;
|
|
10479
|
+
}
|
|
10480
|
+
|
|
10481
|
+
if (url.pathname === '/api/ui-events/stream' && method === 'GET') {
|
|
10482
|
+
try {
|
|
10483
|
+
await uiEventsHub.ensureStarted({ cwd, backlogPath });
|
|
10484
|
+
uiEventsHub.handleSse(request, response);
|
|
10485
|
+
} catch (error) {
|
|
10486
|
+
sendJson(response, 500, {
|
|
10487
|
+
error: 'failed_to_open_ui_events_stream',
|
|
10488
|
+
message: error instanceof Error ? error.message : String(error),
|
|
10489
|
+
});
|
|
10490
|
+
}
|
|
10491
|
+
return;
|
|
10492
|
+
}
|
|
10493
|
+
|
|
10494
|
+
if (url.pathname === '/api/app-version' && method === 'GET') {
|
|
10495
|
+
try {
|
|
10496
|
+
const checkUpdate = url.searchParams.get('checkUpdate') === '1'
|
|
10497
|
+
|| url.searchParams.get('checkUpdate') === 'true';
|
|
10498
|
+
const payload = await buildAppVersionResponse({
|
|
10499
|
+
cwd,
|
|
10500
|
+
checkUpdate,
|
|
10501
|
+
});
|
|
10502
|
+
sendJson(response, 200, payload);
|
|
10503
|
+
} catch (error) {
|
|
10504
|
+
sendJson(response, 500, {
|
|
10505
|
+
error: 'failed_to_read_app_version',
|
|
10506
|
+
message: error instanceof Error ? error.message : String(error),
|
|
10507
|
+
});
|
|
10508
|
+
}
|
|
10509
|
+
return;
|
|
10510
|
+
}
|
|
10511
|
+
|
|
8853
10512
|
if (url.pathname === '/api/snapshot') {
|
|
8854
10513
|
try {
|
|
8855
10514
|
const snapshot = await readBacklogSnapshot({ cwd, backlogPath });
|
|
@@ -9025,6 +10684,13 @@ export function createBacklogUiServer(options = {}) {
|
|
|
9025
10684
|
return;
|
|
9026
10685
|
}
|
|
9027
10686
|
|
|
10687
|
+
if (tryServePublicIconsAsset(url, response)) {
|
|
10688
|
+
return;
|
|
10689
|
+
}
|
|
10690
|
+
if (tryServePublicAvatarsAsset(url, response)) {
|
|
10691
|
+
return;
|
|
10692
|
+
}
|
|
10693
|
+
|
|
9028
10694
|
if (url.pathname === '/favicon.ico' && method === 'GET') {
|
|
9029
10695
|
response.writeHead(204);
|
|
9030
10696
|
response.end();
|
|
@@ -9106,8 +10772,13 @@ export function createBacklogUiServer(options = {}) {
|
|
|
9106
10772
|
return;
|
|
9107
10773
|
}
|
|
9108
10774
|
|
|
9109
|
-
if (url.pathname === '/' || url.pathname === '/index.html') {
|
|
9110
|
-
|
|
10775
|
+
if (url.pathname === '/app' || url.pathname === '/app/' || url.pathname === '/app/index.html') {
|
|
10776
|
+
const locale = resolveUiLocale({
|
|
10777
|
+
cookieHeader: request.headers.cookie,
|
|
10778
|
+
acceptLanguage: request.headers['accept-language'],
|
|
10779
|
+
queryLocale: url.searchParams.get('locale'),
|
|
10780
|
+
});
|
|
10781
|
+
sendHtml(response, 200, renderBacklogHtml({ locale }));
|
|
9111
10782
|
return;
|
|
9112
10783
|
}
|
|
9113
10784
|
|
|
@@ -9131,10 +10802,11 @@ export async function startBacklogUiServer(options = {}) {
|
|
|
9131
10802
|
return { server, host, port };
|
|
9132
10803
|
}
|
|
9133
10804
|
|
|
9134
|
-
function sendJson(response, statusCode, payload) {
|
|
10805
|
+
function sendJson(response, statusCode, payload, extraHeaders = {}) {
|
|
9135
10806
|
response.writeHead(statusCode, {
|
|
9136
10807
|
'content-type': 'application/json; charset=utf-8',
|
|
9137
10808
|
'cache-control': 'no-store',
|
|
10809
|
+
...extraHeaders,
|
|
9138
10810
|
});
|
|
9139
10811
|
response.end(`${JSON.stringify(payload, null, 2)}\n`);
|
|
9140
10812
|
}
|