@dynamic-framework/ui-react 1.1.1

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 (104) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +16 -0
  3. package/dist/css/dynamic-ui-react.css +3 -0
  4. package/dist/css/dynamic-ui-react.css.map +1 -0
  5. package/dist/index.esm.js +857 -0
  6. package/dist/index.esm.js.map +1 -0
  7. package/dist/index.js +924 -0
  8. package/dist/index.js.map +1 -0
  9. package/dist/types/components/MBoxFile.d.ts +10 -0
  10. package/dist/types/components/MCalendar.d.ts +25 -0
  11. package/dist/types/components/MCollapse.d.ts +11 -0
  12. package/dist/types/components/MCurrencyText.d.ts +7 -0
  13. package/dist/types/components/MFormikInput.d.ts +7 -0
  14. package/dist/types/components/MFormikInputSelect.d.ts +9 -0
  15. package/dist/types/components/MInputCurrency.d.ts +7 -0
  16. package/dist/types/components/MPopover.d.ts +8 -0
  17. package/dist/types/components/MSkeleton.d.ts +8 -0
  18. package/dist/types/components/MTabContent.d.ts +6 -0
  19. package/dist/types/components/MTabs.d.ts +19 -0
  20. package/dist/types/components/MToastContainer.d.ts +12 -0
  21. package/dist/types/components/MTooltip.d.ts +17 -0
  22. package/dist/types/components/banking/MCollapseIconText.d.ts +23 -0
  23. package/dist/types/components/banking/MPermissionGroup.d.ts +12 -0
  24. package/dist/types/components/banking/MPermissionItem.d.ts +10 -0
  25. package/dist/types/components/banking/MSummaryCard.d.ts +12 -0
  26. package/dist/types/components/banking/index.d.ts +4 -0
  27. package/dist/types/components/banking/interface.d.ts +7 -0
  28. package/dist/types/components/index.d.ts +16 -0
  29. package/dist/types/components/proxies.d.ts +23 -0
  30. package/dist/types/components/react-component-lib/createComponent.d.ts +10 -0
  31. package/dist/types/components/react-component-lib/createOverlayComponent.d.ts +21 -0
  32. package/dist/types/components/react-component-lib/index.d.ts +2 -0
  33. package/dist/types/components/react-component-lib/interfaces.d.ts +29 -0
  34. package/dist/types/components/react-component-lib/utils/attachProps.d.ts +16 -0
  35. package/dist/types/components/react-component-lib/utils/case.d.ts +2 -0
  36. package/dist/types/components/react-component-lib/utils/dev.d.ts +2 -0
  37. package/dist/types/components/react-component-lib/utils/index.d.ts +10 -0
  38. package/dist/types/contexts/LiquidContext.d.ts +14 -0
  39. package/dist/types/contexts/ModalContext.d.ts +44 -0
  40. package/dist/types/contexts/OffcanvasContext.d.ts +44 -0
  41. package/dist/types/contexts/index.d.ts +3 -0
  42. package/dist/types/hooks/index.d.ts +5 -0
  43. package/dist/types/hooks/useFormatCurrency.d.ts +4 -0
  44. package/dist/types/hooks/useScreenshot.d.ts +5 -0
  45. package/dist/types/hooks/useScreenshotDownload.d.ts +5 -0
  46. package/dist/types/hooks/useScreenshotWebShare.d.ts +5 -0
  47. package/dist/types/hooks/useStackState.d.ts +19 -0
  48. package/dist/types/hooks/useToast.d.ts +11 -0
  49. package/dist/types/index.d.ts +4 -0
  50. package/dist/types/stories/components/MBoxFile.stories.d.ts +6 -0
  51. package/dist/types/stories/components/MButton.stories.d.ts +35 -0
  52. package/dist/types/stories/components/MCalendar.stories.d.ts +6 -0
  53. package/dist/types/stories/components/MFormikInput.stories.d.ts +7 -0
  54. package/dist/types/stories/components/MFormikInputSelect.stories.d.ts +7 -0
  55. package/dist/types/stories/components/MIcon.stories.d.ts +7 -0
  56. package/dist/types/stories/components/MInput.stories.d.ts +11 -0
  57. package/dist/types/stories/components/MInputCheck.stories.d.ts +13 -0
  58. package/dist/types/stories/components/MInputCounter.stories.d.ts +9 -0
  59. package/dist/types/stories/components/MInputCurrency.stories.d.ts +11 -0
  60. package/dist/types/stories/components/MInputCurrencyBase.stories.d.ts +11 -0
  61. package/dist/types/stories/components/MInputPassword.stories.d.ts +10 -0
  62. package/dist/types/stories/components/MInputPin.stories.d.ts +10 -0
  63. package/dist/types/stories/components/MInputSearch.stories.d.ts +10 -0
  64. package/dist/types/stories/components/MInputSelect.stories.d.ts +9 -0
  65. package/dist/types/stories/components/MInputSwitch.stories.d.ts +11 -0
  66. package/dist/types/stories/components/MProgressBar.stories.d.ts +12 -0
  67. package/dist/types/stories/components/MQuickActionButton.stories.d.ts +10 -0
  68. package/dist/types/stories/components/MQuickActionCheck.stories.d.ts +8 -0
  69. package/dist/types/stories/components/MQuickActionSelect.stories.d.ts +8 -0
  70. package/dist/types/stories/components/MQuickActionSwitch.stories.d.ts +9 -0
  71. package/dist/types/stories/components/MSkeleton.stories.d.ts +6 -0
  72. package/dist/types/stories/components/MTooltip.stories.d.ts +18 -0
  73. package/dist/types/stories/config/liquidConfig.d.ts +1 -0
  74. package/dist/types/stories/constants.d.ts +8 -0
  75. package/dist/types/stories/hooks/useFormatCurrency.stories.d.ts +7 -0
  76. package/dist/types/stories/hooks/useModalContext.stories.d.ts +7 -0
  77. package/dist/types/stories/hooks/useOffcanvasContext.stories.d.ts +8 -0
  78. package/dist/types/stories/hooks/useToast.stories.d.ts +18 -0
  79. package/dist/types/stories/patterns/MAlert.stories.d.ts +24 -0
  80. package/dist/types/stories/patterns/MBadge.stories.d.ts +8 -0
  81. package/dist/types/stories/patterns/MChip.stories.d.ts +9 -0
  82. package/dist/types/stories/patterns/MCollapse.stories.d.ts +8 -0
  83. package/dist/types/stories/patterns/MCollapseIconText.stories.d.ts +6 -0
  84. package/dist/types/stories/patterns/MModal.stories.d.ts +12 -0
  85. package/dist/types/stories/patterns/MOffcanvas.stories.d.ts +12 -0
  86. package/dist/types/stories/patterns/MPopover.stories.d.ts +8 -0
  87. package/dist/types/stories/patterns/MTabs.stories.d.ts +7 -0
  88. package/dist/types/utils/configureI18n.d.ts +2 -0
  89. package/dist/types/utils/index.d.ts +1 -0
  90. package/package.json +134 -0
  91. package/src/style/_shame.scss +1 -0
  92. package/src/style/abstracts/_+import.scss +3 -0
  93. package/src/style/abstracts/variables/_+import.scss +2 -0
  94. package/src/style/abstracts/variables/_box-file.scss +15 -0
  95. package/src/style/abstracts/variables/_calendar.scss +19 -0
  96. package/src/style/abstracts/variables/_collapse-icon-text.scss +3 -0
  97. package/src/style/components/_+import.scss +6 -0
  98. package/src/style/components/_m-box-file.scss +66 -0
  99. package/src/style/components/_m-calendar.scss +205 -0
  100. package/src/style/components/_m-collapse-icon-text.scss +16 -0
  101. package/src/style/components/_m-collapse.scss +56 -0
  102. package/src/style/components/_m-popover.scss +12 -0
  103. package/src/style/components/_m-tabs.scss +56 -0
  104. package/src/style/main.scss +7 -0
