@economic/taco 1.27.0 → 1.28.0
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/components/Calendar/Calendar.d.ts +2 -0
- package/dist/components/Header/components/Button.d.ts +0 -2
- package/dist/components/Header/components/Link.d.ts +0 -1
- package/dist/components/Header/components/SecondaryNavigation.d.ts +2 -2
- package/dist/components/OverflowGroup/OverflowGroup.d.ts +5 -0
- package/dist/components/Provider/Localization.d.ts +1 -0
- package/dist/components/Toast/util.d.ts +2 -1
- package/dist/esm/index.css +3 -3
- package/dist/esm/packages/taco/src/components/Alert/Alert.js +1 -1
- package/dist/esm/packages/taco/src/components/Alert/Alert.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Badge/Badge.js +1 -1
- package/dist/esm/packages/taco/src/components/Badge/Badge.js.map +1 -1
- package/dist/esm/packages/taco/src/components/BadgeIcon/BadgeIcon.js +1 -1
- package/dist/esm/packages/taco/src/components/BadgeIcon/BadgeIcon.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Calendar/Calendar.js +12 -5
- package/dist/esm/packages/taco/src/components/Calendar/Calendar.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Combobox/useCombobox.js +1 -1
- package/dist/esm/packages/taco/src/components/Datepicker/Datepicker.js +8 -4
- package/dist/esm/packages/taco/src/components/Datepicker/Datepicker.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Drawer/Drawer.js +1 -1
- package/dist/esm/packages/taco/src/components/Drawer/components/Content.js +2 -2
- package/dist/esm/packages/taco/src/components/Header/components/AgreementSelector.js +1 -1
- package/dist/esm/packages/taco/src/components/Header/components/Button.js +2 -6
- package/dist/esm/packages/taco/src/components/Header/components/Button.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Header/components/Link.js +3 -7
- package/dist/esm/packages/taco/src/components/Header/components/Link.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Header/components/PrimaryNavigation.js +7 -114
- package/dist/esm/packages/taco/src/components/Header/components/PrimaryNavigation.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Header/components/SecondaryNavigation.js +2 -2
- package/dist/esm/packages/taco/src/components/Header/components/SecondaryNavigation.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/Icon.js +1 -0
- package/dist/esm/packages/taco/src/components/Icon/Icon.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Input/Input.js +1 -1
- package/dist/esm/packages/taco/src/components/Listbox/ScrollableList.js +1 -1
- package/dist/esm/packages/taco/src/components/Listbox/useListbox.js +1 -1
- package/dist/esm/packages/taco/src/components/Listbox/useMultiListbox.js +1 -1
- package/dist/esm/packages/taco/src/components/Menu/Menu.js +2 -2
- package/dist/esm/packages/taco/src/components/Menu/components/Content.js +1 -1
- package/dist/esm/packages/taco/src/components/Menu/components/Header.js +1 -1
- package/dist/esm/packages/taco/src/components/Menu/components/Item.js +1 -1
- package/dist/esm/packages/taco/src/components/Menu/components/Link.js +1 -1
- package/dist/esm/packages/taco/src/components/Menu/components/Trigger.js +1 -1
- package/dist/esm/packages/taco/src/components/OverflowGroup/OverflowGroup.js +75 -0
- package/dist/esm/packages/taco/src/components/OverflowGroup/OverflowGroup.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Provider/Localization.js +1 -0
- package/dist/esm/packages/taco/src/components/Provider/Localization.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Select/useSelect.js +1 -1
- package/dist/esm/packages/taco/src/components/Select2/Select2.js +2 -2
- package/dist/esm/packages/taco/src/components/Select2/components/Edit.js +3 -3
- package/dist/esm/packages/taco/src/components/Select2/components/Edit.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Select2/components/Trigger.js +1 -1
- package/dist/esm/packages/taco/src/components/Table/components/WindowedTable.js +1 -1
- package/dist/esm/packages/taco/src/components/Table/hooks/useTableKeyboardNavigation.js +1 -1
- package/dist/esm/packages/taco/src/components/Table2/components/column/Cell.js +1 -1
- package/dist/esm/packages/taco/src/components/Table2/components/filters/FiltersButton.js +1 -1
- package/dist/esm/packages/taco/src/components/Table2/utilities/columns.js +1 -1
- package/dist/esm/packages/taco/src/components/Tag/Tag.js +1 -1
- package/dist/esm/packages/taco/src/components/Tag/Tag.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Toast/Toast.js +2 -2
- package/dist/esm/packages/taco/src/components/Toast/Toast.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Toast/util.js +2 -1
- package/dist/esm/packages/taco/src/components/Toast/util.js.map +1 -1
- package/dist/esm/packages/taco/src/hooks/useIntersectionObserver.js +1 -1
- package/dist/esm/packages/taco/src/hooks/useIntersectionObserver.js.map +1 -1
- package/dist/esm/packages/taco/src/index.js +8 -8
- package/dist/esm/packages/taco/src/utils/{taillwind.js → tailwind.js} +1 -1
- package/dist/esm/packages/taco/src/utils/tailwind.js.map +1 -0
- package/dist/index.css +3 -3
- package/dist/index.d.ts +3 -3
- package/dist/taco.cjs.development.js +1235 -1307
- package/dist/taco.cjs.development.js.map +1 -1
- package/dist/taco.cjs.production.min.js +1 -1
- package/dist/taco.cjs.production.min.js.map +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/utils/tailwind.d.ts +6 -1
- package/package.json +4 -3
- package/types.json +10 -14
- package/dist/components/ButtonGroup/ButtonGroup.d.ts +0 -5
- package/dist/esm/packages/taco/src/components/ButtonGroup/ButtonGroup.js +0 -46
- package/dist/esm/packages/taco/src/components/ButtonGroup/ButtonGroup.js.map +0 -1
- package/dist/esm/packages/taco/src/utils/taillwind.js.map +0 -1
- package/dist/utils/taillwind.d.ts +0 -6
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Edit.js","sources":["../../../../../../../../src/components/Select2/components/Edit.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport * as RadioGroup from '@radix-ui/react-radio-group';\nimport { Button } from '../../Button/Button';\nimport { Input } from '../../Input/Input';\nimport { Popover, PopoverProps } from '../../Popover/Popover';\nimport { Icon } from '../../Icon/Icon';\nimport { Select2OptionValue } from '../types';\nimport { useSelect2Context } from './Context';\nimport { Field } from '../../Field/Field';\nimport { Group } from '../../Group/Group';\nimport { useLocalization } from '../../Provider/Localization';\nimport { Color } from '../../../types';\nimport { AVAILABLE_COLORS, getSubtleColorShadeClasses } from '../../../utils/taillwind';\n\nexport type EditPopoverProps = PopoverProps & {\n color?: Color;\n text: string;\n value: Select2OptionValue;\n};\n\nexport const EditPopover = (props: EditPopoverProps) => {\n const { color: initialColor, text: initialName, value, ...popoverProps } = props;\n const ref = React.useRef<HTMLInputElement>(null);\n const { onDelete, onEdit, searchRef, ref: selectRef } = useSelect2Context();\n const { texts } = useLocalization();\n const [name, setName] = React.useState(initialName);\n const [color, setColor] = React.useState(initialColor);\n const [validationError, setValidationError] = React.useState<Error | undefined>();\n\n const handleInputChange = event => {\n setName(event.target.value);\n setValidationError(undefined);\n };\n\n const handleInputKeyDown = close => async event => {\n event.stopPropagation();\n\n if (event.key === 'Escape') {\n close();\n } else if (event.key === 'Enter') {\n handleSave(close)(event);\n }\n };\n\n const handleDelete = close => async event => {\n event.stopPropagation();\n close();\n\n if (onDelete) {\n await onDelete(value);\n }\n };\n\n const handleSave = close => async event => {\n if (onEdit && (name !== initialName || color !== initialColor)) {\n try {\n await onEdit(value, name, color);\n close();\n } catch (error) {\n event.preventDefault();\n event.stopPropagation();\n setValidationError(error as Error);\n ref.current?.focus();\n }\n } else {\n close();\n }\n };\n\n const handleCloseAutoFocus = event => {\n event.preventDefault();\n setName(initialName);\n setColor(initialColor);\n setValidationError(undefined);\n\n if (searchRef?.current) {\n searchRef.current?.focus();\n } else {\n selectRef.current?.focus();\n }\n };\n\n const handleInteractOutside = () => {\n setName(initialName);\n setColor(initialColor);\n };\n\n const preventKeyDownPropagation = event => {\n if (event.key !== 'Escape') {\n event.stopPropagation();\n }\n };\n\n return (\n <Popover {...popoverProps} modal>\n <Popover.Content\n onCloseAutoFocus={handleCloseAutoFocus}\n onInteractOutside={handleInteractOutside}\n onClick={event => event.stopPropagation()}\n placement=\"right\"\n tabIndex={-1}\n className=\"focus:!shadow-none\">\n {({ close }) => (\n <>\n <div className=\"flex w-32 flex-col space-y-2\">\n {onEdit ? (\n <>\n <Field\n className={cn('!min-h-fit', { '!pb-0': !validationError })}\n invalid={!!validationError}\n message={validationError?.message}>\n <Input\n invalid={!!validationError}\n onChange={handleInputChange}\n onKeyDown={handleInputKeyDown(close)}\n ref={ref}\n value={name}\n />\n </Field>\n {initialColor ? (\n <>\n <h5>Colours</h5>\n <Colours\n color={color}\n onChangeColor={setColor}\n onKeyDown={preventKeyDownPropagation}\n />\n </>\n ) : null}\n <Group>\n <Button onClick={close}>{texts.select2.cancel}</Button>\n <Button appearance=\"primary\" onClick={handleSave(close)}>\n {texts.select2.save}\n </Button>\n </Group>\n </>\n ) : null}\n {onEdit && onDelete ? <hr /> : null}\n {onDelete ? (\n <button\n className=\"hover:text-grey-700 flex items-center justify-start gap-1\"\n onClick={handleDelete(close)}\n onKeyDown={preventKeyDownPropagation}>\n <Icon className=\"!h-5 !w-5\" name=\"delete-permanently\" /> {texts.select2.delete}\n </button>\n ) : null}\n </div>\n </>\n )}\n </Popover.Content>\n </Popover>\n );\n};\n\nconst Colours = props => {\n const { color, onChangeColor, onClick, onKeyDown } = props;\n const { texts } = useLocalization();\n\n return (\n <RadioGroup.Root\n aria-label={texts.select2.chooseColor}\n className=\"grid grid-cols-4 gap-2 focus:outline-none\"\n onClick={onClick}\n onKeyDown={onKeyDown}\n onValueChange={color => onChangeColor(color)}\n value={color}>\n {AVAILABLE_COLORS.map((availableColor: string) => (\n <RadioGroup.Item\n aria-label={color}\n className={cn(\n 'flex h-6 w-6 cursor-pointer items-center justify-center rounded',\n getSubtleColorShadeClasses(availableColor as Color)\n )}\n key={availableColor}\n onFocus={() => onChangeColor(availableColor)}\n value={availableColor}>\n <RadioGroup.Indicator asChild>\n <Icon name=\"tick\" className=\"!h-5 !w-5\" />\n </RadioGroup.Indicator>\n </RadioGroup.Item>\n ))}\n </RadioGroup.Root>\n );\n};\n"],"names":["EditPopover","props","color","initialColor","text","initialName","value","popoverProps","ref","React","useRef","onDelete","onEdit","searchRef","selectRef","useSelect2Context","texts","useLocalization","name","setName","useState","setColor","validationError","setValidationError","handleInputChange","event","target","undefined","handleInputKeyDown","close","stopPropagation","key","handleSave","handleDelete","error","preventDefault","current","focus","handleCloseAutoFocus","handleInteractOutside","preventKeyDownPropagation","Popover","modal","Content","onCloseAutoFocus","onInteractOutside","onClick","placement","tabIndex","className","Field","cn","invalid","message","Input","onChange","onKeyDown","Colours","onChangeColor","Group","Button","select2","cancel","appearance","save","Icon","delete","RadioGroup","chooseColor","onValueChange","AVAILABLE_COLORS","map","availableColor","getSubtleColorShadeClasses","onFocus","asChild"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"Edit.js","sources":["../../../../../../../../src/components/Select2/components/Edit.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport * as RadioGroup from '@radix-ui/react-radio-group';\nimport { Button } from '../../Button/Button';\nimport { Input } from '../../Input/Input';\nimport { Popover, PopoverProps } from '../../Popover/Popover';\nimport { Icon } from '../../Icon/Icon';\nimport { Select2OptionValue } from '../types';\nimport { useSelect2Context } from './Context';\nimport { Field } from '../../Field/Field';\nimport { Group } from '../../Group/Group';\nimport { useLocalization } from '../../Provider/Localization';\nimport { Color } from '../../../types';\nimport { AVAILABLE_COLORS, getSubtleColorShadeClasses } from '../../../utils/tailwind';\n\nexport type EditPopoverProps = PopoverProps & {\n color?: Color;\n text: string;\n value: Select2OptionValue;\n};\n\nexport const EditPopover = (props: EditPopoverProps) => {\n const { color: initialColor, text: initialName, value, ...popoverProps } = props;\n const ref = React.useRef<HTMLInputElement>(null);\n const { onDelete, onEdit, searchRef, ref: selectRef } = useSelect2Context();\n const { texts } = useLocalization();\n const [name, setName] = React.useState(initialName);\n const [color, setColor] = React.useState(initialColor);\n const [validationError, setValidationError] = React.useState<Error | undefined>();\n\n const handleInputChange = event => {\n setName(event.target.value);\n setValidationError(undefined);\n };\n\n const handleInputKeyDown = close => async event => {\n event.stopPropagation();\n\n if (event.key === 'Escape') {\n close();\n } else if (event.key === 'Enter') {\n handleSave(close)(event);\n }\n };\n\n const handleDelete = close => async event => {\n event.stopPropagation();\n close();\n\n if (onDelete) {\n await onDelete(value);\n }\n };\n\n const handleSave = close => async event => {\n if (onEdit && (name !== initialName || color !== initialColor)) {\n try {\n await onEdit(value, name, color);\n close();\n } catch (error) {\n event.preventDefault();\n event.stopPropagation();\n setValidationError(error as Error);\n ref.current?.focus();\n }\n } else {\n close();\n }\n };\n\n const handleCloseAutoFocus = event => {\n event.preventDefault();\n setName(initialName);\n setColor(initialColor);\n setValidationError(undefined);\n\n if (searchRef?.current) {\n searchRef.current?.focus();\n } else {\n selectRef.current?.focus();\n }\n };\n\n const handleInteractOutside = () => {\n setName(initialName);\n setColor(initialColor);\n };\n\n const preventKeyDownPropagation = event => {\n if (event.key !== 'Escape') {\n event.stopPropagation();\n }\n };\n\n return (\n <Popover {...popoverProps} modal>\n <Popover.Content\n onCloseAutoFocus={handleCloseAutoFocus}\n onInteractOutside={handleInteractOutside}\n onClick={event => event.stopPropagation()}\n placement=\"right\"\n tabIndex={-1}\n className=\"focus:!shadow-none\">\n {({ close }) => (\n <>\n <div className=\"flex w-32 flex-col space-y-2\">\n {onEdit ? (\n <>\n <Field\n className={cn('!min-h-fit', { '!pb-0': !validationError })}\n invalid={!!validationError}\n message={validationError?.message}>\n <Input\n invalid={!!validationError}\n onChange={handleInputChange}\n onKeyDown={handleInputKeyDown(close)}\n ref={ref}\n value={name}\n />\n </Field>\n {initialColor ? (\n <>\n <h5>Colours</h5>\n <Colours\n color={color}\n onChangeColor={setColor}\n onKeyDown={preventKeyDownPropagation}\n />\n </>\n ) : null}\n <Group>\n <Button onClick={close}>{texts.select2.cancel}</Button>\n <Button appearance=\"primary\" onClick={handleSave(close)}>\n {texts.select2.save}\n </Button>\n </Group>\n </>\n ) : null}\n {onEdit && onDelete ? <hr /> : null}\n {onDelete ? (\n <button\n className=\"hover:text-grey-700 flex items-center justify-start gap-1\"\n onClick={handleDelete(close)}\n onKeyDown={preventKeyDownPropagation}>\n <Icon className=\"!h-5 !w-5\" name=\"delete-permanently\" /> {texts.select2.delete}\n </button>\n ) : null}\n </div>\n </>\n )}\n </Popover.Content>\n </Popover>\n );\n};\n\nconst Colours = props => {\n const { color, onChangeColor, onClick, onKeyDown } = props;\n const { texts } = useLocalization();\n\n return (\n <RadioGroup.Root\n aria-label={texts.select2.chooseColor}\n className=\"grid grid-cols-4 gap-2 focus:outline-none\"\n onClick={onClick}\n onKeyDown={onKeyDown}\n onValueChange={color => onChangeColor(color)}\n value={color}>\n {AVAILABLE_COLORS.map((availableColor: string) => (\n <RadioGroup.Item\n aria-label={color}\n className={cn(\n 'flex h-6 w-6 cursor-pointer items-center justify-center rounded',\n getSubtleColorShadeClasses(availableColor as Color)\n )}\n key={availableColor}\n onFocus={() => onChangeColor(availableColor)}\n value={availableColor}>\n <RadioGroup.Indicator asChild>\n <Icon name=\"tick\" className=\"!h-5 !w-5\" />\n </RadioGroup.Indicator>\n </RadioGroup.Item>\n ))}\n </RadioGroup.Root>\n );\n};\n"],"names":["EditPopover","props","color","initialColor","text","initialName","value","popoverProps","ref","React","useRef","onDelete","onEdit","searchRef","selectRef","useSelect2Context","texts","useLocalization","name","setName","useState","setColor","validationError","setValidationError","handleInputChange","event","target","undefined","handleInputKeyDown","close","stopPropagation","key","handleSave","handleDelete","error","preventDefault","current","focus","handleCloseAutoFocus","handleInteractOutside","preventKeyDownPropagation","Popover","modal","Content","onCloseAutoFocus","onInteractOutside","onClick","placement","tabIndex","className","Field","cn","invalid","message","Input","onChange","onKeyDown","Colours","onChangeColor","Group","Button","select2","cancel","appearance","save","Icon","delete","RadioGroup","chooseColor","onValueChange","AVAILABLE_COLORS","map","availableColor","getSubtleColorShadeClasses","onFocus","asChild"],"mappings":";;;;;;;;;;;;;;MAqBaA,WAAW,GAAIC,KAAuB;EAC/C,MAAM;IAAEC,KAAK,EAAEC,YAAY;IAAEC,IAAI,EAAEC,WAAW;IAAEC,KAAK;IAAE,GAAGC;GAAc,GAAGN,KAAK;EAChF,MAAMO,GAAG,GAAGC,cAAK,CAACC,MAAM,CAAmB,IAAI,CAAC;EAChD,MAAM;IAAEC,QAAQ;IAAEC,MAAM;IAAEC,SAAS;IAAEL,GAAG,EAAEM;GAAW,GAAGC,iBAAiB,EAAE;EAC3E,MAAM;IAAEC;GAAO,GAAGC,eAAe,EAAE;EACnC,MAAM,CAACC,IAAI,EAAEC,OAAO,CAAC,GAAGV,cAAK,CAACW,QAAQ,CAACf,WAAW,CAAC;EACnD,MAAM,CAACH,KAAK,EAAEmB,QAAQ,CAAC,GAAGZ,cAAK,CAACW,QAAQ,CAACjB,YAAY,CAAC;EACtD,MAAM,CAACmB,eAAe,EAAEC,kBAAkB,CAAC,GAAGd,cAAK,CAACW,QAAQ,EAAqB;EAEjF,MAAMI,iBAAiB,GAAGC,KAAK;IAC3BN,OAAO,CAACM,KAAK,CAACC,MAAM,CAACpB,KAAK,CAAC;IAC3BiB,kBAAkB,CAACI,SAAS,CAAC;GAChC;EAED,MAAMC,kBAAkB,GAAGC,KAAK,cAAUJ,KAAK;IAAA;MAC3CA,KAAK,CAACK,eAAe,EAAE;MAEvB,IAAIL,KAAK,CAACM,GAAG,KAAK,QAAQ,EAAE;QACxBF,KAAK,EAAE;OACV,MAAM,IAAIJ,KAAK,CAACM,GAAG,KAAK,OAAO,EAAE;QAC9BC,UAAU,CAACH,KAAK,CAAC,CAACJ,KAAK,CAAC;;MAC3B;KACJ;MAAA;;;EAED,MAAMQ,YAAY,GAAGJ,KAAK,cAAUJ,KAAK;IAAA;MACrCA,KAAK,CAACK,eAAe,EAAE;MACvBD,KAAK,EAAE;MAAC;QAAA,IAEJlB,QAAQ;UAAA,uBACFA,QAAQ,CAACL,KAAK,CAAC;;;MAAA;KAE5B;MAAA;;;EAED,MAAM0B,UAAU,GAAGH,KAAK,cAAUJ,KAAK;IAAA;;YAC/Bb,MAAM,KAAKM,IAAI,KAAKb,WAAW,IAAIH,KAAK,KAAKC,YAAY,CAAC;UAAA,kCACtD;YAAA,uBACMS,MAAM,CAACN,KAAK,EAAEY,IAAI,EAAEhB,KAAK,CAAC;cAChC2B,KAAK,EAAE;;WACV,YAAQK,KAAK,EAAE;YAAA;YACZT,KAAK,CAACU,cAAc,EAAE;YACtBV,KAAK,CAACK,eAAe,EAAE;YACvBP,kBAAkB,CAACW,KAAc,CAAC;YAClC,gBAAA1B,GAAG,CAAC4B,OAAO,iDAAX,aAAaC,KAAK,EAAE;WACvB;UAAA;;UAEDR,KAAK,EAAE;;;MAAC;KAEf;MAAA;;;EAED,MAAMS,oBAAoB,GAAGb,KAAK;IAC9BA,KAAK,CAACU,cAAc,EAAE;IACtBhB,OAAO,CAACd,WAAW,CAAC;IACpBgB,QAAQ,CAAClB,YAAY,CAAC;IACtBoB,kBAAkB,CAACI,SAAS,CAAC;IAE7B,IAAId,SAAS,aAATA,SAAS,eAATA,SAAS,CAAEuB,OAAO,EAAE;MAAA;MACpB,sBAAAvB,SAAS,CAACuB,OAAO,uDAAjB,mBAAmBC,KAAK,EAAE;KAC7B,MAAM;MAAA;MACH,sBAAAvB,SAAS,CAACsB,OAAO,uDAAjB,mBAAmBC,KAAK,EAAE;;GAEjC;EAED,MAAME,qBAAqB,GAAG;IAC1BpB,OAAO,CAACd,WAAW,CAAC;IACpBgB,QAAQ,CAAClB,YAAY,CAAC;GACzB;EAED,MAAMqC,yBAAyB,GAAGf,KAAK;IACnC,IAAIA,KAAK,CAACM,GAAG,KAAK,QAAQ,EAAE;MACxBN,KAAK,CAACK,eAAe,EAAE;;GAE9B;EAED,oBACIrB,6BAACgC,OAAO,oBAAKlC,YAAY;IAAEmC,KAAK;mBAC5BjC,6BAACgC,OAAO,CAACE,OAAO;IACZC,gBAAgB,EAAEN,oBAAoB;IACtCO,iBAAiB,EAAEN,qBAAqB;IACxCO,OAAO,EAAErB,KAAK,IAAIA,KAAK,CAACK,eAAe,EAAE;IACzCiB,SAAS,EAAC,OAAO;IACjBC,QAAQ,EAAE,CAAC,CAAC;IACZC,SAAS,EAAC;KACT,CAAC;IAAEpB;GAAO,kBACPpB,yEACIA;IAAKwC,SAAS,EAAC;KACVrC,MAAM,gBACHH,yEACIA,6BAACyC,KAAK;IACFD,SAAS,EAAEE,EAAE,CAAC,YAAY,EAAE;MAAE,OAAO,EAAE,CAAC7B;KAAiB,CAAC;IAC1D8B,OAAO,EAAE,CAAC,CAAC9B,eAAe;IAC1B+B,OAAO,EAAE/B,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAE+B;kBAC1B5C,6BAAC6C,KAAK;IACFF,OAAO,EAAE,CAAC,CAAC9B,eAAe;IAC1BiC,QAAQ,EAAE/B,iBAAiB;IAC3BgC,SAAS,EAAE5B,kBAAkB,CAACC,KAAK,CAAC;IACpCrB,GAAG,EAAEA,GAAG;IACRF,KAAK,EAAEY;IACT,CACE,EACPf,YAAY,gBACTM,yEACIA,mDAAgB,eAChBA,6BAACgD,OAAO;IACJvD,KAAK,EAAEA,KAAK;IACZwD,aAAa,EAAErC,QAAQ;IACvBmC,SAAS,EAAEhB;IACb,CACH,GACH,IAAI,eACR/B,6BAACkD,KAAK,qBACFlD,6BAACmD,MAAM;IAACd,OAAO,EAAEjB;KAAQb,KAAK,CAAC6C,OAAO,CAACC,MAAM,CAAU,eACvDrD,6BAACmD,MAAM;IAACG,UAAU,EAAC,SAAS;IAACjB,OAAO,EAAEd,UAAU,CAACH,KAAK;KACjDb,KAAK,CAAC6C,OAAO,CAACG,IAAI,CACd,CACL,CACT,GACH,IAAI,EACPpD,MAAM,IAAID,QAAQ,gBAAGF,wCAAM,GAAG,IAAI,EAClCE,QAAQ,gBACLF;IACIwC,SAAS,EAAC,2DAA2D;IACrEH,OAAO,EAAEb,YAAY,CAACJ,KAAK,CAAC;IAC5B2B,SAAS,EAAEhB;kBACX/B,6BAACwD,IAAI;IAAChB,SAAS,EAAC,WAAW;IAAC/B,IAAI,EAAC;IAAuB,OAAEF,KAAK,CAAC6C,OAAO,CAACK,MAAM,CACzE,GACT,IAAI,CACN,CAEb,CACa,CACZ;AAElB;AAEA,MAAMT,OAAO,GAAGxD,KAAK;EACjB,MAAM;IAAEC,KAAK;IAAEwD,aAAa;IAAEZ,OAAO;IAAEU;GAAW,GAAGvD,KAAK;EAC1D,MAAM;IAAEe;GAAO,GAAGC,eAAe,EAAE;EAEnC,oBACIR,6BAAC0D,IAAe;kBACAnD,KAAK,CAAC6C,OAAO,CAACO,WAAW;IACrCnB,SAAS,EAAC,2CAA2C;IACrDH,OAAO,EAAEA,OAAO;IAChBU,SAAS,EAAEA,SAAS;IACpBa,aAAa,EAAEnE,KAAK,IAAIwD,aAAa,CAACxD,KAAK,CAAC;IAC5CI,KAAK,EAAEJ;KACNoE,gBAAgB,CAACC,GAAG,CAAEC,cAAsB,iBACzC/D,6BAAC0D,IAAe;kBACAjE,KAAK;IACjB+C,SAAS,EAAEE,EAAE,CACT,iEAAiE,EACjEsB,0BAA0B,CAACD,cAAuB,CAAC,CACtD;IACDzC,GAAG,EAAEyC,cAAc;IACnBE,OAAO,EAAE,MAAMhB,aAAa,CAACc,cAAc,CAAC;IAC5ClE,KAAK,EAAEkE;kBACP/D,6BAAC0D,SAAoB;IAACQ,OAAO;kBACzBlE,6BAACwD,IAAI;IAAC/C,IAAI,EAAC,MAAM;IAAC+B,SAAS,EAAC;IAAc,CACvB,CAE9B,CAAC,CACY;AAE1B,CAAC;;;;"}
|
@@ -3,8 +3,8 @@ import cn from 'classnames';
|
|
3
3
|
import { Icon } from '../../Icon/Icon.js';
|
4
4
|
import { Badge } from '../../Badge/Badge.js';
|
5
5
|
import { Tooltip } from '../../Tooltip/Tooltip.js';
|
6
|
-
import { useMergedRef } from '../../../hooks/useMergedRef.js';
|
7
6
|
import { getInputClasses } from '../../Input/util.js';
|
7
|
+
import { useMergedRef } from '../../../hooks/useMergedRef.js';
|
8
8
|
import { ScrollArea } from '../../ScrollArea/ScrollArea.js';
|
9
9
|
import { Tag } from '../../Tag/Tag.js';
|
10
10
|
import { useSelect2Context } from './Context.js';
|
@@ -1,8 +1,8 @@
|
|
1
1
|
import React__default from 'react';
|
2
2
|
import cn from 'classnames';
|
3
3
|
import { useLocalization } from '../../Provider/Localization.js';
|
4
|
-
import { useMergedRef } from '../../../hooks/useMergedRef.js';
|
5
4
|
import { useBoundingClientRectListener } from '../../../hooks/useBoundingClientRectListener.js';
|
5
|
+
import { useMergedRef } from '../../../hooks/useMergedRef.js';
|
6
6
|
import { useTable } from '../hooks/useTable.js';
|
7
7
|
import { Row } from '../util/renderRow.js';
|
8
8
|
import { BaseTable, DefaultEmptyState } from './BaseTable.js';
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import React__default from 'react';
|
2
|
-
import { useControllableState } from '@radix-ui/react-use-controllable-state';
|
3
2
|
import { getNextIndexFromKey } from '../../../utils/hooks/useListKeyboardNavigation.js';
|
3
|
+
import { useControllableState } from '@radix-ui/react-use-controllable-state';
|
4
4
|
import { sanitizeRowProps } from '../util.js';
|
5
5
|
|
6
6
|
const useTableKeyboardNavigation = (props, rows, rowProps, ref) => {
|
@@ -4,12 +4,12 @@ import { useMergedRef } from '../../../../hooks/useMergedRef.js';
|
|
4
4
|
import { Input } from '../../../Input/Input.js';
|
5
5
|
import { Datepicker } from '../../../Datepicker/Datepicker.js';
|
6
6
|
import { _catch } from '../../../../../../../node_modules/babel-plugin-transform-async-to-promises/helpers.mjs.js';
|
7
|
+
import { Switch } from '../../../Switch/Switch.js';
|
7
8
|
import { flexRender } from '@tanstack/react-table';
|
8
9
|
import { useRowContext } from '../row/Context.js';
|
9
10
|
import { isInternalColumn } from '../../utilities/columns.js';
|
10
11
|
import { getCellSizingClasses, isKeyboardFocusableElement, getCellAlignmentClasses } from '../../utilities/cell.js';
|
11
12
|
import { ColumnBase } from './Base.js';
|
12
|
-
import { Switch } from '../../../Switch/Switch.js';
|
13
13
|
import { globalFilterFn, columnFilterFn } from '../../utilities/filterFn.js';
|
14
14
|
import { MOVE_DIR } from '../../hooks/useEditMode.js';
|
15
15
|
import { IndicatorReason, Indicator } from './Indicator.js';
|
@@ -3,8 +3,8 @@ import cn from 'classnames';
|
|
3
3
|
import { Icon } from '../../../Icon/Icon.js';
|
4
4
|
import { useLocalization } from '../../../Provider/Localization.js';
|
5
5
|
import { Button } from '../../../Button/Button.js';
|
6
|
-
import { Group } from '../../../Group/Group.js';
|
7
6
|
import { Popover } from '../../../Popover/Popover.js';
|
7
|
+
import { Group } from '../../../Group/Group.js';
|
8
8
|
import { useGlobalKeyboardShortcut } from '../../../../hooks/useGlobalKeyboardShortcut.js';
|
9
9
|
import { Shortcut } from '../../../Shortcut/Shortcut.js';
|
10
10
|
import { isInternalColumn } from '../../utilities/columns.js';
|
@@ -3,8 +3,8 @@ import cn from 'classnames';
|
|
3
3
|
import { Icon } from '../../Icon/Icon.js';
|
4
4
|
import { Tooltip } from '../../Tooltip/Tooltip.js';
|
5
5
|
import { IconButton } from '../../IconButton/IconButton.js';
|
6
|
-
import { Menu } from '../../Menu/Menu.js';
|
7
6
|
import { Checkbox } from '../../Checkbox/Checkbox.js';
|
7
|
+
import { Menu } from '../../Menu/Menu.js';
|
8
8
|
import { Shortcut } from '../../Shortcut/Shortcut.js';
|
9
9
|
import { useRowContext } from '../components/row/Context.js';
|
10
10
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import React__default from 'react';
|
2
2
|
import cn from 'classnames';
|
3
|
-
import { getSubtleColorShadeClasses } from '../../utils/
|
3
|
+
import { getSubtleColorShadeClasses } from '../../utils/tailwind.js';
|
4
4
|
import { Icon } from '../Icon/Icon.js';
|
5
5
|
|
6
6
|
const Tag = /*#__PURE__*/React__default.forwardRef((props, ref) => {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Tag.js","sources":["../../../../../../../src/components/Tag/Tag.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { Icon, IconName, IconProps } from '../Icon/Icon';\nimport { Color } from '../../types';\nimport { getSubtleColorShadeClasses } from '../../utils/
|
1
|
+
{"version":3,"file":"Tag.js","sources":["../../../../../../../src/components/Tag/Tag.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { Icon, IconName, IconProps } from '../Icon/Icon';\nimport { Color } from '../../types';\nimport { getSubtleColorShadeClasses } from '../../utils/tailwind';\n\nexport type TagProps = Omit<React.HTMLAttributes<HTMLSpanElement>, 'children'> & {\n children: string;\n color?: Color;\n disabled?: boolean;\n icon?: React.ReactElement<IconProps> | IconName;\n readOnly?: boolean;\n onDelete?: (event: React.MouseEvent<SVGSVGElement>) => void;\n};\n\nexport const Tag = React.forwardRef<HTMLSpanElement, TagProps>((props, ref) => {\n const { children, color, disabled, icon, readOnly, onDelete, ...otherProps } = props;\n const textRef = React.useRef<HTMLDivElement>(null);\n\n const className = cn(\n 'inline-flex items-center rounded h-6 cursor-default',\n {\n 'opacity-50': disabled,\n 'hover:bg-opacity-75': !disabled,\n 'cursor-pointer': !!otherProps.onClick,\n 'pointer-events-none': disabled || readOnly,\n },\n getSubtleColorShadeClasses(color),\n props.className\n );\n\n return (\n <span {...otherProps} className={className} ref={ref} data-taco=\"tag\">\n <span className=\"truncate px-2\" ref={textRef}>\n {icon ? (\n typeof icon === 'string' ? (\n <Icon name={icon} className=\"mr-1 -ml-1 -mt-0.5 !h-5 !w-5\" />\n ) : (\n React.cloneElement(icon, { className: 'mr-1 -ml-1 -mt-0.5 !h-5 !w-5' })\n )\n ) : null}\n {children}\n </span>\n {onDelete ? (\n <Icon\n name=\"close\"\n onClick={onDelete}\n className=\"-ml-1.5 !h-6 !w-5 flex-shrink-0 cursor-pointer rounded-r p-0.5 hover:bg-black/5\"\n />\n ) : null}\n </span>\n );\n});\n"],"names":["Tag","React","forwardRef","props","ref","children","color","disabled","icon","readOnly","onDelete","otherProps","textRef","useRef","className","cn","onClick","getSubtleColorShadeClasses","Icon","name","cloneElement"],"mappings":";;;;;MAeaA,GAAG,gBAAGC,cAAK,CAACC,UAAU,CAA4B,CAACC,KAAK,EAAEC,GAAG;EACtE,MAAM;IAAEC,QAAQ;IAAEC,KAAK;IAAEC,QAAQ;IAAEC,IAAI;IAAEC,QAAQ;IAAEC,QAAQ;IAAE,GAAGC;GAAY,GAAGR,KAAK;EACpF,MAAMS,OAAO,GAAGX,cAAK,CAACY,MAAM,CAAiB,IAAI,CAAC;EAElD,MAAMC,SAAS,GAAGC,EAAE,CAChB,qDAAqD,EACrD;IACI,YAAY,EAAER,QAAQ;IACtB,qBAAqB,EAAE,CAACA,QAAQ;IAChC,gBAAgB,EAAE,CAAC,CAACI,UAAU,CAACK,OAAO;IACtC,qBAAqB,EAAET,QAAQ,IAAIE;GACtC,EACDQ,0BAA0B,CAACX,KAAK,CAAC,EACjCH,KAAK,CAACW,SAAS,CAClB;EAED,oBACIb,uDAAUU,UAAU;IAAEG,SAAS,EAAEA,SAAS;IAAEV,GAAG,EAAEA,GAAG;iBAAY;mBAC5DH;IAAMa,SAAS,EAAC,eAAe;IAACV,GAAG,EAAEQ;KAChCJ,IAAI,GACD,OAAOA,IAAI,KAAK,QAAQ,gBACpBP,6BAACiB,IAAI;IAACC,IAAI,EAAEX,IAAI;IAAEM,SAAS,EAAC;IAAiC,gBAE7Db,cAAK,CAACmB,YAAY,CAACZ,IAAI,EAAE;IAAEM,SAAS,EAAE;GAAgC,CACzE,GACD,IAAI,EACPT,QAAQ,CACN,EACNK,QAAQ,gBACLT,6BAACiB,IAAI;IACDC,IAAI,EAAC,OAAO;IACZH,OAAO,EAAEN,QAAQ;IACjBI,SAAS,EAAC;IACZ,GACF,IAAI,CACL;AAEf,CAAC;;;;"}
|
@@ -4,7 +4,7 @@ import { IconButton } from '../IconButton/IconButton.js';
|
|
4
4
|
import { useLocalization } from '../Provider/Localization.js';
|
5
5
|
import { useAnimation, motion } from 'framer-motion';
|
6
6
|
import useTimer from '../../utils/hooks/useTimer.js';
|
7
|
-
import { getBadgeIcon } from './util.js';
|
7
|
+
import { getToastEmptyContentWarning, getBadgeIcon } from './util.js';
|
8
8
|
|
9
9
|
const Toast = ({
|
10
10
|
content,
|
@@ -30,7 +30,7 @@ const Toast = ({
|
|
30
30
|
const timer = useTimer(autoClose, handleClose);
|
31
31
|
const controls = useAnimation();
|
32
32
|
if (!content) {
|
33
|
-
console.warn(
|
33
|
+
console.warn(getToastEmptyContentWarning(content));
|
34
34
|
}
|
35
35
|
React__default.useEffect(() => {
|
36
36
|
if (autoClose) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Toast.js","sources":["../../../../../../../src/components/Toast/Toast.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { motion, useAnimation } from 'framer-motion';\nimport useTimer from '../../utils/hooks/useTimer';\nimport { getBadgeIcon } from './util';\nimport { State } from '../../types';\nimport { useLocalization } from '../Provider/Localization';\nimport { IconButton } from '../IconButton/IconButton';\n\nexport type ToastsTexts = {\n /** Aria-label for the close icon button of toast */\n dismiss: string;\n};\n\nexport type ToastType = Omit<State, 'default'> | 'loading';\nexport type ToastOptions = {\n /** Provide time in milliseconds after which the toast should autoclose */\n autoClose?: number;\n /**\n * State will change the icon displayed in toast and other characteristics,\n * for e.g. `loading` state will display a progress animation.\n * Default value is `default`\n */\n type?: ToastType;\n};\nexport type ToastContent = Omit<React.ReactNode, 'null' | 'undefined'>;\nexport type ToastProps = {\n /** Provide a unique id for toast */\n id: string;\n /**\n * Content can be any valid react node, for e.g. a `div`, or a simple text.\n */\n content: ToastContent;\n /** Additional options to define your toast */\n options: ToastOptions;\n /**\n * Handler called when toast closes.\n * To read more about how to provide the text, see [Provider](component:provider) component\n */\n onClose: () => void;\n lastUpdated?: number;\n lastDuplicateId?: string;\n};\n\nexport const Toast = ({ content, lastUpdated, onClose: handleClose, options, ...props }: ToastProps): JSX.Element => {\n const { texts } = useLocalization();\n const { autoClose, type = 'default' } = options;\n const className = cn('bg-white relative flex items-center py-1 px-2 mt-3 w-full rounded yt-shadow', {\n 'border border-grey-200': type === 'default' || type === 'loading' || !type,\n 'border border-grey-500': type === 'success',\n 'border border-blue-500': type === 'information',\n 'border border-yellow-700': type === 'warning',\n 'border border-red': type === 'error',\n });\n const timer = useTimer(autoClose, handleClose);\n const controls = useAnimation();\n\n if (!content) {\n console.warn(
|
1
|
+
{"version":3,"file":"Toast.js","sources":["../../../../../../../src/components/Toast/Toast.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { motion, useAnimation } from 'framer-motion';\nimport useTimer from '../../utils/hooks/useTimer';\nimport { getBadgeIcon, getToastEmptyContentWarning } from './util';\nimport { State } from '../../types';\nimport { useLocalization } from '../Provider/Localization';\nimport { IconButton } from '../IconButton/IconButton';\n\nexport type ToastsTexts = {\n /** Aria-label for the close icon button of toast */\n dismiss: string;\n};\n\nexport type ToastType = Omit<State, 'default'> | 'loading';\nexport type ToastOptions = {\n /** Provide time in milliseconds after which the toast should autoclose */\n autoClose?: number;\n /**\n * State will change the icon displayed in toast and other characteristics,\n * for e.g. `loading` state will display a progress animation.\n * Default value is `default`\n */\n type?: ToastType;\n};\nexport type ToastContent = Omit<React.ReactNode, 'null' | 'undefined'>;\nexport type ToastProps = {\n /** Provide a unique id for toast */\n id: string;\n /**\n * Content can be any valid react node, for e.g. a `div`, or a simple text.\n */\n content: ToastContent;\n /** Additional options to define your toast */\n options: ToastOptions;\n /**\n * Handler called when toast closes.\n * To read more about how to provide the text, see [Provider](component:provider) component\n */\n onClose: () => void;\n lastUpdated?: number;\n lastDuplicateId?: string;\n};\n\nexport const Toast = ({ content, lastUpdated, onClose: handleClose, options, ...props }: ToastProps): JSX.Element => {\n const { texts } = useLocalization();\n const { autoClose, type = 'default' } = options;\n const className = cn('bg-white relative flex items-center py-1 px-2 mt-3 w-full rounded yt-shadow', {\n 'border border-grey-200': type === 'default' || type === 'loading' || !type,\n 'border border-grey-500': type === 'success',\n 'border border-blue-500': type === 'information',\n 'border border-yellow-700': type === 'warning',\n 'border border-red': type === 'error',\n });\n const timer = useTimer(autoClose, handleClose);\n const controls = useAnimation();\n\n if (!content) {\n console.warn(getToastEmptyContentWarning(content));\n }\n\n React.useEffect(() => {\n if (autoClose) {\n timer.start();\n }\n }, [autoClose]);\n\n const triggerUpdateAnimation = async () => {\n await controls.start({ scale: 1.05 });\n await controls.start({ scale: 1 });\n };\n\n React.useEffect(() => {\n if (lastUpdated) {\n triggerUpdateAnimation();\n\n if (timer.running) {\n timer.start();\n }\n }\n }, [lastUpdated]);\n\n return (\n <motion.div\n {...props}\n animate={controls}\n className={className}\n data-taco=\"toast\"\n onMouseEnter={timer.pause}\n onMouseLeave={timer.resume}>\n {getBadgeIcon(type)}\n <div className=\"flex-grow\">{content}</div>\n <IconButton\n appearance=\"discrete\"\n className=\"text-grey-700 -mr-2 cursor-pointer self-start !px-0\"\n icon=\"close\"\n aria-label={texts.toasts.dismiss}\n onClick={handleClose}\n />\n </motion.div>\n );\n};\n"],"names":["Toast","content","lastUpdated","onClose","handleClose","options","props","texts","useLocalization","autoClose","type","className","cn","timer","useTimer","controls","useAnimation","console","warn","getToastEmptyContentWarning","React","useEffect","start","triggerUpdateAnimation","scale","running","motion","div","animate","onMouseEnter","pause","onMouseLeave","resume","getBadgeIcon","IconButton","appearance","icon","toasts","dismiss","onClick"],"mappings":";;;;;;;;MA4CaA,KAAK,GAAG,CAAC;EAAEC,OAAO;EAAEC,WAAW;EAAEC,OAAO,EAAEC,WAAW;EAAEC,OAAO;EAAE,GAAGC;CAAmB;EAC/F,MAAM;IAAEC;GAAO,GAAGC,eAAe,EAAE;EACnC,MAAM;IAAEC,SAAS;IAAEC,IAAI,GAAG;GAAW,GAAGL,OAAO;EAC/C,MAAMM,SAAS,GAAGC,EAAE,CAAC,6EAA6E,EAAE;IAChG,wBAAwB,EAAEF,IAAI,KAAK,SAAS,IAAIA,IAAI,KAAK,SAAS,IAAI,CAACA,IAAI;IAC3E,wBAAwB,EAAEA,IAAI,KAAK,SAAS;IAC5C,wBAAwB,EAAEA,IAAI,KAAK,aAAa;IAChD,0BAA0B,EAAEA,IAAI,KAAK,SAAS;IAC9C,mBAAmB,EAAEA,IAAI,KAAK;GACjC,CAAC;EACF,MAAMG,KAAK,GAAGC,QAAQ,CAACL,SAAS,EAAEL,WAAW,CAAC;EAC9C,MAAMW,QAAQ,GAAGC,YAAY,EAAE;EAE/B,IAAI,CAACf,OAAO,EAAE;IACVgB,OAAO,CAACC,IAAI,CAACC,2BAA2B,CAAClB,OAAO,CAAC,CAAC;;EAGtDmB,cAAK,CAACC,SAAS,CAAC;IACZ,IAAIZ,SAAS,EAAE;MACXI,KAAK,CAACS,KAAK,EAAE;;GAEpB,EAAE,CAACb,SAAS,CAAC,CAAC;EAEf,MAAMc,sBAAsB;IAAA;6BAClBR,QAAQ,CAACO,KAAK,CAAC;QAAEE,KAAK,EAAE;OAAM,CAAC;QAAA,uBAC/BT,QAAQ,CAACO,KAAK,CAAC;UAAEE,KAAK,EAAE;SAAG,CAAC;;KACrC;MAAA;;;EAEDJ,cAAK,CAACC,SAAS,CAAC;IACZ,IAAInB,WAAW,EAAE;MACbqB,sBAAsB,EAAE;MAExB,IAAIV,KAAK,CAACY,OAAO,EAAE;QACfZ,KAAK,CAACS,KAAK,EAAE;;;GAGxB,EAAE,CAACpB,WAAW,CAAC,CAAC;EAEjB,oBACIkB,6BAACM,MAAM,CAACC,GAAG,oBACHrB,KAAK;IACTsB,OAAO,EAAEb,QAAQ;IACjBJ,SAAS,EAAEA,SAAS;iBACV,OAAO;IACjBkB,YAAY,EAAEhB,KAAK,CAACiB,KAAK;IACzBC,YAAY,EAAElB,KAAK,CAACmB;MACnBC,YAAY,CAACvB,IAAI,CAAC,eACnBU;IAAKT,SAAS,EAAC;KAAaV,OAAO,CAAO,eAC1CmB,6BAACc,UAAU;IACPC,UAAU,EAAC,UAAU;IACrBxB,SAAS,EAAC,qDAAqD;IAC/DyB,IAAI,EAAC,OAAO;kBACA7B,KAAK,CAAC8B,MAAM,CAACC,OAAO;IAChCC,OAAO,EAAEnC;IACX,CACO;AAErB;;;;"}
|
@@ -35,6 +35,7 @@ const getBadgeIcon = type => {
|
|
35
35
|
return null;
|
36
36
|
}
|
37
37
|
};
|
38
|
+
const getToastEmptyContentWarning = content => `Toast requires 'content' property, which can't be empty string, null or undefined. Current content value is set to ${content === '' ? 'empty string' : content}.`;
|
38
39
|
|
39
|
-
export { getBadgeIcon };
|
40
|
+
export { getBadgeIcon, getToastEmptyContentWarning };
|
40
41
|
//# sourceMappingURL=util.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"util.js","sources":["../../../../../../../src/components/Toast/util.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { Icon } from '../Icon/Icon';\nimport { Spinner } from '../Spinner/Spinner';\nimport { ToastType } from './Toast';\n\nexport const getBadgeIcon = (type: ToastType): JSX.Element | null => {\n const css = 'rounded-full flex-shrink-0 mr-2 mt-1 self-start';\n\n switch (type) {\n case 'success':\n return <Icon name=\"tick\" className={cn(css, 'yt-green-solid ')} />;\n\n case 'warning':\n return <Icon name=\"warning\" className={cn(css, 'yt-yellow-solid')} />;\n\n case 'error':\n return <Icon name=\"warning\" className={cn(css, 'yt-red-solid')} />;\n\n case 'information':\n return <Icon name=\"info\" className={cn(css, 'yt-blue-solid')} />;\n\n case 'loading':\n return <Spinner delay={0} className={cn(css, 'h-6 w-6')} />;\n\n default:\n return null;\n }\n};\n"],"names":["getBadgeIcon","type","css","React","Icon","name","className","cn","Spinner","delay"],"mappings":";;;;;MAMaA,YAAY,GAAIC,IAAe;EACxC,MAAMC,GAAG,GAAG,iDAAiD;EAE7D,QAAQD,IAAI;IACR,KAAK,SAAS;MACV,oBAAOE,6BAACC,IAAI;QAACC,IAAI,EAAC,MAAM;QAACC,SAAS,EAAEC,EAAE,CAACL,GAAG,EAAE,iBAAiB;QAAK;IAEtE,KAAK,SAAS;MACV,oBAAOC,6BAACC,IAAI;QAACC,IAAI,EAAC,SAAS;QAACC,SAAS,EAAEC,EAAE,CAACL,GAAG,EAAE,iBAAiB;QAAK;IAEzE,KAAK,OAAO;MACR,oBAAOC,6BAACC,IAAI;QAACC,IAAI,EAAC,SAAS;QAACC,SAAS,EAAEC,EAAE,CAACL,GAAG,EAAE,cAAc;QAAK;IAEtE,KAAK,aAAa;MACd,oBAAOC,6BAACC,IAAI;QAACC,IAAI,EAAC,MAAM;QAACC,SAAS,EAAEC,EAAE,CAACL,GAAG,EAAE,eAAe;QAAK;IAEpE,KAAK,SAAS;MACV,oBAAOC,6BAACK,OAAO;QAACC,KAAK,EAAE,CAAC;QAAEH,SAAS,EAAEC,EAAE,CAACL,GAAG,EAAE,SAAS;QAAK;IAE/D;MACI,OAAO,IAAI;;AAEvB;;;;"}
|
1
|
+
{"version":3,"file":"util.js","sources":["../../../../../../../src/components/Toast/util.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { Icon } from '../Icon/Icon';\nimport { Spinner } from '../Spinner/Spinner';\nimport { ToastContent, ToastType } from './Toast';\n\nexport const getBadgeIcon = (type: ToastType): JSX.Element | null => {\n const css = 'rounded-full flex-shrink-0 mr-2 mt-1 self-start';\n\n switch (type) {\n case 'success':\n return <Icon name=\"tick\" className={cn(css, 'yt-green-solid ')} />;\n\n case 'warning':\n return <Icon name=\"warning\" className={cn(css, 'yt-yellow-solid')} />;\n\n case 'error':\n return <Icon name=\"warning\" className={cn(css, 'yt-red-solid')} />;\n\n case 'information':\n return <Icon name=\"info\" className={cn(css, 'yt-blue-solid')} />;\n\n case 'loading':\n return <Spinner delay={0} className={cn(css, 'h-6 w-6')} />;\n\n default:\n return null;\n }\n};\n\nexport const getToastEmptyContentWarning = (content?: ToastContent) =>\n `Toast requires 'content' property, which can't be empty string, null or undefined. Current content value is set to ${\n content === '' ? 'empty string' : content\n }.`;\n"],"names":["getBadgeIcon","type","css","React","Icon","name","className","cn","Spinner","delay","getToastEmptyContentWarning","content"],"mappings":";;;;;MAMaA,YAAY,GAAIC,IAAe;EACxC,MAAMC,GAAG,GAAG,iDAAiD;EAE7D,QAAQD,IAAI;IACR,KAAK,SAAS;MACV,oBAAOE,6BAACC,IAAI;QAACC,IAAI,EAAC,MAAM;QAACC,SAAS,EAAEC,EAAE,CAACL,GAAG,EAAE,iBAAiB;QAAK;IAEtE,KAAK,SAAS;MACV,oBAAOC,6BAACC,IAAI;QAACC,IAAI,EAAC,SAAS;QAACC,SAAS,EAAEC,EAAE,CAACL,GAAG,EAAE,iBAAiB;QAAK;IAEzE,KAAK,OAAO;MACR,oBAAOC,6BAACC,IAAI;QAACC,IAAI,EAAC,SAAS;QAACC,SAAS,EAAEC,EAAE,CAACL,GAAG,EAAE,cAAc;QAAK;IAEtE,KAAK,aAAa;MACd,oBAAOC,6BAACC,IAAI;QAACC,IAAI,EAAC,MAAM;QAACC,SAAS,EAAEC,EAAE,CAACL,GAAG,EAAE,eAAe;QAAK;IAEpE,KAAK,SAAS;MACV,oBAAOC,6BAACK,OAAO;QAACC,KAAK,EAAE,CAAC;QAAEH,SAAS,EAAEC,EAAE,CAACL,GAAG,EAAE,SAAS;QAAK;IAE/D;MACI,OAAO,IAAI;;AAEvB;MAEaQ,2BAA2B,GAAIC,OAAsB,0HAE1DA,OAAO,KAAK,EAAE,GAAG,cAAc,GAAGA;;;;"}
|
@@ -32,7 +32,7 @@ const useIntersectionObserver = (ref, offset) => {
|
|
32
32
|
});
|
33
33
|
if (observer.root) {
|
34
34
|
Array.from(observer.root.children).forEach(item => {
|
35
|
-
if (item.
|
35
|
+
if (!item.hasAttribute('data-observer-ignore')) {
|
36
36
|
observer.observe(item);
|
37
37
|
}
|
38
38
|
});
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useIntersectionObserver.js","sources":["../../../../../../src/hooks/useIntersectionObserver.ts"],"sourcesContent":["import React from 'react';\n\nexport const useIntersectionObserver = (ref: React.RefObject<HTMLElement>, offset?: number) => {\n const [intersectedIndexes, setIntersectedIndexes] = React.useState({});\n\n const handleIntersection = (entries: IntersectionObserverEntry[], observer: IntersectionObserver) => {\n if (observer.root) {\n const children = Array.from((observer.root as Element).children);\n const map = {};\n\n entries.forEach(entry => {\n // entries only contains the items being intersected not all children of the ref\n // so use root and the the entry being intersected to find its real index\n // on first mount this is different - all children are present\n map[children.indexOf(entry.target)] = entry.isIntersecting;\n });\n\n setIntersectedIndexes(prev => ({ ...prev, ...map }));\n }\n };\n\n const intersectedChildIndex = React.useMemo(() => {\n const index = Object.values(intersectedIndexes).indexOf(false);\n return index > -1 ? index : undefined;\n }, [intersectedIndexes]);\n\n const hasRootMargin = intersectedChildIndex !== undefined && offset;\n\n React.useEffect(() => {\n const observer = new IntersectionObserver(handleIntersection, {\n root: ref.current,\n // offset the button, but only after the first item has been intersected\n rootMargin: hasRootMargin ? `0px -${offset}px 0px 0px` : undefined,\n threshold: 1,\n });\n\n if (observer.root) {\n Array.from(observer.root.children).forEach(item => {\n if (item.
|
1
|
+
{"version":3,"file":"useIntersectionObserver.js","sources":["../../../../../../src/hooks/useIntersectionObserver.ts"],"sourcesContent":["import React from 'react';\n\nexport const useIntersectionObserver = (ref: React.RefObject<HTMLElement>, offset?: number) => {\n const [intersectedIndexes, setIntersectedIndexes] = React.useState({});\n\n const handleIntersection = (entries: IntersectionObserverEntry[], observer: IntersectionObserver) => {\n if (observer.root) {\n const children = Array.from((observer.root as Element).children);\n const map = {};\n\n entries.forEach(entry => {\n // entries only contains the items being intersected not all children of the ref\n // so use root and the the entry being intersected to find its real index\n // on first mount this is different - all children are present\n map[children.indexOf(entry.target)] = entry.isIntersecting;\n });\n\n setIntersectedIndexes(prev => ({ ...prev, ...map }));\n }\n };\n\n const intersectedChildIndex = React.useMemo(() => {\n const index = Object.values(intersectedIndexes).indexOf(false);\n return index > -1 ? index : undefined;\n }, [intersectedIndexes]);\n\n const hasRootMargin = intersectedChildIndex !== undefined && offset;\n\n React.useEffect(() => {\n const observer = new IntersectionObserver(handleIntersection, {\n root: ref.current,\n // offset the button, but only after the first item has been intersected\n rootMargin: hasRootMargin ? `0px -${offset}px 0px 0px` : undefined,\n threshold: 1,\n });\n\n if (observer.root) {\n Array.from(observer.root.children).forEach(item => {\n if (!item.hasAttribute('data-observer-ignore')) {\n observer.observe(item);\n }\n });\n }\n\n return () => {\n observer.disconnect();\n };\n }, [hasRootMargin]);\n\n return intersectedChildIndex;\n};\n"],"names":["useIntersectionObserver","ref","offset","intersectedIndexes","setIntersectedIndexes","React","useState","handleIntersection","entries","observer","root","children","Array","from","map","forEach","entry","indexOf","target","isIntersecting","prev","intersectedChildIndex","useMemo","index","Object","values","undefined","hasRootMargin","useEffect","IntersectionObserver","current","rootMargin","threshold","item","hasAttribute","observe","disconnect"],"mappings":";;MAEaA,uBAAuB,GAAG,CAACC,GAAiC,EAAEC,MAAe;EACtF,MAAM,CAACC,kBAAkB,EAAEC,qBAAqB,CAAC,GAAGC,cAAK,CAACC,QAAQ,CAAC,EAAE,CAAC;EAEtE,MAAMC,kBAAkB,GAAG,CAACC,OAAoC,EAAEC,QAA8B;IAC5F,IAAIA,QAAQ,CAACC,IAAI,EAAE;MACf,MAAMC,QAAQ,GAAGC,KAAK,CAACC,IAAI,CAAEJ,QAAQ,CAACC,IAAgB,CAACC,QAAQ,CAAC;MAChE,MAAMG,GAAG,GAAG,EAAE;MAEdN,OAAO,CAACO,OAAO,CAACC,KAAK;;;;QAIjBF,GAAG,CAACH,QAAQ,CAACM,OAAO,CAACD,KAAK,CAACE,MAAM,CAAC,CAAC,GAAGF,KAAK,CAACG,cAAc;OAC7D,CAAC;MAEFf,qBAAqB,CAACgB,IAAI,KAAK;QAAE,GAAGA,IAAI;QAAE,GAAGN;OAAK,CAAC,CAAC;;GAE3D;EAED,MAAMO,qBAAqB,GAAGhB,cAAK,CAACiB,OAAO,CAAC;IACxC,MAAMC,KAAK,GAAGC,MAAM,CAACC,MAAM,CAACtB,kBAAkB,CAAC,CAACc,OAAO,CAAC,KAAK,CAAC;IAC9D,OAAOM,KAAK,GAAG,CAAC,CAAC,GAAGA,KAAK,GAAGG,SAAS;GACxC,EAAE,CAACvB,kBAAkB,CAAC,CAAC;EAExB,MAAMwB,aAAa,GAAGN,qBAAqB,KAAKK,SAAS,IAAIxB,MAAM;EAEnEG,cAAK,CAACuB,SAAS,CAAC;IACZ,MAAMnB,QAAQ,GAAG,IAAIoB,oBAAoB,CAACtB,kBAAkB,EAAE;MAC1DG,IAAI,EAAET,GAAG,CAAC6B,OAAO;;MAEjBC,UAAU,EAAEJ,aAAa,WAAWzB,kBAAkB,GAAGwB,SAAS;MAClEM,SAAS,EAAE;KACd,CAAC;IAEF,IAAIvB,QAAQ,CAACC,IAAI,EAAE;MACfE,KAAK,CAACC,IAAI,CAACJ,QAAQ,CAACC,IAAI,CAACC,QAAQ,CAAC,CAACI,OAAO,CAACkB,IAAI;QAC3C,IAAI,CAACA,IAAI,CAACC,YAAY,CAAC,sBAAsB,CAAC,EAAE;UAC5CzB,QAAQ,CAAC0B,OAAO,CAACF,IAAI,CAAC;;OAE7B,CAAC;;IAGN,OAAO;MACHxB,QAAQ,CAAC2B,UAAU,EAAE;KACxB;GACJ,EAAE,CAACT,aAAa,CAAC,CAAC;EAEnB,OAAON,qBAAqB;AAChC;;;;"}
|
@@ -13,16 +13,11 @@ export { Base, IconButton } from './components/IconButton/IconButton.js';
|
|
13
13
|
export { LocalizationContext, LocalizationProvider, defaultLocalisationTexts, useLocalization } from './components/Provider/Localization.js';
|
14
14
|
export { Banner } from './components/Banner/Banner.js';
|
15
15
|
export { Button } from './components/Button/Button.js';
|
16
|
-
export { useMergedRef } from './hooks/useMergedRef.js';
|
17
|
-
export { Group } from './components/Group/Group.js';
|
18
|
-
export { RadioGroup, findByValue, getRadioGroupItemValueAsString, useRadioGroup } from './components/RadioGroup/RadioGroup.js';
|
19
|
-
export { Menu } from './components/Menu/Menu.js';
|
20
|
-
export { useIntersectionObserver } from './hooks/useIntersectionObserver.js';
|
21
|
-
export { ButtonGroup } from './components/ButtonGroup/ButtonGroup.js';
|
22
16
|
export { Calendar } from './components/Calendar/Calendar.js';
|
23
17
|
export { Card } from './components/Card/Card.js';
|
24
18
|
export { Checkbox } from './components/Checkbox/Checkbox.js';
|
25
19
|
export { useBoundingClientRectListener } from './hooks/useBoundingClientRectListener.js';
|
20
|
+
export { useMergedRef } from './hooks/useMergedRef.js';
|
26
21
|
export { Input } from './components/Input/Input.js';
|
27
22
|
export { getNextIndexFromKey, useListKeyboardNavigation } from './utils/hooks/useListKeyboardNavigation.js';
|
28
23
|
export { useListScrollTo } from './utils/hooks/useListScrollTo.js';
|
@@ -32,33 +27,38 @@ export { format, isWeakEqual, parseFromCustomString, parseFromISOString } from '
|
|
32
27
|
export { Popover } from './components/Popover/Popover.js';
|
33
28
|
export { Datepicker } from './components/Datepicker/Datepicker.js';
|
34
29
|
export { Dialog } from './components/Dialog/Dialog.js';
|
30
|
+
export { Group } from './components/Group/Group.js';
|
35
31
|
export { Drawer } from './components/Drawer/Drawer.js';
|
36
32
|
export { Field } from './components/Field/Field.js';
|
37
33
|
export { Form } from './components/Form/Form.js';
|
38
34
|
export { Hanger, Title } from './components/Hanger/Hanger.js';
|
39
35
|
export { HoverCard } from './components/HoverCard/HoverCard.js';
|
40
|
-
export { SearchInput } from './components/SearchInput/SearchInput.js';
|
41
36
|
export { Listbox, MultiListbox } from './components/Listbox/Listbox.js';
|
37
|
+
export { RadioGroup, findByValue, getRadioGroupItemValueAsString, useRadioGroup } from './components/RadioGroup/RadioGroup.js';
|
38
|
+
export { Menu } from './components/Menu/Menu.js';
|
42
39
|
export { Treeview } from './components/Treeview/Treeview.js';
|
43
40
|
export { useDropTarget } from './utils/hooks/useDropTarget.js';
|
44
41
|
export { Navigation } from './components/Navigation/Navigation.js';
|
42
|
+
export { useIntersectionObserver } from './hooks/useIntersectionObserver.js';
|
43
|
+
export { OverflowGroup } from './components/OverflowGroup/OverflowGroup.js';
|
45
44
|
export { Select } from './components/Select/Select.js';
|
46
45
|
export { usePagination } from './components/Pagination/usePagination.js';
|
47
46
|
export { Pagination } from './components/Pagination/Pagination.js';
|
48
47
|
export { Progress } from './components/Progress/Progress.js';
|
49
48
|
export { ToastProvider, useToast } from './components/Toast/Toaster.js';
|
50
49
|
export { Provider } from './components/Provider/Provider.js';
|
50
|
+
export { SearchInput } from './components/SearchInput/SearchInput.js';
|
51
51
|
import * as Collection from './primitives/Collection/Collection.js';
|
52
52
|
export { Collection as CollectionPrimitive };
|
53
53
|
export { Tag } from './components/Tag/Tag.js';
|
54
54
|
export { Select2 } from './components/Select2/Select2.js';
|
55
55
|
export { Shortcut } from './components/Shortcut/Shortcut.js';
|
56
|
+
export { Switch } from './components/Switch/Switch.js';
|
56
57
|
export { Table } from './components/Table/components/Table.js';
|
57
58
|
export { PaginatedTable } from './components/Table/components/PaginatedTable.js';
|
58
59
|
export { WindowedTable } from './components/Table/components/WindowedTable.js';
|
59
60
|
export { convertRowIndexPathToNumberArray, getByRowIndexPath, getParentRowIndexPath, setByRowIndexPath } from './components/Table/util/rowIndexPath.js';
|
60
61
|
export { insertChildTableRow, removeChildTableRow, useTableRowCreation } from './components/Table/hooks/useRowCreation.js';
|
61
|
-
export { Switch } from './components/Switch/Switch.js';
|
62
62
|
export { useBoundaryOverflowDetection } from './hooks/useBoundaryOverflowDetection.js';
|
63
63
|
export { Table2 } from './components/Table2/Table2.js';
|
64
64
|
export { Tabs } from './components/Tabs/Tabs.js';
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"tailwind.js","sources":["../../../../../../src/utils/tailwind.ts"],"sourcesContent":["import { Color, State } from '../types';\n\nexport const AVAILABLE_COLORS = [\n 'green',\n 'yellow',\n 'red',\n 'blue',\n 'purple',\n 'brown',\n 'pink',\n 'orange',\n 'grey',\n 'transparent',\n] as const;\n\nexport const getColorByState = (state: State | undefined): Color => {\n switch (state) {\n case 'information':\n return 'blue';\n case 'warning':\n return 'yellow';\n case 'error':\n return 'red';\n case 'success':\n return 'green';\n default:\n return 'grey';\n }\n};\n\nexport const getOutlineColorShadeClasses = (state: Color | undefined): string => {\n switch (state) {\n case 'green':\n return 'border-green-700 text-green-700';\n case 'yellow':\n return 'border-yellow-700 text-yellow-700';\n case 'red':\n return 'border-red-500 text-red-500';\n case 'blue':\n return 'border-blue-500 text-blue-500';\n case 'purple':\n return 'border-purple-700 text-purple-700';\n case 'brown':\n return 'border-brown-700 text-brown-700';\n case 'pink':\n return 'border-pink-700 text-pink-700';\n case 'orange':\n return 'border-orange-700 text-orange-700';\n case 'transparent':\n case 'grey':\n default:\n return 'border-grey-700 text-grey-700';\n }\n};\n\nexport const getSubtleColorShadeClasses = (value: Color | undefined): string => {\n switch (value) {\n case 'green':\n return 'wcag-green-100';\n case 'yellow':\n return 'wcag-yellow-100';\n case 'red':\n return 'wcag-red-100';\n case 'blue':\n return 'wcag-blue-100';\n case 'purple':\n return 'wcag-purple-100';\n case 'brown':\n return 'wcag-brown-100';\n case 'pink':\n return 'wcag-pink-100';\n case 'orange':\n return 'wcag-orange-100';\n case 'transparent':\n return 'wcag-transparent';\n case 'grey':\n default:\n return 'wcag-grey-200';\n }\n};\n\nexport const getColorShadeClasses = (value: Color | undefined): string => {\n switch (value) {\n case 'green':\n return 'wcag-green-700';\n case 'yellow':\n return 'wcag-yellow-500';\n case 'red':\n return 'wcag-red-500';\n case 'blue':\n return 'wcag-blue-500';\n case 'purple':\n return 'wcag-purple-700';\n case 'brown':\n return 'wcag-brown-700';\n case 'pink':\n return 'wcag-pink-500';\n case 'orange':\n return 'wcag-orange-700';\n case 'transparent':\n return 'wcag-transparent';\n case 'grey':\n default:\n return 'wcag-grey-700';\n }\n};\n"],"names":["AVAILABLE_COLORS","getColorByState","state","getOutlineColorShadeClasses","getSubtleColorShadeClasses","value","getColorShadeClasses"],"mappings":"MAEaA,gBAAgB,GAAG,CAC5B,OAAO,EACP,QAAQ,EACR,KAAK,EACL,MAAM,EACN,QAAQ,EACR,OAAO,EACP,MAAM,EACN,QAAQ,EACR,MAAM,EACN,aAAa;MAGJC,eAAe,GAAIC,KAAwB;EACpD,QAAQA,KAAK;IACT,KAAK,aAAa;MACd,OAAO,MAAM;IACjB,KAAK,SAAS;MACV,OAAO,QAAQ;IACnB,KAAK,OAAO;MACR,OAAO,KAAK;IAChB,KAAK,SAAS;MACV,OAAO,OAAO;IAClB;MACI,OAAO,MAAM;;AAEzB;MAEaC,2BAA2B,GAAID,KAAwB;EAChE,QAAQA,KAAK;IACT,KAAK,OAAO;MACR,OAAO,iCAAiC;IAC5C,KAAK,QAAQ;MACT,OAAO,mCAAmC;IAC9C,KAAK,KAAK;MACN,OAAO,6BAA6B;IACxC,KAAK,MAAM;MACP,OAAO,+BAA+B;IAC1C,KAAK,QAAQ;MACT,OAAO,mCAAmC;IAC9C,KAAK,OAAO;MACR,OAAO,iCAAiC;IAC5C,KAAK,MAAM;MACP,OAAO,+BAA+B;IAC1C,KAAK,QAAQ;MACT,OAAO,mCAAmC;IAC9C,KAAK,aAAa;IAClB,KAAK,MAAM;IACX;MACI,OAAO,+BAA+B;;AAElD;MAEaE,0BAA0B,GAAIC,KAAwB;EAC/D,QAAQA,KAAK;IACT,KAAK,OAAO;MACR,OAAO,gBAAgB;IAC3B,KAAK,QAAQ;MACT,OAAO,iBAAiB;IAC5B,KAAK,KAAK;MACN,OAAO,cAAc;IACzB,KAAK,MAAM;MACP,OAAO,eAAe;IAC1B,KAAK,QAAQ;MACT,OAAO,iBAAiB;IAC5B,KAAK,OAAO;MACR,OAAO,gBAAgB;IAC3B,KAAK,MAAM;MACP,OAAO,eAAe;IAC1B,KAAK,QAAQ;MACT,OAAO,iBAAiB;IAC5B,KAAK,aAAa;MACd,OAAO,kBAAkB;IAC7B,KAAK,MAAM;IACX;MACI,OAAO,eAAe;;AAElC;MAEaC,oBAAoB,GAAID,KAAwB;EACzD,QAAQA,KAAK;IACT,KAAK,OAAO;MACR,OAAO,gBAAgB;IAC3B,KAAK,QAAQ;MACT,OAAO,iBAAiB;IAC5B,KAAK,KAAK;MACN,OAAO,cAAc;IACzB,KAAK,MAAM;MACP,OAAO,eAAe;IAC1B,KAAK,QAAQ;MACT,OAAO,iBAAiB;IAC5B,KAAK,OAAO;MACR,OAAO,gBAAgB;IAC3B,KAAK,MAAM;MACP,OAAO,eAAe;IAC1B,KAAK,QAAQ;MACT,OAAO,iBAAiB;IAC5B,KAAK,aAAa;MACd,OAAO,kBAAkB;IAC7B,KAAK,MAAM;IACX;MACI,OAAO,eAAe;;AAElC;;;;"}
|
package/dist/index.css
CHANGED
@@ -246,7 +246,7 @@
|
|
246
246
|
}
|
247
247
|
|
248
248
|
[data-taco='calendar'] .DayPicker-Footer {
|
249
|
-
@apply pt-
|
249
|
+
@apply pt-1 text-center;
|
250
250
|
}
|
251
251
|
|
252
252
|
[data-taco='calendar'] .DayPicker-TodayButton {
|
@@ -272,8 +272,8 @@
|
|
272
272
|
}
|
273
273
|
|
274
274
|
[data-taco='calendar'] .icon:hover,
|
275
|
-
[data-taco='calendar']:not(.DayPicker--interactionDisabled)
|
276
|
-
|
275
|
+
[data-taco='calendar']:not(.DayPicker--interactionDisabled),
|
276
|
+
.DayPicker-Day:not(.DayPicker-Day--disabled):not(.DayPicker-Day--selected):not(.DayPicker-Day--outside):hover,
|
277
277
|
[data-taco='calendar'] .DayPicker-Day--highlighted,
|
278
278
|
[data-taco='calendar'] .DayPicker-Day--selected {
|
279
279
|
@apply wcag-grey-200;
|
package/dist/index.d.ts
CHANGED
@@ -7,7 +7,6 @@ export * from './components/Badge/Badge';
|
|
7
7
|
export * from './components/BadgeIcon/BadgeIcon';
|
8
8
|
export * from './components/Banner/Banner';
|
9
9
|
export * from './components/Button/Button';
|
10
|
-
export * from './components/ButtonGroup/ButtonGroup';
|
11
10
|
export * from './components/Calendar/Calendar';
|
12
11
|
export * from './components/Card/Card';
|
13
12
|
export * from './components/Checkbox/Checkbox';
|
@@ -23,27 +22,28 @@ export * from './components/HoverCard/HoverCard';
|
|
23
22
|
export * from './components/Icon/Icon';
|
24
23
|
export * from './components/IconButton/IconButton';
|
25
24
|
export * from './components/Input/Input';
|
26
|
-
export * from './components/SearchInput/SearchInput';
|
27
25
|
export * from './components/Listbox/Listbox';
|
28
26
|
export * from './components/Menu/Menu';
|
29
27
|
export * from './components/Navigation/Navigation';
|
28
|
+
export * from './components/OverflowGroup/OverflowGroup';
|
30
29
|
export * from './components/Pagination/Pagination';
|
31
30
|
export * from './components/Popover/Popover';
|
32
31
|
export * from './components/Progress/Progress';
|
33
32
|
export * from './components/Provider/Provider';
|
34
33
|
export * from './components/Provider/Localization';
|
35
34
|
export * from './components/RadioGroup/RadioGroup';
|
35
|
+
export * from './components/SearchInput/SearchInput';
|
36
36
|
export * from './components/Select/Select';
|
37
37
|
export * from './components/Select2/Select2';
|
38
38
|
export * from './components/Shortcut/Shortcut';
|
39
39
|
export * from './components/Spinner/Spinner';
|
40
|
+
export * from './components/Switch/Switch';
|
40
41
|
export * from './components/Table/Table';
|
41
42
|
export * from './components/Table2/Table2';
|
42
43
|
export * from './components/Tabs/Tabs';
|
43
44
|
export * from './components/Tag/Tag';
|
44
45
|
export * from './components/Textarea/Textarea';
|
45
46
|
export * from './components/Toast/Toaster';
|
46
|
-
export * from './components/Switch/Switch';
|
47
47
|
export * from './components/Tooltip/Tooltip';
|
48
48
|
export * from './components/Tour/Tour';
|
49
49
|
export * from './components/Treeview/Treeview';
|