@koobiq/react-components 0.0.1-beta.26 → 0.0.1-beta.28

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.
@@ -1,10 +1,7 @@
1
- import type { TextFieldProps, TextFieldRef } from '@koobiq/react-primitives';
2
- export type FieldControlProps = TextFieldProps & {
1
+ import type { ComponentPropsWithRef, ElementType } from 'react';
2
+ export type FieldControlBaseProps = {
3
3
  fullWidth?: boolean;
4
4
  className?: string;
5
5
  };
6
- export type FieldControlRef = TextFieldRef;
7
- export declare const FieldControl: import("react").ForwardRefExoticComponent<Omit<import("@koobiq/react-primitives").UseTextFieldProps, keyof import("@koobiq/react-primitives").RenderProps<import("@koobiq/react-primitives").TextFieldRenderProps>> & import("@koobiq/react-primitives").RenderProps<import("@koobiq/react-primitives").TextFieldRenderProps> & {
8
- fullWidth?: boolean;
9
- className?: string;
10
- } & import("react").RefAttributes<HTMLDivElement>>;
6
+ export declare const FieldControl: import("@koobiq/react-core").PolyForwardComponent<"div", FieldControlBaseProps, ElementType>;
7
+ export type FieldControlProps<As extends ElementType = 'div'> = ComponentPropsWithRef<typeof FieldControl<As>>;
@@ -1,16 +1,13 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
- import { forwardRef } from "react";
3
- import { clsx } from "@koobiq/react-core";
4
- import { TextField } from "@koobiq/react-primitives";
2
+ import { polymorphicForwardRef, clsx } from "@koobiq/react-core";
5
3
  import s from "./FieldControl.module.css.js";
6
- const FieldControl = forwardRef(
7
- ({ fullWidth = false, children, className, ...other }, ref) => /* @__PURE__ */ jsx(
8
- TextField,
4
+ const FieldControl = polymorphicForwardRef(
5
+ ({ fullWidth = false, className, as: Tag = "div", ...other }, ref) => /* @__PURE__ */ jsx(
6
+ Tag,
9
7
  {
10
8
  className: clsx(s.base, fullWidth && s.fullWidth, className),
11
9
  ...other,
12
- ref,
13
- children
10
+ ref
14
11
  }
15
12
  )
16
13
  );
@@ -1,5 +1,5 @@
1
1
  import type { ComponentPropsWithRef } from 'react';
2
- import type { InputPropVariant } from '../../Input/types';
2
+ import type { InputPropVariant } from '../../Input';
3
3
  export type FieldInputBaseProps = {
4
4
  error?: boolean;
5
5
  disabled?: boolean;
@@ -1,5 +1,4 @@
1
1
  export * from './FieldControl';
2
- export * from './FieldNumberControl';
3
2
  export * from './FieldInput';
4
3
  export * from './FieldSelect';
5
4
  export * from './FieldLabel';
@@ -2,6 +2,7 @@
2
2
  import { jsx, jsxs, Fragment } from "react/jsx-runtime";
3
3
  import { forwardRef } from "react";
4
4
  import { useDOMRef, mergeProps } from "@koobiq/react-core";
5
+ import { TextField } from "@koobiq/react-primitives";
5
6
  import { FieldControl } from "../FieldComponents/FieldControl/FieldControl.js";
6
7
  import { FieldLabel } from "../FieldComponents/FieldLabel/FieldLabel.js";
7
8
  import { FieldInputGroup } from "../FieldComponents/FieldInputGroup/FieldInputGroup.js";
@@ -32,7 +33,7 @@ const Input = forwardRef((props, ref) => {
32
33
  },
33
34
  other
34
35
  );
35
- return /* @__PURE__ */ jsx(FieldControl, { ...rootProps, children: ({ error, required, disabled }) => {
36
+ return /* @__PURE__ */ jsx(FieldControl, { as: TextField, ...rootProps, children: ({ error, required, disabled }) => {
36
37
  const labelProps = mergeProps(
37
38
  { hidden: hiddenLabel, required },
38
39
  slotProps?.label
@@ -2,8 +2,9 @@
2
2
  import { jsx, jsxs, Fragment } from "react/jsx-runtime";
3
3
  import { forwardRef } from "react";
4
4
  import { useDOMRef, mergeProps } from "@koobiq/react-core";
5
- import { FieldNumberControl } from "../FieldComponents/FieldNumberControl/FieldNumberControl.js";
5
+ import { NumberField } from "@koobiq/react-primitives";
6
6
  import { InputNumberCounterControls } from "./components/InputNumberCounterControls.js";
7
+ import { FieldControl } from "../FieldComponents/FieldControl/FieldControl.js";
7
8
  import { FieldLabel } from "../FieldComponents/FieldLabel/FieldLabel.js";
8
9
  import { FieldInputGroup } from "../FieldComponents/FieldInputGroup/FieldInputGroup.js";
9
10
  import { FieldInput } from "../FieldComponents/FieldInput/FieldInput.js";
@@ -34,7 +35,7 @@ const InputNumber = forwardRef(
34
35
  },
35
36
  other
36
37
  );
37
- return /* @__PURE__ */ jsx(FieldNumberControl, { ...rootProps, children: ({ error, required, disabled }) => {
38
+ return /* @__PURE__ */ jsx(FieldControl, { as: NumberField, ...rootProps, children: ({ error, required, disabled }) => {
38
39
  const labelProps = mergeProps(
39
40
  { hidden: hiddenLabel, required },
40
41
  slotProps?.label
@@ -15,7 +15,7 @@ const InputNumberCounterControls = () => {
15
15
  slot: "increment",
16
16
  variant: "fade-contrast",
17
17
  size: "l",
18
- compact: true,
18
+ isCompact: true,
19
19
  children: /* @__PURE__ */ jsx(IconChevronUp16, {})
20
20
  }
21
21
  ),
@@ -26,7 +26,7 @@ const InputNumberCounterControls = () => {
26
26
  slot: "decrement",
27
27
  variant: "fade-contrast",
28
28
  size: "l",
29
- compact: true,
29
+ isCompact: true,
30
30
  children: /* @__PURE__ */ jsx(IconChevronDown16, {})
31
31
  }
32
32
  )
@@ -7,6 +7,7 @@ import s from "./Select.module.css.js";
7
7
  import { FieldSelect } from "../FieldComponents/FieldSelect/FieldSelect.js";
8
8
  import { PopoverInner } from "../Popover/Popover.js";
9
9
  import { ListInner } from "../List/List.js";
10
+ import { FieldControl } from "../FieldComponents/FieldControl/FieldControl.js";
10
11
  import { FieldLabel } from "../FieldComponents/FieldLabel/FieldLabel.js";
11
12
  import { FieldInputGroup } from "../FieldComponents/FieldInputGroup/FieldInputGroup.js";
12
13
  import { FieldCaption } from "../FieldComponents/FieldCaption/FieldCaption.js";
@@ -150,7 +151,7 @@ function SelectRender(props, ref) {
150
151
  const renderDefaultValue = (selectedItem) => selectedItem?.rendered;
151
152
  const renderValue = renderValueProp || renderDefaultValue;
152
153
  return /* @__PURE__ */ jsxs(Fragment, { children: [
153
- /* @__PURE__ */ jsxs("div", { ...rootProps, children: [
154
+ /* @__PURE__ */ jsxs(FieldControl, { ...rootProps, children: [
154
155
  /* @__PURE__ */ jsx(FieldLabel, { ...labelProps, children: props.label }),
155
156
  /* @__PURE__ */ jsx(
156
157
  HiddenSelect,
@@ -22,7 +22,6 @@ const textNormal = utilClasses.typography["text-normal"];
22
22
  function TableRender(props, ref) {
23
23
  const {
24
24
  stickyHeader = false,
25
- fullWidth = false,
26
25
  divider = "none",
27
26
  slotProps,
28
27
  selectionMode,
@@ -49,14 +48,8 @@ function TableRender(props, ref) {
49
48
  const { ref: theadRef, height } = useElementSize();
50
49
  const containerProps = mergeProps(
51
50
  {
52
- className: clsx(
53
- s.container,
54
- fullWidth && s.fullWidth,
55
- textNormal,
56
- className
57
- ),
51
+ className: clsx(s.container, textNormal, className),
58
52
  "data-divider": divider,
59
- "data-fullwidth": fullWidth,
60
53
  "data-sticky-header": stickyHeader,
61
54
  style: {
62
55
  ...styleProp,
@@ -1,14 +1,11 @@
1
1
  const container = "kbq-table-container-ecbaa4";
2
- const fullWidth = "kbq-table-fullWidth-419d42";
3
2
  const base = "kbq-table-55e555";
4
3
  const s = {
5
4
  container,
6
- fullWidth,
7
5
  base
8
6
  };
9
7
  export {
10
8
  base,
11
9
  container,
12
- s as default,
13
- fullWidth
10
+ s as default
14
11
  };
@@ -43,11 +43,6 @@ export type TableProps<T> = ExtendableComponentPropsWithRef<{
43
43
  * @default none
44
44
  */
45
45
  divider?: TablePropDivider;
46
- /**
47
- * If `true`, the table will take up the full width of its container.
48
- * @default false
49
- * */
50
- fullWidth?: boolean;
51
46
  /**
52
47
  * Flag indicating a fixed table header.
53
48
  * @default false
@@ -2,6 +2,7 @@
2
2
  import { jsx } from "react/jsx-runtime";
3
3
  import { forwardRef } from "react";
4
4
  import { mergeProps } from "@koobiq/react-core";
5
+ import { TextField } from "@koobiq/react-primitives";
5
6
  import { TextareaContextConsumer } from "./components/TextareaContextConsumer/TextareaContextConsumer.js";
6
7
  import { FieldControl } from "../FieldComponents/FieldControl/FieldControl.js";
7
8
  const Textarea = forwardRef((props, ref) => {
@@ -28,7 +29,7 @@ const Textarea = forwardRef((props, ref) => {
28
29
  },
29
30
  other
30
31
  );
31
- return /* @__PURE__ */ jsx(FieldControl, { inputElementType: "textarea", ...rootProps, children: (values) => /* @__PURE__ */ jsx(
32
+ return /* @__PURE__ */ jsx(FieldControl, { as: TextField, inputElementType: "textarea", ...rootProps, children: (values) => /* @__PURE__ */ jsx(
32
33
  TextareaContextConsumer,
33
34
  {
34
35
  ...values,
@@ -33,3 +33,4 @@ export * from './Table';
33
33
  export * from './Calendar';
34
34
  export * from './layout';
35
35
  export { useListData } from '@koobiq/react-primitives';
36
+ export { useRouter, RouterProvider } from '@koobiq/react-primitives';
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /* empty css */
2
- import { useListData, useLocale } from "@koobiq/react-primitives";
2
+ import { RouterProvider, useListData, useLocale, useRouter } from "@koobiq/react-primitives";
3
3
  import { Provider, defaultBreakpoints } from "./components/Provider/Provider.js";
4
4
  import { BreakpointsProvider } from "./components/Provider/BreakpointsProvider.js";
5
5
  import { ProviderContext, useProvider } from "./components/Provider/ProviderContext.js";
@@ -119,6 +119,7 @@ export {
119
119
  RadioGroupContext,
120
120
  RadioGroupDescription,
121
121
  RadioGroupLabel,
122
+ RouterProvider,
122
123
  Select,
123
124
  SidePanel,
124
125
  SidePanelContent,
@@ -190,5 +191,6 @@ export {
190
191
  useLocale,
191
192
  useMatchedBreakpoints,
192
193
  useProvider,
193
- useRadioGroupState
194
+ useRadioGroupState,
195
+ useRouter
194
196
  };
package/dist/style.css CHANGED
@@ -2135,21 +2135,6 @@
2135
2135
  resize: block;
2136
2136
  overflow: auto;
2137
2137
  }
2138
- .kbq-fieldnumbercontrol-9b0b2d {
2139
- --field-input-padding-inline-start: var(--kbq-size-m);
2140
- --field-input-padding-inline-end: var(--kbq-size-m);
2141
- --field-input-padding-block-start: var(--kbq-size-xs);
2142
- --field-input-padding-block-end: var(--kbq-size-xs);
2143
- flex-direction: column;
2144
- justify-content: center;
2145
- align-items: flex-start;
2146
- display: flex;
2147
- position: relative;
2148
- }
2149
-
2150
- .kbq-fieldnumbercontrol-fullWidth-d20d89 {
2151
- inline-size: 100%;
2152
- }
2153
2138
  .kbq-inputnumbercountercontrols-77ed13 {
2154
2139
  opacity: 0;
2155
2140
  visibility: hidden;
@@ -3469,10 +3454,6 @@
3469
3454
  scroll-padding-block-start: var(--table-container-scroll-padding-top);
3470
3455
  }
3471
3456
 
3472
- .kbq-table-fullWidth-419d42 .kbq-table-55e555 {
3473
- inline-size: 100%;
3474
- }
3475
-
3476
3457
  [data-divider="none"] tbody td:first-child {
3477
3458
  border-start-start-radius: var(--kbq-size-s);
3478
3459
  border-end-start-radius: var(--kbq-size-s);
@@ -3519,6 +3500,7 @@
3519
3500
 
3520
3501
  .kbq-table-55e555 {
3521
3502
  border-spacing: 0;
3503
+ inline-size: 100%;
3522
3504
  }
3523
3505
 
3524
3506
  [aria-multiselectable="true"] tbody tr:is([data-selected="true"], [data-focus-visible="true"]):has( + :is([data-selected="true"], [data-focus-visible="true"])) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@koobiq/react-components",
3
- "version": "0.0.1-beta.26",
3
+ "version": "0.0.1-beta.28",
4
4
  "main": "./dist/index.js",
5
5
  "types": "./dist/index.d.ts",
6
6
  "exports": {
@@ -27,10 +27,10 @@
27
27
  "@koobiq/design-tokens": "^3.12.1",
28
28
  "@types/react-transition-group": "^4.4.12",
29
29
  "react-transition-group": "^4.4.5",
30
- "@koobiq/logger": "0.0.1-beta.26",
31
- "@koobiq/react-icons": "0.0.1-beta.26",
32
- "@koobiq/react-core": "0.0.1-beta.26",
33
- "@koobiq/react-primitives": "0.0.1-beta.26"
30
+ "@koobiq/logger": "0.0.1-beta.28",
31
+ "@koobiq/react-core": "0.0.1-beta.28",
32
+ "@koobiq/react-icons": "0.0.1-beta.28",
33
+ "@koobiq/react-primitives": "0.0.1-beta.28"
34
34
  },
35
35
  "peerDependencies": {
36
36
  "@koobiq/design-tokens": "^3.11.2",
@@ -1,18 +0,0 @@
1
- import { jsx } from "react/jsx-runtime";
2
- import { forwardRef } from "react";
3
- import { clsx } from "@koobiq/react-core";
4
- import { NumberField } from "@koobiq/react-primitives";
5
- import s from "./FieldNumberControl.module.css.js";
6
- const FieldNumberControl = forwardRef(({ fullWidth = false, children, className, ...other }, ref) => /* @__PURE__ */ jsx(
7
- NumberField,
8
- {
9
- className: clsx(s.base, fullWidth && s.fullWidth, className),
10
- ...other,
11
- ref,
12
- children
13
- }
14
- ));
15
- FieldNumberControl.displayName = "FieldNumberControl";
16
- export {
17
- FieldNumberControl
18
- };
@@ -1,11 +0,0 @@
1
- const base = "kbq-fieldnumbercontrol-9b0b2d";
2
- const fullWidth = "kbq-fieldnumbercontrol-fullWidth-d20d89";
3
- const s = {
4
- base,
5
- fullWidth
6
- };
7
- export {
8
- base,
9
- s as default,
10
- fullWidth
11
- };