@@ -0,0 +1,12 @@
1
+ import { Meta, StoryObj } from '@storybook/react';
2
+ import { MModal } from '../../components';
3
+ declare const config: Meta<typeof MModal>;
4
+ export default config;
5
+ declare type Story = StoryObj<typeof MModal>;
6
+ export declare const Default: Story;
7
+ export declare const ActionsPlacementStart: Story;
8
+ export declare const ActionsPlacementEnd: Story;
9
+ export declare const WithoutHeader: Story;
10
+ export declare const WithoutActions: Story;
11
+ export declare const OnlyBody: Story;
12
+ export declare const WithoutCancelX: Story;
@@ -0,0 +1,12 @@
1
+ import { Meta, StoryObj } from '@storybook/react';
2
+ import { MOffcanvas } from '../../components';
3
+ declare const config: Meta<typeof MOffcanvas>;
4
+ export default config;
5
+ declare type Story = StoryObj<typeof MOffcanvas>;
6
+ export declare const Default: Story;
7
+ export declare const ActionsPlacementStart: Story;
8
+ export declare const ActionsPlacementEnd: Story;
9
+ export declare const WithoutHeader: Story;
10
+ export declare const WithoutActions: Story;
11
+ export declare const OnlyBody: Story;
12
+ export declare const WithoutCancelX: Story;
@@ -0,0 +1,8 @@
1
+ import { Meta, StoryObj } from '@storybook/react';
2
+ import { MPopover } from '../../components';
3
+ declare const config: Meta<typeof MPopover>;
4
+ export default config;
5
+ declare type Story = StoryObj<typeof MPopover>;
6
+ export declare const Default: Story;
7
+ export declare const Open: Story;
8
+ export declare const Plain: Story;
@@ -0,0 +1,7 @@
1
+ import { Meta, StoryObj } from '@storybook/react';
2
+ import { MTabs } from '../../components';
3
+ declare const config: Meta<typeof MTabs>;
4
+ export default config;
5
+ declare type Story = StoryObj<typeof MTabs>;
6
+ export declare const Default: Story;
7
+ export declare const Vertical: Story;
@@ -0,0 +1,2 @@
1
+ import { InitOptions, Resource, TFunction } from 'i18next';
2
+ export default function configureI8n(resources: Resource, { lng, fallbackLng, ...config }?: InitOptions | undefined): Promise<TFunction>;
@@ -0,0 +1 @@
1
+ export { default as configureI18n } from './configureI18n';
package/package.json ADDED
@@ -0,0 +1,134 @@
1
+ {
2
+ "name": "@dynamic-framework/ui-react",
3
+ "sideEffects": false,
4
+ "version": "1.1.1",
5
+ "description": "React Dynamic Framework",
6
+ "license": "MIT",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "git+https://github.com/dynamic-framework/dynamic-ui.git"
10
+ },
11
+ "publishConfig": {
12
+ "access": "public"
13
+ },
14
+ "bugs": {
15
+ "type": "git",
16
+ "url": "https://github.com/dynamic-framework/dynamic-ui.git"
17
+ },
18
+ "author": {
19
+ "name": "Abraham José González Barboza",
20
+ "email": "agonzalez@modyo.com",
21
+ "url": "https://github.com/abe-modyo"
22
+ },
23
+ "scripts": {
24
+ "test": "jest",
25
+ "build": "pnpm build:react && pnpm build:style",
26
+ "build:react": "rimraf dist && tsc -p . && rollup -c rollup.config.js",
27
+ "build:react:watch": "tsc -p . && rollup -c rollup.config.js",
28
+ "build:scss": "sass --load-path=node_modules --source-map --style=compressed src/style/main.scss dist/css/dynamic-ui-react.css",
29
+ "build:scss:watch": "sass --load-path=node_modules --source-map -w src/style/main.scss dist/css/dynamic-ui-react.css",
30
+ "build:autoprefixer": "postcss dist/css/dynamic-ui-react.css --use autoprefixer -o dist/css/dynamic-ui-react.css",
31
+ "build:style": "pnpm build:scss && pnpm build:autoprefixer",
32
+ "clean": "rimraf dist",
33
+ "compile": "tsc -p . && rollup -c rollup.config.js",
34
+ "storybook": "storybook dev -p 6006",
35
+ "build-storybook": "storybook build -o docs",
36
+ "eslint": "eslint src/**/*{.ts,.tsx}",
37
+ "stylelint": "stylelint \"**/*.{css,scss}\" --rd",
38
+ "lint-staged": "lint-staged"
39
+ },
40
+ "main": "./dist/index.js",
41
+ "module": "./dist/index.esm.js",
42
+ "types": "./dist/types/index.d.ts",
43
+ "files": [
44
+ "dist/",
45
+ "src/style"
46
+ ],
47
+ "dependencies": {
48
+ "@floating-ui/react": "^0.24.1",
49
+ "axios": "^1.1.2",
50
+ "classnames": "^2.3.2",
51
+ "date-fns": "^2.29.3",
52
+ "i18next": "~21.9.0",
53
+ "react-content-loader": "~6.2.0",
54
+ "react-datepicker": "~4.8.0",
55
+ "react-dropzone": "^14.2.3"
56
+ },
57
+ "devDependencies": {
58
+ "@babel/core": "^7.19.3",
59
+ "@babel/preset-env": "^7.20.2",
60
+ "@babel/preset-react": "^7.18.6",
61
+ "@babel/preset-typescript": "^7.21.0",
62
+ "@dynamic-framework/ui": "^1.1.1",
63
+ "@mdx-js/react": "^2.3.0",
64
+ "@rollup/plugin-node-resolve": "^13.3.0",
65
+ "@storybook/addon-actions": "7.0.6",
66
+ "@storybook/addon-essentials": "7.0.6",
67
+ "@storybook/addon-interactions": "7.0.6",
68
+ "@storybook/addon-links": "7.0.6",
69
+ "@storybook/addon-viewport": "7.0.6",
70
+ "@storybook/blocks": "7.0.6",
71
+ "@storybook/react": "7.0.6",
72
+ "@storybook/react-webpack5": "7.0.6",
73
+ "@storybook/testing-library": "^0.1.0",
74
+ "@storybook/theming": "^7.0.24",
75
+ "@testing-library/jest-dom": "^5.16.5",
76
+ "@testing-library/react": "^13.4.0",
77
+ "@types/jest": "29.1.2",
78
+ "@types/lodash.camelcase": "^4.3.7",
79
+ "@types/luxon": "~3.0.1",
80
+ "@types/node": "^15.12.2",
81
+ "@types/react": "^18.0.8",
82
+ "@types/react-datepicker": "~4.8.0",
83
+ "@types/react-dom": "^18.0.3",
84
+ "@typescript-eslint/eslint-plugin": "^5.13.0",
85
+ "@typescript-eslint/parser": "^5.0.0",
86
+ "autoprefixer": "^10.4.14",
87
+ "babel-loader": "^8.2.5",
88
+ "bootstrap": "^5.3.0",
89
+ "eslint": "8.22.0",
90
+ "eslint-config-airbnb": "19.0.4",
91
+ "eslint-config-airbnb-typescript": "^17.0.0",
92
+ "eslint-plugin-import": "^2.25.3",
93
+ "eslint-plugin-jsx-a11y": "^6.5.1",
94
+ "eslint-plugin-react": "^7.28.0",
95
+ "eslint-plugin-react-hooks": "^4.3.0",
96
+ "formik": "^2.2.9",
97
+ "html2canvas": "^1.4.1",
98
+ "jest": "^29.1.2",
99
+ "jest-cli": "^29.1.2",
100
+ "jest-environment-jsdom": "^29.1.2",
101
+ "lint-staged": "^12.4.1",
102
+ "luxon": "~3.0.3",
103
+ "postcss-cli": "^10.1.0",
104
+ "react": "^18.1.0",
105
+ "react-dom": "^18.1.0",
106
+ "react-i18next": "~11.18.3",
107
+ "react-toastify": "~9.0.8",
108
+ "rimraf": "^2.6.3",
109
+ "rollup": "^2.72.1",
110
+ "sass": "^1.62.1",
111
+ "storybook": "^7.0.5",
112
+ "stylelint": "^15.6.2",
113
+ "stylelint-config-twbs-bootstrap": "^10.0.0",
114
+ "ts-jest": "^29.0.3",
115
+ "tslib": "^2.4.0",
116
+ "typescript": "^4.6.4"
117
+ },
118
+ "peerDependencies": {
119
+ "@dynamic-framework/ui": "*",
120
+ "formik": "^2.2.9",
121
+ "html2canvas": "^1.4.1",
122
+ "luxon": "~3.0.3",
123
+ "react": "^18.1.0",
124
+ "react-dom": "^18.1.0",
125
+ "react-i18next": "~11.18.3",
126
+ "react-toastify": "~9.0.8"
127
+ },
128
+ "nx": {
129
+ "implicitDependencies": [
130
+ "@dynamic-framework/ui"
131
+ ]
132
+ },
133
+ "gitHead": "c40ab13540ce3253c4280f845e663ac82d716576"
134
+ }
@@ -0,0 +1 @@
1
+ // keep empty.
@@ -0,0 +1,3 @@
1
+ @import "@dynamic-framework/ui/src/style/abstracts/+import";
2
+
3
+ @import "variables/+import";
@@ -0,0 +1,2 @@
1
+ @import "collapse-icon-text";
2
+ @import "box-file";
@@ -0,0 +1,15 @@
1
+ $box-file-gap: $spacer-3 !default;
2
+ $box-file-border: 1px dashed var(--#{$prefix}gray-700) !default;
3
+ $box-file-border-radius: $border-radius !default;
4
+ $box-file-padding: $spacer-5 !default;
5
+ $box-file-content-max-width: 220px !default;
6
+ $box-file-icon-size: $spacer-8 !default;
7
+ $box-file-icon-color: var(--#{$prefix}secondary-300) !default;
8
+
9
+ $box-file-hover-border: 1px dashed var(--#{$prefix}secondary-700) !default;
10
+ $box-file-hover-background: var(--#{$prefix}secondary-100) !default;
11
+
12
+ $box-file-selected-border: 1px dashed var(--#{$prefix}secondary-700) !default;
13
+ $box-file-selected-background: var(--#{$prefix}white) !default;
14
+
15
+ $box-file-files-color: var(--#{$prefix}gray-500) !default;
@@ -0,0 +1,19 @@
1
+ // stylelint-disable scss/dollar-variable-pattern
2
+ $datepicker__background-color: transparent !default;
3
+ $datepicker__border-color: transparent !default;
4
+ $datepicker__highlighted-color: var(--#{$prefix}secondary) !default;
5
+ $datepicker__muted-color: #ccc !default;
6
+ $datepicker__selected-color: var(--#{$prefix}secondary) !default;
7
+ $datepicker__text-color: var(--#{$prefix}body-color) !default;
8
+ $datepicker__header-color: var(--#{$prefix}body-color) !default;
9
+ $datepicker__navigation-disabled-color: var(--#{$prefix}light) !default;
10
+
11
+ $datepicker__border-radius: .3rem !default;
12
+ $datepicker__day-margin: .166rem !default;
13
+ $datepicker__font-size: .8rem !default;
14
+ $datepicker__font-family: "Helvetica Neue", helvetica, arial, sans-serif !default;
15
+ $datepicker__item-size: 1.7rem !default;
16
+ $datepicker__margin: .4rem !default;
17
+ $datepicker__navigation-button-size: 32px !default;
18
+ $datepicker__triangle-size: 8px !default;
19
+ // stylelint-enable scss/dollar-variable-pattern
@@ -0,0 +1,3 @@
1
+ $collapse-icon-text-header-gap: $spacer-3 !default;
2
+ $collapse-icon-text-header-font-size: $h6-font-size !default;
3
+ $collapse-icon-text-header-font-weight: $font-weight-bold !default;
@@ -0,0 +1,6 @@
1
+ @import "m-collapse";
2
+ @import "m-collapse-icon-text";
3
+ @import "m-calendar";
4
+ @import "m-tabs";
5
+ @import "m-popover";
6
+ @import "m-box-file";
@@ -0,0 +1,66 @@
1
+ .m-box-file {
2
+ --#{$prefix}m-box-file-gap: #{$box-file-gap};
3
+ --#{$prefix}m-box-file-border: #{$box-file-border};
4
+ --#{$prefix}m-box-file-border-radius: #{$box-file-border-radius};
5
+ --#{$prefix}m-box-file-padding: #{$box-file-padding};
6
+ --#{$prefix}m-box-file-content-max-width: #{$box-file-content-max-width};
7
+ --#{$prefix}m-box-file-icon-size: #{$box-file-icon-size};
8
+ --#{$prefix}m-box-file-icon-color: #{$box-file-icon-color};
9
+
10
+ --#{$prefix}m-box-file-hover-border: #{$box-file-hover-border};
11
+ --#{$prefix}m-box-file-hover-bg: #{$box-file-hover-background};
12
+
13
+ --#{$prefix}m-box-file-selected-border: #{$box-file-selected-border};
14
+ --#{$prefix}m-box-file-selected-bg: #{$box-file-selected-background};
15
+
16
+ display: flex;
17
+ flex-direction: column;
18
+ gap: var(--#{$prefix}m-box-file-gap);
19
+ width: 100%;
20
+ cursor: pointer;
21
+ border: var(--#{$prefix}m-box-file-border);
22
+ border-radius: var(--#{$prefix}m-box-file-border-radius);
23
+
24
+ &:hover {
25
+ background: var(--#{$prefix}m-box-file-hover-bg);
26
+ border: var(--#{$prefix}m-box-file-hover-border);
27
+ }
28
+
29
+ &.m-box-file-selected {
30
+ background: var(--#{$prefix}m-box-file-selected-bg);
31
+ border: var(--#{$prefix}m-box-file-selected-border);
32
+ }
33
+
34
+ .m-icon {
35
+ --#{$prefix}m-icon-size: var(--#{$prefix}m-box-file-icon-size);
36
+ --#{$prefix}m-icon-color: var(--#{$prefix}m-box-file-icon-color);
37
+ }
38
+
39
+ .m-box-file-dropzone {
40
+ display: flex;
41
+ flex-direction: column;
42
+ gap: var(--#{$prefix}m-box-file-gap);
43
+ align-items: center;
44
+ width: 100%;
45
+ padding: var(--#{$prefix}m-box-file-padding);
46
+
47
+ &:not(:last-child) {
48
+ padding-bottom: 0;
49
+ }
50
+ }
51
+
52
+ .m-box-content {
53
+ max-width: var(--#{$prefix}m-box-file-content-max-width);
54
+ }
55
+
56
+ .m-box-files {
57
+ display: flex;
58
+ flex-direction: column;
59
+ gap: var(--#{$prefix}m-box-file-gap);
60
+ padding: 0 var(--#{$prefix}m-box-file-padding) var(--#{$prefix}m-box-file-padding);
61
+ }
62
+
63
+ .m-box-files-text {
64
+ word-break: break-word;
65
+ }
66
+ }
@@ -0,0 +1,205 @@
1
+ @import "react-datepicker/src/stylesheets/datepicker";
2
+
3
+ // stylelint-disable selector-class-pattern
4
+ .react-datepicker {
5
+ border: 0;
6
+
7
+ .react-datepicker__header {
8
+ padding: 20px 0;
9
+ background-color: transparent;
10
+ border: 0;
11
+ }
12
+
13
+ .react-datepicker-border {
14
+ border: 1px solid var(--#{$prefix}dark);
15
+ }
16
+
17
+ .react-datepicker__day--selected,
18
+ .react-datepicker__day--in-selecting-range,
19
+ .react-datepicker__day--in-range,
20
+ .react-datepicker__month-text--selected,
21
+ .react-datepicker__month-text--in-selecting-range,
22
+ .react-datepicker__month-text--in-range,
23
+ .react-datepicker__quarter-text--selected,
24
+ .react-datepicker__quarter-text--in-selecting-range,
25
+ .react-datepicker__quarter-text--in-range,
26
+ .react-datepicker__year-text--selected,
27
+ .react-datepicker__year-text--in-selecting-range,
28
+ .react-datepicker__year-text--in-range {
29
+ color: var(--#{$prefix}dark);
30
+ background-color: rgba(var(--#{$prefix}tertiary-rgb), .2);
31
+ border-radius: 50rem;
32
+ }
33
+
34
+ .react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range, .react-datepicker__month-text--in-range, .react-datepicker__quarter-text--in-range, .react-datepicker__year-text--in-range),
35
+ .react-datepicker__month-text--in-selecting-range:not(.react-datepicker__day--in-range, .react-datepicker__month-text--in-range, .react-datepicker__quarter-text--in-range, .react-datepicker__year-text--in-range),
36
+ .react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__day--in-range, .react-datepicker__month-text--in-range, .react-datepicker__quarter-text--in-range, .react-datepicker__year-text--in-range),
37
+ .react-datepicker__year-text--in-selecting-range:not(.react-datepicker__day--in-range, .react-datepicker__month-text--in-range, .react-datepicker__quarter-text--in-range, .react-datepicker__year-text--in-range) {
38
+ background-color: rgba(var(--#{$prefix}secondary-rgb), .1);
39
+ }
40
+
41
+ .react-datepicker__day:hover,
42
+ .react-datepicker__month-text:hover,
43
+ .react-datepicker__quarter-text:hover,
44
+ .react-datepicker__year-text:hover {
45
+ background-color: rgba(var(--#{$prefix}tertiary-rgb), .1);
46
+ border-radius: 50rem;
47
+ }
48
+
49
+ .react-datepicker__day--keyboard-selected,
50
+ .react-datepicker__month-text--keyboard-selected,
51
+ .react-datepicker__quarter-text--keyboard-selected,
52
+ .react-datepicker__year-text--keyboard-selected {
53
+ color: var(--#{$prefix}dark);
54
+ background-color: transparent;
55
+ }
56
+
57
+ .react-datepicker__day--outside-month {
58
+ visibility: hidden;
59
+ }
60
+
61
+ .react-datepicker__input-time-container {
62
+ width: 100%;
63
+ padding-top: .5rem;
64
+ margin: 0;
65
+ text-align: center;
66
+ border-top: var(--#{$prefix}border-width) solid var(--#{$prefix}light);
67
+
68
+ .react-datepicker-time__caption {
69
+ display: none;
70
+ }
71
+
72
+ .react-datepicker-time__input-container {
73
+ width: 100%;
74
+
75
+ .react-datepicker-time__input {
76
+ width: 68%;
77
+ text-align: center;
78
+ outline: 0;
79
+ }
80
+ }
81
+ }
82
+
83
+ .react-datepicker-time__input[type="time"] {
84
+ width: 100%;
85
+ font-family: inherit;
86
+ font-size: .75rem;
87
+ color: #2a2c2d;
88
+ border: 0;
89
+ }
90
+
91
+ .react-datepicker-time__input[type="time"]::-webkit-datetime-edit-fields-wrapper {
92
+ display: flex;
93
+ }
94
+
95
+ .react-datepicker-time__input[type="time"]::-webkit-datetime-edit-text {
96
+ padding: 8px;
97
+ }
98
+
99
+ /* Hour and Minute */
100
+ .react-datepicker-time__input[type="time"]::-webkit-datetime-edit-hour-field,
101
+ .react-datepicker-time__input[type="time"]::-webkit-datetime-edit-minute-field {
102
+ padding: 8px;
103
+ cursor: text;
104
+ user-select: all;
105
+ background-color: var(--#{$prefix}light);
106
+ border-radius: 15%;
107
+ }
108
+
109
+ /* Clock Icon */
110
+ .react-datepicker-time__input[type="time"]::-webkit-calendar-picker-indicator {
111
+ cursor: pointer;
112
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' class='bi bi-alarm' viewBox='0 0 16 16'%3E%3Cpath d='M8.5 5.5a.5.5 0 0 0-1 0v3.362l-1.429 2.38a.5.5 0 1 0 .858.515l1.5-2.5A.5.5 0 0 0 8.5 9V5.5z'/%3E%3Cpath d='M6.5 0a.5.5 0 0 0 0 1H7v1.07a7.001 7.001 0 0 0-3.273 12.474l-.602.602a.5.5 0 0 0 .707.708l.746-.746A6.97 6.97 0 0 0 8 16a6.97 6.97 0 0 0 3.422-.892l.746.746a.5.5 0 0 0 .707-.708l-.601-.602A7.001 7.001 0 0 0 9 2.07V1h.5a.5.5 0 0 0 0-1h-3zm1.038 3.018a6.093 6.093 0 0 1 .924 0 6 6 0 1 1-.924 0zM0 3.5c0 .753.333 1.429.86 1.887A8.035 8.035 0 0 1 4.387 1.86 2.5 2.5 0 0 0 0 3.5zM13.5 1c-.753 0-1.429.333-1.887.86a8.035 8.035 0 0 1 3.527 3.527A2.5 2.5 0 0 0 13.5 1z'/%3E%3C/svg%3E");
113
+ }
114
+
115
+ .react-datepicker__day--today,
116
+ .react-datepicker__month-text--today,
117
+ .react-datepicker__quarter-text--today,
118
+ .react-datepicker__year-text--today {
119
+ font-weight: 400;
120
+ border: 1px solid var(--#{$prefix}tertiary);
121
+ border-radius: 50rem;
122
+ }
123
+
124
+ .react-datepicker__portal {
125
+ .react-datepicker {
126
+ .react-datepicker__input-time-container {
127
+
128
+ margin-bottom: 20px;
129
+
130
+ }
131
+ }
132
+ }
133
+
134
+ .repeat-end-container {
135
+ >div {
136
+ width: 100%;
137
+ }
138
+ }
139
+
140
+ .react-datepicker__input-container {
141
+
142
+ width: 100%;
143
+
144
+ .input-date {
145
+ --bg-size: 20px;
146
+ --padding-x: calc(8px - var(--#{$prefix}border-width));
147
+ --padding-y: calc(6px - var(--#{$prefix}border-width));
148
+ width: 100%;
149
+ padding: var(--padding-y) var(--padding-x);
150
+ padding-right: calc(var(--bg-size) + 1rem);
151
+ background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg viewBox='0 0 16 16' fill='%234848B7' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m12.923 16h-9.8462c-0.81605 0-1.5987-0.3241-2.1757-0.9012-0.57704-0.577-0.90121-1.3596-0.90121-2.1757v-8.6154c0-0.81605 0.32418-1.5987 0.90121-2.1757 0.57704-0.57703 1.3597-0.90121 2.1757-0.90121h9.8462c0.816 0 1.5987 0.32418 2.1757 0.90121 0.577 0.57704 0.9012 1.3597 0.9012 2.1757v8.6154c0 0.8161-0.3242 1.5987-0.9012 2.1757-0.577 0.5771-1.3597 0.9012-2.1757 0.9012zm-9.8462-13.538c-0.48963 0-0.9592 0.19451-1.3054 0.54073-0.34623 0.34622-0.54073 0.8158-0.54073 1.3054v8.6154c0 0.4897 0.1945 0.9592 0.54073 1.3054 0.34622 0.3463 0.81579 0.5408 1.3054 0.5408h9.8462c0.4896 0 0.9592-0.1945 1.3054-0.5408 0.3462-0.3462 0.5407-0.8157 0.5407-1.3054v-8.6154c0-0.48963-0.1945-0.95921-0.5407-1.3054s-0.8158-0.54073-1.3054-0.54073h-9.8462z' /%3E%3Cpath d='m12.923 13.538h-2.4615c-0.1632 0-0.3198-0.0648-0.4352-0.1802-0.11537-0.1154-0.18021-0.272-0.18021-0.4352v-2.4615c0-0.1632 0.06484-0.3198 0.18021-0.4352 0.1154-0.11537 0.272-0.18021 0.4352-0.18021h2.4615c0.1632 0 0.3198 0.06484 0.4352 0.18021 0.1154 0.1154 0.1802 0.272 0.1802 0.4352v2.4615c0 0.1632-0.0648 0.3198-0.1802 0.4352s-0.272 0.1802-0.4352 0.1802zm-1.8461-1.2308h1.2307v-1.2307h-1.2307v1.2307z' /%3E%3Cpath d='m15.385 6.1539h-14.769c-0.16321 0-0.31974-0.06483-0.43514-0.18024-0.11541-0.1154-0.18024-0.27193-0.18024-0.43514s0.064835-0.31974 0.18024-0.43514c0.11541-0.11541 0.27193-0.18024 0.43514-0.18024h14.769c0.1632 0 0.3198 0.06483 0.4352 0.18024 0.1154 0.1154 0.1802 0.27193 0.1802 0.43514s-0.0648 0.31974-0.1802 0.43514c-0.1154 0.11541-0.272 0.18024-0.4352 0.18024z' /%3E%3Cpath d='m4.923 3.6923c-0.16321 0-0.31973-0.06484-0.43514-0.18024-0.11541-0.11541-0.18024-0.27194-0.18024-0.43515v-2.4615c0-0.16321 0.06483-0.31974 0.18024-0.43514s0.27193-0.18024 0.43514-0.18024 0.31974 0.064835 0.43514 0.18024c0.11541 0.11541 0.18025 0.27193 0.18025 0.43514v2.4615c0 0.16321-0.06484 0.31974-0.18025 0.43515-0.1154 0.1154-0.27193 0.18024-0.43514 0.18024z' /%3E%3Cpath d='m11.077 3.6923c-0.1632 0-0.3197-0.06484-0.4351-0.18024-0.1154-0.11541-0.1803-0.27194-0.1803-0.43515v-2.4615c0-0.16321 0.0649-0.31974 0.1803-0.43514s0.2719-0.18024 0.4351-0.18024 0.3197 0.064835 0.4352 0.18024c0.1154 0.11541 0.1802 0.27193 0.1802 0.43514v2.4615c0 0.16321-0.0648 0.31974-0.1802 0.43515-0.1155 0.1154-0.272 0.18024-0.4352 0.18024z' /%3E%3C/svg%3E%0A");
152
+ background-repeat: no-repeat;
153
+ background-position: right .5rem center;
154
+ background-origin: border-box;
155
+ background-size: var(--bg-size);
156
+
157
+ border: var(--#{$prefix}border-width) solid var(--#{$prefix}info);
158
+ border-radius: var(--#{$prefix}border-radius-sm);
159
+ outline: 0;
160
+
161
+ }
162
+ }
163
+
164
+ .react-datepicker__current-month {
165
+ text-transform: capitalize;
166
+ }
167
+ }
168
+
169
+ // Two calendars with same date range
170
+ .react-datepicker.calendar-start {
171
+
172
+ .react-datepicker__day--selected,
173
+ .react-datepicker__day--in-selecting-range,
174
+ .react-datepicker__day--in-range {
175
+
176
+ &.react-datepicker__day--selecting-range-start,
177
+ &.react-datepicker__day--range-start {
178
+ color: var(--#{$prefix}white);
179
+ background-color: var(--#{$prefix}tertiary);
180
+
181
+ &:hover {
182
+ background-color: rgba(var(--#{$prefix}tertiary-rgb), .7);
183
+ }
184
+ }
185
+ }
186
+ }
187
+
188
+ .react-datepicker.calendar-end {
189
+
190
+ .react-datepicker__day--selected,
191
+ .react-datepicker__day--in-selecting-range,
192
+ .react-datepicker__day--in-range {
193
+
194
+ &.react-datepicker__day--selecting-range-end,
195
+ &.react-datepicker__day--range-end {
196
+ color: var(--#{$prefix}white);
197
+ background-color: var(--#{$prefix}tertiary);
198
+
199
+ &:hover {
200
+ background-color: rgba(var(--#{$prefix}tertiary-rgb), .7);
201
+ }
202
+ }
203
+ }
204
+ }
205
+ // stylelint-enable selector-class-pattern
@@ -0,0 +1,16 @@
1
+ .m-collapse-icon-text {
2
+ --#{$prefix}m-collapse-icon-text-header-gap: #{$collapse-icon-text-header-gap};
3
+ --#{$prefix}m-collapse-icon-text-header-font-size: #{$collapse-icon-text-header-font-size};
4
+ --#{$prefix}m-collapse-icon-text-header-font-weight: #{$collapse-icon-text-header-font-weight};
5
+
6
+ .m-collapse-icon-text-header {
7
+ display: flex;
8
+ gap: var(--#{$prefix}m-collapse-icon-text-header-gap);
9
+ align-items: center;
10
+ }
11
+
12
+ .m-collapse-icon-text-title {
13
+ font-size: var(--#{$prefix}m-collapse-icon-text-header-font-size);
14
+ font-weight: var(--#{$prefix}m-collapse-icon-text-header-font-weight);
15
+ }
16
+ }
@@ -0,0 +1,56 @@
1
+ .m-collapse {
2
+ // Container
3
+ --#{$prefix}m-collapse-bg: var(--#{$prefix}white);
4
+ --#{$prefix}m-collapse-border-radius: var(--#{$prefix}ref-spacer-1);
5
+ --#{$prefix}m-collapse-box-shadow: var(--#{$prefix}box-shadow-sm);
6
+ // Button
7
+ --#{$prefix}m-collapse-button-padding-x: var(--#{$prefix}ref-spacer-3);
8
+ --#{$prefix}m-collapse-button-padding-y: var(--#{$prefix}ref-spacer-3);
9
+ --#{$prefix}m-collapse-button-gap: var(--#{$prefix}ref-spacer-3);
10
+ // Body
11
+ --#{$prefix}m-collapse-body-padding-x: var(--#{$prefix}ref-spacer-3);
12
+ --#{$prefix}m-collapse-body-padding-y: var(--#{$prefix}ref-spacer-3);
13
+ // Separator
14
+ --#{$prefix}m-collapse-separator-display: none;
15
+ --#{$prefix}m-collapse-separator-height: 1px;
16
+ --#{$prefix}m-collapse-separator-bg: var(--#{$prefix}gray-200);
17
+
18
+ &.collapse-container {
19
+ background-color: var(--#{$prefix}m-collapse-bg);
20
+ border-radius: var(--#{$prefix}m-collapse-border-radius);
21
+ box-shadow: var(--#{$prefix}m-collapse-box-shadow);
22
+ }
23
+
24
+ .collapse-button {
25
+ display: flex;
26
+ gap: var(--#{$prefix}m-collapse-button-gap);
27
+ align-items: center;
28
+ width: 100%;
29
+ padding: var(--#{$prefix}m-collapse-button-padding-y) var(--#{$prefix}m-collapse-button-padding-x);
30
+ text-align: left;
31
+ user-select: none;
32
+ background: transparent;
33
+ border: 0;
34
+
35
+ &:focus,
36
+ &:focus-visible {
37
+ outline: 0;
38
+ }
39
+ }
40
+
41
+ .collapse-body {
42
+ position: relative;
43
+ padding: var(--#{$prefix}m-collapse-body-padding-y) var(--#{$prefix}m-collapse-body-padding-x);
44
+ padding-top: 0;
45
+
46
+ &::before {
47
+ position: absolute;
48
+ top: 0;
49
+ display: var(--#{$prefix}m-collapse-separator-display);
50
+ width: calc(100% - (var(--#{$prefix}m-collapse-body-padding-x) * 2));
51
+ height: var(--#{$prefix}m-collapse-separator-height);
52
+ content: " ";
53
+ background-color: var(--#{$prefix}m-collapse-separator-bg);
54
+ }
55
+ }
56
+ }
@@ -0,0 +1,12 @@
1
+ .m-popover {
2
+ position: relative;
3
+ width: 100%;
4
+
5
+ .m-popover-content {
6
+ width: 100%;
7
+
8
+ &:focus-visible {
9
+ outline: 0;
10
+ }
11
+ }
12
+ }
@@ -0,0 +1,56 @@
1
+ .m-tabs {
2
+ --#{$prefix}m-tabs-nav-gap: #{$nav-nav-gap};
3
+ --#{$prefix}m-tabs-nav-padding-x: #{$nav-nav-padding-x};
4
+ --#{$prefix}m-tabs-nav-padding-y: #{$nav-nav-padding-y};
5
+ --#{$prefix}m-tabs-link-border-height: #{$nav-link-border-height};
6
+ --#{$prefix}m-tabs-link-line-height: #{$nav-link-line-height};
7
+ --#{$prefix}m-tabs-link-border-border-radius: #{$nav-link-border-border-radius};
8
+ --#{$prefix}m-tabs-link-border-active-color: #{$nav-link-border-active-color};
9
+ --#{$prefix}m-tabs-link-border-active-font-weight: #{$nav-link-border-active-font-weight};
10
+ --#{$prefix}m-tabs-link-border-active-bg: #{$nav-link-border-active-bg};
11
+
12
+ display: flex;
13
+ flex-direction: column;
14
+
15
+ .nav {
16
+ gap: var(--#{$prefix}m-tabs-nav-gap);
17
+ padding: var(--#{$prefix}m-tabs-nav-padding-y) var(--#{$prefix}m-tabs-nav-padding-x);
18
+ }
19
+
20
+ .nav-link {
21
+ position: relative;
22
+ line-height: var(--#{$prefix}m-tabs-link-line-height);
23
+
24
+ &.active {
25
+ font-weight: var(--#{$prefix}m-tabs-link-border-active-font-weight);
26
+ color: var(--#{$prefix}m-tabs-link-border-active-color);
27
+
28
+ &::before {
29
+ background: var(--#{$prefix}m-tabs-link-border-active-bg);
30
+ }
31
+ }
32
+ }
33
+
34
+ .nav-link::before {
35
+ position: absolute;
36
+ right: 0;
37
+ bottom: 0;
38
+ left: 0;
39
+ height: var(--#{$prefix}m-tabs-link-border-height);
40
+ content: " ";
41
+ border-radius: var(--#{$prefix}m-tabs-link-border-border-radius);
42
+ }
43
+
44
+ &.m-tabs-vertical {
45
+ flex-direction: row;
46
+
47
+ .nav {
48
+ flex-direction: column;
49
+ align-items: center;
50
+ }
51
+
52
+ .tab-content {
53
+ flex: 1;
54
+ }
55
+ }
56
+ }
@@ -0,0 +1,7 @@
1
+ @charset "utf-8";
2
+
3
+ @import "abstracts/+import";
4
+
5
+ @import "components/+import";
6
+
7
+ @import "shame";