@digigov/css 2.0.0-60d81ed8 → 2.0.0-6452adf3

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 (53) hide show
  1. package/dist/base/index.css +1 -1
  2. package/dist/base.js +1 -1
  3. package/dist/components.js +1 -1
  4. package/dist/digigov.css +3 -3
  5. package/dist/utilities/index.css +1 -1
  6. package/dist/utilities.js +1 -1
  7. package/index.js +99 -69
  8. package/package.json +11 -11
  9. package/postcss.config.js +4 -4
  10. package/src/base/index.css +1 -0
  11. package/src/base/postcss.config.js +11 -10
  12. package/src/base/tailwind.config.js +4 -11
  13. package/src/components/button.common.css +1 -1
  14. package/src/components/button.css +1 -1
  15. package/src/components/button.native.css +2 -3
  16. package/src/components/copy-to-clipboard.css +1 -1
  17. package/src/components/drawer.css +23 -3
  18. package/src/components/filter.css +71 -22
  19. package/src/components/kitchensink.css +2 -2
  20. package/src/components/loader.common.css +7 -0
  21. package/src/components/loader.css +3 -1
  22. package/src/components/loader.native.css +5 -0
  23. package/src/components/modal.common.css +2 -2
  24. package/src/components/modal.css +9 -9
  25. package/src/components/modal.native.css +3 -3
  26. package/src/components/pagination.css +19 -3
  27. package/src/components/postcss.config.js +7 -6
  28. package/src/components/stack.common.css +67 -0
  29. package/src/components/stack.css +23 -21
  30. package/src/components/stack.native.css +68 -0
  31. package/src/components/typography.common.css +1 -4
  32. package/src/components/typography.css +5 -1
  33. package/src/index.native.css +2 -0
  34. package/src/utilities/postcss.config.js +7 -6
  35. package/tailwind.config.js +102 -106
  36. package/theming.js +121 -0
  37. package/defaultTheme/accordion.json +0 -16
  38. package/defaultTheme/back-to-top.json +0 -27
  39. package/defaultTheme/brandConfig.json +0 -147
  40. package/defaultTheme/breadcrumbs.json +0 -8
  41. package/defaultTheme/button.json +0 -94
  42. package/defaultTheme/card.json +0 -23
  43. package/defaultTheme/form.json +0 -132
  44. package/defaultTheme/globals.json +0 -81
  45. package/defaultTheme/index.js +0 -27
  46. package/defaultTheme/layout.json +0 -55
  47. package/defaultTheme/misc.json +0 -68
  48. package/defaultTheme/panel.json +0 -48
  49. package/defaultTheme/phase-banner.json +0 -8
  50. package/defaultTheme/radios.json +0 -8
  51. package/defaultTheme/summary-list.json +0 -8
  52. package/defaultTheme/typography.json +0 -295
  53. package/themes.plugin.js +0 -148
package/index.js CHANGED
@@ -1,66 +1,92 @@
1
- const path = require("path");
1
+ const path = require('path');
2
2
 
3
- var digigovCssInfo = require(path.join(__dirname,'./package.json'))
4
- const digigovTailwindConfig = require(path.join(__dirname,'./tailwind.config.js'));
3
+ var digigovCssInfo = require(path.join(__dirname, './package.json'));
4
+ const digigovTailwindConfig = require(
5
+ path.join(__dirname, './tailwind.config.js')
6
+ );
5
7
 
6
- const base = require(path.join(__dirname,'./dist/base'))
7
- const utilities = require(path.join(__dirname,'./dist/utilities'))
8
- const components = require(path.join(__dirname,'./dist/components'))
8
+ const getThemeBaseStyle = require(path.join(__dirname, './theming.js'));
9
9
 
