@economic/taco 1.15.0 → 1.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/AlertDialog/components/Content.d.ts +1 -1
- package/dist/components/Banner/Banner.d.ts +4 -0
- package/dist/components/Calendar/Calendar.d.ts +1 -1
- package/dist/components/Calendar/Calendar.stories.d.ts +1 -1
- package/dist/components/Card/Card.d.ts +1 -1
- package/dist/components/Datepicker/Datepicker.d.ts +1 -1
- package/dist/components/Datepicker/Datepicker.stories.d.ts +1 -1
- package/dist/components/Dialog/components/Content.d.ts +1 -1
- package/dist/components/Dialog/components/Drawer.d.ts +1 -1
- package/dist/components/IconButton/IconButton.d.ts +2 -2
- package/dist/components/IconButton/IconButton.stories.d.ts +1 -1
- package/dist/components/Listbox/Listbox.d.ts +2 -2
- package/dist/components/Listbox/Listbox.stories.d.ts +1 -1
- package/dist/components/Listbox/ScrollableList.d.ts +1 -1
- package/dist/components/Menu/Menu.d.ts +6 -1
- package/dist/components/Menu/Menu.stories.d.ts +2 -0
- package/dist/components/Menu/components/Checkbox.d.ts +1 -1
- package/dist/components/Menu/components/Content.d.ts +4 -2
- package/dist/components/Menu/components/Item.d.ts +1 -1
- package/dist/components/Menu/components/Link.d.ts +1 -1
- package/dist/components/Menu/components/Trigger.d.ts +1 -1
- package/dist/components/Provider/Localization.d.ts +157 -0
- package/dist/components/Provider/Provider.d.ts +1 -148
- package/dist/components/SearchInput/SearchInput.d.ts +6 -2
- package/dist/components/SearchInput/SearchInput.stories.d.ts +1 -1
- package/dist/components/Select/Select.d.ts +1 -1
- package/dist/components/Select/Select.stories.d.ts +1 -1
- package/dist/components/Select2/Select2.d.ts +6 -4
- package/dist/components/Select2/Select2.stories.d.ts +1 -0
- package/dist/components/Select2/components/Option.d.ts +1 -1
- package/dist/components/Select2/components/Trigger.d.ts +1 -1
- package/dist/components/Table/hooks/plugins/useRowActions.d.ts +1 -1
- package/dist/components/Tag/Tag.d.ts +1 -1
- package/dist/esm/index.css +71 -71
- package/dist/esm/packages/taco/src/components/Banner/Banner.js +5 -0
- package/dist/esm/packages/taco/src/components/Banner/Banner.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Calendar/Calendar.js +1 -1
- package/dist/esm/packages/taco/src/components/Calendar/Calendar.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Card/Card.js +0 -54
- package/dist/esm/packages/taco/src/components/Card/Card.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Checkbox/Checkbox.js +17 -5
- package/dist/esm/packages/taco/src/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Combobox/Combobox.js +6 -2
- package/dist/esm/packages/taco/src/components/Combobox/Combobox.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Datepicker/Datepicker.js +1 -1
- package/dist/esm/packages/taco/src/components/Datepicker/Datepicker.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Datepicker/useDatepicker.js +1 -1
- package/dist/esm/packages/taco/src/components/Datepicker/useDatepicker.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Dialog/components/Content.js +5 -1
- package/dist/esm/packages/taco/src/components/Dialog/components/Content.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Dialog/components/Drawer.js +1 -1
- package/dist/esm/packages/taco/src/components/Hanger/Hanger.js +1 -1
- package/dist/esm/packages/taco/src/components/Hanger/Hanger.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Listbox/ScrollableList.js +24 -19
- package/dist/esm/packages/taco/src/components/Listbox/ScrollableList.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Listbox/useMultiListbox.js +1 -1
- package/dist/esm/packages/taco/src/components/Listbox/useMultiListbox.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Listbox/useTypeahead.js +1 -1
- package/dist/esm/packages/taco/src/components/Menu/Menu.js +12 -2
- package/dist/esm/packages/taco/src/components/Menu/Menu.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Menu/components/Content.js +4 -3
- package/dist/esm/packages/taco/src/components/Menu/components/Content.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Pagination/PageNumbers.js +1 -1
- package/dist/esm/packages/taco/src/components/Pagination/PageNumbers.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Pagination/Pagination.js +1 -1
- package/dist/esm/packages/taco/src/components/Pagination/Pagination.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Provider/Localization.js +112 -0
- package/dist/esm/packages/taco/src/components/Provider/Localization.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Provider/Provider.js +6 -106
- package/dist/esm/packages/taco/src/components/Provider/Provider.js.map +1 -1
- package/dist/esm/packages/taco/src/components/SearchInput/SearchInput.js +2 -53
- package/dist/esm/packages/taco/src/components/SearchInput/SearchInput.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Select/useSelect.js +1 -1
- package/dist/esm/packages/taco/src/components/Select/useSelect.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Select2/Select2.js +7 -5
- package/dist/esm/packages/taco/src/components/Select2/Select2.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Select2/components/Collection.js +0 -6
- package/dist/esm/packages/taco/src/components/Select2/components/Collection.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Select2/components/Create.js +1 -1
- package/dist/esm/packages/taco/src/components/Select2/components/Create.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Select2/components/Edit.js +1 -1
- 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 +49 -23
- package/dist/esm/packages/taco/src/components/Select2/components/Trigger.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Select2/hooks/useChildren.js +3 -2
- package/dist/esm/packages/taco/src/components/Select2/hooks/useChildren.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Switch/Switch.js +18 -6
- package/dist/esm/packages/taco/src/components/Switch/Switch.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table/components/Table.js +5 -1
- package/dist/esm/packages/taco/src/components/Table/components/Table.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table/components/WindowedTable.js +1 -1
- package/dist/esm/packages/taco/src/components/Table/components/WindowedTable.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table/hooks/plugins/useRowActions.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table/hooks/useTable.js +1 -1
- package/dist/esm/packages/taco/src/components/Table/hooks/useTable.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Toast/Toast.js +1 -1
- package/dist/esm/packages/taco/src/components/Toast/Toast.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Tour/Tour.js +1 -1
- package/dist/esm/packages/taco/src/components/Tour/Tour.js.map +1 -1
- package/dist/esm/packages/taco/src/index.js +4 -3
- package/dist/esm/packages/taco/src/index.js.map +1 -1
- package/dist/esm/packages/taco/src/utils/hooks/useDraggable.js +8 -0
- package/dist/esm/packages/taco/src/utils/hooks/useDraggable.js.map +1 -1
- package/dist/index.css +71 -71
- package/dist/index.d.ts +1 -0
- package/dist/taco.cjs.development.js +719 -626
- 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 -0
- package/package.json +3 -3
- package/types.json +59 -39
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useTable.js","sources":["../../../../../../../../src/components/Table/hooks/useTable.tsx"],"sourcesContent":["import React from 'react';\nimport { useTable as useReactTable, useExpanded, useSortBy, usePagination, useRowState } from 'react-table';\nimport { getColumnsFromChildren, getInternalSortRules } from '../util';\nimport { sortTypes } from '../util/sortTypes';\nimport { useRowEditing } from './plugins/useRowEditing';\nimport { useRowActions } from './plugins/useRowActions';\nimport { useRowSelect } from './plugins/useRowSelect';\nimport {\n InternalTable,\n InternalTableRow,\n PaginationHandler,\n RowActiveHandler,\n SortHandler,\n TableProps,\n TableRef,\n} from '../types';\nimport { useTableKeyboardNavigation } from './useTableKeyboardNavigation';\nimport { useLocalization } from '../../Provider/Provider';\nimport { useRowDraggable } from './plugins/useRowDraggable';\nimport { sanitizeRowProps } from '../util';\n\nconst useTableRowActive = (\n activeIndex: number | undefined,\n rows: InternalTableRow[],\n rowExpansionRenderer: TableProps<any>['rowExpansionRenderer'],\n handleonRowActive: RowActiveHandler<any> | undefined\n) => {\n React.useEffect(() => {\n if (activeIndex !== undefined && rows.length && handleonRowActive) {\n const focusedRow = rows[activeIndex];\n if (focusedRow) {\n const sanitizedFocusedRow = sanitizeRowProps(focusedRow, rowExpansionRenderer);\n handleonRowActive(sanitizedFocusedRow);\n }\n }\n }, [activeIndex, rows]);\n};\n\nconst useTableInstance = (instance: any, ref: React.RefObject<TableRef>): object => {\n const sanitizedInstance = React.useMemo(\n () => ({\n toggleAllRowsExpanded: instance.toggleAllRowsExpanded,\n toggleHideAllColumns: instance.toggleHideAllColumns,\n toggleHideColumn: instance.toggleHideColumn,\n toggleEditing: instance.toggleEditing,\n toggleRowEditing: instance.toggleRowEditing,\n resetRowEditing: instance.resetRowEditing,\n toggleRowExpanded: instance.toggleRowExpanded,\n toggleSortBy: instance.toggleSortBy,\n }),\n []\n );\n\n React.useEffect(() => {\n if (ref?.current) {\n ref.current.instance = sanitizedInstance;\n }\n }, [ref]);\n\n return sanitizedInstance;\n};\n\nconst useTablePaginationListener = (disablePagination: boolean, onPaginate: PaginationHandler | undefined, state: any): void => {\n React.useEffect(() => {\n if (!disablePagination && onPaginate) {\n onPaginate(state.pageIndex, state.pageSize);\n }\n }, [state.pageIndex, state.pageSize]);\n};\n\nconst useTableSortingListener = (\n data: any[],\n sortedRows: any[],\n onSort: SortHandler<any> | undefined,\n manualSorting: boolean,\n state: any\n): void => {\n React.useEffect(() => {\n if (onSort) {\n const sortRules = state.sortBy.map((rule: any) => ({ accessor: rule.id, desc: rule.desc }));\n\n if (manualSorting) {\n onSort(sortRules);\n } else {\n let sortedData;\n\n if (sortRules.length && sortedRows?.length) {\n sortedData = sortedRows.map((row: any) => row.original);\n }\n\n onSort(sortRules, sortedData || data);\n }\n }\n }, [onSort && JSON.stringify(state.sortBy), manualSorting]);\n};\n\nconst DEFAULT_PAGE_SIZE = 10;\n\nexport const useTable = <T extends {}>(\n props: TableProps<T> & { windowed?: boolean },\n ref: React.RefObject<TableRef>\n): InternalTable => {\n const {\n children,\n data,\n dangerouslyHijackGlobalKeyboardNavigation: _,\n onRowClick,\n onRowDrag,\n onSelectedRows,\n rowClassName,\n rowExpansionRenderer,\n rowHeight,\n selectedRows,\n\n // sorting\n disableSorting,\n manualSorting,\n onSort,\n sortRules,\n\n //index\n activeIndex: _1,\n defaultActiveIndex: _2,\n onChangeActiveIndex: _3,\n\n // pagination\n disablePagination = true,\n length,\n onPaginate,\n pageSize = DEFAULT_PAGE_SIZE,\n pageIndex = 0,\n\n // row editing\n inlineEditingUniqueId = undefined,\n onRowCreate,\n\n // actions\n actions,\n onRowEdit,\n onRowCopy,\n onRowDelete,\n onRowActive,\n\n windowed = false,\n\n ...otherProps\n } = props;\n\n if ((onSelectedRows && !selectedRows) || (!onSelectedRows && selectedRows)) {\n throw new Error(\n 'Selected rows in a Table component are fully controlled - you must pass both the `onSelectedRows` and `selectedRows` props when using row selection'\n );\n }\n\n const { texts, locale } = useLocalization();\n const { columns, sortRules: defaultSortRules } = React.useMemo(\n () => getColumnsFromChildren(children, rowExpansionRenderer),\n [children, rowExpansionRenderer]\n );\n\n const manualPagination = !disablePagination && !!onPaginate && !!length;\n\n const {\n headerGroups,\n rows,\n sortedRows,\n prepareRow: prepareBaseRow,\n state,\n // pagination\n page,\n gotoPage,\n setPageSize,\n ...instance\n }: any = useReactTable(\n {\n columns,\n data,\n initialState: {\n // @ts-expect-error: not sure how to type this correctly right now\n sortBy: getInternalSortRules(sortRules) || defaultSortRules,\n pageSize: !disablePagination ? pageSize : undefined,\n pageIndex: !disablePagination ? pageIndex : undefined,\n },\n manualPagination,\n pageCount: manualPagination && length ? Math.ceil(length / pageSize) : -1,\n manualSortBy: manualSorting,\n disableSortBy: disableSorting,\n // most of these resets preventions are needed for editing mode\n autoResetExpanded: false,\n autoResetSelectedRows: false,\n autoResetSortBy: false,\n autoResetPage: false,\n sortTypes: React.useMemo(() => sortTypes(locale), []),\n useControlledState: currentState => {\n return React.useMemo(\n () => ({\n ...currentState,\n selectedRowIds: selectedRows || [],\n }),\n [currentState, selectedRows]\n );\n },\n },\n useRowState,\n useSortBy,\n useExpanded,\n usePagination,\n useRowSelect(onSelectedRows),\n useRowDraggable(onRowDrag),\n useRowEditing(inlineEditingUniqueId),\n useRowActions(\n inlineEditingUniqueId,\n { onRowCreate, onRowEdit, onRowCopy, onRowDelete },\n actions,\n rowExpansionRenderer,\n texts,\n windowed\n )\n );\n\n useTablePaginationListener(disablePagination, onPaginate, state);\n useTableSortingListener(data, sortedRows, onSort, !!manualSorting, state);\n\n const sanitizedInstance = useTableInstance(instance, ref);\n\n const visibleRows = !disablePagination && !manualPagination ? page : rows;\n\n const [activeIndex, setActiveIndex, handleKeyDown, handleFocus] = useTableKeyboardNavigation<T>(\n props,\n visibleRows,\n { onRowClick, onRowCreate, onRowEdit, onRowCopy, onRowDelete, rowExpansionRenderer },\n ref\n );\n\n useTableRowActive(activeIndex, rows, rowExpansionRenderer, onRowActive);\n\n const prepareRow = React.useCallback(\n (row: any, index: number) => {\n prepareBaseRow(row);\n row.setActive = () => setActiveIndex(index);\n },\n [prepareBaseRow, setActiveIndex]\n );\n\n return {\n rowProps: {\n activeIndex,\n setActiveIndex,\n onRowClick,\n rowClassName,\n rowExpansionRenderer,\n rowHeight,\n inlineEditingUniqueId,\n },\n tableProps: {\n ...otherProps,\n headerGroups,\n onFocus: handleFocus,\n onKeyDown: handleKeyDown,\n tabIndex: otherProps.tabIndex ?? 0,\n },\n state,\n pagination: !disablePagination\n ? {\n length: manualPagination && length ? length : data.length,\n pageIndex: state.pageIndex,\n pageSize: state.pageSize,\n setPageIndex: gotoPage,\n setPageSize: setPageSize,\n }\n : null,\n rows: visibleRows,\n prepareRow,\n instance: sanitizedInstance,\n };\n};\n"],"names":["useTableRowActive","activeIndex","rows","rowExpansionRenderer","handleonRowActive","React","useEffect","undefined","length","focusedRow","sanitizedFocusedRow","sanitizeRowProps","useTableInstance","instance","ref","sanitizedInstance","useMemo","toggleAllRowsExpanded","toggleHideAllColumns","toggleHideColumn","toggleEditing","toggleRowEditing","resetRowEditing","toggleRowExpanded","toggleSortBy","current","useTablePaginationListener","disablePagination","onPaginate","state","pageIndex","pageSize","useTableSortingListener","data","sortedRows","onSort","manualSorting","sortRules","sortBy","map","rule","accessor","id","desc","sortedData","row","original","JSON","stringify","DEFAULT_PAGE_SIZE","useTable","props","children","dangerouslyHijackGlobalKeyboardNavigation","_","onRowClick","onRowDrag","onSelectedRows","rowClassName","rowHeight","selectedRows","disableSorting","_1","defaultActiveIndex","_2","onChangeActiveIndex","_3","inlineEditingUniqueId","onRowCreate","actions","onRowEdit","onRowCopy","onRowDelete","onRowActive","windowed","otherProps","Error","texts","locale","useLocalization","columns","defaultSortRules","getColumnsFromChildren","manualPagination","headerGroups","prepareRow","prepareBaseRow","page","gotoPage","setPageSize","useReactTable","initialState","getInternalSortRules","pageCount","Math","ceil","manualSortBy","disableSortBy","autoResetExpanded","autoResetSelectedRows","autoResetSortBy","autoResetPage","sortTypes","useControlledState","currentState","selectedRowIds","useRowState","useSortBy","useExpanded","usePagination","useRowSelect","useRowDraggable","useRowEditing","useRowActions","visibleRows","setActiveIndex","handleKeyDown","handleFocus","useTableKeyboardNavigation","useCallback","index","setActive","rowProps","tableProps","onFocus","onKeyDown","tabIndex","pagination","setPageIndex"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"useTable.js","sources":["../../../../../../../../src/components/Table/hooks/useTable.tsx"],"sourcesContent":["import React from 'react';\nimport { useTable as useReactTable, useExpanded, useSortBy, usePagination, useRowState } from 'react-table';\nimport { getColumnsFromChildren, getInternalSortRules } from '../util';\nimport { sortTypes } from '../util/sortTypes';\nimport { useRowEditing } from './plugins/useRowEditing';\nimport { useRowActions } from './plugins/useRowActions';\nimport { useRowSelect } from './plugins/useRowSelect';\nimport {\n InternalTable,\n InternalTableRow,\n PaginationHandler,\n RowActiveHandler,\n SortHandler,\n TableProps,\n TableRef,\n} from '../types';\nimport { useTableKeyboardNavigation } from './useTableKeyboardNavigation';\nimport { useLocalization } from '../../Provider/Localization';\nimport { useRowDraggable } from './plugins/useRowDraggable';\nimport { sanitizeRowProps } from '../util';\n\nconst useTableRowActive = (\n activeIndex: number | undefined,\n rows: InternalTableRow[],\n rowExpansionRenderer: TableProps<any>['rowExpansionRenderer'],\n handleonRowActive: RowActiveHandler<any> | undefined\n) => {\n React.useEffect(() => {\n if (activeIndex !== undefined && rows.length && handleonRowActive) {\n const focusedRow = rows[activeIndex];\n if (focusedRow) {\n const sanitizedFocusedRow = sanitizeRowProps(focusedRow, rowExpansionRenderer);\n handleonRowActive(sanitizedFocusedRow);\n }\n }\n }, [activeIndex, rows]);\n};\n\nconst useTableInstance = (instance: any, ref: React.RefObject<TableRef>): object => {\n const sanitizedInstance = React.useMemo(\n () => ({\n toggleAllRowsExpanded: instance.toggleAllRowsExpanded,\n toggleHideAllColumns: instance.toggleHideAllColumns,\n toggleHideColumn: instance.toggleHideColumn,\n toggleEditing: instance.toggleEditing,\n toggleRowEditing: instance.toggleRowEditing,\n resetRowEditing: instance.resetRowEditing,\n toggleRowExpanded: instance.toggleRowExpanded,\n toggleSortBy: instance.toggleSortBy,\n }),\n []\n );\n\n React.useEffect(() => {\n if (ref?.current) {\n ref.current.instance = sanitizedInstance;\n }\n }, [ref]);\n\n return sanitizedInstance;\n};\n\nconst useTablePaginationListener = (disablePagination: boolean, onPaginate: PaginationHandler | undefined, state: any): void => {\n React.useEffect(() => {\n if (!disablePagination && onPaginate) {\n onPaginate(state.pageIndex, state.pageSize);\n }\n }, [state.pageIndex, state.pageSize]);\n};\n\nconst useTableSortingListener = (\n data: any[],\n sortedRows: any[],\n onSort: SortHandler<any> | undefined,\n manualSorting: boolean,\n state: any\n): void => {\n React.useEffect(() => {\n if (onSort) {\n const sortRules = state.sortBy.map((rule: any) => ({ accessor: rule.id, desc: rule.desc }));\n\n if (manualSorting) {\n onSort(sortRules);\n } else {\n let sortedData;\n\n if (sortRules.length && sortedRows?.length) {\n sortedData = sortedRows.map((row: any) => row.original);\n }\n\n onSort(sortRules, sortedData || data);\n }\n }\n }, [onSort && JSON.stringify(state.sortBy), manualSorting]);\n};\n\nconst DEFAULT_PAGE_SIZE = 10;\n\nexport const useTable = <T extends {}>(\n props: TableProps<T> & { windowed?: boolean },\n ref: React.RefObject<TableRef>\n): InternalTable => {\n const {\n children,\n data,\n dangerouslyHijackGlobalKeyboardNavigation: _,\n onRowClick,\n onRowDrag,\n onSelectedRows,\n rowClassName,\n rowExpansionRenderer,\n rowHeight,\n selectedRows,\n\n // sorting\n disableSorting,\n manualSorting,\n onSort,\n sortRules,\n\n //index\n activeIndex: _1,\n defaultActiveIndex: _2,\n onChangeActiveIndex: _3,\n\n // pagination\n disablePagination = true,\n length,\n onPaginate,\n pageSize = DEFAULT_PAGE_SIZE,\n pageIndex = 0,\n\n // row editing\n inlineEditingUniqueId = undefined,\n onRowCreate,\n\n // actions\n actions,\n onRowEdit,\n onRowCopy,\n onRowDelete,\n onRowActive,\n\n windowed = false,\n\n ...otherProps\n } = props;\n\n if ((onSelectedRows && !selectedRows) || (!onSelectedRows && selectedRows)) {\n throw new Error(\n 'Selected rows in a Table component are fully controlled - you must pass both the `onSelectedRows` and `selectedRows` props when using row selection'\n );\n }\n\n const { texts, locale } = useLocalization();\n const { columns, sortRules: defaultSortRules } = React.useMemo(\n () => getColumnsFromChildren(children, rowExpansionRenderer),\n [children, rowExpansionRenderer]\n );\n\n const manualPagination = !disablePagination && !!onPaginate && !!length;\n\n const {\n headerGroups,\n rows,\n sortedRows,\n prepareRow: prepareBaseRow,\n state,\n // pagination\n page,\n gotoPage,\n setPageSize,\n ...instance\n }: any = useReactTable(\n {\n columns,\n data,\n initialState: {\n // @ts-expect-error: not sure how to type this correctly right now\n sortBy: getInternalSortRules(sortRules) || defaultSortRules,\n pageSize: !disablePagination ? pageSize : undefined,\n pageIndex: !disablePagination ? pageIndex : undefined,\n },\n manualPagination,\n pageCount: manualPagination && length ? Math.ceil(length / pageSize) : -1,\n manualSortBy: manualSorting,\n disableSortBy: disableSorting,\n // most of these resets preventions are needed for editing mode\n autoResetExpanded: false,\n autoResetSelectedRows: false,\n autoResetSortBy: false,\n autoResetPage: false,\n sortTypes: React.useMemo(() => sortTypes(locale), []),\n useControlledState: currentState => {\n return React.useMemo(\n () => ({\n ...currentState,\n selectedRowIds: selectedRows || [],\n }),\n [currentState, selectedRows]\n );\n },\n },\n useRowState,\n useSortBy,\n useExpanded,\n usePagination,\n useRowSelect(onSelectedRows),\n useRowDraggable(onRowDrag),\n useRowEditing(inlineEditingUniqueId),\n useRowActions(\n inlineEditingUniqueId,\n { onRowCreate, onRowEdit, onRowCopy, onRowDelete },\n actions,\n rowExpansionRenderer,\n texts,\n windowed\n )\n );\n\n useTablePaginationListener(disablePagination, onPaginate, state);\n useTableSortingListener(data, sortedRows, onSort, !!manualSorting, state);\n\n const sanitizedInstance = useTableInstance(instance, ref);\n\n const visibleRows = !disablePagination && !manualPagination ? page : rows;\n\n const [activeIndex, setActiveIndex, handleKeyDown, handleFocus] = useTableKeyboardNavigation<T>(\n props,\n visibleRows,\n { onRowClick, onRowCreate, onRowEdit, onRowCopy, onRowDelete, rowExpansionRenderer },\n ref\n );\n\n useTableRowActive(activeIndex, rows, rowExpansionRenderer, onRowActive);\n\n const prepareRow = React.useCallback(\n (row: any, index: number) => {\n prepareBaseRow(row);\n row.setActive = () => setActiveIndex(index);\n },\n [prepareBaseRow, setActiveIndex]\n );\n\n return {\n rowProps: {\n activeIndex,\n setActiveIndex,\n onRowClick,\n rowClassName,\n rowExpansionRenderer,\n rowHeight,\n inlineEditingUniqueId,\n },\n tableProps: {\n ...otherProps,\n headerGroups,\n onFocus: handleFocus,\n onKeyDown: handleKeyDown,\n tabIndex: otherProps.tabIndex ?? 0,\n },\n state,\n pagination: !disablePagination\n ? {\n length: manualPagination && length ? length : data.length,\n pageIndex: state.pageIndex,\n pageSize: state.pageSize,\n setPageIndex: gotoPage,\n setPageSize: setPageSize,\n }\n : null,\n rows: visibleRows,\n prepareRow,\n instance: sanitizedInstance,\n };\n};\n"],"names":["useTableRowActive","activeIndex","rows","rowExpansionRenderer","handleonRowActive","React","useEffect","undefined","length","focusedRow","sanitizedFocusedRow","sanitizeRowProps","useTableInstance","instance","ref","sanitizedInstance","useMemo","toggleAllRowsExpanded","toggleHideAllColumns","toggleHideColumn","toggleEditing","toggleRowEditing","resetRowEditing","toggleRowExpanded","toggleSortBy","current","useTablePaginationListener","disablePagination","onPaginate","state","pageIndex","pageSize","useTableSortingListener","data","sortedRows","onSort","manualSorting","sortRules","sortBy","map","rule","accessor","id","desc","sortedData","row","original","JSON","stringify","DEFAULT_PAGE_SIZE","useTable","props","children","dangerouslyHijackGlobalKeyboardNavigation","_","onRowClick","onRowDrag","onSelectedRows","rowClassName","rowHeight","selectedRows","disableSorting","_1","defaultActiveIndex","_2","onChangeActiveIndex","_3","inlineEditingUniqueId","onRowCreate","actions","onRowEdit","onRowCopy","onRowDelete","onRowActive","windowed","otherProps","Error","texts","locale","useLocalization","columns","defaultSortRules","getColumnsFromChildren","manualPagination","headerGroups","prepareRow","prepareBaseRow","page","gotoPage","setPageSize","useReactTable","initialState","getInternalSortRules","pageCount","Math","ceil","manualSortBy","disableSortBy","autoResetExpanded","autoResetSelectedRows","autoResetSortBy","autoResetPage","sortTypes","useControlledState","currentState","selectedRowIds","useRowState","useSortBy","useExpanded","usePagination","useRowSelect","useRowDraggable","useRowEditing","useRowActions","visibleRows","setActiveIndex","handleKeyDown","handleFocus","useTableKeyboardNavigation","useCallback","index","setActive","rowProps","tableProps","onFocus","onKeyDown","tabIndex","pagination","setPageIndex"],"mappings":";;;;;;;;;;;AAqBA,MAAMA,iBAAiB,GAAG,CACtBC,WAA+B,EAC/BC,IAAwB,EACxBC,oBAA6D,EAC7DC,iBAAoD;EAEpDC,cAAK,CAACC,SAAS,CAAC;IACZ,IAAIL,WAAW,KAAKM,SAAS,IAAIL,IAAI,CAACM,MAAM,IAAIJ,iBAAiB,EAAE;MAC/D,MAAMK,UAAU,GAAGP,IAAI,CAACD,WAAW,CAAC;MACpC,IAAIQ,UAAU,EAAE;QACZ,MAAMC,mBAAmB,GAAGC,gBAAgB,CAACF,UAAU,EAAEN,oBAAoB,CAAC;QAC9EC,iBAAiB,CAACM,mBAAmB,CAAC;;;GAGjD,EAAE,CAACT,WAAW,EAAEC,IAAI,CAAC,CAAC;AAC3B,CAAC;AAED,MAAMU,gBAAgB,GAAG,CAACC,QAAa,EAAEC,GAA8B;EACnE,MAAMC,iBAAiB,GAAGV,cAAK,CAACW,OAAO,CACnC,OAAO;IACHC,qBAAqB,EAAEJ,QAAQ,CAACI,qBAAqB;IACrDC,oBAAoB,EAAEL,QAAQ,CAACK,oBAAoB;IACnDC,gBAAgB,EAAEN,QAAQ,CAACM,gBAAgB;IAC3CC,aAAa,EAAEP,QAAQ,CAACO,aAAa;IACrCC,gBAAgB,EAAER,QAAQ,CAACQ,gBAAgB;IAC3CC,eAAe,EAAET,QAAQ,CAACS,eAAe;IACzCC,iBAAiB,EAAEV,QAAQ,CAACU,iBAAiB;IAC7CC,YAAY,EAAEX,QAAQ,CAACW;GAC1B,CAAC,EACF,EAAE,CACL;EAEDnB,cAAK,CAACC,SAAS,CAAC;IACZ,IAAIQ,GAAG,aAAHA,GAAG,eAAHA,GAAG,CAAEW,OAAO,EAAE;MACdX,GAAG,CAACW,OAAO,CAACZ,QAAQ,GAAGE,iBAAiB;;GAE/C,EAAE,CAACD,GAAG,CAAC,CAAC;EAET,OAAOC,iBAAiB;AAC5B,CAAC;AAED,MAAMW,0BAA0B,GAAG,CAACC,iBAA0B,EAAEC,UAAyC,EAAEC,KAAU;EACjHxB,cAAK,CAACC,SAAS,CAAC;IACZ,IAAI,CAACqB,iBAAiB,IAAIC,UAAU,EAAE;MAClCA,UAAU,CAACC,KAAK,CAACC,SAAS,EAAED,KAAK,CAACE,QAAQ,CAAC;;GAElD,EAAE,CAACF,KAAK,CAACC,SAAS,EAAED,KAAK,CAACE,QAAQ,CAAC,CAAC;AACzC,CAAC;AAED,MAAMC,uBAAuB,GAAG,CAC5BC,IAAW,EACXC,UAAiB,EACjBC,MAAoC,EACpCC,aAAsB,EACtBP,KAAU;EAEVxB,cAAK,CAACC,SAAS,CAAC;IACZ,IAAI6B,MAAM,EAAE;MACR,MAAME,SAAS,GAAGR,KAAK,CAACS,MAAM,CAACC,GAAG,CAAEC,IAAS,KAAM;QAAEC,QAAQ,EAAED,IAAI,CAACE,EAAE;QAAEC,IAAI,EAAEH,IAAI,CAACG;OAAM,CAAC,CAAC;MAE3F,IAAIP,aAAa,EAAE;QACfD,MAAM,CAACE,SAAS,CAAC;OACpB,MAAM;QACH,IAAIO,UAAU;QAEd,IAAIP,SAAS,CAAC7B,MAAM,IAAI0B,UAAU,aAAVA,UAAU,eAAVA,UAAU,CAAE1B,MAAM,EAAE;UACxCoC,UAAU,GAAGV,UAAU,CAACK,GAAG,CAAEM,GAAQ,IAAKA,GAAG,CAACC,QAAQ,CAAC;;QAG3DX,MAAM,CAACE,SAAS,EAAEO,UAAU,IAAIX,IAAI,CAAC;;;GAGhD,EAAE,CAACE,MAAM,IAAIY,IAAI,CAACC,SAAS,CAACnB,KAAK,CAACS,MAAM,CAAC,EAAEF,aAAa,CAAC,CAAC;AAC/D,CAAC;AAED,MAAMa,iBAAiB,GAAG,EAAE;MAEfC,QAAQ,GAAG,CACpBC,KAA6C,EAC7CrC,GAA8B;;EAE9B,MAAM;IACFsC,QAAQ;IACRnB,IAAI;IACJoB,yCAAyC,EAAEC,CAAC;IAC5CC,UAAU;IACVC,SAAS;IACTC,cAAc;IACdC,YAAY;IACZvD,oBAAoB;IACpBwD,SAAS;IACTC,YAAY;;IAGZC,cAAc;IACdzB,aAAa;IACbD,MAAM;IACNE,SAAS;;IAGTpC,WAAW,EAAE6D,EAAE;IACfC,kBAAkB,EAAEC,EAAE;IACtBC,mBAAmB,EAAEC,EAAE;;IAGvBvC,iBAAiB,GAAG,IAAI;IACxBnB,MAAM;IACNoB,UAAU;IACVG,QAAQ,GAAGkB,iBAAiB;IAC5BnB,SAAS,GAAG,CAAC;;IAGbqC,qBAAqB,GAAG5D,SAAS;IACjC6D,WAAW;;IAGXC,OAAO;IACPC,SAAS;IACTC,SAAS;IACTC,WAAW;IACXC,WAAW;IAEXC,QAAQ,GAAG,KAAK;IAEhB,GAAGC;GACN,GAAGxB,KAAK;EAET,IAAKM,cAAc,IAAI,CAACG,YAAY,IAAM,CAACH,cAAc,IAAIG,YAAa,EAAE;IACxE,MAAM,IAAIgB,KAAK,CACX,qJAAqJ,CACxJ;;EAGL,MAAM;IAAEC,KAAK;IAAEC;GAAQ,GAAGC,eAAe,EAAE;EAC3C,MAAM;IAAEC,OAAO;IAAE3C,SAAS,EAAE4C;GAAkB,GAAG5E,cAAK,CAACW,OAAO,CAC1D,MAAMkE,sBAAsB,CAAC9B,QAAQ,EAAEjD,oBAAoB,CAAC,EAC5D,CAACiD,QAAQ,EAAEjD,oBAAoB,CAAC,CACnC;EAED,MAAMgF,gBAAgB,GAAG,CAACxD,iBAAiB,IAAI,CAAC,CAACC,UAAU,IAAI,CAAC,CAACpB,MAAM;EAEvE,MAAM;IACF4E,YAAY;IACZlF,IAAI;IACJgC,UAAU;IACVmD,UAAU,EAAEC,cAAc;IAC1BzD,KAAK;;IAEL0D,IAAI;IACJC,QAAQ;IACRC,WAAW;IACX,GAAG5E;GACN,GAAQ6E,UAAa,CAClB;IACIV,OAAO;IACP/C,IAAI;IACJ0D,YAAY,EAAE;;MAEVrD,MAAM,EAAEsD,oBAAoB,CAACvD,SAAS,CAAC,IAAI4C,gBAAgB;MAC3DlD,QAAQ,EAAE,CAACJ,iBAAiB,GAAGI,QAAQ,GAAGxB,SAAS;MACnDuB,SAAS,EAAE,CAACH,iBAAiB,GAAGG,SAAS,GAAGvB;KAC/C;IACD4E,gBAAgB;IAChBU,SAAS,EAAEV,gBAAgB,IAAI3E,MAAM,GAAGsF,IAAI,CAACC,IAAI,CAACvF,MAAM,GAAGuB,QAAQ,CAAC,GAAG,CAAC,CAAC;IACzEiE,YAAY,EAAE5D,aAAa;IAC3B6D,aAAa,EAAEpC,cAAc;;IAE7BqC,iBAAiB,EAAE,KAAK;IACxBC,qBAAqB,EAAE,KAAK;IAC5BC,eAAe,EAAE,KAAK;IACtBC,aAAa,EAAE,KAAK;IACpBC,SAAS,EAAEjG,cAAK,CAACW,OAAO,CAAC,MAAMsF,SAAS,CAACxB,MAAM,CAAC,EAAE,EAAE,CAAC;IACrDyB,kBAAkB,EAAEC,YAAY;MAC5B,OAAOnG,cAAK,CAACW,OAAO,CAChB,OAAO;QACH,GAAGwF,YAAY;QACfC,cAAc,EAAE7C,YAAY,IAAI;OACnC,CAAC,EACF,CAAC4C,YAAY,EAAE5C,YAAY,CAAC,CAC/B;;GAER,EACD8C,WAAW,EACXC,SAAS,EACTC,WAAW,EACXC,aAAa,EACbC,YAAY,CAACrD,cAAc,CAAC,EAC5BsD,eAAe,CAACvD,SAAS,CAAC,EAC1BwD,aAAa,CAAC7C,qBAAqB,CAAC,EACpC8C,aAAa,CACT9C,qBAAqB,EACrB;IAAEC,WAAW;IAAEE,SAAS;IAAEC,SAAS;IAAEC;GAAa,EAClDH,OAAO,EACPlE,oBAAoB,EACpB0E,KAAK,EACLH,QAAQ,CACX,CACJ;EAEDhD,0BAA0B,CAACC,iBAAiB,EAAEC,UAAU,EAAEC,KAAK,CAAC;EAChEG,uBAAuB,CAACC,IAAI,EAAEC,UAAU,EAAEC,MAAM,EAAE,CAAC,CAACC,aAAa,EAAEP,KAAK,CAAC;EAEzE,MAAMd,iBAAiB,GAAGH,gBAAgB,CAACC,QAAQ,EAAEC,GAAG,CAAC;EAEzD,MAAMoG,WAAW,GAAG,CAACvF,iBAAiB,IAAI,CAACwD,gBAAgB,GAAGI,IAAI,GAAGrF,IAAI;EAEzE,MAAM,CAACD,WAAW,EAAEkH,cAAc,EAAEC,aAAa,EAAEC,WAAW,CAAC,GAAGC,0BAA0B,CACxFnE,KAAK,EACL+D,WAAW,EACX;IAAE3D,UAAU;IAAEa,WAAW;IAAEE,SAAS;IAAEC,SAAS;IAAEC,WAAW;IAAErE;GAAsB,EACpFW,GAAG,CACN;EAEDd,iBAAiB,CAACC,WAAW,EAAEC,IAAI,EAAEC,oBAAoB,EAAEsE,WAAW,CAAC;EAEvE,MAAMY,UAAU,GAAGhF,cAAK,CAACkH,WAAW,CAChC,CAAC1E,GAAQ,EAAE2E,KAAa;IACpBlC,cAAc,CAACzC,GAAG,CAAC;IACnBA,GAAG,CAAC4E,SAAS,GAAG,MAAMN,cAAc,CAACK,KAAK,CAAC;GAC9C,EACD,CAAClC,cAAc,EAAE6B,cAAc,CAAC,CACnC;EAED,OAAO;IACHO,QAAQ,EAAE;MACNzH,WAAW;MACXkH,cAAc;MACd5D,UAAU;MACVG,YAAY;MACZvD,oBAAoB;MACpBwD,SAAS;MACTQ;KACH;IACDwD,UAAU,EAAE;MACR,GAAGhD,UAAU;MACbS,YAAY;MACZwC,OAAO,EAAEP,WAAW;MACpBQ,SAAS,EAAET,aAAa;MACxBU,QAAQ,0BAAEnD,UAAU,CAACmD,QAAQ,uEAAI;KACpC;IACDjG,KAAK;IACLkG,UAAU,EAAE,CAACpG,iBAAiB,GACxB;MACInB,MAAM,EAAE2E,gBAAgB,IAAI3E,MAAM,GAAGA,MAAM,GAAGyB,IAAI,CAACzB,MAAM;MACzDsB,SAAS,EAAED,KAAK,CAACC,SAAS;MAC1BC,QAAQ,EAAEF,KAAK,CAACE,QAAQ;MACxBiG,YAAY,EAAExC,QAAQ;MACtBC,WAAW,EAAEA;KAChB,GACD,IAAI;IACVvF,IAAI,EAAEgH,WAAW;IACjB7B,UAAU;IACVxE,QAAQ,EAAEE;GACb;AACL;;;;"}
|
@@ -1,10 +1,10 @@
|
|
1
1
|
import React__default from 'react';
|
2
2
|
import cn from 'classnames';
|
3
3
|
import { IconButton } from '../IconButton/IconButton.js';
|
4
|
+
import { useLocalization } from '../Provider/Localization.js';
|
4
5
|
import { useAnimation, motion } from 'framer-motion';
|
5
6
|
import useTimer from '../../utils/hooks/useTimer.js';
|
6
7
|
import { getBadgeIcon } from './util.js';
|
7
|
-
import { useLocalization } from '../Provider/Provider.js';
|
8
8
|
|
9
9
|
const Toast = ({
|
10
10
|
content,
|
@@ -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/
|
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': type === 'default' || type === 'loading' || !type,\n 'border border-grey-darker': type === 'success',\n 'border border-blue': type === 'information',\n 'border border-yellow-dark': 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(\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 );\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-darkest -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","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,oBAAoB,EAAEF,IAAI,KAAK,SAAS,IAAIA,IAAI,KAAK,SAAS,IAAI,CAACA,IAAI;IACvE,2BAA2B,EAAEA,IAAI,KAAK,SAAS;IAC/C,oBAAoB,EAAEA,IAAI,KAAK,aAAa;IAC5C,2BAA2B,EAAEA,IAAI,KAAK,SAAS;IAC/C,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,uHAEJjB,OAAO,KAAK,EAAE,GAAG,cAAc,GAAGA,UACnC,CACN;;EAGLkB,cAAK,CAACC,SAAS,CAAC;IACZ,IAAIX,SAAS,EAAE;MACXI,KAAK,CAACQ,KAAK,EAAE;;GAEpB,EAAE,CAACZ,SAAS,CAAC,CAAC;EAEf,MAAMa,sBAAsB;IAAA;6BAClBP,QAAQ,CAACM,KAAK,CAAC;QAAEE,KAAK,EAAE;OAAM,CAAC;QAAA,uBAC/BR,QAAQ,CAACM,KAAK,CAAC;UAAEE,KAAK,EAAE;SAAG,CAAC;;KACrC;MAAA;;;EAEDJ,cAAK,CAACC,SAAS,CAAC;IACZ,IAAIlB,WAAW,EAAE;MACboB,sBAAsB,EAAE;MAExB,IAAIT,KAAK,CAACW,OAAO,EAAE;QACfX,KAAK,CAACQ,KAAK,EAAE;;;GAGxB,EAAE,CAACnB,WAAW,CAAC,CAAC;EAEjB,oBACIiB,6BAACM,MAAM,CAACC,GAAG,oBACHpB,KAAK;IACTqB,OAAO,EAAEZ,QAAQ;IACjBJ,SAAS,EAAEA,SAAS;iBACV,OAAO;IACjBiB,YAAY,EAAEf,KAAK,CAACgB,KAAK;IACzBC,YAAY,EAAEjB,KAAK,CAACkB;MACnBC,YAAY,CAACtB,IAAI,CAAC,eACnBS;IAAKR,SAAS,EAAC;KAAaV,OAAO,CAAO,eAC1CkB,6BAACc,UAAU;IACPC,UAAU,EAAC,UAAU;IACrBvB,SAAS,EAAC,yDAAyD;IACnEwB,IAAI,EAAC,OAAO;kBACA5B,KAAK,CAAC6B,MAAM,CAACC,OAAO;IAChCC,OAAO,EAAElC;IACX,CACO;AAErB;;;;"}
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import { useMemo, Children, useCallback, createElement, useRef, useEffect } from 'react';
|
2
2
|
import { IconButton } from '../IconButton/IconButton.js';
|
3
|
+
import { useLocalization } from '../Provider/Localization.js';
|
3
4
|
import { Button } from '../Button/Button.js';
|
4
|
-
import { useLocalization } from '../Provider/Provider.js';
|
5
5
|
import { Group } from '../Group/Group.js';
|
6
6
|
import Joyride, { ACTIONS, LIFECYCLE, EVENTS } from 'react-joyride';
|
7
7
|
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Tour.js","sources":["../../../../../../../src/components/Tour/Tour.tsx"],"sourcesContent":["import * as React from 'react';\nimport Joyride, { Step, CallBackProps, ACTIONS, LIFECYCLE, Placement, EVENTS, TooltipRenderProps } from 'react-joyride';\n\nimport { Button } from '../Button/Button';\nimport { Group } from '../Group/Group';\nimport { IconButton } from '../IconButton/IconButton';\nimport { useLocalization } from '../Provider/Provider';\n\nexport type TourTexts = {\n /** Text for back action button */\n back: string;\n /**\n * Text for close button.\n * This button is displayed if tour is not continuous - replacing the `Next` button.\n * It will pause the flow of the tour and close the tooltip\n */\n close: string;\n /**\n * Aria-label and title for close icon button in each step.\n * This button skips and completes the flow entirely\n */\n skip: string;\n /**\n * Text for last action button.\n * This button is displayed when user is on the last step of the tour\n */\n last: string;\n /**\n * Text for next action button.\n * This button is displayed if tour has more than one steps and is continuous\n */\n next: string;\n /** Aria label and title for beacon that will open the tour step */\n open: string;\n};\n\nexport type TourStepProps = {\n /** Content can be any valid react node, for e.g. a `div` */\n children: React.ReactNode;\n /** Define the position of the tour's popup relative to the element is presenting */\n position?: Placement;\n /** The css selector of the html element you want to include in a tour */\n selector: string;\n /**\n * Show beacon for step.\n * A beacon is a styled component which indicates the current element to be presented.\n * For more informations about how to create a beacon, read [Joyride](https://docs.react-joyride.com) docs\n */\n showBeacon?: boolean;\n /** Text displayed above the children/content of the popup */\n title: string;\n};\n\nconst Tooltip = ({\n continuous,\n index,\n isLastStep,\n step,\n backProps,\n primaryProps,\n skipProps,\n tooltipProps,\n size,\n locale,\n disableTourSkipOnEsc,\n}: TooltipRenderProps & { locale: TourTexts; disableTourSkipOnEsc?: boolean }) => {\n const skipButtonRef = React.useRef<HTMLButtonElement>(null);\n\n React.useEffect(() => {\n const onWindowKeyDown = (event: KeyboardEvent): void => {\n if (!disableTourSkipOnEsc) {\n if (event.key === 'Escape' && skipButtonRef.current !== null) {\n event.preventDefault();\n skipButtonRef.current.click();\n return;\n }\n }\n };\n\n window.addEventListener('keydown', onWindowKeyDown);\n\n return () => {\n window.removeEventListener('keydown', onWindowKeyDown);\n };\n }, []);\n\n return (\n <div {...tooltipProps} className=\"yt-tour__step w-88 relative rounded bg-white p-4\">\n <IconButton\n {...skipProps}\n ref={skipButtonRef}\n appearance=\"discrete\"\n icon=\"close\"\n title={locale.skip}\n aria-label={locale.skip}\n className=\"absolute top-0 right-0 mt-1 mr-1\"\n />\n {step.title && <h5>{step.title}</h5>}\n {step.content}\n <Group className=\"mt-4 justify-end\">\n {index > 0 && (\n <Button {...backProps} appearance=\"discrete\">\n {locale.back}\n </Button>\n )}\n <Button {...primaryProps} appearance=\"primary\">\n {continuous\n ? isLastStep\n ? `${locale.last} (${index + 1}/${size})`\n : `${locale.next} (${index + 1}/${size})`\n : locale.close}\n </Button>\n </Group>\n </div>\n );\n};\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport const TourStep = (_props: TourStepProps): null => null;\n\nexport type TourProps = {\n /** Controls if [Joyride](https://docs.react-joyride.com) is active */\n autoStart?: boolean;\n /** Children should be one or more `Tour.Step` components */\n children: any;\n /** Are there more than one steps and should you be able to navigate between them using `Next` and `Previous` buttons */\n continuous?: boolean;\n /** Disable closing of tour when click on `Escape` */\n disableCloseOnEsc?: boolean;\n /** Don't close the presenting popup of the tour step when clicking outside it */\n disableOverlayClose?: boolean;\n /** Allows user to interact with the presented components (mouse and touch events) when the popup is visible */\n disableScrolling?: boolean;\n /* When user clicks on the close icon button, which will close the tour and complete the flow */\n onClose?: (step: TourStepProps) => void;\n /* When user completes the entire flow */\n onComplete?: Function;\n /** When step is ready */\n onReady?: (step: TourStepProps) => void;\n /* Allow mouse and touch events through the spotlight */\n spotlightClicks?: boolean;\n /* Stops the injection of custom overflow styles on parent container. Can be used to prevent remaining overflow styles after tour is done. */\n disableScrollParentFix?: boolean;\n /** The scroll distance from the element scrollTop value. */\n scrollOffset?: number;\n};\n\nexport const Tour = (props: TourProps) => {\n const {\n texts: { tour },\n } = useLocalization();\n\n const {\n autoStart: run,\n onComplete,\n onClose,\n onReady,\n spotlightClicks,\n disableCloseOnEsc: disableTourSkipOnEsc,\n disableScrollParentFix = false,\n scrollOffset,\n ...rest\n } = props;\n\n const steps = React.useMemo(() => {\n return React.Children.map(props.children, child => {\n const step: Step = {\n disableBeacon: !child.props.showBeacon,\n target: child.props.selector,\n placement: child.props.position,\n title: child.props.title,\n content: child.props.children,\n };\n return step;\n });\n }, [props.children]);\n\n const getStep = React.useCallback(\n (selector: string | HTMLElement) => props.children.find((child: any) => child.props.selector === selector)?.props,\n [props.children]\n );\n\n function callback(state: CallBackProps) {\n if (state.action === ACTIONS.SKIP && state.lifecycle === LIFECYCLE.COMPLETE) {\n if (onClose) {\n onClose(getStep(state.step.target));\n }\n }\n\n if (state.type === EVENTS.TOUR_END) {\n if (onComplete) {\n onComplete();\n }\n }\n\n if (state.lifecycle === LIFECYCLE.READY) {\n if (onReady) {\n onReady(getStep(state.step.target));\n }\n }\n }\n\n return (\n <Joyride\n {...rest}\n run={run}\n steps={steps}\n showProgress\n floaterProps={{\n disableAnimation: true,\n }}\n tooltipComponent={tooltipProps => (\n <Tooltip {...tooltipProps} locale={tour} disableTourSkipOnEsc={disableTourSkipOnEsc} />\n )}\n locale={tour}\n spotlightPadding={8}\n spotlightClicks={spotlightClicks}\n disableScrollParentFix={disableScrollParentFix}\n callback={callback}\n scrollOffset={scrollOffset}\n styles={{\n /** style beacon */\n options: {\n // tailwind.theme.colors.blue.light\n primaryColor: '#6ba4ff',\n },\n }}\n disableCloseOnEsc\n />\n );\n};\n\nTour.Step = TourStep;\n"],"names":["Tooltip","continuous","index","isLastStep","step","backProps","primaryProps","skipProps","tooltipProps","size","locale","disableTourSkipOnEsc","skipButtonRef","React","onWindowKeyDown","event","key","current","preventDefault","click","window","addEventListener","removeEventListener","className","IconButton","ref","appearance","icon","title","skip","content","Group","Button","back","last","next","close","TourStep","_props","Tour","props","texts","tour","useLocalization","autoStart","run","onComplete","onClose","onReady","spotlightClicks","disableCloseOnEsc","disableScrollParentFix","scrollOffset","rest","steps","map","children","child","disableBeacon","showBeacon","target","selector","placement","position","getStep","find","callback","state","action","ACTIONS","SKIP","lifecycle","LIFECYCLE","COMPLETE","type","EVENTS","TOUR_END","READY","Joyride","showProgress","floaterProps","disableAnimation","tooltipComponent","spotlightPadding","styles","options","primaryColor","Step"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"Tour.js","sources":["../../../../../../../src/components/Tour/Tour.tsx"],"sourcesContent":["import * as React from 'react';\nimport Joyride, { Step, CallBackProps, ACTIONS, LIFECYCLE, Placement, EVENTS, TooltipRenderProps } from 'react-joyride';\n\nimport { Button } from '../Button/Button';\nimport { Group } from '../Group/Group';\nimport { IconButton } from '../IconButton/IconButton';\nimport { useLocalization } from '../Provider/Localization';\n\nexport type TourTexts = {\n /** Text for back action button */\n back: string;\n /**\n * Text for close button.\n * This button is displayed if tour is not continuous - replacing the `Next` button.\n * It will pause the flow of the tour and close the tooltip\n */\n close: string;\n /**\n * Aria-label and title for close icon button in each step.\n * This button skips and completes the flow entirely\n */\n skip: string;\n /**\n * Text for last action button.\n * This button is displayed when user is on the last step of the tour\n */\n last: string;\n /**\n * Text for next action button.\n * This button is displayed if tour has more than one steps and is continuous\n */\n next: string;\n /** Aria label and title for beacon that will open the tour step */\n open: string;\n};\n\nexport type TourStepProps = {\n /** Content can be any valid react node, for e.g. a `div` */\n children: React.ReactNode;\n /** Define the position of the tour's popup relative to the element is presenting */\n position?: Placement;\n /** The css selector of the html element you want to include in a tour */\n selector: string;\n /**\n * Show beacon for step.\n * A beacon is a styled component which indicates the current element to be presented.\n * For more informations about how to create a beacon, read [Joyride](https://docs.react-joyride.com) docs\n */\n showBeacon?: boolean;\n /** Text displayed above the children/content of the popup */\n title: string;\n};\n\nconst Tooltip = ({\n continuous,\n index,\n isLastStep,\n step,\n backProps,\n primaryProps,\n skipProps,\n tooltipProps,\n size,\n locale,\n disableTourSkipOnEsc,\n}: TooltipRenderProps & { locale: TourTexts; disableTourSkipOnEsc?: boolean }) => {\n const skipButtonRef = React.useRef<HTMLButtonElement>(null);\n\n React.useEffect(() => {\n const onWindowKeyDown = (event: KeyboardEvent): void => {\n if (!disableTourSkipOnEsc) {\n if (event.key === 'Escape' && skipButtonRef.current !== null) {\n event.preventDefault();\n skipButtonRef.current.click();\n return;\n }\n }\n };\n\n window.addEventListener('keydown', onWindowKeyDown);\n\n return () => {\n window.removeEventListener('keydown', onWindowKeyDown);\n };\n }, []);\n\n return (\n <div {...tooltipProps} className=\"yt-tour__step w-88 relative rounded bg-white p-4\">\n <IconButton\n {...skipProps}\n ref={skipButtonRef}\n appearance=\"discrete\"\n icon=\"close\"\n title={locale.skip}\n aria-label={locale.skip}\n className=\"absolute top-0 right-0 mt-1 mr-1\"\n />\n {step.title && <h5>{step.title}</h5>}\n {step.content}\n <Group className=\"mt-4 justify-end\">\n {index > 0 && (\n <Button {...backProps} appearance=\"discrete\">\n {locale.back}\n </Button>\n )}\n <Button {...primaryProps} appearance=\"primary\">\n {continuous\n ? isLastStep\n ? `${locale.last} (${index + 1}/${size})`\n : `${locale.next} (${index + 1}/${size})`\n : locale.close}\n </Button>\n </Group>\n </div>\n );\n};\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport const TourStep = (_props: TourStepProps): null => null;\n\nexport type TourProps = {\n /** Controls if [Joyride](https://docs.react-joyride.com) is active */\n autoStart?: boolean;\n /** Children should be one or more `Tour.Step` components */\n children: any;\n /** Are there more than one steps and should you be able to navigate between them using `Next` and `Previous` buttons */\n continuous?: boolean;\n /** Disable closing of tour when click on `Escape` */\n disableCloseOnEsc?: boolean;\n /** Don't close the presenting popup of the tour step when clicking outside it */\n disableOverlayClose?: boolean;\n /** Allows user to interact with the presented components (mouse and touch events) when the popup is visible */\n disableScrolling?: boolean;\n /* When user clicks on the close icon button, which will close the tour and complete the flow */\n onClose?: (step: TourStepProps) => void;\n /* When user completes the entire flow */\n onComplete?: Function;\n /** When step is ready */\n onReady?: (step: TourStepProps) => void;\n /* Allow mouse and touch events through the spotlight */\n spotlightClicks?: boolean;\n /* Stops the injection of custom overflow styles on parent container. Can be used to prevent remaining overflow styles after tour is done. */\n disableScrollParentFix?: boolean;\n /** The scroll distance from the element scrollTop value. */\n scrollOffset?: number;\n};\n\nexport const Tour = (props: TourProps) => {\n const {\n texts: { tour },\n } = useLocalization();\n\n const {\n autoStart: run,\n onComplete,\n onClose,\n onReady,\n spotlightClicks,\n disableCloseOnEsc: disableTourSkipOnEsc,\n disableScrollParentFix = false,\n scrollOffset,\n ...rest\n } = props;\n\n const steps = React.useMemo(() => {\n return React.Children.map(props.children, child => {\n const step: Step = {\n disableBeacon: !child.props.showBeacon,\n target: child.props.selector,\n placement: child.props.position,\n title: child.props.title,\n content: child.props.children,\n };\n return step;\n });\n }, [props.children]);\n\n const getStep = React.useCallback(\n (selector: string | HTMLElement) => props.children.find((child: any) => child.props.selector === selector)?.props,\n [props.children]\n );\n\n function callback(state: CallBackProps) {\n if (state.action === ACTIONS.SKIP && state.lifecycle === LIFECYCLE.COMPLETE) {\n if (onClose) {\n onClose(getStep(state.step.target));\n }\n }\n\n if (state.type === EVENTS.TOUR_END) {\n if (onComplete) {\n onComplete();\n }\n }\n\n if (state.lifecycle === LIFECYCLE.READY) {\n if (onReady) {\n onReady(getStep(state.step.target));\n }\n }\n }\n\n return (\n <Joyride\n {...rest}\n run={run}\n steps={steps}\n showProgress\n floaterProps={{\n disableAnimation: true,\n }}\n tooltipComponent={tooltipProps => (\n <Tooltip {...tooltipProps} locale={tour} disableTourSkipOnEsc={disableTourSkipOnEsc} />\n )}\n locale={tour}\n spotlightPadding={8}\n spotlightClicks={spotlightClicks}\n disableScrollParentFix={disableScrollParentFix}\n callback={callback}\n scrollOffset={scrollOffset}\n styles={{\n /** style beacon */\n options: {\n // tailwind.theme.colors.blue.light\n primaryColor: '#6ba4ff',\n },\n }}\n disableCloseOnEsc\n />\n );\n};\n\nTour.Step = TourStep;\n"],"names":["Tooltip","continuous","index","isLastStep","step","backProps","primaryProps","skipProps","tooltipProps","size","locale","disableTourSkipOnEsc","skipButtonRef","React","onWindowKeyDown","event","key","current","preventDefault","click","window","addEventListener","removeEventListener","className","IconButton","ref","appearance","icon","title","skip","content","Group","Button","back","last","next","close","TourStep","_props","Tour","props","texts","tour","useLocalization","autoStart","run","onComplete","onClose","onReady","spotlightClicks","disableCloseOnEsc","disableScrollParentFix","scrollOffset","rest","steps","map","children","child","disableBeacon","showBeacon","target","selector","placement","position","getStep","find","callback","state","action","ACTIONS","SKIP","lifecycle","LIFECYCLE","COMPLETE","type","EVENTS","TOUR_END","READY","Joyride","showProgress","floaterProps","disableAnimation","tooltipComponent","spotlightPadding","styles","options","primaryColor","Step"],"mappings":"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"}
|
@@ -8,11 +8,9 @@ export { VisuallyHidden } from './components/VisuallyHidden/VisuallyHidden.js';
|
|
8
8
|
export { Badge } from './components/Badge/Badge.js';
|
9
9
|
export { Tooltip } from './components/Tooltip/Tooltip.js';
|
10
10
|
export { Base, IconButton } from './components/IconButton/IconButton.js';
|
11
|
+
export { LocalizationContext, LocalizationProvider, defaultLocalisationTexts, useLocalization } from './components/Provider/Localization.js';
|
11
12
|
export { Banner } from './components/Banner/Banner.js';
|
12
13
|
export { Button } from './components/Button/Button.js';
|
13
|
-
export { Spinner } from './components/Spinner/Spinner.js';
|
14
|
-
export { ToastProvider, useToast } from './components/Toast/Toaster.js';
|
15
|
-
export { Provider, defaultLocalisationTexts, useLocalization, useTaco } from './components/Provider/Provider.js';
|
16
14
|
export { Calendar } from './components/Calendar/Calendar.js';
|
17
15
|
export { Card } from './components/Card/Card.js';
|
18
16
|
export { Checkbox } from './components/Checkbox/Checkbox.js';
|
@@ -20,6 +18,7 @@ export { useMergedRef } from './hooks/useMergedRef.js';
|
|
20
18
|
export { Input } from './components/Input/Input.js';
|
21
19
|
export { getNextIndexFromKey, useListKeyboardNavigation } from './utils/hooks/useListKeyboardNavigation.js';
|
22
20
|
export { useListScrollTo } from './utils/hooks/useListScrollTo.js';
|
21
|
+
export { Spinner } from './components/Spinner/Spinner.js';
|
23
22
|
export { useBoundingClientRectListener } from './hooks/useBoundingClientRectListener.js';
|
24
23
|
export { Combobox } from './components/Combobox/Combobox.js';
|
25
24
|
export { format, parseFromCustomString, parseFromISOString } from './utils/date.js';
|
@@ -42,6 +41,8 @@ export { Select } from './components/Select/Select.js';
|
|
42
41
|
export { usePagination } from './components/Pagination/usePagination.js';
|
43
42
|
export { Pagination } from './components/Pagination/Pagination.js';
|
44
43
|
export { Progress } from './components/Progress/Progress.js';
|
44
|
+
export { ToastProvider, useToast } from './components/Toast/Toaster.js';
|
45
|
+
export { Provider } from './components/Provider/Provider.js';
|
45
46
|
export { Tag } from './components/Tag/Tag.js';
|
46
47
|
export { Select2 } from './components/Select2/Select2.js';
|
47
48
|
export { Table } from './components/Table/components/Table.js';
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
@@ -6,9 +6,13 @@ const useDraggable = ref => {
|
|
6
6
|
x: 0,
|
7
7
|
y: 0
|
8
8
|
});
|
9
|
+
const [dragging, setDragging] = React__default.useState(false);
|
9
10
|
const {
|
10
11
|
moveProps
|
11
12
|
} = useMove({
|
13
|
+
onMoveStart() {
|
14
|
+
setDragging(true);
|
15
|
+
},
|
12
16
|
onMove(event) {
|
13
17
|
var _ref$current;
|
14
18
|
const rect = (_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.getBoundingClientRect();
|
@@ -27,10 +31,14 @@ const useDraggable = ref => {
|
|
27
31
|
y
|
28
32
|
};
|
29
33
|
});
|
34
|
+
},
|
35
|
+
onMoveEnd() {
|
36
|
+
setDragging(false);
|
30
37
|
}
|
31
38
|
});
|
32
39
|
return {
|
33
40
|
position,
|
41
|
+
dragging,
|
34
42
|
handleProps: moveProps
|
35
43
|
};
|
36
44
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useDraggable.js","sources":["../../../../../../../src/utils/hooks/useDraggable.tsx"],"sourcesContent":["import React from 'react';\nimport { useMove } from '@react-aria/interactions';\n\nexport const useDraggable = (ref: React.MutableRefObject<HTMLDivElement | null>): any => {\n const [position, setPosition] = React.useState({\n x: 0,\n y: 0,\n });\n\n const { moveProps } = useMove({\n onMove(event) {\n const rect = ref.current?.getBoundingClientRect();\n\n // Prevent dragging out of bounds\n if (\n rect &&\n (rect.left + event.deltaX < 0 ||\n rect.right + event.deltaX > window.innerWidth ||\n rect.top + event.deltaY < 0 ||\n rect.bottom + event.deltaY > window.innerHeight)\n ) {\n return;\n }\n\n setPosition(({ x, y }) => {\n x += event.deltaX;\n y += event.deltaY;\n return { x, y };\n });\n },\n });\n\n return {\n position,\n handleProps: moveProps,\n };\n};\n"],"names":["useDraggable","ref","position","setPosition","React","useState","x","y","moveProps","useMove","onMove","event","rect","current","getBoundingClientRect","left","deltaX","right","window","innerWidth","top","deltaY","bottom","innerHeight","handleProps"],"mappings":";;;MAGaA,YAAY,GAAIC,GAAkD;EAC3E,MAAM,CAACC,QAAQ,EAAEC,WAAW,CAAC,GAAGC,cAAK,CAACC,QAAQ,CAAC;IAC3CC,CAAC,EAAE,CAAC;IACJC,CAAC,EAAE;GACN,CAAC;EAEF,MAAM;
|
1
|
+
{"version":3,"file":"useDraggable.js","sources":["../../../../../../../src/utils/hooks/useDraggable.tsx"],"sourcesContent":["import React from 'react';\nimport { useMove } from '@react-aria/interactions';\n\nexport const useDraggable = (ref: React.MutableRefObject<HTMLDivElement | null>): any => {\n const [position, setPosition] = React.useState({\n x: 0,\n y: 0,\n });\n\n const [dragging, setDragging] = React.useState(false);\n\n const { moveProps } = useMove({\n onMoveStart() {\n setDragging(true);\n },\n onMove(event) {\n const rect = ref.current?.getBoundingClientRect();\n\n // Prevent dragging out of bounds\n if (\n rect &&\n (rect.left + event.deltaX < 0 ||\n rect.right + event.deltaX > window.innerWidth ||\n rect.top + event.deltaY < 0 ||\n rect.bottom + event.deltaY > window.innerHeight)\n ) {\n return;\n }\n\n setPosition(({ x, y }) => {\n x += event.deltaX;\n y += event.deltaY;\n return { x, y };\n });\n },\n onMoveEnd() {\n setDragging(false);\n },\n });\n\n return {\n position,\n dragging,\n handleProps: moveProps,\n };\n};\n"],"names":["useDraggable","ref","position","setPosition","React","useState","x","y","dragging","setDragging","moveProps","useMove","onMoveStart","onMove","event","rect","current","getBoundingClientRect","left","deltaX","right","window","innerWidth","top","deltaY","bottom","innerHeight","onMoveEnd","handleProps"],"mappings":";;;MAGaA,YAAY,GAAIC,GAAkD;EAC3E,MAAM,CAACC,QAAQ,EAAEC,WAAW,CAAC,GAAGC,cAAK,CAACC,QAAQ,CAAC;IAC3CC,CAAC,EAAE,CAAC;IACJC,CAAC,EAAE;GACN,CAAC;EAEF,MAAM,CAACC,QAAQ,EAAEC,WAAW,CAAC,GAAGL,cAAK,CAACC,QAAQ,CAAC,KAAK,CAAC;EAErD,MAAM;IAAEK;GAAW,GAAGC,OAAO,CAAC;IAC1BC,WAAW;MACPH,WAAW,CAAC,IAAI,CAAC;KACpB;IACDI,MAAM,CAACC,KAAK;;MACR,MAAMC,IAAI,mBAAGd,GAAG,CAACe,OAAO,iDAAX,aAAaC,qBAAqB,EAAE;;MAGjD,IACIF,IAAI,KACHA,IAAI,CAACG,IAAI,GAAGJ,KAAK,CAACK,MAAM,GAAG,CAAC,IACzBJ,IAAI,CAACK,KAAK,GAAGN,KAAK,CAACK,MAAM,GAAGE,MAAM,CAACC,UAAU,IAC7CP,IAAI,CAACQ,GAAG,GAAGT,KAAK,CAACU,MAAM,GAAG,CAAC,IAC3BT,IAAI,CAACU,MAAM,GAAGX,KAAK,CAACU,MAAM,GAAGH,MAAM,CAACK,WAAW,CAAC,EACtD;QACE;;MAGJvB,WAAW,CAAC,CAAC;QAAEG,CAAC;QAAEC;OAAG;QACjBD,CAAC,IAAIQ,KAAK,CAACK,MAAM;QACjBZ,CAAC,IAAIO,KAAK,CAACU,MAAM;QACjB,OAAO;UAAElB,CAAC;UAAEC;SAAG;OAClB,CAAC;KACL;IACDoB,SAAS;MACLlB,WAAW,CAAC,KAAK,CAAC;;GAEzB,CAAC;EAEF,OAAO;IACHP,QAAQ;IACRM,QAAQ;IACRoB,WAAW,EAAElB;GAChB;AACL;;;;"}
|
package/dist/index.css
CHANGED
@@ -193,77 +193,6 @@
|
|
193
193
|
@apply -mr-2 ml-0;
|
194
194
|
}
|
195
195
|
|
196
|
-
[data-taco='spinner'] svg circle {
|
197
|
-
@apply flex;
|
198
|
-
fill: transparent;
|
199
|
-
stroke-width: 10px;
|
200
|
-
animation: spinnerAnimation 1.5s cubic-bezier(0.46, 0.03, 0.52, 0.96) infinite both;
|
201
|
-
transform-origin: 50% 50%;
|
202
|
-
stroke-linecap: round;
|
203
|
-
stroke-dasharray: 282.743343;
|
204
|
-
stroke-dashoffset: 67.85840232;
|
205
|
-
stroke: theme('colors.blue.DEFAULT');
|
206
|
-
}
|
207
|
-
|
208
|
-
@keyframes spinnerAnimation {
|
209
|
-
0% {
|
210
|
-
stroke-dashoffset: 237.50440812;
|
211
|
-
transform: rotate(0);
|
212
|
-
}
|
213
|
-
50% {
|
214
|
-
stroke-dashoffset: 67.85840232;
|
215
|
-
transform: rotate(45deg);
|
216
|
-
}
|
217
|
-
100% {
|
218
|
-
stroke-dashoffset: 237.50440812;
|
219
|
-
transform: rotate(1turn);
|
220
|
-
}
|
221
|
-
}
|
222
|
-
|
223
|
-
@keyframes spinnerRotation {
|
224
|
-
0% {
|
225
|
-
transform: rotate(0deg);
|
226
|
-
}
|
227
|
-
100% {
|
228
|
-
transform: rotate(1turn);
|
229
|
-
}
|
230
|
-
}
|
231
|
-
|
232
|
-
.yt-grey-solid [data-taco='spinner'] svg circle,
|
233
|
-
.yt-yellow-solid [data-taco='spinner'] svg circle {
|
234
|
-
stroke: theme('colors.grey.darkest');
|
235
|
-
}
|
236
|
-
|
237
|
-
.yt-blue-solid [data-taco='spinner'] svg circle,
|
238
|
-
.yt-green-solid [data-taco='spinner'] svg circle,
|
239
|
-
.yt-red-solid [data-taco='spinner'] svg circle {
|
240
|
-
stroke: theme('colors.white');
|
241
|
-
}
|
242
|
-
|
243
|
-
.yt-blue-inverted svg circle {
|
244
|
-
stroke: theme('colors.blue.DEFAULT');
|
245
|
-
}
|
246
|
-
|
247
|
-
.yt-yellow-inverted svg circle {
|
248
|
-
stroke: theme('colors.yellow.DEFAULT');
|
249
|
-
}
|
250
|
-
|
251
|
-
.yt-red-inverted svg circle {
|
252
|
-
stroke: theme('colors.red.DEFAULT');
|
253
|
-
}
|
254
|
-
|
255
|
-
.yt-green-inverted svg circle {
|
256
|
-
stroke: theme('colors.green.DEFAULT');
|
257
|
-
}
|
258
|
-
|
259
|
-
.yt-grey-inverted svg circle {
|
260
|
-
stroke: theme('colors.grey.darkest');
|
261
|
-
}
|
262
|
-
|
263
|
-
[data-taco='toast'] > div [data-taco='button'] {
|
264
|
-
@apply -mt-px py-0 px-2;
|
265
|
-
}
|
266
|
-
|
267
196
|
[data-taco='calendar'] .DayPicker-wrapper {
|
268
197
|
@apply relative select-none flex-row;
|
269
198
|
}
|
@@ -393,6 +322,73 @@
|
|
393
322
|
@apply mr-2 mt-2 h-5 w-5 opacity-75;
|
394
323
|
}
|
395
324
|
|
325
|
+
[data-taco='spinner'] svg circle {
|
326
|
+
@apply flex;
|
327
|
+
fill: transparent;
|
328
|
+
stroke-width: 10px;
|
329
|
+
animation: spinnerAnimation 1.5s cubic-bezier(0.46, 0.03, 0.52, 0.96) infinite both;
|
330
|
+
transform-origin: 50% 50%;
|
331
|
+
stroke-linecap: round;
|
332
|
+
stroke-dasharray: 282.743343;
|
333
|
+
stroke-dashoffset: 67.85840232;
|
334
|
+
stroke: theme('colors.blue.DEFAULT');
|
335
|
+
}
|
336
|
+
|
337
|
+
@keyframes spinnerAnimation {
|
338
|
+
0% {
|
339
|
+
stroke-dashoffset: 237.50440812;
|
340
|
+
transform: rotate(0);
|
341
|
+
}
|
342
|
+
50% {
|
343
|
+
stroke-dashoffset: 67.85840232;
|
344
|
+
transform: rotate(45deg);
|
345
|
+
}
|
346
|
+
100% {
|
347
|
+
stroke-dashoffset: 237.50440812;
|
348
|
+
transform: rotate(1turn);
|
349
|
+
}
|
350
|
+
}
|
351
|
+
|
352
|
+
@keyframes spinnerRotation {
|
353
|
+
0% {
|
354
|
+
transform: rotate(0deg);
|
355
|
+
}
|
356
|
+
100% {
|
357
|
+
transform: rotate(1turn);
|
358
|
+
}
|
359
|
+
}
|
360
|
+
|
361
|
+
.yt-grey-solid [data-taco='spinner'] svg circle,
|
362
|
+
.yt-yellow-solid [data-taco='spinner'] svg circle {
|
363
|
+
stroke: theme('colors.grey.darkest');
|
364
|
+
}
|
365
|
+
|
366
|
+
.yt-blue-solid [data-taco='spinner'] svg circle,
|
367
|
+
.yt-green-solid [data-taco='spinner'] svg circle,
|
368
|
+
.yt-red-solid [data-taco='spinner'] svg circle {
|
369
|
+
stroke: theme('colors.white');
|
370
|
+
}
|
371
|
+
|
372
|
+
.yt-blue-inverted svg circle {
|
373
|
+
stroke: theme('colors.blue.DEFAULT');
|
374
|
+
}
|
375
|
+
|
376
|
+
.yt-yellow-inverted svg circle {
|
377
|
+
stroke: theme('colors.yellow.DEFAULT');
|
378
|
+
}
|
379
|
+
|
380
|
+
.yt-red-inverted svg circle {
|
381
|
+
stroke: theme('colors.red.DEFAULT');
|
382
|
+
}
|
383
|
+
|
384
|
+
.yt-green-inverted svg circle {
|
385
|
+
stroke: theme('colors.green.DEFAULT');
|
386
|
+
}
|
387
|
+
|
388
|
+
.yt-grey-inverted svg circle {
|
389
|
+
stroke: theme('colors.grey.darkest');
|
390
|
+
}
|
391
|
+
|
396
392
|
[data-taco='combobox'] > [aria-expanded='true'] + [role='dialog'] > ul,
|
397
393
|
[data-taco='combobox'] > [aria-expanded='true'] + [role='dialog'] > ul:hover {
|
398
394
|
@apply border-blue;
|
@@ -507,6 +503,10 @@
|
|
507
503
|
}
|
508
504
|
}
|
509
505
|
|
506
|
+
[data-taco='toast'] > div [data-taco='button'] {
|
507
|
+
@apply -mt-px py-0 px-2;
|
508
|
+
}
|
509
|
+
|
510
510
|
/* rows */
|
511
511
|
.yt-table__row {
|
512
512
|
@apply border-grey-light flex border-b;
|
package/dist/index.d.ts
CHANGED
@@ -27,6 +27,7 @@ export * from './components/Pagination/Pagination';
|
|
27
27
|
export * from './components/Popover/Popover';
|
28
28
|
export * from './components/Progress/Progress';
|
29
29
|
export * from './components/Provider/Provider';
|
30
|
+
export * from './components/Provider/Localization';
|
30
31
|
export * from './components/RadioGroup/RadioGroup';
|
31
32
|
export * from './components/Select/Select';
|
32
33
|
export * from './components/Select2/Select2';
|