@activecollab/components 1.0.242 → 1.0.244
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/components/Avatar/Avatar.js +32 -6
- package/dist/cjs/components/Avatar/Avatar.js.map +1 -1
- package/dist/cjs/components/Avatar/Styles.js +11 -5
- package/dist/cjs/components/Avatar/Styles.js.map +1 -1
- package/dist/cjs/components/Badge/Badge.js +50 -0
- package/dist/cjs/components/Badge/Badge.js.map +1 -0
- package/dist/cjs/components/Badge/Styles.js +34 -0
- package/dist/cjs/components/Badge/Styles.js.map +1 -0
- package/dist/cjs/components/Badge/index.js +17 -0
- package/dist/cjs/components/Badge/index.js.map +1 -0
- package/dist/cjs/components/Button/Button.js +1 -0
- package/dist/cjs/components/Button/Button.js.map +1 -1
- package/dist/cjs/components/ComboBox/ComboBox.js.map +1 -1
- package/dist/cjs/components/IconButton/IconButton.js +1 -0
- package/dist/cjs/components/IconButton/IconButton.js.map +1 -1
- package/dist/cjs/components/MultiAvatar/MultiAvatar.js +35 -6
- package/dist/cjs/components/MultiAvatar/MultiAvatar.js.map +1 -1
- package/dist/cjs/components/Select/Select.js +2 -1
- package/dist/cjs/components/Select/Select.js.map +1 -1
- package/dist/cjs/components/Window/Window.js +0 -7
- package/dist/cjs/components/Window/Window.js.map +1 -1
- package/dist/cjs/components/index.js +11 -0
- package/dist/cjs/components/index.js.map +1 -1
- package/dist/esm/components/Avatar/Avatar.d.ts +28 -2
- package/dist/esm/components/Avatar/Avatar.d.ts.map +1 -1
- package/dist/esm/components/Avatar/Avatar.js +33 -7
- package/dist/esm/components/Avatar/Avatar.js.map +1 -1
- package/dist/esm/components/Avatar/Styles.d.ts +3 -1
- package/dist/esm/components/Avatar/Styles.d.ts.map +1 -1
- package/dist/esm/components/Avatar/Styles.js +9 -4
- package/dist/esm/components/Avatar/Styles.js.map +1 -1
- package/dist/esm/components/Badge/Badge.d.ts +32 -0
- package/dist/esm/components/Badge/Badge.d.ts.map +1 -0
- package/dist/esm/components/Badge/Badge.js +42 -0
- package/dist/esm/components/Badge/Badge.js.map +1 -0
- package/dist/esm/components/Badge/Styles.d.ts +3 -0
- package/dist/esm/components/Badge/Styles.d.ts.map +1 -0
- package/dist/esm/components/Badge/Styles.js +24 -0
- package/dist/esm/components/Badge/Styles.js.map +1 -0
- package/dist/esm/components/Badge/index.d.ts +2 -0
- package/dist/esm/components/Badge/index.d.ts.map +1 -0
- package/dist/esm/components/Badge/index.js +2 -0
- package/dist/esm/components/Badge/index.js.map +1 -0
- package/dist/esm/components/Button/Button.d.ts +1 -0
- package/dist/esm/components/Button/Button.d.ts.map +1 -1
- package/dist/esm/components/Button/Button.js +1 -0
- package/dist/esm/components/Button/Button.js.map +1 -1
- package/dist/esm/components/ComboBox/ComboBox.js.map +1 -1
- package/dist/esm/components/IconButton/IconButton.d.ts +1 -0
- package/dist/esm/components/IconButton/IconButton.d.ts.map +1 -1
- package/dist/esm/components/IconButton/IconButton.js +1 -0
- package/dist/esm/components/IconButton/IconButton.js.map +1 -1
- package/dist/esm/components/MultiAvatar/MultiAvatar.d.ts +33 -3
- package/dist/esm/components/MultiAvatar/MultiAvatar.d.ts.map +1 -1
- package/dist/esm/components/MultiAvatar/MultiAvatar.js +35 -6
- package/dist/esm/components/MultiAvatar/MultiAvatar.js.map +1 -1
- package/dist/esm/components/Select/Select.d.ts.map +1 -1
- package/dist/esm/components/Select/Select.js +2 -1
- package/dist/esm/components/Select/Select.js.map +1 -1
- package/dist/esm/components/Window/Window.d.ts.map +1 -1
- package/dist/esm/components/Window/Window.js +1 -8
- package/dist/esm/components/Window/Window.js.map +1 -1
- package/dist/esm/components/index.d.ts +1 -0
- package/dist/esm/components/index.d.ts.map +1 -1
- package/dist/esm/components/index.js +1 -0
- package/dist/esm/components/index.js.map +1 -1
- package/dist/index.js +143 -24
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.js","names":["Select","type","mode","target","options","selected","position","onChange","actionIcon","actionLabel","placeholder","emptyAction","disableSearch","forceCloseMenu","selectClassName","keepSameOptionsOrder","onSelectOpen","onSelectClose","renderOption","handleDefaultOptionChange","preselectDefaultValue","prop","useState","childNode","setChildNode","elementRef","useRef","handleRef","useForkRef","Tag","Menu","formRef","open","setOpen","selectedOptions","useMemo","Array","selectOptions","allOptionValues","reduce","acc","option","isOptionGroup","id","allGroupOptions","map","isAllOptionsChecked","every","includes","useEffect","focus","handleChange","useCallback","selectedValue","onClose","onOpen","props","menuClassName","classNames","className","handleEmptyAction","value","current","reset","handleDefaultOptionChangeCallback","length","handleRenderOption","image","color","textColor","name","additionalInfo","zIndex","displayName"],"sources":["../../../../src/components/Select/Select.tsx"],"sourcesContent":["import React, {\n FC,\n useCallback,\n useState,\n ReactElement,\n useMemo,\n useEffect,\n useRef,\n Ref,\n} from \"react\";\nimport { Autocomplete, isOptionGroup } from \"../Autocomplete\";\nimport { Tooltip } from \"../Tooltip\";\nimport { Menu } from \"../Menu/Menu\";\nimport { IOptionItemProps } from \"../Select/Option\";\nimport { IOptionGroupProps } from \"../Select/OptionGroup\";\nimport classNames from \"classnames\";\nimport { Placement } from \"@popperjs/core\";\nimport { IAutocompleteProps } from \"../Autocomplete/Autocomplete\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport {\n StyledSelectForm,\n StyledSelectInput,\n StyledCheckbox,\n StyledRadioButton,\n} from \"./Styles\";\nimport { OptionContent } from \"./OptionContent/OptionContent\";\n\ninterface ElementWithRef<T> extends ReactElement {\n ref?: Ref<T>;\n}\n\nexport interface ISelectProps\n extends Omit<\n IAutocompleteProps,\n \"handleChange\" | \"inputEl\" | \"handleEmptyAction\" | \"clearInputOnSelect\"\n > {\n /** Menu width mode */\n mode?: \"normal\" | \"wider\" | \"tiny\";\n /** Set select target element */\n target?: ElementWithRef<Element>;\n /** Set Select position */\n position?: Placement;\n /** onChange callback */\n onChange?: (e: (string | number)[] | string | number) => void;\n /** Set action icon in select */\n actionIcon?: ReactElement;\n /** Set label for action icon */\n actionLabel?: string;\n /** Placeholder for Select input */\n placeholder?: string;\n /** Function that triggers when empty is clicked */\n emptyAction?: (e: string | undefined) => void;\n /** Removes input from Select */\n disableSearch?: boolean;\n /** Close menu on select */\n forceCloseMenu?: boolean;\n /** Set select classNames */\n selectClassName?: string;\n /** Callback called when the Select menu is opened */\n onSelectOpen?: () => void;\n /** Callback called when the Select menu is closed */\n onSelectClose?: () => void;\n}\n\nexport const Select: FC<ISelectProps> = ({\n type = \"single\",\n mode,\n target,\n options,\n selected = [],\n position = \"bottom-start\",\n onChange = () => null,\n actionIcon,\n actionLabel,\n placeholder,\n emptyAction = (): null => null,\n disableSearch = false,\n forceCloseMenu,\n selectClassName,\n keepSameOptionsOrder = false,\n onSelectOpen,\n onSelectClose,\n renderOption,\n handleDefaultOptionChange,\n preselectDefaultValue = type === \"single\",\n ...prop\n}) => {\n const [childNode, setChildNode] = useState<HTMLInputElement | null>();\n const elementRef = useRef<HTMLInputElement | null>(null);\n\n const handleRef = useForkRef(setChildNode, elementRef);\n\n const Tag = !target ? \"div\" : Menu;\n const formRef = useRef<HTMLFormElement | null>(null);\n\n const [open, setOpen] = useState(false);\n\n const selectedOptions = useMemo(\n () => (selected instanceof Array ? selected : [selected]),\n [selected]\n );\n\n const selectOptions = useMemo(() => {\n if (!options) {\n return [];\n }\n return options;\n }, [options]);\n\n const allOptionValues = useMemo(() => {\n return selectOptions.reduce(\n (\n acc: (string | number)[],\n option: IOptionGroupProps | IOptionItemProps\n ) => {\n if (!isOptionGroup(option)) {\n return [...acc, option.id];\n }\n const allGroupOptions = option.options.map((option) => option.id);\n return [...acc, ...allGroupOptions];\n },\n []\n );\n }, [selectOptions]);\n\n const isAllOptionsChecked = useMemo(\n () => allOptionValues.every((option) => selectedOptions.includes(option)),\n [allOptionValues, selectedOptions]\n );\n\n useEffect(() => {\n open && childNode?.focus();\n }, [childNode, open]);\n\n const handleChange = useCallback(\n (selectedValue) => {\n if (forceCloseMenu) {\n setOpen(false);\n }\n if (selectedValue !== selected) {\n onChange(selectedValue);\n }\n },\n [forceCloseMenu, selected, onChange]\n );\n\n const onClose = useCallback(() => {\n setOpen(false);\n if (onSelectClose) {\n onSelectClose();\n }\n }, [onSelectClose]);\n\n const onOpen = useCallback(() => {\n setOpen(true);\n if (onSelectOpen) {\n onSelectOpen();\n }\n }, [onSelectOpen]);\n\n const props = useMemo(() => {\n if (target) {\n return {\n menuClassName: classNames(\"c-select\", selectClassName),\n onClose,\n onOpen,\n target,\n mode,\n open,\n position,\n };\n }\n return { className: classNames(\"c-select\", selectClassName) };\n }, [target, selectClassName, onClose, onOpen, mode, open, position]);\n\n const handleEmptyAction = useCallback(\n (value) => {\n emptyAction(value);\n if (forceCloseMenu) {\n setOpen(false);\n }\n formRef.current?.reset();\n },\n [emptyAction, forceCloseMenu]\n );\n\n const handleDefaultOptionChangeCallback = useCallback(() => {\n if (type === \"multiple\") {\n if (selectedOptions.length === allOptionValues.length) {\n if (typeof handleDefaultOptionChange === \"function\") {\n handleDefaultOptionChange();\n } else {\n onChange([]);\n }\n } else {\n if (typeof handleDefaultOptionChange === \"function\") {\n handleDefaultOptionChange();\n } else {\n onChange(allOptionValues);\n }\n }\n } else {\n if (typeof handleDefaultOptionChange === \"function\") {\n handleDefaultOptionChange();\n } else {\n onChange(\"\");\n }\n }\n if (forceCloseMenu) {\n setOpen(false);\n }\n }, [\n onChange,\n type,\n forceCloseMenu,\n selectedOptions.length,\n allOptionValues,\n handleDefaultOptionChange,\n ]);\n\n const handleRenderOption = useCallback(\n (option, props) => {\n if (typeof renderOption === \"function\") {\n return renderOption(option, props);\n }\n return (\n <>\n <OptionContent\n imageUrl={option.image}\n color={option.color}\n textColor={option.textColor}\n name={option.name}\n additionalInfo={option.additionalInfo}\n />\n {option.id === null ? (\n type === \"multiple\" ? (\n <StyledCheckbox checked={isAllOptionsChecked} {...props} />\n ) : (\n <StyledRadioButton\n checked={selectedOptions.length < 1 || !selectedOptions[0]}\n {...props}\n />\n )\n ) : type === \"multiple\" ? (\n <StyledCheckbox {...props} />\n ) : (\n <StyledRadioButton {...props} />\n )}\n </>\n );\n },\n [isAllOptionsChecked, renderOption, selectedOptions, type]\n );\n\n return (\n <Tag {...props}>\n <div>\n {!disableSearch ? (\n <StyledSelectForm ref={formRef}>\n <StyledSelectInput\n ref={handleRef}\n autoFocus\n placeholder={placeholder}\n />\n {actionIcon && actionLabel && (\n <Tooltip\n popperTooltipStyle={{ zIndex: 1301 }}\n title={actionLabel}\n >\n <div>{actionIcon}</div>\n </Tooltip>\n )}\n {actionIcon && !actionLabel && actionIcon}\n </StyledSelectForm>\n ) : null}\n <Autocomplete\n {...prop}\n clearInputOnSelect\n inputEl={childNode}\n handleEmptyAction={handleEmptyAction}\n selected={selected}\n handleChange={handleChange}\n renderOption={handleRenderOption}\n options={options}\n handleDefaultOptionChange={handleDefaultOptionChangeCallback}\n type={type}\n preselectDefaultValue={preselectDefaultValue}\n keepSameOptionsOrder={keepSameOptionsOrder}\n />\n </div>\n </Tag>\n );\n};\n\nSelect.displayName = \"Select\";\n"],"mappings":";;;;;;;AAAA;AAUA;AACA;AACA;AAGA;AAGA;AACA;AAMA;AAA8D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAuCvD,IAAMA,MAAwB,GAAG,SAA3BA,MAAwB,OAsB/B;EAAA,qBArBJC,IAAI;IAAJA,IAAI,0BAAG,QAAQ;IACfC,IAAI,QAAJA,IAAI;IACJC,MAAM,QAANA,MAAM;IACNC,OAAO,QAAPA,OAAO;IAAA,qBACPC,QAAQ;IAARA,QAAQ,8BAAG,EAAE;IAAA,qBACbC,QAAQ;IAARA,QAAQ,8BAAG,cAAc;IAAA,qBACzBC,QAAQ;IAARA,QAAQ,8BAAG;MAAA,OAAM,IAAI;IAAA;IACrBC,UAAU,QAAVA,UAAU;IACVC,WAAW,QAAXA,WAAW;IACXC,WAAW,QAAXA,WAAW;IAAA,wBACXC,WAAW;IAAXA,WAAW,iCAAG;MAAA,OAAY,IAAI;IAAA;IAAA,0BAC9BC,aAAa;IAAbA,aAAa,mCAAG,KAAK;IACrBC,cAAc,QAAdA,cAAc;IACdC,eAAe,QAAfA,eAAe;IAAA,6BACfC,oBAAoB;IAApBA,oBAAoB,sCAAG,KAAK;IAC5BC,YAAY,QAAZA,YAAY;IACZC,aAAa,QAAbA,aAAa;IACbC,YAAY,QAAZA,YAAY;IACZC,yBAAyB,QAAzBA,yBAAyB;IAAA,6BACzBC,qBAAqB;IAArBA,qBAAqB,sCAAGnB,IAAI,KAAK,QAAQ;IACtCoB,IAAI;EAEP,gBAAkC,IAAAC,eAAQ,GAA2B;IAAA;IAA9DC,SAAS;IAAEC,YAAY;EAC9B,IAAMC,UAAU,GAAG,IAAAC,aAAM,EAA0B,IAAI,CAAC;EAExD,IAAMC,SAAS,GAAG,IAAAC,mBAAU,EAACJ,YAAY,EAAEC,UAAU,CAAC;EAEtD,IAAMI,GAAG,GAAG,CAAC1B,MAAM,GAAG,KAAK,GAAG2B,UAAI;EAClC,IAAMC,OAAO,GAAG,IAAAL,aAAM,EAAyB,IAAI,CAAC;EAEpD,iBAAwB,IAAAJ,eAAQ,EAAC,KAAK,CAAC;IAAA;IAAhCU,IAAI;IAAEC,OAAO;EAEpB,IAAMC,eAAe,GAAG,IAAAC,cAAO,EAC7B;IAAA,OAAO9B,QAAQ,YAAY+B,KAAK,GAAG/B,QAAQ,GAAG,CAACA,QAAQ,CAAC;EAAA,CAAC,EACzD,CAACA,QAAQ,CAAC,CACX;EAED,IAAMgC,aAAa,GAAG,IAAAF,cAAO,EAAC,YAAM;IAClC,IAAI,CAAC/B,OAAO,EAAE;MACZ,OAAO,EAAE;IACX;IACA,OAAOA,OAAO;EAChB,CAAC,EAAE,CAACA,OAAO,CAAC,CAAC;EAEb,IAAMkC,eAAe,GAAG,IAAAH,cAAO,EAAC,YAAM;IACpC,OAAOE,aAAa,CAACE,MAAM,CACzB,UACEC,GAAwB,EACxBC,MAA4C,EACzC;MACH,IAAI,CAAC,IAAAC,2BAAa,EAACD,MAAM,CAAC,EAAE;QAC1B,oCAAWD,GAAG,IAAEC,MAAM,CAACE,EAAE;MAC3B;MACA,IAAMC,eAAe,GAAGH,MAAM,CAACrC,OAAO,CAACyC,GAAG,CAAC,UAACJ,MAAM;QAAA,OAAKA,MAAM,CAACE,EAAE;MAAA,EAAC;MACjE,oCAAWH,GAAG,sBAAKI,eAAe;IACpC,CAAC,EACD,EAAE,CACH;EACH,CAAC,EAAE,CAACP,aAAa,CAAC,CAAC;EAEnB,IAAMS,mBAAmB,GAAG,IAAAX,cAAO,EACjC;IAAA,OAAMG,eAAe,CAACS,KAAK,CAAC,UAACN,MAAM;MAAA,OAAKP,eAAe,CAACc,QAAQ,CAACP,MAAM,CAAC;IAAA,EAAC;EAAA,GACzE,CAACH,eAAe,EAAEJ,eAAe,CAAC,CACnC;EAED,IAAAe,gBAAS,EAAC,YAAM;IACdjB,IAAI,KAAIT,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAE2B,KAAK,EAAE;EAC5B,CAAC,EAAE,CAAC3B,SAAS,EAAES,IAAI,CAAC,CAAC;EAErB,IAAMmB,YAAY,GAAG,IAAAC,kBAAW,EAC9B,UAACC,aAAa,EAAK;IACjB,IAAIxC,cAAc,EAAE;MAClBoB,OAAO,CAAC,KAAK,CAAC;IAChB;IACA,IAAIoB,aAAa,KAAKhD,QAAQ,EAAE;MAC9BE,QAAQ,CAAC8C,aAAa,CAAC;IACzB;EACF,CAAC,EACD,CAACxC,cAAc,EAAER,QAAQ,EAAEE,QAAQ,CAAC,CACrC;EAED,IAAM+C,OAAO,GAAG,IAAAF,kBAAW,EAAC,YAAM;IAChCnB,OAAO,CAAC,KAAK,CAAC;IACd,IAAIhB,aAAa,EAAE;MACjBA,aAAa,EAAE;IACjB;EACF,CAAC,EAAE,CAACA,aAAa,CAAC,CAAC;EAEnB,IAAMsC,MAAM,GAAG,IAAAH,kBAAW,EAAC,YAAM;IAC/BnB,OAAO,CAAC,IAAI,CAAC;IACb,IAAIjB,YAAY,EAAE;MAChBA,YAAY,EAAE;IAChB;EACF,CAAC,EAAE,CAACA,YAAY,CAAC,CAAC;EAElB,IAAMwC,KAAK,GAAG,IAAArB,cAAO,EAAC,YAAM;IAC1B,IAAIhC,MAAM,EAAE;MACV,OAAO;QACLsD,aAAa,EAAE,IAAAC,mBAAU,EAAC,UAAU,EAAE5C,eAAe,CAAC;QACtDwC,OAAO,EAAPA,OAAO;QACPC,MAAM,EAANA,MAAM;QACNpD,MAAM,EAANA,MAAM;QACND,IAAI,EAAJA,IAAI;QACJ8B,IAAI,EAAJA,IAAI;QACJ1B,QAAQ,EAARA;MACF,CAAC;IACH;IACA,OAAO;MAAEqD,SAAS,EAAE,IAAAD,mBAAU,EAAC,UAAU,EAAE5C,eAAe;IAAE,CAAC;EAC/D,CAAC,EAAE,CAACX,MAAM,EAAEW,eAAe,EAAEwC,OAAO,EAAEC,MAAM,EAAErD,IAAI,EAAE8B,IAAI,EAAE1B,QAAQ,CAAC,CAAC;EAEpE,IAAMsD,iBAAiB,GAAG,IAAAR,kBAAW,EACnC,UAACS,KAAK,EAAK;IAAA;IACTlD,WAAW,CAACkD,KAAK,CAAC;IAClB,IAAIhD,cAAc,EAAE;MAClBoB,OAAO,CAAC,KAAK,CAAC;IAChB;IACA,oBAAAF,OAAO,CAAC+B,OAAO,qDAAf,iBAAiBC,KAAK,EAAE;EAC1B,CAAC,EACD,CAACpD,WAAW,EAAEE,cAAc,CAAC,CAC9B;EAED,IAAMmD,iCAAiC,GAAG,IAAAZ,kBAAW,EAAC,YAAM;IAC1D,IAAInD,IAAI,KAAK,UAAU,EAAE;MACvB,IAAIiC,eAAe,CAAC+B,MAAM,KAAK3B,eAAe,CAAC2B,MAAM,EAAE;QACrD,IAAI,OAAO9C,yBAAyB,KAAK,UAAU,EAAE;UACnDA,yBAAyB,EAAE;QAC7B,CAAC,MAAM;UACLZ,QAAQ,CAAC,EAAE,CAAC;QACd;MACF,CAAC,MAAM;QACL,IAAI,OAAOY,yBAAyB,KAAK,UAAU,EAAE;UACnDA,yBAAyB,EAAE;QAC7B,CAAC,MAAM;UACLZ,QAAQ,CAAC+B,eAAe,CAAC;QAC3B;MACF;IACF,CAAC,MAAM;MACL,IAAI,OAAOnB,yBAAyB,KAAK,UAAU,EAAE;QACnDA,yBAAyB,EAAE;MAC7B,CAAC,MAAM;QACLZ,QAAQ,CAAC,EAAE,CAAC;MACd;IACF;IACA,IAAIM,cAAc,EAAE;MAClBoB,OAAO,CAAC,KAAK,CAAC;IAChB;EACF,CAAC,EAAE,CACD1B,QAAQ,EACRN,IAAI,EACJY,cAAc,EACdqB,eAAe,CAAC+B,MAAM,EACtB3B,eAAe,EACfnB,yBAAyB,CAC1B,CAAC;EAEF,IAAM+C,kBAAkB,GAAG,IAAAd,kBAAW,EACpC,UAACX,MAAM,EAAEe,KAAK,EAAK;IACjB,IAAI,OAAOtC,YAAY,KAAK,UAAU,EAAE;MACtC,OAAOA,YAAY,CAACuB,MAAM,EAAEe,KAAK,CAAC;IACpC;IACA,oBACE,yEACE,6BAAC,4BAAa;MACZ,QAAQ,EAAEf,MAAM,CAAC0B,KAAM;MACvB,KAAK,EAAE1B,MAAM,CAAC2B,KAAM;MACpB,SAAS,EAAE3B,MAAM,CAAC4B,SAAU;MAC5B,IAAI,EAAE5B,MAAM,CAAC6B,IAAK;MAClB,cAAc,EAAE7B,MAAM,CAAC8B;IAAe,EACtC,EACD9B,MAAM,CAACE,EAAE,KAAK,IAAI,GACjB1C,IAAI,KAAK,UAAU,gBACjB,6BAAC,sBAAc;MAAC,OAAO,EAAE6C;IAAoB,GAAKU,KAAK,EAAI,gBAE3D,6BAAC,yBAAiB;MAChB,OAAO,EAAEtB,eAAe,CAAC+B,MAAM,GAAG,CAAC,IAAI,CAAC/B,eAAe,CAAC,CAAC;IAAE,GACvDsB,KAAK,EAEZ,GACCvD,IAAI,KAAK,UAAU,gBACrB,6BAAC,sBAAc,EAAKuD,KAAK,CAAI,gBAE7B,6BAAC,yBAAiB,EAAKA,KAAK,CAC7B,CACA;EAEP,CAAC,EACD,CAACV,mBAAmB,EAAE5B,YAAY,EAAEgB,eAAe,EAAEjC,IAAI,CAAC,CAC3D;EAED,oBACE,6BAAC,GAAG,EAAKuD,KAAK,eACZ,0CACG,CAAC5C,aAAa,gBACb,6BAAC,wBAAgB;IAAC,GAAG,EAAEmB;EAAQ,gBAC7B,6BAAC,yBAAiB;IAChB,GAAG,EAAEJ,SAAU;IACf,SAAS;IACT,WAAW,EAAEjB;EAAY,EACzB,EACDF,UAAU,IAAIC,WAAW,iBACxB,6BAAC,gBAAO;IACN,kBAAkB,EAAE;MAAE+D,MAAM,EAAE;IAAK,CAAE;IACrC,KAAK,EAAE/D;EAAY,gBAEnB,0CAAMD,UAAU,CAAO,CAE1B,EACAA,UAAU,IAAI,CAACC,WAAW,IAAID,UAAU,CACxB,GACjB,IAAI,eACR,6BAAC,0BAAY,eACPa,IAAI;IACR,kBAAkB;IAClB,OAAO,EAAEE,SAAU;IACnB,iBAAiB,EAAEqC,iBAAkB;IACrC,QAAQ,EAAEvD,QAAS;IACnB,YAAY,EAAE8C,YAAa;IAC3B,YAAY,EAAEe,kBAAmB;IACjC,OAAO,EAAE9D,OAAQ;IACjB,yBAAyB,EAAE4D,iCAAkC;IAC7D,IAAI,EAAE/D,IAAK;IACX,qBAAqB,EAAEmB,qBAAsB;IAC7C,oBAAoB,EAAEL;EAAqB,GAC3C,CACE,CACF;AAEV,CAAC;AAAC;AAEFf,MAAM,CAACyE,WAAW,GAAG,QAAQ"}
|
|
1
|
+
{"version":3,"file":"Select.js","names":["Select","type","mode","target","options","selected","position","onChange","actionIcon","actionLabel","placeholder","emptyAction","disableSearch","forceCloseMenu","selectClassName","keepSameOptionsOrder","onSelectOpen","onSelectClose","renderOption","handleDefaultOptionChange","preselectDefaultValue","prop","useState","childNode","setChildNode","elementRef","useRef","handleRef","useForkRef","Tag","Menu","formRef","open","setOpen","selectedOptions","useMemo","Array","selectOptions","allOptionValues","reduce","acc","option","isOptionGroup","id","allGroupOptions","map","isAllOptionsChecked","every","includes","useEffect","focus","handleChange","useCallback","selectedValue","onClose","onOpen","props","menuClassName","classNames","className","handleEmptyAction","value","current","reset","handleDefaultOptionChangeCallback","length","handleRenderOption","image","color","textColor","name","additionalInfo","zIndex","displayName"],"sources":["../../../../src/components/Select/Select.tsx"],"sourcesContent":["import React, {\n FC,\n useCallback,\n useState,\n ReactElement,\n useMemo,\n useEffect,\n useRef,\n Ref,\n} from \"react\";\nimport { Autocomplete, isOptionGroup } from \"../Autocomplete\";\nimport { Tooltip } from \"../Tooltip\";\nimport { Menu } from \"../Menu/Menu\";\nimport { IOptionItemProps } from \"../Select/Option\";\nimport { IOptionGroupProps } from \"../Select/OptionGroup\";\nimport classNames from \"classnames\";\nimport { Placement } from \"@popperjs/core\";\nimport { IAutocompleteProps } from \"../Autocomplete/Autocomplete\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport {\n StyledSelectForm,\n StyledSelectInput,\n StyledCheckbox,\n StyledRadioButton,\n} from \"./Styles\";\nimport { OptionContent } from \"./OptionContent/OptionContent\";\n\ninterface ElementWithRef<T> extends ReactElement {\n ref?: Ref<T>;\n}\n\nexport interface ISelectProps\n extends Omit<\n IAutocompleteProps,\n \"handleChange\" | \"inputEl\" | \"handleEmptyAction\" | \"clearInputOnSelect\"\n > {\n /** Menu width mode */\n mode?: \"normal\" | \"wider\" | \"tiny\";\n /** Set select target element */\n target?: ElementWithRef<Element>;\n /** Set Select position */\n position?: Placement;\n /** onChange callback */\n onChange?: (e: (string | number)[] | string | number) => void;\n /** Set action icon in select */\n actionIcon?: ReactElement;\n /** Set label for action icon */\n actionLabel?: string;\n /** Placeholder for Select input */\n placeholder?: string;\n /** Function that triggers when empty is clicked */\n emptyAction?: (e: string | undefined) => void;\n /** Removes input from Select */\n disableSearch?: boolean;\n /** Close menu on select */\n forceCloseMenu?: boolean;\n /** Set select classNames */\n selectClassName?: string;\n /** Callback called when the Select menu is opened */\n onSelectOpen?: () => void;\n /** Callback called when the Select menu is closed */\n onSelectClose?: () => void;\n}\n\nexport const Select: FC<ISelectProps> = ({\n type = \"single\",\n mode,\n target,\n options,\n selected = [],\n position = \"bottom-start\",\n onChange = () => null,\n actionIcon,\n actionLabel,\n placeholder,\n emptyAction = (): null => null,\n disableSearch = false,\n forceCloseMenu,\n selectClassName,\n keepSameOptionsOrder = false,\n onSelectOpen,\n onSelectClose,\n renderOption,\n handleDefaultOptionChange,\n preselectDefaultValue = type === \"single\",\n ...prop\n}) => {\n const [childNode, setChildNode] = useState<HTMLInputElement | null>();\n const elementRef = useRef<HTMLInputElement | null>(null);\n\n const handleRef = useForkRef(setChildNode, elementRef);\n\n const Tag = !target ? \"div\" : Menu;\n const formRef = useRef<HTMLFormElement | null>(null);\n\n const [open, setOpen] = useState(false);\n\n const selectedOptions = useMemo(\n () => (selected instanceof Array ? selected : [selected]),\n [selected]\n );\n\n const selectOptions = useMemo(() => {\n if (!options) {\n return [];\n }\n return options;\n }, [options]);\n\n const allOptionValues = useMemo(() => {\n return selectOptions.reduce(\n (\n acc: (string | number)[],\n option: IOptionGroupProps | IOptionItemProps\n ) => {\n if (!isOptionGroup(option)) {\n return [...acc, option.id];\n }\n const allGroupOptions = option.options.map((option) => option.id);\n return [...acc, ...allGroupOptions];\n },\n []\n );\n }, [selectOptions]);\n\n const isAllOptionsChecked = useMemo(\n () => allOptionValues.every((option) => selectedOptions.includes(option)),\n [allOptionValues, selectedOptions]\n );\n\n useEffect(() => {\n open && childNode?.focus();\n }, [childNode, open]);\n\n const handleChange = useCallback(\n (selectedValue) => {\n if (forceCloseMenu) {\n if (typeof onSelectClose === \"function\") onSelectClose();\n setOpen(false);\n }\n if (selectedValue !== selected) {\n onChange(selectedValue);\n }\n },\n [forceCloseMenu, selected, onSelectClose, onChange]\n );\n\n const onClose = useCallback(() => {\n setOpen(false);\n if (onSelectClose) {\n onSelectClose();\n }\n }, [onSelectClose]);\n\n const onOpen = useCallback(() => {\n setOpen(true);\n if (onSelectOpen) {\n onSelectOpen();\n }\n }, [onSelectOpen]);\n\n const props = useMemo(() => {\n if (target) {\n return {\n menuClassName: classNames(\"c-select\", selectClassName),\n onClose,\n onOpen,\n target,\n mode,\n open,\n position,\n };\n }\n return { className: classNames(\"c-select\", selectClassName) };\n }, [target, selectClassName, onClose, onOpen, mode, open, position]);\n\n const handleEmptyAction = useCallback(\n (value) => {\n emptyAction(value);\n if (forceCloseMenu) {\n setOpen(false);\n }\n formRef.current?.reset();\n },\n [emptyAction, forceCloseMenu]\n );\n\n const handleDefaultOptionChangeCallback = useCallback(() => {\n if (type === \"multiple\") {\n if (selectedOptions.length === allOptionValues.length) {\n if (typeof handleDefaultOptionChange === \"function\") {\n handleDefaultOptionChange();\n } else {\n onChange([]);\n }\n } else {\n if (typeof handleDefaultOptionChange === \"function\") {\n handleDefaultOptionChange();\n } else {\n onChange(allOptionValues);\n }\n }\n } else {\n if (typeof handleDefaultOptionChange === \"function\") {\n handleDefaultOptionChange();\n } else {\n onChange(\"\");\n }\n }\n if (forceCloseMenu) {\n setOpen(false);\n }\n }, [\n onChange,\n type,\n forceCloseMenu,\n selectedOptions.length,\n allOptionValues,\n handleDefaultOptionChange,\n ]);\n\n const handleRenderOption = useCallback(\n (option, props) => {\n if (typeof renderOption === \"function\") {\n return renderOption(option, props);\n }\n return (\n <>\n <OptionContent\n imageUrl={option.image}\n color={option.color}\n textColor={option.textColor}\n name={option.name}\n additionalInfo={option.additionalInfo}\n />\n {option.id === null ? (\n type === \"multiple\" ? (\n <StyledCheckbox checked={isAllOptionsChecked} {...props} />\n ) : (\n <StyledRadioButton\n checked={selectedOptions.length < 1 || !selectedOptions[0]}\n {...props}\n />\n )\n ) : type === \"multiple\" ? (\n <StyledCheckbox {...props} />\n ) : (\n <StyledRadioButton {...props} />\n )}\n </>\n );\n },\n [isAllOptionsChecked, renderOption, selectedOptions, type]\n );\n\n return (\n <Tag {...props}>\n <div>\n {!disableSearch ? (\n <StyledSelectForm ref={formRef}>\n <StyledSelectInput\n ref={handleRef}\n autoFocus\n placeholder={placeholder}\n />\n {actionIcon && actionLabel && (\n <Tooltip\n popperTooltipStyle={{ zIndex: 1301 }}\n title={actionLabel}\n >\n <div>{actionIcon}</div>\n </Tooltip>\n )}\n {actionIcon && !actionLabel && actionIcon}\n </StyledSelectForm>\n ) : null}\n <Autocomplete\n {...prop}\n clearInputOnSelect\n inputEl={childNode}\n handleEmptyAction={handleEmptyAction}\n selected={selected}\n handleChange={handleChange}\n renderOption={handleRenderOption}\n options={options}\n handleDefaultOptionChange={handleDefaultOptionChangeCallback}\n type={type}\n preselectDefaultValue={preselectDefaultValue}\n keepSameOptionsOrder={keepSameOptionsOrder}\n />\n </div>\n </Tag>\n );\n};\n\nSelect.displayName = \"Select\";\n"],"mappings":"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"}
|
|
@@ -56,13 +56,6 @@ var Window = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
|
56
56
|
onKeyDown(event);
|
|
57
57
|
}
|
|
58
58
|
}, [disableCloseOnEsc, onClose, onKeyDown]);
|
|
59
|
-
(0, _react.useEffect)(function () {
|
|
60
|
-
return function () {
|
|
61
|
-
typeof onClose === "function" && onClose();
|
|
62
|
-
};
|
|
63
|
-
// Dependency is empty because we only want to call onClose when component is unmounted
|
|
64
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
65
|
-
}, []);
|
|
66
59
|
var handleClick = (0, _react.useCallback)(function (event) {
|
|
67
60
|
event === null || event === void 0 ? void 0 : event.stopPropagation();
|
|
68
61
|
typeof onClick === "function" && onClick(event);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Window.js","names":["returnFocus","preventScroll","Window","forwardRef","ref","children","onClose","className","style","onKeyDown","disableFocusLock","disableScrollLock","disableCloseOnEsc","onClick","rest","innerRef","useRef","handleRef","useForkRef","useLayerContext","zIndex","layers","skyscraper","handleKeyDown","useCallback","event","defaultPrevented","key","preventDefault","
|
|
1
|
+
{"version":3,"file":"Window.js","names":["returnFocus","preventScroll","Window","forwardRef","ref","children","onClose","className","style","onKeyDown","disableFocusLock","disableScrollLock","disableCloseOnEsc","onClick","rest","innerRef","useRef","handleRef","useForkRef","useLayerContext","zIndex","layers","skyscraper","handleKeyDown","useCallback","event","defaultPrevented","key","preventDefault","handleClick","stopPropagation","classnames","displayName"],"sources":["../../../../src/components/Window/Window.tsx"],"sourcesContent":["import React, { useCallback, useRef, forwardRef, KeyboardEvent } from \"react\";\nimport classnames from \"classnames\";\nimport FocusLock from \"react-focus-lock\";\nimport { Portal, useLayerContext } from \"../../helpers\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { StyledWindow } from \"./Style\";\nimport { layers } from \"../../utils\";\n\nexport interface IWindow {\n onClose?: () => void;\n disableFocusLock?: boolean;\n disableScrollLock?: boolean;\n disableCloseOnEsc?: boolean;\n}\n\nconst returnFocus = { preventScroll: true };\n\nexport const Window = forwardRef<\n HTMLDivElement,\n IWindow & Omit<React.ComponentPropsWithoutRef<\"div\">, keyof IWindow>\n>(\n (\n {\n children,\n onClose,\n className,\n style,\n onKeyDown,\n disableFocusLock = false,\n disableScrollLock = false,\n disableCloseOnEsc = false,\n onClick,\n ...rest\n },\n ref\n ) => {\n const innerRef = useRef<HTMLDivElement>(null);\n const handleRef = useForkRef(innerRef, ref);\n const { zIndex = layers.skyscraper } = useLayerContext();\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n if (\n !event.defaultPrevented &&\n (event.key === \"Esc\" || event.key === \"Escape\") &&\n !disableCloseOnEsc\n ) {\n event.preventDefault();\n if (onClose) {\n onClose();\n }\n }\n if (typeof onKeyDown === \"function\") {\n onKeyDown(event);\n }\n },\n [disableCloseOnEsc, onClose, onKeyDown]\n );\n\n const handleClick = useCallback(\n (event) => {\n event?.stopPropagation();\n typeof onClick === \"function\" && onClick(event);\n },\n [onClick]\n );\n\n return (\n <Portal>\n <FocusLock returnFocus={returnFocus} disabled={disableFocusLock}>\n <RemoveScroll\n forwardProps\n ref={handleRef}\n enabled={!disableScrollLock}\n noIsolation\n >\n <StyledWindow\n {...rest}\n style={{ zIndex, ...style }}\n onKeyDown={handleKeyDown}\n tabIndex={0}\n className={classnames(\"c-window\", className)}\n onClick={handleClick}\n >\n {children}\n </StyledWindow>\n </RemoveScroll>\n </FocusLock>\n </Portal>\n );\n }\n);\n\nWindow.displayName = \"Window\";\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAqC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASrC,IAAMA,WAAW,GAAG;EAAEC,aAAa,EAAE;AAAK,CAAC;AAEpC,IAAMC,MAAM,gBAAG,IAAAC,iBAAU,EAI9B,gBAaEC,GAAG,EACA;EAAA,IAZDC,QAAQ,QAARA,QAAQ;IACRC,OAAO,QAAPA,OAAO;IACPC,SAAS,QAATA,SAAS;IACTC,KAAK,QAALA,KAAK;IACLC,SAAS,QAATA,SAAS;IAAA,6BACTC,gBAAgB;IAAhBA,gBAAgB,sCAAG,KAAK;IAAA,6BACxBC,iBAAiB;IAAjBA,iBAAiB,sCAAG,KAAK;IAAA,6BACzBC,iBAAiB;IAAjBA,iBAAiB,sCAAG,KAAK;IACzBC,OAAO,QAAPA,OAAO;IACJC,IAAI;EAIT,IAAMC,QAAQ,GAAG,IAAAC,aAAM,EAAiB,IAAI,CAAC;EAC7C,IAAMC,SAAS,GAAG,IAAAC,mBAAU,EAACH,QAAQ,EAAEX,GAAG,CAAC;EAC3C,uBAAuC,IAAAe,wBAAe,GAAE;IAAA,yCAAhDC,MAAM;IAANA,MAAM,sCAAGC,aAAM,CAACC,UAAU;EAElC,IAAMC,aAAa,GAAG,IAAAC,kBAAW,EAC/B,UAACC,KAAoC,EAAK;IACxC,IACE,CAACA,KAAK,CAACC,gBAAgB,KACtBD,KAAK,CAACE,GAAG,KAAK,KAAK,IAAIF,KAAK,CAACE,GAAG,KAAK,QAAQ,CAAC,IAC/C,CAACf,iBAAiB,EAClB;MACAa,KAAK,CAACG,cAAc,EAAE;MACtB,IAAItB,OAAO,EAAE;QACXA,OAAO,EAAE;MACX;IACF;IACA,IAAI,OAAOG,SAAS,KAAK,UAAU,EAAE;MACnCA,SAAS,CAACgB,KAAK,CAAC;IAClB;EACF,CAAC,EACD,CAACb,iBAAiB,EAAEN,OAAO,EAAEG,SAAS,CAAC,CACxC;EAED,IAAMoB,WAAW,GAAG,IAAAL,kBAAW,EAC7B,UAACC,KAAK,EAAK;IACTA,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEK,eAAe,EAAE;IACxB,OAAOjB,OAAO,KAAK,UAAU,IAAIA,OAAO,CAACY,KAAK,CAAC;EACjD,CAAC,EACD,CAACZ,OAAO,CAAC,CACV;EAED,oBACE,6BAAC,eAAM,qBACL,6BAAC,uBAAS;IAAC,WAAW,EAAEb,WAAY;IAAC,QAAQ,EAAEU;EAAiB,gBAC9D,6BAAC,+BAAY;IACX,YAAY;IACZ,GAAG,EAAEO,SAAU;IACf,OAAO,EAAE,CAACN,iBAAkB;IAC5B,WAAW;EAAA,gBAEX,6BAAC,mBAAY,eACPG,IAAI;IACR,KAAK;MAAIM,MAAM,EAANA;IAAM,GAAKZ,KAAK,CAAG;IAC5B,SAAS,EAAEe,aAAc;IACzB,QAAQ,EAAE,CAAE;IACZ,SAAS,EAAE,IAAAQ,mBAAU,EAAC,UAAU,EAAExB,SAAS,CAAE;IAC7C,OAAO,EAAEsB;EAAY,IAEpBxB,QAAQ,CACI,CACF,CACL,CACL;AAEb,CAAC,CACF;AAAC;AAEFH,MAAM,CAAC8B,WAAW,GAAG,QAAQ"}
|
|
@@ -784,4 +784,15 @@ Object.keys(_IconButton).forEach(function (key) {
|
|
|
784
784
|
}
|
|
785
785
|
});
|
|
786
786
|
});
|
|
787
|
+
var _Badge = require("./Badge");
|
|
788
|
+
Object.keys(_Badge).forEach(function (key) {
|
|
789
|
+
if (key === "default" || key === "__esModule") return;
|
|
790
|
+
if (key in exports && exports[key] === _Badge[key]) return;
|
|
791
|
+
Object.defineProperty(exports, key, {
|
|
792
|
+
enumerable: true,
|
|
793
|
+
get: function get() {
|
|
794
|
+
return _Badge[key];
|
|
795
|
+
}
|
|
796
|
+
});
|
|
797
|
+
});
|
|
787
798
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../../src/components/index.ts"],"sourcesContent":["export * from \"./Button\";\nexport * from \"./ButtonGroup\";\nexport * from \"./Breadcrumbs\";\nexport * from \"./CounterButton\";\nexport * from \"./Steppers\";\nexport * from \"./Tables\";\nexport * from \"./CompleteCheckbox\";\nexport * from \"./Paper\";\nexport * from \"./ScaleBar\";\nexport * from \"./Card\";\nexport * from \"./EntityCard\";\nexport * from \"./Signifier\";\nexport * from \"./Avatar\";\nexport * from \"./Tag\";\nexport * from \"./Loaders\";\nexport * from \"./Nav\";\nexport * from \"./Bubble\";\nexport * from \"./Input\";\nexport * from \"./Menu\";\nexport * from \"./Expanders\";\nexport * from \"./Pickers\";\nexport * from \"./DatePicker\";\nexport * from \"./List\";\nexport * from \"./MenuSelector\";\nexport * from \"./MultiAvatar\";\nexport * from \"./RadioButton\";\nexport * from \"./ScrollShadow\";\nexport * from \"./Icons\";\nexport * from \"./Textarea\";\nexport * from \"./Modal\";\nexport * from \"./Sheet\";\nexport * from \"./Header\";\nexport * from \"./AutoResizeTextarea\";\nexport * from \"./Overlay\";\nexport * from \"./Accordion\";\nexport * from \"./Choose\";\nexport * from \"./Links\";\nexport * from \"./SelectDate\";\nexport * from \"./Popper\";\nexport * from \"./ToastMessage\";\nexport * from \"./Tooltip\";\nexport * from \"./Transitions\";\nexport * from \"./Pressed\";\nexport * from \"./Window\";\nexport * from \"./ValueButton\";\nexport * from \"./Select\";\nexport * from \"./SelectTrigger\";\nexport * from \"./Dialog\";\nexport * from \"./ConfirmDialog\";\nexport * from \"./Checkbox\";\nexport * from \"./Toggle\";\nexport * from \"./Typography\";\nexport * from \"./Autocomplete\";\nexport * from \"./ComboBox\";\nexport * from \"./Button/AddToListButton\";\nexport * from \"./ProgressBar\";\nexport * from \"./ProgressPie\";\nexport * from \"./Reactions\";\nexport * from \"./Label\";\nexport * from \"./GlobalStyle\";\nexport * from \"./ProgressRing\";\nexport * from \"./EditableContent\";\nexport * from \"./EditableText\";\nexport * from \"./Folder\";\nexport * from \"./Chip\";\nexport * from \"./Trigger\";\nexport * from \"./Dot\";\nexport * from \"./Entity\";\nexport * from \"./Filter\";\nexport * from \"./Wizard\";\nexport * from \"./IconButton\";\nexport * from \"./Typography\";\n"],"mappings":";;;;;AAAA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAoBA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AAnBA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../src/components/index.ts"],"sourcesContent":["export * from \"./Button\";\nexport * from \"./ButtonGroup\";\nexport * from \"./Breadcrumbs\";\nexport * from \"./CounterButton\";\nexport * from \"./Steppers\";\nexport * from \"./Tables\";\nexport * from \"./CompleteCheckbox\";\nexport * from \"./Paper\";\nexport * from \"./ScaleBar\";\nexport * from \"./Card\";\nexport * from \"./EntityCard\";\nexport * from \"./Signifier\";\nexport * from \"./Avatar\";\nexport * from \"./Tag\";\nexport * from \"./Loaders\";\nexport * from \"./Nav\";\nexport * from \"./Bubble\";\nexport * from \"./Input\";\nexport * from \"./Menu\";\nexport * from \"./Expanders\";\nexport * from \"./Pickers\";\nexport * from \"./DatePicker\";\nexport * from \"./List\";\nexport * from \"./MenuSelector\";\nexport * from \"./MultiAvatar\";\nexport * from \"./RadioButton\";\nexport * from \"./ScrollShadow\";\nexport * from \"./Icons\";\nexport * from \"./Textarea\";\nexport * from \"./Modal\";\nexport * from \"./Sheet\";\nexport * from \"./Header\";\nexport * from \"./AutoResizeTextarea\";\nexport * from \"./Overlay\";\nexport * from \"./Accordion\";\nexport * from \"./Choose\";\nexport * from \"./Links\";\nexport * from \"./SelectDate\";\nexport * from \"./Popper\";\nexport * from \"./ToastMessage\";\nexport * from \"./Tooltip\";\nexport * from \"./Transitions\";\nexport * from \"./Pressed\";\nexport * from \"./Window\";\nexport * from \"./ValueButton\";\nexport * from \"./Select\";\nexport * from \"./SelectTrigger\";\nexport * from \"./Dialog\";\nexport * from \"./ConfirmDialog\";\nexport * from \"./Checkbox\";\nexport * from \"./Toggle\";\nexport * from \"./Typography\";\nexport * from \"./Autocomplete\";\nexport * from \"./ComboBox\";\nexport * from \"./Button/AddToListButton\";\nexport * from \"./ProgressBar\";\nexport * from \"./ProgressPie\";\nexport * from \"./Reactions\";\nexport * from \"./Label\";\nexport * from \"./GlobalStyle\";\nexport * from \"./ProgressRing\";\nexport * from \"./EditableContent\";\nexport * from \"./EditableText\";\nexport * from \"./Folder\";\nexport * from \"./Chip\";\nexport * from \"./Trigger\";\nexport * from \"./Dot\";\nexport * from \"./Entity\";\nexport * from \"./Filter\";\nexport * from \"./Wizard\";\nexport * from \"./IconButton\";\nexport * from \"./Typography\";\nexport * from \"./Badge\";\n"],"mappings":";;;;;AAAA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAoBA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AAnBA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AAEA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
export interface
|
|
2
|
+
export interface AvatarProps extends React.ComponentPropsWithoutRef<"img"> {
|
|
3
3
|
/** Path url. */
|
|
4
4
|
url: string;
|
|
5
5
|
/** Alt text. */
|
|
@@ -9,5 +9,31 @@ export interface IAvatar extends React.ComponentPropsWithoutRef<"img"> {
|
|
|
9
9
|
/** Custom class. */
|
|
10
10
|
className?: string;
|
|
11
11
|
}
|
|
12
|
-
|
|
12
|
+
/**
|
|
13
|
+
* @component Avatar
|
|
14
|
+
* @description
|
|
15
|
+
* The Avatar component is used to represent user, and displays the profile picture, initials or fallback icon.
|
|
16
|
+
*
|
|
17
|
+
* @prop {url} - The image url of the Avatar.
|
|
18
|
+
* @prop {size} - controls the size of an Avatar (width and height) in pixels.
|
|
19
|
+
* @prop {alt} - alt attribute of the img.
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* <Avatar url="https://faces-img.xcdn.link/image-lorem-face-954.jpg" alt="Profile picture of John" />
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* <Avatar
|
|
26
|
+
* url="https://faces-img.xcdn.link/image-lorem-face-954.jpg"
|
|
27
|
+
* alt="Profile picture of John">
|
|
28
|
+
* <Badge size={8} backgroundColor="green" position="bottom-left" />
|
|
29
|
+
* </Avatar>
|
|
30
|
+
*
|
|
31
|
+
* @see
|
|
32
|
+
* https://system.activecollab.com/?path=/story/components-button-indicators-avatar--avatar
|
|
33
|
+
* @see
|
|
34
|
+
* https://design.activecollab.com/docs/components/avatar
|
|
35
|
+
*/
|
|
36
|
+
export declare const Avatar: React.ForwardRefExoticComponent<AvatarProps & {
|
|
37
|
+
children?: React.ReactNode;
|
|
38
|
+
} & React.RefAttributes<HTMLImageElement>>;
|
|
13
39
|
//# sourceMappingURL=Avatar.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../../../../src/components/Avatar/Avatar.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../../../../src/components/Avatar/Avatar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwC,MAAM,OAAO,CAAC;AAG7D,MAAM,WAAW,WAAY,SAAQ,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC;IACxE,gBAAgB;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,gBAAgB;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,kBAAkB;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oBAAoB;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,MAAM;;0CAoBlB,CAAC"}
|
|
@@ -1,8 +1,32 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
|
-
var _excluded = ["url", "alt", "size", "className"];
|
|
3
|
+
var _excluded = ["url", "alt", "size", "className", "children"];
|
|
4
4
|
import React, { forwardRef } from "react";
|
|
5
|
-
import { StyledAvatar } from "./Styles";
|
|
5
|
+
import { StyledAvatar, StyledWrapper } from "./Styles";
|
|
6
|
+
/**
|
|
7
|
+
* @component Avatar
|
|
8
|
+
* @description
|
|
9
|
+
* The Avatar component is used to represent user, and displays the profile picture, initials or fallback icon.
|
|
10
|
+
*
|
|
11
|
+
* @prop {url} - The image url of the Avatar.
|
|
12
|
+
* @prop {size} - controls the size of an Avatar (width and height) in pixels.
|
|
13
|
+
* @prop {alt} - alt attribute of the img.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* <Avatar url="https://faces-img.xcdn.link/image-lorem-face-954.jpg" alt="Profile picture of John" />
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* <Avatar
|
|
20
|
+
* url="https://faces-img.xcdn.link/image-lorem-face-954.jpg"
|
|
21
|
+
* alt="Profile picture of John">
|
|
22
|
+
* <Badge size={8} backgroundColor="green" position="bottom-left" />
|
|
23
|
+
* </Avatar>
|
|
24
|
+
*
|
|
25
|
+
* @see
|
|
26
|
+
* https://system.activecollab.com/?path=/story/components-button-indicators-avatar--avatar
|
|
27
|
+
* @see
|
|
28
|
+
* https://design.activecollab.com/docs/components/avatar
|
|
29
|
+
*/
|
|
6
30
|
export var Avatar = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
7
31
|
var url = _ref.url,
|
|
8
32
|
_ref$alt = _ref.alt,
|
|
@@ -10,15 +34,17 @@ export var Avatar = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
10
34
|
_ref$size = _ref.size,
|
|
11
35
|
size = _ref$size === void 0 ? 24 : _ref$size,
|
|
12
36
|
className = _ref.className,
|
|
37
|
+
children = _ref.children,
|
|
13
38
|
rest = _objectWithoutPropertiesLoose(_ref, _excluded);
|
|
14
|
-
return /*#__PURE__*/React.createElement(
|
|
39
|
+
return /*#__PURE__*/React.createElement(StyledWrapper, {
|
|
40
|
+
className: className
|
|
41
|
+
}, children, /*#__PURE__*/React.createElement(StyledAvatar, _extends({
|
|
42
|
+
size: size,
|
|
15
43
|
ref: ref,
|
|
16
44
|
src: url,
|
|
17
45
|
alt: alt,
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
className: className
|
|
21
|
-
}));
|
|
46
|
+
role: "img"
|
|
47
|
+
}, rest)));
|
|
22
48
|
});
|
|
23
49
|
Avatar.displayName = "Avatar";
|
|
24
50
|
//# sourceMappingURL=Avatar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Avatar.js","names":["React","forwardRef","StyledAvatar","Avatar","ref","url","alt","size","className","rest","displayName"],"sources":["../../../../src/components/Avatar/Avatar.tsx"],"sourcesContent":["import React, { forwardRef } from \"react\";\nimport { StyledAvatar } from \"./Styles\";\n\nexport interface
|
|
1
|
+
{"version":3,"file":"Avatar.js","names":["React","forwardRef","StyledAvatar","StyledWrapper","Avatar","ref","url","alt","size","className","children","rest","displayName"],"sources":["../../../../src/components/Avatar/Avatar.tsx"],"sourcesContent":["import React, { forwardRef, PropsWithChildren } from \"react\";\nimport { StyledAvatar, StyledWrapper } from \"./Styles\";\n\nexport interface AvatarProps extends React.ComponentPropsWithoutRef<\"img\"> {\n /** Path url. */\n url: string;\n /** Alt text. */\n alt?: string;\n /** Image size. */\n size?: number;\n /** Custom class. */\n className?: string;\n}\n\n/**\n * @component Avatar\n * @description\n * The Avatar component is used to represent user, and displays the profile picture, initials or fallback icon.\n *\n * @prop {url} - The image url of the Avatar.\n * @prop {size} - controls the size of an Avatar (width and height) in pixels.\n * @prop {alt} - alt attribute of the img.\n *\n * @example\n * <Avatar url=\"https://faces-img.xcdn.link/image-lorem-face-954.jpg\" alt=\"Profile picture of John\" />\n *\n * @example\n * <Avatar\n * url=\"https://faces-img.xcdn.link/image-lorem-face-954.jpg\"\n * alt=\"Profile picture of John\">\n * <Badge size={8} backgroundColor=\"green\" position=\"bottom-left\" />\n * </Avatar>\n *\n * @see\n * https://system.activecollab.com/?path=/story/components-button-indicators-avatar--avatar\n * @see\n * https://design.activecollab.com/docs/components/avatar\n */\nexport const Avatar = forwardRef<\n HTMLImageElement,\n PropsWithChildren<AvatarProps>\n>(\n (\n { url, alt = \"Avatar Image\", size = 24, className, children, ...rest },\n ref\n ) => (\n <StyledWrapper className={className}>\n {children}\n <StyledAvatar\n size={size}\n ref={ref}\n src={url}\n alt={alt}\n role=\"img\"\n {...rest}\n />\n </StyledWrapper>\n )\n);\n\nAvatar.displayName = \"Avatar\";\n"],"mappings":";;;AAAA,OAAOA,KAAK,IAAIC,UAAU,QAA2B,OAAO;AAC5D,SAASC,YAAY,EAAEC,aAAa,QAAQ,UAAU;AAatD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMC,MAAM,gBAAGH,UAAU,CAI9B,gBAEEI,GAAG;EAAA,IADDC,GAAG,QAAHA,GAAG;IAAA,gBAAEC,GAAG;IAAHA,GAAG,yBAAG,cAAc;IAAA,iBAAEC,IAAI;IAAJA,IAAI,0BAAG,EAAE;IAAEC,SAAS,QAATA,SAAS;IAAEC,QAAQ,QAARA,QAAQ;IAAKC,IAAI;EAAA,oBAGpE,oBAAC,aAAa;IAAC,SAAS,EAAEF;EAAU,GACjCC,QAAQ,eACT,oBAAC,YAAY;IACX,IAAI,EAAEF,IAAK;IACX,GAAG,EAAEH,GAAI;IACT,GAAG,EAAEC,GAAI;IACT,GAAG,EAAEC,GAAI;IACT,IAAI,EAAC;EAAK,GACNI,IAAI,EACR,CACY;AAAA,CACjB,CACF;AAEDP,MAAM,CAACQ,WAAW,GAAG,QAAQ"}
|
|
@@ -1,2 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import { AvatarProps } from "./Avatar";
|
|
2
|
+
export declare const StyledWrapper: import("styled-components").StyledComponent<"span", any, {}, never>;
|
|
3
|
+
export declare const StyledAvatar: import("styled-components").StyledComponent<"img", any, Pick<AvatarProps, "size">, never>;
|
|
2
4
|
//# sourceMappingURL=Styles.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Styles.d.ts","sourceRoot":"","sources":["../../../../src/components/Avatar/Styles.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Styles.d.ts","sourceRoot":"","sources":["../../../../src/components/Avatar/Styles.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC,eAAO,MAAM,aAAa,qEAGzB,CAAC;AAEF,eAAO,MAAM,YAAY,2FAMxB,CAAC"}
|
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
import styled from "styled-components";
|
|
2
|
+
export var StyledWrapper = styled.span.withConfig({
|
|
3
|
+
displayName: "Styles__StyledWrapper",
|
|
4
|
+
componentId: "sc-5x2tyd-0"
|
|
5
|
+
})(["display:inline-flex;position:relative;"]);
|
|
2
6
|
export var StyledAvatar = styled.img.withConfig({
|
|
3
7
|
displayName: "Styles__StyledAvatar",
|
|
4
|
-
componentId: "sc-5x2tyd-
|
|
5
|
-
})(["", ""], {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
+
componentId: "sc-5x2tyd-1"
|
|
9
|
+
})(["border-radius:100%;object-fit:cover;block-size:", ";inline-size:", ";"], function (props) {
|
|
10
|
+
return props.size + "px";
|
|
11
|
+
}, function (props) {
|
|
12
|
+
return props.size + "px";
|
|
8
13
|
});
|
|
9
14
|
//# sourceMappingURL=Styles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Styles.js","names":["styled","StyledAvatar","img"],"sources":["../../../../src/components/Avatar/Styles.ts"],"sourcesContent":["import styled from \"styled-components\";\nimport
|
|
1
|
+
{"version":3,"file":"Styles.js","names":["styled","StyledWrapper","span","StyledAvatar","img","props","size"],"sources":["../../../../src/components/Avatar/Styles.ts"],"sourcesContent":["import styled from \"styled-components\";\nimport { AvatarProps } from \"./Avatar\";\n\nexport const StyledWrapper = styled.span`\n display: inline-flex;\n position: relative;\n`;\n\nexport const StyledAvatar = styled.img<Pick<AvatarProps, \"size\">>`\n border-radius: 100%;\n object-fit: cover;\n\n block-size: ${(props) => props.size + \"px\"};\n inline-size: ${(props) => props.size + \"px\"};\n`;\n"],"mappings":"AAAA,OAAOA,MAAM,MAAM,mBAAmB;AAGtC,OAAO,IAAMC,aAAa,GAAGD,MAAM,CAACE,IAAI;EAAA;EAAA;AAAA,8CAGvC;AAED,OAAO,IAAMC,YAAY,GAAGH,MAAM,CAACI,GAAG;EAAA;EAAA;AAAA,8EAItB,UAACC,KAAK;EAAA,OAAKA,KAAK,CAACC,IAAI,GAAG,IAAI;AAAA,GAC3B,UAACD,KAAK;EAAA,OAAKA,KAAK,CAACC,IAAI,GAAG,IAAI;AAAA,EAC5C"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
declare type Position = "top-left" | "top-right" | "bottom-right" | "bottom-left";
|
|
3
|
+
export interface BadgeProps {
|
|
4
|
+
position?: Position;
|
|
5
|
+
dimension?: number;
|
|
6
|
+
className?: string;
|
|
7
|
+
backgroundColor?: string;
|
|
8
|
+
isVisible?: boolean;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* @component Badge
|
|
12
|
+
* @description
|
|
13
|
+
* In some products, you might need to show a badge on the right corner of the avatar.
|
|
14
|
+
* We call this a badge. Here's an example that shows if the user is online.
|
|
15
|
+
*
|
|
16
|
+
* @prop {position} - dictates the position of a badge.
|
|
17
|
+
* @prop {dimension} - controls the size of a badge (width and height) in pixels.
|
|
18
|
+
* @prop {backgroundColor} - background-color of a badge.
|
|
19
|
+
* @prop {isVisible} - dictates if badge should be visible or not.
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* <IconButton variant="text gray" size="big">
|
|
23
|
+
* <BellOffIcon />
|
|
24
|
+
* <Badge position="top-right" backgroundColor="red" dimension={16} />
|
|
25
|
+
* </IconButton>
|
|
26
|
+
*
|
|
27
|
+
* @see
|
|
28
|
+
* https://system.activecollab.com/?path=/story/components-button-indicators-badge--badge
|
|
29
|
+
*/
|
|
30
|
+
export declare const Badge: ({ dimension, className, position, backgroundColor, isVisible, }: BadgeProps) => JSX.Element | null;
|
|
31
|
+
export {};
|
|
32
|
+
//# sourceMappingURL=Badge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Badge.d.ts","sourceRoot":"","sources":["../../../../src/components/Badge/Badge.tsx"],"names":[],"mappings":";AAIA,aAAK,QAAQ,GAAG,UAAU,GAAG,WAAW,GAAG,cAAc,GAAG,aAAa,CAAC;AAE1E,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,KAAK,oEAMf,UAAU,uBAUZ,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import classNames from "classnames";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { StyledBadge } from "./Styles";
|
|
4
|
+
/**
|
|
5
|
+
* @component Badge
|
|
6
|
+
* @description
|
|
7
|
+
* In some products, you might need to show a badge on the right corner of the avatar.
|
|
8
|
+
* We call this a badge. Here's an example that shows if the user is online.
|
|
9
|
+
*
|
|
10
|
+
* @prop {position} - dictates the position of a badge.
|
|
11
|
+
* @prop {dimension} - controls the size of a badge (width and height) in pixels.
|
|
12
|
+
* @prop {backgroundColor} - background-color of a badge.
|
|
13
|
+
* @prop {isVisible} - dictates if badge should be visible or not.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* <IconButton variant="text gray" size="big">
|
|
17
|
+
* <BellOffIcon />
|
|
18
|
+
* <Badge position="top-right" backgroundColor="red" dimension={16} />
|
|
19
|
+
* </IconButton>
|
|
20
|
+
*
|
|
21
|
+
* @see
|
|
22
|
+
* https://system.activecollab.com/?path=/story/components-button-indicators-badge--badge
|
|
23
|
+
*/
|
|
24
|
+
export var Badge = function Badge(_ref) {
|
|
25
|
+
var _ref$dimension = _ref.dimension,
|
|
26
|
+
dimension = _ref$dimension === void 0 ? 8 : _ref$dimension,
|
|
27
|
+
className = _ref.className,
|
|
28
|
+
_ref$position = _ref.position,
|
|
29
|
+
position = _ref$position === void 0 ? "bottom-left" : _ref$position,
|
|
30
|
+
_ref$backgroundColor = _ref.backgroundColor,
|
|
31
|
+
backgroundColor = _ref$backgroundColor === void 0 ? "#40C37D" : _ref$backgroundColor,
|
|
32
|
+
_ref$isVisible = _ref.isVisible,
|
|
33
|
+
isVisible = _ref$isVisible === void 0 ? true : _ref$isVisible;
|
|
34
|
+
return isVisible ? /*#__PURE__*/React.createElement(StyledBadge, {
|
|
35
|
+
className: classNames("c-badge", className),
|
|
36
|
+
dimension: dimension,
|
|
37
|
+
position: position,
|
|
38
|
+
backgroundColor: backgroundColor,
|
|
39
|
+
role: "status"
|
|
40
|
+
}) : null;
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=Badge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Badge.js","names":["classNames","React","StyledBadge","Badge","dimension","className","position","backgroundColor","isVisible"],"sources":["../../../../src/components/Badge/Badge.tsx"],"sourcesContent":["import classNames from \"classnames\";\nimport React from \"react\";\nimport { StyledBadge } from \"./Styles\";\n\ntype Position = \"top-left\" | \"top-right\" | \"bottom-right\" | \"bottom-left\";\n\nexport interface BadgeProps {\n position?: Position;\n dimension?: number;\n className?: string;\n backgroundColor?: string;\n isVisible?: boolean;\n}\n\n/**\n * @component Badge\n * @description\n * In some products, you might need to show a badge on the right corner of the avatar.\n * We call this a badge. Here's an example that shows if the user is online.\n *\n * @prop {position} - dictates the position of a badge.\n * @prop {dimension} - controls the size of a badge (width and height) in pixels.\n * @prop {backgroundColor} - background-color of a badge.\n * @prop {isVisible} - dictates if badge should be visible or not.\n *\n * @example\n * <IconButton variant=\"text gray\" size=\"big\">\n * <BellOffIcon />\n * <Badge position=\"top-right\" backgroundColor=\"red\" dimension={16} />\n * </IconButton>\n *\n * @see\n * https://system.activecollab.com/?path=/story/components-button-indicators-badge--badge\n */\nexport const Badge = ({\n dimension = 8,\n className,\n position = \"bottom-left\",\n backgroundColor = \"#40C37D\",\n isVisible = true,\n}: BadgeProps) => {\n return isVisible ? (\n <StyledBadge\n className={classNames(\"c-badge\", className)}\n dimension={dimension}\n position={position}\n backgroundColor={backgroundColor}\n role=\"status\"\n />\n ) : null;\n};\n"],"mappings":"AAAA,OAAOA,UAAU,MAAM,YAAY;AACnC,OAAOC,KAAK,MAAM,OAAO;AACzB,SAASC,WAAW,QAAQ,UAAU;AAYtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMC,KAAK,GAAG,SAARA,KAAK,OAMA;EAAA,0BALhBC,SAAS;IAATA,SAAS,+BAAG,CAAC;IACbC,SAAS,QAATA,SAAS;IAAA,qBACTC,QAAQ;IAARA,QAAQ,8BAAG,aAAa;IAAA,4BACxBC,eAAe;IAAfA,eAAe,qCAAG,SAAS;IAAA,sBAC3BC,SAAS;IAATA,SAAS,+BAAG,IAAI;EAEhB,OAAOA,SAAS,gBACd,oBAAC,WAAW;IACV,SAAS,EAAER,UAAU,CAAC,SAAS,EAAEK,SAAS,CAAE;IAC5C,SAAS,EAAED,SAAU;IACrB,QAAQ,EAAEE,QAAS;IACnB,eAAe,EAAEC,eAAgB;IACjC,IAAI,EAAC;EAAQ,EACb,GACA,IAAI;AACV,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Styles.d.ts","sourceRoot":"","sources":["../../../../src/components/Badge/Styles.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,eAAO,MAAM,WAAW,qFAqCvB,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import styled, { css } from "styled-components";
|
|
2
|
+
export var StyledBadge = styled.div.withConfig({
|
|
3
|
+
displayName: "Styles__StyledBadge",
|
|
4
|
+
componentId: "sc-6o8do5-0"
|
|
5
|
+
})(["background-color:", ";block-size:", ";border-radius:100%;border:2px solid var(--page-paper-main);inline-size:", ";position:absolute;pointer-events:none;z-index:1;", " ", " ", " ", ""], function (props) {
|
|
6
|
+
return props.backgroundColor;
|
|
7
|
+
}, function (props) {
|
|
8
|
+
return props.dimension + "px";
|
|
9
|
+
}, function (props) {
|
|
10
|
+
return props.dimension + "px";
|
|
11
|
+
}, function (_ref) {
|
|
12
|
+
var position = _ref.position;
|
|
13
|
+
return position === "top-left" && css(["inset-block-start:0;inset-inline-start:0;"]);
|
|
14
|
+
}, function (_ref2) {
|
|
15
|
+
var position = _ref2.position;
|
|
16
|
+
return position === "top-right" && css(["inset-block-start:0;inset-inline-end:0;"]);
|
|
17
|
+
}, function (_ref3) {
|
|
18
|
+
var position = _ref3.position;
|
|
19
|
+
return position === "bottom-right" && css(["inset-block-end:0;inset-inline-end:0;"]);
|
|
20
|
+
}, function (_ref4) {
|
|
21
|
+
var position = _ref4.position;
|
|
22
|
+
return position === "bottom-left" && css(["inset-block-end:0;inset-inline-start:0;"]);
|
|
23
|
+
});
|
|
24
|
+
//# sourceMappingURL=Styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Styles.js","names":["styled","css","StyledBadge","div","props","backgroundColor","dimension","position"],"sources":["../../../../src/components/Badge/Styles.ts"],"sourcesContent":["import styled, { css } from \"styled-components\";\nimport { BadgeProps } from \"./Badge\";\n\nexport const StyledBadge = styled.div<Partial<BadgeProps>>`\n background-color: ${(props) => props.backgroundColor};\n block-size: ${(props) => props.dimension + \"px\"};\n border-radius: 100%;\n border: 2px solid var(--page-paper-main);\n inline-size: ${(props) => props.dimension + \"px\"};\n position: absolute;\n pointer-events: none;\n z-index: 1;\n\n ${({ position }) =>\n position === \"top-left\" &&\n css`\n inset-block-start: 0;\n inset-inline-start: 0;\n `}\n\n ${({ position }) =>\n position === \"top-right\" &&\n css`\n inset-block-start: 0;\n inset-inline-end: 0;\n `}\n\n ${({ position }) =>\n position === \"bottom-right\" &&\n css`\n inset-block-end: 0;\n inset-inline-end: 0;\n `}\n\n ${({ position }) =>\n position === \"bottom-left\" &&\n css`\n inset-block-end: 0;\n inset-inline-start: 0;\n `}\n`;\n"],"mappings":"AAAA,OAAOA,MAAM,IAAIC,GAAG,QAAQ,mBAAmB;AAG/C,OAAO,IAAMC,WAAW,GAAGF,MAAM,CAACG,GAAG;EAAA;EAAA;AAAA,8LACf,UAACC,KAAK;EAAA,OAAKA,KAAK,CAACC,eAAe;AAAA,GACtC,UAACD,KAAK;EAAA,OAAKA,KAAK,CAACE,SAAS,GAAG,IAAI;AAAA,GAGhC,UAACF,KAAK;EAAA,OAAKA,KAAK,CAACE,SAAS,GAAG,IAAI;AAAA,GAK9C;EAAA,IAAGC,QAAQ,QAARA,QAAQ;EAAA,OACXA,QAAQ,KAAK,UAAU,IACvBN,GAAG,+CAGF;AAAA,GAED;EAAA,IAAGM,QAAQ,SAARA,QAAQ;EAAA,OACXA,QAAQ,KAAK,WAAW,IACxBN,GAAG,6CAGF;AAAA,GAEC;EAAA,IAAGM,QAAQ,SAARA,QAAQ;EAAA,OACbA,QAAQ,KAAK,cAAc,IAC3BN,GAAG,2CAGF;AAAA,GAEC;EAAA,IAAGM,QAAQ,SAARA,QAAQ;EAAA,OACbA,QAAQ,KAAK,aAAa,IAC1BN,GAAG,6CAGF;AAAA,EACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/Badge/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../../src/components/Badge/index.ts"],"sourcesContent":["export * from \"./Badge\";\n"],"mappings":"AAAA,cAAc,SAAS"}
|
|
@@ -25,6 +25,7 @@ export interface ButtonProps extends ComponentPropsWithoutRef<"button"> {
|
|
|
25
25
|
* )
|
|
26
26
|
* @see
|
|
27
27
|
* https://system.activecollab.com/?path=/story/components-button-indicators-button--button
|
|
28
|
+
* https://design.activecollab.com/docs/components/button
|
|
28
29
|
*/
|
|
29
30
|
export declare const Button: React.ForwardRefExoticComponent<ButtonProps & {
|
|
30
31
|
children?: React.ReactNode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../../src/components/Button/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EACZ,wBAAwB,EAGzB,MAAM,OAAO,CAAC;AAQf,MAAM,WAAW,WAAY,SAAQ,wBAAwB,CAAC,QAAQ,CAAC;IACrE,yBAAyB;IACzB,OAAO,CAAC,EACJ,SAAS,GACT,WAAW,GACX,UAAU,GACV,QAAQ,GACR,WAAW,GACX,UAAU,GACV,cAAc,GACd,WAAW,GACX,kBAAkB,GAClB,eAAe,CAAC;IACpB,uCAAuC;IACvC,IAAI,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;IAClC,+BAA+B;IAC/B,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AACD
|
|
1
|
+
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../../src/components/Button/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EACZ,wBAAwB,EAGzB,MAAM,OAAO,CAAC;AAQf,MAAM,WAAW,WAAY,SAAQ,wBAAwB,CAAC,QAAQ,CAAC;IACrE,yBAAyB;IACzB,OAAO,CAAC,EACJ,SAAS,GACT,WAAW,GACX,UAAU,GACV,QAAQ,GACR,WAAW,GACX,UAAU,GACV,cAAc,GACd,WAAW,GACX,kBAAkB,GAClB,eAAe,CAAC;IACpB,uCAAuC;IACvC,IAAI,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;IAClC,+BAA+B;IAC/B,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AACD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,MAAM;;2CA0DlB,CAAC"}
|
|
@@ -22,6 +22,7 @@ import { StyledButton, StyledButtonElement, StyledButtonElements } from "./Style
|
|
|
22
22
|
* )
|
|
23
23
|
* @see
|
|
24
24
|
* https://system.activecollab.com/?path=/story/components-button-indicators-button--button
|
|
25
|
+
* https://design.activecollab.com/docs/components/button
|
|
25
26
|
*/
|
|
26
27
|
export var Button = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
27
28
|
var children = _ref.children,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.js","names":["React","forwardRef","classnames","StyledButton","StyledButtonElement","StyledButtonElements","Button","ref","children","active","variant","size","className","args","Object","Array","map","value","index","displayName"],"sources":["../../../../src/components/Button/Button.tsx"],"sourcesContent":["import React, {\n ComponentPropsWithoutRef,\n forwardRef,\n PropsWithChildren,\n} from \"react\";\nimport classnames from \"classnames\";\nimport {\n StyledButton,\n StyledButtonElement,\n StyledButtonElements,\n} from \"./Styles\";\n\nexport interface ButtonProps extends ComponentPropsWithoutRef<\"button\"> {\n /** Types of a button. */\n variant?:\n | \"primary\"\n | \"secondary\"\n | \"tertiary\"\n | \"option\"\n | \"contained\"\n | \"outlined\"\n | \"text colored\"\n | \"text gray\"\n | \"dark transparent\"\n | \"circle raised\";\n /** Button size dictates the height. */\n size?: \"big\" | \"small\" | \"medium\";\n /** Active or pressed state. */\n active?: boolean;\n}\n/**\n * @component Button\n * @description\n * Button component is used to trigger an action or event, such as submitting a form,\n * opening a Dialog, canceling an action, or performing a delete operation.\n *\n * @prop {variant} - adds unique look and feel to button.\n * @prop {size} - controls the size of a button.\n * @prop {active} - adds active/pressed state to a button.\n *\n * @example\n * return (\n * <Button className=\"mr-2\" variant=\"primary\" size=\"big\">\n * Save\n * </Button>\n * )\n * @see\n * https://system.activecollab.com/?path=/story/components-button-indicators-button--button\n */\nexport const Button = forwardRef<\n HTMLButtonElement,\n PropsWithChildren<ButtonProps>\n>(\n (\n {\n children,\n active = false,\n variant = \"contained\",\n size = \"medium\",\n className,\n ...args\n },\n ref\n ) => {\n return (\n <StyledButton\n className={classnames(\"c-btn\", className, {\n \"c-btn--contained\": variant === \"primary\" || variant === \"contained\",\n \"c-btn--outlined\": variant === \"secondary\" || variant === \"outlined\",\n \"c-btn--text_colored\":\n variant === \"tertiary\" || variant === \"text colored\",\n \"c-btn--text_gray\": variant === \"option\" || variant === \"text gray\",\n \"c-btn--dark_transparent\": variant === \"dark transparent\",\n \"c-btn--circle-raised\": variant === \"circle raised\",\n \"c-btn--big\": size === \"big\",\n \"c-btn--small\": size === \"small\",\n \"c-btn--icon-only\":\n children instanceof Object && !(children instanceof Array),\n })}\n iconOnly={children instanceof Object && !(children instanceof Array)}\n variant={variant}\n active={active}\n size={size}\n ref={ref}\n aria-pressed={active}\n role=\"button\"\n {...args}\n >\n {children instanceof Array ? (\n <StyledButtonElements className=\"c-btn__elements\">\n {children.map((value, index) =>\n value ? (\n <StyledButtonElement\n className=\"c-btn__elements__element\"\n key={index}\n >\n {value}\n </StyledButtonElement>\n ) : null\n )}\n </StyledButtonElements>\n ) : (\n children\n )}\n </StyledButton>\n );\n }\n);\n\nButton.displayName = \"Button\";\n"],"mappings":";;;AAAA,OAAOA,KAAK,IAEVC,UAAU,QAEL,OAAO;AACd,OAAOC,UAAU,MAAM,YAAY;AACnC,SACEC,YAAY,EACZC,mBAAmB,EACnBC,oBAAoB,QACf,UAAU;AAoBjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMC,MAAM,gBAAGL,UAAU,CAI9B,gBASEM,GAAG,EACA;EAAA,IARDC,QAAQ,QAARA,QAAQ;IAAA,mBACRC,MAAM;IAANA,MAAM,4BAAG,KAAK;IAAA,oBACdC,OAAO;IAAPA,OAAO,6BAAG,WAAW;IAAA,iBACrBC,IAAI;IAAJA,IAAI,0BAAG,QAAQ;IACfC,SAAS,QAATA,SAAS;IACNC,IAAI;EAIT,oBACE,oBAAC,YAAY;IACX,SAAS,EAAEX,UAAU,CAAC,OAAO,EAAEU,SAAS,EAAE;MACxC,kBAAkB,EAAEF,OAAO,KAAK,SAAS,IAAIA,OAAO,KAAK,WAAW;MACpE,iBAAiB,EAAEA,OAAO,KAAK,WAAW,IAAIA,OAAO,KAAK,UAAU;MACpE,qBAAqB,EACnBA,OAAO,KAAK,UAAU,IAAIA,OAAO,KAAK,cAAc;MACtD,kBAAkB,EAAEA,OAAO,KAAK,QAAQ,IAAIA,OAAO,KAAK,WAAW;MACnE,yBAAyB,EAAEA,OAAO,KAAK,kBAAkB;MACzD,sBAAsB,EAAEA,OAAO,KAAK,eAAe;MACnD,YAAY,EAAEC,IAAI,KAAK,KAAK;MAC5B,cAAc,EAAEA,IAAI,KAAK,OAAO;MAChC,kBAAkB,EAChBH,QAAQ,YAAYM,MAAM,IAAI,EAAEN,QAAQ,YAAYO,KAAK;IAC7D,CAAC,CAAE;IACH,QAAQ,EAAEP,QAAQ,YAAYM,MAAM,IAAI,EAAEN,QAAQ,YAAYO,KAAK,CAAE;IACrE,OAAO,EAAEL,OAAQ;IACjB,MAAM,EAAED,MAAO;IACf,IAAI,EAAEE,IAAK;IACX,GAAG,EAAEJ,GAAI;IACT,gBAAcE,MAAO;IACrB,IAAI,EAAC;EAAQ,GACTI,IAAI,GAEPL,QAAQ,YAAYO,KAAK,gBACxB,oBAAC,oBAAoB;IAAC,SAAS,EAAC;EAAiB,GAC9CP,QAAQ,CAACQ,GAAG,CAAC,UAACC,KAAK,EAAEC,KAAK;IAAA,OACzBD,KAAK,gBACH,oBAAC,mBAAmB;MAClB,SAAS,EAAC,0BAA0B;MACpC,GAAG,EAAEC;IAAM,GAEVD,KAAK,CACc,GACpB,IAAI;EAAA,EACT,CACoB,GAEvBT,QACD,CACY;AAEnB,CAAC,CACF;AAEDF,MAAM,CAACa,WAAW,GAAG,QAAQ"}
|
|
1
|
+
{"version":3,"file":"Button.js","names":["React","forwardRef","classnames","StyledButton","StyledButtonElement","StyledButtonElements","Button","ref","children","active","variant","size","className","args","Object","Array","map","value","index","displayName"],"sources":["../../../../src/components/Button/Button.tsx"],"sourcesContent":["import React, {\n ComponentPropsWithoutRef,\n forwardRef,\n PropsWithChildren,\n} from \"react\";\nimport classnames from \"classnames\";\nimport {\n StyledButton,\n StyledButtonElement,\n StyledButtonElements,\n} from \"./Styles\";\n\nexport interface ButtonProps extends ComponentPropsWithoutRef<\"button\"> {\n /** Types of a button. */\n variant?:\n | \"primary\"\n | \"secondary\"\n | \"tertiary\"\n | \"option\"\n | \"contained\"\n | \"outlined\"\n | \"text colored\"\n | \"text gray\"\n | \"dark transparent\"\n | \"circle raised\";\n /** Button size dictates the height. */\n size?: \"big\" | \"small\" | \"medium\";\n /** Active or pressed state. */\n active?: boolean;\n}\n/**\n * @component Button\n * @description\n * Button component is used to trigger an action or event, such as submitting a form,\n * opening a Dialog, canceling an action, or performing a delete operation.\n *\n * @prop {variant} - adds unique look and feel to button.\n * @prop {size} - controls the size of a button.\n * @prop {active} - adds active/pressed state to a button.\n *\n * @example\n * return (\n * <Button className=\"mr-2\" variant=\"primary\" size=\"big\">\n * Save\n * </Button>\n * )\n * @see\n * https://system.activecollab.com/?path=/story/components-button-indicators-button--button\n * https://design.activecollab.com/docs/components/button\n */\nexport const Button = forwardRef<\n HTMLButtonElement,\n PropsWithChildren<ButtonProps>\n>(\n (\n {\n children,\n active = false,\n variant = \"contained\",\n size = \"medium\",\n className,\n ...args\n },\n ref\n ) => {\n return (\n <StyledButton\n className={classnames(\"c-btn\", className, {\n \"c-btn--contained\": variant === \"primary\" || variant === \"contained\",\n \"c-btn--outlined\": variant === \"secondary\" || variant === \"outlined\",\n \"c-btn--text_colored\":\n variant === \"tertiary\" || variant === \"text colored\",\n \"c-btn--text_gray\": variant === \"option\" || variant === \"text gray\",\n \"c-btn--dark_transparent\": variant === \"dark transparent\",\n \"c-btn--circle-raised\": variant === \"circle raised\",\n \"c-btn--big\": size === \"big\",\n \"c-btn--small\": size === \"small\",\n \"c-btn--icon-only\":\n children instanceof Object && !(children instanceof Array),\n })}\n iconOnly={children instanceof Object && !(children instanceof Array)}\n variant={variant}\n active={active}\n size={size}\n ref={ref}\n aria-pressed={active}\n role=\"button\"\n {...args}\n >\n {children instanceof Array ? (\n <StyledButtonElements className=\"c-btn__elements\">\n {children.map((value, index) =>\n value ? (\n <StyledButtonElement\n className=\"c-btn__elements__element\"\n key={index}\n >\n {value}\n </StyledButtonElement>\n ) : null\n )}\n </StyledButtonElements>\n ) : (\n children\n )}\n </StyledButton>\n );\n }\n);\n\nButton.displayName = \"Button\";\n"],"mappings":";;;AAAA,OAAOA,KAAK,IAEVC,UAAU,QAEL,OAAO;AACd,OAAOC,UAAU,MAAM,YAAY;AACnC,SACEC,YAAY,EACZC,mBAAmB,EACnBC,oBAAoB,QACf,UAAU;AAoBjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMC,MAAM,gBAAGL,UAAU,CAI9B,gBASEM,GAAG,EACA;EAAA,IARDC,QAAQ,QAARA,QAAQ;IAAA,mBACRC,MAAM;IAANA,MAAM,4BAAG,KAAK;IAAA,oBACdC,OAAO;IAAPA,OAAO,6BAAG,WAAW;IAAA,iBACrBC,IAAI;IAAJA,IAAI,0BAAG,QAAQ;IACfC,SAAS,QAATA,SAAS;IACNC,IAAI;EAIT,oBACE,oBAAC,YAAY;IACX,SAAS,EAAEX,UAAU,CAAC,OAAO,EAAEU,SAAS,EAAE;MACxC,kBAAkB,EAAEF,OAAO,KAAK,SAAS,IAAIA,OAAO,KAAK,WAAW;MACpE,iBAAiB,EAAEA,OAAO,KAAK,WAAW,IAAIA,OAAO,KAAK,UAAU;MACpE,qBAAqB,EACnBA,OAAO,KAAK,UAAU,IAAIA,OAAO,KAAK,cAAc;MACtD,kBAAkB,EAAEA,OAAO,KAAK,QAAQ,IAAIA,OAAO,KAAK,WAAW;MACnE,yBAAyB,EAAEA,OAAO,KAAK,kBAAkB;MACzD,sBAAsB,EAAEA,OAAO,KAAK,eAAe;MACnD,YAAY,EAAEC,IAAI,KAAK,KAAK;MAC5B,cAAc,EAAEA,IAAI,KAAK,OAAO;MAChC,kBAAkB,EAChBH,QAAQ,YAAYM,MAAM,IAAI,EAAEN,QAAQ,YAAYO,KAAK;IAC7D,CAAC,CAAE;IACH,QAAQ,EAAEP,QAAQ,YAAYM,MAAM,IAAI,EAAEN,QAAQ,YAAYO,KAAK,CAAE;IACrE,OAAO,EAAEL,OAAQ;IACjB,MAAM,EAAED,MAAO;IACf,IAAI,EAAEE,IAAK;IACX,GAAG,EAAEJ,GAAI;IACT,gBAAcE,MAAO;IACrB,IAAI,EAAC;EAAQ,GACTI,IAAI,GAEPL,QAAQ,YAAYO,KAAK,gBACxB,oBAAC,oBAAoB;IAAC,SAAS,EAAC;EAAiB,GAC9CP,QAAQ,CAACQ,GAAG,CAAC,UAACC,KAAK,EAAEC,KAAK;IAAA,OACzBD,KAAK,gBACH,oBAAC,mBAAmB;MAClB,SAAS,EAAC,0BAA0B;MACpC,GAAG,EAAEC;IAAM,GAEVD,KAAK,CACc,GACpB,IAAI;EAAA,EACT,CACoB,GAEvBT,QACD,CACY;AAEnB,CAAC,CACF;AAEDF,MAAM,CAACa,WAAW,GAAG,QAAQ"}
|