@oneplatformdev/ui 0.1.10-100 → 0.1.10-101

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/CHANGELOG.md CHANGED
@@ -1,3 +1,11 @@
1
+ ## 0.1.10-101 (2025-12-03)
2
+
3
+ ### 🧱 Updated Dependencies
4
+
5
+ - Updated @oneplatformdev/utils to 0.1.1-150
6
+ - Updated @oneplatformdev/hooks to 0.1.0-136
7
+ - Updated @oneplatformdev/tokens to 0.0.1-123
8
+
1
9
  ## 0.1.10-100 (2025-12-03)
2
10
 
3
11
  ### 🧱 Updated Dependencies
@@ -1 +1 @@
1
- {"version":3,"file":"FormSelect.d.ts","sourceRoot":"","sources":["../../src/FormSelect/FormSelect.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAG9C,eAAO,MAAM,UAAU,GAAI,IAAI,SAAS,WAAW,EAAE,gBAAgB,EACnE,OAAO,eAAe,CAAC,IAAI,EAAE,gBAAgB,CAAC,4CAuC/C,CAAC"}
1
+ {"version":3,"file":"FormSelect.d.ts","sourceRoot":"","sources":["../../src/FormSelect/FormSelect.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAG9C,eAAO,MAAM,UAAU,GAAI,IAAI,SAAS,WAAW,EAAE,gBAAgB,EACnE,OAAO,eAAe,CAAC,IAAI,EAAE,gBAAgB,CAAC,4CAyC/C,CAAC"}
@@ -1,38 +1,40 @@
1
- import { jsx as o } from "react/jsx-runtime";
2
- import { FormControl as h } from "../Form/Form.js";
3
- import { FormRenderControl as C } from "../Form/FormRenderControl.js";
1
+ import { jsx as e } from "react/jsx-runtime";
2
+ import { FormControl as C } from "../Form/Form.js";
3
+ import { FormRenderControl as d } from "../Form/FormRenderControl.js";
4
4
  import "@radix-ui/react-select";
5
5
  import "lucide-react";
6
6
  import "@oneplatformdev/utils";
7
- import { Select as d } from "../Select/Select.js";
8
- const j = (t) => {
7
+ import { Select as f } from "../Select/Select.js";
8
+ const j = (m) => {
9
9
  const {
10
- form: m,
11
- label: i,
12
- name: p,
10
+ form: i,
11
+ label: p,
12
+ name: a,
13
13
  options: g = [],
14
- onChange: a,
15
- containerProps: c,
14
+ onChange: c,
15
+ containerProps: s,
16
16
  renderTrigger: l,
17
- ...s
18
- } = t;
19
- return /* @__PURE__ */ o(
20
- C,
17
+ onChangePrepare: n,
18
+ ...h
19
+ } = m;
20
+ return /* @__PURE__ */ e(
21
+ d,
21
22
  {
22
- form: m,
23
- name: p,
24
- label: i,
25
- containerProps: c,
26
- render: ({ field: e }) => /* @__PURE__ */ o(
27
- d,
23
+ form: i,
24
+ name: a,
25
+ label: p,
26
+ containerProps: s,
27
+ render: ({ field: t }) => /* @__PURE__ */ e(
28
+ f,
28
29
  {
29
- value: e.value,
30
+ value: t.value,
30
31
  options: g,
31
32
  onChange: (r) => {
32
- e.onChange(r), a?.(r);
33
+ const o = n ? n(r) : r;
34
+ t.onChange(o), c?.(r, o);
33
35
  },
34
- renderTrigger: (r, n) => /* @__PURE__ */ o(h, { children: l?.(r, n) || n }),
35
- ...s
36
+ renderTrigger: (r, o) => /* @__PURE__ */ e(C, { children: l?.(r, o) || o }),
37
+ ...h
36
38
  }
37
39
  )
38
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"FormSelect.js","sources":["../../src/FormSelect/FormSelect.tsx"],"sourcesContent":["import { FormControl, FormRenderControl } from '../Form';\nimport { Select } from '../Select';\nimport { FormSelectProps } from './FormSelect.types';\nimport { FieldValues } from 'react-hook-form';\n\n// TODO: add description\nexport const FormSelect = <Data extends FieldValues, ExtendOptionData>(\n props: FormSelectProps<Data, ExtendOptionData>\n) => {\n const {\n form,\n label,\n name,\n options = [],\n onChange,\n containerProps,\n renderTrigger,\n ...rest\n } = props;\n\n return (\n <FormRenderControl\n form={form}\n name={name}\n label={label}\n containerProps={containerProps}\n render={({ field }) => (\n <Select<ExtendOptionData>\n value={field.value}\n options={options}\n onChange={(value) => {\n field.onChange(value);\n onChange?.(value);\n }}\n renderTrigger={(p, defaultComponent) => {\n return (\n <FormControl>\n {renderTrigger?.(p, defaultComponent) || defaultComponent}\n </FormControl>\n )\n }}\n {...rest}\n />\n )}\n />\n );\n};\n"],"names":["FormSelect","props","form","label","name","options","onChange","containerProps","renderTrigger","rest","jsx","FormRenderControl","field","Select","value","p","defaultComponent","FormControl"],"mappings":";;;;;;;AAMO,MAAMA,IAAa,CACxBC,MACG;AACH,QAAM;AAAA,IACJ,MAAAC;AAAA,IACA,OAAAC;AAAA,IACA,MAAAC;AAAA,IACA,SAAAC,IAAU,CAAA;AAAA,IACV,UAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,eAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,IACDR;AAEJ,SACE,gBAAAS;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAAT;AAAA,MACA,MAAAE;AAAA,MACA,OAAAD;AAAA,MACA,gBAAAI;AAAA,MACA,QAAQ,CAAC,EAAE,OAAAK,EAAA,MACT,gBAAAF;AAAA,QAACG;AAAA,QAAA;AAAA,UACC,OAAOD,EAAM;AAAA,UACb,SAAAP;AAAA,UACA,UAAU,CAACS,MAAU;AACnB,YAAAF,EAAM,SAASE,CAAK,GACpBR,IAAWQ,CAAK;AAAA,UAClB;AAAA,UACA,eAAe,CAACC,GAAGC,wBAEdC,GAAA,EACE,UAAAT,IAAgBO,GAAGC,CAAgB,KAAKA,GAC3C;AAAA,UAGH,GAAGP;AAAA,QAAA;AAAA,MAAA;AAAA,IACN;AAAA,EAAA;AAIR;"}
1
+ {"version":3,"file":"FormSelect.js","sources":["../../src/FormSelect/FormSelect.tsx"],"sourcesContent":["import { FormControl, FormRenderControl } from '../Form';\nimport { Select } from '../Select';\nimport { FormSelectProps } from './FormSelect.types';\nimport { FieldValues } from 'react-hook-form';\n\n// TODO: add description\nexport const FormSelect = <Data extends FieldValues, ExtendOptionData>(\n props: FormSelectProps<Data, ExtendOptionData>\n) => {\n const {\n form,\n label,\n name,\n options = [],\n onChange,\n containerProps,\n renderTrigger,\n onChangePrepare,\n ...rest\n } = props;\n\n return (\n <FormRenderControl\n form={form}\n name={name}\n label={label}\n containerProps={containerProps}\n render={({ field }) => (\n <Select<ExtendOptionData>\n value={field.value}\n options={options}\n onChange={(value) => {\n const nextValue = onChangePrepare ? onChangePrepare(value) : value;\n field.onChange(nextValue);\n onChange?.(value, nextValue);\n }}\n renderTrigger={(p, defaultComponent) => {\n return (\n <FormControl>\n {renderTrigger?.(p, defaultComponent) || defaultComponent}\n </FormControl>\n )\n }}\n {...rest}\n />\n )}\n />\n );\n};\n"],"names":["FormSelect","props","form","label","name","options","onChange","containerProps","renderTrigger","onChangePrepare","rest","jsx","FormRenderControl","field","Select","value","nextValue","p","defaultComponent","FormControl"],"mappings":";;;;;;;AAMO,MAAMA,IAAa,CACxBC,MACG;AACH,QAAM;AAAA,IACJ,MAAAC;AAAA,IACA,OAAAC;AAAA,IACA,MAAAC;AAAA,IACA,SAAAC,IAAU,CAAA;AAAA,IACV,UAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,eAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,IACDT;AAEJ,SACE,gBAAAU;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAAV;AAAA,MACA,MAAAE;AAAA,MACA,OAAAD;AAAA,MACA,gBAAAI;AAAA,MACA,QAAQ,CAAC,EAAE,OAAAM,EAAA,MACT,gBAAAF;AAAA,QAACG;AAAA,QAAA;AAAA,UACC,OAAOD,EAAM;AAAA,UACb,SAAAR;AAAA,UACA,UAAU,CAACU,MAAU;AACnB,kBAAMC,IAAYP,IAAkBA,EAAgBM,CAAK,IAAIA;AAC7D,YAAAF,EAAM,SAASG,CAAS,GACxBV,IAAWS,GAAOC,CAAS;AAAA,UAC7B;AAAA,UACA,eAAe,CAACC,GAAGC,wBAEdC,GAAA,EACE,UAAAX,IAAgBS,GAAGC,CAAgB,KAAKA,GAC3C;AAAA,UAGH,GAAGR;AAAA,QAAA;AAAA,MAAA;AAAA,IACN;AAAA,EAAA;AAIR;"}
@@ -1,6 +1,8 @@
1
1
  import { FieldValues } from 'react-hook-form';
2
2
  import { FormRenderControlExtendProps } from '../Form';
3
- import { SelectProps } from '../Select';
4
- export interface FormSelectProps<Data extends FieldValues, ExtendOptionData> extends FormRenderControlExtendProps<Data>, Omit<SelectProps<ExtendOptionData>, 'onChange'>, Partial<Pick<SelectProps<ExtendOptionData>, 'onChange'>> {
3
+ import { SelectOption, SelectProps } from '../Select';
4
+ export interface FormSelectProps<Data extends FieldValues, ExtendOptionData> extends FormRenderControlExtendProps<Data>, Omit<SelectProps<ExtendOptionData>, 'onChange'> {
5
+ onChangePrepare?: <R>(value: SelectOption<ExtendOptionData>['value']) => R;
6
+ onChange?: <R>(value: SelectOption<ExtendOptionData>['value'], preparedValue: R) => void;
5
7
  }
6
8
  //# sourceMappingURL=FormSelect.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FormSelect.types.d.ts","sourceRoot":"","sources":["../../src/FormSelect/FormSelect.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,4BAA4B,EAAE,MAAM,SAAS,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,MAAM,WAAW,eAAe,CAAC,IAAI,SAAS,WAAW,EAAE,gBAAgB,CACzE,SAAQ,4BAA4B,CAAC,IAAI,CAAC,EACxC,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAE,UAAU,CAAC,EAC/C,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAE,UAAU,CAAC,CAAC;CAAG"}
1
+ {"version":3,"file":"FormSelect.types.d.ts","sourceRoot":"","sources":["../../src/FormSelect/FormSelect.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,4BAA4B,EAAE,MAAM,SAAS,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAEtD,MAAM,WAAW,eAAe,CAAC,IAAI,SAAS,WAAW,EAAE,gBAAgB,CACzE,SAAQ,4BAA4B,CAAC,IAAI,CAAC,EACxC,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAE,UAAU,CAAC;IACjD,eAAe,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC3E,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC,KAAK,IAAI,CAAC;CAC1F"}
@@ -1 +1 @@
1
- {"version":3,"file":"Select.js","sources":["../../src/Select/Select.tsx"],"sourcesContent":["import { HTMLAttributes, ReactNode, isValidElement } from 'react';\n\nimport { Button } from '../Button';\nimport {\n SelectContent,\n SelectItem,\n SelectOption,\n SelectProps,\n SelectRoot,\n SelectTrigger,\n SelectValue,\n} from '../Select';\nimport { cn, isValidReactElement } from '@oneplatformdev/utils';\n\nconst RenderSelectTrigger = <ExtendOptionData,>(\n props: SelectProps<ExtendOptionData>\n) => {\n const { placeholder, renderTrigger, slotProps } = props;\n const defaultComponent = (\n <SelectTrigger {...(slotProps?.triggerProps || {})}>\n <SelectValue placeholder={placeholder} />\n </SelectTrigger>\n );\n\n if (Boolean(renderTrigger) && typeof renderTrigger === 'function') {\n return renderTrigger(props, defaultComponent);\n }\n\n return defaultComponent;\n};\n\nconst DefaultRenderSelectOption = <ExtendOptionData,>(\n props: SelectProps<ExtendOptionData> & {\n option: SelectOption<ExtendOptionData>;\n index: number;\n deep?: number;\n child?: ((params: SelectProps<ExtendOptionData> & {\n option: SelectOption<ExtendOptionData>;\n index: number;\n }) => ReactNode) | ReactNode;\n } & Omit<HTMLAttributes<HTMLDivElement>, 'onChange'>\n) => {\n const { children, child, option, deep = 0, className, style = {} } = props;\n\n return (\n <SelectItem\n key={option.value}\n value={option.value ?? ''}\n disabled={option.disabled}\n className={cn('cursor-pointer', className)}\n style={{ paddingLeft: `calc(8px + ${(deep || 0) * 8}px)`, ...(style || {}) }}\n >\n {children}\n {!child && option.label}\n {child && (\n <>\n {typeof child === 'function'\n ? child({ ...props })\n : child\n }\n </>\n )}\n </SelectItem>\n )\n};\n\nconst RenderSelectOption = <ExtendOptionData,>(\n props: SelectProps<ExtendOptionData> & {\n option: SelectOption<ExtendOptionData>;\n index: number;\n deep?: number;\n }\n) => {\n const { renderOption, option, index, options, deep = 0, ...rest } = props;\n if(!renderOption) return <DefaultRenderSelectOption {...props} />;\n if(renderOption && typeof renderOption !== 'function') return <DefaultRenderSelectOption {...props} />;\n if(renderOption && typeof renderOption === 'function') return renderOption(\n option,\n index,\n options,\n { ...rest, options },\n <DefaultRenderSelectOption {...props} />\n )\n\n if(!option.children?.length) {\n return <DefaultRenderSelectOption {...props} />;\n }\n\n return (\n <div\n key={option.value}\n className=\"flex flex-col gap-1 truncate line-clamp-2\"\n >\n <DefaultRenderSelectOption {...props} />\n {option.children?.map((child, idx, arr) => (\n <RenderSelectOption\n {...props}\n key={child.value}\n option={child}\n options={arr}\n index={idx}\n deep={(deep || 0) + 1}\n />\n ))}\n </div>\n )\n};\n\n// TODO: add description\nexport const Select = <ExtendOptionData,>(\n props: SelectProps<ExtendOptionData>\n) => {\n const {\n value,\n options,\n onChange,\n nullable = false,\n clearLabel = 'Clear',\n disabled,\n slotProps,\n } = props;\n\n return (\n <SelectRoot value={value} onValueChange={onChange} disabled={disabled}>\n <RenderSelectTrigger {...props} />\n <SelectContent {...(slotProps?.selectProps || {})}>\n {nullable && (\n <Button\n className=\"w-full px-2\"\n variant=\"secondary\"\n size=\"sm\"\n onClick={() => {\n onChange?.('');\n }}\n >\n {clearLabel}\n </Button>\n )}\n {options.map((option, index) => (\n <RenderSelectOption\n {...props}\n key={option.value}\n option={option}\n index={index}\n deep={0}\n />\n ))}\n </SelectContent>\n </SelectRoot>\n );\n};\n"],"names":["RenderSelectTrigger","props","placeholder","renderTrigger","slotProps","defaultComponent","jsx","SelectTrigger","SelectValue","DefaultRenderSelectOption","children","child","option","deep","className","style","jsxs","SelectItem","cn","Fragment","RenderSelectOption","renderOption","index","options","rest","idx","arr","createElement","Select","value","onChange","nullable","clearLabel","disabled","SelectRoot","SelectContent","Button"],"mappings":"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"}
1
+ {"version":3,"file":"Select.js","sources":["../../src/Select/Select.tsx"],"sourcesContent":["import { HTMLAttributes, ReactNode } from 'react';\n\nimport { Button } from '../Button';\nimport {\n SelectContent,\n SelectItem,\n SelectOption,\n SelectProps,\n SelectRoot,\n SelectTrigger,\n SelectValue,\n} from '../Select';\nimport { cn } from '@oneplatformdev/utils';\n\nconst RenderSelectTrigger = <ExtendOptionData,>(\n props: SelectProps<ExtendOptionData>\n) => {\n const { placeholder, renderTrigger, slotProps } = props;\n const defaultComponent = (\n <SelectTrigger {...(slotProps?.triggerProps || {})}>\n <SelectValue placeholder={placeholder} />\n </SelectTrigger>\n );\n\n if (Boolean(renderTrigger) && typeof renderTrigger === 'function') {\n return renderTrigger(props, defaultComponent);\n }\n\n return defaultComponent;\n};\n\nconst DefaultRenderSelectOption = <ExtendOptionData,>(\n props: SelectProps<ExtendOptionData> & {\n option: SelectOption<ExtendOptionData>;\n index: number;\n deep?: number;\n child?: ((params: SelectProps<ExtendOptionData> & {\n option: SelectOption<ExtendOptionData>;\n index: number;\n }) => ReactNode) | ReactNode;\n } & Omit<HTMLAttributes<HTMLDivElement>, 'onChange'>\n) => {\n const { children, child, option, deep = 0, className, style = {} } = props;\n\n return (\n <SelectItem\n key={option.value}\n value={option.value ?? ''}\n disabled={option.disabled}\n className={cn('cursor-pointer', className)}\n style={{ paddingLeft: `calc(8px + ${(deep || 0) * 8}px)`, ...(style || {}) }}\n >\n {children}\n {!child && option.label}\n {child && (\n <>\n {typeof child === 'function'\n ? child({ ...props })\n : child\n }\n </>\n )}\n </SelectItem>\n )\n};\n\nconst RenderSelectOption = <ExtendOptionData,>(\n props: SelectProps<ExtendOptionData> & {\n option: SelectOption<ExtendOptionData>;\n index: number;\n deep?: number;\n }\n) => {\n const { renderOption, option, index, options, deep = 0, ...rest } = props;\n if(!renderOption) return <DefaultRenderSelectOption {...props} />;\n if(renderOption && typeof renderOption !== 'function') return <DefaultRenderSelectOption {...props} />;\n if(renderOption && typeof renderOption === 'function') return renderOption(\n option,\n index,\n options,\n { ...rest, options },\n <DefaultRenderSelectOption {...props} />\n )\n\n if(!option.children?.length) {\n return <DefaultRenderSelectOption {...props} />;\n }\n\n return (\n <div\n key={option.value}\n className=\"flex flex-col gap-1 truncate line-clamp-2\"\n >\n <DefaultRenderSelectOption {...props} />\n {option.children?.map((child, idx, arr) => (\n <RenderSelectOption\n {...props}\n key={child.value}\n option={child}\n options={arr}\n index={idx}\n deep={(deep || 0) + 1}\n />\n ))}\n </div>\n )\n};\n\n// TODO: add description\nexport const Select = <ExtendOptionData,>(\n props: SelectProps<ExtendOptionData>\n) => {\n const {\n value,\n options,\n onChange,\n nullable = false,\n clearLabel = 'Clear',\n disabled,\n slotProps,\n } = props;\n\n return (\n <SelectRoot value={value} onValueChange={onChange} disabled={disabled}>\n <RenderSelectTrigger {...props} />\n <SelectContent {...(slotProps?.selectProps || {})}>\n {nullable && (\n <Button\n className=\"w-full px-2\"\n variant=\"secondary\"\n size=\"sm\"\n onClick={() => {\n onChange?.('');\n }}\n >\n {clearLabel}\n </Button>\n )}\n {options.map((option, index) => (\n <RenderSelectOption\n {...props}\n key={option.value}\n option={option}\n index={index}\n deep={0}\n />\n ))}\n </SelectContent>\n </SelectRoot>\n );\n};\n"],"names":["RenderSelectTrigger","props","placeholder","renderTrigger","slotProps","defaultComponent","jsx","SelectTrigger","SelectValue","DefaultRenderSelectOption","children","child","option","deep","className","style","jsxs","SelectItem","cn","Fragment","RenderSelectOption","renderOption","index","options","rest","idx","arr","createElement","Select","value","onChange","nullable","clearLabel","disabled","SelectRoot","SelectContent","Button"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oneplatformdev/ui",
3
- "version": "0.1.10-100",
3
+ "version": "0.1.10-101",
4
4
  "description": "UI component library for OnePlatform",
5
5
  "author": "One Platform Development Team",
6
6
  "keywords": [
@@ -105,8 +105,8 @@
105
105
  "recharts": "^3.2.0",
106
106
  "sonner": "^2.0.7",
107
107
  "vaul": "^1.1.2",
108
- "@oneplatformdev/hooks": "^0.1.0-135",
109
- "@oneplatformdev/utils": "^0.1.1-149",
110
- "@oneplatformdev/tokens": "^0.0.1-122"
108
+ "@oneplatformdev/tokens": "^0.0.1-123",
109
+ "@oneplatformdev/utils": "^0.1.1-150",
110
+ "@oneplatformdev/hooks": "^0.1.0-136"
111
111
  }
112
112
  }