@alto-avios/alto-ui 2.4.0 → 3.1.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.
Files changed (235) hide show
  1. package/README.md +13 -0
  2. package/dist/assets/AviosCurrencySymbol.css +1 -0
  3. package/dist/assets/Badge.css +1 -1
  4. package/dist/assets/Button.css +1 -1
  5. package/dist/assets/CardSection.css +1 -1
  6. package/dist/assets/CreditCardNumberField.css +1 -0
  7. package/dist/assets/DateField.css +1 -1
  8. package/dist/assets/DetailsDisclosure.css +1 -0
  9. package/dist/assets/Dialog.css +1 -0
  10. package/dist/assets/Fieldset.css +1 -0
  11. package/dist/assets/FieldsetHeader.css +1 -0
  12. package/dist/assets/Form.css +1 -0
  13. package/dist/assets/Icon.css +1 -0
  14. package/dist/assets/IconBackdrop.css +1 -0
  15. package/dist/assets/IconButton.css +1 -1
  16. package/dist/assets/Image.css +1 -0
  17. package/dist/assets/Link.css +1 -1
  18. package/dist/assets/NumberField.css +1 -1
  19. package/dist/assets/PasswordField.css +1 -0
  20. package/dist/assets/PhoneNumberField.css +1 -0
  21. package/dist/assets/Popover.css +1 -0
  22. package/dist/assets/Section.css +1 -1
  23. package/dist/assets/SelectNative.css +1 -0
  24. package/dist/assets/Slider.css +1 -0
  25. package/dist/assets/Switch.css +1 -0
  26. package/dist/assets/TextAreaField.css +1 -1
  27. package/dist/assets/ToggleButton.css +1 -1
  28. package/dist/assets/ToggleIconButton.css +1 -1
  29. package/dist/assets/backgroundColor.css +1 -0
  30. package/dist/assets/flex.css +1 -1
  31. package/dist/assets/focusStyles.css +1 -1
  32. package/dist/assets/foregroundColor.css +1 -0
  33. package/dist/assets/global.css +1 -1
  34. package/dist/assets/padding.css +1 -1
  35. package/dist/components/AviosCurrencySymbol/AviosCurrencySymbol.d.ts +25 -0
  36. package/dist/components/AviosCurrencySymbol/AviosCurrencySymbol.js +80 -0
  37. package/dist/components/AviosCurrencySymbol/AviosCurrencySymbol.js.map +1 -0
  38. package/dist/components/AviosCurrencySymbol/index.d.ts +1 -0
  39. package/dist/components/AviosCurrencySymbol/index.js +5 -0
  40. package/dist/components/Badge/Badge.js +11 -11
  41. package/dist/components/Box/Box.d.ts +21 -2
  42. package/dist/components/Box/Box.js +16 -4
  43. package/dist/components/Box/Box.js.map +1 -1
  44. package/dist/components/Button/Button.d.ts +128 -36
  45. package/dist/components/Button/Button.js +129 -66
  46. package/dist/components/Button/Button.js.map +1 -1
  47. package/dist/components/CardSection/CardSection.d.ts +12 -6
  48. package/dist/components/CardSection/CardSection.js +9 -7
  49. package/dist/components/CardSection/CardSection.js.map +1 -1
  50. package/dist/components/Checkbox/Checkbox.d.ts +3 -1
  51. package/dist/components/Checkbox/Checkbox.js +1 -1
  52. package/dist/components/ClearFieldButton/ClearFieldButton.d.ts +4 -6
  53. package/dist/components/CreditCardNumberField/CreditCardNumberField.d.ts +29 -0
  54. package/dist/components/CreditCardNumberField/CreditCardNumberField.js +45 -0
  55. package/dist/components/CreditCardNumberField/CreditCardNumberField.js.map +1 -0
  56. package/dist/components/CreditCardNumberField/index.d.ts +1 -0
  57. package/dist/components/CreditCardNumberField/index.js +5 -0
  58. package/dist/components/CreditCardNumberField/index.js.map +1 -0
  59. package/dist/components/DateField/DateField.d.ts +4 -24
  60. package/dist/components/DateField/DateField.js +7 -19
  61. package/dist/components/DateField/DateField.js.map +1 -1
  62. package/dist/components/DetailsDisclosure/DetailsDisclosure.d.ts +33 -0
  63. package/dist/components/DetailsDisclosure/DetailsDisclosure.js +39 -0
  64. package/dist/components/DetailsDisclosure/DetailsDisclosure.js.map +1 -0
  65. package/dist/components/DetailsDisclosure/index.d.ts +2 -0
  66. package/dist/components/DetailsDisclosure/index.js +5 -0
  67. package/dist/components/DetailsDisclosure/index.js.map +1 -0
  68. package/dist/components/Dialog/Dialog.d.ts +46 -0
  69. package/dist/components/Dialog/Dialog.js +117 -0
  70. package/dist/components/Dialog/Dialog.js.map +1 -0
  71. package/dist/components/Dialog/index.d.ts +1 -0
  72. package/dist/components/Dialog/index.js +5 -0
  73. package/dist/components/Dialog/index.js.map +1 -0
  74. package/dist/components/FieldError/FieldError.d.ts +1 -1
  75. package/dist/components/FieldError/FieldError.js +11 -8
  76. package/dist/components/FieldError/FieldError.js.map +1 -1
  77. package/dist/components/FieldHeader/index.d.ts +1 -0
  78. package/dist/components/Fieldset/Fieldset.d.ts +18 -0
  79. package/dist/components/Fieldset/Fieldset.js +24 -0
  80. package/dist/components/Fieldset/Fieldset.js.map +1 -0
  81. package/dist/components/Fieldset/index.d.ts +2 -0
  82. package/dist/components/Fieldset/index.js +5 -0
  83. package/dist/components/Fieldset/index.js.map +1 -0
  84. package/dist/components/FieldsetHeader/FieldsetHeader.d.ts +7 -0
  85. package/dist/components/FieldsetHeader/FieldsetHeader.js +21 -0
  86. package/dist/components/FieldsetHeader/FieldsetHeader.js.map +1 -0
  87. package/dist/components/FieldsetHeader/index.d.ts +1 -0
  88. package/dist/components/FieldsetHeader/index.js +5 -0
  89. package/dist/components/FieldsetHeader/index.js.map +1 -0
  90. package/dist/components/Form/Form.d.ts +7 -0
  91. package/dist/components/Form/Form.js +17 -0
  92. package/dist/components/Form/Form.js.map +1 -0
  93. package/dist/components/Form/index.d.ts +1 -0
  94. package/dist/components/Form/index.js +5 -0
  95. package/dist/components/Form/index.js.map +1 -0
  96. package/dist/components/Heading/Heading.d.ts +26 -7
  97. package/dist/components/Heading/Heading.js +12 -5
  98. package/dist/components/Heading/Heading.js.map +1 -1
  99. package/dist/components/Icon/Icon.d.ts +30 -4
  100. package/dist/components/Icon/Icon.js +98 -5
  101. package/dist/components/Icon/Icon.js.map +1 -1
  102. package/dist/components/IconBackdrop/IconBackdrop.d.ts +24 -0
  103. package/dist/components/IconBackdrop/IconBackdrop.js +34 -0
  104. package/dist/components/IconBackdrop/IconBackdrop.js.map +1 -0
  105. package/dist/components/IconBackdrop/index.d.ts +1 -0
  106. package/dist/components/IconBackdrop/index.js +5 -0
  107. package/dist/components/IconBackdrop/index.js.map +1 -0
  108. package/dist/components/IconButton/IconButton.d.ts +13 -4
  109. package/dist/components/IconButton/IconButton.js +40 -31
  110. package/dist/components/IconButton/IconButton.js.map +1 -1
  111. package/dist/components/Image/Image.d.ts +24 -0
  112. package/dist/components/Image/Image.js +135 -0
  113. package/dist/components/Image/Image.js.map +1 -0
  114. package/dist/components/Image/index.d.ts +1 -0
  115. package/dist/components/Image/index.js +5 -0
  116. package/dist/components/Image/index.js.map +1 -0
  117. package/dist/components/Link/Link.d.ts +32 -34
  118. package/dist/components/Link/Link.js +34 -22
  119. package/dist/components/Link/Link.js.map +1 -1
  120. package/dist/components/NumberField/NumberField.d.ts +4 -34
  121. package/dist/components/NumberField/NumberField.js +11 -19
  122. package/dist/components/NumberField/NumberField.js.map +1 -1
  123. package/dist/components/Paragraph/Paragraph.d.ts +9 -5
  124. package/dist/components/Paragraph/Paragraph.js +9 -4
  125. package/dist/components/Paragraph/Paragraph.js.map +1 -1
  126. package/dist/components/PasswordField/PasswordField.d.ts +30 -0
  127. package/dist/components/PasswordField/PasswordField.js +104 -0
  128. package/dist/components/PasswordField/PasswordField.js.map +1 -0
  129. package/dist/components/PasswordField/index.d.ts +1 -0
  130. package/dist/components/PasswordField/index.js +5 -0
  131. package/dist/components/PasswordField/index.js.map +1 -0
  132. package/dist/components/PhoneNumberField/PhoneNumberField.d.ts +53 -0
  133. package/dist/components/PhoneNumberField/PhoneNumberField.js +91 -0
  134. package/dist/components/PhoneNumberField/PhoneNumberField.js.map +1 -0
  135. package/dist/components/PhoneNumberField/index.d.ts +3 -0
  136. package/dist/components/PhoneNumberField/index.js +7 -0
  137. package/dist/components/PhoneNumberField/index.js.map +1 -0
  138. package/dist/components/Popover/Popover.d.ts +16 -0
  139. package/dist/components/Popover/Popover.js +68 -0
  140. package/dist/components/Popover/Popover.js.map +1 -0
  141. package/dist/components/Popover/index.d.ts +1 -0
  142. package/dist/components/Popover/index.js +5 -0
  143. package/dist/components/Popover/index.js.map +1 -0
  144. package/dist/components/Section/Section.d.ts +4 -3
  145. package/dist/components/Section/Section.js +18 -13
  146. package/dist/components/Section/Section.js.map +1 -1
  147. package/dist/components/SelectNative/SelectNative.d.ts +56 -0
  148. package/dist/components/SelectNative/SelectNative.js +40 -0
  149. package/dist/components/SelectNative/SelectNative.js.map +1 -0
  150. package/dist/components/SelectNative/index.d.ts +1 -0
  151. package/dist/components/SelectNative/index.js +5 -0
  152. package/dist/components/SelectNative/index.js.map +1 -0
  153. package/dist/components/Slider/Slider.d.ts +33 -0
  154. package/dist/components/Slider/Slider.js +113 -0
  155. package/dist/components/Slider/Slider.js.map +1 -0
  156. package/dist/components/Slider/index.d.ts +1 -0
  157. package/dist/components/Slider/index.js +5 -0
  158. package/dist/components/Slider/index.js.map +1 -0
  159. package/dist/components/SubHeading/SubHeading.d.ts +26 -5
  160. package/dist/components/SubHeading/SubHeading.js +9 -4
  161. package/dist/components/SubHeading/SubHeading.js.map +1 -1
  162. package/dist/components/Switch/Switch.d.ts +7 -0
  163. package/dist/components/Switch/Switch.js +18 -0
  164. package/dist/components/Switch/Switch.js.map +1 -0
  165. package/dist/components/Switch/index.d.ts +1 -0
  166. package/dist/components/Switch/index.js +5 -0
  167. package/dist/components/Switch/index.js.map +1 -0
  168. package/dist/components/TagGroup/TagGroup.js +1 -1
  169. package/dist/components/TextAreaField/TextAreaField.d.ts +1 -1
  170. package/dist/components/TextAreaField/TextAreaField.js +6 -18
  171. package/dist/components/TextAreaField/TextAreaField.js.map +1 -1
  172. package/dist/components/TextField/TextField.d.ts +4 -31
  173. package/dist/components/TextField/TextField.js +7 -17
  174. package/dist/components/TextField/TextField.js.map +1 -1
  175. package/dist/components/ToggleButton/ToggleButton.js +6 -6
  176. package/dist/components/ToggleIconButton/ToggleIconButton.d.ts +9 -1
  177. package/dist/components/ToggleIconButton/ToggleIconButton.js +15 -8
  178. package/dist/components/ToggleIconButton/ToggleIconButton.js.map +1 -1
  179. package/dist/components/Tooltip/Tooltip.d.ts +5 -1
  180. package/dist/components/Tooltip/Tooltip.js +3 -2
  181. package/dist/components/Tooltip/Tooltip.js.map +1 -1
  182. package/dist/components/_base/Field/Field.d.ts +16 -0
  183. package/dist/components/_base/Field/Field.js +29 -0
  184. package/dist/components/_base/Field/Field.js.map +1 -0
  185. package/dist/components/_base/Field/index.d.ts +2 -0
  186. package/dist/components/_base/Field/index.js +5 -0
  187. package/dist/components/_base/Field/index.js.map +1 -0
  188. package/dist/components/index.d.ts +15 -1
  189. package/dist/components/index.js +41 -14
  190. package/dist/components/index.js.map +1 -1
  191. package/dist/index.js +41 -14
  192. package/dist/index.js.map +1 -1
  193. package/dist/react-number-format.es-DMLgWFZX.js +760 -0
  194. package/dist/react-number-format.es-DMLgWFZX.js.map +1 -0
  195. package/dist/utils/backgroundColor/backgroundColor.d.ts +8 -0
  196. package/dist/utils/backgroundColor/backgroundColor.js +102 -0
  197. package/dist/utils/backgroundColor/backgroundColor.js.map +1 -0
  198. package/dist/utils/border/border.d.ts +3 -3
  199. package/dist/utils/creditCard/creditCard.d.ts +7 -0
  200. package/dist/utils/creditCard/creditCard.js +25 -0
  201. package/dist/utils/creditCard/creditCard.js.map +1 -0
  202. package/dist/utils/flex/flex.d.ts +3 -3
  203. package/dist/utils/flex/flex.js +49 -35
  204. package/dist/utils/flex/flex.js.map +1 -1
  205. package/dist/utils/focus/focusStyles.d.ts +1 -1
  206. package/dist/utils/focus/focusStyles.js +2 -2
  207. package/dist/utils/foregroundColour/foregroundColor.d.ts +8 -0
  208. package/dist/utils/foregroundColour/foregroundColor.js +125 -0
  209. package/dist/utils/foregroundColour/foregroundColor.js.map +1 -0
  210. package/dist/utils/forms/formProps.d.ts +2 -0
  211. package/dist/utils/forms/formProps.js +2 -0
  212. package/dist/utils/forms/formProps.js.map +1 -0
  213. package/dist/utils/padding/padding.d.ts +7 -7
  214. package/dist/utils/padding/padding.js +98 -98
  215. package/dist/utils/phoneNumber/phoneNumber.d.ts +24 -0
  216. package/dist/utils/phoneNumber/phoneNumber.js +566 -0
  217. package/dist/utils/phoneNumber/phoneNumber.js.map +1 -0
  218. package/dist/utils/stories/iconPropsArgTypes.js +50 -13
  219. package/dist/utils/stories/iconPropsArgTypes.js.map +1 -1
  220. package/package.json +39 -19
  221. package/dist/assets/NewButton.css +0 -1
  222. package/dist/assets/backgroundColour.css +0 -1
  223. package/dist/assets/fgColor.css +0 -1
  224. package/dist/components/NewButton/NewButton.d.ts +0 -87
  225. package/dist/components/NewButton/NewButton.js +0 -189
  226. package/dist/components/NewButton/NewButton.js.map +0 -1
  227. package/dist/components/NewButton/index.d.ts +0 -1
  228. package/dist/components/NewButton/index.js +0 -5
  229. package/dist/utils/backgroundColour/backgroundColour.d.ts +0 -8
  230. package/dist/utils/backgroundColour/backgroundColour.js +0 -102
  231. package/dist/utils/backgroundColour/backgroundColour.js.map +0 -1
  232. package/dist/utils/fgColour/fgColor.d.ts +0 -5
  233. package/dist/utils/fgColour/fgColor.js +0 -84
  234. package/dist/utils/fgColour/fgColor.js.map +0 -1
  235. /package/dist/components/{NewButton → AviosCurrencySymbol}/index.js.map +0 -0
