coles-solid-library 0.5.0 → 0.5.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.
Files changed (240) hide show
  1. package/USAGE.html +20 -12
  2. package/dist/__tests__/Body.test.d.ts +1 -0
  3. package/dist/__tests__/Button.accessibility.test.d.ts +1 -0
  4. package/dist/__tests__/Button.coverage.test.d.ts +1 -0
  5. package/dist/__tests__/Button.extra.test.d.ts +1 -0
  6. package/dist/__tests__/Button.test.d.ts +1 -0
  7. package/dist/__tests__/Carosel.test.d.ts +1 -0
  8. package/dist/__tests__/Checkbox.test.d.ts +1 -0
  9. package/dist/__tests__/Chip.performance.test.d.ts +1 -0
  10. package/dist/__tests__/Chip.test.d.ts +1 -0
  11. package/dist/__tests__/Chipbar.performance.test.d.ts +1 -0
  12. package/dist/__tests__/Chipbar.test.d.ts +1 -0
  13. package/dist/__tests__/Container.test.d.ts +1 -0
  14. package/dist/__tests__/CoreComponents.performance.test.d.ts +1 -0
  15. package/dist/__tests__/Expansion.accessibility.test.d.ts +1 -0
  16. package/dist/__tests__/ExpansionPanel.test.d.ts +1 -0
  17. package/dist/__tests__/Form.performance.test.d.ts +1 -0
  18. package/dist/__tests__/Form.submit.test.d.ts +1 -0
  19. package/dist/__tests__/FormArray.externalMutation.test.d.ts +1 -0
  20. package/dist/__tests__/FormArray.test.d.ts +1 -0
  21. package/dist/__tests__/FormBridgeRecursion.test.d.ts +1 -0
  22. package/dist/__tests__/FormDependencyRegression.test.d.ts +1 -0
  23. package/dist/__tests__/FormEnhancements.test.d.ts +1 -0
  24. package/dist/__tests__/FormField.resetAndClear.test.d.ts +1 -0
  25. package/dist/__tests__/FormField.test.d.ts +1 -0
  26. package/dist/__tests__/FormFieldDirtyOnFocus.test.d.ts +1 -0
  27. package/dist/__tests__/FormFieldDirtyState.test.d.ts +1 -0
  28. package/dist/__tests__/FormFieldExtra.test.d.ts +1 -0
  29. package/dist/__tests__/FormFieldProgrammaticSet.test.d.ts +1 -0
  30. package/dist/__tests__/FormGroup.additionalGaps.test.d.ts +1 -0
  31. package/dist/__tests__/FormGroup.gaps.test.d.ts +1 -0
  32. package/dist/__tests__/FormGroup.test.d.ts +1 -0
  33. package/dist/__tests__/FormGroupAccessors.integration.test.d.ts +1 -0
  34. package/dist/__tests__/FormGroupAccessors.test.d.ts +1 -0
  35. package/dist/__tests__/FormReactiveUpdate.test.d.ts +1 -0
  36. package/dist/__tests__/Icon.test.d.ts +1 -0
  37. package/dist/__tests__/Input.test.d.ts +1 -0
  38. package/dist/__tests__/InputV2EdgeCases.test.d.ts +1 -0
  39. package/dist/__tests__/LegacyInputDirty.test.d.ts +1 -0
  40. package/dist/__tests__/Menu.performance.test.d.ts +1 -0
  41. package/dist/__tests__/Menu.test.d.ts +1 -0
  42. package/dist/__tests__/MenuDropdown.test.d.ts +1 -0
  43. package/dist/__tests__/MenuItem.accessibility.test.d.ts +1 -0
  44. package/dist/__tests__/Modal.additional.test.d.ts +1 -0
  45. package/dist/__tests__/Modal.performance.test.d.ts +1 -0
  46. package/dist/__tests__/Modal.test.d.ts +1 -0
  47. package/dist/__tests__/Radio.test.d.ts +1 -0
  48. package/dist/__tests__/RadioGroup.keyboard.test.d.ts +1 -0
  49. package/dist/__tests__/Select.accessibility.test.d.ts +1 -0
  50. package/dist/__tests__/Select.formField.test.d.ts +1 -0
  51. package/dist/__tests__/Select.mobile.test.d.ts +1 -0
  52. package/dist/__tests__/Select.optionEdge.test.d.ts +1 -0
  53. package/dist/__tests__/Select.performance.test.d.ts +1 -0
  54. package/dist/__tests__/Select.test.d.ts +1 -0
  55. package/dist/__tests__/Snackbar.additional.test.d.ts +1 -0
  56. package/dist/__tests__/Snackbar.performance.test.d.ts +1 -0
  57. package/dist/__tests__/Snackbar.test.d.ts +1 -0
  58. package/dist/__tests__/TabBar.performance.test.d.ts +1 -0
  59. package/dist/__tests__/TabBar.test.d.ts +1 -0
  60. package/dist/__tests__/TableV2.additional.test.d.ts +1 -0
  61. package/dist/__tests__/TableV2.dropHeaderAttr.test.d.ts +1 -0
  62. package/dist/__tests__/TableV2.dropdownAdvanced.test.d.ts +1 -0
  63. package/dist/__tests__/TableV2.extra.test.d.ts +1 -0
  64. package/dist/__tests__/TableV2.nullCells.test.d.ts +1 -0
  65. package/dist/__tests__/TableV2.performance.test.d.ts +1 -0
  66. package/dist/__tests__/TableV2.test.d.ts +1 -0
  67. package/dist/__tests__/TextArea.test.d.ts +1 -0
  68. package/dist/__tests__/Validators.test.d.ts +1 -0
  69. package/dist/__tests__/globalWindowManager.performance.test.d.ts +1 -0
  70. package/dist/__tests__/globalWindowManager.test.d.ts +1 -0
  71. package/dist/__tests__/helpers/renderWithTheme.d.ts +106 -0
  72. package/dist/__tests__/injectStyles.test.d.ts +1 -0
  73. package/dist/__tests__/tools.advanced.test.d.ts +1 -0
  74. package/dist/__tests__/tools.clone.edge.test.d.ts +1 -0
  75. package/dist/__tests__/tools.test.d.ts +1 -0
  76. package/dist/__tests__/useClickOutside.test.d.ts +1 -0
  77. package/dist/__tests__/useDirectFormBinding.test.d.ts +1 -0
  78. package/dist/components/Button/Button.d.ts +1 -1
  79. package/dist/components/Button/Button.js +2 -0
  80. package/dist/components/Button/Button.js.map +1 -0
  81. package/dist/components/Button/Button.module.scss.js +2 -0
  82. package/dist/components/Button/Button.module.scss.js.map +1 -0
  83. package/dist/components/Carosel/Carosel.js +2 -0
  84. package/dist/components/Carosel/Carosel.js.map +1 -0
  85. package/dist/components/Carosel/Carosel.module.scss.js +2 -0
  86. package/dist/components/Carosel/Carosel.module.scss.js.map +1 -0
  87. package/dist/components/Carosel/Slide.js +2 -0
  88. package/dist/components/Carosel/Slide.js.map +1 -0
  89. package/dist/components/Checkbox/checkbox.js +2 -0
  90. package/dist/components/Checkbox/checkbox.js.map +1 -0
  91. package/dist/components/Checkbox/checkbox.module.scss.js +2 -0
  92. package/dist/components/Checkbox/checkbox.module.scss.js.map +1 -0
  93. package/dist/components/Chip/Chip.js +2 -0
  94. package/dist/components/Chip/Chip.js.map +1 -0
  95. package/dist/components/Chip/Chip.module.scss.js +2 -0
  96. package/dist/components/Chip/Chip.module.scss.js.map +1 -0
  97. package/dist/components/Chipbar/chipbar.js +2 -0
  98. package/dist/components/Chipbar/chipbar.js.map +1 -0
  99. package/dist/components/Chipbar/chipbar.module.scss.js +2 -0
  100. package/dist/components/Chipbar/chipbar.module.scss.js.map +1 -0
  101. package/dist/components/ComponentBody/body.component.js +2 -0
  102. package/dist/components/ComponentBody/body.component.js.map +1 -0
  103. package/dist/components/ComponentBody/body.module.scss.js +2 -0
  104. package/dist/components/ComponentBody/body.module.scss.js.map +1 -0
  105. package/dist/components/Container/container.js +2 -0
  106. package/dist/components/Container/container.js.map +1 -0
  107. package/dist/components/Container/container.module.scss.js +2 -0
  108. package/dist/components/Container/container.module.scss.js.map +1 -0
  109. package/dist/components/Form/form.js +2 -0
  110. package/dist/components/Form/form.js.map +1 -0
  111. package/dist/components/Form/formGroup.d.ts +7 -0
  112. package/dist/components/Form/formGroup.js +2 -0
  113. package/dist/components/Form/formGroup.js.map +1 -0
  114. package/dist/components/Form/formHelp/formArray.js +2 -0
  115. package/dist/components/Form/formHelp/formArray.js.map +1 -0
  116. package/dist/components/Form/formHelp/validators.js +2 -0
  117. package/dist/components/Form/formHelp/validators.js.map +1 -0
  118. package/dist/components/Form/useDirectFormBinding.js +2 -0
  119. package/dist/components/Form/useDirectFormBinding.js.map +1 -0
  120. package/dist/components/Form/useFormFieldBinding.js +2 -0
  121. package/dist/components/Form/useFormFieldBinding.js.map +1 -0
  122. package/dist/components/FormField/coleError.js +2 -0
  123. package/dist/components/FormField/coleError.js.map +1 -0
  124. package/dist/components/FormField/formField.js +2 -0
  125. package/dist/components/FormField/formField.js.map +1 -0
  126. package/dist/components/FormField/formProvider.js +2 -0
  127. package/dist/components/FormField/formProvider.js.map +1 -0
  128. package/dist/components/FormField/formfield.module.scss.js +2 -0
  129. package/dist/components/FormField/formfield.module.scss.js.map +1 -0
  130. package/dist/components/Icon/generated/outlined/keyboard_arrow_down.js +2 -0
  131. package/dist/components/Icon/generated/outlined/keyboard_arrow_down.js.map +1 -0
  132. package/dist/components/Icon/generated/outlined/keyboard_arrow_up.js +2 -0
  133. package/dist/components/Icon/generated/outlined/keyboard_arrow_up.js.map +1 -0
  134. package/dist/components/Icon/icon.d.ts +3 -8
  135. package/dist/components/Icon/icon.js +2 -0
  136. package/dist/components/Icon/icon.js.map +1 -0
  137. package/dist/components/Icon/icon.module.scss.js +2 -0
  138. package/dist/components/Icon/icon.module.scss.js.map +1 -0
  139. package/dist/components/Input/input.module.scss.js +2 -0
  140. package/dist/components/Input/input.module.scss.js.map +1 -0
  141. package/dist/components/Input/inputV2.js +2 -0
  142. package/dist/components/Input/inputV2.js.map +1 -0
  143. package/dist/components/Menu/menu.js +2 -0
  144. package/dist/components/Menu/menu.js.map +1 -0
  145. package/dist/components/Menu/menu.module.scss.js +2 -0
  146. package/dist/components/Menu/menu.module.scss.js.map +1 -0
  147. package/dist/components/Menu/menuContext.js +2 -0
  148. package/dist/components/Menu/menuContext.js.map +1 -0
  149. package/dist/components/Menu/menuDropdown.js +2 -0
  150. package/dist/components/Menu/menuDropdown.js.map +1 -0
  151. package/dist/components/Menu/menuitem.js +2 -0
  152. package/dist/components/Menu/menuitem.js.map +1 -0
  153. package/dist/components/Radio/radio-group.module.scss.js +2 -0
  154. package/dist/components/Radio/radio-group.module.scss.js.map +1 -0
  155. package/dist/components/Radio/radio.js +2 -0
  156. package/dist/components/Radio/radio.js.map +1 -0
  157. package/dist/components/Radio/radio.module.scss.js +2 -0
  158. package/dist/components/Radio/radio.module.scss.js.map +1 -0
  159. package/dist/components/Radio/radioGroup.js +2 -0
  160. package/dist/components/Radio/radioGroup.js.map +1 -0
  161. package/dist/components/Select/option.component.js +2 -0
  162. package/dist/components/Select/option.component.js.map +1 -0
  163. package/dist/components/Select/select.component.js +2 -0
  164. package/dist/components/Select/select.component.js.map +1 -0
  165. package/dist/components/Select/selectContext.js +2 -0
  166. package/dist/components/Select/selectContext.js.map +1 -0
  167. package/dist/components/Select/selectStyles.module.scss.js +2 -0
  168. package/dist/components/Select/selectStyles.module.scss.js.map +1 -0
  169. package/dist/components/Select/useHighlight.js +2 -0
  170. package/dist/components/Select/useHighlight.js.map +1 -0
  171. package/dist/components/Select/useSelectOptions.js +2 -0
  172. package/dist/components/Select/useSelectOptions.js.map +1 -0
  173. package/dist/components/Select/useTypeahead.js +2 -0
  174. package/dist/components/Select/useTypeahead.js.map +1 -0
  175. package/dist/components/Snackbar/snackbar.js +2 -0
  176. package/dist/components/Snackbar/snackbar.js.map +1 -0
  177. package/dist/components/Snackbar/snackbar.module.scss.js +2 -0
  178. package/dist/components/Snackbar/snackbar.module.scss.js.map +1 -0
  179. package/dist/components/TabV2/tabs.js +2 -0
  180. package/dist/components/TabV2/tabs.js.map +1 -0
  181. package/dist/components/TabV2/tabs.module.scss.js +2 -0
  182. package/dist/components/TabV2/tabs.module.scss.js.map +1 -0
  183. package/dist/components/TableV2/cell.js +2 -0
  184. package/dist/components/TableV2/cell.js.map +1 -0
  185. package/dist/components/TableV2/column.js +2 -0
  186. package/dist/components/TableV2/column.js.map +1 -0
  187. package/dist/components/TableV2/header.js +2 -0
  188. package/dist/components/TableV2/header.js.map +1 -0
  189. package/dist/components/TableV2/row.js +2 -0
  190. package/dist/components/TableV2/row.js.map +1 -0
  191. package/dist/components/TableV2/table.js +2 -0
  192. package/dist/components/TableV2/table.js.map +1 -0
  193. package/dist/components/TableV2/table.module.scss.js +2 -0
  194. package/dist/components/TableV2/table.module.scss.js.map +1 -0
  195. package/dist/components/TableV2/tableProvider.js +2 -0
  196. package/dist/components/TableV2/tableProvider.js.map +1 -0
  197. package/dist/components/TextArea/TextArea.js +2 -0
  198. package/dist/components/TextArea/TextArea.js.map +1 -0
  199. package/dist/components/TextArea/TextArea.module.scss.js +2 -0
  200. package/dist/components/TextArea/TextArea.module.scss.js.map +1 -0
  201. package/dist/components/expansion/expansion.js +2 -0
  202. package/dist/components/expansion/expansion.js.map +1 -0
  203. package/dist/components/expansion/expansion.module.scss.js +2 -0
  204. package/dist/components/expansion/expansion.module.scss.js.map +1 -0
  205. package/dist/components/modal/popup.component.js +2 -0
  206. package/dist/components/modal/popup.component.js.map +1 -0
  207. package/dist/components/modal/popup.module.scss.js +2 -0
  208. package/dist/components/modal/popup.module.scss.js.map +1 -0
  209. package/dist/components/svgs/arrows.js +2 -0
  210. package/dist/components/svgs/arrows.js.map +1 -0
  211. package/dist/globalWindowManager.d.ts +9 -0
  212. package/dist/globalWindowManager.js +2 -0
  213. package/dist/globalWindowManager.js.map +1 -0
  214. package/dist/index.js +2 -0
  215. package/dist/index.js.map +1 -0
  216. package/dist/injectStyles.d.ts +1 -0
  217. package/dist/styleInject.js +2 -0
  218. package/dist/styleInject.js.map +1 -0
  219. package/dist/tools/eventTools.d.ts +12 -0
  220. package/dist/tools/eventTools.js +2 -0
  221. package/dist/tools/eventTools.js.map +1 -0
  222. package/dist/tools/index.d.ts +4 -0
  223. package/dist/tools/tools.d.ts +15 -0
  224. package/dist/tools/tools.js +2 -0
  225. package/dist/tools/tools.js.map +1 -0
  226. package/dist/tools/useOverlayPosition.d.ts +27 -0
  227. package/dist/tools/useOverlayPosition.js +2 -0
  228. package/dist/tools/useOverlayPosition.js.map +1 -0
  229. package/dist/vite.d.ts +52 -0
  230. package/dist/vite.js +2 -0
  231. package/dist/vite.js.map +1 -0
  232. package/package.json +146 -11
  233. package/readme.md +36 -0
  234. package/dist/generated/registries/outlined.d.ts +0 -3
  235. package/dist/generated/registries/outlined.js +0 -7784
  236. package/dist/generated/registries/rounded.d.ts +0 -3
  237. package/dist/generated/registries/rounded.js +0 -7784
  238. package/dist/generated/registries/sharp.d.ts +0 -3
  239. package/dist/generated/registries/sharp.js +0 -7784
  240. package/dist/index.esm.js +0 -5475
