@gbmtech/aurora-ui 0.1.47 → 0.1.49

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.
Files changed (49) hide show
  1. package/dist/cjs/components/data-table/data-table-date-filter.cjs +1 -1
  2. package/dist/cjs/components/data-table/data-table-date-filter.cjs.map +1 -1
  3. package/dist/cjs/components/data-table/data-table-faceted-filter.cjs +1 -1
  4. package/dist/cjs/components/data-table/data-table-faceted-filter.cjs.map +1 -1
  5. package/dist/cjs/components/data-table/data-table-filter-list.cjs +1 -1
  6. package/dist/cjs/components/data-table/data-table-filter-list.cjs.map +1 -1
  7. package/dist/cjs/components/data-table/data-table-filter-menu.cjs +1 -1
  8. package/dist/cjs/components/data-table/data-table-filter-menu.cjs.map +1 -1
  9. package/dist/cjs/components/data-table/data-table-pagination.cjs +1 -1
  10. package/dist/cjs/components/data-table/data-table-pagination.cjs.map +1 -1
  11. package/dist/cjs/components/data-table/data-table-range-filter.cjs +1 -1
  12. package/dist/cjs/components/data-table/data-table-range-filter.cjs.map +1 -1
  13. package/dist/cjs/components/data-table/data-table-slider-filter.cjs +1 -1
  14. package/dist/cjs/components/data-table/data-table-slider-filter.cjs.map +1 -1
  15. package/dist/cjs/components/data-table/data-table-sort-list.cjs +1 -1
  16. package/dist/cjs/components/data-table/data-table-sort-list.cjs.map +1 -1
  17. package/dist/cjs/components/data-table/data-table-toolbar.cjs +1 -1
  18. package/dist/cjs/components/data-table/data-table-toolbar.cjs.map +1 -1
  19. package/dist/cjs/components/data-table/data-table-view-options.cjs +1 -1
  20. package/dist/cjs/components/data-table/data-table-view-options.cjs.map +1 -1
  21. package/dist/cjs/components/data-table/index.cjs +1 -1
  22. package/dist/cjs/lib/data-table-config.cjs +1 -1
  23. package/dist/cjs/lib/data-table-config.cjs.map +1 -1
  24. package/dist/esm/components/data-table/data-table-date-filter.js +1 -1
  25. package/dist/esm/components/data-table/data-table-date-filter.js.map +1 -1
  26. package/dist/esm/components/data-table/data-table-faceted-filter.js +1 -1
  27. package/dist/esm/components/data-table/data-table-faceted-filter.js.map +1 -1
  28. package/dist/esm/components/data-table/data-table-filter-list.js +1 -1
  29. package/dist/esm/components/data-table/data-table-filter-list.js.map +1 -1
  30. package/dist/esm/components/data-table/data-table-filter-menu.js +1 -1
  31. package/dist/esm/components/data-table/data-table-filter-menu.js.map +1 -1
  32. package/dist/esm/components/data-table/data-table-pagination.js +1 -1
  33. package/dist/esm/components/data-table/data-table-pagination.js.map +1 -1
  34. package/dist/esm/components/data-table/data-table-range-filter.js +1 -1
  35. package/dist/esm/components/data-table/data-table-range-filter.js.map +1 -1
  36. package/dist/esm/components/data-table/data-table-slider-filter.js +1 -1
  37. package/dist/esm/components/data-table/data-table-slider-filter.js.map +1 -1
  38. package/dist/esm/components/data-table/data-table-sort-list.js +1 -1
  39. package/dist/esm/components/data-table/data-table-sort-list.js.map +1 -1
  40. package/dist/esm/components/data-table/data-table-toolbar.js +1 -1
  41. package/dist/esm/components/data-table/data-table-toolbar.js.map +1 -1
  42. package/dist/esm/components/data-table/data-table-view-options.js +1 -1
  43. package/dist/esm/components/data-table/data-table-view-options.js.map +1 -1
  44. package/dist/esm/components/data-table/index.js +1 -1
  45. package/dist/esm/lib/data-table-config.js +1 -1
  46. package/dist/esm/lib/data-table-config.js.map +1 -1
  47. package/dist/types/components/data-table/data-table-pagination.d.ts.map +1 -1
  48. package/dist/types/lib/data-table-config.d.ts +1 -1
  49. package/package.json +1 -1
@@ -1,3 +1,3 @@
1
1
  'use client'
