snice 1.13.2 → 1.13.4

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 (295) hide show
  1. package/bin/templates/base/README.md +1 -1
  2. package/dist/components/accordion/snice-accordion-item.d.ts +25 -0
  3. package/dist/components/accordion/snice-accordion-item.js +260 -0
  4. package/dist/components/accordion/snice-accordion-item.js.map +1 -0
  5. package/dist/components/accordion/snice-accordion.d.ts +28 -0
  6. package/dist/components/accordion/snice-accordion.js +221 -0
  7. package/dist/components/accordion/snice-accordion.js.map +1 -0
  8. package/dist/components/accordion/snice-accordion.types.d.ts +29 -0
  9. package/dist/components/accordion/snice-accordion.types.js +2 -0
  10. package/dist/components/accordion/snice-accordion.types.js.map +1 -0
  11. package/dist/components/alert/snice-alert.d.ts +26 -0
  12. package/dist/components/alert/snice-alert.js +191 -0
  13. package/dist/components/alert/snice-alert.js.map +1 -0
  14. package/dist/components/alert/snice-alert.types.d.ts +11 -0
  15. package/dist/components/alert/snice-alert.types.js +2 -0
  16. package/dist/components/alert/snice-alert.types.js.map +1 -0
  17. package/dist/components/avatar/snice-avatar.d.ts +24 -0
  18. package/dist/components/avatar/snice-avatar.js +177 -0
  19. package/dist/components/avatar/snice-avatar.js.map +1 -0
  20. package/dist/components/avatar/snice-avatar.types.d.ts +12 -0
  21. package/dist/components/avatar/snice-avatar.types.js +2 -0
  22. package/dist/components/avatar/snice-avatar.types.js.map +1 -0
  23. package/dist/components/badge/snice-badge.d.ts +25 -0
  24. package/dist/components/badge/snice-badge.js +157 -0
  25. package/dist/components/badge/snice-badge.js.map +1 -0
  26. package/dist/components/badge/snice-badge.types.d.ts +15 -0
  27. package/dist/components/badge/snice-badge.types.js +2 -0
  28. package/dist/components/badge/snice-badge.types.js.map +1 -0
  29. package/dist/components/breadcrumbs/snice-breadcrumbs.d.ts +27 -0
  30. package/dist/components/breadcrumbs/snice-breadcrumbs.js +212 -0
  31. package/dist/components/breadcrumbs/snice-breadcrumbs.js.map +1 -0
  32. package/dist/components/breadcrumbs/snice-breadcrumbs.types.d.ts +23 -0
  33. package/dist/components/breadcrumbs/snice-breadcrumbs.types.js +2 -0
  34. package/dist/components/breadcrumbs/snice-breadcrumbs.types.js.map +1 -0
  35. package/dist/components/breadcrumbs/snice-crumb.d.ts +9 -0
  36. package/dist/components/breadcrumbs/snice-crumb.js +50 -0
  37. package/dist/components/breadcrumbs/snice-crumb.js.map +1 -0
  38. package/dist/components/button/snice-button.d.ts +32 -0
  39. package/dist/components/button/snice-button.js +212 -0
  40. package/dist/components/button/snice-button.js.map +1 -0
  41. package/dist/components/button/snice-button.types.d.ts +23 -0
  42. package/dist/components/button/snice-button.types.js +2 -0
  43. package/dist/components/button/snice-button.types.js.map +1 -0
  44. package/dist/components/card/snice-card.d.ts +19 -0
  45. package/dist/components/card/snice-card.js +132 -0
  46. package/dist/components/card/snice-card.js.map +1 -0
  47. package/dist/components/card/snice-card.types.d.ts +9 -0
  48. package/dist/components/card/snice-card.types.js +2 -0
  49. package/dist/components/card/snice-card.types.js.map +1 -0
  50. package/dist/components/checkbox/snice-checkbox.d.ts +34 -0
  51. package/dist/components/checkbox/snice-checkbox.js +289 -0
  52. package/dist/components/checkbox/snice-checkbox.js.map +1 -0
  53. package/dist/components/checkbox/snice-checkbox.types.d.ts +20 -0
  54. package/dist/components/checkbox/snice-checkbox.types.js +2 -0
  55. package/dist/components/checkbox/snice-checkbox.types.js.map +1 -0
  56. package/dist/components/chip/snice-chip.d.ts +28 -0
  57. package/dist/components/chip/snice-chip.js +203 -0
  58. package/dist/components/chip/snice-chip.js.map +1 -0
  59. package/dist/components/chip/snice-chip.types.d.ts +14 -0
  60. package/dist/components/chip/snice-chip.types.js +2 -0
  61. package/dist/components/chip/snice-chip.types.js.map +1 -0
  62. package/dist/components/date-picker/snice-date-picker.d.ts +82 -0
  63. package/dist/components/date-picker/snice-date-picker.js +880 -0
  64. package/dist/components/date-picker/snice-date-picker.js.map +1 -0
  65. package/dist/components/date-picker/snice-date-picker.types.d.ts +71 -0
  66. package/dist/components/date-picker/snice-date-picker.types.js +2 -0
  67. package/dist/components/date-picker/snice-date-picker.types.js.map +1 -0
  68. package/dist/components/divider/snice-divider.d.ts +17 -0
  69. package/dist/components/divider/snice-divider.js +111 -0
  70. package/dist/components/divider/snice-divider.js.map +1 -0
  71. package/dist/components/divider/snice-divider.types.d.ts +14 -0
  72. package/dist/components/divider/snice-divider.types.js +2 -0
  73. package/dist/components/divider/snice-divider.types.js.map +1 -0
  74. package/dist/components/drawer/snice-drawer.d.ts +37 -0
  75. package/dist/components/drawer/snice-drawer.js +335 -0
  76. package/dist/components/drawer/snice-drawer.js.map +1 -0
  77. package/dist/components/drawer/snice-drawer.types.d.ts +16 -0
  78. package/dist/components/drawer/snice-drawer.types.js +2 -0
  79. package/dist/components/drawer/snice-drawer.types.js.map +1 -0
  80. package/dist/components/input/snice-input.d.ts +65 -0
  81. package/dist/components/input/snice-input.js +603 -0
  82. package/dist/components/input/snice-input.js.map +1 -0
  83. package/dist/components/input/snice-input.types.d.ts +53 -0
  84. package/dist/components/input/snice-input.types.js +2 -0
  85. package/dist/components/input/snice-input.types.js.map +1 -0
  86. package/dist/components/layout/snice-layout-blog.d.ts +4 -0
  87. package/dist/components/layout/snice-layout-blog.js +56 -0
  88. package/dist/components/layout/snice-layout-blog.js.map +1 -0
  89. package/dist/components/layout/snice-layout-card.d.ts +6 -0
  90. package/dist/components/layout/snice-layout-card.js +53 -0
  91. package/dist/components/layout/snice-layout-card.js.map +1 -0
  92. package/dist/components/layout/snice-layout-centered.d.ts +5 -0
  93. package/dist/components/layout/snice-layout-centered.js +38 -0
  94. package/dist/components/layout/snice-layout-centered.js.map +1 -0
  95. package/dist/components/layout/snice-layout-dashboard.d.ts +4 -0
  96. package/dist/components/layout/snice-layout-dashboard.js +53 -0
  97. package/dist/components/layout/snice-layout-dashboard.js.map +1 -0
  98. package/dist/components/layout/snice-layout-fullscreen.d.ts +5 -0
  99. package/dist/components/layout/snice-layout-fullscreen.js +50 -0
  100. package/dist/components/layout/snice-layout-fullscreen.js.map +1 -0
  101. package/dist/components/layout/snice-layout-landing.d.ts +4 -0
  102. package/dist/components/layout/snice-layout-landing.js +55 -0
  103. package/dist/components/layout/snice-layout-landing.js.map +1 -0
  104. package/dist/components/layout/snice-layout-minimal.d.ts +4 -0
  105. package/dist/components/layout/snice-layout-minimal.js +27 -0
  106. package/dist/components/layout/snice-layout-minimal.js.map +1 -0
  107. package/dist/components/layout/snice-layout-sidebar.d.ts +5 -0
  108. package/dist/components/layout/snice-layout-sidebar.js +64 -0
  109. package/dist/components/layout/snice-layout-sidebar.js.map +1 -0
  110. package/dist/components/layout/snice-layout-split.d.ts +6 -0
  111. package/dist/components/layout/snice-layout-split.js +47 -0
  112. package/dist/components/layout/snice-layout-split.js.map +1 -0
  113. package/dist/components/layout/snice-layout.d.ts +4 -0
  114. package/dist/components/layout/snice-layout.js +43 -0
  115. package/dist/components/layout/snice-layout.js.map +1 -0
  116. package/dist/components/layout/snice-layout.types.d.ts +3 -0
  117. package/dist/components/layout/snice-layout.types.js +2 -0
  118. package/dist/components/layout/snice-layout.types.js.map +1 -0
  119. package/dist/components/login/snice-login.d.ts +45 -0
  120. package/dist/components/login/snice-login.js +385 -0
  121. package/dist/components/login/snice-login.js.map +1 -0
  122. package/dist/components/login/snice-login.types.d.ts +31 -0
  123. package/dist/components/login/snice-login.types.js +2 -0
  124. package/dist/components/login/snice-login.types.js.map +1 -0
  125. package/dist/components/modal/snice-modal.d.ts +32 -0
  126. package/dist/components/modal/snice-modal.js +288 -0
  127. package/dist/components/modal/snice-modal.js.map +1 -0
  128. package/dist/components/modal/snice-modal.types.d.ts +18 -0
  129. package/dist/components/modal/snice-modal.types.js +2 -0
  130. package/dist/components/modal/snice-modal.types.js.map +1 -0
  131. package/dist/components/pagination/snice-pagination.d.ts +26 -0
  132. package/dist/components/pagination/snice-pagination.js +373 -0
  133. package/dist/components/pagination/snice-pagination.js.map +1 -0
  134. package/dist/components/pagination/snice-pagination.types.d.ts +18 -0
  135. package/dist/components/pagination/snice-pagination.types.js +2 -0
  136. package/dist/components/pagination/snice-pagination.types.js.map +1 -0
  137. package/dist/components/progress/snice-progress.d.ts +35 -0
  138. package/dist/components/progress/snice-progress.js +295 -0
  139. package/dist/components/progress/snice-progress.js.map +1 -0
  140. package/dist/components/progress/snice-progress.types.d.ts +18 -0
  141. package/dist/components/progress/snice-progress.types.js +2 -0
  142. package/dist/components/progress/snice-progress.types.js.map +1 -0
  143. package/dist/components/radio/snice-radio.d.ts +33 -0
  144. package/dist/components/radio/snice-radio.js +286 -0
  145. package/dist/components/radio/snice-radio.js.map +1 -0
  146. package/dist/components/radio/snice-radio.types.d.ts +19 -0
  147. package/dist/components/radio/snice-radio.types.js +2 -0
  148. package/dist/components/radio/snice-radio.types.js.map +1 -0
  149. package/dist/components/select/snice-option.d.ts +17 -0
  150. package/dist/components/select/snice-option.js +77 -0
  151. package/dist/components/select/snice-option.js.map +1 -0
  152. package/dist/components/select/snice-option.types.d.ts +14 -0
  153. package/dist/components/select/snice-option.types.js +2 -0
  154. package/dist/components/select/snice-option.types.js.map +1 -0
  155. package/dist/components/select/snice-select.d.ts +89 -0
  156. package/dist/components/select/snice-select.js +900 -0
  157. package/dist/components/select/snice-select.js.map +1 -0
  158. package/dist/components/select/snice-select.types.d.ts +49 -0
  159. package/dist/components/select/snice-select.types.js +2 -0
  160. package/dist/components/select/snice-select.types.js.map +1 -0
  161. package/dist/components/skeleton/snice-skeleton.d.ts +16 -0
  162. package/dist/components/skeleton/snice-skeleton.js +159 -0
  163. package/dist/components/skeleton/snice-skeleton.js.map +1 -0
  164. package/dist/components/skeleton/snice-skeleton.types.d.ts +10 -0
  165. package/dist/components/skeleton/snice-skeleton.types.js +2 -0
  166. package/dist/components/skeleton/snice-skeleton.types.js.map +1 -0
  167. package/dist/components/switch/snice-switch.d.ts +38 -0
  168. package/dist/components/switch/snice-switch.js +309 -0
  169. package/dist/components/switch/snice-switch.js.map +1 -0
  170. package/dist/components/switch/snice-switch.types.d.ts +21 -0
  171. package/dist/components/switch/snice-switch.types.js +2 -0
  172. package/dist/components/switch/snice-switch.types.js.map +1 -0
  173. package/dist/components/symbols.d.ts +1 -0
  174. package/dist/components/symbols.js +20 -0
  175. package/dist/components/symbols.js.map +1 -0
  176. package/dist/components/table/snice-cell-boolean.d.ts +21 -0
  177. package/dist/components/table/snice-cell-boolean.js +152 -0
  178. package/dist/components/table/snice-cell-boolean.js.map +1 -0
  179. package/dist/components/table/snice-cell-date.d.ts +24 -0
  180. package/dist/components/table/snice-cell-date.js +240 -0
  181. package/dist/components/table/snice-cell-date.js.map +1 -0
  182. package/dist/components/table/snice-cell-duration.d.ts +16 -0
  183. package/dist/components/table/snice-cell-duration.js +123 -0
  184. package/dist/components/table/snice-cell-duration.js.map +1 -0
  185. package/dist/components/table/snice-cell-filesize.d.ts +16 -0
  186. package/dist/components/table/snice-cell-filesize.js +119 -0
  187. package/dist/components/table/snice-cell-filesize.js.map +1 -0
  188. package/dist/components/table/snice-cell-number.d.ts +23 -0
  189. package/dist/components/table/snice-cell-number.js +202 -0
  190. package/dist/components/table/snice-cell-number.js.map +1 -0
  191. package/dist/components/table/snice-cell-progress.d.ts +17 -0
  192. package/dist/components/table/snice-cell-progress.js +114 -0
  193. package/dist/components/table/snice-cell-progress.js.map +1 -0
  194. package/dist/components/table/snice-cell-rating.d.ts +17 -0
  195. package/dist/components/table/snice-cell-rating.js +113 -0
  196. package/dist/components/table/snice-cell-rating.js.map +1 -0
  197. package/dist/components/table/snice-cell-sparkline.d.ts +29 -0
  198. package/dist/components/table/snice-cell-sparkline.js +290 -0
  199. package/dist/components/table/snice-cell-sparkline.js.map +1 -0
  200. package/dist/components/table/snice-cell-text.d.ts +19 -0
  201. package/dist/components/table/snice-cell-text.js +153 -0
  202. package/dist/components/table/snice-cell-text.js.map +1 -0
  203. package/dist/components/table/snice-cell.d.ts +32 -0
  204. package/dist/components/table/snice-cell.js +451 -0
  205. package/dist/components/table/snice-cell.js.map +1 -0
  206. package/dist/components/table/snice-column.d.ts +62 -0
  207. package/dist/components/table/snice-column.js +440 -0
  208. package/dist/components/table/snice-column.js.map +1 -0
  209. package/dist/components/table/snice-header.d.ts +33 -0
  210. package/dist/components/table/snice-header.js +303 -0
  211. package/dist/components/table/snice-header.js.map +1 -0
  212. package/dist/components/table/snice-progress.d.ts +10 -0
  213. package/dist/components/table/snice-progress.js +91 -0
  214. package/dist/components/table/snice-progress.js.map +1 -0
  215. package/dist/components/table/snice-rating.d.ts +9 -0
  216. package/dist/components/table/snice-rating.js +68 -0
  217. package/dist/components/table/snice-rating.js.map +1 -0
  218. package/dist/components/table/snice-row.d.ts +43 -0
  219. package/dist/components/table/snice-row.js +365 -0
  220. package/dist/components/table/snice-row.js.map +1 -0
  221. package/dist/components/table/snice-table.d.ts +69 -0
  222. package/dist/components/table/snice-table.js +814 -0
  223. package/dist/components/table/snice-table.js.map +1 -0
  224. package/dist/components/table/snice-table.types.d.ts +137 -0
  225. package/dist/components/table/snice-table.types.js +2 -0
  226. package/dist/components/table/snice-table.types.js.map +1 -0
  227. package/dist/components/tabs/snice-tab-panel.d.ts +12 -0
  228. package/dist/components/tabs/snice-tab-panel.js +78 -0
  229. package/dist/components/tabs/snice-tab-panel.js.map +1 -0
  230. package/dist/components/tabs/snice-tab.d.ts +13 -0
  231. package/dist/components/tabs/snice-tab.js +90 -0
  232. package/dist/components/tabs/snice-tab.js.map +1 -0
  233. package/dist/components/tabs/snice-tabs.d.ts +34 -0
  234. package/dist/components/tabs/snice-tabs.js +367 -0
  235. package/dist/components/tabs/snice-tabs.js.map +1 -0
  236. package/dist/components/tabs/snice-tabs.types.d.ts +23 -0
  237. package/dist/components/tabs/snice-tabs.types.js +2 -0
  238. package/dist/components/tabs/snice-tabs.types.js.map +1 -0
  239. package/dist/components/toast/snice-toast-container.d.ts +25 -0
  240. package/dist/components/toast/snice-toast-container.js +251 -0
  241. package/dist/components/toast/snice-toast-container.js.map +1 -0
  242. package/dist/components/toast/snice-toast.d.ts +23 -0
  243. package/dist/components/toast/snice-toast.js +316 -0
  244. package/dist/components/toast/snice-toast.js.map +1 -0
  245. package/dist/components/toast/snice-toast.types.d.ts +30 -0
  246. package/dist/components/toast/snice-toast.types.js +2 -0
  247. package/dist/components/toast/snice-toast.types.js.map +1 -0
  248. package/dist/components/tooltip/snice-tooltip.d.ts +50 -0
  249. package/dist/components/tooltip/snice-tooltip.js +656 -0
  250. package/dist/components/tooltip/snice-tooltip.js.map +1 -0
  251. package/dist/components/tooltip/snice-tooltip.types.d.ts +18 -0
  252. package/dist/components/tooltip/snice-tooltip.types.js +2 -0
  253. package/dist/components/tooltip/snice-tooltip.types.js.map +1 -0
  254. package/dist/components/transitions.d.ts +11 -0
  255. package/dist/components/transitions.js +69 -0
  256. package/dist/components/transitions.js.map +1 -0
  257. package/dist/src/controller.d.ts +61 -0
  258. package/dist/src/controller.js +297 -0
  259. package/dist/src/controller.js.map +1 -0
  260. package/dist/src/element.d.ts +77 -0
  261. package/dist/src/element.js +805 -0
  262. package/dist/src/element.js.map +1 -0
  263. package/dist/src/events.d.ts +37 -0
  264. package/dist/src/events.js +289 -0
  265. package/dist/src/events.js.map +1 -0
  266. package/dist/src/global.d.ts +7 -0
  267. package/dist/src/global.js +23 -0
  268. package/dist/src/global.js.map +1 -0
  269. package/{src/index.ts → dist/src/index.d.ts} +1 -1
  270. package/dist/src/index.js +8 -0
  271. package/dist/src/index.js.map +1 -0
  272. package/dist/src/observe.d.ts +26 -0
  273. package/dist/src/observe.js +329 -0
  274. package/dist/src/observe.js.map +1 -0
  275. package/dist/src/request-response.d.ts +46 -0
  276. package/dist/src/request-response.js +267 -0
  277. package/dist/src/request-response.js.map +1 -0
  278. package/dist/src/router.d.ts +87 -0
  279. package/dist/src/router.js +375 -0
  280. package/dist/src/router.js.map +1 -0
  281. package/dist/src/symbols.d.ts +29 -0
  282. package/{src/symbols.ts → dist/src/symbols.js} +2 -12
  283. package/dist/src/symbols.js.map +1 -0
  284. package/dist/src/transitions.d.ts +50 -0
  285. package/dist/src/transitions.js +199 -0
  286. package/dist/src/transitions.js.map +1 -0
  287. package/package.json +6 -8
  288. package/src/controller.ts +0 -347
  289. package/src/element.ts +0 -897
  290. package/src/events.ts +0 -349
  291. package/src/global.ts +0 -31
  292. package/src/observe.ts +0 -414
  293. package/src/request-response.ts +0 -336
  294. package/src/router.ts +0 -552
  295. package/src/transitions.ts +0 -264
