@linzjs/lui 21.53.3 → 21.54.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/CHANGELOG.md CHANGED
@@ -1,3 +1,17 @@
1
+ # [21.54.0](https://github.com/linz/lui/compare/v21.53.4...v21.54.0) (2024-11-21)
2
+
3
+
4
+ ### Features
5
+
6
+ * Add className to LuiSelectInput props ([#1175](https://github.com/linz/lui/issues/1175)) ([b9ddacd](https://github.com/linz/lui/commit/b9ddacdd69c3291fb4c93c43afe05345d61d4ac5))
7
+
8
+ ## [21.53.4](https://github.com/linz/lui/compare/v21.53.3...v21.53.4) (2024-11-20)
9
+
10
+
11
+ ### Bug Fixes
12
+
13
+ * Missing useCallback on LuiMessagingContextProvider showMessage ([#1173](https://github.com/linz/lui/issues/1173)) ([50f95c0](https://github.com/linz/lui/commit/50f95c0cc4485e1a94951fd29823a34d31a3c0db))
14
+
1
15
  ## [21.53.3](https://github.com/linz/lui/compare/v21.53.2...v21.53.3) (2024-11-20)
2
16
 
3
17
 
@@ -15,5 +15,6 @@ export interface SelectProps {
15
15
  selectProps?: DetailedHTMLProps<SelectHTMLAttributes<HTMLSelectElement>, HTMLSelectElement>;
16
16
  label: JSX.Element | string;
17
17
  placeholderText?: string;
18
+ className?: string;
18
19
  }
19
20
  export declare const LuiSelectInput: (props: SelectProps) => JSX.Element;
@@ -33,7 +33,7 @@ export declare const LuiMessagingContextProvider: (props: ProviderProps) => JSX.
33
33
  * const toaster = useShowLUIMessage();
34
34
  * toaster({ message: 'Failed to save', messageType: 'toast', messageLevel: 'error' });
35
35
  */
36
- export declare const useShowLUIMessage: () => (props: import("../../../contexts/LuiMessagingContextProvider").ShowMessageProps) => void;
36
+ export declare const useShowLUIMessage: () => (messageProps: import("../../../contexts/LuiMessagingContextProvider").ShowMessageProps) => void;
37
37
  declare type LuiToastMessageProps = ComponentProps<typeof LuiToastMessageOld>;
38
38
  export declare const LuiToastMessage: (props: LuiToastMessageProps) => JSX.Element;
39
39
  export {};
@@ -1,14 +1,14 @@
1
- import React from 'react';
1
+ import { PropsWithChildren } from 'react';
2
2
  export declare type MessageLevel = 'success' | 'info' | 'warning' | 'error';
3
3
  export declare type MessageType = 'toast';
4
4
  export interface IUIMessagingContext {
5
- showMessage: (props: ShowMessageProps) => void;
5
+ showMessage: (messageProps: ShowMessageProps) => void;
6
6
  }
7
- export declare function useShowLUIMessage(): (props: ShowMessageProps) => void;
7
+ export declare function useShowLUIMessage(): (messageProps: ShowMessageProps) => void;
8
8
  export interface ShowMessageProps {
9
9
  message: string | JSX.Element;
10
10
  messageType: MessageType;
11
11
  messageLevel: MessageLevel;
12
12
  requireDismiss?: boolean;
13
13
  }
14
- export declare const LuiMessagingContextProvider: React.FC<React.PropsWithChildren<unknown>>;
14
+ export declare const LuiMessagingContextProvider: ({ children, }: PropsWithChildren<unknown>) => JSX.Element;
package/dist/index.js CHANGED
@@ -31986,7 +31986,7 @@ var extensionsAsHumanReadableList = function (extensions) {
31986
31986
  var LuiSelectInput = function (props) {
31987
31987
  var _a, _b;
31988
31988
  var id = useGenerateOrDefaultId((_a = props.selectProps) === null || _a === void 0 ? void 0 : _a.id);
31989
- return (React__default["default"].createElement("div", { className: clsx('LuiSelect', ((_b = props.selectProps) === null || _b === void 0 ? void 0 : _b.disabled) ? 'isDisabled' : '', props.error ? 'hasError' : '', props.warning ? 'hasWarning' : '') },
31989
+ return (React__default["default"].createElement("div", { className: clsx('LuiSelect', ((_b = props.selectProps) === null || _b === void 0 ? void 0 : _b.disabled) ? 'isDisabled' : '', props.error ? 'hasError' : '', props.warning ? 'hasWarning' : '', props.className) },
31990
31990
  React__default["default"].createElement("label", { htmlFor: id, className: "LuiSelect-label" },
31991
31991
  props.mandatory && React__default["default"].createElement("span", { className: "LuiSelect-mandatory" }, "*"),
31992
31992
  React__default["default"].createElement("span", { className: clsx('LuiSelect-label-text', props.hideLabel ? 'LuiScreenReadersOnly' : '') }, props.label),
@@ -59960,25 +59960,27 @@ var LuiToastMessage$1 = function (_a) {
59960
59960
  };
59961
59961
 
59962
59962
  var UIMessagingContext = React.createContext({
59963
- // @ts-ignore
59964
- showMessage: function (props) { }
59963
+ showMessage: function (messageProps) {
59964
+ console.error('No UIMessagingContext.Provider found for showMessage', messageProps);
59965
+ }
59965
59966
  });
59966
59967
  function useShowLUIMessage$1() {
59967
59968
  return React.useContext(UIMessagingContext).showMessage;
59968
59969
  }
59969
- var LuiMessagingContextProvider$1 = function (props) {
59970
- var _a = React.useState(), _message = _a[0], setMessage = _a[1];
59971
- var _b = React.useState(), _messageType = _b[0], setMessageType = _b[1];
59972
- var _c = React.useState('success'), _messageLevel = _c[0], setMessageLevel = _c[1];
59973
- var _d = React.useState(true), _requireDismiss = _d[0], setRequireDismiss = _d[1];
59974
- var showMessage = function (props) {
59975
- setMessage(props.message);
59976
- setMessageType(props.messageType);
59977
- setMessageLevel(props.messageLevel);
59978
- setRequireDismiss(props.requireDismiss === undefined
59979
- ? props.messageLevel === 'error'
59980
- : props.requireDismiss);
59981
- };
59970
+ var LuiMessagingContextProvider$1 = function (_a) {
59971
+ var children = _a.children;
59972
+ var _b = React.useState(), _message = _b[0], setMessage = _b[1];
59973
+ var _c = React.useState(), _messageType = _c[0], setMessageType = _c[1];
59974
+ var _d = React.useState('success'), _messageLevel = _d[0], setMessageLevel = _d[1];
59975
+ var _e = React.useState(true), _requireDismiss = _e[0], setRequireDismiss = _e[1];
59976
+ var showMessage = React.useCallback(function (messageProps) {
59977
+ setMessage(messageProps.message);
59978
+ setMessageType(messageProps.messageType);
59979
+ setMessageLevel(messageProps.messageLevel);
59980
+ setRequireDismiss(messageProps.requireDismiss === undefined
59981
+ ? messageProps.messageLevel === 'error'
59982
+ : messageProps.requireDismiss);
59983
+ }, []);
59982
59984
  var renderMessage = function () {
59983
59985
  switch (_messageType) {
59984
59986
  case 'toast':
@@ -59992,7 +59994,7 @@ var LuiMessagingContextProvider$1 = function (props) {
59992
59994
  };
59993
59995
  return (React__default["default"].createElement(UIMessagingContext.Provider, { value: { showMessage: showMessage } },
59994
59996
  _message && renderMessage(),
59995
- props.children));
59997
+ children));
59996
59998
  };
59997
59999
 
59998
60000
  var LuiToastMessageCompatibleInterface = function (props) {
@@ -60046,9 +60048,9 @@ var getTimeout = function (_a) {
60046
60048
  */
60047
60049
  var useShowLUIMessageCompatibleInterface = function () {
60048
60050
  var t = useToast();
60049
- return function (props) {
60051
+ return React.useCallback(function (props) {
60050
60052
  return t[props.messageLevel](props.message, { timeout: getTimeout(props) });
60051
- };
60053
+ }, []);
60052
60054
  };
60053
60055
 
60054
60056
  /**