@c8y/style 1023.14.33 → 1023.14.37

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 (403) hide show
  1. package/branding-login.scss +17 -0
  2. package/branding.scss +15 -0
  3. package/export.scss +1 -0
  4. package/extend.scss +4 -0
  5. package/login.scss +17 -0
  6. package/main.scss +6 -0
  7. package/package.json +1 -1
  8. package/styles/README.md +204 -0
  9. package/styles/_login-app.scss +34 -0
  10. package/styles/_mixins.scss +47 -0
  11. package/styles/_utilities.scss +21 -0
  12. package/styles/animations/_animate.less +648 -0
  13. package/styles/animations/_animate.scss +654 -0
  14. package/styles/animations/_component-animations.scss +70 -0
  15. package/styles/animations/_realtime-animation-list.scss +21 -0
  16. package/styles/animations/_spinner-snake.scss +73 -0
  17. package/styles/{_spinner.less → animations/_spinner.less} +0 -3
  18. package/styles/animations/_spinner.scss +165 -0
  19. package/styles/base/_normalize.scss +309 -0
  20. package/styles/base/_print.scss +159 -0
  21. package/styles/base/_scaffolding.scss +162 -0
  22. package/styles/{_type.less → base/_type.less} +2 -2
  23. package/styles/base/_type.scss +350 -0
  24. package/styles/components/_markdown-content.less +75 -0
  25. package/styles/components/_markdown-content.scss +82 -0
  26. package/styles/{_smartrules.less → components/_smartrules.less} +120 -97
  27. package/styles/components/_smartrules.scss +392 -0
  28. package/styles/{_range-display.less → components/data-display-and-visualization/_range-display.less} +67 -49
  29. package/styles/components/data-display-and-visualization/_range-display.scss +488 -0
  30. package/styles/{_timelines-chart.less → components/data-display-and-visualization/_timelines-chart.less} +42 -33
  31. package/styles/components/data-display-and-visualization/_timelines-chart.scss +45 -0
  32. package/styles/{_c8y-data-point-list.less → components/data-display-and-visualization/lists/_c8y-data-point-list.less} +2 -20
  33. package/styles/components/data-display-and-visualization/lists/_c8y-data-point-list.scss +32 -0
  34. package/styles/components/data-display-and-visualization/lists/_c8y-empty-state.scss +164 -0
  35. package/styles/{_c8y-list-group.less → components/data-display-and-visualization/lists/_c8y-list-group.less} +1 -1
  36. package/styles/components/data-display-and-visualization/lists/_c8y-list-group.scss +789 -0
  37. package/styles/components/data-display-and-visualization/lists/_cards-layout.scss +415 -0
  38. package/styles/{_list-group.less → components/data-display-and-visualization/lists/_list-group.less} +4 -2
  39. package/styles/components/data-display-and-visualization/lists/_list-group.scss +381 -0
  40. package/styles/components/data-display-and-visualization/lists/_smart-rules-template-list.scss +36 -0
  41. package/styles/components/data-display-and-visualization/lists/_timeline-list.scss +240 -0
  42. package/styles/components/data-display-and-visualization/lists/timeline-list.less +216 -0
  43. package/styles/components/data-display-and-visualization/tables/_data-grid.scss +814 -0
  44. package/styles/{_resizable-grid.less → components/data-display-and-visualization/tables/_resizable-grid.less} +0 -3
  45. package/styles/components/data-display-and-visualization/tables/_resizable-grid.scss +138 -0
  46. package/styles/components/data-display-and-visualization/tables/_tables.scss +411 -0
  47. package/styles/{_c8y-ai-chat.less → components/data-input/_c8y-ai-chat.less} +44 -28
  48. package/styles/components/data-input/_c8y-ai-chat.scss +212 -0
  49. package/styles/components/data-input/assets/_asset-property-list.scss +285 -0
  50. package/styles/{_asset-table.less → components/data-input/assets/_asset-table.less} +3 -6
  51. package/styles/components/data-input/assets/_asset-table.scss +95 -0
  52. package/styles/components/data-input/assets/_c8y-asset-notes.scss +41 -0
  53. package/styles/components/data-input/assets/_c8y-asset-selector-miller.scss +134 -0
  54. package/styles/{_c8y-asset-selector.less → components/data-input/assets/_c8y-asset-selector.less} +1 -1
  55. package/styles/components/data-input/assets/_c8y-asset-selector.scss +178 -0
  56. package/styles/components/data-input/assets/_c8y-child-assets-selector.scss +231 -0
  57. package/styles/{_app-switcher.less → components/navigation-and-layout/action-bars/_app-switcher.less} +1 -1
  58. package/styles/components/navigation-and-layout/action-bars/_app-switcher.scss +111 -0
  59. package/styles/components/navigation-and-layout/action-bars/_c8y-action-bar.scss +418 -0
  60. package/styles/{_card-dashboard.less → components/navigation-and-layout/cards/_card-dashboard.less} +2 -5
  61. package/styles/components/navigation-and-layout/cards/_card-dashboard.scss +179 -0
  62. package/styles/components/navigation-and-layout/cards/_card-flip.scss +104 -0
  63. package/styles/components/navigation-and-layout/cards/_card-grid.scss +95 -0
  64. package/styles/{_card.less → components/navigation-and-layout/cards/_card.less} +18 -22
  65. package/styles/components/navigation-and-layout/cards/_card.scss +769 -0
  66. package/styles/{_panels.less → components/navigation-and-layout/cards/_panels.less} +11 -21
  67. package/styles/components/navigation-and-layout/cards/_panels.scss +514 -0
  68. package/styles/components/navigation-and-layout/navigation/_breadcrumbs.less +82 -0
  69. package/styles/components/navigation-and-layout/navigation/_breadcrumbs.scss +61 -0
  70. package/styles/components/navigation-and-layout/navigation/_c8y-nav-stacked.scss +85 -0
  71. package/styles/components/navigation-and-layout/navigation/_main-header.scss +510 -0
  72. package/styles/{_navbar.less → components/navigation-and-layout/navigation/_navbar.less} +7 -6
  73. package/styles/components/navigation-and-layout/navigation/_navbar.scss +488 -0
  74. package/styles/components/navigation-and-layout/navigation/_navigator.scss +454 -0
  75. package/styles/components/navigation-and-layout/navigation/_navs.scss +118 -0
  76. package/styles/components/navigation-and-layout/navigation/_pagination.scss +148 -0
  77. package/styles/components/navigation-and-layout/navigation/_steps-navbar.scss +101 -0
  78. package/styles/{_tabs.less → components/navigation-and-layout/navigation/_tabs.less} +1 -1
  79. package/styles/components/navigation-and-layout/navigation/_tabs.scss +254 -0
  80. package/styles/components/navigation-and-layout/navigation/steps-navbar.less +98 -0
  81. package/styles/components/specialized/_boxed-label.scss +36 -0
  82. package/styles/components/specialized/_c8y-cookie-banner.scss +37 -0
  83. package/styles/{_c8y-countdown-interval.less → components/specialized/_c8y-countdown-interval.less} +1 -1
  84. package/styles/components/specialized/_c8y-countdown-interval.scss +126 -0
  85. package/styles/{_c8y-data-explorer.less → components/specialized/_c8y-data-explorer.less} +12 -115
  86. package/styles/components/specialized/_c8y-data-explorer.scss +260 -0
  87. package/styles/components/specialized/_c8y-datapoint-pill.scss +105 -0
  88. package/styles/{_c8y-login.less → components/specialized/_c8y-login.less} +3 -3
  89. package/styles/components/specialized/_c8y-login.scss +120 -0
  90. package/styles/components/specialized/_c8y-message-banner.less +37 -0
  91. package/styles/components/specialized/_c8y-message-banner.scss +52 -0
  92. package/styles/components/specialized/_c8y-pulse.scss +118 -0
  93. package/styles/components/specialized/_c8y-range.scss +237 -0
  94. package/styles/{_c8y-role-card.less → components/specialized/_c8y-role-card.less} +2 -22
  95. package/styles/components/specialized/_c8y-role-card.scss +68 -0
  96. package/styles/{_c8y-schema-form.less → components/specialized/_c8y-schema-form.less} +1 -5
  97. package/styles/components/specialized/_c8y-schema-form.scss +193 -0
  98. package/styles/components/specialized/_c8y-scrollbar.scss +82 -0
  99. package/styles/components/specialized/_c8y-smart-rest-tab.scss +75 -0
  100. package/styles/{_c8y-stepper.less → components/specialized/_c8y-stepper.less} +3 -3
  101. package/styles/components/specialized/_c8y-stepper.scss +110 -0
  102. package/styles/{_c8y-user-roles.less → components/specialized/_c8y-user-roles.less} +6 -7
  103. package/styles/components/specialized/_c8y-user-roles.scss +351 -0
  104. package/styles/{_c8y-utils.less → components/specialized/_c8y-utils.less} +0 -3
  105. package/styles/components/specialized/_c8y-utils.scss +109 -0
  106. package/styles/components/specialized/_code.scss +94 -0
  107. package/styles/components/specialized/_device-software-tab.scss +52 -0
  108. package/styles/components/specialized/_dtm-icon-selector.scss +84 -0
  109. package/styles/{_measurements-time-control.less → components/specialized/_measurements-time-control.less} +12 -52
  110. package/styles/components/specialized/_measurements-time-control.scss +237 -0
  111. package/styles/components/specialized/_search-header.scss +126 -0
  112. package/styles/{_smart-list-icon-label.less → components/specialized/_smart-list-icon-label.less} +1 -1
  113. package/styles/components/specialized/_smart-list-icon-label.scss +75 -0
  114. package/styles/components/specialized/_static-assets-file-picker.scss +23 -0
  115. package/styles/{_status.less → components/specialized/_status.less} +11 -11
  116. package/styles/components/specialized/_status.scss +106 -0
  117. package/styles/components/specialized/_statusContainer.scss +62 -0
  118. package/styles/core/buttons/_button-groups.scss +202 -0
  119. package/styles/{_buttons.less → core/buttons/_buttons.less} +30 -21
  120. package/styles/core/buttons/_buttons.scss +1318 -0
  121. package/styles/{_alerts.less → core/feedback/_alerts.less} +2 -6
  122. package/styles/core/feedback/_alerts.scss +243 -0
  123. package/styles/core/feedback/_badges.scss +85 -0
  124. package/styles/core/feedback/_close.scss +54 -0
  125. package/styles/{_labels.less → core/feedback/_labels.less} +1 -1
  126. package/styles/core/feedback/_labels.scss +93 -0
  127. package/styles/core/feedback/_progress-bars.scss +96 -0
  128. package/styles/{_tag.less → core/feedback/_tag.less} +1 -1
  129. package/styles/core/feedback/_tag.scss +103 -0
  130. package/styles/core/feedback/_tooltip.scss +147 -0
  131. package/styles/{_c8y-switch.less → core/forms/_c8y-switch.less} +2 -2
  132. package/styles/core/forms/_c8y-switch.scss +226 -0
  133. package/styles/{_file-picker.less → core/forms/_file-picker.less} +1 -1
  134. package/styles/core/forms/_file-picker.scss +219 -0
  135. package/styles/{_forms.less → core/forms/_forms.less} +14 -16
  136. package/styles/core/forms/_forms.scss +1183 -0
  137. package/styles/{_input-groups.less → core/forms/_input-groups.less} +2 -2
  138. package/styles/core/forms/_input-groups.scss +700 -0
  139. package/styles/{_c8y-dashboard-modal.less → core/overlays/_c8y-dashboard-modal.less} +3 -3
  140. package/styles/core/overlays/_c8y-dashboard-modal.scss +86 -0
  141. package/styles/{_c8y-wizard.less → core/overlays/_c8y-wizard.less} +1 -1
  142. package/styles/core/overlays/_c8y-wizard.scss +226 -0
  143. package/styles/{_dropdowns.less → core/overlays/_dropdowns.less} +4 -4
  144. package/styles/core/overlays/_dropdowns.scss +815 -0
  145. package/styles/{_modals.less → core/overlays/_modals.less} +7 -8
  146. package/styles/core/overlays/_modals.scss +461 -0
  147. package/styles/core/overlays/_popovers.scss +183 -0
  148. package/styles/dashboard/_availability-pie.scss +33 -0
  149. package/styles/{_c8y-dashboard-style.less → dashboard/_c8y-dashboard-style.less} +4 -6
  150. package/styles/dashboard/_c8y-dashboard-style.scss +409 -0
  151. package/styles/{_c8y-gauges.less → dashboard/_c8y-gauges.less} +1 -1
  152. package/styles/dashboard/_c8y-gauges.scss +62 -0
  153. package/styles/dashboard/_dashboard-widgets.scss +47 -0
  154. package/styles/dashboard/_info-gauge.scss +107 -0
  155. package/styles/dashboard/_quick-links-widget.scss +49 -0
  156. package/styles/dashboard/_welcome-widget.scss +68 -0
  157. package/styles/dashboard/_welcome.scss +138 -0
  158. package/styles/dashboard/welcome-widget.less +50 -0
  159. package/styles/dashboard/welcome.less +128 -0
  160. package/styles/icons/_c8y-glyphs.scss +63 -0
  161. package/styles/{_c8y-icons.less → icons/_c8y-icons.less} +12 -12
  162. package/styles/icons/_c8y-icons.scss +1209 -0
  163. package/styles/icons/_dlt-c8y-icons-stroke.less +1856 -0
  164. package/styles/icons/_dlt-c8y-icons-stroke.scss +3667 -0
  165. package/styles/{_dlt-c8y-icons.less → icons/_dlt-c8y-icons.less} +5 -112
  166. package/styles/icons/_dlt-c8y-icons.scss +9204 -0
  167. package/styles/icons/_marker-icons.less +22 -0
  168. package/styles/icons/_marker-icons.scss +33 -0
  169. package/styles/index.less +233 -152
  170. package/styles/index.scss +240 -0
  171. package/styles/layout/_bottom-drawer.scss +59 -0
  172. package/styles/layout/_c8y-help-drawer.scss +104 -0
  173. package/styles/layout/_c8y-right-drawer.scss +150 -0
  174. package/styles/layout/_c8y-top-drawer.scss +117 -0
  175. package/styles/{_grid.less → layout/_grid.less} +3 -18
  176. package/styles/layout/_grid.scss +114 -0
  177. package/styles/layout/_group-info.scss +27 -0
  178. package/styles/{_layouts.less → layout/_layouts.less} +1 -3
  179. package/styles/layout/_layouts.scss +375 -0
  180. package/styles/layout/_mcontainer.scss +136 -0
  181. package/styles/layout/_page-tabs.scss +314 -0
  182. package/styles/{_split-scroll.less → layout/_split-scroll.less} +1 -1
  183. package/styles/layout/_split-scroll.scss +112 -0
  184. package/styles/layout/_split-view.scss +126 -0
  185. package/styles/login-app-use.scss +36 -0
  186. package/styles/login-app.less +25 -24
  187. package/styles/mixins/_alert-variant.scss +13 -0
  188. package/styles/mixins/_animation.scss +25 -0
  189. package/styles/mixins/_background-variant.scss +34 -0
  190. package/styles/mixins/_border-radius.scss +18 -0
  191. package/styles/mixins/_buttons.scss +65 -0
  192. package/styles/mixins/_c8y-scrollbar.scss +29 -0
  193. package/styles/mixins/_center-block.scss +7 -0
  194. package/styles/mixins/_clearfix.scss +22 -0
  195. package/styles/mixins/_color-mixins.scss +21 -0
  196. package/styles/mixins/_create-grid.scss +137 -0
  197. package/styles/mixins/_element-queries.scss +39 -0
  198. package/styles/mixins/_forms.scss +122 -0
  199. package/styles/mixins/_gradients.scss +120 -0
  200. package/styles/mixins/_grid-framework.scss +104 -0
  201. package/styles/mixins/_grid.scss +126 -0
  202. package/styles/mixins/_hide-scrollbars.scss +10 -0
  203. package/styles/mixins/_hide-text.scss +24 -0
  204. package/styles/mixins/_icon-base.scss +30 -0
  205. package/styles/mixins/_image.scss +26 -0
  206. package/styles/mixins/_index.scss +48 -0
  207. package/styles/mixins/_labels.scss +14 -0
  208. package/styles/mixins/_list-group.scss +32 -0
  209. package/styles/mixins/_nav-divider.scss +8 -0
  210. package/styles/mixins/_nav-vertical-align.scss +9 -0
  211. package/styles/mixins/_opacity.scss +9 -0
  212. package/styles/mixins/_pagination.scss +26 -0
  213. package/styles/mixins/_panels.scss +25 -0
  214. package/styles/mixins/_progress-bar.scss +12 -0
  215. package/styles/mixins/_reset-filter.scss +9 -0
  216. package/styles/mixins/_reset-text.scss +21 -0
  217. package/styles/mixins/_resize.scss +6 -0
  218. package/styles/mixins/_responsive-visibility.scss +21 -0
  219. package/styles/mixins/_shadows-helper.scss +40 -0
  220. package/styles/mixins/_size.scss +109 -0
  221. package/styles/mixins/_tab-focus.scss +20 -0
  222. package/styles/mixins/_table-row.scss +30 -0
  223. package/styles/mixins/_tag.scss +14 -0
  224. package/styles/mixins/_text-emphasis.scss +19 -0
  225. package/styles/mixins/_text-overflow.scss +10 -0
  226. package/styles/mixins/_vendor-prefixes.scss +149 -0
  227. package/styles/mixins/vendor-prefixes.less +37 -112
  228. package/styles/utilities/_borders.less +3 -12
  229. package/styles/utilities/_borders.scss +137 -0
  230. package/styles/utilities/_caret.scss +50 -0
  231. package/styles/utilities/_container-queries.scss +113 -0
  232. package/styles/utilities/_contextual-colors.less +113 -168
  233. package/styles/utilities/_contextual-colors.scss +170 -0
  234. package/styles/utilities/_display.scss +439 -0
  235. package/styles/utilities/_elevation.scss +41 -0
  236. package/styles/utilities/_flex-containers.scss +219 -0
  237. package/styles/utilities/_flex-items.scss +152 -0
  238. package/styles/utilities/_icon-utils.less +5 -5
  239. package/styles/utilities/_icon-utils.scss +94 -0
  240. package/styles/utilities/_margins-paddings.scss +190 -0
  241. package/styles/utilities/_overflows.scss +69 -0
  242. package/styles/utilities/_position.less +3 -6
  243. package/styles/utilities/_position.scss +143 -0
  244. package/styles/utilities/_quickfloats.less +1 -8
  245. package/styles/utilities/_quickfloats.scss +36 -0
  246. package/styles/utilities/_separators.scss +71 -0
  247. package/styles/utilities/_shadows.scss +7 -0
  248. package/styles/utilities/_sizing.scss +122 -0
  249. package/styles/utilities/_text-utils.scss +691 -0
  250. package/styles/utilities.less +1 -4
  251. package/styles/vendor/ace-editor/_ace-editor.scss +26 -0
  252. package/styles/vendor/angular/_loading-bar.scss +33 -0
  253. package/styles/{_ui-sortable.less → vendor/angular/_ui-sortable.less} +1 -1
  254. package/styles/vendor/angular/_ui-sortable.scss +70 -0
  255. package/styles/{_uib-accordion.less → vendor/angular/_uib-accordion.less} +1 -1
  256. package/styles/vendor/angular/_uib-accordion.scss +59 -0
  257. package/styles/vendor/angular/angular-ui-select/_select.scss +154 -0
  258. package/styles/vendor/angular/angular-ui-select/select.less +161 -0
  259. package/styles/vendor/cdk/_cdk-drag.scss +71 -0
  260. package/styles/{_cdk-tree.less → vendor/cdk/_cdk-tree.less} +1 -1
  261. package/styles/vendor/cdk/_cdk-tree.scss +66 -0
  262. package/styles/vendor/cdk/_cdk-virtual-scroll-window.scss +18 -0
  263. package/styles/{_bs-datepicker.less → vendor/datepicker/_bs-datepicker.less} +1 -7
  264. package/styles/vendor/datepicker/_bs-datepicker.scss +628 -0
  265. package/styles/{_datepicker.less → vendor/datepicker/_uib-datepicker.less} +1 -6
  266. package/styles/vendor/datepicker/_uib-datepicker.scss +173 -0
  267. package/styles/{_c8y-map-internal.less → vendor/leaflet/_c8y-map-internal.less} +4 -4
  268. package/styles/vendor/leaflet/_c8y-map-internal.scss +316 -0
  269. package/styles/{_leaflet.less → vendor/leaflet/_leaflet.less} +4 -3
  270. package/styles/vendor/leaflet/_leaflet.scss +803 -0
  271. package/styles/{_colorpicker.less → vendor/other/_colorpicker.less} +2 -2
  272. package/styles/vendor/other/_colorpicker.scss +40 -0
  273. package/styles/{_c8y-selectize.less → vendor/selectize/_c8y-selectize.less} +1 -10
  274. package/styles/vendor/selectize/_c8y-selectize.scss +403 -0
  275. package/sync-scss-to-less.sh +75 -0
  276. package/variables/README.md +485 -0
  277. package/variables/_alert-vars.scss +36 -0
  278. package/variables/_badge-vars.less +0 -1
  279. package/variables/_badge-vars.scss +24 -0
  280. package/variables/_brand-vars.scss +97 -0
  281. package/variables/_breadcrumbs-vars.scss +13 -0
  282. package/variables/_buttons-vars.less +17 -0
  283. package/variables/_buttons-vars.scss +107 -0
  284. package/variables/_c8y-action-bar-vars.less +1 -1
  285. package/variables/_c8y-action-bar-vars.scss +15 -0
  286. package/variables/_c8y-icon-vars.scss +199 -0
  287. package/variables/_code-vars.less +2 -3
  288. package/variables/_code-vars.scss +18 -0
  289. package/variables/_color-defaults.less +91 -0
  290. package/variables/_color-defaults.scss +91 -0
  291. package/variables/_color-vars.less +96 -39
  292. package/variables/_color-vars.scss +303 -0
  293. package/variables/_components-vars.scss +22 -0
  294. package/variables/_dlt-c8y-icons-vars.scss +1825 -0
  295. package/variables/_forms-vars.less +1 -1
  296. package/variables/_forms-vars.scss +98 -0
  297. package/variables/_label-vars.less +5 -2
  298. package/variables/_label-vars.scss +37 -0
  299. package/variables/_layout-vars.less +29 -13
  300. package/variables/_layout-vars.scss +110 -0
  301. package/variables/_map-vars.scss +12 -0
  302. package/variables/_modal-vars.less +2 -2
  303. package/variables/_modal-vars.scss +13 -0
  304. package/variables/_navbar-vars.less +15 -7
  305. package/variables/_navbar-vars.scss +72 -0
  306. package/variables/_navigator.scss +8 -0
  307. package/variables/_page-sticky-header.scss +4 -0
  308. package/variables/_pagination-vars.scss +30 -0
  309. package/variables/_panel-vars.less +2 -2
  310. package/variables/_panel-vars.scss +40 -0
  311. package/variables/_popover-vars.scss +23 -0
  312. package/variables/_progress-bars-vars.less +5 -5
  313. package/variables/_progress-bars-vars.scss +19 -0
  314. package/variables/_scaffolding.scss +33 -0
  315. package/variables/_selectize-vars.scss +37 -0
  316. package/variables/_tables-vars.scss +7 -0
  317. package/variables/_tag-vars.less +1 -1
  318. package/variables/_tag-vars.scss +38 -0
  319. package/variables/_thumbnail-vars.scss +12 -0
  320. package/variables/_tooltip-vars.scss +16 -0
  321. package/variables/_typography-vars.scss +45 -0
  322. package/variables/dashboard-themes/_branded-dashboard.less +0 -11
  323. package/variables/dashboard-themes/_branded-dashboard.scss +296 -0
  324. package/variables/dashboard-themes/_dark-dashboard.less +7 -0
  325. package/variables/dashboard-themes/_dark-dashboard.scss +40 -0
  326. package/variables/dashboard-themes/_transparent-dashboard.scss +17 -0
  327. package/variables/dashboard-themes/_white-dashboard.scss +44 -0
  328. package/variables/index.less +4 -0
  329. package/variables/index.scss +146 -0
  330. package/variables/login-vars.scss +48 -0
  331. package/variables/shadows.scss +15 -0
  332. package/variables/tokens/c8y-design-tokens-dark.less +2 -13
  333. package/variables/tokens/c8y-design-tokens-dark.scss +332 -0
  334. package/variables/tokens/c8y-design-tokens.less +4 -15
  335. package/variables/tokens/c8y-design-tokens.scss +590 -0
  336. package/styles/_animate.less +0 -1133
  337. package/styles/_baseline-grid.less +0 -22
  338. package/styles/_breadcrumbs.less +0 -99
  339. package/styles/_browser-mock.less +0 -59
  340. package/styles/_bulk-operation-details-tab.less +0 -10
  341. package/styles/_c8y-message-banner.less +0 -37
  342. package/styles/_dlt-c8y-icons-stroke.less +0 -32797
  343. package/styles/_markdown-content.less +0 -54
  344. package/styles/_marker-icons.less +0 -19
  345. /package/styles/{_component-animations.less → animations/_component-animations.less} +0 -0
  346. /package/styles/{_realtime-animation-list.less → animations/_realtime-animation-list.less} +0 -0
  347. /package/styles/{_spinner-snake.less → animations/_spinner-snake.less} +0 -0
  348. /package/styles/{_normalize.less → base/_normalize.less} +0 -0
  349. /package/styles/{_print.less → base/_print.less} +0 -0
  350. /package/styles/{_scaffolding.less → base/_scaffolding.less} +0 -0
  351. /package/styles/{_c8y-empty-state.less → components/data-display-and-visualization/lists/_c8y-empty-state.less} +0 -0
  352. /package/styles/{_cards-layout.less → components/data-display-and-visualization/lists/_cards-layout.less} +0 -0
  353. /package/styles/{_smart-rules-template-list.less → components/data-display-and-visualization/lists/_smart-rules-template-list.less} +0 -0
  354. /package/styles/{_data-grid.less → components/data-display-and-visualization/tables/_data-grid.less} +0 -0
  355. /package/styles/{_tables.less → components/data-display-and-visualization/tables/_tables.less} +0 -0
  356. /package/styles/{_asset-property-list.less → components/data-input/assets/_asset-property-list.less} +0 -0
  357. /package/styles/{_c8y-asset-notes.less → components/data-input/assets/_c8y-asset-notes.less} +0 -0
  358. /package/styles/{_c8y-asset-selector-miller.less → components/data-input/assets/_c8y-asset-selector-miller.less} +0 -0
  359. /package/styles/{_c8y-child-assets-selector.less → components/data-input/assets/_c8y-child-assets-selector.less} +0 -0
  360. /package/styles/{_c8y-action-bar.less → components/navigation-and-layout/action-bars/_c8y-action-bar.less} +0 -0
  361. /package/styles/{_card-flip.less → components/navigation-and-layout/cards/_card-flip.less} +0 -0
  362. /package/styles/{_card-grid.less → components/navigation-and-layout/cards/_card-grid.less} +0 -0
  363. /package/styles/{_c8y-nav-stacked.less → components/navigation-and-layout/navigation/_c8y-nav-stacked.less} +0 -0
  364. /package/styles/{_main-header.less → components/navigation-and-layout/navigation/_main-header.less} +0 -0
  365. /package/styles/{_navigator.less → components/navigation-and-layout/navigation/_navigator.less} +0 -0
  366. /package/styles/{_navs.less → components/navigation-and-layout/navigation/_navs.less} +0 -0
  367. /package/styles/{_pagination.less → components/navigation-and-layout/navigation/_pagination.less} +0 -0
  368. /package/styles/{_boxed-label.less → components/specialized/_boxed-label.less} +0 -0
  369. /package/styles/{_c8y-cookie-banner.less → components/specialized/_c8y-cookie-banner.less} +0 -0
  370. /package/styles/{_c8y-datapoint-pill.less → components/specialized/_c8y-datapoint-pill.less} +0 -0
  371. /package/styles/{_c8y-pulse.less → components/specialized/_c8y-pulse.less} +0 -0
  372. /package/styles/{_c8y-range.less → components/specialized/_c8y-range.less} +0 -0
  373. /package/styles/{_c8y-scrollbar.less → components/specialized/_c8y-scrollbar.less} +0 -0
  374. /package/styles/{_c8y-smart-rest-tab.less → components/specialized/_c8y-smart-rest-tab.less} +0 -0
  375. /package/styles/{_code.less → components/specialized/_code.less} +0 -0
  376. /package/styles/{_device-software-tab.less → components/specialized/_device-software-tab.less} +0 -0
  377. /package/styles/{_dtm-icon-selector.less → components/specialized/_dtm-icon-selector.less} +0 -0
  378. /package/styles/{_search-header.less → components/specialized/_search-header.less} +0 -0
  379. /package/styles/{_static-assets-file-picker.less → components/specialized/_static-assets-file-picker.less} +0 -0
  380. /package/styles/{_statusContainer.less → components/specialized/_statusContainer.less} +0 -0
  381. /package/styles/{_button-groups.less → core/buttons/_button-groups.less} +0 -0
  382. /package/styles/{_badges.less → core/feedback/_badges.less} +0 -0
  383. /package/styles/{_close.less → core/feedback/_close.less} +0 -0
  384. /package/styles/{_progress-bars.less → core/feedback/_progress-bars.less} +0 -0
  385. /package/styles/{_tooltip.less → core/feedback/_tooltip.less} +0 -0
  386. /package/styles/{_popovers.less → core/overlays/_popovers.less} +0 -0
  387. /package/styles/{_availability-pie.less → dashboard/_availability-pie.less} +0 -0
  388. /package/styles/{_dashboard-widgets.less → dashboard/_dashboard-widgets.less} +0 -0
  389. /package/styles/{_info-gauge.less → dashboard/_info-gauge.less} +0 -0
  390. /package/styles/{_quick-links-widget.less → dashboard/_quick-links-widget.less} +0 -0
  391. /package/styles/{_c8y-glyphs.less → icons/_c8y-glyphs.less} +0 -0
  392. /package/styles/{_bottom-drawer.less → layout/_bottom-drawer.less} +0 -0
  393. /package/styles/{_c8y-help-drawer.less → layout/_c8y-help-drawer.less} +0 -0
  394. /package/styles/{_c8y-right-drawer.less → layout/_c8y-right-drawer.less} +0 -0
  395. /package/styles/{_c8y-top-drawer.less → layout/_c8y-top-drawer.less} +0 -0
  396. /package/styles/{_group-info.less → layout/_group-info.less} +0 -0
  397. /package/styles/{_mcontainer.less → layout/_mcontainer.less} +0 -0
  398. /package/styles/{_page-tabs.less → layout/_page-tabs.less} +0 -0
  399. /package/styles/{_split-view.less → layout/_split-view.less} +0 -0
  400. /package/styles/{_ace-editor.less → vendor/ace-editor/_ace-editor.less} +0 -0
  401. /package/styles/{_loading-bar.less → vendor/angular/_loading-bar.less} +0 -0
  402. /package/styles/{_cdk-drag.less → vendor/cdk/_cdk-drag.less} +0 -0
  403. /package/styles/{_cdk-virtual-scroll-window.less → vendor/cdk/_cdk-virtual-scroll-window.less} +0 -0
