@osdk/react-components 0.2.0-beta.11 → 0.2.0-beta.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (157) hide show
  1. package/AGENTS.md +105 -0
  2. package/CHANGELOG.md +30 -0
  3. package/build/browser/base-components/draggable-list/DraggableList.module.css +2 -2
  4. package/build/browser/filter-list/FilterListApi.js.map +1 -1
  5. package/build/browser/filter-list/base/DragHandleIcon.js +51 -0
  6. package/build/browser/filter-list/base/DragHandleIcon.js.map +1 -0
  7. package/build/browser/filter-list/base/FilterList.js +3 -1
  8. package/build/browser/filter-list/base/FilterList.js.map +1 -1
  9. package/build/browser/filter-list/base/FilterListContent.js +143 -3
  10. package/build/browser/filter-list/base/FilterListContent.js.map +1 -1
  11. package/build/browser/filter-list/base/FilterListContent.module.css +6 -0
  12. package/build/browser/filter-list/base/FilterListContent.module.css.js +2 -1
  13. package/build/browser/filter-list/base/FilterListItem.js +11 -18
  14. package/build/browser/filter-list/base/FilterListItem.js.map +1 -1
  15. package/build/browser/filter-list/base/FilterListItem.module.css +32 -0
  16. package/build/browser/filter-list/base/FilterListItem.module.css.js +3 -1
  17. package/build/browser/filter-list/base/SortableFilterListItem.js +63 -0
  18. package/build/browser/filter-list/base/SortableFilterListItem.js.map +1 -0
  19. package/build/browser/filter-list/utils/getFilterLabel.js +36 -0
  20. package/build/browser/filter-list/utils/getFilterLabel.js.map +1 -0
  21. package/build/browser/object-table/EditableCell.js +1 -2
  22. package/build/browser/object-table/EditableCell.js.map +1 -1
  23. package/build/browser/object-table/TableRow.js +1 -2
  24. package/build/browser/object-table/TableRow.js.map +1 -1
  25. package/build/browser/styles.css +40 -2
  26. package/build/cjs/public/experimental.cjs +905 -677
  27. package/build/cjs/public/experimental.cjs.map +1 -1
  28. package/build/cjs/public/experimental.css +34 -2
  29. package/build/cjs/public/experimental.css.map +1 -1
  30. package/build/cjs/public/experimental.d.cts +7 -0
  31. package/build/esm/base-components/draggable-list/DraggableList.module.css +2 -2
  32. package/build/esm/filter-list/FilterListApi.js.map +1 -1
  33. package/build/esm/filter-list/base/DragHandleIcon.js +51 -0
  34. package/build/esm/filter-list/base/DragHandleIcon.js.map +1 -0
  35. package/build/esm/filter-list/base/FilterList.js +3 -1
  36. package/build/esm/filter-list/base/FilterList.js.map +1 -1
  37. package/build/esm/filter-list/base/FilterListContent.js +143 -3
  38. package/build/esm/filter-list/base/FilterListContent.js.map +1 -1
  39. package/build/esm/filter-list/base/FilterListContent.module.css +6 -0
  40. package/build/esm/filter-list/base/FilterListItem.js +11 -18
  41. package/build/esm/filter-list/base/FilterListItem.js.map +1 -1
  42. package/build/esm/filter-list/base/FilterListItem.module.css +32 -0
  43. package/build/esm/filter-list/base/SortableFilterListItem.js +63 -0
  44. package/build/esm/filter-list/base/SortableFilterListItem.js.map +1 -0
  45. package/build/esm/filter-list/utils/getFilterLabel.js +36 -0
  46. package/build/esm/filter-list/utils/getFilterLabel.js.map +1 -0
  47. package/build/esm/object-table/EditableCell.js +1 -2
  48. package/build/esm/object-table/EditableCell.js.map +1 -1
  49. package/build/esm/object-table/TableRow.js +1 -2
  50. package/build/esm/object-table/TableRow.js.map +1 -1
  51. package/build/types/filter-list/FilterListApi.d.ts +7 -0
  52. package/build/types/filter-list/FilterListApi.d.ts.map +1 -1
  53. package/build/types/filter-list/base/DragHandleIcon.d.ts +2 -0
  54. package/build/types/filter-list/base/DragHandleIcon.d.ts.map +1 -0
  55. package/build/types/filter-list/base/FilterListContent.d.ts +2 -1
  56. package/build/types/filter-list/base/FilterListContent.d.ts.map +1 -1
  57. package/build/types/filter-list/base/FilterListItem.d.ts +4 -1
  58. package/build/types/filter-list/base/FilterListItem.d.ts.map +1 -1
  59. package/build/types/filter-list/base/SortableFilterListItem.d.ts +16 -0
  60. package/build/types/filter-list/base/SortableFilterListItem.d.ts.map +1 -0
  61. package/build/types/filter-list/utils/getFilterLabel.d.ts +3 -0
  62. package/build/types/filter-list/utils/getFilterLabel.d.ts.map +1 -0
  63. package/build/types/object-table/EditableCell.d.ts +1 -3
  64. package/build/types/object-table/EditableCell.d.ts.map +1 -1
  65. package/build/types/object-table/TableRow.d.ts +1 -2
  66. package/build/types/object-table/TableRow.d.ts.map +1 -1
  67. package/package.json +6 -5
  68. package/build/browser/filter-list/__tests__/LinkedPropertyInput.test.js +0 -202
  69. package/build/browser/filter-list/__tests__/LinkedPropertyInput.test.js.map +0 -1
  70. package/build/browser/filter-list/__tests__/dateUtils.test.js +0 -55
  71. package/build/browser/filter-list/__tests__/dateUtils.test.js.map +0 -1
  72. package/build/browser/filter-list/__tests__/filterStateToWhereClause.test.js +0 -296
  73. package/build/browser/filter-list/__tests__/filterStateToWhereClause.test.js.map +0 -1
  74. package/build/browser/filter-list/__tests__/getFilterKey.test.js +0 -53
  75. package/build/browser/filter-list/__tests__/getFilterKey.test.js.map +0 -1
  76. package/build/browser/filter-list/__tests__/testUtils.js +0 -203
  77. package/build/browser/filter-list/__tests__/testUtils.js.map +0 -1
  78. package/build/browser/filter-list/hooks/__tests__/useFilterListState.test.js +0 -128
  79. package/build/browser/filter-list/hooks/__tests__/useFilterListState.test.js.map +0 -1
  80. package/build/browser/object-table/hooks/__tests__/useCellContextMenu.test.js +0 -147
  81. package/build/browser/object-table/hooks/__tests__/useCellContextMenu.test.js.map +0 -1
  82. package/build/browser/object-table/hooks/__tests__/useColumnDefs.test.js +0 -520
  83. package/build/browser/object-table/hooks/__tests__/useColumnDefs.test.js.map +0 -1
  84. package/build/browser/object-table/hooks/__tests__/useColumnPinning.test.js +0 -266
  85. package/build/browser/object-table/hooks/__tests__/useColumnPinning.test.js.map +0 -1
  86. package/build/browser/object-table/hooks/__tests__/useColumnVisibility.test.js +0 -200
  87. package/build/browser/object-table/hooks/__tests__/useColumnVisibility.test.js.map +0 -1
  88. package/build/browser/object-table/hooks/__tests__/useEditableTable.test.js +0 -292
  89. package/build/browser/object-table/hooks/__tests__/useEditableTable.test.js.map +0 -1
  90. package/build/browser/object-table/hooks/__tests__/useObjectTableData.test.js +0 -315
  91. package/build/browser/object-table/hooks/__tests__/useObjectTableData.test.js.map +0 -1
  92. package/build/browser/object-table/hooks/__tests__/useRowSelection.test.js +0 -596
  93. package/build/browser/object-table/hooks/__tests__/useRowSelection.test.js.map +0 -1
  94. package/build/browser/object-table/hooks/__tests__/useSelectionColumn.test.js +0 -220
  95. package/build/browser/object-table/hooks/__tests__/useSelectionColumn.test.js.map +0 -1
  96. package/build/browser/object-table/hooks/__tests__/useTableSorting.test.js +0 -501
  97. package/build/browser/object-table/hooks/__tests__/useTableSorting.test.js.map +0 -1
  98. package/build/esm/filter-list/__tests__/LinkedPropertyInput.test.js +0 -202
  99. package/build/esm/filter-list/__tests__/LinkedPropertyInput.test.js.map +0 -1
  100. package/build/esm/filter-list/__tests__/dateUtils.test.js +0 -55
  101. package/build/esm/filter-list/__tests__/dateUtils.test.js.map +0 -1
  102. package/build/esm/filter-list/__tests__/filterStateToWhereClause.test.js +0 -296
  103. package/build/esm/filter-list/__tests__/filterStateToWhereClause.test.js.map +0 -1
  104. package/build/esm/filter-list/__tests__/getFilterKey.test.js +0 -53
  105. package/build/esm/filter-list/__tests__/getFilterKey.test.js.map +0 -1
  106. package/build/esm/filter-list/__tests__/testUtils.js +0 -203
  107. package/build/esm/filter-list/__tests__/testUtils.js.map +0 -1
  108. package/build/esm/filter-list/hooks/__tests__/useFilterListState.test.js +0 -128
  109. package/build/esm/filter-list/hooks/__tests__/useFilterListState.test.js.map +0 -1
  110. package/build/esm/object-table/hooks/__tests__/useCellContextMenu.test.js +0 -147
  111. package/build/esm/object-table/hooks/__tests__/useCellContextMenu.test.js.map +0 -1
  112. package/build/esm/object-table/hooks/__tests__/useColumnDefs.test.js +0 -520
  113. package/build/esm/object-table/hooks/__tests__/useColumnDefs.test.js.map +0 -1
  114. package/build/esm/object-table/hooks/__tests__/useColumnPinning.test.js +0 -266
  115. package/build/esm/object-table/hooks/__tests__/useColumnPinning.test.js.map +0 -1
  116. package/build/esm/object-table/hooks/__tests__/useColumnVisibility.test.js +0 -200
  117. package/build/esm/object-table/hooks/__tests__/useColumnVisibility.test.js.map +0 -1
  118. package/build/esm/object-table/hooks/__tests__/useEditableTable.test.js +0 -292
  119. package/build/esm/object-table/hooks/__tests__/useEditableTable.test.js.map +0 -1
  120. package/build/esm/object-table/hooks/__tests__/useObjectTableData.test.js +0 -315
  121. package/build/esm/object-table/hooks/__tests__/useObjectTableData.test.js.map +0 -1
  122. package/build/esm/object-table/hooks/__tests__/useRowSelection.test.js +0 -596
  123. package/build/esm/object-table/hooks/__tests__/useRowSelection.test.js.map +0 -1
  124. package/build/esm/object-table/hooks/__tests__/useSelectionColumn.test.js +0 -220
  125. package/build/esm/object-table/hooks/__tests__/useSelectionColumn.test.js.map +0 -1
  126. package/build/esm/object-table/hooks/__tests__/useTableSorting.test.js +0 -501
  127. package/build/esm/object-table/hooks/__tests__/useTableSorting.test.js.map +0 -1
  128. package/build/types/filter-list/__tests__/LinkedPropertyInput.test.d.ts +0 -1
  129. package/build/types/filter-list/__tests__/LinkedPropertyInput.test.d.ts.map +0 -1
  130. package/build/types/filter-list/__tests__/dateUtils.test.d.ts +0 -1
  131. package/build/types/filter-list/__tests__/dateUtils.test.d.ts.map +0 -1
  132. package/build/types/filter-list/__tests__/filterStateToWhereClause.test.d.ts +0 -1
  133. package/build/types/filter-list/__tests__/filterStateToWhereClause.test.d.ts.map +0 -1
  134. package/build/types/filter-list/__tests__/getFilterKey.test.d.ts +0 -1
  135. package/build/types/filter-list/__tests__/getFilterKey.test.d.ts.map +0 -1
  136. package/build/types/filter-list/__tests__/testUtils.d.ts +0 -65
  137. package/build/types/filter-list/__tests__/testUtils.d.ts.map +0 -1
  138. package/build/types/filter-list/hooks/__tests__/useFilterListState.test.d.ts +0 -1
  139. package/build/types/filter-list/hooks/__tests__/useFilterListState.test.d.ts.map +0 -1
  140. package/build/types/object-table/hooks/__tests__/useCellContextMenu.test.d.ts +0 -1
  141. package/build/types/object-table/hooks/__tests__/useCellContextMenu.test.d.ts.map +0 -1
  142. package/build/types/object-table/hooks/__tests__/useColumnDefs.test.d.ts +0 -1
  143. package/build/types/object-table/hooks/__tests__/useColumnDefs.test.d.ts.map +0 -1
  144. package/build/types/object-table/hooks/__tests__/useColumnPinning.test.d.ts +0 -1
  145. package/build/types/object-table/hooks/__tests__/useColumnPinning.test.d.ts.map +0 -1
  146. package/build/types/object-table/hooks/__tests__/useColumnVisibility.test.d.ts +0 -1
  147. package/build/types/object-table/hooks/__tests__/useColumnVisibility.test.d.ts.map +0 -1
  148. package/build/types/object-table/hooks/__tests__/useEditableTable.test.d.ts +0 -1
  149. package/build/types/object-table/hooks/__tests__/useEditableTable.test.d.ts.map +0 -1
  150. package/build/types/object-table/hooks/__tests__/useObjectTableData.test.d.ts +0 -1
  151. package/build/types/object-table/hooks/__tests__/useObjectTableData.test.d.ts.map +0 -1
  152. package/build/types/object-table/hooks/__tests__/useRowSelection.test.d.ts +0 -1
  153. package/build/types/object-table/hooks/__tests__/useRowSelection.test.d.ts.map +0 -1
  154. package/build/types/object-table/hooks/__tests__/useSelectionColumn.test.d.ts +0 -1
  155. package/build/types/object-table/hooks/__tests__/useSelectionColumn.test.d.ts.map +0 -1
  156. package/build/types/object-table/hooks/__tests__/useTableSorting.test.d.ts +0 -1
  157. package/build/types/object-table/hooks/__tests__/useTableSorting.test.d.ts.map +0 -1
