@ctlyst.id/internal-ui 2.0.2 → 2.0.4

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.
@@ -1,3 +1,4 @@
1
+ import type { FormControlProps } from '@chakra-ui/react';
1
2
  import type { FC, PropsWithChildren, ReactNode } from 'react';
2
3
  export interface Props {
3
4
  label?: string | ReactNode;
@@ -7,6 +8,7 @@ export interface Props {
7
8
  leftHelperText?: string | ReactNode;
8
9
  rightHelperText?: string | ReactNode;
9
10
  isRequired?: boolean;
11
+ boxProps?: FormControlProps;
10
12
  }
11
13
  export declare type FieldProps<T = unknown> = Props & T;
12
14
  declare const Field: FC<PropsWithChildren<Props>>;
@@ -11,4 +11,5 @@ export declare const Default: () => JSX.Element;
11
11
  export declare const Variant: () => JSX.Element;
12
12
  export declare const PasswordField: () => JSX.Element;
13
13
  export declare const WithClear: () => JSX.Element;
14
+ export declare const WithElement: () => JSX.Element;
14
15
  export declare const WithAddOn: () => JSX.Element;
@@ -0,0 +1,2 @@
1
+ export { InputLeftElement as InputElementLeft } from '@chakra-ui/react';
2
+ export { InputRightElement as InputElementRight } from '@chakra-ui/react';
@@ -5,8 +5,6 @@ import type { FieldProps } from '../../field/components/field';
5
5
  export interface InputFieldProps extends ChakraInputProps, FieldProps {
6
6
  addOnLeft?: ReactNode;
7
7
  addOnRight?: ReactNode;
8
- elementLeft?: ReactNode;
9
- elementRight?: ReactNode;
10
8
  withClear?: boolean;
11
9
  isLoading?: boolean;
12
10
  onClear?: () => void;
@@ -1,3 +1,5 @@
1
+ export * from './components/input-addon';
2
+ export * from './components/input-element';
1
3
  export { default as InputField } from './components/input-field';
2
4
  export * from './components/input-field';
3
5
  export { default as TextareaField } from './components/textarea';
@@ -229,7 +229,6 @@ CheckboxComponent.defaultProps = {
229
229
  errorText: ''
230
230
  };
231
231
 
232
- /* eslint-disable no-nested-ternary */
233
232
  const Field = props => {
234
233
  const {
235
234
  label,
@@ -239,7 +238,8 @@ const Field = props => {
239
238
  rightHelperText,
240
239
  isRequired,
241
240
  children,
242
- isSuccess
241
+ isSuccess,
242
+ boxProps = {}
243
243
  } = props;
244
244
  const getHelperColor = () => {
245
245
  if (isError) return 'danger.500';
@@ -252,9 +252,9 @@ const Field = props => {
252
252
  };
253
253
  const helperColor = getHelperColor();
254
254
  const justifyHelper = getJustifyContentHelper();
255
- return /*#__PURE__*/React__default.createElement(react.FormControl, {
255
+ return /*#__PURE__*/React__default.createElement(react.FormControl, Object.assign({
256
256
  isInvalid: isError
257
- }, label && (typeof label === 'string' ? /*#__PURE__*/React__default.createElement(react.FormLabel, {
257
+ }, boxProps), label && (typeof label === 'string' ? /*#__PURE__*/React__default.createElement(react.FormLabel, {
258
258
  mb: 1,
259
259
  fontSize: "text.sm",
260
260
  requiredIndicator: undefined
@@ -267,19 +267,19 @@ const Field = props => {
267
267
  display: "flex",
268
268
  width: "full",
269
269
  justifyContent: justifyHelper
270
- }, !isError ? leftHelperText && /*#__PURE__*/React__default.createElement(react.FormHelperText, {
270
+ }, !isError ? leftHelperText && (typeof leftHelperText === 'string' ? /*#__PURE__*/React__default.createElement(react.FormHelperText, {
271
271
  fontSize: "text.xs",
272
272
  color: helperColor,
273
273
  mt: 1
274
- }, leftHelperText) : typeof errorMessage === 'string' ? /*#__PURE__*/React__default.createElement(react.FormErrorMessage, {
274
+ }, leftHelperText) : leftHelperText) : typeof errorMessage === 'string' ? /*#__PURE__*/React__default.createElement(react.FormErrorMessage, {
275
275
  fontSize: "text.xs",
276
276
  color: "danger.500",
277
277
  mt: 1
278
- }, errorMessage) : errorMessage, rightHelperText && /*#__PURE__*/React__default.createElement(react.FormHelperText, {
278
+ }, errorMessage) : errorMessage, rightHelperText && (typeof rightHelperText === 'string' ? /*#__PURE__*/React__default.createElement(react.FormHelperText, {
279
279
  fontSize: "text.xs",
280
280
  color: helperColor,
281
281
  mt: 1
282
- }, rightHelperText)));
282
+ }, rightHelperText) : rightHelperText)));
283
283
  };
284
284
  Field.defaultProps = {
285
285
  label: '',
@@ -288,7 +288,8 @@ Field.defaultProps = {
288
288
  errorMessage: undefined,
289
289
  leftHelperText: undefined,
290
290
  rightHelperText: undefined,
291
- isRequired: false
291
+ isRequired: false,
292
+ boxProps: {}
292
293
  };
293
294
 
294
295
  function CheckboxGroupComponent(props) {
@@ -480,6 +481,41 @@ DataTable.defaultProps = {
480
481
  sortingState: []
481
482
  };
482
483
 
484
+ const getProperties = props => {
485
+ const {
486
+ isError,
487
+ isDisabled,
488
+ isSuccess
489
+ } = props;
490
+ let outlineColor = 'neutral.400';
491
+ let focusColor = 'primary.500';
492
+ if (isError || isDisabled || isSuccess) {
493
+ if (isError) outlineColor = 'danger.500';else if (isSuccess) outlineColor = 'success.500';
494
+ focusColor = outlineColor;
495
+ }
496
+ return {
497
+ outlineColor,
498
+ focusColor
499
+ };
500
+ };
501
+ const getWrapperStyle = props => {
502
+ const {
503
+ outlineColor,
504
+ focusColor
505
+ } = getProperties(props);
506
+ const style = {
507
+ border: '1px solid',
508
+ borderColor: outlineColor,
509
+ borderRadius: 'md',
510
+ transition: 'all 0.15s',
511
+ boxShadow: 'none',
512
+ _focusWithin: {
513
+ borderColor: focusColor
514
+ }
515
+ };
516
+ return react.defineStyle(style);
517
+ };
518
+
483
519
  const Styles = () => {
484
520
  const {
485
521
  colorMode
@@ -1351,6 +1387,7 @@ const Datepicker = ({
1351
1387
  var _props$dateFormat;
1352
1388
  const selected = value ? new Date(value) : undefined;
1353
1389
  const dateFormat = ((_props$dateFormat = props.dateFormat) !== null && _props$dateFormat !== void 0 ? _props$dateFormat : withTime) ? 'yyyy-MM-dd HH:mm' : 'yyyy-MM-dd';
1390
+ const wrapperStyle = getWrapperStyle({});
1354
1391
  const getTimeProps = () => {
1355
1392
  if (!withTime) return {};
1356
1393
  return {
@@ -1363,9 +1400,9 @@ const Datepicker = ({
1363
1400
  id: id,
1364
1401
  name: name,
1365
1402
  selected: selected,
1366
- customInput: /*#__PURE__*/React__default.createElement(react.Input, {
1403
+ customInput: /*#__PURE__*/React__default.createElement(react.Input, Object.assign({
1367
1404
  autoComplete: "off"
1368
- }),
1405
+ }, wrapperStyle)),
1369
1406
  dateFormat: dateFormat,
1370
1407
  showPopperArrow: false,
1371
1408
  calendarClassName: classnames({
@@ -1914,45 +1951,10 @@ MultiDatePickerMonth.defaultProps = {
1914
1951
  isError: false
1915
1952
  };
1916
1953
 
1917
- const getProperties = props => {
1918
- const {
1919
- isError,
1920
- isDisabled,
1921
- isSuccess
1922
- } = props;
1923
- let outlineColor = 'neutral.400';
1924
- let focusColor = 'primary.500';
1925
- if (isError || isDisabled || isSuccess) {
1926
- if (isError) outlineColor = 'danger.500';else if (isSuccess) outlineColor = 'success.500';
1927
- focusColor = outlineColor;
1928
- }
1929
- return {
1930
- outlineColor,
1931
- focusColor
1932
- };
1933
- };
1934
- const getWrapperStyle = props => {
1935
- const {
1936
- outlineColor,
1937
- focusColor
1938
- } = getProperties(props);
1939
- const style = {
1940
- border: '1px solid',
1941
- borderColor: outlineColor,
1942
- borderRadius: 'md',
1943
- transition: 'all 0.15s',
1944
- boxShadow: 'none',
1945
- _focusWithin: {
1946
- borderColor: focusColor
1947
- }
1948
- };
1949
- return react.defineStyle(style);
1950
- };
1951
-
1952
1954
  const InputAddonLeft = ({
1953
1955
  children
1954
1956
  }) => {
1955
- return /*#__PURE__*/React__default.createElement(react.Box, {
1957
+ return /*#__PURE__*/React__default.createElement(react.InputLeftAddon, {
1956
1958
  borderLeftRadius: "md",
1957
1959
  backgroundColor: "neutral.200",
1958
1960
  px: 3,
@@ -1962,7 +1964,7 @@ const InputAddonLeft = ({
1962
1964
  const InputAddonRight = ({
1963
1965
  children
1964
1966
  }) => {
1965
- return /*#__PURE__*/React__default.createElement(react.Box, {
1967
+ return /*#__PURE__*/React__default.createElement(react.InputRightAddon, {
1966
1968
  borderRightRadius: "md",
1967
1969
  backgroundColor: "neutral.200",
1968
1970
  px: 3,
@@ -1976,8 +1978,6 @@ const InputField = /*#__PURE__*/React__default.forwardRef((props, ref) => {
1976
1978
  type,
1977
1979
  addOnLeft,
1978
1980
  addOnRight,
1979
- elementLeft,
1980
- elementRight,
1981
1981
  size,
1982
1982
  isRequired,
1983
1983
  label,
@@ -2021,7 +2021,7 @@ const InputField = /*#__PURE__*/React__default.forwardRef((props, ref) => {
2021
2021
  borderRadius: "md",
2022
2022
  backgroundColor: isDisabled ? 'neutral.300' : 'white.high',
2023
2023
  cursor: isDisabled ? 'not-allowed' : 'default'
2024
- }, addOnLeft && /*#__PURE__*/React__default.createElement(InputAddonLeft, null, addOnLeft), /*#__PURE__*/React__default.createElement(react.Input, Object.assign({
2024
+ }, addOnLeft, /*#__PURE__*/React__default.createElement(react.Input, Object.assign({
2025
2025
  ref: ref,
2026
2026
  type: inputType,
2027
2027
  value: value,
@@ -2068,13 +2068,11 @@ const InputField = /*#__PURE__*/React__default.forwardRef((props, ref) => {
2068
2068
  color: iconColor
2069
2069
  })), isLoading && /*#__PURE__*/React__default.createElement(Loader, {
2070
2070
  size: "sm"
2071
- })), "(", addOnRight && /*#__PURE__*/React__default.createElement(InputAddonRight, null, addOnRight))));
2071
+ })), addOnRight)));
2072
2072
  });
2073
2073
  InputField.defaultProps = {
2074
2074
  addOnLeft: undefined,
2075
2075
  addOnRight: undefined,
2076
- elementLeft: undefined,
2077
- elementRight: undefined,
2078
2076
  withClear: undefined,
2079
2077
  isLoading: undefined,
2080
2078
  onClear: undefined
@@ -4386,6 +4384,18 @@ Object.defineProperty(exports, 'DrawerOverlay', {
4386
4384
  return react.ModalOverlay;
4387
4385
  }
4388
4386
  });
4387
+ Object.defineProperty(exports, 'InputElementLeft', {
4388
+ enumerable: true,
4389
+ get: function () {
4390
+ return react.InputLeftElement;
4391
+ }
4392
+ });
4393
+ Object.defineProperty(exports, 'InputElementRight', {
4394
+ enumerable: true,
4395
+ get: function () {
4396
+ return react.InputRightElement;
4397
+ }
4398
+ });
4389
4399
  Object.defineProperty(exports, 'Modal', {
4390
4400
  enumerable: true,
4391
4401
  get: function () {
@@ -4551,6 +4561,8 @@ exports.Field = Field;
4551
4561
  exports.Flex = react.Flex;
4552
4562
  exports.Grid = react.Grid;
4553
4563
  exports.Header = Header;
4564
+ exports.InputAddonLeft = InputAddonLeft;
4565
+ exports.InputAddonRight = InputAddonRight;
4554
4566
  exports.InputField = InputField;
4555
4567
  exports.Loader = Loader;
4556
4568
  exports.MainMenu = Navigation;