2
- "use strict";let __rslib_import_meta_url__="undefined"==typeof document?new(require("url".replace("",""))).URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href;var __webpack_require__={};__webpack_require__.d=(e,a)=>{for(var t in a)__webpack_require__.o(a,t)&&!__webpack_require__.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:a[t]})},__webpack_require__.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__={};__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{DataTableSortList:()=>DataTableSortList});let jsx_runtime_namespaceObject=require("react/jsx-runtime"),react_namespaceObject=require("@phosphor-icons/react"),external_react_namespaceObject=require("react"),external_badge_cjs_namespaceObject=require("../badge.cjs"),external_button_cjs_namespaceObject=require("../button.cjs"),external_command_cjs_namespaceObject=require("../command.cjs"),external_popover_cjs_namespaceObject=require("../popover.cjs"),external_select_cjs_namespaceObject=require("../select.cjs"),external_sortable_cjs_namespaceObject=require("../sortable.cjs"),data_table_config_cjs_namespaceObject=require("../../lib/data-table-config.cjs"),utils_cjs_namespaceObject=require("../../lib/utils.cjs"),OPEN_MENU_SHORTCUT="s",REMOVE_SORT_SHORTCUTS=["backspace","delete"];function DataTableSortList({table:e,...a}){let t=external_react_namespaceObject.useId(),n=external_react_namespaceObject.useId(),c=external_react_namespaceObject.useId(),[s,r]=external_react_namespaceObject.useState(!1),_=external_react_namespaceObject.useRef(null),i=e.getState().sorting,l=e.setSorting,{columnLabels:m,columns:o}=external_react_namespaceObject.useMemo(()=>{let a=new Map,t=new Set(i.map(e=>e.id)),n=[];for(let c of e.getAllColumns()){if(!c.getCanSort())continue;let e=c.columnDef.meta?.label??c.id;a.set(c.id,e),t.has(c.id)||n.push({id:c.id,label:e})}return{columnLabels:a,columns:n}},[i,e]),j=external_react_namespaceObject.useCallback(()=>{let e=o[0];e&&l(a=>[...a,{id:e.id,desc:!1}])},[o,l]),p=external_react_namespaceObject.useCallback((e,a)=>{l(t=>t?t.map(t=>t.id===e?{...t,...a}:t):t)},[l]),b=external_react_namespaceObject.useCallback(e=>{l(a=>a.filter(a=>a.id!==e))},[l]),d=external_react_namespaceObject.useCallback(()=>l(e.initialState.sorting),[l,e.initialState.sorting]);external_react_namespaceObject.useEffect(()=>{function e(e){!(e.target instanceof HTMLInputElement||e.target instanceof HTMLTextAreaElement)&&("s"!==e.key.toLowerCase()||e.ctrlKey||e.metaKey||e.shiftKey||(e.preventDefault(),r(!0)),"s"===e.key.toLowerCase()&&e.shiftKey&&i.length>0&&(e.preventDefault(),d()))}return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[i.length,d]);let x=external_react_namespaceObject.useCallback(e=>{REMOVE_SORT_SHORTCUTS.includes(e.key.toLowerCase())&&i.length>0&&(e.preventDefault(),d())},[i.length,d]);return(0,jsx_runtime_namespaceObject.jsxs)(external_sortable_cjs_namespaceObject.Sortable,{value:i,onValueChange:l,getItemValue:e=>e.id,children:[(0,jsx_runtime_namespaceObject.jsxs)(external_popover_cjs_namespaceObject.Popover,{open:s,onOpenChange:r,children:[(0,jsx_runtime_namespaceObject.jsx)(external_popover_cjs_namespaceObject.PopoverTrigger,{asChild:!0,children:(0,jsx_runtime_namespaceObject.jsxs)(external_button_cjs_namespaceObject.Button,{variant:"secondary",size:"xs",onKeyDown:x,children:[(0,jsx_runtime_namespaceObject.jsx)(react_namespaceObject.ArrowsDownUp,{}),"Ordenar",i.length>0&&(0,jsx_runtime_namespaceObject.jsx)(external_badge_cjs_namespaceObject.Badge,{variant:"secondary",className:"h-[18.24px] rounded-[3.2px] px-[5.12px] font-mono font-normal text-[10.4px]",children:i.length})]})}),(0,jsx_runtime_namespaceObject.jsxs)(external_popover_cjs_namespaceObject.PopoverContent,{"aria-labelledby":n,"aria-describedby":c,className:"flex w-full max-w-[var(--radix-popover-content-available-width)] origin-[var(--radix-popover-content-transform-origin)] flex-col gap-3.5 p-4 sm:min-w-[380px]",...a,children:[(0,jsx_runtime_namespaceObject.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,jsx_runtime_namespaceObject.jsx)("h4",{id:n,className:"font-medium leading-none",children:i.length>0?"Ordenar por":"Nenhuma ordena\xe7\xe3o aplicada"}),(0,jsx_runtime_namespaceObject.jsx)("p",{id:c,className:(0,utils_cjs_namespaceObject.cn)("text-gray-500 text-sm",i.length>0&&"sr-only"),children:i.length>0?"Modifique a ordena\xe7\xe3o para organizar suas linhas.":"Adicione uma ordena\xe7\xe3o para organizar suas linhas."})]}),i.length>0&&(0,jsx_runtime_namespaceObject.jsx)(external_sortable_cjs_namespaceObject.SortableContent,{asChild:!0,children:(0,jsx_runtime_namespaceObject.jsx)("div",{role:"list",className:"flex max-h-[300px] flex-col gap-2 overflow-y-auto p-1",children:i.map(e=>(0,jsx_runtime_namespaceObject.jsx)(DataTableSortItem,{sort:e,sortItemId:`${t}-sort-${e.id}`,columns:o,columnLabels:m,onSortUpdate:p,onSortRemove:b},e.id))})}),(0,jsx_runtime_namespaceObject.jsxs)("div",{className:"flex w-full items-center gap-2",children:[(0,jsx_runtime_namespaceObject.jsx)(external_button_cjs_namespaceObject.Button,{size:"xs",className:"rounded",ref:_,onClick:j,disabled:0===o.length,children:"Adicionar"}),i.length>0&&(0,jsx_runtime_namespaceObject.jsx)(external_button_cjs_namespaceObject.Button,{variant:"secondary",size:"xs",className:"rounded",onClick:d,children:"Resetar"})]})]})]}),(0,jsx_runtime_namespaceObject.jsx)(external_sortable_cjs_namespaceObject.SortableOverlay,{children:(0,jsx_runtime_namespaceObject.jsxs)("div",{className:"flex items-center gap-2",children:[(0,jsx_runtime_namespaceObject.jsx)("div",{className:"h-8 w-[180px] rounded-sm bg-primary/10"}),(0,jsx_runtime_namespaceObject.jsx)("div",{className:"h-8 w-24 rounded-sm bg-primary/10"}),(0,jsx_runtime_namespaceObject.jsx)("div",{className:"size-8 shrink-0 rounded-sm bg-primary/10"}),(0,jsx_runtime_namespaceObject.jsx)("div",{className:"size-8 shrink-0 rounded-sm bg-primary/10"})]})})]})}function DataTableSortItem({sort:e,sortItemId:a,columns:t,columnLabels:n,onSortUpdate:c,onSortRemove:s}){let r=`${a}-field-listbox`,_=`${a}-field-trigger`,i=`${a}-direction-listbox`,[l,m]=external_react_namespaceObject.useState(!1),[o,j]=external_react_namespaceObject.useState(!1),p=external_react_namespaceObject.useCallback(a=>{!(a.target instanceof HTMLInputElement||a.target instanceof HTMLTextAreaElement)&&(l||o||REMOVE_SORT_SHORTCUTS.includes(a.key.toLowerCase())&&(a.preventDefault(),s(e.id)))},[e.id,l,o,s]);return(0,jsx_runtime_namespaceObject.jsx)(external_sortable_cjs_namespaceObject.SortableItem,{value:e.id,asChild:!0,children:(0,jsx_runtime_namespaceObject.jsxs)("div",{role:"listitem",id:a,tabIndex:-1,className:"flex items-center gap-2",onKeyDown:p,children:[(0,jsx_runtime_namespaceObject.jsxs)(external_popover_cjs_namespaceObject.Popover,{open:l,onOpenChange:m,children:[(0,jsx_runtime_namespaceObject.jsx)(external_popover_cjs_namespaceObject.PopoverTrigger,{asChild:!0,children:(0,jsx_runtime_namespaceObject.jsxs)(external_button_cjs_namespaceObject.Button,{id:_,role:"combobox","aria-controls":r,variant:"secondary",size:"xs",className:"w-44 justify-between rounded font-normal",children:[(0,jsx_runtime_namespaceObject.jsx)("span",{className:"truncate",children:n.get(e.id)}),(0,jsx_runtime_namespaceObject.jsx)(react_namespaceObject.CaretUpDown,{className:"opacity-50"})]})}),(0,jsx_runtime_namespaceObject.jsx)(external_popover_cjs_namespaceObject.PopoverContent,{id:r,className:"w-[var(--radix-popover-trigger-width)] origin-[var(--radix-popover-content-transform-origin)] p-0",children:(0,jsx_runtime_namespaceObject.jsxs)(external_command_cjs_namespaceObject.Command,{children:[(0,jsx_runtime_namespaceObject.jsx)(external_command_cjs_namespaceObject.CommandInput,{placeholder:"Buscar campo..."}),(0,jsx_runtime_namespaceObject.jsxs)(external_command_cjs_namespaceObject.CommandList,{children:[(0,jsx_runtime_namespaceObject.jsx)(external_command_cjs_namespaceObject.CommandEmpty,{children:"Nenhum campo encontrado."}),(0,jsx_runtime_namespaceObject.jsx)(external_command_cjs_namespaceObject.CommandGroup,{children:t.map(a=>(0,jsx_runtime_namespaceObject.jsx)(external_command_cjs_namespaceObject.CommandItem,{value:a.id,onSelect:a=>c(e.id,{id:a}),children:(0,jsx_runtime_namespaceObject.jsx)("span",{className:"truncate",children:a.label})},a.id))})]})]})})]}),(0,jsx_runtime_namespaceObject.jsxs)(external_select_cjs_namespaceObject.Select,{open:o,onOpenChange:j,value:e.desc?"desc":"asc",onValueChange:a=>c(e.id,{desc:"desc"===a}),children:[(0,jsx_runtime_namespaceObject.jsx)(external_select_cjs_namespaceObject.SelectTrigger,{"aria-controls":i,className:"h-8 w-24 rounded [&[data-size]]:h-8",children:(0,jsx_runtime_namespaceObject.jsx)(external_select_cjs_namespaceObject.SelectValue,{})}),(0,jsx_runtime_namespaceObject.jsx)(external_select_cjs_namespaceObject.SelectContent,{id:i,className:"min-w-[var(--radix-select-trigger-width)] origin-[var(--radix-select-content-transform-origin)]",children:data_table_config_cjs_namespaceObject.dataTableConfig.sortOrders.map(e=>(0,jsx_runtime_namespaceObject.jsx)(external_select_cjs_namespaceObject.SelectItem,{value:e.value,children:e.label},e.value))})]}),(0,jsx_runtime_namespaceObject.jsx)(external_button_cjs_namespaceObject.Button,{"aria-controls":a,variant:"secondary",size:"icon",className:"size-8 shrink-0 rounded",onClick:()=>s(e.id),children:(0,jsx_runtime_namespaceObject.jsx)(react_namespaceObject.Trash,{weight:"bold"})}),(0,jsx_runtime_namespaceObject.jsx)(external_sortable_cjs_namespaceObject.SortableItemHandle,{asChild:!0,children:(0,jsx_runtime_namespaceObject.jsx)(external_button_cjs_namespaceObject.Button,{variant:"secondary",size:"icon",className:"size-8 shrink-0 rounded",children:(0,jsx_runtime_namespaceObject.jsx)(react_namespaceObject.DotsSixVertical,{weight:"bold"})})})]})})}for(var __webpack_i__ in exports.DataTableSortList=__webpack_exports__.DataTableSortList,__webpack_exports__)-1===["DataTableSortList"].indexOf(__webpack_i__)&&(exports[__webpack_i__]=__webpack_exports__[__webpack_i__]);Object.defineProperty(exports,"__esModule",{value:!0});
2
+ "use strict";let __rslib_import_meta_url__="undefined"==typeof document?new(require("url".replace("",""))).URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href;var __webpack_require__={};__webpack_require__.d=(e,a)=>{for(var t in a)__webpack_require__.o(a,t)&&!__webpack_require__.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:a[t]})},__webpack_require__.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__={};__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{DataTableSortList:()=>DataTableSortList});let jsx_runtime_namespaceObject=require("react/jsx-runtime"),react_namespaceObject=require("@phosphor-icons/react"),external_react_namespaceObject=require("react"),external_badge_cjs_namespaceObject=require("../badge.cjs"),external_button_cjs_namespaceObject=require("../button.cjs"),external_command_cjs_namespaceObject=require("../command.cjs"),external_popover_cjs_namespaceObject=require("../popover.cjs"),external_select_cjs_namespaceObject=require("../select.cjs"),external_sortable_cjs_namespaceObject=require("../sortable.cjs"),data_table_config_cjs_namespaceObject=require("../../lib/data-table-config.cjs"),utils_cjs_namespaceObject=require("../../lib/utils.cjs"),OPEN_MENU_SHORTCUT="s",REMOVE_SORT_SHORTCUTS=["backspace","delete"];function DataTableSortList({table:e,...a}){let t=external_react_namespaceObject.useId(),n=external_react_namespaceObject.useId(),c=external_react_namespaceObject.useId(),[s,r]=external_react_namespaceObject.useState(!1),_=external_react_namespaceObject.useRef(null),i=e.getState().sorting,l=e.setSorting,{columnLabels:m,columns:o}=external_react_namespaceObject.useMemo(()=>{let a=new Map,t=new Set(i.map(e=>e.id)),n=[];for(let c of e.getAllColumns()){if(!c.getCanSort())continue;let e=c.columnDef.meta?.label??c.id;a.set(c.id,e),t.has(c.id)||n.push({id:c.id,label:e})}return{columnLabels:a,columns:n}},[i,e]),j=external_react_namespaceObject.useCallback(()=>{let e=o[0];e&&l(a=>[...a,{id:e.id,desc:!1}])},[o,l]),p=external_react_namespaceObject.useCallback((e,a)=>{l(t=>t?t.map(t=>t.id===e?{...t,...a}:t):t)},[l]),b=external_react_namespaceObject.useCallback(e=>{l(a=>a.filter(a=>a.id!==e))},[l]),d=external_react_namespaceObject.useCallback(()=>l(e.initialState.sorting),[l,e.initialState.sorting]);external_react_namespaceObject.useEffect(()=>{function e(e){!(e.target instanceof HTMLInputElement||e.target instanceof HTMLTextAreaElement)&&("s"!==e.key.toLowerCase()||e.ctrlKey||e.metaKey||e.shiftKey||(e.preventDefault(),r(!0)),"s"===e.key.toLowerCase()&&e.shiftKey&&i.length>0&&(e.preventDefault(),d()))}return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[i.length,d]);let x=external_react_namespaceObject.useCallback(e=>{REMOVE_SORT_SHORTCUTS.includes(e.key.toLowerCase())&&i.length>0&&(e.preventDefault(),d())},[i.length,d]);return(0,jsx_runtime_namespaceObject.jsxs)(external_sortable_cjs_namespaceObject.Sortable,{value:i,onValueChange:l,getItemValue:e=>e.id,children:[(0,jsx_runtime_namespaceObject.jsxs)(external_popover_cjs_namespaceObject.Popover,{open:s,onOpenChange:r,children:[(0,jsx_runtime_namespaceObject.jsx)(external_popover_cjs_namespaceObject.PopoverTrigger,{asChild:!0,children:(0,jsx_runtime_namespaceObject.jsxs)(external_button_cjs_namespaceObject.Button,{variant:"secondary",size:"sm",onKeyDown:x,children:[(0,jsx_runtime_namespaceObject.jsx)(react_namespaceObject.ArrowsDownUp,{}),"Ordenar",i.length>0&&(0,jsx_runtime_namespaceObject.jsx)(external_badge_cjs_namespaceObject.Badge,{variant:"secondary",className:"h-[18.24px] rounded-[3.2px] px-[5.12px] font-mono font-normal text-[10.4px]",children:i.length})]})}),(0,jsx_runtime_namespaceObject.jsxs)(external_popover_cjs_namespaceObject.PopoverContent,{"aria-labelledby":n,"aria-describedby":c,className:"flex w-full max-w-[var(--radix-popover-content-available-width)] origin-[var(--radix-popover-content-transform-origin)] flex-col gap-3.5 p-4 sm:min-w-[380px]",...a,children:[(0,jsx_runtime_namespaceObject.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,jsx_runtime_namespaceObject.jsx)("h4",{id:n,className:"font-medium leading-none",children:i.length>0?"Ordenar por":"Nenhuma ordena\xe7\xe3o aplicada"}),(0,jsx_runtime_namespaceObject.jsx)("p",{id:c,className:(0,utils_cjs_namespaceObject.cn)("text-gray-500 text-sm",i.length>0&&"sr-only"),children:i.length>0?"Modifique a ordena\xe7\xe3o para organizar suas linhas.":"Adicione uma ordena\xe7\xe3o para organizar suas linhas."})]}),i.length>0&&(0,jsx_runtime_namespaceObject.jsx)(external_sortable_cjs_namespaceObject.SortableContent,{asChild:!0,children:(0,jsx_runtime_namespaceObject.jsx)("div",{role:"list",className:"flex max-h-[300px] flex-col gap-2 overflow-y-auto p-1",children:i.map(e=>(0,jsx_runtime_namespaceObject.jsx)(DataTableSortItem,{sort:e,sortItemId:`${t}-sort-${e.id}`,columns:o,columnLabels:m,onSortUpdate:p,onSortRemove:b},e.id))})}),(0,jsx_runtime_namespaceObject.jsxs)("div",{className:"flex w-full items-center gap-2",children:[(0,jsx_runtime_namespaceObject.jsx)(external_button_cjs_namespaceObject.Button,{size:"sm",className:"rounded",ref:_,onClick:j,disabled:0===o.length,children:"Adicionar"}),i.length>0&&(0,jsx_runtime_namespaceObject.jsx)(external_button_cjs_namespaceObject.Button,{variant:"secondary",size:"sm",className:"rounded",onClick:d,children:"Resetar"})]})]})]}),(0,jsx_runtime_namespaceObject.jsx)(external_sortable_cjs_namespaceObject.SortableOverlay,{children:(0,jsx_runtime_namespaceObject.jsxs)("div",{className:"flex items-center gap-2",children:[(0,jsx_runtime_namespaceObject.jsx)("div",{className:"h-10 w-[180px] rounded-sm bg-primary/10"}),(0,jsx_runtime_namespaceObject.jsx)("div",{className:"h-10 w-24 rounded-sm bg-primary/10"}),(0,jsx_runtime_namespaceObject.jsx)("div",{className:"size-8 shrink-0 rounded-sm bg-primary/10"}),(0,jsx_runtime_namespaceObject.jsx)("div",{className:"size-8 shrink-0 rounded-sm bg-primary/10"})]})})]})}function DataTableSortItem({sort:e,sortItemId:a,columns:t,columnLabels:n,onSortUpdate:c,onSortRemove:s}){let r=`${a}-field-listbox`,_=`${a}-field-trigger`,i=`${a}-direction-listbox`,[l,m]=external_react_namespaceObject.useState(!1),[o,j]=external_react_namespaceObject.useState(!1),p=external_react_namespaceObject.useCallback(a=>{!(a.target instanceof HTMLInputElement||a.target instanceof HTMLTextAreaElement)&&(l||o||REMOVE_SORT_SHORTCUTS.includes(a.key.toLowerCase())&&(a.preventDefault(),s(e.id)))},[e.id,l,o,s]);return(0,jsx_runtime_namespaceObject.jsx)(external_sortable_cjs_namespaceObject.SortableItem,{value:e.id,asChild:!0,children:(0,jsx_runtime_namespaceObject.jsxs)("div",{role:"listitem",id:a,tabIndex:-1,className:"flex items-center gap-2",onKeyDown:p,children:[(0,jsx_runtime_namespaceObject.jsxs)(external_popover_cjs_namespaceObject.Popover,{open:l,onOpenChange:m,children:[(0,jsx_runtime_namespaceObject.jsx)(external_popover_cjs_namespaceObject.PopoverTrigger,{asChild:!0,children:(0,jsx_runtime_namespaceObject.jsxs)(external_button_cjs_namespaceObject.Button,{id:_,role:"combobox","aria-controls":r,variant:"secondary",size:"sm",className:"w-44 justify-between rounded font-normal",children:[(0,jsx_runtime_namespaceObject.jsx)("span",{className:"truncate",children:n.get(e.id)}),(0,jsx_runtime_namespaceObject.jsx)(react_namespaceObject.CaretUpDown,{className:"opacity-50"})]})}),(0,jsx_runtime_namespaceObject.jsx)(external_popover_cjs_namespaceObject.PopoverContent,{id:r,className:"w-[var(--radix-popover-trigger-width)] origin-[var(--radix-popover-content-transform-origin)] p-0",children:(0,jsx_runtime_namespaceObject.jsxs)(external_command_cjs_namespaceObject.Command,{children:[(0,jsx_runtime_namespaceObject.jsx)(external_command_cjs_namespaceObject.CommandInput,{placeholder:"Buscar campo..."}),(0,jsx_runtime_namespaceObject.jsxs)(external_command_cjs_namespaceObject.CommandList,{children:[(0,jsx_runtime_namespaceObject.jsx)(external_command_cjs_namespaceObject.CommandEmpty,{children:"Nenhum campo encontrado."}),(0,jsx_runtime_namespaceObject.jsx)(external_command_cjs_namespaceObject.CommandGroup,{children:t.map(a=>(0,jsx_runtime_namespaceObject.jsx)(external_command_cjs_namespaceObject.CommandItem,{value:a.id,onSelect:a=>c(e.id,{id:a}),children:(0,jsx_runtime_namespaceObject.jsx)("span",{className:"truncate",children:a.label})},a.id))})]})]})})]}),(0,jsx_runtime_namespaceObject.jsxs)(external_select_cjs_namespaceObject.Select,{open:o,onOpenChange:j,value:e.desc?"desc":"asc",onValueChange:a=>c(e.id,{desc:"desc"===a}),children:[(0,jsx_runtime_namespaceObject.jsx)(external_select_cjs_namespaceObject.SelectTrigger,{"aria-controls":i,className:"h-10 w-24 rounded [&[data-size]]:h-10",children:(0,jsx_runtime_namespaceObject.jsx)(external_select_cjs_namespaceObject.SelectValue,{})}),(0,jsx_runtime_namespaceObject.jsx)(external_select_cjs_namespaceObject.SelectContent,{id:i,className:"min-w-[var(--radix-select-trigger-width)] origin-[var(--radix-select-content-transform-origin)]",children:data_table_config_cjs_namespaceObject.dataTableConfig.sortOrders.map(e=>(0,jsx_runtime_namespaceObject.jsx)(external_select_cjs_namespaceObject.SelectItem,{value:e.value,children:e.label},e.value))})]}),(0,jsx_runtime_namespaceObject.jsx)(external_button_cjs_namespaceObject.Button,{"aria-controls":a,variant:"secondary",size:"icon",className:"size-10 shrink-0 rounded",onClick:()=>s(e.id),children:(0,jsx_runtime_namespaceObject.jsx)(react_namespaceObject.Trash,{weight:"bold"})}),(0,jsx_runtime_namespaceObject.jsx)(external_sortable_cjs_namespaceObject.SortableItemHandle,{asChild:!0,children:(0,jsx_runtime_namespaceObject.jsx)(external_button_cjs_namespaceObject.Button,{variant:"secondary",size:"icon",className:"size-10 shrink-0 rounded",children:(0,jsx_runtime_namespaceObject.jsx)(react_namespaceObject.DotsSixVertical,{weight:"bold"})})})]})})}for(var __webpack_i__ in exports.DataTableSortList=__webpack_exports__.DataTableSortList,__webpack_exports__)-1===["DataTableSortList"].indexOf(__webpack_i__)&&(exports[__webpack_i__]=__webpack_exports__[__webpack_i__]);Object.defineProperty(exports,"__esModule",{value:!0});
3
3
  //# sourceMappingURL=data-table-sort-list.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"components\\data-table\\data-table-sort-list.cjs","sources":["webpack://@gbmtech/aurora-ui/./src/components/data-table/data-table-sort-list.tsx"],"sourcesContent":["\r\n\r\nimport {\r\n ArrowsDownUp,\r\n CaretUpDown,\r\n DotsSixVertical,\r\n Trash,\r\n} from '@phosphor-icons/react'\r\nimport type { ColumnSort, SortDirection, Table } from '@tanstack/react-table'\r\nimport * as React from 'react'\r\n\r\nimport { Badge } from '@/components/badge'\r\nimport { Button } from '@/components/button'\r\nimport {\r\n Command,\r\n CommandEmpty,\r\n CommandGroup,\r\n CommandInput,\r\n CommandItem,\r\n CommandList,\r\n} from '@/components/command'\r\nimport { Popover, PopoverContent, PopoverTrigger } from '@/components/popover'\r\nimport {\r\n Select,\r\n SelectContent,\r\n SelectItem,\r\n SelectTrigger,\r\n SelectValue,\r\n} from '@/components/select'\r\nimport {\r\n Sortable,\r\n SortableContent,\r\n SortableItem,\r\n SortableItemHandle,\r\n SortableOverlay,\r\n} from '@/components/sortable'\r\nimport { dataTableConfig } from '@/lib/data-table-config'\r\nimport { cn } from '@/lib/utils'\r\n\r\nconst OPEN_MENU_SHORTCUT = 's'\r\nconst REMOVE_SORT_SHORTCUTS = ['backspace', 'delete']\r\n\r\ninterface DataTableSortListProps<TData>\r\n extends React.ComponentProps<typeof PopoverContent> {\r\n table: Table<TData>\r\n}\r\n\r\nexport function DataTableSortList<TData>({\r\n table,\r\n ...props\r\n}: DataTableSortListProps<TData>) {\r\n const id = React.useId()\r\n const labelId = React.useId()\r\n const descriptionId = React.useId()\r\n const [open, setOpen] = React.useState(false)\r\n const addButtonRef = React.useRef<HTMLButtonElement>(null)\r\n\r\n const sorting = table.getState().sorting\r\n const onSortingChange = table.setSorting\r\n\r\n const { columnLabels, columns } = React.useMemo(() => {\r\n const labels = new Map<string, string>()\r\n const sortingIds = new Set(sorting.map(s => s.id))\r\n const availableColumns: { id: string; label: string }[] = []\r\n\r\n for (const column of table.getAllColumns()) {\r\n if (!column.getCanSort()) continue\r\n\r\n const label = column.columnDef.meta?.label ?? column.id\r\n labels.set(column.id, label)\r\n\r\n if (!sortingIds.has(column.id)) {\r\n availableColumns.push({ id: column.id, label })\r\n }\r\n }\r\n\r\n return {\r\n columnLabels: labels,\r\n columns: availableColumns,\r\n }\r\n }, [sorting, table])\r\n\r\n const onSortAdd = React.useCallback(() => {\r\n const firstColumn = columns[0]\r\n if (!firstColumn) return\r\n\r\n onSortingChange(prevSorting => [\r\n ...prevSorting,\r\n { id: firstColumn.id, desc: false },\r\n ])\r\n }, [columns, onSortingChange])\r\n\r\n const onSortUpdate = React.useCallback(\r\n (sortId: string, updates: Partial<ColumnSort>) => {\r\n onSortingChange(prevSorting => {\r\n if (!prevSorting) return prevSorting\r\n return prevSorting.map(sort =>\r\n sort.id === sortId ? { ...sort, ...updates } : sort\r\n )\r\n })\r\n },\r\n [onSortingChange]\r\n )\r\n\r\n const onSortRemove = React.useCallback(\r\n (sortId: string) => {\r\n onSortingChange(prevSorting =>\r\n prevSorting.filter(item => item.id !== sortId)\r\n )\r\n },\r\n [onSortingChange]\r\n )\r\n\r\n const onSortingReset = React.useCallback(\r\n () => onSortingChange(table.initialState.sorting),\r\n [onSortingChange, table.initialState.sorting]\r\n )\r\n\r\n React.useEffect(() => {\r\n function onKeyDown(event: KeyboardEvent) {\r\n if (\r\n event.target instanceof HTMLInputElement ||\r\n event.target instanceof HTMLTextAreaElement\r\n ) {\r\n return\r\n }\r\n\r\n if (\r\n event.key.toLowerCase() === OPEN_MENU_SHORTCUT &&\r\n !event.ctrlKey &&\r\n !event.metaKey &&\r\n !event.shiftKey\r\n ) {\r\n event.preventDefault()\r\n setOpen(true)\r\n }\r\n\r\n if (\r\n event.key.toLowerCase() === OPEN_MENU_SHORTCUT &&\r\n event.shiftKey &&\r\n sorting.length > 0\r\n ) {\r\n event.preventDefault()\r\n onSortingReset()\r\n }\r\n }\r\n\r\n window.addEventListener('keydown', onKeyDown)\r\n return () => window.removeEventListener('keydown', onKeyDown)\r\n }, [sorting.length, onSortingReset])\r\n\r\n const onTriggerKeyDown = React.useCallback(\r\n (event: React.KeyboardEvent<HTMLButtonElement>) => {\r\n if (\r\n REMOVE_SORT_SHORTCUTS.includes(event.key.toLowerCase()) &&\r\n sorting.length > 0\r\n ) {\r\n event.preventDefault()\r\n onSortingReset()\r\n }\r\n },\r\n [sorting.length, onSortingReset]\r\n )\r\n\r\n return (\r\n <Sortable\r\n value={sorting}\r\n onValueChange={onSortingChange}\r\n getItemValue={item => item.id}\r\n >\r\n <Popover open={open} onOpenChange={setOpen}>\r\n <PopoverTrigger asChild>\r\n <Button variant=\"secondary\" size=\"xs\" onKeyDown={onTriggerKeyDown}>\r\n <ArrowsDownUp />\r\n Ordenar\r\n {sorting.length > 0 && (\r\n <Badge\r\n variant=\"secondary\"\r\n className=\"h-[18.24px] rounded-[3.2px] px-[5.12px] font-mono font-normal text-[10.4px]\"\r\n >\r\n {sorting.length}\r\n </Badge>\r\n )}\r\n </Button>\r\n </PopoverTrigger>\r\n <PopoverContent\r\n aria-labelledby={labelId}\r\n aria-describedby={descriptionId}\r\n className=\"flex w-full max-w-[var(--radix-popover-content-available-width)] origin-[var(--radix-popover-content-transform-origin)] flex-col gap-3.5 p-4 sm:min-w-[380px]\"\r\n {...props}\r\n >\r\n <div className=\"flex flex-col gap-1\">\r\n <h4 id={labelId} className=\"font-medium leading-none\">\r\n {sorting.length > 0\r\n ? 'Ordenar por'\r\n : 'Nenhuma ordenação aplicada'}\r\n </h4>\r\n <p\r\n id={descriptionId}\r\n className={cn(\r\n 'text-gray-500 text-sm',\r\n sorting.length > 0 && 'sr-only'\r\n )}\r\n >\r\n {sorting.length > 0\r\n ? 'Modifique a ordenação para organizar suas linhas.'\r\n : 'Adicione uma ordenação para organizar suas linhas.'}\r\n </p>\r\n </div>\r\n {sorting.length > 0 && (\r\n <SortableContent asChild>\r\n <div\r\n role=\"list\"\r\n className=\"flex max-h-[300px] flex-col gap-2 overflow-y-auto p-1\"\r\n >\r\n {sorting.map(sort => (\r\n <DataTableSortItem\r\n key={sort.id}\r\n sort={sort}\r\n sortItemId={`${id}-sort-${sort.id}`}\r\n columns={columns}\r\n columnLabels={columnLabels}\r\n onSortUpdate={onSortUpdate}\r\n onSortRemove={onSortRemove}\r\n />\r\n ))}\r\n </div>\r\n </SortableContent>\r\n )}\r\n <div className=\"flex w-full items-center gap-2\">\r\n <Button\r\n size=\"xs\"\r\n className=\"rounded\"\r\n ref={addButtonRef}\r\n onClick={onSortAdd}\r\n disabled={columns.length === 0}\r\n >\r\n Adicionar\r\n </Button>\r\n {sorting.length > 0 && (\r\n <Button\r\n variant=\"secondary\"\r\n size=\"xs\"\r\n className=\"rounded\"\r\n onClick={onSortingReset}\r\n >\r\n Resetar\r\n </Button>\r\n )}\r\n </div>\r\n </PopoverContent>\r\n </Popover>\r\n <SortableOverlay>\r\n <div className=\"flex items-center gap-2\">\r\n <div className=\"h-8 w-[180px] rounded-sm bg-primary/10\" />\r\n <div className=\"h-8 w-24 rounded-sm bg-primary/10\" />\r\n <div className=\"size-8 shrink-0 rounded-sm bg-primary/10\" />\r\n <div className=\"size-8 shrink-0 rounded-sm bg-primary/10\" />\r\n </div>\r\n </SortableOverlay>\r\n </Sortable>\r\n )\r\n}\r\n\r\ninterface DataTableSortItemProps {\r\n sort: ColumnSort\r\n sortItemId: string\r\n columns: { id: string; label: string }[]\r\n columnLabels: Map<string, string>\r\n onSortUpdate: (sortId: string, updates: Partial<ColumnSort>) => void\r\n onSortRemove: (sortId: string) => void\r\n}\r\n\r\nfunction DataTableSortItem({\r\n sort,\r\n sortItemId,\r\n columns,\r\n columnLabels,\r\n onSortUpdate,\r\n onSortRemove,\r\n}: DataTableSortItemProps) {\r\n const fieldListboxId = `${sortItemId}-field-listbox`\r\n const fieldTriggerId = `${sortItemId}-field-trigger`\r\n const directionListboxId = `${sortItemId}-direction-listbox`\r\n\r\n const [showFieldSelector, setShowFieldSelector] = React.useState(false)\r\n const [showDirectionSelector, setShowDirectionSelector] =\r\n React.useState(false)\r\n\r\n const onItemKeyDown = React.useCallback(\r\n (event: React.KeyboardEvent<HTMLDivElement>) => {\r\n if (\r\n event.target instanceof HTMLInputElement ||\r\n event.target instanceof HTMLTextAreaElement\r\n ) {\r\n return\r\n }\r\n\r\n if (showFieldSelector || showDirectionSelector) {\r\n return\r\n }\r\n\r\n if (REMOVE_SORT_SHORTCUTS.includes(event.key.toLowerCase())) {\r\n event.preventDefault()\r\n onSortRemove(sort.id)\r\n }\r\n },\r\n [sort.id, showFieldSelector, showDirectionSelector, onSortRemove]\r\n )\r\n\r\n return (\r\n <SortableItem value={sort.id} asChild>\r\n <div\r\n role=\"listitem\"\r\n id={sortItemId}\r\n tabIndex={-1}\r\n className=\"flex items-center gap-2\"\r\n onKeyDown={onItemKeyDown}\r\n >\r\n <Popover open={showFieldSelector} onOpenChange={setShowFieldSelector}>\r\n <PopoverTrigger asChild>\r\n <Button\r\n id={fieldTriggerId}\r\n role=\"combobox\"\r\n aria-controls={fieldListboxId}\r\n variant=\"secondary\"\r\n size=\"xs\"\r\n className=\"w-44 justify-between rounded font-normal\"\r\n >\r\n <span className=\"truncate\">{columnLabels.get(sort.id)}</span>\r\n <CaretUpDown className=\"opacity-50\" />\r\n </Button>\r\n </PopoverTrigger>\r\n <PopoverContent\r\n id={fieldListboxId}\r\n className=\"w-[var(--radix-popover-trigger-width)] origin-[var(--radix-popover-content-transform-origin)] p-0\"\r\n >\r\n <Command>\r\n <CommandInput placeholder=\"Buscar campo...\" />\r\n <CommandList>\r\n <CommandEmpty>Nenhum campo encontrado.</CommandEmpty>\r\n <CommandGroup>\r\n {columns.map(column => (\r\n <CommandItem\r\n key={column.id}\r\n value={column.id}\r\n onSelect={value => onSortUpdate(sort.id, { id: value })}\r\n >\r\n <span className=\"truncate\">{column.label}</span>\r\n </CommandItem>\r\n ))}\r\n </CommandGroup>\r\n </CommandList>\r\n </Command>\r\n </PopoverContent>\r\n </Popover>\r\n <Select\r\n open={showDirectionSelector}\r\n onOpenChange={setShowDirectionSelector}\r\n value={sort.desc ? 'desc' : 'asc'}\r\n onValueChange={(value: SortDirection) =>\r\n onSortUpdate(sort.id, { desc: value === 'desc' })\r\n }\r\n >\r\n <SelectTrigger\r\n aria-controls={directionListboxId}\r\n className=\"h-8 w-24 rounded [&[data-size]]:h-8\"\r\n >\r\n <SelectValue />\r\n </SelectTrigger>\r\n <SelectContent\r\n id={directionListboxId}\r\n className=\"min-w-[var(--radix-select-trigger-width)] origin-[var(--radix-select-content-transform-origin)]\"\r\n >\r\n {dataTableConfig.sortOrders.map(order => (\r\n <SelectItem key={order.value} value={order.value}>\r\n {order.label}\r\n </SelectItem>\r\n ))}\r\n </SelectContent>\r\n </Select>\r\n <Button\r\n aria-controls={sortItemId}\r\n variant=\"secondary\"\r\n size=\"icon\"\r\n className=\"size-8 shrink-0 rounded\"\r\n onClick={() => onSortRemove(sort.id)}\r\n >\r\n <Trash weight=\"bold\" />\r\n </Button>\r\n <SortableItemHandle asChild>\r\n <Button\r\n variant=\"secondary\"\r\n size=\"icon\"\r\n className=\"size-8 shrink-0 rounded\"\r\n >\r\n <DotsSixVertical weight=\"bold\" />\r\n </Button>\r\n </SortableItemHandle>\r\n </div>\r\n </SortableItem>\r\n )\r\n}\r\n"],"names":["OPEN_MENU_SHORTCUT","REMOVE_SORT_SHORTCUTS","DataTableSortList","table","props","id","React","labelId","descriptionId","open","setOpen","addButtonRef","sorting","onSortingChange","columnLabels","columns","labels","Map","sortingIds","Set","s","availableColumns","column","label","onSortAdd","firstColumn","prevSorting","onSortUpdate","sortId","updates","sort","onSortRemove","item","onSortingReset","onKeyDown","event","HTMLInputElement","HTMLTextAreaElement","window","onTriggerKeyDown","Sortable","Popover","PopoverTrigger","Button","ArrowsDownUp","Badge","PopoverContent","cn","SortableContent","DataTableSortItem","SortableOverlay","sortItemId","fieldListboxId","fieldTriggerId","directionListboxId","showFieldSelector","setShowFieldSelector","showDirectionSelector","setShowDirectionSelector","onItemKeyDown","SortableItem","CaretUpDown","Command","CommandInput","CommandList","CommandEmpty","CommandGroup","CommandItem","value","Select","SelectTrigger","SelectValue","SelectContent","dataTableConfig","order","SelectItem","Trash","SortableItemHandle","DotsSixVertical"],"mappings":"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"}