@@ -1,5 +1,5 @@
1
1
  // DEPRECATED: This file is deprecated and will be removed in a future release.
2
- // TODO: remove after checking it's not used anymore
2
+ // DEPRECATED: Check if colorpicker can be removed. Currently used in 22 places.
3
3
 
4
4
  .minicolors.minicolors-theme-hidden-input {
5
5
  height: @form-control-height-base;
@@ -34,5 +34,5 @@
34
34
  body .minicolors-sprite {
35
35
  background: url('@{path}/jquery.minicolors.png') 0 0 repeat;
36
36
 
37
- @path: if(@use-relative-paths, '../img', 'img');
37
+ @path: if(@use-relative-paths, '../../../img', 'img');
38
38
  }
@@ -0,0 +1,40 @@
1
+ @use "../../../variables/index" as *;
2
+
3
+ // DEPRECATED: This file is deprecated and will be removed in a future release.
4
+ // DEPRECATED: Check if colorpicker can be removed. Currently used in 22 places.
5
+
6
+ .minicolors.minicolors-theme-hidden-input {
7
+ height: $form-control-height-base;
8
+ border: $form-control-border-width solid $form-control-border-color-default;
9
+ background-color: $component-background-default;
10
+ .minicolors-swatch {
11
+ width: 0;
12
+ height: 0;
13
+ border: 0;
14
+ }
15
+ input[type='hidden'] + .minicolors-swatch {
16
+ min-width: 32px;
17
+ width: auto;
18
+ }
19
+ .minicolors-swatch-color {
20
+ top: 50%;
21
+ right: auto;
22
+ bottom: auto;
23
+ left: 50%;
24
+ width: 24px;
25
+ height: 24px;
26
+ border-radius: 50%;
27
+ transform: translate(-50%, -50%);
28
+ }
29
+
30
+ &.minicolors-position-top .minicolors-panel {
31
+ top: 0;
32
+ transform: translateY(-50%);
33
+ }
34
+ }
35
+
36
+ body .minicolors-sprite {
37
+ $path: if($use-relative-paths, '../../../img', 'img');
38
+
39
+ background: url('#{$path}/jquery.minicolors.png') 0 0 repeat;
40
+ }
@@ -173,14 +173,7 @@ body .selectize-input {
173
173
  overflow: hidden;
174
174
  border: 0;
175
175
 
176
- .selectize-control.multi &.has-items {
177
- padding: @padding-top @padding-x @padding-bottom;
178
-
179
- @padding-x: @selectize-padding-x;
180
- @padding-top: @selectize-padding-y - @selectize-padding-item-y - @selectize-width-item-border;
181
- @padding-bottom: @selectize-padding-y - @selectize-padding-item-y - @selectize-margin-item-y -
182
- @selectize-width-item-border;
183
- }
176
+ // Removed unused state modifier class - verified 0 usages: .has-items
184
177
  &.full {
185
178
  background-color: @selectize-color-input-full;
186
179
  }
@@ -241,7 +234,6 @@ body .selectize-input {
241
234
  line-height: inherit !important;
242
235
 
243
236
  user-select: auto !important;
244
- -webkit-user-select: auto !important;
245
237
  .selectize-box-shadow(none) !important;
246
238
  &:focus {
247
239
  outline: none !important;
@@ -383,6 +375,5 @@ body .selectize-dropdown {
383
375
  -moz-border-radius: 0;
384
376
  border-radius: 0;
385
377
  background: 0 0;
386
- -webkit-box-shadow: none;
387
378
  box-shadow: none;
388
379
  }
@@ -0,0 +1,403 @@
1
+ @use "../../../variables/index" as *;
2
+
3
+ @use "../../icons/c8y-glyphs";
4
+ @use "../../mixins/color-mixins";
5
+ @use "../../mixins/icon-base";
6
+ @use "../../mixins/shadows-helper";
7
+ @use "../../mixins/vendor-prefixes";
8
+
9
+ .ui-select-offscreen {
10
+ position: absolute !important;
11
+ top: 0 !important;
12
+ left: 0 !important;
13
+ overflow: hidden !important;
14
+ clip: rect(0 0 0 0) !important;
15
+ margin: 0 !important;
16
+ padding: 0 !important;
17
+ width: 1px !important;
18
+ height: 1px !important;
19
+ outline: 0 !important;
20
+ border: 0 !important;
21
+ }
22
+
23
+ @mixin selectize-border-radius($radii) {
24
+ border-radius: $radii;
25
+ }
26
+
27
+ @mixin selectize-unselectable() {
28
+ user-select: none;
29
+ }
30
+
31
+ @mixin selectize-box-shadow($shadow) {
32
+ box-shadow: none;
33
+ }
34
+
35
+ @mixin selectize-box-sizing($type: border-box) {
36
+ box-sizing: $type;
37
+ }
38
+
39
+ // body used to override default styles
40
+ body {
41
+ .selectize-input {
42
+ min-height: 0;
43
+
44
+ // Form control base styles (from .form-control in forms.less)
45
+ display: block;
46
+ padding: $form-control-padding-base-vertical $form-control-padding-base-horizontal;
47
+ width: 100%;
48
+ height: $form-control-height-base;
49
+ border: 0;
50
+ border-radius: $form-control-border-radius;
51
+ background-color: $form-control-background-default;
52
+ box-shadow: inset 0 0 0 $form-control-border-width $form-control-border-color-default;
53
+ color: $form-control-color-default;
54
+ font-weight: $form-control-font-weight;
55
+ font-size: $font-size-base;
56
+ font-family: $form-control-font-family;
57
+ line-height: $form-control-line-height;
58
+ transition:
59
+ border-color 0.15s ease-in-out,
60
+ box-shadow 0.15s ease-in-out;
61
+
62
+ &.focus {
63
+ outline: 0;
64
+ border: 0;
65
+ box-shadow: inset 0 0 0 2px $form-control-border-color-focus;
66
+ }
67
+ }
68
+
69
+ .selectize-control.single .selectize-input {
70
+ position: relative;
71
+ padding-right: 24px;
72
+
73
+ appearance: none;
74
+ &:after {
75
+ @include icon-base.c8y-glyph;
76
+ position: absolute;
77
+ top: 50%;
78
+ right: 5px;
79
+ margin: 0;
80
+ width: auto;
81
+ height: auto;
82
+ border: 0;
83
+ color: $component-brand-primary;
84
+ content: c8y-glyphs.$c8y-glyph-caret;
85
+ font-size: 18px;
86
+ transform: translate(0, -50%);
87
+ pointer-events: none;
88
+ }
89
+ }
90
+
91
+ .form-control.selectize-control.single.ng-invalid-required.ng-touched {
92
+ .selectize-input {
93
+ box-shadow: inset 1px 0 0 0 $form-control-border-color-default,
94
+ inset -1px 0 0 0 $form-control-border-color-default,
95
+ inset 0 1px 0 0 $form-control-border-color-default,
96
+ inset 0 -4px 0 $form-control-validation-error;
97
+ &.focus,
98
+ &.selectize-focus {
99
+ box-shadow: inset 2px 0 0 0 $form-control-border-color-focus,
100
+ inset -2px 0 0 0 $form-control-border-color-focus,
101
+ inset 0 2px 0 0 $form-control-border-color-focus,
102
+ inset 0 -4px 0 $form-control-validation-error;
103
+ }
104
+ }
105
+ }
106
+ }
107
+
108
+ body > .ui-select-container {
109
+ z-index: $zindex-dropdown + 49;
110
+ }
111
+
112
+ body .selectize-container {
113
+ .form-control.selectize-control.open {
114
+ position: relative;
115
+ &:before {
116
+ position: absolute;
117
+ top: -15px;
118
+ right: -15px;
119
+ left: -15px;
120
+ z-index: 0;
121
+ height: 15px;
122
+ border: $selectize-border;
123
+ border-bottom: 0;
124
+ background-color: $component-background-default;
125
+ box-shadow: 0 20px 15px rgba($black, 0.1);
126
+ }
127
+ .selectize-input {
128
+ position: relative;
129
+ z-index: 10;
130
+ }
131
+ }
132
+ label {
133
+ position: relative;
134
+ z-index: 5;
135
+ + .form-control.selectize-control.open:before {
136
+ top: -30px;
137
+ height: 30px;
138
+ }
139
+ }
140
+ }
141
+
142
+ body .ui-select-match {
143
+ position: absolute;
144
+ top: 5px;
145
+ overflow: hidden;
146
+ padding-right: 40px;
147
+ width: 100%;
148
+ text-overflow: ellipsis;
149
+ white-space: nowrap;
150
+ }
151
+
152
+ body .ui-select-choices {
153
+ opacity: 1 !important;
154
+ }
155
+
156
+ body .ui-select-choices.ng-hide {
157
+ opacity: 0 !important;
158
+ }
159
+
160
+ body input.ui-select-search[placeholder] {
161
+ overflow: hidden;
162
+ width: 100%;
163
+ text-overflow: ellipsis;
164
+ }
165
+
166
+ body .ui-select-choices-row-inner,
167
+ body .ui-select-choices-row-inner > * {
168
+ overflow: hidden;
169
+ width: 100%;
170
+ text-overflow: ellipsis;
171
+ white-space: nowrap;
172
+ }
173
+
174
+ body .selectize-dropdown,
175
+ body .selectize-input,
176
+ body .selectize-input input {
177
+ color: $selectize-color-text;
178
+ font-size: $selectize-font-size;
179
+ font-family: $selectize-font-family;
180
+ line-height: $selectize-line-height;
181
+
182
+ -webkit-font-smoothing: $selectize-font-smoothing;
183
+ }
184
+
185
+ body .selectize-control.single .selectize-input.input-active,
186
+ body .selectize-input {
187
+ display: inline-block;
188
+ background: var(--c8y-form-control-background-default, $component-background-default);
189
+ color: $component-color-default;
190
+ cursor: text;
191
+ }
192
+
193
+ body .selectize-input {
194
+ position: relative;
195
+ z-index: 1;
196
+ display: flex;
197
+ overflow: hidden;
198
+ border: 0;
199
+
200
+ // Removed unused state modifier class - verified 0 usages: .has-items
201
+ &.full {
202
+ background-color: $selectize-color-input-full;
203
+ }
204
+ &.disabled,
205
+ &.disabled * {
206
+ cursor: default !important;
207
+ }
208
+ &.focus,
209
+ &.selectize-focus {
210
+ position: relative;
211
+ z-index: 13;
212
+ outline: 0;
213
+ background-color: $form-control-background-focus;
214
+ color: $form-control-border-color-focus;
215
+
216
+ @include vendor-prefixes.box-shadow(inset 0 0 0 2px $form-control-border-color-focus);
217
+ ~ input {
218
+ color: $form-control-border-color-focus;
219
+ }
220
+ }
221
+
222
+ > * {
223
+ display: -moz-inline-stack;
224
+ display: inline-block;
225
+ vertical-align: baseline;
226
+ zoom: 1;
227
+ }
228
+ .selectize-control.multi & > div {
229
+ margin: 0 $selectize-margin-item-x $selectize-margin-item-y 0;
230
+ padding: $selectize-padding-item-y $selectize-padding-item-x;
231
+ border: $selectize-width-item-border solid $selectize-color-item-border;
232
+ background: $selectize-color-item;
233
+ color: $selectize-color-item-text;
234
+ cursor: pointer;
235
+ &.active {
236
+ border: $selectize-width-item-border solid $selectize-color-item-active-border;
237
+ background: $selectize-color-item-active;
238
+ color: $selectize-color-item-active-text;
239
+ }
240
+ }
241
+ .selectize-control.multi &.disabled > div {
242
+ &,
243
+ &.active {
244
+ border: $selectize-width-item-border solid $selectize-color-item-border;
245
+
246
+ @include color-mixins.brightness(1.2);
247
+ }
248
+ }
249
+ > input {
250
+ margin: $selectize-caret-margin !important;
251
+ padding: 0 !important;
252
+ min-height: 0 !important;
253
+ max-width: 100% !important;
254
+ max-height: none !important;
255
+ border: 0 none !important;
256
+ background: none !important;
257
+ text-indent: 0 !important;
258
+ line-height: inherit !important;
259
+
260
+ user-select: auto !important;
261
+ box-shadow: none !important;
262
+ &:focus {
263
+ outline: none !important;
264
+ }
265
+ }
266
+ }
267
+
268
+ body .selectize-input::after {
269
+ display: block;
270
+ clear: left;
271
+ content: ' ';
272
+ }
273
+
274
+ body .selectize-input.dropdown-active::before {
275
+ position: absolute;
276
+ right: 0;
277
+ bottom: 0;
278
+ left: 0;
279
+ display: block;
280
+ height: 1px;
281
+ background: $selectize-color-dropdown-border-top;
282
+ content: ' ';
283
+ }
284
+
285
+ body .selectize-dropdown {
286
+ position: absolute;
287
+ z-index: 9;
288
+ margin: -1px 0 0;
289
+ border: $selectize-border;
290
+ background-color: var(--c8y-dropdown-background-default, $component-background-default);
291
+
292
+ @include selectize-box-sizing(border-box);
293
+ @include shadows-helper.boxShadowHelper(md);
294
+ [data-selectable] {
295
+ overflow: hidden;
296
+ cursor: pointer;
297
+ .highlight {
298
+ background: $selectize-color-highlight;
299
+ }
300
+ }
301
+ .optgroup-header,
302
+ [data-selectable] {
303
+ padding: $selectize-padding-dropdown-item-y ($selectize-padding-dropdown-item-x);
304
+ box-shadow: inset 0 -1px 0 var(--c8y-dropdown-border-color);
305
+ }
306
+ .optgroup:first-child .optgroup-header {
307
+ border-top: 0 none;
308
+ }
309
+ .optgroup-header {
310
+ background: $selectize-color-optgroup;
311
+ color: $selectize-color-optgroup-text;
312
+ cursor: default;
313
+ }
314
+ .active,
315
+ .active:not(.selected),
316
+ .ui-select-choices-row:hover {
317
+ background-color: $selectize-color-dropdown-item-active;
318
+ color: $selectize-color-dropdown-item-active-text;
319
+ &.create {
320
+ color: $selectize-color-dropdown-item-create-active-text;
321
+ }
322
+ }
323
+ .create {
324
+ color: $selectize-color-dropdown-item-create-text;
325
+ }
326
+ }
327
+
328
+ .selectize-dropdown-content {
329
+ overflow-x: hidden;
330
+ overflow-y: auto;
331
+ padding: 0 !important;
332
+ max-height: $selectize-max-height-dropdown;
333
+ }
334
+
335
+ .selectize-control.single {
336
+ .selectize-input {
337
+ + .selectize-dropdown {
338
+ top: -7px;
339
+ right: -7px;
340
+ left: -7px;
341
+ z-index: 9;
342
+ padding-top: 42px;
343
+ width: auto;
344
+ border: 1px solid var(--c8y-root-component-border-color);
345
+ border-radius: $component-border-radius-base;
346
+ }
347
+ }
348
+ &.direction-up {
349
+ .selectize-input.focus {
350
+ + .selectize-dropdown {
351
+ z-index: 9;
352
+ margin-top: -2px;
353
+ padding-top: 0;
354
+ padding-bottom: 40px;
355
+ }
356
+ }
357
+ }
358
+ }
359
+
360
+ .selectize-control.single .selectize-input {
361
+ &,
362
+ input {
363
+ cursor: pointer;
364
+ }
365
+ &.input-active,
366
+ &.input-active input {
367
+ cursor: text;
368
+ }
369
+
370
+ &.dropdown-active:after {
371
+ margin-top: $selectize-arrow-size * -0.8;
372
+ border-width: 0 $selectize-arrow-size $selectize-arrow-size $selectize-arrow-size;
373
+ border-color: transparent;
374
+ border-bottom-color: $selectize-arrow-color;
375
+ }
376
+ }
377
+
378
+ .selectize-control.rtl {
379
+ &.single .selectize-input:after {
380
+ right: auto;
381
+ left: $selectize-arrow-offset;
382
+ }
383
+ .selectize-input > input {
384
+ margin: $selectize-caret-margin-rtl !important;
385
+ }
386
+ }
387
+
388
+ .selectize-control .selectize-input.disabled {
389
+ background-color: $selectize-color-disabled;
390
+ opacity: $selectize-opacity-disabled;
391
+ }
392
+
393
+ .form-control.selectize-control {
394
+ position: relative;
395
+ padding: 0;
396
+ height: auto;
397
+ border: none;
398
+ -webkit-border-radius: 0;
399
+ -moz-border-radius: 0;
400
+ border-radius: 0;
401
+ background: 0 0;
402
+ box-shadow: none;
403
+ }
@@ -0,0 +1,75 @@
1
+ #!/bin/bash
2
+
3
+ # Enhanced SCSS → LESS sync helper
4
+
5
+ echo "==================================="
6
+ echo "SCSS → LESS Sync Helper"
7
+ echo "==================================="
8
+ echo ""
9
+
10
+ # Find modified files (both staged and unstaged)
11
+ SCSS_FILES=$(git diff --name-only HEAD | grep '\.scss$' || true)
12
+ SCSS_STAGED=$(git diff --cached --name-only | grep '\.scss$' || true)
13
+ LESS_FILES=$(git diff --name-only HEAD | grep '\.less$' || true)
14
+ LESS_STAGED=$(git diff --cached --name-only | grep '\.less$' || true)
15
+ ALL_SCSS=$(printf "%s\n%s" "$SCSS_FILES" "$SCSS_STAGED" | sort -u | grep -v '^$' || true)
16
+ ALL_LESS=$(printf "%s\n%s" "$LESS_FILES" "$LESS_STAGED" | sort -u | grep -v '^$' || true)
17
+
18
+ # Count non-empty lines
19
+ if [ -z "$ALL_SCSS" ]; then
20
+ SCSS_COUNT=0
21
+ else
22
+ SCSS_COUNT=$(echo "$ALL_SCSS" | wc -l | tr -d ' ')
23
+ fi
24
+
25
+ if [ "$SCSS_COUNT" -eq 0 ]; then
26
+ echo "✅ No SCSS files modified - no sync needed!"
27
+ exit 0
28
+ fi
29
+
30
+ echo "Found $SCSS_COUNT modified SCSS file(s):"
31
+ echo ""
32
+
33
+ NEEDS_SYNC=0
34
+
35
+ while IFS= read -r file; do
36
+ if [ -z "$file" ]; then
37
+ continue
38
+ fi
39
+
40
+ # Strip packages/style/ prefix if present
41
+ RELATIVE_FILE="${file#packages/style/}"
42
+ LESS_FILE="${RELATIVE_FILE%.scss}.less"
43
+
44
+ if [ -f "$LESS_FILE" ]; then
45
+ # Check if LESS file also modified
46
+ LESS_FULL_PATH="${file%.scss}.less"
47
+ if echo "$ALL_LESS" | grep -q "^${LESS_FULL_PATH}$"; then
48
+ echo " ✅ $RELATIVE_FILE (LESS already updated)"
49
+ else
50
+ echo " ⚠️ $RELATIVE_FILE → $LESS_FILE (NEEDS SYNC)"
51
+ NEEDS_SYNC=1
52
+ fi
53
+ else
54
+ echo " ⚠️ $RELATIVE_FILE (no corresponding LESS file)"
55
+ fi
56
+ done <<< "$ALL_SCSS"
57
+
58
+ if [ $NEEDS_SYNC -eq 1 ]; then
59
+ echo ""
60
+ echo "==================================="
61
+ echo "⚠️ LESS files need syncing!"
62
+ echo "==================================="
63
+ echo ""
64
+ echo "Options:"
65
+ echo "1. Semi-automated: ./convert-scss-to-less.sh --all"
66
+ echo "2. Single file: ./convert-scss-to-less.sh path/to/file.scss"
67
+ echo "3. Manually sync SCSS → LESS"
68
+ echo "4. Ask Claude to sync for you"
69
+ echo ""
70
+ exit 1
71
+ fi
72
+
73
+ echo ""
74
+ echo "✅ All LESS files are in sync!"
75
+ exit 0