tabulator-tables 5.4.3 → 5.4.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.babelrc.json +3 -3
- package/.editorconfig +6 -6
- package/.eslintignore +3 -3
- package/.eslintrc.js +28 -28
- package/.github/ISSUE_TEMPLATE/bug_report.md +58 -58
- package/.github/ISSUE_TEMPLATE/documentation.md +14 -14
- package/.github/ISSUE_TEMPLATE/feature_request.md +24 -24
- package/.github/ISSUE_TEMPLATE/question.md +12 -12
- package/.github/workflows/bad-files-check.yml +39 -39
- package/.github/workflows/lint-and-test.yml +30 -30
- package/CODE_OF_CONDUCT.md +46 -46
- package/CONTRIBUTING.md +22 -22
- package/LICENSE +20 -20
- package/README.md +76 -76
- package/bower.json +40 -40
- package/build/Bundler.js +185 -185
- package/build/rollup.js +6 -6
- package/dist/css/tabulator.css +0 -5
- package/dist/css/tabulator.css.map +1 -1
- package/dist/css/tabulator.min.css +1 -1
- package/dist/css/tabulator.min.css.map +1 -1
- package/dist/css/tabulator_bootstrap3.css +0 -5
- package/dist/css/tabulator_bootstrap3.css.map +1 -1
- package/dist/css/tabulator_bootstrap3.min.css +1 -1
- package/dist/css/tabulator_bootstrap3.min.css.map +1 -1
- package/dist/css/tabulator_bootstrap4.css +0 -5
- package/dist/css/tabulator_bootstrap4.css.map +1 -1
- package/dist/css/tabulator_bootstrap4.min.css +1 -1
- package/dist/css/tabulator_bootstrap4.min.css.map +1 -1
- package/dist/css/tabulator_bootstrap5.css +0 -5
- package/dist/css/tabulator_bootstrap5.css.map +1 -1
- package/dist/css/tabulator_bootstrap5.min.css +1 -1
- package/dist/css/tabulator_bootstrap5.min.css.map +1 -1
- package/dist/css/tabulator_bulma.css +0 -5
- package/dist/css/tabulator_bulma.css.map +1 -1
- package/dist/css/tabulator_bulma.min.css +1 -1
- package/dist/css/tabulator_bulma.min.css.map +1 -1
- package/dist/css/tabulator_materialize.css +0 -5
- package/dist/css/tabulator_materialize.css.map +1 -1
- package/dist/css/tabulator_materialize.min.css +1 -1
- package/dist/css/tabulator_materialize.min.css.map +1 -1
- package/dist/css/tabulator_midnight.css +0 -5
- package/dist/css/tabulator_midnight.css.map +1 -1
- package/dist/css/tabulator_midnight.min.css +1 -1
- package/dist/css/tabulator_midnight.min.css.map +1 -1
- package/dist/css/tabulator_modern.css +0 -5
- package/dist/css/tabulator_modern.css.map +1 -1
- package/dist/css/tabulator_modern.min.css +1 -1
- package/dist/css/tabulator_modern.min.css.map +1 -1
- package/dist/css/tabulator_semanticui.css +102 -107
- package/dist/css/tabulator_semanticui.css.map +1 -1
- package/dist/css/tabulator_semanticui.min.css +1 -1
- package/dist/css/tabulator_semanticui.min.css.map +1 -1
- package/dist/css/tabulator_simple.css +0 -5
- package/dist/css/tabulator_simple.css.map +1 -1
- package/dist/css/tabulator_simple.min.css +1 -1
- package/dist/css/tabulator_simple.min.css.map +1 -1
- package/dist/css/tabulator_site.css +0 -5
- package/dist/css/tabulator_site.css.map +1 -1
- package/dist/css/tabulator_site.min.css +1 -1
- package/dist/css/tabulator_site.min.css.map +1 -1
- package/dist/js/jquery_wrapper.js +55 -55
- package/dist/js/tabulator.js +25847 -25711
- package/dist/js/tabulator.js.map +1 -1
- package/dist/js/tabulator.min.js +2 -2
- package/dist/js/tabulator.min.js.map +1 -1
- package/dist/js/tabulator_esm.js +25926 -25790
- package/dist/js/tabulator_esm.js.map +1 -1
- package/dist/js/tabulator_esm.min.js +2 -2
- package/dist/js/tabulator_esm.min.js.map +1 -1
- package/package.json +65 -65
- package/src/js/builds/esm.js +14 -14
- package/src/js/builds/jquery_wrapper.js +55 -55
- package/src/js/core/ColumnManager.js +730 -730
- package/src/js/core/CoreFeature.js +138 -138
- package/src/js/core/FooterManager.js +101 -101
- package/src/js/core/Module.js +141 -141
- package/src/js/core/RowManager.js +1112 -1101
- package/src/js/core/Tabulator.js +895 -892
- package/src/js/core/TabulatorFull.js +10 -10
- package/src/js/core/cell/Cell.js +295 -295
- package/src/js/core/cell/CellComponent.js +76 -76
- package/src/js/core/column/Column.js +949 -949
- package/src/js/core/column/ColumnComponent.js +152 -152
- package/src/js/core/column/defaults/options.js +17 -17
- package/src/js/core/defaults/options.js +65 -65
- package/src/js/core/modules/core.js +2 -2
- package/src/js/core/modules/optional.js +34 -34
- package/src/js/core/rendering/Renderer.js +203 -203
- package/src/js/core/rendering/renderers/BasicHorizontal.js +19 -19
- package/src/js/core/rendering/renderers/BasicVertical.js +79 -78
- package/src/js/core/rendering/renderers/VirtualDomHorizontal.js +577 -577
- package/src/js/core/rendering/renderers/VirtualDomVertical.js +579 -579
- package/src/js/core/row/PseudoRow.js +44 -44
- package/src/js/core/row/Row.js +457 -457
- package/src/js/core/row/RowComponent.js +93 -93
- package/src/js/core/tools/Alert.js +61 -61
- package/src/js/core/tools/ComponentFunctionBinder.js +32 -32
- package/src/js/core/tools/DataLoader.js +119 -119
- package/src/js/core/tools/DeprecationAdvisor.js +46 -46
- package/src/js/core/tools/ExternalEventBus.js +104 -104
- package/src/js/core/tools/Helpers.js +46 -46
- package/src/js/core/tools/InteractionMonitor.js +321 -321
- package/src/js/core/tools/InternalEventBus.js +161 -161
- package/src/js/core/tools/ModuleBinder.js +104 -104
- package/src/js/core/tools/OptionsList.js +44 -40
- package/src/js/core/tools/Popup.js +304 -304
- package/src/js/core/tools/TableRegistry.js +61 -61
- package/src/js/modules/Accessor/Accessor.js +115 -115
- package/src/js/modules/Ajax/Ajax.js +143 -143
- package/src/js/modules/Ajax/defaults/config.js +2 -2
- package/src/js/modules/Ajax/defaults/contentTypeFormatters.js +44 -44
- package/src/js/modules/Ajax/defaults/loaderPromise.js +86 -86
- package/src/js/modules/Ajax/defaults/urlGenerator.js +43 -43
- package/src/js/modules/Clipboard/Clipboard.js +279 -279
- package/src/js/modules/Clipboard/defaults/pasteActions.js +10 -10
- package/src/js/modules/Clipboard/defaults/pasteParsers.js +74 -74
- package/src/js/modules/ColumnCalcs/CalcComponent.js +47 -47
- package/src/js/modules/ColumnCalcs/ColumnCalcs.js +581 -568
- package/src/js/modules/ColumnCalcs/defaults/calculations.js +85 -85
- package/src/js/modules/Comms/Comms.js +51 -51
- package/src/js/modules/DataTree/DataTree.js +603 -603
- package/src/js/modules/Download/Download.js +148 -148
- package/src/js/modules/Download/defaults/downloaders/csv.js +61 -61
- package/src/js/modules/Download/defaults/downloaders/html.js +4 -4
- package/src/js/modules/Download/defaults/downloaders/json.js +33 -33
- package/src/js/modules/Download/defaults/downloaders/jsonLines.js +31 -31
- package/src/js/modules/Download/defaults/downloaders/pdf.js +111 -111
- package/src/js/modules/Download/defaults/downloaders/xlsx.js +98 -98
- package/src/js/modules/Download/defaults/downloaders.js +14 -14
- package/src/js/modules/Edit/Edit.js +735 -736
- package/src/js/modules/Edit/List.js +1037 -1033
- package/src/js/modules/Edit/defaults/editors/autocomplete.js +11 -11
- package/src/js/modules/Edit/defaults/editors/date.js +138 -110
- package/src/js/modules/Edit/defaults/editors/datetime.js +125 -97
- package/src/js/modules/Edit/defaults/editors/input.js +76 -74
- package/src/js/modules/Edit/defaults/editors/list.js +6 -6
- package/src/js/modules/Edit/defaults/editors/number.js +109 -107
- package/src/js/modules/Edit/defaults/editors/progress.js +126 -126
- package/src/js/modules/Edit/defaults/editors/range.js +80 -78
- package/src/js/modules/Edit/defaults/editors/select.js +9 -9
- package/src/js/modules/Edit/defaults/editors/star.js +145 -145
- package/src/js/modules/Edit/defaults/editors/textarea.js +122 -120
- package/src/js/modules/Edit/defaults/editors/tickCross.js +94 -96
- package/src/js/modules/Edit/defaults/editors/time.js +126 -98
- package/src/js/modules/Edit/defaults/editors.js +28 -28
- package/src/js/modules/Edit/inputMask.js +73 -73
- package/src/js/modules/Export/Export.js +623 -623
- package/src/js/modules/Export/ExportColumn.js +10 -10
- package/src/js/modules/Export/ExportRow.js +9 -9
- package/src/js/modules/Filter/Filter.js +892 -892
- package/src/js/modules/Filter/defaults/filters.js +107 -107
- package/src/js/modules/Format/Format.js +212 -212
- package/src/js/modules/Format/defaults/formatters/buttonCross.js +2 -2
- package/src/js/modules/Format/defaults/formatters/buttonTick.js +2 -2
- package/src/js/modules/Format/defaults/formatters/color.js +3 -3
- package/src/js/modules/Format/defaults/formatters/datetime.js +36 -36
- package/src/js/modules/Format/defaults/formatters/datetimediff.js +40 -40
- package/src/js/modules/Format/defaults/formatters/handle.js +3 -3
- package/src/js/modules/Format/defaults/formatters/html.js +2 -2
- package/src/js/modules/Format/defaults/formatters/image.js +39 -39
- package/src/js/modules/Format/defaults/formatters/link.js +77 -77
- package/src/js/modules/Format/defaults/formatters/lookup.js +9 -9
- package/src/js/modules/Format/defaults/formatters/money.js +36 -36
- package/src/js/modules/Format/defaults/formatters/plaintext.js +2 -2
- package/src/js/modules/Format/defaults/formatters/progress.js +132 -132
- package/src/js/modules/Format/defaults/formatters/responsiveCollapse.js +43 -43
- package/src/js/modules/Format/defaults/formatters/rowSelection.js +59 -59
- package/src/js/modules/Format/defaults/formatters/rownum.js +9 -9
- package/src/js/modules/Format/defaults/formatters/star.js +37 -37
- package/src/js/modules/Format/defaults/formatters/textarea.js +3 -3
- package/src/js/modules/Format/defaults/formatters/tickCross.js +21 -21
- package/src/js/modules/Format/defaults/formatters/traffic.js +46 -46
- package/src/js/modules/Format/defaults/formatters.js +42 -42
- package/src/js/modules/FrozenColumns/FrozenColumns.js +299 -299
- package/src/js/modules/FrozenRows/FrozenRows.js +169 -159
- package/src/js/modules/GroupRows/Group.js +597 -598
- package/src/js/modules/GroupRows/GroupComponent.js +66 -66
- package/src/js/modules/GroupRows/GroupRows.js +639 -639
- package/src/js/modules/History/History.js +171 -171
- package/src/js/modules/History/defaults/redoers.js +24 -24
- package/src/js/modules/History/defaults/undoers.js +24 -24
- package/src/js/modules/HtmlTableImport/HtmlTableImport.js +181 -181
- package/src/js/modules/Import/Import.js +193 -193
- package/src/js/modules/Import/defaults/importers/array.js +4 -4
- package/src/js/modules/Import/defaults/importers/csv.js +62 -62
- package/src/js/modules/Import/defaults/importers/json.js +7 -7
- package/src/js/modules/Import/defaults/importers.js +8 -8
- package/src/js/modules/Interaction/Interaction.js +325 -325
- package/src/js/modules/Keybindings/Keybindings.js +172 -172
- package/src/js/modules/Keybindings/defaults/actions.js +118 -118
- package/src/js/modules/Keybindings/defaults/bindings.js +12 -12
- package/src/js/modules/Layout/Layout.js +49 -49
- package/src/js/modules/Layout/defaults/modes/fitColumns.js +171 -171
- package/src/js/modules/Layout/defaults/modes/fitData.js +9 -9
- package/src/js/modules/Layout/defaults/modes/fitDataGeneral.js +9 -9
- package/src/js/modules/Layout/defaults/modes/fitDataStretch.js +39 -39
- package/src/js/modules/Layout/defaults/modes.js +11 -11
- package/src/js/modules/Localize/Localize.js +185 -185
- package/src/js/modules/Localize/defaults/langs.js +36 -36
- package/src/js/modules/Menu/Menu.js +302 -302
- package/src/js/modules/MoveColumns/MoveColumns.js +299 -299
- package/src/js/modules/MoveRows/MoveRows.js +635 -635
- package/src/js/modules/Mutator/Mutator.js +161 -161
- package/src/js/modules/Page/Page.js +881 -881
- package/src/js/modules/Page/defaults/pageCounters/pages.js +32 -32
- package/src/js/modules/Page/defaults/pageCounters/rows.js +39 -39
- package/src/js/modules/Page/defaults/pageCounters.js +7 -7
- package/src/js/modules/Persistence/Persistence.js +458 -458
- package/src/js/modules/Persistence/defaults/readers.js +29 -29
- package/src/js/modules/Persistence/defaults/writers.js +12 -12
- package/src/js/modules/Popup/Popup.js +231 -231
- package/src/js/modules/Print/Print.js +137 -137
- package/src/js/modules/ReactiveData/ReactiveData.js +408 -408
- package/src/js/modules/ResizeColumns/ResizeColumns.js +309 -309
- package/src/js/modules/ResizeRows/ResizeRows.js +111 -111
- package/src/js/modules/ResizeTable/ResizeTable.js +159 -159
- package/src/js/modules/ResponsiveLayout/ResponsiveLayout.js +345 -345
- package/src/js/modules/SelectRow/SelectRow.js +446 -444
- package/src/js/modules/Sort/Sort.js +470 -470
- package/src/js/modules/Sort/defaults/sorters/alphanum.js +43 -43
- package/src/js/modules/Sort/defaults/sorters/array.js +53 -53
- package/src/js/modules/Sort/defaults/sorters/boolean.js +6 -6
- package/src/js/modules/Sort/defaults/sorters/date.js +9 -9
- package/src/js/modules/Sort/defaults/sorters/datetime.js +43 -43
- package/src/js/modules/Sort/defaults/sorters/exists.js +6 -6
- package/src/js/modules/Sort/defaults/sorters/number.js +39 -39
- package/src/js/modules/Sort/defaults/sorters/string.js +33 -33
- package/src/js/modules/Sort/defaults/sorters/time.js +9 -9
- package/src/js/modules/Sort/defaults/sorters.js +20 -20
- package/src/js/modules/Tooltip/Tooltip.js +130 -130
- package/src/js/modules/Validate/Validate.js +305 -305
- package/src/js/modules/Validate/defaults/validators.js +138 -138
- package/src/scss/tabulator.scss +1464 -1467
- package/src/scss/themes/bootstrap/functions4.scss +118 -118
- package/src/scss/themes/bootstrap/functions5.scss +302 -302
- package/src/scss/themes/bootstrap/tabulator_bootstrap3.scss +284 -284
- package/src/scss/themes/bootstrap/tabulator_bootstrap4.scss +544 -544
- package/src/scss/themes/bootstrap/tabulator_bootstrap5.scss +574 -574
- package/src/scss/themes/bootstrap/variables3.scss +870 -870
- package/src/scss/themes/bootstrap/variables4.scss +930 -930
- package/src/scss/themes/bootstrap/variables5.scss +1641 -1641
- package/src/scss/themes/bulma/tabulator_bulma.scss +252 -252
- package/src/scss/themes/bulma/variables.scss +197 -197
- package/src/scss/themes/materialize/tabulator_materialize.scss +265 -265
- package/src/scss/themes/materialize/variables.scss +70 -70
- package/src/scss/themes/semanticui/tabulator_semanticui.scss +561 -561
- package/src/scss/themes/semanticui/variables.scss +839 -839
- package/src/scss/themes/semanticui/variables_table.scss +247 -247
- package/src/scss/themes/tabulator_midnight.scss +158 -158
- package/src/scss/themes/tabulator_modern.scss +231 -231
- package/src/scss/themes/tabulator_simple.scss +102 -102
- package/src/scss/themes/tabulator_site.scss +189 -189
|
@@ -1,118 +1,118 @@
|
|
|
1
|
-
// Bootstrap functions
|
|
2
|
-
//
|
|
3
|
-
// Utility mixins and functions for evaluating source code across our variables, maps, and mixins.
|
|
4
|
-
|
|
5
|
-
// Ascending
|
|
6
|
-
// Used to evaluate Sass maps like our grid breakpoints.
|
|
7
|
-
@mixin _assert-ascending($map, $map-name) {
|
|
8
|
-
$prev-key: null;
|
|
9
|
-
$prev-num: null;
|
|
10
|
-
@each $key, $num in $map {
|
|
11
|
-
@if $prev-num == null {
|
|
12
|
-
// Do nothing
|
|
13
|
-
} @else if not comparable($prev-num, $num) {
|
|
14
|
-
@warn "Potentially invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} whose unit makes it incomparable to #{$prev-num}, the value of the previous key '#{$prev-key}' !";
|
|
15
|
-
} @else if $prev-num >= $num {
|
|
16
|
-
@warn "Invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} which isn't greater than #{$prev-num}, the value of the previous key '#{$prev-key}' !";
|
|
17
|
-
}
|
|
18
|
-
$prev-key: $key;
|
|
19
|
-
$prev-num: $num;
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
// Starts at zero
|
|
24
|
-
// Another grid mixin that ensures the min-width of the lowest breakpoint starts at 0.
|
|
25
|
-
@mixin _assert-starts-at-zero($map) {
|
|
26
|
-
$values: map-values($map);
|
|
27
|
-
$first-value: nth($values, 1);
|
|
28
|
-
@if $first-value != 0 {
|
|
29
|
-
@warn "First breakpoint in `$grid-breakpoints` must start at 0, but starts at #{$first-value}.";
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
// Replace `$search` with `$replace` in `$string`
|
|
34
|
-
// Used on our SVG icon backgrounds for custom forms.
|
|
35
|
-
//
|
|
36
|
-
// @author Hugo Giraudel
|
|
37
|
-
// @param {String} $string - Initial string
|
|
38
|
-
// @param {String} $search - Substring to replace
|
|
39
|
-
// @param {String} $replace ('') - New value
|
|
40
|
-
// @return {String} - Updated string
|
|
41
|
-
@function str-replace($string, $search, $replace: "") {
|
|
42
|
-
$index: str-index($string, $search);
|
|
43
|
-
|
|
44
|
-
@if $index {
|
|
45
|
-
@return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
@return $string;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
// Color contrast
|
|
52
|
-
@function color-yiq($color) {
|
|
53
|
-
$r: red($color);
|
|
54
|
-
$g: green($color);
|
|
55
|
-
$b: blue($color);
|
|
56
|
-
|
|
57
|
-
$yiq: (($r * 299) + ($g * 587) + ($b * 114)) / 1000;
|
|
58
|
-
|
|
59
|
-
@if ($yiq >= $yiq-contrasted-threshold) {
|
|
60
|
-
@return $yiq-text-dark;
|
|
61
|
-
} @else {
|
|
62
|
-
@return $yiq-text-light;
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
// Retrieve color Sass maps
|
|
67
|
-
@function color($key: "blue") {
|
|
68
|
-
@return map-get($colors, $key);
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
@function theme-color($key: "primary") {
|
|
72
|
-
@return map-get($theme-colors, $key);
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
@function gray($key: "100") {
|
|
76
|
-
@return map-get($grays, $key);
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
// Request a theme color level
|
|
80
|
-
@function theme-color-level($color-name: "primary", $level: 0) {
|
|
81
|
-
$color: theme-color($color-name);
|
|
82
|
-
$color-base: if($level > 0, $black, $white);
|
|
83
|
-
$level: abs($level);
|
|
84
|
-
|
|
85
|
-
@return mix($color-base, $color, $level * $theme-color-interval);
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
// Tables
|
|
90
|
-
|
|
91
|
-
@mixin table-row-variant($state, $background) {
|
|
92
|
-
// Exact selectors below required to override `.table-striped` and prevent
|
|
93
|
-
// inheritance to nested tables.
|
|
94
|
-
.table-#{$state} {
|
|
95
|
-
&,
|
|
96
|
-
> th,
|
|
97
|
-
> td {
|
|
98
|
-
background-color: $background;
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
// Hover states for `.table-hover`
|
|
103
|
-
// Note: this is not available for cells or rows within `thead` or `tfoot`.
|
|
104
|
-
.table-hover {
|
|
105
|
-
$hover-background: darken($background, 5%);
|
|
106
|
-
|
|
107
|
-
.table-#{$state} {
|
|
108
|
-
@include hover {
|
|
109
|
-
background-color: $hover-background;
|
|
110
|
-
|
|
111
|
-
> td,
|
|
112
|
-
> th {
|
|
113
|
-
background-color: $hover-background;
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
}
|
|
1
|
+
// Bootstrap functions
|
|
2
|
+
//
|
|
3
|
+
// Utility mixins and functions for evaluating source code across our variables, maps, and mixins.
|
|
4
|
+
|
|
5
|
+
// Ascending
|
|
6
|
+
// Used to evaluate Sass maps like our grid breakpoints.
|
|
7
|
+
@mixin _assert-ascending($map, $map-name) {
|
|
8
|
+
$prev-key: null;
|
|
9
|
+
$prev-num: null;
|
|
10
|
+
@each $key, $num in $map {
|
|
11
|
+
@if $prev-num == null {
|
|
12
|
+
// Do nothing
|
|
13
|
+
} @else if not comparable($prev-num, $num) {
|
|
14
|
+
@warn "Potentially invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} whose unit makes it incomparable to #{$prev-num}, the value of the previous key '#{$prev-key}' !";
|
|
15
|
+
} @else if $prev-num >= $num {
|
|
16
|
+
@warn "Invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} which isn't greater than #{$prev-num}, the value of the previous key '#{$prev-key}' !";
|
|
17
|
+
}
|
|
18
|
+
$prev-key: $key;
|
|
19
|
+
$prev-num: $num;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
// Starts at zero
|
|
24
|
+
// Another grid mixin that ensures the min-width of the lowest breakpoint starts at 0.
|
|
25
|
+
@mixin _assert-starts-at-zero($map) {
|
|
26
|
+
$values: map-values($map);
|
|
27
|
+
$first-value: nth($values, 1);
|
|
28
|
+
@if $first-value != 0 {
|
|
29
|
+
@warn "First breakpoint in `$grid-breakpoints` must start at 0, but starts at #{$first-value}.";
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
// Replace `$search` with `$replace` in `$string`
|
|
34
|
+
// Used on our SVG icon backgrounds for custom forms.
|
|
35
|
+
//
|
|
36
|
+
// @author Hugo Giraudel
|
|
37
|
+
// @param {String} $string - Initial string
|
|
38
|
+
// @param {String} $search - Substring to replace
|
|
39
|
+
// @param {String} $replace ('') - New value
|
|
40
|
+
// @return {String} - Updated string
|
|
41
|
+
@function str-replace($string, $search, $replace: "") {
|
|
42
|
+
$index: str-index($string, $search);
|
|
43
|
+
|
|
44
|
+
@if $index {
|
|
45
|
+
@return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
@return $string;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
// Color contrast
|
|
52
|
+
@function color-yiq($color) {
|
|
53
|
+
$r: red($color);
|
|
54
|
+
$g: green($color);
|
|
55
|
+
$b: blue($color);
|
|
56
|
+
|
|
57
|
+
$yiq: (($r * 299) + ($g * 587) + ($b * 114)) / 1000;
|
|
58
|
+
|
|
59
|
+
@if ($yiq >= $yiq-contrasted-threshold) {
|
|
60
|
+
@return $yiq-text-dark;
|
|
61
|
+
} @else {
|
|
62
|
+
@return $yiq-text-light;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
// Retrieve color Sass maps
|
|
67
|
+
@function color($key: "blue") {
|
|
68
|
+
@return map-get($colors, $key);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
@function theme-color($key: "primary") {
|
|
72
|
+
@return map-get($theme-colors, $key);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
@function gray($key: "100") {
|
|
76
|
+
@return map-get($grays, $key);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
// Request a theme color level
|
|
80
|
+
@function theme-color-level($color-name: "primary", $level: 0) {
|
|
81
|
+
$color: theme-color($color-name);
|
|
82
|
+
$color-base: if($level > 0, $black, $white);
|
|
83
|
+
$level: abs($level);
|
|
84
|
+
|
|
85
|
+
@return mix($color-base, $color, $level * $theme-color-interval);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
// Tables
|
|
90
|
+
|
|
91
|
+
@mixin table-row-variant($state, $background) {
|
|
92
|
+
// Exact selectors below required to override `.table-striped` and prevent
|
|
93
|
+
// inheritance to nested tables.
|
|
94
|
+
.table-#{$state} {
|
|
95
|
+
&,
|
|
96
|
+
> th,
|
|
97
|
+
> td {
|
|
98
|
+
background-color: $background;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
// Hover states for `.table-hover`
|
|
103
|
+
// Note: this is not available for cells or rows within `thead` or `tfoot`.
|
|
104
|
+
.table-hover {
|
|
105
|
+
$hover-background: darken($background, 5%);
|
|
106
|
+
|
|
107
|
+
.table-#{$state} {
|
|
108
|
+
@include hover {
|
|
109
|
+
background-color: $hover-background;
|
|
110
|
+
|
|
111
|
+
> td,
|
|
112
|
+
> th {
|
|
113
|
+
background-color: $hover-background;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|