1
+ {"version":3,"file":"components\\data-table\\data-table-sort-list.cjs","sources":["webpack://@gbmtech/aurora-ui/./src/components/data-table/data-table-sort-list.tsx"],"sourcesContent":["\r\n\r\nimport {\r\n ArrowsDownUp,\r\n CaretUpDown,\r\n DotsSixVertical,\r\n Trash,\r\n} from '@phosphor-icons/react'\r\nimport type { ColumnSort, SortDirection, Table } from '@tanstack/react-table'\r\nimport * as React from 'react'\r\n\r\nimport { Badge } from '@/components/badge'\r\nimport { Button } from '@/components/button'\r\nimport {\r\n Command,\r\n CommandEmpty,\r\n CommandGroup,\r\n CommandInput,\r\n CommandItem,\r\n CommandList,\r\n} from '@/components/command'\r\nimport { Popover, PopoverContent, PopoverTrigger } from '@/components/popover'\r\nimport {\r\n Select,\r\n SelectContent,\r\n SelectItem,\r\n SelectTrigger,\r\n SelectValue,\r\n} from '@/components/select'\r\nimport {\r\n Sortable,\r\n SortableContent,\r\n SortableItem,\r\n SortableItemHandle,\r\n SortableOverlay,\r\n} from '@/components/sortable'\r\nimport { dataTableConfig } from '@/lib/data-table-config'\r\nimport { cn } from '@/lib/utils'\r\n\r\nconst OPEN_MENU_SHORTCUT = 's'\r\nconst REMOVE_SORT_SHORTCUTS = ['backspace', 'delete']\r\n\r\ninterface DataTableSortListProps<TData>\r\n extends React.ComponentProps<typeof PopoverContent> {\r\n table: Table<TData>\r\n}\r\n\r\nexport function DataTableSortList<TData>({\r\n table,\r\n ...props\r\n}: DataTableSortListProps<TData>) {\r\n const id = React.useId()\r\n const labelId = React.useId()\r\n const descriptionId = React.useId()\r\n const [open, setOpen] = React.useState(false)\r\n const addButtonRef = React.useRef<HTMLButtonElement>(null)\r\n\r\n const sorting = table.getState().sorting\r\n const onSortingChange = table.setSorting\r\n\r\n const { columnLabels, columns } = React.useMemo(() => {\r\n const labels = new Map<string, string>()\r\n const sortingIds = new Set(sorting.map(s => s.id))\r\n const availableColumns: { id: string; label: string }[] = []\r\n\r\n for (const column of table.getAllColumns()) {\r\n if (!column.getCanSort()) continue\r\n\r\n const label = column.columnDef.meta?.label ?? column.id\r\n labels.set(column.id, label)\r\n\r\n if (!sortingIds.has(column.id)) {\r\n availableColumns.push({ id: column.id, label })\r\n }\r\n }\r\n\r\n return {\r\n columnLabels: labels,\r\n columns: availableColumns,\r\n }\r\n }, [sorting, table])\r\n\r\n const onSortAdd = React.useCallback(() => {\r\n const firstColumn = columns[0]\r\n if (!firstColumn) return\r\n\r\n onSortingChange(prevSorting => [\r\n ...prevSorting,\r\n { id: firstColumn.id, desc: false },\r\n ])\r\n }, [columns, onSortingChange])\r\n\r\n const onSortUpdate = React.useCallback(\r\n (sortId: string, updates: Partial<ColumnSort>) => {\r\n onSortingChange(prevSorting => {\r\n if (!prevSorting) return prevSorting\r\n return prevSorting.map(sort =>\r\n sort.id === sortId ? { ...sort, ...updates } : sort\r\n )\r\n })\r\n },\r\n [onSortingChange]\r\n )\r\n\r\n const onSortRemove = React.useCallback(\r\n (sortId: string) => {\r\n onSortingChange(prevSorting =>\r\n prevSorting.filter(item => item.id !== sortId)\r\n )\r\n },\r\n [onSortingChange]\r\n )\r\n\r\n const onSortingReset = React.useCallback(\r\n () => onSortingChange(table.initialState.sorting),\r\n [onSortingChange, table.initialState.sorting]\r\n )\r\n\r\n React.useEffect(() => {\r\n function onKeyDown(event: KeyboardEvent) {\r\n if (\r\n event.target instanceof HTMLInputElement ||\r\n event.target instanceof HTMLTextAreaElement\r\n ) {\r\n return\r\n }\r\n\r\n if (\r\n event.key.toLowerCase() === OPEN_MENU_SHORTCUT &&\r\n !event.ctrlKey &&\r\n !event.metaKey &&\r\n !event.shiftKey\r\n ) {\r\n event.preventDefault()\r\n setOpen(true)\r\n }\r\n\r\n if (\r\n event.key.toLowerCase() === OPEN_MENU_SHORTCUT &&\r\n event.shiftKey &&\r\n sorting.length > 0\r\n ) {\r\n event.preventDefault()\r\n onSortingReset()\r\n }\r\n }\r\n\r\n window.addEventListener('keydown', onKeyDown)\r\n return () => window.removeEventListener('keydown', onKeyDown)\r\n }, [sorting.length, onSortingReset])\r\n\r\n const onTriggerKeyDown = React.useCallback(\r\n (event: React.KeyboardEvent<HTMLButtonElement>) => {\r\n if (\r\n REMOVE_SORT_SHORTCUTS.includes(event.key.toLowerCase()) &&\r\n sorting.length > 0\r\n ) {\r\n event.preventDefault()\r\n onSortingReset()\r\n }\r\n },\r\n [sorting.length, onSortingReset]\r\n )\r\n\r\n return (\r\n <Sortable\r\n value={sorting}\r\n onValueChange={onSortingChange}\r\n getItemValue={item => item.id}\r\n >\r\n <Popover open={open} onOpenChange={setOpen}>\r\n <PopoverTrigger asChild>\r\n <Button variant=\"secondary\" size=\"sm\" onKeyDown={onTriggerKeyDown}>\r\n <ArrowsDownUp />\r\n Ordenar\r\n {sorting.length > 0 && (\r\n <Badge\r\n variant=\"secondary\"\r\n className=\"h-[18.24px] rounded-[3.2px] px-[5.12px] font-mono font-normal text-[10.4px]\"\r\n >\r\n {sorting.length}\r\n </Badge>\r\n )}\r\n </Button>\r\n </PopoverTrigger>\r\n <PopoverContent\r\n aria-labelledby={labelId}\r\n aria-describedby={descriptionId}\r\n className=\"flex w-full max-w-[var(--radix-popover-content-available-width)] origin-[var(--radix-popover-content-transform-origin)] flex-col gap-3.5 p-4 sm:min-w-[380px]\"\r\n {...props}\r\n >\r\n <div className=\"flex flex-col gap-1\">\r\n <h4 id={labelId} className=\"font-medium leading-none\">\r\n {sorting.length > 0\r\n ? 'Ordenar por'\r\n : 'Nenhuma ordenação aplicada'}\r\n </h4>\r\n <p\r\n id={descriptionId}\r\n className={cn(\r\n 'text-gray-500 text-sm',\r\n sorting.length > 0 && 'sr-only'\r\n )}\r\n >\r\n {sorting.length > 0\r\n ? 'Modifique a ordenação para organizar suas linhas.'\r\n : 'Adicione uma ordenação para organizar suas linhas.'}\r\n </p>\r\n </div>\r\n {sorting.length > 0 && (\r\n <SortableContent asChild>\r\n <div\r\n role=\"list\"\r\n className=\"flex max-h-[300px] flex-col gap-2 overflow-y-auto p-1\"\r\n >\r\n {sorting.map(sort => (\r\n <DataTableSortItem\r\n key={sort.id}\r\n sort={sort}\r\n sortItemId={`${id}-sort-${sort.id}`}\r\n columns={columns}\r\n columnLabels={columnLabels}\r\n onSortUpdate={onSortUpdate}\r\n onSortRemove={onSortRemove}\r\n />\r\n ))}\r\n </div>\r\n </SortableContent>\r\n )}\r\n <div className=\"flex w-full items-center gap-2\">\r\n <Button\r\n size=\"sm\"\r\n className=\"rounded\"\r\n ref={addButtonRef}\r\n onClick={onSortAdd}\r\n disabled={columns.length === 0}\r\n >\r\n Adicionar\r\n </Button>\r\n {sorting.length > 0 && (\r\n <Button\r\n variant=\"secondary\"\r\n size=\"sm\"\r\n className=\"rounded\"\r\n onClick={onSortingReset}\r\n >\r\n Resetar\r\n </Button>\r\n )}\r\n </div>\r\n </PopoverContent>\r\n </Popover>\r\n <SortableOverlay>\r\n <div className=\"flex items-center gap-2\">\r\n <div className=\"h-10 w-[180px] rounded-sm bg-primary/10\" />\r\n <div className=\"h-10 w-24 rounded-sm bg-primary/10\" />\r\n <div className=\"size-8 shrink-0 rounded-sm bg-primary/10\" />\r\n <div className=\"size-8 shrink-0 rounded-sm bg-primary/10\" />\r\n </div>\r\n </SortableOverlay>\r\n </Sortable>\r\n )\r\n}\r\n\r\ninterface DataTableSortItemProps {\r\n sort: ColumnSort\r\n sortItemId: string\r\n columns: { id: string; label: string }[]\r\n columnLabels: Map<string, string>\r\n onSortUpdate: (sortId: string, updates: Partial<ColumnSort>) => void\r\n onSortRemove: (sortId: string) => void\r\n}\r\n\r\nfunction DataTableSortItem({\r\n sort,\r\n sortItemId,\r\n columns,\r\n columnLabels,\r\n onSortUpdate,\r\n onSortRemove,\r\n}: DataTableSortItemProps) {\r\n const fieldListboxId = `${sortItemId}-field-listbox`\r\n const fieldTriggerId = `${sortItemId}-field-trigger`\r\n const directionListboxId = `${sortItemId}-direction-listbox`\r\n\r\n const [showFieldSelector, setShowFieldSelector] = React.useState(false)\r\n const [showDirectionSelector, setShowDirectionSelector] =\r\n React.useState(false)\r\n\r\n const onItemKeyDown = React.useCallback(\r\n (event: React.KeyboardEvent<HTMLDivElement>) => {\r\n if (\r\n event.target instanceof HTMLInputElement ||\r\n event.target instanceof HTMLTextAreaElement\r\n ) {\r\n return\r\n }\r\n\r\n if (showFieldSelector || showDirectionSelector) {\r\n return\r\n }\r\n\r\n if (REMOVE_SORT_SHORTCUTS.includes(event.key.toLowerCase())) {\r\n event.preventDefault()\r\n onSortRemove(sort.id)\r\n }\r\n },\r\n [sort.id, showFieldSelector, showDirectionSelector, onSortRemove]\r\n )\r\n\r\n return (\r\n <SortableItem value={sort.id} asChild>\r\n <div\r\n role=\"listitem\"\r\n id={sortItemId}\r\n tabIndex={-1}\r\n className=\"flex items-center gap-2\"\r\n onKeyDown={onItemKeyDown}\r\n >\r\n <Popover open={showFieldSelector} onOpenChange={setShowFieldSelector}>\r\n <PopoverTrigger asChild>\r\n <Button\r\n id={fieldTriggerId}\r\n role=\"combobox\"\r\n aria-controls={fieldListboxId}\r\n variant=\"secondary\"\r\n size=\"sm\"\r\n className=\"w-44 justify-between rounded font-normal\"\r\n >\r\n <span className=\"truncate\">{columnLabels.get(sort.id)}</span>\r\n <CaretUpDown className=\"opacity-50\" />\r\n </Button>\r\n </PopoverTrigger>\r\n <PopoverContent\r\n id={fieldListboxId}\r\n className=\"w-[var(--radix-popover-trigger-width)] origin-[var(--radix-popover-content-transform-origin)] p-0\"\r\n >\r\n <Command>\r\n <CommandInput placeholder=\"Buscar campo...\" />\r\n <CommandList>\r\n <CommandEmpty>Nenhum campo encontrado.</CommandEmpty>\r\n <CommandGroup>\r\n {columns.map(column => (\r\n <CommandItem\r\n key={column.id}\r\n value={column.id}\r\n onSelect={value => onSortUpdate(sort.id, { id: value })}\r\n >\r\n <span className=\"truncate\">{column.label}</span>\r\n </CommandItem>\r\n ))}\r\n </CommandGroup>\r\n </CommandList>\r\n </Command>\r\n </PopoverContent>\r\n </Popover>\r\n <Select\r\n open={showDirectionSelector}\r\n onOpenChange={setShowDirectionSelector}\r\n value={sort.desc ? 'desc' : 'asc'}\r\n onValueChange={(value: SortDirection) =>\r\n onSortUpdate(sort.id, { desc: value === 'desc' })\r\n }\r\n >\r\n <SelectTrigger\r\n aria-controls={directionListboxId}\r\n className=\"h-10 w-24 rounded [&[data-size]]:h-10\"\r\n >\r\n <SelectValue />\r\n </SelectTrigger>\r\n <SelectContent\r\n id={directionListboxId}\r\n className=\"min-w-[var(--radix-select-trigger-width)] origin-[var(--radix-select-content-transform-origin)]\"\r\n >\r\n {dataTableConfig.sortOrders.map(order => (\r\n <SelectItem key={order.value} value={order.value}>\r\n {order.label}\r\n </SelectItem>\r\n ))}\r\n </SelectContent>\r\n </Select>\r\n <Button\r\n aria-controls={sortItemId}\r\n variant=\"secondary\"\r\n size=\"icon\"\r\n className=\"size-10 shrink-0 rounded\"\r\n onClick={() => onSortRemove(sort.id)}\r\n >\r\n <Trash weight=\"bold\" />\r\n </Button>\r\n <SortableItemHandle asChild>\r\n <Button\r\n variant=\"secondary\"\r\n size=\"icon\"\r\n className=\"size-10 shrink-0 rounded\"\r\n >\r\n <DotsSixVertical weight=\"bold\" />\r\n </Button>\r\n </SortableItemHandle>\r\n </div>\r\n </SortableItem>\r\n )\r\n}\r\n"],"names":["OPEN_MENU_SHORTCUT","REMOVE_SORT_SHORTCUTS","DataTableSortList","table","props","id","React","labelId","descriptionId","open","setOpen","addButtonRef","sorting","onSortingChange","columnLabels","columns","labels","Map","sortingIds","Set","s","availableColumns","column","label","onSortAdd","firstColumn","prevSorting","onSortUpdate","sortId","updates","sort","onSortRemove","item","onSortingReset","onKeyDown","event","HTMLInputElement","HTMLTextAreaElement","window","onTriggerKeyDown","Sortable","Popover","PopoverTrigger","Button","ArrowsDownUp","Badge","PopoverContent","cn","SortableContent","DataTableSortItem","SortableOverlay","sortItemId","fieldListboxId","fieldTriggerId","directionListboxId","showFieldSelector","setShowFieldSelector","showDirectionSelector","setShowDirectionSelector","onItemKeyDown","SortableItem","CaretUpDown","Command","CommandInput","CommandList","CommandEmpty","CommandGroup","CommandItem","value","Select","SelectTrigger","SelectValue","SelectContent","dataTableConfig","order","SelectItem","Trash","SortableItemHandle","DotsSixVertical"],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  'use client'
2
- "use strict";let __rslib_import_meta_url__="undefined"==typeof document?new(require("url".replace("",""))).URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href;var __webpack_require__={};__webpack_require__.d=(e,a)=>{for(var t in a)__webpack_require__.o(a,t)&&!__webpack_require__.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:a[t]})},__webpack_require__.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__={};__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{DataTableToolbar:()=>DataTableToolbar});let jsx_runtime_namespaceObject=require("react/jsx-runtime"),react_namespaceObject=require("@phosphor-icons/react"),external_react_namespaceObject=require("react"),external_button_cjs_namespaceObject=require("../button.cjs"),external_data_table_date_filter_cjs_namespaceObject=require("./data-table-date-filter.cjs"),external_data_table_faceted_filter_cjs_namespaceObject=require("./data-table-faceted-filter.cjs"),external_data_table_slider_filter_cjs_namespaceObject=require("./data-table-slider-filter.cjs"),external_data_table_view_options_cjs_namespaceObject=require("./data-table-view-options.cjs"),external_input_cjs_namespaceObject=require("../input.cjs"),utils_cjs_namespaceObject=require("../../lib/utils.cjs");function DataTableToolbar({table:e,children:a,className:t,...r}){let _=e.getState().columnFilters.length>0,c=external_react_namespaceObject.useMemo(()=>e.getAllColumns().filter(e=>e.getCanFilter()),[e]),l=external_react_namespaceObject.useCallback(()=>{e.resetColumnFilters()},[e]);return(0,jsx_runtime_namespaceObject.jsxs)("div",{role:"toolbar","aria-orientation":"horizontal",className:(0,utils_cjs_namespaceObject.cn)("flex w-full items-start justify-between gap-2 p-1",t),...r,children:[(0,jsx_runtime_namespaceObject.jsxs)("div",{className:"flex flex-1 flex-wrap items-center gap-2",children:[c.map(e=>(0,jsx_runtime_namespaceObject.jsx)(DataTableToolbarFilter,{column:e},e.id)),_&&(0,jsx_runtime_namespaceObject.jsxs)(external_button_cjs_namespaceObject.Button,{"aria-label":"Reset filters",variant:"secondary",size:"xs",onClick:l,children:[(0,jsx_runtime_namespaceObject.jsx)(react_namespaceObject.X,{}),"Limpar"]})]}),(0,jsx_runtime_namespaceObject.jsxs)("div",{className:"flex items-center gap-2",children:[a,(0,jsx_runtime_namespaceObject.jsx)(external_data_table_view_options_cjs_namespaceObject.DataTableViewOptions,{table:e})]})]})}function DataTableToolbarFilter({column:e}){{let a=e.columnDef.meta;return external_react_namespaceObject.useCallback(()=>{if(!a?.variant)return null;switch(a.variant){case"text":return(0,jsx_runtime_namespaceObject.jsx)(external_input_cjs_namespaceObject.Input,{placeholder:a.placeholder??a.label,value:e.getFilterValue()??"",onChange:a=>e.setFilterValue(a.target.value),className:"h-8 w-40 lg:w-56",classNames:{input:"text-sm"}});case"number":return(0,jsx_runtime_namespaceObject.jsxs)("div",{className:"relative",children:[(0,jsx_runtime_namespaceObject.jsx)(external_input_cjs_namespaceObject.Input,{type:"number",inputMode:"numeric",placeholder:a.placeholder??a.label,value:e.getFilterValue()??"",onChange:a=>e.setFilterValue(a.target.value),className:(0,utils_cjs_namespaceObject.cn)("h-8 w-[120px]",a.unit&&"pr-8"),classNames:{input:"text-sm"}}),a.unit&&(0,jsx_runtime_namespaceObject.jsx)("span",{className:"absolute top-0 right-0 bottom-0 flex items-center rounded-r-md bg-accent px-2 text-muted-foreground text-sm",children:a.unit})]});case"range":return(0,jsx_runtime_namespaceObject.jsx)(external_data_table_slider_filter_cjs_namespaceObject.DataTableSliderFilter,{column:e,title:a.label??e.id});case"date":case"dateRange":return(0,jsx_runtime_namespaceObject.jsx)(external_data_table_date_filter_cjs_namespaceObject.DataTableDateFilter,{column:e,title:a.label??e.id,multiple:"dateRange"===a.variant});case"select":case"multiSelect":return(0,jsx_runtime_namespaceObject.jsx)(external_data_table_faceted_filter_cjs_namespaceObject.DataTableFacetedFilter,{column:e,title:a.label??e.id,options:a.options??[],multiple:"multiSelect"===a.variant});default:return null}},[e,a])()}}for(var __webpack_i__ in exports.DataTableToolbar=__webpack_exports__.DataTableToolbar,__webpack_exports__)-1===["DataTableToolbar"].indexOf(__webpack_i__)&&(exports[__webpack_i__]=__webpack_exports__[__webpack_i__]);Object.defineProperty(exports,"__esModule",{value:!0});
2
+ "use strict";let __rslib_import_meta_url__="undefined"==typeof document?new(require("url".replace("",""))).URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href;var __webpack_require__={};__webpack_require__.d=(e,a)=>{for(var t in a)__webpack_require__.o(a,t)&&!__webpack_require__.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:a[t]})},__webpack_require__.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__={};__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{DataTableToolbar:()=>DataTableToolbar});let jsx_runtime_namespaceObject=require("react/jsx-runtime"),react_namespaceObject=require("@phosphor-icons/react"),external_react_namespaceObject=require("react"),external_button_cjs_namespaceObject=require("../button.cjs"),external_data_table_date_filter_cjs_namespaceObject=require("./data-table-date-filter.cjs"),external_data_table_faceted_filter_cjs_namespaceObject=require("./data-table-faceted-filter.cjs"),external_data_table_slider_filter_cjs_namespaceObject=require("./data-table-slider-filter.cjs"),external_data_table_view_options_cjs_namespaceObject=require("./data-table-view-options.cjs"),external_input_cjs_namespaceObject=require("../input.cjs"),utils_cjs_namespaceObject=require("../../lib/utils.cjs");function DataTableToolbar({table:e,children:a,className:t,...r}){let _=e.getState().columnFilters.length>0,c=external_react_namespaceObject.useMemo(()=>e.getAllColumns().filter(e=>e.getCanFilter()),[e]),l=external_react_namespaceObject.useCallback(()=>{e.resetColumnFilters()},[e]);return(0,jsx_runtime_namespaceObject.jsxs)("div",{role:"toolbar","aria-orientation":"horizontal",className:(0,utils_cjs_namespaceObject.cn)("flex w-full items-start justify-between gap-2 p-1",t),...r,children:[(0,jsx_runtime_namespaceObject.jsxs)("div",{className:"flex flex-1 flex-wrap items-center gap-2",children:[c.map(e=>(0,jsx_runtime_namespaceObject.jsx)(DataTableToolbarFilter,{column:e},e.id)),_&&(0,jsx_runtime_namespaceObject.jsxs)(external_button_cjs_namespaceObject.Button,{"aria-label":"Reset filters",variant:"secondary",size:"sm",onClick:l,children:[(0,jsx_runtime_namespaceObject.jsx)(react_namespaceObject.X,{}),"Limpar"]})]}),(0,jsx_runtime_namespaceObject.jsxs)("div",{className:"flex items-center gap-2",children:[a,(0,jsx_runtime_namespaceObject.jsx)(external_data_table_view_options_cjs_namespaceObject.DataTableViewOptions,{table:e})]})]})}function DataTableToolbarFilter({column:e}){{let a=e.columnDef.meta;return external_react_namespaceObject.useCallback(()=>{if(!a?.variant)return null;switch(a.variant){case"text":return(0,jsx_runtime_namespaceObject.jsx)(external_input_cjs_namespaceObject.Input,{placeholder:a.placeholder??a.label,value:e.getFilterValue()??"",onChange:a=>e.setFilterValue(a.target.value),className:"h-10 w-40 lg:w-56",classNames:{input:"text-sm"}});case"number":return(0,jsx_runtime_namespaceObject.jsxs)("div",{className:"relative",children:[(0,jsx_runtime_namespaceObject.jsx)(external_input_cjs_namespaceObject.Input,{type:"number",inputMode:"numeric",placeholder:a.placeholder??a.label,value:e.getFilterValue()??"",onChange:a=>e.setFilterValue(a.target.value),className:(0,utils_cjs_namespaceObject.cn)("h-10 w-[120px]",a.unit&&"pr-8"),classNames:{input:"text-sm"}}),a.unit&&(0,jsx_runtime_namespaceObject.jsx)("span",{className:"absolute top-0 right-0 bottom-0 flex items-center rounded-r-md bg-accent px-2 text-muted-foreground text-sm",children:a.unit})]});case"range":return(0,jsx_runtime_namespaceObject.jsx)(external_data_table_slider_filter_cjs_namespaceObject.DataTableSliderFilter,{column:e,title:a.label??e.id});case"date":case"dateRange":return(0,jsx_runtime_namespaceObject.jsx)(external_data_table_date_filter_cjs_namespaceObject.DataTableDateFilter,{column:e,title:a.label??e.id,multiple:"dateRange"===a.variant});case"select":case"multiSelect":return(0,jsx_runtime_namespaceObject.jsx)(external_data_table_faceted_filter_cjs_namespaceObject.DataTableFacetedFilter,{column:e,title:a.label??e.id,options:a.options??[],multiple:"multiSelect"===a.variant});default:return null}},[e,a])()}}for(var __webpack_i__ in exports.DataTableToolbar=__webpack_exports__.DataTableToolbar,__webpack_exports__)-1===["DataTableToolbar"].indexOf(__webpack_i__)&&(exports[__webpack_i__]=__webpack_exports__[__webpack_i__]);Object.defineProperty(exports,"__esModule",{value:!0});
3
3
  //# sourceMappingURL=data-table-toolbar.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"components\\data-table\\data-table-toolbar.cjs","sources":["webpack://@gbmtech/aurora-ui/./src/components/data-table/data-table-toolbar.tsx"],"sourcesContent":["\r\n\r\nimport { X } from '@phosphor-icons/react'\r\nimport type { Column, Table } from '@tanstack/react-table'\r\nimport * as React from 'react'\r\n\r\nimport { Button } from '@/components/button'\r\nimport { DataTableDateFilter } from '@/components/data-table/data-table-date-filter'\r\nimport { DataTableFacetedFilter } from '@/components/data-table/data-table-faceted-filter'\r\nimport { DataTableSliderFilter } from '@/components/data-table/data-table-slider-filter'\r\nimport { DataTableViewOptions } from '@/components/data-table/data-table-view-options'\r\nimport { Input } from '@/components/input'\r\nimport { cn } from '@/lib/utils'\r\n\r\ninterface DataTableToolbarProps<TData> extends React.ComponentProps<'div'> {\r\n table: Table<TData>\r\n}\r\n\r\nexport function DataTableToolbar<TData>({\r\n table,\r\n children,\r\n className,\r\n ...props\r\n}: DataTableToolbarProps<TData>) {\r\n const isFiltered = table.getState().columnFilters.length > 0\r\n\r\n const columns = React.useMemo(\r\n () => table.getAllColumns().filter(column => column.getCanFilter()),\r\n [table]\r\n )\r\n\r\n const onReset = React.useCallback(() => {\r\n table.resetColumnFilters()\r\n }, [table])\r\n\r\n return (\r\n <div\r\n role=\"toolbar\"\r\n aria-orientation=\"horizontal\"\r\n className={cn(\r\n 'flex w-full items-start justify-between gap-2 p-1',\r\n className\r\n )}\r\n {...props}\r\n >\r\n <div className=\"flex flex-1 flex-wrap items-center gap-2\">\r\n {columns.map(column => (\r\n <DataTableToolbarFilter key={column.id} column={column} />\r\n ))}\r\n {isFiltered && (\r\n <Button\r\n aria-label=\"Reset filters\"\r\n variant=\"secondary\"\r\n size=\"xs\"\r\n onClick={onReset}\r\n >\r\n <X />\r\n Limpar\r\n </Button>\r\n )}\r\n </div>\r\n <div className=\"flex items-center gap-2\">\r\n {children}\r\n <DataTableViewOptions table={table} />\r\n </div>\r\n </div>\r\n )\r\n}\r\ninterface DataTableToolbarFilterProps<TData> {\r\n column: Column<TData>\r\n}\r\n\r\nfunction DataTableToolbarFilter<TData>({\r\n column,\r\n}: DataTableToolbarFilterProps<TData>) {\r\n {\r\n const columnMeta = column.columnDef.meta\r\n\r\n const onFilterRender = React.useCallback(() => {\r\n if (!columnMeta?.variant) return null\r\n\r\n switch (columnMeta.variant) {\r\n case 'text':\r\n return (\r\n <Input\r\n placeholder={columnMeta.placeholder ?? columnMeta.label}\r\n value={(column.getFilterValue() as string) ?? ''}\r\n onChange={event => column.setFilterValue(event.target.value)}\r\n className=\"h-8 w-40 lg:w-56\"\r\n classNames={{\r\n input: 'text-sm',\r\n }}\r\n />\r\n )\r\n\r\n case 'number':\r\n return (\r\n <div className=\"relative\">\r\n <Input\r\n type=\"number\"\r\n inputMode=\"numeric\"\r\n placeholder={columnMeta.placeholder ?? columnMeta.label}\r\n value={(column.getFilterValue() as string) ?? ''}\r\n onChange={event => column.setFilterValue(event.target.value)}\r\n className={cn('h-8 w-[120px]', columnMeta.unit && 'pr-8')}\r\n classNames={{\r\n input: 'text-sm',\r\n }}\r\n />\r\n {columnMeta.unit && (\r\n <span className=\"absolute top-0 right-0 bottom-0 flex items-center rounded-r-md bg-accent px-2 text-muted-foreground text-sm\">\r\n {columnMeta.unit}\r\n </span>\r\n )}\r\n </div>\r\n )\r\n\r\n case 'range':\r\n return (\r\n <DataTableSliderFilter\r\n column={column}\r\n title={columnMeta.label ?? column.id}\r\n />\r\n )\r\n\r\n case 'date':\r\n case 'dateRange':\r\n return (\r\n <DataTableDateFilter\r\n column={column}\r\n title={columnMeta.label ?? column.id}\r\n multiple={columnMeta.variant === 'dateRange'}\r\n />\r\n )\r\n\r\n case 'select':\r\n case 'multiSelect':\r\n return (\r\n <DataTableFacetedFilter\r\n column={column}\r\n title={columnMeta.label ?? column.id}\r\n options={columnMeta.options ?? []}\r\n multiple={columnMeta.variant === 'multiSelect'}\r\n />\r\n )\r\n\r\n default:\r\n return null\r\n }\r\n }, [column, columnMeta])\r\n\r\n return onFilterRender()\r\n }\r\n}\r\n"],"names":["DataTableToolbar","table","children","className","props","isFiltered","columns","React","column","onReset","cn","DataTableToolbarFilter","Button","X","DataTableViewOptions","columnMeta","onFilterRender","Input","event","DataTableSliderFilter","DataTableDateFilter","DataTableFacetedFilter"],"mappings":";qgDAkBO,SAASA,iBAAwB,CACtCC,MAAAA,CAAK,CACLC,SAAAA,CAAQ,CACRC,UAAAA,CAAS,CACT,GAAGC,EAC0B,EAC7B,IAAMC,EAAaJ,EAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAG,EAErDK,EAAUC,+BAAAA,OAAa,CAC3B,IAAMN,EAAM,aAAa,GAAG,MAAM,CAACO,GAAUA,EAAO,YAAY,IAChE,CAACP,EAAM,EAGHQ,EAAUF,+BAAAA,WAAiB,CAAC,KAChCN,EAAM,kBAAkB,EAC1B,EAAG,CAACA,EAAM,EAEV,MACE,qCAAC,OACC,KAAK,UACL,mBAAiB,aACjB,UAAWS,GAAAA,0BAAAA,EAAAA,EACT,oDACAP,GAED,GAAGC,CAAK,C,UAET,qCAAC,OAAI,UAAU,2C,UACZE,EAAQ,GAAG,CAACE,GACX,oCAACG,uBAAAA,CAAuC,OAAQH,C,EAAnBA,EAAO,EAAE,GAEvCH,GACC,qCAACO,oCAAAA,MAAMA,CAAAA,CACL,aAAW,gBACX,QAAQ,YACR,KAAK,KACL,QAASH,E,UAET,oCAACI,sBAAAA,CAACA,CAAAA,CAAAA,GAAG,S,MAKX,qCAAC,OAAI,UAAU,0B,UACZX,EACD,oCAACY,qDAAAA,oBAAoBA,CAAAA,CAAC,MAAOb,C,QAIrC,CAKA,SAASU,uBAA8B,CACrCH,OAAAA,CAAM,CAC6B,EACnC,CACE,IAAMO,EAAaP,EAAO,SAAS,CAAC,IAAI,CA2ExC,OAAOQ,+BAzEgBT,WAAiB,CAAC,KACvC,GAAI,CAACQ,GAAY,QAAS,OAAO,KAEjC,OAAQA,EAAW,OAAO,EACxB,IAAK,OACH,MACE,oCAACE,mCAAAA,KAAKA,CAAAA,CACJ,YAAaF,EAAW,WAAW,EAAIA,EAAW,KAAK,CACvD,MAAQP,EAAO,cAAc,IAAiB,GAC9C,SAAUU,GAASV,EAAO,cAAc,CAACU,EAAM,MAAM,CAAC,KAAK,EAC3D,UAAU,mBACV,WAAY,CACV,MAAO,SACT,C,EAIN,KAAK,SACH,MACE,qCAAC,OAAI,UAAU,W,UACb,oCAACD,mCAAAA,KAAKA,CAAAA,CACJ,KAAK,SACL,UAAU,UACV,YAAaF,EAAW,WAAW,EAAIA,EAAW,KAAK,CACvD,MAAQP,EAAO,cAAc,IAAiB,GAC9C,SAAUU,GAASV,EAAO,cAAc,CAACU,EAAM,MAAM,CAAC,KAAK,EAC3D,UAAWR,GAAAA,0BAAAA,EAAAA,EAAG,gBAAiBK,EAAW,IAAI,EAAI,QAClD,WAAY,CACV,MAAO,SACT,C,GAEDA,EAAW,IAAI,EACd,oCAAC,QAAK,UAAU,8G,SACbA,EAAW,IAAI,KAM1B,KAAK,QACH,MACE,oCAACI,sDAAAA,qBAAqBA,CAAAA,CACpB,OAAQX,EACR,MAAOO,EAAW,KAAK,EAAIP,EAAO,EAAE,EAI1C,KAAK,OACL,IAAK,YACH,MACE,oCAACY,oDAAAA,mBAAmBA,CAAAA,CAClB,OAAQZ,EACR,MAAOO,EAAW,KAAK,EAAIP,EAAO,EAAE,CACpC,SAAUO,cAAAA,EAAW,OAAO,EAIlC,KAAK,SACL,IAAK,cACH,MACE,oCAACM,uDAAAA,sBAAsBA,CAAAA,CACrB,OAAQb,EACR,MAAOO,EAAW,KAAK,EAAIP,EAAO,EAAE,CACpC,QAASO,EAAW,OAAO,EAAI,EAAE,CACjC,SAAUA,gBAAAA,EAAW,OAAO,EAIlC,SACE,OAAO,IACX,CACF,EAAG,CAACP,EAAQO,EAAW,GAGzB,CACF,C"}
