@gbmtech/aurora-ui 0.1.33 → 0.1.34
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/data-table/data-table-action-bar.cjs +3 -0
- package/dist/cjs/components/data-table/data-table-action-bar.cjs.map +1 -0
- package/dist/cjs/components/data-table/data-table-advanced-toolbar.cjs +3 -0
- package/dist/cjs/components/data-table/data-table-advanced-toolbar.cjs.map +1 -0
- package/dist/cjs/components/data-table/data-table-column-header.cjs +3 -0
- package/dist/cjs/components/data-table/data-table-column-header.cjs.map +1 -0
- package/dist/cjs/components/data-table/data-table-date-filter.cjs +3 -0
- package/dist/cjs/components/data-table/data-table-date-filter.cjs.map +1 -0
- package/dist/cjs/components/data-table/data-table-faceted-filter.cjs +3 -0
- package/dist/cjs/components/data-table/data-table-faceted-filter.cjs.map +1 -0
- package/dist/cjs/components/data-table/data-table-filter-list.cjs +3 -0
- package/dist/cjs/components/data-table/data-table-filter-list.cjs.map +1 -0
- package/dist/cjs/components/data-table/data-table-filter-menu.cjs +3 -0
- package/dist/cjs/components/data-table/data-table-filter-menu.cjs.map +1 -0
- package/dist/cjs/components/data-table/data-table-pagination.cjs +2 -0
- package/dist/cjs/components/data-table/data-table-pagination.cjs.map +1 -0
- package/dist/cjs/components/data-table/data-table-range-filter.cjs +3 -0
- package/dist/cjs/components/data-table/data-table-range-filter.cjs.map +1 -0
- package/dist/cjs/components/data-table/data-table-skeleton.cjs +2 -0
- package/dist/cjs/components/data-table/data-table-skeleton.cjs.map +1 -0
- package/dist/cjs/components/data-table/data-table-slider-filter.cjs +3 -0
- package/dist/cjs/components/data-table/data-table-slider-filter.cjs.map +1 -0
- package/dist/cjs/components/data-table/data-table-sort-list.cjs +3 -0
- package/dist/cjs/components/data-table/data-table-sort-list.cjs.map +1 -0
- package/dist/cjs/components/data-table/data-table-toolbar.cjs +3 -0
- package/dist/cjs/components/data-table/data-table-toolbar.cjs.map +1 -0
- package/dist/cjs/components/data-table/data-table-view-options.cjs +3 -0
- package/dist/cjs/components/data-table/data-table-view-options.cjs.map +1 -0
- package/dist/cjs/components/data-table/data-table.cjs +2 -0
- package/dist/cjs/components/data-table/data-table.cjs.map +1 -0
- package/dist/cjs/components/data-table/index.cjs +1 -0
- package/dist/cjs/components/faceted.cjs +3 -0
- package/dist/cjs/components/faceted.cjs.map +1 -0
- package/dist/cjs/components/input.cjs.map +1 -1
- package/dist/cjs/components/slider.cjs +3 -0
- package/dist/cjs/components/slider.cjs.map +1 -0
- package/dist/cjs/components/sortable.cjs +7 -0
- package/dist/cjs/components/sortable.cjs.map +1 -0
- package/dist/cjs/hooks/use-callback-ref.cjs +2 -0
- package/dist/cjs/hooks/use-callback-ref.cjs.map +1 -0
- package/dist/cjs/hooks/use-data-table.cjs +3 -0
- package/dist/cjs/hooks/use-data-table.cjs.map +1 -0
- package/dist/cjs/hooks/use-debounced-callback.cjs +2 -0
- package/dist/cjs/hooks/use-debounced-callback.cjs.map +1 -0
- package/dist/cjs/index.cjs +1 -1
- package/dist/cjs/lib/composition.cjs +2 -0
- package/dist/cjs/lib/composition.cjs.map +1 -0
- package/dist/cjs/lib/data-table-config.cjs +2 -0
- package/dist/cjs/lib/data-table-config.cjs.map +1 -0
- package/dist/cjs/lib/data-table.cjs +2 -0
- package/dist/cjs/lib/data-table.cjs.map +1 -0
- package/dist/cjs/lib/format.cjs +2 -0
- package/dist/cjs/lib/format.cjs.map +1 -0
- package/dist/cjs/lib/id.cjs +2 -0
- package/dist/cjs/lib/id.cjs.map +1 -0
- package/dist/cjs/lib/parsers.cjs +2 -0
- package/dist/cjs/lib/parsers.cjs.map +1 -0
- package/dist/cjs/types/data-table.cjs +1 -0
- package/dist/esm/components/data-table/data-table-action-bar.js +3 -0
- package/dist/esm/components/data-table/data-table-action-bar.js.map +1 -0
- package/dist/esm/components/data-table/data-table-advanced-toolbar.js +3 -0
- package/dist/esm/components/data-table/data-table-advanced-toolbar.js.map +1 -0
- package/dist/esm/components/data-table/data-table-column-header.js +3 -0
- package/dist/esm/components/data-table/data-table-column-header.js.map +1 -0
- package/dist/esm/components/data-table/data-table-date-filter.js +3 -0
- package/dist/esm/components/data-table/data-table-date-filter.js.map +1 -0
- package/dist/esm/components/data-table/data-table-faceted-filter.js +3 -0
- package/dist/esm/components/data-table/data-table-faceted-filter.js.map +1 -0
- package/dist/esm/components/data-table/data-table-filter-list.js +3 -0
- package/dist/esm/components/data-table/data-table-filter-list.js.map +1 -0
- package/dist/esm/components/data-table/data-table-filter-menu.js +3 -0
- package/dist/esm/components/data-table/data-table-filter-menu.js.map +1 -0
- package/dist/esm/components/data-table/data-table-pagination.js +2 -0
- package/dist/esm/components/data-table/data-table-pagination.js.map +1 -0
- package/dist/esm/components/data-table/data-table-range-filter.js +3 -0
- package/dist/esm/components/data-table/data-table-range-filter.js.map +1 -0
- package/dist/esm/components/data-table/data-table-skeleton.js +2 -0
- package/dist/esm/components/data-table/data-table-skeleton.js.map +1 -0
- package/dist/esm/components/data-table/data-table-slider-filter.js +3 -0
- package/dist/esm/components/data-table/data-table-slider-filter.js.map +1 -0
- package/dist/esm/components/data-table/data-table-sort-list.js +3 -0
- package/dist/esm/components/data-table/data-table-sort-list.js.map +1 -0
- package/dist/esm/components/data-table/data-table-toolbar.js +3 -0
- package/dist/esm/components/data-table/data-table-toolbar.js.map +1 -0
- package/dist/esm/components/data-table/data-table-view-options.js +3 -0
- package/dist/esm/components/data-table/data-table-view-options.js.map +1 -0
- package/dist/esm/components/data-table/data-table.js +2 -0
- package/dist/esm/components/data-table/data-table.js.map +1 -0
- package/dist/esm/components/data-table/index.js +1 -0
- package/dist/esm/components/faceted.js +3 -0
- package/dist/esm/components/faceted.js.map +1 -0
- package/dist/esm/components/input.js.map +1 -1
- package/dist/esm/components/slider.js +3 -0
- package/dist/esm/components/slider.js.map +1 -0
- package/dist/esm/components/sortable.js +7 -0
- package/dist/esm/components/sortable.js.map +1 -0
- package/dist/esm/hooks/use-callback-ref.js +2 -0
- package/dist/esm/hooks/use-callback-ref.js.map +1 -0
- package/dist/esm/hooks/use-data-table.js +3 -0
- package/dist/esm/hooks/use-data-table.js.map +1 -0
- package/dist/esm/hooks/use-debounced-callback.js +2 -0
- package/dist/esm/hooks/use-debounced-callback.js.map +1 -0
- package/dist/esm/index.js +1 -1
- package/dist/esm/lib/composition.js +2 -0
- package/dist/esm/lib/composition.js.map +1 -0
- package/dist/esm/lib/data-table-config.js +2 -0
- package/dist/esm/lib/data-table-config.js.map +1 -0
- package/dist/esm/lib/data-table.js +2 -0
- package/dist/esm/lib/data-table.js.map +1 -0
- package/dist/esm/lib/format.js +2 -0
- package/dist/esm/lib/format.js.map +1 -0
- package/dist/esm/lib/id.js +2 -0
- package/dist/esm/lib/id.js.map +1 -0
- package/dist/esm/lib/parsers.js +2 -0
- package/dist/esm/lib/parsers.js.map +1 -0
- package/dist/esm/types/data-table.js +0 -0
- package/dist/types/components/data-table/data-table-action-bar.d.ts +21 -0
- package/dist/types/components/data-table/data-table-action-bar.d.ts.map +1 -0
- package/dist/types/components/data-table/data-table-advanced-toolbar.d.ts +8 -0
- package/dist/types/components/data-table/data-table-advanced-toolbar.d.ts.map +1 -0
- package/dist/types/components/data-table/data-table-column-header.d.ts +9 -0
- package/dist/types/components/data-table/data-table-column-header.d.ts.map +1 -0
- package/dist/types/components/data-table/data-table-date-filter.d.ts +9 -0
- package/dist/types/components/data-table/data-table-date-filter.d.ts.map +1 -0
- package/dist/types/components/data-table/data-table-faceted-filter.d.ts +11 -0
- package/dist/types/components/data-table/data-table-faceted-filter.d.ts.map +1 -0
- package/dist/types/components/data-table/data-table-filter-list.d.ts +12 -0
- package/dist/types/components/data-table/data-table-filter-list.d.ts.map +1 -0
- package/dist/types/components/data-table/data-table-filter-menu.d.ts +12 -0
- package/dist/types/components/data-table/data-table-filter-menu.d.ts.map +1 -0
- package/dist/types/components/data-table/data-table-pagination.d.ts +8 -0
- package/dist/types/components/data-table/data-table-pagination.d.ts.map +1 -0
- package/dist/types/components/data-table/data-table-range-filter.d.ts +12 -0
- package/dist/types/components/data-table/data-table-range-filter.d.ts.map +1 -0
- package/dist/types/components/data-table/data-table-skeleton.d.ts +12 -0
- package/dist/types/components/data-table/data-table-skeleton.d.ts.map +1 -0
- package/dist/types/components/data-table/data-table-slider-filter.d.ts +8 -0
- package/dist/types/components/data-table/data-table-slider-filter.d.ts.map +1 -0
- package/dist/types/components/data-table/data-table-sort-list.d.ts +9 -0
- package/dist/types/components/data-table/data-table-sort-list.d.ts.map +1 -0
- package/dist/types/components/data-table/data-table-toolbar.d.ts +8 -0
- package/dist/types/components/data-table/data-table-toolbar.d.ts.map +1 -0
- package/dist/types/components/data-table/data-table-view-options.d.ts +7 -0
- package/dist/types/components/data-table/data-table-view-options.d.ts.map +1 -0
- package/dist/types/components/data-table/data-table.d.ts +9 -0
- package/dist/types/components/data-table/data-table.d.ts.map +1 -0
- package/dist/types/components/data-table/index.d.ts +16 -0
- package/dist/types/components/data-table/index.d.ts.map +1 -0
- package/dist/types/components/faceted.d.ts +34 -0
- package/dist/types/components/faceted.d.ts.map +1 -0
- package/dist/types/components/input.d.ts +1 -1
- package/dist/types/components/input.d.ts.map +1 -1
- package/dist/types/components/slider.d.ts +5 -0
- package/dist/types/components/slider.d.ts.map +1 -0
- package/dist/types/components/sortable.d.ts +54 -0
- package/dist/types/components/sortable.d.ts.map +1 -0
- package/dist/types/hooks/use-callback-ref.d.ts +10 -0
- package/dist/types/hooks/use-callback-ref.d.ts.map +1 -0
- package/dist/types/hooks/use-data-table.d.ts +24 -0
- package/dist/types/hooks/use-data-table.d.ts.map +1 -0
- package/dist/types/hooks/use-debounced-callback.d.ts +5 -0
- package/dist/types/hooks/use-debounced-callback.d.ts.map +1 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/lib/composition.d.ts +24 -0
- package/dist/types/lib/composition.d.ts.map +1 -0
- package/dist/types/lib/data-table-config.d.ts +125 -0
- package/dist/types/lib/data-table-config.d.ts.map +1 -0
- package/dist/types/lib/data-table.d.ts +13 -0
- package/dist/types/lib/data-table.d.ts.map +1 -0
- package/dist/types/lib/format.d.ts +2 -0
- package/dist/types/lib/format.d.ts.map +1 -0
- package/dist/types/lib/id.d.ts +8 -0
- package/dist/types/lib/id.d.ts.map +1 -0
- package/dist/types/lib/parsers.d.ts +26 -0
- package/dist/types/lib/parsers.d.ts.map +1 -0
- package/dist/types/types/data-table.d.ts +34 -0
- package/dist/types/types/data-table.d.ts.map +1 -0
- package/package.json +12 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components\\data-table\\data-table-range-filter.cjs","sources":["webpack://@gbmtech/aurora-ui/./src/components/data-table/data-table-range-filter.tsx"],"sourcesContent":["\r\n\r\nimport type { Column } from '@tanstack/react-table'\r\nimport * as React from 'react'\r\n\r\nimport { Input } from '@/components/input'\r\nimport { cn } from '@/lib/utils'\r\nimport type { ExtendedColumnFilter } from '@/types/data-table'\r\n\r\ninterface DataTableRangeFilterProps<TData> extends React.ComponentProps<'div'> {\r\n filter: ExtendedColumnFilter<TData>\r\n column: Column<TData>\r\n inputId: string\r\n onFilterUpdate: (\r\n filterId: string,\r\n updates: Partial<Omit<ExtendedColumnFilter<TData>, 'filterId'>>\r\n ) => void\r\n}\r\n\r\nexport function DataTableRangeFilter<TData>({\r\n filter,\r\n column,\r\n inputId,\r\n onFilterUpdate,\r\n className,\r\n ...props\r\n}: DataTableRangeFilterProps<TData>) {\r\n const meta = column.columnDef.meta\r\n\r\n const [min, max] = React.useMemo(() => {\r\n const range = column.columnDef.meta?.range\r\n if (range) return range\r\n\r\n const values = column.getFacetedMinMaxValues()\r\n if (!values) return [0, 100]\r\n\r\n return [values[0], values[1]]\r\n }, [column])\r\n\r\n const formatValue = React.useCallback(\r\n (value: string | number | undefined) => {\r\n if (value === undefined || value === '') return ''\r\n const numValue = Number(value)\r\n return Number.isNaN(numValue)\r\n ? ''\r\n : numValue.toLocaleString(undefined, {\r\n maximumFractionDigits: 0,\r\n })\r\n },\r\n []\r\n )\r\n\r\n const value = React.useMemo(() => {\r\n if (Array.isArray(filter.value)) return filter.value.map(formatValue)\r\n return [formatValue(filter.value), '']\r\n }, [filter.value, formatValue])\r\n\r\n const onRangeValueChange = React.useCallback(\r\n (value: string, isMin?: boolean) => {\r\n const numValue = Number(value)\r\n const currentValues = Array.isArray(filter.value)\r\n ? filter.value\r\n : ['', '']\r\n const otherValue = isMin\r\n ? (currentValues[1] ?? '')\r\n : (currentValues[0] ?? '')\r\n\r\n if (\r\n value === '' ||\r\n (!Number.isNaN(numValue) &&\r\n (isMin\r\n ? numValue >= min && numValue <= (Number(otherValue) || max)\r\n : numValue <= max && numValue >= (Number(otherValue) || min)))\r\n ) {\r\n onFilterUpdate(filter.filterId, {\r\n value: isMin ? [value, otherValue] : [otherValue, value],\r\n })\r\n }\r\n },\r\n [filter.filterId, filter.value, min, max, onFilterUpdate]\r\n )\r\n\r\n return (\r\n <div\r\n data-slot=\"range\"\r\n className={cn('flex w-full items-center gap-2', className)}\r\n {...props}\r\n >\r\n <Input\r\n id={`${inputId}-min`}\r\n type=\"number\"\r\n aria-label={`${meta?.label} minimum value`}\r\n aria-valuemin={min}\r\n aria-valuemax={max}\r\n data-slot=\"range-min\"\r\n inputMode=\"numeric\"\r\n placeholder={min.toString()}\r\n min={min}\r\n max={max}\r\n className=\"h-8 w-full rounded\"\r\n defaultValue={value[0]}\r\n onChange={event => onRangeValueChange(event.target.value, true)}\r\n />\r\n <span className=\"sr-only shrink-0 text-muted-foreground\">to</span>\r\n <Input\r\n id={`${inputId}-max`}\r\n type=\"number\"\r\n aria-label={`${meta?.label} maximum value`}\r\n aria-valuemin={min}\r\n aria-valuemax={max}\r\n data-slot=\"range-max\"\r\n inputMode=\"numeric\"\r\n placeholder={max.toString()}\r\n min={min}\r\n max={max}\r\n className=\"h-8 w-full rounded\"\r\n defaultValue={value[1]}\r\n onChange={event => onRangeValueChange(event.target.value)}\r\n />\r\n </div>\r\n )\r\n}\r\n"],"names":["DataTableRangeFilter","filter","column","inputId","onFilterUpdate","className","props","meta","min","max","React","range","values","formatValue","value","undefined","numValue","Number","Array","onRangeValueChange","isMin","currentValues","otherValue","cn","Input","event"],"mappings":";6hCAmBO,SAASA,qBAA4B,CAC1CC,OAAAA,CAAM,CACNC,OAAAA,CAAM,CACNC,QAAAA,CAAO,CACPC,eAAAA,CAAc,CACdC,UAAAA,CAAS,CACT,GAAGC,EAC8B,EACjC,IAAMC,EAAOL,EAAO,SAAS,CAAC,IAAI,CAE5B,CAACM,EAAKC,EAAI,CAAGC,+BAAAA,OAAa,CAAC,KAC/B,IAAMC,EAAQT,EAAO,SAAS,CAAC,IAAI,EAAE,MACrC,GAAIS,EAAO,OAAOA,EAElB,IAAMC,EAASV,EAAO,sBAAsB,UAC5C,EAEO,CAACU,CAAM,CAAC,EAAE,CAAEA,CAAM,CAAC,EAAE,CAAC,CAFT,CAAC,EAAG,IAAI,EAG3B,CAACV,EAAO,EAELW,EAAcH,+BAAAA,WAAiB,CACnC,IACE,GAAII,KAAUC,IAAVD,GAAuBA,KAAAA,EAAc,MAAO,GAChD,IAAME,EAAWC,OAAOH,GACxB,OAAOG,OAAO,KAAK,CAACD,GAChB,GACAA,EAAS,cAAc,CAACD,KAAAA,EAAW,CACjC,sBAAuB,CACzB,EACN,EACA,EAAE,EAGED,EAAQJ,+BAAAA,OAAa,CAAC,IAC1B,MAAU,OAAO,CAACT,EAAO,KAAK,EAAUA,EAAO,KAAK,CAAC,GAAG,CAACY,GAClD,CAACA,EAAYZ,EAAO,KAAK,EAAG,GAAG,CACrC,CAACA,EAAO,KAAK,CAAEY,EAAY,EAExBM,EAAqBT,+BAAAA,WAAiB,CAC1C,CAACI,EAAeM,KACd,IAAMJ,EAAWC,OAAOH,GAClBO,EAAgBH,MAAM,OAAO,CAACjB,EAAO,KAAK,EAC5CA,EAAO,KAAK,CACZ,CAAC,GAAI,GAAG,CACNqB,EAAaF,EACdC,CAAa,CAAC,EAAE,EAAI,GACpBA,CAAa,CAAC,EAAE,EAAI,EAGvBP,CAAAA,CAAAA,KAAAA,GACC,CAACG,OAAO,KAAK,CAACD,IACZI,CAAAA,EACGJ,GAAYR,GAAOQ,GAAaC,CAAAA,OAAOK,IAAeb,CAAE,EACxDO,GAAYP,GAAOO,GAAaC,CAAAA,OAAOK,IAAed,CAAE,EAAC,GAE/DJ,EAAeH,EAAO,QAAQ,CAAE,CAC9B,MAAOmB,EAAQ,CAACN,EAAOQ,EAAW,CAAG,CAACA,EAAYR,EAAM,EAG9D,EACA,CAACb,EAAO,QAAQ,CAAEA,EAAO,KAAK,CAAEO,EAAKC,EAAKL,EAAe,EAG3D,MACE,qCAAC,OACC,YAAU,QACV,UAAWmB,GAAAA,0BAAAA,EAAAA,EAAG,iCAAkClB,GAC/C,GAAGC,CAAK,C,UAET,oCAACkB,mCAAAA,KAAKA,CAAAA,CACJ,GAAI,CAAC,EAAErB,EAAQ,IAAI,CAAC,CACpB,KAAK,SACL,aAAY,CAAC,EAAEI,GAAM,MAAM,cAAc,CAAC,CAC1C,gBAAeC,EACf,gBAAeC,EACf,YAAU,YACV,UAAU,UACV,YAAaD,EAAI,QAAQ,GACzB,IAAKA,EACL,IAAKC,EACL,UAAU,qBACV,aAAcK,CAAK,CAAC,EAAE,CACtB,SAAUW,GAASN,EAAmBM,EAAM,MAAM,CAAC,KAAK,CAAE,G,GAE5D,oCAAC,QAAK,UAAU,yC,SAAyC,I,GACzD,oCAACD,mCAAAA,KAAKA,CAAAA,CACJ,GAAI,CAAC,EAAErB,EAAQ,IAAI,CAAC,CACpB,KAAK,SACL,aAAY,CAAC,EAAEI,GAAM,MAAM,cAAc,CAAC,CAC1C,gBAAeC,EACf,gBAAeC,EACf,YAAU,YACV,UAAU,UACV,YAAaA,EAAI,QAAQ,GACzB,IAAKD,EACL,IAAKC,EACL,UAAU,qBACV,aAAcK,CAAK,CAAC,EAAE,CACtB,SAAUW,GAASN,EAAmBM,EAAM,MAAM,CAAC,KAAK,C,KAIhE,C"}
|
|
@@ -0,0 +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 s in a)__webpack_require__.o(a,s)&&!__webpack_require__.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,get:a[s]})},__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__,{DataTableSkeleton:()=>DataTableSkeleton});let jsx_runtime_namespaceObject=require("react/jsx-runtime"),external_skeleton_cjs_namespaceObject=require("../skeleton.cjs"),external_table_cjs_namespaceObject=require("../table.cjs"),utils_cjs_namespaceObject=require("../../lib/utils.cjs");function DataTableSkeleton({columnCount:e,rowCount:a=10,filterCount:s=0,cellWidths:t=["auto"],withViewOptions:_=!0,withPagination:c=!0,shrinkZero:n=!1,className:l,...r}){let m=Array.from({length:e},(e,a)=>t[a%t.length]??"auto");return(0,jsx_runtime_namespaceObject.jsxs)("div",{className:(0,utils_cjs_namespaceObject.cn)("flex w-full flex-col gap-2.5 overflow-auto",l),...r,children:[(0,jsx_runtime_namespaceObject.jsxs)("div",{className:"flex w-full items-center justify-between gap-2 overflow-auto p-1",children:[(0,jsx_runtime_namespaceObject.jsx)("div",{className:"flex flex-1 items-center gap-2",children:s>0?Array.from({length:s}).map((e,a)=>(0,jsx_runtime_namespaceObject.jsx)(external_skeleton_cjs_namespaceObject.Skeleton,{className:"h-7 w-[4.5rem] border-dashed"},a)):null}),_?(0,jsx_runtime_namespaceObject.jsx)(external_skeleton_cjs_namespaceObject.Skeleton,{className:"ml-auto hidden h-7 w-[4.5rem] lg:flex"}):null]}),(0,jsx_runtime_namespaceObject.jsx)("div",{className:"rounded-md border",children:(0,jsx_runtime_namespaceObject.jsxs)(external_table_cjs_namespaceObject.Table,{children:[(0,jsx_runtime_namespaceObject.jsx)(external_table_cjs_namespaceObject.TableHeader,{children:Array.from({length:1}).map((a,s)=>(0,jsx_runtime_namespaceObject.jsx)(external_table_cjs_namespaceObject.TableRow,{className:"hover:bg-transparent",children:Array.from({length:e}).map((e,a)=>(0,jsx_runtime_namespaceObject.jsx)(external_table_cjs_namespaceObject.TableHead,{style:{width:m[a],minWidth:n?m[a]:"auto"},children:(0,jsx_runtime_namespaceObject.jsx)(external_skeleton_cjs_namespaceObject.Skeleton,{className:"h-6 w-full"})},a))},s))}),(0,jsx_runtime_namespaceObject.jsx)(external_table_cjs_namespaceObject.TableBody,{children:Array.from({length:a}).map((a,s)=>(0,jsx_runtime_namespaceObject.jsx)(external_table_cjs_namespaceObject.TableRow,{className:"hover:bg-transparent",children:Array.from({length:e}).map((e,a)=>(0,jsx_runtime_namespaceObject.jsx)(external_table_cjs_namespaceObject.TableCell,{style:{width:m[a],minWidth:n?m[a]:"auto"},children:(0,jsx_runtime_namespaceObject.jsx)(external_skeleton_cjs_namespaceObject.Skeleton,{className:"h-6 w-full"})},a))},s))})]})}),c?(0,jsx_runtime_namespaceObject.jsxs)("div",{className:"flex w-full items-center justify-between gap-4 overflow-auto p-1 sm:gap-8",children:[(0,jsx_runtime_namespaceObject.jsx)(external_skeleton_cjs_namespaceObject.Skeleton,{className:"h-7 w-40 shrink-0"}),(0,jsx_runtime_namespaceObject.jsxs)("div",{className:"flex items-center gap-4 sm:gap-6 lg:gap-8",children:[(0,jsx_runtime_namespaceObject.jsxs)("div",{className:"flex items-center gap-2",children:[(0,jsx_runtime_namespaceObject.jsx)(external_skeleton_cjs_namespaceObject.Skeleton,{className:"h-7 w-24"}),(0,jsx_runtime_namespaceObject.jsx)(external_skeleton_cjs_namespaceObject.Skeleton,{className:"h-7 w-[4.5rem]"})]}),(0,jsx_runtime_namespaceObject.jsx)("div",{className:"flex items-center justify-center font-medium text-sm",children:(0,jsx_runtime_namespaceObject.jsx)(external_skeleton_cjs_namespaceObject.Skeleton,{className:"h-7 w-20"})}),(0,jsx_runtime_namespaceObject.jsxs)("div",{className:"flex items-center gap-2",children:[(0,jsx_runtime_namespaceObject.jsx)(external_skeleton_cjs_namespaceObject.Skeleton,{className:"hidden size-7 lg:block"}),(0,jsx_runtime_namespaceObject.jsx)(external_skeleton_cjs_namespaceObject.Skeleton,{className:"size-7"}),(0,jsx_runtime_namespaceObject.jsx)(external_skeleton_cjs_namespaceObject.Skeleton,{className:"size-7"}),(0,jsx_runtime_namespaceObject.jsx)(external_skeleton_cjs_namespaceObject.Skeleton,{className:"hidden size-7 lg:block"})]})]})]}):null]})}for(var __webpack_i__ in exports.DataTableSkeleton=__webpack_exports__.DataTableSkeleton,__webpack_exports__)-1===["DataTableSkeleton"].indexOf(__webpack_i__)&&(exports[__webpack_i__]=__webpack_exports__[__webpack_i__]);Object.defineProperty(exports,"__esModule",{value:!0});
|
|
2
|
+
//# sourceMappingURL=data-table-skeleton.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components\\data-table\\data-table-skeleton.cjs","sources":["webpack://@gbmtech/aurora-ui/./src/components/data-table/data-table-skeleton.tsx"],"sourcesContent":["import { Skeleton } from '@/components/skeleton'\r\nimport {\r\n Table,\r\n TableBody,\r\n TableCell,\r\n TableHead,\r\n TableHeader,\r\n TableRow,\r\n} from '@/components/table'\r\nimport { cn } from '@/lib/utils'\r\n\r\ninterface DataTableSkeletonProps extends React.ComponentProps<'div'> {\r\n columnCount: number\r\n rowCount?: number\r\n filterCount?: number\r\n cellWidths?: string[]\r\n withViewOptions?: boolean\r\n withPagination?: boolean\r\n shrinkZero?: boolean\r\n}\r\n\r\nexport function DataTableSkeleton({\r\n columnCount,\r\n rowCount = 10,\r\n filterCount = 0,\r\n cellWidths = ['auto'],\r\n withViewOptions = true,\r\n withPagination = true,\r\n shrinkZero = false,\r\n className,\r\n ...props\r\n}: DataTableSkeletonProps) {\r\n const cozyCellWidths = Array.from(\r\n { length: columnCount },\r\n (_, index) => cellWidths[index % cellWidths.length] ?? 'auto'\r\n )\r\n\r\n return (\r\n <div\r\n className={cn('flex w-full flex-col gap-2.5 overflow-auto', className)}\r\n {...props}\r\n >\r\n <div className=\"flex w-full items-center justify-between gap-2 overflow-auto p-1\">\r\n <div className=\"flex flex-1 items-center gap-2\">\r\n {filterCount > 0\r\n ? Array.from({ length: filterCount }).map((_, i) => (\r\n <Skeleton key={i} className=\"h-7 w-[4.5rem] border-dashed\" />\r\n ))\r\n : null}\r\n </div>\r\n {withViewOptions ? (\r\n <Skeleton className=\"ml-auto hidden h-7 w-[4.5rem] lg:flex\" />\r\n ) : null}\r\n </div>\r\n <div className=\"rounded-md border\">\r\n <Table>\r\n <TableHeader>\r\n {Array.from({ length: 1 }).map((_, i) => (\r\n <TableRow key={i} className=\"hover:bg-transparent\">\r\n {Array.from({ length: columnCount }).map((_, j) => (\r\n <TableHead\r\n key={j}\r\n style={{\r\n width: cozyCellWidths[j],\r\n minWidth: shrinkZero ? cozyCellWidths[j] : 'auto',\r\n }}\r\n >\r\n <Skeleton className=\"h-6 w-full\" />\r\n </TableHead>\r\n ))}\r\n </TableRow>\r\n ))}\r\n </TableHeader>\r\n <TableBody>\r\n {Array.from({ length: rowCount }).map((_, i) => (\r\n <TableRow key={i} className=\"hover:bg-transparent\">\r\n {Array.from({ length: columnCount }).map((_, j) => (\r\n <TableCell\r\n key={j}\r\n style={{\r\n width: cozyCellWidths[j],\r\n minWidth: shrinkZero ? cozyCellWidths[j] : 'auto',\r\n }}\r\n >\r\n <Skeleton className=\"h-6 w-full\" />\r\n </TableCell>\r\n ))}\r\n </TableRow>\r\n ))}\r\n </TableBody>\r\n </Table>\r\n </div>\r\n {withPagination ? (\r\n <div className=\"flex w-full items-center justify-between gap-4 overflow-auto p-1 sm:gap-8\">\r\n <Skeleton className=\"h-7 w-40 shrink-0\" />\r\n <div className=\"flex items-center gap-4 sm:gap-6 lg:gap-8\">\r\n <div className=\"flex items-center gap-2\">\r\n <Skeleton className=\"h-7 w-24\" />\r\n <Skeleton className=\"h-7 w-[4.5rem]\" />\r\n </div>\r\n <div className=\"flex items-center justify-center font-medium text-sm\">\r\n <Skeleton className=\"h-7 w-20\" />\r\n </div>\r\n <div className=\"flex items-center gap-2\">\r\n <Skeleton className=\"hidden size-7 lg:block\" />\r\n <Skeleton className=\"size-7\" />\r\n <Skeleton className=\"size-7\" />\r\n <Skeleton className=\"hidden size-7 lg:block\" />\r\n </div>\r\n </div>\r\n </div>\r\n ) : null}\r\n </div>\r\n )\r\n}\r\n"],"names":["DataTableSkeleton","columnCount","rowCount","filterCount","cellWidths","withViewOptions","withPagination","shrinkZero","className","props","cozyCellWidths","Array","_","index","cn","i","Skeleton","Table","TableHeader","TableRow","j","TableHead","TableBody","TableCell"],"mappings":"wiCAqBO,SAASA,kBAAkB,CAChCC,YAAAA,CAAW,CACXC,SAAAA,EAAW,EAAE,CACbC,YAAAA,EAAc,CAAC,CACfC,WAAAA,EAAa,CAAC,OAAO,CACrBC,gBAAAA,EAAkB,EAAI,CACtBC,eAAAA,EAAiB,EAAI,CACrBC,WAAAA,EAAa,EAAK,CAClBC,UAAAA,CAAS,CACT,GAAGC,EACoB,EACvB,IAAMC,EAAiBC,MAAM,IAAI,CAC/B,CAAE,OAAQV,CAAY,EACtB,CAACW,EAAGC,IAAUT,CAAU,CAACS,EAAQT,EAAW,MAAM,CAAC,EAAI,QAGzD,MACE,qCAAC,OACC,UAAWU,AAAAA,GAAAA,0BAAAA,EAAAA,AAAAA,EAAG,6CAA8CN,GAC3D,GAAGC,CAAK,C,UAET,qCAAC,OAAI,UAAU,mE,UACb,oCAAC,OAAI,UAAU,iC,SACZN,EAAc,EACXQ,MAAM,IAAI,CAAC,CAAE,OAAQR,CAAY,GAAG,GAAG,CAAC,CAACS,EAAGG,IAC1C,oCAACC,sCAAAA,QAAQA,CAAAA,CAAS,UAAU,8B,EAAbD,IAEjB,I,GAELV,EACC,oCAACW,sCAAAA,QAAQA,CAAAA,CAAC,UAAU,uC,GAClB,K,GAEN,oCAAC,OAAI,UAAU,oB,SACb,qCAACC,mCAAAA,KAAKA,CAAAA,C,UACJ,oCAACC,mCAAAA,WAAWA,CAAAA,C,SACTP,MAAM,IAAI,CAAC,CAAE,OAAQ,CAAE,GAAG,GAAG,CAAC,CAACC,EAAGG,IACjC,oCAACI,mCAAAA,QAAQA,CAAAA,CAAS,UAAU,uB,SACzBR,MAAM,IAAI,CAAC,CAAE,OAAQV,CAAY,GAAG,GAAG,CAAC,CAACW,EAAGQ,IAC3C,oCAACC,mCAAAA,SAASA,CAAAA,CAER,MAAO,CACL,MAAOX,CAAc,CAACU,EAAE,CACxB,SAAUb,EAAaG,CAAc,CAACU,EAAE,CAAG,MAC7C,E,SAEA,oCAACJ,sCAAAA,QAAQA,CAAAA,CAAC,UAAU,Y,IANfI,G,EAHIL,G,GAenB,oCAACO,mCAAAA,SAASA,CAAAA,C,SACPX,MAAM,IAAI,CAAC,CAAE,OAAQT,CAAS,GAAG,GAAG,CAAC,CAACU,EAAGG,IACxC,oCAACI,mCAAAA,QAAQA,CAAAA,CAAS,UAAU,uB,SACzBR,MAAM,IAAI,CAAC,CAAE,OAAQV,CAAY,GAAG,GAAG,CAAC,CAACW,EAAGQ,IAC3C,oCAACG,mCAAAA,SAASA,CAAAA,CAER,MAAO,CACL,MAAOb,CAAc,CAACU,EAAE,CACxB,SAAUb,EAAaG,CAAc,CAACU,EAAE,CAAG,MAC7C,E,SAEA,oCAACJ,sCAAAA,QAAQA,CAAAA,CAAC,UAAU,Y,IANfI,G,EAHIL,G,QAiBtBT,EACC,qCAAC,OAAI,UAAU,4E,UACb,oCAACU,sCAAAA,QAAQA,CAAAA,CAAC,UAAU,mB,GACpB,qCAAC,OAAI,UAAU,4C,UACb,qCAAC,OAAI,UAAU,0B,UACb,oCAACA,sCAAAA,QAAQA,CAAAA,CAAC,UAAU,U,GACpB,oCAACA,sCAAAA,QAAQA,CAAAA,CAAC,UAAU,gB,MAEtB,oCAAC,OAAI,UAAU,uD,SACb,oCAACA,sCAAAA,QAAQA,CAAAA,CAAC,UAAU,U,KAEtB,qCAAC,OAAI,UAAU,0B,UACb,oCAACA,sCAAAA,QAAQA,CAAAA,CAAC,UAAU,wB,GACpB,oCAACA,sCAAAA,QAAQA,CAAAA,CAAC,UAAU,Q,GACpB,oCAACA,sCAAAA,QAAQA,CAAAA,CAAC,UAAU,Q,GACpB,oCAACA,sCAAAA,QAAQA,CAAAA,CAAC,UAAU,wB,YAIxB,K,EAGV,C"}
|
|
@@ -0,0 +1,3 @@
|
|
|
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__,{DataTableSliderFilter:()=>DataTableSliderFilter});let jsx_runtime_namespaceObject=require("react/jsx-runtime"),external_react_namespaceObject=require("react"),external_button_cjs_namespaceObject=require("../button.cjs"),external_input_cjs_namespaceObject=require("../input.cjs"),external_label_cjs_namespaceObject=require("../label.cjs"),external_popover_cjs_namespaceObject=require("../popover.cjs"),external_separator_cjs_namespaceObject=require("../separator.cjs"),external_slider_cjs_namespaceObject=require("../slider.cjs"),utils_cjs_namespaceObject=require("../../lib/utils.cjs"),react_namespaceObject=require("@phosphor-icons/react");function getIsValidRange(e){return Array.isArray(e)&&2===e.length&&"number"==typeof e[0]&&"number"==typeof e[1]}function DataTableSliderFilter({column:e,title:a}){let t=external_react_namespaceObject.useId(),r=getIsValidRange(e.getFilterValue())?e.getFilterValue():void 0,c=e.columnDef.meta?.range,s=e.columnDef.meta?.unit,{min:n,max:_,step:l}=external_react_namespaceObject.useMemo(()=>{let a=0,t=100;if(c&&getIsValidRange(c))[a,t]=c;else{let r=e.getFacetedMinMaxValues();if(r&&Array.isArray(r)&&2===r.length){let[e,c]=r;"number"==typeof e&&"number"==typeof c&&(a=e,t=c)}}let r=t-a;return{min:a,max:t,step:r<=20?1:r<=100?Math.ceil(r/20):Math.ceil(r/50)}},[e,c]),i=external_react_namespaceObject.useMemo(()=>r??[n,_],[r,n,_]),m=external_react_namespaceObject.useCallback(e=>e.toLocaleString(void 0,{maximumFractionDigits:0}),[]),p=external_react_namespaceObject.useCallback(a=>{let t=Number(a.target.value);!Number.isNaN(t)&&t>=n&&t<=i[1]&&e.setFilterValue([t,i[1]])},[e,n,i]),o=external_react_namespaceObject.useCallback(a=>{let t=Number(a.target.value);!Number.isNaN(t)&&t<=_&&t>=i[0]&&e.setFilterValue([i[0],t])},[e,_,i]),u=external_react_namespaceObject.useCallback(a=>{Array.isArray(a)&&2===a.length&&e.setFilterValue(a)},[e]),j=external_react_namespaceObject.useCallback(a=>{a.target instanceof HTMLDivElement&&a.stopPropagation(),e.setFilterValue(void 0)},[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,{variant:"outline",size:"sm",className:"border-dashed",children:[r?(0,jsx_runtime_namespaceObject.jsx)("div",{role:"button","aria-label":`Clear ${a} filter`,tabIndex:0,className:"rounded-sm opacity-70 transition-opacity hover:opacity-100 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring",onClick:j,children:(0,jsx_runtime_namespaceObject.jsx)(react_namespaceObject.XCircle,{})}):(0,jsx_runtime_namespaceObject.jsx)(react_namespaceObject.PlusCircle,{}),(0,jsx_runtime_namespaceObject.jsx)("span",{children:a}),r?(0,jsx_runtime_namespaceObject.jsxs)(jsx_runtime_namespaceObject.Fragment,{children:[(0,jsx_runtime_namespaceObject.jsx)(external_separator_cjs_namespaceObject.Separator,{orientation:"vertical",className:"mx-0.5 data-[orientation=vertical]:h-4"}),m(r[0])," -"," ",m(r[1]),s?` ${s}`:""]}):null]})}),(0,jsx_runtime_namespaceObject.jsxs)(external_popover_cjs_namespaceObject.PopoverContent,{align:"start",className:"flex w-auto flex-col gap-4",children:[(0,jsx_runtime_namespaceObject.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,jsx_runtime_namespaceObject.jsx)("p",{className:"font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",children:a}),(0,jsx_runtime_namespaceObject.jsxs)("div",{className:"flex items-center gap-4",children:[(0,jsx_runtime_namespaceObject.jsx)(external_label_cjs_namespaceObject.Label,{htmlFor:`${t}-from`,className:"sr-only",children:"From"}),(0,jsx_runtime_namespaceObject.jsxs)("div",{className:"relative",children:[(0,jsx_runtime_namespaceObject.jsx)(external_input_cjs_namespaceObject.Input,{id:`${t}-from`,type:"number","aria-valuemin":n,"aria-valuemax":_,inputMode:"numeric",pattern:"[0-9]*",placeholder:n.toString(),min:n,max:_,value:i[0]?.toString(),onChange:p,className:(0,utils_cjs_namespaceObject.cn)("h-8 w-24",s&&"pr-8")}),s&&(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:s})]}),(0,jsx_runtime_namespaceObject.jsx)(external_label_cjs_namespaceObject.Label,{htmlFor:`${t}-to`,className:"sr-only",children:"to"}),(0,jsx_runtime_namespaceObject.jsxs)("div",{className:"relative",children:[(0,jsx_runtime_namespaceObject.jsx)(external_input_cjs_namespaceObject.Input,{id:`${t}-to`,type:"number","aria-valuemin":n,"aria-valuemax":_,inputMode:"numeric",pattern:"[0-9]*",placeholder:_.toString(),min:n,max:_,value:i[1]?.toString(),onChange:o,className:(0,utils_cjs_namespaceObject.cn)("h-8 w-24",s&&"pr-8")}),s&&(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:s})]})]}),(0,jsx_runtime_namespaceObject.jsxs)(external_label_cjs_namespaceObject.Label,{htmlFor:`${t}-slider`,className:"sr-only",children:[a," slider"]}),(0,jsx_runtime_namespaceObject.jsx)(external_slider_cjs_namespaceObject.Slider,{id:`${t}-slider`,min:n,max:_,step:l,value:i,onValueChange:u})]}),(0,jsx_runtime_namespaceObject.jsx)(external_button_cjs_namespaceObject.Button,{"aria-label":`Clear ${a} filter`,variant:"outline",size:"sm",onClick:j,children:"Clear"})]})]})}for(var __webpack_i__ in exports.DataTableSliderFilter=__webpack_exports__.DataTableSliderFilter,__webpack_exports__)-1===["DataTableSliderFilter"].indexOf(__webpack_i__)&&(exports[__webpack_i__]=__webpack_exports__[__webpack_i__]);Object.defineProperty(exports,"__esModule",{value:!0});
|
|
3
|
+
//# sourceMappingURL=data-table-slider-filter.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components\\data-table\\data-table-slider-filter.cjs","sources":["webpack://@gbmtech/aurora-ui/./src/components/data-table/data-table-slider-filter.tsx"],"sourcesContent":["\r\n\r\nimport type { Column } from '@tanstack/react-table'\r\nimport * as React from 'react'\r\n\r\nimport { Button } from '@/components/button'\r\nimport { Input } from '@/components/input'\r\nimport { Label } from '@/components/label'\r\nimport { Popover, PopoverContent, PopoverTrigger } from '@/components/popover'\r\nimport { Separator } from '@/components/separator'\r\nimport { Slider } from '@/components/slider'\r\nimport { cn } from '@/lib/utils'\r\nimport { PlusCircle, XCircle } from '@phosphor-icons/react'\r\n\r\ninterface Range {\r\n min: number\r\n max: number\r\n}\r\n\r\ntype RangeValue = [number, number]\r\n\r\nfunction getIsValidRange(value: unknown): value is RangeValue {\r\n return (\r\n Array.isArray(value) &&\r\n value.length === 2 &&\r\n typeof value[0] === 'number' &&\r\n typeof value[1] === 'number'\r\n )\r\n}\r\n\r\ninterface DataTableSliderFilterProps<TData> {\r\n column: Column<TData, unknown>\r\n title?: string\r\n}\r\n\r\nexport function DataTableSliderFilter<TData>({\r\n column,\r\n title,\r\n}: DataTableSliderFilterProps<TData>) {\r\n const id = React.useId()\r\n\r\n const columnFilterValue = getIsValidRange(column.getFilterValue())\r\n ? (column.getFilterValue() as RangeValue)\r\n : undefined\r\n\r\n const defaultRange = column.columnDef.meta?.range\r\n const unit = column.columnDef.meta?.unit\r\n\r\n const { min, max, step } = React.useMemo<Range & { step: number }>(() => {\r\n let minValue = 0\r\n let maxValue = 100\r\n\r\n if (defaultRange && getIsValidRange(defaultRange)) {\r\n ;[minValue, maxValue] = defaultRange\r\n } else {\r\n const values = column.getFacetedMinMaxValues()\r\n if (values && Array.isArray(values) && values.length === 2) {\r\n const [facetMinValue, facetMaxValue] = values\r\n if (\r\n typeof facetMinValue === 'number' &&\r\n typeof facetMaxValue === 'number'\r\n ) {\r\n minValue = facetMinValue\r\n maxValue = facetMaxValue\r\n }\r\n }\r\n }\r\n\r\n const rangeSize = maxValue - minValue\r\n const step =\r\n rangeSize <= 20\r\n ? 1\r\n : rangeSize <= 100\r\n ? Math.ceil(rangeSize / 20)\r\n : Math.ceil(rangeSize / 50)\r\n\r\n return { min: minValue, max: maxValue, step }\r\n }, [column, defaultRange])\r\n\r\n const range = React.useMemo((): RangeValue => {\r\n return columnFilterValue ?? [min, max]\r\n }, [columnFilterValue, min, max])\r\n\r\n const formatValue = React.useCallback((value: number) => {\r\n return value.toLocaleString(undefined, { maximumFractionDigits: 0 })\r\n }, [])\r\n\r\n const onFromInputChange = React.useCallback(\r\n (event: React.ChangeEvent<HTMLInputElement>) => {\r\n const numValue = Number(event.target.value)\r\n if (!Number.isNaN(numValue) && numValue >= min && numValue <= range[1]) {\r\n column.setFilterValue([numValue, range[1]])\r\n }\r\n },\r\n [column, min, range]\r\n )\r\n\r\n const onToInputChange = React.useCallback(\r\n (event: React.ChangeEvent<HTMLInputElement>) => {\r\n const numValue = Number(event.target.value)\r\n if (!Number.isNaN(numValue) && numValue <= max && numValue >= range[0]) {\r\n column.setFilterValue([range[0], numValue])\r\n }\r\n },\r\n [column, max, range]\r\n )\r\n\r\n const onSliderValueChange = React.useCallback(\r\n (value: RangeValue) => {\r\n if (Array.isArray(value) && value.length === 2) {\r\n column.setFilterValue(value)\r\n }\r\n },\r\n [column]\r\n )\r\n\r\n const onReset = React.useCallback(\r\n (event: React.MouseEvent) => {\r\n if (event.target instanceof HTMLDivElement) {\r\n event.stopPropagation()\r\n }\r\n column.setFilterValue(undefined)\r\n },\r\n [column]\r\n )\r\n\r\n return (\r\n <Popover>\r\n <PopoverTrigger asChild>\r\n <Button variant=\"outline\" size=\"sm\" className=\"border-dashed\">\r\n {columnFilterValue ? (\r\n <div\r\n role=\"button\"\r\n aria-label={`Clear ${title} filter`}\r\n tabIndex={0}\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 onClick={onReset}\r\n >\r\n <XCircle />\r\n </div>\r\n ) : (\r\n <PlusCircle />\r\n )}\r\n <span>{title}</span>\r\n {columnFilterValue ? (\r\n <>\r\n <Separator\r\n orientation=\"vertical\"\r\n className=\"mx-0.5 data-[orientation=vertical]:h-4\"\r\n />\r\n {formatValue(columnFilterValue[0])} -{' '}\r\n {formatValue(columnFilterValue[1])}\r\n {unit ? ` ${unit}` : ''}\r\n </>\r\n ) : null}\r\n </Button>\r\n </PopoverTrigger>\r\n <PopoverContent align=\"start\" className=\"flex w-auto flex-col gap-4\">\r\n <div className=\"flex flex-col gap-3\">\r\n <p className=\"font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\">\r\n {title}\r\n </p>\r\n <div className=\"flex items-center gap-4\">\r\n <Label htmlFor={`${id}-from`} className=\"sr-only\">\r\n From\r\n </Label>\r\n <div className=\"relative\">\r\n <Input\r\n id={`${id}-from`}\r\n type=\"number\"\r\n aria-valuemin={min}\r\n aria-valuemax={max}\r\n inputMode=\"numeric\"\r\n pattern=\"[0-9]*\"\r\n placeholder={min.toString()}\r\n min={min}\r\n max={max}\r\n value={range[0]?.toString()}\r\n onChange={onFromInputChange}\r\n className={cn('h-8 w-24', unit && 'pr-8')}\r\n />\r\n {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 {unit}\r\n </span>\r\n )}\r\n </div>\r\n <Label htmlFor={`${id}-to`} className=\"sr-only\">\r\n to\r\n </Label>\r\n <div className=\"relative\">\r\n <Input\r\n id={`${id}-to`}\r\n type=\"number\"\r\n aria-valuemin={min}\r\n aria-valuemax={max}\r\n inputMode=\"numeric\"\r\n pattern=\"[0-9]*\"\r\n placeholder={max.toString()}\r\n min={min}\r\n max={max}\r\n value={range[1]?.toString()}\r\n onChange={onToInputChange}\r\n className={cn('h-8 w-24', unit && 'pr-8')}\r\n />\r\n {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 {unit}\r\n </span>\r\n )}\r\n </div>\r\n </div>\r\n <Label htmlFor={`${id}-slider`} className=\"sr-only\">\r\n {title} slider\r\n </Label>\r\n <Slider\r\n id={`${id}-slider`}\r\n min={min}\r\n max={max}\r\n step={step}\r\n value={range}\r\n onValueChange={onSliderValueChange}\r\n />\r\n </div>\r\n <Button\r\n aria-label={`Clear ${title} filter`}\r\n variant=\"outline\"\r\n size=\"sm\"\r\n onClick={onReset}\r\n >\r\n Clear\r\n </Button>\r\n </PopoverContent>\r\n </Popover>\r\n )\r\n}\r\n"],"names":["getIsValidRange","value","Array","DataTableSliderFilter","column","title","id","React","columnFilterValue","undefined","defaultRange","unit","min","max","step","minValue","maxValue","values","facetMinValue","facetMaxValue","rangeSize","Math","range","formatValue","onFromInputChange","event","numValue","Number","onToInputChange","onSliderValueChange","onReset","HTMLDivElement","Popover","PopoverTrigger","Button","XCircle","PlusCircle","Separator","PopoverContent","Label","Input","cn","Slider"],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
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(),s=external_react_namespaceObject.useId(),[c,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 s of e.getAllColumns()){if(!s.getCanSort())continue;let e=s.columnDef.meta?.label??s.id;a.set(s.id,e),t.has(s.id)||n.push({id:s.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:c,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:"outline",size:"sm",onKeyDown:x,children:[(0,jsx_runtime_namespaceObject.jsx)(react_namespaceObject.ArrowsDownUp,{}),"Sort",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":s,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?"Sort by":"No sorting applied"}),(0,jsx_runtime_namespaceObject.jsx)("p",{id:s,className:(0,utils_cjs_namespaceObject.cn)("text-muted-foreground text-sm",i.length>0&&"sr-only"),children:i.length>0?"Modify sorting to organize your rows.":"Add sorting to organize your rows."})]}),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:"Add sort"}),i.length>0&&(0,jsx_runtime_namespaceObject.jsx)(external_button_cjs_namespaceObject.Button,{variant:"outline",size:"sm",className:"rounded",onClick:d,children:"Reset sorting"})]})]})]}),(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:s,onSortRemove:c}){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(),c(e.id)))},[e.id,l,o,c]);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:"outline",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:"Search fields..."}),(0,jsx_runtime_namespaceObject.jsxs)(external_command_cjs_namespaceObject.CommandList,{children:[(0,jsx_runtime_namespaceObject.jsx)(external_command_cjs_namespaceObject.CommandEmpty,{children:"No fields found."}),(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=>s(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=>s(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:"outline",size:"icon",className:"size-8 shrink-0 rounded",onClick:()=>c(e.id),children:(0,jsx_runtime_namespaceObject.jsx)(react_namespaceObject.Trash,{})}),(0,jsx_runtime_namespaceObject.jsx)(external_sortable_cjs_namespaceObject.SortableItemHandle,{asChild:!0,children:(0,jsx_runtime_namespaceObject.jsx)(external_button_cjs_namespaceObject.Button,{variant:"outline",size:"icon",className:"size-8 shrink-0 rounded",children:(0,jsx_runtime_namespaceObject.jsx)(react_namespaceObject.DotsSixVertical,{})})})]})})}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
|
+
//# sourceMappingURL=data-table-sort-list.cjs.map
|
|
@@ -0,0 +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=\"outline\" size=\"sm\" onKeyDown={onTriggerKeyDown}>\r\n <ArrowsDownUp />\r\n Sort\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 ? 'Sort by' : 'No sorting applied'}\r\n </h4>\r\n <p\r\n id={descriptionId}\r\n className={cn(\r\n 'text-muted-foreground text-sm',\r\n sorting.length > 0 && 'sr-only'\r\n )}\r\n >\r\n {sorting.length > 0\r\n ? 'Modify sorting to organize your rows.'\r\n : 'Add sorting to organize your rows.'}\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 Add sort\r\n </Button>\r\n {sorting.length > 0 && (\r\n <Button\r\n variant=\"outline\"\r\n size=\"sm\"\r\n className=\"rounded\"\r\n onClick={onSortingReset}\r\n >\r\n Reset sorting\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=\"outline\"\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=\"Search fields...\" />\r\n <CommandList>\r\n <CommandEmpty>No fields found.</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=\"outline\"\r\n size=\"icon\"\r\n className=\"size-8 shrink-0 rounded\"\r\n onClick={() => onSortRemove(sort.id)}\r\n >\r\n <Trash />\r\n </Button>\r\n <SortableItemHandle asChild>\r\n <Button\r\n variant=\"outline\"\r\n size=\"icon\"\r\n className=\"size-8 shrink-0 rounded\"\r\n >\r\n <DotsSixVertical />\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":";w9CAuCMA,mBAAqB,IACrBC,sBAAwB,CAAC,YAAa,SAAS,CAO9C,SAASC,kBAAyB,CACvCC,MAAAA,CAAK,CACL,GAAGC,EAC2B,EAC9B,IAAMC,EAAKC,+BAAAA,KAAW,GAChBC,EAAUD,+BAAAA,KAAW,GACrBE,EAAgBF,+BAAAA,KAAW,GAC3B,CAACG,EAAMC,EAAQ,CAAGJ,+BAAAA,QAAc,CAAC,IACjCK,EAAeL,+BAAAA,MAAY,CAAoB,MAE/CM,EAAUT,EAAM,QAAQ,GAAG,OAAO,CAClCU,EAAkBV,EAAM,UAAU,CAElC,CAAEW,aAAAA,CAAY,CAAEC,QAAAA,CAAO,CAAE,CAAGT,+BAAAA,OAAa,CAAC,KAC9C,IAAMU,EAAS,IAAIC,IACbC,EAAa,IAAIC,IAAIP,EAAQ,GAAG,CAACQ,GAAKA,EAAE,EAAE,GAC1CC,EAAoD,EAAE,CAE5D,IAAK,IAAMC,KAAUnB,EAAM,aAAa,GAAI,CAC1C,GAAI,CAACmB,EAAO,UAAU,GAAI,SAE1B,IAAMC,EAAQD,EAAO,SAAS,CAAC,IAAI,EAAE,OAASA,EAAO,EAAE,CACvDN,EAAO,GAAG,CAACM,EAAO,EAAE,CAAEC,GAElB,EAAY,GAAG,CAACD,EAAO,EAAE,GAC3BD,EAAiB,IAAI,CAAC,CAAE,GAAIC,EAAO,EAAE,CAAEC,MAAAA,CAAM,EAEjD,CAEA,MAAO,CACL,aAAcP,EACd,QAASK,CACX,CACF,EAAG,CAACT,EAAST,EAAM,EAEbqB,EAAYlB,+BAAAA,WAAiB,CAAC,KAClC,IAAMmB,EAAcV,CAAO,CAAC,EAAE,CACzBU,GAELZ,EAAgBa,GAAe,IAC1BA,EACH,CAAE,GAAID,EAAY,EAAE,CAAE,KAAM,EAAM,EACnC,CACH,EAAG,CAACV,EAASF,EAAgB,EAEvBc,EAAerB,+BAAAA,WAAiB,CACpC,CAACsB,EAAgBC,KACfhB,EAAgBa,GACd,EACOA,EAAY,GAAG,CAACI,GACrBA,EAAK,EAAE,GAAKF,EAAS,CAAE,GAAGE,CAAI,CAAE,GAAGD,CAAO,EAAKC,GAFxBJ,EAK7B,EACA,CAACb,EAAgB,EAGbkB,EAAezB,+BAAAA,WAAiB,CACpC,IACEO,EAAgBa,GACdA,EAAY,MAAM,CAACM,GAAQA,EAAK,EAAE,GAAKJ,GAE3C,EACA,CAACf,EAAgB,EAGboB,EAAiB3B,+BAAAA,WAAiB,CACtC,IAAMO,EAAgBV,EAAM,YAAY,CAAC,OAAO,EAChD,CAACU,EAAiBV,EAAM,YAAY,CAAC,OAAO,CAAC,EAG/CG,+BAAAA,SAAe,CAAC,KACd,SAAS4B,EAAUC,CAAoB,GAEnCA,CAAAA,EAAM,MAAM,YAAYC,kBACxBD,EAAM,MAAM,YAAYE,mBAAkB,IAnFvB,MAyFnBF,EAAM,GAAG,CAAC,WAAW,IACpBA,EAAM,OAAO,EACbA,EAAM,OAAO,EACbA,EAAM,QAAQ,GAEfA,EAAM,cAAc,GACpBzB,EAAQ,KA/FW,MAmGnByB,EAAM,GAAG,CAAC,WAAW,IACrBA,EAAM,QAAQ,EACdvB,EAAQ,MAAM,CAAG,IAEjBuB,EAAM,cAAc,GACpBF,KAEJ,CAGA,OADAK,OAAO,gBAAgB,CAAC,UAAWJ,GAC5B,IAAMI,OAAO,mBAAmB,CAAC,UAAWJ,EACrD,EAAG,CAACtB,EAAQ,MAAM,CAAEqB,EAAe,EAEnC,IAAMM,EAAmBjC,+BAAAA,WAAiB,CACxC,IAEIL,sBAAsB,QAAQ,CAACkC,EAAM,GAAG,CAAC,WAAW,KACpDvB,EAAQ,MAAM,CAAG,IAEjBuB,EAAM,cAAc,GACpBF,IAEJ,EACA,CAACrB,EAAQ,MAAM,CAAEqB,EAAe,EAGlC,MACE,qCAACO,sCAAAA,QAAQA,CAAAA,CACP,MAAO5B,EACP,cAAeC,EACf,aAAcmB,GAAQA,EAAK,EAAE,C,UAE7B,qCAACS,qCAAAA,OAAOA,CAAAA,CAAC,KAAMhC,EAAM,aAAcC,E,UACjC,oCAACgC,qCAAAA,cAAcA,CAAAA,CAAC,QAAO,G,SACrB,qCAACC,oCAAAA,MAAMA,CAAAA,CAAC,QAAQ,UAAU,KAAK,KAAK,UAAWJ,E,UAC7C,oCAACK,sBAAAA,YAAYA,CAAAA,CAAAA,GAAG,OAEfhC,EAAQ,MAAM,CAAG,GAChB,oCAACiC,mCAAAA,KAAKA,CAAAA,CACJ,QAAQ,YACR,UAAU,8E,SAETjC,EAAQ,MAAM,QAKvB,qCAACkC,qCAAAA,cAAcA,CAAAA,CACb,kBAAiBvC,EACjB,mBAAkBC,EAClB,UAAU,gKACT,GAAGJ,CAAK,C,UAET,qCAAC,OAAI,UAAU,sB,UACb,oCAAC,MAAG,GAAIG,EAAS,UAAU,2B,SACxBK,EAAQ,MAAM,CAAG,EAAI,UAAY,oB,GAEpC,oCAAC,KACC,GAAIJ,EACJ,UAAWuC,GAAAA,0BAAAA,EAAAA,EACT,gCACAnC,EAAQ,MAAM,CAAG,GAAK,W,SAGvBA,EAAQ,MAAM,CAAG,EACd,wCACA,oC,MAGPA,EAAQ,MAAM,CAAG,GAChB,oCAACoC,sCAAAA,eAAeA,CAAAA,CAAC,QAAO,G,SACtB,oCAAC,OACC,KAAK,OACL,UAAU,wD,SAETpC,EAAQ,GAAG,CAACkB,GACX,oCAACmB,kBAAAA,CAEC,KAAMnB,EACN,WAAY,CAAC,EAAEzB,EAAG,MAAM,EAAEyB,EAAK,EAAE,CAAC,CAAC,CACnC,QAASf,EACT,aAAcD,EACd,aAAca,EACd,aAAcI,C,EANTD,EAAK,EAAE,E,KAYtB,qCAAC,OAAI,UAAU,iC,UACb,oCAACa,oCAAAA,MAAMA,CAAAA,CACL,KAAK,KACL,UAAU,UACV,IAAKhC,EACL,QAASa,EACT,SAAUT,IAAAA,EAAQ,MAAM,C,SACzB,U,GAGAH,EAAQ,MAAM,CAAG,GAChB,oCAAC+B,oCAAAA,MAAMA,CAAAA,CACL,QAAQ,UACR,KAAK,KACL,UAAU,UACV,QAASV,E,SACV,e,YAOT,oCAACiB,sCAAAA,eAAeA,CAAAA,C,SACd,qCAAC,OAAI,UAAU,0B,UACb,oCAAC,OAAI,UAAU,wC,GACf,oCAAC,OAAI,UAAU,mC,GACf,oCAAC,OAAI,UAAU,0C,GACf,oCAAC,OAAI,UAAU,0C,UAKzB,CAWA,SAASD,kBAAkB,CACzBnB,KAAAA,CAAI,CACJqB,WAAAA,CAAU,CACVpC,QAAAA,CAAO,CACPD,aAAAA,CAAY,CACZa,aAAAA,CAAY,CACZI,aAAAA,CAAY,CACW,EACvB,IAAMqB,EAAiB,CAAC,EAAED,EAAW,cAAc,CAAC,CAC9CE,EAAiB,CAAC,EAAEF,EAAW,cAAc,CAAC,CAC9CG,EAAqB,CAAC,EAAEH,EAAW,kBAAkB,CAAC,CAEtD,CAACI,EAAmBC,EAAqB,CAAGlD,+BAAAA,QAAc,CAAC,IAC3D,CAACmD,EAAuBC,EAAyB,CACrDpD,+BAAAA,QAAc,CAAC,IAEXqD,EAAgBrD,+BAAAA,WAAiB,CACrC,KAEI6B,CAAAA,EAAM,MAAM,YAAYC,kBACxBD,EAAM,MAAM,YAAYE,mBAAkB,IAKxCkB,GAAqBE,GAIrBxD,sBAAsB,QAAQ,CAACkC,EAAM,GAAG,CAAC,WAAW,MACtDA,EAAM,cAAc,GACpBJ,EAAaD,EAAK,EAAE,GAExB,EACA,CAACA,EAAK,EAAE,CAAEyB,EAAmBE,EAAuB1B,EAAa,EAGnE,MACE,oCAAC6B,sCAAAA,YAAYA,CAAAA,CAAC,MAAO9B,EAAK,EAAE,CAAE,QAAO,G,SACnC,qCAAC,OACC,KAAK,WACL,GAAIqB,EACJ,SAAU,GACV,UAAU,0BACV,UAAWQ,E,UAEX,qCAAClB,qCAAAA,OAAOA,CAAAA,CAAC,KAAMc,EAAmB,aAAcC,E,UAC9C,oCAACd,qCAAAA,cAAcA,CAAAA,CAAC,QAAO,G,SACrB,qCAACC,oCAAAA,MAAMA,CAAAA,CACL,GAAIU,EACJ,KAAK,WACL,gBAAeD,EACf,QAAQ,UACR,KAAK,KACL,UAAU,2C,UAEV,oCAAC,QAAK,UAAU,W,SAAYtC,EAAa,GAAG,CAACgB,EAAK,EAAE,C,GACpD,oCAAC+B,sBAAAA,WAAWA,CAAAA,CAAC,UAAU,Y,QAG3B,oCAACf,qCAAAA,cAAcA,CAAAA,CACb,GAAIM,EACJ,UAAU,oG,SAEV,qCAACU,qCAAAA,OAAOA,CAAAA,C,UACN,oCAACC,qCAAAA,YAAYA,CAAAA,CAAC,YAAY,kB,GAC1B,qCAACC,qCAAAA,WAAWA,CAAAA,C,UACV,oCAACC,qCAAAA,YAAYA,CAAAA,C,SAAC,kB,GACd,oCAACC,qCAAAA,YAAYA,CAAAA,C,SACVnD,EAAQ,GAAG,CAACO,GACX,oCAAC6C,qCAAAA,WAAWA,CAAAA,CAEV,MAAO7C,EAAO,EAAE,CAChB,SAAU8C,GAASzC,EAAaG,EAAK,EAAE,CAAE,CAAE,GAAIsC,CAAM,G,SAErD,oCAAC,QAAK,UAAU,W,SAAY9C,EAAO,KAAK,IAJnCA,EAAO,EAAE,E,cAY5B,qCAAC+C,oCAAAA,MAAMA,CAAAA,CACL,KAAMZ,EACN,aAAcC,EACd,MAAO5B,EAAK,IAAI,CAAG,OAAS,MAC5B,cAAe,GACbH,EAAaG,EAAK,EAAE,CAAE,CAAE,KAAMsC,SAAAA,CAAiB,G,UAGjD,oCAACE,oCAAAA,aAAaA,CAAAA,CACZ,gBAAehB,EACf,UAAU,sC,SAEV,oCAACiB,oCAAAA,WAAWA,CAAAA,CAAAA,E,GAEd,oCAACC,oCAAAA,aAAaA,CAAAA,CACZ,GAAIlB,EACJ,UAAU,kG,SAETmB,sCAAAA,eAAAA,CAAAA,UAAAA,CAAAA,GAA8B,CAACC,GAC9B,oCAACC,oCAAAA,UAAUA,CAAAA,CAAmB,MAAOD,EAAM,KAAK,C,SAC7CA,EAAM,KAAK,EADGA,EAAM,KAAK,E,MAMlC,oCAAC/B,oCAAAA,MAAMA,CAAAA,CACL,gBAAeQ,EACf,QAAQ,UACR,KAAK,OACL,UAAU,0BACV,QAAS,IAAMpB,EAAaD,EAAK,EAAE,E,SAEnC,oCAAC8C,sBAAAA,KAAKA,CAAAA,CAAAA,E,GAER,oCAACC,sCAAAA,kBAAkBA,CAAAA,CAAC,QAAO,G,SACzB,oCAAClC,oCAAAA,MAAMA,CAAAA,CACL,QAAQ,UACR,KAAK,OACL,UAAU,0B,SAEV,oCAACmC,sBAAAA,eAAeA,CAAAA,CAAAA,E,SAM5B,C"}
|
|
@@ -0,0 +1,3 @@
|
|
|
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:"outline",size:"sm",className:"border-dashed",onClick:l,children:[(0,jsx_runtime_namespaceObject.jsx)(react_namespaceObject.X,{}),"Reset"]})]}),(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"});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")}),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
|
+
//# sourceMappingURL=data-table-toolbar.cjs.map
|
|
@@ -0,0 +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=\"outline\"\r\n size=\"sm\"\r\n className=\"border-dashed\"\r\n onClick={onReset}\r\n >\r\n <X />\r\n Reset\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 />\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 />\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,UACR,KAAK,KACL,UAAU,gBACV,QAASH,E,UAET,oCAACI,sBAAAA,CAACA,CAAAA,CAAAA,GAAG,Q,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,CAqExC,OAAOQ,+BAnEgBT,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,kB,EAIhB,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,O,GAEnDA,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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
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:"outline",size:"sm",className:"ml-auto hidden h-8 lg:flex",children:[(0,jsx_runtime_namespaceObject.jsx)(react_namespaceObject.SlidersHorizontal,{}),"View",(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:"Search columns..."}),(0,jsx_runtime_namespaceObject.jsxs)(external_command_cjs_namespaceObject.CommandList,{children:[(0,jsx_runtime_namespaceObject.jsx)(external_command_cjs_namespaceObject.CommandEmpty,{children:"No columns found."}),(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
|
+
//# sourceMappingURL=data-table-view-options.cjs.map
|
|
@@ -0,0 +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=\"outline\"\r\n size=\"sm\"\r\n className=\"ml-auto hidden h-8 lg:flex\"\r\n >\r\n <SlidersHorizontal />\r\n View\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=\"Search columns...\" />\r\n <CommandList>\r\n <CommandEmpty>No columns found.</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,UACR,KAAK,KACL,UAAU,6B,UAEV,oCAACC,sBAAAA,iBAAiBA,CAAAA,CAAAA,GAAG,OAErB,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,mB,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"}
|
|
@@ -0,0 +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 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__,{DataTable:()=>DataTable});let jsx_runtime_namespaceObject=require("react/jsx-runtime"),react_table_namespaceObject=require("@tanstack/react-table"),external_data_table_pagination_cjs_namespaceObject=require("./data-table-pagination.cjs"),external_table_cjs_namespaceObject=require("../table.cjs"),data_table_cjs_namespaceObject=require("../../lib/data-table.cjs"),utils_cjs_namespaceObject=require("../../lib/utils.cjs");function DataTable({table:e,actionBar:a,children:t,className:_,...c}){return(0,jsx_runtime_namespaceObject.jsxs)("div",{className:(0,utils_cjs_namespaceObject.cn)("flex w-full flex-col gap-2.5 overflow-auto",_),...c,children:[t,(0,jsx_runtime_namespaceObject.jsx)("div",{className:"overflow-hidden rounded-md border",children:(0,jsx_runtime_namespaceObject.jsxs)(external_table_cjs_namespaceObject.Table,{children:[(0,jsx_runtime_namespaceObject.jsx)(external_table_cjs_namespaceObject.TableHeader,{children:e.getHeaderGroups().map(e=>(0,jsx_runtime_namespaceObject.jsx)(external_table_cjs_namespaceObject.TableRow,{children:e.headers.map(e=>(0,jsx_runtime_namespaceObject.jsx)(external_table_cjs_namespaceObject.TableHead,{colSpan:e.colSpan,style:{...(0,data_table_cjs_namespaceObject.getCommonPinningStyles)({column:e.column})},children:e.isPlaceholder?null:(0,react_table_namespaceObject.flexRender)(e.column.columnDef.header,e.getContext())},e.id))},e.id))}),(0,jsx_runtime_namespaceObject.jsx)(external_table_cjs_namespaceObject.TableBody,{children:e.getRowModel().rows?.length?e.getRowModel().rows.map(e=>(0,jsx_runtime_namespaceObject.jsx)(external_table_cjs_namespaceObject.TableRow,{"data-state":e.getIsSelected()&&"selected",children:e.getVisibleCells().map(e=>(0,jsx_runtime_namespaceObject.jsx)(external_table_cjs_namespaceObject.TableCell,{style:{...(0,data_table_cjs_namespaceObject.getCommonPinningStyles)({column:e.column})},children:(0,react_table_namespaceObject.flexRender)(e.column.columnDef.cell,e.getContext())},e.id))},e.id)):(0,jsx_runtime_namespaceObject.jsx)(external_table_cjs_namespaceObject.TableRow,{children:(0,jsx_runtime_namespaceObject.jsx)(external_table_cjs_namespaceObject.TableCell,{colSpan:e.getAllColumns().length,className:"h-24 text-center",children:"No results."})})})]})}),(0,jsx_runtime_namespaceObject.jsxs)("div",{className:"flex flex-col gap-2.5",children:[(0,jsx_runtime_namespaceObject.jsx)(external_data_table_pagination_cjs_namespaceObject.DataTablePagination,{table:e}),a&&e.getFilteredSelectedRowModel().rows.length>0&&a]})]})}for(var __webpack_i__ in exports.DataTable=__webpack_exports__.DataTable,__webpack_exports__)-1===["DataTable"].indexOf(__webpack_i__)&&(exports[__webpack_i__]=__webpack_exports__[__webpack_i__]);Object.defineProperty(exports,"__esModule",{value:!0});
|
|
2
|
+
//# sourceMappingURL=data-table.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components\\data-table\\data-table.cjs","sources":["webpack://@gbmtech/aurora-ui/./src/components/data-table/data-table.tsx"],"sourcesContent":["import { type Table as TanstackTable, flexRender } from '@tanstack/react-table'\r\nimport type * as React from 'react'\r\n\r\nimport { DataTablePagination } from '@/components/data-table/data-table-pagination'\r\nimport {\r\n Table,\r\n TableBody,\r\n TableCell,\r\n TableHead,\r\n TableHeader,\r\n TableRow,\r\n} from '@/components/table'\r\nimport { getCommonPinningStyles } from '@/lib/data-table'\r\nimport { cn } from '@/lib/utils'\r\n\r\ninterface DataTableProps<TData> extends React.ComponentProps<'div'> {\r\n table: TanstackTable<TData>\r\n actionBar?: React.ReactNode\r\n}\r\n\r\nexport function DataTable<TData>({\r\n table,\r\n actionBar,\r\n children,\r\n className,\r\n ...props\r\n}: DataTableProps<TData>) {\r\n return (\r\n <div\r\n className={cn('flex w-full flex-col gap-2.5 overflow-auto', className)}\r\n {...props}\r\n >\r\n {children}\r\n <div className=\"overflow-hidden rounded-md border\">\r\n <Table>\r\n <TableHeader>\r\n {table.getHeaderGroups().map(headerGroup => (\r\n <TableRow key={headerGroup.id}>\r\n {headerGroup.headers.map(header => (\r\n <TableHead\r\n key={header.id}\r\n colSpan={header.colSpan}\r\n style={{\r\n ...getCommonPinningStyles({ column: header.column }),\r\n }}\r\n >\r\n {header.isPlaceholder\r\n ? null\r\n : flexRender(\r\n header.column.columnDef.header,\r\n header.getContext()\r\n )}\r\n </TableHead>\r\n ))}\r\n </TableRow>\r\n ))}\r\n </TableHeader>\r\n <TableBody>\r\n {table.getRowModel().rows?.length ? (\r\n table.getRowModel().rows.map(row => (\r\n <TableRow\r\n key={row.id}\r\n data-state={row.getIsSelected() && 'selected'}\r\n >\r\n {row.getVisibleCells().map(cell => (\r\n <TableCell\r\n key={cell.id}\r\n style={{\r\n ...getCommonPinningStyles({ column: cell.column }),\r\n }}\r\n >\r\n {flexRender(\r\n cell.column.columnDef.cell,\r\n cell.getContext()\r\n )}\r\n </TableCell>\r\n ))}\r\n </TableRow>\r\n ))\r\n ) : (\r\n <TableRow>\r\n <TableCell\r\n colSpan={table.getAllColumns().length}\r\n className=\"h-24 text-center\"\r\n >\r\n No results.\r\n </TableCell>\r\n </TableRow>\r\n )}\r\n </TableBody>\r\n </Table>\r\n </div>\r\n <div className=\"flex flex-col gap-2.5\">\r\n <DataTablePagination table={table} />\r\n {actionBar &&\r\n table.getFilteredSelectedRowModel().rows.length > 0 &&\r\n actionBar}\r\n </div>\r\n </div>\r\n )\r\n}\r\n"],"names":["DataTable","table","actionBar","children","className","props","cn","Table","TableHeader","headerGroup","TableRow","header","TableHead","getCommonPinningStyles","flexRender","TableBody","row","cell","TableCell","DataTablePagination"],"mappings":"irCAoBO,SAASA,UAAiB,CAC/BC,MAAAA,CAAK,CACLC,UAAAA,CAAS,CACTC,SAAAA,CAAQ,CACRC,UAAAA,CAAS,CACT,GAAGC,EACmB,EACtB,MACE,qCAAC,OACC,UAAWC,AAAAA,GAAAA,0BAAAA,EAAAA,AAAAA,EAAG,6CAA8CF,GAC3D,GAAGC,CAAK,C,UAERF,EACD,oCAAC,OAAI,UAAU,oC,SACb,qCAACI,mCAAAA,KAAKA,CAAAA,C,UACJ,oCAACC,mCAAAA,WAAWA,CAAAA,C,SACTP,EAAM,eAAe,GAAG,GAAG,CAACQ,AAAAA,GAC3B,oCAACC,mCAAAA,QAAQA,CAAAA,C,SACND,EAAY,OAAO,CAAC,GAAG,CAACE,AAAAA,GACvB,oCAACC,mCAAAA,SAASA,CAAAA,CAER,QAASD,EAAO,OAAO,CACvB,MAAO,CACL,GAAGE,AAAAA,GAAAA,+BAAAA,sBAAAA,AAAAA,EAAuB,CAAE,OAAQF,EAAO,MAAM,AAAC,EAAE,AACtD,E,SAECA,EAAO,aAAa,CACjB,KACAG,AAAAA,GAAAA,4BAAAA,UAAAA,AAAAA,EACEH,EAAO,MAAM,CAAC,SAAS,CAAC,MAAM,CAC9BA,EAAO,UAAU,G,EAVlBA,EAAO,EAAE,E,EAHLF,EAAY,EAAE,E,GAoBjC,oCAACM,mCAAAA,SAASA,CAAAA,C,SACPd,EAAM,WAAW,GAAG,IAAI,EAAE,OACzBA,EAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAACe,AAAAA,GAC3B,oCAACN,mCAAAA,QAAQA,CAAAA,CAEP,aAAYM,EAAI,aAAa,IAAM,W,SAElCA,EAAI,eAAe,GAAG,GAAG,CAACC,AAAAA,GACzB,oCAACC,mCAAAA,SAASA,CAAAA,CAER,MAAO,CACL,GAAGL,AAAAA,GAAAA,+BAAAA,sBAAAA,AAAAA,EAAuB,CAAE,OAAQI,EAAK,MAAM,AAAC,EAAE,AACpD,E,SAECH,AAAAA,GAAAA,4BAAAA,UAAAA,AAAAA,EACCG,EAAK,MAAM,CAAC,SAAS,CAAC,IAAI,CAC1BA,EAAK,UAAU,G,EAPZA,EAAK,EAAE,E,EALXD,EAAI,EAAE,GAmBf,oCAACN,mCAAAA,QAAQA,CAAAA,C,SACP,oCAACQ,mCAAAA,SAASA,CAAAA,CACR,QAASjB,EAAM,aAAa,GAAG,MAAM,CACrC,UAAU,mB,SACX,a,YAQX,qCAAC,OAAI,UAAU,wB,UACb,oCAACkB,mDAAAA,mBAAmBA,CAAAA,CAAC,MAAOlB,C,GAC3BC,GACCD,EAAM,2BAA2B,GAAG,IAAI,CAAC,MAAM,CAAG,GAClDC,E,KAIV,C"}
|
|
@@ -0,0 +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});
|
|
@@ -0,0 +1,3 @@
|
|
|
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,t)=>{for(var a in t)__webpack_require__.o(t,a)&&!__webpack_require__.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),__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__,{FacetedSeparator:()=>FacetedSeparator,FacetedItem:()=>FacetedItem,Faceted:()=>Faceted,FacetedContent:()=>FacetedContent,FacetedInput:()=>FacetedInput,FacetedList:()=>FacetedList,FacetedBadgeList:()=>FacetedBadgeList,FacetedGroup:()=>FacetedGroup,FacetedEmpty:()=>FacetedEmpty,FacetedTrigger:()=>FacetedTrigger});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_command_cjs_namespaceObject=require("./command.cjs"),external_popover_cjs_namespaceObject=require("./popover.cjs"),utils_cjs_namespaceObject=require("../lib/utils.cjs"),FacetedContext=external_react_namespaceObject.createContext(null);function useFacetedContext(e){let t=external_react_namespaceObject.useContext(FacetedContext);if(!t)throw Error(`\`${e}\` must be within Faceted`);return t}function Faceted(e){let{open:t,onOpenChange:a,value:c,onValueChange:r,children:_,multiple:n=!1,...s}=e,[p,o]=external_react_namespaceObject.useState(!1),m=void 0!==t,d=m?t:p,i=external_react_namespaceObject.useCallback(e=>{m||o(e),a?.(e)},[m,a]),l=external_react_namespaceObject.useCallback(e=>{if(r)if(n){let t=Array.isArray(c)?c:[];r(t.includes(e)?t.filter(t=>t!==e):[...t,e])}else c===e?r(void 0):r(e),requestAnimationFrame(()=>i(!1))},[n,c,r,i]),u=external_react_namespaceObject.useMemo(()=>({value:c,onItemSelect:l,multiple:n}),[c,l,n]);return(0,jsx_runtime_namespaceObject.jsx)(FacetedContext.Provider,{value:u,children:(0,jsx_runtime_namespaceObject.jsx)(external_popover_cjs_namespaceObject.Popover,{open:d,onOpenChange:i,...s,children:_})})}function FacetedTrigger(e){let{className:t,children:a,...c}=e;return(0,jsx_runtime_namespaceObject.jsx)(external_popover_cjs_namespaceObject.PopoverTrigger,{...c,className:(0,utils_cjs_namespaceObject.cn)("justify-between text-left",t),children:a})}function FacetedBadgeList(e){let{options:t=[],max:a=2,placeholder:c="Select options...",className:r,badgeClassName:_,...n}=e,s=useFacetedContext("FacetedBadgeList"),p=Array.isArray(s.value)?s.value:[s.value].filter(Boolean),o=external_react_namespaceObject.useCallback(e=>{let a=t.find(t=>t.value===e);return a?.label??e},[t]);return p&&0!==p.length?(0,jsx_runtime_namespaceObject.jsx)("div",{...n,className:(0,utils_cjs_namespaceObject.cn)("flex flex-wrap items-center gap-1",r),children:p.length>a?(0,jsx_runtime_namespaceObject.jsxs)(external_badge_cjs_namespaceObject.Badge,{variant:"secondary",className:(0,utils_cjs_namespaceObject.cn)("rounded-sm px-1 font-normal",_),children:[p.length," selected"]}):p.map(e=>(0,jsx_runtime_namespaceObject.jsx)(external_badge_cjs_namespaceObject.Badge,{variant:"secondary",className:(0,utils_cjs_namespaceObject.cn)("rounded-sm px-1 font-normal",_),children:(0,jsx_runtime_namespaceObject.jsx)("span",{className:"truncate",children:o(e)})},e))}):(0,jsx_runtime_namespaceObject.jsxs)("div",{...n,className:"flex w-full items-center gap-1 text-muted-foreground",children:[c,(0,jsx_runtime_namespaceObject.jsx)(react_namespaceObject.CaretUpDown,{className:"ml-auto size-4 shrink-0 opacity-50"})]})}function FacetedContent(e){let{className:t,children:a,...c}=e;return(0,jsx_runtime_namespaceObject.jsx)(external_popover_cjs_namespaceObject.PopoverContent,{...c,align:"start",className:(0,utils_cjs_namespaceObject.cn)("w-[200px] origin-(--radix-popover-content-transform-origin) p-0",t),children:(0,jsx_runtime_namespaceObject.jsx)(external_command_cjs_namespaceObject.Command,{children:a})})}let FacetedInput=external_command_cjs_namespaceObject.CommandInput,FacetedList=external_command_cjs_namespaceObject.CommandList,FacetedEmpty=external_command_cjs_namespaceObject.CommandEmpty,FacetedGroup=external_command_cjs_namespaceObject.CommandGroup;function FacetedItem(e){let{value:t,onSelect:a,className:c,children:r,..._}=e,n=useFacetedContext("FacetedItem"),s=n.multiple?Array.isArray(n.value)&&n.value.includes(t):n.value===t,p=external_react_namespaceObject.useCallback(e=>{a?a(e):n.onItemSelect&&n.onItemSelect(e)},[a,n.onItemSelect]);return(0,jsx_runtime_namespaceObject.jsxs)(external_command_cjs_namespaceObject.CommandItem,{"aria-selected":s,"data-selected":s,className:(0,utils_cjs_namespaceObject.cn)("gap-2",c),onSelect:()=>p(t),..._,children:[(0,jsx_runtime_namespaceObject.jsx)("span",{className:(0,utils_cjs_namespaceObject.cn)("flex size-4 items-center justify-center rounded-sm border border-primary",s?"bg-primary text-primary-foreground":"opacity-50 [&_svg]:invisible"),children:(0,jsx_runtime_namespaceObject.jsx)(react_namespaceObject.Check,{className:"size-4"})}),r]})}let FacetedSeparator=external_command_cjs_namespaceObject.CommandSeparator;for(var __webpack_i__ in exports.Faceted=__webpack_exports__.Faceted,exports.FacetedBadgeList=__webpack_exports__.FacetedBadgeList,exports.FacetedContent=__webpack_exports__.FacetedContent,exports.FacetedEmpty=__webpack_exports__.FacetedEmpty,exports.FacetedGroup=__webpack_exports__.FacetedGroup,exports.FacetedInput=__webpack_exports__.FacetedInput,exports.FacetedItem=__webpack_exports__.FacetedItem,exports.FacetedList=__webpack_exports__.FacetedList,exports.FacetedSeparator=__webpack_exports__.FacetedSeparator,exports.FacetedTrigger=__webpack_exports__.FacetedTrigger,__webpack_exports__)-1===["Faceted","FacetedBadgeList","FacetedContent","FacetedEmpty","FacetedGroup","FacetedInput","FacetedItem","FacetedList","FacetedSeparator","FacetedTrigger"].indexOf(__webpack_i__)&&(exports[__webpack_i__]=__webpack_exports__[__webpack_i__]);Object.defineProperty(exports,"__esModule",{value:!0});
|
|
3
|
+
//# sourceMappingURL=faceted.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components\\faceted.cjs","sources":["webpack://@gbmtech/aurora-ui/./src/components/faceted.tsx"],"sourcesContent":["\r\n\r\nimport { CaretUpDown, Check } from '@phosphor-icons/react'\r\nimport * as React from 'react'\r\n\r\nimport { Badge } from '@/components/badge'\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 { cn } from '@/lib/utils'\r\n\r\ntype FacetedValue<Multiple extends boolean> = Multiple extends true\r\n ? string[]\r\n : string\r\n\r\ninterface FacetedContextValue<Multiple extends boolean = boolean> {\r\n value?: FacetedValue<Multiple>\r\n onItemSelect?: (value: string) => void\r\n multiple?: Multiple\r\n}\r\n\r\nconst FacetedContext = React.createContext<FacetedContextValue<boolean> | null>(\r\n null\r\n)\r\n\r\nfunction useFacetedContext(name: string) {\r\n const context = React.useContext(FacetedContext)\r\n if (!context) {\r\n throw new Error(`\\`${name}\\` must be within Faceted`)\r\n }\r\n return context\r\n}\r\n\r\ninterface FacetedProps<Multiple extends boolean = false>\r\n extends React.ComponentProps<typeof Popover> {\r\n value?: FacetedValue<Multiple>\r\n onValueChange?: (value: FacetedValue<Multiple> | undefined) => void\r\n children?: React.ReactNode\r\n multiple?: Multiple\r\n}\r\n\r\nfunction Faceted<Multiple extends boolean = false>(\r\n props: FacetedProps<Multiple>\r\n) {\r\n const {\r\n open: openProp,\r\n onOpenChange: onOpenChangeProp,\r\n value,\r\n onValueChange,\r\n children,\r\n multiple = false,\r\n ...facetedProps\r\n } = props\r\n\r\n const [uncontrolledOpen, setUncontrolledOpen] = React.useState(false)\r\n const isControlled = openProp !== undefined\r\n const open = isControlled ? openProp : uncontrolledOpen\r\n\r\n const onOpenChange = React.useCallback(\r\n (newOpen: boolean) => {\r\n if (!isControlled) {\r\n setUncontrolledOpen(newOpen)\r\n }\r\n onOpenChangeProp?.(newOpen)\r\n },\r\n [isControlled, onOpenChangeProp]\r\n )\r\n\r\n const onItemSelect = React.useCallback(\r\n (selectedValue: string) => {\r\n if (!onValueChange) return\r\n\r\n if (multiple) {\r\n const currentValue = (Array.isArray(value) ? value : []) as string[]\r\n const newValue = currentValue.includes(selectedValue)\r\n ? currentValue.filter(v => v !== selectedValue)\r\n : [...currentValue, selectedValue]\r\n onValueChange(newValue as FacetedValue<Multiple>)\r\n } else {\r\n if (value === selectedValue) {\r\n onValueChange(undefined)\r\n } else {\r\n onValueChange(selectedValue as FacetedValue<Multiple>)\r\n }\r\n\r\n requestAnimationFrame(() => onOpenChange(false))\r\n }\r\n },\r\n [multiple, value, onValueChange, onOpenChange]\r\n )\r\n\r\n const contextValue = React.useMemo<FacetedContextValue<typeof multiple>>(\r\n () => ({ value, onItemSelect, multiple }),\r\n [value, onItemSelect, multiple]\r\n )\r\n\r\n return (\r\n <FacetedContext.Provider value={contextValue}>\r\n <Popover open={open} onOpenChange={onOpenChange} {...facetedProps}>\r\n {children}\r\n </Popover>\r\n </FacetedContext.Provider>\r\n )\r\n}\r\n\r\nfunction FacetedTrigger(props: React.ComponentProps<typeof PopoverTrigger>) {\r\n const { className, children, ...triggerProps } = props\r\n\r\n return (\r\n <PopoverTrigger\r\n {...triggerProps}\r\n className={cn('justify-between text-left', className)}\r\n >\r\n {children}\r\n </PopoverTrigger>\r\n )\r\n}\r\n\r\ninterface FacetedBadgeListProps extends React.ComponentProps<'div'> {\r\n options?: { label: string; value: string }[]\r\n max?: number\r\n badgeClassName?: string\r\n placeholder?: string\r\n}\r\n\r\nfunction FacetedBadgeList(props: FacetedBadgeListProps) {\r\n const {\r\n options = [],\r\n max = 2,\r\n placeholder = 'Select options...',\r\n className,\r\n badgeClassName,\r\n ...badgeListProps\r\n } = props\r\n\r\n const context = useFacetedContext('FacetedBadgeList')\r\n const values = Array.isArray(context.value)\r\n ? context.value\r\n : ([context.value].filter(Boolean) as string[])\r\n\r\n const getLabel = React.useCallback(\r\n (value: string) => {\r\n const option = options.find(opt => opt.value === value)\r\n return option?.label ?? value\r\n },\r\n [options]\r\n )\r\n\r\n if (!values || values.length === 0) {\r\n return (\r\n <div\r\n {...badgeListProps}\r\n className=\"flex w-full items-center gap-1 text-muted-foreground\"\r\n >\r\n {placeholder}\r\n <CaretUpDown className=\"ml-auto size-4 shrink-0 opacity-50\" />\r\n </div>\r\n )\r\n }\r\n\r\n return (\r\n <div\r\n {...badgeListProps}\r\n className={cn('flex flex-wrap items-center gap-1', className)}\r\n >\r\n {values.length > max ? (\r\n <Badge\r\n variant=\"secondary\"\r\n className={cn('rounded-sm px-1 font-normal', badgeClassName)}\r\n >\r\n {values.length} selected\r\n </Badge>\r\n ) : (\r\n values.map(value => (\r\n <Badge\r\n key={value}\r\n variant=\"secondary\"\r\n className={cn('rounded-sm px-1 font-normal', badgeClassName)}\r\n >\r\n <span className=\"truncate\">{getLabel(value)}</span>\r\n </Badge>\r\n ))\r\n )}\r\n </div>\r\n )\r\n}\r\n\r\nfunction FacetedContent(props: React.ComponentProps<typeof PopoverContent>) {\r\n const { className, children, ...contentProps } = props\r\n\r\n return (\r\n <PopoverContent\r\n {...contentProps}\r\n align=\"start\"\r\n className={cn(\r\n 'w-[200px] origin-(--radix-popover-content-transform-origin) p-0',\r\n className\r\n )}\r\n >\r\n <Command>{children}</Command>\r\n </PopoverContent>\r\n )\r\n}\r\n\r\nconst FacetedInput = CommandInput\r\n\r\nconst FacetedList = CommandList\r\n\r\nconst FacetedEmpty = CommandEmpty\r\n\r\nconst FacetedGroup = CommandGroup\r\n\r\ninterface FacetedItemProps extends React.ComponentProps<typeof CommandItem> {\r\n value: string\r\n}\r\n\r\nfunction FacetedItem(props: FacetedItemProps) {\r\n const { value, onSelect, className, children, ...itemProps } = props\r\n const context = useFacetedContext('FacetedItem')\r\n\r\n const isSelected = context.multiple\r\n ? Array.isArray(context.value) && context.value.includes(value)\r\n : context.value === value\r\n\r\n const onItemSelect = React.useCallback(\r\n (currentValue: string) => {\r\n if (onSelect) {\r\n onSelect(currentValue)\r\n } else if (context.onItemSelect) {\r\n context.onItemSelect(currentValue)\r\n }\r\n },\r\n [onSelect, context.onItemSelect]\r\n )\r\n\r\n return (\r\n <CommandItem\r\n aria-selected={isSelected}\r\n data-selected={isSelected}\r\n className={cn('gap-2', className)}\r\n onSelect={() => onItemSelect(value)}\r\n {...itemProps}\r\n >\r\n <span\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 text-primary-foreground'\r\n : 'opacity-50 [&_svg]:invisible'\r\n )}\r\n >\r\n <Check className=\"size-4\" />\r\n </span>\r\n {children}\r\n </CommandItem>\r\n )\r\n}\r\n\r\nconst FacetedSeparator = CommandSeparator\r\n\r\nexport {\r\n Faceted,\r\n FacetedBadgeList,\r\n FacetedContent,\r\n FacetedEmpty,\r\n FacetedGroup,\r\n FacetedInput,\r\n FacetedItem,\r\n FacetedList,\r\n FacetedSeparator,\r\n FacetedTrigger,\r\n}\r\n"],"names":["FacetedContext","React","useFacetedContext","name","context","Error","Faceted","props","openProp","onOpenChangeProp","value","onValueChange","children","multiple","facetedProps","uncontrolledOpen","setUncontrolledOpen","isControlled","undefined","open","onOpenChange","newOpen","onItemSelect","selectedValue","currentValue","Array","v","requestAnimationFrame","contextValue","Popover","FacetedTrigger","className","triggerProps","PopoverTrigger","cn","FacetedBadgeList","options","max","placeholder","badgeClassName","badgeListProps","values","Boolean","getLabel","option","opt","Badge","CaretUpDown","FacetedContent","contentProps","PopoverContent","Command","FacetedInput","CommandInput","FacetedList","CommandList","FacetedEmpty","CommandEmpty","FacetedGroup","CommandGroup","FacetedItem","onSelect","itemProps","isSelected","CommandItem","Check","FacetedSeparator","CommandSeparator"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components\\input.cjs","sources":["webpack://@gbmtech/aurora-ui/./src/components/input.tsx"],"sourcesContent":["\r\n\r\nimport { ComponentProps, JSX } from 'react'\r\n\r\nimport { VariantProps, tv } from '@/lib/utils'\r\nimport * as InputPrimitive from '@/primitive/input'\r\nimport { Spinner } from './spinner'\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Variant: Input\r\n * -------------------------------------------------------------------------- */\r\n\r\nconst inputVariants = tv({\r\n slots: {\r\n root: 'flex h-12 w-full items-center gap-4 rounded-md border border-stroke bg-background px-4 ring-offset-background placeholder:text-gray-400 focus-within:outline-none focus-within:ring-2 focus-within:ring-gbm-sky focus-within:ring-offset-2 data-[disabled=true]:cursor-not-allowed data-[disabled=true]:opacity-50',\r\n input:\r\n 'peer h-full w-full flex-1 overflow-hidden bg-transparent text-base outline-none placeholder:text-gray-400',\r\n },\r\n})\r\n\r\nconst { input, root } = inputVariants()\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: Input\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction Input({\r\n className,\r\n disabled,\r\n loaderPosition,\r\n loading,\r\n prefix,\r\n readOnly,\r\n spinner,\r\n suffix,\r\n classNames,\r\n ...props\r\n}: ComponentProps<typeof InputPrimitive.Root> &\r\n Omit<ComponentProps<typeof InputPrimitive.Field>, 'prefix' | 'type'> &\r\n VariantProps<typeof inputVariants> & {\r\n type
|
|
1
|
+
{"version":3,"file":"components\\input.cjs","sources":["webpack://@gbmtech/aurora-ui/./src/components/input.tsx"],"sourcesContent":["\r\n\r\nimport { ComponentProps, JSX } from 'react'\r\n\r\nimport { VariantProps, tv } from '@/lib/utils'\r\nimport * as InputPrimitive from '@/primitive/input'\r\nimport { Spinner } from './spinner'\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Variant: Input\r\n * -------------------------------------------------------------------------- */\r\n\r\nconst inputVariants = tv({\r\n slots: {\r\n root: 'flex h-12 w-full items-center gap-4 rounded-md border border-stroke bg-background px-4 ring-offset-background placeholder:text-gray-400 focus-within:outline-none focus-within:ring-2 focus-within:ring-gbm-sky focus-within:ring-offset-2 data-[disabled=true]:cursor-not-allowed data-[disabled=true]:opacity-50',\r\n input:\r\n 'peer h-full w-full flex-1 overflow-hidden bg-transparent text-base outline-none placeholder:text-gray-400',\r\n },\r\n})\r\n\r\nconst { input, root } = inputVariants()\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: Input\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction Input({\r\n className,\r\n disabled,\r\n loaderPosition,\r\n loading,\r\n prefix,\r\n readOnly,\r\n spinner,\r\n suffix,\r\n classNames,\r\n ...props\r\n}: ComponentProps<typeof InputPrimitive.Root> &\r\n Omit<ComponentProps<typeof InputPrimitive.Field>, 'prefix' | 'type'> &\r\n VariantProps<typeof inputVariants> & {\r\n type?: string\r\n classNames?: {\r\n wrapper?: string\r\n input?: string\r\n }\r\n }): JSX.Element {\r\n return (\r\n <InputPrimitive.Root\r\n className={root({ className: [className, classNames?.wrapper] })}\r\n data-slot=\"input\"\r\n disabled={disabled}\r\n loaderPosition={loaderPosition}\r\n loading={loading}\r\n prefix={prefix}\r\n readOnly={readOnly}\r\n spinner={spinner || <Spinner />}\r\n suffix={suffix}\r\n >\r\n <InputPrimitive.Field\r\n className={input({ className: classNames?.input })}\r\n data-slot=\"input-item\"\r\n {...props}\r\n />\r\n </InputPrimitive.Root>\r\n )\r\n}\r\nInput.displayName = 'Input'\r\n\r\nexport { Input, inputVariants }\r\n"],"names":["inputVariants","tv","input","root","Input","className","disabled","loaderPosition","loading","prefix","readOnly","spinner","suffix","classNames","props","InputPrimitive","Spinner"],"mappings":";2iCAYMA,cAAgBC,GAAAA,0BAAAA,EAAAA,EAAG,CACvB,MAAO,CACL,KAAM,qTACN,MACE,2GACJ,CACF,GAEM,CAAEC,MAAAA,CAAK,CAAEC,KAAAA,CAAI,CAAE,CAAGH,gBAMxB,SAASI,MAAM,CACbC,UAAAA,CAAS,CACTC,SAAAA,CAAQ,CACRC,eAAAA,CAAc,CACdC,QAAAA,CAAO,CACPC,OAAAA,CAAM,CACNC,SAAAA,CAAQ,CACRC,QAAAA,CAAO,CACPC,OAAAA,CAAM,CACNC,WAAAA,CAAU,CACV,GAAGC,EASF,EACD,MACE,oCAACC,0BAAAA,IAAmB,EAClB,UAAWZ,EAAK,CAAE,UAAW,CAACE,EAAWQ,GAAY,QAAQ,GAC7D,YAAU,QACV,SAAUP,EACV,eAAgBC,EAChB,QAASC,EACT,OAAQC,EACR,SAAUC,EACV,QAASC,GAAW,oCAACK,qCAAAA,OAAOA,CAAAA,CAAAA,GAC5B,OAAQJ,E,SAER,oCAACG,0BAAAA,KAAoB,EACnB,UAAWb,EAAM,CAAE,UAAWW,GAAY,KAAM,GAChD,YAAU,aACT,GAAGC,CAAK,IAIjB,C,yBACAV,MAAM,WAAW,CAAG,Q"}
|
|
@@ -0,0 +1,3 @@
|
|
|
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,r)=>{for(var a in r)__webpack_require__.o(r,a)&&!__webpack_require__.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:r[a]})},__webpack_require__.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),__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__,{Slider:()=>Slider});let jsx_runtime_namespaceObject=require("react/jsx-runtime"),react_slider_namespaceObject=require("@radix-ui/react-slider"),external_react_namespaceObject=require("react"),utils_cjs_namespaceObject=require("../lib/utils.cjs");function Slider({className:e,defaultValue:r,value:a,min:t=0,max:_=100,...i}){let c=external_react_namespaceObject.useMemo(()=>Array.isArray(a)?a:Array.isArray(r)?r:[t,_],[a,r,t,_]);return(0,jsx_runtime_namespaceObject.jsxs)(react_slider_namespaceObject.Root,{"data-slot":"slider",defaultValue:r,value:a,min:t,max:_,className:(0,utils_cjs_namespaceObject.cn)("relative flex w-full touch-none select-none items-center data-[orientation=vertical]:h-full data-[orientation=vertical]:min-h-44 data-[orientation=vertical]:w-auto data-[orientation=vertical]:flex-col data-[disabled]:opacity-50",e),...i,children:[(0,jsx_runtime_namespaceObject.jsx)(react_slider_namespaceObject.Track,{"data-slot":"slider-track",className:(0,utils_cjs_namespaceObject.cn)("relative grow overflow-hidden rounded-full bg-muted data-[orientation=horizontal]:h-1.5 data-[orientation=vertical]:h-full data-[orientation=horizontal]:w-full data-[orientation=vertical]:w-1.5"),children:(0,jsx_runtime_namespaceObject.jsx)(react_slider_namespaceObject.Range,{"data-slot":"slider-range",className:(0,utils_cjs_namespaceObject.cn)("absolute bg-primary data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full")})}),Array.from({length:c.length},(e,r)=>(0,jsx_runtime_namespaceObject.jsx)(react_slider_namespaceObject.Thumb,{"data-slot":"slider-thumb",className:"block size-4 shrink-0 rounded-full border border-primary bg-background shadow-sm ring-ring/50 transition-[color,box-shadow] hover:ring-4 focus-visible:outline-hidden focus-visible:ring-4 disabled:pointer-events-none disabled:opacity-50"},r))]})}for(var __webpack_i__ in exports.Slider=__webpack_exports__.Slider,__webpack_exports__)-1===["Slider"].indexOf(__webpack_i__)&&(exports[__webpack_i__]=__webpack_exports__[__webpack_i__]);Object.defineProperty(exports,"__esModule",{value:!0});
|
|
3
|
+
//# sourceMappingURL=slider.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components\\slider.cjs","sources":["webpack://@gbmtech/aurora-ui/./src/components/slider.tsx"],"sourcesContent":["\r\n\r\nimport * as SliderPrimitive from '@radix-ui/react-slider'\r\nimport * as React from 'react'\r\n\r\nimport { cn } from '@/lib/utils'\r\n\r\nfunction Slider({\r\n className,\r\n defaultValue,\r\n value,\r\n min = 0,\r\n max = 100,\r\n ...props\r\n}: React.ComponentProps<typeof SliderPrimitive.Root>) {\r\n const _values = React.useMemo(\r\n () =>\r\n Array.isArray(value)\r\n ? value\r\n : Array.isArray(defaultValue)\r\n ? defaultValue\r\n : [min, max],\r\n [value, defaultValue, min, max]\r\n )\r\n\r\n return (\r\n <SliderPrimitive.Root\r\n data-slot=\"slider\"\r\n defaultValue={defaultValue}\r\n value={value}\r\n min={min}\r\n max={max}\r\n className={cn(\r\n 'relative flex w-full touch-none select-none items-center data-[orientation=vertical]:h-full data-[orientation=vertical]:min-h-44 data-[orientation=vertical]:w-auto data-[orientation=vertical]:flex-col data-[disabled]:opacity-50',\r\n className\r\n )}\r\n {...props}\r\n >\r\n <SliderPrimitive.Track\r\n data-slot=\"slider-track\"\r\n className={cn(\r\n 'relative grow overflow-hidden rounded-full bg-muted data-[orientation=horizontal]:h-1.5 data-[orientation=vertical]:h-full data-[orientation=horizontal]:w-full data-[orientation=vertical]:w-1.5'\r\n )}\r\n >\r\n <SliderPrimitive.Range\r\n data-slot=\"slider-range\"\r\n className={cn(\r\n 'absolute bg-primary data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full'\r\n )}\r\n />\r\n </SliderPrimitive.Track>\r\n {Array.from({ length: _values.length }, (_, index) => (\r\n <SliderPrimitive.Thumb\r\n data-slot=\"slider-thumb\"\r\n key={index}\r\n className=\"block size-4 shrink-0 rounded-full border border-primary bg-background shadow-sm ring-ring/50 transition-[color,box-shadow] hover:ring-4 focus-visible:outline-hidden focus-visible:ring-4 disabled:pointer-events-none disabled:opacity-50\"\r\n />\r\n ))}\r\n </SliderPrimitive.Root>\r\n )\r\n}\r\n\r\nexport { Slider }\r\n"],"names":["Slider","className","defaultValue","value","min","max","props","_values","React","Array","SliderPrimitive","cn","_","index"],"mappings":";kgCAOA,SAASA,OAAO,CACdC,UAAAA,CAAS,CACTC,aAAAA,CAAY,CACZC,MAAAA,CAAK,CACLC,IAAAA,EAAM,CAAC,CACPC,IAAAA,EAAM,GAAG,CACT,GAAGC,EAC+C,EAClD,IAAMC,EAAUC,+BAAAA,OAAa,CAC3B,IACEC,MAAM,OAAO,CAACN,GACVA,EACAM,MAAM,OAAO,CAACP,GACZA,EACA,CAACE,EAAKC,EAAI,CAClB,CAACF,EAAOD,EAAcE,EAAKC,EAAI,EAGjC,MACE,qCAACK,6BAAAA,IAAoB,EACnB,YAAU,SACV,aAAcR,EACd,MAAOC,EACP,IAAKC,EACL,IAAKC,EACL,UAAWM,GAAAA,0BAAAA,EAAAA,EACT,sOACAV,GAED,GAAGK,CAAK,C,UAET,oCAACI,6BAAAA,KAAqB,EACpB,YAAU,eACV,UAAWC,GAAAA,0BAAAA,EAAAA,EACT,qM,SAGF,oCAACD,6BAAAA,KAAqB,EACpB,YAAU,eACV,UAAWC,GAAAA,0BAAAA,EAAAA,EACT,8F,KAILF,MAAM,IAAI,CAAC,CAAE,OAAQF,EAAQ,MAAM,EAAI,CAACK,EAAGC,IAC1C,oCAACH,6BAAAA,KAAqB,EACpB,YAAU,eAEV,UAAU,6O,EADLG,I,EAMf,C"}
|
|
@@ -0,0 +1,7 @@
|
|
|
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,t)=>{for(var a in t)__webpack_require__.o(t,a)&&!__webpack_require__.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),__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__,{Root:()=>Root,Content:()=>Content,Overlay:()=>Overlay,Item:()=>Item,SortableContent:()=>SortableContent,SortableOverlay:()=>SortableOverlay,Sortable:()=>Sortable,ItemHandle:()=>ItemHandle,SortableItemHandle:()=>SortableItemHandle,SortableItem:()=>SortableItem});let jsx_runtime_namespaceObject=require("react/jsx-runtime"),core_namespaceObject=require("@dnd-kit/core"),modifiers_namespaceObject=require("@dnd-kit/modifiers"),sortable_namespaceObject=require("@dnd-kit/sortable"),utilities_namespaceObject=require("@dnd-kit/utilities"),react_slot_namespaceObject=require("@radix-ui/react-slot"),external_react_namespaceObject=require("react"),composition_cjs_namespaceObject=require("../lib/composition.cjs"),utils_cjs_namespaceObject=require("../lib/utils.cjs"),external_react_dom_namespaceObject=require("react-dom"),orientationConfig={vertical:{modifiers:[modifiers_namespaceObject.restrictToVerticalAxis,modifiers_namespaceObject.restrictToParentElement],strategy:sortable_namespaceObject.verticalListSortingStrategy,collisionDetection:core_namespaceObject.closestCenter},horizontal:{modifiers:[modifiers_namespaceObject.restrictToHorizontalAxis,modifiers_namespaceObject.restrictToParentElement],strategy:sortable_namespaceObject.horizontalListSortingStrategy,collisionDetection:core_namespaceObject.closestCenter},mixed:{modifiers:[modifiers_namespaceObject.restrictToParentElement],strategy:void 0,collisionDetection:core_namespaceObject.closestCorners}},ROOT_NAME="Sortable",CONTENT_NAME="SortableContent",ITEM_NAME="SortableItem",ITEM_HANDLE_NAME="SortableItemHandle",OVERLAY_NAME="SortableOverlay",SORTABLE_ERRORS={[ROOT_NAME]:`\`${ROOT_NAME}\` components must be within \`${ROOT_NAME}\``,[CONTENT_NAME]:`\`${CONTENT_NAME}\` must be within \`${ROOT_NAME}\``,[ITEM_NAME]:`\`${ITEM_NAME}\` must be within \`${CONTENT_NAME}\``,[ITEM_HANDLE_NAME]:`\`${ITEM_HANDLE_NAME}\` must be within \`${ITEM_NAME}\``,[OVERLAY_NAME]:`\`${OVERLAY_NAME}\` must be within \`${ROOT_NAME}\``},SortableRootContext=external_react_namespaceObject.createContext(null);function useSortableContext(e){let t=external_react_namespaceObject.useContext(SortableRootContext);if(!t)throw Error(SORTABLE_ERRORS[e]);return t}function Sortable(e){let{value:t,onValueChange:a,collisionDetection:r,modifiers:o,strategy:n,onMove:s,orientation:c="vertical",flatCursor:i=!1,getItemValue:l,accessibility:_,...b}=e,m=external_react_namespaceObject.useId(),[p,d]=external_react_namespaceObject.useState(null),u=(0,core_namespaceObject.useSensors)((0,core_namespaceObject.useSensor)(core_namespaceObject.MouseSensor),(0,core_namespaceObject.useSensor)(core_namespaceObject.TouchSensor),(0,core_namespaceObject.useSensor)(core_namespaceObject.KeyboardSensor,{coordinateGetter:sortable_namespaceObject.sortableKeyboardCoordinates})),O=external_react_namespaceObject.useMemo(()=>orientationConfig[c],[c]),j=external_react_namespaceObject.useCallback(e=>{if("object"==typeof e&&!l)throw Error("getItemValue is required when using array of objects.");return l?l(e):e},[l]),x=external_react_namespaceObject.useMemo(()=>t.map(e=>j(e)),[t,j]),S=external_react_namespaceObject.useCallback(e=>{let{active:r,over:o}=e;if(o&&r.id!==o?.id){let n=t.findIndex(e=>j(e)===r.id),c=t.findIndex(e=>j(e)===o.id);s?s({...e,activeIndex:n,overIndex:c}):a?.((0,sortable_namespaceObject.arrayMove)(t,n,c))}d(null)},[t,a,s,j]),E=external_react_namespaceObject.useMemo(()=>({onDragStart({active:e}){let a=e.id.toString();return`Grabbed sortable item "${a}". Current position is ${e.data.current?.sortable.index+1} of ${t.length}. Use arrow keys to move, space to drop.`},onDragOver({active:e,over:a}){if(a){let r=a.data.current?.sortable.index??0,o=e.data.current?.sortable.index??0,n=e.id.toString();return`Sortable item "${n}" moved ${r>o?"down":"up"} to position ${r+1} of ${t.length}.`}return"Sortable item is no longer over a droppable area. Press escape to cancel."},onDragEnd({active:e,over:a}){let r=e.id.toString();if(a){let e=a.data.current?.sortable.index??0;return`Sortable item "${r}" dropped at position ${e+1} of ${t.length}.`}return`Sortable item "${r}" dropped. No changes were made.`},onDragCancel({active:e}){let a=e.data.current?.sortable.index??0,r=e.id.toString();return`Sorting cancelled. Sortable item "${r}" returned to position ${a+1} of ${t.length}.`},onDragMove({active:e,over:a}){if(a){let r=a.data.current?.sortable.index??0,o=e.data.current?.sortable.index??0,n=e.id.toString();return`Sortable item "${n}" is moving ${r>o?"down":"up"} to position ${r+1} of ${t.length}.`}return"Sortable item is no longer over a droppable area. Press escape to cancel."}}),[t]),f=external_react_namespaceObject.useMemo(()=>({draggable:`
|
|
3
|
+
To pick up a sortable item, press space or enter.
|
|
4
|
+
While dragging, use the ${"vertical"===c?"up and down":"horizontal"===c?"left and right":"arrow"} keys to move the item.
|
|
5
|
+
Press space or enter again to drop the item in its new position, or press escape to cancel.
|
|
6
|
+
`}),[c]),g=external_react_namespaceObject.useMemo(()=>({id:m,items:x,modifiers:o??O.modifiers,strategy:n??O.strategy,activeId:p,setActiveId:d,getItemValue:j,flatCursor:i}),[m,x,o,n,O.modifiers,O.strategy,p,j,i]);return(0,jsx_runtime_namespaceObject.jsx)(SortableRootContext.Provider,{value:g,children:(0,jsx_runtime_namespaceObject.jsx)(core_namespaceObject.DndContext,{collisionDetection:r??O.collisionDetection,modifiers:o??O.modifiers,sensors:u,...b,id:m,onDragStart:(0,composition_cjs_namespaceObject.composeEventHandlers)(b.onDragStart,({active:e})=>d(e.id)),onDragEnd:(0,composition_cjs_namespaceObject.composeEventHandlers)(b.onDragEnd,S),onDragCancel:(0,composition_cjs_namespaceObject.composeEventHandlers)(b.onDragCancel,()=>d(null)),accessibility:{announcements:E,screenReaderInstructions:f,..._}})})}SortableRootContext.displayName=ROOT_NAME;let SortableContentContext=external_react_namespaceObject.createContext(!1);SortableContentContext.displayName=CONTENT_NAME;let SortableContent=external_react_namespaceObject.forwardRef((e,t)=>{let{strategy:a,asChild:r,withoutSlot:o,children:n,...s}=e,c=useSortableContext(CONTENT_NAME),i=r?react_slot_namespaceObject.Slot:"div";return(0,jsx_runtime_namespaceObject.jsx)(SortableContentContext.Provider,{value:!0,children:(0,jsx_runtime_namespaceObject.jsx)(sortable_namespaceObject.SortableContext,{items:c.items,strategy:a??c.strategy,children:o?n:(0,jsx_runtime_namespaceObject.jsx)(i,{...s,ref:t,children:n})})})});SortableContent.displayName=CONTENT_NAME;let SortableItemContext=external_react_namespaceObject.createContext(null);SortableItemContext.displayName=ITEM_NAME;let SortableItem=external_react_namespaceObject.forwardRef((e,t)=>{let{value:a,style:r,asHandle:o,asChild:n,disabled:s,className:c,...i}=e,l=external_react_namespaceObject.useContext(SortableContentContext),_=external_react_namespaceObject.useContext(SortableOverlayContext);if(!l&&!_)throw Error(SORTABLE_ERRORS[ITEM_NAME]);if(""===a)throw Error(`\`${ITEM_NAME}\` value cannot be an empty string`);let b=useSortableContext(ITEM_NAME),m=external_react_namespaceObject.useId(),{attributes:p,listeners:d,setNodeRef:u,setActivatorNodeRef:O,transform:j,transition:x,isDragging:S}=(0,sortable_namespaceObject.useSortable)({id:a,disabled:s}),E=(0,composition_cjs_namespaceObject.useComposedRefs)(t,e=>{!s&&(u(e),o&&O(e))}),f=external_react_namespaceObject.useMemo(()=>({transform:utilities_namespaceObject.CSS.Translate.toString(j),transition:x,...r}),[j,x,r]),g=external_react_namespaceObject.useMemo(()=>({id:m,attributes:p,listeners:d,setActivatorNodeRef:O,isDragging:S,disabled:s}),[m,p,d,O,S,s]),C=n?react_slot_namespaceObject.Slot:"div";return(0,jsx_runtime_namespaceObject.jsx)(SortableItemContext.Provider,{value:g,children:(0,jsx_runtime_namespaceObject.jsx)(C,{id:m,"data-dragging":S?"":void 0,...i,...o?p:{},...o?d:{},tabIndex:s?void 0:0,ref:E,style:f,className:(0,utils_cjs_namespaceObject.cn)("focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-1",{"touch-none select-none":o,"cursor-default":b.flatCursor,"data-dragging:cursor-grabbing":!b.flatCursor,"cursor-grab":!S&&o&&!b.flatCursor,"opacity-50":S,"pointer-events-none opacity-50":s},c)})})});SortableItem.displayName=ITEM_NAME;let SortableItemHandle=external_react_namespaceObject.forwardRef((e,t)=>{let{asChild:a,disabled:r,className:o,...n}=e,s=external_react_namespaceObject.useContext(SortableItemContext);if(!s)throw Error(SORTABLE_ERRORS[ITEM_HANDLE_NAME]);let c=useSortableContext(ITEM_HANDLE_NAME),i=r??s.disabled,l=(0,composition_cjs_namespaceObject.useComposedRefs)(t,e=>{i&&s.setActivatorNodeRef(e)}),_=a?react_slot_namespaceObject.Slot:"button";return(0,jsx_runtime_namespaceObject.jsx)(_,{type:"button","aria-controls":s.id,"data-dragging":s.isDragging?"":void 0,...n,...s.attributes,...s.listeners,ref:l,className:(0,utils_cjs_namespaceObject.cn)("select-none disabled:pointer-events-none disabled:opacity-50",c.flatCursor?"cursor-default":"cursor-grab data-dragging:cursor-grabbing",o),disabled:i})});SortableItemHandle.displayName=ITEM_HANDLE_NAME;let SortableOverlayContext=external_react_namespaceObject.createContext(!1);SortableOverlayContext.displayName=OVERLAY_NAME;let dropAnimation={sideEffects:(0,core_namespaceObject.defaultDropAnimationSideEffects)({styles:{active:{opacity:"0.4"}}})};function SortableOverlay(e){let{container:t,children:a,...r}=e,o=useSortableContext(OVERLAY_NAME),[n,s]=external_react_namespaceObject.useState(!1);external_react_namespaceObject.useLayoutEffect(()=>s(!0),[]);let c=t??(n?globalThis.document?.body:null);return c?external_react_dom_namespaceObject.createPortal((0,jsx_runtime_namespaceObject.jsx)(core_namespaceObject.DragOverlay,{dropAnimation:dropAnimation,modifiers:o.modifiers,className:(0,utils_cjs_namespaceObject.cn)(!o.flatCursor&&"cursor-grabbing"),...r,children:(0,jsx_runtime_namespaceObject.jsx)(SortableOverlayContext.Provider,{value:!0,children:o.activeId?"function"==typeof a?a({value:o.activeId}):a:null})}),c):null}let Root=Sortable,Content=SortableContent,Item=SortableItem,ItemHandle=SortableItemHandle,Overlay=SortableOverlay;for(var __webpack_i__ in exports.Content=__webpack_exports__.Content,exports.Item=__webpack_exports__.Item,exports.ItemHandle=__webpack_exports__.ItemHandle,exports.Overlay=__webpack_exports__.Overlay,exports.Root=__webpack_exports__.Root,exports.Sortable=__webpack_exports__.Sortable,exports.SortableContent=__webpack_exports__.SortableContent,exports.SortableItem=__webpack_exports__.SortableItem,exports.SortableItemHandle=__webpack_exports__.SortableItemHandle,exports.SortableOverlay=__webpack_exports__.SortableOverlay,__webpack_exports__)-1===["Content","Item","ItemHandle","Overlay","Root","Sortable","SortableContent","SortableItem","SortableItemHandle","SortableOverlay"].indexOf(__webpack_i__)&&(exports[__webpack_i__]=__webpack_exports__[__webpack_i__]);Object.defineProperty(exports,"__esModule",{value:!0});
|
|
7
|
+
//# sourceMappingURL=sortable.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components\\sortable.cjs","sources":["webpack://@gbmtech/aurora-ui/./src/components/sortable.tsx"],"sourcesContent":["\r\n\r\nimport {\r\n type Announcements,\r\n DndContext,\r\n type DndContextProps,\r\n type DragEndEvent,\r\n DragOverlay,\r\n type DraggableSyntheticListeners,\r\n type DropAnimation,\r\n KeyboardSensor,\r\n MouseSensor,\r\n type ScreenReaderInstructions,\r\n TouchSensor,\r\n type UniqueIdentifier,\r\n closestCenter,\r\n closestCorners,\r\n defaultDropAnimationSideEffects,\r\n useSensor,\r\n useSensors,\r\n} from '@dnd-kit/core'\r\nimport {\r\n restrictToHorizontalAxis,\r\n restrictToParentElement,\r\n restrictToVerticalAxis,\r\n} from '@dnd-kit/modifiers'\r\nimport {\r\n SortableContext,\r\n type SortableContextProps,\r\n arrayMove,\r\n horizontalListSortingStrategy,\r\n sortableKeyboardCoordinates,\r\n useSortable,\r\n verticalListSortingStrategy,\r\n} from '@dnd-kit/sortable'\r\nimport { CSS } from '@dnd-kit/utilities'\r\nimport { Slot } from '@radix-ui/react-slot'\r\nimport * as React from 'react'\r\n\r\nimport { composeEventHandlers, useComposedRefs } from '@/lib/composition'\r\nimport { cn } from '@/lib/utils'\r\nimport * as ReactDOM from 'react-dom'\r\n\r\nconst orientationConfig = {\r\n vertical: {\r\n modifiers: [restrictToVerticalAxis, restrictToParentElement],\r\n strategy: verticalListSortingStrategy,\r\n collisionDetection: closestCenter,\r\n },\r\n horizontal: {\r\n modifiers: [restrictToHorizontalAxis, restrictToParentElement],\r\n strategy: horizontalListSortingStrategy,\r\n collisionDetection: closestCenter,\r\n },\r\n mixed: {\r\n modifiers: [restrictToParentElement],\r\n strategy: undefined,\r\n collisionDetection: closestCorners,\r\n },\r\n}\r\n\r\nconst ROOT_NAME = 'Sortable'\r\nconst CONTENT_NAME = 'SortableContent'\r\nconst ITEM_NAME = 'SortableItem'\r\nconst ITEM_HANDLE_NAME = 'SortableItemHandle'\r\nconst OVERLAY_NAME = 'SortableOverlay'\r\n\r\nconst SORTABLE_ERRORS = {\r\n [ROOT_NAME]: `\\`${ROOT_NAME}\\` components must be within \\`${ROOT_NAME}\\``,\r\n [CONTENT_NAME]: `\\`${CONTENT_NAME}\\` must be within \\`${ROOT_NAME}\\``,\r\n [ITEM_NAME]: `\\`${ITEM_NAME}\\` must be within \\`${CONTENT_NAME}\\``,\r\n [ITEM_HANDLE_NAME]: `\\`${ITEM_HANDLE_NAME}\\` must be within \\`${ITEM_NAME}\\``,\r\n [OVERLAY_NAME]: `\\`${OVERLAY_NAME}\\` must be within \\`${ROOT_NAME}\\``,\r\n} as const\r\n\r\ninterface SortableRootContextValue<T> {\r\n id: string\r\n items: UniqueIdentifier[]\r\n modifiers: DndContextProps['modifiers']\r\n strategy: SortableContextProps['strategy']\r\n activeId: UniqueIdentifier | null\r\n setActiveId: (id: UniqueIdentifier | null) => void\r\n getItemValue: (item: T) => UniqueIdentifier\r\n flatCursor: boolean\r\n}\r\n\r\nconst SortableRootContext =\r\n React.createContext<SortableRootContextValue<unknown> | null>(null)\r\nSortableRootContext.displayName = ROOT_NAME\r\n\r\nfunction useSortableContext(name: keyof typeof SORTABLE_ERRORS) {\r\n const context = React.useContext(SortableRootContext)\r\n if (!context) {\r\n throw new Error(SORTABLE_ERRORS[name])\r\n }\r\n return context\r\n}\r\n\r\ninterface GetItemValue<T> {\r\n /**\r\n * Callback that returns a unique identifier for each sortable item. Required for array of objects.\r\n * @example getItemValue={(item) => item.id}\r\n */\r\n getItemValue: (item: T) => UniqueIdentifier\r\n}\r\n\r\ntype SortableProps<T> = DndContextProps & {\r\n value: T[]\r\n onValueChange?: (items: T[]) => void\r\n onMove?: (\r\n event: DragEndEvent & { activeIndex: number; overIndex: number }\r\n ) => void\r\n strategy?: SortableContextProps['strategy']\r\n orientation?: 'vertical' | 'horizontal' | 'mixed'\r\n flatCursor?: boolean\r\n} & (T extends object ? GetItemValue<T> : Partial<GetItemValue<T>>)\r\n\r\nfunction Sortable<T>(props: SortableProps<T>) {\r\n const {\r\n value,\r\n onValueChange,\r\n collisionDetection,\r\n modifiers,\r\n strategy,\r\n onMove,\r\n orientation = 'vertical',\r\n flatCursor = false,\r\n getItemValue: getItemValueProp,\r\n accessibility,\r\n ...sortableProps\r\n } = props\r\n const id = React.useId()\r\n const [activeId, setActiveId] = React.useState<UniqueIdentifier | null>(null)\r\n\r\n const sensors = useSensors(\r\n useSensor(MouseSensor),\r\n useSensor(TouchSensor),\r\n useSensor(KeyboardSensor, {\r\n coordinateGetter: sortableKeyboardCoordinates,\r\n })\r\n )\r\n const config = React.useMemo(\r\n () => orientationConfig[orientation],\r\n [orientation]\r\n )\r\n\r\n const getItemValue = React.useCallback(\r\n (item: T): UniqueIdentifier => {\r\n if (typeof item === 'object' && !getItemValueProp) {\r\n throw new Error('getItemValue is required when using array of objects.')\r\n }\r\n return getItemValueProp\r\n ? getItemValueProp(item)\r\n : (item as UniqueIdentifier)\r\n },\r\n [getItemValueProp]\r\n )\r\n\r\n const items = React.useMemo(() => {\r\n return value.map(item => getItemValue(item))\r\n }, [value, getItemValue])\r\n\r\n const onDragEnd = React.useCallback(\r\n (event: DragEndEvent) => {\r\n const { active, over } = event\r\n if (over && active.id !== over?.id) {\r\n const activeIndex = value.findIndex(\r\n item => getItemValue(item) === active.id\r\n )\r\n const overIndex = value.findIndex(\r\n item => getItemValue(item) === over.id\r\n )\r\n\r\n if (onMove) {\r\n onMove({ ...event, activeIndex, overIndex })\r\n } else {\r\n onValueChange?.(arrayMove(value, activeIndex, overIndex))\r\n }\r\n }\r\n setActiveId(null)\r\n },\r\n [value, onValueChange, onMove, getItemValue]\r\n )\r\n\r\n const announcements: Announcements = React.useMemo(\r\n () => ({\r\n onDragStart({ active }) {\r\n const activeValue = active.id.toString()\r\n return `Grabbed sortable item \"${activeValue}\". Current position is ${active.data.current?.sortable.index + 1} of ${value.length}. Use arrow keys to move, space to drop.`\r\n },\r\n onDragOver({ active, over }) {\r\n if (over) {\r\n const overIndex = over.data.current?.sortable.index ?? 0\r\n const activeIndex = active.data.current?.sortable.index ?? 0\r\n const moveDirection = overIndex > activeIndex ? 'down' : 'up'\r\n const activeValue = active.id.toString()\r\n return `Sortable item \"${activeValue}\" moved ${moveDirection} to position ${overIndex + 1} of ${value.length}.`\r\n }\r\n return 'Sortable item is no longer over a droppable area. Press escape to cancel.'\r\n },\r\n onDragEnd({ active, over }) {\r\n const activeValue = active.id.toString()\r\n if (over) {\r\n const overIndex = over.data.current?.sortable.index ?? 0\r\n return `Sortable item \"${activeValue}\" dropped at position ${overIndex + 1} of ${value.length}.`\r\n }\r\n return `Sortable item \"${activeValue}\" dropped. No changes were made.`\r\n },\r\n onDragCancel({ active }) {\r\n const activeIndex = active.data.current?.sortable.index ?? 0\r\n const activeValue = active.id.toString()\r\n return `Sorting cancelled. Sortable item \"${activeValue}\" returned to position ${activeIndex + 1} of ${value.length}.`\r\n },\r\n onDragMove({ active, over }) {\r\n if (over) {\r\n const overIndex = over.data.current?.sortable.index ?? 0\r\n const activeIndex = active.data.current?.sortable.index ?? 0\r\n const moveDirection = overIndex > activeIndex ? 'down' : 'up'\r\n const activeValue = active.id.toString()\r\n return `Sortable item \"${activeValue}\" is moving ${moveDirection} to position ${overIndex + 1} of ${value.length}.`\r\n }\r\n return 'Sortable item is no longer over a droppable area. Press escape to cancel.'\r\n },\r\n }),\r\n [value]\r\n )\r\n\r\n const screenReaderInstructions: ScreenReaderInstructions = React.useMemo(\r\n () => ({\r\n draggable: `\r\n To pick up a sortable item, press space or enter.\r\n While dragging, use the ${orientation === 'vertical' ? 'up and down' : orientation === 'horizontal' ? 'left and right' : 'arrow'} keys to move the item.\r\n Press space or enter again to drop the item in its new position, or press escape to cancel.\r\n `,\r\n }),\r\n [orientation]\r\n )\r\n\r\n const contextValue = React.useMemo(\r\n () => ({\r\n id,\r\n items,\r\n modifiers: modifiers ?? config.modifiers,\r\n strategy: strategy ?? config.strategy,\r\n activeId,\r\n setActiveId,\r\n getItemValue,\r\n flatCursor,\r\n }),\r\n [\r\n id,\r\n items,\r\n modifiers,\r\n strategy,\r\n config.modifiers,\r\n config.strategy,\r\n activeId,\r\n getItemValue,\r\n flatCursor,\r\n ]\r\n )\r\n\r\n return (\r\n <SortableRootContext.Provider\r\n value={contextValue as SortableRootContextValue<unknown>}\r\n >\r\n <DndContext\r\n collisionDetection={collisionDetection ?? config.collisionDetection}\r\n modifiers={modifiers ?? config.modifiers}\r\n sensors={sensors}\r\n {...sortableProps}\r\n id={id}\r\n onDragStart={composeEventHandlers(\r\n sortableProps.onDragStart,\r\n ({ active }) => setActiveId(active.id)\r\n )}\r\n onDragEnd={composeEventHandlers(sortableProps.onDragEnd, onDragEnd)}\r\n onDragCancel={composeEventHandlers(sortableProps.onDragCancel, () =>\r\n setActiveId(null)\r\n )}\r\n accessibility={{\r\n announcements,\r\n screenReaderInstructions,\r\n ...accessibility,\r\n }}\r\n />\r\n </SortableRootContext.Provider>\r\n )\r\n}\r\n\r\nconst SortableContentContext = React.createContext<boolean>(false)\r\nSortableContentContext.displayName = CONTENT_NAME\r\n\r\ninterface SortableContentProps extends React.ComponentPropsWithoutRef<'div'> {\r\n strategy?: SortableContextProps['strategy']\r\n children: React.ReactNode\r\n asChild?: boolean\r\n withoutSlot?: boolean\r\n}\r\n\r\nconst SortableContent = React.forwardRef<HTMLDivElement, SortableContentProps>(\r\n (props, forwardedRef) => {\r\n const {\r\n strategy: strategyProp,\r\n asChild,\r\n withoutSlot,\r\n children,\r\n ...contentProps\r\n } = props\r\n const context = useSortableContext(CONTENT_NAME)\r\n\r\n const ContentPrimitive = asChild ? Slot : 'div'\r\n\r\n return (\r\n <SortableContentContext.Provider value={true}>\r\n <SortableContext\r\n items={context.items}\r\n strategy={strategyProp ?? context.strategy}\r\n >\r\n {withoutSlot ? (\r\n children\r\n ) : (\r\n <ContentPrimitive {...contentProps} ref={forwardedRef}>\r\n {children}\r\n </ContentPrimitive>\r\n )}\r\n </SortableContext>\r\n </SortableContentContext.Provider>\r\n )\r\n }\r\n)\r\nSortableContent.displayName = CONTENT_NAME\r\n\r\ninterface SortableItemContextValue {\r\n id: string\r\n attributes: React.HTMLAttributes<HTMLElement>\r\n listeners: DraggableSyntheticListeners | undefined\r\n setActivatorNodeRef: (node: HTMLElement | null) => void\r\n isDragging?: boolean\r\n disabled?: boolean\r\n}\r\n\r\nconst SortableItemContext =\r\n React.createContext<SortableItemContextValue | null>(null)\r\nSortableItemContext.displayName = ITEM_NAME\r\n\r\ninterface SortableItemProps extends React.ComponentPropsWithoutRef<'div'> {\r\n value: UniqueIdentifier\r\n asHandle?: boolean\r\n asChild?: boolean\r\n disabled?: boolean\r\n}\r\n\r\nconst SortableItem = React.forwardRef<HTMLDivElement, SortableItemProps>(\r\n (props, forwardedRef) => {\r\n const {\r\n value,\r\n style,\r\n asHandle,\r\n asChild,\r\n disabled,\r\n className,\r\n ...itemProps\r\n } = props\r\n const inSortableContent = React.useContext(SortableContentContext)\r\n const inSortableOverlay = React.useContext(SortableOverlayContext)\r\n\r\n if (!inSortableContent && !inSortableOverlay) {\r\n throw new Error(SORTABLE_ERRORS[ITEM_NAME])\r\n }\r\n\r\n if (value === '') {\r\n throw new Error(`\\`${ITEM_NAME}\\` value cannot be an empty string`)\r\n }\r\n\r\n const context = useSortableContext(ITEM_NAME)\r\n const id = React.useId()\r\n const {\r\n attributes,\r\n listeners,\r\n setNodeRef,\r\n setActivatorNodeRef,\r\n transform,\r\n transition,\r\n isDragging,\r\n } = useSortable({ id: value, disabled })\r\n\r\n const composedRef = useComposedRefs(forwardedRef, node => {\r\n if (disabled) return\r\n setNodeRef(node)\r\n if (asHandle) setActivatorNodeRef(node)\r\n })\r\n\r\n const composedStyle = React.useMemo<React.CSSProperties>(() => {\r\n return {\r\n transform: CSS.Translate.toString(transform),\r\n transition,\r\n ...style,\r\n }\r\n }, [transform, transition, style])\r\n\r\n const itemContext = React.useMemo<SortableItemContextValue>(\r\n () => ({\r\n id,\r\n attributes,\r\n listeners,\r\n setActivatorNodeRef,\r\n isDragging,\r\n disabled,\r\n }),\r\n [id, attributes, listeners, setActivatorNodeRef, isDragging, disabled]\r\n )\r\n\r\n const ItemPrimitive = asChild ? Slot : 'div'\r\n\r\n return (\r\n <SortableItemContext.Provider value={itemContext}>\r\n <ItemPrimitive\r\n id={id}\r\n data-dragging={isDragging ? '' : undefined}\r\n {...itemProps}\r\n {...(asHandle ? attributes : {})}\r\n {...(asHandle ? listeners : {})}\r\n tabIndex={disabled ? undefined : 0}\r\n ref={composedRef}\r\n style={composedStyle}\r\n className={cn(\r\n 'focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-1',\r\n {\r\n 'touch-none select-none': asHandle,\r\n 'cursor-default': context.flatCursor,\r\n 'data-dragging:cursor-grabbing': !context.flatCursor,\r\n 'cursor-grab': !isDragging && asHandle && !context.flatCursor,\r\n 'opacity-50': isDragging,\r\n 'pointer-events-none opacity-50': disabled,\r\n },\r\n className\r\n )}\r\n />\r\n </SortableItemContext.Provider>\r\n )\r\n }\r\n)\r\nSortableItem.displayName = ITEM_NAME\r\n\r\ninterface SortableItemHandleProps\r\n extends React.ComponentPropsWithoutRef<'button'> {\r\n asChild?: boolean\r\n}\r\n\r\nconst SortableItemHandle = React.forwardRef<\r\n HTMLButtonElement,\r\n SortableItemHandleProps\r\n>((props, forwardedRef) => {\r\n const { asChild, disabled, className, ...itemHandleProps } = props\r\n const itemContext = React.useContext(SortableItemContext)\r\n if (!itemContext) {\r\n throw new Error(SORTABLE_ERRORS[ITEM_HANDLE_NAME])\r\n }\r\n const context = useSortableContext(ITEM_HANDLE_NAME)\r\n\r\n const isDisabled = disabled ?? itemContext.disabled\r\n\r\n const composedRef = useComposedRefs(forwardedRef, node => {\r\n if (!isDisabled) return\r\n itemContext.setActivatorNodeRef(node)\r\n })\r\n\r\n const HandlePrimitive = asChild ? Slot : 'button'\r\n\r\n return (\r\n <HandlePrimitive\r\n type=\"button\"\r\n aria-controls={itemContext.id}\r\n data-dragging={itemContext.isDragging ? '' : undefined}\r\n {...itemHandleProps}\r\n {...itemContext.attributes}\r\n {...itemContext.listeners}\r\n ref={composedRef}\r\n className={cn(\r\n 'select-none disabled:pointer-events-none disabled:opacity-50',\r\n context.flatCursor\r\n ? 'cursor-default'\r\n : 'cursor-grab data-dragging:cursor-grabbing',\r\n className\r\n )}\r\n disabled={isDisabled}\r\n />\r\n )\r\n})\r\nSortableItemHandle.displayName = ITEM_HANDLE_NAME\r\n\r\nconst SortableOverlayContext = React.createContext(false)\r\nSortableOverlayContext.displayName = OVERLAY_NAME\r\n\r\nconst dropAnimation: DropAnimation = {\r\n sideEffects: defaultDropAnimationSideEffects({\r\n styles: {\r\n active: {\r\n opacity: '0.4',\r\n },\r\n },\r\n }),\r\n}\r\n\r\ninterface SortableOverlayProps\r\n extends Omit<React.ComponentPropsWithoutRef<typeof DragOverlay>, 'children'> {\r\n container?: Element | DocumentFragment | null\r\n children?:\r\n | ((params: { value: UniqueIdentifier }) => React.ReactNode)\r\n | React.ReactNode\r\n}\r\n\r\nfunction SortableOverlay(props: SortableOverlayProps) {\r\n const { container: containerProp, children, ...overlayProps } = props\r\n const context = useSortableContext(OVERLAY_NAME)\r\n\r\n const [mounted, setMounted] = React.useState(false)\r\n React.useLayoutEffect(() => setMounted(true), [])\r\n\r\n const container =\r\n containerProp ?? (mounted ? globalThis.document?.body : null)\r\n\r\n if (!container) return null\r\n\r\n return ReactDOM.createPortal(\r\n <DragOverlay\r\n dropAnimation={dropAnimation}\r\n modifiers={context.modifiers}\r\n className={cn(!context.flatCursor && 'cursor-grabbing')}\r\n {...overlayProps}\r\n >\r\n <SortableOverlayContext.Provider value={true}>\r\n {context.activeId\r\n ? typeof children === 'function'\r\n ? children({ value: context.activeId })\r\n : children\r\n : null}\r\n </SortableOverlayContext.Provider>\r\n </DragOverlay>,\r\n container\r\n )\r\n}\r\n\r\nconst Root = Sortable\r\nconst Content = SortableContent\r\nconst Item = SortableItem\r\nconst ItemHandle = SortableItemHandle\r\nconst Overlay = SortableOverlay\r\n\r\nexport {\r\n Root,\r\n Content,\r\n Item,\r\n ItemHandle,\r\n Overlay,\r\n //\r\n Sortable,\r\n SortableContent,\r\n SortableItem,\r\n SortableItemHandle,\r\n SortableOverlay,\r\n}\r\n"],"names":["orientationConfig","restrictToVerticalAxis","restrictToParentElement","verticalListSortingStrategy","closestCenter","restrictToHorizontalAxis","horizontalListSortingStrategy","undefined","closestCorners","ROOT_NAME","CONTENT_NAME","ITEM_NAME","ITEM_HANDLE_NAME","OVERLAY_NAME","SORTABLE_ERRORS","SortableRootContext","React","useSortableContext","name","context","Error","Sortable","props","value","onValueChange","collisionDetection","modifiers","strategy","onMove","orientation","flatCursor","getItemValueProp","accessibility","sortableProps","id","activeId","setActiveId","sensors","useSensors","useSensor","MouseSensor","TouchSensor","KeyboardSensor","sortableKeyboardCoordinates","config","getItemValue","item","items","onDragEnd","event","active","over","activeIndex","overIndex","arrayMove","announcements","activeValue","screenReaderInstructions","contextValue","DndContext","composeEventHandlers","SortableContentContext","SortableContent","forwardedRef","strategyProp","asChild","withoutSlot","children","contentProps","ContentPrimitive","Slot","SortableContext","SortableItemContext","SortableItem","style","asHandle","disabled","className","itemProps","inSortableContent","inSortableOverlay","SortableOverlayContext","attributes","listeners","setNodeRef","setActivatorNodeRef","transform","transition","isDragging","useSortable","composedRef","useComposedRefs","node","composedStyle","CSS","itemContext","ItemPrimitive","cn","SortableItemHandle","itemHandleProps","isDisabled","HandlePrimitive","dropAnimation","defaultDropAnimationSideEffects","SortableOverlay","containerProp","overlayProps","mounted","setMounted","container","globalThis","ReactDOM","DragOverlay","Root","Content","Item","ItemHandle","Overlay"],"mappings":"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"}
|
|
@@ -0,0 +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,_)=>{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__={};__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{useCallbackRef:()=>useCallbackRef});let external_react_namespaceObject=require("react");function useCallbackRef(e){let _=external_react_namespaceObject.useRef(e);return external_react_namespaceObject.useEffect(()=>{_.current=e}),external_react_namespaceObject.useMemo(()=>(...e)=>_.current?.(...e),[])}for(var __webpack_i__ in exports.useCallbackRef=__webpack_exports__.useCallbackRef,__webpack_exports__)-1===["useCallbackRef"].indexOf(__webpack_i__)&&(exports[__webpack_i__]=__webpack_exports__[__webpack_i__]);Object.defineProperty(exports,"__esModule",{value:!0});
|
|
2
|
+
//# sourceMappingURL=use-callback-ref.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hooks\\use-callback-ref.cjs","sources":["webpack://@gbmtech/aurora-ui/./src/hooks/use-callback-ref.ts"],"sourcesContent":["import * as React from 'react'\r\n\r\n/**\r\n * @see https://github.com/radix-ui/primitives/blob/main/packages/react/use-callback-ref/src/useCallbackRef.tsx\r\n */\r\n\r\n/**\r\n * A custom hook that converts a callback to a ref to avoid triggering re-renders when passed as a\r\n * prop or avoid re-executing effects when passed as a dependency\r\n */\r\nfunction useCallbackRef<T extends (...args: never[]) => unknown>(\r\n callback: T | undefined\r\n): T {\r\n const callbackRef = React.useRef(callback)\r\n\r\n React.useEffect(() => {\r\n callbackRef.current = callback\r\n })\r\n\r\n // https://github.com/facebook/react/issues/19240\r\n return React.useMemo(\r\n () => ((...args) => callbackRef.current?.(...args)) as T,\r\n []\r\n )\r\n}\r\n\r\nexport { useCallbackRef }\r\n"],"names":["useCallbackRef","callback","callbackRef","React","args"],"mappings":"o2BAUA,SAASA,eACPC,CAAuB,EAEvB,IAAMC,EAAcC,+BAAAA,MAAY,CAACF,GAOjC,OALAE,+BAAAA,SAAe,CAAC,KACdD,EAAY,OAAO,CAAGD,CACxB,GAGOE,+BAAAA,OAAa,CAClB,IAAO,CAAC,GAAGC,IAASF,EAAY,OAAO,MAAME,GAC7C,EAAE,CAEN,C"}
|
|
@@ -0,0 +1,3 @@
|
|
|
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__,{useDataTable:()=>useDataTable});let react_table_namespaceObject=require("@tanstack/react-table"),external_nuqs_namespaceObject=require("nuqs"),external_react_namespaceObject=require("react"),external_use_debounced_callback_cjs_namespaceObject=require("./use-debounced-callback.cjs"),parsers_cjs_namespaceObject=require("../lib/parsers.cjs"),PAGE_KEY="page",PER_PAGE_KEY="perPage",SORT_KEY="sort",ARRAY_SEPARATOR=",",DEBOUNCE_MS=300,THROTTLE_MS=50;function useDataTable(e){let{columns:a,pageCount:t=-1,initialState:_,history:r="replace",debounceMs:c=300,throttleMs:n=50,clearOnDefault:s=!1,enableAdvancedFilter:l=!1,scroll:o=!1,shallow:i=!0,startTransition:u,...p}=e,b=external_react_namespaceObject.useMemo(()=>({history:r,scroll:o,shallow:i,throttleMs:n,debounceMs:c,clearOnDefault:s,startTransition:u}),[r,o,i,n,c,s,u]),[m,d]=external_react_namespaceObject.useState(_?.rowSelection??{}),[O,j]=external_react_namespaceObject.useState(_?.columnVisibility??{}),[g,w]=(0,external_nuqs_namespaceObject.useQueryState)("page",external_nuqs_namespaceObject.parseAsInteger.withOptions(b).withDefault(1)),[x,f]=(0,external_nuqs_namespaceObject.useQueryState)("perPage",external_nuqs_namespaceObject.parseAsInteger.withOptions(b).withDefault(_?.pagination?.pageSize??10)),S=external_react_namespaceObject.useMemo(()=>({pageIndex:g-1,pageSize:x}),[g,x]),q=external_react_namespaceObject.useCallback(e=>{if("function"==typeof e){let a=e(S);w(a.pageIndex+1),f(a.pageSize)}else w(e.pageIndex+1),f(e.pageSize)},[S,w,f]),k=external_react_namespaceObject.useMemo(()=>new Set(a.map(e=>e.id).filter(Boolean)),[a]),[M,y]=(0,external_nuqs_namespaceObject.useQueryState)("sort",(0,parsers_cjs_namespaceObject.getSortingStateParser)(k).withOptions(b).withDefault(_?.sorting??[])),R=external_react_namespaceObject.useCallback(e=>{"function"==typeof e?y(e(M)):y(e)},[M,y]),A=external_react_namespaceObject.useMemo(()=>l?[]:a.filter(e=>e.enableColumnFilter),[a,l]),P=external_react_namespaceObject.useMemo(()=>l?{}:A.reduce((e,a)=>(a.meta?.options?e[a.id??""]=(0,external_nuqs_namespaceObject.parseAsArrayOf)(external_nuqs_namespaceObject.parseAsString,",").withOptions(b):e[a.id??""]=external_nuqs_namespaceObject.parseAsString.withOptions(b),e),{}),[A,b,l]),[h,C]=(0,external_nuqs_namespaceObject.useQueryStates)(P),T=(0,external_use_debounced_callback_cjs_namespaceObject.useDebouncedCallback)(e=>{w(1),C(e)},c),D=external_react_namespaceObject.useMemo(()=>l?[]:Object.entries(h).reduce((e,[a,t])=>{if(null!==t){let _=Array.isArray(t)?t:"string"==typeof t&&/[^a-zA-Z0-9]/.test(t)?t.split(/[^a-zA-Z0-9]+/).filter(Boolean):[t];e.push({id:a,value:_})}return e},[]),[h,l]),[F,E]=external_react_namespaceObject.useState(D),v=external_react_namespaceObject.useCallback(e=>{l||E(a=>{let t="function"==typeof e?e(a):e,_=t.reduce((e,a)=>(A.find(e=>e.id===a.id)&&(e[a.id]=a.value),e),{});for(let e of a)t.some(a=>a.id===e.id)||(_[e.id]=null);return T(_),t})},[T,A,l]);return{table:(0,react_table_namespaceObject.useReactTable)({...p,columns:a,initialState:_,pageCount:t,state:{pagination:S,sorting:M,columnVisibility:O,rowSelection:m,columnFilters:F},defaultColumn:{...p.defaultColumn,enableColumnFilter:!1},enableRowSelection:!0,onRowSelectionChange:d,onPaginationChange:q,onSortingChange:R,onColumnFiltersChange:v,onColumnVisibilityChange:j,getCoreRowModel:(0,react_table_namespaceObject.getCoreRowModel)(),getFilteredRowModel:(0,react_table_namespaceObject.getFilteredRowModel)(),getPaginationRowModel:(0,react_table_namespaceObject.getPaginationRowModel)(),getSortedRowModel:(0,react_table_namespaceObject.getSortedRowModel)(),getFacetedRowModel:(0,react_table_namespaceObject.getFacetedRowModel)(),getFacetedUniqueValues:(0,react_table_namespaceObject.getFacetedUniqueValues)(),getFacetedMinMaxValues:(0,react_table_namespaceObject.getFacetedMinMaxValues)(),manualPagination:!0,manualSorting:!0,manualFiltering:!0}),shallow:i,debounceMs:c,throttleMs:n}}for(var __webpack_i__ in exports.useDataTable=__webpack_exports__.useDataTable,__webpack_exports__)-1===["useDataTable"].indexOf(__webpack_i__)&&(exports[__webpack_i__]=__webpack_exports__[__webpack_i__]);Object.defineProperty(exports,"__esModule",{value:!0});
|
|
3
|
+
//# sourceMappingURL=use-data-table.cjs.map
|