@@ -36,3 +36,35 @@
36
36
  display: flex;
37
37
  flex-direction: column;
38
38
  }
39
+
40
+ .dragHandle {
41
+ display: flex;
42
+ align-items: center;
43
+ justify-content: center;
44
+ padding: var(--osdk-filter-item-drag-handle-padding);
45
+ margin-right: var(--osdk-surface-spacing);
46
+ border: none;
47
+ background: var(--osdk-filter-item-drag-handle-bg);
48
+ cursor: var(--osdk-drag-handle-cursor);
49
+ border-radius: var(--osdk-filter-item-drag-handle-border-radius);
50
+ color: var(--osdk-filter-item-drag-handle-color);
51
+ touch-action: none;
52
+
53
+ &:hover {
54
+ color: var(--osdk-filter-item-drag-handle-color-hover);
55
+ background: var(--osdk-filter-item-drag-handle-bg-hover);
56
+ }
57
+
58
+ &:active {
59
+ cursor: var(--osdk-drag-handle-cursor-active);
60
+ }
61
+
62
+ &:focus-visible {
63
+ outline: 2px solid var(--osdk-filter-item-drag-handle-focus-outline-color);
64
+ outline-offset: 2px;
65
+ }
66
+ }
67
+
68
+ .dragging {
69
+ opacity: var(--osdk-filter-item-dragging-opacity);
70
+ }
@@ -3,7 +3,9 @@ const styles = {
3
3
  "filterItem": "FilterListItem-module__filterItem___fDBkbb7u",
4
4
  "itemHeader": "FilterListItem-module__itemHeader___jp4epXg-",
5
5
  "itemLabel": "FilterListItem-module__itemLabel___cEnbqE59",
6
- "itemContent": "FilterListItem-module__itemContent___PfVHHhIy"
6
+ "itemContent": "FilterListItem-module__itemContent___PfVHHhIy",
7
+ "dragHandle": "FilterListItem-module__dragHandle___BwFrILWs",
8
+ "dragging": "FilterListItem-module__dragging___S5-LGyfS"
7
9
  };