1
+ {"version":3,"file":"components\\data-table\\data-table-toolbar.cjs","sources":["webpack://@gbmtech/aurora-ui/./src/components/data-table/data-table-toolbar.tsx"],"sourcesContent":["\r\n\r\nimport { X } from '@phosphor-icons/react'\r\nimport type { Column, Table } from '@tanstack/react-table'\r\nimport * as React from 'react'\r\n\r\nimport { Button } from '@/components/button'\r\nimport { DataTableDateFilter } from '@/components/data-table/data-table-date-filter'\r\nimport { DataTableFacetedFilter } from '@/components/data-table/data-table-faceted-filter'\r\nimport { DataTableSliderFilter } from '@/components/data-table/data-table-slider-filter'\r\nimport { DataTableViewOptions } from '@/components/data-table/data-table-view-options'\r\nimport { Input } from '@/components/input'\r\nimport { cn } from '@/lib/utils'\r\n\r\ninterface DataTableToolbarProps<TData> extends React.ComponentProps<'div'> {\r\n table: Table<TData>\r\n}\r\n\r\nexport function DataTableToolbar<TData>({\r\n table,\r\n children,\r\n className,\r\n ...props\r\n}: DataTableToolbarProps<TData>) {\r\n const isFiltered = table.getState().columnFilters.length > 0\r\n\r\n const columns = React.useMemo(\r\n () => table.getAllColumns().filter(column => column.getCanFilter()),\r\n [table]\r\n )\r\n\r\n const onReset = React.useCallback(() => {\r\n table.resetColumnFilters()\r\n }, [table])\r\n\r\n return (\r\n <div\r\n role=\"toolbar\"\r\n aria-orientation=\"horizontal\"\r\n className={cn(\r\n 'flex w-full items-start justify-between gap-2 p-1',\r\n className\r\n )}\r\n {...props}\r\n >\r\n <div className=\"flex flex-1 flex-wrap items-center gap-2\">\r\n {columns.map(column => (\r\n <DataTableToolbarFilter key={column.id} column={column} />\r\n ))}\r\n {isFiltered && (\r\n <Button\r\n aria-label=\"Reset filters\"\r\n variant=\"secondary\"\r\n size=\"sm\"\r\n onClick={onReset}\r\n >\r\n <X />\r\n Limpar\r\n </Button>\r\n )}\r\n </div>\r\n <div className=\"flex items-center gap-2\">\r\n {children}\r\n <DataTableViewOptions table={table} />\r\n </div>\r\n </div>\r\n )\r\n}\r\ninterface DataTableToolbarFilterProps<TData> {\r\n column: Column<TData>\r\n}\r\n\r\nfunction DataTableToolbarFilter<TData>({\r\n column,\r\n}: DataTableToolbarFilterProps<TData>) {\r\n {\r\n const columnMeta = column.columnDef.meta\r\n\r\n const onFilterRender = React.useCallback(() => {\r\n if (!columnMeta?.variant) return null\r\n\r\n switch (columnMeta.variant) {\r\n case 'text':\r\n return (\r\n <Input\r\n placeholder={columnMeta.placeholder ?? columnMeta.label}\r\n value={(column.getFilterValue() as string) ?? ''}\r\n onChange={event => column.setFilterValue(event.target.value)}\r\n className=\"h-10 w-40 lg:w-56\"\r\n classNames={{\r\n input: 'text-sm',\r\n }}\r\n />\r\n )\r\n\r\n case 'number':\r\n return (\r\n <div className=\"relative\">\r\n <Input\r\n type=\"number\"\r\n inputMode=\"numeric\"\r\n placeholder={columnMeta.placeholder ?? columnMeta.label}\r\n value={(column.getFilterValue() as string) ?? ''}\r\n onChange={event => column.setFilterValue(event.target.value)}\r\n className={cn('h-10 w-[120px]', columnMeta.unit && 'pr-8')}\r\n classNames={{\r\n input: 'text-sm',\r\n }}\r\n />\r\n {columnMeta.unit && (\r\n <span className=\"absolute top-0 right-0 bottom-0 flex items-center rounded-r-md bg-accent px-2 text-muted-foreground text-sm\">\r\n {columnMeta.unit}\r\n </span>\r\n )}\r\n </div>\r\n )\r\n\r\n case 'range':\r\n return (\r\n <DataTableSliderFilter\r\n column={column}\r\n title={columnMeta.label ?? column.id}\r\n />\r\n )\r\n\r\n case 'date':\r\n case 'dateRange':\r\n return (\r\n <DataTableDateFilter\r\n column={column}\r\n title={columnMeta.label ?? column.id}\r\n multiple={columnMeta.variant === 'dateRange'}\r\n />\r\n )\r\n\r\n case 'select':\r\n case 'multiSelect':\r\n return (\r\n <DataTableFacetedFilter\r\n column={column}\r\n title={columnMeta.label ?? column.id}\r\n options={columnMeta.options ?? []}\r\n multiple={columnMeta.variant === 'multiSelect'}\r\n />\r\n )\r\n\r\n default:\r\n return null\r\n }\r\n }, [column, columnMeta])\r\n\r\n return onFilterRender()\r\n }\r\n}\r\n"],"names":["DataTableToolbar","table","children","className","props","isFiltered","columns","React","column","onReset","cn","DataTableToolbarFilter","Button","X","DataTableViewOptions","columnMeta","onFilterRender","Input","event","DataTableSliderFilter","DataTableDateFilter","DataTableFacetedFilter"],"mappings":";qgDAkBO,SAASA,iBAAwB,CACtCC,MAAAA,CAAK,CACLC,SAAAA,CAAQ,CACRC,UAAAA,CAAS,CACT,GAAGC,EAC0B,EAC7B,IAAMC,EAAaJ,EAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAG,EAErDK,EAAUC,+BAAAA,OAAa,CAC3B,IAAMN,EAAM,aAAa,GAAG,MAAM,CAACO,GAAUA,EAAO,YAAY,IAChE,CAACP,EAAM,EAGHQ,EAAUF,+BAAAA,WAAiB,CAAC,KAChCN,EAAM,kBAAkB,EAC1B,EAAG,CAACA,EAAM,EAEV,MACE,qCAAC,OACC,KAAK,UACL,mBAAiB,aACjB,UAAWS,GAAAA,0BAAAA,EAAAA,EACT,oDACAP,GAED,GAAGC,CAAK,C,UAET,qCAAC,OAAI,UAAU,2C,UACZE,EAAQ,GAAG,CAACE,GACX,oCAACG,uBAAAA,CAAuC,OAAQH,C,EAAnBA,EAAO,EAAE,GAEvCH,GACC,qCAACO,oCAAAA,MAAMA,CAAAA,CACL,aAAW,gBACX,QAAQ,YACR,KAAK,KACL,QAASH,E,UAET,oCAACI,sBAAAA,CAACA,CAAAA,CAAAA,GAAG,S,MAKX,qCAAC,OAAI,UAAU,0B,UACZX,EACD,oCAACY,qDAAAA,oBAAoBA,CAAAA,CAAC,MAAOb,C,QAIrC,CAKA,SAASU,uBAA8B,CACrCH,OAAAA,CAAM,CAC6B,EACnC,CACE,IAAMO,EAAaP,EAAO,SAAS,CAAC,IAAI,CA2ExC,OAAOQ,+BAzEgBT,WAAiB,CAAC,KACvC,GAAI,CAACQ,GAAY,QAAS,OAAO,KAEjC,OAAQA,EAAW,OAAO,EACxB,IAAK,OACH,MACE,oCAACE,mCAAAA,KAAKA,CAAAA,CACJ,YAAaF,EAAW,WAAW,EAAIA,EAAW,KAAK,CACvD,MAAQP,EAAO,cAAc,IAAiB,GAC9C,SAAUU,GAASV,EAAO,cAAc,CAACU,EAAM,MAAM,CAAC,KAAK,EAC3D,UAAU,oBACV,WAAY,CACV,MAAO,SACT,C,EAIN,KAAK,SACH,MACE,qCAAC,OAAI,UAAU,W,UACb,oCAACD,mCAAAA,KAAKA,CAAAA,CACJ,KAAK,SACL,UAAU,UACV,YAAaF,EAAW,WAAW,EAAIA,EAAW,KAAK,CACvD,MAAQP,EAAO,cAAc,IAAiB,GAC9C,SAAUU,GAASV,EAAO,cAAc,CAACU,EAAM,MAAM,CAAC,KAAK,EAC3D,UAAWR,GAAAA,0BAAAA,EAAAA,EAAG,iBAAkBK,EAAW,IAAI,EAAI,QACnD,WAAY,CACV,MAAO,SACT,C,GAEDA,EAAW,IAAI,EACd,oCAAC,QAAK,UAAU,8G,SACbA,EAAW,IAAI,KAM1B,KAAK,QACH,MACE,oCAACI,sDAAAA,qBAAqBA,CAAAA,CACpB,OAAQX,EACR,MAAOO,EAAW,KAAK,EAAIP,EAAO,EAAE,EAI1C,KAAK,OACL,IAAK,YACH,MACE,oCAACY,oDAAAA,mBAAmBA,CAAAA,CAClB,OAAQZ,EACR,MAAOO,EAAW,KAAK,EAAIP,EAAO,EAAE,CACpC,SAAUO,cAAAA,EAAW,OAAO,EAIlC,KAAK,SACL,IAAK,cACH,MACE,oCAACM,uDAAAA,sBAAsBA,CAAAA,CACrB,OAAQb,EACR,MAAOO,EAAW,KAAK,EAAIP,EAAO,EAAE,CACpC,QAASO,EAAW,OAAO,EAAI,EAAE,CACjC,SAAUA,gBAAAA,EAAW,OAAO,EAIlC,SACE,OAAO,IACX,CACF,EAAG,CAACP,EAAQO,EAAW,GAGzB,CACF,C"}
@@ -1,3 +1,3 @@
1
1
  'use client'