package/dist/vite.d.ts ADDED
@@ -0,0 +1,52 @@
1
+ import type { Plugin } from 'vite';
2
+ /** Material Symbols style variant. Each maps to a separate icon barrel subpath. */
3
+ export type IconVariant = 'outlined' | 'rounded' | 'sharp';
4
+ export interface ColesSolidLibraryOptions {
5
+ /**
6
+ * Which icon-variant barrels to pre-bundle for dev. Each listed variant's barrel is
7
+ * collapsed into ONE browser-cached chunk, so dev loads it once instead of raw-serving
8
+ * thousands of individual icon modules (a slow request waterfall, especially under
9
+ * `npm link`).
10
+ *
11
+ * Note: in dev the pre-bundled chunk is the FULL barrel (~5–7MB of dev cache per variant);
12
+ * esbuild can't tree-shake a pre-bundle entry against your app's usage. That cache is never
13
+ * shipped — the production `build` tree-shakes down to only the icons you import.
14
+ *
15
+ * Defaults to `['outlined']` — the library's default `/icons` export — so the common case
16
+ * stays lean (~5MB dev cache) with zero config. Add `'rounded'` / `'sharp'` only if you
17
+ * import those barrels, e.g. `{ iconVariants: ['outlined', 'rounded'] }`.
18
+ */
19
+ iconVariants?: IconVariant[];
20
+ }
21
+ /**
22
+ * Vite plugin for consumers of coles-solid-library.
23
+ *
24
+ * Add it to your vite.config plugins array (next to vite-plugin-solid) and it supplies the
25
+ * bundler tuning this library needs, so you don't hand-maintain it yourself:
26
+ *
27
+ * - resolve.dedupe — forces a SINGLE solid-js instance (core + /web + /store). The library
28
+ * externalizes solid-js (see rollup.config.mjs `external`), so a duplicate copy in the
29
+ * consumer graph breaks reactivity (Portals in Select/Menu/Modal/Snackbar, stores in
30
+ * Form/Table).
31
+ * - optimizeDeps.include — pre-bundles the library and its icon barrels with esbuild in dev,
32
+ * collapsing each barrel into one cached chunk so dev loads it once instead of raw-serving
33
+ * thousands of individual icon modules (slow, especially under `npm link`, where Vite skips
34
+ * pre-bundling linked deps unless they're explicitly listed here).
35
+ *
36
+ * Vite deep-merges this `config` return into the user's config and concatenates arrays, so any
37
+ * dedupe/include entries you define yourself are preserved and these are appended.
38
+ *
39
+ * This does NOT replace vite-plugin-solid — you still need that to compile Solid JSX.
40
+ *
41
+ * @example
42
+ * import { defineConfig } from 'vite';
43
+ * import solid from 'vite-plugin-solid';
44
+ * import colesSolidLibrary from 'coles-solid-library/vite';
45
+ *
46
+ * export default defineConfig({
47
+ * // Default pre-bundles only the `outlined` icon barrel; add variants you actually import:
48
+ * plugins: [solid(), colesSolidLibrary({ iconVariants: ['outlined', 'rounded'] })],
49
+ * });
50
+ */
51
+ export declare function colesSolidLibrary(options?: ColesSolidLibraryOptions): Plugin;
52
+ export default colesSolidLibrary;
package/dist/vite.js ADDED
@@ -0,0 +1,2 @@
1
+ const o={outlined:"coles-solid-library/icons",rounded:"coles-solid-library/icons/rounded",sharp:"coles-solid-library/icons/sharp"};function s(s={}){const i=s.iconVariants??["outlined"];return{name:"coles-solid-library",config:()=>({optimizeDeps:{include:["coles-solid-library",...i.map(s=>o[s])]},resolve:{dedupe:["solid-js","solid-js/web","solid-js/store"]}})}}export{s as colesSolidLibrary,s as default};
2
+ //# sourceMappingURL=vite.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vite.js","sources":["../src/vite.ts"],"sourcesContent":["// Type-only import — erased at build time, so `vite` never enters this module's runtime\n// graph (rollup won't bundle or require it). Keep every reference to vite in TYPE position;\n// a value import here would pull the dev-only `vite` into the published artifact.\nimport type { Plugin } from 'vite';\n\n/** Material Symbols style variant. Each maps to a separate icon barrel subpath. */\nexport type IconVariant = 'outlined' | 'rounded' | 'sharp';\n\nconst ICON_SUBPATHS: Record<IconVariant, string> = {\n outlined: 'coles-solid-library/icons',\n rounded: 'coles-solid-library/icons/rounded',\n sharp: 'coles-solid-library/icons/sharp',\n};\n\nexport interface ColesSolidLibraryOptions {\n /**\n * Which icon-variant barrels to pre-bundle for dev. Each listed variant's barrel is\n * collapsed into ONE browser-cached chunk, so dev loads it once instead of raw-serving\n * thousands of individual icon modules (a slow request waterfall, especially under\n * `npm link`).\n *\n * Note: in dev the pre-bundled chunk is the FULL barrel (~5–7MB of dev cache per variant);\n * esbuild can't tree-shake a pre-bundle entry against your app's usage. That cache is never\n * shipped — the production `build` tree-shakes down to only the icons you import.\n *\n * Defaults to `['outlined']` — the library's default `/icons` export — so the common case\n * stays lean (~5MB dev cache) with zero config. Add `'rounded'` / `'sharp'` only if you\n * import those barrels, e.g. `{ iconVariants: ['outlined', 'rounded'] }`.\n */\n iconVariants?: IconVariant[];\n}\n\n/**\n * Vite plugin for consumers of coles-solid-library.\n *\n * Add it to your vite.config plugins array (next to vite-plugin-solid) and it supplies the\n * bundler tuning this library needs, so you don't hand-maintain it yourself:\n *\n * - resolve.dedupe — forces a SINGLE solid-js instance (core + /web + /store). The library\n * externalizes solid-js (see rollup.config.mjs `external`), so a duplicate copy in the\n * consumer graph breaks reactivity (Portals in Select/Menu/Modal/Snackbar, stores in\n * Form/Table).\n * - optimizeDeps.include — pre-bundles the library and its icon barrels with esbuild in dev,\n * collapsing each barrel into one cached chunk so dev loads it once instead of raw-serving\n * thousands of individual icon modules (slow, especially under `npm link`, where Vite skips\n * pre-bundling linked deps unless they're explicitly listed here).\n *\n * Vite deep-merges this `config` return into the user's config and concatenates arrays, so any\n * dedupe/include entries you define yourself are preserved and these are appended.\n *\n * This does NOT replace vite-plugin-solid — you still need that to compile Solid JSX.\n *\n * @example\n * import { defineConfig } from 'vite';\n * import solid from 'vite-plugin-solid';\n * import colesSolidLibrary from 'coles-solid-library/vite';\n *\n * export default defineConfig({\n * // Default pre-bundles only the `outlined` icon barrel; add variants you actually import:\n * plugins: [solid(), colesSolidLibrary({ iconVariants: ['outlined', 'rounded'] })],\n * });\n */\nexport function colesSolidLibrary(options: ColesSolidLibraryOptions = {}): Plugin {\n const variants = options.iconVariants ?? ['outlined'];\n return {\n name: 'coles-solid-library',\n config() {\n return {\n optimizeDeps: {\n include: [\n 'coles-solid-library',\n ...variants.map((variant) => ICON_SUBPATHS[variant]),\n ],\n },\n resolve: {\n dedupe: ['solid-js', 'solid-js/web', 'solid-js/store'],\n },\n };\n },\n };\n}\n\nexport default colesSolidLibrary;\n"],"names":["ICON_SUBPATHS","outlined","rounded","sharp","colesSolidLibrary","options","variants","iconVariants","name","config","optimizeDeps","include","map","variant","resolve","dedupe"],"mappings":"AAQA,MAAMA,EAA6C,CACjDC,SAAU,4BACVC,QAAS,oCACTC,MAAO,mCAmDH,SAAUC,EAAkBC,EAAoC,IACpE,MAAMC,EAAWD,EAAQE,cAAgB,CAAC,YAC1C,MAAO,CACLC,KAAM,sBACNC,OAAMA,KACG,CACLC,aAAc,CACZC,QAAS,CACP,yBACGL,EAASM,IAAKC,GAAYb,EAAca,MAG/CC,QAAS,CACPC,OAAQ,CAAC,WAAY,eAAgB,qBAK/C"}
package/package.json CHANGED
@@ -1,14 +1,140 @@
1
1
  {
2
2
  "name": "coles-solid-library",
3
- "version": "0.5.0",
3
+ "version": "0.5.1",
4
4
  "description": "A SolidJS mostly UI library",
5
- "module": "dist/index.esm.js",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "module": "dist/index.js",
6
8
  "types": "dist/index.d.ts",
7
9
  "sideEffects": false,
8
10
  "exports": {
9
11
  ".": {
10
12
  "types": "./dist/index.d.ts",
11
- "import": "./dist/index.esm.js"
13
+ "import": "./dist/index.js"
14
+ },
15
+ "./Button": {
16
+ "types": "./dist/components/Button/Button.d.ts",
17
+ "import": "./dist/components/Button/Button.js"
18
+ },
19
+ "./Carousel": {
20
+ "types": "./dist/components/Carosel/Carosel.d.ts",
21
+ "import": "./dist/components/Carosel/Carosel.js"
22
+ },
23
+ "./Slide": {
24
+ "types": "./dist/components/Carosel/Slide.d.ts",
25
+ "import": "./dist/components/Carosel/Slide.js"
26
+ },
27
+ "./Chip": {
28
+ "types": "./dist/components/Chip/Chip.d.ts",
29
+ "import": "./dist/components/Chip/Chip.js"
30
+ },
31
+ "./Chipbar": {
32
+ "types": "./dist/components/Chipbar/chipbar.d.ts",
33
+ "import": "./dist/components/Chipbar/chipbar.js"
34
+ },
35
+ "./ComponentBody": {
36
+ "types": "./dist/components/ComponentBody/body.component.d.ts",
37
+ "import": "./dist/components/ComponentBody/body.component.js"
38
+ },
39
+ "./Input": {
40
+ "types": "./dist/components/Input/inputV2.d.ts",
41
+ "import": "./dist/components/Input/inputV2.js"
42
+ },
43
+ "./Checkbox": {
44
+ "types": "./dist/components/Checkbox/checkbox.d.ts",
45
+ "import": "./dist/components/Checkbox/checkbox.js"
46
+ },
47
+ "./Select": {
48
+ "types": "./dist/components/Select/select.component.d.ts",
49
+ "import": "./dist/components/Select/select.component.js"
50
+ },
51
+ "./Option": {
52
+ "types": "./dist/components/Select/option.component.d.ts",
53
+ "import": "./dist/components/Select/option.component.js"
54
+ },
55
+ "./TextArea": {
56
+ "types": "./dist/components/TextArea/TextArea.d.ts",
57
+ "import": "./dist/components/TextArea/TextArea.js"
58
+ },
59
+ "./Modal": {
60
+ "types": "./dist/components/modal/popup.component.d.ts",
61
+ "import": "./dist/components/modal/popup.component.js"
62
+ },
63
+ "./Expansion": {
64
+ "types": "./dist/components/expansion/expansion.d.ts",
65
+ "import": "./dist/components/expansion/expansion.js"
66
+ },
67
+ "./Snackbar": {
68
+ "types": "./dist/components/Snackbar/snackbar.d.ts",
69
+ "import": "./dist/components/Snackbar/snackbar.js"
70
+ },
71
+ "./Container": {
72
+ "types": "./dist/components/Container/container.d.ts",
73
+ "import": "./dist/components/Container/container.js"
74
+ },
75
+ "./Icon": {
76
+ "types": "./dist/components/Icon/icon.d.ts",
77
+ "import": "./dist/components/Icon/icon.js"
78
+ },
79
+ "./Menu": {
80
+ "types": "./dist/components/Menu/menu.d.ts",
81
+ "import": "./dist/components/Menu/menu.js"
82
+ },
83
+ "./MenuItem": {
84
+ "types": "./dist/components/Menu/menuitem.d.ts",
85
+ "import": "./dist/components/Menu/menuitem.js"
86
+ },
87
+ "./MenuDropdown": {
88
+ "types": "./dist/components/Menu/menuDropdown.d.ts",
89
+ "import": "./dist/components/Menu/menuDropdown.js"
90
+ },
91
+ "./Radio": {
92
+ "types": "./dist/components/Radio/radio.d.ts",
93
+ "import": "./dist/components/Radio/radio.js"
94
+ },
95
+ "./RadioGroup": {
96
+ "types": "./dist/components/Radio/radioGroup.d.ts",
97
+ "import": "./dist/components/Radio/radioGroup.js"
98
+ },
99
+ "./Form": {
100
+ "types": "./dist/components/Form/form.d.ts",
101
+ "import": "./dist/components/Form/form.js"
102
+ },
103
+ "./FormField": {
104
+ "types": "./dist/components/FormField/formField.d.ts",
105
+ "import": "./dist/components/FormField/formField.js"
106
+ },
107
+ "./FormGroup": {
108
+ "types": "./dist/components/Form/formGroup.d.ts",
109
+ "import": "./dist/components/Form/formGroup.js"
110
+ },
111
+ "./FormArray": {
112
+ "types": "./dist/components/Form/formHelp/formArray.d.ts",
113
+ "import": "./dist/components/Form/formHelp/formArray.js"
114
+ },
115
+ "./Table": {
116
+ "types": "./dist/components/TableV2/table.d.ts",
117
+ "import": "./dist/components/TableV2/table.js"
118
+ },
119
+ "./Row": {
120
+ "types": "./dist/components/TableV2/row.d.ts",
121
+ "import": "./dist/components/TableV2/row.js"
122
+ },
123
+ "./Column": {
124
+ "types": "./dist/components/TableV2/column.d.ts",
125
+ "import": "./dist/components/TableV2/column.js"
126
+ },
127
+ "./Cell": {
128
+ "types": "./dist/components/TableV2/cell.d.ts",
129
+ "import": "./dist/components/TableV2/cell.js"
130
+ },
131
+ "./Header": {
132
+ "types": "./dist/components/TableV2/header.d.ts",
133
+ "import": "./dist/components/TableV2/header.js"
134
+ },
135
+ "./TabBar": {
136
+ "types": "./dist/components/TabV2/tabs.d.ts",
137
+ "import": "./dist/components/TabV2/tabs.js"
12
138
  },
13
139
  "./icons": {
14
140
  "types": "./dist/generated/outlined.d.ts",
@@ -22,17 +148,16 @@
22
148
  "types": "./dist/generated/sharp.d.ts",
23
149
  "import": "./dist/generated/sharp.js"
24
150
  },
151
+ "./vite": {
152
+ "types": "./dist/vite.d.ts",
153
+ "import": "./dist/vite.js"
154
+ },
25
155
  "./dist/*": "./dist/*",
26
156
  "./themes/*": "./themes/*",
27
157
  "./package.json": "./package.json"
28
158
  },
29
159
  "files": [
30
- "dist/styles.css",
31
- "dist/index.esm.js",
32
- "dist/index.d.ts",
33
- "dist/tools.d.ts",
34
- "dist/components",
35
- "dist/generated",
160
+ "dist",
36
161
  "themes",
37
162
  "USAGE.html"
38
163
  ],
@@ -46,14 +171,21 @@
46
171
  "pretest": "npm run generate:icons",
47
172
  "test": "vitest run",
48
173
  "test:watch": "vitest",
49
- "coverage": "vitest run --coverage"
174
+ "coverage": "vitest run --coverage",
175
+ "size": "size-limit"
50
176
  },