8
10
 
9
11
  export default styles;
@@ -0,0 +1,63 @@
1
+ /*
2
+ * Copyright 2025 Palantir Technologies, Inc. All rights reserved.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ import { useSortable } from "@dnd-kit/sortable";
18
+ import { CSS } from "@dnd-kit/utilities";
19
+ import classnames from "classnames";
20
+ import React, { useMemo } from "react";
21
+ import { FilterListItem } from "./FilterListItem.js";
22
+ import styles from "./FilterListItem.module.css.js";
23
+ export function SortableFilterListItem({
24
+ id,
25
+ objectType,
26
+ objectSet,
27
+ definition,
28
+ filterKey,
29
+ filterState,
30
+ onFilterStateChanged,
31
+ whereClause
32
+ }) {
33
+ const {
34
+ attributes,
35
+ listeners,
36
+ setNodeRef,
37
+ transform,
38
+ transition,
39
+ isDragging
40
+ } = useSortable({
41
+ id
42
+ });
43
+ const style = useMemo(() => ({
44
+ transform: CSS.Transform.toString(transform),
45
+ transition: transition ?? undefined
46
+ }), [transform, transition]);
47
+ return /*#__PURE__*/React.createElement("div", {
48
+ ref: setNodeRef,
49
+ style: style,
50
+ className: classnames(isDragging && styles.dragging)
51
+ }, /*#__PURE__*/React.createElement(FilterListItem, {
52
+ objectType: objectType,
53
+ objectSet: objectSet,
54
+ definition: definition,
55
+ filterKey: filterKey,
56
+ filterState: filterState,
57
+ onFilterStateChanged: onFilterStateChanged,
58
+ whereClause: whereClause,
59
+ dragHandleAttributes: attributes,
60
+ dragHandleListeners: listeners
61
+ }));
62
+ }
63
+ //# sourceMappingURL=SortableFilterListItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SortableFilterListItem.js","names":["useSortable","CSS","classnames","React","useMemo","FilterListItem","styles","SortableFilterListItem","id","objectType","objectSet","definition","filterKey","filterState","onFilterStateChanged","whereClause","attributes","listeners","setNodeRef","transform","transition","isDragging","style","Transform","toString","undefined","createElement","ref","className","dragging","dragHandleAttributes","dragHandleListeners"],"sources":["SortableFilterListItem.tsx"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { useSortable } from \"@dnd-kit/sortable\";\nimport { CSS } from \"@dnd-kit/utilities\";\nimport type { ObjectSet, ObjectTypeDefinition, WhereClause } from \"@osdk/api\";\nimport classnames from \"classnames\";\nimport React, { useMemo } from \"react\";\nimport type { FilterDefinitionUnion } from \"../FilterListApi.js\";\nimport type { FilterState } from \"../FilterListItemApi.js\";\nimport { FilterListItem } from \"./FilterListItem.js\";\nimport styles from \"./FilterListItem.module.css\";\n\ninterface SortableFilterListItemProps<Q extends ObjectTypeDefinition> {\n id: string;\n objectType: Q;\n objectSet: ObjectSet<Q>;\n definition: FilterDefinitionUnion<Q>;\n filterKey: string;\n filterState: FilterState | undefined;\n onFilterStateChanged: (\n filterKey: string,\n state: FilterState,\n ) => void;\n whereClause: WhereClause<Q>;\n}\n\nexport function SortableFilterListItem<Q extends ObjectTypeDefinition>({\n id,\n objectType,\n objectSet,\n definition,\n filterKey,\n filterState,\n onFilterStateChanged,\n whereClause,\n}: SortableFilterListItemProps<Q>): React.ReactElement {\n const {\n attributes,\n listeners,\n setNodeRef,\n transform,\n transition,\n isDragging,\n } = useSortable({ id });\n\n const style = useMemo<React.CSSProperties>(() => ({\n transform: CSS.Transform.toString(transform),\n transition: transition ?? undefined,\n }), [transform, transition]);\n\n return (\n <div\n ref={setNodeRef}\n style={style}\n className={classnames(isDragging && styles.dragging)}\n >\n <FilterListItem\n objectType={objectType}\n objectSet={objectSet}\n definition={definition}\n filterKey={filterKey}\n filterState={filterState}\n onFilterStateChanged={onFilterStateChanged}\n whereClause={whereClause}\n dragHandleAttributes={attributes}\n dragHandleListeners={listeners}\n />\n </div>\n );\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,WAAW,QAAQ,mBAAmB;AAC/C,SAASC,GAAG,QAAQ,oBAAoB;AAExC,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,KAAK,IAAIC,OAAO,QAAQ,OAAO;AAGtC,SAASC,cAAc,QAAQ,qBAAqB;AACpD,OAAOC,MAAM,MAAM,6BAA6B;AAgBhD,OAAO,SAASC,sBAAsBA,CAAiC;EACrEC,EAAE;EACFC,UAAU;EACVC,SAAS;EACTC,UAAU;EACVC,SAAS;EACTC,WAAW;EACXC,oBAAoB;EACpBC;AAC8B,CAAC,EAAsB;EACrD,MAAM;IACJC,UAAU;IACVC,SAAS;IACTC,UAAU;IACVC,SAAS;IACTC,UAAU;IACVC;EACF,CAAC,GAAGrB,WAAW,CAAC;IAAEQ;EAAG,CAAC,CAAC;EAEvB,MAAMc,KAAK,GAAGlB,OAAO,CAAsB,OAAO;IAChDe,SAAS,EAAElB,GAAG,CAACsB,SAAS,CAACC,QAAQ,CAACL,SAAS,CAAC;IAC5CC,UAAU,EAAEA,UAAU,IAAIK;EAC5B,CAAC,CAAC,EAAE,CAACN,SAAS,EAAEC,UAAU,CAAC,CAAC;EAE5B,oBACEjB,KAAA,CAAAuB,aAAA;IACEC,GAAG,EAAET,UAAW;IAChBI,KAAK,EAAEA,KAAM;IACbM,SAAS,EAAE1B,UAAU,CAACmB,UAAU,IAAIf,MAAM,CAACuB,QAAQ;EAAE,gBAErD1B,KAAA,CAAAuB,aAAA,CAACrB,cAAc;IACbI,UAAU,EAAEA,UAAW;IACvBC,SAAS,EAAEA,SAAU;IACrBC,UAAU,EAAEA,UAAW;IACvBC,SAAS,EAAEA,SAAU;IACrBC,WAAW,EAAEA,WAAY;IACzBC,oBAAoB,EAAEA,oBAAqB;IAC3CC,WAAW,EAAEA,WAAY;IACzBe,oBAAoB,EAAEd,UAAW;IACjCe,mBAAmB,EAAEd;EAAU,CAChC,CACE,CAAC;AAEV","ignoreList":[]}
@@ -0,0 +1,36 @@
1
+ /*
2
+ * Copyright 2025 Palantir Technologies, Inc. All rights reserved.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ import { assertUnreachable } from "./assertUnreachable.js";
18
+ export function getFilterLabel(definition) {
19
+ if ("label" in definition && definition.label) {
20
+ return definition.label;
21
+ }
22
+ switch (definition.type) {
23
+ case "PROPERTY":
24
+ return definition.key;
25
+ case "HAS_LINK":
26
+ case "LINKED_PROPERTY":
27
+ return definition.linkName;
28
+ case "KEYWORD_SEARCH":
29
+ return "Search";
30
+ case "CUSTOM":
31
+ return definition.key;
32
+ default:
33
+ return assertUnreachable(definition);
34
+ }
35
+ }
36
+ //# sourceMappingURL=getFilterLabel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getFilterLabel.js","names":["assertUnreachable","getFilterLabel","definition","label","type","key","linkName"],"sources":["getFilterLabel.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { ObjectTypeDefinition } from \"@osdk/api\";\nimport type { FilterDefinitionUnion } from \"../FilterListApi.js\";\nimport { assertUnreachable } from \"./assertUnreachable.js\";\n\nexport function getFilterLabel<Q extends ObjectTypeDefinition>(\n definition: FilterDefinitionUnion<Q>,\n): string {\n if (\"label\" in definition && definition.label) {\n return definition.label;\n }\n\n switch (definition.type) {\n case \"PROPERTY\":\n return definition.key;\n case \"HAS_LINK\":\n case \"LINKED_PROPERTY\":\n return definition.linkName;\n case \"KEYWORD_SEARCH\":\n return \"Search\";\n case \"CUSTOM\":\n return definition.key;\n default:\n return assertUnreachable(definition);\n }\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA,SAASA,iBAAiB,QAAQ,wBAAwB;AAE1D,OAAO,SAASC,cAAcA,CAC5BC,UAAoC,EAC5B;EACR,IAAI,OAAO,IAAIA,UAAU,IAAIA,UAAU,CAACC,KAAK,EAAE;IAC7C,OAAOD,UAAU,CAACC,KAAK;EACzB;EAEA,QAAQD,UAAU,CAACE,IAAI;IACrB,KAAK,UAAU;MACb,OAAOF,UAAU,CAACG,GAAG;IACvB,KAAK,UAAU;IACf,KAAK,iBAAiB;MACpB,OAAOH,UAAU,CAACI,QAAQ;IAC5B,KAAK,gBAAgB;MACnB,OAAO,QAAQ;IACjB,KAAK,QAAQ;MACX,OAAOJ,UAAU,CAACG,GAAG;IACvB;MACE,OAAOL,iBAAiB,CAACE,UAAU,CAAC;EACxC;AACF","ignoreList":[]}
@@ -42,7 +42,7 @@ function parseValueByType(value, dataType) {
42
42
  }
43
43
  return parsedNumber;
44
44
  }
45
- function EditableCellInner({
45
+ export function EditableCell({
46
46
  initialValue,
47
47
  currentValue,
48
48
  cellId,
@@ -97,5 +97,4 @@ function EditableCellInner({
97
97
  onKeyDown: handleKeyDown
98
98
  });
99
99
  }
100
- export const EditableCell = /*#__PURE__*/React.memo(EditableCellInner);
101
100
  //# sourceMappingURL=EditableCell.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EditableCell.js","names":["Input","classNames","React","useCallback","useEffect","useRef","useState","styles","NUMBER_TYPES","valueToString","value","JSON","stringify","String","parseValueByType","dataType","includes","parsedNumber","Number","isNaN","EditableCellInner","initialValue","currentValue","cellId","onCellEdit","originalRowData","rowId","columnId","inputValue","setInputValue","isCancelled","handleBlur","current","parsedValue","newValue","oldValue","handleChange","handleKeyDown","e","key","currentTarget","blur","inputType","createElement","className","osdkEditableInput","osdkEditedInput","type","onValueChange","onBlur","onKeyDown","EditableCell","memo"],"sources":["EditableCell.tsx"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Input } from \"@base-ui/react/input\";\nimport type { RowData } from \"@tanstack/react-table\";\nimport classNames from \"classnames\";\nimport React, { useCallback, useEffect, useRef, useState } from \"react\";\nimport styles from \"./EditableCell.module.css\";\nimport type { CellEditInfo } from \"./utils/types.js\";\n\nexport interface EditableCellProps<TData extends RowData, CellValue = unknown> {\n initialValue: CellValue;\n currentValue: CellValue;\n cellId: string;\n dataType?: string;\n onCellEdit: (cellId: string, info: CellEditInfo<TData, CellValue>) => void;\n originalRowData: TData;\n rowId: string;\n columnId: string;\n}\n\nconst NUMBER_TYPES: string[] = [\n \"double\",\n \"integer\",\n \"long\",\n \"float\",\n \"decimal\",\n \"byte\",\n \"short\",\n];\n\nfunction valueToString(value: unknown): string {\n if (value == null) {\n return \"\";\n }\n if (typeof value === \"object\") {\n return JSON.stringify(value);\n }\n // At this point, value is a primitive (string, number, boolean, symbol, bigint)\n return String(value as string | number | boolean | symbol | bigint);\n}\n\nfunction parseValueByType(\n value: string,\n dataType?: string,\n): unknown {\n if (!dataType || !NUMBER_TYPES.includes(dataType)) {\n return value;\n }\n\n if (value === \"\") {\n return null;\n }\n\n const parsedNumber = Number(value);\n\n if (isNaN(parsedNumber)) {\n return value;\n }\n\n return parsedNumber;\n}\n\nfunction EditableCellInner<TData extends RowData, CellValue = unknown>({\n initialValue,\n currentValue,\n cellId,\n dataType,\n onCellEdit,\n originalRowData,\n rowId,\n columnId,\n}: EditableCellProps<TData, CellValue>): React.ReactElement {\n const [inputValue, setInputValue] = useState<string>(\n valueToString(currentValue),\n );\n const isCancelled = useRef(false);\n\n useEffect(() => {\n setInputValue(valueToString(currentValue));\n }, [currentValue]);\n\n const handleBlur = useCallback(() => {\n // Do not commit the edit if it was cancelled with Escape key\n if (isCancelled.current) {\n isCancelled.current = false;\n return;\n }\n const parsedValue = parseValueByType(inputValue, dataType);\n onCellEdit(cellId, {\n rowId,\n columnId,\n newValue: parsedValue as CellValue,\n oldValue: initialValue,\n originalRowData,\n });\n }, [\n inputValue,\n initialValue,\n onCellEdit,\n cellId,\n dataType,\n rowId,\n columnId,\n originalRowData,\n ]);\n\n const handleChange = useCallback((value: string) => {\n setInputValue(value);\n }, []);\n\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.key === \"Enter\") {\n e.currentTarget.blur();\n }\n if (e.key === \"Escape\") {\n isCancelled.current = true;\n setInputValue(valueToString(currentValue));\n e.currentTarget.blur();\n }\n },\n [currentValue],\n );\n\n const inputType = dataType && NUMBER_TYPES.includes(dataType)\n ? \"number\"\n : \"text\";\n\n const isEdited = currentValue !== initialValue;\n\n return (\n <Input\n className={classNames(styles.osdkEditableInput, {\n [styles.osdkEditedInput]: isEdited,\n })}\n type={inputType}\n value={inputValue}\n onValueChange={handleChange}\n onBlur={handleBlur}\n onKeyDown={handleKeyDown}\n />\n );\n}\n\nexport const EditableCell = React.memo(\n EditableCellInner,\n) as typeof EditableCellInner;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"EditableCell.js","names":["Input","classNames","React","useCallback","useEffect","useRef","useState","styles","NUMBER_TYPES","valueToString","value","JSON","stringify","String","parseValueByType","dataType","includes","parsedNumber","Number","isNaN","EditableCell","initialValue","currentValue","cellId","onCellEdit","originalRowData","rowId","columnId","inputValue","setInputValue","isCancelled","handleBlur","current","parsedValue","newValue","oldValue","handleChange","handleKeyDown","e","key","currentTarget","blur","inputType","createElement","className","osdkEditableInput","osdkEditedInput","type","onValueChange","onBlur","onKeyDown"],"sources":["EditableCell.tsx"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Input } from \"@base-ui/react/input\";\nimport type { RowData } from \"@tanstack/react-table\";\nimport classNames from \"classnames\";\nimport React, { useCallback, useEffect, useRef, useState } from \"react\";\nimport styles from \"./EditableCell.module.css\";\nimport type { CellEditInfo } from \"./utils/types.js\";\n\nexport interface EditableCellProps<TData extends RowData, CellValue = unknown> {\n initialValue: CellValue;\n currentValue: CellValue;\n cellId: string;\n dataType?: string;\n onCellEdit: (cellId: string, info: CellEditInfo<TData, CellValue>) => void;\n originalRowData: TData;\n rowId: string;\n columnId: string;\n}\n\nconst NUMBER_TYPES: string[] = [\n \"double\",\n \"integer\",\n \"long\",\n \"float\",\n \"decimal\",\n \"byte\",\n \"short\",\n];\n\nfunction valueToString(value: unknown): string {\n if (value == null) {\n return \"\";\n }\n if (typeof value === \"object\") {\n return JSON.stringify(value);\n }\n // At this point, value is a primitive (string, number, boolean, symbol, bigint)\n return String(value as string | number | boolean | symbol | bigint);\n}\n\nfunction parseValueByType(\n value: string,\n dataType?: string,\n): unknown {\n if (!dataType || !NUMBER_TYPES.includes(dataType)) {\n return value;\n }\n\n if (value === \"\") {\n return null;\n }\n\n const parsedNumber = Number(value);\n\n if (isNaN(parsedNumber)) {\n return value;\n }\n\n return parsedNumber;\n}\n\nexport function EditableCell<TData extends RowData, CellValue = unknown>({\n initialValue,\n currentValue,\n cellId,\n dataType,\n onCellEdit,\n originalRowData,\n rowId,\n columnId,\n}: EditableCellProps<TData, CellValue>): React.ReactElement {\n const [inputValue, setInputValue] = useState<string>(\n valueToString(currentValue),\n );\n const isCancelled = useRef(false);\n\n useEffect(() => {\n setInputValue(valueToString(currentValue));\n }, [currentValue]);\n\n const handleBlur = useCallback(() => {\n // Do not commit the edit if it was cancelled with Escape key\n if (isCancelled.current) {\n isCancelled.current = false;\n return;\n }\n const parsedValue = parseValueByType(inputValue, dataType);\n onCellEdit(cellId, {\n rowId,\n columnId,\n newValue: parsedValue as CellValue,\n oldValue: initialValue,\n originalRowData,\n });\n }, [\n inputValue,\n initialValue,\n onCellEdit,\n cellId,\n dataType,\n rowId,\n columnId,\n originalRowData,\n ]);\n\n const handleChange = useCallback((value: string) => {\n setInputValue(value);\n }, []);\n\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.key === \"Enter\") {\n e.currentTarget.blur();\n }\n if (e.key === \"Escape\") {\n isCancelled.current = true;\n setInputValue(valueToString(currentValue));\n e.currentTarget.blur();\n }\n },\n [currentValue],\n );\n\n const inputType = dataType && NUMBER_TYPES.includes(dataType)\n ? \"number\"\n : \"text\";\n\n const isEdited = currentValue !== initialValue;\n\n return (\n <Input\n className={classNames(styles.osdkEditableInput, {\n [styles.osdkEditedInput]: isEdited,\n })}\n type={inputType}\n value={inputValue}\n onValueChange={handleChange}\n onBlur={handleBlur}\n onKeyDown={handleKeyDown}\n />\n );\n}\n"],"mappings":"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","ignoreList":[]}
