@elliemae/ds-form 3.5.0-rc.9 → 3.6.0-next.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/dist/cjs/CheckboxGroup/DSCheckboxGroup.js +31 -27
- package/dist/cjs/CheckboxGroup/DSCheckboxGroup.js.map +1 -1
- package/dist/cjs/ComboBoxFreeSolo/ComboBoxFreeSolo.js +2 -2
- package/dist/cjs/ComboBoxFreeSolo/ComboBoxFreeSolo.js.map +2 -2
- package/dist/cjs/ComboBoxFreeSolo/components/MultiValueLabel.js +13 -5
- package/dist/cjs/ComboBoxFreeSolo/components/MultiValueLabel.js.map +2 -2
- package/dist/cjs/ComboBoxFreeSolo/components/MultiValueRemove.js +7 -4
- package/dist/cjs/ComboBoxFreeSolo/components/MultiValueRemove.js.map +2 -2
- package/dist/cjs/ComboBoxFreeSolo/components/SingleValue.js +6 -5
- package/dist/cjs/ComboBoxFreeSolo/components/SingleValue.js.map +2 -2
- package/dist/cjs/ComboBoxFreeSolo/components/SingleValueRemove.js +14 -13
- package/dist/cjs/ComboBoxFreeSolo/components/SingleValueRemove.js.map +2 -2
- package/dist/cjs/DateInput/DSDateInput.js +4 -3
- package/dist/cjs/DateInput/DSDateInput.js.map +2 -2
- package/dist/cjs/DateInput/components/DateInputImpl.js +19 -17
- package/dist/cjs/DateInput/components/DateInputImpl.js.map +2 -2
- package/dist/cjs/DateInput/components/DateInputs.js +15 -12
- package/dist/cjs/DateInput/components/DateInputs.js.map +1 -1
- package/dist/cjs/DateInputV2/components/DSDateInput.js +3 -3
- package/dist/cjs/DateInputV2/components/DSDateInput.js.map +2 -2
- package/dist/cjs/DateInputV2/components/DateInputs.js +19 -13
- package/dist/cjs/DateInputV2/components/DateInputs.js.map +1 -1
- package/dist/cjs/ExpandableInput/DSExpandableInput.js +5 -4
- package/dist/cjs/ExpandableInput/DSExpandableInput.js.map +2 -2
- package/dist/cjs/ExpandableInput/ExpandableInputImpl.js +16 -13
- package/dist/cjs/ExpandableInput/ExpandableInputImpl.js.map +1 -1
- package/dist/cjs/FloatingLabelInput/DSFloatingLabelInput.js +2 -2
- package/dist/cjs/FloatingLabelInput/DSFloatingLabelInput.js.map +2 -2
- package/dist/cjs/FloatingLabelInput/FloatingLabelInputImpl.js +31 -16
- package/dist/cjs/FloatingLabelInput/FloatingLabelInputImpl.js.map +1 -1
- package/dist/cjs/FormItem/DSFormItemLayout.js +64 -34
- package/dist/cjs/FormItem/DSFormItemLayout.js.map +2 -2
- package/dist/cjs/FormItem/Error/DSError.js +5 -4
- package/dist/cjs/FormItem/Error/DSError.js.map +2 -2
- package/dist/cjs/FormItem/Feedback.js +5 -4
- package/dist/cjs/FormItem/Feedback.js.map +2 -2
- package/dist/cjs/FormItem/Label/DSLabel.js +15 -9
- package/dist/cjs/FormItem/Label/DSLabel.js.map +2 -2
- package/dist/cjs/InputGroup/AddonWrapper.js +14 -4
- package/dist/cjs/InputGroup/AddonWrapper.js.map +2 -2
- package/dist/cjs/InputGroup/DSInputGroup.js +5 -4
- package/dist/cjs/InputGroup/DSInputGroup.js.map +2 -2
- package/dist/cjs/InputMask/DSInputMask.js +3 -2
- package/dist/cjs/InputMask/DSInputMask.js.map +2 -2
- package/dist/cjs/InputMask/DSInputMaskDeprecated.js +2 -1
- package/dist/cjs/InputMask/DSInputMaskDeprecated.js.map +1 -1
- package/dist/cjs/InputMask/mask_types/DateInputMask.js +3 -2
- package/dist/cjs/InputMask/mask_types/DateInputMask.js.map +2 -2
- package/dist/cjs/InputMask/mask_types/DateTimeInputMask.js +3 -2
- package/dist/cjs/InputMask/mask_types/DateTimeInputMask.js.map +2 -2
- package/dist/cjs/InputMask/mask_types/DictionaryInputMask.js +3 -2
- package/dist/cjs/InputMask/mask_types/DictionaryInputMask.js.map +2 -2
- package/dist/cjs/InputMask/mask_types/NumberInputMask.js +3 -2
- package/dist/cjs/InputMask/mask_types/NumberInputMask.js.map +2 -2
- package/dist/cjs/InputMask/mask_types/PhoneInputMask.js +3 -2
- package/dist/cjs/InputMask/mask_types/PhoneInputMask.js.map +2 -2
- package/dist/cjs/InputMask/mask_types/PhoneInternationalInputMask.js +3 -2
- package/dist/cjs/InputMask/mask_types/PhoneInternationalInputMask.js.map +2 -2
- package/dist/cjs/InputMask/mask_types/SsnInputMask.js +3 -2
- package/dist/cjs/InputMask/mask_types/SsnInputMask.js.map +2 -2
- package/dist/cjs/InputMask/mask_types/UsZipCodeInputMask.js +3 -2
- package/dist/cjs/InputMask/mask_types/UsZipCodeInputMask.js.map +2 -2
- package/dist/cjs/InputMask/mask_types/ZipCodeSearchInputMask.js +3 -2
- package/dist/cjs/InputMask/mask_types/ZipCodeSearchInputMask.js.map +2 -2
- package/dist/cjs/InputMask/mask_types/index.js +11 -11
- package/dist/cjs/InputMask/mask_types/index.js.map +2 -2
- package/dist/cjs/InputProtected/DSInputProtected.js +34 -30
- package/dist/cjs/InputProtected/DSInputProtected.js.map +2 -2
- package/dist/cjs/LargeInputText/DSLargeInputText.js +49 -40
- package/dist/cjs/LargeInputText/DSLargeInputText.js.map +2 -2
- package/dist/cjs/Radio/Circle.js +10 -9
- package/dist/cjs/Radio/Circle.js.map +2 -2
- package/dist/cjs/Radio/DSRadio.js +61 -48
- package/dist/cjs/Radio/DSRadio.js.map +2 -2
- package/dist/cjs/RadioGroup/DSRadioGroup.js +32 -28
- package/dist/cjs/RadioGroup/DSRadioGroup.js.map +1 -1
- package/dist/cjs/RequiredMark/RequiredMark.js +9 -7
- package/dist/cjs/RequiredMark/RequiredMark.js.map +2 -2
- package/dist/cjs/TimeInput/DSTimeInput.js +3 -3
- package/dist/cjs/TimeInput/DSTimeInput.js.map +2 -2
- package/dist/cjs/TimeInput/TimeInputImpl.js +17 -15
- package/dist/cjs/TimeInput/TimeInputImpl.js.map +2 -2
- package/dist/cjs/TimeInput/TimeInputs.js +16 -13
- package/dist/cjs/TimeInput/TimeInputs.js.map +2 -2
- package/dist/cjs/Toggle/DSToggle.js +2 -2
- package/dist/cjs/Toggle/DSToggle.js.map +2 -2
- package/dist/cjs/Toggle/DSToggleImpl.js +2 -1
- package/dist/cjs/Toggle/DSToggleImpl.js.map +1 -1
- package/dist/cjs/Toggle/DSToggleRender.js +42 -34
- package/dist/cjs/Toggle/DSToggleRender.js.map +2 -2
- package/dist/esm/CheckboxGroup/DSCheckboxGroup.js +31 -27
- package/dist/esm/CheckboxGroup/DSCheckboxGroup.js.map +1 -1
- package/dist/esm/ComboBoxFreeSolo/ComboBoxFreeSolo.js +2 -2
- package/dist/esm/ComboBoxFreeSolo/ComboBoxFreeSolo.js.map +2 -2
- package/dist/esm/ComboBoxFreeSolo/components/MultiValueLabel.js +13 -5
- package/dist/esm/ComboBoxFreeSolo/components/MultiValueLabel.js.map +2 -2
- package/dist/esm/ComboBoxFreeSolo/components/MultiValueRemove.js +7 -4
- package/dist/esm/ComboBoxFreeSolo/components/MultiValueRemove.js.map +2 -2
- package/dist/esm/ComboBoxFreeSolo/components/SingleValue.js +6 -5
- package/dist/esm/ComboBoxFreeSolo/components/SingleValue.js.map +2 -2
- package/dist/esm/ComboBoxFreeSolo/components/SingleValueRemove.js +14 -13
- package/dist/esm/ComboBoxFreeSolo/components/SingleValueRemove.js.map +2 -2
- package/dist/esm/DateInput/DSDateInput.js +4 -3
- package/dist/esm/DateInput/DSDateInput.js.map +2 -2
- package/dist/esm/DateInput/components/DateInputImpl.js +19 -17
- package/dist/esm/DateInput/components/DateInputImpl.js.map +2 -2
- package/dist/esm/DateInput/components/DateInputs.js +15 -12
- package/dist/esm/DateInput/components/DateInputs.js.map +1 -1
- package/dist/esm/DateInputV2/components/DSDateInput.js +3 -3
- package/dist/esm/DateInputV2/components/DSDateInput.js.map +2 -2
- package/dist/esm/DateInputV2/components/DateInputs.js +19 -13
- package/dist/esm/DateInputV2/components/DateInputs.js.map +1 -1
- package/dist/esm/ExpandableInput/DSExpandableInput.js +5 -4
- package/dist/esm/ExpandableInput/DSExpandableInput.js.map +2 -2
- package/dist/esm/ExpandableInput/ExpandableInputImpl.js +16 -13
- package/dist/esm/ExpandableInput/ExpandableInputImpl.js.map +1 -1
- package/dist/esm/FloatingLabelInput/DSFloatingLabelInput.js +2 -2
- package/dist/esm/FloatingLabelInput/DSFloatingLabelInput.js.map +2 -2
- package/dist/esm/FloatingLabelInput/FloatingLabelInputImpl.js +31 -16
- package/dist/esm/FloatingLabelInput/FloatingLabelInputImpl.js.map +1 -1
- package/dist/esm/FormItem/DSFormItemLayout.js +64 -34
- package/dist/esm/FormItem/DSFormItemLayout.js.map +2 -2
- package/dist/esm/FormItem/Error/DSError.js +5 -4
- package/dist/esm/FormItem/Error/DSError.js.map +2 -2
- package/dist/esm/FormItem/Feedback.js +5 -4
- package/dist/esm/FormItem/Feedback.js.map +2 -2
- package/dist/esm/FormItem/Label/DSLabel.js +15 -9
- package/dist/esm/FormItem/Label/DSLabel.js.map +2 -2
- package/dist/esm/InputGroup/AddonWrapper.js +14 -4
- package/dist/esm/InputGroup/AddonWrapper.js.map +2 -2
- package/dist/esm/InputGroup/DSInputGroup.js +5 -4
- package/dist/esm/InputGroup/DSInputGroup.js.map +2 -2
- package/dist/esm/InputMask/DSInputMask.js +3 -2
- package/dist/esm/InputMask/DSInputMask.js.map +2 -2
- package/dist/esm/InputMask/DSInputMaskDeprecated.js +2 -1
- package/dist/esm/InputMask/DSInputMaskDeprecated.js.map +1 -1
- package/dist/esm/InputMask/mask_types/DateInputMask.js +3 -2
- package/dist/esm/InputMask/mask_types/DateInputMask.js.map +2 -2
- package/dist/esm/InputMask/mask_types/DateTimeInputMask.js +3 -2
- package/dist/esm/InputMask/mask_types/DateTimeInputMask.js.map +2 -2
- package/dist/esm/InputMask/mask_types/DictionaryInputMask.js +3 -2
- package/dist/esm/InputMask/mask_types/DictionaryInputMask.js.map +2 -2
- package/dist/esm/InputMask/mask_types/NumberInputMask.js +3 -2
- package/dist/esm/InputMask/mask_types/NumberInputMask.js.map +2 -2
- package/dist/esm/InputMask/mask_types/PhoneInputMask.js +3 -2
- package/dist/esm/InputMask/mask_types/PhoneInputMask.js.map +2 -2
- package/dist/esm/InputMask/mask_types/PhoneInternationalInputMask.js +3 -2
- package/dist/esm/InputMask/mask_types/PhoneInternationalInputMask.js.map +2 -2
- package/dist/esm/InputMask/mask_types/SsnInputMask.js +3 -2
- package/dist/esm/InputMask/mask_types/SsnInputMask.js.map +2 -2
- package/dist/esm/InputMask/mask_types/UsZipCodeInputMask.js +3 -2
- package/dist/esm/InputMask/mask_types/UsZipCodeInputMask.js.map +2 -2
- package/dist/esm/InputMask/mask_types/ZipCodeSearchInputMask.js +3 -2
- package/dist/esm/InputMask/mask_types/ZipCodeSearchInputMask.js.map +2 -2
- package/dist/esm/InputMask/mask_types/index.js +11 -11
- package/dist/esm/InputMask/mask_types/index.js.map +2 -2
- package/dist/esm/InputProtected/DSInputProtected.js +34 -30
- package/dist/esm/InputProtected/DSInputProtected.js.map +2 -2
- package/dist/esm/LargeInputText/DSLargeInputText.js +49 -40
- package/dist/esm/LargeInputText/DSLargeInputText.js.map +2 -2
- package/dist/esm/Radio/Circle.js +10 -9
- package/dist/esm/Radio/Circle.js.map +2 -2
- package/dist/esm/Radio/DSRadio.js +61 -48
- package/dist/esm/Radio/DSRadio.js.map +2 -2
- package/dist/esm/RadioGroup/DSRadioGroup.js +32 -28
- package/dist/esm/RadioGroup/DSRadioGroup.js.map +1 -1
- package/dist/esm/RequiredMark/RequiredMark.js +9 -7
- package/dist/esm/RequiredMark/RequiredMark.js.map +2 -2
- package/dist/esm/TimeInput/DSTimeInput.js +3 -3
- package/dist/esm/TimeInput/DSTimeInput.js.map +2 -2
- package/dist/esm/TimeInput/TimeInputImpl.js +17 -15
- package/dist/esm/TimeInput/TimeInputImpl.js.map +2 -2
- package/dist/esm/TimeInput/TimeInputs.js +16 -13
- package/dist/esm/TimeInput/TimeInputs.js.map +1 -1
- package/dist/esm/Toggle/DSToggle.js +2 -2
- package/dist/esm/Toggle/DSToggle.js.map +2 -2
- package/dist/esm/Toggle/DSToggleImpl.js +2 -1
- package/dist/esm/Toggle/DSToggleImpl.js.map +1 -1
- package/dist/esm/Toggle/DSToggleRender.js +42 -34
- package/dist/esm/Toggle/DSToggleRender.js.map +2 -2
- package/package.json +12 -12
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import
|
|
2
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useMemo } from "react";
|
|
3
4
|
import { describe } from "@elliemae/ds-utilities";
|
|
4
5
|
import {
|
|
5
6
|
convertPropToCssClassName,
|
|
@@ -61,45 +62,53 @@ const DSLargeInputText = ({
|
|
|
61
62
|
const handleKeyUp = (e) => {
|
|
62
63
|
onKeyUp(e);
|
|
63
64
|
};
|
|
64
|
-
return /* @__PURE__ */
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
65
|
+
return /* @__PURE__ */ jsxs(Fragment, {
|
|
66
|
+
children: [
|
|
67
|
+
/* @__PURE__ */ jsx("div", {
|
|
68
|
+
...containerProps,
|
|
69
|
+
className: `${cssClassName} ${className}`,
|
|
70
|
+
children: /* @__PURE__ */ jsx("div", {
|
|
71
|
+
className: classNameBlock("wrapper"),
|
|
72
|
+
children: /* @__PURE__ */ jsx("textarea", {
|
|
73
|
+
ref: innerRef,
|
|
74
|
+
"aria-autocomplete": ariaAutocomplete,
|
|
75
|
+
"aria-label": ariaLabel,
|
|
76
|
+
"aria-multiline": true,
|
|
77
|
+
"aria-placeholder": placeholder,
|
|
78
|
+
"aria-required": required,
|
|
79
|
+
autoFocus,
|
|
80
|
+
className: classNameElement("textarea"),
|
|
81
|
+
"data-testid": "ds-large-input_main-component",
|
|
82
|
+
disabled,
|
|
83
|
+
id,
|
|
84
|
+
maxLength,
|
|
85
|
+
minLength,
|
|
86
|
+
name,
|
|
87
|
+
onBlur,
|
|
88
|
+
onChange,
|
|
89
|
+
onClick,
|
|
90
|
+
onFocus,
|
|
91
|
+
onKeyDown,
|
|
92
|
+
onKeyUp: handleKeyUp,
|
|
93
|
+
onPaste,
|
|
94
|
+
placeholder,
|
|
95
|
+
role,
|
|
96
|
+
rows: String(rows),
|
|
97
|
+
style: {
|
|
98
|
+
resize
|
|
99
|
+
},
|
|
100
|
+
value,
|
|
101
|
+
tabIndex
|
|
102
|
+
})
|
|
103
|
+
})
|
|
104
|
+
}),
|
|
105
|
+
characterLimitCounter > 0 && /* @__PURE__ */ jsx(CounterArea, {
|
|
106
|
+
classProps: { limitError },
|
|
107
|
+
"data-testid": "counter-area",
|
|
108
|
+
children: `${limitError ? `${errorLimit} ${characterLimitCounter} characters. ` : ""}${String(value).length} / ${characterLimitCounter}`
|
|
109
|
+
})
|
|
110
|
+
]
|
|
111
|
+
});
|
|
103
112
|
};
|
|
104
113
|
DSLargeInputText.propTypes = props;
|
|
105
114
|
DSLargeInputText.defaultProps = defaultProps;
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/LargeInputText/DSLargeInputText.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\n/* eslint-disable jsx-a11y/no-autofocus, react/prop-types */\nimport React, { useMemo } from 'react';\nimport { describe } from '@elliemae/ds-utilities';\nimport {\n convertPropToCssClassName,\n aggregatedClasses,\n} from '@elliemae/ds-classnames';\nimport { props } from './props';\nimport { defaultProps } from './defaultProps';\n\nconst CounterArea = aggregatedClasses('div')(\n 'counter',\n 'textarea',\n ({ limitError }) => ({\n 'limit-error': limitError,\n }),\n);\n\nconst DSLargeInputText = ({\n containerProps,\n autoFocus,\n className,\n disabled,\n name,\n id,\n maxLength,\n minLength,\n placeholder,\n onClick,\n onChange,\n onFocus,\n onBlur,\n onKeyUp,\n onKeyDown,\n onPaste,\n value,\n hasError,\n required,\n readOnly,\n resize,\n innerRef,\n ariaLabel,\n ariaAutocomplete,\n role,\n characterLimitCounter,\n rows,\n errorLimit,\n tabIndex,\n}) => {\n const limitError = useMemo(\n () =>\n characterLimitCounter < String(value).length && characterLimitCounter > 0,\n [characterLimitCounter, value],\n );\n const {\n cssClassName,\n classNameElement,\n classNameBlock,\n } = convertPropToCssClassName('form-element-textarea', 'text', {\n hasError: limitError || hasError,\n readOnly,\n disabled,\n });\n // auto size when user types\n const handleKeyUp = (e) => {\n // const { target } = e\n onKeyUp(e);\n // if (e.key !== 'Enter') return\n // target.style.cssText = 'height:auto; padding:0'\n // target.style.cssText = `height: ${target.scrollHeight}px`\n };\n return (\n <>\n <div {...containerProps} className={`${cssClassName} ${className}`}>\n <div className={classNameBlock('wrapper')}>\n <textarea\n ref={innerRef}\n aria-autocomplete={ariaAutocomplete}\n aria-label={ariaLabel}\n aria-multiline\n aria-placeholder={placeholder}\n aria-required={required}\n autoFocus={autoFocus}\n className={classNameElement('textarea')}\n data-testid=\"ds-large-input_main-component\"\n disabled={disabled}\n id={id}\n maxLength={maxLength}\n minLength={minLength}\n name={name}\n onBlur={onBlur}\n onChange={onChange}\n onClick={onClick}\n onFocus={onFocus}\n onKeyDown={onKeyDown}\n onKeyUp={handleKeyUp}\n onPaste={onPaste}\n placeholder={placeholder}\n role={role}\n rows={String(rows)}\n style={{\n resize,\n }}\n value={value}\n tabIndex={tabIndex}\n />\n </div>\n </div>\n {characterLimitCounter > 0 && (\n <CounterArea classProps={{ limitError }} data-testid=\"counter-area\">\n {`${\n limitError\n ? `${errorLimit} ${characterLimitCounter} characters. `\n : ''\n }${String(value).length} / ${characterLimitCounter}`}\n </CounterArea>\n )}\n </>\n );\n};\n\nDSLargeInputText.propTypes = props;\nDSLargeInputText.defaultProps = defaultProps;\nDSLargeInputText.displayName = 'DSLargeInputText';\nconst DSLargeInputTextWithSchema = describe(DSLargeInputText).description(\n 'A large input',\n);\nDSLargeInputTextWithSchema.propTypes = props;\n\nexport { DSLargeInputTextWithSchema, DSLargeInputText };\n\nexport default DSLargeInputText;\n"],
|
|
5
|
-
"mappings": "AAAA,YAAY,WAAW;
|
|
6
|
-
"names": [
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACAvB;AAEA,SAAgB,eAAe;AAC/B,SAAS,gBAAgB;AACzB;AAAA,EACE;AAAA,EACA;AAAA,OACK;AACP,SAAS,aAAa;AACtB,SAAS,oBAAoB;AAE7B,MAAM,cAAc,kBAAkB,KAAK;AAAA,EACzC;AAAA,EACA;AAAA,EACA,CAAC,EAAE,WAAW,OAAO;AAAA,IACnB,eAAe;AAAA,EACjB;AACF;AAEA,MAAM,mBAAmB,CAAC;AAAA,EACxB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,aAAa;AAAA,IACjB,MACE,wBAAwB,OAAO,KAAK,EAAE,UAAU,wBAAwB;AAAA,IAC1E,CAAC,uBAAuB,KAAK;AAAA,EAC/B;AACA,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI,0BAA0B,yBAAyB,QAAQ;AAAA,IAC7D,UAAU,cAAc;AAAA,IACxB;AAAA,IACA;AAAA,EACF,CAAC;AAED,QAAM,cAAc,CAAC,MAAM;AAEzB,YAAQ,CAAC;AAAA,EAIX;AACA,SACE;AAAA,IACE;AAAA,0BAAC;AAAA,QAAK,GAAG;AAAA,QAAgB,WAAW,GAAG,gBAAgB;AAAA,QACrD,8BAAC;AAAA,UAAI,WAAW,eAAe,SAAS;AAAA,UACtC,8BAAC;AAAA,YACC,KAAK;AAAA,YACL,qBAAmB;AAAA,YACnB,cAAY;AAAA,YACZ,kBAAc;AAAA,YACd,oBAAkB;AAAA,YAClB,iBAAe;AAAA,YACf;AAAA,YACA,WAAW,iBAAiB,UAAU;AAAA,YACtC,eAAY;AAAA,YACZ;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA,SAAS;AAAA,YACT;AAAA,YACA;AAAA,YACA;AAAA,YACA,MAAM,OAAO,IAAI;AAAA,YACjB,OAAO;AAAA,cACL;AAAA,YACF;AAAA,YACA;AAAA,YACA;AAAA,WACF;AAAA,SACF;AAAA,OACF;AAAA,MACC,wBAAwB,KACvB,oBAAC;AAAA,QAAY,YAAY,EAAE,WAAW;AAAA,QAAG,eAAY;AAAA,QAClD,aACC,aACI,GAAG,cAAc,yCACjB,KACH,OAAO,KAAK,EAAE,YAAY;AAAA,OAC/B;AAAA;AAAA,GAEJ;AAEJ;AAEA,iBAAiB,YAAY;AAC7B,iBAAiB,eAAe;AAChC,iBAAiB,cAAc;AAC/B,MAAM,6BAA6B,SAAS,gBAAgB,EAAE;AAAA,EAC5D;AACF;AACA,2BAA2B,YAAY;AAIvC,IAAO,2BAAQ;",
|
|
6
|
+
"names": []
|
|
7
7
|
}
|
package/dist/esm/Radio/Circle.js
CHANGED
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
3
|
import { withTheme } from "@elliemae/ds-system";
|
|
4
4
|
const Circle = ({ checked, theme }) => {
|
|
5
5
|
const r = theme.breakpoints.medium.split("px")[0] - window.innerWidth >= 0 ? 6 : 4;
|
|
6
|
-
return /* @__PURE__ */
|
|
6
|
+
return /* @__PURE__ */ jsx("svg", {
|
|
7
7
|
width: "100%",
|
|
8
|
-
height: "100%"
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
8
|
+
height: "100%",
|
|
9
|
+
children: /* @__PURE__ */ jsx("circle", {
|
|
10
|
+
className: checked ? "checked" : "unchecked",
|
|
11
|
+
r,
|
|
12
|
+
cx: "50%",
|
|
13
|
+
cy: "50%"
|
|
14
|
+
})
|
|
15
|
+
});
|
|
15
16
|
};
|
|
16
17
|
const ThemedCircle = withTheme(Circle);
|
|
17
18
|
var Circle_default = ThemedCircle;
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/Radio/Circle.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport { withTheme } from '@elliemae/ds-system';\n\nconst Circle = ({ checked, theme }) => {\n const r =\n theme.breakpoints.medium.split('px')[0] - window.innerWidth >= 0 ? 6 : 4;\n return (\n <svg width=\"100%\" height=\"100%\">\n <circle\n className={checked ? 'checked' : 'unchecked'}\n r={r}\n cx=\"50%\"\n cy=\"50%\"\n />\n </svg>\n );\n};\n\nconst ThemedCircle = withTheme(Circle);\nexport { ThemedCircle as Circle };\nexport default ThemedCircle;\n"],
|
|
5
|
-
"mappings": "AAAA,YAAY,WAAW;ACAvB
|
|
6
|
-
"names": [
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACAvB;AACA,SAAS,iBAAiB;AAE1B,MAAM,SAAS,CAAC,EAAE,SAAS,MAAM,MAAM;AACrC,QAAM,IACJ,MAAM,YAAY,OAAO,MAAM,IAAI,EAAE,KAAK,OAAO,cAAc,IAAI,IAAI;AACzE,SACE,oBAAC;AAAA,IAAI,OAAM;AAAA,IAAO,QAAO;AAAA,IACvB,8BAAC;AAAA,MACC,WAAW,UAAU,YAAY;AAAA,MACjC;AAAA,MACA,IAAG;AAAA,MACH,IAAG;AAAA,KACL;AAAA,GACF;AAEJ;AAEA,MAAM,eAAe,UAAU,MAAM;AAErC,IAAO,iBAAQ;",
|
|
6
|
+
"names": []
|
|
7
7
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useRef } from "react";
|
|
3
4
|
import { PropTypes, describe } from "@elliemae/ds-utilities";
|
|
4
5
|
import { convertPropToCssClassName } from "@elliemae/ds-classnames";
|
|
5
6
|
import { Circle } from "./Circle";
|
|
@@ -27,54 +28,66 @@ const DSRadio = ({
|
|
|
27
28
|
disabled
|
|
28
29
|
});
|
|
29
30
|
const checkRef = useRef(null);
|
|
30
|
-
return /* @__PURE__ */
|
|
31
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
31
32
|
...containerProps,
|
|
32
|
-
className: cssClassName
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
33
|
+
className: cssClassName,
|
|
34
|
+
children: [
|
|
35
|
+
/* @__PURE__ */ jsxs("label", {
|
|
36
|
+
className: classNameElement("label"),
|
|
37
|
+
htmlFor,
|
|
38
|
+
children: [
|
|
39
|
+
/* @__PURE__ */ jsx("input", {
|
|
40
|
+
...otherProps,
|
|
41
|
+
ref: checkRef,
|
|
42
|
+
"aria-disabled": disabled,
|
|
43
|
+
checked: disabled ? false : checked,
|
|
44
|
+
className: classNameElement("input"),
|
|
45
|
+
disabled,
|
|
46
|
+
name,
|
|
47
|
+
onChange: (e) => {
|
|
48
|
+
if (!readOnly && !disabled) {
|
|
49
|
+
onChange(e);
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
readOnly,
|
|
53
|
+
tabIndex: -1,
|
|
54
|
+
type: "radio",
|
|
55
|
+
value
|
|
56
|
+
}),
|
|
57
|
+
/* @__PURE__ */ jsx("span", {
|
|
58
|
+
ref: innerRef,
|
|
59
|
+
"aria-checked": checked,
|
|
60
|
+
"aria-disabled": disabled,
|
|
61
|
+
className: classNameElement("input-button"),
|
|
62
|
+
onKeyDown: (e) => {
|
|
63
|
+
e.target = checkRef.current;
|
|
64
|
+
if (disabled)
|
|
65
|
+
return;
|
|
66
|
+
if (e.key === "Enter" || e.keyCode === 32) {
|
|
67
|
+
onChange(e);
|
|
68
|
+
} else if (otherProps.onKeyDown) {
|
|
69
|
+
otherProps.onKeyDown(e);
|
|
70
|
+
}
|
|
71
|
+
},
|
|
72
|
+
role: "radio",
|
|
73
|
+
style,
|
|
74
|
+
tabIndex: disabled ? -1 : tabIndex,
|
|
75
|
+
children: /* @__PURE__ */ jsx(Circle, {
|
|
76
|
+
checked
|
|
77
|
+
})
|
|
78
|
+
}),
|
|
79
|
+
/* @__PURE__ */ jsx("span", {
|
|
80
|
+
className: classNameElement("label-text"),
|
|
81
|
+
children: labelText
|
|
82
|
+
})
|
|
83
|
+
]
|
|
84
|
+
}),
|
|
85
|
+
children && /* @__PURE__ */ jsx("div", {
|
|
86
|
+
className: classNameElement("radio-children"),
|
|
87
|
+
children
|
|
88
|
+
})
|
|
89
|
+
]
|
|
90
|
+
});
|
|
78
91
|
};
|
|
79
92
|
DSRadio.defaultProps = {
|
|
80
93
|
containerProps: {},
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/Radio/DSRadio.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\n/* eslint-disable react/no-unknown-property */\nimport React, { useRef } from 'react';\nimport { PropTypes, describe } from '@elliemae/ds-utilities';\nimport { convertPropToCssClassName } from '@elliemae/ds-classnames';\nimport { Circle } from './Circle';\n\ninterface DSRadioT {\n [x: string]: unknown;\n innerRef?: React.MutableRefObject<HTMLInputElement>;\n containerProps?: { [x: string]: unknown };\n className?: string;\n style?: React.CSSProperties;\n labelText?: string;\n htmlFor?: string;\n hasError?: boolean;\n readOnly?: boolean;\n disabled?: boolean;\n checked?: boolean;\n value?: string;\n name?: string;\n onKeyDown?: React.KeyboardEventHandler<HTMLSpanElement>;\n onChange?: React.ChangeEventHandler<HTMLInputElement>;\n children?: React.ReactNode | React.ReactNode[];\n tabIndex?: number;\n}\n\nconst DSRadio = ({\n containerProps,\n className,\n style,\n labelText,\n htmlFor,\n hasError,\n readOnly,\n disabled,\n checked,\n value,\n name,\n onChange,\n children,\n tabIndex,\n innerRef,\n ...otherProps\n}: DSRadioT) => {\n // this will be solved when we move to styled components...\n // eslint-disable-next-line @typescript-eslint/unbound-method\n const { cssClassName, classNameElement } = convertPropToCssClassName('form-element-radio', className, {\n hasError,\n readOnly,\n disabled,\n });\n const checkRef = useRef<HTMLInputElement | null>(null);\n return (\n <div {...containerProps} className={cssClassName}>\n <label className={classNameElement('label')} htmlFor={htmlFor}>\n <input\n {...otherProps}\n ref={checkRef}\n aria-disabled={disabled}\n checked={disabled ? false : checked}\n className={classNameElement('input')}\n disabled={disabled}\n name={name}\n onChange={(e) => {\n if (!readOnly && !disabled) {\n onChange(e);\n }\n }}\n readOnly={readOnly}\n tabIndex={-1}\n type=\"radio\"\n value={value}\n />\n <span\n ref={innerRef}\n aria-checked={checked}\n aria-disabled={disabled}\n className={classNameElement('input-button')}\n onKeyDown={(e) => {\n // really really bad pattern...\n // overwriting the target to point to the hidden input because the focus is on the span and not on the input...\n // we will solve this with a v2 of this when we move to controlled + styled components...\n e.target = checkRef.current;\n if (disabled) return;\n if (e.key === 'Enter' || e.keyCode === 32) {\n onChange(e);\n } else if (otherProps.onKeyDown) {\n otherProps.onKeyDown(e);\n }\n }}\n role=\"radio\"\n style={style}\n tabIndex={disabled ? -1 : tabIndex}\n // value={value} // should be unused?\n >\n <Circle checked={checked} />\n </span>\n <span className={classNameElement('label-text')}>{labelText}</span>\n </label>\n {children && <div className={classNameElement('radio-children')}>{children}</div>}\n </div>\n );\n};\n\nDSRadio.defaultProps = {\n containerProps: {},\n className: '',\n hasError: false,\n readOnly: false,\n disabled: false,\n checked: false,\n name: '',\n onChange: () => null,\n children: null,\n tabIndex: 0,\n};\n\nconst radioProps = {\n /** Injected props to wrapper element of component */\n containerProps: PropTypes.object.description('Injected props to wrapper element of component'),\n /** css class prop */\n className: PropTypes.string.description('css class prop'),\n /** name property to manage form */\n name: PropTypes.string.description('name property to manage form'),\n /**\n * Displayable label for the radio\n */\n labelText: PropTypes.string.description('Displayable label for the radio'),\n /** HTMLFOR property to manage form */\n htmlFor: PropTypes.element.description('HTMLFOR property to manage form'),\n /**\n * Whether the radio has error or not\n */\n hasError: PropTypes.bool.description('Whether the radio has error or not'),\n /**\n * Whether the radio is read only or not\n */\n readOnly: PropTypes.bool.description('Whether the radio is read only or not'),\n /**\n * Whether the radio is disabled or not\n */\n disabled: PropTypes.bool.description('Whether the radio is disabled or not'),\n /**\n * Whether the radio is checked or not\n */\n checked: PropTypes.bool.description('Whether the radio is checked or not'),\n /**\n * Value that takes the checkbox if it is checked\n */\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.object]).description(\n 'Value that takes the checkbox if it is checked',\n ).isRequired,\n /**\n * Allows a function that is triggered once the radio changes\n */\n onChange: PropTypes.func.description('Allows a function that is triggered once the radio changes'),\n /**\n * Optional, if you want a checkbox customized\n */\n children: PropTypes.node.description('Optional, if you want a checkbox customized'),\n /** HTML tabindex to manage focus */\n tabIndex: PropTypes.number.description('HTML tabindex to manage focus'),\n /** style override object */\n style: PropTypes.object.description('style override object'),\n};\n\nDSRadio.propTypes = radioProps;\nDSRadio.displayName = 'DSRadio';\nconst DSRadioWithSchema = describe(DSRadio);\nDSRadioWithSchema.propTypes = radioProps;\n\nexport { DSRadio, DSRadioWithSchema };\n\nexport default DSRadio;\n"],
|
|
5
|
-
"mappings": "AAAA,YAAY,WAAW;
|
|
6
|
-
"names": [
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
7
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
3
|
import React2 from "react";
|
|
3
4
|
import { describe } from "@elliemae/ds-utilities";
|
|
4
5
|
import { GroupItem, Group } from "@elliemae/ds-shared";
|
|
@@ -8,8 +9,8 @@ import { props as rprops } from "./props";
|
|
|
8
9
|
import { defaultProps } from "./defaultProps";
|
|
9
10
|
const emClassPrefix = "em-ds";
|
|
10
11
|
const baseClass = `${emClassPrefix}-radio-group`;
|
|
11
|
-
const RadioItem = (props) => /* @__PURE__ */
|
|
12
|
-
render: (context) => /* @__PURE__ */
|
|
12
|
+
const RadioItem = (props) => /* @__PURE__ */ jsx(GroupItem, {
|
|
13
|
+
render: (context) => /* @__PURE__ */ jsx(DSRadio, {
|
|
13
14
|
...props,
|
|
14
15
|
checked: context.activeValue === props.value,
|
|
15
16
|
disabled: context.disabled || props.disabled,
|
|
@@ -42,37 +43,40 @@ const DSRadioGroup = ({
|
|
|
42
43
|
checkRefs[index + 1].focus();
|
|
43
44
|
}
|
|
44
45
|
};
|
|
45
|
-
const group = /* @__PURE__ */
|
|
46
|
+
const group = /* @__PURE__ */ jsx(Group, {
|
|
46
47
|
activeValue,
|
|
47
48
|
disabled,
|
|
48
|
-
onChange
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
49
|
+
onChange,
|
|
50
|
+
children: /* @__PURE__ */ jsx("div", {
|
|
51
|
+
"data-testid": "ds-radiogroup",
|
|
52
|
+
...labelProps && labelProps.labelText ? {} : containerProps,
|
|
53
|
+
className: `${baseClass} ${baseClass}--${orientation}`,
|
|
54
|
+
role: "group",
|
|
55
|
+
children: React2.Children.map(
|
|
56
|
+
children,
|
|
57
|
+
(child, index) => /* @__PURE__ */ jsx(RadioItem, {
|
|
58
|
+
...child.props,
|
|
59
|
+
innerRef: (t) => {
|
|
60
|
+
checkRefs.push(t);
|
|
61
|
+
},
|
|
62
|
+
onKeyDown: (e) => onKeyDown(e, index)
|
|
63
|
+
}),
|
|
64
|
+
null
|
|
65
|
+
)
|
|
66
|
+
})
|
|
67
|
+
});
|
|
65
68
|
if (labelProps && labelProps.labelText) {
|
|
66
|
-
return /* @__PURE__ */
|
|
69
|
+
return /* @__PURE__ */ jsx("div", {
|
|
67
70
|
className: `${baseClass}-form-item-layout-wrapper`,
|
|
68
71
|
...containerProps,
|
|
69
|
-
role: "group"
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
72
|
+
role: "group",
|
|
73
|
+
children: /* @__PURE__ */ jsx(DSFormItemLayout, {
|
|
74
|
+
...labelProps,
|
|
75
|
+
inputComponent: group,
|
|
76
|
+
onChange,
|
|
77
|
+
truncateText
|
|
78
|
+
})
|
|
79
|
+
});
|
|
76
80
|
}
|
|
77
81
|
return group;
|
|
78
82
|
};
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/RadioGroup/DSRadioGroup.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport { describe } from '@elliemae/ds-utilities';\nimport { GroupItem, Group } from '@elliemae/ds-shared';\nimport { DSFormItemLayout } from '../FormItem';\nimport { DSRadio } from '../Radio';\nimport { props as rprops } from './props';\nimport { defaultProps } from './defaultProps';\n\nconst emClassPrefix = 'em-ds';\nconst baseClass = `${emClassPrefix}-radio-group`;\n\nconst RadioItem = (props) => (\n <GroupItem\n render={(context) => (\n <DSRadio\n {...props}\n checked={context.activeValue === props.value}\n disabled={context.disabled || props.disabled}\n onChange={context.onChange}\n />\n )}\n />\n);\n\nconst DSRadioGroup = ({\n containerProps,\n onChange,\n activeValue,\n children,\n orientation,\n disabled,\n truncateText,\n labelProps,\n}) => {\n const checkRefs = [];\n const count = React.Children.count(children);\n const onKeyDown = (e, index) => {\n if (e.key === 'ArrowLeft' || e.key === 'ArrowUp') {\n if (index === 0) checkRefs[count - 1].focus();\n else checkRefs[index - 1].focus();\n }\n if (e.key === 'ArrowRight' || e.key === 'ArrowDown') {\n if (index === count - 1) checkRefs[0].focus();\n else checkRefs[index + 1].focus();\n }\n };\n const group = (\n <Group activeValue={activeValue} disabled={disabled} onChange={onChange}>\n <div\n data-testid=\"ds-radiogroup\"\n {...(labelProps && labelProps.labelText ? {} : containerProps)}\n className={`${baseClass} ${baseClass}--${orientation}`}\n role=\"group\"\n >\n {React.Children.map(\n children,\n (child, index) => (\n <RadioItem\n {...child.props}\n innerRef={(t) => {\n checkRefs.push(t);\n }}\n onKeyDown={(e) => onKeyDown(e, index)}\n />\n ),\n null,\n )}\n </div>\n </Group>\n );\n\n if (labelProps && labelProps.labelText) {\n return (\n <div\n className={`${baseClass}-form-item-layout-wrapper`}\n {...containerProps}\n role=\"group\"\n >\n <DSFormItemLayout\n {...labelProps}\n inputComponent={group}\n onChange={onChange}\n truncateText={truncateText}\n />\n </div>\n );\n }\n return group;\n};\n\nDSRadioGroup.propTypes = rprops;\nDSRadioGroup.defaultProps = defaultProps;\nDSRadioGroup.displayName = 'DSRadioGroup';\nconst DSRadioGroupWithSchema = describe(DSRadioGroup);\nDSRadioGroupWithSchema.propTypes = rprops;\n\nexport { DSRadioGroup, DSRadioGroupWithSchema };\n\nexport default DSRadioGroup;\n"],
|
|
5
|
-
"mappings": "AAAA,YAAY,WAAW;ACAvB,OAAOA,YAAW;AAClB,SAAS,gBAAgB;AACzB,SAAS,WAAW,aAAa;AACjC,SAAS,wBAAwB;AACjC,SAAS,eAAe;AACxB,SAAS,SAAS,cAAc;AAChC,SAAS,oBAAoB;AAE7B,MAAM,gBAAgB;AACtB,MAAM,YAAY,GAAG;AAErB,MAAM,YAAY,CAAC,UACjB,
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACAvB;AAAA,OAAOA,YAAW;AAClB,SAAS,gBAAgB;AACzB,SAAS,WAAW,aAAa;AACjC,SAAS,wBAAwB;AACjC,SAAS,eAAe;AACxB,SAAS,SAAS,cAAc;AAChC,SAAS,oBAAoB;AAE7B,MAAM,gBAAgB;AACtB,MAAM,YAAY,GAAG;AAErB,MAAM,YAAY,CAAC,UACjB,oBAAC;AAAA,EACC,QAAQ,CAAC,YACP,oBAAC;AAAA,IACE,GAAG;AAAA,IACJ,SAAS,QAAQ,gBAAgB,MAAM;AAAA,IACvC,UAAU,QAAQ,YAAY,MAAM;AAAA,IACpC,UAAU,QAAQ;AAAA,GACpB;AAAA,CAEJ;AAGF,MAAM,eAAe,CAAC;AAAA,EACpB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,YAAY,CAAC;AACnB,QAAM,QAAQA,OAAM,SAAS,MAAM,QAAQ;AAC3C,QAAM,YAAY,CAAC,GAAG,UAAU;AAC9B,QAAI,EAAE,QAAQ,eAAe,EAAE,QAAQ,WAAW;AAChD,UAAI,UAAU;AAAG,kBAAU,QAAQ,GAAG,MAAM;AAAA;AACvC,kBAAU,QAAQ,GAAG,MAAM;AAAA,IAClC;AACA,QAAI,EAAE,QAAQ,gBAAgB,EAAE,QAAQ,aAAa;AACnD,UAAI,UAAU,QAAQ;AAAG,kBAAU,GAAG,MAAM;AAAA;AACvC,kBAAU,QAAQ,GAAG,MAAM;AAAA,IAClC;AAAA,EACF;AACA,QAAM,QACJ,oBAAC;AAAA,IAAM;AAAA,IAA0B;AAAA,IAAoB;AAAA,IACnD,8BAAC;AAAA,MACC,eAAY;AAAA,MACX,GAAI,cAAc,WAAW,YAAY,CAAC,IAAI;AAAA,MAC/C,WAAW,GAAG,aAAa,cAAc;AAAA,MACzC,MAAK;AAAA,MAEJ,UAAAA,OAAM,SAAS;AAAA,QACd;AAAA,QACA,CAAC,OAAO,UACN,oBAAC;AAAA,UACE,GAAG,MAAM;AAAA,UACV,UAAU,CAAC,MAAM;AACf,sBAAU,KAAK,CAAC;AAAA,UAClB;AAAA,UACA,WAAW,CAAC,MAAM,UAAU,GAAG,KAAK;AAAA,SACtC;AAAA,QAEF;AAAA,MACF;AAAA,KACF;AAAA,GACF;AAGF,MAAI,cAAc,WAAW,WAAW;AACtC,WACE,oBAAC;AAAA,MACC,WAAW,GAAG;AAAA,MACb,GAAG;AAAA,MACJ,MAAK;AAAA,MAEL,8BAAC;AAAA,QACE,GAAG;AAAA,QACJ,gBAAgB;AAAA,QAChB;AAAA,QACA;AAAA,OACF;AAAA,KACF;AAAA,EAEJ;AACA,SAAO;AACT;AAEA,aAAa,YAAY;AACzB,aAAa,eAAe;AAC5B,aAAa,cAAc;AAC3B,MAAM,yBAAyB,SAAS,YAAY;AACpD,uBAAuB,YAAY;AAInC,IAAO,uBAAQ;",
|
|
6
6
|
"names": ["React"]
|
|
7
7
|
}
|
|
@@ -1,18 +1,20 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
3
|
import { convertPropToCssClassName } from "@elliemae/ds-classnames";
|
|
4
4
|
const { cssClassName } = convertPropToCssClassName("form-required-mark");
|
|
5
5
|
const RequiredMark = ({ required = false, optional = false }) => {
|
|
6
6
|
if (!required && !optional)
|
|
7
7
|
return null;
|
|
8
8
|
if (required) {
|
|
9
|
-
return /* @__PURE__ */
|
|
10
|
-
className: `${cssClassName}
|
|
11
|
-
|
|
9
|
+
return /* @__PURE__ */ jsx("span", {
|
|
10
|
+
className: `${cssClassName}`,
|
|
11
|
+
children: "\u25CF"
|
|
12
|
+
});
|
|
12
13
|
}
|
|
13
|
-
return /* @__PURE__ */
|
|
14
|
-
className: `${cssClassName} optional-mark
|
|
15
|
-
|
|
14
|
+
return /* @__PURE__ */ jsx("span", {
|
|
15
|
+
className: `${cssClassName} optional-mark`,
|
|
16
|
+
children: "\u26AC"
|
|
17
|
+
});
|
|
16
18
|
};
|
|
17
19
|
var RequiredMark_default = RequiredMark;
|
|
18
20
|
export {
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/RequiredMark/RequiredMark.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport { convertPropToCssClassName } from '@elliemae/ds-classnames';\n\nconst { cssClassName } = convertPropToCssClassName('form-required-mark');\nconst RequiredMark = ({ required = false, optional = false }) => {\n if (!required && !optional) return null;\n if (required) {\n return <span className={`${cssClassName}`}>●</span>;\n }\n return <span className={`${cssClassName} optional-mark`}>⚬</span>;\n};\n\nexport { RequiredMark, RequiredMark as DSRequiredMark };\nexport default RequiredMark;\n"],
|
|
5
|
-
"mappings": "AAAA,YAAY,WAAW;ACAvB
|
|
6
|
-
"names": [
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACAvB;AACA,SAAS,iCAAiC;AAE1C,MAAM,EAAE,aAAa,IAAI,0BAA0B,oBAAoB;AACvE,MAAM,eAAe,CAAC,EAAE,WAAW,OAAO,WAAW,MAAM,MAAM;AAC/D,MAAI,CAAC,YAAY,CAAC;AAAU,WAAO;AACnC,MAAI,UAAU;AACZ,WAAO,oBAAC;AAAA,MAAK,WAAW,GAAG;AAAA,MAAgB;AAAA,KAAO;AAAA,EACpD;AACA,SAAO,oBAAC;AAAA,IAAK,WAAW,GAAG;AAAA,IAA8B;AAAA,GAAO;AAClE;AAGA,IAAO,uBAAQ;",
|
|
6
|
+
"names": []
|
|
7
7
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
3
|
import { PropTypes, describe } from "@elliemae/ds-utilities";
|
|
4
4
|
import { DSInput } from "../Input";
|
|
5
5
|
import { TimeInputImpl } from "./TimeInputImpl";
|
|
@@ -14,11 +14,11 @@ const DSTimeInput = ({
|
|
|
14
14
|
clearable = false,
|
|
15
15
|
disabled = false,
|
|
16
16
|
ariaLabel = "Time input"
|
|
17
|
-
}) => /* @__PURE__ */
|
|
17
|
+
}) => /* @__PURE__ */ jsx(DSInput, {
|
|
18
18
|
className,
|
|
19
19
|
clearable,
|
|
20
20
|
containerProps,
|
|
21
|
-
customInputType: ({ onChange: inputOnChange, ...restInputProps }) => /* @__PURE__ */
|
|
21
|
+
customInputType: ({ onChange: inputOnChange, ...restInputProps }) => /* @__PURE__ */ jsx(TimeInputImpl, {
|
|
22
22
|
"aria-label": ariaLabel,
|
|
23
23
|
disabled,
|
|
24
24
|
format,
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/TimeInput/DSTimeInput.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport { PropTypes, describe } from '@elliemae/ds-utilities';\nimport { DSInput } from '../Input';\nimport { TimeInputImpl } from './TimeInputImpl';\n\nconst DSTimeInput = ({\n containerProps = {},\n innerRef,\n className = '',\n style = {},\n onChange = () => null,\n format,\n value = '',\n clearable = false,\n disabled = false,\n ariaLabel = 'Time input',\n}) => (\n <DSInput\n className={className}\n clearable={clearable}\n containerProps={containerProps}\n customInputType={({ onChange: inputOnChange, ...restInputProps }) => (\n <TimeInputImpl\n aria-label={ariaLabel}\n disabled={disabled}\n format={format}\n onChange={(time) => inputOnChange(time)}\n {...restInputProps}\n style={style}\n />\n )}\n disabled={disabled}\n innerRef={innerRef}\n isShowElipsisActive={false}\n onChange={onChange}\n onClear={() => onChange(null)}\n value={value}\n />\n);\n\nDSTimeInput.defaultProps = {\n format: 'hh:mm:ss',\n disabled: false,\n clearable: true,\n};\n\nconst props = {\n /** Injected props to wrapper element of component */\n containerProps: PropTypes.object.description(\n 'Injected props to wrapper element of component',\n ),\n /**\n * Allows a function that is triggered once the time input changes\n */\n onChange: PropTypes.func.description(\n 'Allows a function that is triggered once the time input changes',\n ),\n /** a11y aria label */\n 'aria-label': PropTypes.string.description('a11y aria label'),\n /** style object for time input wrapper */\n style: PropTypes.object.description('style object for time input wrapper'),\n /** inner ref for time inpot wrapper */\n innerRef: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.shape({ current: PropTypes.any }),\n ]).description('inner ref for time input wrapper'),\n /** class for time input */\n className: PropTypes.string.description('class for time input'),\n /**\n * Valid time format\n */\n format: PropTypes.string.description('Valid time format'),\n /**\n * Default value once the component is initialized\n */\n value: PropTypes.string.description(\n 'Default value once the component is initialized',\n ),\n /**\n * Whether the time input is clearable or not\n */\n clearable: PropTypes.bool.description(\n 'Whether the time input is clearable or not',\n ),\n /**\n * Whether the time input is disabled or not\n */\n disabled: PropTypes.bool.description(\n 'Whether the time input is disabled or not',\n ),\n /**\n * Aria label\n */\n ariaLabel: PropTypes.string.description('Aria label'),\n};\n\nDSTimeInput.propTypes = props;\nDSTimeInput.displayName = 'DSTimeInput';\nconst DSTimeInputWithSchema = describe(DSTimeInput);\nDSTimeInputWithSchema.propTypes = props;\n\nexport { TimeInputImpl, DSTimeInputWithSchema, DSTimeInput };\n\nexport default DSTimeInput;\n"],
|
|
5
|
-
"mappings": "AAAA,YAAY,WAAW;ACAvB
|
|
6
|
-
"names": [
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACAvB;AACA,SAAS,WAAW,gBAAgB;AACpC,SAAS,eAAe;AACxB,SAAS,qBAAqB;AAE9B,MAAM,cAAc,CAAC;AAAA,EACnB,iBAAiB,CAAC;AAAA,EAClB;AAAA,EACA,YAAY;AAAA,EACZ,QAAQ,CAAC;AAAA,EACT,WAAW,MAAM;AAAA,EACjB;AAAA,EACA,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,YAAY;AACd,MACE,oBAAC;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA,iBAAiB,CAAC,EAAE,UAAU,kBAAkB,eAAe,MAC7D,oBAAC;AAAA,IACC,cAAY;AAAA,IACZ;AAAA,IACA;AAAA,IACA,UAAU,CAAC,SAAS,cAAc,IAAI;AAAA,IACrC,GAAG;AAAA,IACJ;AAAA,GACF;AAAA,EAEF;AAAA,EACA;AAAA,EACA,qBAAqB;AAAA,EACrB;AAAA,EACA,SAAS,MAAM,SAAS,IAAI;AAAA,EAC5B;AAAA,CACF;AAGF,YAAY,eAAe;AAAA,EACzB,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,WAAW;AACb;AAEA,MAAM,QAAQ;AAAA,EAEZ,gBAAgB,UAAU,OAAO;AAAA,IAC/B;AAAA,EACF;AAAA,EAIA,UAAU,UAAU,KAAK;AAAA,IACvB;AAAA,EACF;AAAA,EAEA,cAAc,UAAU,OAAO,YAAY,iBAAiB;AAAA,EAE5D,OAAO,UAAU,OAAO,YAAY,qCAAqC;AAAA,EAEzE,UAAU,UAAU,UAAU;AAAA,IAC5B,UAAU;AAAA,IACV,UAAU,MAAM,EAAE,SAAS,UAAU,IAAI,CAAC;AAAA,EAC5C,CAAC,EAAE,YAAY,kCAAkC;AAAA,EAEjD,WAAW,UAAU,OAAO,YAAY,sBAAsB;AAAA,EAI9D,QAAQ,UAAU,OAAO,YAAY,mBAAmB;AAAA,EAIxD,OAAO,UAAU,OAAO;AAAA,IACtB;AAAA,EACF;AAAA,EAIA,WAAW,UAAU,KAAK;AAAA,IACxB;AAAA,EACF;AAAA,EAIA,UAAU,UAAU,KAAK;AAAA,IACvB;AAAA,EACF;AAAA,EAIA,WAAW,UAAU,OAAO,YAAY,YAAY;AACtD;AAEA,YAAY,YAAY;AACxB,YAAY,cAAc;AAC1B,MAAM,wBAAwB,SAAS,WAAW;AAClD,sBAAsB,YAAY;AAIlC,IAAO,sBAAQ;",
|
|
6
|
+
"names": []
|
|
7
7
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
import { useRef, useMemo } from "react";
|
|
3
4
|
import PropTypes from "prop-types";
|
|
4
5
|
import { getVisibleTimeByFormat } from "@elliemae/ds-utilities";
|
|
5
6
|
import memoizeOne from "memoize-one";
|
|
@@ -27,23 +28,24 @@ const TimeInputImpl = ({
|
|
|
27
28
|
}
|
|
28
29
|
};
|
|
29
30
|
const visibleInputs = useMemo(() => getVisibleTimeInputs(format));
|
|
30
|
-
return /* @__PURE__ */
|
|
31
|
+
return /* @__PURE__ */ jsx(InputTimeContainer, {
|
|
31
32
|
className,
|
|
32
33
|
disabled,
|
|
33
34
|
innerRef,
|
|
34
|
-
onClick: handleFocus
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
35
|
+
onClick: handleFocus,
|
|
36
|
+
children: /* @__PURE__ */ jsx(TimeInputs, {
|
|
37
|
+
"aria-label": ariaLabel,
|
|
38
|
+
clearable,
|
|
39
|
+
disabled,
|
|
40
|
+
format,
|
|
41
|
+
innerRef: (node) => {
|
|
42
|
+
inputsContainer = node;
|
|
43
|
+
},
|
|
44
|
+
onChange,
|
|
45
|
+
time: value,
|
|
46
|
+
...visibleInputs
|
|
47
|
+
})
|
|
48
|
+
});
|
|
47
49
|
};
|
|
48
50
|
TimeInputImpl.propTypes = {
|
|
49
51
|
containerProps: PropTypes.shape({}),
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/TimeInput/TimeInputImpl.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useRef, useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport { getVisibleTimeByFormat } from '@elliemae/ds-utilities';\nimport memoizeOne from 'memoize-one';\nimport { aggregatedClasses } from '@elliemae/ds-classnames';\nimport { TimeInputs } from './TimeInputs';\n\nconst blockName = 'input-time';\n\nconst InputTimeContainer = aggregatedClasses('div')(blockName);\n\nconst TimeInputImpl = ({\n format,\n innerRef,\n onChange,\n className,\n value,\n disabled,\n clearable,\n 'arial-label': ariaLabel,\n}) => {\n const getVisibleTimeInputs = memoizeOne((formatValue) =>\n getVisibleTimeByFormat(formatValue),\n );\n let inputsContainer = useRef();\n\n const handleFocus = (e) => {\n if (!e.target.type) {\n inputsContainer.querySelector('input').focus();\n }\n };\n\n const visibleInputs = useMemo(() => getVisibleTimeInputs(format));\n\n return (\n <InputTimeContainer\n className={className}\n disabled={disabled}\n innerRef={innerRef}\n onClick={handleFocus}\n >\n <TimeInputs\n aria-label={ariaLabel}\n clearable={clearable}\n disabled={disabled}\n format={format}\n innerRef={(node) => {\n inputsContainer = node;\n }}\n onChange={onChange}\n time={value}\n {...visibleInputs}\n />\n </InputTimeContainer>\n );\n};\n\nTimeInputImpl.propTypes = {\n containerProps: PropTypes.shape({}),\n /**\n * Inner reference to the input\n */\n innerRef: PropTypes.any,\n /**\n * Classes to add to the container\n */\n className: PropTypes.string,\n /**\n * Styles to add to the container\n */\n style: PropTypes.shape({}),\n /**\n * Allows a function that is triggered once the time input changes\n */\n onChange: PropTypes.func,\n /**\n * Valid time format\n */\n format: PropTypes.string,\n /**\n * Default value once the component is initialized\n */\n value: PropTypes.string,\n /**\n * Whether the time input is clearable or not\n */\n clearable: PropTypes.bool,\n /**\n * Whether the time input is disabled or not\n */\n disabled: PropTypes.bool,\n /**\n * Aria label to add to the container\n */\n 'aria-label': PropTypes.bool,\n 'arial-label': PropTypes.bool,\n};\n\nexport { TimeInputImpl };\nexport default TimeInputImpl;\n"],
|
|
5
|
-
"mappings": "AAAA,YAAY,WAAW;ACAvB,
|
|
6
|
-
"names": [
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACAvB;AAAA,SAAgB,QAAQ,eAAe;AACvC,OAAO,eAAe;AACtB,SAAS,8BAA8B;AACvC,OAAO,gBAAgB;AACvB,SAAS,yBAAyB;AAClC,SAAS,kBAAkB;AAE3B,MAAM,YAAY;AAElB,MAAM,qBAAqB,kBAAkB,KAAK,EAAE,SAAS;AAE7D,MAAM,gBAAgB,CAAC;AAAA,EACrB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,eAAe;AACjB,MAAM;AACJ,QAAM,uBAAuB;AAAA,IAAW,CAAC,gBACvC,uBAAuB,WAAW;AAAA,EACpC;AACA,MAAI,kBAAkB,OAAO;AAE7B,QAAM,cAAc,CAAC,MAAM;AACzB,QAAI,CAAC,EAAE,OAAO,MAAM;AAClB,sBAAgB,cAAc,OAAO,EAAE,MAAM;AAAA,IAC/C;AAAA,EACF;AAEA,QAAM,gBAAgB,QAAQ,MAAM,qBAAqB,MAAM,CAAC;AAEhE,SACE,oBAAC;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,IACA,SAAS;AAAA,IAET,8BAAC;AAAA,MACC,cAAY;AAAA,MACZ;AAAA,MACA;AAAA,MACA;AAAA,MACA,UAAU,CAAC,SAAS;AAClB,0BAAkB;AAAA,MACpB;AAAA,MACA;AAAA,MACA,MAAM;AAAA,MACL,GAAG;AAAA,KACN;AAAA,GACF;AAEJ;AAEA,cAAc,YAAY;AAAA,EACxB,gBAAgB,UAAU,MAAM,CAAC,CAAC;AAAA,EAIlC,UAAU,UAAU;AAAA,EAIpB,WAAW,UAAU;AAAA,EAIrB,OAAO,UAAU,MAAM,CAAC,CAAC;AAAA,EAIzB,UAAU,UAAU;AAAA,EAIpB,QAAQ,UAAU;AAAA,EAIlB,OAAO,UAAU;AAAA,EAIjB,WAAW,UAAU;AAAA,EAIrB,UAAU,UAAU;AAAA,EAIpB,cAAc,UAAU;AAAA,EACxB,eAAe,UAAU;AAC3B;AAGA,IAAO,wBAAQ;",
|
|
6
|
+
"names": []
|
|
7
7
|
}
|