elseware-ui 3.0.13 → 3.0.14

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,30 +1,30 @@
1
- import * as React from 'react';
2
- import { B as ButtonProps, C as CheckboxProps, D as DateSelectorProps, F as FormProps, a as FormResponseProps, I as InputProps, b as InputFileProps, c as InputLabelProps, d as InputResponseProps, S as SelectProps, T as TagsProps, e as TextAreaProps } from './resolveGlobalConfigs-TVdFbK-t.mjs';
3
- export { f as BaseDateSelectorProps, g as BaseSelectProps, h as BaseTagsProps, i as BaseTextAreaProps, j as ButtonIcon, k as ButtonMode, l as CheckboxColumns, m as CheckboxOption, E as EUIComponentDefaults, n as EUIConfigs, o as EUIProvider, p as EUIRoute, q as FormChangeMeta, r as FormChildren, s as InputFilePicker, t as InputFileValue, N as NativeInputFileValue, u as SelectOption, v as SelectOptionValue, w as resolveWithGlobal, x as useEUIConfig } from './resolveGlobalConfigs-TVdFbK-t.mjs';
1
+ import * as react from 'react';
2
+ import { B as ButtonProps, C as CheckboxProps, D as DateSelectorProps, F as FormProps, a as FormResponseProps, I as InputProps, b as InputFileProps, c as InputLabelProps, d as InputResponseProps, S as SelectProps, T as TagsProps, e as TextAreaProps } from './resolveGlobalConfigs-ClQlBbvH.mjs';
3
+ export { f as BaseDateSelectorProps, g as BaseSelectProps, h as BaseTagsProps, i as BaseTextAreaProps, j as ButtonIcon, k as ButtonMode, l as CheckboxColumns, m as CheckboxOption, E as EUIComponentDefaults, n as EUIConfigs, o as EUIProvider, p as EUIRoute, q as FormChangeMeta, r as FormChildren, s as InputFilePicker, t as InputFileValue, N as NativeInputFileValue, u as SelectOption, v as SelectOptionValue, w as resolveWithGlobal, x as useEUIConfig } from './resolveGlobalConfigs-ClQlBbvH.mjs';
4
4
  import { FormikValues } from 'formik';
5
5
 
6
- declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<never>>;
6
+ declare const Button: react.ForwardRefExoticComponent<ButtonProps & react.RefAttributes<never>>;
7
7
 
8
- declare function Checkbox(checkboxProps: CheckboxProps): React.JSX.Element;
8
+ declare function Checkbox(checkboxProps: CheckboxProps): react.JSX.Element;
9
9
 
10
- declare function DateSelector(dateSelectorProps: DateSelectorProps): React.JSX.Element;
10
+ declare function DateSelector(dateSelectorProps: DateSelectorProps): react.JSX.Element;
11
11
 
12
- declare function Form<Values extends FormikValues = FormikValues>({ initialValues, validationSchema, enableReinitialize, children, className, contentClassName, onSubmit, onChange, onDirtyChange, }: FormProps<Values>): React.JSX.Element;
12
+ declare function Form<Values extends FormikValues = FormikValues>({ initialValues, validationSchema, enableReinitialize, children, className, contentClassName, onSubmit, onChange, onDirtyChange, }: FormProps<Values>): react.JSX.Element;
13
13
 
14
- declare function FormResponse({ text, variant, shape, size, className, textClassName, }: FormResponseProps): React.JSX.Element | null;
14
+ declare function FormResponse({ text, variant, shape, size, className, textClassName, }: FormResponseProps): react.JSX.Element | null;
15
15
 
16
- declare function Input(inputProps: InputProps): React.JSX.Element;
16
+ declare function Input(inputProps: InputProps): react.JSX.Element;
17
17
 
18
- declare function InputFile(inputFileProps: InputFileProps): React.JSX.Element;
18
+ declare function InputFile(inputFileProps: InputFileProps): react.JSX.Element;
19
19
 
20
- declare function InputLabel({ text, children, className, floating, errored, disabled, animatedValue, }: InputLabelProps): React.JSX.Element;
20
+ declare function InputLabel({ text, children, className, floating, errored, disabled, animatedValue, }: InputLabelProps): react.JSX.Element;
21
21
 
22
- declare function InputResponse({ name, visibility, variant, className, message, }: InputResponseProps): React.JSX.Element | null;
22
+ declare function InputResponse({ name, visibility, variant, className, message, }: InputResponseProps): react.JSX.Element | null;
23
23
 
24
- declare function Select(selectProps: SelectProps): React.JSX.Element;
24
+ declare function Select(selectProps: SelectProps): react.JSX.Element;
25
25
 
