@salesforce-ux/eslint-plugin-slds 0.0.12-alpha → 0.0.12-alpha.6

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.
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Ideally we should be loading this from @salesforce-ux/metadata-slds package. But the eslint package in CJS and Metadata package is ESM.
3
+ * TODO: should avoid referencing this file.
4
+ */
5
+ export declare const deprecatedClasses: string[];
@@ -1,28 +1,122 @@
1
- [
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.deprecatedClasses = void 0;
4
+ /**
5
+ * Ideally we should be loading this from @salesforce-ux/metadata-slds package. But the eslint package in CJS and Metadata package is ESM.
6
+ * TODO: should avoid referencing this file.
7
+ */
8
+ exports.deprecatedClasses = [
9
+ "slds-action-overflow—touch",
10
+ "slds-action-overflow_touch__body",
11
+ "slds-action-overflow_touch__container",
12
+ "slds-action-overflow_touch__content",
13
+ "slds-action-overflow_touch__footer",
2
14
  "slds-align-content-center",
15
+ "slds-app-launcher__tile_small",
3
16
  "slds-app-launcher__tile-body_small",
4
17
  "slds-app-launcher__tile-figure_small",
5
- "slds-app-launcher__tile_small",
18
+ "slds-attachments__item",
6
19
  "slds-box_border",
7
- "slds-button-space-left",
8
20
  "slds-button_icon-bare",
9
21
  "slds-button_small",
22
+ "slds-button-space-left",
10
23
  "slds-card_empty",
11
24
  "slds-chat-avatar__intials",
12
25
  "slds-chat-event__rule",
26
+ "slds-checkbox—faux_container",
27
+ "slds-coach__guidance",
28
+ "slds-coach__item",
29
+ "slds-coach__keys",
30
+ "slds-coach__value",
31
+ "slds-col-rule_bottom",
32
+ "slds-col-rule_left",
33
+ "slds-col-rule_right",
34
+ "slds-col-rule_top",
35
+ "slds-collapsed",
36
+ "slds-color__background_gray-1",
37
+ "slds-color__background_gray-10",
38
+ "slds-color__background_gray-11",
39
+ "slds-color__background_gray-12",
40
+ "slds-color__background_gray-2",
41
+ "slds-color__background_gray-3",
42
+ "slds-color__background_gray-4",
43
+ "slds-color__background_gray-5",
44
+ "slds-color__background_gray-6",
45
+ "slds-color__background_gray-7",
46
+ "slds-color__background_gray-8",
47
+ "slds-color__background_gray-9",
48
+ "slds-color__border_gray-1",
49
+ "slds-color__border_gray-10",
50
+ "slds-color__border_gray-11",
51
+ "slds-color__border_gray-12",
52
+ "slds-color__border_gray-2",
53
+ "slds-color__border_gray-3",
54
+ "slds-color__border_gray-4",
55
+ "slds-color__border_gray-5",
56
+ "slds-color__border_gray-6",
57
+ "slds-color__border_gray-7",
58
+ "slds-color__border_gray-8",
59
+ "slds-color__border_gray-9",
60
+ "slds-color__fill_gray-1",
61
+ "slds-color__fill_gray-10",
62
+ "slds-color__fill_gray-11",
63
+ "slds-color__fill_gray-12",
64
+ "slds-color__fill_gray-2",
65
+ "slds-color__fill_gray-3",
66
+ "slds-color__fill_gray-4",
67
+ "slds-color__fill_gray-5",
68
+ "slds-color__fill_gray-6",
69
+ "slds-color__fill_gray-7",
70
+ "slds-color__fill_gray-8",
71
+ "slds-color__fill_gray-9",
72
+ "slds-color__text_gray-1",
73
+ "slds-color__text_gray-10",
74
+ "slds-color__text_gray-11",
75
+ "slds-color__text_gray-12",
76
+ "slds-color__text_gray-2",
77
+ "slds-color__text_gray-3",
78
+ "slds-color__text_gray-4",
79
+ "slds-color__text_gray-5",
80
+ "slds-color__text_gray-6",
81
+ "slds-color__text_gray-7",
82
+ "slds-color__text_gray-8",
83
+ "slds-color__text_gray-9",
84
+ "slds-comment__replies",
13
85
  "slds-context-bar_theme-marketing",
14
86
  "slds-datepicker_time",
15
87
  "slds-datepicker_time__list",
88
+ "slds-disabled-text",
16
89
  "slds-docked-composer_overflow__pill",
17
90
  "slds-dropdown_actions",
18
91
  "slds-dropdown_nubbin-top",
92
+ "slds-einstein-header",
93
+ "slds-einstein-header__actions",
94
+ "slds-einstein-header__figure",
95
+ "slds-expanded",
19
96
  "slds-expression_formula__rte",
97
+ "slds-faux-input",
98
+ "slds-faux-input_label",
99
+ "slds-flip_horizontal",
100
+ "slds-flip_vertical",
20
101
  "slds-global-header__button_icon",
21
102
  "slds-global-header__button_icon-actions",
22
103
  "slds-global-header__button_icon-favorites",
23
104
  "slds-global-header__icon",
24
105
  "slds-global-header__notification",
25
106
  "slds-global-header__notification_unread",
107
+ "slds-has-bottom-magnet",
108
+ "slds-has-buffer",
109
+ "slds-has-full-bleed",
110
+ "slds-has-icon",
111
+ "slds-has-icon_left-right",
112
+ "slds-has-icon_right",
113
+ "slds-has-top-magnet",
114
+ "slds-icon__container",
115
+ "slds-icon__container_circle",
116
+ "slds-icon_container_circle",
117
+ "slds-icon_flip",
118
+ "slds-icon_left",
119
+ "slds-icon_right",
26
120
  "slds-icon-custom-1",
27
121
  "slds-icon-custom-10",
28
122
  "slds-icon-custom-100",
@@ -139,16 +233,23 @@
139
233
  "slds-icon-standard-task-2",
140
234
  "slds-icon-utility-error",
141
235
  "slds-icon-utility-warning",
142
- "slds-icon__container",
143
- "slds-icon__container_circle",
144
- "slds-icon_container_circle",
145
- "slds-icon_flip",
146
- "slds-icon_left",
147
- "slds-icon_right",
236
+ "slds-indicator-container",
148
237
  "slds-is-focused",
149
238
  "slds-is-interactive",
239
+ "slds-kx-is-animating-from-click",
150
240
  "slds-large",
151
241
  "slds-large-nowrap",
242
+ "slds-lookup",
243
+ "slds-lookup__item",
244
+ "slds-lookup__item_label",
245
+ "slds-lookup__item-action",
246
+ "slds-lookup__item-action_label",
247
+ "slds-lookup__list",
248
+ "lookup",
249
+ "slds-lookup__pill-container",
250
+ "slds-lookup__result-meta",
251
+ "slds-lookup__result-text",
252
+ "slds-lookup__search-input",
152
253
  "slds-m-left_xxx-small",
153
254
  "slds-max-medium-table_stacked",
154
255
  "slds-max-medium-table_stacked-horizontal",
@@ -159,18 +260,53 @@
159
260
  "slds-media_timeline",
160
261
  "slds-medium",
161
262
  "slds-medium-nowrap",
263
+ "slds-mobile-combobox",
264
+ "slds-mobile-combobox__addon",
265
+ "slds-mobile-combobox__header",
266
+ "slds-mobile-combobox__header-has-icon",
267
+ "slds-mobile-combobox__input",
268
+ "slds-mobile-lookup__listbox",
269
+ "slds-mobile-lookup__listbox_container",
270
+ "slds-mobile-lookup__listbox_icon_container",
271
+ "slds-mobile-lookup__listbox_loader",
272
+ "slds-mobile-lookup__listbox_meta",
273
+ "slds-mobile-lookup__listbox_text",
274
+ "slds-mobile-lookup__listbox_trigger",
275
+ "slds-mobile-lookup__listbox-option",
276
+ "slds-mobile-lookup__listbox-option_heading",
162
277
  "slds-modal__",
163
278
  "slds-modal_form",
279
+ "slds-navigation-list—vertical-inverse",
280
+ "slds-navigation-list-vertical",
281
+ "slds-navigation-list-vertical__action",
282
+ "slds-navigation-list-vertical_shade",
283
+ "slds-notify",
284
+ "slds-notify-container",
164
285
  "slds-page-header_joined",
165
286
  "slds-page-header_object-home",
166
287
  "slds-panel_filters",
288
+ "slds-path-coach",
289
+ "slds-picklist",
290
+ "slds-picklist__input",
291
+ "slds-picklist__item",
292
+ "slds-picklist_draggable",
293
+ "slds-picklist_fluid",
167
294
  "slds-popover_einstein",
168
295
  "slds-popover_feature",
169
296
  "slds-popover_walkthrough",
170
297
  "slds-popover_walkthrough-alt",
298
+ "slds-region",
299
+ "slds-region__pinned-top",
171
300
  "slds-section-group_is-closed",
172
301
  "slds-section-title",
173
302
  "slds-small",
303
+ "slds-small-nowrap",
304
+ "slds-tab__scroll-controls",
305
+ "slds-table_joined",
306
+ "slds-table_joined-wrapper",
307
+ "slds-table—edit_container",
308
+ "slds-table—edit_container-message",
309
+ "slds-table—header-fixed_container",
174
310
  "slds-tabs__content",
175
311
  "slds-tabs__item",
176
312
  "slds-tabs__nav-scroller",
@@ -187,6 +323,13 @@
187
323
  "slds-tabs_path__nav",
188
324
  "slds-tabs_path__stage",
189
325
  "slds-tabs_path__title",
326
+ "slds-tabs-mobile",
327
+ "slds-tabs-mobile__group",
328
+ "slds-tabs-mobile__item",
329
+ "slds-tags",
330
+ "slds-tags__item",
331
+ "slds-tags__list",
332
+ "slds-text-heading_label-normal",
190
333
  "slds-theme",
191
334
  "slds-theme_alert-texture",
192
335
  "slds-theme_offline",
@@ -199,6 +342,11 @@
199
342
  "slds-timeline__title-content",
200
343
  "slds-tooltip",
201
344
  "slds-tooltip__body",
345
+ "slds-truncate_container—25",
346
+ "slds-truncate_container—33",
347
+ "slds-truncate_container—50",
348
+ "slds-truncate_container—66",
349
+ "slds-truncate_container—75",
202
350
  "slds-var-m-around_xxx-small",
203
351
  "slds-var-m-bottom_xxx-small",
204
352
  "slds-var-m-horizontal_xxx-small",
@@ -213,296 +361,20 @@
213
361
  "slds-var-p-right_xxx-small",
214
362
  "slds-var-p-top_xxx-small",
215
363
  "slds-var-p-vertical_xxx-small",
364
+ "slds-video",
365
+ "slds-video_center",
366
+ "slds-video_right",
216
367
  "slds-welcome-mat__info-badge",
217
368
  "slds-welcome-mat__info-badge-container",
218
369
  "slds-welcome-mat__info-progress_complete",
219
- "slds-x-small",
220
- "slds-x-small-nowrap",
221
- "slds-action-overflow_touch",
222
- "slds-action-overflow_touch__container",
223
- "slds-action-overflow_touch__content",
224
- "slds-action-overflow_touch__body",
225
- "slds-action-overflow_touch__footer",
226
- "slds-has-bottom-magnet",
227
- "slds-has-icon",
228
- "slds-has-icon",
229
- "slds-has-icon",
230
- "slds-has-icon",
231
- "slds-has-icon",
232
- "slds-has-icon",
233
- "slds-has-icon_right",
234
- "slds-has-icon_right",
235
- "slds-has-icon_left-right",
236
- "slds-has-icon_left-right",
237
- "slds-picklist",
238
- "slds-picklist",
239
- "slds-picklist",
240
- "slds-picklist",
241
- "slds-picklist",
242
- "slds-picklist",
243
- "slds-picklist",
244
- "slds-picklist",
245
- "slds-picklist",
246
- "slds-picklist",
247
- "slds-picklist",
248
- "slds-picklist_fluid",
249
- "slds-picklist__input",
250
- "slds-picklist_fluid",
251
- "slds-picklist_fluid",
252
- "slds-picklist_fluid",
253
- "slds-lookup",
254
- "slds-picklist__input",
255
- "slds-lookup",
256
- "slds-picklist__input",
257
- "slds-picklist__input",
258
- "slds-picklist_draggable",
259
- "slds-picklist_draggable",
260
- "slds-picklist_draggable",
261
- "slds-picklist__item",
262
- "slds-picklist__item",
263
- "slds-picklist__item",
264
- "slds-picklist__item",
265
- "slds-picklist__item",
266
- "slds-picklist__item",
267
- "slds-picklist__item",
268
- "slds-picklist__item",
269
- "slds-disabled-text",
270
- "slds-disabled-text",
271
- "slds-disabled-text",
272
- "slds-indicator-container",
273
- "slds-indicator-container",
274
- "slds-comment__replies",
275
- "slds-comment__replies",
276
- "slds-comment__replies",
277
- "slds-comment__replies",
278
- "slds-comment__replies",
279
- "slds-comment__replies",
280
- "slds-comment__replies",
281
- "slds-comment__replies",
282
- "slds-tags",
283
- "slds-tags__list",
284
- "slds-tags__item",
285
- "slds-tags__item",
286
- "slds-tags__item",
287
- "slds-attachments__item",
288
- "slds-attachments__item",
289
- "slds-wizard",
290
- "slds-wizard",
291
- "slds-wizard__marker",
292
370
  "slds-wizard",
293
- "slds-wizard__marker",
294
- "slds-wizard",
295
- "slds-wizard__marker",
296
- "slds-wizard__list",
297
- "slds-wizard__item",
298
- "slds-wizard__item",
299
- "slds-wizard__item",
300
371
  "slds-wizard__item",
301
- "slds-wizard__item",
302
- "slds-wizard__item",
303
- "slds-wizard__marker",
304
- "slds-wizard__item",
305
- "slds-wizard__marker",
372
+ "slds-wizard__label",
306
373
  "slds-wizard__link",
374
+ "slds-wizard__list",
307
375
  "slds-wizard__marker",
308
- "slds-wizard__label",
309
376
  "slds-wizard__progress",
310
377
  "slds-wizard__progress-bar",
311
- "slds-path-coach",
312
- "slds-path-coach",
313
- "slds-path-coach",
314
- "slds-coach__keys",
315
- "slds-coach__guidance",
316
- "slds-coach__keys",
317
- "slds-coach__guidance",
318
- "slds-coach__item",
319
- "slds-coach__value",
320
- "slds-flip_vertical",
321
- "slds-flip_horizontal",
322
- "slds-tabs-mobile",
323
- "slds-tabs-mobile",
324
- "slds-tabs-mobile",
325
- "slds-tabs-mobile__item",
326
- "slds-tabs-mobile",
327
- "slds-tabs-mobile__item",
328
- "slds-tabs-mobile__item",
329
- "slds-tabs-mobile__item",
330
- "slds-tabs-mobile__item",
331
- "slds-tabs-mobile__group",
332
- "slds-tabs-mobile__item",
333
- "slds-tab__scroll-controls",
334
- "slds-tab__scroll-controls",
335
- "slds-tab__scroll-controls",
336
- "slds-tab__scroll-controls",
337
- "slds-tab__scroll-controls",
338
- "slds-tab__scroll-controls",
339
- "slds-navigation-list-vertical",
340
- "slds-navigation-list-vertical",
341
- "slds-navigation-list-vertical",
342
- "slds-navigation-list-vertical__action",
343
- "slds-navigation-list-vertical",
344
- "slds-navigation-list-vertical__action",
345
- "slds-navigation-list-vertical",
346
- "slds-navigation-list-vertical__action",
347
- "slds-navigation-list-vertical",
348
- "slds-navigation-list-vertical__action",
349
- "slds-navigation-list-vertical_shade",
350
- "slds-navigation-list-vertical__action",
351
- "slds-navigation-list-vertical_shade",
352
- "slds-navigation-list-vertical__action",
353
- "slds-navigation-list-vertical__action",
354
- "slds-navigation-list-vertical__action",
355
- "slds-navigation-list-vertical__action",
356
- "slds-navigation-list-vertical__action",
357
- "slds-navigation-list-vertical__action",
358
- "slds-notify",
359
- "slds-notify-container",
360
- "slds-notify-container",
361
- "slds-lookup",
362
- "slds-lookup",
363
- "slds-lookup",
364
- "slds-lookup__menu",
365
- "slds-lookup",
366
- "slds-lookup",
367
- "slds-lookup",
368
- "slds-lookup__search-input",
369
- "slds-lookup",
370
- "slds-lookup",
371
- "slds-lookup__list",
372
- "slds-lookup__menu",
373
- "slds-lookup__item",
374
- "slds-lookup__item",
375
- "slds-lookup__item",
376
- "slds-lookup__item",
377
- "slds-lookup__item",
378
- "slds-lookup__item",
379
- "slds-lookup__item",
380
- "slds-lookup__item",
381
- "slds-lookup__item",
382
- "slds-lookup__item",
383
- "slds-lookup__item",
384
- "slds-lookup__item",
385
- "slds-lookup__item_label",
386
- "slds-lookup__item-action",
387
- "slds-lookup__item-action",
388
- "slds-lookup__item-action",
389
- "slds-lookup__item-action",
390
- "slds-lookup__item-action",
391
- "slds-lookup__item-action",
392
- "slds-lookup__item-action",
393
- "slds-lookup__item-action_label",
394
- "slds-lookup__item-action_label",
395
- "slds-lookup__search-input",
396
- "slds-lookup__result-text",
397
- "slds-lookup__result-meta",
398
- "slds-lookup__pill-container",
399
- "slds-mobile-combobox",
400
- "slds-mobile-combobox__header",
401
- "slds-mobile-combobox__header-has-icon",
402
- "slds-mobile-combobox__header-has-icon",
403
- "slds-mobile-combobox__addon",
404
- "slds-mobile-combobox__addon",
405
- "slds-mobile-combobox__input",
406
- "slds-mobile-combobox__input",
407
- "slds-mobile-lookup__listbox_container",
408
- "slds-mobile-lookup__listbox-option",
409
- "slds-mobile-lookup__listbox-option",
410
- "slds-mobile-lookup__listbox-option_heading",
411
- "slds-mobile-lookup__listbox_text",
412
- "slds-mobile-lookup__listbox_meta",
413
- "slds-mobile-lookup__listbox_icon_container",
414
- "slds-mobile-lookup__listbox_trigger",
415
- "slds-mobile-lookup__listbox_trigger",
416
- "slds-mobile-lookup__listbox_trigger",
417
- "slds-mobile-lookup__listbox",
418
- "slds-mobile-lookup__listbox_loader",
419
- "slds-faux-input",
420
- "slds-faux-input",
421
- "slds-faux-input_label",
422
- "slds-table_joined",
423
- "slds-has-top-magnet",
424
- "slds-table_joined-wrapper",
425
- "slds-table_joined-wrapper",
426
- "slds-einstein-header",
427
- "slds-einstein-header",
428
- "slds-einstein-header",
429
- "slds-einstein-header__figure",
430
- "slds-einstein-header",
431
- "slds-einstein-header__figure",
432
- "slds-einstein-header",
433
- "slds-einstein-header__actions",
434
- "slds-einstein-header",
435
- "slds-region",
436
- "slds-region__pinned-top",
437
- "slds-kx-is-animating-from-click",
438
- "slds-kx-is-animating-from-click",
439
- "slds-col-rule_top",
440
- "slds-col-rule_right",
441
- "slds-col-rule_bottom",
442
- "slds-col-rule_left",
443
- "slds-small-nowrap",
444
- "slds-text-heading_label-normal",
445
- "slds-video",
446
- "slds-video",
447
- "slds-video_center",
448
- "slds-video",
449
- "slds-video",
450
- "slds-video_right",
451
- "slds-video",
452
- "slds-color__text_gray-1",
453
- "slds-color__text_gray-2",
454
- "slds-color__text_gray-3",
455
- "slds-color__text_gray-4",
456
- "slds-color__text_gray-5",
457
- "slds-color__text_gray-6",
458
- "slds-color__text_gray-7",
459
- "slds-color__text_gray-8",
460
- "slds-color__text_gray-9",
461
- "slds-color__text_gray-10",
462
- "slds-color__text_gray-11",
463
- "slds-color__text_gray-12",
464
- "slds-color__background_gray-1",
465
- "slds-color__background_gray-2",
466
- "slds-color__background_gray-3",
467
- "slds-color__background_gray-4",
468
- "slds-color__background_gray-5",
469
- "slds-color__background_gray-6",
470
- "slds-color__background_gray-7",
471
- "slds-color__background_gray-8",
472
- "slds-color__background_gray-9",
473
- "slds-color__background_gray-10",
474
- "slds-color__background_gray-11",
475
- "slds-color__background_gray-12",
476
- "slds-color__border_gray-1",
477
- "slds-color__border_gray-2",
478
- "slds-color__border_gray-3",
479
- "slds-color__border_gray-4",
480
- "slds-color__border_gray-5",
481
- "slds-color__border_gray-6",
482
- "slds-color__border_gray-7",
483
- "slds-color__border_gray-8",
484
- "slds-color__border_gray-9",
485
- "slds-color__border_gray-10",
486
- "slds-color__border_gray-11",
487
- "slds-color__border_gray-12",
488
- "slds-color__fill_gray-1",
489
- "slds-color__fill_gray-2",
490
- "slds-color__fill_gray-3",
491
- "slds-color__fill_gray-4",
492
- "slds-color__fill_gray-5",
493
- "slds-color__fill_gray-6",
494
- "slds-color__fill_gray-7",
495
- "slds-color__fill_gray-8",
496
- "slds-color__fill_gray-9",
497
- "slds-color__fill_gray-10",
498
- "slds-color__fill_gray-11",
499
- "slds-color__fill_gray-12",
500
- "slds-has-buffer",
501
- "slds-has-full-bleed",
502
- "slds-has-bottom-magnet",
503
- "slds-has-top-magnet",
504
- "slds-has-top-magnet",
505
- "slds-has-buffer",
506
- "slds-collapsed",
507
- "slds-expanded"
508
- ]
378
+ "slds-x-small",
379
+ "slds-x-small-nowrap"
380
+ ];
@@ -0,0 +1,30 @@
1
+ declare const _default: {
2
+ meta: {
3
+ type: string;
4
+ docs: {
5
+ description: string;
6
+ category: string;
7
+ recommended: boolean;
8
+ };
9
+ fixable: string;
10
+ schema: {
11
+ type: string;
12
+ properties: {
13
+ pattern: {
14
+ type: string;
15
+ };
16
+ flags: {
17
+ type: string;
18
+ };
19
+ };
20
+ additionalProperties: boolean;
21
+ }[];
22
+ messages: {
23
+ wrongClassName: string;
24
+ };
25
+ };
26
+ create(context: any): {
27
+ Tag: (node: any) => void;
28
+ };
29
+ };
30
+ export = _default;
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ const node_1 = require("./utils/node");
3
+ const bem_mapping_1 = require("./bem-mapping");
4
+ module.exports = {
5
+ meta: {
6
+ type: "problem", // The rule type
7
+ docs: {
8
+ description: "Enforce consistent class naming using BEM convention",
9
+ category: "Stylistic Issues",
10
+ recommended: true,
11
+ },
12
+ fixable: "code", // This rule can be fixed automatically
13
+ schema: [
14
+ {
15
+ type: "object",
16
+ properties: {
17
+ pattern: { type: "string" }, // Regex pattern for BEM
18
+ flags: { type: "string" }, // Regex flags
19
+ },
20
+ additionalProperties: false,
21
+ },
22
+ ],
23
+ messages: {
24
+ wrongClassName: "The class '{{actual}}' does not follow BEM naming convention.",
25
+ },
26
+ },
27
+ create(context) {
28
+ const pattern = /^(?:[a-z0-9]+(?:-[a-z0-9]+)*)(__[a-z0-9]+(?:-[a-z0-9]+)*)?(--[a-z0-9]+(?:-[a-z0-9]+)*)?$/;
29
+ const checkNaming = (name) => pattern.test(name);
30
+ function check(node) {
31
+ if ((0, node_1.isAttributesEmpty)(node)) {
32
+ return;
33
+ }
34
+ const classAttr = (0, node_1.findAttr)(node, "class");
35
+ if (classAttr && classAttr.value) {
36
+ const classNames = classAttr.value.value.split(/\s+/);
37
+ classNames.forEach((className) => {
38
+ if (className && !checkNaming(className)) {
39
+ // Find the exact location of the problematic class name
40
+ const classNameStart = classAttr.value.value.indexOf(className) + 7; // 7 here is for `class= "`
41
+ const classNameEnd = classNameStart + className.length;
42
+ // Use the loc property to get line and column from the class attribute
43
+ const startLoc = {
44
+ line: classAttr.loc.start.line,
45
+ column: classAttr.loc.start.column + classNameStart,
46
+ };
47
+ const endLoc = {
48
+ line: classAttr.loc.start.line,
49
+ column: classAttr.loc.start.column + classNameEnd,
50
+ };
51
+ // Check whether a fixed class is available
52
+ const newValue = bem_mapping_1.bemMapping[className];
53
+ context.report({
54
+ node,
55
+ loc: { start: startLoc, end: endLoc },
56
+ data: {
57
+ actual: className,
58
+ },
59
+ messageId: "wrongClassName",
60
+ fix(fixer) {
61
+ if (newValue) {
62
+ const newClassValue = classAttr.value.value.replace(className, newValue);
63
+ return fixer.replaceTextRange([classAttr.value.range[0], classAttr.value.range[1]], `${newClassValue}`);
64
+ }
65
+ return null; // Ensure a return value even if no fix is applied
66
+ },
67
+ });
68
+ }
69
+ });
70
+ }
71
+ }
72
+ return {
73
+ Tag: check,
74
+ };
75
+ },
76
+ };
@@ -0,0 +1,23 @@
1
+ declare const _default: {
2
+ meta: {
3
+ type: string;
4
+ docs: {
5
+ description: string;
6
+ category: string;
7
+ recommended: boolean;
8
+ };
9
+ fixable: string;
10
+ schema: any[];
11
+ messages: {
12
+ removeClass: string;
13
+ changeVariant: string;
14
+ removeVariant: string;
15
+ ensureButtonClasses: string;
16
+ ensureSizeAttribute: string;
17
+ };
18
+ };
19
+ create(context: any): {
20
+ Tag: (node: any) => void;
21
+ };
22
+ };
23
+ export = _default;