@object-ui/fields 4.0.1 → 4.0.4

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 (32) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/dist/index.cjs +3 -3
  3. package/dist/index.js +574 -574
  4. package/package.json +7 -7
  5. package/dist/dist-BoLAKgtw.cjs +0 -1
  6. package/dist/dist-qtNk7SzD.js +0 -32
  7. package/dist/packages/fields/src/__tests__/boolean-checkbox.test.d.ts +0 -0
  8. package/dist/packages/fields/src/__tests__/cell-renderers.test.d.ts +0 -0
  9. package/dist/packages/fields/src/__tests__/datetime-cell.test.d.ts +0 -0
  10. package/dist/packages/fields/src/__tests__/datetime-timezone.test.d.ts +0 -0
  11. package/dist/packages/fields/src/__tests__/extreme-inputs.test.d.ts +0 -0
  12. package/dist/packages/fields/src/__tests__/form-variants.test.d.ts +0 -0
  13. package/dist/packages/fields/src/lookup-depends-on.test.d.ts +0 -1
  14. package/dist/packages/fields/src/new-widgets.test.d.ts +0 -8
  15. package/dist/packages/fields/src/record-picker.test.d.ts +0 -1
  16. package/dist/packages/fields/src/remaining-widgets.test.d.ts +0 -1
  17. package/dist/packages/fields/src/text-rich-widgets.test.d.ts +0 -1
  18. package/dist/packages/fields/src/visual-widgets.test.d.ts +0 -1
  19. package/src/__tests__/boolean-checkbox.test.tsx +0 -74
  20. package/src/__tests__/cell-renderers.test.tsx +0 -1193
  21. package/src/__tests__/datetime-cell.test.tsx +0 -46
  22. package/src/__tests__/datetime-timezone.test.tsx +0 -770
  23. package/src/__tests__/extreme-inputs.test.tsx +0 -567
  24. package/src/__tests__/form-variants.test.tsx +0 -306
  25. package/src/lookup-depends-on.test.tsx +0 -130
  26. package/src/new-widgets.test.tsx +0 -302
  27. package/src/record-picker.test.tsx +0 -1703
  28. package/src/remaining-widgets.test.tsx +0 -211
  29. package/src/text-rich-widgets.test.tsx +0 -104
  30. package/src/visual-widgets.test.tsx +0 -97
  31. /package/dist/{ImageCropperDialog-DXLQcwWZ.cjs → ImageCropperDialog-CK1apFXU.cjs} +0 -0
  32. /package/dist/{ImageCropperDialog-BYRMqcYm.js → ImageCropperDialog-DNvktnyM.js} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@object-ui/fields",
3
- "version": "4.0.1",
3
+ "version": "4.0.4",
4
4
  "description": "Field renderers and registry for Object UI",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -27,12 +27,12 @@
27
27
  "clsx": "^2.1.1",
28
28
  "lucide-react": "^1.14.0",
29
29
  "tailwind-merge": "^3.5.0",
30
- "@object-ui/components": "4.0.1",
31
- "@object-ui/core": "4.0.1",
32
- "@object-ui/i18n": "4.0.1",
33
- "@object-ui/providers": "4.0.1",
34
- "@object-ui/react": "4.0.1",
35
- "@object-ui/types": "4.0.1"
30
+ "@object-ui/components": "4.0.4",
31
+ "@object-ui/core": "4.0.4",
32
+ "@object-ui/i18n": "4.0.4",
33
+ "@object-ui/providers": "4.0.4",
34
+ "@object-ui/react": "4.0.4",
35
+ "@object-ui/types": "4.0.4"
36
36
  },
