@linzjs/lui 23.4.0 → 23.6.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
+ # [23.6.0](https://github.com/linz/lui/compare/v23.5.0...v23.6.0) (2025-07-07)
2
+
3
+
4
+ ### Features
5
+
6
+ * Adds an autoexpanding TextArea. Can be replaced with native CSS in a year ([#1235](https://github.com/linz/lui/issues/1235)) ([8ec3398](https://github.com/linz/lui/commit/8ec33987889a08ef9c9eb9a4aa13c6dbbcad9e5c))
7
+
8
+ # [23.5.0](https://github.com/linz/lui/compare/v23.4.0...v23.5.0) (2025-07-02)
9
+
10
+
11
+ ### Features
12
+
13
+ * SRVTRI-4048 add ref to toolbar button ([#1234](https://github.com/linz/lui/issues/1234)) ([f477328](https://github.com/linz/lui/commit/f4773281b9c5477c8a3fa6058b0368badb33ef00))
14
+
1
15
  # [23.4.0](https://github.com/linz/lui/compare/v23.3.0...v23.4.0) (2025-06-30)
2
16
 
3
17
 
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import { type LuiTextAreaInputProps } from './LuiTextAreaInput';
3
+ export declare const LuiAutoExpandTextAreaInput: (props: LuiTextAreaInputProps) => JSX.Element;
@@ -1,4 +1,4 @@
1
- import { ChangeEventHandler, InputHTMLAttributes } from 'react';
1
+ import React, { ChangeEventHandler, InputHTMLAttributes } from 'react';
2
2
  export interface LuiTextAreaInputProps {
3
3
  label: JSX.Element | string;
4
4
  mandatory?: boolean;
@@ -7,5 +7,6 @@ export interface LuiTextAreaInputProps {
7
7
  value: string;
8
8
  error?: string | boolean;
9
9
  warning?: string;
10
+ rows?: number;
10
11
  }
11
- export declare const LuiTextAreaInput: (props: LuiTextAreaInputProps) => JSX.Element;
12
+ export declare const LuiTextAreaInput: React.ForwardRefExoticComponent<LuiTextAreaInputProps & React.RefAttributes<HTMLTextAreaElement>>;
@@ -1,6 +1,6 @@
1
- /// <reference types="react" />
2
- import 'react-loading-skeleton/dist/skeleton.css';
3
1
  import './ToolbarButton.scss';
2
+ import 'react-loading-skeleton/dist/skeleton.css';
3
+ import React from 'react';
4
4
  export interface ToolbarButtonProps {
5
5
  disabled?: boolean;
6
6
  highlighted?: boolean;
@@ -18,4 +18,4 @@ export interface ToolbarButtonProps {
18
18
  * @param props
19
19
  * @returns
20
20
  */
21
- export declare const ToolbarButton: ({ disabled, highlighted, iconImage, iconName, loading, onClick, panelTitle, panelKey, tooltip, }: ToolbarButtonProps) => JSX.Element;
21
+ export declare const ToolbarButton: React.ForwardRefExoticComponent<ToolbarButtonProps & React.RefAttributes<HTMLButtonElement>>;
package/dist/index.js CHANGED
@@ -7198,23 +7198,24 @@ var LuiSelectInput = function (props) {
7198
7198
  props.warning)))));
7199
7199
  };
7200
7200
 
7201
- var LuiTextAreaInput = function (props) {
7201
+ var LuiTextAreaInput = React__default["default"].forwardRef(function (props, ref) {
7202
7202
  var _a, _b;
7203
7203
  var id = useGenerateOrDefaultId((_a = props.inputProps) === null || _a === void 0 ? void 0 : _a.id);
7204
+ var rows = props.rows !== undefined ? props.rows : 5;
7205
+ console.log('🚀 ~ rows:', rows);
7204
7206
  return (React__default["default"].createElement("div", { className: clsx('LuiTextAreaInput', ((_b = props.inputProps) === null || _b === void 0 ? void 0 : _b.disabled) ? 'isDisabled' : '', props.error ? 'hasError' : '', props.warning ? 'hasWarning' : '') },
7205
7207
  React__default["default"].createElement("label", { htmlFor: id },
7206
7208
  props.mandatory && (React__default["default"].createElement("span", { className: "LuiTextAreaInput-mandatory" }, "*")),
7207
7209
  React__default["default"].createElement("span", { className: "LuiTextAreaInput-label" }, props.label),
7208
7210
  React__default["default"].createElement("div", { className: "LuiTextAreaInput-wrapper" },
7209
- ' ',
7210
- React__default["default"].createElement("textarea", __assign({ id: id, value: props.value, onChange: props.onChange, rows: 5 }, props.inputProps)))),
7211
+ React__default["default"].createElement("textarea", __assign({ id: id, value: props.value, onChange: props.onChange, ref: ref, rows: rows }, props.inputProps)))),
7211
7212
  props.error && (React__default["default"].createElement("span", { className: "LuiTextAreaInput-error" },
7212
7213
  React__default["default"].createElement(LuiIcon, { alt: "error", name: "ic_error", className: "LuiTextAreaInput-error-icon", size: "sm", status: "error" }),
7213
7214
  props.error)),
7214
7215
  props.warning && (React__default["default"].createElement("span", { className: "LuiTextAreaInput-warning" },
7215
7216
  React__default["default"].createElement(LuiIcon, { alt: "warning", name: "ic_warning", className: "LuiTextAreaInput-warning-icon", size: "sm", status: "warning" }),
7216
7217
  props.warning))));
7217
- };
7218
+ });
7218
7219
 