51
177
  "keywords": [],
52
178
  "author": "",
53
179
  "license": "ISC",
54
180
  "peerDependencies": {
55
181
  "sass": "^1.85.1",
56
- "solid-js": "^1.8.11"
182
+ "solid-js": "^1.8.11",
183
+ "vite": "^8.0.0"
184
+ },
185
+ "peerDependenciesMeta": {
186
+ "vite": {
187
+ "optional": true
188
+ }
57
189
  },
58
190
  "devDependencies": {
59
191
  "@babel/core": "^7.26.9",
@@ -62,6 +194,8 @@
62
194
  "@rollup/plugin-babel": "^7.1.0",
63
195
  "@rollup/plugin-commonjs": "^29.0.3",
64
196
  "@rollup/plugin-node-resolve": "^16.0.3",
197
+ "@rollup/plugin-terser": "^1.0.0",
198
+ "@size-limit/preset-small-lib": "^12.1.0",
65
199
  "@solidjs/testing-library": "^0.8.9",
66
200
  "@svgr/rollup": "^8.1.0",
67
201
  "@testing-library/jest-dom": "^6.9.1",
@@ -75,6 +209,7 @@
75
209
  "rollup-plugin-postcss": "^4.0.2",
76
210
  "rollup-plugin-string": "^3.0.0",
77
211
  "rollup-plugin-typescript2": "^0.37.0",
212
+ "size-limit": "^12.1.0",
78
213
  "tslib": "^2.8.1",
79
214
  "typescript": "^6.0.3",
80
215
  "vite": "^8.0.16",
package/readme.md CHANGED
@@ -34,6 +34,42 @@ and lightTheme and the addTheme() requires it. It will default to light without
34
34
  @use 'coles-solid-library/themes/themes.scss';
35
35
  ```
36
36
 
37
+ ## Vite setup
38
+
39
+ Add the bundled `coles-solid-library/vite` plugin to your `vite.config` (next to
40
+ `vite-plugin-solid`). It supplies the bundler tuning this library needs so you don't
41
+ hand-maintain it: a single `solid-js` instance (`resolve.dedupe`) and dev pre-bundling of
42
+ the library and its icon barrels (`optimizeDeps.include`).
43
+
44
+ ```ts
45
+ import { defineConfig } from 'vite';
46
+ import solid from 'vite-plugin-solid';
47
+ import colesSolidLibrary from 'coles-solid-library/vite';
48
+
49
+ export default defineConfig({
50
+ plugins: [solid(), colesSolidLibrary()],
51
+ });
52
+ ```
53
+
54
+ This replaces any hand-written `optimizeDeps.include` / `resolve.dedupe` blocks for the
55
+ library, and complements — does not replace — `vite-plugin-solid` (still required to
56
+ compile Solid JSX).
57
+
58
+ **Icon variants.** The plugin defaults to pre-bundling only the `outlined` barrel (the
59
+ default `coles-solid-library/icons` export). If you import the `rounded` or `sharp`
60
+ variants, list them so they're pre-bundled too:
61
+
62
+ ```ts
63
+ colesSolidLibrary({ iconVariants: ['outlined', 'rounded'] })
64
+ ```
65
+
66
+ **Dev vs. production note.** In dev, pre-bundling collapses each icon barrel into a single
67
+ browser-cached chunk so the dev server loads it once instead of raw-serving thousands of
68
+ individual icon modules. The dev chunk is the *full* barrel (esbuild can't tree-shake a
69
+ pre-bundle entry against your usage) — so list only the variants you use to keep the dev
70
+ cache lean. This is dev-cache only and is never shipped: your production build tree-shakes
71
+ down to only the icons you actually import.
72
+
37
73
  ## Usage
38
74
 
39
75
  Here's a basic example of how to use the library:
@@ -1,3 +0,0 @@
1
- // AUTO-GENERATED. Do not edit.
2
- export declare function has(name: string): boolean;
3
- export declare function load(name: string): Promise<string> | undefined;