2
- "use strict";let __rslib_import_meta_url__="undefined"==typeof document?new(require("url".replace("",""))).URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href;var __webpack_require__={};__webpack_require__.d=(e,a)=>{for(var _ in a)__webpack_require__.o(a,_)&&!__webpack_require__.o(e,_)&&Object.defineProperty(e,_,{enumerable:!0,get:a[_]})},__webpack_require__.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__={};__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{DataTableViewOptions:()=>DataTableViewOptions});let jsx_runtime_namespaceObject=require("react/jsx-runtime"),react_namespaceObject=require("@phosphor-icons/react"),external_button_cjs_namespaceObject=require("../button.cjs"),external_command_cjs_namespaceObject=require("../command.cjs"),external_popover_cjs_namespaceObject=require("../popover.cjs"),utils_cjs_namespaceObject=require("../../lib/utils.cjs"),external_react_namespaceObject=require("react");function DataTableViewOptions({table:e}){let a=external_react_namespaceObject.useMemo(()=>e.getAllColumns().filter(e=>void 0!==e.accessorFn&&e.getCanHide()),[e]);return(0,jsx_runtime_namespaceObject.jsxs)(external_popover_cjs_namespaceObject.Popover,{children:[(0,jsx_runtime_namespaceObject.jsx)(external_popover_cjs_namespaceObject.PopoverTrigger,{asChild:!0,children:(0,jsx_runtime_namespaceObject.jsxs)(external_button_cjs_namespaceObject.Button,{"aria-label":"Toggle columns",role:"combobox",variant:"secondary",size:"xs",className:"ml-auto hidden lg:flex",children:[(0,jsx_runtime_namespaceObject.jsx)(react_namespaceObject.SlidersHorizontal,{}),"Ver",(0,jsx_runtime_namespaceObject.jsx)(react_namespaceObject.CaretUpDown,{className:"ml-auto opacity-50"})]})}),(0,jsx_runtime_namespaceObject.jsx)(external_popover_cjs_namespaceObject.PopoverContent,{align:"end",className:"w-44 p-0",children:(0,jsx_runtime_namespaceObject.jsxs)(external_command_cjs_namespaceObject.Command,{children:[(0,jsx_runtime_namespaceObject.jsx)(external_command_cjs_namespaceObject.CommandInput,{placeholder:"Buscar colunas..."}),(0,jsx_runtime_namespaceObject.jsxs)(external_command_cjs_namespaceObject.CommandList,{children:[(0,jsx_runtime_namespaceObject.jsx)(external_command_cjs_namespaceObject.CommandEmpty,{children:"Nenhuma coluna encontrada."}),(0,jsx_runtime_namespaceObject.jsx)(external_command_cjs_namespaceObject.CommandGroup,{children:a.map(e=>(0,jsx_runtime_namespaceObject.jsxs)(external_command_cjs_namespaceObject.CommandItem,{onSelect:()=>e.toggleVisibility(!e.getIsVisible()),children:[(0,jsx_runtime_namespaceObject.jsx)("span",{className:"truncate",children:e.columnDef.meta?.label??e.id}),(0,jsx_runtime_namespaceObject.jsx)(react_namespaceObject.Check,{className:(0,utils_cjs_namespaceObject.cn)("ml-auto size-4 shrink-0",e.getIsVisible()?"opacity-100":"opacity-0")})]},e.id))})]})]})})]})}for(var __webpack_i__ in exports.DataTableViewOptions=__webpack_exports__.DataTableViewOptions,__webpack_exports__)-1===["DataTableViewOptions"].indexOf(__webpack_i__)&&(exports[__webpack_i__]=__webpack_exports__[__webpack_i__]);Object.defineProperty(exports,"__esModule",{value:!0});
2
+ "use strict";let __rslib_import_meta_url__="undefined"==typeof document?new(require("url".replace("",""))).URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href;var __webpack_require__={};__webpack_require__.d=(e,a)=>{for(var _ in a)__webpack_require__.o(a,_)&&!__webpack_require__.o(e,_)&&Object.defineProperty(e,_,{enumerable:!0,get:a[_]})},__webpack_require__.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__={};__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{DataTableViewOptions:()=>DataTableViewOptions});let jsx_runtime_namespaceObject=require("react/jsx-runtime"),react_namespaceObject=require("@phosphor-icons/react"),external_button_cjs_namespaceObject=require("../button.cjs"),external_command_cjs_namespaceObject=require("../command.cjs"),external_popover_cjs_namespaceObject=require("../popover.cjs"),utils_cjs_namespaceObject=require("../../lib/utils.cjs"),external_react_namespaceObject=require("react");function DataTableViewOptions({table:e}){let a=external_react_namespaceObject.useMemo(()=>e.getAllColumns().filter(e=>void 0!==e.accessorFn&&e.getCanHide()),[e]);return(0,jsx_runtime_namespaceObject.jsxs)(external_popover_cjs_namespaceObject.Popover,{children:[(0,jsx_runtime_namespaceObject.jsx)(external_popover_cjs_namespaceObject.PopoverTrigger,{asChild:!0,children:(0,jsx_runtime_namespaceObject.jsxs)(external_button_cjs_namespaceObject.Button,{"aria-label":"Toggle columns",role:"combobox",variant:"secondary",size:"sm",className:"ml-auto hidden lg:flex",children:[(0,jsx_runtime_namespaceObject.jsx)(react_namespaceObject.SlidersHorizontal,{}),"Ver",(0,jsx_runtime_namespaceObject.jsx)(react_namespaceObject.CaretUpDown,{className:"ml-auto opacity-50"})]})}),(0,jsx_runtime_namespaceObject.jsx)(external_popover_cjs_namespaceObject.PopoverContent,{align:"end",className:"w-44 p-0",children:(0,jsx_runtime_namespaceObject.jsxs)(external_command_cjs_namespaceObject.Command,{children:[(0,jsx_runtime_namespaceObject.jsx)(external_command_cjs_namespaceObject.CommandInput,{placeholder:"Buscar colunas..."}),(0,jsx_runtime_namespaceObject.jsxs)(external_command_cjs_namespaceObject.CommandList,{children:[(0,jsx_runtime_namespaceObject.jsx)(external_command_cjs_namespaceObject.CommandEmpty,{children:"Nenhuma coluna encontrada."}),(0,jsx_runtime_namespaceObject.jsx)(external_command_cjs_namespaceObject.CommandGroup,{children:a.map(e=>(0,jsx_runtime_namespaceObject.jsxs)(external_command_cjs_namespaceObject.CommandItem,{onSelect:()=>e.toggleVisibility(!e.getIsVisible()),children:[(0,jsx_runtime_namespaceObject.jsx)("span",{className:"truncate",children:e.columnDef.meta?.label??e.id}),(0,jsx_runtime_namespaceObject.jsx)(react_namespaceObject.Check,{className:(0,utils_cjs_namespaceObject.cn)("ml-auto size-4 shrink-0",e.getIsVisible()?"opacity-100":"opacity-0")})]},e.id))})]})]})})]})}for(var __webpack_i__ in exports.DataTableViewOptions=__webpack_exports__.DataTableViewOptions,__webpack_exports__)-1===["DataTableViewOptions"].indexOf(__webpack_i__)&&(exports[__webpack_i__]=__webpack_exports__[__webpack_i__]);Object.defineProperty(exports,"__esModule",{value:!0});
3
3
  //# sourceMappingURL=data-table-view-options.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"components\\data-table\\data-table-view-options.cjs","sources":["webpack://@gbmtech/aurora-ui/./src/components/data-table/data-table-view-options.tsx"],"sourcesContent":["\r\n\r\nimport { CaretUpDown, Check, SlidersHorizontal } from '@phosphor-icons/react'\r\nimport type { Table } from '@tanstack/react-table'\r\n\r\nimport { Button } from '@/components/button'\r\nimport {\r\n Command,\r\n CommandEmpty,\r\n CommandGroup,\r\n CommandInput,\r\n CommandItem,\r\n CommandList,\r\n} from '@/components/command'\r\nimport { Popover, PopoverContent, PopoverTrigger } from '@/components/popover'\r\nimport { cn } from '@/lib/utils'\r\nimport * as React from 'react'\r\n\r\ninterface DataTableViewOptionsProps<TData> {\r\n table: Table<TData>\r\n}\r\n\r\nexport function DataTableViewOptions<TData>({\r\n table,\r\n}: DataTableViewOptionsProps<TData>) {\r\n const columns = React.useMemo(\r\n () =>\r\n table\r\n .getAllColumns()\r\n .filter(\r\n column =>\r\n typeof column.accessorFn !== 'undefined' && column.getCanHide()\r\n ),\r\n [table]\r\n )\r\n\r\n return (\r\n <Popover>\r\n <PopoverTrigger asChild>\r\n <Button\r\n aria-label=\"Toggle columns\"\r\n role=\"combobox\"\r\n variant=\"secondary\"\r\n size=\"xs\"\r\n className=\"ml-auto hidden lg:flex\"\r\n >\r\n <SlidersHorizontal />\r\n Ver\r\n <CaretUpDown className=\"ml-auto opacity-50\" />\r\n </Button>\r\n </PopoverTrigger>\r\n <PopoverContent align=\"end\" className=\"w-44 p-0\">\r\n <Command>\r\n <CommandInput placeholder=\"Buscar colunas...\" />\r\n <CommandList>\r\n <CommandEmpty>Nenhuma coluna encontrada.</CommandEmpty>\r\n <CommandGroup>\r\n {columns.map(column => (\r\n <CommandItem\r\n key={column.id}\r\n onSelect={() =>\r\n column.toggleVisibility(!column.getIsVisible())\r\n }\r\n >\r\n <span className=\"truncate\">\r\n {column.columnDef.meta?.label ?? column.id}\r\n </span>\r\n <Check\r\n className={cn(\r\n 'ml-auto size-4 shrink-0',\r\n column.getIsVisible() ? 'opacity-100' : 'opacity-0'\r\n )}\r\n />\r\n </CommandItem>\r\n ))}\r\n </CommandGroup>\r\n </CommandList>\r\n </Command>\r\n </PopoverContent>\r\n </Popover>\r\n )\r\n}\r\n"],"names":["DataTableViewOptions","table","columns","React","column","Popover","PopoverTrigger","Button","SlidersHorizontal","CaretUpDown","PopoverContent","Command","CommandInput","CommandList","CommandEmpty","CommandGroup","CommandItem","Check","cn"],"mappings":";otCAsBO,SAASA,qBAA4B,CAC1CC,MAAAA,CAAK,CAC4B,EACjC,IAAMC,EAAUC,+BAAAA,OAAa,CAC3B,IACEF,EACG,aAAa,GACb,MAAM,CACLG,GACE,SAAOA,EAAO,UAAU,EAAoBA,EAAO,UAAU,IAErE,CAACH,EAAM,EAGT,MACE,qCAACI,qCAAAA,OAAOA,CAAAA,C,UACN,oCAACC,qCAAAA,cAAcA,CAAAA,CAAC,QAAO,G,SACrB,qCAACC,oCAAAA,MAAMA,CAAAA,CACL,aAAW,iBACX,KAAK,WACL,QAAQ,YACR,KAAK,KACL,UAAU,yB,UAEV,oCAACC,sBAAAA,iBAAiBA,CAAAA,CAAAA,GAAG,MAErB,oCAACC,sBAAAA,WAAWA,CAAAA,CAAC,UAAU,oB,QAG3B,oCAACC,qCAAAA,cAAcA,CAAAA,CAAC,MAAM,MAAM,UAAU,W,SACpC,qCAACC,qCAAAA,OAAOA,CAAAA,C,UACN,oCAACC,qCAAAA,YAAYA,CAAAA,CAAC,YAAY,mB,GAC1B,qCAACC,qCAAAA,WAAWA,CAAAA,C,UACV,oCAACC,qCAAAA,YAAYA,CAAAA,C,SAAC,4B,GACd,oCAACC,qCAAAA,YAAYA,CAAAA,C,SACVb,EAAQ,GAAG,CAACE,GACX,qCAACY,qCAAAA,WAAWA,CAAAA,CAEV,SAAU,IACRZ,EAAO,gBAAgB,CAAC,CAACA,EAAO,YAAY,I,UAG9C,oCAAC,QAAK,UAAU,W,SACbA,EAAO,SAAS,CAAC,IAAI,EAAE,OAASA,EAAO,EAAE,GAE5C,oCAACa,sBAAAA,KAAKA,CAAAA,CACJ,UAAWC,GAAAA,0BAAAA,EAAAA,EACT,0BACAd,EAAO,YAAY,GAAK,cAAgB,Y,KAXvCA,EAAO,EAAE,E,aAsBhC,C"}
