fictoan-react 2.0.0-beta.18 → 2.0.0-beta.19

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 (85) hide show
  1. package/dist/components/Badge/Badge.d.ts.map +1 -1
  2. package/dist/components/Badge/Badge.js +17 -18
  3. package/dist/components/Badge/Badge.js.map +1 -1
  4. package/dist/components/Breadcrumbs/Breadcrumbs.d.ts.map +1 -1
  5. package/dist/components/Breadcrumbs/Breadcrumbs.js +37 -38
  6. package/dist/components/Breadcrumbs/Breadcrumbs.js.map +1 -1
  7. package/dist/components/Callout/Callout.d.ts.map +1 -1
  8. package/dist/components/Callout/Callout.js +31 -25
  9. package/dist/components/Callout/Callout.js.map +1 -1
  10. package/dist/components/Divider/Divider.js +7 -7
  11. package/dist/components/Divider/Divider.js.map +1 -1
  12. package/dist/components/Element/Element.d.ts.map +1 -1
  13. package/dist/components/Element/Element.js +135 -133
  14. package/dist/components/Element/Element.js.map +1 -1
  15. package/dist/components/Element/constants.d.ts +21 -21
  16. package/dist/components/Element/constants.d.ts.map +1 -1
  17. package/dist/components/Element/constants.js.map +1 -1
  18. package/dist/components/Form/Checkbox/Switch.d.ts.map +1 -1
  19. package/dist/components/Form/Checkbox/Switch.js +11 -10
  20. package/dist/components/Form/Checkbox/Switch.js.map +1 -1
  21. package/dist/components/Form/FormItemGroup/FormItemGroup.d.ts.map +1 -1
  22. package/dist/components/Form/FormItemGroup/FormItemGroup.js +17 -17
  23. package/dist/components/Form/FormItemGroup/FormItemGroup.js.map +1 -1
  24. package/dist/components/Form/ListBox/ListBox.d.ts +1 -1
  25. package/dist/components/Form/ListBox/ListBox.d.ts.map +1 -1
  26. package/dist/components/Form/ListBox/ListBox.js +110 -107
  27. package/dist/components/Form/ListBox/ListBox.js.map +1 -1
  28. package/dist/components/Form/RadioButton/RadioTabGroup.d.ts +1 -1
  29. package/dist/components/Form/RadioButton/RadioTabGroup.js +46 -46
  30. package/dist/components/Form/RadioButton/RadioTabGroup.js.map +1 -1
  31. package/dist/components/Form/Select/Select.d.ts +1 -1
  32. package/dist/components/Form/Select/Select.d.ts.map +1 -1
  33. package/dist/components/Meter/Meter.d.ts.map +1 -1
  34. package/dist/components/Meter/Meter.js +54 -59
  35. package/dist/components/Meter/Meter.js.map +1 -1
  36. package/dist/components/Modal/Modal.d.ts.map +1 -1
  37. package/dist/components/Modal/Modal.js +20 -19
  38. package/dist/components/Modal/Modal.js.map +1 -1
  39. package/dist/components/Notification/NotificationsProvider/NotificationsProvider.d.ts.map +1 -1
  40. package/dist/components/Notification/NotificationsProvider/NotificationsProvider.js +44 -44
  41. package/dist/components/Notification/NotificationsProvider/NotificationsProvider.js.map +1 -1
  42. package/dist/components/Pagination/Pagination.d.ts +1 -1
  43. package/dist/components/Pagination/Pagination.d.ts.map +1 -1
  44. package/dist/components/Pagination/Pagination.js +42 -41
  45. package/dist/components/Pagination/Pagination.js.map +1 -1
  46. package/dist/components/Portion/Portion.d.ts +1 -0
  47. package/dist/components/Portion/Portion.d.ts.map +1 -1
  48. package/dist/components/Portion/Portion.js +13 -12
  49. package/dist/components/Portion/Portion.js.map +1 -1
  50. package/dist/components/ProgressBar/ProgressBar.d.ts.map +1 -1
  51. package/dist/components/ProgressBar/ProgressBar.js +23 -26
  52. package/dist/components/ProgressBar/ProgressBar.js.map +1 -1
  53. package/dist/components/Row/Row.d.ts +1 -0
  54. package/dist/components/Row/Row.d.ts.map +1 -1
  55. package/dist/components/Row/Row.js +22 -22
  56. package/dist/components/Row/Row.js.map +1 -1
  57. package/dist/components/Skeleton/Skeleton.d.ts.map +1 -1
  58. package/dist/components/Skeleton/Skeleton.js +25 -27
  59. package/dist/components/Skeleton/Skeleton.js.map +1 -1
  60. package/dist/components/Table/Table.d.ts +0 -1
  61. package/dist/components/Table/Table.d.ts.map +1 -1
  62. package/dist/components/Table/Table.js +21 -34
  63. package/dist/components/Table/Table.js.map +1 -1
  64. package/dist/components/Tabs/Tabs.d.ts.map +1 -1
  65. package/dist/components/Tabs/Tabs.js +49 -47
  66. package/dist/components/Tabs/Tabs.js.map +1 -1
  67. package/dist/components/Toast/ToastsProvider/ToastsProvider.d.ts.map +1 -1
  68. package/dist/components/Toast/ToastsProvider/ToastsProvider.js +22 -22
  69. package/dist/components/Toast/ToastsProvider/ToastsProvider.js.map +1 -1
  70. package/dist/components/Typography/Heading.js +11 -11
  71. package/dist/components/Typography/Heading.js.map +1 -1
  72. package/dist/components/Typography/Text.js +7 -7
  73. package/dist/components/Typography/Text.js.map +1 -1
  74. package/dist/fictoan-schema.json +33 -37
  75. package/dist/index.css +3 -3
  76. package/dist/index.d.ts +2 -1
  77. package/dist/index.d.ts.map +1 -1
  78. package/dist/index.js +129 -127
  79. package/dist/index.js.map +1 -1
  80. package/dist/utils/classNames.d.ts +1 -1
  81. package/dist/utils/classNames.d.ts.map +1 -1
  82. package/dist/utils/classNames.js.map +1 -1
  83. package/dist/utils/propSeparation.js +4 -4
  84. package/dist/utils/propSeparation.js.map +1 -1
  85. package/package.json +14 -3
@@ -1,152 +1,154 @@
1
1
  "use client";