@@ -17,7 +17,7 @@
17
17
  import React, { useCallback } from "react";
18
18
  import { TableCell } from "./TableCell.js";
19
19
  import styles from "./TableRow.module.css.js";
20
- function TableRowInner({
20
+ export function TableRow({
21
21
  row,
22
22
  virtualRow,
23
23
  onRowClick,
@@ -47,5 +47,4 @@ function TableRowInner({
47
47
  renderCellContextMenu: renderCellContextMenu
48
48
  })));
49
49
  }
50
- export const TableRow = /*#__PURE__*/React.memo(TableRowInner);
51
50
  //# sourceMappingURL=TableRow.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TableRow.js","names":["React","useCallback","TableCell","styles","TableRowInner","row","virtualRow","onRowClick","renderCellContextMenu","focusedRowId","setFocusedRowId","isInEditMode","handleClick","id","original","createElement","getIsSelected","className","osdkTableRow","style","height","size","transform","start","onClick","getVisibleCells","map","cell","key","TableRow","memo"],"sources":["TableRow.tsx"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { Cell, Row, RowData } from \"@tanstack/react-table\";\nimport type { VirtualItem } from \"@tanstack/react-virtual\";\nimport React, { useCallback } from \"react\";\nimport { TableCell } from \"./TableCell.js\";\nimport styles from \"./TableRow.module.css\";\n\ninterface TableRowProps<TData extends RowData> {\n row: Row<TData>;\n virtualRow: VirtualItem;\n onRowClick?: (row: TData) => void;\n renderCellContextMenu?: (\n row: TData,\n cell: Cell<TData, unknown>,\n ) => React.ReactNode;\n focusedRowId?: string | null;\n setFocusedRowId?: (rowId: string | null) => void;\n isInEditMode?: boolean;\n}\n\nfunction TableRowInner<TData extends RowData>({\n row,\n virtualRow,\n onRowClick,\n renderCellContextMenu,\n focusedRowId,\n setFocusedRowId,\n isInEditMode,\n}: TableRowProps<TData>): React.ReactElement {\n const handleClick = useCallback(() => {\n setFocusedRowId?.(row.id);\n\n if (!isInEditMode) {\n onRowClick?.(row.original);\n }\n }, [isInEditMode, onRowClick, row.original, row.id, setFocusedRowId]);\n\n return (\n <tr\n data-selected={row.getIsSelected()}\n data-focused={focusedRowId === row.id}\n className={styles.osdkTableRow}\n style={{\n height: `${virtualRow.size}px`,\n transform: `translateY(${virtualRow.start}px)`,\n }}\n onClick={handleClick}\n >\n {row.getVisibleCells().map((cell) => (\n <TableCell\n key={cell.id}\n cell={cell}\n renderCellContextMenu={renderCellContextMenu}\n />\n ))}\n </tr>\n );\n}\n\nexport const TableRow = React.memo(\n TableRowInner,\n) as typeof TableRowInner;\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA,OAAOA,KAAK,IAAIC,WAAW,QAAQ,OAAO;AAC1C,SAASC,SAAS,QAAQ,gBAAgB;AAC1C,OAAOC,MAAM,MAAM,uBAAuB;AAe1C,SAASC,aAAaA,CAAwB;EAC5CC,GAAG;EACHC,UAAU;EACVC,UAAU;EACVC,qBAAqB;EACrBC,YAAY;EACZC,eAAe;EACfC;AACoB,CAAC,EAAsB;EAC3C,MAAMC,WAAW,GAAGX,WAAW,CAAC,MAAM;IACpCS,eAAe,GAAGL,GAAG,CAACQ,EAAE,CAAC;IAEzB,IAAI,CAACF,YAAY,EAAE;MACjBJ,UAAU,GAAGF,GAAG,CAACS,QAAQ,CAAC;IAC5B;EACF,CAAC,EAAE,CAACH,YAAY,EAAEJ,UAAU,EAAEF,GAAG,CAACS,QAAQ,EAAET,GAAG,CAACQ,EAAE,EAAEH,eAAe,CAAC,CAAC;EAErE,oBACEV,KAAA,CAAAe,aAAA;IACE,iBAAeV,GAAG,CAACW,aAAa,CAAC,CAAE;IACnC,gBAAcP,YAAY,KAAKJ,GAAG,CAACQ,EAAG;IACtCI,SAAS,EAAEd,MAAM,CAACe,YAAa;IAC/BC,KAAK,EAAE;MACLC,MAAM,EAAE,GAAGd,UAAU,CAACe,IAAI,IAAI;MAC9BC,SAAS,EAAE,cAAchB,UAAU,CAACiB,KAAK;IAC3C,CAAE;IACFC,OAAO,EAAEZ;EAAY,GAEpBP,GAAG,CAACoB,eAAe,CAAC,CAAC,CAACC,GAAG,CAAEC,IAAI,iBAC9B3B,KAAA,CAAAe,aAAA,CAACb,SAAS;IACR0B,GAAG,EAAED,IAAI,CAACd,EAAG;IACbc,IAAI,EAAEA,IAAK;IACXnB,qBAAqB,EAAEA;EAAsB,CAC9C,CACF,CACC,CAAC;AAET;AAEA,OAAO,MAAMqB,QAAQ,gBAAG7B,KAAK,CAAC8B,IAAI,CAChC1B,aACF,CAAyB","ignoreList":[]}
1
+ {"version":3,"file":"TableRow.js","names":["React","useCallback","TableCell","styles","TableRow","row","virtualRow","onRowClick","renderCellContextMenu","focusedRowId","setFocusedRowId","isInEditMode","handleClick","id","original","createElement","getIsSelected","className","osdkTableRow","style","height","size","transform","start","onClick","getVisibleCells","map","cell","key"],"sources":["TableRow.tsx"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { Cell, Row, RowData } from \"@tanstack/react-table\";\nimport type { VirtualItem } from \"@tanstack/react-virtual\";\nimport React, { useCallback } from \"react\";\nimport { TableCell } from \"./TableCell.js\";\nimport styles from \"./TableRow.module.css\";\n\ninterface TableRowProps<TData extends RowData> {\n row: Row<TData>;\n virtualRow: VirtualItem;\n onRowClick?: (row: TData) => void;\n renderCellContextMenu?: (\n row: TData,\n cell: Cell<TData, unknown>,\n ) => React.ReactNode;\n focusedRowId?: string | null;\n setFocusedRowId?: (rowId: string | null) => void;\n isInEditMode?: boolean;\n}\n\nexport function TableRow<TData extends RowData>({\n row,\n virtualRow,\n onRowClick,\n renderCellContextMenu,\n focusedRowId,\n setFocusedRowId,\n isInEditMode,\n}: TableRowProps<TData>): React.ReactElement {\n const handleClick = useCallback(() => {\n setFocusedRowId?.(row.id);\n\n if (!isInEditMode) {\n onRowClick?.(row.original);\n }\n }, [isInEditMode, onRowClick, row.original, row.id, setFocusedRowId]);\n\n return (\n <tr\n data-selected={row.getIsSelected()}\n data-focused={focusedRowId === row.id}\n className={styles.osdkTableRow}\n style={{\n height: `${virtualRow.size}px`,\n transform: `translateY(${virtualRow.start}px)`,\n }}\n onClick={handleClick}\n >\n {row.getVisibleCells().map((cell) => (\n <TableCell\n key={cell.id}\n cell={cell}\n renderCellContextMenu={renderCellContextMenu}\n />\n ))}\n </tr>\n );\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA,OAAOA,KAAK,IAAIC,WAAW,QAAQ,OAAO;AAC1C,SAASC,SAAS,QAAQ,gBAAgB;AAC1C,OAAOC,MAAM,MAAM,uBAAuB;AAe1C,OAAO,SAASC,QAAQA,CAAwB;EAC9CC,GAAG;EACHC,UAAU;EACVC,UAAU;EACVC,qBAAqB;EACrBC,YAAY;EACZC,eAAe;EACfC;AACoB,CAAC,EAAsB;EAC3C,MAAMC,WAAW,GAAGX,WAAW,CAAC,MAAM;IACpCS,eAAe,GAAGL,GAAG,CAACQ,EAAE,CAAC;IAEzB,IAAI,CAACF,YAAY,EAAE;MACjBJ,UAAU,GAAGF,GAAG,CAACS,QAAQ,CAAC;IAC5B;EACF,CAAC,EAAE,CAACH,YAAY,EAAEJ,UAAU,EAAEF,GAAG,CAACS,QAAQ,EAAET,GAAG,CAACQ,EAAE,EAAEH,eAAe,CAAC,CAAC;EAErE,oBACEV,KAAA,CAAAe,aAAA;IACE,iBAAeV,GAAG,CAACW,aAAa,CAAC,CAAE;IACnC,gBAAcP,YAAY,KAAKJ,GAAG,CAACQ,EAAG;IACtCI,SAAS,EAAEd,MAAM,CAACe,YAAa;IAC/BC,KAAK,EAAE;MACLC,MAAM,EAAE,GAAGd,UAAU,CAACe,IAAI,IAAI;MAC9BC,SAAS,EAAE,cAAchB,UAAU,CAACiB,KAAK;IAC3C,CAAE;IACFC,OAAO,EAAEZ;EAAY,GAEpBP,GAAG,CAACoB,eAAe,CAAC,CAAC,CAACC,GAAG,CAAEC,IAAI,iBAC9B3B,KAAA,CAAAe,aAAA,CAACb,SAAS;IACR0B,GAAG,EAAED,IAAI,CAACd,EAAG;IACbc,IAAI,EAAEA,IAAK;IACXnB,qBAAqB,EAAEA;EAAsB,CAC9C,CACF,CACC,CAAC;AAET","ignoreList":[]}
@@ -482,7 +482,7 @@
482
482
 
483
483
  .DraggableList-module__dragHandle___Ds-CeRi4 {
484
484
  display: flex;
485
- cursor: grab;
485
+ cursor: var(--osdk-drag-handle-cursor);
486
486
  color: var(--osdk-draggable-item-drag-icon-color);
487
487
 
488
488
  &:hover {
@@ -490,7 +490,7 @@
490
490
  }
491
491
 
492
492
  &:active {
493
- cursor: grabbing;
493
+ cursor: var(--osdk-drag-handle-cursor-active);
494
494
  }
495
495
 
496
496
  &:focus {
@@ -940,6 +940,12 @@
940
940
  font-size: var(--osdk-filter-list-empty-font-size);
941
941
  }
942
942
 
943
+ .FilterListContent-module__dragOverlay___Tjd1YpmI {
944
+ box-shadow: var(--osdk-filter-item-drag-overlay-shadow);
945
+ border-radius: var(--osdk-filter-item-drag-overlay-border-radius);
946
+ background: var(--osdk-filter-item-drag-overlay-bg);
947
+ }
948
+
943
949
 
944
950
  /* filter-list/base/FilterListHeader.module.css */
945
951
  /*
@@ -1111,6 +1117,38 @@
1111
1117
  flex-direction: column;
1112
1118
  }
1113
1119
 
1120
+ .FilterListItem-module__dragHandle___BwFrILWs {
1121
+ display: flex;
1122
+ align-items: center;
1123
+ justify-content: center;
1124
+ padding: var(--osdk-filter-item-drag-handle-padding);
1125
+ margin-right: var(--osdk-surface-spacing);
1126
+ border: none;
1127
+ background: var(--osdk-filter-item-drag-handle-bg);
1128
+ cursor: var(--osdk-drag-handle-cursor);
1129
+ border-radius: var(--osdk-filter-item-drag-handle-border-radius);
1130
+ color: var(--osdk-filter-item-drag-handle-color);
1131
+ touch-action: none;
1132
+
1133
+ &:hover {
1134
+ color: var(--osdk-filter-item-drag-handle-color-hover);
1135
+ background: var(--osdk-filter-item-drag-handle-bg-hover);
1136
+ }
1137
+
1138
+ &:active {
1139
+ cursor: var(--osdk-drag-handle-cursor-active);
1140
+ }
1141
+
1142
+ &:focus-visible {
1143
+ outline: 2px solid var(--osdk-filter-item-drag-handle-focus-outline-color);
1144
+ outline-offset: 2px;
1145
+ }
1146
+ }
1147
+
1148
+ .FilterListItem-module__dragging___S5-LGyfS {
1149
+ opacity: var(--osdk-filter-item-dragging-opacity);
1150
+ }
1151
+
1114
1152
 
1115
1153
  /* filter-list/base/inputs/CheckboxListInput.module.css */
1116
1154
  /*