guestbell-forms 3.0.64 → 3.0.66

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.
@@ -30,6 +30,10 @@ export type InputHeaderRawProps = React.PropsWithChildren<{
30
30
  tooltip?: string | JSX.Element;
31
31
  tooltipProps?: TippyProps;
32
32
  stopsPropagation?: boolean;
33
+ ButtonsContainer?: React.ComponentType<{
34
+ className: string;
35
+ onClick: (e: React.MouseEvent<HTMLElement>) => void;
36
+ }> | 'div';
33
37
  } & InputHeaderContextProps & ThemeContextProps>;
34
38
  export type InputHeaderProps = OmitInputHeaderContext<InputHeaderRawProps>;
35
39
  export interface InputHeaderApi {
@@ -91,6 +95,10 @@ export declare const InputHeader: React.ForwardRefExoticComponent<{
91
95
  tooltip?: string | JSX.Element;
92
96
  tooltipProps?: TippyProps;
93
97
  stopsPropagation?: boolean;
98
+ ButtonsContainer?: "div" | React.ComponentType<{
99
+ className: string;
100
+ onClick: (e: React.MouseEvent<HTMLElement>) => void;
101
+ }>;
94
102
  } & InputHeaderContextProps & ThemeContextProps & {
95
103
  children?: React.ReactNode;
96
104
  } & React.RefAttributes<InputHeaderRaw>>;
@@ -147,6 +147,7 @@ class InputHeaderRaw extends React.PureComponent {
147
147
  var _this$props$extraButt;
148
148
  const collapsed = this.props.collapsed !== undefined ? !this.props.collapsed : !this.state.collapsed;
149
149
  const showButtons = Boolean(this.props.mainButton || ((_this$props$extraButt = this.props.extraButtons) === null || _this$props$extraButt === void 0 ? void 0 : _this$props$extraButt.length) || this.props.collapsible);
150
+ const ButtonContainer = this.props.ButtonsContainer ?? 'div';
150
151
  return /*#__PURE__*/React.createElement("div", {
151
152
  className: `input__header ` + (this.props.className ? this.props.className : '') + ' ' + this.getTypeClass()
152
153
  }, /*#__PURE__*/React.createElement("div", {
@@ -167,7 +168,7 @@ class InputHeaderRaw extends React.PureComponent {
167
168
  className: "input__header__title"
168
169
  }, this.renderTitle())), this.props.subTitle && /*#__PURE__*/React.createElement("div", {
169
170
  className: "input__header__sub-title"
170
- }, this.props.subTitle), showButtons && /*#__PURE__*/React.createElement("div", {
171
+ }, this.props.subTitle), showButtons && /*#__PURE__*/React.createElement(ButtonContainer, {
171
172
  className: "input__header__top__button-container",
172
173
  onClick: this.mainButtonClick
173
174
  }, this.props.mainButton && this.props.mainButton, this.props.extraButtons ? /*#__PURE__*/React.createElement(_dropdown.Dropdown, {
@@ -309,7 +310,8 @@ InputHeaderRaw.defaultProps = {
309
310
  type: 'standard',
310
311
  noBg: false,
311
312
  shouldToggleCollapseOnHeaderClick: false,
312
- stopsPropagation: true
313
+ stopsPropagation: true,
314
+ ButtonsContainer: 'div'
313
315
  };
314
316
  const InputHeader = (0, _withThemeContext.withThemeContext)((0, _withInputHeaderContext.withInputHeaderContext)(InputHeaderRaw), 'inputHeader');
315
317
  exports.InputHeader = InputHeader;
@@ -1 +1 @@
1
- {"version":3,"file":"InputHeader.js","names":["React","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_Button","_Guid","_dropdown","_Collapse","_withInputHeaderContext","_withThemeContext","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","MoreIcon","props","createElement","d","defaultProps","xmlns","width","height","viewBox","PlusIcon","CollapseExpandButtonComponent","className","onClick","href","children","InputHeaderRaw","PureComponent","constructor","componentId","guid","toggleClick","toggle","mainButtonClick","e","stopsPropagation","stopPropagation","containerClick","expandAllClick","state","inputHeaderContext","components","component","componentApi","expand","collapseAllClick","collapse","collapsed","collapsedDefault","registerInputHeader","unregisterInputHeader","stateChanged","forceUpdate","componentWillUnmount","ignoreContext","componentDidMount","collapsible","setState","_this$props$inputHead","_this$props$inputHead2","_this$props$onChange","_this$props","_this$props$onExpande","_this$props2","onChange","onExpanded","_this$props$inputHead3","_this$props$inputHead4","_this$props$onChange2","_this$props3","_this$props$onCollaps","_this$props4","onCollapsed","_this$props$inputHead5","_this$props$inputHead6","_this$props$onChange3","_this$props5","_this$props$onCollaps2","_this$props6","_this$props$onExpande2","_this$props7","render","_this$props$extraButt","showButtons","Boolean","mainButton","extraButtons","getTypeClass","classNames","showExpandAll","noBg","shouldToggleCollapseOnHeaderClick","headerClassName","role","icon","title","renderTitle","subTitle","Dropdown","header","Button","blank","circular","extraButtonsButtonProps","showArrow","renderExtraButtons","collapseButtonsButtonProps","renderCollapseExpandAll","contentClassName","in","mountOnEnter","unmountOnExit","previousState","type","arr","map","extraButton","index","allCollapsed","allExpanded","noRipples","small","Component","tooltip","Fragment","renderTooltip","content","_document","Tippy","placement","animation","arrow","duration","delay","distance","interactive","appendTo","document","body","trigger","tooltipProps","tabIndex","exports","InputHeader","withThemeContext","withInputHeaderContext","_default"],"sources":["../../../src/lib/components/inputHeader/InputHeader.tsx"],"sourcesContent":["// Libs\r\nimport * as React from 'react';\r\nimport classNames from 'classnames';\r\n\r\n// Misc\r\nimport MoreIcon from 'material-design-icons/navigation/svg/production/ic_more_vert_24px.svg';\r\nimport PlusIcon from 'material-design-icons/hardware/svg/production/ic_keyboard_arrow_down_24px.svg';\r\nimport { ButtonProps, Button, ButtonComponentProps } from '../button/Button';\r\nimport guid from '../utils/Guid';\r\nimport { Dropdown } from '../dropdown';\r\nimport Collapse from '@mui/material/Collapse';\r\nimport {\r\n OmitInputHeaderContext,\r\n InputHeaderContextProps,\r\n InputHeaderContextState,\r\n InputHeaderComponentContextState,\r\n} from '../inputHeader/InputHeaderContext';\r\nimport { withInputHeaderContext } from './withInputHeaderContext';\r\nimport type { TippyProps } from '@tippy.js/react';\r\nimport { withThemeContext } from '../themeProvider/withThemeContext';\r\nimport { ThemeContextProps } from '../themeProvider/ThemeContext';\r\n\r\nexport type InputHeaderRawProps = React.PropsWithChildren<\r\n {\r\n onExpanded?: () => void;\r\n onCollapsed?: () => void;\r\n onChange?: (collapsed: boolean) => void;\r\n className?: string;\r\n title?: string | JSX.Element;\r\n icon?: string | JSX.Element;\r\n subTitle?: string | JSX.Element;\r\n mainButton?: JSX.Element;\r\n extraButtons?: JSX.Element[];\r\n collapsible?: boolean;\r\n collapsed?: boolean;\r\n collapsedDefault?: boolean;\r\n ignoreContext?: boolean;\r\n showExpandAll?: boolean;\r\n type?: 'hero' | 'standard' | 'small';\r\n noBg?: boolean;\r\n headerClassName?: string;\r\n contentClassName?: string;\r\n extraButtonsButtonProps?: ButtonProps;\r\n collapseButtonsButtonProps?: ButtonProps;\r\n shouldToggleCollapseOnHeaderClick?: boolean;\r\n mountOnEnter?: boolean;\r\n unmountOnExit?: boolean;\r\n tooltip?: string | JSX.Element;\r\n tooltipProps?: TippyProps;\r\n stopsPropagation?: boolean;\r\n } & InputHeaderContextProps &\r\n ThemeContextProps\r\n>;\r\n\r\nexport type InputHeaderProps = OmitInputHeaderContext<InputHeaderRawProps>;\r\n\r\nexport interface InputHeaderApi {\r\n expand: () => void;\r\n collapse: () => void;\r\n toggle: () => void;\r\n}\r\n\r\nexport interface InputHeaderState {\r\n collapsed: boolean;\r\n inputHeaderContext: InputHeaderContextState;\r\n}\r\n\r\nconst CollapseExpandButtonComponent: React.FC<ButtonComponentProps> = (\r\n props\r\n) => (\r\n <a className={props.className} onClick={props.onClick} href=\"#\">\r\n {props.children}\r\n </a>\r\n);\r\n\r\nexport class InputHeaderRaw\r\n extends React.PureComponent<InputHeaderRawProps, InputHeaderState>\r\n implements InputHeaderApi\r\n{\r\n public static defaultProps: InputHeaderProps = {\r\n ignoreContext: false,\r\n showExpandAll: false,\r\n collapsedDefault: true,\r\n type: 'standard',\r\n noBg: false,\r\n shouldToggleCollapseOnHeaderClick: false,\r\n stopsPropagation: true,\r\n };\r\n\r\n public componentId = guid();\r\n\r\n constructor(props: InputHeaderRawProps) {\r\n super(props);\r\n this.state = {\r\n collapsed: props.collapsedDefault,\r\n inputHeaderContext: {\r\n registerInputHeader: this.registerInputHeader,\r\n unregisterInputHeader: this.unregisterInputHeader,\r\n stateChanged: () => this.forceUpdate(),\r\n components: {},\r\n },\r\n };\r\n this.registerInputHeader = this.registerInputHeader.bind(this);\r\n this.unregisterInputHeader = this.unregisterInputHeader.bind(this);\r\n this.expand = this.expand.bind(this);\r\n this.collapse = this.collapse.bind(this);\r\n this.toggle = this.toggle.bind(this);\r\n }\r\n\r\n public componentWillUnmount() {\r\n if (!this.props.ignoreContext && this.props.inputHeaderContext) {\r\n this.props.inputHeaderContext.unregisterInputHeader(this.componentId);\r\n }\r\n }\r\n\r\n public componentDidMount() {\r\n if (!this.props.ignoreContext && this.props.inputHeaderContext) {\r\n this.props.inputHeaderContext.registerInputHeader(this.componentId, {\r\n componentId: this.componentId,\r\n componentApi: {\r\n expand: this.expand,\r\n collapse: this.collapse,\r\n toggle: this.toggle,\r\n },\r\n props: { ...{}, ...(this.props as InputHeaderProps) },\r\n state: { ...{}, ...this.state },\r\n });\r\n }\r\n }\r\n\r\n public expand() {\r\n this.props.collapsible &&\r\n this.setState({ collapsed: false }, () => {\r\n this.props.inputHeaderContext?.stateChanged?.();\r\n this.props.onChange?.(true);\r\n this.props.onExpanded?.();\r\n });\r\n }\r\n\r\n public collapse() {\r\n this.props.collapsible &&\r\n this.setState({ collapsed: true }, () => {\r\n this.props.inputHeaderContext?.stateChanged?.();\r\n this.props.onChange?.(false);\r\n this.props.onCollapsed?.();\r\n });\r\n }\r\n\r\n public toggle() {\r\n this.props.collapsible &&\r\n this.setState({ collapsed: !this.state.collapsed }, () => {\r\n this.props.inputHeaderContext?.stateChanged?.();\r\n this.props.onChange?.(this.state.collapsed);\r\n if (this.state.collapsed) {\r\n this.props.onCollapsed?.();\r\n }\r\n if (!this.state.collapsed) {\r\n this.props.onExpanded?.();\r\n }\r\n });\r\n }\r\n\r\n public render() {\r\n const collapsed =\r\n this.props.collapsed !== undefined\r\n ? !this.props.collapsed\r\n : !this.state.collapsed;\r\n const showButtons = Boolean(\r\n this.props.mainButton ||\r\n this.props.extraButtons?.length ||\r\n this.props.collapsible\r\n );\r\n return (\r\n <div\r\n className={\r\n `input__header ` +\r\n (this.props.className ? this.props.className : '') +\r\n ' ' +\r\n this.getTypeClass()\r\n }\r\n >\r\n <div\r\n className={classNames(\r\n 'input__header__top',\r\n { 'input__header__top--tall': this.props.showExpandAll },\r\n { 'input__header__top--no-bg': this.props.noBg },\r\n {\r\n 'input__header__top--clickable':\r\n this.props.collapsible &&\r\n this.props.shouldToggleCollapseOnHeaderClick,\r\n },\r\n this.props.headerClassName\r\n )}\r\n role={\r\n this.props.collapsible &&\r\n this.props.shouldToggleCollapseOnHeaderClick\r\n ? 'button'\r\n : undefined\r\n }\r\n onClick={\r\n this.props.collapsible &&\r\n this.props.shouldToggleCollapseOnHeaderClick\r\n ? this.toggleClick\r\n : undefined\r\n }\r\n >\r\n <div className={'input__header__top__header-container '}>\r\n {this.props.icon && (\r\n <div className=\"input__header__icon line-height--0\">\r\n {this.props.icon}\r\n </div>\r\n )}\r\n {this.props.title && (\r\n <div className=\"input__header__title\">{this.renderTitle()}</div>\r\n )}\r\n </div>\r\n {this.props.subTitle && (\r\n <div className=\"input__header__sub-title\">\r\n {this.props.subTitle}\r\n </div>\r\n )}\r\n {showButtons && (\r\n <div\r\n className=\"input__header__top__button-container\"\r\n onClick={this.mainButtonClick}\r\n >\r\n {this.props.mainButton && this.props.mainButton}\r\n {this.props.extraButtons ? (\r\n <Dropdown\r\n header={\r\n <Button\r\n blank={true}\r\n circular={true}\r\n {...this.props.extraButtonsButtonProps}\r\n >\r\n <MoreIcon />\r\n </Button>\r\n }\r\n showArrow={false}\r\n headerClassName={'line-height--0'}\r\n className={''}\r\n >\r\n {this.renderExtraButtons()}\r\n </Dropdown>\r\n ) : null}\r\n {this.props.collapsible && (\r\n <Button\r\n circular={true}\r\n blank={true}\r\n className={`input__header__collapse-button line-height--0 ${\r\n this.state.collapsed ? 'collapsed' : ''\r\n }`}\r\n {...this.props.collapseButtonsButtonProps}\r\n onClick={this.toggleClick}\r\n >\r\n <PlusIcon />\r\n </Button>\r\n )}\r\n </div>\r\n )}\r\n {this.props.showExpandAll &&\r\n Object.keys(this.state.inputHeaderContext.components).length > 0 &&\r\n this.renderCollapseExpandAll()}\r\n </div>\r\n <div\r\n className={\r\n 'input__header__bottom ' +\r\n (this.props.contentClassName ? this.props.contentClassName : '')\r\n }\r\n >\r\n {this.props.collapsible ? (\r\n <Collapse\r\n //this was here for some reason but it's messing with aria\r\n //collapsedHeight={'0.0001px'}\r\n in={collapsed}\r\n mountOnEnter={this.props.mountOnEnter}\r\n unmountOnExit={this.props.unmountOnExit}\r\n aria-expanded={collapsed ? 'false' : true}\r\n >\r\n {this.props.children}\r\n </Collapse>\r\n ) : (\r\n this.props.children\r\n )}\r\n </div>\r\n </div>\r\n );\r\n }\r\n\r\n private toggleClick = () => this.toggle();\r\n\r\n private registerInputHeader(\r\n componentId: string,\r\n component: InputHeaderComponentContextState\r\n ) {\r\n this.setState((previousState) => {\r\n let components = Object.assign(\r\n {},\r\n previousState.inputHeaderContext.components\r\n );\r\n components[componentId] = component;\r\n return {\r\n inputHeaderContext: { ...previousState.inputHeaderContext, components },\r\n };\r\n });\r\n }\r\n\r\n private unregisterInputHeader(componentId: string) {\r\n this.setState((previousState) => {\r\n let components = Object.assign(\r\n {},\r\n previousState.inputHeaderContext.components\r\n );\r\n delete components[componentId];\r\n return {\r\n inputHeaderContext: { ...previousState.inputHeaderContext, components },\r\n };\r\n });\r\n }\r\n\r\n private getTypeClass() {\r\n switch (this.props.type) {\r\n case 'hero':\r\n return 'input__header--hero';\r\n case 'small':\r\n return 'input__header--small';\r\n default:\r\n return '';\r\n }\r\n }\r\n\r\n private mainButtonClick = (e: React.MouseEvent<HTMLDivElement>) => {\r\n if (this.props.stopsPropagation) {\r\n e.stopPropagation();\r\n }\r\n };\r\n\r\n private renderExtraButtons() {\r\n let arr = [];\r\n if (typeof this.props.extraButtons === 'function') {\r\n arr = this.props.extraButtons;\r\n } else {\r\n arr = this.props.extraButtons;\r\n }\r\n\r\n return arr.map((extraButton, index) => <li key={index}>{extraButton}</li>);\r\n }\r\n\r\n private renderCollapseExpandAll() {\r\n let allCollapsed = true;\r\n let allExpanded = true;\r\n Object.keys(this.state.inputHeaderContext.components).forEach((key) => {\r\n const component = this.state.inputHeaderContext.components[key];\r\n if (component && component.props.collapsible) {\r\n if (component.state.collapsed) {\r\n allExpanded = false;\r\n } else {\r\n allCollapsed = false;\r\n }\r\n }\r\n });\r\n return (\r\n <div\r\n className=\"input__header__expand-collapse--all\"\r\n onClick={this.containerClick}\r\n >\r\n {(allCollapsed || !allExpanded) && (\r\n <Button\r\n noRipples={true}\r\n small={true}\r\n className={allExpanded || !allCollapsed ? 'mr-2' : ''}\r\n onClick={this.expandAllClick}\r\n blank={true}\r\n Component={CollapseExpandButtonComponent}\r\n >\r\n Expand all\r\n </Button>\r\n )}\r\n {(allExpanded || !allCollapsed) && (\r\n <Button\r\n noRipples={true}\r\n small={true}\r\n onClick={this.collapseAllClick}\r\n blank={true}\r\n Component={CollapseExpandButtonComponent}\r\n >\r\n Collapse all\r\n </Button>\r\n )}\r\n </div>\r\n );\r\n }\r\n\r\n private containerClick = (e: React.MouseEvent<HTMLDivElement>) =>\r\n e.stopPropagation();\r\n\r\n private expandAllClick = () => {\r\n Object.keys(this.state.inputHeaderContext.components).forEach((key) => {\r\n const component = this.state.inputHeaderContext.components[key];\r\n component.componentApi.expand();\r\n });\r\n };\r\n\r\n private collapseAllClick = () => {\r\n Object.keys(this.state.inputHeaderContext.components).forEach((key) => {\r\n const component = this.state.inputHeaderContext.components[key];\r\n component.componentApi.collapse();\r\n });\r\n };\r\n\r\n private renderTitle() {\r\n if (!this.props.tooltip) {\r\n return this.props.title;\r\n }\r\n return (\r\n <React.Fragment>\r\n {this.props.title}\r\n {this.renderTooltip()}\r\n </React.Fragment>\r\n );\r\n }\r\n\r\n private renderTooltip(\r\n content: JSX.Element = <span className=\"label--help-icon\">?</span>\r\n ) {\r\n if (this.props.tooltip) {\r\n const Tippy = require('@tippy.js/react').default;\r\n return (\r\n <Tippy\r\n content={this.props.tooltip}\r\n placement=\"bottom\"\r\n animation=\"scale-subtle\"\r\n arrow={false}\r\n duration={200}\r\n delay={[75, 0]}\r\n distance={8}\r\n interactive={true}\r\n appendTo={document?.body}\r\n trigger=\"mouseenter focus\"\r\n {...this.props.tooltipProps}\r\n >\r\n <span tabIndex={0}>{content}</span>\r\n </Tippy>\r\n );\r\n }\r\n return content;\r\n }\r\n}\r\n\r\nexport const InputHeader = withThemeContext<\r\n InputHeaderRawProps,\r\n InstanceType<typeof InputHeaderRaw>\r\n>(withInputHeaderContext<InputHeaderRawProps>(InputHeaderRaw), 'inputHeader');\r\n\r\nexport default InputHeader;\r\n"],"mappings":"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"}
1
+ {"version":3,"file":"InputHeader.js","names":["React","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_Button","_Guid","_dropdown","_Collapse","_withInputHeaderContext","_withThemeContext","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","MoreIcon","props","createElement","d","defaultProps","xmlns","width","height","viewBox","PlusIcon","CollapseExpandButtonComponent","className","onClick","href","children","InputHeaderRaw","PureComponent","constructor","componentId","guid","toggleClick","toggle","mainButtonClick","e","stopsPropagation","stopPropagation","containerClick","expandAllClick","state","inputHeaderContext","components","component","componentApi","expand","collapseAllClick","collapse","collapsed","collapsedDefault","registerInputHeader","unregisterInputHeader","stateChanged","forceUpdate","componentWillUnmount","ignoreContext","componentDidMount","collapsible","setState","_this$props$inputHead","_this$props$inputHead2","_this$props$onChange","_this$props","_this$props$onExpande","_this$props2","onChange","onExpanded","_this$props$inputHead3","_this$props$inputHead4","_this$props$onChange2","_this$props3","_this$props$onCollaps","_this$props4","onCollapsed","_this$props$inputHead5","_this$props$inputHead6","_this$props$onChange3","_this$props5","_this$props$onCollaps2","_this$props6","_this$props$onExpande2","_this$props7","render","_this$props$extraButt","showButtons","Boolean","mainButton","extraButtons","ButtonContainer","ButtonsContainer","getTypeClass","classNames","showExpandAll","noBg","shouldToggleCollapseOnHeaderClick","headerClassName","role","icon","title","renderTitle","subTitle","Dropdown","header","Button","blank","circular","extraButtonsButtonProps","showArrow","renderExtraButtons","collapseButtonsButtonProps","renderCollapseExpandAll","contentClassName","in","mountOnEnter","unmountOnExit","previousState","type","arr","map","extraButton","index","allCollapsed","allExpanded","noRipples","small","Component","tooltip","Fragment","renderTooltip","content","_document","Tippy","placement","animation","arrow","duration","delay","distance","interactive","appendTo","document","body","trigger","tooltipProps","tabIndex","exports","InputHeader","withThemeContext","withInputHeaderContext","_default"],"sources":["../../../src/lib/components/inputHeader/InputHeader.tsx"],"sourcesContent":["// Libs\r\nimport * as React from 'react';\r\nimport classNames from 'classnames';\r\n\r\n// Misc\r\nimport MoreIcon from 'material-design-icons/navigation/svg/production/ic_more_vert_24px.svg';\r\nimport PlusIcon from 'material-design-icons/hardware/svg/production/ic_keyboard_arrow_down_24px.svg';\r\nimport { ButtonProps, Button, ButtonComponentProps } from '../button/Button';\r\nimport guid from '../utils/Guid';\r\nimport { Dropdown } from '../dropdown';\r\nimport Collapse from '@mui/material/Collapse';\r\nimport {\r\n OmitInputHeaderContext,\r\n InputHeaderContextProps,\r\n InputHeaderContextState,\r\n InputHeaderComponentContextState,\r\n} from '../inputHeader/InputHeaderContext';\r\nimport { withInputHeaderContext } from './withInputHeaderContext';\r\nimport type { TippyProps } from '@tippy.js/react';\r\nimport { withThemeContext } from '../themeProvider/withThemeContext';\r\nimport { ThemeContextProps } from '../themeProvider/ThemeContext';\r\n\r\nexport type InputHeaderRawProps = React.PropsWithChildren<\r\n {\r\n onExpanded?: () => void;\r\n onCollapsed?: () => void;\r\n onChange?: (collapsed: boolean) => void;\r\n className?: string;\r\n title?: string | JSX.Element;\r\n icon?: string | JSX.Element;\r\n subTitle?: string | JSX.Element;\r\n mainButton?: JSX.Element;\r\n extraButtons?: JSX.Element[];\r\n collapsible?: boolean;\r\n collapsed?: boolean;\r\n collapsedDefault?: boolean;\r\n ignoreContext?: boolean;\r\n showExpandAll?: boolean;\r\n type?: 'hero' | 'standard' | 'small';\r\n noBg?: boolean;\r\n headerClassName?: string;\r\n contentClassName?: string;\r\n extraButtonsButtonProps?: ButtonProps;\r\n collapseButtonsButtonProps?: ButtonProps;\r\n shouldToggleCollapseOnHeaderClick?: boolean;\r\n mountOnEnter?: boolean;\r\n unmountOnExit?: boolean;\r\n tooltip?: string | JSX.Element;\r\n tooltipProps?: TippyProps;\r\n stopsPropagation?: boolean;\r\n /*something like div, span, button ...*/\r\n ButtonsContainer?:\r\n | React.ComponentType<{\r\n className: string;\r\n onClick: (e: React.MouseEvent<HTMLElement>) => void;\r\n }>\r\n | 'div';\r\n } & InputHeaderContextProps &\r\n ThemeContextProps\r\n>;\r\n\r\nexport type InputHeaderProps = OmitInputHeaderContext<InputHeaderRawProps>;\r\n\r\nexport interface InputHeaderApi {\r\n expand: () => void;\r\n collapse: () => void;\r\n toggle: () => void;\r\n}\r\n\r\nexport interface InputHeaderState {\r\n collapsed: boolean;\r\n inputHeaderContext: InputHeaderContextState;\r\n}\r\n\r\nconst CollapseExpandButtonComponent: React.FC<ButtonComponentProps> = (\r\n props\r\n) => (\r\n <a className={props.className} onClick={props.onClick} href=\"#\">\r\n {props.children}\r\n </a>\r\n);\r\n\r\nexport class InputHeaderRaw\r\n extends React.PureComponent<InputHeaderRawProps, InputHeaderState>\r\n implements InputHeaderApi\r\n{\r\n public static defaultProps: InputHeaderProps = {\r\n ignoreContext: false,\r\n showExpandAll: false,\r\n collapsedDefault: true,\r\n type: 'standard',\r\n noBg: false,\r\n shouldToggleCollapseOnHeaderClick: false,\r\n stopsPropagation: true,\r\n ButtonsContainer: 'div',\r\n };\r\n\r\n public componentId = guid();\r\n\r\n constructor(props: InputHeaderRawProps) {\r\n super(props);\r\n this.state = {\r\n collapsed: props.collapsedDefault,\r\n inputHeaderContext: {\r\n registerInputHeader: this.registerInputHeader,\r\n unregisterInputHeader: this.unregisterInputHeader,\r\n stateChanged: () => this.forceUpdate(),\r\n components: {},\r\n },\r\n };\r\n this.registerInputHeader = this.registerInputHeader.bind(this);\r\n this.unregisterInputHeader = this.unregisterInputHeader.bind(this);\r\n this.expand = this.expand.bind(this);\r\n this.collapse = this.collapse.bind(this);\r\n this.toggle = this.toggle.bind(this);\r\n }\r\n\r\n public componentWillUnmount() {\r\n if (!this.props.ignoreContext && this.props.inputHeaderContext) {\r\n this.props.inputHeaderContext.unregisterInputHeader(this.componentId);\r\n }\r\n }\r\n\r\n public componentDidMount() {\r\n if (!this.props.ignoreContext && this.props.inputHeaderContext) {\r\n this.props.inputHeaderContext.registerInputHeader(this.componentId, {\r\n componentId: this.componentId,\r\n componentApi: {\r\n expand: this.expand,\r\n collapse: this.collapse,\r\n toggle: this.toggle,\r\n },\r\n props: { ...{}, ...(this.props as InputHeaderProps) },\r\n state: { ...{}, ...this.state },\r\n });\r\n }\r\n }\r\n\r\n public expand() {\r\n this.props.collapsible &&\r\n this.setState({ collapsed: false }, () => {\r\n this.props.inputHeaderContext?.stateChanged?.();\r\n this.props.onChange?.(true);\r\n this.props.onExpanded?.();\r\n });\r\n }\r\n\r\n public collapse() {\r\n this.props.collapsible &&\r\n this.setState({ collapsed: true }, () => {\r\n this.props.inputHeaderContext?.stateChanged?.();\r\n this.props.onChange?.(false);\r\n this.props.onCollapsed?.();\r\n });\r\n }\r\n\r\n public toggle() {\r\n this.props.collapsible &&\r\n this.setState({ collapsed: !this.state.collapsed }, () => {\r\n this.props.inputHeaderContext?.stateChanged?.();\r\n this.props.onChange?.(this.state.collapsed);\r\n if (this.state.collapsed) {\r\n this.props.onCollapsed?.();\r\n }\r\n if (!this.state.collapsed) {\r\n this.props.onExpanded?.();\r\n }\r\n });\r\n }\r\n\r\n public render() {\r\n const collapsed =\r\n this.props.collapsed !== undefined\r\n ? !this.props.collapsed\r\n : !this.state.collapsed;\r\n const showButtons = Boolean(\r\n this.props.mainButton ||\r\n this.props.extraButtons?.length ||\r\n this.props.collapsible\r\n );\r\n const ButtonContainer = this.props.ButtonsContainer ?? 'div';\r\n return (\r\n <div\r\n className={\r\n `input__header ` +\r\n (this.props.className ? this.props.className : '') +\r\n ' ' +\r\n this.getTypeClass()\r\n }\r\n >\r\n <div\r\n className={classNames(\r\n 'input__header__top',\r\n { 'input__header__top--tall': this.props.showExpandAll },\r\n { 'input__header__top--no-bg': this.props.noBg },\r\n {\r\n 'input__header__top--clickable':\r\n this.props.collapsible &&\r\n this.props.shouldToggleCollapseOnHeaderClick,\r\n },\r\n this.props.headerClassName\r\n )}\r\n role={\r\n this.props.collapsible &&\r\n this.props.shouldToggleCollapseOnHeaderClick\r\n ? 'button'\r\n : undefined\r\n }\r\n onClick={\r\n this.props.collapsible &&\r\n this.props.shouldToggleCollapseOnHeaderClick\r\n ? this.toggleClick\r\n : undefined\r\n }\r\n >\r\n <div className={'input__header__top__header-container '}>\r\n {this.props.icon && (\r\n <div className=\"input__header__icon line-height--0\">\r\n {this.props.icon}\r\n </div>\r\n )}\r\n {this.props.title && (\r\n <div className=\"input__header__title\">{this.renderTitle()}</div>\r\n )}\r\n </div>\r\n {this.props.subTitle && (\r\n <div className=\"input__header__sub-title\">\r\n {this.props.subTitle}\r\n </div>\r\n )}\r\n {showButtons && (\r\n <ButtonContainer\r\n className=\"input__header__top__button-container\"\r\n onClick={this.mainButtonClick}\r\n >\r\n {this.props.mainButton && this.props.mainButton}\r\n {this.props.extraButtons ? (\r\n <Dropdown\r\n header={\r\n <Button\r\n blank={true}\r\n circular={true}\r\n {...this.props.extraButtonsButtonProps}\r\n >\r\n <MoreIcon />\r\n </Button>\r\n }\r\n showArrow={false}\r\n headerClassName={'line-height--0'}\r\n className={''}\r\n >\r\n {this.renderExtraButtons()}\r\n </Dropdown>\r\n ) : null}\r\n {this.props.collapsible && (\r\n <Button\r\n circular={true}\r\n blank={true}\r\n className={`input__header__collapse-button line-height--0 ${\r\n this.state.collapsed ? 'collapsed' : ''\r\n }`}\r\n {...this.props.collapseButtonsButtonProps}\r\n onClick={this.toggleClick}\r\n >\r\n <PlusIcon />\r\n </Button>\r\n )}\r\n </ButtonContainer>\r\n )}\r\n {this.props.showExpandAll &&\r\n Object.keys(this.state.inputHeaderContext.components).length > 0 &&\r\n this.renderCollapseExpandAll()}\r\n </div>\r\n <div\r\n className={\r\n 'input__header__bottom ' +\r\n (this.props.contentClassName ? this.props.contentClassName : '')\r\n }\r\n >\r\n {this.props.collapsible ? (\r\n <Collapse\r\n //this was here for some reason but it's messing with aria\r\n //collapsedHeight={'0.0001px'}\r\n in={collapsed}\r\n mountOnEnter={this.props.mountOnEnter}\r\n unmountOnExit={this.props.unmountOnExit}\r\n aria-expanded={collapsed ? 'false' : true}\r\n >\r\n {this.props.children}\r\n </Collapse>\r\n ) : (\r\n this.props.children\r\n )}\r\n </div>\r\n </div>\r\n );\r\n }\r\n\r\n private toggleClick = () => this.toggle();\r\n\r\n private registerInputHeader(\r\n componentId: string,\r\n component: InputHeaderComponentContextState\r\n ) {\r\n this.setState((previousState) => {\r\n let components = Object.assign(\r\n {},\r\n previousState.inputHeaderContext.components\r\n );\r\n components[componentId] = component;\r\n return {\r\n inputHeaderContext: { ...previousState.inputHeaderContext, components },\r\n };\r\n });\r\n }\r\n\r\n private unregisterInputHeader(componentId: string) {\r\n this.setState((previousState) => {\r\n let components = Object.assign(\r\n {},\r\n previousState.inputHeaderContext.components\r\n );\r\n delete components[componentId];\r\n return {\r\n inputHeaderContext: { ...previousState.inputHeaderContext, components },\r\n };\r\n });\r\n }\r\n\r\n private getTypeClass() {\r\n switch (this.props.type) {\r\n case 'hero':\r\n return 'input__header--hero';\r\n case 'small':\r\n return 'input__header--small';\r\n default:\r\n return '';\r\n }\r\n }\r\n\r\n private mainButtonClick = (e: React.MouseEvent<HTMLDivElement>) => {\r\n if (this.props.stopsPropagation) {\r\n e.stopPropagation();\r\n }\r\n };\r\n\r\n private renderExtraButtons() {\r\n let arr = [];\r\n if (typeof this.props.extraButtons === 'function') {\r\n arr = this.props.extraButtons;\r\n } else {\r\n arr = this.props.extraButtons;\r\n }\r\n\r\n return arr.map((extraButton, index) => <li key={index}>{extraButton}</li>);\r\n }\r\n\r\n private renderCollapseExpandAll() {\r\n let allCollapsed = true;\r\n let allExpanded = true;\r\n Object.keys(this.state.inputHeaderContext.components).forEach((key) => {\r\n const component = this.state.inputHeaderContext.components[key];\r\n if (component && component.props.collapsible) {\r\n if (component.state.collapsed) {\r\n allExpanded = false;\r\n } else {\r\n allCollapsed = false;\r\n }\r\n }\r\n });\r\n return (\r\n <div\r\n className=\"input__header__expand-collapse--all\"\r\n onClick={this.containerClick}\r\n >\r\n {(allCollapsed || !allExpanded) && (\r\n <Button\r\n noRipples={true}\r\n small={true}\r\n className={allExpanded || !allCollapsed ? 'mr-2' : ''}\r\n onClick={this.expandAllClick}\r\n blank={true}\r\n Component={CollapseExpandButtonComponent}\r\n >\r\n Expand all\r\n </Button>\r\n )}\r\n {(allExpanded || !allCollapsed) && (\r\n <Button\r\n noRipples={true}\r\n small={true}\r\n onClick={this.collapseAllClick}\r\n blank={true}\r\n Component={CollapseExpandButtonComponent}\r\n >\r\n Collapse all\r\n </Button>\r\n )}\r\n </div>\r\n );\r\n }\r\n\r\n private containerClick = (e: React.MouseEvent<HTMLDivElement>) =>\r\n e.stopPropagation();\r\n\r\n private expandAllClick = () => {\r\n Object.keys(this.state.inputHeaderContext.components).forEach((key) => {\r\n const component = this.state.inputHeaderContext.components[key];\r\n component.componentApi.expand();\r\n });\r\n };\r\n\r\n private collapseAllClick = () => {\r\n Object.keys(this.state.inputHeaderContext.components).forEach((key) => {\r\n const component = this.state.inputHeaderContext.components[key];\r\n component.componentApi.collapse();\r\n });\r\n };\r\n\r\n private renderTitle() {\r\n if (!this.props.tooltip) {\r\n return this.props.title;\r\n }\r\n return (\r\n <React.Fragment>\r\n {this.props.title}\r\n {this.renderTooltip()}\r\n </React.Fragment>\r\n );\r\n }\r\n\r\n private renderTooltip(\r\n content: JSX.Element = <span className=\"label--help-icon\">?</span>\r\n ) {\r\n if (this.props.tooltip) {\r\n const Tippy = require('@tippy.js/react').default;\r\n return (\r\n <Tippy\r\n content={this.props.tooltip}\r\n placement=\"bottom\"\r\n animation=\"scale-subtle\"\r\n arrow={false}\r\n duration={200}\r\n delay={[75, 0]}\r\n distance={8}\r\n interactive={true}\r\n appendTo={document?.body}\r\n trigger=\"mouseenter focus\"\r\n {...this.props.tooltipProps}\r\n >\r\n <span tabIndex={0}>{content}</span>\r\n </Tippy>\r\n );\r\n }\r\n return content;\r\n }\r\n}\r\n\r\nexport const InputHeader = withThemeContext<\r\n InputHeaderRawProps,\r\n InstanceType<typeof InputHeaderRaw>\r\n>(withInputHeaderContext<InputHeaderRawProps>(InputHeaderRaw), 'inputHeader');\r\n\r\nexport default InputHeader;\r\n"],"mappings":"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"}
@@ -145,7 +145,9 @@ class MoneyRaw extends _BaseInput.BaseInput {
145
145
  values: currentCurrencies,
146
146
  onChange: this.onCurrencyChanged(index, currentCurrencies),
147
147
  value: item.currency.value.toString()
148
- })) : currentCurrencies === null || currentCurrencies === void 0 ? void 0 : (_currentCurrencies$ = currentCurrencies[0]) === null || _currentCurrencies$ === void 0 ? void 0 : _currentCurrencies$.label, /*#__PURE__*/React.createElement(_Text.Text, _extends({}, this.props.id && {
148
+ })) : /*#__PURE__*/React.createElement("span", {
149
+ className: "money-input__currencyLabel"
150
+ }, currentCurrencies === null || currentCurrencies === void 0 ? void 0 : (_currentCurrencies$ = currentCurrencies[0]) === null || _currentCurrencies$ === void 0 ? void 0 : _currentCurrencies$.label), /*#__PURE__*/React.createElement(_Text.Text, _extends({}, this.props.id && {
149
151
  id: this.props.id + '-amount-input-' + index.toString()
150
152
  }, {
151
153
  onFocus: this.onFocus,
@@ -1 +1 @@
1
- {"version":3,"file":"Money.js","names":["React","_interopRequireWildcard","require","_Select","_Text","_InputGroup","_interopRequireDefault","_BaseInput","_Button","_withFormContext","_withThemeContext","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","PlusIcon","props","createElement","d","defaultProps","xmlns","width","height","viewBox","defaultMoneyTranslations","defaultBaseTranslations","cannotRemoveDefaultCurrency","removePrice","addPrice","addNewCurrency","exports","MoneyRaw","BaseInput","constructor","onCurrencyChanged","index","currentCurrencies","e","newPrices","concat","prices","currency","cc","toString","onPricesChange","onTheFlightValidate","num","parts","split","isNaN","onPriceChanged","str","state","touched","touch","removePriceClick","price","itemIndex","required","setInvalid","getTranslations","addPriceClick","unusedCurrencies","setValid","onFocus","setState","focused","onBlur","currencies","Error","isValid","errors","handleValueChangeEnabled","forcedCurrencies","c","forceSelected","missingForced","find","p","map","subscribeSelf","render","_Button$defaultProps2","translations","title","tooltip","className","inputGroupClassName","id","getValidationClass","ref","containerRef","item","_currentCurrencies$","_Button$defaultProps","priceCurrency","priceIndex","retComponents","Select","values","onChange","label","Text","placeholder","validators","type","disableDelete","Button","blank","onClick","buttonProps","circular","disabled","allowMultiple","renderDefaultValidation","renderLabel","Money","withThemeContext","withFormContext","_default"],"sources":["../../../src/lib/components/money/Money.tsx"],"sourcesContent":["import * as PlusIcon from 'material-design-icons/content/svg/production/ic_add_24px.svg';\r\n\r\n// Libs\r\nimport * as React from 'react';\r\n\r\n// Misc\r\nimport { Select, SelectValue } from '../select/Select';\r\nimport { Text } from '../text/Text';\r\nimport InputGroup from '../inputGroup/InputGroup';\r\nimport {\r\n BaseInputProps,\r\n BaseInputState,\r\n BaseInput,\r\n defaultBaseTranslations,\r\n} from '../base/input/BaseInput';\r\nimport { Button } from '../button/Button';\r\nimport { withFormContext } from '../form/withFormContext';\r\nimport { withThemeContext } from '../themeProvider/withThemeContext';\r\n\r\nexport interface MoneyWithCurrency {\r\n value: number | undefined;\r\n currency: SelectValue;\r\n}\r\n\r\nexport const defaultMoneyTranslations = {\r\n ...defaultBaseTranslations,\r\n cannotRemoveDefaultCurrency: 'Cannot remove default currency',\r\n removePrice: 'Remove price',\r\n addPrice: 'Add price',\r\n addNewCurrency: 'Add new currency',\r\n};\r\n\r\nexport type MoneyTranslations = Partial<typeof defaultMoneyTranslations>;\r\n\r\nexport interface MoneyProps extends BaseInputProps<never, MoneyTranslations> {\r\n onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;\r\n onPricesChange: (prices: MoneyWithCurrency[]) => void;\r\n allowMultiple?: boolean;\r\n currencies: SelectValue[];\r\n prices: MoneyWithCurrency[];\r\n disableDelete?: boolean;\r\n}\r\n\r\nexport interface MoneyState extends BaseInputState {}\r\n\r\nexport class MoneyRaw extends BaseInput<\r\n MoneyProps,\r\n MoneyState,\r\n never,\r\n MoneyTranslations\r\n> {\r\n public static defaultProps = Object.assign({}, BaseInput.defaultProps, {\r\n type: 'money',\r\n allowMultiple: false,\r\n onChange: undefined,\r\n });\r\n\r\n constructor(props: MoneyProps) {\r\n super(props, false);\r\n if (!props.currencies || !props.currencies.length) {\r\n throw Error('No currencies supplied to money input');\r\n }\r\n this.state = Object.assign(this.state, {\r\n isValid: props.required ? props.prices.length > 0 : true,\r\n errors:\r\n props.required && props.prices.length === 0\r\n ? [this.getTranslations(defaultMoneyTranslations).required]\r\n : [],\r\n handleValueChangeEnabled: false,\r\n });\r\n const forcedCurrencies = props.currencies.filter((c) => c.forceSelected);\r\n const missingForced = forcedCurrencies.filter(\r\n (c) => !props.prices.find((p) => p.currency.value === c.value)\r\n );\r\n if (missingForced.length > 0) {\r\n props.onPricesChange(\r\n props.prices.concat(\r\n missingForced.map((c) => ({ currency: c, value: undefined }))\r\n )\r\n );\r\n }\r\n this.subscribeSelf(props);\r\n }\r\n\r\n public render() {\r\n let unusedCurrencies = this.props.currencies;\r\n const translations = this.getTranslations(defaultMoneyTranslations);\r\n return (\r\n <InputGroup\r\n title={this.props.title}\r\n tooltip={this.props.tooltip}\r\n className={this.props.inputGroupClassName}\r\n >\r\n <div\r\n {...(this.props.id && { id: this.props.id })}\r\n className={\r\n 'input__base money-input ' +\r\n this.getValidationClass() +\r\n (this.props.className ? ' ' + this.props.className : '')\r\n }\r\n ref={this.containerRef}\r\n >\r\n {this.props.prices &&\r\n this.props.prices.map((item, index) => {\r\n let currentCurrencies = this.props.currencies.filter(\r\n (c) =>\r\n this.props.prices.filter(\r\n (priceCurrency, priceIndex) =>\r\n priceIndex !== index &&\r\n priceCurrency.currency.value === c.value\r\n ).length === 0\r\n );\r\n const currency = this.props.currencies.find(\r\n (c) => c.value === item.currency.value\r\n );\r\n let retComponents = currentCurrencies.length ? (\r\n <div key={index}>\r\n {currentCurrencies.length > 1 ? (\r\n <Select\r\n {...(this.props.id && {\r\n id:\r\n this.props.id +\r\n '-currency-select-' +\r\n index.toString(),\r\n })}\r\n onFocus={this.onFocus}\r\n onBlur={this.onBlur}\r\n className={'money-input__select m-0'}\r\n values={currentCurrencies}\r\n onChange={this.onCurrencyChanged(\r\n index,\r\n currentCurrencies\r\n )}\r\n value={item.currency.value.toString()}\r\n />\r\n ) : (\r\n currentCurrencies?.[0]?.label\r\n )}\r\n <Text\r\n {...(this.props.id && {\r\n id: this.props.id + '-amount-input-' + index.toString(),\r\n })}\r\n onFocus={this.onFocus}\r\n onBlur={this.onBlur}\r\n onTheFlightValidate={this.onTheFlightValidate}\r\n placeholder={'0.00'}\r\n className={'money-input__text m-0'}\r\n validators={['number']}\r\n value={item.value ? item.value.toString() : ''}\r\n onChange={this.onPriceChanged(index)}\r\n type=\"number\"\r\n />\r\n {!this.props.disableDelete &&\r\n this.props.prices.length > 0 && (\r\n <Button\r\n {...(this.props.id && {\r\n id:\r\n this.props.id +\r\n '-remove-button-' +\r\n index.toString(),\r\n })}\r\n blank={true}\r\n type=\"error\"\r\n onClick={this.removePriceClick(index)}\r\n className=\"transform-rotate--45 line-height--0\"\r\n buttonProps={{\r\n ...Button.defaultProps?.buttonProps,\r\n title:\r\n currency && currency.forceSelected\r\n ? translations.cannotRemoveDefaultCurrency\r\n : translations.removePrice,\r\n }}\r\n circular={true}\r\n disabled={currency && currency.forceSelected}\r\n >\r\n <PlusIcon />\r\n </Button>\r\n )}\r\n </div>\r\n ) : null;\r\n unusedCurrencies = unusedCurrencies.filter(\r\n (c) => c.value !== item.currency.value\r\n );\r\n return retComponents;\r\n })}\r\n {(this.props.allowMultiple ||\r\n (this.props.prices && !this.props.prices.length)) &&\r\n unusedCurrencies.length ? (\r\n <Button\r\n blank={true}\r\n {...(this.props.id && {\r\n id: this.props.id + '-add-button',\r\n })}\r\n type=\"primary\"\r\n className=\"line-height--0 align-self-start\"\r\n onClick={this.addPriceClick(unusedCurrencies)}\r\n circular={true}\r\n buttonProps={{\r\n ...Button.defaultProps?.buttonProps,\r\n title:\r\n this.props.prices && this.props.prices.length === 0\r\n ? translations.addPrice\r\n : translations.addNewCurrency,\r\n }}\r\n >\r\n <PlusIcon />\r\n </Button>\r\n ) : null}\r\n <span className=\"highlight\" />\r\n <span className={'bar ' + (this.state.focused ? 'focused' : '')} />\r\n {this.renderDefaultValidation()}\r\n {this.props.label && (\r\n <label\r\n className={\r\n this.props.prices && this.props.prices ? 'label--focused' : ''\r\n }\r\n >\r\n {this.renderLabel()}\r\n </label>\r\n )}\r\n </div>\r\n </InputGroup>\r\n );\r\n }\r\n\r\n private onCurrencyChanged =\r\n (index: number, currentCurrencies: SelectValue[]) => (e) => {\r\n let newPrices: MoneyWithCurrency[] = [].concat(this.props.prices);\r\n newPrices[index].currency = currentCurrencies.filter(\r\n (cc) => cc.value.toString() === e.target.value\r\n )[0];\r\n this.props.onPricesChange(newPrices);\r\n };\r\n\r\n private onTheFlightValidate = (value: string) => {\r\n let num = Number(value);\r\n const parts = value.split('.');\r\n if (parts && parts.length > 1 && parts[parts.length - 1].length > 2) {\r\n return false;\r\n }\r\n if (!isNaN(num)) {\r\n return true;\r\n }\r\n if (num) {\r\n return false;\r\n }\r\n };\r\n\r\n private onPriceChanged =\r\n (index: number) => (e: React.ChangeEvent<HTMLInputElement>) => {\r\n let newPrices: MoneyWithCurrency[] = [].concat(this.props.prices);\r\n let str = e.target.value;\r\n let num = Number(str);\r\n if (!isNaN(num)) {\r\n newPrices[index].value = num;\r\n }\r\n this.props.onPricesChange(newPrices);\r\n if (!this.state.touched) {\r\n this.touch();\r\n }\r\n };\r\n\r\n private removePriceClick = (index: number) => () => {\r\n const newPrices = this.props.prices.filter(\r\n (price, itemIndex) => itemIndex !== index\r\n );\r\n this.props.onPricesChange(newPrices);\r\n if (newPrices.length === 0 && this.props.required) {\r\n this.setInvalid([\r\n this.getTranslations(defaultMoneyTranslations).required,\r\n ]);\r\n }\r\n if (!this.state.touched) {\r\n this.touch();\r\n }\r\n };\r\n\r\n private addPriceClick = (unusedCurrencies: SelectValue[]) => () => {\r\n this.props.onPricesChange(\r\n this.props.prices.concat([{ value: 0, currency: unusedCurrencies[0] }])\r\n );\r\n this.setValid();\r\n if (!this.state.touched) {\r\n this.touch();\r\n }\r\n };\r\n\r\n private onFocus = () => this.setState({ focused: true });\r\n\r\n private onBlur = () => this.setState({ focused: false });\r\n}\r\n\r\nexport const Money = withThemeContext<\r\n MoneyProps,\r\n InstanceType<typeof MoneyRaw>\r\n>(withFormContext<MoneyProps>(MoneyRaw), 'money');\r\n\r\nexport default Money;\r\n"],"mappings":"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"}
1
+ {"version":3,"file":"Money.js","names":["React","_interopRequireWildcard","require","_Select","_Text","_InputGroup","_interopRequireDefault","_BaseInput","_Button","_withFormContext","_withThemeContext","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","PlusIcon","props","createElement","d","defaultProps","xmlns","width","height","viewBox","defaultMoneyTranslations","defaultBaseTranslations","cannotRemoveDefaultCurrency","removePrice","addPrice","addNewCurrency","exports","MoneyRaw","BaseInput","constructor","onCurrencyChanged","index","currentCurrencies","e","newPrices","concat","prices","currency","cc","toString","onPricesChange","onTheFlightValidate","num","parts","split","isNaN","onPriceChanged","str","state","touched","touch","removePriceClick","price","itemIndex","required","setInvalid","getTranslations","addPriceClick","unusedCurrencies","setValid","onFocus","setState","focused","onBlur","currencies","Error","isValid","errors","handleValueChangeEnabled","forcedCurrencies","c","forceSelected","missingForced","find","p","map","subscribeSelf","render","_Button$defaultProps2","translations","title","tooltip","className","inputGroupClassName","id","getValidationClass","ref","containerRef","item","_currentCurrencies$","_Button$defaultProps","priceCurrency","priceIndex","retComponents","Select","values","onChange","label","Text","placeholder","validators","type","disableDelete","Button","blank","onClick","buttonProps","circular","disabled","allowMultiple","renderDefaultValidation","renderLabel","Money","withThemeContext","withFormContext","_default"],"sources":["../../../src/lib/components/money/Money.tsx"],"sourcesContent":["import * as PlusIcon from 'material-design-icons/content/svg/production/ic_add_24px.svg';\r\n\r\n// Libs\r\nimport * as React from 'react';\r\n\r\n// Misc\r\nimport { Select, SelectValue } from '../select/Select';\r\nimport { Text } from '../text/Text';\r\nimport InputGroup from '../inputGroup/InputGroup';\r\nimport {\r\n BaseInputProps,\r\n BaseInputState,\r\n BaseInput,\r\n defaultBaseTranslations,\r\n} from '../base/input/BaseInput';\r\nimport { Button } from '../button/Button';\r\nimport { withFormContext } from '../form/withFormContext';\r\nimport { withThemeContext } from '../themeProvider/withThemeContext';\r\n\r\nexport interface MoneyWithCurrency {\r\n value: number | undefined;\r\n currency: SelectValue;\r\n}\r\n\r\nexport const defaultMoneyTranslations = {\r\n ...defaultBaseTranslations,\r\n cannotRemoveDefaultCurrency: 'Cannot remove default currency',\r\n removePrice: 'Remove price',\r\n addPrice: 'Add price',\r\n addNewCurrency: 'Add new currency',\r\n};\r\n\r\nexport type MoneyTranslations = Partial<typeof defaultMoneyTranslations>;\r\n\r\nexport interface MoneyProps extends BaseInputProps<never, MoneyTranslations> {\r\n onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;\r\n onPricesChange: (prices: MoneyWithCurrency[]) => void;\r\n allowMultiple?: boolean;\r\n currencies: SelectValue[];\r\n prices: MoneyWithCurrency[];\r\n disableDelete?: boolean;\r\n}\r\n\r\nexport interface MoneyState extends BaseInputState {}\r\n\r\nexport class MoneyRaw extends BaseInput<\r\n MoneyProps,\r\n MoneyState,\r\n never,\r\n MoneyTranslations\r\n> {\r\n public static defaultProps = Object.assign({}, BaseInput.defaultProps, {\r\n type: 'money',\r\n allowMultiple: false,\r\n onChange: undefined,\r\n });\r\n\r\n constructor(props: MoneyProps) {\r\n super(props, false);\r\n if (!props.currencies || !props.currencies.length) {\r\n throw Error('No currencies supplied to money input');\r\n }\r\n this.state = Object.assign(this.state, {\r\n isValid: props.required ? props.prices.length > 0 : true,\r\n errors:\r\n props.required && props.prices.length === 0\r\n ? [this.getTranslations(defaultMoneyTranslations).required]\r\n : [],\r\n handleValueChangeEnabled: false,\r\n });\r\n const forcedCurrencies = props.currencies.filter((c) => c.forceSelected);\r\n const missingForced = forcedCurrencies.filter(\r\n (c) => !props.prices.find((p) => p.currency.value === c.value)\r\n );\r\n if (missingForced.length > 0) {\r\n props.onPricesChange(\r\n props.prices.concat(\r\n missingForced.map((c) => ({ currency: c, value: undefined }))\r\n )\r\n );\r\n }\r\n this.subscribeSelf(props);\r\n }\r\n\r\n public render() {\r\n let unusedCurrencies = this.props.currencies;\r\n const translations = this.getTranslations(defaultMoneyTranslations);\r\n return (\r\n <InputGroup\r\n title={this.props.title}\r\n tooltip={this.props.tooltip}\r\n className={this.props.inputGroupClassName}\r\n >\r\n <div\r\n {...(this.props.id && { id: this.props.id })}\r\n className={\r\n 'input__base money-input ' +\r\n this.getValidationClass() +\r\n (this.props.className ? ' ' + this.props.className : '')\r\n }\r\n ref={this.containerRef}\r\n >\r\n {this.props.prices &&\r\n this.props.prices.map((item, index) => {\r\n let currentCurrencies = this.props.currencies.filter(\r\n (c) =>\r\n this.props.prices.filter(\r\n (priceCurrency, priceIndex) =>\r\n priceIndex !== index &&\r\n priceCurrency.currency.value === c.value\r\n ).length === 0\r\n );\r\n const currency = this.props.currencies.find(\r\n (c) => c.value === item.currency.value\r\n );\r\n let retComponents = currentCurrencies.length ? (\r\n <div key={index}>\r\n {currentCurrencies.length > 1 ? (\r\n <Select\r\n {...(this.props.id && {\r\n id:\r\n this.props.id +\r\n '-currency-select-' +\r\n index.toString(),\r\n })}\r\n onFocus={this.onFocus}\r\n onBlur={this.onBlur}\r\n className={'money-input__select m-0'}\r\n values={currentCurrencies}\r\n onChange={this.onCurrencyChanged(\r\n index,\r\n currentCurrencies\r\n )}\r\n value={item.currency.value.toString()}\r\n />\r\n ) : (\r\n <span className=\"money-input__currencyLabel\">\r\n {currentCurrencies?.[0]?.label}\r\n </span>\r\n )}\r\n <Text\r\n {...(this.props.id && {\r\n id: this.props.id + '-amount-input-' + index.toString(),\r\n })}\r\n onFocus={this.onFocus}\r\n onBlur={this.onBlur}\r\n onTheFlightValidate={this.onTheFlightValidate}\r\n placeholder={'0.00'}\r\n className={'money-input__text m-0'}\r\n validators={['number']}\r\n value={item.value ? item.value.toString() : ''}\r\n onChange={this.onPriceChanged(index)}\r\n type=\"number\"\r\n />\r\n {!this.props.disableDelete &&\r\n this.props.prices.length > 0 && (\r\n <Button\r\n {...(this.props.id && {\r\n id:\r\n this.props.id +\r\n '-remove-button-' +\r\n index.toString(),\r\n })}\r\n blank={true}\r\n type=\"error\"\r\n onClick={this.removePriceClick(index)}\r\n className=\"transform-rotate--45 line-height--0\"\r\n buttonProps={{\r\n ...Button.defaultProps?.buttonProps,\r\n title:\r\n currency && currency.forceSelected\r\n ? translations.cannotRemoveDefaultCurrency\r\n : translations.removePrice,\r\n }}\r\n circular={true}\r\n disabled={currency && currency.forceSelected}\r\n >\r\n <PlusIcon />\r\n </Button>\r\n )}\r\n </div>\r\n ) : null;\r\n unusedCurrencies = unusedCurrencies.filter(\r\n (c) => c.value !== item.currency.value\r\n );\r\n return retComponents;\r\n })}\r\n {(this.props.allowMultiple ||\r\n (this.props.prices && !this.props.prices.length)) &&\r\n unusedCurrencies.length ? (\r\n <Button\r\n blank={true}\r\n {...(this.props.id && {\r\n id: this.props.id + '-add-button',\r\n })}\r\n type=\"primary\"\r\n className=\"line-height--0 align-self-start\"\r\n onClick={this.addPriceClick(unusedCurrencies)}\r\n circular={true}\r\n buttonProps={{\r\n ...Button.defaultProps?.buttonProps,\r\n title:\r\n this.props.prices && this.props.prices.length === 0\r\n ? translations.addPrice\r\n : translations.addNewCurrency,\r\n }}\r\n >\r\n <PlusIcon />\r\n </Button>\r\n ) : null}\r\n <span className=\"highlight\" />\r\n <span className={'bar ' + (this.state.focused ? 'focused' : '')} />\r\n {this.renderDefaultValidation()}\r\n {this.props.label && (\r\n <label\r\n className={\r\n this.props.prices && this.props.prices ? 'label--focused' : ''\r\n }\r\n >\r\n {this.renderLabel()}\r\n </label>\r\n )}\r\n </div>\r\n </InputGroup>\r\n );\r\n }\r\n\r\n private onCurrencyChanged =\r\n (index: number, currentCurrencies: SelectValue[]) => (e) => {\r\n let newPrices: MoneyWithCurrency[] = [].concat(this.props.prices);\r\n newPrices[index].currency = currentCurrencies.filter(\r\n (cc) => cc.value.toString() === e.target.value\r\n )[0];\r\n this.props.onPricesChange(newPrices);\r\n };\r\n\r\n private onTheFlightValidate = (value: string) => {\r\n let num = Number(value);\r\n const parts = value.split('.');\r\n if (parts && parts.length > 1 && parts[parts.length - 1].length > 2) {\r\n return false;\r\n }\r\n if (!isNaN(num)) {\r\n return true;\r\n }\r\n if (num) {\r\n return false;\r\n }\r\n };\r\n\r\n private onPriceChanged =\r\n (index: number) => (e: React.ChangeEvent<HTMLInputElement>) => {\r\n let newPrices: MoneyWithCurrency[] = [].concat(this.props.prices);\r\n let str = e.target.value;\r\n let num = Number(str);\r\n if (!isNaN(num)) {\r\n newPrices[index].value = num;\r\n }\r\n this.props.onPricesChange(newPrices);\r\n if (!this.state.touched) {\r\n this.touch();\r\n }\r\n };\r\n\r\n private removePriceClick = (index: number) => () => {\r\n const newPrices = this.props.prices.filter(\r\n (price, itemIndex) => itemIndex !== index\r\n );\r\n this.props.onPricesChange(newPrices);\r\n if (newPrices.length === 0 && this.props.required) {\r\n this.setInvalid([\r\n this.getTranslations(defaultMoneyTranslations).required,\r\n ]);\r\n }\r\n if (!this.state.touched) {\r\n this.touch();\r\n }\r\n };\r\n\r\n private addPriceClick = (unusedCurrencies: SelectValue[]) => () => {\r\n this.props.onPricesChange(\r\n this.props.prices.concat([{ value: 0, currency: unusedCurrencies[0] }])\r\n );\r\n this.setValid();\r\n if (!this.state.touched) {\r\n this.touch();\r\n }\r\n };\r\n\r\n private onFocus = () => this.setState({ focused: true });\r\n\r\n private onBlur = () => this.setState({ focused: false });\r\n}\r\n\r\nexport const Money = withThemeContext<\r\n MoneyProps,\r\n InstanceType<typeof MoneyRaw>\r\n>(withFormContext<MoneyProps>(MoneyRaw), 'money');\r\n\r\nexport default Money;\r\n"],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  <head>
4
4
  <meta charset="UTF-8"/>
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1"/>
6
- <title>guestbell-forms [3 Jul 2023 at 18:04]</title>
6
+ <title>guestbell-forms [9 Jul 2023 at 16:00]</title>
7
7
  <link rel="shortcut icon" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAABrVBMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+O1foceMD///+J0/qK1Pr7/v8Xdr/9///W8P4UdL7L7P0Scr2r4Pyj3vwad8D5/f/2/f+55f3E6f34+/2H0/ojfMKpzOd0rNgQcb3F3O/j9f7c8v6g3Pz0/P/w+v/q+P7n9v6T1/uQ1vuE0vqLut/y+v+Z2fvt+f+15Pzv9fuc2/vR7v2V2Pvd6/bg9P7I6/285/2y4/yp3/zp8vk8i8kqgMT7/P31+fyv4vxGkcz6/P6/6P3j7vfS5PNnpNUxhcbO7f7F6v3O4vHK3/DA2u631Ouy0eqXweKJud5wqthfoNMMbLvY8f73+v2dxeR8sNtTmdDx9/zX6PSjyeaCtd1YnNGX2PuQveCGt95Nls42h8dLlM3F4vBtAAAAM3RSTlMAAyOx0/sKBvik8opWGBMOAe3l1snDm2E9LSb06eHcu5JpHbarfHZCN9CBb08zzkdNS0kYaptYAAAFV0lEQVRYw92X51/aYBDHHS2O2qqttVbrqNq9m+TJIAYIShBkWwqIiCgoWvfeq7Z2/s29hyQNyUcR7LveGwVyXy6XH8/9rqxglLfUPLxVduUor3h0rfp2TYvpivk37929TkG037hffoX0+peVtZQc1589rigVUdXS/ABSAyEmGIO/1XfvldSK8vs3OqB6u3m0nxmIrvgB0dj7rr7Y9IbuF68hnfFaiHA/sxqm0wciIG43P60qKv9WXWc1RXGh/mFESFABTSBi0sNAKzqet17eCtOb3kZIDwxEEU0oAIJGYxNBDhBND29e0rtXXbcpuPmED9IhEAAQ/AXEaF8EPmnrrKsv0LvWR3fg5sWDNAFZOgAgaKvZDogHNU9MFwnnYROkc56RD5CjAbQX9Ow4g7upCsvYu55aSI/Nj0H1akgKQEUM94dwK65hYRmFU9MIcH/fqJYOZYcnuJSU/waKDgTOEVaVKhwrTRP5XzgSpAITYzom7UvkhFX5VutmxeNnWDjjswTKTyfgluNDGbUpWissXhF3s7mlSml+czWkg3D0l1nNjGNjz3myOQOa1KM/jOS6ebdbAVTCi4gljHSFrviza7tOgRWcS0MOUX9zdNgag5w7rRqA44Lzw0hr1WqES36dFliSJFlh2rXIae3FFcDDgKdxrUIDePr8jGcSClV1u7A9xeN0ModY/pHMxmR1EzRh8TJiwqsHmKW0l4FCEZI+jHio+JdPPE9qwQtTRxku2D8sIeRL2LnxWSllANCQGOIiqVHAz2ye2JR0DcH+HoxDkaADLjgxjKQ+AwCX/g0+DNgdG0ukYCONAe+dbc2IAc6fwt1ARoDSezNHxV2Cmzwv3O6lDMV55edBGwGK9n1+x2F8EDfAGCxug8MhpsMEcTEAWf3rx2vZhe/LAmtIn/6apE6PN0ULKgywD9mmdxbmFl3OvD5AS5fW5zLbv/YHmcsBTjf/afDz3MaZTVCfAP9z6/Bw6ycv8EUBWJIn9zYcoAWWlW9+OzO3vkTy8H+RANLmdrpOuYWdZYEXpo+TlCJrW5EARb7fF+bWdqf3hhyZI1nWJQHgznErZhbjoEsWqi8dQNoE294aldzFurwSABL2XXMf9+H1VQGke9exw5P/AnA5Pv5ngMul7LOvO922iwACu8WkCwLCafvM4CeWPxfA8lNHcWZSoi8EwMAIciKX2Z4SWCMAa3snCZ/G4EA8D6CMLNFsGQhkkz/gQNEBbPCbWsxGUpYVu3z8IyNAknwJkfPMEhLyrdi5RTyUVACkw4GSFRNWJNEW+fgPGwHD8/JxnRuLabN4CGNRkAE23na2+VmEAUmrYymSGjMAYqH84YUIyzgzs3XC7gNgH36Vcc4zKY9o9fgPBXUAiHHwVboBHGLiX6Zcjp1f2wu4tvzZKo0ecPnDtQYDQvJXaBeNzce45Fp28ZQLrEZVuFqgBwOalArKXnW1UzlnSusQKJqKYNuz4tOnI6sZG4zanpemv+7ySU2jbA9h6uhcgpfy6G2PahirDZ6zvq6zDduMVFTKvzw8wgyEdelwY9in3XkEPs3osJuwRQ4qTkfzifndg9Gfc4pdsu82+tTnHZTBa2EAMrqr2t43pguc8tNm7JQVQ2S0ukj2d22dhXYP0/veWtwKrCkNoNimAN5+Xr/oLrxswKbVJjteWrX7eR63o4j9q0GxnaBdWgGA5VStpanIjQmEhV0/nVt5VOFUvix6awJhPcAaTEShgrG+iGyvb5a0Ndb1YGHFPEwoqAinoaykaID1o1pdPNu7XsnCKQ3R+hwWIIhGvORcJUBYXe3Xa3vq/mF/N9V13ugufMkfXn+KHsRD0B8AAAAASUVORK5CYII=" type="image/x-icon" />
8
8
 
9
9
  <script>
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "3.0.64",
2
+ "version": "3.0.66",
3
3
  "description": "React forms with validation as used in GuestBell",
4
4
  "keywords": [
5
5
  "react",
@@ -48,6 +48,13 @@ export type InputHeaderRawProps = React.PropsWithChildren<
48
48
  tooltip?: string | JSX.Element;
49
49
  tooltipProps?: TippyProps;
50
50
  stopsPropagation?: boolean;
51
+ /*something like div, span, button ...*/
52
+ ButtonsContainer?:
53
+ | React.ComponentType<{
54
+ className: string;
55
+ onClick: (e: React.MouseEvent<HTMLElement>) => void;
56
+ }>
57
+ | 'div';
51
58
  } & InputHeaderContextProps &
52
59
  ThemeContextProps
53
60
  >;
@@ -85,6 +92,7 @@ export class InputHeaderRaw
85
92
  noBg: false,
86
93
  shouldToggleCollapseOnHeaderClick: false,
87
94
  stopsPropagation: true,
95
+ ButtonsContainer: 'div',
88
96
  };
89
97
 
90
98
  public componentId = guid();
@@ -170,6 +178,7 @@ export class InputHeaderRaw
170
178
  this.props.extraButtons?.length ||
171
179
  this.props.collapsible
172
180
  );
181
+ const ButtonContainer = this.props.ButtonsContainer ?? 'div';
173
182
  return (
174
183
  <div
175
184
  className={
@@ -220,7 +229,7 @@ export class InputHeaderRaw
220
229
  </div>
221
230
  )}
222
231
  {showButtons && (
223
- <div
232
+ <ButtonContainer
224
233
  className="input__header__top__button-container"
225
234
  onClick={this.mainButtonClick}
226
235
  >
@@ -256,7 +265,7 @@ export class InputHeaderRaw
256
265
  <PlusIcon />
257
266
  </Button>
258
267
  )}
259
- </div>
268
+ </ButtonContainer>
260
269
  )}
261
270
  {this.props.showExpandAll &&
262
271
  Object.keys(this.state.inputHeaderContext.components).length > 0 &&
@@ -134,7 +134,9 @@ export class MoneyRaw extends BaseInput<
134
134
  value={item.currency.value.toString()}
135
135
  />
136
136
  ) : (
137
- currentCurrencies?.[0]?.label
137
+ <span className="money-input__currencyLabel">
138
+ {currentCurrencies?.[0]?.label}
139
+ </span>
138
140
  )}
139
141
  <Text
140
142
  {...(this.props.id && {