softable-pixels-web 1.2.0 → 1.2.1

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.
@@ -97,7 +97,7 @@ function createColorPickerStyles(props) {
97
97
  borderRadius: props.borderRadius || DEFAULT_BUTTON_SIZE,
98
98
  outlineOffset: "2px",
99
99
  outline: isCustomColor && props.value ? `2px solid var(--px-color-primary)` : "none",
100
- background: isCustomColor ? props.value : "linear-gradient(90deg, #ff6b6b 0%, #ffd93d 16.66%, #6bff95 33.33%, #6be7ff 50%, #6b83ff 66.66%, #d36bff 83.33%, #ff6bb5 100%)",
100
+ background: isCustomColor && props.value ? props.value : "linear-gradient(90deg, #ff6b6b 0%, #ffd93d 16.66%, #6bff95 33.33%, #6be7ff 50%, #6b83ff 66.66%, #d36bff 83.33%, #ff6bb5 100%)",
101
101
  __rules: { "&:focus-within": {
102
102
  outlineOffset: "2px",
103
103
  outline: `2px solid var(--px-color-primary) !important`
@@ -180,4 +180,4 @@ const ColorPicker = (props) => {
180
180
 
181
181
  //#endregion
182
182
  export { types_exports as n, ColorPicker as t };
183
- //# sourceMappingURL=ColorPicker-x9fu3N4Y.js.map
183
+ //# sourceMappingURL=ColorPicker-BVmUDE-h.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ColorPicker-BVmUDE-h.js","names":["ColorButton: React.FC<ColorButtonProps>","ColorsLoader: React.FC<Props>","ColorPicker: React.FC<ColorPickerProps>"],"sources":["../src/components/commons/inputs/ColorPicker/components/ColorButton/styles.ts","../src/components/commons/inputs/ColorPicker/components/ColorButton/index.tsx","../src/components/commons/inputs/ColorPicker/components/ColorsLoader/index.tsx","../src/components/commons/inputs/ColorPicker/styles.ts","../src/components/commons/inputs/ColorPicker/types.ts","../src/components/commons/inputs/ColorPicker/index.tsx"],"sourcesContent":["import { styled } from '@hooks/useThemedStyles/types'\n\ninterface Params {\n size?: string\n color: string\n isSelected: boolean\n borderRadius?: string\n}\n\nexport const DEFAULT_BUTTON_SIZE = '2.25rem'\n\nexport function createColorButtonStyles(props: Params) {\n const resolvedSize = props.size || DEFAULT_BUTTON_SIZE\n\n return styled({\n container: {\n width: resolvedSize,\n height: resolvedSize,\n\n cursor: 'pointer',\n position: 'relative',\n\n borderWidth: 1,\n borderRadius: props.borderRadius || resolvedSize,\n\n backgroundColor: props.color,\n borderColor: 'var(--px-border-primary)',\n\n outlineOffset: '2px',\n outline: props.isSelected ? '2px solid var(--px-color-primary)' : 'none',\n\n __rules: {\n '&:hover': {\n opacity: '0.85 !important'\n },\n\n '&:focus': {\n outlineOffset: '2px',\n outline: '2px solid var(--px-color-primary) !important'\n },\n\n '&:disabled': {\n opacity: '0.5 !important',\n cursor: 'not-allowed !important'\n }\n }\n }\n })\n}\n","// Hooks\nimport { useThemedStyles } from '@hooks/useThemedStyles'\n\n// Types\nimport type { ColorButtonProps } from './types'\n\n// Styles\nimport { createColorButtonStyles } from './styles'\n\nexport const ColorButton: React.FC<ColorButtonProps> = ({\n color,\n disabled,\n onClick,\n ...rest\n}) => {\n // Hooks\n const { styles, classes } = useThemedStyles(\n { ...rest, color },\n createColorButtonStyles\n )\n\n // Functions\n function handleClick() {\n if (disabled) return\n onClick(color)\n }\n\n return (\n <button\n type=\"button\"\n disabled={disabled}\n style={styles.container}\n className={classes.container}\n onClick={handleClick}\n />\n )\n}\n","// External Libraries\nimport type React from 'react'\n\n// Components\nimport { Skeleton } from '@components/commons/structure/Skeleton'\n\n// Constants\nimport { DEFAULT_BUTTON_SIZE } from '../ColorButton/styles'\n\ninterface Props {\n size?: string\n borderRadius?: string\n}\n\nexport const ColorsLoader: React.FC<Props> = ({ size, borderRadius }) => {\n // Constants\n const resolvedSize = size || DEFAULT_BUTTON_SIZE\n const resolvedRadius = borderRadius || DEFAULT_BUTTON_SIZE\n\n // Functions\n function renderContent() {\n return Array.from({ length: 5 }).map((_, idx) => (\n <Skeleton\n key={idx.toString()}\n width={resolvedSize}\n height={resolvedSize}\n borderRadius={resolvedRadius}\n />\n ))\n }\n\n return <>{renderContent()}</>\n}\n","// Hooks\nimport { styled } from '@hooks/useThemedStyles/types'\n\n// Types\nimport type { ColorPickerProps } from './types'\nimport { DEFAULT_BUTTON_SIZE } from './components/ColorButton/styles'\n\nexport function createColorPickerStyles(props: ColorPickerProps) {\n const isCustomColor = !props.options.includes(props.value)\n\n return styled({\n container: {\n width: '100%',\n\n display: 'flex',\n flexDirection: 'column',\n\n rowGap: '0.375rem'\n },\n content: {\n width: '100%',\n\n display: 'flex',\n alignItems: 'center',\n flexWrap: 'wrap',\n\n gap: '0.625rem'\n },\n inputWrapper: {\n width: props.size || DEFAULT_BUTTON_SIZE,\n height: props.size || DEFAULT_BUTTON_SIZE,\n\n cursor: 'pointer',\n overflow: 'hidden',\n position: 'relative',\n\n borderWidth: 1,\n borderColor: 'var(--px-border-primary)',\n borderRadius: props.borderRadius || DEFAULT_BUTTON_SIZE,\n\n outlineOffset: '2px',\n outline:\n isCustomColor && props.value\n ? `2px solid var(--px-color-primary)`\n : 'none',\n\n background:\n isCustomColor && props.value\n ? props.value\n : 'linear-gradient(90deg, #ff6b6b 0%, #ffd93d 16.66%, #6bff95 33.33%, #6be7ff 50%, #6b83ff 66.66%, #d36bff 83.33%, #ff6bb5 100%)',\n\n __rules: {\n '&:focus-within': {\n outlineOffset: '2px',\n outline: `2px solid var(--px-color-primary) !important`\n }\n }\n },\n\n nativeInput: {\n width: '100%',\n height: '100%',\n\n position: 'absolute',\n inset: 0,\n\n opacity: 0,\n border: 'none',\n cursor: 'pointer'\n }\n })\n}\n","import type {\n StylesOf,\n TextProps,\n LayoutProps,\n MarginProps\n} from '@hooks/useThemedStyles/types'\nimport type { createColorPickerStyles } from './styles'\n\nexport interface ColorPickerProps extends LayoutProps, MarginProps {\n id?: string\n\n label: string\n value: ColorOption\n options: ColorOption[]\n\n size?: string\n required?: boolean\n disabled?: boolean\n hideLabel?: boolean\n errorMessage?: string\n canPickCustom?: boolean\n isLoading?: boolean\n\n borderRadius?: string\n requiredColor?: string\n labelConfig?: TextProps\n styles?: StylesOf<typeof createColorPickerStyles>\n\n onChange: (value: string) => void\n}\n\nexport type ColorOption = `#${string}`\n","// External Libraries\nimport { useId, useMemo } from 'react'\n\n// Components\nimport { ColorButton } from './components/ColorButton'\nimport { ColorsLoader } from './components/ColorsLoader'\nimport { Label } from '@components/commons/toolkit/Label'\nimport { ErrorMessage } from '@components/commons/toolkit/ErrorMessage'\n\n// Hooks\nimport { useThemedStyles } from '@hooks/useThemedStyles'\n\n// Types\nimport type { ColorPickerProps } from './types'\n\n// Styles\nimport { createColorPickerStyles } from './styles'\n\nexport * as ColorPickerTypes from './types'\n\nexport const ColorPicker: React.FC<ColorPickerProps> = props => {\n // Constants\n const reactId = useId()\n const inputId = useMemo(() => {\n return props.id || `color-picker-${reactId}`\n }, [props.id, reactId])\n\n // Hooks\n const { styles, classes } = useThemedStyles(props, createColorPickerStyles, {\n override: props.styles,\n applyCommonProps: true,\n commonSlot: 'container'\n })\n\n // Functions\n function handleInputChange(e: React.ChangeEvent<HTMLInputElement>) {\n props.onChange(e.target.value)\n }\n\n function renderColors() {\n if (props.isLoading) {\n return (\n <ColorsLoader size={props.size} borderRadius={props.borderRadius} />\n )\n }\n\n return props.options.map(option => (\n <ColorButton\n key={option}\n color={option}\n size={props.size}\n disabled={props.disabled}\n borderRadius={props.borderRadius}\n isSelected={props.value === option}\n onClick={props.onChange}\n />\n ))\n }\n\n return (\n <div style={styles.container}>\n {!props.hideLabel ? (\n <Label\n htmlFor={inputId}\n label={props.label}\n required={props.required}\n requiredColor={props.requiredColor}\n {...props.labelConfig}\n />\n ) : null}\n\n <div id={inputId} style={styles.content}>\n {renderColors()}\n\n {props.canPickCustom ? (\n <div style={styles.inputWrapper} className={classes.inputWrapper}>\n <input\n type=\"color\"\n value={props.value}\n style={styles.nativeInput}\n aria-label=\"Pick a custom color\"\n onChange={handleInputChange}\n />\n </div>\n ) : null}\n </div>\n\n {props.errorMessage ? (\n <ErrorMessage message={props.errorMessage} />\n ) : null}\n </div>\n )\n}\n"],"mappings":";;;;;;;AASA,MAAa,sBAAsB;AAEnC,SAAgB,wBAAwB,OAAe;CACrD,MAAM,eAAe,MAAM,QAAQ;AAEnC,QAAO,OAAO,EACZ,WAAW;EACT,OAAO;EACP,QAAQ;EAER,QAAQ;EACR,UAAU;EAEV,aAAa;EACb,cAAc,MAAM,gBAAgB;EAEpC,iBAAiB,MAAM;EACvB,aAAa;EAEb,eAAe;EACf,SAAS,MAAM,aAAa,sCAAsC;EAElE,SAAS;GACP,WAAW,EACT,SAAS,mBACV;GAED,WAAW;IACT,eAAe;IACf,SAAS;IACV;GAED,cAAc;IACZ,SAAS;IACT,QAAQ;IACT;GACF;EACF,EACF,CAAC;;;;;ACtCJ,MAAaA,eAA2C,EACtD,OACA,UACA,SACA,GAAG,WACC;CAEJ,MAAM,EAAE,QAAQ,YAAY,gBAC1B;EAAE,GAAG;EAAM;EAAO,EAClB,wBACD;CAGD,SAAS,cAAc;AACrB,MAAI,SAAU;AACd,UAAQ,MAAM;;AAGhB,QACE,oBAAC;EACC,MAAK;EACK;EACV,OAAO,OAAO;EACd,WAAW,QAAQ;EACnB,SAAS;GACT;;;;;ACpBN,MAAaC,gBAAiC,EAAE,MAAM,mBAAmB;CAEvE,MAAM,eAAe,QAAQ;CAC7B,MAAM,iBAAiB,gBAAgB;CAGvC,SAAS,gBAAgB;AACvB,SAAO,MAAM,KAAK,EAAE,QAAQ,GAAG,CAAC,CAAC,KAAK,GAAG,QACvC,oBAAC;GAEC,OAAO;GACP,QAAQ;GACR,cAAc;KAHT,IAAI,UAAU,CAInB,CACF;;AAGJ,QAAO,4CAAG,eAAe,GAAI;;;;;ACxB/B,SAAgB,wBAAwB,OAAyB;CAC/D,MAAM,gBAAgB,CAAC,MAAM,QAAQ,SAAS,MAAM,MAAM;AAE1D,QAAO,OAAO;EACZ,WAAW;GACT,OAAO;GAEP,SAAS;GACT,eAAe;GAEf,QAAQ;GACT;EACD,SAAS;GACP,OAAO;GAEP,SAAS;GACT,YAAY;GACZ,UAAU;GAEV,KAAK;GACN;EACD,cAAc;GACZ,OAAO,MAAM,QAAQ;GACrB,QAAQ,MAAM,QAAQ;GAEtB,QAAQ;GACR,UAAU;GACV,UAAU;GAEV,aAAa;GACb,aAAa;GACb,cAAc,MAAM,gBAAgB;GAEpC,eAAe;GACf,SACE,iBAAiB,MAAM,QACnB,sCACA;GAEN,YACE,iBAAiB,MAAM,QACnB,MAAM,QACN;GAEN,SAAS,EACP,kBAAkB;IAChB,eAAe;IACf,SAAS;IACV,EACF;GACF;EAED,aAAa;GACX,OAAO;GACP,QAAQ;GAER,UAAU;GACV,OAAO;GAEP,SAAS;GACT,QAAQ;GACR,QAAQ;GACT;EACF,CAAC;;;;;;;;;AElDJ,MAAaC,eAA0C,UAAS;CAE9D,MAAM,UAAU,OAAO;CACvB,MAAM,UAAU,cAAc;AAC5B,SAAO,MAAM,MAAM,gBAAgB;IAClC,CAAC,MAAM,IAAI,QAAQ,CAAC;CAGvB,MAAM,EAAE,QAAQ,YAAY,gBAAgB,OAAO,yBAAyB;EAC1E,UAAU,MAAM;EAChB,kBAAkB;EAClB,YAAY;EACb,CAAC;CAGF,SAAS,kBAAkB,GAAwC;AACjE,QAAM,SAAS,EAAE,OAAO,MAAM;;CAGhC,SAAS,eAAe;AACtB,MAAI,MAAM,UACR,QACE,oBAAC;GAAa,MAAM,MAAM;GAAM,cAAc,MAAM;IAAgB;AAIxE,SAAO,MAAM,QAAQ,KAAI,WACvB,oBAAC;GAEC,OAAO;GACP,MAAM,MAAM;GACZ,UAAU,MAAM;GAChB,cAAc,MAAM;GACpB,YAAY,MAAM,UAAU;GAC5B,SAAS,MAAM;KANV,OAOL,CACF;;AAGJ,QACE,qBAAC;EAAI,OAAO,OAAO;;GAChB,CAAC,MAAM,YACN,oBAAC;IACC,SAAS;IACT,OAAO,MAAM;IACb,UAAU,MAAM;IAChB,eAAe,MAAM;IACrB,GAAI,MAAM;KACV,GACA;GAEJ,qBAAC;IAAI,IAAI;IAAS,OAAO,OAAO;eAC7B,cAAc,EAEd,MAAM,gBACL,oBAAC;KAAI,OAAO,OAAO;KAAc,WAAW,QAAQ;eAClD,oBAAC;MACC,MAAK;MACL,OAAO,MAAM;MACb,OAAO,OAAO;MACd,cAAW;MACX,UAAU;OACV;MACE,GACJ;KACA;GAEL,MAAM,eACL,oBAAC,gBAAa,SAAS,MAAM,eAAgB,GAC3C;;GACA"}
@@ -1,7 +1,7 @@
1
1
  import "./useThemedStyles-CV4ryZLN.js";
2
2
  import "./Typography-BTJk47bm.js";
3
3
  import "./ErrorMessage-BRnYfudz.js";
4
- import { n as types_exports, t as ColorPicker } from "./ColorPicker-x9fu3N4Y.js";
4
+ import { n as types_exports, t as ColorPicker } from "./ColorPicker-BVmUDE-h.js";
5
5
  import "./Skeleton-iCdZ2Gai.js";
6
6
 
7
7
  export { ColorPicker, types_exports as ColorPickerTypes };
@@ -1,2 +1,2 @@
1
- import { n as types_d_exports, t as ContextMenu } from "./index-B_xvhcYY.js";
1
+ import { n as types_d_exports, t as ContextMenu } from "./index-ChkulgEl.js";
2
2
  export { ContextMenu, types_d_exports as ContextMenuTypes };
@@ -1,6 +1,6 @@
1
1
  import { t as CommonStyleProps } from "./styleProps-CrD6h1FM.js";
2
2
  import { ReactNode } from "react";
3
- import * as react_jsx_runtime0 from "react/jsx-runtime";
3
+ import * as react_jsx_runtime1 from "react/jsx-runtime";
4
4
 
5
5
  //#region src/components/commons/toolkit/TabSwitch/styles.d.ts
6
6
  declare function createTabSwitchStyles<T>(props: TabSwitchProps<T>): {
@@ -41,7 +41,7 @@ interface TabSwitchProps<T> extends CommonStyleProps {
41
41
  }
42
42
  //#endregion
43
43
  //#region src/components/commons/toolkit/TabSwitch/index.d.ts
44
- declare const TabSwitch: <T>(props: TabSwitchProps<T>) => react_jsx_runtime0.JSX.Element;
44
+ declare const TabSwitch: <T>(props: TabSwitchProps<T>) => react_jsx_runtime1.JSX.Element;
45
45
  //#endregion
46
46
  export { SwitchOption as n, TabSwitchProps as r, TabSwitch as t };
47
- //# sourceMappingURL=index-BZ2ZYR1Y.d.ts.map
47
+ //# sourceMappingURL=index-B-f7Shgf.d.ts.map
@@ -1,5 +1,5 @@
1
1
  import { a as TextProps } from "./styleProps-CrD6h1FM.js";
2
- import * as react_jsx_runtime0 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime2 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/components/commons/inputs/TextArea/styles.d.ts
5
5
  declare function createTextAreaStyles(props: TextAreaProps): {
@@ -26,7 +26,7 @@ declare function createTextAreaStyles(props: TextAreaProps): {
26
26
  fontWeight: "400";
27
27
  fontSize: string;
28
28
  color: "var(--px-text-primary)";
29
- borderColor: "var(--px-color-error)" | "var(--px-border-primary)";
29
+ borderColor: "var(--px-border-primary)" | "var(--px-color-error)";
30
30
  outlineOffset: string;
31
31
  cursor: "default" | undefined;
32
32
  __rules: {
@@ -65,7 +65,7 @@ interface TextAreaProps {
65
65
  }
66
66
  //#endregion
67
67
  //#region src/components/commons/inputs/TextArea/index.d.ts
68
- declare const TextArea: (props: TextAreaProps) => react_jsx_runtime0.JSX.Element;
68
+ declare const TextArea: (props: TextAreaProps) => react_jsx_runtime2.JSX.Element;
69
69
  //#endregion
70
70
  export { TextArea as t };
71
- //# sourceMappingURL=index-BdXsHz33.d.ts.map
71
+ //# sourceMappingURL=index-CI1pmTNs.d.ts.map
@@ -22,7 +22,7 @@ declare function createInputStyles(props: InputProps): {
22
22
  padding: string;
23
23
  opacity: number;
24
24
  boxShadow: "var(--px-shadow-default)";
25
- borderColor: "var(--px-color-error)" | "var(--px-border-primary)";
25
+ borderColor: "var(--px-border-primary)" | "var(--px-color-error)";
26
26
  __rules: {
27
27
  '&:focus-within': {
28
28
  outlineOffset: string;
@@ -100,4 +100,4 @@ interface InputMethods {
100
100
  declare const Input: react0.ForwardRefExoticComponent<InputProps & react0.RefAttributes<InputMethods>>;
101
101
  //#endregion
102
102
  export { Input as t };
103
- //# sourceMappingURL=index-B9Ooz6lk.d.ts.map
103
+ //# sourceMappingURL=index-CL2pdJDi.d.ts.map
@@ -1,6 +1,6 @@
1
1
  import { n as Placement } from "./types-Cr3L1i9Q.js";
2
2
  import { ReactNode } from "react";
3
- import * as react_jsx_runtime2 from "react/jsx-runtime";
3
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
4
4
 
5
5
  //#region src/components/commons/toolkit/ContextMenu/styles.d.ts
6
6
  declare function createContextMenuStyles<T>(_props: ContextMenuProps<T>): {
@@ -67,7 +67,7 @@ interface ContextMenuProps<T> {
67
67
  }
68
68
  //#endregion
69
69
  //#region src/components/commons/toolkit/ContextMenu/index.d.ts
70
- declare const ContextMenu: <T extends string>(props: ContextMenuProps<T>) => react_jsx_runtime2.JSX.Element;
70
+ declare const ContextMenu: <T extends string>(props: ContextMenuProps<T>) => react_jsx_runtime0.JSX.Element;
71
71
  //#endregion
72
72
  export { types_d_exports as n, ContextMenu as t };
73
- //# sourceMappingURL=index-B_xvhcYY.d.ts.map
73
+ //# sourceMappingURL=index-ChkulgEl.d.ts.map
@@ -25,7 +25,7 @@ declare function createSelectStyles(props: SelectProps): {
25
25
  opacity: number;
26
26
  cursor: "not-allowed" | "pointer" | "progress";
27
27
  boxShadow: "var(--px-shadow-default)";
28
- borderColor: "var(--px-color-error)" | "var(--px-border-primary)";
28
+ borderColor: "var(--px-border-primary)" | "var(--px-color-error)";
29
29
  __rules: {
30
30
  '&:focus-within': {
31
31
  outlineOffset: string;
@@ -84,4 +84,4 @@ interface SelectOption {
84
84
  declare const Select: React$1.FC<SelectProps>;
85
85
  //#endregion
86
86
  export { types_d_exports as n, Select as t };
87
- //# sourceMappingURL=index-CNPbAm9i.d.ts.map
87
+ //# sourceMappingURL=index-Qqzj3D38.d.ts.map
package/dist/index.d.ts CHANGED
@@ -3,10 +3,10 @@ import { t as Button } from "./index-CI9oUkku.js";
3
3
  import { t as IconButton } from "./index-DsQyEI6l.js";
4
4
  import { n as types_d_exports$1, t as ColorPicker } from "./index-DOnH4ePY.js";
5
5
  import { n as Locale, r as MaskType, t as MaskModule } from "./index-C2rKLkDO.js";
6
- import { t as Input } from "./index-B9Ooz6lk.js";
7
- import { n as types_d_exports$4, t as Select } from "./index-CNPbAm9i.js";
6
+ import { t as Input } from "./index-CL2pdJDi.js";
7
+ import { n as types_d_exports$4, t as Select } from "./index-Qqzj3D38.js";
8
8
  import { n as types_d_exports$3 } from "./types-B-zFTnqe.js";
9
- import { t as TextArea } from "./index-BdXsHz33.js";
9
+ import { t as TextArea } from "./index-CI1pmTNs.js";
10
10
  import { t as Popover } from "./index-BbvC10jX.js";
11
11
  import { t as BasePopover } from "./index-DvbYyCcE.js";
12
12
  import { t as Breadcrumb } from "./index-XBmzyFW4.js";
@@ -16,10 +16,10 @@ import { t as Checkbox } from "./index-By2y-Zjz.js";
16
16
  import { r as types_d_exports } from "./types-B4Yk1AUa.js";
17
17
  import { Chip } from "./chip.js";
18
18
  import { t as ChipList } from "./index-Du2b4ABa.js";
19
- import { n as types_d_exports$2, t as ContextMenu } from "./index-B_xvhcYY.js";
19
+ import { n as types_d_exports$2, t as ContextMenu } from "./index-ChkulgEl.js";
20
20
  import { InfoSummary, InfoSummaryItem, InfoSummaryProps } from "./info-summary.js";
21
21
  import { t as Switch } from "./index-BEd1qAu7.js";
22
- import { n as SwitchOption, r as TabSwitchProps, t as TabSwitch } from "./index-BZ2ZYR1Y.js";
22
+ import { n as SwitchOption, r as TabSwitchProps, t as TabSwitch } from "./index-B-f7Shgf.js";
23
23
  import { Typography } from "./typography.js";
24
24
  import { a as ThemeName, c as ThemeRegistry, i as ThemeMode, l as ThemeTokens, n as useTheme, o as ThemePersistence, r as ThemeContextData, s as ThemeProviderProps, t as ThemeProvider } from "./index-CJDqp_om.js";
25
25
  import { useDismiss } from "./use-dismiss.js";
package/dist/index.js CHANGED
@@ -22,7 +22,7 @@ import { n as MaskType, r as MaskModule, t as Locale } from "./MaskModule-ChyYaH
22
22
  import { t as Input } from "./Input-Dam9Lbxf.js";
23
23
  import { n as types_exports$4, t as Select } from "./Select-BR9OSXHF.js";
24
24
  import { t as TextArea } from "./TextArea-D9kGofdD.js";
25
- import { n as types_exports$1, t as ColorPicker } from "./ColorPicker-x9fu3N4Y.js";
25
+ import { n as types_exports$1, t as ColorPicker } from "./ColorPicker-BVmUDE-h.js";
26
26
  import { t as Skeleton } from "./Skeleton-iCdZ2Gai.js";
27
27
  import { useVirtualAnchor } from "./use-virtual-anchor.js";
28
28
  import { t as Breadcrumb } from "./Breadcrumb-Bm9YuwCq.js";
package/dist/input.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- import { t as Input } from "./index-B9Ooz6lk.js";
1
+ import { t as Input } from "./index-CL2pdJDi.js";
2
2
  export { Input };
package/dist/select.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- import { n as types_d_exports, t as Select } from "./index-CNPbAm9i.js";
1
+ import { n as types_d_exports, t as Select } from "./index-Qqzj3D38.js";
2
2
  import "./types-B-zFTnqe.js";
3
3
  export { Select, types_d_exports as SelectTypes };
@@ -1,2 +1,2 @@
1
- import { n as SwitchOption, r as TabSwitchProps, t as TabSwitch } from "./index-BZ2ZYR1Y.js";
1
+ import { n as SwitchOption, r as TabSwitchProps, t as TabSwitch } from "./index-B-f7Shgf.js";
2
2
  export { SwitchOption, TabSwitch, TabSwitchProps };
@@ -1,2 +1,2 @@
1
- import { t as TextArea } from "./index-BdXsHz33.js";
1
+ import { t as TextArea } from "./index-CI1pmTNs.js";
2
2
  export { TextArea };
@@ -1,8 +1,8 @@
1
1
  import { t as TypographyProps } from "./types-n-gj1UXJ.js";
2
- import * as react_jsx_runtime1 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/components/commons/toolkit/Typography/index.d.ts
5
- declare function Typography(props: TypographyProps): react_jsx_runtime1.JSX.Element;
5
+ declare function Typography(props: TypographyProps): react_jsx_runtime0.JSX.Element;
6
6
  //#endregion
7
7
  export { Typography };
8
8
  //# sourceMappingURL=typography.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "softable-pixels-web",
3
- "version": "1.2.0",
3
+ "version": "1.2.1",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "author": "softable",
@@ -1 +0,0 @@
1
- {"version":3,"file":"ColorPicker-x9fu3N4Y.js","names":["ColorButton: React.FC<ColorButtonProps>","ColorsLoader: React.FC<Props>","ColorPicker: React.FC<ColorPickerProps>"],"sources":["../src/components/commons/inputs/ColorPicker/components/ColorButton/styles.ts","../src/components/commons/inputs/ColorPicker/components/ColorButton/index.tsx","../src/components/commons/inputs/ColorPicker/components/ColorsLoader/index.tsx","../src/components/commons/inputs/ColorPicker/styles.ts","../src/components/commons/inputs/ColorPicker/types.ts","../src/components/commons/inputs/ColorPicker/index.tsx"],"sourcesContent":["import { styled } from '@hooks/useThemedStyles/types'\n\ninterface Params {\n size?: string\n color: string\n isSelected: boolean\n borderRadius?: string\n}\n\nexport const DEFAULT_BUTTON_SIZE = '2.25rem'\n\nexport function createColorButtonStyles(props: Params) {\n const resolvedSize = props.size || DEFAULT_BUTTON_SIZE\n\n return styled({\n container: {\n width: resolvedSize,\n height: resolvedSize,\n\n cursor: 'pointer',\n position: 'relative',\n\n borderWidth: 1,\n borderRadius: props.borderRadius || resolvedSize,\n\n backgroundColor: props.color,\n borderColor: 'var(--px-border-primary)',\n\n outlineOffset: '2px',\n outline: props.isSelected ? '2px solid var(--px-color-primary)' : 'none',\n\n __rules: {\n '&:hover': {\n opacity: '0.85 !important'\n },\n\n '&:focus': {\n outlineOffset: '2px',\n outline: '2px solid var(--px-color-primary) !important'\n },\n\n '&:disabled': {\n opacity: '0.5 !important',\n cursor: 'not-allowed !important'\n }\n }\n }\n })\n}\n","// Hooks\nimport { useThemedStyles } from '@hooks/useThemedStyles'\n\n// Types\nimport type { ColorButtonProps } from './types'\n\n// Styles\nimport { createColorButtonStyles } from './styles'\n\nexport const ColorButton: React.FC<ColorButtonProps> = ({\n color,\n disabled,\n onClick,\n ...rest\n}) => {\n // Hooks\n const { styles, classes } = useThemedStyles(\n { ...rest, color },\n createColorButtonStyles\n )\n\n // Functions\n function handleClick() {\n if (disabled) return\n onClick(color)\n }\n\n return (\n <button\n type=\"button\"\n disabled={disabled}\n style={styles.container}\n className={classes.container}\n onClick={handleClick}\n />\n )\n}\n","// External Libraries\nimport type React from 'react'\n\n// Components\nimport { Skeleton } from '@components/commons/structure/Skeleton'\n\n// Constants\nimport { DEFAULT_BUTTON_SIZE } from '../ColorButton/styles'\n\ninterface Props {\n size?: string\n borderRadius?: string\n}\n\nexport const ColorsLoader: React.FC<Props> = ({ size, borderRadius }) => {\n // Constants\n const resolvedSize = size || DEFAULT_BUTTON_SIZE\n const resolvedRadius = borderRadius || DEFAULT_BUTTON_SIZE\n\n // Functions\n function renderContent() {\n return Array.from({ length: 5 }).map((_, idx) => (\n <Skeleton\n key={idx.toString()}\n width={resolvedSize}\n height={resolvedSize}\n borderRadius={resolvedRadius}\n />\n ))\n }\n\n return <>{renderContent()}</>\n}\n","// Hooks\nimport { styled } from '@hooks/useThemedStyles/types'\n\n// Types\nimport type { ColorPickerProps } from './types'\nimport { DEFAULT_BUTTON_SIZE } from './components/ColorButton/styles'\n\nexport function createColorPickerStyles(props: ColorPickerProps) {\n const isCustomColor = !props.options.includes(props.value)\n\n return styled({\n container: {\n width: '100%',\n\n display: 'flex',\n flexDirection: 'column',\n\n rowGap: '0.375rem'\n },\n content: {\n width: '100%',\n\n display: 'flex',\n alignItems: 'center',\n flexWrap: 'wrap',\n\n gap: '0.625rem'\n },\n inputWrapper: {\n width: props.size || DEFAULT_BUTTON_SIZE,\n height: props.size || DEFAULT_BUTTON_SIZE,\n\n cursor: 'pointer',\n overflow: 'hidden',\n position: 'relative',\n\n borderWidth: 1,\n borderColor: 'var(--px-border-primary)',\n borderRadius: props.borderRadius || DEFAULT_BUTTON_SIZE,\n\n outlineOffset: '2px',\n outline:\n isCustomColor && props.value\n ? `2px solid var(--px-color-primary)`\n : 'none',\n\n background: isCustomColor\n ? props.value\n : 'linear-gradient(90deg, #ff6b6b 0%, #ffd93d 16.66%, #6bff95 33.33%, #6be7ff 50%, #6b83ff 66.66%, #d36bff 83.33%, #ff6bb5 100%)',\n\n __rules: {\n '&:focus-within': {\n outlineOffset: '2px',\n outline: `2px solid var(--px-color-primary) !important`\n }\n }\n },\n\n nativeInput: {\n width: '100%',\n height: '100%',\n\n position: 'absolute',\n inset: 0,\n\n opacity: 0,\n border: 'none',\n cursor: 'pointer'\n }\n })\n}\n","import type {\n StylesOf,\n TextProps,\n LayoutProps,\n MarginProps\n} from '@hooks/useThemedStyles/types'\nimport type { createColorPickerStyles } from './styles'\n\nexport interface ColorPickerProps extends LayoutProps, MarginProps {\n id?: string\n\n label: string\n value: ColorOption\n options: ColorOption[]\n\n size?: string\n required?: boolean\n disabled?: boolean\n hideLabel?: boolean\n errorMessage?: string\n canPickCustom?: boolean\n isLoading?: boolean\n\n borderRadius?: string\n requiredColor?: string\n labelConfig?: TextProps\n styles?: StylesOf<typeof createColorPickerStyles>\n\n onChange: (value: string) => void\n}\n\nexport type ColorOption = `#${string}`\n","// External Libraries\nimport { useId, useMemo } from 'react'\n\n// Components\nimport { ColorButton } from './components/ColorButton'\nimport { ColorsLoader } from './components/ColorsLoader'\nimport { Label } from '@components/commons/toolkit/Label'\nimport { ErrorMessage } from '@components/commons/toolkit/ErrorMessage'\n\n// Hooks\nimport { useThemedStyles } from '@hooks/useThemedStyles'\n\n// Types\nimport type { ColorPickerProps } from './types'\n\n// Styles\nimport { createColorPickerStyles } from './styles'\n\nexport * as ColorPickerTypes from './types'\n\nexport const ColorPicker: React.FC<ColorPickerProps> = props => {\n // Constants\n const reactId = useId()\n const inputId = useMemo(() => {\n return props.id || `color-picker-${reactId}`\n }, [props.id, reactId])\n\n // Hooks\n const { styles, classes } = useThemedStyles(props, createColorPickerStyles, {\n override: props.styles,\n applyCommonProps: true,\n commonSlot: 'container'\n })\n\n // Functions\n function handleInputChange(e: React.ChangeEvent<HTMLInputElement>) {\n props.onChange(e.target.value)\n }\n\n function renderColors() {\n if (props.isLoading) {\n return (\n <ColorsLoader size={props.size} borderRadius={props.borderRadius} />\n )\n }\n\n return props.options.map(option => (\n <ColorButton\n key={option}\n color={option}\n size={props.size}\n disabled={props.disabled}\n borderRadius={props.borderRadius}\n isSelected={props.value === option}\n onClick={props.onChange}\n />\n ))\n }\n\n return (\n <div style={styles.container}>\n {!props.hideLabel ? (\n <Label\n htmlFor={inputId}\n label={props.label}\n required={props.required}\n requiredColor={props.requiredColor}\n {...props.labelConfig}\n />\n ) : null}\n\n <div id={inputId} style={styles.content}>\n {renderColors()}\n\n {props.canPickCustom ? (\n <div style={styles.inputWrapper} className={classes.inputWrapper}>\n <input\n type=\"color\"\n value={props.value}\n style={styles.nativeInput}\n aria-label=\"Pick a custom color\"\n onChange={handleInputChange}\n />\n </div>\n ) : null}\n </div>\n\n {props.errorMessage ? (\n <ErrorMessage message={props.errorMessage} />\n ) : null}\n </div>\n )\n}\n"],"mappings":"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"}