1
+ {"version":3,"file":"components\\data-table\\data-table-view-options.cjs","sources":["webpack://@gbmtech/aurora-ui/./src/components/data-table/data-table-view-options.tsx"],"sourcesContent":["\r\n\r\nimport { CaretUpDown, Check, SlidersHorizontal } from '@phosphor-icons/react'\r\nimport type { Table } from '@tanstack/react-table'\r\n\r\nimport { Button } from '@/components/button'\r\nimport {\r\n Command,\r\n CommandEmpty,\r\n CommandGroup,\r\n CommandInput,\r\n CommandItem,\r\n CommandList,\r\n} from '@/components/command'\r\nimport { Popover, PopoverContent, PopoverTrigger } from '@/components/popover'\r\nimport { cn } from '@/lib/utils'\r\nimport * as React from 'react'\r\n\r\ninterface DataTableViewOptionsProps<TData> {\r\n table: Table<TData>\r\n}\r\n\r\nexport function DataTableViewOptions<TData>({\r\n table,\r\n}: DataTableViewOptionsProps<TData>) {\r\n const columns = React.useMemo(\r\n () =>\r\n table\r\n .getAllColumns()\r\n .filter(\r\n column =>\r\n typeof column.accessorFn !== 'undefined' && column.getCanHide()\r\n ),\r\n [table]\r\n )\r\n\r\n return (\r\n <Popover>\r\n <PopoverTrigger asChild>\r\n <Button\r\n aria-label=\"Toggle columns\"\r\n role=\"combobox\"\r\n variant=\"secondary\"\r\n size=\"sm\"\r\n className=\"ml-auto hidden lg:flex\"\r\n >\r\n <SlidersHorizontal />\r\n Ver\r\n <CaretUpDown className=\"ml-auto opacity-50\" />\r\n </Button>\r\n </PopoverTrigger>\r\n <PopoverContent align=\"end\" className=\"w-44 p-0\">\r\n <Command>\r\n <CommandInput placeholder=\"Buscar colunas...\" />\r\n <CommandList>\r\n <CommandEmpty>Nenhuma coluna encontrada.</CommandEmpty>\r\n <CommandGroup>\r\n {columns.map(column => (\r\n <CommandItem\r\n key={column.id}\r\n onSelect={() =>\r\n column.toggleVisibility(!column.getIsVisible())\r\n }\r\n >\r\n <span className=\"truncate\">\r\n {column.columnDef.meta?.label ?? column.id}\r\n </span>\r\n <Check\r\n className={cn(\r\n 'ml-auto size-4 shrink-0',\r\n column.getIsVisible() ? 'opacity-100' : 'opacity-0'\r\n )}\r\n />\r\n </CommandItem>\r\n ))}\r\n </CommandGroup>\r\n </CommandList>\r\n </Command>\r\n </PopoverContent>\r\n </Popover>\r\n )\r\n}\r\n"],"names":["DataTableViewOptions","table","columns","React","column","Popover","PopoverTrigger","Button","SlidersHorizontal","CaretUpDown","PopoverContent","Command","CommandInput","CommandList","CommandEmpty","CommandGroup","CommandItem","Check","cn"],"mappings":";otCAsBO,SAASA,qBAA4B,CAC1CC,MAAAA,CAAK,CAC4B,EACjC,IAAMC,EAAUC,+BAAAA,OAAa,CAC3B,IACEF,EACG,aAAa,GACb,MAAM,CACLG,GACE,SAAOA,EAAO,UAAU,EAAoBA,EAAO,UAAU,IAErE,CAACH,EAAM,EAGT,MACE,qCAACI,qCAAAA,OAAOA,CAAAA,C,UACN,oCAACC,qCAAAA,cAAcA,CAAAA,CAAC,QAAO,G,SACrB,qCAACC,oCAAAA,MAAMA,CAAAA,CACL,aAAW,iBACX,KAAK,WACL,QAAQ,YACR,KAAK,KACL,UAAU,yB,UAEV,oCAACC,sBAAAA,iBAAiBA,CAAAA,CAAAA,GAAG,MAErB,oCAACC,sBAAAA,WAAWA,CAAAA,CAAC,UAAU,oB,QAG3B,oCAACC,qCAAAA,cAAcA,CAAAA,CAAC,MAAM,MAAM,UAAU,W,SACpC,qCAACC,qCAAAA,OAAOA,CAAAA,C,UACN,oCAACC,qCAAAA,YAAYA,CAAAA,CAAC,YAAY,mB,GAC1B,qCAACC,qCAAAA,WAAWA,CAAAA,C,UACV,oCAACC,qCAAAA,YAAYA,CAAAA,C,SAAC,4B,GACd,oCAACC,qCAAAA,YAAYA,CAAAA,C,SACVb,EAAQ,GAAG,CAACE,GACX,qCAACY,qCAAAA,WAAWA,CAAAA,CAEV,SAAU,IACRZ,EAAO,gBAAgB,CAAC,CAACA,EAAO,YAAY,I,UAG9C,oCAAC,QAAK,UAAU,W,SACbA,EAAO,SAAS,CAAC,IAAI,EAAE,OAASA,EAAO,EAAE,GAE5C,oCAACa,sBAAAA,KAAKA,CAAAA,CACJ,UAAWC,GAAAA,0BAAAA,EAAAA,EACT,0BACAd,EAAO,YAAY,GAAK,cAAgB,Y,KAXvCA,EAAO,EAAE,E,aAsBhC,C"}
@@ -1 +1 @@
1
- "use strict";let __rslib_import_meta_url__="undefined"==typeof document?new(require("url".replace("",""))).URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href;var __webpack_modules__={"./data-table-action-bar":function(e){e.exports=require("./data-table-action-bar.cjs")},"./data-table-advanced-toolbar":function(e){e.exports=require("./data-table-advanced-toolbar.cjs")},"./data-table-column-header":function(e){e.exports=require("./data-table-column-header.cjs")},"./data-table-date-filter":function(e){e.exports=require("./data-table-date-filter.cjs")},"./data-table-faceted-filter":function(e){e.exports=require("./data-table-faceted-filter.cjs")},"./data-table-filter-list":function(e){e.exports=require("./data-table-filter-list.cjs")},"./data-table-filter-menu":function(e){e.exports=require("./data-table-filter-menu.cjs")},"./data-table-pagination":function(e){e.exports=require("./data-table-pagination.cjs")},"./data-table-range-filter":function(e){e.exports=require("./data-table-range-filter.cjs")},"./data-table-skeleton":function(e){e.exports=require("./data-table-skeleton.cjs")},"./data-table-slider-filter":function(e){e.exports=require("./data-table-slider-filter.cjs")},"./data-table-sort-list":function(e){e.exports=require("./data-table-sort-list.cjs")},"./data-table-toolbar":function(e){e.exports=require("./data-table-toolbar.cjs")},"./data-table-view-options":function(e){e.exports=require("./data-table-view-options.cjs")},"./data-table":function(e){e.exports=require("./data-table.cjs")}},__webpack_module_cache__={};function __webpack_require__(e){var _=__webpack_module_cache__[e];if(void 0!==_)return _.exports;var r=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e](r,r.exports,__webpack_require__),r.exports}__webpack_require__.n=e=>{var _=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(_,{a:_}),_},__webpack_require__.d=(e,_)=>{for(var r in _)__webpack_require__.o(_,r)&&!__webpack_require__.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:_[r]})},__webpack_require__.o=(e,_)=>Object.prototype.hasOwnProperty.call(e,_),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__={};for(var __webpack_i__ in(()=>{__webpack_require__.r(__webpack_exports__);var e=__webpack_require__("./data-table-action-bar"),_={};for(var r in e)"default"!==r&&(_[r]=(function(_){return e[_]}).bind(0,r));__webpack_require__.d(__webpack_exports__,_);var a=__webpack_require__("./data-table-advanced-toolbar"),_={};for(var r in a)"default"!==r&&(_[r]=(function(e){return a[e]}).bind(0,r));__webpack_require__.d(__webpack_exports__,_);var t=__webpack_require__("./data-table-column-header"),_={};for(var r in t)"default"!==r&&(_[r]=(function(e){return t[e]}).bind(0,r));__webpack_require__.d(__webpack_exports__,_);var i=__webpack_require__("./data-table-date-filter"),_={};for(var r in i)"default"!==r&&(_[r]=(function(e){return i[e]}).bind(0,r));__webpack_require__.d(__webpack_exports__,_);var n=__webpack_require__("./data-table-faceted-filter"),_={};for(var r in n)"default"!==r&&(_[r]=(function(e){return n[e]}).bind(0,r));__webpack_require__.d(__webpack_exports__,_);var o=__webpack_require__("./data-table-filter-list"),_={};for(var r in o)"default"!==r&&(_[r]=(function(e){return o[e]}).bind(0,r));__webpack_require__.d(__webpack_exports__,_);var u=__webpack_require__("./data-table-filter-menu"),_={};for(var r in u)"default"!==r&&(_[r]=(function(e){return u[e]}).bind(0,r));__webpack_require__.d(__webpack_exports__,_);var c=__webpack_require__("./data-table-pagination"),_={};for(var r in c)"default"!==r&&(_[r]=(function(e){return c[e]}).bind(0,r));__webpack_require__.d(__webpack_exports__,_);var b=__webpack_require__("./data-table-range-filter"),_={};for(var r in b)"default"!==r&&(_[r]=(function(e){return b[e]}).bind(0,r));__webpack_require__.d(__webpack_exports__,_);var d=__webpack_require__("./data-table-skeleton"),_={};for(var r in d)"default"!==r&&(_[r]=(function(e){return d[e]}).bind(0,r));__webpack_require__.d(__webpack_exports__,_);var p=__webpack_require__("./data-table-slider-filter"),_={};for(var r in p)"default"!==r&&(_[r]=(function(e){return p[e]}).bind(0,r));__webpack_require__.d(__webpack_exports__,_);var l=__webpack_require__("./data-table-sort-list"),_={};for(var r in l)"default"!==r&&(_[r]=(function(e){return l[e]}).bind(0,r));__webpack_require__.d(__webpack_exports__,_);var f=__webpack_require__("./data-table-toolbar"),_={};for(var r in f)"default"!==r&&(_[r]=(function(e){return f[e]}).bind(0,r));__webpack_require__.d(__webpack_exports__,_);var s=__webpack_require__("./data-table-view-options"),_={};for(var r in s)"default"!==r&&(_[r]=(function(e){return s[e]}).bind(0,r));__webpack_require__.d(__webpack_exports__,_);var w=__webpack_require__("./data-table"),_={};for(var r in w)"default"!==r&&(_[r]=(function(e){return w[e]}).bind(0,r));__webpack_require__.d(__webpack_exports__,_)})(),__webpack_exports__)exports[__webpack_i__]=__webpack_exports__[__webpack_i__];Object.defineProperty(exports,"__esModule",{value:!0});
1
+ "use strict";let __rslib_import_meta_url__="undefined"==typeof document?new(require("url".replace("",""))).URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href;var __webpack_modules__={"./data-table-action-bar":function(e){e.exports=require("./data-table-action-bar.cjs")},"./data-table-advanced-toolbar":function(e){e.exports=require("./data-table-advanced-toolbar.cjs")},"./data-table-column-header":function(e){e.exports=require("./data-table-column-header.cjs")},"@/components/data-table/data-table-date-filter":function(e){e.exports=require("./data-table-date-filter.cjs")},"@/components/data-table/data-table-faceted-filter":function(e){e.exports=require("./data-table-faceted-filter.cjs")},"./data-table-filter-list":function(e){e.exports=require("./data-table-filter-list.cjs")},"./data-table-filter-menu":function(e){e.exports=require("./data-table-filter-menu.cjs")},"./data-table-pagination":function(e){e.exports=require("./data-table-pagination.cjs")},"./data-table-range-filter":function(e){e.exports=require("./data-table-range-filter.cjs")},"./data-table-skeleton":function(e){e.exports=require("./data-table-skeleton.cjs")},"@/components/data-table/data-table-slider-filter":function(e){e.exports=require("./data-table-slider-filter.cjs")},"./data-table-sort-list":function(e){e.exports=require("./data-table-sort-list.cjs")},"./data-table-toolbar":function(e){e.exports=require("./data-table-toolbar.cjs")},"@/components/data-table/data-table-view-options":function(e){e.exports=require("./data-table-view-options.cjs")},"./data-table":function(e){e.exports=require("./data-table.cjs")}},__webpack_module_cache__={};function __webpack_require__(e){var _=__webpack_module_cache__[e];if(void 0!==_)return _.exports;var a=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e](a,a.exports,__webpack_require__),a.exports}__webpack_require__.n=e=>{var _=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(_,{a:_}),_},__webpack_require__.d=(e,_)=>{for(var a in _)__webpack_require__.o(_,a)&&!__webpack_require__.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:_[a]})},__webpack_require__.o=(e,_)=>Object.prototype.hasOwnProperty.call(e,_),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__={};for(var __webpack_i__ in(()=>{__webpack_require__.r(__webpack_exports__);var e=__webpack_require__("./data-table-action-bar"),_={};for(var a in e)"default"!==a&&(_[a]=(function(_){return e[_]}).bind(0,a));__webpack_require__.d(__webpack_exports__,_);var r=__webpack_require__("./data-table-advanced-toolbar"),_={};for(var a in r)"default"!==a&&(_[a]=(function(e){return r[e]}).bind(0,a));__webpack_require__.d(__webpack_exports__,_);var t=__webpack_require__("./data-table-column-header"),_={};for(var a in t)"default"!==a&&(_[a]=(function(e){return t[e]}).bind(0,a));__webpack_require__.d(__webpack_exports__,_);var i=__webpack_require__("@/components/data-table/data-table-date-filter"),_={};for(var a in i)"default"!==a&&(_[a]=(function(e){return i[e]}).bind(0,a));__webpack_require__.d(__webpack_exports__,_);var n=__webpack_require__("@/components/data-table/data-table-faceted-filter"),_={};for(var a in n)"default"!==a&&(_[a]=(function(e){return n[e]}).bind(0,a));__webpack_require__.d(__webpack_exports__,_);var o=__webpack_require__("./data-table-filter-list"),_={};for(var a in o)"default"!==a&&(_[a]=(function(e){return o[e]}).bind(0,a));__webpack_require__.d(__webpack_exports__,_);var c=__webpack_require__("./data-table-filter-menu"),_={};for(var a in c)"default"!==a&&(_[a]=(function(e){return c[e]}).bind(0,a));__webpack_require__.d(__webpack_exports__,_);var b=__webpack_require__("./data-table-pagination"),_={};for(var a in b)"default"!==a&&(_[a]=(function(e){return b[e]}).bind(0,a));__webpack_require__.d(__webpack_exports__,_);var u=__webpack_require__("./data-table-range-filter"),_={};for(var a in u)"default"!==a&&(_[a]=(function(e){return u[e]}).bind(0,a));__webpack_require__.d(__webpack_exports__,_);var d=__webpack_require__("./data-table-skeleton"),_={};for(var a in d)"default"!==a&&(_[a]=(function(e){return d[e]}).bind(0,a));__webpack_require__.d(__webpack_exports__,_);var p=__webpack_require__("@/components/data-table/data-table-slider-filter"),_={};for(var a in p)"default"!==a&&(_[a]=(function(e){return p[e]}).bind(0,a));__webpack_require__.d(__webpack_exports__,_);var l=__webpack_require__("./data-table-sort-list"),_={};for(var a in l)"default"!==a&&(_[a]=(function(e){return l[e]}).bind(0,a));__webpack_require__.d(__webpack_exports__,_);var f=__webpack_require__("./data-table-toolbar"),_={};for(var a in f)"default"!==a&&(_[a]=(function(e){return f[e]}).bind(0,a));__webpack_require__.d(__webpack_exports__,_);var s=__webpack_require__("@/components/data-table/data-table-view-options"),_={};for(var a in s)"default"!==a&&(_[a]=(function(e){return s[e]}).bind(0,a));__webpack_require__.d(__webpack_exports__,_);var w=__webpack_require__("./data-table"),_={};for(var a in w)"default"!==a&&(_[a]=(function(e){return w[e]}).bind(0,a));__webpack_require__.d(__webpack_exports__,_)})(),__webpack_exports__)exports[__webpack_i__]=__webpack_exports__[__webpack_i__];Object.defineProperty(exports,"__esModule",{value:!0});
@@ -1,2 +1,2 @@
1
- "use strict";let __rslib_import_meta_url__="undefined"==typeof document?new(require("url".replace("",""))).URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href;var __webpack_require__={};__webpack_require__.d=(e,a)=>{for(var l in a)__webpack_require__.o(a,l)&&!__webpack_require__.o(e,l)&&Object.defineProperty(e,l,{enumerable:!0,get:a[l]})},__webpack_require__.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__={};__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{dataTableConfig:()=>dataTableConfig});let dataTableConfig={textOperators:[{label:"Cont\xe9m",value:"iLike"},{label:"N\xe3o cont\xe9m",value:"notILike"},{label:"\xc9",value:"eq"},{label:"N\xe3o \xe9",value:"ne"},{label:"Est\xe1 vazio",value:"isEmpty"},{label:"N\xe3o est\xe1 vazio",value:"isNotEmpty"}],numericOperators:[{label:"\xc9",value:"eq"},{label:"N\xe3o \xe9",value:"ne"},{label:"\xc9 menor que",value:"lt"},{label:"\xc9 menor ou igual a",value:"lte"},{label:"\xc9 maior que",value:"gt"},{label:"\xc9 maior ou igual a",value:"gte"},{label:"Est\xe1 entre",value:"isBetween"},{label:"Est\xe1 vazio",value:"isEmpty"},{label:"N\xe3o est\xe1 vazio",value:"isNotEmpty"}],dateOperators:[{label:"\xc9",value:"eq"},{label:"N\xe3o \xe9",value:"ne"},{label:"\xc9 antes de",value:"lt"},{label:"\xc9 depois de",value:"gt"},{label:"\xc9 em ou antes de",value:"lte"},{label:"\xc9 em ou depois de",value:"gte"},{label:"Est\xe1 entre",value:"isBetween"},{label:"\xc9 relativo a hoje",value:"isRelativeToToday"},{label:"Est\xe1 vazio",value:"isEmpty"},{label:"N\xe3o est\xe1 vazio",value:"isNotEmpty"}],selectOperators:[{label:"\xc9",value:"eq"},{label:"N\xe3o \xe9",value:"ne"},{label:"Est\xe1 vazio",value:"isEmpty"},{label:"N\xe3o est\xe1 vazio",value:"isNotEmpty"}],multiSelectOperators:[{label:"Cont\xe9m algum de",value:"inArray"},{label:"N\xe3o cont\xe9m nenhum de",value:"notInArray"},{label:"Est\xe1 vazio",value:"isEmpty"},{label:"N\xe3o est\xe1 vazio",value:"isNotEmpty"}],booleanOperators:[{label:"\xc9",value:"eq"},{label:"N\xe3o \xe9",value:"ne"}],sortOrders:[{label:"Asc",value:"asc"},{label:"Desc",value:"desc"}],filterVariants:["text","number","range","date","dateRange","boolean","select","multiSelect"],operators:["iLike","notILike","eq","ne","inArray","notInArray","isEmpty","isNotEmpty","lt","lte","gt","gte","isBetween","isRelativeToToday"],joinOperators:["and","or"]};for(var __webpack_i__ in exports.dataTableConfig=__webpack_exports__.dataTableConfig,__webpack_exports__)-1===["dataTableConfig"].indexOf(__webpack_i__)&&(exports[__webpack_i__]=__webpack_exports__[__webpack_i__]);Object.defineProperty(exports,"__esModule",{value:!0});
1
+ "use strict";let __rslib_import_meta_url__="undefined"==typeof document?new(require("url".replace("",""))).URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href;var __webpack_require__={};__webpack_require__.d=(e,a)=>{for(var l in a)__webpack_require__.o(a,l)&&!__webpack_require__.o(e,l)&&Object.defineProperty(e,l,{enumerable:!0,get:a[l]})},__webpack_require__.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__={};__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{dataTableConfig:()=>dataTableConfig});let dataTableConfig={textOperators:[{label:"Cont\xe9m",value:"iLike"},{label:"N\xe3o cont\xe9m",value:"notILike"},{label:"\xc9",value:"eq"},{label:"N\xe3o \xe9",value:"ne"},{label:"Est\xe1 vazio",value:"isEmpty"},{label:"N\xe3o est\xe1 vazio",value:"isNotEmpty"}],numericOperators:[{label:"\xc9",value:"eq"},{label:"N\xe3o \xe9",value:"ne"},{label:"\xc9 menor que",value:"lt"},{label:"\xc9 menor ou igual a",value:"lte"},{label:"\xc9 maior que",value:"gt"},{label:"\xc9 maior ou igual a",value:"gte"},{label:"Est\xe1 entre",value:"isBetween"},{label:"Est\xe1 vazio",value:"isEmpty"},{label:"N\xe3o est\xe1 vazio",value:"isNotEmpty"}],dateOperators:[{label:"\xc9",value:"eq"},{label:"N\xe3o \xe9",value:"ne"},{label:"\xc9 antes",value:"lt"},{label:"\xc9 depois",value:"gt"},{label:"\xc9 at\xe9 ou antes de",value:"lte"},{label:"\xc9 at\xe9 ou depois de",value:"gte"},{label:"Est\xe1 entre",value:"isBetween"},{label:"\xc9 relativo a hoje",value:"isRelativeToToday"},{label:"Est\xe1 vazio",value:"isEmpty"},{label:"N\xe3o est\xe1 vazio",value:"isNotEmpty"}],selectOperators:[{label:"\xc9",value:"eq"},{label:"N\xe3o \xe9",value:"ne"},{label:"Est\xe1 vazio",value:"isEmpty"},{label:"N\xe3o est\xe1 vazio",value:"isNotEmpty"}],multiSelectOperators:[{label:"Tem algum de",value:"inArray"},{label:"N\xe3o tem nenhum de",value:"notInArray"},{label:"Est\xe1 vazio",value:"isEmpty"},{label:"N\xe3o est\xe1 vazio",value:"isNotEmpty"}],booleanOperators:[{label:"\xc9",value:"eq"},{label:"N\xe3o \xe9",value:"ne"}],sortOrders:[{label:"Asc",value:"asc"},{label:"Desc",value:"desc"}],filterVariants:["text","number","range","date","dateRange","boolean","select","multiSelect"],operators:["iLike","notILike","eq","ne","inArray","notInArray","isEmpty","isNotEmpty","lt","lte","gt","gte","isBetween","isRelativeToToday"],joinOperators:["e","ou"]};for(var __webpack_i__ in exports.dataTableConfig=__webpack_exports__.dataTableConfig,__webpack_exports__)-1===["dataTableConfig"].indexOf(__webpack_i__)&&(exports[__webpack_i__]=__webpack_exports__[__webpack_i__]);Object.defineProperty(exports,"__esModule",{value:!0});
2
2
  //# sourceMappingURL=data-table-config.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"lib\\data-table-config.cjs","sources":["webpack://@gbmtech/aurora-ui/./src/lib/data-table-config.ts"],"sourcesContent":["export type DataTableConfig = typeof dataTableConfig\n\nexport const dataTableConfig = {\n textOperators: [\n { label: 'Contém', value: 'iLike' as const },\n { label: 'Não contém', value: 'notILike' as const },\n { label: 'É', value: 'eq' as const },\n { label: 'Não é', value: 'ne' as const },\n { label: 'Está vazio', value: 'isEmpty' as const },\n { label: 'Não está vazio', value: 'isNotEmpty' as const },\n ],\n numericOperators: [\n { label: 'É', value: 'eq' as const },\n { label: 'Não é', value: 'ne' as const },\n { label: 'É menor que', value: 'lt' as const },\n { label: 'É menor ou igual a', value: 'lte' as const },\n { label: 'É maior que', value: 'gt' as const },\n { label: 'É maior ou igual a', value: 'gte' as const },\n { label: 'Está entre', value: 'isBetween' as const },\n { label: 'Está vazio', value: 'isEmpty' as const },\n { label: 'Não está vazio', value: 'isNotEmpty' as const },\n ],\n dateOperators: [\n { label: 'É', value: 'eq' as const },\n { label: 'Não é', value: 'ne' as const },\n { label: 'É antes de', value: 'lt' as const },\n { label: 'É depois de', value: 'gt' as const },\n { label: 'É em ou antes de', value: 'lte' as const },\n { label: 'É em ou depois de', value: 'gte' as const },\n { label: 'Está entre', value: 'isBetween' as const },\n { label: 'É relativo a hoje', value: 'isRelativeToToday' as const },\n { label: 'Está vazio', value: 'isEmpty' as const },\n { label: 'Não está vazio', value: 'isNotEmpty' as const },\n ],\n selectOperators: [\n { label: 'É', value: 'eq' as const },\n { label: 'Não é', value: 'ne' as const },\n { label: 'Está vazio', value: 'isEmpty' as const },\n { label: 'Não está vazio', value: 'isNotEmpty' as const },\n ],\n multiSelectOperators: [\n { label: 'Contém algum de', value: 'inArray' as const },\n { label: 'Não contém nenhum de', value: 'notInArray' as const },\n { label: 'Está vazio', value: 'isEmpty' as const },\n { label: 'Não está vazio', value: 'isNotEmpty' as const },\n ],\n booleanOperators: [\n { label: 'É', value: 'eq' as const },\n { label: 'Não é', value: 'ne' as const },\n ],\n sortOrders: [\n { label: 'Asc', value: 'asc' as const },\n { label: 'Desc', value: 'desc' as const },\n ],\n filterVariants: [\n 'text',\n 'number',\n 'range',\n 'date',\n 'dateRange',\n 'boolean',\n 'select',\n 'multiSelect',\n ] as const,\n operators: [\n 'iLike',\n 'notILike',\n 'eq',\n 'ne',\n 'inArray',\n 'notInArray',\n 'isEmpty',\n 'isNotEmpty',\n 'lt',\n 'lte',\n 'gt',\n 'gte',\n 'isBetween',\n 'isRelativeToToday',\n ] as const,\n joinOperators: ['and', 'or'] as const,\n}\n"],"names":["dataTableConfig"],"mappings":"kzBAEO,IAAMA,gBAAkB,CAC7B,cAAe,CACb,CAAE,MAAO,YAAU,MAAO,OAAiB,EAC3C,CAAE,MAAO,mBAAc,MAAO,UAAoB,EAClD,CAAE,MAAO,OAAK,MAAO,IAAc,EACnC,CAAE,MAAO,cAAS,MAAO,IAAc,EACvC,CAAE,MAAO,gBAAc,MAAO,SAAmB,EACjD,CAAE,MAAO,uBAAkB,MAAO,YAAsB,EACzD,CACD,iBAAkB,CAChB,CAAE,MAAO,OAAK,MAAO,IAAc,EACnC,CAAE,MAAO,cAAS,MAAO,IAAc,EACvC,CAAE,MAAO,iBAAe,MAAO,IAAc,EAC7C,CAAE,MAAO,wBAAsB,MAAO,KAAe,EACrD,CAAE,MAAO,iBAAe,MAAO,IAAc,EAC7C,CAAE,MAAO,wBAAsB,MAAO,KAAe,EACrD,CAAE,MAAO,gBAAc,MAAO,WAAqB,EACnD,CAAE,MAAO,gBAAc,MAAO,SAAmB,EACjD,CAAE,MAAO,uBAAkB,MAAO,YAAsB,EACzD,CACD,cAAe,CACb,CAAE,MAAO,OAAK,MAAO,IAAc,EACnC,CAAE,MAAO,cAAS,MAAO,IAAc,EACvC,CAAE,MAAO,gBAAc,MAAO,IAAc,EAC5C,CAAE,MAAO,iBAAe,MAAO,IAAc,EAC7C,CAAE,MAAO,sBAAoB,MAAO,KAAe,EACnD,CAAE,MAAO,uBAAqB,MAAO,KAAe,EACpD,CAAE,MAAO,gBAAc,MAAO,WAAqB,EACnD,CAAE,MAAO,uBAAqB,MAAO,mBAA6B,EAClE,CAAE,MAAO,gBAAc,MAAO,SAAmB,EACjD,CAAE,MAAO,uBAAkB,MAAO,YAAsB,EACzD,CACD,gBAAiB,CACf,CAAE,MAAO,OAAK,MAAO,IAAc,EACnC,CAAE,MAAO,cAAS,MAAO,IAAc,EACvC,CAAE,MAAO,gBAAc,MAAO,SAAmB,EACjD,CAAE,MAAO,uBAAkB,MAAO,YAAsB,EACzD,CACD,qBAAsB,CACpB,CAAE,MAAO,qBAAmB,MAAO,SAAmB,EACtD,CAAE,MAAO,6BAAwB,MAAO,YAAsB,EAC9D,CAAE,MAAO,gBAAc,MAAO,SAAmB,EACjD,CAAE,MAAO,uBAAkB,MAAO,YAAsB,EACzD,CACD,iBAAkB,CAChB,CAAE,MAAO,OAAK,MAAO,IAAc,EACnC,CAAE,MAAO,cAAS,MAAO,IAAc,EACxC,CACD,WAAY,CACV,CAAE,MAAO,MAAO,MAAO,KAAe,EACtC,CAAE,MAAO,OAAQ,MAAO,MAAgB,EACzC,CACD,eAAgB,CACd,OACA,SACA,QACA,OACA,YACA,UACA,SACA,cACD,CACD,UAAW,CACT,QACA,WACA,KACA,KACA,UACA,aACA,UACA,aACA,KACA,MACA,KACA,MACA,YACA,oBACD,CACD,cAAe,CAAC,MAAO,KAAK,AAC9B,E"}
1
+ {"version":3,"file":"lib\\data-table-config.cjs","sources":["webpack://@gbmtech/aurora-ui/./src/lib/data-table-config.ts"],"sourcesContent":["export type DataTableConfig = typeof dataTableConfig\n\nexport const dataTableConfig = {\n textOperators: [\n { label: 'Contém', value: 'iLike' as const },\n { label: 'Não contém', value: 'notILike' as const },\n { label: 'É', value: 'eq' as const },\n { label: 'Não é', value: 'ne' as const },\n { label: 'Está vazio', value: 'isEmpty' as const },\n { label: 'Não está vazio', value: 'isNotEmpty' as const },\n ],\n numericOperators: [\n { label: 'É', value: 'eq' as const },\n { label: 'Não é', value: 'ne' as const },\n { label: 'É menor que', value: 'lt' as const },\n { label: 'É menor ou igual a', value: 'lte' as const },\n { label: 'É maior que', value: 'gt' as const },\n { label: 'É maior ou igual a', value: 'gte' as const },\n { label: 'Está entre', value: 'isBetween' as const },\n { label: 'Está vazio', value: 'isEmpty' as const },\n { label: 'Não está vazio', value: 'isNotEmpty' as const },\n ],\n dateOperators: [\n { label: 'É', value: 'eq' as const },\n { label: 'Não é', value: 'ne' as const },\n { label: 'É antes', value: 'lt' as const },\n { label: 'É depois', value: 'gt' as const },\n { label: 'É até ou antes de', value: 'lte' as const },\n { label: 'É até ou depois de', value: 'gte' as const },\n { label: 'Está entre', value: 'isBetween' as const },\n { label: 'É relativo a hoje', value: 'isRelativeToToday' as const },\n { label: 'Está vazio', value: 'isEmpty' as const },\n { label: 'Não está vazio', value: 'isNotEmpty' as const },\n ],\n selectOperators: [\n { label: 'É', value: 'eq' as const },\n { label: 'Não é', value: 'ne' as const },\n { label: 'Está vazio', value: 'isEmpty' as const },\n { label: 'Não está vazio', value: 'isNotEmpty' as const },\n ],\n multiSelectOperators: [\n { label: 'Tem algum de', value: 'inArray' as const },\n { label: 'Não tem nenhum de', value: 'notInArray' as const },\n { label: 'Está vazio', value: 'isEmpty' as const },\n { label: 'Não está vazio', value: 'isNotEmpty' as const },\n ],\n booleanOperators: [\n { label: 'É', value: 'eq' as const },\n { label: 'Não é', value: 'ne' as const },\n ],\n sortOrders: [\n { label: 'Asc', value: 'asc' as const },\n { label: 'Desc', value: 'desc' as const },\n ],\n filterVariants: [\n 'text',\n 'number',\n 'range',\n 'date',\n 'dateRange',\n 'boolean',\n 'select',\n 'multiSelect',\n ] as const,\n operators: [\n 'iLike',\n 'notILike',\n 'eq',\n 'ne',\n 'inArray',\n 'notInArray',\n 'isEmpty',\n 'isNotEmpty',\n 'lt',\n 'lte',\n 'gt',\n 'gte',\n 'isBetween',\n 'isRelativeToToday',\n ] as const,\n joinOperators: ['e', 'ou'] as const,\n}\n"],"names":["dataTableConfig"],"mappings":"kzBAEO,IAAMA,gBAAkB,CAC7B,cAAe,CACb,CAAE,MAAO,YAAU,MAAO,OAAiB,EAC3C,CAAE,MAAO,mBAAc,MAAO,UAAoB,EAClD,CAAE,MAAO,OAAK,MAAO,IAAc,EACnC,CAAE,MAAO,cAAS,MAAO,IAAc,EACvC,CAAE,MAAO,gBAAc,MAAO,SAAmB,EACjD,CAAE,MAAO,uBAAkB,MAAO,YAAsB,EACzD,CACD,iBAAkB,CAChB,CAAE,MAAO,OAAK,MAAO,IAAc,EACnC,CAAE,MAAO,cAAS,MAAO,IAAc,EACvC,CAAE,MAAO,iBAAe,MAAO,IAAc,EAC7C,CAAE,MAAO,wBAAsB,MAAO,KAAe,EACrD,CAAE,MAAO,iBAAe,MAAO,IAAc,EAC7C,CAAE,MAAO,wBAAsB,MAAO,KAAe,EACrD,CAAE,MAAO,gBAAc,MAAO,WAAqB,EACnD,CAAE,MAAO,gBAAc,MAAO,SAAmB,EACjD,CAAE,MAAO,uBAAkB,MAAO,YAAsB,EACzD,CACD,cAAe,CACb,CAAE,MAAO,OAAK,MAAO,IAAc,EACnC,CAAE,MAAO,cAAS,MAAO,IAAc,EACvC,CAAE,MAAO,aAAW,MAAO,IAAc,EACzC,CAAE,MAAO,cAAY,MAAO,IAAc,EAC1C,CAAE,MAAO,0BAAqB,MAAO,KAAe,EACpD,CAAE,MAAO,2BAAsB,MAAO,KAAe,EACrD,CAAE,MAAO,gBAAc,MAAO,WAAqB,EACnD,CAAE,MAAO,uBAAqB,MAAO,mBAA6B,EAClE,CAAE,MAAO,gBAAc,MAAO,SAAmB,EACjD,CAAE,MAAO,uBAAkB,MAAO,YAAsB,EACzD,CACD,gBAAiB,CACf,CAAE,MAAO,OAAK,MAAO,IAAc,EACnC,CAAE,MAAO,cAAS,MAAO,IAAc,EACvC,CAAE,MAAO,gBAAc,MAAO,SAAmB,EACjD,CAAE,MAAO,uBAAkB,MAAO,YAAsB,EACzD,CACD,qBAAsB,CACpB,CAAE,MAAO,eAAgB,MAAO,SAAmB,EACnD,CAAE,MAAO,uBAAqB,MAAO,YAAsB,EAC3D,CAAE,MAAO,gBAAc,MAAO,SAAmB,EACjD,CAAE,MAAO,uBAAkB,MAAO,YAAsB,EACzD,CACD,iBAAkB,CAChB,CAAE,MAAO,OAAK,MAAO,IAAc,EACnC,CAAE,MAAO,cAAS,MAAO,IAAc,EACxC,CACD,WAAY,CACV,CAAE,MAAO,MAAO,MAAO,KAAe,EACtC,CAAE,MAAO,OAAQ,MAAO,MAAgB,EACzC,CACD,eAAgB,CACd,OACA,SACA,QACA,OACA,YACA,UACA,SACA,cACD,CACD,UAAW,CACT,QACA,WACA,KACA,KACA,UACA,aACA,UACA,aACA,KACA,MACA,KACA,MACA,YACA,oBACD,CACD,cAAe,CAAC,IAAK,KAAK,AAC5B,E"}
@@ -1,3 +1,3 @@
1
1
  'use client'
