@dflat-core/web 1.7.2072 → 1.7.2074
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 +211 -207
- package/assets/components/bootstrap-lite.scss +1667 -0
- package/assets/components/icons.scss +723 -0
- package/assets/components/modals.scss +216 -62
- package/assets/images/icons/fa/500px.svg +6 -0
- package/assets/images/icons/fa/address-book-o.svg +4 -0
- package/assets/images/icons/fa/address-book.svg +3 -0
- package/assets/images/icons/fa/adjust.svg +1 -0
- package/assets/images/icons/fa/adn.svg +1 -0
- package/assets/images/icons/fa/align-center.svg +2 -0
- package/assets/images/icons/fa/align-justify.svg +2 -0
- package/assets/images/icons/fa/align-left.svg +2 -0
- package/assets/images/icons/fa/align-right.svg +2 -0
- package/assets/images/icons/fa/amazon.svg +5 -0
- package/assets/images/icons/fa/ambulance.svg +3 -0
- package/assets/images/icons/fa/anchor.svg +3 -0
- package/assets/images/icons/fa/android.svg +3 -0
- package/assets/images/icons/fa/angellist.svg +6 -0
- package/assets/images/icons/fa/angle-double-down.svg +2 -0
- package/assets/images/icons/fa/angle-double-left.svg +2 -0
- package/assets/images/icons/fa/angle-double-right.svg +2 -0
- package/assets/images/icons/fa/angle-double-up.svg +2 -0
- package/assets/images/icons/fa/angle-down.svg +1 -0
- package/assets/images/icons/fa/angle-left.svg +1 -0
- package/assets/images/icons/fa/angle-right.svg +1 -0
- package/assets/images/icons/fa/angle-up.svg +1 -0
- package/assets/images/icons/fa/apple.svg +2 -0
- package/assets/images/icons/fa/archive.svg +2 -0
- package/assets/images/icons/fa/area-chart.svg +1 -0
- package/assets/images/icons/fa/arrow-circle-down.svg +2 -0
- package/assets/images/icons/fa/arrow-circle-left.svg +2 -0
- package/assets/images/icons/fa/arrow-circle-o-down.svg +2 -0
- package/assets/images/icons/fa/arrow-circle-o-left.svg +2 -0
- package/assets/images/icons/fa/arrow-circle-o-right.svg +2 -0
- package/assets/images/icons/fa/arrow-circle-o-up.svg +2 -0
- package/assets/images/icons/fa/arrow-circle-right.svg +2 -0
- package/assets/images/icons/fa/arrow-circle-up.svg +2 -0
- package/assets/images/icons/fa/arrow-down.svg +1 -0
- package/assets/images/icons/fa/arrow-left.svg +2 -0
- package/assets/images/icons/fa/arrow-right.svg +1 -0
- package/assets/images/icons/fa/arrow-up.svg +2 -0
- package/assets/images/icons/fa/arrows-alt.svg +3 -0
- package/assets/images/icons/fa/arrows-h.svg +1 -0
- package/assets/images/icons/fa/arrows-v.svg +1 -0
- package/assets/images/icons/fa/arrows.svg +2 -0
- package/assets/images/icons/fa/asl-interpreting.svg +6 -0
- package/assets/images/icons/fa/assistive-listening-systems.svg +5 -0
- package/assets/images/icons/fa/asterisk.svg +2 -0
- package/assets/images/icons/fa/at.svg +4 -0
- package/assets/images/icons/fa/audio-description.svg +5 -0
- package/assets/images/icons/fa/automobile.svg +3 -0
- package/assets/images/icons/fa/backward.svg +1 -0
- package/assets/images/icons/fa/balance-scale.svg +4 -0
- package/assets/images/icons/fa/ban.svg +2 -0
- package/assets/images/icons/fa/bandcamp.svg +1 -0
- package/assets/images/icons/fa/bar-chart-o.svg +1 -0
- package/assets/images/icons/fa/barcode.svg +2 -0
- package/assets/images/icons/fa/bathtub.svg +6 -0
- package/assets/images/icons/fa/battery-0.svg +2 -0
- package/assets/images/icons/fa/battery-1.svg +2 -0
- package/assets/images/icons/fa/battery-2.svg +2 -0
- package/assets/images/icons/fa/battery-3.svg +2 -0
- package/assets/images/icons/fa/battery-4.svg +2 -0
- package/assets/images/icons/fa/beer.svg +1 -0
- package/assets/images/icons/fa/behance-square.svg +3 -0
- package/assets/images/icons/fa/behance.svg +3 -0
- package/assets/images/icons/fa/bell-o.svg +3 -0
- package/assets/images/icons/fa/bell-slash-o.svg +3 -0
- package/assets/images/icons/fa/bell-slash.svg +3 -0
- package/assets/images/icons/fa/bell.svg +2 -0
- package/assets/images/icons/fa/bicycle.svg +4 -0
- package/assets/images/icons/fa/binoculars.svg +2 -0
- package/assets/images/icons/fa/birthday-cake.svg +5 -0
- package/assets/images/icons/fa/bitbucket-square.svg +4 -0
- package/assets/images/icons/fa/bitbucket.svg +4 -0
- package/assets/images/icons/fa/bitcoin.svg +3 -0
- package/assets/images/icons/fa/black-tie.svg +1 -0
- package/assets/images/icons/fa/blind.svg +4 -0
- package/assets/images/icons/fa/bluetooth-b.svg +1 -0
- package/assets/images/icons/fa/bluetooth.svg +2 -0
- package/assets/images/icons/fa/bold.svg +4 -0
- package/assets/images/icons/fa/bomb.svg +4 -0
- package/assets/images/icons/fa/book.svg +4 -0
- package/assets/images/icons/fa/bookmark-o.svg +2 -0
- package/assets/images/icons/fa/bookmark.svg +1 -0
- package/assets/images/icons/fa/braille.svg +7 -0
- package/assets/images/icons/fa/briefcase.svg +2 -0
- package/assets/images/icons/fa/bug.svg +3 -0
- package/assets/images/icons/fa/building-o.svg +10 -0
- package/assets/images/icons/fa/building.svg +8 -0
- package/assets/images/icons/fa/bullhorn.svg +2 -0
- package/assets/images/icons/fa/bullseye.svg +3 -0
- package/assets/images/icons/fa/bus.svg +3 -0
- package/assets/images/icons/fa/buysellads.svg +1 -0
- package/assets/images/icons/fa/cab.svg +3 -0
- package/assets/images/icons/fa/calculator.svg +6 -0
- package/assets/images/icons/fa/calendar-check-o.svg +3 -0
- package/assets/images/icons/fa/calendar-minus-o.svg +3 -0
- package/assets/images/icons/fa/calendar-o.svg +2 -0
- package/assets/images/icons/fa/calendar-plus-o.svg +3 -0
- package/assets/images/icons/fa/calendar-times-o.svg +3 -0
- package/assets/images/icons/fa/calendar.svg +4 -0
- package/assets/images/icons/fa/camera-retro.svg +3 -0
- package/assets/images/icons/fa/camera.svg +2 -0
- package/assets/images/icons/fa/caret-down.svg +1 -0
- package/assets/images/icons/fa/caret-left.svg +1 -0
- package/assets/images/icons/fa/caret-right.svg +1 -0
- package/assets/images/icons/fa/caret-up.svg +1 -0
- package/assets/images/icons/fa/cart-arrow-down.svg +3 -0
- package/assets/images/icons/fa/cart-plus.svg +3 -0
- package/assets/images/icons/fa/cc-amex.svg +9 -0
- package/assets/images/icons/fa/cc-diners-club.svg +3 -0
- package/assets/images/icons/fa/cc-discover.svg +5 -0
- package/assets/images/icons/fa/cc-jcb.svg +4 -0
- package/assets/images/icons/fa/cc-mastercard.svg +11 -0
- package/assets/images/icons/fa/cc-paypal.svg +6 -0
- package/assets/images/icons/fa/cc-stripe.svg +5 -0
- package/assets/images/icons/fa/cc-visa.svg +3 -0
- package/assets/images/icons/fa/cc.svg +4 -0
- package/assets/images/icons/fa/certificate.svg +3 -0
- package/assets/images/icons/fa/chain.svg +4 -0
- package/assets/images/icons/fa/check-circle-o.svg +2 -0
- package/assets/images/icons/fa/check-circle.svg +2 -0
- package/assets/images/icons/fa/check-square-o.svg +3 -0
- package/assets/images/icons/fa/check-square.svg +2 -0
- package/assets/images/icons/fa/check.svg +1 -0
- package/assets/images/icons/fa/chevron-circle-down.svg +2 -0
- package/assets/images/icons/fa/chevron-circle-left.svg +2 -0
- package/assets/images/icons/fa/chevron-circle-right.svg +2 -0
- package/assets/images/icons/fa/chevron-circle-up.svg +2 -0
- package/assets/images/icons/fa/chevron-down.svg +1 -0
- package/assets/images/icons/fa/chevron-left.svg +1 -0
- package/assets/images/icons/fa/chevron-right.svg +1 -0
- package/assets/images/icons/fa/chevron-up.svg +1 -0
- package/assets/images/icons/fa/child.svg +2 -0
- package/assets/images/icons/fa/chrome.svg +2 -0
- package/assets/images/icons/fa/circle-o-notch.svg +2 -0
- package/assets/images/icons/fa/circle-o.svg +2 -0
- package/assets/images/icons/fa/circle-thin.svg +2 -0
- package/assets/images/icons/fa/circle.svg +1 -0
- package/assets/images/icons/fa/clock-o.svg +2 -0
- package/assets/images/icons/fa/clone.svg +2 -0
- package/assets/images/icons/fa/cloud-download.svg +2 -0
- package/assets/images/icons/fa/cloud-upload.svg +2 -0
- package/assets/images/icons/fa/cloud.svg +2 -0
- package/assets/images/icons/fa/cny.svg +2 -0
- package/assets/images/icons/fa/code-fork.svg +3 -0
- package/assets/images/icons/fa/code.svg +2 -0
- package/assets/images/icons/fa/codepen.svg +2 -0
- package/assets/images/icons/fa/codiepie.svg +3 -0
- package/assets/images/icons/fa/coffee.svg +2 -0
- package/assets/images/icons/fa/columns.svg +1 -0
- package/assets/images/icons/fa/comment-o.svg +3 -0
- package/assets/images/icons/fa/comment.svg +2 -0
- package/assets/images/icons/fa/commenting-o.svg +4 -0
- package/assets/images/icons/fa/commenting.svg +3 -0
- package/assets/images/icons/fa/comments-o.svg +4 -0
- package/assets/images/icons/fa/comments.svg +3 -0
- package/assets/images/icons/fa/compass.svg +2 -0
- package/assets/images/icons/fa/compress.svg +2 -0
- package/assets/images/icons/fa/connectdevelop.svg +7 -0
- package/assets/images/icons/fa/contao.svg +3 -0
- package/assets/images/icons/fa/copy.svg +2 -0
- package/assets/images/icons/fa/copyright.svg +3 -0
- package/assets/images/icons/fa/creative-commons.svg +5 -0
- package/assets/images/icons/fa/credit-card-alt.svg +1 -0
- package/assets/images/icons/fa/credit-card.svg +2 -0
- package/assets/images/icons/fa/crop.svg +2 -0
- package/assets/images/icons/fa/crosshairs.svg +3 -0
- package/assets/images/icons/fa/css3.svg +1 -0
- package/assets/images/icons/fa/cube.svg +2 -0
- package/assets/images/icons/fa/cubes.svg +3 -0
- package/assets/images/icons/fa/cut.svg +5 -0
- package/assets/images/icons/fa/cutlery.svg +2 -0
- package/assets/images/icons/fa/dashboard.svg +4 -0
- package/assets/images/icons/fa/dashcube.svg +1 -0
- package/assets/images/icons/fa/database.svg +3 -0
- package/assets/images/icons/fa/deafness.svg +4 -0
- package/assets/images/icons/fa/dedent.svg +3 -0
- package/assets/images/icons/fa/delicious.svg +2 -0
- package/assets/images/icons/fa/desktop.svg +2 -0
- package/assets/images/icons/fa/deviantart.svg +1 -0
- package/assets/images/icons/fa/diamond.svg +2 -0
- package/assets/images/icons/fa/digg.svg +2 -0
- package/assets/images/icons/fa/dollar.svg +4 -0
- package/assets/images/icons/fa/dot-circle-o.svg +2 -0
- package/assets/images/icons/fa/download.svg +2 -0
- package/assets/images/icons/fa/dribbble.svg +4 -0
- package/assets/images/icons/fa/drivers-license-o.svg +4 -0
- package/assets/images/icons/fa/drivers-license.svg +4 -0
- package/assets/images/icons/fa/dropbox.svg +1 -0
- package/assets/images/icons/fa/drupal.svg +5 -0
- package/assets/images/icons/fa/edge.svg +2 -0
- package/assets/images/icons/fa/edit.svg +3 -0
- package/assets/images/icons/fa/eercast.svg +5 -0
- package/assets/images/icons/fa/eject.svg +1 -0
- package/assets/images/icons/fa/ellipsis-h.svg +2 -0
- package/assets/images/icons/fa/ellipsis-v.svg +2 -0
- package/assets/images/icons/fa/envelope-o.svg +3 -0
- package/assets/images/icons/fa/envelope-open-o.svg +4 -0
- package/assets/images/icons/fa/envelope-open.svg +3 -0
- package/assets/images/icons/fa/envelope-square.svg +3 -0
- package/assets/images/icons/fa/envelope.svg +2 -0
- package/assets/images/icons/fa/envira.svg +3 -0
- package/assets/images/icons/fa/eraser.svg +1 -0
- package/assets/images/icons/fa/etsy.svg +3 -0
- package/assets/images/icons/fa/euro.svg +3 -0
- package/assets/images/icons/fa/exchange.svg +2 -0
- package/assets/images/icons/fa/exclamation-circle.svg +2 -0
- package/assets/images/icons/fa/exclamation.svg +1 -0
- package/assets/images/icons/fa/expand.svg +2 -0
- package/assets/images/icons/fa/expeditedssl.svg +5 -0
- package/assets/images/icons/fa/external-link-square.svg +2 -0
- package/assets/images/icons/fa/external-link.svg +2 -0
- package/assets/images/icons/fa/eye-slash.svg +4 -0
- package/assets/images/icons/fa/eye.svg +2 -0
- package/assets/images/icons/fa/eyedropper.svg +2 -0
- package/assets/images/icons/fa/fa.svg +2 -0
- package/assets/images/icons/fa/facebook-f.svg +1 -0
- package/assets/images/icons/fa/facebook-official.svg +1 -0
- package/assets/images/icons/fa/facebook-square.svg +2 -0
- package/assets/images/icons/fa/fast-backward.svg +2 -0
- package/assets/images/icons/fa/fast-forward.svg +2 -0
- package/assets/images/icons/fa/fax.svg +5 -0
- package/assets/images/icons/fa/feed.svg +3 -0
- package/assets/images/icons/fa/female.svg +2 -0
- package/assets/images/icons/fa/fighter-jet.svg +2 -0
- package/assets/images/icons/fa/file-code-o.svg +3 -0
- package/assets/images/icons/fa/file-excel-o.svg +3 -0
- package/assets/images/icons/fa/file-movie-o.svg +2 -0
- package/assets/images/icons/fa/file-o.svg +2 -0
- package/assets/images/icons/fa/file-pdf-o.svg +4 -0
- package/assets/images/icons/fa/file-photo-o.svg +2 -0
- package/assets/images/icons/fa/file-powerpoint-o.svg +2 -0
- package/assets/images/icons/fa/file-sound-o.svg +3 -0
- package/assets/images/icons/fa/file-text-o.svg +3 -0
- package/assets/images/icons/fa/file-text.svg +2 -0
- package/assets/images/icons/fa/file-word-o.svg +3 -0
- package/assets/images/icons/fa/file-zip-o.svg +3 -0
- package/assets/images/icons/fa/file.svg +1 -0
- package/assets/images/icons/fa/film.svg +5 -0
- package/assets/images/icons/fa/filter.svg +1 -0
- package/assets/images/icons/fa/fire-extinguisher.svg +3 -0
- package/assets/images/icons/fa/fire.svg +2 -0
- package/assets/images/icons/fa/firefox.svg +3 -0
- package/assets/images/icons/fa/first-order.svg +4 -0
- package/assets/images/icons/fa/flag-checkered.svg +4 -0
- package/assets/images/icons/fa/flag-o.svg +3 -0
- package/assets/images/icons/fa/flag.svg +2 -0
- package/assets/images/icons/fa/flash.svg +1 -0
- package/assets/images/icons/fa/flask.svg +1 -0
- package/assets/images/icons/fa/flickr.svg +2 -0
- package/assets/images/icons/fa/folder-o.svg +2 -0
- package/assets/images/icons/fa/folder-open-o.svg +3 -0
- package/assets/images/icons/fa/folder-open.svg +2 -0
- package/assets/images/icons/fa/folder.svg +1 -0
- package/assets/images/icons/fa/font.svg +3 -0
- package/assets/images/icons/fa/fonticons.svg +3 -0
- package/assets/images/icons/fa/fort-awesome.svg +4 -0
- package/assets/images/icons/fa/forumbee.svg +2 -0
- package/assets/images/icons/fa/forward.svg +1 -0
- package/assets/images/icons/fa/foursquare.svg +3 -0
- package/assets/images/icons/fa/free-code-camp.svg +7 -0
- package/assets/images/icons/fa/frown-o.svg +3 -0
- package/assets/images/icons/fa/gamepad.svg +3 -0
- package/assets/images/icons/fa/gbp.svg +2 -0
- package/assets/images/icons/fa/ge.svg +6 -0
- package/assets/images/icons/fa/gear.svg +4 -0
- package/assets/images/icons/fa/gears.svg +8 -0
- package/assets/images/icons/fa/genderless.svg +2 -0
- package/assets/images/icons/fa/get-pocket.svg +2 -0
- package/assets/images/icons/fa/gg-circle.svg +2 -0
- package/assets/images/icons/fa/gg.svg +1 -0
- package/assets/images/icons/fa/gift.svg +3 -0
- package/assets/images/icons/fa/git-square.svg +4 -0
- package/assets/images/icons/fa/git.svg +4 -0
- package/assets/images/icons/fa/github-alt.svg +4 -0
- package/assets/images/icons/fa/github-square.svg +5 -0
- package/assets/images/icons/fa/github.svg +5 -0
- package/assets/images/icons/fa/gitlab.svg +1 -0
- package/assets/images/icons/fa/gittip.svg +2 -0
- package/assets/images/icons/fa/glass.svg +1 -0
- package/assets/images/icons/fa/glide-g.svg +4 -0
- package/assets/images/icons/fa/glide.svg +4 -0
- package/assets/images/icons/fa/globe.svg +15 -0
- package/assets/images/icons/fa/google-plus-circle.svg +2 -0
- package/assets/images/icons/fa/google-plus-square.svg +2 -0
- package/assets/images/icons/fa/google-plus.svg +2 -0
- package/assets/images/icons/fa/google-wallet.svg +2 -0
- package/assets/images/icons/fa/google.svg +2 -0
- package/assets/images/icons/fa/grav.svg +7 -0
- package/assets/images/icons/fa/group.svg +4 -0
- package/assets/images/icons/fa/h-square.svg +2 -0
- package/assets/images/icons/fa/hand-grab-o.svg +4 -0
- package/assets/images/icons/fa/hand-lizard-o.svg +3 -0
- package/assets/images/icons/fa/hand-o-down.svg +4 -0
- package/assets/images/icons/fa/hand-o-left.svg +4 -0
- package/assets/images/icons/fa/hand-o-right.svg +4 -0
- package/assets/images/icons/fa/hand-o-up.svg +4 -0
- package/assets/images/icons/fa/hand-peace-o.svg +5 -0
- package/assets/images/icons/fa/hand-pointer-o.svg +4 -0
- package/assets/images/icons/fa/hand-scissors-o.svg +5 -0
- package/assets/images/icons/fa/hand-spock-o.svg +4 -0
- package/assets/images/icons/fa/hand-stop-o.svg +3 -0
- package/assets/images/icons/fa/handshake-o.svg +5 -0
- package/assets/images/icons/fa/hashtag.svg +3 -0
- package/assets/images/icons/fa/hdd-o.svg +3 -0
- package/assets/images/icons/fa/header.svg +5 -0
- package/assets/images/icons/fa/headphones.svg +3 -0
- package/assets/images/icons/fa/heart-o.svg +3 -0
- package/assets/images/icons/fa/heart.svg +2 -0
- package/assets/images/icons/fa/heartbeat.svg +3 -0
- package/assets/images/icons/fa/history.svg +3 -0
- package/assets/images/icons/fa/home.svg +2 -0
- package/assets/images/icons/fa/hospital-o.svg +8 -0
- package/assets/images/icons/fa/hotel.svg +2 -0
- package/assets/images/icons/fa/hourglass-1.svg +2 -0
- package/assets/images/icons/fa/hourglass-2.svg +2 -0
- package/assets/images/icons/fa/hourglass-3.svg +3 -0
- package/assets/images/icons/fa/hourglass-o.svg +3 -0
- package/assets/images/icons/fa/hourglass.svg +3 -0
- package/assets/images/icons/fa/houzz.svg +1 -0
- package/assets/images/icons/fa/html5.svg +1 -0
- package/assets/images/icons/fa/i-cursor.svg +1 -0
- package/assets/images/icons/fa/id-badge.svg +3 -0
- package/assets/images/icons/fa/imdb.svg +4 -0
- package/assets/images/icons/fa/inbox.svg +2 -0
- package/assets/images/icons/fa/indent.svg +3 -0
- package/assets/images/icons/fa/industry.svg +1 -0
- package/assets/images/icons/fa/info-circle.svg +2 -0
- package/assets/images/icons/fa/info.svg +2 -0
- package/assets/images/icons/fa/instagram.svg +4 -0
- package/assets/images/icons/fa/institution.svg +2 -0
- package/assets/images/icons/fa/internet-explorer.svg +3 -0
- package/assets/images/icons/fa/intersex.svg +3 -0
- package/assets/images/icons/fa/ioxhost.svg +3 -0
- package/assets/images/icons/fa/italic.svg +2 -0
- package/assets/images/icons/fa/joomla.svg +5 -0
- package/assets/images/icons/fa/jsfiddle.svg +3 -0
- package/assets/images/icons/fa/key.svg +3 -0
- package/assets/images/icons/fa/keyboard-o.svg +5 -0
- package/assets/images/icons/fa/language.svg +6 -0
- package/assets/images/icons/fa/laptop.svg +2 -0
- package/assets/images/icons/fa/lastfm-square.svg +4 -0
- package/assets/images/icons/fa/lastfm.svg +4 -0
- package/assets/images/icons/fa/leaf.svg +3 -0
- package/assets/images/icons/fa/leanpub.svg +3 -0
- package/assets/images/icons/fa/legal.svg +4 -0
- package/assets/images/icons/fa/lemon-o.svg +4 -0
- package/assets/images/icons/fa/level-down.svg +1 -0
- package/assets/images/icons/fa/level-up.svg +1 -0
- package/assets/images/icons/fa/life-bouy.svg +3 -0
- package/assets/images/icons/fa/lightbulb-o.svg +4 -0
- package/assets/images/icons/fa/line-chart.svg +2 -0
- package/assets/images/icons/fa/linkedin-square.svg +2 -0
- package/assets/images/icons/fa/linkedin.svg +2 -0
- package/assets/images/icons/fa/linode.svg +4 -0
- package/assets/images/icons/fa/linux.svg +16 -0
- package/assets/images/icons/fa/list-alt.svg +5 -0
- package/assets/images/icons/fa/list-ol.svg +4 -0
- package/assets/images/icons/fa/list-ul.svg +3 -0
- package/assets/images/icons/fa/list.svg +5 -0
- package/assets/images/icons/fa/location-arrow.svg +1 -0
- package/assets/images/icons/fa/lock.svg +1 -0
- package/assets/images/icons/fa/long-arrow-down.svg +1 -0
- package/assets/images/icons/fa/long-arrow-left.svg +1 -0
- package/assets/images/icons/fa/long-arrow-right.svg +1 -0
- package/assets/images/icons/fa/long-arrow-up.svg +1 -0
- package/assets/images/icons/fa/low-vision.svg +4 -0
- package/assets/images/icons/fa/magic.svg +2 -0
- package/assets/images/icons/fa/magnet.svg +2 -0
- package/assets/images/icons/fa/mail-forward.svg +2 -0
- package/assets/images/icons/fa/mail-reply-all.svg +2 -0
- package/assets/images/icons/fa/mail-reply.svg +2 -0
- package/assets/images/icons/fa/male.svg +2 -0
- package/assets/images/icons/fa/map-marker.svg +1 -0
- package/assets/images/icons/fa/map-o.svg +2 -0
- package/assets/images/icons/fa/map-pin.svg +2 -0
- package/assets/images/icons/fa/map-signs.svg +2 -0
- package/assets/images/icons/fa/map.svg +2 -0
- package/assets/images/icons/fa/mars-double.svg +4 -0
- package/assets/images/icons/fa/mars-stroke-h.svg +3 -0
- package/assets/images/icons/fa/mars-stroke-v.svg +3 -0
- package/assets/images/icons/fa/mars-stroke.svg +3 -0
- package/assets/images/icons/fa/mars.svg +2 -0
- package/assets/images/icons/fa/maxcdn.svg +1 -0
- package/assets/images/icons/fa/meanpath.svg +3 -0
- package/assets/images/icons/fa/medium.svg +2 -0
- package/assets/images/icons/fa/medkit.svg +2 -0
- package/assets/images/icons/fa/meetup.svg +9 -0
- package/assets/images/icons/fa/meh-o.svg +3 -0
- package/assets/images/icons/fa/mercury.svg +3 -0
- package/assets/images/icons/fa/microchip.svg +5 -0
- package/assets/images/icons/fa/microphone-slash.svg +3 -0
- package/assets/images/icons/fa/microphone.svg +2 -0
- package/assets/images/icons/fa/minus-circle.svg +2 -0
- package/assets/images/icons/fa/minus-square-o.svg +2 -0
- package/assets/images/icons/fa/minus-square.svg +2 -0
- package/assets/images/icons/fa/minus.svg +1 -0
- package/assets/images/icons/fa/mixcloud.svg +4 -0
- package/assets/images/icons/fa/mobile-phone.svg +2 -0
- package/assets/images/icons/fa/modx.svg +1 -0
- package/assets/images/icons/fa/money.svg +2 -0
- package/assets/images/icons/fa/moon-o.svg +2 -0
- package/assets/images/icons/fa/mortar-board.svg +2 -0
- package/assets/images/icons/fa/motorcycle.svg +4 -0
- package/assets/images/icons/fa/mouse-pointer.svg +1 -0
- package/assets/images/icons/fa/music.svg +2 -0
- package/assets/images/icons/fa/navicon.svg +2 -0
- package/assets/images/icons/fa/neuter.svg +2 -0
- package/assets/images/icons/fa/newspaper-o.svg +2 -0
- package/assets/images/icons/fa/object-group.svg +2 -0
- package/assets/images/icons/fa/object-ungroup.svg +2 -0
- package/assets/images/icons/fa/odnoklassniki-square.svg +3 -0
- package/assets/images/icons/fa/odnoklassniki.svg +3 -0
- package/assets/images/icons/fa/opencart.svg +3 -0
- package/assets/images/icons/fa/openid.svg +1 -0
- package/assets/images/icons/fa/opera.svg +3 -0
- package/assets/images/icons/fa/optin-monster.svg +17 -0
- package/assets/images/icons/fa/pagelines.svg +4 -0
- package/assets/images/icons/fa/paint-brush.svg +2 -0
- package/assets/images/icons/fa/paperclip.svg +3 -0
- package/assets/images/icons/fa/paragraph.svg +2 -0
- package/assets/images/icons/fa/paste.svg +2 -0
- package/assets/images/icons/fa/pause-circle-o.svg +2 -0
- package/assets/images/icons/fa/pause-circle.svg +2 -0
- package/assets/images/icons/fa/pause.svg +1 -0
- package/assets/images/icons/fa/paw.svg +4 -0
- package/assets/images/icons/fa/paypal.svg +3 -0
- package/assets/images/icons/fa/pencil-square.svg +2 -0
- package/assets/images/icons/fa/pencil.svg +2 -0
- package/assets/images/icons/fa/percent.svg +3 -0
- package/assets/images/icons/fa/phone-square.svg +4 -0
- package/assets/images/icons/fa/phone.svg +3 -0
- package/assets/images/icons/fa/photo.svg +2 -0
- package/assets/images/icons/fa/pie-chart.svg +1 -0
- package/assets/images/icons/fa/pied-piper-alt.svg +8 -0
- package/assets/images/icons/fa/pied-piper-pp.svg +3 -0
- package/assets/images/icons/fa/pied-piper.svg +3 -0
- package/assets/images/icons/fa/pinterest-p.svg +3 -0
- package/assets/images/icons/fa/pinterest-square.svg +3 -0
- package/assets/images/icons/fa/pinterest.svg +3 -0
- package/assets/images/icons/fa/plane.svg +2 -0
- package/assets/images/icons/fa/play-circle-o.svg +2 -0
- package/assets/images/icons/fa/play-circle.svg +2 -0
- package/assets/images/icons/fa/play.svg +1 -0
- package/assets/images/icons/fa/plug.svg +2 -0
- package/assets/images/icons/fa/plus-circle.svg +2 -0
- package/assets/images/icons/fa/plus-square-o.svg +2 -0
- package/assets/images/icons/fa/plus-square.svg +2 -0
- package/assets/images/icons/fa/plus.svg +1 -0
- package/assets/images/icons/fa/podcast.svg +5 -0
- package/assets/images/icons/fa/power-off.svg +2 -0
- package/assets/images/icons/fa/print.svg +2 -0
- package/assets/images/icons/fa/product-hunt.svg +2 -0
- package/assets/images/icons/fa/puzzle-piece.svg +4 -0
- package/assets/images/icons/fa/qq.svg +4 -0
- package/assets/images/icons/fa/qrcode.svg +2 -0
- package/assets/images/icons/fa/question-circle-o.svg +4 -0
- package/assets/images/icons/fa/question-circle.svg +3 -0
- package/assets/images/icons/fa/question.svg +2 -0
- package/assets/images/icons/fa/quora.svg +3 -0
- package/assets/images/icons/fa/quote-left.svg +2 -0
- package/assets/images/icons/fa/quote-right.svg +2 -0
- package/assets/images/icons/fa/ra.svg +4 -0
- package/assets/images/icons/fa/random.svg +4 -0
- package/assets/images/icons/fa/ravelry.svg +6 -0
- package/assets/images/icons/fa/recycle.svg +4 -0
- package/assets/images/icons/fa/reddit-alien.svg +4 -0
- package/assets/images/icons/fa/reddit-square.svg +4 -0
- package/assets/images/icons/fa/reddit.svg +4 -0
- package/assets/images/icons/fa/refresh.svg +3 -0
- package/assets/images/icons/fa/registered.svg +3 -0
- package/assets/images/icons/fa/remove.svg +2 -0
- package/assets/images/icons/fa/renren.svg +2 -0
- package/assets/images/icons/fa/retweet.svg +3 -0
- package/assets/images/icons/fa/road.svg +2 -0
- package/assets/images/icons/fa/rocket.svg +2 -0
- package/assets/images/icons/fa/rotate-left.svg +2 -0
- package/assets/images/icons/fa/rotate-right.svg +2 -0
- package/assets/images/icons/fa/rss-square.svg +3 -0
- package/assets/images/icons/fa/ruble.svg +2 -0
- package/assets/images/icons/fa/rupee.svg +2 -0
- package/assets/images/icons/fa/safari.svg +6 -0
- package/assets/images/icons/fa/save.svg +2 -0
- package/assets/images/icons/fa/scribd.svg +4 -0
- package/assets/images/icons/fa/search-minus.svg +3 -0
- package/assets/images/icons/fa/search-plus.svg +3 -0
- package/assets/images/icons/fa/search.svg +2 -0
- package/assets/images/icons/fa/sellsy.svg +3 -0
- package/assets/images/icons/fa/send-o.svg +2 -0
- package/assets/images/icons/fa/send.svg +1 -0
- package/assets/images/icons/fa/server.svg +2 -0
- package/assets/images/icons/fa/share-alt-square.svg +2 -0
- package/assets/images/icons/fa/share-alt.svg +2 -0
- package/assets/images/icons/fa/share-square-o.svg +3 -0
- package/assets/images/icons/fa/share-square.svg +2 -0
- package/assets/images/icons/fa/shekel.svg +2 -0
- package/assets/images/icons/fa/shield.svg +2 -0
- package/assets/images/icons/fa/ship.svg +5 -0
- package/assets/images/icons/fa/shirtsinbulk.svg +7 -0
- package/assets/images/icons/fa/shopping-bag.svg +2 -0
- package/assets/images/icons/fa/shopping-basket.svg +4 -0
- package/assets/images/icons/fa/shopping-cart.svg +2 -0
- package/assets/images/icons/fa/shower.svg +6 -0
- package/assets/images/icons/fa/sign-in.svg +2 -0
- package/assets/images/icons/fa/sign-out.svg +2 -0
- package/assets/images/icons/fa/signal.svg +2 -0
- package/assets/images/icons/fa/signing.svg +5 -0
- package/assets/images/icons/fa/simplybuilt.svg +2 -0
- package/assets/images/icons/fa/sitemap.svg +3 -0
- package/assets/images/icons/fa/skyatlas.svg +4 -0
- package/assets/images/icons/fa/skype.svg +4 -0
- package/assets/images/icons/fa/slack.svg +3 -0
- package/assets/images/icons/fa/sliders.svg +2 -0
- package/assets/images/icons/fa/slideshare.svg +4 -0
- package/assets/images/icons/fa/smile-o.svg +3 -0
- package/assets/images/icons/fa/snapchat-ghost.svg +3 -0
- package/assets/images/icons/fa/snapchat-square.svg +4 -0
- package/assets/images/icons/fa/snapchat.svg +4 -0
- package/assets/images/icons/fa/snowflake-o.svg +5 -0
- package/assets/images/icons/fa/soccer-ball-o.svg +2 -0
- package/assets/images/icons/fa/sort-alpha-asc.svg +3 -0
- package/assets/images/icons/fa/sort-alpha-desc.svg +3 -0
- package/assets/images/icons/fa/sort-amount-asc.svg +3 -0
- package/assets/images/icons/fa/sort-amount-desc.svg +3 -0
- package/assets/images/icons/fa/sort-down.svg +1 -0
- package/assets/images/icons/fa/sort-numeric-asc.svg +3 -0
- package/assets/images/icons/fa/sort-numeric-desc.svg +3 -0
- package/assets/images/icons/fa/sort-up.svg +1 -0
- package/assets/images/icons/fa/soundcloud.svg +7 -0
- package/assets/images/icons/fa/space-shuttle.svg +3 -0
- package/assets/images/icons/fa/spinner.svg +4 -0
- package/assets/images/icons/fa/spoon.svg +1 -0
- package/assets/images/icons/fa/spotify.svg +3 -0
- package/assets/images/icons/fa/square-o.svg +2 -0
- package/assets/images/icons/fa/square.svg +1 -0
- package/assets/images/icons/fa/stack-exchange.svg +2 -0
- package/assets/images/icons/fa/stack-overflow.svg +1 -0
- package/assets/images/icons/fa/star-half-empty.svg +2 -0
- package/assets/images/icons/fa/star-half.svg +1 -0
- package/assets/images/icons/fa/star-o.svg +2 -0
- package/assets/images/icons/fa/star.svg +2 -0
- package/assets/images/icons/fa/steam-square.svg +4 -0
- package/assets/images/icons/fa/steam.svg +3 -0
- package/assets/images/icons/fa/step-backward.svg +1 -0
- package/assets/images/icons/fa/step-forward.svg +1 -0
- package/assets/images/icons/fa/stethoscope.svg +3 -0
- package/assets/images/icons/fa/sticky-note-o.svg +2 -0
- package/assets/images/icons/fa/sticky-note.svg +1 -0
- package/assets/images/icons/fa/stop-circle-o.svg +2 -0
- package/assets/images/icons/fa/stop-circle.svg +2 -0
- package/assets/images/icons/fa/stop.svg +1 -0
- package/assets/images/icons/fa/street-view.svg +4 -0
- package/assets/images/icons/fa/strikethrough.svg +3 -0
- package/assets/images/icons/fa/stumbleupon-circle.svg +3 -0
- package/assets/images/icons/fa/stumbleupon.svg +2 -0
- package/assets/images/icons/fa/subscript.svg +3 -0
- package/assets/images/icons/fa/subway.svg +2 -0
- package/assets/images/icons/fa/suitcase.svg +2 -0
- package/assets/images/icons/fa/sun-o.svg +3 -0
- package/assets/images/icons/fa/superpowers.svg +2 -0
- package/assets/images/icons/fa/superscript.svg +3 -0
- package/assets/images/icons/fa/table.svg +5 -0
- package/assets/images/icons/fa/tablet.svg +2 -0
- package/assets/images/icons/fa/tag.svg +2 -0
- package/assets/images/icons/fa/tags.svg +2 -0
- package/assets/images/icons/fa/tasks.svg +2 -0
- package/assets/images/icons/fa/telegram.svg +2 -0
- package/assets/images/icons/fa/tencent-weibo.svg +3 -0
- package/assets/images/icons/fa/terminal.svg +2 -0
- package/assets/images/icons/fa/text-height.svg +4 -0
- package/assets/images/icons/fa/text-width.svg +5 -0
- package/assets/images/icons/fa/th-large.svg +2 -0
- package/assets/images/icons/fa/th-list.svg +3 -0
- package/assets/images/icons/fa/th.svg +4 -0
- package/assets/images/icons/fa/themeisle.svg +8 -0
- package/assets/images/icons/fa/thermometer-0.svg +2 -0
- package/assets/images/icons/fa/thermometer-1.svg +3 -0
- package/assets/images/icons/fa/thermometer-2.svg +3 -0
- package/assets/images/icons/fa/thermometer-3.svg +3 -0
- package/assets/images/icons/fa/thermometer-4.svg +3 -0
- package/assets/images/icons/fa/thumb-tack.svg +2 -0
- package/assets/images/icons/fa/thumbs-down.svg +3 -0
- package/assets/images/icons/fa/thumbs-o-down.svg +4 -0
- package/assets/images/icons/fa/thumbs-o-up.svg +4 -0
- package/assets/images/icons/fa/thumbs-up.svg +3 -0
- package/assets/images/icons/fa/ticket.svg +2 -0
- package/assets/images/icons/fa/times-circle-o.svg +3 -0
- package/assets/images/icons/fa/times-circle.svg +2 -0
- package/assets/images/icons/fa/times-rectangle-o.svg +2 -0
- package/assets/images/icons/fa/times-rectangle.svg +2 -0
- package/assets/images/icons/fa/tint.svg +2 -0
- package/assets/images/icons/fa/toggle-down.svg +2 -0
- package/assets/images/icons/fa/toggle-left.svg +2 -0
- package/assets/images/icons/fa/toggle-off.svg +3 -0
- package/assets/images/icons/fa/toggle-on.svg +2 -0
- package/assets/images/icons/fa/toggle-right.svg +2 -0
- package/assets/images/icons/fa/toggle-up.svg +2 -0
- package/assets/images/icons/fa/trademark.svg +3 -0
- package/assets/images/icons/fa/train.svg +2 -0
- package/assets/images/icons/fa/transgender-alt.svg +4 -0
- package/assets/images/icons/fa/trash-o.svg +3 -0
- package/assets/images/icons/fa/trash.svg +3 -0
- package/assets/images/icons/fa/tree.svg +2 -0
- package/assets/images/icons/fa/trello.svg +2 -0
- package/assets/images/icons/fa/tripadvisor.svg +6 -0
- package/assets/images/icons/fa/trophy.svg +3 -0
- package/assets/images/icons/fa/truck.svg +3 -0
- package/assets/images/icons/fa/tty.svg +5 -0
- package/assets/images/icons/fa/tumblr-square.svg +2 -0
- package/assets/images/icons/fa/tumblr.svg +2 -0
- package/assets/images/icons/fa/turkish-lira.svg +2 -0
- package/assets/images/icons/fa/tv.svg +2 -0
- package/assets/images/icons/fa/twitch.svg +1 -0
- package/assets/images/icons/fa/twitter-square.svg +3 -0
- package/assets/images/icons/fa/twitter.svg +2 -0
- package/assets/images/icons/fa/umbrella.svg +3 -0
- package/assets/images/icons/fa/underline.svg +4 -0
- package/assets/images/icons/fa/universal-access.svg +4 -0
- package/assets/images/icons/fa/unlink.svg +4 -0
- package/assets/images/icons/fa/unlock-alt.svg +2 -0
- package/assets/images/icons/fa/unlock.svg +2 -0
- package/assets/images/icons/fa/unsorted.svg +1 -0
- package/assets/images/icons/fa/upload.svg +2 -0
- package/assets/images/icons/fa/usb.svg +3 -0
- package/assets/images/icons/fa/user-circle-o.svg +2 -0
- package/assets/images/icons/fa/user-circle.svg +2 -0
- package/assets/images/icons/fa/user-md.svg +4 -0
- package/assets/images/icons/fa/user-o.svg +3 -0
- package/assets/images/icons/fa/user-plus.svg +3 -0
- package/assets/images/icons/fa/user-secret.svg +4 -0
- package/assets/images/icons/fa/user-times.svg +3 -0
- package/assets/images/icons/fa/user.svg +2 -0
- package/assets/images/icons/fa/vcard-o.svg +5 -0
- package/assets/images/icons/fa/vcard.svg +4 -0
- package/assets/images/icons/fa/venus-double.svg +4 -0
- package/assets/images/icons/fa/venus-mars.svg +4 -0
- package/assets/images/icons/fa/venus.svg +2 -0
- package/assets/images/icons/fa/viacoin.svg +1 -0
- package/assets/images/icons/fa/viadeo-square.svg +4 -0
- package/assets/images/icons/fa/viadeo.svg +3 -0
- package/assets/images/icons/fa/video-camera.svg +2 -0
- package/assets/images/icons/fa/vimeo-square.svg +2 -0
- package/assets/images/icons/fa/vimeo.svg +2 -0
- package/assets/images/icons/fa/vine.svg +2 -0
- package/assets/images/icons/fa/vk.svg +5 -0
- package/assets/images/icons/fa/volume-control-phone.svg +5 -0
- package/assets/images/icons/fa/volume-down.svg +2 -0
- package/assets/images/icons/fa/volume-off.svg +1 -0
- package/assets/images/icons/fa/volume-up.svg +4 -0
- package/assets/images/icons/fa/warning.svg +2 -0
- package/assets/images/icons/fa/wechat.svg +4 -0
- package/assets/images/icons/fa/weibo.svg +5 -0
- package/assets/images/icons/fa/whatsapp.svg +3 -0
- package/assets/images/icons/fa/wheelchair-alt.svg +3 -0
- package/assets/images/icons/fa/wheelchair.svg +2 -0
- package/assets/images/icons/fa/wifi.svg +3 -0
- package/assets/images/icons/fa/wikipedia-w.svg +3 -0
- package/assets/images/icons/fa/window-maximize.svg +1 -0
- package/assets/images/icons/fa/window-minimize.svg +1 -0
- package/assets/images/icons/fa/window-restore.svg +2 -0
- package/assets/images/icons/fa/windows.svg +1 -0
- package/assets/images/icons/fa/won.svg +3 -0
- package/assets/images/icons/fa/wordpress.svg +5 -0
- package/assets/images/icons/fa/wpbeginner.svg +2 -0
- package/assets/images/icons/fa/wpexplorer.svg +3 -0
- package/assets/images/icons/fa/wpforms.svg +2 -0
- package/assets/images/icons/fa/wrench.svg +2 -0
- package/assets/images/icons/fa/xing-square.svg +2 -0
- package/assets/images/icons/fa/xing.svg +2 -0
- package/assets/images/icons/fa/y-combinator-square.svg +1 -0
- package/assets/images/icons/fa/yahoo.svg +2 -0
- package/assets/images/icons/fa/yc.svg +1 -0
- package/assets/images/icons/fa/yelp.svg +4 -0
- package/assets/images/icons/fa/yoast.svg +2 -0
- package/assets/images/icons/fa/youtube-play.svg +3 -0
- package/assets/images/icons/fa/youtube-square.svg +6 -0
- package/assets/images/icons/fa/youtube.svg +5 -0
- package/assets/site.scss +375 -374
- package/assets/{bootswatch.scss → theme-variables.scss} +100 -100
- package/assets/theme.scss +146 -0
- package/assets/variables.scss +93 -93
- package/fesm2022/dflat-core-web-core-data.mjs +6 -10
- package/fesm2022/dflat-core-web-core-data.mjs.map +1 -1
- package/fesm2022/dflat-core-web-core-model.mjs.map +1 -1
- package/fesm2022/dflat-core-web-core-ux-testing.mjs +5 -1
- package/fesm2022/dflat-core-web-core-ux-testing.mjs.map +1 -1
- package/fesm2022/dflat-core-web-core-ux.mjs +4329 -987
- package/fesm2022/dflat-core-web-core-ux.mjs.map +1 -1
- package/fesm2022/dflat-core-web-core.mjs +102 -7
- package/fesm2022/dflat-core-web-core.mjs.map +1 -1
- package/fesm2022/dflat-core-web-system-data.mjs +35 -0
- package/fesm2022/dflat-core-web-system-data.mjs.map +1 -1
- package/fesm2022/dflat-core-web-system-model.mjs +11 -1
- package/fesm2022/dflat-core-web-system-model.mjs.map +1 -1
- package/fesm2022/dflat-core-web-system-root.mjs +2 -2
- package/fesm2022/dflat-core-web-system-root.mjs.map +1 -1
- package/fesm2022/dflat-core-web-system-ux.mjs +3201 -1064
- package/fesm2022/dflat-core-web-system-ux.mjs.map +1 -1
- package/package.json +1 -8
- package/scss/dflat-app.scss +10 -11
- package/types/dflat-core-web-core-data.d.ts +11 -3
- package/types/dflat-core-web-core-model.d.ts +6 -9
- package/types/dflat-core-web-core-ux-testing.d.ts +6 -2
- package/types/dflat-core-web-core-ux.d.ts +1525 -98
- package/types/dflat-core-web-core.d.ts +58 -0
- package/types/dflat-core-web-system-data.d.ts +8 -1
- package/types/dflat-core-web-system-model.d.ts +466 -2
- package/types/dflat-core-web-system-ux.d.ts +292 -48
package/README.md
CHANGED
|
@@ -1,207 +1,211 @@
|
|
|
1
|
-
# @dflat-core/web
|
|
2
|
-
|
|
3
|
-
Librairies Angular de Dflat, empaquetées en un module npm unique (Angular Package Format, construit avec ng-packagr).
|
|
4
|
-
|
|
5
|
-
## Points d'entrée
|
|
6
|
-
|
|
7
|
-
| Import | Contenu |
|
|
8
|
-
| -------------------------- | ------------------------------------------------------------ |
|
|
9
|
-
| `@dflat-core/web/core` | Utilitaires, `EnvironmentBase` |
|
|
10
|
-
| `@dflat-core/web/core-model` | Modèle de base (interfaces générées depuis Dflat.Kernel.Model) |
|
|
11
|
-
| `@dflat-core/web/core-services` | Authentification, messages, menus, hub SignalR... |
|
|
12
|
-
| `@dflat-core/web/core-data` | `DataService`, `EntityDataService` |
|
|
13
|
-
| `@dflat-core/web/core-ux` | Composants, directives et services d'interface |
|
|
14
|
-
| `@dflat-core/web/core-ux/testing` | Suites de test standard (`describeBaseComponent`, `describeGeneratedModule`) et doublures, pour les fichiers `.spec.ts` |
|
|
15
|
-
| `@dflat-core/web/system-model` | Modèle du module System (généré) |
|
|
16
|
-
| `@dflat-core/web/system-data` | Services de données du module System (générés) |
|
|
17
|
-
| `@dflat-core/web/system-root` | Permissions, clés d'entités et menus du module System |
|
|
18
|
-
| `@dflat-core/web/system-ux` | Écrans du module System, et la coquille applicative |
|
|
19
|
-
|
|
20
|
-
Ressources non TypeScript livrées dans le package :
|
|
21
|
-
|
|
22
|
-
- `assets/` : styles partagés (`site.scss`, `variables.scss`, `text.scss`...), images et polices ;
|
|
23
|
-
- `scss/` : styles globaux (`dflat-app.scss`, `core-ux.scss`, `layout/default/default-layout.scss`...).
|
|
24
|
-
|
|
25
|
-
## Coquille applicative
|
|
26
|
-
|
|
27
|
-
`system-ux` fournit, en plus des écrans du module System, tout ce qui faisait auparavant
|
|
28
|
-
l'ossature de l'application hôte (`system-ux/src/lib/app`) :
|
|
29
|
-
|
|
30
|
-
| Symbole | Rôle |
|
|
31
|
-
| --------------------------------------------------------- | ----------------------------------------------------------- |
|
|
32
|
-
| `DflatAppModule` | Socle du module racine : modules Angular et tiers, intercepteur HTTP, permissions, menus, langue |
|
|
33
|
-
| `DFlatLayoutComponent` | Mise en page : barre supérieure, menu latéral, contenu |
|
|
34
|
-
| `HomepageComponent`, `SearchComponent`, `SearchResultComponent` | Accueil et recherche globale |
|
|
35
|
-
| `UserMenuComponent`, `UserProfileComponent` | Menu et profil de l'utilisateur |
|
|
36
|
-
| `AccessDeniedComponent`, `HistoryComponent`, `DFlatSpinnerComponent` | Écrans et composants utilitaires |
|
|
37
|
-
| `DflatAppService` | Nom, logo et version de l'application (`EnvironmentBase`) |
|
|
38
|
-
| `DFlatAuthInterceptor`, `DFlatPermissionService` | Implémentations par défaut, dérivables |
|
|
39
|
-
|
|
40
|
-
Le module racine d'une application se réduit alors à :
|
|
41
|
-
|
|
42
|
-
```ts
|
|
43
|
-
@NgModule({
|
|
44
|
-
declarations: [AppComponent],
|
|
45
|
-
imports: [DflatAppModule.forRoot(environment), routing],
|
|
46
|
-
bootstrap: [AppComponent]
|
|
47
|
-
})
|
|
48
|
-
export class AppModule {}
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
`environment` implémente `EnvironmentBase` : URL de l'API, du hub et des fichiers, et, en
|
|
52
|
-
option, `appName`, `appLogoUrl` et `appVersion`, affichés par la mise en page et la page
|
|
53
|
-
d'accueil. Pour remplacer un service du socle (menus, permissions, intercepteur), il suffit
|
|
54
|
-
de le fournir après `DflatAppModule` dans les `providers` du module racine.
|
|
55
|
-
|
|
56
|
-
La recherche globale n'interroge que les sources déclarées par l'application : une classe
|
|
57
|
-
dérivée de `DflatSearchProvider` par famille d'objets, fournie en `multi` sous le jeton
|
|
58
|
-
`DFLAT_SEARCH_PROVIDERS`.
|
|
59
|
-
|
|
60
|
-
## Tester
|
|
61
|
-
|
|
62
|
-
```bash
|
|
63
|
-
yarn test # tous les *.spec.ts du package (Vitest, jsdom)
|
|
64
|
-
yarn vitest run core-ux # un dossier ou un fichier
|
|
65
|
-
yarn tsc -p tsconfig.spec.json # contrôle des types des tests
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
`@dflat-core/web/core-ux/testing` fournit la suite de test standard de `BaseComponent` :
|
|
69
|
-
|
|
70
|
-
```ts
|
|
71
|
-
describeBaseComponent('BaseCountryComponent', (app, route) => new TestCountryComponent(app, route), {
|
|
72
|
-
entityKey: 'country', path: '/sys/country', title: 'Pays', permissionKey: 'system.country', requestsSections: true
|
|
73
|
-
});
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
Elle vérifie le contrat de `BaseComponent` sans rendre de gabarit : création dans un contexte
|
|
77
|
-
d'injection, clé d'entité, lien, titre et permission, façade demandée au registre avec la clé de
|
|
78
|
-
l'entité, `ngOnInit` (fil d'Ariane, chargement branché sur `dataService.search`, abonnement aux
|
|
79
|
-
notifications, demande des onglets au registre `EntitySections`), `Search` / `refresh`, mise à
|
|
80
|
-
jour sur notification, `ngOnDestroy`.
|
|
81
|
-
Elle n'utilise que les fonctions globales de l'outil de test (`describe`, `it`, `beforeEach`,
|
|
82
|
-
`expect`) et `TestBed` : elle ne dépend pas de l'outil. `BaseComponentTestContext` fournit les
|
|
83
|
-
services du composant (vraies classes du socle, doublures pour `DataService` et `Router`).
|
|
84
|
-
|
|
85
|
-
- `core-ux/src/lib/v2/components/base-component/base-component.spec.ts` applique la suite à un
|
|
86
|
-
composant minimal et teste les cas propres à la classe ;
|
|
87
|
-
- `dflat -g ts` génère, pour chaque composant `Base<X>Component` d'un module,
|
|
88
|
-
`<x>.component.generated.spec.ts` (la même suite, avec les valeurs attendues du générateur) et,
|
|
89
|
-
par module, `<module>-components.generated.spec.ts` (`describeGeneratedModule` : chaque
|
|
90
|
-
composant a sa route, clés d'entité uniques, onglets des entités liées attendus par entité et
|
|
91
|
-
pointant vers des entités et composants du module, éléments de menu vers une route existante
|
|
92
|
-
et porteurs d'une permission du module).
|
|
93
|
-
|
|
94
|
-
Les onglets des entités liées (sections `@relations` des formulaires) sont déclarés pour tout le
|
|
95
|
-
module par le service généré `<Module>GeneratedSectionService`
|
|
96
|
-
(`<module>-sections.generated.ts`), seul fichier généré qui importe les composants des onglets.
|
|
97
|
-
Le module Angular `<module>-ux` l'enregistre dans son constructeur,
|
|
98
|
-
`EntitySections.register(injector.get(<Module>GeneratedSectionService))`, et `Base<X>Component`
|
|
99
|
-
demande ses onglets par la clé de son entité
|
|
100
|
-
(`EntitySections.registerSections(this.getEntityKey(), this.facade)`), sans importer d'autre
|
|
101
|
-
composant : pas de dépendance circulaire entre composants. Le service n'est interrogé qu'une
|
|
102
|
-
fois par entité : la définition des onglets est gardée dans le cache d'initialisation des écrans
|
|
103
|
-
(`InitCacheService`, `DataService.getCachedValue`), comme les descripteurs de filtre et le filtre
|
|
104
|
-
vide, et vidée avec eux ; l'enregistrement sur la façade est fait à chaque initialisation.
|
|
105
|
-
|
|
106
|
-
Dans le package, Vitest est lancé directement (`vitest.config.mts`, `tools/vitest.setup.ts`), sans
|
|
107
|
-
`angular.json` : les décorateurs sont compilés en mode JIT et les gabarits remplacés par un
|
|
108
|
-
gabarit vide. Une application lance les mêmes tests par sa cible `test`
|
|
109
|
-
(`@angular/build:unit-test`, Vitest et jsdom), que le modèle `dflat-webhost` déclare
|
|
110
|
-
(`yarn test` dans `webapps`). Les `.spec.ts` ne sont pas publiés ; seul le point d'entrée
|
|
111
|
-
`testing` l'est.
|
|
112
|
-
|
|
113
|
-
## Construire
|
|
114
|
-
|
|
115
|
-
```bash
|
|
116
|
-
yarn install
|
|
117
|
-
yarn build # <dépôt>/artifacts/nodejs/dflat-web (compilation partielle, publiable)
|
|
118
|
-
yarn watch # reconstruction continue pendant le développement
|
|
119
|
-
yarn run pack # <dépôt>/artifacts/nodejs/dflat-web-<version>.tgz
|
|
120
|
-
```
|
|
121
|
-
|
|
122
|
-
Depuis la racine du dépôt, `scripts/publish-dflat.ps1` enchaîne ces étapes :
|
|
123
|
-
|
|
124
|
-
```powershell
|
|
125
|
-
.\scripts\publish-dflat.ps1 -bw # yarn install si besoin, build, vidage du cache Angular de webapps
|
|
126
|
-
.\scripts\publish-dflat.ps1 -pn # package versionné + archive .tgz (version calculée depuis npmjs.com)
|
|
127
|
-
.\scripts\publish-dflat.ps1 -pn -Push # ... puis publication sur npmjs.com, après confirmation
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
`yarn install` applique `tools/patch-ng-packagr.js` : correctif d'un bug de ng-packagr 19.2 sur la réécriture
|
|
131
|
-
des `url()` des partials Sass (voir le commentaire du script).
|
|
132
|
-
|
|
133
|
-
## Utiliser dans un espace de travail Angular / Nx
|
|
134
|
-
|
|
135
|
-
1. Dépendance, dans `package.json` : la version publiée sur npmjs.com
|
|
136
|
-
(`"@dflat-core/web": "1.0.2"`), cas de toute application, dont celles créées par
|
|
137
|
-
`dflat -newhost`.
|
|
138
|
-
|
|
139
|
-
`webapps`, dans le dépôt, n'en dépend pas : il compile les librairies depuis leurs sources,
|
|
140
|
-
pour développer le package et l'application en même temps. Les chemins de
|
|
141
|
-
`webapps/tsconfig.json` mènent à `webapps/libs/dflat-web`, une jonction par point d'entrée
|
|
142
|
-
vers `web/dflat-web` :
|
|
143
|
-
|
|
144
|
-
```json
|
|
145
|
-
"@dflat-core/web": ["libs/dflat-web/src/index.ts"],
|
|
146
|
-
"@dflat-core/web/*": ["libs/dflat-web/*/src/index.ts"]
|
|
147
|
-
```
|
|
148
|
-
|
|
149
|
-
Les jonctions (non versionnées) sont créées par `webapps/tools/check-dflat-web.js`, lancé par
|
|
150
|
-
`yarn start` et par `dflat -r` / `dflat -rc`. Elles sont individuelles : une seule jonction
|
|
151
|
-
vers `web/dflat-web` ferait résoudre Angular dans `web/dflat-web/node_modules` (double
|
|
152
|
-
instance). Toute modification d'un fichier du package (TypeScript, template, style) est
|
|
153
|
-
recompilée par `nx serve` dans la foulée (quelques secondes), sans compiler `dist` ni vider
|
|
154
|
-
le cache.
|
|
155
|
-
L'application doit aussi installer les `peerDependencies` du package : les librairies
|
|
156
|
-
Angular tierces qu'il utilise (`ngx-
|
|
157
|
-
`ng-http-loader`...)
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
"
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
```
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
`
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
- **pas de cycle d'imports entre
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
`
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
`
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
1
|
+
# @dflat-core/web
|
|
2
|
+
|
|
3
|
+
Librairies Angular de Dflat, empaquetées en un module npm unique (Angular Package Format, construit avec ng-packagr).
|
|
4
|
+
|
|
5
|
+
## Points d'entrée
|
|
6
|
+
|
|
7
|
+
| Import | Contenu |
|
|
8
|
+
| -------------------------- | ------------------------------------------------------------ |
|
|
9
|
+
| `@dflat-core/web/core` | Utilitaires, `EnvironmentBase` |
|
|
10
|
+
| `@dflat-core/web/core-model` | Modèle de base (interfaces générées depuis Dflat.Kernel.Model) |
|
|
11
|
+
| `@dflat-core/web/core-services` | Authentification, messages, menus, hub SignalR... |
|
|
12
|
+
| `@dflat-core/web/core-data` | `DataService`, `EntityDataService` |
|
|
13
|
+
| `@dflat-core/web/core-ux` | Composants, directives et services d'interface |
|
|
14
|
+
| `@dflat-core/web/core-ux/testing` | Suites de test standard (`describeBaseComponent`, `describeGeneratedModule`) et doublures, pour les fichiers `.spec.ts` |
|
|
15
|
+
| `@dflat-core/web/system-model` | Modèle du module System (généré) |
|
|
16
|
+
| `@dflat-core/web/system-data` | Services de données du module System (générés) |
|
|
17
|
+
| `@dflat-core/web/system-root` | Permissions, clés d'entités et menus du module System |
|
|
18
|
+
| `@dflat-core/web/system-ux` | Écrans du module System, et la coquille applicative |
|
|
19
|
+
|
|
20
|
+
Ressources non TypeScript livrées dans le package :
|
|
21
|
+
|
|
22
|
+
- `assets/` : styles partagés (`site.scss`, `variables.scss`, `text.scss`...), images et polices ;
|
|
23
|
+
- `scss/` : styles globaux (`dflat-app.scss`, `core-ux.scss`, `layout/default/default-layout.scss`...).
|
|
24
|
+
|
|
25
|
+
## Coquille applicative
|
|
26
|
+
|
|
27
|
+
`system-ux` fournit, en plus des écrans du module System, tout ce qui faisait auparavant
|
|
28
|
+
l'ossature de l'application hôte (`system-ux/src/lib/app`) :
|
|
29
|
+
|
|
30
|
+
| Symbole | Rôle |
|
|
31
|
+
| --------------------------------------------------------- | ----------------------------------------------------------- |
|
|
32
|
+
| `DflatAppModule` | Socle du module racine : modules Angular et tiers, intercepteur HTTP, permissions, menus, langue |
|
|
33
|
+
| `DFlatLayoutComponent` | Mise en page : barre supérieure, menu latéral, contenu |
|
|
34
|
+
| `HomepageComponent`, `SearchComponent`, `SearchResultComponent` | Accueil et recherche globale |
|
|
35
|
+
| `UserMenuComponent`, `UserProfileComponent` | Menu et profil de l'utilisateur |
|
|
36
|
+
| `AccessDeniedComponent`, `HistoryComponent`, `DFlatSpinnerComponent` | Écrans et composants utilitaires |
|
|
37
|
+
| `DflatAppService` | Nom, logo et version de l'application (`EnvironmentBase`) |
|
|
38
|
+
| `DFlatAuthInterceptor`, `DFlatPermissionService` | Implémentations par défaut, dérivables |
|
|
39
|
+
|
|
40
|
+
Le module racine d'une application se réduit alors à :
|
|
41
|
+
|
|
42
|
+
```ts
|
|
43
|
+
@NgModule({
|
|
44
|
+
declarations: [AppComponent],
|
|
45
|
+
imports: [DflatAppModule.forRoot(environment), routing],
|
|
46
|
+
bootstrap: [AppComponent]
|
|
47
|
+
})
|
|
48
|
+
export class AppModule {}
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
`environment` implémente `EnvironmentBase` : URL de l'API, du hub et des fichiers, et, en
|
|
52
|
+
option, `appName`, `appLogoUrl` et `appVersion`, affichés par la mise en page et la page
|
|
53
|
+
d'accueil. Pour remplacer un service du socle (menus, permissions, intercepteur), il suffit
|
|
54
|
+
de le fournir après `DflatAppModule` dans les `providers` du module racine.
|
|
55
|
+
|
|
56
|
+
La recherche globale n'interroge que les sources déclarées par l'application : une classe
|
|
57
|
+
dérivée de `DflatSearchProvider` par famille d'objets, fournie en `multi` sous le jeton
|
|
58
|
+
`DFLAT_SEARCH_PROVIDERS`.
|
|
59
|
+
|
|
60
|
+
## Tester
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
yarn test # tous les *.spec.ts du package (Vitest, jsdom)
|
|
64
|
+
yarn vitest run core-ux # un dossier ou un fichier
|
|
65
|
+
yarn tsc -p tsconfig.spec.json # contrôle des types des tests
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
`@dflat-core/web/core-ux/testing` fournit la suite de test standard de `BaseComponent` :
|
|
69
|
+
|
|
70
|
+
```ts
|
|
71
|
+
describeBaseComponent('BaseCountryComponent', (app, route) => new TestCountryComponent(app, route), {
|
|
72
|
+
entityKey: 'country', path: '/sys/country', title: 'Pays', permissionKey: 'system.country', requestsSections: true
|
|
73
|
+
});
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
Elle vérifie le contrat de `BaseComponent` sans rendre de gabarit : création dans un contexte
|
|
77
|
+
d'injection, clé d'entité, lien, titre et permission, façade demandée au registre avec la clé de
|
|
78
|
+
l'entité, `ngOnInit` (fil d'Ariane, chargement branché sur `dataService.search`, abonnement aux
|
|
79
|
+
notifications, demande des onglets au registre `EntitySections`), `Search` / `refresh`, mise à
|
|
80
|
+
jour sur notification, `ngOnDestroy`.
|
|
81
|
+
Elle n'utilise que les fonctions globales de l'outil de test (`describe`, `it`, `beforeEach`,
|
|
82
|
+
`expect`) et `TestBed` : elle ne dépend pas de l'outil. `BaseComponentTestContext` fournit les
|
|
83
|
+
services du composant (vraies classes du socle, doublures pour `DataService` et `Router`).
|
|
84
|
+
|
|
85
|
+
- `core-ux/src/lib/v2/components/base-component/base-component.spec.ts` applique la suite à un
|
|
86
|
+
composant minimal et teste les cas propres à la classe ;
|
|
87
|
+
- `dflat -g ts` génère, pour chaque composant `Base<X>Component` d'un module,
|
|
88
|
+
`<x>.component.generated.spec.ts` (la même suite, avec les valeurs attendues du générateur) et,
|
|
89
|
+
par module, `<module>-components.generated.spec.ts` (`describeGeneratedModule` : chaque
|
|
90
|
+
composant a sa route, clés d'entité uniques, onglets des entités liées attendus par entité et
|
|
91
|
+
pointant vers des entités et composants du module, éléments de menu vers une route existante
|
|
92
|
+
et porteurs d'une permission du module).
|
|
93
|
+
|
|
94
|
+
Les onglets des entités liées (sections `@relations` des formulaires) sont déclarés pour tout le
|
|
95
|
+
module par le service généré `<Module>GeneratedSectionService`
|
|
96
|
+
(`<module>-sections.generated.ts`), seul fichier généré qui importe les composants des onglets.
|
|
97
|
+
Le module Angular `<module>-ux` l'enregistre dans son constructeur,
|
|
98
|
+
`EntitySections.register(injector.get(<Module>GeneratedSectionService))`, et `Base<X>Component`
|
|
99
|
+
demande ses onglets par la clé de son entité
|
|
100
|
+
(`EntitySections.registerSections(this.getEntityKey(), this.facade)`), sans importer d'autre
|
|
101
|
+
composant : pas de dépendance circulaire entre composants. Le service n'est interrogé qu'une
|
|
102
|
+
fois par entité : la définition des onglets est gardée dans le cache d'initialisation des écrans
|
|
103
|
+
(`InitCacheService`, `DataService.getCachedValue`), comme les descripteurs de filtre et le filtre
|
|
104
|
+
vide, et vidée avec eux ; l'enregistrement sur la façade est fait à chaque initialisation.
|
|
105
|
+
|
|
106
|
+
Dans le package, Vitest est lancé directement (`vitest.config.mts`, `tools/vitest.setup.ts`), sans
|
|
107
|
+
`angular.json` : les décorateurs sont compilés en mode JIT et les gabarits remplacés par un
|
|
108
|
+
gabarit vide. Une application lance les mêmes tests par sa cible `test`
|
|
109
|
+
(`@angular/build:unit-test`, Vitest et jsdom), que le modèle `dflat-webhost` déclare
|
|
110
|
+
(`yarn test` dans `webapps`). Les `.spec.ts` ne sont pas publiés ; seul le point d'entrée
|
|
111
|
+
`testing` l'est.
|
|
112
|
+
|
|
113
|
+
## Construire
|
|
114
|
+
|
|
115
|
+
```bash
|
|
116
|
+
yarn install
|
|
117
|
+
yarn build # <dépôt>/artifacts/nodejs/dflat-web (compilation partielle, publiable)
|
|
118
|
+
yarn watch # reconstruction continue pendant le développement
|
|
119
|
+
yarn run pack # <dépôt>/artifacts/nodejs/dflat-web-<version>.tgz
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
Depuis la racine du dépôt, `scripts/publish-dflat.ps1` enchaîne ces étapes :
|
|
123
|
+
|
|
124
|
+
```powershell
|
|
125
|
+
.\scripts\publish-dflat.ps1 -bw # yarn install si besoin, build, vidage du cache Angular de webapps
|
|
126
|
+
.\scripts\publish-dflat.ps1 -pn # package versionné + archive .tgz (version calculée depuis npmjs.com)
|
|
127
|
+
.\scripts\publish-dflat.ps1 -pn -Push # ... puis publication sur npmjs.com, après confirmation
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
`yarn install` applique `tools/patch-ng-packagr.js` : correctif d'un bug de ng-packagr 19.2 sur la réécriture
|
|
131
|
+
des `url()` des partials Sass (voir le commentaire du script).
|
|
132
|
+
|
|
133
|
+
## Utiliser dans un espace de travail Angular / Nx
|
|
134
|
+
|
|
135
|
+
1. Dépendance, dans `package.json` : la version publiée sur npmjs.com
|
|
136
|
+
(`"@dflat-core/web": "1.0.2"`), cas de toute application, dont celles créées par
|
|
137
|
+
`dflat -newhost`.
|
|
138
|
+
|
|
139
|
+
`webapps`, dans le dépôt, n'en dépend pas : il compile les librairies depuis leurs sources,
|
|
140
|
+
pour développer le package et l'application en même temps. Les chemins de
|
|
141
|
+
`webapps/tsconfig.json` mènent à `webapps/libs/dflat-web`, une jonction par point d'entrée
|
|
142
|
+
vers `web/dflat-web` :
|
|
143
|
+
|
|
144
|
+
```json
|
|
145
|
+
"@dflat-core/web": ["libs/dflat-web/src/index.ts"],
|
|
146
|
+
"@dflat-core/web/*": ["libs/dflat-web/*/src/index.ts"]
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
Les jonctions (non versionnées) sont créées par `webapps/tools/check-dflat-web.js`, lancé par
|
|
150
|
+
`yarn start` et par `dflat -r` / `dflat -rc`. Elles sont individuelles : une seule jonction
|
|
151
|
+
vers `web/dflat-web` ferait résoudre Angular dans `web/dflat-web/node_modules` (double
|
|
152
|
+
instance). Toute modification d'un fichier du package (TypeScript, template, style) est
|
|
153
|
+
recompilée par `nx serve` dans la foulée (quelques secondes), sans compiler `dist` ni vider
|
|
154
|
+
le cache.
|
|
155
|
+
L'application doit aussi installer les `peerDependencies` du package : les librairies
|
|
156
|
+
Angular tierces qu'il utilise (`ngx-toastr`,
|
|
157
|
+
`ng-http-loader`...). Le package ne dépend plus de Bootstrap : les styles de base et des classes
|
|
158
|
+
de Bootstrap qu'il utilise sont dans ses assets (`assets/components/bootstrap-lite.scss`).
|
|
159
|
+
Les icônes « fa fa-<nom> » n'utilisent plus font-awesome : ce sont des SVG des assets
|
|
160
|
+
(`assets/images/icons/fa`, feuille `assets/components/icons.scss`). Le modèle `dflat-webhost` les liste déjà dans le
|
|
161
|
+
`package.json` du front qu'il génère.
|
|
162
|
+
|
|
163
|
+
2. Dans les options de build de l'application (`project.json`) :
|
|
164
|
+
|
|
165
|
+
```json
|
|
166
|
+
"preserveSymlinks": true,
|
|
167
|
+
"stylePreprocessorOptions": { "includePaths": ["node_modules", "node_modules/@dflat-core/web/assets"] },
|
|
168
|
+
"assets": [{ "input": "node_modules/@dflat-core/web/assets", "glob": "*/**", "output": "assets" }]
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
`preserveSymlinks` évite de résoudre Angular depuis `web/dflat-web/node_modules` (double instance).
|
|
172
|
+
Les `includePaths` permettent à `dflat-app.scss` de résoudre les feuilles des assets du package.
|
|
173
|
+
|
|
174
|
+
3. Styles globaux (`styles.scss`) :
|
|
175
|
+
|
|
176
|
+
```scss
|
|
177
|
+
@import "../../../node_modules/@dflat-core/web/scss/dflat-app.scss";
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
`dflat-app.scss` enchaîne les variables, les styles de base et des classes de Bootstrap utilisées,
|
|
181
|
+
avec le thème Pulse du package (`assets/components/bootstrap-lite.scss`, générée par
|
|
182
|
+
`tools/generate-bootstrap-lite.js` à partir de Bootstrap 4, de `assets/theme-variables.scss` et de
|
|
183
|
+
`assets/theme.scss`), `core-ux.scss`, `site.scss` et les règles de mise en page plein écran de la
|
|
184
|
+
coquille. Une application qui utilise d'autres classes de Bootstrap installe bootstrap et importe
|
|
185
|
+
ses parties après `dflat-app.scss`.
|
|
186
|
+
|
|
187
|
+
Les feuilles de style tierces qui ne passent pas par Sass (toastr)
|
|
188
|
+
restent dans le tableau `styles` des options de build.
|
|
189
|
+
|
|
190
|
+
## Règles propres à une librairie
|
|
191
|
+
|
|
192
|
+
La compilation partielle d'Angular est plus stricte que celle d'une application :
|
|
193
|
+
|
|
194
|
+
- **pas d'import par le barrel de sa propre librairie** (`@dflat-core/web/core-ux` depuis core-ux) : utiliser un
|
|
195
|
+
chemin relatif. Entre librairies, toujours passer par `@dflat-core/web/<librairie>` ;
|
|
196
|
+
- **toute classe déclarée par un NgModule doit être exportée** par le `src/index.ts` de sa librairie (NG3001) ;
|
|
197
|
+
- **pas de cycle d'imports entre un composant et ce qu'utilise son template** (NG3003). Pour casser un cycle :
|
|
198
|
+
`import type` lorsque le symbole ne sert qu'au typage, ou un `InjectionToken` lorsqu'un type de composant
|
|
199
|
+
est nécessaire à l'exécution (voir `core-ux/src/lib/modals/dialog-component.tokens.ts`,
|
|
200
|
+
`RowRefHost` dans `row-ref.directive.ts`) ;
|
|
201
|
+
- **pas de cycle d'imports entre une classe et sa classe parente**, même indirect : chaque point d'entrée est
|
|
202
|
+
aplati en un seul fichier et la classe fille pourrait y être émise avant la parente
|
|
203
|
+
(`Cannot access 'X' before initialization` au démarrage de l'application). `tools/check-bundles.js`, lancé par
|
|
204
|
+
`npm run build`, le détecte.
|
|
205
|
+
|
|
206
|
+
## Code généré
|
|
207
|
+
|
|
208
|
+
`codegenerator -ts -webpkg <dépôt>\web\dflat-web` écrit les librairies Dflat (core-model, system-model,
|
|
209
|
+
system-data) dans ce dossier et génère les imports en `@dflat-core/web/<librairie>`. Sans `-webpkg` (application hôte
|
|
210
|
+
hors dépôt), ces librairies ne sont pas générées : elles sont fournies par le package. `dbmanager` écrit les
|
|
211
|
+
permissions TypeScript du module System dans `system-root/src/lib`.
|