@@ -1,7 +1,9 @@
1
+ import { default as React } from 'react';
1
2
  import { ValidationError } from '@react-types/shared';
2
3
  import { CheckboxProps as AriaCheckboxProps } from 'react-aria-components';
3
4
  export interface CheckboxProps extends AriaCheckboxProps {
4
- label?: string;
5
+ /** The label of the checkbox, can be a string or a React node. */
6
+ label?: string | React.ReactNode;
5
7
  /** Indeterminism is presentational only. The indeterminate visual representation remains regardless of user interaction. */
6
8
  isIndeterminate?: boolean;
7
9
  /** Whether the element should be selected (uncontrolled). */
@@ -44,7 +44,7 @@ const Checkbox = ({
44
44
  validate,
45
45
  autoFocus,
46
46
  name,
47
- validationBehavior = "native",
47
+ validationBehavior,
48
48
  description,
49
49
  children,
50
50
  focusStyle = "default",
@@ -1,14 +1,12 @@
1
1
  import { ButtonProps } from '../Button/Button';
2
- import { IconSize } from '../Icon/Icon';
2
+ import { FormProps } from '../../utils/forms/formProps';
3
3
  export type ClearFieldButtonButtonSize = 'lg' | 'md' | 'sm';
4
- export interface ClearFieldButtonProps extends Omit<ButtonProps, '$styleText'> {
4
+ export interface ClearFieldButtonProps extends Omit<ButtonProps, '$styleText'>, FormProps {
5
5
  slot?: string;
6
- iconSize?: IconSize;
7
6
  className?: string;
8
- /**
9
- * The focus style of the button
10
- */
11
7
  focusStyle?: 'default' | 'white';
8
+ onClick?: () => void;
9
+ type?: 'button' | 'submit' | 'reset';
12
10
  }
13
11
  export declare const ClearFieldButton: ({ size, form, formAction, formEncType, formMethod, formNoValidate, formTarget, name, value, isDisabled, autoFocus, type, slot, onClick, className, focusStyle, ...props }: ClearFieldButtonProps) => import("react/jsx-runtime").JSX.Element;
14
12
  export default ClearFieldButton;
@@ -0,0 +1,29 @@
1
+ import { TextFieldProps as AriaTextFieldProps } from 'react-aria-components';
2
+ import { FieldProps } from '../_base/Field';
3
+ type CreditCardNumberValue = string | number | null | undefined;
4
+ interface CreditCardNumberFieldBaseProps {
5
+ /**
6
+ * The icon to display.
7
+ * If a function is provided, it will be called with the current value of the input.
8
+ * Expects an icon name from the font-awesome `brands` icon pack.
9
+ * https://fontawesome.com/search?q=credit%20card&o=r&ip=brands
10
+ */
11
+ cardIcon?: string | ((value?: CreditCardNumberValue) => string);
12
+ /**
13
+ * The controlled value of the credit card number.
14
+ */
15
+ value?: CreditCardNumberValue;
16
+ /**
17
+ * The controlled onChange handler for the credit card number.
18
+ */
19
+ onChange?: (value?: CreditCardNumberValue) => void;
20
+ /**
21
+ * The default value of the credit card number.
22
+ */
23
+ defaultValue?: CreditCardNumberValue;
24
+ }
25
+ export interface CreditCardNumberFieldProps extends FieldProps<Omit<AriaTextFieldProps, 'defaultValue' | 'value' | 'onChange'>>, CreditCardNumberFieldBaseProps {
26
+ placeholder?: string;
27
+ }
28
+ export declare const CreditCardNumberField: ({ cardIcon: cardIconProp, defaultValue, value: valueControlled, onChange: onChangeControlled, ...props }: CreditCardNumberFieldProps) => import("react/jsx-runtime").JSX.Element;
29
+ export default CreditCardNumberField;
@@ -0,0 +1,45 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import React from "react";
3
+ import { TextField, Input } from "react-aria-components";
4
+ import { P as PatternFormat } from "../../react-number-format.es-DMLgWFZX.js";
5
+ import { Field } from "../_base/Field/Field.js";
6
+ import { Icon } from "../Icon/Icon.js";
7
+ import { getCardIcon } from "../../utils/creditCard/creditCard.js";
8
+ import '../../assets/CreditCardNumberField.css';const creditCardNumberField = "_creditCardNumberField_1d9o2_1";
9
+ const inputWrapper = "_inputWrapper_1d9o2_45";
10
+ const iconEnd = "_iconEnd_1d9o2_51";
11
+ const styles = {
12
+ creditCardNumberField,
13
+ inputWrapper,
14
+ iconEnd
15
+ };
16
+ const CreditCardNumberField = ({
17
+ cardIcon: cardIconProp = getCardIcon,
18
+ defaultValue,
19
+ value: valueControlled,
20
+ onChange: onChangeControlled,
21
+ ...props
22
+ }) => {
23
+ const [value, setValue] = React.useState(defaultValue);
24
+ const valueDefinitive = valueControlled ?? value;
25
+ const cardIcon = React.useMemo(() => {
26
+ if (typeof cardIconProp === "function") {
27
+ return cardIconProp(value) || "credit-card";
28
+ }
29
+ return cardIconProp || "credit-card";
30
+ }, [value, cardIconProp]);
31
+ return /* @__PURE__ */ jsx(Field, { className: styles.creditCardNumberField, as: TextField, ...props, children: /* @__PURE__ */ jsxs("div", { className: styles.inputWrapper, children: [
32
+ /* @__PURE__ */ jsx(PatternFormat, { type: "text", format: "#### #### #### ####", customInput: Input, "aria-label": (props == null ? void 0 : props.label) || "Credit card number", placeholder: props == null ? void 0 : props.placeholder, defaultValue, value: valueDefinitive, onValueChange: (values) => {
33
+ if (typeof onChangeControlled === "function") {
34
+ onChangeControlled(values.value);
35
+ }
36
+ setValue(values.value);
37
+ } }),
38
+ /* @__PURE__ */ jsx(Icon, { iconName: cardIcon, iconPack: cardIcon === "credit-card" ? "solid" : "brands", className: styles.iconEnd, iconSize: "1.25x", padding: "roomy" })
39
+ ] }) });
40
+ };
41
+ export {
42
+ CreditCardNumberField,
43
+ CreditCardNumberField as default
44
+ };
45
+ //# sourceMappingURL=CreditCardNumberField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CreditCardNumberField.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1 @@
1
+ export { default } from './CreditCardNumberField';
@@ -0,0 +1,5 @@
1
+ import { CreditCardNumberField } from "./CreditCardNumberField.js";
2
+ export {
3
+ CreditCardNumberField as default
4
+ };
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1,25 +1,5 @@
1
- import { DateFieldProps as AriaDateFieldProps, DateValue, ValidationResult } from 'react-aria-components';
2
- export interface DateFieldProps extends AriaDateFieldProps<DateValue> {
3
- /**
4
- * The label for the TextField
5
- */
6
- label?: string;
7
- /**
8
- * The description for the TextField
9
- */
10
- description?: string;
11
- /**
12
- * The error message for the TextField
13
- */
14
- errorMessage?: string | ((validation: ValidationResult) => string);
15
- /**
16
- * Whether the TextField is disabled
17
- */
18
- isDisabled?: boolean;
19
- /**
20
- * Whether the TextField is invalid
21
- */
22
- isInvalid?: boolean;
23
- }
24
- export declare const DateField: ({ label, description, errorMessage, isRequired, isInvalid, isDisabled, value, ...props }: DateFieldProps) => import("react/jsx-runtime").JSX.Element;
1
+ import { DateFieldProps as AriaDateFieldProps, DateValue } from 'react-aria-components';
2
+ import { FieldProps } from '../_base/Field/Field';
3
+ export type DateFieldProps = FieldProps<AriaDateFieldProps<DateValue>>;
4
+ export declare const DateField: (props: DateFieldProps) => import("react/jsx-runtime").JSX.Element;
25
5
  export default DateField;
@@ -1,28 +1,16 @@
1
- import { jsxs, jsx } from "react/jsx-runtime";
1
+ import { jsx } from "react/jsx-runtime";
2
2
  import { DateField as DateField$1, DateInput, DateSegment } from "react-aria-components";
3
- import { FieldHeader } from "../FieldHeader/FieldHeader.js";
4
- import '../../assets/DateField.css';const dateField = "_dateField_1mc0h_1";
5
- const dateInput = "_dateInput_1mc0h_5";
6
- const dateSegment = "_dateSegment_1mc0h_48";
3
+ import { Field } from "../_base/Field/Field.js";
4
+ import '../../assets/DateField.css';const dateField = "_dateField_1bpet_1";
5
+ const dateInput = "_dateInput_1bpet_5";
6
+ const dateSegment = "_dateSegment_1bpet_50";
7
7
  const styles = {
8
8
  dateField,
9
9
  dateInput,
10
10
  dateSegment
11
11
  };
12
- const DateField = ({
13
- label,
14
- description,
15
- errorMessage,
16
- isRequired = false,
17
- isInvalid = false,
18
- isDisabled = false,
19
- value,
20
- ...props
21
- }) => {
22
- return /* @__PURE__ */ jsxs(DateField$1, { className: styles.dateField, isInvalid, isDisabled, value, ...props, children: [
23
- /* @__PURE__ */ jsx(FieldHeader, { label, description, errorMessage, isRequired, isInvalid }),
24
- /* @__PURE__ */ jsx(DateInput, { className: styles.dateInput, children: (segment) => /* @__PURE__ */ jsx(DateSegment, { className: styles.dateSegment, segment }) })
25
- ] });
12
+ const DateField = (props) => {
13
+ return /* @__PURE__ */ jsx(Field, { as: DateField$1, className: styles.dateField, ...props, children: /* @__PURE__ */ jsx(DateInput, { className: styles.dateInput, children: (segment) => /* @__PURE__ */ jsx(DateSegment, { className: styles.dateSegment, segment }) }) });
26
14
  };
27
15
  export {
28
16
  DateField,
@@ -1 +1 @@
1
- {"version":3,"file":"DateField.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"DateField.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;"}
@@ -0,0 +1,33 @@
1
+ import { default as React } from 'react';
2
+ import { DisclosureProps as AriaDisclosureProps, DisclosurePanelProps as AriaDisclosurePanelProps } from 'react-aria-components';
3
+ interface DetailsDisclosureProps extends AriaDisclosureProps {
4
+ /**
5
+ * Whether the disclosure is expanded by default.
6
+ */
7
+ defaultExpanded?: boolean;
8
+ /**
9
+ * Whether the disclosure is expanded (Controlled)
10
+ */
11
+ isExpanded?: boolean;
12
+ /**
13
+ * Callback function that is called when the disclosure is expanded or collapsed. (Controlled)
14
+ */
15
+ onExpandedChange?: (isExpanded: boolean) => void;
16
+ /**
17
+ * <DetailsDisclosure.Trigger> and <DetailsDisclosure.Panel> children.
18
+ */
19
+ children?: React.ReactNode;
20
+ }
21
+ declare const DetailsDisclosure: {
22
+ ({ children, ...props }: DetailsDisclosureProps): import("react/jsx-runtime").JSX.Element;
23
+ Summary: {
24
+ ({ children, }: Pick<DetailsDisclosureProps, "children">): import("react/jsx-runtime").JSX.Element;
25
+ displayName: string;
26
+ };
27
+ Details: {
28
+ ({ children, ...props }: AriaDisclosurePanelProps): import("react/jsx-runtime").JSX.Element;
29
+ displayName: string;
30
+ };
31
+ };
32
+ export type { DetailsDisclosureProps };
33
+ export default DetailsDisclosure;
@@ -0,0 +1,39 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { Disclosure, Button, DisclosurePanel } from "react-aria-components";
3
+ import { Icon } from "../Icon/Icon.js";
4
+ import '../../assets/DetailsDisclosure.css';const detailsDisclosure = "_detailsDisclosure_9jcud_1";
5
+ const detailsDisclosureIcon = "_detailsDisclosureIcon_9jcud_8";
6
+ const detailsDisclosureDetails = "_detailsDisclosureDetails_9jcud_40";
7
+ const styles = {
8
+ detailsDisclosure,
9
+ detailsDisclosureIcon,
10
+ detailsDisclosureDetails
11
+ };
12
+ const DetailsDisclosureSummary = ({
13
+ children
14
+ }) => {
15
+ return /* @__PURE__ */ jsxs(Button, { slot: "trigger", children: [
16
+ /* @__PURE__ */ jsx(Icon, { className: styles["detailsDisclosureIcon"], iconName: "caret-right", iconPrefix: "fas", ariaLabel: "Open disclosure" }),
17
+ children
18
+ ] });
19
+ };
20
+ DetailsDisclosureSummary.displayName = "DetailsDisclosure.Summary";
21
+ const DetailsDisclosureDetails = ({
22
+ children,
23
+ ...props
24
+ }) => {
25
+ return /* @__PURE__ */ jsx(DisclosurePanel, { className: styles["detailsDisclosureDetails"], ...props, children });
26
+ };
27
+ DetailsDisclosureDetails.displayName = "DetailsDisclosure.Details";
28
+ const DetailsDisclosure = ({
29
+ children,
30
+ ...props
31
+ }) => {
32
+ return /* @__PURE__ */ jsx(Disclosure, { className: styles["detailsDisclosure"], ...props, children });
33
+ };
34
+ DetailsDisclosure.Summary = DetailsDisclosureSummary;
35
+ DetailsDisclosure.Details = DetailsDisclosureDetails;
36
+ export {
37
+ DetailsDisclosure as default
38
+ };
39
+ //# sourceMappingURL=DetailsDisclosure.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DetailsDisclosure.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,2 @@
1
+ export type { DetailsDisclosureProps } from './DetailsDisclosure';
2
+ export { default } from './DetailsDisclosure';
@@ -0,0 +1,5 @@
1
+ import { default as default2 } from "./DetailsDisclosure.js";
2
+ export {
3
+ default2 as default
4
+ };
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,46 @@
1
+ import { default as React } from 'react';
2
+ import { AriaDialogProps } from 'react-aria';
3
+ export type DialogSize = 'dialogSmall' | 'dialogMedium' | 'dialogLarge';
4
+ export type DialogRole = 'alertdialog' | 'dialog';
5
+ export interface DialogProps extends AriaDialogProps {
6
+ /** Whether the dialog is currently visible */
7
+ isOpen?: boolean;
8
+ /** Callback function when dialog is requested to close */
9
+ onClose?: () => void;
10
+ /** Width variant of the dialog - affects max-width */
11
+ size?: DialogSize;
12
+ /** Whether clicking outside or escape key should be blocked */
13
+ modal?: boolean;
14
+ /** Shows/hides the close (X) button in header */
15
+ hasDismissButton?: boolean;
16
+ /** ARIA role - use 'alertdialog' for important messages */
17
+ role?: DialogRole;
18
+ /** Required unique ID for the dialog */
19
+ id?: string;
20
+ /** ID of element labeling the dialog (required for a11y) */
21
+ 'aria-describedby'?: string;
22
+ /** ID of element describing the dialog (optional but recommended) */
23
+ 'aria-labelledby'?: string;
24
+ }
25
+ export interface DialogComposition {
26
+ Header: typeof DialogHeader;
27
+ Content: typeof DialogContent;
28
+ }
29
+ declare const DialogHeader: ({ id, children, }: {
30
+ children: React.ReactNode;
31
+ id?: string;
32
+ }) => import("react/jsx-runtime").JSX.Element;
33
+ export declare function Dialog(props: React.PropsWithChildren<DialogProps>): import("react/jsx-runtime").JSX.Element | null;
34
+ export declare namespace Dialog {
35
+ var Header: ({ id, children, }: {
36
+ children: React.ReactNode;
37
+ id?: string;
38
+ }) => import("react/jsx-runtime").JSX.Element;
39
+ var Content: ({ children }: {
40
+ children: React.ReactNode;
41
+ }) => import("react/jsx-runtime").JSX.Element;
42
+ }
43
+ export declare const DialogContent: ({ children }: {
44
+ children: React.ReactNode;
45
+ }) => import("react/jsx-runtime").JSX.Element;
46
+ export default Dialog;
@@ -0,0 +1,117 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import React, { useRef } from "react";
3
+ import { IconButton } from "../IconButton/IconButton.js";
4
+ import { OverlayContainer, useOverlay, usePreventScroll, useModal } from "@react-aria/overlays";
5
+ import { useDialog } from "@react-aria/dialog";
6
+ import { FocusScope } from "@react-aria/focus";
7
+ import '../../assets/Dialog.css';const dialogWrapper = "_dialogWrapper_o29gm_1";
8
+ const overlay = "_overlay_o29gm_10";
9
+ const dialog = "_dialog_o29gm_1";
10
+ const dialogContent = "_dialogContent_o29gm_47";
11
+ const dialogHeading = "_dialogHeading_o29gm_54";
12
+ const dialogContentInner = "_dialogContentInner_o29gm_58";
13
+ const noHeader = "_noHeader_o29gm_64";
14
+ const closeButton = "_closeButton_o29gm_68";
15
+ const dialogSmall = "_dialogSmall_o29gm_94";
16
+ const dialogMedium = "_dialogMedium_o29gm_98";
17
+ const dialogLarge = "_dialogLarge_o29gm_102";
18
+ const styles = {
19
+ dialogWrapper,
20
+ overlay,
21
+ dialog,
22
+ dialogContent,
23
+ dialogHeading,
24
+ dialogContentInner,
25
+ noHeader,
26
+ closeButton,
27
+ dialogSmall,
28
+ dialogMedium,
29
+ dialogLarge
30
+ };
31
+ const DialogHeader = ({
32
+ /** ID used to reference this header for aria-labelledby */
33
+ id,
34
+ /** Content of the header section */
35
+ children
36
+ }) => {
37
+ return /* @__PURE__ */ jsx("div", { className: styles.dialogHeading, id, children });
38
+ };
39
+ function DialogWrapper({
40
+ children,
41
+ ...props
42
+ }) {
43
+ const {
44
+ onClose,
45
+ size = "medium",
46
+ modal = false,
47
+ hasDismissButton = true,
48
+ role = "dialog",
49
+ id
50
+ } = props;
51
+ const ref = useRef(null);
52
+ const {
53
+ dialogProps
54
+ } = useDialog({
55
+ ...props,
56
+ role
57
+ }, ref);
58
+ const {
59
+ overlayProps,
60
+ underlayProps
61
+ } = useOverlay({
62
+ isOpen: true,
63
+ onClose,
64
+ isDismissable: true,
65
+ ...props
66
+ }, ref);
67
+ usePreventScroll();
68
+ const {
69
+ modalProps
70
+ } = useModal();
71
+ const headerChild = React.Children.toArray(children).find((child) => React.isValidElement(child) && child.type === DialogHeader);
72
+ const otherChildren = React.Children.toArray(children).filter((child) => !React.isValidElement(child) || child.type !== DialogHeader);
73
+ const hasHeader = Boolean(headerChild) || hasDismissButton;
74
+ const headerId = props["aria-labelledby"] || `${id}-header`;
75
+ const contentId = props["aria-describedby"] || `${id}-content`;
76
+ return /* @__PURE__ */ jsxs("div", { className: `${styles.dialogWrapper} ${modal ? styles.modal : ""}`, children: [
77
+ modal && /* @__PURE__ */ jsx("div", { className: styles.overlay, ...underlayProps, onClick: onClose, onKeyDown: (e) => {
78
+ if (e.key === "Enter" || e.key === "Space") {
79
+ onClose == null ? void 0 : onClose();
80
+ }
81
+ }, role: "button", tabIndex: 0 }),
82
+ /* @__PURE__ */ jsx(FocusScope, { contain: true, restoreFocus: true, autoFocus: false, children: /* @__PURE__ */ jsxs("div", { ...overlayProps, ...dialogProps, ...modalProps, ref, className: `${styles.dialog} ${styles[size]}`, "data-size": size, id, role, "aria-labelledby": headerId, "aria-describedby": contentId, children: [
83
+ /* @__PURE__ */ jsxs("div", { className: `${styles.dialogContent} ${!hasHeader ? styles.noHeader : ""}`, children: [
84
+ hasHeader && /* @__PURE__ */ jsx("div", { className: styles.dialogHeader, id: headerId, children: headerChild }),
85
+ /* @__PURE__ */ jsx("div", { id: contentId, children: otherChildren })
86
+ ] }),
87
+ hasDismissButton && /* @__PURE__ */ jsx("div", { className: styles.closeButton, children: /* @__PURE__ */ jsx(IconButton, { onClick: onClose, styleVariant: "white", emphasis: "primary", size: "sm", iconProps: {
88
+ iconName: "close",
89
+ iconPrefix: "far",
90
+ iconSize: "1x"
91
+ }, tooltipLabel: "Close dialog", "aria-label": "Close dialog" }) })
92
+ ] }) })
93
+ ] });
94
+ }
95
+ function Dialog(props) {
96
+ const {
97
+ isOpen,
98
+ children
99
+ } = props;
100
+ if (!isOpen) {
101
+ return null;
102
+ }
103
+ return /* @__PURE__ */ jsx(OverlayContainer, { children: /* @__PURE__ */ jsx(DialogWrapper, { ...props, children }) });
104
+ }
105
+ const DialogContent = ({
106
+ children
107
+ }) => {
108
+ return /* @__PURE__ */ jsx("div", { className: styles.dialogContentInner, children });
109
+ };
110
+ Dialog.Header = DialogHeader;
111
+ Dialog.Content = DialogContent;
112
+ export {
113
+ Dialog,
114
+ DialogContent,
115
+ Dialog as default
116
+ };
117
+ //# sourceMappingURL=Dialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Dialog.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1 @@
1
+ export { default } from './Dialog';
@@ -0,0 +1,5 @@
1
+ import { Dialog } from "./Dialog.js";
2
+ export {
3
+ Dialog as default
4
+ };
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -2,5 +2,5 @@ import { FieldErrorProps as AriaFieldErrorProps } from 'react-aria-components';
2
2
  export interface FieldErrorProps extends AriaFieldErrorProps {
3
3
  children?: React.ReactNode | any;
4
4
  }
5
- export declare const FieldError: ({ children, ...props }: FieldErrorProps) => import("react/jsx-runtime").JSX.Element | null;
5
+ export declare const FieldError: ({ children, ...props }: FieldErrorProps) => import("react/jsx-runtime").JSX.Element;
6
6
  export default FieldError;
@@ -1,4 +1,4 @@
1
- import { jsxs, jsx } from "react/jsx-runtime";
1
+ import { jsx, jsxs, Fragment } from "react/jsx-runtime";
2
2
  import { FieldError as FieldError$1 } from "react-aria-components";
3
3
  import { Icon } from "../Icon/Icon.js";
4
4
  import '../../assets/FieldError.css';const fieldError = "_fieldError_1tsix_1";
@@ -9,13 +9,16 @@ const FieldError = ({
9
9
  children,
10
10
  ...props
11
11
  }) => {
12
- if (!children) {
13
- return null;
14
- }
15
- return /* @__PURE__ */ jsxs(FieldError$1, { className: styles.fieldError, ...props, children: [
16
- /* @__PURE__ */ jsx(Icon, { iconName: "triangle-exclamation", "aria-label": "error-icon" }),
17
- children
18
- ] });
12
+ return /* @__PURE__ */ jsx(FieldError$1, { className: styles.fieldError, ...props, children: ({
13
+ validationErrors
14
+ }) => {
15
+ const errorMessage = children || (validationErrors == null ? void 0 : validationErrors[0]);
16
+ if (!errorMessage) return null;
17
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
18
+ /* @__PURE__ */ jsx(Icon, { iconName: "triangle-exclamation", iconPrefix: "fas", "aria-label": "error-icon" }),
19
+ errorMessage
20
+ ] });
21
+ } });
19
22
  };
20
23
  export {
21
24
  FieldError,
@@ -1 +1 @@
1
- {"version":3,"file":"FieldError.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"FieldError.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +1,2 @@
1
1
  export { default } from './FieldHeader';
2
+ export type { FieldHeaderProps } from './FieldHeader';
@@ -0,0 +1,18 @@
1
+ import { default as React } from 'react';
2
+ import { FieldsetHeaderProps } from '../FieldsetHeader/FieldsetHeader';
3
+ export interface FieldsetProps {
4
+ children?: React.ReactNode;
5
+ }
6
+ declare const Fieldset: {
7
+ ({ children }: FieldsetProps): import("react/jsx-runtime").JSX.Element;
8
+ Content: {
9
+ ({ children }: FieldsetContentProps): import("react/jsx-runtime").JSX.Element;
10
+ displayName: string;
11
+ };
12
+ Header: ({ children, description, }: FieldsetHeaderProps) => import("react/jsx-runtime").JSX.Element;
13
+ };
14
+ export interface FieldsetContentProps {
15
+ children?: React.ReactNode;
16
+ }
17
+ export type { FieldsetHeaderProps };
18
+ export default Fieldset;
@@ -0,0 +1,24 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { FieldsetHeader } from "../FieldsetHeader/FieldsetHeader.js";
3
+ import { Box } from "../Box/Box.js";
4
+ import '../../assets/Fieldset.css';const fieldset = "_fieldset_11lio_1";
5
+ const styles = {
6
+ fieldset
7
+ };
8
+ const Fieldset = ({
9
+ children
10
+ }) => {
11
+ return /* @__PURE__ */ jsx("fieldset", { className: styles.fieldset, children });
12
+ };
13
+ const Content = ({
14
+ children
15
+ }) => {
16
+ return /* @__PURE__ */ jsx(Box, { flexDirection: "column", gap: "sm", width: "100%", children });
17
+ };
18
+ Content.displayName = "Fieldset.Content";
19
+ Fieldset.Content = Content;
20
+ Fieldset.Header = FieldsetHeader;
21
+ export {
22
+ Fieldset as default
23
+ };
24
+ //# sourceMappingURL=Fieldset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Fieldset.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,2 @@
1
+ export { default } from './Fieldset';
2
+ export type { FieldsetProps, FieldsetHeaderProps, FieldsetContentProps, } from './Fieldset';
@@ -0,0 +1,5 @@
1
+ import { default as default2 } from "./Fieldset.js";
2
+ export {
3
+ default2 as default
4
+ };
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,7 @@
1
+ import { default as React } from 'react';
2
+ export interface FieldsetHeaderProps {
3
+ children?: React.ReactNode;
4
+ description?: React.ReactNode;
5
+ }
6
+ export declare const FieldsetHeader: ({ children, description, }: FieldsetHeaderProps) => import("react/jsx-runtime").JSX.Element;
7
+ export default FieldsetHeader;
@@ -0,0 +1,21 @@
1
+ import { jsxs, jsx } from "react/jsx-runtime";
2
+ import { Heading } from "../Heading/Heading.js";
3
+ import '../../assets/FieldsetHeader.css';const fieldsetHeader = "_fieldsetHeader_6pt1c_1";
4
+ const styles = {
5
+ fieldsetHeader,
6
+ "fieldsetHeader-description": "_fieldsetHeader-description_6pt1c_12"
7
+ };
8
+ const FieldsetHeader = ({
9
+ children,
10
+ description
11
+ }) => {
12
+ return /* @__PURE__ */ jsxs("div", { className: styles["fieldsetHeader"], children: [
13
+ /* @__PURE__ */ jsx(Heading, { as: "legend", size: "sm", foregroundColor: "accentSecondary", children }),
14
+ description && /* @__PURE__ */ jsx("span", { className: styles["fieldsetHeader-description"], children: description })
15
+ ] });
16
+ };
17
+ export {
18
+ FieldsetHeader,
19
+ FieldsetHeader as default
20
+ };
21
+ //# sourceMappingURL=FieldsetHeader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FieldsetHeader.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;"}
@@ -0,0 +1 @@
1
+ export { default } from './FieldsetHeader';
@@ -0,0 +1,5 @@
1
+ import { FieldsetHeader } from "./FieldsetHeader.js";
2
+ export {
3
+ FieldsetHeader as default
4
+ };
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}