@atlaskit/eslint-plugin-design-system 10.24.1 → 10.25.0

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 (40) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/README.md +1 -0
  3. package/dist/cjs/ast-nodes/jsx-attribute.js +8 -0
  4. package/dist/cjs/presets/all-flat.codegen.js +2 -1
  5. package/dist/cjs/presets/all.codegen.js +2 -1
  6. package/dist/cjs/presets/recommended-flat.codegen.js +2 -1
  7. package/dist/cjs/presets/recommended.codegen.js +2 -1
  8. package/dist/cjs/rules/index.codegen.js +3 -1
  9. package/dist/cjs/rules/use-datetime-picker-calendar-button/index.js +187 -0
  10. package/dist/es2019/ast-nodes/jsx-attribute.js +8 -0
  11. package/dist/es2019/presets/all-flat.codegen.js +2 -1
  12. package/dist/es2019/presets/all.codegen.js +2 -1
  13. package/dist/es2019/presets/recommended-flat.codegen.js +2 -1
  14. package/dist/es2019/presets/recommended.codegen.js +2 -1
  15. package/dist/es2019/rules/index.codegen.js +3 -1
  16. package/dist/es2019/rules/use-datetime-picker-calendar-button/index.js +173 -0
  17. package/dist/esm/ast-nodes/jsx-attribute.js +8 -0
  18. package/dist/esm/presets/all-flat.codegen.js +2 -1
  19. package/dist/esm/presets/all.codegen.js +2 -1
  20. package/dist/esm/presets/recommended-flat.codegen.js +2 -1
  21. package/dist/esm/presets/recommended.codegen.js +2 -1
  22. package/dist/esm/rules/index.codegen.js +3 -1
  23. package/dist/esm/rules/use-datetime-picker-calendar-button/index.js +181 -0
  24. package/dist/types/ast-nodes/jsx-attribute.d.ts +3 -0
  25. package/dist/types/index.codegen.d.ts +11 -0
  26. package/dist/types/presets/all-flat.codegen.d.ts +2 -1
  27. package/dist/types/presets/all.codegen.d.ts +2 -1
  28. package/dist/types/presets/recommended-flat.codegen.d.ts +2 -1
  29. package/dist/types/presets/recommended.codegen.d.ts +2 -1
  30. package/dist/types/rules/index.codegen.d.ts +1 -0
  31. package/dist/types/rules/use-datetime-picker-calendar-button/index.d.ts +7 -0
  32. package/dist/types-ts4.5/ast-nodes/jsx-attribute.d.ts +3 -0
  33. package/dist/types-ts4.5/index.codegen.d.ts +11 -0
  34. package/dist/types-ts4.5/presets/all-flat.codegen.d.ts +2 -1
  35. package/dist/types-ts4.5/presets/all.codegen.d.ts +2 -1
  36. package/dist/types-ts4.5/presets/recommended-flat.codegen.d.ts +2 -1
  37. package/dist/types-ts4.5/presets/recommended.codegen.d.ts +2 -1
  38. package/dist/types-ts4.5/rules/index.codegen.d.ts +1 -0
  39. package/dist/types-ts4.5/rules/use-datetime-picker-calendar-button/index.d.ts +7 -0
  40. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
3
- * @codegen <<SignedSource::d52bbfc25021c62c92de1956f1673f30>>
3
+ * @codegen <<SignedSource::5bfdac53d9eb0cc8f885ce996861719e>>
4
4
  * @codegenCommand yarn workspace @atlaskit/eslint-plugin-design-system codegen
5
5
  */