37
37
  "peerDependencies": {
38
38
  "react": "^18.0.0 || ^19.0.0",
@@ -1 +0,0 @@
1
- require(`./chunk-D-qHiVGv.cjs`);let e=require(`react`);require(`react/jsx-runtime`),(0,e.createContext)(null),(0,e.createContext)(null),(0,e.createContext)(null);var t=(0,e.createContext)(null);function n(){return{name:`object-url`,async upload(e){let t=e,n=`name`in t&&t.name||`upload`;return{url:URL.createObjectURL(e),name:n,size:e.size,mimeType:e.type||`application/octet-stream`}}}}function r(){let r=(0,e.useContext)(t),i=(0,e.useMemo)(()=>{let e=n();return{upload:(t,n)=>e.upload(t,n),adapter:e}},[]);return r??i}Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return r}});
@@ -1,32 +0,0 @@
1
- import { createContext as e, useContext as t, useMemo as n } from "react";
2
- import "react/jsx-runtime";
3
- e(null), e(null), e(null);
4
- //#endregion
5
- //#region ../providers/dist/UploadProvider.js
6
- var r = e(null);
7
- function i() {
8
- return {
9
- name: "object-url",
10
- async upload(e) {
11
- let t = e, n = "name" in t && t.name || "upload";
12
- return {
13
- url: URL.createObjectURL(e),
14
- name: n,
15
- size: e.size,
16
- mimeType: e.type || "application/octet-stream"
17
- };
18
- }
19
- };
20
- }
21
- function a() {
22
- let e = t(r), a = n(() => {
23
- let e = i();
24
- return {
25
- upload: (t, n) => e.upload(t, n),
26
- adapter: e
27
- };
28
- }, []);
29
- return e ?? a;
30
- }
31
- //#endregion
32
- export { a as t };
@@ -1 +0,0 @@
1
- export {};
@@ -1,8 +0,0 @@
1
- /**
2
- * ObjectUI
3
- * Copyright (c) 2024-present ObjectStack Inc.
4
- *
5
- * This source code is licensed under the MIT license found in the
6
- * LICENSE file in the root directory of this source tree.
7
- */
8
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1,74 +0,0 @@
1
- /**
2
- * BooleanCellRenderer Checkbox Tests
3
- *
4
- * Tests for the Airtable-style checkbox boolean cell renderer.
5
- */
6
- import { describe, it, expect } from 'vitest';
7
- import React from 'react';
8
- import { render, screen } from '@testing-library/react';
9
- import '@testing-library/jest-dom';
10
- import { BooleanCellRenderer } from '../index';
11
-
12
- describe('BooleanCellRenderer', () => {
13
- it('should render a checked checkbox for true values', () => {
14
- render(
15
- <BooleanCellRenderer
16
- value={true}
17
- field={{ name: 'active', type: 'boolean' } as any}
18
- />
19
- );
20
-
21
- const checkbox = screen.getByRole('checkbox');
22
- expect(checkbox).toBeInTheDocument();
23
- expect(checkbox).toHaveAttribute('data-state', 'checked');
24
- });
25
-
26
- it('should render an unchecked checkbox for false values (non-status field)', () => {
27
- render(
28
- <BooleanCellRenderer
29
- value={false}
30
- field={{ name: 'flagged', type: 'boolean' } as any}
31
- />
32
- );
33
-
34
- const checkbox = screen.getByRole('checkbox');
35
- expect(checkbox).toBeInTheDocument();
36
- expect(checkbox).toHaveAttribute('data-state', 'unchecked');
37
- });
38
-
39
- it('should render warning badge for active=false', () => {
40
- const { container } = render(
41
- <BooleanCellRenderer
42
- value={false}
43
- field={{ name: 'active', type: 'boolean', label: 'Active' } as any}
44
- />
45
- );
46
-
47
- const badge = container.querySelector('[data-testid="boolean-warning-badge"]');
48
- expect(badge).toBeInTheDocument();
49
- expect(badge?.textContent).toContain('Off');
50
- });
51
-
52
- it('should render dash for null/undefined values', () => {
53
- render(
54
- <BooleanCellRenderer
55
- value={null}
56
- field={{ name: 'active', type: 'boolean' } as any}
57
- />
58
- );
59
-
60
- expect(screen.getByText('—')).toBeInTheDocument();
61
- });
62
-
63
- it('should render checkbox as disabled (non-interactive)', () => {
64
- render(
65
- <BooleanCellRenderer
66
- value={true}
67
- field={{ name: 'active', type: 'boolean' } as any}
68
- />
69
- );
70
-
71
- const checkbox = screen.getByRole('checkbox');
72
- expect(checkbox).toBeDisabled();
73
- });
74
- });