├── .github
├── .gitignore
└── workflows
│ ├── pkgdown.yaml
│ └── R-CMD-check.yaml
├── inst
├── assets
│ ├── scss
│ │ ├── custom
│ │ │ ├── _accordion.scss
│ │ │ ├── _carousel.scss
│ │ │ ├── _grid.scss
│ │ │ ├── utilities
│ │ │ │ ├── _sizing.scss
│ │ │ │ ├── _transform.scss
│ │ │ │ ├── _position.scss
│ │ │ │ ├── _shadows.scss
│ │ │ │ ├── _backgrounds.scss
│ │ │ │ ├── _floating.scss
│ │ │ │ ├── _text.scss
│ │ │ │ ├── _helper.scss
│ │ │ │ └── _spacing.scss
│ │ │ ├── _reboot.scss
│ │ │ ├── mixins
│ │ │ │ ├── _icon.scss
│ │ │ │ ├── _alert.scss
│ │ │ │ ├── _badge.scss
│ │ │ │ ├── _modals.scss
│ │ │ │ ├── _background-variant.scss
│ │ │ │ ├── _popover.scss
│ │ │ │ └── _forms.scss
│ │ │ ├── _popover.scss
│ │ │ ├── _mixins.scss
│ │ │ ├── _utilities.scss
│ │ │ ├── _modal.scss
│ │ │ ├── vendor
│ │ │ │ └── _headroom.scss
│ │ │ ├── _functions.scss
│ │ │ ├── _separator.scss
│ │ │ ├── _close.scss
│ │ │ ├── _list-group.scss
│ │ │ ├── _pagination.scss
│ │ │ ├── _avatars.scss
│ │ │ ├── _badge.scss
│ │ │ ├── _input-group.scss
│ │ │ ├── _progress.scss
│ │ │ ├── _icons.scss
│ │ │ ├── _type.scss
│ │ │ ├── _alerts.scss
│ │ │ ├── _dropdown.scss
│ │ │ ├── _nav.scss
│ │ │ ├── _footer.scss
│ │ │ ├── _card.scss
│ │ │ └── _forms.scss
│ │ ├── bootstrap
│ │ │ ├── utilities
│ │ │ │ ├── _clearfix.scss
│ │ │ │ ├── _screenreaders.scss
│ │ │ │ ├── _visibility.scss
│ │ │ │ ├── _shadows.scss
│ │ │ │ ├── _sizing.scss
│ │ │ │ ├── _float.scss
│ │ │ │ ├── _align.scss
│ │ │ │ ├── _background.scss
│ │ │ │ ├── _position.scss
│ │ │ │ ├── _embed.scss
│ │ │ │ ├── _display.scss
│ │ │ │ ├── _spacing.scss
│ │ │ │ ├── _borders.scss
│ │ │ │ ├── _text.scss
│ │ │ │ └── _flex.scss
│ │ │ ├── _media.scss
│ │ │ ├── mixins
│ │ │ │ ├── _box-shadow.scss
│ │ │ │ ├── _size.scss
│ │ │ │ ├── _clearfix.scss
│ │ │ │ ├── _visibility.scss
│ │ │ │ ├── _lists.scss
│ │ │ │ ├── _text-truncate.scss
│ │ │ │ ├── _resize.scss
│ │ │ │ ├── _float.scss
│ │ │ │ ├── _badge.scss
│ │ │ │ ├── _alert.scss
│ │ │ │ ├── _nav-divider.scss
│ │ │ │ ├── _text-emphasis.scss
│ │ │ │ ├── _transition.scss
│ │ │ │ ├── _text-hide.scss
│ │ │ │ ├── _list-group.scss
│ │ │ │ ├── _pagination.scss
│ │ │ │ ├── _background-variant.scss
│ │ │ │ ├── _reset-text.scss
│ │ │ │ ├── _table-row.scss
│ │ │ │ ├── _border-radius.scss
│ │ │ │ ├── _screen-reader.scss
│ │ │ │ ├── _hover.scss
│ │ │ │ ├── _image.scss
│ │ │ │ ├── _caret.scss
│ │ │ │ ├── _grid.scss
│ │ │ │ ├── _grid-framework.scss
│ │ │ │ └── _gradients.scss
│ │ │ ├── _transitions.scss
│ │ │ ├── _jumbotron.scss
│ │ │ ├── _utilities.scss
│ │ │ ├── _root.scss
│ │ │ ├── _progress.scss
│ │ │ ├── _close.scss
│ │ │ ├── _mixins.scss
│ │ │ ├── _code.scss
│ │ │ ├── _badge.scss
│ │ │ ├── _grid.scss
│ │ │ ├── _images.scss
│ │ │ ├── _alert.scss
│ │ │ ├── _breadcrumb.scss
│ │ │ ├── _pagination.scss
│ │ │ ├── _nav.scss
│ │ │ ├── _type.scss
│ │ │ ├── _functions.scss
│ │ │ └── _tooltip.scss
│ │ └── argon.scss
│ ├── vendor
│ │ ├── nucleo
│ │ │ ├── fonts
│ │ │ │ ├── nucleo-icons.eot
│ │ │ │ ├── nucleo-icons.ttf
│ │ │ │ ├── nucleo-icons.woff
│ │ │ │ └── nucleo-icons.woff2
│ │ │ └── css
│ │ │ │ └── nucleo-svg.css
│ │ └── font-awesome
│ │ │ └── fonts
│ │ │ ├── FontAwesome.otf
│ │ │ ├── fontawesome-webfont.eot
│ │ │ ├── fontawesome-webfont.ttf
│ │ │ ├── fontawesome-webfont.woff
│ │ │ └── fontawesome-webfont.woff2
│ └── js
│ │ └── argon.min.js
└── images
│ └── imac.svg
├── vignettes
└── .gitignore
├── revdep
├── failures.md
├── problems.md
└── README.md
├── man
├── figures
│ ├── argonRDemo.png
│ └── argonR_logo.png
├── argonProfileStats.Rd
├── argonLead.Rd
├── argonProfileStat.Rd
├── argonMuted.Rd
├── argonNavMenu.Rd
├── argonDropdown.Rd
├── argonH1.Rd
├── argonCascadeItem.Rd
├── argonPaginationItem.Rd
├── argonTab.Rd
├── argonContainer.Rd
├── argonCarouselItem.Rd
├── argonInstall.Rd
├── argonIcon.Rd
├── argonNavItem.Rd
├── argonPersp.Rd
├── argonQuote.Rd
├── argonTextColor.Rd
├── argonProgress.Rd
├── argonPadding.Rd
├── argonMargin.Rd
├── argonUser.Rd
├── argonDropdownItem.Rd
├── argonBlur.Rd
├── argonSocialButton.Rd
├── NS.Rd
├── argonBadge.Rd
├── argonColumn.Rd
├── argonAlert.Rd
├── argonContact.Rd
├── argonPagination.Rd
├── argonTooltip.Rd
├── argonModal.Rd
├── argonRow.Rd
├── argonCarousel.Rd
├── argonImage.Rd
├── argonIconWrapper.Rd
├── argonPage.Rd
├── argonPageTemplate.Rd
├── argonButton.Rd
├── argonCascade.Rd
├── argonTabSet.Rd
├── argonProfile.Rd
├── argonFooter.Rd
├── argonSection.Rd
├── argonCard.Rd
└── argonNavbar.Rd
├── docs
├── reference
│ └── figures
│ │ ├── argonRDemo.png
│ │ └── argonR_logo.png
├── pkgdown.yml
├── link.svg
└── docsearch.js
├── .gitignore
├── .Rbuildignore
├── cran-comments.md
├── argonR.Rproj
├── DESCRIPTION
├── R
├── argonBadge.R
├── argonColumn.R
├── argonRow.R
├── argonUser.R
├── argonAlert.R
├── argonProgress.R
├── argonImage.R
├── argonFooter.R
├── argonModal.R
├── argonIcon.R
└── argonPagination.R
├── NAMESPACE
├── NEWS.md
├── README.md
└── _pkgdown.yml
/.github/.gitignore:
--------------------------------------------------------------------------------
1 | *.html
2 |
--------------------------------------------------------------------------------
/inst/assets/scss/custom/_accordion.scss:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/vignettes/.gitignore:
--------------------------------------------------------------------------------
1 | *.html
2 | *.R
3 |
--------------------------------------------------------------------------------
/revdep/failures.md:
--------------------------------------------------------------------------------
1 | *Wow, no problems at all. :)*
--------------------------------------------------------------------------------
/revdep/problems.md:
--------------------------------------------------------------------------------
1 | *Wow, no problems at all. :)*
--------------------------------------------------------------------------------
/inst/assets/scss/custom/_carousel.scss:
--------------------------------------------------------------------------------
1 | // Bootstrap carousel
2 |
--------------------------------------------------------------------------------
/inst/assets/scss/bootstrap/utilities/_clearfix.scss:
--------------------------------------------------------------------------------
1 | .clearfix {
2 | @include clearfix();
3 | }
4 |
--------------------------------------------------------------------------------
/man/figures/argonRDemo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RinteRface/argonR/HEAD/man/figures/argonRDemo.png
--------------------------------------------------------------------------------
/man/figures/argonR_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RinteRface/argonR/HEAD/man/figures/argonR_logo.png
--------------------------------------------------------------------------------
/docs/reference/figures/argonRDemo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RinteRface/argonR/HEAD/docs/reference/figures/argonRDemo.png
--------------------------------------------------------------------------------
/inst/assets/scss/custom/_grid.scss:
--------------------------------------------------------------------------------
1 | @include media-breakpoint-up(lg) {
2 | .container-lg {
3 | max-width: 1160px;
4 | }
5 | }
--------------------------------------------------------------------------------
/docs/reference/figures/argonR_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RinteRface/argonR/HEAD/docs/reference/figures/argonR_logo.png
--------------------------------------------------------------------------------
/inst/assets/scss/custom/utilities/_sizing.scss:
--------------------------------------------------------------------------------
1 | // Height values in vh
2 |
3 | .h-100vh {
4 | height: 100vh !important;
5 | }
6 |
--------------------------------------------------------------------------------
/inst/assets/scss/bootstrap/_media.scss:
--------------------------------------------------------------------------------
1 | .media {
2 | display: flex;
3 | align-items: flex-start;
4 | }
5 |
6 | .media-body {
7 | flex: 1;
8 | }
9 |
--------------------------------------------------------------------------------
/inst/assets/vendor/nucleo/fonts/nucleo-icons.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RinteRface/argonR/HEAD/inst/assets/vendor/nucleo/fonts/nucleo-icons.eot
--------------------------------------------------------------------------------
/inst/assets/vendor/nucleo/fonts/nucleo-icons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RinteRface/argonR/HEAD/inst/assets/vendor/nucleo/fonts/nucleo-icons.ttf
--------------------------------------------------------------------------------
/inst/assets/vendor/nucleo/fonts/nucleo-icons.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RinteRface/argonR/HEAD/inst/assets/vendor/nucleo/fonts/nucleo-icons.woff
--------------------------------------------------------------------------------
/inst/assets/vendor/nucleo/fonts/nucleo-icons.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RinteRface/argonR/HEAD/inst/assets/vendor/nucleo/fonts/nucleo-icons.woff2
--------------------------------------------------------------------------------
/inst/assets/scss/bootstrap/mixins/_box-shadow.scss:
--------------------------------------------------------------------------------
1 | @mixin box-shadow($shadow...) {
2 | @if $enable-shadows {
3 | box-shadow: $shadow;
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/inst/assets/vendor/font-awesome/fonts/FontAwesome.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RinteRface/argonR/HEAD/inst/assets/vendor/font-awesome/fonts/FontAwesome.otf
--------------------------------------------------------------------------------
/inst/assets/scss/bootstrap/mixins/_size.scss:
--------------------------------------------------------------------------------
1 | // Sizing shortcuts
2 |
3 | @mixin size($width, $height: $width) {
4 | width: $width;
5 | height: $height;
6 | }
7 |
--------------------------------------------------------------------------------
/docs/pkgdown.yml:
--------------------------------------------------------------------------------
1 | pandoc: 2.14.0.3
2 | pkgdown: 1.6.1
3 | pkgdown_sha: ~
4 | articles:
5 | getting_started: getting_started.html
6 | last_built: 2021-11-15T13:12Z
7 |
8 |
--------------------------------------------------------------------------------
/inst/assets/scss/bootstrap/mixins/_clearfix.scss:
--------------------------------------------------------------------------------
1 | @mixin clearfix() {
2 | &::after {
3 | display: block;
4 | clear: both;
5 | content: "";
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/inst/assets/vendor/font-awesome/fonts/fontawesome-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RinteRface/argonR/HEAD/inst/assets/vendor/font-awesome/fonts/fontawesome-webfont.eot
--------------------------------------------------------------------------------
/inst/assets/vendor/font-awesome/fonts/fontawesome-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RinteRface/argonR/HEAD/inst/assets/vendor/font-awesome/fonts/fontawesome-webfont.ttf
--------------------------------------------------------------------------------
/inst/assets/vendor/font-awesome/fonts/fontawesome-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RinteRface/argonR/HEAD/inst/assets/vendor/font-awesome/fonts/fontawesome-webfont.woff
--------------------------------------------------------------------------------
/inst/assets/vendor/font-awesome/fonts/fontawesome-webfont.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RinteRface/argonR/HEAD/inst/assets/vendor/font-awesome/fonts/fontawesome-webfont.woff2
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | inst/doc
2 | .Rproj.user
3 | .Rhistory
4 | .RData
5 | .Ruserdata
6 | .DS_Store
7 | revdep/checks.noindex
8 | revdep/library.noindex
9 | revdep/data.sqlite
10 | docs
11 |
--------------------------------------------------------------------------------
/.Rbuildignore:
--------------------------------------------------------------------------------
1 | ^CRAN-RELEASE$
2 | ^docs$
3 | ^_pkgdown\.yml$
4 | ^cran-comments\.md$
5 | ^.*\.Rproj$
6 | ^\.Rproj\.user$
7 | ^revdep$
8 | ^CODE_OF_CONDUCT\.md$
9 | ^\.github$
10 | ^pkgdown$
11 |
--------------------------------------------------------------------------------
/inst/assets/scss/custom/_reboot.scss:
--------------------------------------------------------------------------------
1 | iframe {
2 | border: 0;
3 | }
4 |
5 | figcaption,
6 | figure,
7 | main {
8 | display: block;
9 | }
10 |
11 | main {
12 | overflow: hidden;
13 | }
--------------------------------------------------------------------------------
/inst/assets/scss/custom/mixins/_icon.scss:
--------------------------------------------------------------------------------
1 | @mixin icon-shape-variant($color) {
2 | color: saturate(darken($color, 10%), 10);
3 | background-color: transparentize(lighten($color, 10%), .5);
4 | }
--------------------------------------------------------------------------------
/inst/assets/scss/bootstrap/mixins/_visibility.scss:
--------------------------------------------------------------------------------
1 | // stylelint-disable declaration-no-important
2 |
3 | // Visibility
4 |
5 | @mixin invisible($visibility) {
6 | visibility: $visibility !important;
7 | }
8 |
--------------------------------------------------------------------------------
/inst/assets/scss/bootstrap/utilities/_screenreaders.scss:
--------------------------------------------------------------------------------
1 | //
2 | // Screenreaders
3 | //
4 |
5 | .sr-only {
6 | @include sr-only();
7 | }
8 |
9 | .sr-only-focusable {
10 | @include sr-only-focusable();
11 | }
12 |
--------------------------------------------------------------------------------
/inst/assets/scss/bootstrap/utilities/_visibility.scss:
--------------------------------------------------------------------------------
1 | //
2 | // Visibility utilities
3 | //
4 |
5 | .visible {
6 | @include invisible(visible);
7 | }
8 |
9 | .invisible {
10 | @include invisible(hidden);
11 | }
12 |
--------------------------------------------------------------------------------
/inst/assets/scss/bootstrap/mixins/_lists.scss:
--------------------------------------------------------------------------------
1 | // Lists
2 |
3 | // Unstyled keeps list items block level, just removes default browser padding and list-style
4 | @mixin list-unstyled {
5 | padding-left: 0;
6 | list-style: none;
7 | }
8 |
--------------------------------------------------------------------------------
/inst/assets/scss/bootstrap/mixins/_text-truncate.scss:
--------------------------------------------------------------------------------
1 | // Text truncate
2 | // Requires inline-block or block for proper styling
3 |
4 | @mixin text-truncate() {
5 | overflow: hidden;
6 | text-overflow: ellipsis;
7 | white-space: nowrap;
8 | }
9 |
--------------------------------------------------------------------------------
/inst/assets/scss/bootstrap/mixins/_resize.scss:
--------------------------------------------------------------------------------
1 | // Resize anything
2 |
3 | @mixin resizable($direction) {
4 | overflow: auto; // Per CSS3 UI, `resize` only applies when `overflow` isn't `visible`
5 | resize: $direction; // Options: horizontal, vertical, both
6 | }
7 |
--------------------------------------------------------------------------------
/inst/assets/scss/bootstrap/mixins/_float.scss:
--------------------------------------------------------------------------------
1 | // stylelint-disable declaration-no-important
2 |
3 | @mixin float-left {
4 | float: left !important;
5 | }
6 | @mixin float-right {
7 | float: right !important;
8 | }
9 | @mixin float-none {
10 | float: none !important;
11 | }
12 |
--------------------------------------------------------------------------------
/inst/assets/scss/bootstrap/utilities/_shadows.scss:
--------------------------------------------------------------------------------
1 | // stylelint-disable declaration-no-important
2 |
3 | .shadow-sm { box-shadow: $box-shadow-sm !important; }
4 | .shadow { box-shadow: $box-shadow !important; }
5 | .shadow-lg { box-shadow: $box-shadow-lg !important; }
6 | .shadow-none { box-shadow: none !important; }
7 |
--------------------------------------------------------------------------------
/cran-comments.md:
--------------------------------------------------------------------------------
1 | ## Test environments
2 | * local OS X install, R 3.4.4
3 | * R-hub check
4 | * Ubuntu 16.04.6 LTS (on travis-ci), R 3.6.1 (2017-01-27)
5 | * win-builder (devel and release)
6 |
7 | ## R CMD check results
8 |
9 | 0 errors | 0 warnings | 0 notes
10 |
11 | ## Revdep check
12 | Nothing to declare
13 |
--------------------------------------------------------------------------------
/inst/assets/scss/custom/_popover.scss:
--------------------------------------------------------------------------------
1 | .popover {
2 | border: 0;
3 | }
4 |
5 | .popover-header {
6 | font-weight: $font-weight-bold;
7 | }
8 |
9 | // Alternative colors
10 | @each $color, $value in $theme-colors {
11 | .popover-#{$color} {
12 | @include popover-variant($value);
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/inst/assets/scss/bootstrap/mixins/_badge.scss:
--------------------------------------------------------------------------------
1 | @mixin badge-variant($bg) {
2 | color: color-yiq($bg);
3 | background-color: $bg;
4 |
5 | &[href] {
6 | @include hover-focus {
7 | color: color-yiq($bg);
8 | text-decoration: none;
9 | background-color: darken($bg, 10%);
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/inst/assets/scss/bootstrap/mixins/_alert.scss:
--------------------------------------------------------------------------------
1 | @mixin alert-variant($background, $border, $color) {
2 | color: $color;
3 | @include gradient-bg($background);
4 | border-color: $border;
5 |
6 | hr {
7 | border-top-color: darken($border, 5%);
8 | }
9 |
10 | .alert-link {
11 | color: darken($color, 10%);
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/inst/assets/scss/custom/utilities/_transform.scss:
--------------------------------------------------------------------------------
1 | @include media-breakpoint-up(lg) {
2 | .transform-perspective-right {
3 | transform: scale(1) perspective(1040px) rotateY(-11deg) rotateX(2deg) rotate(2deg);
4 | }
5 | .transform-perspective-left{
6 | transform: scale(1) perspective(2000px) rotateY(11deg) rotateX(2deg) rotate(-2deg)
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/inst/assets/scss/bootstrap/mixins/_nav-divider.scss:
--------------------------------------------------------------------------------
1 | // Horizontal dividers
2 | //
3 | // Dividers (basically an hr) within dropdowns and nav lists
4 |
5 | @mixin nav-divider($color: $nav-divider-color, $margin-y: $nav-divider-margin-y) {
6 | height: 0;
7 | margin: $margin-y 0;
8 | overflow: hidden;
9 | border-top: 1px solid $color;
10 | }
11 |
--------------------------------------------------------------------------------
/inst/assets/scss/custom/_mixins.scss:
--------------------------------------------------------------------------------
1 | @import "custom/mixins/alert.scss";
2 | @import "custom/mixins/badge.scss";
3 | @import "custom/mixins/background-variant.scss";
4 | @import "custom/mixins/buttons.scss";
5 | @import "custom/mixins/forms.scss";
6 | @import "custom/mixins/icon.scss";
7 | @import "custom/mixins/modals.scss";
8 | @import "custom/mixins/popover.scss";
--------------------------------------------------------------------------------
/inst/assets/scss/bootstrap/mixins/_text-emphasis.scss:
--------------------------------------------------------------------------------
1 | // stylelint-disable declaration-no-important
2 |
3 | // Typography
4 |
5 | @mixin text-emphasis-variant($parent, $color) {
6 | #{$parent} {
7 | color: $color !important;
8 | }
9 | a#{$parent} {
10 | @include hover-focus {
11 | color: darken($color, 10%) !important;
12 | }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/inst/assets/scss/custom/mixins/_alert.scss:
--------------------------------------------------------------------------------
1 | @mixin alert-variant($background, $border, $color) {
2 | color: color-yiq($background);
3 | @include gradient-bg($background);
4 | border-color: $border;
5 |
6 | hr {
7 | border-top-color: darken($border, 5%);
8 | }
9 |
10 | .alert-link {
11 | color: darken($color, 10%);
12 | }
13 | }
--------------------------------------------------------------------------------
/inst/assets/scss/custom/utilities/_position.scss:
--------------------------------------------------------------------------------
1 | @each $size, $value in $spacers {
2 | .top-#{$size} {
3 | top: $value;
4 | }
5 | .right-#{$size} {
6 | right: $value;
7 | }
8 | .bottom-#{$size} {
9 | bottom: $value;
10 | }
11 | .left-#{$size} {
12 | left: $value;
13 | }
14 | }
15 |
16 | .center {
17 | left: 50%;
18 | transform: translateX(-50%);
19 | }
--------------------------------------------------------------------------------
/inst/assets/scss/bootstrap/mixins/_transition.scss:
--------------------------------------------------------------------------------
1 | @mixin transition($transition...) {
2 | @if $enable-transitions {
3 | @if length($transition) == 0 {
4 | transition: $transition-base;
5 | } @else {
6 | transition: $transition;
7 | }
8 | }
9 |
10 | @media screen and (prefers-reduced-motion: reduce) {
11 | transition: none;
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/inst/assets/scss/custom/mixins/_badge.scss:
--------------------------------------------------------------------------------
1 | @mixin badge-variant($bg) {
2 | color: saturate(darken($bg, 10%), 10);
3 | background-color: transparentize(lighten($bg, 25%), .5);
4 |
5 | &[href] {
6 | @include hover-focus {
7 | color: color-yiq($bg);
8 | text-decoration: none;
9 | background-color: darken($bg, 10%);
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/argonR.Rproj:
--------------------------------------------------------------------------------
1 | Version: 1.0
2 |
3 | RestoreWorkspace: Default
4 | SaveWorkspace: Default
5 | AlwaysSaveHistory: Default
6 |
7 | EnableCodeIndexing: Yes
8 | UseSpacesForTab: Yes
9 | NumSpacesForTab: 2
10 | Encoding: UTF-8
11 |
12 | RnwWeave: Sweave
13 | LaTeX: pdfLaTeX
14 |
15 | BuildType: Package
16 | PackageUseDevtools: Yes
17 | PackageInstallArgs: --no-multiarch --with-keep.source
18 |
--------------------------------------------------------------------------------
/inst/assets/scss/bootstrap/utilities/_sizing.scss:
--------------------------------------------------------------------------------
1 | // stylelint-disable declaration-no-important
2 |
3 | // Width and height
4 |
5 | @each $prop, $abbrev in (width: w, height: h) {
6 | @each $size, $length in $sizes {
7 | .#{$abbrev}-#{$size} { #{$prop}: $length !important; }
8 | }
9 | }
10 |
11 | .mw-100 { max-width: 100% !important; }
12 | .mh-100 { max-height: 100% !important; }
13 |
--------------------------------------------------------------------------------
/inst/assets/scss/bootstrap/utilities/_float.scss:
--------------------------------------------------------------------------------
1 | @each $breakpoint in map-keys($grid-breakpoints) {
2 | @include media-breakpoint-up($breakpoint) {
3 | $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
4 |
5 | .float#{$infix}-left { @include float-left; }
6 | .float#{$infix}-right { @include float-right; }
7 | .float#{$infix}-none { @include float-none; }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/inst/assets/scss/custom/_utilities.scss:
--------------------------------------------------------------------------------
1 | @import "custom/utilities/backgrounds.scss";
2 | @import "custom/utilities/floating.scss";
3 | @import "custom/utilities/helper.scss";
4 | @import "custom/utilities/position.scss";
5 | @import "custom/utilities/sizing.scss";
6 | @import "custom/utilities/spacing.scss";
7 | @import "custom/utilities/shadows.scss";
8 | @import "custom/utilities/text.scss";
9 | @import "custom/utilities/transform.scss";
--------------------------------------------------------------------------------
/inst/assets/scss/custom/utilities/_shadows.scss:
--------------------------------------------------------------------------------
1 | [class*="shadow"] {
2 | @if $enable-transitions {
3 | transition: $transition-base;
4 | }
5 | }
6 |
7 | .shadow-sm--hover:hover { box-shadow: $box-shadow-sm !important; }
8 | .shadow--hover:hover { box-shadow: $box-shadow !important; }
9 | .shadow-lg--hover:hover { box-shadow: $box-shadow-lg !important; }
10 | .shadow-none--hover:hover { box-shadow: none !important; }
11 |
--------------------------------------------------------------------------------
/inst/assets/scss/bootstrap/_transitions.scss:
--------------------------------------------------------------------------------
1 | // stylelint-disable selector-no-qualifying-type
2 |
3 | .fade {
4 | @include transition($transition-fade);
5 |
6 | &:not(.show) {
7 | opacity: 0;
8 | }
9 | }
10 |
11 | .collapse {
12 | &:not(.show) {
13 | display: none;
14 | }
15 | }
16 |
17 | .collapsing {
18 | position: relative;
19 | height: 0;
20 | overflow: hidden;
21 | @include transition($transition-collapse);
22 | }
23 |
--------------------------------------------------------------------------------
/inst/assets/scss/bootstrap/_jumbotron.scss:
--------------------------------------------------------------------------------
1 | .jumbotron {
2 | padding: $jumbotron-padding ($jumbotron-padding / 2);
3 | margin-bottom: $jumbotron-padding;
4 | background-color: $jumbotron-bg;
5 | @include border-radius($border-radius-lg);
6 |
7 | @include media-breakpoint-up(sm) {
8 | padding: ($jumbotron-padding * 2) $jumbotron-padding;
9 | }
10 | }
11 |
12 | .jumbotron-fluid {
13 | padding-right: 0;
14 | padding-left: 0;
15 | @include border-radius(0);
16 | }
17 |
--------------------------------------------------------------------------------
/inst/assets/scss/bootstrap/utilities/_align.scss:
--------------------------------------------------------------------------------
1 | // stylelint-disable declaration-no-important
2 |
3 | .align-baseline { vertical-align: baseline !important; } // Browser default
4 | .align-top { vertical-align: top !important; }
5 | .align-middle { vertical-align: middle !important; }
6 | .align-bottom { vertical-align: bottom !important; }
7 | .align-text-bottom { vertical-align: text-bottom !important; }
8 | .align-text-top { vertical-align: text-top !important; }
9 |
--------------------------------------------------------------------------------
/inst/assets/scss/bootstrap/mixins/_text-hide.scss:
--------------------------------------------------------------------------------
1 | // CSS image replacement
2 | @mixin text-hide($ignore-warning: false) {
3 | // stylelint-disable-next-line font-family-no-missing-generic-family-keyword
4 | font: 0/0 a;
5 | color: transparent;
6 | text-shadow: none;
7 | background-color: transparent;
8 | border: 0;
9 |
10 | @if ($ignore-warning != true) {
11 | @warn "The `text-hide()` mixin has been deprecated as of v4.1.0. It will be removed entirely in v5.";
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/man/argonProfileStats.Rd:
--------------------------------------------------------------------------------
1 | % Generated by roxygen2: do not edit by hand
2 | % Please edit documentation in R/argonProfile.R
3 | \name{argonProfileStats}
4 | \alias{argonProfileStats}
5 | \title{Create a Boostrap 4 profile card stats container}
6 | \usage{
7 | argonProfileStats(...)
8 | }
9 | \arguments{
10 | \item{...}{Slot for \link{argonProfileStat}.}
11 | }
12 | \description{
13 | Build an argon profile card stats container
14 | }
15 | \author{
16 | David Granjon, \email{dgranjon@ymail.com}
17 | }
18 |
--------------------------------------------------------------------------------
/man/argonLead.Rd:
--------------------------------------------------------------------------------
1 | % Generated by roxygen2: do not edit by hand
2 | % Please edit documentation in R/typography.R
3 | \name{argonLead}
4 | \alias{argonLead}
5 | \title{Create a custom p tag}
6 | \usage{
7 | argonLead(...)
8 | }
9 | \arguments{
10 | \item{...}{Any text.}
11 | }
12 | \description{
13 | A custom p tag
14 | }
15 | \examples{
16 | if (interactive()) {
17 | library(argonR)
18 | argonLead("Badges")
19 | }
20 |
21 |
22 | }
23 | \author{
24 | David Granjon, \email{dgranjon@ymail.com}
25 | }
26 |
--------------------------------------------------------------------------------
/inst/assets/scss/bootstrap/utilities/_background.scss:
--------------------------------------------------------------------------------
1 | // stylelint-disable declaration-no-important
2 |
3 | @each $color, $value in $theme-colors {
4 | @include bg-variant(".bg-#{$color}", $value);
5 | }
6 |
7 | @if $enable-gradients {
8 | @each $color, $value in $theme-colors {
9 | @include bg-gradient-variant(".bg-gradient-#{$color}", $value);
10 | }
11 | }
12 |
13 | .bg-white {
14 | background-color: $white !important;
15 | }
16 |
17 | .bg-transparent {
18 | background-color: transparent !important;
19 | }
20 |
--------------------------------------------------------------------------------
/inst/assets/scss/custom/mixins/_modals.scss:
--------------------------------------------------------------------------------
1 | @mixin modal-variant($background) {
2 | .modal-title {
3 | color: color-yiq($background);
4 | }
5 | .modal-header,
6 | .modal-footer {
7 | border-color: rgba(color-yiq($background), .075);
8 | }
9 | .modal-content {
10 | background-color: $background;
11 | color: color-yiq($background);
12 |
13 | .heading {
14 | color: color-yiq($background);
15 | }
16 | }
17 |
18 | .close {
19 | &>span:not(.sr-only) {
20 | color: $white;
21 | }
22 | }
23 | }
--------------------------------------------------------------------------------
/man/argonProfileStat.Rd:
--------------------------------------------------------------------------------
1 | % Generated by roxygen2: do not edit by hand
2 | % Please edit documentation in R/argonProfile.R
3 | \name{argonProfileStat}
4 | \alias{argonProfileStat}
5 | \title{Create a Boostrap 4 profile card stat item}
6 | \usage{
7 | argonProfileStat(value, description)
8 | }
9 | \arguments{
10 | \item{value}{Stat value.}
11 |
12 | \item{description}{Stat description.}
13 | }
14 | \description{
15 | Build an argon profile card stat item
16 | }
17 | \author{
18 | David Granjon, \email{dgranjon@ymail.com}
19 | }
20 |
--------------------------------------------------------------------------------
/man/argonMuted.Rd:
--------------------------------------------------------------------------------
1 | % Generated by roxygen2: do not edit by hand
2 | % Please edit documentation in R/typography.R
3 | \name{argonMuted}
4 | \alias{argonMuted}
5 | \title{Create a muted text}
6 | \usage{
7 | argonMuted(...)
8 | }
9 | \arguments{
10 | \item{...}{Any text.}
11 | }
12 | \description{
13 | Apply the class muted to a text
14 | }
15 | \examples{
16 | if (interactive()) {
17 | library(argonR)
18 | argonMuted(argonLead("Badges"))
19 | }
20 |
21 |
22 | }
23 | \author{
24 | David Granjon, \email{dgranjon@ymail.com}
25 | }
26 |
--------------------------------------------------------------------------------
/inst/assets/scss/bootstrap/_utilities.scss:
--------------------------------------------------------------------------------
1 | @import "utilities/align";
2 | @import "utilities/background";
3 | @import "utilities/borders";
4 | @import "utilities/clearfix";
5 | @import "utilities/display";
6 | @import "utilities/embed";
7 | @import "utilities/flex";
8 | @import "utilities/float";
9 | @import "utilities/position";
10 | @import "utilities/screenreaders";
11 | @import "utilities/shadows";
12 | @import "utilities/sizing";
13 | @import "utilities/spacing";
14 | @import "utilities/text";
15 | @import "utilities/visibility";
16 |
--------------------------------------------------------------------------------
/inst/assets/scss/bootstrap/mixins/_list-group.scss:
--------------------------------------------------------------------------------
1 | // List Groups
2 |
3 | @mixin list-group-item-variant($state, $background, $color) {
4 | .list-group-item-#{$state} {
5 | color: $color;
6 | background-color: $background;
7 |
8 | &.list-group-item-action {
9 | @include hover-focus {
10 | color: $color;
11 | background-color: darken($background, 5%);
12 | }
13 |
14 | &.active {
15 | color: $white;
16 | background-color: $color;
17 | border-color: $color;
18 | }
19 | }
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/inst/assets/scss/custom/_modal.scss:
--------------------------------------------------------------------------------
1 | .modal-content {
2 | border: 0;
3 | @if $enable-rounded {
4 | border-radius: $modal-content-border-radius;
5 | } @else {
6 | border-radius: 0;
7 | }
8 | }
9 |
10 |
11 | .modal-fluid {
12 | .modal-dialog {
13 | margin-top: 0;
14 | margin-bottom: 0;
15 | }
16 | .modal-content {
17 | border-radius: 0;
18 | }
19 | }
20 |
21 | @each $color, $value in $theme-colors {
22 | .modal-#{$color} {
23 | @include modal-variant($value);
24 | }
25 | }
26 |
27 |
--------------------------------------------------------------------------------
/man/argonNavMenu.Rd:
--------------------------------------------------------------------------------
1 | % Generated by roxygen2: do not edit by hand
2 | % Please edit documentation in R/argonNavbar.R
3 | \name{argonNavMenu}
4 | \alias{argonNavMenu}
5 | \title{Create a Boostrap 4 argon navbar menu}
6 | \usage{
7 | argonNavMenu(..., side = "left")
8 | }
9 | \arguments{
10 | \item{...}{Slot for \link{argonNavItem} and \link{argonDropdown}.}
11 |
12 | \item{side}{Nav menu side. "left by default" but can also be "right".}
13 | }
14 | \description{
15 | Build an argon navbar menu
16 | }
17 | \author{
18 | David Granjon, \email{dgranjon@ymail.com}
19 | }
20 |
--------------------------------------------------------------------------------
/man/argonDropdown.Rd:
--------------------------------------------------------------------------------
1 | % Generated by roxygen2: do not edit by hand
2 | % Please edit documentation in R/argonNavbar.R
3 | \name{argonDropdown}
4 | \alias{argonDropdown}
5 | \title{Create a Boostrap 4 argon dropdown menu}
6 | \usage{
7 | argonDropdown(..., name, size = NULL)
8 | }
9 | \arguments{
10 | \item{...}{Slot for \link{argonDropdownItem}.}
11 |
12 | \item{name}{Dropdown menu name.}
13 |
14 | \item{size}{Dropdown size: NULL or "xl".}
15 | }
16 | \description{
17 | Build an argon dropdown menu
18 | }
19 | \author{
20 | David Granjon, \email{dgranjon@ymail.com}
21 | }
22 |
--------------------------------------------------------------------------------
/man/argonH1.Rd:
--------------------------------------------------------------------------------
1 | % Generated by roxygen2: do not edit by hand
2 | % Please edit documentation in R/typography.R
3 | \name{argonH1}
4 | \alias{argonH1}
5 | \title{Create a custim h1 tag}
6 | \usage{
7 | argonH1(..., display)
8 | }
9 | \arguments{
10 | \item{...}{Any text.}
11 |
12 | \item{display}{value between 1 and 4.}
13 | }
14 | \description{
15 | A custom h1 tag
16 | }
17 | \examples{
18 | if (interactive()) {
19 | library(argonR)
20 | argonH1(display = 3, "ArgonR elements")
21 | }
22 |
23 |
24 | }
25 | \author{
26 | David Granjon, \email{dgranjon@ymail.com}
27 | }
28 |
--------------------------------------------------------------------------------
/inst/assets/scss/custom/mixins/_background-variant.scss:
--------------------------------------------------------------------------------
1 | // Contextual backgrounds
2 | @mixin bg-variant($parent, $color) {
3 | #{$parent} {
4 | background-color: $color !important;
5 | }
6 | a#{$parent},
7 | button#{$parent} {
8 | @include hover-focus {
9 | background-color: darken($color, 10%) !important;
10 | }
11 | }
12 | }
13 |
14 | @mixin bg-gradient-variant($parent, $color) {
15 | #{$parent} {
16 | background: linear-gradient(87deg, $color 0, adjust-hue($color, 25%) 100%) !important;
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/man/argonCascadeItem.Rd:
--------------------------------------------------------------------------------
1 | % Generated by roxygen2: do not edit by hand
2 | % Please edit documentation in R/extra-effects.R
3 | \name{argonCascadeItem}
4 | \alias{argonCascadeItem}
5 | \title{Create a Boostrap 4 cascade item}
6 | \usage{
7 | argonCascadeItem(name, size = NULL, src = NULL)
8 | }
9 | \arguments{
10 | \item{name}{Icon name.}
11 |
12 | \item{size}{Icon size: NULL, "sm" or "lg".}
13 |
14 | \item{src}{Optional external url, link, ...}
15 | }
16 | \description{
17 | Build an argon cascade item
18 | }
19 | \author{
20 | David Granjon, \email{dgranjon@ymail.com}
21 | }
22 |
--------------------------------------------------------------------------------
/man/argonPaginationItem.Rd:
--------------------------------------------------------------------------------
1 | % Generated by roxygen2: do not edit by hand
2 | % Please edit documentation in R/argonPagination.R
3 | \name{argonPaginationItem}
4 | \alias{argonPaginationItem}
5 | \title{Build an argon pagination item}
6 | \usage{
7 | argonPaginationItem(name, src = NULL)
8 | }
9 | \arguments{
10 | \item{name}{Item name. Better to use numerics such as 1, 2, 3, ...}
11 |
12 | \item{src}{Item target. Another html page for instance.}
13 | }
14 | \description{
15 | Build an argon pagination item
16 | }
17 | \author{
18 | David Granjon, \email{dgranjon@ymail.com}
19 | }
20 |
--------------------------------------------------------------------------------
/inst/assets/scss/custom/vendor/_headroom.scss:
--------------------------------------------------------------------------------
1 |
2 | .headroom {
3 | will-change: transform;
4 | background-color: inherit;
5 | @include transition($transition-base);
6 | }
7 | .headroom--pinned {
8 | @extend .position-fixed;
9 | transform: translateY(0%);
10 | }
11 | .headroom--unpinned {
12 | @extend .position-fixed;
13 | transform: translateY(-100%);
14 | }
15 |
16 | .headroom--not-top {
17 | padding-top: .5rem;
18 | padding-bottom: .5rem;
19 | background-color: theme-color("default") !important;
20 | box-shadow: 0 1px 10px rgba(130, 130, 134, 0.1);
21 | }
--------------------------------------------------------------------------------
/inst/assets/scss/bootstrap/mixins/_pagination.scss:
--------------------------------------------------------------------------------
1 | // Pagination
2 |
3 | @mixin pagination-size($padding-y, $padding-x, $font-size, $line-height, $border-radius) {
4 | .page-link {
5 | padding: $padding-y $padding-x;
6 | font-size: $font-size;
7 | line-height: $line-height;
8 | }
9 |
10 | .page-item {
11 | &:first-child {
12 | .page-link {
13 | @include border-left-radius($border-radius);
14 | }
15 | }
16 | &:last-child {
17 | .page-link {
18 | @include border-right-radius($border-radius);
19 | }
20 | }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/man/argonTab.Rd:
--------------------------------------------------------------------------------
1 | % Generated by roxygen2: do not edit by hand
2 | % Please edit documentation in R/argonTabs.R
3 | \name{argonTab}
4 | \alias{argonTab}
5 | \title{Create a Boostrap 4 tab item}
6 | \usage{
7 | argonTab(..., tabName, active = FALSE)
8 | }
9 | \arguments{
10 | \item{...}{Tab content}
11 |
12 | \item{tabName}{Tab name: it will be also passed as the id argument. Should be unique.}
13 |
14 | \item{active}{Whether the tab is active or not. FALSE bu default.}
15 | }
16 | \description{
17 | Build an argon tab item
18 | }
19 | \author{
20 | David Granjon, \email{dgranjon@ymail.com}
21 | }
22 |
--------------------------------------------------------------------------------
/man/argonContainer.Rd:
--------------------------------------------------------------------------------
1 | % Generated by roxygen2: do not edit by hand
2 | % Please edit documentation in R/typography.R
3 | \name{argonContainer}
4 | \alias{argonContainer}
5 | \title{Create a boostrap 4 container}
6 | \usage{
7 | argonContainer(..., size = NULL)
8 | }
9 | \arguments{
10 | \item{...}{Tag to be embedded.}
11 |
12 | \item{size}{Container size. NULL or "lg".}
13 | }
14 | \description{
15 | Create a boostrap 4 container
16 | }
17 | \examples{
18 | if (interactive()) {
19 | library(argonR)
20 | argonContainer()
21 | }
22 |
23 | }
24 | \author{
25 | David Granjon, \email{dgranjon@ymail.com}
26 | }
27 |
--------------------------------------------------------------------------------
/inst/assets/scss/bootstrap/mixins/_background-variant.scss:
--------------------------------------------------------------------------------
1 | // stylelint-disable declaration-no-important
2 |
3 | // Contextual backgrounds
4 |
5 | @mixin bg-variant($parent, $color) {
6 | #{$parent} {
7 | background-color: $color !important;
8 | }
9 | a#{$parent},
10 | button#{$parent} {
11 | @include hover-focus {
12 | background-color: darken($color, 10%) !important;
13 | }
14 | }
15 | }
16 |
17 | @mixin bg-gradient-variant($parent, $color) {
18 | #{$parent} {
19 | background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x !important;
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/man/argonCarouselItem.Rd:
--------------------------------------------------------------------------------
1 | % Generated by roxygen2: do not edit by hand
2 | % Please edit documentation in R/argonCarousel.R
3 | \name{argonCarouselItem}
4 | \alias{argonCarouselItem}
5 | \title{Create a carousel item}
6 | \usage{
7 | argonCarouselItem(src = NULL, active = FALSE, mode = "img")
8 | }
9 | \arguments{
10 | \item{src}{Image url or path.}
11 |
12 | \item{active}{Whether the item is active or not.}
13 |
14 | \item{mode}{Item mode: "img" by default but also "iframe" or "video".}
15 | }
16 | \description{
17 | Build an argon carousel item
18 | }
19 | \author{
20 | David Granjon, \email{dgranjon@ymail.com}
21 | }
22 |
--------------------------------------------------------------------------------
/man/argonInstall.Rd:
--------------------------------------------------------------------------------
1 | % Generated by roxygen2: do not edit by hand
2 | % Please edit documentation in R/argonPage.R
3 | \name{argonInstall}
4 | \alias{argonInstall}
5 | \title{Install argon assets}
6 | \usage{
7 | argonInstall(path = getwd())
8 | }
9 | \arguments{
10 | \item{path}{Where to store assets. By default, getwd().}
11 | }
12 | \description{
13 | Install argon assets
14 | }
15 | \note{
16 | argon assets are stored in the inst folder similarly as the package folder.
17 | }
18 | \examples{
19 | if(interactive()){
20 | library(argonR)
21 | argonInstall()
22 | }
23 |
24 | }
25 | \author{
26 | David Granjon, \email{dgranjon@ymail.com}
27 | }
28 |
--------------------------------------------------------------------------------
/man/argonIcon.Rd:
--------------------------------------------------------------------------------
1 | % Generated by roxygen2: do not edit by hand
2 | % Please edit documentation in R/argonIcon.R
3 | \name{argonIcon}
4 | \alias{argonIcon}
5 | \title{Create a Nucleo icon}
6 | \usage{
7 | argonIcon(name, color = NULL)
8 | }
9 | \arguments{
10 | \item{name}{icon name.}
11 |
12 | \item{color}{icon color. See \url{https://demos.creative-tim.com/argon-design-system/docs/foundation/colors.html}.}
13 | }
14 | \description{
15 | Build an argon Nucleo icon
16 | }
17 | \examples{
18 | if (interactive()) {
19 | library(argonR)
20 | argonIcon("atom")
21 | }
22 |
23 |
24 | }
25 | \author{
26 | David Granjon, \email{dgranjon@ymail.com}
27 | }
28 |
--------------------------------------------------------------------------------
/inst/assets/scss/bootstrap/mixins/_reset-text.scss:
--------------------------------------------------------------------------------
1 | @mixin reset-text {
2 | font-family: $font-family-base;
3 | // We deliberately do NOT reset font-size or word-wrap.
4 | font-style: normal;
5 | font-weight: $font-weight-normal;
6 | line-height: $line-height-base;
7 | text-align: left; // Fallback for where `start` is not supported
8 | text-align: start; // stylelint-disable-line declaration-block-no-duplicate-properties
9 | text-decoration: none;
10 | text-shadow: none;
11 | text-transform: none;
12 | letter-spacing: normal;
13 | word-break: normal;
14 | word-spacing: normal;
15 | white-space: normal;
16 | line-break: auto;
17 | }
18 |
--------------------------------------------------------------------------------
/man/argonNavItem.Rd:
--------------------------------------------------------------------------------
1 | % Generated by roxygen2: do not edit by hand
2 | % Please edit documentation in R/argonNavbar.R
3 | \name{argonNavItem}
4 | \alias{argonNavItem}
5 | \title{Create a Boostrap 4 argon navbar item}
6 | \usage{
7 | argonNavItem(name = NULL, src = NULL, icon = NULL, tooltip = NULL)
8 | }
9 | \arguments{
10 | \item{name}{Item name.}
11 |
12 | \item{src}{HTML target page.}
13 |
14 | \item{icon}{Item icon of any. Expect \link{argonIcon} or \link[shiny]{icon}.}
15 |
16 | \item{tooltip}{Text to display when the item is hovered.}
17 | }
18 | \description{
19 | Build an argon navbar item
20 | }
21 | \author{
22 | David Granjon, \email{dgranjon@ymail.com}
23 | }
24 |
--------------------------------------------------------------------------------
/inst/assets/scss/bootstrap/_root.scss:
--------------------------------------------------------------------------------
1 | :root {
2 | // Custom variable values only support SassScript inside `#{}`.
3 | @each $color, $value in $colors {
4 | --#{$color}: #{$value};
5 | }
6 |
7 | @each $color, $value in $theme-colors {
8 | --#{$color}: #{$value};
9 | }
10 |
11 | @each $bp, $value in $grid-breakpoints {
12 | --breakpoint-#{$bp}: #{$value};
13 | }
14 |
15 | // Use `inspect` for lists so that quoted items keep the quotes.
16 | // See https://github.com/sass/sass/issues/2383#issuecomment-336349172
17 | --font-family-sans-serif: #{inspect($font-family-sans-serif)};
18 | --font-family-monospace: #{inspect($font-family-monospace)};
19 | }
20 |
--------------------------------------------------------------------------------
/inst/assets/scss/custom/_functions.scss:
--------------------------------------------------------------------------------
1 | // Retrieve color Sass maps
2 |
3 | @function section-color($key: "primary") {
4 | @return map-get($section-colors, $key);
5 | }
6 |
7 | // Lines colors
8 |
9 | @function shapes-primary-color($key: "step-1-gradient-bg") {
10 | @return map-get($shapes-primary-colors, $key);
11 | }
12 |
13 | @function shapes-default-color($key: "step-1-gradient-bg") {
14 | @return map-get($shapes-default-colors, $key);
15 | }
16 |
17 | @function lines-light-color($key: "step-1-gradient-bg") {
18 | @return map-get($shapes-light-colors, $key);
19 | }
20 |
21 | @function shapes-dark-color($key: "step-1-gradient-bg") {
22 | @return map-get($shapes-dark-colors, $key);
23 | }
--------------------------------------------------------------------------------
/man/argonPersp.Rd:
--------------------------------------------------------------------------------
1 | % Generated by roxygen2: do not edit by hand
2 | % Please edit documentation in R/extra-effects.R
3 | \name{argonPersp}
4 | \alias{argonPersp}
5 | \title{Create a Boostrap 4 perspective effect}
6 | \usage{
7 | argonPersp(..., side)
8 | }
9 | \arguments{
10 | \item{...}{Tag to be treated by the persp effect.}
11 |
12 | \item{side}{Perspective side effect. "right" or "left".}
13 | }
14 | \description{
15 | Build an argon perspective effect
16 | }
17 | \note{
18 | Disabled on small screens (not a bug)
19 | }
20 | \examples{
21 | if (interactive()) {
22 | library(argonR)
23 | argonPersp(argonCard(), side = "right")
24 | }
25 |
26 | }
27 | \author{
28 | David Granjon, \email{dgranjon@ymail.com}
29 | }
30 |
--------------------------------------------------------------------------------
/man/argonQuote.Rd:
--------------------------------------------------------------------------------
1 | % Generated by roxygen2: do not edit by hand
2 | % Please edit documentation in R/typography.R
3 | \name{argonQuote}
4 | \alias{argonQuote}
5 | \title{Create a quotation tag}
6 | \usage{
7 | argonQuote(..., footer = NULL, source = NULL, align = "center")
8 | }
9 | \arguments{
10 | \item{...}{Any text.}
11 |
12 | \item{footer}{Footer content, if any.}
13 |
14 | \item{source}{Source if any.}
15 |
16 | \item{align}{Text alignement. "center", "right" or "left".}
17 | }
18 | \description{
19 | A custom quotation tool
20 | }
21 | \examples{
22 | if (interactive()) {
23 | library(argonR)
24 | argonQuote(align = "center", "I am a text")
25 | }
26 |
27 | }
28 | \author{
29 | David Granjon, \email{dgranjon@ymail.com}
30 | }
31 |
--------------------------------------------------------------------------------
/man/argonTextColor.Rd:
--------------------------------------------------------------------------------
1 | % Generated by roxygen2: do not edit by hand
2 | % Please edit documentation in R/typography.R
3 | \name{argonTextColor}
4 | \alias{argonTextColor}
5 | \title{Add a custom color to a text}
6 | \usage{
7 | argonTextColor(tag, color)
8 | }
9 | \arguments{
10 | \item{tag}{Any tag containing text.}
11 |
12 | \item{color}{Text color. See \url{https://demos.creative-tim.com/argon-design-system/docs/foundation/colors.html}.}
13 | }
14 | \description{
15 | A custom color fo your text
16 | }
17 | \examples{
18 | if (interactive()) {
19 | library(argonR)
20 | library(htmltools)
21 | argonTextColor(
22 | tag = h1("test"),
23 | color = "success"
24 | )
25 | }
26 |
27 |
28 | }
29 | \author{
30 | David Granjon, \email{dgranjon@ymail.com}
31 | }
32 |
--------------------------------------------------------------------------------
/revdep/README.md:
--------------------------------------------------------------------------------
1 | # Platform
2 |
3 | |field |value |
4 | |:--------|:----------------------------|
5 | |version |R version 3.5.0 (2018-04-23) |
6 | |os |macOS 10.14.6 |
7 | |system |x86_64, darwin15.6.0 |
8 | |ui |RStudio |
9 | |language |(EN) |
10 | |collate |en_US.UTF-8 |
11 | |ctype |en_US.UTF-8 |
12 | |tz |Europe/Zurich |
13 | |date |2019-11-27 |
14 |
15 | # Dependencies
16 |
17 | |package |old |new |Δ |
18 | |:-------|:-----|:----------|:--|
19 | |argonR |0.1.0 |0.2.0.9000 |* |
20 | |digest |NA |0.6.23 |* |
21 | |rlang |NA |0.4.2 |* |
22 |
23 | # Revdeps
24 |
25 |
--------------------------------------------------------------------------------
/inst/assets/scss/custom/_separator.scss:
--------------------------------------------------------------------------------
1 | .separator {
2 | position: absolute;
3 | top: auto;
4 | left: 0;
5 | right: 0;
6 | width: 100%;
7 | height: 150px;
8 | z-index: 1;
9 | transform: translateZ(0);
10 | overflow: hidden;
11 | pointer-events: none;
12 |
13 | svg {
14 | position: absolute;
15 | pointer-events: none;
16 | }
17 | }
18 |
19 | .separator-top {
20 | top: 0;
21 | bottom: auto;
22 |
23 | svg {
24 | top: 0;
25 | }
26 | }
27 |
28 | .separator-bottom {
29 | top: auto;
30 | bottom: 0;
31 |
32 | svg {
33 | bottom: 0;
34 | }
35 | }
36 |
37 | .separator-inverse {
38 | transform: rotate(180deg);
39 | }
40 |
41 | // Styles
42 |
43 | .separator-skew {
44 | height: 60px;
45 | }
46 |
--------------------------------------------------------------------------------
/inst/assets/scss/custom/mixins/_popover.scss:
--------------------------------------------------------------------------------
1 | @mixin popover-variant($background) {
2 |
3 | background-color: $background;
4 |
5 | .popover-header {
6 | background-color: $background;
7 | color: color-yiq($background);
8 | }
9 |
10 | .popover-body {
11 | color: color-yiq($background);
12 | }
13 | .popover-header{
14 | border-color: rgba(color-yiq($background), .2);
15 | }
16 | &.bs-popover-top {
17 | .arrow::after {
18 | border-top-color: $background;
19 | }
20 | }
21 | &.bs-popover-right {
22 | .arrow::after {
23 | border-right-color: $background;
24 | }
25 | }
26 | &.bs-popover-bottom {
27 | .arrow::after {
28 | border-bottom-color: $background;
29 | }
30 | }
31 | &.bs-popover-left {
32 | .arrow::after {
33 | border-left-color: $background;
34 | }
35 | }
36 | }
--------------------------------------------------------------------------------
/man/argonProgress.Rd:
--------------------------------------------------------------------------------
1 | % Generated by roxygen2: do not edit by hand
2 | % Please edit documentation in R/argonProgress.R
3 | \name{argonProgress}
4 | \alias{argonProgress}
5 | \title{Create a progress bar}
6 | \usage{
7 | argonProgress(value, text = NULL, status = "primary")
8 | }
9 | \arguments{
10 | \item{value}{Progress value between 0 and 100.}
11 |
12 | \item{text}{Label text.}
13 |
14 | \item{status}{Progress status color. See \url{https://demos.creative-tim.com/argon-design-system/docs/foundation/colors.html}.}
15 | }
16 | \description{
17 | Build an argon progress bar
18 | }
19 | \examples{
20 | if (interactive()) {
21 | library(argonR)
22 | argonProgress(value = 10, status = "danger", text = "Custom Text")
23 | }
24 |
25 |
26 | }
27 | \author{
28 | David Granjon, \email{dgranjon@ymail.com}
29 | }
30 |
--------------------------------------------------------------------------------
/inst/assets/scss/custom/_close.scss:
--------------------------------------------------------------------------------
1 | .close {
2 | @if $enable-transitions {
3 | transition: $transition-base;
4 | }
5 | &>span:not(.sr-only) {
6 | background-color: $close-bg;
7 | color: $close-color;
8 | line-height: 17px;
9 | height: 1.25rem;
10 | width: 1.25rem;
11 | border-radius: 50%;
12 | font-size: 1.25rem;
13 | display: block;
14 | @if $enable-transitions {
15 | transition: $transition-base;
16 | }
17 | }
18 |
19 | &:hover,
20 | &:focus {
21 | background-color: $close-hover-bg;
22 | color: $close-hover-color;
23 | outline: none;
24 |
25 | span:not(.sr-only) {
26 | background-color: $close-hover-bg;
27 | }
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/inst/assets/scss/bootstrap/mixins/_table-row.scss:
--------------------------------------------------------------------------------
1 | // Tables
2 |
3 | @mixin table-row-variant($state, $background) {
4 | // Exact selectors below required to override `.table-striped` and prevent
5 | // inheritance to nested tables.
6 | .table-#{$state} {
7 | &,
8 | > th,
9 | > td {
10 | background-color: $background;
11 | }
12 | }
13 |
14 | // Hover states for `.table-hover`
15 | // Note: this is not available for cells or rows within `thead` or `tfoot`.
16 | .table-hover {
17 | $hover-background: darken($background, 5%);
18 |
19 | .table-#{$state} {
20 | @include hover {
21 | background-color: $hover-background;
22 |
23 | > td,
24 | > th {
25 | background-color: $hover-background;
26 | }
27 | }
28 | }
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/man/argonPadding.Rd:
--------------------------------------------------------------------------------
1 | % Generated by roxygen2: do not edit by hand
2 | % Please edit documentation in R/typography.R
3 | \name{argonPadding}
4 | \alias{argonPadding}
5 | \title{Change tag padding}
6 | \usage{
7 | argonPadding(tag, orientation, value)
8 | }
9 | \arguments{
10 | \item{tag}{Tag to be treated.}
11 |
12 | \item{orientation}{Padding side. See \url{https://getbootstrap.com/docs/4.1/utilities/spacing/}.}
13 |
14 | \item{value}{Padding value. See \url{https://getbootstrap.com/docs/4.1/utilities/spacing/}.}
15 | }
16 | \description{
17 | Change tag padding
18 | }
19 | \examples{
20 | if (interactive()) {
21 | library(argonR)
22 | argonPadding(tag = h1("test"), orientation = NULL, value = 5)
23 | argonPadding(tag = h1("test"), orientation = "x", value = 2)
24 | }
25 |
26 | }
27 | \author{
28 | David Granjon, \email{dgranjon@ymail.com}
29 | }
30 |
--------------------------------------------------------------------------------
/docs/link.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
13 |
--------------------------------------------------------------------------------
/man/argonMargin.Rd:
--------------------------------------------------------------------------------
1 | % Generated by roxygen2: do not edit by hand
2 | % Please edit documentation in R/typography.R
3 | \name{argonMargin}
4 | \alias{argonMargin}
5 | \title{Change tag margins}
6 | \usage{
7 | argonMargin(tag, orientation, value)
8 | }
9 | \arguments{
10 | \item{tag}{Tag to be treated.}
11 |
12 | \item{orientation}{Margin side. See \url{https://getbootstrap.com/docs/4.1/utilities/spacing/}.}
13 |
14 | \item{value}{Margin value, negative or positive. See \url{https://getbootstrap.com/docs/4.1/utilities/spacing/}.}
15 | }
16 | \description{
17 | Change tag margins
18 | }
19 | \examples{
20 | if (interactive()) {
21 | library(argonR)
22 | argonMargin(tag = h1("test"), orientation = "t", value = -1)
23 | argonMargin(tag = h1("test"), orientation = "x", value = 7)
24 | }
25 |
26 | }
27 | \author{
28 | David Granjon, \email{dgranjon@ymail.com}
29 | }
30 |
--------------------------------------------------------------------------------
/man/argonUser.Rd:
--------------------------------------------------------------------------------
1 | % Generated by roxygen2: do not edit by hand
2 | % Please edit documentation in R/argonUser.R
3 | \name{argonUser}
4 | \alias{argonUser}
5 | \title{Create a Boostrap 4 user image}
6 | \usage{
7 | argonUser(..., title = NULL, subtitle = NULL, src = NULL)
8 | }
9 | \arguments{
10 | \item{...}{Any element such as \link{argonIcon}...}
11 |
12 | \item{title}{User title.}
13 |
14 | \item{subtitle}{User subtitle.}
15 |
16 | \item{src}{User image url or path.}
17 | }
18 | \description{
19 | Build an argon user image
20 | }
21 | \examples{
22 | if (interactive()) {
23 | library(argonR)
24 | argonUser(
25 | title = "Ryan Tompson",
26 | subtitle = "Web Developer",
27 | src = "https://demos.creative-tim.com/argon-design-system/assets/img/theme/team-1-800x800.jpg"
28 | )
29 | }
30 |
31 |
32 | }
33 | \author{
34 | David Granjon, \email{dgranjon@ymail.com}
35 | }
36 |
--------------------------------------------------------------------------------
/inst/assets/scss/bootstrap/utilities/_position.scss:
--------------------------------------------------------------------------------
1 | // stylelint-disable declaration-no-important
2 |
3 | // Common values
4 |
5 | // Sass list not in variables since it's not intended for customization.
6 | // stylelint-disable-next-line scss/dollar-variable-default
7 | $positions: static, relative, absolute, fixed, sticky;
8 |
9 | @each $position in $positions {
10 | .position-#{$position} { position: $position !important; }
11 | }
12 |
13 | // Shorthand
14 |
15 | .fixed-top {
16 | position: fixed;
17 | top: 0;
18 | right: 0;
19 | left: 0;
20 | z-index: $zindex-fixed;
21 | }
22 |
23 | .fixed-bottom {
24 | position: fixed;
25 | right: 0;
26 | bottom: 0;
27 | left: 0;
28 | z-index: $zindex-fixed;
29 | }
30 |
31 | .sticky-top {
32 | @supports (position: sticky) {
33 | position: sticky;
34 | top: 0;
35 | z-index: $zindex-sticky;
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/man/argonDropdownItem.Rd:
--------------------------------------------------------------------------------
1 | % Generated by roxygen2: do not edit by hand
2 | % Please edit documentation in R/argonNavbar.R
3 | \name{argonDropdownItem}
4 | \alias{argonDropdownItem}
5 | \title{Create a Boostrap 4 argon dropdown item}
6 | \usage{
7 | argonDropdownItem(
8 | name = NULL,
9 | description = NULL,
10 | src = NULL,
11 | icon = NULL,
12 | status = NULL
13 | )
14 | }
15 | \arguments{
16 | \item{name}{Item name.}
17 |
18 | \item{description}{Item description if any.}
19 |
20 | \item{src}{HTML target page.}
21 |
22 | \item{icon}{Item icon of any. Expect \link{argonIcon} or \link[shiny]{icon}.}
23 |
24 | \item{status}{Icon and name color status. See \url{https://demos.creative-tim.com/argon-design-system/docs/foundation/colors.html}.}
25 | }
26 | \description{
27 | Build an argon dropdown item
28 | }
29 | \author{
30 | David Granjon, \email{dgranjon@ymail.com}
31 | }
32 |
--------------------------------------------------------------------------------
/man/argonBlur.Rd:
--------------------------------------------------------------------------------
1 | % Generated by roxygen2: do not edit by hand
2 | % Please edit documentation in R/extra-effects.R
3 | \name{argonBlur}
4 | \alias{argonBlur}
5 | \title{Create a Boostrap 4 blur effect}
6 | \usage{
7 | argonBlur(..., text = NULL, text_color = NULL)
8 | }
9 | \arguments{
10 | \item{...}{Tag to be treated by the blur effect.}
11 |
12 | \item{text}{Text that appears on hover.}
13 |
14 | \item{text_color}{Text color. See \url{https://demos.creative-tim.com/argon-design-system/docs/foundation/colors.html}.}
15 | }
16 | \description{
17 | Build an argon blur effect
18 | }
19 | \note{
20 | Not compatible with argonDash
21 | }
22 | \examples{
23 | if (interactive()) {
24 | library(argonR)
25 | argonBlur(
26 | argonImage(
27 | src = "inst/images/imac.svg",
28 | floating = TRUE
29 | )
30 | )
31 | }
32 |
33 | }
34 | \author{
35 | David Granjon, \email{dgranjon@ymail.com}
36 | }
37 |
--------------------------------------------------------------------------------
/man/argonSocialButton.Rd:
--------------------------------------------------------------------------------
1 | % Generated by roxygen2: do not edit by hand
2 | % Please edit documentation in R/argonButton.R
3 | \name{argonSocialButton}
4 | \alias{argonSocialButton}
5 | \title{Create a Boostrap 4 argon social button}
6 | \usage{
7 | argonSocialButton(src = NULL, status = "default", icon = NULL)
8 | }
9 | \arguments{
10 | \item{src}{Button external link.}
11 |
12 | \item{status}{Button color. See \url{https://demos.creative-tim.com/argon-design-system/docs/components/buttons.html}.}
13 |
14 | \item{icon}{Button icon. Expect \link[shiny]{icon}.}
15 | }
16 | \description{
17 | Build an argon social button
18 | }
19 | \examples{
20 | if(interactive()){
21 | library(argonR)
22 | argonSocialButton(
23 | src = "http://rinterface.com",
24 | status = "danger",
25 | icon = icon("facebook")
26 | )
27 | }
28 |
29 | }
30 | \author{
31 | David Granjon, \email{dgranjon@ymail.com}
32 | }
33 |
--------------------------------------------------------------------------------
/inst/assets/scss/custom/_list-group.scss:
--------------------------------------------------------------------------------
1 | // Space list items
2 |
3 | .list-group-space {
4 | .list-group-item {
5 | margin-bottom: 1.5rem;
6 | @include border-radius($list-group-border-radius);
7 | }
8 | }
9 |
10 |
11 | // List group components
12 |
13 | .list-group-img {
14 | width: 3rem;
15 | height: 3rem;
16 | border-radius: 50%;
17 | vertical-align: top;
18 | margin: -.1rem 1.2rem 0 -.2rem;
19 | }
20 | .list-group-content {
21 | -webkit-box-flex: 1;
22 | -ms-flex: 1;
23 | flex: 1;
24 | min-width: 0;
25 | }
26 | .list-group-content > p {
27 | color: $gray-500;
28 | line-height: 1.5;
29 | margin: .2rem 0 0;
30 | }
31 | .list-group-heading {
32 | font-size: $font-size-base;
33 | color: $gray-800;
34 | }
35 | .list-group-heading > small {
36 | float: right;
37 | color: $gray-500;
38 | font-weight: 500;
39 | }
40 |
--------------------------------------------------------------------------------
/man/NS.Rd:
--------------------------------------------------------------------------------
1 | % Generated by roxygen2: do not edit by hand
2 | % Please edit documentation in R/utils.R
3 | \docType{data}
4 | \name{NS}
5 | \alias{NS}
6 | \alias{ns.sep}
7 | \title{Namespaced IDs for inputs/outputs}
8 | \format{
9 | An object of class \code{character} of length 1.
10 | }
11 | \usage{
12 | NS(namespace, id = NULL)
13 |
14 | ns.sep
15 | }
16 | \arguments{
17 | \item{namespace}{The character vector to use for the namespace.
18 | This can have any length, though a single element is most common.
19 | Length 0 will cause the id to be returned without a namespace, and
20 | length 2 will be interpreted as multiple namespaces, in increasing
21 | order of specificity (i.e. starting with the top-level namespace).}
22 |
23 | \item{id}{The id string to be namespaced (optional).}
24 | }
25 | \description{
26 | Namespaced IDs for inputs/outputs
27 | }
28 | \keyword{datasets}
29 | \keyword{internal}
30 |
--------------------------------------------------------------------------------
/man/argonBadge.Rd:
--------------------------------------------------------------------------------
1 | % Generated by roxygen2: do not edit by hand
2 | % Please edit documentation in R/argonBadge.R
3 | \name{argonBadge}
4 | \alias{argonBadge}
5 | \title{Create a Boostrap 4 badge}
6 | \usage{
7 | argonBadge(text = NULL, src = NULL, pill = FALSE, status = "default")
8 | }
9 | \arguments{
10 | \item{text}{Badge text.}
11 |
12 | \item{src}{Badge external link.}
13 |
14 | \item{pill}{Pill mode. FALSE by default.}
15 |
16 | \item{status}{Badge status. See \url{https://demos.creative-tim.com/argon-design-system/docs/components/badge.html}.}
17 | }
18 | \description{
19 | Build an argon badge
20 | }
21 | \examples{
22 | if (interactive()) {
23 | library(argonR)
24 | argonBadge(
25 | text = "My badge",
26 | src = "https://www.google.com",
27 | pill = FALSE,
28 | status = "success"
29 | )
30 | }
31 |
32 |
33 | }
34 | \author{
35 | David Granjon, \email{dgranjon@ymail.com}
36 | }
37 |
--------------------------------------------------------------------------------
/inst/assets/scss/custom/_pagination.scss:
--------------------------------------------------------------------------------
1 | .page-item {
2 | &.active .page-link {
3 | box-shadow: $pagination-active-box-shadow;
4 | }
5 |
6 | .page-link,
7 | span {
8 | display: flex;
9 | align-items: center;
10 | justify-content: center;
11 | padding: 0;
12 | margin: 0 3px;
13 | border-radius: 50% !important;
14 | width: 36px;
15 | height: 36px;
16 | font-size: $font-size-sm;
17 | }
18 | }
19 |
20 | .pagination-lg {
21 | .page-item {
22 | .page-link,
23 | span {
24 | width: 46px;
25 | height: 46px;
26 | line-height: 46px;
27 | }
28 | }
29 | }
30 |
31 | .pagination-sm {
32 | .page-item {
33 | .page-link,
34 | span {
35 | width: 30px;
36 | height: 30px;
37 | line-height: 30px;
38 | }
39 | }
40 | }
--------------------------------------------------------------------------------
/inst/assets/scss/bootstrap/mixins/_border-radius.scss:
--------------------------------------------------------------------------------
1 | // Single side border-radius
2 |
3 | @mixin border-radius($radius: $border-radius) {
4 | @if $enable-rounded {
5 | border-radius: $radius;
6 | }
7 | }
8 |
9 | @mixin border-top-radius($radius) {
10 | @if $enable-rounded {
11 | border-top-left-radius: $radius;
12 | border-top-right-radius: $radius;
13 | }
14 | }
15 |
16 | @mixin border-right-radius($radius) {
17 | @if $enable-rounded {
18 | border-top-right-radius: $radius;
19 | border-bottom-right-radius: $radius;
20 | }
21 | }
22 |
23 | @mixin border-bottom-radius($radius) {
24 | @if $enable-rounded {
25 | border-bottom-right-radius: $radius;
26 | border-bottom-left-radius: $radius;
27 | }
28 | }
29 |
30 | @mixin border-left-radius($radius) {
31 | @if $enable-rounded {
32 | border-top-left-radius: $radius;
33 | border-bottom-left-radius: $radius;
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/inst/assets/scss/bootstrap/mixins/_screen-reader.scss:
--------------------------------------------------------------------------------
1 | // Only display content to screen readers
2 | //
3 | // See: https://a11yproject.com/posts/how-to-hide-content/
4 | // See: https://hugogiraudel.com/2016/10/13/css-hide-and-seek/
5 |
6 | @mixin sr-only {
7 | position: absolute;
8 | width: 1px;
9 | height: 1px;
10 | padding: 0;
11 | overflow: hidden;
12 | clip: rect(0, 0, 0, 0);
13 | white-space: nowrap;
14 | border: 0;
15 | }
16 |
17 | // Use in conjunction with .sr-only to only display content when it's focused.
18 | //
19 | // Useful for "Skip to main content" links; see https://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1
20 | //
21 | // Credit: HTML5 Boilerplate
22 |
23 | @mixin sr-only-focusable {
24 | &:active,
25 | &:focus {
26 | position: static;
27 | width: auto;
28 | height: auto;
29 | overflow: visible;
30 | clip: auto;
31 | white-space: normal;
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/inst/assets/scss/custom/_avatars.scss:
--------------------------------------------------------------------------------
1 | .avatar {
2 | color: $white;
3 | background-color: $gray-500;
4 | display: inline-flex;
5 | align-items: center;
6 | justify-content: center;
7 | font-size: 1rem;
8 | border-radius: 50%;
9 | height: 48px;
10 | width: 48px;
11 | }
12 |
13 | .avatar img {
14 | width: 100%;
15 | border-radius: 50%;
16 | }
17 |
18 | .avatar + .avatar-content {
19 | display: inline-block;
20 | margin-left: .75rem;
21 | }
22 | .avatar-lg {
23 | width: 58px;
24 | height: 58px;
25 | font-size: $font-size-sm;
26 | }
27 |
28 | .avatar-sm {
29 | width: 38px;
30 | height: 38px;
31 | font-size: $font-size-sm;
32 | }
33 |
34 | // Overlapped avatars
35 |
36 | .avatar-group {
37 | .avatar {
38 | position: relative;
39 | z-index: 2;
40 | border: 2px solid $card-bg;
41 |
42 | &:hover {
43 | z-index: 3;
44 | }
45 | }
46 |
47 | .avatar + .avatar {
48 | margin-left: -1rem;
49 |
50 | }
51 | }
52 |
--------------------------------------------------------------------------------
/inst/assets/scss/bootstrap/mixins/_hover.scss:
--------------------------------------------------------------------------------
1 | // Hover mixin and `$enable-hover-media-query` are deprecated.
2 | //
3 | // Originally added during our alphas and maintained during betas, this mixin was
4 | // designed to prevent `:hover` stickiness on iOS-an issue where hover styles
5 | // would persist after initial touch.
6 | //
7 | // For backward compatibility, we've kept these mixins and updated them to
8 | // always return their regular pseudo-classes instead of a shimmed media query.
9 | //
10 | // Issue: https://github.com/twbs/bootstrap/issues/25195
11 |
12 | @mixin hover {
13 | &:hover { @content; }
14 | }
15 |
16 | @mixin hover-focus {
17 | &:hover,
18 | &:focus {
19 | @content;
20 | }
21 | }
22 |
23 | @mixin plain-hover-focus {
24 | &,
25 | &:hover,
26 | &:focus {
27 | @content;
28 | }
29 | }
30 |
31 | @mixin hover-focus-active {
32 | &:hover,
33 | &:focus,
34 | &:active {
35 | @content;
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/man/argonColumn.Rd:
--------------------------------------------------------------------------------
1 | % Generated by roxygen2: do not edit by hand
2 | % Please edit documentation in R/argonColumn.R
3 | \name{argonColumn}
4 | \alias{argonColumn}
5 | \title{Create a Boostrap 4 column}
6 | \usage{
7 | argonColumn(..., width = NULL, center = FALSE, offset = NULL)
8 | }
9 | \arguments{
10 | \item{...}{Any UI element.}
11 |
12 | \item{width}{Optional. Column width between 1 and 12.}
13 |
14 | \item{center}{Whether to center column elements or not. FALSE by default.}
15 |
16 | \item{offset}{Column offset. NULL by default. Importantly, offset + width cannot exceed 12!}
17 | }
18 | \description{
19 | Build an argon column
20 | }
21 | \examples{
22 | if (interactive()) {
23 | library(argonR)
24 | argonColumn(
25 | width = 4,
26 | argonAlert(
27 | icon = "basket",
28 | status = "danger",
29 | "This is an alert",
30 | closable = TRUE
31 | )
32 | )
33 | }
34 |
35 |
36 | }
37 | \author{
38 | David Granjon, \email{dgranjon@ymail.com}
39 | }
40 |
--------------------------------------------------------------------------------
/man/argonAlert.Rd:
--------------------------------------------------------------------------------
1 | % Generated by roxygen2: do not edit by hand
2 | % Please edit documentation in R/argonAlert.R
3 | \name{argonAlert}
4 | \alias{argonAlert}
5 | \title{Create a Boostrap 4 argon alert}
6 | \usage{
7 | argonAlert(..., icon = NULL, status = "default", closable = TRUE)
8 | }
9 | \arguments{
10 | \item{...}{Alert content.}
11 |
12 | \item{icon}{Alert icon. Expect \link{argonIcon} or \link[shiny]{icon}.}
13 |
14 | \item{status}{Alert status. See \url{https://demos.creative-tim.com/argon-design-system/docs/components/alerts.html}.}
15 |
16 | \item{closable}{Whether to make the alert closable or not. TRUE by default.}
17 | }
18 | \description{
19 | Build an argon alert
20 | }
21 | \examples{
22 | if (interactive()) {
23 | library(argonR)
24 | argonAlert(
25 | icon = argonIcon("basket"),
26 | status = "danger",
27 | "This is an alert",
28 | closable = TRUE
29 | )
30 | }
31 |
32 |
33 | }
34 | \author{
35 | David Granjon, \email{dgranjon@ymail.com}
36 | }
37 |
--------------------------------------------------------------------------------
/inst/assets/scss/bootstrap/utilities/_embed.scss:
--------------------------------------------------------------------------------
1 | // Credit: Nicolas Gallagher and SUIT CSS.
2 |
3 | .embed-responsive {
4 | position: relative;
5 | display: block;
6 | width: 100%;
7 | padding: 0;
8 | overflow: hidden;
9 |
10 | &::before {
11 | display: block;
12 | content: "";
13 | }
14 |
15 | .embed-responsive-item,
16 | iframe,
17 | embed,
18 | object,
19 | video {
20 | position: absolute;
21 | top: 0;
22 | bottom: 0;
23 | left: 0;
24 | width: 100%;
25 | height: 100%;
26 | border: 0;
27 | }
28 | }
29 |
30 | .embed-responsive-21by9 {
31 | &::before {
32 | padding-top: percentage(9 / 21);
33 | }
34 | }
35 |
36 | .embed-responsive-16by9 {
37 | &::before {
38 | padding-top: percentage(9 / 16);
39 | }
40 | }
41 |
42 | .embed-responsive-4by3 {
43 | &::before {
44 | padding-top: percentage(3 / 4);
45 | }
46 | }
47 |
48 | .embed-responsive-1by1 {
49 | &::before {
50 | padding-top: percentage(1 / 1);
51 | }
52 | }
53 |
--------------------------------------------------------------------------------
/inst/assets/scss/custom/utilities/_backgrounds.scss:
--------------------------------------------------------------------------------
1 | @each $color, $value in $colors {
2 | @include bg-variant(".bg-#{$color}", $value);
3 | }
4 |
5 | @each $color, $value in $theme-colors {
6 | @include bg-gradient-variant(".bg-gradient-#{$color}", $value);
7 | }
8 |
9 | @each $color, $value in $colors {
10 | @include bg-gradient-variant(".bg-gradient-#{$color}", $value);
11 | }
12 |
13 |
14 | // Sections
15 |
16 | section {
17 | //background-color: section-color("primary");
18 | }
19 |
20 | @each $color, $value in $section-colors {
21 | @include bg-variant(".section-#{$color}", $value);
22 | }
23 |
24 | @each $color, $value in $theme-colors {
25 | @include bg-gradient-variant(".bg-gradient-#{$color}", $value);
26 | }
27 |
28 |
29 | // Shape (svg) fill colors
30 | @each $color, $value in $theme-colors {
31 | .fill-#{$color} {
32 | fill: $value;
33 | }
34 |
35 | .stroke-#{$color} {
36 | stroke: $value;
37 | }
38 | }
39 |
40 | .fill-opacity-8 {
41 | fill-opacity: .8;
42 | }
--------------------------------------------------------------------------------
/DESCRIPTION:
--------------------------------------------------------------------------------
1 | Package: argonR
2 | Type: Package
3 | Title: R Interface to Argon HTML Design
4 | Version: 0.2.0
5 | Authors@R: c(
6 | person("David", "Granjon", email = "dgranjon@ymail.com", role = c("aut", "cre")),
7 | person(family = "RinteRface", role = "cph"),
8 | person(family = "Creative Tim", role = c("ctb", "cph"), comment = "Argon theme for Bootstrap 4"),
9 | person("Winston", "Chang", role = c("ctb", "cph"), comment = "Unexported functions from htmltools"))
10 | Maintainer: David Granjon
11 | Description: R wrapper around the argon HTML library.
12 | More at .
13 | URL: https://github.com/RinteRface/argonR, https://rinterface.github.io/argonR/
14 | BugReports: https://github.com/RinteRface/argonR/issues
15 | Imports: htmltools, utils, rstudioapi
16 | Suggests:
17 | magrittr,
18 | knitr,
19 | rmarkdown,
20 | shiny
21 | License: GPL-2
22 | Encoding: UTF-8
23 | LazyData: true
24 | RoxygenNote: 7.2.3
25 | VignetteBuilder: knitr
26 |
--------------------------------------------------------------------------------
/inst/assets/scss/bootstrap/_progress.scss:
--------------------------------------------------------------------------------
1 | @keyframes progress-bar-stripes {
2 | from { background-position: $progress-height 0; }
3 | to { background-position: 0 0; }
4 | }
5 |
6 | .progress {
7 | display: flex;
8 | height: $progress-height;
9 | overflow: hidden; // force rounded corners by cropping it
10 | font-size: $progress-font-size;
11 | background-color: $progress-bg;
12 | @include border-radius($progress-border-radius);
13 | @include box-shadow($progress-box-shadow);
14 | }
15 |
16 | .progress-bar {
17 | display: flex;
18 | flex-direction: column;
19 | justify-content: center;
20 | color: $progress-bar-color;
21 | text-align: center;
22 | white-space: nowrap;
23 | background-color: $progress-bar-bg;
24 | @include transition($progress-bar-transition);
25 | }
26 |
27 | .progress-bar-striped {
28 | @include gradient-striped();
29 | background-size: $progress-height $progress-height;
30 | }
31 |
32 | .progress-bar-animated {
33 | animation: progress-bar-stripes $progress-bar-animation-timing;
34 | }
35 |
--------------------------------------------------------------------------------
/man/argonContact.Rd:
--------------------------------------------------------------------------------
1 | % Generated by roxygen2: do not edit by hand
2 | % Please edit documentation in R/argonContact.R
3 | \name{argonContact}
4 | \alias{argonContact}
5 | \title{Create a Boostrap 4 argon contact form}
6 | \usage{
7 | argonContact(
8 | title = NULL,
9 | subtitle = NULL,
10 | name = "Your name",
11 | mail = "Email Adress",
12 | subject = "Subject",
13 | message,
14 | mailto,
15 | width = 8
16 | )
17 | }
18 | \arguments{
19 | \item{title}{Form title.}
20 |
21 | \item{subtitle}{Form subtitle.}
22 |
23 | \item{name}{Contact name.}
24 |
25 | \item{mail}{Contact mail.}
26 |
27 | \item{subject}{Message subject.}
28 |
29 | \item{message}{For message}
30 |
31 | \item{mailto}{Adress to which send the form.}
32 |
33 | \item{width}{Form width. Between 1 and 12.}
34 | }
35 | \description{
36 | Build an argon contact form
37 | }
38 | \note{
39 | Need to have an active formspree.io account.
40 | See \url{https://formspree.io}. Only works on web-server!
41 | }
42 | \author{
43 | David Granjon, \email{dgranjon@ymail.com}
44 | }
45 |
--------------------------------------------------------------------------------
/inst/assets/scss/bootstrap/_close.scss:
--------------------------------------------------------------------------------
1 | .close {
2 | float: right;
3 | font-size: $close-font-size;
4 | font-weight: $close-font-weight;
5 | line-height: 1;
6 | color: $close-color;
7 | text-shadow: $close-text-shadow;
8 | opacity: .5;
9 |
10 | &:not(:disabled):not(.disabled) {
11 |
12 | @include hover-focus {
13 | color: $close-color;
14 | text-decoration: none;
15 | opacity: .75;
16 | }
17 |
18 | // Opinionated: add "hand" cursor to non-disabled .close elements
19 | cursor: pointer;
20 | }
21 | }
22 |
23 | // Additional properties for button version
24 | // iOS requires the button element instead of an anchor tag.
25 | // If you want the anchor version, it requires `href="#"`.
26 | // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile
27 |
28 | // stylelint-disable property-no-vendor-prefix, selector-no-qualifying-type
29 | button.close {
30 | padding: 0;
31 | background-color: transparent;
32 | border: 0;
33 | -webkit-appearance: none;
34 | }
35 | // stylelint-enable
36 |
--------------------------------------------------------------------------------
/man/argonPagination.Rd:
--------------------------------------------------------------------------------
1 | % Generated by roxygen2: do not edit by hand
2 | % Please edit documentation in R/argonPagination.R
3 | \name{argonPagination}
4 | \alias{argonPagination}
5 | \title{Build an argon pagination container}
6 | \usage{
7 | argonPagination(..., size = NULL, align = NULL)
8 | }
9 | \arguments{
10 | \item{...}{Slot for \link{argonPaginationItem}.}
11 |
12 | \item{size}{Pagination size: NULL, "sm" or "lg".}
13 |
14 | \item{align}{Pagination alignement. NULL (left), "center" or "end" (right).}
15 | }
16 | \description{
17 | Build an argon pagination container
18 | }
19 | \note{
20 | align will not work if you embed the argonPagination in an argonRow.
21 | }
22 | \examples{
23 | if(interactive()){
24 | library(argonR)
25 | argonPagination(
26 | size = "lg",
27 | align = "center",
28 | argonPaginationItem(
29 | name = 1,
30 | src = "test.html"
31 | ),
32 | argonPaginationItem(
33 | name = 2,
34 | src = "https://www.google.com"
35 | )
36 | )
37 | }
38 |
39 | }
40 | \author{
41 | David Granjon, \email{dgranjon@ymail.com}
42 | }
43 |
--------------------------------------------------------------------------------
/man/argonTooltip.Rd:
--------------------------------------------------------------------------------
1 | % Generated by roxygen2: do not edit by hand
2 | % Please edit documentation in R/typography.R
3 | \name{argonTooltip}
4 | \alias{argonTooltip}
5 | \title{Create a boostrap 4 tooltip}
6 | \usage{
7 | argonTooltip(tag, position, title = NULL)
8 | }
9 | \arguments{
10 | \item{tag}{Tag to be documented.}
11 |
12 | \item{position}{Where to display the toolptip: "top", "right", "bottom" or "left".}
13 |
14 | \item{title}{Tooltip title.}
15 | }
16 | \description{
17 | Create a boostrap 4 tooltip
18 | }
19 | \examples{
20 | if (interactive()) {
21 | library(argonR)
22 | argonTooltip(
23 | position = "left",
24 | title = "I am a nice card",
25 | argonCard(
26 | status = "primary",
27 | width = 12,
28 | title = "Card 1",
29 | hover_lift = TRUE,
30 | shadow = TRUE,
31 | icon = "check-bold",
32 | src = "#",
33 | "Argon is a great free UI package based on Bootstrap 4
34 | that includes the most important components and features."
35 | )
36 | )
37 | }
38 |
39 | }
40 | \author{
41 | David Granjon, \email{dgranjon@ymail.com}
42 | }
43 |
--------------------------------------------------------------------------------
/inst/assets/scss/custom/utilities/_floating.scss:
--------------------------------------------------------------------------------
1 | .floating {
2 | animation: floating 3s ease infinite;
3 | will-change: transform;
4 |
5 | &:hover {
6 | animation-play-state: paused;
7 | }
8 | }
9 |
10 | .floating-lg {
11 | animation: floating-lg 3s ease infinite;
12 | }
13 |
14 | .floating-sm {
15 | animation: floating-sm 3s ease infinite;
16 | }
17 |
18 | // Keyframes
19 |
20 | @keyframes floating-lg {
21 | 0% {
22 | transform: translateY(0px)
23 | }
24 | 50% {
25 | transform: translateY(15px)
26 | }
27 | 100% {
28 | transform: translateY(0px)
29 | }
30 | }
31 |
32 | @keyframes floating {
33 | 0% {
34 | transform: translateY(0px)
35 | }
36 | 50% {
37 | transform: translateY(10px)
38 | }
39 | 100% {
40 | transform: translateY(0px)
41 | }
42 | }
43 |
44 | @keyframes floating-sm {
45 | 0% {
46 | transform: translateY(0px)
47 | }
48 | 50% {
49 | transform: translateY(5px)
50 | }
51 | 100% {
52 | transform: translateY(0px)
53 | }
54 | }
--------------------------------------------------------------------------------
/inst/assets/scss/custom/utilities/_text.scss:
--------------------------------------------------------------------------------
1 | // Weight and italics
2 |
3 | .font-weight-300 { font-weight: 300 !important; }
4 | .font-weight-400 { font-weight: 400 !important; }
5 | .font-weight-500 { font-weight: 500 !important; }
6 | .font-weight-600 { font-weight: 600 !important; }
7 | .font-weight-700 { font-weight: 700 !important; }
8 | .font-weight-800 { font-weight: 800 !important; }
9 | .font-weight-900 { font-weight: 900 !important; }
10 |
11 |
12 | // Text decorations
13 |
14 | .text-underline { text-decoration: underline; }
15 | .text-through { text-decoration: line-through; }
16 |
17 |
18 | // Line heights
19 |
20 | .lh-100 { line-height: 1; }
21 | .lh-110 { line-height: 1.1; }
22 | .lh-120 { line-height: 1.2; }
23 | .lh-130 { line-height: 1.3; }
24 | .lh-140 { line-height: 1.4; }
25 | .lh-150 { line-height: 1.5; }
26 | .lh-160 { line-height: 1.6; }
27 | .lh-170 { line-height: 1.7; }
28 | .lh-180 { line-height: 1.8; }
29 |
30 |
31 | // Letter spacings
32 |
33 | .ls-1 { letter-spacing: .0625rem; }
34 | .ls-15 { letter-spacing: .09375rem; }
35 | .ls-2 { letter-spacing: 0.125rem; }
--------------------------------------------------------------------------------
/R/argonBadge.R:
--------------------------------------------------------------------------------
1 | #' Create a Boostrap 4 badge
2 | #'
3 | #' Build an argon badge
4 | #'
5 | #' @param text Badge text.
6 | #' @param src Badge external link.
7 | #' @param pill Pill mode. FALSE by default.
8 | #' @param status Badge status. See \url{https://demos.creative-tim.com/argon-design-system/docs/components/badge.html}.
9 | #'
10 | #' @examples
11 | #' if (interactive()) {
12 | #' library(argonR)
13 | #' argonBadge(
14 | #' text = "My badge",
15 | #' src = "https://www.google.com",
16 | #' pill = FALSE,
17 | #' status = "success"
18 | #' )
19 | #' }
20 | #'
21 | #'
22 | #' @author David Granjon, \email{dgranjon@@ymail.com}
23 | #'
24 | #' @export
25 | argonBadge <- function(text = NULL, src = NULL, pill = FALSE, status = "default") {
26 |
27 | badgeCl <- "badge"
28 | if (pill) badgeCl <- paste0(badgeCl, " badge-pill")
29 | if (!is.null(status)) badgeCl <- paste0(badgeCl, " badge-", status)
30 |
31 | if (!is.null(src)) {
32 | htmltools::a(href = src, class = badgeCl, text)
33 | } else {
34 | htmltools::tags$span(class = badgeCl, text)
35 | }
36 |
37 | }
--------------------------------------------------------------------------------
/R/argonColumn.R:
--------------------------------------------------------------------------------
1 | #' Create a Boostrap 4 column
2 | #'
3 | #' Build an argon column
4 | #'
5 | #' @param ... Any UI element.
6 | #' @param width Optional. Column width between 1 and 12.
7 | #' @param center Whether to center column elements or not. FALSE by default.
8 | #' @param offset Column offset. NULL by default. Importantly, offset + width cannot exceed 12!
9 | #'
10 | #' @examples
11 | #' if (interactive()) {
12 | #' library(argonR)
13 | #' argonColumn(
14 | #' width = 4,
15 | #' argonAlert(
16 | #' icon = "basket",
17 | #' status = "danger",
18 | #' "This is an alert",
19 | #' closable = TRUE
20 | #' )
21 | #' )
22 | #' }
23 | #'
24 | #'
25 | #' @author David Granjon, \email{dgranjon@@ymail.com}
26 | #'
27 | #' @export
28 | argonColumn <- function (..., width = NULL, center = FALSE, offset = NULL) {
29 | colCl <- "col-sm"
30 | if (!is.null(width)) colCl <- paste0(colCl, " col-sm-", width)
31 | if (!is.null(offset)) colCl <- paste0(colCl, " offset-sm-", offset)
32 | if (center) colCl <- paste0(colCl, " text-center")
33 | htmltools::tags$div(class = colCl, ...)
34 | }
--------------------------------------------------------------------------------
/inst/assets/scss/custom/utilities/_helper.scss:
--------------------------------------------------------------------------------
1 | // Image
2 |
3 | .img-center {
4 | display: block;
5 | margin-left: auto;
6 | margin-right: auto;
7 | }
8 |
9 | // Clearfix
10 |
11 | .floatfix {
12 | &:before,
13 | &:after {
14 | content: '';
15 | display: table;
16 | }
17 | &:after {
18 | clear: both;
19 | }
20 | }
21 |
22 | // Overflows
23 |
24 | .overflow-visible {
25 | overflow: visible !important;
26 | }
27 | .overflow-hidden {
28 | overflow: hidden !important;
29 | }
30 |
31 | // Opacity classes
32 |
33 | .opacity-1 {
34 | opacity: .1 !important;
35 | }
36 | .opacity-2 {
37 | opacity: .2 !important;
38 | }
39 | .opacity-3 {
40 | opacity: .3 !important;
41 | }
42 | .opacity-4 {
43 | opacity: .4 !important;
44 | }
45 | .opacity-5 {
46 | opacity: .5 !important;
47 | }
48 | .opacity-6 {
49 | opacity: .6 !important;
50 | }
51 | .opacity-7 {
52 | opacity: .7 !important;
53 | }
54 | .opacity-8 {
55 | opacity: .8 !important;
56 | }
57 | .opacity-8 {
58 | opacity: .9 !important;
59 | }
60 | .opacity-10 {
61 | opacity: 1 !important;
62 | }
--------------------------------------------------------------------------------
/man/argonModal.Rd:
--------------------------------------------------------------------------------
1 | % Generated by roxygen2: do not edit by hand
2 | % Please edit documentation in R/argonModal.R
3 | \name{argonModal}
4 | \alias{argonModal}
5 | \title{Create a Boostrap 4 argon modal}
6 | \usage{
7 | argonModal(..., id, title = NULL, status = NULL, gradient = FALSE)
8 | }
9 | \arguments{
10 | \item{...}{Modal body content.}
11 |
12 | \item{id}{Modal unique id. Should be the same as modal_id from \link{argonButton}.}
13 |
14 | \item{title}{Modal title.}
15 |
16 | \item{status}{Modal color. See \url{https://demos.creative-tim.com/argon-design-system/docs/foundation/colors.html}.}
17 |
18 | \item{gradient}{Modal background gradient. FALSE by default. Does not work if status is NULL.}
19 | }
20 | \description{
21 | Build an argon modal
22 | }
23 | \examples{
24 | if(interactive()){
25 | library(argonR)
26 | argonModal(
27 | id = "modal1",
28 | title = "This is a modal",
29 | status = "danger",
30 | gradient = TRUE,
31 | "YOU SHOULD READ THIS!",
32 | br(),
33 | "A small river named Duden flows by their place and supplies it with the necessary regelialia."
34 | )
35 | }
36 |
37 | }
38 | \author{
39 | David Granjon, \email{dgranjon@ymail.com}
40 | }
41 |
--------------------------------------------------------------------------------
/inst/assets/scss/bootstrap/_mixins.scss:
--------------------------------------------------------------------------------
1 | // Toggles
2 | //
3 | // Used in conjunction with global variables to enable certain theme features.
4 |
5 | // Utilities
6 | @import "mixins/breakpoints";
7 | @import "mixins/hover";
8 | @import "mixins/image";
9 | @import "mixins/badge";
10 | @import "mixins/resize";
11 | @import "mixins/screen-reader";
12 | @import "mixins/size";
13 | @import "mixins/reset-text";
14 | @import "mixins/text-emphasis";
15 | @import "mixins/text-hide";
16 | @import "mixins/text-truncate";
17 | @import "mixins/visibility";
18 |
19 | // // Components
20 | @import "mixins/alert";
21 | @import "mixins/buttons";
22 | @import "mixins/caret";
23 | @import "mixins/pagination";
24 | @import "mixins/lists";
25 | @import "mixins/list-group";
26 | @import "mixins/nav-divider";
27 | @import "mixins/forms";
28 | @import "mixins/table-row";
29 |
30 | // // Skins
31 | @import "mixins/background-variant";
32 | @import "mixins/border-radius";
33 | @import "mixins/box-shadow";
34 | @import "mixins/gradients";
35 | @import "mixins/transition";
36 |
37 | // // Layout
38 | @import "mixins/clearfix";
39 | @import "mixins/grid-framework";
40 | @import "mixins/grid";
41 | @import "mixins/float";
42 |
--------------------------------------------------------------------------------
/inst/assets/scss/bootstrap/_code.scss:
--------------------------------------------------------------------------------
1 | // Inline code
2 | code {
3 | font-size: $code-font-size;
4 | color: $code-color;
5 | word-break: break-word;
6 |
7 | // Streamline the style when inside anchors to avoid broken underline and more
8 | a > & {
9 | color: inherit;
10 | }
11 | }
12 |
13 | // User input typically entered via keyboard
14 | kbd {
15 | padding: $kbd-padding-y $kbd-padding-x;
16 | font-size: $kbd-font-size;
17 | color: $kbd-color;
18 | background-color: $kbd-bg;
19 | @include border-radius($border-radius-sm);
20 | @include box-shadow($kbd-box-shadow);
21 |
22 | kbd {
23 | padding: 0;
24 | font-size: 100%;
25 | font-weight: $nested-kbd-font-weight;
26 | @include box-shadow(none);
27 | }
28 | }
29 |
30 | // Blocks of code
31 | pre {
32 | display: block;
33 | font-size: $code-font-size;
34 | color: $pre-color;
35 |
36 | // Account for some code outputs that place code tags in pre tags
37 | code {
38 | font-size: inherit;
39 | color: inherit;
40 | word-break: normal;
41 | }
42 | }
43 |
44 | // Enable scrollable blocks of code
45 | .pre-scrollable {
46 | max-height: $pre-scrollable-max-height;
47 | overflow-y: scroll;
48 | }
49 |
--------------------------------------------------------------------------------
/inst/assets/scss/bootstrap/_badge.scss:
--------------------------------------------------------------------------------
1 | // Base class
2 | //
3 | // Requires one of the contextual, color modifier classes for `color` and
4 | // `background-color`.
5 |
6 | .badge {
7 | display: inline-block;
8 | padding: $badge-padding-y $badge-padding-x;
9 | font-size: $badge-font-size;
10 | font-weight: $badge-font-weight;
11 | line-height: 1;
12 | text-align: center;
13 | white-space: nowrap;
14 | vertical-align: baseline;
15 | @include border-radius($badge-border-radius);
16 |
17 | // Empty badges collapse automatically
18 | &:empty {
19 | display: none;
20 | }
21 | }
22 |
23 | // Quick fix for badges in buttons
24 | .btn .badge {
25 | position: relative;
26 | top: -1px;
27 | }
28 |
29 | // Pill badges
30 | //
31 | // Make them extra rounded with a modifier to replace v3's badges.
32 |
33 | .badge-pill {
34 | padding-right: $badge-pill-padding-x;
35 | padding-left: $badge-pill-padding-x;
36 | @include border-radius($badge-pill-border-radius);
37 | }
38 |
39 | // Colors
40 | //
41 | // Contextual variations (linked badges get darker on :hover).
42 |
43 | @each $color, $value in $theme-colors {
44 | .badge-#{$color} {
45 | @include badge-variant($value);
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/NAMESPACE:
--------------------------------------------------------------------------------
1 | # Generated by roxygen2: do not edit by hand
2 |
3 | export(argonAlert)
4 | export(argonBadge)
5 | export(argonBlur)
6 | export(argonButton)
7 | export(argonCard)
8 | export(argonCarousel)
9 | export(argonCarouselItem)
10 | export(argonCascade)
11 | export(argonCascadeItem)
12 | export(argonColumn)
13 | export(argonContact)
14 | export(argonContainer)
15 | export(argonDropdown)
16 | export(argonDropdownItem)
17 | export(argonFooter)
18 | export(argonH1)
19 | export(argonIcon)
20 | export(argonIconWrapper)
21 | export(argonImage)
22 | export(argonInstall)
23 | export(argonLead)
24 | export(argonMargin)
25 | export(argonModal)
26 | export(argonMuted)
27 | export(argonNavItem)
28 | export(argonNavMenu)
29 | export(argonNavbar)
30 | export(argonPadding)
31 | export(argonPage)
32 | export(argonPageTemplate)
33 | export(argonPagination)
34 | export(argonPaginationItem)
35 | export(argonPersp)
36 | export(argonProfile)
37 | export(argonProfileStat)
38 | export(argonProfileStats)
39 | export(argonProgress)
40 | export(argonQuote)
41 | export(argonRow)
42 | export(argonSection)
43 | export(argonSocialButton)
44 | export(argonTab)
45 | export(argonTabSet)
46 | export(argonTextColor)
47 | export(argonTooltip)
48 | export(argonUser)
49 | export(ns.sep)
50 |
--------------------------------------------------------------------------------
/man/argonRow.Rd:
--------------------------------------------------------------------------------
1 | % Generated by roxygen2: do not edit by hand
2 | % Please edit documentation in R/argonRow.R
3 | \name{argonRow}
4 | \alias{argonRow}
5 | \title{Create a Boostrap 4 row}
6 | \usage{
7 | argonRow(..., center = FALSE)
8 | }
9 | \arguments{
10 | \item{...}{Any UI element.}
11 |
12 | \item{center}{Whether to center row elements or not. FALSE by default.}
13 | }
14 | \description{
15 | Build an argon row
16 | }
17 | \examples{
18 | if (interactive()) {
19 | library(argonR)
20 | argonRow(
21 | argonColumn(
22 | width = 6,
23 | argonH1(
24 | display = 3,
25 | "ArgonR, HTML static template for R",
26 | htmltools::span("completed with examples")
27 | ) \%>\% argonTextColor(color = "white"),
28 | argonLead(
29 | "Argon is a great free UI package based on Bootstrap
30 | 4 that includes the most important components and features"
31 | ) \%>\% argonTextColor(color = "white")
32 | ),
33 | argonColumn(
34 | width = 6,
35 | argonImage(
36 | src = "inst/images/imac.svg",
37 | floating = TRUE
38 | ) \%>\% argonPersp(side = "right")
39 | \%>\% argonBlur()
40 | )
41 | )
42 | }
43 |
44 |
45 | }
46 | \author{
47 | David Granjon, \email{dgranjon@ymail.com}
48 | }
49 |
--------------------------------------------------------------------------------
/man/argonCarousel.Rd:
--------------------------------------------------------------------------------
1 | % Generated by roxygen2: do not edit by hand
2 | % Please edit documentation in R/argonCarousel.R
3 | \name{argonCarousel}
4 | \alias{argonCarousel}
5 | \title{Create a carousel}
6 | \usage{
7 | argonCarousel(..., id, floating = FALSE, hover_lift = FALSE, width = 6)
8 | }
9 | \arguments{
10 | \item{...}{Slot for \link{argonCarouselItem}.}
11 |
12 | \item{id}{Carousel unique id.}
13 |
14 | \item{floating}{Whether to apply a floating effect. FALSE by default.}
15 |
16 | \item{hover_lift}{Whether to apply a lift effect on hover. FALSE by default.
17 | Not compatible with floating. Only if card_mode is TRUE.}
18 |
19 | \item{width}{Carousel width.}
20 | }
21 | \description{
22 | Build an argon carousel
23 | }
24 | \examples{
25 | if (interactive()) {
26 | library(argonR)
27 | argonCarousel(
28 | id = "carousel2",
29 | argonCarouselItem(
30 | src = "https://demos.creative-tim.com/argon-design-system/assets/img/theme/img-1-1200x1000.jpg",
31 | active = TRUE
32 | ),
33 | argonCarouselItem(
34 | src = "https://demos.creative-tim.com/argon-design-system/assets/img/theme/img-2-1200x1000.jpg",
35 | active = FALSE
36 | )
37 | )
38 | }
39 |
40 |
41 | }
42 | \author{
43 | David Granjon, \email{dgranjon@ymail.com}
44 | }
45 |
--------------------------------------------------------------------------------
/man/argonImage.Rd:
--------------------------------------------------------------------------------
1 | % Generated by roxygen2: do not edit by hand
2 | % Please edit documentation in R/argonImage.R
3 | \name{argonImage}
4 | \alias{argonImage}
5 | \title{Create a Boostrap 4 image container}
6 | \usage{
7 | argonImage(
8 | src = NULL,
9 | url = NULL,
10 | floating = FALSE,
11 | card_mode = FALSE,
12 | hover_lift = FALSE,
13 | width = NULL
14 | )
15 | }
16 | \arguments{
17 | \item{src}{Image source or path.}
18 |
19 | \item{url}{Only with card_mode on. Optional external link.}
20 |
21 | \item{floating}{Whether to apply a floating effect. FALSE by default.}
22 |
23 | \item{card_mode}{Whether to include the image in a card wrapper. FALSE by default.}
24 |
25 | \item{hover_lift}{Whether to apply a lift effect on hover. FALSE by default.
26 | Not compatible with floating. Only if card_mode is TRUE.}
27 |
28 | \item{width}{Image manual width in px.}
29 | }
30 | \description{
31 | Build an argon image container
32 | }
33 | \examples{
34 | if (interactive()) {
35 | library(argonR)
36 | argonImage(
37 | floating = TRUE,
38 | src = "https://demos.creative-tim.com/argon-design-system/assets/img/ill/ill-2.svg",
39 | hover_lift = TRUE
40 | )
41 | }
42 |
43 |
44 | }
45 | \author{
46 | David Granjon, \email{dgranjon@ymail.com}
47 | }
48 |
--------------------------------------------------------------------------------
/inst/assets/scss/bootstrap/_grid.scss:
--------------------------------------------------------------------------------
1 | // Container widths
2 | //
3 | // Set the container width, and override it for fixed navbars in media queries.
4 |
5 | @if $enable-grid-classes {
6 | .container {
7 | @include make-container();
8 | @include make-container-max-widths();
9 | }
10 | }
11 |
12 | // Fluid container
13 | //
14 | // Utilizes the mixin meant for fixed width containers, but with 100% width for
15 | // fluid, full width layouts.
16 |
17 | @if $enable-grid-classes {
18 | .container-fluid {
19 | @include make-container();
20 | }
21 | }
22 |
23 | // Row
24 | //
25 | // Rows contain and clear the floats of your columns.
26 |
27 | @if $enable-grid-classes {
28 | .row {
29 | @include make-row();
30 | }
31 |
32 | // Remove the negative margin from default .row, then the horizontal padding
33 | // from all immediate children columns (to prevent runaway style inheritance).
34 | .no-gutters {
35 | margin-right: 0;
36 | margin-left: 0;
37 |
38 | > .col,
39 | > [class*="col-"] {
40 | padding-right: 0;
41 | padding-left: 0;
42 | }
43 | }
44 | }
45 |
46 | // Columns
47 | //
48 | // Common styles for small and large grid columns
49 |
50 | @if $enable-grid-classes {
51 | @include make-grid-columns();
52 | }
53 |
--------------------------------------------------------------------------------
/inst/assets/scss/custom/_badge.scss:
--------------------------------------------------------------------------------
1 | .badge {
2 | text-transform: $badge-text-transfom;
3 |
4 | a {
5 | color: #FFF;
6 | }
7 | }
8 |
9 | // Variations
10 | .badge-pill {
11 | padding-right: $badge-pill-padding-x;
12 | padding-left: $badge-pill-padding-x;
13 | }
14 |
15 | .badge-circle {
16 | text-align: center;
17 | display: inline-flex;
18 | align-items: center;
19 | justify-content: center;
20 | border-radius: 50%;
21 | width: 2rem;
22 | height: 2rem;
23 | font-size: .875rem;
24 | }
25 |
26 | // Multiple inline badges
27 | .badge-inline {
28 | margin-right: .625rem;
29 | }
30 |
31 | .badge-inline + span {
32 | top: 2px;
33 | position: relative;
34 | }
35 |
36 | .badge-inline + span > a {
37 | text-decoration: underline;
38 | }
39 |
40 | // Sizes
41 | .badge-md {
42 | padding: .65em 1em;
43 | }
44 |
45 | .badge-lg {
46 | padding: .85em 1.375em;
47 | }
48 |
49 |
50 | // Color variations
51 |
52 | .badge-secondary {
53 | color: $gray-800;
54 | }
55 |
56 | // Link badges
57 |
58 | .btn {
59 | .badge {
60 | &:not(:first-child) {
61 | margin-left: .5rem;
62 | }
63 | &:not(:last-child) {
64 | margin-right: .5rem;
65 | }
66 | }
67 | }
--------------------------------------------------------------------------------
/R/argonRow.R:
--------------------------------------------------------------------------------
1 | #' Create a Boostrap 4 row
2 | #'
3 | #' Build an argon row
4 | #'
5 | #' @param ... Any UI element.
6 | #' @param center Whether to center row elements or not. FALSE by default.
7 | #'
8 | #' @examples
9 | #' if (interactive()) {
10 | #' library(argonR)
11 | #' argonRow(
12 | #' argonColumn(
13 | #' width = 6,
14 | #' argonH1(
15 | #' display = 3,
16 | #' "ArgonR, HTML static template for R",
17 | #' htmltools::span("completed with examples")
18 | #' ) %>% argonTextColor(color = "white"),
19 | #' argonLead(
20 | #' "Argon is a great free UI package based on Bootstrap
21 | #' 4 that includes the most important components and features"
22 | #' ) %>% argonTextColor(color = "white")
23 | #' ),
24 | #' argonColumn(
25 | #' width = 6,
26 | #' argonImage(
27 | #' src = "inst/images/imac.svg",
28 | #' floating = TRUE
29 | #' ) %>% argonPersp(side = "right")
30 | #' %>% argonBlur()
31 | #' )
32 | #' )
33 | #' }
34 | #'
35 | #'
36 | #' @author David Granjon, \email{dgranjon@@ymail.com}
37 | #'
38 | #' @export
39 | argonRow <- function(..., center = FALSE) {
40 | rowCl <- "row"
41 | if (center) rowCl <- paste0(rowCl, " align-items-center justify-content-center")
42 |
43 | htmltools::tags$div(class = rowCl, ..., htmltools::tags$br())
44 | }
--------------------------------------------------------------------------------
/R/argonUser.R:
--------------------------------------------------------------------------------
1 | #' Create a Boostrap 4 user image
2 | #'
3 | #' Build an argon user image
4 | #'
5 | #' @param ... Any element such as \link{argonIcon}...
6 | #' @param title User title.
7 | #' @param subtitle User subtitle.
8 | #' @param src User image url or path.
9 | #'
10 | #' @examples
11 | #' if (interactive()) {
12 | #' library(argonR)
13 | #' argonUser(
14 | #' title = "Ryan Tompson",
15 | #' subtitle = "Web Developer",
16 | #' src = "https://demos.creative-tim.com/argon-design-system/assets/img/theme/team-1-800x800.jpg"
17 | #' )
18 | #' }
19 | #'
20 | #'
21 | #' @author David Granjon, \email{dgranjon@@ymail.com}
22 | #'
23 | #' @export
24 | argonUser <- function(..., title = NULL, subtitle = NULL, src = NULL) {
25 | htmltools::tags$div(
26 | class = "px-4",
27 | # image
28 | htmltools::img(
29 | src = src,
30 | class = "rounded-circle img-center img-fluid shadow shadow-lg--hover",
31 | style = "width: 200px;"
32 | ),
33 | htmltools::tags$div(
34 | class = "pt-4 text-center",
35 | # title/subtitle
36 | htmltools::tags$h5(
37 | htmltools::span(class = "d-block mb-1", title),
38 | htmltools::tags$small(class = "h6 text-muted", subtitle)
39 | ),
40 | htmltools::tags$div(
41 | class = "mt-3",
42 | ...
43 | )
44 | )
45 | )
46 | }
--------------------------------------------------------------------------------
/inst/assets/scss/bootstrap/_images.scss:
--------------------------------------------------------------------------------
1 | // Responsive images (ensure images don't scale beyond their parents)
2 | //
3 | // This is purposefully opt-in via an explicit class rather than being the default for all `
`s.
4 | // We previously tried the "images are responsive by default" approach in Bootstrap v2,
5 | // and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps)
6 | // which weren't expecting the images within themselves to be involuntarily resized.
7 | // See also https://github.com/twbs/bootstrap/issues/18178
8 | .img-fluid {
9 | @include img-fluid;
10 | }
11 |
12 |
13 | // Image thumbnails
14 | .img-thumbnail {
15 | padding: $thumbnail-padding;
16 | background-color: $thumbnail-bg;
17 | border: $thumbnail-border-width solid $thumbnail-border-color;
18 | @include border-radius($thumbnail-border-radius);
19 | @include box-shadow($thumbnail-box-shadow);
20 |
21 | // Keep them at most 100% wide
22 | @include img-fluid;
23 | }
24 |
25 | //
26 | // Figures
27 | //
28 |
29 | .figure {
30 | // Ensures the caption's text aligns with the image.
31 | display: inline-block;
32 | }
33 |
34 | .figure-img {
35 | margin-bottom: ($spacer / 2);
36 | line-height: 1;
37 | }
38 |
39 | .figure-caption {
40 | font-size: $figure-caption-font-size;
41 | color: $figure-caption-color;
42 | }
43 |
--------------------------------------------------------------------------------
/inst/assets/scss/bootstrap/mixins/_image.scss:
--------------------------------------------------------------------------------
1 | // Image Mixins
2 | // - Responsive image
3 | // - Retina image
4 |
5 |
6 | // Responsive image
7 | //
8 | // Keep images from scaling beyond the width of their parents.
9 |
10 | @mixin img-fluid {
11 | // Part 1: Set a maximum relative to the parent
12 | max-width: 100%;
13 | // Part 2: Override the height to auto, otherwise images will be stretched
14 | // when setting a width and height attribute on the img element.
15 | height: auto;
16 | }
17 |
18 |
19 | // Retina image
20 | //
21 | // Short retina mixin for setting background-image and -size.
22 |
23 | // stylelint-disable indentation, media-query-list-comma-newline-after
24 | @mixin img-retina($file-1x, $file-2x, $width-1x, $height-1x) {
25 | background-image: url($file-1x);
26 |
27 | // Autoprefixer takes care of adding -webkit-min-device-pixel-ratio and -o-min-device-pixel-ratio,
28 | // but doesn't convert dppx=>dpi.
29 | // There's no such thing as unprefixed min-device-pixel-ratio since it's nonstandard.
30 | // Compatibility info: https://caniuse.com/#feat=css-media-resolution
31 | @media only screen and (min-resolution: 192dpi), // IE9-11 don't support dppx
32 | only screen and (min-resolution: 2dppx) { // Standardized
33 | background-image: url($file-2x);
34 | background-size: $width-1x $height-1x;
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/man/argonIconWrapper.Rd:
--------------------------------------------------------------------------------
1 | % Generated by roxygen2: do not edit by hand
2 | % Please edit documentation in R/argonIcon.R
3 | \name{argonIconWrapper}
4 | \alias{argonIconWrapper}
5 | \title{Create a Nucleo icon wrapper}
6 | \usage{
7 | argonIconWrapper(
8 | iconTag,
9 | circle = TRUE,
10 | size = NULL,
11 | status = "default",
12 | gradient_color = NULL,
13 | shadow = TRUE,
14 | hover_shadow = FALSE
15 | )
16 | }
17 | \arguments{
18 | \item{iconTag}{Slot for \link{argonIcon}}
19 |
20 | \item{circle}{Wrapper's shape. TRUE by default.}
21 |
22 | \item{size}{Wrapper size. "sm", "md" or "lg".}
23 |
24 | \item{status}{Wrapper color. See \url{https://demos.creative-tim.com/argon-design-system/docs/foundation/colors.html}.}
25 |
26 | \item{gradient_color}{icon gradient background color.}
27 |
28 | \item{shadow}{Whether to apply a shadow effet. TRUE by default.}
29 |
30 | \item{hover_shadow}{Only if shadow is TRUE. Whether to enlarge the shadow on hover. FALSE by default.}
31 | }
32 | \description{
33 | Build an argon Nucleo icon wrapper
34 | }
35 | \examples{
36 | if (interactive()) {
37 | library(argonR)
38 | argonIconWrapper(
39 | iconTag = argonIcon("atom"),
40 | size = "lg",
41 | status = "danger",
42 | shadow = TRUE,
43 | hover_shadow = TRUE
44 | )
45 | }
46 |
47 |
48 | }
49 | \author{
50 | David Granjon, \email{dgranjon@ymail.com}
51 | }
52 |
--------------------------------------------------------------------------------
/NEWS.md:
--------------------------------------------------------------------------------
1 | # argonR 0.2.0
2 | - Fix #9: remove close button from `argonModal()`. Thanks @Morais14
3 | - change the icon parameter of `argonTabSet()`, `argonCard()`, `argonAlert()`,
4 | `argonDropdownItem()`, `argonNavItem()`, `argonButton()` and `argonSocialButton()`
5 | Now you can use `icon("cogs")` from shiny or `argonIcon()` as usual
6 | - add offset arg to `argonColumn()`
7 | - Add btn_text argument to `argonCard()`
8 | - Fix #1: headroom.js and add the corresponding argument to `argonNavbar()`
9 | - Fix #7 introduced with #4
10 | - `argonProgress()` text arg has been set to NULL by default
11 | - Fix #4: prefix all `argonTabs()` by the namespace of their `argonTabSet()` container
12 | Thanks @shawnlinxl!
13 | - Fix #2: setting background_color in `argonCard()` make the background title
14 | transparent
15 | - add width argument to `argonImage()`
16 | - bug fix: `argonImage()` link was missing when card_mode is FALSE in `argonImage()`
17 | - add hex
18 | - add a view argument to `argonPageTemplate()`
19 | - add analytics argument to `argonPage()`
20 | - add href argument to `argonNavbar()`
21 | - add src_collapsed arg to `argonNavbar()` so that brand logo are displayed on small screens
22 | - add `argonContact()`
23 | - add favicon argument to `argonPage()` and update assets folder accordingly
24 | - add src argument to `argonButton()`
25 | - add `argonSocialButton()`
26 |
27 | # argonR 0.1.0
28 | - first release
--------------------------------------------------------------------------------
/inst/assets/scss/bootstrap/_alert.scss:
--------------------------------------------------------------------------------
1 | //
2 | // Base styles
3 | //
4 |
5 | .alert {
6 | position: relative;
7 | padding: $alert-padding-y $alert-padding-x;
8 | margin-bottom: $alert-margin-bottom;
9 | border: $alert-border-width solid transparent;
10 | @include border-radius($alert-border-radius);
11 | }
12 |
13 | // Headings for larger alerts
14 | .alert-heading {
15 | // Specified to prevent conflicts of changing $headings-color
16 | color: inherit;
17 | }
18 |
19 | // Provide class for links that match alerts
20 | .alert-link {
21 | font-weight: $alert-link-font-weight;
22 | }
23 |
24 |
25 | // Dismissible alerts
26 | //
27 | // Expand the right padding and account for the close button's positioning.
28 |
29 | .alert-dismissible {
30 | padding-right: ($close-font-size + $alert-padding-x * 2);
31 |
32 | // Adjust close link position
33 | .close {
34 | position: absolute;
35 | top: 0;
36 | right: 0;
37 | padding: $alert-padding-y $alert-padding-x;
38 | color: inherit;
39 | }
40 | }
41 |
42 |
43 | // Alternate styles
44 | //
45 | // Generate contextual modifier classes for colorizing the alert.
46 |
47 | @each $color, $value in $theme-colors {
48 | .alert-#{$color} {
49 | @include alert-variant(theme-color-level($color, $alert-bg-level), theme-color-level($color, $alert-border-level), theme-color-level($color, $alert-color-level));
50 | }
51 | }
52 |
--------------------------------------------------------------------------------
/inst/assets/scss/custom/_input-group.scss:
--------------------------------------------------------------------------------
1 | .input-group {
2 | box-shadow: $input-box-shadow;
3 | border-radius: $input-border-radius;
4 | transition: $transition-base;
5 |
6 | .form-control {
7 | box-shadow: none;
8 |
9 | &:not(:first-child) {
10 | border-left: 0;
11 | padding-left: 0;
12 | }
13 | &:not(:last-child) {
14 | border-right: 0;
15 | padding-right: 0;
16 | }
17 | &:focus {
18 | box-shadow: none;
19 | }
20 | }
21 | }
22 |
23 | .input-group-text {
24 | transition: $input-transition;
25 | }
26 |
27 | .input-group-alternative {
28 | box-shadow: $input-alternative-box-shadow;
29 | border: 0;
30 | transition: box-shadow .15s ease;
31 |
32 | .form-control,
33 | .input-group-text {
34 | border: 0;
35 | box-shadow: none;
36 | }
37 | }
38 |
39 | .focused {
40 | .input-group-alternative {
41 | box-shadow: $input-focus-alternative-box-shadow !important;
42 | }
43 | }
44 |
45 |
46 | // .focus class is applied dinamycally from theme.js
47 |
48 | .focused {
49 | .input-group {
50 | box-shadow: $input-focus-box-shadow;
51 | }
52 |
53 | .input-group-text {
54 | color: $input-group-addon-focus-color;
55 | background-color: $input-group-addon-focus-bg;
56 | border-color: $input-group-addon-focus-border-color;
57 | }
58 |
59 | .form-control {
60 | border-color: $input-group-addon-focus-border-color;
61 | }
62 | }
63 |
--------------------------------------------------------------------------------
/inst/assets/scss/bootstrap/_breadcrumb.scss:
--------------------------------------------------------------------------------
1 | .breadcrumb {
2 | display: flex;
3 | flex-wrap: wrap;
4 | padding: $breadcrumb-padding-y $breadcrumb-padding-x;
5 | margin-bottom: $breadcrumb-margin-bottom;
6 | list-style: none;
7 | background-color: $breadcrumb-bg;
8 | @include border-radius($breadcrumb-border-radius);
9 | }
10 |
11 | .breadcrumb-item {
12 | // The separator between breadcrumbs (by default, a forward-slash: "/")
13 | + .breadcrumb-item {
14 | padding-left: $breadcrumb-item-padding;
15 |
16 | &::before {
17 | display: inline-block; // Suppress underlining of the separator in modern browsers
18 | padding-right: $breadcrumb-item-padding;
19 | color: $breadcrumb-divider-color;
20 | content: $breadcrumb-divider;
21 | }
22 | }
23 |
24 | // IE9-11 hack to properly handle hyperlink underlines for breadcrumbs built
25 | // without ``s. The `::before` pseudo-element generates an element
26 | // *within* the .breadcrumb-item and thereby inherits the `text-decoration`.
27 | //
28 | // To trick IE into suppressing the underline, we give the pseudo-element an
29 | // underline and then immediately remove it.
30 | + .breadcrumb-item:hover::before {
31 | text-decoration: underline;
32 | }
33 | // stylelint-disable-next-line no-duplicate-selectors
34 | + .breadcrumb-item:hover::before {
35 | text-decoration: none;
36 | }
37 |
38 | &.active {
39 | color: $breadcrumb-active-color;
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/man/argonPage.Rd:
--------------------------------------------------------------------------------
1 | % Generated by roxygen2: do not edit by hand
2 | % Please edit documentation in R/argonPage.R
3 | \name{argonPage}
4 | \alias{argonPage}
5 | \title{Create a Boostrap 4 argon page}
6 | \usage{
7 | argonPage(
8 | ...,
9 | title = NULL,
10 | description = NULL,
11 | author = NULL,
12 | navbar = NULL,
13 | footer = NULL,
14 | favicon = NULL,
15 | analytics = NULL
16 | )
17 | }
18 | \arguments{
19 | \item{...}{Body content}
20 |
21 | \item{title}{App title.}
22 |
23 | \item{description}{Purpose.}
24 |
25 | \item{author}{Author.}
26 |
27 | \item{navbar}{Navbar.}
28 |
29 | \item{footer}{Footer.}
30 |
31 | \item{favicon}{Website favicon. The png must be located in inst/images.}
32 |
33 | \item{analytics}{Website analytics such as Hotjar or google analytics.
34 | Must be wrapped in tagList or list. Moreover the script must be contained
35 | in a tag: if it is not already the case, use tags$script.}
36 | }
37 | \description{
38 | Build an argon page
39 | }
40 | \examples{
41 | if(interactive()){
42 | library(argonR)
43 | argonPage(
44 | title = "ArgonR Static Template",
45 | author = "Somebody",
46 | description = "HTML Static Template",
47 | navbar = argonNavbar(id = "navbar"),
48 | footer = argonFooter(),
49 | # main content
50 | argonSection(),
51 | argonSection(),
52 | argonSection(),
53 | argonSection(),
54 | argonSection()
55 | )
56 | }
57 |
58 | }
59 | \author{
60 | David Granjon, \email{dgranjon@ymail.com}
61 | }
62 |
--------------------------------------------------------------------------------
/man/argonPageTemplate.Rd:
--------------------------------------------------------------------------------
1 | % Generated by roxygen2: do not edit by hand
2 | % Please edit documentation in R/argonPage.R
3 | \name{argonPageTemplate}
4 | \alias{argonPageTemplate}
5 | \title{Create an HTML version of the argonPage}
6 | \usage{
7 | argonPageTemplate(filename = "index", path = getwd(), argonPage, view = TRUE)
8 | }
9 | \arguments{
10 | \item{filename}{HTML filename for instance, index.html.}
11 |
12 | \item{path}{Where to store the saved file. By default, getwd().}
13 |
14 | \item{argonPage}{Slot for \link{argonPage}.}
15 |
16 | \item{view}{Whether to preview the page in a web browser. TRUE by default.}
17 | }
18 | \description{
19 | Create an HTML version of the argonPage
20 | }
21 | \note{
22 | Do not forget to copy the inst folder of the package to the
23 | root of your website folder.
24 | }
25 | \examples{
26 | if(interactive()){
27 | library(argonR)
28 |
29 | # generate the page
30 | example <- argonPage(
31 | title = "ArgonR Static Template",
32 | author = "Somebody",
33 | description = "HTML Static Template",
34 | navbar = argonNavbar(id = "navbar"),
35 | footer = argonFooter(),
36 | # main content
37 | argonSection(),
38 | argonSection(),
39 | argonSection(),
40 | argonSection(),
41 | argonSection()
42 | )
43 |
44 | # create the path
45 | path <- getwd()
46 |
47 | # generate the static page
48 | argonPageTemplate(filename = "example", path = path, argonPage = example)
49 |
50 | }
51 |
52 | }
53 | \author{
54 | David Granjon, \email{dgranjon@ymail.com}
55 | }
56 |
--------------------------------------------------------------------------------
/.github/workflows/pkgdown.yaml:
--------------------------------------------------------------------------------
1 | # Workflow derived from https://github.com/r-lib/actions/tree/v2/examples
2 | # Need help debugging build failures? Start at https://github.com/r-lib/actions#where-to-find-help
3 | on:
4 | push:
5 | branches: [main, master]
6 | pull_request:
7 | branches: [main, master]
8 | release:
9 | types: [published]
10 | workflow_dispatch:
11 |
12 | name: pkgdown
13 |
14 | jobs:
15 | pkgdown:
16 | runs-on: ubuntu-latest
17 | # Only restrict concurrency for non-PR jobs
18 | concurrency:
19 | group: pkgdown-${{ github.event_name != 'pull_request' || github.run_id }}
20 | env:
21 | GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
22 | permissions:
23 | contents: write
24 | steps:
25 | - uses: actions/checkout@v3
26 |
27 | - uses: r-lib/actions/setup-pandoc@v2
28 |
29 | - uses: r-lib/actions/setup-r@v2
30 | with:
31 | use-public-rspm: true
32 |
33 | - uses: r-lib/actions/setup-r-dependencies@v2
34 | with:
35 | extra-packages: any::pkgdown, local::.
36 | needs: website
37 |
38 | - name: Build site
39 | run: pkgdown::build_site_github_pages(new_process = FALSE, install = FALSE)
40 | shell: Rscript {0}
41 |
42 | - name: Deploy to GitHub pages 🚀
43 | if: github.event_name != 'pull_request'
44 | uses: JamesIves/github-pages-deploy-action@v4.4.1
45 | with:
46 | clean: false
47 | branch: gh-pages
48 | folder: docs
49 |
--------------------------------------------------------------------------------
/R/argonAlert.R:
--------------------------------------------------------------------------------
1 | #' Create a Boostrap 4 argon alert
2 | #'
3 | #' Build an argon alert
4 | #'
5 | #' @param ... Alert content.
6 | #' @param icon Alert icon. Expect \link{argonIcon} or \link[shiny]{icon}.
7 | #' @param status Alert status. See \url{https://demos.creative-tim.com/argon-design-system/docs/components/alerts.html}.
8 | #' @param closable Whether to make the alert closable or not. TRUE by default.
9 | #'
10 | #' @examples
11 | #' if (interactive()) {
12 | #' library(argonR)
13 | #' argonAlert(
14 | #' icon = argonIcon("basket"),
15 | #' status = "danger",
16 | #' "This is an alert",
17 | #' closable = TRUE
18 | #' )
19 | #' }
20 | #'
21 | #'
22 | #' @author David Granjon, \email{dgranjon@@ymail.com}
23 | #'
24 | #' @export
25 | argonAlert <- function(..., icon = NULL, status = "default", closable = TRUE) {
26 |
27 | alertCl <- "alert"
28 | if (!is.null(status)) alertCl <- paste0(alertCl, " alert-", status)
29 |
30 | htmltools::tags$div(
31 | class = alertCl,
32 | role = "alert",
33 | if (!is.null(icon)) {
34 | htmltools::tags$span(
35 | class = "alert-inner--icon",
36 | icon
37 | )
38 | },
39 | htmltools::tags$span(
40 | class = "alert-inner--text",
41 | ...
42 | ),
43 | if (closable) {
44 | htmltools::tags$button(
45 | class = "close",
46 | type = "button",
47 | `data-dismiss` = "alert",
48 | `aria-label` = "close",
49 | htmltools::tags$span(`aria-hidden` = "true", "x")
50 | )
51 | }
52 | )
53 |
54 | }
--------------------------------------------------------------------------------
/.github/workflows/R-CMD-check.yaml:
--------------------------------------------------------------------------------
1 | # Workflow derived from https://github.com/r-lib/actions/tree/v2/examples
2 | # Need help debugging build failures? Start at https://github.com/r-lib/actions#where-to-find-help
3 | on:
4 | push:
5 | branches: [main, master]
6 | pull_request:
7 | branches: [main, master]
8 |
9 | name: R-CMD-check
10 |
11 | jobs:
12 | R-CMD-check:
13 | runs-on: ${{ matrix.config.os }}
14 |
15 | name: ${{ matrix.config.os }} (${{ matrix.config.r }})
16 |
17 | strategy:
18 | fail-fast: false
19 | matrix:
20 | config:
21 | - {os: macos-latest, r: 'release'}
22 | - {os: windows-latest, r: 'release'}
23 | - {os: ubuntu-latest, r: 'devel', http-user-agent: 'release'}
24 | - {os: ubuntu-latest, r: 'release'}
25 | - {os: ubuntu-latest, r: 'oldrel-1'}
26 |
27 | env:
28 | GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
29 | R_KEEP_PKG_SOURCE: yes
30 |
31 | steps:
32 | - uses: actions/checkout@v3
33 |
34 | - uses: r-lib/actions/setup-pandoc@v2
35 |
36 | - uses: r-lib/actions/setup-r@v2
37 | with:
38 | r-version: ${{ matrix.config.r }}
39 | http-user-agent: ${{ matrix.config.http-user-agent }}
40 | use-public-rspm: true
41 |
42 | - uses: r-lib/actions/setup-r-dependencies@v2
43 | with:
44 | extra-packages: any::rcmdcheck
45 | needs: check
46 |
47 | - uses: r-lib/actions/check-r-package@v2
48 | with:
49 | upload-snapshots: true
50 |
--------------------------------------------------------------------------------
/inst/assets/scss/custom/_progress.scss:
--------------------------------------------------------------------------------
1 | .progress-wrapper {
2 | position: relative;
3 | padding-top: 1.5rem;
4 | }
5 | .progress {
6 | height: 8px;
7 | margin-bottom: $spacer;
8 | overflow: hidden;
9 | border-radius: $border-radius-sm;
10 | background-color: $progress-bg;
11 | -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
12 | box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
13 | }
14 | .progress .sr-only {
15 | width: auto;
16 | height: 20px;
17 | margin: 0 0 0 30px;
18 | left: 0;
19 | clip: auto;
20 | line-height: 20px;
21 | font-size: 13px;
22 | }
23 |
24 | .progress-heading {
25 | font-size: 14px;
26 | font-weight: 500;
27 | margin: 0 0 2px;
28 | padding: 0;
29 | }
30 | .progress-bar {
31 | box-shadow: none;
32 | border-radius: 0;
33 | height: auto;
34 | }
35 | .progress-info{
36 | margin-bottom: .5rem;
37 | display: flex;
38 | align-items: center;
39 | justify-content: space-between;
40 | }
41 | .progress-label {
42 | span {
43 | display: inline-block;
44 | color: $primary;
45 | font-size: .625rem;
46 | font-weight: 600;
47 | text-transform: uppercase;
48 | background: rgba($primary, .1);
49 | padding: .25rem 1rem;
50 | border-radius: 30px;
51 | }
52 | }
53 |
54 | .progress-percentage {
55 | text-align: right;
56 | span {
57 | display: inline-block;
58 | color: $gray-600;
59 | font-size: .875rem;
60 | font-weight: 600;
61 | }
62 | }
63 |
--------------------------------------------------------------------------------
/inst/assets/scss/bootstrap/utilities/_display.scss:
--------------------------------------------------------------------------------
1 | // stylelint-disable declaration-no-important
2 |
3 | //
4 | // Utilities for common `display` values
5 | //
6 |
7 | @each $breakpoint in map-keys($grid-breakpoints) {
8 | @include media-breakpoint-up($breakpoint) {
9 | $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
10 |
11 | .d#{$infix}-none { display: none !important; }
12 | .d#{$infix}-inline { display: inline !important; }
13 | .d#{$infix}-inline-block { display: inline-block !important; }
14 | .d#{$infix}-block { display: block !important; }
15 | .d#{$infix}-table { display: table !important; }
16 | .d#{$infix}-table-row { display: table-row !important; }
17 | .d#{$infix}-table-cell { display: table-cell !important; }
18 | .d#{$infix}-flex { display: flex !important; }
19 | .d#{$infix}-inline-flex { display: inline-flex !important; }
20 | }
21 | }
22 |
23 |
24 | //
25 | // Utilities for toggling `display` in print
26 | //
27 |
28 | @media print {
29 | .d-print-none { display: none !important; }
30 | .d-print-inline { display: inline !important; }
31 | .d-print-inline-block { display: inline-block !important; }
32 | .d-print-block { display: block !important; }
33 | .d-print-table { display: table !important; }
34 | .d-print-table-row { display: table-row !important; }
35 | .d-print-table-cell { display: table-cell !important; }
36 | .d-print-flex { display: flex !important; }
37 | .d-print-inline-flex { display: inline-flex !important; }
38 | }
39 |
--------------------------------------------------------------------------------
/man/argonButton.Rd:
--------------------------------------------------------------------------------
1 | % Generated by roxygen2: do not edit by hand
2 | % Please edit documentation in R/argonButton.R
3 | \name{argonButton}
4 | \alias{argonButton}
5 | \title{Create a Boostrap 4 argon button}
6 | \usage{
7 | argonButton(
8 | src = NULL,
9 | name = NULL,
10 | status = "default",
11 | icon = NULL,
12 | size = NULL,
13 | block = FALSE,
14 | disabled = FALSE,
15 | outline = FALSE,
16 | toggle_modal = FALSE,
17 | modal_id = NULL
18 | )
19 | }
20 | \arguments{
21 | \item{src}{Button external link.}
22 |
23 | \item{name}{Button label.}
24 |
25 | \item{status}{Button color. See \url{https://demos.creative-tim.com/argon-design-system/docs/components/buttons.html}.}
26 |
27 | \item{icon}{Button icon. Expect \link{argonIcon} or \link[shiny]{icon}.}
28 |
29 | \item{size}{Button size: NULL, "sm" or "lg".}
30 |
31 | \item{block}{Whether the button fill its parent. FALSE by default.}
32 |
33 | \item{disabled}{Whether to disable the button. FALSE by default.}
34 |
35 | \item{outline}{Whether to outline the button. FALSE by default.}
36 |
37 | \item{toggle_modal}{Whether to use th button for a modal. FALSE by default.}
38 |
39 | \item{modal_id}{If toggle_modal is TRUE, nedd to provide the modal targeted.}
40 | }
41 | \description{
42 | Build an argon button
43 | }
44 | \examples{
45 | if(interactive()){
46 | library(argonR)
47 | argonButton(
48 | name = "Click me!",
49 | status = "danger",
50 | icon = argonIcon("atom"),
51 | size = "lg",
52 | toggle_modal = TRUE,
53 | modal_id = "modal1"
54 | )
55 | }
56 |
57 | }
58 | \author{
59 | David Granjon, \email{dgranjon@ymail.com}
60 | }
61 |
--------------------------------------------------------------------------------
/inst/assets/scss/custom/_icons.scss:
--------------------------------------------------------------------------------
1 | .icon {
2 | width: $icon-size;
3 | height: $icon-size;
4 |
5 | i, svg {
6 | font-size: $icon-size - .75;
7 | }
8 | }
9 |
10 | .icon + .icon-text {
11 | padding-left: 1rem;
12 | width: calc(100% - #{$icon-size} - 1);
13 | }
14 |
15 | .icon-xl {
16 | width: $icon-size-xl;
17 | height: $icon-size-xl;
18 |
19 | i, svg {
20 | font-size: $icon-size-xl - .75;
21 | }
22 | }
23 |
24 | .icon-xl + .icon-text {
25 | width: calc(100% - $icon-size-xl - 1);
26 | }
27 |
28 | .icon-lg {
29 | width: $icon-size-lg;
30 | height: $icon-size-lg;
31 |
32 | i, svg {
33 | font-size: $icon-size-lg - .75;
34 | }
35 | }
36 |
37 | .icon-lg + .icon-text {
38 | width: calc(100% - $icon-size-lg - 1);
39 | }
40 |
41 | .icon-sm {
42 | width: $icon-size-sm;
43 | height: $icon-size-sm;
44 |
45 | i, svg {
46 | font-size: $icon-size-sm - .75;
47 | }
48 | }
49 |
50 | .icon-sm + .icon-text {
51 | width: calc(100% - $icon-size-sm - 1);
52 | }
53 |
54 |
55 | // Icons included in shapes
56 | .icon-shape {
57 | padding: 12px;
58 | text-align: center;
59 | display: inline-flex;
60 | align-items: center;
61 | justify-content: center;
62 | border-radius: 50%;
63 |
64 |
65 | i, svg {
66 | font-size: 1.25rem;
67 | }
68 |
69 | &.icon-lg {
70 | i, svg {
71 | font-size: 1.625rem;
72 | }
73 | }
74 |
75 | &.icon-sm {
76 | i, svg {
77 | font-size: .875rem;
78 | }
79 | }
80 |
81 | svg {
82 | width: 30px;
83 | height: 30px;
84 | }
85 |
86 | }
87 |
88 | @each $color, $value in $theme-colors {
89 | .icon-shape-#{$color} {
90 | @include icon-shape-variant(theme-color($color));
91 | }
92 | }
93 |
--------------------------------------------------------------------------------
/inst/assets/scss/bootstrap/utilities/_spacing.scss:
--------------------------------------------------------------------------------
1 | // stylelint-disable declaration-no-important
2 |
3 | // Margin and Padding
4 |
5 | @each $breakpoint in map-keys($grid-breakpoints) {
6 | @include media-breakpoint-up($breakpoint) {
7 | $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
8 |
9 | @each $prop, $abbrev in (margin: m, padding: p) {
10 | @each $size, $length in $spacers {
11 |
12 | .#{$abbrev}#{$infix}-#{$size} { #{$prop}: $length !important; }
13 | .#{$abbrev}t#{$infix}-#{$size},
14 | .#{$abbrev}y#{$infix}-#{$size} {
15 | #{$prop}-top: $length !important;
16 | }
17 | .#{$abbrev}r#{$infix}-#{$size},
18 | .#{$abbrev}x#{$infix}-#{$size} {
19 | #{$prop}-right: $length !important;
20 | }
21 | .#{$abbrev}b#{$infix}-#{$size},
22 | .#{$abbrev}y#{$infix}-#{$size} {
23 | #{$prop}-bottom: $length !important;
24 | }
25 | .#{$abbrev}l#{$infix}-#{$size},
26 | .#{$abbrev}x#{$infix}-#{$size} {
27 | #{$prop}-left: $length !important;
28 | }
29 | }
30 | }
31 |
32 | // Some special margin utils
33 | .m#{$infix}-auto { margin: auto !important; }
34 | .mt#{$infix}-auto,
35 | .my#{$infix}-auto {
36 | margin-top: auto !important;
37 | }
38 | .mr#{$infix}-auto,
39 | .mx#{$infix}-auto {
40 | margin-right: auto !important;
41 | }
42 | .mb#{$infix}-auto,
43 | .my#{$infix}-auto {
44 | margin-bottom: auto !important;
45 | }
46 | .ml#{$infix}-auto,
47 | .mx#{$infix}-auto {
48 | margin-left: auto !important;
49 | }
50 | }
51 | }
52 |
--------------------------------------------------------------------------------
/R/argonProgress.R:
--------------------------------------------------------------------------------
1 | #' Create a progress bar
2 | #'
3 | #' Build an argon progress bar
4 | #'
5 | #' @param value Progress value between 0 and 100.
6 | #' @param text Label text.
7 | #' @param status Progress status color. See \url{https://demos.creative-tim.com/argon-design-system/docs/foundation/colors.html}.
8 | #'
9 | #' @examples
10 | #' if (interactive()) {
11 | #' library(argonR)
12 | #' argonProgress(value = 10, status = "danger", text = "Custom Text")
13 | #' }
14 | #'
15 | #'
16 | #' @author David Granjon, \email{dgranjon@@ymail.com}
17 | #'
18 | #' @export
19 | argonProgress <- function(value, text = NULL, status = "primary") {
20 |
21 | stopifnot(value <= 100)
22 |
23 | progressWrapper <- htmltools::tags$div(class = "progress-wrapper")
24 | progressTag <- htmltools::tags$div(class = "progress-info")
25 | progressLabel <- if (!is.null(text)) {
26 | htmltools::tags$div(
27 | class = "progress-label",
28 | htmltools::tags$span(text)
29 | )
30 | }
31 | progressPercent <- htmltools::tags$div(class = "progress-percentage", htmltools::span(paste0(value, "%")))
32 | progressBar <- htmltools::tags$div(
33 | class = "progress",
34 | htmltools::tags$div(
35 | class = paste0("progress-bar bg-", status),
36 | role = "progressbar",
37 | `aria-valuenow` = value,
38 | `aria-valuemin` = "0",
39 | `aria-valuemax` = "100",
40 | style= paste0("width: ", value, "%;")
41 | )
42 | )
43 |
44 | progressTag <- htmltools::tagAppendChildren(
45 | progressTag,
46 | progressLabel,
47 | progressPercent
48 | )
49 |
50 | htmltools::tagAppendChildren(progressWrapper, progressTag, progressBar)
51 |
52 |
53 | }
--------------------------------------------------------------------------------
/man/argonCascade.Rd:
--------------------------------------------------------------------------------
1 | % Generated by roxygen2: do not edit by hand
2 | % Please edit documentation in R/extra-effects.R
3 | \name{argonCascade}
4 | \alias{argonCascade}
5 | \title{Create a Boostrap 4 cascade effect}
6 | \usage{
7 | argonCascade(...)
8 | }
9 | \arguments{
10 | \item{...}{Slot for \link{argonCascadeItem}. Exactly 13 items.}
11 | }
12 | \description{
13 | Build an argon cascade effect
14 | }
15 | \note{
16 | You must pass cascade = TRUE to argonSection
17 | }
18 | \examples{
19 | if (interactive()) {
20 | library(argonR)
21 | argonSection(
22 | size = "lg",
23 | status = "default",
24 | cascade = TRUE,
25 |
26 | argonH1(display = 3, "ArgonR Cascade Effect") \%>\%
27 | argonPadding(orientation = "l", value = 5) \%>\%
28 | argonPadding(orientation = "b", value = 5) \%>\%
29 | argonTextColor(color = "white"),
30 |
31 | argonCascade(
32 | argonCascadeItem(name = "diamond", src = "https://www.google.com"),
33 | argonCascadeItem(name = "album-2", size = "sm"),
34 | argonCascadeItem(name = "app", size = "sm"),
35 | argonCascadeItem(name = "atom", size = "sm"),
36 | argonCascadeItem(name = "bag-17", src = "https://www.google.com"),
37 | argonCascadeItem(name = "bell-55"),
38 | argonCascadeItem(name = "credit-card"),
39 | argonCascadeItem(name = "briefcase-24", size = "sm", "https://www.google.com"),
40 | argonCascadeItem(name = "building", size = "sm"),
41 | argonCascadeItem(name = "button-play", size = "sm"),
42 | argonCascadeItem(name = "calendar-grid-58"),
43 | argonCascadeItem(name = "camera-compact"),
44 | argonCascadeItem(name = "chart-bar-32")
45 | )
46 | )
47 | }
48 |
49 | }
50 | \author{
51 | David Granjon, \email{dgranjon@ymail.com}
52 | }
53 |
--------------------------------------------------------------------------------
/inst/assets/scss/bootstrap/mixins/_caret.scss:
--------------------------------------------------------------------------------
1 | @mixin caret-down {
2 | border-top: $caret-width solid;
3 | border-right: $caret-width solid transparent;
4 | border-bottom: 0;
5 | border-left: $caret-width solid transparent;
6 | }
7 |
8 | @mixin caret-up {
9 | border-top: 0;
10 | border-right: $caret-width solid transparent;
11 | border-bottom: $caret-width solid;
12 | border-left: $caret-width solid transparent;
13 | }
14 |
15 | @mixin caret-right {
16 | border-top: $caret-width solid transparent;
17 | border-right: 0;
18 | border-bottom: $caret-width solid transparent;
19 | border-left: $caret-width solid;
20 | }
21 |
22 | @mixin caret-left {
23 | border-top: $caret-width solid transparent;
24 | border-right: $caret-width solid;
25 | border-bottom: $caret-width solid transparent;
26 | }
27 |
28 | @mixin caret($direction: down) {
29 | @if $enable-caret {
30 | &::after {
31 | display: inline-block;
32 | width: 0;
33 | height: 0;
34 | margin-left: $caret-width * .85;
35 | vertical-align: $caret-width * .85;
36 | content: "";
37 | @if $direction == down {
38 | @include caret-down;
39 | } @else if $direction == up {
40 | @include caret-up;
41 | } @else if $direction == right {
42 | @include caret-right;
43 | }
44 | }
45 |
46 | @if $direction == left {
47 | &::after {
48 | display: none;
49 | }
50 |
51 | &::before {
52 | display: inline-block;
53 | width: 0;
54 | height: 0;
55 | margin-right: $caret-width * .85;
56 | vertical-align: $caret-width * .85;
57 | content: "";
58 | @include caret-left;
59 | }
60 | }
61 |
62 | &:empty::after {
63 | margin-left: 0;
64 | }
65 | }
66 | }
67 |
--------------------------------------------------------------------------------
/man/argonTabSet.Rd:
--------------------------------------------------------------------------------
1 | % Generated by roxygen2: do not edit by hand
2 | % Please edit documentation in R/argonTabs.R
3 | \name{argonTabSet}
4 | \alias{argonTabSet}
5 | \title{Create a Boostrap 4 tabs}
6 | \usage{
7 | argonTabSet(
8 | ...,
9 | id,
10 | card_wrapper = FALSE,
11 | horizontal = TRUE,
12 | circle = FALSE,
13 | size = "sm",
14 | width = 6,
15 | iconList = NULL
16 | )
17 | }
18 | \arguments{
19 | \item{...}{Slot for \link{argonTab}.}
20 |
21 | \item{id}{argonTabs id. Should be unique.}
22 |
23 | \item{card_wrapper}{Whether to embed tab content in a card. FALSE by default.}
24 |
25 | \item{horizontal}{Whether to display tabs horizontally. TRUE by default.}
26 |
27 | \item{circle}{Whether to display circled design. FALSE by default.}
28 |
29 | \item{size}{Tabs size. "sm" by default. "md", "lg".}
30 |
31 | \item{width}{Tabs width. Between 1 and 12.}
32 |
33 | \item{iconList}{A list of \link{argonIcon} or \link[shiny]{icon}.
34 | The lenght must have the same length as the number of tabs. NULL by default.}
35 | }
36 | \description{
37 | Build an argon tabs
38 | }
39 | \examples{
40 | if (interactive()) {
41 | library(argonR)
42 | argonTabSet(
43 | id = "tabset1",
44 | card_wrapper = TRUE,
45 | horizontal = TRUE,
46 | circle = FALSE,
47 | size = "sm",
48 | width = 6,
49 | iconList = list(
50 | argonIcon("cloud-upload-96"),
51 | argonIcon("bell-55"),
52 | argonIcon("calendar-grid-58")
53 | ),
54 | argonTab(
55 | tabName = "Tab 1",
56 | active = FALSE,
57 | "tabText1"
58 | ),
59 | argonTab(
60 | tabName = "Tab 2",
61 | active = TRUE,
62 | "tabText2"
63 | ),
64 | argonTab(
65 | tabName = "Tab 3",
66 | active = FALSE,
67 | "tabText3"
68 | )
69 | )
70 | }
71 |
72 |
73 | }
74 | \author{
75 | David Granjon, \email{dgranjon@ymail.com}
76 | }
77 |
--------------------------------------------------------------------------------
/inst/assets/scss/bootstrap/utilities/_borders.scss:
--------------------------------------------------------------------------------
1 | // stylelint-disable declaration-no-important
2 |
3 | //
4 | // Border
5 | //
6 |
7 | .border { border: $border-width solid $border-color !important; }
8 | .border-top { border-top: $border-width solid $border-color !important; }
9 | .border-right { border-right: $border-width solid $border-color !important; }
10 | .border-bottom { border-bottom: $border-width solid $border-color !important; }
11 | .border-left { border-left: $border-width solid $border-color !important; }
12 |
13 | .border-0 { border: 0 !important; }
14 | .border-top-0 { border-top: 0 !important; }
15 | .border-right-0 { border-right: 0 !important; }
16 | .border-bottom-0 { border-bottom: 0 !important; }
17 | .border-left-0 { border-left: 0 !important; }
18 |
19 | @each $color, $value in $theme-colors {
20 | .border-#{$color} {
21 | border-color: $value !important;
22 | }
23 | }
24 |
25 | .border-white {
26 | border-color: $white !important;
27 | }
28 |
29 | //
30 | // Border-radius
31 | //
32 |
33 | .rounded {
34 | border-radius: $border-radius !important;
35 | }
36 | .rounded-top {
37 | border-top-left-radius: $border-radius !important;
38 | border-top-right-radius: $border-radius !important;
39 | }
40 | .rounded-right {
41 | border-top-right-radius: $border-radius !important;
42 | border-bottom-right-radius: $border-radius !important;
43 | }
44 | .rounded-bottom {
45 | border-bottom-right-radius: $border-radius !important;
46 | border-bottom-left-radius: $border-radius !important;
47 | }
48 | .rounded-left {
49 | border-top-left-radius: $border-radius !important;
50 | border-bottom-left-radius: $border-radius !important;
51 | }
52 |
53 | .rounded-circle {
54 | border-radius: 50% !important;
55 | }
56 |
57 | .rounded-0 {
58 | border-radius: 0 !important;
59 | }
60 |
--------------------------------------------------------------------------------
/inst/assets/scss/bootstrap/mixins/_grid.scss:
--------------------------------------------------------------------------------
1 | /// Grid system
2 | //
3 | // Generate semantic grid columns with these mixins.
4 |
5 | @mixin make-container() {
6 | width: 100%;
7 | padding-right: ($grid-gutter-width / 2);
8 | padding-left: ($grid-gutter-width / 2);
9 | margin-right: auto;
10 | margin-left: auto;
11 | }
12 |
13 |
14 | // For each breakpoint, define the maximum width of the container in a media query
15 | @mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {
16 | @each $breakpoint, $container-max-width in $max-widths {
17 | @include media-breakpoint-up($breakpoint, $breakpoints) {
18 | max-width: $container-max-width;
19 | }
20 | }
21 | }
22 |
23 | @mixin make-row() {
24 | display: flex;
25 | flex-wrap: wrap;
26 | margin-right: ($grid-gutter-width / -2);
27 | margin-left: ($grid-gutter-width / -2);
28 | }
29 |
30 | @mixin make-col-ready() {
31 | position: relative;
32 | // Prevent columns from becoming too narrow when at smaller grid tiers by
33 | // always setting `width: 100%;`. This works because we use `flex` values
34 | // later on to override this initial width.
35 | width: 100%;
36 | min-height: 1px; // Prevent collapsing
37 | padding-right: ($grid-gutter-width / 2);
38 | padding-left: ($grid-gutter-width / 2);
39 | }
40 |
41 | @mixin make-col($size, $columns: $grid-columns) {
42 | flex: 0 0 percentage($size / $columns);
43 | // Add a `max-width` to ensure content within each column does not blow out
44 | // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari
45 | // do not appear to require this.
46 | max-width: percentage($size / $columns);
47 | }
48 |
49 | @mixin make-col-offset($size, $columns: $grid-columns) {
50 | $num: $size / $columns;
51 | margin-left: if($num == 0, 0, percentage($num));
52 | }
53 |
--------------------------------------------------------------------------------
/inst/assets/scss/bootstrap/utilities/_text.scss:
--------------------------------------------------------------------------------
1 | // stylelint-disable declaration-no-important
2 |
3 | //
4 | // Text
5 | //
6 |
7 | .text-monospace { font-family: $font-family-monospace; }
8 |
9 | // Alignment
10 |
11 | .text-justify { text-align: justify !important; }
12 | .text-nowrap { white-space: nowrap !important; }
13 | .text-truncate { @include text-truncate; }
14 |
15 | // Responsive alignment
16 |
17 | @each $breakpoint in map-keys($grid-breakpoints) {
18 | @include media-breakpoint-up($breakpoint) {
19 | $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
20 |
21 | .text#{$infix}-left { text-align: left !important; }
22 | .text#{$infix}-right { text-align: right !important; }
23 | .text#{$infix}-center { text-align: center !important; }
24 | }
25 | }
26 |
27 | // Transformation
28 |
29 | .text-lowercase { text-transform: lowercase !important; }
30 | .text-uppercase { text-transform: uppercase !important; }
31 | .text-capitalize { text-transform: capitalize !important; }
32 |
33 | // Weight and italics
34 |
35 | .font-weight-light { font-weight: $font-weight-light !important; }
36 | .font-weight-normal { font-weight: $font-weight-normal !important; }
37 | .font-weight-bold { font-weight: $font-weight-bold !important; }
38 | .font-italic { font-style: italic !important; }
39 |
40 | // Contextual colors
41 |
42 | .text-white { color: $white !important; }
43 |
44 | @each $color, $value in $theme-colors {
45 | @include text-emphasis-variant(".text-#{$color}", $value);
46 | }
47 |
48 | .text-body { color: $body-color !important; }
49 | .text-muted { color: $text-muted !important; }
50 |
51 | .text-black-50 { color: rgba($black, .5) !important; }
52 | .text-white-50 { color: rgba($white, .5) !important; }
53 |
54 | // Misc
55 |
56 | .text-hide {
57 | @include text-hide($ignore-warning: true);
58 | }
59 |
--------------------------------------------------------------------------------
/R/argonImage.R:
--------------------------------------------------------------------------------
1 | #' Create a Boostrap 4 image container
2 | #'
3 | #' Build an argon image container
4 | #'
5 | #' @param src Image source or path.
6 | #' @param url Only with card_mode on. Optional external link.
7 | #' @param floating Whether to apply a floating effect. FALSE by default.
8 | #' @param card_mode Whether to include the image in a card wrapper. FALSE by default.
9 | #' @param hover_lift Whether to apply a lift effect on hover. FALSE by default.
10 | #' Not compatible with floating. Only if card_mode is TRUE.
11 | #' @param width Image manual width in px.
12 | #'
13 | #' @examples
14 | #' if (interactive()) {
15 | #' library(argonR)
16 | #' argonImage(
17 | #' floating = TRUE,
18 | #' src = "https://demos.creative-tim.com/argon-design-system/assets/img/ill/ill-2.svg",
19 | #' hover_lift = TRUE
20 | #' )
21 | #' }
22 | #'
23 | #'
24 | #' @author David Granjon, \email{dgranjon@@ymail.com}
25 | #'
26 | #' @export
27 | argonImage <- function(src = NULL, url = NULL, floating = FALSE, card_mode = FALSE,
28 | hover_lift = FALSE, width = NULL) {
29 |
30 | imgCl <- "img-fluid"
31 | cardCl <- "card shadow border-0"
32 | if (floating) imgCl <- paste0(imgCl, " floating")
33 | if (hover_lift) cardCl <- paste0(cardCl, " card-lift--hover")
34 |
35 | imgTag <- if (card_mode) {
36 | htmltools::tags$div(
37 | class = cardCl,
38 | htmltools::tags$a(
39 | href = url,
40 | target = "_blank",
41 | htmltools::img(
42 | class = "card-img",
43 | src = src ,
44 | width = width
45 | )
46 | )
47 | )
48 | } else {
49 | htmltools::tags$a(
50 | href = url,
51 | target = "_blank",
52 | htmltools::img(
53 | class = imgCl,
54 | src = src,
55 | width = width
56 | )
57 | )
58 | }
59 |
60 | imgTag
61 | }
--------------------------------------------------------------------------------
/inst/assets/scss/custom/_type.scss:
--------------------------------------------------------------------------------
1 | // General styles
2 |
3 | p {
4 | font-size: $paragraph-font-size;
5 | font-weight: $paragraph-font-weight;
6 | line-height: $paragraph-line-height;
7 | }
8 |
9 | .lead {
10 | font-size: $lead-font-size;
11 | font-weight: $lead-font-weight;
12 | line-height: $paragraph-line-height;
13 | margin-top: 1.5rem;
14 |
15 | + .btn-wrapper {
16 | margin-top: 3rem;
17 | }
18 | }
19 |
20 | .description {
21 | font-size: $font-size-sm;
22 | }
23 |
24 | // Headings
25 |
26 | .heading {
27 | letter-spacing: $heading-letter-spacing;
28 | font-size: $heading-font-size;
29 | text-transform: $heading-text-transform;
30 | font-weight: $heading-font-weight;
31 | }
32 |
33 | .heading-title {
34 | letter-spacing: $heading-title-letter-spacing;
35 | font-size: $heading-title-font-size;
36 | font-weight: $heading-title-font-weight;
37 | text-transform: $heading-title-text-transform;
38 | }
39 |
40 | .heading-section {
41 | letter-spacing: $heading-section-letter-spacing;
42 | font-size: $heading-section-font-size;
43 | font-weight: $heading-section-font-weight;
44 | text-transform: $heading-section-text-transform;
45 |
46 | img {
47 | display: block;
48 | width: 72px;
49 | height: 72px;
50 | margin-bottom: 1.5rem;
51 | }
52 |
53 | &.text-center {
54 | img {
55 | margin-left: auto;
56 | margin-right: auto;
57 | }
58 | }
59 | }
60 |
61 | // Section titles
62 |
63 | .display-1,
64 | .display-2,
65 | .display-3,
66 | .display-4 {
67 | span {
68 | display: block;
69 | font-weight: $font-weight-light;
70 | }
71 | }
72 |
73 |
74 | // Articles
75 |
76 | article {
77 | h4:not(:first-child),
78 | h5:not(:first-child) {
79 | margin-top: 3rem;
80 | }
81 |
82 | h4, h5 {
83 | margin-bottom: 1.5rem;
84 | }
85 |
86 | figure {
87 | margin: 3rem 0;
88 | }
89 |
90 | h5 + figure {
91 | margin-top: 0;
92 | }
93 | }
94 |
--------------------------------------------------------------------------------
/inst/assets/scss/custom/_alerts.scss:
--------------------------------------------------------------------------------
1 | .alert {
2 | padding: $alert-padding-y $alert-padding-x;
3 | border: 0;
4 | font-size: $font-size-sm;
5 | @include border-radius($alert-border-radius);
6 |
7 | .alert-inner--icon {
8 | font-size: 1.25rem;
9 | margin-right: 1.25rem;
10 | display: inline-block;
11 | vertical-align: middle;
12 |
13 | i.ni {
14 | position: relative;
15 | top: 1px;
16 | }
17 | }
18 | .alert-inner--text {
19 | display: inline-block;
20 | vertical-align: middle;
21 | }
22 | }
23 |
24 | .alert:not(.alert-secondary) {
25 | color: $white;
26 | }
27 |
28 | [class*="alert-"] {
29 | .alert-link {
30 | color: $white;
31 | border-bottom: 1px dotted rgba($white, .5);
32 | }
33 | }
34 |
35 | .alert-heading {
36 | font-weight: $font-weight-bold;
37 | font-size: $h4-font-size;
38 | margin-top: .15rem;
39 | }
40 |
41 | .alert-dismissible {
42 | .close {
43 | top: 50%;
44 | right: $alert-padding-x;
45 | padding: 0;
46 | transform: translateY(-50%);
47 | color: rgba($white, .6);
48 | opacity: 1;
49 |
50 | &:hover,
51 | &:focus {
52 | color: rgba($white, .9);
53 | opacity: 1 !important;
54 | }
55 |
56 | @include media-breakpoint-down(xs) {
57 | top: 1rem;
58 | right: .5rem;
59 | }
60 |
61 | &>span:not(.sr-only) {
62 | font-size: 1.5rem;
63 | background-color: transparent;
64 | color: rgba($white, .6);
65 | }
66 |
67 | &:hover,
68 | &:focus {
69 | &>span:not(.sr-only) {
70 | background-color: transparent;
71 | color: rgba($white, .9);
72 | }
73 | }
74 | }
75 | }
76 |
--------------------------------------------------------------------------------
/inst/assets/scss/custom/_dropdown.scss:
--------------------------------------------------------------------------------
1 | .dropdown,
2 | .dropup,
3 | .dropright,
4 | .dropleft {
5 | display: inline-block;
6 | }
7 |
8 | .dropdown-menu {
9 | min-width: 12rem;
10 |
11 | .dropdown-item {
12 | padding: .5rem 1rem;
13 | font-size: $font-size-sm;
14 | > i,
15 | > svg {
16 | margin-right: 1rem;
17 | font-size: 1rem;
18 | vertical-align: -17%;
19 | }
20 | }
21 | }
22 |
23 | .dropdown-header {
24 | padding-left: 1rem;
25 | padding-right: 1rem;
26 | color: $gray-100;
27 | font-size: .625rem;
28 | text-transform: uppercase;
29 | font-weight: 700;
30 | }
31 |
32 |
33 | // Inverse dropdown menu
34 |
35 | .dropdown-menu-inverse {
36 | background: #282f37;
37 | border-color: #242a31;
38 |
39 | .dropdown-item {
40 | color: #dadada;
41 |
42 | &:active,
43 | &:focus,
44 | &:hover {
45 | color: #fff;
46 | background: #31353e;
47 | }
48 | }
49 |
50 | .dropdown-divider {
51 | background: #191e23;
52 | }
53 | }
54 |
55 | // Dropdown elements
56 |
57 | .dropdown-menu {
58 | a.media {
59 |
60 | > div {
61 | &:first-child {
62 | line-height: 1;
63 | }
64 | }
65 |
66 | p {
67 | color: $gray-600;
68 | }
69 | &:hover {
70 | .heading, p {
71 | color: theme-color("default") !important;
72 | }
73 | }
74 | }
75 | }
76 |
77 | // Dropown: Sizes
78 |
79 | .dropdown-menu-sm {
80 | min-width: 100px;
81 | border: $border-radius-lg;
82 | }
83 |
84 | .dropdown-menu-lg {
85 | min-width: 260px;
86 | border-radius: $border-radius-lg;
87 | }
88 |
89 | .dropdown-menu-xl {
90 | min-width: 450px;
91 | border-radius: $border-radius-lg;
92 | }
93 |
--------------------------------------------------------------------------------
/man/argonProfile.Rd:
--------------------------------------------------------------------------------
1 | % Generated by roxygen2: do not edit by hand
2 | % Please edit documentation in R/argonProfile.R
3 | \name{argonProfile}
4 | \alias{argonProfile}
5 | \title{Create a Boostrap 4 profile card}
6 | \usage{
7 | argonProfile(
8 | ...,
9 | title = NULL,
10 | subtitle = NULL,
11 | src = NULL,
12 | url = NULL,
13 | url_1 = NULL,
14 | url_2 = NULL,
15 | stats
16 | )
17 | }
18 | \arguments{
19 | \item{...}{Any element.}
20 |
21 | \item{title}{Profile title.}
22 |
23 | \item{subtitle}{Profile subtitle.}
24 |
25 | \item{src}{Profile image path or url.}
26 |
27 | \item{url}{Main url.}
28 |
29 | \item{url_1}{First social link.}
30 |
31 | \item{url_2}{Second social link.}
32 |
33 | \item{stats}{Stats items. See \link{argonProfileStats}.}
34 | }
35 | \description{
36 | Build an argon profile card
37 | }
38 | \note{
39 | Do not work on argonR. Only for argon Dash
40 | }
41 | \examples{
42 | if(interactive()){
43 | library(argonR)
44 | argonProfile(
45 | title = "John",
46 | subtitle = "Japan, Kagoshima",
47 | src = "https://image.flaticon.com/icons/svg/1006/1006540.svg",
48 | url = "https://www.google.com",
49 | url_1 = "https://www.google.com",
50 | url_2 = "https://www.google.com",
51 | stats = argonProfileStats(
52 | argonProfileStat(
53 | value = 22,
54 | description = "Friends"
55 | ),
56 | argonProfileStat(
57 | value = 10,
58 | description = "Photos"
59 | ),
60 | argonProfileStat(
61 | value = 89,
62 | description = "Comments"
63 | )
64 | ),
65 | "An artist of considerable range, Ryan —
66 | the name taken by Melbourne-raised,
67 | Brooklyn-based Nick Murphy — writes,
68 | performs and records all of his own music,
69 | giving it a warm, intimate feel with a solid
70 | groove structure. An artist of considerable
71 | range."
72 | )
73 | }
74 |
75 | }
76 | \author{
77 | David Granjon, \email{dgranjon@ymail.com}
78 | }
79 |
--------------------------------------------------------------------------------
/inst/assets/scss/custom/_nav.scss:
--------------------------------------------------------------------------------
1 | .nav-link {
2 | color: $nav-link-color;
3 |
4 | &:hover {
5 | color: theme-color("primary");
6 | }
7 |
8 | i:not(.fa) {
9 | position: relative;
10 | top: 2px;
11 | }
12 | }
13 |
14 | // Pills
15 |
16 | .nav-pills {
17 | .nav-item:not(:last-child) {
18 | padding-right: $nav-pills-space-x;
19 | }
20 |
21 | .nav-link {
22 | padding: $nav-pills-padding-y $nav-pills-padding-x;
23 | color: $nav-pills-link-color;
24 | font-weight: 500;
25 | font-size: $font-size-sm;
26 | box-shadow: $nav-pills-box-shadow;
27 | background-color: $nav-pills-bg;
28 | transition: $transition-base;
29 |
30 | &:hover {
31 | color: $nav-pills-link-hover-color;
32 | }
33 | }
34 |
35 | .nav-link.active,
36 | .show > .nav-link {
37 | color: $nav-pills-link-active-color;
38 | background-color: $nav-pills-link-active-bg;
39 | }
40 |
41 | @include media-breakpoint-down(xs) {
42 | .nav-item {
43 | margin-bottom: $spacer;
44 | }
45 | }
46 | }
47 |
48 | @include media-breakpoint-down(sm) {
49 | .nav-pills:not(.nav-pills-circle) {
50 | .nav-item {
51 | padding-right: 0;
52 | }
53 | }
54 | }
55 |
56 | // Nav pills circle
57 |
58 | .nav-pills-circle {
59 | .nav-link {
60 | text-align: center;
61 | height: 60px;
62 | width: 60px;
63 | padding: 0;
64 | line-height: 60px;
65 | border-radius: 50%;
66 | }
67 |
68 | .nav-link-icon {
69 | i, svg {
70 | font-size: 1rem;
71 | }
72 | }
73 | }
74 |
75 | // Nav wrapper
76 | .nav-wrapper {
77 | padding: 1rem 0;
78 | @include border-top-radius($card-border-radius);
79 |
80 | + .card {
81 | @include border-top-radius(0);
82 | @include border-bottom-radius($card-border-radius);
83 | }
84 | }
--------------------------------------------------------------------------------
/inst/assets/scss/custom/_footer.scss:
--------------------------------------------------------------------------------
1 | .footer {
2 | background: $footer-bg;
3 | padding: 3rem 0;
4 | //color: $footer-color;
5 |
6 | .col-footer {
7 | .heading {
8 | color: $footer-heading-color;
9 | letter-spacing: 0;
10 | font-size: $footer-heading-font-size;
11 | text-transform: uppercase;
12 | font-weight: $font-weight-bold;
13 | margin-bottom: 1rem;
14 | }
15 | }
16 |
17 | .nav .nav-item .nav-link,
18 | .footer-link {
19 | color: $footer-link-color !important;
20 |
21 | &:hover {
22 | color: $footer-link-hover-color !important;
23 | }
24 | }
25 |
26 | .list-unstyled li a {
27 | display: inline-block;
28 | padding: .125rem 0;
29 | color: $footer-link-color;
30 | font-size: $footer-link-font-size;
31 |
32 | &:hover {
33 | color: $footer-link-hover-color;
34 | }
35 | }
36 |
37 | .copyright {
38 | font-size: $font-size-sm;
39 | }
40 | }
41 |
42 | .footer-dark {
43 | .col-footer .heading {
44 | color: $white;
45 | }
46 | }
47 |
48 | .footer.has-cards {
49 | overflow: hidden;
50 | padding-top: 500px;
51 | margin-top: -420px;
52 | position: relative;
53 | background: transparent;
54 | pointer-events: none;
55 |
56 | &:before {
57 | content: "";
58 | position: absolute;
59 | left: 0;
60 | right: 0;
61 | top: 600px;
62 | height: 2000px;
63 | background: theme-color("secondary");
64 | transform: skew(0,-8deg);
65 | }
66 |
67 | .container {
68 | pointer-events: auto;
69 | position: relative;
70 | }
71 | }
72 |
73 | .nav-footer {
74 | .nav-link {
75 | font-size: $font-size-sm;
76 | }
77 |
78 | .nav-item:last-child {
79 | .nav-link {
80 | padding-right: 0;
81 | }
82 | }
83 | }
84 |
--------------------------------------------------------------------------------
/man/argonFooter.Rd:
--------------------------------------------------------------------------------
1 | % Generated by roxygen2: do not edit by hand
2 | % Please edit documentation in R/argonFooter.R
3 | \name{argonFooter}
4 | \alias{argonFooter}
5 | \title{Create a Boostrap 4 argon footer}
6 | \usage{
7 | argonFooter(..., has_card = FALSE, status = NULL, gradient = FALSE)
8 | }
9 | \arguments{
10 | \item{...}{Footer content.}
11 |
12 | \item{has_card}{Enable card rendering in the footer. FALSE by default.}
13 |
14 | \item{status}{Footer status color. See \url{https://demos.creative-tim.com/argon-design-system/docs/foundation/colors.html}.}
15 |
16 | \item{gradient}{Whether to apply a gradient. FALSE by default.}
17 | }
18 | \description{
19 | Build an argon footer
20 | }
21 | \examples{
22 | if(interactive()){
23 | library(argonR)
24 | argonFooter(
25 | has_card = FALSE,
26 | argonContainer(
27 | size = "lg",
28 | argonRow(
29 | argonColumn(
30 | width = 6,
31 | argonIconWrapper(
32 | iconTag = argonIcon("atom"),
33 | size = "lg",
34 | status = "success",
35 | shadow = TRUE,
36 | hover_shadow = TRUE
37 | ),
38 | argonH1(
39 | display = 3,
40 | "Insert anything in the footer"
41 | ),
42 | argonLead(
43 | "The Arctic Ocean freezes every winter and much of
44 | the sea-ice then thaws every summer, and that process
45 | will continue whatever"
46 | )
47 | ),
48 | argonColumn(
49 | width = 6,
50 | argonCarousel(
51 | width = 12,
52 | id = "carousel2",
53 | argonCarouselItem(
54 | src = "http://www.72pxdesigns.com/wp-content/uploads/2017/06/preview-814162.png",
55 | active = TRUE
56 | ),
57 | argonCarouselItem(
58 | src = "http://www.72pxdesigns.com/wp-content/uploads/2017/06/preview-814162.png",
59 | active = FALSE
60 | )
61 | )
62 | )
63 | )
64 | )
65 | )
66 | }
67 |
68 | }
69 | \author{
70 | David Granjon, \email{dgranjon@ymail.com}
71 | }
72 |
--------------------------------------------------------------------------------
/inst/assets/scss/bootstrap/mixins/_grid-framework.scss:
--------------------------------------------------------------------------------
1 | // Framework grid generation
2 | //
3 | // Used only by Bootstrap to generate the correct number of grid classes given
4 | // any value of `$grid-columns`.
5 |
6 | @mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {
7 | // Common properties for all breakpoints
8 | %grid-column {
9 | position: relative;
10 | width: 100%;
11 | min-height: 1px; // Prevent columns from collapsing when empty
12 | padding-right: ($gutter / 2);
13 | padding-left: ($gutter / 2);
14 | }
15 |
16 | @each $breakpoint in map-keys($breakpoints) {
17 | $infix: breakpoint-infix($breakpoint, $breakpoints);
18 |
19 | // Allow columns to stretch full width below their breakpoints
20 | @for $i from 1 through $columns {
21 | .col#{$infix}-#{$i} {
22 | @extend %grid-column;
23 | }
24 | }
25 | .col#{$infix},
26 | .col#{$infix}-auto {
27 | @extend %grid-column;
28 | }
29 |
30 | @include media-breakpoint-up($breakpoint, $breakpoints) {
31 | // Provide basic `.col-{bp}` classes for equal-width flexbox columns
32 | .col#{$infix} {
33 | flex-basis: 0;
34 | flex-grow: 1;
35 | max-width: 100%;
36 | }
37 | .col#{$infix}-auto {
38 | flex: 0 0 auto;
39 | width: auto;
40 | max-width: none; // Reset earlier grid tiers
41 | }
42 |
43 | @for $i from 1 through $columns {
44 | .col#{$infix}-#{$i} {
45 | @include make-col($i, $columns);
46 | }
47 | }
48 |
49 | .order#{$infix}-first { order: -1; }
50 |
51 | .order#{$infix}-last { order: $columns + 1; }
52 |
53 | @for $i from 0 through $columns {
54 | .order#{$infix}-#{$i} { order: $i; }
55 | }
56 |
57 | // `$columns - 1` because offsetting by the width of an entire row isn't possible
58 | @for $i from 0 through ($columns - 1) {
59 | @if not ($infix == "" and $i == 0) { // Avoid emitting useless .offset-0
60 | .offset#{$infix}-#{$i} {
61 | @include make-col-offset($i, $columns);
62 | }
63 | }
64 | }
65 | }
66 | }
67 | }
68 |
--------------------------------------------------------------------------------
/inst/assets/scss/bootstrap/_pagination.scss:
--------------------------------------------------------------------------------
1 | .pagination {
2 | display: flex;
3 | @include list-unstyled();
4 | @include border-radius();
5 | }
6 |
7 | .page-link {
8 | position: relative;
9 | display: block;
10 | padding: $pagination-padding-y $pagination-padding-x;
11 | margin-left: -$pagination-border-width;
12 | line-height: $pagination-line-height;
13 | color: $pagination-color;
14 | background-color: $pagination-bg;
15 | border: $pagination-border-width solid $pagination-border-color;
16 |
17 | &:hover {
18 | z-index: 2;
19 | color: $pagination-hover-color;
20 | text-decoration: none;
21 | background-color: $pagination-hover-bg;
22 | border-color: $pagination-hover-border-color;
23 | }
24 |
25 | &:focus {
26 | z-index: 2;
27 | outline: $pagination-focus-outline;
28 | box-shadow: $pagination-focus-box-shadow;
29 | }
30 |
31 | // Opinionated: add "hand" cursor to non-disabled .page-link elements
32 | &:not(:disabled):not(.disabled) {
33 | cursor: pointer;
34 | }
35 | }
36 |
37 | .page-item {
38 | &:first-child {
39 | .page-link {
40 | margin-left: 0;
41 | @include border-left-radius($border-radius);
42 | }
43 | }
44 | &:last-child {
45 | .page-link {
46 | @include border-right-radius($border-radius);
47 | }
48 | }
49 |
50 | &.active .page-link {
51 | z-index: 1;
52 | color: $pagination-active-color;
53 | background-color: $pagination-active-bg;
54 | border-color: $pagination-active-border-color;
55 | }
56 |
57 | &.disabled .page-link {
58 | color: $pagination-disabled-color;
59 | pointer-events: none;
60 | // Opinionated: remove the "hand" cursor set previously for .page-link
61 | cursor: auto;
62 | background-color: $pagination-disabled-bg;
63 | border-color: $pagination-disabled-border-color;
64 | }
65 | }
66 |
67 |
68 | //
69 | // Sizing
70 | //
71 |
72 | .pagination-lg {
73 | @include pagination-size($pagination-padding-y-lg, $pagination-padding-x-lg, $font-size-lg, $line-height-lg, $border-radius-lg);
74 | }
75 |
76 | .pagination-sm {
77 | @include pagination-size($pagination-padding-y-sm, $pagination-padding-x-sm, $font-size-sm, $line-height-sm, $border-radius-sm);
78 | }
79 |
--------------------------------------------------------------------------------
/inst/assets/scss/bootstrap/mixins/_gradients.scss:
--------------------------------------------------------------------------------
1 | // Gradients
2 |
3 | @mixin gradient-bg($color) {
4 | @if $enable-gradients {
5 | background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x;
6 | } @else {
7 | background-color: $color;
8 | }
9 | }
10 |
11 | // Horizontal gradient, from left to right
12 | //
13 | // Creates two color stops, start and end, by specifying a color and position for each color stop.
14 | @mixin gradient-x($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {
15 | background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent);
16 | background-repeat: repeat-x;
17 | }
18 |
19 | // Vertical gradient, from top to bottom
20 | //
21 | // Creates two color stops, start and end, by specifying a color and position for each color stop.
22 | @mixin gradient-y($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {
23 | background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent);
24 | background-repeat: repeat-x;
25 | }
26 |
27 | @mixin gradient-directional($start-color: $gray-700, $end-color: $gray-800, $deg: 45deg) {
28 | background-image: linear-gradient($deg, $start-color, $end-color);
29 | background-repeat: repeat-x;
30 | }
31 | @mixin gradient-x-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {
32 | background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);
33 | background-repeat: no-repeat;
34 | }
35 | @mixin gradient-y-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {
36 | background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);
37 | background-repeat: no-repeat;
38 | }
39 | @mixin gradient-radial($inner-color: $gray-700, $outer-color: $gray-800) {
40 | background-image: radial-gradient(circle, $inner-color, $outer-color);
41 | background-repeat: no-repeat;
42 | }
43 | @mixin gradient-striped($color: rgba($white, .15), $angle: 45deg) {
44 | background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);
45 | }
46 |
--------------------------------------------------------------------------------
/docs/docsearch.js:
--------------------------------------------------------------------------------
1 | $(function() {
2 |
3 | // register a handler to move the focus to the search bar
4 | // upon pressing shift + "/" (i.e. "?")
5 | $(document).on('keydown', function(e) {
6 | if (e.shiftKey && e.keyCode == 191) {
7 | e.preventDefault();
8 | $("#search-input").focus();
9 | }
10 | });
11 |
12 | $(document).ready(function() {
13 | // do keyword highlighting
14 | /* modified from https://jsfiddle.net/julmot/bL6bb5oo/ */
15 | var mark = function() {
16 |
17 | var referrer = document.URL ;
18 | var paramKey = "q" ;
19 |
20 | if (referrer.indexOf("?") !== -1) {
21 | var qs = referrer.substr(referrer.indexOf('?') + 1);
22 | var qs_noanchor = qs.split('#')[0];
23 | var qsa = qs_noanchor.split('&');
24 | var keyword = "";
25 |
26 | for (var i = 0; i < qsa.length; i++) {
27 | var currentParam = qsa[i].split('=');
28 |
29 | if (currentParam.length !== 2) {
30 | continue;
31 | }
32 |
33 | if (currentParam[0] == paramKey) {
34 | keyword = decodeURIComponent(currentParam[1].replace(/\+/g, "%20"));
35 | }
36 | }
37 |
38 | if (keyword !== "") {
39 | $(".contents").unmark({
40 | done: function() {
41 | $(".contents").mark(keyword);
42 | }
43 | });
44 | }
45 | }
46 | };
47 |
48 | mark();
49 | });
50 | });
51 |
52 | /* Search term highlighting ------------------------------*/
53 |
54 | function matchedWords(hit) {
55 | var words = [];
56 |
57 | var hierarchy = hit._highlightResult.hierarchy;
58 | // loop to fetch from lvl0, lvl1, etc.
59 | for (var idx in hierarchy) {
60 | words = words.concat(hierarchy[idx].matchedWords);
61 | }
62 |
63 | var content = hit._highlightResult.content;
64 | if (content) {
65 | words = words.concat(content.matchedWords);
66 | }
67 |
68 | // return unique words
69 | var words_uniq = [...new Set(words)];
70 | return words_uniq;
71 | }
72 |
73 | function updateHitURL(hit) {
74 |
75 | var words = matchedWords(hit);
76 | var url = "";
77 |
78 | if (hit.anchor) {
79 | url = hit.url_without_anchor + '?q=' + escape(words.join(" ")) + '#' + hit.anchor;
80 | } else {
81 | url = hit.url + '?q=' + escape(words.join(" "));
82 | }
83 |
84 | return url;
85 | }
86 |
--------------------------------------------------------------------------------
/man/argonSection.Rd:
--------------------------------------------------------------------------------
1 | % Generated by roxygen2: do not edit by hand
2 | % Please edit documentation in R/argonSection.R
3 | \name{argonSection}
4 | \alias{argonSection}
5 | \title{Create a Boostrap 4 section container}
6 | \usage{
7 | argonSection(
8 | ...,
9 | size = NULL,
10 | status = "default",
11 | gradient = FALSE,
12 | separator = FALSE,
13 | separator_color = "secondary",
14 | shape = FALSE,
15 | cascade = FALSE
16 | )
17 | }
18 | \arguments{
19 | \item{...}{Any UI element.}
20 |
21 | \item{size}{Section size. NULL by default.}
22 |
23 | \item{status}{Section status. See \url{https://demos.creative-tim.com/argon-design-system/docs/foundation/colors.html}.}
24 |
25 | \item{gradient}{Section gradient effect. FALSE by default.}
26 |
27 | \item{separator}{Section bottom separator. FALSE by default.}
28 |
29 | \item{separator_color}{Separator color. "secondary" by default. See \url{https://demos.creative-tim.com/argon-design-system/docs/foundation/colors.html}.}
30 |
31 | \item{shape}{Whether to include shape in the background. FALSE by default.}
32 |
33 | \item{cascade}{Whether to enable a cascade effect. FALSE by default.}
34 | }
35 | \description{
36 | Build an argon section container
37 | }
38 | \note{
39 | Do not use with the argonDash package. Only for argonR.
40 | }
41 | \examples{
42 | if (interactive()) {
43 | library(argonR)
44 | argonSection(
45 | size = "lg",
46 | status = "default",
47 | gradient = TRUE,
48 | separator = TRUE,
49 | separator_color = "white",
50 | shape = TRUE,
51 | argonColumn(
52 | argonRow(
53 | argonColumn(
54 | width = 6,
55 | argonH1(
56 | display = 3,
57 | "ArgonR, HTML static template for R",
58 | htmltools::span("completed with examples")
59 | ) \%>\% argonTextColor(color = "white"),
60 | argonLead(
61 | "Argon is a great free UI package based on Bootstrap
62 | 4 that includes the most important components and features"
63 | ) \%>\% argonTextColor(color = "white")
64 | ),
65 | argonColumn(
66 | width = 6,
67 | argonImage(
68 | src = "inst/images/imac.svg",
69 | floating = TRUE
70 | ) \%>\% argonPersp(side = "right")
71 | \%>\% argonBlur()
72 | )
73 | )
74 | )
75 | )
76 | }
77 |
78 | }
79 | \author{
80 | David Granjon, \email{dgranjon@ymail.com}
81 | }
82 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # argonR
2 |
3 | [](https://github.com/RinteRface/argonR/actions)
4 | [](https://cran.r-project.org/package=argonR)
5 | [](https://www.tidyverse.org/lifecycle/#maturing)
6 | [](https://cran.r-project.org/package=argonR)
7 | [](https://www.rpackages.io/package/argonR)
8 |
9 | > R interface to argon HTML Bootstrap 4 template
10 |
11 | ## ArgonR philosophy
12 | `{argonR}` primarily aims at building static webpages from R, without the need of shiny or server part. However,
13 | it can be also used within shiny packages such as `{argonDash}`, a bootstrap4 shiny dashboard.
14 | See [here](https://github.com/RinteRface/argonDash) for more details.
15 |
16 | ## Installation
17 |
18 | ```r
19 | # from CRAN
20 | install.packages("argonR")
21 | # Latest version
22 | devtools::install_github("RinteRface/argonR")
23 | ```
24 |
25 | ## Demo
26 |
27 | See a demonstration [here](https://rinterface.com).
28 |
29 |
30 |
31 |
32 | ## How to host it?
33 | This is pretty simple:
34 | * Test it locally: after having generated your HTML page as described previously,
35 | open it with any web browser
36 | * On apache or nginx server: copy example.html and the inst folder to the root of your
37 | web server. Enter the web server adress in the web browser.
38 | * On shiny-server: copy example.html and the inst folder to the root of your
39 | shiny-server (usually /srv/shiny-server). Enter the web server adress in the web browser
40 |
41 | ## Use with shiny
42 |
43 | See [{argonDash}](https://github.com/RinteRface/argonDash).
44 |
45 | ## Acknowledgement
46 | * Many thanks to [Creative Tim](https://www.creative-tim.com/) for creating argon HTML.
47 |
48 | ## Code of Conduct
49 |
50 | Please note that the argonR project is released with a [Contributor Code of Conduct](https://contributor-covenant.org/version/2/0/CODE_OF_CONDUCT.html). By contributing to this project, you agree to abide by its terms.
--------------------------------------------------------------------------------
/R/argonFooter.R:
--------------------------------------------------------------------------------
1 | #' Create a Boostrap 4 argon footer
2 | #'
3 | #' Build an argon footer
4 | #'
5 | #' @param ... Footer content.
6 | #' @param has_card Enable card rendering in the footer. FALSE by default.
7 | #' @param status Footer status color. See \url{https://demos.creative-tim.com/argon-design-system/docs/foundation/colors.html}.
8 | #' @param gradient Whether to apply a gradient. FALSE by default.
9 | #'
10 | #' @examples
11 | #' if(interactive()){
12 | #' library(argonR)
13 | #' argonFooter(
14 | #' has_card = FALSE,
15 | #' argonContainer(
16 | #' size = "lg",
17 | #' argonRow(
18 | #' argonColumn(
19 | #' width = 6,
20 | #' argonIconWrapper(
21 | #' iconTag = argonIcon("atom"),
22 | #' size = "lg",
23 | #' status = "success",
24 | #' shadow = TRUE,
25 | #' hover_shadow = TRUE
26 | #' ),
27 | #' argonH1(
28 | #' display = 3,
29 | #' "Insert anything in the footer"
30 | #' ),
31 | #' argonLead(
32 | #' "The Arctic Ocean freezes every winter and much of
33 | #' the sea-ice then thaws every summer, and that process
34 | #' will continue whatever"
35 | #' )
36 | #' ),
37 | #' argonColumn(
38 | #' width = 6,
39 | #' argonCarousel(
40 | #' width = 12,
41 | #' id = "carousel2",
42 | #' argonCarouselItem(
43 | #' src = "http://www.72pxdesigns.com/wp-content/uploads/2017/06/preview-814162.png",
44 | #' active = TRUE
45 | #' ),
46 | #' argonCarouselItem(
47 | #' src = "http://www.72pxdesigns.com/wp-content/uploads/2017/06/preview-814162.png",
48 | #' active = FALSE
49 | #' )
50 | #' )
51 | #' )
52 | #' )
53 | #' )
54 | #' )
55 | #' }
56 | #'
57 | #' @author David Granjon, \email{dgranjon@@ymail.com}
58 | #'
59 | #' @export
60 | argonFooter <- function(..., has_card = FALSE, status = NULL, gradient = FALSE) {
61 |
62 | footerCl <- "footer"
63 | if (!is.null(status)) {
64 | if (gradient) {
65 | footerCl <- paste0(footerCl, " bg-gradient-", status)
66 | } else {
67 | footerCl <- paste0(footerCl, " bg-", status)
68 | }
69 | }
70 | if (has_card) footerCl <- paste0(footerCl, " has-cards")
71 |
72 | htmltools::tags$footer(class = footerCl, ...)
73 |
74 | }
--------------------------------------------------------------------------------
/inst/assets/scss/custom/_card.scss:
--------------------------------------------------------------------------------
1 | .card {
2 | position: relative;
3 | }
4 |
5 | .profile-page {
6 | .card-profile {
7 | margin-top: -150px;
8 |
9 | .card-profile-image {
10 | position: relative;
11 | //min-height: 130px;
12 |
13 | img {
14 | max-width: 180px;
15 | border-radius: $border-radius;
16 | @extend .shadow;
17 | transform: translate(-50%,-30%);
18 | position: absolute;
19 | left: 50%;
20 | transition: $transition-base;
21 |
22 | &:hover {
23 | transform: translate(-50%, -33%);
24 | }
25 | }
26 | }
27 |
28 | .card-profile-stats {
29 | padding: 1rem 0;
30 |
31 | > div {
32 | text-align: center;
33 | margin-right: 1rem;
34 | padding: .875rem;
35 |
36 | &:last-child {
37 | margin-right: 0;
38 | }
39 |
40 | .heading {
41 | font-size: 1.1rem;
42 | font-weight: bold;
43 | display: block;
44 | }
45 | .description {
46 | font-size: .875rem;
47 | color: $gray-500;
48 | }
49 | }
50 | }
51 |
52 | .card-profile-actions {
53 | padding: .875rem;
54 | }
55 |
56 | @include media-breakpoint-down(xs) {
57 | .card-profile-actions {
58 | margin-top: 110px;
59 | }
60 | }
61 |
62 | @include media-breakpoint-between(sm, md) {
63 | .card-profile-stats {
64 | margin-top: 30px;
65 | }
66 | }
67 | }
68 | }
69 |
70 | // Card with blockquotes
71 |
72 | .card {
73 | .card-blockquote {
74 | padding: 2rem;
75 | position: relative;
76 |
77 | .svg-bg {
78 | display: block;
79 | width: 100%;
80 | height: 95px;
81 | position: absolute;
82 | top: -94px;
83 | left: 0;
84 | }
85 | }
86 | }
87 |
88 | // Animated cards
89 |
90 | .card-lift--hover {
91 | &:hover {
92 | transform: translateY(-20px);
93 | @include transition($transition-base);
94 | }
95 | }
--------------------------------------------------------------------------------
/man/argonCard.Rd:
--------------------------------------------------------------------------------
1 | % Generated by roxygen2: do not edit by hand
2 | % Please edit documentation in R/argonCard.R
3 | \name{argonCard}
4 | \alias{argonCard}
5 | \title{Create a Boostrap 4 card}
6 | \usage{
7 | argonCard(
8 | ...,
9 | title = NULL,
10 | src = NULL,
11 | hover_lift = FALSE,
12 | shadow = FALSE,
13 | shadow_size = NULL,
14 | hover_shadow = FALSE,
15 | border_level = 0,
16 | icon = NULL,
17 | btn_text = "More",
18 | status = "primary",
19 | background_color = NULL,
20 | gradient = FALSE,
21 | floating = FALSE,
22 | width = 6
23 | )
24 | }
25 | \arguments{
26 | \item{...}{Body content.}
27 |
28 | \item{title}{Card title.}
29 |
30 | \item{src}{Card external link.}
31 |
32 | \item{hover_lift}{Whether to apply a lift effect on hover. FALSE by default.
33 | Not compatible with floating.}
34 |
35 | \item{shadow}{Whether to apply a shadow effect. FALSE by default.}
36 |
37 | \item{shadow_size}{Card shadow size. Only if shadow is TRUE. NULL by default.}
38 |
39 | \item{hover_shadow}{Only if shadow is TRUE. Whether to enlarge the shadow on hover. FALSE by default.}
40 |
41 | \item{border_level}{Border level. O by default.}
42 |
43 | \item{icon}{Card icon. Expect \link{argonIcon} or \link[shiny]{icon}.}
44 |
45 | \item{btn_text}{Button text. src arg must not be NULL so that this button appears.}
46 |
47 | \item{status}{Card status. See \url{https://demos.creative-tim.com/argon-design-system/docs/foundation/colors.html}.}
48 |
49 | \item{background_color}{Card background color. NULL by default. See \url{https://demos.creative-tim.com/argon-design-system/docs/foundation/colors.html}.}
50 |
51 | \item{gradient}{Whether to apply a gradient effect on the card background. FALSE by default.}
52 |
53 | \item{floating}{Whether to animate the card by a vertical floating movement. FALSE by default.
54 | Not compatible with hover_lift.}
55 |
56 | \item{width}{Card width. Between 1 and 12.}
57 | }
58 | \description{
59 | Build an argon card
60 | }
61 | \examples{
62 | if (interactive()) {
63 | library(argonR)
64 | argonCard(
65 | status = "primary",
66 | width = 12,
67 | title = "Card 1",
68 | hover_lift = TRUE,
69 | shadow = TRUE,
70 | icon = argonIcon("check-bold"),
71 | src = "#",
72 | "Argon is a great free UI package based on Bootstrap 4
73 | that includes the most important components and features."
74 | )
75 | }
76 |
77 |
78 | }
79 | \author{
80 | David Granjon, \email{dgranjon@ymail.com}
81 | }
82 |
--------------------------------------------------------------------------------
/R/argonModal.R:
--------------------------------------------------------------------------------
1 | #' Create a Boostrap 4 argon modal
2 | #'
3 | #' Build an argon modal
4 | #'
5 | #' @param ... Modal body content.
6 | #' @param id Modal unique id. Should be the same as modal_id from \link{argonButton}.
7 | #' @param title Modal title.
8 | #' @param status Modal color. See \url{https://demos.creative-tim.com/argon-design-system/docs/foundation/colors.html}.
9 | #' @param gradient Modal background gradient. FALSE by default. Does not work if status is NULL.
10 | #'
11 | #' @examples
12 | #' if(interactive()){
13 | #' library(argonR)
14 | #' argonModal(
15 | #' id = "modal1",
16 | #' title = "This is a modal",
17 | #' status = "danger",
18 | #' gradient = TRUE,
19 | #' "YOU SHOULD READ THIS!",
20 | #' br(),
21 | #' "A small river named Duden flows by their place and supplies it with the necessary regelialia."
22 | #' )
23 | #' }
24 | #'
25 | #' @author David Granjon, \email{dgranjon@@ymail.com}
26 | #'
27 | #' @export
28 | argonModal <- function(..., id, title = NULL, status = NULL, gradient = FALSE) {
29 |
30 | modalCl <- "modal-dialog modal-dialog-centered"
31 | if (!is.null(status)) modalCl <- paste0(modalCl, " modal-", status)
32 |
33 | contentCl <- "modal-content"
34 | if (gradient) {
35 | if (!is.null(status)) contentCl <- paste0(contentCl, " bg-gradient-", status)
36 | }
37 |
38 | # header
39 | modalHeader <- htmltools::tags$div(
40 | class = "modal-header",
41 | htmltools::tags$h5(class = "modal-title", id = paste0(id, "Label") , title),
42 | htmltools::tags$button(
43 | type = "button",
44 | class = "close",
45 | `data-dismiss` = "modal",
46 | `aria-label` = "Close",
47 | htmltools::tags$span(`aria-hidden` = "true", "x")
48 | )
49 | )
50 |
51 | # footer
52 | modalFooter <- htmltools::tags$div(class = "modal-footer")
53 |
54 | # content
55 | modalBody <- htmltools::tags$div(class = "modal-body", ...)
56 |
57 |
58 | modalWrapper <- htmltools::tags$div(
59 | class = "modal fade",
60 | id = id,
61 | tabindex = "-1",
62 | role = "dialog",
63 | `aria-labelledby` = paste0(id, "Label"),
64 | `aria-hidden` = "true",
65 | htmltools::tags$div(
66 | class = modalCl,
67 | role = "document",
68 | htmltools::tags$div(
69 | class = contentCl,
70 | modalHeader,
71 | modalBody,
72 | modalFooter
73 | )
74 | )
75 | )
76 |
77 | modalWrapper
78 |
79 | }
--------------------------------------------------------------------------------
/R/argonIcon.R:
--------------------------------------------------------------------------------
1 | #' Create a Nucleo icon
2 | #'
3 | #' Build an argon Nucleo icon
4 | #'
5 | #' @param name icon name.
6 | #' @param color icon color. See \url{https://demos.creative-tim.com/argon-design-system/docs/foundation/colors.html}.
7 | #'
8 | #' @examples
9 | #' if (interactive()) {
10 | #' library(argonR)
11 | #' argonIcon("atom")
12 | #' }
13 | #'
14 | #'
15 | #' @author David Granjon, \email{dgranjon@@ymail.com}
16 | #'
17 | #' @export
18 | argonIcon <- function(name, color = NULL) {
19 |
20 | iconCl <- "ni"
21 | if (!is.null(color)) iconCl <- paste0(iconCl, " text-", color)
22 |
23 | htmltools::tags$i(class = paste0(iconCl, " ni-", name))
24 | }
25 |
26 |
27 |
28 |
29 | #' Create a Nucleo icon wrapper
30 | #'
31 | #' Build an argon Nucleo icon wrapper
32 | #'
33 | #' @param iconTag Slot for \link{argonIcon}
34 | #' @param circle Wrapper's shape. TRUE by default.
35 | #' @param size Wrapper size. "sm", "md" or "lg".
36 | #' @param status Wrapper color. See \url{https://demos.creative-tim.com/argon-design-system/docs/foundation/colors.html}.
37 | #' @param gradient_color icon gradient background color.
38 | #' @param shadow Whether to apply a shadow effet. TRUE by default.
39 | #' @param hover_shadow Only if shadow is TRUE. Whether to enlarge the shadow on hover. FALSE by default.
40 | #'
41 | #' @examples
42 | #' if (interactive()) {
43 | #' library(argonR)
44 | #' argonIconWrapper(
45 | #' iconTag = argonIcon("atom"),
46 | #' size = "lg",
47 | #' status = "danger",
48 | #' shadow = TRUE,
49 | #' hover_shadow = TRUE
50 | #' )
51 | #' }
52 | #'
53 | #'
54 | #' @author David Granjon, \email{dgranjon@@ymail.com}
55 | #'
56 | #' @export
57 | argonIconWrapper <- function(iconTag, circle = TRUE, size = NULL, status = "default",
58 | gradient_color = NULL, shadow = TRUE, hover_shadow = FALSE) {
59 |
60 | wrapperCl <- "icon icon-shape"
61 | if (circle) wrapperCl <- paste0(wrapperCl, " rounded-circle")
62 | if (!is.null(gradient_color)) {
63 | wrapperCl <- paste0(wrapperCl, " bg-gradient-", gradient_color)
64 | status <- NULL
65 | }
66 | if (!is.null(status)) wrapperCl <- paste0(wrapperCl, " icon-shape-", status)
67 | if (!is.null(size)) wrapperCl <- paste0(wrapperCl, " icon-", size)
68 | if (shadow) {
69 | if (hover_shadow) wrapperCl <- paste0(wrapperCl, " shadow-lg--hover")
70 | else {
71 | wrapperCl <- paste0(wrapperCl, " shadow")
72 | }
73 | }
74 |
75 | htmltools::tags$div(class = wrapperCl, iconTag)
76 | }
--------------------------------------------------------------------------------
/inst/assets/scss/custom/utilities/_spacing.scss:
--------------------------------------------------------------------------------
1 | // Spacing columns vertically
2 |
3 | .row.row-grid > [class*="col-"] + [class*="col-"] {
4 | margin-top: 3rem;
5 | }
6 |
7 | @include media-breakpoint-up(lg) {
8 | .row.row-grid > [class*="col-lg-"] + [class*="col-lg-"] {
9 | margin-top: 0;
10 | }
11 | }
12 | @include media-breakpoint-up(md) {
13 | .row.row-grid > [class*="col-md-"] + [class*="col-md-"] {
14 | margin-top: 0;
15 | }
16 | }
17 | @include media-breakpoint-up(sm) {
18 | .row.row-grid > [class*="col-sm-"] + [class*="col-sm-"] {
19 | margin-top: 0;
20 | }
21 | }
22 |
23 | .row-grid + .row-grid {
24 | margin-top: 3rem;
25 | }
26 |
27 | // Negative margins and paddings
28 |
29 | @media(min-width: 992px) {
30 | [class*="mt--"],
31 | [class*="mr--"],
32 | [class*="mb--"],
33 | [class*="ml--"] {
34 | position: relative;
35 | z-index: 5;
36 | }
37 |
38 |
39 | // Large negative margins in pixels
40 |
41 | .mt--100 {
42 | margin-top: -100px !important;
43 | }
44 | .mr--100 {
45 | margin-right: -100px !important;
46 | }
47 | .mb--100 {
48 | margin-bottom: -100px !important;
49 | }
50 | .ml--100 {
51 | margin-left: -100px !important;
52 | }
53 | .mt--150 {
54 | margin-top: -150px !important;
55 | }
56 | .mb--150 {
57 | margin-bottom: -150px !important;
58 | }
59 | .mt--200 {
60 | margin-top: -200px !important;
61 | }
62 | .mb--200 {
63 | margin-bottom: -200px !important;
64 | }
65 | .mt--300 {
66 | margin-top: -300px !important;
67 | }
68 | .mb--300 {
69 | margin-bottom: -300px !important;
70 | }
71 |
72 |
73 | // Large margins in pixels
74 |
75 | .pt-100 {
76 | padding-top: 100px !important;
77 | }
78 | .pb-100 {
79 | padding-bottom: 100px !important;
80 | }
81 | .pt-150 {
82 | padding-top: 150px !important;
83 | }
84 | .pb-150 {
85 | padding-bottom: 150px !important;
86 | }
87 | .pt-200 {
88 | padding-top: 200px !important;
89 | }
90 | .pb-200 {
91 | padding-bottom: 200px !important;
92 | }
93 | .pt-250 {
94 | padding-top: 250px !important;
95 | }
96 | .pb-250 {
97 | padding-bottom: 250px !important;
98 | }
99 | .pt-300 {
100 | padding-top: 300px!important;
101 | }
102 | .pb-300 {
103 | padding-bottom: 300px!important;
104 | }
105 | }
106 |
--------------------------------------------------------------------------------
/inst/assets/scss/bootstrap/_nav.scss:
--------------------------------------------------------------------------------
1 | // Base class
2 | //
3 | // Kickstart any navigation component with a set of style resets. Works with
4 | // `