6
6
  export default {
@@ -36,6 +36,7 @@ export default {
36
36
  '@atlaskit/design-system/no-unsupported-drag-and-drop-libraries': 'error',
37
37
  '@atlaskit/design-system/prefer-primitives': 'warn',
38
38
  '@atlaskit/design-system/use-button-group-label': 'warn',
39
+ '@atlaskit/design-system/use-datetime-picker-calendar-button': 'warn',
39
40
  '@atlaskit/design-system/use-drawer-label': 'warn',
40
41
  '@atlaskit/design-system/use-heading': 'warn',
41
42
  '@atlaskit/design-system/use-heading-level-in-spotlight-card': 'warn',
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
3
- * @codegen <<SignedSource::a8a9e1542951e74387ce967be430c7f5>>
3
+ * @codegen <<SignedSource::2c1f5cd2494143a83d590243d7ebf539>>
4
4
  * @codegenCommand yarn workspace @atlaskit/eslint-plugin-design-system codegen
5
5
  */
6
6
  export default {
@@ -26,6 +26,7 @@ export default {
26
26
  '@atlaskit/design-system/no-unsafe-style-overrides': 'warn',
27
27
  '@atlaskit/design-system/no-unsupported-drag-and-drop-libraries': 'error',
28
28
  '@atlaskit/design-system/use-button-group-label': 'warn',
29
+ '@atlaskit/design-system/use-datetime-picker-calendar-button': 'warn',
29
30
  '@atlaskit/design-system/use-drawer-label': 'warn',
30
31
  '@atlaskit/design-system/use-heading-level-in-spotlight-card': 'warn',
31
32
  '@atlaskit/design-system/use-href-in-link-item': 'warn',
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
3
- * @codegen <<SignedSource::a5d8dbdad2b84370a6e6889312752a98>>
3
+ * @codegen <<SignedSource::9aeb2fd0b5bde21f6ef61b407d0d32ab>>
4
4
  * @codegenCommand yarn workspace @atlaskit/eslint-plugin-design-system codegen
5
5
  */
6
6
  export default {
@@ -25,6 +25,7 @@ export default {
25
25
  '@atlaskit/design-system/no-unsafe-style-overrides': 'warn',
26
26
  '@atlaskit/design-system/no-unsupported-drag-and-drop-libraries': 'error',
27
27
  '@atlaskit/design-system/use-button-group-label': 'warn',
28
+ '@atlaskit/design-system/use-datetime-picker-calendar-button': 'warn',
28
29
  '@atlaskit/design-system/use-drawer-label': 'warn',
29
30
  '@atlaskit/design-system/use-heading-level-in-spotlight-card': 'warn',
30
31
  '@atlaskit/design-system/use-href-in-link-item': 'warn',
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
3
- * @codegen <<SignedSource::4a19c51d51547e8f4e27f3785242c226>>
3
+ * @codegen <<SignedSource::50c700a7a1e85949b0e5136a8c576c72>>
4
4
  * @codegenCommand yarn workspace @atlaskit/eslint-plugin-design-system codegen
5
5
  */
6
6
  import consistentCssPropUsage from './consistent-css-prop-usage';
@@ -34,6 +34,7 @@ import noUnsafeStyleOverrides from './no-unsafe-style-overrides';
34
34
  import noUnsupportedDragAndDropLibraries from './no-unsupported-drag-and-drop-libraries';
35
35
  import preferPrimitives from './prefer-primitives';
36
36
  import useButtonGroupLabel from './use-button-group-label';
37
+ import useDatetimePickerCalendarButton from './use-datetime-picker-calendar-button';
37
38
  import useDrawerLabel from './use-drawer-label';
38
39
  import useHeading from './use-heading';
39
40
  import useHeadingLevelInSpotlightCard from './use-heading-level-in-spotlight-card';
@@ -81,6 +82,7 @@ export var rules = {
81
82
  'no-unsupported-drag-and-drop-libraries': noUnsupportedDragAndDropLibraries,
82
83
  'prefer-primitives': preferPrimitives,
83
84
  'use-button-group-label': useButtonGroupLabel,
85
+ 'use-datetime-picker-calendar-button': useDatetimePickerCalendarButton,
84
86
  'use-drawer-label': useDrawerLabel,
85
87
  'use-heading': useHeading,
86
88
  'use-heading-level-in-spotlight-card': useHeadingLevelInSpotlightCard,
@@ -0,0 +1,181 @@
1
+ // eslint-disable-next-line import/no-extraneous-dependencies
2
+
3
+ import { isNodeOfType } from 'eslint-codemod-utils';
4
+ import { JSXAttribute } from '../../ast-nodes/jsx-attribute';
5
+ import { JSXElementHelper } from '../../ast-nodes/jsx-element';
6
+ import { createLintRule } from '../utils/create-rule';
7
+ var DATE_PICKER = 'DatePicker';
8
+ var DATETIME_PICKER = 'DateTimePicker';
9
+ var PROP_NAME = 'shouldShowCalendarButton';
10
+
11
+ // Lint rule message
12
+ var message = '`shouldShowCalendarButton` should be set to `true` to make date picker accessible.';
13
+
14
+ // Fix messages
15
+ export var addCalendarButtonProp = 'Add `shouldShowCalendarButton` prop.';
16
+ export var setCalendarButtonPropToTrue = 'Set `shouldShowCalendarButton` prop to `true`.';
17
+ export var addCalendarButtonProperty = 'Add `shouldShowCalendarButton: true` to `datePickerProps`.';
18
+ export var setCalendarButtonPropertyToTrue = 'Set `shouldShowCalendarButton` property in `datePickerProps` to `true`.';
19
+ var datePickerJSXElement = function datePickerJSXElement(node, context) {
20
+ var prop = JSXElementHelper.getAttributeByName(node, PROP_NAME);
21
+
22
+ // If the prop exists
23
+ if (prop) {
24
+ var attrValue = JSXAttribute.getValue(prop);
25
+ // If the value is a boolean with value `false`
26
+ if ((attrValue === null || attrValue === void 0 ? void 0 : attrValue.type) === 'ExpressionStatement Literal' && (attrValue === null || attrValue === void 0 ? void 0 : attrValue.value) === false) {
27
+ return context.report({
28
+ node: prop,
29
+ messageId: 'datePickerCalendarButtonShouldBeShown',
30
+ suggest: [{
31
+ desc: setCalendarButtonPropToTrue,
32
+ fix: function fix(fixer) {
33
+ return [fixer.replaceText(prop, PROP_NAME)];
34
+ }
35
+ }]
36
+ });
37
+ }
38
+ // If the prop does not exist
39
+ } else {
40
+ return context.report({
41
+ node: node.openingElement,
42
+ messageId: 'datePickerMissingCalendarButtonProp',
43
+ suggest: [{
44
+ desc: addCalendarButtonProp,
45
+ fix: function fix(fixer) {
46
+ return [fixer.insertTextAfter(node.openingElement.name, " ".concat(PROP_NAME))];
47
+ }
48
+ }]
49
+ });
50
+ }
51
+ };
52
+ var dateTimePickerJSXElement = function dateTimePickerJSXElement(node, context) {
53
+ var _datePickerProp$value, _expression$propertie;
54
+ var datePickerProp = JSXElementHelper.getAttributeByName(node, 'datePickerProps');
55
+
56
+ // If the `datePickerProps` prop does not exist or is not an expression
57
+ // container (the latter being essentially unprecedented, against type
58
+ // guidelines, and useless)
59
+ if (!datePickerProp || ((_datePickerProp$value = datePickerProp.value) === null || _datePickerProp$value === void 0 ? void 0 : _datePickerProp$value.type) !== 'JSXExpressionContainer') {
60
+ return context.report({
61
+ node: node.openingElement,
62
+ messageId: 'dateTimePickerMissingCalendarButtonProp',
63
+ suggest: [{
64
+ desc: addCalendarButtonProperty,
65
+ fix: function fix(fixer) {
66
+ return [fixer.insertTextAfter(node.openingElement.name, " datePickerProps={{ ".concat(PROP_NAME, ": true }}"))];
67
+ }
68
+ }]
69
+ });
70
+ }
71
+
72
+ // Had to cast all these things because ESLint can't hang here. The
73
+ // types are just abjectly wrong from what I can log.
74
+ var expression = datePickerProp.value.expression;
75
+ // If it is not an analyzable expression, like a variable or something, skip
76
+ // it.
77
+ if (!isNodeOfType(datePickerProp.value.expression, 'ObjectExpression')) {
78
+ return;
79
+ }
80
+ var prop = expression === null || expression === void 0 || (_expression$propertie = expression.properties) === null || _expression$propertie === void 0 ? void 0 : _expression$propertie.find(function (property) {
81
+ return property.type === 'Property' && property.key.name === PROP_NAME;
82
+ });
83
+
84
+ // If the `shouldShowCalendarButton` prop does not exist in `datePickerProps`
85
+ if (!prop) {
86
+ return context.report({
87
+ node: datePickerProp,
88
+ messageId: 'dateTimePickerMissingCalendarButtonProp',
89
+ suggest: [{
90
+ desc: addCalendarButtonProperty,
91
+ fix: function fix(fixer) {
92
+ // If it has existing properties
93
+ if (expression.properties.length > 0) {
94
+ // Needs following comma to not disrupt existing properties inside `datePickerProps`
95
+ return [fixer.insertTextBefore(expression.properties[0], "".concat(PROP_NAME, ": true,"))];
96
+ // Else it's an empty object
97
+ } else {
98
+ return [fixer.replaceText(expression, "{ ".concat(PROP_NAME, ": true }"))];
99
+ }
100
+ }
101
+ }]
102
+ });
103
+ // If the `shouldShowCalendarButton` property exists and it's value is `false`
104
+ } else if (isNodeOfType(prop.value, 'Literal') && prop.value.value !== true) {
105
+ return context.report({
106
+ node: datePickerProp,
107
+ messageId: 'dateTimePickerCalendarButtonShouldBeShown',
108
+ suggest: [{
109
+ desc: setCalendarButtonPropertyToTrue,
110
+ // Needs following comma to not disrupt existing properties inside `datePickerProps`
111
+ fix: function fix(fixer) {
112
+ return [fixer.replaceText(prop, "".concat(PROP_NAME, ": true,"))];
113
+ }
114
+ }]
115
+ });
116
+ }
117
+ };
118
+ var rule = createLintRule({
119
+ meta: {
120
+ name: 'use-datetime-picker-calendar-button',
121
+ type: 'suggestion',
122
+ fixable: 'code',
123
+ hasSuggestions: true,
124
+ docs: {
125
+ description: "Encourages makers to use calendar button in Atlassian Design System's date picker and datetime picker components.",
126
+ recommended: true,
127
+ severity: 'warn'
128
+ },
129
+ messages: {
130
+ dateTimePickerMissingCalendarButtonProp: "In `datePickerProps`, ".concat(message),
131
+ datePickerMissingCalendarButtonProp: message,
132
+ dateTimePickerCalendarButtonShouldBeShown: "In `datePickerProps`, ".concat(message),
133
+ datePickerCalendarButtonShouldBeShown: message
134
+ }
135
+ },
136
+ create: function create(context) {
137
+ // List of component's locally imported names that match
138
+ var contextLocalIdentifier = [];
139
+ var contextImportedIdentifier = [];
140
+ return {
141
+ // Only run rule in files where the package is imported
142
+ ImportDeclaration: function ImportDeclaration(node) {
143
+ var _node$specifiers;
144
+ var datetimePickerIdentifier = (_node$specifiers = node.specifiers) === null || _node$specifiers === void 0 ? void 0 : _node$specifiers.filter(function (spec) {
145
+ if (node.source.value === '@atlaskit/datetime-picker') {
146
+ var _spec$imported;
147
+ return isNodeOfType(spec, 'ImportSpecifier') && [DATE_PICKER, DATETIME_PICKER].includes((_spec$imported = spec.imported) === null || _spec$imported === void 0 ? void 0 : _spec$imported.name);
148
+ }
149
+ });
150
+ datetimePickerIdentifier.forEach(function (identifier) {
151
+ var imported = identifier.imported,
152
+ local = identifier.local;
153
+ contextLocalIdentifier.push(local.name);
154
+ contextImportedIdentifier.push(imported.name);
155
+ });
156
+ },
157
+ JSXElement: function JSXElement(node) {
158
+ if (!isNodeOfType(node, 'JSXElement')) {
159
+ return;
160
+ }
161
+ if (!isNodeOfType(node.openingElement.name, 'JSXIdentifier')) {
162
+ return;
163
+ }
164
+ var name = node.openingElement.name.name;
165
+ var localIndex = contextLocalIdentifier.indexOf(name);
166
+
167
+ // If this component does not match what we're looking for, quit early
168
+ if (localIndex === -1) {
169
+ return;
170
+ }
171
+ var importedName = contextImportedIdentifier[localIndex];
172
+ if (importedName === DATE_PICKER) {
173
+ return datePickerJSXElement(node, context);
174
+ } else if (importedName === DATETIME_PICKER) {
175
+ return dateTimePickerJSXElement(node, context);
176
+ }
177
+ }
178
+ };
179
+ }
180
+ });
181
+ export default rule;
@@ -18,6 +18,9 @@ declare const HelperJSXAttribute: {
18
18
  getValue(node: JSXAttribute): {
19
19
  type: 'ExpressionStatement';
20
20
  value: string;
21
+ } | {
22
+ type: 'ExpressionStatement Literal';
23
+ value: string | number | bigint | boolean | RegExp | null | undefined;
21
24
  } | {
22
25
  type: 'Literal';
23
26
  value: string;
@@ -39,6 +39,7 @@ export declare const plugin: {
39
39
  'no-unsupported-drag-and-drop-libraries': import("eslint").Rule.RuleModule;
40
40
  'prefer-primitives': import("eslint").Rule.RuleModule;
41
41
  'use-button-group-label': import("eslint").Rule.RuleModule;
42
+ 'use-datetime-picker-calendar-button': import("eslint").Rule.RuleModule;
42
43
  'use-drawer-label': import("eslint").Rule.RuleModule;
43
44
  'use-heading': import("eslint").Rule.RuleModule;
44
45
  'use-heading-level-in-spotlight-card': import("eslint").Rule.RuleModule;
@@ -89,6 +90,7 @@ export declare const plugin: {
89
90
  readonly '@atlaskit/design-system/no-unsupported-drag-and-drop-libraries': "error";
90
91
  readonly '@atlaskit/design-system/prefer-primitives': "warn";
91
92
  readonly '@atlaskit/design-system/use-button-group-label': "warn";
93
+ readonly '@atlaskit/design-system/use-datetime-picker-calendar-button': "warn";
92
94
  readonly '@atlaskit/design-system/use-drawer-label': "warn";
93
95
  readonly '@atlaskit/design-system/use-heading': "warn";
94
96
  readonly '@atlaskit/design-system/use-heading-level-in-spotlight-card': "warn";
@@ -141,6 +143,7 @@ export declare const plugin: {
141
143
  readonly '@atlaskit/design-system/no-unsupported-drag-and-drop-libraries': "error";
142
144
  readonly '@atlaskit/design-system/prefer-primitives': "warn";
143
145
  readonly '@atlaskit/design-system/use-button-group-label': "warn";
146
+ readonly '@atlaskit/design-system/use-datetime-picker-calendar-button': "warn";
144
147
  readonly '@atlaskit/design-system/use-drawer-label': "warn";
145
148
  readonly '@atlaskit/design-system/use-heading': "warn";
146
149
  readonly '@atlaskit/design-system/use-heading-level-in-spotlight-card': "warn";
@@ -180,6 +183,7 @@ export declare const plugin: {
180
183
  readonly '@atlaskit/design-system/no-unsafe-style-overrides': "warn";
181
184
  readonly '@atlaskit/design-system/no-unsupported-drag-and-drop-libraries': "error";
182
185
  readonly '@atlaskit/design-system/use-button-group-label': "warn";
186
+ readonly '@atlaskit/design-system/use-datetime-picker-calendar-button': "warn";
183
187
  readonly '@atlaskit/design-system/use-drawer-label': "warn";
184
188
  readonly '@atlaskit/design-system/use-heading-level-in-spotlight-card': "warn";
185
189
  readonly '@atlaskit/design-system/use-href-in-link-item': "warn";
@@ -216,6 +220,7 @@ export declare const plugin: {
216
220
  readonly '@atlaskit/design-system/no-unsafe-style-overrides': "warn";
217
221
  readonly '@atlaskit/design-system/no-unsupported-drag-and-drop-libraries': "error";
218
222
  readonly '@atlaskit/design-system/use-button-group-label': "warn";
223
+ readonly '@atlaskit/design-system/use-datetime-picker-calendar-button': "warn";
219
224
  readonly '@atlaskit/design-system/use-drawer-label': "warn";
220
225
  readonly '@atlaskit/design-system/use-heading-level-in-spotlight-card': "warn";
221
226
  readonly '@atlaskit/design-system/use-href-in-link-item': "warn";
@@ -265,6 +270,7 @@ export declare const configs: {
265
270
  readonly '@atlaskit/design-system/no-unsupported-drag-and-drop-libraries': "error";
266
271
  readonly '@atlaskit/design-system/prefer-primitives': "warn";
267
272
  readonly '@atlaskit/design-system/use-button-group-label': "warn";
273
+ readonly '@atlaskit/design-system/use-datetime-picker-calendar-button': "warn";
268
274
  readonly '@atlaskit/design-system/use-drawer-label': "warn";
269
275
  readonly '@atlaskit/design-system/use-heading': "warn";
270
276
  readonly '@atlaskit/design-system/use-heading-level-in-spotlight-card': "warn";
@@ -325,6 +331,7 @@ export declare const configs: {
325
331
  'no-unsupported-drag-and-drop-libraries': import("eslint").Rule.RuleModule;
326
332
  'prefer-primitives': import("eslint").Rule.RuleModule;
327
333
  'use-button-group-label': import("eslint").Rule.RuleModule;
334
+ 'use-datetime-picker-calendar-button': import("eslint").Rule.RuleModule;
328
335
  'use-drawer-label': import("eslint").Rule.RuleModule;
329
336
  'use-heading': import("eslint").Rule.RuleModule;
330
337
  'use-heading-level-in-spotlight-card': import("eslint").Rule.RuleModule;
@@ -375,6 +382,7 @@ export declare const configs: {
375
382
  readonly '@atlaskit/design-system/no-unsupported-drag-and-drop-libraries': "error";
376
383
  readonly '@atlaskit/design-system/prefer-primitives': "warn";
377
384
  readonly '@atlaskit/design-system/use-button-group-label': "warn";
385
+ readonly '@atlaskit/design-system/use-datetime-picker-calendar-button': "warn";
378
386
  readonly '@atlaskit/design-system/use-drawer-label': "warn";
379
387
  readonly '@atlaskit/design-system/use-heading': "warn";
380
388
  readonly '@atlaskit/design-system/use-heading-level-in-spotlight-card': "warn";
@@ -414,6 +422,7 @@ export declare const configs: {
414
422
  readonly '@atlaskit/design-system/no-unsafe-style-overrides': "warn";
415
423
  readonly '@atlaskit/design-system/no-unsupported-drag-and-drop-libraries': "error";
416
424
  readonly '@atlaskit/design-system/use-button-group-label': "warn";
425
+ readonly '@atlaskit/design-system/use-datetime-picker-calendar-button': "warn";
417
426
  readonly '@atlaskit/design-system/use-drawer-label': "warn";
418
427
  readonly '@atlaskit/design-system/use-heading-level-in-spotlight-card': "warn";
419
428
  readonly '@atlaskit/design-system/use-href-in-link-item': "warn";
@@ -469,6 +478,7 @@ export declare const configs: {
469
478
  'no-unsupported-drag-and-drop-libraries': import("eslint").Rule.RuleModule;
470
479
  'prefer-primitives': import("eslint").Rule.RuleModule;
471
480
  'use-button-group-label': import("eslint").Rule.RuleModule;
481
+ 'use-datetime-picker-calendar-button': import("eslint").Rule.RuleModule;
472
482
  'use-drawer-label': import("eslint").Rule.RuleModule;
473
483
  'use-heading': import("eslint").Rule.RuleModule;
474
484
  'use-heading-level-in-spotlight-card': import("eslint").Rule.RuleModule;
@@ -508,6 +518,7 @@ export declare const configs: {
508
518
  readonly '@atlaskit/design-system/no-unsafe-style-overrides': "warn";
509
519
  readonly '@atlaskit/design-system/no-unsupported-drag-and-drop-libraries': "error";
510
520
  readonly '@atlaskit/design-system/use-button-group-label': "warn";
521
+ readonly '@atlaskit/design-system/use-datetime-picker-calendar-button': "warn";
511
522
  readonly '@atlaskit/design-system/use-drawer-label': "warn";
512
523
  readonly '@atlaskit/design-system/use-heading-level-in-spotlight-card': "warn";
513
524
  readonly '@atlaskit/design-system/use-href-in-link-item': "warn";
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
3
- * @codegen <<SignedSource::838ffe48cf42aefaa64f561f5a912a5c>>
3
+ * @codegen <<SignedSource::72c978e91d268fe1463898bd263385bc>>
4
4
  * @codegenCommand yarn workspace @atlaskit/eslint-plugin-design-system codegen
5
5
  */
6
6
  declare const _default: {
@@ -36,6 +36,7 @@ declare const _default: {
36
36
  readonly '@atlaskit/design-system/no-unsupported-drag-and-drop-libraries': "error";
37
37
  readonly '@atlaskit/design-system/prefer-primitives': "warn";
38
38
  readonly '@atlaskit/design-system/use-button-group-label': "warn";
39
+ readonly '@atlaskit/design-system/use-datetime-picker-calendar-button': "warn";
39
40
  readonly '@atlaskit/design-system/use-drawer-label': "warn";
40
41
  readonly '@atlaskit/design-system/use-heading': "warn";
41
42
  readonly '@atlaskit/design-system/use-heading-level-in-spotlight-card': "warn";
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
3
- * @codegen <<SignedSource::d52bbfc25021c62c92de1956f1673f30>>
3
+ * @codegen <<SignedSource::5bfdac53d9eb0cc8f885ce996861719e>>
4
4
  * @codegenCommand yarn workspace @atlaskit/eslint-plugin-design-system codegen
5
5
  */
6
6
  declare const _default: {
@@ -36,6 +36,7 @@ declare const _default: {
36
36
  readonly '@atlaskit/design-system/no-unsupported-drag-and-drop-libraries': "error";
37
37
  readonly '@atlaskit/design-system/prefer-primitives': "warn";
38
38
  readonly '@atlaskit/design-system/use-button-group-label': "warn";
39
+ readonly '@atlaskit/design-system/use-datetime-picker-calendar-button': "warn";
39
40
  readonly '@atlaskit/design-system/use-drawer-label': "warn";
40
41
  readonly '@atlaskit/design-system/use-heading': "warn";
41
42
  readonly '@atlaskit/design-system/use-heading-level-in-spotlight-card': "warn";
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
3
- * @codegen <<SignedSource::a8a9e1542951e74387ce967be430c7f5>>
3
+ * @codegen <<SignedSource::2c1f5cd2494143a83d590243d7ebf539>>
4
4
  * @codegenCommand yarn workspace @atlaskit/eslint-plugin-design-system codegen
5
5
  */
6
6
  declare const _default: {
@@ -25,6 +25,7 @@ declare const _default: {
25
25
  readonly '@atlaskit/design-system/no-unsafe-style-overrides': "warn";
26
26
  readonly '@atlaskit/design-system/no-unsupported-drag-and-drop-libraries': "error";
27
27
  readonly '@atlaskit/design-system/use-button-group-label': "warn";
28
+ readonly '@atlaskit/design-system/use-datetime-picker-calendar-button': "warn";
28
29
  readonly '@atlaskit/design-system/use-drawer-label': "warn";
29
30
  readonly '@atlaskit/design-system/use-heading-level-in-spotlight-card': "warn";
30
31
  readonly '@atlaskit/design-system/use-href-in-link-item': "warn";
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
3
- * @codegen <<SignedSource::a5d8dbdad2b84370a6e6889312752a98>>
3
+ * @codegen <<SignedSource::9aeb2fd0b5bde21f6ef61b407d0d32ab>>
4
4
  * @codegenCommand yarn workspace @atlaskit/eslint-plugin-design-system codegen
5
5
  */
6
6
  declare const _default: {
@@ -25,6 +25,7 @@ declare const _default: {
25
25
  readonly '@atlaskit/design-system/no-unsafe-style-overrides': "warn";
26
26
  readonly '@atlaskit/design-system/no-unsupported-drag-and-drop-libraries': "error";
27
27
  readonly '@atlaskit/design-system/use-button-group-label': "warn";
28
+ readonly '@atlaskit/design-system/use-datetime-picker-calendar-button': "warn";
28
29
  readonly '@atlaskit/design-system/use-drawer-label': "warn";
29
30
  readonly '@atlaskit/design-system/use-heading-level-in-spotlight-card': "warn";
30
31
  readonly '@atlaskit/design-system/use-href-in-link-item': "warn";
@@ -34,6 +34,7 @@ export declare const rules: {
34
34
  'no-unsupported-drag-and-drop-libraries': import("eslint").Rule.RuleModule;
35
35
  'prefer-primitives': import("eslint").Rule.RuleModule;
36
36
  'use-button-group-label': import("eslint").Rule.RuleModule;
37
+ 'use-datetime-picker-calendar-button': import("eslint").Rule.RuleModule;
37
38
  'use-drawer-label': import("eslint").Rule.RuleModule;
38
39
  'use-heading': import("eslint").Rule.RuleModule;
39
40
  'use-heading-level-in-spotlight-card': import("eslint").Rule.RuleModule;
@@ -0,0 +1,7 @@
1
+ import type { Rule } from 'eslint';
2
+ export declare const addCalendarButtonProp = "Add `shouldShowCalendarButton` prop.";
3
+ export declare const setCalendarButtonPropToTrue = "Set `shouldShowCalendarButton` prop to `true`.";
4
+ export declare const addCalendarButtonProperty = "Add `shouldShowCalendarButton: true` to `datePickerProps`.";
5
+ export declare const setCalendarButtonPropertyToTrue = "Set `shouldShowCalendarButton` property in `datePickerProps` to `true`.";
6
+ declare const rule: Rule.RuleModule;
7
+ export default rule;
@@ -18,6 +18,9 @@ declare const HelperJSXAttribute: {
18
18
  getValue(node: JSXAttribute): {
19
19
  type: 'ExpressionStatement';
20
20
  value: string;
21
+ } | {
22
+ type: 'ExpressionStatement Literal';
23
+ value: string | number | bigint | boolean | RegExp | null | undefined;
21
24
  } | {
22
25
  type: 'Literal';
23
26
  value: string;
@@ -43,6 +43,7 @@ export declare const plugin: {
43
43
  'no-unsupported-drag-and-drop-libraries': import("eslint").Rule.RuleModule;
44
44
  'prefer-primitives': import("eslint").Rule.RuleModule;
45
45
  'use-button-group-label': import("eslint").Rule.RuleModule;
46
+ 'use-datetime-picker-calendar-button': import("eslint").Rule.RuleModule;
46
47
  'use-drawer-label': import("eslint").Rule.RuleModule;
47
48
  'use-heading': import("eslint").Rule.RuleModule;
48
49
  'use-heading-level-in-spotlight-card': import("eslint").Rule.RuleModule;
@@ -103,6 +104,7 @@ export declare const plugin: {
103
104
  readonly '@atlaskit/design-system/no-unsupported-drag-and-drop-libraries': "error";
104
105
  readonly '@atlaskit/design-system/prefer-primitives': "warn";
105
106
  readonly '@atlaskit/design-system/use-button-group-label': "warn";
107
+ readonly '@atlaskit/design-system/use-datetime-picker-calendar-button': "warn";
106
108
  readonly '@atlaskit/design-system/use-drawer-label': "warn";
107
109
  readonly '@atlaskit/design-system/use-heading': "warn";
108
110
  readonly '@atlaskit/design-system/use-heading-level-in-spotlight-card': "warn";
@@ -163,6 +165,7 @@ export declare const plugin: {
163
165
  readonly '@atlaskit/design-system/no-unsupported-drag-and-drop-libraries': "error";
164
166
  readonly '@atlaskit/design-system/prefer-primitives': "warn";
165
167
  readonly '@atlaskit/design-system/use-button-group-label': "warn";
168
+ readonly '@atlaskit/design-system/use-datetime-picker-calendar-button': "warn";
166
169
  readonly '@atlaskit/design-system/use-drawer-label': "warn";
167
170
  readonly '@atlaskit/design-system/use-heading': "warn";
168
171
  readonly '@atlaskit/design-system/use-heading-level-in-spotlight-card': "warn";
@@ -212,6 +215,7 @@ export declare const plugin: {
212
215
  readonly '@atlaskit/design-system/no-unsafe-style-overrides': "warn";
213
216
  readonly '@atlaskit/design-system/no-unsupported-drag-and-drop-libraries': "error";
214
217
  readonly '@atlaskit/design-system/use-button-group-label': "warn";
218
+ readonly '@atlaskit/design-system/use-datetime-picker-calendar-button': "warn";
215
219
  readonly '@atlaskit/design-system/use-drawer-label': "warn";
216
220
  readonly '@atlaskit/design-system/use-heading-level-in-spotlight-card': "warn";
217
221
  readonly '@atlaskit/design-system/use-href-in-link-item': "warn";
@@ -256,6 +260,7 @@ export declare const plugin: {
256
260
  readonly '@atlaskit/design-system/no-unsafe-style-overrides': "warn";
257
261
  readonly '@atlaskit/design-system/no-unsupported-drag-and-drop-libraries': "error";
258
262
  readonly '@atlaskit/design-system/use-button-group-label': "warn";
263
+ readonly '@atlaskit/design-system/use-datetime-picker-calendar-button': "warn";
259
264
  readonly '@atlaskit/design-system/use-drawer-label': "warn";
260
265
  readonly '@atlaskit/design-system/use-heading-level-in-spotlight-card': "warn";
261
266
  readonly '@atlaskit/design-system/use-href-in-link-item': "warn";
@@ -315,6 +320,7 @@ export declare const configs: {
315
320
  readonly '@atlaskit/design-system/no-unsupported-drag-and-drop-libraries': "error";
316
321
  readonly '@atlaskit/design-system/prefer-primitives': "warn";
317
322
  readonly '@atlaskit/design-system/use-button-group-label': "warn";
323
+ readonly '@atlaskit/design-system/use-datetime-picker-calendar-button': "warn";
318
324
  readonly '@atlaskit/design-system/use-drawer-label': "warn";
319
325
  readonly '@atlaskit/design-system/use-heading': "warn";
320
326
  readonly '@atlaskit/design-system/use-heading-level-in-spotlight-card': "warn";
@@ -379,6 +385,7 @@ export declare const configs: {
379
385
  'no-unsupported-drag-and-drop-libraries': import("eslint").Rule.RuleModule;
380
386
  'prefer-primitives': import("eslint").Rule.RuleModule;
381
387
  'use-button-group-label': import("eslint").Rule.RuleModule;
388
+ 'use-datetime-picker-calendar-button': import("eslint").Rule.RuleModule;
382
389
  'use-drawer-label': import("eslint").Rule.RuleModule;
383
390
  'use-heading': import("eslint").Rule.RuleModule;
384
391
  'use-heading-level-in-spotlight-card': import("eslint").Rule.RuleModule;
@@ -437,6 +444,7 @@ export declare const configs: {
437
444
  readonly '@atlaskit/design-system/no-unsupported-drag-and-drop-libraries': "error";
438
445
  readonly '@atlaskit/design-system/prefer-primitives': "warn";
439
446
  readonly '@atlaskit/design-system/use-button-group-label': "warn";
447
+ readonly '@atlaskit/design-system/use-datetime-picker-calendar-button': "warn";
440
448
  readonly '@atlaskit/design-system/use-drawer-label': "warn";
441
449
  readonly '@atlaskit/design-system/use-heading': "warn";
442
450
  readonly '@atlaskit/design-system/use-heading-level-in-spotlight-card': "warn";
@@ -486,6 +494,7 @@ export declare const configs: {
486
494
  readonly '@atlaskit/design-system/no-unsafe-style-overrides': "warn";
487
495
  readonly '@atlaskit/design-system/no-unsupported-drag-and-drop-libraries': "error";
488
496
  readonly '@atlaskit/design-system/use-button-group-label': "warn";
497
+ readonly '@atlaskit/design-system/use-datetime-picker-calendar-button': "warn";
489
498
  readonly '@atlaskit/design-system/use-drawer-label': "warn";
490
499
  readonly '@atlaskit/design-system/use-heading-level-in-spotlight-card': "warn";
491
500
  readonly '@atlaskit/design-system/use-href-in-link-item': "warn";
@@ -545,6 +554,7 @@ export declare const configs: {
545
554
  'no-unsupported-drag-and-drop-libraries': import("eslint").Rule.RuleModule;
546
555
  'prefer-primitives': import("eslint").Rule.RuleModule;
547
556
  'use-button-group-label': import("eslint").Rule.RuleModule;
557
+ 'use-datetime-picker-calendar-button': import("eslint").Rule.RuleModule;
548
558
  'use-drawer-label': import("eslint").Rule.RuleModule;
549
559
  'use-heading': import("eslint").Rule.RuleModule;
550
560
  'use-heading-level-in-spotlight-card': import("eslint").Rule.RuleModule;
@@ -592,6 +602,7 @@ export declare const configs: {
592
602
  readonly '@atlaskit/design-system/no-unsafe-style-overrides': "warn";
593
603
  readonly '@atlaskit/design-system/no-unsupported-drag-and-drop-libraries': "error";
594
604
  readonly '@atlaskit/design-system/use-button-group-label': "warn";
605
+ readonly '@atlaskit/design-system/use-datetime-picker-calendar-button': "warn";
595
606
  readonly '@atlaskit/design-system/use-drawer-label': "warn";
596
607
  readonly '@atlaskit/design-system/use-heading-level-in-spotlight-card': "warn";
597
608
  readonly '@atlaskit/design-system/use-href-in-link-item': "warn";
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
3
- * @codegen <<SignedSource::838ffe48cf42aefaa64f561f5a912a5c>>
3
+ * @codegen <<SignedSource::72c978e91d268fe1463898bd263385bc>>
4
4
  * @codegenCommand yarn workspace @atlaskit/eslint-plugin-design-system codegen
5
5
  */
6
6
  declare const _default: {
@@ -44,6 +44,7 @@ declare const _default: {
44
44
  readonly '@atlaskit/design-system/no-unsupported-drag-and-drop-libraries': "error";
45
45
  readonly '@atlaskit/design-system/prefer-primitives': "warn";
46
46
  readonly '@atlaskit/design-system/use-button-group-label': "warn";
47
+ readonly '@atlaskit/design-system/use-datetime-picker-calendar-button': "warn";
47
48
  readonly '@atlaskit/design-system/use-drawer-label': "warn";
48
49
  readonly '@atlaskit/design-system/use-heading': "warn";
49
50
  readonly '@atlaskit/design-system/use-heading-level-in-spotlight-card': "warn";
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
3
- * @codegen <<SignedSource::d52bbfc25021c62c92de1956f1673f30>>
3
+ * @codegen <<SignedSource::5bfdac53d9eb0cc8f885ce996861719e>>
4
4
  * @codegenCommand yarn workspace @atlaskit/eslint-plugin-design-system codegen
5
5
  */
6
6
  declare const _default: {
@@ -46,6 +46,7 @@ declare const _default: {
46
46
  readonly '@atlaskit/design-system/no-unsupported-drag-and-drop-libraries': "error";
47
47
  readonly '@atlaskit/design-system/prefer-primitives': "warn";
48
48
  readonly '@atlaskit/design-system/use-button-group-label': "warn";
49
+ readonly '@atlaskit/design-system/use-datetime-picker-calendar-button': "warn";
49
50
  readonly '@atlaskit/design-system/use-drawer-label': "warn";
50
51
  readonly '@atlaskit/design-system/use-heading': "warn";
51
52
  readonly '@atlaskit/design-system/use-heading-level-in-spotlight-card': "warn";
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
3
- * @codegen <<SignedSource::a8a9e1542951e74387ce967be430c7f5>>
3
+ * @codegen <<SignedSource::2c1f5cd2494143a83d590243d7ebf539>>
4
4
  * @codegenCommand yarn workspace @atlaskit/eslint-plugin-design-system codegen
5
5
  */
6
6
  declare const _default: {
@@ -33,6 +33,7 @@ declare const _default: {
33
33
  readonly '@atlaskit/design-system/no-unsafe-style-overrides': "warn";
34
34
  readonly '@atlaskit/design-system/no-unsupported-drag-and-drop-libraries': "error";
35
35
  readonly '@atlaskit/design-system/use-button-group-label': "warn";
36
+ readonly '@atlaskit/design-system/use-datetime-picker-calendar-button': "warn";
36
37
  readonly '@atlaskit/design-system/use-drawer-label': "warn";
37
38
  readonly '@atlaskit/design-system/use-heading-level-in-spotlight-card': "warn";
38
39
  readonly '@atlaskit/design-system/use-href-in-link-item': "warn";
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
3
- * @codegen <<SignedSource::a5d8dbdad2b84370a6e6889312752a98>>
3
+ * @codegen <<SignedSource::9aeb2fd0b5bde21f6ef61b407d0d32ab>>
4
4
  * @codegenCommand yarn workspace @atlaskit/eslint-plugin-design-system codegen
5
5
  */
6
6
  declare const _default: {
@@ -35,6 +35,7 @@ declare const _default: {
35
35
  readonly '@atlaskit/design-system/no-unsafe-style-overrides': "warn";
36
36
  readonly '@atlaskit/design-system/no-unsupported-drag-and-drop-libraries': "error";
37
37
  readonly '@atlaskit/design-system/use-button-group-label': "warn";
38
+ readonly '@atlaskit/design-system/use-datetime-picker-calendar-button': "warn";
38
39
  readonly '@atlaskit/design-system/use-drawer-label': "warn";
39
40
  readonly '@atlaskit/design-system/use-heading-level-in-spotlight-card': "warn";
40
41
  readonly '@atlaskit/design-system/use-href-in-link-item': "warn";
@@ -38,6 +38,7 @@ export declare const rules: {
38
38
  'no-unsupported-drag-and-drop-libraries': import("eslint").Rule.RuleModule;
39
39
  'prefer-primitives': import("eslint").Rule.RuleModule;
40
40
  'use-button-group-label': import("eslint").Rule.RuleModule;
41
+ 'use-datetime-picker-calendar-button': import("eslint").Rule.RuleModule;
41
42
  'use-drawer-label': import("eslint").Rule.RuleModule;
42
43
  'use-heading': import("eslint").Rule.RuleModule;
43
44
  'use-heading-level-in-spotlight-card': import("eslint").Rule.RuleModule;
@@ -0,0 +1,7 @@
1
+ import type { Rule } from 'eslint';
2
+ export declare const addCalendarButtonProp = "Add `shouldShowCalendarButton` prop.";
3
+ export declare const setCalendarButtonPropToTrue = "Set `shouldShowCalendarButton` prop to `true`.";
4
+ export declare const addCalendarButtonProperty = "Add `shouldShowCalendarButton: true` to `datePickerProps`.";
5
+ export declare const setCalendarButtonPropertyToTrue = "Set `shouldShowCalendarButton` property in `datePickerProps` to `true`.";
6
+ declare const rule: Rule.RuleModule;
7
+ export default rule;