7219
7220
  var LuiDateInput = React__default["default"].forwardRef(function (_a, ref) {
7220
7221
  var inputProps = _a.inputProps, rest = __rest(_a, ["inputProps"]);
@@ -33716,6 +33717,9 @@ function LuiSideToolbar(props) {
33716
33717
  return (React__default["default"].createElement("div", { className: clsx(['Toolbar', 'app--shadow-sm', props.direction]), "data-testid": "toolbar" }, props.children));
33717
33718
  }
33718
33719
 
33720
+ var css_248z$c = "/**\n @deprecated\n */\n/**\n @deprecated\n */\n/**\n @deprecated\n */\n.ToolbarButton {\n height: 40px;\n width: 40px;\n line-height: 12px;\n margin: 2px;\n padding: 0.25rem;\n}\n\n.ToolbarButton-placement {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.ToolbarButton img {\n border-radius: 3px;\n margin: -0.25rem;\n}\n\n.ToolbarButton,\n.ToolbarButton:hover,\n.ToolbarButton:disabled,\n.ToolbarButton:active:enabled {\n border-radius: 5px;\n border: 2px #ffffff solid !important;\n}\n\n.ToolbarItem-separator {\n height: 2px;\n background-color: #eaeaea;\n width: 100%;\n}";
33721
+ styleInject(css_248z$c);
33722
+
33719
33723
  /**
33720
33724
  * Show LuiIcon or Image.
33721
33725
  *
@@ -33727,24 +33731,21 @@ var ToolbarIcon = function (_a) {
33727
33731
  return iconImage ? (React__default["default"].createElement("img", { className: "LuiIcon--lg", alt: iconName, src: iconImage })) : (React__default["default"].createElement(LuiIcon, { name: iconName, alt: iconName, size: 'md' }));
33728
33732
  };
33729
33733
 
33730
- var css_248z$c = "/**\n @deprecated\n */\n/**\n @deprecated\n */\n/**\n @deprecated\n */\n.ToolbarButton {\n height: 40px;\n width: 40px;\n line-height: 12px;\n margin: 2px;\n padding: 0.25rem;\n}\n\n.ToolbarButton-placement {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.ToolbarButton img {\n border-radius: 3px;\n margin: -0.25rem;\n}\n\n.ToolbarButton,\n.ToolbarButton:hover,\n.ToolbarButton:disabled,\n.ToolbarButton:active:enabled {\n border-radius: 5px;\n border: 2px #ffffff solid !important;\n}\n\n.ToolbarItem-separator {\n height: 2px;\n background-color: #eaeaea;\n width: 100%;\n}";
33731
- styleInject(css_248z$c);
33732
-
33733
33734
  /**
33734
33735
  * Create button for using either LuiIcon or Image.
33735
33736
  *
33736
33737
  * @param props
33737
33738
  * @returns
33738
33739
  */
33739
- var ToolbarButton = function (_a) {
33740
+ var ToolbarButton = React.forwardRef(function ToolbarButton(_a, ref) {
33740
33741
  var disabled = _a.disabled, highlighted = _a.highlighted, iconImage = _a.iconImage, iconName = _a.iconName, loading = _a.loading, onClick = _a.onClick, panelTitle = _a.panelTitle, panelKey = _a.panelKey, tooltip = _a.tooltip;
33741
33742
  if (loading) {
33742
33743
  return React__default["default"].createElement(Skeleton, { className: "ToolbarButton", height: 40, width: 40 });
33743
33744
  }
33744
- var button = (React__default["default"].createElement("button", { className: "".concat(highlighted ? 'lui-button-primary' : 'lui-button-secondary', " ToolbarButton ToolbarButton-placement"), "data-testid": "ToolbarButton-".concat(panelKey), disabled: disabled, onClick: onClick, title: panelTitle, type: "button" },
33745
+ var button = (React__default["default"].createElement("button", { ref: ref, className: "".concat(highlighted ? 'lui-button-primary' : 'lui-button-secondary', " ToolbarButton ToolbarButton-placement"), "data-testid": "ToolbarButton-".concat(panelKey), disabled: disabled, onClick: onClick, title: panelTitle, type: "button" },
33745
33746
  React__default["default"].createElement(ToolbarIcon, { iconImage: iconImage, iconName: iconName })));
33746
- return tooltip ? (React__default["default"].createElement(LuiTooltip, { placement: "auto", message: tooltip }, button)) : (React__default["default"].createElement(React__default["default"].Fragment, null, button));
33747
- };
33747
+ return tooltip ? (React__default["default"].createElement(LuiTooltip, { placement: "auto", content: tooltip }, button)) : (React__default["default"].createElement(React__default["default"].Fragment, null, button));
33748
+ });
33748
33749
 
33749
33750
  /**
33750
33751
  * Allows any item to be added into the toolbar (with appropriate styles and size)