@servicetitan/anvil2 1.42.1 → 1.42.2

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # @servicetitan/anvil2
2
2
 
3
+ ## 1.42.2
4
+
5
+ ### Patch Changes
6
+
7
+ - [#1412](https://github.com/servicetitan/hammer/pull/1412) [`2b4eac0`](https://github.com/servicetitan/hammer/commit/2b4eac0fd3c0790fcd2a31940f2c6e06d1142535) Thanks [@tounsoo](https://github.com/tounsoo)! - [Pagination] Fix Pagination not being exported
8
+
9
+ - [#1413](https://github.com/servicetitan/hammer/pull/1413) [`78b778e`](https://github.com/servicetitan/hammer/commit/78b778e1207a23924e982552d9e2564926f8dfc9) Thanks [@AdamLantz](https://github.com/AdamLantz)! - [Icon] Add global nav icon for Field Pro
10
+
11
+ - [#1403](https://github.com/servicetitan/hammer/pull/1403) [`46b4a7b`](https://github.com/servicetitan/hammer/commit/46b4a7bb061a2aecbc934b494b9805685adde5c8) Thanks [@AdamLantz](https://github.com/AdamLantz)! - [DateFieldYearless] Fix a case where pasting a value in could result in onChange not being called
12
+
13
+ - Updated dependencies [[`46b4a7b`](https://github.com/servicetitan/hammer/commit/46b4a7bb061a2aecbc934b494b9805685adde5c8)]:
14
+ - @servicetitan/hammer-react@1.40.2
15
+
3
16
  ## 1.42.1
4
17
 
5
18
  ### Patch Changes
@@ -1,7 +1,7 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import { useTrackingId } from './useTrackingId.js';
3
3
  import { c as childrenToString } from './childrenToString-Bz9MqbHb-Bz9MqbHb.js';
4
- import { D as DateFieldRange$1 } from './DateFieldYearless-DU0z2fEA-ByR2ixI5.js';
4
+ import { D as DateFieldRange$1 } from './DateFieldYearless-C3_oGDr3-5meexzZO.js';
5
5
 
6
6
  const DateFieldRange = (props) => {
7
7
  const data = {
@@ -19,4 +19,4 @@ const DateFieldRange = (props) => {
19
19
  DateFieldRange.displayName = DateFieldRange$1.displayName;
20
20
 
21
21
  export { DateFieldRange as D };
22
- //# sourceMappingURL=DateFieldRange-c4LX8hoE.js.map
22
+ //# sourceMappingURL=DateFieldRange--oSGfjYa.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DateFieldRange-c4LX8hoE.js","sources":["../src/components/DateFieldRange/DateFieldRange.tsx"],"sourcesContent":["import {\n childrenToString,\n DateFieldRange as CoreDateFieldRange,\n DateFieldRangeProps as CoreDateFieldRangeProps,\n DateFieldRangeChange as CoreDateFieldRangeChange,\n DateFieldRangeChangeHandler as CoreDateFieldRangeChangeHandler,\n DateMode as CoreDateMode,\n} from \"@servicetitan/hammer-react\";\nimport { useTrackingId } from \"../../hooks/useTrackingId\";\nimport { DataTrackingId } from \"../../types/DataTrackingId\";\n\nexport type DateFieldRangeProps = CoreDateFieldRangeProps & DataTrackingId;\n\nexport type DateFieldRangeChange = CoreDateFieldRangeChange;\n\nexport type DateFieldRangeChangeHandler = CoreDateFieldRangeChangeHandler;\n\nexport type DateMode = CoreDateMode;\n\nexport const DateFieldRange = (props: DateFieldRangeProps) => {\n const data = {\n label: childrenToString(props.label),\n labelProps: props.labelProps,\n description: childrenToString(props.description),\n };\n\n const trackingId = useTrackingId({\n name: \"DateFieldRange\",\n data,\n hasOverride: !!props[\"data-tracking-id\"],\n });\n return <CoreDateFieldRange data-tracking-id={trackingId} {...props} />;\n};\n\nDateFieldRange.displayName = CoreDateFieldRange.displayName;\n"],"names":["CoreDateFieldRange"],"mappings":";;;;;AAmBa,MAAA,cAAA,GAAiB,CAAC,KAA+B,KAAA;AAC5D,EAAA,MAAM,IAAO,GAAA;AAAA,IACX,KAAA,EAAO,gBAAiB,CAAA,KAAA,CAAM,KAAK,CAAA;AAAA,IACnC,YAAY,KAAM,CAAA,UAAA;AAAA,IAClB,WAAA,EAAa,gBAAiB,CAAA,KAAA,CAAM,WAAW;AAAA,GACjD;AAEA,EAAA,MAAM,aAAa,aAAc,CAAA;AAAA,IAC/B,IAAM,EAAA,gBAAA;AAAA,IACN,IAAA;AAAA,IACA,WAAa,EAAA,CAAC,CAAC,KAAA,CAAM,kBAAkB;AAAA,GACxC,CAAA;AACD,EAAA,uBAAQ,GAAA,CAAAA,gBAAA,EAAA,EAAmB,kBAAkB,EAAA,UAAA,EAAa,GAAG,KAAO,EAAA,CAAA;AACtE;AAEA,cAAA,CAAe,cAAcA,gBAAmB,CAAA,WAAA;;;;"}
1
+ {"version":3,"file":"DateFieldRange--oSGfjYa.js","sources":["../src/components/DateFieldRange/DateFieldRange.tsx"],"sourcesContent":["import {\n childrenToString,\n DateFieldRange as CoreDateFieldRange,\n DateFieldRangeProps as CoreDateFieldRangeProps,\n DateFieldRangeChange as CoreDateFieldRangeChange,\n DateFieldRangeChangeHandler as CoreDateFieldRangeChangeHandler,\n DateMode as CoreDateMode,\n} from \"@servicetitan/hammer-react\";\nimport { useTrackingId } from \"../../hooks/useTrackingId\";\nimport { DataTrackingId } from \"../../types/DataTrackingId\";\n\nexport type DateFieldRangeProps = CoreDateFieldRangeProps & DataTrackingId;\n\nexport type DateFieldRangeChange = CoreDateFieldRangeChange;\n\nexport type DateFieldRangeChangeHandler = CoreDateFieldRangeChangeHandler;\n\nexport type DateMode = CoreDateMode;\n\nexport const DateFieldRange = (props: DateFieldRangeProps) => {\n const data = {\n label: childrenToString(props.label),\n labelProps: props.labelProps,\n description: childrenToString(props.description),\n };\n\n const trackingId = useTrackingId({\n name: \"DateFieldRange\",\n data,\n hasOverride: !!props[\"data-tracking-id\"],\n });\n return <CoreDateFieldRange data-tracking-id={trackingId} {...props} />;\n};\n\nDateFieldRange.displayName = CoreDateFieldRange.displayName;\n"],"names":["CoreDateFieldRange"],"mappings":";;;;;AAmBa,MAAA,cAAA,GAAiB,CAAC,KAA+B,KAAA;AAC5D,EAAA,MAAM,IAAO,GAAA;AAAA,IACX,KAAA,EAAO,gBAAiB,CAAA,KAAA,CAAM,KAAK,CAAA;AAAA,IACnC,YAAY,KAAM,CAAA,UAAA;AAAA,IAClB,WAAA,EAAa,gBAAiB,CAAA,KAAA,CAAM,WAAW;AAAA,GACjD;AAEA,EAAA,MAAM,aAAa,aAAc,CAAA;AAAA,IAC/B,IAAM,EAAA,gBAAA;AAAA,IACN,IAAA;AAAA,IACA,WAAa,EAAA,CAAC,CAAC,KAAA,CAAM,kBAAkB;AAAA,GACxC,CAAA;AACD,EAAA,uBAAQ,GAAA,CAAAA,gBAAA,EAAA,EAAmB,kBAAkB,EAAA,UAAA,EAAa,GAAG,KAAO,EAAA,CAAA;AACtE;AAEA,cAAA,CAAe,cAAcA,gBAAmB,CAAA,WAAA;;;;"}
@@ -1,2 +1,2 @@
1
- export { D as DateFieldRange } from './DateFieldRange-c4LX8hoE.js';
1
+ export { D as DateFieldRange } from './DateFieldRange--oSGfjYa.js';
2
2
  //# sourceMappingURL=DateFieldRange.js.map
@@ -1,7 +1,7 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import { useTrackingId } from './useTrackingId.js';
3
3
  import { c as childrenToString } from './childrenToString-Bz9MqbHb-Bz9MqbHb.js';
4
- import { a as DateFieldSingle$1 } from './DateFieldYearless-DU0z2fEA-ByR2ixI5.js';
4
+ import { a as DateFieldSingle$1 } from './DateFieldYearless-C3_oGDr3-5meexzZO.js';
5
5
 
6
6
  const DateFieldSingle = (props) => {
7
7
  const data = {
@@ -19,4 +19,4 @@ const DateFieldSingle = (props) => {
19
19
  DateFieldSingle.displayName = DateFieldSingle$1.displayName;
20
20
 
21
21
  export { DateFieldSingle as D };
22
- //# sourceMappingURL=DateFieldSingle-WfPOm0qk.js.map
22
+ //# sourceMappingURL=DateFieldSingle-0a8Bk7Yj.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DateFieldSingle-WfPOm0qk.js","sources":["../src/components/DateFieldSingle/DateFieldSingle.tsx"],"sourcesContent":["import {\n childrenToString,\n DateFieldSingle as CoreDateFieldSingle,\n DateFieldSingleProps as CoreDateFieldSingleProps,\n DateFieldSingleChange as CoreDateFieldSingleChange,\n DateFieldSingleChangeHandler as CoreDateFieldSingleChangeHandler,\n} from \"@servicetitan/hammer-react\";\nimport { useTrackingId } from \"../../hooks/useTrackingId\";\nimport { DataTrackingId } from \"../../types/DataTrackingId\";\n\nexport type DateFieldSingleProps = CoreDateFieldSingleProps & DataTrackingId;\n\nexport type DateFieldSingleChange = CoreDateFieldSingleChange;\n\nexport type DateFieldSingleChangeHandler = CoreDateFieldSingleChangeHandler;\n\nexport const DateFieldSingle = (props: DateFieldSingleProps) => {\n const data = {\n label: childrenToString(props.label),\n labelProps: props.labelProps,\n description: childrenToString(props.description),\n };\n\n const trackingId = useTrackingId({\n name: \"DateFieldSingle\",\n data,\n hasOverride: !!props[\"data-tracking-id\"],\n });\n return <CoreDateFieldSingle data-tracking-id={trackingId} {...props} />;\n};\n\nDateFieldSingle.displayName = CoreDateFieldSingle.displayName;\n"],"names":["CoreDateFieldSingle"],"mappings":";;;;;AAgBa,MAAA,eAAA,GAAkB,CAAC,KAAgC,KAAA;AAC9D,EAAA,MAAM,IAAO,GAAA;AAAA,IACX,KAAA,EAAO,gBAAiB,CAAA,KAAA,CAAM,KAAK,CAAA;AAAA,IACnC,YAAY,KAAM,CAAA,UAAA;AAAA,IAClB,WAAA,EAAa,gBAAiB,CAAA,KAAA,CAAM,WAAW;AAAA,GACjD;AAEA,EAAA,MAAM,aAAa,aAAc,CAAA;AAAA,IAC/B,IAAM,EAAA,iBAAA;AAAA,IACN,IAAA;AAAA,IACA,WAAa,EAAA,CAAC,CAAC,KAAA,CAAM,kBAAkB;AAAA,GACxC,CAAA;AACD,EAAA,uBAAQ,GAAA,CAAAA,iBAAA,EAAA,EAAoB,kBAAkB,EAAA,UAAA,EAAa,GAAG,KAAO,EAAA,CAAA;AACvE;AAEA,eAAA,CAAgB,cAAcA,iBAAoB,CAAA,WAAA;;;;"}
1
+ {"version":3,"file":"DateFieldSingle-0a8Bk7Yj.js","sources":["../src/components/DateFieldSingle/DateFieldSingle.tsx"],"sourcesContent":["import {\n childrenToString,\n DateFieldSingle as CoreDateFieldSingle,\n DateFieldSingleProps as CoreDateFieldSingleProps,\n DateFieldSingleChange as CoreDateFieldSingleChange,\n DateFieldSingleChangeHandler as CoreDateFieldSingleChangeHandler,\n} from \"@servicetitan/hammer-react\";\nimport { useTrackingId } from \"../../hooks/useTrackingId\";\nimport { DataTrackingId } from \"../../types/DataTrackingId\";\n\nexport type DateFieldSingleProps = CoreDateFieldSingleProps & DataTrackingId;\n\nexport type DateFieldSingleChange = CoreDateFieldSingleChange;\n\nexport type DateFieldSingleChangeHandler = CoreDateFieldSingleChangeHandler;\n\nexport const DateFieldSingle = (props: DateFieldSingleProps) => {\n const data = {\n label: childrenToString(props.label),\n labelProps: props.labelProps,\n description: childrenToString(props.description),\n };\n\n const trackingId = useTrackingId({\n name: \"DateFieldSingle\",\n data,\n hasOverride: !!props[\"data-tracking-id\"],\n });\n return <CoreDateFieldSingle data-tracking-id={trackingId} {...props} />;\n};\n\nDateFieldSingle.displayName = CoreDateFieldSingle.displayName;\n"],"names":["CoreDateFieldSingle"],"mappings":";;;;;AAgBa,MAAA,eAAA,GAAkB,CAAC,KAAgC,KAAA;AAC9D,EAAA,MAAM,IAAO,GAAA;AAAA,IACX,KAAA,EAAO,gBAAiB,CAAA,KAAA,CAAM,KAAK,CAAA;AAAA,IACnC,YAAY,KAAM,CAAA,UAAA;AAAA,IAClB,WAAA,EAAa,gBAAiB,CAAA,KAAA,CAAM,WAAW;AAAA,GACjD;AAEA,EAAA,MAAM,aAAa,aAAc,CAAA;AAAA,IAC/B,IAAM,EAAA,iBAAA;AAAA,IACN,IAAA;AAAA,IACA,WAAa,EAAA,CAAC,CAAC,KAAA,CAAM,kBAAkB;AAAA,GACxC,CAAA;AACD,EAAA,uBAAQ,GAAA,CAAAA,iBAAA,EAAA,EAAoB,kBAAkB,EAAA,UAAA,EAAa,GAAG,KAAO,EAAA,CAAA;AACvE;AAEA,eAAA,CAAgB,cAAcA,iBAAoB,CAAA,WAAA;;;;"}
@@ -1,2 +1,2 @@
1
- export { D as DateFieldSingle } from './DateFieldSingle-WfPOm0qk.js';
1
+ export { D as DateFieldSingle } from './DateFieldSingle-0a8Bk7Yj.js';
2
2
  //# sourceMappingURL=DateFieldSingle.js.map
@@ -3046,6 +3046,10 @@ const MaskedYearlessDateInput = forwardRef(({ onChange, mode = "mm/dd", value, d
3046
3046
  isInputValid,
3047
3047
  isInputEmpty
3048
3048
  } = parseInputValue(event.target.value, mode, removePlaceholder);
3049
+ const isDateDifferent = v === null !== (currentParsedData.value === null) || v?.day !== currentParsedData.value?.day || v?.month !== currentParsedData.value?.month;
3050
+ if (!isDateDifferent) {
3051
+ return;
3052
+ }
3049
3053
  onChange?.({
3050
3054
  event,
3051
3055
  value: v ?? currentParsedData.value ?? null,
@@ -3129,24 +3133,6 @@ function stringifyYearlessDate(day, month, mode) {
3129
3133
  return `${mm}/${dd}`;
3130
3134
  }
3131
3135
 
3132
- const useConditionalChange = ({
3133
- changeHandler,
3134
- compareFn
3135
- }) => {
3136
- const lastChangeRef = useRef(null);
3137
- const onChange = useCallback(
3138
- (change) => {
3139
- if (!!lastChangeRef.current && !compareFn(lastChangeRef.current, change)) {
3140
- return;
3141
- }
3142
- changeHandler?.(change);
3143
- lastChangeRef.current = change;
3144
- },
3145
- [changeHandler, compareFn]
3146
- );
3147
- return onChange;
3148
- };
3149
-
3150
3136
  const DateFieldYearless = ({
3151
3137
  value: valueProp,
3152
3138
  defaultValue: defaultValueProp,
@@ -3173,14 +3159,10 @@ const DateFieldYearless = ({
3173
3159
  }),
3174
3160
  [value, required, unavailable, minDate, maxDate]
3175
3161
  );
3176
- const conditionalChange = useConditionalChange({
3177
- changeHandler: onChange,
3178
- compareFn: (a, b) => a.isInputValid !== b.isInputValid || a.isInputEmpty !== b.isInputEmpty || a.isValid !== b.isValid || a.value?.day !== b.value?.day || a.value?.month !== b.value?.month
3179
- });
3180
3162
  const handleInputChange = (change) => {
3181
3163
  const { event, value: value2, ...restChange } = change;
3182
3164
  setValue(value2);
3183
- return conditionalChange({
3165
+ return onChange?.({
3184
3166
  ...restChange,
3185
3167
  value: value2,
3186
3168
  isValid: validateYearlessDate({
@@ -3209,4 +3191,4 @@ const DateFieldYearless = ({
3209
3191
  DateFieldYearless.displayName = "DateFieldYearless";
3210
3192
 
3211
3193
  export { DateFieldRange as D, DateFieldSingle as a, DateFieldYearless as b };
3212
- //# sourceMappingURL=DateFieldYearless-DU0z2fEA-ByR2ixI5.js.map
3194
+ //# sourceMappingURL=DateFieldYearless-C3_oGDr3-5meexzZO.js.map