2
- import { jsx as pt } from "react/jsx-runtime";
3
- import ht from "react";
4
- import { createClassName as mt } from "../../utils/classNames.js";
5
- const ct = ht.forwardRef(
2
+ import { jsx as ut } from "react/jsx-runtime";
3
+ import Ct from "react";
4
+ import { createClassName as Ot } from "../../utils/classNames.js";
5
+ const Tt = /* @__PURE__ */ new Set([
6
+ "none",
7
+ "nano",
8
+ "micro",
9
+ "tiny",
10
+ "small",
11
+ "medium",
12
+ "large",
13
+ "huge"
14
+ ]), wt = (o) => Tt.has(o), kt = Ct.forwardRef(
6
15
  ({
7
- as: R = "div",
8
- role: E,
9
- ariaLabel: I,
10
- tabIndex: j,
11
- onKeyDown: A,
12
- ...B
13
- }, D) => {
16
+ as: o = "div",
17
+ role: k,
18
+ ariaLabel: x,
19
+ tabIndex: z,
20
+ onKeyDown: N,
21
+ ...L
22
+ }, R) => {
14
23
  const {
15
- classNames: H = [],
16
- bgColor: i,
17
- bgColour: l,
18
- bgOpacity: r,
19
- borderColor: n,
20
- borderColour: s,
21
- borderOpacity: d,
22
- className: S,
23
- columns: bt,
24
+ classNames: S = [],
25
+ bgColor: e,
26
+ bgColour: n,
27
+ bgOpacity: l,
28
+ borderColor: r,
29
+ borderColour: d,
30
+ borderOpacity: s,
31
+ className: v,
32
+ columns: a,
24
33
  fillColor: g,
25
34
  fillColour: p,
26
- gap: h,
27
- hideOnDesktop: G,
28
- hideOnMobile: V,
29
- hideOnTabletLandscape: W,
30
- hideOnTabletPortrait: q,
31
- horizontalMargin: t,
32
- horizontalPadding: o,
33
- horizontallyCenterThis: J,
34
- horizontallyCentreThis: K,
35
- inheritFormSpacing: Q,
36
- isClickable: U,
37
- isFullHeight: X,
38
- isFullWidth: Y,
39
- layoutAsFlexbox: Z,
35
+ gap: B,
36
+ hideOnDesktop: P,
37
+ hideOnMobile: E,
38
+ hideOnTabletLandscape: F,
39
+ hideOnTabletPortrait: I,
40
+ horizontalMargin: M,
41
+ horizontalPadding: A,
42
+ horizontallyCenterThis: j,
43
+ horizontallyCentreThis: D,
44
+ inheritFormSpacing: G,
45
+ isClickable: H,
46
+ isFullHeight: K,
47
+ isFullWidth: V,
48
+ layoutAsFlexbox: W,
40
49
  layoutAsGrid: _,
41
- stackVertically: tt,
42
- stackHorizontally: ot,
43
- marginLeft: m,
44
- marginBottom: c,
45
- margin: b,
46
- marginRight: y,
47
- marginTop: $,
48
- opacity: u,
49
- paddingBottom: f,
50
- paddingLeft: C,
51
- padding: k,
52
- paddingRight: O,
53
- paddingTop: w,
54
- pushItemsToEnds: et,
55
- shadow: v,
56
- shape: x,
57
- showOnlyOnDesktop: at,
58
- showOnlyOnMobile: it,
59
- showOnlyOnTabletLandscape: lt,
60
- showOnlyOnTabletPortrait: rt,
61
- size: z,
62
- strokeColor: T,
63
- strokeColour: N,
64
- textColor: P,
65
- textColour: F,
66
- verticalMargin: e,
67
- verticalPadding: a,
68
- verticallyCenterItems: nt,
69
- verticallyCentreItems: st,
70
- weight: L,
71
- style: dt,
72
- ...gt
73
- } = B, M = {
74
- ...dt,
75
- ...r && { "--bg-opacity": Number(r) / 100 },
76
- ...d && { "--border-opacity": Number(d) / 100 }
50
+ listVertically: q,
51
+ listHorizontally: J,
52
+ marginLeft: Q,
53
+ marginBottom: U,
54
+ margin: X,
55
+ marginRight: Y,
56
+ marginTop: Z,
57
+ opacity: m,
58
+ paddingBottom: tt,
59
+ paddingLeft: it,
60
+ padding: ot,
61
+ paddingRight: at,
62
+ paddingTop: et,
63
+ pushItemsToEnds: nt,
64
+ shadow: h,
65
+ shape: c,
66
+ showOnlyOnDesktop: lt,
67
+ showOnlyOnMobile: rt,
68
+ showOnlyOnTabletLandscape: dt,
69
+ showOnlyOnTabletPortrait: st,
70
+ size: y,
71
+ strokeColor: b,
72
+ strokeColour: $,
73
+ textColor: f,
74
+ textColour: u,
75
+ verticalMargin: gt,
76
+ verticalPadding: pt,
77
+ verticallyCenterItems: mt,
78
+ verticallyCentreItems: ht,
79
+ weight: C,
80
+ style: ct,
81
+ ...yt
82
+ } = L, O = [], T = {}, i = (t, bt, $t) => {
83
+ t && (wt(t) ? O.push(bt(t)) : $t.forEach((ft) => {
84
+ T[ft] = t;
85
+ }));
77
86
  };
78
- return /* @__PURE__ */ pt(
79
- R,
87
+ i(B, (t) => `gap-${t}`, ["gap"]), i(X, (t) => `margin-all-${t}`, ["margin"]), i(Z, (t) => `margin-top-${t}`, ["marginTop"]), i(Y, (t) => `margin-right-${t}`, ["marginRight"]), i(U, (t) => `margin-bottom-${t}`, ["marginBottom"]), i(Q, (t) => `margin-left-${t}`, ["marginLeft"]), i(M, (t) => `margin-right-${t} margin-left-${t}`, ["marginLeft", "marginRight"]), i(gt, (t) => `margin-top-${t} margin-bottom-${t}`, ["marginTop", "marginBottom"]), i(ot, (t) => `padding-all-${t}`, ["padding"]), i(et, (t) => `padding-top-${t}`, ["paddingTop"]), i(at, (t) => `padding-right-${t}`, ["paddingRight"]), i(tt, (t) => `padding-bottom-${t}`, ["paddingBottom"]), i(it, (t) => `padding-left-${t}`, ["paddingLeft"]), i(A, (t) => `padding-right-${t} padding-left-${t}`, ["paddingLeft", "paddingRight"]), i(pt, (t) => `padding-top-${t} padding-bottom-${t}`, ["paddingTop", "paddingBottom"]);
88
+ const w = {
89
+ ...ct,
90
+ ...l && { "--bg-opacity": Number(l) / 100 },
91
+ ...s && { "--border-opacity": Number(s) / 100 },
92
+ ...a && { gridTemplateColumns: `repeat(${a}, 1fr)` },
93
+ ...T
94
+ };
95
+ return /* @__PURE__ */ ut(
96
+ o,
80
97
  {
81
- ref: D,
82
- role: E,
83
- "aria-label": I,
84
- tabIndex: j,
85
- onKeyDown: A,
86
- ...gt,
87
- "data-form-spaced": Q || void 0,
88
- style: Object.keys(M).length > 0 ? M : void 0,
89
- className: mt(
98
+ ref: R,
99
+ role: k,
100
+ "aria-label": x,
101
+ tabIndex: z,
102
+ onKeyDown: N,
103
+ ...yt,
104
+ "data-form-spaced": G || void 0,
105
+ style: Object.keys(w).length > 0 ? w : void 0,
106
+ className: Ot(
90
107
  [
91
- S,
92
- i && `bg-${i}`,
93
- l && `bg-${l}`,
94
- n && `border-${n}`,
95
- s && `border-${s}`,
108
+ v,
109
+ e && `bg-${e}`,
110
+ n && `bg-${n}`,
111
+ r && `border-${r}`,
112
+ d && `border-${d}`,
96
113
  g && `fill-${g}`,
97
114
  p && `fill-${p}`,
98
- G && "hide-on-desktop",
99
- V && "hide-on-mobile",
100
- W && "hide-on-tablet-landscape",
101
- q && "hide-on-tablet-portrait",
102
- t && `margin-right-${t} margin-left-${t}`,
103
- o && `padding-right-${o} padding-left-${o}`,
104
- J && "horizontally-centre-this",
105
- K && "horizontally-centre-this",
106
- U && "is-clickable",
107
- X && "full-height",
108
- Y && "full-width",
109
- Z && "layout-flexbox",
110
- _ && "layout-grid",
111
- tt && "stack-vertically",
112
- ot && "stack-horizontally",
113
- h && `gap-${h}`,
114
- m && `margin-left-${m}`,
115
- c && `margin-bottom-${c}`,
116
- b && `margin-all-${b}`,
117
- y && `margin-right-${y}`,
118
- $ && `margin-top-${$}`,
119
- u && `opacity-${u}`,
120
- f && `padding-bottom-${f}`,
121
- C && `padding-left-${C}`,
122
- k && `padding-all-${k}`,
123
- O && `padding-right-${O}`,
124
- w && `padding-top-${w}`,
125
- et && "push-to-ends",
126
- v && `shadow-${v}`,
127
- x && `shape-${x}`,
128
- at && "show-only-on-desktop",
129
- it && "show-only-on-mobile",
130
- lt && "show-only-on-tablet-landscape",
131
- rt && "show-only-on-tablet-portrait",
132
- z && `size-${z}`,
133
- T && `stroke-${T}`,
134
- N && `stroke-${N}`,
135
- P && `text-${P}`,
136
- F && `text-${F}`,
137
- e && `margin-top-${e} margin-bottom-${e}`,
138
- a && `padding-top-${a} padding-bottom-${a}`,
139
- nt && "vertically-centre-items",
140
- st && "vertically-centre-items",
141
- L && `weight-${L}`
142
- ].concat(H)
115
+ P && "hide-on-desktop",
116
+ E && "hide-on-mobile",
117
+ F && "hide-on-tablet-landscape",
118
+ I && "hide-on-tablet-portrait",
119
+ j && "horizontally-centre-this",
120
+ D && "horizontally-centre-this",
121
+ H && "is-clickable",
122
+ K && "full-height",
123
+ V && "full-width",
124
+ W && "layout-flexbox",
125
+ (_ || a) && "layout-grid",
126
+ q && "list-vertically",
127
+ J && "list-horizontally",
128
+ m && `opacity-${m}`,
129
+ nt && "push-to-ends",
130
+ h && `shadow-${h}`,
131
+ c && `shape-${c}`,
132
+ lt && "show-only-on-desktop",
133
+ rt && "show-only-on-mobile",
134
+ dt && "show-only-on-tablet-landscape",
135
+ st && "show-only-on-tablet-portrait",
136
+ y && `size-${y}`,
137
+ b && `stroke-${b}`,
138
+ $ && `stroke-${$}`,
139
+ f && `text-${f}`,
140
+ u && `text-${u}`,
141
+ mt && "vertically-centre-items",
142
+ ht && "vertically-centre-items",
143
+ C && `weight-${C}`
144
+ ].concat(O, S)
143
145
  )
144
146
  }
145
147
  );
146
148
  }
147
149
  );
148
- ct.displayName = "Element";
150
+ kt.displayName = "Element";
149
151
  export {
150
- ct as Element
152
+ kt as Element
151
153
  };
152
154
  //# sourceMappingURL=Element.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Element.js","sources":["../../../src/components/Element/Element.tsx"],"sourcesContent":["// REACT CORE ==========================================================================================================\nimport React from \"react\";\n\n// UTILS ===============================================================================================================\nimport { createClassName } from \"$utils/classNames\";\n\n// OTHER ===============================================================================================================\nimport { ElementProps } from \"./constants\";\n\n// COMPONENT ///////////////////////////////////////////////////////////////////////////////////////////////////////////\n// Internally typed against HTMLElement (the underlying forwardRef call can\n// only carry one ref type). The exported cast below re-types `Element` as a\n// generic component so `<Element<HTMLButtonElement>>` actually flows a button-\n// typed ref through to consumers — `forwardRef` strips the generic K from the\n// outer signature without this cast.\nexport const Element = React.forwardRef(\n <K extends HTMLElement>(\n {\n as : Component = \"div\",\n role,\n ariaLabel,\n tabIndex,\n onKeyDown,\n ...props\n }: ElementProps<K> & {\n role ? : string;\n ariaLabel ? : string;\n tabIndex ? : number;\n onKeyDown ? : (event: React.KeyboardEvent) => void;\n }, ref: React.Ref<HTMLElement>\n ) => {\n const {\n classNames = [],\n bgColor,\n bgColour,\n bgOpacity,\n borderColor,\n borderColour,\n borderOpacity,\n className,\n columns,\n fillColor,\n fillColour,\n gap,\n hideOnDesktop,\n hideOnMobile,\n hideOnTabletLandscape,\n hideOnTabletPortrait,\n horizontalMargin,\n horizontalPadding,\n horizontallyCenterThis,\n horizontallyCentreThis,\n inheritFormSpacing,\n isClickable,\n isFullHeight,\n isFullWidth,\n layoutAsFlexbox,\n layoutAsGrid,\n stackVertically,\n stackHorizontally,\n marginLeft,\n marginBottom,\n margin,\n marginRight,\n marginTop,\n opacity,\n paddingBottom,\n paddingLeft,\n padding,\n paddingRight,\n paddingTop,\n pushItemsToEnds,\n shadow,\n shape,\n showOnlyOnDesktop,\n showOnlyOnMobile,\n showOnlyOnTabletLandscape,\n showOnlyOnTabletPortrait,\n size,\n strokeColor,\n strokeColour,\n textColor,\n textColour,\n verticalMargin,\n verticalPadding,\n verticallyCenterItems,\n verticallyCentreItems,\n weight,\n style,\n ...minimalProps\n } = props;\n\n // Build style object with opacity CSS custom properties\n const computedStyle = {\n ...style,\n ...(bgOpacity && { \"--bg-opacity\": Number(bgOpacity) / 100 }),\n ...(borderOpacity && { \"--border-opacity\": Number(borderOpacity) / 100 }),\n } as React.CSSProperties;\n\n return (\n <Component\n ref={ref}\n role={role}\n aria-label={ariaLabel}\n tabIndex={tabIndex}\n onKeyDown={onKeyDown}\n {...minimalProps}\n data-form-spaced={inheritFormSpacing || undefined}\n style={Object.keys(computedStyle).length > 0 ? computedStyle : undefined}\n className={createClassName(\n [\n className,\n bgColor && `bg-${bgColor}`,\n bgColour && `bg-${bgColour}`,\n borderColor && `border-${borderColor}`,\n borderColour && `border-${borderColour}`,\n fillColor && `fill-${fillColor}`,\n fillColour && `fill-${fillColour}`,\n hideOnDesktop && \"hide-on-desktop\",\n hideOnMobile && \"hide-on-mobile\",\n hideOnTabletLandscape && \"hide-on-tablet-landscape\",\n hideOnTabletPortrait && \"hide-on-tablet-portrait\",\n horizontalMargin && `margin-right-${horizontalMargin} margin-left-${horizontalMargin}`,\n horizontalPadding && `padding-right-${horizontalPadding} padding-left-${horizontalPadding}`,\n horizontallyCenterThis && \"horizontally-centre-this\",\n horizontallyCentreThis && \"horizontally-centre-this\",\n isClickable && \"is-clickable\",\n isFullHeight && \"full-height\",\n isFullWidth && \"full-width\",\n layoutAsFlexbox && \"layout-flexbox\",\n layoutAsGrid && \"layout-grid\",\n stackVertically && \"stack-vertically\",\n stackHorizontally && \"stack-horizontally\",\n gap && `gap-${gap}`,\n marginLeft && `margin-left-${marginLeft}`,\n marginBottom && `margin-bottom-${marginBottom}`,\n margin && `margin-all-${margin}`,\n marginRight && `margin-right-${marginRight}`,\n marginTop && `margin-top-${marginTop}`,\n opacity && `opacity-${opacity}`,\n paddingBottom && `padding-bottom-${paddingBottom}`,\n paddingLeft && `padding-left-${paddingLeft}`,\n padding && `padding-all-${padding}`,\n paddingRight && `padding-right-${paddingRight}`,\n paddingTop && `padding-top-${paddingTop}`,\n pushItemsToEnds && \"push-to-ends\",\n shadow && `shadow-${shadow}`,\n shape && `shape-${shape}`,\n showOnlyOnDesktop && \"show-only-on-desktop\",\n showOnlyOnMobile && \"show-only-on-mobile\",\n showOnlyOnTabletLandscape && \"show-only-on-tablet-landscape\",\n showOnlyOnTabletPortrait && \"show-only-on-tablet-portrait\",\n size && `size-${size}`,\n strokeColor && `stroke-${strokeColor}`,\n strokeColour && `stroke-${strokeColour}`,\n textColor && `text-${textColor}`,\n textColour && `text-${textColour}`,\n verticalMargin && `margin-top-${verticalMargin} margin-bottom-${verticalMargin}`,\n verticalPadding && `padding-top-${verticalPadding} padding-bottom-${verticalPadding}`,\n verticallyCenterItems && \"vertically-centre-items\",\n verticallyCentreItems && \"vertically-centre-items\",\n weight && `weight-${weight}`,\n ].concat(classNames),\n )}\n />\n );\n },\n) as <K extends HTMLElement = HTMLElement>(\n props: ElementProps<K> & {\n role ? : string;\n ariaLabel ? : string;\n tabIndex ? : number;\n onKeyDown ? : React.KeyboardEventHandler<K>;\n ref ? : React.Ref<K>;\n },\n) => React.ReactElement;\n(Element as any).displayName = \"Element\";\n"],"names":["Element","React","Component","role","ariaLabel","tabIndex","onKeyDown","props","ref","classNames","bgColor","bgColour","bgOpacity","borderColor","borderColour","borderOpacity","className","columns","fillColor","fillColour","gap","hideOnDesktop","hideOnMobile","hideOnTabletLandscape","hideOnTabletPortrait","horizontalMargin","horizontalPadding","horizontallyCenterThis","horizontallyCentreThis","inheritFormSpacing","isClickable","isFullHeight","isFullWidth","layoutAsFlexbox","layoutAsGrid","stackVertically","stackHorizontally","marginLeft","marginBottom","margin","marginRight","marginTop","opacity","paddingBottom","paddingLeft","padding","paddingRight","paddingTop","pushItemsToEnds","shadow","shape","showOnlyOnDesktop","showOnlyOnMobile","showOnlyOnTabletLandscape","showOnlyOnTabletPortrait","size","strokeColor","strokeColour","textColor","textColour","verticalMargin","verticalPadding","verticallyCenterItems","verticallyCentreItems","weight","style","minimalProps","computedStyle","jsx","createClassName"],"mappings":"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"}
1
+ {"version":3,"file":"Element.js","sources":["../../../src/components/Element/Element.tsx"],"sourcesContent":["// REACT CORE ==========================================================================================================\nimport React from \"react\";\n\n// UTILS ===============================================================================================================\nimport { createClassName } from \"$utils/classNames\";\n\n// OTHER ===============================================================================================================\nimport { ElementProps } from \"./constants\";\n\n// Spacing props accept a scale token OR an arbitrary CSS length. Tokens map to a\n// utility class (stays in @layer fictoan, overridable); anything else is treated\n// as a raw length and applied via inline style.\nconst SPACING_TOKENS = new Set<string>([\n \"none\", \"nano\", \"micro\", \"tiny\", \"small\", \"medium\", \"large\", \"huge\",\n]);\nconst isSpacingToken = (value: string): boolean => SPACING_TOKENS.has(value);\n\n// COMPONENT ///////////////////////////////////////////////////////////////////////////////////////////////////////////\n// Internally typed against HTMLElement (the underlying forwardRef call can\n// only carry one ref type). The exported cast below re-types `Element` as a\n// generic component so `<Element<HTMLButtonElement>>` actually flows a button-\n// typed ref through to consumers — `forwardRef` strips the generic K from the\n// outer signature without this cast.\nexport const Element = React.forwardRef(\n <K extends HTMLElement>(\n {\n as : Component = \"div\",\n role,\n ariaLabel,\n tabIndex,\n onKeyDown,\n ...props\n }: ElementProps<K> & {\n role ? : string;\n ariaLabel ? : string;\n tabIndex ? : number;\n onKeyDown ? : (event: React.KeyboardEvent) => void;\n }, ref: React.Ref<HTMLElement>\n ) => {\n const {\n classNames = [],\n bgColor,\n bgColour,\n bgOpacity,\n borderColor,\n borderColour,\n borderOpacity,\n className,\n columns,\n fillColor,\n fillColour,\n gap,\n hideOnDesktop,\n hideOnMobile,\n hideOnTabletLandscape,\n hideOnTabletPortrait,\n horizontalMargin,\n horizontalPadding,\n horizontallyCenterThis,\n horizontallyCentreThis,\n inheritFormSpacing,\n isClickable,\n isFullHeight,\n isFullWidth,\n layoutAsFlexbox,\n layoutAsGrid,\n listVertically,\n listHorizontally,\n marginLeft,\n marginBottom,\n margin,\n marginRight,\n marginTop,\n opacity,\n paddingBottom,\n paddingLeft,\n padding,\n paddingRight,\n paddingTop,\n pushItemsToEnds,\n shadow,\n shape,\n showOnlyOnDesktop,\n showOnlyOnMobile,\n showOnlyOnTabletLandscape,\n showOnlyOnTabletPortrait,\n size,\n strokeColor,\n strokeColour,\n textColor,\n textColour,\n verticalMargin,\n verticalPadding,\n verticallyCenterItems,\n verticallyCentreItems,\n weight,\n style,\n ...minimalProps\n } = props;\n\n // Spacing props: a scale token emits a utility class; any other string is\n // treated as a raw CSS length and applied via inline style.\n const spacingClasses: string[] = [];\n const spacingStyle: Record<string, string> = {};\n const applySpacing = (\n value : string | undefined,\n tokenClass : (token: string) => string,\n cssProps : string[],\n ) => {\n if (!value) return;\n if (isSpacingToken(value)) {\n spacingClasses.push(tokenClass(value));\n } else {\n cssProps.forEach((prop) => { spacingStyle[prop] = value; });\n }\n };\n\n applySpacing(gap, (t) => `gap-${t}`, [\"gap\"]);\n applySpacing(margin, (t) => `margin-all-${t}`, [\"margin\"]);\n applySpacing(marginTop, (t) => `margin-top-${t}`, [\"marginTop\"]);\n applySpacing(marginRight, (t) => `margin-right-${t}`, [\"marginRight\"]);\n applySpacing(marginBottom, (t) => `margin-bottom-${t}`, [\"marginBottom\"]);\n applySpacing(marginLeft, (t) => `margin-left-${t}`, [\"marginLeft\"]);\n applySpacing(horizontalMargin, (t) => `margin-right-${t} margin-left-${t}`, [\"marginLeft\", \"marginRight\"]);\n applySpacing(verticalMargin, (t) => `margin-top-${t} margin-bottom-${t}`, [\"marginTop\", \"marginBottom\"]);\n applySpacing(padding, (t) => `padding-all-${t}`, [\"padding\"]);\n applySpacing(paddingTop, (t) => `padding-top-${t}`, [\"paddingTop\"]);\n applySpacing(paddingRight, (t) => `padding-right-${t}`, [\"paddingRight\"]);\n applySpacing(paddingBottom, (t) => `padding-bottom-${t}`, [\"paddingBottom\"]);\n applySpacing(paddingLeft, (t) => `padding-left-${t}`, [\"paddingLeft\"]);\n applySpacing(horizontalPadding, (t) => `padding-right-${t} padding-left-${t}`, [\"paddingLeft\", \"paddingRight\"]);\n applySpacing(verticalPadding, (t) => `padding-top-${t} padding-bottom-${t}`, [\"paddingTop\", \"paddingBottom\"]);\n\n // Build style object: user style + opacity custom properties + arbitrary spacing\n const computedStyle = {\n ...style,\n ...(bgOpacity && { \"--bg-opacity\": Number(bgOpacity) / 100 }),\n ...(borderOpacity && { \"--border-opacity\": Number(borderOpacity) / 100 }),\n ...(columns && { gridTemplateColumns: `repeat(${columns}, 1fr)` }),\n ...spacingStyle,\n } as React.CSSProperties;\n\n return (\n <Component\n ref={ref}\n role={role}\n aria-label={ariaLabel}\n tabIndex={tabIndex}\n onKeyDown={onKeyDown}\n {...minimalProps}\n data-form-spaced={inheritFormSpacing || undefined}\n style={Object.keys(computedStyle).length > 0 ? computedStyle : undefined}\n className={createClassName(\n [\n className,\n bgColor && `bg-${bgColor}`,\n bgColour && `bg-${bgColour}`,\n borderColor && `border-${borderColor}`,\n borderColour && `border-${borderColour}`,\n fillColor && `fill-${fillColor}`,\n fillColour && `fill-${fillColour}`,\n hideOnDesktop && \"hide-on-desktop\",\n hideOnMobile && \"hide-on-mobile\",\n hideOnTabletLandscape && \"hide-on-tablet-landscape\",\n hideOnTabletPortrait && \"hide-on-tablet-portrait\",\n horizontallyCenterThis && \"horizontally-centre-this\",\n horizontallyCentreThis && \"horizontally-centre-this\",\n isClickable && \"is-clickable\",\n isFullHeight && \"full-height\",\n isFullWidth && \"full-width\",\n layoutAsFlexbox && \"layout-flexbox\",\n (layoutAsGrid || columns) && \"layout-grid\",\n listVertically && \"list-vertically\",\n listHorizontally && \"list-horizontally\",\n opacity && `opacity-${opacity}`,\n pushItemsToEnds && \"push-to-ends\",\n shadow && `shadow-${shadow}`,\n shape && `shape-${shape}`,\n showOnlyOnDesktop && \"show-only-on-desktop\",\n showOnlyOnMobile && \"show-only-on-mobile\",\n showOnlyOnTabletLandscape && \"show-only-on-tablet-landscape\",\n showOnlyOnTabletPortrait && \"show-only-on-tablet-portrait\",\n size && `size-${size}`,\n strokeColor && `stroke-${strokeColor}`,\n strokeColour && `stroke-${strokeColour}`,\n textColor && `text-${textColor}`,\n textColour && `text-${textColour}`,\n verticallyCenterItems && \"vertically-centre-items\",\n verticallyCentreItems && \"vertically-centre-items\",\n weight && `weight-${weight}`,\n ].concat(spacingClasses, classNames),\n )}\n />\n );\n },\n) as <K extends HTMLElement = HTMLElement>(\n props: ElementProps<K> & {\n role ? : string;\n ariaLabel ? : string;\n tabIndex ? : number;\n onKeyDown ? : React.KeyboardEventHandler<K>;\n ref ? : React.Ref<K>;\n },\n) => React.ReactElement;\n(Element as any).displayName = \"Element\";\n"],"names":["SPACING_TOKENS","isSpacingToken","value","Element","React","Component","role","ariaLabel","tabIndex","onKeyDown","props","ref","classNames","bgColor","bgColour","bgOpacity","borderColor","borderColour","borderOpacity","className","columns","fillColor","fillColour","gap","hideOnDesktop","hideOnMobile","hideOnTabletLandscape","hideOnTabletPortrait","horizontalMargin","horizontalPadding","horizontallyCenterThis","horizontallyCentreThis","inheritFormSpacing","isClickable","isFullHeight","isFullWidth","layoutAsFlexbox","layoutAsGrid","listVertically","listHorizontally","marginLeft","marginBottom","margin","marginRight","marginTop","opacity","paddingBottom","paddingLeft","padding","paddingRight","paddingTop","pushItemsToEnds","shadow","shape","showOnlyOnDesktop","showOnlyOnMobile","showOnlyOnTabletLandscape","showOnlyOnTabletPortrait","size","strokeColor","strokeColour","textColor","textColour","verticalMargin","verticalPadding","verticallyCenterItems","verticallyCentreItems","weight","style","minimalProps","spacingClasses","spacingStyle","applySpacing","tokenClass","cssProps","prop","computedStyle","jsx","createClassName"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { ElementType, FormEvent, HTMLProps } from 'react';
1
+ import { ElementType, HTMLProps } from 'react';
2
2
  import { OklchColourName } from '../../styles/colours';
3
3
 
4
4
  export declare const BasicColours: readonly ["transparent", "black", "white"];
@@ -10,6 +10,7 @@ type OpacityLevel = 0 | 5 | 10 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90;
10
10
  type CustomColours = "hue" | "tint" | "shade" | "analogue" | "accent";
11
11
  export type EmphasisTypes = "primary" | "secondary" | "tertiary" | "custom";
12
12
  export type SpacingTypes = "none" | "nano" | "micro" | "tiny" | "small" | "medium" | "large" | "huge";
13
+ export type SpacingOrLength = SpacingTypes | (string & {});
13
14
  export type ShadowTypes = "none" | "mild" | "hard" | "soft";
14
15
  export type ShapeTypes = "rounded" | "curved";
15
16
  export type OpacityTypes = "0" | "5" | "10" | "20" | "30" | "40" | "50" | "60" | "70" | "80" | "90";
@@ -33,25 +34,25 @@ export interface CommonProps {
33
34
  shape?: ShapeTypes;
34
35
  opacity?: OpacityTypes;
35
36
  layoutAsFlexbox?: boolean;
36
- stackVertically?: boolean;
37
- stackHorizontally?: boolean;
37
+ listVertically?: boolean;
38
+ listHorizontally?: boolean;
38
39
  layoutAsGrid?: boolean;
39
- columns?: string;
40
- gap?: SpacingTypes;
41
- margin?: SpacingTypes;
42
- horizontalMargin?: SpacingTypes;
43
- verticalMargin?: SpacingTypes;
44
- marginTop?: SpacingTypes;
45
- marginRight?: SpacingTypes;
46
- marginBottom?: SpacingTypes;
47
- marginLeft?: SpacingTypes;
48
- padding?: SpacingTypes;
49
- horizontalPadding?: SpacingTypes;
50
- verticalPadding?: SpacingTypes;
51
- paddingTop?: SpacingTypes;
52
- paddingRight?: SpacingTypes;
53
- paddingBottom?: SpacingTypes;
54
- paddingLeft?: SpacingTypes;
40
+ columns?: number;
41
+ gap?: SpacingOrLength;
42
+ margin?: SpacingOrLength;
43
+ horizontalMargin?: SpacingOrLength;
44
+ verticalMargin?: SpacingOrLength;
45
+ marginTop?: SpacingOrLength;
46
+ marginRight?: SpacingOrLength;
47
+ marginBottom?: SpacingOrLength;
48
+ marginLeft?: SpacingOrLength;
49
+ padding?: SpacingOrLength;
50
+ horizontalPadding?: SpacingOrLength;
51
+ verticalPadding?: SpacingOrLength;
52
+ paddingTop?: SpacingOrLength;
53
+ paddingRight?: SpacingOrLength;
54
+ paddingBottom?: SpacingOrLength;
55
+ paddingLeft?: SpacingOrLength;
55
56
  horizontallyCentreThis?: boolean;
56
57
  horizontallyCenterThis?: boolean;
57
58
  verticallyCentreItems?: boolean;
@@ -74,12 +75,11 @@ export interface CommonProps {
74
75
  }
75
76
  export interface CommonAndHTMLProps<T extends {}> extends CommonProps, Omit<HTMLProps<T>, "as" | "size" | "ref" | "shape"> {
76
77
  }
77
- export type FlexibleEventHandler<T, V = any> = ((event: T) => void) | ((value: V) => void);
78
+ export type FlexibleEventHandler<T, V = unknown> = ((event: T) => void) | ((value: V) => void);
78
79
  export interface ElementProps<T extends {}> extends CommonProps, Omit<HTMLProps<T>, "as" | "ref" | "shape"> {
79
80
  as?: ElementType;
80
81
  className?: string;
81
82
  ariaLabel?: string;
82
- onChange?: FlexibleEventHandler<FormEvent<T>, any>;
83
83
  }
84
84
  export {};
85
85
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/components/Element/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/components/Element/constants.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sources":["../../../src/components/Element/constants.ts"],"sourcesContent":["// REACT CORE ==========================================================================================================\nimport { ElementType, FormEvent, HTMLProps } from \"react\";\n\n// STYLES ==============================================================================================================\nimport { oklchColourDefinitions, type OklchColourName } from \"../../styles/colours\";\n\n// Basic colours without hue/chroma (not part of OKLCH definitions)\nexport const BasicColours = [ \"transparent\", \"black\", \"white\" ] as const;\ntype BasicColoursType = typeof BasicColours[number];\n\n// Combined list of all available colours\nexport const FictoanColours = [ ...Object.keys(oklchColourDefinitions), ...BasicColours ] as const;\n\ntype Luminance = \"dark\" | \"light\";\ntype ShadeLevel = 10 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90;\ntype OpacityLevel = 0 | 5 | 10 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90;\ntype CustomColours = \"hue\" | \"tint\" | \"shade\" | \"analogue\" | \"accent\";\n\n// prettier-ignore\nexport type EmphasisTypes = \"primary\" | \"secondary\" | \"tertiary\" | \"custom\";\nexport type SpacingTypes = \"none\" | \"nano\" | \"micro\" | \"tiny\" | \"small\" | \"medium\" | \"large\" | \"huge\";\nexport type ShadowTypes = \"none\" | \"mild\" | \"hard\" | \"soft\";\nexport type ShapeTypes = \"rounded\" | \"curved\";\nexport type OpacityTypes = \"0\" | \"5\" | \"10\" | \"20\" | \"30\" | \"40\" | \"50\" | \"60\" | \"70\" | \"80\" | \"90\";\nexport type WeightTypes = \"100\" | \"200\" | \"300\" | \"400\" | \"500\" | \"600\" | \"700\" | \"800\" | \"900\";\nexport type ButtonVariantTypes = \"success\" | \"warning\" | \"danger\";\n\nexport type ColourPropTypes =\n | `${OklchColourName}-${Luminance}${ShadeLevel}`\n | `${OklchColourName}-${Luminance}${ShadeLevel}-opacity${OpacityLevel}`\n | `${OklchColourName}-opacity${OpacityLevel}`\n | `${BasicColoursType}-opacity${OpacityLevel}`\n | OklchColourName\n | BasicColoursType\n | CustomColours\n | \"\";\n\nexport interface CommonProps {\n bgColor ? : ColourPropTypes;\n bgColour ? : ColourPropTypes;\n bgOpacity ? : OpacityTypes;\n textColor ? : ColourPropTypes;\n textColour ? : ColourPropTypes;\n borderColor ? : ColourPropTypes;\n borderColour ? : ColourPropTypes;\n borderOpacity ? : OpacityTypes;\n fillColor ? : ColourPropTypes;\n fillColour ? : ColourPropTypes;\n strokeColor ? : ColourPropTypes;\n strokeColour ? : ColourPropTypes;\n shadow ? : ShadowTypes;\n shape ? : ShapeTypes;\n opacity ? : OpacityTypes;\n // Flexbox -----------------------------------------------------------------\n layoutAsFlexbox ? : boolean;\n stackVertically ? : boolean;\n stackHorizontally ? : boolean;\n // Grid --------------------------------------------------------------------\n layoutAsGrid ? : boolean;\n columns ? : string;\n // Common ------------------------------------------------------------------\n gap ? : SpacingTypes;\n // Margin ------------------------------------------------------------------\n margin ? : SpacingTypes;\n horizontalMargin ? : SpacingTypes;\n verticalMargin ? : SpacingTypes;\n marginTop ? : SpacingTypes;\n marginRight ? : SpacingTypes;\n marginBottom ? : SpacingTypes;\n marginLeft ? : SpacingTypes;\n // Padding -----------------------------------------------------------------\n padding ? : SpacingTypes;\n horizontalPadding ? : SpacingTypes;\n verticalPadding ? : SpacingTypes;\n paddingTop ? : SpacingTypes;\n paddingRight ? : SpacingTypes;\n paddingBottom ? : SpacingTypes;\n paddingLeft ? : SpacingTypes;\n horizontallyCentreThis ? : boolean;\n horizontallyCenterThis ? : boolean;\n verticallyCentreItems ? : boolean;\n verticallyCenterItems ? : boolean;\n pushItemsToEnds ? : boolean;\n isClickable ? : boolean;\n isFullWidth ? : boolean;\n isFullHeight ? : boolean;\n inheritFormSpacing ? : boolean;\n hideOnMobile ? : boolean;\n showOnlyOnMobile ? : boolean;\n hideOnTabletPortrait ? : boolean;\n showOnlyOnTabletPortrait ? : boolean;\n hideOnTabletLandscape ? : boolean;\n showOnlyOnTabletLandscape ? : boolean;\n hideOnDesktop ? : boolean;\n showOnlyOnDesktop ? : boolean;\n weight ? : WeightTypes;\n classNames ? : string[];\n}\n\nexport interface CommonAndHTMLProps<T extends {}>\n extends CommonProps, Omit<HTMLProps<T>, \"as\" | \"size\" | \"ref\" | \"shape\"> {}\n\n// Fictoan has two different types of event handlers, one for standard events and one for direct values\n// This generic event handler type is a union of the two\nexport type FlexibleEventHandler<T, V = any> =\n | ((event : T) => void)\n | ((value : V) => void);\n\nexport interface ElementProps<T extends {}> extends CommonProps, Omit<HTMLProps<T>, \"as\" | \"ref\" | \"shape\"> {\n as ? : ElementType;\n className ? : string;\n ariaLabel ? : string;\n onChange ? : FlexibleEventHandler<FormEvent<T>, any>;\n}\n"],"names":["BasicColours","FictoanColours","oklchColourDefinitions"],"mappings":";AAOO,MAAMA,IAAe,CAAE,eAAe,SAAS,OAAQ,GAIjDC,IAAiB,CAAE,GAAG,OAAO,KAAKC,CAAsB,GAAG,GAAGF,CAAa;"}
1
+ {"version":3,"file":"constants.js","sources":["../../../src/components/Element/constants.ts"],"sourcesContent":["// REACT CORE ==========================================================================================================\nimport { ElementType, HTMLProps } from \"react\";\n\n// STYLES ==============================================================================================================\nimport { oklchColourDefinitions, type OklchColourName } from \"../../styles/colours\";\n\n// Basic colours without hue/chroma (not part of OKLCH definitions)\nexport const BasicColours = [ \"transparent\", \"black\", \"white\" ] as const;\ntype BasicColoursType = typeof BasicColours[number];\n\n// Combined list of all available colours\nexport const FictoanColours = [ ...Object.keys(oklchColourDefinitions), ...BasicColours ] as const;\n\ntype Luminance = \"dark\" | \"light\";\ntype ShadeLevel = 10 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90;\ntype OpacityLevel = 0 | 5 | 10 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90;\ntype CustomColours = \"hue\" | \"tint\" | \"shade\" | \"analogue\" | \"accent\";\n\n// prettier-ignore\nexport type EmphasisTypes = \"primary\" | \"secondary\" | \"tertiary\" | \"custom\";\nexport type SpacingTypes = \"none\" | \"nano\" | \"micro\" | \"tiny\" | \"small\" | \"medium\" | \"large\" | \"huge\";\n// A spacing prop accepts a scale token (preferred — emits a utility class) OR any CSS\n// length string (e.g. \"4px\", \"20vw\", \"calc(100% - 8px)\") which is applied via inline style.\n// The `& {}` keeps autocomplete suggesting the tokens while still allowing any string.\nexport type SpacingOrLength = SpacingTypes | (string & {});\nexport type ShadowTypes = \"none\" | \"mild\" | \"hard\" | \"soft\";\nexport type ShapeTypes = \"rounded\" | \"curved\";\nexport type OpacityTypes = \"0\" | \"5\" | \"10\" | \"20\" | \"30\" | \"40\" | \"50\" | \"60\" | \"70\" | \"80\" | \"90\";\nexport type WeightTypes = \"100\" | \"200\" | \"300\" | \"400\" | \"500\" | \"600\" | \"700\" | \"800\" | \"900\";\nexport type ButtonVariantTypes = \"success\" | \"warning\" | \"danger\";\n\nexport type ColourPropTypes =\n | `${OklchColourName}-${Luminance}${ShadeLevel}`\n | `${OklchColourName}-${Luminance}${ShadeLevel}-opacity${OpacityLevel}`\n | `${OklchColourName}-opacity${OpacityLevel}`\n | `${BasicColoursType}-opacity${OpacityLevel}`\n | OklchColourName\n | BasicColoursType\n | CustomColours\n | \"\";\n\nexport interface CommonProps {\n bgColor ? : ColourPropTypes;\n bgColour ? : ColourPropTypes;\n bgOpacity ? : OpacityTypes;\n textColor ? : ColourPropTypes;\n textColour ? : ColourPropTypes;\n borderColor ? : ColourPropTypes;\n borderColour ? : ColourPropTypes;\n borderOpacity ? : OpacityTypes;\n fillColor ? : ColourPropTypes;\n fillColour ? : ColourPropTypes;\n strokeColor ? : ColourPropTypes;\n strokeColour ? : ColourPropTypes;\n shadow ? : ShadowTypes;\n shape ? : ShapeTypes;\n opacity ? : OpacityTypes;\n // Flexbox -----------------------------------------------------------------\n layoutAsFlexbox ? : boolean;\n listVertically ? : boolean;\n listHorizontally ? : boolean;\n // Grid --------------------------------------------------------------------\n layoutAsGrid ? : boolean;\n columns ? : number;\n // Common ------------------------------------------------------------------\n gap ? : SpacingOrLength;\n // Margin ------------------------------------------------------------------\n margin ? : SpacingOrLength;\n horizontalMargin ? : SpacingOrLength;\n verticalMargin ? : SpacingOrLength;\n marginTop ? : SpacingOrLength;\n marginRight ? : SpacingOrLength;\n marginBottom ? : SpacingOrLength;\n marginLeft ? : SpacingOrLength;\n // Padding -----------------------------------------------------------------\n padding ? : SpacingOrLength;\n horizontalPadding ? : SpacingOrLength;\n verticalPadding ? : SpacingOrLength;\n paddingTop ? : SpacingOrLength;\n paddingRight ? : SpacingOrLength;\n paddingBottom ? : SpacingOrLength;\n paddingLeft ? : SpacingOrLength;\n horizontallyCentreThis ? : boolean;\n horizontallyCenterThis ? : boolean;\n verticallyCentreItems ? : boolean;\n verticallyCenterItems ? : boolean;\n pushItemsToEnds ? : boolean;\n isClickable ? : boolean;\n isFullWidth ? : boolean;\n isFullHeight ? : boolean;\n inheritFormSpacing ? : boolean;\n hideOnMobile ? : boolean;\n showOnlyOnMobile ? : boolean;\n hideOnTabletPortrait ? : boolean;\n showOnlyOnTabletPortrait ? : boolean;\n hideOnTabletLandscape ? : boolean;\n showOnlyOnTabletLandscape ? : boolean;\n hideOnDesktop ? : boolean;\n showOnlyOnDesktop ? : boolean;\n weight ? : WeightTypes;\n classNames ? : string[];\n}\n\nexport interface CommonAndHTMLProps<T extends {}>\n extends CommonProps, Omit<HTMLProps<T>, \"as\" | \"size\" | \"ref\" | \"shape\"> {}\n\n// Fictoan has two different types of event handlers, one for standard events and one for direct values\n// This generic event handler type is a union of the two\nexport type FlexibleEventHandler<T, V = unknown> =\n | ((event : T) => void)\n | ((value : V) => void);\n\nexport interface ElementProps<T extends {}> extends CommonProps, Omit<HTMLProps<T>, \"as\" | \"ref\" | \"shape\"> {\n as ? : ElementType;\n className ? : string;\n ariaLabel ? : string;\n}\n"],"names":["BasicColours","FictoanColours","oklchColourDefinitions"],"mappings":";AAOO,MAAMA,IAAe,CAAE,eAAe,SAAS,OAAQ,GAIjDC,IAAiB,CAAE,GAAG,OAAO,KAAKC,CAAsB,GAAG,GAAGF,CAAa;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Switch.d.ts","sourceRoot":"","sources":["../../../../src/components/Form/Checkbox/Switch.tsx"],"names":[],"mappings":"AACA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAIvC,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAMvD,OAAO,cAAc,CAAC;AAItB,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,MAAM,MAAM,iBAAiB,GAAG,gBAAgB,CAAC;AACjD,MAAM,MAAM,WAAW,GAAG,qBAAqB,GAAG;IAC9C,EAAe,CAAC,EAAG,MAAM,CAAC;IAC1B,IAAe,CAAC,EAAG,MAAM,CAAC;IAC1B,OAAe,CAAC,EAAG,OAAO,CAAC;IAC3B,cAAe,CAAC,EAAG,OAAO,CAAC;IAC3B,QAAe,CAAC,EAAG,OAAO,CAAC;IAC3B,QAAe,CAAC,EAAG,OAAO,CAAC;IAC3B,QAAe,CAAC,EAAG,CAAC,OAAO,EAAG,OAAO,KAAK,IAAI,CAAC;IAC/C,IAAe,CAAC,EAAG,OAAO,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;IAC1D,QAAe,CAAC,EAAG,MAAM,CAAC;IAC1B,SAAe,CAAC,EAAG,MAAM,CAAC;IAC1B,UAAe,CAAC,EAAG,OAAO,CAAC;CAC9B,CAAC;AAGF,eAAO,MAAM,MAAM;SAdI,MAAM;WACN,MAAM;cACN,OAAO;qBACP,OAAO;eACP,OAAO;eACP,OAAO;eACP,CAAC,OAAO,EAAG,OAAO,KAAK,IAAI;WAC3B,OAAO,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC;eACtC,MAAM;gBACN,MAAM;iBACN,OAAO;0CA0E7B,CAAC"}
1
+ {"version":3,"file":"Switch.d.ts","sourceRoot":"","sources":["../../../../src/components/Form/Checkbox/Switch.tsx"],"names":[],"mappings":"AACA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAIvC,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAMvD,OAAO,cAAc,CAAC;AAItB,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,MAAM,MAAM,iBAAiB,GAAG,gBAAgB,CAAC;AACjD,MAAM,MAAM,WAAW,GAAG,qBAAqB,GAAG;IAC9C,EAAe,CAAC,EAAG,MAAM,CAAC;IAC1B,IAAe,CAAC,EAAG,MAAM,CAAC;IAC1B,OAAe,CAAC,EAAG,OAAO,CAAC;IAC3B,cAAe,CAAC,EAAG,OAAO,CAAC;IAC3B,QAAe,CAAC,EAAG,OAAO,CAAC;IAC3B,QAAe,CAAC,EAAG,OAAO,CAAC;IAC3B,QAAe,CAAC,EAAG,CAAC,OAAO,EAAG,OAAO,KAAK,IAAI,CAAC;IAC/C,IAAe,CAAC,EAAG,OAAO,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;IAC1D,QAAe,CAAC,EAAG,MAAM,CAAC;IAC1B,SAAe,CAAC,EAAG,MAAM,CAAC;IAC1B,UAAe,CAAC,EAAG,OAAO,CAAC;CAC9B,CAAC;AAGF,eAAO,MAAM,MAAM;SAdI,MAAM;WACN,MAAM;cACN,OAAO;qBACP,OAAO;eACP,OAAO;eACP,OAAO;eACP,CAAC,OAAO,EAAG,OAAO,KAAK,IAAI;WAC3B,OAAO,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC;eACtC,MAAM;gBACN,MAAM;iBACN,OAAO;0CA2E7B,CAAC"}
@@ -9,27 +9,27 @@ const E = p.forwardRef(
9
9
  ({
10
10
  id: t,
11
11
  name: s,
12
- label: f,
13
- hideLabel: l,
12
+ label: l,
13
+ hideLabel: f,
14
14
  helpText: c,
15
15
  errorText: e,
16
16
  onChange: o,
17
17
  checked: h,
18
- defaultChecked: u,
19
- disabled: v,
18
+ defaultChecked: w,
19
+ disabled: u,
20
20
  required: a,
21
21
  size: m = "medium",
22
22
  labelFirst: i,
23
- ...w
23
+ ...v
24
24
  }, I) => {
25
25
  const y = S(() => s || t, [s, t]), b = (B) => {
26
26
  o == null || o(B.target.checked);
27
- }, { wrapperProps: N, inputProps: P } = $(w), j = p.useId(), r = t || `switch-${j.replace(/:/g, "")}`, { describedBy: k } = x(r, c, e);
27
+ }, { wrapperProps: N, inputProps: P } = $(v), j = p.useId(), r = t || `switch-${j.replace(/:/g, "")}`, { describedBy: k } = x(r, c, e);
28
28
  return /* @__PURE__ */ R(
29
29
  A,
30
30
  {
31
- label: f,
32
- hideLabel: l,
31
+ label: l,
32
+ hideLabel: f,
33
33
  htmlFor: r,
34
34
  helpText: c,
35
35
  errorText: e,
@@ -43,12 +43,13 @@ const E = p.forwardRef(
43
43
  {
44
44
  as: "input",
45
45
  type: "checkbox",
46
+ role: "switch",
46
47
  ref: I,
47
48
  id: r,
48
49
  name: y,
49
50
  checked: h,
50
- defaultChecked: u,
51
- disabled: v,
51
+ defaultChecked: w,
52
+ disabled: u,
52
53
  required: a,
53
54
  "aria-invalid": !!e || void 0,
54
55
  "aria-required": a,
@@ -1 +1 @@
1
- {"version":3,"file":"Switch.js","sources":["../../../../src/components/Form/Checkbox/Switch.tsx"],"sourcesContent":["// REACT CORE ==========================================================================================================\nimport React, { useMemo } from \"react\";\n\n// LOCAL COMPONENTS ====================================================================================================\nimport { Element } from \"$element\";\nimport { SpacingTypes } from \"../../Element/constants\";\n\n// UTILS ===============================================================================================================\nimport { separateWrapperProps } from \"$utils/propSeparation\";\n\n// STYLES ==============================================================================================================\nimport \"./switch.css\";\n\n// OTHER ===============================================================================================================\nimport { FormItem, deriveAriaIds } from \"../FormItem/FormItem\";\nimport { InputLabelCustomProps } from \"../InputLabel/InputLabel\";\n\nexport type SwitchElementType = HTMLInputElement;\nexport type SwitchProps = InputLabelCustomProps & {\n id ? : string;\n name ? : string;\n checked ? : boolean;\n defaultChecked ? : boolean;\n disabled ? : boolean;\n required ? : boolean;\n onChange ? : (checked : boolean) => void;\n size ? : Exclude<SpacingTypes, \"nano\" | \"huge\">;\n helpText ? : string;\n errorText ? : string;\n labelFirst ? : boolean;\n};\n\n// COMPONENT ///////////////////////////////////////////////////////////////////////////////////////////////////////////\nexport const Switch = React.forwardRef(\n (\n {\n id,\n name,\n label,\n hideLabel,\n helpText,\n errorText,\n onChange,\n checked,\n defaultChecked,\n disabled,\n required,\n size = \"medium\",\n labelFirst,\n ...props\n } : SwitchProps,\n ref : React.Ref<SwitchElementType>,\n ) => {\n const derivedName = useMemo(() => name || id, [ name, id ]);\n\n const handleChange = (e : React.ChangeEvent<HTMLInputElement>) => {\n onChange?.(e.target.checked);\n };\n\n // Separate wrapper-level props (margin, padding, etc.) from input-specific props\n const {wrapperProps, inputProps} = separateWrapperProps(props);\n\n const reactId = React.useId();\n const finalId = id || `switch-${reactId.replace(/:/g, \"\")}`;\n const { describedBy } = deriveAriaIds(finalId, helpText, errorText);\n\n return (\n <FormItem\n label={label}\n hideLabel={hideLabel}\n htmlFor={finalId}\n helpText={helpText}\n errorText={errorText}\n required={required}\n size={size}\n labelFirst={labelFirst}\n {...wrapperProps}\n >\n <Element<SwitchElementType>\n as=\"input\"\n type=\"checkbox\"\n ref={ref}\n id={finalId}\n name={derivedName}\n checked={checked}\n defaultChecked={defaultChecked}\n disabled={disabled}\n required={required}\n aria-invalid={Boolean(errorText) || undefined}\n aria-required={required}\n aria-describedby={describedBy}\n onChange={handleChange}\n {...inputProps}\n />\n <Element\n as={labelFirst ? \"label\" : \"div\"}\n htmlFor={labelFirst ? finalId : undefined}\n data-switch\n className={`size-${size}`}\n />\n </FormItem>\n );\n },\n);\nSwitch.displayName = \"Switch\";\n"],"names":["Switch","React","id","name","label","hideLabel","helpText","errorText","onChange","checked","defaultChecked","disabled","required","size","labelFirst","props","ref","derivedName","useMemo","handleChange","e","wrapperProps","inputProps","separateWrapperProps","reactId","finalId","describedBy","deriveAriaIds","jsxs","FormItem","jsx","Element"],"mappings":";;;;;;AAiCO,MAAMA,IAASC,EAAM;AAAA,EACxB,CACI;AAAA,IACI,IAAAC;AAAA,IACA,MAAAC;AAAA,IACA,OAAAC;AAAA,IACA,WAAAC;AAAA,IACA,UAAAC;AAAA,IACA,WAAAC;AAAA,IACA,UAAAC;AAAA,IACA,SAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,UAAAC;AAAA,IACA,UAAAC;AAAA,IACA,MAAAC,IAAO;AAAA,IACP,YAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,GAEPC,MACC;AACD,UAAMC,IAAcC,EAAQ,MAAMf,KAAQD,GAAI,CAAEC,GAAMD,CAAG,CAAC,GAEpDiB,IAAe,CAACC,MAA4C;AAC9D,MAAAZ,KAAA,QAAAA,EAAWY,EAAE,OAAO;AAAA,IACxB,GAGM,EAAC,cAAAC,GAAc,YAAAC,MAAcC,EAAqBR,CAAK,GAEvDS,IAAUvB,EAAM,MAAA,GAChBwB,IAAUvB,KAAM,UAAUsB,EAAQ,QAAQ,MAAM,EAAE,CAAC,IACnD,EAAE,aAAAE,EAAA,IAAgBC,EAAcF,GAASnB,GAAUC,CAAS;AAElE,WACI,gBAAAqB;AAAA,MAACC;AAAA,MAAA;AAAA,QACG,OAAAzB;AAAA,QACA,WAAAC;AAAA,QACA,SAASoB;AAAA,QACT,UAAAnB;AAAA,QACA,WAAAC;AAAA,QACA,UAAAK;AAAA,QACA,MAAAC;AAAA,QACA,YAAAC;AAAA,QACC,GAAGO;AAAA,QAEJ,UAAA;AAAA,UAAA,gBAAAS;AAAA,YAACC;AAAA,YAAA;AAAA,cACG,IAAG;AAAA,cACH,MAAK;AAAA,cACL,KAAAf;AAAA,cACA,IAAIS;AAAA,cACJ,MAAMR;AAAA,cACN,SAAAR;AAAA,cACA,gBAAAC;AAAA,cACA,UAAAC;AAAA,cACA,UAAAC;AAAA,cACA,gBAAc,EAAQL,KAAc;AAAA,cACpC,iBAAeK;AAAA,cACf,oBAAkBc;AAAA,cAClB,UAAUP;AAAA,cACT,GAAGG;AAAA,YAAA;AAAA,UAAA;AAAA,UAER,gBAAAQ;AAAA,YAACC;AAAA,YAAA;AAAA,cACG,IAAIjB,IAAa,UAAU;AAAA,cAC3B,SAASA,IAAaW,IAAU;AAAA,cAChC,eAAW;AAAA,cACX,WAAW,QAAQZ,CAAI;AAAA,YAAA;AAAA,UAAA;AAAA,QAC3B;AAAA,MAAA;AAAA,IAAA;AAAA,EAGZ;AACJ;AACAb,EAAO,cAAc;"}
1
+ {"version":3,"file":"Switch.js","sources":["../../../../src/components/Form/Checkbox/Switch.tsx"],"sourcesContent":["// REACT CORE ==========================================================================================================\nimport React, { useMemo } from \"react\";\n\n// LOCAL COMPONENTS ====================================================================================================\nimport { Element } from \"$element\";\nimport { SpacingTypes } from \"../../Element/constants\";\n\n// UTILS ===============================================================================================================\nimport { separateWrapperProps } from \"$utils/propSeparation\";\n\n// STYLES ==============================================================================================================\nimport \"./switch.css\";\n\n// OTHER ===============================================================================================================\nimport { FormItem, deriveAriaIds } from \"../FormItem/FormItem\";\nimport { InputLabelCustomProps } from \"../InputLabel/InputLabel\";\n\nexport type SwitchElementType = HTMLInputElement;\nexport type SwitchProps = InputLabelCustomProps & {\n id ? : string;\n name ? : string;\n checked ? : boolean;\n defaultChecked ? : boolean;\n disabled ? : boolean;\n required ? : boolean;\n onChange ? : (checked : boolean) => void;\n size ? : Exclude<SpacingTypes, \"nano\" | \"huge\">;\n helpText ? : string;\n errorText ? : string;\n labelFirst ? : boolean;\n};\n\n// COMPONENT ///////////////////////////////////////////////////////////////////////////////////////////////////////////\nexport const Switch = React.forwardRef(\n (\n {\n id,\n name,\n label,\n hideLabel,\n helpText,\n errorText,\n onChange,\n checked,\n defaultChecked,\n disabled,\n required,\n size = \"medium\",\n labelFirst,\n ...props\n } : SwitchProps,\n ref : React.Ref<SwitchElementType>,\n ) => {\n const derivedName = useMemo(() => name || id, [ name, id ]);\n\n const handleChange = (e : React.ChangeEvent<HTMLInputElement>) => {\n onChange?.(e.target.checked);\n };\n\n // Separate wrapper-level props (margin, padding, etc.) from input-specific props\n const {wrapperProps, inputProps} = separateWrapperProps(props);\n\n const reactId = React.useId();\n const finalId = id || `switch-${reactId.replace(/:/g, \"\")}`;\n const { describedBy } = deriveAriaIds(finalId, helpText, errorText);\n\n return (\n <FormItem\n label={label}\n hideLabel={hideLabel}\n htmlFor={finalId}\n helpText={helpText}\n errorText={errorText}\n required={required}\n size={size}\n labelFirst={labelFirst}\n {...wrapperProps}\n >\n <Element<SwitchElementType>\n as=\"input\"\n type=\"checkbox\"\n role=\"switch\"\n ref={ref}\n id={finalId}\n name={derivedName}\n checked={checked}\n defaultChecked={defaultChecked}\n disabled={disabled}\n required={required}\n aria-invalid={Boolean(errorText) || undefined}\n aria-required={required}\n aria-describedby={describedBy}\n onChange={handleChange}\n {...inputProps}\n />\n <Element\n as={labelFirst ? \"label\" : \"div\"}\n htmlFor={labelFirst ? finalId : undefined}\n data-switch\n className={`size-${size}`}\n />\n </FormItem>\n );\n },\n);\nSwitch.displayName = \"Switch\";\n"],"names":["Switch","React","id","name","label","hideLabel","helpText","errorText","onChange","checked","defaultChecked","disabled","required","size","labelFirst","props","ref","derivedName","useMemo","handleChange","e","wrapperProps","inputProps","separateWrapperProps","reactId","finalId","describedBy","deriveAriaIds","jsxs","FormItem","jsx","Element"],"mappings":";;;;;;AAiCO,MAAMA,IAASC,EAAM;AAAA,EACxB,CACI;AAAA,IACI,IAAAC;AAAA,IACA,MAAAC;AAAA,IACA,OAAAC;AAAA,IACA,WAAAC;AAAA,IACA,UAAAC;AAAA,IACA,WAAAC;AAAA,IACA,UAAAC;AAAA,IACA,SAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,UAAAC;AAAA,IACA,UAAAC;AAAA,IACA,MAAAC,IAAO;AAAA,IACP,YAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,GAEPC,MACC;AACD,UAAMC,IAAcC,EAAQ,MAAMf,KAAQD,GAAI,CAAEC,GAAMD,CAAG,CAAC,GAEpDiB,IAAe,CAACC,MAA4C;AAC9D,MAAAZ,KAAA,QAAAA,EAAWY,EAAE,OAAO;AAAA,IACxB,GAGM,EAAC,cAAAC,GAAc,YAAAC,MAAcC,EAAqBR,CAAK,GAEvDS,IAAUvB,EAAM,MAAA,GAChBwB,IAAUvB,KAAM,UAAUsB,EAAQ,QAAQ,MAAM,EAAE,CAAC,IACnD,EAAE,aAAAE,EAAA,IAAgBC,EAAcF,GAASnB,GAAUC,CAAS;AAElE,WACI,gBAAAqB;AAAA,MAACC;AAAA,MAAA;AAAA,QACG,OAAAzB;AAAA,QACA,WAAAC;AAAA,QACA,SAASoB;AAAA,QACT,UAAAnB;AAAA,QACA,WAAAC;AAAA,QACA,UAAAK;AAAA,QACA,MAAAC;AAAA,QACA,YAAAC;AAAA,QACC,GAAGO;AAAA,QAEJ,UAAA;AAAA,UAAA,gBAAAS;AAAA,YAACC;AAAA,YAAA;AAAA,cACG,IAAG;AAAA,cACH,MAAK;AAAA,cACL,MAAK;AAAA,cACL,KAAAf;AAAA,cACA,IAAIS;AAAA,cACJ,MAAMR;AAAA,cACN,SAAAR;AAAA,cACA,gBAAAC;AAAA,cACA,UAAAC;AAAA,cACA,UAAAC;AAAA,cACA,gBAAc,EAAQL,KAAc;AAAA,cACpC,iBAAeK;AAAA,cACf,oBAAkBc;AAAA,cAClB,UAAUP;AAAA,cACT,GAAGG;AAAA,YAAA;AAAA,UAAA;AAAA,UAER,gBAAAQ;AAAA,YAACC;AAAA,YAAA;AAAA,cACG,IAAIjB,IAAa,UAAU;AAAA,cAC3B,SAASA,IAAaW,IAAU;AAAA,cAChC,eAAW;AAAA,cACX,WAAW,QAAQZ,CAAI;AAAA,YAAA;AAAA,UAAA;AAAA,QAC3B;AAAA,MAAA;AAAA,IAAA;AAAA,EAGZ;AACJ;AACAb,EAAO,cAAc;"}
@@ -1 +1 @@
1
- {"version":3,"file":"FormItemGroup.d.ts","sourceRoot":"","sources":["../../../../src/components/Form/FormItemGroup/FormItemGroup.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAI7D,OAAO,uBAAuB,CAAC;AAG/B,MAAM,WAAW,wBAAwB;IACrC,OAAsB,CAAC,EAAG,OAAO,CAAC;IAClC,qBAAsB,CAAC,EAAG,KAAK,CAAC,SAAS,CAAC;IAC1C,YAAsB,CAAC,EAAG,OAAO,CAAC;IAClC,MAAsB,CAAC,EAAG,MAAM,CAAC;IACjC,OAAsB,CAAC,EAAG,MAAM,CAAC;CACpC;AAED,MAAM,MAAM,wBAAwB,GAAG,cAAc,CAAC;AACtD,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,wBAAwB,CAAC,EAAE,MAAM,wBAAwB,CAAC,GAClF,wBAAwB,CAAC;AAG1D,eAAO,MAAM,aAAa,4KAmDzB,CAAC"}
1
+ {"version":3,"file":"FormItemGroup.d.ts","sourceRoot":"","sources":["../../../../src/components/Form/FormItemGroup/FormItemGroup.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAI7D,OAAO,uBAAuB,CAAC;AAG/B,MAAM,WAAW,wBAAwB;IACrC,OAAsB,CAAC,EAAG,OAAO,CAAC;IAClC,qBAAsB,CAAC,EAAG,KAAK,CAAC,SAAS,CAAC;IAC1C,YAAsB,CAAC,EAAG,OAAO,CAAC;IAClC,MAAsB,CAAC,EAAG,MAAM,CAAC;IACjC,OAAsB,CAAC,EAAG,MAAM,CAAC;CACpC;AAED,MAAM,MAAM,wBAAwB,GAAG,cAAc,CAAC;AACtD,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,wBAAwB,CAAC,EAAE,MAAM,wBAAwB,CAAC,GAClF,wBAAwB,CAAC;AAG1D,eAAO,MAAM,aAAa,4KAuDzB,CAAC"}