2
- import*as e from"react/jsx-runtime";import*as r from"@phosphor-icons/react";import*as t from"react";import*as a from"../button.js";import*as o from"../calendar.js";import*as i from"../popover.js";import*as n from"../separator.js";import*as s from"../../lib/format.js";function l(e){return e&&"object"==typeof e&&!Array.isArray(e)}function m(e){if(!e)return;let r=new Date("string"==typeof e?Number(e):e);return Number.isNaN(r.getTime())?void 0:r}function c(e){return null==e?[]:Array.isArray(e)?e.map(e=>{if("number"==typeof e||"string"==typeof e)return e}):"string"==typeof e||"number"==typeof e?[e]:[]}function f({column:f,title:u,multiple:d}){let p=f.getFilterValue(),x=t.useMemo(()=>{if(!p)return d?{from:void 0,to:void 0}:[];if(d){let e=c(p);return{from:m(e[0]),to:m(e[1])}}let e=m(c(p)[0]);return e?[e]:[]},[p,d]),g=t.useCallback(e=>{if(!e)return void f.setFilterValue(void 0);if(!d||"getTime"in e)!d&&"getTime"in e&&f.setFilterValue(e.getTime());else{let r=e.from?.getTime(),t=e.to?.getTime();f.setFilterValue(r||t?[r,t]:void 0)}},[f,d]),j=t.useCallback(e=>{e.stopPropagation(),f.setFilterValue(void 0)},[f]),v=t.useMemo(()=>d?!!l(x)&&(x.from||x.to):!!Array.isArray(x)&&x.length>0,[d,x]),h=t.useCallback(e=>e.from||e.to?e.from&&e.to?`${(0,s.formatDate)(e.from)} - ${(0,s.formatDate)(e.to)}`:(0,s.formatDate)(e.from??e.to):"",[]),b=t.useMemo(()=>{if(d){if(!l(x))return null;let r=x.from||x.to,t=r?h(x):"Select date range";return(0,e.jsxs)("span",{className:"flex items-center gap-2",children:[(0,e.jsx)("span",{children:u}),r&&(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(n.Separator,{orientation:"vertical",className:"mx-0.5 data-[orientation=vertical]:h-4"}),(0,e.jsx)("span",{children:t})]})]})}if(l(x))return null;let r=x.length>0,t=r?(0,s.formatDate)(x[0]):"Select date";return(0,e.jsxs)("span",{className:"flex items-center gap-2",children:[(0,e.jsx)("span",{children:u}),r&&(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(n.Separator,{orientation:"vertical",className:"mx-0.5 data-[orientation=vertical]:h-4"}),(0,e.jsx)("span",{children:t})]})]})},[x,d,h,u]);return(0,e.jsxs)(i.Popover,{children:[(0,e.jsx)(i.PopoverTrigger,{asChild:!0,children:(0,e.jsxs)(a.Button,{variant:"secondary",size:"xs",children:[v?(0,e.jsx)("div",{role:"button","aria-label":`Clear ${u} filter`,tabIndex:0,onClick:j,className:"rounded-sm opacity-70 transition-opacity hover:opacity-100 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring",children:(0,e.jsx)(r.XCircle,{})}):(0,e.jsx)(r.CalendarBlank,{}),b]})}),(0,e.jsx)(i.PopoverContent,{className:"w-auto p-0",align:"start",children:d?(0,e.jsx)(o.Calendar,{initialFocus:!0,mode:"range",selected:l(x)?x:{from:void 0,to:void 0},onSelect:g}):(0,e.jsx)(o.Calendar,{initialFocus:!0,mode:"single",selected:l(x)?void 0:x[0],onSelect:g})})]})}export{f as DataTableDateFilter};
2
+ import*as e from"react/jsx-runtime";import*as r from"@phosphor-icons/react";import*as t from"react";import*as a from"../button.js";import*as o from"../calendar.js";import*as i from"../popover.js";import*as n from"../separator.js";import*as s from"../../lib/format.js";function l(e){return e&&"object"==typeof e&&!Array.isArray(e)}function m(e){if(!e)return;let r=new Date("string"==typeof e?Number(e):e);return Number.isNaN(r.getTime())?void 0:r}function c(e){return null==e?[]:Array.isArray(e)?e.map(e=>{if("number"==typeof e||"string"==typeof e)return e}):"string"==typeof e||"number"==typeof e?[e]:[]}function f({column:f,title:u,multiple:d}){let p=f.getFilterValue(),g=t.useMemo(()=>{if(!p)return d?{from:void 0,to:void 0}:[];if(d){let e=c(p);return{from:m(e[0]),to:m(e[1])}}let e=m(c(p)[0]);return e?[e]:[]},[p,d]),j=t.useCallback(e=>{if(!e)return void f.setFilterValue(void 0);if(!d||"getTime"in e)!d&&"getTime"in e&&f.setFilterValue(e.getTime());else{let r=e.from?.getTime(),t=e.to?.getTime();f.setFilterValue(r||t?[r,t]:void 0)}},[f,d]),x=t.useCallback(e=>{e.stopPropagation(),f.setFilterValue(void 0)},[f]),v=t.useMemo(()=>d?!!l(g)&&(g.from||g.to):!!Array.isArray(g)&&g.length>0,[d,g]),h=t.useCallback(e=>e.from||e.to?e.from&&e.to?`${(0,s.formatDate)(e.from)} - ${(0,s.formatDate)(e.to)}`:(0,s.formatDate)(e.from??e.to):"",[]),b=t.useMemo(()=>{if(d){if(!l(g))return null;let r=g.from||g.to,t=r?h(g):"Select date range";return(0,e.jsxs)("span",{className:"flex items-center gap-2",children:[(0,e.jsx)("span",{children:u}),r&&(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(n.Separator,{orientation:"vertical",className:"mx-0.5 data-[orientation=vertical]:h-4"}),(0,e.jsx)("span",{children:t})]})]})}if(l(g))return null;let r=g.length>0,t=r?(0,s.formatDate)(g[0]):"Select date";return(0,e.jsxs)("span",{className:"flex items-center gap-2",children:[(0,e.jsx)("span",{children:u}),r&&(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(n.Separator,{orientation:"vertical",className:"mx-0.5 data-[orientation=vertical]:h-4"}),(0,e.jsx)("span",{children:t})]})]})},[g,d,h,u]);return(0,e.jsxs)(i.Popover,{children:[(0,e.jsx)(i.PopoverTrigger,{asChild:!0,children:(0,e.jsxs)(a.Button,{variant:"secondary",size:"sm",children:[v?(0,e.jsx)("div",{role:"button","aria-label":`Clear ${u} filter`,tabIndex:0,onClick:x,className:"rounded-sm opacity-70 transition-opacity hover:opacity-100 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring",children:(0,e.jsx)(r.XCircle,{})}):(0,e.jsx)(r.CalendarBlank,{}),b]})}),(0,e.jsx)(i.PopoverContent,{className:"w-auto p-0",align:"start",children:d?(0,e.jsx)(o.Calendar,{initialFocus:!0,mode:"range",selected:l(g)?g:{from:void 0,to:void 0},onSelect:j}):(0,e.jsx)(o.Calendar,{initialFocus:!0,mode:"single",selected:l(g)?void 0:g[0],onSelect:j})})]})}export{f as DataTableDateFilter};
3
3
  //# sourceMappingURL=data-table-date-filter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"components\\data-table\\data-table-date-filter.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/data-table/data-table-date-filter.tsx"],"sourcesContent":["\r\n\r\nimport { CalendarBlank, XCircle } from '@phosphor-icons/react'\r\nimport type { Column } from '@tanstack/react-table'\r\nimport * as React from 'react'\r\nimport type { DateRange } from 'react-day-picker'\r\n\r\nimport { Button } from '@/components/button'\r\nimport { Calendar } from '@/components/calendar'\r\nimport { Popover, PopoverContent, PopoverTrigger } from '@/components/popover'\r\nimport { Separator } from '@/components/separator'\r\nimport { formatDate } from '@/lib/format'\r\n\r\ntype DateSelection = Date[] | DateRange\r\n\r\nfunction getIsDateRange(value: DateSelection): value is DateRange {\r\n return value && typeof value === 'object' && !Array.isArray(value)\r\n}\r\n\r\nfunction parseAsDate(timestamp: number | string | undefined): Date | undefined {\r\n if (!timestamp) return undefined\r\n const numericTimestamp =\r\n typeof timestamp === 'string' ? Number(timestamp) : timestamp\r\n const date = new Date(numericTimestamp)\r\n return !Number.isNaN(date.getTime()) ? date : undefined\r\n}\r\n\r\nfunction parseColumnFilterValue(value: unknown) {\r\n if (value === null || value === undefined) {\r\n return []\r\n }\r\n\r\n if (Array.isArray(value)) {\r\n return value.map(item => {\r\n if (typeof item === 'number' || typeof item === 'string') {\r\n return item\r\n }\r\n return undefined\r\n })\r\n }\r\n\r\n if (typeof value === 'string' || typeof value === 'number') {\r\n return [value]\r\n }\r\n\r\n return []\r\n}\r\n\r\ninterface DataTableDateFilterProps<TData> {\r\n column: Column<TData, unknown>\r\n title?: string\r\n multiple?: boolean\r\n}\r\n\r\nexport function DataTableDateFilter<TData>({\r\n column,\r\n title,\r\n multiple,\r\n}: DataTableDateFilterProps<TData>) {\r\n const columnFilterValue = column.getFilterValue()\r\n\r\n const selectedDates = React.useMemo<DateSelection>(() => {\r\n if (!columnFilterValue) {\r\n return multiple ? { from: undefined, to: undefined } : []\r\n }\r\n\r\n if (multiple) {\r\n const timestamps = parseColumnFilterValue(columnFilterValue)\r\n return {\r\n from: parseAsDate(timestamps[0]),\r\n to: parseAsDate(timestamps[1]),\r\n }\r\n }\r\n\r\n const timestamps = parseColumnFilterValue(columnFilterValue)\r\n const date = parseAsDate(timestamps[0])\r\n return date ? [date] : []\r\n }, [columnFilterValue, multiple])\r\n\r\n const onSelect = React.useCallback(\r\n (date: Date | DateRange | undefined) => {\r\n if (!date) {\r\n column.setFilterValue(undefined)\r\n return\r\n }\r\n\r\n if (multiple && !('getTime' in date)) {\r\n const from = date.from?.getTime()\r\n const to = date.to?.getTime()\r\n column.setFilterValue(from || to ? [from, to] : undefined)\r\n } else if (!multiple && 'getTime' in date) {\r\n column.setFilterValue(date.getTime())\r\n }\r\n },\r\n [column, multiple]\r\n )\r\n\r\n const onReset = React.useCallback(\r\n (event: React.MouseEvent) => {\r\n event.stopPropagation()\r\n column.setFilterValue(undefined)\r\n },\r\n [column]\r\n )\r\n\r\n const hasValue = React.useMemo(() => {\r\n if (multiple) {\r\n if (!getIsDateRange(selectedDates)) return false\r\n return selectedDates.from || selectedDates.to\r\n }\r\n if (!Array.isArray(selectedDates)) return false\r\n return selectedDates.length > 0\r\n }, [multiple, selectedDates])\r\n\r\n const formatDateRange = React.useCallback((range: DateRange) => {\r\n if (!range.from && !range.to) return ''\r\n if (range.from && range.to) {\r\n return `${formatDate(range.from)} - ${formatDate(range.to)}`\r\n }\r\n return formatDate(range.from ?? range.to)\r\n }, [])\r\n\r\n const label = React.useMemo(() => {\r\n if (multiple) {\r\n if (!getIsDateRange(selectedDates)) return null\r\n\r\n const hasSelectedDates = selectedDates.from || selectedDates.to\r\n const dateText = hasSelectedDates\r\n ? formatDateRange(selectedDates)\r\n : 'Select date range'\r\n\r\n return (\r\n <span className=\"flex items-center gap-2\">\r\n <span>{title}</span>\r\n {hasSelectedDates && (\r\n <>\r\n <Separator\r\n orientation=\"vertical\"\r\n className=\"mx-0.5 data-[orientation=vertical]:h-4\"\r\n />\r\n <span>{dateText}</span>\r\n </>\r\n )}\r\n </span>\r\n )\r\n }\r\n\r\n if (getIsDateRange(selectedDates)) return null\r\n\r\n const hasSelectedDate = selectedDates.length > 0\r\n const dateText = hasSelectedDate\r\n ? formatDate(selectedDates[0])\r\n : 'Select date'\r\n\r\n return (\r\n <span className=\"flex items-center gap-2\">\r\n <span>{title}</span>\r\n {hasSelectedDate && (\r\n <>\r\n <Separator\r\n orientation=\"vertical\"\r\n className=\"mx-0.5 data-[orientation=vertical]:h-4\"\r\n />\r\n <span>{dateText}</span>\r\n </>\r\n )}\r\n </span>\r\n )\r\n }, [selectedDates, multiple, formatDateRange, title])\r\n\r\n return (\r\n <Popover>\r\n <PopoverTrigger asChild>\r\n <Button variant=\"secondary\" size=\"xs\">\r\n {hasValue ? (\r\n <div\r\n role=\"button\"\r\n aria-label={`Clear ${title} filter`}\r\n tabIndex={0}\r\n onClick={onReset}\r\n className=\"rounded-sm opacity-70 transition-opacity hover:opacity-100 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring\"\r\n >\r\n <XCircle />\r\n </div>\r\n ) : (\r\n <CalendarBlank />\r\n )}\r\n {label}\r\n </Button>\r\n </PopoverTrigger>\r\n <PopoverContent className=\"w-auto p-0\" align=\"start\">\r\n {multiple ? (\r\n <Calendar\r\n initialFocus\r\n mode=\"range\"\r\n selected={\r\n getIsDateRange(selectedDates)\r\n ? selectedDates\r\n : { from: undefined, to: undefined }\r\n }\r\n onSelect={onSelect}\r\n />\r\n ) : (\r\n <Calendar\r\n initialFocus\r\n mode=\"single\"\r\n selected={\r\n !getIsDateRange(selectedDates) ? selectedDates[0] : undefined\r\n }\r\n onSelect={onSelect}\r\n />\r\n )}\r\n </PopoverContent>\r\n </Popover>\r\n )\r\n}\r\n"],"names":["getIsDateRange","value","Array","parseAsDate","timestamp","date","Date","Number","undefined","parseColumnFilterValue","item","DataTableDateFilter","column","title","multiple","columnFilterValue","selectedDates","React","timestamps","onSelect","from","to","onReset","event","hasValue","formatDateRange","range","formatDate","label","hasSelectedDates","dateText","Separator","hasSelectedDate","Popover","PopoverTrigger","Button","XCircle","CalendarBlank","PopoverContent","Calendar"],"mappings":"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"}
