@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 +14 -0
- package/dist/components/LuiFormElements/LuiTextAreaInput/LuiAutoExpandTextAreaInput.d.ts +3 -0
- package/dist/components/LuiFormElements/LuiTextAreaInput/LuiTextAreaInput.d.ts +3 -2
- package/dist/components/LuiSideToolbar/ToolbarButton.d.ts +3 -3
- package/dist/index.js +12 -11
- package/dist/index.js.map +1 -1
- package/dist/lui.esm.js +12 -11
- package/dist/lui.esm.js.map +1 -1
- package/package.json +1 -1
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
|
|
|
@@ -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:
|
|
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:
|
|
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",
|
|
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)
|