26
- declare function Tags(tagsProps: TagsProps): React.JSX.Element;
26
+ declare function Tags(tagsProps: TagsProps): react.JSX.Element;
27
27
 
28
- declare function TextArea(textAreaProps: TextAreaProps): React.JSX.Element;
28
+ declare function TextArea(textAreaProps: TextAreaProps): react.JSX.Element;
29
29
 
30
30
  export { Button, ButtonProps, Checkbox, CheckboxProps, DateSelector, DateSelectorProps, Form, FormProps, FormResponse, FormResponseProps, Input, InputFile, InputFileProps, InputLabel, InputLabelProps, InputProps, InputResponse, InputResponseProps, Select, SelectProps, Tags, TagsProps, TextArea, TextAreaProps };
@@ -1,30 +1,30 @@
1
- import * as React from 'react';
2
- import { B as ButtonProps, C as CheckboxProps, D as DateSelectorProps, F as FormProps, a as FormResponseProps, I as InputProps, b as InputFileProps, c as InputLabelProps, d as InputResponseProps, S as SelectProps, T as TagsProps, e as TextAreaProps } from './resolveGlobalConfigs-TVdFbK-t.js';
3
- export { f as BaseDateSelectorProps, g as BaseSelectProps, h as BaseTagsProps, i as BaseTextAreaProps, j as ButtonIcon, k as ButtonMode, l as CheckboxColumns, m as CheckboxOption, E as EUIComponentDefaults, n as EUIConfigs, o as EUIProvider, p as EUIRoute, q as FormChangeMeta, r as FormChildren, s as InputFilePicker, t as InputFileValue, N as NativeInputFileValue, u as SelectOption, v as SelectOptionValue, w as resolveWithGlobal, x as useEUIConfig } from './resolveGlobalConfigs-TVdFbK-t.js';
1
+ import * as react from 'react';
2
+ import { B as ButtonProps, C as CheckboxProps, D as DateSelectorProps, F as FormProps, a as FormResponseProps, I as InputProps, b as InputFileProps, c as InputLabelProps, d as InputResponseProps, S as SelectProps, T as TagsProps, e as TextAreaProps } from './resolveGlobalConfigs-ClQlBbvH.js';
3
+ export { f as BaseDateSelectorProps, g as BaseSelectProps, h as BaseTagsProps, i as BaseTextAreaProps, j as ButtonIcon, k as ButtonMode, l as CheckboxColumns, m as CheckboxOption, E as EUIComponentDefaults, n as EUIConfigs, o as EUIProvider, p as EUIRoute, q as FormChangeMeta, r as FormChildren, s as InputFilePicker, t as InputFileValue, N as NativeInputFileValue, u as SelectOption, v as SelectOptionValue, w as resolveWithGlobal, x as useEUIConfig } from './resolveGlobalConfigs-ClQlBbvH.js';
4
4
  import { FormikValues } from 'formik';
5
5
 
6
- declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<never>>;
6
+ declare const Button: react.ForwardRefExoticComponent<ButtonProps & react.RefAttributes<never>>;
7
7
 
8
- declare function Checkbox(checkboxProps: CheckboxProps): React.JSX.Element;
8
+ declare function Checkbox(checkboxProps: CheckboxProps): react.JSX.Element;
9
9
 
10
- declare function DateSelector(dateSelectorProps: DateSelectorProps): React.JSX.Element;
10
+ declare function DateSelector(dateSelectorProps: DateSelectorProps): react.JSX.Element;
11
11
 
12
- declare function Form<Values extends FormikValues = FormikValues>({ initialValues, validationSchema, enableReinitialize, children, className, contentClassName, onSubmit, onChange, onDirtyChange, }: FormProps<Values>): React.JSX.Element;
12
+ declare function Form<Values extends FormikValues = FormikValues>({ initialValues, validationSchema, enableReinitialize, children, className, contentClassName, onSubmit, onChange, onDirtyChange, }: FormProps<Values>): react.JSX.Element;
13
13
 
14
- declare function FormResponse({ text, variant, shape, size, className, textClassName, }: FormResponseProps): React.JSX.Element | null;
14
+ declare function FormResponse({ text, variant, shape, size, className, textClassName, }: FormResponseProps): react.JSX.Element | null;
15
15
 
16
- declare function Input(inputProps: InputProps): React.JSX.Element;
16
+ declare function Input(inputProps: InputProps): react.JSX.Element;
17
17
 
18
- declare function InputFile(inputFileProps: InputFileProps): React.JSX.Element;
18
+ declare function InputFile(inputFileProps: InputFileProps): react.JSX.Element;
19
19
 
