diff --git a/.babelrc.js b/.babelrc.js deleted file mode 100644 index eb9c740ff..000000000 --- a/.babelrc.js +++ /dev/null @@ -1,16 +0,0 @@ -module.exports = { - presets: [ - [ - '@babel/env', - { - exclude: ['transform-typeof-symbol'], - loose: true, - modules: false - } - ] - ], - plugins: [ - process.env.PLUGINS && 'transform-es2015-modules-strip', - '@babel/proposal-object-rest-spread' - ].filter(Boolean) -}; diff --git a/.browserslistrc b/.browserslistrc new file mode 100644 index 000000000..1bfd19753 --- /dev/null +++ b/.browserslistrc @@ -0,0 +1,13 @@ +# https://github.com/browserslist/browserslist#readme + +>= 1% +last 1 major version +not dead +Chrome >= 45 +Firefox >= 38 +Edge >= 12 +Explorer >= 10 +iOS >= 9 +Safari >= 9 +Android >= 4.4 +Opera >= 30 diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 000000000..9d5248e86 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,14 @@ +# editorconfig.org + +root = true + +[*] +charset = utf-8 +end_of_line = lf +indent_size = 2 +indent_style = space +insert_final_newline = true +trim_trailing_whitespace = true + +[*.md] +trim_trailing_whitespace = false diff --git a/.eslintignore b/.eslintignore index 71c3258a8..f0a7883af 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1,3 +1,4 @@ **/*.min.js **/addons/* js/* +assets/js/src/util.js diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 000000000..398a5fad1 --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,290 @@ +{ + "env": { + "browser": true, + "es6": true, + "jquery": true + }, + "extends": "eslint:recommended", + "parser": "babel-eslint", + "plugins": [ + "compat" + ], + "root": true, + "rules": { + "accessor-pairs": "error", + "array-bracket-spacing": "error", + "array-callback-return": "error", + "arrow-body-style": [ + "error", + "as-needed" + ], + "arrow-parens": "error", + "arrow-spacing": "error", + "block-scoped-var": "error", + "block-spacing": "error", + "brace-style": "error", + "callback-return": "off", + "camelcase": "error", + "capitalized-comments": "off", + "class-methods-use-this": "off", + "comma-dangle": "error", + "comma-spacing": "error", + "comma-style": "error", + "compat/compat": "error", + "complexity": "error", + "computed-property-spacing": "error", + "consistent-return": "error", + "consistent-this": "error", + "curly": "error", + "default-case": "error", + "dot-location": [ + "error", + "property" + ], + "dot-notation": "error", + "eol-last": "error", + "eqeqeq": "error", + "func-call-spacing": "error", + "func-name-matching": "error", + "func-names": "off", + "func-style": [ + "error", + "declaration" + ], + "generator-star-spacing": "error", + "global-require": "error", + "guard-for-in": "error", + "handle-callback-err": "error", + "id-blacklist": "error", + "id-length": "off", + "id-match": "error", + "indent": [ + "error", + 2, + { + "SwitchCase": 1 + } + ], + "init-declarations": "off", + "jsx-quotes": "error", + "key-spacing": "off", + "keyword-spacing": "error", + "line-comment-position": "off", + "linebreak-style": [ + "error", + "unix" + ], + "lines-around-comment": "off", + "lines-around-directive": "error", + "max-depth": [ + "error", + 10 + ], + "max-len": "off", + "max-lines": "off", + "max-nested-callbacks": "error", + "max-params": "off", + "max-statements": "off", + "max-statements-per-line": "error", + "multiline-ternary": "off", + "new-cap": [ + "error", + { + "capIsNewExceptionPattern": "$.*" + } + ], + "new-parens": "error", + "newline-after-var": "off", + "newline-per-chained-call": [ + "error", + { + "ignoreChainWithDepth": 5 + } + ], + "no-alert": "error", + "no-array-constructor": "error", + "no-await-in-loop": "error", + "no-bitwise": "error", + "no-caller": "error", + "no-catch-shadow": "error", + "no-confusing-arrow": "error", + "no-continue": "off", + "no-div-regex": "error", + "no-duplicate-imports": "error", + "no-else-return": "error", + "no-empty-function": "error", + "no-eq-null": "error", + "no-eval": "error", + "no-extend-native": "error", + "no-extra-bind": "error", + "no-extra-label": "error", + "no-extra-parens": "error", + "no-floating-decimal": "error", + "no-implicit-coercion": "error", + "no-implicit-globals": "error", + "no-implied-eval": "error", + "no-inline-comments": "off", + "no-invalid-this": "off", + "no-iterator": "error", + "no-label-var": "error", + "no-labels": "error", + "no-lone-blocks": "error", + "no-lonely-if": "error", + "no-loop-func": "error", + "no-magic-numbers": [ + "error", + { + "ignore": [ + -1, + 0, + 1 + ], + "ignoreArrayIndexes": true + } + ], + "no-mixed-operators": "off", + "no-mixed-requires": "error", + "no-multi-assign": "error", + "no-multi-spaces": [ + "error", + { + "exceptions": { + "ArrowFunctionExpression": true, + "AssignmentExpression": true, + "CallExpression": true, + "VariableDeclarator": true + }, + "ignoreEOLComments": true + } + ], + "no-multi-str": "error", + "no-multiple-empty-lines": "error", + "no-negated-condition": "off", + "no-nested-ternary": "error", + "no-new": "error", + "no-new-func": "error", + "no-new-object": "error", + "no-new-require": "error", + "no-new-wrappers": "error", + "no-octal-escape": "error", + "no-param-reassign": "off", + "no-path-concat": "error", + "no-plusplus": "off", + "no-process-env": "error", + "no-process-exit": "error", + "no-proto": "error", + "no-prototype-builtins": "error", + "no-restricted-globals": "error", + "no-restricted-imports": "error", + "no-restricted-modules": "error", + "no-restricted-properties": "error", + "no-restricted-syntax": "error", + "no-return-assign": "error", + "no-return-await": "error", + "no-script-url": "error", + "no-self-compare": "error", + "no-sequences": "error", + "no-shadow": "off", + "no-shadow-restricted-names": "error", + "no-sync": "error", + "no-tabs": "error", + "no-template-curly-in-string": "error", + "no-ternary": "off", + "no-throw-literal": "error", + "no-trailing-spaces": "error", + "no-undef-init": "error", + "no-undefined": "error", + "no-underscore-dangle": "off", + "no-unmodified-loop-condition": "error", + "no-unneeded-ternary": "error", + "no-unused-expressions": "error", + "no-use-before-define": "off", + "no-useless-call": "error", + "no-useless-computed-key": "error", + "no-useless-concat": "error", + "no-useless-constructor": "error", + "no-useless-rename": "error", + "no-useless-return": "error", + "no-var": "error", + "no-void": "error", + "no-warning-comments": "off", + "no-whitespace-before-property": "error", + "no-with": "error", + "nonblock-statement-body-position": "error", + "object-curly-newline": [ + "error", + { + "minProperties": 1 + } + ], + "object-curly-spacing": [ + "error", + "always" + ], + "object-property-newline": "error", + "object-shorthand": "error", + "one-var": [ + "error", + "never" + ], + "one-var-declaration-per-line": "error", + "operator-assignment": "error", + "operator-linebreak": "error", + "padded-blocks": [ + "error", + "never" + ], + "padding-line-between-statements": "off", + "prefer-arrow-callback": "error", + "prefer-const": "error", + "prefer-destructuring": "off", + "prefer-numeric-literals": "error", + "prefer-promise-reject-errors": "error", + "prefer-rest-params": "error", + "prefer-spread": "error", + "prefer-template": "error", + "quote-props": [ + "error", + "as-needed" + ], + "quotes": [ + "error", + "single" + ], + "radix": "error", + "require-await": "error", + "require-jsdoc": "off", + "rest-spread-spacing": "error", + "semi": [ + "error", + "never" + ], + "semi-spacing": "error", + "sort-imports": "error", + "sort-keys": "off", + "sort-vars": "error", + "space-before-blocks": "error", + "space-before-function-paren": [ + "error", + { + "anonymous": "always", + "named": "never" + } + ], + "space-in-parens": "error", + "space-infix-ops": "error", + "space-unary-ops": "error", + "spaced-comment": "error", + "strict": "error", + "symbol-description": "error", + "template-curly-spacing": "off", + "template-tag-spacing": "error", + "unicode-bom": "error", + "valid-jsdoc": "error", + "vars-on-top": "error", + "wrap-iife": "error", + "wrap-regex": "off", + "yield-star-spacing": "error", + "yoda": "error" + } +} \ No newline at end of file diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 000000000..dc0e12c70 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,5 @@ +# Enforce Unix newlines +* text=auto eol=lf + +# Don't diff or textually merge source maps +*.map binary diff --git a/.gitignore b/.gitignore index 9c393b1db..35859ec08 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,9 @@ .sass-cache/ -bower_components/ +.jekyll-cache/ +.vscode/ gh-pages/ node_modules/ +*.code-workspace +*.iml +*.jekyll-metadata +*.log diff --git a/.stylelintrc b/.stylelintrc new file mode 100644 index 000000000..97fc4c594 --- /dev/null +++ b/.stylelintrc @@ -0,0 +1,338 @@ +{ + "extends": [ + "stylelint-config-standard", + "stylelint-config-recommended-scss" + ], + "plugins": [ + "stylelint-order" + ], + "rules": { + "at-rule-empty-line-before": [ + "always", + { + "except": [ + "blockless-after-same-name-blockless", + "first-nested" + ], + "ignore": [ + "after-comment" + ], + "ignoreAtRules": [ + "else" + ] + } + ], + "at-rule-no-vendor-prefix": true, + "at-rule-semicolon-space-before": "never", + "block-closing-brace-newline-after": [ + "always", + { + "ignoreAtRules": [ + "else", + "if" + ] + } + ], + "color-hex-length": "long", + "color-named": "never", + "declaration-block-semicolon-newline-before": "never-multi-line", + "declaration-no-important": true, + "font-family-name-quotes": "always-where-recommended", + "font-weight-notation": [ + "numeric", + { + "ignore": [ + "relative" + ] + } + ], + "font-family-no-missing-generic-family-keyword": [ true, { + "ignoreFontFamilies": [ + "Material Icons" + ] + }], + "function-comma-newline-before": "never-multi-line", + "function-url-no-scheme-relative": true, + "function-url-quotes": "always", + "media-feature-name-no-unknown": [ + true, + { + "ignoreMediaFeatureNames": [ + "prefers-reduced-motion" + ] + } + ], + "media-feature-name-no-vendor-prefix": true, + "media-query-list-comma-newline-before": "never-multi-line", + "no-descending-specificity": null, + "no-duplicate-selectors": true, + "order/order": [ + { + "name": "extend", + "type": "at-rule" + }, + { + "hasBlock": false, + "name": "include", + "type": "at-rule" + }, + "declarations", + { + "hasBlock": true, + "type": "at-rule" + }, + { + "selector": "^&[^:]", + "type": "rule" + }, + { + "selector": "^&:", + "type": "rule" + }, + { + "selector": "^[*]", + "type": "rule" + }, + { + "selector": "^[a-z]", + "type": "rule" + }, + { + "selector": "^[.]", + "type": "rule" + }, + { + "type": "rule" + } + ], + "order/properties-order": [ + "align-content", + "align-items", + "align-self", + "animation", + "animation-delay", + "animation-direction", + "animation-duration", + "animation-fill-mode", + "animation-iteration-count", + "animation-name", + "animation-play-state", + "animation-timing-function", + "appearance", + "backface-visibility", + "background", + "background-attachment", + "background-clip", + "background-color", + "background-image", + "background-position", + "background-repeat", + "background-size", + "border", + "border-top", + "border-right", + "border-bottom", + "border-left", + "border-collapse", + "border-color", + "border-top-color", + "border-right-color", + "border-bottom-color", + "border-left-color", + "border-radius", + "border-top-left-radius", + "border-top-right-radius", + "border-bottom-right-radius", + "border-bottom-left-radius", + "border-spacing", + "border-style", + "border-top-style", + "border-right-style", + "border-bottom-style", + "border-left-style", + "border-width", + "border-top-width", + "border-right-width", + "border-bottom-width", + "border-left-width", + "box-shadow", + "box-sizing", + "caption-side", + "clear", + "clip", + "clip-path", + "color", + "columns", + "column-count", + "column-fill", + "column-gap", + "column-rule", + "column-rule-color", + "column-rule-style", + "column-rule-width", + "column-span", + "column-width", + "content", + "counter-increment", + "counter-reset", + "cursor", + "direction", + "display", + "empty-cells", + "fill", + "filter", + "flex", + "flex-basis", + "flex-direction", + "flex-flow", + "flex-grow", + "flex-shrink", + "flex-wrap", + "float", + "font", + "font-effect", + "font-emphasize", + "font-emphasize-position", + "font-emphasize-style", + "font-family", + "font-size", + "font-size-adjust", + "font-smoothing", + "font-stretch", + "font-style", + "font-variant", + "font-weight", + "height", + "hyphens", + "justify-content", + "letter-spacing", + "line-height", + "list-style", + "list-style-image", + "list-style-position", + "list-style-type", + "margin", + "margin-top", + "margin-right", + "margin-bottom", + "margin-left", + "margin-collapse", + "margin-top-collapse", + "margin-right-collapse", + "margin-bottom-collapse", + "margin-left-collapse", + "mask", + "mask-image", + "max-height", + "max-width", + "min-height", + "min-width", + "nav-index", + "nav-up", + "nav-right", + "nav-down", + "nav-left", + "opacity", + "order", + "orphans", + "outline", + "outline-color", + "outline-offset", + "outline-style", + "outline-width", + "overflow", + "overflow-x", + "overflow-y", + "padding", + "padding-top", + "padding-right", + "padding-bottom", + "padding-left", + "page-break-after", + "page-break-before", + "page-break-inside", + "perspective", + "perspective-origin", + "pointer-events", + "position", + "top", + "right", + "bottom", + "left", + "quotes", + "resize", + "size", + "speak", + "src", + "stroke", + "stroke-dasharray", + "stroke-dashoffset", + "stroke-linecap", + "stroke-width", + "tab-size", + "table-layout", + "text-align", + "text-align-last", + "text-decoration", + "text-emphasis", + "text-emphasis-color", + "text-emphasis-position", + "text-emphasis-style", + "text-indent", + "text-justify", + "text-overflow", + "text-overflow-ellipsis", + "text-overflow-mode", + "text-rendering", + "text-outline", + "text-shadow", + "text-transform", + "text-wrap", + "touch-action", + "transform", + "transform-origin", + "transform-style", + "transition", + "transition-delay", + "transition-duration", + "transition-property", + "transition-timing-function", + "unicode-bidi", + "user-select", + "vertical-align", + "visibility", + "white-space", + "width", + "windows", + "word-break", + "word-spacing", + "word-wrap", + "z-index", + "zoom" + ], + "property-no-vendor-prefix": true, + "scss/dollar-variable-default": [ + true, + { + "ignore": "local" + } + ], + "selector-attribute-quotes": "always", + "selector-list-comma-newline-before": "never-multi-line", + "selector-list-comma-space-after": "always-single-line", + "selector-max-attribute": 2, + "selector-max-class": 4, + "selector-max-combinators": 4, + "selector-max-compound-selectors": 4, + "selector-max-empty-lines": 1, + "selector-max-id": 0, + "selector-max-type": 2, + "selector-max-universal": 1, + "selector-no-qualifying-type": true, + "selector-no-vendor-prefix": true, + "string-quotes": "single", + "value-keyword-case": "lower", + "value-list-comma-newline-before": "never-multi-line", + "value-no-vendor-prefix": true + } +} \ No newline at end of file diff --git a/BingSiteAuth.xml b/BingSiteAuth.xml new file mode 100644 index 000000000..08f07bcfb --- /dev/null +++ b/BingSiteAuth.xml @@ -0,0 +1,4 @@ + + + 87E3CA63F8BC6C22823D666B1378E2D9 + \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 000000000..7e2eed39e --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,219 @@ +# Changelog of djibe Material UI for Bootstrap 4 + +*Active fork of Daemonite Material UI.* + +## Future releases + +- More plugins integration + documentation (Input mask, Calendar) + +### 4.6.2 - 2.0 + +- **New** Upgraded to Material 3 aka Material You. +- New variables: $chip-border-radius +- **Fixed** `btn` transitions +- **Fixed** `input:-webkit-autofill` style after 2022 update +- **Updated** Bootstrap-maxlength 1.10.1 +- **Removed** some useless `will-change` properties +- TODO: table width fit-content ? + +## 4.6.2 - 1.0 + +- **New** Upgraded to Bootstrap 4.6.2. + +## 4.6.1 - 1.0 + +- **New** Upgraded to Bootstrap 4.6.1. + +## 4.6.0 - RC2 + +- **New** `modal-xl` is the equivalent for the *Full-screen dialog* of Material Design components. +- **New** Documentation search is back thanks to Algolia Docsearch. +- **Fixed** `modal` documentation updated to reflect max sizes. +- **Fixed** `card` overflow behavior reverted to standard BS4. +- **Fixed** `Form-group`: Removed label color on form-group:focus-within. +- **Fixed** Most components with text overflow are now with an ellipsis ... +- **Fixed** `Table-cell` word break. +- **Fixed** Various bugs related to IE11 (`.card-img` aspect ratio, Material Icons, Select2 items alignment, chip close icon). +- **Fixed** Datatables.net search displays suitable number of results. +- **Fixed** Various minor changes. +- **Improved** Datatables.net responsive rendering. +- **Improved** JavaScript compilation. +- Updated build dependencies. + +## 4.6.0 - RC1 + +- **New** Upgraded to Bootstrap 4.6. +- **Updated** docs for BS 4.6. +- **Updated** JS dependencies from BS 4.6. +- **Fixed** Removed link:hover underline. +- **Fixed** `card-actions` ripple effect on buttons. +- **Fixed** `list-group` background-color. +- **Removed** Outdated JS fix for Chromium checkbox focus state. +- Updated build dependencies. + +Next release will focus on awesome Dark theme. + +## 4.5.3 - RC4 (unreleased) + +- **New** NPM package. +- **Fixed** `card-actions` padding-top coming after `card-body` and z-index. +- **Improved** *ionRangeSlider* documentation. + +## 4.5.3 - RC3 + +- **New** [Material Sliders documentation](https://djibe.github.io/material/docs/4.5/material/sliders). +- **Improved** Tabs inverse style + animation. +- **Improved** Material style for table caption, definition lists. +- **Improved** SVG style when used in replacement of Material Icons. +- **Improved** *Flatpickr* Date picker plugin initialization changed from JQuery to pure JavaScript. +- **Improved** `prefers-reduced-motion` media query for all components and dropped useless `_scrollspy.scss`. +- **Improved** Custom CSS scrollbar declaration for Firefox. +- **Fixed** Snackbars transitions + auto-sizing. +- **Fixed** Very long `floating-label`. +- **Fixed** `list-group-item-icon` flex-shrink. +- **Fixed** `data-table` top border. +- **Fixed** Documentation JS crashes due to *Jekyll compress* (// comments in JS failing). + +## 4.5.3 - RC2 + +- **New**. Sliders are designed as Material guidelines 2 +**ionRangeSlider** plugin styled accordingly. +- Removed Dark theme media-query until improvement (opt-in via `$enable-dark-theme-media-query` variable). +Dark theme can still be used by applying `data-theme="dark"` to `` opening tag (Material > Dark theme documentation). +- **Fixed** `List-group-item-icon` flex-shrink and color. +- **Fixed** `dropdown-toggle` alignment in Navbar. +- **Fixed** Select input styling. +- **Fixed** Select2 plugin. Placeholder color, container max-width, dropup animation. + +## 4.5.3 - RC1 + +- **NEW** Upgrade to Bootstrap 4.5.3. +- **NEW** Dark theme in early version (refer to Material section in documentation). +- **NEW** Material themes for **flatpickr** (which will probably become main Picker) and **Datatables.net**. +- Improved Dialogs/modals on small devices. +- Improved documentation dependencies initialization. +- **Fixed** Form label color and caret color. +- **Fixed** Character counter spacing and visibility (plugin). +- Updated build dependencies. + +## 4.5.2 - RC1 + +- **NEW** Upgrade to Bootstrap 4.5.2 +- **NEW** Ripple effect for other components (Card-primary-action, Lists, Menus) based on Ripplet library +- Improved Ripplet JS declaration + upgrade to v0.3x +- **NEW** Material themes for **Autosize**, **ionRangeSlider**, **Select2**, **Maxlength**. +Import `material-plugins.css`. +- **NEW** Plugin themes integrated in build +- **NEW** Plugins documentation +- **Fixed** Helper text position, `card-body` top padding, Alerts style +- **Fixed** Switch disabled + hover state +- Fixed. Glitches in docs +- Update build dependencies (+ revert stylelint to 0.16.x) + +## 4.5.0 - RC1 + +- **New** Upgrade to Bootstrap 4.5.0 +Moved 4.4.1 to a new branch for those who need it +- **New** Ripple effect for buttons based on [Luncheon awesome Ripplet.js](https://github.com/luncheon/ripplet.js) +- **Fixed** Switch component is back ! +- Updated webkit-custom icons as Google Chrome is updated with new icons +- Rework button's CSS +- Updated Roboto font URL +- Improving documentation to reflect BS 4.5.0 changes + +## 4.4.1 - RC1 + +- **New** Label color on form focus (for form-group and form-ripple containers. See Material > Text fields) +- Improve btn-icon-prepend and list-group-item-icon svg color and sizing +- Improve doc for line ripple with text-helper + +## 4.4.1 - beta 4 + +- Cleanup Buttons CSS (background-color, background-image) +- Improve icons in buttons (Material-icons or Fontawesome or SVG) +- Updated documentation +- Updated dependencies + +## 4.4.1 - beta 3 (unreleased) + +- **New** One-line and two-line lists (see Material > Lists documentation) +- **New** Line ripple for forms/inputs (see Material > Text fields documentation) +- Desactivate _waves.scss for button ripples integration +- Improved documentation + +## 4.4.1 - beta 2 + +- **New** `card-primary-action` class (see Material > Cards documentation) +- Enhenced badges (see Material > Badges documentation) +- `pre` elements now have `user-select: all` to copy-paste code with 1 click +- Enhenced card-links positionning +- Fix button.dropdown-item styling +- Fix btn-float and btn-flat background +- Fix Elevation-shadow crash during build +- Fix toast's z-index leading to inactive Action button +- Cleanup typography classes +- Revert doc TOC from sticky to static for long TOC management +- Revert jQuery to 3.4.1 for Collapse component compatibility +- All dependencies are up to date + +## 4.4.1 - beta 1 (unreleased) + +- **New** Bootstrap 4.4.1 responsive containers support (`container-md`, ...) +- **New** Full toast/snackbar support +- Global Material documentation overhaul +- **New** Smooth scroll in pure CSS +- **New** .fab-actions container to wrap FAB bottom right of screen + +- Improved Bootstrap collapse component +- Many bug fixes (stretched-links, chips, breadcrumbs, pagination, data-tables) +- All build dependencies are up to date + +BUG. Elevation-shadow can still crash during build +[todo](https://github.com/twbs/bootstrap/commit/605704d7f5483d62d7c9d7ad14836e3b35a10861) + +## 4.4.1 - alpha 2 + +- Full Bootstrap 4.4.1 support +- Added components according to Density guidelines +- Expansion panels according to MD v2 +- Dialog buttons are always flat +- Btn-link styled as btn-flat-primary +- Added btn-xs and btn-icon-prepend + +- Improved buttons +- Improved Steppers +- Improved documentation (faster, up to date) +- Improved Dialog transitions +- UPDATED dependencies +- FIXED Links used as buttons aspect on hover + +## 4.4.1 - alpha 1 + +- NPM build fixed by @tiberiumihai +- BS 4.4.1 grid support +- Enhance date picker + +FIXED Datepicker autoclosing +FIXED Helper text left padding for textfield-box inputs +FIXED Indeterminate custom checkbox color (when checkbox is not disabled) + +## RC-4 + +FIXED Links used as elements (dropdown-items, ...) aspect on hover +FIXED Picker input if disabled or readonly + +## RC-3 + +- chips look like Material Design v2 +- chip outline style +- chip choice +- chip filter +FIXED Buttons on links hover effect + +## RC-2 + +### Bug fixes + +- Modal margins enhanced +- Primary color tweaked +- Tables overflowing of container diff --git a/Gemfile b/Gemfile index da8b3aa14..f0c16ebda 100644 --- a/Gemfile +++ b/Gemfile @@ -1,8 +1,14 @@ source 'https://rubygems.org' group :development, :test do - gem 'jekyll', '~> 3.8.0' - gem 'jekyll-redirect-from', '~> 0.13.0' - gem 'jekyll-sitemap', '~> 1.2.0' - gem 'jekyll-toc', '~> 0.5.1' + gem 'jekyll', '~> 4' + gem 'jekyll-target-blank', '~> 2.0.0' + gem 'jekyll-redirect-from' + gem 'jekyll-sitemap', '~> 1.4.0' + gem 'jekyll-seo-tag' + gem 'jekyll-toc' + gem 'rouge' + gem 'wdm', '~> 0.1.1' if Gem.win_platform? end + +gem "webrick", "~> 1.7" diff --git a/Gemfile.lock b/Gemfile.lock index c2fac1783..cc5d7b28c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,75 +1,103 @@ GEM remote: https://rubygems.org/ specs: - addressable (2.5.2) - public_suffix (>= 2.0.2, < 4.0) + addressable (2.8.1) + public_suffix (>= 2.0.2, < 6.0) colorator (1.1.0) - concurrent-ruby (1.0.5) - em-websocket (0.5.1) + concurrent-ruby (1.2.2) + em-websocket (0.5.3) eventmachine (>= 0.12.9) - http_parser.rb (~> 0.6.0) - eventmachine (1.2.5) - ffi (1.9.23) + http_parser.rb (~> 0) + eventmachine (1.2.7) + eventmachine (1.2.7-x64-mingw32) + ffi (1.15.5) + ffi (1.15.5-x64-mingw32) forwardable-extended (2.6.0) - http_parser.rb (0.6.0) - i18n (0.9.5) + google-protobuf (3.22.0) + http_parser.rb (0.8.0) + i18n (1.12.0) concurrent-ruby (~> 1.0) - jekyll (3.8.0) + jekyll (4.3.2) addressable (~> 2.4) colorator (~> 1.0) em-websocket (~> 0.5) - i18n (~> 0.7) - jekyll-sass-converter (~> 1.0) + i18n (~> 1.0) + jekyll-sass-converter (>= 2.0, < 4.0) jekyll-watch (~> 2.0) - kramdown (~> 1.14) + kramdown (~> 2.3, >= 2.3.1) + kramdown-parser-gfm (~> 1.0) liquid (~> 4.0) - mercenary (~> 0.3.3) + mercenary (>= 0.3.6, < 0.5) pathutil (~> 0.9) - rouge (>= 1.7, < 4) + rouge (>= 3.0, < 5.0) safe_yaml (~> 1.0) - jekyll-redirect-from (0.13.0) - jekyll (~> 3.3) - jekyll-sass-converter (1.5.2) - sass (~> 3.4) - jekyll-sitemap (1.2.0) - jekyll (~> 3.3) - jekyll-toc (0.5.2) - nokogiri (~> 1.6) - jekyll-watch (2.0.0) + terminal-table (>= 1.8, < 4.0) + webrick (~> 1.7) + jekyll-redirect-from (0.16.0) + jekyll (>= 3.3, < 5.0) + jekyll-sass-converter (3.0.0) + sass-embedded (~> 1.54) + jekyll-seo-tag (2.8.0) + jekyll (>= 3.8, < 5.0) + jekyll-sitemap (1.4.0) + jekyll (>= 3.7, < 5.0) + jekyll-target-blank (2.0.0) + jekyll (>= 3.0, < 5.0) + nokogiri (~> 1.10) + jekyll-toc (0.18.0) + jekyll (>= 3.9) + nokogiri (~> 1.12) + jekyll-watch (2.2.1) listen (~> 3.0) - kramdown (1.16.2) - liquid (4.0.0) - listen (3.1.5) - rb-fsevent (~> 0.9, >= 0.9.4) - rb-inotify (~> 0.9, >= 0.9.7) - ruby_dep (~> 1.2) - mercenary (0.3.6) - mini_portile2 (2.3.0) - nokogiri (1.8.2) - mini_portile2 (~> 2.3.0) - pathutil (0.16.1) + kramdown (2.4.0) + rexml + kramdown-parser-gfm (1.1.0) + kramdown (~> 2.0) + liquid (4.0.4) + listen (3.8.0) + rb-fsevent (~> 0.10, >= 0.10.3) + rb-inotify (~> 0.9, >= 0.9.10) + mercenary (0.4.0) + mini_portile2 (2.8.1) + nokogiri (1.14.2) + mini_portile2 (~> 2.8.0) + racc (~> 1.4) + pathutil (0.16.2) forwardable-extended (~> 2.6) - public_suffix (3.0.2) - rb-fsevent (0.10.3) - rb-inotify (0.9.10) - ffi (>= 0.5.0, < 2) - rouge (3.1.1) - ruby_dep (1.5.0) - safe_yaml (1.0.4) - sass (3.5.6) - sass-listen (~> 4.0.0) - sass-listen (4.0.0) - rb-fsevent (~> 0.9, >= 0.9.4) - rb-inotify (~> 0.9, >= 0.9.7) + public_suffix (5.0.1) + racc (1.6.2) + rake (13.0.6) + rb-fsevent (0.11.2) + rb-inotify (0.10.1) + ffi (~> 1.0) + rexml (3.2.5) + rouge (4.1.0) + safe_yaml (1.0.5) + sass-embedded (1.58.3) + google-protobuf (~> 3.21) + rake (>= 10.0.0) + sass-embedded (1.58.3-x64-mingw32) + google-protobuf (~> 3.21) + terminal-table (3.0.2) + unicode-display_width (>= 1.1.1, < 3) + unicode-display_width (2.4.2) + wdm (0.1.1) + webrick (1.8.1) PLATFORMS ruby + x64-mingw32 DEPENDENCIES - jekyll (~> 3.8.0) - jekyll-redirect-from (~> 0.13.0) - jekyll-sitemap (~> 1.2.0) - jekyll-toc (~> 0.5.1) + jekyll (~> 4) + jekyll-redirect-from + jekyll-seo-tag + jekyll-sitemap (~> 1.4.0) + jekyll-target-blank (~> 2.0.0) + jekyll-toc + rouge + wdm (~> 0.1.1) + webrick (~> 1.7) BUNDLED WITH - 1.16.1 + 2.3.3 diff --git a/README.md b/README.md index 8a60c4e49..545796cd9 100644 --- a/README.md +++ b/README.md @@ -1,37 +1,49 @@ -# Material +# Material 2 -Daemonite's Material UI is a cross-platform and fully responsive front-end interface based on Google Material Design developed using Bootstrap 4. +> **DISCLAIMER**: This framework was created by [Daemonite team](http://daemonite.github.io/material/). Since they are not active for **now**, we will enhance this framework until they come back to maintain the project. -The basic idea behind this project is to combine the front-end technology of the popular Bootstrap framework with the visual language of Google Material Design. +Djibe's Material UI 2 is a cross-platform and fully responsive front-end css framework based on [Google Material Design Guidelines](https://material.io/design/). + +The basic idea behind this project is to combine the front-end technology of the popular Bootstrap framework with the visual language of Google Material Design 2. > A visual language for our users that synthesizes the classic principles of good design with the innovation and possibility of technology and science. This is material design. -> http://www.google.com/design/spec/material-design/introduction.html +> -Feel free to check out our [documentation site](http://daemonite.github.io/material/) or let us know what you think at the [Daemon Labs](http://labs.daemon.com.au) forum. +Feel free to check out our [documentation site](https://djibe.github.io/material/) or let us know what you think in the Issues tab of this repository. The primary goal of this project is to give all Bootstrap components and elements a Google Material Design look, so it allows web developers to continue using the exact same Bootstrap HTML markup they are familiar with, but presents them a final outcome that is in line with the principles and specifics of Google Material Design. A secondary goal of this project is to add support for some unique Google Material Design components such as floating buttons, pickers, and steppers, to name a few, which cannot be achieved by transforming existing Bootstrap components. -Because these components will require additional markup (some may require additional JavaScript), they will be documented separately in Material's documentation. +Because these components will require additional markup (some may require additional JavaScript), they will be documented separately in Material's documentation. :pray: + +This project exists thanks to all the people who takes time to contribute. + + ## Table of contents - [Content](#content) -- [Documentation](#documentation) -- [Quick start](#quick-start) ++ [Running Documentation Locally](#running-documentation-locally) + + [End-Of-Line Issue Fix](#end-of-line-fix) + - [Command Notes](#command-notes) + * [Quick start](#quick-start) ## Content -Within the download you will find the following directories and files, logically grouping common assets and providing both compiled and minified variations. You'll see something like this: +Within this repository context, you will find the following directories and files, logically grouping common assets and providing both compiled and minified variations. You'll see something like this: ``` -daemonite-material/ +djibe-material/ ├── css/ │ ├── material.css │ ├── material.css.map │ ├── material.min.css -│ └── material.min.css.map +│ ├── material.min.css.map +| ├── material-plugins.css +│ ├── material-plugins.css.map +│ ├── material-plugins.min.css +│ └── material-plugins.min.css.map └── js/ ├── material.js ├── material.js.map @@ -39,12 +51,14 @@ daemonite-material/ └── material.min.js.map ``` -We provide compiled CSS and JavaScript (`material.*`), as well as compiled and minified CSS and JavaScript (`material.min.*`). CSS and JavaScript source maps (`material.*.map`) are available for use with certain browsers' developer tools. +We provide compiled CSS and JavaScript (`material.*`), as well as compiled and minified CSS and JavaScript (`material.min.*`). CSS and JavaScript source maps (`material.*.map`) are also available for use with certain browsers' developer tools. -The Material source code download includes the precompiled CSS and JavaScript, along with documentation and source assets. More specifically, it includes the following and more: +`material-plugins.css` is an addon containing suitable style for the Plugins (see doc's Plugin section). + +The Material 2 source code download includes the precompiled CSS and JavaScript, along with documentation and source assets. More specifically, it includes the following and more: ``` -daemonite-material/ +djibe-material/ ├── assets/ │ ├── js/ │ └── scss/ @@ -52,9 +66,13 @@ daemonite-material/ │ ├── material.css │ ├── material.css.map │ ├── material.min.css -│ └── material.min.css.map +│ ├── material.min.css.map +│ ├── material-plugins.css +│ ├── material-plugins.css.map +│ ├── material-plugins.min.css +│ └── material-plugins.min.css.map ├── docs/ -│ └── 4.1/ +│ └── 4.6/ └── js/ ├── material.js ├── material.js.map @@ -64,21 +82,36 @@ daemonite-material/ ## Documentation -Material's documentation, included in this repo in the root directory, is built with [Jekyll](https://jekyllrb.com/) and publicly hosted on GitHub Pages at . The docs may also be run locally. +Material's 2 documentation that is included in this repo located in the root directory, is built with [Jekyll](https://jekyllrb.com/) and publicly hosted on GitHub Pages at . The docs can also be hosted locally. -### Running documentation locally +### Running Documentation Locally -1. Run through the [tooling setup](http://daemonite.github.io/material/docs/4.1/getting-started/tooling/#getting-started) to install Jekyll and other Ruby dependencies with `bundle install`. +1. Run through the [tooling setup](https://djibe.github.io/material/docs/4.6/getting-started/tooling/#getting-started) to install Jekyll and other Ruby dependencies with `bundle install`. 2. Run `npm install` to install Node.js dependencies. 3. Run `npm run dist` and `npm run docs` to rebuild distributed CSS and JavaScript files, as well as docs assets. -4. From the root `/daemonite-material` directory, run `npm run docs-serve` in the command line. -5. Open `http://localhost:9999/material` in your browser, and voilà. +4. If you had end-of-line errors when running the commands indicated in step #3 then, please follow [this step](#end-of-line-fix) before proceeding, or else proceed to step #5. +5. From the root `/material` directory, run `npm run docs-serve` in the command line. +6. Open `http://localhost:9999/material` in your browser, and voilà. + +### End-Of-Line Fix + +This repository uses LF end-of-line mode. When your GitHub is currently set at CRLF end-of-line mode automatically, there will be an error. Which shows the following: +` +Error : Expected linebreaks to be 'LF' but found CRLF +` + +This caused by working the repo in multiple OS in which, each OS has different types of string interpretation; and Node.JS doesn't like it. + +In order to fix this problem, you have to save all modified files that is not yet committed in the state of the repo and please follow the steps below: + +1. `git config core.autocrlf false` +2. `git rm --cached -r .` +3. `git reset --hard` ## Quick start Several quick start options are available: -- Clone the repo: `git clone https://github.com/Daemonite/material.git` -- Download the [latest release](https://github.com/Daemonite/material/releases) -- Install with [bower](https://bower.io/): `bower install daemonite-material` -- Install with [npm](https://www.npmjs.com/): `npm install daemonite-material` +- Clone the repo: `git clone https://github.com/djibe/material.git` +- Download the [latest release](https://github.com/djibe/material/releases) +- Install with [npm](https://www.npmjs.com/): `npm install djibe-material` diff --git a/TODO.md b/TODO.md new file mode 100644 index 000000000..9693d7ea2 --- /dev/null +++ b/TODO.md @@ -0,0 +1,48 @@ +# TODO + +- RFS: https://github.com/twbs/bootstrap/pull/34571/files +- Carousel buttons + +## For 4.6.0-rc.2 + +- Errors Search console + - https://djibe.github.io/material/docs/4.5/plugins/picker-flatpickr/ +- modal on xs btn borders +- Git to site: https://gist.github.com/cobyism/4730490 +- https://www.bram.us/2021/01/28/form-validation-you-want-notfocusinvalid-not-invalid/ + +## Next version + +- Test Checkbox animation +- Background no-repeat +- Chip-action https://stackoverflow.com/questions/6391448/how-to-apply-an-array-of-classes-to-classlist-contains https://github.com/luncheon/ripplet.js/ +- Btn-light = btn-dark +- Integrate material-icons as SVG +- Icon generator script +- Rework transitions +- Media +- .toast.close & .close icon +- Ripple .nav-tabs .nav-link +- Btn::after accessibility 48px +- https://material.io/design/layout/responsive-layout-grid.html +- Simple doc navdrawer markup +- Improve navbar: https://material-ui.com/customization/default-theme/ +- Input height +- Responsive-fonts +https://dev.to/ruben_suet/tip-make-your-font-responsive-without-media-queries-part-ii-16ib +https://material.io/design/typography/the-type-system.html#type-scale +- Enhenced Carousel +- Navdrawer + - https://github.com/Daemonite/material/issues/209 + - https://github.com/Daemonite/material/issues/207 +- List-group-item-icon fill, color +- Readonly input style +- Outlined textfield +- checkbox align +- dropdown max height +- btn-group btn:active +- modal btn-primary ripple +- list-group-horizontal-infix border +- https://dev.to/marveluck/the-first-ui-kit-for-bootstrap-5-using-material-design-2-0-270o +- https://alternativeto.net/Manage/AddAlternative.aspx?addToItemId=e3a23cf6-b8eb-4d7e-8936-e75a8aec6bb0&context=item +- https://www.youtube.com/watch?v=hbJmm-d94FA&feature=youtu.be diff --git a/_config.yml b/_config.yml index 45e99388a..fb0bda82e 100644 --- a/_config.yml +++ b/_config.yml @@ -8,6 +8,9 @@ markdown: kramdown compress_html: blanklines: true clippings: all + comments: [""] + ignore: + # envs: [development] # permalinks permalink: pretty @@ -15,66 +18,76 @@ permalink: pretty # plugins plugins: - jekyll-redirect-from + - jekyll-seo-tag - jekyll-sitemap - jekyll-toc + - jekyll-target-blank # server baseurl: "/material" # workaround for our GitHub Pages hosting destination: "gh-pages/material" # workaround for our GitHub Pages hosting encoding: "UTF-8" -exclude: - - .babelrc.js - - .eslintignore - - .git - - .gitignore - - .sass-cache/ +exclude: + - .git/ - assets/ - - bower.json - build/ - docs-assets/ - - Gemfile - - Gemfile.lock - gh-pages/ - - lint-vars.sh - node_modules/ + - .browserslistrc + - .editorconfig + - .eslintignore + - .eslintrc.json + - .gitignore + - .stylelintrc + - CHANGELOG.md + - Gemfile + - Gemfile.lock - package.json - package-lock.json - README.md -host: 0.0.0.0 + - TODO.md +host: 127.0.0.1 port: 9999 source: "." -url: "http://daemonite.github.io" +url: "https://djibe.github.io" # social -authors: "Daemonite" -description: "Daemonite's Material UI is a cross-platform and fully responsive front-end interface based on Google Material Design developed using Bootstrap 4." -title: "Material" +authors: "djibe, Daemonite, Sesemaya, Bootstrap authors and contributors" +author: "djibe" +description: "Daemonite's Material UI 2 is a fully responsive front-end interface based on Google Material Design developed using Bootstrap 4." +tagline: "Material Design kit for Bootstrap 4" +title: "Material UI 2" +logo: "https://djibe.github.io/material/apple-touch-icon.png" +locale: "en_US" # toc toc: max_level: 4 min_level: 2 + no_toc_section_class: + - "bd-callout" + - "bd-example" # vars cdn: - bs_css: "https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css" - bs_css_docs: "https://getbootstrap.com/docs/4.1/assets/css/docs.min.css" - bs_css_hash: "sha384-WskhaSGFgHYWDcbwN70/dfYBj47jz9qbsMId/iRN3ewGhXQFZCSftd1LZCfmhktB" - bs_js: "https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/js/bootstrap.min.js" - bs_js_hash: "sha384-smHYKdLADwkXOn1EmN1qk/HfnUcbVRZyYmZ4qpPea6sjB/pTJ0euyQp0Mk8ck+5T" - jquery: "https://code.jquery.com/jquery-3.3.1.slim.min.js" - jquery_hash: "sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" - md_font: "https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,500,500i,700,700i|Roboto+Mono:300,400,700|Roboto+Slab:300,400,700" - md_icon: "https://fonts.googleapis.com/icon?family=Material+Icons" - popper: "https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" - popper_hash: "sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" -current_version: "4.1.1" -docs_version: "4.1" + bs_css: "https://cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/css/bootstrap.min.css" + bs_css_docs: "https://getbootstrap.com/docs/4.6/assets/css/docs.css" + bs_css_hash: "sha256-+IZRbz1B6ee9mUx/ejmonK+ulIP5A5bLDd6v6NHqXnI=" + bs_js: "https://cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/js/bootstrap.bundle.min.js" + bs_js_hash: "sha256-GRJrh0oydT1CwS36bBeJK/2TggpaUQC6GzTaTQdZm0k=" + jquery: "https://cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.slim.min.js" + jquery_hash: "sha256-4+XzXVhsDmqanXGHaHvgh1gMQKX40OUvDEBTu8JcmNs=" + md_font: "https://fonts.googleapis.com/css2?family=Roboto+Mono:wght@300;400;700&family=Roboto+Slab:wght@300;400;700&family=Roboto:ital,wght@0,300;0,400;0,500;0,700;1,300;1,400;1,500;1,700&display=swap" + md_icon: "https://fonts.googleapis.com/css2?family=Material+Icons+Outlined" +current_version: "4.6.2" +material_version: "1.0" +docs_version: "4.6" download: - source: "https://github.com/Daemonite/material/archive/v4.1.1.zip" - dist: "https://github.com/Daemonite/material/releases/download/v4.1.1/material-4.1.1-dist.zip" + source: "https://github.com/djibe/material/archive/4.6.2-1.0.zip" + dist: "https://github.com/djibe/material/releases/download/4.6.2-1.0/dist.zip" id: main: "doc-main-h1" navbar: "doc-navbar" navdrawer: "doc-navdrawer" -repo: "https://github.com/Daemonite/material" +repo: "https://github.com/djibe/material" diff --git a/_data/nav.yml b/_data/nav.yml index 0cacf1d6a..27756aa85 100644 --- a/_data/nav.yml +++ b/_data/nav.yml @@ -1,9 +1,29 @@ - title: Getting started pages: - title: Introduction + - title: Download + - title: Contents - title: Migration + - title: Browsers & devices - title: Theming - title: Tooling + - title: Webpack + - title: Accessibility + +- title: Layout + pages: + - title: Overview + - title: Grid + - title: Utilities for layout + +- title: Content + pages: + - title: Reboot + - title: Typography + - title: Code + - title: Images + - title: Tables + - title: Figures - title: Components pages: @@ -20,6 +40,7 @@ - title: Input group - title: Jumbotron - title: List group + - title: Media object - title: Modal - title: Navs - title: Navbar @@ -27,22 +48,10 @@ - title: Popovers - title: Progress - title: Scrollspy + - title: Spinners + - title: Toasts - title: Tooltips -- title: Content - pages: - - title: Code - - title: Figures - - title: Images - - title: Tables - - title: Typography - -- title: Layout - pages: - - title: Grid - - title: Media object - - title: Utilities for layout - - title: Utilities pages: - title: Borders @@ -54,35 +63,53 @@ - title: Flex - title: Float - title: Image replacement + - title: Interactions + - title: Overflow - title: Position - - title: Screenreaders + - title: Screen readers - title: Shadows - title: Sizing - title: Spacing + - title: Stretched link - title: Text - title: Vertical align - title: Visibility +- title: Extend (WIP) + - title: Material pages: + - title: App bars top - title: Buttons + - title: Buttons floating action + - title: Badges - title: Cards - title: Chips - - title: Colours + - title: Colors + - title: Dark theme - title: Data tables - title: Dialogs - title: Elevation and shadows - title: Expansion panels - title: Icons + - title: Lists - title: Menu - title: Navigation drawer - title: Pickers - title: Progress - - title: Selection controls + - title: Sliders - title: Snackbars - title: Steppers - title: Tabs - title: Text fields - - title: Toolbars - title: Tooltips - title: Typography + +- title: Plugins + pages: + - title: Character counter + - title: DataTables + - title: Picker flatpickr + - title: Sliders ionRangeSlider + - title: Select Select2 + - title: Textarea autosize \ No newline at end of file diff --git a/_data/theme-colors.yml b/_data/theme-colors.yml index afb130b38..316696952 100644 --- a/_data/theme-colors.yml +++ b/_data/theme-colors.yml @@ -1,62 +1,62 @@ - name: primary - hex: "#9c27b0" + hex: "#6200ee" text: "#ffffff" levels: - name: dark - hex: "#7b1fa2" + hex: "#3700b3" text: "#ffffff" - name: light - hex: "#e1bee7" + hex: "#bb86fc" text: "#212121" - name: secondary - hex: "#ff4081" + hex: "#03dac6" text: "#ffffff" levels: - name: dark - hex: "#f50057" + hex: "#018786" text: "#ffffff" - name: light - hex: "#ff80ab" + hex: "#66fff8" text: "#212121" - name: danger - hex: "#f44336" + hex: "#b00020" text: "#ffffff" levels: - name: dark hex: "#d32f2f" text: "#ffffff" - name: light - hex: "#ffcdd2" + hex: "#c51162" text: "#212121" - name: info - hex: "#2196f3" + hex: "#714cfe" text: "#212121" levels: - name: dark - hex: "#1976d2" + hex: "#021aee" text: "#ffffff" - name: light - hex: "#bbdefb" + hex: "#d2c2fd" text: "#212121" - name: success - hex: "#4caf50" + hex: "#61d800" text: "#212121" levels: - name: dark - hex: "#388e3c" + hex: "#41c300" text: "#ffffff" - name: light - hex: "#c8e6c9" + hex: "#c6f68d" text: "#212121" - name: warning - hex: "#ff9800" + hex: "#ff8d00" text: "#212121" levels: - name: dark - hex: "#f57c00" + hex: "#ee6002" text: "#212121" - name: light - hex: "#ffe0b2" + hex: "#ffc77d" text: "#212121" - name: dark hex: "#424242" diff --git a/_includes/callout-info-prefersreducedmotion.md b/_includes/callout-info-prefersreducedmotion.md new file mode 100644 index 000000000..9c3090376 --- /dev/null +++ b/_includes/callout-info-prefersreducedmotion.md @@ -0,0 +1,4 @@ +{% capture callout %} +The animation effect of this component is dependent on the `prefers-reduced-motion` media query. See the [reduced motion section of our accessibility documentation]({{ site.baseurl }}/docs/{{ site.docs_version }}/getting-started/accessibility/#reduced-motion). +{% endcapture %} +{% include callout.html content=callout type="info" %} diff --git a/_includes/callout.html b/_includes/callout.html index ff9450dc4..b9ff199b3 100644 --- a/_includes/callout.html +++ b/_includes/callout.html @@ -4,6 +4,6 @@ and type is one of: info (default), danger, warning {%- endcomment -%} {%- assign css_class = include.type | default: "info" -%} -
+
{{- include.content | markdownify -}}
diff --git a/_includes/footer.html b/_includes/footer.html index b996753f0..2ea487295 100644 --- a/_includes/footer.html +++ b/_includes/footer.html @@ -1,12 +1,278 @@ - - - + + - + - - + + + + +{% if page.plugin %} + {% if page.maxlength %} + + + {% endif %} + {% if page.autosize %} + + + {% endif %} + {% if page.datatables %} + + + + + {% endif %} + {% if page.flatpickr %} + + + {% endif %} + {% if page.ionrangeslider %} + + + {% endif %} + {% if page.select2 %} + + + {% endif %} +{% endif %} + diff --git a/_includes/header.html b/_includes/header.html index 505ea8f54..0166c843c 100644 --- a/_includes/header.html +++ b/_includes/header.html @@ -1,22 +1,46 @@ - - -{% if page.title %}{{ page.title }} · {% endif %}{{ site.title }} + + + + + + + + + + - - + + + + + - - + + +{% if page.fontawesome4 %} + +{% endif %} +{% if page.fontawesome5 %} + +{% endif %} +{% if page.plugin %} + {% if page.datatables %} + + {% endif %} + +{% endif %} - + + +{% seo %} diff --git a/_includes/icons/placeholder.svg b/_includes/icons/placeholder.svg new file mode 100644 index 000000000..0242f5038 --- /dev/null +++ b/_includes/icons/placeholder.svg @@ -0,0 +1,35 @@ +{%- comment -%} + Usage: include icons/placeholder.svg args + + args can be one of the following: + title: Used in the SVG `title` tag + text: The text to show in the image - default: 'width x height' + class: default: 'bd-placeholder-img' + color: The text color (foreground) - default: '#dee2e6' + background: The background color - default: '#868e96' + width: default: 100% + height: default: 180px +{%- endcomment -%} + +{%- assign title = include.title | default: 'Placeholder' -%} +{%- assign class = include.class | default: '' -%} +{%- assign color = include.color | default: '#ececec' -%} +{%- assign background = include.background | default: '#9e9e9e' -%} +{%- assign width = include.width | default: '100%' -%} +{%- assign height = include.height | default: '180' -%} + +{%- if include.text -%} + {%- assign text = include.text -%} +{%- else -%} + {%- assign text = width | append: 'x' | append: height -%} +{%- endif -%} + +{%- capture svg -%} + + {% if title != ' ' %}{{ title }}{% endif %} + + {% if text != ' ' %}{{ text }}{% endif %} + +{%- endcapture -%} + +{{- svg | replace: ' ', '' | strip_newlines -}} diff --git a/_includes/nav-navdrawer.html b/_includes/nav-navdrawer.html index c02fdb75f..e2b5e541b 100644 --- a/_includes/nav-navdrawer.html +++ b/_includes/nav-navdrawer.html @@ -6,19 +6,15 @@ {% endif %}