10
- const mainFunction = ({ addBase, addComponents, addUtilities, config }) => {
11
- let digigovCssIncludedItems = []
12
- let logs = false
13
- if (config('digigovCss.logs') != false) {
14
- logs = true
15
- }
16
- if (logs) {
17
- console.log()
18
- console.log('\x1b[35m%s\x1b[0m', '🌼 Digigov CSS components ' + digigovCssInfo.version, '\x1b[0m', digigovCssInfo.homepage)
19
- console.group()
20
- }
10
+ const base = require(path.join(__dirname, './dist/base'));
11
+ const utilities = require(path.join(__dirname, './dist/utilities'));
12
+ const components = require(path.join(__dirname, './dist/components'));
21
13
 
22
- // inject @base style
23
- if (config('digigovCss.base') != false) {
24
- addBase(base)
25
- digigovCssIncludedItems.push('base')
26
- }
14
+ /**
15
+ * Load Digigov CSS styles and add them to the base tailwindcss styles.
16
+ *
17
+ * Optionally, you can provide additional options for loading a custom theme.
18
+ *
19
+ * @param {object} [options={}]
20
+ * @param {string} [options.customTheme] - Custom theme package name or file path.
21
+ * @param {boolean} [options.eject] - Whether to ignore the default Digigov CSS base styles.
22
+ */
23
+ function mainFunction(options = {}) {
24
+ return function ({ addBase, addComponents, addUtilities, config }) {
25
+ let digigovCssIncludedItems = [];
26
+ let logs = false;
27
+ if (config('digigovCss.logs') != false) {
28
+ logs = true;
29
+ }
30
+ if (logs) {
31
+ console.log();
32
+ console.log(
33
+ '\x1b[35m%s\x1b[0m',
34
+ '🌼 Digigov CSS components ' + digigovCssInfo.version,
35
+ '\x1b[0m',
36
+ digigovCssInfo.homepage
37
+ );
38
+ console.group();
39
+ }
27
40
 
28
- // inject components
29
- let classNames = [];
30
- let mediaQueries = [];
31
- // split compiled components in two different sectors
32
- // to load them in the correct order, since media queries
33
- // should be always after the main CSS rules
34
- Object.keys(components).forEach(selector => {
35
- // checking if selectors are media queries
36
- if (selector.startsWith('@media')) {
37
- mediaQueries.push({[selector]: components[selector]});
38
- // ... or just regular css rules
39
- } else {
40
- classNames.push({[selector]: components[selector]});
41
- }
42
- });
43
- if (config('digigovCss.components') != false) {
44
- // this order is important for loading CSS rules and media queries
45
- // consistently, since the keys in js objects are not ordered and
46
- // sometimes order can be different. By spreading them in sequence
47
- // we fix this bug
48
- addComponents([
49
- ...classNames,
50
- ...mediaQueries,
51
- ])
52
- digigovCssIncludedItems.push('components')
53
- }
41
+ // inject @base style
42
+ if (config('digigovCss.base') != false) {
43
+ const themeBaseStyle = getThemeBaseStyle({
44
+ eject: options.eject,
45
+ theme: options.customTheme,
46
+ debug: logs,
47
+ });
48
+ addBase({ ...base, ...themeBaseStyle });
49
+ digigovCssIncludedItems.push('base');
50
+ }
54
51
 
55
- // inject @utilities style needed by components
56
- if (config('digigovCss.utils') != false) {
57
- addUtilities(utilities)
58
- digigovCssIncludedItems.push('utilities')
59
- }
60
- if (logs) {
61
- console.log('\x1b[32m%s\x1b[0m', '✔︎ Including:', '\x1b[0m', '' + digigovCssIncludedItems.join(', '));
62
- if (isTailwindInstalled === false) {
63
- console.log(`\n\x1b[33;1m! warning\x1b[0m - unable to require \x1b[36mtailwindcss/plugin\x1b[0m
52
+ // inject components
53
+ let classNames = [];
54
+ let mediaQueries = [];
55
+ // split compiled components in two different sectors
56
+ // to load them in the correct order, since media queries
57
+ // should be always after the main CSS rules
58
+ Object.keys(components).forEach((selector) => {
59
+ // checking if selectors are media queries
60
+ if (selector.startsWith('@media')) {
61
+ mediaQueries.push({ [selector]: components[selector] });
62
+ // ... or just regular css rules
63
+ } else {
64
+ classNames.push({ [selector]: components[selector] });
65
+ }
66
+ });
67
+ if (config('digigovCss.components') != false) {
68
+ // this order is important for loading CSS rules and media queries
69
+ // consistently, since the keys in js objects are not ordered and
70
+ // sometimes order can be different. By spreading them in sequence
71
+ // we fix this bug
72
+ addComponents([...classNames, ...mediaQueries]);
73
+ digigovCssIncludedItems.push('components');
74
+ }
75
+
76
+ // inject @utilities style needed by components
77
+ if (config('digigovCss.utils') != false) {
78
+ addUtilities(utilities);
79
+ digigovCssIncludedItems.push('utilities');
80
+ }
81
+ if (logs) {
82
+ console.log(
83
+ '\x1b[32m%s\x1b[0m',
84
+ '🛠️ Including functions:',
85
+ '\x1b[0m',
86
+ '' + digigovCssIncludedItems.join(', ')
87
+ );
88
+ if (isTailwindInstalled === false) {
89
+ console.log(`\n\x1b[33;1m! warning\x1b[0m - unable to require \x1b[36mtailwindcss/plugin\x1b[0m
64
90
  Digigov CSS color are now only available for Digigov CSS components.
65
91
  If you want to use DigigovCSS color as utility classes (like 'bg-primary')
66
92
  you need to add this to your \x1b[36mtailwind.config.js\x1b[0m file:
@@ -73,25 +99,29 @@ you need to add this to your \x1b[36mtailwind.config.js\x1b[0m file:
73
99
  },\x1b[0m
74
100
  \x1b[36m}\x1b[0m
75
101
  ───────────────────────────────────────
76
- `)
77
- }
78
- console.log()
79
- console.groupEnd()
80
- }
102
+ `);
103
+ }
104
+ console.log();
105
+ console.groupEnd();
106
+ }
107
+ };
81
108
  }
82
109
 
83
110
  // check if tailwindcss package exists
84
111
  let isTailwindInstalled = false;
85
112
  try {
86
- require.resolve('tailwindcss/plugin')
87
- isTailwindInstalled = true
113
+ require.resolve('tailwindcss/plugin');
114
+ isTailwindInstalled = true;
88
115
  } catch (er) {
89
- isTailwindInstalled = false
116
+ isTailwindInstalled = false;
90
117
  }
91
118
  if (isTailwindInstalled !== false) {
92
- module.exports = require("tailwindcss/plugin")(
93
- mainFunction, digigovTailwindConfig
94
- );
119
+ module.exports = require('tailwindcss/plugin').withOptions(
120
+ mainFunction,
121
+ function (options) {
122
+ return { ...digigovTailwindConfig, ...options };
123
+ }
124
+ );
95
125
  } else {
96
- module.exports = mainFunction;
126
+ module.exports = mainFunction;
97
127
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@digigov/css",
3
- "version": "2.0.0-60d81ed8",
3
+ "version": "2.0.0-6452adf3",
4
4
  "description": "Digigov CSS - Tailwind CSS Components",
5
5
  "author": "GRNET Devs <devs@lists.grnet.gr>",
6
6
  "license": "BSD-2-Clause",
@@ -27,7 +27,7 @@
27
27
  "defaultTheme",
28
28
  "src",
29
29
  "colors",
30
- "themes.plugin.js",
30
+ "theming.js",
31
31
  "postcss.config.js",
32
32
  "tailwind.config.js",
33
33
  "screens.json"
@@ -39,10 +39,8 @@
39
39
  ]
40
40
  },
41
41
  "devDependencies": {
42
- "@digigov/cli": "1.1.2-60d81ed8",
42
+ "@digigov/cli": "2.0.0-6452adf3",
43
43
  "autoprefixer": "10.4.16",
44
- "cssnano": "4.1.10",
45
- "postcss": "8.4.4",
46
44
  "postcss-cli": "8.3.0",
47
45
  "postcss-import": "13.0.0",
48
46
  "prejss-cli": "0.3.3",
@@ -50,21 +48,23 @@
50
48
  "tailwindcss": "3.3.5",
51
49
  "nodemon": "2.0.7",
52
50
  "next": "13.1.1",
53
- "@digigov/postcss-banner": "1.0.5-60d81ed8",
54
- "@digigov/cli-build-tailwind": "1.0.2-60d81ed8",
51
+ "@digigov/postcss-banner": "1.0.5-6452adf3",
52
+ "@digigov/cli-build-tailwind": "2.0.0-6452adf3",
55
53
  "rimraf": "3.0.2",
56
54
  "publint": "0.1.8",
57
55
  "stylelint": "15.11.0",
58
- "stylelint-plugin-digigov": "1.1.0-60d81ed8",
56
+ "stylelint-plugin-digigov": "1.1.0-6452adf3",
59
57
  "prettier": "3.2.5"
60
58
  },
61
59
  "dependencies": {
60
+ "@digigov/theme-default": "1.0.0-6452adf3",
62
61
  "@fontsource/roboto": "4.4.0",
62
+ "cssnano": "4.1.10",
63
63
  "publint": "0.1.8",
64
- "@adobe/leonardo-contrast-colors": "1.0.0-alpha.13",
65
- "polished": "4.2.2",
64
+ "postcss": "8.4.4",
66
65
  "postcss-js": "4.0.0",
67
- "postcss-load-config": "3.1.4"
66
+ "postcss-load-config": "3.1.4",
67
+ "postcss-sort-media-queries": "5.2.0"
68
68
  },
69
69
  "scripts": {
70
70
  "preutilities": "DIGIGOV_CSS_BUILD=TRUE postcss --config src/utilities src/utilities/index.css --base src --dir dist",
package/postcss.config.js CHANGED
@@ -1,14 +1,14 @@
1
-
2
1
  /** @type {import('postcss-load-config').Config} */
3
2
  const config = {
4
3
  plugins: {
5
- "postcss-import": {},
6
- "tailwindcss/nesting": {},
4
+ 'postcss-import': {},
5
+ 'tailwindcss/nesting': {},
7
6
  tailwindcss: {},
8
7
  autoprefixer: {},
8
+ 'postcss-sort-media-queries': {},
9
9
  cssnano: {
10
10
  preset: [
11
- "default",
11
+ 'default',
12
12
  {
13
13
  mergeRules: false,
14
14
  },
@@ -1,4 +1,5 @@
1
1
  @import 'tailwindcss/base';
2
+
2
3
  :root {
3
4
  accent-color: var(--color-accent);
4
5
  }
@@ -1,27 +1,28 @@
1
- const changeLog = require("../../CHANGELOG.json");
1
+ const changeLog = require('../../CHANGELOG.json');
2
2
  const entries = changeLog.entries.sort(
3
- (a, b) => new Date(b.date) - new Date(a.date),
3
+ (a, b) => new Date(b.date) - new Date(a.date)
4
4
  );
5
5
  const version = entries[0].version;
6
6
  const date = entries[0].date;
7
- const cssDate = new Date(date).toLocaleDateString("si-LK"); //yyyy-MM-dd
7
+ const cssDate = new Date(date).toLocaleDateString('si-LK'); //yyyy-MM-dd
8
8
 
9
9
  /** @type {import('postcss-load-config').Config} */
10
10
  const config = {
11
11
  plugins: [
12
- require("postcss-import"),
13
- require("tailwindcss/nesting"),
14
- require("tailwindcss")("./src/base/tailwind.config.js"),
15
- require("autoprefixer"),
16
- require("cssnano")({
12
+ require('postcss-import'),
13
+ require('tailwindcss/nesting'),
14
+ require('tailwindcss')('./src/base/tailwind.config.js'),
15
+ require('autoprefixer'),
16
+ require('postcss-sort-media-queries'),
17
+ require('cssnano')({
17
18
  preset: [
18
- "default",
19
+ 'default',
19
20
  {
20
21
  mergeRules: false,
21
22
  },
22
23
  ],
23
24
  }),
24
- require("@digigov/postcss-banner")({
25
+ require('@digigov/postcss-banner')({
25
26
  banner: `@digigov/css: ${version}\n\nAuthor: grnet-devs\nDate: ${cssDate}`,
26
27
  inline: false,
27
28
  important: true,
@@ -1,21 +1,14 @@
1
- const plugin = require("tailwindcss/plugin");
2
- const themesPlugin = require("../../themes.plugin");
3
- const tailwindConfig = require("../../tailwind.config");
1
+ const tailwindConfig = require('../../tailwind.config');
4
2
 
5
3
  /** @type {import('tailwindcss').Config} */
6
4
  module.exports = {
7
5
  ...tailwindConfig,
8
6
  content: {
9
7
  files: [
10
- "./*.css",
11
- "../../dist/components/*.css",
12
- "../../dist/utilities/*.css",
8
+ './*.css',
9
+ '../../dist/components/*.css',
10
+ '../../dist/utilities/*.css',
13
11
  ],
14
12
  relative: true,
15
13
  },
16
- themes: {
17
- light: require.resolve("../../../../themes/govgr-light"),
18
- dark: require.resolve("../../../../themes/govgr-dark"),
19
- },
20
- plugins: [plugin(themesPlugin)],
21
14
  };
@@ -5,7 +5,7 @@
5
5
 
6
6
  @layer utilities {
7
7
  .util-btn {
8
- @apply m-0 mb-4 md:mb-8 flex items-center;
8
+ @apply m-0 mb-4 md:mb-8 flex items-center gap-x-3;
9
9
  border-radius: var(--btn-border-radius);
10
10
  padding-right: var(--btn-padding-x);
11
11
  padding-left: var(--btn-padding-x);
@@ -3,7 +3,7 @@
3
3
  .ds-btn[type='submit'],
4
4
  .ds-btn[type='button'],
5
5
  .ds-btn[type='reset'] {
6
- @apply util-btn util-btn-text min-h-10 md:min-h-12 w-max cursor-pointer gap-x-3;
6
+ @apply util-btn util-btn-text min-h-10 md:min-h-12 w-max cursor-pointer;
7
7
  &:focus {
8
8
  box-shadow:
9
9
  0 0 0 2px var(--color-white),
@@ -4,8 +4,8 @@
4
4
 
5
5
  .ds-btn {
6
6
  @apply util-btn min-h-4 flex-row flex-nowrap justify-center;
7
- border-bottom-width: 2px;
8
- border-bottom-color: var(--color-base-content);
7
+ border-bottom-width: var(--btn-border-bottom-width-native);
8
+ border-bottom-color: var(--btn-border-bottom-color-native);
9
9
  padding-top: calc( 1.5 * var(--btn-padding-y)) !important;
10
10
  padding-bottom: calc( 1.5 * var(--btn-padding-y)) !important;
11
11
  }
@@ -51,6 +51,5 @@
51
51
  @apply util-btn-cta-text;
52
52
  }
53
53
  .ds-btn-cta__icon {
54
- @apply ml-2;
55
54
  fill: var(--color-white) !important;
56
55
  }
@@ -35,7 +35,7 @@
35
35
  }
36
36
  }
37
37
  .ds-copy-to-clipboard__message {
38
- @apply bg-success py-4 px-6 absolute mt-4 text-center z-50 w-fit md:w-max;
38
+ @apply bg-success py-4 px-6 absolute mt-4 text-center z-40 w-fit md:w-max;
39
39
  &::before {
40
40
  @apply w-4 h-4 border-t-8 border-l-8 border-success transform rotate-45
41
41
  absolute -top-1;
@@ -1,16 +1,33 @@
1
+ .ds-drawer-container {
2
+ @apply justify-center items-center content-center
3
+ left-0 top-0 w-full h-full overflow-auto
4
+ flex fixed z-50 bg-opacity-50 bg-base-700;
5
+ &.ds-drawer-container--relative-sm {
6
+ @apply sm:bg-transparent sm:z-0 sm:relative sm:block;
7
+ }
8
+ &.ds-drawer-container--relative-md {
9
+ @apply md:bg-transparent md:z-0 md:relative md:block;
10
+ }
11
+ &.ds-drawer-container--relative-lg {
12
+ @apply lg:bg-transparent lg:z-0 lg:relative lg:block;
13
+ }
14
+ &.ds-drawer-container--closed {
15
+ @apply hidden;
16
+ }
17
+ }
1
18
  .ds-drawer {
2
19
  @apply border border-base-300 bg-base-100 p-4
3
20
  h-full max-h-screen min-h-screen overflow-y-scroll w-4/5 max-w-md flex flex-col
4
21
  fixed top-0 bottom-0 z-40;
5
22
  @apply shadow-thick !important;
6
23
  &.ds-drawer--relative-sm {
7
- @apply sm:relative sm:w-full max-h-full shadow-thick sm:shadow-none !important;
24
+ @apply sm:relative sm:w-full sm:min-h-fit shadow-thick sm:shadow-none !important;
8
25
  }
9
26
  &.ds-drawer--relative-md {
10
- @apply md:relative md:w-full max-h-full shadow-thick md:shadow-none !important;
27
+ @apply md:relative md:w-full md:min-h-fit shadow-thick md:shadow-none !important;
11
28
  }
12
29
  &.ds-drawer--relative-lg {
13
- @apply lg:relative lg:w-full max-h-full shadow-thick lg:shadow-none !important;
30
+ @apply lg:relative lg:w-full lg:min-h-fit shadow-thick lg:shadow-none !important;
14
31
  }
15
32
  &.ds-drawer--right {
16
33
  @apply right-0;
@@ -37,6 +54,9 @@
37
54
  }
38
55
  .ds-drawer__heading {
39
56
  @apply p-0 mb-2 md:mb-4 flex justify-between align-baseline;
57
+ &:has(.ds-close-btn:only-child) {
58
+ @apply justify-end;
59
+ }
40
60
  .ds--drawer__close-icon {
41
61
  @apply m-0;
42
62
  }
@@ -1,40 +1,63 @@
1
+ .ds-filter-container {
2
+ @apply fixed left-0 top-0 overflow-auto w-full h-full
3
+ flex justify-center items-center content-center
4
+ z-50 bg-opacity-50 bg-base-700;
5
+ &.ds-filter-container--position-relative-always {
6
+ @apply bg-transparent h-fit z-2 overflow-visible relative block !important;
7
+ }
8
+ &.ds-filter-container--position-relative-sm {
9
+ @apply sm:bg-transparent sm:h-fit sm:z-2 sm:overflow-visible sm:relative;
10
+ @apply sm:block !important;
11
+ }
12
+ &.ds-filter-container--position-relative-md {
13
+ @apply md:bg-transparent md:h-fit md:z-2 md:overflow-visible md:relative;
14
+ @apply md:block !important;
15
+ }
16
+ &.ds-filter-container--position-relative-lg {
17
+ @apply lg:bg-transparent lg:h-fit lg:z-2 lg:overflow-visible lg:relative;
18
+ @apply lg:block !important;
19
+ }
20
+ &.ds-filter-container--closed {
21
+ @apply hidden;
22
+ }
23
+ }
1
24
  .ds-filter {
2
- @apply bg-base-100 fixed top-0 right-0 bottom-0 overflow-y-scroll z-40 w-4/5;
25
+ @apply bg-base-100 fixed top-0 right-0 bottom-0 overflow-y-scroll w-4/5 max-w-md p-4;
3
26
  box-shadow: 0 0 30px rgba(var(--color-base-900-rgb), 0.9);
4
27
  &.ds-filter--position-relative-always {
5
- @apply block relative overflow-visible w-full shadow-none z-2 !important;
6
- &.ds-filter--closed {
7
- @apply block !important;
8
- }
28
+ @apply relative w-full max-w-full shadow-none mb-4 md:mb-8;
9
29
  }
10
30
  &.ds-filter--position-relative-sm {
11
- @apply sm:block sm:relative sm:overflow-visible sm:w-full sm:shadow-none sm:z-2;
12
- &.ds-filter--closed {
13
- @apply sm:block;
31
+ @apply sm:relative sm:w-full sm:shadow-none sm:mb-4 md:mb-8 sm:max-w-full;
32
+ &:not(.ds-filter--border) {
33
+ @apply sm:p-0;
14
34
  }
15
35
  }
16
36
  &.ds-filter--position-relative-md {
17
- @apply md:block md:relative md:overflow-visible md:w-full md:shadow-none md:z-2;
18
- &.ds-filter--closed {
19
- @apply md:block;
37
+ @apply md:relative md:w-full md:shadow-none md:mb-8 md:max-w-full;
38
+ &:not(.ds-filter--border) {
39
+ @apply md:p-0;
20
40
  }
21
41
  }
22
42
  &.ds-filter--position-relative-lg {
23
- @apply lg:block lg:relative lg:overflow-visible lg:w-full lg:shadow-none lg:z-2;
24
- &.ds-filter--closed {
25
- @apply lg:block;
43
+ @apply lg:relative lg:overflow-visible lg:w-full lg:shadow-none
44
+ lg:z-2 lg:mb-8 lg:max-w-full;
45
+ &:not(.ds-filter--border) {
46
+ @apply lg:p-0;
26
47
  }
27
48
  }
28
49
  &.ds-filter--border {
29
- @apply border border-base-300 p-4;
30
- }
31
- &.ds-filter--closed {
32
- @apply hidden;
50
+ @apply border border-base-300;
33
51
  }
34
52
  }
35
53
  .ds-filter__content {
36
54
  @apply flex flex-col gap-8 p-0;
37
55
  }
56
+ .ds-filter__options {
57
+ .ds-btn:last-child {
58
+ @apply mb-0;
59
+ }
60
+ }
38
61
  .ds-filter__options--horizontal {
39
62
  @apply flex gap-4 flex-col;
40
63
  @apply md:flex-row md:flex-wrap;
@@ -51,13 +74,13 @@
51
74
  @apply p-0;
52
75
  }
53
76
  .ds-filter__heading {
54
- @apply mb-2 md:mb-4;
77
+ @apply mb-4 md:mb-8 flex justify-between align-baseline items-baseline;
55
78
  }
56
79
  .ds-filter__selected {
57
80
  @apply bg-base-200 p-4 m-0 rounded;
58
81
  }
59
82
  .ds-filter__selected-heading {
60
- @apply flex flex-wrap sm:flex-nowrap mb-4 md:mb-8 justify-between gap-x-2 gap-y-4;
83
+ @apply flex flex-wrap mb-4 md:mb-8 justify-between gap-x-2 gap-y-4;
61
84
  }
62
85
  .ds-input__search-btn {
63
86
  @apply shadow-none mb-0 !important;
@@ -85,8 +108,34 @@
85
108
  /* overrides */
86
109
 
87
110
  .ds-filter {
88
- @apply bg-base-100 fixed top-0 right-0 bottom-0 overflow-y-scroll z-40 w-4/5;
89
- box-shadow: 0 0 30px rgba(var(--color-base-900-rgb), 0.9);
111
+ &.ds-filter--position-relative-always {
112
+ .ds-filter__heading {
113
+ > .ds-close-btn {
114
+ @apply hidden;
115
+ }
116
+ }
117
+ }
118
+ &.ds-filter--position-relative-sm {
119
+ .ds-filter__heading {
120
+ > .ds-close-btn {
121
+ @apply sm:hidden;
122
+ }
123
+ }
124
+ }
125
+ &.ds-filter--position-relative-md {
126
+ .ds-filter__heading {
127
+ > .ds-close-btn {
128
+ @apply md:hidden;
129
+ }
130
+ }
131
+ }
132
+ &.ds-filter--position-relative-lg {
133
+ .ds-filter__heading {
134
+ > .ds-close-btn {
135
+ @apply lg:hidden;
136
+ }
137
+ }
138
+ }
90
139
  .ds-select {
91
140
  @apply w-full;
92
141
  }
@@ -40,10 +40,10 @@
40
40
  .ds-dropdown {
41
41
  margin-bottom: 20rem;
42
42
  }
43
- .ds-modal__body {
43
+ .ds-modal {
44
44
  margin: 1rem;
45
45
  }
46
- .ds-modal {
46
+ .ds-modal-container {
47
47
  position: inherit;
48
48
  }
49
49
  }
@@ -0,0 +1,7 @@
1
+ @tailwind utilities;
2
+
3
+ @layer utilities {
4
+ .util-loader {
5
+ @apply m-auto overflow-hidden;
6
+ }
7
+ }
@@ -1,5 +1,7 @@
1
+ @import './loader.common.css';
2
+
1
3
  .ds-loader {
2
- @apply h-fit w-fit m-auto overflow-hidden print:hidden;
4
+ @apply util-loader h-fit w-fit print:hidden;
3
5
  }
4
6
  .ds-circular-progress {
5
7
  @apply w-fit h-10;
@@ -0,0 +1,5 @@
1
+ @import './loader.common.css';
2
+
3
+ .ds-loader {
4
+ @apply util-loader;
5
+ }
@@ -1,10 +1,10 @@
1
1
  @tailwind utilities;
2
2
 
3
3
  @layer utilities {
4
- .util-modal__body {
4
+ .util-modal {
5
5
  @apply bg-base-100 p-6 border border-solid border-base-500;
6
6
  }
7
- .util-modal__container {
7
+ .util-modal__body {
8
8
  @apply gap-6 -my-4;
9
9
  }
10
10
  .util-modal__content-text {
@@ -1,31 +1,31 @@
1
1
  @import './modal.common.css';
2
2
 
3
- .ds-modal {
3
+ .ds-modal-container {
4
4
  @apply hidden justify-center items-center content-center text-left
5
5
  text-base-content bg-opacity-50 bg-base-700
6
6
  fixed z-50 left-0 top-0 w-full h-full overflow-auto;
7
7
 
8
- &.ds-modal--open {
8
+ &.ds-modal-container--open {
9
9
  @apply flex;
10
10
  }
11
11
 
12
- &.ds-modal--dense,
12
+ &.ds-modal-container--dense,
13
13
  &.ds-dense & {
14
- .ds-modal__body {
14
+ .ds-modal {
15
15
  @apply px-4 py-0;
16
16
  }
17
- .ds-modal__container {
17
+ .ds-modal__body {
18
18
  @apply gap-4 my-0;
19
19
  }
20
20
  }
21
21
  }
22
- .ds-modal__body {
23
- @apply util-modal__body w-full max-w-md md:max-w-lg lg:max-w-4xl
22
+ .ds-modal {
23
+ @apply util-modal w-full max-w-md md:max-w-lg lg:max-w-4xl
24
24
  h-fit md:h-auto overflow-y-auto;
25
25
  max-height: 95vh;
26
26
  }
27
- .ds-modal__container {
28
- @apply grid util-modal__container;
27
+ .ds-modal__body {
28
+ @apply grid util-modal__body;
29
29
  .ds-modal__action {
30
30
  @apply mb-0;
31
31
  }