@table-bro/native 0.0.0-stage → 1.1.0

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.
Files changed (49) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +81 -2
  3. package/THIRD_PARTY_NOTICES.md +69 -0
  4. package/dist/table-bro.native.d.ts +185 -0
  5. package/dist/table-bro.native.esm.js +113 -0
  6. package/dist/table-bro.native.esm.js.map +1 -0
  7. package/dist/table-bro.native.min.css +1 -0
  8. package/dist/table-bro.native.umd.js +113 -0
  9. package/dist/table-bro.native.umd.js.map +1 -0
  10. package/package.json +62 -4
  11. package/styles/_table-bro.api.scss +3 -0
  12. package/styles/_table-bro.native.api.scss +5 -0
  13. package/styles/mixins/_text-ellipsis.scss +5 -0
  14. package/styles/skin/shared/_variables.scss +94 -0
  15. package/styles/skin/shared/mixins/_custom-properties.scss +39 -0
  16. package/styles/skin/shared/mixins/_progress-bar.scss +27 -0
  17. package/styles/skin/shared/mixins/_shared.scss +87 -0
  18. package/styles/skin/shared/mixins/_skin-colors.scss +64 -0
  19. package/styles/skin/shared/mixins/_slide-toggle.scss +5 -0
  20. package/styles/skin/shared/mixins/_sort-header.scss +11 -0
  21. package/styles/skin/shared/mixins/_toolbar.scss +61 -0
  22. package/styles/skin/shared/table-bro/_details.scss +11 -0
  23. package/styles/skin/shared/table-bro/_filter-drawer.scss +62 -0
  24. package/styles/skin/shared/table-bro/_shadows.scss +19 -0
  25. package/styles/skin/shared/table-bro/_state.scss +38 -0
  26. package/styles/skin/shared/table-bro/_table.scss +70 -0
  27. package/styles/skin/shared/table-bro/_text-ellipsis.scss +14 -0
  28. package/styles/skin/vanilla-js/native/_themes.scss +45 -0
  29. package/styles/skin/vanilla-js/native/_variables.scss +54 -0
  30. package/styles/skin/vanilla-js/native/components/bootstrap-based/_paginator.scss +50 -0
  31. package/styles/skin/vanilla-js/native/components/bootstrap-based/_toolbar.scss +99 -0
  32. package/styles/skin/vanilla-js/native/table-bro/_button.scss +16 -0
  33. package/styles/skin/vanilla-js/native/table-bro/_filter-drawer.scss +10 -0
  34. package/styles/skin/vanilla-js/native/table-bro/_progress-bar.scss +24 -0
  35. package/styles/skin/vanilla-js/native/table-bro/_table.scss +16 -0
  36. package/styles/skin/vanilla-js/native/table-bro/_toolbar-search.scss +17 -0
  37. package/styles/skin/vanilla-js/native/table-bro/_toolbar.scss +19 -0
  38. package/styles/skin/vanilla-js/shared/_bootstrap-adapter.scss +9 -0
  39. package/styles/skin/vanilla-js/shared/_skin.scss +70 -0
  40. package/styles/skin/vanilla-js/shared/components/bootstrap-based/_button.scss +9 -0
  41. package/styles/skin/vanilla-js/shared/components/material-based/_paginator.scss +62 -0
  42. package/styles/skin/vanilla-js/shared/components/material-based/_sort-header.scss +134 -0
  43. package/styles/skin/vanilla-js/shared/components/material-based/_table.scss +11 -0
  44. package/styles/skin/vanilla-js/shared/table-bro/_filter-drawer.scss +13 -0
  45. package/styles/skin/vanilla-js/shared/table-bro/_paginator.scss +5 -0
  46. package/styles/skin/vanilla-js/shared/table-bro/_toolbar-search.scss +31 -0
  47. package/styles/skin/vanilla-js/shared/table-bro/_toolbar.scss +39 -0
  48. package/styles/skin/vanilla-js/shared/vendor-extensions/material-based/_paginator.scss +12 -0
  49. package/styles/table-bro.native.scss +43 -0
