@nulogy/components 8.7.2 → 8.8.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.
package/dist/main.js CHANGED
@@ -23038,20 +23038,42 @@
23038
23038
  }
23039
23039
  };
23040
23040
 
23041
- var showIndicatorSeparator = function showIndicatorSeparator(_ref3) {
23042
- var isMulti = _ref3.isMulti,
23043
- hasValue = _ref3.hasValue,
23044
- hasDefaultOptions = _ref3.hasDefaultOptions;
23041
+ function getControlBorderRadius(_ref3) {
23042
+ var border = _ref3.border,
23043
+ isMenuOpen = _ref3.isMenuOpen,
23044
+ menuLength = _ref3.menuLength,
23045
+ menuPlacement = _ref3.menuPlacement,
23046
+ theme = _ref3.theme;
23047
+ var isMenuEmpty = menuLength === 0;
23048
+ if (!isMenuOpen || isMenuEmpty || border !== menuPlacement) return theme.radii.medium;
23049
+ return 0;
23050
+ }
23051
+ function getMenuBorderRadius(_ref4) {
23052
+ var border = _ref4.border,
23053
+ menuPlacement = _ref4.menuPlacement,
23054
+ theme = _ref4.theme;
23055
+ return border === menuPlacement ? {
23056
+ radius: theme.radii.medium,
23057
+ style: "solid"
23058
+ } : {
23059
+ radius: 0,
23060
+ style: "none"
23061
+ };
23062
+ }
23063
+ var showIndicatorSeparator = function showIndicatorSeparator(_ref5) {
23064
+ var isMulti = _ref5.isMulti,
23065
+ hasValue = _ref5.hasValue,
23066
+ hasDefaultOptions = _ref5.hasDefaultOptions;
23045
23067
  return isMulti && hasValue && hasDefaultOptions;
23046
23068
  };
23047
23069
 
23048
- var customStyles = function customStyles(_ref4) {
23049
- var theme = _ref4.theme,
23050
- error = _ref4.error,
23051
- maxHeight = _ref4.maxHeight,
23052
- windowed = _ref4.windowed,
23053
- _ref4$hasDefaultOptio = _ref4.hasDefaultOptions,
23054
- hasDefaultOptions = _ref4$hasDefaultOptio === void 0 ? true : _ref4$hasDefaultOptio;
23070
+ var customStyles = function customStyles(_ref6) {
23071
+ var theme = _ref6.theme,
23072
+ error = _ref6.error,
23073
+ maxHeight = _ref6.maxHeight,
23074
+ windowed = _ref6.windowed,
23075
+ _ref6$hasDefaultOptio = _ref6.hasDefaultOptions,
23076
+ hasDefaultOptions = _ref6$hasDefaultOptio === void 0 ? true : _ref6$hasDefaultOptio;
23055
23077
  return {
23056
23078
  option: function option() {
23057
23079
  return {
@@ -23084,8 +23106,34 @@
23084
23106
  theme: theme
23085
23107
  }),
23086
23108
  borderRadius: theme.radii.medium,
23087
- borderBottomLeftRadius: state.selectProps.menuIsOpen && state.selectProps.options.length ? 0 : theme.radii.medium,
23088
- borderBottomRightRadius: state.selectProps.menuIsOpen && state.selectProps.options.length ? 0 : theme.radii.medium,
23109
+ borderBottomLeftRadius: getControlBorderRadius({
23110
+ border: "bottom",
23111
+ isMenuOpen: state.selectProps.menuIsOpen,
23112
+ menuLength: state.selectProps.options.length,
23113
+ menuPlacement: state.selectProps.menuPlacement,
23114
+ theme: theme
23115
+ }),
23116
+ borderBottomRightRadius: getControlBorderRadius({
23117
+ border: "bottom",
23118
+ isMenuOpen: state.selectProps.menuIsOpen,
23119
+ menuLength: state.selectProps.options.length,
23120
+ menuPlacement: state.selectProps.menuPlacement,
23121
+ theme: theme
23122
+ }),
23123
+ borderTopRightRadius: getControlBorderRadius({
23124
+ border: "top",
23125
+ isMenuOpen: state.selectProps.menuIsOpen,
23126
+ menuLength: state.selectProps.options.length,
23127
+ menuPlacement: state.selectProps.menuPlacement,
23128
+ theme: theme
23129
+ }),
23130
+ borderTopLeftRadius: getControlBorderRadius({
23131
+ border: "top",
23132
+ isMenuOpen: state.selectProps.menuIsOpen,
23133
+ menuLength: state.selectProps.options.length,
23134
+ menuPlacement: state.selectProps.menuPlacement,
23135
+ theme: theme
23136
+ }),
23089
23137
  "&:hover, &:focus": {
23090
23138
  borderColor: getBorderColor({
23091
23139
  errored: error,
@@ -23120,8 +23168,9 @@
23120
23168
  });
23121
23169
  },
23122
23170
  menu: function menu(provided, state) {
23123
- return {
23171
+ return Object.assign(Object.assign({}, provided), {
23124
23172
  marginTop: 0,
23173
+ marginBottom: 0,
23125
23174
  position: "absolute",
23126
23175
  overflowX: "auto",
23127
23176
  zIndex: "100",
@@ -23135,16 +23184,44 @@
23135
23184
  isFocused: false,
23136
23185
  theme: theme
23137
23186
  }),
23138
- borderBottomStyle: "solid",
23139
23187
  borderLeftStyle: "solid",
23140
23188
  borderRightStyle: "solid",
23141
- borderRadius: "0 0 4px 4px",
23189
+ borderBottomStyle: getMenuBorderRadius({
23190
+ border: "bottom",
23191
+ menuPlacement: state.selectProps.menuPlacement,
23192
+ theme: theme
23193
+ }).style,
23194
+ borderTopStyle: getMenuBorderRadius({
23195
+ border: "top",
23196
+ menuPlacement: state.selectProps.menuPlacement,
23197
+ theme: theme
23198
+ }).style,
23199
+ borderBottomLeftRadius: getMenuBorderRadius({
23200
+ border: "bottom",
23201
+ menuPlacement: state.selectProps.menuPlacement,
23202
+ theme: theme
23203
+ }).radius,
23204
+ borderBottomRightRadius: getMenuBorderRadius({
23205
+ border: "bottom",
23206
+ menuPlacement: state.selectProps.menuPlacement,
23207
+ theme: theme
23208
+ }).radius,
23209
+ borderTopLeftRadius: getMenuBorderRadius({
23210
+ border: "top",
23211
+ menuPlacement: state.selectProps.menuPlacement,
23212
+ theme: theme
23213
+ }).radius,
23214
+ borderTopRightRadius: getMenuBorderRadius({
23215
+ border: "top",
23216
+ menuPlacement: state.selectProps.menuPlacement,
23217
+ theme: theme
23218
+ }).radius,
23142
23219
  boxShadow: getShadow({
23143
23220
  errored: error,
23144
23221
  isOpen: true,
23145
23222
  theme: theme
23146
23223
  })
23147
- };
23224
+ });
23148
23225
  },
23149
23226
  menuList: function menuList(provided) {
23150
23227
  return Object.assign(Object.assign({}, provided), {
@@ -23274,6 +23351,7 @@
23274
23351
  initialIsOpen: undefined,
23275
23352
  maxHeight: "248px",
23276
23353
  menuPosition: "absolute",
23354
+ menuPlacement: "bottom",
23277
23355
  multiselect: false,
23278
23356
  name: undefined,
23279
23357
  onBlur: undefined,
@@ -50878,8 +50956,7 @@
50878
50956
  var Header = function Header(_a) {
50879
50957
  var _b, _c;
50880
50958
 
50881
- var _a$background = _a.background,
50882
- background = _a$background === void 0 ? "whiteGrey" : _a$background,
50959
+ var background = _a.background,
50883
50960
  renderBreadcrumbs = _a.renderBreadcrumbs,
50884
50961
  title = _a.title,
50885
50962
  _a$undecorated = _a.undecorated,
@@ -50896,12 +50973,13 @@
50896
50973
  var mediumBreakpoint = pixelDigitsFrom$1((_c = breakpoints === null || breakpoints === void 0 ? void 0 : breakpoints.medium) !== null && _c !== void 0 ? _c : theme.breakpoints.medium);
50897
50974
  var m = useMediaQuery("(max-width: " + mediumBreakpoint + "px)");
50898
50975
  var sm = useMediaQuery("(max-width: " + smallBreakpoint + "px)");
50976
+ var bg = background ? background : undecorated ? "transparent" : "whiteGrey";
50899
50977
  return /*#__PURE__*/React__default['default'].createElement(Flex, Object.assign({
50900
50978
  py: "x1",
50901
50979
  px: "x3",
50902
50980
  gap: "x2",
50903
50981
  position: "relative",
50904
- bg: background
50982
+ bg: bg
50905
50983
  }, rest), /*#__PURE__*/React__default['default'].createElement(Flex, {
50906
50984
  flexGrow: 3,
50907
50985
  justifyContent: "space-between",
@@ -23012,20 +23012,42 @@ var getShadow = function getShadow(_ref2) {
23012
23012
  }
23013
23013
  };
23014
23014
 
23015
- var showIndicatorSeparator = function showIndicatorSeparator(_ref3) {
23016
- var isMulti = _ref3.isMulti,
23017
- hasValue = _ref3.hasValue,
23018
- hasDefaultOptions = _ref3.hasDefaultOptions;
23015
+ function getControlBorderRadius(_ref3) {
23016
+ var border = _ref3.border,
23017
+ isMenuOpen = _ref3.isMenuOpen,
23018
+ menuLength = _ref3.menuLength,
23019
+ menuPlacement = _ref3.menuPlacement,
23020
+ theme = _ref3.theme;
23021
+ var isMenuEmpty = menuLength === 0;
23022
+ if (!isMenuOpen || isMenuEmpty || border !== menuPlacement) return theme.radii.medium;
23023
+ return 0;
23024
+ }
23025
+ function getMenuBorderRadius(_ref4) {
23026
+ var border = _ref4.border,
23027
+ menuPlacement = _ref4.menuPlacement,
23028
+ theme = _ref4.theme;
23029
+ return border === menuPlacement ? {
23030
+ radius: theme.radii.medium,
23031
+ style: "solid"
23032
+ } : {
23033
+ radius: 0,
23034
+ style: "none"
23035
+ };
23036
+ }
23037
+ var showIndicatorSeparator = function showIndicatorSeparator(_ref5) {
23038
+ var isMulti = _ref5.isMulti,
23039
+ hasValue = _ref5.hasValue,
23040
+ hasDefaultOptions = _ref5.hasDefaultOptions;
23019
23041
  return isMulti && hasValue && hasDefaultOptions;
23020
23042
  };
23021
23043
 
23022
- var customStyles = function customStyles(_ref4) {
23023
- var theme = _ref4.theme,
23024
- error = _ref4.error,
23025
- maxHeight = _ref4.maxHeight,
23026
- windowed = _ref4.windowed,
23027
- _ref4$hasDefaultOptio = _ref4.hasDefaultOptions,
23028
- hasDefaultOptions = _ref4$hasDefaultOptio === void 0 ? true : _ref4$hasDefaultOptio;
23044
+ var customStyles = function customStyles(_ref6) {
23045
+ var theme = _ref6.theme,
23046
+ error = _ref6.error,
23047
+ maxHeight = _ref6.maxHeight,
23048
+ windowed = _ref6.windowed,
23049
+ _ref6$hasDefaultOptio = _ref6.hasDefaultOptions,
23050
+ hasDefaultOptions = _ref6$hasDefaultOptio === void 0 ? true : _ref6$hasDefaultOptio;
23029
23051
  return {
23030
23052
  option: function option() {
23031
23053
  return {
@@ -23058,8 +23080,34 @@ var customStyles = function customStyles(_ref4) {
23058
23080
  theme: theme
23059
23081
  }),
23060
23082
  borderRadius: theme.radii.medium,
23061
- borderBottomLeftRadius: state.selectProps.menuIsOpen && state.selectProps.options.length ? 0 : theme.radii.medium,
23062
- borderBottomRightRadius: state.selectProps.menuIsOpen && state.selectProps.options.length ? 0 : theme.radii.medium,
23083
+ borderBottomLeftRadius: getControlBorderRadius({
23084
+ border: "bottom",
23085
+ isMenuOpen: state.selectProps.menuIsOpen,
23086
+ menuLength: state.selectProps.options.length,
23087
+ menuPlacement: state.selectProps.menuPlacement,
23088
+ theme: theme
23089
+ }),
23090
+ borderBottomRightRadius: getControlBorderRadius({
23091
+ border: "bottom",
23092
+ isMenuOpen: state.selectProps.menuIsOpen,
23093
+ menuLength: state.selectProps.options.length,
23094
+ menuPlacement: state.selectProps.menuPlacement,
23095
+ theme: theme
23096
+ }),
23097
+ borderTopRightRadius: getControlBorderRadius({
23098
+ border: "top",
23099
+ isMenuOpen: state.selectProps.menuIsOpen,
23100
+ menuLength: state.selectProps.options.length,
23101
+ menuPlacement: state.selectProps.menuPlacement,
23102
+ theme: theme
23103
+ }),
23104
+ borderTopLeftRadius: getControlBorderRadius({
23105
+ border: "top",
23106
+ isMenuOpen: state.selectProps.menuIsOpen,
23107
+ menuLength: state.selectProps.options.length,
23108
+ menuPlacement: state.selectProps.menuPlacement,
23109
+ theme: theme
23110
+ }),
23063
23111
  "&:hover, &:focus": {
23064
23112
  borderColor: getBorderColor({
23065
23113
  errored: error,
@@ -23094,8 +23142,9 @@ var customStyles = function customStyles(_ref4) {
23094
23142
  });
23095
23143
  },
23096
23144
  menu: function menu(provided, state) {
23097
- return {
23145
+ return Object.assign(Object.assign({}, provided), {
23098
23146
  marginTop: 0,
23147
+ marginBottom: 0,
23099
23148
  position: "absolute",
23100
23149
  overflowX: "auto",
23101
23150
  zIndex: "100",
@@ -23109,16 +23158,44 @@ var customStyles = function customStyles(_ref4) {
23109
23158
  isFocused: false,
23110
23159
  theme: theme
23111
23160
  }),
23112
- borderBottomStyle: "solid",
23113
23161
  borderLeftStyle: "solid",
23114
23162
  borderRightStyle: "solid",
23115
- borderRadius: "0 0 4px 4px",
23163
+ borderBottomStyle: getMenuBorderRadius({
23164
+ border: "bottom",
23165
+ menuPlacement: state.selectProps.menuPlacement,
23166
+ theme: theme
23167
+ }).style,
23168
+ borderTopStyle: getMenuBorderRadius({
23169
+ border: "top",
23170
+ menuPlacement: state.selectProps.menuPlacement,
23171
+ theme: theme
23172
+ }).style,
23173
+ borderBottomLeftRadius: getMenuBorderRadius({
23174
+ border: "bottom",
23175
+ menuPlacement: state.selectProps.menuPlacement,
23176
+ theme: theme
23177
+ }).radius,
23178
+ borderBottomRightRadius: getMenuBorderRadius({
23179
+ border: "bottom",
23180
+ menuPlacement: state.selectProps.menuPlacement,
23181
+ theme: theme
23182
+ }).radius,
23183
+ borderTopLeftRadius: getMenuBorderRadius({
23184
+ border: "top",
23185
+ menuPlacement: state.selectProps.menuPlacement,
23186
+ theme: theme
23187
+ }).radius,
23188
+ borderTopRightRadius: getMenuBorderRadius({
23189
+ border: "top",
23190
+ menuPlacement: state.selectProps.menuPlacement,
23191
+ theme: theme
23192
+ }).radius,
23116
23193
  boxShadow: getShadow({
23117
23194
  errored: error,
23118
23195
  isOpen: true,
23119
23196
  theme: theme
23120
23197
  })
23121
- };
23198
+ });
23122
23199
  },
23123
23200
  menuList: function menuList(provided) {
23124
23201
  return Object.assign(Object.assign({}, provided), {
@@ -23248,6 +23325,7 @@ var SelectDefaultProps = {
23248
23325
  initialIsOpen: undefined,
23249
23326
  maxHeight: "248px",
23250
23327
  menuPosition: "absolute",
23328
+ menuPlacement: "bottom",
23251
23329
  multiselect: false,
23252
23330
  name: undefined,
23253
23331
  onBlur: undefined,
@@ -50852,8 +50930,7 @@ var ApplicationFrame = function ApplicationFrame(_a) {
50852
50930
  var Header = function Header(_a) {
50853
50931
  var _b, _c;
50854
50932
 
50855
- var _a$background = _a.background,
50856
- background = _a$background === void 0 ? "whiteGrey" : _a$background,
50933
+ var background = _a.background,
50857
50934
  renderBreadcrumbs = _a.renderBreadcrumbs,
50858
50935
  title = _a.title,
50859
50936
  _a$undecorated = _a.undecorated,
@@ -50870,12 +50947,13 @@ var Header = function Header(_a) {
50870
50947
  var mediumBreakpoint = pixelDigitsFrom$1((_c = breakpoints === null || breakpoints === void 0 ? void 0 : breakpoints.medium) !== null && _c !== void 0 ? _c : theme.breakpoints.medium);
50871
50948
  var m = useMediaQuery("(max-width: " + mediumBreakpoint + "px)");
50872
50949
  var sm = useMediaQuery("(max-width: " + smallBreakpoint + "px)");
50950
+ var bg = background ? background : undecorated ? "transparent" : "whiteGrey";
50873
50951
  return /*#__PURE__*/React__default.createElement(Flex, Object.assign({
50874
50952
  py: "x1",
50875
50953
  px: "x3",
50876
50954
  gap: "x2",
50877
50955
  position: "relative",
50878
- bg: background
50956
+ bg: bg
50879
50957
  }, rest), /*#__PURE__*/React__default.createElement(Flex, {
50880
50958
  flexGrow: 3,
50881
50959
  justifyContent: "space-between",
@@ -1,11 +1,11 @@
1
1
  /// <reference types="react" />
2
- export declare const DefaultBackground: () => JSX.Element;
3
- export declare const WithAnUndecoratedBackground: () => JSX.Element;
2
+ export declare const Default: () => JSX.Element;
4
3
  export declare const WithActions: () => JSX.Element;
5
- export declare const WithCustomBackground: () => JSX.Element;
6
4
  export declare const WithSubTitle: () => JSX.Element;
7
5
  export declare const WithContent: () => JSX.Element;
8
6
  export declare const WithSummary: () => JSX.Element;
7
+ export declare const WithAnUndecoratedBackground: () => JSX.Element;
8
+ export declare const WithCustomBackground: () => JSX.Element;
9
9
  export declare const WithEverything: () => JSX.Element;
10
10
  declare const _default: {
11
11
  title: string;
@@ -15,6 +15,7 @@ export declare type SelectProps = {
15
15
  id?: string;
16
16
  initialIsOpen?: boolean;
17
17
  menuPosition?: string;
18
+ menuPlacement?: string;
18
19
  maxHeight?: string;
19
20
  multiselect?: boolean;
20
21
  name?: string;
@@ -50,6 +51,7 @@ export declare const SelectDefaultProps: {
50
51
  initialIsOpen: any;
51
52
  maxHeight: string;
52
53
  menuPosition: string;
54
+ menuPlacement: string;
53
55
  multiselect: boolean;
54
56
  name: any;
55
57
  onBlur: any;
@@ -108,3 +108,4 @@ export declare const UsingRefToControlFocus: {
108
108
  };
109
109
  };
110
110
  export declare const WithCustomProps: () => JSX.Element;
111
+ export declare const WithTopMenuPlacement: () => JSX.Element;
@@ -1,3 +1,23 @@
1
+ import { DefaultNDSThemeType } from "../theme.type";
2
+ declare type Placement = "top" | "bottom";
3
+ export declare function getControlBorderRadius({ border, isMenuOpen, menuLength, menuPlacement, theme, }: {
4
+ border: Placement;
5
+ isMenuOpen: boolean;
6
+ menuLength: number;
7
+ menuPlacement: Placement;
8
+ theme: DefaultNDSThemeType;
9
+ }): string | 0;
10
+ export declare function getMenuBorderRadius({ border, menuPlacement, theme, }: {
11
+ border: Placement;
12
+ menuPlacement: Placement;
13
+ theme: DefaultNDSThemeType;
14
+ }): {
15
+ radius: string;
16
+ style: string;
17
+ } | {
18
+ radius: number;
19
+ style: string;
20
+ };
1
21
  export declare const showIndicatorSeparator: ({ isMulti, hasValue, hasDefaultOptions }: {
2
22
  isMulti: any;
3
23
  hasValue: any;
@@ -28,8 +48,10 @@ declare const customStyles: ({ theme, error, maxHeight, windowed, hasDefaultOpti
28
48
  boxSizing: string;
29
49
  boxShadow: any;
30
50
  borderRadius: any;
31
- borderBottomLeftRadius: any;
32
- borderBottomRightRadius: any;
51
+ borderBottomLeftRadius: string | number;
52
+ borderBottomRightRadius: string | number;
53
+ borderTopRightRadius: string | number;
54
+ borderTopLeftRadius: string | number;
33
55
  "&:hover, &:focus": {
34
56
  borderColor: any;
35
57
  };
@@ -38,21 +60,7 @@ declare const customStyles: ({ theme, error, maxHeight, windowed, hasDefaultOpti
38
60
  indicatorsContainer: (provided: any) => any;
39
61
  input: () => {};
40
62
  valueContainer: (provided: any) => any;
41
- menu: (provided: any, state: any) => {
42
- marginTop: number;
43
- position: string;
44
- overflowX: string;
45
- zIndex: string;
46
- width: string;
47
- background: any;
48
- borderWidth: string;
49
- borderColor: any;
50
- borderBottomStyle: string;
51
- borderLeftStyle: string;
52
- borderRightStyle: string;
53
- borderRadius: string;
54
- boxShadow: any;
55
- };
63
+ menu: (provided: any, state: any) => any;
56
64
  menuList: (provided: any) => any;
57
65
  multiValue: (provided: any) => any;
58
66
  multiValueLabel: () => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nulogy/components",
3
- "version": "8.7.2",
3
+ "version": "8.8.0",
4
4
  "description": "Component library for the Nulogy Design System - http://nulogy.design",
5
5
  "private": false,
6
6
  "publishConfig": {
@@ -62,12 +62,12 @@
62
62
  "@nulogy/icons": "^4.18.0",
63
63
  "@rollup/plugin-babel": "^5.0.0",
64
64
  "@rollup/plugin-node-resolve": "^7.1.3",
65
- "@semantic-release/changelog": "^5.0.1",
66
- "@semantic-release/commit-analyzer": "^8.0.1",
67
- "@semantic-release/git": "^9.0.0",
68
- "@semantic-release/github": "^7.1.1",
69
- "@semantic-release/npm": "^7.0.6",
70
- "@semantic-release/release-notes-generator": "^9.0.1",
65
+ "@semantic-release/changelog": "^6.0.2",
66
+ "@semantic-release/commit-analyzer": "^9.0.2",
67
+ "@semantic-release/git": "^10.0.1",
68
+ "@semantic-release/github": "^8.0.7",
69
+ "@semantic-release/npm": "^9.0.0",
70
+ "@semantic-release/release-notes-generator": "^10.0.3",
71
71
  "@storybook/addon-a11y": "^6.1.9",
72
72
  "@storybook/addon-actions": "^6.1.9",
73
73
  "@storybook/addon-knobs": "^6.1.9",
@@ -109,6 +109,7 @@
109
109
  "jest": "24.1.0",
110
110
  "jest-styled-components": "7",
111
111
  "jscodeshift": "^0.11.0",
112
+ "lost-pixel": "^3.2.0",
112
113
  "mockdate": "^3.0.2",
113
114
  "plop": "^2.4.0",
114
115
  "prop-types": "15.7.2",