1
+ {"version":3,"file":"components\\data-table\\data-table-date-filter.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/data-table/data-table-date-filter.tsx"],"sourcesContent":["\r\n\r\nimport { CalendarBlank, XCircle } from '@phosphor-icons/react'\r\nimport type { Column } from '@tanstack/react-table'\r\nimport * as React from 'react'\r\nimport type { DateRange } from 'react-day-picker'\r\n\r\nimport { Button } from '@/components/button'\r\nimport { Calendar } from '@/components/calendar'\r\nimport { Popover, PopoverContent, PopoverTrigger } from '@/components/popover'\r\nimport { Separator } from '@/components/separator'\r\nimport { formatDate } from '@/lib/format'\r\n\r\ntype DateSelection = Date[] | DateRange\r\n\r\nfunction getIsDateRange(value: DateSelection): value is DateRange {\r\n return value && typeof value === 'object' && !Array.isArray(value)\r\n}\r\n\r\nfunction parseAsDate(timestamp: number | string | undefined): Date | undefined {\r\n if (!timestamp) return undefined\r\n const numericTimestamp =\r\n typeof timestamp === 'string' ? Number(timestamp) : timestamp\r\n const date = new Date(numericTimestamp)\r\n return !Number.isNaN(date.getTime()) ? date : undefined\r\n}\r\n\r\nfunction parseColumnFilterValue(value: unknown) {\r\n if (value === null || value === undefined) {\r\n return []\r\n }\r\n\r\n if (Array.isArray(value)) {\r\n return value.map(item => {\r\n if (typeof item === 'number' || typeof item === 'string') {\r\n return item\r\n }\r\n return undefined\r\n })\r\n }\r\n\r\n if (typeof value === 'string' || typeof value === 'number') {\r\n return [value]\r\n }\r\n\r\n return []\r\n}\r\n\r\ninterface DataTableDateFilterProps<TData> {\r\n column: Column<TData, unknown>\r\n title?: string\r\n multiple?: boolean\r\n}\r\n\r\nexport function DataTableDateFilter<TData>({\r\n column,\r\n title,\r\n multiple,\r\n}: DataTableDateFilterProps<TData>) {\r\n const columnFilterValue = column.getFilterValue()\r\n\r\n const selectedDates = React.useMemo<DateSelection>(() => {\r\n if (!columnFilterValue) {\r\n return multiple ? { from: undefined, to: undefined } : []\r\n }\r\n\r\n if (multiple) {\r\n const timestamps = parseColumnFilterValue(columnFilterValue)\r\n return {\r\n from: parseAsDate(timestamps[0]),\r\n to: parseAsDate(timestamps[1]),\r\n }\r\n }\r\n\r\n const timestamps = parseColumnFilterValue(columnFilterValue)\r\n const date = parseAsDate(timestamps[0])\r\n return date ? [date] : []\r\n }, [columnFilterValue, multiple])\r\n\r\n const onSelect = React.useCallback(\r\n (date: Date | DateRange | undefined) => {\r\n if (!date) {\r\n column.setFilterValue(undefined)\r\n return\r\n }\r\n\r\n if (multiple && !('getTime' in date)) {\r\n const from = date.from?.getTime()\r\n const to = date.to?.getTime()\r\n column.setFilterValue(from || to ? [from, to] : undefined)\r\n } else if (!multiple && 'getTime' in date) {\r\n column.setFilterValue(date.getTime())\r\n }\r\n },\r\n [column, multiple]\r\n )\r\n\r\n const onReset = React.useCallback(\r\n (event: React.MouseEvent) => {\r\n event.stopPropagation()\r\n column.setFilterValue(undefined)\r\n },\r\n [column]\r\n )\r\n\r\n const hasValue = React.useMemo(() => {\r\n if (multiple) {\r\n if (!getIsDateRange(selectedDates)) return false\r\n return selectedDates.from || selectedDates.to\r\n }\r\n if (!Array.isArray(selectedDates)) return false\r\n return selectedDates.length > 0\r\n }, [multiple, selectedDates])\r\n\r\n const formatDateRange = React.useCallback((range: DateRange) => {\r\n if (!range.from && !range.to) return ''\r\n if (range.from && range.to) {\r\n return `${formatDate(range.from)} - ${formatDate(range.to)}`\r\n }\r\n return formatDate(range.from ?? range.to)\r\n }, [])\r\n\r\n const label = React.useMemo(() => {\r\n if (multiple) {\r\n if (!getIsDateRange(selectedDates)) return null\r\n\r\n const hasSelectedDates = selectedDates.from || selectedDates.to\r\n const dateText = hasSelectedDates\r\n ? formatDateRange(selectedDates)\r\n : 'Select date range'\r\n\r\n return (\r\n <span className=\"flex items-center gap-2\">\r\n <span>{title}</span>\r\n {hasSelectedDates && (\r\n <>\r\n <Separator\r\n orientation=\"vertical\"\r\n className=\"mx-0.5 data-[orientation=vertical]:h-4\"\r\n />\r\n <span>{dateText}</span>\r\n </>\r\n )}\r\n </span>\r\n )\r\n }\r\n\r\n if (getIsDateRange(selectedDates)) return null\r\n\r\n const hasSelectedDate = selectedDates.length > 0\r\n const dateText = hasSelectedDate\r\n ? formatDate(selectedDates[0])\r\n : 'Select date'\r\n\r\n return (\r\n <span className=\"flex items-center gap-2\">\r\n <span>{title}</span>\r\n {hasSelectedDate && (\r\n <>\r\n <Separator\r\n orientation=\"vertical\"\r\n className=\"mx-0.5 data-[orientation=vertical]:h-4\"\r\n />\r\n <span>{dateText}</span>\r\n </>\r\n )}\r\n </span>\r\n )\r\n }, [selectedDates, multiple, formatDateRange, title])\r\n\r\n return (\r\n <Popover>\r\n <PopoverTrigger asChild>\r\n <Button variant=\"secondary\" size=\"sm\">\r\n {hasValue ? (\r\n <div\r\n role=\"button\"\r\n aria-label={`Clear ${title} filter`}\r\n tabIndex={0}\r\n onClick={onReset}\r\n className=\"rounded-sm opacity-70 transition-opacity hover:opacity-100 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring\"\r\n >\r\n <XCircle />\r\n </div>\r\n ) : (\r\n <CalendarBlank />\r\n )}\r\n {label}\r\n </Button>\r\n </PopoverTrigger>\r\n <PopoverContent className=\"w-auto p-0\" align=\"start\">\r\n {multiple ? (\r\n <Calendar\r\n initialFocus\r\n mode=\"range\"\r\n selected={\r\n getIsDateRange(selectedDates)\r\n ? selectedDates\r\n : { from: undefined, to: undefined }\r\n }\r\n onSelect={onSelect}\r\n />\r\n ) : (\r\n <Calendar\r\n initialFocus\r\n mode=\"single\"\r\n selected={\r\n !getIsDateRange(selectedDates) ? selectedDates[0] : undefined\r\n }\r\n onSelect={onSelect}\r\n />\r\n )}\r\n </PopoverContent>\r\n </Popover>\r\n )\r\n}\r\n"],"names":["getIsDateRange","value","Array","parseAsDate","timestamp","date","Date","Number","undefined","parseColumnFilterValue","item","DataTableDateFilter","column","title","multiple","columnFilterValue","selectedDates","React","timestamps","onSelect","from","to","onReset","event","hasValue","formatDateRange","range","formatDate","label","hasSelectedDates","dateText","Separator","hasSelectedDate","Popover","PopoverTrigger","Button","XCircle","CalendarBlank","PopoverContent","Calendar"],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  'use client'
2
- import*as e from"react/jsx-runtime";import*as a from"@phosphor-icons/react";import*as s from"../badge.js";import*as r from"../button.js";import*as o from"../command.js";import*as i from"../popover.js";import*as t from"../separator.js";import*as n from"../../lib/utils.js";import*as l from"react";function m({column:m,title:c,options:d,multiple:p}){let[u,x]=l.useState(!1),h=m?.getFilterValue(),j=new Set(Array.isArray(h)?h:[]),f=l.useCallback((e,a)=>{if(m)if(p){let s=new Set(j);a?s.delete(e.value):s.add(e.value);let r=Array.from(s);m.setFilterValue(r.length?r:void 0)}else m.setFilterValue(a?void 0:[e.value]),x(!1)},[m,p,j]),v=l.useCallback(e=>{e?.stopPropagation(),m?.setFilterValue(void 0)},[m]);return(0,e.jsxs)(i.Popover,{open:u,onOpenChange:x,children:[(0,e.jsx)(i.PopoverTrigger,{asChild:!0,children:(0,e.jsxs)(r.Button,{variant:"secondary",size:"xs",children:[j?.size>0?(0,e.jsx)("div",{role:"button","aria-label":`Clear ${c} filter`,tabIndex:0,onClick:v,className:"rounded-sm opacity-70 transition-opacity hover:opacity-100 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring",children:(0,e.jsx)(a.XCircle,{})}):(0,e.jsx)(a.PlusCircle,{}),c,j?.size>0&&(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(t.Separator,{orientation:"vertical",className:"mx-0.5 data-[orientation=vertical]:h-4"}),(0,e.jsx)(s.Badge,{variant:"secondary",className:"rounded-sm px-1 font-normal lg:hidden",children:j.size}),(0,e.jsx)("div",{className:"hidden items-center gap-1 lg:flex",children:j.size>2?(0,e.jsxs)(s.Badge,{variant:"secondary",className:"rounded-sm px-1 font-normal",children:[j.size," selected"]}):d.filter(e=>j.has(e.value)).map(a=>(0,e.jsx)(s.Badge,{variant:"secondary",className:"rounded-sm px-1 font-normal",children:a.label},a.value))})]})]})}),(0,e.jsx)(i.PopoverContent,{className:"w-[12.5rem] p-0",align:"start",children:(0,e.jsxs)(o.Command,{children:[(0,e.jsx)(o.CommandInput,{placeholder:c}),(0,e.jsxs)(o.CommandList,{className:"max-h-full",children:[(0,e.jsx)(o.CommandEmpty,{children:"No results found."}),(0,e.jsx)(o.CommandGroup,{className:"max-h-[18.75rem] overflow-y-auto overflow-x-hidden",children:d.map(s=>{let r=j.has(s.value);return(0,e.jsxs)(o.CommandItem,{onSelect:()=>f(s,r),children:[(0,e.jsx)("div",{className:(0,n.cn)("flex size-4 items-center justify-center rounded-sm border border-primary",r?"bg-primary":"opacity-50 [&_svg]:invisible"),children:(0,e.jsx)(a.Check,{})}),s.icon&&(0,e.jsx)(s.icon,{}),(0,e.jsx)("span",{className:"truncate",children:s.label}),s.count&&(0,e.jsx)("span",{className:"ml-auto font-mono text-xs",children:s.count})]},s.value)})}),j.size>0&&(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(o.CommandSeparator,{}),(0,e.jsx)(o.CommandGroup,{children:(0,e.jsx)(o.CommandItem,{onSelect:()=>v(),className:"justify-center text-center",children:"Limpar filtros"})})]})]})]})})]})}export{m as DataTableFacetedFilter};
2
+ import*as e from"react/jsx-runtime";import*as a from"@phosphor-icons/react";import*as s from"../badge.js";import*as r from"../button.js";import*as o from"../command.js";import*as i from"../popover.js";import*as t from"../separator.js";import*as n from"../../lib/utils.js";import*as l from"react";function m({column:m,title:c,options:d,multiple:p}){let[u,x]=l.useState(!1),h=m?.getFilterValue(),j=new Set(Array.isArray(h)?h:[]),f=l.useCallback((e,a)=>{if(m)if(p){let s=new Set(j);a?s.delete(e.value):s.add(e.value);let r=Array.from(s);m.setFilterValue(r.length?r:void 0)}else m.setFilterValue(a?void 0:[e.value]),x(!1)},[m,p,j]),v=l.useCallback(e=>{e?.stopPropagation(),m?.setFilterValue(void 0)},[m]);return(0,e.jsxs)(i.Popover,{open:u,onOpenChange:x,children:[(0,e.jsx)(i.PopoverTrigger,{asChild:!0,children:(0,e.jsxs)(r.Button,{variant:"secondary",size:"sm",children:[j?.size>0?(0,e.jsx)("div",{role:"button","aria-label":`Clear ${c} filter`,tabIndex:0,onClick:v,className:"rounded-sm opacity-70 transition-opacity hover:opacity-100 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring",children:(0,e.jsx)(a.XCircle,{})}):(0,e.jsx)(a.PlusCircle,{}),c,j?.size>0&&(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(t.Separator,{orientation:"vertical",className:"mx-0.5 data-[orientation=vertical]:h-4"}),(0,e.jsx)(s.Badge,{variant:"secondary",className:"rounded-sm px-1 font-normal lg:hidden",children:j.size}),(0,e.jsx)("div",{className:"hidden items-center gap-1 lg:flex",children:j.size>2?(0,e.jsxs)(s.Badge,{variant:"secondary",className:"rounded-sm px-1 font-normal",children:[j.size," selected"]}):d.filter(e=>j.has(e.value)).map(a=>(0,e.jsx)(s.Badge,{variant:"secondary",className:"rounded-sm px-1 font-normal",children:a.label},a.value))})]})]})}),(0,e.jsx)(i.PopoverContent,{className:"w-[12.5rem] p-0",align:"start",children:(0,e.jsxs)(o.Command,{children:[(0,e.jsx)(o.CommandInput,{placeholder:c}),(0,e.jsxs)(o.CommandList,{className:"max-h-full",children:[(0,e.jsx)(o.CommandEmpty,{children:"No results found."}),(0,e.jsx)(o.CommandGroup,{className:"max-h-[18.75rem] overflow-y-auto overflow-x-hidden",children:d.map(s=>{let r=j.has(s.value);return(0,e.jsxs)(o.CommandItem,{onSelect:()=>f(s,r),children:[(0,e.jsx)("div",{className:(0,n.cn)("flex size-4 items-center justify-center rounded-sm border border-primary",r?"bg-primary":"opacity-50 [&_svg]:invisible"),children:(0,e.jsx)(a.Check,{})}),s.icon&&(0,e.jsx)(s.icon,{}),(0,e.jsx)("span",{className:"truncate",children:s.label}),s.count&&(0,e.jsx)("span",{className:"ml-auto font-mono text-xs",children:s.count})]},s.value)})}),j.size>0&&(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(o.CommandSeparator,{}),(0,e.jsx)(o.CommandGroup,{children:(0,e.jsx)(o.CommandItem,{onSelect:()=>v(),className:"justify-center text-center",children:"Limpar filtros"})})]})]})]})})]})}export{m as DataTableFacetedFilter};
3
3
  //# sourceMappingURL=data-table-faceted-filter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"components\\data-table\\data-table-faceted-filter.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/data-table/data-table-faceted-filter.tsx"],"sourcesContent":["\r\n\r\nimport type { Option } from '@/types/data-table'\r\nimport { Check, PlusCircle, XCircle } from '@phosphor-icons/react'\r\nimport type { Column } from '@tanstack/react-table'\r\n\r\nimport { Badge } from '@/components/badge'\r\nimport { Button } from '@/components/button'\r\nimport {\r\n Command,\r\n CommandEmpty,\r\n CommandGroup,\r\n CommandInput,\r\n CommandItem,\r\n CommandList,\r\n CommandSeparator,\r\n} from '@/components/command'\r\nimport { Popover, PopoverContent, PopoverTrigger } from '@/components/popover'\r\nimport { Separator } from '@/components/separator'\r\nimport { cn } from '@/lib/utils'\r\nimport * as React from 'react'\r\n\r\ninterface DataTableFacetedFilterProps<TData, TValue> {\r\n column?: Column<TData, TValue>\r\n title?: string\r\n options: Option[]\r\n multiple?: boolean\r\n}\r\n\r\nexport function DataTableFacetedFilter<TData, TValue>({\r\n column,\r\n title,\r\n options,\r\n multiple,\r\n}: DataTableFacetedFilterProps<TData, TValue>) {\r\n const [open, setOpen] = React.useState(false)\r\n\r\n const columnFilterValue = column?.getFilterValue()\r\n const selectedValues = new Set(\r\n Array.isArray(columnFilterValue) ? columnFilterValue : []\r\n )\r\n\r\n const onItemSelect = React.useCallback(\r\n (option: Option, isSelected: boolean) => {\r\n if (!column) return\r\n\r\n if (multiple) {\r\n const newSelectedValues = new Set(selectedValues)\r\n if (isSelected) {\r\n newSelectedValues.delete(option.value)\r\n } else {\r\n newSelectedValues.add(option.value)\r\n }\r\n const filterValues = Array.from(newSelectedValues)\r\n column.setFilterValue(filterValues.length ? filterValues : undefined)\r\n } else {\r\n column.setFilterValue(isSelected ? undefined : [option.value])\r\n setOpen(false)\r\n }\r\n },\r\n [column, multiple, selectedValues]\r\n )\r\n\r\n const onReset = React.useCallback(\r\n (event?: React.MouseEvent) => {\r\n event?.stopPropagation()\r\n column?.setFilterValue(undefined)\r\n },\r\n [column]\r\n )\r\n\r\n return (\r\n <Popover open={open} onOpenChange={setOpen}>\r\n <PopoverTrigger asChild>\r\n <Button variant=\"secondary\" size=\"xs\">\r\n {selectedValues?.size > 0 ? (\r\n <div\r\n role=\"button\"\r\n aria-label={`Clear ${title} filter`}\r\n tabIndex={0}\r\n onClick={onReset}\r\n className=\"rounded-sm opacity-70 transition-opacity hover:opacity-100 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring\"\r\n >\r\n <XCircle />\r\n </div>\r\n ) : (\r\n <PlusCircle />\r\n )}\r\n {title}\r\n {selectedValues?.size > 0 && (\r\n <>\r\n <Separator\r\n orientation=\"vertical\"\r\n className=\"mx-0.5 data-[orientation=vertical]:h-4\"\r\n />\r\n <Badge\r\n variant=\"secondary\"\r\n className=\"rounded-sm px-1 font-normal lg:hidden\"\r\n >\r\n {selectedValues.size}\r\n </Badge>\r\n <div className=\"hidden items-center gap-1 lg:flex\">\r\n {selectedValues.size > 2 ? (\r\n <Badge\r\n variant=\"secondary\"\r\n className=\"rounded-sm px-1 font-normal\"\r\n >\r\n {selectedValues.size} selected\r\n </Badge>\r\n ) : (\r\n options\r\n .filter(option => selectedValues.has(option.value))\r\n .map(option => (\r\n <Badge\r\n variant=\"secondary\"\r\n key={option.value}\r\n className=\"rounded-sm px-1 font-normal\"\r\n >\r\n {option.label}\r\n </Badge>\r\n ))\r\n )}\r\n </div>\r\n </>\r\n )}\r\n </Button>\r\n </PopoverTrigger>\r\n <PopoverContent className=\"w-[12.5rem] p-0\" align=\"start\">\r\n <Command>\r\n <CommandInput placeholder={title} />\r\n <CommandList className=\"max-h-full\">\r\n <CommandEmpty>No results found.</CommandEmpty>\r\n <CommandGroup className=\"max-h-[18.75rem] overflow-y-auto overflow-x-hidden\">\r\n {options.map(option => {\r\n const isSelected = selectedValues.has(option.value)\r\n\r\n return (\r\n <CommandItem\r\n key={option.value}\r\n onSelect={() => onItemSelect(option, isSelected)}\r\n >\r\n <div\r\n className={cn(\r\n 'flex size-4 items-center justify-center rounded-sm border border-primary',\r\n isSelected\r\n ? 'bg-primary'\r\n : 'opacity-50 [&_svg]:invisible'\r\n )}\r\n >\r\n <Check />\r\n </div>\r\n {option.icon && <option.icon />}\r\n <span className=\"truncate\">{option.label}</span>\r\n {option.count && (\r\n <span className=\"ml-auto font-mono text-xs\">\r\n {option.count}\r\n </span>\r\n )}\r\n </CommandItem>\r\n )\r\n })}\r\n </CommandGroup>\r\n {selectedValues.size > 0 && (\r\n <>\r\n <CommandSeparator />\r\n <CommandGroup>\r\n <CommandItem\r\n onSelect={() => onReset()}\r\n className=\"justify-center text-center\"\r\n >\r\n Limpar filtros\r\n </CommandItem>\r\n </CommandGroup>\r\n </>\r\n )}\r\n </CommandList>\r\n </Command>\r\n </PopoverContent>\r\n </Popover>\r\n )\r\n}\r\n"],"names":["DataTableFacetedFilter","column","title","options","multiple","open","setOpen","React","columnFilterValue","selectedValues","Set","Array","onItemSelect","option","isSelected","newSelectedValues","filterValues","undefined","onReset","event","Popover","PopoverTrigger","Button","XCircle","PlusCircle","Separator","Badge","PopoverContent","Command","CommandInput","CommandList","CommandEmpty","CommandGroup","CommandItem","cn","Check","CommandSeparator"],"mappings":"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"}
1
+ {"version":3,"file":"components\\data-table\\data-table-faceted-filter.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/data-table/data-table-faceted-filter.tsx"],"sourcesContent":["\r\n\r\nimport type { Option } from '@/types/data-table'\r\nimport { Check, PlusCircle, XCircle } from '@phosphor-icons/react'\r\nimport type { Column } from '@tanstack/react-table'\r\n\r\nimport { Badge } from '@/components/badge'\r\nimport { Button } from '@/components/button'\r\nimport {\r\n Command,\r\n CommandEmpty,\r\n CommandGroup,\r\n CommandInput,\r\n CommandItem,\r\n CommandList,\r\n CommandSeparator,\r\n} from '@/components/command'\r\nimport { Popover, PopoverContent, PopoverTrigger } from '@/components/popover'\r\nimport { Separator } from '@/components/separator'\r\nimport { cn } from '@/lib/utils'\r\nimport * as React from 'react'\r\n\r\ninterface DataTableFacetedFilterProps<TData, TValue> {\r\n column?: Column<TData, TValue>\r\n title?: string\r\n options: Option[]\r\n multiple?: boolean\r\n}\r\n\r\nexport function DataTableFacetedFilter<TData, TValue>({\r\n column,\r\n title,\r\n options,\r\n multiple,\r\n}: DataTableFacetedFilterProps<TData, TValue>) {\r\n const [open, setOpen] = React.useState(false)\r\n\r\n const columnFilterValue = column?.getFilterValue()\r\n const selectedValues = new Set(\r\n Array.isArray(columnFilterValue) ? columnFilterValue : []\r\n )\r\n\r\n const onItemSelect = React.useCallback(\r\n (option: Option, isSelected: boolean) => {\r\n if (!column) return\r\n\r\n if (multiple) {\r\n const newSelectedValues = new Set(selectedValues)\r\n if (isSelected) {\r\n newSelectedValues.delete(option.value)\r\n } else {\r\n newSelectedValues.add(option.value)\r\n }\r\n const filterValues = Array.from(newSelectedValues)\r\n column.setFilterValue(filterValues.length ? filterValues : undefined)\r\n } else {\r\n column.setFilterValue(isSelected ? undefined : [option.value])\r\n setOpen(false)\r\n }\r\n },\r\n [column, multiple, selectedValues]\r\n )\r\n\r\n const onReset = React.useCallback(\r\n (event?: React.MouseEvent) => {\r\n event?.stopPropagation()\r\n column?.setFilterValue(undefined)\r\n },\r\n [column]\r\n )\r\n\r\n return (\r\n <Popover open={open} onOpenChange={setOpen}>\r\n <PopoverTrigger asChild>\r\n <Button variant=\"secondary\" size=\"sm\">\r\n {selectedValues?.size > 0 ? (\r\n <div\r\n role=\"button\"\r\n aria-label={`Clear ${title} filter`}\r\n tabIndex={0}\r\n onClick={onReset}\r\n className=\"rounded-sm opacity-70 transition-opacity hover:opacity-100 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring\"\r\n >\r\n <XCircle />\r\n </div>\r\n ) : (\r\n <PlusCircle />\r\n )}\r\n {title}\r\n {selectedValues?.size > 0 && (\r\n <>\r\n <Separator\r\n orientation=\"vertical\"\r\n className=\"mx-0.5 data-[orientation=vertical]:h-4\"\r\n />\r\n <Badge\r\n variant=\"secondary\"\r\n className=\"rounded-sm px-1 font-normal lg:hidden\"\r\n >\r\n {selectedValues.size}\r\n </Badge>\r\n <div className=\"hidden items-center gap-1 lg:flex\">\r\n {selectedValues.size > 2 ? (\r\n <Badge\r\n variant=\"secondary\"\r\n className=\"rounded-sm px-1 font-normal\"\r\n >\r\n {selectedValues.size} selected\r\n </Badge>\r\n ) : (\r\n options\r\n .filter(option => selectedValues.has(option.value))\r\n .map(option => (\r\n <Badge\r\n variant=\"secondary\"\r\n key={option.value}\r\n className=\"rounded-sm px-1 font-normal\"\r\n >\r\n {option.label}\r\n </Badge>\r\n ))\r\n )}\r\n </div>\r\n </>\r\n )}\r\n </Button>\r\n </PopoverTrigger>\r\n <PopoverContent className=\"w-[12.5rem] p-0\" align=\"start\">\r\n <Command>\r\n <CommandInput placeholder={title} />\r\n <CommandList className=\"max-h-full\">\r\n <CommandEmpty>No results found.</CommandEmpty>\r\n <CommandGroup className=\"max-h-[18.75rem] overflow-y-auto overflow-x-hidden\">\r\n {options.map(option => {\r\n const isSelected = selectedValues.has(option.value)\r\n\r\n return (\r\n <CommandItem\r\n key={option.value}\r\n onSelect={() => onItemSelect(option, isSelected)}\r\n >\r\n <div\r\n className={cn(\r\n 'flex size-4 items-center justify-center rounded-sm border border-primary',\r\n isSelected\r\n ? 'bg-primary'\r\n : 'opacity-50 [&_svg]:invisible'\r\n )}\r\n >\r\n <Check />\r\n </div>\r\n {option.icon && <option.icon />}\r\n <span className=\"truncate\">{option.label}</span>\r\n {option.count && (\r\n <span className=\"ml-auto font-mono text-xs\">\r\n {option.count}\r\n </span>\r\n )}\r\n </CommandItem>\r\n )\r\n })}\r\n </CommandGroup>\r\n {selectedValues.size > 0 && (\r\n <>\r\n <CommandSeparator />\r\n <CommandGroup>\r\n <CommandItem\r\n onSelect={() => onReset()}\r\n className=\"justify-center text-center\"\r\n >\r\n Limpar filtros\r\n </CommandItem>\r\n </CommandGroup>\r\n </>\r\n )}\r\n </CommandList>\r\n </Command>\r\n </PopoverContent>\r\n </Popover>\r\n )\r\n}\r\n"],"names":["DataTableFacetedFilter","column","title","options","multiple","open","setOpen","React","columnFilterValue","selectedValues","Set","Array","onItemSelect","option","isSelected","newSelectedValues","filterValues","undefined","onReset","event","Popover","PopoverTrigger","Button","XCircle","PlusCircle","Separator","Badge","PopoverContent","Command","CommandInput","CommandList","CommandEmpty","CommandGroup","CommandItem","cn","Check","CommandSeparator"],"mappings":"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"}