@eeacms/volto-tabs-block 1.3.1 → 2.0.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.
- package/.coverage.babel.config.js +5 -1
- package/.project.eslintrc.js +46 -0
- package/CHANGELOG.md +31 -1
- package/babel.config.js +17 -0
- package/package.json +9 -10
- package/src/components/index.js +1 -0
- package/src/components/templates/accordion/Edit.jsx +18 -0
- package/src/components/templates/accordion/View.jsx +125 -0
- package/src/components/templates/accordion/index.js +5 -0
- package/src/components/templates/accordion/schema.js +44 -0
- package/src/components/templates/horizontal-responsive/schema.js +1 -1
- package/src/index.js +17 -1
- package/src/less/edit.less +25 -30
- package/src/less/menu.less +138 -0
- package/src/less/menu.variables +3 -0
|
@@ -2,7 +2,11 @@ const defaultBabel = require('@plone/volto/babel');
|
|
|
2
2
|
|
|
3
3
|
function applyDefault(api) {
|
|
4
4
|
const voltoBabel = defaultBabel(api);
|
|
5
|
-
voltoBabel.plugins.push(
|
|
5
|
+
voltoBabel.plugins.push(
|
|
6
|
+
'@babel/plugin-transform-modules-commonjs',
|
|
7
|
+
'transform-class-properties',
|
|
8
|
+
'istanbul',
|
|
9
|
+
);
|
|
6
10
|
return voltoBabel;
|
|
7
11
|
}
|
|
8
12
|
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
const fs = require('fs');
|
|
2
|
+
const path = require('path');
|
|
3
|
+
|
|
4
|
+
const projectRootPath = fs.realpathSync('./project'); // __dirname
|
|
5
|
+
const packageJson = require(path.join(projectRootPath, 'package.json'));
|
|
6
|
+
const jsConfig = require(path.join(projectRootPath, 'jsconfig.json')).compilerOptions;
|
|
7
|
+
|
|
8
|
+
const pathsConfig = jsConfig.paths;
|
|
9
|
+
|
|
10
|
+
let voltoPath = path.join(projectRootPath, 'node_modules/@plone/volto');
|
|
11
|
+
|
|
12
|
+
Object.keys(pathsConfig).forEach(pkg => {
|
|
13
|
+
if (pkg === '@plone/volto') {
|
|
14
|
+
voltoPath = `./${jsConfig.baseUrl}/${pathsConfig[pkg][0]}`;
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
const AddonConfigurationRegistry = require(`${voltoPath}/addon-registry.js`);
|
|
18
|
+
const reg = new AddonConfigurationRegistry(projectRootPath);
|
|
19
|
+
|
|
20
|
+
// Extends ESlint configuration for adding the aliases to `src` directories in Volto addons
|
|
21
|
+
const addonAliases = Object.keys(reg.packages).map(o => [
|
|
22
|
+
o,
|
|
23
|
+
reg.packages[o].modulePath,
|
|
24
|
+
]);
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
module.exports = {
|
|
28
|
+
extends: `${projectRootPath}/node_modules/@plone/volto/.eslintrc`,
|
|
29
|
+
settings: {
|
|
30
|
+
'import/resolver': {
|
|
31
|
+
alias: {
|
|
32
|
+
map: [
|
|
33
|
+
['@plone/volto', '@plone/volto/src'],
|
|
34
|
+
...addonAliases,
|
|
35
|
+
['@package', `${__dirname}/src`],
|
|
36
|
+
['~', `${__dirname}/src`],
|
|
37
|
+
],
|
|
38
|
+
extensions: ['.js', '.jsx', '.json'],
|
|
39
|
+
},
|
|
40
|
+
'babel-plugin-root-import': {
|
|
41
|
+
rootPathSuffix: 'src',
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
},
|
|
45
|
+
};
|
|
46
|
+
|
package/CHANGELOG.md
CHANGED
|
@@ -4,9 +4,39 @@ All notable changes to this project will be documented in this file. Dates are d
|
|
|
4
4
|
|
|
5
5
|
Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
|
|
6
6
|
|
|
7
|
+
#### [2.0.1](https://github.com/eea/volto-tabs-block/compare/2.0.0...2.0.1)
|
|
8
|
+
|
|
9
|
+
- stylelint [`267fbdb`](https://github.com/eea/volto-tabs-block/commit/267fbdb72f69715690d281498d1fd0837c18fc0d)
|
|
10
|
+
- Prettier fix [`5ac20a8`](https://github.com/eea/volto-tabs-block/commit/5ac20a8352f00618dae1623ac200ea1779342e8d)
|
|
11
|
+
- Apply menu item style on tabs-block only [`fec62b2`](https://github.com/eea/volto-tabs-block/commit/fec62b222bcc07bc102f6d73b89369f57f49512d)
|
|
12
|
+
|
|
13
|
+
### [2.0.0](https://github.com/eea/volto-tabs-block/compare/1.3.2...2.0.0)
|
|
14
|
+
|
|
15
|
+
> 8 June 2022
|
|
16
|
+
|
|
17
|
+
- Add accordion template for mobile [`#23`](https://github.com/eea/volto-tabs-block/pull/23)
|
|
18
|
+
- Update [`525551e`](https://github.com/eea/volto-tabs-block/commit/525551e151d469f71e3ecbae9af994cf1dc61644)
|
|
19
|
+
- Improve accordion variation [`e95977e`](https://github.com/eea/volto-tabs-block/commit/e95977e2b06178dd820ea1b1983d74b4fd3f38f5)
|
|
20
|
+
- Release 2.0.0 [`1206ab1`](https://github.com/eea/volto-tabs-block/commit/1206ab1c22346761aacb9c5aba7c536e7407526e)
|
|
21
|
+
- Update accordion template title [`4b8def3`](https://github.com/eea/volto-tabs-block/commit/4b8def34c9a55e4b38cafb9b8533679a9759f5c5)
|
|
22
|
+
- stylelint [`13ef886`](https://github.com/eea/volto-tabs-block/commit/13ef886b203ad4f701820ae8d4066d87814a928f)
|
|
23
|
+
- stylelint [`d29ff73`](https://github.com/eea/volto-tabs-block/commit/d29ff739e17fe398373c289b01f57328543e333d)
|
|
24
|
+
- stylelint [`73195f6`](https://github.com/eea/volto-tabs-block/commit/73195f60362fffe12ae13f685a9c349cbe486118)
|
|
25
|
+
- prettier [`8308f52`](https://github.com/eea/volto-tabs-block/commit/8308f52c296f39da416c927d807f33741ecf66aa)
|
|
26
|
+
- Remove useless from block title [`4ab8b58`](https://github.com/eea/volto-tabs-block/commit/4ab8b58b9266d2937fd033865e52100f0a6333b2)
|
|
27
|
+
|
|
28
|
+
#### [1.3.2](https://github.com/eea/volto-tabs-block/compare/1.3.1...1.3.2)
|
|
29
|
+
|
|
30
|
+
> 3 June 2022
|
|
31
|
+
|
|
32
|
+
- fix(edit): Align inner blocks toolbar CSS with columns/accordion/grou… [`#22`](https://github.com/eea/volto-tabs-block/pull/22)
|
|
33
|
+
- fix(edit): Align inner blocks toolbar CSS with columns/accordion/group block [`b51fe35`](https://github.com/eea/volto-tabs-block/commit/b51fe3591a6dddbca95f10deb20cf01390de742d)
|
|
34
|
+
|
|
7
35
|
#### [1.3.1](https://github.com/eea/volto-tabs-block/compare/1.3.0...1.3.1)
|
|
8
36
|
|
|
9
|
-
|
|
37
|
+
> 29 April 2022
|
|
38
|
+
|
|
39
|
+
- Style fix + missing key [`#21`](https://github.com/eea/volto-tabs-block/pull/21)
|
|
10
40
|
|
|
11
41
|
#### [1.3.0](https://github.com/eea/volto-tabs-block/compare/1.2.12...1.3.0)
|
|
12
42
|
|
package/babel.config.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
module.exports = function (api) {
|
|
2
|
+
api.cache(true);
|
|
3
|
+
const presets = ['razzle/babel'];
|
|
4
|
+
const plugins = [
|
|
5
|
+
[
|
|
6
|
+
'react-intl', // React Intl extractor, required for the whole i18n infrastructure to work
|
|
7
|
+
{
|
|
8
|
+
messagesDir: './build/messages/',
|
|
9
|
+
},
|
|
10
|
+
],
|
|
11
|
+
];
|
|
12
|
+
|
|
13
|
+
return {
|
|
14
|
+
plugins,
|
|
15
|
+
presets,
|
|
16
|
+
};
|
|
17
|
+
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eeacms/volto-tabs-block",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.1",
|
|
4
4
|
"description": "volto-tabs-block: Volto add-on",
|
|
5
5
|
"main": "src/index.js",
|
|
6
6
|
"author": "European Environment Agency: IDM2 A-Team",
|
|
@@ -20,9 +20,10 @@
|
|
|
20
20
|
"@eeacms/volto-block-style"
|
|
21
21
|
],
|
|
22
22
|
"dependencies": {
|
|
23
|
+
"@eeacms/volto-block-style": "*",
|
|
24
|
+
"react-responsive-tabs": "4.4.3",
|
|
23
25
|
"react-slick": "^0.24.0",
|
|
24
|
-
"slick-carousel": "^1.8.1"
|
|
25
|
-
"@eeacms/volto-block-style": "*"
|
|
26
|
+
"slick-carousel": "^1.8.1"
|
|
26
27
|
},
|
|
27
28
|
"devDependencies": {
|
|
28
29
|
"@cypress/code-coverage": "^3.9.5",
|
|
@@ -30,21 +31,19 @@
|
|
|
30
31
|
},
|
|
31
32
|
"scripts": {
|
|
32
33
|
"release": "release-it",
|
|
33
|
-
"release-major-beta": "release-it major --preRelease=beta",
|
|
34
|
-
"release-beta": "release-it --preRelease=beta",
|
|
35
34
|
"bootstrap": "npm install -g ejs; npm link ejs; node bootstrap",
|
|
36
35
|
"test": "make test",
|
|
37
36
|
"test:fix": "make test-update",
|
|
38
|
-
"i18n": "rm -rf build/messages && NODE_ENV=production node src/i18n.js",
|
|
39
37
|
"pre-commit": "yarn stylelint:fix && yarn prettier:fix && yarn lint:fix",
|
|
40
|
-
"stylelint": "
|
|
41
|
-
"stylelint:overrides": "
|
|
38
|
+
"stylelint": "../../../node_modules/.bin/stylelint 'theme/**/*.{css,less}' 'src/**/*.{css,less}'",
|
|
39
|
+
"stylelint:overrides": "../../../node_modules/.bin/stylelint --allow-empty-input 'theme/**/*.overrides' 'src/**/*.overrides'",
|
|
42
40
|
"stylelint:fix": "yarn stylelint --fix && yarn stylelint:overrides --fix",
|
|
43
41
|
"prettier": "if [ -d ./project ]; then ./project/node_modules/.bin/prettier --single-quote --check 'src/**/*.{js,jsx,json,css,less,md}'; else ../../../node_modules/.bin/prettier --single-quote --check 'src/**/*.{js,jsx,json,css,less,md}'; fi",
|
|
44
42
|
"prettier:fix": "if [ -d ./project ]; then ./project/node_modules/.bin/prettier --single-quote --write 'src/**/*.{js,jsx,json,css,less,md}'; else ../../../node_modules/.bin/prettier --single-quote --write 'src/**/*.{js,jsx,json,css,less,md}'; fi",
|
|
45
43
|
"lint": "if [ -d ./project ]; then ./project/node_modules/eslint/bin/eslint.js --max-warnings=0 'src/**/*.{js,jsx}'; else ../../../node_modules/eslint/bin/eslint.js --max-warnings=0 'src/**/*.{js,jsx}'; fi",
|
|
46
44
|
"lint:fix": "if [ -d ./project ]; then ./project/node_modules/eslint/bin/eslint.js --fix 'src/**/*.{js,jsx}'; else ../../../node_modules/eslint/bin/eslint.js --fix 'src/**/*.{js,jsx}'; fi",
|
|
47
|
-
"
|
|
48
|
-
"cypress:
|
|
45
|
+
"i18n": "rm -rf build/messages && NODE_ENV=production i18n --addon",
|
|
46
|
+
"cypress:run": "if [ -d ./project ]; then NODE_ENV=development ./project/node_modules/cypress/bin/cypress run; else NODE_ENV=development ../../../node_modules/cypress/bin/cypress run; fi",
|
|
47
|
+
"cypress:open": "if [ -d ./project ]; then NODE_ENV=development ./project/node_modules/cypress/bin/cypress open; else NODE_ENV=development ../../../node_modules/cypress/bin/cypress open; fi"
|
|
49
48
|
}
|
|
50
49
|
}
|
package/src/components/index.js
CHANGED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { DefaultEdit } from '../default';
|
|
2
|
+
|
|
3
|
+
const Edit = (props) => {
|
|
4
|
+
return (
|
|
5
|
+
<DefaultEdit
|
|
6
|
+
{...props}
|
|
7
|
+
data={{
|
|
8
|
+
...props.data,
|
|
9
|
+
menuPointing: true,
|
|
10
|
+
menuSecondary: true,
|
|
11
|
+
menuFluid: false,
|
|
12
|
+
menuText: false,
|
|
13
|
+
}}
|
|
14
|
+
/>
|
|
15
|
+
);
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export default Edit;
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import cx from 'classnames';
|
|
3
|
+
import { compose } from 'redux';
|
|
4
|
+
import { withRouter } from 'react-router';
|
|
5
|
+
import Tabs from 'react-responsive-tabs';
|
|
6
|
+
import AnimateHeight from 'react-animate-height';
|
|
7
|
+
import { Icon } from 'semantic-ui-react';
|
|
8
|
+
import config from '@plone/volto/registry';
|
|
9
|
+
import { Icon as VoltoIcon, RenderBlocks } from '@plone/volto/components';
|
|
10
|
+
import { TABS_BLOCK } from '@eeacms/volto-tabs-block/constants';
|
|
11
|
+
import { withScrollToTarget } from '@eeacms/volto-tabs-block/hocs';
|
|
12
|
+
|
|
13
|
+
import 'react-responsive-tabs/styles.css';
|
|
14
|
+
import '@eeacms/volto-tabs-block/less/menu.less';
|
|
15
|
+
|
|
16
|
+
class Tab extends React.Component {
|
|
17
|
+
constructor() {
|
|
18
|
+
super();
|
|
19
|
+
this.state = {
|
|
20
|
+
height: 0,
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
componentDidMount() {
|
|
25
|
+
if (this.state.height === 0) {
|
|
26
|
+
requestAnimationFrame(() => {
|
|
27
|
+
this.setState({ height: 'auto' });
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
render() {
|
|
33
|
+
return (
|
|
34
|
+
<AnimateHeight animateOpacity duration={500} height={this.state.height}>
|
|
35
|
+
<RenderBlocks {...this.props} />
|
|
36
|
+
</AnimateHeight>
|
|
37
|
+
);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
const View = (props) => {
|
|
42
|
+
const {
|
|
43
|
+
data = {},
|
|
44
|
+
tabsList = [],
|
|
45
|
+
tabs = {},
|
|
46
|
+
activeTabIndex = 0,
|
|
47
|
+
setActiveTab = () => {},
|
|
48
|
+
} = props;
|
|
49
|
+
const accordionConfig =
|
|
50
|
+
config.blocks.blocksConfig.tabs_block.templates.accordion;
|
|
51
|
+
const { icons, semanticIcon } = accordionConfig;
|
|
52
|
+
|
|
53
|
+
const schema = React.useMemo(
|
|
54
|
+
() =>
|
|
55
|
+
config.blocks.blocksConfig[TABS_BLOCK].templates?.['default']?.schema(
|
|
56
|
+
config,
|
|
57
|
+
props,
|
|
58
|
+
) || {},
|
|
59
|
+
[props],
|
|
60
|
+
);
|
|
61
|
+
|
|
62
|
+
const getDataValue = React.useCallback(
|
|
63
|
+
(key) => {
|
|
64
|
+
return (
|
|
65
|
+
(schema.properties[key]?.value || data[key]) ??
|
|
66
|
+
schema.properties[key]?.defaultValue
|
|
67
|
+
);
|
|
68
|
+
},
|
|
69
|
+
[schema, data],
|
|
70
|
+
);
|
|
71
|
+
|
|
72
|
+
const items = tabsList.map((tab, index) => {
|
|
73
|
+
const title = tabs[tab].title;
|
|
74
|
+
const defaultTitle = `Tab ${index + 1}`;
|
|
75
|
+
const active = activeTabIndex === index;
|
|
76
|
+
return {
|
|
77
|
+
title: (
|
|
78
|
+
<>
|
|
79
|
+
{semanticIcon ? (
|
|
80
|
+
<Icon name={active ? semanticIcon.opened : semanticIcon.closed} />
|
|
81
|
+
) : (
|
|
82
|
+
<VoltoIcon
|
|
83
|
+
name={active ? icons.opened : icons.closed}
|
|
84
|
+
size={icons.size}
|
|
85
|
+
/>
|
|
86
|
+
)}
|
|
87
|
+
{title || defaultTitle}{' '}
|
|
88
|
+
</>
|
|
89
|
+
),
|
|
90
|
+
getContent: () => <Tab {...props} tab={tab} content={tabs[tab]} />,
|
|
91
|
+
key: tab,
|
|
92
|
+
tabClassName: cx('ui button item title', { active }),
|
|
93
|
+
panelClassName: cx('ui bottom attached segment tab', {
|
|
94
|
+
active,
|
|
95
|
+
}),
|
|
96
|
+
};
|
|
97
|
+
});
|
|
98
|
+
|
|
99
|
+
return (
|
|
100
|
+
<>
|
|
101
|
+
<Tabs
|
|
102
|
+
className="tabs aa"
|
|
103
|
+
selectedTabKey={tabsList[activeTabIndex]}
|
|
104
|
+
items={items}
|
|
105
|
+
onChange={(tab) => {
|
|
106
|
+
if (tab !== tabsList[activeTabIndex]) {
|
|
107
|
+
setActiveTab(tab);
|
|
108
|
+
} else {
|
|
109
|
+
setActiveTab(null);
|
|
110
|
+
}
|
|
111
|
+
}}
|
|
112
|
+
tabsWrapperClass={cx(
|
|
113
|
+
'ui pointing secondary menu',
|
|
114
|
+
getDataValue('menuColor'),
|
|
115
|
+
{
|
|
116
|
+
inverted: getDataValue('menuInverted'),
|
|
117
|
+
},
|
|
118
|
+
)}
|
|
119
|
+
showMore={false}
|
|
120
|
+
/>
|
|
121
|
+
</>
|
|
122
|
+
);
|
|
123
|
+
};
|
|
124
|
+
|
|
125
|
+
export default compose(withScrollToTarget, withRouter)(View);
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
export default () => ({
|
|
2
|
+
title: 'Accordion tabs block',
|
|
3
|
+
fieldsets: [
|
|
4
|
+
{
|
|
5
|
+
id: 'default',
|
|
6
|
+
title: 'Default',
|
|
7
|
+
fields: ['description'],
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
id: 'menu',
|
|
11
|
+
title: 'Menu',
|
|
12
|
+
fields: ['menuColor', 'menuInverted'],
|
|
13
|
+
},
|
|
14
|
+
],
|
|
15
|
+
properties: {
|
|
16
|
+
description: {
|
|
17
|
+
title: 'Description',
|
|
18
|
+
},
|
|
19
|
+
menuColor: {
|
|
20
|
+
title: 'Color',
|
|
21
|
+
defaultValue: 'green',
|
|
22
|
+
choices: [
|
|
23
|
+
['red', 'Red'],
|
|
24
|
+
['orange', 'Orange'],
|
|
25
|
+
['yellow', 'Yellow'],
|
|
26
|
+
['olive', 'Olive'],
|
|
27
|
+
['green', 'Green'],
|
|
28
|
+
['teal', 'Teal'],
|
|
29
|
+
['blue', 'Blue'],
|
|
30
|
+
['violet', 'Violet'],
|
|
31
|
+
['purple', 'Purple'],
|
|
32
|
+
['pink', 'Pink'],
|
|
33
|
+
['brown', 'Brown'],
|
|
34
|
+
['grey', 'Grey'],
|
|
35
|
+
['black', 'Black'],
|
|
36
|
+
],
|
|
37
|
+
},
|
|
38
|
+
menuInverted: {
|
|
39
|
+
title: 'Inverted',
|
|
40
|
+
type: 'boolean',
|
|
41
|
+
},
|
|
42
|
+
},
|
|
43
|
+
required: [],
|
|
44
|
+
});
|
package/src/index.js
CHANGED
|
@@ -2,10 +2,13 @@ import { TabsEdit, TabsView } from '@eeacms/volto-tabs-block/components';
|
|
|
2
2
|
import {
|
|
3
3
|
DefaultEdit,
|
|
4
4
|
DefaultView,
|
|
5
|
+
AccordionEdit,
|
|
6
|
+
AccordionView,
|
|
5
7
|
HorizontalResponsiveView,
|
|
6
8
|
HorizontalCarouselView,
|
|
7
9
|
VerticalCarouselView,
|
|
8
10
|
defaultSchema,
|
|
11
|
+
accordionSchema,
|
|
9
12
|
horizontalResponsiveSchema,
|
|
10
13
|
carouselSchema,
|
|
11
14
|
} from '@eeacms/volto-tabs-block/components';
|
|
@@ -14,11 +17,13 @@ import { TABS_BLOCK } from './constants';
|
|
|
14
17
|
import { TabsWidget } from './widgets';
|
|
15
18
|
|
|
16
19
|
import tabsSVG from '@eeacms/volto-tabs-block//icons/tabs.svg';
|
|
20
|
+
import rightSVG from '@plone/volto/icons/right-key.svg';
|
|
21
|
+
import downSVG from '@plone/volto/icons/down-key.svg';
|
|
17
22
|
|
|
18
23
|
export default (config) => {
|
|
19
24
|
config.blocks.blocksConfig[TABS_BLOCK] = {
|
|
20
25
|
id: TABS_BLOCK,
|
|
21
|
-
title: 'Tabs
|
|
26
|
+
title: 'Tabs',
|
|
22
27
|
icon: tabsSVG,
|
|
23
28
|
group: 'common',
|
|
24
29
|
edit: TabsEdit,
|
|
@@ -39,6 +44,17 @@ export default (config) => {
|
|
|
39
44
|
view: DefaultView,
|
|
40
45
|
schema: defaultSchema,
|
|
41
46
|
},
|
|
47
|
+
accordion: {
|
|
48
|
+
title: 'Accordion responsive',
|
|
49
|
+
edit: AccordionEdit,
|
|
50
|
+
view: AccordionView,
|
|
51
|
+
schema: accordionSchema,
|
|
52
|
+
icons: {
|
|
53
|
+
closed: rightSVG,
|
|
54
|
+
opened: downSVG,
|
|
55
|
+
size: '24px',
|
|
56
|
+
},
|
|
57
|
+
},
|
|
42
58
|
'horizontal-responsive': {
|
|
43
59
|
title: 'Horizontal responsive',
|
|
44
60
|
edit: DefaultEdit,
|
package/src/less/edit.less
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
@type: 'extra';
|
|
2
|
+
@element: 'custom';
|
|
3
|
+
|
|
4
|
+
@import (multiple, reference, optional) '../../theme.config';
|
|
5
|
+
|
|
6
|
+
@borderColor: rgba(120, 192, 215, 0.75);
|
|
7
|
+
|
|
1
8
|
.inner.tabs_block {
|
|
2
9
|
margin-bottom: 0;
|
|
3
10
|
|
|
@@ -68,48 +75,36 @@
|
|
|
68
75
|
}
|
|
69
76
|
}
|
|
70
77
|
|
|
78
|
+
.blocks-form {
|
|
79
|
+
margin-top: 0.5rem;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
.blocks-chooser {
|
|
83
|
+
right: 0;
|
|
84
|
+
left: auto;
|
|
85
|
+
margin-top: 3rem;
|
|
86
|
+
}
|
|
87
|
+
|
|
71
88
|
.block-toolbar {
|
|
72
89
|
position: absolute;
|
|
73
90
|
z-index: 3;
|
|
74
|
-
right:
|
|
75
|
-
left: -9px;
|
|
91
|
+
right: -9px;
|
|
76
92
|
display: flex;
|
|
77
|
-
|
|
78
|
-
border: 1px solid
|
|
79
|
-
border-bottom: 1px solid
|
|
93
|
+
border: none;
|
|
94
|
+
border: 1px solid @borderColor;
|
|
95
|
+
border-bottom: 1px solid @pageBackground;
|
|
80
96
|
margin-top: -45px;
|
|
81
|
-
background-color:
|
|
97
|
+
background-color: @pageBackground;
|
|
82
98
|
border-top-left-radius: 1rem;
|
|
83
99
|
border-top-right-radius: 1rem;
|
|
84
100
|
|
|
85
101
|
.ui.basic.button {
|
|
86
|
-
padding:
|
|
87
|
-
padding-right: 0;
|
|
88
|
-
box-shadow: none;
|
|
102
|
+
padding: 8px 5px;
|
|
89
103
|
}
|
|
90
104
|
|
|
91
|
-
.
|
|
92
|
-
|
|
93
|
-
&:hover {
|
|
94
|
-
background-color: transparent !important;
|
|
95
|
-
}
|
|
96
|
-
}
|
|
105
|
+
.ui.basic.button:hover {
|
|
106
|
+
background: transparent !important;
|
|
97
107
|
}
|
|
98
|
-
|
|
99
|
-
> .ui.basic.button {
|
|
100
|
-
&:hover {
|
|
101
|
-
background-color: transparent !important;
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
svg {
|
|
105
|
-
color: #134448;
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
.blocks-chooser {
|
|
111
|
-
left: 0;
|
|
112
|
-
margin-top: 50px;
|
|
113
108
|
}
|
|
114
109
|
}
|
|
115
110
|
|
package/src/less/menu.less
CHANGED
|
@@ -118,6 +118,144 @@
|
|
|
118
118
|
}
|
|
119
119
|
}
|
|
120
120
|
}
|
|
121
|
+
|
|
122
|
+
.ui.menu:not(.RRT__accordion) {
|
|
123
|
+
.ui.item .icon {
|
|
124
|
+
display: none;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
.RRT__container {
|
|
129
|
+
> .ui.tab .rah-animating {
|
|
130
|
+
transition: height 0ms ease 0ms !important;
|
|
131
|
+
|
|
132
|
+
> div {
|
|
133
|
+
transition: opacity 0ms ease 0ms !important;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
.ui.menu.RRT__accordion {
|
|
139
|
+
&::before {
|
|
140
|
+
display: none;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
border-bottom: none !important;
|
|
144
|
+
|
|
145
|
+
.ui.item {
|
|
146
|
+
display: flex;
|
|
147
|
+
width: 100%;
|
|
148
|
+
padding: 0.75rem 1rem !important;
|
|
149
|
+
border-width: 0 !important;
|
|
150
|
+
border-bottom: none !important;
|
|
151
|
+
margin: 0 !important;
|
|
152
|
+
background-color: @accordionMenuItemBackground;
|
|
153
|
+
|
|
154
|
+
.icon {
|
|
155
|
+
margin: 0 !important;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
.dropdown.icon {
|
|
159
|
+
transform: rotate(-90deg);
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
&.active {
|
|
163
|
+
.dropdown.icon {
|
|
164
|
+
transform: rotate(0);
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
&.red {
|
|
170
|
+
.ui.item.active {
|
|
171
|
+
background-color: @red !important;
|
|
172
|
+
color: #fff !important;
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
&.orange {
|
|
177
|
+
.ui.item.active {
|
|
178
|
+
background-color: @orange !important;
|
|
179
|
+
color: #fff !important;
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
&.yellow {
|
|
184
|
+
.ui.item.active {
|
|
185
|
+
background-color: @yellow !important;
|
|
186
|
+
color: #fff !important;
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
&.olive {
|
|
191
|
+
.ui.item.active {
|
|
192
|
+
background-color: @olive !important;
|
|
193
|
+
color: #fff !important;
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
&.green {
|
|
198
|
+
.ui.item.active {
|
|
199
|
+
background-color: @green !important;
|
|
200
|
+
color: #fff !important;
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
&.teal {
|
|
205
|
+
.ui.item.active {
|
|
206
|
+
background-color: @teal !important;
|
|
207
|
+
color: #fff !important;
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
&.blue {
|
|
212
|
+
.ui.item.active {
|
|
213
|
+
background-color: @blue !important;
|
|
214
|
+
color: #fff !important;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
&.violet {
|
|
219
|
+
.ui.item.active {
|
|
220
|
+
background-color: @violet !important;
|
|
221
|
+
color: #fff !important;
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
&.purple {
|
|
226
|
+
.ui.item.active {
|
|
227
|
+
background-color: @purple !important;
|
|
228
|
+
color: #fff !important;
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
&.brown {
|
|
233
|
+
.ui.item.active {
|
|
234
|
+
background-color: @brown !important;
|
|
235
|
+
color: #fff !important;
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
&.grey {
|
|
240
|
+
.ui.item.active {
|
|
241
|
+
background-color: @grey !important;
|
|
242
|
+
color: #fff !important;
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
&.black {
|
|
247
|
+
.ui.item.active {
|
|
248
|
+
background-color: @black !important;
|
|
249
|
+
color: #fff !important;
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
.ui.tab {
|
|
254
|
+
padding: 1rem;
|
|
255
|
+
margin-bottom: 0;
|
|
256
|
+
background-color: @accordionTabBackground !important;
|
|
257
|
+
}
|
|
258
|
+
}
|
|
121
259
|
}
|
|
122
260
|
|
|
123
261
|
.loadAddonOverrides();
|