@@ -0,0 +1,451 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { element, property, watch, ready, query } from '../../src/index';
11
+ import css from './snice-cell.css?inline';
12
+ let SniceCell = class SniceCell extends HTMLElement {
13
+ constructor() {
14
+ super(...arguments);
15
+ this.align = 'left';
16
+ this.type = 'text';
17
+ this.value = '';
18
+ this.column = {
19
+ key: '',
20
+ label: '',
21
+ type: 'text',
22
+ align: 'left'
23
+ };
24
+ this.rowData = null;
25
+ }
26
+ html() {
27
+ return `
28
+ <div class="cell-content" part="content">
29
+ ${this.formatValue()}
30
+ </div>
31
+ `;
32
+ }
33
+ css() {
34
+ return css;
35
+ }
36
+ init() {
37
+ this.applyAlignment();
38
+ this.applyConditionalFormatting();
39
+ }
40
+ updateAlignment() {
41
+ this.applyAlignment();
42
+ }
43
+ updateContent() {
44
+ if (this.contentElement) {
45
+ this.contentElement.innerHTML = this.formatValue();
46
+ }
47
+ this.applyConditionalFormatting();
48
+ }
49
+ applyAlignment() {
50
+ this.style.textAlign = this.align;
51
+ }
52
+ applyConditionalFormatting() {
53
+ if (!this.column || !this.column.conditionalFormats)
54
+ return;
55
+ // Reset any previous conditional formatting
56
+ this.removeAttribute('style');
57
+ this.className = 'snice-cell';
58
+ this.applyAlignment();
59
+ // Apply column base style if defined
60
+ if (this.column.style) {
61
+ this.applyStyle(this.column.style);
62
+ }
63
+ // Check and apply conditional formats
64
+ for (const format of this.column.conditionalFormats) {
65
+ if (format.condition(this.value, this.rowData)) {
66
+ if (format.style) {
67
+ this.applyStyle(format.style);
68
+ }
69
+ if (format.className) {
70
+ this.classList.add(format.className);
71
+ }
72
+ break; // Apply only the first matching format
73
+ }
74
+ }
75
+ }
76
+ applyStyle(style) {
77
+ if (style.backgroundColor)
78
+ this.style.backgroundColor = style.backgroundColor;
79
+ if (style.color)
80
+ this.style.color = style.color;
81
+ if (style.fontWeight)
82
+ this.style.fontWeight = style.fontWeight;
83
+ if (style.fontStyle)
84
+ this.style.fontStyle = style.fontStyle;
85
+ if (style.fontSize)
86
+ this.style.fontSize = style.fontSize;
87
+ if (style.textDecoration)
88
+ this.style.textDecoration = style.textDecoration;
89
+ }
90
+ formatValue() {
91
+ if (this.value === null || this.value === undefined) {
92
+ return '';
93
+ }
94
+ // Use custom formatter if provided
95
+ if (this.column.formatter) {
96
+ return this.column.formatter(this.value, this.rowData);
97
+ }
98
+ // Apply type-specific formatting
99
+ switch (this.type) {
100
+ case 'text':
101
+ return this.formatText();
102
+ case 'number':
103
+ return this.formatNumber();
104
+ case 'currency':
105
+ return this.formatCurrency();
106
+ case 'percent':
107
+ return this.formatPercent();
108
+ case 'accounting':
109
+ return this.formatAccounting();
110
+ case 'scientific':
111
+ return this.formatScientific();
112
+ case 'fraction':
113
+ return this.formatFraction();
114
+ case 'date':
115
+ return this.formatDate();
116
+ case 'boolean':
117
+ return this.formatBoolean();
118
+ case 'rating':
119
+ return this.formatRating();
120
+ case 'progress':
121
+ return this.formatProgress();
122
+ case 'sparkline':
123
+ return this.formatSparkline();
124
+ case 'duration':
125
+ return this.formatDuration();
126
+ case 'filesize':
127
+ return this.formatFilesize();
128
+ case 'custom':
129
+ return String(this.value);
130
+ default:
131
+ return String(this.value);
132
+ }
133
+ }
134
+ formatText() {
135
+ return String(this.value);
136
+ }
137
+ formatNumber() {
138
+ const format = this.column.numberFormat || {};
139
+ const num = Number(this.value);
140
+ if (isNaN(num))
141
+ return String(this.value);
142
+ let formatted = num.toFixed(format.decimals ?? 0);
143
+ if (format.thousandsSeparator) {
144
+ const parts = formatted.split('.');
145
+ parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ',');
146
+ formatted = parts.join('.');
147
+ }
148
+ if (num < 0 && format.negativeStyle === 'parentheses') {
149
+ formatted = `(${formatted.replace('-', '')})`;
150
+ }
151
+ if (format.prefix)
152
+ formatted = format.prefix + formatted;
153
+ if (format.suffix)
154
+ formatted = formatted + format.suffix;
155
+ return formatted;
156
+ }
157
+ formatCurrency() {
158
+ const format = this.column.numberFormat || {};
159
+ const num = Number(this.value);
160
+ if (isNaN(num))
161
+ return String(this.value);
162
+ const currencyFormat = {
163
+ style: 'currency',
164
+ currency: 'USD',
165
+ minimumFractionDigits: format.decimals ?? 2,
166
+ maximumFractionDigits: format.decimals ?? 2
167
+ };
168
+ return new Intl.NumberFormat('en-US', currencyFormat).format(num);
169
+ }
170
+ formatPercent() {
171
+ const format = this.column.numberFormat || {};
172
+ const num = Number(this.value);
173
+ if (isNaN(num))
174
+ return String(this.value);
175
+ const percentFormat = {
176
+ style: 'percent',
177
+ minimumFractionDigits: format.decimals ?? 1,
178
+ maximumFractionDigits: format.decimals ?? 1
179
+ };
180
+ return new Intl.NumberFormat('en-US', percentFormat).format(num);
181
+ }
182
+ formatAccounting() {
183
+ const format = this.column.numberFormat || {};
184
+ const num = Number(this.value);
185
+ if (isNaN(num))
186
+ return String(this.value);
187
+ let formatted = Math.abs(num).toFixed(format.decimals ?? 2);
188
+ if (format.thousandsSeparator) {
189
+ const parts = formatted.split('.');
190
+ parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ',');
191
+ formatted = parts.join('.');
192
+ }
193
+ if (num < 0) {
194
+ formatted = `(${formatted})`;
195
+ }
196
+ else {
197
+ formatted = ` ${formatted} `;
198
+ }
199
+ return formatted;
200
+ }
201
+ formatScientific() {
202
+ const format = this.column.numberFormat || {};
203
+ const num = Number(this.value);
204
+ if (isNaN(num))
205
+ return String(this.value);
206
+ return num.toExponential(format.decimals ?? 2);
207
+ }
208
+ formatFraction() {
209
+ const num = Number(this.value);
210
+ if (isNaN(num))
211
+ return String(this.value);
212
+ // Simple fraction conversion
213
+ const tolerance = 1e-6;
214
+ let h1 = 1, h2 = 0, k1 = 0, k2 = 1;
215
+ let b = num;
216
+ do {
217
+ const a = Math.floor(b);
218
+ let aux = h1;
219
+ h1 = a * h1 + h2;
220
+ h2 = aux;
221
+ aux = k1;
222
+ k1 = a * k1 + k2;
223
+ k2 = aux;
224
+ b = 1 / (b - a);
225
+ } while (Math.abs(num - h1 / k1) > num * tolerance);
226
+ return `${h1}/${k1}`;
227
+ }
228
+ formatDate() {
229
+ const format = this.column.dateFormat || {};
230
+ const date = new Date(this.value);
231
+ if (isNaN(date.getTime()))
232
+ return String(this.value);
233
+ if (format.customFormat) {
234
+ // Simple custom format implementation
235
+ return format.customFormat
236
+ .replace('YYYY', date.getFullYear().toString())
237
+ .replace('MM', (date.getMonth() + 1).toString().padStart(2, '0'))
238
+ .replace('DD', date.getDate().toString().padStart(2, '0'));
239
+ }
240
+ const options = {};
241
+ switch (format.format) {
242
+ case 'short':
243
+ options.dateStyle = 'short';
244
+ break;
245
+ case 'medium':
246
+ options.dateStyle = 'medium';
247
+ break;
248
+ case 'long':
249
+ options.dateStyle = 'long';
250
+ break;
251
+ case 'full':
252
+ options.dateStyle = 'full';
253
+ break;
254
+ default:
255
+ options.dateStyle = 'short';
256
+ }
257
+ return new Intl.DateTimeFormat(format.locale || 'en-US', options).format(date);
258
+ }
259
+ formatBoolean() {
260
+ const format = this.column.booleanFormat || {};
261
+ const bool = Boolean(this.value);
262
+ if (format.useSymbols) {
263
+ return bool
264
+ ? (format.trueSymbol || '✓')
265
+ : (format.falseSymbol || '✗');
266
+ }
267
+ return bool
268
+ ? (format.trueValue || 'true')
269
+ : (format.falseValue || 'false');
270
+ }
271
+ formatRating() {
272
+ const format = this.column.ratingFormat || {};
273
+ const rating = Number(this.value);
274
+ const max = format.max || 5;
275
+ const symbol = format.symbol || '★';
276
+ const emptySymbol = format.emptySymbol || '☆';
277
+ if (isNaN(rating))
278
+ return String(this.value);
279
+ let html = '';
280
+ for (let i = 0; i < max; i++) {
281
+ if (i < rating) {
282
+ html += `<span style="color: ${format.color || '#ffc107'}">${symbol}</span>`;
283
+ }
284
+ else {
285
+ html += `<span style="color: #ddd">${emptySymbol}</span>`;
286
+ }
287
+ }
288
+ return html;
289
+ }
290
+ formatProgress() {
291
+ const format = this.column.progressFormat || {};
292
+ const value = Number(this.value);
293
+ const max = format.max || 100;
294
+ const percentage = Math.min(100, Math.max(0, (value / max) * 100));
295
+ if (isNaN(value))
296
+ return String(this.value);
297
+ const color = format.color || '#007bff';
298
+ const bgColor = format.backgroundColor || '#e9ecef';
299
+ const height = format.height || '1rem'; // Using rem for height
300
+ let html = `
301
+ <div style="
302
+ width: 100%;
303
+ height: ${height};
304
+ background-color: ${bgColor};
305
+ border-radius: 0.25rem;
306
+ overflow: hidden;
307
+ position: relative;
308
+ ">
309
+ <div style="
310
+ width: ${percentage}%;
311
+ height: 100%;
312
+ background-color: ${color};
313
+ transition: width 0.3s ease;
314
+ "></div>
315
+ `;
316
+ if (format.showPercentage) {
317
+ html += `
318
+ <span style="
319
+ position: absolute;
320
+ top: 50%;
321
+ left: 50%;
322
+ transform: translate(-50%, -50%);
323
+ font-size: 0.75rem;
324
+ font-weight: bold;
325
+ color: ${percentage > 50 ? 'white' : 'black'};
326
+ ">${Math.round(percentage)}%</span>
327
+ `;
328
+ }
329
+ html += '</div>';
330
+ return html;
331
+ }
332
+ formatSparkline() {
333
+ const format = this.column.sparklineFormat || {};
334
+ const data = Array.isArray(this.value) ? this.value : [];
335
+ if (data.length === 0)
336
+ return '';
337
+ const width = format.width || 60;
338
+ const height = format.height || 20;
339
+ const color = format.color || '#007bff';
340
+ const type = format.type || 'line';
341
+ const max = Math.max(...data);
342
+ const min = Math.min(...data);
343
+ const range = max - min || 1;
344
+ if (type === 'line') {
345
+ const points = data.map((val, i) => {
346
+ const x = (i / (data.length - 1)) * width;
347
+ const y = height - ((val - min) / range) * height;
348
+ return `${x},${y}`;
349
+ }).join(' ');
350
+ return `
351
+ <svg width="${width}" height="${height}" style="display: block;">
352
+ <polyline
353
+ points="${points}"
354
+ fill="none"
355
+ stroke="${color}"
356
+ stroke-width="2"
357
+ />
358
+ </svg>
359
+ `;
360
+ }
361
+ else if (type === 'bar') {
362
+ const barWidth = width / data.length;
363
+ const bars = data.map((val, i) => {
364
+ const barHeight = ((val - min) / range) * height;
365
+ const x = i * barWidth;
366
+ const y = height - barHeight;
367
+ return `<rect x="${x}" y="${y}" width="${barWidth - 1}" height="${barHeight}" fill="${color}" />`;
368
+ }).join('');
369
+ return `
370
+ <svg width="${width}" height="${height}" style="display: block;">
371
+ ${bars}
372
+ </svg>
373
+ `;
374
+ }
375
+ return String(this.value);
376
+ }
377
+ formatDuration() {
378
+ const seconds = Number(this.value);
379
+ if (isNaN(seconds))
380
+ return String(this.value);
381
+ const hours = Math.floor(seconds / 3600);
382
+ const minutes = Math.floor((seconds % 3600) / 60);
383
+ const secs = seconds % 60;
384
+ if (hours > 0) {
385
+ return `${hours}:${minutes.toString().padStart(2, '0')}:${secs.toString().padStart(2, '0')}`;
386
+ }
387
+ else {
388
+ return `${minutes}:${secs.toString().padStart(2, '0')}`;
389
+ }
390
+ }
391
+ formatFilesize() {
392
+ const bytes = Number(this.value);
393
+ if (isNaN(bytes))
394
+ return String(this.value);
395
+ const units = ['B', 'KB', 'MB', 'GB', 'TB'];
396
+ let size = bytes;
397
+ let unitIndex = 0;
398
+ while (size >= 1024 && unitIndex < units.length - 1) {
399
+ size /= 1024;
400
+ unitIndex++;
401
+ }
402
+ return `${size.toFixed(unitIndex === 0 ? 0 : 1)} ${units[unitIndex]}`;
403
+ }
404
+ };
405
+ __decorate([
406
+ property({ reflect: true }),
407
+ __metadata("design:type", String)
408
+ ], SniceCell.prototype, "align", void 0);
409
+ __decorate([
410
+ property({ reflect: true }),
411
+ __metadata("design:type", String)
412
+ ], SniceCell.prototype, "type", void 0);
413
+ __decorate([
414
+ property(),
415
+ __metadata("design:type", Object)
416
+ ], SniceCell.prototype, "value", void 0);
417
+ __decorate([
418
+ property({ type: Object }),
419
+ __metadata("design:type", Object)
420
+ ], SniceCell.prototype, "column", void 0);
421
+ __decorate([
422
+ property({ type: Object }),
423
+ __metadata("design:type", Object)
424
+ ], SniceCell.prototype, "rowData", void 0);
425
+ __decorate([
426
+ query('.cell-content'),
427
+ __metadata("design:type", HTMLElement)
428
+ ], SniceCell.prototype, "contentElement", void 0);
429
+ __decorate([
430
+ ready(),
431
+ __metadata("design:type", Function),
432
+ __metadata("design:paramtypes", []),
433
+ __metadata("design:returntype", void 0)
434
+ ], SniceCell.prototype, "init", null);
435
+ __decorate([
436
+ watch('align'),
437
+ __metadata("design:type", Function),
438
+ __metadata("design:paramtypes", []),
439
+ __metadata("design:returntype", void 0)
440
+ ], SniceCell.prototype, "updateAlignment", null);
441
+ __decorate([
442
+ watch('value', 'column'),
443
+ __metadata("design:type", Function),
444
+ __metadata("design:paramtypes", []),
445
+ __metadata("design:returntype", void 0)
446
+ ], SniceCell.prototype, "updateContent", null);
447
+ SniceCell = __decorate([
448
+ element('snice-cell')
449
+ ], SniceCell);
450
+ export { SniceCell };
451
+ //# sourceMappingURL=snice-cell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snice-cell.js","sourceRoot":"","sources":["../../../components/table/snice-cell.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ import type { SniceColumnElement, ColumnType, ColumnAlign, ColumnDefinition, ConditionalFormat } from './snice-table.types';
2
+ export declare class SniceColumn extends HTMLElement implements SniceColumnElement {
3
+ key: string;
4
+ label: string;
5
+ type: ColumnType;
6
+ align: ColumnAlign;
7
+ width: string;
8
+ sortable: boolean;
9
+ filterable: boolean;
10
+ wrap: boolean;
11
+ ellipsis: boolean;
12
+ tooltip: boolean;
13
+ decimals?: number;
14
+ thousandsSeparator?: boolean;
15
+ numberPrefix?: string;
16
+ numberSuffix?: string;
17
+ negativeStyle?: 'parentheses' | 'red' | 'minus';
18
+ dateFormat?: 'short' | 'medium' | 'long' | 'full' | 'custom';
19
+ customDateFormat?: string;
20
+ dateLocale?: string;
21
+ trueValue?: string;
22
+ falseValue?: string;
23
+ useSymbols?: boolean;
24
+ trueSymbol?: string;
25
+ falseSymbol?: string;
26
+ ratingMax?: number;
27
+ ratingSymbol?: string;
28
+ ratingEmptySymbol?: string;
29
+ ratingColor?: string;
30
+ progressMax?: number;
31
+ showPercentage?: boolean;
32
+ progressColor?: string;
33
+ progressBgColor?: string;
34
+ progressHeight?: string;
35
+ sparklineType?: 'line' | 'bar' | 'area';
36
+ sparklineColor?: string;
37
+ sparklineWidth?: number;
38
+ sparklineHeight?: number;
39
+ cellBgColor?: string;
40
+ cellColor?: string;
41
+ cellFontWeight?: 'normal' | 'bold' | 'lighter';
42
+ cellFontStyle?: 'normal' | 'italic';
43
+ cellFontSize?: string;
44
+ cellTextDecoration?: 'none' | 'underline' | 'line-through';
45
+ private formatter?;
46
+ private conditionalFormats;
47
+ html(): string;
48
+ setFormatter(formatter: (value: any, row?: any) => string): void;
49
+ addConditionalFormat(format: ConditionalFormat): void;
50
+ removeConditionalFormat(index: number): void;
51
+ clearConditionalFormats(): void;
52
+ getColumnDefinition(): ColumnDefinition;
53
+ private handleBasicPropsChange;
54
+ private handleNumberFormatChange;
55
+ private handleDateFormatChange;
56
+ private handleBooleanFormatChange;
57
+ private handleRatingFormatChange;
58
+ private handleProgressFormatChange;
59
+ private handleSparklineFormatChange;
60
+ private handleStyleChange;
61
+ private notifyTableOfChange;
62
+ }