@@ -0,0 +1,70 @@
1
+ // The skin class is on the table element itself: table-bro#{&} is table-bro.nv and the like
2
+ // The visible table starts one shadow size into the element and keeps its width, so a full width leaves room
3
+ // for both shadows
4
+
5
+ @use "../variables" as *;
6
+ @use "shared-selector-map" as *;
7
+ @use "../mixins/toolbar" as *;
8
+
9
+ @mixin styles {
10
+ @at-root table-bro#{&} {
11
+ @if $bro-table-width == 100% {
12
+ width: calc(100% - var(--bro-shadow-size) * 2);
13
+ } @else {
14
+ width: $bro-table-width;
15
+ }
16
+
17
+ // A narrower table would wrap its paginator; a narrow screen is for the adaptive layout of the next versions
18
+ min-width: var(--bro-table-min-width);
19
+ }
20
+
21
+ @at-root table-bro#{&} table {
22
+ th.bro-header-cell,
23
+ td.bro-cell {
24
+ box-sizing: border-box;
25
+
26
+ padding: 0 0 0 $bro-row-horizontal-padding;
27
+ }
28
+
29
+ // The last column keeps the same space at the right edge of the table, as Material gives it: a value at the right
30
+ // edge of its column does not touch the edge of the table
31
+ th.bro-header-cell:last-child,
32
+ td.bro-cell:last-child {
33
+ padding-right: $bro-row-horizontal-padding;
34
+ }
35
+ }
36
+
37
+
38
+ @include skin_table-header();
39
+
40
+
41
+ #{$bro-table-body_container} {
42
+ // The body runs on under the paginator by one shadow size, with the rows of the next page; the rounded bottom
43
+ // corners of the paginator would show them. Under the paginator the body ends above its corners, and beside it
44
+ // the shadow of the body keeps its size. An extension of the layout of the body that draws its own decorations of the
45
+ // rows hides the rows out of the window itself, so they stay whole
46
+ $cut: max(0px, var(--bro-shadow-size) + var(--bro-corner-radius) - #{$bro-paginator-height});
47
+
48
+ z-index: $bro-table-container-z-index;
49
+ top: calc(var(--bro-shadow-size) * -1);
50
+
51
+ clip-path: polygon(0 0, 100% 0, 100% 100%, calc(100% - var(--bro-shadow-size)) 100%, calc(100% - var(--bro-shadow-size)) calc(100% - #{$cut}), var(--bro-shadow-size) calc(100% - #{$cut}), var(--bro-shadow-size) 100%, 0 100%);
52
+ }
53
+
54
+ #{$bro-table-body} {
55
+ z-index: $bro-table-container-z-index;
56
+
57
+ > .bro-table {
58
+ z-index: $bro-table-container-z-index;
59
+ }
60
+ }
61
+
62
+ #{$bro-table-body},
63
+ #{$bro-table-shadows} {
64
+ padding-top: var(--bro-shadow-size);
65
+ }
66
+
67
+ #{$bro-table-aux} {
68
+ top: var(--bro-shadow-size);
69
+ }
70
+ }
@@ -0,0 +1,14 @@
1
+ @use "../variables" as *;
2
+ @use "shared-selector-map" as *;
3
+ @use "../../../mixins/text-ellipsis" as *;
4
+
5
+ @mixin styles {
6
+ #{$bro-cell_text-ellipsis-container} {
7
+ line-height: 1.5;
8
+ }
9
+
10
+ // The width of the row counter column of the skin; the skin class is on the table element itself
11
+ @at-root table-bro#{&} {
12
+ @include bro-text-ellipsis-width('.bro-cell-number', $bro-cell-number-width);
13
+ }
14
+ }
@@ -0,0 +1,45 @@
1
+ @use "variables" as *;
2
+ @use "../../shared/mixins/skin-colors" as *;
3
+
4
+ $bro-border-color: #dee2e6;
5
+ $bro-border-color-dark: #495057;
6
+
7
+ @mixin styles {
8
+ // The table has the text and the color scheme of its theme: native controls follow the scheme, and a table with
9
+ // a theme of its own does not take the text of a page of the other theme
10
+ #{$bro-skin} {
11
+ color: #212529;
12
+
13
+ color-scheme: light;
14
+
15
+ @include bro-table-theme(
16
+ '.bro-table',
17
+ '.bro-toolbar',
18
+ #fff,
19
+ $bro-border-color,
20
+ #212529,
21
+ rgba(#212529, .75)
22
+ );
23
+ }
24
+
25
+ // Apply the dark theme only when the `.bro-dark-theme` CSS class is applied
26
+ // to an ancestor element of the components (such as `body`) or to the table host.
27
+ // A table with its own light theme, the class bro-light-theme, stays light under a dark ancestor
28
+ .bro-dark-theme {
29
+ #{$bro-skin}:not(.bro-light-theme),
30
+ &#{$bro-skin} {
31
+ color: #dee2e6;
32
+
33
+ color-scheme: dark;
34
+
35
+ @include bro-table-theme(
36
+ '.bro-table',
37
+ '.bro-toolbar',
38
+ #2b3035,
39
+ $bro-border-color-dark,
40
+ #dee2e6,
41
+ rgba(#dee2e6, .75)
42
+ );
43
+ }
44
+ }
45
+ }
@@ -0,0 +1,54 @@
1
+ // The values of the native skin for the variables every skin has (skin/shared/_variables.scss)
2
+ @forward "../../shared/variables" with (
3
+ $bro-skin: '.nv',
4
+
5
+ $bro-table-width: 100% !default, // or px-value, or 100%;
6
+
7
+ $bro-table-header-height: 40px !default,
8
+ $bro-table-row-height: 40px !default,
9
+ $bro-row-horizontal-padding: 1.25rem !default,
10
+
11
+ $bro-table-shadow-size: 48px !default,
12
+
13
+ $bro-toolbar-height: 64px !default,
14
+ $bro-paginator-height: 56px !default,
15
+ $bro-table-min-width: 594px !default,
16
+
17
+ $bro-corner-radius: 12px !default, // the corner-medium of Material 3, as its cards
18
+
19
+ $bro-filter-drawer-width: 320px !default,
20
+ $bro-filter-drawer-corner-radius: 16px !default, // the corner-large of Material 3, as its side sheets
21
+ $bro-scrim-color: rgba(#000, .32) !default, // the scrim of Material 3
22
+
23
+
24
+ $bro-global-progress: 10px !default,
25
+ $bro-details-progress: 6px !default,
26
+
27
+
28
+ // Layers
29
+ $bro-table-container-z-index: 2 !default,
30
+ $bro-shadow-z-index: -1 !default,
31
+
32
+
33
+ // Read by the table script (skin/shared/mixins/_custom-properties.scss)
34
+ $bro-refresh-overlay-opacity: .5 !default,
35
+ $bro-refresh-overlay-opacity-dark: .5 !default,
36
+ $bro-column-width-duration: 500ms !default, // read by the CSS alone
37
+ $bro-details-duration: 350ms !default,
38
+ $bro-details-easing: cubic-bezier(.37, 0, .63, 1) !default, // the curve of easeInOutSine
39
+ $bro-filter-drawer-duration: 400ms !default,
40
+ $bro-kinetic-time-constant: 280ms !default, // the time constant of the exponential decay, not its duration
41
+ $bro-state-icon-duration: 500ms !default,
42
+ $bro-state-message-duration: 750ms !default,
43
+
44
+
45
+ // State
46
+ $bro-state-icon-size: 28px !default,
47
+ $bro-state-icon-margin-right: 16px !default,
48
+ $bro-state-line-height: 33px !default,
49
+ $bro-state-message-font-size: 28px !default,
50
+
51
+
52
+ // Table cells
53
+ $bro-cell-number-width: 45px !default
54
+ );
@@ -0,0 +1,50 @@
1
+ @use "../../variables" as *;
2
+
3
+ $bro-margin: 0.5rem;
4
+ $bro-padding: $bro-margin;
5
+
6
+ $bro-link-color: #00e;
7
+ $bro-link-color-dark: #7dafff;
8
+
9
+ @mixin styles {
10
+ .bro-pagination { // copies styles of bs `.pagination`
11
+ display: flex;
12
+
13
+ // The links have no padding of their own: the last one stands as far from the edge as the links of Bootstrap do
14
+ margin-right: 0.75rem;
15
+ margin-bottom: 0;
16
+ padding-left: 0;
17
+
18
+ list-style: none;
19
+
20
+ cursor: pointer;
21
+ }
22
+
23
+ .bro-page-link {
24
+ position: relative;
25
+
26
+ display: block;
27
+
28
+ color: $bro-link-color;
29
+ }
30
+
31
+ .bro-dark-theme #{$bro-skin}:not(.bro-light-theme),
32
+ #{$bro-skin}.bro-dark-theme {
33
+ .bro-page-link {
34
+ color: $bro-link-color-dark;
35
+ }
36
+ }
37
+
38
+ .bro-page-item {
39
+ &:not(:first-child) .bro-page-link {
40
+ margin-left: $bro-margin;
41
+ }
42
+
43
+ // The paginator gives the class disabled to the item of a page that does not exist; after the colors of the themes
44
+ &.disabled .bro-page-link {
45
+ color: GrayText;
46
+
47
+ pointer-events: none;
48
+ }
49
+ }
50
+ }
@@ -0,0 +1,99 @@
1
+ @use "../../variables" as *;
2
+ @use "paginator" as *;
3
+ @use "../../../shared/table-bro/toolbar" as *;
4
+
5
+ $bro-margin: 0.5rem;
6
+ $bro-padding: $bro-margin;
7
+
8
+
9
+ /** Bootstrap-based (5.3) styles: */
10
+ .bro-navbar {
11
+ position: relative;
12
+
13
+ display: flex;
14
+
15
+ padding: $bro-padding;
16
+
17
+ flex-wrap: wrap; // allow us to do the line break for collapsing content
18
+ align-items: center;
19
+ justify-content: space-between; // space out brand from logo
20
+ }
21
+
22
+ div.bro-toolbar-content { // styles of `.container-fluid`
23
+ display: flex;
24
+
25
+ width: 100%;
26
+
27
+ flex-wrap: inherit;
28
+ align-items: center;
29
+ justify-content: space-between;
30
+ }
31
+
32
+
33
+ .bro-navbar-brand {
34
+ margin-right: $bro-padding;
35
+ padding-top: $bro-padding;
36
+ padding-bottom: $bro-padding;
37
+
38
+ font-weight: bold;
39
+
40
+ white-space: nowrap;
41
+ }
42
+
43
+ ul.bro-navbar-nav {
44
+ display: flex;
45
+
46
+ // The links have no padding of their own: the last one stands as far from the edge as the links of Bootstrap do
47
+ margin-right: 0.75rem;
48
+ margin-bottom: 0;
49
+ padding-left: 0;
50
+
51
+ flex-direction: column; // cannot use `inherit` to get the `.navbar`s value
52
+
53
+ list-style: none;
54
+ }
55
+
56
+ .bro-navbar-collapse {
57
+ flex-grow: 1;
58
+ flex-basis: 100%;
59
+
60
+ // For always expanded or extra full navbars, ensure content aligns itself
61
+ // properly vertically. Can be easily overridden with flex utilities.
62
+ align-items: center;
63
+ }
64
+
65
+ .bro-navbar-expand {
66
+ flex-wrap: nowrap;
67
+ justify-content: flex-start;
68
+
69
+ .bro-navbar-nav {
70
+ flex-direction: row;
71
+ }
72
+
73
+ .bro-navbar-collapse {
74
+ display: flex;
75
+
76
+ flex-basis: auto;
77
+ }
78
+ }
79
+
80
+
81
+ /** Custom styles: */
82
+ .bro-nav-item {
83
+ &:not(:first-child) .bro-nav-link {
84
+ margin-left: $bro-margin;
85
+ }
86
+
87
+ select {
88
+ width: 60px;
89
+
90
+ margin-left: $bro-margin;
91
+ }
92
+ }
93
+
94
+ @include toolbar-links('.bro-nav-link', $bro-link-color);
95
+
96
+ .bro-dark-theme #{$bro-skin}:not(.bro-light-theme),
97
+ #{$bro-skin}.bro-dark-theme {
98
+ @include toolbar-links('.bro-nav-link', $bro-link-color-dark);
99
+ }
@@ -0,0 +1,16 @@
1
+ @use "../components/bootstrap-based/paginator" as *;
2
+
3
+ @mixin styles {
4
+ bro-button {
5
+ a {
6
+ color: $bro-link-color;
7
+ }
8
+ }
9
+
10
+ .bro-dark-theme &:not(.bro-light-theme),
11
+ &.bro-dark-theme {
12
+ a {
13
+ color: $bro-link-color-dark;
14
+ }
15
+ }
16
+ }
@@ -0,0 +1,10 @@
1
+ @use "toolbar" as *;
2
+ @use "../../shared/table-bro/filter-drawer" as *;
3
+
4
+ @mixin styles {
5
+ .bro-filter-drawer-header .bro-nav-link {
6
+ text-decoration: none;
7
+ }
8
+
9
+ @include filter-drawer-header-content($bro-nav-link-padding);
10
+ }
@@ -0,0 +1,24 @@
1
+ @use "../variables" as *;
2
+ @use "shared-selector-map" as *;
3
+ @use "../../../shared/mixins/progress-bar" as *;
4
+
5
+ @mixin styles {
6
+ @include table-header-progress-bar('bro-nv-progress-bar progress');
7
+ @include table-aux-progress-bar('bro-nv-progress-bar progress');
8
+
9
+ $bro-nv-global-progress-inner-vertical-space: 3px; // inner top/bottom space if height is 10px
10
+
11
+ #{$bro-table-header} {
12
+ bro-nv-progress-bar progress {
13
+ top: calc(var(--bro-header-height) - #{$bro-global-progress - $bro-nv-global-progress-inner-vertical-space});
14
+ }
15
+ }
16
+
17
+ $bro-nv-details-progress-inner-vertical-space: 2px; // inner top/bottom space if height is 6px
18
+
19
+ #{$bro-table-aux} {
20
+ bro-nv-progress-bar progress {
21
+ top: calc(var(--bro-row-height) - #{$bro-details-progress - $bro-nv-details-progress-inner-vertical-space});
22
+ }
23
+ }
24
+ }
@@ -0,0 +1,16 @@
1
+ @use "../themes" as *;
2
+
3
+ @mixin styles {
4
+ @at-root table-bro#{&} table {
5
+ border-color: $bro-border-color;
6
+
7
+ > :not(caption) > * > * {
8
+ border-bottom-width: 1px;
9
+ }
10
+ }
11
+
12
+ @at-root .bro-dark-theme table-bro#{&}:not(.bro-light-theme) table,
13
+ table-bro#{&}.bro-dark-theme table {
14
+ border-color: $bro-border-color-dark;
15
+ }
16
+ }
@@ -0,0 +1,17 @@
1
+ @use "toolbar" as *;
2
+ @use "shared-selector-map" as *;
3
+ @use "../../shared/table-bro/toolbar-search" as *;
4
+
5
+ @mixin styles {
6
+ #{$bro-toolbar_content-search} {
7
+ input {
8
+ font-weight: bold;
9
+ }
10
+ }
11
+
12
+ .bro-toolbar-search .bro-nav-link {
13
+ text-decoration: none;
14
+ }
15
+
16
+ @include toolbar-search-content($bro-nav-link-padding);
17
+ }
@@ -0,0 +1,19 @@
1
+ @use "../themes" as *;
2
+ @use "../../shared/table-bro/toolbar" as *;
3
+
4
+ $bro-nav-link-padding: 0.5rem;
5
+
6
+ @mixin styles {
7
+ @include toolbar-main-content($bro-nav-link-padding);
8
+
9
+ .bro-navbar {
10
+ border-bottom: 1px solid $bro-border-color;
11
+ }
12
+
13
+ .bro-dark-theme &:not(.bro-light-theme),
14
+ &.bro-dark-theme {
15
+ .bro-navbar {
16
+ border-bottom: 1px solid $bro-border-color-dark;
17
+ }
18
+ }
19
+ }
@@ -0,0 +1,9 @@
1
+ // Bootstrap 5 has no Sass modules, so this adapter is the only file that imports it.
2
+ // The skins take its functions, variables and mixins with @use, and Bootstrap 6 will change only this file.
3
+ @import "bootstrap/scss/functions";
4
+ @import "bootstrap/scss/variables";
5
+ @import "bootstrap/scss/variables-dark";
6
+
7
+ @import "bootstrap/scss/mixins/caret";
8
+ @import "bootstrap/scss/mixins/gradients";
9
+ @import "bootstrap/scss/mixins/transition";
@@ -0,0 +1,70 @@
1
+ // The CSS that the vanilla skins bs and nv share, in the order of their entry points: the shared parts, the parts of the
2
+ // skin, which @content gives, then the shadow container and the sizes and timings for the table script
3
+ @use "sass:meta";
4
+ @use "../../shared/variables" as *;
5
+
6
+ /* Mixins */
7
+ @use "../../shared/mixins/custom-properties" as *;
8
+ @use "../../shared/mixins/shared" as *;
9
+
10
+ @use "../../shared/table-bro/details" as shared-details;
11
+ @use "../../shared/table-bro/filter-drawer" as shared-filter-drawer;
12
+ @use "../../shared/table-bro/shadows" as shared-shadows;
13
+ @use "../../shared/table-bro/state" as shared-state;
14
+ @use "../../shared/table-bro/table" as shared-table;
15
+ @use "../../shared/table-bro/text-ellipsis" as shared-text-ellipsis;
16
+ @use "./components/bootstrap-based/button" as bootstrap-based-button;
17
+ @use "./components/material-based/table" as material-based-table;
18
+ @use "./vendor-extensions/material-based/paginator" as material-based-paginator-extension;
19
+ @use "./table-bro/paginator" as vanilla-paginator;
20
+ @use "./table-bro/toolbar" as vanilla-toolbar;
21
+
22
+ // @param $tags - the element of the tags of the skin in a cell
23
+ // @param $tag - a tag in it
24
+ @mixin styles($tags, $tag) {
25
+ #{$bro-skin} {
26
+ @include shared-details.styles;
27
+ @include shared-filter-drawer.styles;
28
+ @include shared-shadows.styles;
29
+ @include shared-state.styles;
30
+ @include shared-table.styles;
31
+ @include shared-text-ellipsis.styles;
32
+
33
+ // The tags of the skin in a cell
34
+ @include bro-cell-items($tags, $tag);
35
+ }
36
+
37
+
38
+ /* Shared VanillaJS components */
39
+ @include meta.load-css("./components/material-based/paginator");
40
+ @include meta.load-css("./components/material-based/sort-header");
41
+
42
+ #{$bro-skin} {
43
+ @include bootstrap-based-button.styles;
44
+ @include material-based-table.styles;
45
+
46
+ @include material-based-paginator-extension.styles;
47
+ }
48
+
49
+
50
+ /* Shared Table-bro extensions */
51
+ #{$bro-skin} {
52
+ @include vanilla-paginator.styles;
53
+ }
54
+ @include vanilla-toolbar.styles;
55
+ @include meta.load-css("./table-bro/toolbar-search");
56
+
57
+
58
+ @content;
59
+
60
+
61
+ #{$bro-skin} {
62
+ @include bro-table-shadow-container();
63
+ }
64
+
65
+
66
+ /* The sizes and timings for the table script; :where() lets a plain table-bro selector override them */
67
+ :where(#{$bro-skin}) {
68
+ @include bro-skin-custom-properties();
69
+ }
70
+ }
@@ -0,0 +1,9 @@
1
+ @use "../../bootstrap-adapter" as *;
2
+
3
+ @mixin styles {
4
+ .bro-button-toggle {
5
+ display: inline-block;
6
+
7
+ @include caret();
8
+ }
9
+ }
@@ -0,0 +1,62 @@
1
+ /**
2
+ * @license
3
+ * Copyright Google LLC All Rights Reserved.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://angular.dev/license
7
+ */
8
+
9
+ $padding: 0 8px;
10
+ $page-size-margin-right: 8px;
11
+
12
+ $items-per-page-label-margin: 0 4px;
13
+
14
+ $range-label-margin: 0 32px 0 24px;
15
+
16
+ .bro-paginator {
17
+ display: block;
18
+ }
19
+
20
+ // Note: this wrapper element is only used to get the flexbox vertical centering to work
21
+ // with the `min-height` on IE11. It can be removed if we drop support for IE.
22
+ .bro-paginator-outer-container {
23
+ display: flex;
24
+ }
25
+
26
+ .bro-paginator-inner-container {
27
+ display: flex;
28
+
29
+ width: 100%;
30
+ padding: $padding;
31
+
32
+ flex-wrap: wrap;
33
+ align-items: center;
34
+ justify-content: flex-end;
35
+ }
36
+
37
+ .bro-paginator-page-size {
38
+ display: flex;
39
+
40
+ margin-right: $page-size-margin-right;
41
+
42
+ align-items: baseline;
43
+
44
+ [dir='rtl'] & {
45
+ margin-right: 0;
46
+ margin-left: $page-size-margin-right;
47
+ }
48
+ }
49
+
50
+ .bro-paginator-page-size-label {
51
+ margin: $items-per-page-label-margin;
52
+ }
53
+
54
+ .bro-paginator-range-label {
55
+ margin: $range-label-margin;
56
+ }
57
+
58
+ .bro-paginator-range-actions {
59
+ display: flex;
60
+
61
+ align-items: center;
62
+ }