20
- declare function InputLabel({ text, children, className, floating, errored, disabled, animatedValue, }: InputLabelProps): React.JSX.Element;
20
+ declare function InputLabel({ text, children, className, floating, errored, disabled, animatedValue, }: InputLabelProps): react.JSX.Element;
21
21
 
22
- declare function InputResponse({ name, visibility, variant, className, message, }: InputResponseProps): React.JSX.Element | null;
22
+ declare function InputResponse({ name, visibility, variant, className, message, }: InputResponseProps): react.JSX.Element | null;
23
23
 
24
- declare function Select(selectProps: SelectProps): React.JSX.Element;
24
+ declare function Select(selectProps: SelectProps): react.JSX.Element;
25
25
 
26
- declare function Tags(tagsProps: TagsProps): React.JSX.Element;
26
+ declare function Tags(tagsProps: TagsProps): react.JSX.Element;
27
27
 
28
- declare function TextArea(textAreaProps: TextAreaProps): React.JSX.Element;
28
+ declare function TextArea(textAreaProps: TextAreaProps): react.JSX.Element;
29
29
 
30
30
  export { Button, ButtonProps, Checkbox, CheckboxProps, DateSelector, DateSelectorProps, Form, FormProps, FormResponse, FormResponseProps, Input, InputFile, InputFileProps, InputLabel, InputLabelProps, InputProps, InputResponse, InputResponseProps, Select, SelectProps, Tags, TagsProps, TextArea, TextAreaProps };
@@ -217,6 +217,7 @@ function useButton(props) {
217
217
  const {
218
218
  // Consumed by the shared model
219
219
  icon,
220
+ iconPosition = "leading",
220
221
  text,
221
222
  children,
222
223
  loading = false,
@@ -264,6 +265,7 @@ function useButton(props) {
264
265
  loading,
265
266
  iconSize: tokens.icon,
266
267
  icon: resolvedIcon,
268
+ iconPosition,
267
269
  label,
268
270
  hasTextLabel: typeof label === "string" || typeof label === "number",
269
271
  variantClassName,
@@ -290,6 +292,38 @@ var Button = react.forwardRef(
290
292
  testID
291
293
  } = props;
292
294
  const model = useButton(props);
295
+ const trailing = model.iconPosition === "trailing";
296
+ const iconSlot = model.loading || model.icon ? /* @__PURE__ */ jsxRuntime.jsx(
297
+ reactNative.View,
298
+ {
299
+ className: cn(
300
+ "shrink-0 items-center justify-center",
301
+ model.tokens.slot
302
+ ),
303
+ children: model.loading ? /* @__PURE__ */ jsxRuntime.jsx(
304
+ reactNative.ActivityIndicator,
305
+ {
306
+ className: model.labelColorClassName,
307
+ size: "small"
308
+ }
309
+ ) : model.icon
310
+ }
311
+ ) : null;
312
+ const labelNode = model.hasTextLabel ? /* @__PURE__ */ jsxRuntime.jsx(
313
+ reactNative.Text,
314
+ {
315
+ className: cn(
316
+ "font-bold",
317
+ model.tokens.text,
318
+ model.tokens.leading,
319
+ model.labelColorClassName,
320
+ labelClassName
321
+ ),
322
+ numberOfLines: 1,
323
+ style: nativeLabelBaseStyle,
324
+ children: model.label
325
+ }
326
+ ) : model.label;
293
327
  return /* @__PURE__ */ jsxRuntime.jsx(
294
328
  reactNative.Pressable,
295
329
  {
@@ -321,37 +355,8 @@ var Button = react.forwardRef(
321
355
  contentClassName
322
356
  ),
323
357
  children: [
324
- (model.loading || model.icon) && /* @__PURE__ */ jsxRuntime.jsx(
325
- reactNative.View,
326
- {
327
- className: cn(
328
- "shrink-0 items-center justify-center",
329
- model.tokens.slot
330
- ),
331
- children: model.loading ? /* @__PURE__ */ jsxRuntime.jsx(
332
- reactNative.ActivityIndicator,
333
- {
334
- className: model.labelColorClassName,
335
- size: "small"
336
- }
337
- ) : model.icon
338
- }
339
- ),
340
- model.hasTextLabel ? /* @__PURE__ */ jsxRuntime.jsx(
341
- reactNative.Text,
342
- {
343
- className: cn(
344
- "font-bold",
345
- model.tokens.text,
346
- model.tokens.leading,
347
- model.labelColorClassName,
348
- labelClassName
349
- ),
350
- numberOfLines: 1,
351
- style: nativeLabelBaseStyle,
352
- children: model.label
353
- }
354
- ) : model.label
358
+ trailing ? labelNode : iconSlot,
359
+ trailing ? iconSlot : labelNode
355
360
  ]
356
361
  }
357
362
  )